JP5478364B2 - Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method - Google Patents

Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method Download PDF

Info

Publication number
JP5478364B2
JP5478364B2 JP2010123425A JP2010123425A JP5478364B2 JP 5478364 B2 JP5478364 B2 JP 5478364B2 JP 2010123425 A JP2010123425 A JP 2010123425A JP 2010123425 A JP2010123425 A JP 2010123425A JP 5478364 B2 JP5478364 B2 JP 5478364B2
Authority
JP
Japan
Prior art keywords
card
authentication
unit
terminal
user authentication
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.)
Expired - Fee Related
Application number
JP2010123425A
Other languages
Japanese (ja)
Other versions
JP2011248778A (en
Inventor
信博 小林
健 米田
陽一 柴田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010123425A priority Critical patent/JP5478364B2/en
Publication of JP2011248778A publication Critical patent/JP2011248778A/en
Application granted granted Critical
Publication of JP5478364B2 publication Critical patent/JP5478364B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、ICカードがPIN情報などの利用者認証データを用いて利用者を認証する認証システムに関する。   The present invention relates to an authentication system in which an IC card authenticates a user using user authentication data such as PIN information.

ICカードの所有者だけが知っている利用者認証情報をICカードが記憶しておき、利用者が入力した利用者認証情報を、ICカードに対して送信して、ICカードのなかで利用者がICカードの所有者であるか否かを認証する認証システムがある。   The user authentication information known only to the owner of the IC card is stored in the IC card, and the user authentication information entered by the user is transmitted to the IC card. There is an authentication system that authenticates whether or not the user is the owner of the IC card.

特開2009−111594号公報JP 2009-111594 A

W.Diffie、M.E.Hellman「New Directions in Cryptography」IEEE Transactions on Information Theory、vol.IT−22,No.6、644〜654ページ、1976年11月。W. Diffie, M.M. E. Hellman “New Directions in Cryptography”, IEEE Transactions on Information Theory, vol. IT-22, no. 6, pages 644-654, November 1976. RFC2631「Diffie−Hellman Key Agreement Method」1999年6月。RFC 2631 “Diffie-Hellman Key Agricultural Method”, June 1999.

このような認証システムでは、利用者認証情報の漏洩を防ぐ必要がある。このような認証システムから利用者認証情報が盗み出す手口としては、ICカードに対する総当たり攻撃やなりすまし攻撃、ICカードとの通信を盗聴して解析する攻撃、ICカードを偽物とすり替えて偽物のICカードが利用者認証情報を受信するすり替え攻撃などがある。
この発明は、例えば上記のような課題を解決するためになされたものであり、利用者認証情報の漏洩を防ぐことを目的とする。
In such an authentication system, it is necessary to prevent leakage of user authentication information. The methods for stealing user authentication information from such an authentication system include brute force attacks and spoofing attacks on IC cards, attacks that eavesdrop and analyze communications with IC cards, and fake IC cards by replacing IC cards with counterfeits. There is a substitution attack that receives user authentication information.
The present invention has been made, for example, in order to solve the above-described problems, and an object thereof is to prevent leakage of user authentication information.

この発明にかかる認証システムは、端末装置と、アイシーカードとを有する認証システムにおいて、
上記端末装置は、
利用者の操作を入力する操作入力装置と、
データを処理する端末処理装置と、
上記アイシーカードと通信する端末通信装置と、
上記操作入力装置を用いて、上記利用者を認証する利用者認証データを入力する利用者認証入力部と、
上記端末通信装置を用いて、上記アイシーカードが送信したカード認証データを受信するカード認証受信部と、
上記端末処理装置を用いて、上記アイシーカードと共有する共有鍵を生成する端末共有鍵生成部と、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証するカード認証部と、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成する利用者認証生成部と、
上記端末処理装置を用いて、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成する利用者認証暗号化部と、
上記端末通信装置を用いて、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信する暗号化認証送信部とを有し、
上記アイシーカードは、
データを記憶するカード記憶装置と、
データを処理するカード処理装置と、
上記端末装置と通信するカード通信装置と、
上記カード記憶装置を用いて、利用者を認証する利用者認証データを記憶する利用者認証記憶部と、
上記カード処理装置を用いて、上記端末装置と共有する共有鍵を生成するカード共有鍵生成部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成するカード認証生成部と、
上記カード通信装置を用いて、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信するカード認証送信部と、
上記カード通信装置を用いて、上記端末装置が送信した暗号化認証コマンドを受信する暗号化認証受信部と、
上記カード処理装置を用いて、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成する利用者認証復号部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証する利用者認証部とを有することを特徴とする。
An authentication system according to the present invention is an authentication system having a terminal device and an IC card,
The terminal device is
An operation input device for inputting a user's operation;
A terminal processing device for processing data;
A terminal communication device for communicating with the IC card;
A user authentication input unit for inputting user authentication data for authenticating the user using the operation input device;
Using the terminal communication device, a card authentication receiving unit that receives card authentication data transmitted by the IC card,
Using the terminal processing device, a terminal shared key generation unit that generates a shared key shared with the IC card,
Based on the user authentication data input by the user authentication input unit, the shared key generated by the terminal shared key generation unit, and the card authentication data received by the card authentication reception unit using the terminal processing device. A card authentication unit for authenticating the above IC card,
When the card authentication unit succeeds in authenticating the icy card, the user is authenticated with respect to the icy card based on the user authentication data input by the user authentication input unit using the terminal processing device. A user authentication generation unit for generating a user authentication command for requesting authentication of
A user authentication cipher that generates an encrypted authentication command by encrypting the user authentication command generated by the user authentication generation unit with the shared key generated by the terminal shared key generation unit using the terminal processing device. And
An encryption authentication transmission unit that transmits the encrypted authentication command generated by the user authentication encryption unit to the IC card using the terminal communication device;
The above Icy card
A card storage device for storing data;
A card processing device for processing data;
A card communication device for communicating with the terminal device;
A user authentication storage unit for storing user authentication data for authenticating a user using the card storage device;
Using the card processing device, a card shared key generating unit that generates a shared key shared with the terminal device;
A card authentication generation unit that generates card authentication data based on the user authentication data stored in the user authentication storage unit and the shared key generated by the card shared key generation unit using the card processing device; ,
A card authentication transmission unit that transmits the card authentication data generated by the card authentication generation unit to the terminal device using the card communication device;
Using the card communication device, an encryption authentication receiving unit that receives an encryption authentication command transmitted by the terminal device;
User authentication decryption using the card processing device to decrypt the encrypted authentication command received by the encrypted authentication reception unit with the shared key generated by the card shared key generation unit and generate a user authentication command And
A user authentication unit that authenticates a user based on the user authentication data stored in the user authentication storage unit and the user authentication command generated by the user authentication decryption unit using the card processing device. It is characterized by having.

利用者認証暗号化部が暗号化した暗号化利用者認証コマンドをICカードに対して送信するので、端末装置とICカードとの間の通信を第三者が傍受して暗号化利用者認証コマンドを入手したとしても、そこから利用者認証データを入手することはできない。
端末共有鍵生成部とカード共有鍵生成部とが、端末装置とICカードとで共有する共有鍵Kを生成するので、利用者認証暗号化部が暗号化した暗号化利用者認証コマンドを、利用者認証復号部が正しく復号できる。
暗号化利用者認証コマンドを送信する前に、ICカードを認証して、偽物でないかを判定するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。
ICカードの認証に用いるカード認証データは、利用者認証記憶部が記憶した利用者認証データと、カード共有鍵生成部が共有した共有鍵とに基づいて生成する。これにより、利用者認証記憶部が記憶した利用者認証データと、利用者認証入力部が入力した利用者認証データとが一致するか否かを検証できる。また、端末装置とICカードとの間の通信を第三者が傍受してカード認証データを入手したとしても、共通鍵Kを知らなければ、そこから利用者識別データを入手することはできない。
Since the encrypted user authentication command encrypted by the user authentication encryption unit is transmitted to the IC card, the communication between the terminal device and the IC card is intercepted by a third party and the encrypted user authentication command However, user authentication data cannot be obtained from it.
Since the terminal shared key generation unit and the card shared key generation unit generate the shared key K shared between the terminal device and the IC card, the encrypted user authentication command encrypted by the user authentication encryption unit is used. The person authentication decryption unit can decrypt correctly.
Before transmitting the encrypted user authentication command, the IC card is authenticated to determine whether it is a fake, so that it is possible to prevent user authentication data from leaking through the fake IC card.
Card authentication data used for IC card authentication is generated based on the user authentication data stored in the user authentication storage unit and the shared key shared by the card shared key generation unit. Thereby, it is possible to verify whether or not the user authentication data stored in the user authentication storage unit matches the user authentication data input by the user authentication input unit. Even if a third party intercepts communication between the terminal device and the IC card and obtains the card authentication data, the user identification data cannot be obtained without knowing the common key K.

実施の形態1における認証システム800の全体構成の一例を示すシステム構成図。1 is a system configuration diagram illustrating an example of an overall configuration of an authentication system 800 according to Embodiment 1. FIG. 実施の形態1における端末側鍵共有部102及びカード側鍵共有部202の構成の一例を示す詳細ブロック図。FIG. 3 is a detailed block diagram illustrating an example of a configuration of a terminal-side key sharing unit and a card-side key sharing unit 202 in the first embodiment. 実施の形態1におけるカード検証部106及びカード認証情報生成部206の構成の一例を示す詳細ブロック図。FIG. 3 is a detailed block diagram illustrating an example of a configuration of a card verification unit 106 and a card authentication information generation unit 206 in the first embodiment. 実施の形態2における認証システム800の全体構成の一例を示すシステム構成図。FIG. 6 is a system configuration diagram showing an example of the overall configuration of an authentication system 800 in the second embodiment. 実施の形態2における端末認証情報生成部113及び端末検証部214の構成の一例を示す詳細ブロック図。FIG. 4 is a detailed block diagram illustrating an example of a configuration of a terminal authentication information generation unit 113 and a terminal verification unit 214 in the second embodiment. 実施の形態3における認証システム800のハードウェア構成の一例を示すハードウェア構成図。FIG. 10 is a hardware configuration diagram illustrating an example of a hardware configuration of an authentication system 800 according to Embodiment 3. 実施の形態3における端末装置100及びICカード200の機能ブロックの構成の一例を示すブロック構成図。FIG. 10 is a block configuration diagram illustrating an example of functional block configurations of a terminal device 100 and an IC card 200 according to a third embodiment. 実施の形態3における認証処理S400の流れの一例を示す全体フローチャート図。FIG. 10 is an overall flowchart showing an example of the flow of authentication processing S400 in the third embodiment. 実施の形態3における認証処理S400の一部の詳細な流れの一例を示す詳細フローチャート図。FIG. 14 is a detailed flowchart showing an example of a part of the detailed flow of authentication processing S400 in the third embodiment. 実施の形態3における利用者認証処理S460の詳細な流れの一例を示す詳細フローチャート図。FIG. 14 is a detailed flowchart showing an example of a detailed flow of user authentication processing S460 in the third embodiment.

実施の形態1.
実施の形態1について、図1〜図3を用いて説明する。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS.

図1は、この実施の形態における認証システム800の全体構成の一例を示すシステム構成図である。
認証システム800は、ユーザ801と、端末装置100と、カード読取書込装置(カードR/W)810と、ICカード200とを有する。端末装置100は、ユーザ801が利用する。カードR/W810は、端末装置100と、ICカード200との間の通信を仲介する。ICカード200は、ユーザ801が所有する。
FIG. 1 is a system configuration diagram showing an example of the overall configuration of an authentication system 800 in this embodiment.
The authentication system 800 includes a user 801, a terminal device 100, a card reading / writing device (card R / W) 810, and an IC card 200. The terminal device 100 is used by the user 801. Card R / W 810 mediates communication between terminal device 100 and IC card 200. The IC card 200 is owned by the user 801.

ユーザ801(利用者)は、ICカード200の所有者である。ユーザ801は、PIN情報711を記憶している。PIN情報711は、ユーザ801を認証するための情報である。PIN情報711は、例えば暗証番号やパスワードである。   A user 801 (user) is an owner of the IC card 200. The user 801 stores PIN information 711. The PIN information 711 is information for authenticating the user 801. The PIN information 711 is, for example, a password or a password.

端末装置100(端末)は、端末側通信部110、PIN情報入力部101、端末側鍵共有部102、カード検証部106、verifyPINコマンド化部111、暗号化部112を有する。
端末側通信部110は、カードR/W810を介してICカード200と通信する。端末側通信部110は、端末鍵要素722や暗号済verifyPINコマンド742などをカードR/W810へ送付する。端末側通信部110は、メッセージ730などをカードR/W810から受け取る。メッセージ730は、カード鍵要素724と、カード認証情報732とを含む。
端末側鍵共有部102は、端末鍵要素722を生成する。端末側鍵共有部102は、端末鍵要素722を端末側通信部110に送付する。端末側鍵共有部102は、カード鍵要素724を端末側通信部110から受け取る。端末側鍵共有部102は、端末鍵要素722と、カード鍵要素724とから共有鍵725を生成する。
PIN情報入力部101は、PIN情報711をユーザ801から受け取る。
カード検証部106は、カード認証情報732を端末側通信部110から受け取る。カード検証部106は、PIN情報711をPIN情報入力部101から受け取る。カード検証部106は、共有鍵725を端末側鍵共有部102から受け取る。カード検証部106は、PIN情報711と、共有鍵725とを用いて、カード認証情報732を検証する。カード検証部106は、カード検証結果735を生成する。
verifyPINコマンド化部111は、カード検証結果735をカード検証部106から受け取る。verifyPINコマンド化部111は、PIN情報711をPIN情報入力部101から受け取る。verifyPINコマンド化部111は、verifyPINコマンド741を生成する。verifyPINコマンド741は、APDU(Application Protocol Data Unit)の一つである。
暗号化部112は、verifyPINコマンド741をverifyPINコマンド化部111から受け取る。暗号化部112は、共有鍵725を端末側鍵共有部102から受け取る。暗号化部112は、暗号済verifyPINコマンド742を生成する。暗号化部112は、暗号済verifyPINコマンド742を端末側通信部110に送付する。
The terminal device 100 (terminal) includes a terminal side communication unit 110, a PIN information input unit 101, a terminal side key sharing unit 102, a card verification unit 106, a verify PIN command conversion unit 111, and an encryption unit 112.
The terminal-side communication unit 110 communicates with the IC card 200 via the card R / W 810. The terminal side communication unit 110 sends the terminal key element 722, the encrypted verify PIN command 742, and the like to the card R / W 810. The terminal side communication unit 110 receives a message 730 and the like from the card R / W 810. Message 730 includes a card key element 724 and card authentication information 732.
The terminal-side key sharing unit 102 generates a terminal key element 722. The terminal side key sharing unit 102 sends the terminal key element 722 to the terminal side communication unit 110. The terminal side key sharing unit 102 receives the card key element 724 from the terminal side communication unit 110. The terminal-side key sharing unit 102 generates a shared key 725 from the terminal key element 722 and the card key element 724.
The PIN information input unit 101 receives PIN information 711 from the user 801.
The card verification unit 106 receives the card authentication information 732 from the terminal side communication unit 110. The card verification unit 106 receives the PIN information 711 from the PIN information input unit 101. The card verification unit 106 receives the shared key 725 from the terminal side key sharing unit 102. The card verification unit 106 verifies the card authentication information 732 using the PIN information 711 and the shared key 725. The card verification unit 106 generates a card verification result 735.
The verify PIN command conversion unit 111 receives the card verification result 735 from the card verification unit 106. The verify PIN command conversion unit 111 receives the PIN information 711 from the PIN information input unit 101. The verify PIN command converting unit 111 generates a verify PIN command 741. The verify PIN command 741 is one of APDU (Application Protocol Data Unit).
The encryption unit 112 receives the verify PIN command 741 from the verify PIN command conversion unit 111. The encryption unit 112 receives the shared key 725 from the terminal side key sharing unit 102. The encryption unit 112 generates an encrypted verifyPIN command 742. The encryption unit 112 sends the encrypted verify PIN command 742 to the terminal side communication unit 110.

ICカード200は、カード側通信部210、PIN情報記憶部201、カード側鍵共有部202、カード認証情報生成部206、復号部211、ICカード処理部212を有する。
カード側通信部210は、カードR/W810を介して端末装置100と通信する。カード側通信部210は、端末鍵要素722や暗号済verifyPINコマンド742などをカードR/W810から受け取る。カード側通信部210は、メッセージ730などをカードR/W810へ送付する。メッセージ730は、カード鍵要素724と、カード認証情報732とを含む。
カード側鍵共有部202は、端末鍵要素722をカード側通信部210から受け取る。カード側鍵共有部202は、カード鍵要素724を生成する。カード側鍵共有部202は、カード鍵要素724をカード側通信部210に送付する。カード側鍵共有部202は、端末鍵要素722とカード鍵要素724とから共有鍵726を生成する。
PIN情報記憶部201は、あらかじめ設定されたPIN情報712を格納する。
カード認証情報生成部206は、PIN情報712をPIN情報記憶部201から受け取る。カード認証情報生成部206は、共有鍵726をカード側鍵共有部202から受け取る。カード認証情報生成部206は、PIN情報712と共有鍵726とを用いてカード認証情報732を生成する。カード認証情報生成部206は、カード認証情報732をカード側通信部210に送付する。
復号部211は、暗号済verifyPINコマンド742をカード側通信部210から受け取る。復号部211は、共有鍵726をカード側鍵共有部202から受け取る。復号部211は、verifyPINコマンド743を生成する。
ICカード処理部212は、verifyPINコマンド743を復号部211から受け取る。
ICカード処理部212は、所定のICカード処理を実行する。
The IC card 200 includes a card side communication unit 210, a PIN information storage unit 201, a card side key sharing unit 202, a card authentication information generation unit 206, a decryption unit 211, and an IC card processing unit 212.
The card-side communication unit 210 communicates with the terminal device 100 via the card R / W 810. The card side communication unit 210 receives the terminal key element 722, the encrypted verify PIN command 742, and the like from the card R / W 810. The card side communication unit 210 sends a message 730 and the like to the card R / W 810. Message 730 includes a card key element 724 and card authentication information 732.
The card side key sharing unit 202 receives the terminal key element 722 from the card side communication unit 210. The card side key sharing unit 202 generates a card key element 724. The card side key sharing unit 202 sends the card key element 724 to the card side communication unit 210. The card side key sharing unit 202 generates a shared key 726 from the terminal key element 722 and the card key element 724.
The PIN information storage unit 201 stores preset PIN information 712.
The card authentication information generation unit 206 receives the PIN information 712 from the PIN information storage unit 201. The card authentication information generation unit 206 receives the shared key 726 from the card side key sharing unit 202. The card authentication information generation unit 206 generates card authentication information 732 using the PIN information 712 and the shared key 726. The card authentication information generation unit 206 sends the card authentication information 732 to the card side communication unit 210.
The decryption unit 211 receives the encrypted verify PIN command 742 from the card side communication unit 210. The decryption unit 211 receives the shared key 726 from the card side key sharing unit 202. The decryption unit 211 generates a verify PIN command 743.
The IC card processing unit 212 receives the verify PIN command 743 from the decryption unit 211.
The IC card processing unit 212 executes predetermined IC card processing.

次に動作について説明する。
ユーザ801は、PIN情報711を記憶している。また、ICカード200は、あらかじめ何らかの安全な方法により、PIN情報712をPIN情報記憶部201に記憶しておく。PIN情報記憶部201が記憶しておくPIN情報712は、ユーザ801が記憶しているPIN情報711と同一である。
Next, the operation will be described.
The user 801 stores PIN information 711. In addition, the IC card 200 stores the PIN information 712 in the PIN information storage unit 201 in advance by some safe method. The PIN information 712 stored in the PIN information storage unit 201 is the same as the PIN information 711 stored in the user 801.

引き続き、実際にICカード200と端末装置100との間で認証を行う際の動作について説明する。
ユーザ801は、PIN情報711を端末装置100のPIN情報入力部101により入力する。
Next, an operation when authentication is actually performed between the IC card 200 and the terminal device 100 will be described.
The user 801 inputs the PIN information 711 through the PIN information input unit 101 of the terminal device 100.

次に、端末装置100が処理を行う。
端末側鍵共有部102は、端末鍵要素722を生成する。端末側鍵共有部102は、端末鍵要素722を端末側通信部110に送付する。端末側通信部110は、端末鍵要素722をカードR/W810へ送付する。カードR/W810は、端末鍵要素722をカード側通信部210に送付する。
Next, the terminal device 100 performs processing.
The terminal-side key sharing unit 102 generates a terminal key element 722. The terminal side key sharing unit 102 sends the terminal key element 722 to the terminal side communication unit 110. The terminal-side communication unit 110 sends the terminal key element 722 to the card R / W 810. The card R / W 810 sends the terminal key element 722 to the card side communication unit 210.

次に、ICカード200が処理を行う。
カード側通信部210は、端末鍵要素722をカードR/W810から受け取る。カード側鍵共有部202は、端末鍵要素722をカード側通信部210から受け取る。カード側鍵共有部202は、カード鍵要素724を生成する。カード側鍵共有部202は、端末鍵要素722とカード鍵要素724とから共有鍵726を生成する。
PIN情報記憶部201は、あらかじめ設定され格納しているPIN情報712を取り出す。カード認証情報生成部206は、PIN情報712をPIN情報記憶部201から受け取る。カード認証情報生成部206は、共有鍵726をカード側鍵共有部202から受け取る。カード認証情報生成部206は、PIN情報712と共有鍵726とを用いて、カード認証情報732を生成する。カード認証情報生成部206は、カード認証情報732をカード側通信部210に送付する。
カード側通信部210は、カード鍵要素724をカード側鍵共有部202から受け取る。カード側通信部210は、カード認証情報732をカード認証情報生成部206から受け取る。カード側通信部210は、カード鍵要素724とカード認証情報732とを合わせてメッセージ730とする。カード側通信部210は、メッセージ730をカードR/W810へ送付する。カードR/W810は、メッセージ730を端末側通信部110に送付する。
Next, the IC card 200 performs processing.
The card side communication unit 210 receives the terminal key element 722 from the card R / W 810. The card side key sharing unit 202 receives the terminal key element 722 from the card side communication unit 210. The card side key sharing unit 202 generates a card key element 724. The card side key sharing unit 202 generates a shared key 726 from the terminal key element 722 and the card key element 724.
The PIN information storage unit 201 retrieves PIN information 712 that is set and stored in advance. The card authentication information generation unit 206 receives the PIN information 712 from the PIN information storage unit 201. The card authentication information generation unit 206 receives the shared key 726 from the card side key sharing unit 202. The card authentication information generation unit 206 generates card authentication information 732 using the PIN information 712 and the shared key 726. The card authentication information generation unit 206 sends the card authentication information 732 to the card side communication unit 210.
The card side communication unit 210 receives the card key element 724 from the card side key sharing unit 202. The card side communication unit 210 receives the card authentication information 732 from the card authentication information generation unit 206. The card side communication unit 210 combines the card key element 724 and the card authentication information 732 into a message 730. Card side communication unit 210 sends message 730 to card R / W 810. Card R / W 810 sends message 730 to terminal side communication unit 110.

次に、端末装置100が処理を行う。
端末側鍵共有部102は、カード鍵要素724を端末側通信部110から受け取る。端末側鍵共有部102は、端末鍵要素722とカード鍵要素724とから共有鍵725を生成する。
カード検証部106は、カード認証情報732を端末側通信部110から受け取る。カード検証部106は、PIN情報711をPIN情報入力部101から受け取る。カード検証部106は、共有鍵725を端末側鍵共有部102から受け取る。カード検証部106は、PIN情報711と共有鍵725とを用いて、カード認証情報732を検証する。カード検証部106は、カード検証結果735を生成する。
verifyPINコマンド化部111は、カード検証結果735をカード検証部106から受け取る。カード検証結果が正しくない場合、verifyPINコマンド化部111は、エラーにより処理を中断する。
カード検証結果が正しい場合、verifyPINコマンド化部111は、PIN情報711をPIN情報入力部101から受け取る。verifyPINコマンド化部111は、APDUのverifyPINコマンド741を生成する。
暗号化部112は、verifyPINコマンド741をverifyPINコマンド化部111から受け取る。暗号化部112は、共有鍵725を端末側鍵共有部102から受け取る。暗号化部112は、暗号処理をして、暗号済verifyPINコマンド742を生成する。暗号化部112は、暗号済verifyPINコマンド742を端末側通信部110に送付する。
端末側通信部110は、暗号済verifyPINコマンド742をカードR/W810へ送付する。カードR/W810は、暗号済verifyPINコマンド742をカード側通信部210に送付する。
Next, the terminal device 100 performs processing.
The terminal side key sharing unit 102 receives the card key element 724 from the terminal side communication unit 110. The terminal-side key sharing unit 102 generates a shared key 725 from the terminal key element 722 and the card key element 724.
The card verification unit 106 receives the card authentication information 732 from the terminal side communication unit 110. The card verification unit 106 receives the PIN information 711 from the PIN information input unit 101. The card verification unit 106 receives the shared key 725 from the terminal side key sharing unit 102. The card verification unit 106 verifies the card authentication information 732 using the PIN information 711 and the shared key 725. The card verification unit 106 generates a card verification result 735.
The verify PIN command conversion unit 111 receives the card verification result 735 from the card verification unit 106. If the card verification result is not correct, the verify PIN command conversion unit 111 interrupts the processing due to an error.
If the card verification result is correct, the verify PIN command conversion unit 111 receives the PIN information 711 from the PIN information input unit 101. The verify PIN command converting unit 111 generates a verify PIN command 741 of APDU.
The encryption unit 112 receives the verify PIN command 741 from the verify PIN command conversion unit 111. The encryption unit 112 receives the shared key 725 from the terminal side key sharing unit 102. The encryption unit 112 performs encryption processing and generates an encrypted verifyPIN command 742. The encryption unit 112 sends the encrypted verify PIN command 742 to the terminal side communication unit 110.
The terminal-side communication unit 110 sends the encrypted verify PIN command 742 to the card R / W 810. The card R / W 810 sends the encrypted verify PIN command 742 to the card side communication unit 210.

次に、ICカード200が処理を行う。
復号部211は、暗号済verifyPINコマンド742をカード側通信部210から受け取る。復号部211は、共有鍵726をカード側鍵共有部202から受け取る。復号部211は、復号処理をして、verifyPINコマンド743を生成する。ICカード処理部212は、verifyPINコマンド743を復号部211から受け取る。ICカード処理部212は、所定のICカード処理を実行する。
Next, the IC card 200 performs processing.
The decryption unit 211 receives the encrypted verify PIN command 742 from the card side communication unit 210. The decryption unit 211 receives the shared key 726 from the card side key sharing unit 202. The decryption unit 211 performs decryption processing and generates a verify PIN command 743. The IC card processing unit 212 receives the verify PIN command 743 from the decryption unit 211. The IC card processing unit 212 executes predetermined IC card processing.

鍵共有のアルゴリズムとしては、例えば、周知のDH(Diffie−Hellman、ディフィ−ヘルマン)鍵共有方式を用いることができる。   As a key sharing algorithm, for example, a well-known DH (Diffie-Hellman) key sharing method can be used.

以下、DH鍵共有方式の概要を説明する。
XとYとが鍵共有を行うものとする。記号「^」は、べき乗(exponentiation)を表わす。また、「mod」は、剰余(modulo)を表わす。
まず、値の大きな素数pと、その原始根gとを生成する。このgとpとは、公開される。
次に、鍵を共有するXとYとが、お互い秘密の値a、bをそれぞれ選択する。Xは、次の値Aを計算して、これをYに送信する。
A=g^a mod p
The outline of the DH key sharing method will be described below.
Assume that X and Y perform key sharing. The symbol “^” represents an exponentiation. “Mod” represents a modulo.
First, a prime p having a large value and its primitive root g are generated. These g and p are made public.
Next, X and Y sharing the key select secret values a and b, respectively. X calculates the next value A and sends it to Y.
A = g ^ a mod p

Yも同様に、次の値Bを計算して、これをXに送信する。
B=g^b mod p
Similarly, Y calculates the next value B and sends it to X.
B = g ^ b mod p

Xは、自身の秘密の値aと、受信したBとから、以下の値を計算する。
=B^a mod p
X calculates the following value from its own secret value a and received B:
K x = B ^ a mod p

Yも、自身の秘密の値bと、受信したAとから、以下の値を計算する。
=A^b mod p
Y also calculates the following value from its own secret value b and the received A.
K y = A ^ b mod p

このとき、XとYとがそれぞれ計算したK及びKは、
=(g^b mod p)^a mod p=g^(a・b) mod p=K
=(g^a mod p)^b mod p=g^(a・b) mod p=K
となり、共通のK(=K=K)を生成することができる。
At this time, K x and K y calculated by X and Y, respectively,
K x = (g ^ b mod p) ^ a mod p = g ^ (a · b) mod p = K
K y = (g ^ a mod p) ^ b mod p = g ^ (a · b) mod p = K
Thus, a common K (= K x = K y ) can be generated.

ここで、第三者がこの二人の通信を盗聴してAとBとを入手しても、A=g^a mod p と、B=g^b mod pとから、K=g^(a・b) mod pを計算する方法は現在のところ存在しない。したがって、XとYとが共有した鍵Kの安全が保たれる。   Here, even if a third party eavesdrops on the communication between the two persons and obtains A and B, from A = g ^ a mod p and B = g ^ b mod p, K = g ^ ( a · b) There is currently no method for calculating mod p. Therefore, the security of the key K shared by X and Y is maintained.

図2は、この実施の形態における端末側鍵共有部102及びカード側鍵共有部202の構成の一例を示す詳細ブロック図である。
この例において、端末側鍵共有部102及びカード側鍵共有部202は、上述したDH鍵共有方式を用いて、共有鍵を共有する。
端末側鍵共有部102は、端末乱数生成部103、端末鍵要素生成部104、共有鍵生成部105を有する。カード側鍵共有部202は、カード乱数生成部203、カード鍵要素生成部204、共有鍵生成部205を有する。
FIG. 2 is a detailed block diagram showing an example of the configuration of the terminal-side key sharing unit 102 and the card-side key sharing unit 202 in this embodiment.
In this example, the terminal-side key sharing unit 102 and the card-side key sharing unit 202 share the shared key using the DH key sharing method described above.
The terminal side key sharing unit 102 includes a terminal random number generation unit 103, a terminal key element generation unit 104, and a shared key generation unit 105. The card side key sharing unit 202 includes a card random number generation unit 203, a card key element generation unit 204, and a shared key generation unit 205.

まず、端末側鍵共有部102が処理を行う。
端末乱数生成部103は、端末乱数721《a》を生成する。端末鍵要素生成部104は、《A =g^a mod p》を計算し、端末鍵要素722《A》を生成する。端末側鍵共有部102は、端末鍵要素722《A》をICカード200へ送付する。
First, the terminal side key sharing unit 102 performs processing.
The terminal random number generation unit 103 generates a terminal random number 721 << a >>. The terminal key element generation unit 104 calculates << A = g ^ a mod p >> and generates a terminal key element 722 << A >>. The terminal side key sharing unit 102 sends the terminal key element 722 << A >> to the IC card 200.

次に、カード側鍵共有部202が処理を行う。
カード乱数生成部203は、カード乱数723《b》を生成する。カード鍵要素生成部204は、《B=g^b mod p》を計算し、カード鍵要素724《B》を生成する。カード側鍵共有部202は、カード鍵要素724《B》を端末装置100へ送付する。
共有鍵生成部205は、端末装置100から受け取った端末鍵要素722《A》とカード乱数723《b》とから、《K=A^b mod p》を計算し、共有鍵726《K》を生成する。
Next, the card side key sharing unit 202 performs processing.
The card random number generation unit 203 generates a card random number 723 << b >>. The card key element generation unit 204 calculates << B = g ^ b mod p >> and generates a card key element 724 << B >>. The card side key sharing unit 202 sends the card key element 724 << B >> to the terminal device 100.
The shared key generation unit 205 calculates << K = A ^ b mod p >> from the terminal key element 722 << A >> and the card random number 723 << b >> received from the terminal apparatus 100, and calculates the shared key 726 << K >>. Generate.

次に、端末側鍵共有部102が処理を行う。
共有鍵生成部105は、ICカード200から受け取ったカード鍵要素724《B》と、端末乱数721《a》とから、《K=B^a mod p》を計算し、共有鍵725《K》を生成する。
Next, the terminal side key sharing unit 102 performs processing.
The shared key generation unit 105 calculates << K = B ^ a mod p >> from the card key element 724 << B >> received from the IC card 200 and the terminal random number 721 << a >>, and the shared key 725 << K >>. Is generated.

以上のようにして、端末装置100とICカード200とが、共有鍵《K》を共有する。   As described above, the terminal device 100 and the IC card 200 share the shared key << K >>.

図3は、この実施の形態におけるカード検証部106及びカード認証情報生成部206の構成の一例を示す詳細ブロック図である。
記号「HASH」は、SHA、MD5など公知のハッシュアルゴリズムによる演算を示す。また、記号「MAC」は、HMACなど公知のMAC(Message Authentication Code)生成アルゴリズムによる演算を示す。
カード検証部106は、PIN情報ハッシュ部107、マック値算出部108、認証情報比較部109を有する。カード認証情報生成部206は、PIN情報ハッシュ部207、マック値算出部208を有する。
FIG. 3 is a detailed block diagram showing an example of the configuration of the card verification unit 106 and the card authentication information generation unit 206 in this embodiment.
The symbol “HASH” indicates an operation using a known hash algorithm such as SHA or MD5. The symbol “MAC” indicates an operation based on a known MAC (Message Authentication Code) generation algorithm such as HMAC.
The card verification unit 106 includes a PIN information hash unit 107, a Mac value calculation unit 108, and an authentication information comparison unit 109. The card authentication information generation unit 206 includes a PIN information hash unit 207 and a Mac value calculation unit 208.

まず、ICカード200のカード認証情報生成部206が処理を行う。
PIN情報ハッシュ部207は、PIN情報712《P》を用いて、《K=HASH(P)》を計算する。マック値算出部208は、ハッシュ値《K》と、共有鍵726《K》とを用いて、《HK=K》《m=K》《C’=MAC(HK,m)》を計算し、カード認証情報732《C’》を生成する。カード認証情報生成部206は、カード認証情報732《C’》を端末装置100に送付する。
First, the card authentication information generation unit 206 of the IC card 200 performs processing.
The PIN information hash unit 207 calculates << K p = HASH (P) >> using the PIN information 712 << P >>. Mack value calculating section 208 calculates the hash value "K p", by using the common key 726 "K", the "HK = K p""m = K""C'= MAC (HK, m)" Then, card authentication information 732 << C '>> is generated. The card authentication information generation unit 206 sends the card authentication information 732 << C ′ >> to the terminal device 100.

次に、端末装置100のカード検証部106が処理を行う。
PIN情報ハッシュ部107は、PIN情報711《P》を用いて、《K=HASH(P)》を計算する。PIN情報ハッシュ部107は、ハッシュ値《K》と、共有鍵725《K》とを用いて、《HK=K》《m=K》《C=MAC(HK,m)》を計算し、カード検証用情報《C》を生成する。認証情報比較部109は、ICカード200から受け取ったカード認証情報732《C’》と、カード検証用情報《C》とを比較する。一致すれば「OK」、異なれば「NG」として、認証情報比較部109は、カード検証結果735を生成する。
Next, the card verification unit 106 of the terminal device 100 performs processing.
The PIN information hash unit 107 calculates << K p = HASH (P) >> using the PIN information 711 << P >>. PIN information hash unit 107, the hash value "K p", by using the common key 725 "K", "HK = K p""m = K" to calculate the "C = MAC (HK, m )" Then, card verification information << C >> is generated. The authentication information comparison unit 109 compares the card authentication information 732 << C '>> received from the IC card 200 with the card verification information << C >>. The authentication information comparison unit 109 generates a card verification result 735 as “OK” if they match and “NG” if they do not match.

このように、鍵共有部(端末側鍵共有部102,カード側鍵共有部202)により、端末装置100とICカード200とが共有鍵725,726を共有する。ICカード200では、カード認証情報生成部206が、PIN情報712と共有鍵726からカード認証情報732を生成する。これにより、カードR/W810を経由する通信データからは、共有鍵を入手することができない。このため、PINの総当たり攻撃を防止することができる。
また、端末装置100がverifyPINコマンドをICカード200へ送付する前に、カード検証部106が、共有鍵725とPIN情報711とを用いて、ICカード200から受け取ったカード認証情報732を検証する。これにより、正しいICカード200に限定してPIN情報711の含まれるverifyPINコマンドを送付することができる。このため、偽のICカード経由のPIN情報の漏洩を防止することができる。
また、暗号化部112が、共有鍵725を用いてverifyPINコマンドを暗号化することが可能となり、盗聴された通信データからのPIN情報の漏洩を防止することができる。
また、鍵共有部(端末側鍵共有部102、端末乱数生成部103)が、DH鍵共有アルゴリズムにより鍵共有をおこない、ICカード200が端末装置100へカード鍵要素724と一緒にカード認証情報732を送ることで、通信回数を3回に削減することができる。
As described above, the terminal device 100 and the IC card 200 share the shared keys 725 and 726 by the key sharing unit (the terminal-side key sharing unit 102 and the card-side key sharing unit 202). In the IC card 200, the card authentication information generation unit 206 generates card authentication information 732 from the PIN information 712 and the shared key 726. As a result, the shared key cannot be obtained from the communication data via the card R / W 810. For this reason, PIN brute force attacks can be prevented.
Also, before the terminal device 100 sends a verify PIN command to the IC card 200, the card verification unit 106 verifies the card authentication information 732 received from the IC card 200 using the shared key 725 and the PIN information 711. As a result, the verify PIN command including the PIN information 711 can be sent only to the correct IC card 200. For this reason, it is possible to prevent leakage of PIN information via a fake IC card.
Also, the encryption unit 112 can encrypt the verify PIN command using the shared key 725, and can prevent the leakage of PIN information from eavesdropped communication data.
In addition, the key sharing unit (the terminal-side key sharing unit 102 and the terminal random number generation unit 103) performs key sharing using the DH key sharing algorithm, and the IC card 200 sends the card authentication information 732 together with the card key element 724 to the terminal device 100. The number of communications can be reduced to 3 by sending.

なお、暗号化部112における暗号化方式および復号部211における復号方式は、共通鍵暗号アルゴリズムを用いた方式であればよい。認証システム800は、例えば、MISTY(登録商標)、KASUMI、AESなどの共通鍵暗号方式を利用する構成であってもよい。
また、端末装置100がカードR/W810を内蔵する構成であってもよい。
また、ICカード200がカードR/W810を介さず、端末装置100と直接通信する構成であってもよい。
また、カードR/W810が、ネットワークを経由して端末装置100と通信する構成であってもよい。
また、端末装置100とカードR/W810との間の通信や、カードR/W810とICカード200との間の通信は、有線通信であってもよいし、無線通信であってもよい。
また、PIN情報に代えて、パスワードやユーザのジェスチャや生体情報などを用いる構成であってもよい。
Note that the encryption method in the encryption unit 112 and the decryption method in the decryption unit 211 may be any method using a common key encryption algorithm. The authentication system 800 may be configured to use a common key encryption method such as MISTY (registered trademark), KASUMI, or AES.
Further, the terminal device 100 may be configured to incorporate the card R / W 810.
The IC card 200 may directly communicate with the terminal device 100 without using the card R / W 810.
Further, the card R / W 810 may communicate with the terminal device 100 via a network.
Further, the communication between the terminal device 100 and the card R / W 810 and the communication between the card R / W 810 and the IC card 200 may be wired communication or wireless communication.
Further, instead of the PIN information, a configuration using a password, a user gesture, biometric information, or the like may be used.

実施の形態2.
実施の形態2について、図4〜図5を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 2. FIG.
The second embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 1, the same code | symbol is attached | subjected and description is abbreviate | omitted.

図4は、この実施の形態における認証システム800の全体構成の一例を示すシステム構成図である。
認証システム800は、ユーザ801と、端末装置100と、カードR/W810と、ICカード200とを有する。端末装置100は、ユーザ801が利用する。カードR/W810は、端末装置100と、ICカード200との間の通信を仲介する。ICカード200は、ユーザ801が所有する。
FIG. 4 is a system configuration diagram showing an example of the overall configuration of the authentication system 800 in this embodiment.
The authentication system 800 includes a user 801, a terminal device 100, a card R / W 810, and an IC card 200. The terminal device 100 is used by the user 801. Card R / W 810 mediates communication between terminal device 100 and IC card 200. The IC card 200 is owned by the user 801.

ユーザ801は、ICカード200の所有者である。ユーザ801は、PIN情報711を記憶している。PIN情報711が、例えば暗号番号である。   A user 801 is an owner of the IC card 200. The user 801 stores PIN information 711. The PIN information 711 is, for example, an encryption number.

端末装置100は、端末側通信部110と、PIN情報入力部101と、端末側鍵共有部102と、カード検証部106と、端末認証情報生成部113と、verifyPINコマンド化部111と、暗号化部112とを有する。
端末側通信部110は、端末鍵要素722やメッセージ740などをカードR/W810へ送付する。メッセージ740は、端末認証情報754や暗号済verifyPINコマンド742を含む。端末側通信部110は、メッセージ730などをカードR/W810から受け取る。メッセージ730は、カード鍵要素724やカード認証情報732や端末用乱数751を含む。
端末側鍵共有部102は、端末鍵要素722を生成する。端末側鍵共有部102は、端末鍵要素722を端末側通信部110に送付する。端末側鍵共有部102は、カード鍵要素724を端末側通信部110から受け取る。端末側鍵共有部102は、端末鍵要素722とカード鍵要素724とから共有鍵725を生成する。
PIN情報入力部101は、PIN情報711をユーザ801から受け取る。
カード検証部106は、カード認証情報732を端末側通信部110から受け取る。カード検証部106は、PIN情報711をPIN情報入力部101から受け取る。カード検証部106は、共有鍵725を端末側鍵共有部102から受け取る。カード検証部106は、PIN情報711と共有鍵725とを用いて、カード認証情報732を検証する。カード検証部106は、カード検証結果735を生成する。
端末認証情報生成部113は、PIN情報711をPIN情報入力部101から受け取る。端末認証情報生成部113は、共有鍵725を端末側鍵共有部102から受け取る。端末認証情報生成部113は、端末用乱数751を端末側通信部110から受け取る。端末認証情報生成部113は、カード検証結果735をカード検証部106から受け取る。端末認証情報生成部113は、PIN情報711と共有鍵725と端末用乱数751とを用いて、端末認証情報754を生成する。端末認証情報生成部113は、端末認証情報754を端末側通信部110に送付する。
verifyPINコマンド化部111は、カード検証結果735をカード検証部106から受け取る。verifyPINコマンド化部111は、PIN情報711をPIN情報入力部101から受け取る。verifyPINコマンド化部111は、APDUのverifyPINコマンド741を生成する。
暗号化部112は、verifyPINコマンド741をverifyPINコマンド化部111から受け取る。暗号化部112は、共有鍵725を端末側鍵共有部102から受け取る。暗号化部112は、暗号済verifyPINコマンド742を生成する。暗号化部112は、暗号済verifyPINコマンド742を端末側通信部110に送付する。
The terminal device 100 includes a terminal side communication unit 110, a PIN information input unit 101, a terminal side key sharing unit 102, a card verification unit 106, a terminal authentication information generation unit 113, a verify PIN command conversion unit 111, an encryption Part 112.
The terminal-side communication unit 110 sends a terminal key element 722, a message 740, and the like to the card R / W 810. The message 740 includes terminal authentication information 754 and an encrypted verify PIN command 742. The terminal side communication unit 110 receives a message 730 and the like from the card R / W 810. The message 730 includes a card key element 724, card authentication information 732, and a terminal random number 751.
The terminal-side key sharing unit 102 generates a terminal key element 722. The terminal side key sharing unit 102 sends the terminal key element 722 to the terminal side communication unit 110. The terminal side key sharing unit 102 receives the card key element 724 from the terminal side communication unit 110. The terminal-side key sharing unit 102 generates a shared key 725 from the terminal key element 722 and the card key element 724.
The PIN information input unit 101 receives PIN information 711 from the user 801.
The card verification unit 106 receives the card authentication information 732 from the terminal side communication unit 110. The card verification unit 106 receives the PIN information 711 from the PIN information input unit 101. The card verification unit 106 receives the shared key 725 from the terminal side key sharing unit 102. The card verification unit 106 verifies the card authentication information 732 using the PIN information 711 and the shared key 725. The card verification unit 106 generates a card verification result 735.
The terminal authentication information generation unit 113 receives the PIN information 711 from the PIN information input unit 101. The terminal authentication information generation unit 113 receives the shared key 725 from the terminal side key sharing unit 102. The terminal authentication information generation unit 113 receives the terminal random number 751 from the terminal side communication unit 110. The terminal authentication information generation unit 113 receives the card verification result 735 from the card verification unit 106. The terminal authentication information generation unit 113 generates terminal authentication information 754 using the PIN information 711, the shared key 725, and the terminal random number 751. The terminal authentication information generation unit 113 sends the terminal authentication information 754 to the terminal side communication unit 110.
The verify PIN command conversion unit 111 receives the card verification result 735 from the card verification unit 106. The verify PIN command conversion unit 111 receives the PIN information 711 from the PIN information input unit 101. The verify PIN command converting unit 111 generates a verify PIN command 741 of APDU.
The encryption unit 112 receives the verify PIN command 741 from the verify PIN command conversion unit 111. The encryption unit 112 receives the shared key 725 from the terminal side key sharing unit 102. The encryption unit 112 generates an encrypted verifyPIN command 742. The encryption unit 112 sends the encrypted verify PIN command 742 to the terminal side communication unit 110.

ICカード200は、カード側通信部210と、カード側鍵共有部202と、PIN情報記憶部201と、カード認証情報生成部206と、端末用乱数生成部213と、端末検証部214と、復号部211と、ICカード処理部212とを有する。
カード側通信部210は、端末鍵要素722やメッセージ740などをカードR/W810から受け取る。メッセージ740は、端末認証情報754や暗号済verifyPINコマンド742を含む。カード側通信部210は、メッセージ730などをカードR/W810へ送付する。メッセージ730は、カード鍵要素724やカード認証情報732や端末用乱数751を含む。
カード側鍵共有部202は、端末鍵要素722をカード側通信部210から受け取る。カード側鍵共有部202は、カード鍵要素724を生成する。カード側鍵共有部202は、カード鍵要素724をカード側通信部210に送付する。カード側鍵共有部202は、端末鍵要素722とカード鍵要素724とから共有鍵726を生成する。
PIN情報記憶部201は、あらかじめ設定されたPIN情報712を格納する。
カード認証情報生成部206は、PIN情報712をPIN情報記憶部201から受け取る。カード認証情報生成部206は、共有鍵726をカード側鍵共有部202から受け取る。カード認証情報生成部206は、PIN情報712と共有鍵726とを用いて、カード認証情報732を生成する。カード認証情報生成部206は、カード認証情報732をカード側通信部210に送付する。
端末用乱数生成部213は、端末用乱数751を生成する。端末用乱数生成部213は、端末用乱数751をカード側通信部210に送付する。
端末検証部214は、端末認証情報754をカード側通信部210から受け取る。端末検証部214は、PIN情報712をPIN情報記憶部201から受け取る。端末検証部214は、共有鍵726をカード側鍵共有部202から受け取る。端末検証部214は、端末用乱数751を端末用乱数生成部213から受け取る。端末検証部214は、PIN情報712と共有鍵726と端末用乱数751とを用いて、端末認証情報754を検証する。端末検証部214は、端末検証結果758を生成する。
復号部211は、verifyPINコマンド741をカード側通信部210から受け取る。復号部211は、端末検証結果758を端末検証部214から受け取る。復号部211は、共有鍵726をカード側鍵共有部202から受け取る。復号部211は、verifyPINコマンド743を生成する。
ICカード処理部212は、verifyPINコマンド743を復号部211から受け取る。ICカード処理部212は、所定のICカード処理を実行する。
The IC card 200 includes a card side communication unit 210, a card side key sharing unit 202, a PIN information storage unit 201, a card authentication information generation unit 206, a terminal random number generation unit 213, a terminal verification unit 214, and a decryption unit. Unit 211 and an IC card processing unit 212.
The card side communication unit 210 receives the terminal key element 722, the message 740, and the like from the card R / W 810. The message 740 includes terminal authentication information 754 and an encrypted verify PIN command 742. The card side communication unit 210 sends a message 730 and the like to the card R / W 810. The message 730 includes a card key element 724, card authentication information 732, and a terminal random number 751.
The card side key sharing unit 202 receives the terminal key element 722 from the card side communication unit 210. The card side key sharing unit 202 generates a card key element 724. The card side key sharing unit 202 sends the card key element 724 to the card side communication unit 210. The card side key sharing unit 202 generates a shared key 726 from the terminal key element 722 and the card key element 724.
The PIN information storage unit 201 stores preset PIN information 712.
The card authentication information generation unit 206 receives the PIN information 712 from the PIN information storage unit 201. The card authentication information generation unit 206 receives the shared key 726 from the card side key sharing unit 202. The card authentication information generation unit 206 generates card authentication information 732 using the PIN information 712 and the shared key 726. The card authentication information generation unit 206 sends the card authentication information 732 to the card side communication unit 210.
The terminal random number generator 213 generates a terminal random number 751. The terminal random number generation unit 213 sends the terminal random number 751 to the card side communication unit 210.
The terminal verification unit 214 receives the terminal authentication information 754 from the card side communication unit 210. The terminal verification unit 214 receives the PIN information 712 from the PIN information storage unit 201. The terminal verification unit 214 receives the shared key 726 from the card side key sharing unit 202. The terminal verification unit 214 receives the terminal random number 751 from the terminal random number generation unit 213. The terminal verification unit 214 verifies the terminal authentication information 754 using the PIN information 712, the shared key 726, and the terminal random number 751. The terminal verification unit 214 generates a terminal verification result 758.
The decryption unit 211 receives the verify PIN command 741 from the card side communication unit 210. The decryption unit 211 receives the terminal verification result 758 from the terminal verification unit 214. The decryption unit 211 receives the shared key 726 from the card side key sharing unit 202. The decryption unit 211 generates a verify PIN command 743.
The IC card processing unit 212 receives the verify PIN command 743 from the decryption unit 211. The IC card processing unit 212 executes predetermined IC card processing.

次に動作について説明する。
ユーザ801は、PIN情報711を記憶している。ICカード200は、あらかじめ何らかの安全な方法によりPIN情報712をPIN情報記憶部201に記憶しておく。
Next, the operation will be described.
The user 801 stores PIN information 711. The IC card 200 stores the PIN information 712 in the PIN information storage unit 201 in advance by some safe method.

引き続き、ICカード200と端末装置100との間で認証を行う際の動作について説明する。
まず、ユーザ801がPIN情報711を端末装置100のPIN情報入力部101により入力する。
Next, an operation when authentication is performed between the IC card 200 and the terminal device 100 will be described.
First, the user 801 inputs the PIN information 711 through the PIN information input unit 101 of the terminal device 100.

次に、端末装置100が処理を行う。
端末側鍵共有部102は、端末鍵要素722を生成する。端末側鍵共有部102は、端末鍵要素722を端末側通信部110に送付する。端末側通信部110は、端末鍵要素722をカードR/W810へ送付する。カードR/W810は、端末鍵要素722をカード側通信部210に送付する。
Next, the terminal device 100 performs processing.
The terminal-side key sharing unit 102 generates a terminal key element 722. The terminal side key sharing unit 102 sends the terminal key element 722 to the terminal side communication unit 110. The terminal-side communication unit 110 sends the terminal key element 722 to the card R / W 810. The card R / W 810 sends the terminal key element 722 to the card side communication unit 210.

次に、ICカード200が処理を行う。
カード側通信部210は、端末鍵要素722をカードR/W810から受け取る。カード側鍵共有部202は、端末鍵要素722をカード側通信部210から受け取る。カード側鍵共有部202は、カード鍵要素724を生成する。カード側鍵共有部202は、端末鍵要素722とカード鍵要素724とから共有鍵726を生成する。
PIN情報記憶部201は、あらかじめ設定され格納しているPIN情報712を取り出す。カード認証情報生成部206は、PIN情報712をPIN情報記憶部201から受け取る。カード認証情報生成部206は、共有鍵726をカード側鍵共有部202から受け取る。カード認証情報生成部206は、PIN情報712と共有鍵726とを用いて、カード認証情報732を生成する。カード認証情報生成部206は、カード認証情報732をカード側通信部210に送付する。
端末用乱数生成部213は、端末用乱数751を生成する。端末用乱数生成部213は、端末用乱数751をカード側通信部210に送付する。
カード側通信部210は、カード鍵要素724をカード側鍵共有部202から受け取る。カード側通信部210は、カード認証情報732をカード認証情報生成部206から受け取る。カード側通信部210は、端末用乱数751を端末用乱数生成部213から受け取る。カード側通信部210は、カード鍵要素724とカード認証情報732と端末用乱数751とを合わせてメッセージ730とする。カード側通信部210は、メッセージ730をカードR/W810へ送付する。カードR/W810は、メッセージ730を端末側通信部110に送付する。
Next, the IC card 200 performs processing.
The card side communication unit 210 receives the terminal key element 722 from the card R / W 810. The card side key sharing unit 202 receives the terminal key element 722 from the card side communication unit 210. The card side key sharing unit 202 generates a card key element 724. The card side key sharing unit 202 generates a shared key 726 from the terminal key element 722 and the card key element 724.
The PIN information storage unit 201 retrieves PIN information 712 that is set and stored in advance. The card authentication information generation unit 206 receives the PIN information 712 from the PIN information storage unit 201. The card authentication information generation unit 206 receives the shared key 726 from the card side key sharing unit 202. The card authentication information generation unit 206 generates card authentication information 732 using the PIN information 712 and the shared key 726. The card authentication information generation unit 206 sends the card authentication information 732 to the card side communication unit 210.
The terminal random number generator 213 generates a terminal random number 751. The terminal random number generation unit 213 sends the terminal random number 751 to the card side communication unit 210.
The card side communication unit 210 receives the card key element 724 from the card side key sharing unit 202. The card side communication unit 210 receives the card authentication information 732 from the card authentication information generation unit 206. The card side communication unit 210 receives the terminal random number 751 from the terminal random number generation unit 213. The card side communication unit 210 combines the card key element 724, the card authentication information 732, and the terminal random number 751 into a message 730. Card side communication unit 210 sends message 730 to card R / W 810. Card R / W 810 sends message 730 to terminal side communication unit 110.

次に、端末装置100が処理を行う。
端末側鍵共有部102は、カード鍵要素724を端末側通信部110から受け取る。端末側鍵共有部102は、端末鍵要素722とカード鍵要素724とから共有鍵725を生成する。
カード検証部106は、カード認証情報732を端末側通信部110から受け取る。カード検証部106は、PIN情報711をPIN情報入力部101から受け取る。カード検証部106は、共有鍵725を端末側鍵共有部102から受け取る。カード検証部106は、PIN情報711と共有鍵725とを用いて、カード認証情報732を検証する。カード検証部106は、カード検証結果735を生成する。
端末認証情報生成部113は、カード検証結果735をカード検証部106から受け取る。カード検証結果735が正しくない場合、端末認証情報生成部113は、エラーにより処理を中断する。
カード検証結果735が正しい場合、端末認証情報生成部113は、PIN情報711をPIN情報入力部101から受け取る。端末認証情報生成部113は、共有鍵725を端末側鍵共有部102から受け取る。端末認証情報生成部113は、端末用乱数751を端末側通信部110から受け取る。端末認証情報生成部113は、PIN情報711と共有鍵725と端末用乱数751とを用いて、端末認証情報754を生成する。端末認証情報生成部113は、端末認証情報754を端末側通信部110に送付する。
verifyPINコマンド化部111は、カード検証結果735をカード検証部106から受け取る。カード検証結果735が正しくない場合、verifyPINコマンド化部111は、エラーにより処理を中断する。
カード検証結果735が正しい場合、verifyPINコマンド化部111は、PIN情報711をPIN情報入力部101から受け取る。verifyPINコマンド化部111は、APDUのverifyPINコマンド741を生成する。
暗号化部112は、verifyPINコマンド741をverifyPINコマンド化部111から受け取る。暗号化部112は、verifyPINコマンド741をverifyPINコマンド化部111から受け取る。暗号化部112は、共有鍵725を端末側鍵共有部102から受け取る。暗号化部112は、暗号処理をして、暗号済verifyPINコマンド742を生成する。暗号化部112は、暗号済verifyPINコマンド742を端末側通信部110に送付する。
端末側通信部110は、暗号済verifyPINコマンド742と端末認証情報754とを合わせてメッセージ740とする。端末側通信部110は、メッセージ740をカードR/W810へ送付する。カードR/W810は、メッセージ740をカード側通信部210に送付する。
Next, the terminal device 100 performs processing.
The terminal side key sharing unit 102 receives the card key element 724 from the terminal side communication unit 110. The terminal-side key sharing unit 102 generates a shared key 725 from the terminal key element 722 and the card key element 724.
The card verification unit 106 receives the card authentication information 732 from the terminal side communication unit 110. The card verification unit 106 receives the PIN information 711 from the PIN information input unit 101. The card verification unit 106 receives the shared key 725 from the terminal side key sharing unit 102. The card verification unit 106 verifies the card authentication information 732 using the PIN information 711 and the shared key 725. The card verification unit 106 generates a card verification result 735.
The terminal authentication information generation unit 113 receives the card verification result 735 from the card verification unit 106. If the card verification result 735 is not correct, the terminal authentication information generation unit 113 interrupts the process due to an error.
If the card verification result 735 is correct, the terminal authentication information generation unit 113 receives the PIN information 711 from the PIN information input unit 101. The terminal authentication information generation unit 113 receives the shared key 725 from the terminal side key sharing unit 102. The terminal authentication information generation unit 113 receives the terminal random number 751 from the terminal side communication unit 110. The terminal authentication information generation unit 113 generates terminal authentication information 754 using the PIN information 711, the shared key 725, and the terminal random number 751. The terminal authentication information generation unit 113 sends the terminal authentication information 754 to the terminal side communication unit 110.
The verify PIN command conversion unit 111 receives the card verification result 735 from the card verification unit 106. If the card verification result 735 is not correct, the verify PIN command converting unit 111 interrupts the process due to an error.
If the card verification result 735 is correct, the verify PIN command conversion unit 111 receives the PIN information 711 from the PIN information input unit 101. The verify PIN command converting unit 111 generates a verify PIN command 741 of APDU.
The encryption unit 112 receives the verify PIN command 741 from the verify PIN command conversion unit 111. The encryption unit 112 receives the verify PIN command 741 from the verify PIN command conversion unit 111. The encryption unit 112 receives the shared key 725 from the terminal side key sharing unit 102. The encryption unit 112 performs encryption processing and generates an encrypted verifyPIN command 742. The encryption unit 112 sends the encrypted verify PIN command 742 to the terminal side communication unit 110.
The terminal-side communication unit 110 combines the encrypted verify PIN command 742 and the terminal authentication information 754 into a message 740. The terminal-side communication unit 110 sends a message 740 to the card R / W 810. The card R / W 810 sends a message 740 to the card side communication unit 210.

次に、ICカード200が処理を行う。
端末検証部214は、端末認証情報754をカード側通信部210から受け取る。端末検証部214は、PIN情報712をPIN情報記憶部201から受け取る。端末検証部214は、共有鍵726をカード側鍵共有部202から受け取る。端末検証部214は、端末用乱数751を端末用乱数生成部213から受け取る。端末検証部214は、PIN情報712と共有鍵726と端末用乱数751とを用いて、端末認証情報754を検証する。端末検証部214は、端末検証結果758を生成する。
復号部211は、端末検証結果758を端末検証部214から受け取る。端末検証結果758が正しくない場合、復号部211は、エラーにより処理を中断する。
端末検証結果758が正しい場合、復号部211は、verifyPINコマンド741をカード側通信部210から受け取る。復号部211は、共有鍵726をカード側鍵共有部202から受け取る。復号部211は、復号処理をして、verifyPINコマンド743を生成する。
ICカード処理部212は、verifyPINコマンド743を復号部211から受け取り、所定のICカード処理を実行する。
Next, the IC card 200 performs processing.
The terminal verification unit 214 receives the terminal authentication information 754 from the card side communication unit 210. The terminal verification unit 214 receives the PIN information 712 from the PIN information storage unit 201. The terminal verification unit 214 receives the shared key 726 from the card side key sharing unit 202. The terminal verification unit 214 receives the terminal random number 751 from the terminal random number generation unit 213. The terminal verification unit 214 verifies the terminal authentication information 754 using the PIN information 712, the shared key 726, and the terminal random number 751. The terminal verification unit 214 generates a terminal verification result 758.
The decryption unit 211 receives the terminal verification result 758 from the terminal verification unit 214. When the terminal verification result 758 is not correct, the decoding unit 211 interrupts the process due to an error.
If the terminal verification result 758 is correct, the decryption unit 211 receives a verify PIN command 741 from the card side communication unit 210. The decryption unit 211 receives the shared key 726 from the card side key sharing unit 202. The decryption unit 211 performs decryption processing and generates a verify PIN command 743.
The IC card processing unit 212 receives the verify PIN command 743 from the decryption unit 211 and executes predetermined IC card processing.

図5は、この実施の形態における端末認証情報生成部113及び端末検証部214の構成の一例を示す詳細ブロック図である。
記号「‖」は、データの連結を表現する。
端末認証情報生成部113は、PIN情報ハッシュ部114と、マック値算出部115とを有する。端末検証部214は、PIN情報ハッシュ部215と、マック値算出部216と、認証情報比較部217とを有する。
FIG. 5 is a detailed block diagram showing an example of the configuration of terminal authentication information generation section 113 and terminal verification section 214 in this embodiment.
The symbol “‖” represents data concatenation.
The terminal authentication information generation unit 113 includes a PIN information hash unit 114 and a Mac value calculation unit 115. The terminal verification unit 214 includes a PIN information hash unit 215, a Mac value calculation unit 216, and an authentication information comparison unit 217.

まず、端末装置100の端末認証情報生成部113が処理を行う。
PIN情報ハッシュ部114は、PIN情報711《P》を用いて、《K=HASH(P)》を計算する。マック値算出部115は、ハッシュ値《K》と共有鍵725《K》と端末用乱数751《r》とを用いて、《HK=K》《m=r‖K》《C’=MAC(HK,m)》を計算して、端末認証情報754《C’》を生成する。端末認証情報生成部113は、端末認証情報754《C’》をICカード200に送付する。
First, the terminal authentication information generation unit 113 of the terminal device 100 performs processing.
The PIN information hash unit 114 calculates << K p = HASH (P) >> using the PIN information 711 << P >>. The Mac value calculation unit 115 uses the hash value << K p >>, the shared key 725 << K >>, and the terminal random number 751 << r >> to create << HK = K p >><< m = r‖K >><< C ′ = MAC (HK, m) >> is calculated to generate terminal authentication information 754 << C '>>. The terminal authentication information generation unit 113 sends the terminal authentication information 754 << C ′ >> to the IC card 200.

次に、ICカード200の端末検証部214が処理を行う。
PIN情報ハッシュ部215は、PIN情報712《P》を用いて、《K=HASH(P)》を計算する。マック値算出部216は、ハッシュ値《K》と、共有鍵726《K》と、端末用乱数751《r》とを用いて、《HK=K》《m=r‖K》《C=MAC(HK,m)》を計算して、端末検証用情報《C》を生成する。
認証情報比較部217は、端末装置100から受け取った端末認証情報754《C’》と、端末検証用情報《C》とを比較する。一致すれば「OK」、異なれば「NG」として、認証情報比較部217は、端末検証結果758を生成する。
Next, the terminal verification unit 214 of the IC card 200 performs processing.
The PIN information hash unit 215 calculates << K p = HASH (P) >> using the PIN information 712 << P >>. The Mac value calculation unit 216 uses the hash value << K p >>, the shared key 726 << K >>, and the terminal random number 751 << r >> to create << HK = K p >><< m = r‖K >><< C = MAC (HK, m) >> is calculated to generate terminal verification information << C >>.
The authentication information comparison unit 217 compares the terminal authentication information 754 << C '>> received from the terminal device 100 with the terminal verification information << C >>. The authentication information comparison unit 217 generates a terminal verification result 758 as “OK” if they match and “NG” if they do not match.

端末装置100にも端末認証情報生成部113を備えることにより、端末装置100とICカード200との相互認証をすることができる。
ICカード200は、端末用乱数生成部213が生成した端末用乱数751を端末装置100に送付し、端末装置100では、端末認証情報生成部113が、PIN情報711と共有鍵725とICカード200から受け取った端末用乱数751とを用いて、端末認証情報754を生成するので、カード認証情報を利用した端末装置100のなりすましを防止することができる。
また、ICカード200が端末装置100へカード鍵要素724と一緒にカード認証情報732と端末用乱数751を送り、端末装置100がICカード200へ暗号済verifyPINコマンド742と一緒に端末認証情報754を送るので、通信回数を3回に削減することができる。
By providing the terminal device 100 with the terminal authentication information generation unit 113, the terminal device 100 and the IC card 200 can be mutually authenticated.
The IC card 200 sends the terminal random number 751 generated by the terminal random number generation unit 213 to the terminal device 100. In the terminal device 100, the terminal authentication information generation unit 113 includes the PIN information 711, the shared key 725, and the IC card 200. Since the terminal authentication information 754 is generated using the terminal random number 751 received from the terminal, it is possible to prevent spoofing of the terminal device 100 using the card authentication information.
Further, the IC card 200 sends the card authentication information 732 and the terminal random number 751 together with the card key element 724 to the terminal device 100, and the terminal device 100 sends the terminal authentication information 754 together with the encrypted verifyPIN command 742 to the IC card 200. Since it is sent, the number of communications can be reduced to three.

なお、PIN情報ハッシュ部114が用いるハッシュアルゴリズムと、PIN情報ハッシュ部215が用いるハッシュアルゴリズムとが同じであれば、PIN情報ハッシュ部107及びPIN情報ハッシュ部207が用いるハッシュアルゴリズムと異なっていてもよい。また、PIN情報ハッシュ部114及びPIN情報ハッシュ部215を設けず、マック値算出部115は、PIN情報ハッシュ部107が算出したハッシュ値《K》を用い、マック値算出部216は、PIN情報ハッシュ部207が算出したハッシュ値《K》を用いる構成であってもよい。 As long as the hash algorithm used by the PIN information hash unit 114 and the hash algorithm used by the PIN information hash unit 215 are the same, the hash algorithm used by the PIN information hash unit 107 and the PIN information hash unit 207 may be different. . Further, the PIN information hash unit 114 and the PIN information hash unit 215 are not provided, and the Mac value calculation unit 115 uses the hash value << K p >> calculated by the PIN information hash unit 107, and the Mac value calculation unit 216 includes the PIN information. A configuration using the hash value << K p >> calculated by the hash unit 207 may be used.

実施の形態3.
実施の形態3について、図6〜図10を用いて説明する。
なお、実施の形態1および実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 3 FIG.
The third embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 1 and Embodiment 2, the same code | symbol is attached | subjected and description is abbreviate | omitted.

認証システム800において、ICカード200は、あらかじめ、利用者認証データを記憶している。利用者認証データは、例えば、PIN情報、暗証番号、パスワードなど、利用者を認証するための情報(以下「利用者認証情報」と呼ぶ。)を表わすデータである。
ICカード200を所有している利用者は、ICカード200が記憶した利用者認証データが表わす利用者認証情報を知っている。利用者は、端末装置100に利用者認証情報を入力する。
端末装置100は、入力した利用者認証情報を表わす利用者認証データをICカード200に送信する。ICカード200は、端末装置100から受信した利用者認証データと、あらかじめ記憶した利用者認証データとを比較して、一致する場合に、利用者がICカード200の所有者であると認め、ICカード200が記憶したデータへのアクセスなどICカード200の利用を許可する。
したがって、利用者認証情報を第三者に盗まれないようにすることが重要である。
In the authentication system 800, the IC card 200 stores user authentication data in advance. The user authentication data is data representing information (hereinafter referred to as “user authentication information”) for authenticating the user, such as PIN information, a personal identification number, and a password.
The user who owns the IC card 200 knows the user authentication information represented by the user authentication data stored in the IC card 200. The user inputs user authentication information to the terminal device 100.
The terminal device 100 transmits user authentication data representing the input user authentication information to the IC card 200. The IC card 200 compares the user authentication data received from the terminal device 100 with the user authentication data stored in advance, and if they match, the IC card 200 recognizes that the user is the owner of the IC card 200, and the IC card 200 The use of the IC card 200 such as access to data stored in the card 200 is permitted.
Therefore, it is important to prevent the user authentication information from being stolen by a third party.

第三者が利用者認証情報を盗もうとする手口には、例えば、次のようなものがある。
第一に、第三者は、端末装置100とICカード200との間の通信を盗聴することにより、利用者認証情報を手に入れようとする。また、第三者は、正しい利用者認証情報がわからないまでも、盗聴により手に入れたデータをICカード200に対して送信することにより、正しい利用者識別情報を知っているかのように振舞おうとする。
第二に、第三者は、ICカード200から利用者認証情報を引き出そうとする。例えば、第三者は、ICカード200を解析して利用者認証データを読み出そうとする。あるいは、第三者は、利用者情報を推測し、推測した利用者認証情報を表わす利用者認証データをICカード200に送信して認証されるかどうかを見る。
第三に、第三者は、利用者から利用者認証情報を引き出そうとする。例えば、第三者は、ICカード200を偽物のICカードとすり替える。利用者が端末装置100に入力した利用者認証情報を表わす利用者認証データを偽物のICカードが受信して、利用者認証情報を手に入れる。
Examples of techniques for a third party to steal user authentication information include the following.
First, a third party tries to obtain user authentication information by eavesdropping on communication between the terminal device 100 and the IC card 200. Further, even if the third party does not know the correct user authentication information, the third party transmits data obtained by eavesdropping to the IC card 200 to behave as if he / she knows the correct user identification information. To do.
Second, the third party tries to pull out user authentication information from the IC card 200. For example, a third party analyzes the IC card 200 and tries to read user authentication data. Alternatively, the third party estimates the user information and transmits user authentication data representing the estimated user authentication information to the IC card 200 to see whether or not authentication is performed.
Third, the third party tries to extract user authentication information from the user. For example, the third party replaces the IC card 200 with a fake IC card. The fake IC card receives the user authentication data representing the user authentication information input to the terminal device 100 by the user, and obtains the user authentication information.

認証システム800は、これらの手口から利用者認証情報を守りつつ、ICカード200の所有者である正しい利用者がICカード200を利用できるシステムである。   The authentication system 800 is a system in which the correct user who is the owner of the IC card 200 can use the IC card 200 while protecting the user authentication information from these tricks.

図6は、この実施の形態における認証システム800のハードウェア構成の一例を示すハードウェア構成図である。
認証システム800は、端末装置100と、ICカード200とを有する。
端末装置100は、処理装置911(端末処理装置)と、操作入力装置912と、出力装置913と、記憶装置914(端末記憶装置)と、通信装置915(端末通信装置)とを有する。
ICカード200は、処理装置921(カード処理装置)と、記憶装置924(カード記憶装置)と、通信装置925(カード通信装置)とを有する。
処理装置911は、記憶装置914が記憶したプログラムを実行することにより、データを処理し、端末装置100を制御する。処理装置921も同様に、記憶装置924が記憶したプログラムを実行することにより、ICカード200を制御する。
記憶装置914は、処理装置911が実行するプログラムや、処理装置911が処理するデータなどを記憶する。記憶装置914は、例えば、揮発性メモリ、不揮発性メモリ、ディスクドライブ装置などである。記憶装置924も同様に、処理装置921が実行するプログラムや、処理装置921が処理するデータなどを記憶する。なお、記憶装置924の全部もしくは少なくとも一部は、耐タンパ性を有する。
操作入力装置912は、利用者の操作を入力し、入力した操作を表わすデータを生成する。操作入力装置912が生成したデータは、処理装置911が直接処理してもよいし、記憶装置914が一時的に記憶してもよい。操作入力装置912は、例えば、キーボード、マウス、タッチパネルなどである。
出力装置913は、処理装置911が処理したデータや、記憶装置914が記憶したデータなどを、端末装置100の外部に出力できる形式に変換して、出力する。出力装置913は、例えば、液晶表示装置、スピーカー、プリンタ装置などである。
通信装置915,925は、互いに通信する。通信装置915と通信装置925とは、直接通信する構成であってもよいし、カードR/Wなどを介して通信する構成であってもよい。また、通信装置915と通信装置925との間の通信は、有線接続によるものであってもよいし、無線接続によるものであってもよい。
FIG. 6 is a hardware configuration diagram showing an example of the hardware configuration of the authentication system 800 in this embodiment.
The authentication system 800 includes the terminal device 100 and the IC card 200.
The terminal device 100 includes a processing device 911 (terminal processing device), an operation input device 912, an output device 913, a storage device 914 (terminal storage device), and a communication device 915 (terminal communication device).
The IC card 200 includes a processing device 921 (card processing device), a storage device 924 (card storage device), and a communication device 925 (card communication device).
The processing device 911 processes the data by executing the program stored in the storage device 914 and controls the terminal device 100. Similarly, the processing device 921 controls the IC card 200 by executing the program stored in the storage device 924.
The storage device 914 stores a program executed by the processing device 911, data processed by the processing device 911, and the like. The storage device 914 is, for example, a volatile memory, a nonvolatile memory, a disk drive device, or the like. Similarly, the storage device 924 stores a program executed by the processing device 921, data processed by the processing device 921, and the like. Note that all or at least a part of the storage device 924 has tamper resistance.
The operation input device 912 inputs a user operation and generates data representing the input operation. Data generated by the operation input device 912 may be directly processed by the processing device 911 or may be temporarily stored by the storage device 914. The operation input device 912 is, for example, a keyboard, a mouse, a touch panel, or the like.
The output device 913 converts the data processed by the processing device 911 and the data stored in the storage device 914 into a format that can be output to the outside of the terminal device 100 and outputs the converted data. The output device 913 is, for example, a liquid crystal display device, a speaker, a printer device, or the like.
The communication devices 915 and 925 communicate with each other. The communication device 915 and the communication device 925 may be configured to communicate directly or may be configured to communicate via a card R / W or the like. In addition, communication between the communication device 915 and the communication device 925 may be through wired connection or wireless connection.

端末装置100やICカード200の機能ブロックは、記憶装置914,924が記憶したプログラムを処理装置911,921が実行することにより実現する。なお、実施の形態1及び実施の形態2における端末装置100やICカード200も、この実施の形態と同様、プログラムを処理装置が実行することにより実現するものであってもよい。   The functional blocks of the terminal device 100 and the IC card 200 are realized by the processing devices 911 and 921 executing the programs stored in the storage devices 914 and 924. Note that the terminal device 100 and the IC card 200 in the first embodiment and the second embodiment may also be realized by a processing device executing a program, as in this embodiment.

図7は、この実施の形態における端末装置100及びICカード200の機能ブロックの構成の一例を示すブロック構成図である。   FIG. 7 is a block configuration diagram showing an example of the functional block configuration of the terminal device 100 and the IC card 200 in this embodiment.

端末装置100は、利用者認証入力部120と、鍵共有部130と、カード検証部140と、ダミー認証生成部151と、利用者認証生成部152と、利用者認証暗号化部153と、端末鍵要素送信部181と、暗号化認証送信部182と、メッセージ受信部190とを有する。   The terminal device 100 includes a user authentication input unit 120, a key sharing unit 130, a card verification unit 140, a dummy authentication generation unit 151, a user authentication generation unit 152, a user authentication encryption unit 153, a terminal A key element transmission unit 181, an encrypted authentication transmission unit 182, and a message reception unit 190 are included.

利用者認証入力部120は、利用者認証情報を入力する。
利用者認証入力部120は、操作入力装置912を用いて、利用者の操作に基づいて、利用者認証情報を入力する。利用者認証入力部120は、処理装置911を用いて、入力した利用者認証情報を表わす利用者認証データを生成する。利用者認証入力部120は、記憶装置914を用いて、生成した利用者認証データを記憶する。
The user authentication input unit 120 inputs user authentication information.
The user authentication input unit 120 uses the operation input device 912 to input user authentication information based on a user operation. The user authentication input unit 120 uses the processing device 911 to generate user authentication data representing the input user authentication information. The user authentication input unit 120 uses the storage device 914 to store the generated user authentication data.

鍵共有部130(端末鍵共有部)は、ICカード200と共有する共有鍵を生成する。鍵共有部130は、例えばDH鍵共有方式を用いて、共有鍵を生成する。
鍵共有部130は、法記憶部131と、原始根記憶部132と、端末乱数生成部133と、端末鍵要素生成部134と、端末共有鍵生成部135とを有する。
The key sharing unit 130 (terminal key sharing unit) generates a shared key shared with the IC card 200. The key sharing unit 130 generates a shared key using, for example, a DH key sharing method.
The key sharing unit 130 includes a modulus storage unit 131, a primitive root storage unit 132, a terminal random number generation unit 133, a terminal key element generation unit 134, and a terminal shared key generation unit 135.

法記憶部131は、あらかじめ、記憶装置914を用いて、大きな素数pを表わすデータを記憶している。素数pの大きさは、要求される安全性レベルによって異なり、素数pが大きいほど、安全性レベルが高くなる。
原始根記憶部132は、あらかじめ、記憶装置914を用いて、原始根gを表わすデータを記憶している。原始根gは、素数pを法とする整数の剰余類が乗法についてなす群の生成元である。すなわち、原始根gは、2以上p−1以下の整数であり、gのp乗をpで割った余りがgと等しく、2以上p−1以下のいずれの整数iをとってもgのi乗をpで割った余りがgと異なる。
The modulus storage unit 131 stores data representing a large prime number p in advance using the storage device 914. The size of the prime number p varies depending on the required safety level. The larger the prime number p, the higher the safety level.
The primitive root storage unit 132 stores data representing the primitive root g using the storage device 914 in advance. The primitive root g is a generator of a group formed by multiplication of an integer remainder class modulo a prime number p. That is, the primitive root g is an integer of 2 or more and p-1 or less, and the remainder obtained by dividing g to the power of p by p is equal to g. The remainder when p is divided by p is different from g.

端末乱数生成部133は、処理装置911を用いて、法記憶部131が記憶したデータが表わす素数pに基づく処理をする。端末乱数生成部133は、処理装置911を用いて、1以上p−1以下のp−1個の整数のなかから、ランダムに、整数を1つ選択する。端末乱数生成部133が選択した整数を、端末乱数aと呼ぶ。端末乱数生成部133は、記憶装置914を用いて、選択した端末乱数aを表わすデータを記憶する。   The terminal random number generation unit 133 uses the processing device 911 to perform processing based on the prime number p represented by the data stored in the modulus storage unit 131. The terminal random number generation unit 133 uses the processing device 911 to randomly select one integer from p−1 integers of 1 to p−1. The integer selected by the terminal random number generation unit 133 is called a terminal random number a. The terminal random number generation unit 133 uses the storage device 914 to store data representing the selected terminal random number a.

端末鍵要素生成部134は、処理装置911を用いて、法記憶部131が記憶したデータが表わす素数pと、原始根記憶部132が記憶したデータが表わす原始根gと、端末乱数生成部133が記憶したデータが表わす端末乱数aとに基づく計算をする。端末鍵要素生成部134は、処理装置911を用いて、gのa乗をpで割った余りを計算する。端末鍵要素生成部134が計算した結果として得られる整数を、端末鍵要素Aと呼ぶ。端末鍵要素生成部134は、記憶装置914を用いて、算出した端末鍵要素Aを表わすデータを記憶する。   Using the processing device 911, the terminal key element generation unit 134 uses the processing device 911 to generate the prime p represented by the data stored in the modulus storage unit 131, the primitive root g represented by the data stored in the primitive root storage unit 132, and the terminal random number generation unit 133. Is calculated based on the terminal random number a represented by the stored data. The terminal key element generation unit 134 uses the processing device 911 to calculate a remainder obtained by dividing g to the power a by p. An integer obtained as a result of calculation by the terminal key element generation unit 134 is referred to as a terminal key element A. The terminal key element generation unit 134 uses the storage device 914 to store data representing the calculated terminal key element A.

端末共有鍵生成部135は、処理装置911を用いて、法記憶部131が記憶したデータが表わす素数pと、端末乱数生成部133が記憶したデータが表わす端末乱数aと、カード鍵要素受信部191が記憶したデータが表わすカード鍵要素B(後述)とに基づく計算をする。端末共有鍵生成部135は、処理装置911を用いて、Bのa乗をpで割った余りを計算する。端末共有鍵生成部135が計算した結果として得られる整数を表わすデータを、端末共有鍵Kと呼ぶ。端末共有鍵生成部135は、記憶装置914を用いて、算出した端末共通鍵Kを記憶する。   The terminal shared key generation unit 135 uses the processing device 911, the prime p represented by the data stored in the modulus storage unit 131, the terminal random number a represented by the data stored in the terminal random number generation unit 133, and the card key element reception unit The calculation based on the card key element B (described later) represented by the data stored in 191 is performed. The terminal shared key generation unit 135 uses the processing device 911 to calculate a remainder obtained by dividing B to the power a by p. Data representing an integer obtained as a result of calculation by the terminal shared key generation unit 135 is referred to as a terminal shared key K. The terminal shared key generation unit 135 stores the calculated terminal common key K using the storage device 914.

カード検証部140は、ICカード200が偽物でないかを検証する。
カード検証部140は、端末認証ハッシュ部141と、端末認証生成部142と、カード認証部143とを有する。
The card verification unit 140 verifies whether the IC card 200 is a fake.
The card verification unit 140 includes a terminal authentication hash unit 141, a terminal authentication generation unit 142, and a card authentication unit 143.

端末認証ハッシュ部141は、処理装置911を用いて、利用者認証入力部120が記憶した利用者認証データに基づく計算をする。端末認証ハッシュ部141は、処理装置911を用いて、あらかじめ定めたハッシュ関数H1により、利用者認証データをハッシュする。端末認証ハッシュ部141がハッシュした結果として得られるハッシュ値を表わすデータを、端末ハッシュ値HKと呼ぶ。端末認証ハッシュ部141は、記憶装置914を用いて、算出した端末ハッシュ値HKを記憶する。
端末認証ハッシュ部141が用いるハッシュ関数H1は、完全ハッシュ関数であることが望ましい。すなわち、元のデータ(利用者認証データ)が異なれば、ハッシュ値(端末ハッシュ値HK)が必ず異なる。これにより、元のデータが異なるにも関わらずハッシュ値が偶然一致することによる誤認証を防ぐことができる。
The terminal authentication hash unit 141 uses the processing device 911 to perform calculation based on the user authentication data stored in the user authentication input unit 120. The terminal authentication hash unit 141 uses the processing device 911 to hash user authentication data using a predetermined hash function H1. Data representing a hash value obtained as a result of hashing by the terminal authentication hash unit 141 is referred to as a terminal hash value HK. The terminal authentication hash unit 141 uses the storage device 914 to store the calculated terminal hash value HK.
The hash function H1 used by the terminal authentication hash unit 141 is preferably a complete hash function. That is, if the original data (user authentication data) is different, the hash value (terminal hash value HK) is always different. As a result, it is possible to prevent erroneous authentication due to a coincidence of hash values even though the original data is different.

端末認証生成部142は、処理装置911を用いて、端末共有鍵生成部135が記憶した端末共有鍵Kと、端末認証ハッシュ部141が記憶した端末ハッシュ値HKとに基づく計算をする。端末認証生成部142は、処理装置911を用いて、あらかじめ定めたハッシュ関数H2により、端末共有鍵Kと、端末ハッシュ値HKとを連結したデータをハッシュする。端末認証生成部142がハッシュした結果として得られるハッシュ値を表わすデータを、カード検証データCと呼ぶ。端末認証生成部142は、記憶装置914を用いて、算出したカード検証データCを記憶する。
端末認証生成部142が用いるハッシュ関数H2は、一方向性を有する。すなわち、ハッシュ値(カード検証データC)から元のデータ(端末共有鍵Kおよび端末ハッシュ値HK)を算出することが事実上不可能である。また、端末認証生成部142が用いるハッシュ関数H2は、一様性を有する。すなわち、元のデータを変化させた場合、ハッシュ値が一様に分布し、偏りがない。この条件を満たせば、端末認証生成部142が用いる関数は、ハッシュ関数でなくてもよいし、端末認証ハッシュ部141が用いるハッシュ関数H1と同一であってもよい。
The terminal authentication generation unit 142 uses the processing device 911 to perform calculation based on the terminal shared key K stored by the terminal shared key generation unit 135 and the terminal hash value HK stored by the terminal authentication hash unit 141. The terminal authentication generation unit 142 uses the processing device 911 to hash data obtained by connecting the terminal shared key K and the terminal hash value HK with a predetermined hash function H2. Data representing a hash value obtained as a result of hashing by the terminal authentication generation unit 142 is referred to as card verification data C. The terminal authentication generation unit 142 stores the calculated card verification data C using the storage device 914.
The hash function H2 used by the terminal authentication generation unit 142 is unidirectional. That is, it is virtually impossible to calculate the original data (terminal shared key K and terminal hash value HK) from the hash value (card verification data C). In addition, the hash function H2 used by the terminal authentication generation unit 142 has uniformity. That is, when the original data is changed, the hash values are uniformly distributed and there is no bias. If this condition is satisfied, the function used by the terminal authentication generation unit 142 may not be a hash function, or may be the same as the hash function H1 used by the terminal authentication hash unit 141.

カード認証部143は、処理装置911を用いて、端末認証生成部142が記憶したカード検証データCと、カード認証受信部192が記憶したカード認証データC’(後述)とに基づく判定をする。カード認証部143は、処理装置911を用いて、カード検証データCとカード認証データC’とを比較する。
カード検証データCとカード認証データC’とが一致する場合、カード認証部143は、処理装置911を用いて、ICカード200の検証に成功したと判定する。
カード検証データCとカード認証データC’とが一致しない場合、カード認証部143は、処理装置911を用いて、ICカード200の検証に失敗したと判定する。
カード認証部143が判定した結果を、カード認証結果と呼ぶ。カード認証部143は、記憶装置914を用いて、カード認証結果を表わすデータを記憶する。
The card authentication unit 143 uses the processing device 911 to make a determination based on the card verification data C stored by the terminal authentication generation unit 142 and the card authentication data C ′ (described later) stored by the card authentication reception unit 192. The card authentication unit 143 uses the processing device 911 to compare the card verification data C and the card authentication data C ′.
When the card verification data C and the card authentication data C ′ match, the card authentication unit 143 uses the processing device 911 to determine that the IC card 200 has been successfully verified.
If the card verification data C and the card authentication data C ′ do not match, the card authentication unit 143 uses the processing device 911 to determine that verification of the IC card 200 has failed.
The result determined by the card authentication unit 143 is called a card authentication result. The card authentication unit 143 uses the storage device 914 to store data representing the card authentication result.

ダミー認証生成部151は、処理装置911を用いて、カード認証部143が記憶したデータが表わすカード認証結果に基づいて処理をする。カード検証部140がICカード200の検証に失敗した場合、ダミー認証生成部151は、処理装置911を用いて、ダミーの利用者認証データをランダムに生成する。すなわち、ダミー認証生成部151は、処理装置911を用いて、利用者認証データとして可能な多数のデータのなかから、ダミーの利用者認証データとして、1つのデータをランダムに選択する。ダミー認証生成部151は、記憶装置914を用いて、生成したダミーの利用者認証データを記憶する。   The dummy authentication generation unit 151 uses the processing device 911 to perform processing based on the card authentication result represented by the data stored in the card authentication unit 143. When the card verification unit 140 fails to verify the IC card 200, the dummy authentication generation unit 151 uses the processing device 911 to randomly generate dummy user authentication data. That is, the dummy authentication generation unit 151 uses the processing device 911 to randomly select one piece of data as dummy user authentication data from among a large number of data that can be used as user authentication data. The dummy authentication generation unit 151 uses the storage device 914 to store the generated dummy user authentication data.

利用者認証生成部152は、処理装置911を用いて、カード認証部143が記憶したデータが表わすカード認証結果に基づく処理をする。利用者認証生成部152は、処理装置911を用いて、利用者認証コマンドを生成する。利用者認証コマンドは、ICカード200に対して利用者の認証を要求するコマンドである。利用者認証コマンドは、例えば、APDUのverifyPINコマンドである。利用者認証コマンドは、利用者認証データを含む。
カード検証部140がICカード200の認証に成功した場合、利用者認証生成部152は、処理装置911を用いて、利用者認証入力部120が記憶した利用者認証データを含む利用者認証コマンドを生成する。
カード検証部140がICカード200の認証に失敗した場合、利用者認証生成部152は、処理装置911を用いて、ダミー認証生成部151が記憶したダミーの利用者認証データを含む利用者認証コマンドを生成する。
利用者認証生成部152は、記憶装置914を用いて、生成した利用者認証コマンドを記憶する。
The user authentication generation unit 152 uses the processing device 911 to perform processing based on the card authentication result represented by the data stored in the card authentication unit 143. The user authentication generation unit 152 uses the processing device 911 to generate a user authentication command. The user authentication command is a command that requests the IC card 200 to authenticate the user. The user authentication command is, for example, an APDU verifyPIN command. The user authentication command includes user authentication data.
When the card verification unit 140 successfully authenticates the IC card 200, the user authentication generation unit 152 uses the processing device 911 to issue a user authentication command including user authentication data stored in the user authentication input unit 120. Generate.
When the card verification unit 140 fails to authenticate the IC card 200, the user authentication generation unit 152 uses the processing device 911 to perform a user authentication command including dummy user authentication data stored in the dummy authentication generation unit 151. Is generated.
The user authentication generation unit 152 uses the storage device 914 to store the generated user authentication command.

利用者認証暗号化部153は、処理装置911を用いて、端末共有鍵生成部135が記憶した端末共有鍵Kと、利用者認証生成部152が記憶した利用者認証コマンドとに基づく処理をする。利用者認証暗号化部153は、処理装置911を用いて、端末共有鍵Kにより利用者認証コマンドを暗号化する。利用者認証暗号化部153が利用者認証コマンドを暗号化した結果として得られる暗号文を、暗号済利用者認証コマンドと呼ぶ。利用者認証暗号化部153は、記憶装置914を用いて、生成した暗号済利用者認証コマンドを記憶する。   Using the processing device 911, the user authentication encryption unit 153 performs processing based on the terminal shared key K stored by the terminal shared key generation unit 135 and the user authentication command stored by the user authentication generation unit 152. . The user authentication encryption unit 153 uses the processing device 911 to encrypt the user authentication command with the terminal shared key K. The ciphertext obtained as a result of the user authentication encryption unit 153 encrypting the user authentication command is referred to as an encrypted user authentication command. The user authentication encryption unit 153 uses the storage device 914 to store the generated encrypted user authentication command.

端末鍵要素送信部181は、処理装置911を用いて、端末鍵要素生成部134が記憶したデータが表わす端末鍵要素Aに基づく処理をする。端末鍵要素送信部181は、処理装置911を用いて、認証開始メッセージを生成する。認証開始メッセージは、ICカード200に対して、認証処理のプロトコルを開始することを通知するとともに、端末鍵要素Aを通知するメッセージである。端末鍵要素送信部181は、処理装置911を用いて、端末鍵要素Aを表わすデータを含む認証開始メッセージを生成する。端末鍵要素送信部181は、通信装置915を用いて、生成した認証開始メッセージを、ICカード200に対して送信する。   The terminal key element transmission unit 181 uses the processing device 911 to perform processing based on the terminal key element A represented by the data stored in the terminal key element generation unit 134. The terminal key element transmission unit 181 uses the processing device 911 to generate an authentication start message. The authentication start message is a message that notifies the IC card 200 that the authentication processing protocol is started and also notifies the terminal key element A. The terminal key element transmission unit 181 uses the processing device 911 to generate an authentication start message including data representing the terminal key element A. The terminal key element transmission unit 181 transmits the generated authentication start message to the IC card 200 using the communication device 915.

暗号化認証送信部182は、通信装置915を用いて、利用者認証暗号化部153が記憶した暗号済利用者認証コマンドを送信する。暗号化認証送信部182は、通信装置915を用いて、暗号済利用者認証コマンドを、ICカード200に対して送信する。   The encrypted authentication transmission unit 182 transmits the encrypted user authentication command stored in the user authentication encryption unit 153 using the communication device 915. Using the communication device 915, the encrypted authentication transmission unit 182 transmits an encrypted user authentication command to the IC card 200.

メッセージ受信部190は、通信装置915を用いて、ICカード200が送信した認証開始応答メッセージを受信する。認証開始応答メッセージは、端末鍵要素送信部181が送信した認証開始メッセージに対する応答である。認証開始応答メッセージは、カード鍵要素Bを表わすデータと、カード認証データC’とを含む。
メッセージ受信部190は、カード鍵要素受信部191と、カード認証受信部192とを有する。
The message receiving unit 190 receives the authentication start response message transmitted from the IC card 200 using the communication device 915. The authentication start response message is a response to the authentication start message transmitted by the terminal key element transmission unit 181. The authentication start response message includes data representing the card key element B and card authentication data C ′.
The message receiving unit 190 includes a card key element receiving unit 191 and a card authentication receiving unit 192.

カード鍵要素受信部191は、通信装置915を用いて受信した認証開始応答メッセージから、処理装置911を用いて、カード鍵要素Bを表わすデータを取得する。カード鍵要素受信部191は、記憶装置914を用いて、取得したデータを記憶する。
カード認証受信部192は、通信装置915を用いて受信した認証開始応答メッセージから、処理装置911を用いて、カード認証データC’を取得する。カード認証受信部192は、記憶装置914を用いて、取得したカード認証データC’を記憶する。
The card key element receiving unit 191 acquires data representing the card key element B using the processing device 911 from the authentication start response message received using the communication device 915. The card key element receiving unit 191 uses the storage device 914 to store the acquired data.
The card authentication receiving unit 192 acquires the card authentication data C ′ using the processing device 911 from the authentication start response message received using the communication device 915. The card authentication receiving unit 192 uses the storage device 914 to store the acquired card authentication data C ′.

ICカード200は、利用者認証記憶部220と、鍵共有部230と、認証情報生成部240と、利用者認証復号部251と、利用者認証部252と、端末鍵要素受信部281と、暗号化認証受信部282と、メッセージ送信部290とを有する。   The IC card 200 includes a user authentication storage unit 220, a key sharing unit 230, an authentication information generation unit 240, a user authentication decryption unit 251, a user authentication unit 252, a terminal key element reception unit 281, and an encryption The authentication authentication receiving unit 282 and the message transmitting unit 290 are included.

利用者認証記憶部220は、あらかじめ、耐タンパ性を有する記憶装置924を用いて、利用者認証データを記憶している。したがって、第三者がICカード200を解析しても、利用者認証データを読み出すことはできない。   The user authentication storage unit 220 stores user authentication data in advance using a tamper-resistant storage device 924. Therefore, even if a third party analyzes the IC card 200, the user authentication data cannot be read.

鍵共有部230(カード鍵共有部)は、端末装置100と共有する共有鍵を生成する。鍵共有部230は、例えばDH鍵共有方式を用いて、共有鍵を生成する。
鍵共有部230は、法記憶部231と、原始根記憶部232と、カード乱数生成部233と、カード鍵要素生成部234と、カード共有鍵生成部235とを有する。
The key sharing unit 230 (card key sharing unit) generates a shared key shared with the terminal device 100. The key sharing unit 230 generates a shared key using, for example, a DH key sharing method.
The key sharing unit 230 includes a modulus storage unit 231, a primitive root storage unit 232, a card random number generation unit 233, a card key element generation unit 234, and a card shared key generation unit 235.

法記憶部231は、あらかじめ、記憶装置924を用いて、端末装置100の法記憶部131が記憶しているデータが表わす素数pと同一の素数pを表わすデータを記憶している。
原始根記憶部232は、あらかじめ、記憶装置924を用いて、端末装置100の原始根記憶部132が記憶しているデータが表わす原始根gと同一の原始根gを表わすデータを記憶している。
The modulus storage unit 231 uses the storage device 924 in advance to store data representing a prime number p that is the same as the prime number p represented by the data stored in the modulus storage unit 131 of the terminal device 100.
The primitive root storage unit 232 uses the storage device 924 in advance to store data representing the same primitive root g as the primitive root g represented by the data stored in the primitive root storage unit 132 of the terminal device 100. .

カード乱数生成部233は、処理装置921を用いて、法記憶部231が記憶したデータが表わす素数pに基づく処理をする。カード乱数生成部233は、処理装置921を用いて、1以上p−1以下のp−1個の整数のなかから、ランダムに整数を1つ選択する。カード乱数生成部233が選択した整数を、カード乱数bと呼ぶ。カード乱数生成部233は、記憶装置924を用いて、選択したカード乱数bを表わすデータを記憶する。   The card random number generation unit 233 uses the processing device 921 to perform processing based on the prime number p represented by the data stored in the modulus storage unit 231. The card random number generation unit 233 uses the processing device 921 to randomly select one integer from p−1 integers of 1 to p−1. The integer selected by the card random number generation unit 233 is called a card random number b. The card random number generation unit 233 uses the storage device 924 to store data representing the selected card random number b.

カード鍵要素生成部234は、処理装置921を用いて、法記憶部231が記憶したデータが表わす素数pと、原始根記憶部232が記憶したデータが表わす原始根gと、カード乱数生成部233が記憶したデータが表わすカード乱数bとに基づく計算をする。カード鍵要素生成部234は、処理装置921を用いて、gのb乗をpで割った余りを計算する。カード鍵要素生成部234が計算した結果として得られる整数を、カード鍵要素Bと呼ぶ。カード鍵要素生成部234は、記憶装置924を用いて、算出したカード鍵要素Bを表わすデータを記憶する。   Using the processing device 921, the card key element generation unit 234 uses a prime number p represented by the data stored in the modulus storage unit 231, a primitive root g represented by the data stored in the primitive root storage unit 232, and a card random number generation unit 233. Is calculated based on the card random number b represented by the stored data. The card key element generation unit 234 uses the processing device 921 to calculate a remainder obtained by dividing g to the power of b by p. An integer obtained as a result of calculation by the card key element generation unit 234 is referred to as a card key element B. The card key element generation unit 234 uses the storage device 924 to store data representing the calculated card key element B.

カード共有鍵生成部235は、処理装置921を用いて、法記憶部231が記憶したデータが表わす素数pと、カード乱数生成部233が記憶したデータが表わすカード乱数bと、端末鍵要素受信部281が記憶したデータが表わす端末鍵要素Aとに基づく計算をする。カード共有鍵生成部235は、処理装置921を用いて、Aのb乗をpで割った余りを計算する。カード共有鍵生成部235が計算した結果として得られる整数を表わすデータを、カード共有鍵Kと呼ぶ。カード共有鍵生成部235は、記憶装置924を用いて、算出したカード共有鍵Kを記憶する。   Using the processing device 921, the card shared key generation unit 235 uses a prime number p represented by data stored in the modulus storage unit 231, a card random number b represented by data stored in the card random number generation unit 233, and a terminal key element reception unit. The calculation based on the terminal key element A represented by the data stored in 281 is performed. The card shared key generation unit 235 uses the processing device 921 to calculate a remainder obtained by dividing A to the bth power by p. Data representing an integer obtained as a result of calculation by the card shared key generation unit 235 is referred to as a card shared key K. The card shared key generation unit 235 uses the storage device 924 to store the calculated card shared key K.

カード共有鍵生成部235が算出するカード共有鍵Kは、端末共有鍵生成部135が算出する端末共有鍵Kと同一である。したがって、ICカード200は、端末装置100が端末共有鍵Kにより暗号化した暗号化利用者認証コマンドを復号することができる。
端末装置100とICカード200とは、あらかじめ素数pと原始根gとを共有しておく必要があるが、素数pや原始根gは公開された情報である。したがって、端末装置100とICカード200とが、あらかじめ秘密の情報を共有しておく必要はない。
また、第三者が、端末装置100とICカード200との間の通信を傍受して、端末鍵要素Aとカード鍵要素Bとを手に入れたとしても、そこから共有鍵Kを計算することは、事実上不可能である。したがって、第三者が、端末装置100とICカード200との間の通信を傍受して、暗号化利用者認証コマンドを手に入れたとしても、手に入れた暗号化利用者認証コマンドを復号して、そこに含まれる利用者認証データを手に入れることはできない。
また、共有鍵Kは、端末乱数生成部133がランダムに選択した端末乱数aと、カード乱数生成部233がランダムに選択したカード乱数bとに基づいて生成されるので、通信のたびに変化する。したがって、第三者が、端末装置100とICカード200との間の通信を傍受して、暗号化利用者認証コマンドを手に入れ、その後、ICカード200に対して、手に入れた暗号化利用者認証コマンドを送信したとしても、共有鍵Kが異なるので、ICカード200は、第三者が送信した暗号化利用者認証コマンドを受理しない。したがって、再送によるなりすまし攻撃に対しても安全である。
The card shared key K calculated by the card shared key generation unit 235 is the same as the terminal shared key K calculated by the terminal shared key generation unit 135. Therefore, the IC card 200 can decrypt the encrypted user authentication command encrypted by the terminal device 100 using the terminal shared key K.
The terminal device 100 and the IC card 200 need to share the prime number p and the primitive root g in advance, but the prime number p and the primitive root g are public information. Therefore, it is not necessary for the terminal device 100 and the IC card 200 to share secret information in advance.
Further, even if a third party intercepts communication between the terminal device 100 and the IC card 200 and obtains the terminal key element A and the card key element B, the shared key K is calculated therefrom. It is virtually impossible. Therefore, even if a third party intercepts the communication between the terminal device 100 and the IC card 200 and obtains the encrypted user authentication command, the third party decrypts the obtained encrypted user authentication command. Thus, the user authentication data contained therein cannot be obtained.
Further, since the shared key K is generated based on the terminal random number a randomly selected by the terminal random number generator 133 and the card random number b randomly selected by the card random number generator 233, the shared key K changes with each communication. . Therefore, a third party intercepts the communication between the terminal device 100 and the IC card 200, obtains an encryption user authentication command, and then obtains the encryption obtained from the IC card 200. Even if the user authentication command is transmitted, since the shared key K is different, the IC card 200 does not accept the encrypted user authentication command transmitted by the third party. Therefore, it is safe against a spoofing attack by retransmission.

認証情報生成部240は、カード認証データC’を生成する。
認証情報生成部240は、カード認証ハッシュ部241と、カード認証生成部242とを有する。
The authentication information generation unit 240 generates card authentication data C ′.
The authentication information generation unit 240 includes a card authentication hash unit 241 and a card authentication generation unit 242.

カード認証ハッシュ部241は、処理装置921を用いて、利用者認証記憶部220が記憶した利用者認証データに基づく計算をする。カード認証ハッシュ部241は、処理装置921を用いて、端末装置100の端末認証ハッシュ部141が用いるハッシュ関数H1と同一のハッシュ関数H1により、利用者認証データをハッシュする。カード認証ハッシュ部241がハッシュした結果としてあられるハッシュ値を表わすデータを、カードハッシュ値HKと呼ぶ。カード認証ハッシュ部241は、記憶装置924を用いて、算出したカードハッシュ値HKを記憶する。
なお、カード認証ハッシュ部241は、あらかじめ、処理装置921を用いて、カードハッシュ値HKを算出し、耐タンパ性のある記憶装置924を用いて、算出したカードハッシュ値HKを記憶しておいてもよい。これにより、認証処理におけるICカード200の計算量を減らすことができる。
The card authentication hash unit 241 uses the processing device 921 to perform calculation based on the user authentication data stored in the user authentication storage unit 220. The card authentication hash unit 241 uses the processing device 921 to hash user authentication data using the same hash function H1 as the hash function H1 used by the terminal authentication hash unit 141 of the terminal device 100. Data representing a hash value obtained as a result of hashing by the card authentication hash unit 241 is referred to as a card hash value HK. The card authentication hash unit 241 uses the storage device 924 to store the calculated card hash value HK.
Note that the card authentication hash unit 241 calculates the card hash value HK using the processing device 921 and stores the calculated card hash value HK using the tamper-resistant storage device 924 in advance. Also good. Thereby, the calculation amount of the IC card 200 in the authentication process can be reduced.

カード認証生成部242は、処理装置921を用いて、カード共有鍵生成部235が記憶したカード共有鍵Kと、カード認証ハッシュ部241が記憶したカードハッシュ値HKとに基づく計算をする。カード認証生成部242は、処理装置921を用いて、端末装置100の端末認証生成部142が用いるハッシュ関数H2と同一のハッシュ関数H2により、カード共有鍵Kとカード認証ハッシュ値HKとを連結したデータをハッシュする。カード認証生成部242がハッシュした結果として得られるハッシュ値を表わすデータが、カード認証データC’である。カード認証生成部242は、記憶装置914を用いて、算出したカード認証データC’を記憶する。   The card authentication generation unit 242 uses the processing device 921 to calculate based on the card shared key K stored by the card shared key generation unit 235 and the card hash value HK stored by the card authentication hash unit 241. The card authentication generation unit 242 uses the processing device 921 to connect the card shared key K and the card authentication hash value HK with the same hash function H2 as the hash function H2 used by the terminal authentication generation unit 142 of the terminal device 100. Hash the data. Data representing a hash value obtained as a result of hashing by the card authentication generation unit 242 is card authentication data C ′. The card authentication generation unit 242 uses the storage device 914 to store the calculated card authentication data C ′.

利用者認証入力部120が入力した利用者認証情報に基づいて生成した利用者認証データが、利用者認証記憶部220が記憶した利用者認証データと同一であれば、端末認証ハッシュ部141が算出する端末ハッシュ値HKは、カード認証ハッシュ部241が算出するカードハッシュ値HKと同一になる。端末共有鍵生成部135が生成する端末共有鍵Kと、カード共有鍵生成部235が生成するカード共通鍵Kとが同一なので、端末認証生成部142が算出するカード検証データCは、カード認証生成部242が算出するカード認証データC’と同一になる。
したがって、利用者認証入力部120が入力した利用者認証情報に基づいて生成した利用者認証データと、利用者認証記憶部220が記憶した利用者認証データとが一致していれば、カード認証部143がICカード200の検証に成功したと判定する。
また、ハッシュ関数H2は一様性を有するので、利用者認証入力部120が入力した利用者認証情報に基づいて生成した利用者認証データと、利用者認証記憶部220が記憶した利用者認証データとが異なるにも関わらず、端末認証生成部142が算出するカード検証データCと、カード認証生成部242が算出するカード認証データC’とが偶然同一になる確率は極めて低く、誤認証を防ぐことができる。
また、ハッシュ関数H2は一方向性を有するので、第三者が、端末装置100とICカード200との間の通信を傍受して、カード認証データC’を手に入れたとしても、そこから共通鍵Kやカード認証ハッシュ値HKを算出することは、事実上不可能である。
If the user authentication data generated based on the user authentication information input by the user authentication input unit 120 is the same as the user authentication data stored in the user authentication storage unit 220, the terminal authentication hash unit 141 calculates the user authentication data. The terminal hash value HK to be performed is the same as the card hash value HK calculated by the card authentication hash unit 241. Since the terminal shared key K generated by the terminal shared key generation unit 135 and the card shared key K generated by the card shared key generation unit 235 are the same, the card verification data C calculated by the terminal authentication generation unit 142 is the card authentication generation This is the same as the card authentication data C ′ calculated by the unit 242.
Therefore, if the user authentication data generated based on the user authentication information input by the user authentication input unit 120 matches the user authentication data stored in the user authentication storage unit 220, the card authentication unit 143 determines that the IC card 200 has been successfully verified.
Further, since the hash function H2 is uniform, user authentication data generated based on the user authentication information input by the user authentication input unit 120 and user authentication data stored by the user authentication storage unit 220 are stored. However, there is a very low probability that the card verification data C calculated by the terminal authentication generation unit 142 and the card authentication data C ′ calculated by the card authentication generation unit 242 will be accidentally the same, thus preventing erroneous authentication. be able to.
In addition, since the hash function H2 has a unidirectionality, even if a third party intercepts communication between the terminal device 100 and the IC card 200 and obtains the card authentication data C ′, It is virtually impossible to calculate the common key K and the card authentication hash value HK.

利用者認証入力部120が入力した利用者認証情報に基づいて生成した利用者認証データと、利用者認証記憶部220が記憶した利用者認証データとが一致せず、カード認証部143がICカード200の検証に失敗したと判定する場合には、いくつかの場合が考えられる。
第一の場合は、利用者が、間違った利用者認証情報を端末装置100に入力した場合である。これは、日常的に発生する状況であり、不正なことは何も起きていない。
第二の場合は、ICカード200を盗んだ第三者が、推測した利用者認証情報を端末装置100に入力して、推測が外れた場合である。
第三の場合は、ICカード200が偽物とすり替えられている場合である。偽物のICカードは、正しい利用者認証データを知らないので、正しいカード認証データC’を生成することができない。このため、利用者が正しい利用者認証情報を入力していたとしても、ICカード200の認証に失敗する。
The user authentication data generated based on the user authentication information input by the user authentication input unit 120 and the user authentication data stored by the user authentication storage unit 220 do not match, and the card authentication unit 143 uses the IC card. When it is determined that the verification of 200 has failed, several cases are conceivable.
The first case is a case where the user inputs wrong user authentication information to the terminal device 100. This is a daily occurrence, and nothing wrong has happened.
The second case is a case where a third party who has stolen the IC card 200 inputs the estimated user authentication information to the terminal device 100 and the estimation is lost.
The third case is a case where the IC card 200 is replaced with a fake. Since the fake IC card does not know the correct user authentication data, the correct card authentication data C ′ cannot be generated. For this reason, even if the user inputs correct user authentication information, the authentication of the IC card 200 fails.

このように、ICカード200の認証に失敗する場合には、第一の場合や第二の場合のように、利用者の側に問題がある場合と、第三の場合のように、ICカードの側に問題がある場合とがある。また、第二の場合や第三の場合のように、何か不正なことが起きている可能性がある。   As described above, when the authentication of the IC card 200 fails, there is a problem on the user side as in the first case or the second case, and the IC card as in the third case. Sometimes there is a problem on the side. Also, something wrong may have happened as in the second and third cases.

利用者認証復号部251は、処理装置921を用いて、カード共有鍵生成部235が記憶したカード共有鍵Kと、暗号化認証受信部282が記憶した暗号化利用者認証コマンドとに基づく処理をする。利用者認証復号部251は、処理装置921を用いて、カード共有鍵Kにより暗号化利用者認証コマンドを復号する。カード共有鍵Kは、利用者認証暗号化部153が暗号化に用いた端末共有鍵Kと同一なので、利用者認証復号部251が暗号化利用者認証コマンドを復号した結果として得られる復号文は、利用者認証生成部152が生成した利用者認証コマンドと同一になる。利用者認証復号部251は、記憶装置924を用いて、暗号化利用者認証コマンドを復号して得られた利用者認証コマンドを記憶する。   The user authentication decrypting unit 251 uses the processing device 921 to perform processing based on the card shared key K stored by the card shared key generating unit 235 and the encrypted user authentication command stored by the encrypted authentication receiving unit 282. To do. The user authentication decrypting unit 251 decrypts the encrypted user authentication command with the card shared key K using the processing device 921. Since the card shared key K is the same as the terminal shared key K used for encryption by the user authentication encryption unit 153, the decrypted text obtained as a result of the user authentication decryption unit 251 decrypting the encrypted user authentication command is The user authentication command generated by the user authentication generation unit 152 is the same. The user authentication decryption unit 251 stores the user authentication command obtained by decrypting the encrypted user authentication command using the storage device 924.

なお、共有鍵Kは、通信のたびに生成されるものであり、共有鍵Kの生成に、秘密の情報は何ら必要ではない。したがって、ICカード200が偽物とすり替えられている場合であっても、偽物のICカードは、暗号化利用者認証コマンドを正しく復号して、利用者認証コマンドを得ることができる。
しかし、ICカード200が偽物とすり替えられている場合には、利用者認証暗号化部153がICカード200の認証に失敗する。このため、利用者認証コマンドに含まれる利用者認証データは、ダミー認証生成部151が生成したダミーの利用者認証データである。したがって、ICカード200を偽物とすり替えたとしても、第三者が、正しい利用者認証データを手に入れることはできない。
The shared key K is generated every time communication is performed, and no secret information is required for generating the shared key K. Therefore, even if the IC card 200 is replaced with a fake, the fake IC card can correctly decrypt the encrypted user authentication command and obtain the user authentication command.
However, when the IC card 200 is replaced with a fake, the user authentication encryption unit 153 fails to authenticate the IC card 200. For this reason, the user authentication data included in the user authentication command is dummy user authentication data generated by the dummy authentication generation unit 151. Therefore, even if the IC card 200 is replaced with a fake, a third party cannot obtain correct user authentication data.

利用者認証部252は、処理装置921を用いて、利用者認証記憶部220が記憶した利用者認証データと、利用者認証復号部251が取得した利用者認証コマンドとに基づく判定をする。利用者認証部252は、処理装置921を用いて、利用者認証コマンドに含まれる利用者認証データと、利用者認証記憶部220が記憶した利用者認証データとを比較する。
両者が一致する場合、利用者認証部252は、処理装置911を用いて、利用者の認証に成功したと判定する。
両者が一致しない場合、利用者認証部252は、処理装置911を用いて、利用者の認証に失敗したと判定する。
利用者認証部252が判定した結果を、利用者認証結果と呼ぶ。利用者認証部252は、記憶装置924を用いて、判定した利用者認証結果を表わすデータを記憶する。
The user authentication unit 252 uses the processing device 921 to make a determination based on the user authentication data stored in the user authentication storage unit 220 and the user authentication command acquired by the user authentication decryption unit 251. Using the processing device 921, the user authentication unit 252 compares the user authentication data included in the user authentication command with the user authentication data stored in the user authentication storage unit 220.
If the two match, the user authentication unit 252 uses the processing device 911 to determine that the user has been successfully authenticated.
If the two do not match, the user authentication unit 252 uses the processing device 911 to determine that the user authentication has failed.
The result determined by the user authentication unit 252 is referred to as a user authentication result. Using the storage device 924, the user authentication unit 252 stores data representing the determined user authentication result.

利用者認証部252が判定した利用者認証結果に基づいて、ICカード200は、様々な処理をする。その後の処理は、従来のICカードと同様なので、簡単に説明するに留める。
利用者の認証に成功した場合、ICカード200は、端末装置100に対して、ICカード200が記憶したデータなどに対するアクセスを許可する。例えば、端末装置100がデータの読出しや書き込みを指示するコマンドを送信した場合、ICカード200は、そのコマンドに基づいて、記憶したデータを読み出して端末装置100に対して送信し、あるいは、コマンドで指示されたデータを受け取って記憶する。
利用者の認証に失敗した場合、ICカード200は、端末装置100に対して、ICカード200が記憶したデータなどに対するアクセスを許可しない。更に、利用者認証の失敗が所定の回数(例えば3回)連続した場合、ICカード200は、外部からのコマンドを一切受け付けないロック状態になる。これにより、ICカード200を盗んだ第三者が、推測した利用者認証情報を何回も入力することにより、推測が偶然当たってしまうのを防ぐ。
Based on the user authentication result determined by the user authentication unit 252, the IC card 200 performs various processes. Since the subsequent processing is the same as that of the conventional IC card, only a brief description will be given.
When the user authentication is successful, the IC card 200 permits the terminal device 100 to access data stored in the IC card 200. For example, when the terminal device 100 transmits a command for instructing reading or writing of data, the IC card 200 reads the stored data based on the command and transmits it to the terminal device 100, or by using the command Receive and store the indicated data.
When the user authentication fails, the IC card 200 does not permit the terminal device 100 to access data stored in the IC card 200. Further, when the user authentication failure continues for a predetermined number of times (for example, three times), the IC card 200 enters a locked state in which no command from the outside is accepted. As a result, a third party who has stolen the IC card 200 prevents the guess from being accidentally hit by inputting the guessed user authentication information many times.

ICカード200を盗んだ第三者が、推測した利用者認証情報を端末装置100に入力して推測が外れた場合、カード認証部143が、ICカード200の認証に失敗したと判定する。その場合でも、端末装置100は、ダミーの利用者認証データを含む利用者認証コマンドを生成するので、ロック機能を有するICカード200をロックさせることができる。   When a third party who has stolen the IC card 200 inputs the estimated user authentication information to the terminal device 100 and the estimation is lost, the card authentication unit 143 determines that the authentication of the IC card 200 has failed. Even in that case, since the terminal device 100 generates a user authentication command including dummy user authentication data, the IC card 200 having the lock function can be locked.

端末鍵要素受信部281は、通信装置925を用いて、端末装置100が送信した認証開始メッセージを受信する。端末鍵要素受信部281は、処理装置921を用いて、受信した認証開始メッセージから、端末鍵要素Aを表わすデータを取得する。端末鍵要素受信部281は、記憶装置924を用いて、取得したデータを記憶する。   The terminal key element receiving unit 281 uses the communication device 925 to receive the authentication start message transmitted from the terminal device 100. The terminal key element receiving unit 281 uses the processing device 921 to acquire data representing the terminal key element A from the received authentication start message. The terminal key element reception unit 281 uses the storage device 924 to store the acquired data.

暗号化認証受信部282は、通信装置925を用いて、端末装置100が送信した暗号化利用者認証コマンドを受信する。暗号化認証受信部282は、記憶装置924を用いて、受信した暗号化利用者認証コマンドを記憶する。   The encryption authentication receiving unit 282 receives the encryption user authentication command transmitted from the terminal device 100 using the communication device 925. Using the storage device 924, the encrypted authentication receiving unit 282 stores the received encrypted user authentication command.

メッセージ送信部290は、カード鍵要素送信部291と、カード認証送信部292とを有する。
カード鍵要素送信部291は、通信装置925を用いて、カード鍵要素生成部234が記憶したデータが表わすカード鍵要素Bを、端末装置100に対して通知する。
カード認証送信部292は、通信装置925を用いて、カード認証生成部242が記憶したカード認証データC’を、端末装置100に対して通知する。
メッセージ送信部290は、処理装置921を用いて、カード鍵要素Bを表わすデータと、カード認証データC’とを含む認証開始応答メッセージを生成する。メッセージ送信部290は、通信装置925を用いて、生成した認証開始応答メッセージを、端末装置100に対して送信する。
The message transmission unit 290 includes a card key element transmission unit 291 and a card authentication transmission unit 292.
Using the communication device 925, the card key element transmission unit 291 notifies the terminal device 100 of the card key element B represented by the data stored in the card key element generation unit 234.
The card authentication transmission unit 292 notifies the terminal device 100 of the card authentication data C ′ stored by the card authentication generation unit 242 using the communication device 925.
The message transmission unit 290 uses the processing device 921 to generate an authentication start response message including data representing the card key element B and card authentication data C ′. The message transmission unit 290 uses the communication device 925 to transmit the generated authentication start response message to the terminal device 100.

図8は、この実施の形態における認証処理S400の流れの一例を示す全体フローチャート図である。
認証処理S400は、利用者認証入力工程S410と、鍵共有処理S420と、カード認証処理S440と、ダミー認証生成工程S450と、利用者認証処理S460とを有する。認証処理S400は、端末装置100が利用者認証入力工程S410を実行するところから開始する。
FIG. 8 is an overall flowchart showing an example of the flow of authentication processing S400 in this embodiment.
The authentication process S400 includes a user authentication input process S410, a key sharing process S420, a card authentication process S440, a dummy authentication generation process S450, and a user authentication process S460. The authentication process S400 starts when the terminal device 100 executes the user authentication input process S410.

利用者認証入力工程S410において、端末装置100(利用者認証入力部120)は、操作入力装置912を用いて、利用者の操作に基づいて、利用者認証データを入力する。
鍵共有処理S420において、端末装置100およびICカード200は、共有鍵Kを共有する。
カード認証処理S440において、ICカード200は、カード認証データC’を生成する。端末装置100は、ICカード200が生成したカード認証データC’を検証することにより、ICカード200の認証に成功したか失敗したかを判定する。ICカード200の認証に成功したと判定した場合、端末装置100は、利用者認証処理S460へ処理を進める。ICカード200の認証に失敗したと判定した場合、端末装置100は、ダミー認証生成工程S450へ処理を進める。
ダミー認証生成工程S450において、端末装置100(ダミー認証生成部151)は、処理装置911を用いて、ダミーの利用者認証データを生成する。
利用者認証処理S460において、端末装置100は、利用者認証コマンドを生成する。ICカード200は、端末装置100が生成した利用者認証コマンドを検証して、利用者の認証に成功したか失敗したかを判定する。
In the user authentication input step S410, the terminal device 100 (user authentication input unit 120) uses the operation input device 912 to input user authentication data based on a user operation.
In the key sharing process S420, the terminal device 100 and the IC card 200 share the shared key K.
In the card authentication process S440, the IC card 200 generates card authentication data C ′. The terminal device 100 determines whether the authentication of the IC card 200 has succeeded or failed by verifying the card authentication data C ′ generated by the IC card 200. When it is determined that the authentication of the IC card 200 is successful, the terminal device 100 proceeds to the user authentication process S460. If it is determined that the authentication of the IC card 200 has failed, the terminal device 100 proceeds to the dummy authentication generation step S450.
In the dummy authentication generation step S450, the terminal device 100 (dummy authentication generation unit 151) uses the processing device 911 to generate dummy user authentication data.
In the user authentication process S460, the terminal device 100 generates a user authentication command. The IC card 200 verifies the user authentication command generated by the terminal device 100 and determines whether the user authentication has succeeded or failed.

図9は、この実施の形態における認証処理S400の一部の詳細な流れの一例を示す詳細フローチャート図である。
端末装置100は、端末乱数生成工程S421と、端末鍵要素生成工程S422と、端末鍵要素送信工程S423と、メッセージ受信工程S431と、端末共有鍵生成工程S424と、端末認証ハッシュ工程S441と、端末認証生成工程S442と、カード認証工程S443と、ダミー認証生成工程S450とを実行する。
ICカード200は、端末鍵要素受信工程S521と、カード乱数生成工程S522と、カード鍵要素生成工程S523と、カード共有鍵生成工程S524と、カード認証ハッシュ工程S541と、カード認証生成工程S542と、メッセージ送信工程S531とを実行する。
このうち、端末乱数生成工程S421と、端末鍵要素生成工程S422と、端末鍵要素送信工程S423と、端末共有鍵生成工程S424と、端末鍵要素受信工程S521と、カード乱数生成工程S522と、カード鍵要素生成工程S523と、カード共有鍵生成工程S524とは、鍵共有処理S420の一部である。また、端末認証ハッシュ工程S441と、端末認証生成工程S442と、カード認証工程S443と、カード認証ハッシュ工程S541とは、カード認証処理S440の一部である。また、メッセージ受信工程S431と、メッセージ送信工程S531とは、鍵共有処理S420とカード認証処理S440との両方に属する工程である。
このように、鍵共有処理S420が終わったあとでカード認証処理S440が実行されるわけではなく、鍵共有処理S420とカード認証処理S440とは、入り組んだ順序で実行される。
FIG. 9 is a detailed flowchart showing an example of a part of the detailed flow of the authentication processing S400 in this embodiment.
The terminal device 100 includes a terminal random number generation step S421, a terminal key element generation step S422, a terminal key element transmission step S423, a message reception step S431, a terminal shared key generation step S424, a terminal authentication hash step S441, a terminal An authentication generation step S442, a card authentication step S443, and a dummy authentication generation step S450 are executed.
The IC card 200 includes a terminal key element reception step S521, a card random number generation step S522, a card key element generation step S523, a card shared key generation step S524, a card authentication hash step S541, and a card authentication generation step S542. The message transmission step S531 is executed.
Among these, terminal random number generation step S421, terminal key element generation step S422, terminal key element transmission step S423, terminal shared key generation step S424, terminal key element reception step S521, card random number generation step S522, card The key element generation step S523 and the card shared key generation step S524 are part of the key sharing process S420. The terminal authentication hash process S441, the terminal authentication generation process S442, the card authentication process S443, and the card authentication hash process S541 are part of the card authentication process S440. The message reception step S431 and the message transmission step S531 are steps belonging to both the key sharing process S420 and the card authentication process S440.
As described above, the card authentication process S440 is not executed after the key sharing process S420 is completed, and the key sharing process S420 and the card authentication process S440 are executed in an intricate order.

端末装置100は、利用者認証入力工程S410を実行したのち、端末乱数生成工程S421を実行するところから鍵共有処理S420を開始する。   After executing the user authentication input step S410, the terminal device 100 starts the key sharing process S420 from the point where the terminal random number generation step S421 is executed.

端末乱数生成工程S421において、端末装置100の端末乱数生成部133は、処理装置911を用いて、端末乱数aをランダムに選択する。端末装置100は、処理装置911を用いて、端末鍵要素生成工程S422へ処理を進める。
端末鍵要素生成工程S422において、端末装置100の端末鍵要素生成部134は、処理装置911を用いて、端末乱数生成工程S421で端末乱数生成部133が選択した端末乱数aに基づいて、端末鍵要素Aを算出する。端末装置100は、処理装置911を用いて、端末鍵要素送信工程S423へ処理を進める。
端末鍵要素送信工程S423において、端末装置100の端末鍵要素送信部181は、通信装置915を用いて、端末鍵要素生成工程S422で端末鍵要素生成部134が算出した端末鍵要素Aを含む認証開始メッセージを、ICカード200に対して送信する。端末装置100は、処理装置911を用いて、メッセージ受信工程S431へ処理を進め、送信した認証開始メッセージに対する応答が、ICカード200から返ってくるのを待つ。
In the terminal random number generation step S421, the terminal random number generation unit 133 of the terminal device 100 uses the processing device 911 to randomly select the terminal random number a. The terminal device 100 proceeds to the terminal key element generation step S422 using the processing device 911.
In the terminal key element generation step S422, the terminal key element generation unit 134 of the terminal device 100 uses the processing device 911, based on the terminal random number a selected by the terminal random number generation unit 133 in the terminal random number generation step S421. Element A is calculated. The terminal device 100 uses the processing device 911 to advance the process to the terminal key element transmission step S423.
In the terminal key element transmission step S423, the terminal key element transmission unit 181 of the terminal device 100 uses the communication device 915 to perform authentication including the terminal key element A calculated by the terminal key element generation unit 134 in the terminal key element generation step S422. A start message is transmitted to the IC card 200. The terminal device 100 uses the processing device 911 to proceed to the message reception step S431 and waits for a response to the transmitted authentication start message to be returned from the IC card 200.

ICカード200は、端末装置100が送信した認証開始メッセージを受信して、端末鍵要素受信工程S521を実行するところから、鍵共有処理S420を開始する。   The IC card 200 receives the authentication start message transmitted by the terminal device 100, and starts the key sharing process S420 from the point where the terminal key element receiving step S521 is executed.

端末鍵要素受信工程S521において、ICカード200の端末鍵要素受信部281は、通信装置925を用いて、端末鍵要素送信工程S423で端末装置100が送信した認証開始メッセージを受信する。ICカード200は、処理装置921を用いて、カード乱数生成工程S522へ処理を進める。
カード乱数生成工程S522において、ICカード200のカード乱数生成部233は、処理装置921を用いて、カード乱数bをランダムに選択する。ICカード200は、処理装置921を用いて、カード鍵要素生成工程S523へ処理を進める。
カード鍵要素生成工程S523において、ICカード200のカード鍵要素生成部234は、処理装置921を用いて、カード乱数生成工程S522でカード乱数生成部233が選択したカード乱数bに基づいて、カード鍵要素Bを算出する。ICカード200は、処理装置921を用いて、カード共有鍵生成工程S524へ処理を進める。
カード共有鍵生成工程S524において、ICカード200のカード共有鍵生成部235は、処理装置911を用いて、端末鍵要素受信工程S521で端末鍵要素受信部281が受信した認証開始メッセージに含まれる端末鍵要素Aと、カード乱数生成工程S522でカード乱数生成部233が選択したカード乱数bとに基づいて、カード共有鍵Kを算出する。ICカード200は、処理装置921を用いて、カード認証ハッシュ工程S541へ処理を進める。
In the terminal key element receiving step S521, the terminal key element receiving unit 281 of the IC card 200 receives the authentication start message transmitted from the terminal device 100 in the terminal key element transmitting step S423 using the communication device 925. The IC card 200 proceeds to the card random number generation step S522 using the processing device 921.
In the card random number generation step S522, the card random number generation unit 233 of the IC card 200 uses the processing device 921 to randomly select the card random number b. The IC card 200 proceeds to the card key element generation step S523 using the processing device 921.
In the card key element generation step S523, the card key element generation unit 234 of the IC card 200 uses the processing device 921 to generate a card key based on the card random number b selected by the card random number generation unit 233 in the card random number generation step S522. Element B is calculated. The IC card 200 proceeds to the card shared key generation step S524 using the processing device 921.
In the card shared key generation step S524, the card shared key generation unit 235 of the IC card 200 uses the processing device 911 and the terminal included in the authentication start message received by the terminal key element reception unit 281 in the terminal key element reception step S521. A card shared key K is calculated based on the key element A and the card random number b selected by the card random number generation unit 233 in the card random number generation step S522. The IC card 200 proceeds to the card authentication hash process S541 using the processing device 921.

カード認証ハッシュ工程S541から、カード認証処理S440が開始する。
カード認証ハッシュ工程S541において、ICカード200のカード認証ハッシュ部241は、処理装置921を用いて、利用者認証記憶部220が記憶した利用者認証データに基づいて、カードハッシュ値HKを算出する。ICカード200は、処理装置911を用いて、カード認証生成工程S542へ処理を進める。
カード認証生成工程S542において、ICカード200のカード認証生成部242は、処理装置921を用いて、カード共有鍵生成工程S524でカード共有鍵生成部235が算出したカード共有鍵Kと、カード認証ハッシュ工程S541でカード認証ハッシュ部241が算出したカードハッシュ値HKとに基づいて、カード認証データC’を算出する。ICカード200は、処理装置911を用いて、メッセージ送信工程S531へ処理を進める。
Card authentication processing S440 starts from card authentication hash process S541.
In the card authentication hash process S541, the card authentication hash unit 241 of the IC card 200 uses the processing device 921 to calculate the card hash value HK based on the user authentication data stored in the user authentication storage unit 220. The IC card 200 advances the processing to the card authentication generation step S542 using the processing device 911.
In the card authentication generation step S542, the card authentication generation unit 242 of the IC card 200 uses the processing device 921, and the card shared key K calculated by the card shared key generation unit 235 in the card shared key generation step S524 and the card authentication hash. Card authentication data C ′ is calculated based on the card hash value HK calculated by the card authentication hash unit 241 in step S541. The IC card 200 proceeds to the message transmission step S531 using the processing device 911.

メッセージ送信工程S531において、ICカード200のメッセージ送信部290(カード鍵要素送信部291およびカード認証送信部292)は、通信装置925を用いて、カード鍵要素生成工程S523でカード鍵要素生成部234が算出したカード鍵要素Bと、カード認証生成工程S542でカード認証生成部242が算出したカード認証データC’とを含む認証開始応答メッセージを、端末装置100に対して送信する。ICカード200における鍵共有処理S420及びカード認証処理S440は、これで終わりである。ICカード200は、処理装置921を用いて、利用者認証処理S460へ処理を進める。   In the message transmission step S531, the message transmission unit 290 (the card key element transmission unit 291 and the card authentication transmission unit 292) of the IC card 200 uses the communication device 925 and the card key element generation unit 234 in the card key element generation step S523. An authentication start response message including the card key element B calculated by the card authentication and the card authentication data C ′ calculated by the card authentication generation unit 242 in the card authentication generation step S542 is transmitted to the terminal device 100. This is the end of the key sharing process S420 and the card authentication process S440 in the IC card 200. The IC card 200 advances the process to the user authentication process S460 using the processing device 921.

メッセージ受信工程S431において、端末装置100のメッセージ受信部190(カード鍵要素受信部191およびカード認証受信部192)は、通信装置925を用いて、メッセージ送信工程S531でICカード200が送信した認証開始応答メッセージを受信する。端末装置100は、処理装置911を用いて、端末共有鍵生成工程S424へ処理を進める。   In the message reception step S431, the message reception unit 190 (the card key element reception unit 191 and the card authentication reception unit 192) of the terminal device 100 uses the communication device 925 to start the authentication transmitted by the IC card 200 in the message transmission step S531. Receive a response message. Using the processing device 911, the terminal device 100 advances the processing to the terminal shared key generation step S424.

端末共有鍵生成工程S424において、端末装置100の端末共有鍵生成部135は、処理装置911を用いて、端末乱数生成工程S421で端末乱数生成部133が選択した端末乱数aと、メッセージ受信工程S431でメッセージ受信部190が受信した認証開始応答メッセージに含まれるカード鍵要素Bとに基づいて、端末共有鍵Kを算出する。端末装置100は、処理装置911を用いて、端末認証ハッシュ工程S441へ処理を進める。   In the terminal shared key generation step S424, the terminal shared key generation unit 135 of the terminal device 100 uses the processing device 911 and the terminal random number a selected by the terminal random number generation unit 133 in the terminal random number generation step S421 and the message reception step S431. The terminal shared key K is calculated based on the card key element B included in the authentication start response message received by the message receiving unit 190. The terminal device 100 uses the processing device 911 to advance the process to the terminal authentication hash process S441.

端末認証ハッシュ工程S441において、端末装置100の端末認証ハッシュ部141は、処理装置911を用いて、利用者認証入力工程S410で利用者認証入力部120が入力した利用者認証データに基づいて、端末ハッシュ値HKを算出する。端末装置100は、処理装置911を用いて、端末認証生成工程S442へ処理を進める。
端末認証生成工程S442において、端末装置100の端末認証生成部142は、処理装置911を用いて、端末共有鍵生成工程S424で端末共有鍵生成部135が算出した端末共有鍵Kと、端末認証ハッシュ工程S441で端末認証ハッシュ部141が算出した端末ハッシュ値HKとに基づいて、カード検証データCを算出する。端末装置100は、処理装置911を用いて、カード認証工程S443へ処理を進める。
カード認証工程S443において、端末装置100のカード認証部143は、処理装置911を用いて、メッセージ受信工程S431でメッセージ受信部190が受信した認証開始応答メッセージに含まれるカード認証データC’と、端末認証生成工程S442で端末認証生成部142が算出したカード検証データCとを比較する。
両者が一致する場合は、認証成功である。端末装置100は、処理装置911を用いて、利用者認証処理S460へ処理を進める。
両者が一致しない場合は、認証失敗である。端末装置100は、処理装置911を用いて、ダミー認証生成工程S450へ処理を進める。
In the terminal authentication hash step S441, the terminal authentication hash unit 141 of the terminal device 100 uses the processing device 911, based on the user authentication data input by the user authentication input unit 120 in the user authentication input step S410. A hash value HK is calculated. The terminal device 100 uses the processing device 911 to advance the process to the terminal authentication generation step S442.
In the terminal authentication generation step S442, the terminal authentication generation unit 142 of the terminal device 100 uses the processing device 911 and the terminal shared key K calculated by the terminal shared key generation unit 135 in the terminal shared key generation step S424 and the terminal authentication hash. The card verification data C is calculated based on the terminal hash value HK calculated by the terminal authentication hash unit 141 in step S441. Using the processing device 911, the terminal device 100 advances the processing to the card authentication step S443.
In the card authentication step S443, the card authentication unit 143 of the terminal device 100 uses the processing device 911, the card authentication data C ′ included in the authentication start response message received by the message reception unit 190 in the message reception step S431, and the terminal The card verification data C calculated by the terminal authentication generation unit 142 in the authentication generation step S442 is compared.
If both match, authentication is successful. Using the processing device 911, the terminal device 100 advances the processing to user authentication processing S460.
If they do not match, the authentication has failed. The terminal device 100 uses the processing device 911 to advance the process to the dummy authentication generation step S450.

図10は、この実施の形態における利用者認証処理S460の詳細な流れの一例を示す詳細フローチャート図である。
利用者認証処理S460において、端末装置100は、利用者認証生成工程S461と、利用者認証暗号化工程S462と、暗号化認証送信工程S463とを実行する。ICカード200は、暗号化認証受信工程S561と、利用者認証復号工程S562と、利用者認証工程S563とを実行する。利用者認証処理S460は、端末装置100のカード認証部143が認証成功と判定した場合、あるいは、カード認証部143が認証失敗と判定し、端末装置100がダミー認証生成工程S450を実行したのちに、端末装置100が利用者認証生成工程S461を実行するところから処理を開始する。
FIG. 10 is a detailed flowchart showing an example of a detailed flow of the user authentication processing S460 in this embodiment.
In the user authentication process S460, the terminal device 100 executes a user authentication generation step S461, a user authentication encryption step S462, and an encryption authentication transmission step S463. The IC card 200 executes an encryption authentication reception step S561, a user authentication decryption step S562, and a user authentication step S563. The user authentication processing S460 is performed after the card authentication unit 143 of the terminal device 100 determines that the authentication is successful, or after the card authentication unit 143 determines that the authentication is unsuccessful and the terminal device 100 executes the dummy authentication generation step S450. The processing is started from the point where the terminal device 100 executes the user authentication generation step S461.

利用者認証生成工程S461において、端末装置100の利用者認証生成部152は、処理装置911を用いて、利用者認証コマンドを生成する。
カード認証処理S440でカード認証部143がICカード200の認証に成功した場合、利用者認証生成部152は、処理装置911を用いて、利用者認証入力工程S410で利用者認証入力部120が入力した利用者認証データを含む利用者認証コマンドを生成する。
カード認証処理S440でカード認証部143がICカード200の認証に失敗した場合、利用者認証生成部152は、処理装置911を用いて、ダミー認証生成工程S450でダミー認証生成部151が生成したダミーの利用者認証データを含む利用者認証コマンドを生成する。
端末装置100は、処理装置911を用いて、利用者認証暗号化工程S462へ処理を進める。
In the user authentication generation step S461, the user authentication generation unit 152 of the terminal device 100 generates a user authentication command using the processing device 911.
When the card authentication unit 143 succeeds in the authentication of the IC card 200 in the card authentication process S440, the user authentication generation unit 152 uses the processing device 911 to input the user authentication input unit 120 in the user authentication input step S410. A user authentication command including the generated user authentication data is generated.
When the card authentication unit 143 fails to authenticate the IC card 200 in the card authentication process S440, the user authentication generation unit 152 uses the processing device 911 to generate the dummy generated by the dummy authentication generation unit 151 in the dummy authentication generation step S450. A user authentication command including user authentication data is generated.
The terminal device 100 proceeds to the user authentication encryption step S462 using the processing device 911.

利用者認証暗号化工程S462において、端末装置100の利用者認証暗号化部153は、処理装置911を用いて、端末共有鍵生成工程S424で端末共有鍵生成部135が算出した端末共有鍵Kと、利用者認証生成工程S461で利用者認証生成部152が生成した利用者認証コマンドとに基づいて、暗号化利用者認証コマンドを生成する。端末装置100は、処理装置911を用いて、暗号化認証送信工程S463へ処理を進める。
暗号化認証送信工程S463において、端末装置100の暗号化認証送信部182は、通信装置915を用いて、利用者認証暗号化工程S462で利用者認証暗号化部153が生成した暗号化利用者認証コマンドを、ICカード200に対して送信する。端末装置100における利用者認証処理S460は、これで終わりである。
In the user authentication encryption step S462, the user authentication encryption unit 153 of the terminal device 100 uses the processing device 911 and the terminal shared key K calculated by the terminal shared key generation unit 135 in the terminal shared key generation step S424. The encrypted user authentication command is generated based on the user authentication command generated by the user authentication generation unit 152 in the user authentication generation step S461. The terminal device 100 uses the processing device 911 to advance the process to the encrypted authentication transmission step S463.
In the encryption authentication transmission step S463, the encryption authentication transmission unit 182 of the terminal device 100 uses the communication device 915, and the encryption user authentication generated by the user authentication encryption unit 153 in the user authentication encryption step S462. The command is transmitted to the IC card 200. This is the end of the user authentication process S460 in the terminal device 100.

ICカード200は、端末装置100が送信した暗号化利用者認証コマンドを受信して、暗号化認証受信工程S561を実行するところから、利用者認証処理S460を開始する。   The IC card 200 receives the encrypted user authentication command transmitted from the terminal device 100 and executes the encrypted authentication receiving step S561, and then starts the user authentication process S460.

暗号化認証受信工程S561において、ICカード200の暗号化認証受信部282は、通信装置925を用いて、端末装置100が送信した暗号化利用者認証コマンドを受信する。ICカード200は、処理装置921を用いて、利用者認証復号工程S562へ処理を進める。
利用者認証復号工程S562において、ICカード200の利用者認証復号部251は、処理装置911を用いて、カード共有鍵生成工程S524でカード共有鍵生成部235が算出したカード共有鍵Kと、暗号化認証受信工程S561で暗号化認証受信部282が受信した暗号化利用者認証コマンドとに基づいて、利用者認証コマンドを復号する。ICカード200は、処理装置921を用いて、利用者認証工程S563へ処理を進める。
利用者認証工程S563において、ICカード200の利用者認証部252は、処理装置921を用いて、利用者認証記憶部220が記憶した利用者認証データと、利用者認証復号工程S562で利用者認証復号部251が復号した利用者認証コマンドに含まれる利用者認証データとを比較する。両者が一致する場合は、認証成功である。両者が一致しない場合は、認証失敗である。
ICカード200は、処理装置921を用いて、利用者認証処理S460を終了し、認証結果に基づく処理をする。
In the encryption authentication reception step S561, the encryption authentication reception unit 282 of the IC card 200 receives the encryption user authentication command transmitted by the terminal device 100 using the communication device 925. The IC card 200 proceeds to the user authentication decryption step S562 using the processing device 921.
In the user authentication decryption step S562, the user authentication decryption unit 251 of the IC card 200 uses the processing device 911 and the card shared key K calculated by the card shared key generation unit 235 in the card shared key generation step S524 and the encryption. The user authentication command is decrypted based on the encrypted user authentication command received by the encryption authentication receiving unit 282 in the authentication authentication receiving step S561. The IC card 200 proceeds to the user authentication step S563 using the processing device 921.
In the user authentication step S563, the user authentication unit 252 of the IC card 200 uses the processing device 921, and the user authentication data stored in the user authentication storage unit 220 and the user authentication in the user authentication decryption step S562. The user authentication data included in the user authentication command decrypted by the decryption unit 251 is compared. If both match, authentication is successful. If they do not match, the authentication has failed.
The IC card 200 uses the processing device 921 to end the user authentication processing S460 and performs processing based on the authentication result.

認証システム800は、端末装置100と、アイシーカード(ICカード200)とを有する。
上記端末装置100は、操作入力装置912と、端末処理装置(処理装置911)と、端末通信装置(通信装置915)と、利用者認証入力部120と、カード認証受信部192と、端末共有鍵生成部135と、カード認証部143と、利用者認証生成部152と、利用者認証暗号化部153と、暗号化認証送信部182とを有する。
操作入力装置912は、利用者の操作を入力する。
端末処理装置(911)は、データを処理する。
端末通信装置(915)は、上記アイシーカード(200)と通信する。
利用者認証入力部120は、上記操作入力装置912を用いて、上記利用者を認証する利用者認証データを入力する。
カード認証受信部192は、上記端末通信装置(915)を用いて、上記アイシーカード(200)が送信したカード認証データC’を受信する。
端末共有鍵生成部135は、上記端末処理装置(911)を用いて、上記アイシーカード(200)と共有する共有鍵(端末共有鍵K)を生成する。
カード認証部143は、上記端末処理装置(911)を用いて、上記利用者認証入力部120が入力した利用者認証データと、上記端末共有鍵生成部135が生成した共有鍵Kと、上記カード認証受信部192が受信したカード認証データC’とに基づいて、上記アイシーカード(200)を認証する。
利用者認証生成部152は、上記カード認証部143が上記アイシーカード(200)の認証に成功した場合に、上記端末処理装置(911)を用いて、上記利用者認証入力部120が入力した利用者認証データに基づいて、上記アイシーカード(200)に対して上記利用者の認証を要求する利用者認証コマンドを生成する。
利用者認証暗号化部153は、上記端末処理装置(911)を用いて、上記利用者認証生成部152が生成した利用者認証コマンドを、上記端末共有鍵生成部135が生成した共有鍵Kで暗号化して、暗号化認証コマンドを生成する。
暗号化認証送信部182は、上記端末通信装置(915)を用いて、上記利用者認証暗号化部153が生成した暗号化認証コマンドを上記アイシーカード(200)に対して送信する。
The authentication system 800 includes the terminal device 100 and an IC card (IC card 200).
The terminal device 100 includes an operation input device 912, a terminal processing device (processing device 911), a terminal communication device (communication device 915), a user authentication input unit 120, a card authentication receiving unit 192, and a terminal shared key. The generation unit 135, the card authentication unit 143, the user authentication generation unit 152, the user authentication encryption unit 153, and the encryption authentication transmission unit 182 are included.
The operation input device 912 inputs a user operation.
The terminal processing device (911) processes the data.
The terminal communication device (915) communicates with the IC card (200).
The user authentication input unit 120 uses the operation input device 912 to input user authentication data for authenticating the user.
The card authentication receiving unit 192 receives the card authentication data C ′ transmitted from the IC card (200) using the terminal communication device (915).
The terminal shared key generation unit 135 generates a shared key (terminal shared key K) shared with the IC card (200) using the terminal processing device (911).
The card authenticating unit 143 uses the terminal processing device (911), the user authentication data input by the user authentication input unit 120, the shared key K generated by the terminal shared key generating unit 135, and the card The IC card (200) is authenticated based on the card authentication data C ′ received by the authentication receiving unit 192.
The user authentication generation unit 152 uses the terminal processing device (911) to input the user authentication input unit 120 when the card authentication unit 143 succeeds in authenticating the IC card (200). Based on the user authentication data, a user authentication command for requesting the user's authentication to the ic card (200) is generated.
The user authentication encryption unit 153 uses the terminal processing apparatus (911) to execute the user authentication command generated by the user authentication generation unit 152 using the shared key K generated by the terminal shared key generation unit 135. Encrypt and generate an encrypted authentication command.
The encryption authentication transmission unit 182 transmits the encryption authentication command generated by the user authentication encryption unit 153 to the ic card (200) using the terminal communication device (915).

上記アイシーカード(200)は、カード記憶装置(記憶装置924)と、カード処理装置(処理装置921)と、カード通信装置(通信装置925)と、利用者認証記憶部220と、カード共有鍵生成部235と、カード認証生成部242と、カード認証送信部292と、暗号化認証受信部282と、利用者認証復号部251と、利用者認証部252とを有する。
カード記憶装置(924)は、データを記憶する。
カード処理装置(921)は、データを処理する。
カード通信装置(925)は、上記端末装置100と通信する。
利用者認証記憶部220は、上記カード記憶装置(924)を用いて、利用者を認証する利用者認証データを記憶する。
カード共有鍵生成部235は、上記カード処理装置(921)を用いて、上記端末装置100と共有する共有鍵(カード共有鍵K)を生成する。
カード認証生成部242は、上記カード処理装置(921)を用いて、上記利用者認証記憶部220が記憶した利用者認証データと、上記カード共有鍵生成部235が生成した共有鍵Kとに基づいて、カード認証データC’を生成する。
カード認証送信部292は、上記カード通信装置(925)を用いて、上記カード認証生成部242が生成したカード認証データC’を上記端末装置100に対して送信する。
暗号化認証受信部282は、上記カード通信装置(925)を用いて、上記端末装置100が送信した暗号化認証コマンドを受信する。
利用者認証復号部251は、上記カード処理装置(921)を用いて、上記暗号化認証受信部282が受信した暗号化認証コマンドを、上記カード共有鍵生成部235が生成した共有鍵Kで復号して、利用者認証コマンドを生成する。
利用者認証部252は、上記カード処理装置(921)を用いて、上記利用者認証記憶部220が記憶した利用者認証データと、上記利用者認証復号部251が生成した利用者認証コマンドとに基づいて、利用者を認証する。
The IC card (200) includes a card storage device (storage device 924), a card processing device (processing device 921), a card communication device (communication device 925), a user authentication storage unit 220, and a card shared key generation. A unit 235, a card authentication generation unit 242, a card authentication transmission unit 292, an encryption authentication reception unit 282, a user authentication decryption unit 251, and a user authentication unit 252.
The card storage device (924) stores data.
The card processing device (921) processes data.
The card communication device (925) communicates with the terminal device 100.
The user authentication storage unit 220 stores user authentication data for authenticating the user using the card storage device (924).
The card shared key generation unit 235 uses the card processing device (921) to generate a shared key (card shared key K) shared with the terminal device 100.
The card authentication generation unit 242 is based on the user authentication data stored in the user authentication storage unit 220 and the shared key K generated by the card shared key generation unit 235 using the card processing device (921). Thus, card authentication data C ′ is generated.
The card authentication transmission unit 292 transmits the card authentication data C ′ generated by the card authentication generation unit 242 to the terminal device 100 using the card communication device (925).
The encryption authentication receiving unit 282 receives the encryption authentication command transmitted by the terminal device 100 using the card communication device (925).
The user authentication decryption unit 251 decrypts the encryption authentication command received by the encryption authentication reception unit 282 with the shared key K generated by the card shared key generation unit 235 using the card processing device (921). Then, a user authentication command is generated.
The user authentication unit 252 uses the card processing device (921) to convert the user authentication data stored in the user authentication storage unit 220 and the user authentication command generated by the user authentication decryption unit 251. Based on this, the user is authenticated.

利用者認証暗号化部153が暗号化した暗号化利用者認証コマンドをICカード200に対して送信するので、端末装置100とICカード200との間の通信を第三者が傍受して暗号化利用者認証コマンドを入手したとしても、そこから利用者認証データを入手することはできない。
端末共有鍵生成部135とカード共有鍵生成部235とが、端末装置100とICカード200とで共有する共有鍵Kを生成するので、利用者認証暗号化部153が暗号化した暗号化利用者認証コマンドを、利用者認証復号部251が正しく復号できる。
暗号化利用者認証コマンドを送信する前に、ICカード200を認証して、偽物でないかを判定するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。
ICカード200の認証に用いるカード認証データC’は、利用者認証記憶部220が記憶した利用者認証データと、カード共有鍵生成部235が共有した共有鍵Kとに基づいて生成する。これにより、利用者認証記憶部220が記憶した利用者認証データと、利用者認証入力部120が入力した利用者認証データとが一致するか否かを検証できる。また、端末装置100とICカード200との間の通信を第三者が傍受してカード認証データC’を入手したとしても、共通鍵Kを知らなければ、そこから利用者識別データを入手することはできない。
Since the encrypted user authentication command encrypted by the user authentication encryption unit 153 is transmitted to the IC card 200, a communication between the terminal device 100 and the IC card 200 is intercepted and encrypted by a third party. Even if a user authentication command is obtained, user authentication data cannot be obtained therefrom.
Since the terminal shared key generation unit 135 and the card shared key generation unit 235 generate the shared key K shared between the terminal device 100 and the IC card 200, the encrypted user encrypted by the user authentication encryption unit 153 The user authentication decrypting unit 251 can correctly decrypt the authentication command.
Before transmitting the encrypted user authentication command, the IC card 200 is authenticated to determine whether it is a fake, so that it is possible to prevent user authentication data from leaking through the fake IC card.
The card authentication data C ′ used for authentication of the IC card 200 is generated based on the user authentication data stored in the user authentication storage unit 220 and the shared key K shared by the card shared key generation unit 235. Thereby, it is possible to verify whether the user authentication data stored in the user authentication storage unit 220 matches the user authentication data input by the user authentication input unit 120. Even if a third party intercepts communication between the terminal device 100 and the IC card 200 and obtains the card authentication data C ′, if the common key K is not known, the user identification data is obtained therefrom. It is not possible.

端末装置100は、ダミー認証生成部151を有する。
ダミー認証生成部151は、上記カード認証部143が上記アイシーカード(200)の認証に失敗した場合に、上記端末処理装置(911)を用いて、ダミーの利用者認証データをランダムに生成する。
利用者認証生成部152は、上記カード認証部143が上記アイシーカード(200)の認証に失敗した場合に、上記端末処理装置(911)を用いて、上記ダミー認証生成部151が生成した利用者認証データに基づいて、上記利用者認証コマンドを生成する。
The terminal device 100 includes a dummy authentication generation unit 151.
When the card authentication unit 143 fails to authenticate the IC card (200), the dummy authentication generation unit 151 randomly generates dummy user authentication data using the terminal processing device (911).
The user authentication generation unit 152 uses the terminal processing device (911) to generate the user generated by the dummy authentication generation unit 151 when the card authentication unit 143 fails to authenticate the IC card (200). The user authentication command is generated based on the authentication data.

ICカード200の認証に失敗した場合に、ダミーの利用者認証データを含む利用者認証コマンドを生成するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。また、ICカード200が本物である場合には、利用者の認証失敗によるロック機能を働かせることができるので、盗まれたICカード200から利用者認証データが漏洩するのを防ぐことができる。   When authentication of the IC card 200 fails, a user authentication command including dummy user authentication data is generated, so that user authentication data can be prevented from leaking through a fake IC card. In addition, when the IC card 200 is genuine, a lock function due to a user authentication failure can be activated, so that user authentication data can be prevented from leaking from the stolen IC card 200.

端末装置100は、端末乱数生成部133と、端末鍵要素生成部134と、端末鍵要素送信部181と、カード鍵要素受信部191とを有する。
端末乱数生成部133は、上記端末処理装置(911)を用いて、乱数(端末乱数a)を生成する。
端末鍵要素生成部134は、上記端末処理装置(911)を用いて、上記端末乱数生成部133が生成した乱数aに基づいて、上記共有鍵Kのもととなる鍵要素(端末鍵要素A)を生成する。
端末鍵要素送信部181は、上記端末通信装置(915)を用いて、上記端末鍵要素生成部134が生成した鍵要素Aを、上記アイシーカード(200)に対して送信する。
カード鍵要素受信部191は、上記端末通信装置(915)を用いて、上記アイシーカード(200)が送信した鍵要素(カード鍵要素B)を受信する。
端末共有鍵生成部135は、上記端末処理装置(911)を用いて、上記端末乱数生成部133が生成した乱数aと、上記カード鍵要素受信部191が受信した鍵要素Bとに基づいて、上記共有鍵Kを生成する。
The terminal device 100 includes a terminal random number generation unit 133, a terminal key element generation unit 134, a terminal key element transmission unit 181, and a card key element reception unit 191.
The terminal random number generation unit 133 generates a random number (terminal random number a) using the terminal processing device (911).
The terminal key element generation unit 134 uses the terminal processing device (911) to generate a key element (terminal key element A) based on the random number a generated by the terminal random number generation unit 133 based on the random number a. ) Is generated.
The terminal key element transmission unit 181 transmits the key element A generated by the terminal key element generation unit 134 to the ic card (200) using the terminal communication device (915).
The card key element receiving unit 191 receives the key element (card key element B) transmitted by the IC card (200) using the terminal communication device (915).
The terminal shared key generation unit 135 uses the terminal processing device (911), based on the random number a generated by the terminal random number generation unit 133 and the key element B received by the card key element reception unit 191. The shared key K is generated.

