WO2005109739A1 - 暗号用鍵情報を格納したicカードの発行方法 - Google Patents

暗号用鍵情報を格納したicカードの発行方法 Download PDF

Info

Publication number
WO2005109739A1
WO2005109739A1 PCT/JP2005/008656 JP2005008656W WO2005109739A1 WO 2005109739 A1 WO2005109739 A1 WO 2005109739A1 JP 2005008656 W JP2005008656 W JP 2005008656W WO 2005109739 A1 WO2005109739 A1 WO 2005109739A1
Authority
WO
WIPO (PCT)
Prior art keywords
card
key information
encryption key
encryption
issuing
Prior art date
Application number
PCT/JP2005/008656
Other languages
English (en)
French (fr)
Inventor
Fukio Handa
Yoshihiro Yano
Takayuki Chikada
Syouzou Niwata
Original Assignee
Dai Nippon Printing Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co., Ltd. filed Critical Dai Nippon Printing Co., Ltd.
Priority to US11/579,080 priority Critical patent/US20070165860A1/en
Publication of WO2005109739A1 publication Critical patent/WO2005109739A1/ja
Priority to US13/111,586 priority patent/US8099771B2/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Definitions

  • the present invention relates to a method for issuing an IC card storing cryptographic key information, and more particularly, to a method in which a plurality of IC cards each storing unique cryptographic key information are transferred to a specific individual belonging to a specific group.
  • a method for issuing an IC card storing cryptographic key information and more particularly, to a method in which a plurality of IC cards each storing unique cryptographic key information are transferred to a specific individual belonging to a specific group.
  • the IC card is used for various purposes as a highly confidential portable information recording medium. Recently, more and more companies are distributing a multifunctional IC card that also serves as an employee ID card to each employee. Focusing on such confidentiality, there are many cases where an IC card is used as a recording medium for storing key information used for encrypting and decrypting information.
  • a secret encryption key or an encryption key table (herein, these are collectively referred to as encryption key information) are used as seeds in the encryption algorithm. Is often done. In the encryption process for converting predetermined plaintext data into ciphertext data, processing using this secret encryption key information is performed.
  • the secret encryption key information used in the encryption process is an essential element in the decryption process that returns the ciphertext data to plaintext data. That is, unless the secret encryption key information is available, decryption cannot be performed. Therefore, if this secret encryption key information is stored in the IC card, the encryption It becomes very difficult to access the key, and the security of the ciphertext itself can be improved.
  • decryption of ciphertext data should be permitted only to the person authorized by the person who performed the encryption, so the encryption key information differs for each individual. Must be unique data. Therefore, a multifunctional I that doubles as an employee ID.
  • a unique encryption key information is determined for each employee, and when issuing an IC card, a process of storing the unique encryption key information in each IC card is performed. As a result, the IC card issued to each employee will have different unique encryption key information stored.
  • the encryption key information is a secret key code used by the processing device in the encryption and decryption processes, the employee who owns the IC card usually does not need to know the same.
  • the encryption key information stored in the IC card is supposed to be handled as secret data that even the person who owns the IC card does not know. It is preferable that the data be present only inside the card and not be known by anyone. For example, if a code generated randomly using a random number inside the IC card is stored as it is in the IC card as encryption key information, information that no one can know will be used as the encryption key information. It will be stored only in the card.
  • the method of storing the encryption key information outside the IC card in this way has no problem on the premise that the storage is performed under the strict control of a trusted administrator.
  • a problem that sufficient security cannot be ensured in practical use.
  • the IC card provider for example, a major printing company
  • the IC card provider will handle the data of the encryption key information provided by the client company for each employee with due care to ensure the perfect security. However, it cannot be guaranteed that there are absolutely no fraudsters among the staff involved in the IC card issuing business.
  • the IC card provider generally receives orders from a plurality of customers, and unintentionally, if unintentional, stores the encryption key information for the employee of the customer company A in another form. There is also a possibility that a problem may occur that is passed to the person in charge of the customer company B.
  • the present invention provides a method for reissuing a plurality of IC cards each storing unique encryption key information to a specific individual belonging to a specific group. It is an object of the present invention to provide an IC force issuance method that stores encryption key information that can perform an issuance process in a manner that can perform issuance and that can ensure sufficient security. Disclosure of the invention
  • a first aspect of the present invention provides an IC card that stores a plurality of IC cards each storing unique encryption key information to a specific individual belonging to a specific group.
  • the memory uses at least two pieces of data to perform arithmetic processing based on a predetermined algorithm.
  • a second aspect of the present invention is the method for issuing an IC force storing the encryption key information according to the first aspect
  • a third aspect of the present invention is a method for issuing an IC card storing encryption key information according to the first aspect
  • the encryption key information As the encryption key information, a part of it generates a key table used as an encryption key used for encryption or decryption.
  • a fourth aspect of the present invention is the method for issuing an IC card storing encryption key information according to the third aspect
  • Two kinds of codes are written as secret personal codes, a first key table is generated based on the first secret personal code and the secret group code, and a second key table is generated based on the second secret personal code and the secret group code.
  • Generate a second key table store these two key tables as encryption key information in the IC card, and combine a part of the first key table and a part of the second key table.
  • an encryption key used for encryption or decryption can be obtained.
  • a routine that records an instruction to prohibit subsequent execution of the key information 'generation program in the IC card after a predetermined number of executions on the IC card, and a routine that prohibits execution if this instruction is recorded And are included so that the key information generation processing is executed only a predetermined number of times.
  • the encryption key information is stored in the IC card, and this is stored in the IC card storing the encryption key information. It is provided as.
  • a key information generation program for executing the method according to the first to fifth aspects is prepared and stored in an IC card. .
  • a ninth aspect of the present invention relates to an IC card used for executing an encryption process or a decryption process using unique encryption key information
  • a program for generating key information and storing it in a memory By performing arithmetic processing based on a predetermined algorithm using the first data and the second data stored in the second storage location, a symbol for a symbol uniquely determined according to the two data is obtained.
  • a tenth aspect of the present invention relates to an IC card used to execute an encryption process or a decryption process using unique encryption key information
  • a CPU central processing unit
  • a memory a main memory
  • an I / O unit that exchanges information with the outside
  • a program for executing processing for storing data for generating encryption key information given from the outside in the first storage location and the second storage location in the memory, respectively, and a program for storing the program in the first storage location By performing arithmetic processing based on a predetermined algorithm using the first data and the second data stored in the second storage location, an encryption key uniquely determined according to the two data A program that generates information and stores it in memory;
  • the encryption key information is created inside the IC card using the secret group code and the secret personal code, and the IC card is used as it is.
  • the secret group code is a code defined for the group to which the individual to be issued belongs, and can be stored, for example, by the administrator of the IC card provider.
  • the secret personal code is a code specified by the individual to be issued and can be kept by the individual himself. Neither the secret group code nor the secret personal code are themselves encryption key information, so after all, the encryption key information in the IC card must be stored in a state that is unknown to anyone. Become.
  • the administrator can enter the secret group code stored by the administrator and the secret personal code stored by the individual into the new IC card. Since the same encryption key information can be created again inside the IC card, the IC card can be reissued. Therefore, according to the present invention, when a plurality of IC passwords each storing unique encryption key information are issued to a specific individual belonging to a specific group, reissue is possible. In addition, the issuing process can be performed in such a manner that sufficient security can be ensured.
  • FIG. 1 is a block diagram illustrating the configuration of a general IC card that is currently widely used and a process of an encryption process using the IC card.
  • FIG. 2 is a block diagram showing an embodiment in which the encryption / decryption processing is performed not in the IC card 100 but in an external arithmetic processing device 200.
  • FIG. 3 is a block diagram showing how the IC card provider X issues an IC card functioning as an employee ID card to each of the employees belonging to the customer company A and the customer company B.
  • FIG. 4 is a block diagram showing a processing process of a key information generation program prepared in the IC card according to the present invention.
  • FIG. 5 is a flowchart showing a basic procedure of an IC card issuing method according to the present invention.
  • FIG. 6 is a block diagram showing an embodiment in which the issuing method according to the present invention is applied to the specific case shown in FIG.
  • FIG. 7 is a diagram showing the concept of a table used for encryption / decryption processing.
  • FIG. 8 is a diagram showing a developed form using two sets of the key tables shown in FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram illustrating the configuration of a general IC card 100 widely used at present, and a process of encryption processing using the IC card 100.
  • the IC card 100 has a memory 110, a CPU 120, and an IZO unit 130.
  • the memory 110 is composed of a ROM 111 that is a non-rewritable nonvolatile memory, an EEPROM 112 that is a rewritable nonvolatile memory, and a RAM 113 that is a rewritable volatile memory. I have.
  • the ROM 111 stores a program for executing the basic processing functions of the IC card 100.
  • the EEPROM 112 stores various programs to be recorded on the IC card 100. Data is stored.
  • the RAMI 13 is used as a work area when the CPU 120 executes various processes.
  • the memory 110 can be accessed only by the CPU 120, and cannot directly access the memory 110 from outside. External access is performed via the IZO unit 130. That is, the CPU 120 executes a command externally supplied through the IZO unit 130 based on the program in the ROM 111, and returns the execution result as a response to the outside through the I / 0 unit 130.
  • the illustrated example is an example of an IC card having a function of executing an encryption process for converting plaintext data into ciphertext data and a conversely, a decryption process for converting ciphertext data into plaintext data.
  • a program for performing the encryption and the decryption is stored in 1, and a key for the symbol used by the program is stored in the EEPROM 112.
  • the CPU 120 receives the given command based on the program in the ROM 111.
  • the encryption command is executed, the given plaintext data is subjected to a predetermined encryption process, and the obtained ciphertext data is output to the outside together with the response via the IZO unit 130.
  • a symbol key stored in the EEPROM 112 is used.
  • the CPU 120 is given based on the program in the ROM 111. Executes the decryption command —Perform a predetermined decryption process on the evening to restore the original plaintext data,
  • the encryption / decryption processing program is provided in the ROM 111, but this program may be provided in the EE PROM 112. If an encryption / decryption processing program is prepared in the EE PROM 112, it is possible to rewrite this processing program as needed. Also, here, for convenience of explanation, the IC card 100 having only the encryption and decryption processing functions is shown. However, in practice, the IC card 100 is used for various purposes, so that the ROM 111 or the EE PROM is used. 1 12 stores programs for executing various processes in these various uses.
  • FIG. 2 is a block diagram showing an embodiment in which the encryption / decryption processing is performed not in the IC card 100 but in an external arithmetic processing device 200.
  • plaintext data when plaintext data is given to the external processing unit 200, it is output as ciphertext data, and conversely, when ciphertext data is given, it is output as plaintext data.
  • the encryption / decryption processing is performed by the external arithmetic processing unit 200, the symbol key stored in the EEPROM 112 is transmitted to the external arithmetic processing unit via the I / 0 unit 130. Read out to the device 200 side.
  • a program for encryption and decryption is provided in the external processing unit 200, and the program performs the encryption Z decryption process by ffl using the encryption key read from the IC card 100. Will run.
  • the embodiment shown in FIG. 1 since the encryption key stored in the EEPROM 112 is read out of the IC card 100, security From a viewpoint, the embodiment shown in FIG. 1 is superior. In the embodiment shown in FIG. 1, the code key stored in the EEPROM 110 is not read out of the IC card 100, so that the encryption key is stored in the EEPROM 112. After that, it is extremely unlikely to be known by illicit means.
  • FIG. 3 is a block diagram showing how the IC card provider X issues an IC card functioning as an employee ID card to each of the employees belonging to the client company A and the client company B.
  • unique encryption keys are stored for three employees a, ⁇ , and ⁇ belonging to customer company A and three employees ⁇ , ⁇ , and ⁇ belonging to customer company ⁇ .
  • An example is shown where an IC card is issued as an employee ID card. In practice, IC cards will be issued to a larger number of employees, and there will be more customer companies.
  • the symbol key stored in each IC card is a unique key different from each other.
  • the unique encryption keys K (a), K (j8), K (a) , ⁇ ( ⁇ ), ⁇ ( ⁇ ), and ⁇ ( ⁇ ) are stored.
  • the IC card provider X prepares the data for these symbols and prepares each IC card at the time of issuance. In general, a process of writing an individual encryption key to the device is performed.
  • the encryption key data is stored at the IC card provider X side, or stored by the management personnel of the customer company ⁇ and the customer company ⁇ . Will do.
  • the encryption key data is provided to the IC card provider X. Therefore, it is undeniable that there is a possibility that the cryptographic key will be leaked due to cheating or negligence on the IC card provider X side. It is also undeniable that there is something wrong with customer company A or customer company B.
  • the encryption key used for encryption / decryption processing should be managed under strict security so that such leakage does not occur.
  • the present invention provides a method for issuing an IC card that can ensure sufficient security and that can be reissued.
  • FIG. 4 is a block diagram showing a processing process of a key information generation program prepared in the IC card according to the present invention.
  • the key information generation program used in the present invention performs an arithmetic process based on a predetermined algorithm using at least two data, so that encryption key information (encryption key) determined uniquely according to the two data. ) Is generated.
  • Fig. 4 shows an example where cryptographic key information K is generated as a result of performing an arithmetic process based on a predetermined algorithm A using two data, a secret group code G and a secret personal code P. ing. The meaning of the secret group code G and the secret personal code P and the differences between them will be described later.
  • any algorithm may be used as the predetermined algorithm A, but in the figure, as an example, a secret group code G consisting of four digits and a secret group code consisting of four digits are also shown.
  • a simple algorithm is shown in which the sum with the personal code P is obtained, and the last four digits of the sum are used as the encryption key information K.
  • the secret group code G is a number “6 7 8 9” and the secret personal code P is a number “5 1 5 1”, as shown in the figure, a key for a symbol consisting of a number “1 9 4 0” Information K will be generated.
  • the algorithm for generating the encryption key information K is not necessarily limited to an arithmetic process based on two data, and at least two data, a secret group code G and a secret personal code P, are used. As long as the algorithm can obtain the encryption key information K uniquely determined according to one data, the calculation using the third data or the fourth data may be performed.
  • the encryption key information K is generated by an algorithm using two data, the secret group code G and the secret personal code P, the request to ensure sufficient security and the need to re- It will be possible to satisfy both the demand for enabling issuance.
  • two codes, a secret group code G and a secret personal code P are required to obtain the encryption key information K, and only one of them is required. Since the encryption key information K cannot be generated, if the secret group code G and the secret personal code P are set in different management environments, the encryption key information K is obtained by an unauthorized method. Possibilities can be greatly reduced.
  • the encryption key information K can be generated at any time as information uniquely determined based on these two codes. In this case, it will be possible to reissue the IC card.
  • FIG. 5 is a flowchart showing a basic procedure of the IC card issuing method according to the present invention.
  • step S1 the configuration as shown in FIG. 1, that is, the memory 110, the CPU 120, and the exchange of information with the outside 10 1
  • a program for executing the encryption key information generation process shown in FIG. 4 is prepared in the memory 110. That is, in step S1, a key information generation program that generates an encryption key information uniquely determined according to the two data by performing an arithmetic processing based on a predetermined algorithm using at least two data.
  • An IC card in which is stored will be prepared.
  • step S2 the secret group code G is written, and in step S3, the secret personal code P is written.
  • step S3 the secret personal code P is written.
  • These writing processes are actually performed by giving the IC card 100 data to be written together with a predetermined write command.
  • step S4 a process of generating encryption key information K is performed. That is, the process shown in FIG. 4 is executed inside the IC card 100, and the generated encryption key information is directly written and stored in the EEPROM 112.
  • the process of generating the encryption key information K is actually performed by giving an execution command to the IC card 100 to execute the key information generation program.
  • steps S2 and S3 may be performed on the EEPROM 112 or may be performed on the RAM 113.
  • the RAMI 13 is a non-volatile memory, if a process of temporarily stopping the power supply to the IC card 100 is performed before the execution of step S4, writing to the EEPROM 112, which is a non-volatile memory, should be performed. Need to be
  • the IC card provider X entrusted by the client company A and the client company B sends a unique encryption code to the employees ⁇ , ⁇ , r, ⁇ , ⁇ , and ⁇ .
  • This is an example of issuing an IC card that stores the keys ⁇ (), K (j3), K (r)> ⁇ ( ⁇ ), ⁇ ( ⁇ ), ⁇ ( ⁇ ).
  • IC card provider X defines a secret group code G for each company.
  • a secret group code G (A) is defined for customer company A
  • a secret group code G (B) is defined for customer company B.
  • These codes G (A) and G (B) may be any codes as long as they are different from each other.
  • G (C) and G (D ) Is defined.
  • the secret group code in the present invention is a unique code commonly assigned to one group.
  • a secret group code is written to the IC card.
  • this process is performed by the IC card provider X.
  • the process of writing the secret group code G (A) on the IC card to be delivered to the customer company A, and the process of writing the secret group code G (B) on the IC card to be delivered to the customer company B Eventually, in the case of the embodiment shown in Fig. 6, the IC card provider X delivers three IC cards with the secret group code G (A) written to the customer company A, and Three IC cards with the group code G (B) written can be delivered to customer company B.
  • steps S1 and S2 shown in the first half of FIG. 5 is processing performed on the IC card provider X side, but the processing in steps S3 and S4 shown in the second half of FIG.
  • the processing is performed on each customer company A and B side.
  • customer Company A is delivered three IC cards with the secret group code G (A) already written, so the person in charge of customer company A sends these IC cards to each employee ⁇ , i3, key It distributes and instructs the user to execute a predetermined initialization process to initialize the IC card.
  • steps S3 and S4 in FIG. 5 are executed.
  • the employee, ⁇ , and a perform the process of writing the unique secret personal codes P (a), P (] 3), and P (end) in their IC card, and then write the IC card to the IC card.
  • Command to execute the key information generation program and use the secret group code G (A) and the secret personal codes P ( ⁇ ), ⁇ ( ⁇ ), and P (r) written by each user.
  • the encryption key information ⁇ ( ⁇ ), K (i3), and K (r) are generated inside the IC card, respectively, and are stored in the EE PROM 112 in the IC card as they are.
  • each of the IC cards owned by the employees ⁇ , ⁇ , and 7 has its own encryption key information K (0;), K (j8), ⁇ (r) is stored and becomes usable for encryption / decryption processing.
  • the customer company B is delivered with three IC cards in which the secret group code G (B) is already written, so that the employees ⁇ , ⁇ , and ⁇ have their own secret personal codes ⁇ ( ⁇ 5), ⁇ ( ⁇ ), and ⁇ ( ⁇ ) are written, and then an execution command to execute the key information generation program is given, and the key information for the symbol ⁇ ( ⁇ 5), ⁇ .
  • An IC card in which ⁇ ) and ⁇ ( ⁇ ) are stored can be obtained.
  • a computer equipped with a reader / writer device for an IC card and a dedicated initialization program it is preferable to prepare a computer equipped with a reader / writer device for an IC card and a dedicated initialization program. Specifically, when an employee inserts his or her IC card into the computer's reader / writer and executes the initialization program, a message prompting the user to enter the secret personal code P is displayed on the computer screen. Employees enter any code as the secret personal code P Then, a command for writing the arbitrary code into the IC card (step S3 in FIG. 5) is given to the IC card, and subsequently, processing for executing the key information generation program (FIG. 5) The command for performing step S 4) may be given to the IC card.
  • the secret group code G used in the present invention is defined for the group (each company in the illustrated example) to which the individual to be issued (each employee in the illustrated example) belongs.
  • the secret personal code P is a code specified by the individual to be issued.
  • the secret group codes G (A) and G (B) are the managers of the IC card provider X (in other words, the management that does not belong to any of the groups A and B). ) Will be stored and managed. These codes are indispensable for generating each key information for encryption, but the substance is not the key information itself, but a secret code assigned to each group. Therefore, the manager has no way of knowing what kind of data is the encryption key information stored in the IC card carried by each employee belonging to companies A and B.
  • the contents that the manager on the IC card provider X side can know is that the IC card shipped to customer company A has a secret group code G (A) written on it, and the customer company B It is just the fact that the IC card shipped to has the secret group code G (B). Therefore, even if these secret group codes G (A) and G (B) are leaked due to the cause of the IC card provider X, it does not lead to a serious situation in terms of security protection.
  • the secret group code is stored and managed by the person in charge at each customer company. It does not matter. For example, for the secret group code G (A), the person in charge of the customer company A performs storage management, and for the secret group code G (B), the person in charge of the client company B performs storage management.
  • the IC card provider X may not store or manage these codes at all. Of course, it is also possible to store and manage both the staff at the customer companies A and B and the manager at the IC card provider X.
  • the secret personal code P is the code entered by the employee ⁇ in the initialization process for his IC card, and can be a secret code known only to ⁇ .
  • the secret personal code entered in the initialization process will not be forgotten. It is preferably a code, preferably a confidential memo.
  • the advantage of the present invention is that, as described above, the security for the key information stored in each IC card is sufficiently secured, and in the unlikely event that the IC card can be reissued, It is a point. For example, if an employee loses or damages his or her IC card, it will be impossible to recover the data encrypted in the past without using the IC card. would. In such a case, the employee simply obtains a new I from IC card provider X. If the card is delivered and the initialization process is performed using the same secret personal code ⁇ () as the previous time, the reissued IC card can be obtained.
  • the IC card provider X is a delivery to the customer company ⁇ , it is delivered with the secret group code G (A) written on the IC card. Therefore, as long as the employee performs the initialization process using the same private personal code P () as the previous time, the same encryption key information K (a) as in the previous time is stored in the reissued IC card. Because it is stored, it is possible to restore data that was encrypted in the past.
  • FIGS. 1 and 2 show an example in which encryption processing and decryption processing are performed using an encryption key stored in an IC card, but the “encryption key information” in the present invention refers to As described above, not only the encryption key used for encryption or decryption itself, but also a part of it means a broad concept including a key table used as the encryption key used for encryption or decryption. is there.
  • FIG. 7 is a diagram showing the concept of such a key table.
  • one cell indicates data of one pile, and a key table is composed of a total of 20 piles of data.
  • a desired part of the key table can be extracted and used as an encryption key as needed, It can be used as an encryption key with multiple variations. For example, if, during the encryption process, an instruction such as “use the 8th byte from the 7th byte as the encryption key” is given from the outside and the encryption process is executed, as shown in the example in the figure, Only a specified part is extracted from the key table and used as an encryption key.
  • the user is given the same key as in the encryption process: use the 8 bytes from the 7th byte as the encryption key. Since it is necessary to specify the user key, security can be further improved.
  • the encryption key information K used in the present invention is data generated in the processing process shown in FIG. 4, and by appropriately setting the number of digits of the secret group code G and the number of digits of the secret personal code P, Or a specific algorithm as algorithm A By using, it is possible to generate encryption key information K having an arbitrary number of digits. Therefore, the encryption key information K generated according to the present invention can be sufficiently used as the key table described above.
  • the modification shown in FIG. 8 is a further development of the modification using the key table described above.
  • step S3 of FIG. 5 two types of codes are written as secret personal codes.
  • step S4 a first key table is generated based on the first secret personal code and the secret group code, and a second key table is generated based on the second secret personal code and the secret group code.
  • a table is generated, and processing for storing these two key tables as encryption key information in the IC card is performed.
  • the two key tables are stored as key information for encryption, by combining a part of the first key table and a part of the second key table, it is possible to perform encryption or decryption. Since the encryption key to be used can be obtained, security can be further improved.
  • an example is shown in which an employee has input two secret personal codes P (1) and P ( ⁇ 2). Since the secret group code G (A) of the customer company ⁇ is already stored in the IC card, a predetermined algorithm is used for the secret personal code P (a1) and the secret group code G (A).
  • the first key table can be generated by performing an operation based on the secret key code P (2) and the secret group code G (A) based on a predetermined algorithm. 2 key tables can be generated. Therefore, in step S4, a process of storing these two key tables as they are in the IC card is performed.
  • step S4 in FIG. 5 that is, the process of generating the encryption key information
  • a predetermined command is given to the IC card and the ROM 111 1 (or the EEPROM 111 2 This is done by executing the key information generation program embedded in).
  • the same command can be given to an IC card many times, and if a program corresponding to the given command is prepared in the memory, the IC card can send this command many times. Can also be performed.
  • the key information generation program it is preferable to limit the execution of the key information generation program to a predetermined number of times (for example, once). This is because if the IC card is issued in a legitimate manner, the key information generation program only needs to be executed once (or several times in consideration of failure) in the initialization process described above. It is not a process that needs to be repeated. On the other hand, if this IC card is handed over to an unauthorized user, the unauthorized user rewrites the secret group code or the secret personal code by unauthorized means, and repeatedly executes the key information generation program. There is a possibility of analyzing the key information generation algorithm. In view of these points, it makes sense to limit the execution of the key information generation program to a predetermined number of times.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

