Method for detecting invalid electronic storage media and card system using the method

Abstract: In a method for detecting invalid electronic storage media each storing therein identification information (11) recognized as an invalid electronic storage medium, the individual identification information (11) on the invalid electronic storage media, grouped by hash values (12), is registered as a list. On the other hand, the individual identification information (11) and hash information (12) are assigned to each of the electronic storage media. The method reads the individual identification information and the group value information in response to a usage request for the electronic storage medium and checks if the individual identification information on the electronic storage medium is registered with the group corresponding to the hash value that was read. If the individual identification information corresponding to the hash value is found, the method judges that the requested electronic storage medium is invalid; if the individual identification information corresponding to the hash value is not found, the method judges that the requested electronic storage medium is valid.

Description: The present invention relates to a method for detecting invalid electronic storage media with individual identification information (ID) that is recognized as an invalid electronic storage medium and to a card system using the method. More particularly, the present invention relates to a method for detecting an invalid card in gate devices such as an automatic ticket gate wherein IC cards, or smart cards, are used, and to a technology that may conveniently be applied to a card system. An electronic storage medium with individual identification information ID that is recognized as an invalid electronic storage medium is, for example, an invalid card. The invalid card refers to a card that has not yet expired but its use is prohibited because, for example, the user has lost the card. Conventionally, a card is checked before use for validity to prevent the above-mentioned invalid card from being used. The means that is in practical use today for detecting invalid cards include a method in which an inquiry about the validity of cards is sent to the host computer. For example, CAFIS (Credit And Finance Information System) is available for use as a method for checking the validity of cards issued from financial institutions. As a means for detecting invalid cards without making an inquiry, there are also methods for detecting invalid cards by downloading a list of invalid IDs onto a terminal and then checking the list for a card that is to be examined. One of the methods which check the list for a card to be examined uses a hash function. The search method with the use of a hash function is disclosed, for example, in "Information Processing Handbook - New Edition", Information Processing Society of Japan, pp. 99, November 25, 1995. In the method where a hash function is used for detecting invalid cards, a terminal or an IC card application unit reads an ID from an IC card and, for the IC card that was read, calculates a hash value using the predetermined hash function (This function performs an arithmetic operation for dividing IC cards into a predetermined groups according to the number of IC cards or the purpose of IC cards). Then, the method checks the by-hash-value hot list (black list), which contains invalid IC card IDs classified by hash value, to see if the IC card to be checked is in the group corresponding to the calculated hash value. If the group corresponding to the hash value contains the ID of the IC card to be checked, the method performs invalid card processing; if the group corresponding to the hash value does not contain the ID of the IC card to be checked, the method performs valid card processing. In this way, the method uses the hash function to calculate the hash value from the ID of an IC card. Then, it compares, one at a time, the Ids in the hash value group corresponding to the calculated hash value listed on the invalid card ID list with the ID of the card to be checked to detect if the IC card is an invalid card. US 5,103,079 discloses a card system which has a terminal for reading an ID number from a card. The terminal then calculates a hash number from the ID number using a program stored in the memory of the terminal. This hash number is then compared with a "grey" list of hash numbers to see if any ID cards having that hash number are invalid. The grey list does not contain any ID numbers of individual cards. If by comparison with the grey list it is determined that the ID card being verified is potentially invalid, then a check is made against a black list of individual identification numbers held in a different location. The black list is a simple list of invalid ID numbers and is not grouped by hash number or otherwise. Furthermore, as will be appreciated from the above, it is necessary for the card reading terminal to calculate the hash number after the ID of the card has been read. US 5,396,624 discloses a system in which the ID number of a card is read by a terminal and the terminal then splits the ID number into a hash number and a partial ID number which.does not identify the card uniquely (it contains only the four most significant digits of the ID number). The partial ID is then checked against-other partial IDs in the same stack to see if there is a match indicating that the card may be invalid. The system is not capable of verifying a card with 100% accuracy as only partial ID numbers are used and therefore a further verification check may be needed. Thus, the list held by the terminal does not contain full ID numbers capable of identifying invalid cards uniquely. Furthermore, the terminal only reads the ID number of the card being verified and then has to calculate from this ID number a stack number for the card. Recently, cards are used in a variety of fields. As they become popular and the number of cards increases, the number of invalid cards also increases. A need therefore exists for processing a larger amount of data quickly during invalid card checking processing. Conventionally, an attempt has been made to reduce the amount of search and to increase the detection speed by dividing invalid IC cards into a predetermined number of groups with the use of the above-mentioned hash function. However, in the detection method that uses the hash function, the hash function that produces hash values for evenly distributing invalid cards into relatively many hash value groups requires a large amount of calculation. One of the problems with such a function is that the total amount of time for checking a card becomes large. For this reason, the conventional technology does not meet the requirements for automatic ticket gates used for rail road, bus, airplane, and public/entertainment facilities. As described above, the by-hash-value hot list (hereinafter called "hash list") containing invalid card IDs is a list containing invalid card Ids grouped by hash value. Because cards are not always issued regularly and therefore the IDs are not always distributed evenly, invalid cards are not always classified into, and distributed among, the groups evenly. The number of invalid cards classified according to the hash value varies from group to group, sometimes with many cards in a specific group. Thus, the problem is that invalid card detection cannot be performed quickly in a group in which many invalid cards are registered. The present invention seeks to solve the problems associated with the conventional art described above. It is an object of the present invention to provide a technology capable of detecting invalid electronic storage media (invalid cards) quickly. It should be noted that it is known for a number, such as a card number, to have a check or hash digit to confirm that the number has been read correctly. An example is the check digit included in the application number of a European patent application. Chip cards having large memories have been available since at least 1986, as shown in e.g. DE-A-3 736 190. Accordingly, a first aspect of the present invention provides a method for detecting invalid electronic storage media, each storing therein an identifier, by using an invalid list containing identifiers of the invalid storage media, wherein each electronic storage medium stores therein a pair of values, the pair comprising a group value to which each said storage medium belongs, and an identifier for identifying each said storage medium said group values being obtained from the identifiers by calculation using a predetermined hash function; said invalid list contains identifiers for identifying invalid storage media on a group basis specified by group values, to which the invalid storage media belong; and that said method comprises the steps of: reading the group value and the identifier from an electronic storage medium in response to a usage request for said storage medium; checking identifiers of invalid storage media contained in said list in a group specified by the group value thus read; and judging that the requested electronic storage medium is invalid if the identifier thus read is found in said list in a group specified by the group value thus read, otherwise judging that the requested electronic storage medium is valid. It should be noted that the identification information and the group value information need not be read separately but that they may be read at the same time. In such a case, the identification information may be assumed to include both the identification information and the group value information but, in essence, it is a pair of the individual identification information and the group value information. It is assumed that individual identification information (ID) is assigned to each card such that the ID is unique. A second aspect of the present invention provides a card system comprising: a plurality of cards each having identifiers; a card management system for issuing and managing said cards; and a card application unit connected to said card management system, for reading data from the card in response to a usage request, characterised in that: each of said cards stores therein a pair of values, the pair comprising a group value to which each said card belongs, and an identifier (11) for identifying each said card; said group values being obtained from the identifiers by calculation using a predetermined hash function; that said card management system comprises card issuance and management means for issuing and managing said cards, hot list creation means for creating a hot list containing identifiers for identifying invalid cards on a group basis specified by group values to which the invalid cards belong, and communication means for communicating with said card application unit via the communication line; that said card application unit comprises read means for reading the identifier and the group value from a card in response to a usage request, and by-group list creation means for creating a by-group list from the hot list via the communication line, said by-group list containing identifiers for identifying the invalid cards on a group basis specified by the group values to which the invalid cards belong, invalid card checking means for checking if said card thus read is invalid, and card processing means for processing the card based on a result of said invalid card checking means; that said invalid card checking means checks identifiers of invalid cards contained in said by-group list in a group specified by the group value thus read by said read means; that said invalid card checking means judges that the requested card is invalid if the identifier thus read is found in said by-group list in the group specified by the group value thus read, otherwise judges that the requested card is valid; and that said card processing means performs invalid card processing when said invalid card checking means judges that the requested card is invalid, and performs valid card processing when said invalid card checking means judges that the requested card is valid. IN THE DRAWINGS Fig. 1 is a block diagram showing the configuration of an IC card system which implements a method for detecting invalid electronic storage media in accordance with an embodiment of the present invention. FIGS. 2A and 2B are diagrams showing examples of the configuration of the hot list 21 shown in FIG. 1. FIG. 3 is a diagram showing an example of the configuration of the by-hash-value hot list 41 shown in FIG. 1. FIG. 4 is a flowchart illustrating the method for detecting invalid cards used in the system shown in FIG. 1. FIG. 5 is a flowchart illustrating the card issuance processing used in the system shown in FIG. 1. FIG. 6 is a diagram showing the processing of hash values 12 during the card issuance processing shown in FIG. 5. Some embodiments of the present invention will be described in detail with reference to the attached drawings. FIG. 1 is a block diagram showing the configuration of an IC card system that implements a method for detecting an invalid electronic storage medium used in one embodiment of the present invention. The IC card system shown in FIG. 1 comprises an IC card management system 20 and an IC card application unit 40. The IC card management system 20 issues and manages an IC card 10 and creates an invalid card list (hereafter called a hot list). The IC card application unit 40 is connected to the IC card management system 20 via a communication line 30 and reads data from the IC card 10 either in the contact mode or in the non-contact mode for processing. The IC card 10 contains therein individual identification information (ID) 11 and a hash value 12 assigned by a caid issuance and management unit 22, for example, in the format "aaaaAA". When the card issuance and management unit 22 issues the IC card 10, it calculates the hash value 12 from the ID using a hash function. The IC card management system 20, composed of one or more computers, comprises the card issuance and management unit 22 that issues and manages the IC card 10 to which the ID 11 and the hash value 12 are assigned, a hot list creation unit 23 that creates a hot list 21 listing invalid cards, and a communication unit 24 that communicates with the IC card application unit 40 via the communication line 30. Although the IC card management system 20 is shown in FIG. 1 as one block, the card issuance and management unit 22 and the hot list creation unit 23 may be in two separate networked computers which are remotely located. FIGS. 2A and 2B show the configuration examples 21a and 21b of the hot list 21 described above. The hot list 21a shown in FIG. 2A contains combinations of individual identification information (ID), "aaaa", "bbbb", "cccc", and "dddd", of invalid IC cards and hash values, "AA", "BB", and "CC", assigned by the IC card management system 20 according to each ID during card manufacturing or card issuance. An example of such a combination is "aaaaAA". Two types of information given above, that is, "aaaa", "bbbb", "cccc", and "dddd" and "AA", "BB", and "CC", schematically represent information. The number of digits and the format shown above are irrelevant to the content of information. The hash values "AA", "BB", and "CC" are calculated from the IDs by the card issuance and management unit 22 using the predetermined hash function. These hash values are assigned by the card issuance and management unit 22 during card manufacturing or issuance. FIG. 2B shows another configuration example 21b of the hot list 21. The hot list 21b contains "aaaa", "bbbb", "cccc", and "dddd" that are invalid IC card IDs. The hash values of these IDs, if required, may be calculated by executing the hash function using the IDs. Normally, the card issuance and management unit 22 sequentially assigns the hash values 12 to the IDs 11 during card issuance. However, when the card issuance and management unit 22 finds that there is a bias in the number of IDs registered with the groups of the hash value 12 contained in the hot list 21 and the bias is larger than the predetermined limit or when, during a regular check (monthly or yearly) for a bias, the card issuance and management unit 22 finds that there is a bias and the bias is larger than the predetermined limit, it assigns to a newly-issued IC card an ID that will not produce the hash value of a group with which many IDs are already registered so that the IDs are distributed equally among the hash values 12. The IC card application unit 40 comprises a read unit 42 that reads the ID 11 and the hash value 12 from the IC card 10, a hash list creation unit 43 that creates a hash list 41, which is classified according to the hash values 12, from the hot list 21 distributed by the IC card management system 20 over the communication line 30, an invalid card checking unit 44 that checks if the card that was read is valid, a card processing unit 45 that processes the IC card 10 based on the result of the invalid card checking unit 44, and a communication unit 46 that communicates with the IC card management system 20 over the communication line 30. The IC card management system 20 may distribute the hot list 21 either at a regular interval or each time the hot list 21 is updated. The hot list 21 that is in the format of the hot list 21a shown in FIG. 2A may be directly downloaded. On the other hand, the hot list 21 that is in the format of the hot list 21b shown in FIG. 2B must be downloaded and then the hash value must be calculated for each ID. FIG. 3 is a diagram showing an example of the configuration of the above-described hash list 41. As shown in FIG. 3, the hash list 41, created based on the hot list 21, contains IDs grouped by hash value "AA", "BB", "CC", and so on. When the user uses the IC card 10, the IC card application unit 40 reads a pair of the ID 11 and the hash value 12 from the IC card 10 and searches the hash list 41 with the hash value 12 as the key to check if the IC card 10 is invalid. Although the embodiment shown in FIG. 1 comprises one IC card application unit 40 and one IC card 10, it is to be readily understood that there may be a plurality of IC card application units and a plurality of IC cards. Next, how the IC card application unit 40 detects an invalid card will be described below. FIG. 4 is a flowchart describing how to detect an invalid card. As shown in FIG. 4, the method for detecting an invalid card used in the embodiment performs the steps described below. First, the read unit 42 reads both the ID 11 and the hash value 12 from the IC card 10 in response to an IC card usage request from the user (step 401). The invalid card checking unit 44 checks the hash list 41 for the hash value 12 that was read (step 402). If the data corresponding to the hash value 12 includes the ID 11 of the IC card 10, the card processing unit 45 performs invalid card processing (step 403); if the data corresponding to the hash value 12 does not include the ID 11 of the IC card 10, the card processing unit 45 performs valid card processing (step 404). Note that the ID 11 and the hash value 12 need not be read separately but that they may be read at a time. In such a case, the ID 11 may be assumed to include both the ID 11 and the hash value 12 but, in essence, it is a pair of the ID 11 and the hash value 12. As described above, the present invention eliminates the need for hash value calculation, making it possible to detect invalid cards more quickly than the conventional method. Next, the card issuance processing of the card issuance and management unit 22 will be described. FIG. 5 is a flowchart showing card issuance processing, and FIG. 6 is a diagram illustrating how hash values 12 are assigned during card issuance processing. As shown in FIG. 5, the card issuance and management unit 22 gets the number of invalid card IDs for each hash value group listed on the hot list 21 during card issuance processing performed in this embodiment (step 501). That is, the unit creates a list 61 similar to the hash list 41. Then, the card issuance and management unit 22 calculates the average of the invalid IDs that are registered with each hash value group (step 502). When the card issuance and management unit 22 issues an IC card, it assigns an ID 11 that will produce a hash value of a hash value group with which the number of IDs smaller than the average are registered (step 503). At this time, the unit may give priority to the hash value 12 corresponding to the group with which the smallest number of IDs are registered and assign that hash value to the ID 11. Referring now to FIG. 6, the card issuance processing mentioned above will be briefly described. First, assume that the hash value group "AA" on the list 61 includes 22 invalid card IDs, that the hash value group "BB" includes 2 invalid card IDs, and that the hash value group "CC" includes 9 invalid card IDs, respectively. In this case, if the hash value of a card to be examined is "AA", the card issuance and management unit 22 must search more IDs than it does with the hash value "BB" or "CC" and therefore requires more time. Therefore, the card issuance and management unit 22 calculates the average of the IDs in the groups (in this example, groups "AA", "BB", and "CC") on the list 61 to get the average value of 11. Alternatively, the unit 22 may count the numbers of the IDs in the groups. The unit assigns, not the hash value "AA", but the hash value "BB" or "CC", with which the number of invalid card IDs smaller than the average are registered, to the ID of a new IC card to prevent the number of IDs to be registered with the hash value "AA" from increasing any more. In this case, a special priority may be given to the hash value "BB" with which the smallest number of IDs are registered. In the case where the unit 22 counts merely the numbers of the IDs in the groups, ID of a new card will be selected to be assigned to the group having the smallest number of IDs. This prevents invalid cards from being registered with a specific group (hash value "AA" in FIG. 6) but distributes them evenly. The above-mentioned card issuance processing prevents an increase in the invalid card search time caused by registering many entries with a specific hash value group, thus allowing an invalid card to be detected more quickly. The embodiments were described with emphasis on IC cards. However, the method for detecting invalid cards according to the present invention may also be applied to other electronic storage media such as magnetic cards. The units 22 to 24 and 42 to 46 may be implemented as programs that run on a computer. Those programs are distributed to the user on various recording media such as a floppy disk, CD-ROM, and mask ROM. In this case, these programs are sometimes combined with other programs such as GUI programs. As an alternative means for the above recording media, the programs may be available for a fee over networks such as the Internet.

