(57)【要約】ターゲット機器に、ｍ個（ｍは自然数）の鍵｛Ｋａ１，．．．，Ｋａｍ｝をＫａｉ（ｉは１≦ｉ≦ｍを満たす自然数）がＫａ（ｉ−１）により暗号化された形で格納し、またｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝をＫｂｊ（ｊは１≦ｊ≦ｎを満たす自然数）がＫｂ（ｊ−１）により暗号化された形で格納する場合に、機密情報処理部において、ＫａｉがＫａ（ｉ−１）により暗号化された暗号化鍵Ｅｎｃ（Ｋａｉ，Ｋａ（ｉ−１））を、Ｋｂ（ｊ−１）により暗号化しなおして、暗号化鍵Ｅｎｃ（Ｋａｉ，Ｋｂ（ｊ−１））として出力する処理を行わせる。
2006118101.tif 000002
【特許請求の範囲】
【請求項１】
暗号化コンテンツを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号化コンテンツを読み出し、復号化して利用する機密情報処理用のホスト機器であって、
予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、
前記機密情報処理部に対して、前記複数のシーケンスの起動を指示するＣＰＵと、
前記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を行う第１のインターフェース部と、
前記機密情報処理部と前記ＣＰＵとの間で前記機密情報を含むデータの入出力を行う第２のインターフェース部と、
を備え、
前記ターゲット機器またはホスト機器は、ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝を暗号化された状態で前記機密情報として格納し、
前記鍵Ｋｍは、コンテンツを暗号化するコンテンツ鍵であり、
鍵Ｋｉ（１≦ｉ≦ｍを満たす自然数）は鍵Ｋ（ｉ−１）により暗号化され、
前記複数のシーケンスは、前記ｍ個の鍵のうち任意の鍵Ｋｉを暗号化する鍵を、Ｋ（ｉ−１）から別の鍵に変換する鍵変換シーケンスを含み、
前記第１のインターフェース部と前記第２のインターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状態の機密情報のみを前記機密情報処理部の外部に出力する
ことを特徴とする機密情報処理用のホスト機器。
【請求項２】
前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、
前記鍵Ｋ１を暗号化する前記鍵Ｋ０は第１の認証処理により生成される認証鍵Ｋａ０であり、
前記ターゲット機器と同一または異なるターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、
鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）はＫｂ（ｊ−１）により暗号化され、
前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、
前記鍵Ｋｂ０は前記第２の認証処理により生成される認証鍵であり、
前記別の鍵は前記鍵｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうちの何れかの鍵である
ことを特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項３】
前記別の鍵は、Ｋｂ（ｎ−ｍ＋ｉ）である
ことを特徴とする請求項２記載の機密情報処理用のホスト機器。
【請求項４】
前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、
前記鍵Ｋ１を暗号化する前記鍵Ｋ０が、前記第１の認証処理により生成される認証鍵Ｋａ０であり、
前記別の鍵は、前記機密情報処理部に格納されたホスト鍵Ｋｈである
ことを特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項５】
前記鍵Ｋ０は、前記機密情報処理部に格納されたホスト鍵Ｋｈであり、
前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、
該ターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、
鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）は鍵Ｋｂ（ｊ−１）により暗号化され、
前記鍵Ｋｂ０は、前記第２の認証処理により生成された認証鍵であり、
前記鍵変換シーケンスにおいて、鍵Ｋ１を暗号化する鍵を、前記ホスト鍵Ｋｈから｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうち何れかの鍵へと変換する
こと特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項６】
前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、
前記Ｋ１を暗号化する前記鍵Ｋ０は、前記第１の認証処理により生成される認証鍵Ｋａ０であり、
前記ターゲット機器は、（ｍ−ｓ）個の鍵｛Ｋｅ１，．．．Ｋｅ（ｍ−ｓ）｝を格納し、鍵Ｋｅｊ（１≦ｊ≦ｍ−ｓを満たす自然数）は鍵Ｋｅ（ｊ−１）により暗号化され、
鍵Ｋｅ０は、前記ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝のうちの何れかの鍵Ｋｓ（１≦ｓ＜ｍを満たす自然数）であり、
前記別の鍵は、｛Ｋｅ１，．．．，Ｋｅ（ｍ−ｓ−１）｝のうち何れかの鍵である
ことを特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項７】
前記機密情報処理部は、さらに、
前記第１の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、
前記認証フラグが前記第１の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項２、４、６何れかに記載の機密情報処理用のホスト機器。
【請求項８】
前記機密情報処理部は、さらに、
前記第２の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、
前記認証フラグが前記第２の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項２または５に記載の機密情報処理用のホスト機器。
【請求項９】
前記機密情報処理部は、さらに、
前記鍵Ｋ（ｉ−１）が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、
前記鍵生成フラグが、鍵Ｋ（ｉ−１）が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項７記載の機密情報処理用のホスト機器。
【請求項１０】
前記機密情報処理部は、さらに、
前記別の鍵が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、
前記鍵生成フラグが前記別の鍵が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項８記載の機密情報処理用のホスト機器。
【請求項１１】
前記機密情報処理部は、さらに、
前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたか否かを示すターゲットフラグを保持するフラグ保持部を有し、
前記ターゲットフラグが前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたことを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項２記載の機密情報処理用のホスト機器。
【請求項１２】
前記機密情報処理部は、さらに、
前記ターゲット機器との間の接続が切断された場合、前記フラグ保持手段に保持された前記フラグを初期化する
ことを特徴とする請求項７または８に記載の機密情報処理用のホスト機器。
【請求項１３】
前記ホスト機器は、前記ターゲット機器との間の接続が切断された場合、前記機密情報処理部が復号化し内部に保持する鍵を消去する
ことを特徴とする請求項１〜１３の何れかに記載の機密情報処理用のホスト機器。
【請求項１４】
単一の半導体装置として実装されたことを特徴とする請求項１〜１４の何れかに記載の機密情報処理用のホスト機器。
【請求項１５】
暗号化コンテンツを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号化コンテンツを読み出し、復号化して利用する機密情報処理用のホスト機器における機密情報処理方法であって、
前記ホスト機器は、
予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、
前記機密情報処理部に対して、前記複数のシーケンスの起動を指示するＣＰＵと、
前記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を行う第１のインターフェース部と、
前記機密情報処理部と前記ＣＰＵとの間で前記機密情報を含むデータの入出力を行う第２のインターフェース部とを備え、
前記ターゲット機器またはホスト機器は、ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝を暗号化された状態で前記機密情報として格納し、
前記鍵Ｋｍは、コンテンツを暗号化するコンテンツ鍵であり、
鍵Ｋｉ（１≦ｉ≦ｍを満たす自然数）は鍵Ｋ（ｉ−１）により暗号化され、
前記機密情報処理方法は、
前記複数のシーケンスにおいて、前記ｍ個の鍵のうち任意の鍵Ｋｉを暗号化する鍵を、Ｋ（ｉ−１）から別の鍵に変換する鍵変換シーケンスを実行し、
前記第１のインターフェース部と前記第２のインターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状態の機密情報のみを前記機密情報処理部の外部に出力する
ことを特徴とする機密情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ターゲット機器に格納される鍵に対する暗号変換処理方法および、それを実現する機密情報処理装置としてのホスト機器に関する。
【背景技術】
【０００２】  近年、メモリカードといったデータを蓄積するための機器（以下、「ターゲット機器」という。）は、その利用用途の拡大に伴い広く利用されるようになってきた。このターゲット機器は、一般的にターゲット機器を挿入するためのスロットを備え、挿入されたターゲット機器に対してデータの格納を行う機器（以下、「ホスト機器」という。）により使用される。【０００３】  また、ターゲット機器の利用用途の一つに、オーディオデータなどの著作権保護が必要なデータを扱う用途がある。このような用途においては、オーディオデータなどの著作権を保護する目的で機密情報処理方法が用いられる。この機密情報処理方法では、著作権の保護が必要なデータに対しては暗号化を行い、暗号化されたデータをターゲット機器に格納する。これにより、著作物などのコンテンツに対する不正なコピー、あるいはコンテンツの外部への漏洩を防止する。【０００４】  以下では、このような著作権保護を行うための機密情報処理方法について説明する。著作権保護を行う機密情報処理方法においては、まず、ターゲット機器とホスト機器の間で認証処理を行う。次に、認証が成功した場合のみ、暗号化コンテンツを復号化するための鍵であるコンテンツ鍵（以下、「Ｋｃ」という。）をホスト機器がターゲット機器から入手可能な構成となっている。ホスト機器は、コンテンツ鍵の入手により、ターゲット機器に格納された暗号化コンテンツを利用可能になる。このような構成により、不正なホスト機器により暗号化コンテンツが復号化されるのを防ぐことが出来る。このような著作権保護を行うための機密情報処理方法に関する先行技術文献として特許文献１がある。【０００５】  続いて、認証が成功した場合に、Ｋｃを用いてホスト機器がコンテンツを復号化する処理について図面を参照しながら説明する。図１はこのような機密情報処理方法を実行するホスト機器の主要部の構成を示す機能ブロック図である。ここで、図１では認証処理が正常に終了し、ターゲット機器とホスト機器がともに正当な機器であることが確認されているとする。図１では、ホスト機器１３００にターゲット機器１３０１が挿入され、ホスト機器１３００に備わった鍵などの機密情報の暗号化や復号化を行うための機密情報処理部１３０２により、ワーク用の領域であるワーク領域１３０３に格納された暗号化コンテンツ１３０４を復号化してコンテンツ１３０５を利用する場合を説明する。なお、ここで機密情報処理部は、セキュリティを高めるために、ハードウェアとして半導体集積回路に実装されている。【０００６】  図１では、前述したようにターゲット機器１３０１に対して認証が成功している場合を説明するため、認証処理１３０６から生成される鍵である認証鍵Ｋａ０（１３０７）が生成されている。ここで認証鍵とは、認証が成功した場合にのみ機密情報処理部１３０２に生成される鍵であり、認証処理において、ホスト機器が所有する認証用の鍵である認証用ホスト鍵と、ターゲット機器が有する認証用の鍵である認証用スレーブ鍵とに基づいて算出される。【０００７】  また、コンテンツ鍵はターゲット機器１３０１に格納され、コンテンツの復号化が行われる際にターゲット機器１３０１から入手される。なお、Ｋｃはその秘匿性確保のために、認証鍵であるＫａ０により暗号化された形でターゲット機器１３０１に保持される。したがって、認証処理によりＫａ０を生成したホスト機器のみが暗号化されたＫｃを復号可能なことが分かる。なお、以下ではＫｃをＫａ０により暗号化した暗号化鍵はＥｎｃ（Ｋｃ，Ｋａ０）と表記する（その他の暗号化鍵についても同様の表記を用いる）。また暗号化されたコンテンツは、Ｋｃにより暗号化され、ターゲット機器１３０１に格納される。そのため、Ｋｃを生成したホスト機器であれば、暗号化コンテンツをターゲット機器１３０１から入手することにより復号化可能である。【０００８】  以下では、認証処理後にホスト機器１３００がターゲット機器に格納されたＥｎｃ（Ｋｃ，Ｋａ０）１３０８を入手し、ワーク領域１３０３に格納した後の処理を説明する。また、暗号化コンテンツ１３０４も認証処理後にターゲット機器１３０１から入手され、ワーク領域１３０３に格納済みとする。なお、Ｅｎｃ（Ｋｃ，Ｋａ０）や暗号化コンテンツは、必ずしも一旦ワーク領域１３０３に格納する必要はなく、直接ターゲット機器１３０１から機密情報処理部１３０２に入力することも可能である。【０００９】  コンテンツの復号化においては、まずホスト機器１３００はＥｎｃ（Ｋｃ，Ｋａ０）１３０８を機密情報処理部１３０２に入力し、認証処理１３０６で生成したＫａ０（１３０７）により復号化処理１３０９を行う。これにより平文状態（暗号化されていない状態を称す）のコンテンツ鍵であるＫｃ１３１０が生成される。なお、生成されたＫｃ１３１０は機密情報処理部１３０２に保持され、ホスト機器１３００はその値を知ることが出来ない。続いて、ホスト機器１３００は暗号化コンテンツ１３０４を入力し、機密情報処理部１３０２においてＫｃによる復号化処理１３１１が行われる。これによりホスト機器１３００は復号化されたコンテンツ１３０５を得ることができ、コンテンツの復号化処理が終了となる。このように、コンテンツの復号化の際は、Ｋｃは暗号化されたＥｎｃ（Ｋｃ，Ｋａ０）の形で機密情報処理部に入力され、また暗号化されていないＫｃは機密情報処理部に保持される。そのため、ホスト機器ではＫｃの秘匿性を確保した形でコンテンツの復号化が行える。
【特許文献１】特開２０００−３５７１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】  近年、ターゲット機器の利用用途が広まってきたことに伴い、複数の機密情報処理方法が混在してターゲット機器に実装される場合が増えてきた。このような状況においては、コンテンツを暗号化するための鍵であるコンテンツ鍵Ｋｃは、異なる機密情報処理方法の間で相互に利用できることが望ましい。ところが、コンテンツ鍵Ｋｃを相互に利用する際において、Ｋｃはその秘匿性が確保されている必要がある。つまり暗号化されていないコンテンツ鍵Ｋｃがユーザーなどの第三者に知られるのを防ぐ必要がある。また、第三者によりコンテンツ鍵Ｋｃの不正な相互利用が行われるのを防ぐ必要がある。ここで、不正な相互利用の例としては、あるコンテンツ鍵Ｋｃが同一ターゲット機器内でのみ相互利用が許されている場合に、異なるターゲット機器間でそのコンテンツ鍵Ｋｃを相互利用可能とすることなどがある。【００１１】  また、図１に示した機密情報処理方法では認証鍵Ｋａ０により暗号化されたＥｎｃ（Ｋｃ，Ｋａ０）をターゲット機器に格納している。この機密情報処理方法は、暗号化コンテンツを平文のコンテンツに復号化するまでに、２段階の復号を必要とする。つまり、認証鍵Ｋａ０による暗号化コンテンツ鍵ＥＮＣ（Ｋｃ，Ｋａ０）からコンテンツ鍵Ｋｃへの復号、コンテンツ鍵Ｋｃによる暗号化コンテンツの復号の２段階である。【００１２】  これに対して、２段階よりも多い段数の機密情報処理方法が考えられる。例えば、３段階の機密情報処理方法では、認証鍵Ｋａ０により鍵Ｋａ１を暗号化したＥｎｃ（Ｋａ１，Ｋａ０）をターゲット機器に格納し、さらにこのＫａ１によりＫｃを暗号化したＥｎｃ（Ｋｃ，Ｋａ１）をターゲット機器に格納することになる。これによっても、コンテンツの保護を行うことが可能である。この場合、ターゲット機器との間で認証処理を行うことによって機密情報処理部に認証鍵Ｋａ０を生成すれば、Ｅｎｃ（Ｋａ１，Ｋａ０）が復号可能になり、さらに復号化されたＫａ１によりＥｎｃ（Ｋｃ，Ｋａ１）を復号可能になる。【００１３】  同様に、多段階の機密情報処理方法を一般化すれば、ｍ個の暗号化鍵［Ｅｎｃ（Ｋａ１，Ｋａ２），．．．，Ｅｎｃ（Ｋａ（ｍ−１），Ｋａｍ）］をターゲット機器に格納し、Ｋａｍをコンテンツ鍵の暗号鍵として使用することになると考えられる。２段階の機密情報処理方法におけるコンテンツ鍵Ｋｃを、異なる機密情報処理方法の間で相互利用可能とすることが望まれるのと同様に、多段階の全部又は一部の鍵Ｋａｉ（ｉは１≦ｉ≦ｍを満たす自然数）が異なる機密情報処理方法との間で相互利用可能になることも望まれる。【００１４】  したがって、本発明の目的は、ｍ個の暗号化鍵［Ｅｎｃ（Ｋａ１，Ｋａ２），．．．，Ｅｎｃ（Ｋａ（ｍ−１），Ｋａｍ）］がターゲット機器に格納される場合において、鍵Ｋａｉを異なる機密情報処理方法との間で相互利用するための処理方法を提供することにある。【００１５】  またその処理方法が、Ｋａｉの秘匿性が確保された状態で、また第三者によるＫａｉの不正な相互利用を防いだ状態で実行可能とすることを目的とする。
【課題を解決するための手段】
【００１６】  上記課題を解決するために、本発明の機密情報処理用ホスト機器は、暗号化コンテンツを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号化コンテンツを読み出し、復号化して利用する機密情報処理用のホスト機器であって、予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、前記機密情報処理部に対して、前記複数のシーケンスの起動を指示するＣＰＵと、前記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を行う第１のインターフェース部と、前記機密情報処理部と前記ＣＰＵとの間で前記機密情報を含むデータの入出力を行う第２のインターフェース部と、を備え、前記ターゲット機器またはホスト機器は、ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝を暗号化された状態で前記機密情報として格納し、前記鍵Ｋｍは、コンテンツを暗号化するコンテンツ鍵であり、鍵Ｋｉ（１≦ｉ≦ｍを満たす自然数）は鍵Ｋ（ｉ−１）により暗号化され、前記複数のシーケンスは、前記ｍ個の鍵のうち任意の鍵Ｋｉを暗号化する鍵を、Ｋ（ｉ−１）から別の鍵に変換する鍵変換シーケンスを含み、前記第１のインターフェース部と前記第２のインターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状態の機密情報のみを前記機密情報処理部の外部に出力するように構成されている。【００１７】  上記構成をとることにより、ＣＰＵが機密情報処理部を用いて自由に鍵変換を行うのではなく、ＣＰＵが機密情報処理部に予め定められた鍵変換シーケンスの起動を指示することによって動作を行い、かつ鍵変換シーケンスの過程で生成される機密情報が機密情報外部に出力されないため、セキュリティを保ったままコンテンツを異なる機密情報処理方法の間で相互利用することが可能となる。【００１８】  また、前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、前記鍵Ｋ１を暗号化する前記鍵Ｋ０は第１の認証処理により生成される認証鍵Ｋａ０であり、前記ターゲット機器と同一または異なるターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）はＫｂ（ｊ−１）により暗号化され、前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、前記鍵Ｋｂ０は前記第２の認証処理により生成される認証鍵であり、前記別の鍵は前記鍵｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうちの何れかの鍵であるようにしてもよい。【００１９】  また、前記別の鍵は、Ｋｂ（ｎ−ｍ＋ｉ）であってもよい。この構成によれば、認証鍵Ｋｂ０からの復号化の回数（段数）が変わらずにコンテンツ鍵を復号化できるので、さらに好ましい。【００２０】  また、前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、前記鍵Ｋ１を暗号化する前記鍵Ｋ０が、前記第１の認証処理により生成される認証鍵Ｋａ０であり、前記別の鍵は、前記機密情報処理部に格納されたホスト鍵Ｋｈであってもよい。【００２１】  上記構成は、ターゲット機器に格納された鍵情報のバックアップとして有用である。バックアップされた鍵情報はホスト鍵Ｋｈで暗号化された状態で保存されるため、ホスト鍵Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみが復号可能となる。【００２２】  また、前記鍵Ｋ０は、前記機密情報処理部に格納されたホスト鍵Ｋｈであり、前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、該ターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）は鍵Ｋｂ（ｊ−１）により暗号化され、前記鍵Ｋｂ０は、前記第２の認証処理により生成された認証鍵であり、前記鍵変換シーケンスにおいて、鍵Ｋ１を暗号化する鍵を、前記ホスト鍵Ｋｈから｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうち何れかの鍵へと変換するようにしてもよい。【００２３】  上記構成は、ホスト機器にバックアップされた鍵情報をターゲット機器にリストアする場合に有用である。バックアップされた鍵情報はホスト鍵Ｋｈで暗号化された状態で保存されるため、ホスト鍵Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみが復号可能となる。【００２４】  また、前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、前記Ｋ１を暗号化する前記鍵Ｋ０は、前記第１の認証処理により生成される認証鍵Ｋａ０であり、前記ターゲット機器は、（ｍ−ｓ）個の鍵｛Ｋｅ１，．．．Ｋｅ（ｍ−ｓ）｝を格納し、鍵Ｋｅｊ（１≦ｊ≦ｍ−ｓを満たす自然数）は鍵Ｋｅ（ｊ−１）により暗号化され、鍵Ｋｅ０は、前記ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝のうちの何れかの鍵Ｋｓ（１≦ｓ＜ｍを満たす自然数）であり、前記別の鍵は、｛Ｋｅ１，．．．，Ｋｅ（ｍ−ｓ−１）｝のうち何れかの鍵であってもよい。【００２５】  上記構成によると、ターゲット機器に格納されるべき暗号化された鍵情報の数を減らすことが可能となる。【００２６】  また、前記機密情報処理部は、さらに、前記第１の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、前記認証フラグが前記第１の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。【００２７】  上記構成により、適正に第１の認証処理を終了した場合にしか鍵変換シーケンスが起動されないので、不正な認証処理によって鍵変換シーケンスを起動することを防止できる。【００２８】  また、前記機密情報処理部は、さらに、前記第２の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、前記認証フラグが前記第２の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。【００２９】  上記構成により、適正に第２の認証処理を終了した場合にしか鍵変換シーケンスが起動されないので、不正な認証処理によって鍵変換シーケンスを起動することを防止できる。【００３０】  また、前記機密情報処理部は、さらに、前記鍵Ｋ（ｉ−１）が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、前記鍵生成フラグが、鍵Ｋ（ｉ−１）が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。【００３１】  上記構成により、鍵Ｋｉを暗号化していた鍵Ｋ（ｉ−１）が生成されている場合にしか鍵変換シーケンスが起動されないので、不正な鍵を用いて鍵変換シーケンスが起動されることを防止することができる。【００３２】  また、前記機密情報処理部は、さらに、前記別の鍵が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、前記鍵生成フラグが前記別の鍵が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。【００３３】  上記構成により、変換するための鍵が生成されている場合にしか鍵変換シーケンスが起動されないので、不正な鍵を用いて鍵変換シーケンスが起動されることを防止することができる。【００３４】  また、前記機密情報処理部は、さらに、前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたか否かを示すターゲットフラグを保持するフラグ保持部を有し、前記ターゲットフラグが前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたことを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。【００３５】  上記構成により、同一のターゲット機器に対してしか鍵変換を受け付けないといった制約がある場合に、その制約を確実に守ることができる。また、ターゲット機器を接続するスロットが２つある場合に、各々のスロットに異なるターゲット機器を接続して不正に鍵変換シーケンスを起動することを防止できる。
【発明の効果】
【００３６】  本発明の処理方法を用いた場合、異なる認証鍵を持つ機密情報処理方法の間などにおいて鍵変換処理を実行することができる。これにより、Ｋｃなどを異なる機密情報処理の間で相互に利用可能となる。また、機密情報処理部においては、鍵変換処理の実行にあたりユーザーによる不正な処理が行われていないこと確認することから、ユーザーによる不正な鍵変換処理が実行されるのを防ぐことができる。さらに暗号化されていない鍵を機密情報処理部内で保持することにより、鍵情報の秘匿性が確保される。【００３７】  またターゲット機器以外の機器との間で、鍵の相互利用やバックアップが、ユーザーによる不正な処理を防いだ形で、かつ鍵情報が秘匿化された形で実現される。【００３８】  さらに、不要となった鍵の消去などによる鍵の整理が、ユーザーによる不正な処理を防いだ形で、かつ鍵情報が秘匿化された形で可能となる。
【図面の簡単な説明】
【００３９】
【図１】図１は、従来技術におけるコンテンツの復号化方法を示す図である。
【図２】図２は、本発明における機密情報処理システムの全体を示す図である。
【図３】図３は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋａ２）から出力Ｅｎｃ（Ｋｃ，Ｋｂ１）を得る鍵変換処理を行うための構成を示す図である。
【図４】図４は、本発明における鍵変換制御部および鍵変換制御フラグの構成を示す図である。
【図５】図５は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋａ２）から出力Ｅｎｃ（Ｋｃ，Ｋｂ１）を得る鍵変換処理を行うためのフローチャートである。
【図６】図６は、本発明における認証の消去でのターゲット機器交換前の構成を示す図である。
【図７】図７は、本発明における認証の消去でのターゲット機器交換後の構成を示す図である。
【図８】図８は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋａ２）から出力Ｅｎｃ（Ｋｃ，Ｋｈ）を得る鍵変換処理を行うための構成を示す図である。
【図９】図９は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋａ２）から出力Ｅｎｃ（Ｋｃ，Ｋｈ）を得る鍵変換処理を行うためのフローチャートである。
【図１０】図１０は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋｈ）から出力Ｅｎｃ（Ｋｃ，Ｋｂ１）を得る鍵変換処理を行うための構成を示す図である。
【図１１】図１１は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋｈ）から出力Ｅｎｃ（Ｋｃ，Ｋｂ１）を得る鍵変換処理を行うためのフローチャートである。
【図１２】図１２は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋａ２）から出力Ｅｎｃ（Ｋｃ，Ｋｄ２）を得る鍵変換処理を行うための構成を示す図である。
【図１３】図１３は、本発明における入力Ｅｎｃ（Ｋｃ，Ｋｄ２）から出力Ｅｎｃ（Ｋｃ，Ｋｅ２）を得る鍵変換処理を行うためのフローチャートである。
【符号の説明】
【００４０】１００  ホスト機器
１０１  ターゲット機器
１０２  機密情報処理部
１０３  ホストＣＰＵ
１０４  ホストＩ／Ｆ
１０５  ターゲットＩ／Ｆ
１０６  ワーク領域
１０７  内部バス
１０８  半導体集積回路
２１６  鍵変換制御部
２１７  鍵変換制御フラグ
３００  鍵変換処理設定デコード回路
３０１  セレクタ
３０２  ＡＮＤゲート
３０３  認証フラグ（Ｋａ０）
３０４  認証フラグ（Ｋｂ０）
３０５  同一ターゲットフラグ
３０６  鍵生成フラグ（Ｋａ２）
３０７  鍵生成フラグ（Ｋｂ１）
５００  ターゲット機器１
６００  ターゲット機器２
１３００  ホスト機器
１３０１  ターゲット機器
１３０２  機密情報処理部
１３０３  ワーク領域
【発明を実施するための最良の形態】
【００４１】  以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。【００４２】  （実施の形態１）
実施の形態１では、本発明における鍵変換処理方法について説明する。図２はホスト機器１００とターゲット機器１０１から構成される機密情報処理システムの全体構成を示したものである。【００４３】  ホスト機器１００は、所定の制御シーケンスに従って機密情報（以下では、鍵などの平文状態での不正利用が許されない情報を示す）の暗号化や復号化を行う機密情報処理部１０２と、機密情報処理部１０２に対して所定の制御シーケンスを起動するホストＣＰＵ１０３と、ホストＣＰＵ１０３とターゲット機器１０１、および機密情報処理部１０２との間でデータの入出力を行うホストＩ／Ｆ部１０４と、ターゲット機器１０１との間でデータの入出力を行うターゲットＩ／Ｆ部１０５と、ホストＣＰＵ１０３や機密情報処理部１０２がその動作のためにデータを一時格納しておくためのワーク用の領域であるワーク領域１０６、および内部バス１０７とから構成される。また、機密情報処理部１０２は、ホストＩ／Ｆ部１０４およびターゲットＩ／Ｆ部１０５とともに秘匿化されたハードウェアである半導体集積回路１０８として構成される。なお、上記の構成要素に加えホストＣＰＵ１０３も併せて秘匿化された半導体集積回路として構成してもよい。【００４４】  また、ホスト機器１００とターゲット機器１０１との間で鍵などの機密情報の読み出しおよび書き出しが行われる場合には、ホスト機器１００とターゲット機器１０１との間で認証処理を行う必要がある。なお、ここで行う認証処理は、秘密鍵方式または公開鍵方式のいずれの暗号方式を利用して行ってもよい。認証が成功すると、ホスト機器１００はターゲット機器１０１からターゲットＩ／Ｆ部１０５を介して機密情報を読み出し、機密情報処理部１０２を用いて復号化して利用する。また、機密情報処理部１０２の動作の起動はホストＣＰＵ１０３から行われ、起動された場合、セキュリティの確保された、あるいはセキュリティの必要の少ない所定のシーケンスのみを行う。【００４５】  ここで、ホストＩ／Ｆ部１０４とターゲットＩ／Ｆ部１０５とは、機密情報処理部１０２が行うシーケンスの途中で生成される中間情報のうち機密性の高いもの（平文状態の機密情報等）を、秘匿化された半導体集積回路１０８外部には出力しないように構成されている。【００４６】  また、機密情報処理部１０２とホストＣＰＵ１０３は同一の半導体チップで構成しても別チップで構成してもどちらでも構わない。【００４７】  図３は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２と同一の要素については、同一の符号を用いている。図３では本発明の実施の形態の一つとして、ターゲット機器１０１に三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納され、さらに同一のターゲット機器１０１に二つの暗号化鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）に対して鍵変換処理を行うことによりＥｎｃ（Ｋｃ，Ｋｂ１）を得る場合を説明する。なお、この図では説明の簡略化のために、図２におけるホストＩ／Ｆ部１０４、ターゲットＩ／Ｆ部１０５、および内部バス１０７は省略した。なお、図３に��いて、復号化２０２、２０５、２０９、２１３は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。【００４８】  また、ここでは鍵変換処理を行うにあたり、ターゲット機器に対する認証処理が終了し機密情報処理部１０２に認証鍵Ｋａ０（２００）が生成されているものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋａ１，Ｋａ０）２０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力され認証鍵Ｋａ０（２００）により復号化２０２することによりＫａ１（２０３）が生成され、さらにターゲット機器１０１に格納されたＥｎｃ（Ｋａ２，Ｋａ１）２０４がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（２０３）により復号化２０５することによりＫａ２（２０６）が生成されているものとする。また同様に、ターゲット機器に対して別の認証処理を行うことにより認証鍵Ｋｂ０（２０７）が機密情報処理部１０２に生成されているものとする。ターゲット機器１０１に格納されたＥｎｃ（Ｋｂ１，Ｋｂ０）２０８がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ３として入力され認証鍵Ｋｂ０（２０７）により復号化２０９することによりＫｂ１（２１０）が生成されているものとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）２０１、Ｅｎｃ（Ｋａ２，Ｋａ１）２０４およびＥｎｃ（Ｋｂ１，Ｋｂ０）２０８は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。【００４９】  また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋａ２）２１１は、認証処理後にターゲット機器１０１からホスト機器１００のワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）２１２はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてターゲット機器に格納されるものとする。なお、これらＥｎｃ（Ｋｃ，Ｋａ２）２１１やＥｎｃ（Ｋｃ，Ｋｂ１）２１２は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力する、もしくは直接機密情報処理部１０２からターゲット機器１０１に出力することも可能である。【００５０】  以下、鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図３では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋａ２）からＥｎｃ（Ｋｃ，Ｋｂ１）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。これにより、鍵変換処理が開始される。【００５１】  鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部１０２に生成されたＫａ２（２０６）およびＫｂ１（２１０））が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋａ２）２１１が機密情報処理部１０２に入力され、この入力された鍵に対してＫａ２（２０６）を用いて復号化処理２１３を行う。このようにＫａ２（２０６）で復号化を行うことにより、暗号化されていないＫｃ２１４が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ２１４を格納する方法がある。なお、Ｋｃ２１４は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ２１４に対してＫｂ１（２１０）を用いて暗号化処理２１５を行う。この暗号化処理２１５によりＥｎｃ（Ｋｃ，Ｋｂ１）２１２が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。【００５２】  また、鍵変換処理における暗号化処理２１５や復号化処理２１３は、図３に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、鍵変換制御部２１６は暗号化処理２１５や復号化処理２１３を行う回路に対して、それぞれの回路で使用される鍵を設定するための信号、およびそれぞれの回路に対するイネーブル信号を生成するための回路である。なお、ここでのイネーブル信号とは、この信号が入力されている間はそれぞれの回路において暗号化や復号化が実行可能とするための信号である。また、鍵変換制御フラグ２１７は、ホストＣＰＵ１０３から鍵変換処理の制御シーケンスが起動された際に鍵変換制御部２１６に読み出され、イネーブル信号生成の条件として使用される。【００５３】  ここで本発明における鍵変換制御フラグ２１７は三種類のフラグから成り、一つ目は鍵変換処理の入力となる暗号化鍵を格納するターゲット機器、および鍵変換処理の出力となる暗号化鍵を格納するターゲット機器に対してそれぞれ認証処理が行われたどうかを示すためのフラグ（以下、「認証フラグ」という。）で、それぞれのターゲット機器が不正な機器でないことを確認するために使用される。図３の例では、それぞれの認証が行われた場合に１になるものとする。【００５４】  二つ目は前記の二つの認証処理が同一のターゲット機器に対して行われたかを示すためのフラグ（以下、「同一ターゲットフラグ」という。）で、鍵変換処理の入力となる暗号化鍵および出力となる暗号化鍵が同一のターゲット機器に格納される必要がある場合に、同一ターゲット機器に対して認証処理が行われたかどうかを確認するために使用される。図３の例では、同一のターゲット機器に対して認証が行われた場合に１になるものとする。なお、同一ターゲット機器であることを確認するための方法の一例には、それぞれの認証処理の際に、ターゲット機器に固有な識別番号を機密情報処理部１０２に保持し、それら保持された識別番号が同一かどうかを確認することにより、同一ターゲット機器かどうかを判定する方法がある。【００５５】  三つ目は鍵変換処理において復号化および暗号化を行うための鍵（図３ではＫａ２（２０６）およびＫｂ１（２１０））が機密情報処���部にそれぞれ生成されたかどうかを示すためのフラグ（以下、「鍵生成フラグ」という。）で、図３の例ではＫａ２（２０６）またはＫｂ１（２１０）が生成されていない状態、すなわちＫａ２＝０またはＫｂ１＝０などの状態で復号化または暗号化が行われないことを確認するために使用される。図３の例では、鍵の生成が行われた場合に１になるものとする。なお、鍵が生成されたことを確認する方法としては、図３のＫａ２（２０６）を例とした場合、Ｋａ２を生成するために必要な復号化処理（図３では、復号化処理２０２および復号化処理２０５）がそれぞれ行われたことを機密情報処理部１０２で保持し、それらの結果から必要な復号化処理がすべて行われたかどうかを確認する方法などがある。【００５６】  図４は、図３の鍵変換処理で使用される鍵変換制御部２１６と鍵変換制御フラグ２１７の構成例を示したものである。鍵変換制御部２１６は、機密情報処理部１０２に対してどの鍵変換処理を起動するかを設定するための鍵変換処理設定をホストＣＰＵ１０３からの入力として持ち、暗号回路に対する鍵選択信号およびイネーブル信号を出力として持つ。また、鍵変換処理設定をデコードするための鍵変換設定デコード回路３００と、デコード回路から出力される信号を選択信号とするセレクタ３０１、およびセレクタ３０１への入力として使用するためのＡＮＤゲート３０２から構成される。ここで、鍵変換設定デコード回路３００は例えば、ホストＣＰＵ１０３からの鍵変換処理設定を保持するためのレジスタと、それらレジスタの値を機密情報処理部１０２で使用される内部制御信号に変換するための回路から構成される。また、ＡＮＤゲート３０２の入力には、ホストＣＰＵ１０３から起動された鍵変換処理が不正なく行われるために必要となるフラグが入力される。【００５７】  ここで、図３の場合に必要となるフラグを説明する。図３の処理では認証鍵Ｋａ０（２００）および認証鍵Ｋｂ０（２０７）から生成されるＫａ２（２０６）およびＫｂ１（２１０）が使用される。そのため、認証鍵Ｋａ０（２００）を生成する認証処理および認証鍵Ｋｂ０（２０７）を生成する認証処理がともに終了している必要がある。そのため、認証フラグ（Ｋａ０）３０３および認証フラグ（Ｋｂ０）３０４が使用され、それらがともに１となる必要がある。また、図３の場合は鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）２１１と、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）２１２がともに同一のターゲット機器に格納されているものとする。そのため、同一ターゲットフラグ３０５が使用され、その値が１となる必要がある。なお、同一ターゲット機器内での鍵変換処理ではない場合は、同一ターゲットフラグ３０５はイネーブル信号生成の条件として使用されない。また、鍵変換処理においてはＫａ２（２０６）およびＫｂ１（２１０）がともに機密情報処理部１０２に生成される必要があるので、鍵生成フラグ（Ｋａ２）３０６および鍵生成フラグ（Ｋｂ１）３０７が使用され、それらがともに１となる必要がある。したがって、図３に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、これら五つのフラグを入力に持つＡＮＤゲート３０２の出力が、セレクタ３０１の出力として選択される。そのため、これら五つのフラグがすべて１となっている場合のみ、暗号回路が使用可能となる。なお、上記の五つのフラグを全て備える必要は必ずしもない。例えば、認証フラグと鍵生成フラグは何れか一方しかなくともシステムによっては一定のセキュリティレベルを達成することができ得る。また、同一ターゲットフラグ３０５は、同一ターゲットでの鍵変換しか許容しないようなモードが存在する場合は必要であるが、そういったモードが存在しない場合には必ずしも必要ない。しかし、ここでスロットが二つ存在する場合には、同一ターゲットフラグ３０５を備えることが好ましく、その理由については実施の形態２において後述する。【００５８】  なお、これらのフラグはＣＰＵが直接に書き換えを行うことはできず、各処理の結果を受けて機密情報処理部内でハードウェア的に書き換えられるものである。【００５９】  次に、図５のフローチャートを用いることにより図３に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、図３に対する説明でも示したように、まずホストＣＰＵ１０３により鍵変換処理設定４００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し４０１が鍵変換制御部２１６に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋａ２）入力４０２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図５では条件分岐４０３から条件分岐４０７に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図５に示すとおりでなくても構わない。【００６０】  図５では、図３の鍵変換制御フラグの説明でも示したように、五つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）２１１を格納するターゲット機器に対して認証鍵Ｋａ０（２００）を生成する認証処理が行われているかを条件分岐４０３で確認する。これにより、認証鍵Ｋａ０（２００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋａ２）２１１を格納するターゲット機器が不正な機器でないことを確認する。次に、鍵変換処理の出力であるＥｎｃ（Ｋｃ，Ｋｂ１）２１２を格納するターゲット機器に対して認証鍵Ｋｂ０（２０７）を生成する認証処理が行われているかを条件分岐４０４で確認する。これにより、認証鍵Ｋｂ０（２０７）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋｂ１）２１２を格納するターゲット機器が不正な機器でないことを確認する。【００６１】  次に、同一ターゲットフラグの説明で示したように、図３の例では鍵変換処理は同一のターゲット機器内で行われる場合を前提としているため、実行した二つの認証処理が同一のターゲット機器に対して行われたかを条件分岐４０５で確認する。これにより、同一ターゲット機器内での鍵変換処理が行われているかを確認する。【００６２】  また、鍵生成フラグの説明で示したように、Ｋａ２（２０６）およびＫｂ１（２１０）が機密情報処理部１０２��生成されていることを、条件分岐４０６および条件分岐４０７で確認する。これにより、Ｋａ２（２０６）およびＫｂ１（２１０）が生成されていない状態、すなわちＫａ２＝０およびＫｂ１＝０などの状態で復号化および暗号化が行われないことを確認する。【００６３】  以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋａ２）に対する変換処理４０８（図３では、Ｋａ２（２０６）で復号化して、Ｋｂ１（２１０）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理２１５や復号化処理２１３を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｂ１）出力４０９が行われる。出力後、鍵変換処理が終了となる。【００６４】  以上のように、図３および図５の処理を用いることにより鍵変換処理が実行される。なお、図３の例ではターゲット機器に｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納され、また同一ターゲット機器に｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）２１１に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｂ１）２１２を得る場合を説明した。しかしながら、本発明はこの場合に限られるものではない。例えば、Ｋａ２で暗号化されたコンテンツ鍵が複数あり、これらの全てについて別の認証処理で得られたＫｂ０を認証鍵とする機密情報処理方法で利用したい場合でもよい。この場合、各々のコンテンツ鍵を暗号化する鍵をＫｂ１に変換すると、コンテンツ鍵の個数と同じ回数の鍵変換処理を行う必要がある。そこで、Ｅｎｃ（Ｋａ２，Ｋａ１）をＥｎｃ（Ｋａ２，Ｋｂ０）へと変換するような鍵変換処理を行う。すると、Ｋａ２を暗号化のための鍵とする全てのコンテンツ鍵が、一度の鍵変換処理を行うのみで、Ｋｂ０を認証鍵とする機密情報処理方法で利用可能となる。なお、ここでＥｎｃ（Ｋａ１，Ｋａ０）をＥｎｃ（Ｋａ１，Ｋｂ０）へと変換することも可能ではある。しかしながら、この場合は認証鍵Ｋｂ０からＫｃを復号化するまでの回数がＫｂ１を用いる場合と比べて増えてしまう。したがって、機密情報処理部が、認証鍵に応じてその復号化の回数を管理し、管理している回数以外の回数の復号化で得られた結果を出力しないように構成されている場合などはＥｎｃ（Ｋａ２，Ｋａ１）をＥｎｃ（Ｋａ２，Ｋｂ０）へと変換したほうが好ましい。【００６５】  そこで、これを一般化して、ターゲット機器にｍ個（ｍは自然数）の鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），．．．，Ｅｎｃ（Ｋａｍ，Ｋａ（ｍ−１））｝が格納され、さらにｎ個（ｎは自然数）の鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），．．．，Ｅｎｃ（Ｋｂｎ，Ｋｂ（ｎ−１））｝が格納された状態で、ＫａｍおよびＫｂｎをコンテンツの暗号化および復号化に使用し、ｉおよびｊをそれぞれ１≦ｉ≦ｍ、１≦ｊ≦ｎを満たす自然数として、Ｅｎｃ（Ｋａｉ，Ｋａ（ｉ−１））に対して鍵変換処理を行ってＥｎｃ（Ｋａｉ，Ｋｂ（ｊ−１））を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の��号化を行う回路にＫａ（ｉ−１）を使用し、暗号化を行う回路にＫｂ（ｊ−１）を使用して、また鍵変換処理フラグとしてＫａ（ｉ−１）が生成されたことを示すフラグ、およびＫｂ（ｊ−１）が生成されたことを示すフラグを代わりに使用すれば、図３と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫａ（ｉ−１）およびＫｂ（ｊ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。また、ｍ−ｉ＝ｎ−ｊを満たすと、認証鍵Ｋｂ０からの復号化の回数が変わらずにコンテンツ鍵を復号化できるので、さらに好ましい。【００６６】  （実施の形態２）
次に実施の形態２について説明する。基本的な全体構成は図２と同様なので説明を省略する。【００６７】  実施の形態２では、本発明における認証のフラグの消去、および認証鍵の消去について説明する。図６および図７は、認証鍵Ｋａ０を生成する認証のフラグの消去および認証鍵Ｋａ０の消去を行うことにより、不正なターゲット機器の挿抜による不正な処理を防ぐことができることを示したものである。なお、図２と同一の要素については、同一の符号を用いている。なお、図６、図７において、復号化５０３、５０６、６０４，６０６は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。【００６８】  図６ではターゲット機器１（５００）がホスト機器１００に挿入され、ターゲット機器に三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納された状態であるものとする。また図７ではターゲット機器１（５００）がホスト機器１００から抜かれ、代わりにターゲット機器２（６００）がホスト機器１００に挿入され、ターゲット機器に一つの暗号化鍵Ｅｎｃ（Ｋｂ１，Ｋｂ０）が格納された状態であるものとする。ここで本実施の形態では、ホストＣＰＵ１０３が不正な処理を行おうとした場合でもセキュリティを保てる仕組みを提供することを目的とする。したがって、ホストＣＰＵ１０３のワーク領域１０６に格納された三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝はワーク領域１０６から消去されないものと仮定する。そして図６および図７を用いて、Ｋｃに対して、Ｋａ０から生成されるＫａ２と、認証鍵Ｋｂ０から生成されるＫｂ１により鍵変換処理が行われるものとする。このように、図６および図７では、鍵変換処理を行うにあたりターゲット機器を交換した場合に、機密情報処理部１０２がどのような動作をするかを説明する。なお、ここでは鍵変換処理が同一ターゲット機器に対して行われる必要があるものとする。そのため、ターゲット機器の挿抜が行われた場合はその挿抜は不正な処理となる。【００６９】  まず、図６のようにターゲット機器１（５００）が挿入された状態で認証を行い、ターゲット機器１（５００）が正当な機器であれば、機密情報処理部に認証鍵Ｋａ０（５０１）が生成され、また認証鍵Ｋａ０（５０１）を生成する認証処理が行われたことが、認証フラグ（Ｋａ０）５０８により保持される。その後、ターゲット機器１に格納されていたＥｎｃ（Ｋａ１，Ｋａ０）５０２がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力され認証鍵Ｋａ０（５０１）により復号化５０３することによりＫａ１（５０４）を生成し、またターゲット機器１に格納されていたＥｎｃ（Ｋａ２，Ｋａ１）５０５がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（５０４）により復号化５０６することによりＫａ２（５０７）を生成したとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）５０２およびＥｎｃ（Ｋａ２，Ｋａ１）５０５は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器５００から機密情報処理部１０２に入力することも可能である。【００７０】  さらにターゲット機器１（５００）に格納されたＥｎｃ（Ｋｃ，Ｋａ２）５０９をホスト機器１００のワーク領域１０６に格納済みとする。なお、このＥｎｃ（Ｋｃ，Ｋａ２）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器５００から機密情報処理部１０２に入力することも可能である。【００７１】  ここで、図７に示すように、ターゲット機器１（５００）をホスト機器１００から抜き、ターゲット機器２（６００）が代わりに挿入されたとする。なお、ここでは鍵変換処理が同一ターゲット機器に対して行われることを前提としている。そのため、この挿抜は不正な挿抜となる。このような場合、本発明の鍵変換処理においては、ターゲット機器が抜かれたことによりそのターゲット機器に対する認証、および認証処理の際に機密情報処理部１０２に生成した認証鍵を消去する。また、機密情報処理部１０２に認証鍵から生成された鍵（Ｋａ１（５０４）やＫａ２（５０７））が生成されている場合は、それらを消去してもよい。【００７２】  ここで認証の消去とは、認証フラグの消去であり、図７の例では認証フラグ（Ｋａ０）５０８を０とする処理である。また認証鍵の消去とは、図７の例ではターゲット機器１（５００）の認証鍵Ｋａ０（５０１）に対しＫａ０＝０と設定することなどを指す。なお、これらの情報の消去には、機密情報処理部１０２によりターゲット機器が抜かれたことを検知し、機密情報処理部１０２が消去を行う方法や、ホストＣＰＵ１０３によりターゲット機器が抜かれたことを検知し、ホストＣＰＵ１０３が機密情報処理部１０２に消去を行う制御シーケンスを起動する方法などがある。【００７３】  次に、図７の例では、ターゲット機器２（６００）に対して認証鍵Ｋｂ０（６０１）を生成する認証処理を行ったものとする。もしターゲット機器２（６００）が正当な機器であれば、認証鍵Ｋｂ０（６０１）が生成され、また認証鍵Ｋｂ０を生成する認証が成立したことが、認証フラグ（Ｋｂ０）６０２により保持される。さらに、ここではターゲット機器２（６００）に格納されていたＥｎｃ（Ｋｂ１，Ｋｂ０）６０３がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ３として入力され認証鍵Ｋｂ０（６０１）により復号化６０４することによりＫｂ１（６０５）が生成されているとする。なお、このＥｎｃ（Ｋｂ１，Ｋｂ０）６０３は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器６００から機密情報処理部１０２に入力することも可能である。【００７４】  この状態で、ホストＣＰＵ１０３によりＥｎｃ（Ｋｃ，Ｋａ２）からＥｎｃ（Ｋｃ，Ｋｂ１）への鍵変換処理が起動され、ワーク領域１０６に格納されてあったＥｎｃ（Ｋｃ，Ｋａ２）５０９が入力されたとする。このような処理��行った場合は、認証フラグ（Ｋａ０）５０８が０である、すなわち認証鍵Ｋａ０を生成する認証処理が行われていないことが機密情報処理部で保持されている。そのため、Ｋａ２（５０７）を用いて復号化を行う暗号回路に対してイネーブル信号が生成されていないため、復号化処理６０６が行われずにＫｃを得ることができない。またＫｃに対する暗号化処理６０７を行う暗号回路に対しても、イネーブル信号が生成されていない。【００７５】  ところが、ここでターゲット機器１（５００）に対する認証が行われたことが消去されていなければ、ターゲット機器１（５００）が抜かれた後も機密情報処理部１０２の認証フラグ（Ｋａ０）５０８が１のままとなる。すると、次に挿入されたターゲット機器２（６００）の認証によって、認証フラグ（Ｋｂ０）６０２が１となる。ここで、図４を参照すると、鍵自体は認証によって適正に存在し得るため、鍵生成フラグ（Ｋａ２）３０６と鍵生成フラグ（Ｋｂ１）３０７も１となり得る。したがって、不正に鍵変換処理が起動される可能性が残る。【００７６】  またここで、同一ターゲットフラグ３０５の有用性について、スロットが二つ存在する場合を例にとって説明する。この場合、第１のスロットに対して、ターゲット機器１の認証を成功させ、第２のスロットに対してターゲット機器２の認証を成功させると、認証フラグ（Ｋａ０）５０８と認証フラグ（Ｋｂ０）６０２が１となり、鍵自体も正当に生成され得る。したがって、ＣＰＵが不正に処理を起動することで不正な鍵変換が行われる可能性がある。しかし同一ターゲットフラグを設け、同一ターゲット機器への鍵変換のみを許容することで、そのような不正を行うことができなくなる。なお、同一ターゲットフラグを更新する方法であるが、実施の形態１で説明した固有な識別番号を用いる実装方法以外に、それぞれの認証処理がどのスロットに対して行われたかを保持する実装方法でもよい。このような実装方法では、ホスト機器に二つのスロットが存在し、それぞれに異なるターゲット機器が挿入された場合、スロットが異なることからそれぞれが異なるターゲット機器と判定することができ、上述したような状況でも不正な処理の起動を防ぐことが可能である。当然、一度ターゲット機器を抜いてから再度挿入した場合は、認証フラグが消去されるので不正な処理は行われない。【００７７】  したがって、図６および図７に示すように、ターゲット機器がホスト機器１００から抜かれた場合は、そのターゲット機器に対する認証が成功したことや認証鍵を消去することにより、不正な鍵変換処理が防ぐことができる。【００７８】  （実施の形態３）
次に実施の形態３について説明する。基本的な全体構成は図２と同様なので説明を省略する。【００７９】  実施の形態３では、本発明における鍵変換処理方法について説明する。図８は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２および図３と同一の要素については、同一の符号を用いている。図８では本発明の実施の形態の一つとして、ターゲット機器１０１に三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）に対して、機密情報処理部に外部から読み出されないようにして格納されたホスト鍵Ｋｈにより鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｈ）を得る場合を説明する。ここで、ホスト鍵Ｋｈを機密情報処理部に格納する方法としては半導体集積回路の製造時に機密情報処理部内に実装する方法、あるいは半導体集積回路外部から電子配信等を介して暗号化された状態で半導体集積回路内部に入力し、半導体集積回路内部において復号化して機密情報処理部内に格納する方法等がある。これは後述する実施の形態４においても同様である。なお、図８において、復号化７０２、７０５、７１０は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。【００８０】  ここで、Ｅｎｃ（Ｋｃ，Ｋｈ）はターゲット機器に格納されるのではなく、例えばホスト機器内のハードディスクなどの蓄積デバイスに格納される。この鍵変換処理の利用例としては、ターゲット機器に格納されたＫｃのバックアップなどを可能にする。このような処理では、バックアップされたＫｃはＥｎｃ（Ｋｃ，Ｋｈ）として保存されるため、Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみがＥｎｃ（Ｋｃ，Ｋｈ）を復号可能となる。【００８１】  また、図８では、ターゲット機器１０１に対する認証処理が終了し機密情報処理部１０２にＫａ０（７００）が生成されたものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋａ１，Ｋａ０）７０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力されＫａ０（７００）により復号化７０２することによりＫａ１（７０３）が生成され、さらにターゲット機器１０１に格納されたＥｎｃ（Ｋａ２，Ｋａ１）７０４がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（７０３）により復号化７０５することによりＫａ２（７０６）が生成されているものとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）７０１およびＥｎｃ（Ｋａ２，Ｋａ１）７０４は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。【００８２】  また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，���ａ２）７０７は、認証処理後にターゲット機器１０１からホスト機器１００のワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｈ）７０８はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてホスト機器１００の蓄積デバイスなどに保存されるものとする。なお、入力のＥｎｃ（Ｋｃ，Ｋａ２）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。【００８３】  以下、Ｋａ２（７０６）およびＫｈ７０９を用いた鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図８では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋａ２）からＥｎｃ（Ｋｃ，Ｋｈ）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。これにより、鍵変換処理が開始される。【００８４】  鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部１０２に生成されたＫａ２（７０６）、および機密情報処理部１０２に格納されたＫｈ７０９）が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋａ２）７０７が機密情報処理部１０２に入力され、この入力された鍵に対してＫａ２（７０６）を用いて復号化処理７１０を行う。このようにＫａ２（７０６）で復号化を行うことにより、暗号化されていないＫｃ７１１が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ７１１を格納する方法がある。なお、Ｋｃ７１１は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ７１１に対してＫｈ７０９を用いて暗号化処理７１２を行う。この暗号化処理７１２によりＥｎｃ（Ｋｃ，Ｋｈ）７０８が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。【００８５】  また、実施の形態１の場合と同様に、鍵変換処理における暗号化処理７１２や復号化処理７１０は、図８に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、図８の場合に必要となるフラグを考察する。図８の処理では認証鍵Ｋａ０（７００）から生成されるＫａ２（７０６）が使用される。そのため、認証鍵Ｋａ０（７００）を生成する認証処理が終了している必要がある。そのため、認証フラグ（Ｋａ０）が鍵変換制御フラグ２１７の一つとして必要となる。なお、図８の場合は鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）７０７と、出力であるＥｎｃ（Ｋｃ，Ｋｈ）７０８は同一のターゲット機器に格納される必要がないため、同一ターゲットフラグは不要である。また、この鍵変換処理においては、Ｋａ２（７０６）が復号化処理により機密情報処理部１０２に生成される必要がある。そのため、鍵生成フラグ（Ｋａ２）が鍵変換制御フラグ２１７の一つとして必要となる。なお、Ｋｈ７０９は前もってホスト機器１００に格納されている鍵なので、Ｋｈ７０９に対する生成フラグは不要である。したがって、���８に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、認証フラグ（Ｋａ０）および鍵生成フラグ（Ｋａ２）の二つのフラグを入力に持つＡＮＤゲートの出力が、図４に示すセレクタ３０１の出力として選択される。そのため、これら二つのフラグがともに１となっている場合のみ、暗号回路が使用可能となる。【００８６】  次に、以下では図９のフローチャートを用いることにより図８に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、実施の形態１でも説明したように、まずホストＣＰＵ１０３により鍵変換処理設定８００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し８０１が鍵変換制御部２１６に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋａ２）入力８０２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図９では条件分岐８０３と条件分岐８０４に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図９に示すとおりでなくても構わない。【００８７】  図９では、図８の鍵変換制御フラグの説明でも示したように、二つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）７０７を格納するターゲット機器に対して認証鍵Ｋａ０（７００）を生成する認証処理が行われているかを条件分岐８０３で確認する。これにより、認証鍵Ｋａ０（７００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋａ２）７０７を格納するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、Ｋａ２（７０６）が機密情報処理部１０２に生成されていることを条件分岐８０４で確認する。これにより、Ｋａ２（７０６）が生成されていない状態、すなわちＫａ２＝０などの状態で復号化が行われないことを確認する。【００８８】  以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋａ２）に対する変換処理８０５（図８では、Ｋａ２（７０６）で復号化して、Ｋｈ（７０９）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理７１２や復号化処理７１０を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｈ）出力８０６が行われる。出力後、鍵変換処理が終了となる。【００８９】  以上のように、図８および図９の処理を用いることにより鍵変換処理が実行される。なお、図８の例ではターゲット機器に｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）７０７に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｈ）７０８を得る場合を説明した。そこで、これを一般化して、ターゲット機器にｍ個（ｍは自然数）の鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），．．．，Ｅｎｃ（Ｋａｍ，Ｋａ（ｍ−１））｝が格��された状態で、Ｋａｍをコンテンツの暗号化および復号化に使用し、ｉを１≦ｉ≦ｍを満たす自然数として、Ｅｎｃ（Ｋａｉ，Ｋａ（ｉ−１））に対して鍵変換処理を行ってＥｎｃ（Ｋａｉ，Ｋｈ）を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の復号化を行う回路にＫａ（ｉ−１）を使用し、暗号化を行う回路にＫｈを使用して、また鍵変換処理フラグとしてＫａ（ｉ−１）が生成されたことを示すフラグを代わりに使用すれば、図８と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫａ（ｉ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。【００９０】  （実施の形態４）
次に実施の形態４について説明する。基本的な全体構成は図２と同様なので説明を省略する。【００９１】  実施の形態４では、本発明における鍵変換処理方法について説明する。図１０は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２および図３と同一の要素については、同一の符号を用いている。図１０では本発明の実施の形態の一つとして、ターゲット機器１０１に二つの暗号化鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋｈ）に対して、Ｋｂ１により鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｂ１）を得る場合を説明する。なお、図１０において、復号化９０２、９０７は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。【００９２】  ここで、Ｅｎｃ（Ｋｃ，Ｋｈ）はターゲット機器に格納されるのではなく、実施の形態３と同様に、例えばホスト機器内のハードディスクなどの蓄積デバイスに格納される。この鍵変換処理の利用例としては、ホスト機器にバックアップされたＫｃをターゲット機器にリストアする処理などが挙げられる。このような処理では、バックアップされたＫｃはＥｎｃ（Ｋｃ，Ｋｈ）として保存されているため、Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみがＥｎｃ（Ｋｃ，Ｋｈ）を復号可能となる。【００９３】  また、図１０では、ターゲット機器１０１に対する認証処理が終了し機密情報処理部１０２に認証鍵Ｋｂ０（９００）が生成されたものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋｂ１，Ｋｂ０）９０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力されＫｂ０（９００）により復号化９０２することによりＫｂ１（９０３）が生成されているものとする。なお、このＥｎｃ（Ｋｂ１，Ｋｂ０）９０１は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。【００９４】  また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋｈ）９０４は、すでにホスト機器１００の蓄積デバイスなどからワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）９０５はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてターゲット機器１０１に格納されるものとする。なお、出力のＥｎｃ（Ｋｃ，Ｋｂ１）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接機密情報処理部１０２からターゲット機器１０１に出力することも可能である。【００９５】  以下、Ｋｈ９０６およびＫｂ１（９０３）を用いた鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図１０では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋｈ）からＥｎｃ（Ｋｃ，Ｋｂ１）への鍵変換処��を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。【００９６】  鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部１０２に格納されたＫｈ９０６、および機密情報処理部１０２に生成されたＫｂ１（９０３））が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋｈ）９０４が機密情報処理部１０２に入力され、この入力された鍵に対してＫｈ９０６を用いて復号化処理９０７を行う。このようにＫｈ９０６で復号化を行うことにより、暗号化されていないＫｃ９０８が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ９０８を格納する方法がある。なお、Ｋｃ９０８は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ９０８に対してＫｂ１（９０３）を用いて暗号化処理９０９を行う。この暗号化処理９０９によりＥｎｃ（Ｋｃ，Ｋｂ１）９０５が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。【００９７】  また、実施の形態１の場合と同様に、鍵変換処理における暗号化処理９０９や復号化処理９０７は、図１０に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、図１０の場合に必要となるフラグを考察する。図１０の処理では認証鍵Ｋｂ０（９００）から生成されるＫｂ１（９０３）が使用される。そのため、認証鍵Ｋｂ０（９００）を生成する認証処理が終了している必要がある。そのため、認証フラグ（Ｋｂ０）が鍵変換制御フラグ２１７の一つとして必要となる。なお、図１０の場合は鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋｈ）９０４と、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）９０５は同一のターゲット機器に格納される必要がないため、同一ターゲットフラグは不要である。また、この鍵変換処理においては、Ｋｂ１（９０３）が復号化処理により機密情報処理部１０２に生成される必要がある。そのため、鍵生成フラグ（Ｋｂ１）が鍵変換制御フラグ２１７の一つとして必要となる。なお、Ｋｈ９０６は前もってホスト機器１００に格納されている鍵なので、Ｋｈ９０６に対する生成フラグは不要である。したがって、図１０に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、認証フラグ（Ｋｂ０）および鍵生成フラグ（Ｋｂ１）の二つのフラグを入力に持つＡＮＤゲートの出力が、図４に示すセレクタ３０１の出力として選択される。そのため、これら二つのフラグがともに１となっている場合のみ、暗号回路が使用可能となる。【００９８】  次に、以下では図１１のフローチャートを用いることにより図１０に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、実施の形態１でも説明したように、まずホストＣＰＵ１０３により鍵変換処理設定１０００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し１００１が鍵変換制御部２１７に対して行われる。��み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋｈ）入力１００２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図１１では条件分岐１００３と条件分岐１００４に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図１１に示すとおりでなくても構わない。【００９９】  図１１では、図１０の鍵変換制御フラグの説明でも示したように、二つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の出力であるＥｎｃ（Ｋｃ，Ｋｂ１）９０５を格納するターゲット機器に対して認証鍵Ｋｂ０（９００）を生成する認証処理が行われているかを条件分岐１００３で確認する。これにより、認証鍵Ｋｂ０（９００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋｂ１）９０５を格納するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、Ｋｂ１（９０３）が機密情報処理部１０２に生成されていることを、条件分岐１００４で確認する。これにより、Ｋｂ１（９０３）が生成されていない状態、すなわちＫｂ１＝０などの状態で暗号化が行われないことを確認する。【０１００】  以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋｈ）に対する変換処理１００５（図１０では、Ｋｈ９０６で復号化して、Ｋｂ１（９０３）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理９０９や復号化処理９０７を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｂ１）出力１００６が行われる。出力後、鍵変換処理が終了となる。【０１０１】  以上のように、図１０および図１１の処理を用いることにより鍵変換処理が実行される。なお、図１０の例ではターゲット機器に｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋｈ）９０４に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｂ１）９０５を得る場合を説明した。そこで、これを一般化して、ターゲット機器にｎ個（ｎは自然数）の鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），．．．，Ｅｎｃ（Ｋｂｎ，Ｋｂ（ｎ−１））｝が格納された状態で、Ｋｂｎをコンテンツの暗号化および復号化に使用し、ｊを１≦ｊ≦ｎを満たす自然数として、Ｅｎｃ（Ｋａｉ，Ｋｈ）に対して鍵変換処理を行ってＥｎｃ（Ｋａｉ，Ｋｂ（ｊ−１））を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の暗号化を行う回路にＫｈを使用し、復号化を行う回路にＫｂ（ｊ−１）を使用して、また鍵変換処理フラグとしてＫｂ（ｊ−１）が生成されたことを示すフラグを代わりに使用すれば、図１０と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫｂ（ｊ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。【０１０２】  （実施の形態５）
次に実施の形態５について説明する。基本的な全体構成は図２と同様なので説明を省略する。【０１０３】  実施の形態５では、本発明における鍵変換処理方法について説明する。図１２は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２および図３と同一の要素については、同一の符号を用いている。図１２では本発明の実施の形態の一つとして、ターゲット機器１０１に暗号化鍵Ｅｎｃ（Ｋａ１，Ｋａ０）が格納され、さらに同一ターゲット機器にＫａ１により暗号化された二つの暗号化鍵｛Ｅｎｃ（Ｋｄ２，Ｋａ１）およびＥｎｃ（Ｋｅ２，Ｋａ１）が格納され、またそれぞれＫｄ２およびＫｅ２により暗号化された鍵Ｅｎｃ（Ｋｃ，Ｋｄ２）およびＥｎｃ（Ｋｅ３，Ｋｅ２）が格納された状態を説明する。そして、Ｅｎｃ（Ｋｃ，Ｋｄ２）に対して、Ｋｅ２により鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｅ２）を得る場合を説明する。このように、実施の形態５では、同一の認証鍵Ｋａ０から生成される鍵の間での鍵変換処理を説明する。なお、図１２において、復号化１１０２、１１０５、１１０８、１１１２は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。【０１０４】  この鍵変換処理の利用例としては、この処理を行ったことによりＫｃを暗号化する鍵がＫｄ２からＫｅ２に変更されることから、Ｋｄ２を不要として、さらに不要となったＫｄ２をターゲット機器から消去することにより、Ｋｃを暗号化する鍵の個数を減らすなどの用途に利用できる。【０１０５】  また、図１２では、ターゲット機器１０１に対する認証処理が終了し機密情報処理部１０２に認証鍵Ｋａ０（１１００）が生成されたものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋａ１，Ｋａ０）１１０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力され認証鍵Ｋａ０（１１００）により復号化１１０２することによりＫａ１（１１０３）が生成され、さらにターゲット機器１０１に格納されたＥｎｃ（Ｋｄ２，Ｋａ１）１１０４がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（１１０３）により復号化１１０５することによりＫｄ２（１１０６）が生成されているものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋｅ２，Ｋａ１）１１０７がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ３として入力されＫａ１（１１０３）により復号化１１０８することによりＫｅ２（１１０９）が生成されているものとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）１１０１、Ｅｎｃ（Ｋｄ２，Ｋａ１）１１０４およびＥｎｃ（Ｋｅ２，Ｋａ１）１１０７は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。【０１０６】  また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋｄ２）１１１０は、認証処理後にターゲット機器１０１からホスト機器１００のワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｅ２）１１１１はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてターゲット機器１０１に格納されるものとする。なお、これらＥｎｃ（Ｋｃ，Ｋｄ２）やＥｎｃ（Ｋｃ，Ｋｅ２）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力する、もしくは直接機密情報処理部１０２からターゲット機器１０１に出力することも可能である。【０１０７】  以下、Ｋｄ２（１１０６）およびＫｅ２（１１０９）を用いた鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図１２では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋｄ２）からＥｎｃ（Ｋｃ，Ｋｅ２）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。【０１０８】  鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部に生成されたＫｄ２（１１０６）およびＫｅ２（１１０９））が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋｄ２）１１１０が機密情報処理部１０２に入力され、この入力された鍵に対してＫｄ２（１１０６）を用いて復号化処理１１１２を行う。このようにＫｄ２（１１０６）で復号化を行うことにより、暗号化されていないＫｃ１１１３が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ１１１３を格納する方法がある。なお、Ｋｃ１１１３は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ１１１３に対してＫｅ２（１１０９）を用いて暗号化処理１１１４を行う。この暗号化処理１１１４によりＥｎｃ（Ｋｃ，Ｋｅ２）１１１１が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。【０１０９】  また、実施の形態１の場合と同様に、鍵変換処理における暗号化処理１１１４や復号化処理１１１２は、図１２に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、図１２の場合に必要となるフラグを考察する。図１２の処理では認証鍵Ｋａ０（１１００）から生成されるＫｄ２（１１０６）およびＫｅ２（１１０９）が使用される。そのため、認証鍵Ｋａ０（１１００）を生成する認証処理が終了している必要がある。そのため、認証フラグ（Ｋａ０）が鍵変換制御フラグ２１７の一つとして必要となる。なお、図１２の場合は認証鍵Ｋａ０（１１００）を生成する認証処理のみが行われるため、同一ターゲットフラグは不要である。また、この鍵変換処理においては、Ｋｄ２（１１０６）およびＫｅ２（１１０９）が復号化処理により機密情報処理部１０２に生成される必要がある。そのため、鍵生成フラグ（Ｋｄ２）および鍵生成フラグ（Ｋｅ２）が鍵変換制���フラグ２１７として必要となる。したがって、図１２に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、認証フラグ（Ｋａ０）、鍵生成フラグ（Ｋｄ２）および鍵生成フラグ（Ｋｅ２）の三つのフラグを入力に持つＡＮＤゲートの出力が、図４に示すセレクタ３０１の出力として選択される。そのため、これら三つのフラグがともに１となっている場合のみ、暗号回路が使用可能となる。【０１１０】  次に、以下では図１３のフローチャートを用いることにより図１２に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、実施の形態１でも説明したように、まずホストＣＰＵ１０３により鍵変換処理設定１２００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し１２０１が鍵変換制御部２１７に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋｄ２）入力１２０２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図１３では条件分岐１２０３から条件分岐１２０５に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図１３に示すとおりでなくても構わない。【０１１１】  図１３では、図１２の鍵変換制御フラグの説明でも示したように、三つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋｄ２）１１１０および出力であるＥｎｃ（Ｋｃ，Ｋｅ２）１１１１を格納するターゲット機器に対して認証鍵Ｋａ０（１１００）を生成する認証処理が行われているかを条件分岐１２０３で確認する。これにより、認証鍵Ｋａ０（１１００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋｄ２）１１１０やＥｎｃ（Ｋｃ，Ｋｅ２）１１１１を格納するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、Ｋｄ２（１１０６）およびＫｅ２（１１０９）が機密情報処理部１０２に生成されていることを、条件分岐１２０４および条件分岐１２０５で確認する。これにより、Ｋｄ２（１１０６）およびＫｅ２（１１０９）が生成されていない状態、すなわちＫｄ２＝０およびＫｅ２＝０などの状態で復号化および暗号化が行われないことを確認する。【０１１２】  以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋｄ２）に対する変換処理１２０６（図１２では、Ｋｄ２（１１０６）で復号化して、Ｋｅ２（１１０９）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理１１１４や復号化処理１１１２を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｅ２）出力１２０７が行われる。出力後、鍵変換処理が終了となる。【０１１３】  以上のように、図１２および図１３の処理を用いることにより鍵変換処理が実行される。なお、図１２の例ではターゲット機器にＥｎｃ（Ｋａ１，Ｋａ０）と��｛Ｅｎｃ（Ｋｄ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋｄ２）｝および｛Ｅｎｃ（Ｋｅ２，Ｋａ１），Ｅｎｃ（Ｋｅ３，Ｋｅ２）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋｄ２）１１１０に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｅ２）１１１１を得る構成としても良い。そこで、これを一般化して、ターゲット機器にｓ個（ｓは自然数）の鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），．．．，Ｅｎｃ（Ｋａｓ，Ｋａ（ｓ−１））｝が格納され、またそれぞれｔ個（ｔは自然数）からなる鍵｛Ｅｎｃ（Ｋｄ１，Ｋａｓ），Ｅｎｃ（Ｋｄ２，Ｋｄ１），．．．，Ｅｎｃ（Ｋｄｔ，Ｋｄ（ｔ−１））｝および｛Ｅｎｃ（Ｋｅ１，Ｋａｓ），Ｅｎｃ（Ｋｅ２，Ｋｅ１），．．．，Ｅｎｃ（Ｋｅｔ，Ｋｅ（ｔ−１））｝が格納された状態で、ＫｄｔおよびＫｅｔをコンテンツの暗号化および復号化に使用し、ｉを１≦ｉ≦ｔを満たす自然数として、Ｅｎｃ（Ｋｄｉ，Ｋｄ（ｉ−１））に対して鍵変換処理を行ってＥｎｃ（Ｋｄｉ，Ｋｅ（ｊ−１））を得る場合でもよい。この場合、鍵変換処理を行うためには、機密情報処理部の復号化を行う回路にＫｄ（ｉ−１）を使用し、暗号化を行う回路にＫｅ（ｉ−１）を使用して、また鍵変換処理フラグとしてＫｄ（ｉ−１）が生成されたことを示すフラグ、およびＫｅ（ｉ−１）が生成されたことを示すフラグを代わりに使用すれば、図１２と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫｄ（ｉ−１）およびＫｅ（ｉ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。
【産業上の利用可能性】
【０１１４】  本発明により、異なる機密情報処理方法の間などで鍵変換処理を実行可能であり、またその際、鍵情報が漏洩することなく、さらに不正な処理が行われることなく処理が実行可能である。したがって、複数の機密情報処理方法を実装したターゲット機器を利用する機密情報システムなどで利用可能である。
【図１】
2006118101.tif 000003
【図２】
2006118101.tif 000004
【図３】
2006118101.tif 000005
【図４】
2006118101.tif 000006
【図５】
2006118101.tif 000007
【図６】
2006118101.tif 000008
【図７】
2006118101.tif 000009
【図８】
2006118101.tif 000010
【図９】
2006118101.tif 000011
【図１０】
2006118101.tif 000012
【図１１】
2006118101.tif 000013
【図１２】
2006118101.tif 000014
【図１３】
2006118101.tif 000015
【手続補正書】
【提出日】平成18年9月11日(2006.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
暗号化コンテンツを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号化コンテンツを読み出し、復号化して利用する機密情報処理用のホスト機器であって、
予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、
前記機密情報処理部に対して、前記複数のシーケンスの起動を指示するＣＰＵと、
前記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を行う第１のインターフェース部と、
前記機密情報処理部と前記ＣＰＵとの間で前記機密情報を含むデータの入出力を行う第２のインターフェース部と、
を備え、
前記ターゲット機器またはホスト機器は、ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝を暗号化された状態で前記機密情報として格納し、
前記鍵Ｋｍは、コンテンツを暗号化するコンテンツ鍵であり、
鍵Ｋｉ（１≦ｉ≦ｍを満たす自然数）は鍵Ｋ（ｉ−１）により暗号化され、
前記複数のシーケンスは、前記ｍ個の鍵のうち任意の鍵Ｋｉを暗号化する鍵を、Ｋ（ｉ−１）から別の鍵に変換する鍵変換シーケンスを含み、
前記第１のインターフェース部と前記第２のインターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状態の機密情報のみを前記機密情報処理部の外部に出力する
ことを特徴とする機密情報処理用のホスト機器。
【請求項２】
前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、
前記鍵Ｋ１を暗号化する前記鍵Ｋ０は第１の認証処理により生成される認証鍵Ｋａ０であり、
前記ターゲット機器と同一または異なるターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、
鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）はＫｂ（ｊ−１）により暗号化され、
前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、
前記鍵Ｋｂ０は前記第２の認証処理により生成される認証鍵であり、
前記別の鍵は前記鍵｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうちの何れかの鍵である
ことを特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項３】
前記別の鍵は、Ｋｂ（ｎ−ｍ＋ｉ）である
ことを特徴とする請求項２記載の機密情報処理用のホスト機器。
【請求項４】
前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、
前記鍵Ｋ１を暗号化する前記鍵Ｋ０が、前記第１の認証処理により生成される認証鍵Ｋａ０であり、
前記別の鍵は、前記機密情報処理部に格納されたホスト鍵Ｋｈである
ことを特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項５】
前記鍵Ｋ０は、前記機密情報処理部に格納されたホスト鍵Ｋｈであり、
前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、
該ターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、
鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）は鍵Ｋｂ（ｊ−１）により暗号化され、
前記鍵Ｋｂ０は、前記第２の認証処理により生成された認証鍵であり、
前記鍵変換シーケンスにおいて、鍵Ｋ１を暗号化する鍵を、前記ホスト鍵Ｋｈから｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうち何れかの鍵へと変換する
こと特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項６】
前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、
前記Ｋ１を暗号化する前記鍵Ｋ０は、前記第１の認証処理により生成される認証鍵Ｋａ０であり、
前記ターゲット機器は、（ｍ−ｓ）個の鍵｛Ｋｅ１，．．．Ｋｅ（ｍ−ｓ）｝を格納し、鍵Ｋｅｊ（１≦ｊ≦ｍ−ｓを満たす自然数）は鍵Ｋｅ（ｊ−１）により暗号化され、
鍵Ｋｅ０は、前記ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝のうちの何れかの鍵Ｋｓ（１≦ｓ＜ｍを満たす自然数）であり、
前記別の鍵は、｛Ｋｅ１，．．．，Ｋｅ（ｍ−ｓ−１）｝のうち何れかの鍵である
ことを特徴とする請求項１記載の機密情報処理用のホスト機器。
【請求項７】
前記機密情報処理部は、さらに、
前記第１の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、
前記認証フラグが前記第１の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項２、４、６何れかに記載の機密情報処理用のホスト機器。
【請求項８】
前記機密情報処理部は、さらに、
前記第２の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、
前記認証フラグが前記第２の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項２または５に記載の機密情報処理用のホスト機器。
【請求項９】
前記機密情報処理部は、さらに、
前記鍵Ｋ（ｉ−１）が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、
前記鍵生成フラグが、鍵Ｋ（ｉ−１）が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項７記載の機密情報処理用のホスト機器。
【請求項１０】
前記機密情報処理部は、さらに、
前記別の鍵が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、
前記鍵生成フラグが前記別の鍵が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項８記載の機密情報処理用のホスト機器。
【請求項１１】
前記機密情報処理部は、さらに、
前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたか否かを示すターゲットフラグを保持するフラグ保持部を有し、
前記ターゲットフラグが前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたことを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止する
ことを特徴とする請求項２記載の機密情報処理用のホスト機器。
【請求項１２】
前記機密情報処理部は、さらに、
前記ターゲット機器との間の接続が切断された場合、前記フラグ保持手段に保持された前記フラグを初期化する
ことを特徴とする請求項７または８に記載の機密情報処理用のホスト機器。
【請求項１３】
前記ホスト機器は、前記ターゲット機器との間の接続が切断された場合、前記機密情報処理部が復号化し内部に保持する鍵を消去する
ことを特徴とする請求項１〜１３の何れかに記載の機密情報処理用のホスト機器。
【請求項１４】
単一の半導体装置として実装されたことを特徴とする請求項１〜１４の何れかに記載の機密情報処理用のホスト機器。
【請求項１５】
暗号化コンテンツを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号化コンテンツを読み出し、復号化して利用する機密情報処理用のホスト機器における機密情報処理方法であって、
前記ホスト機器は、
予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、
前記機密情報処理部に対して、前記複数のシーケンスの起動を指示するＣＰＵと、
前記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を行う第１のインターフェース部と、
前記機密情報処理部と前記ＣＰＵとの間で前記機密情報を含むデータの入出力を行う第２のインターフェース部とを備え、
前記ターゲット機器またはホスト機器は、ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝を暗号化された状態で前記機密情報として格納し、
前記鍵Ｋｍは、コンテンツを暗号化するコンテンツ鍵であり、
鍵Ｋｉ（１≦ｉ≦ｍを満たす自然数）は鍵Ｋ（ｉ−１）により暗号化され、
前記機密情報処理方法は、
前記複数のシーケンスにおいて、前記ｍ個の鍵のうち任意の鍵Ｋｉを暗号化する鍵を、Ｋ（ｉ−１）から別の鍵に変換する鍵変換シーケンスを実行し、
前記第１のインターフェース部と前記第２のインターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状態の機密情報のみを前記機密情報処理部の外部に出力する
ことを特徴とする機密情報処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターゲット機器に格納される鍵に対する暗号変換処理方法および、それを実現する機密情報処理装置としてのホスト機器に関する。
【背景技術】
【０００２】
近年、メモリカードといったデータを蓄積するための機器（以下、「ターゲット機器」という。）は、その利用用途の拡大に伴い広く利用されるようになってきた。このターゲット機器は、一般的にターゲット機器を挿入するためのスロットを備え、挿入されたターゲット機器に対してデータの格納を行う機器（以下、「ホスト機器」という。）により使用される。
【０００３】
また、ターゲット機器の利用用途の一つに、オーディオデータなどの著作権保護が必要なデータを扱う用途がある。このような用途においては、オーディオデータなどの著作権を保護する目的で機密情報処理方法が用いられる。この機密情報処理方法では、著作権の保護が必要なデータに対しては暗号化を行い、暗号化されたデータをターゲット機器に格納する。これにより、著作物などのコンテンツに対する不正なコピー、あるいはコンテンツの外部への漏洩を防止する。
【０００４】
以下では、このような著作権保護を行うための機密情報処理方法について説明する。著作権保護を行う機密情報処理方法においては、まず、ターゲット機器とホスト機器の間で認証処理を行う。次に、認証が成功した場合のみ、暗号化コンテンツを復号化するための鍵であるコンテンツ鍵（以下、「Ｋｃ」という。）をホスト機器がターゲット機器から入手可能な構成となっている。ホスト機器は、コンテンツ鍵の入手により、ターゲット機器に格納された暗号化コンテンツを利用可能になる。このような構成により、不正なホスト機器により暗号化コンテンツが復号化されるのを防ぐことが出来る。このような著作権保護を行うための機密情報処理方法に関する先行技術文献として特許文献１がある。
【０００５】
続いて、認証が成功した場合に、Ｋｃを用いてホスト機器がコンテンツを復号化する処理について図面を参照しながら説明する。図１はこのような機密情報処理方法を実行するホスト機器の主要部の構成を示す機能ブロック図である。ここで、図１では認証処理が正常に終了し、ターゲット機器とホスト機器がともに正当な機器であることが確認されているとする。図１では、ホスト機器１３００にターゲット機器１３０１が挿入され、ホスト機器１３００に備わった鍵などの機密情報の暗号化や復号化を行うための機密情報処理部１３０２により、ワーク用の領域であるワーク領域１３０３に格納された暗号化コンテンツ１３０４を復号化してコンテンツ１３０５を利用する場合を説明する。なお、ここで機密情報処理部は、セキュリティを高めるために、ハードウェアとして半導体集積回路に実装されている。
【０００６】
図１では、前述したようにターゲット機器１３０１に対して認証が成功している場合を説明するため、認証処理１３０６から生成される鍵である認証鍵Ｋａ０（１３０７）が生成されている。ここで認証鍵とは、認証が成功した場合にのみ機密情報処理部１３０２に生成される鍵であり、認証処理において、ホスト機器が所有する認証用の鍵である認証用ホスト鍵と、ターゲット機器が有する認証用の鍵である認証用スレーブ鍵とに基づいて算出される。
【０００７】
また、コンテンツ鍵はターゲット機器１３０１に格納され、コンテンツの復号化が行われる際にターゲット機器１３０１から入手される。なお、Ｋｃはその秘匿性確保のために、認証鍵であるＫａ０により暗号化された形でターゲット機器１３０１に保持される。したがって、認証処理によりＫａ０を生成したホスト機器のみが暗号化されたＫｃを復号可能なことが分かる。なお、以下ではＫｃをＫａ０により暗号化した暗号化鍵はＥｎｃ（Ｋｃ，Ｋａ０）と表記する（その他の暗号化鍵についても同様の表記を用いる）。また暗号化されたコンテンツは、Ｋｃにより暗号化され、ターゲット機器１３０１に格納される。そのため、Ｋｃを生成したホスト機器であれば、暗号化コンテンツをターゲット機器１３０１から入手することにより復号化可能である。
【０００８】
以下では、認証処理後にホスト機器１３００がターゲット機器に格納されたＥｎｃ（Ｋｃ，Ｋａ０）１３０８を入手し、ワーク領域１３０３に格納した後の処理を説明する。また、暗号化コンテンツ１３０４も認証処理後にターゲット機器１３０１から入手され、ワーク領域１３０３に格納済みとする。なお、Ｅｎｃ（Ｋｃ，Ｋａ０）や暗号化コンテンツは、必ずしも一旦ワーク領域１３０３に格納する必要はなく、直接ターゲット機器１３０１から機密情報処理部１３０２に入力することも可能である。
【０００９】
コンテンツの復号化においては、まずホスト機器１３００はＥｎｃ（Ｋｃ，Ｋａ０）１３０８を機密情報処理部１３０２に入力し、認証処理１３０６で生成したＫａ０（１３０７）により復号化処理１３０９を行う。これにより平文状態（暗号化されていない状態を称す）のコンテンツ鍵であるＫｃ１３１０が生成される。なお、生成されたＫｃ１３１０は機密情報処理部１３０２に保持され、ホスト機器１３００はその値を知ることが出来ない。続いて、ホスト機器１３００は暗号化コンテンツ１３０４を入力し、機密情報処理部１３０２においてＫｃによる復号化処理１３１１が行われる。これによりホスト機器１３００は復号化されたコンテンツ１３０５を得ることができ、コンテンツの復号化処理が終了となる。このように、コンテンツの復号化の際は、Ｋｃは暗号化されたＥｎｃ（Ｋｃ，Ｋａ０）の形で機密情報処理部に入力され、また暗号化されていないＫｃは機密情報処理部に保持される。そのため、ホスト機器ではＫｃの秘匿性を確保した形でコンテンツの復号化が行える。
【特許文献１】特開２０００−３５７１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
近年、ターゲット機器の利用用途が広まってきたことに伴い、複数の機密情報処理方法が混在してターゲット機器に実装される場合が増えてきた。このような状況においては、コンテンツを暗号化するための鍵であるコンテンツ鍵Ｋｃは、異なる機密情報処理方法の間で相互に利用できることが望ましい。ところが、コンテンツ鍵Ｋｃを相互に利用する際において、Ｋｃはその秘匿性が確保されている必要がある。つまり暗号化されていないコンテンツ鍵Ｋｃがユーザーなどの第三者に知られるのを防ぐ必要がある。また、第三者によりコンテンツ鍵Ｋｃの不正な相互利用が行われるのを防ぐ必要がある。ここで、不正な相互利用の例としては、あるコンテンツ鍵Ｋｃが同一ターゲット機器内でのみ相互利用が許されている場合に、異なるターゲット機器間でそのコンテンツ鍵Ｋｃを相互利用可能とすることなどがある。
【００１１】
また、図１に示した機密情報処理方法では認証鍵Ｋａ０により暗号化されたＥｎｃ（Ｋｃ，Ｋａ０）をターゲット機器に格納している。この機密情報処理方法は、暗号化コンテンツを平文のコンテンツに復号化するまでに、２段階の復号を必要とする。つまり、認証鍵Ｋａ０による暗号化コンテンツ鍵ＥＮＣ（Ｋｃ，Ｋａ０）からコンテンツ鍵Ｋｃへの復号、コンテンツ鍵Ｋｃによる暗号化コンテンツの復号の２段階である。
【００１２】
これに対して、２段階よりも多い段数の機密情報処理方法が考えられる。例えば、３段階の機密情報処理方法では、認証鍵Ｋａ０により鍵Ｋａ１を暗号化したＥｎｃ（Ｋａ１，Ｋａ０）をターゲット機器に格納し、さらにこのＫａ１によりＫｃを暗号化したＥｎｃ（Ｋｃ，Ｋａ１）をターゲット機器に格納することになる。これによっても、コンテンツの保護を行うことが可能である。この場合、ターゲット機器との間で認証処理を行うことによって機密情報処理部に認証鍵Ｋａ０を生成すれば、Ｅｎｃ（Ｋａ１，Ｋａ０）が復号可能になり、さらに復号化されたＫａ１によりＥｎｃ（Ｋｃ，Ｋａ１）を復号可能になる。
【００１３】
同様に、多段階の機密情報処理方法を一般化すれば、ｍ個の暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ２），．．．，Ｅｎｃ（Ｋａ（ｍ−１），Ｋａｍ）｝をターゲット機器に格納し、Ｋａｍをコンテンツ鍵の暗号鍵として使用することになると考えられる。２段階の機密情報処理方法におけるコンテンツ鍵Ｋｃを、異なる機密情報処理方法の間で相互利用可能とすることが望まれるのと同様に、多段階の全部又は一部の鍵Ｋａｉ（ｉは１≦ｉ≦ｍを満たす自然数）が異なる機密情報処理方法との間で相互利用可能になることも望まれる。
【００１４】
したがって、本発明の目的は、ｍ個の暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ２），．．．，Ｅｎｃ（Ｋａ（ｍ−１），Ｋａｍ）｝がターゲット機器に格納される場合において、鍵Ｋａｉを異なる機密情報処理方法との間で相互利用するための処理方法を提供することにある。
【００１５】
またその処理方法が、Ｋａｉの秘匿性が確保された状態で、また第三者によるＫａｉの不正な相互利用を防いだ状態で実行可能とすることを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明の機密情報処理用ホスト機器は、暗号化コンテンツを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号化コンテンツを読み出し、復号化して利用する機密情報処理用のホスト機器であって、予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、前記機密情報処理部に対して、前記複数のシーケンスの起動を指示するＣＰＵと、前記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を行う第１のインターフェース部と、前記機密情報処理部と前記ＣＰＵとの間で前記機密情報を含むデータの入出力を行う第２のインターフェース部と、を備え、前記ターゲット機器またはホスト機器は、ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝を暗号化された状態で前記機密情報として格納し、前記鍵Ｋｍは、コンテンツを暗号化するコンテンツ鍵であり、鍵Ｋｉ（１≦ｉ≦ｍを満たす自然数）は鍵Ｋ（ｉ−１）により暗号化され、前記複数のシーケンスは、前記ｍ個の鍵のうち任意の鍵Ｋｉを暗号化する鍵を、Ｋ（ｉ−１）から別の鍵に変換する鍵変換シーケンスを含み、前記第１のインターフェース部と前記第２のインターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状態の機密情報のみを前記機密情報処理部の外部に出力するように構成されている。
【００１７】
上記構成をとることにより、ＣＰＵが機密情報処理部を用いて自由に鍵変換を行うのではなく、ＣＰＵが機密情報処理部に予め定められた鍵変換シーケンスの起動を指示することによって動作を行い、かつ鍵変換シーケンスの過程で生成される機密情報が機密情報外部に出力されないため、セキュリティを保ったままコンテンツを異なる機密情報処理方法の間で相互利用することが可能となる。
【００１８】
また、前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、前記鍵Ｋ１を暗号化する前記鍵Ｋ０は第１の認証処理により生成される認証鍵Ｋａ０であり、前記ターゲット機器と同一または異なるターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）はＫｂ（ｊ−１）により暗号化され、前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、前記鍵Ｋｂ０は前記第２の認証処理により生成される認証鍵であり、前記別の鍵は前記鍵｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうちの何れかの鍵であるようにしてもよい。
【００１９】
また、前記別の鍵は、Ｋｂ（ｎ−ｍ＋ｉ）であってもよい。この構成によれば、認証鍵Ｋｂ０からの復号化の回数（段数）が変わらずにコンテンツ鍵を復号化できるので、さらに好ましい。
【００２０】
また、前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、前記鍵Ｋ１を暗号化する前記鍵Ｋ０が、前記第１の認証処理により生成される認証鍵Ｋａ０であり、前記別の鍵は、前記機密情報処理部に格納されたホスト鍵Ｋｈであってもよい。
【００２１】
上記構成は、ターゲット機器に格納された鍵情報のバックアップとして有用である。バックアップされた鍵情報はホスト鍵Ｋｈで暗号化された状態で保存されるため、ホスト鍵Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみが復号可能となる。
【００２２】
また、前記鍵Ｋ０は、前記機密情報処理部に格納されたホスト鍵Ｋｈであり、前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第２の認証処理を行い、該ターゲット機器はｎ個（ｎは自然数）の鍵｛Ｋｂ１，．．．，Ｋｂｎ｝を格納し、鍵Ｋｂｊ（１≦ｊ≦ｎを満たす自然数）は鍵Ｋｂ（ｊ−１）により暗号化され、前記鍵Ｋｂ０は、前記第２の認証処理により生成された認証鍵であり、前記鍵変換シーケンスにおいて、鍵Ｋ１を暗号化する鍵を、前記ホスト鍵Ｋｈから｛Ｋｂ０，．．．，Ｋｂ（ｎ−１）｝のうち何れかの鍵へと変換するようにしてもよい。
【００２３】
上記構成は、ホスト機器にバックアップされた鍵情報をターゲット機器にリストアする場合に有用である。バックアップされた鍵情報はホスト鍵Ｋｈで暗号化された状態で保存されるため、ホスト鍵Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみが復号可能となる。
【００２４】
また、前記ホスト機器は前記ターゲット機器との間で第１の認証処理を行い、前記Ｋ１を暗号化する前記鍵Ｋ０は、前記第１の認証処理により生成される認証鍵Ｋａ０であり、前記ターゲット機器は、（ｍ−ｓ）個の鍵｛Ｋｅ１，．．．Ｋｅ（ｍ−ｓ）｝を格納し、鍵Ｋｅｊ（１≦ｊ≦ｍ−ｓを満たす自然数）は鍵Ｋｅ（ｊ−１）により暗号化され、鍵Ｋｅ０は、前記ｍ個の鍵｛Ｋ１，．．．，Ｋｍ｝のうちの何れかの鍵Ｋｓ（１≦ｓ＜ｍを満たす自然数）であり、前記別の鍵は、｛Ｋｅ１，．．．，Ｋｅ（ｍ−ｓ−１）｝のうち何れかの鍵であってもよい。
【００２５】
上記構成によると、ターゲット機器に格納されるべき暗号化された鍵情報の数を減らすことが可能となる。
【００２６】
また、前記機密情報処理部は、さらに、前記第１の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、前記認証フラグが前記第１の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。
【００２７】
上記構成により、適正に第１の認証処理を終了した場合にしか鍵変換シーケンスが起動されないので、不正な認証処理によって鍵変換シーケンスを起動することを防止できる。
【００２８】
また、前記機密情報処理部は、さらに、前記第２の認証処理が適正に終了しているか否かを示す認証フラグを保持するフラグ保持部を有し、前記認証フラグが前記第２の認証処理が適正に終了していることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。
【００２９】
上記構成により、適正に第２の認証処理を終了した場合にしか鍵変換シーケンスが起動されないので、不正な認証処理によって鍵変換シーケンスを起動することを防止できる。
【００３０】
また、前記機密情報処理部は、さらに、前記鍵Ｋ（ｉ−１）が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、前記鍵生成フラグが、鍵Ｋ（ｉ−１）が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。
【００３１】
上記構成により、鍵Ｋｉを暗号化していた鍵Ｋ（ｉ−１）が生成されている場合にしか鍵変換シーケンスが起動されないので、不正な鍵を用いて鍵変換シーケンスが起動されることを防止することができる。
【００３２】
また、前記機密情報処理部は、さらに、前記別の鍵が内部に生成されているか否かを示す鍵生成フラグを保持するフラグ保持部を有し、前記鍵生成フラグが前記別の鍵が内部に生成されていることを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。
【００３３】
上記構成により、変換するための鍵が生成されている場合にしか鍵変換シーケンスが起動されないので、不正な鍵を用いて鍵変換シーケンスが起動されることを防止することができる。
【００３４】
また、前記機密情報処理部は、さらに、前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたか否かを示すターゲットフラグを保持するフラグ保持部を有し、前記ターゲットフラグが前記第１の認証処理と前記第２の認証処理とが同一のターゲット機器に対して行われたことを示さない場合に、前記ホストＣＰＵからの鍵変換シーケンスの起動を禁止するようにしてもよい。
【００３５】
上記構成により、同一のターゲット機器に対してしか鍵変換を受け付けないといった制約がある場合に、その制約を確実に守ることができる。また、ターゲット機器を接続するスロットが２つある場合に、各々のスロットに異なるターゲット機器を接続して不正に鍵変換シーケンスを起動することを防止できる。
【発明の効果】
【００３６】
本発明の処理方法を用いた場合、異なる認証鍵を持つ機密情報処理方法の間などにおいて鍵変換処理を実行することができる。これにより、Ｋｃなどを異なる機密情報処理の間で相互に利用可能となる。また、機密情報処理部においては、鍵変換処理の実行にあたりユーザーによる不正な処理が行われていないこと確認することから、ユーザーによる不正な鍵変換処理が実行されるのを防ぐことができる。さらに暗号化されていない鍵を機密情報処理部内で保持することにより、鍵情報の秘匿性が確保される。
【００３７】
またターゲット機器以外の機器との間で、鍵の相互利用やバックアップが、ユーザーによる不正な処理を防いだ形で、かつ鍵情報が秘匿化された形で実現される。
【００３８】
さらに、不要となった鍵の消去などによる鍵の整理が、ユーザーによる不正な処理を防いだ形で、かつ鍵情報が秘匿化された形で可能となる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００４０】
（実施の形態１）
実施の形態１では、本発明における鍵変換処理方法について説明する。図２はホスト機器１００とターゲット機器１０１から構成される機密情報処理システムの全体構成を示したものである。
【００４１】
ホスト機器１００は、所定の制御シーケンスに従って機密情報（以下では、鍵などの平文状態での不正利用が許されない情報を示す）の暗号化や復号化を行う機密情報処理部１０２と、機密情報処理部１０２に対して所定の制御シーケンスを起動するホストＣＰＵ１０３と、ホストＣＰＵ１０３とターゲット機器１０１、および機密情報処理部１０２との間でデータの入出力を行うホストＩ／Ｆ部１０４と、ターゲット機器１０１との間でデータの入出力を行うターゲットＩ／Ｆ部１０５と、ホストＣＰＵ１０３や機密情報処理部１０２がその動作のためにデータを一時格納しておくためのワーク用の領域であるワーク領域１０６、および内部バス１０７とから構成される。また、機密情報処理部１０２は、ホストＩ／Ｆ部１０４およびターゲットＩ／Ｆ部１０５とともに秘匿化されたハードウェアである半導体集積回路１０８として構成される。なお、上記の構成要素に加えホストＣＰＵ１０３も併せて秘匿化された半導体集積回路として構成してもよい。
【００４２】
また、ホスト機器１００とターゲット機器１０１との間で鍵などの機密情報の読み出しおよび書き出しが行われる場合には、ホスト機器１００とターゲット機器１０１との間で認証処理を行う必要がある。なお、ここで行う認証処理は、秘密鍵方式または公開鍵方式のいずれの暗号方式を利用して行ってもよい。認証が成功すると、ホスト機器１００はターゲット機器１０１からターゲットＩ／Ｆ部１０５を介して機密情報を読み出し、機密情報処理部１０２を用いて復号化して利用する。また、機密情報処理部１０２の動作の起動はホストＣＰＵ１０３から行われ、起動された場合、セキュリティの確保された、あるいはセキュリティの必要の少ない所定のシーケンスのみを行う。
【００４３】
ここで、ホストＩ／Ｆ部１０４とターゲットＩ／Ｆ部１０５とは、機密情報処理部１０２が行うシーケンスの途中で生成される中間情報のうち機密性の高いもの（平文状態の機密情報等）を、秘匿化された半導体集積回路１０８外部には出力しないように構成されている。
【００４４】
また、機密情報処理部１０２とホストＣＰＵ１０３は同一の半導体チップで構成しても別チップで構成してもどちらでも構わない。
【００４５】
図３は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２と同一の要素については、同一の符号を用いている。図３では本発明の実施の形態の一つとして、ターゲット機器１０１に三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納され、さらに同一のターゲット機器１０１に二つの暗号化鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）に対して鍵変換処理を行うことによりＥｎｃ（Ｋｃ，Ｋｂ１）を得る場合を説明する。なお、この図では説明の簡略化のために、図２におけるホストＩ／Ｆ部１０４、ターゲットＩ／Ｆ部１０５、および内部バス１０７は省略した。なお、図３において、復号化２０２、２０５、２０９、２１３は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。
【００４６】
また、ここでは鍵変換処理を行うにあたり、ターゲット機器に対する認証処理が終了し機密情報処理部１０２に認証鍵Ｋａ０（２００）が生成されているものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋａ１，Ｋａ０）２０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力され認証鍵Ｋａ０（２００）により復号化２０２することによりＫａ１（２０３）が生成され、さらにターゲット機器１０１に格納されたＥｎｃ（Ｋａ２，Ｋａ１）２０４がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（２０３）により復号化２０５することによりＫａ２（２０６）が生成されているものとする。また同様に、ターゲット機器に対して別の認証処理を行うことにより認証鍵Ｋｂ０（２０７）が機密情報処理部１０２に生成されているものとする。ターゲット機器１０１に格納されたＥｎｃ（Ｋｂ１，Ｋｂ０）２０８がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ３として入力され認証鍵Ｋｂ０（２０７）により復号化２０９することによりＫｂ１（２１０）が生成されているものとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）２０１、Ｅｎｃ（Ｋａ２，Ｋａ１）２０４およびＥｎｃ（Ｋｂ１，Ｋｂ０）２０８は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。
【００４７】
また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋａ２）２１１は、認証処理後にターゲット機器１０１からホスト機器１００のワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）２１２はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてターゲット機器に格納されるものとする。なお、これらＥｎｃ（Ｋｃ，Ｋａ２）２１１やＥｎｃ（Ｋｃ，Ｋｂ１）２１２は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力する、もしくは直接機密情報処理部１０２からターゲット機器１０１に出力することも可能である。
【００４８】
以下、鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図３では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋａ２）からＥｎｃ（Ｋｃ，Ｋｂ１）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。これにより、鍵変換処理が開始される。
【００４９】
鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部１０２に生成されたＫａ２（２０６）およびＫｂ１（２１０））が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋａ２）２１１が機密情報処理部１０２に入力され、この入力された鍵に対してＫａ２（２０６）を用いて復号化処理２１３を行う。このようにＫａ２（２０６）で復号化を行うことにより、暗号化されていないＫｃ２１４が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ２１４を格納する方法がある。なお、Ｋｃ２１４は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ２１４に対してＫｂ１（２１０）を用いて暗号化処理２１５を行う。この暗号化処理２１５によりＥｎｃ（Ｋｃ，Ｋｂ１）２１２が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。
【００５０】
また、鍵変換処理における暗号化処理２１５や復号化処理２１３は、図３に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、鍵変換制御部２１６は暗号化処理２１５や復号化処理２１３を行う回路に対して、それぞれの回路で使用される鍵を設定するための信号、およびそれぞれの回路に対するイネーブル信号を生成するための回路である。なお、ここでのイネーブル信号とは、この信号が入力されている間はそれぞれの回路において暗号化や復号化が実行可能とするための信号である。また、鍵変換制御フラグ２１７は、ホストＣＰＵ１０３から鍵変換処理の制御シーケンスが起動された際に鍵変換制御部２１６に読み出され、イネーブル信号生成の条件として使用される。
【００５１】
ここで本発明における鍵変換制御フラグ２１７は三種類のフラグから成り、一つ目は鍵変換処理の入力となる暗号化鍵を格納するターゲット機器、および鍵変換処理の出力となる暗号化鍵を格納するターゲット機器に対してそれぞれ認証処理が行われたどうかを示すためのフラグ（以下、「認証フラグ」という。）で、それぞれのターゲット機器が不正な機器でないことを確認するために使用される。図３の例では、それぞれの認証が行われた場合に１になるものとする。
【００５２】
二つ目は前記の二つの認証処理が同一のターゲット機器に対して行われたかを示すためのフラグ（以下、「同一ターゲットフラグ」という。）で、鍵変換処理の入力となる暗号化鍵および出力となる暗号化鍵が同一のターゲット機器に格納される必要がある場合に、同一ターゲット機器に対して認証処理が行われたかどうかを確認するために使用される。図３の例では、同一のターゲット機器に対して認証が行われた場合に１になるものとする。なお、同一ターゲット機器であることを確認するための方法の一例には、それぞれの認証処理の際に、ターゲット機器に固有な識別番号を機密情報処理部１０２に保持し、それら保持された識別番号が同一かどうかを確認することにより、同一ターゲット機器かどうかを判定する方法がある。
【００５３】
三つ目は鍵変換処理において復号化および暗号化を行うための鍵（図３ではＫａ２（２０６）およびＫｂ１（２１０））が機密情報処理部にそれぞれ生成されたかどうかを示すためのフラグ（以下、「鍵生成フラグ」という。）で、図３の例ではＫａ２（２０６）またはＫｂ１（２１０）が生成されていない状態、すなわちＫａ２＝０またはＫｂ１＝０などの状態で復号化または暗号化が行われないことを確認するために使用される。図３の例では、鍵の生成が行われた場合に１になるものとする。なお、鍵が生成されたことを確認する方法としては、図３のＫａ２（２０６）を例とした場合、Ｋａ２を生成するために必要な復号化処理（図３では、復号化処理２０２および復号化処理２０５）がそれぞれ行われたことを機密情報処理部１０２で保持し、それらの結果から必要な復号化処理がすべて行われたかどうかを確認する方法などがある。
【００５４】
図４は、図３の鍵変換処理で使用される鍵変換制御部２１６と鍵変換制御フラグ２１７の構成例を示したものである。鍵変換制御部２１６は、機密情報処理部１０２に対してどの鍵変換処理を起動するかを設定するための鍵変換処理設定をホストＣＰＵ１０３からの入力として持ち、暗号回路に対する鍵選択信号およびイネーブル信号を出力として持つ。また、鍵変換処理設定をデコードするための鍵変換設定デコード回路３００と、デコード回路から出力される信号を選択信号とするセレクタ３０１、およびセレクタ３０１への入力として使用するためのＡＮＤゲート３０２から構成される。ここで、鍵変換設定デコード回路３００は例えば、ホストＣＰＵ１０３からの鍵変換処理設定を保持するためのレジスタと、それらレジスタの値を機密情報処理部１０２で使用される内部制御信号に変換するための回路から構成される。また、ＡＮＤゲート３０２の入力には、ホストＣＰＵ１０３から起動された鍵変換処理が不正なく行われるために必要となるフラグが入力される。
【００５５】
ここで、図３の場合に必要となるフラグを説明する。図３の処理では認証鍵Ｋａ０（２００）および認証鍵Ｋｂ０（２０７）から生成されるＫａ２（２０６）およびＫｂ１（２１０）が使用される。そのため、認証鍵Ｋａ０（２００）を生成する認証処理および認証鍵Ｋｂ０（２０７）を生成する認証処理がともに終了している必要がある。そのため、認証フラグ（Ｋａ０）３０３および認証フラグ（Ｋｂ０）３０４が使用され、それらがともに１となる必要がある。また、図３の場合は鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）２１１と、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）２１２がともに同一のターゲット機器に格納されているものとする。そのため、同一ターゲットフラグ３０５が使用され、その値が１となる必要がある。なお、同一ターゲット機器内での鍵変換処理ではない場合は、同一ターゲットフラグ３０５はイネーブル信号生成の条件として使用されない。また、鍵変換処理においてはＫａ２（２０６）およびＫｂ１（２１０）がともに機密情報処理部１０２に生成される必要があるので、鍵生成フラグ（Ｋａ２）３０６および鍵生成フラグ（Ｋｂ１）３０７が使用され、それらがともに１となる必要がある。したがって、図３に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、これら五つのフラグを入力に持つＡＮＤゲート３０２の出力が、セレクタ３０１の出力として選択される。そのため、これら五つのフラグがすべて１となっている場合のみ、暗号回路が使用可能となる。なお、上記の五つのフラグを全て備える必要は必ずしもない。例えば、認証フラグと鍵生成フラグは何れか一方しかなくともシステムによっては一定のセキュリティレベルを達成することができ得る。また、同一ターゲットフラグ３０５は、同一ターゲットでの鍵変換しか許容しないようなモードが存在する場合は必要であるが、そういったモードが存在しない場合には必ずしも必要ない。しかし、ここでスロットが二つ存在する場合には、同一ターゲットフラグ３０５を備えることが好ましく、その理由については実施の形態２において後述する。
【００５６】
なお、これらのフラグはＣＰＵが直接に書き換えを行うことはできず、各処理の結果を受けて機密情報処理部内でハードウェア的に書き換えられるものである。
【００５７】
次に、図５のフローチャートを用いることにより図３に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、図３に対する説明でも示したように、まずホストＣＰＵ１０３により鍵変換処理設定４００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し４０１が鍵変換制御部２１６に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋａ２）入力４０２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図５では条件分岐４０３から条件分岐４０７に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図５に示すとおりでなくても構わない。
【００５８】
図５では、図３の鍵変換制御フラグの説明でも示したように、五つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）２１１を格納するターゲット機器に対して認証鍵Ｋａ０（２００）を生成する認証処理が行われているかを条件分岐４０３で確認する。これにより、認証鍵Ｋａ０（２００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋａ２）２１１を格納するターゲット機器が不正な機器でないことを確認する。次に、鍵変換処理の出力であるＥｎｃ（Ｋｃ，Ｋｂ１）２１２を格納するターゲット機器に対して認証鍵Ｋｂ０（２０７）を生成する認証処理が行われているかを条件分岐４０４で確認する。これにより、認証鍵Ｋｂ０（２０７）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋｂ１）２１２を格納するターゲット機器が不正な機器でないことを確認する。
【００５９】
次に、同一ターゲットフラグの説明で示したように、図３の例では鍵変換処理は同一のターゲット機器内で行われる場合を前提としているため、実行した二つの認証処理が同一のターゲット機器に対して行われたかを条件分岐４０５で確認する。これにより、同一ターゲット機器内での鍵変換処理が行われているかを確認する。
【００６０】
また、鍵生成フラグの説明で示したように、Ｋａ２（２０６）およびＫｂ１（２１０）が機密情報処理部１０２に生成されていることを、条件分岐４０６および条件分岐４０７で確認する。これにより、Ｋａ２（２０６）およびＫｂ１（２１０）が生成されていない状態、すなわちＫａ２＝０およびＫｂ１＝０などの状態で復号化および暗号化が行われないことを確認する。
【００６１】
以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋａ２）に対する変換処理４０８（図３では、Ｋａ２（２０６）で復号化して、Ｋｂ１（２１０）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理２１５や復号化処理２１３を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｂ１）出力４０９が行われる。出力後、鍵変換処理が終了となる。
【００６２】
以上のように、図３および図５の処理を用いることにより鍵変換処理が実行される。なお、図３の例ではターゲット機器に｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納され、また同一ターゲット機器に｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）２１１に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｂ１）２１２を得る場合を説明した。しかしながら、本発明はこの場合に限られるものではない。例えば、Ｋａ２で暗号化されたコンテンツ鍵が複数あり、これらの全てについて別の認証処理で得られたＫｂ０を認証鍵とする機密情報処理方法で利用したい場合でもよい。この場合、各々のコンテンツ鍵を暗号化する鍵をＫｂ１に変換すると、コンテンツ鍵の個数と同じ回数の鍵変換処理を行う必要がある。そこで、Ｅｎｃ（Ｋａ２，Ｋａ１）をＥｎｃ（Ｋａ２，Ｋｂ０）へと変換するような鍵変換処理を行う。すると、Ｋａ２を暗号化のための鍵とする全てのコンテンツ鍵が、一度の鍵変換処理を行うのみで、Ｋｂ０を認証鍵とする機密情報処理方法で利用可能となる。なお、ここでＥｎｃ（Ｋａ１，Ｋａ０）をＥｎｃ（Ｋａ１，Ｋｂ０）へと変換することも可能ではある。しかしながら、この場合は認証鍵Ｋｂ０からＫｃを復号化するまでの回数がＫｂ１を用いる場合と比べて増えてしまう。したがって、機密情報処理部が、認証鍵に応じてその復号化の回数を管理し、管理している回数以外の回数の復号化で得られた結果を出力しないように構成されている場合などはＥｎｃ（Ｋａ２，Ｋａ１）をＥｎｃ（Ｋａ２，Ｋｂ０）へと変換したほうが好ましい。
【００６３】
そこで、これを一般化して、ターゲット機器にｍ個（ｍは自然数）の鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），．．．，Ｅｎｃ（Ｋａｍ，Ｋａ（ｍ−１））｝が格納され、さらにｎ個（ｎは自然数）の鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），．．．，Ｅｎｃ（Ｋｂｎ，Ｋｂ（ｎ−１））｝が格納された状態で、ＫａｍおよびＫｂｎをコンテンツの暗号化および復号化に使用し、ｉおよびｊをそれぞれ１≦ｉ≦ｍ、１≦ｊ≦ｎを満たす自然数として、Ｅｎｃ（Ｋａｉ，Ｋａ（ｉ−１））に対して鍵変換処理を行ってＥｎｃ（Ｋａｉ，Ｋｂ（ｊ−１））を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の復号化を行う回路にＫａ（ｉ−１）を使用し、暗号化を行う回路にＫｂ（ｊ−１）を使用して、また鍵変換処理フラグとしてＫａ（ｉ−１）が生成されたことを示すフラグ、およびＫｂ（ｊ−１）が生成されたことを示すフラグを代わりに使用すれば、図３と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫａ（ｉ−１）およびＫｂ（ｊ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。また、ｍ−ｉ＝ｎ−ｊを満たすと、認証鍵Ｋｂ０からの復号化の回数が変わらずにコンテンツ鍵を復号化できるので、さらに好ましい。
【００６４】
（実施の形態２）
次に実施の形態２について説明する。基本的な全体構成は図２と同様なので説明を省略する。
【００６５】
実施の形態２では、本発明における認証のフラグの消去、および認証鍵の消去について説明する。図６および図７は、認証鍵Ｋａ０を生成する認証のフラグの消去および認証鍵Ｋａ０の消去を行うことにより、不正なターゲット機器の挿抜による不正な処理を防ぐことができることを示したものである。なお、図２と同一の要素については、同一の符号を用いている。なお、図６、図７において、復号化５０３、５０６、６０４，６０６は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。
【００６６】
図６ではターゲット機器１（５００）がホスト機器１００に挿入され、ターゲット機器に三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納された状態であるものとする。また図７ではターゲット機器１（５００）がホスト機器１００から抜かれ、代わりにターゲット機器２（６００）がホスト機器１００に挿入され、ターゲット機器に一つの暗号化鍵Ｅｎｃ（Ｋｂ１，Ｋｂ０）が格納された状態であるものとする。ここで本実施の形態では、ホストＣＰＵ１０３が不正な処理を行おうとした場合でもセキュリティを保てる仕組みを提供することを目的とする。したがって、ホストＣＰＵ１０３のワーク領域１０６に格納された三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝はワーク領域１０６から消去されないものと仮定する。そして図６および図７を用いて、Ｋｃに対して、Ｋａ０から生成されるＫａ２と、認証鍵Ｋｂ０から生成されるＫｂ１により鍵変換処理が行われるものとする。このように、図６および図７では、鍵変換処理を行うにあたりターゲット機器を交換した場合に、機密情報処理部１０２がどのような動作をするかを説明する。なお、ここでは鍵変換処理が同一ターゲット機器に対して行われる必要があるものとする。そのため、ターゲット機器の挿抜が行われた場合はその挿抜は不正な処理となる。
【００６７】
まず、図６のようにターゲット機器１（５００）が挿入された状態で認証を行い、ターゲット機器１（５００）が正当な機器であれば、機密情報処理部に認証鍵Ｋａ０（５０１）が生成され、また認証鍵Ｋａ０（５０１）を生成する認証処理が行われたことが、認証フラグ（Ｋａ０）５０８により保持される。その後、ターゲット機器１に格納されていたＥｎｃ（Ｋａ１，Ｋａ０）５０２がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力され認証鍵Ｋａ０（５０１）により復号化５０３することによりＫａ１（５０４）を生成し、またターゲット機器１に格納されていたＥｎｃ（Ｋａ２，Ｋａ１）５０５がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（５０４）により復号化５０６することによりＫａ２（５０７）を生成したとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）５０２およびＥｎｃ（Ｋａ２，Ｋａ１）５０５は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器５００から機密情報処理部１０２に入力することも可能である。
【００６８】
さらにターゲット機器１（５００）に格納されたＥｎｃ（Ｋｃ，Ｋａ２）５０９をホスト機器１００のワーク領域１０６に格納済みとする。なお、このＥｎｃ（Ｋｃ，Ｋａ２）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器５００から機密情報処理部１０２に入力することも可能である。
【００６９】
ここで、図７に示すように、ターゲット機器１（５００）をホスト機器１００から抜き、ターゲット機器２（６００）が代わりに挿入されたとする。なお、ここでは鍵変換処理が同一ターゲット機器に対して行われることを前提としている。そのため、この挿抜は不正な挿抜となる。このような場合、本発明の鍵変換処理においては、ターゲット機器が抜かれたことによりそのターゲット機器に対する認証、および認証処理の際に機密情報処理部１０２に生成した認証鍵を消去する。また、機密情報処理部１０２に認証鍵から生成された鍵（Ｋａ１（５０４）やＫａ２（５０７））が生成されている場合は、それらを消去してもよい。
【００７０】
ここで認証の消去とは、認証フラグの消去であり、図７の例では認証フラグ（Ｋａ０）５０８を０とする処理である。また認証鍵の消去とは、図７の例ではターゲット機器１（５００）の認証鍵Ｋａ０（５０１）に対しＫａ０＝０と設定することなどを指す。なお、これらの情報の消去には、機密情報処理部１０２によりターゲット機器が抜かれたことを検知し、機密情報処理部１０２が消去を行う方法や、ホストＣＰＵ１０３によりターゲット機器が抜かれたことを検知し、ホストＣＰＵ１０３が機密情報処理部１０２に消去を行う制御シーケンスを起動する方法などがある。
【００７１】
次に、図７の例では、ターゲット機器２（６００）に対して認証鍵Ｋｂ０（６０１）を生成する認証処理を行ったものとする。もしターゲット機器２（６００）が正当な機器であれば、認証鍵Ｋｂ０（６０１）が生成され、また認証鍵Ｋｂ０を生成する認証が成立したことが、認証フラグ（Ｋｂ０）６０２により保持される。さらに、ここではターゲット機器２（６００）に格納されていたＥｎｃ（Ｋｂ１，Ｋｂ０）６０３がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ３として入力され認証鍵Ｋｂ０（６０１）により復号化６０４することによりＫｂ１（６０５）が生成されているとする。なお、このＥｎｃ（Ｋｂ１，Ｋｂ０）６０３は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器６００から機密情報処理部１０２に入力することも可能である。
【００７２】
この状態で、ホストＣＰＵ１０３によりＥｎｃ（Ｋｃ，Ｋａ２）からＥｎｃ（Ｋｃ，Ｋｂ１）への鍵変換処理が起動され、ワーク領域１０６に格納されてあったＥｎｃ（Ｋｃ，Ｋａ２）５０９が入力されたとする。このような処理を行った場合は、認証フラグ（Ｋａ０）５０８が０である、すなわち認証鍵Ｋａ０を生成する認証処理が行われていないことが機密情報処理部で保持されている。そのため、Ｋａ２（５０７）を用いて復号化を行う暗号回路に対してイネーブル信号が生成されていないため、復号化処理６０６が行われずにＫｃを得ることができない。またＫｃに対する暗号化処理６０７を行う暗号回路に対しても、イネーブル信号が生成されていない。
【００７３】
ところが、ここでターゲット機器１（５００）に対する認証が行われたことが消去されていなければ、ターゲット機器１（５００）が抜かれた後も機密情報処理部１０２の認証フラグ（Ｋａ０）５０８が１のままとなる。すると、次に挿入されたターゲット機器２（６００）の認証によって、認証フラグ（Ｋｂ０）６０２が１となる。ここで、図４を参照すると、鍵自体は認証によって適正に存在し得るため、鍵生成フラグ（Ｋａ２）３０６と鍵生成フラグ（Ｋｂ１）３０７も１となり得る。したがって、不正に鍵変換処理が起動される可能性が残る。
【００７４】
またここで、同一ターゲットフラグ３０５の有用性について、スロットが二つ存在する場合を例にとって説明する。この場合、第１のスロットに対して、ターゲット機器１の認証を成功させ、第２のスロットに対してターゲット機器２の認証を成功させると、認証フラグ（Ｋａ０）５０８と認証フラグ（Ｋｂ０）６０２が１となり、鍵自体も正当に生成され得る。したがって、ＣＰＵが不正に処理を起動することで不正な鍵変換が行われる可能性がある。しかし同一ターゲットフラグを設け、同一ターゲット機器への鍵変換のみを許容することで、そのような不正を行うことができなくなる。なお、同一ターゲットフラグを更新する方法であるが、実施の形態１で説明した固有な識別番号を用いる実装方法以外に、それぞれの認証処理がどのスロットに対して行われたかを保持する実装方法でもよい。このような実装方法では、ホスト機器に二つのスロットが存在し、それぞれに異なるターゲット機器が挿入された場合、スロットが異なることからそれぞれが異なるターゲット機器と判定することができ、上述したような状況でも不正な処理の起動を防ぐことが可能である。当然、一度ターゲット機器を抜いてから再度挿入した場合は、認証フラグが消去されるので不正な処理は行われない。
【００７５】
したがって、図６および図７に示すように、ターゲット機器がホスト機器１００から抜かれた場合は、そのターゲット機器に対する認証が成功したことや認証鍵を消去することにより、不正な鍵変換処理が防ぐことができる。
【００７６】
（実施の形態３）
次に実施の形態３について説明する。基本的な全体構成は図２と同様なので説明を省略する。
【００７７】
実施の形態３では、本発明における鍵変換処理方法について説明する。図８は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２および図３と同一の要素については、同一の符号を用いている。図８では本発明の実施の形態の一つとして、ターゲット機器１０１に三つの暗号化鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）に対して、機密情報処理部に外部から読み出されないようにして格納されたホスト鍵Ｋｈにより鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｈ）を得る場合を説明する。ここで、ホスト鍵Ｋｈを機密情報処理部に格納する方法としては半導体集積回路の製造時に機密情報処理部内に実装する方法、あるいは半導体集積回路外部から電子配信等を介して暗号化された状態で半導体集積回路内部に入力し、半導体集積回路内部において復号化して機密情報処理部内に格納する方法等がある。これは後述する実施の形態４においても同様である。なお、図８において、復号化７０２、７０５、７１０は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。
【００７８】
ここで、Ｅｎｃ（Ｋｃ，Ｋｈ）はターゲット機器に格納されるのではなく、例えばホスト機器内のハードディスクなどの蓄積デバイスに格納される。この鍵変換処理の利用例としては、ターゲット機器に格納されたＫｃのバックアップなどを可能にする。このような処理では、バックアップされたＫｃはＥｎｃ（Ｋｃ，Ｋｈ）として保存されるため、Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみがＥｎｃ（Ｋｃ，Ｋｈ）を復号可能となる。
【００７９】
また、図８では、ターゲット機器１０１に対する認証処理が終了し機密情報処理部１０２にＫａ０（７００）が生成されたものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋａ１，Ｋａ０）７０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力されＫａ０（７００）により復号化７０２することによりＫａ１（７０３）が生成され、さらにターゲット機器１０１に格納されたＥｎｃ（Ｋａ２，Ｋａ１）７０４がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（７０３）により復号化７０５することによりＫａ２（７０６）が生成されているものとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）７０１およびＥｎｃ（Ｋａ２，Ｋａ１）７０４は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。
【００８０】
また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋａ２）７０７は、認証処理後にターゲット機器１０１からホスト機器１００のワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｈ）７０８はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてホスト機器１００の蓄積デバイスなどに保存されるものとする。なお、入力のＥｎｃ（Ｋｃ，Ｋａ２）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。
【００８１】
以下、Ｋａ２（７０６）およびＫｈ７０９を用いた鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図８では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋａ２）からＥｎｃ（Ｋｃ，Ｋｈ）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。これにより、鍵変換処理が開始される。
【００８２】
鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部１０２に生成されたＫａ２（７０６）、および機密情報処理部１０２に格納されたＫｈ７０９）が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋａ２）７０７が機密情報処理部１０２に入力され、この入力された鍵に対してＫａ２（７０６）を用いて復号化処理７１０を行う。このようにＫａ２（７０６）で復号化を行うことにより、暗号化されていないＫｃ７１１が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ７１１を格納する方法がある。なお、Ｋｃ７１１は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ７１１に対してＫｈ７０９を用いて暗号化処理７１２を行う。この暗号化処理７１２によりＥｎｃ（Ｋｃ，Ｋｈ）７０８が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。
【００８３】
また、実施の形態１の場合と同様に、鍵変換処理における暗号化処理７１２や復号化処理７１０は、図８に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、図８の場合に必要となるフラグを考察する。図８の処理では認証鍵Ｋａ０（７００）から生成されるＫａ２（７０６）が使用される。そのため、認証鍵Ｋａ０（７００）を生成する認証処理が終了している必要がある。そのため、認証フラグ（Ｋａ０）が鍵変換制御フラグ２１７の一つとして必要となる。なお、図８の場合は鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）７０７と、出力であるＥｎｃ（Ｋｃ，Ｋｈ）７０８は同一のターゲット機器に格納される必要がないため、同一ターゲットフラグは不要である。また、この鍵変換処理においては、Ｋａ２（７０６）が復号化処理により機密情報処理部１０２に生成される必要がある。そのため、鍵生成フラグ（Ｋａ２）が鍵変換制御フラグ２１７の一つとして必要となる。なお、Ｋｈ７０９は前もってホスト機器１００に格納されている鍵なので、Ｋｈ７０９に対する生成フラグは不要である。したがって、図８に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、認証フラグ（Ｋａ０）および鍵生成フラグ（Ｋａ２）の二つのフラグを入力に持つＡＮＤゲートの出力が、図４に示すセレクタ３０１の出力として選択される。そのため、これら二つのフラグがともに１となっている場合のみ、暗号回路が使用可能となる。
【００８４】
次に、以下では図９のフローチャートを用いることにより図８に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、実施の形態１でも説明したように、まずホストＣＰＵ１０３により鍵変換処理設定８００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し８０１が鍵変換制御部２１６に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋａ２）入力８０２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図９では条件分岐８０３と条件分岐８０４に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図９に示すとおりでなくても構わない。
【００８５】
図９では、図８の鍵変換制御フラグの説明でも示したように、二つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋａ２）７０７を格納するターゲット機器に対して認証鍵Ｋａ０（７００）を生成する認証処理が行われているかを条件分岐８０３で確認する。これにより、認証鍵Ｋａ０（７００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋａ２）７０７を格納するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、Ｋａ２（７０６）が機密情報処理部１０２に生成されていることを条件分岐８０４で確認する。これにより、Ｋａ２（７０６）が生成されていない状態、すなわちＫａ２＝０などの状態で復号化が行われないことを確認する。
【００８６】
以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋａ２）に対する変換処理８０５（図８では、Ｋａ２（７０６）で復号化して、Ｋｈ（７０９）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理７１２や復号化処理７１０を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｈ）出力８０６が行われる。出力後、鍵変換処理が終了となる。
【００８７】
以上のように、図８および図９の処理を用いることにより鍵変換処理が実行される。なお、図８の例ではターゲット機器に｛Ｅｎｃ（Ｋａ１，Ｋａ０），Ｅｎｃ（Ｋａ２，Ｋａ１），Ｅｎｃ（Ｋｃ，Ｋａ２）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋａ２）７０７に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｈ）７０８を得る場合を説明した。そこで、これを一般化して、ターゲット機器にｍ個（ｍは自然数）の鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），．．．，Ｅｎｃ（Ｋａｍ，Ｋａ（ｍ−１））｝が格納された状態で、Ｋａｍをコンテンツの暗号化および復号化に使用し、ｉを１≦ｉ≦ｍを満たす自然数として、Ｅｎｃ（Ｋａｉ，Ｋａ（ｉ−１））に対して鍵変換処理を行ってＥｎｃ（Ｋａｉ，Ｋｈ）を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の復号化を行う回路にＫａ（ｉ−１）を使用し、暗号化を行う回路にＫｈを使用して、また鍵変換処理フラグとしてＫａ（ｉ−１）が生成されたことを示すフラグを代わりに使用すれば、図８と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫａ（ｉ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。
【００８８】
（実施の形態４）
次に実施の形態４について説明する。基本的な全体構成は図２と同様なので説明を省略する。
【００８９】
実施の形態４では、本発明における鍵変換処理方法について説明する。図１０は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２および図３と同一の要素については、同一の符号を用いている。図１０では本発明の実施の形態の一つとして、ターゲット機器１０１に二つの暗号化鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋｈ）に対して、Ｋｂ１により鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｂ１）を得る場合を説明する。なお、図１０において、復号化９０２、９０７は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。
【００９０】
ここで、Ｅｎｃ（Ｋｃ，Ｋｈ）はターゲット機器に格納されるのではなく、実施の形態３と同様に、例えばホスト機器内のハードディスクなどの蓄積デバイスに格納される。この鍵変換処理の利用例としては、ホスト機器にバックアップされたＫｃをターゲット機器にリストアする処理などが挙げられる。このような処理では、バックアップされたＫｃはＥｎｃ（Ｋｃ，Ｋｈ）として保存されているため、Ｋｈを持ったホスト機器、すなわちバックアップを行ったホスト機器のみがＥｎｃ（Ｋｃ，Ｋｈ）を復号可能となる。
【００９１】
また、図１０では、ターゲット機器１０１に対する認証処理が終了し機密情報処理部１０２に認証鍵Ｋｂ０（９００）が生成されたものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋｂ１，Ｋｂ０）９０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力されＫｂ０（９００）により復号化９０２することによりＫｂ１（９０３）が生成されているものとする。なお、このＥｎｃ（Ｋｂ１，Ｋｂ０）９０１は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。
【００９２】
また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋｈ）９０４は、すでにホスト機器１００の蓄積デバイスなどからワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）９０５はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてターゲット機器１０１に格納されるものとする。なお、出力のＥｎｃ（Ｋｃ，Ｋｂ１）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接機密情報処理部１０２からターゲット機器１０１に出力することも可能である。
【００９３】
以下、Ｋｈ９０６およびＫｂ１（９０３）を用いた鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図１０では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋｈ）からＥｎｃ（Ｋｃ，Ｋｂ１）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。
【００９４】
鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部１０２に格納されたＫｈ９０６、および機密情報処理部１０２に生成されたＫｂ１（９０３））が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋｈ）９０４が機密情報処理部１０２に入力され、この入力された鍵に対してＫｈ９０６を用いて復号化処理９０７を行う。このようにＫｈ９０６で復号化を行うことにより、暗号化されていないＫｃ９０８が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ９０８を格納する方法がある。なお、Ｋｃ９０８は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ９０８に対してＫｂ１（９０３）を用いて暗号化処理９０９を行う。この暗号化処理９０９によりＥｎｃ（Ｋｃ，Ｋｂ１）９０５が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。
【００９５】
また、実施の形態１の場合と同様に、鍵変換処理における暗号化処理９０９や復号化処理９０７は、図１０に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、図１０の場合に必要となるフラグを考察する。図１０の処理では認証鍵Ｋｂ０（９００）から生成されるＫｂ１（９０３）が使用される。そのため、認証鍵Ｋｂ０（９００）を生成する認証処理が終了している必要がある。そのため、認証フラグ（Ｋｂ０）が鍵変換制御フラグ２１７の一つとして必要となる。なお、図１０の場合は鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋｈ）９０４と、出力であるＥｎｃ（Ｋｃ，Ｋｂ１）９０５は同一のターゲット機器に格納される必要がないため、同一ターゲットフラグは不要である。また、この鍵変換処理においては、Ｋｂ１（９０３）が復号化処理により機密情報処理部１０２に生成される必要がある。そのため、鍵生成フラグ（Ｋｂ１）が鍵変換制御フラグ２１７の一つとして必要となる。なお、Ｋｈ９０６は前もってホスト機器１００に格納されている鍵なので、Ｋｈ９０６に対する生成フラグは不要である。したがって、図１０に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、認証フラグ（Ｋｂ０）および鍵生成フラグ（Ｋｂ１）の二つのフラグを入力に持つＡＮＤゲートの出力が、図４に示すセレクタ３０１の出力として選択される。そのため、これら二つのフラグがともに１となっている場合のみ、暗号回路が使用可能となる。
【００９６】
次に、以下では図１１のフローチャートを用いることにより図１０に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、実施の形態１でも説明したように、まずホストＣＰＵ１０３により鍵変換処理設定１０００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し１００１が鍵変換制御部２１７に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋｈ）入力１００２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図１１では条件分岐１００３と条件分岐１００４に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図１１に示すとおりでなくても構わない。
【００９７】
図１１では、図１０の鍵変換制御フラグの説明でも示したように、二つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の出力であるＥｎｃ（Ｋｃ，Ｋｂ１）９０５を格納するターゲット機器に対して認証鍵Ｋｂ０（９００）を生成する認証処理が行われているかを条件分岐１００３で確認する。これにより、認証鍵Ｋｂ０（９００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋｂ１）９０５を格納するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、Ｋｂ１（９０３）が機密情報処理部１０２に生成されていることを、条件分岐１００４で確認する。これにより、Ｋｂ１（９０３）が生成されていない状態、すなわちＫｂ１＝０などの状態で暗号化が行われないことを確認する。
【００９８】
以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋｈ）に対する変換処理１００５（図１０では、Ｋｈ９０６で復号化して、Ｋｂ１（９０３）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理９０９や復号化処理９０７を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｂ１）出力１００６が行われる。出力後、鍵変換処理が終了となる。
【００９９】
以上のように、図１０および図１１の処理を用いることにより鍵変換処理が実行される。なお、図１０の例ではターゲット機器に｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），Ｅｎｃ（Ｋｂ２，Ｋｂ１）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋｈ）９０４に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｂ１）９０５を得る場合を説明した。そこで、これを一般化して、ターゲット機器にｎ個（ｎは自然数）の鍵｛Ｅｎｃ（Ｋｂ１，Ｋｂ０），．．．，Ｅｎｃ（Ｋｂｎ，Ｋｂ（ｎ−１））｝が格納された状態で、Ｋｂｎをコンテンツの暗号化および復号化に使用し、ｊを１≦ｊ≦ｎを満たす自然数として、Ｅｎｃ（Ｋａｉ，Ｋｈ）に対して鍵変換処理を行ってＥｎｃ（Ｋａｉ，Ｋｂ（ｊ−１））を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の暗号化を行う回路にＫｈを使用し、復号化を行う回路にＫｂ（ｊ−１）を使用して、また鍵変換処理フラグとしてＫｂ（ｊ−１）が生成されたことを示すフラグを代わりに使用すれば、図１０と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫｂ（ｊ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。
【０１００】
（実施の形態５）
次に実施の形態５について説明する。基本的な全体構成は図２と同様なので説明を省略する。
【０１０１】
実施の形態５では、本発明における鍵変換処理方法について説明する。図１２は本発明における、鍵変換処理の実施の形態の一つを示したものである。図２および図３と同一の要素については、同一の符号を用いている。図１２では本発明の実施の形態の一つとして、ターゲット機器１０１に暗号化鍵Ｅｎｃ（Ｋａ１，Ｋａ０）が格納され、さらに同一ターゲット機器にＫａ１により暗号化された二つの暗号化鍵｛Ｅｎｃ（Ｋｄ２，Ｋａ１）およびＥｎｃ（Ｋｅ２，Ｋａ１）が格納され、またそれぞれＫｄ２およびＫｅ２により暗号化された鍵Ｅｎｃ（Ｋｃ，Ｋｄ２）およびＥｎｃ（Ｋｅ３，Ｋｅ２）が格納された状態を説明する。そして、Ｅｎｃ（Ｋｃ，Ｋｄ２）に対して、Ｋｅ２により鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｅ２）を得る場合を説明する。このように、実施の形態５では、同一の認証鍵Ｋａ０から生成される鍵の間での鍵変換処理を説明する。なお、図１２において、復号化１１０２、１１０５、１１０８、１１１２は別個の復号化回路があるかのように描かれているが、これは説明をシーケンスに沿って簡略化するためであり、実際には同一の復号化回路をシーケンスに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化の結果生成される各鍵は外部からアクセスできない領域に格納しておく必要がある。また、暗号化と復号化のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用することも可能である。
【０１０２】
この鍵変換処理の利用例としては、この処理を行ったことによりＫｃを暗号化する鍵がＫｄ２からＫｅ２に変更されることから、Ｋｄ２を不要として、さらに不要となったＫｄ２をターゲット機器から消去することにより、Ｋｃを暗号化する鍵の個数を減らすなどの用途に利用できる。
【０１０３】
また、図１２では、ターゲット機器１０１に対する認証処理が終了し機密情報処理部１０２に認証鍵Ｋａ０（１１００）が生成されたものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋａ１，Ｋａ０）１１０１がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ１として入力され認証鍵Ｋａ０（１１００）により復号化１１０２することによりＫａ１（１１０３）が生成され、さらにターゲット機器１０１に格納されたＥｎｃ（Ｋｄ２，Ｋａ１）１１０４がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ２として入力されＫａ１（１１０３）により復号化１１０５することによりＫｄ２（１１０６）が生成されているものとする。またターゲット機器１０１に格納されたＥｎｃ（Ｋｅ２，Ｋａ１）１１０７がワーク領域１０６に一旦格納された後に、機密情報処理部１０２にＩＮ３として入力されＫａ１（１１０３）により復号化１１０８することによりＫｅ２（１１０９）が生成されているものとする。なお、これらＥｎｃ（Ｋａ１，Ｋａ０）１１０１、Ｅｎｃ（Ｋｄ２，Ｋａ１）１１０４およびＥｎｃ（Ｋｅ２，Ｋａ１）１１０７は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力することも可能である。
【０１０４】
また、鍵変換処理の入力となるＥｎｃ（Ｋｃ，Ｋｄ２）１１１０は、認証処理後にターゲット機器１０１からホスト機器１００のワーク領域１０６に格納済みであり、出力であるＥｎｃ（Ｋｃ，Ｋｅ２）１１１１はワーク領域１０６に格納されるものとする。そしてワーク領域格納後に、改めてターゲット機器１０１に格納されるものとする。なお、これらＥｎｃ（Ｋｃ，Ｋｄ２）やＥｎｃ（Ｋｃ，Ｋｅ２）は、必ずしも一旦ワーク領域１０６に格納する必要はなく、直接ターゲット機器１０１から機密情報処理部１０２に入力する、もしくは直接機密情報処理部１０２からターゲット機器１０１に出力することも可能である。
【０１０５】
以下、Ｋｄ２（１１０６）およびＫｅ２（１１０９）を用いた鍵変換処理が行われる際の機密情報処理部１０２の動作を説明する。図１２では、機密情報処理部１０２にＥｎｃ（Ｋｃ，Ｋｄ２）からＥｎｃ（Ｋｃ，Ｋｅ２）への鍵変換処理を行うための制御シーケンスが定義されており、この制御シーケンスがホストＣＰＵ１０３から起動されたとする。
【０１０６】
鍵変換処理では、まずＫｃに対する暗号化および復号化を行うための鍵（機密情報処理部に生成されたＫｄ２（１１０６）およびＫｅ２（１１０９））が復号化を行うための回路および暗号化を行うための回路に設定される。そして次にＥｎｃ（Ｋｃ，Ｋｄ２）１１１０が機密情報処理部１０２に入力され、この入力された鍵に対してＫｄ２（１１０６）を用いて復号化処理１１１２を行う。このようにＫｄ２（１１０６）で復号化を行うことにより、暗号化されていないＫｃ１１１３が機密情報処理部１０２に生成される。この際、機密情報処理部１０２ではこの鍵をホストＣＰＵ１０３からアクセスされない形で保持する。この実装の例としては、ホストＣＰＵ１０３からアクセス不可能なレジスタにＫｃ１１１３を格納する方法がある。なお、Ｋｃ１１１３は鍵変換処理終了後に機密情報処理部１０２により消去しても構わない。そして、Ｋｃ１１１３に対してＫｅ２（１１０９）を用いて暗号化処理１１１４を行う。この暗号化処理１１１４によりＥｎｃ（Ｋｃ，Ｋｅ２）１１１１が機密情報処理部１０２から出力される。以上の処理により鍵変換処理が終了する。
【０１０７】
また、実施の形態１の場合と同様に、鍵変換処理における暗号化処理１１１４や復号化処理１１１２は、図１２に示す鍵変換制御部２１６や、鍵変換制御フラグ２１７により制御される。ここで、図１２の場合に必要となるフラグを考察する。図１２の処理では認証鍵Ｋａ０（１１００）から生成されるＫｄ２（１１０６）およびＫｅ２（１１０９）が使用される。そのため、認証鍵Ｋａ０（１１００）を生成する認証処理が終了している必要がある。そのため、認証フラグ（Ｋａ０）が鍵変換制御フラグ２１７の一つとして必要となる。なお、図１２の場合は認証鍵Ｋａ０（１１００）を生成する認証処理のみが行われるため、同一ターゲットフラグは不要である。また、この鍵変換処理においては、Ｋｄ２（１１０６）およびＫｅ２（１１０９）が復号化処理により機密情報処理部１０２に生成される必要がある。そのため、鍵生成フラグ（Ｋｄ２）および鍵生成フラグ（Ｋｅ２）が鍵変換制御フラグ２１７として必要となる。したがって、図１２に示す鍵変換処理を行う鍵変換処理設定がホストＣＰＵ１０３から行われた場合は、認証フラグ（Ｋａ０）、鍵生成フラグ（Ｋｄ２）および鍵生成フラグ（Ｋｅ２）の三つのフラグを入力に持つＡＮＤゲートの出力が、図４に示すセレクタ３０１の出力として選択される。そのため、これら三つのフラグがともに１となっている場合のみ、暗号回路が使用可能となる。
【０１０８】
次に、以下では図１３のフローチャートを用いることにより図１２に示した鍵変換処理の流れを説明する。本発明の鍵変換処理では、実施の形態１でも説明したように、まずホストＣＰＵ１０３により鍵変換処理設定１２００が行われる。これにより、機密情報処理部１０２で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し１２０１が鍵変換制御部２１７に対して行われる。読み出し後に、機密情報処理部１０２に対してＥｎｃ（Ｋｃ，Ｋｄ２）入力１２０２を行う。そして、読み出されたフラグを基に、機密情報処理部１０２で不正な処理が行われないための条件が満たされているかどうかが確認される。これらの確認の処理は、図１３では条件分岐１２０３から条件分岐１２０５に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図１３に示すとおりでなくても構わない。
【０１０９】
図１３では、図１２の鍵変換制御フラグの説明でも示したように、三つの確認が行われる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力であるＥｎｃ（Ｋｃ，Ｋｄ２）１１１０および出力であるＥｎｃ（Ｋｃ，Ｋｅ２）１１１１を格納するターゲット機器に対して認証鍵Ｋａ０（１１００）を生成する認証処理が行われているかを条件分岐１２０３で確認する。これにより、認証鍵Ｋａ０（１１００）を生成する認証処理が行われていること、およびＥｎｃ（Ｋｃ，Ｋｄ２）１１１０やＥｎｃ（Ｋｃ，Ｋｅ２）１１１１を格納するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、Ｋｄ２（１１０６）およびＫｅ２（１１０９）が機密情報処理部１０２に生成されていることを、条件分岐１２０４および条件分岐１２０５で確認する。これにより、Ｋｄ２（１１０６）およびＫｅ２（１１０９）が生成されていない状態、すなわちＫｄ２＝０およびＫｅ２＝０などの状態で復号化および暗号化が行われないことを確認する。
【０１１０】
以上の確認が行われた場合、ホストＣＰＵ１０３が設定した鍵変換処理が不正なく実行されることが確認される。そのため、確認後に入力であるＥｎｃ（Ｋｃ，Ｋｄ２）に対する変換処理１２０６（図１２では、Ｋｄ２（１１０６）で復号化して、Ｋｅ２（１１０９）で暗号化する処理）が行われる。この間、鍵変換制御部２１６から暗号化処理１１１４や復号化処理１１１２を行う回路に対してイネーブル信号が出力されている。そして変換処理が行われたことにより、Ｅｎｃ（Ｋｃ，Ｋｅ２）出力１２０７が行われる。出力後、鍵変換処理が終了となる。
【０１１１】
以上のように、図１２および図１３の処理を用いることにより鍵変換処理が実行される。なお、図１２の例ではターゲット機器にＥｎｃ（Ｋａ１，Ｋａ０）と、｛Ｅｎｃ（Ｋｄ２，Ｋａ１）, Ｅｎｃ（Ｋｃ，Ｋｄ２）｝および｛Ｅｎｃ（Ｋｅ２，Ｋａ１），Ｅｎｃ（Ｋｅ３，Ｋｅ２）｝が格納された状態で、Ｅｎｃ（Ｋｃ，Ｋｄ２）１１１０に対して鍵変換処理を行ってＥｎｃ（Ｋｃ，Ｋｅ２）１１１１を得る構成としても良い。そこで、これを一般化して、ターゲット機器にｓ個（ｓは自然数）の鍵｛Ｅｎｃ（Ｋａ１，Ｋａ０），．．．，Ｅｎｃ（Ｋａｓ，Ｋａ（ｓ−１））｝が格納され、またそれぞれｔ個（ｔは自然数）からなる鍵｛Ｅｎｃ（Ｋｄ１，Ｋａｓ），Ｅｎｃ（Ｋｄ２，Ｋｄ１），．．．，Ｅｎｃ（Ｋｄｔ，Ｋｄ（ｔ−１））｝および｛Ｅｎｃ（Ｋｅ１，Ｋａｓ），Ｅｎｃ（Ｋｅ２，Ｋｅ１），．．．，Ｅｎｃ（Ｋｅｔ，Ｋｅ（ｔ−１））｝が格納された状態で、ＫｄｔおよびＫｅｔをコンテンツの暗号化および復号化に使用し、ｉを１≦ｉ≦ｔを満たす自然数として、Ｅｎｃ（Ｋｄｉ，Ｋｄ（ｉ−１））に対して鍵変換処理を行ってＥｎｃ（Ｋｄｉ，Ｋｅ（ｊ−１））を得る場合でもよい。この場合、鍵変換処理を行うためには、機密情報処理部の復号化を行う回路にＫｄ（ｉ−１）を使用し、暗号化を行う回路にＫｅ（ｉ−１）を使用して、また鍵変換処理フラグとしてＫｄ（ｉ−１）が生成されたことを示すフラグ、およびＫｅ（ｉ−１）が生成されたことを示すフラグを代わりに使用すれば、図１２と同様の鍵変換処理が実行可能である。したがって、機密情報処理部にＫｄ（ｉ−１）およびＫｅ（ｉ−１）に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回路を追加すればよい。
【産業上の利用可能性】
【０１１２】
本発明により、異なる機密情報処理方法の間などで鍵変換処理を実行可能であり、またその際、鍵情報が漏洩することなく、さらに不正な処理が行われることなく処理が実行可能である。したがって、複数の機密情報処理方法を実装したターゲット機器を利用する機密情報システムなどで利用可能である。
【図面の簡単な説明】
【０１１３】
【図１】図１は、従来技術におけるコンテンツの復号化方法を示す図である。
【図２】図２は、本発明における機密情報処理システムの全体を示す図である。
【図３】図３は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋａ２）から出力Ｅｎｃ（Ｋｃ,Ｋｂ１）を得る鍵変換処理を行うための構成を示す図である。
【図４】図４は、本発明における鍵変換制御部および鍵変換制御フラグの構成を示す図である。
【図５】図５は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋａ２）から出力Ｅｎｃ（Ｋｃ,Ｋｂ１）を得る鍵変換処理を行うためのフローチャートである。
【図６】図６は、本発明における認証の消去でのターゲット機器交換前の構成を示す図である。
【図７】図７は、本発明における認証の消去でのターゲット機器交換後の構成を示す図である。
【図８】図８は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋａ２）から出力Ｅｎｃ（Ｋｃ,Ｋｈ）を得る鍵変換処理を行うための構成を示す図である。
【図９】図９は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋａ２）から出力Ｅｎｃ（Ｋｃ,Ｋｈ）を得る鍵変換処理を行うためのフローチャートである。
【図１０】図１０は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋｈ）から出力Ｅｎｃ（Ｋｃ,Ｋｂ１）を得る鍵変換処理を行うための構成を示す図である。
【図１１】図１１は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋｈ）から出力Ｅｎｃ（Ｋｃ,Ｋｂ１）を得る鍵変換処理を行うためのフローチャートである。
【図１２】図１２は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋａ２）から出力Ｅｎｃ（Ｋｃ,Ｋｄ２）を得る鍵変換処理を行うための構成を示す図である。
【図１３】図１３は、本発明における入力Ｅｎｃ（Ｋｃ,Ｋｄ２）から出力Ｅｎｃ（Ｋｃ,Ｋｅ２）を得る鍵変換処理を行うためのフローチャートである。
【符号の説明】
【０１１４】
１００  ホスト機器
１０１  ターゲット機器
１０２  機密情報処理部
１０３  ホストＣＰＵ
１０４  ホストＩ／Ｆ
１０５  ターゲットＩ／Ｆ
１０６  ワーク領域
１０７  内部バス
１０８  半導体集積回路
２１６  鍵変換制御部
２１７  鍵変換制御フラグ
３００  鍵変換処理設定デコード回路
３０１  セレクタ
３０２  ＡＮＤゲート
３０３  認証フラグ（Ｋａ０）
３０４  認証フラグ（Ｋｂ０）
３０５  同一ターゲットフラグ
３０６  鍵生成フラグ（Ｋａ２）
３０７  鍵生成フラグ（Ｋｂ１）
５００  ターゲット機器１
６００  ターゲット機器２
１３００  ホスト機器
１３０１  ターゲット機器
１３０２  機密情報処理部
１３０３  ワーク領域
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2006118101.tif 000016
【図２】
2006118101.tif 000017
【図３】
2006118101.tif 000018
【図４】
2006118101.tif 000019
【図５】
2006118101.tif 000020
【図６】
2006118101.tif 000021
【図７】
2006118101.tif 000022
【図８】
2006118101.tif 000023
【図９】
2006118101.tif 000024
【図１０】
2006118101.tif 000025
【図１１】
2006118101.tif 000026
【図１２】
2006118101.tif 000027
【図１３】
2006118101.tif 000028
【国際調査報告】
2006118101.tif 000029
2006118101.tif 000030
2006118101.tif 000031
2006118101.tif 000032