搜尋 圖片 地圖 Play YouTube 新聞 Gmail 雲端硬碟 更多 »
進階專利搜尋 | 網頁紀錄 | 登入

專利

公開號US5594227 A
出版類型授權
申請書編號08/412,295
發佈日期1997年1月14日
申請日期1995年3月28日
優先權日期
1995年3月28日
發明人
原專利權人
美國專利分類號
國際專利分類號
合作分類
歐洲分類號
G06Q 20/341
G07F 7/10P
G06Q 20/35765
G07F 7/10P10
G07F 7/10D
參考文獻
外部連結
System and method for protecting unauthorized access to data contents
US 5594227 A
摘要

A smart card protection system is provided for protecting against unauthorized access of data contents on a smart card through human or electronic-machine tampering. The smart card protection system includes a smart card having an authorized password stored thereon for associated data and a smart card terminal to supply an entered password for accessing the data on the smart card. The smart card includes a comparator to compare the entered password to the stored password, and two counters: a fail counter and a delay counter. The fail counter keeps a fail count indicative of the number of times that the entered password fails to match the stored password. The fail counter is incremented when the entered password fails to match the stored password and decremented when the entered password successfully matches the stored password. The delay counter maintains a delay count that is incremented each time the comparator compares the entered password to the stored password regardless of a match. In the event that the fail count is not equal to its starting value of zero, the smart card denies access to the data contents. Access is denied even though a match might occur after initial misses because the fail count is not zero. Further, when access is denied, a delay period is imposed before comparing the next entered password received from the smart card terminal. The delay period increases each time based upon a function of the delay count.

聲明
I claim:

1. An integrated circuit (IC) card protection device for protecting against unauthorized access of data contents on an IC card, the IC card protection device comprising:

a memory to store a password;

a data input to receive an entered password;

a comparator to compare the entered password to the stored password;

a fail counter, operatively coupled to the comparator, to keep a fail count that is incremented away from a reference value when the entered password fails to match the stored password and decremented back toward the reference value when the entered password successfully matches the stored password;

a delay generator to produce a delay period when the entered password fails to match the stored password;

the IC card denying access to the data contents when the fail counter is not equal to the reference value and delaying for a delay period before undertaking comparison of the next entered password; and

the IC card permitting access to the data contents when the fail counter is at the reference value and the entered and stored passwords match.

2. An integrated circuit (IC) card protection device as recited in claim 1 wherein the stored password has P bits and the fail counter has F bits, the delay period T produced by the delay generator being given as follows:

T=2.sup.(P-1) 

where D is a constant delay interval.

3. An integrated circuit (IC) card protection device as recited in claim 4 further comprising a delay counter which maintains a delay count that is incremented when the entered password fails to match the stored password, the delay period produced by the delay generator being based a function of the delay count.

4. An integrated circuit (IC) card protection device as recited in claim 3 wherein the delay period (T) relates to the delay count (DelayCount) according to the following function:

T=2.sup.DelayCount.

5. An integrated circuit (IC) card protection device as recited in claim 4 further comprising a delay counter which maintains a delay count that is incremented each time a comparison is made regardless of whether the entered password and the stored password successfully match or fail to match, the delay period produced by the delay generator monotonically increasing according to a function of the delay count.

6. An integrated circuit (IC) card protection device as recited in claim 5 wherein the delay period (T) is doubled with each increment of the delay count (DelayCount) according to the following function:

T=2.sup.DelayCount.

7. An integrated circuit (IC) card protection device as recited in claim 4 wherein the IC card increments the fail count kept in the fail counter before delaying for the delay period and decrements the fail count after delaying for the delay period.

8. An integrated circuit (IC) card protection system for protecting against unauthorized access of data contents on IC card through human or electronic-machine tampering, the IC card protection system comprising:

an IC card;

an IC card terminal to supply an entered password for accessing the IC card;

the IC card comprising:

a memory to store a password;

a data input to receive the entered password from the IC card terminal;

a comparator to compare the entered password to the stored password;

a fail counter, operatively coupled to the comparator, to keep a fail count indicative of a number of times that the entered password fails to match the stored password, the fail counter being incremented away from a reference value when the entered password fails to match the stored password and decremented back toward the reference value when the entered password successfully matches the stored password;

a delay counter, operatively coupled to the comparator, to maintain a delay count indicative of a number of times that the entered password is compared to the stored password, the delay counter being incremented each time the comparator compares the entered password to the stored password; and

in the event that the fail count kept in the fail counter does not equal the reference value, the IC card denying access to the data contents and delaying for a delay period that is a function of the delay count before comparing a next entered password received from the IC card terminal.

9. An integrated circuit (IC) card protection system as recited in claim 8 wherein the IC card permits access when the fail count kept by the fail counter is equal to the reference value and the entered and stored passwords match.

10. An integrated circuit (IC) card protection system as recited in claim 8 wherein the IC card outputs to the IC card terminal a FAIL message when access is denied.

11. An integrated circuit (IC) card protection system as recited in claim 8 wherein:

the IC card permits access when the fail count kept by the fail counter is equal to the reference value and the entered and stored passwords match; and

the IC card outputs to the IC card terminal a FAIL message when access is denied and a SUCCESS message when access is permitted.

12. An integrated circuit (IC) card protection system as recited in claim 8 wherein the delay period (T) relates to the delay count (DelayCount) according to the following function:

T=2.sup.DelayCount.

13. An integrated circuit (IC) card protection system as recited in claim 8 wherein the IC card increments the fail counter before delaying for the delay period and decrements the fail counter after delaying for the delay period.

14. A method for protecting against unauthorized access of data contents on an integrated circuit (IC) card, the method comprising the following steps:

(a) storing an authorized password on the IC card;

(b) initializing a fail count to a reference value;

(c) receiving an entered password;

(d) comparing the entered password to the authorized password;

(e) in the event that the entered password fails to match the authorized password, denying access to the data contents on the IC card and incrementing the fail count;