再発行が可能な態様で、かつ、十分なセキュリティを確保可能な態様で、固有の暗号用鍵情報を格納したICカードを発行する。ICカード提供業者Xは、企業Aに対してはグループコードG(A)が書き込まれたICカードを納品し、企業Bに対してはグループコードG(B)が書き込まれたICカードを納品する。社員αが、固有の個人コードP(α)を入力して初期化プロセスを行うと、ICカード内部において、P(α)とG(A)を用いた所定のアルゴリズムに基づく演算が行われ、当該演算により一義的に求まるデータが、暗号用鍵情報K(α)としてICカードに格納される。社員αが万一ICカードを紛失しても、ICカード提供業者Xから納品されたICカードを用いた初期化を再度行えば、前回と同一の暗号用鍵情報K(α)が格納されたICカードを得ることができる。

Description

明 細 書 暗号用鍵情報を格納した I Cカードの発行方法 技 術 分 野
本発明は、 暗号用鍵情報を格納した I Cカードの発行方法に関し、 特に、 固 有の暗号用鍵情報をそれぞれ格納した複数の I C力一ドを、 それぞれ特定のグ ループに所属する特定の個人に発行する方法に関する。 背 景 技 術
I Cカードは、 極めて機密性の高い携帯型情報記録媒体として様々な用途に 利用されており、 最近は、 社員証を兼ねた多機能の I Cカードを各社員に配付 する企業も増えている。 このような機密性に着目して、 I Cカードを、 情報の 暗号化および復号化のために用いる鍵情報を格納しておく記録媒体として利用 する例も少なくない。 一般的な暗号化の手法では、 暗号化アルゴリズムにおけ る種 (Seed) として秘密の暗号用キーや暗号用キ一テーブル (ここでは、 これ らを総称して暗号用鍵情報と呼ぶ) が用いられることが多い。 所定の平文デー タを暗号文デー夕に変換する暗号化プロセスでは、 この秘密の暗号用鍵情報を 用いた処理が実行される。 この場合、 暗号文データを平文デ一夕に戻す復号化 プロセスでは、 暗号化プロセスで用いた秘密の暗号用鍵情報が不可欠の要素と なる。 すなわち、 秘密の暗号用鍵情報がない限り、 復号化を行うことができな レ^ そこで、 この秘密の暗号用鍵情報を I Cカードに格納しておくようにすれ ば、 不正な手段で暗号用キーにアクセスすることが非常に困難になり、 暗号文 自身のセキュリティの向上を図ることができる。
一般に、 暗号文データの復号化は、 暗号化を行った本人が許可した者のみに 許されるべきものであるので、 暗号用鍵情報は、 各個人ごとにそれぞれ異なる 固有のデータにする必要がある。 そこで、 社員証を兼ねた多機能の I。カード などでは、 各社員ごとにそれぞれ固有の暗号用鍵情報を定め、 I Cカードを発 行する際に、 この固有の暗号用鍵情報を各 I Cカード内に格納する処理が行わ れる。 その結果、 各社員に対して発行された I Cカードには、 それぞれ異なる 固有の暗号用鍵情報が格納された状態となる。 この暗号用鍵情報は、 上述した ように、 暗号化処理および復号化処理のプロセスで、 処理装置が用いる秘密の キーコードであるので、 通常、 I Cカードを所持する社員本人も知る必要はな いデータであり、 I Cカード内に秘密のデータとして維持されることになる。 このような暗号用鍵情報を格納した I Cカードを発行する際には、 暗号用鍵 情報が漏えいすることのないように、 十分セキュリティに配慮した発行処理が 必要になる。 そこで、 I Cカードの発行時に、 暗号用鍵情報自身を暗号化した 状態で I Cカード内へと送信し、 I Cカード内部で復号化してこれを格納する 方法が提案されている。
上述したように、 I Cカード内に格納される暗号用鍵情報は、 本来、 I C力 ―ドを所持する本人ですら知らない秘密のデータとして取り扱われるべきもの であり、 理想的には、 当該 I Cカードの内部のみに存在するデータであって、 誰も知り得ないデータとなるようにするのが好ましい。 たとえば、 I Cカード の内部で乱数を用いてランダムに発生させたコードを、 暗号用鍵情報として I Cカード内にそのまま格納するようにすれば、 誰も知りえない情報が、 暗号用 鍵情報として I Cカード内にのみ格納されることになる。
しかしながら、 実用上は、 I Cカードを再発行する道を残しておく必要があ るため、上述のような理想的な方法をとることはできない。既に述べたとおり、 特定の暗号用鍵情報を用いて暗号化されたデータを復号化するプロセスを行う ためには、 暗号化に用いたものと同一の暗号用鍵情報が必要である。 したがつ て、 万一、 I Cカードを紛失したり、 I Cカードを破損したりした場合に、 同 一の暗号用鍵情報が格納された I Cカードを再発行することができないと、 過 去に暗号化したデ一夕を二度と復号化することができなくなってしまう。 した がって、 実用上は、 I Cカードの再発行が可能になるように、 I Cカード内に 格納した暗号用鍵情報と同一の情報を、 外部のどこかに保管しておき、 再発行 する必要がある場合には、 この外部に保管しておいた暗号用鍵情報を新たな I Cカードに書き込むという方法がとられることが多い。
このように、 I Cカードの外部に暗号用鍵情報を保管しておく、 という方法 は、 信頼のおける管理者の厳重な管理下で保管が行われるという前提では、 何 ら問題はない。 しかしながら、 実用上は、 十分なセキュリティを確保できない という問題が生じる。 通常、 企業が社員証として機能する I Cカードを各社員 に配付するような場合、 I Cカードの調達および発行業務を I Cカード提供業 者 (たとえば、 大手印刷会社) に依頼するのが一般的である。 この場合、 個々 の社員ごとの暗号用鍵情報の管理を、 当該 I' Cカード提供業者に委ねる必要が ある。 再発行のための暗号用鍵情報の保管業務を自社で行うにしても、 少なく とも個々の I Cカードを発行する処理を I Cカード提供業者に委ねる以上、 発 行時には、 個々の社員ごとの暗号用鍵情報のデータを当該 I Cカード提供業者 に引き渡す必要がある。
もちろん、 I Cカード提供業者は、万全のセキュリティが確保できるように、 十分な配慮のもとに、 顧客企業から提供された個々の社員ごとの暗号用鍵情報 のデータを取り扱うことになる。 しかしながら、 I Cカード発行業務に携わる スタッフの中に、 不正を働く者が絶対に存在しないことを保証することはでき ない。 また、 I Cカード提供業者は、 複数の顧客からの受注を受けるのが一般 的であり、 故意ではないにしろ、 何らかの過失により、 顧客企業 Aの社員につ いての暗号用鍵情報を、 別な顧客企業 Bの担当者に渡してしまうようなトラブ ルが発生する可能性もある。
そこで本発明は、 固有の暗号用鍵情報をそれぞれ格納した複数の I Cカード を、 それぞれ特定のグループに所属する特定の個人に発行する場合に、 再発行 が可能な態様で、 かつ、 十分なセキュリティを確保可能な態様で、 発行処理を 行うことができる暗号用鍵情報を格納した I C力一ドの発行方法を提供するこ とを目的とする。 発 明 の 開 示
(1) 本発明の第 1の態様は、 固有の暗号用鍵情報をそれぞれ格納した複数の I Cカードを、 それぞれ特定のグループに所属する特定の個人に発行する喑号 用鍵情報を格納した I Cカードの発行方法において、
C P Uと、 メモリと、 外部に対して情報のやりとりを行う 1 0部と、 を有 し、 メモリには、 少なくとも 2つのデータを用いて、 所定のアルゴリズムに基 づく演算処理を行うことにより、 2つのデ一夕に応じて一義的に定まる暗号用 鍵情報を発生させる鍵情報発生プログラムが格納されている I C力一ドを用意 する段階と、
各グループについて、 それぞれ秘密グループコードを定義し、 準備した I C カードのメモリ内に、 発行対象となる個人が所属するグループについて定義さ れた秘密グループコ一ドを書き込む段階と、
準備した I Cカードのメモリ内に、 発行対象となる個人が指定した所定の秘 密個人コードを書き込む段階と、
C P Uに鍵情報発生プログラムを実行させることにより、 少なくとも秘密グ ループコードと秘密個人コ一ドとの 2つのデータを用いて暗号用鍵情報を発生 させ、 これを I Cカード内のメモリに格納させる段階と、
を行うようにしたものである。
(2) 本発明の第 2の態様は、 上述の第 1の態様に係る暗号用鍵情報を格納し た I C力一ドの発行方法において、
暗号用鍵情報として、 暗号化もしくは復号化に用いる暗号用キ一自身を発生 させるようにしたものである。 (3) 本発明の第 3の態様は、 上述の第 1の態様に係る暗号用鍵情報を格納し た I Cカードの発行方法において、
暗号用鍵情報として、 その一部分が、 暗号化もしくは復号化に用いる暗号用 キ一として利用されるキーテーブルを発生させるようにしたものである。
(4) 本発明の第 4の態様は、 上述の第 3の態様に係る暗号用鍵情報を格納し た I Cカードの発行方法において、
秘密個人コードとして 2通りのコードを書き込み、 第 1の秘密個人コードと 秘密グループコードとに基づいて第 1のキ一テーブルを発生させ、 第 2の秘密 個人コ一ドと秘密グループコードとに基づいて第 2のキーテーブルを発生させ、 これら 2つのキーテーブルを暗号用鍵情報として I Cカード内に格納するよう にし、 第 1のキーテーブルの一部分と第 2のキーテーブルの一部分とを合成す ることにより、 暗号化もしくは復号化に用いる暗号用キーを得ることができる ようにしたものである。
(5) 本発明の第 5の態様は、 上述の第 1〜第 4の態様に係る暗号用鍵情報を 格納した I Cカードの発行方法において、
鍵情報'発生プログラムに、 I Cカード上で所定回数だけ実行すると、 以後の 実行を禁止する指示を I Cカード内に記録するルーチンと、 この指示が記録さ れていた場合に、 実行を禁止するルーチンと、 を含ませておくようにし、 鍵情 報の発生処理が所定回数限りしか実行されないようにしたものである。
(6) 本発明の第 6の態様は、 上述の第 1〜第 5の態様に係る暗号用鍵情報を 格納した I Cカードの発行方法において、
秘密グループコードを、 いずれのグループにも所属しない管理者のみ、 もし くは、 当該グループに所属する管理者のみ、 または、 いずれのグループにも所 属しない管理者および当該グループに所属する管理者のみが知りうる状態とな るように管理し、
秘密個人コードを、 当該個人のみが知りうる状態となるように管理するよう にしたものである。
(7) 本発明の第 7の態様は、 上述の第 1〜第 5の態様に係る方法により、 I Cカードに暗号用鍵情報を格納し、 これを、 暗号用鍵情報を格納した I Cカー ドとして提供するようにしたものである。
(8) 本発明の第 8の態様は、 上述の第 1〜第 5の態様に係る方法を実行する ための鍵情報発生プログラムを用意し、 これを I Cカードに格納するようにし たものである。
(9) 本発明の第 9の態様は、 固有の暗号用鍵情報を用いた暗号化処理もしく は復号化処理を実行するために利用される I Cカードにおいて、
C P Uと、 メモリと、 外部に対して情報のやりとりを行う I 0部と、 を設 け、
メモリには、
このメモリ内の第 1の格納場所および第 2の格納場所に、 それぞれ外部から 与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、 第 1の格納場所に格納されている第 1のデータおよび前記第 2の格納場所に 格納されている第 2のデータを用いて、 所定のアルゴリズムに基づく演算処理 を行うことにより、 この 2つのデータに応じて一義的に定まる喑号用鍵情報を 発生させ、 これをメモリ内に格納するプログラムと、
格納された暗号用鍵情報を利用して、 I Cカード内部で暗号化処理もしくは 復号化処理を実行するプログラムと、
を格納するようにしたものである。
(10) 本発明の第 1 0の態様は、固有の暗号用鍵情報を用いた暗号化処理もし くは復号化処理を実行するために利用される I Cカードにおいて、
C P Uと、 メモリと、 外部に対して情報のやりとりを行う ι ζ〇部と、 を設 け、
メモリには、 このメモリ内の第 1の格納場所および第 2の格納場所に、 それぞれ外部から 与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、 第 1の格納場所に格納されている第 1のデータおよび前記第 2の格納場所に 格納されている第 2のデータを用いて、 所定のアルゴリズムに基づく演算処理 を行うことにより、 この 2つのデータに応じて一義的に定まる暗号用鍵情報を 発生させ、 これをメモリ内に格納するプログラムと、
I Cカード外部で暗号化処理もしくは復号化処理を実行するために、 暗号用 鍵情報もしくはその一部を外部へ読み出すプログラムと、
を格納するようにしたものである。
本発明に係る暗号用鍵情報を格納した I Cカードの発行方法によれば、 暗号 用鍵情報は、 I Cカードの内部において、 秘密グループコードと秘密個人コー ドとを用いて作成され、 そのまま I Cカード内に格納される。 ここで、 秘密グ ループコードは、 発行対象となる個人が所属するグループについて定義された コードであり、 たとえば、 I Cカード提供業者の管理者などによって保管する ことができる。 一方、 秘密個人コードは発行対象となる個人が指定したコード であり、当該個人が自分自身で保管することができる。秘密グループコードも、 秘密個人コードも、 それ自身は暗号用鍵情報ではないので、 結局、 I Cカード 内の暗号用鍵情報は、 誰にも知られない状態で格納された状態を維持すること になる。 万一、 I Cカードを紛失したり、 破損したりした場合には、 管理者が 保管していた秘密グループコードと個人が保管していた秘密個人コードとを新 たな I Cカードに入力することにより、 再び I Cカード内部で同一の暗号用鍵 情報を作成することが可能になるので、 I Cカードの再発行が可能になる。 こ のため、 本発明によれば、 固有の暗号用鍵情報をそれぞれ格納した複数の I C 力一ドを、 それぞれ特定のグループに所属する特定の個人に発行する場合に、 再発行が可能な態様で、 かつ、 十分なセキュリティを確保可能な態様で、 発行 処理を行うことができるようになる。 図 面 の 簡 単 な 説 明
図 1は、 現在広く利用されている一般的な I Cカードの構成と、 この I C力 一ドを利用した暗号化処理のプロセスを説明するブロック図である。
図 2は、 暗号化/復号化の処理を、 I Cカード 1 0 0の内部ではなく、 外部 の演算処理装置 2 0 0内で行う場合の実施形態を示すブロック図である。
図 3は、 I Cカード提供業者 Xが、 顧客企業 Aおよび顧客企業 Bに所属する 各社員に対して、 それぞれ社員証として機能する I Cカードを発行する様子を 示すブロック図である。
図 4は、 本発明に係る I Cカード内に用意される鍵情報発生プログラムの処 理プロセスを示すブロック図である。
図 5は、 本発明に係る I Cカードの発行方法の基本的な手順を示す流れ図で ある。
図 6は、 図 3に示す具体的事例に本発明に係る発行方法を適用した場合の実 施形態を示すブロック図である。
図 7は、 暗号化/復号化処理に利用されるキ一テ一ブルの概念を示す図であ る。
図 8は、 図 7に示すキーテーブルを 2組利用した発展形態を示す図である。 発明を実施するための最良の形態
以下、 本発明を図示する実施形態に基づいて説明する。
くくく § 1 . 暗号用鍵情報を格納した一般的な I Cカード >>> はじめに、 暗号用鍵情報を格納した一般的な I Cカードの構成と、 その利用 形態を簡単に説明しておく。 図 1は、 現在広く利用されている一般的な I C力 —ド 1 0 0の構成と、 この I Cカード 1 0 0を利用した暗号化処理のプロセス を説明するブロック図である。 図示のとおり、 この I Cカード 1 0 0は、 メモ リ 1 1 0と、 C P U 1 2 0と、 I ZO部 1 3 0とを有している。 ここに示す例 では、 メモリ 1 10は、 書換不能な不揮発性メモリである ROM 1 1 1と、 書 換可能な不揮発性メモリである EEPROMl 12と、 書換可能な揮発性メモ リである RAM 1 13から構成されている。 ROM1 11には、 この I Cカー ド 100が備えている基本的な処理機能を実行するためのプログラムが格納さ れており、 EEPROMl 12には、 この I Cカード 100に記録しておくべ き種々のデータが格納されている。 また、 RAMI 13は、 CPU120が種々 の処理を実行する際の作業領域として利用される。
メモリ 1 10は、 CPU 120によってのみアクセス可能であり、 外部から 直接メモリ 110へアクセスすることはできない。 外部からのアクセスは、 I ZO部 130を介して行われる。 すなわち、 CPU 120は、 IZO部 130 を介して外部から与えられるコマンドを、 ROM1 11内のプログラムに基づ いて実行し、 実行結果をレスポンスとして、 I /0部 130を介して外部へと 返す。図示の例は、平文データを暗号文データに変換する暗号化処理と、逆に、 暗号文データを平文データに変換する復号化処理とを実行する機能を有する I Cカードの例であり、 ROM1 1 1内には、 この暗号化および復号化を行うた めのプログラムが格納されており、 EEPROM 1 12内には、 このプロダラ ムが利用する喑号用キーが格納されている。
この I Cカード 100に対して、 I/O部 130を介して、 所定の暗号化コ マンドと平文デ一夕を与えると、 CPU 120は、 ROM 1 1 1内のプロダラ ムに基づいて、 与えられた暗号化コマンドを実行し、 与えられた平文データに 対して所定の暗号化処理を施し、 得られた暗号文データを、 IZO部 130を 介して、 レスポンスとともに外部へ出力する処理を行う。 この暗号化処理を行 う際に、 EEPROMl 12内に格納されている喑号用キーが利用される。 逆 に、 この I Cカード 100に対して、 I/O部 130を介して、 所定の復号化 コマンドと暗号文データを与えると、 CPU 120は、 ROM1 1 1内のプロ グラムに基づいて、 与えられた復号化コマンドを実行し、 与えられた暗号文デ —夕に対して所定の復号化処理を施し、 元の平文データを復元し、 この平文デ
—夕を、 1ノ0部 130を介して、 レスポンスとともに外部へ出力する処理を 行う。 この復号化処理を行う際にも、 EE PROM 1 12内に格納されている 暗号用キーが利用される。 このとき、 暗号化処理に用いた暗号用キーと同一の キーを用いないと、 平文データの復元を正しく行うことはできない。
なお、 ここでは、 暗号化ノ復号化の処理プログラムが ROM1 11内に用意 されている例を示したが、 このプログラムは EE PROM 1 12に用意してお くことも可能である。 暗号化/復号化の処理プログラムを EE PROM 1 12 内に用意しておくようにすると、 必要に応じて、 この処理プログラムを書き換 えることも可能である。 また、 ここでは説明の便宜上、 暗号化および復号化の 処理機能のみをもった I Cカード 100を示すが、 実用上は、 I Cカード 10 0は様々な用途に利用されるので、 ROM11 1あるいは EE PROM 1 12 内には、 これら様々な用途における様々な処理を実行するためのプログラムが 格納されていることになる。
図 2は、 暗号化/復号化の処理を、 I Cカード 100の内部ではなく、 外部 の演算処理装置 200内で行う場合の実施形態を示すブロック図である。 この 例では、 外部の演算処理装置 200に平文データを与えると、 暗号文デ一夕と して出力されることになり、 逆に、 暗号文データを与えると、 平文デ一夕とし て出力されることになる。 このように、 暗号化 Z復号化の処理を外部の演算処 理装置 200で行う場合、 EEPROM1 12内に格納されている喑号用キー が、 I /0部 130を介して、外部の演算処理装置 200側へと読み出される。 暗号化および復号化のためのプログラムは、 外部の演算処理装置 200側に用 意されており、 当該プログラムが、 I Cカード 100から読み出した暗号用キ —を fflいて暗号化 Z復号化の処理を実行することになる。
図 2に示す実施形態では、 EEPROM1 12内に格納されている暗号用キ 一が、 I Cカード 100の外部へと読み出されてしまうため、 セキュリティの 観点からは、図 1に示す実施形態の方が優れている。図 1に示す実施形態では、 E E P R OM 1 1 2に格納された喑号用キーが I Cカード 1 0 0の外部に読み 出されることはないので、 暗号用キーが E E P R OM 1 1 2に格納された後は、 不正な手段で知られる可能性は極めて低い。
ここでは、 このような暗号化/復号化の処理を行うための暗号用キーを格納 した I Cカードを、社員証として発行する場合を考えてみる。前述したように、 通常、 企業が社員証として機能する I Cカードを各社員に配付するような場合、 I Cカードの調達および発行業務を I Cカード提供業者 (たとえば、 大手印刷 会社) に依頼するのが一般的である。 図 3は、 I Cカード提供業者 Xが、 顧客 企業 Aおよび顧客企業 Bに所属する各社員に対して、 それぞれ社員証として機 能する I Cカードを発行する様子を示すブロック図である。ここでは、便宜上、 顧客企業 Aに所属する 3名の社員 a、 β、 了と、 顧客企業 Βに所属する 3名の 社員 δ、 ε、 ζに対して、 それぞれ固有の暗号用キーを格納した I Cカードを 社員証として発行する例を示すが、 実用上は、 より多数の社員に対して I C力 ードの発行が行われ、 また、 顧客企業もより多数存在することになる。
各 I Cカードに格納される喑号用キーは、 互いに異なる固有のキーになる。 図示の例では、 社員 α、 β , ァ、 <5、 ε、 ζに対して発行される I Cカード内 には、それぞれ固有の暗号用キー K ( a)、 K ( j8 )、 K (ァ)、 Κ ( δ )、 Κ ( ε )、 Κ ( ζ ) が格納された状態が示されている。 このような固有の暗号用キーを格 納した I Cカードを発行する場合、 従来は、 I Cカード提供業者 X側にこれら の喑号用キーのデータを用意しておき、 発行時に、 個々の I Cカードに個々の 暗号用キ一を書き込む処理を行うのが一般的である。そして、前述したとおり、 再発行を行う場合の便宜を考え、 暗号用キーのデータは、 I Cカード提供業者 X側で保管するか、 あるいは、 顧客企業 Αおよび顧客企業 Βの管理担当者が保 管することになる。 いずれにしても、 I Cカードの発行作業を I Cカード提供 業者 Xに委ねる以上、 暗号用キーのデータを I Cカード提供業者 X側に提供す る必要があるので、 I Cカード提供業者 X側の不正行為や過失により、 暗号用 キーが漏えいする可能性は否定できない。 また、 顧客企業 Aや顧客企業 B内に 不正行為をなすものが存在する可能性も否定できない。 暗号化/復号化処理に 用いる暗号用キーは、 本来、 このような漏えいが生じることがないように、 厳 重なセキュリティの下に管理されるべきものである。
このような漏えいを防ぐ方法として、 個々の I Cカード内で乱数を用いてラ ンダムな暗号用キ一を発生させ、 これをそのまま I Cカード内に格納する方法 もある。 しかしながら、 この方法では、 万一、 I Cカードを紛失したり、 破損 したりした場合、 暗号用キーが永遠に失われてしまい、 I Cカードの再発行を 行うことができなくなるので、 過去に暗号化したデータを復号化することがで きなくなってしまう。 本発明は、 十分なセキュリティを確保することができ、 しかも再発行が可能になる I Cカードの発行方法を提供するものである。
くくく § 2 . 本発明の基本的実施形態 >>>
図 4は、 本発明に係る I Cカード内に用意される鍵情報発生プログラムの処 理プロセスを示すブロック図である。 本発明で用いる鍵情報発生プログラムは、 少なくとも 2つのデータを用いて、 所定のアルゴリズムに基づく演算処理を行 うことにより、 当該 2つのデータに応じて一義的に定まる暗号用鍵情報 (暗号 用キー) を発生させる機能を有している。 図 4には、 秘密グループコード Gと 秘密個人コード Pという 2つのデータを用いて、 所定のアルゴリズム Aに基づ く演算処理を実行した結果、 暗号用鍵情報 Kが生成される例が示されている。 秘密グループコ一ド Gおよび秘密個人コード Pの意味合いや、 両者の相違につ いては後述する。
ここで、 所定のアルゴリズム Aとしては、 どのようなアルゴリズムを用いて もかまわないが、 図には、 一例として、 4桁の数字からなる秘密グループコー ド Gと、 同じく 4桁の数字からなる秘密個人コード Pとの和を求め、 この和の 下 4桁を暗号用鍵情報 Kとする単純なアルゴリズムが示されている。 たとえば、 秘密グループコード Gが 「6 7 8 9」 なる数字、 秘密個人コード Pが 「5 1 5 1」 なる数字であった場合、 図示のとおり、 「1 9 4 0」 なる数字からなる喑号 用鍵情報 Kが生成されることになる。 このようなアルゴリズムを採用すれば、 2つのデータ Gおよび Pが与えられると、 この 2つのデータに応じて一義的に 定まる暗号用鍵情報 Kを発生させることができる。
なお、 暗号用鍵情報 Kを発生させるアルゴリズムは、 必ずしも 2つのデータ に基づく演算処理に限定されるものではなく、 秘密グループコード Gと秘密個 人コード Pという 2つのデータが少なくとも用いられ、 これら 2つのデ一夕に 応じて一義的に定まる暗号用鍵情報 Kが得られるアルゴリズムであれば、 第 3 のデータや第 4のデ一夕を用いる演算であってもかまわない。
このように、 秘密グループコード Gと秘密個人コード Pという 2つのデータ を用いたアルゴリズムによって暗号用鍵情報 Kを生成させるようにしておけば、 十分なセキュリティを確保するという要請と、 I Cカードの再発行を可能にす るという要請との双方を満たすことが可能になる。 すなわち、 十分なセキユリ ティを確保するという点に関しては、 暗号用鍵情報 Kを得るためには、 秘密グ ループコード Gと秘密個人コード Pとの 2つのコードが必要になり、 どちらか 一方だけでは、 暗号用鍵情報 Kを生成することができないので、 秘密グループ コード Gと秘密個人コ一ド Pとをそれぞれ別個の管理環境におけば、 不正な方 法で暗号用鍵情報 Kが取得される可能性を極めて低減させることができる。 一 方、 秘密グループコード Gと秘密個人コード Pとの 2つのコードさえあれば、 これら 2つのコードに基づいて一義的に定まる情報として、 暗号用鍵情報 Kを いつでも生成することができるので、 万 の場合には、 I Cカードを再発行す ることも可能になる。
図 5は、 本発明に係る I Cカードの発行方法の基本的な手順を示す流れ図で ある。 まず、 ステップ S 1において、 図 1に示すような構成、 すなわち、 メモ リ 1 1 0と、 C P U 1 2 0と、 外部に対して情報のやりとりを行う 1 0部 1 30と、 を有する I Cカードが用意される。 しかも、 このメモリ 110内には、 図 4に示す暗号用鍵情報の生成プロセスを実行するためのプログラムが用意さ れている。 すなわち、 ステップ S 1では、 少なくとも 2つのデータを用いて所 定のァルゴリズムに基づく演算処理を行うことにより、 当該 2つのデータに応 じて一義的に定まる暗号用鍵情報を発生させる鍵情報発生プログラムが格納さ れた I Cカードが用意されることになる。
続くステップ S 2では、 秘密グループコード Gの書き込みが行われ、 ステツ プ S 3では、 秘密個人コード Pの書き込みが行われる。 これらの書込処理は、 実際には、 I Cカード 100に対して、 所定の書込コマンドとともに、 書込対 象データを与えることによって行われる。 そして、 最後のステップ S 4におい て、 暗号用鍵情報 Kの発生処理が行われる。 すなわち、 図 4に示すプロセスが I Cカード 100の内部で実行され、 生成された暗号用鍵情報 が、 そのまま EEPROM112へ書き込まれて格納される。 この暗号用鍵情報 Kの発生処 理は、 実際には、 I Cカード 100に対して、 鍵情報発生プログラムを実行さ せるための実行コマンドを与えることによって行われる。
なお、 ステップ S 2, S 3の書込処理は、 EEPROM1 12に対して行つ てもよいし、 RAM 113に対して行ってもよい。 もっとも、 RAMI 13は 不揮発性メモリなので、 ステップ S 4の実行前に、 I Cカード 100に対する 電源供給が一時ストップするような工程をとる場合には、 不揮発性メモリであ る EEPROM112への書き込みを行うようにする必要がある。
続いて、 図 3に示す具体的事例に本発明に係る発行方法を適用した場合の実 施形態を、 図 6のブロック図を参照しながら説明する。 前述したとおり、 この 実施形態は、 顧客企業 Aおよび顧客企業 Bからの委託を受けた I Cカード提供 業者 Xが、 社員 α、 β、 r、 δ、 ε、 ζに対して、 それぞれ固有の暗号用キー Κ ( )、 K (j3)、 K (r)> Κ ( δ), Κ (ε)、 Κ (ζ) が格納された I C力 ードを発行する事例である。 まず、 I Cカード提供業者 Xは、 各企業ごとに、 それぞれ秘密グループコー ド Gを定義する。 図示の例では、 顧客企業 Aに対しては、 秘密グループコード G (A) が定義され、 顧客企業 Bに対しては、 秘密グループコード G (B ) が 定義された例が示されている。 これらコード G (A) , G (B ) は、 互いに異な るコードであれば、 どのようなコードであってもかまわない。 また、 図には示 されていないが、 第 3の顧客企業 C , 第 4の顧客企業 Dなどがあれば、 これら の企業に対しても、 それぞれ異なる秘密グループコード G (C) , G (D) を定 義する。 このように、 本発明における秘密グループコードとは、 1つのグルー プに対して共通して付与されるユニークなコードである。
なお、 ここでは、 1企業を 1グループとして取り扱う例を示すが、 同一企業 内の部や課を 1グループとして取り扱うことも可能である。 この場合、 同一企 業であっても、 所属する部や課に応じて、 それぞれ異なる秘密グループコード が割り振られることになる。 逆に、 複数企業をまとめて 1グループとして取り 扱うことも可能である。
図 5のステップ S 2では、 I Cカードに対して、 秘密グル^ "プコードの書き 込みが行われることになるが、 このプロセスは、 図 6に示す実施形態の場合、 I Cカード提供業者 X側において、 顧客企業 Aに納品すべき I Cカードには、 秘密グループコード G (A) を書き込む処理を行い、 顧客企業 Bに納品すべき I Cカードには、 秘密グループコード G (B ) を書き込む処理を行う作業とい うことになる。 結局、 図 6に示す実施形態の場合、 I Cカード提供業者 Xは、 秘密グループコード G (A) が書き込まれた 3枚の I Cカードを顧客企業 Aに 納品し、 秘密グループコード G (B ) が書き込まれた 3枚の I Cカードを顧客 企業 Bに納品すればよい。
このように、 図 5の前半に示すステップ S 1および S 2の処理は、 I Cカー ド提供業者 X側で行われる処理であるが、 図 5の後半に示すステップ S 3およ び S 4の処理は、 各顧客企業 A, B側で行われる処理である。 たとえば、 顧客 企業 Aには、 既に秘密グループコード G (A) が書き込まれた 3枚の I Cカー ドが納品されるので、顧客企業 Aの担当者は、 これらの I Cカードを各社員 α、 i3、 ァに配付し、 各自所定の初期化プロセスを実行して、 I Cカードを初期化 するように指示する。 この初期化プロセスにおいて、 図 5のステップ S 3, S 4が実行されることになる。 すなわち、 社員 、 β、 ァは、 それぞれ固有の秘 密個人コード P (a), P (]3)、 P (了) を各自の I Cカード内に書き込む処 理を行った後、 I Cカードに対して、 鍵情報発生プログラムを実行させるため の実行コマンドを与え、 秘密グループコード G (A) と、 各自が書き込んだ秘 密個人コード P (α)、 Ρ (β)、 P (r) とを利用して、 それぞれ I Cカード 内部で暗号用鍵情報 Κ (οί)、 K (i3)、 K (r) を発生させ、 そのまま I C力 ード内の EE PROM 112に格納させる処理を行う。
かくして、 上述した初期化プロセスを実行した後の段階では、 社員 α、 β、 7が所持する各 I Cカード内には、それぞれ固有の暗号用鍵情報 K ( 0; )、 K ( j8 )、 κ (r) が格納された状態になり、 暗号化/復号化処理に利用できる状態にな る。 同様に、 顧客企業 Bには、 既に秘密グループコード G (B) が書き込まれ た 3枚の I Cカードが納品されるので、 社員 δ、 ε、 ζが、 それぞれ固有の秘 密個人コード Ρ (<5)、 Ρ (ε)、 Ρ (ζ) を書き込む処理を行った後、 鍵情報 発生プログラムを実行させるための実行コマンドを与えれば、 それぞれ喑号用 鍵情報 Κ (<5)、 Κ.(ε)、 Κ (ζ) が格納された状態の I Cカードを得ること ができる。
なお、 上述した初期化プロセスを実行するには、 I Cカード用のリーダライ 夕装置が装備され、 専用の初期化用プログラムが組み込まれたコンピュータを 用意しておくのが好ましい。 具体的には、 社員が自分の I Cカードを、 このコ ンピュー夕のリーダライタ装置に挿入し、 初期化用プログラムを実行すると、 コンピュータの画面上に、 秘密個人コード Pの入力を促すメッセージが表示さ れるようにしておき、 社員が、 任意のコードを秘密個人コード Pとして入力す ると、 当該任意のコードを I Cカード内に書き込む処理 (図 5のステップ S 3 ) を行うためのコマンドが I Cカードに与えられ、 続けて、 鍵情報発生プロダラ ムを実行する処理 (図 5のステップ S 4 ) を行うためのコマンドが I Cカード に与えられるようにしておけばよい。
図 6に示す実施形態からもわかるとおり、 本発明で用いられる秘密グループ コード Gは、 発行対象となる個人 (図示の例では各社員) が所属するグループ (図示の例では各企業) について定義されたコードであるのに対し、 秘密個人 コード Pは、 発行対象となる個人が指定したコードということになる。 このよ うに、 2通りのコードを用いれば、 固有の暗号用鍵情報をそれぞれ格納した複 数の I Cカードを、 それぞれ特定のグループに所属する特定の個人に発行する 場合に非常に都合がよい。
たとえば、 図 6に示す例の場合、 秘密グループコード G (A) , G ( B ) は、 I Cカード提供業者 Xの管理者 (別言すれば、 A, Bいずれのグループにも所 属しない管理者) が保管管理することになる。 これらのコードは、 各暗号用鍵 情報を発生させるためには不可欠のコードであるが、 その実体は、 暗号用鍵情 報そのものではなく、 個々のグループについて付与された秘密コードというべ きものであるので、 当該管理者は、 企業 A, Bに所属する個々の社員が携帯す る I Cカード内に格納されている暗号用鍵情報がどのようなデータであるかを 知る由もない。 別言すれば、 I Cカード提供業者 X側の管理者が知り得る内容 は、 顧客企業 A宛てに出荷された I Cカードには、 G (A) なる秘密グループ コードが書き込まれており、 顧客企業 B宛てに出荷された I Cカードには、 G ( B ) なる秘密グループコードが書き込まれている、 という事実にすぎない。 したがって、 万一、 I Cカード提供業者 X側の原因により、 これらの秘密ダル ープコード G (A) , G (B ) が漏えいしたとしても、 セキュリティ保護上、 重 大な事態には至らない。
なお、 秘密グループコードは、 各顧客企業側の担当者が保管管理するように してもかまわない。 たとえば、 秘密グループコード G (A) については、 顧客 企業 A側の担当者が保管管理を行い、秘密グループコード G (B ) については、 顧客企業 B側の担当者が保管管理を行うようにし、 I Cカード提供業者 X側で は、 これらのコードの保管管理を一切行わないようにしてもよい。 もちろん、 顧客企業 A, B側の担当者と、 I Cカード提供業者 X側の管理者との双方で、 保管管理することもできる。
一方、 秘密個人コード Pについては、 それぞれ当該個人のみが知りうる状態 となるように管理するのが好ましい。 たとえば、 社員 についての秘密個人コ —ド P ( a ) は、 社員 αが自己の I Cカードに対する初期化プロセスで入力し たコードであり、 αのみが知っている秘密のコードとすることができる。 ただ し、 万一のときに、 I Cカードの再発行を受けるためには、 この秘密個人コー ド Ρが必須になるので、 初期化プロセスで入力する秘密個人コードとしては、' 決して忘れることのないコードにするのが好ましく、 できれば機密メモとして 記録しておくのが好ましい。
本発明の利点は、 上述したように、 個々の I Cカードに格納されている喑号 用鍵情報については十分なセキュリティが確保されつつ、 万一の場合には、 I Cカードの再発行が可能になる点である。 たとえば、 社員ひが、 自分の I C力 —ドを紛失したり、 破損したりしてしまった場合、 当該 I Cカードを用いない と、 過去に暗号化したデ一夕を復元することが一切できなくなってしまう。 こ のような場合、 社員ひは、 単に、 I Cカード提供業者 Xから新たな I。カード を納品してもらい、 前回と同じ秘密個人コード Ρ ( ) を用いて初期化プロセ スを行えば、 再発行した I Cカードを取得することができる。 この場合、 I C カード提供業者 Xは、 顧客企業 Αに対する納品であるので、 I Cカードに、 秘 密グループコード G (A) を書き込んだ状態で納品することになる。 したがつ て、 社員 が、 前回と同じ秘密個人コード P ( ) を用いて初期化プロセスを 行う限り、 再発行した I Cカード内には、 前回と同じ暗号用鍵情報 K ( a ) が 格納されることになるので、 過去に暗号化したデータの復元が可能になる。
«< § 3 . 本発明の変形例 >>>
以上、 本発明を図示する基本的な実施形態について説明したが、 ここでは、 本発明のいくつかの変形例を述べておく。
(1) 暗号用キーテーブルを用いる例
図 1および図 2では、 I Cカード内に格納されている暗号用キーを用いて、 暗号化処理および復号化処理を行う例を示したが、 本発明における 「暗号用鍵 情報」 とは、 このように、 暗号化もしくは復号化に用いる暗号用キー自身だけ ではなく、 その一部分が、 暗号化もしくは復号化に用いる暗号用キーとして利 用されるキ一テーブルも含んだ広い概念を意味するものである。
図 7は、 このようなキーテーブルの概念を示す図である。 図示の例では、 1 つのマス目は 1パイ卜のデータを示しており、 合計 2 0パイトのデ一夕列によ つて、 キーテーブルが構成されている。 このようなキーテーブルを I Cカード 内に暗号用鍵情報として格納しておくようにすれば、 必要に応じて、 このキー テーブルの所望の一部分を暗号用キーとして抽出して利用することができ、 複 数通りのバリエ一シヨンをもつた暗号用キ一として利用することができるよう になる。 たとえば、 暗号化処理の際に、 「7バイト目から 8バイト分を暗号用キ —として用いよ」 なる指示を外部から与えて暗号化処理を実行させたとすれば、 図示の例のように、 キ一テーブルから指定された一部分のみが抽出されて暗号 用キーとして利用されることになる。 このような方法で暗号化されたデータを 復号化する際には、 暗号化処理の際と同じ 「7バイ卜目から 8バイト分を暗号 用キーとして用いよ」 なる指未を与えて、 暗号用キーを特定する必要があるの で、 セキュリティを更に向上させることが可能になる。
本発明で用いる暗号用鍵情報 Kは、 図 4に示す処理プロセスで発生させられ るデータであり、 秘密グループコード Gの桁数や秘密個人コード Pの桁数を適 当に設定することにより、 あるいはアルゴリズム Aとして特定のアルゴリズム を採用することにより、 任意の桁数をもった暗号用鍵情報 Kを発生させること が可能である。 したがって、 本発明により発生させた暗号用鍵情報 Kは、 上述 したキーテーブルとして利用することも十分に可能である。
(2) 2つのキーテーブルを用いる例
図 8に示す変形例は、 上述したキーテーブルを利用した変形例の更なる発展 形態である。 この変形例では、 図 5のステップ S 3において、 秘密個人コード として 2通りのコードが書き込まれる。 そして、 ステップ S 4では、 第 1の秘 密個人コードと秘密グループコードとに基づいて第 1のキーテーブルを発生さ せ、 第 2の秘密個人コードと秘密グループコードとに基づいて第 2のキ一テ一 ブルを発生させ、 これら 2つのキ一テーブルを暗号用鍵情報として I C力一ド 内に格納する処理が行われる。 このように、 2つのキーテーブルを暗号用鍵情 報として格納しておくと、 第 1のキ一テーブルの一部分と第 2のキーテーブル の一部分とを合成することにより、 暗号化もしくは復号化に用いる暗号用キー を得ることができるので、 セキュリティを更に向上させることができる。
たとえば、 図 8に示す具体例では、 社員 が、 2つの秘密個人コード P ( 1 ) , P ( α 2 ) を入力した例が示されている。 I Cカード内には、 既に、 顧客 企業 Αについての秘密グループコード G (A) が格納されているので、 秘密個 人コード P ( a 1 ) と秘密グループコード G (A) とについて所定のアルゴリ ズムに基づく演算を施すことにより、 第 1のキーテーブルを発生させることが でき、 秘密個人コード P ( 2 ) と秘密グループコード G (A) とについて所 定のアルゴリズムに基づく演算を施すことにより、 第 2のキーテーブルを発生 させることができる。 そこで、 ステップ S 4では、 これら 2つのキーテーブル をそのまま I Cカード内に格納する処理を行う。
ここで、 暗号化処理を行う際には、 たとえば、 「第 1のキーテーブルの 1 4バ ィト目から 4バイト分に、 第 2のキ一テーブルの 3バイト目から 4バイト分を 連結したものを、 暗号用キーとして用いよ」 なる指示を与えて暗号化処理を実 行させればよい。 このような利用形態では、 2つのキーテーブルが I Cカード 内に存在することが必須要件となるので、 セキュリティは更に向上することに なる。
(3) 暗号用鍵情報発生処理の実行を所定回数に制限する例
前述したとおり、 図 5のステップ S 4の処理、 すなわち、 暗号用鍵情報の発 生処理は、 I Cカードに対して、 所定のコマンドを与え、 R OM 1 1 1 (ある いは E E P R O M 1 1 2 ) に組み込まれている鍵情報発生プログラムを実行さ せることにより行われる。 通常、 I Cカードに対しては、 同じコマンドを何度 も与えることが可能であり、 I Cカード側では、 与えられたコマンドに対応す るプログラムがメモリ内に用意されていれば、 これを何度も実行することが可 能である。
しかしながら、 セキュリティを確保する観点からは、 鍵情報発生プログラム の実行は、 所定回数(たとえば 1回) だけに制限した方が好ましい。 なぜなら、 正規の方法で I Cカードを発行するのであれば、 鍵情報発生プログラムの処理 は、 上述した初期化プロセスで 1回 (あるいは失敗した場合を考慮して数回) 実行すれば足りる処理であり、 繰り返し実行する必要のある処理ではない。 そ の一方で、 この I Cカードが不正利用者の手に渡った場合、当該不正利用者が、 秘密グループコードや秘密個人コードを不正な手段によって書き換え、 鍵情報 発生プログラムを繰り返し実行することにより、 鍵情報発生のアルゴリズムな どを解析する可能性がある。 このような点を考慮すれば、 鍵情報発生プロダラ ムの実行を、 所定回数だけに制限することは理にかなつている。
そこで、 実用上は、 I Cカード内に用意する鍵情報発生プログラムに、 I C カード上で所定回数だけ実行すると、 以後の実行を禁止する指示を I Cカード 内 (たとえば、 E E P R OM 1 1 2内) に記録するルーチンと、 当該指示が記 録されていた場合に、 実行を禁止するル一チンと、 を含ませておくようにすれ ばよい。

