(57)【要約】【課題】認証ＩＣタグの誤動作を防止する。【解決手段】認証処理状態とメモリアクセス状態とを有する認証ＩＣタグ１００であって、メモリアクセス状態は、ホストアクセス装置２００から、メモリ部１０４へのメモリアクセス処理が実行可能な状態であり、認証処理状態は、ホストアクセス装置２００による公開鍵暗号方式を用いた認証処理が実行可能で、かつ、メモリアクセス処理が禁止された状態であり、認証ＩＣタグ１００は、メモリ部１０４と、認証処理状態の場合に認証処理を行う認証処理部１０６と、認証処理状態の場合にメモリアクセス処理を禁止し、メモリアクセス状態の場合にメモリアクセス処理を行うメモリアクセス制御部１０７と、ホストアクセス装置２００と通信することで、コマンドを取得する通信部１０１と、当該コマンドに基づいて、認証処理状態とメモリアクセス状態との間で認証ＩＣタグの状態遷移を行う処理状態遷移制御部１０８とを備える。【選択図】図１
2012155560.tif 000002
【特許請求の範囲】
【請求項１】
認証処理状態とメモリアクセス状態とを有する認証ＩＣタグであって、
前記メモリアクセス状態は、ホストアクセス装置から、所定のデータを格納するためのメモリ部へのメモリアクセス処理が実行可能な状態であり、
前記認証処理状態は、前記ホストアクセス装置による公開鍵暗号方式を用いた認証処理が実行可能で、かつ、前記メモリアクセス処理が禁止された状態であり、
前記認証ＩＣタグは、
前記メモリ部と、
前記認証ＩＣタグが前記認証処理状態である場合に、前記認証処理を行う認証部と、
前記認証ＩＣタグが前記認証処理状態である場合に、前記メモリアクセス処理を禁止し、前記認証ＩＣタグが前記メモリアクセス状態である場合に、前記メモリアクセス処理を行うメモリアクセス制御部と、
前記ホストアクセス装置と通信することで、コマンドを取得する通信部と、
前記通信部が取得したコマンドに基づいて、前記認証処理状態と前記メモリアクセス状態との間で前記認証ＩＣタグの状態遷移を行う状態遷移制御部とを備える
認証ＩＣタグ。
【請求項２】
前記認証部は、前記認証ＩＣタグが前記認証処理状態であり、かつ、前記認証処理を要求する認証要求コマンドを前記通信部が取得した場合に、前記認証処理を行い、
前記メモリアクセス制御部は、前記認証ＩＣタグが前記メモリアクセス状態であり、かつ、前記メモリアクセス処理を要求するアクセス要求コマンドを前記通信部が取得した場合に、前記メモリアクセス処理を行い、
前記状態遷移制御部は、前記認証処理状態と前記メモリアクセス状態とのいずれかへの状態遷移を要求する遷移要求コマンドを前記通信部が取得した場合に、前記遷移要求コマンドに応じて前記認証ＩＣタグの状態遷移を行う
請求項１記載の認証ＩＣタグ。
【請求項３】
前記状態遷移制御部は、前記認証処理又は前記メモリアクセス処理が完了した場合に、前記認証ＩＣタグの状態遷移を行う
請求項１又は２記載の認証ＩＣタグ。
【請求項４】
前記状態遷移制御部は、前記認証処理が完了した場合に、前記認証ＩＣタグの状態を前記認証処理状態のまま維持する
請求項１〜３のいずれか１項に記載の認証ＩＣタグ。
【請求項５】
前記認証ＩＣタグは、さらに、前記状態遷移制御部によって前記認証ＩＣタグの状態遷移が行われた場合に、当該状態遷移の結果を示す状態遷移結果データを出力する出力部を備える
請求項１〜４のいずれか１項に記載の認証ＩＣタグ。
【請求項６】
前記通信部は、前記ホストアクセス装置から、公開鍵を用いて暗号化された暗号文データとを所定の通信単位で取得し、
前記認証部は、前記暗号文データを全て取得した後で、前記認証処理として、前記暗号文データを復号する
請求項１〜５のいずれか１項に記載の認証ＩＣタグ。
【請求項７】
前記通信部は、前記ホストアクセス装置から、公開鍵を用いて暗号化された暗号文データとを所定の通信単位で取得し、
前記認証部は、前記認証処理として、前記暗号文データを前記通信単位毎に復号する
請求項１〜５のいずれか１項に記載の認証ＩＣタグ。
【請求項８】
前記通信部は、前記ホストアクセス装置との間で物理的な信号線を介して通信する
請求項１〜７のいずれか１項に記載の認証ＩＣタグ。
【請求項９】
前記通信部は、前記ホストアクセス装置との間で無線で通信する
請求項１〜７のいずれか１項に記載の認証ＩＣタグ。
【請求項１０】
前記通信部は、前記ホストアクセス装置から、公開鍵を用いて暗号化された暗号文データを取得し、
前記認証部は、前記認証処理として、前記公開鍵に対応する秘密鍵を用いて前記暗号文データを復号することで、復号文データを生成し、
前記通信部は、さらに、前記復号文データを前記ホストアクセス装置へ送信する
請求項１〜９のいずれか１項に記載の認証ＩＣタグ。
【請求項１１】
前記通信部は、前記ホストアクセス装置から、公開鍵を用いて平文データが暗号化された暗号文データとを取得し、
前記認証部は、前記認証処理として、前記公開鍵に対応する秘密鍵を用いて前記暗号文データを復号することで、復号文データを生成し、前記平文データと前記復号文データとが一致するか否かを判定する
請求項１〜９のいずれか１項に記載の認証ＩＣタグ。
【請求項１２】
所定のデータを格納するためのメモリ部を備える認証ＩＣタグを、公開鍵暗号方式を用いて認証する処理である認証処理を行うホストアクセス装置であって、
前記認証ＩＣタグの状態を遷移させるための命令を発行する制御部と、
前記命令に対応するコマンドを前記認証ＩＣタグに送信する通信部とを備え、
前記制御部は、
前記認証ＩＣタグの状態を、前記ホストアクセス装置から前記メモリ部へのメモリアクセス処理が禁止され、かつ、前記ホストアクセス装置による前記認証処理が実行可能な認証処理状態と、前記メモリアクセス処理が実行可能なメモリアクセス状態との間で遷移させるための命令を発行する
ホストアクセス装置。
【請求項１３】
前記ホストアクセス装置は、さらに、公開鍵を用いて平文データを暗号化することで、暗号文データを生成する暗号化部を備え、
前記制御部は、前記認証処理を要求する認証命令、及び、前記メモリアクセス処理を要求するメモリアクセス命令を発行し、
前記通信部は、前記制御部によって前記認証命令が発行された場合に、前記認証命令に対応するコマンドを識別するための識別コードと、前記暗号文データとを、前記認証ＩＣタグに送信し、前記制御部によって前記メモリアクセス命令が発行された場合に、前記メモリアクセス命令に対応するコマンドを識別するための識別コードを、前記認証ＩＣタグに送信する
請求項１２記載のホストアクセス装置。
【請求項１４】
前記通信部は、前記制御部によって発行された命令に応じて、信号波形を変更する
請求項１３記載のホストアクセス装置。
【請求項１５】
前記ホストアクセス装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備え、
前記ＣＰＵは、前記制御部、前記暗号化部及び前記通信部の機能を実行する
請求項１３又は１４記載のホストアクセス装置。
【請求項１６】
認証ＩＣタグの認証処理を行うホストアクセス装置であって、
前記認証ＩＣタグに対する少なくとも１つ以上の命令を発行する制御部と、
公開鍵を用いて平文データを暗号化することで、暗号文データを生成する暗号化部と、
前記暗号文データを前記認証ＩＣタグに送信する通信部と、
前記暗号文データを解析することで、前記１つ以上の命令に対応するコマンドを識別するための識別コードと一致するデータが前記暗号文データに含まれているか否かを判定する解析部と、
前記識別コードと一致するデータが前記暗号文データに含まれていると判定された場合に、前記識別コードを変更することで、変更後識別コードを生成する変更部とを備え、
前記通信部は、さらに、
前記変更後識別コードを前記認証ＩＣタグに送信する
ホストアクセス装置。
【請求項１７】
請求項１〜１１のいずれか１項に記載の認証ＩＣタグと、
請求項１２〜１６のいずれか１項に記載のホストアクセス装置とを備える
認証システム。
【請求項１８】
認証処理状態とメモリアクセス状態とを有する認証ＩＣタグを認証する認証方法であって、
前記メモリアクセス状態の前記認証ＩＣタグは、ホストアクセス装置から、所定のデータを格納するためのメモリ部へのメモリアクセス処理が実行可能であり、
前記認証処理状態の前記認証ＩＣタグは、前記ホストアクセス装置による公開鍵暗号方式を用いた認証処理が実行可能で、かつ、前記メモリアクセス処理が禁止され、
前記認証方法は、
前記認証ＩＣタグが前記認証処理状態である場合に、前記認証処理を行う認証ステップと、
前記認証ＩＣタグが前記認証処理状態である場合に、前記メモリアクセス処理を禁止し、前記認証ＩＣタグが前記メモリアクセス状態である場合に、前記メモリアクセス処理を行うメモリアクセスステップと、
前記ホストアクセス装置と通信することで、コマンドを取得する通信ステップと、
前記コマンドに基づいて、前記認証処理状態と前記メモリアクセス状態との間で前記認証ＩＣタグの状態遷移を行う状態遷移制御ステップとを含む
認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、様々な物品の管理及び模造品の判別を行うための認証処理、又は、個人を認証する電子認証などの認証処理を行う認証ＩＣタグ、認証システム、ホストアクセス装置及び認証方法に関するものである。
【背景技術】
【０００２】
電子機器及び電子カードの普及に伴い、非正規品又は模造品が非常に増加しており、社会的な問題となっている。この問題を解決する手段の１つとして、暗号鍵を用いた暗号方式での認証システムがある。
【０００３】
特に、電子機器などの認証では、ＩＣタグを用いた認証システムが普及している。一般的なＩＣタグを用いた認証システムでは、秘密鍵暗号方式が用いられる。例えば、特許文献１及び特許文献２には、秘密鍵暗号方式を用いた認証を行う技術が開示されている。
【０００４】
秘密鍵暗号方式を用いた認証では、特許文献１で用いられているＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの方式が用いられる。秘密鍵暗号方式では、暗号鍵と復号鍵とが共通である。
【０００５】
秘密鍵暗号方式を用いた認証は、暗号化及び復号の速度が速いというメリットがある。特に、処理時間が短い点と、暗号文が短い点とにより、秘密鍵暗号方式を用いた認証は、比較的容易に製品に適用可能であり、その応用分野は多岐にわたる。
【０００６】
一方で、秘密鍵暗号方式を用いた認証は、鍵の受け渡しが問題であるというデメリットがある。すなわち、鍵が盗まれると、その鍵で復号が可能となる。また、秘密鍵暗号方式を用いた認証は、相手の数だけ、鍵を作成する必要があるため、不特定多数の認証には不向きであるというデメリットもある。また、暗号文が短いということは、暗号強度が脆弱であるというデメリットにもなる。
【０００７】
このように、秘密鍵暗号方式では、暗号鍵と復号鍵とが共通であるために、鍵の配送が難しい点と、暗号文が短いため暗号強度が脆弱であるという課題を有する。
【０００８】
近年、秘密鍵に変わる暗号方式として、公開鍵暗号方式がある。公開鍵暗号方式では、暗号化する鍵と復号する鍵とが異なり、それぞれペアでなければ元の情報を復元できない。この公開鍵暗号方式での長所となるのは、鍵が暗号化と復号とで異なるため、「鍵の配送（配布）が容易で管理が楽である」という点がある。
【０００９】
公開鍵暗号方式の仕組みを利用するには、事前に相手の公開鍵を入手しておく必要はあるが、仮に第三者に公開鍵が入手されても復号されることはなく問題とならない。また、公開鍵暗号方式の暗号文は、秘密鍵暗号方式の暗号方式と比べて長いため、処理時間が長いという短所はあるが、一方で、暗号強度は、秘密鍵暗号方式と比較して強固であるという長所がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−３０７０５５号公報
【特許文献２】特開２００９−１７１４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来技術では、認証ＩＣタグが誤動作を起こしてしまうことを防止することができないという課題がある。
【００１２】
例えば、ホストアクセス装置と認証ＩＣタグとの間の通信時のエラー、又は、ビット化けなどによりコマンド識別子（オペランド）の取りこぼしが発生した場合、認証ＩＣタグは、ホストアクセス装置から送られてきた暗号文を復号しない。このとき、ＮＴＲＵなどの公開鍵暗号方式で暗号化した暗号文は非常に長いために、公開鍵暗号文中にメモリアクセス命令又はアクセス不許可命令のコマンド識別子と一致するデータが含まれている場合に、認証ＩＣタグは、当該データをコマンド識別子と判定する。そして、認証ＩＣタグは、意図しないメモリアクセス又は返信動作などの誤動作を引き起こす。
【００１３】
特に、認証ＩＣタグとホストアクセス装置とが調歩同期式などの通信方式での通信を行う場合は、ビット単位での区切りは明確であるが、コマンドの始まり及び終わりを示す方法が規定されていない。このため、コマンドの始まり及び終わりが不明確であり、上記のような誤動作が生じやすい。
【００１４】
そこで、本発明は、上記課題を鑑みてなされたものであって、認証ＩＣタグの誤動作を防止することができる認証ＩＣタグ、認証システム、ホストアクセス装置及び認証方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記の問題を解決するために、本発明の一態様に係る認証ＩＣタグは、認証処理状態とメモリアクセス状態とを有する認証ＩＣタグであって、前記メモリアクセス状態は、ホストアクセス装置から、所定のデータを格納するためのメモリ部へのメモリアクセス処理が実行可能な状態であり、前記認証処理状態は、前記ホストアクセス装置による公開鍵暗号方式を用いた認証処理が実行可能で、かつ、前記メモリアクセス処理が禁止された状態であり、前記認証ＩＣタグは、前記メモリ部と、前記認証ＩＣタグが前記認証処理状態である場合に、前記認証処理を行う認証部と、前記認証ＩＣタグが前記認証処理状態である場合に、前記メモリアクセス処理を禁止し、前記認証ＩＣタグが前記メモリアクセス状態である場合に、前記メモリアクセス処理を行うメモリアクセス制御部と、前記ホストアクセス装置と通信することで、コマンドを取得する通信部と、前記通信部が取得したコマンドに基づいて、前記認証処理状態と前記メモリアクセス状態との間で前記認証ＩＣタグの状態遷移を行う状態遷移制御部とを備える。
【００１６】
これにより、認証処理状態では、メモリアクセス処理が禁止されているため、認証処理状態のときに受け取ったデータの一部をコマンド識別子と誤検出した場合でも、メモリアクセス処理を防止することができ、認証ＩＣタグの誤動作を防止することができる。なお、特に、認証処理に公開鍵暗号方式を用いる場合は、暗号文データが長くなることが多いので、コマンド識別子の誤検出を起こす確率が高くなる。このため、本発明の一態様に係る認証ＩＣタグによる誤動作の防止という効果は、より格別な効果を奏する。
【００１７】
また、前記認証部は、前記認証ＩＣタグが前記認証処理状態であり、かつ、前記認証処理を要求する認証要求コマンドを前記通信部が取得した場合に、前記認証処理を行い、前記メモリアクセス制御部は、前記認証ＩＣタグが前記メモリアクセス状態であり、かつ、前記メモリアクセス処理を要求するアクセス要求コマンドを前記通信部が取得した場合に、前記メモリアクセス処理を行い、前記状態遷移制御部は、前記認証処理状態と前記メモリアクセス状態とのいずれかへの状態遷移を要求する遷移要求コマンドを前記通信部が取得した場合に、前記遷移要求コマンドに応じて前記認証ＩＣタグの状態遷移を行ってもよい。
【００１８】
これにより、認証処理、メモリアクセス処理、及び、状態遷移処理のそれぞれを、ホストアクセス装置から各処理に対応するコマンドを受け取った場合に実行する。つまり、遷移要求コマンドを取得した場合に、認証処理が可能な認証処理状態と、メモリアクセス処理が可能なメモリアクセス処理状態との相互の処理状態の切り替え処理を実行し、処理状態を確定しなければ、認証処理もメモリアクセス処理も受け付けない。このため、コマンド識別子の取りこぼしにより、暗号文データ中の一部をコマンド識別子であると誤検出した場合でも、認証ＩＣタグの意図しない動作（誤動作）を防ぐことができる。
【００１９】
また、前記状態遷移制御部は、前記認証処理又は前記メモリアクセス処理が完了した場合に、前記認証ＩＣタグの状態遷移を行ってもよい。
【００２０】
これにより、既に認証処理又はメモリアクセス処理が正しく実行されている場合には、処理中に状態遷移要求のコマンド識別子を受け取ったとしても、状態遷移を行わないので、認証ＩＣタグの誤動作を防止することができる。
【００２１】
また、前記状態遷移制御部は、前記認証処理が完了した場合に、前記認証ＩＣタグの状態を前記認証処理状態のまま維持してもよい。
【００２２】
これにより、認証処理を連続して実行することができる。つまり、状態遷移処理を実行しなければ、認証処理を独立して連続で実行することもできるため、連続した複数回の認証処理を行うことも可能となる。
【００２３】
また、前記認証ＩＣタグは、さらに、前記状態遷移制御部によって前記認証ＩＣタグの状態遷移が行われた場合に、当該状態遷移の結果を示す状態遷移結果データを出力する出力部を備えてもよい。
【００２４】
これにより、状態遷移処理の完了時に、ホストアクセス装置に、認証ＩＣタグの処理状態を通知することができるため、効率良く認証ＩＣタグの認証処理又はメモリアクセス処理を実行することができる。
【００２５】
また、前記通信部は、前記ホストアクセス装置から、公開鍵を用いて暗号化された暗号文データとを所定の通信単位で取得し、前記認証部は、前記暗号文データを全て取得した後で、前記認証処理として、前記暗号文データを復号してもよい。
【００２６】
これにより、暗号文データを全て受信してから復号を行うので、暗号文データの復号が失敗してしまうことを防止することができる。
【００２７】
また、前記通信部は、前記ホストアクセス装置から、公開鍵を用いて暗号化された暗号文データとを所定の通信単位で取得し、前記認証部は、前記認証処理として、前記暗号文データを前記通信単位毎に復号してもよい。
【００２８】
これにより、暗号文データを受信する度に復号するので、暗号文データの復号を高速化することができ、認証処理に要する時間を短くすることができる。
【００２９】
また、前記通信部は、前記ホストアクセス装置との間で物理的な信号線を介して通信してもよい。
【００３０】
これにより、接触型の認証ＩＣタグの認証処理を行うことができる。
【００３１】
また、前記通信部は、前記ホストアクセス装置との間で無線で通信してもよい。
【００３２】
これにより、非接触型の認証ＩＣタグの認証処理を行うことができる。
【００３３】
また、前記通信部は、前記ホストアクセス装置から、公開鍵を用いて暗号化された暗号文データを取得し、前記認証部は、前記認証処理として、前記公開鍵に対応する秘密鍵を用いて前記暗号文データを復号することで、復号文データを生成し、前記通信部は、さらに、前記復号文データを前記ホストアクセス装置へ送信してもよい。
【００３４】
これにより、ホストアクセス装置側で、認証ＩＣタグによる暗号文データの復号が正しく行われたか否かを判定することができる。すなわち、ホストアクセス装置は、認証ＩＣタグの認証処理が正しく完了したか否かを判定することができる。
【００３５】
また、前記通信部は、前記ホストアクセス装置から、公開鍵を用いて平文データが暗号化された暗号文データとを取得し、前記認証部は、前記認証処理として、前記公開鍵に対応する秘密鍵を用いて前記暗号文データを復号することで、復号文データを生成し、前記平文データと前記復号文データとが一致するか否かを判定してもよい。
【００３６】
これにより、認証ＩＣタグ側で、認証ＩＣタグの認証処理を行うことができる。
【００３７】
また、本発明の一態様に係るホストアクセス装置は、所定のデータを格納するためのメモリ部を備える認証ＩＣタグを、公開鍵暗号方式を用いて認証する処理である認証処理を行うホストアクセス装置であって、前記認証ＩＣタグの状態を遷移させるための命令を発行する制御部と、前記命令に対応するコマンドを前記認証ＩＣタグに送信する通信部とを備え、前記制御部は、前記認証ＩＣタグの状態を、前記ホストアクセス装置から前記メモリ部へのメモリアクセス処理が禁止され、かつ、前記ホストアクセス装置による前記認証処理が実行可能な認証処理状態と、前記メモリアクセス処理が実行可能なメモリアクセス状態との間で遷移させるための命令を発行する。
【００３８】
これにより、認証処理状態とメモリアクセス状態とを有する認証ＩＣタグの状態を遷移させるためのコマンドを生成するので、認証ＩＣタグの状態を遷移させることができる。
【００３９】
また、前記ホストアクセス装置は、さらに、公開鍵を用いて平文データを暗号化することで、暗号文データを生成する暗号化部を備え、前記制御部は、前記認証処理を要求する認証命令、及び、前記メモリアクセス処理を要求するメモリアクセス命令を発行し、前記通信部は、前記制御部によって前記認証命令が発行された場合に、前記認証命令に対応するコマンドを識別するための識別コードと、前記暗号文データとを、前記認証ＩＣタグに送信し、前記制御部によって前記メモリアクセス命令が発行された場合に、前記メモリアクセス命令に対応するコマンドを識別するための識別コードを、前記認証ＩＣタグに送信してもよい。
【００４０】
これにより、認証処理、メモリアクセス処理、及び、状態遷移処理を認証ＩＣタグに要求することができる。
【００４１】
また、前記通信部は、前記制御部によって発行された命令に応じて、信号波形を変更してもよい。
【００４２】
これにより、認証ＩＣタグとホストアクセス装置との間の通信の信号波形を命令に応じて変更するので、認証ＩＣタグは、信号波形を検出することで、要求されたコマンドを認識することができる。
【００４３】
また、前記ホストアクセス装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備え、前記ＣＰＵは、前記制御部、前記暗号化部及び前記通信部の機能を実行してもよい。
【００４４】
これにより、ホストアクセス装置の主要な機能は、全てソフトウェア構成で実現することができる。
【００４５】
また、認証ＩＣタグの認証処理を行うホストアクセス装置であって、前記認証ＩＣタグに対する少なくとも１つ以上の命令を発行する制御部と、公開鍵を用いて平文データを暗号化することで、暗号文データを生成する暗号化部と、前記暗号文データを前記認証ＩＣタグに送信する通信部と、前記暗号文データを解析することで、前記１つ以上の命令に対応するコマンドを識別するための識別コードと一致するデータが前記暗号文データに含まれているか否かを判定する解析部と、前記識別コードと一致するデータが前記暗号文データに含まれていると判定された場合に、前記識別コードを変更することで、変更後識別コードを生成する変更部とを備え、前記通信部は、さらに、前記変更後識別コードを前記認証ＩＣタグに送信してもよい。
【００４６】
これにより、暗号文データの一部がコマンド識別子と一致した場合に、コマンド識別子を変更するので、変更後のコマンド識別子を用いることで、暗号文データの一部をコマンド識別子であると誤検出することを防止することができる。したがって、認証ＩＣタグの誤動作を防止することができる。
【００４７】
また、本発明の一態様に係る認証システムは、上記の認証ＩＣタグのいずれかと、上記のホストアクセス装置のいずれかとを備える。
【００４８】
これにより、認証処理状態では、メモリアクセス処理が禁止されているため、認証処理状態に受け取ったデータの一部をコマンド識別子と誤検出した場合でも、メモリアクセス処理を防止することができ、認証ＩＣタグの誤動作を防止することができる。なお、特に、認証処理に公開鍵暗号方式を用いる場合は、暗号文データが長くなることが多いので、コマンド識別子の誤検出を起こす確率が高くなる。このため、本発明の一態様に係る認証システムによる誤動作の防止という効果は、より格別な効果となる。
【００４９】
なお、本発明は、認証ＩＣタグ、ホストアクセス装置及び認証システムとして実現できるだけではなく、当該認証ＩＣタグ、ホストアクセス装置及び認証システムを構成する処理部をステップとする方法として実現することもできる。
【００５０】
例えば、本発明の一態様に係る認証方法は、認証処理状態とメモリアクセス状態とを有する認証ＩＣタグを認証する認証方法であって、前記メモリアクセス状態の前記認証ＩＣタグは、ホストアクセス装置から、所定のデータを格納するためのメモリ部へのメモリアクセス処理が実行可能であり、前記認証処理状態の前記認証ＩＣタグは、前記ホストアクセス装置による公開鍵暗号方式を用いた認証処理が実行可能で、かつ、前記メモリアクセス処理が禁止され、前記認証方法は、前記認証ＩＣタグが前記認証処理状態である場合に、前記認証処理を行う認証ステップと、前記認証ＩＣタグが前記認証処理状態である場合に、前記メモリアクセス処理を禁止し、前記認証ＩＣタグが前記メモリアクセス状態である場合に、前記メモリアクセス処理を行うメモリアクセスステップと、前記ホストアクセス装置と通信することで、コマンドを取得する通信ステップと、前記コマンドに基づいて、前記認証処理状態と前記メモリアクセス状態との間で前記認証ＩＣタグの状態遷移を行う状態遷移制御ステップとを含む。
【００５１】
これにより、認証処理状態の認証ＩＣタグは、メモリアクセス処理が禁止されているため、認証処理状態に受け取ったデータの一部をコマンド識別子と誤検出した場合でも、メモリアクセス処理を防止することができ、認証ＩＣタグの誤動作を防止することができる。なお、特に、認証処理に公開鍵暗号方式を用いる場合は、暗号文データが長くなることが多いので、コマンド識別子の誤検出を起こす確率が高くなる。このため、本発明の一態様に係る認証システムによる誤動作の防止という効果は、より格別な効果となる。
【発明の効果】
【００５２】
本発明によれば、認証ＩＣタグの誤動作を防止することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施の形態１に係る公開鍵暗号方式の認証ＩＣタグの構成の一例を示すブロック図である。
【図２】本発明の実施の形態１に係るコマンド種別の一例を示す図である。
【図３】本発明の実施の形態１に係る認証処理部の構成の一例を示すブロック図である。
【図４】本発明の実施の形態１に係るコマンドフォーマットの一例を示す図である。
【図５】本発明の実施の形態１に係る認証ＩＣタグの動作の一例を示すフローチャートである。
【図６】本発明の実施の形態１に係る認証システムの一例である電子機器の構成の一例を示すブロック図である。
【図７Ａ】本発明の実施の形態１に係る認証システムの動作の一例を示すシーケンス図である。
【図７Ｂ】本発明の実施の形態１に係る認証システムの動作の一例を示すシーケンス図である。
【図８】認証ＩＣタグが誤動作を起こす場合の認証システムの動作を示すシーケンス図である。
【図９Ａ】本発明の実施の形態１に係る認証システムの状態遷移の一例を示すフローチャートである。
【図９Ｂ】本発明の実施の形態１に係る認証システムの状態遷移の一例を示すフローチャートである。
【図９Ｃ】本発明の実施の形態１に係る認証システムの状態遷移の一例を示すフローチャートである。
【図９Ｄ】本発明の実施の形態１に係る認証システムの状態遷移の一例を示すフローチャートである。
【図１０】本発明の実施の形態１に係る認証システムにおいてホストアクセス装置側での認証処理を説明するための図である。
【図１１】本発明の実施の形態２に係る認証システムの一例である電子機器の構成の一例を示すブロック図である。
【図１２】本発明の実施の形態２に係る認証ＩＣタグの構成の一例を示すブロック図である。
【図１３】本発明の実施の形態の変形例に係る認証システムの一例である電子機器の構成の一例を示すブロック図である。
【図１４】本発明の実施の形態の変形例に係る認証システムの一例である電子機器の構成の一例を示すブロック図である。
【図１５】本発明の実施の形態の変形例に係る非接触型の認証システムの構成の一例を示す図である。
【図１６】本発明の実施の形態の変形例に係る認証ＩＣタグの構成の一例を示すブロック図である。
【図１７】本発明の実施の形態の変形例に係る認証ＩＣタグの動作の一例を示すフローチャートである。
【図１８】本発明の実施の形態の変形例に係る認証処理部の構成の一例を示すブロック図である。
【図１９】本発明の実施の形態の変形例に係る認証システムにおいて認証ＩＣタグ側での認証処理を説明するための図である。
【図２０】本発明の実施の形態の変形例に係る認証ＩＣタグの構成の一例を示すブロック図である。
【図２１】本発明の実施の形態の変形例に係るホストアクセス装置によるコマンドフォーマットの変更の一例を示す図である。
【図２２】本発明の実施の形態の変形例に係るホストアクセス装置によるコマンドフォーマットの変更の一例を示す図である。
【発明を実施するための形態】
【００５４】
以下、本発明に係る認証ＩＣタグ、認証システム、ホストアクセス装置及び認証方法の実施の形態について、図面を参照しながら詳細に説明する。
【００５５】
（実施の形態１）
本発明の実施の形態１に係る認証ＩＣタグは、ホストアクセス装置による公開鍵暗号方式を用いた認証処理と、ホストアクセス装置から所定のデータを格納するためのメモリ部へのメモリアクセス処理とを行う。認証ＩＣタグは、取得したコマンドに基づいて、認証処理状態とメモリアクセス状態との間で認証ＩＣタグの状態遷移を行う状態遷移制御部と、認証処理状態である場合に認証処理を行う認証部と、認証処理状態である場合にメモリアクセス処理を禁止し、メモリアクセス状態である場合にメモリアクセス処理を実行するメモリアクセス制御部とを備えることを特徴とする。
【００５６】
つまり、本発明の実施の形態１に係る認証ＩＣタグは、認証処理状態とメモリアクセス状態とを有する。認証処理状態は、認証処理を実行可能であるが、メモリアクセス処理を行うことができない状態である。メモリアクセス状態は、メモリアクセス処理を実行可能な状態である。
【００５７】
図１は、本発明の実施の形態１に係る公開鍵暗号方式の認証ＩＣタグ１００の構成の一例を示すブロック図である。図１に示すように、認証ＩＣタグ１００は、通信部１０１と、コマンド識別部１０２と、識別コード記憶部１０３と、メモリ部１０４と、認証制御部１０５と、認証処理部１０６と、メモリアクセス制御部１０７と、処理状態遷移制御部１０８と、出力データ制御部１０９と、入出力端子１１０とを備える。
【００５８】
本発明の実施の形態１に係る認証ＩＣタグ１００は、認証処理とメモリアクセス処理とを行う。認証処理は、ホストアクセス装置２００による公開鍵暗号方式を用いた処理である。メモリアクセス処理は、ホストアクセス装置２００によるメモリ部１０４へのアクセス処理である。
【００５９】
具体的には、認証ＩＣタグ１００は、認証処理状態とメモリアクセス状態とを有する。認証処理状態の認証ＩＣタグ１００は、ホストアクセス装置２００からメモリ部１０４へのメモリアクセス処理が禁止され、ホストアクセス装置２００による公開鍵暗号方式を用いた認証処理が実行可能である。また、メモリアクセス処理状態の認証ＩＣタグ１００は、ホストアクセス装置２００による公開鍵暗号方式を用いた認証処理が禁止され、ホストアクセス装置２００からメモリ部１０４へのメモリアクセス処理が実行可能である。
【００６０】
通信部１０１は、ホストアクセス装置２００と通信することで、データの送受信を行う。具体的には、通信部１０１は、入出力端子１１０と接続され、外部のホストアクセス装置２００から送信されてきたデータを受け取り、受け取ったデータをコマンド識別部１０２、認証制御部１０５、メモリアクセス制御部１０７及び処理状態遷移制御部１０８に送信する。
【００６１】
通信部１０１が受信するデータは、例えば、認証ＩＣタグ１００に所定の処理を要求するために、ホストアクセス装置２００によって生成されたコマンドである。コマンドは、コマンドを識別するための識別コード（コマンド識別子）を含んでいる。コマンドの詳細については、後で説明する。
【００６２】
また、通信部１０１は、出力データ制御部１０９より制御された外部に送信するための出力データを受け取り、入出力端子１１０を介して外部のホストアクセス装置２００に送信する。出力データの詳細については、後で説明する。
【００６３】
コマンド識別部１０２は、通信部１０１と接続され、外部のホストアクセス装置２００から送信されてきた受信データ中のコマンドの識別を行う。コマンドの識別とは、識別コードを分析することで、認証ＩＣタグ１００が要求されている処理の種別を判定することである。
【００６４】
具体的には、コマンド識別部１０２は、識別コード記憶部１０３に登録されているコマンド識別情報を参照することで、受信データに含まれるコマンドが認証処理要求であるか、メモリアクセス要求であるか、処理状態遷移要求であるかを判別する。そして、コマンド識別部１０２は、認証制御部１０５、メモリアクセス制御部１０７及び処理状態遷移制御部１０８にそれぞれ、動作の指示を発行する。
【００６５】
識別コード記憶部１０３は、コマンドの識別コードを記憶するためのメモリである。具体的には、識別コード記憶部１０３には、コマンド識別部１０２に送信するための、図２に示すような識別コード情報が記憶されている。コマンド識別部１０２は、識別コード記憶部１０３に記憶されている識別コード情報を適宜参照することができる。なお、識別コード情報は、メモリ部１０４とアドレス空間を共有しておりメモリアクセス命令で書き換え可能であってもよい。
【００６６】
メモリ部１０４は、所定のデータを記憶するためのメモリである。例えば、メモリ部１０４は、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：強誘電体メモリ）から構成される。なお、メモリ部１０４は、ＦｅＲＡＭではなく、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）から構成されてもよい。
【００６７】
また、メモリ部１０４は、例えば、プロテクト領域と非プロテクト領域とに分割されており、プロテクト領域には、外部から参照されてはならない情報が所定のデータとして記憶されていてもよい。例えば、メモリ部１０４のプロテクト領域には、製品情報、及び、暗号文を復号するための鍵情報などが記憶されている。なお、メモリ部１０４は、全ての領域がプロテクト領域でもよく、あるいは、全ての領域が非プロテクト領域でもよい。また、記憶すべきデータに応じて、プロテクト領域と非プロテクト領域とを動的に変更することができてもよい。
【００６８】
認証制御部１０５は、認証ＩＣタグ１００が認証処理状態である場合に、認証処理部１０６に認証処理を行わせる。具体的には、認証制御部１０５は、認証ＩＣタグ１００が認証処理状態であり、かつ、認証処理を要求する認証要求コマンドを通信部１０１が取得した場合に、認証処理部１０６に認証処理を行わせる。
【００６９】
例えば、認証制御部１０５は、コマンド識別部１０２によって判別された受信データに含まれるコマンドが認証処理要求である場合に、コマンド識別部１０２より認証処理の指示を受け取る。そして、認証制御部１０５は、認証処理部１０６に、暗号文データの復号処理である認証処理を実施するように命令する。また、認証制御部１０５は、認証処理完了時に、コマンド識別部１０２、メモリアクセス制御部１０７及び処理状態遷移制御部１０８に、完了通知を行う。
【００７０】
なお、認証制御部１０５は、認証ＩＣタグ１００がメモリアクセス状態である場合に、認証処理を禁止してもよい。
【００７１】
認証処理部１０６は、認証制御部１０５の指示で、通信部１０１から出力された受信データに含まれる暗号文データを復号することで、復号文データを生成する。認証処理部１０６は、図３に示すように、暗号文復号部１０６ａと、秘密鍵記憶部１０６ｂとを備える。
【００７２】
暗号文復号部１０６ａは、秘密鍵記憶部１０６ｂに記憶されている復号鍵（秘密鍵）を用いて、復号処理を実施する。暗号文復号部１０６ａは、公開鍵暗号方式の暗号回路である。公開鍵暗号方式は、上述のＮＴＲＵなどを示し、暗号化処理後にハッシュ処理などを行う場合もある。また、復号文データは、出力データ制御部１０９に出力される。
【００７３】
メモリアクセス制御部１０７は、認証ＩＣタグ１００が認証処理状態である場合に、ホストアクセス装置２００からメモリ部１０４へのメモリアクセス処理を禁止する。また、メモリアクセス制御部１０７は、認証ＩＣタグ１００がメモリアクセス状態である場合に、ホストアクセス装置２００からメモリ部１０４へのメモリアクセス処理を行う。具体的には、メモリアクセス制御部１０７は、認証ＩＣタグ１００がメモリアクセス状態であり、かつ、メモリアクセス処理を要求するアクセス要求コマンドを通信部１０１が取得した場合に、メモリアクセス処理を行う。
【００７４】
例えば、メモリアクセス制御部１０７は、コマンド識別部１０２によって判別された受信データに含まれるコマンドがメモリアクセス要求である場合に、コマンド識別部１０２よりメモリアクセス処理の指示を受け取る。そして、メモリアクセス制御部１０７は、メモリ部１０４へのメモリアクセス処理を実施する。
【００７５】
具体的には、アクセス要求コマンドがメモリ部１０４への書き込み要求である場合は、メモリアクセス制御部１０７は、受信データ中の書き込みデータを受信データのアドレス領域に書き込みを行う。そして、書き込みアクセスの完了が完了した際に、メモリアクセス制御部１０７は、出力データ制御部１０９に書き込み完了信号を出力する。なお、書き込み完了を通知しないことも可能である。
【００７６】
また、アクセス要求コマンドがメモリ部１０４からの読み出し要求である場合は、メモリアクセス制御部１０７は、受信データのアドレス領域からの読み出しを行う。そして、読み出しアクセスの完了が完了した際に、メモリアクセス制御部１０７は、出力データ制御部１０９に読み出しデータとともに読み出し完了信号を出力する。なお、読み出し完了は、読み出しデータの返信のみを持って暗示的に通知することも可能である。
【００７７】
処理状態遷移制御部１０８は、通信部１０１が取得したコマンドに基づいて、認証処理状態とメモリアクセス状態との間で認証ＩＣタグ１００の状態遷移を行う。具体的には、処理状態遷移制御部１０８は、認証処理状態とメモリアクセス状態とのいずれかへの状態遷移を要求する遷移要求コマンドを通信部１０１が取得した場合に、遷移要求コマンドに応じて認証ＩＣタグ１００の状態遷移を行う。
【００７８】
例えば、処理状態遷移制御部１０８は、コマンド識別部１０２によって判別された受信データに含まれるコマンドが処理状態遷移要求であった場合に、コマンド識別部１０２より処理状態遷移処理の指示を受け取る。そして、処理状態遷移制御部１０８は、処理状態遷移処理を実施する。
【００７９】
処理状態遷移制御部１０８は、認証ＩＣタグ１００の処理状態が認証処理状態である場合で、次に実施する処理をメモリアクセス処理に変更したい場合に、処理状態を切り替える。また、処理状態遷移制御部１０８は、認証ＩＣタグ１００の処理状態がメモリアクセス処理状態である場合に、次に実施する処理を認証処理に変更する場合にも、処理状態を切り替える。なお、処理状態遷移処理を実施しない場合は、前回の処理と今回の処理とは、同じとなる。例えば、前回の処理が認証処理である場合は、今回の処理は認証処理となる。なお、メモリアクセス処理の場合も同様となる。
【００８０】
また、処理状態遷移制御部１０８は、受信データ中の特定のコード（遷移判定コード）が遷移状態の許可又は不許可を表すコードと一致するか否かを判定することで、遷移を実施するか否かを判定する。遷移処理が許可された場合は、処理状態遷移制御部１０８は、認証ＩＣタグ１００を認証処理状態からメモリアクセス状態へ遷移させる。あるいは、処理状態遷移制御部１０８は、認証ＩＣタグ１００をメモリアクセス状態から認証状態へ遷移させる。
【００８１】
遷移処理が不許可である場合は、処理状態遷移制御部１０８は、認証ＩＣタグ１００を現在の処理状態に留める。なお、認証ＩＣタグ１００が現在の処理状態に留まった場合は、認証ＩＣタグ１００は、再度、現行の処理と同種の処理を実行することが可能となる。つまり、処理状態遷移制御部１０８は、認証処理が完了した場合に、認証ＩＣタグ１００の状態を認証処理状態のまま維持する。また、処理状態遷移制御部１０８は、メモリアクセス処理が完了した場合に、認証ＩＣタグ１００の状態をメモリアクセス状態のまま維持してもよい。
【００８２】
さらに、遷移処理を実行しない場合も、認証ＩＣタグ１００は、現行の処理と同種の処理を再度実行可能となる。つまり、遷移処理を実行しない場合は、認証ＩＣタグ１００は、現行の処理を連続で実行することが可能となる。例えば、１度目の認証処理を実行後、２度目の認証処理を実行することが可能となる。
【００８３】
遷移処理を実行した場合、処理状態遷移制御部１０８は、実行結果を示す遷移状態信号を出力データ制御部１０９へ出力する。実行結果は、認証処理からメモリアクセス処理への遷移、及び、メモリアクセス処理から認証処理への遷移のいずれであるかによって、異なる。したがって、実行結果の値を判別することによって、外部のホストアクセス装置２００は、認証ＩＣタグ１００の処理状態を把握することが可能となる。
【００８４】
また、処理状態遷移制御部１０８は、遷移処理が不許可である場合も遷移結果を出力してもよい。遷移処理が不許可の場合の実行結果は、認証ＩＣタグ１００の現在の処理状態となる。
【００８５】
出力データ制御部１０９は、出力部の一例であり、認証処理部１０６、メモリアクセス制御部１０７及び処理状態遷移制御部１０８より出力される各出力データを選択して、通信部１０１へ送信する。具体的には、出力データ制御部１０９は、認証処理部１０６による認証結果を示す認証結果信号、メモリアクセス制御部１０７によってメモリ部１０４から読み出されたデータを示す記憶データ読み出し信号、及び、処理状態遷移制御部１０８による状態遷移の結果を示す遷移状態信号のいずれかを選択して、選択したデータを通信部１０１へ送信する。例えば、出力データ制御部１０９は、認証ＩＣタグ１００の状態遷移が行われた場合に、通信部１０１を介して、状態遷移の結果を示す状態遷移結果データをホストアクセス装置２００に出力する。
【００８６】
入出力端子１１０は、通信部１０１と接続している。通信部１０１は、入出力端子１１０を介して、外部のホストアクセス装置２００から入力される受信データを受信し、また、出力データ制御部１０９から出力された出力データを外部のホストアクセス装置２００へ送信する。
【００８７】
次に、識別コード記憶部１０３に記憶されているコマンド種別、及び、コマンドに対応する動作について説明する。図２は、本発明の実施の形態１に係るコマンド種別の一例を示す図である。
【００８８】
図２に示す例では、コマンド種別には、認証処理、遷移処理、メモリアクセス処理、及び、処理状態確認処理がある。つまり、コマンド識別部１０２は、受信したコマンドが、認証要求コマンド、遷移要求コマンド、アクセス要求コマンド、及び、状態確認要求コマンドのいずれであるかを判定する。
【００８９】
認証要求コマンドは、認証処理を要求するコマンドである。例えば、コマンド識別部１０２は、受信データに識別コード“Ａ０”が含まれている場合に、受信データに含まれるコマンドが認証要求コマンドであると判定する。そして、コマンド識別部１０２は、認証要求コマンドを取得したことを認証制御部１０５に通知する。
【００９０】
認証制御部１０５は、受信データに含まれる暗号文データ“Ｘ０”を復号するように、認証処理部１０６を制御する。認証処理部１０６は、公開鍵に対応する秘密鍵を用いて暗号文データ“Ｘ０”を復号することで、復号文データを生成し、生成した復号文データ（認証結果信号）を出力データ制御部１０９に出力する。そして、出力データ制御部１０９は、通信部１０１を介して、復号文データを認証結果データ“Ｂ０”として出力する。
【００９１】
遷移要求コマンドは、状態遷移処理を要求するコマンドである。例えば、コマンド識別部１０２は、受信データに識別コード“Ｓ０”が含まれている場合に、受信データに含まれるコマンドが遷移要求コマンドであると判定する。そして、コマンド識別部１０２は、遷移要求コマンドを取得したことを処理状態遷移制御部１０８に通知する。
【００９２】
処理状態遷移制御部１０８は、受信データに含まれる遷移判定コード“Ｓ１”を取得し、取得した遷移判定コード“Ｓ１”が状態遷移処理の可否のいずれを示しているかを判定する。具体的には、処理状態遷移制御部１０８は、遷移判定コード“Ｓ１”が状態遷移処理の許可を示すコードに一致する場合は、状態遷移を行う。また、処理状態遷移制御部１０８は、遷移判定コード“Ｓ１”が状態遷移処理の不許可を示すコードに一致する場合は、状態遷移を行わない。すなわち、処理状態遷移制御部１０８は、認証ＩＣタグ１００の状態を現在の状態のまま維持させる。
【００９３】
例えば、遷移判定コード“Ｓ１”がメモリアクセス状態から認証処理状態への遷移を許可するコードに一致している場合、処理状態遷移制御部１０８は、認証ＩＣタグ１００を認証処理状態へ変更する。また、遷移判定コード“Ｓ１”が認証処理状態からメモリアクセス状態への遷移を許可するコードに一致している場合、処理状態遷移制御部１０８は、認証ＩＣタグ１００をメモリアクセス状態変更する。
【００９４】
処理状態遷移制御部１０８は、遷移結果データ（遷移状態信号）を出力データ制御部１０９に出力する。出力データ制御部１０９は、通信部１０１を介して遷移結果データを出力する。例えば、遷移処理の結果（又は、遷移不許可の結果）、認証ＩＣタグ１００がメモリアクセス状態である場合、出力データ制御部１０９は、メモリアクセス状態であることを示す遷移結果データ“Ｔ０”を出力する。また、認証ＩＣタグ１００が認証処理状態である場合、出力データ制御部１０９は、認証処理状態であることを示す遷移結果データ“Ｔ１”を出力する。
【００９５】
アクセス要求コマンドは、メモリアクセス処理を要求するコマンドである。例えば、コマンド識別部１０２は、受信データに識別コード“Ｍ０”が含まれている場合に、受信データに含まれるコマンドがアクセス要求コマンドであると判定する。そして、コマンド識別部１０２は、アクセス要求コマンドを取得したことをメモリアクセス制御部１０７に通知する。
【００９６】
例えば、アクセス要求コマンドが書き込み要求である場合、メモリアクセス制御部１０７は、受信データに含まれるメモリアドレス“ＡＤ”及び書き込みデータ“ＷＴ”を取得する。そして、メモリアクセス制御部１０７は、取得したメモリアドレス“ＡＤ”が示すメモリ部１０４内の領域に、書き込みデータ“ＷＴ”を書き込む。
【００９７】
また、アクセス要求コマンドが読み出し要求である場合、メモリアクセス制御部１０７は、受信データに含まれるメモリアドレス“ＡＤ”を取得し、取得したメモリアドレス“ＡＤ”が示すメモリ部１０４内の領域に格納されているデータを読み出す。そして、メモリアクセス制御部１０７は、読み出したデータを、記憶データ読み出し信号（メモリデータ“Ｎ０”）として出力データ制御部１０９に出力する。出力データ制御部１０９は、通信部１０１を介して、メモリデータ“Ｎ０”を出力する。
【００９８】
状態確認要求コマンドは、認証ＩＣタグ１００の現在の状態を確認するためのコマンドである。例えば、コマンド識別部１０２は、受信データに識別コード“ＳＴ０”が含まれている場合に、受信データに含まれるコマンドが状態確認要求コマンドであると判定する。そして、コマンド識別部１０２は、状態確認要求コマンドを取得したことを処理状態遷移制御部１０８に通知する。
【００９９】
処理状態遷移制御部１０８は、認証ＩＣタグ１００の現在の状態を示す信号を出力データ制御部１０９に出力する。そして、出力データ制御部１０９は、認証ＩＣタグ１００の現在の状態を示す状態通知データを、通信部１０１を介して出力する。例えば、認証ＩＣタグ１００がメモリアクセス状態である場合、出力データ制御部１０９は、メモリアクセス状態であることを示す状態通知データ“Ｔ０”を出力する。また、認証ＩＣタグ１００が認証処理状態である場合、出力データ制御部１０９は、認証処理状態であることを示す状態通知データ“Ｔ１”を出力する。
【０１００】
続いて、本発明の実施の形態１に係るコマンドフォーマットの一例について説明する。図４は、本発明の実施の形態１に係るコマンドフォーマットの一例を示す図である。
【０１０１】
図４に示すように、コマンドは、識別コードと処理対象データとを含んでいる。なお、図４は、識別コード“Ａ０”、すなわち、認証要求コマンドの一例を示している。認証ＩＣタグ１００は、識別コード“Ａ０”に続いて、暗号文データ“Ｘ０”を受信する。
【０１０２】
なお、暗号文データ“Ｘ０”は、例えば、ＮＴＲＵ暗号方式によって、秘匿に送信すべき対象である平文データが暗号化されたデータである。ＮＴＲＵ暗号方式については、例えば、特許文献３（特開２００３−１９５７５５号公報）に開示されている。ＮＴＲＵ暗号方式で暗号化された暗号文データは、暗号強度を確保するために４０００ビット程度のビット長で用いられるのが一般的である。
【０１０３】
なお、公開鍵暗号方式には、ＮＴＲＵの他にＲＳＡ及びＥＣＣといった方式があるので、これらの暗号方式を用いてもよい。
【０１０４】
続いて、本発明の実施の形態１に係る認証ＩＣタグ１００の動作の一例について説明する。図５は、本発明の実施の形態１に係る認証ＩＣタグ１００の動作の一例を示すフローチャートである。なお、図５は、認証ＩＣタグ１００は、初期状態が認証処理状態である場合の例について示している。
【０１０５】
まず、認証ＩＣタグ１００は、認証要求コマンドの受信待ち状態にある（Ｓ１０１）。すなわち、認証ＩＣタグ１００は、認証要求コマンドの識別コードを受信するまで、何もせず待機している。受信待ち状態にある場合に通信部１０１が識別コードを含むデータを取得した場合、コマンド識別部１０２は、識別コードを解析することで、認証ＩＣタグ１００に要求されている処理を判定する。これにより、認証ＩＣタグ１００は、暗号文取得状態となる。
【０１０６】
なお、この待機期間に、例えば、アクセス要求コマンドを受信したとしても、認証ＩＣタグ１００は、メモリアクセス処理を実行しない。また、待機期間に、例えば、遷移要求コマンドを受信した場合、認証ＩＣタグ１００は、状態遷移処理を行ってもよい（Ｓ１０７以降の処理）。あるいは、認証処理が完了していないので、遷移要求コマンドを受信したとしても、認証ＩＣタグ１００は、状態遷移を禁止してもよい。
【０１０７】
認証要求コマンドの識別コードを取得した場合、通信部１０１は、暗号文データの受信を行う（Ｓ１０２）。なお、外部のホストアクセス装置２００は、接触又は非接触のインターフェイスに関わらず、規定のビット単位でデータを送受信する。言い換えると、通信部１０１は、ホストアクセス装置２００から、公開鍵を用いて暗号化された暗号文データを所定の通信単位で取得する。例えば、調歩同期式などの通信方式で通信する場合、１回の通信で送信可能なデータは８ビットとなる。
【０１０８】
このように、認証ＩＣタグ１００の通信部１０１は、Ｎビット単位で認証要求コマンドを受信する。認証に必要な暗号文は、例えば、４０００ビット程度のビット長であるため、認証ＩＣタグ１００は、複数回に分けて暗号文データを受け取る。具体的には、８ビット単位での通信である場合は、暗号文データの送受信だけで、５００回の通信を実施する。
【０１０９】
認証ＩＣタグ１００は、全ての暗号文データの受信が完了するまで（Ｓ１０３でＮｏ）、認証要求コマンドの分割された暗号文データの受信を繰り返す。具体的には、４０００ビットの暗号文データを全て取得するまで、分割された暗号文データの受信を繰り返す。例えば、通信部１０１は、暗号文取得状態から、分割された暗号文データを８ビット単位で受け取ると、分割された暗号文データを内部の記憶領域に保持するとともに、受け取り回数をカウントする。そして、通信部１０１は、必要なビット数を受け取るまでのカウント数まで、分割された暗号文データを取得し続ける。
【０１１０】
認証処理に必要な暗号文データを受け取った後、認証処理部１０６は、受け取った暗号文データに対する認証処理を実施する（Ｓ１０４）。具体的には、認証処理部１０６は、公開鍵に対応する秘密鍵を用いて暗号文データを復号することで、復号文データを生成する。
【０１１１】
そして、認証処理が完了した後（Ｓ１０５）、具体的には、復号文データの生成が完了した後、出力データ制御部１０９は、通信部１０１を介して、復号文データを認証結果としてホストアクセス装置２００に通知する（Ｓ１０６）。ここで、ホストアクセス装置２００は、例えば、認証ＩＣタグ１００から送信された復号文データと、自装置が保持している平文データとを比較することで、認証が成功したか否かを判定する。そして、認証が成功していると判定した場合に、遷移要求コマンドを認証ＩＣタグ１００に送信する。なお、ホストアクセス装置２００の詳細な動作については、後で説明する。
【０１１２】
通信部１０１は、遷移要求コマンドを受信する（Ｓ１０７）。具体的には、コマンド識別部１０２が、受信されたコマンドの識別コードを解析し、コマンドが遷移要求コマンドであることを確認する。そして、処理状態遷移制御部１０８は、遷移判定コードが認証処理状態からメモリアクセス状態への遷移を許可するコードに一致しているか否かを判定する（Ｓ１０８）。
【０１１３】
遷移判定コードが認証処理状態からメモリアクセス状態への遷移を許可するコードに一致しない場合（Ｓ１０８でＮｏ）、処理状態遷移制御部１０８は、状態遷移を行わない。すなわち、認証ＩＣタグ１００は、認証処理状態を維持、つまり、認証要求コマンドの受信待ち状態を維持する。
【０１１４】
遷移判定コードが認証処理状態からメモリアクセス状態への遷移を許可するコードに一致する場合（Ｓ１０８でＹｅｓ）、処理状態遷移制御部１０８は、認証ＩＣタグ１００の状態遷移を行う（Ｓ１０９）。具体的には、処理状態遷移制御部１０８は、認証ＩＣタグ１００を認証処理状態からメモリアクセス状態へ遷移させる。
【０１１５】
処理状態の遷移が完了した後（Ｓ１１０）、出力データ制御部１０９は、通信部１０１を介して、状態遷移の結果を示すデータをホストアクセス装置２００へ通知する（Ｓ１１１）。状態遷移が完了したので、認証ＩＣタグ１００は、アクセス要求コマンドの受信待ち状態にある（Ｓ１１２）。ここで、ホストアクセス装置２００は、認証ＩＣタグ１００の状態がメモリアクセス状態に遷移したことを確認し、アクセス要求コマンドを送信する。
【０１１６】
通信部１０１が受信したコマンドがアクセス要求コマンドである場合（Ｓ１１３でＮｏ）、通信部１０１は、受信データに含まれるメモリアドレス（及び、書き込みデータ）をメモリアクセス制御部１０７に出力する。そして、メモリアクセス制御部１０７は、メモリアドレスが示すメモリ部１０４の領域からデータを読み出す、又は、当該領域にデータを書き込む（Ｓ１１４）。
【０１１７】
認証ＩＣタグ１００がメモリアクセス状態である場合に、通信部１０１が遷移要求コマンドを受信した場合（Ｓ１１３でＹｅｓ）、処理状態遷移制御部１０８は、遷移判定コードの判定（Ｓ１０８）を行い、状態遷移処理を行う。
【０１１８】
以上のように、本発明の実施の形態１に係る認証ＩＣタグ１００は、遷移要求コマンドを受信した場合のみ、認証処理状態からメモリアクセス状態への状態遷移、又は、メモリアクセス状態から認証処理状態への状態遷移を行う。
【０１１９】
なお、図５では、認証ＩＣタグ１００の初期状態が認証処理状態である場合について説明したが、認証ＩＣタグ１００の初期状態がメモリアクセス状態である場合についても同様である。具体的には、図５におけるアクセス要求コマンドの受信待ち状態である場合（Ｓ１１２）から処理が開始される。
【０１２０】
次に、本発明の実施の形態１に係る認証ＩＣタグ１００とホストアクセス装置２００とを備える認証システム、及び、ホストアクセス装置２００の詳細について説明する。
【０１２１】
図６は、本発明の実施の形態１に係る認証システムの一例である電子機器３００の構成の一例を示すブロック図である。
【０１２２】
電子機器３００は、本体基板３０１と、アクセサリ機器３０２とを備える。電子機器３００は、例えば、携帯電話機又はデジタルカメラと電池パック、又は、ゲーム本体とコントローラといった機器であり、電池パック及びコントローラなどがアクセサリ機器３０２に相当する。本発明の実施の形態１に係る認証システムは、本体機器とアクセサリ機器と間での模造品又は不良品などを判別し、安全性の確保することを目的として使用される。
【０１２３】
本体基板３０１は、アクセサリ機器３０２に認証アクセスを行うホストアクセス装置２００と電器製品としての動作を行うための機器（図示せず）とを備えている。本体基板３０１は、例えば、携帯電話機、デジタルカメラ、又は、ゲーム本体として機能する処理部などを備える基板である。
【０１２４】
アクセサリ機器３０２は、認証ＩＣタグ１００を備える。例えば、アクセサリ機器３０２は、電池又はコントローラなどである。また、図６に示すように、認証ＩＣタグ１００とホストアクセス装置２００とは、２本の信号線３０３及び３０４で接続されている。
【０１２５】
信号線３０３は、認証ＩＣタグ１００がホストアクセス装置２００から取得する受信データを伝送するための信号線である。また、信号線３０４は、認証ＩＣタグ１００がホストアクセス装置２００へ送信する送信データを伝送するための信号線である。
【０１２６】
ホストアクセス装置２００は、図６に示すように、ＣＰＵ２０１と、鍵記憶部２０２と、暗号処理部２０３と、通信部２０４と、認証取得部２０５と、認証結果比較部２０６とを備えている。ホストアクセス装置２００は、公開鍵暗号方式を用いて認証ＩＣタグ１００を認証するための認証処理を行う。
【０１２７】
ＣＰＵ２０１は、ホストアクセス装置２００の処理を制御する制御部であり、認証ＩＣタグ１００へ要求する命令を発行する。例えば、ＣＰＵ２０１は、認証ＩＣタグ１００の状態を遷移させるための命令を発行する。具体的には、ＣＰＵ２０１は、認証ＩＣタグ１００の状態を、認証処理状態とメモリアクセス処理状態との間で遷移させるための命令を発行する。
【０１２８】
また、ＣＰＵ２０１は、認証ＩＣタグ１００に認証処理を要求する認証命令を発行する。具体的には、ＣＰＵ２０１は、暗号処理部２０３に対して暗号文データの生成を指示する命令を発行する。また、ＣＰＵ２０１は、通信部２０４を介して、認証ＩＣタグ１００に対するメモリアクセス命令を発行する。
【０１２９】
鍵記憶部２０２は、平文データの暗号に用いる公開鍵（暗号鍵）を記憶しているメモリである。本実施の形態では、鍵記憶部２０２は、公開鍵を格納している。ＮＴＲＵ暗号方式では、４０００ビット程度の鍵長となる。また、ＲＳＡ又はＥＣＣといった暗号方式の場合は、２００ビット程度であってもよい。
【０１３０】
鍵記憶部２０２は、ＣＰＵ２０１の命令を受け、暗号処理部２０３に暗号鍵を出力する。なお、暗号鍵は、ＣＰＵ２０１によって書き換えることができてもよい。
【０１３１】
暗号処理部２０３は、ＣＰＵ２０１からの命令によって、鍵記憶部２０２に格納されている鍵データを用いて平文データを暗号化することで、暗号文データを生成する。生成された暗号文データは、通信部２０４を介して、アクセサリ機器３０２に送信される。そして、認証ＩＣタグ１００は、暗号文データをＩＣタグ受信データとして受け取る。
【０１３２】
具体的には、暗号処理部２０３は、公開鍵暗号方式であるＮＴＲＵ暗号処理を行う。暗号処理部２０３は、ＣＰＵ２０１からの命令を受け、鍵記憶部２０２に格納されている暗号鍵を用いて、ＮＴＲＵ暗号方式に基づいて平文データを暗号化することで、暗号文データを生成する。
【０１３３】
なお、平文データは、秘匿に送信すべき対象のデータであり、例えば、ＣＰＵ２０１内のメモリに格納されている。あるいは、平文データは、別途専用の記憶領域に格納されていてもよい。
【０１３４】
通信部２０４は、本体基板３０１とアクセサリ機器３０２とを電気的に接続するインターフェイスである。例えば、通信部２０４は、電極、コネクタ又は端子台などでよく、あるいは、ランド又はパッドなどの配線パターンでもよい。
【０１３５】
通信部２０４が行う通信方式としては、ＳＭＢｕｓ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｂｕｓ）（登録商標）などの同期式通信インターフェイス回路、調歩同期式の通信インターフェイス回路などの種々の通信インターフェイス回路を用いることができる。
【０１３６】
通信部２０４は、ＣＰＵ２０１によって発行された命令に対応するコマンドを認証ＩＣタグ１００に送信する。例えば、通信部２０４は、ＣＰＵ２０１によって認証命令が発行された場合に、認証命令に対応するコマンド（認証要求コマンド）を識別するための識別コードと、暗号文データとを含む認証要求コマンドを、認証ＩＣタグ１００に送信する。また、通信部２０４は、メモリアクセス命令が発行された場合に、メモリアクセス命令に対応するコマンド（アクセス要求コマンド）を識別するための識別コードを含むアクセス要求コマンドを、認証ＩＣタグ１００に送信する。
【０１３７】
なお、認証ＩＣタグ１００は、少なくとも認証処理部１０６とメモリ部１０４とを備え、ホストアクセス装置２００から送信される暗号文データを復号し、ＩＣタグ送信データとして、信号線３０４を介してホストアクセス装置２００に返信する。また、ホストアクセス装置２００からの送信データがメモリ部１０４への書き込みアクセスである場合は、認証ＩＣタグ１００は、メモリ部１０４に記憶するデータを送信してもよい。あるいは、ホストアクセス装置２００からの送信データがメモリ部１０４への読み出しアクセスである場合は、認証ＩＣタグ１００は、メモリ部１０４に記憶されているデータを、ＩＣタグ送信データとして送信してもよい。
【０１３８】
認証取得部２０５は、認証ＩＣタグ１００から送信された復号文データ（平文データ）を、通信部２０４を介して受け取り、内部のメモリなどに格納する。
【０１３９】
認証結果比較部２０６は、ＣＰＵ２０１からの命令を受けて、認証取得部２０５に格納された復号文データと、暗号処理部２０３で暗号処理される前の平文データとが一致するか否かを判定する。例えば、認証結果比較部２０６は、内部に論理積演算を行う論理演算子を備える。そして、認証結果比較部２０６は、論理演算子により各１ビット単位での比較を行い、全ての比較値が１であれば、全ビット一致となるため、平文データと復号文データとが一致したと判定する。
【０１４０】
一致の可否は、ＣＰＵ２０１に送信される。ＣＰＵ２０１は、平文データと復号文データとが一致していれば、認証は問題ないと判断し、アクセサリ機器３０２は正規品であると判断する。また、平文データと復号文データとが一致しなければ、ＣＰＵ２０１は、認証処理は問題あり（失敗）と判断し、アクセサリ機器３０２が非正規品又は模造品であると判断する。
【０１４１】
続いて、本発明の実施の形態１に係る認証システムの動作について説明する。
【０１４２】
図７Ａは、本発明の実施の形態１に係る認証システムの動作の一例を示すシーケンス図である。図６で示される認証システムにおいて、本体基板３０１側のホストアクセス装置２００よりアクセサリ機器３０２側の認証ＩＣタグ１００に、コマンドを発行することで所望の動作を実現する。なお、認証ＩＣタグ１００は、初期状態が認証処理状態であって、メモリアクセス処理は禁止されているものとする。
【０１４３】
例えば、ホストアクセス装置２００は、アクセサリ機器３０２が模造品でないかを検出するために、認証アクセスを実施する（Ｓ２０１）。ホストアクセス装置２００は、認証アクセスとして、コマンド識別子と暗号文データとを含む認証要求コマンドを生成する。そして、ホストアクセス装置２００は、コマンド識別子（例えば、“１１１１”のビット列）と暗号文データ（公開鍵暗号方式で４０００ビット程度。例えば、“１２３４＿５６ｂｃ＿４ｆｂｃ＿ＡＢＣＤ＿・・・・＿ＡＡＡＡ”）とを認証ＩＣタグ１００に送信する（Ｓ２０２）。
【０１４４】
認証要求コマンドを受信した認証ＩＣタグ１００は、暗号文データと内部で保持している秘密鍵とを用いて認証処理を実施する（Ｓ２０３）。認証ＩＣタグ１００は、認証処理の結果を表す認証結果データを生成し（Ｓ２０４）、ホストアクセス装置２００に返信する（Ｓ２０５）。
【０１４５】
認証結果データは、例えば、ホストアクセス装置２００が認証ＩＣタグ１００からの認証結果であると判別するためのコマンド識別子（例えば、“２２２２”）を含んでいる。また、認証結果データは、暗号文データを復号することで生成された復号文データ（例えば、“ＡＢＣＤ・・・ＡＡＡＡ”）も含んでいる。
【０１４６】
ホストアクセス装置２００は、認証結果データを受け取り、認証が成功したか否かを判定する（Ｓ２０６）。例えば、ホストアクセス装置２００は、認証ＩＣタグ１００から送信された復号文データと、自装置が記憶している平文データとが一致するか否かを判定する。復号文データと平文データとが一致した場合、ホストアクセス装置２００は、認証処理が成功したと判定する。復号文データと平文データとが一致しない場合、ホストアクセス装置２００は、認証処理が失敗したと判定する。
【０１４７】
認証処理が成功した場合は（Ｓ２０６でＯＫ）、ホストアクセス装置２００は、認証ＩＣタグ１００を正規品であると判断し、詳細な製品情報、例えば、品番、使用頻度などが記憶されたメモリ部１０４へのアクセスを行う処理への準備を行う（Ｓ２０７）。
【０１４８】
認証処理が失敗した場合は（Ｓ２０６でＮＧ）、ホストアクセス装置２００は、認証ＩＣタグ１００を非正規品又は模造品と判断し、該当のアクセサリ機器３０２を使用できなくする（Ｓ２０８）。
【０１４９】
ホストアクセス装置２００がメモリアクセス処理を行うためには、認証ＩＣタグ１００の処理状態を認証処理状態からメモリアクセス処理状態に切り替える必要がある。なぜなら、認証ＩＣタグ１００は、認証処理が成功しただけでは、処理状態は遷移せず、認証処理状態のままであり、メモリアクセス処理は禁止されているためである。
【０１５０】
ホストアクセス装置２００は、認証ＩＣタグ１００の処理状態を切り替えるため、遷移要求コマンドを生成する（Ｓ２０７）。遷移要求コマンドは、コマンド識別子（例えば、“３３３３”）と遷移判定コードとを含んでいる。ホストアクセス装置２００は、生成した遷移要求コマンドを認証ＩＣタグ１００に送信する（Ｓ２０９）。
【０１５１】
認証ＩＣタグ１００は、コマンド識別子を解析することで、ホストアクセス装置２００から送信されたコマンドが、遷移要求コマンドであることを確認し、状態遷移処理を実行する（Ｓ２１０）。そして、認証ＩＣタグ１００は、遷移要求コマンドに含まれる遷移判定コードを解析することで、状態遷移の許可又は不許可を判定する（Ｓ２１１）。
【０１５２】
遷移判定コードが不一致であった場合（Ｓ２１１でＮＧ）、認証ＩＣタグ１００は、状態遷移を不許可と判断し、認証処理状態を維持する（Ｓ２１２）。遷移判定コードが一致であった場合は（Ｓ２１１でＯＫ）、認証ＩＣタグ１００は、処理状態遷移を許可と判断し、認証処理状態からメモリアクセス状態へと遷移する（Ｓ２１３）。
【０１５３】
そして、認証ＩＣタグ１００は、状態遷移の許可又は不許可に関わらず、遷移結果データをホストアクセス装置２００に返信する（Ｓ２１４）。例えば、遷移結果データは、現在の処理状態を示す値であり、メモリアクセス状態であれば“Ｔ０”を返信し、認証処理状態であれば“Ｔ１”を返信する（図２参照）。例えば、認証ＩＣタグ１００は、認証処理状態から、遷移不許可で認証処理状態に回帰した場合は、“Ｔ１”を返信する。
【０１５４】
ホストアクセス装置２００は、認証ＩＣタグ１００からの状態遷移結果データを受け取り、認証ＩＣタグ１００がメモリアクセス状態であることを確認する。そして、ホストアクセス装置２００は、アクセス要求コマンドを生成する（Ｓ２１５）。アクセス要求コマンドは、コマンド識別子（例えば、“ＡＢＣＤ”）と、メモリアドレスと、Ｒｅａｄ／Ｗｒｉｔｅ属性信号（読み書き判定データ）と、書き込みデータとを含んでいる。なお、書き込みデータは、読み出し要求である場合は、アクセス要求コマンドに含まれない。
【０１５５】
次に、ホストアクセス装置２００は、生成したアクセス要求コマンドを送信する（Ｓ２１６）。認証ＩＣタグ１００は、アクセス要求コマンドを受け取り、メモリアクセス処理を実行する（Ｓ２１７）。
【０１５６】
アクセス要求コマンドがＷｒｉｔｅ属性の場合、すなわち、メモリ部１０４への書き込みを要求するコマンドである場合、認証ＩＣタグ１００は、該当のメモリアドレスが示す領域に、送信した書き込みデータを書き込む。また、アクセス要求コマンドがＲｅａｄ属性の場合、すなわち、メモリ部１０４への読み出しを要求するコマンドである場合、認証ＩＣタグ１００は、該当のメモリアドレスが示す領域から、データを読み出す。
【０１５７】
そして、認証ＩＣタグ１００は、ホストアクセス装置２００に、書き込み完了結果、又は、読み出したデータを返信する（Ｓ２１８、Ｓ２１９）。
【０１５８】
なお、メモリアクセス状態から認証処理状態への処理切り替えも同様の手順で実施される。
【０１５９】
ここで、図７Ｂを用いて、状態遷移を不許可にすることにより、認証処理を連続して行う例について説明する。図７Ｂは、本発明の実施の形態１に係る認証システムの動作の一例を示すシーケンス図である。図６で示される認証システムにおいて、本体基板３０１側のホストアクセス装置２００よりアクセサリ機器３０２側の認証ＩＣタグ１００に、コマンドを発行することで所望の動作を実現する。なお、認証ＩＣタグ１００は、初期状態が認証処理状態であって、メモリアクセス処理は禁止されているものとする。また、以下では、図７Ａと同じ処理には同じ参照符号を付し、以下では、説明を省略する。
【０１６０】
ホストアクセス装置２００は、アクセサリ機器３０２が模造品でないかを検出するために、認証アクセスを実施する（Ｓ２０１〜Ｓ２０６）。認証処理が成功した場合は（Ｓ２０６でＯＫ）、ホストアクセス装置２００は、通常、図７Ａに示すように、認証ＩＣタグ１００を正規品であると判断し、詳細な製品情報、例えば、品番、使用頻度などが記憶されたメモリ部１０４へのアクセスを行う処理への準備を行う（Ｓ２０７）。
【０１６１】
このとき、ホストアクセス装置２００が、連続して認証処理を試みる場合が存在する。例えば、ホストアクセス装置２００は、１回目の認証処理の後にメモリアクセス処理を行わなかった場合に、再度、メモリアクセス処理を行う前に認証処理を行う場合などである。
【０１６２】
このとき、図７Ｂに示すように、ホストアクセス装置２００は、認証ＩＣタグ１００の処理状態を切り替えるため、遷移要求コマンドを生成する（Ｓ２０７ａ）。遷移要求コマンドは、コマンド識別子（例えば、“３３３３”）と偽の遷移判定コードとを含んでいる。ホストアクセス装置２００は、生成した遷移要求コマンドを認証ＩＣタグ１００に送信する（Ｓ２０９ａ）。
【０１６３】
認証ＩＣタグ１００は、コマンド識別子を解析することで、ホストアクセス装置２００から送信されたコマンドが、遷移要求コマンドであることを確認し、状態遷移処理を実行する（Ｓ２１０ａ）。そして、認証ＩＣタグ１００は、遷移要求コマンドに含まれる遷移判定コードを解析することで、状態遷移の許可又は不許可を判定する（Ｓ２１１ａ）。
【０１６４】
図７Ｂの例では、上述したように、ホストアクセス装置２００は、認証ＩＣタグ１００を認証状態にするために、偽の遷移判定コードを送信する。認証ＩＣタグ１００は、偽の遷移判定コードを受信するので、状態遷移は不許可であると判断し、再度、認証処理状態へ回帰する。
【０１６５】
そして、認証ＩＣタグ１００は、遷移処理は不許可であり、元の状態（具体的には、認証処理状態）に回帰したことを示す遷移結果データをホストアクセス装置２００に送信する（Ｓ２１４ａ）。具体的には、認証ＩＣタグ１００は、認証処理状態を示す“Ｔ１”を返信する。
【０１６６】
ホストアクセス装置２００は、認証ＩＣタグ１００から返信された遷移結果データが“Ｔ１”であることを検出すると、認証ＩＣタグ１００が認証処理状態であることを認識し、再度、認証アクセスを実施する（Ｓ２０１ａ）。
【０１６７】
例えば、ホストアクセス装置２００は、認証アクセスとして、コマンド識別子と暗号文データとを含む認証要求コマンドを生成する。そして、ホストアクセス装置２００は、コマンド識別子（例えば、“１１１１”のビット列）と暗号文データ（公開鍵暗号方式で４０００ビット程度。例えば、“１２３４＿５６ｂｃ＿４ｆｂｃ＿ＡＢＣＤ＿・・・・＿ＡＡＡＡ”）とを認証ＩＣタグ１００に送信する（Ｓ２０２ａ）。このとき、１度目の暗号文データと２度目の暗号文データとは、同じものである必要はない。
【０１６８】
認証要求コマンドを受信した認証ＩＣタグ１００は、暗号文データと内部で保持している秘密鍵とを用いて認証処理を実施する（Ｓ２０３ａ）。認証ＩＣタグ１００は、認証処理の結果を表す認証結果データを生成し（Ｓ２０４ａ）、ホストアクセス装置２００に返信する（Ｓ２０５ａ）。
【０１６９】
これにより、認証処理を連続して実現することを可能とする。
【０１７０】
なお、図７Ｂの例では、ホストアクセス装置２００は、偽の遷移判定コードを送信したが、認証処理状態に遷移させるための遷移判定コードを送信してもよい。また、ホストアクセス装置２００は、遷移判定コードを送信しなくてもよい。認証ＩＣタグ１００では、遷移判定コードが受信されないので、状態遷移は不許可であると判断することができる。
【０１７１】
ここで、従来の認証ＩＣタグが誤動作を起こす例について説明する。図８は、従来の認証ＩＣタグが誤動作を起こす場合の認証システムの動作の一例を示すシーケンス図である。
【０１７２】
例えば、ホストアクセス装置が認証アクセスを行う際に、認証ＩＣタグがコマンド識別子“１１１１”を通信エラーによって取りこぼしてしまうことが考えられる。このとき、ホストアクセス装置は、認証ＩＣタグの通信エラーを検知することはできないため、継続して暗号文データを送信し続ける。
【０１７３】
暗号文データに、アクセス要求コマンドの識別子である“ＡＢＣＤ”が含まれる場合、認証ＩＣタグは、暗号文データを順次受信する中で、メモリアクセスのコマンド識別子である“ＡＢＣＤ”を暗号文データ中から誤検出する。
【０１７４】
誤検出した認証ＩＣタグは、アクセス要求コマンドが送信されたと判断し、メモリアクセス処理を実施し、メモリデータをホストアクセス装置に返信する。
【０１７５】
また、メモリアクセス処理が実施されずに、メモリデータの読み出しが行われない場合であっても、認証ＩＣタグは、メモリアクセス要求を受け付けたと誤認しているので、メモリアクセス処理が失敗したことを示すアクセス不許可命令をホストアクセス装置に返信する。このため、誤動作は、必ず発生する。
【０１７６】
これに対して、本発明の実施の形態１に係る認証システムでは、認証ＩＣタグ１００は、認証処理状態である場合には、たとえ認証コマンド識別子を取りこぼし、暗号文データ中の“ＡＢＣＤ”をアクセス要求のコマンド識別子であると判定した場合であっても、メモリアクセス処理は実行されない。また、認証ＩＣタグ１００は、アクセス要求コマンドを受信したと誤認しないので、メモリアクセス処理が失敗したことを示すアクセス不許可命令も返信しない。
【０１７７】
このようにして、本発明の実施の形態１に係る認証ＩＣタグ１００は、誤動作を防止することができる。特に、公開鍵暗号方式を用いた場合には、暗号文データが長くなるので、暗号文データの中にコマンド識別子と一致するコードが含まれる可能性が高く、誤動作を起こす可能性も高くなる。したがって、公開鍵暗号方式を利用する認証システムでは、本発明に係る認証ＩＣタグ１００は、格別な効果を奏する。
【０１７８】
続いて、本発明の実施の形態１に係る認証システムの動作の一例について説明する。図９Ａ〜図９Ｄは、本発明の実施の形態１に係る認証システムの状態遷移の一例を示すフローチャートである。
【０１７９】
本発明の実施の形態１に係る認証ＩＣタグ１００は、電源起動後、又は、リセット解除後の初期状態において、コマンド受付可能状態となる。起動時のコマンド受付状態は、認証処理状態、又は、メモリアクセス状態のいずれかとなるが、いずれの状態から起動されるかは、認証ＩＣタグ１００の起動方法によって、切り替えることができる。
【０１８０】
図９Ａは、初期状態として、認証ＩＣタグ１００が認証要求コマンド受付状態、すなわち、認証処理状態にある場合を示すフローチャートである。以下では、図９Ａを用いて、外部のホストアクセス装置２００が認証ＩＣタグ１００にアクセスする場合の手順を説明する。
【０１８１】
認証処理状態（Ｓ３００）では、認証ＩＣタグ１００は、認証要求コマンドのみを受け付ける。認証要求コマンド以外のコマンドは、通信エラーなどで誤検出した場合であっても、受け付けない。なお、コマンドを受け付けるとは、取得したコマンドに従った処理を行うことである。つまり、認証処理状態である認証ＩＣタグ１００は、認証要求コマンドを受信した場合に、認証処理を行うことはできるが、他のコマンドを受信した場合であっても、メモリアクセス処理又は状態遷移処理を行うことはできない。
【０１８２】
ホストアクセス装置２００は、識別コードと暗号文データとを含む認証要求コマンドを発行し、認証ＩＣタグ１００に送信する。認証ＩＣタグ１００は、暗号文データの全てを取得して、認証処理を実施し、認証結果をホストアクセス装置２００に送信する（Ｓ３０１）。具体的には、認証ＩＣタグ１００は、暗号文データを復号することで、復号文データを生成し、生成した復号文データをホストアクセス装置２００に送信する。そして、ホストアクセス装置２００は、平文データと受信した復号文データとが一致するか否かを判定することで、認証処理が成功したか否かを判定する。
【０１８３】
認証処理が成功すると（Ｓ３０１でＹｅｓ）、認証ＩＣタグ１００は、遷移要求コマンド受付状態（遷移処理状態とも記載する）となる（Ｓ３０２）。遷移要求コマンド受付状態では、認証ＩＣタグ１００は、遷移要求コマンド又は処理状態確認コマンド（図２参照）を受け付ける。これら以外のコマンドは、通信エラーなどで誤検出した場合であっても、受け付けない。
【０１８４】
ホストアクセス装置２００は、識別コードと遷移判定コードとを含む遷移要求コマンドを発行し、認証ＩＣタグ１００に送信する。認証ＩＣタグ１００は、遷移判定コードを全て取得して、遷移判定コードが有効であるか否かを判定する。そして、認証ＩＣタグ１００は、遷移判定コードが有効であった場合に、処理状態を切り替え、ホストアクセス装置２００に状態遷移結果データを送信する（Ｓ３０３）。なお、遷移判定コードが有効であるとは、認証ＩＣタグ１００が受信した遷移判定コードが、遷移処理の許可を示すコードに一致することを意味する。
【０１８５】
遷移判定コードが有効である場合（Ｓ３０３でＹｅｓ）、認証ＩＣタグ１００の処理状態が認証処理状態からメモリアクセス許可状態に切り替わる（Ｓ３０４）。メモリアクセス許可状態では、認証ＩＣタグ１００は、アクセス要求コマンドのみを受け付ける。アクセス要求コマンド以外のコマンドは、通信エラーなどで誤検出した場合であっても、受け付けない。
【０１８６】
ホストアクセス装置２００は、識別コードと、メモリアドレスと、読み書き判定データ（Ｒｅａｄ／Ｗｒｉｔｅ属性信号）と、書き込みデータ（書き込み要求の場合）とを含むアクセス要求コマンドを発行し、認証ＩＣタグ１００に送信する。認証ＩＣタグ１００は、読み書き判定データが書き込み属性である場合は、アクセス要求コマンドに含まれるメモリアドレスが示すメモリ部１０４の領域に、書き込みデータを書き込む（Ｓ３０５）。また、読み書き判定データが読み出し属性である場合には、アクセス要求コマンドに含まれるメモリアドレスが示すメモリ部１０４の領域から、データを読み出し、読み出したデータをホストアクセス装置２００に送信する（Ｓ３０５）。
【０１８７】
以上のように、本発明の実施の形態１に係る認証システムでは、認証ＩＣタグ１００は、認証処理状態（Ｓ３００）、遷移要求コマンド受付状態（Ｓ３０２）、メモリアクセス状態（Ｓ３０４）の順に遷移する。各状態では、対応するコマンドのみを受け付け、受け付けたコマンドの処理が完了した場合に、次の状態に遷移する。つまり、各状態では、対応する処理のみが許可されており、他の処理は禁止されているので、認証ＩＣタグ１００の誤動作が防止される。
【０１８８】
なお、遷移要求コマンド受付状態では、直前の処理状態である認証処理状態が受け付け可能なコマンドを受け付けてもよい。すなわち、遷移要求コマンド受付状態である認証ＩＣタグ１００が、認証要求コマンドを受け付けた場合、認証処理を実行してもよい。これにより、本発明の実施の形態１に係る認証システムは、連続して認証処理を行うことができる。
【０１８９】
続いて、認証ＩＣタグ１００の初期状態が、メモリアクセス状態である場合について説明する。
【０１９０】
図９Ｂは、初期状態として、認証ＩＣタグ１００がメモリアクセス状態にある場合を示すフローチャートである。以下では、図９Ｂを用いて、外部のホストアクセス装置２００が認証ＩＣタグ１００にアクセスする場合の手順を説明する。
【０１９１】
メモリアクセス状態（Ｓ３１０）では、認証ＩＣタグ１００は、アクセス要求コマンドのみを受け付ける。アクセス要求コマンド以外のコマンドは、通信エラーなどで誤検出した場合であっても、受け付けない。
【０１９２】
ホストアクセス装置２００は、識別コードと、メモリアドレスと、読み書き判定データ（Ｒｅａｄ／Ｗｒｉｔｅ属性信号）と、書き込みデータ（書き込み要求の場合）とを含むアクセス要求コマンドを発行し、認証ＩＣタグ１００に送信する。認証ＩＣタグ１００は、読み書き判定データが書き込み属性である場合は、アクセス要求コマンドに含まれるメモリアドレスが示すメモリ部１０４の領域に、書き込みデータを書き込む（Ｓ３１１）。また、読み書き判定データが読み出し属性である場合は、アクセス要求コマンドに含まれるメモリアドレスが示すメモリ部１０４の領域からデータを読み出し、読み出したデータをホストアクセス装置２００に送信する（Ｓ３１１）。
【０１９３】
メモリアクセス処理が完了すると（Ｓ３１１でＹｅｓ）、認証ＩＣタグ１００は、遷移要求コマンド受付状態となる（Ｓ３１２）。遷移要求コマンド受付状態では、認証ＩＣタグ１００は、遷移要求コマンド又は処理状態確認コマンド（図２参照）を受け付ける。これら以外のコマンドは、通信エラーなどで誤検出した場合であっても、受け付けない。
【０１９４】
ホストアクセス装置２００は、識別コードと遷移判定コードとを含む遷移要求コマンドを発行し、認証ＩＣタグ１００に送信する。認証ＩＣタグ１００は、遷移判定コードを全て取得して、遷移判定コードが有効であるか否かを判定する。そして、認証ＩＣタグ１００は、遷移判定コードが有効であった場合に、処理状態を切り替え、ホストアクセス装置２００に状態遷移結果データを送信する（Ｓ３１３）。なお、遷移判定コードが有効であるとは、認証ＩＣタグ１００が受信した遷移判定コードが、遷移処理の許可を示すコードに一致することを意味する。
【０１９５】
遷移判定コードが有効である場合（Ｓ３１３でＹｅｓ）、認証ＩＣタグ１００の処理状態がメモリアクセス状態から認証処理状態に切り替わる（Ｓ３１４）。認証処理状態では、認証ＩＣタグ１００は、認証要求コマンドのみを受け付ける。認証要求コマンド以外のコマンドは、通信エラーなどで誤検出した場合であっても、受け付けない。
【０１９６】
ホストアクセス装置２００は、識別コードと暗号文データとを含む認証要求コマンドを発行し、認証ＩＣタグ１００に送信する。認証ＩＣタグ１００は、暗号文データの全てを取得して、認証処理を実施し、認証結果をホストアクセス装置２００に送信する。具体的には、認証ＩＣタグ１００は、暗号文データを復号することで、復号文データを生成し、生成した復号文データをホストアクセス装置２００に送信する。そして、ホストアクセス装置２００は、平文データと受信した復号文データとが一致するか否かを判定することで、認証処理が成功したか否かを判定する（Ｓ３１５）。
【０１９７】
以上のように、本発明の実施の形態１に係る認証システムでは、認証ＩＣタグ１００は、メモリアクセス状態（Ｓ３１０）、遷移要求コマンド受付状態（Ｓ３１２）、認証処理状態（Ｓ３１４）の順に遷移することもできる。図９Ａの場合と同様に、各状態では、対応するコマンドのみを受け付け、受け付けたコマンドの処理が完了した場合に、次の処理に遷移する。つまり、各状態では、対応する処理のみが許可されており、他の処理は禁止されているので、認証ＩＣタグ１００の誤動作が防止される。
【０１９８】
なお、遷移要求コマンド受付状態では、直前の処理状態であるメモリアクセス状態が受け付け可能なコマンドを受け付けてもよい。すなわち、遷移要求コマンド受付状態である認証ＩＣタグ１００が、アクセス要求コマンドを受け付けた場合、メモリアクセス処理を実行してもよい。これにより、本発明の実施の形態１に係る認証システムは、連続してメモリアクセス処理を行うことができる。
【０１９９】
続いて、認証ＩＣタグ１００の初期状態が、認証処理状態である場合の別の例について説明する。
【０２００】
図９Ｃは、初期状態として、認証ＩＣタグ１００が認証要求コマンド受付状態、すなわち、認証処理状態にある場合の別の例を示すフローチャートである。以下では、図９Ｃを用いて、外部のホストアクセス装置２００が認証ＩＣタグ１００にアクセスする場合の手順の別の例を説明する。
【０２０１】
図９Ｃの例では、認証ＩＣタグ１００は、遷移処理が許可されなかった場合に、直前の処理状態に復帰する点が、図９Ａの例と異なっている。以下では、異なる点を中心に説明し、同じ点は説明を省略する。
【０２０２】
遷移要求コマンド受付状態である認証ＩＣタグ１００は、遷移要求コマンドを取得した場合に、遷移判定コードが有効であるか否かを判定する。遷移判定コードが有効でない場合、遷移処理は許可されないため（Ｓ４００でＮｏ）、認証ＩＣタグ１００の処理状態は、遷移要求コマンド受付状態の前の状態、具体的には、認証処理状態に戻る。
【０２０３】
なお、このとき、認証ＩＣタグ１００は、認証ＩＣタグ１００の現在の状態が認証処理状態であることを、ホストアクセス装置２００に送信することで、遷移処理が不許可であったことを通知する。つまり、認証ＩＣタグ１００は、遷移要求コマンドに対する返信データとして、現在の状態が認証処理状態及びメモリアクセス状態のいずれであるかのみを返信する。あるいは、認証ＩＣタグ１００は、不許可状態を示すデータを返信してもかまわない。
【０２０４】
これにより、ホストアクセス装置２００は、現行の処理を連続して行いたい場合は、処理状態の切り替えを不許可にすることにより実現される。なお、認証処理の結果が正しいか正しくないかと、状態遷移処理の許可又は不許可とには全く依存はない。つまり、認証処理は、処理状態切り替えが不許可であっても正しい認証結果を外部に返信する。
【０２０５】
また、ホストアクセス装置２００は、処理状態確認コマンドを発行し、処理状態遷移コマンド受付状態の認証ＩＣタグ１００に送信することで、処理状態を遷移せずに、現在の処理状態を確認することも可能である。
【０２０６】
例えば、認証ＩＣタグ１００の現在の処理状態が認証処理状態である場合、認証ＩＣタグ１００は、図２に示す返信データ“Ｔ１”を返信する。また、現在の処理状態がメモリアクセス状態である場合、認証ＩＣタグ１００は、図２に示す返信データ“Ｔ０”を返信する。これにより、外部のホストアクセス装置２００は、認証ＩＣタグ１００の処理状態を確認することができる。
【０２０７】
続いて、認証ＩＣタグ１００の初期状態が、メモリアクセス状態である場合の別の例について説明する。
【０２０８】
図９Ｄは、初期状態として、認証ＩＣタグ１００がアクセス要求コマンド受付状態、すなわち、メモリアクセス状態にある場合の別の例を示すフローチャートである。以下では、図９Ｄを用いて、外部のホストアクセス装置２００が認証ＩＣタグ１００にアクセスする場合の手順の別の例を説明する。
【０２０９】
図９Ｄの例では、認証ＩＣタグ１００は、遷移処理が許可されなかった場合に、直前の処理状態に復帰する点が、図９Ｂの例と異なっている。以下では、異なる点を中心に説明し、同じ点は説明を省略する。
【０２１０】
遷移要求コマンド受付状態である認証ＩＣタグ１００は、遷移要求コマンドを取得した場合に、遷移判定コードが有効であるか否かを判定する。遷移判定コードが有効でない場合、遷移処理は許可されないため（Ｓ４００でＮｏ）、認証ＩＣタグ１００の処理状態は、遷移要求コマンド受付状態の前の状態、具体的には、メモリアクセス状態に戻る。
【０２１１】
なお、このとき、認証ＩＣタグ１００は、認証ＩＣタグ１００の現在の状態がメモリアクセス状態であることを、ホストアクセス装置２００に送信することで、遷移処理が不許可であったことを通知する。つまり、認証ＩＣタグ１００は、遷移要求コマンドに対する返信データとして、現在の状態が認証処理状態及びメモリアクセス状態のいずれであるのかのみを返信する。あるいは、認証ＩＣタグ１００は、不許可状態を示すデータを返信してもかまわない。
【０２１２】
これにより、図９Ｃの場合と同様に、ホストアクセス装置２００は、現行の処理を連続して行いたい場合は、処理状態の切り替えを不許可にすることにより実現される。
【０２１３】
なお、認証ＩＣタグ１００は、遷移要求コマンド受付状態だけでなく、認証処理状態又はメモリアクセス状態の場合にも、処理状態確認コマンドを受け付けることができてもよい。これにより、ホストアクセス装置２００は、認証処理及びメモリアクセスのいずれかの処理を実行する前に、認証ＩＣタグ１００の現在の状態を確認することができる。
【０２１４】
ここで、本発明の実施の形態１に係る認証システムが実行する公開鍵暗号方式の一例について説明する。図１０は、本発明の実施の形態１に係る認証システムにおいてホストアクセス装置２００側での認証処理を説明するための図である。
【０２１５】
ホストアクセス装置２００では、暗号処理部２０３は、鍵記憶部２０２に格納された公開鍵を用いて平文データを暗号化することで、暗号文データを生成する。ホストアクセス装置２００は、通信部２０４を介して、生成した暗号文データを、認証処理を要求するコマンドの識別コードとともに、ＩＣタグ受信データとして認証ＩＣタグ１００に送信する。
【０２１６】
認証ＩＣタグ１００では、通信部１０１を介して、識別コードと暗号文データとを取得する。コマンド識別部１０２が識別コードを解析することで、認証要求であることを判別すると、認証処理部１０６は、秘密鍵を用いて暗号文データを復号することで、復号文データを生成する。認証ＩＣタグ１００は、通信部１０１を介して、生成した復号文データを、ＩＣタグ送信データとしてホストアクセス装置２００に返信する。
【０２１７】
なお、秘密鍵は、例えば、メモリ部１０４の外部からの読み出し及び書き込みが禁止されている領域に格納されている。あるいは、認証処理部１０６が、外部からの読み出し及び書き込みが禁止されたメモリを有し、当該メモリ内に秘密鍵を格納していてもよい。
【０２１８】
ホストアクセス装置２００では、通信部２０４を介して、認証取得部２０５が復号文データを取得する。そして、認証結果比較部２０６は、平文データと復号文データとを比較する。平文データと復号文データとが一致していた場合、ホストアクセス装置２００は、認証ＩＣタグ１００の認証が成功したと判定する。また、平文データと復号文データとが一致しなかった場合、ホストアクセス装置２００は、認証ＩＣタグ１００の認証が失敗したと判定する。
【０２１９】
以上のように、本発明の実施の形態１に係る認証システムは、認証ＩＣタグ１００とホストアクセス装置２００とを備え、ホストアクセス装置２００は、公開鍵暗号方式を用いて認証ＩＣタグ１００の認証を行う。認証ＩＣタグ１００は、認証処理状態とメモリアクセス状態とを有し、ホストアクセス装置２００から送信されるコマンドに応じて、認証処理状態とメモリアクセス状態との間で状態遷移を行う。認証処理状態の認証ＩＣタグ１００は、ホストアクセス装置２００からメモリ部１０４へのメモリアクセス処理が禁止され、認証処理は許可されている。
【０２２０】
これにより、処理状態の遷移を制御することによって、通信エラーなどにより、コマンド識別子を取りこぼすなどの問題が発生した際に、公開鍵で暗号化された暗号文データは非常に長いために、暗号文データ中にコマンド識別子を示すデータが存在していた場合であっても、誤動作を防止することができる。例えば、ホストアクセス装置２００からの意図しないメモリアクセスを防ぐことが可能となる。
【０２２１】
例えば、データ取りこぼしにより、遷移要求コマンドのコマンド識別子と暗号文データの一部とが一致した場合、コマンド識別子に続くデータが遷移判定コードとみなされるが、この遷移判定コードは通常有効ではないので、処理状態不許可となり、現行の処理をもう一度実行可能な状態となるので問題ない。具体的には、遷移判定コードのビット長を十分長くすることで、処理状態の切り替えを防ぐことが可能となる。
【０２２２】
このように、本発明の実施の形態１では、認証処理状態においてメモリアクセス処理が禁止されているため、認証処理状態に受け取ったデータの一部をコマンド識別子と誤検出した場合でも、メモリアクセス処理を防止することができ、認証ＩＣタグの誤動作を防止することができる。なお、特に、認証処理に公開鍵暗号方式を用いる場合は、暗号文データが長くなることが多いので、コマンド識別子の誤検出を起こす確率が高くなる。このため、本発明の実施の形態１による認証ＩＣタグの誤動作の防止という効果は、より格別な効果である。
【０２２３】
（実施の形態２）
本発明の実施の形態２に係るホストアクセス装置は、公開鍵を用いて平文データを暗号化することで、暗号文データを生成する暗号化部と、暗号文データを解析することで、コマンドを識別するための識別コードと一致するデータが、暗号文データに含まれているか否かを判定する解析部と、識別コードと一致するデータが暗号文データに含まれていると判定された場合に、識別コードを変更することで、変更後識別コードを生成する変更部とを備えることを特徴とする。
【０２２４】
図１１は、本発明の実施の形態２に係る認証システムの一例である電子機器４００の構成の一例を示すブロック図である。
【０２２５】
電子機器４００は、本体基板４０１と、アクセサリ機器４０２とを備える。電子機器４００は、実施の形態１に係る電子機器３００と同様に、例えば、携帯電話機又はデジタルカメラなどである。なお、以下では、実施の形態１と同じ構成については同じ参照符号を付して説明を省略し、異なる点を中心に説明する。
【０２２６】
本体基板４０１は、アクセサリ機器４０２に認証アクセスを行うホストアクセス装置５００と、電器製品としての動作を行うための機器（図示せず）とを備えている。アクセサリ機器４０２は、認証ＩＣタグ６００を備える。認証ＩＣタグ６００の構成の例については、後で説明する。
【０２２７】
ホストアクセス装置５００は、実施の形態１に係るホストアクセス装置２００と比較して、新たに、暗号文データ解読部５０７と、コマンド識別子変更部５０８とを備える点が異なっている。
【０２２８】
暗号文データ解読部５０７は、解析部の一例であり、暗号文データを解析することで、１つ以上のコマンドを識別するための識別コードと一致するデータが暗号文データに含まれているか否かを判定する。つまり、暗号文データ解読部５０７は、暗号処理部２０３によって暗号化された暗号文データを解読し、コマンド識別子と一致するデータが暗号文データに含まれているか否かを検知する。コマンド識別子と一致するデータが検知された場合、暗号文データ解読部５０７は、コマンド識別子と一致したデータを、コマンド識別子変更部５０８に送信する。ここで、識別コードは、例えば、図２に示すような認証処理、遷移処理、メモリアクセス処理及び処理状態確認を要求するためのコマンドのそれぞれに対応する識別子である。
【０２２９】
コマンド識別子変更部５０８は、識別コードと一致するデータが暗号文データに含まれていると判定された場合に、識別コードを変更することで、変更後識別コードを生成する。具体的には、コマンド識別子変更部５０８は、暗号文データ解読部５０７から受け取ったデータから、暗号文データの一部と一致しない新しいコマンド識別子を生成する。そして、コマンド識別子変更部５０８は、通信部２０４を介して、認証ＩＣタグ６００に送信する。
【０２３０】
例えば、暗号文データ解読部５０７は、認証要求コマンドのコマンド識別子が“１１１１”である場合に、暗号文データ中に“１１１１”というデータ列が存在していることを検出する。この場合に、コマンド識別子変更部５０８は、認証要求コマンドのコマンド識別子を“１１１１”から、例えば、“１２３４”に変更して、認証ＩＣタグ６００に送信する。
【０２３１】
暗号文データ解読部５０７（又は、ＣＰＵ２０１）は、例えば、識別子変更要求コマンドを生成して、認証ＩＣタグ６００に送信する。識別子変更要求コマンドは、識別コードの変更を要求するための識別コードと、変更前の識別コードと、変更後の識別コードとを含んでいる。あるいは、識別子変更要求コマンドは、変更前の識別コードの代わりに、変更前の識別コードを特定するための他の情報を含んでいてもよい。
【０２３２】
なお、ホストアクセス装置５００は、例えば、認証ＩＣタグ６００から識別子を変更したことを表す通知を受け取った後、ＣＰＵ２０１が、通信部２０４を介して、認証要求コマンドを認証ＩＣタグ６００に送信する。
【０２３３】
このように、本発明の実施の形態２に係るホストアクセス装置５００は、暗号文データの一部に一致しているコマンド識別子を、前もって認証ＩＣタグ６００に送信する。このため、認証ＩＣタグ６００が、仮に、認証処理コマンドの識別子を通信エラーなどにより取りこぼしたとしても、暗号文データには、認証ＩＣタグ６００が認識可能な識別子に一致するデータが含まれていないので、認証ＩＣタグ６００の誤動作を防止することができる。
【０２３４】
なお、新規のコマンド識別子は、再度、暗号文データ解読部５０７に送信され、暗号文データ解読部５０７は、新規のコマンド識別子が暗号文データの別のデータ列と一致しないかを確認してもよい。
【０２３５】
図１２は、本発明の実施の形態２に係る認証ＩＣタグ６００の構成の一例を示すブロック図である。本発明の実施の形態２に係る認証ＩＣタグ６００は、実施の形態１に係る認証ＩＣタグ１００と比較して、新たに、識別コード変更部６１１を備える点が異なっている。
【０２３６】
識別コード変更部６１１は、現在のコマンド識別子を、ホストアクセス装置５００から送られてきた新規のコマンド識別子に変更する。例えば、コマンド識別部１０２が、識別子変更要求コマンドを取得し、変更前の識別コードと変更後の識別コードとを識別コード変更部６１１に出力する。識別コード変更部６１１は、識別コード記憶部１０３に格納されている識別コードであって、変更前の識別コードに一致する識別コードを、変更後の識別コードに置き換える。
【０２３７】
識別コード変更部６１１は、識別コードの変更を完了した後、出力データ制御部１０９及び通信部１０１を介して、ホストアクセス装置５００に、識別子変更処理が完了したことを通知する。
【０２３８】
これにより、認証ＩＣタグ６００は、仮に、認証処理コマンドの識別子を通信エラーなどにより取りこぼしたとしても、暗号文データには、認証ＩＣタグ６００が認識可能な識別子に一致するデータが含まれていないので、認証ＩＣタグ６００の誤動作を防止することができる。
【０２３９】
なお、本発明の実施の形態２に係る認証ＩＣタグ６００は、処理状態遷移制御部１０８を備えていなくてもよい。つまり、認証ＩＣタグ６００の状態は、従来のように、認証処理状態とメモリアクセス状態とに排他的に分かれていなくてもよい。つまり、本発明の実施の形態２では、ホストアクセス装置２００が、生成した暗号文データの内容に基づいてコマンド識別子を変更するので、認証ＩＣタグ６００は、暗号文データの一部をコマンド識別子であると誤認することを防止することができる。
【０２４０】
以上、本発明に係る認証ＩＣタグ、ホストアクセス装置、認証システム及び認証方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０２４１】
例えば、図６又は図１１に示すホストアクセス装置２００及び５００は、鍵記憶部２０２、暗号処理部２０３、認証結果比較部２０６、認証取得部２０５、暗号文データ解読部５０７及びコマンド識別子変更部５０８を、ハードウェア構成で実現している。これに対して、図１３に示すホストアクセス装置２００ａのように、これらの処理部をソフトウェアとして実現してもよい。つまり、図１３に示すように、ホストアクセス装置２００ａは、ＣＰＵ２０１ａと、通信部２０４とを備えていてもよい。
【０２４２】
ホストアクセス装置２００ａは、例えば、所定の演算処理を実行するＣＰＵ２０１ａと、所定の制御プログラムが記憶されたＲＯＭ（図示せず）と、データを一時的に記憶するＲＡＭ（図示せず）と、これらの周辺回路などとを備えている。そして、ＣＰＵ２０１ａは、ＲＯＭに記憶された制御プログラムを実行することにより、鍵記憶部２０２、暗号処理部２０３、認証取得部２０５、認証結果比較部２０６として機能する。
【０２４３】
また、図６又は図１１に示す電子機器３００及び４００は、本体基板３０１又は４０１とアクセサリ機器３０２又は４０２とを２本の信号線３０３及び３０４で物理的に接続している。これに対して、図１４に示す電子機器３００ａのように、本体基板３０１ａとアクセサリ機器３０２ａとを１本の信号線３０３ａで物理的に接続していてもよい。すなわち、認証ＩＣタグ１００とホストアクセス装置２００とは、１本の信号線３０３ａを介してデータの通信を行ってもよい。言い換えると、認証ＩＣタグ１００は、入力用の信号線と出力用の信号線とを１本の信号線３０３ａによって兼用していてもよい。
【０２４４】
また、上記の各実施の形態では、図６又は図１１などに示すように、認証ＩＣタグ１００とホストアクセス装置２００とは、１本以上の物理的な信号線（有線）を介して、通信を行っている。つまり、上記の各実施の形態では、接触型の認証システムについて説明した。これに対して、本発明の実施の形態の変形例に係る認証システムは、非接触型の認証システムとして実現することもできる。
【０２４５】
図１５は、本発明の実施の形態の変形例に係る非接触型の認証システムの構成の一例を示す図である。
【０２４６】
図１５に示すように、本発明の実施の形態の変形例に係る非接触型の認証システムは、非接触型認証ＩＣタグ７００と、非接触型ホストアクセス装置７１０とを備える。非接触型認証ＩＣタグ７００は、認証ＩＣタグ１００と、アンテナ７０１とを備える。非接触型ホストアクセス装置７１０は、ホストアクセス装置２００と、アンテナ７１１とを備える。
【０２４７】
ホストアクセス装置２００と認証ＩＣタグ１００とは、無線通信を行う。すなわち、ホストアクセス装置２００から送信されるデータは、アンテナ７１１から無線で送信される。そして、非接触型認証ＩＣタグ７００は、送信されたデータをアンテナ７０１で受信し、認証ＩＣタグ１００に送信する。
【０２４８】
また、認証ＩＣタグ１００から送信されるデータは、アンテナ７０１から無線で送信される。そして、非接触型ホストアクセス装置７１０は、送信されたデータをアンテナ７１１で受信し、ホストアクセス装置２００に送信する。
【０２４９】
無線通信の方式は、非接触ＩＣカード規格などで用いられる近距離通信規格ＮＦＣなど種々の通信インターフェイス回路を用いることができる。また、通信速度及び通信周波数は、一般的な規格に準拠したもので通信可能である。
【０２５０】
例えば、ホストアクセス装置２００内のＣＰＵ２０１により発行された命令によって、暗号処理部２０３が生成した暗号文データは、ホストアクセス装置２００の通信部２０４を経由し、アンテナ７１１に送られる。そして、アンテナ７１１は、暗号文データを無線通信により送信し、非接触型認証ＩＣタグ７００のアンテナ７０１が、送信された暗号文データを受信する。
【０２５１】
なお、アンテナ７０１及び７１１は、送信アンテナとして、特定の方向に電波を放射する指向性アンテナである。例えば、アンテナ７０１及び７１１は、振幅の変化した、又は、変化していない搬送波を受け取り、電波として空間に放射する。また、アンテナ７０１及び７１１は、空間を伝播してきた電波を受信する受信アンテナとしても機能する。
【０２５２】
具体的な認証処理、メモリアクセス処理、及び、状態遷移処理などは、上述の実施の形態と同様である。
【０２５３】
このように、本発明の実施の形態の変形例に係る認証システムのように、ホストアクセス装置と認証ＩＣタグとは、非接触型であってもよい。言い換えると、ホストアクセス装置と認証ＩＣタグとは、無線通信を行ってもよい。
【０２５４】
また、図１６に示すように、認証ＩＣタグは、処理状態に対応する出力データ以外の出力データを固定してもよい。具体的には、認証処理状態である認証ＩＣタグは、メモリアクセス処理が行われた場合に出力する出力データを予め定められた値に固定する。また、メモリアクセス状態である認証ＩＣタグは、認証処理が行われた場合に出力する出力データを予め定められた値に固定する。
【０２５５】
図１６は、本発明の実施の形態の変形例に係る認証ＩＣタグ１００ａの構成の一例を示すブロック図である。認証ＩＣタグ１００ａは、図１に示す認証ＩＣタグ１００と比較して、さらに、セレクタ１１１ａ及び１１１ｂを備える点が異なっている。
【０２５６】
セレクタ１１１ａは、処理状態遷移制御部１０８からの制御に基づいて、認証結果信号及び固定値のいずれかを選択する。具体的には、認証ＩＣタグ１００ａが認証処理状態である場合は、セレクタ１１１ａは、認証処理結果信号を選択する。また、認証ＩＣタグ１００ａがメモリアクセス状態である場合は、セレクタ１１１ａは、固定値、例えば、０を選択する。
【０２５７】
セレクタ１１１ｂは、処理状態遷移制御部１０８からの制御に基づいて、記憶データ読み出し信号及び固定値のいずれかを選択する。具体的には、認証ＩＣタグ１００ａがメモリアクセス状態である場合は、セレクタ１１１ｂは、記憶データ読み出し信号を選択する。また、認証ＩＣタグ１００ａが認証処理状態である場合は、セレクタ１１１ｂは、固定値、例えば、０を選択する。
【０２５８】
このように、認証ＩＣタグ１００ａは、現行の処理状態でない側の出力を固定する。これにより、例えば、出力データ制御部１０９が、出力すべきデータの選択を誤っても、外部に出力データが漏洩することを防ぐことができる。
【０２５９】
また、上記の実施の形態では、認証ＩＣタグは、暗号文データを全て取得した後、復号を行う構成について説明したが、認証ＩＣタグは、暗号文データを取得する度に、復号を行ってもよい。
【０２６０】
図１７は、本発明の実施の形態の変形例に係る認証ＩＣタグ１００の動作の一例を示すフローチャートである。なお、図１７は、認証ＩＣタグ１００は、初期状態が認証処理状態である場合の例について示している。以下では、図５に示す処理と異なる点を中心に説明し、同じ点は説明を省略する。
【０２６１】
認証要求コマンドの識別コードを取得した場合、通信部１０１は、暗号文データの受信を行う（Ｓ１０２）。なお、ホストアクセス装置２００は、接触／非接触のインターフェイスに関わらず、規定のビット単位でデータを送受信する。言い換えると、通信部１０１は、ホストアクセス装置２００から、公開鍵を用いて暗号化された暗号文データを所定の通信単位で取得する。例えば、調歩同期式などの通信方式で通信する場合、１回の通信で送信可能なデータは８ビットとなる。
【０２６２】
このように、認証ＩＣタグ１００の通信部１０１は、Ｎビット単位で認証要求コマンドを受信する。認証に必要な暗号文は、例えば、４０００ビット程度のビット長であるため、認証ＩＣタグ１００は、複数回に分けて暗号文データを受け取る。具体的には、８ビット単位での通信である場合は、暗号文データの送受信だけで、５００回の通信を実施する。
【０２６３】
通信部１０１は、暗号文データを８ビット単位で受け取ると、受け取った暗号文データを認証処理部１０６へ送信し、認証処理を逐次実施する（Ｓ１０４ａ）。つまり、認証処理部１０６は、暗号文データを通信単位毎に復号する。認証ＩＣタグ１００は、暗号文データの受け取り回数又は復号回数をカウントし、必要なビット数を受け取るまでのカウント数まで、分割された暗号文データを取得及び復号し続ける。
【０２６４】
認証処理が完了した後（Ｓ１０５）の処理は、図５に示す処理と同様に実施される。
【０２６５】
このように、認証ＩＣタグ１００は、分割された暗号文データを受け取る度に、逐次復号することもできる。これにより、分割された暗号文データの取得と復号とを並列して実行することができるので、認証処理を高速化することができる。
【０２６６】
また、上記の実施の形態に係る認証システムでは、ホストアクセス装置が認証処理の成功又は失敗を判定したが、認証ＩＣタグが認証処理の成功又は失敗を判定してもよい。
【０２６７】
図１８は、本発明の実施の形態の変形例に係る認証ＩＣタグが備える認証処理部８０６の一例を示すブロック図である。例えば、図１に示す認証ＩＣタグ１００が、認証処理部１０６の代わりに、認証処理部８０６を備える。
【０２６８】
本発明の実施の形態の変形例に係る認証システムでは、暗号前の平文データをホストアクセス装置２００より受け取る。
【０２６９】
図１８に示すように、認証処理部８０６は、暗号文復号部１０６ａと、秘密鍵記憶部１０６ｂと、比較部８０６ｃとを備える。
【０２７０】
暗号文復号部１０６ａは、秘密鍵記憶部１０６ｂに記憶されている復号鍵を用いて、復号処理を実施する。つまり、暗号文復号部１０６ａは、ホストアクセス装置２００から送信された暗号文データを、秘密鍵を用いて復号することで、復号文データを生成する。生成された復号文データは、比較部８０６ｃに送信される。
【０２７１】
比較部８０６ｃは、ホストアクセス装置２００から送信された平文データと、復号文データとを比較する。例えば、比較部８０６ｃは、内部にビット単位での論理積をとる論理演算子を有する。そして、比較部８０６ｃは、論理演算子により各１ビット単位での比較を行い、全ての比較値が１であれば、全ビット一致となるため、平文データと復号文データとが一致したと判定する。
【０２７２】
図１９は、本発明の実施の形態の変形例に係る認証システムにおいて認証ＩＣタグ側での認証処理を説明するための図である。
【０２７３】
まず、ホストアクセス装置２００にて、暗号処理部２０３は、秘匿に送信すべき対象である平文データを、公開鍵を用いて暗号化することで、暗号文データを生成する。ホストアクセス装置２００は、通信部２０４を介して、暗号文データをＩＣタグ受信データとして認証ＩＣタグ１００に送信する。
【０２７４】
また、ホストアクセス装置２００は、別途、平文データを認証ＩＣタグ１００に送信する。平文データは、暗号文データの送信前及び送信後のいずれのタイミングで送信されてもよい。あるいは、暗号文データと同じタイミングで送信されてもよい。
【０２７５】
認証ＩＣタグ１００は、ＩＣタグ受信データとして暗号文データを受け取る。そして、認証処理部１０６は、秘密鍵を用いて暗号文データを復号することで、復号文データを生成する。
【０２７６】
認証ＩＣタグ１００は、さらに暗号文データ以外に、平文データをホストアクセス装置２００より受信する。例えば、認証ＩＣタグ１００は、暗号文データの受信と同じコマンドとして、平文データを受け取る。あるいは、暗号文データの後に継続して送信される平分データを受信してもよい。なお、認証ＩＣタグ１００は、平文データを予め保持していてもよい。
【０２７７】
認証ＩＣタグ１００では、比較部８０６ｃが、平文データと復号文データとが一致するか否かを判定し、判定結果をホストアクセス装置２００に送信する。
【０２７８】
このように、認証ＩＣタグ側で認証処理の成功又は失敗の判断を実施することもできる。
【０２７９】
また、図２０に示す認証ＩＣタグ９００のように、認証処理、メモリアクセス処理及び状態遷移処理のそれぞれに対応する制御部の代わりに、これらの処理の全てを行う制御部９１２を備えていてもよい。図２０に示す認証ＩＣタグ９００は、図１に示す認証ＩＣタグ１００と比較して、認証制御部１０５、メモリアクセス制御部１０７及び処理状態遷移制御部１０８の代わりに、認証データ入出力部９０５、メモリアクセス入出力部９０７、処理状態遷移入出力部９０８、制御部９１２及び遷移処理部９１３を備える点が異なっている。
【０２８０】
認証データ入出力部９０５は、暗号文データの入力、及び、復号文データの出力を行う。なお、認証データ入出力部９０５を介さず直接、通信部１０１と出力データ制御部１０９との間でデータのやり取りを行ってもよい。
【０２８１】
メモリアクセス入出力部９０７は、メモリアクセス制御部１０７と同様に、メモリアドレスの生成、及び、メモリアクセスのイネーブル信号の生成を実施する。さらに、メモリ部１０４への書き込みデータを通信部１０１から受け取り、メモリ部１０４へ書き込む。また、メモリ部１０４から読み出したデータを、出力データ制御部１０９に出力する。
【０２８２】
処理状態遷移入出力部９０８は、遷移判定コードの入力、及び遷移処理データの出力を行う。なお、処理状態遷移入出力部９０８を介さず直接、通信部１０１と出力データ制御部１０９との間でデータのやり取りを行ってもよい。
【０２８３】
制御部９１２は、コマンド識別部１０２よりコマンド識別子の判定結果を入力とし、認証処理部１０６、認証データ入出力部９０５、メモリアクセス入出力部９０７、処理状態遷移入出力部９０８及び遷移処理部９１３に対して、それぞれの動作を行うように指示を発行する。例えば、制御部９１２は、マイクロプロセッサなどのＣＰＵから構成される。
【０２８４】
遷移処理部９１３は、認証ＩＣタグ９００の状態遷移を行う。具体的な処理は、上述した実施の形態１に係る処理状態遷移制御部１０８が行う処理と同様である。
【０２８５】
以上のような構成であっても、誤動作を防止することができる。特に、公開鍵暗号方式を用いた場合には、暗号文データが長くなるので、暗号文データの中にコマンド識別子と一致するコードが含まれる可能性が高く、誤動作を起こす可能性も高くなる。したがって、公開鍵暗号方式を利用する認証システムでは、本発明の実施の形態の変形例に係る認証ＩＣタグ９００も、格別な効果を奏する。
【０２８６】
また、本発明に係るホストアクセス装置は、認証ＩＣタグに送信するコマンドに応じて、コマンドの信号波形を変更してもよい。
【０２８７】
具体的には、調歩同期式などのシリアル方式での通信で、ホストアクセス装置と認証ＩＣタグとの間で認証を実施する場合において、ホストアクセス装置の通信部２０４は、認証処理とメモリアクセス処理で、同期信号及び通信データのパルス幅を変更する。例えば、通信部２０４は、図２１に示すように、認証要求コマンドのパルス幅がＮｍｓであるのに対して、アクセス要求コマンドは半分のＮ／２ｍｓのパルス幅でデータ通信を行う。
【０２８８】
つまり、認証要求コマンドの受信、及び、これに対する返信などの認証処理に必要な通信は、パルス幅がＮｍｓの信号波形を用いて行われる（図２１（ａ））。また、アクセス要求コマンドの受信、及び、これに対する返信などのメモリアクセス処理に必要な通信は、パルス幅がＮ／２ｍｓの信号波形を用いて行われる（図２１（ｂ））。
【０２８９】
なお、調歩同期式などの通信においては、通信部２０４は、通信データ（例えば、認証要求コマンド）の前に、データ幅を規定するＳｙｎｃパルスを付与する。
【０２９０】
受信側である認証ＩＣタグの通信部１０１は、送信されるＳｙｎｃパルスのパルス幅を計測して、継続する通信データのビット幅を確定し、ビットの０／１の判定を実施する。例えば、図２１において、信号がハイレベルの場合を１、ローレベルの場合を０として判定する。
【０２９１】
例えば、４０００ビットを送信中に少なくとも５００回はＳｙｎｃパルスを計測することが可能であるため、コマンド識別子を取りこぼしても、暗号文データの途中で、認証処理であることを検出でき、意図しないアクセスを効果的に防ぐことが可能となる。したがって、コマンドの信号波形を変更する場合、実施の形態２のように、認証ＩＣタグは、明示的な状態遷移を行わなくてもよい。
【０２９２】
また、本発明に係るホストアクセス装置は、認証ＩＣタグに送信するコマンドに応じて、コマンド長を変更してもよい。例えば、図２２の（ａ）及び（ｂ）に示すように、ホストアクセス装置の通信部２０４は、コマンド識別子のビット長を長くするように、コマンドのフォーマットを変更する。これにより、暗号文データの一部とコマンド識別子とが一致する確率を減らすことができる。
【０２９３】
また、本発明に係るホストアクセス装置は、図２２の（ｃ）に示すように、コマンド識別子にＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（巡回冗長検査））を付加してもよい。ＣＲＣは、誤り検出符号の一例であり、データの誤りを検出することができる。したがって、コマンド識別子に誤りが発生した場合であっても、認証ＩＣタグの通信部１０１は、その誤りを検出することにより、誤動作を防止することができる。
【０２９４】
また、上記実施の形態１、２及びその変形例に係る認証ＩＣタグ及びホストアクセス装置に含まれる各処理部は、典型的には集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０２９５】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２９６】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２９７】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて各処理部の集積化を行ってもよい。バイオ技術の適用等が可能性として考えられる。
【０２９８】
また、本発明の実施の形態１、２に係る認証ＩＣタグ及びホストアクセス装置の機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０２９９】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０３００】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
【０３０１】
さらに、上記の実施の形態は、ハードウェア及び／又はソフトウェアを用いて構成されるが、ハードウェアを用いる構成は、ソフトウェアを用いても構成可能であり、ソフトウェアを用いる構成は、ハードウェアを用いても構成可能である。
【０３０２】
また、上記認証ＩＣタグ及びホストアクセス装置の構成は、本発明を具体的に説明するために例示するためのものであり、本発明に係る認証ＩＣタグ及びホストアクセス装置は、上記構成の全てを必ずしも備える必要はない。言い換えると、本発明に係る認証ＩＣタグ及びホストアクセス装置は、本発明の効果を実現できる最小限の構成のみを備えればよい。
【０３０３】
同様に、上記の認証システムによる認証方法は、本発明を具体的に説明するために例示するためのものであり、本発明に係る認証システムによる認証方法は、上記ステップの全てを必ずしも含む必要はない。言い換えると、本発明に係る認証方法は、本発明の効果を実現できる最小限のステップのみを含めばよい。また、上記のステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【産業上の利用可能性】
【０３０４】
本発明は、認証ＩＣタグの誤動作を防止することができるという効果を奏し、例えば、物品の管理、模造品の判別、及び、個人認証などに用いられる認証ＩＣタグ及び認証システムに利用することができる。
【符号の説明】
【０３０５】
１００、１００ａ、６００、９００  認証ＩＣタグ
１０１、２０４  通信部
１０２  コマンド識別部
１０３  識別コード記憶部
１０４  メモリ部
１０５  認証制御部
１０６、８０６  認証処理部
１０６ａ  暗号文復号部
１０６ｂ  秘密鍵記憶部
１０７  メモリアクセス制御部
１０８  処理状態遷移制御部
１０９  出力データ制御部
１１０  入出力端子
２００、２００ａ、５００  ホストアクセス装置
２０１、２０１ａ  ＣＰＵ
２０２  鍵記憶部
２０３  暗号処理部
２０５  認証取得部
２０６  認証結果比較部
３００、３００ａ、４００  電子機器
３０１、３０１ａ、４０１  本体基板
３０２、３０２ａ、４０２  アクセサリ機器
３０３、３０３ａ、３０４  信号線
５０７  暗号文データ解読部
５０８  コマンド識別子変更部
６１１  識別コード変更部
７００  非接触型認証ＩＣタグ
７０１、７１１  アンテナ
７１０  非接触型ホストアクセス装置
８０６ｃ  比較部
９０５  認証データ入出力部
９０７  メモリアクセス入出力部
９０８  処理状態遷移入出力部
９１２  制御部
９１３  遷移処理部
【図１】
2012155560.tif 000003
【図２】
2012155560.tif 000004
【図３】
2012155560.tif 000005
【図４】
2012155560.tif 000006
【図５】
2012155560.tif 000007
【図６】
2012155560.tif 000008
【図７Ａ】
2012155560.tif 000009
【図７Ｂ】
2012155560.tif 000010
【図８】
2012155560.tif 000011
【図９Ａ】
2012155560.tif 000012
【図９Ｂ】
2012155560.tif 000013
【図９Ｃ】
2012155560.tif 000014
【図９Ｄ】
2012155560.tif 000015
【図１０】
2012155560.tif 000016
【図１１】
2012155560.tif 000017
【図１２】
2012155560.tif 000018
【図１３】
2012155560.tif 000019
【図１４】
2012155560.tif 000020
【図１５】
2012155560.tif 000021
【図１６】
2012155560.tif 000022
【図１７】
2012155560.tif 000023
【図１８】
2012155560.tif 000024
【図１９】
2012155560.tif 000025
【図２０】
2012155560.tif 000026
【図２１】
2012155560.tif 000027
【図２２】
2012155560.tif 000028