System and method for obtaining a common session key between devices
AssigneeHuawei International Pte. Ltd.
InventorsYanjiang YANG, Jie SHI, Guilin WANG
Life of this patent
Estimating the term…
Abstract
This document describes a system and method for generating a common session key for encoding digital communications between devices. In particular, the system allows two devices to verify the veracity of each device before these authenticated devices proceed to generate a common session key that is then utilized to encode digital communications between these two devices.
Claims16
A method of generating a common session key SKij for encoding digital communications between a first entity and a second entity, comprising:
- generating, by a secure server, a private key ski for the first entity wherein the private key ski comprises a Discrete-Logarithm type digital signature, [Ri, si], of an identity of the first entity, idi, and generating, by the secure server, a private key skj for the second entity wherein the private key skj comprises a Discrete-Logarithm type digital signature, [Rj, sj], of an identity of the second entity, idj, wherein Ri and Rj are group elements, and si and sj comprise integers modulo q, whereby q is a prime number, wherein the private key ski is communicated to the first entity and the private key skj is communicated to the second entity;
- sharing, by the first entity, a cryptographic nonce Ni, the identity of the first entity idi, and Ri with the second entity;
- calculating, by the second entity, an implicitly shared secret kji using the shared Ri, where g is a generator of a cyclic group G, and providing the implicitly shared secret kji, the cryptographic nonce Ni, and a cryptographic nonce Nj to an Authentication Data Deriving Function to generate an authentication data Adj;
- sharing, by the second entity, the cryptographic nonce Nj, the identity of the second entity idj, Rj, and the authentication data Adj with the first entity;
- and
- calculating, by the first entity, an implicitly shared secret kij using the shared Rj and verifying the authentication data Adj using the implicitly shared secret kij, the cryptographic nonce Ni, and the cryptographic nonce Nj, wherein if the authentication data Adj is verified, generating the common session key SKij by providing the implicitly shared secret kij, the cryptographic nonce Ni, the cryptographic nonce Nj, the identity of the first entity idi and the identity of the second entity idj to a Key Deriving Function.
A method of generating a common session key SKij for encoding digital communications between a first entity and a second entity, comprising:
- generating, by a secure server, a private key ski for the first entity wherein the private key ski comprises a Discrete-Logarithm type digital signature, [Ri, si], of an identity of the first entity, idi, and generating, by the secure server, a private key skj for the second entity wherein the private key skj comprises a Discrete-Logarithm type digital signature, [Rj, sj], of an identity of the second entity, idj, wherein Ri and Rj are group elements, and si and sj comprise integers modulo q, whereby q is a prime number, wherein the private key ski is communicated to the first entity and the private key skj is communicated to the second entity;
- sharing, by the first entity, a cryptographic nonce Ni, the identity of the first entity idi, and Ri with the second entity;
- calculating, by the second entity, an implicitly shared secret kji=gsi·sj, using the shared Ri, where g is a generator of a cyclic group G, and calculating the common session key SKji by providing the implicitly shared secret kji, the cryptographic nonce Ni, the cryptographic nonce Nj, the identity of the first entity idi and the identity of the second entity idj to the Key Deriving Function, and providing the common session key SKji, the cryptographic nonce Ni, and a cryptographic nonce Nj to an Authentication Data Deriving Function to generate an authentication data Adj;
- sharing, by the second entity, the cryptographic nonce Nj, the identity of the second entity idj, Rj, and the authentication data Adj with the first entity;
- and
- calculating, by the first entity, an implicitly shared secret kij=gsj·si, using the shared Rj, and calculating a common session key SKij by providing the implicitly shared secret kij, the cryptographic nonce Ni, the cryptographic nonce Nj, the identity of the first entity idi and the identity of the second entity idj to the Key Deriving Function and verifying the authentication data Adj using the common session key SKij, the cryptographic nonce Ni, and the cryptographic nonce Nj, wherein if the authentication data Adj is verified, using the common session key SKij or SKji as the common session key for encoding digital communications between a first entity and a second entity.
A system for generating a common session key SKij for encoding digital communications between a first entity and a second entity, comprising:
- a secure server configured to share a private key ski for the first entity wherein the private key ski comprises a Discrete-Logarithm type digital signature, [Ri, si], of an identity of the first entity, idi, and generating, by the secure server, a private key skj for the second entity wherein the private key skj comprises a Discrete-Logarithm type digital signature, [Rj, sj], of an identity of the second entity, idj, wherein Ri and Rj are group elements, and si and sj comprise integers modulo q, whereby q is a prime number, wherein the private key ski is communicated to the first entity and the private key skj is communicated to the second entity;
- the first entity configured to share a cryptographic nonce Ni, the identity of the first entity idi, and Ri with the second entity;
- the second entity configured to calculate an implicitly shared secret kji using the shared Ri, and providing the implicitly shared secret kji, the cryptographic nonce Ni, and a cryptographic nonce Nj to an Authentication Data Deriving Function to generate an authentication data Adj;
- the second entity configured to share the cryptographic nonce Nj, the identity of the second entity idj, Rj, and the authentication data Adj with the first entity;
- and
- the first entity configured to calculate the implicitly shared secret kij=gsj·si, using the shared Rj and verifying the authentication data Adj using the implicitly shared secret kij, the cryptographic nonce Ni, and the cryptographic nonce Nj, wherein if the authentication data Adj is verified, generating the common session key SKij by providing the implicitly shared secret kij, the cryptographic nonce Ni, the cryptographic nonce Nj, the identity of the first entity idi and the identity of the second entity idj to a Key Deriving Function.
A system for generating a common session key SKij for encoding digital communications between a first entity and a second entity, comprising:
- a secure server configured to generate a private key ski for the first entity wherein the private key sk, comprises a Discrete-Logarithm type digital signature, [Ri, si], of an identity of the first entity, idi, and generating, by the secure server, a private key skj for the second entity wherein the private key skj comprises a Discrete-Logarithm type digital signature, [Rj, sj], of an identity of the second entity, idj, wherein Ri and Rj are group elements, and si and sj comprise integers modulo q, whereby q is a prime number, wherein the private key ski is communicated to the first entity and the private key skj is communicated to the second entity;
- the first entity configured to share a cryptographic nonce Ni, the identity of the first entity idi, and Ri with the second entity;
- the second entity configured to calculate an implicitly shared secret kji=gsi·sj, using the shared Ri, where g is a generator of a cyclic group G, and calculating the common session key SKji by providing the implicitly shared secret kji, the cryptographic nonce Ni, the cryptographic nonce Nj, the identity of the first entity idi and the identity of the second entity idj to the Key Deriving Function, and providing the common session key SKji, the cryptographic nonce Ni, and a cryptographic nonce Nj to an Authentication Data Deriving Function to generate an authentication data Adj;
- the second entity configured to share the cryptographic nonce Nj, the identity of the second entity idj, Rj, and the authentication data Adj with the first entity;
- and
- the first entity configured to calculate an implicitly shared secret kij=gsj·si, using the shared Rj, and calculating a common session key SKij by providing the implicitly shared secret kij, the cryptographic nonce Ni, the cryptographic nonce Nj, the identity of the first entity idi and the identity of the second entity idj to the Key Deriving Function and verifying the authentication data Adj using the common session key SKij, the cryptographic nonce Ni, and the cryptographic nonce Nj, wherein if the authentication data Adj is verified, using the common session key SKij or SKji as the common session key for encoding digital communications between a first entity and a second entity.
Dependencies are inferred from the claim text.