JP2011223495A - Information processor and method, and program - Google Patents
Information processor and method, and program Download PDFInfo
- 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
Links
Images
Abstract
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
従来の認証処理は、耐タンパ性のあるセキュアな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
認証処理は、リーダライタ11とICカード12との間で本来のデータの送受信が行われる前に実行される。例えばユーザがICカード12をリーダライタ11にかざして近接させると、非接触近接通信によりリーダライタ11は、次のようにしてICカード12を認証する。
The authentication process is executed before the original data is transmitted / received between the reader /
すなわち、リーダライタ11とICカード12とは、共有の鍵KA及び鍵KBを、自機のセキュアエリア21,22内にそれぞれ保持している。
That is, the reader /
この場合、リーダライタ11は、セキュアエリア21内で、暗号化アルゴリズムE1に従って、鍵KAを用いて乱数A1を暗号化する。そして、リーダライタ11は、暗号化された乱数A1を、チャレンジCとしてICカード12に送信する。
In this case, the reader /
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
リーダライタ11は、レスポンスRを受信すると、セキュアエリア21内で、暗号化アルゴリズムE2に対応する復号化アルゴリズムD2に従って、鍵KBを用いてレスポンスRを復号化する。これにより、算出値A3が得られる。そこで、リーダライタ11は、算出値A3と乱数A1とを比較して、これらが一致する場合にはICカード12を認証する。
Upon receiving the response R, the reader /
しかしながら、パーソナルコンピュータが、リーダライタ11として機能して、ICカード12を認証する場合、セキュリティの高い認証処理を低コストで実現することは困難であった。すなわち、パーソナルコンピュータが、従来の認証処理に必要な鍵や暗号化アルゴリズムを安全に保持するためには、セキュアチップを実装してセキュアエリアを構築する必要がある。しかしながら、セキュアチップは開発や運用にコストがかかることから、パーソナルコンピュータに、セキュアエリアを設けることは現実的でない。従って、このようなセキュアエリアを有しないパーソナルコンピュータが、従来の認証処理を実行しても、セキュリティを確保することは困難であった。
However, when the personal computer functions as the reader /
[セキュアエリアを有さないパーソナルコンピュータによる認証処理]
図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
ICカード12は、セキュアエリア22を有しているが、パーソナルコンピュータ41は、セキュアエリアを有していない。
The
したがって、パーソナルコンピュータ41が図1と同様の認証処理を実行する場合、認証処理に必要な情報は、ICカード12側ではセキュアエリア22内に保持されるのに対して、パーソナルコンピュータ41側ではセキュアでない環境に保持される。すなわち、ICカード12においては、鍵KA、鍵KB、復号化アルゴリズムD1、および暗号化アルゴリズムE2といった認証処理に必要な情報は、セキュアエリア22内に保持される。しかしながら、パーソナルコンピュータ41においては、鍵KA、鍵KB、暗号化アルゴリズムE1、および復号化アルゴリズムD2といった認証処理に必要な情報は、セキュアでない環境に保持される。
Therefore, when the
なお、以下の図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
以上まとめると、パーソナルコンピュータ41がICカード12を認証することは、ログイン処理等様々な利用可能性があるため、その実現が要求されている。しかしながら、パーソナルコンピュータ41は、コストの観点等からセキュアエリアを有していないため、ICカード12を安全に認証することはできなかった。
In summary, since the
なお、上述した内容は、パーソナルコンピュータ41がICカード72を認証する場合のみならず、セキュアエリアを有していない任意の情報処理装置が任意の他の情報処理装置を認証する場合に同様にあてはまる。
Note that the above description applies not only when the
本発明は、このような状況に鑑みてなされたものであり、セキュアエリアを有しない情報処理装置であっても他の情報処理装置を低コストで安全に認証することを可能にするものである。 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.
[本発明の実施の形態の概要]
はじめに、本発明の理解を容易なものとすべく、図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
なお、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
パーソナルコンピュータ71は、チャンレジCkとレスポンスRkとの組み合わせ(以下、適宜「組み合わせ」と略記する)がn通り格納されているリスト81を保持する。ここで、kは、1乃至nのうちの何れかの整数値であり、nは、組み合わせの総数を示す1以上の任意の整数値である。
The
リスト81の詳細については後述するが、チャレンジCkは、例えば、ICカード72が有する復号化アルゴリズムD11に対応する暗号化アルゴリズムE11に従って、ICカード72が有する鍵KCを用いて、所定の値Akが予め暗号化され、その結果得られた情報である。レスポンスRkは、例えば、ICカード72が有する暗号化アルゴリズムE12に従って、ICカード72が有する鍵KCを用いて、前述の値Akが予め暗号化され、その結果得られた情報である。
Details of the
パーソナルコンピュータ71は、認証処理を開始すると、i番目のチャレンジCi(iは1乃至nのうちの何れかの整数値)をリスト81から選択してICカード72に送信する。
When the
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
パーソナルコンピュータ71は、レスポンスRを受信すると、i番目のレスポンスRiをリスト81から選択し、レスポンスRとレスポンスRiとを比較する。レスポンスRとレスポンスRiとが一致する場合、パーソナルコンピュータ71は、ICカード72を認証する。
When receiving the response R, the
このようにして、パーソナルコンピュータ71がICカード72を認証する片側認証処理(以下、相互認証と区別する必要がない場合、適宜「認証処理」と略記する)が実行される。
In this way, the one-side authentication process in which the
ここで、認証処理の開始時におけるチャレンジ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
ただし、リスト81内の組み合わせの総数nは有限であるため、認証処理が繰り返し実行されると、n回の認証処理でリスト81内の全ての組み合わせが使用されてしまうことになる。従って、リスト81内の全ての組み合わせが使用された場合の措置が必要になる。例えば、n個の組み合わせを新規作成する措置や、同一のn個の組み合わせを再利用する措置等を取ることが可能である。なお、これらの措置の詳細については後述する。
However, since the total number n of combinations in the
ここで、上述した説明では、説明の簡略上、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
このため、特定の鍵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
なお、この場合、特定の鍵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
このように、特定の鍵KC専用のリスト81がたとえ盗難されたとしても、その脅威は、特定の鍵KCとその特定の鍵KC専用のリスト81との対により構成される認証システムに限定される。したがって、他の認証システムや、復号化アルゴリズムD11や暗号化アルゴリズムE12等のアルゴリズムの安全は確保される。
Thus, even if the
[リスト81の生成手法の例]
次に、リスト81の生成手法について説明する。
[Example of generation method of list 81]
Next, a method for generating the
図4は、リスト81の生成手法の一例について説明する図である。
FIG. 4 is a diagram for explaining an example of a method for generating the
リスト生成装置101は、例えばパーソナルコンピュータ71の生成工場等に設置され、鍵とアルゴリズムを安全に保持できるセキュアな環境においてリスト81を生成する。
The
なお、ここでは、リスト生成装置101がセキュアエリア121を有することで、「セキュアな環境」が構築されている。しかしながら、仮にリスト生成装置101がセキュアエリア121を有していなくても、リスト生成装置101を操作する環境全体で鍵とアルゴリズムを安全に保持できるようにセキュアな環境を構成してもよい。
Note that, here, the
リスト生成装置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
リスト生成装置101は、番号jを1ずつインクリメントしていき、乱数AXjを変更しながら、このような一連の処理を繰り返し実行する。一連の処理の繰り返し回数がn回になると、リスト81には、n通りの組み合わせが格納されたリスト81が生成される。
The
なお、リスト81内の組み合わせの総数nは、特に限定されず任意でよい。すなわち、リスト生成装置101に、任意の数nだけの乱数AX1乃至AXnを発生させるだけで、任意の数n通りの組み合わせを容易に生成することができる。なお、以下、乱数AX1乃至AXnを個々に区別する必要がない場合、これらをまとめて乱数AXと称する。
The total number n of combinations in the
また、リスト生成装置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
[リストの生成手法の他の例]
図5は、リスト81の生成手法の他の例ついて説明する図である。
[Other examples of list generation methods]
FIG. 5 is a diagram for explaining another example of the method for generating the
図5に示される例では、リスト81は、ICカード72を用いてパーソナルコンピュータ71内で生成される。
In the example shown in FIG. 5, the
パーソナルコンピュータ71は、乱数AXj(j乃至nの整数値)を順次発生させる。次に、パーソナルコンピュータ71は、発生させた乱数Kjに基づくチャレンジCjをICカード72に送信する。
The
ICカード72は、パーソナルコンピュータ71からのチャレンジCjを受信すると、図3を用いて上述した処理を実行することで、チャレンジCjに対応するレスポンスRをパーソナルコンピュータ71に送信してくる。
When the
そこで、パーソナルコンピュータ71は、当該レスポンスRをレスポンスRjとして受信して、送信したチャレンジCjと受信したレスポンスRjとで1つの組み合わせを生成し、当該組み合わせをリスト81に格納する。
Therefore, the
パーソナルコンピュータ71は、番号jを1ずつインクリメントしていき、乱数AXjを変更しながらこのような一連の処理を繰り返し実行する。一連の処理の繰り返し回数がn回になると、リスト81には、n通りの組み合わせが格納されたリスト81が生成される。
The
なお、リスト81内の組み合わせの総数nは、特に限定されず任意でよい。すなわち、パーソナルコンピュータ71に、任意の数nだけの乱数AX1乃至AXnを発生させるだけで、任意の数n通りの組み合わせを容易に生成することができる。
The total number n of combinations in the
また、パーソナルコンピュータ71は、r枚のICカード72−1乃至72−rの各々を個別に認証する場合、リスト生成装置101と同様に、各々に対応するリスト81−1乃至81−rを個別に生成することができる。
In addition, when the
このように、図5のリスト81の生成手法を適用した場合には、パーソナルコンピュータ71を用いてリスト81が生成可能なことから、ユーザは、リスト81の変更や追加を容易に行うことができる。ただし、パーソナルコンピュータ71はセキュリティエリアを有していないため、ユーザは、自身の責任の下、リスト81の生成時にセキュアな環境を確立しておく必要がある。
As described above, when the method of generating the
[チャレンジとレスポンスの組み合わせ数に応じたセキュリティ強度とコストの関係]
ここで、図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
図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
なお、以下、チャレンジ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
図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
図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
図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
図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
図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
図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
このような図6の表からわかるように、認証システム61の設計者又はパーソナルコンピュータ71のユーザは、セキュリティ強度とコストの関係とのバランスを考えて、リスト81に格納させる組み合わせの総数nを決定するとよい。
As can be seen from the table in FIG. 6, the designer of the
例えば、図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
従って、組み合わせの総数nが2の20乗通りのリスト81を導入する場合について、コスト面から考えると、「16Mバイト」の記憶領域サイズと、「0.042分」のリスト生成時間を確保するためには、それぞれ「0.153円」、「0.7円」が必要であることが分かる。図6の表のその他の行と見比べると明らかなように、組み合わせの総数nを減らす程、その分だけコストを抑制することができる。
Therefore, in the case of introducing the
一方、組み合わせの総数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
以上をまとめると、リスト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
なお、組み合わせの総数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
もっとも、第三者にリスト81が盗難された状態を放置しておくことは望ましくない。そこで、以下、リスト81が、第三者に盗難された場合のセキュリティの復旧について説明する。
However, it is not desirable to leave the
[リスト81が第三者に取得された場合のセキュリティの復旧]
図7は、リスト81が第三者に盗難された場合のセキュリティの復旧について説明する図である。
[Security recovery when
FIG. 7 is a diagram for explaining security recovery when the
上述したように、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
図7に示されるように、パーソナルコンピュータ71が、リスト81として、組み合わせデータ群141の一部から構成されるリスト81Aを保持し、認証処理時に使用しているとする。このリスト81Aが第三者に盗難された場合、パーソナルコンピュータ71は、リスト81を、組み合わせデータ群141の別の一部から構成されるリスト81Bに更新する。
As shown in FIG. 7, it is assumed that the
これにより、第三者が、入手したリスト81Aをもとに偽造ICカード142を作成したとしても、パーソナルコンピュータ71が偽造ICカード142を誤って認証してしまうおそれは無くなる。
Thereby, even if a third party creates the counterfeit IC card 142 based on the obtained
すなわち、偽造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
具体的には、偽造ICカード142は、パーソナルコンピュータ71に近接すると、パーソナルコンピュータ71から送信された、リスト81B内のチャレンジCjを受信することはできる。しかしながら、偽造ICカード142は、リスト81B内のチャレンジCjに対応するレスポンスRjと同一のレスポンスRを送信することができない。
Specifically, when the counterfeit IC card 142 comes close to the
すなわち、偽造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
このように、リスト81が第三者に盗難されてしまった場合でも、パーソナルコンピュータ71がリスト81を更新するだけで、認証システム61を構成するICカード72を変更しなくても、容易にセキュリティを復旧することが可能になる。
As described above, even when the
以上、図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
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
本実施形態では、パーソナルコンピュータ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
リスト生成装置101は、パーソナルコンピュータ71−Qの生成工場等に設置され、鍵やアルゴリズムを安全に保持できるセキュアな環境において、本実施形態では、対になるリスト81−QとICカード72−Qとを生成する。リスト生成装置101によって生成されたリスト81−Qは、安全にパーソナルコンピュータ71−Qに届けられる(例えば記録される)。また、ICカード72−Qは、生成されたリスト81−Qとともに安全に、パーソナルコンピュータ71−Qのユーザに届けられる。
The
リスト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
以下、図8の認証システム151の各構成要素、すなわち、リスト生成装置101、パーソナルコンピュータ71、及びICカード72の各構成について、その順番に順次説明していく。
Hereinafter, each component of the
[リスト生成装置101の機能的構成例を示すブロック図]
最初に、リスト生成装置101の構成について説明する。
[Block diagram showing a functional configuration example of the list generation apparatus 101]
First, the configuration of the
図9は、リスト生成装置101の機能的構成例を示すブロック図である。
FIG. 9 is a block diagram illustrating a functional configuration example of the
図9のリスト生成装置101は、制御部161、乱数発生部162、暗号化部163、生成部164、および記憶部165から構成される。
The
制御部161は、リスト生成装置101の全体の制御を行う。例えば、制御部161は、組み合わせの番号iを管理する。
The
乱数発生部162は、チャレンジCとレスポンスRとの組み合わせを生成するための原情報として、乱数AXを発生させる。ここで、乱数AXとしては、疑似乱数又は、真正乱数を採用することができる。ただし、疑似乱数は、数字的には離散した数字が得られるが、計算式が明らかになると直前の乱数値から次に発生する乱数が算出可能である。したがって、第三者に盗難された場合に安全性を確保することが困難になる。このため、本実施形態では、真正乱数が乱数AXとして採用されている。この場合、乱数発生部162は、リスト生成装置101内の各種情報、例えば、時間情報、バッテリの残量情報、加速度センサ情報、温度センサ情報、メモリ残量、CPU(Central Processing Unit)負荷情報などの複数の情報をパラメータとして、真正乱数である乱数AXを算出する。これにより、外部から推測不可能な乱数AXが生成されるため、たとえ第三者に盗難されても、安全性を確保することができる。
The random
暗号化部163は、暗号化アルゴリズムE11に従って、鍵KCを用いて、乱数発生部162によって発生された乱数AXを暗号化することで、チャレンジCを生成する。また、暗号化部163は、暗号化アルゴリズムE12に従って、鍵KCを用いて、同一の乱数AXを暗号化することによって、レスポンスRを生成する。暗号化部163は、このような一連の処理を乱数AXを変更してn回繰り返すことによって、チャレンジCとレスポンスRとの組み合わせをn通り生成する。
The
生成部164は、リスト81を生成する。すなわち、生成部164は、暗号化部163によってチャレンジCとレスポンスRとの組み合わせが生成される毎に、当該組み合わせをリスト81に追加する処理を繰り返す。このような処理がn回繰り返されると、チャレンジCとレスポンスRとの組み合わせがn個格納されたリスト81が生成される。
The
記憶部165は、リスト81の生成に必要な鍵KC及び暗号化アルゴリズムE11,E12を記憶する。
The
以上、リスト生成装置101の構成について説明した。次に、パーソナルコンピュータ71の構成について説明する。
[パーソナルコンピュータ71のハードウエア構成例を示すブロック図]
図10は、パーソナルコンピュータ71のハードウエア構成例を示すブロック図である。
The configuration of the
[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
図10において、CPU181は、ROM(Read Only Memory)182に記録されているプログラムに従って各種の処理を実行する。または、保持手段としての記憶部188からRAM(Random Access Memory)183にロードされたプログラムに従って各種の処理を実行する。
In FIG. 10, the
RAM183にはまた、CPU181が各種の処理を実行する上において必要なデータなども適宜記憶される。
The
CPU181、ROM182、およびRAM183は、バス184を介して相互に接続されている。このバス184にはまた、入出力インタフェース185も接続されている。
The
入出力インタフェース185には、キーボード、マウスなどよりなる入力部186、ディスプレイなどよりなる提示手段としての出力部187が接続されている。また、ハードディスクなどより構成される記憶部188、および、モデム、ターミナルアダプタなどより構成される通信部189が接続されている。通信部189は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。通信部189はまた、近接したICカード72との間で行う、電磁波を利用した非接触通信を制御する。
The input /
入出力インタフェース185にはまた、必要に応じてドライブ190が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア191が適宜装着される。そして、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部188にインストールされる。
A
[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
図11のCPU181は、認証処理を実行するために、制御部201、選択部202、送信制御部203、受信制御部204、認識部205、記憶制御部206、及び表示制御部207を有している。なお、リスト生成部208は、上述の図5のリストの生成手法を採用する場合、すなわち、パーソナルコンピュータ71内でリスト81の生成が必要な場合に、CPU181に設けられる。
The
本実施形態においては、CPU181は、所定のプログラムを実行することにより、制御部201、選択部202、送信制御部203、受信制御部204、認識部205、記憶制御部206、表示制御部207、およびリスト生成部208の各機能を発揮させることができる。
In the present embodiment, the
制御部201は、選択部202乃至リスト生成部208を適宜制御して、認証処理の全体を制御する。例えば、制御部201は、認証回数iを管理する。
The
選択部202は、認証回数iの認証処理が実行される場合、記憶部188に記憶されているリスト81を参照して、チャレンジCiとレスポンスRiとの組み合わせを選択する。
When the authentication process for the number of times of authentication i is executed, the
送信制御部203は、通信部189を制御して、例えば、選択部202により選択されたチャレンジCiを所定時間間隔毎に送信する。なお、チャレンジCiの送信タイミングは、特にこれに限定されない。チャレンジCiの送信タイミングのその他の例については後述する。
The
受信制御部204は、通信部189を制御して、ICカード72から送信されてきたレスポンスRを受信する。
The
認証部205は、受信制御部204に受信されたレスポンスRと、選択部202によって選択されたレスポンスRiとを比較し、一致する場合には認証成功と判定し、一致しない場合には認証失敗と判定する。すなわち、レスポンスRとレスポンスRiとが一致する場合には、認証部205は、ICカード72を認証する。
The
記憶制御部206は、リスト81の記憶部188への記憶を制御する。すなわち、出荷前にリスト生成装置101によりリスト81が生成された時、又は、パーソナルコンピュータ71内のリスト生成部208によりリスト81が生成又は更新された時、記憶制御部206は動作する。また、記憶制御部206は、認証回数iの記憶部188への記憶を制御する。
The
表示制御部207は、出力部187の表示を制御する。例えば、認証部205によって認証失敗であると判定された場合、表示制御部207は、所定の警告を示す画像を出力部187の表示部に表示させる。
The
組み合わせ生成手段としてのリスト生成部208は、パーソナルコンピュータ71内でリスト81を生成すべく、乱数発生部221、および生成部222を有している。
The
乱数発生部221は、チャレンジCとレスポンスRとの組み合わせを生成するための原情報として、乱数AXiを発生させる。上述したように、本実施形態では、真正乱数が乱数AXとして採用されているとし、乱数発生部221は、外部から推測不可能な乱数AXを生成するようにしている。
The
生成部222は、リスト81を生成する。すなわち、乱数発生部221により乱数AXiが発生する毎に、生成部222は、乱数AXiを用いて、チャレンジCiとレスポンスRiとの組み合わせを生成し、当該組み合わせをリスト81に追加する。このような処理がn回繰り返されると、n通りのチャレンジCとレスポンスRとの組み合わせが格納されたリスト81が生成される。
The
以上、パーソナルコンピュータ71の構成について説明した。次に、ICカード72の構成について説明する。
The configuration of the
[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
図12のICカード72は、制御部241、記憶部242、受信部243、復号化部244、暗号化部245、および送信部246から構成される。これらの機能ブロックは、図示せぬセキュアエリア内に設けられている。
The
制御部241は、ICカード72の全体の制御を行う。
The
保持手段としての記憶部242は、認証処理に必要な情報、すなわち、鍵KC、復号化アルゴリズムD11、及び暗号化アルゴリズムE12を記憶する。
The
受信部243は、パーソナルコンピュータ71から送信されてきたチャレンジCiを受信する。
The receiving
復号化部244は、記憶部242に記憶された復号化アルゴリズムD11に従って、記憶部242に記憶された鍵KCを用いて、受信部243に受信されたチャレンジCiを復号化することによって、算出値Aiを求める。
The
暗号化部245は、記憶部242に記憶された暗号化アルゴリズムE12に従って、記憶部242に記憶された鍵KCを用いて、復号化部244によって求められた算出値Aiを暗号化する。
The
送信部246は、暗号化部245によって暗号化された算出値Aiを、レスポンスRとしてパーソナルコンピュータ71に送信する。なお、ICカード72としては、電子マネー、プリペイドカード、社員証、IDカードなどとして実際に利用されているFeliCa(ソニー株式会社の登録商標)、Mifare(登録商標)等を適用することができる。このカードには既に相互認証のための暗号化アルゴリズムと復号化アルゴリズムが用意されており、専用の鍵KCのみ新たに割り当てを受ければよい。
The
以上、図8の認証システム151の各構成要素、すなわち、リスト生成装置101、パーソナルコンピュータ71、及びICカード72の各構成について、その順番に順次説明した。
Heretofore, each component of the
そこで、以下、図8の認証システム151の各構成要素、すなわち、リスト生成装置101、パーソナルコンピュータ71、及びICカード72の各動作について、その順番に順次説明する。
Therefore, hereinafter, each component of the
すなわち、最初に、図13を参照して、リスト生成装置101が実行するリスト生成処理について説明する。次に、図14と図15を参照して、リスト生成処理により生成されたリスト81を用いた、パーソナルコンピュータ71とICカード72が実行する認証処理について説明する。なお、本実施形態では、パーソナルコンピュータ71がICカード72を認証する片側認証処理であるので、ICカード72が実行する片側認証処理を、片側被認証処理と称する。
That is, first, a list generation process executed by the
[リスト生成処理]
図13は、リスト生成装置101によるリスト生成処理の一例を説明するフローチャートである。
[List generation process]
FIG. 13 is a flowchart for explaining an example of list generation processing by the
ステップS1において、制御部161は、リスト81に格納する組み合わせの番号i=1に設定する。
In step S <b> 1, the
ステップS2において、乱数発生部162は、番号iの乱数AXiを発生させる。
In step S2, the
ステップS3において、暗号化部163は、暗号化アルゴリズムE11に従って、鍵KCを用いて、乱数AXiを暗号化してチャレンジCiを生成する。
In step S3, the
ステップS4において、暗号化部163は、暗号化アルゴリズムE12に従って、鍵KCを用いて、乱数AXiを暗号化してレスポンスRiを生成する。
In step S4, the
ステップS5において、生成部164は、チャレンジCiとレスポンスRiの組み合わせをリスト81に追加する。
In step S <b> 5, the
ステップS6において、制御部161は、処理の終了が指示されたかを判定する。
In step S6, the
処理の終了がまだ指示されていない場合、ステップ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
その後、ステップ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
このように、リスト生成処理では、処理の終了が指示されるまでチャレンジ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
リスト生成処理によって生成されたリスト81は、安全にパーソナルコンピュータ71に届けられる。また、本実施形態では、リスト81が生成される工場等では、リスト81と共に、ICカード72が生成される。このICカード72は、上述したように、セキュアエリア91内に、リスト81の生成に用いられたものと同一の鍵KC、リスト81の生成に用いられた暗号化アルゴリズムE11に対応する復号化アルゴリズムD11、およびリスト81の生成に用いられたものと同一の暗号化アルゴリズムE12を有している。このように対として生成されたリスト81とICカード72とは、それぞれ安全にユーザに届けられる。リスト81は、例えば所定のCD、半導体メモリ等のリムーバブルメディアに記録して提供することもできる。
The
以上、リスト生成処理について説明した。次に、リスト生成処理により生成されたリスト81を用いた認証処理として、パーソナルコンピュータ71がICカード72を認証する片側認証処理について説明する。
The list generation process has been described above. Next, one-side authentication processing in which the
[パーソナルコンピュータ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
ここでは、ICカード72に対する認証回数iは記憶部188に記憶されて管理されているものとする。また、リスト81もリムーバブルメディアから記憶部188に転送、記憶されているものとする。
Here, it is assumed that the authentication count i for the
ステップS21において、制御部201は、認証回数iが記憶部188に記憶されているかを判定する。
In step S <b> 21, the
認証回数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
これに対して、認証回数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
ステップS24において、制御部201は、認証回数iを1だけインクリメントする。
In step S24, the
ステップS25において、制御部201は、認証回数iが、リスト81の組み合わせの総数nよりも大きいかを判定する。
In step S <b> 25, the
認証回数iがリスト81の組み合わせの総数nよりも小さい場合、ステップS25においてNOであると判定され、処理はステップS27に進む。なお、ステップS27以降の処理については後述する。
If the authentication count i is smaller than the total number n of combinations in the
これに対して、認証回数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
ステップ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
ステップS27において、選択部202は、チャレンジCiをリスト81から選択する。
In step S <b> 27, the
ステップS28において、送信制御部203は、通信部189を制御して、ステップS27の処理で選択されたチャレンジCiをICカード72に送信する。
In step S28, the
図15を参照して後述するように、ICカード72は、受信したチャレンジCiに対応するレスポンスRを送信してくる(図15のステップS44)。そこで、ステップS29において、受信制御部204は、ICカード72からのレスポンスRを受信したかを判定する。
As will be described later with reference to FIG. 15, the
レスポンス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
レスポンスRがリスト81から選択されたレスポンスRiと一致する場合、処理はステップS31に進む。
If the response R matches the response Ri selected from the
ステップS31において、認証部205は、ICカード72を認証する。これにより、パーソナルコンピュータ71へのログインが可能になる。
In step S31, the
ステップS32において、記憶制御部206は、記憶部188を制御して認証回数iを記憶する。これによりパーソナルコンピュータの片側認証処理が終了する。
In step S32, the
これに対して、レスポンスRがリスト81から選択されたレスポンスRiと一致しない場合、認証失敗を意味するので、処理はステップS33に進む。
On the other hand, if the response R does not match the response Ri selected from the
ステップS33において、表示制御部207は、認証失敗の警告を示す画像を、出力部187の表示部に表示させる。これにより、処理はステップS32に進む。
In step S <b> 33, the
ステップS32において、記憶制御部206は、記憶部188を制御して認証回数iを記憶する。これによりパーソナルコンピュータの片側認証処理が終了する。
In step S32, the
このようなパーソナルコンピュータの片側認証処理に対して、ICカード72の片側被認証処理は次のようにして実行される。
In contrast to the one-side authentication process of such a personal computer, the one-side authenticated process of the
[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
ステップS41において、受信部243は、パーソナルコンピュータ71からチャレンジCiを受信したかを判定する。このチャレンジCiは、図14のステップS28の処理で送信されたものである。
In step S <b> 41, the receiving
チャレンジ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
その後、チャレンジ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
ステップS43において、暗号化部245は、暗号化アルゴリズムE12に従って、鍵KCを用いて、算出値Aiを暗号化する。
In step S43, the
ステップS44において、送信部246は、暗号化された算出値AiをレスポンスRとしてパーソナルコンピュータ71に送信する。
In step S44, the
これにより、ICカード72の片側被認証処理は終了する。
Thereby, the one-side authentication processing of the
このように、本実施形態においては、認証する側のパーソナルコンピュータ71は、鍵とアルゴリズムを保持することなく、ICカード72を認証する。一方で、リスト生成装置101とICカード72は、セキュアな環境で鍵とアルゴリズムを保持する。これにより、認証側のパーソナルコンピュータ71は、セキュアでない環境でICカード72を認証しても、安全性を確保することができる。
As described above, in the present embodiment, the authenticating
また、パーソナルコンピュータ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
従って、上述したように、ICカード72を、セキュアエリアを有さないパーソナルコンピュータ71へのログイン処理に用いると好適である。その理由は次のとおりである。
Therefore, as described above, it is preferable to use the
まず、パーソナルコンピュータ71はロックされていることから、そもそもパーソナルコンピュータ71にログインできない第三者は、パーソナルコンピュータ71が保持するリスト81を取得することはできない。仮に何らかの手段によって、第三者が、パーソナルコンピュータ71が保持するリスト81を取得したとしても、リスト81を生成した鍵と暗号化アルゴリズムまでは取得することができない。なぜならば、リスト81を生成した鍵と暗号化アルゴリズムは、パーソナルコンピュータ71内には保持されておらず、パーソナルコンピュータ71の生成工場等のセキュアな環境に保持されているからである。
First, since the
また、パーソナルコンピュータ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
また、第三者が、盗難したリスト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
[セキュリティ強度の向上]
以上のように、本発明が適用される認証システムを採用することで、セキュアでない環境で片側認証処理を実行しても、セキュリティ強度は高いものになる。しかしながら、セキュアでない環境である以上、完全なセキュリティを確立することは困難である。そこで、以下、セキュリティ強度のさらなる向上を図ることができる措置について幾つか説明する。
[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
さらに、よりセキュリティ強度を向上せるために、ポーリングに対する返答を示す制御信号に、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
[リスト81の組み合わせが有限であることへの措置]
ところで、リスト81に格納される組み合わせの総数nは有限であるため、リスト81のすべての組み合わせの総数nを最後まで使用した場合には、何かしらの措置が必要になる。このような措置としては、上述した実施形態では、再度、リスト81の先頭の組み合わせから再利用する措置を取っている。
[Measures to limit
By the way, since the total number n of combinations stored in the
しかしながら、当該措置に特に限定されず、その他例えば、現在のリスト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
また、パーソナルコンピュータ71は、新たな組み合わせを適当なタイミングで適宜生成してリスト81に追加し、次回の認証時には、新しい組み合わせが追加されたリスト81を用いる措置を取ってもよい。
Further, the
例えば、パーソナルコンピュータ71は、ICカード72がログインに成功したタイミングで、新たな組み合わせを生成してリスト81に追加することができる。具体的には例えば、パーソナルコンピュータ71は、ICカード72がログインに成功した時に、新たにM通り(Mは任意の整数値)のチャレンジCとレスポンスRとの組み合わせを生成して、リスト81に追加することができる。
For example, the
ここで、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
(チャレンジ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
なお、この場合、パーソナルコンピュータ71は、1つの組み合わせのみを用いて1回の正当性の判断でICカード72を認証するのではなく、任意の複数の組み合わせを用いて複数回正当性を判断して、ICカード72を認証するようにしてもよい。これにより、セキュリティ強度が向上する。
In this case, the
さらに、パーソナルコンピュータは、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
具体的には例えば、
(チャレンジ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
その代わりに、パーソナルコンピュータ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
(Challenge C (2,1), Response R (2,1)), ...
(Challenge C (L, 1), Response R (L, 1))
Can be used to authenticate the
また、次の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
(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
或いはまた、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カード72を認証することが必要である。このためには、例えば、パーソナルコンピュータ71は、組み合わせの生成日時を記録したり、あるいはログイン成功番号を記録する。なお、ログイン成功番号は、ログインが成功する毎に1ずつインクリメントされていくとする。すなわち、ログイン成功番号はログインに成功した回数を表わす。これにより、パーソナルコンピュータ71は、次回認証時に、生成日時やログイン成功番号を利用して組み合わせを選択することで、時間的に離散した組み合わせを確実に選択することができる。
In short, it is necessary to authenticate the
さらに、また、ICカード72の認証に用いた組み合わせは、次回以降の認証には用いないことも必要である。このためには、パーソナルコンピュータ71は、例えば、一度使用した組み合わせをリスト81から削除する。これにより、一度使用した組み合わせが再度使用されてしまうことが防止され、かつ、リスト81の容量が増加するのも防止される。
Furthermore, it is necessary that the combination used for authentication of the
また、リスト81に追加する組み合わせの数は、毎回同じにする必要は特に無く、例えばリスト81の空き容量に応じて自動的に調整してもよい。例えば、ログインに成功しない場合には、ログインに使用された組み合わせはリスト81から削除されるが、新しい組み合わせは生成されない場合があるとする。このような場合には、パーソナルコンピュータ71は、次にログインが成功した時に通常よりも多くの組み合わせを生成して追加することにより、組み合わせが足りなくなることを回避することができる。
Further, the number of combinations to be added to the
以上、リスト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
[抜き打ち認証手法]
ところで、リスト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
そこで、パーソナルコンピュータ71は、別のICカード72からのレスポンスRを受信しないように、新たな組み合わせを生成して追加する最中や直後に、対象のICカード72を認証するようにしてもよい。すなわち、パーソナルコンピュータ71は、リスト81の組み合わせの中からチャレンジCiを選択してICカード72に送信し、レスポンスRを受信する。そして、パーソナルコンピュータ71は、受信したレスポンスRがチャレンジCiに対応するレスポンスRiである場合に、ICカード72を認証する。このようなICカード72を認証する手法は、いわば、抜き打ちでICカード72を認証する手法であるといえる。そこで、このような手法を、以下、「抜き打ち認証手法」と称する。
Therefore, the
抜き打ち認証手法において、パーソナルコンピュータ71は、受信したレスポンスRが、送信したチャレンジCiと対になるレスポンスRiとは異なる場合、認証失敗と判断する。パーソナルコンピュータ71は、認証失敗と判断した場合には、例えば、直前のログイン後に新たに生成してリスト81に追加した組み合わせの全てを破棄することができる。これにより、不適切な組み合わせを完全に除去できるので、セキュリティ強度が向上する。
In the unauthenticated authentication method, the
さらに、パーソナルコンピュータ71は、認証失敗を示す警告をユーザに提示することができる。これにより、ユーザは、パーソナルコンピュータ71が第三者から攻撃を受けたことを認識できるようになる。
Furthermore, the
このように認証失敗に対する措置も取った上で、抜き打ち認証手法を採用することで、パーソナルコンピュータ71は、ICカード72によるログイン操作時だけではなく、任意のタイミングで、新たな組み合わせを生成してリスト81に追加することが可能になる。
In this way, after taking measures against authentication failure, the
なお、抜き打ち認証手法による認証処理の頻度を多くすると、リスト81内の組み合わせを全て使い切ってしまうおそれもある。そこで、このようなおそれを回避するために、抜き打ち認証手法による認証処理の際には、専用の組み合わせを用い、一度使用しても削除しないようにすることができる。すなわち、パーソナルコンピュータ71は、ICカード72を認証する場合、まずは専用の組み合わせを用いたいわゆる抜き打ち認証処理を実行し、認証に成功した場合にのみ、再度、リスト81を用いて正式な認証処理を実行する。
Note that if the frequency of authentication processing by the unauthenticated authentication method is increased, all combinations in the
或いはまた、上述したように、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
[リスト81が第三者に盗難されたことが分かる仕組み]
さらにセキュリティ強度を向上させるために、リスト81が第三者に盗難された場合には、その旨の警告をユーザに提示すると好適である。しかしながら、このような警告を提示するためには、パーソナルコンピュータ71は、リスト81が第三者に盗難されたことを認識する必要がある。そこで、以下、リスト81が第三者に盗難されたことをパーソナルコンピュータ71が認識できる手法の例について説明する。
[Mechanism to understand that
In order to further improve the security strength, when the
すなわち、当該手法では、パーソナルコンピュータ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
ここで、仮に第三者がリスト81を盗難していた場合、第三者は、盗難したリスト81に基づいてレスポンスRを送信してくることになる。このような場合には、パーソナルコンピュータ71は、罠どおりのレスポンスRが送信されてきた時点で、リスト81が盗難されたことを認識することができる。パーソナルコンピュータ71は、リスト81が盗難されたことを認識すると、例えば、リスト81が外部に流出したことを示す警告を提示して、ICカード72による認証を無効にして、他の手段によるログインに切り替えるようにすることができる。このようにして、セキュリティ強度がより一段と向上される。
Here, if a third party has stolen the
[認証システム151のビジネスへの利用]
ところで、以上説明してきた認証システム151は、様々な分野、様々なビジネスに適用することができる。
[Use of
By the way, the
この場合、何れの分野でも、どのようなビジネスでも、パーソナルコンピュータ71がリスト81を保持し、かつ、ICカード72が、セキュアエリア内に、リスト81と対になる鍵やアルゴリズムを保持する必要がある。
In this case, in any field and any business, the
リスト81は、パーソナルコンピュータ71の生成工場等でパーソナルコンピュータ71の出荷前に組み込まれて販売される場合と、後から販売される場合とが想定される。
It is assumed that the
後から販売される場合とは、例えば、パーソナルコンピュータ71のユーザが、リスト81が第三者に盗難された可能性があるので新しいリスト81に変更することを要求してきた場合が想定される。また例えば、パーソナルコンピュータ71のユーザが、リスト81の組み合わせを最後まで使い切ったが、もう一度同じリスト81を使いたくないために、新しいリスト81を要求してきた場合もまた、後から販売される場合に該当すると想定される。
For example, a case where the user of the
後から販売される場合には、リスト81はその組み合わせ数に応じて価格を変動させるようにすることができる。
When the
このように、出荷前だけではなく後からリスト81を販売できるようにすることで、売り切りの商売にのみリスト81が利用されることを回避することができる。
In this way, by allowing the
また例えば、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カードは、複数のログイン用の鍵とアルゴリズムのセットを組み込むことで、ICカード72として機能する。セットの鍵はインターネット上からでも変更できるようにしてもよい。この場合、ICカードのユーザは、ICカード72として機能させるためにセットを購入した際に、インターネットを利用して鍵を変更する。これにより、それ以降は、当該ユーザが使用したアカウントのみからリスト81を購入できるようにするビジネスを提供できる。
For example, various IC cards as login application-compatible cards function as an
また、インターネットを利用して鍵の変更やリスト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
以上、説明したように、本実施形態の認証システム151においては、セキュアでない環境にあるパーソナルコンピュータ71が、ICカード72を認証する、といった片側認証処理を実行することができる。
As described above, in the
[本発明のプログラムへの適用]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
[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
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 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)
前記保持手段により保持されたリストの中から、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に記載の情報処理装置。 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.
請求項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通りの組み合わせが格納された新たなリストに更新される
請求項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.
前記保持手段により保持される前記リストに、前記組み合わせ生成手段により生成された前記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.
請求項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.
の中から、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 .
の中から、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.
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)
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 |
-
2010
- 2010-04-14 JP JP2010093031A patent/JP2011223495A/en not_active Withdrawn
Cited By (8)
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 |