JP2011248778A - 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法 - Google Patents
認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法 Download PDFInfo
- Publication number
- JP2011248778A JP2011248778A JP2010123425A JP2010123425A JP2011248778A JP 2011248778 A JP2011248778 A JP 2011248778A JP 2010123425 A JP2010123425 A JP 2010123425A JP 2010123425 A JP2010123425 A JP 2010123425A JP 2011248778 A JP2011248778 A JP 2011248778A
- 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.)
- Granted
Links
Images
Abstract
【解決手段】端末側鍵共有部102とカード側鍵共有部202とが共有鍵Kを生成する。カード認証情報生成部206がカード認証情報732を生成する。カード検証部106がカード認証情報を検証する。検証成功の場合、verifyPINコマンド化部111(利用者認証コマンド生成部)がverifyPINコマンド(利用者認証コマンド)を生成し、暗号化部112(利用者認証暗号化部)が共有鍵Kで暗号化する。復号部211(利用者認証復号部)が共有鍵Kで復号し、ICカード処理部212(利用者認証部)がPIN情報を検証する。
【選択図】図1
Description
この発明は、例えば上記のような課題を解決するためになされたものであり、利用者認証情報の漏洩を防ぐことを目的とする。
上記端末装置は、
利用者の操作を入力する操作入力装置と、
データを処理する端末処理装置と、
上記アイシーカードと通信する端末通信装置と、
上記操作入力装置を用いて、上記利用者を認証する利用者認証データを入力する利用者認証入力部と、
上記端末通信装置を用いて、上記アイシーカードが送信したカード認証データを受信するカード認証受信部と、
上記端末処理装置を用いて、上記アイシーカードと共有する共有鍵を生成する端末共有鍵生成部と、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証するカード認証部と、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成する利用者認証生成部と、
上記端末処理装置を用いて、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成する利用者認証暗号化部と、
上記端末通信装置を用いて、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信する暗号化認証送信部とを有し、
上記アイシーカードは、
データを記憶するカード記憶装置と、
データを処理するカード処理装置と、
上記端末装置と通信するカード通信装置と、
上記カード記憶装置を用いて、利用者を認証する利用者認証データを記憶する利用者認証記憶部と、
上記カード処理装置を用いて、上記端末装置と共有する共有鍵を生成するカード共有鍵生成部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成するカード認証生成部と、
上記カード通信装置を用いて、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信するカード認証送信部と、
上記カード通信装置を用いて、上記端末装置が送信した暗号化認証コマンドを受信する暗号化認証受信部と、
上記カード処理装置を用いて、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成する利用者認証復号部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証する利用者認証部とを有することを特徴とする。
端末共有鍵生成部とカード共有鍵生成部とが、端末装置とICカードとで共有する共有鍵Kを生成するので、利用者認証暗号化部が暗号化した暗号化利用者認証コマンドを、利用者認証復号部が正しく復号できる。
暗号化利用者認証コマンドを送信する前に、ICカードを認証して、偽物でないかを判定するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。
ICカードの認証に用いるカード認証データは、利用者認証記憶部が記憶した利用者認証データと、カード共有鍵生成部が共有した共有鍵とに基づいて生成する。これにより、利用者認証記憶部が記憶した利用者認証データと、利用者認証入力部が入力した利用者認証データとが一致するか否かを検証できる。また、端末装置とICカードとの間の通信を第三者が傍受してカード認証データを入手したとしても、共通鍵Kを知らなければ、そこから利用者識別データを入手することはできない。
実施の形態1について、図1〜図3を用いて説明する。
認証システム800は、ユーザ801と、端末装置100と、カード読取書込装置(カードR/W)810と、ICカード200とを有する。端末装置100は、ユーザ801が利用する。カードR/W810は、端末装置100と、ICカード200との間の通信を仲介する。ICカード200は、ユーザ801が所有する。
端末側通信部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に送付する。
カード側通信部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カード処理を実行する。
ユーザ801は、PIN情報711を記憶している。また、ICカード200は、あらかじめ何らかの安全な方法により、PIN情報712をPIN情報記憶部201に記憶しておく。PIN情報記憶部201が記憶しておくPIN情報712は、ユーザ801が記憶しているPIN情報711と同一である。
ユーザ801は、PIN情報711を端末装置100のPIN情報入力部101により入力する。
端末側鍵共有部102は、端末鍵要素722を生成する。端末側鍵共有部102は、端末鍵要素722を端末側通信部110に送付する。端末側通信部110は、端末鍵要素722をカードR/W810へ送付する。カードR/W810は、端末鍵要素722をカード側通信部210に送付する。
カード側通信部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に送付する。
端末側鍵共有部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に送付する。
復号部211は、暗号済verifyPINコマンド742をカード側通信部210から受け取る。復号部211は、共有鍵726をカード側鍵共有部202から受け取る。復号部211は、復号処理をして、verifyPINコマンド743を生成する。ICカード処理部212は、verifyPINコマンド743を復号部211から受け取る。ICカード処理部212は、所定のICカード処理を実行する。
XとYとが鍵共有を行うものとする。記号「^」は、べき乗(exponentiation)を表わす。また、「mod」は、剰余(modulo)を表わす。
まず、値の大きな素数pと、その原始根gとを生成する。このgとpとは、公開される。
次に、鍵を共有するXとYとが、お互い秘密の値a、bをそれぞれ選択する。Xは、次の値Aを計算して、これをYに送信する。
A=g^a mod p
B=g^b mod p
Kx=B^a mod p
Ky=A^b mod p
Kx=(g^b mod p)^a mod p=g^(a・b) mod p=K
Ky=(g^a mod p)^b mod p=g^(a・b) mod p=K
となり、共通のK(=Kx=Ky)を生成することができる。
この例において、端末側鍵共有部102及びカード側鍵共有部202は、上述したDH鍵共有方式を用いて、共有鍵を共有する。
端末側鍵共有部102は、端末乱数生成部103、端末鍵要素生成部104、共有鍵生成部105を有する。カード側鍵共有部202は、カード乱数生成部203、カード鍵要素生成部204、共有鍵生成部205を有する。
端末乱数生成部103は、端末乱数721《a》を生成する。端末鍵要素生成部104は、《A =g^a mod p》を計算し、端末鍵要素722《A》を生成する。端末側鍵共有部102は、端末鍵要素722《A》をICカード200へ送付する。
カード乱数生成部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》を生成する。
共有鍵生成部105は、ICカード200から受け取ったカード鍵要素724《B》と、端末乱数721《a》とから、《K=B^a mod p》を計算し、共有鍵725《K》を生成する。
記号「HASH」は、SHA、MD5など公知のハッシュアルゴリズムによる演算を示す。また、記号「MAC」は、HMACなど公知のMAC(Message Authentication Code)生成アルゴリズムによる演算を示す。
カード検証部106は、PIN情報ハッシュ部107、マック値算出部108、認証情報比較部109を有する。カード認証情報生成部206は、PIN情報ハッシュ部207、マック値算出部208を有する。
PIN情報ハッシュ部207は、PIN情報712《P》を用いて、《Kp=HASH(P)》を計算する。マック値算出部208は、ハッシュ値《Kp》と、共有鍵726《K》とを用いて、《HK=Kp》《m=K》《C’=MAC(HK,m)》を計算し、カード認証情報732《C’》を生成する。カード認証情報生成部206は、カード認証情報732《C’》を端末装置100に送付する。
PIN情報ハッシュ部107は、PIN情報711《P》を用いて、《Kp=HASH(P)》を計算する。PIN情報ハッシュ部107は、ハッシュ値《Kp》と、共有鍵725《K》とを用いて、《HK=Kp》《m=K》《C=MAC(HK,m)》を計算し、カード検証用情報《C》を生成する。認証情報比較部109は、ICカード200から受け取ったカード認証情報732《C’》と、カード検証用情報《C》とを比較する。一致すれば「OK」、異なれば「NG」として、認証情報比較部109は、カード検証結果735を生成する。
また、端末装置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回に削減することができる。
また、端末装置100がカードR/W810を内蔵する構成であってもよい。
また、ICカード200がカードR/W810を介さず、端末装置100と直接通信する構成であってもよい。
また、カードR/W810が、ネットワークを経由して端末装置100と通信する構成であってもよい。
また、端末装置100とカードR/W810との間の通信や、カードR/W810とICカード200との間の通信は、有線通信であってもよいし、無線通信であってもよい。
また、PIN情報に代えて、パスワードやユーザのジェスチャや生体情報などを用いる構成であってもよい。
実施の形態2について、図4〜図5を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
認証システム800は、ユーザ801と、端末装置100と、カードR/W810と、ICカード200とを有する。端末装置100は、ユーザ801が利用する。カードR/W810は、端末装置100と、ICカード200との間の通信を仲介する。ICカード200は、ユーザ801が所有する。
端末側通信部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に送付する。
カード側通信部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カード処理を実行する。
ユーザ801は、PIN情報711を記憶している。ICカード200は、あらかじめ何らかの安全な方法によりPIN情報712をPIN情報記憶部201に記憶しておく。
まず、ユーザ801がPIN情報711を端末装置100のPIN情報入力部101により入力する。
端末側鍵共有部102は、端末鍵要素722を生成する。端末側鍵共有部102は、端末鍵要素722を端末側通信部110に送付する。端末側通信部110は、端末鍵要素722をカードR/W810へ送付する。カードR/W810は、端末鍵要素722をカード側通信部210に送付する。
カード側通信部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に送付する。
端末側鍵共有部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に送付する。
端末検証部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カード処理を実行する。
記号「‖」は、データの連結を表現する。
端末認証情報生成部113は、PIN情報ハッシュ部114と、マック値算出部115とを有する。端末検証部214は、PIN情報ハッシュ部215と、マック値算出部216と、認証情報比較部217とを有する。
PIN情報ハッシュ部114は、PIN情報711《P》を用いて、《Kp=HASH(P)》を計算する。マック値算出部115は、ハッシュ値《Kp》と共有鍵725《K》と端末用乱数751《r》とを用いて、《HK=Kp》《m=r‖K》《C’=MAC(HK,m)》を計算して、端末認証情報754《C’》を生成する。端末認証情報生成部113は、端末認証情報754《C’》をICカード200に送付する。
PIN情報ハッシュ部215は、PIN情報712《P》を用いて、《Kp=HASH(P)》を計算する。マック値算出部216は、ハッシュ値《Kp》と、共有鍵726《K》と、端末用乱数751《r》とを用いて、《HK=Kp》《m=r‖K》《C=MAC(HK,m)》を計算して、端末検証用情報《C》を生成する。
認証情報比較部217は、端末装置100から受け取った端末認証情報754《C’》と、端末検証用情報《C》とを比較する。一致すれば「OK」、異なれば「NG」として、認証情報比較部217は、端末検証結果758を生成する。
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回に削減することができる。
実施の形態3について、図6〜図10を用いて説明する。
なお、実施の形態1および実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
ICカード200を所有している利用者は、ICカード200が記憶した利用者認証データが表わす利用者認証情報を知っている。利用者は、端末装置100に利用者認証情報を入力する。
端末装置100は、入力した利用者認証情報を表わす利用者認証データをICカード200に送信する。ICカード200は、端末装置100から受信した利用者認証データと、あらかじめ記憶した利用者認証データとを比較して、一致する場合に、利用者がICカード200の所有者であると認め、ICカード200が記憶したデータへのアクセスなどICカード200の利用を許可する。
したがって、利用者認証情報を第三者に盗まれないようにすることが重要である。
第一に、第三者は、端末装置100とICカード200との間の通信を盗聴することにより、利用者認証情報を手に入れようとする。また、第三者は、正しい利用者認証情報がわからないまでも、盗聴により手に入れたデータをICカード200に対して送信することにより、正しい利用者識別情報を知っているかのように振舞おうとする。
第二に、第三者は、ICカード200から利用者認証情報を引き出そうとする。例えば、第三者は、ICカード200を解析して利用者認証データを読み出そうとする。あるいは、第三者は、利用者情報を推測し、推測した利用者認証情報を表わす利用者認証データをICカード200に送信して認証されるかどうかを見る。
第三に、第三者は、利用者から利用者認証情報を引き出そうとする。例えば、第三者は、ICカード200を偽物のICカードとすり替える。利用者が端末装置100に入力した利用者認証情報を表わす利用者認証データを偽物のICカードが受信して、利用者認証情報を手に入れる。
認証システム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との間の通信は、有線接続によるものであってもよいし、無線接続によるものであってもよい。
利用者認証入力部120は、操作入力装置912を用いて、利用者の操作に基づいて、利用者認証情報を入力する。利用者認証入力部120は、処理装置911を用いて、入力した利用者認証情報を表わす利用者認証データを生成する。利用者認証入力部120は、記憶装置914を用いて、生成した利用者認証データを記憶する。
鍵共有部130は、法記憶部131と、原始根記憶部132と、端末乱数生成部133と、端末鍵要素生成部134と、端末共有鍵生成部135とを有する。
原始根記憶部132は、あらかじめ、記憶装置914を用いて、原始根gを表わすデータを記憶している。原始根gは、素数pを法とする整数の剰余類が乗法についてなす群の生成元である。すなわち、原始根gは、2以上p−1以下の整数であり、gのp乗をpで割った余りがgと等しく、2以上p−1以下のいずれの整数iをとってもgのi乗をpで割った余りがgと異なる。
カード検証部140は、端末認証ハッシュ部141と、端末認証生成部142と、カード認証部143とを有する。
端末認証ハッシュ部141が用いるハッシュ関数H1は、完全ハッシュ関数であることが望ましい。すなわち、元のデータ(利用者認証データ)が異なれば、ハッシュ値(端末ハッシュ値HK)が必ず異なる。これにより、元のデータが異なるにも関わらずハッシュ値が偶然一致することによる誤認証を防ぐことができる。
端末認証生成部142が用いるハッシュ関数H2は、一方向性を有する。すなわち、ハッシュ値(カード検証データC)から元のデータ(端末共有鍵Kおよび端末ハッシュ値HK)を算出することが事実上不可能である。また、端末認証生成部142が用いるハッシュ関数H2は、一様性を有する。すなわち、元のデータを変化させた場合、ハッシュ値が一様に分布し、偏りがない。この条件を満たせば、端末認証生成部142が用いる関数は、ハッシュ関数でなくてもよいし、端末認証ハッシュ部141が用いるハッシュ関数H1と同一であってもよい。
カード検証データCとカード認証データC’とが一致する場合、カード認証部143は、処理装置911を用いて、ICカード200の検証に成功したと判定する。
カード検証データCとカード認証データC’とが一致しない場合、カード認証部143は、処理装置911を用いて、ICカード200の検証に失敗したと判定する。
カード認証部143が判定した結果を、カード認証結果と呼ぶ。カード認証部143は、記憶装置914を用いて、カード認証結果を表わすデータを記憶する。
カード検証部140がICカード200の認証に成功した場合、利用者認証生成部152は、処理装置911を用いて、利用者認証入力部120が記憶した利用者認証データを含む利用者認証コマンドを生成する。
カード検証部140がICカード200の認証に失敗した場合、利用者認証生成部152は、処理装置911を用いて、ダミー認証生成部151が記憶したダミーの利用者認証データを含む利用者認証コマンドを生成する。
利用者認証生成部152は、記憶装置914を用いて、生成した利用者認証コマンドを記憶する。
メッセージ受信部190は、カード鍵要素受信部191と、カード認証受信部192とを有する。
カード認証受信部192は、通信装置915を用いて受信した認証開始応答メッセージから、処理装置911を用いて、カード認証データC’を取得する。カード認証受信部192は、記憶装置914を用いて、取得したカード認証データC’を記憶する。
鍵共有部230は、法記憶部231と、原始根記憶部232と、カード乱数生成部233と、カード鍵要素生成部234と、カード共有鍵生成部235とを有する。
原始根記憶部232は、あらかじめ、記憶装置924を用いて、端末装置100の原始根記憶部132が記憶しているデータが表わす原始根gと同一の原始根gを表わすデータを記憶している。
端末装置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は、第三者が送信した暗号化利用者認証コマンドを受理しない。したがって、再送によるなりすまし攻撃に対しても安全である。
認証情報生成部240は、カード認証ハッシュ部241と、カード認証生成部242とを有する。
なお、カード認証ハッシュ部241は、あらかじめ、処理装置921を用いて、カードハッシュ値HKを算出し、耐タンパ性のある記憶装置924を用いて、算出したカードハッシュ値HKを記憶しておいてもよい。これにより、認証処理におけるICカード200の計算量を減らすことができる。
したがって、利用者認証入力部120が入力した利用者認証情報に基づいて生成した利用者認証データと、利用者認証記憶部220が記憶した利用者認証データとが一致していれば、カード認証部143がICカード200の検証に成功したと判定する。
また、ハッシュ関数H2は一様性を有するので、利用者認証入力部120が入力した利用者認証情報に基づいて生成した利用者認証データと、利用者認証記憶部220が記憶した利用者認証データとが異なるにも関わらず、端末認証生成部142が算出するカード検証データCと、カード認証生成部242が算出するカード認証データC’とが偶然同一になる確率は極めて低く、誤認証を防ぐことができる。
また、ハッシュ関数H2は一方向性を有するので、第三者が、端末装置100とICカード200との間の通信を傍受して、カード認証データC’を手に入れたとしても、そこから共通鍵Kやカード認証ハッシュ値HKを算出することは、事実上不可能である。
第一の場合は、利用者が、間違った利用者認証情報を端末装置100に入力した場合である。これは、日常的に発生する状況であり、不正なことは何も起きていない。
第二の場合は、ICカード200を盗んだ第三者が、推測した利用者認証情報を端末装置100に入力して、推測が外れた場合である。
第三の場合は、ICカード200が偽物とすり替えられている場合である。偽物のICカードは、正しい利用者認証データを知らないので、正しいカード認証データC’を生成することができない。このため、利用者が正しい利用者認証情報を入力していたとしても、ICカード200の認証に失敗する。
しかし、ICカード200が偽物とすり替えられている場合には、利用者認証暗号化部153がICカード200の認証に失敗する。このため、利用者認証コマンドに含まれる利用者認証データは、ダミー認証生成部151が生成したダミーの利用者認証データである。したがって、ICカード200を偽物とすり替えたとしても、第三者が、正しい利用者認証データを手に入れることはできない。
両者が一致する場合、利用者認証部252は、処理装置911を用いて、利用者の認証に成功したと判定する。
両者が一致しない場合、利用者認証部252は、処理装置911を用いて、利用者の認証に失敗したと判定する。
利用者認証部252が判定した結果を、利用者認証結果と呼ぶ。利用者認証部252は、記憶装置924を用いて、判定した利用者認証結果を表わすデータを記憶する。
利用者の認証に成功した場合、ICカード200は、端末装置100に対して、ICカード200が記憶したデータなどに対するアクセスを許可する。例えば、端末装置100がデータの読出しや書き込みを指示するコマンドを送信した場合、ICカード200は、そのコマンドに基づいて、記憶したデータを読み出して端末装置100に対して送信し、あるいは、コマンドで指示されたデータを受け取って記憶する。
利用者の認証に失敗した場合、ICカード200は、端末装置100に対して、ICカード200が記憶したデータなどに対するアクセスを許可しない。更に、利用者認証の失敗が所定の回数(例えば3回)連続した場合、ICカード200は、外部からのコマンドを一切受け付けないロック状態になる。これにより、ICカード200を盗んだ第三者が、推測した利用者認証情報を何回も入力することにより、推測が偶然当たってしまうのを防ぐ。
カード鍵要素送信部291は、通信装置925を用いて、カード鍵要素生成部234が記憶したデータが表わすカード鍵要素Bを、端末装置100に対して通知する。
カード認証送信部292は、通信装置925を用いて、カード認証生成部242が記憶したカード認証データC’を、端末装置100に対して通知する。
メッセージ送信部290は、処理装置921を用いて、カード鍵要素Bを表わすデータと、カード認証データC’とを含む認証開始応答メッセージを生成する。メッセージ送信部290は、通信装置925を用いて、生成した認証開始応答メッセージを、端末装置100に対して送信する。
認証処理S400は、利用者認証入力工程S410と、鍵共有処理S420と、カード認証処理S440と、ダミー認証生成工程S450と、利用者認証処理S460とを有する。認証処理S400は、端末装置100が利用者認証入力工程S410を実行するところから開始する。
鍵共有処理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が生成した利用者認証コマンドを検証して、利用者の認証に成功したか失敗したかを判定する。
端末装置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とは、入り組んだ順序で実行される。
端末鍵要素生成工程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から返ってくるのを待つ。
カード乱数生成工程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へ処理を進める。
カード認証ハッシュ工程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へ処理を進める。
端末認証生成工程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へ処理を進める。
利用者認証処理S460において、端末装置100は、利用者認証生成工程S461と、利用者認証暗号化工程S462と、暗号化認証送信工程S463とを実行する。ICカード200は、暗号化認証受信工程S561と、利用者認証復号工程S562と、利用者認証工程S563とを実行する。利用者認証処理S460は、端末装置100のカード認証部143が認証成功と判定した場合、あるいは、カード認証部143が認証失敗と判定し、端末装置100がダミー認証生成工程S450を実行したのちに、端末装置100が利用者認証生成工程S461を実行するところから処理を開始する。
カード認証処理S440でカード認証部143がICカード200の認証に成功した場合、利用者認証生成部152は、処理装置911を用いて、利用者認証入力工程S410で利用者認証入力部120が入力した利用者認証データを含む利用者認証コマンドを生成する。
カード認証処理S440でカード認証部143がICカード200の認証に失敗した場合、利用者認証生成部152は、処理装置911を用いて、ダミー認証生成工程S450でダミー認証生成部151が生成したダミーの利用者認証データを含む利用者認証コマンドを生成する。
端末装置100は、処理装置911を用いて、利用者認証暗号化工程S462へ処理を進める。
暗号化認証送信工程S463において、端末装置100の暗号化認証送信部182は、通信装置915を用いて、利用者認証暗号化工程S462で利用者認証暗号化部153が生成した暗号化利用者認証コマンドを、ICカード200に対して送信する。端末装置100における利用者認証処理S460は、これで終わりである。
利用者認証復号工程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を終了し、認証結果に基づく処理をする。
上記端末装置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)に対して送信する。
カード記憶装置(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が生成した利用者認証コマンドとに基づいて、利用者を認証する。
端末共有鍵生成部135とカード共有鍵生成部235とが、端末装置100とICカード200とで共有する共有鍵Kを生成するので、利用者認証暗号化部153が暗号化した暗号化利用者認証コマンドを、利用者認証復号部251が正しく復号できる。
暗号化利用者認証コマンドを送信する前に、ICカード200を認証して、偽物でないかを判定するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。
ICカード200の認証に用いるカード認証データC’は、利用者認証記憶部220が記憶した利用者認証データと、カード共有鍵生成部235が共有した共有鍵Kとに基づいて生成する。これにより、利用者認証記憶部220が記憶した利用者認証データと、利用者認証入力部120が入力した利用者認証データとが一致するか否かを検証できる。また、端末装置100とICカード200との間の通信を第三者が傍受してカード認証データC’を入手したとしても、共通鍵Kを知らなければ、そこから利用者識別データを入手することはできない。
ダミー認証生成部151は、上記カード認証部143が上記アイシーカード(200)の認証に失敗した場合に、上記端末処理装置(911)を用いて、ダミーの利用者認証データをランダムに生成する。
利用者認証生成部152は、上記カード認証部143が上記アイシーカード(200)の認証に失敗した場合に、上記端末処理装置(911)を用いて、上記ダミー認証生成部151が生成した利用者認証データに基づいて、上記利用者認証コマンドを生成する。
端末乱数生成部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を生成する。
端末鍵要素受信部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を生成する。
端末装置(100)は、端末認証生成部142を有する。
端末認証生成部142は、上記端末処理装置(911)を用いて、上記利用者認証入力部120が入力した利用者認証データと上記端末共有鍵生成部135が生成した共有鍵Kとを上記一方向性関数H2の入力とし、カード検証データCとして、上記一方向性関数H2の値を算出する。
上記カード認証部143は、上記端末処理装置(911)を用いて、上記端末認証生成部142が生成したカード検証データCと、上記カード認証受信部192が受信したカード認証データC’とを比較して、一致する場合に、上記アイシーカード(200)の認証に成功したと判定する。
また、利用者認証データだけでなく、共有鍵Kも一方向性関数の入力とするので、総当たり攻撃に対する耐性が高くなる。例えば、利用者認証情報が4桁の暗証番号である場合、利用者認証データは、高々1万個のデータのうちのいずれかである。これに対し、共有鍵Kは、(上述したDH鍵共有方式の場合、p−1個のデータのうちのいずれかなので、利用者認証データと共有鍵Kとの組み合わせは、(p−1)×1万通りである。一方向性関数の入力が高々1万通りしかなければ、すべての入力に対して一方向性関数の値をあらかじめ算出しておき、一致する値を探すことにより、一方向性関数の入力を求めることができる。これに対し、素数pが十分大きければ、(p−1)×1万通りの入力に対して一方向性関数の値をあらじめ算出しておくことは、事実上不可能だから、利用者認証データや共通鍵Kの秘密を保つことができる。
これにより、上述した効果を奏する端末装置100およびICカード200および認証システム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が生成した利用者認証コマンドとに基づいて、利用者を認証する。
端末共有鍵生成部135とカード共有鍵生成部235とが、端末装置100とICカード200とで共有する共有鍵Kを生成するので、利用者認証暗号化部153が暗号化した暗号化利用者認証コマンドを、利用者認証復号部251が正しく復号できる。
暗号化利用者認証コマンドを送信する前に、ICカード200を認証して、偽物でないかを判定するので、偽物のICカードを介して、利用者認証データが漏洩するのを防ぐことができる。
ICカード200の認証に用いるカード認証データC’は、利用者認証記憶部220が記憶した利用者認証データと、カード共有鍵生成部235が共有した共有鍵Kとに基づいて生成する。これにより、利用者認証記憶部220が記憶した利用者認証データと、利用者認証入力部120が入力した利用者認証データとが一致するか否かを検証できる。また、端末装置100とICカード200との間の通信を第三者が傍受してカード認証データを入手したとしても、共通鍵Kを知らなければ、そこから利用者識別データを入手することはできない。
このような事態を防ぐため、端末装置100は、カード認証部143がICカード200の認証に失敗した場合、切断コマンドをICカード200に対して送信する構成としてもよい。例えば、端末装置100は、切断コマンド生成部と、切断コマンド送信部とを有する。切断コマンド生成部は、カード認証部143がICカード200の認証に失敗した場合、処理装置911を用いて、セッションを切断する切断コマンドを生成する。切断コマンド送信部は、暗号化認証送信部182が暗号化利用者認証コマンドを送信したのち、通信装置915を用いて、切断コマンド生成部が生成した切断コマンドをICカード200に対して送信する。
通常であれば、ICカード200は、暗号化利用者認証コマンドによる利用者の認証に失敗するので、切断コマンドは無視される。
ICカード200が利用者の認証に成功した場合、セッションが確立される。しかし、その後すぐに送信される切断コマンドにより、ICカード200は、セッションを切断する。
なお、切断コマンドを共有鍵Kにより暗号化する構成であってもよい。
Claims (19)
- 端末装置と、アイシーカードとを有する認証システムにおいて、
上記端末装置は、
利用者の操作を入力する操作入力装置と、
データを処理する端末処理装置と、
上記アイシーカードと通信する端末通信装置と、
上記操作入力装置を用いて、上記利用者を認証する利用者認証データを入力する利用者認証入力部と、
上記端末通信装置を用いて、上記アイシーカードが送信したカード認証データを受信するカード認証受信部と、
上記端末処理装置を用いて、上記アイシーカードと共有する共有鍵を生成する端末共有鍵生成部と、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証するカード認証部と、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成する利用者認証生成部と、
上記端末処理装置を用いて、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成する利用者認証暗号化部と、
上記端末通信装置を用いて、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信する暗号化認証送信部とを有し、
上記アイシーカードは、
データを記憶するカード記憶装置と、
データを処理するカード処理装置と、
上記端末装置と通信するカード通信装置と、
上記カード記憶装置を用いて、利用者を認証する利用者認証データを記憶する利用者認証記憶部と、
上記カード処理装置を用いて、上記端末装置と共有する共有鍵を生成するカード共有鍵生成部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成するカード認証生成部と、
上記カード通信装置を用いて、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信するカード認証送信部と、
上記カード通信装置を用いて、上記端末装置が送信した暗号化認証コマンドを受信する暗号化認証受信部と、
上記カード処理装置を用いて、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成する利用者認証復号部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証する利用者認証部とを有することを特徴とする認証システム。 - 上記端末装置は、更に、
上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、ダミーの利用者認証データをランダムに生成するダミー認証生成部を有し、
上記利用者認証生成部は、上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、上記ダミー認証生成部が生成した利用者認証データに基づいて、上記利用者認証コマンドを生成することを特徴とする請求項1に記載の認証システム。 - 上記端末装置は、
上記端末処理装置を用いて、乱数を生成する端末乱数生成部と、
上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成する端末鍵要素生成部と、
上記端末通信装置を用いて、上記端末鍵要素生成部が生成した鍵要素を、上記アイシーカードに対して送信する端末鍵要素送信部と、
上記端末通信装置を用いて、上記アイシーカードが送信した鍵要素を受信するカード鍵要素受信部とを有し、
上記端末共有鍵生成部は、上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数と、上記カード鍵要素受信部が受信した鍵要素とに基づいて、上記共有鍵を生成し、
上記アイシーカードは、
上記カード通信装置を用いて、上記端末装置が送信した鍵要素を受信する端末鍵要素受信部と、
上記カード処理装置を用いて、乱数を生成するカード乱数生成部と、
上記カード処理装置を用いて、上記カード乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成するカード鍵要素生成部と、
上記カード通信装置を用いて、上記カード鍵要素生成部が生成した鍵要素を上記端末装置に対して送信するカード鍵要素送信部とを有し、
上記カード共有鍵生成部は、上記カード処理装置を用いて、上記端末鍵要素受信部が受信した鍵要素と、上記カード乱数生成部が生成した乱数とに基づいて、上記共有鍵を生成することを特徴とする請求項1または請求項2に記載の認証システム。 - 上記アイシーカードは、上記カード認証送信部が送信するカード認証データと、上記カード鍵要素送信部が送信する鍵要素とを、1つのメッセージとして送信することを特徴とする請求項3に記載の認証システム。
- 上記カード認証生成部は、上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと上記カード共有鍵生成部が生成した共有鍵とを所定の一方向性関数の入力とし、上記カード認証データとして、上記一方向性関数の値を算出し、
上記端末装置は、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと上記端末共有鍵生成部が生成した共有鍵とを上記一方向性関数の入力とし、カード検証データとして、上記一方向性関数の値を算出する端末認証生成部を有し、
上記カード認証部は、上記端末処理装置を用いて、上記端末認証生成部が生成したカード検証データと、上記カード認証受信部が受信したカード認証データとを比較して、一致する場合に、上記アイシーカードの認証に成功したと判定することを特徴とする請求項1乃至請求項4のいずれかに記載の認証システム。 - 利用者の操作を入力する操作入力装置と、
データを処理する端末処理装置と、
アイシーカードと通信する端末通信装置と、
上記操作入力装置を用いて、上記利用者を認証する利用者認証データを入力する利用者認証入力部と、
上記端末通信装置を用いて、上記アイシーカードが送信したカード認証データを受信するカード認証受信部と、
上記端末処理装置を用いて、上記アイシーカードと共有する共有鍵を生成する端末共有鍵生成部と、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証するカード認証部と、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成する利用者認証生成部と、
上記端末処理装置を用いて、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成する利用者認証暗号化部と、
上記端末通信装置を用いて、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信する暗号化認証送信部とを有することを特徴とする端末装置。 - 上記端末装置は、更に、
上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、ダミーの利用者認証データをランダムに生成するダミー認証生成部を有し、
上記利用者認証生成部は、上記カード認証部が上記アイシーカードの認証に失敗した場合に、上記端末処理装置を用いて、上記ダミー認証生成部が生成した利用者認証データに基づいて、上記利用者認証コマンドを生成することを特徴とする請求項6に記載の端末装置。 - 上記端末装置は、
上記端末処理装置を用いて、乱数を生成する端末乱数生成部と、
上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成する端末鍵要素生成部と、
上記端末通信装置を用いて、上記端末鍵要素生成部が生成した鍵要素を、上記アイシーカードに対して送信する端末鍵要素送信部と、
上記端末通信装置を用いて、上記アイシーカードが送信した鍵要素を受信するカード鍵要素受信部とを有し、
上記端末共有鍵生成部は、上記端末処理装置を用いて、上記端末乱数生成部が生成した乱数と、上記カード鍵要素受信部が受信した鍵要素とに基づいて、上記共有鍵を生成することを特徴とする請求項6または請求項7に記載の端末装置。 - 上記端末装置は、上記カード認証受信部が受信するカード認証データと、上記カード鍵要素受信部が受信する鍵要素とを1つのメッセージとして受信することを特徴とする請求項8に記載の端末装置。
- 上記端末装置は、
上記端末処理装置を用いて、上記利用者認証入力部が入力した利用者認証データと上記端末共有鍵生成部が生成した共有鍵とを上記一方向性関数の入力とし、カード検証データとして、上記一方向性関数の値を算出する端末認証生成部を有し、
上記カード認証部は、上記端末処理装置を用いて、上記端末認証生成部が生成したカード検証データと、上記カード認証受信部が受信したカード認証データとを比較して、一致する場合に、上記アイシーカードの認証に成功したと判定することを特徴とする請求項6乃至請求項9のいずれかに記載の端末装置。 - データを記憶するカード記憶装置と、
データを処理するカード処理装置と、
端末装置と通信するカード通信装置と、
上記カード記憶装置を用いて、利用者を認証する利用者認証データを記憶する利用者認証記憶部と、
上記カード処理装置を用いて、上記端末装置と共有する共有鍵を生成するカード共有鍵生成部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成するカード認証生成部と、
上記カード通信装置を用いて、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信するカード認証送信部と、
上記カード通信装置を用いて、上記端末装置が送信した暗号化認証コマンドを受信する暗号化認証受信部と、
上記カード処理装置を用いて、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成する利用者認証復号部と、
上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証する利用者認証部とを有することを特徴とするアイシーカード。 - 上記アイシーカードは、
上記カード通信装置を用いて、上記端末装置が送信した鍵要素を受信する端末鍵要素受信部と、
上記カード処理装置を用いて、乱数を生成するカード乱数生成部と、
上記カード処理装置を用いて、上記カード乱数生成部が生成した乱数に基づいて、上記共有鍵のもととなる鍵要素を生成するカード鍵要素生成部と、
上記カード通信装置を用いて、上記カード鍵要素生成部が生成した鍵要素を上記端末装置に対して送信するカード鍵要素送信部とを有し、
上記カード共有鍵生成部は、上記カード処理装置を用いて、上記端末鍵要素受信部が受信した鍵要素と、上記カード乱数生成部が生成した乱数とに基づいて、上記共有鍵を生成することを特徴とする請求項11に記載のアイシーカード。 - 上記アイシーカードは、上記カード認証送信部が送信するカード認証データと、上記カード鍵要素送信部が送信する鍵要素とを、1つのメッセージとして送信することを特徴とする請求項12に記載のアイシーカード。
- 上記カード認証生成部は、上記カード処理装置を用いて、上記利用者認証記憶部が記憶した利用者認証データと上記カード共有鍵生成部が生成した共有鍵とを所定の一方向性関数の入力とし、上記カード認証データとして、上記一方向性関数の値を算出することを特徴とする請求項11乃至請求項13のいずれかに記載のアイシーカード。
- コンピュータが実行することにより、上記コンピュータが請求項6乃至請求項10のいずれかに記載の端末装置として機能することを特徴とするコンピュータプログラム。
- アイシーカードが実行することにより、上記アイシーカードが請求項11乃至請求項14のいずれかに記載のアイシーカードとして機能することを特徴とするコンピュータプログラム。
- アイシーカードが、利用者認証記憶部として、利用者を認証する利用者認証データを記憶し、
端末装置が、利用者認証入力部として、利用者の操作に基づいて、上記利用者を認証する利用者認証データを入力し、
上記アイシーカードが、カード共有鍵生成部として、上記端末装置と共有する共有鍵を生成し、
上記アイシーカードが、カード認証生成部として、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成し、
上記アイシーカードが、カード認証送信部として、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信し、
上記端末装置が、カード認証受信部として、上記アイシーカードが送信したカード認証データを受信し、
上記端末装置が、端末共有鍵生成部として、上記アイシーカードと共有する共有鍵を生成し、
上記端末装置が、カード認証部として、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証し、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末装置が、利用者認証生成部として、上記利用者認証入力部が入力した利用者認証データに基づいて、上記アイシーカードに対して上記利用者の認証を要求する利用者認証コマンドを生成し、
上記端末装置が、利用者認証暗号化部として、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成し、
上記端末装置が、暗号化認証送信部として、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信し、
上記アイシーカードが、暗号化認証受信部として、上記端末装置が送信した暗号化認証コマンドを受信し、
上記アイシーカードが、利用者認証復号部として、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成し、
上記アイシーカードが、利用者認証部として、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証することを特徴とする認証方法。 - 利用者の操作を入力する操作入力装置と、データを処理する端末処理装置と、アイシーカードと通信する端末通信装置とを有する端末装置が、コマンドを上記アイシーカードに対して送信するコマンド送信方法において、
上記操作入力装置が、利用者認証入力部として、利用者を認証する利用者認証データを入力し、
上記端末処理装置が、端末共有鍵生成部として、アイシーカードと共有する共有鍵を生成し、
上記端末通信装置が、カード認証受信部として、上記アイシーカードが送信したカード認証データを受信し、
上記端末処理装置が、カード認証部として、上記利用者認証入力部が入力した利用者認証データと、上記端末共有鍵生成部が生成した共有鍵と、上記カード認証受信部が受信したカード認証データとに基づいて、上記アイシーカードを認証し、
上記カード認証部が上記アイシーカードの認証に成功した場合に、上記端末処理装置が、利用者認証生成部として、上記利用者認証入力部が入力した利用者認証データに基づいて、上記利用者の認証を要求する利用者認証コマンドを生成し、
上記端末処理装置が、利用者認証暗号化部として、上記利用者認証生成部が生成した利用者認証コマンドを、上記端末共有鍵生成部が生成した共有鍵で暗号化して、暗号化認証コマンドを生成し、
上記端末通信装置が、暗号化認証送信部として、上記利用者認証暗号化部が生成した暗号化認証コマンドを上記アイシーカードに対して送信することを特徴とするコマンド送信方法。 - データを記憶するカード記憶装置と、データを処理するカード処理装置と、端末装置と通信するカード通信装置とを有するアイシーカードが、利用者を認証する認証方法において、
上記カード記憶装置が、利用者認証記憶部として、利用者を認証する利用者認証データを記憶し、
上記カード処理装置が、カード共有鍵生成部として、上記端末装置と共有する共有鍵を生成し、
上記カード処理装置が、カード認証生成部として、上記利用者認証記憶部が記憶した利用者認証データと、上記カード共有鍵生成部が生成した共有鍵とに基づいて、カード認証データを生成し、
上記カード通信装置が、カード認証送信部として、上記カード認証生成部が生成したカード認証データを上記端末装置に対して送信し、
上記カード通信装置が、暗号化認証受信部として、上記端末装置が送信した暗号化認証コマンドを受信し、
上記カード処理装置が、利用者認証復号部として、上記暗号化認証受信部が受信した暗号化認証コマンドを、上記カード共有鍵生成部が生成した共有鍵で復号して、利用者認証コマンドを生成し、
上記カード処理装置が、利用者認証部として、上記利用者認証記憶部が記憶した利用者認証データと、上記利用者認証復号部が生成した利用者認証コマンドとに基づいて、利用者を認証することを特徴とする認証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010123425A JP5478364B2 (ja) | 2010-05-28 | 2010-05-28 | 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010123425A JP5478364B2 (ja) | 2010-05-28 | 2010-05-28 | 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011248778A true JP2011248778A (ja) | 2011-12-08 |
JP5478364B2 JP5478364B2 (ja) | 2014-04-23 |
Family
ID=45413921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010123425A Expired - Fee Related JP5478364B2 (ja) | 2010-05-28 | 2010-05-28 | 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5478364B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018044221A1 (en) * | 2016-08-30 | 2018-03-08 | No Common Payment Ab | Generation and verification of a temporary card security code for use in card based transactions |
WO2022269914A1 (ja) * | 2021-06-25 | 2022-12-29 | 日本電気株式会社 | 端末装置、暗号化情報変換装置、照合システム、入力情報暗号化方法、暗号化情報変換方法、照合方法、入力情報暗号化プログラム、及び暗号化情報変換プログラム |
US11863548B2 (en) | 2019-09-27 | 2024-01-02 | No Common Payment Ab | Generation and verification of a temporary authentication value for use in a secure transmission |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619948A (ja) * | 1991-12-13 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 暗証番号照合方法及びその装置 |
JPH07141480A (ja) * | 1993-11-19 | 1995-06-02 | Nippon Telegr & Teleph Corp <Ntt> | Icカードのパスワード漏洩防止装置 |
JP2001118034A (ja) * | 1999-10-15 | 2001-04-27 | Toshiba Corp | Icカード利用装置、icカード及び記憶媒体 |
JP2001118022A (ja) * | 1999-10-21 | 2001-04-27 | Oki Electric Ind Co Ltd | 取引決済端末装置 |
JP2004184516A (ja) * | 2002-11-29 | 2004-07-02 | Canon Inc | デジタルデータ送信端末 |
JP2007226727A (ja) * | 2006-02-27 | 2007-09-06 | Nippon Telegr & Teleph Corp <Ntt> | 暗証番号入力システム、暗証番号入力方法、暗証番号入力装置 |
JP2009111594A (ja) * | 2007-10-29 | 2009-05-21 | National Institute Of Advanced Industrial & Technology | 短い系列を用いた認証システム |
JP2009237919A (ja) * | 2008-03-27 | 2009-10-15 | Nec Infrontia Corp | 入力装置および情報処理方法 |
-
2010
- 2010-05-28 JP JP2010123425A patent/JP5478364B2/ja not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619948A (ja) * | 1991-12-13 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 暗証番号照合方法及びその装置 |
JPH07141480A (ja) * | 1993-11-19 | 1995-06-02 | Nippon Telegr & Teleph Corp <Ntt> | Icカードのパスワード漏洩防止装置 |
JP2001118034A (ja) * | 1999-10-15 | 2001-04-27 | Toshiba Corp | Icカード利用装置、icカード及び記憶媒体 |
JP2001118022A (ja) * | 1999-10-21 | 2001-04-27 | Oki Electric Ind Co Ltd | 取引決済端末装置 |
JP2004184516A (ja) * | 2002-11-29 | 2004-07-02 | Canon Inc | デジタルデータ送信端末 |
JP2007226727A (ja) * | 2006-02-27 | 2007-09-06 | Nippon Telegr & Teleph Corp <Ntt> | 暗証番号入力システム、暗証番号入力方法、暗証番号入力装置 |
JP2009111594A (ja) * | 2007-10-29 | 2009-05-21 | National Institute Of Advanced Industrial & Technology | 短い系列を用いた認証システム |
JP2009237919A (ja) * | 2008-03-27 | 2009-10-15 | Nec Infrontia Corp | 入力装置および情報処理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018044221A1 (en) * | 2016-08-30 | 2018-03-08 | No Common Payment Ab | Generation and verification of a temporary card security code for use in card based transactions |
EP3507756A4 (en) * | 2016-08-30 | 2020-01-22 | No Common Payment AB | GENERATION AND VERIFICATION OF A TEMPORARY CARD SECURITY CODE FOR USE IN CARD TRANSACTIONS |
US11216817B2 (en) | 2016-08-30 | 2022-01-04 | No Common Payment Ab | Generation and verification of a temporary card security code for use in card based transactions |
US11863548B2 (en) | 2019-09-27 | 2024-01-02 | No Common Payment Ab | Generation and verification of a temporary authentication value for use in a secure transmission |
WO2022269914A1 (ja) * | 2021-06-25 | 2022-12-29 | 日本電気株式会社 | 端末装置、暗号化情報変換装置、照合システム、入力情報暗号化方法、暗号化情報変換方法、照合方法、入力情報暗号化プログラム、及び暗号化情報変換プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5478364B2 (ja) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020087805A1 (zh) | 基于双密值和混沌加密的可信测控网络认证方法 | |
JP4944886B2 (ja) | 展性攻撃に対して改良された安全性を有する技術(これに限定されない)を含む非ワンタイムパッド暗号で暗号化した署名鍵を用いた、暗号認証、及び/又は共有暗号鍵の設定 | |
US6535980B1 (en) | Keyless encryption of messages using challenge response | |
Wang | Password protected smart card and memory stick authentication against off-line dictionary attacks | |
JP5845393B2 (ja) | 暗号通信装置および暗号通信システム | |
US20060195402A1 (en) | Secure data transmission using undiscoverable or black data | |
EP0661845B1 (en) | System and method for message authentication in a non-malleable public-key cryptosystem | |
CN110059458B (zh) | 一种用户口令加密认证方法、装置及系统 | |
JP7259868B2 (ja) | システムおよびクライアント | |
KR100860573B1 (ko) | 사용자 인증 방법 | |
KR20090119791A (ko) | 안전 인증 채널 | |
KR20170035665A (ko) | 키 교환 장치 및 방법 | |
JP2012521109A (ja) | 身元認証及び共有鍵生成の方法 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
KR20010090167A (ko) | 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치 | |
CN109155732A (zh) | 用于在第一网络设备(起始器)和第二网络设备(应答器)之间建立安全通信的方法和布置 | |
US11438316B2 (en) | Sharing encrypted items with participants verification | |
CN113507372A (zh) | 一种接口请求的双向认证方法 | |
CN115150180A (zh) | 存储设备管理方法、存储设备、管理设备及存储介质 | |
Lee et al. | A computation-efficient three-party encrypted key exchange protocol | |
JP2022117456A (ja) | ハードウェアセキュリティモジュールを備えたメッセージ伝送システム | |
JP5478364B2 (ja) | 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法 | |
CN109902481B (zh) | 一种用于加密设备的加密锁认证方法及加密设备 | |
KR102415628B1 (ko) | Dim을 이용한 드론 인증 방법 및 장치 | |
US9876774B2 (en) | Communication security system and method |
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 |