System and procedure for protection against the analytical espionage of secret information

Abstract: The invention presented describes a system and procedure for protecting against the espionage of secret information. A counter is allocated to each secret piece of information, in particular codes. The counter counts the number of uses of the secret information. In this, the counter is set to a starting value. Each use of the secret data element increases the counter state by a defined value. If the counter state reaches a maximum value, the use of the secret data element will be blocked. The blocking of the secret information can, however, be avoided if a defined event occurs before the maximum value of the counter is reached which automatically resets the counter state to its starting value. Any technical, economic or organisational condition can be defined as an event. Particular advantages of the invention presented are that each code can have its own counter allocated to it. In this way, different numbers of uses can be established for each code with regard to its function. As a chip card can contain any number of codes for the most widely differing applications, the block is limited solely to the application affected. The use of the chip card is not therefore blocked as a whole. The events can be easily adapted to the widest range of security and user requirements of the respective application area.

Description: The invention presented describes a system and procedure for protecting against analytical espionage of secret information on electronic devices, in particular chip cards. Secret codes are stored on chip cards. These are used to protect access to functions and data which are relevant to security. In this, non-coded data is converted into coded data by means of a secret code. To encode and decode, one or two codes are needed. If the spy, for example, finds out the secret code of an encoding algorithm, then he will be able to decode the encoded and thus protected data, to find out the content of the data and to change it if required. There are many procedures to find out the codes on a chip card. One of these procedures involves finding out the codes using monitoring techniques specially developed for this. In this, as many encoding operations as possible are initiated in order to be able to find out the codes from the monitored information. In doing so, the analysis of the secret data is carried out using measurements, for example, of the current supply to the chip card. These measurements are, however, superimposed with noise. This requires the continually repeated use of the code, in order to be able to filter out the superimposed noise. Safety precautions against this type of monitoring measure basically consist of the codes having to be protected against monitoring. To do this, these are the following procedures using the current state of the art: Protection using fault counters The chip card contains a fault counter. The fault counter starts to count if the chip card establishes a faulty use of the code, e.g. a mis-hit authentication using the wrong code. When the fault counter reaches a certain limit, further use of the code or the chip card is blocked. One disadvantage of this procedure is that only faulty use is counted. Fault-free use is not counted. Therefore, this procedure cannot protect from attacks which find out the codes through fault-free use of modern monitoring techniques. This particularly affects the espionage of secret information by authorised users. The German patent DE 19506921 describes such a procedure for a mobile data carrier, in particular a chip card. The mobile data carrier communicates with a data input and output device. The secret data which is entered into the data input and output device is compared to the secret data stored on the chip card. If the comparison detects a fault, then the counter counts upwards. After a certain number of faulty attempts, any continued use will be blocked automatically. Protection using use counters This protection mechanism consists of limiting the number of uses of a code through a use counter. In this, valid uses are also counted. One disadvantage of this design is that in the case of too small a number of permitted uses being set, the card can also be blocked for authorised use, and in the case of too large a number of uses being set, the card and/or the code can be spied using analytical methods. The Japanese patent 10069435 describes one such mechanism which counts, by means of a counter, the operations executed after activation of the card and which blocks the card on the maximum value being exceeded. It is therefore the task of the invention presented to put forward a procedure and system for protection against espionage of secret information which avoid the disadvantages of the above stated procedures. This task is solved by the characteristics in claims 1 and 14. The preferred design forms of the invention presented can be found in the subclaims. The advantages of the invention presented are that by the auto-matic resetting of the counter to its starting point on the entry of a defined event, an additional re-initialization through offices authorised for this becomes unnecessary. As each code can have its own allocated counter, different numbers of uses can be established for each code with regard to its function. As a chip card can contain any number of codes for the most widely varied applications, the block is only limited to the affected application. The use of the chip card is therefore not blocked as a whole. The events allow different security and user requirements simply to be tailored to the respective application area. The invention presented will be described in greater detail using a preferred design example in connection with drawings, which show the following: Fig. 1 a state chart of the invention presented Fig. 2 a table with possible combinations between events and codes according to the invention presented. Fig. 1 describes, in the form of a state chart, the invention presented using a counter for counting the uses of a protected data element or secret information, particularly a code. The starting position (A) of the counter has a defined starting value (A). This value is increased by a certain value (state B of the counter) on each occurrence of a defined event (a), for example the use of a code. If the counter value exceeds a certain defined maximum value (end state C of the counter) through the entry of a certain event (b), then access to the code is blocked. The function protected by the code can no longer be executed. For each code there exists a defined event (c) which resets the counter to the starting state (A) at the defined starting value. If this event (e) occurs, then as long as the end state (C) has not yet been reached, the counter will be reset automatically to the starting state. A possible additional design variant can be that after access is blocked, the event (d) resets the counter to its starting value and releases access to the code. The event can be selected independent of the number of uses of the code. In this way the event can, for example, be a successful authentication using another code. The event can therefore be triggered by any definable condition which can be checked and stored internally in the card. An event can also consist of several part events which exist in a AND or OR or NOT logic. In this way, for each code a certain event or a certain number of events can be defined which fulfill the specific security and user requirements of a special chip card. The same event can also be allocated to several codes with different effects. The possibilities which exist here can be seen in the drawing following Fig. 2. Using a table, Fig. 2 describes a selection of possible design examples for the invention presented. Using events E1, E2, E3, E4 and En, and codes S1, S2, S3 and Sn, the most common possible combinations of events and codes or their allocated counters are shown and explained. The events E1, E2, E3, E4 and En are allocated to the codes S1, S2, S3 and Sn in an established manner. An event can be any clearly definable condition which can refer, for example, to the number of uses of a code. The event can, however, also refer to any other selected technical or other condition. In any case, the entry of an event triggers a change of state in a counter. The change in state of the counter can result in the code being blocked. Event E1, for example, is allocated to codes S1 and S3 in such a way that on the entry of event E1, the counters of the codes respectively count up by a defined value. Event E2 is allocated to codes S1 and S3 in such a way that the counters allocated to these codes are reset to a starting value on the entry of event E2. Events E3 and E4, for example, are allocated to code S2 in an OR logic where when both events occur, the counter for code S2 is counted up by a certain value. In addition, event E3 is allocated to codes S3 and Sn respectively in such a way that on the entry of the event E3, the counter of code S3 is reset to its starting value and the counter of code Sn is counted up by a certain value. Event E4 is allocated to code Sn in such a way that when this event occurs, the counter of the code is reset to its starting value even if the result En has occurred. Finally, the event En is allocated to both codes S2 and Sn in such a way that on the event En occurring, the counter of code S2 is reset to its starting value. Particular areas of application for the invention presented include patient chip cards, chip card stocks and access control chip cards. These cards must be protected in particular against the authorised user using them for the espionage of secret information. In the case of electronic stock cards, there is the danger that the authorised user frequently initializes the use of the code through small deductions, for example of 1 penny, in such a way that the code can be established using analytical monitoring procedures. This should be avoided with the invention by each deduction increasing the counter state by a certain value and on reaching a maximum value the card is blocked if previously no event occurs to reset the counter to its starting value. This event can, for example, be a test procedure by the bank which, for example, on loading the electronic stock compares the deduction record of the card holder with statistical values experienced by the bank. Another area is access control in buildings. Even here there is a risk that through frequent passing of an access check using an access chip card, the codes can be worked out using analytical methods. Even for this, a certain control facility is offered by a counter with a defined maximum value. Resetting the counter can, for example, be carried out by an authorised office, such as security guards at the gates. The resetting of the counter can be linked to an event which corresponds to the behaviour of the card holder to a certain average taken from experience. The invention presented can be applied, in particular, to chip cards. In addition, the invention can also be used in any electronic device which contains secret information or secret functions. Of note are car and door keys with security modules or clocks with security modules.