Claims

1. 固有の暗号用鍵情報をそれぞれ格納したネ 数の I Cカードを、 それぞれ 特定のグループに所属する特定の個人に発行する方法であって、
CPU (120) と、 メモリ (1 10) と、 外部に対して情報のやりとりを 行う I/O部 (130) と、 請を有し、 前記メモリには、 少なくとも 2つのデー 夕を用いて、 所定のアルゴリズムに基づく演算処理を行うことにより、 前記 2 つのデータに応じて一義的に定まる暗号の用鍵情報を発生させる鍵情報発生プロ グラムが格納されている I Cカード (100) を用意する段階 (S 1) と、 各グループについて、 それぞれ秘密グループ囲コード (G) を定義し、 準備し た I Cカードのメモリ内に、 発行対象となる個人が所属するグループについて 定義された秘密グループコードを書き込む段階 (S 2) と、
準備した I Cカードのメモリ内に、 発行対象となる個人が指定した所定の秘 密個人コード (P) を書き込む段階 (S 3) と、
前記 CPUに前記鍵情報発生プログラムを実行させることにより、 少なくと も前記秘密グループコードと前記秘密個人コードとの 2つのデータを用いて暗 号用鍵情報 (K) を発生させ、 これを I C力一ド内のメモリに格納させる段階 (S4) と、
を有することを特徴とする暗号用鍵情報を格納した I Cカードの発行方法。
2. 請求項 1に記載の I Cカードの発行方法において、
唷号用鍵情報 (K) として、 暗号化もしくは復号化に用いる暗号用キー自身 を発生させることを特徴とする暗号用鍵情報を格納した I Cカードの発行方法。
3. 請求項 1に記載の I Cカードの発行方法において、
暗号用鍵情報 (K) として、 その一部分が、 暗号化もしくは復号化に用いる 暗号用キーとして利用されるキ一テーブルを発生させることを特徴とする暗号 用鍵情報を格納した I cカードの発行方法。
4 . 請求項 3に記載の I Cカードの発行方法において、
秘密個人コード (P ) として 2通りのコードを書き込み、 第 1の秘密個人コ ード (P ( a 1 ) ) と秘密グループコード (G (A) ) とに基づいて第 1のキー テーブルを発生させ、 第 2の秘密個人コード (P ( a 2 ) ) と秘密グループコー ド (G (A) ) とに基づいて第 2のキーテーブルを発生させ、 これら 2つのキー テーブルを暗号用鍵情報として I Cカード内に格納するようにし、 前記第 1の キ一テーブルの一部分と前記第 2のキ一テーブルの一部分とを合成することに より、 暗号化もしくは復号化に用いる暗号用キ一を得ることができるようにし たことを特徴とする暗号用鍵情報を格納した I Cカードの発行方法。
5 . 請求項 1〜4のいずれかに記載の I Cカードの発行方法において、 鍵情報発生プログラムに、 I Cカード上で所定回数だけ実行すると、 以後の 実行を禁止する指示を I Cカード内に記録するルーチンと、 前記指示が記録さ れていた場合に、 実行を禁止するルーチンと、 を含ませておくことを特徴とす る暗号用鍵情報を格納した I Cカードの発行方法。
6 . 請求項 1〜 5のいずれかに記載の I Cカードの発行方法において、 秘密グループコードを、 いずれのグループにも所属しない管理者のみ、 もし くは、 当該グループに所属する管理者のみ、 または、 いずれのグループにも所 属しない管理者および当該グループに所属する管理者のみが知りうる状態とな るように管理し、
秘密個人コードを、 当該個人のみが知りうる状態となるように管理すること を特徴とする暗号用鍵情報を格納した I Cカードの発行方法。
7. 請求項 1〜 5のいずれかに記載の I Cカードの発行方法によって発行さ れた I Cカード。
8. 請求項 1〜 5のいずれかに記載の I Cカードの発行方法で用いる鍵情報 発生プログラムまたは当該プログラムを格納した I Cカード。
9. 固有の暗号用鍵情報を用いた暗号化処理もしくは復号化処理を実行する ために利用される I Cカードであって、
CPU (120) と、 メモリ (1 10) と、 外部に対して情報のやりとりを 行う I/ 部 (130) と、 を有し、
前記メモリ (110) には、
前記メモリ内の第 1の格納場所および第 2の格納場所に、 それぞれ外部から 与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、 前記第 1の格納場所に格納されている第 1のデータおよび前記第 2の格納場 所に格納されている第 2のデータを用いて、 所定のアルゴリズムに基づく演算 処理を行うことにより、 前記 2つのデータに応じて一義的に定まる暗号用鍵情 報を発生させ、 これを前記メモリ内に格納するプログラムと、
前記暗号用鍵情報を利用して、 I Cカード内部で暗号化処理もしくは復号化 処理を実行するプログラムと、
が格納されていることを特徴とする暗号化もしくは復号化処理用の I Cカー ド。 G
10. 固有の暗号用鍵情報を用いた暗号化処理もしくは復号化処理を実行す るために利用される I Cカードであって、
CPU (120) と、 メモリ (1 10) と、 外部に対して情報のやりとりを 行う I /O部 (1 3 0 ) と、 を有し、
前記メモリ (1 1 0 ) には、
前記メモリ内の第 1の格納場所および第 2の格納場所に、 それぞれ外部から 与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、 前記第 1の格納場所に格納されている第 1のデータおよび前記第 2の格納場 所に格納されている第 2のデータを用いて、 所定のアルゴリズムに基づく演算 処理を行うことにより、 前記 2つのデ一夕に応じて一義的に定まる暗号用鍵情 報を発生させ、 これを前記メモリ内に格納するプログラムと、
I cカード外部で暗号化処理もしくは復号化処理を実行するために、 前記喑 号用鍵情報もしくはその一部を外部へ読み出すプログラムと、
が格納されていることを特徴とする暗号化もしくは復号化処理用の I Cカー ド、。
PCT/JP2005/008656 2004-05-06 2005-05-02 暗号用鍵情報を格納したicカードの発行方法 WO2005109739A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/579,080 US20070165860A1 (en) 2004-05-06 2005-05-02 Method for issuing ic card storing encryption key information
US13/111,586 US8099771B2 (en) 2004-05-06 2011-05-19 Method for issuing IC card storing encryption key information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-137192 2004-05-06
JP2004137192A JP4646050B2 (ja) 2004-05-06 2004-05-06 Icカードを発行して暗号化/復号化を行う方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US11/579,080 A-371-Of-International US20070165860A1 (en) 2004-05-06 2005-05-02 Method for issuing ic card storing encryption key information
US13/111,586 Division US8099771B2 (en) 2004-05-06 2011-05-19 Method for issuing IC card storing encryption key information

