(57)【要約】【課題】機器の構成の一部が変更された場合であってもバインドされているデータを復元可能とし、そのデータを利用可能とする。【解決手段】装置ＩＤから閾値秘密分散法により分散データを生成し、タイトル鍵を装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化タイトル鍵を生成し、データ記憶再生装置１００内の各ＩＤそれぞれについてメディア鍵を用いて一方向性関数によりメディアＩＤ鍵を生成し、分散データから装置ＩＤを復元し、復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、暗号化タイトル鍵を復号してタイトル鍵を取得し、バインド対象のデータを暗号化した暗号化データを生成し、バインドしたデータを利用する際には、取得したタイトル鍵で暗号化データを復号してバインド対象のデータを復号する。【選択図】図６
2007322822.tif 000002
【特許請求の範囲】
【請求項１】
データをバインドするデータ処理装置であって、
装置ＩＤから閾値秘密分散法により前記データに対する複数の分散データを生成する分散データ生成部と、
前記データ処理装置内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれからメディアＩＤ鍵を生成するメディアＩＤ鍵生成部と、
前記データを前記装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化データを生成する暗号化データ生成部と、
前記各分散データを前記メディアＩＤ鍵により暗号化して暗号化分散データを生成し、該暗号化分散データを前記メディアＩＤ鍵により復号化して前記各分散データを生成する暗復号処理部と、
前記分散データから閾値秘密分散法により前記装置ＩＤを復元する装置ＩＤ復元部と、
復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、該メディアユニーク鍵で暗号化データを復号してデータを取得するデータ取得部とを備えた
ことを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、
前記分散データ生成部は、前記装置ＩＤに変更があった場合に、変更された装置ＩＤに対応した分散データを生成し、
前記暗復号処理部は、変更後の装置ＩＤに対応した分散データが生成された場合に、当該生成された分散データをメディアＩＤ鍵で暗号化した暗号化分散データを生成して更新する
ことを特徴とするデータ処理装置。
【請求項３】
請求項２記載のデータ処理装置であって、
前記装置ＩＤの読み込み履歴情報を記憶する履歴記憶部を備え、
前記分散データ生成部は、前記履歴記憶部に記憶されている前記読み込み履歴情報から装置ＩＤに変更があったと判断する
ことを特徴とするデータ処理装置。
【請求項４】
データをバインドするデータ処理方法であって、
装置ＩＤから閾値秘密分散法により前記データに対する複数の分散データを生成する分散データ生成ステップと、
前記データ処理装置内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれからメディアＩＤ鍵を生成するメディアＩＤ鍵生成ステップと、
前記データを前記装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化データを生成する暗号化データ生成ステップと、
前記各分散データを前記メディアＩＤ鍵により暗号化して暗号化分散データを生成し、該暗号化分散データを前記メディアＩＤ鍵により復号化して前記各分散データを生成する暗復号処理ステップと、
前記分散データから閾値秘密分散法により前記装置ＩＤを復元する装置ＩＤ復元ステップと、
復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、該メディアユニーク鍵で暗号化データを復号してデータを取得するデータ取得ステップとを有する
ことを特徴とするデータ処理方法。
【請求項５】
データをバインドさせるためのデータ処理プログラムであって、
コンピュータに、
装置ＩＤから閾値秘密分散法により前記データに対する複数の分散データを生成する分散データ生成ステップと、
前記データ処理装置内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれからメディアＩＤ鍵を生成するメディアＩＤ鍵生成ステップと、
前記データを前記装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化データを生成する暗号化データ生成ステップと、
前記各分散データを前記メディアＩＤ鍵により暗号化して暗号化分散データを生成し、該暗号化分散データを前記メディアＩＤ鍵により復号化して前記各分散データを生成する暗復号処理ステップと、
前記分散データから閾値秘密分散法により前記装置ＩＤを復元する装置ＩＤ復元ステップと、
復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、該メディアユニーク鍵で暗号化データを復号してデータを取得するデータ取得ステップとを
実行させるためのデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ＩＤを用いたコンテンツのバインド処理を実行するデータ処理装置、データ処理方法、およびデータ処理プログラムに係り、すべてのＩＤが利用できない場合であってもデータがバインドされていると判定可能なデータ処理装置、データ処理方法、およびデータ処理プログラムに関するものである。
【背景技術】
【０００２】
従来から、インターネットなどの通信ネットワークを介して音楽データや映像データなどのコンテンツを配信することが広く行われている。近年、配信されたコンテンツ情報を、記憶メディアや機器等に記憶保存する際に、そのデータを他のメディアにおいて使用不能とするバインドと呼ばれる処理が行われるようになってきている。
【０００３】
バインド処理は、コンテンツの著作権を保護する目的で、不正なコピーの生成を防止するために必要とされる処理である。具体的には、記憶メディアや機器が所有するＩＤと呼ばれる固有の値を利用することで実現可能である（例えば、特許文献１−３）。
【０００４】
ＰＣ環境の場合は、内部のＨＤＤ、ＣＰＵ、マザーボード等の物理的な装置にあるＩＤや、ＯＳやアプリケーション等のソフトウェアが所有するＩＤなどの複数の機器固有情報を基に、一つのＩＤを作成する手法がとられた。この作成されたＩＤを、装置ＩＤと呼ぶことにする。コンテンツをそのＰＣにバインドする場合は、単純な場合、装置ＩＤを鍵としてコンテンツを暗号化することによって、暗号化コンテンツのデータを他のＰＣにコピーしてもそのＰＣで生成される装置ＩＤはもとの暗号化された鍵となる装置ＩＤと別の値になるため、暗号化コンテンツは復号できないので利用できない。
【０００５】
【特許文献１】特開２００１−３９６９９８号公報
【特許文献２】特開平１１−１１０２０９号公報
【特許文献３】特開平７−２９５７９８号公報
【非特許文献１】A. Shamir: “How to share a secret”, Communications of the ACM, 22, 11, pp.612-613 (1979)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、従来から、データを機器にバインドさせる方法として、機器内の複数の固有情報から生成される装置ＩＤでデータを暗号化して保存する方式が知られている。ところが、上述した従来の技術では、機器内部の構成（ＨＤＤ、ＣＰＵ、マザーボード等や、ＯＳやアプリケーション等）が一つでも変更されると、正しい機器固有情報が取得できなくなり、データを全く利用できなくなるという問題があった。
【０００７】
本発明は、かかる問題点に鑑みてなされたもので、機器の構成の一部が変更された場合であってもデータがバインドされているものと判定されデータを利用することが可能なデータ処理装置、データ処理方法及びデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るデータ処理装置は、データをバインドするデータ処理装置であって、装置ＩＤから閾値秘密分散法により前記データに対する複数の分散データを生成する分散データ生成部と、前記データ処理装置内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれからメディアＩＤ鍵を生成するメディアＩＤ鍵生成部と、前記データを前記装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化データを生成する暗号化データ生成部と、前記各分散データを前記メディアＩＤ鍵により暗号化して暗号化分散データを生成し、該暗号化分散データを前記メディアＩＤ鍵により復号化して前記各分散データを生成する暗復号処理部と、前記分散データから閾値秘密分散法により前記装置ＩＤを復元する装置ＩＤ復元部と、復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、該メディアユニーク鍵で暗号化データを復号してデータを取得するデータ取得部とを備えたことを特徴とする。本発明に係るデータ処理装置によれば、装置ＩＤの一部が取得できない場合にもバインドしたデータを取り扱うことができる。
【０００９】
前記分散データ生成部は、前記装置ＩＤに変更があった場合に、変更された装置ＩＤに対応した分散データを生成し、前記暗復号処理部は、変更後の装置ＩＤに対応した分散データが生成された場合に、当該分散データをメディアＩＤ鍵で暗号化した暗号化分散データを生成して更新するように構成されていてもよい。
【００１０】
前記装置ＩＤは、例えば装置内で乱数でもって生成される場合、装置内にあらかじめ埋め込まれている場合、ネットワーク上でサーバから取得する場合などがありうる。
【００１１】
前記データのバインドはデータ全体をメディアユニーク鍵で暗号化することで行われるが、データをタイトル鍵と呼ばれる鍵で暗号化し、そのタイトル鍵をバインドするデータの対象とすることにより、データのバインドを行うことと同じ効果を得ることが可能である。
【００１２】
前記装置ＩＤの読み込み履歴情報を記録する履歴記憶部を備え、前記分散データ生成部は、前記履歴記憶部に記憶されている前記読み込み履歴情報から装置ＩＤに変更があったと判断するようにしてもよい。
【００１３】
本発明に係るデータ処理方法は、データをバインドするデータ処理方法であって、装置ＩＤから閾値秘密分散法により前記データに対する複数の分散データを生成する分散データ生成ステップと、前記データ処理装置内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれからメディアＩＤ鍵を生成するメディアＩＤ鍵生成ステップと、前記データを前記装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化データを生成する暗号化データ生成ステップと、前記各分散データを前記メディアＩＤ鍵により暗号化して暗号化分散データを生成し、該暗号化分散データを前記メディアＩＤ鍵により復号化して前記各分散データを生成する暗復号処理ステップと、前記分散データから閾値秘密分散法により前記装置ＩＤを復元する装置ＩＤ復元ステップと、復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、該メディアユニーク鍵で暗号化データを復号してデータを取得するデータ取得ステップとを有することを特徴とする。本発明に係るデータ処理方法によれば、装置ＩＤの一部が取得できない場合にもバインドしたデータを取り扱うことができる。
【００１４】
また、本発明に係るデータ処理プログラムは、データをバインドさせるためのデータ処理プログラムであって、コンピュータに、装置ＩＤから閾値秘密分散法により前記データに対する複数の分散データを生成する分散データ生成ステップと、前記データ処理装置内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれからメディアＩＤ鍵を生成するメディアＩＤ鍵生成ステップと、前記データを前記装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化データを生成する暗号化データ生成ステップと、前記各分散データを前記メディアＩＤ鍵により暗号化して暗号化分散データを生成し、該暗号化分散データを前記メディアＩＤ鍵により復号化して前記各分散データを生成する暗復号処理ステップと、前記分散データから閾値秘密分散法により前記装置ＩＤを復元する装置ＩＤ復元ステップと、復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、該メディアユニーク鍵で暗号化データを復号してデータを取得するデータ取得ステップとを実行させるためのものである。本発明に係るデータ処理プログラムによれば、装置ＩＤの一部が取得できない場合にもバインドしたデータを取り扱わせることができる。
【発明の効果】
【００１５】
本発明によれば、機器内のＩＤの一部が取得できない場合にもバインドしたコンテンツ等のデータを利用することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面に基づいて本発明の実施形態に係るデータ記憶再生装置について説明する。
【００１７】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るデータ記憶再生装置１００の構成例を示すブロック図である。データ記憶再生装置１００は、秘密分散処理部１０１と、入力部１０２と、乱数生成部１０３と、一方向性関数処理部１０４と、暗号処理部１０５と、復号処理部１０６と、制御部１０７と、出力部１０８と、保護領域１０９と、データ記憶部１１０と、ｎ個の機器固有情報記憶部１１１〜１１ｎとを含む。
【００１８】
機器固有情報記憶部１１１〜１１ｎは、機器固有情報と呼ばれる機器に固有な値ＩＤ１〜ＩＤｎを保有している。ＩＤ１〜ＩＤｎは、例えば装置１００がパーソナルコンピュータ（ＰＣ）により構成されている場合であれば、ＰＣ内部のＨＤＤ、ＣＰＵ、あるいはマザーボード等の物理的な装置のＩＤや、ＯＳやアプリケーション等のソフトウェアのＩＤである。
【００１９】
保護領域１０９は、耐タンパ処理などによりアクセスが制限されている記憶部であり、メディア鍵Ｋｍが保存されている。一方、データ記憶部１１０は、アクセスが制限されていない記憶部であり、暗号化されたデータなどの各種のデータが記憶される。
【００２０】
図２は、第１の実施形態におけるデータ記憶再生装置１００が実行する初期設定処理の概要を示す概略図である。図３は、初期設定処理の例を示すフローチャートである。初期設定処理では、データ記憶再生装置１００は、タイトル鍵Ｋｔを生成し記憶する処理（ステップＳ１０１〜Ｓ１０５）と、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の登録処理(ステップＳ１０６〜Ｓ１１０)とを実行する。
【００２１】
ここで、タイトル鍵Ｋｔとは、記憶再生の対象となるコンテンツなどのデータを暗号化する際に用いられる鍵である。先ず、このタイトル鍵Ｋｔを生成し記憶するタイトル鍵生成記憶処理（ステップＳ１０１〜Ｓ１０５）について説明する。タイトル鍵生成記憶処理において、乱数生成部１０３は、ランダムに装置ＩＤを生成する（ステップＳ１０１）。次に、一方向性関数処理部１０４は、メディア鍵Ｋｍを保護領域１０９から取得し(ステップＳ１０２)、所定の一方向性関数（例えばＨＭＡＣ：Keyed Hashing for Message Authentication Code）によりメディア鍵Ｋｍと装置ＩＤとからメディアユニーク鍵Ｋｍｕを生成する(ステップＳ１０３)。さらに、乱数生成部１０３は、タイトル鍵Ｋｔをランダムに生成する(ステップＳ１０４)。そして、暗号処理部１０５は、タイトル鍵Ｋｔをメディアユニーク鍵Ｋｍｕで暗号化した暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ，Ｋｔ）を生成し、データ記憶部１１０に格納する (ステップＳ１０５)。
【００２２】
次に、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の登録処理(ステップＳ１０６〜Ｓ１１０)について説明する。この登録処理において、秘密分散処理部１０１は、装置ＩＤを（ｋ，ｎ）閾値秘密分散法により分散データＳｉ（１≦ｉ≦ｎ）に分散する(ステップＳ１０６)。ここで、「（ｋ，ｎ）閾値秘密分散法」とは、分散データｎ個の中ｋ個のデータが集まれば元の秘密情報を復元できるが、ｋ−１個の分散データからは元の秘密情報が全く分からない分散方法である（例えば、Shamir's Secret Sharing：非特許文献１参照）。
【００２３】
次に、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ（１≦ｉ≦ｎ）をそれぞれ取得し(ステップＳ１０７)、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと各機器固有情報ＩＤｉ（１≦ｉ≦ｎ）とからメディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｎ）をそれぞれ生成する(ステップＳ１０８)。そして、暗号処理部１０５は、各分散データＳｉ（１≦ｉ≦ｎ）を各メディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｎ）でそれぞれ暗号化して(ステップＳ１０９)、暗号化した分散データＥｎｃ（Ｋｍｉ，Ｓｉ）（１≦ｉ≦ｎ）をデータ記憶部１１０に格納する (ステップＳ１１０)。
【００２４】
図４は、第１の実施形態におけるデータ記憶再生装置１００が実行するデータ記憶処理の概要を示す概略図である。図５は、データ記憶処理の例を示すフローチャートである。データ記憶処理では、データ記憶再生装置１００は、タイトル鍵Ｋｔの取得処理（ステップＳ２０１〜Ｓ２０９）と、記憶対象データの暗号化処理(ステップＳ２１０〜Ｓ２１１)とを実行する。
【００２５】
先ず、タイトル鍵Ｋｔの取得処理（ステップＳ２０１〜Ｓ２０９）について説明する。タイトル鍵Ｋｔの取得処理において、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ（１≦ｉ≦ｋ）を取得するとともに（ステップＳ２０１）、保護領域１０９からメディア鍵Ｋｍを取得する（ステップＳ２０２）。次いで、一方向性関数処理部１０４は、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと各機器固有情報ＩＤｉ（１≦ｉ≦ｋ）からメディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）をそれぞれ生成する（ステップＳ２０３）。
【００２６】
ここでは、簡単のため、機器固有情報をＩＤｉ（１≦ｉ≦ｋ）としているが、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の中の任意のｋ個であれば構わない。次に、復号処理部１０６は、データ記憶部１１０から暗号化分散データＥｎｃ（Ｋｍｉ，Ｓｉ）（１≦ｉ≦ｋ）を取得し（ステップＳ２０４）、メディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）で復号して、分散データＳｉ（１≦ｉ≦ｋ）を取得する（ステップＳ２０５）。
【００２７】
次いで、秘密分散処理部１０１は、（ｋ，ｎ）閾値秘密分散法により分散データＳｉ（１≦ｉ≦ｋ）から装置ＩＤを復元する（ステップＳ２０６）。さらに、一方向性関数処理部１０４は、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと装置ＩＤとからメディアユニーク鍵Ｋｍｕを算出する（ステップＳ２０７）。そして、復号処理部１０６は、データ記憶部１１０から暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ，Ｋｔ）を取得し（ステップＳ２０８）、メディアユニーク鍵Ｋｍｕで復号してタイトル鍵Ｋｔを取得する（ステップＳ２０９）。
【００２８】
次に、記憶対象データの暗号化処理(ステップＳ２１０〜Ｓ２１１)について説明する。この暗号化処理において、暗号処理部１０５は、入力部１０２から記憶対象データＤａｔａを取得し、この記憶対象データＤａｔａをタイトル鍵Ｋｔで暗号化した暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）を生成する（ステップＳ２１０）。そして、暗号処理部１０５は、この暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）をデータ記憶部１１０に格納する（ステップＳ２１１）。
【００２９】
図６は、データ再生処理の例を示すフローチャートである。データ再生処理では、タイトル鍵Ｋｔの取得処理（ステップＳ３０１〜Ｓ３０９）と、再生対象暗号化データの復号処理（ステップＳ３１０〜Ｓ３１１）とを実行する。なお、タイトル鍵Ｋｔの取得処理（ステップＳ３０１〜Ｓ３０９）は、上述したタイトル鍵Ｋｔの取得処理（ステップＳ２０１〜Ｓ２０９）と同様であるため説明を省略し、再生対象暗号化データの復号処理についてのみ説明する。
【００３０】
再生対象暗号化データの復号処理において、復号処理部１０６は、データ記憶部１１０から再生対象暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）を取得し、暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）をタイトル鍵Ｋｔで復号する（ステップＳ３１０）。そして、復号処理部１０６は、この復号されたデータＤａｔａを、出力部１０８に出力する（ステップＳ３１１）。
【００３１】
次に、第１の実施形態における登録されたタイトル鍵Ｋｔの更新処理について説明する。図７、図８は、データ記憶再生装置１００による登録されたタイトル鍵Ｋｔの更新処理の概要を示す概略図である。図９は、登録されたタイトル鍵Ｋｔの更新処理の例を示すフローチャートである。
【００３２】
なお、タイトル鍵Ｋｔは上述した初期設定処理により既に登録されているものとする。登録されたタイトル鍵Ｋｔの更新処理では、データ記憶再生装置１００は、図７に示す装置ＩＤの復元処理（ステップＳ７０１〜Ｓ７０６）と、図８に示すタイトル鍵Ｋｔの再登録処理（ステップＳ７０７〜Ｓ７０９）とを実行する。
【００３３】
先ず、装置ＩＤの復元処理（ステップＳ７０１〜Ｓ７０６）について説明する。復元処理において、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｋ）から機器固有情報ＩＤｉ（１≦ｉ≦ｋ）を取得し（ステップＳ７０１）、保護領域１０９からメディア鍵Ｋｍを取得する（ステップＳ７０２）。次いで、一方向性関数処理部１０４は、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと各機器固有情報ＩＤｉ（１≦ｉ≦ｋ）とからメディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）をそれぞれ生成する（ステップＳ７０３）。ここでは、簡単のため、機器固有情報をＫｍｉ（１≦ｉ≦ｋ）としているが、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の中の任意のｋ個であれば構わない。
【００３４】
次に、復号処理部１０６は、データ記憶部１１０から暗号化分散データＥｎｃ（Ｋｍｉ，Ｓｉ）（１≦ｉ≦ｋ）を取得し（ステップＳ７０４）、メディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）で復号して、分散データＳｉ（１≦ｉ≦ｋ）を取得する（ステップＳ７０５）。そして、秘密分散処理部１０１は、（ｋ，ｎ）閾値秘密分散法により分散データＳｉ（１≦ｉ≦ｋ）から装置ＩＤを復元する（ステップＳ７０６）。
【００３５】
次に、タイトル鍵Ｋｔの再登録処理（ステップＳ７０７〜Ｓ７０９）について説明する。再登録処理において、乱数生成部１０１は、タイトル鍵Ｋｔ’をランダムに生成する（ステップＳ７０７）。次に、一方向性関数処理部１０４は、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと装置ＩＤからメディアユニーク鍵Ｋｍｕを算出する（ステップＳ７０８）。そして、暗号処理部１０５は、タイトル鍵Ｋｔ’をメディアユニーク鍵Ｋｍｕで暗号化して、暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ，Ｋｔ’）をデータ記憶部１１０に格納する（ステップＳ７０９）。なお、タイトル鍵Ｋｔ’に更新した後に、更新前のタイトル鍵Ｋｔで暗号化されたデータＥｎｃ（Ｋｔ，Ｄａｔａ）を利用したい場合は、暗号化されたデータＥｎｃ（Ｋｔ，Ｄａｔａ）を更新前タイトル鍵Ｋｔで復号した後、更新後のタイトル鍵Ｋｔ’で再暗号化する必要がある。
【００３６】
次に、登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理について説明する。
図７、図１０は、本実施形態に係るデータ記憶再生装置１００が実行する登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理の概要を示す概略図である。図１１は、登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理の例を示すフローチャートである。なお、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）は、上述した初期設定処理により既に登録されているものとする。登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理では、データ記憶再生装置１００は、図７に示すような装置ＩＤの復元処理（ステップＳ８０１〜Ｓ８０６）と、図１０に示すような機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の再登録処理（ステップＳ８０７〜Ｓ８１１）とを実行する。
【００３７】
なお、装置ＩＤの復元処理（ステップＳ８０１〜Ｓ８０６）は、上述した装置ＩＤの復元処理（ステップＳ７０１〜Ｓ７０６）と同様のため説明を省略し、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の再登録処理についてのみ説明する。
【００３８】
再登録処理において、秘密分散処理部１０１は、装置ＩＤを（ｋ，ｎ）閾値秘密分散法により分散データＳｉ’（１≦ｉ≦ｎ）に分散する（ステップＳ８０７）。次に、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ’（１≦ｉ≦ｎ）をそれぞれ取得する（ステップＳ８０８）。次いで、一方向性関数処理部１０４は、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと各機器固有情報ＩＤｉ’（１≦ｉ≦ｎ）とからメディアＩＤ鍵Ｋｍｉ’（１≦ｉ≦ｎ）をそれぞれ生成する（ステップＳ８０９）。そして、暗号処理部１０５は、各分散データＳｉ’（１≦ｉ≦ｎ）を各メディアＩＤ鍵Ｋｍｉ’（１≦ｉ≦ｎ）でそれぞれ暗号化して（ステップＳ８１０）、暗号化された分散データＥｎｃ（Ｋｍｉ’，Ｓｉ’）（１≦ｉ≦ｎ）をデータ記憶部１１０に格納する（ステップＳ８１１）。
【００３９】
なお、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ’（１≦ｉ≦ｎ）をそれぞれ取得する（ステップＳ８０８）において、更新された機器固有情報のみ取得し、更新されていない機器固有情報は、すでに取得済みの値を用いてもよい。
【００４０】
［第２の実施形態］
次に本発明の第２の実施形態について説明する。この第２の実施形態は、上述した第１の実施形態の変形であり、分散データＳｉ（１≦ｉ≦ｎ）の保護にメディア鍵Ｋｍを利用しない例である。このため、上述した第１の実施形態よりも処理が簡単であることが特徴である。なお、第２の実施形態におけるデータ記憶再生装置の構成の例としては、上述した図１に示したデータ記憶再生装置１００と同様である。
【００４１】
図１２は、第２の実施形態に係るデータ記憶再生装置１００が実行する初期設定処理の概要を示す概略図である。図１３は、初期設定処理の例を示すフローチャートである。初期設定処理では、データ記憶再生装置１００は、タイトル鍵Ｋｔを生成し記憶するタイトル鍵生成記憶処理（ステップＳ４０１〜Ｓ４０５）と、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の登録処理（ステップＳ４０６〜Ｓ４１０）とを実行する。ここで、タイトル鍵Ｋｔとは、記憶再生の対象となるデータを暗号化する鍵である。
【００４２】
先ず、タイトル鍵生成記憶処理（ステップＳ４０１〜Ｓ４０５）について説明する。タイトル鍵生成記憶処理において、乱数生成部１０１は、装置ＩＤをランダムに生成する（ステップＳ４０１）。次に、一方向性関数処理部１０４は、メディア鍵Ｋｍを保護領域１０９から取得し（ステップＳ４０２）、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと装置ＩＤとからメディアユニーク鍵Ｋｍｕを生成する（ステップＳ４０３）。さらに、乱数生成部１０１は、タイトル鍵Ｋｔをランダムに生成する（ステップＳ４０４）。そして、暗号処理部１０５は、タイトル鍵Ｋｔをメディアユニーク鍵Ｋｍｕで暗号化した暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ，ｋｔ）をデータ記憶部１１０に記憶する（ステップＳ４０５）。
【００４３】
次に、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の登録処理（ステップＳ４０６〜Ｓ４１０）について説明する。登録処理において、秘密分散処理部１０１は、装置ＩＤを（ｋ，ｎ）閾値秘密分散法により分散データＳｉ（１≦ｉ≦ｎ）に分散する（ステップＳ４０６）。
【００４４】
次に、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ（１≦ｉ≦ｎ）をそれぞれ取得し（ステップＳ４０７）、所定の一方向性関数（例えばＳＨＡ：Secure Hash Algorithm）により各機器固有情報ＩＤｉ（１≦ｉ≦ｎ）からメディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｎ）をそれぞれ生成する（ステップＳ４０８）。そして、暗号処理部１０５は、各分散データＳｉ（１≦ｉ≦ｎ）を各メディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｎ）でそれぞれ暗号化して（ステップＳ４０９）、暗号化した分散データＥｎｃ（Ｋｍｉ，Ｓｉ）（１≦ｉ≦ｎ）をデータ記憶部１１０に格納する（ステップＳ４１０）。
【００４５】
図１４は、第２の実施形態に係るデータ記憶再生装置１００のデータ記憶処理の概要を示す概略図である。図１５は、データ記憶処理の例を示すフローチャートである。データ記憶処理では、データ記憶再生装置１００は、タイトル鍵Ｋｔの取得処理（ステップＳ５０１〜Ｓ５０９）と、記憶対象データの暗号化処理（ステップＳ５１０〜Ｓ５１１）とを実行する。
【００４６】
先ず、タイトル鍵Ｋｔの取得処理（ステップＳ５０１〜Ｓ５０９）について説明する。取得処理において、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｋ）から機器固有情報ＩＤｉ（１≦ｉ≦ｋ）を取得し（ステップＳ５０１）、所定の一方向性関数（例えばＳＨＡ）により各機器固有情報ＩＤｉ（１≦ｉ≦ｋ）からメディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）をそれぞれ生成する（ステップＳ５０２）。ここでは、簡単のため機器固有情報をＩＤｉ（１≦ｉ≦ｋ）としているが、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の中の任意のｋ個であれば構わない。
【００４７】
次に、復号処理部１０６は、データ記憶部１１０から暗号化分散データＥｎｃ（Ｋｍｉ，Ｓｉ）（１≦ｉ≦ｋ）を取得し（ステップＳ５０３）、メディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）で復号して、分散データＳｉ（１≦ｉ≦ｋ）を取得する（ステップＳ５０４）。そして、秘密分散処理部１０１は、（ｋ，ｎ）閾値秘密分散法により分散データＳｉ（１≦ｉ≦ｋ）から装置ＩＤを復元する（ステップＳ５０５）。
【００４８】
さらに、一方向性関数処理部１０４は、保護領域１０９からメディア鍵Ｋｍを取得し（ステップＳ５０６）、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと装置ＩＤとからメディアユニーク鍵Ｋｍｕを生成する（ステップＳ５０７）。そして、復号処理部１０６は、データ記憶部１１０から暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ，Ｋｔ）を取得し（ステップＳ５０８）、メディアユニーク鍵Ｋｍｕで復号してタイトル鍵Ｋｔを取得する（ステップＳ５０９）。
【００４９】
次に、記憶対象データの暗号化処理（ステップＳ５１０〜Ｓ５１１）について説明する。暗号化処理において、暗号処理部１０５は、入力部１０２から記憶対象データＤａｔａを取得し、その記憶対象データＤａｔａをタイトル鍵Ｋｔで暗号化する（ステップＳ５１０）。次に、暗号処理部１０５は、この暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）を、データ記憶部１１０に格納する（ステップＳ５１１）。
【００５０】
図１６は、データ記憶処理の例を示すフローチャートである。データ記憶処理では、データ記憶再生装置１００は、タイトル鍵Ｋｔの取得処理（ステップＳ６０１〜Ｓ６０９）と、再生対象暗号化データの復号処理（ステップＳ６１０〜Ｓ６１１）とを実行する。なお、タイトル鍵Ｋｔの取得処理（ステップＳ６０１〜Ｓ６０９）は、上述したタイトル鍵Ｋｔの取得処理（ステップＳ５０１〜Ｓ５０９）と同様のため説明を省略し、再生対象暗号化データの復号処理についてのみ説明する。
【００５１】
再生対象暗号化データの復号処理において、復号処理部１０６は、データ記憶部１１０から再生対象暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）を取得し、暗号化データＥｎｃ（Ｋｔ，Ｄａｔａ）をタイトル鍵Ｋｔで復号する（ステップＳ６１０）。次に、復号処理部１０６は、この復号したデータＤａｔａを出力部１０８に出力する（ステップＳ６１１）。
【００５２】
次に、本実施形態において登録されたタイトル鍵Ｋｔの更新処理について説明する。
【００５３】
図１７、図１８は、本実施形態のデータ記憶再生装置１００が実行する登録されたタイトル鍵Ｋｔの更新処理の概要を示す概略図である。図１８は、登録されたタイトル鍵Ｋｔの更新処理の例を示すフローチャートである。なお、タイトル鍵Ｋｔは上述した初期設定処理により既に登録されているものとする。登録されたタイトル鍵Ｋｔの更新処理では、データ記憶再生装置１００は、図１７に示すような装置ＩＤの復元処理（ステップＳ９０１〜Ｓ９０５）と、図１８に示すようなタイトル鍵Ｋｔの再登録処理（ステップＳ９０６〜Ｓ９０９）とを実行する。
【００５４】
先ず、装置ＩＤの復元処理（ステップＳ９０１〜Ｓ９０５）について説明する。復元処理において、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｋ）から機器固有情報ＩＤｉ（１≦ｉ≦ｋ）をそれぞれ取得し（ステップＳ９０１）、所定の一方向性関数（例えばＳＨＡ）により各機器固有情報ＩＤｉ（１≦ｉ≦ｋ）からメディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）をそれぞれ生成する（ステップＳ９０２）。ここでは、簡単のため、機器固有情報をＩＤｉ（１≦ｉ≦ｋ）としているが、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の中の任意のｋ個であれば構わない。
【００５５】
次に、復号処理部１０６は、データ記憶部１１０から暗号化分散データＥｎｃ（Ｋｍｉ，Ｓｉ）（１≦ｉ≦ｋ）を取得し（ステップＳ９０３）、メディアＩＤ鍵Ｋｍｉ（１≦ｉ≦ｋ）で復号して、分散データＳｉ（１≦ｉ≦ｋ）を取得する（ステップＳ９０４）。そして、秘密分散処理部１０１は、（ｋ，ｎ）閾値秘密分散法により分散データＳｉ（１≦ｉ≦ｋ）から装置ＩＤを復元する（ステップＳ９０５）。
【００５６】
次に、タイトル鍵Ｋｔの再登録処理（ステップＳ９０６〜Ｓ９０９）について説明する。再登録処理において、乱数生成部１０１は、タイトル鍵Ｋｔ’をランダムに生成する（ステップＳ９０６）。次に、一方向性関数処理部１０４は、保護領域１０９からメディア鍵Ｋｍを取得する（ステップＳ９０７）。さらに、一方向性関数処理部１０４は、所定の一方向性関数（例えばＨＭＡＣ）によりメディア鍵Ｋｍと装置ＩＤからメディアユニーク鍵Ｋｍｕを生成する（ステップＳ９０８）。そして、暗号処理部１０５は、タイトル鍵Ｋｔ’をメディアユニーク鍵Ｋｍｕで暗号化して、暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ，Ｋｔ’）をデータ記憶部１１０に記憶する（ステップＳ９０９）。なお、タイトル鍵Ｋｔ’に更新した後に、更新前のタイトル鍵Ｋｔで暗号化されたデータＥｎｃ（Ｋｔ，Ｄａｔａ）を利用したい場合は、暗号化されたデータＥｎｃ（Ｋｔ，Ｄａｔａ）を更新前タイトル鍵Ｋｔで復号した後、更新後のタイトル鍵Ｋｔ’で再暗号化する必要がある。
【００５７】
次に、登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理について説明する。
図１７、図１９は、本実施形態のデータ記憶再生装置１００の登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理の概要を示す概略図である。図２０は、登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理の例を示すフローチャートである。なお、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）は、上述した初期設定処理により既に登録されているものとする。登録された機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の更新処理では、図１７に示すような装置ＩＤの復元処理（ステップＳ１００１〜Ｓ１００５）と、図１９に示すような機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の再登録処理（ステップＳ１００６〜Ｓ１０１０）とを実行する。なお、装置ＩＤの復元処理（ステップＳ１００１〜Ｓ１００５）は、上述した装置ＩＤの復元処理（ステップＳ９０１〜Ｓ９０５）と同様のため説明を省略し、機器固有情報ＩＤｉ（１≦ｉ≦ｎ）の再登録処理についてのみ説明する。
【００５８】
再登録処理において、秘密分散処理部１０１は、装置ＩＤを（ｋ，ｎ）閾値秘密分散法により分散データＳｉ’（１≦ｉ≦ｎ）に分散する（ステップＳ１００６）。次に、一方向性関数処理部１０４は、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ’（１≦ｉ≦ｎ）をそれぞれ取得し（ステップＳ１００７）、所定の一方向性関数（例えばＳＨＡ）により各機器固有情報ＩＤｉ’（１≦ｉ≦ｎ）からメディアＩＤ鍵Ｋｍｉ’（１≦ｉ≦ｎ）をそれぞれ生成する（ステップＳ１００８）。そして、暗号処理部１０５は、各分散データＳｉ’（１≦ｉ≦ｎ）を各メディアＩＤ鍵Ｋｍｉ’（１≦ｉ≦ｎ）でそれぞれ暗号化して（ステップＳ１００９）、暗号化された分散データＥｍｃ（Ｋｍｉ’，Ｓｉ’）（１≦ｉ≦ｎ）をデータ記憶部１１０に格納する（ステップＳ１０１０）。
【００５９】
なお、機器固有情報記憶部１１ｉ（１≦ｉ≦ｎ）から機器固有情報ＩＤｉ’（１≦ｉ≦ｎ）をそれぞれ取得する（ステップＳ１００７）において、更新された機器固有情報のみ取得し、更新されていない機器固有情報は、すでに取得済みの値を用いてもよい。
【００６０】
上記のように、データをバインドするデータ処理装置（データ記憶再生装置１００）であって、ランダムに生成した装置ＩＤから閾値秘密分散法により分散データを生成し、ランダムに生成したタイトル鍵を装置ＩＤとメディア鍵とから生成したメディアユニーク鍵により暗号化した暗号化タイトル鍵を生成し、データ記憶再生装置１００内の所定のハードウェアやソフトウェアに与えられている各ＩＤそれぞれについてメディア鍵を用いて一方向性関数によりメディアＩＤ鍵を生成し、分散データから装置ＩＤを復元し、復元された装置ＩＤとメディア鍵とからメディアユニーク鍵を生成し、このメディアユニーク鍵で暗号化タイトル鍵を復号してタイトル鍵を取得し、データをバインドする際には、取得したタイトル鍵でバインド対象のデータを暗号化した暗号化データを生成し、バインドしたデータを利用する際には、取得したタイトル鍵で暗号化データを復号してバインド対象のデータを復号する構成としたので、データ記憶再生装置１００内のＩＤの一部が取得できない場合にもバインドしたコンテンツ等のデータを利用することができる。
【００６１】
なお、上述した実施の形態では特に言及していないが、データ記憶再生装置１００を構成する各部は、上述した各処理を、装置１００の内部に搭載されているデータ処理プログラムに従って実行する。
【００６２】
また、上述した実施の形態での秘密分散法はシャミア式であったが、その他の式を用いるようにしてもよい。
【００６３】
また、上述した実施の形態では、装置ＩＤ等の所定のＩＤやタイトル鍵Ｋｔ等の所定の鍵を乱数を用いてランダムに生成する構成としていたが、例えばあらかじめ用意された複数の候補からランダムに選択するなどして、乱数を使用することなくランダムに生成するようにしてもよい。また、ランダムに生成するのでなく、あらかじめ定められた所定のルールに従って生成するようにしてもよい。
【００６４】
また、上述した実施の形態では特に言及していないが、バインドするデータとしては、音楽データ、画像データ、動画データ、文書データなどの様々なコンテンツデータが考えられる。なお、コンテンツデータを直接バインドするようにしてもよいが、例えばコンテンツデータの暗号化に用いられるタイトル鍵Ｋｔをバインドするようにしてもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施形態に係るデータ記憶再生装置の構成例を示すブロック図。
【図２】初期設定処理の概要を示す概略図。
【図３】初期設定処理の例を示すフローチャート。
【図４】データ記憶処理の概要を示す概略図。
【図５】データ記憶処理の例を示すフローチャート。
【図６】データ再生処理の例を示すフローチャート。
【図７】登録されたタイトル鍵Ｋｔの更新処理の概要を示す概略図。
【図８】登録されたタイトル鍵Ｋｔの更新処理の概要を示す概略図。
【図９】登録されたタイトル鍵Ｋｔの更新処理の例を示すフローチャート。
【図１０】登録された機器固有情報の更新処理の概要を示す概略図。
【図１１】登録された機器固有情報の更新処理の例を示すフローチャート。
【図１２】初期設定処理の概要を示す概略図。
【図１３】初期設定処理の例を示すフローチャート。
【図１４】本発明の第２の実施形態に係るデータ記憶再生装置１００のデータ記憶処理の概要を示す概略図。
【図１５】データ記憶処理の例を示すフローチャート。
【図１６】データ記憶処理の例を示すフローチャート。
【図１７】登録されたタイトル鍵の更新処理の概要を示す概略図。
【図１８】登録されたタイトル鍵の更新処理の例を示すフローチャート。
【図１９】登録された機器固有情報の更新処理の概要を示す概略図。
【図２０】登録された機器固有情報の更新処理の例を示すフローチャート。
【符号の説明】
【００６６】
１００…データ記憶再生装置、１０１…秘密分散処理部、１０２…入力部、１０３…乱数生成部、１０４…一方向性関数処理部、１０５…暗号処理部、１０６…復号処理部、１０７…制御部、１０８…出力部、１０９…保護領域、１１０…データ記憶部、１１１〜１１ｎ…機器固有情報記憶部
【図１】
2007322822.tif 000003
【図２】
2007322822.tif 000004
【図３】
2007322822.tif 000005
【図４】
2007322822.tif 000006
【図５】
2007322822.tif 000007
【図６】
2007322822.tif 000008
【図７】
2007322822.tif 000009
【図８】
2007322822.tif 000010
【図９】
2007322822.tif 000011
【図１０】
2007322822.tif 000012
【図１１】
2007322822.tif 000013
【図１２】
2007322822.tif 000014
【図１３】
2007322822.tif 000015
【図１４】
2007322822.tif 000016
【図１５】
2007322822.tif 000017
【図１６】
2007322822.tif 000018
【図１７】
2007322822.tif 000019
【図１８】
2007322822.tif 000020
【図１９】
2007322822.tif 000021
【図２０】
2007322822.tif 000022