System and method for authentication, and device and method for autentication

Abstract: In authentication using a plurality of cipher keys, the authentication time is shortened. In the case that an encipher key to encipher key are required to take an access to each area out of the area to area in a memory of an IC card, a plurality of areas to have an access is informed to the IC card from a reader writer, a plurality of cipher keys corresponding to these areas (for example, cipher key 1, cipher key 2, and cipher key 4) is read out, and reduction processing section generates one reduction key from these cipher keys. A random number which is generated from a random number generation section of the reader writer is transferred to the IC card, and an encipherment section enciphers the random number using the reduction key. The reader writer receives the enciphered random number from the IC card, and deciphers it using the reduction key, and judges the IC card to be proper if the deciphered random number is equal to the generated random number.

Description: BACKGROUND OF THE INVENTION This invention relates to a system and method for authentication, and particularly relates to a system and method for authentication which are capable of authenticating rapidly. Description of Related Art Fig. 20 shows an exemplary structure of a conventional authentication system using an IC card. In this exemplary structure, authentication processing is performed between the IC card 102 and reader writer 101. In the IC card 102, the area for storing information is divided into 5 areas of area 1 to area 5. Respective areas correspond to different cipher key 1 to key 5. To take an access to area i, the corresponding cipher key i is required. When the reader writer 101 records a data in, for example, area 1 of the IC card, or reads a data stored therein, first mutual authentication processing is performed. The reader writer 101 previously stores the same cipher key 1 to cipher key 5 as the cipher key 1 to cipher key 5 stored in the IC card 102. When the reader writer 101 takes an access to area 1 of the IC card 102, the reader writer 101 reads the cipher key 1 corresponding to the area 1 and performs an authentication processing using this key. For example, the reader writer 101 generates a prescribed random number, and informs the random number and the number of 1 of the area to be addressed to the IC card 102. The IC card 102 reads the cipher key 1 corresponding to the informed number of 1, enciphers the random number using the cipher key 1. The enciphered random number is informed to the reader writer 101. The reader writer 101 deciphers the ciphered random number using the cipher key. If the random number informed to the IC card 102 coincides with the deciphered random number, the IC card 102 is judged to be proper. Similarly, the IC card 102 generates a prescribed random number, and outputs it to the reader writer 101. The reader writer 101 enciphers the random number using the cipher key 1, and informs the enciphered random number to the IC card 102. The IC card 102 deciphers the enciphered random number using the cipher key 1. If the deciphered random number is coincident with the random number posted to the reader writer 101, the reader writer 101 is determined to be a proper reader writer. The processing described herein above is performed on respective areas. In the conventional system, it has been difficult to take an access to areas rapidly because mutual authentication processing is performed individually for each area. As the result, it has been difficult that a reader writer 101 takes an access to a prescribed area of the IC card 102 and then writes and reads information in a short time, for example, when a commuter passes a gate installed at a ticket gate. An authentication system for performing authentication processing between a reader/writer and an IC card having a plurality of data areas, wherein a separate cipher key is needed for accessing each data area, is known from US-A 5 293 029. In said system a cipher key selected from a plurality of keys needed for accessing a data area is indicated by a transmitted information. This method and system have the drawbacks as discussed above. SUMMARY OF THE INVENTION The present invention was accomplished in view of such a problem, and it is the object of the present invention to shorten the time for authentication. This object is achieved by an authentication system and an authentication method according to the enclosed independent claims. Advantageous features of the present invention are defined in the corresponding subclaims. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram for illustrating an exemplary structure of an authentication system of the present invention. Fig. 2 is a diagram for illustrating an exemplary data structure of the memory 31 shown in Fig. 1. Fig. 3 is a block diagram for illustrating exemplary structure of a reduction processing section 13 shown in Fig. 1. Fig. 4 is a block diagram for illustrating an exemplary structure of a two-input reduction circuit shown in Fig. 3. Fig. 5 is a block diagram for illustrating an exemplary structure of a two-input reduction circuit shown in Fig. 3. Fig. 6 is a block diagram for illustrating an exemplary structure of a two-input reduction circuit shown in Fig. 3. Fig. 7 is a timing chart for describing operations of the authentication system shown in Fig. 1. Fig. 8 is a block diagram for illustrating another exemplary structure of the reduction processing section 13 shown in Fig. 1. Fig. 9 is a block diagram for illustrating an exemplary structure of an authentication system of a provider in the case that a reduction key is generated in the exemplary structure shown in Fig. 8. Fig. 10 is a block diagram for illustrating an exemplary structure of an authentication system of the provider 2 in the case that a reduction key is generated in the exemplary structure shown in Fig. 8. Fig. 11 is a block diagram for illustrating an exemplary structure of an authentication system of the provider 4 in the case that a reduction key is generated in the exemplary structure shown in Fig. 8. Fig. 12 is a block diagram for illustrating generation of data to be stored in a memory 11 shown in Fig. 9. Fig. 13 is a block diagram for illustrating generation of data to be stored in a memory 11 shown in Fig. 10. Fig. 14 is a block diagram for illustrating generation of data to be stored in a memory 11 shown in Fig. 11. Fig. 15 is a block diagram for illustrating yet another exemplary structure of the reduction processing section 13 shown in Fig. 1. Fig. 16 is a block diagram for illustrating an exemplary structure of an authentication system of the provider 4 in the case that a reduction key is generated by the method shown in Fig. 15. Fig. 17 is a timing chart for describing operations of the example shown in Fig. 16. Fig. 18 is a diagram for describing operations for changing a key. Fig. 19 is a block diagram for illustrating another authentication processing. Fig. 20 is a diagram for illustrating a structure of a conventional authentication system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 1 shows an exemplary structure of an authentication system of the present invention. The system comprises a controller 1, reader writer 2, and IC card 3. A user instead of a commutation ticket for example, carries the IC card 3. The reader writer 2 is installed at a ticket gate of a rail way company who employs the IC card 3. In this specification, the term "system" means a whole apparatus having a plurality of devices. The controller 1 is provided with a memory 11, which stores cipher keys for access to areas of a memory 31 of the IC card 3, and corresponding provider numbers. A communication section 12 communicates between a communication section 21 of the reader writer 2 by wire or radio transmission. A reduction processing section 13 reads a cipher key of a prescribed number out of a plurality of cipher keys stored in the memory 11, and generates one reduction key. A controller 14 controls operations of components in the controller 1, and performs authentication processing. The communication section 21 of the reader writer 2 communicates between the communication section 12 of the controller 1 or a communication section 33 of the IC card 3. An encipherment section 22 enciphers a random number generated from a random number generation section 23, and deciphers an enciphered random number transmitted from the IC card 3 . A control section 24 controls operations of components of the reader writer 2, and performs authentication processing. The IC card 3 is provided with the memory 31. The memory 31 is divided into a plurality of areas (for example 5 areas in Fig. 1). Each provider (for example, Railway Company) takes an access to the corresponding area, and writes and reads data as desired. Each area corresponds to a specific cipher key, and a corresponding cipher key i is required to take an access to a specified area i. A reduction processing section 32 reduces a plurality of cipher keys, and generates one reduction key. An encipherment section 34 enciphers a random number generated by random number generation section 35, and deciphers the enciphered data supplied from the reader writer 2. A controller 36 controls operations of components of the IC card 3, and performs authentication processing. Fig. 2 shows a detailed example of a data structure of the memory 31 of the IC card 3. In this example, the area 51 is assigned as a common area, in which data common to respective providers are stored. The area 52 is assigned as an area for exclusive use by respective providers, and only the provider corresponding to a specific area can take an access to this area. In an area 53, information required to manage the area 51 and area 52 is recorded. The information comprises provider numbers assigned to respective providers, block assignment information for indicating the area which is assigned to the provider, permission information such as that only reading is possible, only writing is possible, or both reading and writing are possible, cipher key, and version of the cipher key. For example, the provider number 00 is common to respective providers, and as the block assignment information, an address of the area 51, which is the common area, is written. As the permission information, information which is possible to take an access to the area 51, which is the common area, is specified. Further, as the version information of the cipher key, the cipher key required to take an access to the area 51, which is the common area, and the version thereof are specified. An area 54 is assigned as a system ID block, and an ID of a system to which this IC card 3 is applied is written. The provider number, permission information, cipher key version, and cipher key shown in Fig. 2 are stored in the memory 11 of the controller 1. Fig. 3 shows an exemplary structure of the reduction processing section 13 (or reduction processing section 32). The processing is performed actually by a software in may cases. In the reduction processing section 13 or 32, in the case that n cipher keys are provided in the IC card 3 , (n-1) circuits of two-input reduction circuits 81-1 to 81-(n-1) are provided, two data are inputted to each reduction circuits, and one data is outputted. In the two-input reduction circuit 81-1, a cipher key of the provider 1 (rail way company 1) and a cipher key of the provider 2 (rail way company 2) are inputted. The two-input reduction circuit 81-1 generates one reduction key from the two cipher keys, and supplies it to the subsequent two-input reduction circuit 81-2. The two-input reduct ion circuit 81-2 reduces the reduction key inputted from the two-input reduction circuit 81-1 and a cipher key of the provider 3 (rail way company 3), and outputs it to the subsequent two-input reduction circuit 81-3 (not shown in the drawing). The same processing is performed in each two-input reduction circuit 81-i, and the reduction key generated from the final two-input reduction circuit 81-(n-1) is regarded as one final reduction key. Figs. 4 to 6 show exemplary structures of the two-input reduction circuit 81-i shown in Fig. 3. An encipherment circuit 81-i shown in Fig. 4 enciphers an input from the front end correspondingly to a cipher key prepared previously, and outputs it to the rear end. For example, if the two-input reduction circuit 81-1 comprises the encipherment circuit 81-i, a cipher key of the provider 1 is inputted as a data, and a cipher key of the provider 2 is inputted as a cipher key. The cipher key (data) of the provider 1 is enciphered and outputted to the two-input reduction circuit 81-2. An encipherment circuit 81-i shown in Fig. 5 receives the input from the front end, enciphers it, and outputs it to the rear end. For example, if the encipherment circuit 81-i is applied to the two-input reduction circuit 81-1, a cipher key of the provider 2 is inputted as a data, and a cipher key of the provider 1 is inputted as a cipher key. The cipher key of the provider 2 is enciphered using the cipher key of the provider 1, and outputted to the subsequent two-input reduction circuit 81-2 as a reduction key. For example, DES (Data Encryption Standard) and EAL (Fast Data Encipherment Algorithm) are used as an encipherment method shown in Figs. 4 and 5. In Fig. 6, the encipherment circuit 81-i comprises an exclusive OR circuit (XOR). For example, if the encipherment circuit 81-i is applied to the two-input reduction circuit 81-1 shown in Fig. 3, an exclusive OR of the cipher key of the provider 1 and the cipher key of the provider 2 is mathematically operated, and the mathematical operation result is outputted to the subsequent two-input reduction circuit 81-2 as a reduction key. In Fig. 3, an cipher key of each provider is a digital data having 30 bytes. In this case, also a reduction key is a digital data having the same bytes. Next, operations are described with reference to a timing chart shown in Fig. 7. The controller 1 and reader writer 2 are shown as separate devices in this embodiment, however, it is possible to use these devices as one combined device. The controller section 14 of the controller 1 controls the communication section 12, and indicates polling with a sufficiently short period (period sufficient for detecting passage of users who pass through a ticket gate of a rail way station having an IC card) for the reader writer 2 (step S1). Upon receiving the indication through the communication section 21, the control section 24 of the reader writer 2 controls the communication section 21 to perform polling to the IC card 3 (step S2). Upon receiving indication of polling from the communication section 21 of the reader writer 2 through the communication section 33, the control section 36 of the IC card 3 informs the existence of this control section 36 (step S3). Upon receiving this information from the IC card 3 through the communication section 21, the control section 24 of the reader writer 2 informs the existence of the IC card 3 to the controller 1 (step S4). Upon receiving this information through the communication section 12, the control section 14 of the controller 1 controls the reduction processing section 13 ( step S5). The reduction processing section 13 reads out the cipher key of an area to be addressed from the memory 11. In the example shown in Fig. 1, the cipher key 1, cipher key 2, and cipher key 4 are read out to the reduction processing section 13 to take access to the area 1, area 2, and area 4. The reduction processing section 13 reduces using these three cipher keys. In detail, as shown in Fig. 3, in the two-input reduction circuit 81-1, the cipher key 1 is enciphered using the cipher key 2, and outputted to the two-input reduction circuit 81-2. The two-input reduction circuit 81-2 enciphers the reduction key obtained by reducing the cipher key 1 and cipher key 2 supplied from the two-input reduction circuit 81-1 using the cipher key 3. The obtained reduction key is used as the final reduction key. When one reduction key is generated as described herein above, the control section 14 informs it to reader writer 2 together with provider numbers (key number), number of providers (number of keys ) , and order of reduction processing (step S6). Upon receiving this information from the communication section 12 of the controller 1 through the communication section 21, the control section 24 of the reader writer 2 instructs the random number generation section 23 to generate a random number r1 (step S7). The controller 24 instructs the communication section 21 to inform the random number r1 to the IC card 3 (step S8). When, the control section 24 informs also the number of providers and provider numbers supplied from the controller 1 to the IC card 3. Upon receiving this information, the controller 36 of the IC card 3 performs first reduction key generation processing (step S9). In detail, the control section 36 reads the cipher key corresponding to the provider number (key number) transmitted from the reader writer 2 from the memory 31, supplies it to the reduction processing section 32 to perform reduction processing. In the case shown in Fig. 1, because the provider numbers corresponding to the cipher key 1, cipher key 2, and cipher key 4 are transmitted, the cipher key 1, cipher key 2, and cipher key 4 corresponding to these provider numbers respectively are read out from the memory 31, and supplied to the reduction processing section 32. The reduction processing section 32 reduces these three reduction keys in a specified order (for example, in order of input of the providers), and finally generates one reduction key. As the result, the same reduction key as the reduction key generated by the controller 1 in the step S5 is generated in the IC card 3. Next, the control section 36 outputs the random number r1 informed from the reader writer 2 and the reduction key generated from the reduction processing section 32 to the encipherment section 34, and the encipherment section 34 enciphers the random number r1 using the reduction key (step S10) to generates an enciphered random number R1. The control section 36 generates a prescribed random number r2 in the random number generation section 35 (step S11). The control section 36 controls the communication section 33 to transfer the enciphered random number R1 and random number r2 generated in the step S11 to the reader writer 2 (step S12). Upon receiving supply of the random number r2 and enciphered random number R1, the control section 24 of the reader writer 2 controls the encipherment section 22 to decipher the enciphered random number R1 using the reduction key received from the controller 1 (step S13). The controller 24 checks whether the random number obtained by deciphering is equal to the random number r1 generated in the step S7, and if the result is NO, then the IC card 3 is judged to be an improper IC card, and the control section 24 informs the judgement to the controller 1 in the step S14. Then, the controller 1 performs error processing ( for example, prevent the user from passing the ticket gate). On the other hand, if the deciphered random number is equal to the random number r1 in the step S13, then the control section 24 control the encipherment section 22 to encipher the random number r2 supplied from the IC card 3 using the reduction key supplied from the controller 1, and an enciphered random number R2 is generated (step S15). Further, the control section 24 transfers the enciphered random number R2 generated as described herein above to the IC card 3 (step S16). Upon receiving supply of the enciphered random number R2 as described herein above, the control section 36 of the IC card 3 controls the encipherment section 34 to decipher the enciphered random number R2 using the reduction key generated in the step S9 (step S17). Whether the deciphered random number is equal to the random number r2 generated in the step S11 is judged. The judgement result is transferred to the reader writer 2 through the communication section 33 (step S18). Upon receiving information of authentication result from the IC card 3, the control section 24 of the reader writer 2 informs this result to the controller 1 from the communication section 21 (step S19). Upon receiving this information through the communication section 12, the controller 14 of the controller 1 performs error processing if the information indicates NG. On the other hand, if the information indicates OK (the IC card is judged to be a proper IC card), the control section 14 of the controller 1 outputs a necessary command such as read out or write to the reader writer 2 (step S20). Upon receiving transfer of the command, the reader writer 2 outputs a read or write command to the IC card 3 (step 21). In this case, read or write of the area 1, area 2, and area 4 of the IC card 3 is instructed as described herein above. As the result, if write in the area 1, area 2, or area 4 is instructed, then the control section 36 of the IC card 3 performs write processing. If read is instructed, the control section 36 of the IC card 3 performs read processing. The read data is transferred from the IC card 3 to the reader writer 2 (step S22), and transferred from the reader writer 2 to the controller 1 (step S23). As described herein above, when a plurality of areas receives the access, cipher keys required individually are not authenticated individually, (For example, in the case of the example shown in Fig. 1, authentication processing is performed not individually on the cipher key 1, cipher key 2, and cipher key 4 (in other words, performed not three times)), but one reduction key is generated from a plurality of cipher keys, and authentication processing is performed only once using this one reduction key, as the result, it is possible to perform authentication processing rapidly. The number of bytes (length) of a reduction key is equal to that of a cipher key in this example, however, it is possible to use different number of bytes. Because a reduction key is used only for authentication, it is not necessary to restore a reduction key to a plurality of original cipher keys. Fig. 8 shows another method for generating a reduction key. In this example, cipher keys K1 to Kn are assigned to respective providers 1 to n, and secret data D0 (not necessary secret because this data is common for the respective providers) which is contained previously are inputted to the first two-input reduction circuit 81-1, and the two-reduction circuit 81-1 enciphers the data D0 based on the cipher key D1 of the provider 1. Next, the two-input reduction circuit 81-2 enciphers the output D1 from the two-input reduction circuit 81-1 based on the cipher key K2 of the provider 2. Then, the same processing is performed successively by the two-input reduction circuit 81-i, the output from the final two-input reduction circuit 81-n is the final reduction key. When a reduction key is generated as shown in Fig. 3, the provider 2 can not generate a reduction key unless the provider 2 knows the cipher key of the provider 1. Because the respective providers are independent basically, it is not preferable for security that the cipher key of a certain provided is informed to other providers. On the other hand, the method for generating a reduction key as shown in Fig. 8 is preferable because a provider can generates a reduction key without being informed the cipher key of another provider. Figs. 9 to 11 show exemplary structures of a controller 1, reader writer 2, and IC card 3 of the provider 1, provider 2 , and provider 4 for the case that a reduction key is generated by the method as shown in Fig. 8. As shown in these drawings, a prescribed data (common data) D0 is stored previously in the memory 31 in addition to the cipher key K1 to cipher key K5 corresponding to the area 1 to area 5 respectively. The cipher key K1 of this provider 1 and data D024 are stored in the memory 11 of the provider 1 (Fig. 9), the cipher key K1 of this provider 2 and data D014 are stored in the memory 11 of the provider 2 (Fig. 10), and the cipher key K4 of this provider 4 and data D012 are stored in the memory 11 of the provider 4 (Fig. 11). These data (individual data) D024, D014, and D012 are generated by methods shown in Figs. 12 to 14. In detail, the provider 1 asks the provider 2 to reduces the predetermined data D0 using the cipher key K2 in the two-input reduction circuit 81-1 to generate data D02 to obtain data D024. Then, the provider 1 provides the data D02 to the provider 4, the provider 4 then reduces using the cipher key K4 in the two-input reduction circuit 81-2 to generate data D024. The provider 1 receives supply of the data D024 from the provider 4, and stores it in the memory 11. In this case, it may be possible that the data D0 is provided first to the provider 4, the provider 4 reduces it using the cipher key K4 to generate data D04 , and then the data D04 is provided to the provider 2, the provider 2 reduces it using the cipher key K2 to generate data D042, and the data D042 is stored in the memory 11. The provider 1 stores the order of reduction which indicates that the reduction is performed in what order. As shown in Fig. 13, the provider 2 asks the provider 1 to generates data D01 which is generated by reducing data D0 using the cipher key K1. The provider 2 provides the data D01 to the provider 4, and asks the provider 4 to generate data D014 by reducing the data D01 using the cipher key K4. The data D014 is stored in the memory 11. Like the preceding case, it may be possible that the provider 2 asks reduction processing first to the provider 4, and then provides the data D04 generated using the cipher key K4 to the provider 1, the provider 1 reduces it using the cipher key K1 to generate data D41, the provider 2 obtains the data D041 and stores it in the memory 11. The provider 2 stores also the order of reduction in the memory 11. Further, as shown in Fig. 14, the provider 4 asks the provider 1 to degenerate the data D0 using the cipher key K1, the provider 1 generates data D01. The data D01 is provided to the provider 2, the provider 2 reduces it using the cipher key K2 to generate data D012. The provider 4 stores the data D012 in the memory 11. Like the preceding cases, it may be possible that the provider 4 asks reduction processing first to the provider 2 to degenerate the data D0 using the cipher key K2, data D02 is generated, the provider 1 reduces the data D02 using the cipher key K1 to generate data D021. The provider 4 also stores the order of reduction in the memory 11. The respective providers can perform authentication processing as described herein under. For example, in the provider 1, the control section 14 controls the reduction processing section 13 as shown in Fig. 9, reads the data D024 and cipher key K1 from the memory 11 to generate a reduction key. The reduction key is transferred to the reader writer 2. When, the number of providers (in this example, the number is three), provider numbers (in this example, provider 1, provider 2, and provider 4), and order of reduction (in this example, in the order of the provider 2, provider 4, and provider 1) are informed to the reader writer 2. The control section 24 controls the communication section 21, and informs the number of providers, provider numbers, and order of reduction transferred from the control section 14 of the controller 1 to the IC card 3. In the IC card 3, when the communication section 33 receives these information, the control section 36 controls the reduction processing section 32 correspondingly to these information. The reduction processing section 32 reads the data D0 from the memory 31, reduces the data D0 successively using a specified order and the cipher key of a specified provider number to generate a reduction key. In detail, the data D0 is reduced using the cipher key K2, and a reduction key is generated. The reduction key generated as described herein above is the same reduction key as generated by the reduction processing section 13 of the controller 1. Accordingly, authentication processing is performed by performing processing following the step S10 as in the case described with reference to Fig. 7. The reader writer 2 of the provider 1 can take an access to the area 1, area 2, and area 4 of the memory 31 of the IC card 3. On the other hand, in the provider 2, as shown in Fig. 10, the control section 14 controls the reduction processing section 13 to read the data D014 from the memory 11, and to regenerate it using the cipher key K2 read from also from the memory 11. The generated reduction key is transferred to the reader writer 2. When, the number of providers (in this example, the number is three), provider numbers (in this example, provider 1, provider 2, and provider 4), and order of reduction (in this example, in the order of the provider 1, provider 4, and provider 2 ) are informed to the reader writer 2. The reader writer 2 transfers these information to the IC card 3. In the IC card 3, a reduction key is generated corresponding to these information. In detail, the reduction processing section 32 of the IC card 3 reads the data D0 from the memory 31, reduces first using the cipher key K1 to obtain data D01. The data D01 is then reduced using the cipher key K4 and data D014 is generated. The data D014 is reduced using the cipher key K2. The reduction key generated as described herein above is the same reduction key as generated by the controller 1. Therefore the reader writer 2 of the provider 2 can take an access to the area 1, area 2, and area 4 of the memory 31 of the IC card 3. Further as shown in Fig. 11, in the provider 4, the control section 14 of the controller 1 controls the reduction processing section 13 to degenerate the data D012 stored in the memory 11 using the cipher key K4 and to generate a reduction key, and transfers it to the reader writer 2. When, the number of providers ( in this example, the number is three), provider numbers (in this example, provider 1, provider 2, and provider 4 ) , and order of reduction (in this example, in the order of the provider 1, provider 2, and provider 4) are informed. These information is transferred to the IC card 3. The IC card 3 performs reduction processing based on these information. In detail, the reduction processing section 32 reads the data D0 from the memory 31, and generates data D01 using the cipher key K1. The data D01 is then reduced using the cipher key K2, and data D012 is generated. The data D012 is reduced using the cipher key K4, and the final reduction key is generated. The reduction key generated as described herein above is the same reduction key as generated by the controller 1. Therefore the reader writer 2 can take an access to the area 1, area 2, and area 4 of the memory 31 of the IC card 3. Fig. 15 shows yet another method for reduction key generation. In this method, data Dn-1 inputted to the two-input reduction circuit 81-n which generates the final reduction key and an ID number held previously by the IC card are mathematically operated, the mathematical operation result is subjected to processing using the cipher key Kn, and a reduction key is generated. other processes are performed as shown in Fig. 8. Fig. 16 shows an exemplary structure of a controller 1, reader writer 2, and IC card 3 for generating a reduction key according to the method shown in Fig. 15. This structure shows the structure of the provider 4. As shown in this drawing, the memory 11 of the controller 1 stores data D012, cipher key K4, and reduction order. The reader writer 2 is provided with an ID acquisition section 211 for acquiring an ID from the data received by the communication section 21. The IC card 3 stores previously an ID number specific to the IC card 3 in the memory 201 (the memory 201 may be the same memory as the memory 31). By performing authentication processing in such the way using ID number, confusion which may happen when a plurality of users having IC cards containing the same provider combination (for example, combination of the provider 1, provider 2, and provider 4) passed adjacently together a ticket gate of a certain provider can be avoided. In detail, when a plurality of IC cards 3 passes near the reader writer 2 of a certain provider, the plurality of IC cards 3 responses respectively to the request from the reader writer 2, the reader writer 2 can not judges that this response is a response from which IC card, and erroneous processing can be performed. However, by using the ID number, such confusion can be avoided. For example, as shown in Fig. 17, when an IC card 3A and IC card 3B are passing near the reader writer 2, the reader writer 2 requests an ID to the IC card 3 (step S41). Not only a communication section 33 of the IC card 3A but also a communication section 33 of the IC card 3B receive the request. Upon receiving an ID request signal as described herein above, the control section 36 of the IC card 3A controls the random number generation section 35 to generate a certain random number ( step S42). The control section 36 of the IC card 3A performs assignment processing of time slot corresponding to the generated random number (step S43). In detail, communication between the reader writer 2 and IC card 3 is performed by time-division multiplex operation, the IC card 3A assigns a time slot corresponding to the generated random number out of a plurality of time slots as the time slot for communication of this IC card 3A. At the timing of the assigned time slot, the control section 36 of the IC card 3A transmits an ID number (IDA) read out from the memory 201 to the reader writer 2 through the communication section 33 (step S44). The same processing is performed in the other IC card 3B. In detail, upon receiving an ID request signal from the reader writer 2, the control section 36 of the IC card 3B controls the random number generation section 35 to generate a random number (step S45). The control section 36 of the IC card 3B assigns the time slot corresponding to the generated random number as the time slot of this IC card 3B (step S46). An ID number ( IDB) stored in the memory 201 is read out, and transferred to the reader writer 2 at the timing corresponding to the assigned time slot (step S47) When the communication section 21 receives the ID number transmitted from the IC cards 3A and 3B, the reader writer 2 supplies it to the ID acquirement section 211 for storing. The control section 24 controls the random number generation section 23 to generate a random number r1 (step S48). Further, the control section 24 selects the ID which is acquired, for example, first out of acquired ID's (step S48). The control section receives supply of data D02 , cipher key K4, and reduction order, and generates a reduction key corresponding to these information. First, the control section 24 performs prescribed mathematical operation on the selected ID (for example, IDA of the IC card 3) namely data D012 . The mathematical operation may be addition or mathematical operation of exclusive OR. The control section 24 reduces the mathematical operation result using the cipher key K4 to generate a reduction key. Further, the number of providers, provider numbers, reduction order, and random number r1 are transmitted to the IC card 3 (step S50). The information is received by both the IC card 3A and IC card 3B. Upon receiving the information, the IC card 3B reduces the data D0 using the cipher key K1 according to the specified order and obtains data D01, the data D01 is reduced using the cipher key K2 and data D012 is obtained (step S51). The IDB is read out from the memory 201, the result obtained by mathematical operation of the IDB and data D012 is reduced using the cipher key K4. The encipherment section 34 deciphers the enciphered random number r1 using the reduction key generated as described herein above. However, because the random number r1 was enciphered using the reduction key generated using the IDA, the random number r1 can not be deciphered using the reduction key generated using the IDB. Therefore the IC card 3B does not respond to transmission from the reader writer 2 hereafter. On the other hand, in the IC card 3A, the control section 36 generates a reduction key corresponding to the information transmitted from the reader writer 2 (step S52). In detail, the reduction processing section 32 of the IC card 3A reduces data D0 read out from the memory 31 first using the cipher key K1 read out form the area 1 according to the specified reduction order to generate data D01. The data D01 is reduced using the cipher key K2 read out from the area 2, and data D012 is generated. The data D012 and ID number (IDA) read out from the memory 210 are subjected together to prescribed mathematical operation, and the mathematical operation result is reduced using the cipher key K4 read out form the area 4 to generate a reduction key. The reduction key generated as described herein above is the same reduction key as generated by the reader writer 2 in the step S49. Accordingly, by performing the processing of the step S53 to step 59 which are corresponding to the step S10 to step S17 in Fig. 7 hereafter, authentication processing is performed. The processing is the same processing as described with reference to Fig. 7, and the description is omitted. Fig. 18 shows a method for changing a cipher key. For example, when the provider 1 wants to change the cipher key K1, a prescribed random number e1 is generated, and used as a new key K1'. When the cipher key of the provider itself is changed as described herein above, the provider 1 can change desirably by itself the cipher key K1 stored in the area 1 of the memory 31 of the IC card 3 of the user who uses the reader writer 2 of the provider 1. However, it is required that the cipher key K1 of the IC card 3 of a user who uses the reader writer 2 of other provider 2 or provider 4 must be changed. In this case, the provider 1 can change the cipher key K1 to the new cipher key K1' without notifying the new cipher key K1' to other provider 2 or provider 4. In this case, the provider 1 generates data C1 and C2 first by mathematical operation of the following equations. C1=E(e1, K1) C2=E(e2, K1) Herein, E(A, B) means encipherment of the data A using the key B. A method of encipherment such as DES or FEAL may be used. e2 is a value which satisfies the following equation. e1+e2=F The value F is a predetermined value, which other provider 2 and provider 4 know the value as a value which is to be used when they change their cipher keys, and previously stored in the memory 31 of the IC card 3. When the provider 1 generates the data C1 and C2 as described herein above, the provider 1 informs this value to other providers together with the key number (in this case, the key number 1) assigned to the cipher key K1 of the provider 1. Each respective provider changes, using these data, the key K1 in the memory 31 of the IC card 3 which uses its reader writer 2 by the way as described herein under. This change processing is described herein under with an example for the provider 4. In detail, the reader writer 2 of the provide 4 transmits the data C1 and C2 to the IC card 3. The encipherment section 34 of the IC card 3 calculates e1 and e2 by performing mathematical operation of the following equations. e1=D(C1, K1) e2=D(C2, K1) Herein, D(A, B) means encipherment of the data A using the key B. Accordingly, the IC card 3 can obtain the data e1 and e2 by deciphering the data C1 and C2 using the key K1 stored in the memory 31. The control section 36 adds e1 and e2 obtained as described herein above, and judges whether the addition result is equal to the prescribed value F stored previously in the memory 31. If the result is YES, then the data e1 obtained by deciphering the data C1 is registered as a new key K1' which will be used instead of the key K1. On the other hand, if the sum of e1 and e2 is not equal to F, change processing is not performed because the change request is regarded improper. For example, if a malicious provider wants to alter the cipher key K1 of the provider 1 and mathematically operates the following equation to obtain e1' and e2'. e1'=D(C1', K1) e2'=D(C2', K1) C1' and C2' are values which the malicious provider sets fittingly. However, if e1' and e2 ' generated as described herein above are added, the addition result is generally not equal to the value F. It take a long time to find a combination of e1' and e2' which results in the value equal to F, and it is substantially very difficult. Therefore the alteration of a cipher key by a third party is prevented. The provider 2 also performs the same processing to change the cipher key K1 in the memory 31 of the IC card which uses the reader writer 2 of the provider 2. When the cipher key K1 of the provider 1 is changed as described herein above, the provider 1, provider 2, and provider 4 perform again the same processing as described with reference to Figs. 12 to 14 to change data D024, D014, and D012 to be stored respectively. Fig. 19 shows another method of authentication processing. A reader writer 2 shown in Fig. 2 represents the reader writer of the provider 4. In this example, the control section 24 generates a reduction key Ks using the cipher key K4 and data D012 stored in the memory 11. The control section 24, for example, synthesizes an even number bit and odd number bit of the cipher key K4 to generate the first reduction key K4s1, and synthesizes an odd number bit and even number bit of the cipher key K4 to generate the second reduction key K4s2. The first reduction key K4s1 is inputted to the encipherment section 22A of the encipherment section 22, and is used to encipher a random number generated by the random number generation section 23. The enciphered random number is transmitted to the IC card 3. When, as in the case described herein above, information required to generate a reduction key is transmitted simultaneously to the IC card 3. The IC card 3 reads out the data D0 from the memory 31 using this information, and generates a reduction key Ks by applying cipher keys K1, K2, and K4 successively. The reduction key Ks has the same value as the reduction key Ks generated by the reader writer 2. The control section 36 generates the first reduction key K4s1 and second reduction key K4s2 by performing the same processing as the reader writer 2. The decipherment section 34B of the encipherment section 34 deciphers the enciphered random number transmitted from the reader writer 2, and transmits the deciphered random number to the encipherment section 34A. The encipherment section 34A enciphers it using the second reduction key K4s2 and transmits it to the reader writer 2. The decipherment section 22B of the encipherment section 22 in the reader writer 2 deciphers the enciphered random number transmitted from the IC card 3. The deciphered result is transmitted to the control section 24. The random number deciphered as described herein above is equal to the same random number as generated by the random number generation section 23 if the IC card is proper. Accordingly, by judging whether the received random number is equal to the generated random number, authentication processing is performed.

Claims: An authentication system for performing authentication processing between a first device (3) and a second device (1, 2), said first device (3) comprising: a first memory means (31) for storing a plurality of data areas and a first plurality of keys, each of said data areas being accessible by a corresponding one of said first plurality of keys; a first generation means (32) for generating a first single authentication key by reducing at least two of the first plurality of keys stored in said first memory means (31) to a reduction key; and a first communication means (33) for communicating with said second device (1, 2) by notifying a first message generated via said first single authentication key; and said second device comprising: a second memory means (11) for storing a second plurality of keys equivalent to said first plurality of keys; a second generation means (13) for generating a second single authentication key by reducing at least two of the second plurality of keys stored in said second memory means (11) to a reduction key; and a second communication means (21) for communicating with said first device (3) by notifying a second message generated via said second single authentication key; wherein one of said first and second devices (3; 1, 2 ) further comprises an encipherment means (22; 34) for enciphering data using a corresponding one of said first single authentication key and said second single authentication key, and the other of said first and second devices (3; 1, 2) further comprises a decipherment means (34; 22) for deciphering said data enciphered by said encipherment means (22; 34) using the other corresponding one of said first single authentication key and said second single authentication key. An authentication system according to claim 1, wherein said one of said first and second communication means (33; 21) notifies information required to generate said corresponding one of said first single authentication key and said second single authentication key to the other of said first and second communication means (33; 21), and the other of said first and second devices (3; 1, 2) generates said corresponding one of said first single authentication key and said second single authentication key corresponding to the information notified. An authentication system according to claim 2, wherein said information includes an order using at least two of said plurality of keys corresponding to one of said first single authentication key and said second single authentication key. An authentication system according to any one of claims 1 to 3, wherein at least one of said first device (3) and said second device (1, 2) further comprises a random number generation means (23; 35) for generating a random number, said encipherment means (22; 34) enciphers said random number generated by said random number generation means (23; 35), and said decipherment (34; 22) means deciphers said random number enciphered by said encipherment means (22; 34). An authentication system according to anyone of claims 1 to 4, wherein said first message is an enciphered random number (R1) generated (S10; 34) via said first single authentication key, and said second message is an enciphered random number (R2) generated (S15; 22) via said second single authentication key. An authentication method for performing authentication processing between a first device (1, 2) storing a first plurality of keys and a second device (3) storing a second plurality of keys equivalent to said first plurality of keys and a plurality of data areas, wherein each of said data areas is accessible by a corresponding one of a first plurality of keys, the method comprising the steps of: generating (S5) a first single authentication by reducing at least two of a first plurality of keys stored in said first device (1, 2) to a reduction key; sending (S7) a command to said second device (3), said command including a first random number (r1) and control information; receiving (S7) said command from said first device (1, 2); generating (S9) a second single authentication key by reducing at least two of a second plurality of keys stored in said second device (3) based on said control information to a reduction key; enciphering (S10) said first random number (r1) using said second single authentication key in said second device (3) to generate a second random number (R1); sending (S12) said enciphered second random number (R1) to said first device (1, 2); deciphering (S13) said enciphered second random number (R1) using said first single authentication key; and comparing (S13) said deciphered second random number (R1) and said first random number (r1). An authentication method according to claim 6, wherein said control information is an order of reduction (S9) of said second plurality of keys to generate said second single authentication key.

Inventors: ISHIBASHI YOSHIHITO, KUSAKABE SUSUMU, TAKADA MASAYUKI, ISHIBASHI, YOSHIHITO, KUSAKABE, SUSUMU, TAKADA, MASAYUKI
Applicants: SONY CORP, SONY CORPORATION
Application year: 1998
Main classification: G07F7
IPC codes: G09C1, G06K17, H04L9, G07F7, H04L29