Secure Communication Using Asymmetric Cryptography and Light-Weight Certificates
First Claim
1. A system for facilitating secure data communication from a server to a client device of an individual using a data communications channel, the system comprising:
- a database that stores a plurality of encryption keys in a storage arrangement, wherein at least one stored encryption key is uniquely and privately associated with the individual;
a processor, in data communication with the database, configured(i) to receive a message, created by the server in response to a request by a client device purporting to be that of the individual,(ii) to retrieve from the database the encryption key that is uniquely and privately associated with the individual, and(iii) to encrypt the message using the retrieved encryption key to form an encrypted message that only the client device of the individual is capable of decrypting; and
a communications gateway, in data communication with the data communications channel, the processor, and the server, the gateway configured(i) to transmit, to the server, messages that are received from the data communications channel for delivery to the server,(ii) to transmit, to the processor, the message created by the server in response to the request by the client device purporting to be that of the individual, and(iii) to transmit the encrypted message to the data communications channel for delivery to the client device purporting to be that of the individual.
6 Assignments
0 Petitions
Accused Products
Abstract
Encrypted communications between servers and client devices over an unsecured channel, such as the Internet, without using a public key infrastructure are disclosed. Messages to a client device are encrypted using an encryption key of an authorized individual, regardless of the identity of the user of the client device. Encryption is performed by a system that does not expose encryption keys to the client device or the server, thereby preventing man-in-the-middle attacks against the encryption key. Secure communications are combined with a two-factor protocol for authenticating the identity of an individual. An individual authenticates by generating a cipher using a light-weight certificate that has a shared secret but no other information identifying the individual. Separately, a server generates the same cipher using the shared secret, thereby authenticating the individual'"'"'s identity to a relying party.
-
Citations
27 Claims
-
1. A system for facilitating secure data communication from a server to a client device of an individual using a data communications channel, the system comprising:
-
a database that stores a plurality of encryption keys in a storage arrangement, wherein at least one stored encryption key is uniquely and privately associated with the individual; a processor, in data communication with the database, configured (i) to receive a message, created by the server in response to a request by a client device purporting to be that of the individual, (ii) to retrieve from the database the encryption key that is uniquely and privately associated with the individual, and (iii) to encrypt the message using the retrieved encryption key to form an encrypted message that only the client device of the individual is capable of decrypting; and a communications gateway, in data communication with the data communications channel, the processor, and the server, the gateway configured (i) to transmit, to the server, messages that are received from the data communications channel for delivery to the server, (ii) to transmit, to the processor, the message created by the server in response to the request by the client device purporting to be that of the individual, and (iii) to transmit the encrypted message to the data communications channel for delivery to the client device purporting to be that of the individual. - View Dependent Claims (2, 3, 4)
-
-
5. A method of facilitating secure data communication from a server to a client of an individual over a data communications channel, the method comprising:
-
receiving a message, created by the server in response to a request by a client device purporting to be that of the individual; encrypting the message to form an encrypted message that only the client device of the individual is capable of decrypting, wherein encrypting provides to the contents of the response message a layer of encryption in addition to any layer of encryption present in the request by the client device purporting to be that of the individual; and transmitting the encrypted message to the data communications channel for delivery to the client device purporting to be that of the individual. - View Dependent Claims (6, 7, 8)
-
-
9. A method of efficiently managing, by an authentication service, a certificate life cycle in the course of authentication of an individual, the method comprising:
-
in a first computer process, creating a secret number; in a second computer process, (i) creating a light-weight certificate, such certificate containing the secret number but lacking data associating the certificate with the individual, (ii) privately associating the light-weight certificate with the individual, and (iii) storing such private association in a non-volatile storage arrangement accessible only to the authentication service; transmitting the light-weight certificate to the individual, so that only the individual and the authentication service possess the secret number; and in a third computer process, on receipt of invalidity data indicative of invalidity of the certificate, revoking the certificate by discarding the stored, private association. - View Dependent Claims (10, 11, 12)
-
-
13. A method of determining, by an authentication service, whether to approve a potential transaction between an individual and a relying party, the method comprising:
-
in a first computer process, receiving data from the relying party, the data including a first cipher generated by a token facility that is under control of the individual, wherein a light-weight certificate is stored in the token facility, the light-weight certificate including a secret shared only by the token facility and the authentication service, the first cipher being a given mathematical function of the shared secret; in a second computer process, retrieving the shared secret from a local storage arrangement and applying the given mathematical function to the shared secret to produce a second cipher; and in a third computer process, determining that the potential transaction is not approved if the first cipher is not equal to the second cipher. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for granting an electronic device access to a digital certificate stored in a hardware security module, the method comprising:
-
in a first computer process, transmitting an unlock request to an authentication service, the unlock request including a sequence number; in a second computer process, receiving from the authentication service a response containing a first cipher generated by applying a given mathematical function to both the sequence number and a secret shared only by the authentication service and the hardware security module; and in a third computer process, providing the first cipher and the sequence number to the hardware security module, the hardware security module (i) applying the given mathematical function to the sequence number and the shared secret to produce a second cipher, and (ii) refusing to grant the electronic device access to the digital certificate if the first cipher and the second cipher are not identical. - View Dependent Claims (23, 24)
-
-
25. A communications gateway for facilitating secure data communication between a client and a server over a data communications channel, the gateway comprising:
-
a first data path for receiving a client request message from the client and forwarding the client request message to the server; a second data path having an input for receiving a response message from the server, the response message being responsive to the client request message; a processor, coupled to the second data path, for encrypting the contents of the response message using an encryption key to form an encrypted message, the encryption key being uniquely and privately associated with a decryption key stored for use by the client, so as to provide to the contents of the response message a layer of encryption in addition to any layer of encryption present in the client request message; wherein the second data path includes an output for transmitting the encrypted message to the client over the data communications channel. - View Dependent Claims (26, 27)
-
Specification