IP Library Granted Patent US 10,242,183
Granted Patent B2
US 10,242,183 · App. 14/965,203 · Granted Mar 26, 2019

Method of executing a program by a processor and electronic entity comprising such a processor

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 10,242,183
App. No.
14/965,203
Granted
Mar 26, 2019
Kind
B2
Abstract

A method of executing a program by a processor, and an electronic entity including such a processor, the method includes the following steps: a calling program calling a subprogram and passing at least one parameter; the subprogram determining a return status indicator; the subprogram determining a return word by using a predetermined function to combine at least the return status indicator and the parameter; returning to the calling program with the determined return word as a result; and the calling program comparing the return word and a determined word determined by using the predetermined function to combine at least one possible value of the return status indicator and the parameter passed when calling the subprogram.

Claims (33)

1. A method of executing a program by a processor, the method comprising the following steps:

during execution of a calling program, calling a subprogram and passing at least one parameter such that said subprogram receives said at least one parameter;

the subprogram determining a return status indicator;

the subprogram determining a return word by using a predetermined function to combine at least the return status indicator and the received at least one parameter;

executing a return instruction of the subprogram, thereby returning to the calling program with the determined return word as a result;

executing the calling program to determine a comparison word by using the predetermined function to combine at least a possible value of the return status indicator and the at least one parameter passed when calling the subprogram; and

executing the calling program to compare the return word and the comparison word,

wherein said possible value is indicative of normal operation, and

wherein a difference is detected between the return word and the comparison word during the step of executing the calling program to compare the return word and the comparison word, and based on the detected difference, an attack processing step is performed.

2. The method according to claim 1 , wherein the attack processing comprises a step of writing blocking data in a rewritable non-volatile memory associated with the processor.

3. The method according to claim 1 , wherein the parameter is an address for storing data used by the subprogram.

4. The method according to claim 1 , wherein, as a result of executing instructions of the subprogram, the processor performs data processing using the parameter.

5. The method according to claim 4 , wherein the processing of said data comprises applying an encryption algorithm to said data.

6. A method of executing a program by a processor, the method comprising the following steps:

during execution of a calling program, calling a subprogram and passing at least one parameter such that said subprogram receives said at least one parameter;

the subprogram determining a return status indicator;

the subprogram determining a return word by using a predetermined function to combine at least the return status indicator and the received at least one parameter;

executing a return instruction of the subprogram, thereby returning to the calling program with the determined return word as a result;

executing the calling program to determine a comparison word by using the predetermined function to combine at least a possible value of the return status indicator and the at least one parameter passed when calling the subprogram; and

executing the calling program to compare the return word and the comparison word,

wherein said possible value is indicative of an operation error, and

wherein the return word and the comparison word are determined to be equal in the step of executing the calling program to compare the return word and the comparison word, and based on the return word and comparison word being determined to be equal, an error processing step is performed.

7. The method according to claim 6 , wherein the parameter is an address for storing data used by the subprogram.

8. A method of executing a program by a processor, the method comprising the following steps:

during execution of a calling program, calling a subprogram and passing at least one parameter such that said subprogram receives said at least one parameter;

the subprogram determining a return status indicator;

the subprogram determining a return word by using a predetermined function to combine at least the return status indicator and the received at least one parameter;

executing a return instruction of the subprogram, thereby returning to the calling program with the determined return word as a result;

executing the calling program to determine a comparison word by using the predetermined function to combine at least a possible value of the return status indicator and the at least one parameter passed when calling the subprogram; and

executing the calling program to compare the return word and the comparison word,

wherein, as a result of executing instructions of the subprogram, the processor performs data processing using the parameter, and

wherein the processing of said data comprises applying an encryption algorithm to said data.

9. The method according to claim 8 , wherein the parameter is an address for storing data used by the subprogram.

Assignments (3)
CHANGE OF NAME Recorded Jun 4, 2024
From: OBERTHUR TECHNOLOGIES
To: IDEMIA FRANCE
Reel/Frame 067609/0169 →
CHANGE OF NAME Recorded Jun 8, 2018
From: OBERTHUR TECHNOLOGIES
To: IDEMIA FRANCE
Reel/Frame 046328/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2015
From: CHAMLEY, OLIVIER; GIRAUD, CHRISTOPHE
To: OBERTHUR TECHNOLOGIES
Reel/Frame 037375/0659 →