JP2011223495A - Information processor and method, and program - Google Patents

Information processor and method, and program Download PDF

Info

Publication number
JP2011223495A
JP2011223495A JP2010093031A JP2010093031A JP2011223495A JP 2011223495 A JP2011223495 A JP 2011223495A JP 2010093031 A JP2010093031 A JP 2010093031A JP 2010093031 A JP2010093031 A JP 2010093031A JP 2011223495 A JP2011223495 A JP 2011223495A
Authority
JP
Japan
Prior art keywords
card
list
response
combination
challenge
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2010093031A
Other languages
Japanese (ja)
Inventor
Kunihide Fujii
邦英 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2010093031A priority Critical patent/JP2011223495A/en
Publication of JP2011223495A publication Critical patent/JP2011223495A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow even an information processor not having a secure area to safely authenticate other information processors at low cost.SOLUTION: A personal computer 71 has a list 81 storing n combinations of a challenge Ck and a response Rk. The personal computer 71 selects the i-th challenge Ci and send the selected i-th challenge Ci to an integrated circuit (IC) card 72. The IC card 72 decodes the challenge Ci to obtain a calculation value Ai. The IC card 72 encodes the calculation value Ai and sends the encoded calculation value Ai as a response R to the personal computer 71. The personal computer 71 selects the i-th response Ri from the list 81 to compare the response R with the response Ri. If the response R is equal to the response Ri, the personal computer 71 authenticates the IC card 72. The present invention can apply to an IC tag.

Description

本発明は、情報処理装置及び方法、並びにプログラムに関し、特に、セキュアエリアを有しない情報処理装置であっても他の情報処理装置を低コストで安全に認証することが可能になる、情報処理装置及び方法、並びにプログラムに関する。   The present invention relates to an information processing apparatus, method, and program, and in particular, an information processing apparatus that can securely authenticate another information processing apparatus at low cost even if the information processing apparatus does not have a secure area. And a method and a program.

従来、リーダライタは、IC(Integrated Circuit)カードを用いた各種のトランザクション処理を実行することができる。一般的には、セキュリティを強化するために、リーダライタは、トランザクション処理の実行に先立って、ICカードを認証する(例えば、特許文献1参照)。なお、ICカードを認証するまでの一連の処理を、以下、「認証処理」と称する。   Conventionally, a reader / writer can execute various transaction processes using an IC (Integrated Circuit) card. In general, in order to enhance security, the reader / writer authenticates the IC card prior to execution of transaction processing (see, for example, Patent Document 1). A series of processes until the IC card is authenticated is hereinafter referred to as “authentication process”.

[従来の認証システムによる認証処理]
図1は、従来の認証システムの認証処理の流れを示す模式図である。
[Authentication process by conventional authentication system]
FIG. 1 is a schematic diagram showing a flow of authentication processing of a conventional authentication system.

従来の認証システム1は、リーダライタ11とICカード12とから構成されている。   The conventional authentication system 1 includes a reader / writer 11 and an IC card 12.

従来の認証処理は、耐タンパ性のあるセキュアなICチップ等、セキュアチップ内のセキュアな環境(以下、「セキュアエリア」と称する)内で実行される。例えば図1の例では、リーダライタ11内にはセキュアエリア21が構築されており、ICカード12内にはセキュアエリア22が構築されている。そこで、リーダライタ11は、セキュアエリア21内で、データの暗号化或いは復号化に関連する処理を実行する。同様に、ICカード12は、セキュアエリア22内で、データの暗号化或いは復号化に関連する処理を実行する。データの暗号化或いは復号化に関連する処理としては、例えば、データの暗号化や復号化の処理、データの暗号化若しくは復号化に用いられる鍵やアルゴリズムを管理する処理、認証に用いる情報の元になる乱数を発生する処理等が存在する。   Conventional authentication processing is executed in a secure environment (hereinafter referred to as “secure area”) in a secure chip, such as a tamper-resistant secure IC chip. For example, in the example of FIG. 1, a secure area 21 is constructed in the reader / writer 11 and a secure area 22 is constructed in the IC card 12. Therefore, the reader / writer 11 executes processing related to data encryption or decryption in the secure area 21. Similarly, the IC card 12 executes processing related to data encryption or decryption in the secure area 22. Processes related to data encryption or decryption include, for example, data encryption and decryption processes, processes for managing keys and algorithms used for data encryption or decryption, and sources of information used for authentication. There are processes that generate random numbers.

認証処理は、リーダライタ11とICカード12との間で本来のデータの送受信が行われる前に実行される。例えばユーザがICカード12をリーダライタ11にかざして近接させると、非接触近接通信によりリーダライタ11は、次のようにしてICカード12を認証する。   The authentication process is executed before the original data is transmitted / received between the reader / writer 11 and the IC card 12. For example, when the user holds the IC card 12 close to the reader / writer 11, the reader / writer 11 authenticates the IC card 12 by non-contact proximity communication as follows.

すなわち、リーダライタ11とICカード12とは、共有の鍵KA及び鍵KBを、自機のセキュアエリア21,22内にそれぞれ保持している。   That is, the reader / writer 11 and the IC card 12 hold the shared key KA and key KB in their own secure areas 21 and 22, respectively.

この場合、リーダライタ11は、セキュアエリア21内で、暗号化アルゴリズムE1に従って、鍵KAを用いて乱数A1を暗号化する。そして、リーダライタ11は、暗号化された乱数A1を、チャレンジCとしてICカード12に送信する。   In this case, the reader / writer 11 encrypts the random number A1 using the key KA in the secure area 21 according to the encryption algorithm E1. Then, the reader / writer 11 transmits the encrypted random number A1 to the IC card 12 as a challenge C.

ICカード12は、チャレンジCを受信すると、セキュアエリア22内で、暗号化アルゴリズムE1に対応する復号化アルゴリズムD1に従って、鍵KAを用いてチャレンジCを復号化する。これにより、算出値A2が得られる。そこで、ICカード12は、セキュアエリア22内で、暗号化アルゴリズムE2に従って、鍵KBを用いて算出値A2を暗号化する。そして、ICカード12は、暗号化された算出値A2を、レスポンスRとしてリーダライタ11に送信する。   When receiving the challenge C, the IC card 12 decrypts the challenge C using the key KA in the secure area 22 according to the decryption algorithm D1 corresponding to the encryption algorithm E1. Thereby, the calculated value A2 is obtained. Therefore, the IC card 12 encrypts the calculated value A2 using the key KB in the secure area 22 according to the encryption algorithm E2. Then, the IC card 12 transmits the encrypted calculated value A2 to the reader / writer 11 as a response R.

リーダライタ11は、レスポンスRを受信すると、セキュアエリア21内で、暗号化アルゴリズムE2に対応する復号化アルゴリズムD2に従って、鍵KBを用いてレスポンスRを復号化する。これにより、算出値A3が得られる。そこで、リーダライタ11は、算出値A3と乱数A1とを比較して、これらが一致する場合にはICカード12を認証する。   Upon receiving the response R, the reader / writer 11 decrypts the response R using the key KB in the secure area 21 according to the decryption algorithm D2 corresponding to the encryption algorithm E2. Thereby, the calculated value A3 is obtained. Therefore, the reader / writer 11 compares the calculated value A3 with the random number A1, and authenticates the IC card 12 if they match.

特開平10−20780号公報Japanese Patent Laid-Open No. 10-20780

しかしながら、パーソナルコンピュータが、リーダライタ11として機能して、ICカード12を認証する場合、セキュリティの高い認証処理を低コストで実現することは困難であった。すなわち、パーソナルコンピュータが、従来の認証処理に必要な鍵や暗号化アルゴリズムを安全に保持するためには、セキュアチップを実装してセキュアエリアを構築する必要がある。しかしながら、セキュアチップは開発や運用にコストがかかることから、パーソナルコンピュータに、セキュアエリアを設けることは現実的でない。従って、このようなセキュアエリアを有しないパーソナルコンピュータが、従来の認証処理を実行しても、セキュリティを確保することは困難であった。   However, when the personal computer functions as the reader / writer 11 to authenticate the IC card 12, it has been difficult to realize high-security authentication processing at low cost. That is, in order for a personal computer to safely hold a key and an encryption algorithm necessary for conventional authentication processing, it is necessary to construct a secure area by mounting a secure chip. However, since a secure chip is expensive to develop and operate, it is not practical to provide a secure area in a personal computer. Therefore, even if a personal computer that does not have such a secure area executes conventional authentication processing, it is difficult to ensure security.

[セキュアエリアを有さないパーソナルコンピュータによる認証処理]
図2は、セキュアエリアを有さないパーソナルコンピュータによる認証処理の流れを示す模式図である。
[Authentication process by personal computer without secure area]
FIG. 2 is a schematic diagram showing a flow of authentication processing by a personal computer having no secure area.

図2の認証システム31は、パーソナルコンピュータ41とICカード12とから構成されている。   The authentication system 31 shown in FIG. 2 includes a personal computer 41 and an IC card 12.

ICカード12は、セキュアエリア22を有しているが、パーソナルコンピュータ41は、セキュアエリアを有していない。   The IC card 12 has a secure area 22, but the personal computer 41 does not have a secure area.

したがって、パーソナルコンピュータ41が図1と同様の認証処理を実行する場合、認証処理に必要な情報は、ICカード12側ではセキュアエリア22内に保持されるのに対して、パーソナルコンピュータ41側ではセキュアでない環境に保持される。すなわち、ICカード12においては、鍵KA、鍵KB、復号化アルゴリズムD1、および暗号化アルゴリズムE2といった認証処理に必要な情報は、セキュアエリア22内に保持される。しかしながら、パーソナルコンピュータ41においては、鍵KA、鍵KB、暗号化アルゴリズムE1、および復号化アルゴリズムD2といった認証処理に必要な情報は、セキュアでない環境に保持される。   Therefore, when the personal computer 41 executes the same authentication process as in FIG. 1, the information necessary for the authentication process is held in the secure area 22 on the IC card 12 side, whereas the information required for the personal computer 41 side is secure on the personal computer 41 side. Not kept in an environment. That is, in the IC card 12, information necessary for authentication processing such as the key KA, the key KB, the decryption algorithm D 1, and the encryption algorithm E 2 is held in the secure area 22. However, in the personal computer 41, information necessary for the authentication process such as the key KA, the key KB, the encryption algorithm E1, and the decryption algorithm D2 is held in an insecure environment.

なお、以下の図2の説明の範囲内において、鍵KAや鍵KBをまとめて、「鍵」と称する。また、復号化アルゴリズムD1、暗号化アルゴリズムE2、暗号化アルゴリズムE1、および復号化アルゴリズムD2をまとめて、「アルゴリズム」と称する。   Note that, within the scope of the description of FIG. 2 below, the key KA and the key KB are collectively referred to as “key”. The decryption algorithm D1, the encryption algorithm E2, the encryption algorithm E1, and the decryption algorithm D2 are collectively referred to as “algorithm”.

このように、セキュアエリアを有していないパーソナルコンピュータ41が、認証処理に必要な情報、すなわち、鍵とアルゴリズムを保持することは、セキュリティの観点から好ましくない。つまり、第三者が、セキュアエリアを有していないパーソナルコンピュータ41から鍵やアルゴリズムを盗難する可能性は、セキュアエリアを有する場合と比較して、遥かに高くなる。   Thus, it is not preferable from the viewpoint of security that the personal computer 41 that does not have a secure area holds information necessary for authentication processing, that is, a key and an algorithm. That is, the possibility that a third party steals a key or an algorithm from the personal computer 41 that does not have a secure area is much higher than when the third party has a secure area.

以上まとめると、パーソナルコンピュータ41がICカード12を認証することは、ログイン処理等様々な利用可能性があるため、その実現が要求されている。しかしながら、パーソナルコンピュータ41は、コストの観点等からセキュアエリアを有していないため、ICカード12を安全に認証することはできなかった。   In summary, since the personal computer 41 authenticates the IC card 12 has various uses such as a login process, it is required to be realized. However, since the personal computer 41 does not have a secure area from the viewpoint of cost or the like, the IC card 12 cannot be securely authenticated.

なお、上述した内容は、パーソナルコンピュータ41がICカード72を認証する場合のみならず、セキュアエリアを有していない任意の情報処理装置が任意の他の情報処理装置を認証する場合に同様にあてはまる。   Note that the above description applies not only when the personal computer 41 authenticates the IC card 72, but also when any information processing apparatus that does not have a secure area authenticates any other information processing apparatus. .

本発明は、このような状況に鑑みてなされたものであり、セキュアエリアを有しない情報処理装置であっても他の情報処理装置を低コストで安全に認証することを可能にするものである。   The present invention has been made in view of such a situation, and enables an information processing apparatus having no secure area to safely authenticate other information processing apparatuses at low cost. .

本発明の第1の側面の情報処理装置は、認証対象のICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムに従って、予め乱数が暗号化され、その結果得られる値をチャレンジとし、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムに従って、予め前記乱数が暗号化され、その結果得られる値をレスポンスとし、前記乱数を変更することで生成されたn通り(nは複数の整数値)の前記チャレンジと前記レスポンスとの組み合わせが格納されたリストを保持する保持手段と、前記保持手段により保持されたリストの中から、1組の組み合わせを選択する選択手段と、前記選択手段により選択された前記組み合せに含まれる前記チャレンジを送信する送信制御手段と、前記ICカードによって、前記送信制御手段から送信された前記チャレンジが受信され、前記共通鍵を用いて前記復号化アルゴリズムに従って復号化され、その結果得られる算出値が、前記共通鍵を用いて前記第2の暗号化アルゴリズムに従って暗号化され、その結果得られる値が前記レスポンスとして送信されてきた場合、前記レスポンスを受信する受信制御手段と、前記受信制御手段に受信された前記レスポンスと、前記選択手段により選択された前記組み合せに含まれる前記レスポンスとが一致する場合、前記ICカードを認証する認証手段とを備える。   The information processing apparatus according to the first aspect of the present invention uses a common key shared with an IC card to be authenticated, and a random number is encrypted in advance according to a first encryption algorithm corresponding to a decryption algorithm possessed by the IC card. And using the common key as a challenge, the random number is encrypted in advance according to a third encryption algorithm that is the same as the second encryption algorithm of the IC card, A holding means for holding a list in which combinations of the challenge and the response of n (n is a plurality of integer values) generated by changing the random number are stored as a value obtained as a result; Selection means for selecting one set of combinations from the list held by the holding means, and included in the combination selected by the selection means The challenge transmitted from the transmission control means is received by the transmission control means for transmitting the challenge and the IC card, decrypted according to the decryption algorithm using the common key, and a calculation obtained as a result A value is encrypted according to the second encryption algorithm using the common key, and when the resulting value is transmitted as the response, a reception control means for receiving the response; and the reception control means And an authentication unit that authenticates the IC card when the response received by the selection unit matches the response included in the combination selected by the selection unit.

前記リストに格納されるn通りの前記組み合わせの各々には、1乃至nの何れかの番号が付されており、前記選択手段は、前記番号の順に、前記組み合わせを選択することができる。   Each of the n combinations stored in the list is given any number from 1 to n, and the selection means can select the combinations in the order of the numbers.

前記リストに格納されるn通りの前記組み合わせの各々には、1乃至nの何れかの番号が付されており、前記選択手段により所定の番号以上の前記組み合わせが選択された場合、n番目に近づいてきたことを示す警告をユーザに提示する提示手段をさらに備えることができる。   Each of the n combinations stored in the list is given any number from 1 to n. If the combination of the predetermined number or more is selected by the selection means, the number is nth. Presenting means for presenting a warning indicating that the user is approaching to the user can be further provided.

前記選択手段によりn通りの組み合わせのうちの最後の組み合わせが選択されるまでの間においては、前記認証手段により前記ICカードが認証された場合に前記情報処理装置のログイン処理を実行し、前記選択手段によりn通りの組み合わせのうちの最後の組み合わせが選択された後においては、前記認証手段による前記ICカードの認証を用いたログイン処理の実行を禁止し、その代わりに、アカウント名とパスワードを用いた認証処理を実行することができる。   Until the last combination of the n combinations is selected by the selection unit, when the IC card is authenticated by the authentication unit, a login process of the information processing apparatus is executed, and the selection is performed. After the last combination of n combinations is selected by the means, the authentication means prohibits execution of login processing using authentication of the IC card, and instead uses an account name and password. The authentication processing that was performed can be executed.

所定のタイミングで、前記チャレンジと前記レスポンスとの前記組み合わせを生成する処理を実行する組み合わせ生成手段をさらに備えることができ、前記保持手段により保持される前記リストの少なくとも一部は、前記組み合わせ生成手段により前記組み合わせが生成される毎に更新することができる。   Combination generation means for executing processing for generating the combination of the challenge and the response at a predetermined timing can be further provided, and at least a part of the list held by the holding means is the combination generation means Can be updated each time the combination is generated.

前記組み合わせ生成手段は、前記リストに含まれるn通りの前記組み合わせが前記選択手段によって選択されたとき、新たなn通りの前記組み合わせを生成し、前記保持手段により保持される前記リストは、前記組み合わせ生成手段により生成された前記新たなn通りの組み合わせが格納された新たなリストに更新することができる。   The combination generation unit generates n new combinations when the n combinations included in the list are selected by the selection unit, and the list held by the holding unit includes the combination The new n combinations generated by the generation unit can be updated to a new list in which the combinations are stored.

前記組み合わせ生成手段は、前記認証手段が前記ICカードを認証する毎に、1以上の前記組み合わせを生成し、前記保持手段により保持される前記リストに、前記組み合わせ生成手段により生成された前記1以上の前記組み合わせが追加されることによって、前記リストが更新することができる。   The combination generation unit generates one or more combinations each time the authentication unit authenticates the IC card, and the combination generation unit generates the one or more combinations generated in the list held by the holding unit. The list can be updated by adding the combinations.

前記選択手段、前記送信制御手段、前記受信制御手段、及び前記認証手段による処理をL回(Lは2以上の整数値)繰り返し、L回の全てについて前記認証手段により前記ICカードが認証された場合、前記ICカードの認証を成功とすることができる。   The processing by the selection means, the transmission control means, the reception control means, and the authentication means is repeated L times (L is an integer value of 2 or more), and the IC card is authenticated by the authentication means for all L times. In this case, the authentication of the IC card can be successful.

前記組み合わせ生成手段により生成された前記組み合わせは、その生成日時を示す情報が付されて、前記リストに追加され、前記組み合わせ生成手段は、前記生成日時を示す情報に基づいて、前記組み合わせを選択することができる。   The combination generated by the combination generation unit is added with information indicating the generation date and added to the list, and the combination generation unit selects the combination based on the information indicating the generation date and time. be able to.

前記選択手段は、前回に選択した前記組み合わせの生成日時とは離散した日時に、前記組み合わせ生成手段により生成された前記組み合わせを選択することができる。   The selection unit can select the combination generated by the combination generation unit at a date and time that is discrete from the generation date and time of the combination selected last time.

前記組み合わせ生成手段により生成された前記組み合わせは、生成された時点における前記認証手段による認証回数を示す情報が付されて、前記リストに追加され、前記組み合わせ生成手段は、前記認証回数を示す情報に基づいて、前記組み合わせを選択することができる。   The combination generated by the combination generation unit is added to the list with information indicating the number of authentications by the authentication unit at the time of generation, and the combination generation unit adds the information indicating the number of authentications. Based on this, the combination can be selected.

前記組み合わせ生成手段は、乱数を発生させて、前記乱数に基づいてチャレンジを生成し、前記チャレンジを前記ICカードに送信し、送信された前記チャレンジに基づいて前記ICカードによって生成された前記レスポンスが送信されてきた場合、前記レスポンスを受信し、生成した前記チャレンジと、受信した前記レスポンスとの組を、前記組み合わせとして生成することができる。   The combination generation means generates a random number, generates a challenge based on the random number, transmits the challenge to the IC card, and the response generated by the IC card based on the transmitted challenge is When transmitted, the response is received, and the generated challenge and the received response can be generated as the combination.

前記組み合わせ生成手段による前記組み合わせの生成中又は生成直後に、前記ICカードの抜き打ち認証処理として、前記選択手段、前記送信制御手段、前記受信制御手段、及び前記認証手段による認証処理が実行されることができる。   During or immediately after generation of the combination by the combination generation unit, authentication processing by the selection unit, the transmission control unit, the reception control unit, and the authentication unit is executed as the IC card sampling authentication process. Can do.

前記ICカードの抜き打ち認証処理において、前記認証手段は、前記受信制御手段に受信された前記レスポンスと、前記選択手段により選択された前記組み合せに含まれる前記レスポンスとが不一致の場合、前回の前記ICカードの認証後に前記組み合わせ生成手段により生成された前記組み合わせを破棄することができる。   In the IC card unauthenticating authentication process, if the response received by the reception control unit and the response included in the combination selected by the selection unit do not match, the previous IC The combination generated by the combination generation unit after card authentication can be discarded.