(f) in the event that the entered password successfully matches the authorized password but the fail count does not equal the reference value, denying access to the data contents on the IC card and decrementing the fail count; and

(g) delaying for a delay period when access to the data contents is denied before undertaking one of steps (c) or (d) for a next entered password.

15. A method as recited in claim 14 further comprising the step of permitting access to the data contents on the IC card in the event that the entered password successfully matches the authorized password and the fail count is equal to the reference value.

16. A method as recited in claim 14 further comprising the step of increasing the delay period after each comparison of the entered password and the authorized password.

17. A method as recited in claim 14 further comprising the step of doubling the delay period after each comparison of the entered password and the authorized password.

18. A method as recited in claim 14 wherein the incrementing of the fail count in step (e) occurs before the delaying step (g) and the decrementing of the delay count in step (f) occurs after the delaying step (g).

19. A method as recited in claim 14 further comprising the step of returning a FAIL message when access is denied.

20. In a data protection system the compares an entered password to an authorized password for purposes of permitting or denying access to data content, a protection component comprises:

a fail counter to keep a fail count indicative of a number of times that the entered password fails to match the authorized password, the fail counter being initialized to a reference value;

a delay counter to maintain a delay count indicative of a number of times that the entered password is compared to the authorized password;

in the event that the entered password fails to match the authorized password, the fail counter incrementing the fail count away from the reference value and the delay counter incrementing the delay count;

in the event that the entered password successfully matches the authorized password, the fail counter decrementing the fail count back toward the reference value and the delay counter incrementing the delay count; and

whereby access to the data content is denied when the fail count kept in the fail counter does not equal the reference value and a delay period that is a function of the delay count is imposed before a subsequent comparison of the entered and authorized passwords is undertaken.

21. A protection component as recited in claim 20 wherein access to the data content is permitted when the fail count kept in the fail counter is equal to the reference value and the entered and authorized passwords match.

22. A protection component as recited in claim 20 wherein the delay period (T) relates to the delay count (DelayCount) according to the following function:

T=2.sup.DelayCount.

23. A protection component as recited in claim 20 wherein the fail counter is incremented before any delay period is imposed and is decremented after any delay period is imposed.

24. In a system that compares an entered password to an authorized password for purposes of permitting or denying access to data content, a method for protecting against unauthorized access to data contents comprising the following steps:

(a) initializing the fail count to a reference value;

(b) receiving an entered password;

(c) comparing the entered password to an authorized password;

(d) in the event that the entered password fails to match the authorized password, (1) denying access to the data contents, (2) incrementing a fail count, (3) delaying for a delay period that is a function of a delay count before undertaking one of steps (b) or (c) for a next entered password, and (4) incrementing the delay count;

(e) in the event that the entered password successfully matches the authorized password and the fail count does not equal the reference value, (1) denying access to the data contents, (2) decrementing the fail count, (3) delaying for the delay period before undertaking one of steps (b) or (c) for a next entered password, and (4) incrementing the delay count; and

(f) in the event that the entered password successfully matches the authorized password and the fail count is equal to the reference value, permitting access to the data contents.

25. A method as recited in claim 24 wherein the delay period is increased when the delay count is incremented.

26. A method as recited in claim 24 further comprising the step of delaying for a delay period (T) that relates to the delay count (DelayCount) according to the following function:

T=2.sup.DelayCount.

27. A method as recited in claim 26 further comprising the step of resetting the delay count when access to the card is permitted following a match between the entered password and the authorized password.

28. A method as recited in claim 26 wherein the incrementing of the fail count occurs before the delaying for the delay period and the decrementing of the delay count occurs after the delaying for the delay period.

說明
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

This invention concerns data protection techniques used in systems that perform password verification for purposes of permitting or denying access to data content. The invention is described in the preferred context of smart cards, although aspects of this invention may be used in other applications.

FIG. 1 shows an IC (integrated circuit) card or smart card 10. It is the size of a credit card and has a built-in microcontroller (MCU) 12 which enables the card to modify, or even create, data in response to external stimuli. Microcontroller 12 is a single wafer integrated circuit (IC) which is mounted on an otherwise plastic credit card. Conductive contacts 14 are also formed on the IC to enable interfacing to external read/write equipment. A smart card is physically constructed in accordance with the international standard ISO-7816 which governs size and bendable limits of the plastic card, as well as size and location of the silicon integrated circuit.

FIG. 2 shows the smart card microcontroller IC 12 is more detail. It includes a CPU 20, a volatile rewritable RAM (Random Access Memory) 22, a ROM (Read Only Memory) 24, and an EEPROM (Electrically Erasable Programmable ROM) 26. The set of conductive contacts 14 are internally coupled to CPU 20 to supply data and control information that are received from the external accessing equipment. As an example, clock, reset, power, data I/O, and ground can be provided at IC contacts 14. One suitable microcontroller-based single-wafer IC that can be used in smart cards is available from Motorola Corporation under model number MC68HC05SC21. In this chip, the data I/O is serial.

Smart cards can be concurrently used in many different applications and environments. For instance, smart cards can be used to store financial data for banking purposes, maintain medical information for use by health care providers, or organize account information for routinely paid services such as cable TV. The smart card operating system stores a variable length password with each type of data that is to be protected. For instance, one password might be used to access financial data, while another password might be used to access health care information. The passwords and their lengths are determined by the software which creates and owns the data item on the smart card. The financial data placed on the user's smart card by the bank's software will be accompanied by an authorized password known by the bank's software. This allows the bank to access the financial data at a later time by entering the authorized password. Additionally, the password associated with the data can be changed periodically by the bank or other institution to further assist in reducing fraud.

By associating the password with each data type, other information providers cannot gain access to other data on the card. For example, the bank is precluded from accessing health care data which is privileged and confidential between the cardholder and his/her health care provider.

This invention concerns a smart card protection system for protecting against unauthorized access of data contents on a smart card through use of human or electronic-machine intervention. For purposes of continuing discussion, aspects of this invention will be described in the context of employing smart cards to store financial data.

