(57)【要約】【課題】低コストで高速且つセキュアな機器認証を行うことを可能にする。【解決手段】チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、上記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を上記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、上記第２の鍵情報を用いて、上記固有の情報から上記第１の鍵情報を生成する生成部と、を備える耐タンパ性を有するセキュリティチップが、提供される。上記第１の鍵情報が用いられて、上記装置によって送信されるチャレンジから、上記装置へ送信されるレスポンスが生成される。上記第１の鍵情報は、上記装置において、耐タンパ性を有するセキュリティチップに記憶されない。【選択図】図５
2014053675.tif 000002
【特許請求の範囲】
【請求項１】
チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、
前記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を前記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、
前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
を備え、
前記第１の鍵情報が用いられて、前記装置によって送信されるチャレンジから、前記装置へ送信されるレスポンスが生成され、
前記第１の鍵情報は、前記装置において、耐タンパ性を有するセキュリティチップに記憶されない、
耐タンパ性を有するセキュリティチップ。
【請求項２】
前記第２の鍵情報は、前記セキュリティチップと同様に動作する別のセキュリティチップでも共通に用いられる鍵情報である、請求項１に記載のセキュリティチップ。
【請求項３】
前記固有の情報は、前記装置のためにランダムに生成された情報である、請求項１に記載のセキュリティチップ。
【請求項４】
前記固有の情報は、前記装置又は当該装置の部品を一意に識別するための識別情報である、請求項１に記載のセキュリティチップ。
【請求項５】
生成される前記第１の鍵情報は、記憶され、
前記第１の鍵情報が記憶された後に、前記固有の情報が取得されると、記憶された前記第１の鍵情報が用いられて、前記チャレンジから前記レスポンスが生成される、
請求項１に記載のセキュリティチップ。
【請求項６】
生成される前記第１の鍵情報は、所定の条件が満たされる場合に、前記装置へ送信される、請求項１に記載のセキュリティチップ。
【請求項７】
前記所定の条件は、前記第１の鍵情報が送信された回数が所定の回数を超えていないことを含む、請求項６に記載のセキュリティチップ。
【請求項８】
前記チャレンジレスポンス認証は、前記セキュリティチップにより生成される前記レスポンスと、前記装置により前記第１の鍵情報を用いて前記チャレンジから生成されるレスポンスとを比較することを含む、請求項１に記載のセキュリティチップ。
【請求項９】
前記チャレンジ及び前記固有の情報の送信、又は前記レスポンスの送信は、近距離無線通信（ＮＦＣ）で行われる、請求項１に記載のセキュリティチップ。
【請求項１０】
前記チャレンジ及び前記固有の情報の送信、又は前記レスポンスの送信は、近距離無線通信（ＮＦＣ）の通信規格に従った書き込み用のコマンド又は読み込み用のコマンドを用いて行われる、請求項９に記載のセキュリティチップ。
【請求項１１】
耐タンパ性を有するセキュリティチップを、
チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、
前記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を前記固有の情報から生成することを可能にする第２の鍵情報であって、前記セキュリティチップに記憶される前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
として機能させ、
前記第１の鍵情報が用いられて、前記装置によって送信されるチャレンジから、前記装置へ送信されるレスポンスが生成され、
前記第１の鍵情報は、前記装置において、耐タンパ性を有するセキュリティチップに記憶されない、
プログラム。
【請求項１２】
チャレンジレスポンス認証を行う装置によって送信されるチャレンジ及び当該装置に固有の情報を受信し、当該チャレンジに対応するレスポンスを前記装置へ送信する通信インターフェースと、
耐タンパ性を有するセキュリティチップと、
を備え、
前記セキュリティチップは、
前記固有の情報を取得する取得部と、
前記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を前記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、
前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
を含み、
前記第１の鍵情報が用いられて、前記チャレンジから、前記装置へ送信されるレスポンスが生成され、
前記第１の鍵情報は、前記装置において、耐タンパ性を有するセキュリティチップに記憶されない、
情報処理装置。
【請求項１３】
チャレンジレスポンス認証のためのチャレンジ及び自装置に固有の情報を、耐タンパ性を有するセキュリティチップを含む装置へ送信し、当該チャレンジに対応するレスポンスを前記装置から受信する通信インターフェースと、
自装置に記憶される第１の鍵情報、前記チャレンジ及び前記レスポンスを用いて、チャレンジレスポンス認証を行う処理回路と、
を備え、
前記セキュリティチップは、前記固有の情報から前記第１の鍵情報を生成することを可能にする第２の鍵情報を記憶し、
前記第１の鍵情報は、前記セキュリティチップによって、前記第２の鍵情報を用いて前記固有の情報から生成され、
前記レスポンスは、前記装置において、前記第１の鍵情報を用いて前記チャレンジから生成され、
前記第１の鍵情報は、自装置において、耐タンパ性を有するセキュリティチップに記憶されない、
情報処理装置。
【請求項１４】
第１の情報処理装置と、
第２の情報処理装置と、
を含み、
前記第１の情報処理装置は、
チャレンジレスポンス認証のためのチャレンジ及び前記第１の情報処理装置に固有の情報を、前記第２の情報処理装置へ送信し、当該チャレンジに対応するレスポンスを前記第２の情報処理装置から受信する通信インターフェースと、
前記第１の情報処理装置に記憶される第１の鍵情報、前記チャレンジ及び前記レスポンスを用いて、チャレンジレスポンス認証を行う処理回路と、
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置によって送信される前記チャレンジ及び前記固有の情報を受信し、前記レスポンスを前記第１の情報処理装置へ送信する通信インターフェースと、
耐タンパ性を有するセキュリティチップと、
を備え、
前記セキュリティチップは、
前記固有の情報を取得する取得部と、
前記固有の情報から前記第１の鍵情報を生成することを可能にする第２の鍵情報を記憶する記憶部と、
前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
を含み、
前記レスポンスは、前記第２の情報処理装置において、前記第１の鍵情報を用いて前記チャレンジから生成され、
前記第１の鍵情報は、前記第１の情報処理装置において、耐タンパ性を有するセキュリティチップに記憶されない、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、セキュリティチップ、プログラム、情報処理装置及び情報処理システムに関する。
【背景技術】
【０００２】
近年、偽造された周辺機器（例えば、電池パック）が市場に流通している。そして、これにより様々な問題が引き起こされている。例えば、過充電保護回路のない偽造電池パックが、デジタルカメラ、ＰＣ（Personal  Computer）等の本体機器に接続されることにより爆発する、といった事故が発生している。
【０００３】
このような問題を解決するには、本体機器が、自装置に接続されている周辺機器（例えば、電池パック）を認証する必要がある。即ち、本体機器は、自装置に接続されている周辺機器が純正品（若しくは正規品）であるか又は偽造品であるかを判定する必要がある。そして、例えば、本体機器は、自装置に偽造電池パックが接続されていると判定した場合には、偽造電池パックの充電が開始されないように制御を行う。これにより、偽造電池パックの過熱、爆発等を防ぐことができる。そのため、耐タンパ性を有するチップ（即ち、セキュリティチップ）をそれぞれ備える本体機器及び周辺機器の間でチャレンジレスポンス認証を行う技術が提案されている。
【０００４】
例えば、特許文献１には、本体機器が乱数データをアクセサリ機器に送信し、アクセサリ機器が当該乱数データの演算処理の結果を本体機器に送信し、本体機器がその結果の復号データと上記乱数データとを比較することで、機器間認証を行う技術が、開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−８５５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示されている技術を含む従来の技術によれば、周辺機器（アクセサリ機器）の認証において共通鍵暗号方式が採用される場合、共通鍵の漏洩防止のために、本体機器及び周辺機器の両方が、耐タンパ性を有するセキュリティチップを備える必要がある。即ち、共通鍵暗号方式によりセキュアな機器認証を行うためには、チップに高いコストがかかってしまう。
【０００７】
一方、周辺機器の認証において公開鍵暗号方式が採用される場合には、秘密鍵の漏洩を防止すればよいので、周辺機器のみが、セキュリティチップを備えればよい。即ち、公開鍵暗号方式が採用される場合には、共通鍵暗号方式が採用される場合と比べて、チップにかかるコストがより低くなる。しかし、公開鍵暗号方式は、多くの数学的に難しい処理を伴う非対称鍵を用いるので、公開鍵暗号方式が採用される場合には、共通暗号鍵方式が採用される場合と比べて、処理速度がより遅くなり、またより大きいメモリが必要になる。即ち、公開鍵暗号方式によりセキュアな機器認証を行うためには、処理速度が遅くなり、またメモリに高いコストがかかってしまう。
【０００８】
そこで、低コストで高速且つセキュアな機器認証を行うことを可能にする仕組みが提供されることが望ましい。
【課題を解決するための手段】
【０００９】
本開示によれば、チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、上記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を上記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、上記第２の鍵情報を用いて、上記固有の情報から上記第１の鍵情報を生成する生成部と、を備える耐タンパ性を有するセキュリティチップが、提供される。上記第１の鍵情報が用いられて、上記装置によって送信されるチャレンジから、上記装置へ送信されるレスポンスが生成される。上記第１の鍵情報は、上記装置において、耐タンパ性を有するセキュリティチップに記憶されない。
【００１０】
また、本開示によれば、耐タンパ性を有するセキュリティチップを、チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、上記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を上記固有の情報から生成することを可能にする第２の鍵情報であって、上記セキュリティチップに記憶される上記第２の鍵情報を用いて、上記固有の情報から上記第１の鍵情報を生成する生成部と、
として機能させるためのプログラムが、提供される。上記第１の鍵情報が用いられて、上記装置によって送信されるチャレンジから、上記装置へ送信されるレスポンスが生成される。上記第１の鍵情報は、上記装置において、耐タンパ性を有するセキュリティチップに記憶されない。
【００１１】
また、本開示によれば、チャレンジレスポンス認証を行う装置によって送信されるチャレンジ及び当該装置に固有の情報を受信し、当該チャレンジに対応するレスポンスを上記装置へ送信する通信インターフェースと、耐タンパ性を有するセキュリティチップと、を備える情報処理装置が、提供される。上記セキュリティチップは、上記固有の情報を取得する取得部と、上記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を上記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、上記第２の鍵情報を用いて、上記固有の情報から上記第１の鍵情報を生成する生成部と、を含む。上記第１の鍵情報が用いられて、上記チャレンジから、上記装置へ送信されるレスポンスが生成される。上記第１の鍵情報は、上記装置において、耐タンパ性を有するセキュリティチップに記憶されない。
【００１２】
また、本開示によれば、チャレンジレスポンス認証のためのチャレンジ及び自装置に固有の情報を、耐タンパ性を有するセキュリティチップを含む装置へ送信し、当該チャレンジに対応するレスポンスを上記装置から受信する通信インターフェースと、自装置に記憶される第１の鍵情報、上記チャレンジ及び上記レスポンスを用いて、チャレンジレスポンス認証を行う処理回路と、を備える情報処理装置が、提供される。上記セキュリティチップは、上記固有の情報から上記第１の鍵情報を生成することを可能にする第２の鍵情報を記憶する。上記第１の鍵情報は、上記セキュリティチップによって、上記第２の鍵情報を用いて上記固有の情報から生成される。上記レスポンスは、上記装置において、上記第１の鍵情報を用いて上記チャレンジから生成される。上記第１の鍵情報は、自装置において、耐タンパ性を有するセキュリティチップに記憶されない。
【００１３】
また、本開示によれば、第１の情報処理装置と、第２の情報処理装置と、を含む情報処理システムが、提供される。上記第１の情報処理装置は、チャレンジレスポンス認証のためのチャレンジ及び上記第１の情報処理装置に固有の情報を、上記第２の情報処理装置へ送信し、当該チャレンジに対応するレスポンスを上記第２の情報処理装置から受信する通信インターフェースと、上記第１の情報処理装置に記憶される第１の鍵情報、上記チャレンジ及び上記レスポンスを用いて、チャレンジレスポンス認証を行う処理回路と、を備える。上記第２の情報処理装置は、上記第１の情報処理装置によって送信される上記チャレンジ及び上記固有の情報を受信し、上記レスポンスを上記第１の情報処理装置へ送信する通信インターフェースと、耐タンパ性を有するセキュリティチップと、を備える。上記セキュリティチップは、上記固有の情報を取得する取得部と、上記固有の情報から上記第１の鍵情報を生成することを可能にする第２の鍵情報を記憶する記憶部と、上記第２の鍵情報を用いて、上記固有の情報から上記第１の鍵情報を生成する生成部と、を含む。上記レスポンスは、上記第２の情報処理装置において、上記第１の鍵情報を用いて上記チャレンジから生成される。上記第１の鍵情報は、上記第１の情報処理装置において、耐タンパ性を有するセキュリティチップに記憶されない。
【発明の効果】
【００１４】
以上説明したように本開示によれば、低コストで高速且つセキュアな機器認証を行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】共通鍵暗号方式が採用される従来のチャレンジレスポンス認証を行う情報処理システムの概略的な構成の一例を示す説明図である。
【図２】共通鍵暗号方式が採用される従来のチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。
【図３】公開鍵暗号方式が採用される従来のチャレンジレスポンス認証を行う情報処理システムの概略的な構成の一例を示す説明図である。
【図４】公開鍵暗号方式が採用されるチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。
【図５】本開示の一実施形態に係る情報処理システムの概略的な構成の一例を示す説明図である。
【図６】機器固有情報、個別鍵及びマスタ鍵の関係を説明するための説明図である。
【図７】一実施形態に係る本体機器のハードウェア構成の一例を示すブロック図である。
【図８】チャレンジ及びレスポンスを用いた比較処理の第１の例を説明するための説明図である。
【図９】チャレンジ及びレスポンスを用いた比較処理の第２の例を説明するための説明図である。
【図１０】一実施形態に係る周辺機器のハードウェア構成の一例を示すブロック図である。
【図１１】一実施形態に係るセキュリティチップのハードウェア構成の一例を示すブロック図である。
【図１２】一実施形態に係るセキュリティチップの機能構成の一例を示すブロック図である。
【図１３】個別鍵を用いてレスポンスを生成する処理の一例を説明するための説明図である。
【図１４】一実施形態に係るチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。
【図１５】一実施形態に係るレスポンス生成処理の概略的な流れの一例を示すフローチャートである。
【図１６】一実施形態に係る比較処理の概略的な流れの第１の例を示すフローチャートである。
【図１７】一実施形態に係る比較処理の概略的な流れの第２の例を示すフローチャートである。
【図１８】個別鍵を用いてレスポンスを生成する処理の変形例を説明するための説明図である。
【図１９】一実施形態の第１の変形例に係るレスポンス生成処理の概略的な流れの一例を示すフローチャートである。
【図２０】一実施形態の第２の変形例に係る個別鍵生成処理の概略的な流れの一例を示すシーケンス図である。
【図２１】一実施形態の第３の変形例に係るチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下に添付の図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
なお、説明は以下の順序で行うものとする。
１．はじめに
２．情報処理システムの概略的な構成
３．各装置の構成
３．１．本体機器の構成
３．２．周辺機器の構成
３．３．セキュリティチップの構成
３．３．１．ハードウェア構成
３．３．２．機能構成
４．処理の流れ
５．変形例
５．１．第１の変形例
５．２．第２の変形例
５．３．第３の変形例
６．まとめ
【００１８】
＜＜＜１．はじめに＞＞＞
まず、図１〜図４を参照して、背景、共通鍵暗号方式が採用される従来のチャレンジレスポンス認証、公開鍵暗号方式が採用されるチャレンジレスポンス認証、及び技術的課題を説明する。
【００１９】
（背景）
近年、偽造された周辺機器（例えば、電池パック）が市場に流通している。そして、これにより様々な問題が引き起こされている。例えば、過充電保護回路のない偽造電池パックが、デジタルカメラ、ＰＣ等の本体機器に接続されることにより爆発する、といった事故が発生している。
【００２０】
このような問題を解決するには、本体機器が、自装置に接続されている周辺機器（例えば、電池パック）を認証する必要がある。即ち、本体機器は、自装置に接続されている周辺機器が純正品であるか偽造品であるかを判定する必要がある。そして、例えば、本体機器は、自装置に偽造電池パックが接続されていると判定した場合には、偽造電池パックの充電が開始されないように制御を行う。これにより、偽造電池パックの過熱、爆発等を防ぐことができる。このような認証として、例えば、チャレンジレスポンス認証が行われる。
【００２１】
（共通鍵暗号方式が採用される従来のチャレンジレスポンス認証）
本体機器に接続されている周辺機器を認証するためのチャレンジレスポンス認証において、共通鍵暗号方式を採用することがある。以下、この点について図１及び図２を参照してより具体的に説明する。
【００２２】
図１は、共通鍵暗号方式が採用される従来のチャレンジレスポンス認証を行う情報処理システム８００−１の概略的な構成の一例を示す説明図である。図１を参照すると、本体機器８１０−１及び周辺機器８２０−１を含む情報処理システム８００−１が示されている。情報処理システム８００−１では、本体機器８１０−１は、周辺機器８２０−１を認証するためのチャレンジレスポンス認証を行う。そして、当該チャレンジレスポンス認証において、共通鍵暗号方式が採用される。よって、本体機器８１０−１及び周辺機器８２０−１は、ともに、共通鍵８１３を記憶する。また、共通鍵の漏洩防止のために、即ち、セキュアな認証のために、本体機器８１０−１及び周辺機器８２０−１は、それぞれ、耐タンパ性を有するセキュリティチップ８１１及びセキュリティチップ８２１−１に共通鍵８１３を記憶する。このように、情報処理システム８００−１では、２つのセキュリティチップが用いられる。
【００２３】
図２は、共通鍵暗号方式が採用される従来のチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。まず、本体機器８１０−１は、チャレンジレスポンス認証のためのチャレンジ（乱数、ランダムな文字列のようなランダムデータ）を生成する（ステップＳ９０１）。そして、本体機器８１０−１は、生成されたチャレンジを周辺機器８２０−１に送信し、周辺機器８２０−１は、当該チャレンジを受信する（ステップＳ９０３）。さらに、周辺機器８２０−１のセキュリティチップ８２１−１は、共通鍵８１３を用いて、受信されたチャレンジからレスポンスを生成する（ステップＳ９０５）。セキュリティチップ８２１−１は、典型的には、ＡＥＳ（Advanced  Encryption  Standard）暗号アルゴリズムを利用してチャレンジを暗号化することにより、レスポンスを生成する。そして、周辺機器８２０−１は、生成されたレスポンスを本体機器８１０−１に送信し、本体機器８１０−１は、当該レスポンスを受信する（ステップＳ９０７）。その後、本体機器８１０−１は、共通鍵８１３、チャレンジ及びレスポンスを用いて、周辺機器８２０−１を認証する（ステップＳ９０９）。例えば、本体機器８１０−１は、共通鍵８１３を用いてレスポンスを復号し、復号後のレスポンスとチャレンジとを比較する。両者が一致すれば、本体機器８１０−１は、周辺機器８２０−１が純正品であると判定する。両者が一致しなければ、本体機器８１０−１は、周辺機器８２０−１が偽造品であると判定する。このように、周辺機器８２０−１が純正品であるか偽造品であるかを示す認証結果が得られる。
【００２４】
（公開鍵暗号方式が採用される従来のチャレンジレスポンス認証）
一方、本体機器に接続されている周辺機器を認証するためのチャレンジレスポンス認証において、公開鍵暗号方式を採用することも考えられる。以下、この点について図３及び図４を参照してより具体的に説明する。
【００２５】
図３は、公開鍵暗号方式が採用される従来のチャレンジレスポンス認証を行う情報処理システム８００−２の概略的な構成の一例を示す説明図である。図３を参照すると、本体機器８１０−２及び周辺機器８２０−２を含む情報処理システム８００−２が示されている。情報処理システム８００−２では、本体機器８１０−２は、周辺機器８２０−２を認証するためのチャレンジレスポンス認証を行う。そして、当該チャレンジレスポンス認証において、公開鍵暗号方式が採用される。よって、本体機器８１０−２は、公開鍵８１５を記憶する。また、周辺機器８２０−２は、秘密鍵８１７を記憶する。また、秘密鍵の漏洩防止のために、即ち、セキュアな認証のために、周辺機器８２０−２は、耐タンパ性を有するセキュリティチップ８２１−２に秘密鍵８１７を記憶する。このように、情報処理システム８００−２では、１つのセキュリティチップが用いられる。
【００２６】
図４は、公開鍵暗号方式が採用されるチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。まず、本体機器８１０−２は、チャレンジレスポンス認証のためのチャレンジを生成する（ステップＳ９２１）。そして、本体機器８１０−２は、生成されたチャレンジを周辺機器８２０−２に送信し、周辺機器８２０−２は、当該チャレンジを受信する（ステップＳ９２３）。さらに、周辺機器８２０−２のセキュリティチップ８２１−２は、秘密鍵８１７を用いて、受信されたチャレンジからレスポンスを生成する（ステップＳ９２５）。セキュリティチップ８２１−２は、典型的には、ＲＡＳ（Rivest-Shamir-Adleman）暗号アルゴリズムを利用してチャレンジを暗号化することにより、レスポンスを生成する。そして、周辺機器８２０−２は、生成されたレスポンスを本体機器８１０−２に送信し、本体機器８１０−２は、当該レスポンスを受信する（ステップＳ９２７）。その後、本体機器８１０−２は、公開鍵８１５、チャレンジ及びレスポンスを用いて、周辺機器８２０−２を認証する（ステップＳ９２９）。例えば、本体機器８１０−２は、公開鍵８１５を用いてレスポンスを復号し、復号後のレスポンスとチャレンジとを比較する。両者が一致すれば、本体機器８１０−２は、周辺機器８２０−２が純正品であると判定する。両者が一致しなければ、本体機器８１０−２は、周辺機器８２０−２が偽造品であると判定する。このように、周辺機器８２０−２が純正品であるか偽造品であるかを示す認証結果が得られる。
【００２７】
（技術的課題）
しかし、上述したチャレンジレスポンス認証の各々には、コスト又は処理速度についての懸念が存在する。
【００２８】
まず、共通鍵暗号方式が採用される従来のチャレンジレスポンス認証によれば、情報処理システム８００−１において、チップに高いコストがかる。より具体的には、周辺機器８２０−１の認証において共通鍵暗号方式が採用される場合、共通鍵の漏洩防止のために、本体機器８１０−１及び周辺機器８２０−１の両方が、耐タンパ性を有するセキュリティチップを備える必要がある。即ち、共通鍵暗号方式によりセキュアな機器認証を行うためには、チップに高いコストがかかってしまう。
【００２９】
また、公開鍵暗号方式が採用される従来のチャレンジレスポンス認証によれば、情報処理システム８００−２において、チップにかかるコストは低いが、処理速度が遅く、またメモリに高いコストがかかる。より具体的には、周辺機器８２０−２の認証において公開鍵暗号方式が採用される場合には、秘密鍵８１７の漏洩を防止すればよいので、周辺機器８２０−２のみが、セキュリティチップを備えればよい。即ち、公開鍵暗号方式が採用される場合には、共通鍵暗号方式が採用される場合と比べて、チップにかかるコストがより低くなる。しかし、公開鍵暗号方式は、多くの数学的に難しい処理を伴う非対称鍵を用いるので、公開鍵暗号方式が採用される場合には、共通暗号鍵方式が採用される場合と比べて、処理速度がより遅くなり、またより大きいメモリが必要になる。即ち、公開鍵暗号方式によりセキュアな機器認証を行うためには、処理速度が遅くなり、またメモリに高いコストがかかってしまう。
【００３０】
そこで、本実施形態では、低コストで高速且つセキュアな機器認証を行うことが可能になる。即ち、本体機器及び周辺機器を含む情報処理システムのコストを抑えつつ、周辺機器を認証するためのチャレンジレスポンス認証を高速に且つセキュアに行うことが、可能になる。以降、＜＜＜２．情報処理システムの概略的な構成＞＞＞、＜＜＜３．各装置の構成＞＞＞、＜＜＜４．処理の流れ＞＞＞及び＜＜＜５．変形例＞＞＞、において、その具体的な内容を説明する。
【００３１】
＜＜＜２．情報処理システムの概略的な構成＞＞＞
図５及び図６を参照して、本開示の実施形態に係る情報処理システム１の概略的な構成を説明する。図５は、本実施形態に係る情報処理システム１の概略的な構成の一例を示す説明図である。図５を参照すると、情報処理システム１は、本体機器１００及び周辺機器２００を含む。
【００３２】
（本体機器１００）
本体機器１００は、本体機器１００に固有の情報１０（以下、「機器固有情報１０」と呼ぶ）を記憶する。また、本体機器１００は、チャレンジレスポンス認証に用いる第１の鍵情報２１（以下、「個別鍵２１」と呼ぶ）も記憶する。機器固有情報１０及び個別鍵２１は、事前に（例えば、工場からの出荷前に）本体機器１００に記憶される。なお、上記個別鍵は、本体機器１００において、耐タンパ性を有するセキュリティチップに記憶されない。
【００３３】
また、例えば、上記機器固有情報１０は、本体機器１００のためにランダムに生成された情報である。例えば、ランダムに生成される当該情報は、乱数、ランダムな文字列等である。この場合に、機器固有情報１０は、本体機器１００により生成され、又は、別の装置（例えば、工場にあるＰＣ）により生成されて本体機器１００に与えられる。このように、ランダムに生成される情報を機器固有情報１０として用いることにより、本体機器１００の識別情報を取得することが難しい場合でも、本体機器１０に固有の情報を得ることが可能になる。
【００３４】
なお、上記機器固有情報１０は、本体機器１００又は本体機器１００の部品を一意に識別するための識別情報であってもよい。例えば、当該識別情報は、本体機器１００のシリアルナンバー、本体機器１００に備えられるＣＰＵ（Central  Processing  Unit）のシリアルナンバー等である。このように、識別情報を機器固有情報１０として用いることにより、新たな情報を生成することなく、本体機器１０に固有の情報を得ることが可能になる。
【００３５】
また、本体機器１００は、一例として、ＰＣ（Personal  Computer）である。なお、本体機器１００は、デジタルカメラ、プロジェクタ、携帯電話端末（スマートフォンを含む）、携帯情報端末（ＰＤＡ：Personal  Digital  Assistant）、電子書籍端末、ゲーム機器、音楽プレーヤ等の別の装置であってもよい。
【００３６】
（周辺機器２００）
周辺機器２００は、耐タンパ性を有するセキュリティチップ３００を備える。また、当該セキュリティチップ３００は、機器固有情報１０から個別鍵２１を生成することを可能にする第２の鍵情報２３（以下、「マスタ鍵２３」と呼ぶ）を記憶する。マスタ鍵２３は、事前に（例えば、セキュリティチップ３００又は周辺機器２００の工場からの出荷前に）セキュリティチップ３００に記憶される。以下、機器固有情報１０、個別鍵２１及びマスタ鍵２３の関係を、図６を参照して具体的に説明する。
【００３７】
図６は、機器固有情報１０、個別鍵２１及びマスタ鍵２３の関係を説明するための説明図である。図６を参照すると、個別鍵２１は、マスタ鍵２３を用いて機器固有情報１０から生成される。より具体的には、例えば、個別鍵２１は、マスタ鍵２３を暗号鍵として用いて機器固有情報１０を暗号化することにより、生成される。一例として、暗号化では、ＡＥＳ暗号アルゴリズムが利用される。このように生成される個別鍵２１は、本体機器ごとの個別の鍵情報となる。
【００３８】
なお、個別鍵２１は、ＡＥＳ暗号アルゴリズムでの暗号化以外の手法で生成されてもよい。例えば、個別鍵２１は、ＡＥＳ暗号アルゴリズム以外の別の暗号アルゴリズム（例えば、Ｃａｍｅｌｌｉａ暗号アルゴリズム）で、マスタ鍵２３を暗号鍵として用いて機器固有情報１０を暗号化することにより、生成されてもよい。また、個別鍵２１は、メッセージ認証符号（ＭＡＣ：Message  Authentication  Code）として生成されてもよい。即ち、個別鍵２１は、メッセージとして機器固有情報１０を、鍵としてマスタ鍵２３を用いて、ＭＡＣアルゴリズムで生成される、ＭＡＣであってもよい。当該ＭＡＣアルゴリズムは、例えば、ＣＭＡＣ（Cipher-based  Message  Authentication  Code）、ＨＭＡＣ（Keyed-Hashing  for  Message  Authentication  Code）等であってもよい。また、個別鍵２１は、ハッシュ値として生成されてもよい。即ち、個別鍵２１は、鍵としてマスタ鍵２３を用いて鍵付きハッシュ関数により算出される、機器固有情報１０のハッシュ値であってもよい。
【００３９】
また、例えば、上記マスタ鍵２３は、セキュリティチップ３００と同様に動作する別のセキュリティチップでも共通に用いられる鍵情報である。より具体的には、例えば、マスタ鍵２３は、セキュリティチップ３００と同様に動作する純正品（又は正規品）のセキュリティチップで共通に用いられる鍵情報である。このようにマスタ鍵２３としてセキュリティチップ間で共通の鍵情報が用いられることで、周辺機器２００が交換されたとしても、本体機器１００は（例えば、工場出荷前に記憶された）個別鍵２１を継続して使用することができる。また、周辺機器２００が別の本体機器１００に接続され又は搭載されたとしても、当該別の本体機器１００は、周辺機器２００を認証することができる。具体的にどのように認証するかは、後述される。
【００４０】
また、周辺機器２００は、一例として、電池パックである。なお、本体機器１００が、ゲーム機器である場合に、周辺機器２００は、ゲーム機器のコントローラ、ソフトウェアが格納されたメモリカード等であってもよい。また、本体機器１００が、デジタルカメラ又はプロジェクタである場合に、周辺機器は、デジタルカメラ又はプロジェクタに取り付けられるレンズであってもよい。このように、周辺機器２００は、本体機器１００に接続され又は取り付けられ得る様々な周辺機器のうちのいずれかであってもよい。
【００４１】
本実施形態では、本体機器１００が、周辺機器２００を認証するためのチャレンジレスポンス認証を行う。そして、上述したように、本実施形態では、本体機器１００及び周辺機器２００を含む情報処理システム１のコストを抑えつつ、周辺機器２００を認証するためのチャレンジレスポンス認証を高速に且つセキュアに行うことが、可能になる。以降、＜＜＜３．各装置の構成＞＞＞、＜＜＜４．処理の流れ＞＞＞及び＜＜＜５．変形例＞＞＞において、さらに具体的な内容を説明する。
【００４２】
＜＜＜３．各装置の構成＞＞＞
次に、図７〜図１３を参照して、本実施形態に係る本体機器１００、周辺機器２００、及び周辺機器２００に備えられるセキュリティチップ３００の構成の一例を説明する。
【００４３】
＜＜３．１．本体機器の構成＞＞
図７〜図９を参照して、本体機器１００の構成の一例を説明する。図７は、本実施形態に係る本体機器１００のハードウェア構成の一例を示すブロック図である。図７を参照すると、本体機器１００は、ＣＰＵ（Central  Processing  Unit）１０１、ＲＯＭ（Read  Only  Memory）１０３、ＲＡＭ（Random  Access  Memory）１０５、バス１０７、記憶装置１０９及び通信インターフェース１１１を備える。
【００４４】
（ＣＰＵ１０１）
ＣＰＵ１０１は、本体機器１００における様々な処理を実行する。換言すると、ＣＰＵ１０１は、本体機器１００が備える処理回路の一例である。
【００４５】
とりわけ、ＣＰＵ１０１は、本体機器１００に記憶される個別鍵２１、チャレンジレスポンス認証のためのチャレンジ、及び当該チャレンジに対応するレスポンスを用いて、チャレンジレスポンス認証を行う。当該チャレンジレスポンス認証は、周辺機器２００を認証するためのものである。なお、上記チャレンジレスポンス認証は、例えば、ＩＳＯ／ＩＥＣ  ９７９８−２及び／又はＩＳＯ／ＩＥＣ  ９７９８−４に定められるプロトコルに従ってもよい。
【００４６】
例えば、ＣＰＵ１０１は、チャレンジレスポンス認証のためのチャレンジを生成し、通信インターフェース１１１に、当該チャレンジを周辺機器２００へ送信させる。また、ＣＰＵ１０１は、通信インターフェース１１１に、機器固有情報１０も周辺機器２００へ送信させる。そして、通信インターフェース１１１が、周辺機器２００により送信されるレスポンスを受信すると、ＣＰＵ１０１は、個別鍵２１、上記チャレンジ及び上記レスポンスを用いて周辺機器２００を認証する。即ち、ＣＰＵ１０１は、個別鍵２１、上記チャレンジ及び上記レスポンスを用いた比較処理を実行する。当該比較処理の結果として、周辺機器２００が純正品（若しくは正規品）であるか又は偽造品であるかを示す認証結果が得られる。
【００４７】
上記比較処理として、様々な手法が存在し得る。第１の例として、上記チャレンジレスポンス認証は、チャレンジと、周辺機器２００（セキュリティチップ３００）により生成されるレスポンスから個別鍵２１を用いて生成されるチャレンジと、を比較することを含む。以下、このような比較処理の具体的な内容を、図８を参照して説明する。
【００４８】
図８は、チャレンジ及びレスポンスを用いた比較処理の第１の例を説明するための説明図である。この例の前提として、レスポンスは、周辺機器２００において、個別鍵２１を用いてチャレンジを暗号化することにより生成される。図８を参照すると、ＣＰＵ１０１は、まず、個別鍵２１を用いて、レスポンスを復号する。そして、ＣＰＵ１０１は、復号後のレスポンスとチャレンジとを比較する。復号後のレスポンスとチャレンジとが一致すれば、ＣＰＵ１０１は、周辺機器２００は純正品（又は正規品）であると判定する。復号後のレスポンスとチャレンジとが一致しなければ、ＣＰＵ１０１は、周辺機器２００は偽造品であると判定する。
【００４９】
また、第２の例として、上記チャレンジレスポンス認証は、周辺機器２００（セキュリティチップ３００）により生成されるレスポンスと、本体機器１００により個別鍵２１を用いてチャレンジから生成されるレスポンスとを比較することを含む。以下、このような比較処理の具体的な内容を、図９を参照して説明する。
【００５０】
図９は、チャレンジ及びレスポンスを用いた比較処理の第２の例を説明するための説明図である。この例の前提として、レスポンスは、周辺機器２００において、個別鍵２１を用いてチャレンジを暗号化することにより生成される。図９を参照すると、ＣＰＵ１０１は、まず、個別鍵２１を用いて、チャレンジを暗号化する。そして、ＣＰＵ１０１は、暗号化されたチャレンジと受信されたレスポンスとを比較する。暗号化されたチャレンジとレスポンスとが一致すれば、ＣＰＵ１０１は、周辺機器２００は純正品（又は正規品）であると判定する。暗号化されたチャレンジとレスポンスとが一致しなければ、ＣＰＵ１０１は、周辺機器２００は偽造品であると判定する。
【００５１】
なお、以上のように説明した図８の例及び図９の例では、暗号化では、一例として、ＡＥＳ暗号アルゴリズムが利用される。また、上記暗号化では、別の暗号アルゴリズム（例えば、Ｃａｍｅｌｌｉａ暗号アルゴリズム）が利用されてもよい。
【００５２】
また、図９の例では、ＣＰＵ１０１は、個別鍵２１を用いてチャレンジを暗号化する代わりに、メッセージとしてチャレンジを、鍵として個別鍵２１を用いて、ＭＡＣアルゴリズム（ＣＭＡＣ、ＨＭＡＣ、等）でＭＡＣを生成してもよい。この場合の前提として、周辺機器２００も、メッセージとしてチャレンジを、鍵として個別鍵２１を用いて、ＭＡＣアルゴリズム（ＣＭＡＣ、ＨＭＡＣ、等）でＭＡＣを生成し、当該ＭＡＣをレスポンスとして本体機器１００へ送信する。
【００５３】
また、ＣＰＵ１０１は、個別鍵２１を用いてチャレンジを暗号化する代わりに、鍵として個別鍵２１を用いて、鍵付きハッシュ関数により、チャレンジのハッシュ値を算出してもよい。この場合の前提として、周辺機器２００も、鍵として個別鍵２１を用いて、鍵付きハッシュ関数により、チャレンジのハッシュ値を算出し、当該ハッシュ値をレスポンスとして本体機器１００へ送信する。
【００５４】
比較処理の第２の例のように、チャレンジの比較ではなく、レスポンスの比較を行うことにより、処理をより高速化することができる。第１に、本体機器１００は、チャレンジを周辺機器２００へ送信してから、レスポンスを周辺機器２００から受信するまでの間に、チャレンジからレスポンスを生成することができる。よって、本体機器１００は、レスポンスの受信後に即座に比較を行うことができる。その結果、処理に要する時間が短くなる。第２に、レスポンスを復号する処理よりも、チャレンジを暗号化する処理の方が、短時間で完了するので、処理に要する時間が短くなる。このように、処理が高速され得る。
【００５５】
（ＲＯＭ１０３）
ＲＯＭ１０３は、本体機器１００における処理をＣＰＵ１０１に実行させるためのプログラム及びデータを記憶する。
【００５６】
（ＲＡＭ１０５）
ＲＡＭ１０５は、ＣＰＵ１０１の処理の実行時に、プログラム及びデータを一時的に記憶する。
【００５７】
（バス１０７）
バス１０７は、ＣＰＵ１０１、ＲＯＭ１０３及びＲＡＭ１０５を相互に接続する。バス１０７には、さらに、記憶装置１０９及び通信インターフェース１１１が接続される。
【００５８】
（記憶装置１０９）
記憶装置１０９は、本体機器１００内で一時的又は恒久的に保存すべきデータを記憶する。記憶装置１０９は、例えば、ハードディスク（Hard  Disk）等の磁気記録媒体であってもよく、又は、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）、フラッシュメモリ（flash  memory）、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）及びＰＲＡＭ（Phase  change  Random  Access  Memory）等の不揮発性メモリ（nonvolatile  memory）であってもよい。
【００５９】
（通信インターフェース１１１）
通信インターフェース１１１は、本体機器１００が外部装置（とりわけ、周辺機器２００）と有線／無線で通信を行うための通信手段である。通信インターフェース１１１は、例えば、有線通信のための通信ポート、又は無線通信のための通信アンテナ及びＲＦ（Radio  Frequency）回路を含む。
【００６０】
とりわけ、通信インターフェース１１１は、チャレンジレスポンス認証のためのチャレンジ及び機器固有情報１０を周辺機器２００へ送信する。また、通信インターフェース１１１は、上記チャレンジに対応するレスポンスを周辺機器２００から受信する。
【００６１】
以上、本体機器１００の構成の一例を説明した。この例のように、本体機器１００は、例えば、耐タンパ性を有するセキュリティチップを備えない。即ち、個別鍵２１は、本体機器１００において、耐タンパ性を有するセキュリティチップに記憶されない。なお、本体機器１００は、上記チャレンジレスポンス認証以外の用途で、耐タンパ性を有するセキュリティチップを備えることがあってもよい。
【００６２】
＜＜３．２．周辺機器の構成＞＞
次に、図１０を参照して、周辺機器２００の構成の一例を説明する。図１０は、本実施形態に係る周辺機器２００のハードウェア構成の一例を示すブロック図である。図１０を参照すると、周辺機器２００は、ＣＰＵ２０１、ＲＯＭ２０３、ＲＡＭ２０５、バス２０７、記憶装置２０９、通信インターフェース２１１及びセキュリティチップ３００を備える。
【００６３】
（ＣＰＵ２０１）
ＣＰＵ２０１は、周辺機器２００における様々な処理を実行する。
【００６４】
（ＲＯＭ２０３）
ＲＯＭ２０３は、周辺機器２００における処理をＣＰＵ２０１に実行させるためのプログラム及びデータを記憶する。
【００６５】
（ＲＡＭ２０５）
ＲＡＭ２０５は、ＣＰＵ２０１の処理の実行時に、プログラム及びデータを一時的に記憶する。
【００６６】
（バス２０７）
バス２０７は、ＣＰＵ２０１、ＲＯＭ２０３及びＲＡＭ２０５を相互に接続する。バス２０７には、さらに、記憶装置２０９、通信インターフェース２１１及びセキュリティチップ３００が接続される。
【００６７】
（記憶装置２０９）
記憶装置２０９は、周辺機器２００内で一時的又は恒久的に保存すべきデータを記憶する。記憶装置２０９は、例えば、ハードディスク等の磁気記録媒体であってもよく、又は、ＥＥＰＲＯＭ、フラッシュメモリ、ＭＲＡＭ、ＦｅＲＡＭ及びＰＲＡＭ等の不揮発性メモリであってもよい。
【００６８】
（通信インターフェース２１１）
通信インターフェース２１１は、周辺機器２００が外部装置（とりわけ、本体機器１００）と有線／無線で通信を行うための通信手段である。通信インターフェース２１１は、例えば、有線通信のための通信ポート、又は無線通信のための通信アンテナ及びＲＦ回路を含む。
【００６９】
とりわけ、通信インターフェース２１１は、本体機器１００によって送信されるチャレンジ及び機器固有情報１０を受信する。また、通信インターフェース２１１は、上記チャレンジに対応するレスポンスを本体機器１００へ送信する。
【００７０】
（セキュリティチップ３００）
セキュリティチップ３００は、耐タンパ性を有するチップである。次に、セキュリティチップ３００の詳細を説明する。
【００７１】
＜＜３．３．セキュリティチップの構成＞＞
図１１〜１３を参照して、セキュリティチップ３００の構成の一例を説明する。ここでは、まず、セキュリティチップ３００のハードウェア構成の一例を簡単に説明した上で、当該ハードウェア構成とソフトウェアとによって実装され得る、セキュリティチップ３００の機能構成の一例を詳細に説明する。
【００７２】
＜３．３．１．ハードウェア構成＞
まず、図１１を参照して、セキュリティチップ３００のハードウェア構成の一例を説明する。図１１は、本実施形態に係るセキュリティチップ３００のハードウェア構成の一例を示すブロック図である。図１１を参照すると、セキュリティチップ３００は、ＣＰＵ３０１、ＲＯＭ３０３、ＥＥＰＲＯＭ３０５、ＲＡＭ３０７、バス３０９、暗号化ロジック３１１、入出力インターフェース３１３（以下、「Ｉ／Ｏ  ３１３」と呼ぶ）を備える。
【００７３】
ＣＰＵ３０１は、セキュリティチップ３００における様々な処理を実行する。ＲＯＭ３０３は、セキュリティチップ３００における処理をＣＰＵ３０１に実行させるためのプログラム及びデータを記憶する。ＥＥＰＲＯＭ３０５は、セキュリティチップ３００から取り出さずに、セキュリティチップ３００内で保持すべき情報（例えば、マスタ鍵２３）を記憶する。また、ＲＡＭ３０７は、ＣＰＵ３０１の処理の実行時に、プログラム及びデータを一時的に記憶する。
【００７４】
暗号化ロジック３１１は、いずれかの暗号アルゴリズムでの暗号化処理を実行する。暗号化ロジック３１１は、例えば、汎用のプロセッサであってもよく、又は専用のワイヤードロジックであってもよい。なお、暗号アルゴリズムではなく、ＭＡＣアルゴリズム、ハッシュ関数等が用いられる場合には、セキュリティチップ３００には、暗号化ロジック３１１の代わりに、ＭＡＣアルゴリズム、ハッシュ関数等のためのロジックが、備えられてもよい。
【００７５】
Ｉ／Ｏ  ３１３は、セキュリティチップ３００を周辺機器２００（バス２０７）に接続する。そして、Ｉ／Ｏ  ３１３は、セキュリティチップ３００への入力情報を取得し、セキュリティチップ３００からの出力情報を周辺機器２００へ出力する。
【００７６】
＜３．３．２．機能構成＞
図１２及び図１３を参照して、本実施形態に係るセキュリティチップ３００の機能構成の一例を説明する。図１２は、本実施形態に係るセキュリティチップ３００の機能構成の一例を示すブロック図である。図１２を参照すると、セキュリティチップ３００は、情報取得部３３１、記憶部３３３、個別鍵生成部３３５及びレスポンス生成部３３７を備える。
【００７７】
（情報取得部３３１）
情報取得部３３１は、本体機器１００によって送信される機器固有情報１０を取得する。より具体的には、例えば、本体機器１００によって送信される機器固有情報１０が周辺機器２００により受信されると、情報取得部３３１は、受信された機器固有情報１０を取得する。
【００７８】
また、例えば、情報取得部３３１は、本体機器１００によって送信されるチャレンジも取得する。より具体的には、例えば、本体機器１００によって送信されるチャレンジが周辺機器２００により受信されると、情報取得部３３１は、受信されたチャレンジを取得する。
【００７９】
（記憶部３３３）
記憶部３３３は、本体機器１００によりチャレンジレスポンス認証に用いられる個別鍵２１を機器固有情報１０から生成することを可能にするマスタ鍵２３を記憶する。上述したように、マスタ鍵２３は、事前に（例えば、セキュリティチップ３００又は周辺機器２００の工場からの出荷前に）記憶部３３３に記憶される。
【００８０】
また、上述したように、上記マスタ鍵２３は、セキュリティチップ３００と同様に動作する別のセキュリティチップでも共通に用いられる鍵情報である。より具体的には、例えば、マスタ鍵２３は、セキュリティチップ３００と同様に動作する純正品（又は正規品）のセキュリティチップで共通に用いられる鍵情報である。
【００８１】
（個別鍵生成部３３５）
個別鍵生成部３３５は、マスタ鍵２３を用いて、機器固有情報１０から個別鍵２１を生成する。個別鍵２１は、本体機器１００に事前に（例えば、工場出荷前に）記憶される個別鍵２１と同様に生成される。より具体的には、例えば、図６を参照して説明したように、個別鍵生成部３３５は、マスタ鍵２３を暗号鍵として用いて機器固有情報１０を暗号化することにより、個別鍵２１を生成する。一例として、暗号化では、ＡＥＳ暗号アルゴリズムが利用される。
【００８２】
なお、個別鍵生成部３３５は、ＡＥＳ暗号アルゴリズムでの暗号化以外の手法で、個別鍵２１を生成してもよい。
【００８３】
例えば、個別鍵生成部３３５は、ＡＥＳ暗号アルゴリズム以外の別の暗号アルゴリズム（例えば、Ｃａｍｅｌｌｉａ暗号アルゴリズム）で、マスタ鍵２３を暗号鍵として用いて機器固有情報１０を暗号化することにより、個別鍵２１を生成してもよい。
【００８４】
また、個別鍵生成部３３５は、マスタ鍵２３を用いて機器固有情報１０を暗号化する代わりに、個別鍵２１としてメッセージ認証符号（ＭＡＣ）を生成してもよい。即ち、個別鍵生成部３３５は、メッセージとして機器固有情報１０を、鍵としてマスタ鍵２３を用いて、ＭＡＣアルゴリズムで、ＭＡＣを生成し、当該ＭＡＣを個別鍵２１として出力してもよい。当該ＭＡＣアルゴリズムは、例えば、ＣＭＡＣ、ＨＭＡＣ等であってもよい。
【００８５】
また、個別鍵生成部３３５は、マスタ鍵２３を用いて機器固有情報１０を暗号化する代わりに、鍵としてマスタ鍵２３を用いて、鍵付きハッシュ関数により、機器固有情報１０のハッシュ値を算出し、当該ハッシュ値を個別鍵２１として出力してもよい。
【００８６】
（レスポンス生成部３３７）
レスポンス生成部３３７は、個別鍵２１を用いて、本体機器１００により送信されるチャレンジから、本体機器１００へ送信されるレスポンスを生成する。以下、個別鍵２１を用いてレスポンスを生成する処理の具体例を、図１３を参照して説明する。
【００８７】
図１３は、個別鍵２１を用いてレスポンスを生成する処理の一例を説明するための説明図である。図１３を参照すると、まず、上述したように、個別鍵生成部３３５が、例えば、マスタ鍵２３を暗号鍵として用いて機器固有情報１０を暗号化することにより、個別鍵２１を生成する。そして、レスポンス生成部３３７は、例えば、生成された個別鍵２１を暗号鍵として用いてチャレンジを暗号化することにより、レスポンスを生成する。一例として、暗号化では、ＡＥＳ暗号アルゴリズムが利用される。
【００８８】
なお、レスポンス生成部３３７は、ＡＥＳ暗号アルゴリズムでの暗号化以外の手法で、レスポンスを生成してもよい。
【００８９】
例えば、レスポンス生成部３３７は、ＡＥＳ暗号アルゴリズム以外の別の暗号アルゴリズム（例えば、Ｃａｍｅｌｌｉａ暗号アルゴリズム）で、個別鍵２１を暗号鍵として用いてチャレンジを暗号化することにより、レスポンスを生成してもよい。
【００９０】
また、レスポンス生成部３３７は、個別鍵２１を用いてチャレンジを暗号化する代わりに、メッセージとしてチャレンジを、鍵として個別鍵２１を用いて、ＭＡＣアルゴリズム（ＣＭＡＣ、ＨＭＡＣ、等）でＭＡＣを生成してもよい。そして、レスポンス生成部３３７は、当該ＭＡＣをレスポンスとして出力してもよい。
【００９１】
また、レスポンス生成部３３７は、個別鍵２１を用いてチャレンジを暗号化する代わりに、鍵として個別鍵２１を用いて、鍵付きハッシュ関数により、チャレンジのハッシュ値を算出してもよい。そして、レスポンス生成部３３７は、当該ハッシュ値をレスポンスとして出力してもよい。
【００９２】
以上、本実施形態に係るセキュリティチップ３００の機能構成の一例を説明した。なお、情報取得部３３１は、例えばＩ／Ｏ  ３１３により実装され得る。また、記憶部３３３は、例えばＥＥＰＲＯＭ３０５により実装され得る。また、個別鍵生成部３３５及びレスポンス生成部３３７は、例えば暗号化ロジック３１１により実装され得る。
【００９３】
＜＜＜４．処理の流れ＞＞＞
次に、図１４〜図１７を参照して、本実施形態に係る情報処理の例を説明する。
【００９４】
（チャレンジレスポンス認証処理）
まず、図１４を参照して、本実施形態に係るチャレンジレスポンス認証処理の一例を説明する。図１４は、本実施形態に係るチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。
【００９５】
ステップＳ４０１で、本体機器１００のＣＰＵ１０１は、チャレンジレスポンス認証のためのチャレンジを生成する。
【００９６】
ステップＳ４０３で、本体機器１００の通信インターフェース１１１は、チャレンジレスポンス認証のためのチャレンジ及び機器固有情報１０を周辺機器２００へ送信する。そして、周辺機器２００の通信インターフェース２１１は、本体機器１００によって送信されたチャレンジ及び機器固有情報１０を受信する。
【００９７】
ステップＳ５００で、周辺機器２００に備えられるセキュリティチップ３００は、レスポンス生成処理を実行する。即ち、セキュリティチップ３００は、上記チャレンジに対応するレスポンスを生成する。
【００９８】
ステップＳ４０５で、周辺機器２００の通信インターフェース２１１は、生成されたレスポンスを本体機器１００へ送信する。そして、本体機器１００の通信インターフェース１１１は、周辺機器２００によって送信されたレスポンスを受信する。
【００９９】
ステップＳ６００で、本体機器１００のＣＰＵ１０１は、上記チャレンジ及び上記レスポンスを用いた比較処理を実行する。その結果、周辺機器２００が純正品（若しくは正規品）であるか又は偽造品であるかを示す認証結果が得られる。
【０１００】
（Ｓ５００−１：レスポンス生成処理）
次に、図１５を参照して、本実施形態に係るレスポンス生成処理の一例を説明する。図１５は、本実施形態に係るレスポンス生成処理の概略的な流れの一例を示すフローチャートである。当該レスポンス生成処理は、図１３を参照して説明した処理に対応する。
【０１０１】
ステップＳ５０１で、セキュリティチップ３００の個別鍵生成部３３５は、マスタ鍵２３を用いて、機器固有情報１０から個別鍵２１を生成する。
【０１０２】
ステップＳ５０３で、レスポンス生成部３３７は、個別鍵２１を用いて、本体機器１００により送信されるチャレンジから、本体機器１００へ送信されるレスポンスを生成する。そして、処理は終了する。
【０１０３】
（Ｓ６００−１：比較処理）
次に、図１６を参照して、本実施形態に係る比較処理の第１の例を説明する。図１６は、本実施形態に係る比較処理の概略的な流れの第１の例を示すフローチャートである。当該比較処理は、図８を参照して説明した比較処理に対応する。
【０１０４】
ステップＳ６０１で、本体機器１００のＣＰＵ１０１は、個別鍵２１を用いてレスポンスを復号する。
【０１０５】
ステップＳ６０３で、本体機器１００のＣＰＵ１０１は、復号後のレスポンスとチャレンジとを比較する。
【０１０６】
ステップＳ６０５で、復号後のレスポンスとチャレンジとが一致すれば、処理はステップＳ６０７へ進む。そうでなければ、処理は、ステップＳ６０９へ進む。
【０１０７】
ステップＳ６０７で、本体機器１００のＣＰＵ１０１は、周辺機器２００は純正品（又は正規品）であると判定する。即ち、周辺機器２００の認証は成功する。そして、処理は終了する。
【０１０８】
ステップＳ６０９で、本体機器１００のＣＰＵ１０１は、周辺機器２００は偽造品であると判定する。即ち、周辺機器２００の認証は失敗する。そして、処理は終了する。
【０１０９】
（Ｓ６００−２：比較処理）
次に、図１７を参照して、本実施形態に係る比較処理の第２の例を説明する。図１７は、本実施形態に係る比較処理の概略的な流れの第２の例を示すフローチャートである。当該比較処理は、図９を参照して説明した比較処理に対応する。
【０１１０】
ステップＳ６２１で、本体機器１００のＣＰＵ１０１は、個別鍵２１を用いてチャレンジを暗号化する。
【０１１１】
ステップＳ６２３で、本体機器１００のＣＰＵ１０１は、暗号化されたチャレンジと受信されたレスポンスとを比較する。
【０１１２】
ステップＳ６２５で、暗号化されたチャレンジと受信されたレスポンスとが一致すれば、処理はステップＳ６２７へ進む。そうでなければ、処理は、ステップＳ６２９へ進む。
【０１１３】
ステップＳ６２７で、本体機器１００のＣＰＵ１０１は、周辺機器２００は純正品（又は正規品）であると判定する。即ち、周辺機器２００の認証は成功する。そして、処理は終了する。
【０１１４】
ステップＳ６２９で、本体機器１００のＣＰＵ１０１は、周辺機器２００は偽造品であると判定する。即ち、周辺機器２００の認証は失敗する。そして、処理は終了する。
【０１１５】
以上、本実施形態の各装置の構成及び処理の流れを説明した。本実施形態によれば、低コストで高速且つセキュアな機器認証を行うことが可能になる。
【０１１６】
より具体的には、第１に、周辺機器２００には、耐タンパ性を有するセキュリティチップ３００が備えられるが、本体機器１００には、耐タンパ性を有するセキュリティチップが備えられなくてもよい。また、公開鍵暗号方式のように非対称鍵（例えば、公開鍵及び秘密鍵）が用いられないので、本体機器１００は、大きいメモリを必要としない。よって、本実施形態によれば、本体機器１００及び周辺機器２００を含む情報処理システム１のコストを抑えることができる。
【０１１７】
第２に、多くの数学的に難しい処理を伴う非対称鍵（例えば、公開鍵及び秘密鍵）が用いられないので、処理速度は遅くならない。よって、本実施形態によれば、周辺機器２００を認証するためのチャレンジレスポンス認証を高速に行うことができる。
【０１１８】
第３に、個別鍵２１が、漏洩して、偽造された周辺機器に記憶したとしても、当該個別鍵２１に対応する本体機器１００以外の本体機器１００に当該偽造された周辺機器を用いることができない。なぜならば、個別鍵２１は、本体機器ごとの個別の鍵情報であるからである。即ち、マスタ鍵２３が漏洩しない限り、不特定多数の本体機器１００に用いることができる周辺機器を偽造することができない。そして、マスタ鍵２３は、耐タンパ性を有するセキュリティチップ３００内に保護されるので、非常に漏洩しにくい。したがって、周辺機器２００を認証するためのチャレンジレスポンス認証をセキュアに行うことができる。
【０１１９】
以上のように、本実施形態によれば、本体機器１００及び周辺機器２００を含む情報処理システム１のコストを抑えつつ、周辺機器２００を認証するためのチャレンジレスポンス認証を高速に且つセキュアに行うことが、可能になる。
【０１２０】
＜＜＜５．変形例＞＞＞
続いて、図１８〜図２１を参照して、本実施形態の第１〜第３の変形例を説明する。
【０１２１】
＜＜５．１．第１の変形例＞＞
まず、図１８及び図１９を参照して、本実施形態の第１の変形例を説明する。
【０１２２】
上述した本実施形態では、チャレンジレスポンス認証の度に、周辺機器２００において個別鍵２１が生成される。同じ本体機器１００によるチャレンジレスポンス認証であるにもかかわらず、個別鍵２１が毎回生成されると、毎回無駄な処理が発生することになる。
【０１２３】
そこで、本実施形態の第１の変形例では、周辺機器２００において、生成された個別鍵２１が記憶される。そして、チャレンジレスポンス認証の際に、レスポンスの生成に用いるべき個別鍵２１が既に存在する場合には、個別鍵２１は再度生成されず、記憶された個別鍵２１が用いられる。
【０１２４】
以下、本実施形態の第１の変形例をより具体的に説明する。
【０１２５】
（記憶部３３３）
個別鍵生成部３３５により生成された個別鍵２１は、記憶される。例えば、セキュリティチップ３００の記憶部３３３は、個別鍵生成部３３５により生成された個別鍵２１をさらに記憶する。より具体的には、例えば、記憶部３３３は、生成された個別鍵２１と、当該個別鍵２１に対応する機器固有情報１０とを含むルックアップテーブルを記憶する。
【０１２６】
（個別鍵生成部３３５）
セキュリティチップ３００の個別鍵生成部３３５は、個別鍵２１を生成すると、当該個別鍵２１を記憶部３３３に記憶させる。
【０１２７】
また、個別鍵２１が記憶された後に、個別鍵２１に対応する機器固有情報１０が取得されると、記憶された個別鍵２１が用いられて、チャレンジからレスポンスが生成される。即ち、個別鍵２１が記憶された後に、個別鍵２１に対応する機器固有情報１０が取得されると、個別鍵生成部３３５は、取得された機器固有情報１０から個別鍵２１を生成せずに、記憶された個別鍵２１を取得する。以下、この点について図１８を参照してより具体的に説明する。
【０１２８】
図１８は、個別鍵２１を用いてレスポンスを生成する処理の変形例を説明するための説明図である。図１８を参照すると、機器固有情報１０が取得されると、個別鍵生成部３３５は、取得された機器固有情報１０を用いて、記憶部３３３に記憶されている個別鍵２１を検索する。そして、機器固有情報１０に対応する個別鍵２１が記憶されている場合には、個別鍵生成部３３５は、記憶されている個別鍵２１を取得する。その後、上述した本実施形態と同様に、レスポンス生成部３３７が、個別鍵２１を用いて、チャレンジからレスポンスを生成する。
【０１２９】
（Ｓ５００−２：レスポンス生成処理）
次に、図１９を参照して、本実施形態の第１の変形例に係るレスポンス生成処理の一例を説明する。図１９は、本実施形態の第１の変形例に係るレスポンス生成処理の概略的な流れの一例を示すフローチャートである。当該レスポンス生成処理は、図１３及び図１８を参照して説明した処理に対応する。
【０１３０】
ステップＳ５１１で、セキュリティチップ３００の個別鍵生成部３３５は、取得された機器固有情報１０を用いて、記憶部３３３に記憶されている個別鍵２１を検索する。
【０１３１】
ステップＳ５１３で、取得された機器固有情報１０に対応する個別鍵２１が記憶されていれば、処理はステップＳ５１９へ進む。そうでなければ、処理はステップＳ５１５へ進む。
【０１３２】
ステップＳ５１５で、セキュリティチップ３００の個別鍵生成部３３５は、マスタ鍵２３を用いて、機器固有情報１０から個別鍵２１を生成する。
【０１３３】
ステップＳ５１７で、セキュリティチップ３００の個別鍵生成部３３５は、生成された個別鍵２１を記憶部３３３に記憶させる。
【０１３４】
ステップＳ５１９で、セキュリティチップ３００の個別鍵生成部３３５は、記憶されている個別鍵２１を取得する。
【０１３５】
ステップＳ５２１で、レスポンス生成部３３７は、個別鍵２１を用いて、本体機器１００により送信されるチャレンジから、本体機器１００へ送信されるレスポンスを生成する。そして、処理は終了する。
【０１３６】
以上、本実施形態の第１の変形例を説明した。本実施形態の第１の変形例によれば、周辺機器２００において、チャレンジレスポンス認証の際に、未だ生成されたことがない個別鍵２１だけが生成される。即ち、ある本体機器１００による２回目以降のチャレンジレスポンス認証では、周辺機器２００において、個別鍵２１は生成されない。よって、チャレンジレスポンス認証における周辺機器２００の処理量を減らすことができる。その結果、チャレンジレスポンス認証に要する時間が短縮される。即ち、処理速度が向上する。
【０１３７】
＜＜５．２．第２の変形例＞＞
次に、図２０を参照して、本実施形態の第２の変形例を説明する。上述した本実施形態では、本体機器１００に記憶される個別鍵２１は、工場からの出荷前に本体機器１００に記憶される。このように個別鍵２１を本体機器１００に記憶させる作業として、例えば、工場での製造の際等に、個別鍵生成用のＰＣを用いて機器固有情報１０から個別鍵２１を生成し、本体機器１００に登録することが想定される。このような作業を行うことは非常に手間がかかる。
【０１３８】
そこで、本実施形態の第２の変形例では、周辺機器２００が、本体機器１００の機器固有情報１０から個別鍵２１を生成し、生成された個別鍵２１を本体機器１００に提供する。
【０１３９】
以下、本実施形態の第２の変形例をより具体的に説明する。
【０１４０】
（個別鍵生成部３３５）
生成される個別鍵２１は、所定の条件が満たされる場合に、本体機器１００へ送信される。例えば、セキュリティチップ３００の個別鍵生成部３３５は、所定の条件が満たされる場合に、周辺機器２００（通信インターフェース２１１）に、生成された個別鍵２１を本体機器１００へ送信させる。
【０１４１】
より具体的には、例えば、本体機器１００から機器固有情報１０が通信インターフェース２１１により受信されると、個別鍵生成部３３５は、マスタ鍵２３を用いて、機器固有情報１０から個別鍵２１を生成する。そして、個別鍵生成部３３５は、通信インターフェース２１１に、生成された個別鍵２１を本体機器１００へ送信させる。
【０１４２】
上記所定の条件は、例えば、個別鍵２１が送信された回数が所定の回数を超えていないことを含む。具体的には、例えば、個別鍵生成部３３５は、個別鍵２１が既に送信された回数が所定の回数を超えていないかを判定する。そして、個別鍵２１が既に送信された回数が所定の回数を超えていない場合に、個別鍵生成部３３５は、マスタ鍵２３を用いて機器固有情報１０から個別鍵２１を生成し、通信インターフェース２１１に、生成された個別鍵２１を本体機器１００へ送信させる。なお、上記所定の回数は、例えば１回である。
【０１４３】
（個別鍵生成処理）
図２０を参照して、本実施形態の第２の変形例に係る個別鍵生成処理の一例を説明する。図２０は、本実施形態の第２の変形例に係る個別鍵生成処理の概略的な流れの一例を示すシーケンス図である。
【０１４４】
ステップＳ７０１で、本体機器１００の通信インターフェース１１１は、機器固有情報１０を周辺機器２００へ送信する。
【０１４５】
ステップＳ７０３で、個別鍵２１が既に送信された回数が所定の回数を超えていない場合に、個別鍵生成部３３５は、マスタ鍵２３を用いて機器固有情報１０から個別鍵２１を生成する。なお、個別鍵２１が既に送信された回数が所定の回数を超えていれば、この時点で処理は終了する。
【０１４６】
ステップＳ７０５で、個別鍵生成部３３５は、通信インターフェース２１１に、生成された個別鍵２１を本体機器１００へ送信させる。本体機器１００の通信インターフェース１１１は、周辺機器２００によって送信された個別鍵２１を受信する。
【０１４７】
ステップＳ７０７で、本体機器１００は、受信された個別鍵２１を記憶する。
【０１４８】
以上、本実施形態の第１の変形例を説明した。本実施形態の第２の変形例によれば、工場での製造の際等に、個別鍵生成用のＰＣを用いて個別鍵２１を算出し、本体機器１００に登録するような作業が、不要になる。よって、本体機器１００に個別鍵２１を記憶させる作業の負荷が緩和される。
【０１４９】
また、所定の回数に限り個別鍵２１が送信されることにより、個別鍵２１が別の装置へむやみに送信されなくなる。結果として、多数の本体機器１００の個別鍵２１が漏洩してしまうリスクを低減することができる。
【０１５０】
＜＜５．３．第３の変形例＞＞
次に、図２１を参照して、本実施形態の第３の変形例を説明する。本実施形態の第３の変形例では、チャレンジレスポンス認証に関する本体機器１００と周辺機器２００との間の通信は、近距離無線通信（ＮＦＣ：Near  Field  Communication）で行われる。
【０１５１】
（通信インターフェース１１１）
本体機器１００の通信インターフェース１１１は、本体機器１００が外部装置（とりわけ、周辺機器２００）とＮＦＣで通信を行うためのＮＦＣ通信インターフェースを含む。そして、通信インターフェース１１１は、ＮＦＣの通信規格に従って通信する。一例として、当該通信規格は、ＦｅｌｉＣａ（登録商標）又はＮＦＣ−Ｆの通信規格である。
【０１５２】
とりわけ、チャレンジ及び機器固有情報１０の送信は、ＮＦＣで行われる。即ち、通信インターフェース１１１は、チャレンジレスポンス認証のためのチャレンジ及び機器固有情報１０を周辺機器２００へＮＦＣで送信する。
【０１５３】
例えば、チャレンジ及び機器固有情報１０の送信は、ＮＦＣの通信規格に従った書き込み用のコマンドを用いて行われる。一例として、当該書き込みコマンドは、ＦｅｌｉＣａコマンドであるＷｒｉｔｅ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドである。この場合に、通信インターフェース１１１は、チャレンジ及び機器固有情報１０を含むＷｒｉｔｅ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドを周辺機器２００に送信する。
【０１５４】
なお、チャレンジ及び機器固有情報１０の送信は、ＮＦＣの通信規格に従った読み込み用のコマンドを用いて行われてもよい。一例として、当該読み込みコマンドは、ＦｅｌｉＣａコマンドであるＲｅａｄ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドである。この場合に、通信インターフェース１１１は、チャレンジ及び機器固有情報１０を含むＲｅａｄ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎレスポンスを周辺機器２００に送信する。
【０１５５】
また、レスポンスの受信も、ＮＦＣで行われる。即ち、通信インターフェース１１１は、チャレンジレスポンス認証のためのレスポンスを周辺機器２００からＮＦＣで受信する。
（通信インターフェース２１１）
周辺機器２００の通信インターフェース２１１は、周辺機器２００が外部装置（とりわけ、本体機器１００）とＮＦＣで通信を行うためのＮＦＣ通信インターフェースを含む。そして、通信インターフェース２１１は、ＮＦＣの通信規格に従って通信する。一例として、当該通信規格は、ＦｅｌｉＣａ（登録商標）又はＮＦＣ−Ｆの通信規格である。
【０１５６】
とりわけ、レスポンスの送信は、ＮＦＣで行われる。即ち、通信インターフェース２１１は、チャレンジレスポンス認証のためのレスポンスを本体機器１００へＮＦＣで送信する。
【０１５７】
例えば、レスポンスの送信は、ＮＦＣの通信規格に従った読み込み用のコマンドを用いて行われる。一例として、当該読み込みコマンドは、ＦｅｌｉＣａコマンドであるＲｅａｄ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドである。この場合に、通信インターフェース２１１は、レスポンスを含むＲｅａｄ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎレスポンスを本体機器１００に送信する。
【０１５８】
また、レスポンスの送信は、ＮＦＣの通信規格に従った書き込み用のコマンドを用いて行われてもよい。一例として、当該書き込みコマンドは、ＦｅｌｉＣａコマンドであるＷｒｉｔｅ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドである。この場合に、通信インターフェース２１１は、レスポンスを含むＷｒｉｔｅ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドを本体機器１００に送信する。
【０１５９】
（チャレンジレスポンス認証処理）
図２１を参照して、本実施形態の第３の変形例に係るチャレンジレスポンス認証処理の一例を説明する。図２１は、本実施形態の第３の変形例に係るチャレンジレスポンス認証処理の概略的な流れの一例を示すシーケンス図である。
【０１６０】
ステップＳ４０１で、本体機器１００のＣＰＵ１０１は、チャレンジレスポンス認証のためのチャレンジを生成する。
【０１６１】
ステップＳ４２１で、本体機器１００の通信インターフェース１１１は、チャレンジ及び機器固有情報１０を含むＷｒｉｔｅ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドを周辺機器２００に送信する。そして、ステップＳ４２３で、周辺機器２００の通信インターフェース２１１は、Ｗｒｉｔｅ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎレスポンスを本体機器１００に送信する。
【０１６２】
ステップＳ５００で、周辺機器２００に備えられるセキュリティチップ３００は、レスポンス生成処理を実行する。即ち、セキュリティチップ３００は、上記チャレンジに対応するレスポンスを生成する。
【０１６３】
ステップＳ４２５で、本体機器１００の通信インターフェース１１１は、Ｒｅａｄ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎコマンドを周辺機器２００に送信する。そして、ステップＳ４２７で、通信インターフェース２１１は、レスポンスを含むＲｅａｄ  Ｗｉｔｈｏｕｔ  Ｅｎｃｒｙｐｔｉｏｎレスポンスを本体機器１００に送信する。
【０１６４】
ステップＳ６００で、本体機器１００のＣＰＵ１０１は、上記チャレンジ及び上記レスポンスを用いた比較処理を実行する。その結果、周辺機器２００が純正品（若しくは正規品）であるか又は偽造品であるかを示す認証結果が得られる。
【０１６５】
以上、本実施形態の第３の変形例を説明した。本実施形態の第３の変形例によれば、ＮＦＣでの通信によりチャレンジレスポンス認証のための送受信が行われるので、周辺機器２００を近づけた時点で認証が行われる。そのため、周辺機器２０が使用される前に、認証が完了する。よって、本実施形態の第３の変形例によれば、認証に起因する待ち時間を省き、又は短くすることが可能になる。
【０１６６】
また、ＮＦＣの通信規格に従った書き込み用のコマンド又は書き込みコマンドを用いることで、新たなコマンドを追加することなく、チャレンジレスポンス認証を行うことが可能になる。
【０１６７】
＜＜＜６．まとめ＞＞＞
ここまで、図１〜図２１を用いて、本開示の実施形態に係る各装置の構成、処理の流れ及び変形例を説明した。本開示に係る実施形態によれば、セキュリティチップ３００は、本体機器１００によって送信される機器固有情報１０を取得する。また、セキュリティチップ３００は、本体機器１００によりチャレンジレスポンス認証に用いられる個別鍵２１を機器固有情報から生成することを可能にするマスタ鍵２３を記憶する。そして、セキュリティチップ３００は、マスタ鍵２３を用いて、機器固有情報１０から個別鍵２１を生成する。その後、個別鍵２１が用いられて、本体機器１００から送信されるチャレンジから、本体機器１００へ送信されるレスポンスが生成される。なお、個別鍵２１は、本体機器１００において、耐タンパ性を有するセキュリティチップに記憶されない。
【０１６８】
これにより、低コストで高速且つセキュアな機器認証を行うことが可能になる。
【０１６９】
より具体的には、第１に、周辺機器２００には、耐タンパ性を有するセキュリティチップ３００が備えられるが、本体機器１００には、耐タンパ性を有するセキュリティチップが備えられなくてもよい。また、公開鍵暗号方式のように非対称鍵（例えば、公開鍵及び秘密鍵）が用いられないので、本体機器１００は、大きいメモリを必要としない。よって、本実施形態によれば、本体機器１００及び周辺機器２００を含む情報処理システム１のコストを抑えることができる。
【０１７０】
第２に、多くの数学的に難しい処理を伴う非対称鍵（例えば、公開鍵及び秘密鍵）が用いられないので、処理速度は遅くならない。よって、本実施形態によれば、周辺機器２００を認証するためのチャレンジレスポンス認証を高速に行うことができる。
【０１７１】
第３に、個別鍵２１が、漏洩して、偽造された周辺機器に記憶したとしても、当該個別鍵２１に対応する本体機器１００以外の本体機器１００に当該偽造された周辺機器を用いることができない。なぜならば、個別鍵２１は、本体機器１００ごとの個別の鍵情報であるからである。即ち、マスタ鍵２３が漏洩しない限り、不特定多数の本体機器１００に用いることができる周辺機器を偽造することができない。そして、マスタ鍵２３は、耐タンパ性を有するセキュリティチップ３００内に保護されるので、非常に漏洩しにくい。したがって、周辺機器２００を認証するためのチャレンジレスポンス認証をセキュアに行うことができる。
【０１７２】
以上のように、本実施形態によれば、本体機器１００及び周辺機器２００を含む情報処理システム１のコストを抑えつつ、周辺機器２００を認証するためのチャレンジレスポンス認証を高速に且つセキュアに行うことが、可能になる。
【０１７３】
また、例えば、上記マスタ鍵２３は、セキュリティチップ３００と同様に動作する別のセキュリティチップでも共通に用いられる鍵情報である。
【０１７４】
これにより、周辺機器２００が交換されたとしても、本体機器１００は（例えば、工場出荷前に記憶された）個別鍵２１を継続して使用することができる。また、周辺機器２００が別の本体機器１００に接続され又は搭載されたとしても、当該別の本体機器１００は、周辺機器２００を認証することができる。
【０１７５】
また、例えば、上記機器固有情報１０は、本体機器１００のためにランダムに生成された情報（例えば、乱数）である。
【０１７６】
これにより、本体機器１００の識別情報を取得することが難しい場合でも、本体機器１０に固有の情報を得ることが可能になる。
【０１７７】
また、上記機器固有情報１０は、本体機器１００又は本体機器１００の部品を一意に識別するための識別情報であってもよい。
【０１７８】
これにより、新たな情報を生成することなく、本体機器１０に固有の情報を得ることが可能になる。
【０１７９】
また、例えば、上記チャレンジレスポンス認証は、周辺機器２００（セキュリティチップ３００）により生成されるレスポンスと、本体機器１００により個別鍵２１を用いてチャレンジから生成されるレスポンスとを比較することを含む。
【０１８０】
これにより、チャレンジの比較ではなく、レスポンスの比較を行うことにより、処理をより高速化することができる。第１に、本体機器１００は、チャレンジを周辺機器２００へ送信してから、レスポンスを周辺機器２００から受信するまでの間に、チャレンジからレスポンスを生成することができる。よって、本体機器１００は、レスポンスの受信後に即座に比較を行うことができる。その結果、処理に要する時間が短くなる。第２に、レスポンスを復号する処理よりも、チャレンジを暗号化する処理の方が、短時間で完了するので、処理に要する時間が短くなる。このように、処理が高速され得る。
【０１８１】
また、本開示に係る実施形態の第１の変形例によれば、個別鍵生成部３３５により生成された個別鍵２１は、記憶される。そして、個別鍵２１が記憶された後に、個別鍵２１に対応する機器固有情報１０が取得されると、記憶された個別鍵２１が用いられて、チャレンジからレスポンスが生成される。
【０１８２】
これにより、周辺機器２００において、チャレンジレスポンス認証の際に、未だ生成されたことがない個別鍵２１だけが生成される。即ち、ある本体機器１００による２回目以降のチャレンジレスポンス認証では、周辺機器２００において、個別鍵２１は生成されない。よって、チャレンジレスポンス認証における周辺機器２００の処理量を減らすことができる。その結果、チャレンジレスポンス認証に要する時間が短縮される。即ち、処理速度が向上する。
【０１８３】
また、本開示に係る実施形態の第２の変形例によれば、生成される個別鍵２１は、所定の条件が満たされる場合に、本体機器１００へ送信される。
【０１８４】
これにより、工場での製造の際等に、個別鍵生成用のＰＣを用いて個別鍵２１を算出し、本体機器１００に登録するような作業が、不要になる。よって、本体機器１００に個別鍵２１を記憶させる作業の負荷が緩和される。
【０１８５】
また、例えば、上記所定の条件は、例えば、個別鍵２１が送信された回数が所定の回数を超えていないことを含む。
【０１８６】
これにより、所定の回数に限り個別鍵２１が送信されることにより、個別鍵２１が別の装置へむやみに送信されなくなる。結果として、多数の本体機器１００の個別鍵２１が漏洩してしまうリスクを低減することができる。
【０１８７】
また、本開示に係る実施形態の第３の変形例によれば、チャレンジ及び機器固有情報１０の送信は、ＮＦＣで行われる。
【０１８８】
これにより、周辺機器２００を近づけた時点で認証が行われる。そのため、周辺機器２０が使用される前に、認証が完了する。よって、本実施形態の第３の変形例によれば、認証に起因する待ち時間を省き、又は短くすることが可能になる。
【０１８９】
また、例えば、チャレンジ及び機器固有情報１０の送信、又はレスポンスの送信は、ＮＦＣで行われる。
【０１９０】
これにより、新たなコマンドを追加することなく、チャレンジレスポンス認証を行うことが可能になる。
【０１９１】
以上、添付図面を参照しながら本開示の好適な実施形態を説明したが、本開示は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
【０１９２】
例えば、別の装置（例えば、周辺機器）を認証する情報処理装置の一例として本体機器を説明したが、当該情報処理装置は本体機器に限られない。当該情報処理装置は、別の装置を認証することを必要とするいずれかの装置（完成品のみではなく、チップ等の部品を含む）であってもよい。
【０１９３】
また、別の装置（例えば、本体機器）により認証される情報処理装置の一例として周辺機器を説明したが、当該情報処理装置は周辺機器に限られない。当該情報処理装置は、偽造防止の対象となるいずれかの装置であって、セキュリティチップを備える当該いずれかの装置（完成品のみではなく、チップ等の部品を含む）であってもよい。
【０１９４】
また、個別鍵を用いたレスポンスの生成がセキュリティチップにより行われる例を説明したが、本開示はこの例に限られない。例えば、セキュリティチップ外の処理回路（例えば、周辺機器のＣＰＵ）が、セキュリティチップにより生成された個別鍵を用いて、チャレンジからレスポンスを生成してもよい。
【０１９５】
また、マスタ鍵は純正品（又は正規品）のセキュリティチップで共通に用いられることを説明したが、本開示はこの例に限られない。例えば、マスタ鍵は、周辺機器の種類（例えば、電池パック、コントローラ、等）ごとに共通に用いられてもよい。この場合には、周辺機器の種類ごとに、対応するマスタ鍵を記憶するセキュリティチップが用意される。また、例えば、同じ種類の周辺機器に、いくつかのマスタ鍵が用いられてもよい。例えば、マスタ鍵は、周辺機器の製造者ごとに共通に用いられてもよい。この場合には、製造事業者ごと（且つ周辺機器の種類ごと）に、対応するマスタ鍵を記憶するセキュリティチップが用意される。なお、複数のマスタ鍵が存在する場合には、本体機器は、当該複数のマスタ鍵の各々に対応する個別鍵を記憶する。
【０１９６】
また、本体機器、周辺機器及びセキュリティチップのハードウェア構成は、上述した例に限られない。本体機器、周辺機器及びセキュリティチップの機能を実装するための様々なハードウェア構成が採用され得る。一例として、ＣＰＵの代わりに、ワイヤードロジックが備えられてもよい。
【０１９７】
また、本明細書の情報処理における処理ステップは、必ずしもフローチャートに記載された順序に沿って時系列に実行されなくてよい。例えば、情報処理における処理ステップは、フローチャートとして記載した順序と異なる順序で実行されても、並列的に実行されてもよい。
【０１９８】
また、情報処理装置に内蔵されるＣＰＵ、ＲＯＭ及びＲＡＭ等のハードウェアに、上記情報処理装置の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させた記憶媒体も提供される。
【０１９９】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、
前記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を前記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、
前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
を備え、
前記第１の鍵情報が用いられて、前記装置によって送信されるチャレンジから、前記装置へ送信されるレスポンスが生成され、
前記第１の鍵情報は、前記装置において、耐タンパ性を有するセキュリティチップに記憶されない、
耐タンパ性を有するセキュリティチップ。
（２）
前記第２の鍵情報は、前記セキュリティチップと同様に動作する別のセキュリティチップでも共通に用いられる鍵情報である、前記（１）に記載のセキュリティチップ。
（３）
前記固有の情報は、前記装置のためにランダムに生成された情報である、前記（１）又は（２）に記載のセキュリティチップ。
（４）
前記固有の情報は、前記装置又は当該装置の部品を一意に識別するための識別情報である、前記（１）又は（２）に記載のセキュリティチップ。
（５）
生成される前記第１の鍵情報は、記憶され、
前記第１の鍵情報が記憶された後に、前記固有の情報が取得されると、記憶された前記第１の鍵情報が用いられて、前記チャレンジから前記レスポンスが生成される、
前記（１）〜（４）のいずれか１項に記載のセキュリティチップ。
（６）
生成される前記第１の鍵情報は、所定の条件が満たされる場合に、前記装置へ送信される、前記（１）〜（５）のいずれか１項に記載のセキュリティチップ。
（７）
前記所定の条件は、前記第１の鍵情報が送信された回数が所定の回数を超えていないことを含む、前記（６）に記載のセキュリティチップ。
（８）
前記チャレンジレスポンス認証は、前記セキュリティチップにより生成される前記レスポンスと、前記装置により前記第１の鍵情報を用いて前記チャレンジから生成されるレスポンスとを比較することを含む、前記（１）〜（７）のいずれか１項に記載のセキュリティチップ。
（９）
前記チャレンジ及び前記固有の情報の送信、又は前記レスポンスの送信は、近距離無線通信（ＮＦＣ）で行われる、前記（１）〜（８）のいずれか１項に記載のセキュリティチップ。
（１０）
前記チャレンジ及び前記固有の情報の送信、又は前記レスポンスの送信は、近距離無線通信（ＮＦＣ）の通信規格に従った書き込み用のコマンド又は読み込み用のコマンドを用いて行われる、前記（９）に記載のセキュリティチップ。
（１１）
耐タンパ性を有するセキュリティチップを、
チャレンジレスポンス認証を行う装置によって送信される、当該装置に固有の情報を取得する取得部と、
前記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を前記固有の情報から生成することを可能にする第２の鍵情報であって、前記セキュリティチップに記憶される前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
として機能させ、
前記第１の鍵情報が用いられて、前記装置によって送信されるチャレンジから、前記装置へ送信されるレスポンスが生成され、
前記第１の鍵情報は、前記装置において、耐タンパ性を有するセキュリティチップに記憶されない、
プログラム。
（１２）
チャレンジレスポンス認証を行う装置によって送信されるチャレンジ及び当該装置に固有の情報を受信し、当該チャレンジに対応するレスポンスを前記装置へ送信する通信インターフェースと、
耐タンパ性を有するセキュリティチップと、
を備え、
前記セキュリティチップは、
前記固有の情報を取得する取得部と、
前記装置によりチャレンジレスポンス認証に用いられる第１の鍵情報を前記固有の情報から生成することを可能にする第２の鍵情報を記憶する記憶部と、
前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
を含み、
前記第１の鍵情報が用いられて、前記チャレンジから、前記装置へ送信されるレスポンスが生成され、
前記第１の鍵情報は、前記装置において、耐タンパ性を有するセキュリティチップに記憶されない、
情報処理装置。
（１３）
チャレンジレスポンス認証のためのチャレンジ及び自装置に固有の情報を、耐タンパ性を有するセキュリティチップを含む装置へ送信し、当該チャレンジに対応するレスポンスを前記装置から受信する通信インターフェースと、
自装置に記憶される第１の鍵情報、前記チャレンジ及び前記レスポンスを用いて、チャレンジレスポンス認証を行う処理回路と、
を備え、
前記セキュリティチップは、前記固有の情報から前記第１の鍵情報を生成することを可能にする第２の鍵情報を記憶し、
前記第１の鍵情報は、前記セキュリティチップによって、前記第２の鍵情報を用いて前記固有の情報から生成され、
前記レスポンスは、前記装置において、前記第１の鍵情報を用いて前記チャレンジから生成され、
前記第１の鍵情報は、自装置において、耐タンパ性を有するセキュリティチップに記憶されない、
情報処理装置。
（１４）
第１の情報処理装置と、
第２の情報処理装置と、
を含み、
前記第１の情報処理装置は、
チャレンジレスポンス認証のためのチャレンジ及び前記第１の情報処理装置に固有の情報を、前記第２の情報処理装置へ送信し、当該チャレンジに対応するレスポンスを前記第２の情報処理装置から受信する通信インターフェースと、
前記第１の情報処理装置に記憶される第１の鍵情報、前記チャレンジ及び前記レスポンスを用いて、チャレンジレスポンス認証を行う処理回路と、
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置によって送信される前記チャレンジ及び前記固有の情報を受信し、前記レスポンスを前記第１の情報処理装置へ送信する通信インターフェースと、
耐タンパ性を有するセキュリティチップと、
を備え、
前記セキュリティチップは、
前記固有の情報を取得する取得部と、
前記固有の情報から前記第１の鍵情報を生成することを可能にする第２の鍵情報を記憶する記憶部と、
前記第２の鍵情報を用いて、前記固有の情報から前記第１の鍵情報を生成する生成部と、
を含み、
前記レスポンスは、前記第２の情報処理装置において、前記第１の鍵情報を用いて前記チャレンジから生成され、
前記第１の鍵情報は、前記第１の情報処理装置において、耐タンパ性を有するセキュリティチップに記憶されない、
情報処理システム。
【符号の説明】
【０２００】
１０        機器固有情報
２１        個別鍵
２３        マスタ鍵
１００      本体機器
１０１      ＣＰＵ（Central  Processing  Unit）
１１１      通信インターフェース
２００      本体機器
２０１      ＣＰＵ
２１１      通信インターフェース
３００      セキュリティチップ
３３１      情報取得部
３３３      記憶部
３３５      個別鍵生成部
３３７      レスポンス生成部
【図１】
2014053675.tif 000003
【図２】
2014053675.tif 000004
【図３】
2014053675.tif 000005
【図４】
2014053675.tif 000006
【図５】
2014053675.tif 000007
【図６】
2014053675.tif 000008
【図７】
2014053675.tif 000009
【図８】
2014053675.tif 000010
【図９】
2014053675.tif 000011
【図１０】
2014053675.tif 000012
【図１１】
2014053675.tif 000013
【図１２】
2014053675.tif 000014
【図１３】
2014053675.tif 000015
【図１４】
2014053675.tif 000016
【図１５】
2014053675.tif 000017
【図１６】
2014053675.tif 000018
【図１７】
2014053675.tif 000019
【図１８】
2014053675.tif 000020
【図１９】
2014053675.tif 000021
【図２０】
2014053675.tif 000022
【図２１】
2014053675.tif 000023