アイシーカード(200)は、端末鍵要素受信部281と、カード乱数生成部233と、カード鍵要素生成部234と、カード鍵要素送信部291とを有する。
端末鍵要素受信部281は、上記カード通信装置(925)を用いて、上記端末装置100が送信した鍵要素(端末鍵要素A)を受信する。
カード乱数生成部233は、上記カード処理装置(921)を用いて、乱数(カード乱数b)を生成する。
カード鍵要素生成部234は、上記カード処理装置(921)を用いて、上記カード乱数生成部233が生成した乱数bに基づいて、上記共有鍵Kのもととなる鍵要素(カード鍵要素B)を生成する。
カード鍵要素受信部191は、上記カード通信装置(925)を用いて、上記カード鍵要素生成部234が生成した鍵要素Bを上記端末装置100に対して送信する。
カード共有鍵生成部235は、上記カード処理装置(921)を用いて、上記端末鍵要素受信部281が受信した鍵要素Aと、上記カード乱数生成部233が生成した乱数bとに基づいて、上記共有鍵Kを生成する。
The IC card (200) includes a terminal key element reception unit 281, a card random number generation unit 233, a card key element generation unit 234, and a card key element transmission unit 291.
The terminal key element receiving unit 281 receives the key element (terminal key element A) transmitted by the terminal apparatus 100 using the card communication apparatus (925).
The card random number generation unit 233 generates a random number (card random number b) using the card processing device (921).
The card key element generation unit 234 uses the card processing device (921) to generate a key element (card key element B) that is the basis of the shared key K based on the random number b generated by the card random number generation unit 233. ) Is generated.
The card key element reception unit 191 transmits the key element B generated by the card key element generation unit 234 to the terminal device 100 using the card communication device (925).
Based on the key element A received by the terminal key element receiver 281 and the random number b generated by the card random number generator 233, the card shared key generator 235 uses the card processing device (921). The shared key K is generated.

