[go: up one dir, main page]

HK1119324B - Secure authenticated channel - Google Patents

Secure authenticated channel Download PDF

Info

Publication number
HK1119324B
HK1119324B HK08112463.5A HK08112463A HK1119324B HK 1119324 B HK1119324 B HK 1119324B HK 08112463 A HK08112463 A HK 08112463A HK 1119324 B HK1119324 B HK 1119324B
Authority
HK
Hong Kong
Prior art keywords
key
public key
ephemeral
certificate
identity
Prior art date
Application number
HK08112463.5A
Other languages
Chinese (zh)
Other versions
HK1119324A1 (en
Inventor
让‧皮埃尔‧安德烈奥斯
阿兰‧迪尔
托马斯‧西尔旺
Original Assignee
汤姆森许可贸易公司
Filing date
Publication date
Application filed by 汤姆森许可贸易公司 filed Critical 汤姆森许可贸易公司
Priority to HK08112463.5A priority Critical patent/HK1119324B/en
Publication of HK1119324A1 publication Critical patent/HK1119324A1/en
Publication of HK1119324B publication Critical patent/HK1119324B/en

Links

Description

Secure authenticated channel
The application is a divisional application of a Chinese patent application 'safety certification channel' (application number 200480044294.2) with the application date of 2004, 10, 29.
Technical Field
The present invention relates generally to secure authenticated channels, and more particularly to the calculation of session keys for establishing such channels for protecting digital content, such as content in a digital television system.
Background
A secure authentication channel, well known in the cryptographic arts, is established to allow two mutually authenticated devices (often referred to as peers) to exchange information in secrecy. Preferably, the secure authenticated channel should have the following properties:
-mutual authentication of peers;
key validation, i.e. a common secret is established and at least one peer can verify that the secret is indeed public;
forwarding privacy, i.e. the old session key cannot be computed even if the long-term key (e.g. certificate key) is already known.
These properties can formally be proven mathematically, and it has been demonstrated that: if there is a way to circumvent one of the above properties for a given encryption protocol, the entire protocol can be destroyed relatively simply.
Over the years, the cryptographic community has proposed a variety of protocols for secure authenticated channels. Only a few of these channels have proven to satisfy the above properties.
Those protocols that provide the required properties for the channel use a number of different primitives: at least one asymmetric primitive (e.g., asymmetric encryption or digital signature), a hash function, a Message Authentication Code (MAC), and other primitives such as symmetric encryption. One problem with these protocols is: they consume a lot of resources and are difficult to implement in devices with limited computing power, such as portable security modules like smart cards. Another problem is that: the use of multiple cryptographic primitives makes it difficult to prove that the protocol is secure.
The present invention provides a secure access channel protocol that has desirable properties and is particularly well suited for implementation in devices with limited computing capabilities.
In the description, since encryption is a mature technology, it is assumed that the basic concept is well known. For the sake of clarity and conciseness, no description of these concepts beyond what is necessary for understanding the present invention will be made.
Disclosure of Invention
In a first aspect, the invention relates to a method for calculating a session key shared by a first and a second device (11, 21). The first device has: certificate (C)a) Including a public key (g)a) And an Identity (ID) corresponding to the first device itselfa) (ii) a And an Identity (ID) corresponding to the first device itselfa) A private key (a) and a public key (g)a) The knowledge of the same. The second device has the corresponding credentials and knowledge. The first device selects a first ephemeral private key (x), calculates a first ephemeral public key (g)x) And a certificate (C) of the first devicea) And a first ephemeral public key (g)x) To the second device. Upon receipt of the certificate of the first device (C)a) And a first ephemeral public key (g)x) While the second device checks the certificate of the first device (C)a) Selecting a second ephemeral private key (y), calculating a second ephemeral public key (g)y) Based on the first ephemeral public key (g)x) And the second temporary private key (y) calculates a temporary shared key (K)eph) According to the public key (g) of the first devicea) And the second device's own private key (b) to calculate a permanent key (K)perm) Based on the second ephemeral public key (g)y) Temporary shared secret key (K)eph) Permanent key (K)perm) And an Identity (ID) corresponding to the second device itselfb) Calculating a first value (H (g)y,Keph,Kperm,IDb) And a certificate (C) of the second deviceb) A second temporary public key (g)y) And a first value (H (g)y,Keph,Kperm,IDb) To the first device. Upon receiving a certificate of the second device from the second device (C)b) A second temporary public key (g)y) And a first value (H (g)y,Keph,Kperm,IDb) In time), the first device verifies the certificate (C) of the second deviceb) Based on the second ephemeral public key (g)y) And the first ephemeral private key (x) calculating an ephemeral shared key (K)eph) According to the public key (g) of the first deviceb) Calculating a permanent key (K) with the private key (a) owned by the first deviceperm) Checking the first value (H (g)y,Keph,Kperm,IDb) According to a first temporary public key (g)x) Temporary shared secret key (K)eph) Permanent key (K)perm) And an Identity (ID) corresponding to the first device itselfa) Calculating a second value H (g)x,Keph,Kperm,IDa) And the second value (H (g)x,Keph,Kperm,IDa) To the second device. Upon receiving the second value (H (g)x,Keph,Kperm,IDa) While the second device checks the second value (H (g))x,Keph,Kperm,IDa) And as a temporary shared key (K)eph) To calculate a session key (K)sess). The first device also acts as a temporary shared key (K)eph) To calculate a session key (K)sess)。
In a second aspect, the invention relates to a first device (11) for participating in a session key calculation with a second device (21). The first device has: certificate (C)a) Including a public key (g)a) And an Identity (ID) corresponding to the first device itselfa) (ii) a And an Identity (ID) corresponding to the first device itselfa) A private key (a) and a public key (g)a) The knowledge of the same. The first device comprises a processor (12) for: selecting a first ephemeral private key (x); calculating a first ephemeral public key (g)x) (ii) a Certificate (C) of the first devicea) And a first ephemeral public key (g)x) Sending to the second device; receiving a certificate of the second device from the second device (C)b) A second temporary public key (g)y) And a first value (H (g)y,Keph,Kperm,IDb) Said certificate (C)b) Including a public key (g)b) And Identity (ID) of the second deviceb) And a first value (H (g)y,Keph,Kperm,IDb) Is based on a second ephemeral public key (g)y) Temporary shared secret key (K)eph) Permanent key (K)perm) And an Identity (ID) corresponding to the second device itselfb) Calculating to obtain; verifying the certificate of the second device (C)b) (ii) a Based on the second ephemeral public key (g)y) And the first ephemeral private key (x) calculating an ephemeral shared key (K)eph) (ii) a According to the public key (g) of the first deviceb) Calculating a permanent key (K) with the private key (a) owned by the first deviceperm) (ii) a Check the first value (H (g)y,Keph,Kperm,IDb) ); based on the first ephemeral public key (g)x) Temporary shared secret key (K)eph) Permanent key (K)perm) And an Identity (ID) corresponding to the first device itselfa) Calculating a second value (H (g)x,Keph,Kperm,IDa) ); the second value (H (g)x,Keph,Kperm,IDa) To a second device; and as a temporary shared key (K)eph) To calculate a session key (K)sess)。
In a third aspect, the invention relates to a second device (21) for participating with a first device (11) in a session key calculation. The first device has: certificate (C)b) Including a public key (g)b) And an Identity (ID) corresponding to the second device itselfb) (ii) a And an Identity (ID) corresponding to the second device itselfb) Private key (b) and public key (g)b) The knowledge of the same. The second device comprises a processor (22) for: receiving a certificate (C) of a first devicea) And a first ephemeral public key (g)x) (ii) a The certificate comprising a public key (g)a) And Identity (ID) of the first devicea) (ii) a Verifying the certificate of the first device (C)a) (ii) a Selecting a second ephemeral private key (y); calculating a second ephemeral public key (g)y) (ii) a Based on the first ephemeral public key (g)x) And the temporary private key (y) calculates a temporary shared key (K)eph) (ii) a According to the public key (g) of the first devicea) And the second device's own private key (b) to calculate a permanent key (K)perm): based on the second ephemeral public key (g)y) Temporary shared secret key (K)eph) Permanent key (K)perm) And an Identity (ID) corresponding to the second device itselfb) Calculating a first value (H (g)y,Keph,Kperm,IDb) ); certificate (C) of the second deviceb) A second temporary public key (g)y) And a first value (H (g)y,Keph,Kperm,IDb) To a first device; receiving a second value (H (g)) from the first devicex,Keph,Kperm,IDa) According to a first temporary public key (g)x) Temporary shared secret key (K)eph) Permanent key (K)perm) And an Identity (ID) corresponding to the first device itselfa) Calculating a second value (H (g)x,Keph,Kperm,IDa) ); checking the second value (H (g)x,Keph,Kperm,IDa) ); and as a temporary shared key (K)eph) To calculate a session key (K)sess)。
Drawings
Fig. 1 illustrates a session key exchange according to an embodiment of the present invention.
Detailed Description
Fig. 1 illustrates a session key exchange according to an embodiment of the present invention.
Before the method startsThe first device 11 knows its identity IDaIts own private key a and public key ga。gaIs gaA abbreviation of mod p, where a is the private key of the first device, g is a known generator number (generator) and p is a known prime number, as is well known in the art. The second device 21 has the corresponding knowledge: IDb、b、gb. The certificate of the device comprises a public key and an identity, respectively Ca(ga,IDa) And Cb(gb,IDb). The device 11, 12 also has a processor (CPU)12, 22 adapted to implement the steps of the method.
At step 252, first device 11 selects first ephemeral private key x and calculates ephemeral public key g, preferably in a random mannerxThen the public key g is addedxCertificate C with first device 11a(ga,IDa) Sent to the second device 21 together in message 254.
Upon reception of the message 254, the certificate C of the first device 11 by the second device 21a(ga,IDa) A check is performed (step 256). If the check is not successful, the second device 21 aborts the method. However, if the verification is successful, then at step 258 the second device 21 preferably selects the second ephemeral private key y and calculates the second ephemeral public key g in a random manneryTemporary shared secret key Keph=gxyAnd a Diffie-Hellman permanent key Kperm=gab
At step 260, the second device 21 uses the second ephemeral public key gyTemporary shared secret key KephDiffie-Hellman permanent key KpermIdentity ID of the second device 21bAnd a suitable hash function, such as one of a plurality of functions known in the art, to calculate the first hash value H (g)y,Keph,Kperm,IDb). It will be appreciated that other suitable functions may be used to calculate this hash value and the fact instead of a hash functionThe hash values that follow in the example. The second device 21 then sends the second ephemeral public key gyCertificate C of the second device 21b(gb,IDb) And a first hash value H (g)y,Keph,Kperm,IDb) To the first device 11 in message 262.
On receiving the message 262, the first device 11 verifies the certificate C of the second device 21b(gb,IDb) (step 264). If the check is not successful, the first device 11 aborts the method. However, if the verification is successful, then at step 266, the first device 11 calculates a temporary shared key KephAnd a Diffie-Hellman permanent key Kperm. At step 268, the first device 11 verifies the first hash value using the same hash function as the second device 21 used at step 260. If the first hash value is not verified, then the first device 11 aborts the method, but if the first hash value is verified, then at step 270 the first device 11 uses the first ephemeral public key gxTemporary shared secret key KephDiffie-Hellman permanent key KpermAnd the identity ID of the first device 11aAnd a second hash value H (g) is calculatedx,Keph,Kperm,IDa). The first device 11 hashes the second hash value H (g)x,Keph,Kperm,IDa) To the second device 21 in message 272.
Upon receipt of the message 272, at step 274, the second device 21 verifies the second hash value H (g) using the same hash function as that used by the first device 10 at step 270x,Keph,Kperm,IDa). If the second hash value is not verified, then the second device 21 aborts the protocol, but if the second hash value is verified, then at step 276 the second device 21 calculates the temporary shared key KephWhile computing the session key Ksess. The second device 21 then sends a "ready" message 278 to the first device 11 to indicate that the second hash has been successfully verifiedValue H (g)x,Keph,Kperm,IDa) And calculates a session key Ksess
Upon receiving the "ready" message 278 from the second device 21, at step 280, the first device 11 calculates the ephemeral shared key K by using the same hash function as the second device 21 used at step 276ephTo thereby calculate the same session key Ksess. The first device 11 then sends a "ready" message 282 to the second device 21 to indicate that the first device 11 has also calculated the session key Ksess
At this time, both the first device 11 and the second device 21 have a session key K that can be used to protect information sent between themsess. Using the protocol according to the invention, the secrecy of the private key is ensured, the authentication and key validation being mutual. Furthermore, forwarding secrecy and robustness against previous session key leakage is ensured. Those skilled in the art will appreciate that the three hash functions described in connection with steps 212, 220, and 226 may be different, may be the same, or may be the same for two and different for the other.
It should be noted that this description refers to random numbers, which in practice are usually pseudo-random numbers.
The expression "security module" includes any type of security module (portable or fixed) comprising a processor and capable of being used to establish a secure authenticated channel according to the invention, such as smart cards, PC cards (previously known as PCMCIA cards) and integrated circuits soldered to printed circuits in devices such as televisions.
The embodiments described above are particularly suitable for implementation in digital televisions and security modules. However, those skilled in the art will appreciate that the present invention may be implemented and utilized by any kind of device having the required resources, i.e., a processor and preferably a memory storing the required information. Non-limiting examples of other devices are: DVD players, computers interacting with peripherals, Automatic Teller Machines (ATMs) and bank cards.

