(57)【要約】【課題】通信を行う際に生じるセキュリティの低下を抑止させること。【解決手段】認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備えた認証媒体であって、該取得部は、前記任意の認証部による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得する、ことを特徴とする認証媒体。【選択図】図１
2014212420.tif 000002
【特許請求の範囲】
【請求項１】
認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、
前記取得部によって取得された認証情報に基づいて認証を行う認証部と、
乱数を生成する乱数生成部と、
前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備えた認証媒体であって、
該取得部は、前記任意の認証部による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得する、
ことを特徴とする認証媒体。
【請求項２】
前記認証部は、前記取得部が取得した前記複数の認証情報を演算することによって認証を行う請求項１に記載の認証媒体。
【請求項３】
前記複数の認証情報は、異なる認証時に前記認証媒体及び端末装置の間で共有された認証情報である請求項２に記載の認証媒体。
【請求項４】
認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、
前記取得部によって取得された認証情報に基づいて認証を行う認証部と、
乱数を生成する乱数生成部と、
前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備えた認証端末であって、
該取得部は、前記任意の認証情報による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得し、
該認証部では、他の一以上の認証情報を用いた認証がなされた場合に、該共有処理部による処理を行う、
ことを特徴とする認証端末。
【請求項５】
認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、
前記取得部によって取得された認証情報に基づいて認証を行う認証部と、
乱数を生成する乱数生成部と、
前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と備える認証システムであって、
該取得部は、前記任意の認証情報による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得し、
該認証部では、他の一以上の認証情報を用いた認証がなされた場合に、該共有処理部による処理を行う、
ことを特徴とする認証システム。
【請求項６】
認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得ステップと、
前記取得ステップによって取得された認証情報に基づいて認証を行う認証ステップと、
乱数を生成する乱数生成ステップと、
前記認証ステップによって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理ステップと、を有する認証方法であって、
該取得ステップは、前記任意の認証情報による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得し、
該認証ステップでは、他の一以上の認証情報を用いた認証がなされた場合に、該共有処理部による処理を行う、
ことを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードの認証技術に関する。
【背景技術】
【０００２】
従来のフィーチャーフォンに変わり、スマートフォンやタブレット端末（以下、「スマートデバイス」という。）の高機能端末が急速に普及している。この高機能性を利用して、企業においてもスマートデバイスの利用が広まっている。しかし、スマートデバイスのセキュリティとしては、ユーザにパスワードを入力させるなどの知識レベルでの認証が一般的である。そのため、スマートデバイスのセキュリティレベルは低い。
【０００３】
また、近年では、ＢＹＯＤ（Ｂｒｉｎｇ  Ｙｏｕｒ  Ｏｗｎ  Ｄｅｖｉｃｅ）を採用する企業も増えている。そのため、スマートデバイスのセキュリティ強化が求められている。さらに、ユーザが個人で使用するスマートデバイスにはメールアドレス等の個人情報が格納されている。そのため、個人使用でのスマートデバイスにおいてもセキュリティ強化が求められている。そこでセキュリティ強化のため、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐａｓｓ）を利用した２因子認証を行える製品が提案されている。しかし、このような製品は、ユーザがＯＴＰを生成する機器を携行しなくてはならないため不便であった。
【０００４】
そこで、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）やＢｌｕｅｔｏｏｔｈ（登録商標）のような無線通信を利用することによって、ＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）などの外部認証デバイスと接続する方法が提案されており、スマートデバイスに搭載される動きが出てきている。無線通信を利用した非接触ＩＣカードは、使用者の利便性や機器のメンテナンス性において、接触ＩＣカードと比べて優れている。さらに、非接触ＩＣカードは、接触端子部分が無いことから耐久性の面においても接触ＩＣカードと比べて優れている。現在、日本において、非接触ＩＣカードは社員証として広く使用されている。しかし、そのような非接触ＩＣカードは、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）演算をＩＣカード内で実施できない仕様となっている。
【０００５】
それに対して、ＲＳＡ演算可能なＩＣカードは、接触タイプのＩＣカードが主流である。しかし、接触タイプのＩＣカードは、カード単価が高いために普及の妨げとなっている。さらに、接触タイプのＩＣカードは、取扱いの面においても非接触ＩＣカードに及ばない。そのため、接触ＩＣカードは、ＩＣキャッシュカード、ＩＣクレジットカードを除いて広くは普及していない。
また、接触タイプと非接触タイプとの両方のＩＣを搭載したＩＣカードも一部で使用されている。しかし、両方のＩＣを搭載したＩＣカードは、カード単価が高いため、住民基本台帳カードのように発行枚数が多く、数量によるコストメリットが高いカード以外に普及していない。
【０００６】
また、データを暗号化する場合や、ＩＤ又はパスワードを送受信する場合に、暗号化のための鍵の共有には、ＲＳＡ演算を用いたＤＨ鍵交換（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ  ｋｅｙ  ｅｘｃｈａｎｇｅ）が用いられている。しかし、この鍵の共有方法をＩＣカードに適用するには、ＩＣカード内部でＲＳＡ演算ができることが必要となる。そのため、上述のようにＩＣカード内部でＲＳＡ演算を実施できないＩＣカードにはＤＨ鍵交換を使用することができない。
ＩＣカード内部でＲＳＡ演算を実施できない場合には、ＪＩＳ  Ｘ６３１９−３及びＩＳＯ／ＩＥＣ７８１６−４に規定されている内部認証、外部認証及びその双方の組み合わせにより相互認証による認証方式が用いられている。また、データの暗号化方式では、ＪＩＳ  Ｘ６３１９−３及びＩＳＯ／ＩＥＣ７８１６−４に規定されているセキュアメッセージングなどの方式が用いられている。
これらの２つの方式では、認証や暗号化のために使用される共通鍵は、事前に端末装置とＩＣカードとで共通鍵の基となるマスター鍵を格納しておくことが必要となる。特許文献１及び特許文献２には、共通鍵の管理や運用方法に関する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−２４９８２５号公報
【特許文献２】特開２００５−２６９１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１及び特許文献２の技術においても、事前に鍵を端末装置とＩＣカードとで共有していなければならないという問題があった。上記の事前とは、端末装置やＩＣカードの製造、発行時にマスター鍵を格納することを表す。
また、事前にマスター鍵を格納しない場合には、通信が開始された際やデータを暗号化する直前に、乱数等を共有鍵としてＩＣカードと端末装置との間で送受信する方法がある。また、送受信された乱数を所定のアルゴリズムで変換することによって共有鍵を生成する方法もある。しかし、このような方法では、共通鍵又はマスター鍵自体をトランザクション中に通信回線上で送受信する。そのため、「なりすまし」などのセキュリティ上の危険性を排除することができないという問題があった。
【０００９】
上記事情に鑑み、本発明は、通信を行う際に生じるセキュリティの低下を抑止させる技術の提供を目的としている。
【課題を解決するための手段】
【００１０】
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備えた認証媒体であって、該取得部は、前記任意の認証部による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得する、ことを特徴とする認証媒体である。
【００１１】
本発明の一態様は、上記の認証媒体であって、認証部は、前記取得部が取得した前記複数の認証情報を演算することによって認証を行う。
【００１２】
本発明の一態様は、上記の認証媒体であって、複数の認証情報は、異なる認証時に前記認証媒体及び端末装置の間で共有された認証情報である。
【００１３】
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備えた認証端末であって、該取得部は、前記任意の認証情報による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得し、該認証部では、他の一以上の認証情報を用いた認証がなされた場合に、該共有処理部による処理を行う、ことを特徴とする認証端末である。
【００１４】
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と備える認証システムであって、該取得部は、前記任意の認証情報による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得し、該認証部では、他の一以上の認証情報を用いた認証がなされた場合に、該共有処理部による処理を行う、ことを特徴とする認証システムである。
【００１５】
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された複数の認証情報のうち任意の一以上の認証情報を取得する取得ステップと、前記取得ステップによって取得された認証情報に基づいて認証を行う認証ステップと、乱数を生成する乱数生成ステップと、前記認証ステップによって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理ステップと、を有する認証方法であって、該取得ステップは、前記任意の認証情報による認証が失敗した場合に、以前の認証時に認証媒体及び端末装置の間で共有された他の一以上の認証情報を取得し、該認証ステップでは、他の一以上の認証情報を用いた認証がなされた場合に、該共有処理部による処理を行う、ことを特徴とする認証方法である。
【発明の効果】
【００１６】
本発明により、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】認証システムの一実施形態におけるシステム構成を示す概略ブロック図である。
【図２】本発明におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
【図３】本発明における認証方法の処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下、本発明の具体的な構成例について、図面を参照しながら説明する。
図１は、認証システムの一実施形態におけるシステム構成を示す概略ブロック図である。
図１において、認証システムは、認証端末１０ａ及びＩＣカード２０ａ（認証媒体）を備える。
認証端末１０ａは、情報処理装置を用いて構成される。認証端末１０ａは、ＩＣカード２０ａが近づけられることによって認証を行う。
ＩＣカード２０ａは、内部に記憶回路を備える。ＩＣカード２０ａは、認証端末１０ａから無線信号を受信して、ＩＤ情報を含む無線信号を認証端末１０ａに送信する。
【００１９】
次に、認証端末１０ａ及びＩＣカード２０ａの機能構成を説明する。まず、認証端末１０ａの機能構成を説明する。
認証端末１０ａは、バスで接続されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリや補助記憶装置などを備え、認証プログラムを実行する。認証プログラムの実行によって、認証端末１０ａは、入力部１０１、制御部１０２、通信部１０３、認証情報記憶部１０４、出力部１０５、暗号化部１０６を備える装置として機能する。なお、認証端末１０ａの各機能の全て又は一部は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェアを用いて実現されても良い。また、認証プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、認証プログラムは、電気通信回線を介して送受信されても良い。
【００２０】
入力部１０１は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部１０１は、ユーザの指示を認証端末１０ａに入力する際にユーザによって操作される。入力部１０１は、入力装置を認証端末１０ａに接続するためのインタフェースであっても良い。この場合、入力部１０１は、入力装置においてユーザの入力に応じ生成された入力信号を認証端末１０ａに入力する。
制御部１０２は、認証端末１０ａの動作を制御する。
【００２１】
通信部１０３は、制御部１０２の指示に従い、ＩＣカード２０ａとの間で無線信号の送受信を行う。
認証情報記憶部１０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。認証情報記憶部１０４は、カード認証テーブルを記憶する。カード認証テーブルには、ＩＣカード２０ａの認証に関する情報が登録されている。
【００２２】
出力部１０５は、認証端末１０ａに接続された不図示の出力装置を介し、ユーザに対して操作指示やエラーメッセージ等の出力を行う。出力装置は、例えば画像や文字を画面に出力する装置を用いて構成されても良い。例えば、出力装置は、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｔ）ディスプレイ等を用いて構成できる。また、出力装置は、文字を音声に変換して出力する装置を用いて構成されても良い。この場合、出力装置は、音声合成装置及び音声出力装置（スピーカー）を用いて構成できる。
暗号化部１０６は、暗号化を行う。具体的には、暗号化部１０６は、入力部１０１に入力されたユーザの指示や認証端末１０ａの端末ＩＤなどの情報を、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を用いて暗号化し、ＤＥＳ暗号化情報を生成する。
【００２３】
次に、ＩＣカード２０ａの機能構成を説明する。
ＩＣカード２０ａは、制御部２０１、通信部２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４、認証情報記憶部２０５、復号化部２０６、乱数生成部２０７を備える。上記のＩＣカード２０ａの各機能部は、バスを介して互いに接続されている。
【００２４】
制御部２０１は、ＩＣカード２０ａの動作を制御する。また、制御部２０１は、Ｎ回目の認証が行われた場合に、乱数生成部２０７に乱数の生成を指示する。例えば、制御部２０１は、Ｎ回目の認証の際に（Ｎ＋１）回目の認証に使用する乱数（以下、「次回乱数」という。）の生成を指示する。
通信部２０２は、制御部２０１の指示に従い、認証端末１０ａとの間で無線信号の送受信を行う。
ＲＯＭ２０３は、読み出し専用のメモリであり、ＩＣカード２０ａを動作させるためのプログラムを記憶する。
【００２５】
ＲＡＭ２０４は、種々の情報を記憶する読み出し書き込みメモリである。ＲＡＭ２０４には、ＲＯＭ２０３から読み出されたプログラムが展開される。ＲＡＭ２０４は、プログラムが実行されることによって生成された各種データを記憶する。ＲＡＭ２０４は、認証端末１０ａから送信されるデータを一時的に記憶する。ＲＡＭ２０４は、ＰＩＮカウンタを記憶する。ＰＩＮカウンタは、ＰＩＮ照合に使用されるカウンタである。
認証情報記憶部２０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。認証情報記憶部２０５は、端末認証情報を記憶する。端末認証テーブルには、認証端末１０ａの認証に関する情報が登録されている。
【００２６】
復号化部２０６は、暗号化された情報を復号化する。例えば、復号化部２０６は、認証端末１０ａから送信されるＤＥＳ暗号化情報を復号化する。
乱数生成部２０７は、制御部２０１の指示に従い、乱数を生成する。例えば、乱数生成部２０７は、制御部２０１の指示に従い、次回乱数（認証情報）を生成する。
以下、本発明の認証システムの一実施形態における具体的な動作例について説明する。
【００２７】
図２は、一実施形態におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
図２（Ａ）は、カード認証テーブルの一例を示す図である。カード認証テーブルは、ＩＣカード２０ａの認証に関する情報を表すレコード４３を複数有する。レコード４３は、カードＩＤ、（Ｎ−１）回目受信乱数、（Ｎ−２）回目受信乱数、（Ｎ−３）回目受信乱数の各値を有する。
【００２８】
カードＩＤの値は、ＩＣカード２０ａを識別するためのＩＤを表す。（Ｎ−１）回目受信乱数の値は、（Ｎ−１）回目の認証が行われた際に通信部１０３が受信した次回乱数を表す。（Ｎ−２）回目受信乱数の値は、（Ｎ−２）回目の認証が行われた際に通信部１０３が受信した次回乱数、（Ｎ−３）回目受信乱数の値は、（Ｎ−３）回目の認証が行われた際に通信部１０３が受信した次回乱数を表す。
なお、（Ｎ−１）回目受信乱数の値は、Ｎ回目の認証に使用される。そして、（Ｎ−１）回目受信乱数の値を用いた認証に失敗した場合には、（Ｎ−２）回目受信乱数の値、（Ｎ−３）回目受信乱数の値が使用される。Ｎ＝１の場合の（Ｎ−１）回目受信乱数及び（Ｎ−２）回目受信乱数及び（Ｎ−３）回目受信乱数の各値は、管理者によって予め設定される。
【００２９】
図２（Ｂ）は、端末認証テーブルの一例を示す図である。端末認証テーブルは、認証端末１０ａの認証に関する情報を表すレコード４４を複数有する。レコード４４は、端末ＩＤ、（Ｎ−１）回目送信乱数、（Ｎ−２）回目送信乱数、（Ｎ−３）回目送信乱数の各値を有する。
端末ＩＤの値は、認証端末１０ａを識別するためのＩＤである。（Ｎ−１）回目送信乱数の値は、（Ｎ−１）回目の認証が行われた際に通信部２０２が送信した次回乱数を表す。（Ｎ−２）回目送信乱数の値は、（Ｎ−２）回目の認証が行われた際に通信部２０２が送信した次回乱数、（Ｎ−３）回目送信乱数の値は、（Ｎ−３）回目の認証が行われた際に通信部２０２が送信した次回乱数を表す。
なお、（Ｎ−１）回目送信乱数の値は、Ｎ回目の認証に使用される。そして、（Ｎ−１）回目送信乱数の値を用いた認証に失敗した場合には、（Ｎ−２）回目送信乱数の値、（Ｎ−３）回目送信乱数の値が使用される。Ｎ＝１の場合の（Ｎ−１）回目送信乱数及び（Ｎ−２）回目送信乱数及び（Ｎ−３）回目送信乱数の各値は、管理者によって予め設定される。
【００３０】
Ｎ回目の認証において、端末認証テーブル及びカード認証テーブルに記録されている（Ｎ−１）回目に送受信された乱数を用いて認証が行われる。また、（Ｎ＋１）回目の認証には、Ｎ回目の認証において認証端末１０ａとＩＣカード２０ａとの間で送受信された乱数を用いて認証が行われる。したがって、認証端末１０ａとＩＣカード２０ａとの間で行われる認証においてＲＳＡ演算などの複雑な演算処理を行う必要がない。また、Ｎ回目の認証において認証端末１０ａとＩＣカード２０ａとの間で送受信された乱数が盗聴された場合であっても、Ｎ回目の認証が不正に通過されることはない。また、Ｎ回目の認証が不正に通過されないため、（Ｎ＋１）回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、ＲＳＡ演算機能を持たないＩＣカード２０ａであってもセキュリティの低下を抑止させることが可能となる。
【００３１】
図３は、第一実施形態における認証方法の処理の流れを示すシーケンス図である。なお、認証端末１０ａからＩＣカード２０ａへの無線信号の送信及びＩＣカード２０ａから認証端末１０ａへの無線信号の送信は破線で表している。
まず、ユーザがＩＣカード２０ａを認証端末１０ａに近づけることによって、Ｎ回目の認証処理が開始される。認証処理が開始されると、認証端末１０ａの通信部１０３は、近づけられたＩＣカード２０ａを特定するために、ＩＣカード２０ａにチャレンジ送信を行う。（ステップＳ１０１）。
【００３２】
ＩＣカード２０ａの通信部２０２は、認証端末１０ａから送信されたチャレンジ送信を受信する。制御部２０１は、受信したチャレンジ送信に応じてレスポンスコードを作成する。通信部２０２は、作成されたレスポンスコード（例えば、カードＩＤなど）を認証端末１０ａに送信する（ステップＳ１０２）。認証端末１０ａの通信部１０３は、ＩＣカード２０ａから送信されたレスポンスコードを受信する。制御部１０２は、受信したレスポンスコードを参照することによってＩＣカード２０ａが登録済みのカードであるか否かを判定する（ステップＳ１０３）。
【００３３】
登録済みのカードである場合（ステップＳ１０３−ＹＥＳ）、制御部１０２は認証情報記憶部１０４に記憶されているカード認証テーブルを読み出す。制御部１０２は、読み出したカード認証テーブルに記録されているレコード４３のうち、通信部１０３が受信したカードＩＤに対応するレコード４３を選択する。制御部１０２は、選択したレコード４３の（Ｎ−１）回目受信乱数の項目に記録されている値を取得する。通信部１０３は、取得した（Ｎ−１）回目受信乱数及び自装置（認証端末１０ａ）の端末ＩＤの各値をＩＣカード２０ａに送信する（ステップＳ１０４）。
【００３４】
ＩＣカード２０ａの通信部２０２は、認証端末１０ａから送信された（Ｎ−１）回目受信乱数及び認証端末１０ａの端末ＩＤの各値を受信する。制御部２０１は、認証情報記憶部２０５に記憶されている端末認証テーブルを読み出す。制御部２０１は、読み出した端末認証テーブルに記録されているレコード４４のうち、通信部２０２が受信した端末ＩＤに対応するレコード４４を選択する。制御部２０１は、選択したレコード４４の（Ｎ−１）回目送信乱数の項目に記録されている値を取得する。
【００３５】
制御部２０１は、取得した（Ｎ−１）回目送信乱数の値と、通信部２０２が受信した（Ｎ−１）回目受信乱数の値とが一致するか否かを判定する（ステップＳ１０５）。（Ｎ−１）回目送信乱数の値と（Ｎ−１）回目受信乱数の値とが一致する場合（ステップＳ１０５−ＹＥＳ）、制御部２０１は（Ｎ−１）回目送信乱数の値と、（Ｎ−１）回目受信乱数の値とが一致したことを示す判定結果を通信部２０２に出力する。さらに、制御部２０１は、乱数生成部２０７に乱数生成を指示する。乱数生成部２０７は、制御部２０１の指示に従い、次回乱数を生成する（ステップＳ１０６）。ＩＣカード２０ａの通信部２０２は、判定結果及び生成された次回乱数の各値を認証端末１０ａに送信する（ステップＳ１０７）。
【００３６】
認証端末１０ａの通信部１０３は、判定結果及び生成された次回乱数の各値を受信する。制御部１０２は、通信部１０３が受信した判定結果に基づいて（Ｎ−１）回目送信乱数の値と、（Ｎ−１）回目受信乱数の値とが一致したと判定する。
その後、制御部１０２は、カード認証テーブルの値を更新する。具体的には、まず、制御部１０２は、判定結果を送信したＩＣカード２０ａのカードＩＤに対応するレコード４３を選択する。制御部１０２は、選択したレコード４３の（Ｎ−１）回目受信乱数の値を取得する。制御部１０２は、通信部１０３が受信した次回乱数の値を、選択したレコード４３の（Ｎ−１）回目受信乱数の値に上書きすることによって値を更新する（ステップＳ１０８）。また、（Ｎ−１）回目受信乱数の値を、選択したレコード４３の（Ｎ−２）回目受信乱数の値に上書き、（Ｎ−２）回目受信乱数の値を、選択したレコード４３の（Ｎ−３）回目受信乱数の値に上書きすることによって値を更新する。
【００３７】
制御部１０２は、更新した次回乱数及び自装置（認証端末１０ａ）の端末ＩＤの各値が含まれている更新情報を通信部１０３に出力する。通信部１０３は、出力された更新情報をＩＣカード２０ａに送信する（ステップＳ１０９）。そして、認証端末１０ａは、ＩＣカード２０ａの認証を完了する（ステップＳ１１０）。その後、認証端末１０ａは処理を終了する。
【００３８】
ＩＣカード２０ａの通信部２０２は、認証端末１０ａから送信された更新情報を受信する。制御部２０１は、受信した更新情報から次回乱数及び認証端末１０ａの各値を取得する。端末認証テーブルを更新する。具体的には、まず、制御部２０１は、更新情報を送信した認証端末１０ａの端末ＩＤに対応するレコード４４を選択する。制御部２０１は、選択したレコード４４の（Ｎ−１）回目送信乱数の値を取得する。その後、通信部２０２が受信した次回乱数の値を、選択したレコード４４の（Ｎ−１）回目送信乱数の値に上書きすることによって値を更新する（ステップＳ１１１）。そして制御部２０１は、取得した（Ｎ−１）回目送信乱数の値を、選択したレコード４４の（Ｎ−２）回目送信乱数の値に上書き、取得した（Ｎ−２）回目送信乱数の値を、選択したレコード４４の（Ｎ−３）回目送信乱数の値に上書きすることによって値を更新する。次に、制御部２０１は、その後、ＩＣカード２０ａは処理を終了する。
【００３９】
ステップＳ１０３の処理において、登録済みのカードではない場合（ステップＳ１０３−ＮＯ）、出力部１０５はカードの認証エラーをユーザに通知する（ステップＳ１１２）。その後、認証端末１０ａは処理を終了する。
【００４０】
ステップＳ１０５の処理において、（Ｎ−１）回目送信乱数の値と、（Ｎ−１）回目受信乱数の値とが一致しない場合（ステップＳ１０５−ＮＯ）、ＩＣカード２０ａの通信部２０２は（Ｎ−２）回目送信乱数を認証端末１０ａに要求する。認証端末１０ａの制御部１０２は、選択したレコード４３の（Ｎ−２）回目受信乱数の項目に記録されている値を取得する。通信部１０３は、取得した（Ｎ−２）回目受信乱数及び自装置（認証端末１０ａ）の端末ＩＤの各値をＩＣカード２０ａに送信する（ステップＳ１１３）。
【００４１】
制御部２０１は、取得した（Ｎ−２）回目送信乱数の値と、通信部２０２が受信した（Ｎ−２）回目受信乱数の値とが一致するか否かを判定する（ステップＳ１１４）。（Ｎ−２）回目送信乱数の値と（Ｎ−２）回目受信乱数の値とが一致する場合（ステップＳ１０５−ＹＥＳ）、制御部２０１は（Ｎ−２）回目送信乱数の値と、（Ｎ−２）回目受信乱数の値とが一致したことを示す判定結果を通信部２０２に出力する。
【００４２】
次にＩＣカード２０ａの通信部２０２は（Ｎ−３）回目送信乱数を認証端末１０ａに要求する。認証端末１０ａの制御部１０２は、選択したレコード４３の（Ｎ−３）回目受信乱数の項目に記録されている値を取得する。通信部１０３は、取得した（Ｎ−３）回目受信乱数及び自装置（認証端末１０ａ）の端末ＩＤの各値をＩＣカード２０ａに送信する（ステップＳ１１５）。
【００４３】
制御部２０１は、取得した（Ｎ−３）回目送信乱数の値と、通信部２０２が受信した（Ｎ−２）回目受信乱数の値とが一致するか否かを判定する（ステップＳ１１６）。（Ｎ−３）回目送信乱数の値と（Ｎ−３）回目受信乱数の値とが一致する場合（ステップＳ１０５−ＹＥＳ）、制御部２０１は（Ｎ−３）回目送信乱数の値と、（Ｎ−３）回目受信乱数の値とが一致したことを示す判定結果を通信部２０２に出力する。
そして、ステップＳ００６へ進む。
【００４４】
なお、この場合、ステップＳ１０８、ステップＳ１１１において、それぞれ、通信部１０３、通信部２０２が受信した次回乱数の値を、選択したレコード４３、レコード４４の（Ｎ−１）回目受信乱数／送信乱数の値に上書きすることによって値を更新する。そして、（Ｎ−２）回目受信乱数／送信乱数、（Ｎ−３）回目受信乱数／送信乱数については更新をしない。
【００４５】
ステップＳ１１４の処理において、（Ｎ−２）回目送信乱数の値と、（Ｎ−２）回目受信乱数の値とが一致しない場合（ステップＳ１１４−ＮＯ）、又はステップＳ１１６の処理において、（Ｎ−３）回目送信乱数の値と、（Ｎ−３）回目受信乱数の値とが一致しない場合（ステップＳ１１６−ＮＯ）、認証端末１０ａの通信部１０３はエラーの通知を認証端末１０ａに送信する。認証端末１０ａの通信部１０３は、ＩＣカード２０ａから送信されたエラーの通知を受信する（ステップＳ１１７、ステップＳ１１８）。出力部１０５は、エラーをユーザに通知する（ステップＳ１１２）。その後、認証端末１０ａは処理を終了する。
【００４６】
以上のように構成された認証システムによれば、Ｎ回目の認証が行われる際に、複数の乱数を用いて認証が行われる。また、Ｎ回目の認証が行われる際に、その認証に使用される乱数の送受信が行われない。具体的には、過去の認証が正しく行われた際に認証端末１０ａとＩＣカード２０ａとの間で送受信された１又は複数の乱数が使用される。したがって、Ｎ回目の認証において認証端末１０ａとＩＣカード２０ａとの間で送受信される乱数が盗聴された場合であっても、Ｎ回目の認証が不正に通過されることはない。また、Ｎ回目の認証が不正に通過されないため、（Ｎ＋１）回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
【００４７】
＜変形例＞
上記例では、（Ｎ−ｘ）回目受信乱数を使った認証端末の認証する例で説明していたが、反対にＩＣカードから認証端末に（Ｎ−ｘ）回目受信乱数を送り、カードの認証を行うようにすることもできる。
この場合、認証端末の認証は別の方法を用いてもよい。
【００４８】
本実施例では、非接触タイプのＩＣカード２０ａを用いた構成を示したが、接触タイプのＩＣカード２０ａを用いて構成されても良い。この場合、ＩＣカード２０ａがユーザによって認証端末１０ａに挿入された後に認証処理が開始されても良い。
本実施例では、ＰＩＮ入力による照合を行う構成を示したが、これに限定される必要はなく、生体情報による照合が行われても良い。
【００４９】
本実施例では、ＤＥＳを用いた暗号化方式によって暗号化を行う構成を示したが、例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を用いて暗号化が行われても良い。また、その他のアルゴリズムを用いて暗号化が行われても良い。
認証システムによる認証結果は、その後にどのような処理に用いられても良い。例えば、認証処理が終了した後、その認証処理とは異なる認証処理が行われても良い。また、暗号化通信が行われても良い。
【００５０】
認証端末１０ａが記憶しているカード認証テーブルは、不図示のホスト装置が記憶するように構成されても良い。ホスト装置とは、１又は複数の認証端末１０ａと通信可能な装置である。ホスト装置がカード認証テーブルを記憶する場合、認証が行われる際に認証端末１０ａがホスト装置からカード認証テーブルを読み出して認証を行っても良い。
上述した構成では、認証端末１０ａとＩＣカード２０ａとの間で送受信された次回乱数は認証に使用されたが、共通鍵として使用されても良い。
また、認証方法は、上述したように乱数同士の一致に基づいた処理に限定される必要はなく、その他の認証方法で認証処理が行われても良い。例えば、乱数同士の排他的論理和によって認証が行われても良いし、乱数及びハッシュ値を用いて認証が行われても良い。
また、ＩＣカード２０ａが実行するプログラムをＲＯＭ２０３に代わってＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）が記憶するように構成されても良い。例えば、ＪＡＶＡカード(登録商標）などのＩＣカード２０ａの場合、ＩＣカード２０ａが実行するプログラムはＥＥＰＲＯＭに記憶される。
【００５１】
ステップＳ１１２のエラー通知後の処理は、上述の処理に限定される必要はない。例えば、認証端末１０ａ及びＩＣカード２０ａの両方を一定期間使用不可能にしても良い。具体的には、ＩＣカード２０ａの制御部２０１が通信部２０２を介して、一定期間使用不可能にすることを認証端末１０ａに通知し、認証端末１０ａの制御部１０２は、通信部１０３の動作を制御してＩＣカード２０ａとの間で通信を行わないように制御する。さらに、ＩＣカード２０ａの制御部２０１は、通信部２０２の動作を制御して認証端末１０ａとの間で通信を行わないように制御する。また、認証端末１０ａのみを一定期間使用不可能にしても良い。また、認証端末１０ａは解除用のパスワードを備えるように構成されても良い。そして、認証端末１０ａは解除用パスワードが入力されると、使用可能となるように構成されても良い。また、認証端末１０ａやＩＣカード２０ａを使用不可能にして再発行又は再購入させるように構成されても良い。
【００５２】
また、ステップＳ１０５において認証に失敗した場合、（Ｎ−２）回目受信／送信乱数及び（Ｎ−３）回目受信／送信乱数が一致した場合に認証に成功とする方法に限定されることはなく、任意の過去の受信／送信乱数、またはそれらの組合せにより追加認証を行うようにしてもよい。
また、端末認証テーブルには、（Ｎ−１）回目送信乱数及び（Ｎ−２）回目送信乱数以外の値が記憶され、認証に使用されても良い。例えば、端末認証テーブルには、（Ｎ−３）回目送信乱数の値や（Ｎ−４）回目送信乱数の値ように、（Ｎ−２）回目送信乱数よりも前の次回乱数の値が記録され、認証に使用されても良い。
【００５３】
また、認証方法は、上述したように乱数同士の一致に基づいた処理に限定される必要はなく、その他の認証方法で認証処理が行われても良い。例えば、（Ｎ−１）回目送信乱数と（Ｎ−２）回目送信乱数とを加算した値と、（Ｎ−１）回目受信乱数と（Ｎ−２）回目受信乱数とを加算した値とを比較することによって認証が行われても良い。具体的には、まず、図３のステップＳ１０４の処理において、認証端末１０ａの制御部１０２は、カード認証テーブルに記録されている（Ｎ−１）回目受信乱数の値と（Ｎ−２）回目受信乱数の値とを取得する。その後、制御部１０２は、取得した（Ｎ−１）回目受信乱数の値と（Ｎ−２）回目受信乱数の値とを加算して合成乱数を生成する。通信部１０３は、生成された合成乱数の値をＩＣカード２０ａに送信する。
【００５４】
次に、ステップＳ１０５の処理において、ＩＣカード２０ａの通信部２０２は、認証端末２０ａから送信された合成乱数を受信する。制御部２０１は、端末認証テーブルに記録されている（Ｎ−１）回目受信乱数の値と（Ｎ−２）回目受信乱数の値とを取得する。その後、制御部２０１は、取得した（Ｎ−１）回目受信乱数の値と（Ｎ−２）回目受信乱数の値とを加算して合成乱数を生成する。その後、制御部２０１は、通信部２０２が受信した合成乱数の値と生成された合成乱数とが一致するか否かを判定する。このように、乱数同士を演算することによって認証が行われても良い。また、その他の演算（例えば、減算、乗算、除算など）によって算出された値を用いて認証が行われても良い。
なお、この場合、ステップＳ１０５で認証に失敗した場合は、（Ｎ−３）回目以前に送受信した乱数を用いて追加認証を行う。
【００５５】
また、上述の例では、ＩＣカード側で乱数を生成していたが、認証端末側で生成するようにすることもできる。この場合、カード認証テーブルには送信乱数が記録され、端末認証テーブルには受信乱数が記録されることになる。
【００５６】
また、乱数を用いた認証の前に、ＰＩＮ認証を行ってもよい。
具体的には、ＩＣカード２０ａの通信部２０２は、認証端末１０ａから送信されたＤＥＳ暗号化情報を受信する。復号化部２０６は、通信部２０２が受信したＤＥＳ暗号化情報を復号化することによってＰＩＮコード及び端末ＩＤの各値を取得する（ステップＳ１０３）。復号化部２０６は、取得したＰＩＮコード及び端末ＩＤの各値をＲＡＭ２０４に記録する。制御部２０１は、ＲＡＭ２０４に記録されているＰＩＮコードを取得する。その後、制御部２０１は、予めユーザによって設定されたＰＩＮコードの値と取得したＰＩＮコードの値とが一致するか否かを判定する。ＰＩＮコードが一致する場合、制御部２０１はＲＡＭ２０４に記憶されているＰＩＮカウンタのカウンタ値をリセットする。
【００５７】
また、ＩＣカード２０ｂが記憶する端末認証テーブルは、上述の構成に限定される必要はない。例えば、認証端末１０ｂが共有端末として構成される場合、ＩＣカード２０ｂは共有端末に対応する受信乱数の値のみを記憶するように構成されても良い。
【００５８】
また、次回乱数はステップＳ１０５で乱数が一致した後ではなく、ステップＳ１０２の後など、任意のタイミングで生成させてもよい。
また、ステップＳ１０７において、乱数の送信は判定結果と同時でなくてもよい。
【符号の説明】
【００５９】
１０・・・認証端末（端末装置ａ及び端末装置ｂ），
２０・・・ＩＣカード（ＩＣカードａ及びＩＣカードｂ）
１０１・・入力部
１０２・・制御部（認証部、共有処理部、取得部）
１０３・・通信部（取得部）
１０４・・認証情報記憶部
１０５・・出力部
１０６・・暗号化部
２０１・・制御部（認証部、共有処理部、取得部）
２０２・・通信部（取得部）
２０３・・ＲＯＭ
２０４・・ＲＡＭ
２０５・・認証情報記憶部
２０６・・復号化部
２０７・・乱数生成部（認証情報生成部）
３０１・・乱数生成部
【図１】
2014212420.tif 000003
【図２】
2014212420.tif 000004
【図３】
2014212420.tif 000005