端末装置100とICカード200とが、DH鍵共有方式を用いて共有鍵Kを共有するので、端末装置100とICカード200とが秘密の情報をあらかじめ共有しておく必要がない。また、端末装置100とICカード200との間の通信を第三者が傍受して、鍵要素Aと鍵要素Bとを入手したとしても、そこから共有鍵Kを入手することはできない。   Since the terminal device 100 and the IC card 200 share the shared key K using the DH key sharing method, there is no need for the terminal device 100 and the IC card 200 to share secret information in advance. Further, even if a third party intercepts communication between the terminal device 100 and the IC card 200 and obtains the key element A and the key element B, the shared key K cannot be obtained therefrom.

なお、端末装置100とICカード200とが共有鍵Kを共有する方式は、DH鍵共有方式に限らず、他の方式であってもよい。   The method in which the terminal device 100 and the IC card 200 share the shared key K is not limited to the DH key sharing method, and may be another method.

例えば、あらかじめ定めた秘密の共有鍵Kを、端末装置100およびICカード200が、それぞれ、あらかじめ記憶しておく構成であってもよい。このような構成は、端末装置100とICカード200との組み合わせが限定されている場合に有効である。端末装置100とICカード200との組み合わせが限定されている場合には、例えば、端末装置100が、ある会社のLANに接続された複数の端末装置100であり、ICカード200が、その会社の社員の社員証である場合などである。しかし、端末装置100が街頭など公衆の利用に供する場所に設置されものである場合など、端末装置100とICカード200との組み合わせが限定されていない場合には、あらかじめ共有鍵Kを共有しておくことは困難である。また、共有鍵Kの秘密を保つことが難しく、第三者に漏洩する可能性が高くなる。このため、共有鍵Kをあらかじめ共有しておくのではなく、通信のたびに新しい共有鍵Kを生成して共有する方式のほうが望ましい。   For example, the terminal device 100 and the IC card 200 may each store a predetermined secret shared key K in advance. Such a configuration is effective when the combination of the terminal device 100 and the IC card 200 is limited. When the combination of the terminal device 100 and the IC card 200 is limited, for example, the terminal device 100 is a plurality of terminal devices 100 connected to a LAN of a company, and the IC card 200 is the company's LAN. For example, when it is an employee ID card. However, when the combination of the terminal device 100 and the IC card 200 is not limited, such as when the terminal device 100 is installed in a public place such as a street, the shared key K is shared in advance. It is difficult to leave. Moreover, it is difficult to keep the secret of the shared key K, and the possibility of leakage to a third party increases. For this reason, it is preferable that the shared key K is not shared in advance, but a new shared key K is generated and shared every communication.

