IP Library Granted Patent US 9,430,188
Granted Patent B2
US 9,430,188 · App. 12/649,567 · Granted Aug 30, 2016

Method for protecting a cryptographic device against SPA, DPA and time attacks

Inventors: Giovanni Di Sirio (Salerno, IT); Giovanni Fontana (Naples, IT)
Assignee: STMICROELECTRONICS INTERNATIONAL N.V.
G06F7/00H04L9/003G06F2207/7266
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 9,430,188
App. No.
12/649,567
Granted
Aug 30, 2016
Kind
B2
Abstract

A method is for operating a cryptographic device to reduce effects of power analysis and time attacks. The method may include executing a first set of cryptographic algorithm computations with a first crypto-processor of the cryptographic device. The first set of cryptographic algorithm computations may provide encryption of a first set of data to be protected with a first secret key stored in the cryptographic device. The method may further include executing a second set of cryptographic algorithm computations with a second crypto-processor of the cryptographic device for providing encryption of a second set of data different from the first set of data to be protected with a second different secret key.

Claims (52)

1. A method of operating a cryptographic device to reduce effects of power analysis attacks, the method comprising:

splitting cryptographic computations in the cryptographic device into a first set of cryptographic algorithm computations and a second set of cryptographic algorithm computations and pseudo-randomly assigning the first and second sets of cryptographic algorithm computations to a first crypto-processor and at least one second crypto-processor;

executing the first set of cryptographic algorithm computations with the first crypto-processor of the cryptographic device, the first set of cryptographic algorithm computations providing encryption of a first set of data to be protected with a first secret key;

executing the second set of cryptographic algorithm computations with the at least one second crypto-processor of the cryptographic device for providing encryption of a second set of data different from the first set of data to be protected with a second different secret key; and

generating varying power consumption from the first crypto-processor and the at least one second crypto-processor respectively based upon the execution of the first and second sets of cryptographic algorithm computations, thereby reducing the effects of power analysis attacks.

2. The method according to claim 1 wherein the first secret key is stored in the cryptographic device.

3. The method according to claim 1 wherein the second different secret key is generated in the cryptographic device.

4. The method according to claim 1 wherein the execution of the first set of cryptographic algorithm computations and the second set of cryptographic algorithm computations switches between the first crypto-processor and the at least one second crypto-processor.

5. The method according to claim 4 wherein the switching is random.

6. The method according to claim 1 wherein the second different secret key is randomly generated.

7. The method according to claim 1 wherein the at least one second crypto-processor comprises a plurality thereof.

8. The method according to claim 1 wherein the execution of the first and second sets of cryptographic algorithm computations are simultaneous with each other.

9. The method according to claim 1 wherein the at least one second crypto-processor independently generates the second different secret key.

10. A method of operating a cryptographic device to reduce effects of power analysis attacks, the method comprising:

splitting cryptographic computations in the cryptographic device into a first set of cryptographic algorithm computations and a second set of cryptographic algorithm computations and pseudo-randomly assigning the first and second sets of cryptographic algorithm computations to a first crypto-processor and at least one second crypto-processor;

executing the first set of cryptographic algorithm computations with the first crypto-processor of the cryptographic device, the first set of cryptographic algorithm computations providing encryption of a first set of data to be protected with a first secret key stored in the cryptographic device;

independently generating a second different secret key in the cryptographic device;

executing the second set of cryptographic algorithm computations with the at least one second crypto-processor of the cryptographic device for providing encryption of a second set of data different from the first set of data to be protected with the second different secret key, the execution of the first and second sets of cryptographic algorithm computations being simultaneous with each other; and

generating varying power consumption from the first crypto-processor and the at least one second crypto-processor respectively based upon the execution of the first and second sets of cryptographic algorithm computations, thereby reducing the effects of power analysis attacks.

11. The method according to claim 10 wherein the execution of the first set of cryptographic algorithm computations and the second set of cryptographic algorithm computations switches between the first crypto-processor and the at least one second crypto-processor.

12. The method according to claim 11 wherein the switching is random.

13. The method according to claim 10 wherein the second different secret key is randomly generated.

14. The method according to claim 10 wherein the at least one second crypto-processor comprises a plurality thereof.

15. An integrated circuit (IC) card to be inserted into a cryptographic device, the IC Card comprising:

