Secret code security access to data processing means
AssigneeGemplus
InventorsPascal Moitrel, Johan Pascal
Life of this patent
Estimating the term…
Abstract
The invention constitutes an improvement of access control security to data processing means, such as a smart card (MNV, MA), by simulating a comparison (E7) block by block (Si, Pi) of part of a secret code (S) with part of the presented code (P) through a block-by-block comparison (Pi, Aj) of part of the presented code and part of a number (A) 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 (P) and at least for part of the secret code (S) and at most for a complementary part relative to the number of operations, to the number (A), thus avoiding different signatures of power consumption for different presented codes.
Claims7
1/ a method of accessing data processing means (CA) associated with a secret code (S) and accessible by means of a host terminal (TE) applying a presented code (P) to it, said method being characterized in that, each time the processing means (CA) are used, it comprises a constant number of predetermined operations (E5-E16) including comparisons ((E7-E10) block-by-block (Pi, Pi) of the presented code (P) and of the secret code (S) so long as the compared blocks are identical (Res=0) , and comparisons (E7-E15) block-by-block (Pi, Ai) of a fraction of the presented code and of a fraction of the determined number (A) whenever compared blocks of the presented code and of the secret code are different (Res=1) until all of the blocks (P1−PI) of the presented code have been compared, so as to obtain a succession of executed operations that is constant whether the presented code (P) is correct, partially erroneous, or totally erroneous:
2/ A method according to claim 1, characterized in that the secret code (S) and the determined number (A) are written in spaces of the non-volatile memory (MNV) of the processing means (CA), 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 (Si) is similar to reading a block of the determined number (Ai) as seen through an electrical power consumption measurement.
3/ A method according to claim 1, characterized in that the secret code (S) and the determined number (A) are written in adjacent spaces of the non-volatile memory (MNV) of the processing means (CA), so that reading a block of secret code (Si) is similar to reading a block of the determined number (Ai) as seen through an electrical power consumption measurement.
4/ A method according to any one of claims 1 to 3, characterized in that it further comprises a modification (E2a) in the determined number (A) each time that a presented code (P) is applied to the processing means (CA), prior to applying the predetermined operations (E5-E16).
5/ A method according to any one of claims 1 to 4, characterized in that two data processing means (CA) associated with identical secret codes (S) are associated with different determined numbers (A).
6/ A method according to any one of claims 1 to 5, characterized in that the determined number (A) is modified when the secret code (S) associated with the processing means (CA) is modified.
7/ A method according to any one of claims 1 to 6, characterized in that it further comprises the following steps:
- prior transformation (E1a) of the secret code (S) into a transformed secret code (ST) using a transformation function (FT) implemented in the processing means;
- transformation (E4a) of the presented code (P) into a transformed presented code (PT) using the transformation function (FT);
- and
- comparisons block-by-block (PTi, STi) of the transformed presented code (PT) and of the transformed secret code (ST)