(57)【要約】      （修正有）【課題】読み出し処理の回数が増加した場合でも応答性が低下しない半導体装置及び情報処理システムを提供する。【解決手段】半導体装置及び情報処理システムは、外部装置において、半導体装置１に固有な値であるユニークコードＵＣを用いて第１のデバイス固有情報ＵＩＤ１を生成し、第１のデバイス固有情報ＵＩＤ１を用いて第１の情報Ｓ１を暗号化した第２の情報Ｓ２を生成し、半導体装置１は、第２の情報Ｓ２を格納し、第２の情報Ｓ２を自デバイスで保持しているユニークコードＵＣを用いて外部装置１００とは独立して第２のデバイス固有情報ＵＩＤ２を生成し、第２のデバイス固有情報ＵＩＤ２を用いて第２の情報Ｓ２を復号することで第１の情報Ｓ１を得る。【選択図】図１
2014096771.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに固有な値であるユニークコードを格納するユニークコード格納部と、
前記ユニークコードから生成された第１のデバイス固有情報を用いて第１の情報を暗号化した第２の情報を少なくとも含む第３の情報を外部装置から取得して格納する受信情報格納部と、
前記ユニークコードを用いて第２のデバイス固有情報を生成する固有情報生成回路と、
前記第２のデバイス固有情報を用いて前記第２の情報を復号して前記第１の情報を出力する復号回路と、を有する半導体装置。
【請求項２】
前記第１の情報を用いて通信対象情報に対して暗号化処理及び復号処理を行う暗号処理回路を有する請求項１に記載の半導体装置。
【請求項３】
前記固有情報生成回路は、前記ユニークコードのハッシュ値を前記第２のデバイス固有情報として出力する請求項１に記載の半導体装置。
【請求項４】
前記第１のデバイス固有情報は、前記ユニークコードから生成したハッシュ定数と前記ユニークコードとから算出されたハッシュ値であって、
前記第３の情報は、前記第２の情報と前記ハッシュ定数とを含み、
前記第３の情報から前記ハッシュ定数と前記第２の情報を抽出する受信情報抽出回路を有し、
前記固有情報生成回路は、前記ユニークコードと前記ハッシュ定数とから算出したハッシュ値を前記第２のデバイス固有情報として出力し、
前記復号回路は、前記受信情報抽出回路から出力される前記第２の情報に対して前記第２のデバイス固有情報を用いた復号処理を行う請求項１に記載の半導体装置。
【請求項５】
前記第３の情報は、前記ハッシュ定数を用いて前記第２の情報をスクランブル処理して生成される請求項４に記載の半導体装置。
【請求項６】
前記ユニークコードに対してエラー訂正処理を行うエラー訂正回路と、前記ユニークコードに対してエラー検出処理を行うエラー検出回路と、の少なくとも一方を有し、
前記固有情報生成回路は、前記エラー訂正回路及び前記エラー検出回路の少なくとも一方による処理がなされた前記ユニークコードに基づき前記第２のデバイス固有情報を生成する請求項１に記載の半導体装置。
【請求項７】
前記ユニークコード格納部は、不揮発性メモリである請求項１に記載の半導体装置。
【請求項８】
半導体装置と、外部装置と、を有する情報処理システムであって、
前記外部装置は、
前記半導体装置から前記半導体装置に固有な値であるユニークコードを取得し、前記ユニークコードから第１のデバイス固有情報を生成する第１の固有情報生成回路と、
前記第１のデバイス固有情報を用いて第１の情報を暗号化した第２の情報を少なくとも含む第３の情報を生成する送信情報生成回路と、を有し、
前記半導体装置は、
前記ユニークコードを格納するユニークコード格納部と、
前記第２の情報を含む前記第３の情報を前記外部装置から取得して格納する受信情報格納部と、
前記ユニークコードを用いて第２のデバイス固有情報を生成する第２の固有情報生成回路と、
前記第２のデバイス固有情報を用いて前記第２の情報を復号して前記第１の情報を出力する復号回路と、を有する情報処理システム。
【請求項９】
前記第１、第２の固有情報生成回路は、前記ユニークコードのハッシュ値を前記第１、第２のデバイス固有情報として出力する請求項８に記載の情報処理システム。
【請求項１０】
前記外部装置は、
前記ユニークコードに応じた値を有する定数を生成する定数生成回路をさらに有し、
前記第１の固有情報生成回路は、前記定数と前記ユニークコードとを用いて前記第１のデバイス固有情報を生成し、
前記送信情報生成回路は、前記第２の情報及び前記定数を含む前記第３の情報を生成し、
前記半導体装置は、
前記第３の情報から前記第２の情報と前記定数とを抽出する受信情報抽出回路をさらに有し、
前記第２の固有情報生成回路は、前記ユニークコードと、前記受信情報抽出回路から出力される前記定数と、を用いて前記第２のデバイス固有情報を生成する請求項８に記載の情報処理システム。
【請求項１１】
前記定数生成回路は、前記ユニークコードのハッシュ値を前記定数として出力する請求項１０に記載の情報処理システム。
【請求項１２】
前記第１、第２の固有情報生成回路は、前記ユニークコード及び前記定数に対応したハッシュ値を前記第１、第２のデバイス固有情報として出力する請求項１０に記載の情報処理システム。
【請求項１３】
前記送信情報生成回路は、前記定数を用いて前記第２の情報をスクランブル処理して前記第３の情報を生成する請求項１０に記載の情報処理システム。
【請求項１４】
前記外部装置は、
正当値が予め記述されたデータベースを参照して前記第１のデバイス固有情報の正当性を検査し、前記第１のデバイス固有情報が正当である場合にイネーブル状態となる許可信号を出力する正当性検査回路と、
前記送信情報生成回路は、前記許可信号がディスイネーブル状態である場合は、前記第３の情報の出力を停止する請求項８に記載の情報処理システム。
【請求項１５】
前記外部装置と前記半導体装置は、前記外部装置と前記半導体装置との間の通信を中継する中継装置を介して通信を行う請求項８に記載の情報処理システム。
【請求項１６】
前記半導体装置は、前記第１の情報を用いて通信対象情報に対して暗号化処理及び復号処理を行う暗号処理回路を有する請求項８に記載の情報処理システム。
【請求項１７】
前記半導体装置は、前記ユニークコードに対してエラー訂正処理を行うエラー訂正回路と、前記ユニークコードに対してエラー検出処理を行うエラー検出回路と、の少なくとも一方を有し、
前記第１の固有情報生成回路は、前記エラー訂正回路及び前記エラー検出回路の少なくとも一方による処理がなされた前記ユニークコードに基づき前記第２のデバイス固有情報を生成し、
前記外部装置は、前記エラー訂正回路及び前記エラー検出回路の少なくとも一方による処理がなされた前記ユニークコードを受信する請求項８に記載の情報処理システム。
【請求項１８】
前記ユニークコード格納部は、不揮発性メモリである請求項８に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置及び情報処理システムに関し、例えば暗号通信を行う半導体装置及び情報処理システムに関する。
【背景技術】
【０００２】
近年、半導体装置に対する不正アクセスへの耐性向上、或いは、模造品対策のために暗号化技術を利用したセキュリティ技術が多く提案されている。この暗号化技術では、暗号鍵が用いられるが、暗号鍵を攻撃者に取得された場合、半導体装置への不正アクセスが可能になるため問題がある。そのため、鍵情報のような漏洩した場合に不都合な情報は、秘匿情報として外部への漏洩を防止することが求められる。そこで、秘匿情報の１つである鍵情報についてのセキュリティ対策の例が特許文献１〜４に開示されている。
【０００３】
特許文献１〜４は、いずれも、シリコンＩＤ、或いは、ＰＵＦ（Physically Unclonable Function）等の半導体装置の製造のばらつきにより値が異なる固有値を用いて鍵情報等の秘匿情報を生成する。特許文献１〜４では、このような固有値はエラーを含むため、このような固有値を用いて確定的な秘匿情報を生成する場合、固有値に対してエラー訂正処理を施す必要がある。このような固有値に基づき秘匿情報を生成することで、秘匿情報が固定的な値として保持する必要がないため半導体装置のセキュリティを向上させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０５６６１２号
【特許文献２】特開２００６−１７９００１号公報
【特許文献３】特表２０１０−５２７２１９号公報
【特許文献４】特表２００８−５４５３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、シリコンＩＤ或いはＰＵＦを用いた場合、固有値のエラーがランダムに発生するために、正しい固有値を得るために複数回の読み出し処理を実施しなければならない場合がある。そのため、読み出し処理の回数が増加した場合に半導体装置の応答性が低下する問題が生じる。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、半導体装置及び情報処理システムは、外部装置において、半導体装置に固有な値であるユニークコードを用いて第１のデバイス固有情報を生成し、当該第１のデバイス固有情報を用いて第１の情報を暗号化した第２の情報を生成する。そして、半導体装置は、当該第２の情報を格納し、当該第２の情報を自デバイスで保持しているユニークコードを用いて外部装置とは独立して第２のデバイス固有情報を生成し、当該第２のデバイス固有情報を用いて第２の情報を復号することで第１の情報を得る。
【０００８】
なお、上記実施の形態の装置を方法に置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラムなども、本発明の態様としては有効である。
【発明の効果】
【０００９】
前記一実施の形態によれば、半導体装置及び情報処理システムは、半導体装置の応答性を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる情報処理システムのブロック図である。
【図２】実施の形態１にかかる情報処理システムにおいて第１の情報の書き込み時に利用される部分を示すブロック図である。
【図３】実施の形態１にかかる情報処理システムの第１の情報の書き込み時の動作を示すシーケンス図である。
【図４】実施の形態１にかかる情報処理システムにおいて第１の情報による暗号通信を行う場合に利用される部分を示すブロック図である。
【図５】実施の形態１にかかる情報処理システムの第１の情報による暗号通信を行う場合の動作を示すシーケンス図である。
【図６】実施の形態２にかかる情報処理システムのブロック図である。
【図７】実施の形態２にかかる情報処理システムにおいて第１の情報の書き込み時に利用される部分を示すブロック図である。
【図８】実施の形態２にかかる情報処理システムの第１の情報の書き込み時の動作を示すシーケンス図である。
【図９】実施の形態２にかかる情報処理システムにおいて第１の情報による暗号通信を行う場合に利用される部分を示すブロック図である。
【図１０】実施の形態２にかかる情報処理システムの第１の情報による暗号通信を行う場合の動作を示すシーケンス図である。
【図１１】実施の形態３にかかる情報処理システムのブロック図である。
【図１２】実施の形態３にかかる情報処理システムにおいて第１の情報の書き込み時に利用される部分を示すブロック図である。
【図１３】実施の形態３にかかる情報処理システムの第１の情報の書き込み時の動作を示すシーケンス図である。
【図１４】実施の形態３にかかる情報処理システムにおいて第１の情報による暗号通信を行う場合に利用される部分を示すブロック図である。
【図１５】実施の形態３にかかる情報処理システムの第１の情報による暗号通信を行う場合の動作を示すシーケンス図である。
【図１６】実施の形態４にかかる情報処理システムのブロック図である。
【図１７】実施の形態４にかかる情報処理システムにおいて第１の情報の書き込み時に利用される部分を示すブロック図である。
【図１８】実施の形態４にかかる情報処理システムの外部装置の動作を示すシーケンス図である。
【図１９】実施の形態５にかかる情報処理システムのブロック図である。
【図２０】実施の形態５にかかる情報処理システムにおいて第１の情報の書き込み時に利用される部分を示すブロック図である。
【発明を実施するための形態】
【００１１】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１２】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１３】
実施の形態１
以下、図面を参照して実施の形態について説明する。まず、実施の形態にかかる情報処理システムは、一方の装置に漏洩防止が必要な第１の情報（例えば、秘匿情報）を格納し、当該秘匿情報を当該一方の装置から他方の装置に送信する構成を特徴の１つとして有する。また、実施の形態にかかる半導体装置は、他の装置（例えば、外部装置）から与えられた第１の情報を用いた動作の応答性を向上させる構成を有するものである。実施の形態にかかる半導体装置及び情報処理システムのこのような特徴は、様々な用途で利用できる。しかし、以下の説明では、第１の情報（例えば、秘密鍵）を有する外部装置と当該外部装置により秘密鍵が書き込まれる第１の半導体装置と、第１の半導体装置と秘密鍵を利用した暗号通信を行う第２の半導体装置と、を有するシステムを実施の形態の一例として説明する。
【００１４】
そこで、図１に実施の形態１にかかる情報処理システムのブロック図を示す。図１に示すように、実施の形態１にかかる情報処理システムは、半導体装置１、２００及び外部装置１００を有する。外部装置１００は、例えば、コンピュータ等の機器であって、半導体装置１に与える第１の情報Ｓ１（例えば、秘匿情報）を管理するものである。また、外部装置１００は、半導体装置１と通信可能なインタフェースを有する。そして、半導体装置１は、与えられた第１の情報Ｓ１を用いて半導体装置２００と暗号通信を行う。半導体装置１及び半導体装置２００は、例えば、演算回路と当該演算回路に利用されるタイマ、アナログデジタル変換回路、通信インタフェース、不揮発性メモリ等の周辺回路が搭載されたＭＣＵ（Micro Computing Unit）である。なお、図１では、半導体装置１の演算回路等は特徴的な部分ではないため、図示を省略した。また、半導体装置２００は、第１の情報Ｓ１がすでに格納された半導体装置１と暗号通信機能としては実質的に同じものでるものとして、詳細については省略した。
【００１５】
半導体装置１は、ユニークコード格納部１０、受信情報格納部（例えば、格納部１１）、データ格納部（例えば、格納部１２）、暗号回路１３を有する。ユニークコード格納部１０は、デバイスに固有な値であるユニークコードＵＣを格納する。ユニークコード格納部１０は、例えば、フラッシュメモリ、ＥＥＰＲＯＭ等の不揮発性メモリである。実施の形態１にかかる半導体装置１では、ユニークコードＵＣは、予め設定された値を有し、かつ、正常な状態においてランダムなエラーを含まないものとする。受信情報格納部とデータ格納部は、例えばフラッシュメモリやＭＲＡＭ、ＲｅＲＡＭ等の不揮発メモリで、説明のために分けて表示しているが、物理的に分かれた素子である必要はない。
【００１６】
格納部１１は、外部装置１００から出力される第３の情報Ｓ３を格納する。この第３の情報Ｓ３は、外部装置１００が生成するものであって、ユニークコードＵＣから生成された第１のデバイス固有情報を用いて第１の情報を暗号化した第２の情報を少なくとも含む。格納部１１は、例えば、書き換え可能な不揮発性メモリである。
【００１７】
格納部１２は、半導体装置２００と通信を行う場合に通信対象となるデータを格納するものであって、書き換え可能なメモリである。
【００１８】
暗号回路１３は、格納部１１に格納された第３の情報Ｓ３とユニークコード格納部１０に格納されたユニークコードＵＣとを用いて第１の情報Ｓ１（例えば、秘密鍵）を生成し、当該第１の情報Ｓ１を用いて平文データを暗号化した暗号データを半導体装置２００に出力する。また、暗号回路１３は、半導体装置２００から暗号データを受信して、当該暗号データを第１の情報Ｓ１を用いて復号して平文データを生成して格納部１２に格納する。暗号回路１３は、受信情報抽出回路１４、固有情報生成回路（例えば、ハッシュ回路１５）、復号回路（例えば、秘匿情報復号回路１６）、暗号処理回路１７を有する。説明のために上記受信情報抽出回路１４、ハッシュ回路１５、秘匿情報復号回路１６、暗号処理回路１７の回路を分けて記載しているが、暗号処理を行うために、上記の回路を共有して用いても同様の効果を得ることができる。
【００１９】
なお、実施の形態１では、第３の情報Ｓ３が第２の情報Ｓ２とハッシュ定数Ｋｈとを含む。より具体的には、第３の情報Ｓ３は、第２の情報Ｓ２をハッシュ定数Ｋｈでスクランブル処理したものである。また、ハッシュ定数Ｋｈは、外部装置１００がユニークコード格納部１０から読み出したユニークコードＵＣを用いて算出するハッシュ値である。
【００２０】
受信情報抽出回路１４は、格納部１１に格納された第３の情報Ｓ３からハッシュ定数Ｋｈと第２の情報Ｓ２を抽出する。より具体的には、受信情報抽出回路１４は、第３の情報Ｓ３のスクランブル処理を解除することで、第２の情報Ｓ２とハッシュ定数Ｋｈとを生成する。
【００２１】
ハッシュ回路１５は、固有情報生成回路であって、ユニークコードＵＣを用いて第２のデバイス固有情報ＵＩＤ２を生成する。より具体的には、ハッシュ回路１５は、ユニークコードＵＣと受信情報抽出回路１４が出力したハッシュ定数Ｋｈとを入力としてこれら入力値のハッシュ値を算出し、当該ハッシュ値を第２のデバイス固有情報ＵＩＤ２として出力する。なお、固有情報生成回路は、ハッシュ値を算出するハッシュ回路以外にも、他のアルゴリズムに従って第２のデバイス固有情報ＵＩＤ２を生成しても良い。また、ハッシュ回路１５を場合に応じて第２の固有情報生成回路と称す。
【００２２】
秘匿情報復号回路１６は、第２のデバイス固有情報ＵＩＤ２を用いて受信情報抽出回路１４が出力する第２の情報Ｓ２を復号して第１の情報Ｓ１を出力する。なお、実施の形態１では、外部装置１００がハッシュ回路１５と同じアルゴリズムで生成した第１のデバイス固有情報ＵＩＤ１で第１の情報Ｓ１を暗号化して第２の情報Ｓ２を生成する。そのため、第１のデバイス固有情報ＵＩＤ１と第２のデバイス固有情報ＵＩＤ２とが異なる値であった場合、秘匿情報復号回路１６が出力する第１の情報Ｓ１と、外部装置１００に格納されている第１の情報Ｓ１とは、異なる値となる。
【００２３】
暗号処理回路１７は、第１の情報Ｓ１を用いて通信対象情報（例えば、平文データ）に対して暗号化処理を行い、暗号データを出力する。また、暗号処理回路１７は、受信した暗号データに対して復号処理を行い、平文データを出力する。その他、データ格納部１２に暗号化して保存してある情報を復号し、自装置（例えば、半導体装置１）内部で実行することも可能である。
【００２４】
外部装置１００は、定数生成回路１１１、ハッシュ回路１１２、送信情報生成回路１１３、格納部１１４を有する。
【００２５】
定数生成回路１１１は、ユニークコードＵＣに応じた値を有する定数を生成する。実施の形態１では、定数生成回路１１１は、ユニークコードＵＣのハッシュ値を定数（以下ハッシュ定数Ｋｈと称す）として出力する。
【００２６】
ハッシュ回路１１２は、固有情報生成回路であって、半導体装置からユニークコードＵＣを取得し、ユニークコードＵＣから第１のデバイス固有情報を生成する。実施の形態１では、ハッシュ回路１１２は、ハッシュ定数ＫｈとユニークコードＵＣとを用いて第１のデバイス固有情報を生成する。また、ハッシュ回路１１２は、ハッシュ定数ＫｈとユニークコードＵＣとを入力として、これら入力値に対応したハッシュ値を第１のデバイス固有情報ＵＩＤ１として出力する。なお、ハッシュ回路１１２を場合に応じて第１の固有情報生成回路と称す。
【００２７】
送信情報生成回路１１３は、第１のデバイス固有情報ＵＩＤ１を用いて第１の情報Ｓ１を暗号化した第２の情報Ｓ２を少なくとも含む第３の情報Ｓ３を生成する。実施の形態１では、送信情報生成回路１１３は、第２の情報Ｓ２及びハッシュ定数Ｋｈを含む第３の情報Ｓ３を生成する。また、送信情報生成回路１１３は、ハッシュ定数Ｋｈを用いて第２の情報Ｓ２をスクランブル処理して第３の情報Ｓ３を生成する。
【００２８】
格納部１１４は、第１の情報Ｓ１を格納する。外部装置１００としてコンピュータ等を利用する場合、格納部１１４は、ハードディスク、フラッシュメモリ等の不揮発性メモリで実現できる。また、外部装置１００としてコンピュータ等を利用する場合、定数生成回路１１１、ハッシュ回路１１２、送信情報生成回路１１３は、所定のプログラムを実行する演算回路によって実現できる。外部装置１００は、いわゆるサーバーの場合もあり、上記機能を有するソフトウェアでも実現することが可能である。
【００２９】
続いて、実施の形態１にかかる情報処理システムの動作について説明する。実施の形態１にかかる情報処理システムは、第１の情報Ｓ１を外部装置１００から半導体装置１に与える書き込みステップと、半導体装置１と半導体装置２００との間で暗号通信を行う実動作ステップと、を有する。そこで、以下では、書き込みステップの動作と実動作ステップとのそれぞれについて個別に説明する。
【００３０】
そこで、まず、実施の形態１にかかる情報処理システムの書き込みステップにおける処理で利用される部分を示すブロック図を図２に示す。図２に示すように、書き込みステップでは、半導体装置１のユニークコード格納部１０及び格納部１１が利用され、外部装置１００の定数生成回路１１１、ハッシュ回路１１２、送信情報生成回路１１３及び格納部１１４が利用される。
【００３１】
ここで、実施の形態１にかかる情報処理システムの書き込みステップの動作について説明する。図３に、実施の形態１にかかる情報処理システムの動作を示すシーケンス図を示す。図３に示すように、実施の形態１にかかる情報処理システムは、まず、外部装置１００が半導体装置１からユニークコードＵＣを読み出す（ステップＳＴ１１１）。これにより、半導体装置１から外部装置１００にユニークコードＵＣに送信される。なお、外部装置１００と半導体装置１との間で通信に関して相互認証ステップを実施しても良い。
【００３２】
次いで、実施の形態１にかかる情報処理システムは、定数生成回路１１１を用いてユニークコードＵＣからハッシュ定数Ｋｈを生成する（ステップＳＴ１１２）。次いで、ハッシュ回路１１２がユニークコードＵＣとハッシュ定数Ｋｈとを用いて第１のデバイス固有情報ＵＩＤ１を生成する（ステップＳＴ１１３）。次いで、外部装置１００は、送信情報生成回路１１３を用いて第３の情報Ｓ３を生成する（ステップＳＴ１１４）。この第３の情報Ｓ３を生成するステップは、２つのステップを含む。より具体的には、送信情報生成回路１１３は、第１のデバイス固有情報ＵＩＤ１で第１の情報Ｓ１を暗号化して第２の情報Ｓ２を生成する（ステップＳＴ１１４ａ）。次いで、送信情報生成回路１１３は、ハッシュ定数Ｋｈを用いて第２の情報Ｓ２をスクランブルなどの処理を行い、第３の情報Ｓ３を生成する（ステップＳＴ１１４ｂ）。そして、送信情報生成回路１１３は、第３の情報Ｓ３を出力し（ステップＳＴ１１５）、半導体装置１は受信した第３の情報Ｓ３を格納部１１に格納する（ステップＳＴ１１６）。
【００３３】
続いて、実施の形態１にかかる情報処理システムの実動作ステップにおける処理で利用される部分を示すブロック図を図４に示す。図４に示すように、実動作ステップでは、半導体装置１のユニークコード格納部１０、格納部１１、格納部１２及び暗号回路１３が利用され、半導体装置１と半導体装置２００とが暗号データの送受信を行う。なお、実動作ステップでは外部装置１００は不要であるため、切り離された状態となっている。
【００３４】
ここで、実施の形態１にかかる情報処理システムの実動作ステップの動作について説明する。図５に、実施の形態１にかかる情報処理システムの動作を示すシーケンス図を示す。図５に示すように、実施の形態１にかかる半導体装置１は、実動作を開始するにあたり、まず、受信情報抽出回路１４を用いて格納部１１に格納された第３の情報Ｓ３からハッシュ定数Ｋｈと第２の情報Ｓ２を抽出する（ステップＳＴ１２１）。次いで、半導体装置１は、ユニークコード格納部１０からユニークコードＵＣを読み出す（ステップＳＴ１２２）。次いで、半導体装置１は、ハッシュ回路１５を用いて、ユニークコードＵＣとハッシュ定数Ｋｈから第２のデバイス固有情報ＵＩＤ２を生成する（ステップＳＴ１２３）。次いで、半導体装置１は、秘匿情報復号回路１６を用いて、第２のデバイス固有情報ＵＩＤ２により第２の情報Ｓ２を復号して第１の情報Ｓ１を出力する（ステップＳＴ１２４）。そして、半導体装置１は、暗号処理回路１７が第１の情報Ｓ１を用いて暗号通信を開始する（ステップＳＴ１２５）。
【００３５】
上記説明より、実施の形態１にかかる半導体装置１は、半導体装置１が有するユニークコードＵＣを用いて生成した第１のデバイス固有情報ＵＩＤ１を用いて第１の情報Ｓ１を暗号化した第２の情報Ｓ２を含む第３の情報Ｓ３が格納される。これにより、半導体装置１は、自装置内に格納されたユニークコードＵＣにから外部装置１００で生成される第１のデバイス固有情報ＵＩＤ１と同じ値を有する第２のデバイス固有情報ＵＩＤ２を生成し、第２の情報Ｓ２を復号して第１の情報Ｓ１を生成することができる。
【００３６】
従来の技術では、デバイス固有情報の生成処理に、読み出す毎にランダムなエラーを含むＰＵＦを用いること、半導体装置内部に暗号通信を行う際に秘匿とすべき秘密情報（例えば、秘密鍵など）を保管しないことでセキュリティレベルを向上させていた。そのため、従来の技術では、読み出したＰＵＦのエラー訂正を十分に行うことが出来ずに再読み出し処理が必要になり、応答性が悪化する場合がある。一方、実施の形態１にかかる半導体装置１では、上記したように、ユニークコードＵＣから演算により第２のデバイス固有情報ＵＩＤ２を生成し、当該第２のデバイス固有情報ＵＩＤ２を用いて第１の情報Ｓ１を得ることができる。そのため、半導体装置１は、デバイス固有情報ＵＩＤの生成に用いるユニークコードＵＣとしてエラーを含まない値を用いることができる。そして、ユニークコードＵＣがエラーを含まないため、半導体装置１は、読み出しエラーに起因する再読み出し処理が必要ないため、応答性が高く、安全に秘匿情報を保管するシステムを実現することができる。
【００３７】
また、実施の形態１にかかる情報処理システムは、外部装置１００が半導体装置１から取得したユニークコードＵＣに基づきハッシュ定数Ｋｈ及び第１のデバイス固有情報ＵＩＤ１を生成する。そして、外部装置１００は、当該ハッシュ定数Ｋｈ及び第１のデバイス固有情報ＵＩＤ１を用いて第１の情報Ｓ１を暗号化した第２の情報を含む第３の情報Ｓ３を生成する。これにより、実施の形態１にかかる情報処理システムでは、半導体装置１と外部装置１００との間で送受信されるデータを解析したとしても、第３の情報Ｓ３及びユニークコードＵＣを取得したとしても、これらデータから第１の情報Ｓ１が解析されることを防止し、第１の情報Ｓ１が漏洩することを防止することができる。つまり、実施の形態１にかかる情報処理システムでは、半導体装置１の応答性を高めながら、半導体装置１と外部装置１００との通信経路におけるセキュリティレベルをユニークコードとしてＰＵＦを用いた場合と同等のセキュリティレベルを実現することができる。
【００３８】
また、実施の形態１にかかる半導体装置１では、格納部１１に格納される第３の情報Ｓ３として秘匿対象の第１の情報Ｓ１を暗号化した第２の情報Ｓ２を含む。これにより、実施の形態１にかかる半導体装置１は、格納部１１に格納された第３の情報Ｓ３と、ユニークコード格納部１０に格納されたユニークコードＵＣと、を取得されたとしても、その情報のみから第１の情報Ｓ１を知られることはない。つまり、実施の形態１にかかる半導体装置１を用いることで、半導体装置１内に格納されている第１の情報Ｓ１の情報漏洩を防止しながら半導体装置１の応答性を高めることが出来る。
【００３９】
なお、実施の形態１にかかる半導体装置１では、第１の情報Ｓ１の生成時に高い応答性を得ることができるため、暗号通信を行う毎に第１の情報Ｓ１を生成することも可能である。このように間欠的に第１の情報Ｓ１を生成することで、第１の情報Ｓ１が出力される期間を少なくして、第１の情報Ｓ１のセキュリティレベルをさらに向上させることができる。
【００４０】
実施の形態２
実施の形態２にかかる情報処理システムのブロック図を図６に示す。図６に示すように、実施の形態２にかかる情報処理システムでは、半導体装置１の機能を削減した半導体装置２と、外部装置１００の機能を削減した外部装置１０１を有する。この実施の形態２にかかる情報処理システムでは、第３の情報Ｓ３として、第２の情報Ｓ３をそのまま用いる。そこで、図６では、第３の情報Ｓ３に代えて第２の情報Ｓ２を示した。なお、実施の形態２の説明において、実施の形態１と同じ構成要素については、実施の形態１と同じ符号を付して説明を省略する。
【００４１】
図２に示すように、半導体装置２は、格納部１１及び暗号回路１３に代えて、格納部２１及び暗号回路２３を有する。格納部２１は、外部装置１００が出力する第２の情報Ｓ２を格納する。暗号回路２３は、暗号回路１３から受信情報抽出回路１４を除き、かつ、ハッシュ回路１５及び秘匿情報復号回路１６をハッシュ回路２５及び秘匿情報復号回路２６に置き換えたものである。
【００４２】
ハッシュ回路２５は、固有情報生成回路であって、ユニークコードＵＣから第２のデバイス固有情報ＵＩＤ２を生成する。このハッシュ回路２５は、ユニークコードＵＣに対応したハッシュ値を第２のデバイス固有情報ＵＩＤ２として出力する。
【００４３】
秘匿情報復号回路２６は、第２の情報Ｓ２を格納部２１から取得する。そして、秘匿情報復号回路２６は、第２の情報Ｓ２を第２のデバイス固有情報ＵＩＤ２を用いて復号して第１の情報Ｓ１を出力する。
【００４４】
また、図７に示すように、外部装置１０１は、外部装置１００から定数生成回路１１１を削除し、ハッシュ回路１１２及び送信情報生成回路１１３をハッシュ回路１２２及び送信情報生成回路１２３に置き換えたものである。
【００４５】
ハッシュ回路１２２は、半導体装置２からユニークコードＵＣを取得し、取得したユニークコードＵＣに基づき第１のデバイス固有情報ＵＩＤ２を生成する。このハッシュ回路１２２は、ユニークコードＵＣのハッシュ値を第１のデバイス固有情報ＵＩＤ１として出力する。送信情報生成回路１２３は、格納部１１４に格納された第１の情報Ｓ１を第１のデバイス固有情報ＵＩＤ１により暗号化して第２の情報Ｓ２を出力する。
【００４６】
続いて、実施の形態２にかかる情報処理システムの動作について説明する。実施の形態２にかかる情報処理システムは、実施の形態１にかかる情報処理システムと同様に、第１の情報Ｓ１を外部装置１０１から半導体装置２に与える書き込みステップと、半導体装置２と半導体装置２００との間で暗号通信を行う実動作ステップと、を有する。そこで、以下では、書き込みステップの動作と実動作ステップとのそれぞれについて個別に説明する。
【００４７】
そこで、まず、実施の形態２にかかる情報処理システムの書き込みステップにおける処理で利用される部分を示すブロック図を図７に示す。図７に示すように、書き込みステップでは、半導体装置２のユニークコード格納部１０及び格納部２１が利用され、外部装置１０１のハッシュ回路１２２、送信情報生成回路１２３及び格納部１１４が利用される。
【００４８】
ここで、実施の形態２にかかる情報処理システムの書き込みステップの動作について説明する。図８に、実施の形態２にかかる情報処理システムの動作を示すシーケンス図を示す。図８に示すように、実施の形態１にかかる情報処理システムは、まず、外部装置１０１が半導体装置２からユニークコードＵＣを読み出す（ステップＳＴ１１１）。これにより、半導体装置２から外部装置１０１にユニークコードＵＣに送信される。
【００４９】
次いで、実施の形態２にかかる情報処理システムは、ハッシュ回路１２２がユニークコードＵＣを用いて第１のデバイス固有情報ＵＤＩ１を生成する（ステップＳＴ２１３）。次いで、外部装置１０１は、送信情報生成回路１２３を用いて第１のデバイス固有情報ＵＩＤ１を用いて第１の情報Ｓ１を暗号化して第２の情報Ｓ２を生成する（ステップＳＴ１１４ａ）。そして、送信情報生成回路１２３は、第２の情報Ｓ２を出力し（ステップＳＴ１１５）、半導体装置１は受信した第３の情報Ｓ３を格納部１１に格納する（ステップＳＴ１１６）。
【００５０】
続いて、実施の形態２にかかる情報処理システムの実動作ステップにおける処理で利用される部分を示すブロック図を図９に示す。図９に示すように、実動作ステップでは、半導体装置１のユニークコード格納部１０、格納部２１、格納部１２及び暗号回路２３が利用され、半導体装置２と半導体装置２００とが暗号データの送受信を行う。なお、実動作ステップでは外部装置１０１は不要であるため、切り離された状態となっている。
【００５１】
ここで、実施の形態２にかかる情報処理システムの実動作ステップの動作について説明する。図１０に、実施の形態２にかかる情報処理システムの動作を示すシーケンス図を示す。図１０に示すように、実施の形態２にかかる半導体装置２は、実動作を開始するにあたり、まず、半導体装置１は、ユニークコード格納部１０からユニークコードＵＣを読み出す（ステップＳＴ１１２）。次いで、半導体装置２は、ハッシュ回路２５を用いて、ユニークコードＵＣから第２のデバイス固有情報ＵＩＤ２を生成する（ステップＳＴ２２３）。次いで、半導体装置２は、秘匿情報復号回路１６を用いて、第２のデバイス固有情報ＵＩＤ２により第２の情報Ｓ２を復号して第１の情報Ｓ１を出力する（ステップＳＴ１２４）。そして、半導体装置２は、暗号処理回路１７が第１の情報Ｓ１を用いて暗号通信を開始する（ステップＳＴ１２５）。
【００５２】
上記説明より、実施の形態２では、実施の形態１で利用していたハッシュ定数Ｋｈを用いることなくユニークコードＵＣから直接デバイス固有情報を生成する。これにより、実施の形態２では、受信情報抽出回路１４及び定数生成回路１１１を削除した。つまり、実施の形態２にかかる半導体装置２は実施の形態１にかかる半導体装置１よりも回路規模の削減と処理の削減を行うことができる。また、処理を削減することで、実施の形態２にかかる半導体装置２は実施の形態１にかかる半導体装置１よりも応答性を高めることができる。また、実施の形態２にかかる外部装置１０１においても、実施の形態１にかかる外部装置１００に対して回路規模の削減と処理の削減を行うことができる。
【００５３】
なお、実施の形態２にかかる情報処理システムにおいても、半導体装置２と外部装置１０１との間の通信においては第１の情報Ｓ２がユニークコードＵＣから生成した第１のデバイス固有情報ＵＩＤ１により暗号化されているため、セキュリティを確保することができる。また、実施の形態２にかかる半導体装置２においても、半導体装置２内には第１の情報Ｓ１は暗号化された第２の情報Ｓ２として格納されているため、第１の情報Ｓ１に対するセキュリティは確保される。さらに、実施の形態２にかかる半導体装置２は、基本的な動作が実施の形態１にかかる半導体装置１とほぼ同じであるため、実施の形態１にかかる半導体装置１の他の効果も実施の形態１と同様に得ることができる。
【００５４】
実施の形態３
実施の形態３にかかる情報処理システムのブロック図を図１１に示す。図１１に示すように、実施の形態３にかかる情報処理システムは、半導体装置１に代えて半導体装置３を有する。半導体装置３は、実施の形態１にかかる半導体装置１にＥＣＣ（Error Code Collection）回路３０、ＣＲＣ（Code Redundancy Check）回路３１及び格納部３２を追加したものである。なお、実施の形態３の説明において、実施の形態１と同じ構成要素については、実施の形態１と同じ符号を付して説明を省略する。
【００５５】
ＥＣＣ回路３０は、エラー訂正回路であって、ユニークコードＵＣに対してエラー訂正処理を行う。より具体的には、ＥＣＣ回路３０は、格納部３２に格納されているＥＣＣコードを用いてユニークコードＵＣのエラー訂正処理を行う。
【００５６】
ＣＲＣ回路３１は、エラー検出回路であって、ユニークコードＵＣに対してエラー検出処理を行う。より具体的には、ＣＲＣ回路３１は、格納部３２に格納されたＣＲＣコードテーブルを参照してユニークコードＵＣのエラーを検出する。
【００５７】
なお、図１１に示した半導体装置３では、ＥＣＣ回路３０の後段にＣＲＣ回路３１を設ける例を示したが、ＥＣＣ回路３０とＣＲＣ回路３１の順序は入れ替えることも可能である。また、ＥＣＣ回路３０とＣＲＣ回路３１はいずれか一方だけを設ける形式としても良い。
【００５８】
また、ＥＣＣ回路３０は、エラー訂正を行った場合には、エラー訂正結果を保持して不具合発生時等に参照できるようにしておくこともできる。また、ＣＲＣ回路３１においてエラーが検出された場合には、ユニークコードＵＣの送信を停止することや、再度同様のシーケンスをリクエストすることもできる。
【００５９】
実施の形態３にかかる半導体装置３は、ＥＣＣ回路３０及びＣＲＣ回路３１を経てエラー訂正及びエラー検出が行われたユニークコードＵＣに基づきハッシュ回路１５が第２のデバイス固有情報ＵＩＤ２を出力する。また、実施の形態３にかかる情報処理システムでは、外部装置１００は、ＣＣ回路３０及びＣＲＣ回路３１を経てエラー訂正及びエラー検出が行われたユニークコードＵＣを受信し、当該ユニークコードＵＣに基づきハッシュ定数Ｋｈ及び第１のデバイス固有情報ＵＩＤ１を生成する。
【００６０】
続いて、実施の形態３にかかる情報処理システムの動作について説明する。実施の形態３にかかる情報処理システムにおいても実施の形態１と同様に書き込みステップと実動作ステップと、を有する。そこで、実施の形態３においても、書き込みステップの動作と実動作ステップとのそれぞれについて個別に説明する。
【００６１】
まず、実施の形態３にかかる情報処理システムの書き込みステップにおける処理で利用される部分を示すブロック図を図１２に示す。図１２に示すように、書き込みステップでは、半導体装置３のユニークコード格納部１０、格納部１１、ＥＣＣ回路３０、ＣＲＣ回路３１及び格納部３２が利用され、外部装置１００の定数生成回路１１１、ハッシュ回路１１２、送信情報生成回路１１３及び格納部１１４が利用される。
【００６２】
ここで、実施の形態３にかかる情報処理システムの書き込みステップの動作について説明する。図１３に、実施の形態３にかかる情報処理システムの動作を示すシーケンス図を示す。図１３に示すように、実施の形態３にかかる情報処理システムは、図３に示した実施の形態１にかかる情報処理システムの動作にステップＳＴ３１１、ＳＴ３１２の処理を追加した動作を行う。
【００６３】
ステップＳＴ３１１は、外部装置１００がユニークコードＵＣを読み出すための読み出し指示に応じて実行される。ステップＳＴ３１１では、半導体装置３は、ＥＣＣ回路３０を利用してユニークコードＵＣに対してＥＣＣ処理を実行する、続いて、半導体装置３は、ステップＳＴ３１２として、ＥＣＣ処理後のユニークコードＵＣに対してＣＲＣ回路３１を用いたエラー検出処理（例えば、ＣＲＣ処理）を行う。その後、半導体装置３は、外部装置１００にＣＲＣ処理後のユニークコードＵＣを出力する。これにより、実施の形態３にかかる情報処理システムでは外部装置１００により信頼性の高いユニークコードＵＣを送信することができる。
【００６４】
続いて、実施の形態３にかかる情報処理システムの実動作ステップにおける処理で利用される部分を示すブロック図を図１４に示す。図１４に示すように、実動作ステップでは、半導体装置３のユニークコード格納部１０、格納部１１、格納部１２、暗号回路１３、ＥＣＣ回路３０、ＣＲＣ回路３１及び格納部３２が利用され、半導体装置１と半導体装置２００とが暗号データの送受信を行う。なお、実動作ステップでは外部装置１００は不要であるため、切り離された状態となっている。
【００６５】
ここで、実施の形態３にかかる情報処理システムの実動作ステップの動作について説明する。図１５に、実施の形態３にかかる情報処理システムの動作を示すシーケンス図を示す。図１５に示すように、実施の形態３にかかる半導体装置３の動作は、図５に示した実施の形態１にかかる半導体装置１のステップＳＴ１２１とステップＳＴ１２２との間にステップＳＴ３２１、ＳＴ３２２の処理を追加したものである。ステップＳＴ３２１では、半導体装置３は、ＥＣＣ回路３０を利用してユニークコードＵＣに対してＥＣＣ処理を実行する、続いて、半導体装置３は、ステップＳＴ３２２として、ＥＣＣ処理後のユニークコードＵＣに対してＣＲＣ回路３１を用いたエラー検出処理（例えば、ＣＲＣ処理）を行う。その後、半導体装置３は、ハッシュ回路１５にＣＲＣ処理後のユニークコードＵＣを出力する。これにより、実施の形態３にかかる半導体装置３では、より信頼性の高いユニークコードＵＣを用いて第１の情報Ｓ１の復号を実行することができる。
【００６６】
上記説明より、実施の形態３にかかる情報処理システムでは、ＥＣＣ回路３０及びＣＲＣ回路３１を用いることで、信頼性の高いユニークコードＵＣに基づき第３の情報Ｓ３の生成処理、及び、第１の情報Ｓ１の復号処理を実行することができる。これにより、実施の形態３にかかる情報処理システムは、３の情報Ｓ３の生成処理、及び、第１の情報Ｓ１の復号処理のエラーの発生率を低減することができる。
【００６７】
実施の形態４
実施の形態４にかかる情報処理システムのブロック図を図１６に示す。図１６に示すように、実施の形態４にかかる情報処理システムは、外部装置１００に代えて外部装置１０２を有する。外部装置１０２は、実施の形態１の外部装置１００にＣＲＣ回路１３１、格納部１３２を追加し、送信情報生成回路１１３を送信情報生成回路１３３に置き換えたものである。
【００６８】
ＣＲＣ回路１３１は、正当性検査回路である。また、格納部１３２は、正当値が予め記述されたデータベース（例えば、ハッシュテーブル）を格納する。ＣＲＣ回路１３１は、格納部１３２に格納されたデータベースを参照して第１のデバイス固有情報ＵＩＤ１の正当性を検査する。そして、ＣＲＣ回路１３１は、第１のデバイス固有情報ＵＩＤ１が正当である場合にイネーブル状態となる許可信号ＥＮを出力する。
【００６９】
送信情報生成回路１３３は、他の実施の形態と同様に第１のデバイス固有情報ＵＩＤ１により第１の情報Ｓ１を暗号化した第２の情報Ｓ２を含む第３の情報Ｓ３を生成するが、許可信号ＥＮがディスイネーブル状態である場合は、第３の情報Ｓ３の出力を停止する。
【００７０】
ここで、実施の形態４にかかる情報処理システムの動作について説明する。実施の形態４にかかる情報処理システムでは、実動作ステップにおける動作は他の実施の形態と同じであるため、ここでは説明を省略する。実施の形態４にかかる情報処理システムでは、外部装置１０２の動作に特徴を有するため、以下では、外部装置１０２の動作についてより詳細に説明する。そこで、実施の形態４にかかる情報処理システムの書き込みステップにおける処理で利用される部分を示すブロック図を図１７に示す。図１７に示すように、書き込みステップでは、半導体装置１のユニークコード格納部１０、格納部１１が利用され、外部装置１００の定数生成回路１１１、ハッシュ回路１１２、ＣＲＣ回路１３１、格納部１３２、送信情報生成回路１３３及び格納部１１４が利用される。
【００７１】
また、実施の形態４にかかる外部装置１０２の動作を示すフローチャートを図１８に示す。図１８に示すように、外部装置１０２は、書き込みステップの処理を開始すると、まず、半導体装置１からユニークコードＵＣを読み出す（ステップＳＴ４１１）。次いで、外部装置１０２は、定数生成回路１１１においてユニークコードＵＣからハッシュ定数Ｋｈを生成する（ステップＳＴ４１２）。次いで、外部装置１０２は、ハッシュ回路１１２においてユニークコードＵＣとハッシュ定数Ｋｈから第１のデバイス固有情報ＵＩＤ１を生成する（ステップＳＴ４１３）。次いで、外部装置１０２は、ＣＲＣ回路１３１を用いて第１のデバイス固有情報ＵＩＤ１の正当性の判断を行う（ステップＳＴ４１４）。このステップＳＴ４１４の判断において第１のデバイス固有情報ＵＩＤ１が正当なものでないと判断された場合、ＣＲＣ回路１３１は、許可信号ＥＮをディスイネーブル状態として、送信情報生成回路１３３による第３の情報Ｓ３の生成を停止して、処理を終了させる。
【００７２】
一方、ステップＳＴ４１４の判断において第１のデバイス固有情報ＵＩＤ１が正当なものであると判断された場合、ＣＲＣ回路１３１は、許可信号ＥＮをイネーブル状態とする。これにより、送信情報生成回路１３３は、ステップＳＴ４１５として第３の情報Ｓ３の生成を開始する。送信情報生成回路１３３は、まず、第１のデバイス固有情報ＵＩＤ１で第１の情報Ｓ１を暗号化して第２の情報Ｓ２を生成する（ステップＳＴ４１５ａ）。次いで、送信情報生成回路１３３は、ハッシュ定数Ｋｈを用いて第２の情報Ｓ２をスクランブル処理し、第３の情報Ｓ３を生成する（ステップＳＴ４１５ｂ）。そして、外部装置１０２は、送信情報生成回路１３３により第３の情報Ｓ３を出力し（ステップＳＴ４１６）、処理を終了する。
【００７３】
上記説明より、実施の形態４にかかる情報処理システムでは、外部装置１０２において、半導体装置１から取得したユニークコードＵＣに基づき生成した第１のデバイス固有情報ＵＩＤ１の正当性を判断する。ユニークコードＵＣは、半導体装置１の製造時に書き込まれるものであり、このユニークコードＵＣから生成される第１のデバイス固有情報Ｓ１は、製造者或いは製造者から正規に情報を得た者であれば予め知ることができる。つまり、格納部１３２に格納されるハッシュテーブルは、正規の取扱者のみが取得できるものである。そのため、例えば、外部装置１０２に接続された半導体装置１が正規品とは異なるものである場合、そこから取得したユニークコードＵＣから生成される第１のデバイス固有情報ＵＩＤ１は、ハッシュテーブル上に記述された値とは異なる値となる。そのため、外部装置１０２を用いることで、半導体装置１が正規品であるか否かを判断し、正規品のみに第１の情報Ｓ１を書き込むことができる。このようなことから、外部装置１０２を用いることで、非正規品を介した第１の情報Ｓ１の漏洩を防止することができる。
【００７４】
また、非正規品と正規品とを判別することで、半導体装置１のユーザーが誤った半導体装置を利用することにより生じる被害を防止することができる。つまり、実施の形態４にかかる外部装置１０２を用いることで、製品自体の信頼性を向上させることができる。
【００７５】
実施の形態５
実施の形態５にかかる情報処理システムのブロック図を図１９に示す。図１９に示すように、実施の形態５にかかる情報処理システムは、実施の形態１にかかる情報処理システムに中継装置３００を追加したものである。実施の形態５にかかる情報処理システムでは、この中継装置３００を介して半導体装置１と外部装置１００とが通信を行う。
【００７６】
中継装置３００は、データ送受信ユニット３０１及びデータ送受信ユニット３０２を有する。データ送受信ユニット３０１は半導体装置１と接続され、データ送受信ユニット３０２は外部装置１００と接続される。中継装置３００は、データ送受信ユニット３０１とデータ送受信ユニット３０２との間で有線通信或いは無線通信を行い、半導体装置１と外部装置１００との間の通信を中継する。例えば、中継装置３００は、同一敷地内の離れた場所を中継するものでも良く、公衆回線等のはなれた敷地間の通信を行うものでもよい。
【００７７】
ここで、実施の形態５にかかる情報処理システムの動作について説明する。実施の形態５にかかる情報処理システムでは、実動作ステップにおける動作は他の実施の形態と同じであるため、ここでは説明を省略する。そこで、実施の形態４にかかる情報処理システムの書き込みステップにおける処理で利用される部分を示すブロック図を図２０に示す。図２０に示すように、書き込みステップで利用される半導体装置１及び外部装置１００のブロックは、図２に示した実施の形態１のブロックと同じである。しかし、実施の形態５にかかる情報処理システムでは、書き込みステップにおいて半導体装置１と外部装置１００とが中継装置３００を介して接続される。
【００７８】
上記説明より、他の実施の形態で説明した情報処理システムは、通信経路上のセキュリティが確保されているため、実施の形態５にかかる情報処理システムのように、中継装置３００を介して第１の情報Ｓ１の書き込み処理を行った場合においてもセキュリティ上の問題が発生しない。
【００７９】
さらに、中継装置３００を用いて半導体装置１と外部装置１００とを接続することで、外部装置１００をセキュリティ管理の行き届いた場所に設置して、外部装置１００の盗難等による情報漏洩を防止することができる。
【００８０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００８１】
１〜３  半導体装置
１０  ユニークコード格納部
１１、１２、２１、３２  格納部
１３、２３  暗号回路
１４  受信情報抽出回路
１５、２５  ハッシュ回路
１６、２６  秘匿情報復号回路
１７  暗号処理回路
３０  ＥＣＣ回路
３１  ＣＲＣ回路
１００〜１０２  外部装置
１１１  定数生成回路
１１２、１２２  ハッシュ回路
１１３、１２３、１３３  送信情報生成回路
１１４  格納部
１３１  ＣＲＣ回路
１３２  格納部
２００  半導体装置
３００  中継装置
３０１  データ送受信ユニット
３０２  データ送受信ユニット
Ｓ１  第１の情報
Ｓ２  第２の情報
Ｓ３  第３の情報
ＵＩＤ１  第１のデバイス固有情報
ＵＩＤ２  第２のデバイス固有情報
ＵＣ  ユニークコード
Ｋｈ  ハッシュ定数
【図１】
2014096771.tif 000003
【図２】
2014096771.tif 000004
【図３】
2014096771.tif 000005
【図４】
2014096771.tif 000006
【図５】
2014096771.tif 000007
【図６】
2014096771.tif 000008
【図７】
2014096771.tif 000009
【図８】
2014096771.tif 000010
【図９】
2014096771.tif 000011
【図１０】
2014096771.tif 000012
【図１１】
2014096771.tif 000013
【図１２】
2014096771.tif 000014
【図１３】
2014096771.tif 000015
【図１４】
2014096771.tif 000016
【図１５】
2014096771.tif 000017
【図１６】
2014096771.tif 000018
【図１７】
2014096771.tif 000019
【図１８】
2014096771.tif 000020
【図１９】
2014096771.tif 000021
【図２０】
2014096771.tif 000022