a terminal pin;

a first crypto-processor and at least one second crypto-processor associated with said terminal pin; and

a central processing unit (CPU) associated with said terminal pin and configured to split cryptographic computations into a first set of cryptographic algorithm computations and a second set of cryptographic algorithm computations, and pseudo-randomly assign the first and second sets of cryptographic algorithm computations to said first crypto-processor and said at least one second crypto-processor;

said first crypto-processor configured to execute the first set of cryptographic algorithm computations for providing encryption of a first set of data to be protected with a first secret key; and

said at least one second crypto-processor configured to execute the second set of cryptographic algorithm computations for providing encryption of a second set of data different from the first set of data to be protected with a second different secret key;

said first crypto-processor and said at least one second crypto-processor configured to generate varying power consumption respectively based upon the execution of the first and second sets of cryptographic algorithm computations, thereby reducing effects of power analysis attacks.

16. The IC card according to claim 15 wherein the first secret key is stored in the cryptographic device.

17. The IC card according to claim 15 wherein said CPU is configured to switch execution of the first set of cryptographic algorithm computations and the second set of cryptographic algorithm computations between said first crypto-processor and said at least one second crypto-processor.

18. The IC card according to claim 17 wherein said CPU is configured to randomly switch the execution of the first set of cryptographic algorithm computations and the second set of cryptographic algorithm computations.

19. The IC card according to claim 17 wherein said CPU is configured to randomly generate the second different secret key.

20. The IC card according to claim 15 wherein said at least one second crypto-processor comprises a plurality thereof, each configured to execute the second set of cryptographic algorithm computations.

21. The IC card according to claim 15 wherein said first crypto-processor and said at least one second crypto-processor execute the first and second sets of cryptographic algorithm computations simultaneous with each other.

22. The IC card according to claim 15 wherein said at least one second crypto-processor is configured to independently generate the second different secret key.

23. A circuit on an integrated circuit (IC) card to be inserted into a cryptographic device, the circuit comprising:

a first crypto-processor and at least one second crypto-processor; and

a central processing unit (CPU) configured to

split cryptographic computations into a first set of cryptographic algorithm computations and a second set of cryptographic algorithm computations, and

pseudo-randomly assign the first and second sets of cryptographic algorithm computations to said first crypto-processor and said at least one second crypto-processor;

said first crypto-processor configured to execute the first set of cryptographic algorithm computations for providing encryption of a first set of data to be protected with a first secret key; and

said at least one second crypto-processor configured to execute the second set of cryptographic algorithm computations for providing encryption of a second set of data different from the first set of data to be protected with a second different secret key;

said first crypto-processor and said at least one second crypto-processor configured to generate varying power consumption respectively based upon the execution of the first and second sets of cryptographic algorithm computations, thereby reducing effects of power analysis attacks.

24. The circuit according to claim 23 wherein the first secret key is stored in the cryptographic device.

25. The circuit according to claim 23 wherein said CPU is configured to switch execution of the first set of cryptographic algorithm computations and the second set of cryptographic algorithm computations between said first crypto-processor and said at least one second crypto-processor.

26. The circuit according to claim 25 wherein said CPU is configured to randomly switch the execution of the first set of cryptographic algorithm computations and the second set of cryptographic algorithm computations.

27. The circuit according to claim 25 wherein said CPU is configured to randomly generate the second different secret key.

28. The circuit according to claim 23 wherein said at least one second crypto-processor comprises a plurality thereof, each configured to execute the second set of cryptographic algorithm computations.

29. The circuit according to claim 23 wherein said first crypto-processor and said at least one second crypto-processor execute the first and second sets of cryptographic algorithm computations simultaneous with each other.

30. The circuit according to claim 23 wherein said at least one second crypto-processor is configured to independently generate the second different secret key.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2013
From: INCARD SA
To: STMICROELECTRONICS N.V.
Reel/Frame 030669/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2013
From: STMICROELECTRONICS N.V.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 030669/0257 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2010
From: DI SIRIO, GIOVANNI; FONTANA, GIOVANNI
To: INCARD S.A.
Reel/Frame 024129/0761 →
Priority Claims (1)
IT MI2008A2364 · Dec 31, 2008 · national
Continuity (1)
Related Publication 20100166177A1 · Jul 1, 2010