FIG. 3 shows a smart card protection system 30 in the context of an ATM banking system. Smart card protection system 30 includes smart card 10 and a smart card terminal 32, which is embodied as an ATM. When the cardholder wishes to make a financial transaction, the cardholder inserts smart card 10 into a card reading slot 34 of the ATM. The user may or may not need to enter a PIN on keypad 36. It is assumed that the ATM can verify the owner is some trustworthy manner. After user verification, the ATM supplies a password which is unique to the user in an effort to access the financial data on the smart card. In other environments where such high security is not required, the passwords supplied to the smart card could be unique to the service provider instead of each user (e.g., keeping track of frequent flyer mileage on a particular airline). The smart card analyzes the entered password and if it matches the password stored on the smart card, permits access to the data. Terminal 32 also includes a display 38 for use in instructing and informing the cardholder during this process. ATM 32 is conventional and thus is not described in detail.

FIG. 4 shows CPU 20 of smart card 10 constructed according to this invention. The smart card CPU 20 has an internal memory 40 which stores the authorized password that is associated with a particular data. The entered password received from the ATM is received at the data input serial I/O 14 (FIG. 2) and transferred to CPU 20. CPU 20 includes a comparator 42 which compares the entered password supplied by the bank software to the authorized password stored on the card. If the entered and stored passwords match, the comparator 42 outputs a hit or "match" signal. If no match occurs, the comparator returns a miss or "no match" signal. Two signals are illustrated in FIG. 3 to assist in describing the operation of the password verification scheme of this invention. It is noted, however, that only one binary signal can be output, whereby a first binary value, such as a "1", means a match has occurred and a second binary value, such as a "0", means a match did not occur.

In the preferred embodiment, CPU 40 has two counters operatively coupled to the comparator to receive the match and non-match signals: a fail counter 44 and a delay counter 46. Fail counter 44 keeps a fail count indicative of the number of times that the entered password fails to match the authorized password. Fail counter 44 is preferably an up/down counter which is initialized to a reference value, such as 0. When the comparator returns a "no match", the fail counter increments the fail count away from the zero reference value. Conversely, when the comparator returns a "match", the fail counter decrements the fail count back toward the zero reference value.

Delay counter 46 maintains a delay count indicative of the number of times that the entered password is compared to the authorized password until access is permitted. Delay counter 46 is preferably an up counter which is initialized to a starting value, such as 0. When the comparator makes a comparison and returns a "match" or "no match", the delay counter increments the delay count.

According to this invention, access to the data contents on the smart card is denied when the fail count kept by the fail counter 44 does not equal its references value (i.e., 0). Rather, access is only permitted when the fail count equals the reference value and the entered password matches the stored authorized password.

When access is denied, the smart card imposes a delay period before undertaking a subsequent comparison of the entered and authorized passwords. CPU 20 includes a delay generator 48 which produces a delay period any time access is denied (as indicated by the "≠0" signal from fail counter 44). The delay period preferably monotonically increases according to a function of the delay count received from delay counter 46. More preferably, the delay period (T) produced by the delay generator doubles for each increment of the delay count (DelayCount) according to the following function:

T=2.sup.DelayCount.

The delay period is preferably measured in seconds, so that early mistakes do not penalize an authorized user. However, the delay becomes burdensome as more improper entries are made. The delay counter 46 is reset only after access to the card is permitted (as indicated by the "=0" signal from fail counter 44).

A message generator 50 is provided to return either a SUCCESS message when access to the data contents is permitted or a FAIL message when access is denied. The message is sent back to the ATM 32 and displayed on screen 38 (FIG. 3). The FAIL or SUCCESS message is given only after the delay period elapses. This forces the user/machine to wait the full delay time before they know the outcome of the entered password. Additionally, this ensures that timely terminating power to the smart card in an effort to bypass the delay period will not work.

It is noted that the components described above with reference to FIG. 4 are formed in the operating system of the smart card in the preferred implementation.

The smart card protection system of this invention is effective against both human tampering, where an individual attempts to manually input a number of "guess" passwords, and electronic-machine tampering, where a smart card reader is programmed to electronically input "guess" passwords in a systematic manner. The fail counter and delay counter provide a simple protection device which confuses unauthorized humans or machines as to what is the proper password is, while still permitting access to authorized users even if they repeatedly input the wrong password by mistake. Consider the following three examples.

EXAMPLE ONE

