TECHNICAL FIELD

Various exemplary embodiments disclosed herein relate generally to preserving client privacy during the resumption of a communication session.

BACKGROUND

Key establishment and authentication today usually takes place by using asymmetric cryptography, especially, when managing keys becomes a burden otherwise. However, at the same time can asymmetric protocols represent unnecessarily long authentication phases for ad-hoc connections including wireless connections. Various communication protocols include resumption mechanisms where a secure communication session is resumed using established symmetric cryptographic keys without the need for repeating an asymmetric protocol.

SUMMARY

A summary of various exemplary embodiments is presented below. Some simplifications and omissions may be made in the following summary, which is intended to highlight and introduce some aspects of the various exemplary embodiments, but not to limit the scope of the invention. Detailed descriptions of an exemplary embodiment adequate to allow those of ordinary skill in the art to make and use the inventive concepts will follow in later sections.

Various embodiments relate to a method for resuming, by a device, a secure communication session with a server, including: sending a message to the server requesting the resumption of a secure communication session; receiving from the server a server identifier, a server nonce, and a salt; determining that the device has a shared key with the server based upon the server identifier; determining that the received salt is valid; calculating a salted identifier based upon the shared key and the salt; sending the salted identifier to the server; and resuming the secure communication session with the server.

Various embodiments are described, wherein determining that the received salt is valid further includes: determining that the salt is greater than or equal to a salt threshold T; and updating the value of T to an incremented value of the salt.

Various embodiments are described, wherein determining that the received salt is valid further includes: determining that the salt is greater than or equal to a salt threshold T that a counter is less than a counter threshold value; incrementing the counter; when the salt is greater than the salt threshold T setting the salt threshold T equal to the salt and setting the counter to 0; and when the counter equals the counter threshold incrementing the salt threshold T and setting the counter to 0.

Various embodiments are described, wherein determining that the received salt is valid further includes: determining that the salt is greater than or equal to a salt threshold T; when the salt is greater than the salt threshold T, setting the salt threshold T equal to the salt and setting the current time to 0; and when the current time is greater than or equal to the time threshold performing an asymmetric mutual authentication.

Various embodiments are described, further including establishing a new session key.

Various embodiments are described, wherein the salted identifier is a hash of the salt and the shared key.

Further various embodiments relate to a method for resuming, by a server, a secure communication session with a device, including: storing salted identifiers in a server database, wherein the salted identifier is based upon shared keys and a salt; receiving a message from the device requesting the resumption of a secure communication session; sending to the device a server identifier, a server nonce, and the salt, and wherein the salt is a valid salt; receiving a salted identifier from the device; determining that the received salted identifier has a match in a server database; and resuming the secure communication session with the device.

Various embodiments are described, wherein the salt is updated based upon a policy where the salt increases.

Various embodiments are described, wherein the salt is incremented every N transactions, where N is an integer greater than or equal to 1.

Various embodiments are described, wherein the salt is incremented after a specified period of time has passed.

Various embodiments are described, further including establishing a new session key.

Various embodiments are described, wherein the salted identifier is a hash of the salt and the shared key.

Further various embodiments relate to a device configured to resume a secure communication session with a server, including: a memory; and a processor coupled to the memory, wherein the processor is further configured to: send a message to the server requesting the resumption of a secure communication session; receive from the server a server identifier, a server nonce, and a salt; determine that the device has a shared key with the server based upon the server identifier; determine that the received salt is valid; calculate a salted identifier based upon the shared key and the salt; send the salted identifier to the server; and resume the secure communication session with the server.

Various embodiments are described, wherein determining that the received salt is valid further includes: determining that the salt is greater than or equal to a salt threshold T; and updating the value of T to an incremented value of the salt.

Various embodiments are described, wherein determining that the received salt is valid further includes: determining that the salt is greater than or equal to a salt threshold T that a counter is less than a counter threshold value; incrementing the counter; when the salt is greater than the salt threshold T setting the salt threshold T equal to the salt and setting the counter to 0; and when the counter equals the counter threshold incrementing the salt threshold T and setting the counter to 0.

Various embodiments are described, wherein determining that the received salt is valid further includes: determining that the salt is greater than or equal to a salt threshold T; when the salt is greater than the salt threshold T, setting the salt threshold T equal to the salt and setting the current time to 0; and when the current time is greater or equal to than the time threshold performing an asymmetric mutual authentication.

Various embodiments are described, wherein the processor is further configured to establish a new session key.

Various embodiments are described, wherein the salted identifier is a hash of the salt and the shared key.

Further various embodiments relate to a server configured to resume a secure communication session with a device, including: a memory; a processor coupled to the memory, wherein the processor is further configured to: store salted identifiers in a server database, wherein the salted identifier is based upon shared keys and upon a salt; receive a message from the device requesting the resumption of a secure communication session; send to the device a server identifier, a server nonce, and the salt receive a salted identifier from the device; determine that the received salted identifier has a match in a server database; and resume the secure communication session with the device.

Various embodiments are described, wherein the salt is updated based upon a policy where the salt increases.

Various embodiments are described, wherein the salt is incremented every N transactions, where N is an integer greater than or equal to 1.

Various embodiments are described, wherein the salt is incremented after a specified period of time has passed.

Various embodiments are described, wherein the processor is further configured to establish a new session key.

Various embodiments are described, wherein the salted identifier is a hash of the salt and the shared key.