また、端末装置100またはICカード200が共有鍵Kをランダムに生成し、公開鍵暗号方式などを用いて暗号化して、他方に送信することにより、共有鍵Kを共有する構成であってもよい。しかし、公開鍵暗号方式における暗号処理は、公開鍵証明書の検証が必要となるなど、必要な計算量が多い。一般に、ICカード200の処理装置921は、データ処理能力が低いので、共有鍵Kを共有するための計算量が多いと、共有鍵Kの共有だけで時間がかかってしまうことになる。このため、DH鍵共有方式のように比較的少ない計算量で、共有鍵Kを共有できる方式のほうが望ましい。   Also, the terminal device 100 or the IC card 200 may be configured to share the shared key K by randomly generating the shared key K, encrypting it using a public key cryptosystem, and transmitting it to the other. . However, the cryptographic processing in the public key cryptosystem requires a large amount of calculation such as verification of the public key certificate. In general, the processing device 921 of the IC card 200 has a low data processing capability. Therefore, if the amount of calculation for sharing the shared key K is large, it takes time only to share the shared key K. Therefore, a method that can share the shared key K with a relatively small amount of calculation like the DH key sharing method is more desirable.

また、端末装置100とICカード200とが利用者識別データを共有していることを利用して共有鍵Kを共有する構成としてもよい。例えば、端末装置100及びICカード200は、利用者識別データに基づいて、仮の共有鍵を生成する。端末装置100またはICカード200は、正規の共有鍵Kをランダムに生成し、仮の共有鍵で暗号化して、他方に送信する。端末装置100が入力した利用者識別データと、ICカード200が記憶している利用者識別データとが一致していれば、暗号化された共有鍵Kを正しく復号することができるので、端末装置100とICカード200とが共有鍵Kを共有することができる。逆に、端末装置100が入力した利用者識別データと、ICカード200が記憶している利用者識別データとが一致しない場合は、共有鍵Kの共有に失敗する。このため、ICカード200は、端末装置100が送信した暗号化利用者認証コマンドを正しく復号できない。ICカード200が偽物にすり替えられている場合、偽物のICカードは、そのことをもって認証に失敗したことを知ることができる。これを手がかりにすることにより、第三者に利用者認証データが漏洩する可能性がある。逆に、利用者が偽物である場合には、ICカード200のロック機能を利用してロックさせることができなくなる。このため、共有鍵Kの共有には、利用者認証データを使用しない方式のほうが望ましい。   Further, the shared key K may be shared by using the fact that the terminal device 100 and the IC card 200 share user identification data. For example, the terminal device 100 and the IC card 200 generate a temporary shared key based on the user identification data. The terminal device 100 or the IC card 200 randomly generates a regular shared key K, encrypts it with a temporary shared key, and transmits it to the other. If the user identification data input by the terminal device 100 matches the user identification data stored in the IC card 200, the encrypted shared key K can be correctly decrypted. 100 and the IC card 200 can share the shared key K. Conversely, if the user identification data input by the terminal device 100 does not match the user identification data stored in the IC card 200, sharing of the shared key K fails. For this reason, the IC card 200 cannot correctly decrypt the encrypted user authentication command transmitted by the terminal device 100. When the IC card 200 is replaced with a fake, the fake IC card can know that the authentication has failed. By using this as a clue, user authentication data may be leaked to a third party. Conversely, when the user is a fake, it cannot be locked using the lock function of the IC card 200. For this reason, for sharing the shared key K, a method that does not use user authentication data is desirable.