Claims: Procedure for protecting against analytical espionage of secret information, characterised by the following steps: a) allocation of a counter to the secret information (S1-Sn) to establish the number of uses of the secret information b) setting the counter to a starting value (A) c) increasing the starting value (B) of the counter by a defined value on each use (a) of the secret information (S1-Sn) independently of the validy of such use, d) resetting the counter value (B) to the starting value (A) when a defined event occurs (E2, E3, E4, En) e) blocking the use (b) of the secret information on reaching the defined maximum value ( C). Procedure according to claim 1, characterised by the following further step: f) unblocking the use of the secret information on the presentation of a defined event (d) and resetting the counter value to the starting value (A). Procedure according to claims 1 or 2, characterised by the starting value under step d) being a new starting value. Procedure according to claims 1 to 3, characterised by step c) being repeated until either the defined event under step d) occurs or the defined maximum value under step e) is reached. Procedure according to claims 1 to 4, characterised by several secret pieces of information being allocated to a counter. Procedure according to claims 1 to 5, characterised by an event (E1-En) being able to be any technical, economic or organisational condition, which can be accessed by the presence of a YES/NO decision. Procedure according to claims 1 to 6, characterised by an event consisting of one or more part events which are combined with one another using an AND or OR function. Procedure according to claims 1 to 7, characterised by the same event being allocated to different counters. Procedure according to claim 8, characterised by the occurrence of an event in different counters causing an increase in the counter value. Procedure according to claim 8, characterised by the occurrence of an event leading to an increase in the counter value in one counter and to the resetting of the counter value to the starting value in another counter. Procedure according to claims 1 to 10, characterised by the secret information being a code for encoding data. Procedure according to claims 1 to 11, characterised by the secret information being a secret function for executing safety-relevant operations on the chip card. Procedure according to claims 1 to 12, characterised by the code being stored in a chip card. Electronic device for storing and processing secret information comprising: means for allocation of a counter to the secret information (S1-Sn) to establish the number of uses of the secret information, means for setting the counter to a starting value (A), means for increasing the starting value(B) of the counter by a defined value of each use(a) of the secret information (S1-Sn), means for resetting the counter value (B) to the starting value (A) when a defined event occurs (E2, E3, E4, En), and means for blocking the use (b) of the secret information on reaching the defined maximum value (C). Device according to claim 14, characterised by the electronic device being a chip card or security module. Data carrier containing a program for executing the procedure according to claims 1 to 11.

Inventors: SCHAAL ALBERT, SCHERZER HELMUT, SCHILLING MICHAEL, SCHAAL, ALBERT, SCHERZER, HELMUT, SCHILLING, MICHAEL
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1999
Main classification: G07F7
IPC codes: G06F21, G06K19, G07F7, G06F12, G06F11