# US 8,788,847 B2 · Secure data processing method and associated device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,847 B2
- Document ID: US8788847B2
- Status: Granted
- Kind: B2
- Application number: 11/578,670
- Filed: 2005-04-14
- Published: 2009-10-08
- Granted: 2014-07-22
- Earliest claimed: 2004-04-21
- Assignees: Oberthur Technologies
- Applicants: Hugues Thiebeauld De La Crouee; Christophe Giraud
- Inventors: Hugues Thiebeauld De La Crouee; Christophe Giraud
- Web page: https://patentgrep.com/patent/US8788847B2

## CPC

- G06F 21/51: at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 21/755: {with measures against power attack}
- G06F 21/77: in smart cards
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A secure data processing method includes the following steps: padding (E206) a memory area (MAC′) with a pad value (A); writing (E208) a first datum in the memory area (MAC′); in the area, reading (E210) a second datum with at least one part of the first datum as it was written in the memory area (MAC′); and executing an operation (E210) using the second datum.

## Claims

### Claim 1

A secure data processing method that is executed by a microcircuit card and a host external to the microcircuit card, comprising:
in the microcircuit card, filling an area of a volatile memory with a filling value;
in the microcircuit card, reading a first data item from a non-volatile memory;
in the microcircuit card, transmitting the first data item to a host device;
in the microcircuit card, writing the first data item into said area of the volatile memory to replace said filling value;
in the microcircuit card, reading from said area of the volatile memory a second data item that repeats at least a portion of the first data item as written in said area;
in the microcircuit card, executing an operation using the second data item to produce a second data item;
in the host, executing an operation using the
first data item received from the microcircuit card to produce a third data item;
in the microcircuit card, receiving the third data item from the host device; and
in the microcircuit card, comparing the second data item to the third data item; and
in the microcircuit card, executing a protected operation if and only if the comparing step determines a positive match between the second data item and the third data item.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the filling value is a random value.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the first data item is independent of the random value.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the execution of the operation is independent of a random value.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising:
a step of calculating the first data item.

### Claim 6 (depends on 5)

The method according to claim 5, wherein said memory area is unchanged up to the step of calculating the first data item.

### Claim 7 (depends on 5)

The method according to claim 5, wherein the calculating the first data item comprises a step of applying a secret key cryptographic algorithm.

### Claim 8

A method of securing a protected operation of a first device, said first device being a microcircuit device and configured for communication with a second device external to the first device, comprising:
in the first device, transmitting a data item to the second device;
in the first device, filling an area of volatile memory with a filling value;
in the first device, reading a first data item from a non-volatile memory;
in the first device, writing into said area of the volatile memory the first data item, thus replacing said filling value and conditioning a future execution of the protected operation;
in the first device, reading from said area of the volatile memory a second data item that repeats at least a portion of the first data item as written in said area;
in the first device, executing an operation using the second data item to produce a second data item;
in the second device, executing an operation using
the first data item received from the first device to produce a third data item;
in the first device, receiving the third data item from the second device; and
in the first device, comparing the second data item to the third data item; and
in the first device, executing a protected operation
if and only if the comparing step determines a positive
match between the second data item and the third data item.

### Claim 9 (depends on 8)

The method according to claim 8, further comprising:
calculating said first data item by means of a cryptographic algorithm.

### Claim 10 (depends on 8)

The method according to claim 8, further comprising:
reading said first data item from an information medium.

### Claim 11

A secure data processing device, comprising:
a microprocessor programmed to perform, via implementation in a microcircuit card each of the steps of:
filling an area of volatile memory with a filling value;
reading a first data item from a non-volatile memory;
transmitting the first data item to a host device;
writing the first data item into said area such to replace said filling value in said area;
reading in said area a second data item comprising at least a portion of the first data item as written in said area;
receiving a third data item from the host device, said third data item being the result of an operation performed on the first data item that was received from the microcircuit card;
comparing the second data item to the third data item; and
executing an operation using the second data item if and only if the comparing step determines a positive match between the second data item and the third data item.

### Claim 12 (depends on 11)

The device according to claim 11, wherein the filling value is a random value.

### Claim 13

A protected operation execution securing device, comprising:
a microprocessor programmed to perform, via implementation in a microcircuit card each of the steps of:
filling an area of volatile memory with a filling value;
reading a first data item from a non-volatile memory;
transmitting the first data item to a host device;
writing in said area the first data item, thereby replacing said filling value in said area for conditioning a future execution of the protected operation;
reading in said area a second data item comprising at least a portion of the first data item as written in said area;
receiving a third data item from the host device, said third data item being the result of an operation performed on the first data item received by the host device from the microcircuit card;
comparing the second data item to the third data item.

### Claim 14 (depends on 1)

A non-transitory computer readable storage medium with a computer program stored thereon, comprising instructions adapted to execute the method according to claim 1 upon said instructions being executed by a microprocessor of the microcircuit card.

### Claim 15 (depends on 1)

The method according to claim 1, wherein said area of the volatile memory is unchanged up to the step of reading the first data item from the non-volatile memory.