前記認証手段により前記組み合わせが破棄された場合、前記ICカードの抜き打ち認証処理の失敗を示す警告をユーザに提示する提示手段をさらに備えることができる。   When the combination is discarded by the authentication means, it can further comprise a presentation means for presenting a warning indicating a failure of the IC card unsuccessful authentication processing to the user.

前記ICカードの抜き打ち認証処理において、前記選択手段は、前記保持手段に保持された前記リストに、前記抜き打ち認証処理の専用として格納された前記組み合わせを選択することができる。   In the IC card unauthenticating process, the selection unit can select the combination stored in the list held in the holding unit as dedicated to the unauthenticating process.

前記送信制御手段は、さらに、前記チャレンジを送信する前に、ポーリングを送信し、前記ポーリングを受信した前記ICカードから制御信号が送信されてきた場合、前記受信制御手段は、前記制御信号を受信し、前記送信制御手段は、前記受信制御手段により前記制御信号が受信された後、前記チャレンジを前記ICカードに送信することができる。   The transmission control means further transmits polling before transmitting the challenge, and when a control signal is transmitted from the IC card that has received the polling, the reception control means receives the control signal. The transmission control means can transmit the challenge to the IC card after the control signal is received by the reception control means.

前記制御信号には、前記ICカードを一意に特定するカード識別子が含まれており、前記送信制御手段は、前記受信制御手段により前記制御信号に基づいて前記カード識別子を認識し、認識した前記カード識別子が前記ICカードのものであることを特定した場合に、前記チャレンジを送信することができる。   The control signal includes a card identifier that uniquely identifies the IC card, and the transmission control means recognizes the card identifier based on the control signal by the reception control means, and the recognized card When the identifier is specified to be that of the IC card, the challenge can be transmitted.

前記保持手段に保持された前記リストには、故意に誤ったレスポンスを含む前記組み合わせを格納することができる。   In the list held in the holding means, the combination including a deliberately wrong response can be stored.

前記受信制御手段は、所定のネットワークを介する他の情報処理装置から前記リストが送信されてきた場合、前記リストを受信し、前記保持手段は、前記受信制御手段により受信された前記リストを保持することができる。   When the list is transmitted from another information processing apparatus via a predetermined network, the reception control unit receives the list, and the holding unit holds the list received by the reception control unit be able to.

本発明の第1の側面の情報処理方法及びプログラムは、上述した本発明の第1の側面の情報処理装置に対応する方法及びプログラムである。   The information processing method and program according to the first aspect of the present invention are a method and program corresponding to the information processing apparatus according to the first aspect of the present invention described above.

本発明の第1の側面の情報処理装置及び方法並びにプログラムにおいては、認証対象のICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムに従って、予め乱数が暗号化され、その結果得られる値がチャレンジとされ、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムに従って、予め前記乱数が暗号化され、その結果得られる値がレスポンスとされ、前記乱数を変更することで生成されたn通り(nは複数の整数値)の前記チャレンジと前記レスポンスとの組み合わせが格納されたリストが保持される。保持されたリストの中から、1組の組み合わせが選択され、選択された前記組み合せに含まれる前記チャレンジが送信され、前記ICカードによって、送信された前記チャレンジが受信され、前記共通鍵を用いて前記復号化アルゴリズムに従って復号化され、その結果得られる算出値が、前記共通鍵を用いて前記第2の暗号化アルゴリズムに従って暗号化され、その結果得られる値が前記レスポンスとして送信されてきた場合、前記レスポンスが受信される。そして、受信された前記レスポンスと、選択された前記組み合せに含まれる前記レスポンスとが一致する場合、前記ICカードが認証される。   In the information processing apparatus, method, and program according to the first aspect of the present invention, a common key shared with the IC card to be authenticated is used according to the first encryption algorithm corresponding to the decryption algorithm possessed by the IC card. The random number is encrypted in advance, and a value obtained as a result is set as a challenge, and the random number is previously determined in accordance with a third encryption algorithm that is the same as the second encryption algorithm of the IC card using the common key. Is encrypted, and the resulting value is used as a response, and a list in which combinations of the n challenges (n is a plurality of integer values) generated by changing the random number and the response are stored is stored. Retained. A set of combinations is selected from the held list, the challenge included in the selected combination is transmitted, the transmitted challenge is received by the IC card, and the common key is used. When the calculated value obtained by decrypting according to the decryption algorithm is encrypted according to the second encryption algorithm using the common key, and the resultant value is transmitted as the response, The response is received. Then, if the received response matches the response included in the selected combination, the IC card is authenticated.

本発明の第2の側面の情報処理装置は、乱数を発生する乱数発生手段と、前記乱数発生手段により発生された前記乱数を、ICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムにより暗号化した結果得られる値をチャレンジとして、前記乱数を、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムにより暗号化した結果得られる値をレスポンスとして、前記チャレンジと前記レスポンスとの組み合わせを生成する処理を、前記乱数を変更しながら繰り返す暗号化手段と、前記暗号化手段により前記組み合わせが生成される毎に、前記組み合わせをリストに追加する処理を繰り返すことによって、前記ICカードを認証する装置に提供する前記リストを生成する生成手段とを備え、前記乱数発生手段、前記暗号化手段、及び前記生成手段は、セキュアな環境内に配置されている。   An information processing apparatus according to a second aspect of the present invention includes a random number generation unit that generates a random number and the IC card using a common key that shares the random number generated by the random number generation unit with the IC card. Using the value obtained as a result of encryption by the first encryption algorithm corresponding to the decryption algorithm as a challenge, the random number is the same as the second encryption algorithm of the IC card using the common key. A value obtained as a result of encryption by the encryption algorithm of 3, and a process for generating a combination of the challenge and the response is repeated while changing the random number, and the combination by the encryption means Each time the IC card is generated, the IC card is recognized by repeating the process of adding the combination to the list. And generating means for generating said list to provide to a device for the random number generation means, the encryption means, and said generating means is arranged to secure the environment.

本発明の第2の側面の情報処理方法及びプログラムは、上述した本発明の第3の側面の情報処理装置に対応する方法及びプログラムである。   The information processing method and program according to the second aspect of the present invention are a method and program corresponding to the information processing apparatus according to the third aspect of the present invention described above.

本発明の第2の側面の情報処理装置及び方法並びにプログラムにおいては、乱数が発生され、発生された前記乱数を、ICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムにより暗号化した結果得られる値がチャレンジとされ、前記乱数を、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムにより暗号化した結果得られる値がレスポンスとされ、前記チャレンジと前記レスポンスとの組み合わせが生成される処理が、前記乱数が変更されながら繰り返され、前記組み合わせが生成される毎に、前記組み合わせをリストに追加する処理が繰り返されることによって、前記ICカードを認証する装置に提供する前記リストが生成される。そして、乱数が発生され、暗号化され、及び生成されるのは、セキュアな環境内である。   In the information processing apparatus, method, and program according to the second aspect of the present invention, a random number is generated, and the generated random number is converted into a decryption algorithm possessed by the IC card using a common key shared with the IC card. A value obtained as a result of encryption by the corresponding first encryption algorithm is taken as a challenge, and the random number is used as the third encryption same as the second encryption algorithm of the IC card using the common key. A value obtained as a result of encryption by the encryption algorithm is used as a response, and a process of generating a combination of the challenge and the response is repeated while the random number is changed, and each time the combination is generated, the combination is generated. Is added to the list, so that the IC card is provided to the device that authenticates the IC card. Door is generated. And it is in a secure environment that random numbers are generated, encrypted and generated.

以上のごとく、本発明によれば、セキュアエリアを有しない情報処理装置であっても他の情報処理装置を低コストで安全に認証することが可能になる。   As described above, according to the present invention, even an information processing apparatus that does not have a secure area can safely authenticate other information processing apparatuses at low cost.

従来の認証システムの認証処理の流れを示す模式図である。It is a schematic diagram which shows the flow of the authentication process of the conventional authentication system. パーソナルコンピュータによる認証処理の流れを示す模式図である。It is a schematic diagram which shows the flow of the authentication process by a personal computer. 本発明の原理の概要について説明する図である。It is a figure explaining the outline | summary of the principle of this invention. リストの生成手法の一例について説明する図である。It is a figure explaining an example of the production | generation method of a list | wrist. リストの生成手法の他の例ついて説明する図である。It is a figure explaining the other example of the production | generation method of a list | wrist. リスト内の組み合わせの総数に応じたセキュリティ強度とコストの関係の一例を示す図である。It is a figure which shows an example of the relationship between the security strength according to the total number of the combinations in a list | wrist, and cost. セキュリティの復旧について説明する図である。It is a figure explaining recovery of security. 本発明が適用される認証システムの一実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of one Embodiment of the authentication system with which this invention is applied. リスト生成装置の機能的構成例を示すブロック図である。It is a block diagram which shows the functional structural example of a list production | generation apparatus. パーソナルコンピュータのハードウエア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of a personal computer. CPUの機能的構成例を示すブロック図である。It is a block diagram which shows the functional structural example of CPU. ICカードの機能的構成例を示すブロック図である。It is a block diagram which shows the functional structural example of an IC card. リスト生成処理の一例を説明するフローチャートである。It is a flowchart explaining an example of list generation processing. パーソナルコンピュータの片側認証処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the one-sided authentication process of a personal computer. ICカードの片側被認証処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the one-side authentication process of an IC card.

[本発明の実施の形態の概要]
はじめに、本発明の理解を容易なものとすべく、図3を参照して、本発明の概略について説明する。
[Outline of Embodiment of the Present Invention]
First, an outline of the present invention will be described with reference to FIG. 3 in order to facilitate understanding of the present invention.

図3は、本発明の原理の概要について説明する図である。   FIG. 3 is a diagram for explaining the outline of the principle of the present invention.

図3の認証システム61は、パーソナルコンピュータ71とICカード72とから構成されている。パーソナルコンピュータ71は、適正なICカード72を有するユーザにのみログインを許可する。このためパーソナルコンピュータ71はICカード72を認証する。   The authentication system 61 shown in FIG. 3 includes a personal computer 71 and an IC card 72. The personal computer 71 permits login only to a user having an appropriate IC card 72. Therefore, the personal computer 71 authenticates the IC card 72.

なお、2台の情報処理装置が相互に認証する処理を、「相互認証処理」と称するのに対して、一方が他方のみを認証する認証処理を、以下、「片側認証処理」と称する。   A process in which two information processing apparatuses authenticate each other is referred to as a “mutual authentication process”, whereas an authentication process in which one authenticates only the other is hereinafter referred to as a “one-side authentication process”.

ICカード72は、セキュアエリア91を有しているが、パーソナルコンピュータ71は、セキュアエリアを有していない。   The IC card 72 has a secure area 91, but the personal computer 71 does not have a secure area.

パーソナルコンピュータ71は、チャンレジCkとレスポンスRkとの組み合わせ(以下、適宜「組み合わせ」と略記する)がn通り格納されているリスト81を保持する。ここで、kは、1乃至nのうちの何れかの整数値であり、nは、組み合わせの総数を示す1以上の任意の整数値である。   The personal computer 71 maintains a list 81 in which n combinations of the challenge Ck and the response Rk (hereinafter abbreviated as “combination” as appropriate) are stored. Here, k is an integer value from 1 to n, and n is an arbitrary integer value of 1 or more indicating the total number of combinations.

リスト81の詳細については後述するが、チャレンジCkは、例えば、ICカード72が有する復号化アルゴリズムD11に対応する暗号化アルゴリズムE11に従って、ICカード72が有する鍵KCを用いて、所定の値Akが予め暗号化され、その結果得られた情報である。レスポンスRkは、例えば、ICカード72が有する暗号化アルゴリズムE12に従って、ICカード72が有する鍵KCを用いて、前述の値Akが予め暗号化され、その結果得られた情報である。   Details of the list 81 will be described later. For example, the challenge Ck has a predetermined value Ak using the key KC of the IC card 72 according to the encryption algorithm E11 corresponding to the decryption algorithm D11 of the IC card 72. Information obtained as a result of encryption in advance. The response Rk is information obtained by, for example, previously encrypting the value Ak using the key KC included in the IC card 72 in accordance with the encryption algorithm E12 included in the IC card 72.

パーソナルコンピュータ71は、認証処理を開始すると、i番目のチャレンジCi(iは1乃至nのうちの何れかの整数値)をリスト81から選択してICカード72に送信する。   When the personal computer 71 starts the authentication process, the personal computer 71 selects the i-th challenge Ci (i is any integer value from 1 to n) from the list 81 and transmits it to the IC card 72.

ICカード72は、パーソナルコンピュータ71からのチャレンジCiを受信すると、セキュアエリア91内で、復号化アルゴリズムD11に従って、鍵KCを用いて、チャレンジCiを復号化する。これにより、算出値Aiが得られる。そこで、ICカード72は、セキュアエリア91内で、暗号化アルゴリズムE12に従って、鍵KCを用いて算出値Aiを暗号化する。そして、ICカード72は、暗号化された算出値Aiを、レスポンスRとしてパーソナルコンピュータ71に送信する。   Upon receiving the challenge Ci from the personal computer 71, the IC card 72 decrypts the challenge Ci using the key KC in the secure area 91 according to the decryption algorithm D11. Thereby, the calculated value Ai is obtained. Therefore, the IC card 72 encrypts the calculated value Ai using the key KC in the secure area 91 according to the encryption algorithm E12. Then, the IC card 72 transmits the encrypted calculated value Ai to the personal computer 71 as a response R.

パーソナルコンピュータ71は、レスポンスRを受信すると、i番目のレスポンスRiをリスト81から選択し、レスポンスRとレスポンスRiとを比較する。レスポンスRとレスポンスRiとが一致する場合、パーソナルコンピュータ71は、ICカード72を認証する。   When receiving the response R, the personal computer 71 selects the i-th response Ri from the list 81, and compares the response R with the response Ri. If the response R and the response Ri match, the personal computer 71 authenticates the IC card 72.

このようにして、パーソナルコンピュータ71がICカード72を認証する片側認証処理(以下、相互認証と区別する必要がない場合、適宜「認証処理」と略記する)が実行される。   In this way, the one-side authentication process in which the personal computer 71 authenticates the IC card 72 (hereinafter, abbreviated as “authentication process” where appropriate) is not necessary.

ここで、認証処理の開始時におけるチャレンジCiの送信タイミングは、ICカード72が近接したタイミングでもよいが、ICカード72の近接の有無とは独立した所定時間間隔毎でもよい。ただし、後者の場合には、パーソナルコンピュータ71の近傍にICカード72が存在していないときでも、チャレンジCiは定期的に送信されるため、第三者に盗難されるおそれがある。このような場合に、送信対象のチャレンジCiが無作為にリスト81から選択されると、過去の認証処理で一度使用されたチャレンジCq(qは1乃至nのうちの任意の整数値)が、送信対象のチャレンジCiとして再度選択される可能性がある。このようにして送信対象のチャレンジCiとして再度選択されたチャレンジCqが、過去の認証処理で使用された時点で第三者に盗難されていると、第三者によって悪用されるおそれがある。そこで、このようなおそれをなくすために、リスト81内の組み合わせの各々に対して使用順番を設定し、例えばチャレンジの符号Cの後の数字を使用順番として設定するとよい。この場合、認証回数iの認証処理では、使用順番iの組み合わせ、すなわち、チャレンジCiとレスポンスRiが使用されて、過去に使用された組み合わせの重複使用が防止されるため、過去に盗難されたチャレンジCqが悪用されるおそれはほぼ無くなる。   Here, the transmission timing of the challenge Ci at the start of the authentication process may be the timing at which the IC card 72 approaches, or may be at predetermined time intervals independent of the presence or absence of the proximity of the IC card 72. However, in the latter case, even when the IC card 72 does not exist in the vicinity of the personal computer 71, the challenge Ci is periodically transmitted, so that there is a possibility that the third party may be stolen. In such a case, when a challenge Ci to be transmitted is randomly selected from the list 81, a challenge Cq (q is an arbitrary integer value from 1 to n) used once in the past authentication process is There is a possibility that the challenge Ci to be transmitted is selected again. If the challenge Cq selected again as the challenge Ci to be transmitted in this way is stolen by a third party at the time of use in the past authentication process, the third party may be abused. Therefore, in order to eliminate such a fear, it is preferable to set the use order for each combination in the list 81, for example, set the number after the challenge code C as the use order. In this case, in the authentication process of the number of times of authentication i, a combination of the order of use i, that is, the challenge Ci and the response Ri are used to prevent duplicate use of the combination used in the past. There is almost no risk of Cq being abused.

ただし、リスト81内の組み合わせの総数nは有限であるため、認証処理が繰り返し実行されると、n回の認証処理でリスト81内の全ての組み合わせが使用されてしまうことになる。従って、リスト81内の全ての組み合わせが使用された場合の措置が必要になる。例えば、n個の組み合わせを新規作成する措置や、同一のn個の組み合わせを再利用する措置等を取ることが可能である。なお、これらの措置の詳細については後述する。   However, since the total number n of combinations in the list 81 is finite, if the authentication process is repeatedly executed, all combinations in the list 81 are used in n authentication processes. Therefore, a measure is required when all the combinations in the list 81 are used. For example, it is possible to take measures such as newly creating n combinations or reusing the same n combinations. Details of these measures will be described later.

ここで、上述した説明では、説明の簡略上、1つのICカード72のみについて言及した。しかしながら、実際には、複数のユーザにICカード72を提供する必要がある。このような複数のICカード72を量産するために、復号化アルゴリズムD11と暗号化アルゴリズムE12とは、全てのICカード72に共通に搭載される。したがって、パーソナルコンピュータ71が、複数のICカード72の中から特定の1枚を認証するためには、ICカード72毎に異なる鍵KCを保持させればよい。この場合、本発明が適用されていれば、異なる鍵KC毎に、異なるリスト81がそれぞれ生成されることになる。すなわち、リスト81とは、特定の鍵KCにとってのみ有効な専用のリストであるため、特定の鍵KCと当該特定の鍵KC専用のリスト81とは対として用いられる。   Here, in the above description, only one IC card 72 is mentioned for the sake of simplicity. However, actually, it is necessary to provide the IC card 72 to a plurality of users. In order to mass-produce such a plurality of IC cards 72, the decryption algorithm D11 and the encryption algorithm E12 are mounted in common on all the IC cards 72. Therefore, in order for the personal computer 71 to authenticate a specific one of the plurality of IC cards 72, a different key KC may be held for each IC card 72. In this case, if the present invention is applied, a different list 81 is generated for each different key KC. That is, since the list 81 is a dedicated list that is valid only for a specific key KC, the specific key KC and the list 81 dedicated to the specific key KC are used as a pair.

このため、特定の鍵KCと当該特定の鍵KC専用のリスト81との対を予め生成することで、既存の相互認証システムで用いられている復号化アルゴリズムD11と暗号化アルゴリズムE12をそのまま、本発明にも適用できる。すなわち、従来の復号化アルゴリズムD11と暗号化アルゴリズムE12とを搭載したICカード内に、特定の鍵KCを保持させることで、本発明が適用されるICカード72が容易に実現可能になる。一方、ICカード72を認証する装置は、特定の鍵KC専用のリスト81を保持していれば足り、特定の鍵KCの共通鍵や、復号化アルゴリズムD11に対応する暗号化アルゴリズムや暗号化アルゴリズムE12に対応する復号化アルゴリズムを保持する必要がない。したがって、パーソナルコンピュータ71のようにセキュアエリアを有しない装置であっても、特定の鍵KC専用のリスト81を保持するだけで、ICカード72を認証する片側認証処理を実行することができる。換言すると、セキュアチップを搭載しない既存の装置に対して、セキュアチップを新たに搭載させずに、ICカードの片側認証を行う機能を容易に搭載することができる。この場合、セキュアチップを新たに搭載させる場合に比べて遥かにコストを抑制することができる。このように、既存の相互認証を行うシステムの機能やメリットを温存しつつ、同一のシステムを用いて、セキュアエリアを有しない装置による片側認証を行うことが可能になる。   For this reason, by generating a pair of a specific key KC and a list 81 dedicated to the specific key KC in advance, the decryption algorithm D11 and the encryption algorithm E12 used in the existing mutual authentication system are used as they are. The invention can also be applied. That is, the IC card 72 to which the present invention is applied can be easily realized by holding the specific key KC in the IC card on which the conventional decryption algorithm D11 and encryption algorithm E12 are mounted. On the other hand, the device for authenticating the IC card 72 only needs to hold the list 81 dedicated to the specific key KC, and the encryption key or encryption algorithm corresponding to the common key of the specific key KC or the decryption algorithm D11. There is no need to maintain a decoding algorithm corresponding to E12. Therefore, even a device that does not have a secure area, such as the personal computer 71, can execute the one-side authentication process for authenticating the IC card 72 only by holding the list 81 dedicated to the specific key KC. In other words, a function for performing one-side authentication of an IC card can be easily mounted on an existing apparatus that does not have a secure chip, without newly mounting a secure chip. In this case, the cost can be greatly reduced as compared with the case where a secure chip is newly installed. In this way, it is possible to perform one-side authentication by a device that does not have a secure area using the same system while preserving the functions and merits of an existing mutual authentication system.

