IP Library Granted Patent US 7,434,070
Granted Patent B2
US 7,434,070 · App. 10/362,281 · Granted Oct 7, 2008

Secret code security access to data processing means

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,434,070
App. No.
10/362,281
Granted
Oct 7, 2008
Kind
B2
Abstract

Access control to data processing means, such as a smart card, is made secure by simulating a comparison block by block of part of a secret code with part of a presented code through a block-by-block comparison of part of the presented code and part of a determined number when the presented code is found to be erroneous. Each time the card is used, a constant number of operations are applied to the presented code and at least for part of the secret code, and at most for a complementary part to the determined number, thus avoiding different signatures of power consumption for different presented codes.

Claims (18)

1. A method of accessing data processing means associated with a secret code and accessible by means of a host terminal applying a presented code to said data processing means, said method comprising the steps wherein, each time the processing means are used, a constant number of predetermined operations are performed, said operations including comparisons block-by-block of the presented code and of the secret code so long as the compared blocks are identical, and comparisons block-by-block of a fraction of the presented code and of a fraction of a determined number whenever compared blocks of the presented code and of the secret code are different, until all of the blocks of the presented code have been compared, so as to obtain a succession of executed operations that is constant whether the presented code is correct, partially erroneous, or totally erroneous.

2. The method according to claim 1 , wherein the secret code and the determined number are written in spaces of a non-volatile memory of the processing means, which spaces correspond to addresses having numbers of bits at respective ones of the logic states “0” and “1” that are substantially identical, so that reading a block of secret code is similar to reading a block of the determined number as seen through an electrical power consumption measurement.

3. The method according to claim 1 , wherein the secret code and the determined number are written in adjacent spaces of a non-volatile memory of the processing means, so that reading a block of secret code is similar to reading a block of the determined number as seen through an electrical power consumption measurement.

4. The method according to claim 1 , further comprising the step of modifying the determined number each time that a presented code is applied to the processing means, prior to applying the predetermined operations.

5. The method according to claim 1 , wherein two data processing means associated with identical secret codes are associated with different determined numbers.

6. The method according to claim 1 , wherein the determined number is modified when the secret code associated with the processing means is modified.

7. The method according to claim 1 , further comprising the following steps:

transforming the secret code into a transformed secret code using a transformation function implemented in the processing means;

transforming the presented code into a transformed presented code using the transformation function; and

comparing block-by-block the transformed presented code and the transformed secret code.

8. A method for processing a code that is presented to gain access to a data processing means that is protected by a secret code, comprising the steps of:

comparing block-by-block the presented code and the secret code for i iterations, until the compared blocks do not match; and

thereafter comparing block-by-block of the presented code and a determined value for I-i iterations, such that the total number of iterations I is constant each time a code is presented to gain access to the data processing means.

9. The method of claim 8 further including the step of randomly generating said determined value each time a code is presented to gain access to the data processing means.

10. The method of claim 8 wherein said determined value has the same number of bits as the secret code.

11. The method of claim 8 , wherein the bits of said determined value are randomly generated.

12. The method of claim 1 wherein said determined number has the same number of bits as the secret code.

13. The method of claim 1 , wherein the bits of said determined number are randomly generated.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: THALES DIS FRANCE SA
To: THALES DIS FRANCE SAS
Reel/Frame 064770/0615 →
CHANGE OF NAME Recorded Aug 25, 2023
From: GEMALTO SA
To: THALES DIS FRANCE SA
Reel/Frame 064716/0346 →
MERGER Recorded Feb 12, 2009
From: GEMPLUS
To: GEMALTO SA
Reel/Frame 022248/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2003
From: MOITREL, PASCAL; PASCAL, JOHAN
To: GEMPLUS
Reel/Frame 013994/0383 →