×

Key generation method for communication session encryption and authentication system

  • US 7,581,100 B2
  • Filed: 09/02/2003
  • Issued: 08/25/2009
  • Est. Priority Date: 09/02/2003
  • Status: Active Grant
First Claim
Patent Images

1. A method for mutual authentication in communications between first and second stations, comprising:

  • generating and storing a set of ephemeral session keys at the first station, ephemeral session keys in the set being associated with respective session key initiation intervals, and being discarded upon expiry of respective session key lifetimes at a time later than expiration of the respective session key initiation intervals;

    in response to a request to initiate a communication session received by the first station during a particular session key initiation interval, selecting the associated session key;

    sending a message carrying said associated session key to the second station, and receiving a response from the second station including a digital identifier, the digital identifier being information shared between the first station and the second station, or between the first station and a user at the second station, the digital identifier being encrypted using said associated session key to verify receipt of the session key by the second station and to identify the second station or the user of the second station;

    generating and storing, in the first station, a set of intermediate data keys, the set of intermediate data keys including intermediate data key (i), for i=1 to at least n, where n is at least 2, and being discarded at a time later than expiration of the particular session key initiation interval;

    executing a first set of exchanges including one or more exchanges with the second station, after verifying in said first station receipt of the session key by the second station by decrypting the digital identifier using the associated session key at the first station and positively matching the decrypted digital identifier against an existing entry in a stored list of authorized users, the first set of exchanges including in the ith exchangesending a message to the second station carrying intermediate data key (i) from said set of intermediate data keys encrypted using the associated session key for a first exchange in first set of exchanges and using the intermediate data key (i−

    1) for subsequent exchanges in the first set of exchanges,receiving a response from the second station including a hashed version of intermediate data key (i) encrypted using intermediate data key (i), decrypting the hashed version of the intermediate data key (i), calculating a hashed version of intermediate data key (i) at the first station, and matching the calculated hashed version and the received hashed version of intermediate data key (i) to verify receipt by the second station of intermediate data key (i);

    executing a second set of exchanges for mutual authentication after verifying in said first station receipt of the intermediate data key (n−

    1) by the second station, includingsending a first message carrying intermediate data key (n) encrypted using a hashed version of a first shared secret,receiving a response from the second station carrying a hashed version of intermediate data key (n) encrypted using a hashed version of the first shared secret, and decrypting the hashed version of the intermediate data key (n), calculating a hashed version of intermediate data key (n) at the first station, and matching the calculated hashed version and the decrypted hashed version of intermediate data key (n) to verify possession by the second station of the first shared secret;

    sending a second message carrying intermediate data key (n) encrypted using a hashed version of a second shared secret; and

    if the second station sends a response to the second message, carrying a hashed version of intermediate data key (n) encrypted using a hashed version of the second shared secret, after possession by the first station of the second shared secret is verified at the second station, the verifying being accomplished at the second station by decrypting the intermediate data key (n) from the second message using the hashed version of the second shared secret, calculating a hashed version of the intermediate data key (n), and matching the calculated hashed version and the decrypted hashed version of intermediate data key (n) to verify possession by the first station of the second shared secret, thenreceiving the response from the second station, and decrypting the hashed version of the intermediate data key (n) using the hashed version of the second shared secret, calculating a hashed version of intermediate data key (n) at the first station, and matching the calculated hashed version and the decrypted hashed version of intermediate data key (n) at the first station to verify mutual authentication of the first and second stations; and

    if mutual authentication is verified at the first station, then sending a message indicating successful authentication;

    wherein the session key lifetimes have respective lengths which are longer than said session key initiation intervals, and less than a multiple M times a time required for verification of mutual authentication using said first and second sets of exchanges in expected circumstances, where M is less than or equal to 10.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×