なお、この場合、特定の鍵KC専用のリスト81は、セキュアエリア外に保持されているので、第三者に盗難されるおそれがある。しかしながら、特定の鍵KC専用のリスト81が盗難されたとしても、特定の鍵KCと当該特定の鍵KC専用のリスト81との対を用いる認証システムのみが脅威にさらされるだけで済む。すなわち、特定の鍵KC専用のリスト81に格納されているチャレンジCkとレスポンスRkとの組み合わせは、暗号化アルゴリズムE11及び暗号化アルゴリズムE12並びに特定の鍵KCを用いて生成された暗号化情報である。このような暗号化情報だけでは、復号化アルゴリズムD11及び暗号化アルゴリズムE12並びに特定の鍵KCを求めることは実質上不可能である。さらに、他のユーザのパーソナルコンピュータ71とICカード72からなる他の認証システムは、まったく別の鍵KC及び当該別の鍵KC専用のリスト81を用いているため、当該他の認証システムが脅威にさらされることはない。   In this case, since the list 81 dedicated to the specific key KC is held outside the secure area, it may be stolen by a third party. However, even if the list 81 dedicated to the specific key KC is stolen, only the authentication system using the pair of the specific key KC and the list 81 dedicated to the specific key KC need only be exposed to the threat. That is, the combination of the challenge Ck and the response Rk stored in the list 81 dedicated to the specific key KC is encryption information generated using the encryption algorithm E11, the encryption algorithm E12, and the specific key KC. . With such encryption information alone, it is virtually impossible to obtain the decryption algorithm D11, the encryption algorithm E12, and the specific key KC. Furthermore, since another authentication system including the personal computer 71 and the IC card 72 of another user uses a completely different key KC and the list 81 dedicated to the other key KC, the other authentication system is a threat. There is no exposure.

このように、特定の鍵KC専用のリスト81がたとえ盗難されたとしても、その脅威は、特定の鍵KCとその特定の鍵KC専用のリスト81との対により構成される認証システムに限定される。したがって、他の認証システムや、復号化アルゴリズムD11や暗号化アルゴリズムE12等のアルゴリズムの安全は確保される。   Thus, even if the list 81 dedicated to a specific key KC is stolen, the threat is limited to the authentication system configured by a pair of the specific key KC and the list 81 dedicated to the specific key KC. The Therefore, the security of other authentication systems and algorithms such as the decryption algorithm D11 and the encryption algorithm E12 are ensured.

[リスト81の生成手法の例]
次に、リスト81の生成手法について説明する。
[Example of generation method of list 81]
Next, a method for generating the list 81 will be described.

図4は、リスト81の生成手法の一例について説明する図である。   FIG. 4 is a diagram for explaining an example of a method for generating the list 81.

リスト生成装置101は、例えばパーソナルコンピュータ71の生成工場等に設置され、鍵とアルゴリズムを安全に保持できるセキュアな環境においてリスト81を生成する。   The list generation device 101 is installed in a generation factory of the personal computer 71, for example, and generates the list 81 in a secure environment in which keys and algorithms can be safely held.

なお、ここでは、リスト生成装置101がセキュアエリア121を有することで、「セキュアな環境」が構築されている。しかしながら、仮にリスト生成装置101がセキュアエリア121を有していなくても、リスト生成装置101を操作する環境全体で鍵とアルゴリズムを安全に保持できるようにセキュアな環境を構成してもよい。   Note that, here, the list generating apparatus 101 includes the secure area 121, so that a “secure environment” is constructed. However, even if the list generation apparatus 101 does not have the secure area 121, a secure environment may be configured so that keys and algorithms can be safely held in the entire environment in which the list generation apparatus 101 is operated.

リスト生成装置101は、セキュアエリア121内で、乱数AXj(jは1乃至nのうちの任意の整数値)を発生させる。次に、リスト生成装置101は、ICカード72が有する復号化アルゴリズムD11に対応する暗号化アルゴリズムE11に従って、ICカード72が有する鍵KCと同一の鍵KCを用いて、乱数AXjを暗号化することによって、チャレンジCjを生成する。また、リスト生成装置101は、ICカード72が有する暗号化アルゴリズムE12と同一の暗号化アルゴリズムE12に従って、鍵KCを用いて、前述の乱数AXjを暗号化することによって、レスポンスRjを生成する。そして、リスト生成装置101は、チャレンジCjとレスポンスRjとの組み合わせをリスト81に格納する。   The list generation device 101 generates a random number AXj (j is an arbitrary integer value from 1 to n) in the secure area 121. Next, the list generating apparatus 101 encrypts the random number AXj using the same key KC as the key KC included in the IC card 72 in accordance with the encryption algorithm E11 corresponding to the decryption algorithm D11 included in the IC card 72. Generates a challenge Cj. The list generation apparatus 101 generates a response Rj by encrypting the random number AXj using the key KC according to the same encryption algorithm E12 as the encryption algorithm E12 of the IC card 72. Then, the list generation device 101 stores the combination of the challenge Cj and the response Rj in the list 81.

リスト生成装置101は、番号jを1ずつインクリメントしていき、乱数AXjを変更しながら、このような一連の処理を繰り返し実行する。一連の処理の繰り返し回数がn回になると、リスト81には、n通りの組み合わせが格納されたリスト81が生成される。   The list generation device 101 increments the number j by 1 and repeatedly executes such a series of processes while changing the random number AXj. When the number of repetitions of the series of processes is n, a list 81 in which n combinations are stored is generated in the list 81.

なお、リスト81内の組み合わせの総数nは、特に限定されず任意でよい。すなわち、リスト生成装置101に、任意の数nだけの乱数AX1乃至AXnを発生させるだけで、任意の数n通りの組み合わせを容易に生成することができる。なお、以下、乱数AX1乃至AXnを個々に区別する必要がない場合、これらをまとめて乱数AXと称する。   The total number n of combinations in the list 81 is not particularly limited and may be arbitrary. That is, any number n of combinations can be easily generated simply by causing the list generation device 101 to generate random numbers AX1 to AXn of an arbitrary number n. Hereinafter, when it is not necessary to individually distinguish the random numbers AX1 to AXn, these are collectively referred to as a random number AX.

また、リスト生成装置101は、r個(rは1以上の任意の整数値)の鍵KC−1乃至KC−r毎に、リスト81−1乃至81−rをそれぞれ独立して生成することができる。すなわち、リスト生成装置101の設置場所、例えば、パーソナルコンピュータ71の生成工場等では、特定の鍵KC−s(sは、1乃至rのうちの任意の整数値)と、当該特定の鍵KC−s専用のリスト81−sとの対が生成される。したがって、当該工場等で、特定の鍵KC−sを保持するICカード72−sを生成してもよい。換言すると、当該工場等で、リスト81−sとICカード72−sとの対を生成してもよい。ただし、この場合には、対となるリスト81−sとICカード72−sとを、それぞれ安全にユーザに届ける必要がある。   In addition, the list generation device 101 may generate the lists 81-1 to 81-r independently for each of r keys (r is an arbitrary integer value equal to or greater than 1) KC-1 to KC-r. it can. That is, at the installation location of the list generation device 101, for example, the generation factory of the personal computer 71, a specific key KC-s (s is an arbitrary integer value from 1 to r) and the specific key KC- A pair with s-only list 81-s is generated. Therefore, the IC card 72-s holding the specific key KC-s may be generated at the factory or the like. In other words, a pair of the list 81-s and the IC card 72-s may be generated at the factory or the like. In this case, however, the paired list 81-s and the IC card 72-s need to be safely delivered to the user.

[リストの生成手法の他の例]
図5は、リスト81の生成手法の他の例ついて説明する図である。
[Other examples of list generation methods]
FIG. 5 is a diagram for explaining another example of the method for generating the list 81.

図5に示される例では、リスト81は、ICカード72を用いてパーソナルコンピュータ71内で生成される。   In the example shown in FIG. 5, the list 81 is generated in the personal computer 71 using the IC card 72.

パーソナルコンピュータ71は、乱数AXj(j乃至nの整数値)を順次発生させる。次に、パーソナルコンピュータ71は、発生させた乱数Kjに基づくチャレンジCjをICカード72に送信する。   The personal computer 71 sequentially generates random numbers AXj (an integer value from j to n). Next, the personal computer 71 transmits a challenge Cj based on the generated random number Kj to the IC card 72.

ICカード72は、パーソナルコンピュータ71からのチャレンジCjを受信すると、図3を用いて上述した処理を実行することで、チャレンジCjに対応するレスポンスRをパーソナルコンピュータ71に送信してくる。   When the IC card 72 receives the challenge Cj from the personal computer 71, the IC card 72 transmits the response R corresponding to the challenge Cj to the personal computer 71 by executing the processing described above with reference to FIG.

そこで、パーソナルコンピュータ71は、当該レスポンスRをレスポンスRjとして受信して、送信したチャレンジCjと受信したレスポンスRjとで1つの組み合わせを生成し、当該組み合わせをリスト81に格納する。   Therefore, the personal computer 71 receives the response R as the response Rj, generates one combination of the transmitted challenge Cj and the received response Rj, and stores the combination in the list 81.

パーソナルコンピュータ71は、番号jを1ずつインクリメントしていき、乱数AXjを変更しながらこのような一連の処理を繰り返し実行する。一連の処理の繰り返し回数がn回になると、リスト81には、n通りの組み合わせが格納されたリスト81が生成される。   The personal computer 71 increments the number j by 1 and repeatedly executes such a series of processes while changing the random number AXj. When the number of repetitions of the series of processes is n, a list 81 in which n combinations are stored is generated in the list 81.

なお、リスト81内の組み合わせの総数nは、特に限定されず任意でよい。すなわち、パーソナルコンピュータ71に、任意の数nだけの乱数AX1乃至AXnを発生させるだけで、任意の数n通りの組み合わせを容易に生成することができる。   The total number n of combinations in the list 81 is not particularly limited and may be arbitrary. That is, any number n of combinations can be easily generated simply by causing the personal computer 71 to generate any number n of random numbers AX1 to AXn.

また、パーソナルコンピュータ71は、r枚のICカード72−1乃至72−rの各々を個別に認証する場合、リスト生成装置101と同様に、各々に対応するリスト81−1乃至81−rを個別に生成することができる。   In addition, when the personal computer 71 individually authenticates each of the r IC cards 72-1 to 72-r, the personal computer 71 individually selects the corresponding lists 81-1 to 81-r as with the list generation device 101. Can be generated.

このように、図5のリスト81の生成手法を適用した場合には、パーソナルコンピュータ71を用いてリスト81が生成可能なことから、ユーザは、リスト81の変更や追加を容易に行うことができる。ただし、パーソナルコンピュータ71はセキュリティエリアを有していないため、ユーザは、自身の責任の下、リスト81の生成時にセキュアな環境を確立しておく必要がある。   As described above, when the method of generating the list 81 of FIG. 5 is applied, the list 81 can be generated using the personal computer 71, so that the user can easily change or add the list 81. . However, since the personal computer 71 does not have a security area, the user needs to establish a secure environment when the list 81 is generated under his / her own responsibility.

[チャレンジとレスポンスの組み合わせ数に応じたセキュリティ強度とコストの関係]
ここで、図5のリスト81の生成手法を適用した場合に、リスト81内に格納させる組み合わせの総数nの適切な数について考えてみる。この場合、セキュリティ強度の視点と、コストの視点とからそれぞれ考える必要がある。
[Relationship between security strength and cost according to the number of challenge and response combinations]
Here, when the method for generating the list 81 of FIG. 5 is applied, an appropriate number of the total number n of combinations to be stored in the list 81 will be considered. In this case, it is necessary to consider from the viewpoint of security strength and the viewpoint of cost.

図6は、リスト81内の組み合わせの総数nに応じたセキュリティ強度とコストの関係の一例を示す図である。   FIG. 6 is a diagram illustrating an example of the relationship between security strength and cost in accordance with the total number n of combinations in the list 81.

なお、以下、チャレンジC1乃至Cnを個々に区別する必要がない場合、これらをまとめて、チャレンジCと称する。この場合、レスポンスR1乃至Rnもまとめて、レスポンスRと称する。   Hereinafter, when there is no need to individually distinguish the challenges C1 to Cn, these are collectively referred to as a challenge C. In this case, responses R1 to Rn are also collectively referred to as response R.

パーソナルコンピュータ71が8バイトのチャレンジCを生成した場合、組み合わせの総数nは、最大で2の64乗となる。ただし、リスト81の組み合わせの総数nは、2の64乗とする必要は特になく、2の64乗以下の任意の数とすることができる。このため、図6の表には、一例として、リスト81の組み合わせの総数nが、2の16乗乃至2の27乗の各々の場合のセキュリティ強度とコストの関係が示されている。なお、図6の表の1行(横方向の項目の集合体)は、総数nが2の16乗乃至2の27乗のうちのいずれかである場合に対応している。   When the personal computer 71 generates an 8-byte challenge C, the total number n of combinations is 2 to the 64th power at the maximum. However, the total number n of combinations of the list 81 is not particularly required to be 2 to the 64th power, and can be an arbitrary number of 2 to the 64th power or less. Therefore, the table of FIG. 6 shows, as an example, the relationship between the security strength and the cost when the total number n of combinations of the list 81 is 2 16 to 2 27. Note that one row (aggregation of items in the horizontal direction) in the table of FIG. 6 corresponds to the case where the total number n is one of 2 16 to 2 27.

図6の表の所定の行の「同じチャレンジが登場するまでの最大試行回数」の項目には、当該行に対応する総数nが採用された場合において、同一のチャレンジCが登場するまでの認証処理の最大試行回数(回)が記述されている。すなわち、リスト81に格納されるn通りの組み合わせが先頭から順に使用され、n通りの組み合わせの全てが使用されると、同一のn通りの組み合わせが再利用される。この場合に、一度使用されたチャレンジCが再度使用されるまでの認証回数が当該項目に記述されている。すなわち、当該認証回数は、リスト81の組み合わせの総数nと等しいため、総数nと同一値が当該項目に記述されている。   In the item “maximum number of trials until the same challenge appears” in a predetermined row of the table of FIG. 6, when the total number n corresponding to the row is adopted, authentication until the same challenge C appears Describes the maximum number of trials (times) of the process. That is, n combinations stored in the list 81 are used in order from the top, and when all the n combinations are used, the same n combinations are reused. In this case, the number of authentications until the challenge C once used is used again is described in the item. That is, since the number of times of authentication is equal to the total number n of combinations in the list 81, the same value as the total number n is described in the item.

図6の表の所定の行の「リストが必要とする記憶領域サイズ」には、当該行に対応する総数nが採用された場合において、1つの組み合わせに16バイト要するとした際に、リスト81を記憶するために必要な記憶領域のサイズ(Mバイト)が記述されている。   When the total number n corresponding to the row is adopted as the “storage area size required by the list” in a predetermined row in the table of FIG. 6, when it is assumed that 16 bytes are required for one combination, the list 81 Describes the size (M bytes) of the storage area required for storing.

図6の表の所定の行の「記憶装置のコスト」には、当該行に対応する総数nが採用された場合において、1Tバイト当たり1万円として換算した場合のリスト81を記憶する記憶領域の確保に必要なコスト(円)が記述されている。   The “storage device cost” in the predetermined row of the table of FIG. 6 is a storage area for storing a list 81 when converted to 10,000 yen per 1 Tbyte when the total number n corresponding to the row is adopted The cost (yen) required to secure

図6の表の所定の行の「リスト生成時間」には、当該行に対応する総数nが採用された場合において、リスト81の生成に要する時間(分)が記述されている。なお、リスト81の生成に要する時間は、次のような仕様のパーソナルコンピュータ71にスクリプト言語で実行させた場合の実測時間に基づいて、C言語で実行させた時間を推測したものである。すなわち、パーソナルコンピュータ71の仕様は、Microsoft Windows(登録商標) XP Professional Version 2002 Service Pack 3,Pentium(登録商標)D CPU 2.80GHz,2.00 GB RAMである。   The “list generation time” of a predetermined line in the table of FIG. 6 describes the time (minutes) required to generate the list 81 when the total number n corresponding to the line is adopted. The time required to generate the list 81 is an estimate of the time executed in the C language based on the actual measurement time when the personal computer 71 having the following specifications is executed in the script language. That is, the specifications of the personal computer 71 are Microsoft Windows (registered trademark) XP Professional Version 2002 Service Pack 3, Pentium (registered trademark) D CPU 2.80 GHz, 2.00 GB RAM.

図6の表の所定の行の「計算費用」には、当該行に対応する総数nが採用された場合において、1時間当たり1000円として換算した場合の、パーソナルコンピュータ71が当該行に対応する総数nの組み合わせを算出するのに必要なコスト(円)が記述されている。   In the “calculation cost” of a predetermined row in the table of FIG. 6, when the total number n corresponding to the row is adopted, the personal computer 71 corresponding to the row when converted to 1000 yen per hour corresponds to the row. The cost (yen) necessary for calculating the combination of the total number n is described.

図6の表の所定の行の「同じチャレンジが登場するまでの時間」には、当該行に対応する総数nが採用された場合において、チャレンジCが1秒間に1回使用されたときに、一度使用されたチャレンジCが次に使用されるまでの時間(日)が記述されている。   In the “time until the same challenge appears” in a predetermined row of the table of FIG. 6, when the total number n corresponding to the row is adopted, when the challenge C is used once per second, The time (day) until the challenge C once used is used next is described.

図6の表の所定の行の「レスポンスを収集する時間」には、当該行に対応する総数nが採用された場合において、パーソナルコンピュータ71がICカード72にチャレンジCを送信してからレスポンスRを収集する(図5参照)のに要する時間が記述されている。ただし、ここでは、当該項目に記述されている時間は、通信速度が424kbpsである場合に10万回チャレンジCを送信してレスポンスRを収集するのに要する時間が1時間であるとの実績に基づいて換算されたものである。   In the “response collecting time” of the predetermined row in the table of FIG. 6, when the total number n corresponding to the row is adopted, the response R is transmitted after the personal computer 71 transmits the challenge C to the IC card 72. The time required to collect (see FIG. 5) is described. However, here, the time described in the item indicates that the time required to transmit the challenge C and collect the response R is 1 hour when the communication speed is 424 kbps. It is converted based on.

このような図6の表からわかるように、認証システム61の設計者又はパーソナルコンピュータ71のユーザは、セキュリティ強度とコストの関係とのバランスを考えて、リスト81に格納させる組み合わせの総数nを決定するとよい。   As can be seen from the table in FIG. 6, the designer of the authentication system 61 or the user of the personal computer 71 determines the total number n of combinations to be stored in the list 81 in consideration of the balance between the security strength and the cost relationship. Good.

例えば、図6の5行目に示されるように、リスト81の組み合わせの総数nとして2の20乗を採用する場合、同じチャレンジCが登場するまでの最大試行回数は「1048576回」であり、リスト81を記録するために必要な記憶領域サイズは「16Mバイト」であることがわかる。また、当該組み合わせ数の場合、記憶装置のコストは「0.153円」であり、リスト生成時間は「0.042分」であり、計算費用は「0.7円」であることがわかる。さらにまた、当該組み合わせ数の場合、同じチャレンジが登場するまでの時間は「12.14日」であり、レスポンスを収集するまでの時間は「10.5時間」であることがわかる。   For example, as shown in the fifth line of FIG. 6, when 2 20 is adopted as the total number n of combinations in the list 81, the maximum number of trials until the same challenge C appears is “1048576 times”. It can be seen that the storage area size required to record the list 81 is “16 Mbytes”. Further, in the case of the number of combinations, it can be seen that the cost of the storage device is “0.153 yen”, the list generation time is “0.042 minutes”, and the calculation cost is “0.7 yen”. Furthermore, in the case of the number of combinations, it can be seen that the time until the same challenge appears is “12.14 days”, and the time until the response is collected is “10.5 hours”.