Publications (1)

Publication Number Publication Date
WO2005109739A1 true WO2005109739A1 (ja) 2005-11-17

Family

ID=35320550

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/008656 WO2005109739A1 (ja) 2004-05-06 2005-05-02 暗号用鍵情報を格納したicカードの発行方法

Country Status (3)

Country Link
US (2) US20070165860A1 (ja)
JP (1) JP4646050B2 (ja)
WO (1) WO2005109739A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4582619B2 (ja) * 2004-05-06 2010-11-17 大日本印刷株式会社 暗号化もしくは復号化処理用のicカードならびにこれを用いた暗号通信システムおよび暗号通信方法
JP4646050B2 (ja) * 2004-05-06 2011-03-09 大日本印刷株式会社 Icカードを発行して暗号化/復号化を行う方法
WO2007019614A1 (en) * 2005-08-18 2007-02-22 Entropic Technologies Pty Ltd Method for code generation
JP4680779B2 (ja) * 2006-01-13 2011-05-11 三菱電機株式会社 通信装置及び認証方法
US20080229117A1 (en) * 2007-03-07 2008-09-18 Shin Kang G Apparatus for preventing digital piracy
US8842836B2 (en) * 2007-11-26 2014-09-23 Koolspan, Inc. System for and method of cryptographic provisioning
US20090202081A1 (en) * 2008-02-08 2009-08-13 Ayman Hammad Key delivery system and method
KR101657705B1 (ko) * 2008-10-06 2016-09-19 코닌클리케 필립스 엔.브이. 네트워크를 운영하기 위한 방법, 시스템 관리 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램
JP2012084071A (ja) * 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
US8842840B2 (en) 2011-11-03 2014-09-23 Arvind Gidwani Demand based encryption and key generation and distribution systems and methods
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP2014175758A (ja) * 2013-03-07 2014-09-22 Toppan Printing Co Ltd Icカード及びその処理方法
EP2889854A1 (fr) * 2013-12-30 2015-07-01 Gemalto SA Dispositif de communication comportant un capteur d'activation lumineux
EP3128455A4 (en) * 2014-04-02 2017-11-01 Sony Corporation Information processing system and computer program
JP6358009B2 (ja) * 2014-09-19 2018-07-18 カシオ計算機株式会社 サーバ装置、データ処理方法およびデータ処理プログラム
US10192329B2 (en) 2014-09-19 2019-01-29 Casio Computer Co., Ltd. Electronic device which displays and outputs function formula data, data output method, and computer readable medium
US10210132B2 (en) 2014-09-19 2019-02-19 Casio Computer Co., Ltd. Calculator, recording medium and compute server
US9860221B2 (en) * 2015-03-10 2018-01-02 Intel Corporation Internet of things group formation using a key-based join protocol
JP6503242B2 (ja) * 2015-06-26 2019-04-17 ルネサスエレクトロニクス株式会社 データのセキュリティを提供するための装置、システムおよび方法ならびに当該方法をコンピュータに実行させるためのプログラム
JP6581611B2 (ja) * 2017-02-21 2019-09-25 日本電信電話株式会社 認証鍵共有システムおよび認証鍵共有方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233851A (ja) * 1988-03-14 1989-09-19 Nec Corp 暗号装置
JPH09106445A (ja) * 1995-10-12 1997-04-22 Dainippon Printing Co Ltd 情報記録媒体のキー変更方法および情報記録媒体
JPH10327142A (ja) * 1997-03-26 1998-12-08 Sony Corp 認証システムおよび方法、並びに認証装置および方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
JPH0386469U (ja) * 1989-12-21 1991-09-02
US5309516A (en) * 1990-12-07 1994-05-03 Hitachi, Ltd. Group cipher communication method and group cipher communication system
US5841866A (en) * 1994-09-30 1998-11-24 Microchip Technology Incorporated Secure token integrated circuit and method of performing a secure authentication function or transaction
JPH09167220A (ja) * 1995-12-18 1997-06-24 N T T Electron Technol Kk 情報通信用icカードと、その発行システム並びにその通信システム
EP0885417B1 (en) * 1996-02-09 2002-07-31 Digital Privacy, Inc Access control/crypto system
JP2001514834A (ja) * 1997-03-10 2001-09-11 ガイ・エル・フィールダー 安全決定性暗号鍵発生システムおよび方法
US6490680B1 (en) * 1997-12-04 2002-12-03 Tecsec Incorporated Access control and authorization system
JP3867388B2 (ja) * 1998-02-12 2007-01-10 富士ゼロックス株式会社 条件付き認証装置および方法
JP2002073571A (ja) * 2000-08-31 2002-03-12 Sony Corp 個人認証システムおよび個人認証方法、並びにプログラム提供媒体
JP3557181B2 (ja) * 2001-05-14 2004-08-25 株式会社東芝 Icカード発行システム
EP1830317A1 (en) * 2001-06-11 2007-09-05 Sony Corporation Electronic money system
US6708893B2 (en) * 2002-04-12 2004-03-23 Lucent Technologies Inc. Multiple-use smart card with security features and method
WO2004089017A1 (en) * 2003-04-01 2004-10-14 Mi-Kyoung Park Mobile communication terminal having a function of reading out information from contactless type communication tag and methdo for providing information of whether an article is genuine or not
JP4646050B2 (ja) * 2004-05-06 2011-03-09 大日本印刷株式会社 Icカードを発行して暗号化/復号化を行う方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233851A (ja) * 1988-03-14 1989-09-19 Nec Corp 暗号装置
JPH09106445A (ja) * 1995-10-12 1997-04-22 Dainippon Printing Co Ltd 情報記録媒体のキー変更方法および情報記録媒体
JPH10327142A (ja) * 1997-03-26 1998-12-08 Sony Corp 認証システムおよび方法、並びに認証装置および方法