Claims: A method for detecting invalid electronic storage media, each storing therein an identifier, by using an invalid list containing identifiers of the invalid storage media, characterised in that : each electronic storage medium (10) stores therein a pair of values, the pair comprising a group value (12) to which each said storage medium (10) belongs, and an identifier (11) for identifying each said storage medium (10)said group values being obtained from the identifiers (11) by calculation using a predetermined hash function; that said invalid list contains identifiers (aaaa, bbbb, cccc, and dddd) for identifying invalid storage media on a group basis specified by group values, (AA, bb, CC) to which the invalid storage media belong; and that said method comprises the steps of: reading the group value and the identifier from an electronic storage medium (10) in response to a usage request for said storage medium (10); checking identifiers of invalid storage media contained in said list (41) in a group specified by the group value thus read; and judging that the requested electronic storage medium is invalid if the identifier thus read is found in said list (41, or 61) in a group specified by the group value thus read, otherwise judging that the requested electronic storage medium is valid. A method for detecting invalid electronic storage media according to claim 1, further comprising the steps of: checking said list (61) as to whether or not there is a bias in numbers of identifiers of invalid storage media in groups grouped by said group values; and if identifiers of the invalid storage media are concentrated in one specific group, avoiding assigning a group value corresponding to said specific group to a newly-issued electronic storage medium. A method for detecting invalid electronic storage media according to claim 1 or claim 2, wherein each said electronic storage medium (10) is an IC card. A method for detecting invalid electronic storage media according to claim 1, wherein said invalid list (41) is provided on a side of an apparatus (4) which performs said reading step, said checking step and said judging step. A card system comprising: a plurality of cards each having identifiers; a card management system for issuing and managing said cards; and a card application unit connected to said card management system, for reading data from the card in response to a usage request, characterised in that : each of said cards (10) stores therein a pair of values, the pair comprising a group value (12) to which each said card (10) belongs and an identifier (11) for identifying each said card (1); said group values (12) being obtained from the identifiers (11) by calculation using a predetermined hash function; that said card management system (20) comprises card issuance and management means (22) for issuing and managing said cards, hot list creation means (23) for creating a hot list (21) containing identifiers (aaaa, bbbb, cccc, and dddd) for identifying invalid cards on a group basis specified by group values (AA, BB and CC) to which the invalid cards belong, and communication means (24) for communicating with said card application unit (40) via the communication line (30); that said card application unite (40) comprises read means (42) for reading the identifier and the group value from a card in response to a usage request, and by-group list creation means (43) for creating a by-group list (41) from the hot list (21) via the communication line (30), said by-group list (43) containing identifiers (aaaa, bbbb, cccc, and dddd) for identifying the invalid cards on a group basis specified by the group values (AA, BB and CC) to which the invalid cards belong, invalid card checking means (44) for checking if said card thus read is invalid, and card processing means (45) for processing the card based on a result of said invalid card checking means; that said invalid card checking means (44) checks identifiers of invalid cards contained in said by-group list (41) in a group specified by the group value thus read by said read means (42); that said invalid card checking means (44) judges that the requested card is invalid if the identifier thus read is found in said by-group list (41) in the group specified by the group value thus read, otherwise judges that the requested card is valid; and that said card processing means (45) performs invalid card processing when said invalid card checking means (44) judges that the requested card is invalid, and performs valid card processing when said invalid card checking means (44) judges that the requested card is valid. A card system according to claim 5, characterised in: that said card management system (20) checks said list (61) as to whether or not there is a bias in numbers of identifiers of invalid cards in groups grouped by said group values; and that if the identifiers of the invalid cards are concentrated in one specific group, said card management system (2) avoids assigning a group value corresponding to said specific group to a newly-issued card. A card system according to claim 6, wherein said grouping of the individual identification information is performed with each of a plurality of hash values (12) calculated by a predetermined hash function as the group value and wherein said group value of each of said cards corresponds to the hash value (12) calculated by said hash function using the individual identification information (11) assigned to each of said cards (10). The card system according to any one of claims 5 to 7, wherein said card is an IC card (10). A computer-readable recording medium which is for use in a card management system and which stores thereon a program, the program comprising the steps of: preparing a plurality of group values (12; AA, BB, CC) as card classification information; creating a detection list (41) listing individual identifiers of the invalid cards, said detection list placing each card's individual identifier (11) in one of a plurality of groups corresponding to the group value by which the card is classified; reading a pair of values contained on the card (10) to be examined, the pair of values comprising the identifier (11) and the group value (12) of the card (10) to be examined; checking if the individual identifier (11) that was read matches any of the individual identifier (11); on the invalid cards of the corresponding group value (12; AA, BB, CC) listed on said detection list (41); and based on a result of said checking, judging if said card to be examined is invalid.

Inventors: MIYATAKE MANABU, SATO MICHIO, MIYATAKE, MANABU, SATO, MICHIO
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1999
Main classification: G07F7
IPC codes: G06Q10, B42D15, G07F7, G06K17, G06F12, G06F21