明 細 書
機密情報処理用ホスト機器および機密情報処理方法
技術分野
[0001] 本発明は、ターゲット機器に格納される鍵に対する暗号変換処理方法および、それ を実現する機密情報処理装置としてのホスト機器に関する。
背景技術
[0002] 近年、メモリカードといったデータを蓄積するための機器 (以下、「ターゲット機器」と いう。)は、その利用用途の拡大に伴い広く利用されるようになってきた。このターゲッ ト機器は、一般的にターゲット機器を挿入するためのスロットを備え、挿入されたター ゲット機器に対してデータの格納を行う機器 (以下、「ホスト機器」という。)により使用 される。
[0003] また、ターゲット機器の利用用途の一つに、オーディオデータなどの著作権保護が 必要なデータを扱う用途がある。このような用途においては、オーディオデータなどの 著作権を保護する目的で機密情報処理方法が用いられる。この機密情報処理方法 では、著作権の保護が必要なデータに対しては暗号ィ匕を行い、暗号化されたデータ をターゲット機器に格納する。これにより、著作物などのコンテンツに対する不正なコ ピー、ある 、はコンテンツの外部への漏洩を防止する。
[0004] 以下では、このような著作権保護を行うための機密情報処理方法について説明す る。著作権保護を行う機密情報処理方法においては、まず、ターゲット機器とホスト機 器の間で認証処理を行う。次に、認証が成功した場合のみ、暗号化コンテンツを復 号ィ匕するための鍵であるコンテンツ鍵 (以下、「Kc」という。)をホスト機器がターゲット 機器力も入手可能な構成となっている。ホスト機器は、コンテンツ鍵の入手により、タ 一ゲット機器に格納された暗号ィ匕コンテンツを利用可能になる。このような構成により 、不正なホスト機器により暗号化コンテンツが復号化されるのを防ぐことが出来る。こ のような著作権保護を行うための機密情報処理方法に関する先行技術文献として特 許文献 1がある。
[0005] 続 ヽて、認証が成功した場合に、 Kcを用いてホスト機器がコンテンツを復号ィ匕する
処理について図面を参照しながら説明する。図 1はこのような機密情報処理方法を実 行するホスト機器の主要部の構成を示す機能ブロック図である。ここで、図 1では認 証処理が正常に終了し、ターゲット機器とホスト機器がともに正当な機器であることが 確認されているとする。図 1では、ホスト機器 1300にターゲット機器 1301が挿入され 、ホスト機器 1300に備わった鍵などの機密情報の暗号ィ匕ゃ復号ィ匕を行うための機 密情報処理部 1302により、ワーク用の領域であるワーク領域 1303に格納された暗 号ィ匕コンテンツ 1304を復号ィ匕してコンテンツ 1305を利用する場合を説明する。なお 、ここで機密情報処理部は、セキュリティを高めるために、ハードウェアとして半導体 集積回路に実装されている。
[0006] 図 1では、前述したようにターゲット機器 1301に対して認証が成功している場合を 説明するため、認証処理 1306から生成される鍵である認証鍵 KaO ( 1307)が生成さ れている。ここで認証鍵とは、認証が成功した場合にのみ機密情報処理部 1302に 生成される鍵であり、認証処理において、ホスト機器が所有する認証用の鍵である認 証用ホスト鍵と、ターゲット機器が有する認証用の鍵である認証用スレーブ鍵とに基 づいて算出される。
[0007] また、コンテンツ鍵はターゲット機器 1301に格納され、コンテンツの復号ィ匕が行わ れる際にターゲット機器 1301から入手される。なお、 Kcはその秘匿性確保のために 、認証鍵である KaOにより暗号ィ匕された形でターゲット機器 1301に保持される。した 力 Sつて、認証処理により KaOを生成したホスト機器のみが暗号ィ匕された Kcを復号可 能なことが分かる。なお、以下では Kcを KaOにより暗号化した暗号化鍵は Enc (Kc, KaO)と表記する(その他の暗号ィ匕鍵についても同様の表記を用いる)。また暗号ィ匕 されたコンテンツは、 Kcにより暗号ィ匕され、ターゲット機器 1301に格納される。その ため、 Kcを生成したホスト機器であれば、暗号ィ匕コンテンツをターゲット機器 1301か ら入手することにより復号ィ匕可能である。
[0008] 以下では、認証処理後にホスト機器 1300がターゲット機器に格納された Enc (Kc, KaO) 1308を入手し、ワーク領域 1303に格納した後の処理を説明する。また、暗号 化コンテンツ 1304も認証処理後にターゲット機器 1301から入手され、ワーク領域 13 03に格納済みとする。なお、 Enc (Kc, KaO)や暗号ィ匕コンテンツは、必ずしもー且
ワーク領域 1303に格納する必要はなぐ直接ターゲット機器 1301から機密情報処 理部 1302に入力することも可能である。
[0009] コンテンツの復号化においては、まずホスト機器 1300は Enc (Kc, KaO) 1308を 機密情報処理部 1302に入力し、認証処理 1306で生成した KaO (1307)により復号 化処理 1309を行う。これにより平文状態(暗号化されていない状態を称す)のコンテ ンッ鍵である Kc 1310が生成される。なお、生成された Kcl310は機密情報処理部 1 302に保持され、ホスト機器 1300はその値を知ることが出来ない。続いて、ホスト機 器 1300は暗号ィ匕コンテンッ 1304を入力し、機密情報処理部 1302〖こお 、て Kcによ る復号ィ匕処理 1311が行われる。これによりホスト機器 1300は復号ィ匕されたコンテン ッ 1305を得ることができ、コンテンツの復号ィ匕処理が終了となる。このように、コンテ ンッの復号化の際は、 Kcは暗号ィ匕された Enc (Kc, KaO)の形で機密情報処理部に 入力され、また暗号ィ匕されていない Kcは機密情報処理部に保持される。そのため、 ホスト機器では Kcの秘匿性を確保した形でコンテンツの復号ィ匕が行える。
特許文献 1 :特開 2000— 357126号公報
発明の開示
発明が解決しょうとする課題
[0010] 近年、ターゲット機器の利用用途が広まってきたことに伴い、複数の機密情報処理 方法が混在してターゲット機器に実装される場合が増えてきた。このような状況にお いては、コンテンツを暗号化するための鍵であるコンテンツ鍵 Kcは、異なる機密情報 処理方法の間で相互に利用できることが望ましい。ところが、コンテンツ鍵 Kcを相互 に利用する際において、 Kcはその秘匿性が確保されている必要がある。つまり暗号 化されていないコンテンツ鍵 Kcがユーザーなどの第三者に知られるのを防ぐ必要が ある。また、第三者によりコンテンツ鍵 Kcの不正な相互利用が行われるのを防ぐ必要 がある。ここで、不正な相互利用の例としては、あるコンテンツ鍵 Kcが同一ターゲット 機器内でのみ相互利用が許されている場合に、異なるターゲット機器間でそのコンテ ンッ鍵 Kcを相互利用可能とすることなどがある。
[0011] また、図 1に示した機密情報処理方法では認証鍵 KaOにより暗号ィ匕された Enc (Kc , KaO)をターゲット機器に格納している。この機密情報処理方法は、暗号化コンテン
ッを平文のコンテンツに復号化するまでに、 2段階の復号を必要とする。つまり、認証 鍵 KaOによる暗号化コンテンツ鍵 ENC (Kc, KaO)力もコンテンツ鍵 Kcへの復号、コ ンテンッ鍵 Kcによる暗号ィ匕コンテンッの復号の 2段階である。
[0012] これに対して、 2段階よりも多い段数の機密情報処理方法が考えられる。例えば、 3 段階の機密情報処理方法では、認証鍵 KaOにより鍵 Kalを暗号ィ匕した Enc (Kal, KaO)をターゲット機器に格納し、さらにこの Kalにより Kcを暗号化した Enc (Kc, Ka 1)をターゲット機器に格納することになる。これによつても、コンテンツの保護を行うこ とが可能である。この場合、ターゲット機器との間で認証処理を行うことによって機密 情報処理部に認証鍵 KaOを生成すれば、 Enc (Kal, KaO)が復号可能になり、さら に復号ィ匕された Kalにより Enc (Kc, Kal)を復号可能になる。
[0013] 同様に、多段階の機密情報処理方法を一般化すれば、 m個の暗号ィ匕鍵 [Enc (Ka 1, Ka2) , . . . , Enc (Ka (m— 1) , Kam) ]をターゲット機器に格納し、 Kamをコンテ ンッ鍵の暗号鍵として使用することになると考えられる。 2段階の機密情報処理方法 におけるコンテンツ鍵 Kcを、異なる機密情報処理方法の間で相互利用可能とするこ とが望まれるのと同様に、多段階の全部又は一部の鍵 Kai (iは l≤i≤mを満たす自 然数)が異なる機密情報処理方法との間で相互利用可能になることも望まれる。
[0014] したがって、本発明の目的は、 m個の暗号化鍵 [Enc (Kal, Ka2) , . . . , Enc (Ka
(m- 1) , Kam) ]がターゲット機器に格納される場合において、鍵 Kaiを異なる機密 情報処理方法との間で相互利用するための処理方法を提供することにある。
[0015] またその処理方法が、 Kaiの秘匿性が確保された状態で、また第三者による Kaiの 不正な相互利用を防いだ状態で実行可能とすることを目的とする。
課題を解決するための手段
[0016] 上記課題を解決するために、本発明の機密情報処理用ホスト機器は、暗号化コン テンッを含む暗号化された状態の機密情報を格納するターゲット機器から前記暗号 ィ匕コンテンツを読み出し、復号ィ匕して利用する機密情報処理用のホスト機器であって 、予め定められた複数のシーケンスのみに従って動作を行う機密情報処理部と、前 記機密情報処理部に対して、前記複数のシーケンスの起動を指示する CPUと、前 記機密情報処理部とターゲット機器との間で前記機密情報を含むデータの入出力を
行う第 1のインターフェース部と、前記機密情報処理部と前記 CPUとの間で前記機 密情報を含むデータの入出力を行う第 2のインターフェース部と、を備え、前記ター ゲット機器またはホスト機器は、 m個の鍵 {K1, . . . , Km}を暗号化された状態で前 記機密情報として格納し、前記鍵 Kmは、コンテンツを暗号化するコンテンツ鍵であり 、鍵 Ki (l≤i≤mを満たす自然数)は鍵 K(i—1)により暗号化され、前記複数のシー ケンスは、前記 m個の鍵のうち任意の鍵 Kiを暗号ィ匕する鍵を、 K(i— 1)力 別の鍵 に変換する鍵変換シーケンスを含み、前記第 1のインターフェース部と前記第 2のィ ンターフェース部は、前記鍵変換シーケンスが起動された場合に、暗号化された状 態の機密情報のみを前記機密情報処理部の外部に出力するように構成されている。
[0017] 上記構成をとることにより、 CPUが機密情報処理部を用いて自由に鍵変換を行うの ではなぐ CPUが機密情報処理部に予め定められた鍵変換シーケンスの起動を指 示することによって動作を行い、かつ鍵変換シーケンスの過程で生成される機密情 報が機密情報外部に出力されないため、セキュリティを保ったままコンテンツを異なる 機密情報処理方法の間で相互利用することが可能となる。
[0018] また、前記ホスト機器は前記ターゲット機器との間で第 1の認証処理を行 、、前記 鍵 K1を暗号ィ匕する前記鍵 KOは第 1の認証処理により生成される認証鍵 KaOであり 、前記ターゲット機器と同一または異なるターゲット機器は n個(nは自然数)の鍵 {Kb 1, . . . , Kbn}を格納し、鍵 Kbj (l≤j≤nを満たす自然数)は Kb (j— 1)により暗号 化され、前記ホスト機器は、さらに前記ターゲット機器と同一または異なるターゲット 機器の間で第 2の認証処理を行 ヽ、前記鍵 KbOは前記第 2の認証処理により生成さ れる認証鍵であり、前記別の鍵は前記鍵 {KbO, . . . , Kb (n— 1) }のうちの何れか の鍵であるようにしてもょ 、。
[0019] また、前記別の鍵は、 Kb (n—m+i)であってもよい。この構成によれば、認証鍵 K bOからの復号ィ匕の回数 (段数)が変わらずにコンテンツ鍵を復号ィ匕できるので、さら に好ましい。
[0020] また、前記ホスト機器は前記ターゲット機器との間で第 1の認証処理を行 、、前記 鍵 K 1を暗号化する前記鍵 KOが、前記第 1の認証処理により生成される認証鍵 KaO であり、前記別の鍵は、前記機密情報処理部に格納されたホスト鍵 Khであってもよ
い。
[0021] 上記構成は、ターゲット機器に格納された鍵情報のノックアップとして有用である。
ノ ックアップされた鍵情報はホスト鍵 Khで暗号ィ匕された状態で保存されるため、ホス ト鍵 Khを持ったホスト機器、すなわちノ ックアップを行ったホスト機器のみが復号可 能となる。
[0022] また、前記鍵 KOは、前記機密情報処理部に格納されたホスト鍵 Khであり、前記ホ スト機器は、さらに前記ターゲット機器と同一または異なるターゲット機器の間で第 2 の認証処理を行い、該ターゲット機器は n個(nは自然数)の鍵 {Kbl, . . . , Kbn}を 格納し、鍵 Kbj (1≤j≤nを満たす自然数)は鍵 Kb (j - 1)により暗号化され、前記鍵 KbOは、前記第 2の認証処理により生成された認証鍵であり、前記鍵変換シーケンス において、鍵 K1を暗号化する鍵を、前記ホスト鍵 Khから {KbO, . . . , Kb (n- l) } のうち何れかの鍵へと変換するようにしてもょ 、。
[0023] 上記構成は、ホスト機器にバックアップされた鍵情報をターゲット機器にリストアする 場合に有用である。ノ ックアップされた鍵情報はホスト鍵 Khで暗号ィ匕された状態で 保存されるため、ホスト鍵 Khを持ったホスト機器、すなわちバックアップを行ったホス ト機器のみが復号可能となる。
[0024] また、前記ホスト機器は前記ターゲット機器との間で第 1の認証処理を行 、、前記 K 1を暗号ィ匕する前記鍵 KOは、前記第 1の認証処理により生成される認証鍵 KaOであ り、前記ターゲット機器は、(m— s)個の鍵 {Kel, . . . Ke (m— s) }を格納し、鍵 Kej (l≤j≤m— sを満たす自然数)は鍵 Ke (j— 1)により暗号ィ匕され、鍵 KeOは、前記 m 個の鍵 {K1, . . . , Km}のうちの何れかの鍵 Ks (l≤s<mを満たす自然数)であり、 前記別の鍵は、 {Kel, . . . , Ke (m— s— l) }のうち何れかの鍵であってもよい。
[0025] 上記構成によると、ターゲット機器に格納されるべき暗号化された鍵情報の数を減 らすことが可能となる。
[0026] また、前記機密情報処理部は、さらに、前記第 1の認証処理が適正に終了している か否かを示す認証フラグを保持するフラグ保持部を有し、前記認証フラグが前記第 1 の認証処理が適正に終了して 、ることを示さな 、場合に、前記ホスト CPUからの鍵 変換シーケンスの起動を禁止するようにしてもょ 、。
[0027] 上記構成により、適正に第 1の認証処理を終了した場合にしカゝ鍵変換シーケンスが 起動されな 、ので、不正な認証処理によって鍵変換シーケンスを起動することを防 止できる。
[0028] また、前記機密情報処理部は、さらに、前記第 2の認証処理が適正に終了している か否かを示す認証フラグを保持するフラグ保持部を有し、前記認証フラグが前記第 2 の認証処理が適正に終了して 、ることを示さな 、場合に、前記ホスト CPUからの鍵 変換シーケンスの起動を禁止するようにしてもょ 、。
[0029] 上記構成により、適正に第 2の認証処理を終了した場合にしカゝ鍵変換シーケンスが 起動されな 、ので、不正な認証処理によって鍵変換シーケンスを起動することを防 止できる。
[0030] また、前記機密情報処理部は、さらに、前記鍵 K(i—1)が内部に生成されているか 否かを示す鍵生成フラグを保持するフラグ保持部を有し、前記鍵生成フラグが、鍵 K (i— 1)が内部に生成されていることを示さない場合に、前記ホスト CPU力もの鍵変 換シーケンスの起動を禁止するようにしてもょ 、。
[0031] 上記構成により、鍵 Kiを暗号ィ匕していた鍵 K(i—1)が生成されている場合にしか鍵 変換シーケンスが起動されな 、ので、不正な鍵を用いて鍵変換シーケンスが起動さ れることを防止することができる。
[0032] また、前記機密情報処理部は、さらに、前記別の鍵が内部に生成されているか否か を示す鍵生成フラグを保持するフラグ保持部を有し、前記鍵生成フラグが前記別の 鍵が内部に生成されていることを示さない場合に、前記ホスト CPU力もの鍵変換シ 一ケンスの起動を禁止するようにしてもょ 、。
[0033] 上記構成により、変換するための鍵が生成されている場合にしカゝ鍵変換シーケンス が起動されないので、不正な鍵を用いて鍵変換シーケンスが起動されることを防止 することができる。
[0034] また、前記機密情報処理部は、さらに、前記第 1の認証処理と前記第 2の認証処理 とが同一のターゲット機器に対して行われたか否かを示すターゲットフラグを保持す るフラグ保持部を有し、前記ターゲットフラグが前記第 1の認証処理と前記第 2の認証 処理とが同一のターゲット機器に対して行われたことを示さない場合に、前記ホスト C
PUからの鍵変換シーケンスの起動を禁止するようにしてもよ!、。
[0035] 上記構成により、同一のターゲット機器に対してし力鍵変換を受け付けないといつ た制約がある場合に、その制約を確実に守ることができる。また、ターゲット機器を接 続するスロットが 2つある場合に、各々のスロットに異なるターゲット機器を接続して不 正に鍵変換シーケンスを起動することを防止できる。
発明の効果
[0036] 本発明の処理方法を用いた場合、異なる認証鍵を持つ機密情報処理方法の間な どにおいて鍵変換処理を実行することができる。これにより、 Kcなどを異なる機密情 報処理の間で相互に利用可能となる。また、機密情報処理部においては、鍵変換処 理の実行にあたりユーザーによる不正な処理が行われていないこと確認することから 、ユーザーによる不正な鍵変換処理が実行されるのを防ぐことができる。さらに暗号 ィ匕されていない鍵を機密情報処理部内で保持することにより、鍵情報の秘匿性が確 保される。
[0037] またターゲット機器以外の機器との間で、鍵の相互利用やバックアップ力 ユーザ 一による不正な処理を防 、だ形で、かつ鍵情報が秘匿ィヒされた形で実現される。
[0038] さらに、不要となった鍵の消去などによる鍵の整理が、ユーザーによる不正な処理 を防 、だ形で、かつ鍵情報が秘匿化された形で可能となる。
図面の簡単な説明
[0039] [図 1]図 1は、従来技術におけるコンテンツの復号ィ匕方法を示す図である。
[図 2]図 2は、本発明における機密情報処理システムの全体を示す図である。
[図 3]図 3は、本発明における入力 Enc (Kc,Ka2)から出力 Enc (Kc,Kbl)を得る鍵 変換処理を行うための構成を示す図である。
[図 4]図 4は、本発明における鍵変換制御部および鍵変換制御フラグの構成を示す 図である。
[図 5]図 5は、本発明における入力 Enc (Kc,Ka2)から出力 Enc (Kc,Kbl)を得る鍵 変換処理を行うためのフローチャートである。
[図 6]図 6は、本発明における認証の消去でのターゲット機器交換前の構成を示す図 である。
[図 7]図 7は、本発明における認証の消去でのターゲット機器交換後の構成を示す図 である。
[図 8]図 8は、本発明における入力 Enc (Kc,Ka2)から出力 Enc (Kc,Kh)を得る鍵変 換処理を行うための構成を示す図である。
[図 9]図 9は、本発明における入力 Enc (Kc,Ka2)から出力 Enc (Kc,Kh)を得る鍵変 換処理を行うためのフローチャートである。
[図 10]図 10は、本発明における入力 Enc (Kc,Kh)から出力 Enc (Kc,Kbl)を得る 鍵変換処理を行うための構成を示す図である。
[図 11]図 11は、本発明における入力 Enc (Kc,Kh)から出力 Enc (Kc,Kbl)を得る 鍵変換処理を行うためのフローチャートである。
[図 12]図 12は、本発明における入力 Enc (Kc,Ka2)から出力 Enc (Kc,Kd2)を得る 鍵変換処理を行うための構成を示す図である。
[図 13]図 13は、本発明〖こおける入力 Enc (Kc,Kd2)から出力 Enc (Kc,Ke2)を得る 鍵変換処理を行うためのフローチャートである。
符号の説明
100 ホスト機器
101 ターゲット機器
102 機密情報処理部
103 ホスト CPU
104 ホスト IZF
105 ターゲット IZF
106 ワーク領域
107 内部バス
108 半導体集積回路
216 鍵変換制御部
217 鍵変換制御フラグ
300 鍵変換処理設定デコード回路
301 セレクタ
302 ANDゲート
303 認証フラグ (KaO)
304 認証フラグ (KbO)
305 同一ターゲットフラグ
306 鍵生成フラグ (Ka2)
307 鍵生成フラグ (Kbl)
500 ターゲット機器 1
600 ターゲット機器 2
1300 ホス卜機器
1301 ターゲット機器
1302 機密情報処理部
1303 ワーク領域
発明を実施するための最良の形態
[0041] 以下、本発明を実施するための最良の形態について、図面を参照しながら説明す る。
[0042] (実施の形態 1)
実施の形態 1では、本発明における鍵変換処理方法について説明する。図 2はホ スト機器 100とターゲット機器 101から構成される機密情報処理システムの全体構成 を示したものである。
[0043] ホスト機器 100は、所定の制御シーケンスに従って機密情報(以下では、鍵などの 平文状態での不正利用が許されな!/、情報を示す)の暗号化や復号化を行う機密情 報処理部 102と、機密情報処理部 102に対して所定の制御シーケンスを起動するホ スト CPU103と、ホスト CPU103とターゲット機器 101、および機密情報処理部 102 との間でデータの入出力を行うホスト IZF部 104と、ターゲット機器 101との間でデー タの入出力を行うターゲット I/F部 105と、ホスト CPU103や機密情報処理部 102が その動作のためにデータを一時格納しておくためのワーク用の領域であるワーク領 域 106、および内部バス 107とから構成される。また、機密情報処理部 102は、ホスト IZF部 104およびターゲット IZF部 105とともに秘匿ィ匕されたハードウェアである半
導体集積回路 108として構成される。なお、上記の構成要素に加えホスト CPU103 も併せて秘匿化された半導体集積回路として構成してもよい。
[0044] また、ホスト機器 100とターゲット機器 101との間で鍵などの機密情報の読み出しお よび書き出しが行われる場合には、ホスト機器 100とターゲット機器 101との間で認 証処理を行う必要がある。なお、ここで行う認証処理は、秘密鍵方式または公開鍵方 式のいずれの暗号方式を利用して行ってもよい。認証が成功すると、ホスト機器 100 はターゲット機器 101からターゲット I/F部 105を介して機密情報を読み出し、機密 情報処理部 102を用いて復号ィ匕して利用する。また、機密情報処理部 102の動作の 起動はホスト CPU103から行われ、起動された場合、セキュリティの確保された、ある いはセキュリティの必要の少な!/、所定のシーケンスのみを行う。
[0045] ここで、ホスト IZF部 104とターゲット IZF部 105とは、機密情報処理部 102が行う シーケンスの途中で生成される中間情報のうち機密性の高いもの(平文状態の機密 情報等)を、秘匿化された半導体集積回路 108外部には出力しないように構成され ている。
[0046] また、機密情報処理部 102とホスト CPU103は同一の半導体チップで構成しても 別チップで構成してもどちらでも構わな 、。
[0047] 図 3は本発明における、鍵変換処理の実施の形態の一つを示したものである。図 2 と同一の要素については、同一の符号を用いている。図 3では本発明の実施の形態 の一つとして、ターゲット機器 101に三つの暗号化鍵 {Enc (Kal, KaO) , Enc (Ka2 , Kal) , Enc (Kc, Ka2) }が格納され、さらに同一のターゲット機器 101に二つの喑 号化鍵 {Enc (Kbl, KbO) , Enc (Kb2, Kbl) }が格納された状態で、 Enc (Kc, Ka 2)に対して鍵変換処理を行うことにより Enc (Kc, Kbl)を得る場合を説明する。なお 、この図では説明の簡略化のために、図 2におけるホスト IZF部 104、ターゲット IZF 咅 105、および内咅ノ ス 107は省略した。なお、図 3において、復号ィ匕 202、 205、 2 09、 213は別個の復号ィ匕回路があるかのように描かれている力 これは説明をシー ケンスに沿って簡略ィ匕するためであり、実際には同一の復号ィ匕回路をシーケンスに 沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復号化 の結果生成される各鍵は外部力 アクセスできない領域に格納しておく必要がある。
また、暗号化と復号ィ匕のアルゴリズムに関連性がある場合は、復号化と暗号化の回 路の一部、あるいは全部を共用することも可能である。
[0048] また、ここでは鍵変換処理を行うにあたり、ターゲット機器に対する認証処理が終了 し機密情報処理部 102に認証鍵 KaO (200)が生成されているものとする。またター ゲット機器 101に格納された Enc (Kal, KaO) 201がワーク領域 106にー且格納さ れた後に、機密情報処理部 102に IN1として入力され認証鍵 KaO (200)により復号 ィ匕 202することにより Kal (203)が生成され、さらにターゲット機器 101に格納された Enc (Ka2, Kal) 204がワーク領域 106にー且格納された後に、機密情報処理部 1 02に IN2として人力され Kal (203)により復号ィ匕 205することにより Ka2 (206)力 S生 成されているものとする。また同様に、ターゲット機器に対して別の認証処理を行うこ とにより認証鍵 KbO (207)が機密情報処理部 102に生成されているものとする。ター ゲット機器 101に格納された Enc (Kbl, KbO) 208がワーク領域 106にー且格納さ れた後に、機密情報処理部 102に IN3として入力され認証鍵 KbO (207)により復号 ィ匕 209することにより Kbl (210)が生成されているものとする。なお、これら Enc (Kal , KaO) 201、 Enc (Ka2, Kal) 204および Enc (Kbl, KbO) 208は、必ずしもー且 ワーク領域 106に格納する必要はなぐ直接ターゲット機器 101から機密情報処理部 102に入力することも可能である。
[0049] また、鍵変換処理の入力となる Enc (Kc, Ka2) 211は、認証処理後にターゲット機 器 101からホスト機器 100のワーク領域 106に格納済みであり、出力である Enc (Kc , Kbl) 212はワーク領域 106に格納されるものとする。そしてワーク領域格納後に、 改めてターゲット機器に格納されるものとする。なお、これら Enc (Kc, Ka2) 211や E nc (Kc, Kbl) 212は、必ずしもー且ワーク領域 106に格納する必要はなぐ直接タ 一ゲット機器 101から機密情報処理部 102に入力する、もしくは直接機密情報処理 部 102からターゲット機器 101に出力することも可能である。
[0050] 以下、鍵変換処理が行われる際の機密情報処理部 102の動作を説明する。図 3で は、機密情報処理部 102に Enc (Kc, Ka2)から Enc (Kc, Kbl)への鍵変換処理を 行うための制御シーケンスが定義されており、この制御シーケンスがホスト CPU103 カゝら起動されたとする。これにより、鍵変換処理が開始される。
[0051] 鍵変換処理では、まず Kcに対する暗号ィ匕および復号ィ匕を行うための鍵 (機密情報 処理部 102に生成された Ka2 (206)および Kbl (210) )が復号ィ匕を行うための回路 および暗号ィ匕を行うための回路に設定される。そして次に Enc (Kc, Ka2) 211が機 密情報処理部 102に入力され、この入力された鍵に対して Ka2 (206)を用いて復号 化処理 213を行う。このように Ka2 (206)で復号ィ匕を行うことにより、暗号ィ匕されてい ない Kc214が機密情報処理部 102に生成される。この際、機密情報処理部 102で はこの鍵をホスト CPU103からアクセスされな!/、形で保持する。この実装の例として は、ホスト CPU103からアクセス不可能なレジスタに Kc214を格納する方法がある。 なお、 Kc214は鍵変換処理終了後に機密情報処理部 102により消去しても構わな い。そして、 Kc214に対して Kbl (210)を用いて暗号化処理 215を行う。この暗号 化処理 215により Enc (Kc, Kbl) 212が機密情報処理部 102から出力される。以上 の処理により鍵変換処理が終了する。
[0052] また、鍵変換処理における暗号化処理 215や復号化処理 213は、図 3に示す鍵変 換制御部 216や、鍵変換制御フラグ 217により制御される。ここで、鍵変換制御部 21 6は暗号化処理 215や復号化処理 213を行う回路に対して、それぞれの回路で使用 される鍵を設定するための信号、およびそれぞれの回路に対するィネーブル信号を 生成するための回路である。なお、ここでのィネーブル信号とは、この信号が入力さ れている間はそれぞれの回路において暗号ィ匕ゃ復号ィ匕が実行可能とするための信 号である。また、鍵変換制御フラグ 217は、ホスト CPU103から鍵変換処理の制御シ 一ケンスが起動された際に鍵変換制御部 216に読み出され、ィネーブル信号生成の 条件として使用される。
[0053] ここで本発明における鍵変換制御フラグ 217は三種類のフラグ力も成り、一つ目は 鍵変換処理の入力となる暗号ィ匕鍵を格納するターゲット機器、および鍵変換処理の 出力となる暗号ィ匕鍵を格納するターゲット機器に対してそれぞれ認証処理が行われ たどうかを示すためのフラグ (以下、「認証フラグ」という。)で、それぞれのターゲット 機器が不正な機器でないことを確認するために使用される。図 3の例では、それぞれ の認証が行われた場合に 1になるものとする。
[0054] 二つ目は前記の二つの認証処理が同一のターゲット機器に対して行われたかを示
すためのフラグ (以下、「同一ターゲットフラグ」という。)で、鍵変換処理の入力となる 暗号ィ匕鍵および出力となる暗号ィ匕鍵が同一のターゲット機器に格納される必要があ る場合に、同一ターゲット機器に対して認証処理が行われた力どうかを確認するため に使用される。図 3の例では、同一のターゲット機器に対して認証が行われた場合に 1になるものとする。なお、同一ターゲット機器であることを確認するための方法の一 例には、それぞれの認証処理の際に、ターゲット機器に固有な識別番号を機密情報 処理部 102に保持し、それら保持された識別番号が同一かどうかを確認することによ り、同一ターゲット機器力どうかを判定する方法がある。
[0055] 三つ目は鍵変換処理において復号ィ匕および暗号ィ匕を行うための鍵(図 3では Ka2
(206)および Kbl (210) )が機密情報処理部にそれぞれ生成されたかどうかを示す ためのフラグ(以下、「鍵生成フラグ」という。)で、図 3の例では Ka2 (206)または Kb 1 (210)が生成されていない状態、すなわち Ka2 = 0または Kbl =0などの状態で復 号ィ匕または暗号ィ匕が行われないことを確認するために使用される。図 3の例では、鍵 の生成が行われた場合に 1になるものとする。なお、鍵が生成されたことを確認する 方法としては、図 3の Ka2 (206)を例とした場合、 Ka2を生成するために必要な復号 化処理(図 3では、復号化処理 202および復号化処理 205)がそれぞれ行われたこと を機密情報処理部 102で保持し、それらの結果カゝら必要な復号ィ匕処理がすべて行 われた力どうかを確認する方法などがある。
[0056] 図 4は、図 3の鍵変換処理で使用される鍵変換制御部 216と鍵変換制御フラグ 217 の構成例を示したものである。鍵変換制御部 216は、機密情報処理部 102に対して どの鍵変換処理を起動するかを設定するための鍵変換処理設定をホスト CPU103 力ゝらの入力として持ち、暗号回路に対する鍵選択信号およびィネーブル信号を出力 として持つ。また、鍵変換処理設定をデコードするための鍵変換設定デコード回路 3 00と、デコード回路から出力される信号を選択信号とするセレクタ 301、およびセレク タ 301への入力として使用するための ANDゲート 302から構成される。ここで、鍵変 換設定デコード回路 300は例えば、ホスト CPU103からの鍵変換処理設定を保持す るためのレジスタと、それらレジスタの値を機密情報処理部 102で使用される内部制 御信号に変換するための回路力も構成される。また、 ANDゲート 302の入力には、
ホスト CPU103から起動された鍵変換処理が不正なく行われるために必要となるフラ グが入力される。
[0057] ここで、図 3の場合に必要となるフラグを説明する。図 3の処理では認証鍵 KaO (20 0)および認証鍵 KbO (207)力も生成される Ka2 (206)および Kbl (210)が使用さ れる。そのため、認証鍵 KaO (200)を生成する認証処理および認証鍵 KbO (207)を 生成する認証処理がともに終了している必要がある。そのため、認証フラグ (KaO) 30 3および認証フラグ (KbO) 304が使用され、それらがともに 1となる必要がある。また、 図 3の場合は鍵変換処理の入力である Enc (Kc, Ka2) 211と、出力である Enc (Kc , Kbl) 212がともに同一のターゲット機器に格納されているものとする。そのため、 同一ターゲットフラグ 305が使用され、その値が 1となる必要がある。なお、同一ター ゲット機器内での鍵変換処理ではな ヽ場合は、同一ターゲットフラグ 305はイネーブ ル信号生成の条件として使用されない。また、鍵変換処理においては Ka2 (206)お よび Kbl (210)がともに機密情報処理部 102に生成される必要があるので、鍵生成 フラグ (Ka2) 306および鍵生成フラグ (Kb 1) 307が使用され、それらがともに 1となる 必要がある。したがって、図 3に示す鍵変換処理を行う鍵変換処理設定がホスト CPU 103から行われた場合は、これら五つのフラグを入力に持つ ANDゲート 302の出力 力 セレクタ 301の出力として選択される。そのため、これら五つのフラグがすべて 1と なっている場合のみ、暗号回路が使用可能となる。なお、上記の五つのフラグを全て 備える必要は必ずしもない。例えば、認証フラグと鍵生成フラグは何れか一方しかな くともシステムによっては一定のセキュリティレベルを達成することができ得る。また、 同一ターゲットフラグ 305は、同一ターゲットでの鍵変換しか許容しないようなモード が存在する場合は必要である力 そういったモードが存在しない場合には必ずしも必 要ない。し力し、ここでスロットが二つ存在する場合には、同一ターゲットフラグ 305を 備えることが好ましぐその理由については実施の形態 2において後述する。
[0058] なお、これらのフラグは CPUが直接に書き換えを行うことはできず、各処理の結果 を受けて機密情報処理部内でノ、一ドウエア的に書き換えられるものである。
[0059] 次に、図 5のフローチャートを用いることにより図 3に示した鍵変換処理の流れを説 明する。本発明の鍵変換処理では、図 3に対する説明でも示したように、まずホスト C
PU103により鍵変換処理設定 400が行われる。これにより、機密情報処理部 102で 実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し 401が鍵変 換制御部 216に対して行われる。読み出し後に、機密情報処理部 102に対して Enc (Kc, Ka2)入力 402を行う。そして、読み出されたフラグを基に、機密情報処理部 1 02で不正な処理が行われな 、ための条件が満たされて 、るかどうかが確認される。 これらの確認の処理は、図 5では条件分岐 403から条件分岐 407に相当する。なお 、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図 5に示 すとおりでなくても構わない。
[0060] 図 5では、図 3の鍵変換制御フラグの説明でも示したように、五つの確認が行われる 。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力である Enc (K c, Ka2) 211を格納するターゲット機器に対して認証鍵 KaO (200)を生成する認証 処理が行われているかを条件分岐 403で確認する。これにより、認証鍵 KaO (200) を生成する認証処理が行われていること、および Enc (Kc, Ka2) 211を格納するタ 一ゲット機器が不正な機器でないことを確認する。次に、鍵変換処理の出力である E nc (Kc, Kbl) 212を格納するターゲット機器に対して認証鍵 KbO (207)を生成する 認証処理が行われているかを条件分岐 404で確認する。これにより、認証鍵 Kb0 (2 07)を生成する認証処理が行われていること、および Enc (Kc, Kbl) 212を格納す るターゲット機器が不正な機器でな 、ことを確認する。
[0061] 次に、同一ターゲットフラグの説明で示したように、図 3の例では鍵変換処理は同一 のターゲット機器内で行われる場合を前提として 、るため、実行した二つの認証処理 が同一のターゲット機器に対して行われたかを条件分岐 405で確認する。これにより 、同一ターゲット機器内での鍵変換処理が行われて ヽるかを確認する。
[0062] また、鍵生成フラグの説明で示したように、 Ka2 (206)および Kbl (210)が機密情 報処理部 102に生成されていることを、条件分岐 406および条件分岐 407で確認す る。これにより、 Ka2 (206)および Kbl (210)が生成されていない状態、すなわち Ka 2 = 0および Kbl =0などの状態で復号ィ匕および暗号ィ匕が行われな 、ことを確認する
[0063] 以上の確認が行われた場合、ホスト CPU103が設定した鍵変換処理が不正なく実
行されることが確認される。そのため、確認後に入力である Enc (Kc, Ka2)に対する 変換処理 408 (図 3では、 Ka2 (206)で復号化して、 Kbl (210)で暗号化する処理) が行われる。この間、鍵変換制御部 216から暗号化処理 215や復号化処理 213を行 う回路に対してィネーブル信号が出力されている。そして変換処理が行われたことに より、 Enc (Kc, Kbl)出力 409が行われる。出力後、鍵変換処理が終了となる。
[0064] 以上のように、図 3および図 5の処理を用いることにより鍵変換処理が実行される。
なお、図 3の例ではターゲット機器に {Enc (Kal, KaO) , Enc (Ka2, Kal) , Enc (K c, Ka2) }が格納され、また同一ターゲット機器に {Enc (Kbl, KbO) , Enc (Kb2, K bl) }が格納された状態で、 Enc (Kc, Ka2) 211に対して鍵変換処理を行って Enc ( Kc, Kbl) 212を得る場合を説明した。しカゝしながら、本発明はこの場合に限られるも のではない。例えば、 Ka2で暗号化されたコンテンツ鍵が複数あり、これらの全てに っ 、て別の認証処理で得られた KbOを認証鍵とする機密情報処理方法で利用した い場合でもよい。この場合、各々のコンテンツ鍵を暗号化する鍵を Kblに変換すると 、コンテンツ鍵の個数と同じ回数の鍵変換処理を行う必要がある。そこで、 Enc (Ka2 , Kal)を Enc (Ka2, KbO)へと変換するような鍵変換処理を行う。すると、 Ka2を暗 号化のための鍵とする全てのコンテンツ鍵力 一度の鍵変換処理を行うのみで、 KbO を認証鍵とする機密情報処理方法で利用可能となる。なお、ここで Enc (Kal, KaO) を Enc (Kal, KbO)へと変換することも可能ではある。しかしながら、この場合は認証 鍵 KbOから Kcを復号ィ匕するまでの回数が Kblを用いる場合と比べて増えてしまう。 したがって、機密情報処理部が、認証鍵に応じてその復号ィ匕の回数を管理し、管理 して 、る回数以外の回数の復号ィ匕で得られた結果を出力しな 、ように構成されて 、 る場合などは Enc (Ka2, Kal)を Enc (Ka2, KbO)へと変換したほうが好ましい。
[0065] そこで、これを一般ィ匕して、ターゲット機器に m個(mは自然数)の鍵 {Enc (Kal, K aO) , . . . , Enc (Kam, Ka (m— 1) ) }が格納され、さらに n個(nは自然数)の鍵 {En c (Kbl, KbO) , . . . , Enc (Kbn, Kb (n— 1) ) }が格納された状態で、 Kamおよび Kbnをコンテンツの暗号化および復号化に使用し、 iおよび jをそれぞれ l≤i≤m、 1 ≤j≤nを満たす自然数として、 Enc (Kai, Ka (i— 1) )に対して鍵変換処理を行って Enc (Kai, Kb (j— 1) )を得る構成としても良い。この場合、鍵変換処理を行うために
は、機密情報処理部の復号ィ匕を行う回路に Ka (i—1)を使用し、暗号化を行う回路 に Kb (j 1)を使用して、また鍵変換処理フラグとして Ka (i- 1)が生成されたことを 示すフラグ、および Kb (j 1)が生成されたことを示すフラグを代わりに使用すれば、 図 3と同様の鍵変換処理が実行可能である。したがって、機密情報処理部に Ka (i— 1)および Kb (j - 1)に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを 選択するための回路を追加すればよい。また、 m— i=n— jを満たすと、認証鍵 KbO 力もの復号ィ匕の回数が変わらずにコンテンツ鍵を復号ィ匕できるので、さらに好ましい
[0066] (実施の形態 2)
次に実施の形態 2について説明する。基本的な全体構成は図 2と同様なので説明 を省略する。
[0067] 実施の形態 2では、本発明における認証のフラグの消去、および認証鍵の消去に ついて説明する。図 6および図 7は、認証鍵 KaOを生成する認証のフラグの消去およ び認証鍵 KaOの消去を行うことにより、不正なターゲット機器の挿抜による不正な処 理を防ぐことができることを示したものである。なお、図 2と同一の要素については、同 一の符号を用いている。なお、図 6、図 7において、復号ィ匕 503、 506、 604, 606は 別個の復号ィ匕回路があるかのように描かれている力 これは説明をシーケンスに沿つ て簡略ィ匕するためであり、実際には同一の復号ィ匕回路をシーケンスに沿って複数回 利用することが多い。この場合、復号化に用いられる、あるいは復号ィ匕の結果生成さ れる各鍵は外部力もアクセスできない領域に格納しておく必要がある。また、暗号ィ匕 と復号ィ匕のアルゴリズムに関連性がある場合は、復号化と暗号化の回路の一部、ある いは全部を共用することも可能である。
[0068] 図 6ではターゲット機器 1 (500)がホスト機器 100に挿入され、ターゲット機器に三 つの暗号化鍵 {Enc (Kal, KaO) , Enc (Ka2, Kal) , Enc (Kc, Ka2) }が格納され た状態であるものとする。また図 7ではターゲット機器 1 (500)がホスト機器 100から 抜かれ、代わりにターゲット機器 2 (600)がホスト機器 100に挿入され、ターゲット機 器に一つの暗号ィ匕鍵 Enc (Kbl, KbO)が格納された状態であるものとする。ここで本 実施の形態では、ホスト CPU103が不正な処理を行おうとした場合でもセキュリティ
を保てる仕組みを提供することを目的とする。したがって、ホスト CPU103のワーク領 域 106に格納された三つの暗号化鍵 {Enc (Kal, KaO) , Enc (Ka2, Kal) , Enc ( Kc, Ka2) }はワーク領域 106から消去されないものと仮定する。そして図 6および図 7を用いて、 Kcに対して、 KaOから生成される Ka2と、認証鍵 KbOから生成される Kb 1により鍵変換処理が行われるものとする。このように、図 6および図 7では、鍵変換処 理を行うにあたりターゲット機器を交換した場合に、機密情報処理部 102がどのような 動作をするかを説明する。なお、ここでは鍵変換処理が同一ターゲット機器に対して 行われる必要があるものとする。そのため、ターゲット機器の挿抜が行われた場合は その挿抜は不正な処理となる。
[0069] まず、図 6のようにターゲット機器 1 (500)が挿入された状態で認証を行!ヽ、ターゲ ット機器 1 (500)が正当な機器であれば、機密情報処理部に認証鍵 KaO (501)が生 成され、また認証鍵 KaO (501)を生成する認証処理が行われたことが、認証フラグ( KaO) 508により保持される。その後、ターゲット機器 1に格納されていた Enc (Kal, KaO) 502がワーク領域 106にー且格納された後に、機密情報処理部 102に IN1と して入力され認証鍵 KaO (501)により復号化 503することにより Kal (504)を生成し 、またターゲット機器 1に格納されていた Enc (Ka2, Kal) 505がワーク領域 106に ー且格納された後に、機密情報処理部 102に IN2として入力され Kal (504)により 復号化 506することにより Ka2 (507)を生成したとする。なお、これら Enc (Kal, Ka 0) 502および Enc (Ka2, Kal) 505は、必ずしもー且ワーク領域 106に格納する必 要はなぐ直接ターゲット機器 500から機密情報処理部 102に入力することも可能で ある。
[0070] さらにターゲット機器 1 (500)に格納された Enc (Kc, Ka2) 509をホスト機器 100の ワーク領域 106に格納済みとする。なお、この Enc (Kc, Ka2)は、必ずしも一且ヮー ク領域 106に格納する必要はなぐ直接ターゲット機器 500から機密情報処理部 10 2に入力することも可能である。
[0071] ここで、図 7に示すように、ターゲット機器 1 (500)をホスト機器 100から抜き、ターゲ ット機器 2 (600)が代わりに挿入されたとする。なお、ここでは鍵変換処理が同一ター ゲット機器に対して行われることを前提としている。そのため、この挿抜は不正な挿抜
となる。このような場合、本発明の鍵変換処理においては、ターゲット機器が抜かれた ことによりそのターゲット機器に対する認証、および認証処理の際に機密情報処理部
102に生成した認証鍵を消去する。また、機密情報処理部 102に認証鍵から生成さ れた鍵 (Kal (504)や Ka2 (507) )が生成されて ヽる場合は、それらを消去してもよ い。
[0072] ここで認証の消去とは、認証フラグの消去であり、図 7の例では認証フラグ (KaO) 5 08を 0とする処理である。また認証鍵の消去とは、図 7の例ではターゲット機器 1 (50 0)の認証鍵 KaO (501)に対し KaO = 0と設定することなどを指す。なお、これらの情 報の消去には、機密情報処理部 102によりターゲット機器が抜かれたことを検知し、 機密情報処理部 102が消去を行う方法や、ホスト CPU103によりターゲット機器が抜 かれたことを検知し、ホスト CPU103が機密情報処理部 102に消去を行う制御シー ケンスを起動する方法などがある。
[0073] 次に、図 7の例では、ターゲット機器 2 (600)に対して認証鍵 KbO (601)を生成す る認証処理を行ったものとする。もしターゲット機器 2 (600)が正当な機器であれば、 認証鍵 KbO (601)が生成され、また認証鍵 KbOを生成する認証が成立したことが、 認証フラグ (KbO) 602により保持される。さらに、ここではターゲット機器 2 (600)に格 納されていた Enc (Kbl, KbO) 603がワーク領域 106にー且格納された後に、機密 情報処理部 102に IN3として入力され認証鍵 KbO (601)により復号化 604すること により Kbl (605)が生成されているとする。なお、この Enc (Kbl, KbO) 603は、必 ずしもー且ワーク領域 106に格納する必要はなぐ直接ターゲット機器 600から機密 情報処理部 102に入力することも可能である。
[0074] この状態で、ホスト CPU103により Enc (Kc, Ka2)力 Enc (Kc, Kbl)への鍵変 換処理が起動され、ワーク領域 106に格納されてあつた Enc (Kc, Ka2) 509力入力 されたとする。このような処理を行った場合は、認証フラグ (KaO) 508が 0である、す なわち認証鍵 KaOを生成する認証処理が行われて 、な 、ことが機密情報処理部で 保持されている。そのため、 Ka2 (507)を用いて復号ィ匕を行う暗号回路に対してイネ 一ブル信号が生成されていないため、復号ィ匕処理 606が行われずに Kcを得ることが できない。また Kcに対する暗号ィ匕処理 607を行う暗号回路に対しても、ィネーブル
信号が生成されていない。
[0075] ところが、ここでターゲット機器 1 (500)に対する認証が行われたことが消去されて いなければ、ターゲット機器 1 (500)が抜かれた後も機密情報処理部 102の認証フラ グ (KaO) 508が 1のままとなる。すると、次に挿入されたターゲット機器 2 (600)の認 証によって、認証フラグ (KbO) 602が 1となる。ここで、図 4を参照すると、鍵自体は認 証によって適正に存在し得るため、鍵生成フラグ (Ka2) 306と鍵生成フラグ (Kb 1) 3 07も 1となり得る。したがって、不正に鍵変換処理が起動される可能性が残る。
[0076] またここで、同一ターゲットフラグ 305の有用性について、スロットが二つ存在する 場合を例にとって説明する。この場合、第 1のスロットに対して、ターゲット機器 1の認 証を成功させ、第 2のスロットに対してターゲット機器 2の認証を成功させると、認証フ ラグ (KaO) 508と認証フラグ (KbO) 602が 1となり、鍵自体も正当に生成され得る。し たがって、 CPUが不正に処理を起動することで不正な鍵変換が行われる可能性があ る。しかし同一ターゲットフラグを設け、同一ターゲット機器への鍵変換のみを許容す ることで、そのような不正を行うことができなくなる。なお、同一ターゲットフラグを更新 する方法であるが、実施の形態 1で説明した固有な識別番号を用いる実装方法以外 に、それぞれの認証処理がどのスロットに対して行われたかを保持する実装方法でも よい。このような実装方法では、ホスト機器に二つのスロットが存在し、それぞれに異 なるターゲット機器が挿入された場合、スロットが異なることからそれぞれが異なるタ 一ゲット機器と判定することができ、上述したような状況でも不正な処理の起動を防ぐ ことが可能である。当然、一度ターゲット機器を抜いて力も再度挿入した場合は、認 証フラグが消去されるので不正な処理は行われない。
[0077] したがって、図 6および図 7に示すように、ターゲット機器がホスト機器 100から抜か れた場合は、そのターゲット機器に対する認証が成功したことや認証鍵を消去するこ とにより、不正な鍵変換処理が防ぐことができる。
[0078] (実施の形態 3)
次に実施の形態 3について説明する。基本的な全体構成は図 2と同様なので説明 を省略する。
[0079] 実施の形態 3では、本発明における鍵変換処理方法にっ 、て説明する。図 8は本
発明における、鍵変換処理の実施の形態の一つを示したものである。図 2および図 3 と同一の要素については、同一の符号を用いている。図 8では本発明の実施の形態 の一つとして、ターゲット機器 101に三つの暗号化鍵 {Enc (Kal, KaO) , Enc (Ka2 , Kal) , Enc (Kc, Ka2) }が格納された状態で、 Enc (Kc, Ka2)に対して、機密情 報処理部に外部力 読み出されないようにして格納されたホスト鍵 Khにより鍵変換 処理を行って Enc (Kc, Kh)を得る場合を説明する。ここで、ホスト鍵 Khを機密情報 処理部に格納する方法としては半導体集積回路の製造時に機密情報処理部内に実 装する方法、あるいは半導体集積回路外部カゝら電子配信等を介して暗号化された状 態で半導体集積回路内部に入力し、半導体集積回路内部において復号ィ匕して機密 情報処理部内に格納する方法等がある。これは後述する実施の形態 4にお 、ても同 様である。なお、図 8において、復号ィ匕 702、 705、 710は別個の復号化回路がある かのように描かれている力 これは説明をシーケンスに沿って簡略ィ匕するためであり、 実際には同一の復号ィ匕回路をシーケンスに沿って複数回利用することが多い。この 場合、復号化に用いられる、あるいは復号ィ匕の結果生成される各鍵は外部からァク セスできない領域に格納しておく必要がある。また、暗号ィ匕と復号ィ匕のアルゴリズム に関連性がある場合は、復号化と暗号化の回路の一部、あるいは全部を共用するこ とも可能である。
[0080] ここで、 Enc (Kc, Kh)はターゲット機器に格納されるのではなぐ例えばホスト機器 内のハードディスクなどの蓄積デバイスに格納される。この鍵変換処理の利用例とし ては、ターゲット機器に格納された Kcのバックアップなどを可能にする。このような処 理では、バックアップされた Kcは Enc (Kc, Kh)として保存されるため、 Khを持った ホスト機器、すなわちバックアップを行ったホスト機器のみ力 ¾nc (Kc, Kh)を復号可 能となる。
[0081] また、図 8では、ターゲット機器 101に対する認証処理が終了し機密情報処理部 10 2に KaO (700)が生成されたものとする。またターゲット機器 101に格納された Enc ( Kal, KaO) 701がワーク領域 106にー且格納された後に、機密情報処理部 102に I N1として入力され KaO (700)により復号化 702することにより Kal (703)が生成され 、さらにターゲット機器 101に格納された Enc (Ka2, Kal) 704がワーク領域 106に
ー且格納された後に、機密情報処理部 102に IN2として入力され Kal (703)により 復号化 705することにより Ka2 (706)が生成されているものとする。なお、これら Enc ( Kal, Ka0) 701および Enc (Ka2, Kal) 704は、必ずしもー且ワーク領域 106に格 納する必要はなぐ直接ターゲット機器 101から機密情報処理部 102に入力すること も可能である。
[0082] また、鍵変換処理の入力となる Enc (Kc, Ka2) 707は、認証処理後にターゲット機 器 101からホスト機器 100のワーク領域 106に格納済みであり、出力である Enc (Kc , Kh) 708はワーク領域 106に格納されるものとする。そしてワーク領域格納後に、改 めてホスト機器 100の蓄積デバイスなどに保存されるものとする。なお、入力の Enc ( Kc, Ka2)は、必ずしもー且ワーク領域 106に格納する必要はなぐ直接ターゲット 機器 101から機密情報処理部 102に入力することも可能である。
[0083] 以下、 Ka2 (706)および Kh709を用いた鍵変換処理が行われる際の機密情報処 理部 102の動作を説明する。図 8では、機密情報処理部 102に Enc (Kc, Ka2)から Enc (Kc, Kh)への鍵変換処理を行うための制御シーケンスが定義されており、この 制御シーケンスがホスト CPU103から起動されたとする。これにより、鍵変換処理が 開始される。
[0084] 鍵変換処理では、まず Kcに対する暗号ィ匕および復号ィ匕を行うための鍵 (機密情報 処理部 102に生成された Ka2 (706)、および機密情報処理部 102に格納された Kh 709)が復号ィ匕を行うための回路および暗号ィ匕を行うための回路に設定される。そし て次に Enc (Kc, Ka2) 707が機密情報処理部 102に入力され、この入力された鍵 に対して Ka2 (706)を用いて復号化処理 710を行う。このように Ka2 (706)で復号 化を行うことにより、暗号ィ匕されていない Kc711が機密情報処理部 102に生成される 。この際、機密情報処理部 102ではこの鍵をホスト CPU103からアクセスされない形 で保持する。この実装の例としては、ホスト CPU103からアクセス不可能なレジスタに Kc711を格納する方法がある。なお、 Kc711は鍵変換処理終了後に機密情報処理 部 102により消去しても構わない。そして、 Kc711に対して Kh709を用いて暗号ィ匕 処理 712を行う。この暗号化処理 712により Enc (Kc, Kh) 708が機密情報処理部 1 02から出力される。以上の処理により鍵変換処理が終了する。
[0085] また、実施の形態 1の場合と同様に、鍵変換処理における暗号化処理 712ゃ復号 化処理 710は、図 8に示す鍵変換制御部 216や、鍵変換制御フラグ 217により制御 される。ここで、図 8の場合に必要となるフラグを考察する。図 8の処理では認証鍵 Ka 0 (700)力も生成される Ka2 (706)が使用される。そのため、認証鍵 Ka0 (700)を生 成する認証処理が終了している必要がある。そのため、認証フラグ (KaO)が鍵変換 制御フラグ 217の一つとして必要となる。なお、図 8の場合は鍵変換処理の入力であ る Enc (Kc, Ka2) 707と、出力である Enc (Kc, Kh) 708は同一のターゲット機器に 格納される必要がないため、同一ターゲットフラグは不要である。また、この鍵変換処 理においては、 Ka2 (706)が復号ィ匕処理により機密情報処理部 102に生成される必 要がある。そのため、鍵生成フラグ (Ka2)が鍵変換制御フラグ 217の一つとして必要 となる。なお、 Kh709は前もってホスト機器 100に格納されている鍵なので、 Kh709 に対する生成フラグは不要である。したがって、図 8に示す鍵変換処理を行う鍵変換 処理設定がホスト CPU103から行われた場合は、認証フラグ (KaO)および鍵生成フ ラグ (Ka2)の二つのフラグを入力に持つ ANDゲートの出力力 図 4に示すセレクタ 3 01の出力として選択される。そのため、これら二つのフラグがともに 1となっている場 合のみ、暗号回路が使用可能となる。
[0086] 次に、以下では図 9のフローチャートを用いることにより図 8に示した鍵変換処理の 流れを説明する。本発明の鍵変換処理では、実施の形態 1でも説明したように、まず ホスト CPU103により鍵変換処理設定 800が行われる。これにより、機密情報処理部 102で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し 801 が鍵変換制御部 216に対して行われる。読み出し後に、機密情報処理部 102に対し て Enc (Kc, Ka2)入力 802を行う。そして、読み出されたフラグを基に、機密情報処 理部 102で不正な処理が行われないための条件が満たされているかどうかが確認さ れる。これらの確認の処理は、図 9では条件分岐 803と条件分岐 804に相当する。な お、不正な処理が行われないことが確認出来るのであれば、確認を行う順番は図 9に 示すとおりでなくても構わない。
[0087] 図 9では、図 8の鍵変換制御フラグの説明でも示したように、二つの確認が行われる 。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力である Enc (K
c, Ka2) 707を格納するターゲット機器に対して認証鍵 KaO (700)を生成する認証 処理が行われているかを条件分岐 803で確認する。これにより、認証鍵 KaO (700) を生成する認証処理が行われていること、および Enc (Kc, Ka2) 707を格納するタ 一ゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示し たように、 Ka2 (706)が機密情報処理部 102に生成されていることを条件分岐 804 で確認する。これにより、 Ka2 (706)が生成されていない状態、すなわち Ka2 = 0な どの状態で復号化が行われな ヽことを確認する。
[0088] 以上の確認が行われた場合、ホスト CPU103が設定した鍵変換処理が不正なく実 行されることが確認される。そのため、確認後に入力である Enc (Kc, Ka2)に対する 変換処理 805 (図 8では、 Ka2 (706)で復号化して、 Kh (709)で暗号化する処理) が行われる。この間、鍵変換制御部 216から暗号化処理 712や復号化処理 710を行 う回路に対してィネーブル信号が出力されている。そして変換処理が行われたことに より、 Enc (Kc, Kh)出力 806が行われる。出力後、鍵変換処理が終了となる。
[0089] 以上のように、図 8および図 9の処理を用いることにより鍵変換処理が実行される。
なお、図 8の例ではターゲット機器に {Enc (Kal, KaO) , Enc (Ka2, Kal) , Enc (K c, Ka2) }が格納された状態で、 Enc (Kc, Ka2) 707に対して鍵変換処理を行って Enc (Kc, Kh) 708を得る場合を説明した。そこで、これを一般ィ匕して、ターゲット機 器に m個(mは自然数)の鍵 {Enc (Kal, KaO) , . . . , Enc (Kam, Ka (m— 1) ) }が 格納された状態で、 Kamをコンテンツの暗号ィ匕および復号ィ匕に使用し、 iを l≤i≤m を満たす自然数として、 Enc (Kai, Ka (i— 1) )に対して鍵変換処理を行って Enc (K ai, Kh)を得る構成としても良い。この場合、鍵変換処理を行うためには、機密情報 処理部の復号ィ匕を行う回路に Ka (i—1)を使用し、暗号ィ匕を行う回路に Khを使用し て、また鍵変換処理フラグとして Ka (i- 1)が生成されたことを示すフラグを代わりに 使用すれば、図 8と同様の鍵変換処理が実行可能である。したがって、機密情報処 理部に Ka (i— 1)に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選 択するための回路を追加すればよい。
[0090] (実施の形態 4)
次に実施の形態 4について説明する。基本的な全体構成は図 2と同様なので説明
を省略する。
[0091] 実施の形態 4では、本発明における鍵変換処理方法について説明する。図 10は本 発明における、鍵変換処理の実施の形態の一つを示したものである。図 2および図 3 と同一の要素については、同一の符号を用いている。図 10では本発明の実施の形 態の一つとして、ターゲット機器 101に二つの暗号化鍵 {Enc (Kbl, KbO) , Enc (K b2, Kbl) }が格納された状態で、 Enc (Kc, Kh)に対して、 Kblにより鍵変換処理を 行って Enc (Kc, Kbl)を得る場合を説明する。なお、図 10において、復号化 902、 907は別個の復号ィ匕回路があるかのように描かれている力 これは説明をシーケンス に沿って簡略ィ匕するためであり、実際には同一の復号ィ匕回路をシーケンスに沿って 複数回利用することが多い。この場合、復号化に用いられる、あるいは復号ィ匕の結果 生成される各鍵は外部からアクセスできな 、領域に格納しておく必要がある。また、 暗号化と復号ィ匕のアルゴリズムに関連性がある場合は、復号化と暗号ィ匕の回路の一 部、あるいは全部を共用することも可能である。
[0092] ここで、 Enc (Kc, Kh)はターゲット機器に格納されるのではなぐ実施の形態 3と同 様に、例えばホスト機器内のハードディスクなどの蓄積デバイスに格納される。この鍵 変換処理の利用例としては、ホスト機器にバックアップされた Kcをターゲット機器にリ ストアする処理などが挙げられる。このような処理では、バックアップされた Kcは Enc ( Kc, Kh)として保存されているため、 Khを持ったホスト機器、すなわちバックアップを 行ったホスト機器のみ力 ¾nc (Kc, Kh)を復号可能となる。
[0093] また、図 10では、ターゲット機器 101に対する認証処理が終了し機密情報処理部 1 02に認証鍵 KbO (900)が生成されたものとする。またターゲット機器 101に格納され た Enc (Kbl, KbO) 901がワーク領域 106にー且格納された後に、機密情報処理部 102に IN1として人力され KbO (900)により復号ィ匕 902することにより Kbl (903)力 ^ 生成されているものとする。なお、この Enc (Kbl, KbO) 901は、必ずしもー且ワーク 領域 106に格納する必要はなぐ直接ターゲット機器 101から機密情報処理部 102 に入力することも可能である。
[0094] また、鍵変換処理の入力となる Enc (Kc, Kh) 904は、すでにホスト機器 100の蓄 積デバイスなど力もワーク領域 106に格納済みであり、出力である Enc (Kc, Kbl) 9
05はワーク領域 106に格納されるものとする。そしてワーク領域格納後に、改めてタ 一ゲット機器 101に格納されるものとする。なお、出力の Enc (Kc, Kbl)は、必ずし もー且ワーク領域 106に格納する必要はなぐ直接機密情報処理部 102からターゲ ット機器 101に出力することも可能である。
[0095] 以下、 Kh906および Kbl (903)を用いた鍵変換処理が行われる際の機密情報処 理部 102の動作を説明する。図 10では、機密情報処理部 102に Enc (Kc, Kh)から Enc (Kc, Kbl)への鍵変換処理を行うための制御シーケンスが定義されており、こ の制御シーケンスがホスト CPU103から起動されたとする。
[0096] 鍵変換処理では、まず Kcに対する暗号ィ匕および復号ィ匕を行うための鍵 (機密情報 処理部 102に格納された Kh906、および機密情報処理部 102に生成された Kbl (9 03) )が復号ィ匕を行うための回路および暗号ィ匕を行うための回路に設定される。そし て次に Enc (Kc, Kh) 904が機密情報処理部 102に入力され、この入力された鍵に 対して Kh906を用いて復号化処理 907を行う。このように Kh906で復号化を行うこと により、暗号ィ匕されていない Kc908が機密情報処理部 102に生成される。この際、 機密情報処理部 102ではこの鍵をホスト CPU103からアクセスされない形で保持す る。この実装の例としては、ホスト CPU103からアクセス不可能なレジスタに Kc908を 格納する方法がある。なお、 Kc908は鍵変換処理終了後に機密情報処理部 102に より消去しても構わない。そして、 Kc908に対して Kbl (903)を用いて暗号化処理 9 09を行う。この暗号化処理 909により Enc (Kc, Kbl) 905が機密情報処理部 102か ら出力される。以上の処理により鍵変換処理が終了する。
[0097] また、実施の形態 1の場合と同様に、鍵変換処理における暗号化処理 909ゃ復号 化処理 907は、図 10に示す鍵変換制御部 216や、鍵変換制御フラグ 217により制御 される。ここで、図 10の場合に必要となるフラグを考察する。図 10の処理では認証鍵 KbO (900)力も生成される Kb 1 (903)が使用される。そのため、認証鍵 Kb0 (900) を生成する認証処理が終了している必要がある。そのため、認証フラグ (KbO)が鍵 変換制御フラグ 217の一つとして必要となる。なお、図 10の場合は鍵変換処理の入 力である Enc (Kc, Kh) 904と、出力である Enc (Kc, Kbl) 905は同一のターゲット 機器に格納される必要がないため、同一ターゲットフラグは不要である。また、この鍵
変換処理においては、 Kbl (903)が復号化処理により機密情報処理部 102に生成 される必要がある。そのため、鍵生成フラグ (Kbl)が鍵変換制御フラグ 217の一つと して必要となる。なお、 Kh906は前もってホスト機器 100に格納されている鍵なので 、 Kh906に対する生成フラグは不要である。したがって、図 10に示す鍵変換処理を 行う鍵変換処理設定がホスト CPU103から行われた場合は、認証フラグ (KbO)およ び鍵生成フラグ (Kbl)の二つのフラグを入力に持つ ANDゲートの出力力 図 4に示 すセレクタ 301の出力として選択される。そのため、これら二つのフラグがともに 1とな つている場合のみ、暗号回路が使用可能となる。
[0098] 次に、以下では図 11のフローチャートを用いることにより図 10に示した鍵変換処理 の流れを説明する。本発明の鍵変換処理では、実施の形態 1でも説明したように、ま ずホスト CPU103により鍵変換処理設定 1000が行われる。これにより、機密情報処 理部 102で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し 1001が鍵変換制御部 217に対して行われる。読み出し後に、機密情報処理部 102 に対して Enc (Kc, Kh)入力 1002を行う。そして、読み出されたフラグを基に、機密 情報処理部 102で不正な処理が行われな 、ための条件が満たされて 、るかどうかが 確認される。これらの確認の処理は、図 11では条件分岐 1003と条件分岐 1004〖こ 相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を行う 順番は図 11に示すとおりでなくても構わな!/、。
[0099] 図 11では、図 10の鍵変換制御フラグの説明でも示したように、二つの確認が行わ れる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の出力である En c (Kc, Kbl) 905を格納するターゲット機器に対して認証鍵 KbO (900)を生成する 認証処理が行われているかを条件分岐 1003で確認する。これにより、認証鍵 KbO ( 900)を生成する認証処理が行われていること、および Enc (Kc, Kbl) 905を格納 するターゲット機器が不正な機器でないことを確認する。また、鍵生成フラグの説明 で示したように、 Kbl (903)が機密情報処理部 102に生成されていることを、条件分 岐 1004で確認する。これにより、 Kbl (903)が生成されていない状態、すなわち Kb 1 =0などの状態で暗号ィ匕が行われな 、ことを確認する。
[0100] 以上の確認が行われた場合、ホスト CPU103が設定した鍵変換処理が不正なく実
行されることが確認される。そのため、確認後に入力である Enc (Kc, Kh)に対する 変換処理 1005 (図 10では、 Kh906で復号ィ匕して、 Kbl (903)で暗号化する処理) が行われる。この間、鍵変換制御部 216から暗号化処理 909や復号化処理 907を行 う回路に対してィネーブル信号が出力されている。そして変換処理が行われたことに より、 Enc (Kc, Kbl)出力 1006が行われる。出力後、鍵変換処理が終了となる。
[0101] 以上のように、図 10および図 11の処理を用いることにより鍵変換処理が実行される 。なお、図 10の例ではターゲット機器に {Enc (Kbl, KbO) , Enc (Kb2, Kbl) }が 格納された状態で、 Enc (Kc, Kh) 904に対して鍵変換処理を行って Enc (Kc, Kb 1) 905を得る場合を説明した。そこで、これを一般ィ匕して、ターゲット機器に n個 (nは 自然数)の鍵 {Enc (Kbl, KbO) , . . . , Enc (Kbn, Kb (n— 1) ) }が格納された状 態で、 Kbnをコンテンツの暗号ィ匕および復号ィ匕に使用し、 jを 1≤j≤nを満たす自然 数として、 Enc (Kai, Kh)に対して鍵変換処理を行って Enc (Kai, Kb (j— 1) )を得る 構成としても良い。この場合、鍵変換処理を行うためには、機密情報処理部の暗号 化を行う回路に Khを使用し、復号ィ匕を行う回路に Kb (j— 1)を使用して、また鍵変換 処理フラグとして Kb (j 1)が生成されたことを示すフラグを代わりに使用すれば、図 10と同様の鍵変換処理が実行可能である。したがって、機密情報処理部に Kb (j— 1 )に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグを選択するための回 路を追加すればよい。
[0102] (実施の形態 5)
次に実施の形態 5について説明する。基本的な全体構成は図 2と同様なので説明 を省略する。
[0103] 実施の形態 5では、本発明における鍵変換処理方法について説明する。図 12は本 発明における、鍵変換処理の実施の形態の一つを示したものである。図 2および図 3 と同一の要素については、同一の符号を用いている。図 12では本発明の実施の形 態の一つとして、ターゲット機器 101に暗号ィ匕鍵 Enc (Kai, KaO)が格納され、さら に同一ターゲット機器に Kaiにより暗号ィ匕された二つの暗号ィ匕鍵 {Enc (Kd2, Kai) および Enc (Ke2, Kai)が格納され、またそれぞれ Kd2および Ke2により暗号化さ れた鍵 Enc (Kc, Kd2)および Enc (Ke3, Ke2)が格納された状態を説明する。そし
て、 Enc (Kc, Kd2)に対して、 Ke2により鍵変換処理を行って Enc (Kc, Ke2)を得 る場合を説明する。このように、実施の形態 5では、同一の認証鍵 KaOから生成され る鍵の間での鍵変換処理を説明する。なお、図 12において、復号化 1102、 1105、 1108、 1112は別個の復号ィ匕回路があるかのように描かれている力 これは説明を シーケンスに沿って簡略ィ匕するためであり、実際には同一の復号ィ匕回路をシーケン スに沿って複数回利用することが多い。この場合、復号化に用いられる、あるいは復 号ィ匕の結果生成される各鍵は外部力 アクセスできない領域に格納しておく必要が ある。また、暗号化と復号ィ匕のアルゴリズムに関連性がある場合は、復号化と暗号ィ匕 の回路の一部、あるいは全部を共用することも可能である。
[0104] この鍵変換処理の利用例としては、この処理を行ったことにより Kcを暗号ィ匕する鍵 が Kd2から Ke2に変更されることから、 Kd2を不要として、さらに不要となった Kd2を ターゲット機器力も消去することにより、 Kcを暗号ィ匕する鍵の個数を減らすなどの用 途に利用できる。
[0105] また、図 12では、ターゲット機器 101に対する認証処理が終了し機密情報処理部 1 02に認証鍵 KaO (1100)が生成されたものとする。またターゲット機器 101に格納さ れた Enc (Kal, KaO) 1101がワーク領域 106にー且格納された後に、機密情報処 理部 102に IN1として入力され認証鍵 KaO (1100)により復号化 1102することにより Kal (1103)が生成され、さらにターゲット機器 101に格納された Enc (Kd2, Kal) l 104がワーク領域 106にー且格納された後に、機密情報処理部 102に IN2として入 力され Kal (1103)により復号化 1105することにより Kd2 (1106)が生成されて!、る ものとする。またターゲット機器 101に格納された Enc (Ke2, Kal) 1107がワーク領 域 106にー且格納された後に、機密情報処理部 102に IN3として入力され Kal (11 03)により復号化 1108することにより Ke2 (1109)が生成されて!、るものとする。なお 、これら Enc (Kal, KaO) 1101、 Enc (Kd2, Kal) 1104および Enc (Ke2, Kal) 1 107は、必ずしもー且ワーク領域 106に格納する必要はなぐ直接ターゲット機器 10 1から機密情報処理部 102に入力することも可能である。
[0106] また、鍵変換処理の入力となる Enc (Kc, 1^12) 1110は、認証処理後にターゲット 機器 101からホスト機器 100のワーク領域 106に格納済みであり、出力である Enc (K
c, Ke2) 1111はワーク領域 106に格納されるものとする。そしてワーク領域格納後 に、改めてターゲット機器 101に格納されるものとする。なお、これら Enc (Kc, Kd2) や Enc (Kc, Ke2)は、必ずしもー且ワーク領域 106に格納する必要はなぐ直接タ 一ゲット機器 101から機密情報処理部 102に入力する、もしくは直接機密情報処理 部 102からターゲット機器 101に出力することも可能である。
[0107] 以下、 Kd2 (1106)および Ke2 (1109)を用いた鍵変換処理が行われる際の機密 情報処理部 102の動作を説明する。図 12では、機密情報処理部 102に Enc (Kc, K d2)力ら Enc (Kc, Ke2)への鍵変換処理を行うための制御シーケンスが定義されて おり、この制御シーケンスがホスト CPU103から起動されたとする。
[0108] 鍵変換処理では、まず Kcに対する暗号ィ匕および復号ィ匕を行うための鍵 (機密情報 処理部に生成された Kd2 (1106)および Ke2 (1109) )が復号ィ匕を行うための回路 および暗号化を行うための回路に設定される。そして次に Enc (Kc, Kd2) 1110が 機密情報処理部 102に入力され、この入力された鍵に対して Kd2 (1106)を用いて 復号化処理 1112を行う。このように Kd2 (1106)で復号ィ匕を行うことにより、暗号化さ れていない Kcl 113が機密情報処理部 102に生成される。この際、機密情報処理部 102ではこの鍵をホスト CPU103からアクセスされない形で保持する。この実装の例 としては、ホスト CPU103からアクセス不可能なレジスタに Kcl 113を格納する方法 がある。なお、 Kcl l l3は鍵変換処理終了後に機密情報処理部 102により消去して も構わな 、。そして、 Kc 1113に対して Ke2 ( 1109)を用 、て暗号化処理 1114を行 う。この暗号化処理 l l l^ Enc (Kc, Ke2) 1111が機密情報処理部 102から出 力される。以上の処理により鍵変換処理が終了する。
[0109] また、実施の形態 1の場合と同様に、鍵変換処理における暗号化処理 1114ゃ復 号ィ匕処理 1112は、図 12に示す鍵変換制御部 216や、鍵変換制御フラグ 217により 制御される。ここで、図 12の場合に必要となるフラグを考察する。図 12の処理では認 証鍵 KaO (1100)力も生成される Kd2 (1106)および Ke2 (1109)が使用される。そ のため、認証鍵 KaO (1100)を生成する認証処理が終了している必要がある。その ため、認証フラグ (KaO)が鍵変換制御フラグ 217の一つとして必要となる。なお、図 1 2の場合は認証鍵 KaO (1100)を生成する認証処理のみが行われるため、同一ター
ゲットフラグは不要である。また、この鍵変換処理においては、 Kd2 (1106)および K e2 (1109)が復号ィ匕処理により機密情報処理部 102に生成される必要がある。その ため、鍵生成フラグ (Kd2)および鍵生成フラグ (Ke2)が鍵変換制御フラグ 217として 必要となる。したがって、図 12に示す鍵変換処理を行う鍵変換処理設定がホスト CP U103から行われた場合は、認証フラグ (KaO)、鍵生成フラグ (Kd2)および鍵生成 フラグ (Ke2)の三つのフラグを入力に持つ ANDゲートの出力力 図 4に示すセレク タ 301の出力として選択される。そのため、これら三つのフラグがともに 1となっている 場合のみ、暗号回路が使用可能となる。
[0110] 次に、以下では図 13のフローチャートを用いることにより図 12に示した鍵変換処理 の流れを説明する。本発明の鍵変換処理では、実施の形態 1でも説明したように、ま ずホスト CPU103により鍵変換処理設定 1200が行われる。これにより、機密情報処 理部 102で実行される鍵変換処理が起動される。次に、鍵変換制御フラグ読み出し 1201が鍵変換制御部 217に対して行われる。読み出し後に、機密情報処理部 102 に対して Enc (Kc, Kd2)入力 1202を行う。そして、読み出されたフラグを基に、機 密情報処理部 102で不正な処理が行われないための条件が満たされているかどうか が確認される。これらの確認の処理は、図 13では条件分岐 1203から条件分岐 120 5に相当する。なお、不正な処理が行われないことが確認出来るのであれば、確認を 行う順番は図 13に示すとおりでなくても構わない。
[0111] 図 13では、図 12の鍵変換制御フラグの説明でも示したように、三つの確認が行わ れる。まず、ターゲット機器に対する認証の条件として、鍵変換処理の入力である En c (Kc, Kd2) 1110ぉょび出カでぁるEnc (Kc, Ke2) 1111を格納するターゲット機 器に対して認証鍵 KaO (1100)を生成する認証処理が行われて!/、るかを条件分岐 1 203で確認する。これにより、認証鍵 KaO (1100)を生成する認証処理が行われてい ること、および Enc (Kc, Kd2) 1110^Enc (Kc, Ke2) 1111を格納するターゲット 機器が不正な機器でないことを確認する。また、鍵生成フラグの説明で示したように、 Kd2 (1106)および Ke2 (1109)が機密情報処理部 102に生成されていることを、条 件分岐 1204および条件分岐 1205で確認する。これ〖こより、 Kd2 ( 1106)および Ke 2 (1109)が生成されていない状態、すなわち Kd2 = 0および Ke2 = 0などの状態で
復号ィ匕および暗号ィ匕が行われないことを確認する。
[0112] 以上の確認が行われた場合、ホスト CPU103が設定した鍵変換処理が不正なく実 行されることが確認される。そのため、確認後に入力である Enc (Kc, Kd2)に対する 変換処理 1206 (図 12では、 Kd2 (1106)で復号化して、 Ke2 ( 1109)で暗号化する 処理)が行われる。この間、鍵変換制御部 216から暗号化処理 1114や復号化処理 1 112を行う回路に対してィネーブル信号が出力されて ヽる。そして変換処理が行わ れたことにより、 Enc(Kc, Ke2)出力 1207が行われる。出力後、鍵変換処理が終了 となる。
[0113] 以上のように、図 12および図 13の処理を用いることにより鍵変換処理が実行される 。なお、図 12の例ではターゲット機器に Enc (Kal, KaO)と、 {Enc(Kd2, Kal), E nc (Kc, Kd2)}および {Enc(Ke2, Kal), Enc (Ke3, Ke2) }が格納された状態で 、 Enc (Kc, Kd2) 1110に対して鍵変換処理を行って Enc (Kc, Ke2)llllを得る 構成としても良い。そこで、これを一般ィ匕して、ターゲット機器に s個(sは自然数)の鍵 {Enc (Kal, KaO), ... , Enc (Kas, Ka(s— 1)) }が格納され、またそれぞれ t個(t は自然数)からなる鍵 {Enc (Kdl, Kas), Enc(Kd2, Kdl), ... , Enc (Kdt, Kd( t 1))}および {Enc(Kel, Kas), Enc (Ke2, Kel), ... , Enc (Ket, Ke(t— 1) )}が格納された状態で、 Kdtおよび Ketをコンテンツの暗号化および復号化に使用 し、 iを l≤i≤tを満たす自然数として、 Enc(Kdi, Kd(i— 1))に対して鍵変換処理を 行って Enc(Kdi, Ke(j— 1))を得る場合でもよい。この場合、鍵変換処理を行うため には、機密情報処理部の復号ィ匕を行う回路に Kd(i—1)を使用し、暗号化を行う回 路に Ke (i- 1)を使用して、また鍵変換処理フラグとして Kd (i- 1)が生成されたこと を示すフラグ、および Ke (i- 1)が生成されたことを示すフラグを代わりに使用すれば 、図 12と同様の鍵変換処理が実行可能である。したがって、機密情報処理部に Kd(i - 1)および Ke (i- 1)に対応する鍵生成フラグを追加し、鍵変換制御部にこのフラグ を選択するための回路を追加すればよい。
産業上の利用可能性
[0114] 本発明により、異なる機密情報処理方法の間などで鍵変換処理を実行可能であり 、またその際、鍵情報が漏洩することなぐさらに不正な処理が行われることなく処理
が実行可能である。したがって、複数の機密情報処理方法を実装したターゲット機器 を利用する機密情報システムなどで利用可能である。