Also Published As

Publication number Publication date
US20070165860A1 (en) 2007-07-19
JP4646050B2 (ja) 2011-03-09
US20110222686A1 (en) 2011-09-15
US8099771B2 (en) 2012-01-17
JP2005322962A (ja) 2005-11-17

Similar Documents

Publication Publication Date Title
WO2005109739A1 (ja) 暗号用鍵情報を格納したicカードの発行方法
US11716317B2 (en) Method to prevent cloning of electronic components using public key infrastructure secure hardware device
WO2018046008A1 (zh) 一种区块链加密射频芯片存储设计方法
CN103415855B (zh) 大容量存储设备存储器加密方法、系统及装置
JP3273499B2 (ja) 保護可能な情報を安全に転送し保存する方法及びシステム
AU776552B2 (en) Security access and authentication token with private key transport functionality
TWI418198B (zh) 使用非對稱密鑰密碼之用於個人化智慧卡的方法與系統
WO2005109740A1 (ja) Icカード
JPH11510678A (ja) セキュリティモジュールにおいて秘密情報を記憶し使用するための方法及び関連するセキュリティモジュール
JPS6016670B2 (ja) 端末ユ−ザの身元を認証するためのシステム
CN101176125A (zh) 完整性受保护的安全存储设备的实施
WO2005008563A2 (en) Encryption of radio frequency identification tags
JP2008072717A (ja) 埋込認証を有するハードディスク・ストリーミング暗号操作
CN102208001A (zh) 硬件支持的虚拟化密码服务
US20140059356A1 (en) Technique for reconfigurable data storage media encryption
US8843766B2 (en) Method and system for protecting against access to a machine code of a device
Mavrovouniotis et al. Hardware security modules
JP2012090231A (ja) 記憶装置及びセキュアイレース方法
US20020044655A1 (en) Information appliance and use of same in distributed productivity environments
CN101098223A (zh) 一种网络用户密码加密的方法及其装置
KR101276217B1 (ko) 암호화 하드디스크에 대한 데이터 복원 시스템 및 복원 방법
JP3567615B2 (ja) 情報記録システム
JP2011010170A (ja) 電子機器及びその不正利用防止方法
JPH09179950A (ja) 個別icカード、認証用icカード及びそれらを用いたicカードシステム
JP2004023122A (ja) Icカードを利用した暗号システム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007165860

Country of ref document: US

Ref document number: 11579080

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 11579080

Country of ref document: US