アイシーカード(200)は、上記カード認証送信部292が送信するカード認証データC’と、上記カード鍵要素送信部291が送信する鍵要素Bとを、1つのメッセージ(認証開始応答メッセージ)として送信する。   The IC card (200) transmits the card authentication data C ′ transmitted by the card authentication transmission unit 292 and the key element B transmitted by the card key element transmission unit 291 as one message (authentication start response message). To do.

端末装置(100)は、上記カード認証受信部192が受信するカード認証データC’と、上記カード鍵要素受信部191が受信する鍵要素Bとを1つのメッセージ(認証開始応答メッセージ)として受信する。   The terminal device (100) receives the card authentication data C ′ received by the card authentication receiving unit 192 and the key element B received by the card key element receiving unit 191 as one message (authentication start response message). .

これにより、認証のために必要となる通信は、3回で済む。すなわち、まず、端末装置100がICカード200に対して認証開始メッセージ(鍵要素A)を送信する。次に、ICカード200が端末装置100に対して認証開始応答メッセージ(鍵要素Bおよびカード認証データC’)を送信する。最後に、端末装置100がICカード200に対して暗号化利用者認証コマンドを送信する。一般に、ICカード200の通信装置925は、通信速度が遅いので、通信の回数やデータ量が多いと、通信に時間がかかる。認証のために必要な通信の回数を3回に抑えることにより、認証にかかる時間を短縮し、ICカード200を用いた本来の処理を早く開始することができる。   As a result, the communication required for authentication is three times. That is, first, the terminal device 100 transmits an authentication start message (key element A) to the IC card 200. Next, the IC card 200 transmits an authentication start response message (key element B and card authentication data C ′) to the terminal device 100. Finally, the terminal device 100 transmits an encryption user authentication command to the IC card 200. In general, the communication device 925 of the IC card 200 has a low communication speed. Therefore, if the number of times of communication and the amount of data are large, communication takes time. By limiting the number of communications required for authentication to three, the time required for authentication can be shortened and the original processing using the IC card 200 can be started quickly.