Claims (5)

1. A first device adapted to verify a hash value, the first device having: a certificate comprising a public key and an identity corresponding to the first device itself; and knowledge of the identity, private key and public key corresponding to the first device itself,
the first device includes a processor to:
-selecting a temporary private key;
-calculating a first ephemeral public key;
-sending the certificate of the first device and the first ephemeral public key to the second device;
-receiving from the second device a certificate of the second device, the certificate comprising the public key and the identity of the second device, a second ephemeral public key and a first hash value calculated from the second ephemeral public key, the ephemeral shared key, the permanent key and the identity corresponding to the second device itself;
-verifying the certificate of the second device;
-calculating a transient shared key from the second transient public key and the first transient private key;
-calculating a permanent key from the public key of the second device and the private key of the first device itself;
-checking the first hash value.
2. The first device of claim 1, wherein the processor is further configured to:
-calculating a second hash value based on the first ephemeral public key, the ephemeral shared key, the permanent key and an identity corresponding to the first device itself;
-sending the second hash value to the second device.
3. A second device adapted to verify a hash value, the second device having: a certificate comprising a public key and an identity corresponding to the second device itself; and knowledge of the identity, private key and public key corresponding to the second device itself,
the second device includes a processor to:
-receiving a certificate of the first device, the certificate comprising the public key and the identity of the first device, and the first ephemeral public key;
-verifying the certificate of the first device;
-selecting a temporary private key;
-calculating a second ephemeral public key;
-calculating an ephemeral shared key from the first ephemeral public key and the ephemeral private key;
-calculating a permanent key from the public key of the first device and the private key of the second device itself;
-calculating a first hash value based on the second ephemeral public key, the ephemeral shared key, the permanent key and an identity corresponding to the second device itself;
-sending the certificate of the second device, the second ephemeral public key and the first hash value to the first device;
-receiving a second hash value from the first device, the second value being calculated from the first ephemeral public key, the ephemeral shared key, the permanent key and an identity corresponding to the first device itself; and
-checking the second hash value.
4. A method adapted for verifying a hash value, the method being performed by a first device having: a certificate comprising a public key and an identity corresponding to the first device itself; and knowledge of the identity, private key and public key corresponding to the first device itself,
the method comprises the following steps:
-selecting a temporary private key;
-calculating a first ephemeral public key;
-sending the certificate of the first device and the first ephemeral public key to the second device;
-receiving from the second device a certificate of the second device, the certificate comprising the public key and the identity of the second device, a second ephemeral public key and a first hash value calculated from the second ephemeral public key, the ephemeral shared key, the permanent key and the identity corresponding to the second device itself;
-verifying the certificate of the second device;
-calculating a transient shared key from the second transient public key and the first transient private key;
-calculating a permanent key from the public key of the second device and the private key of the first device itself;
-checking the first hash value.
5. A method adapted for verifying a hash value, the method being performed by a second device having: a certificate comprising a public key and an identity corresponding to the second device itself; and knowledge of the identity, private key and public key corresponding to the second device itself,
the method comprises the following steps:
-receiving a certificate of the first device, the certificate comprising the public key and the identity of the first device, and the first ephemeral public key;
-verifying the certificate of the first device;
-selecting a temporary private key;
-calculating a second ephemeral public key;
-calculating an ephemeral shared key from the first ephemeral public key and the ephemeral private key;
-calculating a permanent key from the public key of the first device and the private key of the second device itself;
-calculating a first hash value based on the second ephemeral public key, the ephemeral shared key, the permanent key and an identity corresponding to the second device itself;
-sending the certificate of the second device, the second ephemeral public key and the first hash value to the first device;
-receiving a second hash value from the first device, the second value being calculated from the first ephemeral public key, the ephemeral shared key, the permanent key and an identity corresponding to the first device itself; and
-checking the second hash value.
HK08112463.5A 2008-11-13 Secure authenticated channel HK1119324B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
HK08112463.5A HK1119324B (en) 2008-11-13 Secure authenticated channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
HK08112463.5A HK1119324B (en) 2008-11-13 Secure authenticated channel

Publications (2)

Publication Number Publication Date
HK1119324A1 HK1119324A1 (en) 2009-02-27
HK1119324B true HK1119324B (en) 2011-12-02

Family

ID=

Similar Documents

Publication Publication Date Title
JP4719749B2 (en) Secure authentication channel
US7545932B2 (en) Secure authenticated channel
US9698985B2 (en) Authentication
US8971540B2 (en) Authentication
US9106644B2 (en) Authentication
CN103532713B (en) Sensor authentication and shared key production method and system and sensor
US9531540B2 (en) Secure token-based signature schemes using look-up tables
Wei et al. Secure control protocol for universal serial bus mass storage devices
EP1906587A2 (en) Secure authenticated channel
Fischlin et al. Fake it till you make it: Enhancing security of bluetooth secure connections via deferrable authentication
HK1119324B (en) Secure authenticated channel
HK1119324A1 (en) Secure authenticated channel
Chatterjee et al. Secure access of smart cards using elliptic curve cryptosystems
JP5238045B2 (en) Secure authentication channel
AU2008201456B2 (en) Secure authenticated channel
RU2359416C2 (en) Secured channel with authentication
CN101222323B (en) Safety authentication channel
Lin et al. A secure and efficient mutual authentication protocol using hash function
CA2486267C (en) Secure authenticated channel
Yum et al. Security analysis of Yeh-Tsai security mechanism
Chen et al. Comments on two password based protocols
CN117938364A (en) Key generation method, device and system
Chang et al. An improvement on authenticated key agreement scheme