IP Library Granted Patent US 8,705,732
Granted Patent B2
US 8,705,732 · App. 12/797,704 · Granted Apr 22, 2014

Generating a session key for authentication and secure data transfer

Inventors: Berndt Gammel (Markt Schwaben, DE); Wieland Fischer (Munich, DE); Stefan Mangard (Munich, DE)
Assignee: Infineon Technologies AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,705,732
App. No.
12/797,704
Granted
Apr 22, 2014
Kind
B2
Abstract

A device for generating a session key which is known to a first communication partner and a second communication partner, for the first communication partner, from secret information which may be determined by the first and second communication partners, includes a first module operable to calculate the session key using a concatenation of at least a part of a random number and a part of the secret information. The device also includes a second module operable to use the session key for communication with the second communication partner.

Claims (31)

1. A key-generating apparatus for generating a session key that is known to a first communication apparatus and a second communication apparatus, for the first communication apparatus, from secret information that may be determined by the first and second communication apparatuses, the key-generating apparatus comprising:

a first digital circuit adapted to calculate the session key using a non-linear concatenation of at least a part of a random number and a part of the secret information; and

a second digital circuit adapted to use the session key for communication with the second communication apparatus;

wherein the first digital circuit is adapted to implement the non-linear concatenation using (i) a non-linear feedback shift register that is loaded by the at least one part of the random number and sequentially concatenates individual bits of the part of the secret information to register cells of the shift register, or (ii) a non-linear feedback shift register that is loaded by the part of the secret information and sequentially concatenates individual bits of the at least one part of the random number to register cells of the shift register, or (iii) a linear feedback shift register that is defined by an irreproducible polynomial so that a result of the non-linear concatenation is dependent on a modulo operation of a multiplicative concatenation of the at least one part of the random number and the part of the secret information comprising the irreproducible polynomial.

2. The key-generating apparatus in accordance with claim 1 , comprising a third digital circuit adapted to determine at least a first part of the random number in a random or pseudo-random manner.

3. The key-generating apparatus in accordance with claim 2 , wherein the third digital circuit is adapted to acquire a second part of the random number from the second communication apparatus.

4. The key-generating apparatus in accordance with claim 2 , wherein the third digital circuit is adapted to determine a first random number in a random or pseudo-random manner and acquire a second random number from the second communication apparatus, and wherein the first digital circuit is adapted to acquire the session key based on a second encryption of a value derived from a first encryption with a value derived from the second random number, wherein a value derived from a non-linear concatenation of the first random number and the part of the secret information is used as a key for the first encryption to encrypt the secret information or a value derived therefrom and acquire the session key based on the first and second encryptions.

5. The key-generating apparatus in accordance with claim 2 , wherein the third digital circuit is adapted to determine a first random number in a random or pseudo-random manner and acquire a second random number from the second communication apparatus, and wherein the first digital circuit is adapted to calculate the session key based on an encryption of a value derived from the secret information with a key derived from the first and second random numbers.

6. The key-generating apparatus in accordance with claim 1 , wherein the first digital circuit is adapted to use a value derived from the non-linear concatenation as a key for encryption in order to encrypt the secret information or a value derived therefrom and acquire the session key based on the encryption.

7. The key-generating apparatus in accordance with claim 1 , wherein the first digital circuit is adapted to use the secret information or a value derived therefrom as a key for encryption to encrypt a value derived from the non-linear concatenation and acquire the session key based on the encryption.

8. The key-generating apparatus in accordance with claim 1 , wherein the second digital circuit is adapted to calculate, for communication with the second communication apparatus, a check part for authenticating a message based on the message and the session key or a key derived therefrom.

9. The key-generating apparatus in accordance with claim 8 , wherein the second digital circuit is adapted to calculate a check part of a current message to be transferred based on a current key derived from the session key and a subsequent key for a subsequent message to be transferred, the subsequent key being dependent on the current key derived and the current message to be transferred.

10. The key-generating apparatus in accordance with claim 8 , wherein the second digital circuit is adapted to use block encryption in accordance with the Advanced Encryption Standard for calculating the check part.