アイシーカード(200)のカード認証生成部242は、上記カード処理装置(921)を用いて、上記利用者認証記憶部220が記憶した利用者認証データと上記カード共有鍵生成部235が生成した共有鍵Kとを所定の一方向性関数(ハッシュ関数H2)の入力とし、上記カード認証データC’として、上記一方向性関数の値を算出する。
端末装置(100)は、端末認証生成部142を有する。
端末認証生成部142は、上記端末処理装置(911)を用いて、上記利用者認証入力部120が入力した利用者認証データと上記端末共有鍵生成部135が生成した共有鍵Kとを上記一方向性関数H2の入力とし、カード検証データCとして、上記一方向性関数H2の値を算出する。
上記カード認証部143は、上記端末処理装置(911)を用いて、上記端末認証生成部142が生成したカード検証データCと、上記カード認証受信部192が受信したカード認証データC’とを比較して、一致する場合に、上記アイシーカード(200)の認証に成功したと判定する。
The card authentication generation unit 242 of the IC card (200) uses the card processing device (921) to share the user authentication data stored in the user authentication storage unit 220 and the sharing generated by the card shared key generation unit 235. Using the key K as an input of a predetermined one-way function (hash function H2), the value of the one-way function is calculated as the card authentication data C ′.
The terminal device (100) includes a terminal authentication generation unit 142.
The terminal authentication generation unit 142 uses the terminal processing device (911) to combine the user authentication data input by the user authentication input unit 120 and the shared key K generated by the terminal shared key generation unit 135 with the one key. The value of the unidirectional function H2 is calculated as the input of the directional function H2 and the card verification data C.
The card authentication unit 143 compares the card verification data C generated by the terminal authentication generation unit 142 with the card authentication data C ′ received by the card authentication reception unit 192 using the terminal processing device (911). If they match, it is determined that the authentication of the icy card (200) is successful.

