(57)【要約】【課題】認証装置２００からホスト装置１００へ認証結果を安全に（改ざんされることなく）送信することを目的とする。【解決手段】ホスト装置１００と認証装置２００との間で予め所定の情報（カウンタ値、秘密情報等）を共有する。認証装置２００は、認証結果をホスト装置１００へ送信する際、結果情報（認証成功又は認証失敗）と共有情報とを合わせた情報のハッシュ値をホスト装置１００へ送信する。ホスト装置１００は、ハッシュ値を受信すると、判定情報（例えば、認証成功）と共有情報とを合わせた情報のハッシュ値を計算し、受信したハッシュ値と比較することにより、認証が成功したか否かを判定する。【選択図】図３
2010108054.tif 000002
【特許請求の範囲】
【請求項１】
依頼装置と認証装置とを備える認証システムであり、
前記認証装置は、
認証情報を通信装置を介して受信する認証装置通信部と、
前記認証装置通信部が受信した認証情報に基づき、認証成功又は認証失敗を処理装置により判定する認証部と、
前記依頼装置との間で予め共有した共有情報を記憶装置に記憶する認証装置記憶部と、
認証成功を示す成功情報と認証失敗を示す失敗情報とから前記認証部が判定した認証成功又は認証失敗に従い選択された結果情報と、前記認証装置記憶部が記憶した共有情報とから所定の方法により応答情報を処理装置により生成する応答情報生成部とを備え、
前記認証装置通信部は、前記応答情報生成部が生成した応答情報を前記依頼装置へ送信し、
前記依頼装置は、
前記認証装置通信部が送信した応答情報を通信装置を介して受信する依頼装置通信部と、
前記認証装置との間で予め共有した共有情報を記憶装置に記憶する依頼装置記憶部と、
前記成功情報と前記失敗情報とのいずれか一方の情報である判定情報と、前記依頼装置記憶部が記憶した共有情報とから前記所定の方法により検証情報を処理装置により生成する検証情報生成部と、
前記依頼装置通信部が受信した応答情報と、前記検証情報生成部が生成した検証情報とを比較して、認証成功又は認証失敗を処理装置により判定する結果判定部と
を備えることを特徴とする認証システム。
【請求項２】
前記認証装置は、さらに、
所定のタイミングで前記認証装置記憶部が記憶した共有情報を処理装置により変更する認証装置変更部を備え、
前記応答情報生成部は、前記結果情報と、前記認証装置変更部が変更した共有情報とから応答情報を生成し、
前記依頼装置は、さらに、
所定のタイミングで前記依頼装置記憶部が記憶した共有情報を処理装置により変更する依頼装置変更部を備え、
前記検証情報生成部は、前記判定情報と、前記依頼装置変更部が変更した共有情報とから検証情報を生成する
ことを特徴とする請求項１に記載の認証システム。
【請求項３】
前記認証装置記憶部と前記依頼装置記憶部とは、共有情報としてカウンタ値を記憶し、
前記認証装置変更部は、前記認証装置通信部が認証情報を受信すると、前記認証装置記憶部が記憶したカウンタ値に所定の値を加えてカウンタ値を変更し、
前記応答情報生成部は、前記結果情報と、変更したカウンタ値とから応答情報を生成し、
前記依頼装置変更部は、前記依頼装置通信部が応答情報を受信すると、前記依頼装置記憶部が記憶したカウンタ値に前記所定の値を加えてカウンタ値を変更し、
前記検証情報生成部は、前記判定情報と、変更したカウンタ値とから検証情報を生成する
ことを特徴とする請求項２に記載の認証システム。
【請求項４】
前記認証装置記憶部と前記依頼装置記憶部とは、共有情報として複数の秘密情報を記憶し、
前記依頼装置通信部は、秘密情報を特定するための特定情報を送信し、
前記認証装置通信部は、前記依頼装置通信部が送信した特定情報を受信し、
前記応答情報生成部は、前記結果情報と、前記複数の秘密情報のうち前記認証装置通信部が受信した特定情報により特定される秘密情報とから応答情報を生成し、
前記検証情報生成部は、前記判定情報と、前記複数の秘密情報のうち前記依頼装置通信部が送信した特定情報から特定される秘密情報とから検証情報を生成する
ことを特徴とする請求項１に記載の認証システム。
【請求項５】
前記認証装置記憶部と前記依頼装置記憶部とは、共有情報として識別情報が付された複数の秘密情報を記憶し、
前記依頼装置通信部は、乱数を送信し、
前記認証装置通信部は、前記依頼装置通信部が送信した乱数を受信し、
前記認証装置は、さらに、
前記認証装置通信部が受信した乱数から識別情報を処理装置により計算する認証装置計算部を備え、
前記応答情報生成部は、前記結果情報と、前記複数の秘密情報のうち前記認証装置計算部が計算した識別情報により特定された秘密情報とから応答情報を生成し、
前記依頼装置は、さらに、
前記依頼装置通信部が送信した乱数から識別情報を処理装置により計算する依頼装置計算部を備え、
前記検証情報生成部は、前記判定情報と、前記複数の秘密情報のうち前記依頼装置計算部が計算した識別情報により特定された秘密情報とから検証情報を生成する
ことを特徴とする請求項４に記載の認証システム。
【請求項６】
前記応答情報生成部は、前記結果情報と前記秘密情報と前記認証装置通信部が受信した乱数とから応答情報を生成し、
前記検証情報生成部は、前記判定情報と前記秘密情報と前記依頼装置通信部が送信した乱数とから検証情報を生成する
ことを特徴とする請求項５に記載の認証システム。
【請求項７】
前記認証装置記憶部と前記依頼装置記憶部とは、共有情報としてカウンタ値と複数の秘密情報とを記憶し、
前記依頼装置通信部は、前記秘密情報を特定する特定情報を送信し、
前記認証装置通信部は、前記依頼装置通信部が送信した特定情報を受信し、
前記認証装置は、さらに、
所定のタイミングで前記認証装置記憶部が記憶したカウンタ値に所定の値を処理装置により加えてカウンタ値を変更する認証装置変更部を備え、
前記応答情報生成部は、前記結果情報と、前記複数の秘密情報のうち前記認証装置通信部が受信した特定情報により特定された秘密情報と、前記認証装置変更部が変更したカウンタ値とから応答情報を生成し、
前記依頼装置は、さらに、
所定のタイミングで前記依頼装置記憶部が記憶したカウンタ値に所定の値を処理装置により加えてカウンタ値を変更する依頼装置変更部を備え、
前記検証情報生成部は、前記判定情報と、前記複数の秘密情報のうち前記依頼装置通信部が送信した特定情報により特定された秘密情報と、前記依頼装置変更部が変更したカウンタ値とから検証情報を生成する
ことを特徴とする請求項１に記載の認証システム。
【請求項８】
前記検証情報生成部は、前記応答情報と前記検証情報とを前記結果判定部が比較した結果、前記応答情報と前記検証情報とが不一致である場合、前記検証情報の生成に使用した判定情報が成功情報である場合には失敗情報に、失敗情報である場合には成功情報に前記判定情報を変えて、新たに検証情報を生成し、
前記結果判定部は、前記応答情報と新たに生成した検証情報とを比較し、
前記依頼装置変更部は、前記応答情報と新たに生成した検証情報とを前記結果判定部が比較した結果、前記応答情報と新たな検証情報とが不一致である場合、前記カウンタ値に前記所定の値を加えてカウンタ値を変更する
ことを特徴とする請求項３又は７に記載の認証システム。
【請求項９】
前記検証情報生成部は、前記応答情報と前記検証情報とを前記結果判定部が比較した結果、前記応答情報と前記検証情報とが不一致である場合、前記検証情報の生成に使用した判定情報が成功情報である場合には失敗情報に、失敗情報である場合には成功情報に前記判定情報を変えて、新たに検証情報を生成し、
前記結果判定部は、前記応答情報と新たに生成した検証情報とを比較し、
前記依頼装置通信部は、前記応答情報と新たに生成した検証情報とを前記結果判定部が比較した結果、前記応答情報と新たな検証情報とが不一致である場合、前記依頼装置記憶部が記憶したカウンタ値を前記認証装置へ送信し、
前記認証装置通信部は、前記依頼装置通信部が送信したカウンタ値を受信し、
前記認証装置記憶部は、前記認証装置通信部が受信したカウンタ値を記憶する
ことを特徴とする請求項３又は７に記載の認証システム。
【請求項１０】
前記検証情報生成部は、前記応答情報と前記検証情報とを前記結果判定部が比較した結果、前記応答情報と前記検証情報とが不一致である場合、前記検証情報の生成に使用した判定情報が成功情報である場合には失敗情報に、失敗情報である場合には成功情報に前記判定情報を変えて、新たに検証情報を生成し、
前記結果判定部は、前記応答情報と新たに生成した検証情報とを比較し、
前記依頼装置通信部は、前記応答情報と新たに生成した検証情報とを前記結果判定部が比較した結果、前記応答情報と新たな検証情報とが不一致である場合、カウンタ値要求命令を前記認証装置へ送信し、
前記認証装置通信部は、カウンタ値要求命令を受信し、
前記認証装置通信部は、前記認証装置通信部がカウンタ値要求命令を受信した場合、前記認証装置記憶部が記憶したカウンタ値を前記依頼装置へ送信する
ことを特徴とする請求項３又は７に記載の認証システム。
【請求項１１】
前記応答情報生成部は、前記認証装置においてエラーが発生した場合、エラーを示すエラー情報を結果情報として、応答情報を生成し、
前記検証情報生成部は、エラー情報を判定情報として検証情報を生成し、
前記結果判定部は、前記応答情報と前記検証情報とを比較して、エラーが発生したか否かを判定する
ことを特徴とする請求項１から１０までのいずれかに記載の認証システム。
【請求項１２】
前記認証装置と前記依頼装置との少なくともいずれかは、所定のアクセス権限情報に基づき、共有情報へのアクセスを制限するアクセス制御部
を備えることを特徴とする請求項１から１１までのいずれかに記載の認証システム。
【請求項１３】
依頼装置と認証装置とにおける認証方法であり、
前記認証装置が、認証情報を受信する依頼受信ステップと、
前記認証装置が、前記依頼受信ステップで受信した認証情報に基づき、認証成功又は認証失敗を判定する認証ステップと、
前記認証装置が、認証成功を示す成功情報と認証失敗を示す失敗情報とから前記認証ステップで判定した認証成功又は認証失敗に従い選択された結果情報と、前記依頼装置との間で予め共有した共有情報とから応答情報を生成する応答情報生成ステップと、
前記認証装置が、前記応答情報生成ステップで生成した応答情報を前記依頼装置へ送信する応答情報送信ステップと、
前記依頼装置が、前記応答情報送信ステップで前記認証装置が送信した応答情報を受信する応答情報受信ステップと、
前記依頼装置が、前記成功情報と前記失敗情報とのいずれか一方の情報である判定情報と、前記認証装置との間で予め共有した共有情報とから検証情報を処理装置により生成する検証情報生成ステップと、
前記依頼装置が、前記応答情報受信ステップで受信した応答情報と、前記検証情報生成ステップで生成した検証情報とを比較して、認証成功又は認証失敗を判定する結果判定ステップと
を備えることを特徴とする認証方法。
【請求項１４】
依頼装置の依頼プログラムと認証装置の認証プログラムとを備える認証プログラムであり、
前記認証プログラムは、
認証情報を受信する依頼受信処理と、
前記依頼受信処理で受信した認証情報に基づき、認証成功又は認証失敗を判定する認証処理と、
認証成功を示す成功情報と認証失敗を示す失敗情報とから前記認証処理で判定した認証成功又は認証失敗に従い選択された結果情報と、前記認証装置が前記依頼装置との間で予め共有した共有情報とから応答情報を生成する応答情報生成処理と、
前記応答情報生成処理で生成した応答情報を前記依頼装置へ送信する応答情報送信処理とをコンピュータに実行させ、
前記依頼装置は、
前記応答情報送信処理で送信された応答情報を受信する応答情報受信処理と、
前記成功情報と前記失敗情報とのいずれか一方の情報である判定情報と、前記依頼装置が前記認証装置との間で予め共有した共有情報とから検証情報を生成する検証情報生成処理と、
前記応答情報受信処理で受信した応答情報と、前記検証情報生成処理で生成した検証情報とを比較して、認証成功又は認証失敗を判定する結果判定処理と
をコンピュータに実行させることを特徴とする認証プログラム。
【請求項１５】
認証情報を通信装置を介して受信する認証装置通信部と、
前記認証装置通信部が受信した認証情報に基づき、認証成功又は認証失敗を処理装置により判定する認証部と、
前記依頼装置との間で予め共有した共有情報を記憶装置に記憶する認証装置記憶部と、
認証成功を示す成功情報と認証失敗を示す失敗情報とから前記認証部が判定した認証成功又は認証失敗に従い選択された結果情報と、前記認証装置記憶部が記憶した共有情報とから応答情報を処理装置により生成する応答情報生成部とを備え、
前記認証装置通信部は、前記応答情報生成部が生成した応答情報を通信装置を介して前記依頼装置へ送信する
ことを特徴とする認証装置。
【請求項１６】
認証装置が認証処理を実行した結果を示す結果情報を含む応答情報を前記認証装置から受信する依頼装置通信部と、
前記認証装置との間で予め共有した共有情報を記憶装置に記憶する依頼装置記憶部と、
前記成功情報と前記失敗情報とのいずれか一方の情報である判定情報と、前記依頼装置記憶部が記憶した共有情報とから検証情報を処理装置により生成する検証情報生成部と、
前記依頼装置通信部が受信した応答情報と、前記検証情報生成部が生成した検証情報とを比較して、認証成功又は認証失敗を処理装置により判定する結果判定部と
を備えることを特徴とする依頼装置。
【請求項１７】
依頼装置と認証装置とを備える認証システムであって、前記認証装置が前記依頼装置から所定の情報を受信することにより認証する認証システムにおいて、
前記依頼装置は、
前記認証装置との間で予め共有した共有情報を記憶装置に記憶する依頼装置記憶部と、
前記所定の情報と、前記依頼装置記憶部が記憶した共有情報とから依頼情報を生成する依頼情報生成部と、
前記依頼情報生成部が生成した依頼情報を前記認証装置へ通信装置を介して送信する依頼装置通信部を備え、
前記認証装置は、
前記依頼装置通信部が送信した依頼情報を通信装置を介して受信する認証装置通信部と、
前記依頼装置との間で予め共有した共有情報を記憶装置に記憶する認証装置記憶部と、
前記所定の情報と、前記認証装置記憶部が記憶した共有情報とから検証情報を処理装置により生成する検証情報生成部と、
前記認証装置通信部が受信した依頼情報と、前記検証情報生成部が生成した検証情報とを比較して、認証成功又は認証失敗を処理装置により判定する認証部と
を備えることを特徴とする認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、認証結果等の改ざんを防止した認証技術に関する。
【背景技術】
【０００２】
認証処理や暗号処理等のアルゴリズムを実装していない装置やマイクロコントローラ（認証依頼装置、以下依頼装置）と、認証処理や暗号処理等のアルゴリズムを実装している装置やマイクロコントローラ（認証装置）とを備える認証システムがある。この認証システムにおいて、認証装置の処理によって得られた認証結果を依頼装置へ送信する場合、依頼装置と認証装置との間で通信データ（認証結果）が改ざんされる虞がある。例えば、認証失敗にもかかわらず認証成功と改ざんされる可能性がある。つまり、認証を行う装置が認証処理や暗号処理等のアルゴリズムを実装していたとしても、認証結果を受信する装置が認証処理や暗号処理等のアルゴリズムを実装していない装置である場合、装置間で通信データが改ざんされ、正当な認証結果とは異なる認証結果が伝達される虞がある。
【特許文献１】特開２００６−２８３５０７号公報
【特許文献２】特開２００６−２８３３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記認証システムにおいて、正当な（改ざんされていない）認証結果を送受信するには、物理的対策（通信路への物理的アクセスを防ぐ）や暗号化通信を行うなどの対策が必要であり、対策コストが高いことや、処理速度が遅くなることや、通信量が増えること等の課題がある。
この発明は、例えば、低コストでかつ処理速度や通信速度に大きな影響を与えることなく、正当な認証結果を高速に送受信可能とする認証装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明に係る認証システムは、例えば、依頼装置と認証装置とを備える認証システムであり、
前記認証装置は、
認証情報を通信装置を介して受信する認証装置通信部と、
前記認証装置通信部が受信した認証情報に基づき、認証成功又は認証失敗を処理装置により判定する認証部と、
前記依頼装置との間で予め共有した共有情報を記憶装置に記憶する認証装置記憶部と、
認証成功を示す成功情報と認証失敗を示す失敗情報とから前記認証部が判定した認証成功又は認証失敗に従い選択された結果情報と、前記認証装置記憶部が記憶した共有情報とから所定の方法により応答情報を処理装置により生成する応答情報生成部とを備え、
前記認証装置通信部は、前記応答情報生成部が生成した応答情報を前記依頼装置へ送信し、
前記依頼装置は、
前記認証装置通信部が送信した応答情報を通信装置を介して受信する依頼装置通信部と、
前記認証装置との間で予め共有した共有情報を記憶装置に記憶する依頼装置記憶部と、
前記成功情報と前記失敗情報とのいずれか一方の情報である判定情報と、前記依頼装置記憶部が記憶した共有情報とから前記所定の方法により検証情報を処理装置により生成する検証情報生成部と、
前記依頼装置通信部が受信した応答情報と、前記検証情報生成部が生成した検証情報とを比較して、認証成功又は認証失敗を処理装置により判定する結果判定部と
を備えることを特徴とする。
【発明の効果】
【０００５】
本発明に係る認証システムでは、認証結果をそのまま認証装置から依頼装置へ送信するのではなく、共有情報に基づき生成された応答情報を認証装置から依頼装置へ送信することにより、認証装置から依頼装置へ認証が成功したか否かを伝える。そのため、認証装置と依頼装置との間で、通信データが改ざんされ、認証失敗にもかかわらず認証成功とされることを防止できる。
【発明を実施するための最良の形態】
【０００６】
まず、以下の実施の形態で説明する認証システムの一例について説明する。
図１は、認証システムの一例である入退室管理システムを示す図である。
図１に示す入退室管理システムでは、入退室する人が保有するカードをカードリーダにかざし、カードの情報がコントローラ（認証装置の一例）へ送られて認証が行われる。その結果、認証が成功した場合には扉に付いている錠（依頼装置の一例）に開錠の命令を出し、扉が開く。
この入退室管理システムにおいて、たとえコントローラで認証失敗と判断しても、錠に送る信号を改ざんすることにより開錠の命令を錠に送信することができる。そのため、許可されていない人も扉を開けることが可能となる。
【０００７】
図２は、認証システムの一例であるマイクロコントローラが内蔵された装置を示す図である。
図２に示す装置でも図１に示す入退室管理システムと同様の課題がある。図２に示す装置では、装置外との通信や制御を行うことの認証をとるため、マイクロコントローラＡ（依頼装置の一例）は認証命令をマイクロコントローラＢ（認証装置の一例）へ送信する。マイクロコントローラＢは認証情報に基づき認証を行い、その結果（認証結果）をマイクロコントローラＡへ送信する。
この場合、たとえマイクロコントローラＢで認証失敗と判断しても、マイクロコントローラＡへ送る信号を改ざんすることにより装置外との通信や制御の許可をマイクロコントローラＡへ送信することができる。そのため、不正な通信や制御が可能となる。
【０００８】
つまり、以上のような、入退室管理システムやマイクロコントローラが内蔵された装置等が以下の実施の形態で説明する認証システムの一例である。そして、以下の実施の形態で説明する認証システムでは、上述した認証結果の改ざんを防止し、正当な認証結果を伝えることが可能となる。
【０００９】
実施の形態１．
この実施の形態では、共有情報としてカウンタ値を有する認証システムについて説明する。
【００１０】
図３は、この実施の形態に係る認証システムの機能を示す機能ブロック図である。
この実施の形態に係る認証システムは、ホスト装置１００、認証装置２００、外部接続機器３００を備える。
外部接続機器３００はホスト装置１００に接続される認証対象の装置である。ホスト装置１００は正当な外部接続機器と通信し、利用者や外部接続機器にサービスを提供する装置である。認証装置２００はホスト装置１００に接続され、受信した認証情報を用いて外部接続機器を認証し、その結果をホスト装置に応答する装置である。
【００１１】
ホスト装置１００（依頼装置の一例）は、制御部１１０、カウンタ部１２０（依頼装置変更部の一例）、メモリ１３０（依頼装置記憶部の一例）、依頼装置通信部１４０、ハッシュ演算部１５０（検証情報生成部の一例）、結果判定部１６０を備える。
制御部１１０は、装置全体の制御を行う。つまり、制御部１１０は、他の機能を制御する。
カウンタ部１２０は、内部のメモリ１３０で記憶しているカウンタ値を１増加させる。なお、ここでは、カウンタ部１２０はカウンタ値を１増加させるものとするが、増加させる値は１に限らずどのような値でもよい。つまり、カウンタ部１２０はカウンタ値に所定の値（マイナスの値であってもよい）を加える。
メモリ１３０は、カウンタ値（共有情報の一例）を記憶する。なお、メモリ１３０は、カウンタ部１２０の外部メモリでもよい。
依頼装置通信部１４０は、認証装置２００、外部接続機器３００と通信装置を介して通信する。依頼装置通信部１４０は、認証装置２００と通信する第１の通信部と外部接続機器３００と通信する第２の通信部とを備えるとしてもよい。
ハッシュ演算部１５０は、入力データに対して特定のデータ変換を処理装置により施す。ここでは、ハッシュ演算部１５０は、入力データに対して所定のハッシュ関数によりハッシュ値を計算するものとする。ハッシュ演算部１５０は、ＣＲＣ、メッセージ認証子、チェックサムなどを計算するとしてもよい。
結果判定部１６０は、入力された２つの情報を比較して、認証成功と判定されたか認証失敗と判定されたかを処理装置により判定する。
【００１２】
認証装置２００は、制御部２１０、カウンタ部２２０（認証装置変更部の一例）、メモリ２３０（認証装置記憶部の一例）、認証装置通信部２４０、ハッシュ演算部２５０（応答情報生成部の一例）、認証部２６０を備える。
制御部２１０は、装置全体の制御を行う。つまり、制御部２１０は、他の機能を制御する。
カウンタ部２２０は、内部のメモリ２３０で記憶しているカウンタ値を１増加させる。なお、ここでは、カウンタ部２２０はカウンタ値を１増加させるものとするが、増加させる値は１に限らずどのような値でもよい。つまり、カウンタ部２２０はカウンタ値に所定の値を加える。但し、カウンタ部２２０は、カウンタ部１２０と同一の値をカウンタ値に加えるものとする。
メモリ２３０は、カウンタ値を記憶する。なお、メモリ２３０は、カウンタ部２２０の外部メモリでもよい。
認証装置通信部２４０は、ホスト装置１００と通信装置を介して通信する。
ハッシュ演算部２５０は、入力データに対して特定のデータ変換（ハッシュ演算部１５０と同一のデータ変換）を処理装置により施す。ここでは、ハッシュ演算部２５０は、入力データに対してハッシュ演算部１５０と同一のハッシュ関数によりハッシュ値を計算するものとする。ハッシュ演算部２５０は、ＣＲＣ、メッセージ認証子、チェックサムなどを計算するとしてもよい。
認証部２６０は、ホスト装置１００から受信した認証情報により、認証成功又は認証失敗を処理装置により判定する。
【００１３】
図４は、この実施の形態に係る認証システムの動作を示すフローチャートである。
外部接続機器３００は、認証情報をホスト装置１００へ通信装置を介して送信する（Ｓ１００：認証情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、外部接続機器３００が送信した認証情報を通信装置を介して受信する（Ｓ１０１：認証情報受信ステップ）。依頼装置通信部１４０は、受信した認証情報を含む認証命令を認証装置２００へ通信装置を介して送信する（Ｓ１０２：依頼ステップ）。この際、外部接続機器３００から受信したすべての認証情報ではなく、一部の認証情報を認証装置２００へ送信してもよい。すなわち認証装置２００での認証に必要とされている情報のみを送信してもよい。
認証装置２００の認証装置通信部２４０は、ホスト装置１００が送信した認証命令を通信装置を介して受信する（Ｓ１０３：依頼受信ステップ）。次に、認証部２６０は、受信した認証命令に含まれる認証情報に基づき、処理装置により認証処理を行い認証成功又は認証失敗を判定する（Ｓ１０４：認証ステップ）。認証後、カウンタ部２２０は、メモリ２３０が記憶するカウンタ値を処理装置により１増加させる（Ｓ１０５：変更ステップ）。次に、ハッシュ演算部２５０は、認証の結果情報とカウンタ値とを合わせた情報のハッシュ値（Ｈ）を応答情報として処理装置により生成する（Ｓ１０６：応答情報生成ステップ）。ここで、結果情報とは、認証成功を示す成功情報と認証失敗を示す失敗情報とから認証部２６０が判定した認証成功又は認証失敗に従い選択された情報である。そして、認証装置通信部２４０は、応答情報（ハッシュ値（Ｈ））をホスト装置１００へ通信装置を介して送信（応答）する（Ｓ１０７：応答情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、認証装置２００が送信した応答情報（ハッシュ値（Ｈ））を通信装置を介して受信する（Ｓ１０８：応答情報受信ステップ）。次に、カウンタ部１２０は、メモリ１３０が記憶するカウンタ値を処理装置により１増加する（Ｓ１０９：変更ステップ）。次に、ハッシュ演算部１５０は、認証成功（判定情報の一例）とカウンタ値とのハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ１１０：検証情報生成ステップ）。そして、結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と生成した検証情報（ハッシュ値（Ｈ’））とを処理装置により比較する（Ｓ１１１：結果判定ステップ）。結果判定部１６０は、比較の結果、応答情報と検証情報とが一致した場合、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ１１２：成功処理ステップ）。一方、結果判定部１６０は、比較の結果、応答情報と検証情報とが一致しない場合、認証失敗として処理し、例えば外部接続機器３００に認証失敗を応答する（Ｓ１１３：失敗処理ステップ）。
【００１４】
なお、ホスト装置１００のカウンタ値と認証装置２００のカウンタ値とは原則として同期している。つまり、ホスト装置１００が受信したハッシュ値（Ｈ）の生成に使用されたカウンタ値と、ホスト装置１００が計算するハッシュ値（Ｈ’）の生成に使用されたカウンタ値とは同じ値である。これは、認証装置２００のカウンタ部２２０がカウンタ値を１増加した場合、ホスト装置１００のカウンタ部１２０もカウンタ値を１増加するためである。
【００１５】
以上のように、認証装置２００は、認証の結果をホスト装置１００へ送信するために、認証結果を示す結果情報と、送信の度に値が変わるカウンタ値とを合わせた情報のハッシュ値をホスト装置１００へ送信する。そして、ホスト装置１００では、内部で演算したハッシュ値と受信したハッシュ値とを比較して認証が成功したか否かを判断する。そのため、実装コストが高い暗号アルゴリズムを使用しなくてもホスト装置１００と認証装置２００との間における認証結果の改ざんや、以前に応答した認証結果の再利用を防ぐことができる。つまり、物理的対策を施すことなく、低コストで正しく認証結果を認証装置２００からホスト装置１００へ伝えることができる。
また、ホスト装置１００では、受信したハッシュ値（Ｈ）と、認証成功に関するハッシュ値（Ｈ’）のみを演算・比較しているので、高速に処理することが可能である。
さらに、認証装置２００からホスト装置１００へ送信するデータはハッシュ値であるため、通信データ量が増えることもない。
【００１６】
なお、カウンタを１増加するタイミングは上述した以外であっても、ホスト装置１００のカウンタ値と認証装置２００のカウンタ値とがハッシュ値の計算時に同期していればよい。例えば、認証装置２００ではハッシュ値（Ｈ）をホスト装置１００へ送信した後（Ｓ１０７の後）１増加し、ホスト装置１００ではハッシュ値の比較後（Ｓ１１１の後）に１増加してもよい。
【００１７】
さらに、ホスト装置１００と認証装置２００とでハッシュ値を演算する際、結果情報とカウンタ値とを合わせた情報を生成するが、結果情報とカウンタ値とを合わせる方法はどのようなものであってもよい。
【００１８】
実施の形態２．
実施の形態１では、ホスト装置１００と認証装置２００とは同期しているカウンタ値を共有し、結果情報とカウンタ値とのハッシュ値を認証装置２００からホスト装置１００へ応答した。この実施の形態では、ホスト装置１００と認証装置２００とが複数の秘密情報を共有する認証システムについて説明する。
【００１９】
図５は、この実施の形態に係る認証システムの機能を示す機能ブロック図である。
この実施の形態に係る認証システムの機能について、実施の形態１に係る認証システムの機能と異なる部分のみ説明する。
【００２０】
ホスト装置１００のメモリ１３０と認証装置２００のメモリ２３０とは、共有情報として識別情報が付された複数の秘密情報を記憶する。なお、ホスト装置１００と認証装置２００とは、カウンタ部１２０を備えていないため、メモリ１３０とメモリ２３０とは、カウンタ部１２０の外部メモリである。
ホスト装置１００は、実施の形態１に係るホスト装置１００の機能に加え、秘密情報決定部１７０を備える。秘密情報決定部１７０は、メモリ１３０が記憶した複数の秘密情報のうち、どの秘密情報を使用するかを処理装置により決定する。
【００２１】
図６は、メモリ１３０とメモリ２３０とが記憶する秘密情報とその識別情報の一例を示す図である。
図６に示すように、秘密情報を一意に識別するための識別情報とその識別情報に対応する秘密情報とがペアとなって複数個ある。複数ある秘密情報は、それぞれに相関関係がない値、例えば生成された複数個の乱数を使用することが望ましい。
【００２２】
図７は、この実施の形態に係る認証システムの動作を示すフローチャートである。図７は、ホスト装置１００が外部接続機器３００から認証情報を受信した以降の処理を示す。
ホスト装置１００の秘密情報決定部１７０は、外部接続機器３００から認証情報を受信した後、認証装置２００との通信で使用する秘密情報を決定する（Ｓ２０１：秘密情報決定ステップ）。決定方法は、秘密情報１、秘密情報２と順番に決定する方法やホスト装置１００が取得できるのであれば、現在の時刻や日付を元に決定する方法でもよい。そして、依頼装置通信部１４０は、認証情報と使用する秘密情報の識別情報（特定情報の一例）を含む認証命令を認証装置２００へ通信装置を介して送信する（Ｓ２０２：依頼ステップ）。この際、外部接続機器３００から受信したすべての認証情報ではなく、一部の認証情報を認証装置２００へ送信してもよい。すなわち認証装置２００での認証に必要とされている情報のみを送信してもよい。
認証装置２００の認証装置通信部２４０は、ホスト装置１００が送信した認証命令を通信装置を介して受信する（Ｓ２０３：依頼受信ステップ）。次に、認証部２６０は、受信した認証命令に含まれる認証情報に基づき、処理装置により認証を行い認証成功又は認証失敗を判定する（Ｓ２０４：認証ステップ）。認証後、ハッシュ演算部２５０は、受信した秘密情報の識別情報から該当する秘密情報をメモリ２３０から読み出す（Ｓ２０５：秘密情報取得ステップ）。ハッシュ演算部２５０は、結果情報と読み出した秘密情報とを合わせた情報のハッシュ値（Ｈ）を応答情報として処理装置により生成する（Ｓ２０６：応答情報生成ステップ）。そして、認証装置通信部２４０は、応答情報（ハッシュ値（Ｈ））をホスト装置１００へ通信装置を介して送信（応答）する（Ｓ２０７：応答情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、認証装置２００が送信した応答情報（ハッシュ値（Ｈ））を通信装置を介して受信する（Ｓ２０８：応答情報受信ステップ）。次に、ハッシュ演算部１５０は、秘密情報決定部１７０が決定した秘密情報をメモリから読み出す（Ｓ２０９：秘密情報取得ステップ）。つまり、ハッシュ演算部１５０は、依頼装置通信部１４０が認証装置２００へ送信した認証命令に含まれる秘密情報の識別情報から特定される秘密情報を読み出す。そして、ハッシュ演算部１５０は、認証成功（判定情報の一例）と読み出した秘密情報とを合わせた情報のハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ２１０：検証情報生成ステップ）。結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と生成した検証情報（ハッシュ値（Ｈ’））とを比較する（Ｓ２１１：結果判定ステップ）。結果判定部１６０は、比較の結果、応答情報と検証情報とが一致した場合、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ２１２：成功処理ステップ）。一方、結果判定部１６０は、比較の結果、応答情報と検証情報とが一致しない場合、認証失敗として処理し、例えば外部接続機器３００に認証失敗を応答する（Ｓ２１３：失敗処理ステップ）。
【００２３】
以上のように、認証装置２００は、認証の結果をホスト装置１００へ送信するために、認証結果と、送信の度に異なる秘密情報とを合わせた情報のハッシュ値をホスト装置１００へ送信する。そして、ホスト装置１００では、内部で演算したハッシュ値と受信したハッシュ値とを比較して認証が成功したか否かを判断している。したがって、実施の形態１に係る認証システムと同様の効果を得つつ、予測可能なカウンタ値を用いる実施の形態１に係る認証システムよりも通信データの解析を困難にし、セキュリティの面での信頼度が向上する。
【００２４】
なお、ホスト装置１００で秘密情報を読み出すタイミング（Ｓ２０９）は、認証装置２００からの応答を受信した後でなくてもよい。例えば、使用する秘密情報を決定した後（Ｓ２０１の後）でも、認証装置２００に認証命令を送信した後（Ｓ２０２の後）でもよい。
また、ホスト装置１００が認証装置２００へ秘密情報の識別情報を送信するタイミングは、認証命令と同時でなくてもよい。例えば、外部接続機器３００から認証情報を受信する前に送信しておいてもよく、外部接続機器３００から認証情報を受信した後に、認証命令と区別して認証装置２００に識別情報を送信してもよい。
【００２５】
実施の形態３．
実施の形態２では、認証装置２００とホスト装置１００で複数の秘密情報を共有し、ホスト装置１００が使用する秘密情報の識別情報を認証装置２００へ送信した。次に、ホスト装置１００が生成した乱数を元に使用する秘密情報を決定し、乱数を認証装置２００へ送信する認証システムについて説明する。
【００２６】
図８は、この実施の形態に係る認証システムの機能を示す機能ブロック図である。
この実施の形態に係る認証システムの機能について、実施の形態２に係る認証システムの機能と異なる部分のみ説明する。
【００２７】
ホスト装置１００は、実施の形態２に係るホスト装置１００の機能に加え、乱数生成部１８０、秘密情報特定部１９０を（依頼装置計算部の一例）備える。乱数生成部１８０は、処理装置により乱数を生成する。秘密情報特定部１９０は、乱数から秘密情報の識別情報を処理装置により計算する。
認証装置２００は、実施の形態２に係る認証装置２００の機能に加え、秘密情報特定部２７０（認証装置計算部の一例）を備える。秘密情報特定部２７０は、乱数から秘密情報の識別情報を処理装置により計算する。
なお、ホスト装置１００の秘密情報特定部１９０と認証装置２００の秘密情報特定部２７０とは、同じ入力データであれば、同じ秘密情報の識別情報を計算する。
ホスト装置１００は、秘密情報決定部１７０を備えていない。
【００２８】
図９は、この実施の形態に係る認証システムの動作を示すフローチャートである。図９は、ホスト装置１００が外部接続機器３００から認証情報を受信した以降の処理を示す。
ホスト装置１００の乱数生成部１８０は、外部接続機器３００から認証情報を受信した後、処理装置により乱数を生成する（Ｓ３０１：乱数生成ステップ）。そして、依頼装置通信部１４０は、認証情報と乱数と含む認証命令を認証装置２００へ通信装置を介して送信する（Ｓ３０２：依頼ステップ）。この際、外部接続機器３００から受信したすべての認証情報ではなく、一部の認証情報を認証装置２００へ送信してもよい。すなわち認証装置２００での認証に必要とされている情報のみを送信してもよい。
認証装置２００の認証装置通信部２４０は、ホスト装置１００が送信した認証命令を通信装置を介して受信する（Ｓ３０３：依頼受信ステップ）。次に、認証部２６０は、受信した認証命令に含まれる認証情報に基づき、処理装置により認証を行い認証成功又は認証失敗を判定する（Ｓ３０４：認証ステップ）。認証後、秘密情報特定部２７０は、受信した認証命令に含まれる乱数から秘密情報の識別情報を処理装置により計算して秘密情報を特定し、メモリ２３０から特定した秘密情報を読み出す（Ｓ３０５：秘密情報取得ステップ）。ここで、秘密情報の識別情報を計算する方法は、例えば、Ｎ個の秘密情報があった場合、生成した乱数のモジュロＮ（乱数をＮで割った余り）の値を識別情報とする。次に、ハッシュ演算部２５０は、結果情報と秘密情報特定部２７０が読み出した秘密情報とを合わせた情報のハッシュ値（Ｈ）を応答情報として処理装置により生成する（Ｓ３０６：応答情報生成ステップ）。そして、認証装置通信部２４０は、応答情報（ハッシュ値（Ｈ））をホスト装置１００へ通信装置を介して送信（応答）する（Ｓ３０７：応答情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、認証装置２００が送信した応答情報（ハッシュ値（Ｈ））を通信装置を介して受信する（Ｓ３０８：応答情報受信ステップ）。次に、秘密情報特定部１９０は、乱数生成部１８０が生成した乱数から秘密情報の識別情報を処理装置により計算して秘密情報を特定し、メモリ１３０から特定した秘密情報を読み出す（Ｓ３０９：秘密情報取得ステップ）。ここで、ホスト装置１００の秘密情報特定部１９０と認証装置２００の秘密情報特定部２７０とは、同じ入力データであれば、同じ秘密情報の識別情報が計算されるように同じメカニズムを具備している。ここでは、ホスト装置１００の秘密情報特定部１９０と認証装置２００の秘密情報特定部２７０とへの入力は同じ値（同じ乱数）であるため、同じ秘密情報を読み出すことになる。そして、ハッシュ演算部１５０は、認証成功（判定情報の一例）と秘密情報特定部１９０が読み出した秘密情報とを合わせた情報のハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ３１０：検証情報生成ステップ）。結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と生成した検証情報（ハッシュ値（Ｈ’））とを処理装置により比較する（Ｓ３１１：結果判定ステップ）。結果判定部１６０は、比較の結果、応答情報と検証情報とが一致した場合、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ３１２：成功処理ステップ）。一方、結果判定部１６０は、比較の結果、応答情報と検証情報とが一致しない場合、認証失敗として処理し、例えば外部接続機器３００に認証失敗を応答する（Ｓ３１３：失敗処理ステップ）。
【００２９】
以上のように、使用する秘密情報を特定するための情報として、秘密情報の識別情報に代え、乱数をホスト装置１００から認証装置２００へ送信している。実施の形態２に係る認証システムでは、同じ秘密情報を使用する場合には同じ認証命令をホスト装置１００から認証装置２００へ送信することになるが、この実施の形態に係る認証システムでは、同じ秘密情報を使用する場合でも異なる認証命令をホスト装置１００から認証装置２００へ送信することになる。そのため、認証命令と応答情報の対応関係が複雑になる。したがって、実施の形態２に係る認証システムと同様の効果を得つつ、実施の形態２に係る認証システムよりも通信データの解析が困難になり、セキュリティの面での信頼度がさらに向上する。
【００３０】
なお、ホスト装置１００で秘密情報を読み出すタイミング（Ｓ３０９）は、認証装置２００から応答情報を受信した後でなくてもよい。例えば、乱数を生成した後（Ｓ３０１の後）でも、認証装置２００へ認証命令を送信した後（Ｓ３１０の後）でも構わない。
また、ホスト装置１００が認証装置２００へ乱数を送信するタイミングは、認証命令と同じでなくてもよい。例えば、外部接続機器３００から認証情報を受信する前に、生成した乱数を送信しておいてもよく、外部接続機器３００から認証情報を受信した後に、認証命令と区別して認証装置２００に乱数を送信してもよい。
【００３１】
実施の形態４．
実施の形態２，３では、認証装置２００からホスト装置１００への応答情報を、結果情報と秘密情報とを合わせた情報のハッシュ値とした。そのため、実施の形態２，３では、認証成功時の応答情報のパターン数は秘密情報の個数になる。この実施の形態では、認証装置２００からホスト装置１００への応答情報を、結果情報と秘密情報とを合わせた情報に、さらに乱数を合わせた情報のハッシュ値とすることで、認証応答のパターン数を秘密情報の個数以上にする認証システムについて説明する。
【００３２】
この実施の形態に係る認証システムの機能構成は、実施の形態３に係る認証システムの機能構成と同様である。
【００３３】
図１０は、この実施の形態に係る認証システムの動作を示すフローチャートである。図１０は、ホスト装置１００が外部接続機器３００から認証情報を受信した以降の処理を示す。ここでは、この実施の形態に係る認証システムの動作について、実施の形態３に係る認証システムの動作と異なる部分のみ説明する。
（Ｓ４０１）から（Ｓ４０５）までは、実施の形態３の（Ｓ３０１）から（Ｓ３０５）までと同様である。
（Ｓ４０５）の次に、認証装置２００のハッシュ演算部２５０は、結果情報と、秘密情報特定部２７０が読み出した秘密情報と、認証装置通信部２４０が受信した乱数とを合わせた情報のハッシュ値（Ｈ）を応答情報として処理装置により生成する（Ｓ４０６：応答情報生成ステップ）。
（Ｓ４０７）から（Ｓ４０９）までは、実施の形態３の（Ｓ３０７）から（Ｓ３０９）までと同様である。
（Ｓ４０９）の次に、ホスト装置１００のハッシュ演算部１５０は、認証成功（判定情報の一例）と、秘密情報特定部１９０が読み出した秘密情報と、乱数生成部１８０が生成した乱数とを合わせた情報のハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ４１０：検証情報生成ステップ）。
（Ｓ４１１）から（Ｓ４１３）までは、実施の形態３の（Ｓ３１１）から（Ｓ３１３）までと同様である。
【００３４】
以上のように、認証装置２００からホスト装置１００へ送信する応答情報は、結果情報と秘密情報と乱数とを合わせた情報のハッシュ値である。そのため、同じ秘密情報を使用する場合でも異なる応答情報になる。したがって、実施の形態３に係る認証システムと同様の効果を得つつ、実施の形態３に係る認証システムよりも通信データの解析が困難になり、セキュリティの面での信頼度がさらに向上する。
【００３５】
なお、（Ｓ４０６）において、認証装置２００がハッシュ値を演算する際、結果情報と秘密情報とホスト装置１００から受信した乱数とを合わせた情報のハッシュ値を生成した。しかし、認証装置２００に乱数生成部を持たせ、認証装置２００が生成した乱数をハッシュ値の対象としてもよい。そして、認証装置２００は生成した乱数とハッシュ値（Ｈ）をホスト装置１００に送信し、ホスト装置１００では、ハッシュ値を演算する場合に、認証装置２００から受信した乱数を使用してハッシュ値（Ｈ’）を演算してもよい。
【００３６】
実施の形態５．
実施の形態４では、結果情報と秘密情報と乱数とを合わせた情報のハッシュ値を応答情報とした。この実施の形態では、結果情報と秘密情報とカウンタ値とを合わせた情報のハッシュ値を応答情報とする認証システムについて説明する。
【００３７】
図１１は、この実施の形態に係る認証システムの機能を示す機能ブロック図である。
この実施の形態に係る認証システムの機能について、実施の形態３に係る認証システムの機能と異なる部分のみ説明する。
ホスト装置１００は、実施の形態３に係るホスト装置１００の機能に加え、カウンタ部１２０を備える。カウンタ部１２０は、実施の形態１に係るカウンタ部１２０と同様である。
認証装置２００は、実施の形態３に係る認証装置２００の機能に加え、カウンタ部２２０を備える。カウンタ部２２０は、実施の形態１に係るカウンタ部２２０と同様である。
ホスト装置１００のメモリ１３０と認証装置２００のメモリ２３０とは、共有情報として、識別情報が付された複数の秘密情報とカウンタ値とを記憶する。
【００３８】
図１２は、この実施の形態に係る認証システムの動作を示すフローチャートである。図１２は、ホスト装置１００が外部接続機器３００から認証情報を受信した以降の処理を示す。ここでは、この実施の形態に係る認証システムの動作について、実施の形態３に係る認証システムの動作と異なる部分のみ説明する。
（Ｓ５０１）から（Ｓ５０５）までは、実施の形態３の（Ｓ３０１）から（Ｓ３０５）までと同様である。
（Ｓ５０５）の次に、認証装置２００のカウンタ部２２０は、メモリ２３０が記憶するカウンタ値を処理装置により１増加させる（Ｓ５０６：変更ステップ）。そして、ハッシュ演算部２５０は、結果情報と、秘密情報特定部２７０が読み出した秘密情報と、メモリ２３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ）を応答情報として処理装置により生成する（Ｓ５０７：応答情報生成ステップ）。
（Ｓ５０８）から（Ｓ５１０）までは、実施の形態３の（Ｓ３０７）から（Ｓ３０９）までと同様である。
（Ｓ５１０）の次に、ホスト装置１００のカウンタ部１２０は、メモリ１３０が記憶するカウンタ値を処理装置により１増加させる（Ｓ５１１：変更ステップ）。ハッシュ演算部１５０は、認証成功（判定情報の一例）と、秘密情報特定部１９０が読み出した秘密情報と、メモリ１３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ５１２：検証情報生成ステップ）。
（Ｓ５１３）から（Ｓ５１５）までは、実施の形態３の（Ｓ３１１）から（Ｓ３１３）までと同様である。
【００３９】
以上のように、認証装置２００からホスト装置１００へ送信する応答情報は、結果情報と秘密情報とカウンタ値とを合わせた情報のハッシュ値である。そのため、同じ秘密情報を使用する場合でも異なる応答情報になる。したがって、実施の形態４に係る認証システムと同様に、実施の形態３に係る認証システムと同様の効果を得つつ、実施の形態３に係る認証システムよりも通信データの解析が困難になり、セキュリティの面での信頼度がさらに向上する。
【００４０】
なお、カウンタを１増加するタイミングは上記の述べた以外でも、ホスト装置１００のカウンタ部と認証装置２００のカウンタ部が同期していればよい。例えば、認証装置２００ではハッシュ値（Ｈ）をホスト装置１００に送信した後１増加し、ホスト装置１００ではハッシュ値の比較後に１増加してもよい。
【００４１】
また、以上の実施の形態（実施の形態１−５）では、ホスト装置１００が認証装置２００へ認証情報を送信すると説明した。しかし、外部接続機器３００から認証装置２００へ認証情報が送信されてもよい。つまり、認証装置２００は外部接続機器３００から受信した認証情報に基づき認証処理を行い、その結果をホスト装置１００へ送信するとしてもよい。この場合、認証装置２００と外部接続機器３００とは通信回線により接続され、通信可能である。
また、この場合、例えば秘密情報を特定するための特定情報は、認証情報とは別にホスト装置１００から認証装置２００へ送信されることになる。例えば、認証装置２００は、外部接続機器３００から認証情報を受信すると、ホスト装置１００へ特定情報を要求し、ホスト装置１００から特定情報を取得するとしてもよい。
【００４２】
同様に、以上の実施の形態（実施の形態１−５）では、ハッシュ演算部１５０は、認証成功（判定情報の一例）とカウンタ値とのハッシュ値（Ｈ’）を検証情報として生成した。しかし、認証失敗（判定情報の一例）とカウンタ値とのハッシュ値（Ｈ’）を検証情報として生成してもよい。この場合、結果判定部１６０は、応答情報と検証情報とが不一致であれば、認証成功と判断し、一致すれば認証失敗と判断する。以下の実施の形態においても同様である。
【００４３】
実施の形態６．
実施の形態１，５では、結果情報にカウンタ値を付加した情報のハッシュ値を応答情報とした。しかし、ホスト装置１００と認証装置２００との間の通信路に何らかの障害が発生し、ホスト装置１００が応答情報を受信できなかった場合や、攻撃者が解析目的で認証装置２００へ不正な認証命令を送信した場合等には、ホスト装置１００と認証装置２００との間でカウンタ値がずれてしまう虞がある。この実施の形態では、ホスト装置１００と認証装置２００との間でカウンタ値がずれた場合に、カウンタ値を再同期する認証システムについて説明する。
【００４４】
この実施の形態に係る認証システムの機能構成は、実施の形態１又は５に係る認証システムの機能構成と同様である。
【００４５】
図１３は、この実施の形態に係る認証システムのカウンタ値再同期処理の動作を示すフローチャートである。
カウンタ値再同期処理は、ホスト装置１００が受信したハッシュ値（Ｈ）とホスト装置１００で演算したハッシュ値（Ｈ’）とを比較し、ハッシュ値（Ｈ）とハッシュ値（Ｈ’）とが不一致である場合に実行される。つまり、カウンタ値再同期処理は、ハッシュ値（Ｈ）とハッシュ値（Ｈ’）とが不一致である場合に必要な処理であり、ハッシュ値（Ｈ）とハッシュ値（Ｈ’）とが一致した場合はカウンタ値が一致しているとみなせるため不要である。
つまり、図１３の（Ｓ６０１）は、実施の形態１であれば、図４の（Ｓ１１１）であり、実施の形態５であれば、図１２の（Ｓ５１３）である。つまり、図１３は、実施の形態１であれば、図４の（Ｓ１１１）以降の処理を置き換えるものであり、実施の形態５であれば、図１２の（Ｓ５１３）以降の処理を置き換えるものである。
なお、ここでは、実施の形態１の図４の（Ｓ１１１）以降の処理を置き換えるものとして説明する。つまり、応答情報は、実施の形態１と同様に結果情報とカウンタ値とを合わせた情報のハッシュ値とする。図１２の（Ｓ５１３）以降の処理を置き換える場合には、応答情報の生成処理を結果情報と秘密情報とカウンタ値とを合わせた情報のハッシュ値を計算する処理に置き換えればよい。
【００４６】
ホスト装置１００の結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と生成した検証情報（ハッシュ値（Ｈ’））とを処理装置により比較する（Ｓ６０１：結果判定ステップ）。比較の結果、応答情報と検証情報とが一致した場合、結果判定部１６０は、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ６０２：成功処理ステップ）。
一方、比較の結果、応答情報と検証情報とが一致しない場合、ハッシュ演算部１５０は、認証失敗（判定情報の一例）とカウンタ値とのハッシュ値（Ｈ’’）を新たに検証情報として処理装置により生成する（Ｓ６０３：検証情報生成ステップ）。結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と新たに生成した検証情報（ハッシュ値（Ｈ’’））とを処理装置により比較する（Ｓ６０４：結果判定ステップ）。比較の結果、応答情報と検証情報とが一致した場合、結果判定部１６０は、認証失敗としてその後の処理、例えば外部接続機器３００に認証失敗を応答する（Ｓ６０５：失敗処理ステップ）。
一方、比較の結果、応答情報と検証情報とが一致しない場合、カウンタ値がずれていると判断し、カウンタ部１２０は、メモリ１３０が記憶するカウンタ値を処理装置により１増加する（Ｓ６０６：変更ステップ）。そして、ハッシュ演算部１５０は、認証成功とカウンタ値とを合わせた情報のハッシュ値（Ｈ’’’）を新たに検証情報として処理装置により生成する（Ｓ６０７：検証情報生成ステップ）。結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と新たに生成した検証情報（ハッシュ値（Ｈ’’’））とを処理装置により比較する（Ｓ６０８：結果判定ステップ）。比較の結果、応答情報と検証情報とが一致した場合、結果判定部１６０は、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ６０２：成功処理ステップ）。一方、比較の結果、応答情報と検証情報とが一致しない場合、ハッシュ演算部１５０は、認証失敗（判定情報の一例）とカウンタ値とのハッシュ値（Ｈ’’’’）を新たに検証情報として処理装置により生成する（Ｓ６０９：検証情報生成ステップ）。結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と新たに生成した検証情報（ハッシュ値（Ｈ’’’’））とを処理装置により比較する（Ｓ６１０：結果判定ステップ）。比較の結果、応答情報と検証情報とが一致した場合、結果判定部１６０は、認証失敗としてその後の処理、例えば外部接続機器３００に認証失敗を応答する（Ｓ６０５：失敗処理ステップ）。一方、比較の結果、応答情報と検証情報とが一致しない場合、制御部１１０は、（Ｓ６０６）へ戻り処理を繰り返す。
【００４７】
以上のように、ホスト装置１００は、受信したハッシュ値（Ｈ）と生成したハッシュ値（Ｈ’）とが不一致の場合、認証失敗とカウンタ値のハッシュ値（Ｈ’’）を新たに生成して、受信したハッシュ値（Ｈ）と新たに生成したハッシュ値（Ｈ’’）とを比較する。ホスト装置１００は、受信したハッシュ値（Ｈ）と新たに生成したハッシュ値（Ｈ’’）とが不一致の場合には、カウンタ値にずれが生じていると判断する。そして、ホスト装置１００は、カウンタ値を増加させて新たにハッシュ値を生成して、受信したハッシュ値（Ｈ）との比較を繰り返す。これにより、ホスト装置１００と認証装置２００のカウンタ値がずれた場合にも再同期することが可能である。したがって、実施の形態１，５に係る認証システムの信頼性をさらに向上させることができる。
また、カウンタ値を減少させることなく、増加させて比較しているので、一度利用された情報を再利用して認証結果を改ざんする攻撃に対抗することができる。
【００４８】
なお、（Ｓ６０６）から（Ｓ６１０）までの処理の繰り返し回数を所定の回数に制限してもよい。
【００４９】
実施の形態７．
実施の形態６では、ホスト装置１００と認証装置２００との間でずれたカウンタ値を再同期する場合に、ホスト装置１００側で増加させたカウンタ値を含めたハッシュ値を演算し、受信したハッシュ値との比較を行った。この実施の形態では、ホスト装置１００から認証装置２００へ現在のカウンタ値を送信することによりカウンタ値を再同期する認証システムについて説明する。
【００５０】
この実施の形態に係る認証システムの機能構成は、実施の形態６に係る認証システムと同様に、実施の形態１又は５に係る認証システムの機能構成と同様である。
【００５１】
図１４は、この実施の形態に係る認証システムのカウンタ値再同期処理の動作を示すフローチャートである。ここでは、この実施の形態に係る認証システムのカウンタ値再同期処理の動作について、実施の形態６に係る認証システムのカウンタ値再同期処理の動作と異なる部分のみ説明する。
カウンタ値再同期処理は、実施の形態６と同様に、ハッシュ値（Ｈ）とハッシュ値（Ｈ’）とが不一致である場合に実行される。
図１４の（Ｓ７０１）は、実施の形態１であれば、図４の（Ｓ１１１）であり、実施の形態５であれば、図１２の（Ｓ５１３）である。つまり、図１３は、実施の形態１であれば、図４の（Ｓ１１１）以降の処理を置き換えるものであり、実施の形態５であれば、図１２の（Ｓ５１３）以降の処理を置き換えるものである。
なお、ここでは、実施の形態１の図４の（Ｓ１１１）以降の処理を置き換えるものとして説明する。つまり、応答情報は、実施の形態１と同様に結果情報とカウンタ値とを合わせた情報のハッシュ値とする。図１２の（Ｓ５１３）以降の処理を置き換える場合には、応答情報の生成処理を結果情報と秘密情報とカウンタ値とを合わせた情報のハッシュ値を計算する処理に置き換えればよい。
【００５２】
（Ｓ７０１）から（Ｓ７０５）までは、実施の形態６の（Ｓ６０１）から（Ｓ６０５）までと同様である。
（Ｓ７０４：結果判定ステップ）で比較の結果、応答情報と検証情報とが一致しない場合、ホスト装置１００の依頼装置通信部１４０は、認証情報と現在のカウンタ値とを含む再認証命令を認証装置２００へ通信装置を介して送信する（Ｓ７０６：再依頼ステップ）。
認証装置２００の認証装置通信部２４０は、ホスト装置１００が送信した再認証命令を通信装置を介して受信する（Ｓ７０７：再依頼受信ステップ）。そして、認証部２６０は、受信した再認証命令に含まれる認証情報に基づき、処理装置により認証処理を行い認証成功又は認証失敗を判定する（Ｓ７０８：認証ステップ）。次に、制御部２１０は、受信したカウンタ値をメモリ２３０に設定する（Ｓ７０９：変更ステップ）。次に、ハッシュ演算部２５０は、結果情報とメモリ２３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ）を新たに応答情報として処理装置により生成する（Ｓ７１０：応答情報生成ステップ）。そして、認証装置通信部２４０は、応答情報（ハッシュ値（Ｈ））をホスト装置１００へ通信装置を介して送信（応答）する（Ｓ７１１：応答情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、認証装置２００が送信した応答情報（ハッシュ値（Ｈ））を通信装置を介して受信する（Ｓ７１２：応答情報受信ステップ）。次に、ハッシュ演算部１５０は、認証成功（判定情報の一例）とメモリ１３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ７１３：検証情報生成ステップ）。そして、結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と生成した検証情報（ハッシュ値（Ｈ’））とを処理装置により比較する（Ｓ７１４：結果判定ステップ）。結果判定部１６０は、比較の結果、応答情報と検証情報とが一致した場合、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ７１５：成功処理ステップ）。一方、結果判定部１６０は、比較の結果、応答情報と検証情報とが一致しない場合、認証失敗として処理し、例えば外部接続機器３００に認証失敗を応答する（Ｓ７１６：失敗処理ステップ）。
【００５３】
以上のように、実施の形態７では、実施の形態６と同様の処理により、カウンタ値にずれが生じていると判断する。そして、ホスト装置１００は、カウンタ値にずれが生じていると判断すると、カウンタ値を含む再認証命令を認証装置２００へ送信する。認証装置２００は、再認証命令を受信すると、再認証命令に含まれるカウンタ値をメモリ２３０に設定するとともに、そのカウンタ値で再度ハッシュ値を演算して応答情報を生成し、ホスト装置１００へ送信する。これにより、ホスト装置１００と認証装置２００のカウンタ値がずれた場合にも確実に再同期することが可能である。したがって、実施の形態１，５に係る認証システムの信頼性をさらに向上させることができる。また、実施の形態６に係る認証システムでは、カウンタ値のずれた量に比例して処理が多くなるが、この実施の形態に係る認証システムでは、カウンタ値のずれた量とは無関係に１度の処理で再同期することができる。
【００５４】
なお、認証装置２００が再認証命令に含まれるカウンタ値を設定する処理（Ｓ７０９）は、ホスト装置１００から再認証命令を受信した後であれば、認証後（Ｓ７０８の後）でなくてもよい。また、認証装置２００は、再認証命令に含めて受信したカウンタ値を１増加させた値をカウンタ値に設定するとともにハッシュ値（Ｈ）を計算し、ホスト装置１００は応答情報を受信した後、カウンタ値を１増加させてハッシュ値（Ｈ’）を計算するとしてもよい。つまり、再認証命令に含まれるカウンタ値をそのまま利用することによるセキュリティの低下を防止するようにしてもよい。
【００５５】
また、上記説明では、ホスト装置１００でハッシュ値の比較の結果、認証成功とも認証失敗とも一致しない場合に（カウンタ値がずれていると判断した場合に）、認証装置２００へカウンタ値を含む再認証命令を送信した。しかし、通常の認証命令にカウンタ値を含めて認証装置２００へ送信するとしてもよい。つまり、認証命令には必ずカウンタ値を含めるとしてもよい。
また、認証命令を送信する前の所定のタイミングで、例えば電源投入直後にホスト装置１００から認証装置２００へカウンタ値を送信してカウンタ値を同期させ、それ以降はカウンタ値を含めない認証命令を送信するようにしてもよい。
【００５６】
さらに、上記説明では、応答情報受信後、ホスト装置１００が認証情報とカウンタ値とを含む再認証命令を認証装置２００へ再送信した。そして、認証装置２００は受信した再認証命令に含まれる認証情報で再び認証した。しかし、ホスト装置１００は、再認証命令にカウンタ値のみを含めて（認証情報を含めずに）送信し、認証装置２００は前回の認証情報に基づき認証した際の結果情報と受信したカウンタ値とを合わせた情報のハッシュ値を応答情報として生成してもよい。
【００５７】
実施の形態８．
実施の形態７では、ホスト装置１００から認証装置２００へ現在のカウンタ値を送信することによってずれたカウンタ値を再同期した。この実施の形態では、認証装置２００からホスト装置１００へ現在のカウンタ値を送信することによりカウンタ値を再同期する認証システムについて説明する。
【００５８】
この実施の形態に係る認証システムの機能構成は、実施の形態６，７に係る認証システムと同様に、実施の形態１又は５に係る認証システムの機能構成と同様である。
【００５９】
図１５は、この実施の形態に係る認証システムのカウンタ値再同期処理の動作を示すフローチャートである。ここでは、この実施の形態に係る認証システムのカウンタ値再同期処理の動作について、実施の形態６に係る認証システムのカウンタ値再同期処理の動作と異なる部分のみ説明する。
カウンタ値再同期処理は、実施の形態６と同様に、ハッシュ値（Ｈ）とハッシュ値（Ｈ’）とが不一致である場合に実行される。
図１５の（Ｓ８０１）は、実施の形態１であれば、図４の（Ｓ１１１）であり、実施の形態５であれば、図１２の（Ｓ５１３）である。つまり、図１３は、実施の形態１であれば、図４の（Ｓ１１１）以降の処理を置き換えるものであり、実施の形態５であれば、図１２の（Ｓ５１３）以降の処理を置き換えるものである。
なお、ここでは、実施の形態１の図４の（Ｓ１１１）以降の処理を置き換えるものとして説明する。つまり、応答情報は、実施の形態１と同様に結果情報とカウンタ値とを合わせた情報のハッシュ値とする。図１２の（Ｓ５１３）以降の処理を置き換える場合には、応答情報の生成処理を結果情報と秘密情報とカウンタ値とを合わせた情報のハッシュ値を計算する処理に置き換えればよい。
【００６０】
（Ｓ８０１）から（Ｓ８０５）までは、実施の形態６の（Ｓ６０１）から（Ｓ６０５）までと同様である。
（Ｓ８０４：結果判定ステップ）で比較の結果、応答情報と検証情報とが一致しない場合、ホスト装置１００の依頼装置通信部１４０は、カウンタ値要求命令を認証装置２００へ通信装置を介して送信する（Ｓ８０６：カウンタ値要求ステップ）。
認証装置２００の認証装置通信部２４０は、ホスト装置１００が送信したカウンタ値要求命令を通信装置を介して受信する（Ｓ８０７：カウンタ値要求受信ステップ）。次に、ハッシュ演算部２５０は、前回応答情報を送信した際のカウンタ値のハッシュ値（ｈ）を処理装置により生成する（Ｓ８０８：カウンタ情報生成ステップ）。そして、認証装置通信部２４０は、カウンタ値のハッシュ値（ｈ）をホスト装置１００へ通信装置を介して送信（応答）する（Ｓ８０９：カウンタ情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、認証装置２００が送信したハッシュ値（ｈ）を通信装置を介して受信する（Ｓ８１０：カウンタ情報受信ステップ）。次に、カウンタ部１２０は、メモリ１３０が記憶するカウンタ値を処理装置により１増加する（Ｓ８１１：変更ステップ）。次に、ハッシュ演算部１５０は、メモリ１３０が記憶するカウンタ値のハッシュ値（ｈ’）を処理装置により計算する（Ｓ８１２：カウンタ検証情報生成ステップ）。そして、結果判定部１６０は、受信したハッシュ値（ｈ）と算出したハッシュ値（ｈ’）とを処理装置により比較する（Ｓ８１３：カウンタ値検証ステップ）。比較の結果、ハッシュ値（ｈ）とハッシュ値（ｈ’）とが一致した場合、認証成功とメモリ１３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ’）を新たに検証情報として処理装置により生成する（Ｓ８１４：検証情報生成ステップ）。一方、比較の結果、ハッシュ値（ｈ）とハッシュ値（ｈ’）とが一致しない場合、（Ｓ８１１）へ戻り処理を繰り返す。つまり、（Ｓ８１３）でハッシュ値が一致するまで（Ｓ８１１）から（Ｓ８１３）の処理を繰り返す。
（Ｓ８１４）に続き、結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と新たに生成した検証情報（ハッシュ値（Ｈ’））とを処理装置により比較する（Ｓ８１５：結果判定ステップ）。結果判定部１６０は、比較の結果、応答情報と検証情報とが一致した場合、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ８１６：成功処理ステップ）。一方、結果判定部１６０は、比較の結果、応答情報と検証情報とが一致しない場合、認証失敗として処理し、例えば外部接続機器３００に認証失敗を応答する（Ｓ８１７：失敗処理ステップ）。
【００６１】
以上のように、実施の形態８では、実施の形態６と同様の処理により、カウンタ値にずれが生じていると判断する。そして、カウンタ値にずれが生じていると判断すると、ホスト装置１００は、カウンタ値要求命令を認証装置２００へ送信する。すると、認証装置２００はカウンタ値のハッシュ値を計算してホスト装置１００へ送信する。ホスト装置１００は、受信したカウンタ値のハッシュ値に基づき、メモリ１３０が記憶するカウンタ値を変更する。これにより、ホスト装置１００と認証装置２００のカウンタ値がずれた場合にも確実に再同期することが可能である。したがって、実施の形態１，５に係る認証システムの信頼性をさらに向上させることができる。また、応答情報を生成するための元情報であるカウンタ値が直接ホスト装置１００と認証装置２００間の通信路を流れないので、通信データの解析を困難にし、セキュリティの面で信頼度が向上する。
【００６２】
なお、上記説明では、ホスト装置１００でハッシュ値の比較の結果、認証成功とも認証失敗とも一致しない場合に（カウンタ値がずれていると判断した場合に）、認証装置２００にカウンタ値要求命令を送信した。しかし、通常の応答情報に結果情報とカウンタ値とを合わせた情報のハッシュ値（Ｈ）とカウンタ値のみのハッシュ値（ｈ）とを含めてホスト装置１００へ送信するとし、ホスト装置１００では、応答情報（ハッシュ値（Ｈ’））と検証情報（ハッシュ値（Ｈ））との比較で一致しない場合に、（Ｓ８１１）以降の処理を行うようにしてもよい。
また、認証命令を送信する前の所定のタイミングで、例えば電源投入直後に（Ｓ８０６）から（Ｓ８１３）までの処理を実行してカウンタ値を同期させ、その以降では通常の認証命令を送信するようにしてもよい。
【００６３】
実施の形態９．
以上の実施の形態では、認証成功又は認証失敗を示す応答情報の送信に関するものであった。この実施の形態では、認証装置２００でエラー（認証失敗とは異なる、例えば認証命令のフォーマット異常やデータ長異常等）が発生した場合に、発生したエラーを示すエラーコードを認証装置２００がホスト装置１００へ送信する認証システムについて説明する。
【００６４】
この実施の形態に係る認証システムの機能構成は、各実施の形態に係る認証システムの機能構成と同様である。ここでは、実施の形態１に係る認証システムの機能構成を例として説明する。
【００６５】
図１６は、この実施の形態に係る認証システムのエラー発生処理の動作を示すフローチャートである。
エラー発生処理は、認証装置２００の処理においてエラーが発生した場合に実行される。つまり、図１６の（Ｓ９０１）は、実施の形態１であれば、図４の（Ｓ１０３）から（Ｓ１０７）までの間でエラーが発生すると実行される。実施の形態２であれば、図７の（Ｓ２０３）から（Ｓ２０７）までの間でエラーが発生すると実行される。実施の形態３であれば、図９の（Ｓ３０３）から（Ｓ３０７）までの間でエラーが発生すると実行される。実施の形態４であれば、図１０の（Ｓ４０３）から（Ｓ４０７）までの間でエラーが発生すると実行される。実施の形態５であれば、図１２の（Ｓ５０３）から（Ｓ５０８）までの間でエラーが発生すると実行される。
【００６６】
認証装置２００の制御部２１０がエラーを検出した場合、ハッシュ演算部２５０は、該当エラーを表すエラーコードとメモリ２３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ）を応答情報として処理装置により生成する（Ｓ９０１：応答情報生成ステップ）。そして、認証装置通信部２４０は、応答情報をホスト装置１００へ通信装置を介して送信する（Ｓ９０２：応答情報送信ステップ）。
ホスト装置１００の依頼装置通信部１４０は、応答情報（ハッシュ値（Ｈ））を通信装置を介して受信する（Ｓ９０３：応答情報受信ステップ）。すると、まず通常の処理として、ハッシュ演算部１５０は、認証成功とカウンタ値とのハッシュ値を検証情報として処理装置により生成する（Ｓ９０４：検証情報生成ステップ）。この時、ホスト装置１００と認証装置２００とのカウンタ値は同じ値である（もし異なる場合には実施の形態６，７，８で説明した方法により同期させる必要がある）。そして、結果判定部１６０は、応答情報（ハッシュ値（Ｈ））と検証情報（ハッシュ値（Ｈ’））を処理装置により比較する（Ｓ９０５：結果判定ステップ）。比較の結果、応答情報と検証情報とが一致した場合、結果判定部１６０は、認証成功としてその後の処理、例えば、外部接続機器３００との通信を開始する（Ｓ９０６：成功処理ステップ）。
一方、比較の結果、応答情報と検証情報とが一致しない場合、ハッシュ演算部１５０は、認証失敗（判定情報の一例）とカウンタ値とのハッシュ値（Ｈ’’）を新たに検証情報として生成する（Ｓ９０７：検証情報生成ステップ）。結果判定部１６０は、受信した応答情報（ハッシュ値（Ｈ））と新たに生成した検証情報（ハッシュ値（Ｈ’’））とを比較する（Ｓ９０８：結果判定ステップ）。比較の結果、応答情報と検証情報とが一致した場合、結果判定部１６０は、認証失敗としてその後の処理、例えば外部接続機器３００に認証失敗を応答する（Ｓ９０９：失敗処理ステップ）。
一方、比較の結果、応答情報と検証情報とが一致しない場合、ハッシュ演算部１５０は、エラーコードとカウンタ値とのハッシュ値（Ｈ’’’）を新たに検証情報として処理装置により生成する（Ｓ９１０：検証情報生成ステップ）。そして、結果判定部１６０は、応答情報（ハッシュ値（Ｈ））と新たに生成した検証情報（ハッシュ値（Ｈ’’’））とを処理装置により比較する（Ｓ９１１：結果判定ステップ）。比較の結果、応答情報と検証情報が一致した場合、検証情報の生成に使用したエラーコードでエラーが発生したとして処理、例えば、認証装置２００へ認証情報の再送を行う（Ｓ９１２：エラー処理ステップ）。一方、比較の結果、応答情報と検証情報とが一致しない場合、（Ｓ９１０）へ戻り処理を繰り返す。つまり、エラーコードが特定されるか、又は全てのエラーコードについて比較処理を行うまで処理を繰り返す。
【００６７】
以上のように、認証装置２００で発生したエラーを表すエラーコードを認証成功及び認証失敗の場合と同様の形式で応答する。そのため、認証成功及び認証失敗とエラーコードとを区別して応答する場合、つまり、認証成功及び認証失敗の場合はハッシュ値による応答、エラーコードはそのまま（エラーコード自体で）応答する場合に比べ、通信データからエラーケースを特定することが困難になる。そのため、ホスト装置１００と認証装置２００との間での通信データを解析することがより困難になり、セキュリティの面での信頼度が向上する。
【００６８】
実施の形態１０．
実施の形態２−５では、ホスト装置１００と認証装置２００とは予め共有した秘密情報を用いて応答情報を送受信した。秘密情報は、ホスト装置１００と認証装置２００との製造者や関係者以外には知られてはならない情報である。秘密情報が第三者に漏洩した場合や、ホスト装置１００や認証装置２００から容易に読み出せる場合、認証結果の改ざんが起こりえる。一方、ホスト装置１００や認証装置２００の製造者や保守する者は、秘密情報をメモリから読み出したり、書き込んだりしなければならない場合もある。この実施の形態では、秘密情報が正当な者のみがアクセスできるようにする利用者認証を備える認証システムについて説明する。
【００６９】
図１７は、この実施の形態に係る認証システムの機能を示す機能ブロック図である。
図１７において、対象装置（ホスト装置１００又は認証装置２００）は秘密情報を書き込まれ、読み出しされる装置である。図１７では、この実施の形態に関わる機能構成のみを記述している。つまり、図１７に示す機能構成にハッシュ演算部１５０、結果判定部１６０や、ハッシュ演算部２５０、認証部２６０等を追加することで上述した実施の形態のホスト装置１００や認証装置２００が実現できる。秘密情報書き込み読み出し装置４００は、接続された対象装置に秘密情報を書き込んだり、読み出したりする装置である。
【００７０】
対象装置は、制御部５１０、通信部５２０、メモリ５３０、アクセス制御部５４０を備える。
制御部５１０は、装置全体の制御を行う。制御部５１０は、ホスト装置１００であれば制御部１１０であり、認証装置２００であれば制御部２１０である。
通信部５２０は、秘密情報書き込み読み出し装置４００と通信装置を介して通信を行う。通信部５２０は、ホスト装置１００であれば依頼装置通信部１４０、認証装置２００であれば認証装置通信部２４０であってもよいし、依頼装置通信部１４０や認証装置通信部２４０とは別に設けられてもよい。
メモリ５３０は、複数の秘密情報とその識別情報とを記憶する。対象装置のメモリ５３０が記憶する秘密情報とその識別情報は図６と同様の構成である。
アクセス制御部５４０は、秘密情報書き込み読み出し装置４００を認証して、メモリ５３０へのアクセスを処理装置により制御する。
【００７１】
秘密情報書き込み読み出し装置４００は、ホスト装置１００や認証装置２００の製造者や保守する者のみが扱える装置である。秘密情報書き込み読み出し装置４００に利用者認証機能を設けて、正当な製造者や保守する者のみが扱えるようにしてもよい。
【００７２】
図１８は、秘密情報書き込み読み出し装置４００と対象装置との動作を示すフローチャートである。図１８では、秘密情報書き込み読み出し装置４００が対象装置に秘密情報を書き込み、その後対象装置から秘密情報を読み出すフローである。
前提として、対象装置は、秘密情報書き込み読み出し装置４００からの命令を受信可能な状態であるとする。秘密情報書き込み読み出し装置４００からの命令を受信可能な状態とは、上述した実施の形態における通常の利用状態でもよいし、対象装置に設けられたスイッチを操作したり、端子を設定したりすることで設定される通常の利用状態ではない特殊な状態でもよい。
【００７３】
秘密情報書き込み読み出し装置４００は、正当な装置であることを認証するための装置認証情報を含む装置認証命令を対象装置へ通信装置を介して送信する（Ｓ１００１：装置認証命令送信ステップ）。
対象装置の通信部５２０は、装置認証命令を通信装置を介して受信する（Ｓ１００２：装置認証命令受信ステップ）。アクセス制御部５４０は、受信した装置認証情報に基づき、秘密情報書き込み読み出し装置４００を処理装置により認証する（Ｓ１００３：認証ステップ）。そして、通信部５２０は、認証結果を秘密情報書き込み読み出し装置４００へ通信装置を介して送信する（Ｓ１００４：認証結果送信ステップ）。
秘密情報書き込み読み出し装置４００は、対象装置が送信した認証結果を受信する（Ｓ１００５：認証結果受信ステップ）。
【００７４】
次に、認証されたことを示す認証結果を受信した秘密情報書き込み読み出し装置４００は、対象装置のメモリ５３０に記憶させる秘密情報を含む秘密情報書き込み命令を対象装置へ通信装置を介して送信する（Ｓ１００６：書き込み命令送信ステップ）。ここでは、記憶させる秘密情報が複数ある場合には複数の秘密情報を秘密情報書き込み命令に含める。
対象装置の通信部５２０は、秘密情報書き込み命令を通信装置を介して受信する（Ｓ１００７：書き込み命令受信ステップ）。上述した装置認証が成功した場合、すなわち秘密情報書き込み読み出し装置４００が正当な装置であると認証された場合には、制御部５１０は秘密情報書き込み命令を実行し、秘密情報書き込み命令に含まれる秘密情報をメモリ５３０に記憶させる（Ｓ１００８：書き込みステップ）。なお、秘密情報書き込み命令に複数の秘密情報が含まれている場合には、全ての秘密情報を記憶する。そして、通信部５２０は、秘密情報書き込み命令を実行したことを示す応答情報を秘密情報書き込み読み出し装置４００へ通信装置を介して送信する（Ｓ１００９：結果送信ステップ）。一方、装置認証に失敗していた場合、制御部５１０は、秘密情報をメモリ５３０に記憶させず、通信部５２０はエラーを秘密情報書き込み読み出し装置４００へ通信装置を介して送信（応答）する。
秘密情報書き込み読み出し装置４００は、対象装置が送信した応答を通信装置を介して受信する（Ｓ１０１０：結果受信ステップ）。
【００７５】
次に、秘密情報書き込み読み出し装置４００は、対象装置のメモリ５３０が記憶する秘密情報を読み出す秘密情報読み出し命令を対象装置へ通信装置を介して送信する（Ｓ１０１１：読み出し命令送信ステップ）。
対象装置の通信部５２０は、秘密情報読み出し命令を通信装置を介して受信する（Ｓ１０１２：読み出し命令受信ステップ）。上述した装置認証が成功した場合、すなわち秘密情報書き込み読み出し装置４００が正当な装置であると認証された場合には、制御部５１０は秘密情報読み出し命令を実行し、メモリ５３０から秘密情報を読み出す（Ｓ１０１３：読み出しステップ）。そして、通信部５２０は、読み出した秘密情報を秘密情報書き込み読み出し装置４００へ通信装置を介して送信する（Ｓ１０１４：結果送信ステップ）。一方、装置認証に失敗していた場合、制御部５１０は、秘密情報をメモリ５３０から読み出さず、エラーを秘密情報書き込み読み出し装置４００へ通信装置を介して送信（応答）する。
秘密情報書き込み読み出し装置４００は、対象装置が送信した応答を通信装置を介して受信する（Ｓ１０１５：結果受信ステップ）。
【００７６】
書き込みや読み出しを実施した後、秘密情報書き込み読み出し装置４００は、装置認証を解除する装置認証解除命令を対象装置へ通信装置を介して送信する（Ｓ１０１６：認証解除命令送信ステップ）。
対象装置の通信部５２０は、装置認証解除命令を通信装置を介して受信する（Ｓ１０１７：認証解除命令受信ステップ）。そして、アクセス制御部５４０は、認証成功を解除してその結果を秘密情報書き込み読み出し装置４００へ通信装置へ送信する（Ｓ１０１８：認証解除ステップ）。
秘密情報書き込み読み出し装置４００は、対象装置が送信した結果を通信装置を介して受信する（Ｓ１０１９：結果受信ステップ）。
【００７７】
以上のように、対象装置にて、ホスト装置１００や認証装置２００の製造者や保守する者のみが扱える秘密情報書き込み読み出し装置４００を認証し、認証に成功した場合のみ秘密情報の書き込みや読み出しを許可する。そのため、正当な秘密情報書き込み読み出し装置４００、つまり、正当なホスト装置１００や認証装置２００の製造者や保守する者のみが対象装置に秘密情報の書き込みや読み出しができ、不正な第三者がホスト装置１００や認証装置２００から秘密情報を改ざんや読み出したりすることができない。したがって、セキュリティの面での信頼性が向上すると共に、製造や保守の面で利便性が向上する。
【００７８】
なお、上記説明では、秘密情報の書き込みを実施した後、読み出しを実施する動作を示した。しかし、読み出しのみ実施する場合には、装置認証成功後（Ｓ１００５の後）に（Ｓ１０１１）以降を実行し、書き込みのみを実施する場合には（Ｓ１０１０）の後に装置認証解除（Ｓ１０１６）を実行すればよい。
【００７９】
また、秘密情報の書き込みは、上記説明のように複数をまとめて書き込む形態でも、いくつかに分割して書き込む形態でもよい。秘密情報の読み出しは、識別情報を読み出して、その後、各識別情報を指定して対応する秘密情報を読み出すようにしてもよい。いずれの場合であっても、装置認証に成功した場合のみ実施可能である。
【００８０】
さらに、上記説明では、秘密情報の書き込みや読み出しの処理が終了した後、認証解除命令を対象装置に送信することで、成功した認証を解除している。しかし、電源オフや所定時間経過した場合に認証を解除するようにしてもよい。
【００８１】
また、さらに、上記説明では、装置認証に失敗した場合、認証失敗の結果を応答するのみであった。しかし、連続認証失敗回数をメモリ５３０に記憶し、所定回数に達した場合に、所定時間もしくは永久に装置認証命令を無効するような構成にしてもよい。このような構成では、装置認証を解析しようとする攻撃を無効にでき、セキュリティの面での信頼性を向上することができる。
【００８２】
さらに、装置認証命令や装置認証情報（アクセス権限情報の一例）を２種類に持つ構成としてもよい。つまり、装置認証情報Ａを扱う装置認証命令Ａは、秘密情報の書き込みと読み出しとが実施可能な命令と認証情報とする。他方の装置認証情報Ｂを扱う装置認証命令Ｂは、秘密情報の読み出しのみが実施可能な命令と認証情報とする。このような構成で、装置認証命令Ａを受信した対象装置のアクセス制御部５４０は、装置認証情報Ａを用いて装置認証を行い、認証に成功した場合には秘密情報の書き込みと読み出しとを許可する。一方、装置認証命令Ｂを受信した対象装置のアクセス制御部５４０は、装置認証情報Ｂを用いて装置認証を行い、認証に成功した場合には秘密情報の読み出しのみを許可し、書き込みは許可しない。
このような構成では、秘密情報の書き込みと読み出しに関する権限を詳細化し、必要最小限の権限のみを保守員や他の製造者に与えることができ、セキュリティの面での信頼性が向上させることができる。
【００８３】
なお、以上の実施形態は、一般的な適用例を示している。認証装置２００によって得た認証結果を他の装置へ伝送することによって装置やシステムの制御を行う他の製品やシステム、例えば、上述した退室管理システム、マイクロコントローラが内蔵された装置や、電子キー、デジタル家電や機器認証等にも適用できる。
例えば、入退室管理装置の場合、外部接続機器３００は、入退室者などからのＩＣカードや指紋などの入退室を制御するために使用される認証情報が入力される装置であり、例えばカードリーダや指紋リーダなどの入力装置に相当する。認証装置２００は、カードリーダや指紋リーダに接続されカード情報や指紋情報などの認証情報を用いて入退室者を認証する認証装置に相当する。ホスト装置１００は、認証装置２００からの命令により扉を開閉する電気錠に相当する。このような構成で、入力装置から受信した認証情報によって認証装置は認証を行い、認証に成功した場合、電気錠へ開錠信号を送信する。
また、車両に搭載され、運転者が保有するカードキーによって車両のドアを開錠する電子キーの場合、外部接続機器３００はカードキーに、認証装置２００はカードキーからの信号を受信して正当な運転者であることを認証する認証装置に、ホスト装置１００は車両のドアを開錠するドア制御装置に相当する。このような構成で、カードキーから受信した情報によって認証装置２００は認証を行い、その結果に応じてドア開閉装置へ開錠信号を送信する。つまり、以上の実施の形態に係る認証システムによって開錠信号の改ざんや再利用を防ぐことができる。
【００８４】
実施の形態１１．
上述した実施の形態では、応答情報の改ざんを防止することについて説明した。この実施の形態では、機器固有の識別情報を用いて、その機器が正当な機器であることを認証する機器認証に上述した実施の形態に係る認証システムを応用する方法について説明する。
【００８５】
上述したどの実施の形態に係る認証システムについても機器認証に応用することができるが、ここでは、実施の形態１に係る認証システムを機器認証に応用した例を説明する。
【００８６】
図１９は、この実施の形態に係る認証システムの機能を示す機能ブロック図である。この実施の形態に係る認証システムの機能について、実施の形態１に係る認証システムの機能と異なる部分のみ説明する。
ホスト装置１００は、結果判定部１６０を備えていない。
【００８７】
図２０は、この実施の形態に係る認証システムの動作を示すフローチャートである。ホスト装置１００が外部接続機器３００から機器固有の識別情報を受信した以降の処理を示す。
ホスト装置１００のカウンタ部１２０は、メモリ１３０が記憶するカウンタ値を処理装置により１増加させる（Ｓ１１０１：変更ステップ）。ハッシュ演算部１５０は、機器（外部接続機器３００）固有の識別情報とカウンタ値とを合わせた情報のハッシュ値（Ｈ）を認証情報として処理装置により生成する（Ｓ１１０２：認証情報生成ステップ）。そして、依頼装置通信部１４０は、ハッシュ演算部１５０が生成した認証情報を含む認証命令を通信装置を介して認証装置２００へ送信する（Ｓ１１０３：依頼ステップ）。
認証装置２００の認証装置通信部２４０は、ホスト装置１００が送信した認証命令を通信装置を介して受信する（Ｓ１１０４：依頼受信ステップ）。次に、カウンタ部２２０は、メモリ２３０が記憶するカウンタ値を処理装置により１増加させる（Ｓ１１０５：変更ステップ）。ハッシュ演算部２５０は、認証する対象の機器（外部接続機器３００）固有の識別情報とメモリ２３０が記憶するカウンタ値とを合わせた情報のハッシュ値（Ｈ’）を検証情報として処理装置により生成する（Ｓ１１０６：検証情報生成ステップ）。なお、認証装置２００は、機器固有の識別情報を予め取得しているものとする。そして、認証部２６０は、受信した認証情報（ハッシュ値（Ｈ））と生成した検証情報（ハッシュ値（Ｈ’））とを処理装置により比較する（Ｓ１１０７：認証ステップ）。認証部２６０は、比較の結果、認証情報と検証情報とが一致した場合、認証成功と判断する（Ｓ１１０８：成功処理ステップ）。一方、認証部２６０は、比較の結果、認証情報と検証情報とが一致しない場合、認証失敗と判断する（Ｓ１１０９：失敗処理ステップ）。
【００８８】
以上のように、機器固有の識別情報を上述した実施の形態に係る認証システムの認証結果に当てはめてれば、他方の機器に安全に機器固有の識別情報を送信することができる。
【００８９】
以上をまとめると次のようになる。
以上の実施の形態に係る認証方式及び認証装置は、認証装置は認証結果とカウンタ値の変換値を認証応答として送信し、認証結果受信装置は認証成功とカウンタ値の変換値と受信した変換値とを比較することで認証結果を受信することを特徴とする。
【００９０】
また、以上の実施の形態に係る認証方式及び認証装置は、認証装置は認証結果受信装置から受信した秘密情報識別情報が示す秘密情報と認証結果の変換値を認証応答として送信し、認証結果受信装置は認証成功と秘密情報の変換値と受信した変換値とを比較することで認証結果を受信することを特徴とする。
【００９１】
さらに、以上の実施の形態に係る認証方式及び認証装置は、認証装置は認証結果受信装置から受信した乱数から特定した秘密情報と認証結果の変換値を認証応答として送信し、認証結果受信装置は認証成功と乱数から特定した秘密情報の変換値と受信した変換値とを比較することで認証結果を受信することを特徴とする。
【００９２】
また、さらに、以上の実施の形態に係る認証方式及び認証装置は、認証装置は認証結果受信装置から受信した乱数から特定した秘密情報と、認証結果と、受信した乱数の変換値を認証応答として送信し、認証結果受信装置は認証成功と乱数から特定した秘密情報と乱数の変換値と受信した変換値とを比較することで認証結果を受信することを特徴とする。
【００９３】
また、以上の実施の形態に係る認証方式及び認証装置は、認証装置は認証結果受信装置から受信した乱数から特定した秘密情報と、認証結果と、カウンタ値の変換値を認証応答として送信し、認証結果受信装置は認証成功と乱数から特定した秘密情報とカウンタ値の変換値と受信した変換値とを比較することで認証結果を受信することを特徴とする。
【００９４】
さらに、以上の実施の形態に係る認証方式及び認証装置は、認証結果受信装置は、認証成功とカウンタ値の変換値と受信した変換値とを比較した後、不一致の場合、認証失敗とカウンタ値の変換値と受信した変換値とを比較し、不一致の場合、カウンタ値を変えて同様の処理を行うことを特徴とする。
【００９５】
また、さらに、以上の実施の形態に係る認証方式及び認証装置は、認証結果受信装置は、現在のカウンタ値を認証装置に送信し、認証装置は受信したカウンタ値を内部で保存すると共に、認証成功とカウンタ値の変換値を応答することを特徴とする。
【００９６】
また、以上の実施の形態に係る認証方式及び認証装置は、前記認証方式において、認証装置は、現在のカウンタ値の変換値を認証結果受信装置に送信し、認証結果受信装置は、受信したカウンタ値の変換値を元にカウンタ値を特定することを特徴とする。
【００９７】
さらに、以上の実施の形態に係る認証方式及び認証装置は、エラーコード送信時も変換値を送信することを特徴とする。
【００９８】
また、さらに、以上の実施の形態に係る認証方式及び認証装置は、認証結果受信装置は認証成功から求めた変換値のみを比較し、不一致の場合は認証失敗とみなすことを特徴とする。
【００９９】
また、以上の実施の形態に係る認証方式及び認証装置は、認証結果受信装置または／かつ認証装置は、認証に成功した場合のみ、メモリへの秘密情報書き込みまたは／かつメモリから秘密情報読み出しを許可することを特徴とする。
【０１００】
さらに、以上の実施の形態に係る認証方式及び認証装置は、認証結果受信装置または／かつ認証装置は、メモリへの秘密情報書き込みかつメモリから秘密情報読み出しを行う権限と、メモリから秘密情報読み出しのみを行う権限を分割して許可することを特徴とする。
【０１０１】
また、以上の実施の形態に係る認証方式及び認証装置は、付与された機器固有の識別情報を用いて、その機器が正当な機器であることを認証する機器認証において、機器間で送信する機器固有の識別情報を認証結果に当てはめて適用することを特徴とする。
【０１０２】
次に、実施の形態におけるホスト装置１００、認証装置２００、外部接続機器３００のハードウェア構成について説明する。
図２１は、ホスト装置１００、認証装置２００、外部接続機器３００のハードウェア構成の一例を示す図である。
図２１に示すように、ホスト装置１００、認証装置２００、外部接続機器３００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【０１０３】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【０１０４】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【０１０５】
プログラム群９２３には、上記の説明において「制御部１１０」、「カウンタ部１２０」、「依頼装置通信部１４０」、「ハッシュ演算部１５０」、「結果判定部１６０」、「秘密情報決定部１７０」、「乱数生成部１８０」、「秘密情報特定部１９０」、「制御部２１０」、「カウンタ部２２０」、「認証装置通信部２４０」、「ハッシュ演算部２５０」、「認証部２６０」、「秘密情報特定部２７０」、「制御部５１０」、「通信部５２０」、「アクセス制御部５４０」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「認証情報」、「応答情報」、「結果情報」、「判定情報」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【０１０６】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【図面の簡単な説明】
【０１０７】
【図１】認証システムの一例である入退室管理システムを示す図。
【図２】認証システムの一例であるマイクロコントローラが内蔵された装置を示す図。
【図３】実施の形態１に係る認証システムの機能を示す機能ブロック図。
【図４】実施の形態１に係る認証システムの動作を示すフローチャート。
【図５】実施の形態２に係る認証システムの機能を示す機能ブロック図。
【図６】メモリ１３０とメモリ２３０とが記憶する秘密情報とその識別情報の一例を示す図。
【図７】実施の形態２に係る認証システムの動作を示すフローチャート。
【図８】実施の形態３に係る認証システムの機能を示す機能ブロック図。
【図９】実施の形態３に係る認証システムの動作を示すフローチャート。
【図１０】実施の形態４に係る認証システムの動作を示すフローチャート。
【図１１】実施の形態５に係る認証システムの機能を示す機能ブロック図。
【図１２】実施の形態５に係る認証システムの動作を示すフローチャート。
【図１３】実施の形態６に係る認証システムのカウンタ値再同期処理の動作を示すフローチャート。
【図１４】実施の形態７に係る認証システムのカウンタ値再同期処理の動作を示すフローチャート。
【図１５】実施の形態８に係る認証システムのカウンタ値再同期処理の動作を示すフローチャート。
【図１６】実施の形態９に係る認証システムのエラー発生処理の動作を示すフローチャート。
【図１７】実施の形態１０に係る認証システムの機能を示す機能ブロック図。
【図１８】秘密情報書き込み読み出し装置４００と対象装置との動作を示すフローチャート。
【図１９】実施の形態１１に係る認証システムの機能を示す機能ブロック図。
【図２０】実施の形態１１に係る認証システムの動作を示すフローチャート。
【図２１】ホスト装置１００、認証装置２００、外部接続機器３００のハードウェア構成の一例を示す図。
【符号の説明】
【０１０８】
１００  ホスト装置、１１０  制御部、１２０  カウンタ部、１３０  メモリ、１４０  依頼装置通信部、１５０  ハッシュ演算部、１６０  結果判定部、１７０  秘密情報決定部、１８０  乱数生成部、１９０  秘密情報特定部、２００  認証装置、２１０  制御部、２２０  カウンタ部、２３０  メモリ、２４０  認証装置通信部、２５０  ハッシュ演算部、２６０  認証部、２７０  秘密情報特定部、３００  外部接続機器、４００  秘密情報書き込み読み出し装置、５１０  制御部、５２０  通信部、５３０  メモリ、５４０  アクセス制御部。
【図１】
2010108054.tif 000003
【図２】
2010108054.tif 000004
【図３】
2010108054.tif 000005
【図４】
2010108054.tif 000006
【図５】
2010108054.tif 000007
【図６】
2010108054.tif 000008
【図７】
2010108054.tif 000009
【図８】
2010108054.tif 000010
【図９】
2010108054.tif 000011
【図１０】
2010108054.tif 000012
【図１１】
2010108054.tif 000013
【図１２】
2010108054.tif 000014
【図１３】
2010108054.tif 000015
【図１４】
2010108054.tif 000016
【図１５】
2010108054.tif 000017
【図１６】
2010108054.tif 000018
【図１７】
2010108054.tif 000019
【図１８】
2010108054.tif 000020
【図１９】
2010108054.tif 000021
【図２０】
2010108054.tif 000022
【図２１】
2010108054.tif 000023