従って、組み合わせの総数nが2の20乗通りのリスト81を導入する場合について、コスト面から考えると、「16Mバイト」の記憶領域サイズと、「0.042分」のリスト生成時間を確保するためには、それぞれ「0.153円」、「0.7円」が必要であることが分かる。図6の表のその他の行と見比べると明らかなように、組み合わせの総数nを減らす程、その分だけコストを抑制することができる。   Therefore, in the case of introducing the list 81 whose total number n is 2 to the 20th power, in view of cost, in order to secure a storage area size of “16 Mbytes” and a list generation time of “0.042 minutes” Are "0.153 yen" and "0.7 yen", respectively. As is clear from comparison with the other rows in the table of FIG. 6, the cost can be reduced by reducing the total number n of combinations.

一方、組み合わせの総数nが2の20乗通りのリスト81を導入する場合について、セキュリティ強度の面から考える。例えば、第三者が、チャレンジCiとレスポンスRiとの組み合せを盗難したとする。第三者は、盗難したチャレンジCiと同一のチャレンジCがパーソナルコンピュータ71からが送信されたときに、盗難したレスポンスRiをパーソナルコンピュータ71に送信すれば、パーソナルコンピュータ71に誤認証させることに成功する。しかしながら、第三者は、このためには、最大で「1048576回」の認証が行われる間、すなわち「12.14日」の間、チャレンジCiがパーソナルコンピュータ71から送信されるのを常時監視していなければならない。このような第三者が常時監視しなければならない時間(すなわち、認証回数)が増加する程、その分だけセキュリティ強度が高まる。図6の表のその他の行と見比べると明らかなように、組み合わせの総数nを増やす程、第三者が常時監視しなければならない時間(すなわち、認証回数)が増加し、その分だけセキュリティ強度を高めることができる。   On the other hand, a case where a list 81 whose total number n is 2 to the 20th power is introduced is considered from the viewpoint of security strength. For example, it is assumed that a third party has stolen the combination of the challenge Ci and the response Ri. If a third party transmits the stolen response Ri to the personal computer 71 when the same challenge C as the stolen challenge Ci is transmitted from the personal computer 71, the third party succeeds in causing the personal computer 71 to erroneously authenticate. . However, for this purpose, the third party must constantly monitor the transmission of the challenge Ci from the personal computer 71 during the maximum of “1048576” authentication, that is, for “12.14 days”. I must. As the time that such a third party must constantly monitor (that is, the number of times of authentication) increases, the security strength increases accordingly. As is clear from comparison with the other rows in the table of FIG. 6, as the total number n of combinations increases, the time that the third party must constantly monitor (that is, the number of authentications) increases, and the security strength increases accordingly. Can be increased.

以上をまとめると、リスト81内に格納させる組み合わせの総数nが大きくなると、セキュリティ強度が高くなるというメリットがある半面、コストが高くなるというデメリットがある。一方、リスト81内に格納させる組み合わせの総数nが小さくなると、コストが低下するというメリットがある半面、セキュリティ強度が低くなるというデメリットがある。したがって、このように相反する2つの要素を考慮して、すなわち、セキュリティ強度とコストとのバランスを考慮して、リスト81内に格納させる組み合わせの総数nを決定すると好適である。   In summary, there is a merit that the security strength is increased when the total number n of combinations to be stored in the list 81 is increased, but there is a demerit that the cost is increased. On the other hand, when the total number n of combinations to be stored in the list 81 is small, there is a merit that the cost is lowered, but there is a demerit that the security strength is lowered. Therefore, it is preferable to determine the total number n of combinations to be stored in the list 81 in consideration of the two conflicting factors, that is, in consideration of the balance between security strength and cost.

なお、組み合わせの総数nとしてどのような数を採用したとしても、リスト81を生成するための鍵とアルゴリズムをセキュアな環境に保持しておきさえすれば、認証システム61の安全性を確保することができる。極端に言えば、どんなにセキュリティ強度を低くして、その結果リスト81が第三者に盗難されたとしても、リスト81から、認証システム61の鍵とアルゴリズムが第三者に特定されるおそれは殆どない。   In addition, no matter what number is adopted as the total number n of combinations, as long as the key and algorithm for generating the list 81 are held in a secure environment, the security of the authentication system 61 is ensured. Can do. Extremely speaking, no matter how low the security strength is, and as a result, the list 81 is stolen by a third party, there is almost no risk that the key and algorithm of the authentication system 61 will be identified by the third party from the list 81. Absent.

もっとも、第三者にリスト81が盗難された状態を放置しておくことは望ましくない。そこで、以下、リスト81が、第三者に盗難された場合のセキュリティの復旧について説明する。   However, it is not desirable to leave the list 81 stolen by a third party. Therefore, security recovery when the list 81 is stolen by a third party will be described below.

[リスト81が第三者に取得された場合のセキュリティの復旧]
図7は、リスト81が第三者に盗難された場合のセキュリティの復旧について説明する図である。
[Security recovery when List 81 is acquired by a third party]
FIG. 7 is a diagram for explaining security recovery when the list 81 is stolen by a third party.

上述したように、8バイトのチャレンジCが生成される際の組み合わせの総数nは、最大で2の64乗となる。以下、n=2の64乗通りの組み合わせの集合体を、組み合わせデータ群141と称する。リスト81は、組み合わせデータ群141の任意の一部を格納することで生成することができる。   As described above, the total number n of combinations when the 8-byte challenge C is generated is 2 64 to the maximum. Hereinafter, a set of combinations of n = 2 to the 64th power is referred to as a combination data group 141. The list 81 can be generated by storing any part of the combination data group 141.

図7に示されるように、パーソナルコンピュータ71が、リスト81として、組み合わせデータ群141の一部から構成されるリスト81Aを保持し、認証処理時に使用しているとする。このリスト81Aが第三者に盗難された場合、パーソナルコンピュータ71は、リスト81を、組み合わせデータ群141の別の一部から構成されるリスト81Bに更新する。   As shown in FIG. 7, it is assumed that the personal computer 71 holds a list 81A composed of a part of the combination data group 141 as a list 81 and uses it during the authentication process. When this list 81A is stolen by a third party, the personal computer 71 updates the list 81 to a list 81B composed of another part of the combination data group 141.

これにより、第三者が、入手したリスト81Aをもとに偽造ICカード142を作成したとしても、パーソナルコンピュータ71が偽造ICカード142を誤って認証してしまうおそれは無くなる。   Thereby, even if a third party creates the counterfeit IC card 142 based on the obtained list 81A, there is no possibility that the personal computer 71 erroneously authenticates the counterfeit IC card 142.

すなわち、偽造ICカード142は、リスト81Aどおりに、チャレンジCiに対応するレスポンスRiをパーソナルコンピュータ71に送信することができるかもしれない。しかしながら、第三者が、偽造ICカード142をパーソナルコンピュータ71に認証させようとしても、パーソナルコンピュータ71は、リスト81Aとは異なるリスト81Bを有しているので、偽造ICカード142を誤って認証することはない。   That is, the counterfeit IC card 142 may be able to transmit the response Ri corresponding to the challenge Ci to the personal computer 71 as in the list 81A. However, even if a third party tries to authenticate the counterfeit IC card 142 to the personal computer 71, the personal computer 71 has the list 81B different from the list 81A, and thus authenticates the counterfeit IC card 142 by mistake. There is nothing.

具体的には、偽造ICカード142は、パーソナルコンピュータ71に近接すると、パーソナルコンピュータ71から送信された、リスト81B内のチャレンジCjを受信することはできる。しかしながら、偽造ICカード142は、リスト81B内のチャレンジCjに対応するレスポンスRjと同一のレスポンスRを送信することができない。   Specifically, when the counterfeit IC card 142 comes close to the personal computer 71, it can receive the challenge Cj in the list 81B transmitted from the personal computer 71. However, the forged IC card 142 cannot transmit the same response R as the response Rj corresponding to the challenge Cj in the list 81B.

すなわち、偽造ICカード142は、リスト81A内のチャレンジCとレスポンスRとの対応関係を認識できる機能を有しているに過ぎず、リスト81B内のチャレンジCjを復号化して再暗号化することでリスト81B内の対応するレスポンスRjを生成する機能を有していない。このため、偽造ICカード142は、リスト81Bに含まれる所定のチャレンジCを受信したとしても、当該チャレンジCを復号化して再暗号化して対応するレスポンスRを生成することはできない。このため、パーソナルコンピュータ71は、偽造ICカード142を誤って認証することはない。   That is, the forged IC card 142 has only a function of recognizing the correspondence between the challenge C and the response R in the list 81A, and decrypts and re-encrypts the challenge Cj in the list 81B. It does not have a function of generating the corresponding response Rj in the list 81B. For this reason, even if the forged IC card 142 receives the predetermined challenge C included in the list 81B, it cannot decrypt the challenge C and re-encrypt it to generate a corresponding response R. For this reason, the personal computer 71 never authenticates the counterfeit IC card 142 by mistake.

このように、リスト81が第三者に盗難されてしまった場合でも、パーソナルコンピュータ71がリスト81を更新するだけで、認証システム61を構成するICカード72を変更しなくても、容易にセキュリティを復旧することが可能になる。   As described above, even when the list 81 is stolen by a third party, the personal computer 71 simply updates the list 81 and can easily perform security without changing the IC card 72 constituting the authentication system 61. Can be recovered.

以上、図1乃至図7を参照して、本発明の原理の概略について説明した。次に、このような本発明の実施の形態について説明する。   The outline of the principle of the present invention has been described above with reference to FIGS. Next, an embodiment of the present invention will be described.

[本発明が適用される認証システム151の構成例]
図8は、本発明が適用される認証システムの一実施の形態の構成を示すブロック図である。
[Configuration Example of Authentication System 151 to which the Present Invention is Applied]
FIG. 8 is a block diagram showing a configuration of an embodiment of an authentication system to which the present invention is applied.

図8の認証システム151は、リスト生成装置101、パーソナルコンピュータ71−1乃至71−N(Nは1以上の任意の整数値)、およびICカード72−1乃至72−Nから構成される。   The authentication system 151 of FIG. 8 includes a list generation device 101, personal computers 71-1 to 71-N (N is an arbitrary integer value of 1 or more), and IC cards 72-1 to 72-N.

本実施形態では、パーソナルコンピュータ71−Q(Qは1乃至Nのうちの何れかの整数値)とICカード72−Qとは対になって用いられるとする。例えば、パーソナルコンピュータ71−Qを操作するユーザが、ICカード72−Qを保持し、パーソナルコンピュータ71を起動させる場合等のログイン操作として、ICカード72−Qをパーソナルコンピュータ71−Qにかざすものとする。この場合、パーソナルコンピュータ71−Qは、ICカード72−Qを認証すると、起動処理等、各種処理を開始するものとする。   In the present embodiment, it is assumed that the personal computer 71-Q (Q is any integer value from 1 to N) and the IC card 72-Q are used in pairs. For example, when a user operating the personal computer 71-Q holds the IC card 72-Q and activates the personal computer 71, the IC card 72-Q is held over the personal computer 71-Q. To do. In this case, when the personal computer 71-Q authenticates the IC card 72-Q, the personal computer 71-Q starts various processes such as an activation process.

リスト生成装置101は、パーソナルコンピュータ71−Qの生成工場等に設置され、鍵やアルゴリズムを安全に保持できるセキュアな環境において、本実施形態では、対になるリスト81−QとICカード72−Qとを生成する。リスト生成装置101によって生成されたリスト81−Qは、安全にパーソナルコンピュータ71−Qに届けられる(例えば記録される)。また、ICカード72−Qは、生成されたリスト81−Qとともに安全に、パーソナルコンピュータ71−Qのユーザに届けられる。   The list generation apparatus 101 is installed in a generation factory of the personal computer 71-Q, and in a secure environment in which keys and algorithms can be safely held, in this embodiment, the list 81-Q and the IC card 72-Q are paired. And generate The list 81-Q generated by the list generating apparatus 101 is safely delivered (for example, recorded) to the personal computer 71-Q. The IC card 72-Q is delivered to the user of the personal computer 71-Q safely together with the generated list 81-Q.

リスト81−Qを生成するために用いられた鍵やアルゴリズムは、ICカード72−Qのセキュアエリア内に保持されており、他のICカード72−P(Pは1乃至Nのうちの何れかの整数値であって、Qとは異なる整数値)には保持されていない。したがって、リスト81−Qを保持するパーソナルコンピュータ71−Qに対して、ICカード72−Qを用いるとログインに成功するが、ICカード72−Pを用いるとログインに失敗する。   The keys and algorithms used to generate the list 81-Q are held in the secure area of the IC card 72-Q, and other IC cards 72-P (P is any one of 1 to N). Is an integer value different from Q). Therefore, when the IC card 72-Q is used for the personal computer 71-Q holding the list 81-Q, the login is successful, but when the IC card 72-P is used, the login fails.

なお、以下、パーソナルコンピュータ71−1乃至71−Nを個々に区別する必要がない場合、これらをまとめてパーソナルコンピュータ71と称する。同様に、ICカード72−1乃至72−Nを個々に区別する必要がない場合、これらをまとめてICカード72と称する。   Hereinafter, when it is not necessary to individually distinguish the personal computers 71-1 to 71-N, they are collectively referred to as a personal computer 71. Similarly, when it is not necessary to individually distinguish the IC cards 72-1 to 72-N, they are collectively referred to as an IC card 72.

以下、図8の認証システム151の各構成要素、すなわち、リスト生成装置101、パーソナルコンピュータ71、及びICカード72の各構成について、その順番に順次説明していく。   Hereinafter, each component of the authentication system 151 in FIG. 8, that is, each component of the list generation device 101, the personal computer 71, and the IC card 72 will be sequentially described in that order.

[リスト生成装置101の機能的構成例を示すブロック図]
最初に、リスト生成装置101の構成について説明する。
[Block diagram showing a functional configuration example of the list generation apparatus 101]
First, the configuration of the list generation apparatus 101 will be described.

図9は、リスト生成装置101の機能的構成例を示すブロック図である。   FIG. 9 is a block diagram illustrating a functional configuration example of the list generation apparatus 101.

図9のリスト生成装置101は、制御部161、乱数発生部162、暗号化部163、生成部164、および記憶部165から構成される。   The list generation apparatus 101 in FIG. 9 includes a control unit 161, a random number generation unit 162, an encryption unit 163, a generation unit 164, and a storage unit 165.

制御部161は、リスト生成装置101の全体の制御を行う。例えば、制御部161は、組み合わせの番号iを管理する。   The control unit 161 performs overall control of the list generation device 101. For example, the control unit 161 manages the combination number i.

乱数発生部162は、チャレンジCとレスポンスRとの組み合わせを生成するための原情報として、乱数AXを発生させる。ここで、乱数AXとしては、疑似乱数又は、真正乱数を採用することができる。ただし、疑似乱数は、数字的には離散した数字が得られるが、計算式が明らかになると直前の乱数値から次に発生する乱数が算出可能である。したがって、第三者に盗難された場合に安全性を確保することが困難になる。このため、本実施形態では、真正乱数が乱数AXとして採用されている。この場合、乱数発生部162は、リスト生成装置101内の各種情報、例えば、時間情報、バッテリの残量情報、加速度センサ情報、温度センサ情報、メモリ残量、CPU(Central Processing Unit)負荷情報などの複数の情報をパラメータとして、真正乱数である乱数AXを算出する。これにより、外部から推測不可能な乱数AXが生成されるため、たとえ第三者に盗難されても、安全性を確保することができる。   The random number generation unit 162 generates a random number AX as original information for generating a combination of challenge C and response R. Here, as the random number AX, a pseudo random number or a genuine random number can be adopted. However, the pseudo-random numbers are numerically discrete numbers, but when the calculation formula becomes clear, the next generated random number can be calculated from the immediately preceding random number value. Therefore, it becomes difficult to ensure safety when stolen by a third party. For this reason, in this embodiment, a genuine random number is adopted as the random number AX. In this case, the random number generation unit 162 includes various types of information in the list generation device 101, such as time information, remaining battery information, acceleration sensor information, temperature sensor information, remaining memory capacity, CPU (Central Processing Unit) load information, and the like. A random number AX that is a true random number is calculated using the plurality of pieces of information as parameters. Thereby, since a random number AX that cannot be estimated from the outside is generated, safety can be ensured even if it is stolen by a third party.

暗号化部163は、暗号化アルゴリズムE11に従って、鍵KCを用いて、乱数発生部162によって発生された乱数AXを暗号化することで、チャレンジCを生成する。また、暗号化部163は、暗号化アルゴリズムE12に従って、鍵KCを用いて、同一の乱数AXを暗号化することによって、レスポンスRを生成する。暗号化部163は、このような一連の処理を乱数AXを変更してn回繰り返すことによって、チャレンジCとレスポンスRとの組み合わせをn通り生成する。   The encryption unit 163 generates a challenge C by encrypting the random number AX generated by the random number generation unit 162 using the key KC according to the encryption algorithm E11. Further, the encryption unit 163 generates a response R by encrypting the same random number AX using the key KC according to the encryption algorithm E12. The encryption unit 163 generates n combinations of the challenge C and the response R by repeating such a series of processes n times by changing the random number AX.

生成部164は、リスト81を生成する。すなわち、生成部164は、暗号化部163によってチャレンジCとレスポンスRとの組み合わせが生成される毎に、当該組み合わせをリスト81に追加する処理を繰り返す。このような処理がn回繰り返されると、チャレンジCとレスポンスRとの組み合わせがn個格納されたリスト81が生成される。   The generation unit 164 generates the list 81. That is, the generating unit 164 repeats the process of adding the combination to the list 81 every time the encryption unit 163 generates a combination of challenge C and response R. When such processing is repeated n times, a list 81 storing n combinations of challenges C and responses R is generated.

記憶部165は、リスト81の生成に必要な鍵KC及び暗号化アルゴリズムE11,E12を記憶する。   The storage unit 165 stores a key KC and encryption algorithms E11 and E12 necessary for generating the list 81.

以上、リスト生成装置101の構成について説明した。次に、パーソナルコンピュータ71の構成について説明する。
[パーソナルコンピュータ71のハードウエア構成例を示すブロック図]
図10は、パーソナルコンピュータ71のハードウエア構成例を示すブロック図である。
The configuration of the list generation device 101 has been described above. Next, the configuration of the personal computer 71 will be described.
[Block diagram showing a hardware configuration example of the personal computer 71]
FIG. 10 is a block diagram illustrating a hardware configuration example of the personal computer 71.

図10において、CPU181は、ROM(Read Only Memory)182に記録されているプログラムに従って各種の処理を実行する。または、保持手段としての記憶部188からRAM(Random Access Memory)183にロードされたプログラムに従って各種の処理を実行する。   In FIG. 10, the CPU 181 executes various processes according to a program recorded in a ROM (Read Only Memory) 182. Alternatively, various processes are executed according to a program loaded from a storage unit 188 serving as a holding unit into a RAM (Random Access Memory) 183.

RAM183にはまた、CPU181が各種の処理を実行する上において必要なデータなども適宜記憶される。   The RAM 183 also appropriately stores data necessary for the CPU 181 to execute various processes.

CPU181、ROM182、およびRAM183は、バス184を介して相互に接続されている。このバス184にはまた、入出力インタフェース185も接続されている。   The CPU 181, ROM 182, and RAM 183 are connected to each other via a bus 184. An input / output interface 185 is also connected to the bus 184.

入出力インタフェース185には、キーボード、マウスなどよりなる入力部186、ディスプレイなどよりなる提示手段としての出力部187が接続されている。また、ハードディスクなどより構成される記憶部188、および、モデム、ターミナルアダプタなどより構成される通信部189が接続されている。通信部189は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。通信部189はまた、近接したICカード72との間で行う、電磁波を利用した非接触通信を制御する。   The input / output interface 185 is connected to an input unit 186 including a keyboard and a mouse, and an output unit 187 serving as a presentation unit including a display. Further, a storage unit 188 composed of a hard disk or the like and a communication unit 189 composed of a modem, a terminal adapter or the like are connected. The communication unit 189 controls communication performed with other devices (not shown) via a network including the Internet. The communication unit 189 also controls non-contact communication using electromagnetic waves performed with the IC card 72 in the vicinity.

入出力インタフェース185にはまた、必要に応じてドライブ190が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア191が適宜装着される。そして、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部188にインストールされる。   A drive 190 is connected to the input / output interface 185 as necessary, and a removable medium 191 made of a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is appropriately mounted. Then, the computer program read from them is installed in the storage unit 188 as necessary.

[CPU181の機能的構成例を示すブロック図]
図11は、図10のパーソナルコンピュータ71のCPU181が有する機能のうち、ICカード72を認証する機能についての機能的構成例を示すブロック図である。
[Block diagram showing functional configuration example of CPU 181]
FIG. 11 is a block diagram illustrating a functional configuration example of the function of authenticating the IC card 72 among the functions of the CPU 181 of the personal computer 71 of FIG.

図11のCPU181は、認証処理を実行するために、制御部201、選択部202、送信制御部203、受信制御部204、認識部205、記憶制御部206、及び表示制御部207を有している。なお、リスト生成部208は、上述の図5のリストの生成手法を採用する場合、すなわち、パーソナルコンピュータ71内でリスト81の生成が必要な場合に、CPU181に設けられる。   The CPU 181 in FIG. 11 includes a control unit 201, a selection unit 202, a transmission control unit 203, a reception control unit 204, a recognition unit 205, a storage control unit 206, and a display control unit 207 in order to execute authentication processing. Yes. The list generation unit 208 is provided in the CPU 181 when the above-described list generation method of FIG. 5 is adopted, that is, when the list 81 needs to be generated in the personal computer 71.

本実施形態においては、CPU181は、所定のプログラムを実行することにより、制御部201、選択部202、送信制御部203、受信制御部204、認識部205、記憶制御部206、表示制御部207、およびリスト生成部208の各機能を発揮させることができる。   In the present embodiment, the CPU 181 executes a predetermined program, whereby a control unit 201, a selection unit 202, a transmission control unit 203, a reception control unit 204, a recognition unit 205, a storage control unit 206, a display control unit 207, Each function of the list generation unit 208 can be exhibited.

制御部201は、選択部202乃至リスト生成部208を適宜制御して、認証処理の全体を制御する。例えば、制御部201は、認証回数iを管理する。   The control unit 201 controls the entire authentication process by appropriately controlling the selection unit 202 to the list generation unit 208. For example, the control unit 201 manages the authentication count i.

選択部202は、認証回数iの認証処理が実行される場合、記憶部188に記憶されているリスト81を参照して、チャレンジCiとレスポンスRiとの組み合わせを選択する。   When the authentication process for the number of times of authentication i is executed, the selection unit 202 refers to the list 81 stored in the storage unit 188 and selects a combination of the challenge Ci and the response Ri.

送信制御部203は、通信部189を制御して、例えば、選択部202により選択されたチャレンジCiを所定時間間隔毎に送信する。なお、チャレンジCiの送信タイミングは、特にこれに限定されない。チャレンジCiの送信タイミングのその他の例については後述する。   The transmission control unit 203 controls the communication unit 189 to transmit, for example, the challenge Ci selected by the selection unit 202 at predetermined time intervals. Note that the transmission timing of the challenge Ci is not particularly limited to this. Other examples of the challenge Ci transmission timing will be described later.

受信制御部204は、通信部189を制御して、ICカード72から送信されてきたレスポンスRを受信する。   The reception control unit 204 controls the communication unit 189 to receive the response R transmitted from the IC card 72.

認証部205は、受信制御部204に受信されたレスポンスRと、選択部202によって選択されたレスポンスRiとを比較し、一致する場合には認証成功と判定し、一致しない場合には認証失敗と判定する。すなわち、レスポンスRとレスポンスRiとが一致する場合には、認証部205は、ICカード72を認証する。   The authentication unit 205 compares the response R received by the reception control unit 204 with the response Ri selected by the selection unit 202. If they match, the authentication unit 205 determines that the authentication is successful, and if they do not match, the authentication fails. judge. That is, when the response R and the response Ri match, the authentication unit 205 authenticates the IC card 72.

記憶制御部206は、リスト81の記憶部188への記憶を制御する。すなわち、出荷前にリスト生成装置101によりリスト81が生成された時、又は、パーソナルコンピュータ71内のリスト生成部208によりリスト81が生成又は更新された時、記憶制御部206は動作する。また、記憶制御部206は、認証回数iの記憶部188への記憶を制御する。   The storage control unit 206 controls storage of the list 81 in the storage unit 188. That is, when the list 81 is generated by the list generation apparatus 101 before shipment, or when the list 81 is generated or updated by the list generation unit 208 in the personal computer 71, the storage control unit 206 operates. In addition, the storage control unit 206 controls storage of the authentication count i in the storage unit 188.

表示制御部207は、出力部187の表示を制御する。例えば、認証部205によって認証失敗であると判定された場合、表示制御部207は、所定の警告を示す画像を出力部187の表示部に表示させる。   The display control unit 207 controls the display of the output unit 187. For example, when the authentication unit 205 determines that the authentication has failed, the display control unit 207 causes the display unit of the output unit 187 to display an image indicating a predetermined warning.

組み合わせ生成手段としてのリスト生成部208は、パーソナルコンピュータ71内でリスト81を生成すべく、乱数発生部221、および生成部222を有している。   The list generation unit 208 as a combination generation unit includes a random number generation unit 221 and a generation unit 222 in order to generate the list 81 in the personal computer 71.

乱数発生部221は、チャレンジCとレスポンスRとの組み合わせを生成するための原情報として、乱数AXiを発生させる。上述したように、本実施形態では、真正乱数が乱数AXとして採用されているとし、乱数発生部221は、外部から推測不可能な乱数AXを生成するようにしている。   The random number generator 221 generates a random number AXi as original information for generating a combination of challenge C and response R. As described above, in this embodiment, it is assumed that a genuine random number is adopted as the random number AX, and the random number generation unit 221 generates a random number AX that cannot be estimated from the outside.

生成部222は、リスト81を生成する。すなわち、乱数発生部221により乱数AXiが発生する毎に、生成部222は、乱数AXiを用いて、チャレンジCiとレスポンスRiとの組み合わせを生成し、当該組み合わせをリスト81に追加する。このような処理がn回繰り返されると、n通りのチャレンジCとレスポンスRとの組み合わせが格納されたリスト81が生成される。   The generation unit 222 generates the list 81. That is, every time the random number generation unit 221 generates a random number AXi, the generation unit 222 generates a combination of challenge Ci and response Ri using the random number AXi, and adds the combination to the list 81. When such processing is repeated n times, a list 81 in which n combinations of challenges C and responses R are stored is generated.

以上、パーソナルコンピュータ71の構成について説明した。次に、ICカード72の構成について説明する。   The configuration of the personal computer 71 has been described above. Next, the configuration of the IC card 72 will be described.

[ICカード72の機能的構成例を示すブロック図]
図12は、ICカード72の機能的構成例を示すブロック図である。
[Block diagram showing functional configuration example of IC card 72]
FIG. 12 is a block diagram illustrating a functional configuration example of the IC card 72.

図12のICカード72は、制御部241、記憶部242、受信部243、復号化部244、暗号化部245、および送信部246から構成される。これらの機能ブロックは、図示せぬセキュアエリア内に設けられている。   The IC card 72 in FIG. 12 includes a control unit 241, a storage unit 242, a reception unit 243, a decryption unit 244, an encryption unit 245, and a transmission unit 246. These functional blocks are provided in a secure area (not shown).

制御部241は、ICカード72の全体の制御を行う。   The control unit 241 performs overall control of the IC card 72.

保持手段としての記憶部242は、認証処理に必要な情報、すなわち、鍵KC、復号化アルゴリズムD11、及び暗号化アルゴリズムE12を記憶する。   The storage unit 242 as a holding unit stores information necessary for authentication processing, that is, a key KC, a decryption algorithm D11, and an encryption algorithm E12.

受信部243は、パーソナルコンピュータ71から送信されてきたチャレンジCiを受信する。   The receiving unit 243 receives the challenge Ci transmitted from the personal computer 71.

復号化部244は、記憶部242に記憶された復号化アルゴリズムD11に従って、記憶部242に記憶された鍵KCを用いて、受信部243に受信されたチャレンジCiを復号化することによって、算出値Aiを求める。   The decryption unit 244 decrypts the challenge Ci received by the reception unit 243 using the key KC stored in the storage unit 242 in accordance with the decryption algorithm D11 stored in the storage unit 242, thereby calculating the calculated value. Find Ai.

暗号化部245は、記憶部242に記憶された暗号化アルゴリズムE12に従って、記憶部242に記憶された鍵KCを用いて、復号化部244によって求められた算出値Aiを暗号化する。   The encryption unit 245 encrypts the calculated value Ai obtained by the decryption unit 244 using the key KC stored in the storage unit 242 according to the encryption algorithm E12 stored in the storage unit 242.

送信部246は、暗号化部245によって暗号化された算出値Aiを、レスポンスRとしてパーソナルコンピュータ71に送信する。なお、ICカード72としては、電子マネー、プリペイドカード、社員証、IDカードなどとして実際に利用されているFeliCa(ソニー株式会社の登録商標)、Mifare(登録商標)等を適用することができる。このカードには既に相互認証のための暗号化アルゴリズムと復号化アルゴリズムが用意されており、専用の鍵KCのみ新たに割り当てを受ければよい。   The transmission unit 246 transmits the calculated value Ai encrypted by the encryption unit 245 to the personal computer 71 as a response R. As the IC card 72, FeliCa (registered trademark of Sony Corporation), Mifare (registered trademark), etc. that are actually used as electronic money, prepaid card, employee ID card, ID card, etc. can be applied. This card already has an encryption algorithm and a decryption algorithm for mutual authentication, and only a dedicated key KC needs to be newly assigned.

以上、図8の認証システム151の各構成要素、すなわち、リスト生成装置101、パーソナルコンピュータ71、及びICカード72の各構成について、その順番に順次説明した。   Heretofore, each component of the authentication system 151 in FIG. 8, that is, each component of the list generation device 101, the personal computer 71, and the IC card 72 has been described in order.

そこで、以下、図8の認証システム151の各構成要素、すなわち、リスト生成装置101、パーソナルコンピュータ71、及びICカード72の各動作について、その順番に順次説明する。   Therefore, hereinafter, each component of the authentication system 151 of FIG. 8, that is, each operation of the list generation device 101, the personal computer 71, and the IC card 72 will be sequentially described in that order.

すなわち、最初に、図13を参照して、リスト生成装置101が実行するリスト生成処理について説明する。次に、図14と図15を参照して、リスト生成処理により生成されたリスト81を用いた、パーソナルコンピュータ71とICカード72が実行する認証処理について説明する。なお、本実施形態では、パーソナルコンピュータ71がICカード72を認証する片側認証処理であるので、ICカード72が実行する片側認証処理を、片側被認証処理と称する。   That is, first, a list generation process executed by the list generation apparatus 101 will be described with reference to FIG. Next, an authentication process executed by the personal computer 71 and the IC card 72 using the list 81 generated by the list generation process will be described with reference to FIGS. In the present embodiment, since the personal computer 71 is a one-side authentication process in which the IC card 72 is authenticated, the one-side authentication process executed by the IC card 72 is referred to as a one-side authenticated process.

[リスト生成処理]
図13は、リスト生成装置101によるリスト生成処理の一例を説明するフローチャートである。
[List generation process]
FIG. 13 is a flowchart for explaining an example of list generation processing by the list generation apparatus 101.

ステップS1において、制御部161は、リスト81に格納する組み合わせの番号i=1に設定する。   In step S <b> 1, the control unit 161 sets the combination number i = 1 stored in the list 81.

ステップS2において、乱数発生部162は、番号iの乱数AXiを発生させる。   In step S2, the random number generator 162 generates a random number AXi of number i.

ステップS3において、暗号化部163は、暗号化アルゴリズムE11に従って、鍵KCを用いて、乱数AXiを暗号化してチャレンジCiを生成する。   In step S3, the encryption unit 163 generates a challenge Ci by encrypting the random number AXi using the key KC according to the encryption algorithm E11.

ステップS4において、暗号化部163は、暗号化アルゴリズムE12に従って、鍵KCを用いて、乱数AXiを暗号化してレスポンスRiを生成する。   In step S4, the encryption unit 163 generates a response Ri by encrypting the random number AXi using the key KC according to the encryption algorithm E12.

ステップS5において、生成部164は、チャレンジCiとレスポンスRiの組み合わせをリスト81に追加する。   In step S <b> 5, the generation unit 164 adds the combination of the challenge Ci and the response Ri to the list 81.

ステップS6において、制御部161は、処理の終了が指示されたかを判定する。   In step S6, the control unit 161 determines whether an instruction to end the process is given.

処理の終了がまだ指示されていない場合、ステップS6においてNOであると判定されて、処理はステップS7に進む。   If the end of the process has not been instructed yet, it is determined as NO in step S6, and the process proceeds to step S7.

ステップS7において、制御部161は、番号iを1だけインクリメントする(i=i+1)。番号iがインクリメントされると、処理はステップS2に戻され、それ以降の処理が繰り返される。すなわち、処理の終了が指示されない限り、乱数AXiが変更されて、ステップS2乃至S7のループ処理が繰り返されて、その都度、チャレンジCとレスポンスRとの組み合わせがリスト81に1つずつ追加されていく。   In step S7, the control unit 161 increments the number i by 1 (i = i + 1). When the number i is incremented, the process is returned to step S2, and the subsequent processes are repeated. That is, unless the process is instructed, the random number AXi is changed, the loop process of steps S2 to S7 is repeated, and each time a combination of challenge C and response R is added to the list 81 one by one. Go.

その後、ステップS2乃至S7の処理がn回繰り返されると、処理の終了が指示されたとして、ステップS6においてYESであると判定されて、リスト生成処理は終了する。これにより、n通りの組み合わせが格納されたリスト81が生成される。   Thereafter, when the processes in steps S2 to S7 are repeated n times, it is determined that the process is instructed to be YES in step S6, and the list generation process ends. As a result, a list 81 in which n combinations are stored is generated.

このように、リスト生成処理では、処理の終了が指示されるまでチャレンジCとレスポンスRの組み合わせがリスト81に順次追加されていくので、リスト81に格納されるチャレンジCとレスポンスRの組み合わせの総数nは、任意の数とすることができる。すなわち、ユーザは、図6を参照して上述したように、認証システム61が必要とするセキュリティ強度とコストとのバランスに合わせて、リスト81を生成することができる。   In this way, in the list generation process, the combination of challenge C and response R is sequentially added to the list 81 until the end of the process is instructed, so the total number of combinations of challenge C and response R stored in the list 81 n can be any number. That is, as described above with reference to FIG. 6, the user can generate the list 81 in accordance with the balance between security strength and cost required by the authentication system 61.

リスト生成処理によって生成されたリスト81は、安全にパーソナルコンピュータ71に届けられる。また、本実施形態では、リスト81が生成される工場等では、リスト81と共に、ICカード72が生成される。このICカード72は、上述したように、セキュアエリア91内に、リスト81の生成に用いられたものと同一の鍵KC、リスト81の生成に用いられた暗号化アルゴリズムE11に対応する復号化アルゴリズムD11、およびリスト81の生成に用いられたものと同一の暗号化アルゴリズムE12を有している。このように対として生成されたリスト81とICカード72とは、それぞれ安全にユーザに届けられる。リスト81は、例えば所定のCD、半導体メモリ等のリムーバブルメディアに記録して提供することもできる。   The list 81 generated by the list generation process is safely delivered to the personal computer 71. In this embodiment, in a factory or the like where the list 81 is generated, the IC card 72 is generated together with the list 81. As described above, the IC card 72 includes the same key KC used for generating the list 81 in the secure area 91 and the decryption algorithm corresponding to the encryption algorithm E11 used for generating the list 81. D11 and the same encryption algorithm E12 used to generate the list 81. The list 81 and the IC card 72 generated as a pair in this way are each safely delivered to the user. The list 81 can be provided by being recorded on a removable medium such as a predetermined CD or a semiconductor memory.

以上、リスト生成処理について説明した。次に、リスト生成処理により生成されたリスト81を用いた認証処理として、パーソナルコンピュータ71がICカード72を認証する片側認証処理について説明する。   The list generation process has been described above. Next, one-side authentication processing in which the personal computer 71 authenticates the IC card 72 will be described as authentication processing using the list 81 generated by the list generation processing.

[パーソナルコンピュータ71の片側認証処理]
図14は、パーソナルコンピュータ71の片側認証処理の一例を説明するフローチャートである。
[One-sided authentication process of personal computer 71]
FIG. 14 is a flowchart for explaining an example of the one-side authentication process of the personal computer 71.

ここでは、ICカード72に対する認証回数iは記憶部188に記憶されて管理されているものとする。また、リスト81もリムーバブルメディアから記憶部188に転送、記憶されているものとする。   Here, it is assumed that the authentication count i for the IC card 72 is stored and managed in the storage unit 188. In addition, it is assumed that the list 81 is also transferred and stored from the removable medium to the storage unit 188.

ステップS21において、制御部201は、認証回数iが記憶部188に記憶されているかを判定する。   In step S <b> 21, the control unit 201 determines whether the authentication count i is stored in the storage unit 188.

認証回数iが記憶されていない場合、すなわち、初めての認証である場合、ステップS21においてNOであると判定され、処理はステップS22に進む。   If the authentication count i is not stored, that is, if it is the first authentication, it is determined NO in step S21, and the process proceeds to step S22.

ステップS22において、制御部201は、認証回数i=1に設定する。認証回数i=1に設定されると、処理はステップS27に進む。なお、ステップS27以降の処理については後述する。   In step S22, the control unit 201 sets the number of authentications i = 1. If the authentication count i = 1 is set, the process proceeds to step S27. The processing after step S27 will be described later.

これに対して、認証回数iが記憶されている場合、すなわち、初めての認証でない場合、ステップS21においてYESであると判定され、処理はステップS23に進む。   On the other hand, when the number of times of authentication i is stored, that is, when it is not the first authentication, it is determined as YES in Step S21, and the process proceeds to Step S23.

ステップS23において、制御部201は、記憶されている認証回数iを記憶部188から読み出す。   In step S <b> 23, the control unit 201 reads the stored authentication count i from the storage unit 188.

ステップS24において、制御部201は、認証回数iを1だけインクリメントする。   In step S24, the control unit 201 increments the authentication count i by one.

ステップS25において、制御部201は、認証回数iが、リスト81の組み合わせの総数nよりも大きいかを判定する。   In step S <b> 25, the control unit 201 determines whether the authentication count i is larger than the total number n of combinations in the list 81.

認証回数iがリスト81の組み合わせの総数nよりも小さい場合、ステップS25においてNOであると判定され、処理はステップS27に進む。なお、ステップS27以降の処理については後述する。   If the authentication count i is smaller than the total number n of combinations in the list 81, it is determined as NO in step S25, and the process proceeds to step S27. The processing after step S27 will be described later.

これに対して、認証回数iがリスト81の組み合わせの総数nよりも大きい場合、ステップS25においてYESであると判定され、処理はステップS26に進む。   On the other hand, when the number of times of authentication i is larger than the total number n of combinations in the list 81, it is determined as YES in Step S25, and the process proceeds to Step S26.

ステップS26において、制御部201は、認証回数i=1に設定する。すなわち、認証回数iがリスト81の組み合わせの総数nを超えた場合とは、前回の認証回数(i−1)がリスト81の組み合わせの総数nであったことを意味する。本実施形態では、認証回数iの片側認証処理のときに、チャレンジCiとレスポンスRiとの組み合わせが用いられる。したがって、認証回数iがリスト81の組み合わせの総数nを超えた場合とは、前回の認証回数iの認証処理においてリスト81の最後のチャレンジCnとレスポンスRnとの組合せが使用された場合、すなわち、リスト81内の全ての組み合わせが使用された場合を意味する。そこで、このような場合、制御部201は、認証回数iを1にリセットすることによって、リスト81の再利用を可能にする。本実施形態では、リスト81内の組み合わせを先頭から順に使用する。リスト81内の組み合わせがランダムに選択されると、過去に使用された組み合わせが重複使用されるおそれがあるからである。なお、このような処理は例示であって、例えば、チャレンジCiとレスポンスRiとの組み合わせを新規に作成するようにしてもよい。   In step S26, the control unit 201 sets the number of authentications i = 1. That is, the case where the authentication count i exceeds the total number n of combinations in the list 81 means that the previous authentication count (i−1) was the total number n of combinations in the list 81. In the present embodiment, a combination of a challenge Ci and a response Ri is used in the one-side authentication process with the number of authentications i. Therefore, the case where the number of times of authentication i exceeds the total number n of combinations of the list 81 means that the combination of the last challenge Cn and the response Rn of the list 81 is used in the authentication process of the previous number of times of authentication i. This means that all combinations in the list 81 are used. Therefore, in such a case, the control unit 201 allows the list 81 to be reused by resetting the authentication count i to 1. In this embodiment, the combinations in the list 81 are used in order from the top. This is because if a combination in the list 81 is selected at random, combinations used in the past may be used in duplicate. Note that such processing is merely an example, and for example, a new combination of a challenge Ci and a response Ri may be created.

ステップS27において、選択部202は、チャレンジCiをリスト81から選択する。   In step S <b> 27, the selection unit 202 selects a challenge Ci from the list 81.

ステップS28において、送信制御部203は、通信部189を制御して、ステップS27の処理で選択されたチャレンジCiをICカード72に送信する。   In step S28, the transmission control unit 203 controls the communication unit 189 to transmit the challenge Ci selected in step S27 to the IC card 72.

図15を参照して後述するように、ICカード72は、受信したチャレンジCiに対応するレスポンスRを送信してくる(図15のステップS44)。そこで、ステップS29において、受信制御部204は、ICカード72からのレスポンスRを受信したかを判定する。   As will be described later with reference to FIG. 15, the IC card 72 transmits a response R corresponding to the received challenge Ci (step S44 in FIG. 15). Therefore, in step S29, the reception control unit 204 determines whether or not the response R from the IC card 72 has been received.

レスポンスRが受信されない場合、ステップS29においてNOであると判定されて、処理はステップS28に戻され、それ以降の処理が繰り返される。すなわち、レスポンスRが受信されるまでの間、ステップS28,S29NOのループ処理が繰り返されることによって、所定時間間隔毎にチャレンジCiが送信される。なお、所定回数だけチャレンジCiを送信してもレスポンスRが受信できない場合、処理を中止してもよい。   When the response R is not received, it is determined as NO in Step S29, the process returns to Step S28, and the subsequent processes are repeated. That is, until the response R is received, the challenge Ci is transmitted at predetermined time intervals by repeating the loop processing of steps S28 and S29NO. If the response R cannot be received even if the challenge Ci is transmitted a predetermined number of times, the processing may be stopped.

その後、レスポンスRが受信された場合には、ステップS29においてYESであると判定されて、処理はステップS30に進む。   Thereafter, when the response R is received, it is determined as YES in Step S29, and the process proceeds to Step S30.

ステップS30において、認識部205は、受信されたレスポンスRが、ステップS27の処理でリスト81から選択されたチャレンジCiに対応するレスポンスRiと一致するかを判定する。   In step S30, the recognition unit 205 determines whether the received response R matches the response Ri corresponding to the challenge Ci selected from the list 81 in the process of step S27.

レスポンスRがリスト81から選択されたレスポンスRiと一致する場合、処理はステップS31に進む。   If the response R matches the response Ri selected from the list 81, the process proceeds to step S31.

ステップS31において、認証部205は、ICカード72を認証する。これにより、パーソナルコンピュータ71へのログインが可能になる。   In step S31, the authentication unit 205 authenticates the IC card 72. Thereby, login to the personal computer 71 becomes possible.

ステップS32において、記憶制御部206は、記憶部188を制御して認証回数iを記憶する。これによりパーソナルコンピュータの片側認証処理が終了する。   In step S32, the storage control unit 206 controls the storage unit 188 to store the authentication count i. Thus, the one-side authentication process of the personal computer is completed.

これに対して、レスポンスRがリスト81から選択されたレスポンスRiと一致しない場合、認証失敗を意味するので、処理はステップS33に進む。   On the other hand, if the response R does not match the response Ri selected from the list 81, it means an authentication failure, and the process proceeds to step S33.

ステップS33において、表示制御部207は、認証失敗の警告を示す画像を、出力部187の表示部に表示させる。これにより、処理はステップS32に進む。   In step S <b> 33, the display control unit 207 displays an image indicating an authentication failure warning on the display unit of the output unit 187. Thereby, a process progresses to step S32.

ステップS32において、記憶制御部206は、記憶部188を制御して認証回数iを記憶する。これによりパーソナルコンピュータの片側認証処理が終了する。   In step S32, the storage control unit 206 controls the storage unit 188 to store the authentication count i. Thus, the one-side authentication process of the personal computer is completed.

このようなパーソナルコンピュータの片側認証処理に対して、ICカード72の片側被認証処理は次のようにして実行される。   In contrast to the one-side authentication process of such a personal computer, the one-side authenticated process of the IC card 72 is executed as follows.

[ICカード72の片側被認証処理]
図15は、ICカード72の片側被認証処理の一例を説明するフローチャートである。
[Authentication process on one side of IC card 72]
FIG. 15 is a flowchart for explaining an example of the one-side authenticated process of the IC card 72.

ステップS41において、受信部243は、パーソナルコンピュータ71からチャレンジCiを受信したかを判定する。このチャレンジCiは、図14のステップS28の処理で送信されたものである。   In step S <b> 41, the receiving unit 243 determines whether a challenge Ci has been received from the personal computer 71. This challenge Ci is transmitted in the process of step S28 in FIG.

チャレンジCiを受信していない場合、ステップS41においてNOであると判定されて、処理はステップS41に戻され、それ以降の処理が繰り返される。すなわち、チャレンジCiを受信するまでの間、ステップS41の判定処理が繰り返されて、ICカード72の片側被認証処理は待機状態となる。   If the challenge Ci has not been received, it is determined as NO in step S41, the process returns to step S41, and the subsequent processes are repeated. That is, until the challenge Ci is received, the determination process of step S41 is repeated, and the one-side authenticated process of the IC card 72 enters a standby state.

その後、チャレンジCiを受信した場合には、ステップS41においてYESであると判定されて、処理はステップS42に進む。   Thereafter, when the challenge Ci is received, it is determined as YES in Step S41, and the process proceeds to Step S42.

ステップS42において、復号化部244は、復号化アルゴリズムD11に従って、鍵KCを用いて、チャレンジCiを復号化することによって、算出値Aiを求める。   In step S42, the decryption unit 244 obtains the calculated value Ai by decrypting the challenge Ci using the key KC according to the decryption algorithm D11.

ステップS43において、暗号化部245は、暗号化アルゴリズムE12に従って、鍵KCを用いて、算出値Aiを暗号化する。   In step S43, the encryption unit 245 encrypts the calculated value Ai using the key KC according to the encryption algorithm E12.

ステップS44において、送信部246は、暗号化された算出値AiをレスポンスRとしてパーソナルコンピュータ71に送信する。   In step S44, the transmission unit 246 transmits the encrypted calculated value Ai as a response R to the personal computer 71.

これにより、ICカード72の片側被認証処理は終了する。   Thereby, the one-side authentication processing of the IC card 72 is completed.

このように、本実施形態においては、認証する側のパーソナルコンピュータ71は、鍵とアルゴリズムを保持することなく、ICカード72を認証する。一方で、リスト生成装置101とICカード72は、セキュアな環境で鍵とアルゴリズムを保持する。これにより、認証側のパーソナルコンピュータ71は、セキュアでない環境でICカード72を認証しても、安全性を確保することができる。   As described above, in the present embodiment, the authenticating personal computer 71 authenticates the IC card 72 without holding the key and the algorithm. On the other hand, the list generation device 101 and the IC card 72 hold keys and algorithms in a secure environment. As a result, the personal computer 71 on the authentication side can ensure safety even if the IC card 72 is authenticated in an insecure environment.

また、パーソナルコンピュータ71−1乃至71−Nがそれぞれ保持するリスト81−1乃至81−Nは、相互に異なっている。したがって、仮に1つのパーソナルコンピュータ71が保持するリスト81が第三者に盗難されたとしても、他のパーソナルコンピュータ71のセキュリティに対して影響を及ぼすおそれはない。   The lists 81-1 to 81-N held by the personal computers 71-1 to 71-N are different from each other. Therefore, even if the list 81 held by one personal computer 71 is stolen by a third party, there is no possibility of affecting the security of other personal computers 71.

従って、上述したように、ICカード72を、セキュアエリアを有さないパーソナルコンピュータ71へのログイン処理に用いると好適である。その理由は次のとおりである。   Therefore, as described above, it is preferable to use the IC card 72 for login processing to the personal computer 71 having no secure area. The reason is as follows.

まず、パーソナルコンピュータ71はロックされていることから、そもそもパーソナルコンピュータ71にログインできない第三者は、パーソナルコンピュータ71が保持するリスト81を取得することはできない。仮に何らかの手段によって、第三者が、パーソナルコンピュータ71が保持するリスト81を取得したとしても、リスト81を生成した鍵と暗号化アルゴリズムまでは取得することができない。なぜならば、リスト81を生成した鍵と暗号化アルゴリズムは、パーソナルコンピュータ71内には保持されておらず、パーソナルコンピュータ71の生成工場等のセキュアな環境に保持されているからである。   First, since the personal computer 71 is locked, a third party who cannot log in to the personal computer 71 cannot obtain the list 81 held by the personal computer 71 in the first place. Even if a third party acquires the list 81 held by the personal computer 71 by some means, the key and the encryption algorithm that generated the list 81 cannot be acquired. This is because the key and the encryption algorithm that generated the list 81 are not stored in the personal computer 71 but are stored in a secure environment such as a generation factory of the personal computer 71.

また、パーソナルコンピュータ71−1乃至71−Nがそれぞれ保持するリスト81−1乃至81−Nは、相互に異なっている。したがって、第三者が、仮に何らかの手段で、例えばパーソナルコンピュータ71−1が保持するリスト81−1を取得したとしても、取得したリスト81−1を用いて他のパーソナルコンピュータ71−2乃至71−Nへログインすることはできない。   The lists 81-1 to 81-N held by the personal computers 71-1 to 71-N are different from each other. Therefore, even if the third party acquires the list 81-1 held by the personal computer 71-1 by some means, for example, the other personal computers 71-2 to 71- using the acquired list 81-1. You cannot log in to N.

さらに、パーソナルコンピュータ71が有するリスト81には、上述した組み合わせデータ群141の全ての組み合わせを格納する必要は特に無く、組み合わせデータ群141の一部の組み合わせを格納してもよい。このような場合には、たとえ第三者によってリスト81が盗難されることがあったとしても、ユーザは、組み合わせデータ群141の別の一部の組み合わせを用いてリスト81を更新すればよい。これにより、その後、第三者は、盗難したリスト81を使用したとしても、パーソナルコンピュータ71にログインすることができなくなる。   Furthermore, the list 81 of the personal computer 71 does not need to store all the combinations of the combination data group 141 described above, and may store some combinations of the combination data group 141. In such a case, even if the list 81 may be stolen by a third party, the user may update the list 81 using another partial combination of the combination data group 141. Thereby, even if the third party uses the stolen list 81 thereafter, the third party cannot log in to the personal computer 71.

また、第三者が、盗難したリスト81を基にして、対となるICカード72になりすますことは非常に困難である。すなわち、図6を参照して説明したように、例えば、第三者がチャレンジCiに対応するレスポンスRiを知っていたとしても、同一のチャレンジCiが再度認証に使用されるまでの最大試行回数はリスト81の組み合わせ総数nに等しい。したがって、第三者は、多数の組み合わせの中から該当するチャレンジCiが送信されてくるのを常時監視し、それに対応するレスポンスRiを送信しなければならないため、対となるICカード72になりすます行為は非常に困難になる。   Further, it is very difficult for a third party to impersonate the paired IC card 72 based on the stolen list 81. That is, as described with reference to FIG. 6, for example, even if a third party knows the response Ri corresponding to the challenge Ci, the maximum number of trials until the same challenge Ci is used for authentication again is It is equal to the total number n of combinations in the list 81. Therefore, since the third party must constantly monitor the corresponding challenge Ci from a number of combinations and send the corresponding response Ri, the act of impersonating the paired IC card 72 Becomes very difficult.

[セキュリティ強度の向上]
以上のように、本発明が適用される認証システムを採用することで、セキュアでない環境で片側認証処理を実行しても、セキュリティ強度は高いものになる。しかしながら、セキュアでない環境である以上、完全なセキュリティを確立することは困難である。そこで、以下、セキュリティ強度のさらなる向上を図ることができる措置について幾つか説明する。
[Improvement of security strength]
As described above, by employing the authentication system to which the present invention is applied, the security strength is high even if the one-side authentication process is executed in an insecure environment. However, as long as the environment is not secure, it is difficult to establish complete security. Therefore, some measures that can further improve the security strength will be described below.

上述した図14の片側認証処理の例では、パーソナルコンピュータ71は、所定時間間隔毎にチャレンジCiを定期的に送信していた。この場合、ICカード72を有していない第三者が、チャレンジCiを取得し易くなる。そこで、認証システム61のセキュリティ強度の向上を図るために、パーソナルコンピュータ71は、チャレンジCiを送信する前に、ICカード72を検出するための制御信号(以下、ポーリングと称する)を送信するようにしてもよい。ポーリングを受信したICカード72は、当該ポーリングに対する返答を示す制御信号をパーソナルコンピュータ71に送信する。パーソナルコンピュータ71は、この制御信号を受信した場合にのみ、チャレンジCiの送信を開始する。   In the example of the one-side authentication process in FIG. 14 described above, the personal computer 71 periodically transmits a challenge Ci at predetermined time intervals. In this case, a third party who does not have the IC card 72 can easily acquire the challenge Ci. Therefore, in order to improve the security strength of the authentication system 61, the personal computer 71 transmits a control signal (hereinafter referred to as polling) for detecting the IC card 72 before transmitting the challenge Ci. May be. The IC card 72 that has received the polling transmits a control signal indicating a response to the polling to the personal computer 71. The personal computer 71 starts transmission of the challenge Ci only when this control signal is received.

さらに、よりセキュリティ強度を向上せるために、ポーリングに対する返答を示す制御信号に、ICカード72のカード識別子Idmの情報を含ませるとよい。この場合、パーソナルコンピュータ71は、ICカード72からの制御信号に基づいて、カード識別子Idmを認識し、認識したカード識別子IdmがICカード72のものであることを特定できた場合にのみ、チャレンジCiの送信を開始する。   Furthermore, in order to further improve the security strength, it is preferable to include information on the card identifier Idm of the IC card 72 in a control signal indicating a response to polling. In this case, the personal computer 71 recognizes the card identifier Idm based on the control signal from the IC card 72, and only when the recognized card identifier Idm can be identified as that of the IC card 72, the challenge Ci. Start sending.

[リスト81の組み合わせが有限であることへの措置]
ところで、リスト81に格納される組み合わせの総数nは有限であるため、リスト81のすべての組み合わせの総数nを最後まで使用した場合には、何かしらの措置が必要になる。このような措置としては、上述した実施形態では、再度、リスト81の先頭の組み合わせから再利用する措置を取っている。
[Measures to limit list 81 combinations]
By the way, since the total number n of combinations stored in the list 81 is finite, some measures are required when the total number n of all combinations in the list 81 is used up to the end. As such a measure, in the above-described embodiment, the measure of reusing from the top combination of the list 81 is taken again.

しかしながら、当該措置に特に限定されず、その他例えば、現在のリスト81を最後まで使用した場合には、新たにリスト81を生成して更新する措置を取るようにしてもよい。この場合、新たなリスト81は、図4と図5を参照して説明したように、リスト生成装置101によって生成されてもよいし、パーソナルコンピュータ71によって生成されてもよい。リスト生成装置101により生成された新たなリスト81は、そのユーザに再度提供される。   However, the present invention is not particularly limited to this measure. In addition, for example, when the current list 81 is used to the end, a new measure 81 may be generated and updated. In this case, as described with reference to FIGS. 4 and 5, the new list 81 may be generated by the list generation apparatus 101 or may be generated by the personal computer 71. The new list 81 generated by the list generation device 101 is provided again to the user.

また、パーソナルコンピュータ71は、新たな組み合わせを適当なタイミングで適宜生成してリスト81に追加し、次回の認証時には、新しい組み合わせが追加されたリスト81を用いる措置を取ってもよい。   Further, the personal computer 71 may appropriately generate a new combination at an appropriate timing and add it to the list 81. At the next authentication, the personal computer 71 may take a measure using the list 81 to which the new combination is added.

例えば、パーソナルコンピュータ71は、ICカード72がログインに成功したタイミングで、新たな組み合わせを生成してリスト81に追加することができる。具体的には例えば、パーソナルコンピュータ71は、ICカード72がログインに成功した時に、新たにM通り(Mは任意の整数値)のチャレンジCとレスポンスRとの組み合わせを生成して、リスト81に追加することができる。   For example, the personal computer 71 can generate a new combination and add it to the list 81 when the IC card 72 has successfully logged in. Specifically, for example, when the IC card 72 has successfully logged in, the personal computer 71 newly generates M combinations (M is an arbitrary integer value) of the challenge C and the response R, and the list 81 Can be added.

ここで、I回目(Iは1乃至Nの何れかの整数値)のログイン成功時にJ番目(Jは1乃至Mの何れかの整数値)に生成された組み合わせを(チャレンジC(I,J),レスポンスR(I,J))と記述すると、ICカード72によるN回目のログイン成功時には、最初のリスト81に対して、次のようなN×M組の組み合わせが新たに生成されていることになる。   Here, the combination generated in the J-th (J is any integer value from 1 to M) upon successful login for the first time (I is any integer value from 1 to N) (challenge C (I, J ), Response R (I, J)), the following N × M combinations are newly generated for the first list 81 when the IC card 72 is successfully logged in for the Nth time. It will be.

(チャレンジC(1,1),レスポンスR(1,1))、
(チャレンジC(1,2),レスポンスR(1,2))・・・
(チャレンジC(1,M),レスポンスR(1,M))
(Challenge C (1,1), response R (1,1)),
(Challenge C (1,2), Response R (1,2)) ...
(Challenge C (1, M), Response R (1, M))

(チャレンジC(2,1),レスポンスR(2,1))、
(チャレンジC(2,2),レスポンスR(2,2))・・・
(チャレンジC(2,M),レスポンスR(2,M))
(Challenge C (2,1), Response R (2,1)),
(Challenge C (2,2), Response R (2,2)) ...
(Challenge C (2, M), Response R (2, M))

・・・
(チャレンジC(N,1),レスポンスR(N,1))、
(チャレンジC(N,2),レスポンスR(N,2))・・・
(チャレンジC(N,M),レスポンスR(N,M))
...
(Challenge C (N, 1), response R (N, 1)),
(Challenge C (N, 2), Response R (N, 2)) ...
(Challenge C (N, M), Response R (N, M))

このようにしてN回目のログイン時には、最初のリスト81に対して、N×M個の新たな組み合わせが追加されており、次回の認証時には、これらの追加された新たな組み合わせを含むリスト81が用いられる。このようにして、リスト81の組み合わせの全てが使用されてしまうのを回避することができる。   In this way, at the Nth login, N × M new combinations are added to the first list 81, and at the next authentication, the list 81 including these added new combinations is added. Used. In this way, it can be avoided that all the combinations of the list 81 are used.

なお、この場合、パーソナルコンピュータ71は、1つの組み合わせのみを用いて1回の正当性の判断でICカード72を認証するのではなく、任意の複数の組み合わせを用いて複数回正当性を判断して、ICカード72を認証するようにしてもよい。これにより、セキュリティ強度が向上する。   In this case, the personal computer 71 does not authenticate the IC card 72 by a single determination of validity using only one combination, but determines the validity multiple times using a plurality of arbitrary combinations. Thus, the IC card 72 may be authenticated. This improves the security strength.

さらに、パーソナルコンピュータは、ICカード72を認証するときに用いる複数の組み合わせとして、離散した日時に生成されたものを用いると、より一段とセキュリティ強度が向上する。   Furthermore, if a personal computer uses what was produced | generated at the discrete date and time as a several combination used when authenticating the IC card 72, a security strength will improve further.

具体的には例えば、
(チャレンジC(I,1),レスポンスR(I,1))、
(チャレンジC(I,2),レスポンスR(I,2))・・・
(チャレンジC(I,M),レスポンスR(I,M))は、
I回目のログイン成功時にほぼ同時に生成され、パーソナルコンピュータ71とICカード72との間をほぼ同時に伝送されている。したがって、パーソナルコンピュータ71は、これらM個の組み合わせを用いてICカード72を認証しないようにする。
Specifically, for example,
(Challenge C (I, 1), response R (I, 1)),
(Challenge C (I, 2), Response R (I, 2)) ...
(Challenge C (I, M), Response R (I, M)) is
It is generated almost simultaneously when the I-th login succeeds, and is transmitted between the personal computer 71 and the IC card 72 almost simultaneously. Therefore, the personal computer 71 does not authenticate the IC card 72 using these M combinations.

その代わりに、パーソナルコンピュータ71は、N+1回目の認証の際には、1乃至N回のうち異なるL回分のログイン時に生成された組み合わせを用いるとよい。例えば、パーソナルコンピュータ71は、互いに異なる認証時に生成された組み合わせである
(チャレンジC(1,1),レスポンスR(1,1))、
(チャレンジC(2,1),レスポンスR(2,1))、・・・
(チャレンジC(L,1),レスポンスR(L,1))
を用いて、ICカード72を認証することができる。
Instead, the personal computer 71 may use a combination generated at the time of login for L different times from 1 to N times in the N + 1th authentication. For example, the personal computer 71 is a combination generated at the time of authentication different from each other (challenge C (1, 1), response R (1, 1)),
(Challenge C (2,1), Response R (2,1)), ...
(Challenge C (L, 1), Response R (L, 1))
Can be used to authenticate the IC card 72.