一方向性関数の値をカード認証データとするので、端末装置100とICカード200との間の通信を第三者が傍受してカード認証データを入手したとしても、そこから利用者認証データや共有鍵Kを入手することはできない。
また、利用者認証データだけでなく、共有鍵Kも一方向性関数の入力とするので、総当たり攻撃に対する耐性が高くなる。例えば、利用者認証情報が4桁の暗証番号である場合、利用者認証データは、高々1万個のデータのうちのいずれかである。これに対し、共有鍵Kは、(上述したDH鍵共有方式の場合、p−1個のデータのうちのいずれかなので、利用者認証データと共有鍵Kとの組み合わせは、(p−1)×1万通りである。一方向性関数の入力が高々1万通りしかなければ、すべての入力に対して一方向性関数の値をあらかじめ算出しておき、一致する値を探すことにより、一方向性関数の入力を求めることができる。これに対し、素数pが十分大きければ、(p−1)×1万通りの入力に対して一方向性関数の値をあらじめ算出しておくことは、事実上不可能だから、利用者認証データや共通鍵Kの秘密を保つことができる。
Since the value of the one-way function is the card authentication data, even if a third party intercepts communication between the terminal device 100 and the IC card 200 and obtains the card authentication data, the user authentication data or The shared key K cannot be obtained.
Moreover, since not only the user authentication data but also the shared key K is input as a one-way function, the resistance to brute force attacks is increased. For example, when the user authentication information is a four-digit password, the user authentication data is any one of 10,000 data at most. On the other hand, the shared key K is (in the case of the DH key sharing method described above, since it is one of p-1 pieces of data, the combination of the user authentication data and the shared key K is (p-1) If there are only 10,000 unidirectional function inputs, the values of the unidirectional function are calculated in advance for all the inputs, and by searching for matching values, On the other hand, if the prime number p is sufficiently large, the value of the unidirectional function is preliminarily calculated for (p−1) × 10,000 inputs. Since this is virtually impossible, the secret of the user authentication data and the common key K can be kept.

端末装置100は、コンピュータを端末装置100として機能させるコンピュータプログラムにより実現することができる。また、ICカード200は、ICカードに上記機能を持たせるプログラムにより実現することができる。
これにより、上述した効果を奏する端末装置100およびICカード200および認証システム800を実現することができる。
The terminal device 100 can be realized by a computer program that causes a computer to function as the terminal device 100. The IC card 200 can be realized by a program that gives the IC card the above functions.
Thereby, the terminal device 100, the IC card 200, and the authentication system 800 that achieve the above-described effects can be realized.

認証システム800における認証方法は、以下の工程を有する。
あらかじめ、アイシーカード(200)が、利用者認証記憶部220として、利用者を認証する利用者認証データを記憶する。
利用者認証入力工程S410において、端末装置100が、利用者認証入力部120として、利用者の操作に基づいて、上記利用者を認証する利用者認証データを入力する。
カード共有鍵生成工程S524において、アイシーカード(200)が、カード共有鍵生成部235として、上記端末装置100と共有する共有鍵Kを生成する。
カード認証生成工程S542において、アイシーカード(200)が、カード認証生成部242として、上記利用者認証記憶部220が記憶した利用者認証データと、上記カード共有鍵生成部235が生成した共有鍵Kとに基づいて、カード認証データC’を生成する。
メッセージ送信工程S531において、アイシーカード(200)が、カード認証送信部292として、上記カード認証生成部242が生成したカード認証データC’を上記端末装置100に対して送信する。
メッセージ受信工程S431において、端末装置100が、カード認証受信部192として、上記アイシーカード(200)が送信したカード認証データC’を受信する。
端末共有鍵生成工程S424において、端末装置100が、端末共有鍵生成部135として、上記アイシーカード(200)と共有する共有鍵Kを生成する。
カード認証工程S443において、端末装置100が、カード認証部143として、上記利用者認証入力部120が入力した利用者認証データと、上記端末共有鍵生成部135が生成した共有鍵Kと、上記カード認証受信部192が受信したカード認証データC’とに基づいて、上記アイシーカードを認証する。
利用者認証生成工程S461ににおいて、上記カード認証部143が上記アイシーカード(200)の認証に成功した場合に、端末装置100が、利用者認証生成部152として、上記利用者認証入力部120が入力した利用者認証データに基づいて、上記アイシーカード(200)に対して上記利用者の認証を要求する利用者認証コマンドを生成する。
利用者認証暗号化工程S462において、端末装置100が、利用者認証暗号化部153として、上記利用者認証生成部152が生成した利用者認証コマンドを、上記端末共有鍵生成部135が生成した共有鍵Kで暗号化して、暗号化認証コマンドを生成する。
暗号化認証送信工程S463において、端末装置100が、暗号化認証送信部182として、上記利用者認証暗号化部153が生成した暗号化認証コマンドを上記アイシーカード(200)に対して送信する。
暗号化認証受信工程S561において、アイシーカード(200)が、暗号化認証受信部282として、上記端末装置100が送信した暗号化認証コマンドを受信する。
利用者認証復号工程S562において、アイシーカード(200)が、利用者認証復号部251として、上記暗号化認証受信部282が受信した暗号化認証コマンドを、上記カード共有鍵生成部235が生成した共有鍵Kで復号して、利用者認証コマンドを生成する。
利用者認証工程S563において、アイシーカード(200)が、利用者認証部252として、上記利用者認証記憶部220が記憶した利用者認証データと、上記利用者認証復号部251が生成した利用者認証コマンドとに基づいて、利用者を認証する。
The authentication method in the authentication system 800 includes the following steps.
The IC card (200) stores user authentication data for authenticating the user as the user authentication storage unit 220 in advance.
In the user authentication input step S410, the terminal device 100 inputs user authentication data for authenticating the user as the user authentication input unit 120 based on a user operation.
In the card shared key generation step S524, the IC card (200) generates a shared key K shared with the terminal device 100 as the card shared key generation unit 235.
In the card authentication generation step S542, the IC card (200) uses the user authentication data stored in the user authentication storage unit 220 as the card authentication generation unit 242 and the shared key K generated by the card shared key generation unit 235. Based on the above, card authentication data C ′ is generated.
In the message transmission step S531, the IC card (200) transmits the card authentication data C ′ generated by the card authentication generation unit 242 to the terminal device 100 as the card authentication transmission unit 292.
In the message receiving step S431, the terminal device 100 receives the card authentication data C ′ transmitted from the IC card (200) as the card authentication receiving unit 192.
In the terminal shared key generation step S424, the terminal device 100 generates a shared key K to be shared with the IC card (200) as the terminal shared key generation unit 135.
In the card authentication step S443, the terminal device 100, as the card authentication unit 143, the user authentication data input by the user authentication input unit 120, the shared key K generated by the terminal shared key generation unit 135, and the card The IC card is authenticated based on the card authentication data C ′ received by the authentication receiving unit 192.
In the user authentication generation step S461, when the card authentication unit 143 succeeds in authenticating the icy card (200), the terminal device 100 serves as the user authentication generation unit 152, and the user authentication input unit 120 Based on the entered user authentication data, a user authentication command for requesting the user to authenticate the IC card (200) is generated.
In the user authentication encryption step S462, the terminal device 100, as the user authentication encryption unit 153, shares the user authentication command generated by the user authentication generation unit 152 with the terminal shared key generation unit 135. Encrypt with the key K to generate an encrypted authentication command.
In the encryption authentication transmission step S463, the terminal device 100 transmits the encryption authentication command generated by the user authentication encryption unit 153 to the ic card (200) as the encryption authentication transmission unit 182.
In the encryption authentication receiving step S561, the IC card (200) receives the encryption authentication command transmitted by the terminal device 100 as the encryption authentication receiving unit 282.
In the user authentication decryption step S562, the IC card (200) uses the encryption authentication command received by the encryption authentication reception unit 282 as the user authentication decryption unit 251, and the shared card generated by the card shared key generation unit 235. Decrypting with the key K generates a user authentication command.
In the user authentication step S563, the ic card (200) serves as the user authentication unit 252, the user authentication data stored in the user authentication storage unit 220, and the user authentication generated by the user authentication decryption unit 251. The user is authenticated based on the command.

利用者認証暗号化部153が暗号化した暗号化利用者認証コマンドをICカード200に対して送信するので、端末装置100とICカード200との間の通信を第三者が傍受して暗号化利用者認証コマンドを入手したとしても、そこから利用者認証データを入手することはできない。
端末共有鍵生成部135とカード共有鍵生成部235とが、端末装置100とICカード200とで共有する共有鍵Kを生成するので、利用者認証暗号化部153が暗号化した暗号化利用者認証コマンドを、利用者認証復号部251が正しく復号できる。
暗号化利用者認証コマンドを送信する前に、ICカード200を認証して、偽物でないかを判定するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。
ICカード200の認証に用いるカード認証データC’は、利用者認証記憶部220が記憶した利用者認証データと、カード共有鍵生成部235が共有した共有鍵Kとに基づいて生成する。これにより、利用者認証記憶部220が記憶した利用者認証データと、利用者認証入力部120が入力した利用者認証データとが一致するか否かを検証できる。また、端末装置100とICカード200との間の通信を第三者が傍受してカード認証データを入手したとしても、共通鍵Kを知らなければ、そこから利用者識別データを入手することはできない。
Since the encrypted user authentication command encrypted by the user authentication encryption unit 153 is transmitted to the IC card 200, a communication between the terminal device 100 and the IC card 200 is intercepted and encrypted by a third party. Even if a user authentication command is obtained, user authentication data cannot be obtained therefrom.
Since the terminal shared key generation unit 135 and the card shared key generation unit 235 generate the shared key K shared between the terminal device 100 and the IC card 200, the encrypted user encrypted by the user authentication encryption unit 153 The user authentication decrypting unit 251 can correctly decrypt the authentication command.
Before transmitting the encrypted user authentication command, the IC card 200 is authenticated to determine whether it is a fake, so that it is possible to prevent user authentication data from leaking through the fake IC card.
The card authentication data C ′ used for authentication of the IC card 200 is generated based on the user authentication data stored in the user authentication storage unit 220 and the shared key K shared by the card shared key generation unit 235. Thereby, it is possible to verify whether the user authentication data stored in the user authentication storage unit 220 matches the user authentication data input by the user authentication input unit 120. Further, even if a third party intercepts communication between the terminal device 100 and the IC card 200 and obtains card authentication data, if the common key K is not known, user identification data can be obtained therefrom. Can not.

なお、カード認証部143がICカード200の認証に失敗し、ダミー認証生成部151が生成したダミーの利用者認証データを含む利用者認証コマンドを、ICカード200に対して送信した場合でも、利用者の認証に成功する場合がある。例えば、ICカード200が偽物にすり替えられている場合、偽物のICカードは、本当の利用者認証データを知らないので、本物のICカード200を偽装するため、利用者の認証に成功したことにして処理を続ける可能性がある。また、ICカード200が本物である場合、ごく稀に、ダミー認証生成部151が生成したダミーの利用者認証データが、本当の利用者認証データと一致して認証を通る可能性がある。
このような事態を防ぐため、端末装置100は、カード認証部143がICカード200の認証に失敗した場合、切断コマンドをICカード200に対して送信する構成としてもよい。例えば、端末装置100は、切断コマンド生成部と、切断コマンド送信部とを有する。切断コマンド生成部は、カード認証部143がICカード200の認証に失敗した場合、処理装置911を用いて、セッションを切断する切断コマンドを生成する。切断コマンド送信部は、暗号化認証送信部182が暗号化利用者認証コマンドを送信したのち、通信装置915を用いて、切断コマンド生成部が生成した切断コマンドをICカード200に対して送信する。
通常であれば、ICカード200は、暗号化利用者認証コマンドによる利用者の認証に失敗するので、切断コマンドは無視される。
ICカード200が利用者の認証に成功した場合、セッションが確立される。しかし、その後すぐに送信される切断コマンドにより、ICカード200は、セッションを切断する。
なお、切断コマンドを共有鍵Kにより暗号化する構成であってもよい。
Even when the card authentication unit 143 fails to authenticate the IC card 200 and the user authentication command including the dummy user authentication data generated by the dummy authentication generation unit 151 is transmitted to the IC card 200, the usage is not limited. Authentication may be successful. For example, if the IC card 200 has been replaced with a fake, the fake IC card does not know the real user authentication data, so it is assumed that the user has been successfully authenticated to impersonate the real IC card 200. May continue processing. In addition, when the IC card 200 is authentic, there is a possibility that the dummy user authentication data generated by the dummy authentication generation unit 151 may pass authentication in accordance with the real user authentication data.
In order to prevent such a situation, the terminal device 100 may be configured to transmit a disconnection command to the IC card 200 when the card authentication unit 143 fails to authenticate the IC card 200. For example, the terminal device 100 includes a disconnect command generation unit and a disconnect command transmission unit. When the card authentication unit 143 fails to authenticate the IC card 200, the disconnect command generation unit generates a disconnect command for disconnecting the session using the processing device 911. The disconnect command transmission unit transmits the disconnect command generated by the disconnect command generation unit to the IC card 200 using the communication device 915 after the encryption authentication transmission unit 182 transmits the encrypted user authentication command.
Normally, the IC card 200 fails to authenticate the user with the encrypted user authentication command, so the disconnect command is ignored.
When the IC card 200 succeeds in user authentication, a session is established. However, the IC card 200 disconnects the session by a disconnection command transmitted immediately thereafter.
Note that the disconnection command may be encrypted with the shared key K.

100 端末装置、101 PIN情報入力部、102 端末側鍵共有部、103 端末乱数生成部、104 端末鍵要素生成部、105,205 共有鍵生成部、106 カード検証部、107,114,207,215 PIN情報ハッシュ部、108,115,208,216 マック値算出部、109,217 認証情報比較部、110 端末側通信部、111 verifyPINコマンド化部、112 暗号化部、113 端末認証情報生成部、120 利用者認証入力部、130,230 鍵共有部、131,231 法記憶部、132,232 原始根記憶部、133 端末乱数生成部、134 端末鍵要素生成部、135 端末共有鍵生成部、140 カード検証部、141 端末認証ハッシュ部、142 端末認証生成部、143 カード認証部、151 ダミー認証生成部、152 利用者認証生成部、153 利用者認証暗号化部、181 端末鍵要素送信部、182 暗号化認証送信部、190 メッセージ受信部、191 カード鍵要素受信部、192 カード認証受信部、200 ICカード、201 PIN情報記憶部、202 カード側鍵共有部、203 カード乱数生成部、204 カード鍵要素生成部、206 カード認証情報生成部、210 カード側通信部、211 復号部、212 ICカード処理部、213 端末用乱数生成部、214 端末検証部、220 利用者認証記憶部、233 カード乱数生成部、234 カード鍵要素生成部、235 カード共有鍵生成部、240 認証情報生成部、241 カード認証ハッシュ部、242 カード認証生成部、251 利用者認証復号部、252 利用者認証部、281 端末鍵要素受信部、282 暗号化認証受信部、290 メッセージ送信部、291 カード鍵要素送信部、292 カード認証送信部、711,712 PIN情報、721 端末乱数、722 端末鍵要素、723 カード乱数、724 カード鍵要素、725,726 共有鍵、730,740 メッセージ、732 カード認証情報、735 カード検証結果、741,743 verifyPINコマンド、742 暗号済verifyPINコマンド、751 端末用乱数、754 端末認証情報、758 端末検証結果、800 認証システム、801 ユーザ、810 カードR/W、911,921 処理装置、912 操作入力装置、913 出力装置、914,924 記憶装置、915,925 通信装置。   100 terminal device, 101 PIN information input unit, 102 terminal side key sharing unit, 103 terminal random number generation unit, 104 terminal key element generation unit, 105, 205 shared key generation unit, 106 card verification unit, 107, 114, 207, 215 PIN information hash unit, 108, 115, 208, 216 Mac value calculation unit, 109, 217 authentication information comparison unit, 110 terminal side communication unit, 111 verify PIN command conversion unit, 112 encryption unit, 113 terminal authentication information generation unit, 120 User authentication input unit, 130,230 key sharing unit, 131,231 method storage unit, 132,232 primitive root storage unit, 133 terminal random number generation unit, 134 terminal key element generation unit, 135 terminal shared key generation unit, 140 card Verification unit, 141 terminal authentication hash unit, 142 terminal authentication generation unit, 143 car Authentication unit, 151 Dummy authentication generation unit, 152 User authentication generation unit, 153 User authentication encryption unit, 181 Terminal key element transmission unit, 182 Encryption authentication transmission unit, 190 Message reception unit, 191 Card key element reception unit, 192 card authentication reception unit, 200 IC card, 201 PIN information storage unit, 202 card side key sharing unit, 203 card random number generation unit, 204 card key element generation unit, 206 card authentication information generation unit, 210 card side communication unit, 211 Decryption unit, 212 IC card processing unit, 213 terminal random number generation unit, 214 terminal verification unit, 220 user authentication storage unit, 233 card random number generation unit, 234 card key element generation unit, 235 card shared key generation unit, 240 authentication Information generation unit, 241 card authentication hash unit, 242 card authentication generation unit, 251 User authentication decryption unit, 252 User authentication unit, 281 Terminal key element reception unit, 282 Encryption authentication reception unit, 290 Message transmission unit, 291 Card key element transmission unit, 292 Card authentication transmission unit, 711, 712 PIN information, 721 terminal random number, 722 terminal key element, 723 card random number, 724 card key element, 725, 726 shared key, 730, 740 message, 732 card authentication information, 735 card verification result, 741, 743 verifyPIN command, 742 encrypted verifyPIN command 751 terminal random number, 754 terminal authentication information, 758 terminal verification result, 800 authentication system, 801 user, 810 card R / W, 911, 921 processing device, 912 operation input device, 913 output device, 914, 924 storage device, 9 5,925 communication device.

Claims (19)

端末装置と、アイシーカードとを有する認証システムにおいて、
上記端末装置は、
利用者の操作を入力する操作入力装置と、
データを処理する端末処理装置と、
上記アイシーカードと通信する端末通信装置と、
上記操作入力装置を用いて、上記利用者を認証する利用者認証データを入力する利用者認証入力部と、
上記端末通信装置を用いて、上記アイシーカードが送信したカード認証データを受信するカード認証受信部と、
上記端末処理装置を用いて、上記アイシーカードと共有する共有鍵を生成する端末共有鍵生成部と、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証するカード認証部と、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成する利用者認証生成部と、
上記端末処理装置を用いて、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成する利用者認証暗号化部と、
上記端末通信装置を用いて、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信する暗号化認証送信部とを有し、
上記アイシーカードは、
データを記憶するカード記憶装置と、
データを処理するカード処理装置と、
上記端末装置と通信するカード通信装置と、
上記カード記憶装置を用いて、利用者を認証する利用者認証データを記憶する利用者認証記憶部と、
上記カード処理装置を用いて、上記端末装置と共有する共有鍵を生成するカード共有鍵生成部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成するカード認証生成部と、
上記カード通信装置を用いて、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信するカード認証送信部と、
上記カード通信装置を用いて、上記端末装置が送信した暗号化認証コマンドを受信する暗号化認証受信部と、
上記カード処理装置を用いて、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成する利用者認証復号部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証する利用者認証部とを有することを特徴とする認証システム。
In an authentication system having a terminal device and an IC card,
The terminal device is
An operation input device for inputting a user's operation;
A terminal processing device for processing data;
A terminal communication device for communicating with the IC card;
A user authentication input unit for inputting user authentication data for authenticating the user using the operation input device;
Using the terminal communication device, a card authentication receiving unit that receives card authentication data transmitted by the IC card,
Using the terminal processing device, a terminal shared key generation unit that generates a shared key shared with the IC card,
Based on the user authentication data input by the user authentication input unit, the shared key generated by the terminal shared key generation unit, and the card authentication data received by the card authentication reception unit using the terminal processing device. A card authentication unit for authenticating the above IC card,
When the card authentication unit succeeds in authenticating the icy card, the user is authenticated with respect to the icy card based on the user authentication data input by the user authentication input unit using the terminal processing device. A user authentication generation unit for generating a user authentication command for requesting authentication of
A user authentication cipher that generates an encrypted authentication command by encrypting the user authentication command generated by the user authentication generation unit with the shared key generated by the terminal shared key generation unit using the terminal processing device. And
An encryption authentication transmission unit that transmits the encrypted authentication command generated by the user authentication encryption unit to the IC card using the terminal communication device;
The above Icy card
A card storage device for storing data;
A card processing device for processing data;
A card communication device for communicating with the terminal device;
A user authentication storage unit for storing user authentication data for authenticating a user using the card storage device;
Using the card processing device, a card shared key generating unit that generates a shared key shared with the terminal device;
A card authentication generation unit that generates card authentication data based on the user authentication data stored in the user authentication storage unit and the shared key generated by the card shared key generation unit using the card processing device; ,
A card authentication transmission unit that transmits the card authentication data generated by the card authentication generation unit to the terminal device using the card communication device;
Using the card communication device, an encryption authentication receiving unit that receives an encryption authentication command transmitted by the terminal device;
User authentication decryption using the card processing device to decrypt the encrypted authentication command received by the encrypted authentication reception unit with the shared key generated by the card shared key generation unit and generate a user authentication command And
A user authentication unit that authenticates a user based on the user authentication data stored in the user authentication storage unit and the user authentication command generated by the user authentication decryption unit using the card processing device. And an authentication system.
上記端末装置は、更に、
上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、ダミーの利用者認証データをランダムに生成するダミー認証生成部を有し、
上記利用者認証生成部は、上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、上記ダミー認証生成部が生成した利用者認証データに基づいて、上記利用者認証コマンドを生成することを特徴とする請求項1に記載の認証システム。
The terminal device further includes:
When the card authentication unit fails to authenticate the icy card, the terminal processing device is used to have a dummy authentication generation unit that randomly generates dummy user authentication data,
The user authentication generation unit uses the terminal processing device when the card authentication unit fails to authenticate the IC card, and uses the terminal authentication device based on the user authentication data generated by the dummy authentication generation unit. The authentication system according to claim 1, wherein an authentication command is generated.
上記端末装置は、
上記端末処理装置を用いて、乱数を生成する端末乱数生成部と、
上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成する端末鍵要素生成部と、
上記端末通信装置を用いて、上記端末鍵要素生成部が生成した鍵要素を、上記アイシーカードに対して送信する端末鍵要素送信部と、
上記端末通信装置を用いて、上記アイシーカードが送信した鍵要素を受信するカード鍵要素受信部とを有し、
上記端末共有鍵生成部は、上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数と、上記カード鍵要素受信部が受信した鍵要素とに基づいて、上記共有鍵を生成し、
上記アイシーカードは、
上記カード通信装置を用いて、上記端末装置が送信した鍵要素を受信する端末鍵要素受信部と、
上記カード処理装置を用いて、乱数を生成するカード乱数生成部と、
上記カード処理装置を用いて、上記カード乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成するカード鍵要素生成部と、
上記カード通信装置を用いて、上記カード鍵要素生成部が生成した鍵要素を上記端末装置に対して送信するカード鍵要素送信部とを有し、
上記カード共有鍵生成部は、上記カード処理装置を用いて、上記端末鍵要素受信部が受信した鍵要素と、上記カード乱数生成部が生成した乱数とに基づいて、上記共有鍵を生成することを特徴とする請求項1または請求項2に記載の認証システム。
The terminal device is
A terminal random number generator for generating a random number using the terminal processing device;
A terminal key element generation unit that generates a key element that is a source of the shared key based on the random number generated by the terminal random number generation unit using the terminal processing device;
A terminal key element transmitting unit that transmits the key element generated by the terminal key element generating unit to the ic card using the terminal communication device;
A card key element receiving unit that receives the key element transmitted by the IC card using the terminal communication device;
The terminal shared key generation unit uses the terminal processing device to generate the shared key based on the random number generated by the terminal random number generation unit and the key element received by the card key element reception unit,
The above Icy card
A terminal key element receiving unit that receives the key element transmitted by the terminal device using the card communication device;
A card random number generator for generating a random number using the card processing device;
Using the card processing device, based on the random number generated by the card random number generation unit, a card key element generation unit that generates a key element that is the basis of the shared key;
A card key element transmission unit that transmits the key element generated by the card key element generation unit to the terminal device using the card communication device;
The card shared key generation unit uses the card processing device to generate the shared key based on the key element received by the terminal key element reception unit and the random number generated by the card random number generation unit. The authentication system according to claim 1 or 2, characterized by the above.
上記アイシーカードは、上記カード認証送信部が送信するカード認証データと、上記カード鍵要素送信部が送信する鍵要素とを、1つのメッセージとして送信することを特徴とする請求項3に記載の認証システム。   The authentication according to claim 3, wherein the IC card transmits the card authentication data transmitted by the card authentication transmission unit and the key element transmitted by the card key element transmission unit as one message. system. 上記カード認証生成部は、上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと上記カード共有鍵生成部が生成した共有鍵とを所定の一方向性関数の入力とし、上記カード認証データとして、上記一方向性関数の値を算出し、
上記端末装置は、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと上記端末共有鍵生成部が生成した共有鍵とを上記一方向性関数の入力とし、カード検証データとして、上記一方向性関数の値を算出する端末認証生成部を有し、
上記カード認証部は、上記端末処理装置を用いて、上記端末認証生成部が生成したカード検証データと、上記カード認証受信部が受信したカード認証データとを比較して、一致する場合に、上記アイシーカードの認証に成功したと判定することを特徴とする請求項1乃至請求項4のいずれかに記載の認証システム。
The card authentication generation unit inputs the user authentication data stored in the user authentication storage unit and the shared key generated by the card shared key generation unit using the card processing device as a predetermined one-way function. As the card authentication data, the value of the one-way function is calculated,
The terminal device is
Using the terminal processing device, the user authentication data input by the user authentication input unit and the shared key generated by the terminal shared key generation unit are input to the one-way function, and as card verification data, the above A terminal authentication generation unit for calculating the value of the one-way function;
The card authentication unit uses the terminal processing device to compare the card verification data generated by the terminal authentication generation unit with the card authentication data received by the card authentication reception unit. 5. The authentication system according to claim 1, wherein it is determined that the authentication of the icy card is successful.
利用者の操作を入力する操作入力装置と、
データを処理する端末処理装置と、
アイシーカードと通信する端末通信装置と、
上記操作入力装置を用いて、上記利用者を認証する利用者認証データを入力する利用者認証入力部と、
上記端末通信装置を用いて、上記アイシーカードが送信したカード認証データを受信するカード認証受信部と、
上記端末処理装置を用いて、上記アイシーカードと共有する共有鍵を生成する端末共有鍵生成部と、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証するカード認証部と、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成する利用者認証生成部と、
上記端末処理装置を用いて、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成する利用者認証暗号化部と、
上記端末通信装置を用いて、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信する暗号化認証送信部とを有することを特徴とする端末装置。
An operation input device for inputting a user's operation;
A terminal processing device for processing data;
A terminal communication device for communicating with the IC card;
A user authentication input unit for inputting user authentication data for authenticating the user using the operation input device;
Using the terminal communication device, a card authentication receiving unit that receives card authentication data transmitted by the IC card,
Using the terminal processing device, a terminal shared key generation unit that generates a shared key shared with the IC card,
Based on the user authentication data input by the user authentication input unit, the shared key generated by the terminal shared key generation unit, and the card authentication data received by the card authentication reception unit using the terminal processing device. A card authentication unit for authenticating the above IC card,
When the card authentication unit succeeds in authenticating the icy card, the user is authenticated with respect to the icy card based on the user authentication data input by the user authentication input unit using the terminal processing device. A user authentication generation unit for generating a user authentication command for requesting authentication of
A user authentication cipher that generates an encrypted authentication command by encrypting the user authentication command generated by the user authentication generation unit with the shared key generated by the terminal shared key generation unit using the terminal processing device. And
A terminal device comprising: an encryption authentication transmission unit configured to transmit an encryption authentication command generated by the user authentication encryption unit to the ic card using the terminal communication device.
上記端末装置は、更に、
上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、ダミーの利用者認証データをランダムに生成するダミー認証生成部を有し、
上記利用者認証生成部は、上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、上記ダミー認証生成部が生成した利用者認証データに基づいて、上記利用者認証コマンドを生成することを特徴とする請求項6に記載の端末装置。
The terminal device further includes:
When the card authentication unit fails to authenticate the icy card, the terminal processing device is used to have a dummy authentication generation unit that randomly generates dummy user authentication data,
The user authentication generation unit uses the terminal processing device when the card authentication unit fails to authenticate the IC card, and uses the terminal authentication device based on the user authentication data generated by the dummy authentication generation unit. The terminal device according to claim 6, wherein a person authentication command is generated.
上記端末装置は、
上記端末処理装置を用いて、乱数を生成する端末乱数生成部と、
上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成する端末鍵要素生成部と、
上記端末通信装置を用いて、上記端末鍵要素生成部が生成した鍵要素を、上記アイシーカードに対して送信する端末鍵要素送信部と、
上記端末通信装置を用いて、上記アイシーカードが送信した鍵要素を受信するカード鍵要素受信部とを有し、
上記端末共有鍵生成部は、上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数と、上記カード鍵要素受信部が受信した鍵要素とに基づいて、上記共有鍵を生成することを特徴とする請求項6または請求項7に記載の端末装置。
The terminal device is
A terminal random number generator for generating a random number using the terminal processing device;
A terminal key element generation unit that generates a key element that is a source of the shared key based on the random number generated by the terminal random number generation unit using the terminal processing device;
A terminal key element transmitting unit that transmits the key element generated by the terminal key element generating unit to the ic card using the terminal communication device;
A card key element receiving unit that receives the key element transmitted by the IC card using the terminal communication device;
The terminal shared key generation unit uses the terminal processing device to generate the shared key based on the random number generated by the terminal random number generation unit and the key element received by the card key element reception unit. The terminal device according to claim 6, wherein:
上記端末装置は、上記カード認証受信部が受信するカード認証データと、上記カード鍵要素受信部が受信する鍵要素とを1つのメッセージとして受信することを特徴とする請求項8に記載の端末装置。   9. The terminal device according to claim 8, wherein the terminal device receives the card authentication data received by the card authentication receiving unit and the key element received by the card key element receiving unit as one message. . 上記端末装置は、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと上記端末共有鍵生成部が生成した共有鍵とを所定の一方向性関数の入力とし、カード検証データとして、上記一方向性関数の値を算出する端末認証生成部を有し、
上記カード認証部は、上記端末処理装置を用いて、上記端末認証生成部が生成したカード検証データと、上記カード認証受信部が受信したカード認証データとを比較して、一致する場合に、上記アイシーカードの認証に成功したと判定することを特徴とする請求項6乃至請求項9のいずれかに記載の端末装置。
The terminal device is
With the terminal processing unit, and a shared key which the user authentication user input unit has input authentication data and the terminal shared key generation unit has generated an input of predetermined one-directional function, as the card verification data, A terminal authentication generation unit for calculating the value of the one-way function,
The card authentication unit uses the terminal processing device to compare the card verification data generated by the terminal authentication generation unit with the card authentication data received by the card authentication reception unit. The terminal device according to claim 6, wherein it is determined that the authentication of the icy card is successful.
データを記憶するカード記憶装置と、
データを処理するカード処理装置と、
端末装置と通信するカード通信装置と、
上記カード記憶装置を用いて、利用者を認証する利用者認証データを記憶する利用者認証記憶部と、
上記カード処理装置を用いて、上記端末装置と共有する共有鍵を生成するカード共有鍵生成部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成するカード認証生成部と、
上記カード通信装置を用いて、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信するカード認証送信部と、
上記カード通信装置を用いて、上記端末装置が送信した暗号化認証コマンドを受信する暗号化認証受信部と、
上記カード処理装置を用いて、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成する利用者認証復号部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証する利用者認証部とを有することを特徴とするアイシーカード。
A card storage device for storing data;
A card processing device for processing data;
A card communication device for communicating with the terminal device;
A user authentication storage unit for storing user authentication data for authenticating a user using the card storage device;
Using the card processing device, a card shared key generating unit that generates a shared key shared with the terminal device;
A card authentication generation unit that generates card authentication data based on the user authentication data stored in the user authentication storage unit and the shared key generated by the card shared key generation unit using the card processing device; ,
A card authentication transmission unit that transmits the card authentication data generated by the card authentication generation unit to the terminal device using the card communication device;
Using the card communication device, an encryption authentication receiving unit that receives an encryption authentication command transmitted by the terminal device;
User authentication decryption using the card processing device to decrypt the encrypted authentication command received by the encrypted authentication reception unit with the shared key generated by the card shared key generation unit and generate a user authentication command And
A user authentication unit that authenticates a user based on the user authentication data stored in the user authentication storage unit and the user authentication command generated by the user authentication decryption unit using the card processing device. An Icy card characterized by comprising:
上記アイシーカードは、
上記カード通信装置を用いて、上記端末装置が送信した鍵要素を受信する端末鍵要素受信部と、
上記カード処理装置を用いて、乱数を生成するカード乱数生成部と、
上記カード処理装置を用いて、上記カード乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成するカード鍵要素生成部と、
上記カード通信装置を用いて、上記カード鍵要素生成部が生成した鍵要素を上記端末装置に対して送信するカード鍵要素送信部とを有し、
上記カード共有鍵生成部は、上記カード処理装置を用いて、上記端末鍵要素受信部が受信した鍵要素と、上記カード乱数生成部が生成した乱数とに基づいて、上記共有鍵を生成することを特徴とする請求項11に記載のアイシーカード。
The above Icy card
A terminal key element receiving unit that receives the key element transmitted by the terminal device using the card communication device;
A card random number generator for generating a random number using the card processing device;
Using the card processing device, based on the random number generated by the card random number generation unit, a card key element generation unit that generates a key element that is the basis of the shared key;
A card key element transmission unit that transmits the key element generated by the card key element generation unit to the terminal device using the card communication device;
The card shared key generation unit uses the card processing device to generate the shared key based on the key element received by the terminal key element reception unit and the random number generated by the card random number generation unit. The icy card according to claim 11.
上記アイシーカードは、上記カード認証送信部が送信するカード認証データと、上記カード鍵要素送信部が送信する鍵要素とを、1つのメッセージとして送信することを特徴とする請求項12に記載のアイシーカード。   13. The IC card according to claim 12, wherein the IC card transmits the card authentication data transmitted by the card authentication transmitting unit and the key element transmitted by the card key element transmitting unit as one message. card. 上記カード認証生成部は、上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと上記カード共有鍵生成部が生成した共有鍵とを所定の一方向性関数の入力とし、上記カード認証データとして、上記一方向性関数の値を算出することを特徴とする請求項11乃至請求項13のいずれかに記載のアイシーカード。   The card authentication generation unit inputs the user authentication data stored in the user authentication storage unit and the shared key generated by the card shared key generation unit using the card processing device as a predetermined one-way function. 14. The ic card according to claim 11, wherein a value of the one-way function is calculated as the card authentication data. コンピュータが実行することにより、上記コンピュータが請求項6乃至請求項10のいずれかに記載の端末装置として機能することを特徴とするコンピュータプログラム。   A computer program that, when executed by a computer, functions as the terminal device according to any one of claims 6 to 10. アイシーカードが実行することにより、上記アイシーカードが請求項11乃至請求項14のいずれかに記載のアイシーカードとして機能することを特徴とするコンピュータプログラム。   A computer program, wherein when executed by an icy card, the icy card functions as the icy card according to any one of claims 11 to 14. アイシーカードが、利用者認証記憶部として、利用者を認証する利用者認証データを記憶し、
端末装置が、利用者認証入力部として、利用者の操作に基づいて、上記利用者を認証する利用者認証データを入力し、
上記アイシーカードが、カード共有鍵生成部として、上記端末装置と共有する共有鍵を生成し、
上記アイシーカードが、カード認証生成部として、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成し、
上記アイシーカードが、カード認証送信部として、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信し、
上記端末装置が、カード認証受信部として、上記アイシーカードが送信したカード認証データを受信し、
上記端末装置が、端末共有鍵生成部として、上記アイシーカードと共有する共有鍵を生成し、
上記端末装置が、カード認証部として、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証し、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末装置が、利用者認証生成部として、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成し、
上記端末装置が、利用者認証暗号化部として、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成し、
上記端末装置が、暗号化認証送信部として、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信し、
上記アイシーカードが、暗号化認証受信部として、上記端末装置が送信した暗号化認証コマンドを受信し、
上記アイシーカードが、利用者認証復号部として、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成し、
上記アイシーカードが、利用者認証部として、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証することを特徴とする認証方法。
The IC card stores user authentication data for authenticating users as a user authentication storage unit,
As a user authentication input unit, the terminal device inputs user authentication data for authenticating the user based on the user's operation,
The IC card generates a shared key shared with the terminal device as a card shared key generation unit,
The IC card generates card authentication data based on the user authentication data stored by the user authentication storage unit and the shared key generated by the card shared key generation unit as a card authentication generation unit,
The IC card transmits the card authentication data generated by the card authentication generation unit to the terminal device as a card authentication transmission unit,
The terminal device receives the card authentication data transmitted by the IC card as a card authentication receiver,
The terminal device generates a shared key shared with the IC card as a terminal shared key generation unit,
The terminal device as a card authentication unit, user authentication data input by the user authentication input unit, a shared key generated by the terminal shared key generation unit, card authentication data received by the card authentication reception unit, Authenticate the above icy card based on
When the card authentication unit succeeds in authenticating the icy card, the terminal device serves as a user authentication generation unit for the icy card based on the user authentication data input by the user authentication input unit. To generate a user authentication command requesting the above user authentication,
As the user authentication encryption unit, the terminal device encrypts the user authentication command generated by the user authentication generation unit with the shared key generated by the terminal shared key generation unit, and generates an encrypted authentication command. And
The terminal device, as an encryption authentication transmission unit, transmits the encryption authentication command generated by the user authentication encryption unit to the ic card,
The IC card receives an encryption authentication command transmitted by the terminal device as an encryption authentication receiver,
The IC card, as a user authentication decryption unit, decrypts the encrypted authentication command received by the encryption authentication reception unit with the shared key generated by the card shared key generation unit to generate a user authentication command. ,
The IC card authenticates a user based on user authentication data stored by the user authentication storage unit and a user authentication command generated by the user authentication decryption unit as a user authentication unit. An authentication method characterized by.
利用者の操作を入力する操作入力装置と、データを処理する端末処理装置と、アイシーカードと通信する端末通信装置とを有する端末装置が、コマンドを上記アイシーカードに対して送信するコマンド送信方法において、
上記操作入力装置が、利用者認証入力部として、利用者を認証する利用者認証データを入力し、
上記端末処理装置が、端末共有鍵生成部として、アイシーカードと共有する共有鍵を生成し、
上記端末通信装置が、カード認証受信部として、上記アイシーカードが送信したカード認証データを受信し、
上記端末処理装置が、カード認証部として、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証し、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置が、利用者認証生成部として、上記利用者認証入力部が入力した利用者認証データに基づいて、上記利用者の認証を要求する利用者認証コマンドを生成し、
上記端末処理装置が、利用者認証暗号化部として、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成し、
上記端末通信装置が、暗号化認証送信部として、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信することを特徴とするコマンド送信方法。
In a command transmission method in which a terminal device having an operation input device that inputs a user operation, a terminal processing device that processes data, and a terminal communication device that communicates with an IC card transmits a command to the IC card. ,
The operation input device inputs user authentication data for authenticating a user as a user authentication input unit,
The terminal processing device generates a shared key shared with the IC card as a terminal shared key generation unit,
The terminal communication device receives the card authentication data transmitted by the IC card as a card authentication receiver,
As the card authentication unit, the terminal processing device has user authentication data input by the user authentication input unit, a shared key generated by the terminal shared key generation unit, and card authentication data received by the card authentication reception unit. And authenticate the above icy card based on
When the card authentication unit succeeds in authenticating the icy card, the terminal processing device serves as a user authentication generation unit based on the user authentication data input by the user authentication input unit. Generate a user authentication command that requires authentication,
The terminal processing device, as a user authentication encryption unit, encrypts the user authentication command generated by the user authentication generation unit with the shared key generated by the terminal shared key generation unit, and sends an encrypted authentication command. Generate
A command transmission method, wherein the terminal communication device transmits, as an encrypted authentication transmission unit, an encrypted authentication command generated by the user authentication encryption unit to the ic card.
データを記憶するカード記憶装置と、データを処理するカード処理装置と、端末装置と通信するカード通信装置とを有するアイシーカードが、利用者を認証する認証方法において、
上記カード記憶装置が、利用者認証記憶部として、利用者を認証する利用者認証データを記憶し、
上記カード処理装置が、カード共有鍵生成部として、上記端末装置と共有する共有鍵を生成し、
上記カード処理装置が、カード認証生成部として、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成し、
上記カード通信装置が、カード認証送信部として、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信し、
上記カード通信装置が、暗号化認証受信部として、上記端末装置が送信した暗号化認証コマンドを受信し、
上記カード処理装置が、利用者認証復号部として、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成し、
上記カード処理装置が、利用者認証部として、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証することを特徴とする認証方法。
In an authentication method in which an IC card having a card storage device that stores data, a card processing device that processes data, and a card communication device that communicates with a terminal device authenticates a user,
The card storage device stores user authentication data for authenticating a user as a user authentication storage unit,
The card processing device generates a shared key shared with the terminal device as a card shared key generation unit,
The card processing device generates card authentication data as a card authentication generation unit based on the user authentication data stored in the user authentication storage unit and the shared key generated by the card shared key generation unit,
The card communication device transmits the card authentication data generated by the card authentication generation unit to the terminal device as a card authentication transmission unit,
The card communication device receives the encryption authentication command transmitted by the terminal device as an encryption authentication receiver,
As the user authentication decrypting unit, the card processing device decrypts the encrypted authentication command received by the encrypted authentication receiving unit with the shared key generated by the card shared key generating unit, and generates a user authentication command. And
The card processing device authenticates the user as a user authentication unit based on the user authentication data stored in the user authentication storage unit and the user authentication command generated by the user authentication decryption unit. An authentication method characterized by that.
JP2010123425A 2010-05-28 2010-05-28 Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method Expired - Fee Related JP5478364B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010123425A JP5478364B2 (en) 2010-05-28 2010-05-28 Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010123425A JP5478364B2 (en) 2010-05-28 2010-05-28 Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method

Publications (2)

Publication Number Publication Date
JP2011248778A JP2011248778A (en) 2011-12-08
JP5478364B2 true JP5478364B2 (en) 2014-04-23

Family

ID=45413921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010123425A Expired - Fee Related JP5478364B2 (en) 2010-05-28 2010-05-28 Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method

Country Status (1)

Country Link
JP (1) JP5478364B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE540668C2 (en) * 2016-08-30 2018-10-09 No Common Payment Ab Generation and verification of a temporary card security code for use in card based transactions
SE545872C2 (en) 2019-09-27 2024-02-27 No Common Payment Ab Generation and verification of a temporary authentication value for use in a secure transmission
JPWO2022269914A1 (en) * 2021-06-25 2022-12-29

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0775033B2 (en) * 1991-12-13 1995-08-09 松下電器産業株式会社 PIN confirmation method and device
JPH07141480A (en) * 1993-11-19 1995-06-02 Nippon Telegr & Teleph Corp <Ntt> Password leakage preventing device of ic card
JP3749640B2 (en) * 1999-10-15 2006-03-01 株式会社東芝 IC card using device, IC card and storage medium
JP2001118022A (en) * 1999-10-21 2001-04-27 Oki Electric Ind Co Ltd Transaction settling terminal device
JP2004184516A (en) * 2002-11-29 2004-07-02 Canon Inc Digital data transmitting terminal
JP2007226727A (en) * 2006-02-27 2007-09-06 Nippon Telegr & Teleph Corp <Ntt> Personal identification number input system, personal identification number input method and personal identification number input device
JP5004086B2 (en) * 2007-10-29 2012-08-22 独立行政法人産業技術総合研究所 Authentication system using short sequences
JP5077685B2 (en) * 2008-03-27 2012-11-21 Necインフロンティア株式会社 Input device and information processing method

Also Published As

Publication number Publication date
JP2011248778A (en) 2011-12-08

Similar Documents

Publication Publication Date Title
WO2020087805A1 (en) Trusted authentication method employing two cryptographic values and chaotic encryption in measurement and control network
JP4944886B2 (en) Cryptographic authentication and / or shared encryption key configuration using signature keys encrypted with non-one-time pad cryptography, including but not limited to technology with improved security against malleable attacks
US6535980B1 (en) Keyless encryption of messages using challenge response
MacKenzie et al. Networked cryptographic devices resilient to capture
Wang Password protected smart card and memory stick authentication against off-line dictionary attacks
US7596704B2 (en) Partition and recovery of a verifiable digital secret
KR101075334B1 (en) Secure authenticated channel
JP5845393B2 (en) Cryptographic communication apparatus and cryptographic communication system
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US7149311B2 (en) Methods and apparatus for providing networked cryptographic devices resilient to capture
EP0661845B1 (en) System and method for message authentication in a non-malleable public-key cryptosystem
JP7259868B2 (en) system and client
KR100860573B1 (en) Method for User Authentication
KR20170035665A (en) Apparatus and method for exchanging encryption key
KR20010090167A (en) Method for mutual authentication and key exchange based on the user&#39;s password and apparatus thereof
CN112351037B (en) Information processing method and device for secure communication
CN109155732A (en) For establishing the method and arrangement of secure communication between first network equipment (initiator) and second network equipment (transponder)
Chen et al. Security enhancement for a three-party encrypted key exchange protocol against undetectable on-line password guessing attacks
CN115150180A (en) Storage device management method, storage device, management device, and storage medium
Lee et al. A computation-efficient three-party encrypted key exchange protocol
JP5478364B2 (en) Authentication system, terminal device, IC card, computer program, authentication method, and command transmission method
CN109902481B (en) Encryption lock authentication method for encryption equipment and encryption equipment
KR102415628B1 (en) Method and apparatus for authenticating drone using dim
CN110768792B (en) Main key generation method, device and encryption and decryption method for sensitive security parameters
CN110061895B (en) Close-range energy-saving communication method and system for quantum computing resisting application system based on key fob

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121119

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5478364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees