IP Library Granted Patent US 7,447,916
Granted Patent B2
US 7,447,916 · App. 10/304,364 · Granted Nov 4, 2008

Blocking of the operation of an integrated circuit

Assignee: STMicroelectronics S.A.
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 7,447,916
App. No.
10/304,364
Granted
Nov 4, 2008
Kind
B2
Abstract

A method and a system for blocking an integrated circuit after detection of an attempt of unauthorized access to information that it contains, in which a first program of generation of a second program to be executed in a random access memory of the integrated circuit is executed, the second program including several instruction sequences and each sequence ending with a branching to another sequence; and the second program is executed.

Claims (36)

1. A method for blocking an integrated circuit after a detection of an attempt of unauthorized access to information that it contains, including the steps of:

executing a first program in response to detection of an attempt at unauthorized access to the integrated circuit, the first program generating a new second program of randomly chosen instructions to be executed in a random access memory of the integrated circuit, said second program including several instruction sequences and each sequence ending with a branching to another sequence; and

executing the second program.

2. The method of claim 1 , comprising generating a jump address table in the RAM, the jump addresses being distinct two by two by a predetermined number of addresses;

placing an instruction for branching on one of the addresses of the jump table at the address preceding a jump address; and

filling the intermediary addresses with instructions randomly chosen from a set of predetermined instructions.

3. The method of claim 2 , wherein the jump table is randomly filled upon each generation of the second program.

4. The method of claim 2 , wherein the set of predetermined instructions contains no instruction of branching to a sensitive area of the integrated circuit.

5. The method of claim 2 , wherein the set of predetermined instructions contains no instruction of access to the ROM of the integrated circuit and/or no jump or stop instruction.

6. The method of claim 1 , wherein the branching instructions of the second program select by random drawing an address from the jump table.

7. The method of claim 1 , using a buffer to store data to be processed by the random instructions.

8. An integrated circuit provided with at least one non-volatile memory and with one executable volatile memory, including means for implementing the method of claim 1 .

9. A method for blocking operation of an integrated circuit following an unauthorized access attempt, comprising:

generating a new blocking program of randomly chosen instructions in a random access memory of the integrated circuit in response to detection of an unauthorized access attempt to the integrated circuit, the blocking program including two or more instruction sequences, each including a jump to another instruction sequence; and

executing the blocking program.

10. A method as defined in claim 9 , wherein generating a blocking program includes generating a jump table in the random access memory.

11. A method as defined in claim 10 , wherein the jump table includes branch instructions, each including an instruction for branching to another memory address.

12. A method as defined in claim 10 , wherein the jump table includes jump addresses, each including an address value that forms a parameter of a branch instruction.

13. A method as defined in claim 9 , wherein generating the blocking program comprises:

generating in the random access memory a jump table containing jump addresses;

placing branch instructions at addresses preceding the jump addresses; and

filling intermediate addresses with randomly selected instructions.

14. A method as defined in claim 9 , wherein generating a blocking program further comprises using a data buffer in the random access memory to store data to be processed by the blocking program.

15. A method as defined in claim 13 , wherein generating a jump address table comprises randomly filling the jump address table upon each generation of the blocking program.

16. Apparatus for blocking operation of an integrated circuit following an unauthorized access attempt, comprising:

a non-volatile memory;

a random access memory; and

a processor coupled to the non-volatile memory and the random access memory, the processor including means for generating a new blocking program of randomly chosen instructions in the random access memory in response to detection of an unauthorized access attempt to the integrated circuit, the blocking program including two or more instruction sequences, each including a jump to another instruction sequence, and means for executing the blocking program.

17. Apparatus as defined in claim 16 , wherein the means for generating a blocking program comprises means for generating a jump address table.

18. Apparatus as defined in claim 16 , wherein the means for generating a blocking program comprises:

means for generating in the random access memory a jump table containing jump addresses;

means for placing branch instructions at addresses preceding the jump addresses; and

means for filling intermediate addresses with randomly selected instructions.

19. Apparatus as defined in claim 16 , wherein the random access memory includes a data buffer configured to store data to be processed by the blocking program.

20. Apparatus as defined in claim 16 , wherein the means for generating a blocking program includes means for generating a jump table containing branch instructions, each including an instruction for branching to another memory address.

21. Apparatus as defined in claim 16 , wherein the means for generating a blocking program comprises means for generating a jump table containing jump addresses, each including an address value that forms a parameter of a branch instruction.

Assignments (2)
CHANGE OF NAME Recorded Jan 21, 2024
From: STMICROELECTRONICS SA
To: STMICROELECTRONICS FRANCE
Reel/Frame 066357/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2002
From: LIARDET, PIERRE-YVAN
To: STMICROELECTRONICS, S.A.
Reel/Frame 013527/0151 →
Priority Claims (1)
FR 01 15361 · Nov 28, 2001 · national
Continuity (1)
Related Publication 20030101351A1 · May 29, 2003