また、次のN+2回目の認証時には、パーソナルコンピュータ71は、例えば、
(チャレンジC(1,2),レスポンスR(1,2))、
(チャレンジC(2,2),レスポンスR(2,2))・・・
(チャレンジC(L,2),レスポンスR(L,2))
を用いて、ICカード72を認証してもよい。
In the next N + 2 authentication, the personal computer 71, for example,
(Challenge C (1,2), Response R (1,2)),
(Challenge C (2,2), Response R (2,2)) ...
(Challenge C (L, 2), Response R (L, 2))
The IC card 72 may be authenticated using.

或いはまた、N+2回目の認証時には、パーソナルコンピュータは、2L≦N+1ならば、例えば、
(チャレンジC(L+1,1),レスポンスR(L+1,1))、
(チャレンジC(L+2,1),レスポンスR(L+2,1))・・・
(チャレンジC(2L,1),レスポンスR(2L,1))
を用いて、ICカード72を認証してもよい。
Alternatively, at the time of N + 2 authentication, if the personal computer 2L ≦ N + 1, for example,
(Challenge C (L + 1, 1), response R (L + 1, 1)),
(Challenge C (L + 2, 1), Response R (L + 2, 1)) ...
(Challenge C (2L, 1), Response R (2L, 1))
The IC card 72 may be authenticated using.

要するに、異なる回のログイン成功時の各々のタイミングで生成された組み合わせを用いてICカード72を認証することが必要である。このためには、例えば、パーソナルコンピュータ71は、組み合わせの生成日時を記録したり、あるいはログイン成功番号を記録する。なお、ログイン成功番号は、ログインが成功する毎に1ずつインクリメントされていくとする。すなわち、ログイン成功番号はログインに成功した回数を表わす。これにより、パーソナルコンピュータ71は、次回認証時に、生成日時やログイン成功番号を利用して組み合わせを選択することで、時間的に離散した組み合わせを確実に選択することができる。   In short, it is necessary to authenticate the IC card 72 using a combination generated at each timing when login is successful at different times. For this purpose, for example, the personal computer 71 records the generation date and time of the combination or records the login success number. It is assumed that the login success number is incremented by 1 every time login is successful. That is, the login success number represents the number of successful logins. As a result, the personal computer 71 can reliably select a temporally discrete combination by selecting the combination using the generation date and time or the login success number at the next authentication.

さらに、また、ICカード72の認証に用いた組み合わせは、次回以降の認証には用いないことも必要である。このためには、パーソナルコンピュータ71は、例えば、一度使用した組み合わせをリスト81から削除する。これにより、一度使用した組み合わせが再度使用されてしまうことが防止され、かつ、リスト81の容量が増加するのも防止される。   Furthermore, it is necessary that the combination used for authentication of the IC card 72 is not used for the subsequent authentication. For this purpose, for example, the personal computer 71 deletes the combination once used from the list 81. As a result, the combination once used is prevented from being used again, and the capacity of the list 81 is prevented from increasing.

また、リスト81に追加する組み合わせの数は、毎回同じにする必要は特に無く、例えばリスト81の空き容量に応じて自動的に調整してもよい。例えば、ログインに成功しない場合には、ログインに使用された組み合わせはリスト81から削除されるが、新しい組み合わせは生成されない場合があるとする。このような場合には、パーソナルコンピュータ71は、次にログインが成功した時に通常よりも多くの組み合わせを生成して追加することにより、組み合わせが足りなくなることを回避することができる。   Further, the number of combinations to be added to the list 81 need not be the same every time, and may be automatically adjusted according to, for example, the free space of the list 81. For example, if login is not successful, the combination used for login is deleted from the list 81, but a new combination may not be generated. In such a case, the personal computer 71 can avoid running out of combinations by generating and adding more combinations than usual when the login succeeds next time.

以上、リスト81の組み合わせの総数nが有限であることに対する措置について幾つかの例を説明した。当然ながら、上述した措置は例示であって、その他の措置を単独で或いは組み合わせて取ることができる。例えば、リスト81の最後の組み合わせに近づいてきたときに、ユーザに対して何らかの警告を提示する措置を取ってもよい。このような警告を提示する措置と、上述した措置、例えば、リスト81を新たに生成する措置や、ログイン成功時に組み合わせを追加する措置とを組み合わせてもよい。すなわち、警告と同時に、リスト81を新たに生成する措置や、ログイン成功時に組み合わせを追加する措置を取ることを薦める報知をユーザにしてもよい。なお、このような警告や報知をしたにも関わらず、ユーザが何ら措置を取ることがなく、リスト81の最後の組み合わせが使用されてしまった場合には、ICカード72によるログインを無効にしてもよい。この場合、例えば、従来のアカウント名とパスワードを用いるような他の手段によるログインに切り替えるようにしてもよい。   Heretofore, several examples have been described regarding measures for the total number n of combinations in the list 81 being finite. Of course, the measures described above are exemplary and other measures can be taken alone or in combination. For example, a measure may be taken to present some warning to the user when the last combination in the list 81 is approaching. A measure for presenting such a warning may be combined with the measures described above, for example, a measure for newly generating the list 81 and a measure for adding a combination upon successful login. That is, at the same time as the warning, the user may be notified that it is recommended to take a measure for newly generating the list 81 or a measure for adding a combination upon successful login. If the user takes no action and uses the last combination in the list 81 in spite of such a warning or notification, the login by the IC card 72 is invalidated. Also good. In this case, for example, it may be switched to login by other means using a conventional account name and password.

[抜き打ち認証手法]
ところで、リスト81の組み合わせの総数nが有限であることに対する措置として、ログイン成功時に組み合わせを追加する措置を取る場合には、注意が必要である。すなわち、パーソナルコンピュータは、ログイン直後に、新たなチャレンジCを送信して、チャレンジCを受信したICカード72からレスポンスRが送信されてきた場合、送信したチャレンジCとレスポンスRとの組み合わせを生成して追加する。このときに、別のICカード72がパーソナルコンピュータに近接すると、パーソナルコンピュータ71は、別のICカード72に対してもチャレンジCを送信し、別のICカード72からのレスポンスRを受信してしまい、不適切な組み合わせを生成して追加してしまうおそれがある点に注意が必要である。
[Unauthorized authentication method]
By the way, when taking a measure to add a combination upon successful login as a measure for the total number n of combinations in the list 81 being careful. That is, the personal computer transmits a new challenge C immediately after login, and when the response R is transmitted from the IC card 72 that has received the challenge C, the personal computer generates a combination of the transmitted challenge C and response R. Add. At this time, if another IC card 72 approaches the personal computer, the personal computer 71 transmits a challenge C to the other IC card 72 and receives a response R from the other IC card 72. Note that there is a risk of creating and adding inappropriate combinations.

そこで、パーソナルコンピュータ71は、別のICカード72からのレスポンスRを受信しないように、新たな組み合わせを生成して追加する最中や直後に、対象のICカード72を認証するようにしてもよい。すなわち、パーソナルコンピュータ71は、リスト81の組み合わせの中からチャレンジCiを選択してICカード72に送信し、レスポンスRを受信する。そして、パーソナルコンピュータ71は、受信したレスポンスRがチャレンジCiに対応するレスポンスRiである場合に、ICカード72を認証する。このようなICカード72を認証する手法は、いわば、抜き打ちでICカード72を認証する手法であるといえる。そこで、このような手法を、以下、「抜き打ち認証手法」と称する。   Therefore, the personal computer 71 may authenticate the target IC card 72 during or immediately after generating and adding a new combination so that the response R from another IC card 72 is not received. . That is, the personal computer 71 selects a challenge Ci from the list 81 and transmits it to the IC card 72 and receives the response R. Then, the personal computer 71 authenticates the IC card 72 when the received response R is the response Ri corresponding to the challenge Ci. Such a method of authenticating the IC card 72 can be said to be a method of authenticating the IC card 72 by punching. Therefore, such a method is hereinafter referred to as “unsigned authentication method”.

抜き打ち認証手法において、パーソナルコンピュータ71は、受信したレスポンスRが、送信したチャレンジCiと対になるレスポンスRiとは異なる場合、認証失敗と判断する。パーソナルコンピュータ71は、認証失敗と判断した場合には、例えば、直前のログイン後に新たに生成してリスト81に追加した組み合わせの全てを破棄することができる。これにより、不適切な組み合わせを完全に除去できるので、セキュリティ強度が向上する。   In the unauthenticated authentication method, the personal computer 71 determines that the authentication has failed when the received response R is different from the response Ri paired with the transmitted challenge Ci. If the personal computer 71 determines that the authentication has failed, for example, all the combinations newly generated and added to the list 81 after the previous login can be discarded. As a result, the inappropriate combination can be completely removed, so that the security strength is improved.

さらに、パーソナルコンピュータ71は、認証失敗を示す警告をユーザに提示することができる。これにより、ユーザは、パーソナルコンピュータ71が第三者から攻撃を受けたことを認識できるようになる。   Furthermore, the personal computer 71 can present a warning indicating an authentication failure to the user. As a result, the user can recognize that the personal computer 71 has been attacked by a third party.

このように認証失敗に対する措置も取った上で、抜き打ち認証手法を採用することで、パーソナルコンピュータ71は、ICカード72によるログイン操作時だけではなく、任意のタイミングで、新たな組み合わせを生成してリスト81に追加することが可能になる。   In this way, after taking measures against authentication failure, the personal computer 71 generates a new combination not only at the time of the login operation by the IC card 72 but also at an arbitrary timing by adopting the unauthenticated authentication method. It becomes possible to add to the list 81.

なお、抜き打ち認証手法による認証処理の頻度を多くすると、リスト81内の組み合わせを全て使い切ってしまうおそれもある。そこで、このようなおそれを回避するために、抜き打ち認証手法による認証処理の際には、専用の組み合わせを用い、一度使用しても削除しないようにすることができる。すなわち、パーソナルコンピュータ71は、ICカード72を認証する場合、まずは専用の組み合わせを用いたいわゆる抜き打ち認証処理を実行し、認証に成功した場合にのみ、再度、リスト81を用いて正式な認証処理を実行する。   Note that if the frequency of authentication processing by the unauthenticated authentication method is increased, all combinations in the list 81 may be used up. Therefore, in order to avoid such a fear, a dedicated combination can be used in the authentication process by the unauthenticated authentication method so that it is not deleted even if it is used once. In other words, when authenticating the IC card 72, the personal computer 71 first executes a so-called unauthenticated authentication process using a dedicated combination. Only when the authentication is successful, the personal computer 71 performs the formal authentication process again using the list 81. Execute.

或いはまた、上述したように、ICカード72のカード識別子Idmを用いるようにしても、抜き打ち認証手法の採用によりリスト81を使い切ってしまうおそれを回避することができる。具体的には、パーソナルコンピュータ71は、ICカード72のカード識別子Idmを記憶しておき、当該識別子Idmを示す情報を含む制御信号がICカード72から送信されてきた直後にのみ、リスト81を用いてICカード72を認証する。   Alternatively, as described above, even if the card identifier Idm of the IC card 72 is used, it is possible to avoid the risk that the list 81 will be used up by adopting the unauthenticating authentication method. Specifically, the personal computer 71 stores the card identifier Idm of the IC card 72, and uses the list 81 only immediately after the control signal including information indicating the identifier Idm is transmitted from the IC card 72. Then, the IC card 72 is authenticated.

[リスト81が第三者に盗難されたことが分かる仕組み]
さらにセキュリティ強度を向上させるために、リスト81が第三者に盗難された場合には、その旨の警告をユーザに提示すると好適である。しかしながら、このような警告を提示するためには、パーソナルコンピュータ71は、リスト81が第三者に盗難されたことを認識する必要がある。そこで、以下、リスト81が第三者に盗難されたことをパーソナルコンピュータ71が認識できる手法の例について説明する。
[Mechanism to understand that List 81 was stolen by a third party]
In order to further improve the security strength, when the list 81 is stolen by a third party, it is preferable to present a warning to that effect to the user. However, in order to present such a warning, the personal computer 71 needs to recognize that the list 81 has been stolen by a third party. Therefore, an example of a technique by which the personal computer 71 can recognize that the list 81 has been stolen by a third party will be described below.

すなわち、当該手法では、パーソナルコンピュータ71(若しくはリスト生成装置101)は、リスト81を生成又は更新する際に、故意に誤ったレスポンスRを含む組み合わせをリスト81に紛れ込ませておく。この場合、どのコマンドメッセージが故意に誤ったもの(すなわち罠)であるかを区別できないように、故意に誤ったコマンドメッセージ(罠)をリスト81に一様に紛れ込ませておく。ただし、パーソナルコンピュータ71の認証部205は、その故意に誤ったレスポンスRが見分けられるようにしておく。例えば、8バイトで 18 76 13 76 4a 5b d5 d3のコマンドメッセージと、6c 5d 73 76 26 3a be d3のコマンドメッセージが含まれる組み合わせには、パーソナルコンピュータ71が特別な扱いをするように設定しておく。パーソナルコンピュータ71は、このようなコマンドメッセージをリスト81内に含めた上で、ICカード72のログイン時の認証処理に用いる。   That is, in this method, when the personal computer 71 (or the list generation device 101) generates or updates the list 81, a combination including an erroneous response R is intentionally inserted into the list 81. In this case, the intentionally wrong command message (罠) is uniformly mixed in the list 81 so that it cannot be distinguished which command message is intentionally wrong (ie, 罠). However, the authentication unit 205 of the personal computer 71 ensures that the erroneous response R can be recognized intentionally. For example, the combination of a command message of 18 76 13 76 4a 5b d5 d3 and a command message of 6c 5d 73 76 26 3a be d3 in 8 bytes is set so that the personal computer 71 will handle it specially. deep. The personal computer 71 includes such a command message in the list 81 and uses it for authentication processing when the IC card 72 is logged in.

ここで、仮に第三者がリスト81を盗難していた場合、第三者は、盗難したリスト81に基づいてレスポンスRを送信してくることになる。このような場合には、パーソナルコンピュータ71は、罠どおりのレスポンスRが送信されてきた時点で、リスト81が盗難されたことを認識することができる。パーソナルコンピュータ71は、リスト81が盗難されたことを認識すると、例えば、リスト81が外部に流出したことを示す警告を提示して、ICカード72による認証を無効にして、他の手段によるログインに切り替えるようにすることができる。このようにして、セキュリティ強度がより一段と向上される。   Here, if a third party has stolen the list 81, the third party will transmit a response R based on the stolen list 81. In such a case, the personal computer 71 can recognize that the list 81 has been stolen at the time when a normal response R is transmitted. When the personal computer 71 recognizes that the list 81 has been stolen, for example, it presents a warning indicating that the list 81 has leaked to the outside, invalidates the authentication by the IC card 72, and logs in by other means. Can be switched. In this way, the security strength is further improved.

[認証システム151のビジネスへの利用]
ところで、以上説明してきた認証システム151は、様々な分野、様々なビジネスに適用することができる。
[Use of authentication system 151 for business]
By the way, the authentication system 151 described above can be applied to various fields and various businesses.

この場合、何れの分野でも、どのようなビジネスでも、パーソナルコンピュータ71がリスト81を保持し、かつ、ICカード72が、セキュアエリア内に、リスト81と対になる鍵やアルゴリズムを保持する必要がある。   In this case, in any field and any business, the personal computer 71 needs to hold the list 81, and the IC card 72 needs to hold a key or algorithm paired with the list 81 in the secure area. is there.

リスト81は、パーソナルコンピュータ71の生成工場等でパーソナルコンピュータ71の出荷前に組み込まれて販売される場合と、後から販売される場合とが想定される。   It is assumed that the list 81 is sold at a factory where the personal computer 71 is produced and sold before the personal computer 71 is shipped, and when it is sold later.

後から販売される場合とは、例えば、パーソナルコンピュータ71のユーザが、リスト81が第三者に盗難された可能性があるので新しいリスト81に変更することを要求してきた場合が想定される。また例えば、パーソナルコンピュータ71のユーザが、リスト81の組み合わせを最後まで使い切ったが、もう一度同じリスト81を使いたくないために、新しいリスト81を要求してきた場合もまた、後から販売される場合に該当すると想定される。   For example, a case where the user of the personal computer 71 requests that the list 81 is changed to a new list 81 because the list 81 may be stolen by a third party is assumed. Also, for example, when the user of the personal computer 71 has used up the combination of the list 81 to the end but does not want to use the same list 81 again, the user requests a new list 81, or when the user is sold later. Expected to be true.

後から販売される場合には、リスト81はその組み合わせ数に応じて価格を変動させるようにすることができる。   When the list 81 is sold later, the price of the list 81 can be changed according to the number of combinations.

このように、出荷前だけではなく後からリスト81を販売できるようにすることで、売り切りの商売にのみリスト81が利用されることを回避することができる。   In this way, by allowing the list 81 to be sold not only before shipment but also later, it is possible to avoid the use of the list 81 only for sold-out business.

また例えば、ICカード72には、予め複数のログイン用の鍵とアルゴリズムのセットを登録しておくことができる。これにより、ICカード72を有するユーザは、インターネットを利用して、リスト81と当該リスト81に関するソフトウェアとを購入して、パーソナルコンピュータ71にインストールするだけで、認証システム151を利用することが可能になる。   Further, for example, a plurality of login keys and algorithm sets can be registered in the IC card 72 in advance. As a result, the user having the IC card 72 can use the authentication system 151 simply by purchasing the list 81 and software related to the list 81 and installing them on the personal computer 71 using the Internet. Become.

また例えば、ログインアプリ対応カードとしての各種のICカードは、複数のログイン用の鍵とアルゴリズムのセットを組み込むことで、ICカード72として機能する。セットの鍵はインターネット上からでも変更できるようにしてもよい。この場合、ICカードのユーザは、ICカード72として機能させるためにセットを購入した際に、インターネットを利用して鍵を変更する。これにより、それ以降は、当該ユーザが使用したアカウントのみからリスト81を購入できるようにするビジネスを提供できる。   For example, various IC cards as login application-compatible cards function as an IC card 72 by incorporating a plurality of login keys and algorithm sets. The key of the set may be changed on the Internet. In this case, when the user of the IC card purchases a set to function as the IC card 72, the user changes the key using the Internet. Thereby, after that, the business which enables it to purchase the list 81 only from the account which the said user used can be provided.

また、インターネットを利用して鍵の変更やリスト81の発行が可能となるように、ICカード72に予め鍵とセットを登録しておいてもよい。この場合、ユーザは、パーソナルコンピュータ71を介してインターネットを利用して、リスト生成装置101として機能するサーバにアクセスして、例えばICカード72に関する料金を支払うと、サーバとICカード72との間で相互認証がなされる。すると、サーバは、ICカード72のセキュアエリアに保持されているセットの鍵を読み込み、その鍵に基づいてリスト81を生成する。このようにして生成されたリスト81が、インターネットを介してユーザのパーソナルコンピュータ71に届けられる。ユーザは、届けられたリスト81をパーソナルコンピュータ71に保持させることで、リスト81を用いた認証システム151による各種サービスの提供を受けることができるようになる。仮に、ユーザは、リスト81を紛失した場合であっても、異なる乱数に基づく別のリスト81を再度購入すれば、認証システム151を継続利用することができる。このように、購入できるリスト81は毎回異なるので、第三者がリスト81を購入してもセキュリティの脅威にはならない。   In addition, keys and sets may be registered in advance in the IC card 72 so that the keys can be changed and the list 81 can be issued using the Internet. In this case, when the user accesses the server functioning as the list generation device 101 using the Internet via the personal computer 71 and pays a fee related to the IC card 72, for example, the user can connect the server and the IC card 72. Mutual authentication is performed. Then, the server reads a set of keys held in the secure area of the IC card 72 and generates a list 81 based on the keys. The list 81 generated in this way is delivered to the user's personal computer 71 via the Internet. The user can receive provision of various services by the authentication system 151 using the list 81 by holding the delivered list 81 in the personal computer 71. Even if the user loses the list 81, the user can continue to use the authentication system 151 by purchasing another list 81 based on a different random number. Thus, since the list 81 that can be purchased is different every time, even if a third party purchases the list 81, it does not pose a security threat.

以上、説明したように、本実施形態の認証システム151においては、セキュアでない環境にあるパーソナルコンピュータ71が、ICカード72を認証する、といった片側認証処理を実行することができる。   As described above, in the authentication system 151 of the present embodiment, the one-side authentication process in which the personal computer 71 in an insecure environment authenticates the IC card 72 can be executed.

[本発明のプログラムへの適用]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
[Application of the present invention to a program]
The series of processes described above can be executed by hardware or can be executed by software.

一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。   When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a network or a recording medium into a general-purpose personal computer or the like.

