(57)【要約】  セキュリティ装置は、初期生成時（例えば工場出荷時）に、セキュリティ装置に固有の識別子ｗをＰＵＦ技術で生成し、識別子ｗから鍵情報ｋ（ｋ＝ＨＦ（ｋ））を生成し、鍵情報ｋで秘密情報ｍｋを暗号化（ｘ＝Ｅｎｃ（ｍｋ、ｋ））して暗号化秘密情報ｘを生成し、暗号化秘密情報ｘと、鍵情報ｋの認証コードｈ（ｈ＝ＨＦ’（ｋ））とを、不揮発メモリに格納する。運用時には、ＰＵＦ技術で識別子ｗを生成し、識別子ｗから鍵情報ｋを生成し、鍵情報ｋで暗号化秘密情報ｘを復号する。運用時に識別子ｗを生成するタイミングで、セキュリティ装置は、現在の動作環境が初期生成時から大きく変化しているかを確認する（Ｓ３１１）。動作環境の変化が検出された場合（Ｓ３１１→Ｓ３１２）、セキュリティ装置は、秘密情報である認証コードｈ、暗号化秘密情報ｘの再セットアップ処理（Ｓ３１２〜Ｓ３１５）を行う。
2012164721.tif 000002
【特許請求の範囲】
【請求項１】
鍵情報を生成する鍵情報生成装置において、
前記鍵情報生成装置の物理特性に基づいて、前記鍵情報生成装置に固有の識別子を生成する識別子生成部と、
前記識別子生成部によって生成された前記識別子に基づいて、秘密情報の暗号化と復号とに使用される前記鍵情報を生成する鍵情報生成部と、
前記秘密情報の暗号化と復号とを、前記鍵情報生成部によって生成された前記鍵情報を用いて行う暗号部と、
前記鍵情報生成部によって生成された前記鍵情報を少なくとも使用する所定のハッシュ値生成方式によってハッシュ値を生成するハッシュ部と、
前記鍵情報生成部によって生成された前記鍵情報を用いて前記暗号部が前記秘密情報を暗号化した暗号化秘密情報と、前記秘密情報の暗号化に用いられた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって、前記ハッシュ部が生成した前記ハッシュ値とを、不揮発的に記憶する記憶部と、
比較部と
を備え、
前記識別子生成部は、
前記暗号部が前記暗号化秘密情報を復号する際に前記識別子を再生成し、
前記鍵情報生成部は、
前記識別子生成部によって再生成された前記識別子に基づいて、前記暗号部が前記暗号化秘密情報の復号に用いる前記鍵情報を再生成し、
前記ハッシュ部は、
前記鍵情報生成部によって再生成された前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって前記ハッシュ値を再生成し、
前記比較部は、
前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とを比較し、
前記暗号部は、
前記比較部による比較から、前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とが等しい場合に、前記鍵情報生成部によって再生成された前記鍵情報を用いて、前記暗号化秘密情報を復号することを特徴とする鍵情報生成装置。
【請求項２】
前記鍵情報生成装置は、さらに、
前記識別子生成部と、前記鍵情報生成部と、前記ハッシュ部と、前記比較部とに対して、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成されるまで、予め設定された回数である閾値Ｕを超えない範囲で、前記識別子生成部、前記鍵情報生成部、前記ハッシュ部による各再生成処理と、前記比較部による比較処理との一連の処理を、繰り返し実行させる監視部を備えたことを特徴とする請求項１記載の鍵情報生成装置。
【請求項３】
前記暗号部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、再生成された前記同一のハッシュ値の再生成の基となる再生成された前記鍵情報を用いて前記記憶部の前記暗号化秘密情報を復号し、
前記監視部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、所定の安定判定規則に基づいて、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子が安定して再生成されたかどうかを判定し、
安定して再生成されていないと判定すると、
前記鍵情報生成部に、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子から前記鍵情報を、生成させ、
前記ハッシュ部に、前記鍵情報生成部に生成させた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって更新用のハッシュ値を、生成させ、
前記暗号部に、前記鍵情報生成部に生成させた前記鍵情報を用いて、復号された前記秘密情報を更新用の前記暗号化秘密情報として、暗号化させると共に、
前記記憶部に記憶された前記ハッシュ値と前記暗号化秘密情報とを、前記ハッシュ部に生成させた更新用の前記ハッシュ値と、前記暗号部に暗号化させた更新用の前記暗号化秘密情報とに更新することを特徴とする請求項２記載の鍵情報生成装置。
【請求項４】
前記監視部は、前記所定の安定判定規則として、
前記一連の処理の前記繰り返し回数が前記閾値Ｕ以下の回数である第２の閾値Ｖを超えるかどうかを判定し、前記一連の処理の前記繰り返し回数が前記第２の閾値Ｖを超える場合は、前記識別子が安定して再生成されていないと判定することを特徴とする請求項３記載の鍵情報生成装置。
【請求項５】
前記鍵情報生成装置は、さらに、
前記一連の処理において、前記識別子生成部によって再生成された前記識別子に対して所定の誤り訂正処理を実施する誤り訂正部を備え、
前記鍵情報生成部は、
前記一連の処理において、前記誤り訂正部によって誤り訂正された前記識別子から前記鍵情報を再生成し、
前記暗号部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、再生成された同一の前記ハッシュ値の再生成の基となる前記鍵情報であって、誤り訂正された前記識別子から再生成された前記鍵情報を用いて暗号化秘密情報を復号し、
前記監視部は、
前記一連の処理において、前記誤り訂正部の前記誤り訂正処理による誤りビット数を求めると共に、前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、
前記所定の安定判定規則として、
前記誤りビット数が所定の閾値Ｂを超えるかどうかを判定し、前記誤りビット数が前記閾値Ｂを超える場合は、前記識別子が安定して再生成されていないと判定することを特徴とする請求項３記載の鍵情報生成装置。
【請求項６】
前記監視部は、
前記一連の処理の前記繰り返し回数が、前記閾値数Ｕを超える場合には、前記鍵情報の再生成を失敗と判定することを特徴とする請求項２記載の鍵情報生成装置。
【請求項７】
前記ハッシュ部は、前記ハッシュ値生成方式として、
前記鍵情報生成部によって生成された前記鍵情報のハッシュ値と、
前記鍵情報生成部によって生成された前記鍵情報と、前記暗号部によって暗号化された前記暗号化秘密情報とを連結したデータのハッシュ値とのうちの、
いずれかのハッシュ値を使用することを特徴とする請求項１記載の鍵情報生成装置。
【請求項８】
鍵情報を生成する鍵情報生成装置において、
前記鍵情報生成装置の物理特性に基づいて、前記鍵情報生成装置に固有の識別子を生成する識別子生成部と、
前記識別子生成部によって生成された前記識別子に基づいて、秘密情報の暗号化と復号とに使用される前記鍵情報を生成する鍵情報生成部と、
前記秘密情報の暗号化と復号とを、前記鍵情報生成部によって生成された前記鍵情報を用いて行う暗号部と、
前記識別子生成部によって生成された前記識別子を少なくとも使用する所定のハッシュ値生成方式によってハッシュ値を生成するハッシュ部と、
前記鍵情報生成部によって生成された前記鍵情報を用いて前記暗号部が前記秘密情報を暗号化した暗号化秘密情報と、前記秘密情報の暗号化に用いられた前記鍵情報の生成の基となる前記識別子を少なくとも使用する前記ハッシュ値生成方式によって、前記ハッシュ部が生成した前記ハッシュ値とを、不揮発的に記憶する記憶部と、
比較部と
を備え、
前記識別子生成部は、
前記暗号部が前記暗号化秘密情報を復号する際に前記識別子を再生成し、
前記鍵情報生成部は、
前記識別子生成部によって再生成された前記識別子に基づいて、前記暗号部が前記暗号化秘密情報の復号に用いる前記鍵情報を再生成し、
前記ハッシュ部は、
前記識別子生成部によって再生成された前記識別子を少なくとも使用する前記ハッシュ値生成方式によって前記ハッシュ値を再生成し、
前記比較部は、
前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とを比較し、
前記暗号部は、
前記比較部による比較から、前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とが等しい場合に、前記鍵情報生成部によって再生成された前記鍵情報を用いて、前記暗号化秘密情報を復号することを特徴とする鍵情報生成装置。
【請求項９】
前記ハッシュ部は、
前記ハッシュ値生成方式として、
前記識別子生成部によって生成された前記識別子のハッシュ値と、
前記識別子生成部によって生成された前記識別子と、前記暗号部によって暗号化された前記暗号化秘密情報とを連結したデータのハッシュ値とのうちの、
いずれかのハッシュ値を使用することを特徴とする請求項８記載の鍵情報生成装置。
【請求項１０】
識別子生成部と、鍵情報生成部と、暗号部と、ハッシュ部と、記憶部と、比較部とを備えた鍵情報生成装置が行う鍵情報生成方法であって、
前記識別子生成部は、
前記鍵情報生成装置の物理特性に基づいて、前記鍵情報生成装置に固有の識別子を生成し、
前記鍵情報生成部は、
前記識別子生成部によって生成された前記識別子に基づいて、秘密情報の暗号化と復号とに使用される前記鍵情報を生成し、
前記暗号部は、
前記秘密情報の暗号化と復号とを、前記鍵情報生成部によって生成された前記鍵情報を用いて行い、
前記ハッシュ部は、
前記鍵情報生成部によって生成された前記鍵情報を少なくとも使用する所定のハッシュ値生成方式によってハッシュ値を生成し、
前記記憶部は、
前記鍵情報生成部によって生成された前記鍵情報を用いて前記暗号部が前記秘密情報を暗号化した暗号化秘密情報と、前記秘密情報の暗号化に用いられた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって、前記ハッシュ部が生成した前記ハッシュ値とを、不揮発的に記憶し、
前記識別子生成部は、
前記暗号部が前記暗号化秘密情報を復号する際に前記識別子を再生成し、
前記鍵情報生成部は、
前記識別子生成部によって再生成された前記識別子に基づいて、前記暗号部が前記暗号化秘密情報の復号に用いる前記鍵情報を再生成し、
前記ハッシュ部は、
前記鍵情報生成部によって再生成された前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって前記ハッシュ値を再生成し、
前記比較部は、
前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とを比較し、
前記暗号部は、
前記比較部による比較から、前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とが等しい場合に、前記鍵情報生成部によって再生成された前記鍵情報を用いて、前記暗号化秘密情報を復号することを特徴とする鍵情報生成方法。
【請求項１１】
前記鍵情報生成装置は、さらに、監視部を備え、
前記監視部は、
前記識別子生成部と、前記鍵情報生成部と、前記ハッシュ部と、前記比較部とに対して、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成されるまで、予め設定された回数である閾値Ｕを超えない範囲で、前記識別子生成部、前記鍵情報生成部、前記ハッシュ部による各再生成処理と、前記比較部による比較処理との一連の処理を、繰り返し実行させることを特徴とする請求項１０記載の鍵情報生成方法。
【請求項１２】
前記暗号部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、再生成された前記同一のハッシュ値の再生成の基となる再生成された前記鍵情報を用いて前記記憶部の前記暗号化秘密情報を復号し、
前記監視部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、所定の安定判定規則に基づいて、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子が安定して再生成されたかどうかを判定し、
安定して再生成されていないと判定すると、
前記鍵情報生成部に、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子から前記鍵情報を、生成させ、
前記ハッシュ部に、前記鍵情報生成部に生成させた前記鍵情報から更新用のハッシュ値を、生成させ、
前記暗号部に、前記鍵情報生成部に生成させた前記鍵情報を用いて、復号された前記秘密情報を更新用の前記暗号化秘密情報として、暗号化させると共に、
前記記憶部に記憶された前記ハッシュ値と前記暗号化秘密情報とを、前記ハッシュ部に生成させた更新用の前記ハッシュ値と、前記暗号部に暗号化させた更新用の前記暗号化秘密情報とに更新することを特徴とする請求項１１記載の鍵情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証処理や暗号化処理などのセキュリティ装置（鍵情報生成装置）に関する。本発明は、暗号処理で用いる秘密情報や、装置を認証するために必要な装置固有の識別子を、長期間にわたり安定的かつ安全に管理するための装置、方法に関する。
【背景技術】
【０００２】
近年、携帯電話に代表される組み込み機器のネットワーク化に伴い、組み込み機器で扱うデータの秘匿や完全性の保持、及び組み込み機器そのものを認証するために、組み込み機器が情報セキュリティに関わる処理を行う必要性が高まっている。情報セキュリティに関わる処理は、暗号化アルゴリズムや認証アルゴリズムによって実現される。ここで、前記アルゴリズムを実行する上で大前提となるのは、各組み込み機器が、それぞれユニークな秘密情報や、機器固有の識別子を、「安全に」保持していることである。この「安全に」の意味は、その組み込み機器を正当に利用可能な者以外が、識別子の読み取りや改竄が困難なことを指す。【０００３】
識別子を安全に保持するための手段として、各種センサ（光センサ、電圧センサ、周波数検出器）が搭載され、物理的な保護膜（金属ケースや樹脂によるモールド）によって外部からの不正アクセスを防ぐ筐体や、セキュリティチップなどの耐タンパ機構を用いた保護方法がある。これらの保護方法は、不揮発的に装置内にデジタルデータとして存在する識別子を守ることを前提とした手段である。【０００４】
一方、前述の手段とは異なるアプローチで識別子を安全に保持する方法として、ＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）と呼ばれる技術がある。ＰＵＦの大きな特徴は、識別子を装置内に不揮発的なデジタルデータとして保持しない点にある。ＰＵＦの実施形態はいくつか存在する。特許文献１に開示される「信号発生器をベースとした装置セキュリティ」や、特許文献２に開示される「半導体デバイス識別子の生成方法および半導体デバイス」は、その代表例である。【０００５】
特許文献１や特許文献２のようなＰＵＦによって生成される識別子は、生成を行う毎に、必ずしもユニークなビット列が生成されないという特徴を持つ。すなわち、識別子は、ノイズを含むデータとして生成される。以下では、ノイズを含む識別子をユニークなデータに変換する、特許文献１に記載される技術を説明する。【０００６】
特許文献１では、まず、識別子の生成は、２つのステップ（「初期生成」と、「再生成」）に分けられる。初期生成で生成されるビット列がそのデバイスの識別子となる。再生成では、初期生成で生成されたビット列と同じビット列が生成されるような処理を行う。【０００７】
＜初期生成ステップ＞
まず、ＰＵＦによってビット列を生成する。ここでは、簡単な例として、５ビットのデータを生成する。このビット列を、
ｗ＝（ｗ１，ｗ２，ｗ３，ｗ４，ｗ５）＝１０１１０、
とする。次にこのビット列の補助データｓを計算する。ここでは、（５，１，５）繰り返し符号を用いて計算するとする。
この場合、
ｓ＝（ｗ１  ｘｏｒ  ｗ２，ｗ１  ｘｏｒ  ｗ３，ｗ１  ｘｏｒ  ｗ４，ｗ１  ｘｏｒ  ｗ５）＝１００１
なる４ビットのビット列となる。
尚、補助データの計算方法は、使用する誤り訂正符号の構成に依存する。補助データは開示してもよいデータで、不揮発領域に保管する。すなわち、補助データを格納する不揮発領域は安全な環境である必要はない。【０００８】
＜再生成ステップ＞
再生ステップでは、初期生成と同様にＰＵＦによってビット列と補助データを生成する。このビット列を、
ｗ’＝（ｗ’１，ｗ’２，ｗ’３，ｗ’４，ｗ’５）＝１００００
とする。この例では、初期生成ステップで生成したｗと比較して２ビット異なるデータを出力する。このビット列の誤りが、前述で述べたノイズに該当する。ｗ’の補助データｓ’は、
ｓ’＝１１１１
となる。次に初期生成ステップで計算し保管してあるｓを読み出し、
ｅ＝ｓ  ｘｏｒ  ｓ’
を計算する。
すなわち、
ｅ＝ｓ  ｘｏｒ  ｓ’＝１００１  ｘｏｒ  １１１１＝０１１０
＝（ｅ１，ｅ２，ｅ３，ｅ４）
となる。
次に下記の手順でｗ’の誤りビット位置を特定する。
ここで、
ＳＵＭ（ｅ１，ｅ２，ｅ３，ｅ４）＝ｅ１＋ｅ２＋ｅ３＋ｅ４，
ＳＬ（ｅ１，ｅ２，ｅ３，ｅ４）＝（ｅ１  ｘｏｒ  ｅ２，ｅ１  ｘｏｒ  ｅ３，ｅ１  ｘｏｒ  ｅ４，ｅ１）
とする。【０００９】
＜ステップ１＞
ＳＵＭ（ｅ１，ｅ２，ｅ３，ｅ４）＝２
で３未満を満たす。よってｗ’１は誤っていない。【００１０】
＜ステップ２＞
（ｅ１，ｅ２，ｅ３，ｅ４）＜＝ＳＬ（ｅ１，ｅ２，ｅ３，ｅ４）＝１１００、
ＳＵＭ（ｅ１，ｅ２，ｅ３，ｅ４）＝２、
で３未満を満たす。よってｗ’２は誤っていない。【００１１】
＜ステップ３＞
（ｅ１，ｅ２，ｅ３，ｅ４）＜＝ＳＬ（ｅ１，ｅ２，ｅ３，ｅ４）＝０１１１、
ＳＵＭ（ｅ１，ｅ２，ｅ３，ｅ４）＝３、
で３未満を満たない。ｗ’３は誤っている。【００１２】
＜ステップ４＞
（ｅ１，ｅ２，ｅ３，ｅ４）＜＝ＳＬ（ｅ１，ｅ２，ｅ３，ｅ４）＝１１１０、
ＳＵＭ（ｅ１，ｅ２，ｅ３，ｅ４）＝３、
で３未満を満たない。ｗ’４は誤っている。【００１３】
＜ステップ５＞
（ｅ１，ｅ２，ｅ３，ｅ４）＜＝ＳＬ（ｅ１，ｅ２，ｅ３，ｅ４）＝００１１、
ＳＵＭ（ｅ１，ｅ２，ｅ３，ｅ４）＝２、
で３未満を満たす。よってｗ’５は誤っていない。【００１４】
以上の判定結果に従い、ｗ’を訂正する。よって、この場合ｗ’は１０１１０に訂正される。このビット列は初期生成で生成されたｗと等しいことがわかる。【００１５】
このように、誤り訂正符号を利用した処理を行うことで、ノイズを含む識別子をユニークなデータに変換できることがわかる。【００１６】
一方で、前述の例で、もし再生成時に３ビット誤った場合は、正しくｗ’からｗを復元できない。すなわち、補助データを生成する符号の訂正能力を超えるノイズが再生成ステップで発生した場合には、正しく識別子が生成できないことになる。このため、前述の処理で利用する誤り訂正符号はＰＵＦの誤り確率を考慮して訂正能力を決める必要がある。【００１７】
次に、ＰＵＦの誤り確率について述べる。ＰＵＦの誤り確率が高くなる主要因は、初期生成ステップを基準としたＰＵＦの動作環境の変化がある。ここで、動作環境の変化は、温度や電圧変化、半導体デバイスの経年変化などが挙げられる。【００１８】
動作環境の変化は、瞬時的に発生する偶発的要因の他に、日周変動、季節変動、経年変化など、時間的変動が考えられる。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特表２００９−５２４９９８号公報
【特許文献２】特表２００９−５３３７４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
ＰＵＦの誤り確率が時間的に変動することを考慮し、訂正能力に関して十分なマージンを持った符号を用いると、複雑で規模の大きい回路を用いなければならない。特に、車載器や産業機器、計装機器など、耐用年数の長い機器を想定した場合、訂正能力に関するマージンを精度良く見積もることは困難である。【００２１】
本発明は、訂正能力が低い符号であっても、安定的かつ安全に、半導体デバイス内で秘密情報を管理可能な装置の提供を目的とする。また本発明は、用途ごとに割り当てられた多様な秘密情報を、安全に管理できる装置の提供を目的とする。
【課題を解決するための手段】
【００２２】
この発明の鍵情報生成装置は、
鍵情報を生成する鍵情報生成装置において、
前記鍵情報生成装置の物理特性に基づいて、前記鍵情報生成装置に固有の識別子を生成する識別子生成部と、
前記識別子生成部によって生成された前記識別子に基づいて、秘密情報の暗号化と復号とに使用される前記鍵情報を生成する鍵情報生成部と、
前記秘密情報の暗号化と復号とを、前記鍵情報生成部によって生成された前記鍵情報を用いて行う暗号部と、
前記鍵情報生成部によって生成された前記鍵情報を少なくとも使用する所定のハッシュ値生成方式によってハッシュ値を生成するハッシュ部と、
前記鍵情報生成部によって生成された前記鍵情報を用いて前記暗号部が前記秘密情報を暗号化した暗号化秘密情報と、前記秘密情報の暗号化に用いられた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって、前記ハッシュ部が生成した前記ハッシュ値とを、不揮発的に記憶する記憶部と、
比較部と
を備え、
前記識別子生成部は、
前記暗号部が前記暗号化秘密情報を復号する際に前記識別子を再生成し、
前記鍵情報生成部は、
前記識別子生成部によって再生成された前記識別子に基づいて、前記暗号部が前記暗号化秘密情報の復号に用いる前記鍵情報を再生成し、
前記ハッシュ部は、
前記鍵情報生成部によって再生成された前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって前記ハッシュ値を再生成し、
前記比較部は、
前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とを比較し、
前記暗号部は、
前記比較部による比較から、前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とが等しい場合に、前記鍵情報生成部によって再生成された前記鍵情報を用いて、前記暗号化秘密情報を復号することを特徴とする。
【発明の効果】
【００２３】
本発明により、用途ごとに割り当てられた多様な秘密情報を、安全に管理できる装置を提供できる。
【図面の簡単な説明】
【００２４】
【図１】実施の形態１のセキュリティ装置１０１の構成図。
【図２】実施の形態１のセキュリティ装置１０１の初期設定時のフローチャート。
【図３】実施の形態１のセキュリティ装置１０１の運用時のフローチャート。
【図４】実施の形態２のセキュリティ装置１０２の構成図。
【図５】実施の形態２のセキュリティ装置１０２の運用時のフローチャート。
【発明を実施するための形態】
【００２５】
実施の形態１．
まず、以下の実施の形態１で使用する記号の意味を定義する。
【００２６】
（１）秘密情報ｍｋ；
秘密情報ｍｋは、デバイス毎、あるいは出荷先毎に異なるビット列である。このビット列を安定的かつ安全に管理することが、以下の実施の形態１，２のセキュリティ装置の最終目的である。
【００２７】
（２）暗号化関数Ｅｎｃ、復号関数Ｄｅｃ；
暗号化関数であるｃ＝Ｅｎｃ（ｍ，ｋ）は，入力ｍを秘密情報ｋで暗号化する。ｃを出力する暗号化関数をＥｎｃと表記する。
復号関数であるｍ＝Ｄｅｃ（ｃ，ｋ）は、入力ｃを秘密情報ｋで復号する。
【００２８】
（３）ＰＵＦ生成情報ｗ、ｓ（ｓ＝ｓｙｎ（ｗ））；
ＰＵＦの出力情報をｗと表記する。すなわち「ｗ」は、セキュリティ装置１０１の物理特性に基づいて、ＰＵＦ技術によって生成されたセキュリティ装置１０１に固有の識別子である。また識別子ｗに対応する補助データをｓと表記する。補助データ生成関数をｓｙｎと表記する。すなわち、識別子ｗを用いた補助データｓの生成を、
ｓ＝ｓｙｎ（ｗ）
と表記する。
【００２９】
（４）誤り訂正処理  ｗ＝ＦＥＣ（ｗ’，ｓ）；
再生成ステップにおけるＰＵＦの出力情報ｗ’と、初期生成ステップにおける補助データｓとを用いて、初期生成ステップのｗを復元する処理（誤り訂正処理）を、
ｗ＝ＦＥＣ（ｗ’，ｓ）
と表記する。
【００３０】
（５）ハッシュ関数  ｙ＝ＨＦ（ｘ）；
「ｘ」のハッシュ値ｙを求める処理を、
ｙ＝ＨＦ（ｘ）
と表記する。
【００３１】
（６）一方向性ハッシュあるいは、（５）と異なるハッシュ関数によって  「ｘ」のハッシュ値ｙを求める処理を、
ｙ＝ＨＦ’（ｘ）
と表記する。
【００３２】
以下、図１〜図３を参照して、実施の形態１を説明する。
【００３３】
図１は、実施の形態１のセキュリティ装置１０１のブロック図である。セキュリティ装置１０１は、秘密情報（後述の秘密情報ｍｋ）を安全かつ安定的に管理することを目的とする。
【００３４】
（セキュリティ装置１０１の構成）
セキュリティ装置１０１（鍵情報生成装置）は、半導体デバイスの基本構成要素であるＣＰＵ１１０、ＥＥＰＲＯＭなどに代表される不揮発メモリ１２０（記憶部）、ＳＲＡＭなどの揮発メモリ１３０、情報の入出力部であるＩ／Ｏ（１４０）、鍵管理回路１５０−１、暗号コプロセッサ１６０（暗号部）を備える。鍵管理回路１５０−１は、セキュリティ装置１０１における主たる機能を有する。暗号コプロセッサ１６０は、セキュリティ向けの典型的な半導体デバイスに搭載される暗号コプロセッサである。図１に示すように、ＣＰＵ１１０〜暗号コプロセッサ１６０は、ローカルバス１７０に接続される。Ｉ／Ｏ（１４０）はＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）などが想定され、外部ポート１８０を介して外部と通信を行う。
【００３５】
（鍵管理回路１５０−１の構成）
鍵管理回路１５０−１は、構成要素として、ノイズを含む識別子を生成するＰＵＦ１５１（識別子生成部）、所定の誤り訂正処理を実施することでノイズの訂正を行うＦＥＣ１５２（誤り訂正部）、訂正された識別子をランダム化するハッシュ関数ＨＦ１５３（鍵情報生成部）、識別子の認証コードを生成する一方向性ハッシュ関数ＨＦ’１５４（ハッシュ部）、認証コードを用いたチェックを行う比較器１５５（比較部）、比較器１５５の結果を受けて、比較結果が「等しくない」場合の回数を管理する、誤り回数監視器１５６−１（監視部）を備える。一方向性ハッシュ関数ＨＦ’１５４は、認証コード生成部である。認証コードは識別子に由来する。
【００３６】
次に、図１のセキュリティ装置１０１の動作を説明する。
図２は、初期設定時におけるセキュリティ装置１０１の動作を説明するフローチャートである。図２を参照して初期設定時を説明する。図２において、符号１０で示す図形は、レジスタ等の揮発メモリを示し、符号２０で示す図形は、不揮発メモリを示す。図３、図５も同様である。
（１）最初に、外部ポート１８０経由で、Ｉ／Ｏ（１４０）が、各デバイスに割り当てられる秘密情報ｍｋを入力する（Ｓ２０１）。この入力を受けて、鍵管理回路１５０−１が起動する。まず、ＰＵＦ１５１が、セキュリティ装置１０１の物理特性に基づき、識別子ｗを生成する（Ｓ２０２）。
（２）次に、ＦＥＣ１５２は、識別子ｗに対応する補助データｓ＝ｓｙｎ（ｗ）を生成する（Ｓ２０３）。補助データｓは鍵管理回路１５０−１の外部に出力され、不揮発メモリ１２０に格納される。
（３）次に、ハッシュ関数ＨＦ１５３は、識別子ｗに対してランダム化を行い、秘密情報ｋ（鍵情報ｋともいう）を出力する（Ｓ２０４）。秘密情報ｋの認証コードｈ（ハッシュ値）は、ＨＦ’１５４で計算される（Ｓ２０５）。補助データｓと同様に、認証コードｈは鍵管理回路１５０−１の外部に出力され、不揮発メモリ１２０に格納される。
（４）次に、暗号コプロセッサ１６０は、秘密情報ｋを鍵情報として、Ｓ２０１で入力された秘密情報ｍｋを暗号化し、ｘ＝Ｅｎｃ（ｍｋ，ｋ）を計算する（Ｓ２０６）。暗号化秘密情報ｘは、補助データｓ，認証コードｈと同様に、不揮発メモリ１２０に格納される。
（５）以上の処理完了後、鍵管理回路１５０−１及び暗号コプロセッサ１６０のレジスタ（揮発メモリ）などに存在する秘密情報ｍｋ、ｋはクリアされ（Ｓ２０７）、初期生成が完了する。
【００３７】
図３は、セキュリティ装置１０１の運用時（再生成時）の動作を説明するフローチャートである。
（１）セキュリティ装置１０１が動作を行っている際に、秘密情報ｍｋを用いた暗号化や復号処理の要求があった場合、最初に鍵管理回路１５０−１が起動する。誤り回数監視器１５６−１は、内部に有する内部カウンタｃｎｔを初期化する（Ｓ３０１）。
（２）この起動を受けて、ＰＵＦ１５１が、識別子ｗ’を生成（再生成）する（Ｓ３０２）。このとき識別子ｗ’は初期設定時に生成した識別子ｗと必ずしも一致せず、識別子ｗ’は、識別子ｗに対してノイズを含むビット列であることに留意せよ。
（３）次に、ＦＥＣ１５２は、識別子ｗ’と、不揮発メモリ１２０に格納されている補助データｓとを用いて、識別子ｗ’に対して誤り訂正処理である
ｗ’’＝ＦＥＣ（ｗ’，ｓ）
を計算する（Ｓ３０３）。このとき、識別子ｗ’が、誤りＦＥＣ１５２の訂正能力の範囲内であれば、
ｗ’’＝ｗ
となることに留意せよ。
（４）次に、ハッシュ関数ＨＦ１５３は、誤り訂正処理が実施された識別子ｗ’’を、ランダム化し、鍵情報ｋ’’に変換（鍵情報の再生成）する（Ｓ３０４）。
（５）次に、ＨＦ’１５４が、鍵情報ｋ’’のハッシュ値ｈ’’を計算（ハッシュ値の再生成）し、ハッシュ値ｈ’’を比較器１５５へ送る（Ｓ３０５）。
（６）比較器１５５は、ハッシュ値ｈ’’と、不揮発メモリ１２０に格納された秘密情報ｋ（鍵情報ｋ）の認証コードｈとを比較し、一致、不一致を判定する（Ｓ３０６）。一致した場合、比較器１５５は、鍵情報ｋ’’を暗号コプロセッサ１６０へ送る。
ここで、
ｗ’’＝ｗであれば、ｈ＝ｈ’’かつｋ＝ｋ’’である。
ｗ’’！＝ｗ（ｗ’’とｗとが不一致）でありながらｈ＝ｈ’’となるのは、一方向性ハッシュ関数の衝突を意味し、これは通常２−１２８といった非常に低い確率である。
（７）次に、暗号コプロセッサ１６０は、不揮発メモリ１２０に格納された暗号化秘密情報ｘと、ハッシュ関数ＨＦ１５３により再生成された鍵情報ｋ’’を用いて復号処理を行い、ｍｋ＝Ｄｅｃ（ｘ，ｋ’’）を得る（Ｓ３１０）。
【００３８】
（８）一方、Ｓ３０６で不一致だった場合は、誤り回数監視器１５６−１は、比較器１５５から不一致通知を誤り受け取り、内部カウンタｃｎｔをインクリメントする（Ｓ３０７）。
（９）その後、誤り回数監視器１５６−１は、内部カウンタｃｎｔが再包装用の閾値Ｕを越えているか判定を行う（Ｓ３０８）。閾値Ｕを超えるまでは、再度、Ｓ３０２からリスタートし、Ｓ３０６までの一連の処理が実行される。内部カウンタｃｎｔが閾値Ｕを超えた場合は、誤り回数監視器１５６−１は、ＣＰＵ１１０に鍵管理失敗通知を行い、処理は停止する（Ｓ３０９）。
【００３９】
（１０）次に、正常処理に成功した場合、Ｓ３１０が実行された後、誤り回数監視器１５６−１は、内部カウンタｃｎｔをチェックし、内部カウンタｃｎｔが再包装用の閾値Ｖ（第２の閾値）を超えているかどうかをチェック（所定の安定判定規則）を行う（Ｓ３１１）。この閾値Ｖは、Ｓ３０８の閾値Ｕ以下の値である。内部カウンタｃｎｔが再包装用の閾値Ｖを超えている場合は、処理はＳ３１２に進み、以下に述べる再包装処理が実行される。再包装処理において、誤り回数監視器１５６−１は、ＦＥＣ１５２、ＨＦ１５３、ＨＦ’１５４、暗号コプロセッサ１６０に以下の処理を実行させる。
【００４０】
再包装処理では、
Ｓ３１２において、ＦＥＣ１５２が、Ｓ３０２で再生成された識別子ｗ’に対応する更新用の補助データを、
ｓ’＝ｓｙｎ（ｗ’）から生成する。
Ｓ３１３において、ＨＦ１５３が、識別子ｗ’を入力とした秘密情報ｋ’を、
ｋ’＝ＨＦ（ｗ’）
から生成する。
Ｓ３１４において、ＨＦ’１５４が、鍵情報ｋ’の認証コードｈ’（ハッシュ値）を、
ｈ’＝ＨＦ’（ｋ’）
から生成する。
Ｓ３１５において、暗号コプロセッサ１６０が、Ｓ３１０で復号された秘密情報ｍｋを、Ｓ３１３で生成された鍵情報ｋ’を用いて、
ｘ’＝Ｅｎｃ（ｍｋ，ｋ’）
によって更新用として暗号化する。そして、誤り回数監視器１５６−１は、不揮発メモリ１２０に格納されている（ｓ，ｈ，ｘ）を、（ｓ’，ｈ’，ｘ’）にアップデートする。
【００４１】
このとき、アップデート中に、なんらかの理由で不揮発メモリ１２０への書き込みが失敗する場合もある。これを想定して、（ｓ，ｈ，ｘ）に（ｓ’，ｈ’，ｘ’）を上書きするのではなく、少なくとも２世代分の（ｓ，ｈ，ｘ）の組を不揮発メモリ１２０で管理し、運用することが望ましい。
【００４２】
誤り回数監視器１５６−１の内部カウンタｃｎｔが閾値Ｖを超えていない場合は、処理はＳ３１６へ移行し、暗号コプロセッサ１６０は、秘密情報ｍｋを用いた「暗号化処理や復号処理」を実行する。セキュリティ上、秘密情報ｍｋは、Ｓ３０９実行後にレジスタからクリアすることが望ましい。しかし、処理性能に制約がある場合は、秘密情報ｍｋはレジスタに保持しておき、暗号コプロセッサ１６０への外部からのクリア要求によって秘密情報ｍｋをレジスタから消去し、クリアするまでは秘密情報ｍｋを用いた暗号化や復号処理を実行する構成としてもよい。いずれの場合も、セキュリティ装置の電源が遮断されると秘密情報ｍｋは消去される。
【００４３】
上記の処理では、秘密情報ｍｋを、ＰＵＦ１５１、ＦＥＣ１５２及びＨＦ１５３の処理によって生成される揮発性の秘密情報ｋによって暗号化した。そして、暗号化した秘密情報ｍｋを不揮発メモリ１２０に格納することで、秘密情報ｍｋを安全にセキュリティ装置１０１で管理する。そして、時間的変動による鍵情報ｋの生成に失敗する頻度を検出し、失敗の頻度が高くなった場合は、新たに現在の動作環境で生成される鍵情報ｋ’によって秘密情報ｍｋを再包装化し、不揮発メモリに格納する。これにより、あらたな鍵情報ｋ’は元の鍵情報ｋに対して時間的変動が小さくなるため、鍵情報ｋの生成に失敗する頻度を再度低くすることができる。このように、揮発性の秘密情報ｋは時間的変動を考慮して逐次更新されるためＦＥＣの訂正能力にマージンを持たせずとも、ｍｋの復号を長期間にわたって保証することができる。
【００４４】
また、上記の方式では、秘密情報ｍｋは、動作中のみレジスタ内に存在する。電源が遮断されている状態では、鍵情報ｋにより暗号化された暗号化秘密情報ｘのみが、不揮発領域にあるだけである。よって、鍵情報ｋ及び秘密情報ｍｋは、チップ破壊による静的解析によって復元することはできない。このため、秘密情報ｍｋを不揮発領域に直接格納するよりも安全に管理することができる。
【００４５】
さらに、秘密情報ｍｋは、用途毎に割り当てを制御することができる。例えば、ある製品群では品種や出荷先毎にｍｋの割り当てを変更し、ある製品群ではセキュリティ装置毎にｍｋの割り当てを変えることもできる。加えて、秘密情報ｍｋは、共通鍵暗号における鍵情報でもよいし、公開鍵暗号における秘密鍵であってもよい。
【００４６】
実施の形態２．
図４、図５を参照して実施の形態２のセキュリティ装置１０２を説明する。
図４は、セキュリティ装置１０２のブロック図である。セキュリティ装置１０２では、鍵管理回路１５０−１が、鍵管理回路１５０−２になっている。また、鍵管理回路１５０−１と鍵管理回路１５０−２との相違は、誤り回数監視器１５６−１が、誤りビット数監視器１５６−２（監視部）になっているのみである。
【００４７】
誤りビット数監視器１５６−２は、誤り回数監視器１５６−１と異なり、認証コードｈとの不一致の回数により再包装処理の実行が必要か否かを判定（Ｓ３１１）するのではなく、識別子ｗ’の誤りビット数で、判定を行う。
【００４８】
図５は、セキュリティ装置１０２の運用時（再生成）の動作を説明するフローチャートである。基本的な処理の流れは、図３と同じであるが、Ｓ５０１及びＳ５０２の処理が図３と異なる。
【００４９】
（１）Ｓ５０１では、誤りビット数監視器１５６−２が、誤り訂正処理ＦＥＣ１５２の処理で算出される誤りロケータから、誤ったビット数をカウントする。このカウント値をｃｎｔ＿ｂと表記する。
（２）Ｓ５０２では、誤りビット数監視器１５６−２が、「ｃｎｔ＿ｂ」と再包装用の閾値Ｂとを比較し、カウント値「ｃｎｔ＿ｂ」が閾値Ｂを超えているかどうかを判定する（所定の安定判定規則）。カウント値「ｃｎｔ＿ｂ」が閾値Ｂを超えていた場合は、実施の形態１と同様に、誤りビット数監視器１５６−２は、ＦＥＣ１５２、ＨＦ１５３、ＨＦ’１５４、暗号コプロセッサ１６０に、再包装処理を実行させる。
【００５０】
以下では、実施の形態１と実施の形態２との比較を行う。ここでは、最小距離が２１の誤り訂正符号を用いた例で比較する。この場合、訂正できるビット数は１０ビットまでとなるが、実施の形態１では識別子ｗ’が１０ビットよりも多く誤り、鍵生成に失敗する頻度が多くなると、再包装処理が実行される。一方、実施の形態２では、Ｂ＝７とすれば鍵生成には失敗しないが、失敗する可能性が高くなる。すなわち識別子ｗ’の誤りが、７ビット以上１０ビット以下でも再包装処理が実行されることになる。
【００５１】
実施の形態１，２では認証コードを生成する対象は、デバイス識別子ｗを変換した秘密情報ｋを対象として記載したが、変換前のデバイス識別子ｗであっても同等の機能を達成できる。
以上の説明では、鍵情報の認証コード（ハッシュ値）を生成していた。すなわち、鍵情報が認証コード（一方向ハッシュ値）の生成対象であった（所定のハッシュ値生成規則）。これに限らず、ハッシュ値生成規則として、識別子を認証コードの生成対象としてもよい。また、「鍵情報ｋと暗号化秘密情報ｘとを連結したデータ」を認証コードの生成対象としてもよいし、あるいは「識別子ｗと暗号化秘密情報ｘとを連結したデータ」を生成対象とを生成対象としてもよい。これらにより、暗号化秘密情報ｘの改ざんを検出することが可能となる。
【００５２】
実施の形態１と実施の形態２とは、処理時間のトレードオフや不揮発メモリの書き換え回数の制約などに応じて使い分けるものである。
【００５３】
最後に、実施の形態１及び実施の形態１で述べた方式は、実施の形態１，２そのままに限定されるものではない。すなわち、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して実施できる。また、上記実施の形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。加えて、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施の形態に亘る構成要素を適宜組合せてもよい。
【００５４】
以上の実施の形態では、セキュリティ装置を説明したが、セキュリティ装置の動作を鍵情報生成方法とし把握することも可能である。
【００５５】
以上の実施の形態では、物理的特性によって生成されるデバイス識別子を変換したデバイス鍵ｋを利用して、外部から与えられるデバイスに割り当てられる秘密情報ｍｋを暗号化する手段を備えたセキュリティ装置を説明した。
【００５６】
以上の実施の形態では、物理的特性によって生成されるデバイス識別子が正しく生成されたかをハッシュ値によって判定する手段を備えたセキュリティ装置を説明した。
【００５７】
以上の実施の形態では、物理的特性によって生成されるデバイス識別子が正しく生成されたかをハッシュ値によって判定し、失敗した回数をカウントする機能と、失敗回数が閾値を超えた場合にはデバイス識別子の生成に失敗したことを通知する機能とを備えたセキュリティ装置を説明した。
【００５８】
以上の実施の形態では、物理的特性によって生成されるデバイス識別子が正しく生成されたかをハッシュ値によって判定し、失敗した回数をカウントする機能と、デバイス識別子の生成に成功した際には、成功するまでの失敗回数が閾値を超えた場合、新たなデバイス識別子の生成を実行する機能とを備えたセキュリティ装置を説明した。
【００５９】
以上の実施の形態では、新たなデバイス識別子の生成に対してハッシュ値を計算し、それまでのハッシュ値を更新する手段を備えたセキュリティ装置を説明した。
【００６０】
以上の実施の形態では、物理的特性によって生成されるデバイス識別子が正しく生成されなくなる可能性をビットの誤り個数から判定し、ビットの誤り個数が閾値を超える場合、新たなデバイス識別子の生成を実行する手段を備えたセキュリティ装置を説明した。
【００６１】
以上の実施の形態では、秘密情報ｍｋを暗号化した結果を不揮発メモリに格納する手段を備えたセキュリティ装置を説明した。
【００６２】
以上の実施の形態では、デバイスに割り当てられる秘密情報ｍｋを暗号化し、不揮発メモリに格納されたデータの改ざんを検出する手段を備えたセキュリティ装置を説明した。
【符号の説明】
【００６３】
１０１，１０２  セキュリティ装置、１１０  ＣＰＵ、１２０  不揮発メモリ、１３０  揮発メモリ、１４０  Ｉ／Ｏ、１５０−１，１５０−２  鍵管理回路、１５１  ＰＵＦ、１５２  ＦＥＣ、１５３  ＨＦ、１５４  ＨＦ’、１５５  比較器、１５６−１  誤り回数監視器、１５６−２  誤りビット数監視器、１６０  暗号コプロセッサ、１７０  ローカルバス、１８０  外部ポート。
【図１】
2012164721.tif 000003
【図２】
2012164721.tif 000004
【図３】
2012164721.tif 000005
【図４】
2012164721.tif 000006
【図５】
2012164721.tif 000007
【手続補正書】
【提出日】平成25年4月3日(2013.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
鍵情報を生成する鍵情報生成装置において、
前記鍵情報生成装置の物理特性に基づいて、前記鍵情報生成装置に固有の識別子を生成する識別子生成部と、
前記識別子生成部によって生成された前記識別子に基づいて、秘密情報の暗号化と復号とに使用される前記鍵情報を生成する鍵情報生成部と、
前記秘密情報の暗号化と復号とを、前記鍵情報生成部によって生成された前記鍵情報を用いて行う暗号部と、
前記鍵情報生成部によって生成された前記鍵情報を少なくとも使用する所定のハッシュ値生成方式によってハッシュ値を生成するハッシュ部と、
前記鍵情報生成部によって生成された前記鍵情報を用いて前記暗号部が前記秘密情報を暗号化した暗号化秘密情報と、前記秘密情報の暗号化に用いられた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって、前記ハッシュ部が生成した前記ハッシュ値とを、不揮発的に記憶する記憶部と、
比較部と
を備え、
前記識別子生成部は、
前記暗号部が前記暗号化秘密情報を復号する際に前記識別子を再生成し、
前記鍵情報生成部は、
前記識別子生成部によって再生成された前記識別子に基づいて、前記暗号部が前記暗号化秘密情報の復号に用いる前記鍵情報を再生成し、
前記ハッシュ部は、
前記鍵情報生成部によって再生成された前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって前記ハッシュ値を再生成し、
前記比較部は、
前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とを比較し、
前記暗号部は、
前記比較部による比較から、前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とが等しい場合に、前記鍵情報生成部によって再生成された前記鍵情報を用いて、前記暗号化秘密情報を復号し、
前記鍵情報生成装置は、さらに、
前記識別子生成部と、前記鍵情報生成部と、前記ハッシュ部と、前記比較部とに対して、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成されるまで、予め設定された回数である閾値Ｕを超えない範囲で、前記識別子生成部、前記鍵情報生成部、前記ハッシュ部による各再生成処理と、前記比較部による比較処理との一連の処理を、繰り返し実行させる監視部を備えた
ことを特徴とする鍵情報生成装置。
【請求項２】
前記暗号部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、再生成された前記同一のハッシュ値の再生成の基となる再生成された前記鍵情報を用いて前記記憶部の前記暗号化秘密情報を復号し、
前記監視部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、所定の安定判定規則に基づいて、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子が安定して再生成されたかどうかを判定し、
安定して再生成されていないと判定すると、
前記鍵情報生成部に、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子から前記鍵情報を、生成させ、
前記ハッシュ部に、前記鍵情報生成部に生成させた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって更新用のハッシュ値を、生成させ、
前記暗号部に、前記鍵情報生成部に生成させた前記鍵情報を用いて、復号された前記秘密情報を更新用の前記暗号化秘密情報として、暗号化させると共に、
前記記憶部に記憶された前記ハッシュ値と前記暗号化秘密情報とを、前記ハッシュ部に生成させた更新用の前記ハッシュ値と、前記暗号部に暗号化させた更新用の前記暗号化秘密情報とに更新することを特徴とする請求項１記載の鍵情報生成装置。
【請求項３】
前記監視部は、前記所定の安定判定規則として、
前記一連の処理の前記繰り返し回数が前記閾値Ｕ以下の回数である第２の閾値Ｖを超えるかどうかを判定し、前記一連の処理の前記繰り返し回数が前記第２の閾値Ｖを超える場合は、前記識別子が安定して再生成されていないと判定することを特徴とする請求項２記載の鍵情報生成装置。
【請求項４】
前記鍵情報生成装置は、さらに、
前記一連の処理において、前記識別子生成部によって再生成された前記識別子に対して所定の誤り訂正処理を実施する誤り訂正部を備え、
前記鍵情報生成部は、
前記一連の処理において、前記誤り訂正部によって誤り訂正された前記識別子から前記鍵情報を再生成し、
前記暗号部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、再生成された同一の前記ハッシュ値の再生成の基となる前記鍵情報であって、誤り訂正された前記識別子から再生成された前記鍵情報を用いて暗号化秘密情報を復号し、
前記監視部は、
前記一連の処理において、前記誤り訂正部の前記誤り訂正処理による誤りビット数を求めると共に、前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、
前記所定の安定判定規則として、
前記誤りビット数が所定の閾値Ｂを超えるかどうかを判定し、前記誤りビット数が前記閾値Ｂを超える場合は、前記識別子が安定して再生成されていないと判定することを特徴とする請求項２記載の鍵情報生成装置。
【請求項５】
前記監視部は、
前記一連の処理の前記繰り返し回数が、前記閾値数Ｕを超える場合には、前記鍵情報の再生成を失敗と判定することを特徴とする請求項１記載の鍵情報生成装置。
【請求項６】
前記ハッシュ部は、前記ハッシュ値生成方式として、
前記鍵情報生成部によって生成された前記鍵情報のハッシュ値と、
前記鍵情報生成部によって生成された前記鍵情報と、前記暗号部によって暗号化された前記暗号化秘密情報とを連結したデータのハッシュ値とのうちの、
いずれかのハッシュ値を使用することを特徴とする請求項１記載の鍵情報生成装置。
【請求項７】
識別子生成部と、鍵情報生成部と、暗号部と、ハッシュ部と、記憶部と、比較部とを備えた鍵情報生成装置が行う鍵情報生成方法であって、
前記識別子生成部は、
前記鍵情報生成装置の物理特性に基づいて、前記鍵情報生成装置に固有の識別子を生成し、
前記鍵情報生成部は、
前記識別子生成部によって生成された前記識別子に基づいて、秘密情報の暗号化と復号とに使用される前記鍵情報を生成し、
前記暗号部は、
前記秘密情報の暗号化と復号とを、前記鍵情報生成部によって生成された前記鍵情報を用いて行い、
前記ハッシュ部は、
前記鍵情報生成部によって生成された前記鍵情報を少なくとも使用する所定のハッシュ値生成方式によってハッシュ値を生成し、
前記記憶部は、
前記鍵情報生成部によって生成された前記鍵情報を用いて前記暗号部が前記秘密情報を暗号化した暗号化秘密情報と、前記秘密情報の暗号化に用いられた前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって、前記ハッシュ部が生成した前記ハッシュ値とを、不揮発的に記憶し、
前記識別子生成部は、
前記暗号部が前記暗号化秘密情報を復号する際に前記識別子を再生成し、
前記鍵情報生成部は、
前記識別子生成部によって再生成された前記識別子に基づいて、前記暗号部が前記暗号化秘密情報の復号に用いる前記鍵情報を再生成し、
前記ハッシュ部は、
前記鍵情報生成部によって再生成された前記鍵情報を少なくとも使用する前記ハッシュ値生成方式によって前記ハッシュ値を再生成し、
前記比較部は、
前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とを比較し、
前記暗号部は、
前記比較部による比較から、前記ハッシュ部によって再生成された前記ハッシュ値と、前記記憶部に記憶された前記ハッシュ値とが等しい場合に、前記鍵情報生成部によって再生成された前記鍵情報を用いて、前記暗号化秘密情報を復号し、
前記鍵情報生成装置は、さらに、監視部を備え、
前記監視部は、
前記識別子生成部と、前記鍵情報生成部と、前記ハッシュ部と、前記比較部とに対して、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成されるまで、予め設定された回数である閾値Ｕを超えない範囲で、前記識別子生成部、前記鍵情報生成部、前記ハッシュ部による各再生成処理と、前記比較部による比較処理との一連の処理を、繰り返し実行させる
ことを特徴とする鍵情報生成方法。
【請求項８】
前記暗号部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、再生成された前記同一のハッシュ値の再生成の基となる再生成された前記鍵情報を用いて前記記憶部の前記暗号化秘密情報を復号し、
前記監視部は、
前記一連の処理の繰り返し回数が前記閾値Ｕを超えない範囲において前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値が前記ハッシュ部によって再生成された場合に、所定の安定判定規則に基づいて、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子が安定して再生成されたかどうかを判定し、
安定して再生成されていないと判定すると、
前記鍵情報生成部に、前記記憶部に記憶された前記ハッシュ値と同一のハッシュ値の再生成の基となる前記鍵情報の再生成の基となる再生成された前記識別子から前記鍵情報を、生成させ、
前記ハッシュ部に、前記鍵情報生成部に生成させた前記鍵情報から更新用のハッシュ値を、生成させ、
前記暗号部に、前記鍵情報生成部に生成させた前記鍵情報を用いて、復号された前記秘密情報を更新用の前記暗号化秘密情報として、暗号化させると共に、
前記記憶部に記憶された前記ハッシュ値と前記暗号化秘密情報とを、前記ハッシュ部に生成させた更新用の前記ハッシュ値と、前記暗号部に暗号化させた更新用の前記暗号化秘密情報とに更新することを特徴とする請求項７記載の鍵情報生成方法。
【国際調査報告】
2012164721.tif 000008
2012164721.tif 000009
2012164721.tif 000010
2012164721.tif 000011