IP Library Granted Patent US 9,160,732
Granted Patent B2
US 9,160,732 · App. 14/068,586 · Granted Oct 13, 2015

System and methods for online authentication

Inventors: Troy Jacob Ronda (Toronto, CA); Pierre Antoine Roberge (Toronto, CA); Patrick Hans Engel (Richmond Hill, CA); Rene McIver (Toronto, CA); Greg Wolfond (Toronto, CA); Andre Boysen (Huntsville, CA)
Assignee: SECUREKEY TECHNOLOGIES INC.
H04L63/08H04L9/3234H04L9/3263H04L63/0853G06F21/00H04L2209/56H04L2209/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,160,732
App. No.
14/068,586
Granted
Oct 13, 2015
Kind
B2
Abstract

A method of establishing a communication channel between a network client and a computer server over a network is described. The network client may be configured to communicate with the computer server over the network and to communicate with a token manager. The token manager may be configured with a parent digital certificate that is associated with the token manager. The token manager or network client generates a credential from the parent digital certificate, and transmits the credential to the computer server. The credential may be associated with the computer server. The network client may establish the communications channel with the computer server in accordance with an outcome of a determination of validity of the credential by, the computer server.

Claims (54)

1. A method of authenticating a network client to a computer server, the network client being configured to communicate with the computer server over a network and to communicate with a token manager, the token manager being configured to receive data originating from a hardware token interfaced with the token manager, the method comprising:

transmitting user login credentials to the computer server;

receiving authenticator identifying data from the computer server in response to transmission of the user login credentials;

determining that the authenticator identifying data matches identifying data for one of the token manager and the network clients;

one of the token manager and the network client generating a credential associated with the token manager, and transmitting the credential to the computer server, wherein the token manager is configured with a parent digital certificate associated with the token manager, the parent digital certificate including a public encryption key, and the credential generating comprises:

the one of the token manager and the network client generating the credential from the parent digital certificate;

the one of the token manager and the network client generating a child digital certificate from the parent digital certificate and signing the child digital certificate with a private encryption key uniquely associated with the public encryption key, the private encryption key and the public encryption key comprising an asymmetric encryption key pair;

the one of the token manager and the network client generating a pseudo-random code, and incorporating the pseudo-random code into the child digital certificate, the pseudo-random code being verifiable by the computer server; and

the network client receiving an authentication payload from the computer server in accordance with a validity of the credential and the data of the hardware token, the authentication payload facilitating authentication of the network client to the computer server.

2. The method according to claim 1 , wherein the transmitting the credential comprises the one of the token manager and the network client determining a validity of the data of the hardware token, and transmitting the credential and the data of the hardware token in accordance with an outcome of the determining the validity of the data of the hardware token.

3. The method according to claim 2 , wherein the determining the validity of the data of the hardware token comprises the one of the token manager and the network client comparing the data of the hardware token with expected data received from the computer server.

4. The method according to claim 1 , wherein the credential generating comprises the one of the token manager and the network client incorporating the data of the hardware token into the credential.

5. The method according to claim 1 , wherein the credential is uniquely associated with the token manager and the computer server.

6. The method according to claim 1 , wherein the hardware token is associated with an entity other than the computer server.

7. The method according to claim 1 , wherein the credential generating comprises the one of the token manager and the network client signing the pseudo-random code with the private key uniquely associated with the public encryption key.

8. The method according to claim 1 , further comprising the one of the token manager and the network client receiving a server digital certificate associated with the computer server, and the generating the credential comprises the one of the token manager and the network client generating the credential after validating the server digital certificate.

9. The method according to claim 8 , further comprising, prior to the network client receiving the authentication payload from the computer server, the one of the token manager and the network client receiving a signed message from the computer server and authenticating the computer server by verifying the signed message from the server digital certificate, and the generating the credential comprises the one of the token manager and the network client generating the credential in accordance with an outcome of the computer server authenticating.

10. The method according to claim 9 , wherein the digitally-signed message includes a server pseudo-random code, and the computer server authenticating comprises the one of the token manager and the network client comparing the server pseudo-random code with a pseudo-random code expected for the computer server.

11. A non-transitory computer-readable medium comprising computer processing instructions stored thereon for execution by a computer, the computer processing instructions, when executed by the computer, causing the computer to perform a method of authenticating a network client to a computer server, the network client being configured to communicate with the computer server over a network and to communicate with a token manager, the token manager being configured to receive data originating from a hardware token interfaced with the token manager, the method comprising:

transmitting user login credentials to the computer server;

receiving authenticator identifying data from the computer server in response to transmission of the user login credentials;

determining that the authenticator identifying data matches identifying data for one of the token manager and the network clients;

one of the token manager and the network client generating a credential associated with the token manager, and transmitting the credential to the computer server, wherein the token manager is configured with a parent digital certificate associated with the token manager, the parent digital certificate including a public encryption key, and the credential generating comprises:

the one of the token manager and the network client generating the credential from the parent digital certificate;

the one of the token manager and the network client generating a child digital certificate from the parent digital certificate and signing the child digital certificate with a private encryption key uniquely associated with the public encryption key, the private encryption key and the public encryption key comprising an asymmetric encryption key pair;

