Claims
- 1. A method for establishing a secure connection between a client and a server comprising:
establishing a secure connection, wherein a server public key is used to establish a symmetric key to encrypt communication for the duration of the connection; generating a server authentication key by the server and a client authentication key by the client, the server authentication key and the client authentication key identical to each other and generated using a secret known to both the client and the server; sending server authentication information to the client to authenticate the server, the server authentication information including the server's public key, the server authentication information encrypted by the server using the server authentication key and decrypted by the client using the client authentication key, the correctness of the server information verified by the client; and sending client information to the server to authenticate the client, the client information encrypted by the client using the client authentication key and decrypted by the server using the server authentication key, the correctness of the client information verified by the server.
- 2. The method of claim 1 wherein the server information includes a server certificate.
- 3. The method of claim 1 wherein the secure connection includes an SSL connection.
- 4. The method of claim 1 wherein the secure connection includes an WTLS connection.
- 5. The methods of claim 1 wherein the secure connection includes an IPSEC connection.
- 6. The method of claim 1 wherein the secure connection includes a TLS connection.
- 7. The methods of claim 1 wherein the secret is generated by a strong authentication token.
- 8. The methods of claim 7 wherein the strong authentication token is challenge response token, wherein generating an authentication key by both the server and the client includes:
sending a challenge from a server to a client; generating a first strong authentication token response to the challenge by the client; generating a second strong authentication token response to the challenge by the server, the first response identical to the second response; deriving a client authentication key by the client from the first strong authentication token response; deriving a server authentication key by the server from the second strong authentication token response.
- 9. The method of claim 7 wherein the strong authentication token is a time-based token, wherein generating an authentication key includes:
sending a synchronization challenge from the server to the client; generating a strong authentication token time-based response by the client; deriving a client authentication key from the response by the client; encrypting the synchronization challenge with the client authentication key by the client; sending the encrypted synchronization challenge from the client to the server; and generating a server authentication key by the server that corresponds to the client authentication key used by the client.
- 10. A method for establishing a secure connection between a client and a server comprising:
establishing a secure connection, the connection establishing a symmetric key to encrypt communication for the duration of the connection, the server certificate transmitted from the server to the client while establishing the secure connection; generating an identical and separate authentication key by both the server and the client using a secret known to both the client and the server, said generating the identical and separate authentication key including:
sending user authentication information from the client to the server; exchanging dynamic information between the client and the server; generating a secret by the client and the server from the response of a strong authentication token; and generating the authentication key using the user authentication information, the dynamic information, and the secret; sending server authentication information to the client, the server authentication information including an encrypted server certificate, the server certificate encrypted by the server using the authentication key generated by the server; receiving and decrypting the server authentication information by the client, the client decrypting the server authentication information using the authentication key created by the client, the correctness of the server information verified by the client; sending encrypted user authentication information to the server, the user authentication information encrypted by the client using the authentication key generated by the client; and receiving and decrypting the user authentication information by the server, the server decrypting the user authentication information using the authentication key created by the server, the correctness of the user authentication information verified by the server.
- 11. The method of claim 10 wherein the user authentication information includes a user identification information.
- 12. The method of claim 10 wherein the secure connection is an SSL connection.
- 13. The method of claim 10 wherein the dynamic information includes random information.
- 14. The method of claim 10 wherein the strong authentication token includes a challenge-response strong authentication token, wherein the secret is the response of the challenge response token.
- 15. The method of claim 10 wherein the strong authentication token includes a time based token.
- 16. The method of claim 10 wherein the strong authentication token includes an event based token.
PRIORITY
[0001] The present application claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application entitled “Use and Generation of a Session Key in a Secure Socket Layer Connection,” Serial No. 60/287,858, filed on May 1, 2001, which application is incorporated herein by reference.
[0002] The present application is related to the following United States Patents and Patent Applications, which patent/applications are assigned to the owner of the present invention, and which patents/applications are incorporated by reference herein in their entirety:
[0003] U.S. patent application Ser. No. 09/789,197, entitled “Field Programmable Smart Card Terminal and Token Device”, filed on Feb. 20, 2001, currently pending;
[0004] U.S. Pat. No. 4,599,489, entitled “Solid State Key for Controlling Access to Computer Software”, filed on Feb. 22, 1984, issued on Jul. 8, 1986;
[0005] U.S. Pat. No. 4,609,777, entitled “Solid State Key for Controlling Access to Computer Software”, filed on Dec. 23, 1985, issued on Sep. 2, 1986; and
[0006] U.S. Pat. No. 4,819,267, entitled “Solid State Key for Controlling Access to Computer Systems and to Computer Software and/or for Secure Communications, filed on Jun. 9, 1987, issued on Apr. 4, 1989.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60287858 |
May 2001 |
US |