このようなプログラムを含む記録媒体は、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア(パッケージメディア)、例えば図10のリムーバブルメディア191により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM、例えば図10のROM182や、例えば図10の記憶部188等に含まれるハードディスクなどで構成される。   A recording medium including such a program is distributed to provide a program to the user separately from the main body of the apparatus, and includes a magnetic disk (including a floppy disk) on which the program is recorded, an optical disk (CD-ROM (Compact Removable media (package media) such as disk-read only memory (DVD) (including digital versatile disk), magneto-optical disk (including MD (mini-disc)), or semiconductor memory, such as the removable media shown in FIG. In addition to being configured by 191, it is included in a ROM in which a program is recorded, for example, a ROM 182 in FIG. 10 or a storage unit 188 in FIG. It consists of a hard disk.

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the order, but is not necessarily performed in chronological order, either in parallel or individually. The process to be executed is also included.

また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。   Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.

本発明は、認証側の装置としては、パーソナルコンピュータの他、携帯電話機、リーダライタ装置等、相手側を認証する片側認証機能を備えた装置であって、セキュアエリアを有しない装置に広く適用することができる。また、本発明は、被認証側の装置としては、ICカードの他、ICタグ等、認証側の装置と通信する機能を備えた装置であって、セキュアエリアを有する装置に広く適用することができる。   The present invention is widely applied to devices that have a one-side authentication function for authenticating the other party, such as a personal computer, a mobile phone, a reader / writer device, etc., as well as devices that do not have a secure area. be able to. Further, the present invention can be widely applied to devices having a secure area as devices to be authenticated, such as IC cards, IC tags, and the like, which have a function of communicating with devices on the authentication side. it can.

61 認証システム, 71 パーソナルコンピュータ, 72 ICカード, 81 リスト, 91 セキュアエリア, 101 リスト生成装置, 121 セキュアエリア, 141 組み合わせデータ群, 151 認証システム, 161 制御部, 162 乱数発生部, 163 暗号化部, 164 生成部, 165 記憶部, 188 記憶部, 181 CPU, 201 制御部, 202 選択部, 203 送信制御部, 204 受信制御部, 205 認証部, 206 記憶制御部, 207 表示制御部, 208 リスト生成部, 221 乱数発生部, 222 生成部, 241 制御部, 242 記憶部, 243 受信部, 244 復号化部, 245 暗号化部, 246 送信部   61 authentication system, 71 personal computer, 72 IC card, 81 list, 91 secure area, 101 list generation device, 121 secure area, 141 combination data group, 151 authentication system, 161 control unit, 162 random number generation unit, 163 encryption unit , 164 generation unit, 165 storage unit, 188 storage unit, 181 CPU, 201 control unit, 202 selection unit, 203 transmission control unit, 204 reception control unit, 205 authentication unit, 206 storage control unit, 207 display control unit, 208 list Generator, 221 random number generator, 222 generator, 241 controller, 242 storage, 243 receiver, 244 decryptor, 245 encryptor, 246 transmitter

Claims (14)

認証対象のICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムに従って、予め乱数が暗号化され、その結果得られる値をチャレンジとし、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムに従って、予め前記乱数が暗号化され、その結果得られる値をレスポンスとし、前記乱数を変更することで生成されたn通り(nは複数の整数値)の前記チャレンジと前記レスポンスとの組み合わせが格納されたリストを保持する保持手段と、
前記保持手段により保持されたリストの中から、1組の組み合わせを選択する選択手段と、
前記選択手段により選択された前記組み合せに含まれる前記チャレンジを送信する送信制御手段と、
前記ICカードによって、前記送信制御手段から送信された前記チャレンジが受信され、前記共通鍵を用いて前記復号化アルゴリズムに従って復号化され、その結果得られる算出値が、前記共通鍵を用いて前記第2の暗号化アルゴリズムに従って暗号化され、その結果得られる値が前記レスポンスとして送信されてきた場合、前記レスポンスを受信する受信制御手段と、
前記受信制御手段に受信された前記レスポンスと、前記選択手段により選択された前記組み合せに含まれる前記レスポンスとが一致する場合、前記ICカードを認証する認証手段と
を備える情報処理装置。
Using a common key shared with the IC card to be authenticated, according to a first encryption algorithm corresponding to the decryption algorithm possessed by the IC card, a random number is encrypted in advance, and the value obtained as a result is taken as a challenge, Using a common key, the random number is pre-encrypted according to a third encryption algorithm that is the same as the second encryption algorithm of the IC card, and the resulting value is used as a response to change the random number. Holding means for holding a list in which combinations of the challenge and the response in the n ways (where n is a plurality of integer values) generated are stored,
Selecting means for selecting a set of combinations from the list held by the holding means;
Transmission control means for transmitting the challenge included in the combination selected by the selection means;
The challenge transmitted from the transmission control means is received by the IC card, decrypted according to the decryption algorithm using the common key, and a calculated value obtained as a result is obtained using the common key. Receiving control means for receiving the response when the value obtained as a result of the encryption is transmitted as the response.
An information processing apparatus comprising: an authentication unit that authenticates the IC card when the response received by the reception control unit matches the response included in the combination selected by the selection unit.
前記リストに格納されるn通りの前記組み合わせの各々には、1乃至nの何れかの番号が付されており、
前記選択手段により所定の番号以上の前記組み合わせが選択された場合、n番目に近づいてきたことを示す警告をユーザに提示する提示手段
をさらに備える請求項1に記載の情報処理装置。
Each of the n combinations stored in the list is given any number from 1 to n,
The information processing apparatus according to claim 1, further comprising: a presentation unit that presents a warning indicating that the nth approach has been approached to the user when the combination of a predetermined number or more is selected by the selection unit.
前記選択手段によりn通りの組み合わせのうちの最後の組み合わせが選択されるまでの間においては、前記認証手段により前記ICカードが認証された場合に前記情報処理装置のログイン処理を実行し、前記選択手段によりn通りの組み合わせのうちの最後の組み合わせが選択された後においては、前記認証手段による前記ICカードの認証を用いたログイン処理の実行を禁止し、その代わりに、アカウント名とパスワードを用いた認証処理を実行する
請求項2に記載の情報処理装置。
Until the last combination of the n combinations is selected by the selection unit, when the IC card is authenticated by the authentication unit, a login process of the information processing apparatus is executed, and the selection is performed. After the last combination of n combinations is selected by the means, the authentication means prohibits execution of login processing using authentication of the IC card, and instead uses an account name and password. The information processing apparatus according to claim 2, wherein the authentication process is performed.
所定のタイミングで、前記チャレンジと前記レスポンスとの前記組み合わせを生成する処理を実行する組み合わせ生成手段をさらに備え、
前記保持手段により保持される前記リストの少なくとも一部は、前記組み合わせ生成手段により前記組み合わせが生成される毎に更新される
請求項1に記載の情報処理装置。
A combination generation unit that executes a process of generating the combination of the challenge and the response at a predetermined timing;
The information processing apparatus according to claim 1, wherein at least a part of the list held by the holding unit is updated every time the combination is generated by the combination generation unit.
前記組み合わせ生成手段は、前記リストに含まれるn通りの前記組み合わせが前記選択手段によって選択されたとき、新たなn通りの前記組み合わせを生成し、
前記保持手段により保持される前記リストは、前記組み合わせ生成手段により生成された前記新たなn通りの組み合わせが格納された新たなリストに更新される
請求項4に記載の情報処理装置。
The combination generation means generates n new combinations when the n selections included in the list are selected by the selection means,
The information processing apparatus according to claim 4, wherein the list held by the holding unit is updated to a new list in which the new n combinations generated by the combination generation unit are stored.
前記組み合わせ生成手段は、前記認証手段が前記ICカードを認証する毎に、1以上の前記組み合わせを生成し、
前記保持手段により保持される前記リストに、前記組み合わせ生成手段により生成された前記1以上の前記組み合わせが追加されることによって、前記リストが更新される
請求項4に記載の情報処理装置。
The combination generation unit generates one or more combinations each time the authentication unit authenticates the IC card,
The information processing apparatus according to claim 4, wherein the list is updated by adding the one or more combinations generated by the combination generation unit to the list held by the holding unit.
前記選択手段、前記送信制御手段、前記受信制御手段、及び前記認証手段による処理をL回(Lは2以上の整数値)繰り返し、L回の全てについて前記認証手段により前記ICカードが認証された場合、前記ICカードの認証を成功とする
請求項6に記載の情報処理装置。
The processing by the selection means, the transmission control means, the reception control means, and the authentication means is repeated L times (L is an integer value of 2 or more), and the IC card is authenticated by the authentication means for all L times. The information processing apparatus according to claim 6, wherein the authentication of the IC card is successful.
前記保持手段に保持された前記リストには、故意に誤ったレスポンスを含む前記組み合わせが格納されている
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the combination including an intentionally erroneous response is stored in the list held by the holding unit.
前記受信制御手段は、所定のネットワークを介する他の情報処理装置から前記リストが送信されてきた場合、前記リストを受信し、
前記保持手段は、前記受信制御手段により受信された前記リストを保持する
請求項1に記載の情報処理装置。
The reception control means receives the list when the list is transmitted from another information processing apparatus via a predetermined network;
The information processing apparatus according to claim 1, wherein the holding unit holds the list received by the reception control unit.
認証対象のICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムに従って、予め乱数が暗号化され、その結果得られる値をチャレンジとし、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムに従って、予め前記乱数が暗号化され、その結果得られる値をレスポンスとし、前記乱数を変更することで生成されたn通り(nは複数の整数値)の前記チャレンジと前記レスポンスとの組み合わせが格納されたリスト
の中から、1組の組み合わせを選択する選択ステップと、
前記選択ステップの処理により選択された前記組み合せに含まれる前記チャレンジを送信する送信制御ステップと、
前記ICカードによって、前記送信制御ステップの処理により送信された前記チャレンジが受信され、前記共通鍵を用いて前記復号化アルゴリズムに従って復号化され、その結果得られる算出値が、前記共通鍵を用いて前記第2の暗号化アルゴリズムに従って暗号化され、その結果得られる値が前記レスポンスとして送信されてきた場合、前記レスポンスを受信する受信制御ステップと、
前記受信制御ステップの処理により受信された前記レスポンスと、前記選択ステップの処理により選択された前記組み合せに含まれる前記レスポンスとが一致する場合、前記ICカードを認証する認証ステップと
を含む情報処理方法。
Using a common key shared with the IC card to be authenticated, according to a first encryption algorithm corresponding to the decryption algorithm possessed by the IC card, a random number is encrypted in advance, and the value obtained as a result is taken as a challenge, Using a common key, the random number is pre-encrypted according to a third encryption algorithm that is the same as the second encryption algorithm of the IC card, and the resulting value is used as a response to change the random number. A selection step of selecting a set of combinations from a list in which combinations of the challenges and the responses of n types (n is a plurality of integer values) generated by
A transmission control step of transmitting the challenge included in the combination selected by the processing of the selection step;
The challenge transmitted by the process of the transmission control step is received by the IC card, decrypted according to the decryption algorithm using the common key, and a calculated value obtained as a result is obtained using the common key. A reception control step of receiving the response when encrypted according to the second encryption algorithm and the resulting value is transmitted as the response;
An information processing method comprising: an authentication step of authenticating the IC card when the response received by the process of the reception control step matches the response included in the combination selected by the process of the selection step .
認証対象のICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムに従って、予め乱数が暗号化され、その結果得られる値をチャレンジとし、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムに従って、予め前記乱数が暗号化され、その結果得られる値をレスポンスとし、前記乱数を変更することで生成されたn通り(nは複数の整数値)の前記チャレンジと前記レスポンスとの組み合わせが格納されたリスト
の中から、1組の組み合わせを選択し、
選択された前記組み合せに含まれる前記チャレンジを送信し、
前記ICカードによって、送信された前記チャレンジが受信され、前記共通鍵を用いて前記復号化アルゴリズムに従って復号化され、その結果得られる算出値が、前記共通鍵を用いて前記第2の暗号化アルゴリズムに従って暗号化され、その結果得られる値が前記レスポンスとして送信されてきた場合、前記レスポンスを受信し、
受信された前記レスポンスと、選択された前記組み合せに含まれる前記レスポンスとが一致する場合、前記ICカードを認証する
ステップを含む制御処理をコンピュータに実行させるプログラム。
Using a common key shared with the IC card to be authenticated, according to a first encryption algorithm corresponding to the decryption algorithm possessed by the IC card, a random number is encrypted in advance, and the value obtained as a result is taken as a challenge, Using a common key, the random number is pre-encrypted according to a third encryption algorithm that is the same as the second encryption algorithm of the IC card, and the resulting value is used as a response to change the random number. A set of combinations is selected from a list in which combinations of the challenge and the response in the n ways (where n is a plurality of integer values) are stored,
Sending the challenge included in the selected combination;
The challenge transmitted by the IC card is received and decrypted according to the decryption algorithm using the common key, and the resulting calculated value is the second encryption algorithm using the common key. When the value obtained as a result is transmitted as the response, the response is received,
A program for causing a computer to execute a control process including a step of authenticating the IC card when the received response matches the response included in the selected combination.
乱数を発生する乱数発生手段と、
前記乱数発生手段により発生された前記乱数を、ICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムにより暗号化した結果得られる値をチャレンジとして、前記乱数を、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムにより暗号化した結果得られる値をレスポンスとして、前記チャレンジと前記レスポンスとの組み合わせを生成する処理を、前記乱数を変更しながら繰り返す暗号化手段と、
前記暗号化手段により前記組み合わせが生成される毎に、前記組み合わせをリストに追加する処理を繰り返すことによって、前記ICカードを認証する装置に提供する前記リストを生成する生成手段と
を備え、
前記乱数発生手段、前記暗号化手段、及び前記生成手段は、セキュアな環境内に配置されている
情報処理装置。
Random number generating means for generating a random number;
Challenge the value obtained as a result of encrypting the random number generated by the random number generating means using a first encryption algorithm corresponding to the decryption algorithm of the IC card using a common key shared with the IC card. As a response, a value obtained as a result of encrypting the random number using a third encryption algorithm identical to the second encryption algorithm possessed by the IC card using the common key, and the challenge and the response Encryption means for repeating the process of generating a combination with the random number,
Generation means for generating the list to be provided to the device for authenticating the IC card by repeating the process of adding the combination to the list each time the combination is generated by the encryption means; and
The random number generation means, the encryption means, and the generation means are arranged in a secure environment.
乱数を発生する乱数発生ステップと、
前記乱数発生ステップの処理により発生された前記乱数を、ICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムにより暗号化した結果得られる値をチャレンジとして、前記乱数を、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムにより暗号化した結果得られる値をレスポンスとして、前記チャレンジと前記レスポンスとの組み合わせを生成する処理を、前記乱数を変更しながら繰り返す暗号化ステップと、
前記暗号化ステップの処理により前記組み合わせが生成される毎に、前記組み合わせをリストに追加する処理を繰り返すことによって、前記ICカードを認証する装置に提供する前記リストを生成する生成ステップと
を含み、
前記乱数発生ステップ、前記暗号化ステップ、及び前記生成ステップの処理は、セキュアな環境内で実行されている
情報処理方法。
A random number generation step for generating a random number;
A value obtained as a result of encrypting the random number generated by the processing of the random number generation step by using a first encryption algorithm corresponding to a decryption algorithm possessed by the IC card using a common key shared with the IC card As a response, and using the common key as a response, a value obtained as a result of encrypting the random number using a third encryption algorithm identical to the second encryption algorithm of the IC card, An encryption step of repeating the process of generating a combination with the response while changing the random number;
A step of generating the list to be provided to a device for authenticating the IC card by repeating the process of adding the combination to the list each time the combination is generated by the process of the encryption step; and
The random number generation step, the encryption step, and the generation step are performed in a secure environment.
乱数を発生し、
発生された前記乱数を、ICカードと共有する共通鍵を用いて、前記ICカードが有する復号化アルゴリズムに対応する第1の暗号化アルゴリズムにより暗号化した結果得られる値をチャレンジとして、前記乱数を、前記共通鍵を用いて、前記ICカードが有する第2の暗号化アルゴリズムと同一の第3の暗号化アルゴリズムにより暗号化した結果得られる値をレスポンスとして、前記チャレンジと前記レスポンスとの組み合わせを生成する処理を、前記乱数を変更しながら繰り返し、
前記組み合わせが生成される毎に、前記組み合わせをリストに追加する処理を繰り返すことによって、前記ICカードを認証する装置に提供する前記リストを生成する
ステップを含む制御処理をコンピュータに実行させるプログラムであって、
乱数を発生し、暗号化し、及び生成するステップを含む制御処理は、セキュアな環境内で実行される
プログラム。
Generate random numbers,
Using the common key shared with the IC card as a challenge, a value obtained as a result of encrypting the generated random number with a first encryption algorithm corresponding to the decryption algorithm possessed by the IC card. The combination of the challenge and the response is generated by using a value obtained as a result of encryption by the third encryption algorithm same as the second encryption algorithm of the IC card using the common key as a response. To repeat the process of changing the random number,
A program for causing a computer to execute a control process including a step of generating the list to be provided to a device that authenticates the IC card by repeating the process of adding the combination to the list each time the combination is generated. And
A control process including steps for generating, encrypting, and generating a random number is a program executed in a secure environment.
JP2010093031A 2010-04-14 2010-04-14 Information processor and method, and program Withdrawn JP2011223495A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010093031A JP2011223495A (en) 2010-04-14 2010-04-14 Information processor and method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010093031A JP2011223495A (en) 2010-04-14 2010-04-14 Information processor and method, and program

Publications (1)

Publication Number Publication Date
JP2011223495A true JP2011223495A (en) 2011-11-04

Family

ID=45039823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010093031A Withdrawn JP2011223495A (en) 2010-04-14 2010-04-14 Information processor and method, and program

Country Status (1)

Country Link
JP (1) JP2011223495A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015525545A (en) * 2012-06-20 2015-09-03 アルカテル−ルーセント Manipulating and recovering authentication challenge parameters in network authentication procedures
JP2016184899A (en) * 2015-03-26 2016-10-20 大日本印刷株式会社 Authentication device, authenticated device, authentication method, authenticated method, authentication processing program, and authenticated processing program
JP2019186913A (en) * 2018-03-30 2019-10-24 キヤノン株式会社 Authentication method, authentication system, to-be-authenticated device, and authentication device
CN115208587A (en) * 2022-09-15 2022-10-18 三未信安科技股份有限公司 System and method for realizing cryptographic algorithm based on cryptographic module

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015525545A (en) * 2012-06-20 2015-09-03 アルカテル−ルーセント Manipulating and recovering authentication challenge parameters in network authentication procedures
US9537663B2 (en) 2012-06-20 2017-01-03 Alcatel Lucent Manipulation and restoration of authentication challenge parameters in network authentication procedures
JP2017192134A (en) * 2012-06-20 2017-10-19 アルカテル−ルーセント Operation and recovery of authentication challenge parameter in network authentication procedure
JP2016184899A (en) * 2015-03-26 2016-10-20 大日本印刷株式会社 Authentication device, authenticated device, authentication method, authenticated method, authentication processing program, and authenticated processing program
JP2019186913A (en) * 2018-03-30 2019-10-24 キヤノン株式会社 Authentication method, authentication system, to-be-authenticated device, and authentication device
JP7213724B2 (en) 2018-03-30 2023-01-27 キヤノン株式会社 Authentication method, authentication system, authenticated device and authenticating device
CN115208587A (en) * 2022-09-15 2022-10-18 三未信安科技股份有限公司 System and method for realizing cryptographic algorithm based on cryptographic module
CN115208587B (en) * 2022-09-15 2022-12-09 三未信安科技股份有限公司 System and method for realizing cryptographic algorithm based on cryptographic module

Similar Documents

Publication Publication Date Title
US10164959B2 (en) Systems and methods for performing secure financial transactions
US8751829B2 (en) Dispersed secure data storage and retrieval
US8752153B2 (en) Accessing data based on authenticated user, provider and system
US8713661B2 (en) Authentication service
US8555079B2 (en) Token management
US8972719B2 (en) Passcode restoration
US8826019B2 (en) Centralized authentication system with safe private data storage and method
US8656180B2 (en) Token activation
US10460314B2 (en) Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
US8839391B2 (en) Single token authentication
US8850218B2 (en) OTP generation using a camouflaged key
CN104412273B (en) Method and system for activation
JP5959410B2 (en) Payment method, payment server for executing the method, program for executing the method, and system for executing the same
US8924711B2 (en) Hack-deterring system for storing sensitive data records
US20080059797A1 (en) Data Communication System, Agent System Server, Computer Program, and Data Communication Method
CN101860528B (en) Authentication device and authentication method
JP2008269610A (en) Protecting sensitive data intended for remote application
CN200993803Y (en) Internet banking system safety terminal
JP2011223495A (en) Information processor and method, and program
KR101335091B1 (en) Automatic teller machine for generating a master key and method employing the same

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130702