the one of the token manager and the network client generating a pseudo-random code, and incorporating the pseudo-random code into the child digital certificate, the pseudo-random code being verifiable by the computer server; and

the network client receiving an authentication payload from the computer server in accordance with a validity of the credential and the data of the hardware token, the authentication payload facilitating authentication of the network client to the computer server.

12. A method of authenticating a network client to a computer server, the network client being configured to communicate with the computer server over a network and to communicate with a token manager, the method comprising:

the computer server receiving user login credentials from the network client;

the computer server retrieving authenticator identifying data associated with the user login credentials;

the computer server transmitting the authenticator identifying data to the network client;

the computer server receiving a credential from one of the token manager and the network client, wherein the token manager is configured with a parent digital certificate associated with the token manager, the parent digital certificate includes a public encryption key, and wherein the credential is generated by:

the one of the token manager and the network client generating the credential from the parent digital certificate;

the one of the token manager and the network client generating a child digital certificate from the parent digital certificate and signing the child digital certificate with a private encryption key uniquely associated with the public encryption key, the private encryption key and the public encryption key comprising an asymmetric encryption key pair; and

the one of the token manager and the network client generating a pseudo-random code, and incorporating the pseudo-random code into the child digital certificate, the pseudo-random code being verifiable by the computer server; and

the computer server transmitting an authentication payload to the network client in accordance with a determination of validity of the credential and data originating from a hardware token interfaced with the token manager, the authentication payload facilitating authentication of the network client to the computer server, wherein the determination of the validity comprises:

verifying that the credential was signed with the private encryption key uniquely associated with the public encryption key; and

comparing the pseudo-random code included in the credential with an expected pseudo-random code.

13. The method according to claim 12 , wherein the determination of the validity comprises the computer server comparing the data of the hardware token with expected data.

14. The method according to claim 13 , wherein the determination of the validity comprises the computer server verifying that the credential is associated with the token manager.

15. The method according to claim 13 , wherein the determination of the validity comprises the computer server verifying that the credential is uniquely associated with the token manager and the computer server.

16. The method according to claim 12 , further comprising transmitting a session token from the computer server to the one of the token manager and the network client, and the determination of the validity comprises comparing the transmitted session token with a session token included in the credential.

17. The method according to claim 12 , wherein the determination of validity of the credential and the data of the hardware token comprises a determination of a correlation between identifying data of the token manager and identifying data of the hardware token, and a previous token manager-hardware token association.

18. A non-transitory computer-readable medium comprising computer processing instructions stored thereon for execution by a computer server, the computer processing instructions, when executed by the computer server, causing the computer server to perform a method of authenticating a network client to the computer server, the network client being configured to communicate with the computer server over a network and to communicate with a token manager, the method comprising:

the computer server receiving user login credentials from the network client;

the computer server retrieving authenticator identifying data associated with the user login credentials;

the computer server transmitting the authenticator identifying data to the network client;

the computer server receiving a credential from one of the token manager and the network client, wherein the token manager is configured with a parent digital certificate associated with the token manager, the parent digital certificate includes a public encryption key, and wherein the credential is generated by:

the one of the token manager and the network client generating the credential from the parent digital certificate;

the one of the token manager and the network client generating a child digital certificate from the parent digital certificate and signing the child digital certificate with a private encryption key uniquely associated with the public encryption key, the private encryption key and the public encryption key comprising an asymmetric encryption key pair; and

the one of the token manager and the network client generating a pseudo-random code, and incorporating the pseudo-random code into the child digital certificate, the pseudo-random code being verifiable by the computer server; and

the computer server transmitting an authentication payload to the network client in accordance with a determination of validity of the credential and data originating from a hardware token interfaced with the token manager, the authentication payload facilitating authentication of the network client to the computer server, wherein the determination of the validity comprises:

verifying that the credential was signed with the private encryption key uniquely associated with the public encryption key; and

comparing the pseudo-random code included in the credential with an expected pseudo-random code.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2025
From: GEN DIGITAL INC.
To: SECUREKEY TECHNOLOGIES INC.
Reel/Frame 072987/0125 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2025
From: SECUREKEY TECHNOLOGIES INC.
To: GEN DIGITAL INC.
Reel/Frame 073558/0974 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2014
From: RONDA, TROY JACOB; ROBERGE, PIERRE ANTOINE; ENGEL, PATRICK HANS; MCIVER, RENE; WOLFOND, GREGORY; BOYSEN, ANDRE MICHEL
To: SECUREKEY TECHNOLOGIES INC.
Reel/Frame 033332/0360 →
Continuity (11)
Continuation 13101059 · May 4, 2011
Continuation In Part 13127672
Provisional Application 61111318 · Nov 4, 2008
Provisional Application 61150851 · Feb 9, 2009
Provisional Application 61157239 · Mar 4, 2009
Provisional Application 61159434 · Mar 11, 2009
Provisional Application 61169112 · Apr 14, 2009
Provisional Application 61172934 · Apr 27, 2009
Provisional Application 61184162 · Jun 4, 2009
Provisional Application 61186185 · Jun 11, 2009
Related Publication 20140059348A1 · Feb 27, 2014