(57)【特許請求の範囲】
【請求項１】
１台の親機と１台以上の子機から構成されるグループ内でコンテンツデータを共用する情報処理装置において、
正規の情報処理装置の間で共通なルートキーを保有する保有手段と、
自己の所属するグループを示す所属グループ識別情報、および自己が、所属する前記グループにおける前記親機であるか否かを示す親機フラグを保持する保持手段と、
コンテンツデータ、および前記コンテンツデータを利用するためのライセンスを管理する管理手段と、
前記ライセンスに記述されている、前記コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、前記所属グループ識別情報とが一致する場合のみ、前記ライセンスに対応する前記コンテンツデータの暗号を前記ルートキーを用いて復号して再生する再生手段と、
自己が、前記グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、前記保持手段に保持されている前記所属グループ識別情報を読み出し、前記ルートキーを用いて暗号化して前記他の情報処理装置に送信する送信手段と、
親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された前記所属グループ識別情報の暗号を前記ルートキーを用いて復号して前記保持手段に登録する登録手段と
を含む情報処理装置。
【請求項２】
自己が前記親機である場合、他の情報処理装置からの要求に応じて、前記ルートキーを用いた相互認証の後、前記所属グループ識別情報を変更することなく、前記親機フラグをFALSEに変更し、
自己が前記親機ではない場合、親機である他の情報処理装置と前記ルートキーを用いた相互認証の後、保持されている前記所属グループ識別情報を前記親機である他の情報処理装置と同一のものに変更し、前記親機フラグをTRUEに変更する
親機変更手段を
さらに含む請求項１に記載の情報処理装置。
【請求項３】
前記送信手段は、自己が親機である場合、保持されている前記所属グループ識別情報を、自己が属するグループに属していない有限数の他の情報処理装置に送信し、
前記保持手段は、前記付与手段が前記所属グループ識別情報を前記他の情報処理装置に付与できる残りの回数も保持する
請求項１に記載の情報処理装置。
【請求項４】
自己に固有に付与されているデバイスノードキーと、前記コンテンツデータのヘッダに含まれるイネーブルキーブロックに基づき、正規の情報処理装置が共通して生成し得る前記ルートキーを生成する生成手段を
さらに含む請求項１に記載の情報処理装置。
【請求項５】
１台の親機と１台以上の子機から構成されるグループ内でコンテンツデータを共用する情報処理装置の情報処理方法において、
前記情報処理装置による、
自己の所属するグループを示す所属グループ識別情報、および自己が、所属する前記グループにおける前記親機であるか否かを示す親機フラグを保持手段に保持する保持ステップと、
コンテンツデータ、および前記コンテンツデータを利用するためのライセンスを管理する管理ステップと、
前記ライセンスに記述されている、前記コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、前記所属グループ識別情報とが一致する場合のみ、前記ライセンスに対応する前記コンテンツデータの暗号を、正規の情報処理装置の間で共通なルートキーを用いて復号して再生する再生ステップと、
自己が、前記グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、前記保持手段に保持されている前記所属グループ識別情報を読み出し、前記ルートキーを用いて暗号化して前記他の情報処理装置に送信する送信ステップと、
親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された前記所属グループ識別情報の暗号を前記ルートキーを用いて復号して前記保持手段に登録する登録ステップと
を含む情報処理方法。
【請求項６】
１台の親機と１台以上の子機から構成されるグループ内でコンテンツデータを共用する情報処理装置の制御用のプログラムであって、
自己の所属するグループを示す所属グループ識別情報、および自己が、所属する前記グループにおける前記親機であるか否かを示す親機フラグを保持手段に保持する保持ステップと、
コンテンツデータ、および前記コンテンツデータを利用するためのライセンスを管理する管理ステップと、
前記ライセンスに記述されている、前記コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、前記所属グループ識別情報とが一致する場合のみ、前記ライセンスに対応する前記コンテンツデータの暗号を、正規の情報処理装置の間で共通なルートキーを用いて復号して再生する再生ステップと、
自己が、前記グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、前記保持手段に保持されている前記所属グループ識別情報を読み出し、前記ルートキーを用いて暗号化して前記他の情報処理装置に送信する送信ステップと、
親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された前記所属グループ識別情報の暗号を前記ルートキーを用いて復号して前記保持手段に登録する登録ステップと
を含む処理を情報処理装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、楽曲や映像等のコンテンツを、同じグループに属する複数の再生機器で共用できるようにする情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
通常、楽曲や映像等のディジタルデータ（以下、コンテンツと記述する）は、それが不正に利用されることを防止するために、暗号化等のプロテクション処理が施されている。
【０００３】
一方、コンテンツを再生する再生装置のユーザ側には、自己の管理下にある複数の再生装置により、正規に取得したコンテンツを共用したいという要求がある。
【０００４】
このような要求に応えるための技術として、例えば、特許文献１には、再生装置を、例えばユーザ単位でグループ分けし、同一のグループに属する再生装置だけが共通鍵ＫCを保持するようにし、コンテンツを、共通鍵ＫCから導出される暗号鍵Ｋを用いて暗号化してコンテンツを供給する発明が開示されている。この発明によれば、共通鍵ＫCを保持している再生装置、すなわち、同一のグループの属する再生装置だけが、コンテンツの暗号を復号して再生することが可能となる。
【０００５】
【特許文献１】米国特許出願公報ＵＳ２００２／１０４４０１Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の発明では、再生装置の共通鍵ＫCの有無に基づいて、同一のグループに属するか否かが判断されるが、共通鍵ＫCを再生装置に供給する方法について記述されていない。そこで、共通鍵ＫCの再生装置に対する供給方法を考えてみると、同一のグループに対して制限無く再生装置が所属されてコンテンツが不正に共用されないために、共通鍵ＫCを供給するに際して、同一のグループに所属させ得る再生装置を一元的に管理するサーバが必要となるという課題があった。
【０００７】
また、この場合、市場に流通する再生装置の数が増加したり、市場におけるグループ数が増加したりした場合、サーバの維持、管理のコストが増加するという課題があった。
【０００８】
また、ユーザが新たに再生装置を購入して、それを既存のグループに追加させるときにも、サーバの処理が必要になるという課題があった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、サーバ等の管理者を必要とすることなく、コンテンツを共用可能なグループを設定できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、正規の情報処理装置の間で共通なルートキーを保有する保有手段と、自己の所属するグループを示す所属グループ識別情報、および自己が、所属するグループにおける親機であるか否かを示す親機フラグを保持する保持手段と、コンテンツデータ、およびコンテンツデータを利用するためのライセンスを管理する管理手段と、ライセンスに記述されている、コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、所属グループ識別情報とが一致する場合のみ、ライセンスに対応するコンテンツデータの暗号をルートキーを用いて復号して再生する再生手段と、自己が、グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、保持手段に保持されている所属グループ識別情報を読み出し、ルートキーを用いて暗号化して他の情報処理装置に送信する送信手段と、親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された所属グループ識別情報の暗号をルートキーを用いて復号して保持手段に登録する登録手段とを含む。
【００１１】
本発明の情報処理装置は、自己が前記親機である場合、他の情報処理装置からの要求に応じて、前記ルートキーを用いた相互認証の後、前記所属グループ識別情報を変更することなく、前記親機フラグをFALSEに変更し、自己が前記親機ではない場合、親機である他の情報処理装置と前記ルートキーを用いた相互認証の後、保持されている前記所属グループ識別情報を前記親機である他の情報処理装置と同一のものに変更し、前記親機フラグをTRUEに変更する親機変更手段をさらに含むことができる。
【００１３】
前記送信手段は、自己が親機である場合、保持されている所属グループ識別情報を、自己が属するグループに属していない有限数の他の情報処理装置に送信し、前記保持手段は、付与手段が所属グループ識別情報を他の情報処理装置に付与できる残りの回数も保持するようにすることができる。
【００１５】
本発明の情報処理装置は、自己に固有に付与されているデバイスノードキーと、コンテンツデータのヘッダに含まれるイネーブルキーブロックに基づき、正規の情報処理装置が共通して生成し得るルートキーを生成する生成手段をさらに含むことができる。
【００１６】
本発明の情報処理方法は、情報処理装置による、自己の所属するグループを示す所属グループ識別情報、および自己が、所属するグループにおける親機であるか否かを示す親機フラグを保持手段に保持する保持ステップと、コンテンツデータ、およびコンテンツデータを利用するためのライセンスを管理する管理ステップと、ライセンスに記述されている、コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、所属グループ識別情報とが一致する場合のみ、ライセンスに対応するコンテンツデータの暗号を、正規の情報処理装置の間で共通なルートキーを用いて復号して再生する再生ステップと、自己が、グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、保持手段に保持されている所属グループ識別情報を読み出し、ルートキーを用いて暗号化して他の情報処理装置に送信する送信ステップと、親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された所属グループ識別情報の暗号をルートキーを用いて復号して保持手段に登録する登録ステップとを含む。
【００１７】
本発明のプログラムは、自己の所属するグループを示す所属グループ識別情報、および自己が、所属するグループにおける親機であるか否かを示す親機フラグを保持手段に保持する保持ステップと、コンテンツデータ、およびコンテンツデータを利用するためのライセンスを管理する管理ステップと、ライセンスに記述されている、コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、所属グループ識別情報とが一致する場合のみ、ライセンスに対応するコンテンツデータの暗号を、正規の情報処理装置の間で共通なルートキーを用いて復号して再生する再生ステップと、自己が、グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、保持手段に保持されている所属グループ識別情報を読み出し、ルートキーを用いて暗号化して他の情報処理装置に送信する送信ステップと、親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された所属グループ識別情報の暗号をルートキーを用いて復号して保持手段に登録する登録ステップとを含む処理を情報処理装置のコンピュータに実行させる。
【００１８】
本発明においては、自己の所属するグループを示す所属グループ識別情報、および自己が、所属するグループにおける親機であるか否かを示す親機フラグが保持されており、ライセンスに記述されている、コンテンツデータの共用が許可されているグループを示す共用許可グループ識別情報と、所属グループ識別情報とが一致する場合のみ、ライセンスに対応するコンテンツデータの暗号が、正規の情報処理装置の間で共通なルートキーを用いて復号され再生される。また、自己が、グループに対して子機を追加することができる親機である場合、自己が属するグループに属していない他の情報処理装置からの要求に応じ、保持手段に保持されている所属グループ識別情報が読み出され、ルートキーを用いて暗号化されて他の情報処理装置に送信され、親機としての他の情報処理装置から所属グループ識別情報が送信された場合、送信された所属グループ識別情報の暗号がルートキーを用いて復号されて保持手段に登録される。
【発明の効果】
【００１９】
本発明によれば、サーバ等の管理者を必要とすることなく、コンテンツを共用できるグループを設定することが可能となる。また、グループに所属させ得るメンバの数を制限することでグループの拡大を抑制することが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態である再生装置の概要について説明する。この再生装置１は、図１に示すように、複数の再生装置１をメンバとするグループを構成することができ、同じグループに属する複数の再生装置１の間で、コンテンツとそれを利用する権利であるライセンスを相互に共用する（装置内にコピーを生成し、それを利用する）ことができる。以下、同一のグループに属する再生装置１をメンバとも記述し、同一のグループに属していない再生装置１を非メンバとも記述する。
【００２９】
グループを構成するメンバ（再生装置１）は、そのうちの１つが親機となり、その他が子機となる。親機は、非メンバを、グループに所属させてメンバにすることができる。ユーザは、親機を変更することができる。
【００３０】
図１の場合、再生装置１−１乃至１−３がグループＸのメンバであるので、再生装置１−１乃至１−３は、相互にコンテンツを共用することができる。また、再生装置１−４は、グループＸの非メンバであるので、再生装置１−１乃至１−３とコンテンツを共用することはできない。
【００３１】
初期化装置２は、製造の最終工程等として、全ての再生装置１に対して初期化処理を行う。具体的には、例えば、各再生装置１に対して固有のデバイスノードキーDNKを付与する処理を行う。また、各再生装置１を、それぞれ単独で構成されるグループに属し、そのグループの親機に設定する処理を行う。
【００３２】
また、各再生装置１に対して固有のデバイスノードキーDNKを付与する代わりに、各再生装置１に共通のルートキーＫRを付与するようにしてもよい。
【００３３】
なお、初期化処理の詳細については、図７のフローチャートを参照して後述する。
【００３４】
コンテンツ供給装置３は、再生装置１に対して、暗号化されているコンテンツ６１（図３）とそれに対応するライセンス６２（図３）を供給する。ライセンス６２には、対応するコンテンツ６１の共用が許可されているグループを示す使用許可GIDが含まれる。コンテンツ６１およびライセンス６２の供給方法としては、例えば、インタネット等のネットワークを介して供給したり、テレビジョン等の放送信号を用いて供給したり、記録媒体に記録した状態で供給したり、どのような方法でもかまわない。
【００３５】
次に、再生装置１の構成例について、図２を参照して説明する。この再生装置１は、CPU(Central Processing Unit)１１を内蔵している。CPU１１にはバス１４を介して、入出力インタフェース１５が接続されている。バス１４には、ROM(Read Only Memory)１２およびRAM(Random Access Memory)１３が接続されている。
【００３６】
入出力インタフェース１５には、ユーザからの各種の操作を入力する入力部１６、コンテンツの再生結果としての音声や映像等出力する出力部１７、各種データを格納するハードディスクドライブなどよりなる記憶部１８、他の再生装置１等と接続して通信を行う通信部１９、および記録媒体２１に対してデータを読み書きするドライブ２０が接続されている。
【００３７】
CPU１１は、記録媒体２１から読み出されて記憶部１８にインストールされ、記憶部１８からRAM１３にロードされたコンテンツ共用プログラム３１を実行することにより、後述する各種の処理を実行する。
【００３８】
図３は、CPU１１がコンテンツ共用プログラム３１を実行することにより実現される機能ブロック図を示している。
【００３９】
通信部４１は、他の再生装置１、初期化装置２、コンテンツ供給装置３等との通信処理を実行する。管理部４２は、コンテンツ供給装置３または他の通信装置１から供給されるコンテンツ６１と、それに対応するライセンス６２を保持する。
【００４０】
GID検証部４３は、後述する初期化処理、同一グループ設定処理、および親機交代処理を主立って実行する。
【００４１】
GID記憶部４４は、当該再生装置１が属するグループを示すGIDとその他の情報を記憶する。図４には、GID記憶部４４に記憶される情報の一覧を示している。GID記憶部４４には、GID、親機フラグ、レディフラグ、コミットフラグ、アボートフラグ、GID付与残数ｎ、およびGID被設定残数ｍが記憶される
【００４２】
GIDは、当該再生装置１が属するグループを示すものであり、初期化処装置２から付与されたものか、または他のグループに属する際にそのグループの親機である他の再生装置１から付与されたものである。
【００４３】
親機フラグは、当該再生装置１が親機である(TRUE)か否(FALSE)かを示す。レディフラグ、コミットフラグ、アボートフラグは、他の再生装置１との間で親機を交代する際、その処理が正常に完了したか否かを示すために用いられる。
【００４４】
GID付与残数ｎは、当該再生装置１が親機であるとき、グループに所属させることができる子機（他の再生装置１）の残数を示す。このGID付与残数ｎは、初期化装置２によって設定された初期値から、子機を追加する毎に１ずつデクリメントされる。GID付与残数ｎを、初期設定において所定の有限値にすることにより、グループを構成するメンバ数を制限することができる。
【００４５】
GID被設定残数ｍは、子機として所属するグループを変更することができる残りの回数を示す。このGID被設定残数ｍは、初期化装置２によって設定された初期値から、所属するグループを変更する毎に１ずつデクリメントされる。
【００４６】
図３に戻る。判定部４５は、GID記憶部４４に記憶されているGIDと、管理部４２に管理されている、再生しようとするコンテンツ６１に対応するライセンス６２に記述されている使用許可GIDとが一致するか否かを判定し、その判定結果を復号処理部４７に通知する。デバイスノードキー記憶部４６は、製造時に組み込まれたデバイスノードキーDNKを記憶する。そして復号処理部４７は、デバイスノードキー記憶部４６の記憶するデバイスノードキーDNKに基づきルートキーＫRを生成する。
【００４７】
復号処理部４７は、再生が指示されたコンテンツ６１とそれに対応するライセンス６２を管理部４２から読み出し、デバイスノード鍵記憶部４６のデバイスノードキーDNKと、読み出したコンテンツ６１の暗号化されていないヘッダに含まれるイネーブルキーブロック（EKB(Enable Key Block)（図５））とに基づいてルートキーＫRを生成する。さらに、生成したルートキーＫRを用いて、初期化装置２や他の再生装置１と通信される暗号化データやコンテンツの暗号を復号する。ここで、ルートキーＫRとは、正規に製造された再生装置１だけが共通して生成し得るものである。
【００４８】
なお、初期化装置２から各再生装置１に対して、デバイスノードキーDNKではなく、ルートキーＫRを付与するようにした実施の形態も考えられる。その場合、デバイスノードキー記憶部４６においてルートキーＫRを記憶するようにする。この場合、復号管理部４７においてルートキーＫRを生成する処理は省略される。
【００４９】
再生部４８は、暗号の復号されたコンテンツを再生する。出力部４９は、再生部４８による再生結果としての音声や映像を出力する。操作入力部５０は、ユーザからのコマンドを受け付けて、その情報を再生装置１の各部に通知する。
【００５０】
また、図３に示された再生装置１の構成は、CPU１１がソフトウェア（コンテンツ共用プログラム３１）を実行することによって実現される、と上述したが、図３に示された機能ブロックをハードウェアによって実現するようにしてもかまわない。
【００５１】
次に、図５は、管理部４２に保持されたコンテンツ６１のフォーマットの構成を示している。コンテンツ６１は、ヘッダ(Header)とデータ部(Data)から構成される。
【００５２】
ヘッダには、コンテンツ情報(Content information)、ライセンスID(Lic.ID)、イネーブリングキーブロック（有効化キーブロック）（EKB（Enabling Key Block））および、EKBから生成されたルートキーＫRを用いてコンテンツキーＫCを暗号化したＫS（ＫC）が配置されている。なお、EKBについては後述する。
【００５３】
コンテンツ情報には、符号化されて暗号化された状態でデータ部に格納されている、楽曲や映像の実質的なデータを識別するための識別情報としてのコンテンツＩＤ(CID)、そのコンテンツの符号化方式などの情報が含まれている。
【００５４】
データ部は、任意の数の暗号化ブロック(Encryption Block)により構成される。各暗号化ブロックは、イニシャルベクトル(ＩＶ(Initial Vector))、シード(Seed)、およびコンテンツの実質的なデータをキーＫ’Cで暗号化したデータＥK'C(data)により構成されている。
【００５５】
キーＫ’Cは、次式により示されるように、コンテンツキーＫCと、乱数で設定される値Seedをハッシュ関数に適用して演算された値により構成される。
【００５６】
Ｋ’C＝Hash(ＫC, Seed)
【００５７】
イニシャルベクトルＩＶとシードSeedは、各暗号化ブロック毎に異なる値に設定される。
【００５８】
この暗号化は、コンテンツの実質的なデータを８バイト単位で区分して、８バイト毎に行われる。後段の８バイトの暗号化は、前段の８バイトの暗号化の結果を利用して行われるCBC(Cipher Block Chaining)モードで行われる。
【００５９】
CBCモードの場合、最初の８バイトのコンテンツデータを暗号化するとき、その前段の８バイトの暗号化結果が存在しないため、最初の８バイトのコンテンツデータを暗号化するときは、イニシャルベクトルIVを初期値として暗号化が行われる。
【００６０】
このCBCモードによる暗号化を行うことで、１つの暗号化ブロックが解読されたとしても、その影響が、他の暗号化ブロックに及ぶことが抑制される。なお、暗号方式についてはこれに限らない。
【００６１】
次に、図６は、ライセンス６２に記述されている情報の一覧を示している。ライセンス６３には、ライセンスＩＤ、作成日時、有効期限、使用条件、使用許可GID、および電子署名が記述されている。
【００６２】
ライセンスＩＤは、当該ライセンス６２の固有の識別情報である。作成日時は、当該ライセンス６２の作成された日時を示すものである。有効期限は、当該ライセンス６２に基づいて対応するコンテンツ６１を再生することができる期限を示すものである。使用条件には、当該ライセンス６２に基づいて、コンテンツをコピーすることが可能な回数（許されるコピー回数）、チェックアウト回数、最大チェックアウト回数、そのライセンスに基づいて、コンテンツをCD-Rに記録することができる権利、PD(Portable Device)にコピーすることが可能な回数、ライセンスを所有権（買い取り状態）に移行できる権利、使用ログをとる義務等を示す情報が含まれる。
【００６３】
使用許可GIDは、当該ライセンス６２を共用することができるグループのGIDである。この使用許可GIDには、当該ライセンス６２に対応するコンテンツ６１を取得した再生装置１の属するグループのGIDが記述された状態で、コンテンツ供給装置３から供給される。
【００６４】
電子署名は、ライセンスＩＤ、作成日時、有効期限、使用条件、および使用許可GIDに対して、当該ライセンス６１の発行者が秘密鍵を用いて発行したものである。
【００６５】
次に、再生装置１の初期化処理について、図７のフローチャートを参照して説明する。この初期化処理は、再生装置１の出荷時において、初期化装置２と連携して実行される。再生装置１と初期化装置２は、既に接続されているものとする。また、既に、初期化装置２には、固有のデバイスノードキーDNKが付与されているものとする。
【００６６】
ステップＳ１において、再生装置１のGID検証部４３は、乱数ｒを発生し、発生した乱数ｒと初期化を要求することを示す文字列“NEW GID REQUEST”とを通信部４１に出力する。通信部４１は、文字列“NEW GID REQUEST”と乱数ｒを初期化装置２に送信する。
【００６７】
これに対応して、初期化装置２は、初期化要求に応じたことを示す文字列“NEW GID RESPONSE”と、初期化を要求してきた再生装置１に対して固有に付与するGIDと、GID付与残数ｎの初期値と、GID被設定残数ｍの初期値と、初期化を要求してきた再生装置１から送信されてきた乱数ｒとを、ルートキーＫRを用いて暗号化し、その結果得られた暗号化データと、EKBとを再生装置１に返信する。
【００６８】
ステップＳ２において、通信部４１は、初期化装置２からの暗号化データとEKBを受信する。ステップＳ３において、復号処理部４７は、デバイスノードキー記憶部４６に記憶されているデバイスノードキーDNKと、通信部４１によって受信されたEKBとを用いて、ルートキーＫRを生成する。
【００６９】
ここで、デバイスノードキーDNKと、EKBと、ルートキーＫRとの関係について、図８を参照して説明する。本発明において、デバイスノードキーDNK、EKB、ルートキーＫR等のキーは、図８に示されるように、ブロードキャストインクリプション(Broadcast Encryption)方式の原理に基づいて管理される。キーは、階層ツリー構造とされ、図中の円形で示される各ノードにはそれぞれ異なる鍵が割り当てられている。最下段のノードはリーフ（leaf）、あるいはデバイスノードと呼ばれ、それぞれが異なる再生装置１に対応する。図８の例の場合、番号０から番号１５までの１６個の再生装置1が存在することになる。以降は１６個の再生装置１からなるシステムで説明するが、階層の深さ、１ノードに対する下位ノードの個数を変更することで、任意の個数の再生装置１からなるシステムを扱うことができる。
【００７０】
各キーは、図中丸印で示される階層ツリー構造の各ノードに対応して規定される。この例では、最上段のルートノードに対応してルートキーＫRが、２段目のノードに対応してキーＫ０，Ｋ１が、３段目のノードに対応してキーＫ００乃至Ｋ１１が、第４段目のノードに対応してキーＫ０００乃至キーＫ１１１が、それぞれ対応されている。そして、最下段のノードとしてのリーフ（デバイスノード）に、キーＫ００００乃至Ｋ１１１１が、それぞれ対応されている。
【００７１】
階層ツリー構造とされているため、例えば、キーＫ００１０とキー００１１の上位のキーは、Ｋ００１とされ、キーＫ０００とキーＫ００１の上位のキーは、Ｋ００とされている。以下同様に、キーＫ００とキーＫ０１の上位のキーは、Ｋ０とされ、キーＫ０とキーＫ１の上位のキーは、ＫRとされている。
【００７２】
各再生装置１に対応するリーフ（デバイスノード）およびその上位のノードに割り当てられた鍵をまとめてデバイスノードキーDNKと呼ぶことにする。例えば、図８の番号３のリーフに対応する再生装置１に対しては、DNKとしてキーＫ００１１，Ｋ００１，Ｋ００，Ｋ０，ＫRを与えておく。
【００７３】
再生装置1はEKBとDNKを使って最新のルートキーＫR(t)を得る(tは時刻とする)。最新のルートキーＫR(t)＝ＫRでする場合、EKBは空のデータである。
【００７４】
何らかの理由で１乃至複数の再生装置1が正規であるとみなせなくなった場合、それらでは最新のルートキーＫR(t)をＫRと変えて、それらの再生装置1からはルートキーＫR(t)が得られないようにEKBを作ることができる。たとえば、図８で番号３のリーフに対応する再生装置１でルートキーＫR(t)が得られないようにするには、Ｋ００１，Ｋ００，Ｋ０，ＫRを更新してＫ００１(t)，Ｋ００(t)，Ｋ０(t)，ＫR(t)とし、EKBとしてEnc (ＫR(t)，ＫS)、Enc (Ｋ０(t)，ＫR(t))、Enc (Ｋ１，ＫR(t))、Enc (Ｋ００(t)，Ｋ０(t))、Enc (Ｋ０１，Ｋ０(t))、Enc (Ｋ００１(t)，Ｋ００(t))、Enc (Ｋ０００，Ｋ００(t))、Enc (Ｋ００１０，Ｋ００１(t))をつかう。番号３のノードに対応する再生装置１はＫ００１１、Ｋ００１，Ｋ００，Ｋ０，ＫRしか与えられていないので、更新されたＥＫＢから最新のルートキーＫR(t)を得ることはできない。それに対して、番号３以外のリーフに対応する再生装置1はＫ１、Ｋ０１、Ｋ０００、Ｋ００１０のいずれかを与えられているので、最新のルートキーＫR(t)を得ることができる。
【００７５】
上記のようにEKBの作り方を変えることで、正規とみなされる、すなわち最新のルートキーＫR(t)を得られる再生装置1の集合を変化させることができる。以降の説明で特に断らない限り、ルートキーＫRは最新のルートキーＫR(t)を意味する。
【００７６】
図７に戻る。ステップＳ４において、復号処理部４７は、生成されたルートキーＫRを用いて、ステップＳ２の処理で受信された暗号化データを復号し、復号結果をGID検証部４３に出力する。ステップＳ５において、GID検証部４３は、暗号化データの復号結果に含まれる乱数ｒが、ステップＳ１で送信した乱数ｒと一致するか否かを判定し、一致すると判定した場合、ステップＳ６に進む。
【００７７】
ステップＳ６において、GID検証部４３は、ステップＳ４の処理での復号結果として得られた、GIDと、GID付与残数ｎの初期値と、GID被設定残数ｍの初期値とを、GID記憶部４４に記憶させる。さらに、GID検証部４３は、GID記憶部４４の親機フラグを、親機であることを示すTRUEに設定し、レディフラグ、コミットフラグ、アボートフラグをFALSEに設定する。ステップＳ６の処理により、再生装置１は、自己単独で構成されるグループの親機に設定されたことになる。
【００７８】
なお、ステップＳ５において、暗号化データの復号結果に含まれる乱数ｒが、ステップＳ１で送信した乱数ｒと一致しないと判定された場合、処理はステップＳ１に戻り、それ以降の処理が改めて行われる。以上、初期化処理の説明を終了する。
【００７９】
次に、取得済のコンテンツを再生するコンテンツ再生処理について、図９のフローチャートを参照して説明する。このコンテンツ再生処理は、例えば、ユーザによりコンテンツ６１が選択され、その再生が指示されたときに開始される。
【００８０】
ステップＳ１１において、操作入力部５０は、再生が指示されたコンテンツ６１を特定する。ステップＳ１２において、判定部４５は、再生が指示されたコンテンツ６１に対応するライセンス６２を、管理部４２から読み出す。
【００８１】
ステップＳ１３において、判定部４５は、ライセンス６２に記録されている有効期限を読み出し、当該ライセンス６２が有効であるか否かを確認する。当該ライセンス６２が有効であると確認された場合、処理はステップＳ１４に進む。
【００８２】
ステップＳ１４において、判定部４５は、ライセンス６２に記録されている使用許可GIDと、GID記憶部４４に記憶されているGIDとが一致するか否かを判定し、判定結果を復号処理部４７に出力する。両者が一致すると判定された場合、処理はステップＳ１５に進む。
【００８３】
ステップＳ１５において、復号処理部４７は、再生が指示されたコンテンツ６１を保管部４２から読み出して、その暗号を復号する。
【００８４】
コンテンツ６１の暗号の復号について、図１０を参照して説明する。復号処理部４７は、デバイスノードキー記憶部４６に記憶されているデバイスノードキーDNKを、コンテンツ６１のヘッダに含まれるEKBに適用してルートキーＫRを取得する。次に、ルートキーＫRを、暗号化されたコンテンツキーＫC（Enc（ＫR，ＫC））に適用して、コンテンツキーＫCを得る。そして、コンテンツキーＫCにより、コンテンツ６１のデータ部の暗号を復号する。
【００８５】
図９に戻る。ステップＳ１６において、再生部４８は、復号処理部４７による復号結果を再生する。出力部４９は、再生部４８による再生結果を、ディスプレイやスピーカ等に出力する。
【００８６】
なお、ステップＳ１３において、読み出したライセンス６２が有効ではないと判定された場合、処理はステップＳ１７に進む。また、ステップＳ１４において、判定部４５は、ライセンス６２に記録されている使用許可GIDと、GID記憶部４４に記憶されているGIDとが一致しないと判定された場合も、処理はステップＳ１７に進む。ステップＳ１７において、出力部４９は、ユーザに対して、指示されたコンテンツ６１を再生できない旨を通知する。以上で、コンテンツ再生処理の説明を終了する。
【００８７】
次に、コンテンツ共用処理について、図１１のフローチャートを参照して説明する。このコンテンツ共用処理は、同一のグループの属する複数の再生装置１の間で行われるものであり、親機から子機に対して、子機から親機に対して、あるいは、子機から他の子機に対してのいずれの状況においても実行可能である。
【００８８】
以下、コンテンツ６１を既に保持している再生装置１（例えば、再生装置１−１）から、保持していない再生装置１（例えば、再生装置１−１）に、コンテンツ６１をコピーする動作を例に説明する。なお、再生装置１−１と再生装置１−２は、既に接続されているものとする。
【００８９】
ステップＳ２１において、再生装置１−１の管理部４１は、ユーザによって共用が指示されたコンテンツ６１とそれに対応するライセンス６２を読み出して、通信部４１に出力する。ステップＳ２２において、通信部４１は、管理部４２から入力されたコンテンツ６１とそれに対応するライセンス６２を、再生装置１−２に送信する。このコンテンツ６１とそれに対応するライセンス６２は、再生装置１−２の通信部４１によって受信されて、再生装置１−２の管理部４２に保持される。以上で、コンテンツ共用処理の説明を終了する。
【００９０】
次に、グループのメンバに追加するための同一グループ設定処理について、図１２のフローチャートを参照して説明する。この同一グループ設定処理は、グループの親機（例えば、再生装置１−１）と、そのグループに所属させようとする非メンバ（例えば、再生装置１−４）との間で行われる。なお、親機と非メンバは、既に接続されているものとする。
【００９１】
ステップＳ４１において、非メンバのGID検証部４３は、GID記憶部４４に記憶されているGID被設定残数ｍが１以上であるか否かを判定し、１以上であると判定した場合、ステップＳ４２に進む。ステップＳ４２において、非メンバのGID検証部４３は、乱数ｒを発生し、発生した乱数ｒと、グループへの所属要求を示す文字列“GID REQUEST”とを通信部４１に出力する。非メンバの通信部４１は、文字列“GID REQUEST”と乱数ｒを、親機に送信する。
【００９２】
これを受信した親機では、ステップＳ５１において、GID検証部４３は、親機のGID記憶部４４に記憶されている親機フラグがTRUEであるか否かを判定し、親機フラグがTRUEであると判定した場合、ステップＳ５２に進み、GID記憶部４４に記憶されているGID付与残数ｎが１以上であるか否かを判定する。GID付与残数ｎが１以上であると判定された場合、処理はステップＳ５３に進む。
【００９３】
なお、ステップＳ５１において、親機のGID記憶部４４に記憶されている親機フラグがTRUEではない（親機フラグがFALSEである）と判定された場合、処理はステップＳ５４に進む。また、ステップＳ５２において、親機のGID記憶部４４に記憶されているGID付与残数ｎが１以上ではない（GID付与残数ｎが０である）と判定された場合も、処理はステップＳ５４に進む。ステップＳ５４において、親機の出力部４９は、ユーザに対して、メンバを追加できない旨を通知する。
【００９４】
ステップＳ５３において、親機のGID検証部４３は、GID記憶部４４に記憶されているGID付与残数ｎを１だけデクリメントする。さらに、親機のGID検証部４３は、グループへの所属要求に応じたことを示す文字列“GID RESPONSE”と、GID記憶部４４に記憶されているGIDと、非メンバから送信されてきた乱数ｒとを、ルートキーＫRを用いて暗号化し、その結果得られた暗号化データを非メンバに返信する。
【００９５】
この暗号化データを受信した非メンバでは、ステップＳ４３において、復号処理部４７は、受信した暗号化データを、ルートキーＫRを用いて復号し、復号結果をGID検証部４３に出力する。ステップＳ４４において、GID検証部４３は、暗号化データの復号結果に含まれる乱数ｒが、ステップＳ４２で送信した乱数ｒと一致するか否かを判定し、一致すると判定した場合、ステップＳ４５に進む。
【００９６】
ステップＳ４５において、非メンバのGID検証部４３は、ステップＳ４３の処理での復号結果として得られたGID（親機と同じGID）を用いて、GID記憶部４４に記憶されているGIDを更新させ、GID記憶部４４に記憶されているGID被設定残数ｍを１だけデクリメントする。さらに、GID記憶部４４に記憶されている親機フラグがTRUEであるならば、FALSEに設定する。ステップＳ４５の処理により、非メンバであった再生装置１−２が、親機である再生装置１−１の属するグループのメンバに追加されたことになる。
【００９７】
なお、ステップＳ４１において、非メンバのGID記憶部４４に記憶されているGID被設定残数ｍが１以上ではない（GID被設定残数ｍが０である）と判定された場合、この非メンバの再生装置１−２は、属するグループをこれ以上変更することができないので、処理はステップＳ４６に進む。また、ステップＳ４４において、暗号化データの復号結果に含まれる乱数ｒが、ステップＳ４２で送信した乱数ｒと一致しないと判定した場合にも、ステップＳ４６に進む。ステップＳ４６において、非メンバの出力部４９は、ユーザに対して、属するグループを変更できない旨を通知する。以上で、同一グループ設定処理の説明を終了する。
【００９８】
以上説明したように、同一グループ設定処理によれば、グループの親機（例えば、再生装置１−１）例えば、非メンバの再生装置１−４を、既に所有している再生装置１−１等からなるグループに所属させることができる。これにより、再生装置１−４も、再生装置１−１乃至１−３が取得済のコンテンツ６１を共用することが可能となる。
【００９９】
なお、親機がグループに所属させ得る子機の数が制限されているので、グループが無限にされることも抑止される。
【０１００】
次に、親機を交代するための親機交代処理について、図１３のフローチャートを参照して説明する。以下、親機交代処理の実行前の現在の親機を現親機と記述し、現親機に代わって親機となるものを新親機と記述する。このとき、新親機は、現親機と同一のグループに属していてもよいし、他のグループに属していてもよい。なお、現親機と新親機は、既に接続されているものとする。
【０１０１】
ステップＳ１０１において、新親機のGID検証部４３は、乱数ｒ１を発生し、発生した乱数ｒ１と親機交代の要求を示す文字列“PARENT HOOD REQUEST”とを通信部４１に出力する。新親機の通信部４１は、文字列“PARENT HOOD REQUEST”と乱数ｒ１を、現親機に送信する。
【０１０２】
これを受信した現親機では、ステップＳ１２１において、GID検証部４３は、GID記憶部４４に記憶されているレディフラグをTRUEに設定し、コミットフラグ、アボートフラグをFALSEに設定する。ステップＳ１２２において、GID検証部４３は、親機交代の準備ができたことを示す文字列“PARENTHOOD TRANSFER READY”と、GID記憶部４４に記憶されているGIDと、新親機から送信されてきた乱数ｒ１と、新たに発生した乱数ｒ２とを、ルートキーＫRを用いて暗号化し、その結果得られた暗号化データを新親機に返信する。
【０１０３】
この暗号化データを受信した新親機では、ステップＳ１０２において、復号処理部４７は、受信した暗号化データを、ルートキーＫRを用いて復号し、復号結果をGID検証部４３に出力する。ステップＳ１０３において、GID検証部４３は、暗号化データの復号結果に含まれる乱数ｒ１が、ステップＳ１０１で送信した乱数ｒ１と一致するか否かを判定し、一致すると判定した場合、ステップＳ１０４に進む。
【０１０４】
ステップＳ１０４において、新親機のGID記憶部４４のレディフラグをTRUEに設定し、コミットフラグ、アボートフラグをFALSEに設定する。つぎにステップＳ１０５において、新親機のGID検証部４３は、文字列“PARENTHOOD ACCEPT READY”と、ステップＳ１０２の復号結果に含まれるGID（現親機と同じGID）と、乱数ｒ２とを、ルートキーＫRを用いて暗号化し、その結果得られた暗号化データを現親機に返信する。
【０１０５】
一方、ステップＳ１０５の処理として新親機が送信した暗号化データを受信した現親機では、ステップＳ１２３において、復号処理部４７は、受信した暗号化データを、ルートキーＫRを用いて復号し、復号結果をGID検証部４３に出力する。ステップＳ１２４において、GID検証部４３は、暗号化データの復号結果に含まれる乱数ｒ２とGIDが、ステップＳ１２２で送信した乱数ｒ２とGIDに一致するか否かを判定し、一致すると判定した場合、処理は、ステップＳ１２５進む。ステップＳ１２５において、GID検証部４３は、親機交代の実行を指示する文字列“PARENTHOOD TRANSFER COMMIT”と、GID記憶部４４に記憶されているGIDと、GID付与残数ｎと、新親機から送信されてきた乱数ｒ１を、ルートキーＫRを用いて暗号化し、その結果得られた暗号化データを新親機に返信する。次に、ステップＳ１２６において、現親機GID検証部４３は、GID記憶部４４に記憶されているレディフラグと親機フラグをFALSEに、コミットフラグをTRUEに設定する。これにより、現親機が、同一のグループに属したままで、子機に変更されたことになる。
【０１０６】
なお、ステップＳ１２４において、ステップＳ１２３の処理での復号結果に含まれる乱数ｒ２が、ステップＳ１２２で送信した乱数ｒ２と一致しないと判定された場合、処理はステップＳ１２７に進み、ユーザに対して、親機交代処理が正常に行われなかった旨が通知される。この場合、コミットフラグをFALSEに、アボートフラグをTRUEに設定する。つぎにエラー復旧処理を行う。すなわち、新親機に対して当該親機交代処理が中止されたことを通知し、その状態を処理が実行される前に復旧させる。この処理は、２相コミットメントとして一般的なものなので詳しい説明は省略する。
【０１０７】
ステップＳ１２５の処理として現親機が送信した暗号化データを受信した新親機では、ステップＳ１０６において、復号処理部４７は、受信した暗号化データを、ルートキーＫRを用いて復号し、復号結果をGID検証部４３に出力する。ステップＳ１０７において、GID検証部４３は、暗号化データの復号結果に含まれる乱数ｒ１とGIDが、ステップＳ１０１で送信した乱数ｒ１、およびステップＳ１０２で得られたGIDに一致するか否かを判定し、一致すると判定した場合、処理は、ステップＳ１０８に進む。ステップＳ１０８において、現親機のGID検証部４３は、ステップＳ１０６の処理での復号結果として得られたGIDとGID付与残数ｎを用いて、GID記憶部４４に記憶されているGIDとGID付与残数ｎを更新させる。さらに、親機フラグをTRUEに設定する。これにより、新親機が、現親機の属するグループの親機に変更されたことになる。
【０１０８】
なお、ステップＳ１０３およびＳ１０７において、暗号化データの復号結果に含まれる乱数ｒ１が、ステップＳ１０１で送信した乱数ｒ１と一致しないと判定された場合、処理はステップＳ１０９に進み、親機を交代できない旨がユーザに通知される。この場合にはエラー復旧処理を行うことになる。これは、新親機から現親機に当該親機交代処理の結果を知らせるメッセージを要求し、現親機ではコミットフラグ、アボートフラグの値（TRUEかFLASEか）によって当該親機交代処理の結果を判断してメッセージを送る。この処理は２相コミットメントとして一般的なので説明を省略する。
【０１０９】
以上説明したように、親機交代処理によれば、既存のグループの親機を、新たに購入した、通常、既存の現親機よりも比較的故障し難いと考えられる新親機に交代させることができる。この親機交代処理を行うことにより、現親機が故障することによってグループにメンバを追加できなくなってしまう事態を未然に防ぐことができる。
【０１１０】
以上説明したように、本発明においては、同一のGIDを保持しているか否かに基づいて判断している。そして、GIDの設定は、GIDを受け取る側が、GIDを付与する側を認証した後に行われているので、GIDを受け取る側を一元的に管理するサーバ等が不要となる。
【０１１１】
なお、本実施の形態の再生装置１は、例えば、ポータブルプレーヤ、テレビジョン受像機、ホームサーバ、パーソナルコンピュータ等の様々な電子機器であって、必ずしも同種の電子機器である必要はない。
【０１１２】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施の形態である再生装置の概要を説明するための図である。
【図２】図１の再生装置の内部の構成例を示すブロック図である。
【図３】図１の再生装置の機能ブロックの構成例を示す図である。
【図４】図３のGID記憶部に記憶される情報の一覧を示す図である。
【図５】共用されるコンテンツのフォーマットの構成を示す図である。
【図６】コンテンツを利用するためのライセンスに記述されている情報の一覧を示す図である。
【図７】初期化処理を説明するフローチャートである。
【図８】ルートキー、EKB、およびデバイスノードキーの関係を説明する図である。
【図９】コンテンツ再生処理を説明するフローチャートである。
【図１０】コンテンツの暗号を復号する処理を説明するための図である。
【図１１】コンテンツ共用処理を説明するフローチャートである。
【図１２】同一グループ設定処理を説明するフローチャートである。
【図１３】親機交代処理を説明するフローチャートである。
【符号の説明】
【０１１４】
１  再生装置，  ２  初期化装置，  ３  コンテンツ供給装置，  １１  CPU，  ３１  コンテンツ共用プログラム，  ４１  通信部，  ４２  管理部，  ４３  GID検証部，  ４４  GID記憶部，  ４５  判定部，  ４６  デバイスノードキー記憶部，  ４７  復号処理部，  ４８  再生部，  ４９  出力部
【図１】
0004631291.tif 000002
【図２】
0004631291.tif 000003
【図３】
0004631291.tif 000004
【図４】
0004631291.tif 000005
【図５】
0004631291.tif 000006
【図６】
0004631291.tif 000007
【図７】
0004631291.tif 000008
【図８】
0004631291.tif 000009
【図９】
0004631291.tif 000010
【図１０】
0004631291.tif 000011
【図１１】
0004631291.tif 000012
【図１２】
0004631291.tif 000013
【図１３】
0004631291.tif 000014