Patent ID: 7428637

Claim:
A method for authentication of a first client in communication with a second client via an authentication server, such that the first client and the second client are authenticated to each other, and the authentication server is authenticated to both the first client and the second client, the method comprising: the first client the first client generating a one-time-use key unique to the first client, and encrypting a request with the one-time-use key unique to the first client to provide a first client encrypted request; the first client communicating to the second client the first client encrypted request, along with a first client time stamp, and a first client identification datum; the second client generating a one-time-use key unique to the second client, and encrypting the first client time stamp and the first client identification datum using the one-time-use key unique to the second client to provide a second client encrypted first client time stamp and a second client encrypted first client identification datum; the second client communicating to the authentication server the second client encrypted first client time stamp, the second client encrypted first client identification datum, a second client time stamp, and a second client identification datum; the authentication server generating a one-time-use key unique to the second client, and using the one-time-use key unique to the second client for decrypting the first client time stamp and the first client identification datum; the authentication server generating a one-time-use key unique to the first client, and using the one-time-use key unique to the second client to encrypt the one-time-use key unique to the first client so as to provide an authentication server encrypted one-time-use key unique to the first client; the authentication server communicating to the second client the authentication server encrypted one-time-use key unique to the first client; the second client decrypting the one-time-use key unique to the first client using the one-time-use key unique to the second client; the second client decrypting the first client encrypted request using the one-time-use key unique to the first client to provide the first client request, and using the first client request to perform the first client request, so as to provide a second client service result; the second client encrypting the second client service result so as to provide an encrypted second client service result; and the second client communicating the encrypted second client service result to the first client.