The first example concerns an authorized user who properly enters the correct password on the first attempt (or a bank's software which properly submits the correct password on the first try). The comparator 42 compares the entered password to the authorized password and returns a "match". At this point, the fail counter 14 has a fail count equal to zero (its reference value). Thus, access is permitted and a SUCCESS message is returned to the ATM and the cardholder is allowed to enter his/her desired transaction.

EXAMPLE TWO

A second example involves an authorized user who mistakenly enters the wrong password three straight times. For the first improper entry, the comparator returns a "no match" and the fail count and the delay count is incremented to one. A small delay period of 2.sup.1 or 2 seconds is produced by delay generator 48 and imposed on the system. It is noted that the delay can be conducted before the delay count is incremented, in which case the first delay period will be 2.sup.0 or 1 second. A FAIL message is returned to the ATM screen to inform the user. Following the delay period, the user enters the second incorrect password. Again, this causes an increment in both the fail count and delay count to two. A slightly greater delay period of 2.sup.2 or 4 seconds is then imposed on the system before accepting and comparing the next password. The third incorrect entry increments both counts to three, and causes a delay of 2.sup.3 or 8 seconds.

At this point in our second example, the authorized user remembers the correct password and begins entering the correct password. The comparator 42 returns a "match" signal and the fail counter 44 decrements the fail count back to two. However, the delay counter 46 continues to increment the delay count to four. Although the passwords did match, the fail count is not equal to its reference value of 0 and thus access is denied. The message generator 50 therefore returns a FAIL message. The authorized user knows his/her own password and thus is presumed to be able to enter the correct password a repeated number of times. Alternatively, the authorized terminal software will know the correct password and will be programmed to supply it continuously until it gains access to the data. The user therefore inputs the same password again following the now 16 second delay (i.e., 2.sup.DelayCount =2.sup.4 =16). Once again, the comparator 42 outputs a "match" signal, the fail count is decremented to one and the delay count is incremented to five. Since the fail count still is not equal to zero, access is denied and a FAIL message is again returned. Finally, upon the third correct entry following the 32 second delay period (i.e., 2.sup.6 =32), the fail count is decremented to its reference value of zero, and access is permitted. The message generator returns a SUCCESS message, and the delay counter 46 is reset.

The following table 1 summarizes this second example:

              TABLE 1______________________________________Example Two            Fail     Delay DelayEntry  Result    Count    Count Period Message______________________________________1      No Match  1        1     2 sec  FAIL2      No Match  2        2     4 sec  FAIL3      No Match  3        3     8 sec  FAIL4      Match     2        4     16 sec FAIL5      Match     1        5     32 sec FAIL6      Match     0        reset 0      SUCCESS______________________________________

According to this example, the user only receives notification of SUCCESS and access to the data when (1) the entered password and stored password match, and (2) the fail count is zero.

EXAMPLE THREE

A third example involves an unauthorized user attempting to gain access through an electronic decoder that is programmed to systematically attempt thousands or millions of "guess" passwords. Typically, these machines are designed to try each password once and then proceed to the next guess. Because this protection scheme requires a dual test of a password match and a fail count of zero, the electronic guessing machine will not experience any success upon entering the correct password if the fail count is not zero. Upon proper entry, only the internal fail count is decremented, but access is denied and a FAIL message is returned. Moreover, the delay period continues to increase (or remains constant) even after supplying the correct password to prevent any feedback that the correct password was entered. The electronic tampering device is therefore unable to detect when an appropriate password was entered.

The following table 2 summarizes this third example:

              TABLE 2______________________________________Example Three            Fail     Delay DelayEntry  Result    Count    Count Period Message______________________________________1      No Match  1        1       2 sec                                  FAIL2      No Match  2        2       4 sec                                  FAIL3      No Match  3        3       8 sec                                  FAIL.      .         .        .     .      ..      .         .        .     .      ..      .         .        .     .      .10     No Match  10       10    1024 sec                                  FAIL11     Match     9        11    2048 sec                                  FAIL12     No Match  10       12    4096 sec                                  FAIL.      .         .        .     .      ..      .         .        .     .      ..      .         .        .     .      .______________________________________

In table 2, the match occurs on the eleventh entry. The fail count is decremented, but access is denied because the fail count does not equal zero. The delay period continues to double and the FAIL message is returned.

To make a thorough search for the authorized password, the electronic device must be programmed to start with a value and supply it a number of repeated times so that when it guesses the correct password, it will gain access. For example, assume that the fail counter and delay counter are each four bit counters. The maximum value that each counter can store is 16. Every time a password match fails, the smart card operating system delays 1 second, 2 seconds, 4 seconds, ... , 18.2 hours before returning the FAIL/SUCCESS message. Once the delay counter reaches the maximum value, the delay period remains constant thereafter at, in this case, 18.2 hours.

Assume further that the password is seven bits long, thereby providing a guessing space of 127 numbers. The delay period remains constant at 18.2 hours and is not decremented when the correct password is guessed. Thus, the delay profile is as follows:

1st incorrect guess=1 sec+2 sec+. . . +65536 sec=12107 sec-36.4 hrs

2nd incorrect guess=65536 sec+. . . +65536 sec=1048576 sec=12.1 days and so on.

On average, the fraudulent terminal will need to guess one-half of the available numbers (127/2=64). At this pace, the terminal will require 64 fraudulent terminal cannot determine whether it has the correct password unless it really waits out the entire delay period. If it disconnects the power to avoid that delay, the fail counter will not be decremented. Therefore, even after applying a correct password 16 times, the smart card operating system will not return a SUCCESS message.

It is noted that if the card has been tampered with, the legitimate cardholder will know because the delay period will be long. The authorized terminal software will continue to supply the correct password until access is gained, even though this might take some time. In this example, the cardholder will have to wait 12 days while the authorized terminal repeatedly inputs the proper password before the card becomes usable again. Although perhaps this delay is inconvenient, it is better than declaring the card unusable and losing the data stored thereon.

The smart card security scheme of this invention effectively prevents access of an unauthorized user (either human or machine) while still enabling the authorized user quick access. Unlike the "three-misses-and-out" strategy of conventional ATM protection schemes, this protection system permits access even if the cardholder or bank mistakenly enters the wrong password more than three times. Further, there is no need to lock the data after a preset number of failures. The simple protection device is effective, and requires little processor resources in the smart card CPU.

FIG. 5 shows an alternative embodiment of a smart card CPU 20' according to this invention. Here, the delay counter has been removed. In this embodiment, delay generator 48 produces a constant delay period that is imposed after every access denial. This delay period can be formulated as follows:

T=2.sup.(P-1) 

where P is the number of bits in the stored password, F is the number of bits in the fail counter, and D is a constant delay interval. According to this formula, the constant value D and the size of the fail counter can be adjusted to achieve the desired level of security. In the above example, P is equal to seven and F is equal to four. If D is set to 30 seconds, the delay period will be 8.5 hours (on average), i.e., 2.sup.(7-1)

The FIG. 5 embodiment is best reserved for applications where the terminal software will supply the password. If the user supplies the password, the user is heavily penalized by an 8.5 hour delay even on the first password entry mistake.

FIG. 6 shows a smart card CPU 20" according to another embodiment of this invention. Here, the fail counter has been removed. Access is simply permitted when a match occurs between the entered and authorized passwords. However, when the entered passwords fail to match the authorized password, a increasingly longer delay period is imposed with each miss.

The FIG. 6 embodiment is designed for those applications where humans are guaranteed to enter the password. The increasing time period makes it physically impossible for an unauthorized user to stand at the ATM and continually guess at a new password.

FIG. 8 shows preferred steps in a method for protecting against unauthorized access of data contents on a smart card. At step 100, the fail count and delay count are initialized. The fail count is preferably initialized to a reference value of zero. At step 102, the user or terminal software enters a password at the terminal. The smart card receives this password (step 104) and compares it to the authorized password stored thereon (step 106). At step 108, it is determined whether the entered password matches the authorized password. If there is no match (i.e., the "no" branch from step 108), the fail count and delay count are both incremented (steps 110 and 112), access is denied (step 114), and a delay period is imposed in the manner described above (step 116). Preferably, the delay period monotonically increases, such as doubling the duration, with each password failure. At step 118, after the delay period has elapsed, a FAIL message is returned to the terminal. The user or terminal software then supplies a next password and the process is repeated.

With reference to step 108, if the entered and stored passwords match (i.e., the "yes" branch), it is then determined whether the fail count is equal to its reference value of zero (step 120). If it is not (i.e., the "no" branch from step 120), the delay count is incremented (step 122), access is denied (step 124), the delay is imposed (step 126), the delay count is decremented (step 128) and finally, a FAIL message is returned (step 130). Steps 122-130 are very similar to steps 110-118, but with one notable difference. In steps 110-118, the fail count is incremented before the delay is imposed, whereas in steps 122-130, the fail count is decremented after any delay is imposed. This ensures that a power loss to the smart card will not aid in avoiding the delay.

With reference again to step 120, if the fail count is equal to zero (i.e., the "yes" branch from step 120), access is permitted (step 132) and the delay count is reset (step 134). At step 136, a SUCCESS message is returned to the terminal and the password verification process is completed.

In compliance with the statute, the invention has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the invention is not limited to the specific features described, since the means herein disclosed comprise preferred forms of putting the invention into effect. The invention is, therefore, claimed in any of its forms or modifications within the proper scope of the appended claims appropriately interpreted in accordance with the doctrine of equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The same reference numerals are used throughout the disclosure to reference like components and features.

FIG. 1 is a diagrammatic illustration of a smart card.

FIG. 2 is a block diagram of a microcontroller integrated circuit used in the FIG. 1 smart card.

FIG. 3 is a diagrammatic illustration of a smart card protection system according to an embodiment of this invention.

FIG. 4 is a block diagram of a CPU (Central Processing Unit) of the smart card microcontroller according to one embodiment of this invention.

FIG. 5 is a block diagram of a CPU of the smart card microcontroller according to another embodiment of this invention.

FIG. 6 is a block diagram of a CPU of the smart card microcontroller according to yet another embodiment of this invention.

FIG. 7 is a flow diagram of preferred steps in a method for protecting against unauthorized access of data contents on a smart card according to another aspect of this invention.

TECHNICAL FIELD

This invention relates to smart card protection systems for protecting against unauthorized access of data contents on a smart card through use of human or electronic-machine intervention. This invention also relates to methods for protecting against unauthorized access of data contents on a smart card. This invention further relates to protection devices and methods used in data protection systems that perform password verification for purposes of permitting or denying access to data contents.

BACKGROUND OF THE INVENTION

Passwords have been used for guarding authorized access to computers and data for quite some time. However, password verification schemes are most reliable only when the password is manually entered by a human. It is nearly impossible for an unauthorized user to manually enter thousands, or even millions, of different "guess" passwords in an effort to discover the authorized password. The physical and time requirements of inputting many different passwords and awaiting clearance is enough to discourage unauthorized users. The password verification scheme is therefore quite reliable when human interaction is required.

Password verification schemes are not as effective, however, when human interaction cannot be guaranteed. Electronic-machines can be programmed to supply thousands or millions of "guess" passwords in a rather short period of time. Furthermore, the guess patterns are meticulous and comprehensive to avoid missing any possible permutation. Such electronics can often times quickly discover the appropriate password, thereby gaining access to the protected data. Accordingly, it is an object of this invention to provide an enhanced password verification scheme that protects against unauthorized access to data through the use of human or electronic-machine intervention.

One important area that passwords are used today is in the context of ATMs (Automated Teller Machines) owned by banks or other service providers. Bank members are given special ATM cards for use in the ATMs to permit automated access to the member's account. The ATM cards that are primarily in use today consist of magnetic-stripe memory cards that have a single magnetic stripe on one side. The magnetic stripe contains information regarding the bank, the member, and his/her account. The member inserts the mag-stripe card into the ATM and enters a four digit password or PIN (Personal Identification Number). The member is given three opportunities to enter the correct PIN. If the member fails the third time, access to the data is locked by the ATM for a period of time, such as 24 hours, before accepting a new set of PIN numbers. The member then has the option of waiting or personally taking the card to the bank to have the system reinitialized. The "three-misses-and-out" scheme guards against an unauthorized person who improperly gains possession of the ATM card and randomly enters many four digit PINs in an effort to gain access to the member's bank accounts.

Today, there is a movement toward use of "smart cards" instead of mag-stripe cards. A "smart card" is a credit card that has a built-in microcontroller (MCU) which enables the card to modify, or even create, data in response to external stimuli. The microcontroller is a single-wafer integrated circuit (IC) which is mounted on an otherwise plastic credit card.

The traditional mag-stripe ATM cards require password verification on-line with the ATM, where the locking and unlocking of data is done by the back end computer resident in the ATM. Since the ATM cards are single purpose (i.e., their only function is interfacing with the bank), losing access to the bank after three or four attempts is an acceptable form of security. Banks can simply replace the locked out ATM card because the banks already have all the information contained on the card. In contrast, smart cards are themselves a data processor that can be used for multiple purposes. Through the use of the processor, smart cards can perform password verification off-line without connection to a back end computer and are self-validating with the access security code resident thereon. A scheme where three or four failed password attempts cause the entire card to be locked is not useful in the smart card environment because locking the entire card might prohibit the smart card from being used for another unrelated purpose, like starting a car or gaining entry into an apartment building. Additionally, a smart card cannot be easily replaced by one entity (such as the bank) because the multi-purpose smart card stores much more data than that which is available at a single location outside of the card.

Conventional password schemes are not effective in the smart card context. Smart card readers are easy and inexpensive to emulate. Such readers can be programmed to check all possible access codes for a smart card in a relatively short period of time. Unauthorized persons might therefore be able to steal a user's smart card and gain access to its contents before any precautionary measures can be taken after the missing card is discovered.

It is therefore an object of this invention to provide a password verification scheme that can be used in the smart card environment which greatly reduces the chance of unauthorized access through electronic or manual means.

SUMMARY OF THE INVENTION

This invention provides a smart card protection system for protecting against unauthorized access of data contents on a smart card through human or electronic-machine tampering. The smart card protection system includes a smart card having an authorized password stored thereon for associated data and a smart card terminal to supply an entered password for accessing the data on the smart card. The smart card includes a comparator to compare the entered password to the stored password. A fail counter is operatively coupled to the comparator to keep a fail count indicative of the number of times that the entered password fails to match the stored password. The fail counter is incremented away from a reference value (such as zero) when the entered password fails to match the stored password and decremented back toward the reference value when the entered password successfully matches the stored password. A delay counter is also operatively coupled to the comparator to maintain a delay count that incremented each time the comparator compares the entered password to the stored password.

In the event that the fail count kept in the fail counter does not equal the reference value, the smart card denies access to the data contents. Access is denied even though a match might occur after the initial misses because the fail count is not zero. Further, when access is denied, a delay period is imposed before comparing the next entered password received from the smart card terminal. The delay period preferably increases with each access denial based upon a function of the delay count. One technique is to simply double the delay period each time access is denied.

The security system of this invention effectively prevents access of an unauthorized user while enabling the authorized user quick access, even if he/she enters the wrong password more than a preset number of times. If the authorized user mistakenly enters the incorrect password, the user simply enters the correct password a repeated number of times until the fail count is reduced to its starting reference value. It is presumed that only the authorized user would know to repeatedly enter the same correct password. Access is permitted when a match occurs and the fail count is at its reference value. Initial delay periods are small and do not inconvenience the authorized user.

For an unauthorized user trying to guess the password through manual or electronic means, the system quickly accumulates a rather high delay period as well as a high fail count. When the password-guessing machine actually hits the correct password, it would go undetected because the fail count is not at its reference value and thus access would be denied. Moreover, the delay period continues to increase or remains constant regardless of a match or non-match to thereby prevent any indication of a correct entry.

According to another aspect of this invention, a method for protecting against unauthorized access of data contents on a smart card is described.

專利引用
引用的專利申請日期發佈日期 申請者專利名稱
US44490401981年12月7日1984年5月15日Omron Tateisi Electronics Co.Identification code determining apparatus for use in transaction processing apparatus
US44530741981年10月19日1984年6月5日American Express CompanyProtection system for intelligent cards
US46670871986年3月31日1987年5月19日King; Robert E.Secure credit card
US46847911985年10月1日1987年8月4日Casio Computer Co., Ltd.Card identification system
US47106131985年12月4日1987年12月1日Casio Computer Co., Ltd.Identification system
US48017871986年6月25日1989年1月31日Casio Computer Co., Ltd.IC card identification system having first and second data identification functions
US48395061987年4月16日1989年6月13日Casio Computer Co., Ltd.IC card identification system including pin-check time means
被以下專利引用
引用本專利申請日期發佈日期 申請者專利名稱
US57427561996年2月12日1998年4月21日Microsoft CorporationSystem and method of using smart cards to perform security-critical operations requiring user authorization
US58962551997年3月12日1999年4月20日Aris Mardirossian, Inc.Magnetic disc cartridge and corresponding system/method for limiting coping of software
US59283621997年4月29日1999年7月27日Cagent Technologies, Inc.Peripheral card security and configuration interface
US60264401997年1月27日2000年2月15日International Business Machines CorporationWeb server account manager plug-in for monitoring resources
US60849671997年10月29日2000年7月4日Motorola, Inc.Radio telecommunication device and method of authenticating a user with a voice authentication token
US60849681997年10月29日2000年7月4日Motorola, Inc.Security token and method for wireless applications
US61611851998年3月6日2000年12月12日Mci Communications CorporationPersonal authentication system and method for multiple computer platform
US62239851999年6月3日2001年5月1日Delude Bethany J.System and method for protecting unauthorized access into an access-controlled entity by an improved fail counter
US62766041999年8月11日2001年8月21日U.S. Philips CorporationData carrier device with test means for testing the access authorization of a data reading device
US62926921999年4月30日2001年9月18日Medical Research Laboratories, Inc.Medical treatment device with functions, operated under passcode control
US63178361998年3月6日2001年11月13日Tv Objects Limited LlcData and access protection system for computers
US63856511998年5月5日2002年5月7日Liberate TechnologiesInternet service provider preliminary user registration mechanism provided by centralized authority
US64224601999年1月29日2002年7月23日Verisign, Inc.Authorization system using an authorizing device
US66339841999年1月22日2003年10月14日Sun Microsystems, Inc.Techniques for permitting access across a context barrier on a small footprint device using an entry point object
US66539382002年3月19日2003年11月25日Yang George L.Automatic security enhancement system
US67295502002年6月24日2004年5月4日Sony CorporationPortable terminal apparatus with IC card function
US67690531999年6月10日2004年7月27日Belle Gate Investment B.V.Arrangement storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory
US68235201999年1月22日2004年11月23日Sun Microsystems, Inc.Techniques for implementing security on a small footprint device using a context barrier
US68837161999年12月7日2005年4月26日Sun Microsystems, Inc.Secure photo carrying identification device, as well as means and method for authenticating such an identification device
US69076081999年1月22日2005年6月14日Sun Microsystems, Inc.Techniques for permitting access across a context barrier in a small footprint device using global data structures
US69228351999年1月22日2005年7月26日Sun Microsystems, Inc.Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges
US69322692002年6月25日2005年8月23日Sony CorporationPass-code identification device and pass-code identification method
US69348542002年3月1日2005年8月23日Infineon Technologies AgCircuit and method for protecting electronic devices
US69962131998年9月29日2006年2月7日Sun Microsystems, Inc.Superposition of data over voice
US70207402000年12月6日2006年3月28日Sun Microsystems, Inc.Computer arrangement using non-refreshed DRAM
US70360182002年7月19日2006年4月25日Infineon Technologies AgIntegrated security circuit
US70367381999年5月3日2006年5月2日Microsoft CorporationPCMCIA-compliant smart card secured memory assembly for porting user profiles and documents
US70681472000年12月6日2006年6月27日Denso CorporationControl information rewriting system
US70802611999年12月7日2006年7月18日Sun Microsystems, Inc.Computer-readable medium with microprocessor to control reading and computer arranged to communicate with such a medium
US70931221999年1月22日2006年8月15日Sun Microsystems, Inc.Techniques for permitting access across a context barrier in a small footprint device using shared object interfaces
US71111762000年3月31日2006年9月19日Intel CorporationGenerating isolated bus cycles for isolated execution
US71173691999年5月3日2006年10月3日Microsoft CorporationPortable smart card secured memory system for porting user profiles and documents
US71243052004年1月7日2006年10月17日Permabit, Inc.Data repository and method for promoting network storage of data
US71459912004年1月9日2006年12月5日Sun Microsystem, Inc.Superposition of data over voice
US71557392001年1月16日2006年12月26日Jbip, LlcMethod and system for secure registration, storage, management and linkage of personal authentication credentials data over a network
US71851102002年4月16日2007年2月27日Sun Microsystems, Inc.Data exchange system comprising portable data processing units
US71975962006年2月2日2007年3月27日Sun Microsystems, Inc.Computer arrangement using non-refreshed DRAM
US72403652002年9月13日2007年7月3日Sun Microsystems, Inc.Repositing for digital content access control
US72668482002年3月18日2007年9月4日Freescale Semiconductor, Inc.Integrated circuit security and method therefor
US72731692004年10月19日2007年9月25日Sun Microsystems, Inc.Secure photo carrying identification device, as well as means and method for authenticating such an identification device
US72846972005年11月22日2007年10月23日Microsoft CorporationPCMCIA-compliant smart card secured memory assembly for porting user profiles and documents
US72870302004年1月7日2007年10月23日Burnside Acquisition, LlcData repository and method for promoting network storage of data
US73567012004年1月7日2008年4月8日Burnside Acquisition, LlcData repository and method for promoting network storage of data
US73600392004年6月21日2008年4月15日Belle Gate Investment B.V.Arrangements storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory
US73636512002年9月13日2008年4月22日Sun Microsystems, Inc.System for digital content access control
US73735182001年4月14日2008年5月13日Wincor Nixdorf International GmbhOperation of a security module in a card reader
US73802802003年10月15日2008年5月27日Sun Microsystems, Inc.Rights locker for digital content access control
US73955352004年11月22日2008年7月1日Sun Microsystems, Inc.Techniques for permitting access across a context barrier in a small footprint device using global data structures
US73982832004年10月14日2008年7月8日Burnside Acquisition, LlcMethod for providing access control for data items in a data repository in which storage space used by identical content is shared
US73985572003年10月15日2008年7月8日Sun Microsystems, Inc.Accessing in a rights locker system for digital content access control
US74124622001年2月16日2008年8月12日Burnside Acquisition, LlcData repository and method for promoting network storage of data
US74416972007年6月7日2008年10月28日American Express Travel Related Services Company, Inc.Limited use pin system and method
US74485382007年7月13日2008年11月11日American Express Travel Related Services Company, Inc.Limited use pin system and method
US74631332004年3月27日2008年12月9日American Express Travel Related Services Company, Inc.Systems and methods for providing a RF transaction device operable to store multiple distinct calling card accounts
US74728272004年10月7日2009年1月6日American Express Travel Related Services Company, Inc.Limited use PIN system and method
US74783892004年11月22日2009年1月13日Sun Microsystems, Inc.Techniques for implementing security on a small footprint device using a context barrier
US74813642006年3月24日2009年1月27日Privaris, Inc.Biometric identification device with smartcard capabilities
US75034802004年3月12日2009年3月17日American Express Travel Related Services Company, Inc.Method and system for tracking user performance
US75061732004年6月17日2009年3月17日Burnside Acquisition, LlcData repository and method for promoting network storage of data
US75129722002年9月13日2009年3月31日Sun Microsystems, Inc.Synchronizing for digital content access control
US75400082003年4月15日2009年5月26日Nds LimitedSecure clock
US75429422004年3月11日2009年6月2日American Express Travel Related Services Company, Inc.System and method for securing sensitive information during completion of a transaction
US75682082000年7月12日2009年7月28日Thomson LicensingMethod and apparatus for using a single password set in an integrated television system
US75876172004年1月7日2009年9月8日Burnside Acquisition, LlcData repository and method for promoting network storage of data
US75877562004年7月23日2009年9月8日American Express Travel Related Services Company, Inc.Methods and apparatus for a secure proximity integrated circuit card transactions
US76071752003年9月9日2009年10月20日Sun Microsystems, Inc.Techniques for permitting access across a context barrier on a small footprint device using an entry point object
US76140852003年5月1日2009年11月3日Protegrity CorporationMethod for the automatic setting and updating of a security policy
US76275312001年3月7日2009年12月1日American Express Travel Related Services Company, Inc.System for facilitating a transaction
US76579312004年1月7日2010年2月2日Burnside Acquisition, LlcData repository and method for promoting network storage of data
US76850962004年10月14日2010年3月23日Permabit Technology CorporationData repository and method for promoting network storage of data
US76938142004年1月7日2010年4月6日Permabit Technology CorporationData repository and method for promoting network storage of data
US76948762008年5月2日2010年4月13日American Express Travel Related Services Company, Inc.Method and system for tracking user performance
US77395202003年8月11日2010年6月15日Infineon Technologies AgData processing device
US77624572004年7月21日2010年7月27日American Express Travel Related Services Company, Inc.System and method for dynamic fob synchronization and personalization
US77683792004年7月21日2010年8月3日American Express Travel Related Services Company, Inc.Method and system for a travel-related multi-function fob
US77876612006年3月29日2010年8月31日Actividentity, Inc.Method, system, personal security device and computer program product for cryptographically secured biometric authentication
US78053782004年8月30日2010年9月28日American Express Travel Related Servicex Company, Inc.System and method for encoding information in magnetic stripe format for use in radio frequency identification transactions
US78101122009年4月21日2010年10月5日Nds LimitedSecure time element
US78222092006年6月6日2010年10月26日Red Hat, Inc.Methods and systems for key recovery for a token
US78282182000年7月20日2010年11月9日Oracle America, Inc.Method and system of communicating devices, and devices therefor, with protected data transfer
US78359602004年6月10日2010年11月16日American Express Travel Related Services Company, Inc.System for facilitating a transaction
US78777932007年3月12日2011年1月25日Oracle America, Inc.Repositing for digital content access control
US78825552003年5月28日2011年2月1日Kavado, Inc.Application layer security method and system
US79133122003年10月15日2011年3月22日Oracle America, Inc.Embedded content requests in a rights locker system for digital content access control
US79255352004年3月10日2011年4月12日American Express Travel Related Services Company, Inc.System and method for securing RF transactions using a radio frequency identification device including a random number generator
US79922032006年5月24日2011年8月2日Red Hat, Inc.Methods and systems for secure shared smartcard access
US79963242004年9月30日2011年8月9日American Express Travel Related Services Company, Inc.Systems and methods for managing multiple accounts on a RF transaction device using secondary identification indicia
US80742652006年8月31日2011年12月6日Red Hat, Inc.Methods and systems for verifying a location factor associated with a token
US80988292006年6月6日2012年1月17日Red Hat, Inc.Methods and systems for secure key delivery
US80997652006年6月7日2012年1月17日Red Hat, Inc.Methods and systems for remote password reset using an authentication credential managed by a third party
US81219412006年12月14日2012年2月21日American Express Travel Related Services Company, Inc.System and method for automatic reconciliation of transaction account spend
US81807412006年6月6日2012年5月15日Red Hat, Inc.Methods and systems for providing data objects on a token
US81865802008年10月14日2012年5月29日Privaris, Inc.Biometric identification device with smartcard capabilities
US82305182011年2月9日2012年7月24日Oracle America, Inc.Embedded content requests in a rights locker system for digital content access control
US82396272008年5月8日2012年8月7日Lifenexus, Inc.Smartcard accessed dual server electronic data storage system
US82399202009年3月30日2012年8月7日Kyocera CorporationAuthentication system and method
US83326372006年6月6日2012年12月11日Red Hat, Inc.Methods and systems for nonce generation in a token
US83563422006年8月31日2013年1月15日Red Hat, Inc.Method and system for issuing a kill sequence for a token
US83649522006年6月6日2013年1月29日Red Hat, Inc.Methods and system for a key recovery plan
USRE392692002年6月10日2006年9月5日Sun Microsystems, Inc.Data exchange system comprising portable data processing units
CN100498641C2004年11月12日2009年6月10日Shanghai electric group stock co ltd; Shanghai electric group stock co ltd central research instituteCipher safe protecting method for preventing intelligent device input cipher from being decrypted
CN101430811B2008年8月20日2011年2月9日Oki Electric Ind Co LtdTrade apparatus and cipher processing method of the trade apparatus
EP0809217A21997年5月22日1997年11月26日Nec CorporationSecret information indentification system
EP0982693A21999年8月25日2000年3月1日International Business Machines CorporationMethod to identify user-relevant states of the misoperation counter
EP1403815A12002年6月25日2004年3月31日Sony CorporationPassword identification apparatus and password identification method
EP1413980A12003年5月23日2004年4月28日SCHLUMBERGER SystèmesProtection of a portable object against denial of service type attacks
EP1417657A22002年5月7日2004年5月12日Fleet Credit Card Services, LlpCheckout system for on-line, card present equivalent interchanges
EP1428102A22002年9月6日2004年6月16日Mastercard International, Inc.Method and device for control by consumers over personal data
EP1515330A12004年9月9日2005年3月16日Funai Electric Co., Ltd.Information protection apparatus
EP2048631A12008年10月10日2009年4月15日Compagnie Industrielle et Financiere d'Ingenierie "Ingenico"Authentication method, corresponding portable object and computer program
EP2466784A12011年12月12日2012年6月20日France TelecomMethod for access control by a code to a data exchange service
WO1997043716A11997年4月30日1997年11月20日The 3Do CompanyPeripheral card security and configuration interface
WO1999056253A11999年4月27日1999年11月4日Detemobil Deutsche Telekom Mobilnet GmbhMethod and arrangement for avoiding misuse of authentication procedures available on a chip card interface
WO2000011623A11999年8月3日2000年3月2日Koninklijke Philips Electronics N.V.Data carrier device with test means for testing the access authorization of a data reading device
WO2001016898A12000年9月1日2001年3月8日Bruecklmeier, Eric-RogerCircuit and method for safeguarding electronic devices
WO2001054057A12000年12月22日2001年7月26日Horvat, HelmutIntegrated protective circuit
WO2002019214A12001年8月28日2002年3月7日Probert, ThomasRegistry for management of intellectual property rights, properties and constraints
WO2003023560A22002年9月6日2003年3月20日Mastercard International IncorporatedMethod and device for control by consumers over personal data
WO2004038652A12003年10月20日2004年5月6日Schlumberger Malco Inc,Protection of a portable object against denial of service type attacks.
WO2006102625A22006年3月24日2006年9月28日Cannon, CharlesBiometric identification device with smartcard capabilities
WO2007107417A12007年2月14日2007年9月27日Bauchot, FredericMethod and systems for limiting repeated accesses to an electronic device