IP Library Granted Patent US 8,763,138
Granted Patent B2
US 8,763,138 · App. 11/793,611 · Granted Jun 24, 2014

Method and device for security loading a memory and an associated memory

Inventors: Christophe Giraud (Pessac, FR); Antoine Lemarechal (Paris, FR)
Assignee: Oberthur Technologies
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,763,138
App. No.
11/793,611
Granted
Jun 24, 2014
Kind
B2
Abstract

Method for security loading of at least one residual memory space including at least one program, in particular in a smart card, consists in carrying out successive cycles for selecting (E 13 , E 23 , E 33 ) at least one type of data from a predetermined authorized data set, wherein said authorized data set excludes at least one type of data corresponding to a determined instruction, and in introducing (E 14 , E 24 , E 34 ) the at least one type of data selected from the at least one residual memory space in such a way that at least one part of the residual memory space is loaded.

Claims (42)

1. Method for security filling at least one residual memory space of a read-only memory comprising at least one program, the method comprising:

before detecting a fault attack on the read-only memory, repeating in successive cycles the steps of,

choosing at least one data item from among a predetermined set of authorized data, said set of authorized data excluding at least one data item corresponding to a determined instruction; and

after the choosing step, inserting said at least one chosen data item into said at least one residual memory space of the read-only memory so as to fill at least one part of this residual memory space,

wherein the at least one program remains normally operable in the read-only memory after the choosing and inserting steps.

2. Method according to claim 1 , in which the data of the set of authorized data correspond to instructions having no dangerous effect on the running of said at least one program.

3. Method according to claim 1 , in which said at least one excluded data item corresponds to at least one instruction of jump instruction type.

4. Method according to claim 1 , in which said at least one excluded data item corresponds to at least one instruction of execution stack use instruction type.

5. Method according to claim 1 , in which said at least one excluded data item corresponds to at least one operand of configuration registers type.

6. Method according to claim 1 , in which, for each elementary memory space of the residual memory space:

a data item in the set of authorized data whose corresponding instruction and whose operands are coded on at most n elementary memory spaces is determined, n being the size of the residual memory space remaining to be filled;

the data item determined is inserted into the elementary memory space considered of the residual memory space;

the new size n of the residual memory space remaining to be filled is determined.

7. Method according to claim 1 , furthermore comprising the insertion of an instruction for ejection to an action program and of the address of the action program.

8. Method according to claim 7 , in which the insertion of an ejection instruction is carried out at the end of the residual memory space.

9. Method according to claim 8 , in which the address of the action program is represented by data of the set of authorized data.

10. Method according to claim 1 , furthermore comprising the insertion of an action program.

11. Method according to claim 10 , in which the insertion of the action program is carried out at the end of the residual memory space.

12. Method according to claim 7 , in which the action program comprises countermeasure instructions.

13. Method according to claim 1 , according to which the choosing of said at least one data item from among the set of authorized data is done randomly.

14. Secure method of executing programs, wherein prior to the execution of said programs, a method for security filling at least one residual memory space of a read-only memory is implemented in accordance with claim 1 .

15. Device for security filling, prior to detection of a fault attack, at least one residual memory space of a read-only memory comprising at least one program, the device comprising:

a storage area ( 501 ) containing a predetermined set of authorized data, said set of authorized data excluding at least one data item corresponding to a determined instruction,

means ( 502 ) for choosing at least one data item from among the set of authorized data,

means ( 503 ) for inserting said at least one chosen data item into said at least one residual memory space of the read-only memory so as to fill at least one part of said at least one residual memory space before detection of a fault attack on the read-only memory,

means ( 505 ) for cyclically controlling the choosing means and the inserting means, while allowing said at least one program to remain normally operable in the read-only memory following the choosing and inserting.

16. Device according to claim 15 , in which the data of the set of authorized data correspond to instructions having no dangerous effect on the running of said at least one program.

17. Device according to claim 15 , in which, with each data item of the predetermined set of authorized data is associated a cue of size of the instruction corresponding to the data item with its operands.

18. Device according to claim 15 , in which said at least one excluded data item corresponds to at least one instruction of jump instruction type.

19. Device according to claim 15 , in which said at least one excluded data item corresponds to at least one instruction of execution stack use instruction type.

20. Device according to claim 15 , in which said at least one excluded data item corresponds to at least one operand of configuration registers type.

21. Device according to claim 15 , in which for each elementary memory space of the residual memory space:

the choosing means are able to determine a data item in the set of authorized data whose corresponding instruction and whose operands are coded on at most n elementary memory spaces, n being the size of the residual memory space remaining to be filled;

the inserting means are able to insert the data item determined into the elementary memory space considered of the residual memory space;

the control means are able to determine the new size n of the residual memory space remaining to be filled.

22. Device according to claim 15 , in which the inserting means are able, furthermore, to insert an instruction for ejection to an action program and the address of the action program.

23. Device according to claim 22 , in which the means for inserting an ejection instruction are able to insert the ejection instruction at the end of the residual memory space.

24. Device according to claim 22 , in which the address of the action program is represented by data of the set of authorized data.

25. Device according to claim 15 , in which the inserting means are, furthermore, able to insert an action program.

26. Device according to claim 25 , in which the inserting means are able to insert the action program at the end of the residual memory space.

27. Device according to claim 22 , in which the action program comprises countermeasure instructions.

28. Device according to claim 19 , according to which the means for choosing at least one data item from among the set of authorized data are able to choose said at least one data item randomly.

Assignments (2)
CHANGE OF NAME AND ADDRESS Recorded May 14, 2014
From: OBERTHUR TECHNOLOGIES
To: OBERTHUR TECHNOLOGIES
Reel/Frame 032893/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2007
From: GIRAUD, CHRISTOPHE; LEMARECHAL, ANTOINE
To: OBERTHUR CARD SYSTEMS SA
Reel/Frame 019802/0764 →
Priority Claims (1)
FR 04 13575 · Dec 20, 2004 · national
Continuity (1)
Related Publication 20080040812A1 · Feb 14, 2008