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