11. The key-generating apparatus in accordance with claim 1 , wherein the second digital circuit is adapted to encrypt/decrypt, for communication with the second communication apparatus, data blocks of a message based on the session key or a key derived therefrom.

12. The key-generating apparatus in accordance with claim 11 , wherein the second digital circuit is adapted to encrypt/decrypt a current key for a current data block to be encrypted/decrypted based on a previous key for a previous data block to be encrypted/decrypted and a predetermined value.

13. The key-generating apparatus in accordance with claim 12 , wherein the second digital circuit is adapted to use block encryption in accordance with the Advanced Encryption Standard for calculating the current key.

14. A method for generating a session key that is known to a first communication apparatus and a second communication apparatus, for the first communication apparatus, from secret information that may be determined by the first and second communication apparatuses, the method comprising, in a digital circuit of the first communication apparatus:

acquiring a random number;

calculating, with the digital circuit, the session key using a non-linear concatenation of at least a part of the random number and a part of the secret information; and

using the session key for communication with the second communication apparatus;

wherein the non-linear concatenation is implemented by the digital circuit using (i) a non-linear feedback shift register that is loaded by the at least one part of the random number and sequentially concatenates individual bits of the part of the secret information to register cells of the shift register, or (ii) a non-linear feedback shift register that is loaded by the part of the secret information and sequentially concatenates individual bits of the at least one part of the random number to register cells of the shift register, or (iii) a linear feedback shift register that is defined by an irreproducible polynomial so that a result of the non-linear concatenation is dependent on a modulo operation of a multiplicative concatenation of the at least one part of the random number and the part of the secret information comprising the irreproducible polynomial.

15. The method in accordance with claim 14 , wherein the session key is generated by both the first and second communication apparatus based on the random number and the secret information.

16. The method in accordance with claim 14 , wherein, when acquiring the random number, a first random number is determined based on a non-linear concatenation of a random number determined in a random or pseudo-random manner or a value derived therefrom and a part of the secret information, and a second random number is acquired from the second communication apparatus, and wherein calculating the session key is based on block encryption of a value derived from the secret information with a key derived from the first and second random numbers.

17. The method in accordance with claim 14 , wherein, when acquiring the random number, a first random number is determined by the first communication apparatus in a random or pseudo-random manner, and a second random number is acquired from the second communication apparatus, and wherein calculating the session key is based on block encryption of the second random number with block encryption of the secret information with a non-linear concatenation of the first random number and the part of the secret information.

18. The method in accordance with claim 14 , wherein the session key is used in an authentication method as a common secret for authentication between the first and second communication apparatuses.

19. The method in accordance with claim 18 , wherein the authentication method is a challenge-response method for a single-sided or mutual authentication using the session key.

20. A computer program product comprising program code stored on a non-transitory machine-readable carrier for performing a method of generating a session key that is known to a first communication apparatus and a second communication apparatus, for the first communication apparatus, from secret information that may be determined by the first and second communication apparatuses, the program code comprising instructions for:

acquiring a random number;

calculating the session key using a non-linear concatenation of at least a part of the random number and a part of the secret information; and

using the session key for communication with the second communication apparatus when the computer program runs on a computer or microcontroller;

such that the non-linear concatenation is implemented using (i) a non-linear feedback shift register that is loaded by the at least one part of the random number and sequentially concatenates individual bits of the part of the secret information to register cells of the shift register, or (ii) a non-linear feedback shift register that is loaded by the part of the secret information and sequentially concatenates individual bits of the at least one part of the random number to register cells of the shift register, or (iii) a linear feedback shift register that is defined by an irreproducible polynomial so that a result of the non-linear concatenation is dependent on a modulo operation of a multiplicative concatenation of the at least one part of the random number and the part of the secret information comprising the irreproducible polynomial.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2013
From: GAMMEL, BERNDT; FISCHER, WIELAND; MANGARD, STEFAN
To: INFINEON TECHNOLOGIES AG
Reel/Frame 030818/0470 →
Priority Claims (1)
DE 10 2009 024 604 · Jun 10, 2009 · national
Continuity (2)
Provisional Application 61219930 · Jun 24, 2009
Related Publication 20100316217A1 · Dec 16, 2010