【手続補正書】
【提出日】平成18年3月17日(2006.3.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】  明細書
【発明の名称】  データ処理装置、データ処理機器およびその方法
【特許請求の範囲】
【請求項１】
コンテンツ鍵データを用いて暗号化されたコンテンツデータの権利処理を権利書データに基づいて行い、暗号化された前記コンテンツ鍵データを復号するデータ処理装置であって、
第１のバスと、
前記コンテンツデータの権利処理を前記権利書データに基づいて行い、前記第１のバスに接続された演算処理回路と、
前記第１のバスに接続された記憶回路と、
第２のバスと、
前記第１のバスと前記第２のバスとの間に介在するインターフェイス回路と、  前記第２のバスに接続され、前記コンテンツ鍵データの復号を行う暗号処理回路と、
前記第２のバスに接続された外部バスインターフェイス回路と
を耐タンパ性の回路モジュール内に有し、
前記演算処理回路は、前記外部バスインターフェイス回路を介して外部回路から割り込みを受けると、当該外部回路のスレーブとなって当該割り込みによって指定された処理を行い、当該処理の結果を前記外部装置に通知する
データ処理装置。
【請求項２】
前記外部バスインターフェイスは、前記演算処理回路および前記外部回路との共有メモリを有し、
前記演算処理回路は、当該共有メモリに前記処理の結果を書き込み、当該処理の結果は前記外部回路からのポーリングによって当該外部回路に通知される
請求項１に記載のデータ処理装置。
【請求項３】
所定のプログラムを実行し、所定の条件で割り込みを出す演算処理装置と、
前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって所定の処理を行い、当該処理の結果を前記演算処理装置に通知するデータ処理装置と
を有するデータ処理機器において、
前記データ処理装置は、
権利書データが示す取り扱いに基づいて、コンテンツデータの購入形態および利用形態の少なくとも一方を決定する決定手段と、
前記決定の結果を示す履歴データを生成する履歴データ生成手段と、
前記コンテンツ鍵データを復号する復号手段と
を耐タンパ性の回路モジュール内に有する
データ処理機器。
【請求項４】
前記演算処理装置は、前記割り込みタイプを示す割り込みを受けると、当該割り込みタイプに対応した割り込みルーチンを実行して割り込みを前記データ処理装置に出し、
前記データ処理装置は、前記演算処理装置から受けた前記割り込みによって指定された処理に対応する割り込みルーチンを実行する
請求項３に記載のデータ処理機器。
【請求項５】
前記データ処理装置は、前記処理の結果を前記演算処理装置に割り込みを出して通知する
請求項３に記載のデータ処理機器。
【請求項６】
前記データ処理装置は、当該データ処理装置および前記演算処理装置がアクセス可能な共有メモリを有し、
前記演算処理装置は、ポーリングによって、前記共有メモリにアクセスを行って前記処理の結果を得る
請求項３に記載のデータ処理機器。
【請求項７】
データ提供装置が提供したコンテンツデータをデータ配給装置から受け、管理装置によって管理されるデータ処理機器であつて、
前記データ提供装置が提供した、コンテンツ鍵データを用いて暗号化されたコンテンツデータと、暗号化された前記コンテンツ鍵データと、前記コンテンツデータの取り扱いを示す権利書データと、前記データ配給装置が前記コンテンツデータについて付けた価格データとを格納したモジュールを、前記データ配給装置から受信し、共有鍵データを用いて前記受信したモジュールを復号し、前記データ配給装置による前記モジュールの配給サービスに対しての課金処理を行う第１の処理モジュールと、
所定のプログラムを実行し、所定の条件で割り込みを出す演算処理装置と、
前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって所定の処理を行い、当該処理の結果を前記演算処理装置に通知するデータ処理装置であって、前記受信したモジュールに格納された権利書データが示す取り扱いに基づいて、前記受信したモジュールに格納されたコンテンツデータの購入形態および利用形態の少なくとも一方を決定する決定手段と、前記決定の結果を示す履歴データを生成する履歴データ生成手段と、前記コンテンツデータの購入形態の決定処理が行われる際に前記価格データを出力すると共に前記履歴データを前記管理装置に出力する出力手段と、前記コンテンツ鍵データを復号する復号手段とを耐タンパ性の回路モジュール内に有するデータ処理装置と
を有するデータ処理機器。
【請求項８】
所定のプログラムを実行し、所定の条件で割り込みを出す演算処理装置と、
前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって、コンテンツ鍵データを用いた暗号化されたコンテンツデータの権利処理を行い、当該処理の結果を前記演算処理装置に通知する耐タンパ性の第１のデータ処理装置と、
前記演算処理装置あるいは前記第１のデータ処理装置から割り込みを受けて、マスタである前記演算処理装置あるいは前記第１のデータ処理装置のスレーブとなって、前記第１のデータ処理装置から相互認証を行って得た前記コンテンツ鍵データを用いたコンテンツデータの復号、並びに前記コンテンツデータの圧縮処理または伸長処理を行う耐タンパ性の第２のデータ処理装置と
を有するデータ処理機器。
【請求項９】
演算処理装置およびデータ処理装置を用いたデータ処理方法であって、
前記演算処理装置は、所定のプログラムを実行し、所定の条件で割り込みを出し、
前記データ処理装置は、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって、耐タンパ性の回路モジュール内で、権利書データが示す取り扱いに基づいて、当該権利書データに対応したコンテンツデータの購入形態および利用形態の少なくとも一方を決定し、当該決定の結果を示す履歴データを生成し、前記コンテンツ鍵データを復号する
データ処理方法。
【請求項１０】
演算処理装置、第１のデータ処理装置および第２のデータ処理装置を用いたデータ処理方法であって、
前記演算処理装置は、所定のプログラムを実行し、所定の条件で割り込みを出し、
前記第１のデータ処理装置は、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって、耐タンパ性のモジュール内で、コンテンツ鍵データを用いた暗号化されたコンテンツデータの権利処理を行い、当該処理の結果を前記演算処理装置に通知し、
前記第２のデータ処理装置は、前記演算処理装置あるいは前記第１のデータ処理装置から割り込みを受けて、マスタである前記演算処理装置あるいは前記第１のデータ処理装置のスレーブとなって、耐タンパ性のモジュール内で、前記第１のデータ処理装置から相互認証を行って得た前記コンテンツ鍵データを用いたコンテンツデータの復号、並びに前記コンテンツデータの圧縮処理または伸長処理を行う
データ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、提供されたコンテンツデータに関連する処理を行うデータ処理装置、データ処理機器およびその方法に関する。
【０００２】
【従来の技術】
暗号化されたコンテンツデータを所定の契約を交わしたユーザのデータ処理装置に配給し、当該データ処理装置において、コンテンツデータを復号して再生および記録するデータ提供システムがある。
このようなデータ提供システムの一つに、音楽データを配信する従来のＥＭＤ(Electronic Music Distribution: 電子音楽配信）システムがある。
【０００３】
図１０６は、従来のＥＭＤシステム７００の構成図である。
図１０６に示すＥＭＤシステム７００では、コンテンツプロバイダ７０１ａ，７０１ｂが、サービスプロバイダ７１０に対し、コンテンツデータ７０４ａ，７０４ｂ，７０４ｃと、著作権情報７０５ａ，７０５ｂ，７０５ｃとを、それぞれ相互認証後に得たセッション鍵データで暗号化してオンラインで供給したり、あるいはオフラインで供給する。ここで、著作権情報７０５ａ，７０５ｂ，７０５ｃには、例えば、ＳＣＭＳ(Serial Copy Management System) 情報、コンテンツデータに埋め込むことを要請する電子透かし情報およびサービスプロバイダ７１０の伝送プロトコルに埋め込むことを要請する著作権に関する情報などがある。
【０００４】
サービスプロバイダ７１０は、受信したコンテンツデータ７０４ａ，７０４ｂ，７０４ｃと、著作権情報７０５ａ，７０５ｂ，７０５ｃとをセッション鍵データを用いて復号する。
そして、サービスプロバイダ７１０は、復号したあるいはオフラインで受け取ったコンテンツデータ７０４ａ，７０４ｂ，７０４ｃに、著作権情報７０５ａ，７０５ｂ，７０５ｃを埋め込んで、コンテンツデータ７０７ａ，７０７ｂ，７０７ｃを生成する。このとき、サービスプロバイダ７１０は、例えば、著作権情報７０５ａ，７０５ｂ，７０５ｃのうち電子透かし情報をコンテンツデータ７０４ａ，７０４ｂ，７０４ｃに所定の周波数領域を変更して埋め込み、当該コンテンツデータをユーザに送信する際に用いるネットワークプロトコルにＳＣＭＳ情報を埋め込む。
さらに、サービスプロバイダ７１０は、コンテンツデータ７０７ａ，７０７ｂ，７０７ｃを、鍵データベース７０６から読み出したコンテンツ鍵データＫｃａ，Ｋｃｂ，Ｋｃｃを用いてそれぞれ暗号化する。その後、サービスプロバイダ７１０は、暗号化されたコンテンツデータ７０７ａ，７０７ｂ，７０７ｃを格納したセキュアコンテナ７２２を、相互認証後に得たセッション鍵データによって暗号化してユーザの端末装置７０９に存在するＣＡ(Conditional Access)モジュール７１１に送信する。
【０００５】
ＣＡモジュール７１１は、セキュアコンテナ７２２をセッション鍵データを用いて復号する。また、ＣＡモジュール７１１は、電子決済やＣＡなどの課金機能を用いて、サービスプロバイダ７１０の鍵データベース７０６からコンテンツ鍵データＫｃａ，Ｋｃｂ，Ｋｃｃを受信し、これをセッション鍵データを用いて復号する。これにより、端末装置７０９において、コンテンツデータ７０７ａ，７０７ｂ，７０７ｃを、それぞれコンテンツ鍵データＫｃａ，Ｋｃｂ，Ｋｃｃを用いて復号することが可能になる。
このとき、ＣＡモジュール７１１は、コンテンツ単位で課金処理を行い、その結果に応じた課金情報７２１を生成し、これをセッション鍵データで暗号化した後に、サービスプロバイダ７１０の権利処理モジュール７２０に送信する。
この場合に、ＣＡモジュール７１１は、サービスプロバイダ７１０が自らの提供するサ一ビスに関して管理したい項目であるユーザの契約（更新）情報および月々基本料金などのネットワーク家賃の徴収と、コンテンツ単位の課金処理と、ネットワークの物理層のセキュリティー確保とを行う。
【０００６】
サービスプロバイダ７１０は、ＣＡモジュール７１１から課金情報７２１を受信すると、サービスプロバイダ７１０とコンテンツプロバイダ７０１ａ，７０１ｂ，７０１ｃとの間で利益配分を行う。
このとき、サービスプロバイダ７１０から、コンテンツプロバイダ７０１ａ，７０１ｂ，７０１ｃへの利益配分は、例えば、ＪＡＳＲＡＣ(Japanese Society
for Rights of Authors, Composers and Publishers:日本音楽著作権協会）を介して行われる。また、ＪＡＳＲＡＣによって、コンテンツプロバイダの利益が、当該コンテンツデータの著作権者、アーティスト、作詞・作曲家および所属プロダクションなどに分配される。
【０００７】
また、端末装置７０９では、コンテンツ鍵データＫｃａ，Ｋｃｂ，Ｋｃｃを用いて復号したコンテンツデータ７０７ａ，７０７ｂ，７０７ｃを、ＲＡＭ型の記録媒体７２３などに記録する際に、著作権情報７０５ａ，７０５ｂ，７０５ｃのＳＣＭＳビットを書き換えて、コピー制御を行う。すなわち、ユーザ側では、コンテンツデータ７０７ａ，７０７ｂ，７０７ｃに埋め込まれたＳＣＭＳビットに基づいて、コピー制御が行われ、著作権の保護が図られている。
【０００８】
【発明が解決しようとする課題】
ところで、ＳＣＭＳは、コンテンツデータを例えば２世代以上のわたって複製することを禁止するものであり、１世代の複製は無制限に行うことができ、著作権者の保護として不十分であるという問題がある。
【０００９】
また、上述したＥＭＤシステム７００では、サービスプロバイダ７１０が暗号化されていないコンテンツデータを技術的に自由に扱えるため、コンテンツプロバイダ７０１の関係者はサービスプロバイダ７１０の行為等を監視する必要があり、当該監視の負担が大きいと共に、コンテンツプロバイダ７０１の利益が不当に損なわれる可能性が高いという問題がある。
また、上述したＥＭＤシステム７００では、ユーザの端末装置７０９がサービスプロバイダ７１０から配給を受けたコンテンツデータをオーサリングして他の端末装置などに再配給する行為を規制することが困難であり、コンテンツプロバイダ７０１の利益が不当に損なわれるという問題がある。
【００１０】
本発明は上述した従来技術の問題点に鑑みてなされ、コンテンプロバイダの権利者（関係者）の利益を適切に保護するシステムおよび方法に適用可能なデータ処理装置、データ処理機器およびその方法を提供することを目的とする。
また、本発明は、コンテンプロバイダの権利者の利益を保護するための監査の負担を軽減するシステムおよび方法に適用可能なデータ処理装置、データ処理機器およびその方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
また、本発明のデータ処理装置は、コンテンツ鍵データを用いて暗号化されたコンテンツデータの権利処理を権利書データに基づいて行い、暗号化された前記コンテンツ鍵データを復号するデータ処理装置であって、第１のバスと、前記コンテンツデータの権利処理を前記権利書データに基づいて行い、前記第１のバスに接続された演算処理回路と、前記第１のバスに接続された記憶回路と、第２のバスと、前記第１のバスと前記第２のバスとの間に介在するインターフェイス回路と、前記第２のバスに接続され、前記コンテンツ鍵データの復号を行う暗号処理回路と、前記第２のバスに接続された外部バスインターフェイス回路とを耐タンパ性の回路モジュール内に有し、前記演算処理回路は、前記外部バスインターフェイス回路を介して外部回路から割り込みを受けると、当該外部回路のスレーブとなって当該割り込みによって指定された処理を行い、当該処理の結果を前記外部装置に通知する。
【００１２】
また、本発明のデータ処理機器は、所定のプログラムを実行し、所定の条件で割り込みを出す演算処理装置と、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって所定の処理を行い、当該処理の結果を前記演算処理装置に通知するデータ処理装置と有するデータ処理機器であって、前記データ処理装置は、権利書データが示す取り扱いに基づいて、コンテンツデータの購入形態および利用形態の少なくとも一方を決定する決定手段と、前記決定の結果を示す履歴データを生成する履歴データ生成手段と、前記コンテンツ鍵データを復号する復号手段とを耐タンパ性の回路モジュール内に有する。
【００１３】
また、本発明のデータ処理機器は、データ提供装置が提供したコンテンツデータをデータ配給装置から受け、管理装置によって管理されるデータ処理機器であって、前記データ提供装置が提供した、コンテンツ鍵データを用いて暗号化されたコンテンツデータと、暗号化された前記コンテンツ鍵データと、前記コンテンツデータの取り扱いを示す権利書データと、前記データ配給装置が前記コンテンツデータについて付けた価格データとを格納したモジュールを、前記データ配給装置から受信し、共有鍵データを用いて前記受信したモジュールを復号し、前記データ配給装置による前記モジュールの配給サービスに対しての課金処理を行う第１の処理モジュールと、所定のプログラムを実行し、所定の条件で割り込みを出す演算処理装置と、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって所定の処理を行い、当該処理の結果を前記演算処理装置に通知するデータ処理装置であって、前記受信したモジュールに格納された権利書データが示す取り扱いに基づいて、前記受信したモジュールに格納されたコンテンツデータの購入形態および利用形態の少なくとも一方を決定する決定手段と、前記決定の結果を示す履歴データを生成する履歴データ生成手段と、前記コンテンツデータの購入形態の決定処理が行われる際に前記価格データを出力すると共に前記履歴データを前記管理装置に出力する出力手段と、前記コンテンツ鍵データを復号する復号手段とを耐タンパ性の回路モジュール内に有するデータ処理装置とを有する。
【００１４】
また、本発明のデータ処理機器は、所定のプログラムを実行し、所定の条件で割り込みを出す演算処理装置と、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって、コンテンツ鍵データを用いた暗号化されたコンテンツデータの権利処理を行い、当該処理の結果を前記演算処理装置に通知する耐タンパ性の第１のデータ処理装置と、前記演算処理装置あるいは前記第１のデータ処理装置から割り込みを受けて、マスタである前記演算処理装置あるいは前記第１のデータ処理装置のスレーブとなって、前記第１のデータ処理装置から相互認証を行って得た前記コンテンツ鍵データを用いたコンテンツデータの復号、並びに前記コンテンツデータの圧縮処理または伸長処理を行う耐タンパ性の第２のデータ処理装置とを有する。
【００１５】
また、本発明のデータ処理方法は、演算処理装置およびデータ処理装置を用いたデータ処理方法であって、前記演算処理装置は、所定のプログラムを実行し、所定の条件で割り込みを出し、前記データ処理装置は、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって、耐タンパ性の回路モジュール内で、権利書データが示す取り扱いに基づいて、当該権利書データに対応したコンテンツデータの購入形態および利用形態の少なくとも一方を決定し、当該決定の結果を示す履歴データを生成し、前記コンテンツ鍵データを復号する。
【００１６】
また、本発明のデータ処理方法は、演算処理装置、第１のデータ処理装置および第２のデータ処理装置を用いたデータ処理方法であって、前記演算処理装置は、所定のプログラムを実行し、所定の条件で割り込みを出し、前記第１のデータ処理装置は、前記演算処理装置から割り込みを受けて、マスタである前記演算処理装置のスレーブとなって、耐タンパ性のモジュール内で、コンテンツ鍵データを用いた暗号化されたコンテンツデータの権利処理を行い、当該処理の結果を前記演算処理装置に通知し、前記第２のデータ処理装置は、前記演算処理装置あるいは前記第１のデータ処理装置から割り込みを受けて、マスタである前記演算処理装置あるいは前記第１のデータ処理装置のスレーブとなって、耐タンパ性のモジュール内で、前記第１のデータ処理装置から相互認証を行って得た前記コンテンツ鍵データを用いたコンテンツデータの復号、並びに前記コンテンツデータの圧縮処理または伸長処理を行う。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態に係わるＥＭＤ(Electronic Music Distribution: 電子音楽配信）システムについて説明する。
第１実施形態
図１は、本実施形態のＥＭＤシステム１００の構成図である。
本実施形態において、ユーザに配信されるコンテンツ(Content) データとは、情報そのものが価値を有するデジタルデータをいい、以下、音楽データを例に説明する。
図１に示すように、ＥＭＤシステム１００は、コンテンツプロバイダ１０１、ＥＭＤサービスセンタ（クリアリング・ハウス、以下、ＥＳＣとも記す）１０２およびユーザホームネットワーク１０３を有する。
ここで、コンテンツプロバイダ１０１、ＥＭＤサービスセンタ１０２およびＳＡＭ１０５1 〜１０５4 が、本発明のデータ提供装置、管理装置およびデータ処理装置にそれぞれ対応している。
先ず、ＥＭＤシステム１００の概要について説明する。
ＥＭＤシステム１００では、コンテンツプロバイダ１０１は、自らが提供しようとするコンテンツのコンテンツデータＣを暗号化する際に用いたコンテンツ鍵データＫｃ、コンテンツデータＣの使用許諾条件などの権利内容を示す権利書(UCP:Usage Control Policy)データ１０６、並びに電子透かし情報の内容および埋め込み位置を示す電子透かし情報管理データを、高い信頼性のある権威機関であるＥＭＤサービスセンタ１０２に送る。
【００１８】
ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１から受けたコンテンツ鍵データＫｃ、権利書データ１０６並びに電子透かし情報鍵データを登録（認証および権威化）する。
また、ＥＭＤサービスセンタ１０２は、対応する期間のライセンス鍵データＫＤ1 〜ＫＤ５6 で暗号化したコンテンツ鍵データＫｃ、権利書データ１０６および自らの署名データなどを格納したキーファイルＫＦを作成し、これをコンテンツプロバイダ１０１に送る。
ここで、当該署名データは、キーファイルＫＦの改竄の有無、キーファイルＫＦの作成者の正当性およびキーファイルＫＦがＥＭＤサービスセンタ１０２において正規に登録されたことを検証するために用いられる。
【００１９】
また、コンテンツプロバイダ１０１は、コンテンツ鍵データＫｃでコンテンツデータＣを暗号化してコンテンツファイルＣＦを生成し、当該生成したコンテンツファイルＣＦと、ＥＭＤサービスセンタ１０２から受けたキーファイルＫＦと、自らの署名データなどを格納したセキュアコンテナ（本発明のモジュール）１０４を、インターネットなどのネットワーク、デジタル放送あるいは記録媒体などのパッケージメディアを用いて、ユーザホームネットワーク１０３に配給する。
ここで、セキュアコンテナ１０４内に格納された署名データは、対応するデータの改竄の有無、当該データの作成者および送信者の正当性を検証するために用いられる。
【００２０】
ユーザホームネットワーク１０３は、例えば、ネットワーク機器１６０1 およびＡＶ機器１６０2 〜１６０4 を有する。
ネットワーク機器１６０1 は、ＳＡＭ(Secure Application Module) １０５1
を内蔵している。
ＡＶ機器１６０2 〜１６０4 は、それぞれＳＡＭ１０５2 〜１０５4 を内蔵している。ＳＡＭ１０５1 〜１０５4 相互間は、例えば、ＩＥＥＥ(Institute of
Electrical and Electronics Engineers) １３９４シリアルインタフェースバスなどのバス１９１を介して接続されている。
【００２１】
ＳＡＭ１０５1 〜１０５4 は、ネットワーク機器１６０1 がコンテンツプロバイダ１０１からネットワークなどを介してオンラインで受信したセキュアコンテナ１０４、および／または、コンテンツプロバイダ１０１からＡＶ機器１６０2
〜１６０4 に記録媒体を介してオフラインで供給されたセキュアコンテナ１０４を対応する期間のライセンス鍵データＫＤ1 〜ＫＤ3 を用いて復号した後に、署名データの検証を行う。
ＳＡＭ１０５1 〜１０５4 に供給されたセキュアコンテナ１０４は、ネットワーク機器１６０  1 およびＡＶ機器１６０2 〜１６０4 において、ユーザの操作に応じて購入・利用形態が決定された後に、再生や記録媒体への記録などの対象となる。
ＳＡＭ１０５1 〜１０５4 は、上述したセキュアコンテナ１０４の購入・利用の履歴を利用履歴(Usage Log) データ１０８として記録すると共に、購入形態を示す利用制御データ１６６を作成する。
利用履歴データ１０８は、例えば、ＥＭＤサービスセンタ１０２からの要求に応じて、ユーザホームネットワーク１０３からＥＭＤサービスセンタ１０２に送信される。
利用制御データ１６６は、例えば、購入形態が決定される度に、ユーザホームネットワーク１０３からＥＭＤサービスセンタ１０２に送信される。
【００２２】
ＥＭＤサービスセンタ１０２は、利用履歴データ１０８に基づいて、課金内容を決定（計算）し、その結果に基づいて、ペイメントゲートウェイ９０を介して銀行などの決済機関９１に決済を行なう。これにより、ユーザホームネットワーク１０３のユーザが決済機関９１に支払った金銭が、ＥＭＤサービスセンタ１０２による決済処理によって、コンテンツプロバイダ１０１に支払われる。
また、ＥＭＤサービスセンタ１０２は、一定期間毎に、決済レポートデータ１０７をコンテンツプロバイダ１０１に送信する。
【００２３】
本実施形態では、ＥＭＤサービスセンタ１０２は、認証機能、鍵データ管理機能および権利処理（利益分配）機能を有している。
すなわち、ＥＭＤサービスセンタ１０２は、中立の立場にある最高の権威機関であるルート認証局９２に対しての（ルート認証局９２の下層に位置する）セカンド認証局(Second Certificate Authority)としての役割を果たし、コンテンツプロバイダ１０１およびＳＡＭ１０５1 〜１０５4 において署名データの検証処理に用いられる公開鍵データの公開鍵証明書データに、ＥＭＤサービスセンタ１０２の秘密鍵データによる署名を付けることで、当該公開鍵データの正当性を認証する。また、前述したように、ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１の権利書データ１０６を登録して権威化することも、ＥＭＤサービスセンタ１０２の認証機能の一つである。
また、ＥＭＤサービスセンタ１０２は、例えば、ライセンス鍵データＫＤ1 〜ＫＤ6 などの鍵データの管理を行なう鍵データ管理機能を有する。
また、ＥＭＤサービスセンタ１０２は、権威化した権利書データ１０６に記述された標準小売価格ＳＲＰ(Suggested Retailer' Price) とＳＡＭ１０５1 〜ＳＡＭ１０５4 から入力した利用履歴データ１０８とに基づいて、ユーザによるコンテンツの購入・利用に対して決済を行い、ユーザが支払った金銭をコンテンツプロバイダ１０１に分配する権利処理（利益分配）機能を有する。
【００２４】
図２は、セキュアコンテナ１０４の概念をまとめた図である。
図２に示すように、セキュアコンテナ１０４には、コンテンツプロバイダ１０１が作成したコンテンツファイルＣＦと、ＥＭＤサービスセンタ１０２が作成したキーファイルＫＦとが格納されている。
コンテンツファイルＣＦには、ヘッダ部およびコンテンツＩＤを含むヘッダデータと、コンテンツ鍵データＫｃを用いた暗号化されたコンテンツデータＣと、これらについてのコンテンツプロバイダ１０１の秘密鍵データＫCP,Sを用いた署名データとが格納されている。
キーファイルＫＦには、ヘッダ部およびコンテンツＩＤを含むヘッダデータと、ライセンス鍵データＫＤ1 〜ＫＤ6 によって暗号化されたコンテンツ鍵データＫｃおよび権利書データ１０６と、これらについてのＥＭＤサービスセンタ１０２の秘密鍵データＫESC,S による署名データとが格納されている。
なお、図２において、権利書データ１０６は、ライセンス鍵データによって暗号化されていなくてもよい。但し、この場合でも、権利書データ１０６には、コンテンツプロバイダ１０１の秘密鍵データＫCP,Sを用いた署名データを付加する。
【００２５】
以下、ＥＭＤシステム１００の各構成要素について詳細に説明する。
〔コンテンツプロバイダ１０１〕
コンテンツプロバイダ１０１は、ＥＭＤサービスセンタ１０２との間で通信を行う前に、例えば、自らが生成した公開鍵データＫCP,P、自らの身分証明書および銀行口座番号（決済を行う口座番号）をオフラインでＥＭＤサービスセンタ１０２に登録し、自らの識別子（識別番号）ＣＰ＿ＩＤを得る。また、コンテンツプロバイダ１０１は、ＥＭＤサービスセンタ１０２から、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P と、ルート認証局９２の公開鍵データＫR-CA,Pとを受ける。
【００２６】
コンテンツプロバイダ１０１は、図３（Ａ）に示すコンテンツファイルＣＦと、当該コンテンツファイルＣＦの署名データＳＩＧ6,CPと、キーファイルデータベース１１８ｂから読み出した当該コンテンツファイルＣＦに対応する図３（Ｂ）に示すキーファイルＫＦと、当該キーファイルＫＦの署名データＳＩＧ7,CPと、記憶部１１９から読み出したコンテンツプロバイダ１０１の公開鍵証明書データＣＥＲCPと、当該公開鍵証明書データＣＥＲCPの署名データＳＩＧ1,ESC とを格納したセキュアコンテナ１０４を生成する。
また、コンテンツプロバイダ１０１は、セキュアコンテナ１０４をオンラインあるいはオフラインで、図１に示すユーザホームネットワーク１０３のネットワーク機器１６０1 に供給する。
このように、本実施形態では、コンテンツプロバイダ１０１の公開鍵データＫCP,Pの公開鍵証明書ＣＥＲCPをセキュアコンテナ１０４に格納してユーザホームネットワーク１０３に送信するイン・バンド(In-band) 方式を採用している。従って、ユーザホームネットワーク１０３は、公開鍵証明書ＣＥＲCPを得るための通信をＥＭＤサービスセンタ１０２との間で行う必要がない。
なお、本発明では、公開鍵証明書ＣＥＲCPをセキュアコンテナ１０４に格納しないで、ユーザホームネットワーク１０３がＥＭＤサービスセンタ１０２から公開鍵証明書ＣＥＲCPを得るアウト・オブ・バンド(Out-Of-band) 方式を採用してもよい。
【００２７】
なお、本実施形態では、署名データは、コンテンツプロバイダ１０１、ＥＭＤサービスセンタ１０２およびＳＡＭ１０５1 〜１０５4 の各々において、署名を行なう対象となるデータのハッシュ値をとり、自らの秘密鍵データＫCP,S，ＫESC ，ＫSAM1〜ＫSAM4を用いて作成される。ここで、ハッシュ値は、ハッシュ関数を用いて生成される。ハッシュ関数は、対象となるデータを入力とし、当該入力したデータを所定のビット長のデータに圧縮し、ハッシュ値として出力する関数である。ハッシュ関数は、ハッシュ値（出力）から入力を予測することが難しく、ハッシュ関数に入力されたデータの１ビットが変化したとき、ハッシュ値の多くのビットが変化し、また、同一のハッシュ値を持つ入力データを探し出すことが困難であるという特徴を有している。
【００２８】
以下、セキュアコンテナ１０４内の各データについて詳細に説明する。
＜署名データＳＩＧ6,CP＞
署名データＳＩＧ6,CPは、セキュアコンテナ１０４の受信先において、コンテンツファイルＣＦの作成者および送信者の正当性を検証するために用いられる。
＜署名データＳＩＧ7,CP＞
署名データＳＩＧ7,CPは、セキュアコンテナ１０４の受信先において、キーファイルＫＦの送信者の正当性を検証するために用いられる。なお、セキュアコンテナ１０４の受信先において、キーファイルＫＦの作成者の正当性の検証は、キーファイルＫＦ内の署名データＳＩＧK1,ESCに基づいて行われる。また、署名データＳＩＧK1,ESCは、キーファイルＫＦが、ＥＭＤサービスセンタ１０２に登録されているか否かを検証するためにも用いられる。
【００２９】
＜コンテンツファイルＣＦ＞
図４は、図３（Ａ）に示すコンテンツファイルＣＦをさらに詳細に説明するための図である。
コンテンツファイルＣＦは、図３（Ａ）および図４に示すように、ヘッダデータと、暗号化部１１４から入力したそれぞれコンテンツ鍵データＫｃで暗号化されたメタデータＭｅｔａ、コンテンツデータＣ、Ａ／Ｖ伸長用ソフトウェアＳｏｆｔおよび電子透かし情報モジュール(Watermark Module)ＷＭとを格納している。
なお、図３（Ａ）は、コンテンツデータＣを伸長するＡＶ圧縮伸長用装置として、ＤＳＰ(Digital Signal Processor)を用いた場合のコンテンツファイルＣＦの構成である。当該ＤＳＰでは、セキュアコンテナ１０４内のＡ／Ｖ伸長用ソフトウェアおよび電子透かし情報モジュールを用いて、セキュアコンテナ１０４内のコンテンツデータＣの伸長および電子透かし情報の埋め込みおよび検出を行う。そのため、コンテンツプロバイダ１０１は任意の圧縮方式および電子透かし情報の埋め込み方式を採用できる。
ＡＶ圧縮伸長用装置としてＡ／Ｖ伸長処理および電子透かし情報の埋め込み・検出処理をハードウェアあるいは予め保持されたソフトウェアを用いて行う場合には、コンテンツファイルＣＦ内にＡ／Ｖ伸長用ソフトウェアおよび電子透かし情報モジュールを格納しなくてもよい。
【００３０】
ヘッダデータには、図４に示すように、同期信号、コンテンツＩＤ、コンテンツＩＤに対してのコンテンツプロバイダ１０１の秘密鍵データＫCP,Sによる署名データ、ディレクトリ情報、ハイパーリンク情報、シリアルナンバー、コンテンツファイルＣＦの有効期限並びに作成者情報、ファイルサイズ、暗号の有無、暗号アルゴリズム、署名アルゴリズムに関しての情報、およびディレクトリ情報などに関してのコンテンツプロバイダ１０１の秘密鍵データＫCP,Sによる署名データが含まれる。
【００３１】
メタデータＭｅｔａには、図４に示すように、商品（コンテンツデータＣ）の説明文、商品デモ宣伝情報、商品関連情報およびこれらについてのコンテンツプロバイダ１０１による署名データが含まれる。
本発明では、図３（Ａ）および図４に示すように、コンテンツファイルＣＦ内にメタデータＭｅｔａを格納して送信する場合を例示するが、メタデータＭｅｔａをコンテンツファイルＣＦ内に格納せずに、コンテンツファイルＣＦを送信する経路とは別の経路でコンテンツプロバイダ１０１からＳＡＭ１０５1 などに送信してもよい。
【００３２】
コンテンツデータＣは、例えば、コンテンツマスタソースデータベースから読み出したコンテンツデータに対して、ソース電子透かし情報(Source Watermark)Ｗｓ、コピー管理用電子透かし情報(Copy Control Watermark)Ｗｃ、ユーザ電子透かし情報(User Watermark)Ｗｕおよびリンク用電子透かし情報(Link Watermark)ＷＬなどを埋め込んだ後に、例えば、ＡＴＲＡＣ３(Adaptive Transform Acoustic Coding 3)（商標）などの音声圧縮方式で圧縮され、その後、コンテンツ鍵データＫｃを共通鍵として用い、ＤＥＳ(Data Encryption Standard)やＴｒｉｐｌｅ  ＤＥＳなどの共通鍵暗号化方式で暗号化されたデータである。
ここで、コンテンツ鍵データＫｃは、例えば、乱数発生器を用いて所定ビット数の乱数を発生して得られる。なお、コンテンツ鍵データＫｃは、コンテンツデータが提供する楽曲に関する情報から生成してもよい。コンテンツ鍵データＫｃは、例えば、所定時間毎に更新される。
また、複数のコンテンツプロバイダ１０１が存在する場合に、個々のコンテンツプロバイダ１０１によって固有のコンテンツ鍵データＫｃを用いてもよいし、全てのコンテンツプロバイダ１０１に共通のコンテンツ鍵データＫｃを用いてもよい。
【００３３】
ソース電子透かし情報Ｗｓは、コンテンツデータの著作権者名、ＩＳＲＣコード、オーサリング日付、オーサリング機器ＩＤ(Identification Data) 、コンテンツの配給先などの著作権に関する情報である。
コピー管理用電子透かし情報Ｗｃは、アナログインタフェース経由でのコピー防止用のためのコピー禁止ビットを含む情報である。
ユーザ電子透かし情報Ｗｕには、例えば、セキュアコンテナ１０４の配給元および配給先を特定するためのコンテンツプロバイダ１０１の識別子ＣＰ＿ＩＤおよびユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５4 の識別子ＳＡＭ＿ＩＤ1 〜ＳＡＭ＿ＩＤ4 が含まれる。
リンク用電子透かし情報(Link Watermark)ＷＬは、例えば、コンテンツデータＣのコンテンツＩＤを含んでいる。
リンク用電子透かし情報ＷＬをコンテンツデータＣに埋め込むことで、例えば、テレビジョンやＡＭ／ＦＭラジオなどのアナログ放送でコンテンツデータＣが配信された場合でも、ユーザからの要求に応じて、ＥＭＤサービスセンタ１０２は、当該コンテンツデータＣを扱っているコンテンツプロバイダ１０１をユーザに紹介できる。すなち、当該コンテンツデータＣの受信先において、電子透かし情報デコーダを利用したコンテンツデータＣに埋め込まれたリンク用電子透かし情報ＷＬを検出し、当該検出したリンク用電子透かし情報ＷＬに含まれるコンテンツＩＤをＥＭＤサービスセンタ１０２に送信することで、ＥＭＤサービスセンタ１０２は当該ユーザに対して、当該コンテンツデータＣを扱っているコンテンツプロバイダ１０１などを紹介できる。
【００３４】
具体的には、例えば、車の中でユーザがラジオを聞きながら、放送中の曲が良いとユーザが思った時点で、所定のボタンを押せば、当該ラジオに内蔵されている電子透かし情報デコーダが、当該コンテンツデータＣに埋め込まれているリンク用電子透かし情報ＷＬに含まれるコンテンツＩＤや当該コンテンツデータＣを登録しているＥＭＤサービスセンタ１０２の通信アドレスなどを検出し、当該検出したデータをメモリスティックなどの半導体メモリやＭＤ(Mini Disk) などの光ディスクなどの可搬メディアに搭載されているメディアＳＡＭに記録する。そして、当該可搬メディアをネットワークに接続されているＳＡＭを搭載したネットワーク機器をセットする。そして、当該ＳＡＭとＥＭＤサービスセンタ１０２とが相互認証を行った後に、メディアＳＡＭに搭載されている個人情報と、上記記録したコンテンツＩＤなどとをネットワーク機器からＥＭＤサービスセンタ１０２に送信する。その後、ネットワーク機器に、当該コンテンツデータＣを扱っているコンテンツプロバイダ１０１などの紹介リストなどを、ＥＭＤサービスセンタ１０２から受信する。
また、その他に、例えば、ＥＭＤサービスセンタ１０２が、ユーザからコンテンツＩＤなどを受信したときに、当該コンテンツＩＤに対応したコンテンツデータＣを提供しているコンテンツプロバイダ１０１に当該ユーザを特定した情報を通知してもよい。この場合に、当該通信を受けたコンテンツプロバイダ１０１は、当該ユーザが契約者であれば、当該コンテンツデータＣをユーザのネットワーク機器に送信し、当該ユーザが契約者でなければ、自らに関するプロモーション情報をユーザのネットワーク機器に送信してもよい。
【００３５】
なお、後述する第２実施形態では、リンク用電子透かし情報ＷＬに基づいて、ＥＭＤサービスセンタ３０２は、ユーザに、当該コンテンツデータＣを扱っているサービスプロバイダ３１０を紹介できる。
【００３６】
また、本実施形態では、好ましくは、各々の電子透かし情報の内容と埋め込み位置とを、電子透かし情報モジュールＷＭとして定義し、ＥＭＤサービスセンタ１０２において電子透かし情報モジュールＷＭを登録して管理する。電子透かし情報モジュールＷＭは、例えば、ユーザホームネットワーク１０３内のネットワーク機器１６０1 およびＡＶ機器１６０2 〜１６０4 が、電子透かし情報の正当性を検証する際に用いられる。
例えば、ユーザホームネットワーク１０３では、ＥＭＤサービスセンタ１０２が管理するユーザ電子透かし情報モジュールに基づいて、電子透かし情報の埋め込み位置および埋め込まれた電子透かし情報の内容の双方が一致した場合に電子透かし情報が正当であると判断することで、偽りの電子透かし情報の埋め込みを高い確率で検出できる。
【００３７】
Ａ／Ｖ伸長用ソフトウェアＳｏｆｔは、ユーザホームネットワーク１０３のネットワーク機器１６０1 およびＡＶ機器１６０2 〜１６０4 において、コンテンツファイルＣＦを伸長する際に用いられるソフトウェアであり、例えば、ＡＴＲＡＣ３方式の伸長用ソフトウェアである。
このように、セキュアコンテナ１０４内にＡ／Ｖ伸長用ソフトウェアＳｏｆｔを格納することで、ＳＡＭ１０５1 〜１０５4 においてセキュアコンテナ１０４内に格納されたＡ／Ｖ伸長用ソフトウェアＳｏｆｔを用いてコンテンツデータＣの伸長を行うことができ、コンテンツデータＣ毎あるいはコンテンツプロバイダ１０１毎にコンテンツデータＣの圧縮および伸長方式をコンテンツプロバイダ１０１が自由に設定しても、ユーザに多大な負担をかけることはない。
【００３８】
また、コンテンツファイルＣＦには、図４に示すように、ファイルリーダと、秘密鍵データＫcp,Sによるファイルリーダの署名データとを含むようにしてもよい。このようにすることで、ＳＡＭ１０５1 〜１０５4 において、異系列の複数のセキュアコンテナ１０４から受信したそれぞれ異なるフォーマットのコンテンツファイルＣＦを格納した複数のセキュアコンテナ１０４を効率的に処理できる。
【００３９】
ここで、ファイルリーダは、コンテンツファイルＣＦおよびそれに対応するキーファイルＫＦを読む際に用いられ、これらのファイルの読み込み手順などを示している。
但し、本実施形態では、ＥＭＤサービスセンタ１０２からＳＡＭ１０５1 〜１０５4 に、当該ファイルリーダを予め送信している場合を例示する。すなわち、本実施形態では、セキュアコンテナ１０４のコンテンツファイルＣＦは、ファイルリーダを格納していない。
【００４０】
本実施形態では、コンテンツデータＣの圧縮方式、圧縮の有無、暗号化方式（共通鍵暗号化方式および公開鍵暗号化方式の何れの場合も含む）、コンテンツデータＣを得た信号の諸元（サンプリング周波数など）および署名データの作成方式（アルゴリズム）に依存しない形式で、暗号化されたコンテンツデータＣがセキュアコンテナ１０４内に格納されている。すなわち、これらの事項をコンテンツプロバイダ１０１が自由に決定できる。
【００４１】
＜キーファイルＫＦ＞
図５は、図３（Ａ）に示すキーファイルＫＦを詳細に説明するための図である。
本実施形態では、例えば、図６に示すように、コンテンツプロバイダ１０１からＥＭＤサービスセンタ１０２に登録用モジュールＭｏｄ2 が送られて登録処理が行われた後に、例えば６カ月分のキーファイルＫＦがＥＭＤサービスセンタ１０２からコンテンツプロバイダ１０１に送られ、キーファイルデータベースに格納される。このとき、登録用モジュールＭｏｄ2 およびキーファイルＫＦの送受信時に、コンテンツプロバイダ１０１とＥＭＤサービスセンタ１０２との間の相互認証およびセッション鍵データＫSES による暗号化および復号が行われる。
キーファイルＫＦは、コンテンツデータＣ毎に存在し、後述するように、コンテンツファイルＣＦのヘッダ内のディレクトリ構造データＤＳＤによって、対応するコンテンツファイルＣＦとの間でリンク関係が指定されている。
キーファイルＫＦには、図３（Ｂ）および図５に示すように、ヘッダ、コンテンツ鍵データＫｃ、権利書データ（使用許諾条件）１０６、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 および署名データＳＩＧK1,ESCが格納されている。
ここで、コンテンツプロバイダ１０１の秘密鍵データＫESC,S を用いた署名データは、図３（Ｂ）に示すようにキーファイルＫＦに格納される全てのデータに対しての署名データK1,ESCにしてもよいし、図５に示すようにヘッダから鍵ファイルに関する情報までのデータに対しての署名データと、コンテンツ鍵データＫｃおよび権利書データ１０６に対しての署名データと、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣに対しての署名データとを別々に設けてもよい。
コンテンツ鍵データＫｃおよび権利書データ１０６と、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 とは、それぞれ対応する期間のライセンス鍵データＫＤ1 〜ＫＤ6 を用いて暗号化されている。
なお、権利書データ１０６は、キーファイルＫＦ内に格納しないでもよい。この場合には、例えば、権利書データ１０６はライセンス鍵データによる暗号化を行わずに、署名データを付加する。
【００４２】
ヘッダデータには、図５に示すように、同期信号、コンテンツＩＤ、コンテンツＩＤに対してのコンテンツプロバイダ１０１の秘密鍵データＫESC,S による署名データ、ディレクトリ構造データ、ハイパーリンクデータ、キーファイルＫＦに関する情報、およびディレクトリ構造データ等に対してのコンテンツプロバイダ１０１の秘密鍵データＫESC,S による署名データが含まれる。
なお、ヘッダデータに含める情報としては種々の情報が考えられ、状況に応じて任意に変更可能である。例えば、ヘッダデータに、図７に示すような情報を含めてもよい。
また、コンテンツＩＤには、例えば、図８に示す情報が含まれている。コンテンツＩＤは、ＥＭＤサービスセンタ１０２あるいはコンテンツプロバイダ１０１において作成され、ＥＭＤサービスセンタ１０２において作成された場合には図８に示すようにＥＭＤサービスセンタ１０２の秘密鍵データＫESC,S による署名データが添付され、コンテンツプロバイダ１０１において作成された場合にはコンテンツプロバイダ１０１の秘密鍵データＫCP,Sが添付される。
コンテンツＩＤは、コンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２の何れで作成してもよい。
【００４３】
ディレクトリ構造データは、セキュアコンテナ１０４内におけるコンテンツファイルＣＦ相互間の対応関係と、コンテンツファイルＣＦとキーファイルＫＦとの対応関係を示している。
例えば、セキュアコンテナ１０４内にコンテンツファイルＣＦ1 〜ＣＦ3 と、それらに対応するキーファイルＫＦ1 〜ＫＦ3 が格納されている場合には、１０図９に示すように、コンテンツファイルＣＦ1 〜ＣＦ3 相互間のリンクと、コンテンツファイルＣＦ1 〜ＣＦ3 とキーファイルＫＦ1 〜ＫＦ3 との間のリンク関係とがディレクトリ構造データによって確立される。
ハイパーリンクデータは、セキュアコンテナ１０４の内外の全てのファイルを対象として、キーファイルＫＦ相互間での階層構造と、コンテンツファイルＣＦとキーファイルＫＦとの対応関係を示している。
具体的には、図１０に示すように、セキュアコンテナ１０４内にコンテンツファイルＣＦおよびキーファイルＫＦ毎のリンク先のアドレス情報とその認証値（ハッシュ値）とを格納し、ハッシュ関数Ｈ（ｘ）を用いて得た自らのアドレス情報のハッシュ値と、相手方の認証値とを比較してリンク関係を検証する。
【００４４】
また、権利書データ１０６は、コンテンツデータＣの運用ルールを定義した記述子（ディスクリプター）であり、例えば、コンテンツプロバイダ１０１の運用者が希望する卸売価格やコンテンツデータＣの複製ルールなどが記述されている。
具体的には、権利書データ１０６には、図５に示すように、コンテンツＩＤ、コンテンツプロバイダ１０１の識別子ＣＰ＿ＩＤ、権利書データ１０６の有効期限、ＥＭＤサービスセンタ１０２の通信アドレス、利用空間調査情報、卸売価格情報ＳＲＰ(Suggested Retailer' Price) 、取扱方針、取扱制御情報(Usage Control) 、商品デモ（試聴）の取扱制御情報およびそれらについての署名データなどが含まれる。
ここで、取扱制御情報は、例えば、再配付(Re-Distribution) 、再生課金(Pay Per Use) 、完全買い切り(Sell Through)、時間制限買い切り(Time Limited Sell Through) 、回数制限買い切り(Shell Through Pay Per Play N)、時間課金(Pay Per Time)、ＳＣＭＳ機器への再生課金、ブロック課金(Pay Per Block) などの購入形態のうち許諾された購入形態を示す情報である。
【００４５】
なお、後述する第２実施形態のように、サービスプロバイダ３１０を介してユーザホームネットワーク３０３にセキュアコンテナ３０４を送信する場合には、権利書データ１０６には、コンテンツプロバイダ３０１がセキュアコンテナ１０４を提供するサービスプロバイダ３１０の識別子ＳＰ＿ＩＤが含まれる。
【００４６】
また、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 には、図５に示すように、ＳＡＭ１０５1 〜１０５4 内でプログラムのダウンロードを行なう際に用いられるダウンロードの手順を示すダウンロード・ドライバと、権利書データ（ＵＣＰ）Ｕ１０６のシンタックス（文法）を示すＵＣＰ−Ｌ(Label) ．Ｒ(Reader)などのラベルリーダと、ＳＡＭ１０５1 〜１０５4 に内蔵された記憶部１９２（マスクＲＯＭ１１０４、不揮発性メモリ１１０５などのフラッシュ−ＲＯＭ）の書き換えおよび消去をブロック単位でロック状態／非ロック状態にするためのロック鍵データと、それらについての署名データとが含まれる。ＳＡＭ１０５1 〜１０５4 のマスクＲＯＭ１１０４および不揮発性メモリ１１０５では、ロック鍵データに基づいて、記憶データの書き換えおよび消去を許可するか否かをブロック単位で制御する。
【００４７】
以下、コンテンツプロバイダ１０１からユーザホームネットワーク１０３にセキュアコンテナ１０４を供給する形態について説明する。
コンテンツプロバイダ１０１は、前述したように、セキュアコンテナ１０４を、オフラインおよび／またはオンラインでユーザホームネットワーク１０３に供給する。
コンテンツプロバイダ１０１は、オンラインで、セキュアコンテナ１０４をユーザホームネットワーク１０３のネットワーク機器１６０1 に供給する場合には、ネットワーク機器１６０1 との間で相互認証を行ってセッション鍵（共通鍵）データＫSES を共有し、セキュアコンテナ１０４を当該セッション鍵データＫSES を用いて暗号化してＥＭＤサービスセンタ１０２に送信する。セッション鍵データＫSES は、相互認証を行う度に新たに生成される。
このとき、セキュアコンテナ１０４を送信する通信プロコトルとして、デジタル放送であればＭＨＥＧ(Multimedia and Hypermedia information coding Experts Group)プロトコルを用い、インターネットであればＸＭＬ／ＳＭＩＬ／ＨＴＭＬ(Hyper TextMarkup Language) を用い、これらの通信プロトコル内に、セキュアコンテナ１０４を、符号化方式に依存しない形式でトンネリングして埋め込む。
従って、通信プロコトルとセキュアコンテナ１０４との間でフォーマットの整合性をとる必要性はなく、セキュアコンテナ１０４のフォーマットを柔軟に設定できる。
なお、コンテンツプロバイダ１０１からユーザホームネットワーク１０３にセキュアコンテナ１０４を送信する際に用いる通信プロトコルは、上述したものには限定されず任意である。
本実施形態では、コンテンツプロバイダ１０１、ＥＭＤサービスセンタ１０２およびネットワーク機器１６０1 に内蔵された相互間で通信を行うためのモジュールとして、例えば、内部の処理内容の監視（モニタリング）および改竄ができないあるいは困難な耐タンパ性の構造を持つ通信ゲートウェイが用いられる。
【００４８】
また、コンテンツプロバイダ１０１は、オフラインで、セキュアコンテナ１０４をユーザホームネットワーク１０３に供給する場合には、以下に示すようなＲＯＭ型あるいはＲＡＭ型の記録媒体にセキュアコンテナ１０４を記録して、当該記録媒体を所定の流通経路を経てユーザホームネットワーク１０３に供給する。
図１１は、本実施形態で用いられるＲＯＭ型の記録媒体１３０1 を説明するための図である。
図１１に示すように、ＲＯＭ型の記録媒体１３０1 は、ＲＯＭ領域１３１、セキュアＲＡＭ領域１３２およびメディアＳＡＭ１３３を有する。
ＲＯＭ領域１３１には、図３（Ａ）に示したコンテンツファイルＣＦが記憶されている。
また、セキュアＲＡＭ領域１３２は、記憶データに対してのアクセスに所定の許可（認証）が必要な領域であり、図３（Ｂ）、（Ｃ）に示したキーファイルＫＦおよび公開鍵証明書データＣＥＲCPと機器の種類に応じて固有の値を持つ記録用鍵データＫSTR とを引数としてＭＡＣ(Message Authentication Code) 関数を用いて生成した署名データと、当該キーファイルＫＦおよび公開鍵証明書データＣＥＲCPとを記録媒体に固有の値を持つメディア鍵データＫMED を用いて暗号化したデータとが記憶される。
また、セキュアＲＡＭ領域１３２には、例えば、不正行為などで無効となったコンテンツプロバイダ１０１およびＳＡＭ１０５1 〜１０５5 を特定する公開鍵証明書破棄データ（リボケーションリスト）が記憶される。
本実施形態で用いられるメディアＳＡＭおよび後述するメディア・ドラブＳＡＭ２６０では、これら相互間で通信を行う際に、自らが持つリボケーションリストと相手方が持つリボケーションリストとの作成時を比較し、自らが持つリボケーションリストの作成時が前の場合には、相手方が持つリボケーションリストによって自らのリボケーションリストを更新する。
また、セキュアＲＡＭ領域１３２には、後述するようにユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５4 においてコンテンツデータＣの購入・利用形態が決定されたときに生成される利用制御状態（ＵＣＳ）データ１６６などが記憶される。これにより、利用制御データ１６６がセキュアＲＡＭ領域１３２に記憶されることで、購入・利用形態が決定したＲＯＭ型の記録媒体１３０1 となる。
メディアＳＡＭ１３３には、例えば、ＲＯＭ型の記録媒体１３０1 の識別子であるメディアＩＤと、メディア鍵データＫMED とが記憶されている。
メディアＳＡＭ１３３は、例えば、相互認証機能を有している。
【００４９】
本実施形態で用いるＲＯＭ型の記録媒体としては、例えば、図１１に示すものの他に、図１２に示すＲＯＭ型の記録媒体１３０2 および図１３に示すＲＯＭ型の記録媒体１３０3 なども考えられる。
図１２に示すＲＯＭ型の記録媒体１３０2 は、ＲＯＭ領域１３１と認証機能を有するメディアＳＡＭ１３３とを有し、図１１に示すＲＯＭ型の記録媒体１３０1 のようにセキュアＲＡＭ領域１３２を備えていない。ＲＯＭ型の記録媒体１３０2 を用いる場合には、ＲＯＭ領域１３１にコンテンツファイルＣＦを記録し、メディアＳＡＭ１３３にキーファイルＫＦを記憶する。
また、図１３に示すＲＯＭ型の記録媒体１３０3 は、ＲＯＭ領域１３１およびセキュアＲＡＭ領域１３２を有し、図１１に示すＲＯＭ型の記録媒体１３０1 のようにメディアＳＡＭ１３３を有していない。ＲＯＭ型の記録媒体１３０3 を用いる場合には、ＲＯＭ領域１３１にコンテンツファイルＣＦを記録し、セキュアＲＡＭ領域１３２にキーファイルＫＦを記録する。また、ＲＯＭ型の記録媒体１３０3 を用いる場合には、ＳＡＭとの間で相互認証は行わない。
また、本実施形態ではＲＯＭ型の記録媒体の他にＲＡＭ型の記録媒体も用いられる。
【００５０】
本実施形態で用いるＲＡＭ型の記録媒体としては、例えば図１４に示すように、メディアＳＡＭ１３３、セキュアＲＡＭ領域１３２およびセキュアでないＲＡＭ領域１３４を有するＲＡＭ型の記録媒体１３０4 がある。ＲＡＭ型の記録媒体１３０4 では、メディアＳＡＭ１３３は認証機能を持ち、キーファイルＫＦを記憶する。また、ＲＡＭ領域１３４には、コンテンツファイルＣＦが記録される。
また、本実施形態で用いるＲＡＭ型の記録媒体としては、その他に、図１５に示すＲＡＭ型の記録媒体１３５０5 および図１６に示すＲＡＭ型の記録媒体１３０6 なども考えられる。
図１５に示すＲＡＭ型の記録媒体１３０5 は、セキュアでないＲＡＭ領域１３４と認証機能を有するメディアＳＡＭ１３３とを有し、図１４に示すＲＡＭ型の記録媒体１３０4 のようにセキュアＲＡＭ領域１３２を備えていない。ＲＡＭ型の記録媒体１３０5 を用いる場合には、ＲＡＭ領域１３４にコンテンツファイルＣＦを記録し、メディアＳＡＭ１３３にキーファイルＫＦを記憶する。
また、図１６に示すＲＡＭ型の記録媒体１３０6 は、セキュアＲＡＭ領域１３２およびセキュアでないＲＡＭ領域１３４を有し、図１４に示すＲＡＭ型の記録媒体１３０4 のようにメディアＳＡＭ１３３を有していない。ＲＡＭ型の記録媒体１３０6 を用いる場合には、ＲＡＭ領域１３４にコンテンツファイルＣＦを記録し、セキュアＲＡＭ領域１３２にキーファイルＫＦを記録する。また、ＲＡＭ型の記録媒体１３０6 を用いる場合には、ＳＡＭとの間で相互認証は行わない。
【００５１】
ここで、コンテンツプロバイダ１０１からユーザホームネットワーク１０３へのコンテンツデータＣの配給は、上述したように記録媒体１３０1 を用いて行う場合とネットワークを使ってオンラインで行う場合との何れでも権利書データ１０６が格納された共通の形式のセキュアコンテナ１０４を用いる。従って、ユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５4 では、オフラインおよびオンラインの何れの場合でも、共通の権利書データ１０６に基づいた権利処理を行なうことができる。
【００５２】
また、上述したように、本実施形態では、セキュアコンテナ１０４内に、コンテンツ鍵データＫｃで暗号化されたコンテンツデータＣと、当該暗号化を解くためのコンテンツ鍵データＫｃとを同封するイン・バンド(In-Band) 方式を採用している。イン・バンド方式では、ユーザホームネットワーク１０３の機器で、コンテンツデータＣを再生しようとするときに、コンテンツ鍵データＫｃを別途配信する必要がなく、ネットワーク通信の負荷を軽減できるという利点がある。また、コンテンツ鍵データＫｃはライセンス鍵データＫＤ1 〜ＫＤ6 で暗号化されているが、ライセンス鍵データＫＤ1 〜ＫＤ6 は、ＥＭＤサービスセンタ１０２で管理されており、ユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５5 に事前に（ＳＡＭ１０５1 〜１０５4 がＥＭＤサービスセンタ１０２に初回にアクセスする際に）配信されているので、ユーザホームネットワーク１０３では、ＥＭＤサービスセンタ１０２との間をオンラインで接続することなく、オフラインで、コンテンツデータＣの利用が可能になる。
なお、本発明は、後述するようにコンテンツデータＣとコンテンツ鍵データＫｃとを別々に、ユーザホームネットワーク１０３に供給するアウト・オブ・バンド(Out-Of-Band) 方式を採用できる柔軟性を有している。
【００５３】
以下、コンテンツプロバイダ１０１におけるセキュアコンテナ１０４の作成に係わる処理の流れを説明する。
図１７，図１８，図１９は、当該処理の流れを説明するためのフローチャートである。
ステップＳ１７−１：コンテンツプロバイダ１０１の関係者は、例えば、自らの身分証明書および決済処理を行う銀行口座などを用いて、オフラインで、ＥＭＤサービスセンタ１０２に登録処理を行い、グローバルユニークな識別子ＣＰ＿ＩＤを得ている。また、コンテンツプロバイダ１０１は、予め自らの公開鍵証明書データＣＥＲCPをＥＭＤサービスセンタ１０２から得ている。
ステップＳ１７−２：コンテンツプロバイダ１０１は、新しくオーサリングするコンテンツデータや、既に保管されているレガシーコンテンツデータなどのコンテンツマスタソースをデジタル化し、さらにコンテンツＩＤを割り振り、コンテンツマスタソースデータベースに格納して一元的に管理する。
ステップＳ１７−３：コンテンツプロバイダ１０１は、ステップＳ１７−２において一元的に管理した各々のコンテンツマスタソースにメタデータＭｅｔａを作成し、これをメタデータデータベースに格納して管理する。
【００５４】
ステップＳ１７−４：コンテンツプロバイダ１０１は、コンテンツマスタソースデータベースからコンテンツマスタソースであるコンテンツデータを読み出して電子透かし情報を埋め込む。
ステップＳ１７−５：コンテンツプロバイダ１０１は、ステップＳ１７−４で埋め込んだ電子透かし情報の内容と埋め込み位置とを所定のデータベースに格納する。
ステップＳ１７−６：電子透かし情報が埋め込まれたコンテンツデータを圧縮する。
ステップＳ１７−７：コンテンツプロバイダ１０１は、ステップＳ１７−６で圧縮したコンテンツデータを伸長してコンテンツデータを生成する。
ステップＳ１７−８：コンテンツプロバイダ１０１は、伸長したコンテンツデータの聴覚検査を行う。
ステップＳ１７−９：コンテンツプロバイダ１０１は、コンテンツデータに埋め込まれた電子透かし情報を、ステップＳ１７−５でデータベースに格納した埋め込み内容および埋め込み位置に基づいて検出する。
そして、コンテンツプロバイダ１０１は、聴覚検査および電子透かし情報の検出の双方が成功した場合には、ステップＳ１７−１０の処理を行い、何れか一方が失敗した場合にはステップＳ１７−４の処理を繰り返す。
【００５５】
ステップＳ１７−１０：コンテンツプロバイダ１０１は、乱数を発生してコンテンツ鍵データＫｃを生成し、これを保持する。また、コンテンツプロバイダ１０１は、ステップＳ１７−６で圧縮したコンテンツデータを、コンテンツ鍵データＫｃを用いて暗号化する。
【００５６】
ステップＳ１７−１１：コンテンツプロバイダ１０１は、図３（Ａ）に示すコンテンツファイルＣＦを作成し、これをコンテンツファイルデータベースに格納する。
【００５７】
ステップＳ１７−１２：コンテンツプロバイダ１０１は、コンテンツデータＣについての権利書データ１０６を作成する。
ステップＳ１７−１３：コンテンツプロバイダ１０１は、ＳＲＰを決定する。
ステップＳ１７−１４：コンテンツプロバイダ１０１は、コンテンツＩＤ、コンテンツ鍵データＫｃおよび権利書データ１０６をＥＭＤサービスセンタ１０２に出力する。
ステップＳ１７−１５：コンテンツプロバイダ１０１は、ライセンス鍵データＫＤ1 〜ＫＤ3 で暗号化されたキーファイルＫＦをＥＭＤサービスセンタ１０２から入力する。
ステップＳ１７−１６：コンテンツプロバイダ１０１は、入力したキーファイルＫＦをキーファイルデータベースに格納する。
【００５８】
ステップＳ１７−１７：コンテンツプロバイダ１０１は、コンテンツファイルＣＦとキーファイルＫＦとのリンク関係をハイパーリンクで結ぶ。
ステップＳ１７−１８：コンテンツプロバイダ１０１は、コンテンツファイルＣＦのハッシュ値をとり、秘密鍵データＫCP,Sを用いて署名データＳＩＧ6,CPを生成する。また、コンテンツプロバイダ１０１は、キーファイルＫＦのハッシュ値をとり、秘密鍵データＫCP,Sを用いて署名データＳＩＧ7,CPを生成する。
【００５９】
ステップＳ１７−１９：コンテンツプロバイダ１０１は、図３に示すように、コンテンツファイルＣＦ、キーファイルＫＦ、公開鍵証明書データＣＥＲCP、署名データＳＩＧ6,CP，ＳＩＧ7,CP，ＳＩＧ1,ESC を格納したセキュアコンテナ１０４を作成する。
【００６０】
ステップＳ１７−２０：複数のセキュアコンテナを用いたコンポジット形式でコンテンツデータを提供する場合には、ステップＳ１７−１〜Ｂ１９の処理を繰り返して各々のセキュアコンテナ１０４を作成し、コンテンツファイルＣＦとキーファイルＫＦとの間のリンク関係と、コンテンツファイルＣＦ相互間のリンク関係とをハイパーリンクなどを用いて結ぶ。
ステップＳ１７−２１：コンテンツプロバイダ１０１は、作成したセキュアコンテナ１０４をセキュアコンテナデータベースに格納する。
【００６１】
〔ＥＭＤサービスセンタ１０２〕
図２０は、ＥＭＤサービスセンタ１０２の主な機能を示す図である。
ＥＭＤサービスセンタ１０２は、主に、図２０に示すように、ライセンス鍵データをコンテンツプロバイダ１０１およびＳＡＭ１０５1 〜１０５4 に供給する処理と、公開鍵証明書データＣＥＲCP，ＣＥＲSAM1〜ＣＥＲSAM4の発行処理と、キーファイルＫＦの発行処理、利用履歴データ１０８に基づいた決済処理（利益分配処理）とを行う。
【００６２】
＜ライセンス鍵データの供給処理＞
先ず、ＥＭＤサービスセンタ１０２からユーザホームネットワーク１０３内のＳＡＭ１０５1 〜１０５4 にライセンス鍵データを送信する際の処理の流れを説明する。
ＥＭＤサービスセンタ１０２では、所定期間毎に、例えば、３カ月分のライセンス鍵データＫＤ1 〜ＫＤ3 を鍵データベースから読み出して、各々のハッシュ値をとり、ＥＭＤサービスセンタ１０２の秘密鍵データＫESC,S を用いて、それぞれに対応する署名データＳＩＧKD1,ESC 〜ＳＩＧKD3,ESC を作成する。
そして、ＥＭＤサービスセンタ１０２は、３カ月分のライセンス鍵データＫＤ1 〜ＫＤ3 およびそれらの署名データＳＩＧKD1,ESC 〜ＳＩＧKD3,ESC を、ＳＡＭ１０５1 〜１０５4 と間の相互認証で得られたセッション鍵データＫSES を用いて暗号化した後に、ＳＡＭ１０５1 〜１０５4 に送信する。
また、同様に、ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１に、例えば、６カ月分のライセンス鍵データＫＤ1 〜ＫＤ6 を送信する。
【００６３】
＜公開鍵証明書データの発行処理＞
次に、ＥＭＤサービスセンタ１０２がコンテンツプロバイダ１０１から、公開鍵証明書データＣＥＲCPの発行要求を受けた場合の処理を説明する。
ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１の識別子ＣＰ＿ＩＤ、公開鍵データＫCP,Pおよび署名データＳＩＧ9,CPをコンテンツプロバイダ１０１から受信すると、これらを、コンテンツプロバイダ１０１との間の相互認証で得られたセッション鍵データＫSES を用いて復号する。
そして、当該復号した署名データＳＩＧ9,CPの正当性を検証した後に、識別子ＣＰ＿ＩＤおよび公開鍵データＫCP,Pに基づいて、当該公開鍵証明書データの発行要求を出したコンテンツプロバイダ１０１がＣＰデータベースに登録されているか否かを確認する。
そして、ＥＭＤサービスセンタ１０２は、当該コンテンツプロバイダ１０１のＸ．５０９形式の公開鍵証明書データＣＥＲCPを証明書データベースから読み出し、公開鍵証明書データＣＥＲCPのハッシュ値をとり、ＥＭＤサービスセンタ１０２の秘密鍵データＫESC,S を用いて、署名データＳＩＧ1,ESC を作成する。
そして、ＥＭＤサービスセンタ１０２は、公開鍵証明書データＣＥＲCPおよびその署名データＳＩＧ1,ESC を、コンテンツプロバイダ１０１との間の相互認証で得られたセッション鍵データＫSES を用いて暗号化した後に、コンテンツプロバイダ１０１に送信する。
【００６４】
なお、ＥＭＤサービスセンタ１０２がＳＡＭ１０５1 から、公開鍵証明書データＣＥＲSAM1の発行要求を受けた場合の処理も、ＳＡＭ１０５1 との間で処理が行われる点を除いて、公開鍵証明書データＣＥＲCPの発行要求を受けた場合の処理と同じである。公開鍵証明書データＣＥＲCPも、Ｘ．５０９形式で記述されている。
なお、本発明では、ＥＭＤサービスセンタ１０２は、例えば、ＳＡＭ１０５1
の出荷時に、ＳＡＭ１０５1 の秘密鍵データＫSAM1,Sおよび公開鍵データＫSAM1,PをＳＡＭ１０５1 の記憶部に記憶する場合には、当該出荷時に、公開鍵データＫSAM1,Pの公開鍵証明書データＣＥＲSAM1を作成してもよい。
このとき、当該出荷時に、公開鍵証明書データＣＥＲSAM1を、ＳＡＭ１０５1
の記憶部に記憶してもよい。
【００６５】
＜キーファイルＫＦの発行処理＞
ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１から図６に示す登録用モジュールＭｏｄ2 を受信すると、コンテンツプロバイダ１０１と間の相互認証で得られたセッション鍵データＫSES を用いて登録用モジュールＭｏｄ2
を復号する。
そして、ＥＭＤサービスセンタ１０２は、鍵データベースから読み出した公開鍵データＫcp,Pを用いて、署名データＳＩＧM1,CP の正当性を検証する。
次に、ＥＭＤサービスセンタ１０２は、登録用モジュールＭｏｄ2 に格納された権利書データ１０６、コンテンツ鍵データＫｃ、電子透かし情報管理データＷＭおよびＳＲＰを、権利書データベースに登録する。
【００６６】
次に、ＥＭＤサービスセンタ１０２は、鍵サーバから読み出した対応する期間のライセンス鍵データＫＤ1 〜ＫＤ6 を用いて、コンテンツ鍵データＫｃおよび権利書データ１０６と、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 とを暗号化する。
次に、ＥＭＤサービスセンタ１０２は、ヘッダデータと、コンテンツ鍵データＫｃおよび権利書データ１０６と、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 との全体に対してハッシュ値をとり、ＥＭＤサービスセンタ１０２の秘密鍵データＫESC,S を用いて署名データＳＩＧK1,ESCを作成する。
次に、ＥＭＤサービスセンタ１０２は、図３（Ｂ）に示すキーファイルＫＦを作成し、これをＫＦデータベースに格納する。
次に、ＥＭＤサービスセンタ１０２は、ＫＦデータベースにアクセスを行って得たキーファイルＫＦを、コンテンツプロバイダ１０１と間の相互認証で得られたセッション鍵データＫSES を用いて暗号化した後に、コンテンツプロバイダ１０１に送信する。
【００６７】
＜決算処理＞
次に、ＥＭＤサービスセンタ１０２において行なう決済処理について説明する。
ＥＭＤサービスセンタ１０２は、ユーザホームネットワーク１０３の例えばＳＡＭ１０５1 から利用履歴データ１０８およびその署名データＳＩＧ200,SAM1を入力すると、利用履歴データ１０８および署名データＳＩＧ200,SAM1を、ＳＡＭ１０５1 との間の相互認証によって得られたセッション鍵データＫSES を用いて復号し、ＳＡＭ１０５1 の公開鍵データＫSAM1による署名データＳＩＧ200,SAM1の検証を行う。
【００６８】
図２１は、利用履歴データ１０８に記述されるデータを説明するための図である。
図２１に示すように、利用履歴データ１０８には、例えば、セキュアコンテナ１０４に格納されたコンテンツデータＣに対してＥＭＤサービスセンタ１０２によってグローバルユニークに付された識別子であるＥＳＣ＿コンテンツＩＤ、当該コンテンツデータＣに対してコンテンツプロバイダ１０１によって付された識別子であるＣＰ＿コンテンツＩＤ、セキュアコンテナ１０４の配給を受けたユーザの識別子であるユーザＩＤ、当該ユーザのユーザ情報、セキュアコンテナ１０４の配給を受けたＳＡＭ１０５1 〜１０５4 の識別子ＳＡＭ＿ＩＤ、当該ＳＡＭが属するホームネットワークグループの識別子であるＨＮＧ＿ＩＤ、ディスカウント情報、トレーシング情報、プライスタグ、当該コンテンツデータを提供したコンテンツプロバイダ１０１の識別子ＣＰ＿ＩＤ、紹介業者（ポータル:Portal)ＩＤ、ハードウェア提供者ＩＤ、セキュアコンテナ１０４を記録した記録媒体の識別子Ｍｅｄｉａ＿ＩＤ、セキュアコンテナ１０４の提供に用いられた例えば圧縮方法などの所定のコンポーネントの識別子であるコンポーネントＩＤ、セキュアコンテナ１０４のライセンス所有者の識別子ＬＨ＿ＩＤ、セキュアコンテナ１０４についての決済処理を行うＥＭＤサービスセンタ１０２の識別子ＥＳＣ＿ＩＤなどが記述されている。
なお、後述する第２実施形態では、利用履歴データ３０８には、上述した利用履歴データ１０８に記述されたデータに加えて、当該コンテンツデータＣに対してサービスプロバイダ３１０によって付された識別子であるＳＰ＿コンテンツＩＤと、当該コンテンツデータＣを配給したサービスプロバイダ３１０の識別子ＳＰ＿ＩＤとが記述されている。
【００６９】
ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１の所有者以外にも、例えば、圧縮方法や記録媒体などのライセンス所有者に、ユーザホームネットワーク１０３のユーザが支払った金銭を分配する必要がある場合には、予め決められた分配率表に基づいて各相手に支払う金額を決定し、当該決定に応じた決済レポートデータ１０７および決済請求権データ１５２を作成する。当該分配率表は、例えば、セキュアコンテナ１０４に格納されたコンテンツデータ毎に作成される。
【００７０】
次に、ＥＭＤサービスセンタ１０２は、利用履歴データ１０８と、権利書データベースから読み出した権利書データ１０６に含まれる標準小売価格データＳＲＰおよび販売価格とに基づいて決済処理を行い、決済請求権データ１５２および決済レポートデータ１０７を生成する。
ここで、決済請求権データ１５２は、当該データに基づいて、決済機関９１に金銭の支払いを請求できる権威化されたデータであり、例えば、ユーザが支払った金銭を複数の権利者に配給する場合には、個々の権利者毎に作成される。
【００７１】
次に、ＥＭＤサービスセンタ１０２は、決済請求権データ１５２およびその署名データＳＩＧ99を、相互認証およびセッション鍵データＫSES による復号を行なった後に、図１に示すペイメントゲートウェイ９０を介して決済機関９１に送信する。
これにより、決済請求権データ１５２に示される金額の金銭が、コンテンツプロバイダ１０１に支払われる。
また、ＥＭＤサービスセンタ１０２は、決済レポートデータ１０７をコンテンツプロバイダ１０１に送信する。
【００７２】
〔ユーザホームネットワーク１０３〕
ユーザホームネットワーク１０３は、図１に示すように、ネットワーク機器１６０1 およびＡ／Ｖ機器１６０2 〜１６０4 を有している。
ネットワーク機器１６０1 は、ＳＡＭ１０５1 を内蔵している。また、ＡＶ機器１６０2 〜１６０4 は、それぞれＳＡＭ１０５2 〜１０５4 を内蔵している。  
ＳＡＭ１０５1 〜１０５4 の相互間は、例えば、ＩＥＥＥ１３９４シリアルインタフェースバスなどのバス１９１を介して接続されている。
なお、ＡＶ機器１６０2 〜１６０4 は、ネットワーク通信機能を有していてもよいし、ネットワーク通信機能を有しておらず、バス１９１を介してネットワーク機器１６０1 のネットワーク通信機能を利用してもよい。
また、ユーザホームネットワーク１０３は、ネットワーク機能を有していないＡＶ機器のみを有していてもよい。
【００７３】
以下、ネットワーク機器１６０1 について説明する。
図２２は、ネットワーク機器１６０1 の構成図である。
図２２に示すように、ネットワーク機器１６０1 は、ＳＡＭ１０５1 、通信モジュール１６２、ＡＶ圧縮・伸長用ＳＡＭ１６３、操作部１６５、ダウンロードメモリ１６７、再生モジュール１６９、外部メモリ２０１およびホストＣＰＵ８１０を有する。
ここで、ホストＣＰＵ８１０はネットワーク機器１６０1 内の処理を統括的に制御しており、ホストＣＰＵ８１０とＳＡＭ１０５1 とは、それぞれマスタ(Master)とスレーブ(Slave) の関係にある。
以下、ホストＣＰＵ８１０とＳＡＭ１０５1 との関係を詳細に説明する。
図２３は、ホストＣＰＵ８１０とＳＡＭ１０５1 との関係を説明するための図である。
図２３に示すように、ネットワーク機器１６０1 では、ホストＣＰＵバス１０００を介して、ホストＣＰＵ８１０とＳＡＭ１０５1 とが接続されている。
ホストＣＰＵ８１０は、例えばユーザによる操作部１６５の操作に応じて複数の割り込みタイプの中から一の割り込みタイプが選択された場合に、当該選択された割り込みタイプを示す外部割り込み（ハードウェア割り込み）Ｓ１６５を受ける。
また、ホストＣＰＵ８１０は、外部割り込みＳ１６５を受け、当該外部割り込みＳ１６５に対応するタスクがＳＡＭ１０５1 が実行すべきものである場合に、当該タスクを指定した内部割り込み（ソフトウェア割り込み）Ｓ８１０を、ホストＣＰＵバス１０００を介してＳＡＭ１０５1 に出す。
【００７４】
ＳＡＭ１０５1 は、ホストＣＰＵ８１０からＩ／Ｏデバイスとして認識され、ホストＣＰＵ８１０からのファンクションコールである内部割り込みＳ８１０を受けて、要求に応じたタスクを実行し、当該タスクの実行結果をホストＣＰＵ８１０に返す。
ＳＡＭ１０５1 が実行するタスクは、主に、コンテンツデータの購入処理（課金処理）、署名検証処理、相互認証処理、コンテンツデータの再生処理、更新処理、登録処理、ダウンロード処理などに関するものであり、これらのタスク群はＳＡＭ１０５1 内で外部から遮蔽された形で処理され、ホストＣＰＵ８１０は当該処理内容をモニタできない。
ホストＣＰＵ８１０は、どのようなイベントのときにＳＡＭ１０５1 にタスクを依頼するかを予め把握している。具体的には、ホストＣＰＵ８１０は、ユーザによる外部キーデバイスなどの操作部１６５の操作に応じた外部割り込みＳ１６５を受けて、当該割り込みによって実行すべきタスクがＳＡＭ１０５1 が実行するタスクであると判断すると、ホストＣＰＵバス１０００を介してＳＡＭ１０５1 に内部割り込みＳ８１０をかけ、ＳＡＭ１０５1 に当該タスクを実行させる。
【００７５】
ここで、コマンダーおよびキーボードなどの外部キーデバイスなどのホストＣＰＵ８１０に対してのＩ／Ｏデバイスに相当するものから受ける割り込みは、ホストＣＰＵ８１０が実行するユーザプログラムの内容とは全く非同期なイベントによって生じる割り込みであり、通常、これらを“ハードウエア割り込み”あるいは”外部割り込み”と呼んでいる。
ホストＣＰＵ８１０が、コンテンツの視聴および購入時に受ける割り込みは、ハードウェア割り込みである。このとき、ハードウェア割り込みを発生するＩ／Ｏデバイスは、例えば、ネットワーク機器１６０1 のボタン類やＧＵＩ(Graphical User Interface)のアイコンなどのキーデバイスである。本実施形態では、これらのＩ／Ｏデバイスを操作部１６５としている。
【００７６】
一方、ホストＣＰＵ８１０によるユーザプログラム（プログラム）の実行に基づいて発生する割り込みは、“ソフトウェア割り込み”または”内部割り込みと呼ばれる。
【００７７】
外部割り込みＳ１６５は、通常、その割り込み信号を、ホストＣＰＵバス１０００とは別に設けられた外部割り込み専用線を介して操作部１６５からホストＣＰＵ８１０に出力している。
外部割り込みＳ１６５の種類は、割り込みが発生するＩ／Ｏデバイスに番号を持たせることで区別される。例えば、キーボードなどでは、全てのボタン（当該番号を割り込みタイプと呼ぶ）に番号が割り当てられ、ボタンが押されると、当該ボタンが押下されたことを外部割り込み専用線を介して操作部１６５からホストＣＰＵ８１０に通知し、当該押下されたボタンの番号をＩ／Ｏインターフェイス内のメモリに記憶する。そして、ホストＣＰＵ８１０は、ボタンが押下されたことの通知を受けると、Ｉ／Ｏインターフェイス内のメモリにアクセスを行い、当該メモリに記憶されたボタンの番号から外部割り込みのタイプを識別し、当該ボタンの番号に対応する割り込みルーチンの実行制御を行う。
このとき、ホストＣＰＵ８１０が、当該ボタンの番号に対応する割り込みルーチンがＳＡＭ１０５1 によって実行されるべきものである場合には、ＳＡＭ１０５1 に内部割り込みＳ８１０を出してタスク実行を依頼する。
【００７８】
前述したように、ＳＡＭ１０５1 が実行するタスクには、以下に示す（1）〜（3）などがある。
これらのタスクは、外部割り込み専用線を介してホストＣＰＵ８１０が（1）〜（3）などに対応する外部割り込みを操作部１６５から受け、ホストＣＰＵ８１０がそれに応じた内部割り込みＳ８１０をＳＡＭ１０５1 に出すことで、ＳＡＭ１０５1 によって実行される。
（1）．コンテンツ購入処理（鍵の購入処理。試聴含む。）
（2）．再生処理
（3）．コンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２からのダウンロード（更新処理、利用履歴回収、プログラムダウンロードなど）
【００７９】
上記（1）、（2）では、割り込みを発生させるＩ／Ｏはネットワーク機器１６０1 のボタンやＧＵＩなどの外部キーデバイスになる。
上記（3）は、実際は、コンテンツプロバイダ１０１からプッシュ的にダウンロード用のセキュアコンテナ１０４が送られてくるのではなく、ネットワーク機器１６０1 （クライアント）側からポーリングしにいく能動的プル型のため、ダウンロードしたセキュアコンテナ１０４をネットワーク機器１６０1 内のダウンロードメモリ１６７に書き込んだ時点で、その状態をホストＣＰＵ８１０は把握している。従って、上記（3）の場合には、ホストＣＰＵ８１０は、操作部１６５からの外部割り込みＳ１６５を受けることなく、ＳＡＭ１０５1 に対して内部割り込みＳ８１０を発生する。
【００８０】
ＳＡＭ１０５1 は、ホストＣＰＵ８１０に対してスレーブのＩ／Ｏデバイスと機能するので、ＳＡＭ１０５1 のメインルーチンは電源オンでスタートしてから、その後はスタンバイ（ウェーティング、待ち状態）モードで待機している。
その後、ＳＡＭ１０５1 は、マスタであるホストＣＰＵ８１０から内部割り込みＳ８１０を受けた時点で、内部で外部から遮蔽された形で依頼されたタスクを処理し、タスク終了をホストＣＰＵ８１０に外部割り込み（ハードウエア割り込み）で知らせ、ホストＣＰＵ８１０に当該そのタスク結果を拾ってもらう。従って、ＳＡＭ１０５1 には、ユーザのメインプログラム（ユーザプログラム）というものがない。
【００８１】
ＳＡＭ１０５1 は、コンテンツの購入処理、再生処理、コンテンツプロバイダ１０１、並びにＥＭＤサービスセンタ１０２からのダウンロード処理などを割り込みルーチンとして実行する。ＳＡＭ１０５1 は、通常は、スタンバイ状態で待機している状態から、ホストＣＰＵ８１０から内部割り込みＳ８１０を受け、その割り込みタイプ（番号）（ファンクションコールのコマンド）に応じた割り込みルーチンを実行し、結果を得た時点で、それをホストＣＰＵ８１０に拾ってもらう。
具体的には、ホストＣＰＵ８１０からＳＡＭ１０５1 への内部割り込みＳ８１０によるタスク依頼は、Ｉ／Ｏ命令で行われ、ＳＡＭ１０５1 はホストＣＰＵ８１０から受け取ったファンクションコールのコマンドに基づいて自分自身に内部割り込みをかける。ホストＣＰＵ８１０によるＳＡＭ１０５1 への内部割り込みは、具体的には、チップセレクト(Chip Select) を行ってＳＡＭ１０５1 を選択して行われる。
【００８２】
上述したように、コンテンツの購入および再生などの外部割り込みＳ１６５をホストＣＰＵ８１０が受けるにも係わらず、それに応じたタスクをＳＡＭ１０５1 に依頼して行うのは、それらのタスク内容が鍵の購入処理などに伴う暗号処理、署名生成、署名検証処理などのセキュリティに係わるものだからである。
ＳＡＭ１０５1 に格納されている割り込みルーチンは、ホストＣＰＵ８１０のい割り込みルーチンのサブルーチン的な役割をもつ割り込みルーチンといえる。
ホストＣＰＵ８１０によって実行される割り込みルーチンは、ＳＡＭ１０５1
の共有メモリ空間に、自らに対して行われた外部割り込みＳ１６５に対応するタスクを依頼する内部割り込み（ファンクションコール）Ｓ８１０を送ることを指示するタスクである。
なお、図２４に示すように、ＳＡＭ１０５1 に格納されている割り込みルーチンには、さらにサブルーチンがぶらさがっている。
他の割り込みルーチンに共通なプログラムは、サブルーチンとして定義したほうがコードサイズの節約になり、メモリの節減になるためである。また、ＳＡＭ１０５1 の処理は、割り込みルーチンから並列にサブルーチンを定義したり、サブルーチンのさらにサブルーチンを定義するなど、通常のＣＰＵの処理と同様の手法が採用されている。
【００８３】
図２３に戻って説明を行う。
前述したように、ホストＣＰＵ８１０は、外部キーデバイスなどのＩ／Ｏからの割り込みを、割り込み専用線による外部割り込み（ハードウエア割り込み）Ｓ１６５として受ける。
各々の外部割り込み専用線には、番号が割り振られていて、その番号に応じてホストＣＰＵ８１０側のシステムメモリに格納されている割り込みベクタテーブルにおいて、相当の割り込みベクタを抜き出して割り込みルーチンを開始する。そのとき、割り込みタイプが、ベクタテーブルの中の割り込みベクタの選択番号を示す間接アクセスと、割り込みタイプが、そのまま割り込みルーチンの開始アドレスを示す直接アクセスの２種類が存在する。
【００８４】
ホストＣＰＵ８１０は、受けた外部割り込みが、ＳＡＭ１０５1 が行うべきタスクの場合、割り込みルーチンは、ＳＡＭ１０５1 に対して内部割り込みＳ８１０をかけ、ＳＡＭ１０５1 にタスクを実行するように依頼（Ｉ／Ｏ命令）するプログラムである。
タスクの種類はコマンド名で定義されていて、ホストＣＰＵ８１０はＳＡＭ１０５1 に対してコマンドベースの内部割り込みＳ８１０をかける。ＳＡＭ１０５1 は電源オンしたとき、図２４に示すように、初期化プログラムとＳＡＭ内部のIntegrity Check を済ませ、その後はスタンバイ状態で待機するスリープモードとなる。スリープモードでは、ＣＰＵの動作のみを停止させ、すべての割り込みで復帰する。その後、ＳＡＭ１０５1 は、例外処理状態を経てプログラム実行状態に遷移する。その後は、ＳＡＭ１０５1 は、ホストＣＰＵ８１０からのタスク依頼の内部割り込みを受けた時点で相当のタスクを実行して結果を出し、それをホストＣＰＵ８１０に返す。
ホストＣＰＵ８１０は、その結果を受けて次のアクションを行う。但し、ＳＡＭ１０５1 がタスク実行中でも、ホストＣＰＵ８１０は他のタスクを行ってもよい。ホストＣＰＵ８１０は、ＳＡＭ１０５1 によるタスクの実行結果を割り込みとして受けつける。
【００８５】
ＳＡＭ１０５1 が、ホストＣＰＵ８１０から依頼を受けたタスクの実行結果をホストＣＰＵ８１０に知らせる手段としては、ホストＣＰＵ８１０に対し割り込みをかけて、ホストＣＰＵ８１０に当該実行結果を拾ってもらう方法と、ＳＡＭ１０５1 の内部のホストＣＰＵ８１０がアクセス可能なアドレス空間上（当該アドレス空間には、ホストＣＰＵ８１０からのリード／ライトコマンド、アドレス情報、データがキャリーされる）にステータスレジスタ（ＳＡＭステータスレジスタと呼ぶ）を設ける方法とがある。後者の方法では、ＳＡＭステータスレジスタ（ＳＡＭ＿ＳＲ）にタスクの種類、タスク待機中、タスク実行中、タスク終了などのフラグを設定できるようにし、当該ＳＡＭステータスレジスタに、ホストＣＰＵ８１０から定期的にポーリング（データの読み込み）を行う。
【００８６】
第１のＳＡＭステータスレジスタには、ホストＣＰＵ８１０によって読み出される、ＳＡＭ１０５1 のステータス（状態）を示すフラグが設定される。
また、第２のＳＡＭステータスレジスタには、ホストＣＰＵ８１０からタスク実行の依頼が出されているか否かのステータスをＳＡＭ１０５1 の内部のＣＰＵから読みにいくフラグが設定される。バス調停の優先順位に基づいて、ホストＣＰＵ８１０とＳＡＭ１０５1 との双方が、当該第１および第２のＳＡＭステータスレジスタのフラグにアクセスできる。
【００８７】
具体的には、第１のＳＡＭステータスレジスタには、現在ＳＡＭがタスクを実行中か否か、タスク終了済で結果が得られているか否か、そのときのタスク名は何か、あるいはＳＡＭは現在スタンバイ中でタスク待ちの状態か否かを示すフラグが設けられている。第１のＳＡＭステータスレジスタには、ホストＣＰＵ８１０が定期的にポーリングしにいく。
一方、第２のＳＡＭステータスレジスタには、ホストＣＰＵ８１０からタスク実行の依頼が発生しているか否か、あるいは待機中か否かを示すフラグが設けられている。
ここで、ホストＣＰＵ８１０からは、Ｉ／Ｏ書き込み命令のコマンドがＩ／ＯデバイスであるＳＡＭ１０５1 に送られ、続いて、書き込むデータと書き込むアドレス情報が送られる。そのときのアドレス情報（データの格納場所）はホストＣＰＵ８１０とＳＡＭ１０５1 との共有メモリ空間内に格納される。
【００８８】
ここで、ＳＡＭ１０５1 内のメモリのアドレス空間は、ホストＣＰＵ８１０側からは見えないようにすることが必要なので（耐タンパ性）、ホストＣＰＵ８１０からは、作業スタック用のＳＲＡＭの一部、あるいは外付けのＦｌａｓｈ−ＲＯＭ（ＥＥＰＲＯＭ）の一部しか見えないように、ＳＡＭ１０５1 内のアドレス空間を管理する回路を構成する。従って、ホストＣＰＵ８１０から、データ量の大きいものは、これらのエリアにデータを書き込んでいくし、データ量の少ないものはＳＡＭ１０５1 の内部に、ホストＣＰＵ８１０から見えるように仮設のレジスタを設定して、そこに書き込む。
【００８９】
割り込みによって実行される割り込みルーチンのアドレスは「割り込みベクタ」と呼ばれる。割り込みベクタは、割り込みタイプの順に割り込みベクタテーブルに格納されている。
【００９０】
ホストＣＰＵ８１０は、図２５に示すように、外部割り込みを受けると、その割り込みタイプ（番号）にしたがって、メモリに格納された割り込みベクタテーブルから割り込みベクタを取り出し、そのアドレスから始まるルーチンをサブルーチンとして実行する。
本実施形態では、前述した（1）〜（3）の場合に、対応するＩ／Ｏから物理的な割り込み信号によって外部割り込みが発生し、その割り込みタイプ（番号）にしたがって実行される割り込みルーチンで、Ｉ／ＯであるＳＡＭ１０５1 に対して内部割り込み（ソフトウエア割り込み）を利用したファンクションコール（Procedure Call）を行い、自分の代わりにＳＡＭ１０５1 にそのタスクの実行を行ってもらい、その結果を受け取って次なるアクションを行う。
内部割り込みは、図２６に示すように、ユーザプログラム中、つまりＣＰＵ内部から発生するソフトウェア割り込みである。当該内部割り込みは、マシン語のＩＮＴ命令の実行によって発生する。
【００９１】
以下、ファンクションコール（Procedure Call）について説明する。
割り込みルーチンの中は、さらに細かく機能（ファンクション）に分けられていて、各機能にコマンド名が定義されている。ここで、ユーザプログラムから、割り込み命令ＩＮＴと共にコマンドを指定することで、目的の機能を指定することをファンクションコール（Procedure Call）とよぶ。ファンクションコールは、内部割り込み（ソフトウェア割り込み）を利用したものである。
ファンクションコールでは、ＣＰＵのレジスタにファンクションコール番号を入れて割り込みルーチンに必要なパラメータを渡し、目的の機能（ファンクション）を指定する。その結果はレジスタやメモリに返されるか、あるいは動作となってあらわれる。
例えば、ホストＣＰＵ８１０が図２７に示すユーザプログラム内のコードＡを実行する場合には、「ＩＮＴ  ２１Ｈ」によってＣＰＵによって割り込みタイプ「２１Ｈ」の内部割り込みに対応するメモリ内の領域がアクセスされ、コマンド解析部へのアクセスを介して、ファンクション３のサブルーチンが実行される。
【００９２】
次に、ＳＡＭ１０５1 のＣＰＵの処理状態について説明する。
図２８は、ＳＡＭ１０５1 のＣＰＵの処理状態を説明するための図である。
図２８に示すように、ＳＡＭ１０５1 のＣＰＵの処理状態には、リセット状態ＳＴ１、例外処理状態ＳＴ２、バス権解放状態ＳＴ３、プログラム実行状態ＳＴ４および低消費電力状態ＳＴ５の５種類がある。
以下、各状態について説明する。
リセット状態ＳＴ１：ＣＰＵがリセットされている状態である。
例外処理状態ＳＴ２：リセットや割り込みなどの例外処理要因によってＣＰＵが処理状態の流れを変えるときの過渡的な状態である。割り込みの処理の場合は、ＳＰ（スタックポインタ）を参照してＰＣ（プログラムカウンタ）のカウント値とステータスレジスタ（ＳＲ）の値とをスタック領域に退避する。例外処理ベクターテーブルから割り込みルーチンの開始アドレスを取り出し、そのアドレスに分岐してプログラムの実行を開始する。その後の処理状態はプログラム実行状態ＳＴ３となる。
【００９３】
プログラム実行状態ＳＴ３：ＣＰＵが順次プログラムを実行している状態である。
バス権解放状態ＳＴ４：ＣＰＵがバス権を要求したデバイスにバスを解放する状態である。
【００９４】
低消費電力状態ＳＴ５：スリープモード、スタンバイモードおよびモジュールスタンバイモードの３つの状態がある。
（１）スリープモード
ＣＰＵの動作は停止するが、ＣＰＵの内部レジスタのデータと、内蔵キャッシュメモリー、および内蔵ＲＡＭのデータは保持される。ＣＰＵ以外の内蔵周辺モジュールの機能は停止しない。
このモードからの復帰は、リセット、すべての割り込み、またはＤＭＡアドレスエラーによって行われ、例外処理状態ＳＴ２を経て通常のプログラム実行状態へ遷移する。
（２）スタンバイモード
スタンバイモードでは、ＣＰＵ、内蔵モジュール、および発振器のすべての機能が停止する。
キャッシュおよび内部ＲＡＭのデータは保持されない。
スタンバイモードからの復帰は、リセット、外部のＮＭＩ割り込みにより行われる。
復帰時は、発振安定時間経過後、例外処理状態を経て通常プログラム状態へ遷移する。
発振器が停止するので、消費電力は著しく低下する。
（３）モジュールスタンバイモード
ＤＭＡなどの内蔵モジュールへのクロック供給を停止することができる。
【００９５】
次に、ホストＣＰＵ８１０とＳＡＭ１０５1 との間の関係をメモリ空間を用いて説明する。
図２９は、ホストＣＰＵ８１０およびＳＡＭ１０５1 のメモリ空間を示す図である。
図２９に示すように、ホストＣＰＵ８１０のＣＰＵ８１０ａは、ユーザのボタン操作などに応じた外部割り込みを受けると、ユーザプログラムの実行を中断して、割り込みタイプを指定して割り込みベクタテーブルのハードウェア割り込みの領域にアクセスする。そして、ＣＰＵ８１０ａは、当該アクセスによって得られたアドレスに記憶されている割り込みルーチンを実行する。当該割り込みルーチンは、ＳＡＭに対して内部割り込みであるファンクションコールＣａｌｌ１−１，１−２，２または３を出してＳＡＭに対応するタスクを実行させ、そのタスク実行の結果を得た後に、ユーザプログラムに復帰する処理を記述している。具体的には、ＣＰＵ８１１０ａは、ＳＡＭ１０５1 内のメモリ１０５1 ａの一部を構成するＳＲＡＭ１１５５に、依頼するタスクを特定する情報を書き込む。ここで、ＳＲＡＭ１１５５は、ホストＣＰＵ８１０とＳＡＭ１０５1 との共有メモリである。
【００９６】
ホストＣＰＵ８１０のＣＰＵ８１０ａは、ＳＡＭ１０５1 に内部割り込みを出すときに、ＳＡＭ１０５1 内の第２のＳＡＭステータスレジスタ１１５６ｂのタスク待機中のフラグをオンにする。
ＳＡＭ１０５1 のＣＰＵ１１００は、第２のＳＡＭステータスレジスタ１１５６ｂを見ると、ＳＲＡＭ１１５５にアクセスして依頼されたタスクの種類を特定し、それに応じた割り込みルーチンを実行する。当該割り込みルーチンは、前述したように、他のサブルーチンを読み出して実行される。当該サブルーチンには、例えば、記録媒体との相互認証、Ａ／Ｖ圧縮・伸長用ＳＡＭとの相互認証、メディア・ドライブＳＡＭとの間の相互認証、ＩＣカードとの間の相互認証、機器間の相互認証、ＥＭＤサービスセンタ１０２との間の相互認証、並びに署名データの生成および検証を行うものがある。
【００９７】
ＳＡＭ１０５1 のＣＰＵ１１００は、当該割り込みルーチンの結果（タスク結果）を、ＳＲＡＭ１１５５内に格納すると共に、ＳＡＭ１０５1 内の第１のＳＡＭステータスレジスタ１１５６ａのタスク終了のフラグをオンにする。
そして、ホストＣＰＵ８１０は、第１のＳＡＭステータスレジスタ１１５６ａのタスク終了のフラグがオンにされたことを確認した後に、ＳＲＡＭ１１５５に格納されたタスク結果を読み出し、その後、ユーザプログラムの処理に復帰する。
【００９８】
以下、ＳＡＭ１０５1 の機能を説明する。
ここで、ＳＡＭ１０５2 〜１０５4 の機能は、ＳＡＭ１０５1 の機能と同じである。
ＳＡＭ１０５1 は、コンテンツ単位の課金処理を行うモジュールであり、ＥＭＤサービスセンタ１０２との間で通信を行う。
ＳＡＭ１０５1 は、例えば、ＥＭＤサービスセンタ１０２によって仕様およびバージョンなどが管理され、家庭機器メーカに対し、搭載の希望があればコンテンツ単位の課金を行うブラックボックスの課金モジュールとしてライセンス譲渡される。例えば、家庭機器開発メーカは、ＳＡＭ１０５1 のＩＣ(Integrated Circuit)の内部の仕様を知ることはできず、ＥＭＤサービスセンタ１０２が当該ＩＣのインタフェースなどを統一化し、それに従ってネットワーク機器１６０1 に搭載される。なお、ＳＡＭ１０５2 〜１０５4 は、それぞれＡＶ機器１６０2 〜１６０4 に搭載される。
【００９９】
ＳＡＭ１０５1 は、その処理内容が外部から完全に遮蔽され、その処理内容を外部から監視および改竄不能であり、また、内部に予め記憶されているデータおよび処理中のデータを外部から監視および改竄不能な耐タンパ(Tamper Registance) 性を持ったハードウェアモジュール（ＩＣモジュールなど）、あるいはＣＰＵにおいてソフトウェア（秘密プログラム）を実行して実現される機能モジュールである。
ＳＡＭ１０５1 の機能をＩＣという形で実現する場合は、ＩＣ内部に秘密メモリを持ち、そこに秘密プログラムおよび秘密データが格納される。ＳＡＭをＩＣという物理的形態にとらわれず、その機能を機器の何れかの部分に組み込むことができれば、その部分をＳＡＭとして定義してもよい。
【０１００】
なお、図２２に示す例では、実線で示されるように、通信モジュール１６２からのセキュアコンテナ１０４をＳＡＭ１０５1 に出力する場合を例示するが、点線で示されるように、通信モジュール１６２からＳＡＭ１０５1 にキーファイルＫＦを出力し、通信モジュール１６２からダウンロードメモリ１６７にＣＰＵバスなどを介してコンテンツファイルＣＦを直接的にダウンロードメモリ１６７に書き込むようにしてもよい。
また、ＡＶ圧縮・伸長用ＳＡＭ１６３に対してのコンテンツデータＣの出力は、ＳＡＭ１０５1 を介して行うのではなく、ダウンロードメモリ１６７から直接的に行うようにしてもよい。
【０１０１】
以下、ＳＡＭ１０５1 の機能を機能ブロック図を参照しながら具体的に説明する。
図３０は、ＳＡＭ１０５1 の機能の機能ブロック図である。
なお、図３０には、コンテンツプロバイダ１０１からのセキュアコンテナ１０４を入力し、セキュアコンテナ１０４内のキーファイルＫＦを復号する処理に関連するデータの流れが示されている。
図３０に示すように、ＳＡＭ１０５1 は、相互認証部１７０、暗号化・復号部１７１，１７２，１７３、コンテンツプロバイダ管理部１８０、ダウンロードメモリ管理部１８２、ＡＶ圧縮・伸長用ＳＡＭ管理部１８４、ＥＭＤサービスセンタ管理部１８５、利用監視部１８６、課金処理部１８７、署名処理部１８９、ＳＡＭ管理部１９０、メディアＳＡＭ管理部１９７、作業用メモリ２００、外部メモリ管理部８１１およびＣＰＵ１１００を有する。
ＣＰＵ１１００は、ホストＣＰＵ８１０からの内部割り込みＳ８１０を受けて、ＳＡＭ１０５1 内の処理を統括的に制御する。
【０１０２】
ここで、コンテンツプロバイダ管理部１８０およびダウンロードメモリ管理部１８２が本発明の入力処理手段に対応し、課金処理部１８７が本発明の決定手段、履歴データ生成手段および利用制御データ生成手段に対応し、暗号化・復号部１７２が本発明の復号手段に対応し、利用監視部１８６が本発明の利用制御手段に対応している。
また、暗号化・復号部１７３が本発明の暗号化手段に対応している。
また、後述する例えば図４５に示すメディア・ドライブＳＡＭ管理部８５５が本発明の記録制御手段に対応している。
また、署名処理部１８９が本発明の署名処理手段に対応している。
【０１０３】
なお、図３０に示すＳＡＭ１０５1 の各機能は、前述したように、ＣＰＵにおいて秘密プログラムを実行して実現されるか、あるいは所定のハードウェアによって実現される。ＳＡＭ１０５1 のハードウェア構成については後述する。
また、外部メモリ２０１には、以下に示す処理を経て、図３１に示すように、利用履歴データ１０８およびＳＡＭ登録リストが記憶される。
ここで、外部メモリ２０１のメモリ空間は、ＳＡＭ１０５1 の外部（例えば、ホストＣＰＵ８１０）からは見ることはできず、ＳＡＭ１０５1 のみが外部メモリ２０１の記憶領域に対してのアクセスを管理できる。
外部メモリ２０１としては、例えば、フラッシュメモリあるいは強誘電体メモリ（ＦｅＲＡＭ）などが用いられる。
また、作業用メモリ２００としては、例えばＳＲＡＭが用いられ、図３２に示すように、セキュアコンテナ１０４、コンテンツ鍵データＫｃ、権利書データ（ＵＣＰ）１０６、記憶部１９２のロック鍵データＫLOC 、コンテンツプロバイダ１０１の公開鍵証明書ＣＥＲCP、利用制御データ（ＵＣＳ）１６６、およびＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 などが記憶される。
【０１０４】
以下、ＳＡＭ１０５1 の機能のうち、コンテンツプロバイダ１０１からのセキュアコンテナ１０４を入力（ダウンロード）したときの各機能ブロックの処理内容を図３０を参照しながら説明する。
当該処理は、コンテンツのダウンロードを指示する外部割り込みＳ８１０をホストＣＰＵ８１０から受けたＣＰＵ１１００によって統括的に制御される。
【０１０５】
相互認証部１７０は、ＳＡＭ１０５1 がコンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２との間でオンラインでデータを送受信する際に、コンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２との間で相互認証を行ってセッション鍵データ（共有鍵）ＫSES を生成し、これを暗号化・復号部１７１に出力する。セッション鍵データＫSES は、相互認証を行う度に新たに生成される。
【０１０６】
暗号化・復号部１７１は、コンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２との間で送受信するデータを、相互認証部１７０が生成したセッション鍵データＫSES を用いて暗号化・復号する。
【０１０７】
ダウンロードメモリ管理部１８２は、図２２に示すようにダウンロードメモリ１６７が相互認証機能を持つメディアＳＡＭ１６７ａを有している場合には、相互認証部１７０とメディアＳＡＭ１６７ａとの間で相互認証を行った後に、相互認証によって得られたセッション鍵データＫSES を用いて暗号化して図２２に示すダウンロードメモリ１６７に書き込む。
ダウンロードメモリ１６７としては、例えば、メモリスティックなどの不揮発性半導体メモリが用いられる。
なお、図３３に示すように、ＨＤＤ(Hard Disk Drive) などの相互認証機能を備えていないメモリをダウンロードメモリ２１１として用いる場合には、ダウンロードメモリ２１１内はセキュアではないので、コンテンツファイルＣＦをダウンロードメモリ２１１にダウンロードし、機密性の高いキーファイルＫＦを例えば、図３０に示す作業用メモリ２００あるいは図２２に示す外部メモリ２０１にダウンロードする。
キーファイルＫＦを外部メモリ２０１に記憶する場合には、例えば、ＳＡＭ１０５1 において、キーファイルＫＦをＣＢＣモードでＭＡＣ鍵データＫMAC を用いて暗号化して外部メモリ２０１に記憶し、最後の暗号文ブロックの一部をＭＡＣ(Message Authentication Code) 値としＳＡＭ１０５1 内に記憶する。そして、外部メモリ２０１からＳＡＭ１０５1 にキーファイルＫＦを読み出す場合には、ＳＡＭ１０５1 内で当該読み出したキーファイルＫＦをＭＡＣ鍵データＫMAC
を用いて復号し、それによって得たＭＡＣ値と、既に記憶しているＭＡＣ値とを比較することで、キーファイルＫＦが改竄されているか否かを検証する。この場合に、ＭＡＣ値ではなく、ハッシュ値を用いてもよい。
【０１０８】
暗号化・復号部１７２は、ダウンロードメモリ管理部１８２から入力したセキュアコンテナ１０４に格納されたキーファイルＫＦ内のコンテンツ鍵データＫｃ、権利書データ１０６およびＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 を、記憶部１９２から読み出した対応する期間のライセンス鍵データＫＤ1 〜ＫＤ3 を用いて復号する。
当該復号されたコンテンツ鍵データＫｃ、権利書データ１０６およびＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 は、作業用メモリ２００に書き込まれる。
【０１０９】
ＥＭＤサービスセンタ管理部１８５は、図１に示すＥＭＤサービスセンタ１０２との間の通信を管理する。
【０１１０】
署名処理部１８９は、記憶部１９２から読み出したＥＭＤサービスセンタ１０２の公開鍵データＫESC,P およびコンテンツプロバイダ１０１の公開鍵データＫCP,Pを用いて、セキュアコンテナ１０４内の署名データの検証を行なう。
【０１１１】
記憶部１９２は、ＳＡＭ１０５1 の外部から読み出しおよび書き換えできない秘密データとして、図３４に示すように、有効期限付きの複数のライセンス鍵データＫＤ1 〜ＫＤ3 、ＳＡＭ＿ＩＤ、ユーザＩＤ、パスワード、当該ＳＡＭが属するホームネットワークグループの識別子ＨＮＧ＿ＩＤ、情報参照用ＩＤ、ＳＡＭ登録リスト、機器および記録媒体のリボケーションリスト、記録用鍵データＫSTR 、ルートＣＡの公開鍵データＫR-CA,P、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P 、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P 、ドライブ用ＳＡＭの認証用元鍵（共通鍵暗号化方式を採用した場合）、ドライブ用ＳＡの公開鍵証明書（秘密鍵暗号化方式を採用した場合）、ＳＡＭ１０５1 の秘密鍵データＫSAM1,S（共通鍵暗号化方式を採用した場合）、ＳＡＭ１０５1 の公開鍵データＫSAM1,Pを格納した公開鍵証明書ＣＥＲSAM1（秘密鍵暗号化方式を採用した場合）、ＥＭＤサービスセンタ１０２の秘密鍵データＫESC,S を用いた公開鍵証明書ＣＥＲESC の署名データＳＩＧ22、ＡＶ圧縮・伸長用ＳＡＭ１６３との間の相互認証用の元鍵データ（共通鍵暗号化方式を採用した場合）、メディアＳＡＭとの間の相互認証用の元鍵データ（共通鍵暗号化方式を採用した場合）、メディアＳＡＭの公開鍵証明書データＣＥＲMEDSAM（公開鍵暗号化方式を採用した場合）、扱える信号の諸元、圧縮方式、接続するモニタ表示能力、フォーマット変換機能、ビットストリームレコーダか有無、権利処理（利益分配）用データ、利益分配する関連エンティティのＩＤなどを記憶している。
なお、図３４において、左側に「＊」を付したデータは、ＳＡＭ１０５1 の出荷時に記憶部１９２に記憶されており、それ以外のデータは出荷後に行われるユーザ登録時に記憶部１９２に記憶される。
【０１１２】
また、記憶部１９２には、図３０に示す少なくとも一部の機能を実現するための秘密プログラムが記憶されている。
記憶部１９２としては、例えば、フラッシュ−ＥＥＰＲＯＭ(Electrically Erasable Programmable RAM)が用いられる。
【０１１３】
＜ライセンス鍵データの受信時の処理＞
以下、ＥＭＤサービスセンタ１０２から受信したライセンス鍵データＫＤ1 〜ＫＤ3 を記憶部１９２に格納する際のＳＡＭ１０５1 内での処理の流れを図３３および図３５を参照しながら説明する。
図３５は、ＥＭＤサービスセンタ１０２から受信したライセンス鍵データＫＤ1 〜ＫＤ3 を記憶部１９２に格納する際のＳＡＭ１０５1 内での処理の流れを示すフローチャートである。
ステップＳ３５−０：ＳＡＭ１０５1 のＣＰＵ１１００は、ホストＣＰＵ８１０から、ライセンス鍵データの受信処理を行うことを指示する内部割り込みＳ８１０を受ける。
ステップＳ３５−１：ＳＡＭ１０５1 の相互認証部１７０と、ＥＭＤサービスセンタ１０２との間で相互認証を行なう。
ステップＳ３５−２：ステップＳ３５−１の相互認証によって得られたセッション鍵データＫSES で暗号化した３カ月分のライセンス鍵データＫＤ1 〜ＫＤ3
およびその署名データＳＩＧKD1,ESC 〜ＳＩＧKD3,ESC を、ＥＭＤサービスセンタ１０２からＥＭＤサービスセンタ管理部１８５を介して作業用メモリ２００に書き込む。
【０１１４】
ステップＳ３５−３：暗号化・復号部１７１は、セッション鍵データＫSES を用いて、ライセンス鍵データＫＤ1 〜ＫＤ3 およびその署名データＳＩＧKD1,ESC 〜ＳＩＧKD3,ESC を復号する。
ステップＳ３５−４：署名処理部１８９は、作業用メモリ２００に記憶された署名データＳＩＧKD1,ESC 〜ＳＩＧKD3,ESC の正当性を確認した後に、ライセンス鍵データＫＤ1 〜ＫＤ3 を記憶部１９２に書き込む。
ステップＳ３５−５：ＣＰＵ１１００は、上述したライセンス鍵データ受信処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したライセンス鍵データ受信処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１１５】
＜セキュアコンテナ１０４をコンテンツプロバイダ１０１から入力した時の処理＞
以下、コンテンツプロバイダ１０１が提供したセキュアコンテナ１０４を入力する際のＳＡＭ１０５1 内での処理の流れを図３０および図３６を参照しながら説明する。
なお、以下に示す例では、コンテンツファイルＣＦをＳＡＭ１０５1 を介してダウンロードメモリ１６７に書き込む場合を例示するが、本発明は、コンテンツファイルＣＦをＳＡＭ１０５1 を介さずに直接的にダウンロードメモリ１６７に書き込むようにしてもよい。
図３６は、ンテンツプロバイダ１０１が提供したセキュアコンテナ１０４を入力する際のＳＡＭ１０５1 内での処理の流れを示すフローチャートである。
なお、以下に示す例では、ＳＡＭ１０５1 において、セキュアコンテナ１０４を入力したときに種々の署名データの検証を行う場合を例示するが、セキュアコンテナ１０４の入力したときには当該署名データの検証を行わずに、購入・利用形態を決定するときに当該署名データの検証を行うようにしてもよい。
ステップＳ３６−０：図３０に示すＳＡＭ１０５1 のＣＰＵ１１００は、ホストＣＰＵ８１０から、セキュアコンテナの入力処理を行うことを指示する内部割り込みＳ８１０を受ける。
ステップＳ３６−１：ＳＡＭ１０５1 の相互認証部１７０とコンテンツプロバイダ１０１との間で相互認証を行なう。
ステップＳ３６−２：ＳＡＭ１０５1 の相互認証部１７０とダウンロードメモリ１６７のメディアＳＡＭ１６７ａとの間で相互認証を行なう。
【０１１６】
ステップＳ３６−３：コンテンツプロバイダ１０１から受信したセキュアコンテナ１０４を、ダウンロードメモリ１６７に書き込む。
このとき、ステップＳ３６−２で得られたセッション鍵データを用いて、相互認証部１７０におけるセキュアコンテナ１０４の暗号化と、メディアＳＡＭ１６７ａにおけるセキュアコンテナ１０４の復号とを行なう。
ステップＳ３６−４：ＳＡＭ１０５1 は、ステップＳ３６−１で得られたセッション鍵データを用いて、セキュアコンテナ１０４の復号を行なう。
【０１１７】
ステップＳ３６−５：署名処理部１８９は、図３（Ｃ）に示す署名データＳＩＧ1,ESC の検証を行なった後に、図３（Ｃ）に示す公開鍵証明書データＣＥＲCP内に格納されたコンテンツプロバイダ１０１の公開鍵データＫCP,Pを用いて、署名データＳＩＧ6,CP，ＳＩＧ7,CPの正当性を検証する。
このとき、署名データＳＩＧ6,CPが正当であると検証されたときに、コンテンツファイルＣＦの作成者および送信者の正当性が確認される。
また、署名データＳＩＧ7,CPが正当であると検証されたときに、キーファイルＫＦの送信者の正当性が確認される。
【０１１８】
ステップＳ３６−６：署名処理部１８９は、記憶部１９２から読み出した公開鍵データＫESC,P を用いて、図３（Ｂ）に示すキーファイルＫＦ内の署名データＳＩＧK1,ESCの正当性、すなわちキーファイルＫＦの作成者の正当性およびキーファイルＫＦがＥＭＤサービスセンタ１０２に登録されているか否かの検証を行う。
【０１１９】
ステップＳ３６−７：暗号化・復号部１７２は、記憶部１９２から読み出した対応する期間のライセンス鍵データＫＤ1 〜ＫＤ3 を用いて、図３（Ｂ）に示すキーファイルＫＦ内のコンテンツ鍵データＫｃ、権利書データ１０６およびＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 を復号し、これらを作業用メモリ２００に書き込む。
【０１２０】
ステップＳ３６−８：ＣＰＵ１１００は、上述したセキュアコンテナの入力処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したセキュアコンテナの入力処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１２１】
以下、ダウンロードメモリ１６７にダウンロードされたコンテンツデータＣを利用・購入する処理に関連する各機能ブロックの処理内容を図３７を参照しながら説明する。
以下に示す各機能ブロックの処理は、ホストＣＰＵ８１０からの内部割り込みＳ８１０を受けたＣＰＵ１１００によって統括的に制御される。
【０１２２】
利用監視部１８６は、作業用メモリ２００から権利書データ１０６および利用制御データ１６６を読み出し、当該読み出した権利書データ１０６および利用制御データ１６６によって許諾された範囲内でコンテンツの購入・利用が行われるように監視する。
ここで、権利書データ１０６は、図３６を用いて説明したように、復号後に作業用メモリ２００に記憶されたキーファイルＫＦ内に格納されている。
また、利用制御データ１６６は、後述するように、ユーザによって購入形態が決定されたときに、作業用メモリ２００に記憶される。
なお、利用制御データ１６６には、当該コンテンツデータＣを購入したユーザのユーザＩＤおよびトレーシング(Tracing) 情報が記述され、取扱制御情報として購入形態決定処理で決定された購入形態が記述されている点を除いて、図３に示す権利書データ１０６と同じデータが記述されている。
【０１２３】
課金処理部１８７は、図２２に示すホストＣＰＵ８１０からコンテンツの購入あるいは利用の形態を決定することを指示する内部割り込みＳ８１０を受けたときに、それに応じた利用履歴データ１０８を作成する。
ここで、利用履歴データ１０８は、前述したように、ユーザによるセキュアコンテナ１０４の購入および利用の形態の履歴を記述しており、ＥＭＤサービスセンタ１０２において、セキュアコンテナ１０４の購入に応じた決済処理およびラインセンス料の支払いを決定する際に用いられる。
【０１２４】
また、課金処理部１８７は、必要に応じて、作業用メモリ２００から読み出した販売価格あるいは標準小売価格データＳＲＰをユーザに通知する。
ここで、販売価格および標準小売価格データＳＲＰは、復号後に作業用メモリ２００に記憶された図３（Ｂ）に示すキーファイルＫＦの権利書データ１０６内に格納されている。
課金処理部１８７による課金処理は、利用監視部１８６の監視の下、権利書データ１０６が示す使用許諾条件などの権利内容および利用制御データ１６６に基づいて行われる。すなわち、ユーザは、当該権利内容などに従った範囲内でコンテンツの購入および利用を行う。
【０１２５】
また、課金処理部１８７は、外部割り込みＳ８１０に基づいて、ユーザによって決定されたコンテンツの購入形態を記述した利用制御（UCS: Usage Control Status)データ１６６を生成し、これを作業用メモリ２００に書き込む。
本実施形態では、購入形態を決定した後に、利用制御データ１６６を作業用メモリ２００に記憶する場合を例示したが、利用制御データ１６６およびコンテンツ鍵データＫｃを外付けメモリである外部メモリ２０１に格納するようにしてもよい。外部メモリ２０１としは、前述したように、例えばＮＶＲＡＭであるフラッシュメモリが用いられる。外部メモリ２０１に書き込みを行う場合には外部メモリ２０１の正当性の検証であるインテグリティチェック(Integrity Check) を行うが、この際に外部メモリ２０１の記憶領域を複数のブロックに分け、ブロック毎にＳＨＡ−１あるいはＭＡＣなどでハッシュ値を求め、当該ハッシュ値をＳＡＭ１０５1 内で管理する。
なお、ＳＡＭ１０５1 において、購入形態を決定せずに、セキュアコンテナ１０４を他のＳＡＭ１０５2 〜１０５4 に転送してもよい。この場合には、利用制御データ１６６は作成されない。
【０１２６】
コンテンツの購入形態としては、例えば、購入者による再生や当該購入者の利用のための複製に制限を加えない買い切り(Sell Through)、利用期間に制限を持たせるタイムリミテッド(Time Limited)、再生する度に課金を行なう再生課金(Pay Per Play)、ＳＣＭＳ機器を用いた複製において再生する度に課金を行なう再生課金(Pay Per SCMS)、ＳＣＭＳ機器において複製を認める(Sell Through SCMS Copy)、および複製のガードを行わずに再生する度に課金を行う再生課金(Pay Per Copy N without copy guard) などがある。
ここで、利用制御データ１６６は、ユーザがコンテンツの購入形態を決定したときに生成され、以後、当該決定された購入形態で許諾された範囲内でユーザが当該コンテンツの利用を行なうように制御するために用いられる。利用制御データ１６６には、コンテンツのＩＤ、購入形態、当該購入形態に応じた価格、当該コンテンツの購入が行なわれたＳＡＭのＳＡＭ＿ＩＤ，購入を行なったユーザのＵＳＥＲ＿ＩＤなどが記述されている。
【０１２７】
なお、決定された購入形態が再生課金である場合には、例えば、ＳＡＭ１０５1 からコンテンツプロバイダ１０１に利用制御データ１６６をコンテンツデータＣの購入と同時にリアルタイムに送信し、コンテンツプロバイダ１０１がＥＭＤサービスセンタ１０２に、利用履歴データ１０８を所定の期間内にＳＡＭ１０５1 に取りにいくことを指示する。
また、決定された購入形態が買い切りである場合には、例えば、利用制御データ１６６が、コンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２の双方にリアルタイムに送信される。このように、本実施形態では、何れの場合にも、利用制御データ１６６をコンテンツプロバイダ１０１にリアルタイムに送信する。
【０１２８】
ＥＭＤサービスセンタ管理部１８５は、所定の期間毎に、外部メモリ管理部８１１を介して外部メモリ２０１から読み出した利用履歴データ１０８をＥＭＤサービスセンタ１０２に送信する。
このとき、ＥＭＤサービスセンタ管理部１８５は、署名処理部１８９において、秘密鍵データＫSAM1,sを用いて利用履歴データ１０８の署名データＳＩＧ200,SAM1を作成し、署名データＳＩＧ200,SAM1を利用履歴データ１０８と共にＥＭＤサービスセンタ１０２に送信する。
ＥＭＤサービスセンタ１０２への利用履歴データ１０８の送信は、例えば、ＥＭＤサービスセンタ１０２からの要求に応じてあるいは定期的に行ってもよいし、利用履歴データ１０８に含まれる履歴情報の情報量が所定以上になったときに行ってもよい。当該情報量は、例えば、外部メモリ２０１の記憶容量に応じて決定される。
【０１２９】
ダウンロードメモリ管理部１８２は、例えば、図２２に示すホストＣＰＵ８１０からコンテンツの再生動作を行う旨の内部割り込みＳ８１０をＣＰＵ１１００が受けた場合に、ダウンロードメモリ１６７から読み出したコンテンツデータＣ、作業用メモリ２００から読み出したコンテンツ鍵データＫｃおよび課金処理部１８７から入力したユーザ電子透かし情報用データ１９６をＡＶ圧縮・伸長用ＳＡＭ管理部１８４に出力する。
また、ＡＶ圧縮・伸長用ＳＡＭ管理部１８４は、ホストＣＰＵ８１０からの外部割り込みＳ１６５に応じてコンテンツの試聴動作が行われる場合に、ダウンロードメモリ１６７から読み出したコンテンツファイルＣＦ、並びに作業用メモリ２００から読み出したコンテンツ鍵データＫｃおよび半開示パラメータデータ１９９をＡＶ圧縮・伸長用ＳＡＭ管理部１８４に出力する。
【０１３０】
ここで、半開示パラメータデータ１９９は、権利書データ１０６内に記述されており、試聴モード時のコンテンツの取り扱いを示している。ＡＶ圧縮・伸長用ＳＡＭ１６３では、半開示パラメータデータ１９９に基づいて、暗号化されたコンテンツデータＣを、半開示状態で再生することが可能になる。半開示の手法としては、例えば、ＡＶ圧縮・伸長用ＳＡＭ１６３がデータ（信号）を所定のブロックを単位として処理することを利用して、半開示パラメータデータ１９９によって、コンテンツ鍵データＫｃを用いて復号を行うブロックと復号を行わないブロックとを指定したり、試聴時の再生機能を限定したり、試聴可能な期間を限定するものなどがある。
【０１３１】
＜ダウンロードしたセキュアコンテナの購入形態決定処理＞
以下、コンテンツプロバイダ１０１からダウンロードメモリ１６７にダウンロードされたセキュアコンテナ１０４の購入形態を決定するまでのＳＡＭ１０５1
の処理の流れを図３７および図３８を参照しながら説明する。
なお、以下に示す処理では、セキュアコンテナ１０４の購入形態を決定する際に、セキュアコンテナ１０４内の各データの署名データの検証を行わない（前述したようにセキュアコンテナ１０４の受信時に署名データの検証を行う）場合を例示するが、当該購入形態を決定する際にこれらの署名データの検証を行ってもよい。
図３８は、コンテンツプロバイダ１０１からダウンロードメモリ１６７にダウンロードされたセキュアコンテナ１０４の購入形態を決定するまでの処理の流れを示すフローチャートである。
ステップＳ３８−０：図３７に示すＳＡＭ１０５1 のＣＰＵ１１００は、ホストＣＰＵ８１０から、コンテンツの購入形態を決定することを指示する内部割り込みＳ８１０を受ける。
【０１３２】
ステップＳ３８−１：ＣＰＵ１１００は、ホストＣＰＵ８１０からの内部割り込みＳ８１０が試聴モードを指定しているか否かを判断し、指定されたと判断した場合にはステップＳ３８−２の処理を実行し、出力されていないと判断した場合にはステップＳ３８−５の処理を実行する。
【０１３３】
ステップＳ３８−２：作業用メモリ２００から読み出されたコンテンツ鍵データＫｃおよび半開示パラメータデータ１９９が、図３２に示すＡＶ圧縮・伸長用ＳＡＭ１６３に出力される。このとき、相互認証部１７０と相互認証部２２０との間の相互認証後に、コンテンツ鍵データＫｃおよび半開示パラメータデータ１９９に対してセッション鍵データＫSES による暗号化および復号が行なわれる。
ステップＳ３８−３：ＣＰＵ１１００は、ホストＣＰＵ８１０から試聴モードを行うことを示す内部割り込みＳ８１０を受けると、例えば、ダウンロードメモリ１６７に記憶されているコンテンツファイルＣＦが、ＡＶ圧縮・伸長用ＳＡＭ管理部１８４を介して、図２２に示すＡＶ圧縮・伸長用ＳＡＭ１６３に出力される。
このとき、コンテンツファイルＣＦに対して、相互認証部１７０とメディアＳＡＭ１６７ａとの間の相互認証およびセッション鍵データＫSES による暗号化・復号と、相互認証部１７０と相互認証部２２０との間の相互認証およびセッション鍵データＫSES による暗号化・復号とが行なわれる。
コンテンツファイルＣＦは、図２２に示すＡＶ圧縮・伸長用ＳＡＭ１６３の復号部２２１においてセッション鍵データＫSES を用いて復号された後に、復号部２２２に出力される。
【０１３４】
ステップＳ３８−４：復号された半開示パラメータデータ１９９が半開示処理部２２５に出力され、半開示処理部２２５からの制御によって、復号部２２２によるコンテンツ鍵データＫｃを用いたコンテンツデータＣの復号が半開示で行われる。
次に、半開示で復号されたコンテンツデータＣが、伸長部２２３において伸長された後に、電子透かし情報処理部２２４に出力される。
次に、電子透かし情報処理部２２４においてコンテンツデータＣにユーザ電子透かし情報用データ１９６が埋め込まれ、コンテンツデータＣが再生モジュール１６９において再生され、コンテンツデータＣに応じた音響が出力される。
また、電子透かし情報処理部２２４では、コンテンツデータＣに埋め込まれている電子透かし情報が検出され、当該検出の結果に基づいて、処理の停止の有無を決定する。
【０１３５】
ステップＳ３８−５：ユーザが操作部１６５を操作して購入形態を決定すると、当該決定に応じた内部割り込みＳ８１０がホストＣＰＵ８１０からＳＡＭ１０５1 に出される。
ステップＳ３８−６：ＳＡＭ１０５1 の課金処理部１８７において、決定された購入形態に応じた利用履歴データ１０８および利用制御データ１６６が生成され、利用履歴データ１０８が外部メモリ管理部８１１を介して外部メモリ２０１に書き込まれると共に、利用制御データ１６６が作業用メモリ２００に書き込まれる。
以後は、利用監視部１８６において、利用制御データ１６６によって許諾された範囲で、コンテンツの購入および利用が行なわれるように制御（監視）される。
【０１３６】
ステップＳ３８−７：後述する図３９（Ｃ）に示す新たなキーファイルＫＦ1
が作成され、当該作成されたキーファイルＫＦ1 がダウンロードメモリ管理部１８２を介してダウンロードメモリ１６７あるいはその他のメモリに記憶される。
図３９（Ｃ）に示すように、キーファイルＫＦ1 に格納された利用制御データ１６６はストレージ鍵データＫSTR およびメディア鍵データＫMED を用いてＤＥＳのＣＢＣモードを利用して順に暗号化されている。
ここで、記録用鍵データＫSTR は、例えばＳＡＣＤ(Super Audio Compact Disc)、ＤＶＤ(Digital Versatile Disc)機器、ＣＤ−Ｒ機器およびＭＤ(Mini Disc) 機器などの種類に応じて決まるデータであり、機器の種類と記録媒体の種類とを１対１で対応づけるために用いられる。また、メディア鍵データＫMED は、記録媒体にユニークなデータである。
【０１３７】
ステップＳ３８−８：署名処理部１８９において、ＳＡＭ１０５1 の秘密鍵データＫSAM1,Sを用いて、キーファイルＫＦ1 のハッシュ値ＨK1が作成され、当該作成されたハッシュ値ＨK1が、キーファイルＫＦ1 と対応付けられて作業用メモリ２００に書き込まれる。ハッシュ値ＨK1は、キーファイルＫＦ1 の作成者の正当性およびキーファイルＫＦ1 が改竄されたか否かを検証するために用いられる。
なお、購入形態が決定されたコンテンツデータＣを、例えば、記録媒体に記録したり、オンラインを介して送信する場合には、図３９に示すように、キーファイルＫＦ1 およびハッシュ値ＨK1、コンテンツファイルＣＦおよびその署名データＳＩＧ6,CP、キーファイルＫＦおよびその署名データＳＩＧ7,CP、公開鍵証明書データＣＥＲcpおよびその署名データＳＩＧ1,ESC 、公開鍵証明書データＣＥＲSAM1およびその署名データＳＩＧ22,ESCを格納したセキュアコンテナ１０４ｐが作成される。
上述したようにセキュアコンテナ１０４の購入形態を決定すると、利用制御データ１６６が生成されて作業用メモリ２００に記憶されるが、ＳＡＭ１０５1 において再び同じセキュアコンテナ１０４について購入形態を再決定する場合には、操作信号Ｓ１６５に応じて作業用メモリ２００に記憶されている利用制御データ１６６が更新される。
【０１３８】
ステップＳ３８−９：ＣＰＵ１１００は、上述したコンテンツの購入形態決定処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したコンテンツの購入形態決定処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１３９】
＜コンテンツデータの再生処理＞
次に、ダウンロードメモリ１６７に記憶されている購入形態が既に決定されたコンテンツデータＣを再生する場合の処理の流れを、図４０を参照しながら説明する。
図４０は、当該処理を示すフローチャートである。
当該処理を行う前提として、前述した購入形態の決定処理によって作業用メモリ２００に、利用制御データ１６６が格納されている。
ステップＳ４０−０：図３７に示すＳＡＭ１０５1 のＣＰＵ１１００は、ホストＣＰＵ８１０から、コンテンツの再生処理を行うことを指示する内部割り込みＳ８１０を受ける。
【０１４０】
ステップＳ４０−１：作業用メモリ２００から利用監視部１８６に、利用制御データ１６６が読み出され、利用制御データ１６６が示す再生条件が解釈・検証され、その結果に基づいて以後の再生処理が行われるように監視される。
ステップＳ４０−２：図３７に示す相互認証部１７０と、図２２に示すＡＶ圧縮・伸長用ＳＡＭ１６３の相互認証部２２０との間で相互に認証が行われ、セッション鍵データＫSES が共有される。
【０１４１】
ステップＳ４０−３：ステップＳ４０−１で解釈・検証された再生条件と、作業用メモリ２００から読み出されたコンテンツ鍵データＫｃとが、ステップＳ４０−２で得られたセッション鍵データＫSES を用いて暗号化された後に、ＡＶ圧縮・伸長用ＳＡＭ１６３に出力される。
これによって、図２２に示すＡＶ圧縮・伸長用ＳＡＭ１６３の復号部２２１においてセッション鍵データＫSES を用いて再生条件およびコンテンツ鍵データＫｃが復号される。
【０１４２】
ステップＳ４０−４：ダウンロードメモリ１６７から読み出されたコンテンツファイルＣＦが、ステップＳ４０−２で得られたセッション鍵データＫSES を用いて暗号化された後に、ＡＶ圧縮・伸長用ＳＡＭ１６３に出力される。
これによって、図２２に示すＡＶ圧縮・伸長用ＳＡＭ１６３の復号部２２１においてセッション鍵データＫSES を用いてコンテンツファイルＣＦが復号される。  続いて、ＡＶ圧縮・伸長用ＳＡＭ１６３の伸長部２２３において、コンテンツファイルＣＦ内のコンテンツデータＣが伸長され、電子透かし情報処理部２２４においてユーザ電子透かし情報を埋め込んだ後に再生モジュール１６９において再生される。
【０１４３】
ステップＳ４０−５：必要に応じて、ステップＳ４０−１で読み出された利用制御データ１６６が更新され、再び作業用メモリ２００に書き込まれる。
また、外部メモリ２０１に記憶されている利用履歴データ１０８が更新あるいは作成される。
【０１４４】
ステップＳ４０−６：ＣＰＵ１１００は、上述したコンテンツの再生処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したコンテンツの再生処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１４５】
＜一の機器の利用制御データ（ＵＳＣ）１６６を使用して他の機器で再購入を行う場合の処理＞
先ず、図４１に示すように、例えば、ネットワーク機器１６０1 のダウンロードメモリ１６７にダウンロードされたコンテンツファイルＣＦの購入形態を前述したように決定した後に、当該コンテンツファイルＣＦを格納した新たなセキュアコンテナ１０４ｘを生成し、バス１９１を介して、ＡＶ機器１６０2 のＳＡＭ１０５2 にセキュアコンテナ１０４ｘを転送するまでのＳＡＭ１０５1 内での処理の流れを図４２および図４３を参照しながら説明する。
【０１４６】
図４３は、当該処理のフローチャートである。
図４３に示す処理を行う前提として、前述した購入処理によって、ＳＡＭ１０５1 の作業用メモリ２００には図４４（Ｃ）に示すキーファイルＫＦ1 およびハッシュ値ＨK1が記憶されている。
ステップＳ４３−１：ユーザによる操作部１６５の操作に応じて、購入形態を既に決定したセキュアコンテナをＳＡＭ１０５2 に転送することを示す内部割り込みＳ８１０を、図４２に示すＣＰＵ１１００が受ける。
それに応じて、課金処理部１８７は、外部メモリ２０１に記憶されている利用履歴データ１０８を更新する。
【０１４７】
ステップＳ４３−２：ＳＡＭ１０５1 は、後述するＳＡＭ登録リストを検証し、セキュアコンテナの転送先のＳＡＭ１０５2 が正規に登録されているＳＡＭであるか否かを検証し、正規に登録されていると判断した場合にステップＳ４３−３以降の処理を行う。
また、ＳＡＭ１０５1 は、ＳＡＭ１０５2 がホームネットワーク内のＳＡＭであるか否かの検証も行う。
【０１４８】
ステップＳ４３−３：相互認証部１７０は、ＳＡＭ１０５2 との間で相互認証を行って得たセッション鍵データＫSES を共用する。
【０１４９】
ステップＳ４３−４：ＳＡＭ管理部１９０は、ダウンロードメモリ２１１から図３９（Ａ）に示すコンテンツファイルＣＦおよび署名データＳＩＧ6,CPを読み出し、これについてのＳＡＭ１０５1 の秘密鍵データＫSAM1を用いた署名データＳＩＧ41,SAM1 を署名処理部１８９に作成させる。
【０１５０】
ステップＳ４３−５：ＳＡＭ管理部１９０は、ダウンロードメモリ２１１から図３９（Ｂ）に示すキーファイルＫＦおよび署名データＳＩＧ7,CPを読み出し、これについてのＳＡＭ１０５1 の秘密鍵データＫSAM1を用いた署名データＳＩＧ42,SAM1 を署名処理部１８９に作成させる。
【０１５１】
ステップＳ４３−６：ＳＡＭ管理部１９０は、図４４に示すセキュアコンテナ１０４ｘを作成する。
ステップＳ４３−７：暗号化・復号部１７１において、ステップＳ４３−３で得たセッション鍵データＫSES を用いて、図４４に示すセキュアコンテナ１０４ｘが暗号化される。
【０１５２】
ステップＳ４３−８：ＳＡＭ管理部１９０は、セキュアコンテナ１０４ｘを図４１に示すＡＶ機器１６０2 のＳＡＭ１０５2 に出力する。
このとき、ＳＡＭ１０５1 とＳＡＭ１０５2 との間の相互認証と並行して、ＩＥＥＥ１３９４シリアルバスであるバス１９１の相互認証が行われる。
【０１５３】
ステップＳ４３−９：ＣＰＵ１１００は、上述した購入形態を既に決定したセキュアコンテナをＳＡＭ１０５2 に転送する処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述した購入形態を既に決定したセキュアコンテナをＳＡＭ１０５2 に転送する処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１５４】  
以下、図４１に示すように、ＳＡＭ１０５1 から入力した図４４に示すセキュアコンテナ１０４ｘを、ＲＡＭ型などの記録媒体（メディア）１３０4 に書き込む際のＳＡＭ１０５2 内での処理の流れを図４５、図４６および図４７を参照して説明する。
図４６および図４７は、当該処理を示すフローチャートである。
ここで、ＲＡＭ型の記録媒体１３０4 は、例えば、セキュアでないＲＡＭ領域１３４、メディアＳＡＭ１３３およびセキュアＲＡＭ領域１３２を有している。  ステップＳ４６−０：図４５に示すＣＰＵ１１００は、図４１に示すＡＶ機器１６０2 のホストＣＰＵ８１０から、ネットワーク機器１６０1 からのセキュアコンテナを入力することを示す内部割り込みＳ８１０を受ける。
【０１５５】
ステップＳ４６−１：ＳＡＭ１０５2 は、ＳＡＭ登録リストを検証し、セキュアコンテナの転送元のＳＡＭ１０５1 が正規に登録されているＳＡＭであるか否かを検証し、正規に登録されていると判断した場合にステップＳ４６−２以降の処理を行う。
また、ＳＡＭ１０５2 は、ＳＡＭ１０５1 がホームネットワーク内のＳＡＭであるか否かの検証も行う。
【０１５６】
ステップＳ４６−２：前述したステップＳ４３−２に対応する処理として、
ＳＡＭ１０５2 は、ＳＡＭ１０５1 との間で相互認証を行って得たセッション鍵データＫSES を共用する。
ステップＳ４６−３：ＳＡＭ１０５2 のＳＡＭ管理部１９０は、図４１および図４５に示すように、ネットワーク機器１６０1 のＳＡＭ１０５1 からセキュアコンテナ１０４ｘを入力する。
ステップＳ４６−４：暗号化・復号部１７１は、ステップＳ４６−２で共用したセッション鍵データＫSES を用いて、ＳＡＭ管理部１９０を介して入力したセキュアコンテナ１０４ｘを復号する。
【０１５７】
ステップＳ４６−５：セッション鍵データＫSES を用いて復号されたセキュアコンテナ１０４ｘ内のコンテンツファイルＣＦが、図３９に示すメディア・ドラブＳＡＭ２６０におけるセクタライズ(Sectorize) 、セクタヘッダの付加処理、スクランブル処理、ＥＣＣエンコード処理、変調処理および同期処理を経て、ＲＡＭ型の記録媒体１３０4 のＲＡＭ領域１３４に記録される。
【０１５８】
ステップＳ４６−６：セッション鍵データＫSES を用いて復号されたセキュアコンテナ１０４ｘ内の署名データＳＩＧ6,CP，ＳＩＧ41,SAM1 と、キーファイルＫＦおよびその署名データＳＩＧ7,CP，ＳＩＧ42,SAM1 と、キーファイルＫＦ1
およびそのハッシュ値ＨK1と、公開鍵署名データＣＥＲCPおよびその署名データＳＩＧ1,ESC と、公開鍵署名データＣＥＲSAM1およびその署名データＳＩＧ22,ESCとが、作業用メモリ２００に書き込まれる。
【０１５９】
ステップＳ４６−７：署名処理部１８９において、記憶部１９２から読み出した公開鍵データＫCP,Pを用いて、公開鍵証明書データＣＥＲCP，ＣＥＲSAM1の正当性が確認される。
そして、署名処理部１８９において、公開鍵証明書データＣＥＲSAM1に格納された公開鍵データＫCP,Pを用いて、署名データＳＩＧ6,CPの正当性が検証され、コンテンツファイルＣＦの作成者の正当性が確認される。また、署名処理部１８９において、公開鍵証明書データＣＥＲSAM1に格納された公開鍵データＫSAM1,Pを用いて、署名データＳＩＧ41,SAM1 の正当性が検証され、コンテンツファイルＣＦの送信者の正当性が確認される。
【０１６０】
ステップＳ４６−８：署名処理部１８９は、公開鍵データＫCP，ＫSAM1,Pを用いて、作業用メモリ２００に記憶されている署名データＳＩＧ7,CP，ＳＩＧ42,SAM1 の正当性を検証する。そして、署名データＳＩＧ7,CP，ＳＩＧ42,SAM1 が正当であると検証されたときに、キーファイルＫＦの送信者の正当性が確認される。
【０１６１】
ステップＳ４６−９：署名処理部１８９は、記憶部１９２から読み出した公開鍵データＫESC,P を用いて、図４４（Ｂ）に示すキーファイルＫＦに格納された署名データＳＩＧK1,ESCの正当性を確認する。
そして、署名データＳＩＧK1,ESCが正当であると検証されたときに、キーファイルＫＦの作成者の正当性が確認される。
【０１６２】
ステップＳ４６−１０：署名処理部１８９は、ハッシュ値ＨK1の正当性を検証し、キーファイルＫＦ1 の作成者および送信者の正当性を確認する。
なお、当該例では、キーファイルＫＦ1 の作成者と送信元とが同じ場合を述べたが、キーファイルＫＦ1 の作成者と送信元とが異なる場合には、キーファイルＫＦ1 に対して作成者の署名データと送信者と署名データとが作成され、署名処理部１８９において、双方の署名データの正当性が検証される。
【０１６３】
ステップＳ４６−１１：利用監視部１８６は、ステップＳ４６−１０で復号されたキーファイルＫＦ1 に格納された利用制御データ１６６を用いて、以後のコンテンツデータＣの購入・利用形態を制御する。
【０１６４】
ステップＳ４６−１２：ユーザが操作部１６５を操作して購入形態を決定すると、それに応じた内部割り込みＳ８１０をＳＡＭ１０５2 のＣＰＵ１１００が受ける。
ステップＳ４６−１３：課金処理部１８７は、ＣＰＵ１１００からの制御に基づいて、外部メモリ２０１に記憶されている利用履歴データ１０８を更新する。
また、課金処理部１８７は、コンテンツデータの購入形態が決定される度に、当該決定された購入形態に応じて利用制御データ１６６を更新する。
このとき送信元のＳＡＭの利用制御データ１６６は破棄される。
【０１６５】
ステップＳ４６−１４：暗号化・復号部１７３は、記憶部１９２から読み出した記録用鍵データＫSTR 、メディア鍵データＫMED および購入者鍵データＫPIN
を順に用いて、ステップＳ４６−１２で生成された利用制御データ１６６を暗号化してメディア・ドライブＳＡＭ管理部８５５に出力する。
ステップＳ４６−１５：メディア・ドライブＳＡＭ管理部８５５は、新たな利用制御データ１６６を格納したキーファイルＫＦ1 を、セクタライズ処理、セクタヘッダの付加処理、スクランブル処理、ＥＣＣエンコード処理、変調処理および同期処理を経て、ＲＡＭ型の記録媒体１３０4 のセキュアＲＡＭ領域１３２に記録する。
なお、メディア鍵データＫMED は、図４５に示す相互認証部１７０と図４１に示すＲＡＭ型の記録媒体１３０4 のメディアＳＡＭ１３３との間の相互認証によって記憶部１９２に事前に記憶されている。
【０１６６】
ここで、記録用鍵データＫSTR は、例えばＳＡＣＤ(Super Audio Compact Disc)、ＤＶＤ(Digital Versatile Disc)機器、ＣＤ−Ｒ機器およびＭＤ(Mini Disc) 機器などの種類（当該例では、ＡＶ機器１６０2 ）に応じて決まるデータであり、機器の種類と記録媒体の種類とを１対１で対応づけるために用いられる。なお、ＳＡＣＤとＤＶＤとでは、ディスク媒体の物理的な構造が同じであるため、ＤＶＤ機器を用いてＳＡＣＤの記録媒体の記録・再生を行うことができる場合がある。記録用鍵データＫSTR は、このような場合において、不正コピーを防止する役割を果たす。
なお、本実施形態では、記録用鍵データＫSTR を用いた暗号化を行わないようにしてもよい。
【０１６７】
また、メディア鍵データＫMED は、記録媒体（当該例では、ＲＡＭ型の記録媒体１３０4 ）にユニークなデータである。
メディア鍵データＫMED は、記録媒体（当該例では、図４１に示すＲＡＭ型の記録媒体１３０4 ）側に格納されており、記録媒体のメディアＳＡＭにおいてメディア鍵データＫMED を用いた暗号化および復号を行うことがセキュリティの観点から好ましい。このとき、メディア鍵データＫMED は、記録媒体にメディアＳＡＭが搭載されている場合には、当該メディアＳＡＭ内に記憶されており、記録媒体にメディアＳＡＭが搭載されていない場合には、例えば、ＲＡＭ領域内の図示しないホストＣＰＵの管理外の領域に記憶されている。
なお、本実施形態のように、機器側のＳＡＭ（当該例では、ＳＡＭ１０５2 ）とメディアＳＡＭ（当該例では、メディアＳＡＭ１３３）との間で相互認証を行い、セキュアな通信経路を介してメディア鍵データＫMED を機器側のＳＡＭに転送し、機器側のＳＡＭにおいてメディア鍵データＫMED を用いた暗号化および復号を行なってもよい。
本実施形態では、記録用鍵データＫSTR およびメディア鍵データＫMED が、記録媒体の物理層のレベルのセキュリティを保護するために用いられる。
【０１６８】
また、購入者鍵データＫPIN は、コンテンツファイルＣＦの購入者を示すデータであり、例えば、コンテンツを買い切りで購入したときに、当該購入したユーザに対してＥＭＤサービスセンタ１０２によって割り当てられる。購入者鍵データＫPIN は、ＥＭＤサービスセンタ１０２において管理される。
【０１６９】
ステップＳ４６−１６：キーファイルＫＦが作業用メモリ２００から読み出され、メディア・ドライブＳＡＭ管理部８５５を介して、図４１に示すメディア・ドラブＳＡＭ２６０によってＲＡＭ型の記録媒体１３０4 のセキュアＲＡＭ領域１３２に書き込まれる。
【０１７０】
ステップＳ４６−１７：ＳＡＭ１０５2 のＣＰＵ１１００は、上述したセキュアコンテナの入力処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したセキュアコンテナの入力処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１７１】
また、上述した実施形態では、メディア・ドラブＳＡＭ２６０による処理を経て、キーファイルＫＦ，ＫＦ1 をＲＡＭ型の記録媒体１３０4 のセキュアＲＡＭ領域１３２に記録する場合を例示したが、図４１において点線で示すように、ＳＡＭ１０５2 からメディアＳＡＭ１３３にキーファイルＫＦ，ＫＦ1 を記録するようにしてもよい。
【０１７２】
また、上述した実施形態では、ＳＡＭ１０５1 からＳＡＭ１０５2 にセキュアコンテナ１０４ｘを送信する場合を例示したが、ネットワーク機器１６０1 のホストＣＰＵおよびＡＶ機器１６０2 のホストＣＰＵによって、コンテンツファイルＣＦおよび権利書データ１０６をネットワーク機器１６０1 からＡＶ機器１６０2 に送信してもよい。この場合には、ＳＡＭ１０５1 からＳＡＭ１０５2 に、利用制御データ１６６およびコンテンツ鍵データＫｃが送信される。
【０１７３】
また、その他の実施形態として、例えば、ＳＡＭ１０５1 において購入形態を決定し、ＳＡＭ１０５2 では購入形態を決定せずに、ＳＡＭ１０５1 において生成した利用制御データ１６６をＳＡＭ１０５2 でそのまま用いてもよい。この場合には、利用履歴データ１０８は、ＳＡＭ１０５1 において生成され、ＳＡＭ１０５2 では生成されない。
また、コンテンツデータＣの購入は、例えば、複数のコンテンツデータＣからなるアルバムを購入する形態で行ってもよい。この場合に、アルバムを構成する複数のコンテンツデータＣは、異なるコンテンツプロバイダ１０１によって提供されてもよい（後述する第２実施形態の場合には、さらに異なるサービスプロバイダ３１０によって提供されてもよい）。また、アルバムを構成する一部のコンテンツデータＣについての購入を行った後に、その他のコンテンツデータＣを追加する形で購入を行い、最終的にアルバムを構成する全てのコンテンツデータＣを購入してもよい。
【０１７４】
図４８は、コンテンツデータＣの種々の購入形態の例を説明するための図である。
図４８に示すように、ＡＶ機器１６０3 は、ネットワーク機器１６０1 がコンテンツプロバイダ１０１から受信したコンテンツデータＣを、権利書データ１０６を用いて購入し、利用制御データ１６６ａを生成している。
また、ＡＶ機器１６０2 は、ネットワーク機器１６０1 がコンテンツプロバイダ１０１から受信したコンテンツデータＣを、権利書データ１０６を用いて購入し、利用制御データ１６６ｂを生成している。
また、ＡＶ機器１６０3 は、ＡＶ機器１６０2 が購入したコンテンツデータＣを複製し、ＡＶ機器１６０2 で作成した利用制御データ１６６ｂを用いて利用形態を決定している。これにより、ＡＶ機器１６０3 において、利用制御データ１６６ｃが作成される。また、ＡＶ機器１６０3 では、利用制御データ１６６ｃから利用履歴データ１０８ｂが作成される。
また、ＡＶ機器１６０4 は、ネットワーク機器１６０1 がコンテンツプロバイダ１０１から受信して購入形態を決定したコンテンツデータＣを入力し、ネットワーク機器１６０1 が作成した利用制御データ１６６を用いて当該コンテンツデータＣの購入形態を決定する。これにより、ＡＶ機器１６０4 において、利用制御データ１６６ａが作成される。また、ＡＶ機器１６０4 では、利用制御データ１６６ａから利用履歴データ１０８ａが作成される。
なお、利用制御データ１６６ａ，１６６ｂ，１６６ｃは、ＡＶ機器１６０4 ，１６０2 ，１６０3 において、それぞれ固有の記録用鍵データＳSTR 、並びに記録メディア（媒体）に固有のメディア鍵データＫMED を用いて暗号化され、記録媒体に記録される。
本実施形態では、ユーザは、コンテンツデータＣの所有権に対して対価を支払うのではなく、使用権に対価を支払う。コンテンツデータの複製は、コンテンツのプロモーションに相当し、マーケットの拡販という観点からコンテンツデータの権利者の要請にかなう行為となる。
【０１７５】
＜ＲＯＭ型の記録媒体のコンテンツデータの購入形態決定処理＞
図４９に示すように、コンテンツの購入形態が未決定の図１１に示すＲＯＭ型の記録媒体１３０1 をユーザホームネットワーク３０３がオフラインで配給を受けた場合に、ＡＶ機器１６０2 において購入形態を決定する際の処理の流れを図５０および図５１を参照しながら説明する。
図５１は、当該処理のフローチャートである。
ステップＳ５１−０：ユーザによる操作部１６５の操作に応じて、ＲＯＭ型の記録媒体を用いて配給されたコンテツの購入形態を決定することを示す内部割り込みＳ８１０を、図５０に示すＳＡＭ１０５2 のＣＰＵ１１００が受ける。
ステップＳ５１−１：ＳＡＭ１０５2 は、図５０に示す相互認証部１７０と図１１に示すＲＯＭ型の記録媒体１３０1 のメディアＳＡＭ１３３との間で相互認証を行った後に、メディアＳＡＭ１３３からメディア鍵データＫMED を入力する。
なお、ＳＡＭ１０５2 が、事前にメディア鍵データＫMED を保持している場合には、当該入力を行わなくても良い。
【０１７６】
ステップＳ５１−２：ＲＯＭ型の記録媒体１３０1 のセキュアＲＡＭ領域１３２に記録されているセキュアコンテナ１０４に格納された図３（Ｂ），（Ｃ）に示すキーファイルＫＦおよびその署名データＳＩＧ7,CPと、公開鍵証明書データＣＥＲCPおよびその署名データＳＩＧ1,ESC とを、メディア・ドライブＳＡＭ管理部８５５を介して入力して作業用メモリ２００に書き込む。
【０１７７】
ステップＳ５１−３：署名処理部１８９において、署名データＳＩＧ1,ESC の正当性を確認した後に、公開鍵証明書データＣＥＲCPから公開鍵データＫCP,Pを取り出し、この公開鍵データＫCP,Pを用いて、署名データＳＩＧ7,CPの正当性、すなわちキーファイルＫＦの送信者の正当性を検証する。
また、署名処理部１８９において、記憶部１９２から読み出した公開鍵データＫESC,P を用いて、キーファイルＫＦに格納された署名データＳＩＧK1,ESCの正当性、すなわちキーファイルＫＦの作成者の正当性を検証する。
【０１７８】
ステップＳ５１−４：署名処理部１８９において署名データＳＩＧ7,CP，ＳＩＧK1,ESCの正当性が確認されると、作業用メモリ２００から暗号化・復号部１７２にキーファイルＫＦを読み出す。
次に、暗号化・復号部１７２において、対応する期間のライセンス鍵データＫＤ1 〜ＫＤ3 を用いて、キーファイルＫＦに格納されたコンテンツ鍵データＫｃ、権利書データ１０６およびＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 を復号した後に、作業用メモリ２００に書き込む。
【０１７９】
ステップＳ５１−５：図５０に示す相互認証部１７０と図４９に示すＡＶ圧縮・伸長用ＳＡＭ１６３との間で相互認証を行った後に、ＳＡＭ１０５2 のＡＶ圧縮・伸長用ＳＡＭ管理部１８４は、作業用メモリ２００に記憶されているコンテンツ鍵データＫｃおよび権利書データ１０６に格納された半開示パラメータデータ１９９、並びにＲＯＭ型の記録媒体１３０1 のＲＯＭ領域１３１から読み出したコンテンツファイルＣＦに格納されたコンテンツデータＣを図４９に示すＡＶ圧縮・伸長用ＳＡＭ１６３に出力する。
次に、ＡＶ圧縮・伸長用ＳＡＭ１６３において、コンテンツデータＣがコンテンツ鍵データＫｃを用いて半開示モードで復号された後に伸長され、再生モジュール２７０に出力される。そして、再生モジュール２７０において、ＡＶ圧縮・伸長用ＳＡＭ１６３からのコンテンツデータＣが再生される。
【０１８０】
ステップＳ５１−６：ユーザによる図４９に示す操作部１６５の購入操作によってコンテンツの購入形態が決定され、当該決定された購入形態を示す内部割り込みＳ８１０が、ＳＡＭ１０５2 のＣＰＵ１１００に出される。
【０１８１】
ステップＳ５１−７：課金処理部１８７は、操作信号Ｓ１６５に応じた利用制御データ１６６を作成し、これを作業用メモリ２００に書き込む。
ステップＳ５１−８：作業用メモリ２００から暗号化・復号部１７３に、コンテンツ鍵データＫｃおよび利用制御データ１６６が出力される。
暗号化・復号部１７３は、作業用メモリ２００から入力したコンテンツ鍵データＫｃおよび利用制御データ１６６を、記憶部１９２から読み出した記録用鍵データＫSTR 、メディア鍵データＫMED および購入者鍵データＫPIN を用いて順次に暗号化して作業用メモリ２００に書き込む。
【０１８２】
ステップＳ５１−９：メディアＳＡＭ管理部１９７において、作業用メモリ２００から読み出した、暗号化されたコンテンツ鍵データＫｃおよび利用制御データ１６６と、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 を用いて図４４（Ｃ）に示すキーファイルＫＦ1 が生成される。
また、署名処理部１８９において、図４４（Ｃ）に示すキーファイルＫＦ1 のハッシュ値ＨK1が生成され、当該ハッシュ値ＨK1がメディア・ドライブＳＡＭ管理部８５５に出力される。
図５０に示す相互認証部１７０と図４９に示すメディアＳＡＭ１３３との間で相互認証を行った後に、メディア・ドライブＳＡＭ管理部８５５は、キーファイルＫＦ1 およびハッシュ値ＨK1を、図４９に示すメディア・ドラブＳＡＭ２６０を介してＲＯＭ型の記録媒体１３０1 のセキュアＲＡＭ領域１３２に書き込む。
これにより、購入形態が決定されたＲＯＭ型の記録媒体１３０1 が得られる。
このとき、課金処理部１８７が生成した利用制御データ１６６および利用履歴データ１０８は、所定のタイミングで、作業用メモリ２００および外部メモリ２０１からそれぞれ読み出しされたＥＭＤサービスセンタ１０２に送信される。
なお、ＲＯＭ型の記録媒体１３０1 のメディアＳＡＭ１３３にキーファイルＫＦが格納されている場合には、図４９において点線で示されるように、ＳＡＭ１０５2 はメディアＳＡＭ１３３からキーファイルＫＦを入力する。また、この場合に、ＳＡＭ１０５2 は、作成したキーファイルＫＦ1 をメディアＳＡＭ１３３に書き込む。
【０１８３】
ステップＳ５１−１０：ＳＡＭ１０５2 のＣＰＵ１１００は、上述したＲＯＭ型の記録媒体を用いて配給されたコンテツの購入形態を決定する処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したＲＯＭ型の記録媒体を用いて配給されたコンテツの購入形態を決定する処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０１８４】
＜ＲＯＭ型の記録媒体のコンテンツデータの購入形態を決定した後に、ＲＡＭ型の記録媒体に書き込む場合の処理＞
以下、図５２に示すように、ＡＶ機器１６０3 において購入形態が未決定のＲＯＭ型の記録媒体１３０1 からセキュアコンテナ１０４を読み出して新たなセキュアコンテナ１０４ｙを生成し、これをＡＶ機器１６０2 に転送し、ＡＶ機器１６０2 において購入形態を決定してＲＡＭ型の記録媒体１３０5 に書き込む際の処理の流れを図５３，図５４，図５５を参照しながら説明する。
なお、ＲＯＭ型の記録媒体１３０1 からＲＡＭ型の記録媒体１３０5 へのセキュアコンテナ１０４ｙの転送は、図１に示すネットワーク機器１６０1 およびＡＶ機器１６０1 〜１６０4 のいずれの間で行ってもよい。
図５５は、当該処理のフローチャートである。
【０１８５】
ステップＳ５５−０：ユーザによる操作部１６５の操作に応じて、購入形態が未決定のＲＯＭ型の記録媒体から読み出したセキュアコンテナをＳＡＭ１０５2
に転送することを示す内部割り込みＳ８１０を、図５３に示すＣＰＵ１１００が受ける。
ステップＳ５５−１：ＳＡＭ１０５3 は、ＳＡＭ登録リストを検証し、セキュアコンテナの転送先のＳＡＭ１０５2 が正規に登録されているＳＡＭであるか否かを検証し、正規に登録されていると判断した場合にステップＳ５５−２以降の処理を行う。
また、ＳＡＭ１０５3 は、ＳＡＭ１０５2 がホームネットワーク内のＳＡＭであるか否かの検証も行う。
ステップＳ５５−２：ＳＡＭ１０５3 とＳＡＭ１０５2 との間で相互認証が行われ、セッション鍵データＫSES が共有される。
【０１８６】
ステップＳ５５−３：ＡＶ機器１６０3 のＳＡＭ１０５3 とＲＯＭ型の記録媒体１３０1 のメディアＳＡＭ１３３との間で相互認証を行い、ＲＯＭ型の記録媒体１３０1 のメディア鍵データＫMED1をＳＡＭ１０５3 に転送する。
なお、メディア鍵データＫMED1を用いた暗号化をＲＯＭ型の記録媒体１３０1
のメディアＳＡＭ１３３において行う場合には、メディア鍵データＫMED1の転送は行わない。
【０１８７】
ステップＳ５５−４：ＡＶ機器１６０2 のＳＡＭ１０５2 とＲＡＭ型の記録媒体１３０5 のメディアＳＡＭ１３３との間で相互認証を行い、ＲＡＭ型の記録媒体１３０5 のメディア鍵データＫMED2をＳＡＭ１０５2 に転送する。
なお、メディア鍵データＫMED2を用いた暗号化をＲＡＭ型の記録媒体１３０5
のメディアＳＡＭ１３３において行う場合には、メディア鍵データＫMED2の転送は行わない。
【０１８８】
ステップＳ５５−５：ＳＡＭ１０５3 は、図５３に示すように、メディア・ドライブＳＡＭ管理部８５５を介して、ＲＯＭ型の記録媒体１３０1 のＲＯＭ領域１３１からコンテンツファイルＣＦおよびその署名データＳＩＧ6,CPを読み出し、これをＳＡＭ管理部１９０に出力すると共に、署名処理部１８９において、秘密鍵データＫSAM3,Sを用いて、これらの署名データＳＩＧ350,SAM3を作成する。
【０１８９】
ステップＳ５５−６：ＳＡＭ１０５3 は、図５３に示すように、メディア・ドライブＳＡＭ管理部８５５を介して、ＲＯＭ型の記録媒体１３０1 のセキュアＲＡＭ領域１３２からキーファイルＫＦおよびその署名データＳＩＧ7,CPを読み出し、これをＳＡＭ管理部１９０に出力すると共に、署名処理部１８９において、秘密鍵データＫSAM3,Sを用いて、これらの署名データＳＩＧ352,SAM3が作成される。
【０１９０】
ステップＳ５５−７：ＳＡＭ１０５3 において、記憶部１９２からＳＡＭ管理部１９０に公開鍵証明書データＣＥＲSAM3およびその署名データＳＩＧ351,ESC
が読み出される。
【０１９１】
ステップＳ５５−８：ＳＡＭ１０５3 の例えばＳＡＭ管理部１９０において、図５４に示すセキュアコンテナ１０４ｙが作成される。
【０１９２】
ステップＳ５５−９：ＳＡＭ１０５3 の暗号化・復号部１７１において、ステップＳ５５−２で得たセッション鍵データＫSES を用いて、セキュアコンテナ１０４ｙが暗号化される。
【０１９３】
ステップＳ５５−１０：ＳＡＭ１０５3 のＳＡＭ管理部１９０からＡＶ機器１６０2 に、セキュアコンテナ１０４ｙが出力される。
そして、ＳＡＭ１０５3 のＣＰＵ１１００からホストＣＰＵ８１０に、外部割り込みで、上述した処理が適切に行われたか否かが通知される。
なお、ＣＰＵ１１００は、上述した処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
ＳＡＭ１０５2 では、ホストＣＰＵ８１０からの内部割り込みＳ８１０によるＣＰＵ１１００の制御によって、図５７に示すように、ＳＡＭ管理部１９０を介してＳＡＭ１０５3 から入力した図５４に示すセキュアコンテナ１０４ｙが暗号化・復号部１７１においてセッション鍵データＫSES を用いて復号される。
そして、当該復号されたセキュアコンテナ１０４ｙ内のキーファイルＫＦおよびその署名データＳＩＧ7,CP、ＳＩＧ350,SAM3と、公開鍵証明書データＣＥＲSAM3およびその署名データＳＩＧ351,ESC と、公開鍵証明書データＣＥＲcpおよびその署名データＳＩＧ1,ESC とが、作業用メモリ２００に書き込まれる。
【０１９４】
ステップＳ５５−１２：ＳＡＭ１０５2 の署名処理部１８９において、セキュアコンテナ１０４ｙ内に格納された署名データＳＩＧ6,CP，ＳＩＧ350,SAM3の正当性、すなわちコンテンツファイルＣＦの作成者および送信者の正当性を確認する。
ステップＳ５５−１３：コンテンツファイルＣＦの作成者および送信者が正当であると確認された後に、メディア・ドライブＳＡＭ管理部８５５を介してＲＡＭ型の記録媒体１３０5 のＲＡＭ領域１３４にコンテンツファイルＣＦが書き込まれる。
なお、コンテンツファイルＣＦは、ホストＣＰＵ８１０の制御によって、ＳＡＭを介さずに、ＲＡＭ型の記録媒体１３０5 のＲＡＭ領域１３４に直接的に記録してもよい。
【０１９５】
ステップＳ５５−１４：署名処理部１８９において、署名データＳＩＧ351,ECS が署名検証され、公開鍵証明書データＣＥＲSAM3の正当性が確認された後に、公開鍵証明書データＣＥＲSAM3に格納された公開鍵データＫSAM3および公開鍵データＫESC,P を用いて、署名データＳＩＧ7,CP，ＳＩＧ352,SAM3，ＳＩＧK1,ESCの正当性、すなわちキーファイルＫＦの作成者および送信者の正当性が確認される。
【０１９６】
ステップＳ５５−１５：キーファイルＫＦの作成者および送信者の正当性が確認されると、作業用メモリ２００からキーファイルＫＦが読み出されて暗号化・復号部１７２に出力され、暗号化・復号部１７２において、ライセンス鍵データＫＤ1 〜ＫＤ3 を用いて復号された後に、作業用メモリ２００に書き戻される。
【０１９７】
ステップＳ５５−１６：作業用メモリ２００に記憶されている既に復号されたキーファイルＫＦに格納された権利書データ１０６が、利用監視部１８６に出力される。そして、利用監視部１８６において、権利書データ１０６に基づいて、コンテンツの購入形態および利用形態が管理（監視）される。
【０１９８】
ステップＳ５５−１７：ユーザによる図５２に示す操作部１６５の操作によってコンテンツの購入・利用形態が決定され、当該決定に応じた内部割り込みＳ８１０が、ホストＣＰＵ８１０からＳＡＭ１０５2 のＣＰＵ１１００に出される。
ステップＳ５５−１８：課金処理部１８７において、決定された購入・利用形態に応じて利用制御データ１６６および利用履歴データ１０８が生成され、これが作業用メモリ２００および外部メモリ２０１にそれぞれ書き込まれる。
利用制御データ１６６および利用履歴データ１０８は、所定のタイミングで、ＥＭＤサービスセンタ１０２に送信される。
【０１９９】
ステップＳ５５−１９：コンテンツ鍵データＫｃおよび利用制御データ１６６が、作業用メモリ２００から暗号化・復号部１７３に読み出され、暗号化・復号部１７３において記憶部１９２から読み出した記録用鍵データＫSTR 、メディア鍵データＫMED2および購入者鍵データＫPIN を用いて順に暗号化され、メディアＳＡＭ管理部１９７に出力される。
また、作業用メモリ２００からメディアＳＡＭ管理部１９７に、キーファイルＫＦが出力される。
【０２００】
ステップＳ５５−２０：メディアＳＡＭ管理部１９７において、図４４（Ｃ）に示すキーファイルＫＦ1 が作成され、キーファイルＫＦ1 がメディアＳＡＭ管理部１９７を介してＲＡＭ型の記録媒体１３０5 のメディアＳＡＭ１３３に書き込まれる。
また、メディアＳＡＭ管理部１９７を介して、キーファイルＫＦがＲＡＭ型の記録媒体１３０5 のメディアＳＡＭ１３３に書き込まれる。
【０２０１】
ステップＳ５５−２１：ＳＡＭ１０５2 のＣＰＵ１１００は、上述した処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述した処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０２０２】
以下、ＳＡＭ１０５1 〜１０５4 の実現方法について説明する。
ＳＡＭ１０５1 〜１０５4 の機能をハードウェアとして実現する場合は、メモリを内蔵したＡＳＩＣ型のＣＰＵを用いて、そのメモリには、図２２に示す各機能を実現するためのセキュリティー機能モジュールやコンテンツの権利処理をおこなうプログラムモジュールおよび鍵データなどの機密度の高いデータが格納される。暗号ライブラリーモジュール（公開鍵暗号、共通鍵暗号、乱数発生器、ハッシュ関数）、コンテンツの使用制御用のプログラムモジュール、課金処理のプログラムモジュールなど、一連の権利処理用のプログラムモジュールは、例えば、ソフトウェアとして実装される。
【０２０３】
例えば、図２２に示す暗号化・復号部１７１などのモジュールは、例えば、処理速度の問題でハードウエアとしてＡＳＩＣ型のＣＰＵ内のＩＰコアとして実装される。クロック速度やＣＰＵコード体系などの性能によっては、暗号化・復号部１７１をソフトウェアとして実装してもよい。
また、図２２に示す記憶部１９２や、図２２に示す機能を実現するためのプログラムモジュールおよびデータを格納するメモリとしては、例えば、不揮発メモリー（フラッシュ−ＲＯＭ）が用いられ、作業用メモリとしてはＳＲＡＭなどの高速書き込み可能なメモリが用いられる。なお、その他にも、ＳＡＭ１０５1 〜１０５4 に内蔵されるメモリとして、強誘電体メモリー（ＦｅＲＡＭ）を用いてもよい。
また、ＳＡＭ１０５1 〜１０５4 には、その他に、コンテンツの利用のための有効期限や契約期間などで日時の検証に使用する時計機能が内蔵されている。
【０２０４】
上述したように、ＳＡＭ１０５1 〜１０５4 は、プログラムモジュールや、データおよび処理内容を外部から遮蔽した耐タンパ性の構造を持っている。ＳＡＭ１０５1 〜１０５4 を搭載した機器のホストＣＰＵのバス経由で、当該ＳＡＭのＩＣ内部のメモリに格納されている秘密性の高いプログラムおよびデータの内容や、ＳＡＭのシステムコンフィギュレーション(System Configuration)関連のレジスタ群および暗号ライブラリーや時計のレジスタ群などの値が、読み出されたり、新規に書き込まれたりしないように、すなわち、搭載機器のホストＣＰＵが割り付けているアドレス空間内に存在しないように、当該ＳＡＭでは、ＣＰＵ側のメモリー空間を管理するＭＭＵ(Memory Magagement Unit)を用いて、搭載機器側のホストＣＰＵからは見えないアドレス空間を設定する。
また、ＳＡＭ１０５1 〜１０５4 は、Ｘ線や熱などの外部からの物理的な攻撃にも耐え得る構造をもち、さらにデバッグ用ツール（ハードウエアＩＣＥ、ソフトウエアＩＣＥ）などを用いたリアルタイムデバッグ（リバースエンジニアリング）が行われても、その処理内容が分からないか、あるいは、デバッグ用ツールそのものがＩＣ製造後には使用できないような構造をしている。
ＳＡＭ１０５1 〜１０５4 自身は、ハードウエア的な構造においては、メモリを内蔵した通常のＡＳＩＣ型のＣＰＵであり、機能は当該ＣＰＵを動作させるソフトウェアに依存するが、暗号機能と耐タンパ性のハードウェア構造を有している点が、一般的なＡＳＩＣ型のＣＰＵと異なる。
【０２０５】
ＳＡＭ１０５1 〜１０５4 の機能を全てソフトウエアで実現する場合は、耐タンパ性を持ったモジュール内部で閉じてソフトウエア処理を行う場合と、通常のセットに搭載されているホストＣＰＵ上のソフトウエア処理で行い、当該処理のときにのみ解読することが不可能となる仕掛けをする場合とがある。前者は、暗号ライブラリモジュールがＩＰコアではなく、通常のソフトウェアモジュールとしてメモリに格納される場合と同じであり、ハードウェアとして実現する場合と同様に考えられる。一方、後者は、タンパーレジスタントソフトウェアと呼ばれるもので、ＩＣＥ（デバッガ）で実行状況を解読されても、そのタスクの実行順序がバラバラであったり（この場合には、区切ったタスク単体でプログラムとしての意味があるように、すなわち前後のラインに影響がでないようにタスク切りを行う）、タスクそのものが暗号化されており、一種のセキュア処理を目的としたタスクスケジューラ（ＭｉｎｉＯＳ）と同様に実現できる。当該タスクスケジューラは、ターゲットプログラムに埋め込まれている。
【０２０６】
次に、図２２に示すＡＶ圧縮・伸長用ＳＡＭ１６３について説明する。
図２２に示すように、ＡＶ圧縮・伸長用ＳＡＭ１６３は、相互認証部２２０、復号部２２１、復号部２２２、伸長部２２３、電子透かし情報処理部２２４および半開示処理部２２５を有する。
相互認証部２２０は、ＡＶ圧縮・伸長用ＳＡＭ１６３がＳＡＭ１０５1 からデータを入力する際に、図３０に示す相互認証部１７０との間で相互認証を行ってセッション鍵データＫSES を生成する。
【０２０７】
復号部２２１は、ＳＡＭ１０５1 から入力したコンテンツ鍵データＫｃ、半開示パラメータデータ１９９、ユーザ電子透かし情報用データ１９６およびコンテンツデータＣを、セッション鍵データＫSES を用いて復号する。そして、復号部２２１は、復号したコンテンツ鍵データＫｃおよびコンテンツデータＣを復号部２２２に出力し、復号したユーザ電子透かし情報用データ１９６を電子透かし情報処理部２２４に出力し、半開示パラメータデータ１９９を半開示処理部２２５に出力する。
【０２０８】
復号部２２２は、半開示処理部２２５からの制御に基づいて、コンテンツ鍵データＫｃを用いて、コンテンツデータＣを半開示状態で復号し、復号したコンテンツデータＣを伸長部２２３に出力する。
また、復号部２２２は、通常動作時にコンテンツデータＣの全体をコンテンツ鍵データＫｃで復号する。
【０２０９】
伸長部２２３は、復号されたコンテンツデータＣを伸長して、電子透かし情報処理部２２４に出力する。
伸長部２２３は、例えば、図３（Ａ）に示すコンテンツファイルＣＦに格納されたＡ／Ｖ伸長用ソフトウェアを用いて伸長処理を行い、例えば、ＡＴＲＡＣ３方式で伸長処理を行う。
【０２１０】
電子透かし情報処理部２２４は、復号されたユーザ電子透かし情報用データ１９６に応じたユーザ電子透かし情報を、復号されたコンテンツデータＣに埋め込み、新たなコンテンツデータＣを生成する。電子透かし情報処理部２２４は、当該新たなコンテンツデータＣを再生モジュール１６９に出力する。
このように、ユーザ電子透かし情報は、コンテンツデータＣを再生するときに、ＡＶ圧縮・伸長用ＳＡＭ１６３において埋め込まれる。
なお、本発明では、コンテンツデータＣにユーザ電子透かし情報用データ１９６を埋め込まないようにしてもよい。
【０２１１】
半開示処理部２２５は、半開示パラメータデータ１９９に基づいて、例えば、コンテンツデータＣのうち復号を行わないブロックと、復号を行うブロックとを復号部２２２に指示する。
また、半開示処理部２２５は、その他に、半開示パラメータデータ１９９に基づいて、試聴時の再生機能を限定したり、試聴可能な期間を限定するなどの制御を行う。
【０２１２】
再生モジュール１６９は、復号および伸長されたコンテンツデータＣに応じた再生を行う。
【０２１３】
以下、ＳＡＭ１０５1 〜１０５4 の出荷時におけるＥＭＤサービスセンタ１０２への登録処理について説明する。
なお、ＳＡＭ１０５1 〜１０５4 の登録処理は同じであるため、以下、ＳＡＭ１０５1 の登録処理について述べる。
ＳＡＭ１０５1 の出荷時には、ＥＭＤサービスセンタ１０２の鍵サーバ１４１によって、ＳＡＭ管理部１４９を介して、図３０などに示す記憶部１９２に以下に示す鍵データが初期登録される。
また、ＳＡＭ１０５1 には、例えば、出荷時に、記憶部１９２などに、ＳＡＭ１０５1 がＥＭＤサービスセンタ１０２に初回にアクセスする際に用いられるプログラムなどが記憶される。
すなわち、記憶部１９２には、例えば、図３４において左側に「＊」が付されているＳＡＭ１０５1 の識別子ＳＡＭ＿ＩＤ、記録用鍵データＫSTR 、ルート認証局２の公開鍵データＫR-CA、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P 、ＳＡＭ１０５1 の秘密鍵データＫSAM1,S、公開鍵証明書データＣＥＲSAM1およびその署名データＳＩＧ22,ESC、ＡＶ圧縮・伸長用ＳＡＭ１６３およびメディアＳＡＭとの間の認証用鍵データを生成するための元鍵データが初期登録で記憶される。
なお、公開鍵証明書データＣＥＲSAM1は、ＳＡＭ１０５1 を出荷後に登録する際にＥＭＤサービスセンタ１０２からＳＡＭ１０５1 に送信してもよい。
【０２１４】
また、記憶部１９２には、ＳＡＭ１０５1 の出荷時に、図３に示すコンテンツファイルＣＦおよびキーファイルＫＦを読み込み形式を示すファイルリーダが、ＥＭＤサービスセンタ１０２によって書き込まれる。
ＳＡＭ１０５1 では、コンテンツファイルＣＦおよびキーファイルＫＦに格納されたデータを利用する際に、記憶部１９２に記憶されたファイルリーダが用いられる。
【０２１５】
ここで、ルート認証局２の公開鍵データＫR-CAは、インターネットの電子商取引などでは一般的に使用されているＲＳＡを使用し、データ長は例えば１０２４ビットである。公開鍵データＫR-CAは、図１に示すルート認証局２によって発行される。
また、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P は、短いデータ長でＲＳＡと同等あるいはそれ以上の強度を持つ楕円曲線暗号を利用して生成され、データ長は例えば１６０ビットである。但し、暗号化の強度を考慮すると、公開鍵データＫESC,P は１９２ビット以上であることが望ましい。また、ＥＭＤサービスセンタ１０２は、ルート認証局９２に公開鍵データＫESC,P を登録する。
また、ルート認証局９２は、公開鍵データＫESC,P の公開鍵証明書データＣＥＲESC を作成する。公開鍵データＫESC,P を格納した公開鍵証明書データＣＥＲESC は、好ましく、ＳＡＭ１０５1 の出荷時に記憶部１９２に記憶される。この場合に、公開鍵証明書データＣＥＲESC は、ルート認証局９２の秘密鍵データＫROOT,Sで署名されている。
【０２１６】
ＥＭＤサービスセンタ１０２は、乱数を発生してＳＡＭ１０５1 の秘密鍵データＫSAM1,S、を生成し、これとペアとなる公開鍵データＫSAM1,Pを生成する。
また、ＥＭＤサービスセンタ１０２は、ルート認証局９２の認証をもらって、公開鍵データＫSAM1,Pの公開鍵証明書データＣＥＲSAM1を発行し、これに自らの秘密鍵データＫESC,S を用いて署名データを添付する。すなわち、ＥＭＤサービスセンタ１０２は、セカンドＣＡ（認証局）として機能を果たす。
【０２１７】
また、ＳＡＭ１０５1 には、ＥＭＤサービスセンタ１０２により、ＥＭＤサービスセンタ１０２の管理下にある一意（ユニーク）な識別子ＳＡＭ＿ＩＤが割り当てられ、これがＳＡＭ１０５1 の記憶部１９２に格納されると共に、ＥＭＤサービスセンタ１０２によって管理される。
【０２１８】
また、ＳＡＭ１０５1 は、出荷後、例えば、ユーザによってＥＭＤサービスセンタ１０２と接続され、登録手続を行うと共に、ＥＭＤサービスセンタ１０２から記憶部１９２にライセンス鍵データＫＤ1 〜ＫＤ3 が転送される。
すなわち、ＳＡＭ１０５1 を利用するユーザは、コンテンツをダウンロードする前にＥＭＤサービスセンタ１０２に登録手続が必要である。この登録手続は、例えば、ＳＡＭ１０５1 を搭載している機器（当該例では、ネットワーク機器１６０1 ）を購入したときに添付された登録用紙などを用いて、ユーザ本人が自己を特定する情報（ユーザの氏名、住所、連絡先、性別、決済口座、ログイン名、パスワードなど）を記載して例えば郵便などのオフラインで行なわれる。
ＳＡＭ１０５1 は、上述した登録手続を経た後でないと使用できない。
【０２１９】
ＥＭＤサービスセンタ１０２は、ＳＡＭ１０５1 のユーザによる登録手続に応じて、ユーザに固有の識別子ＵＳＥＲ＿ＩＤを発行し、例えば、ＳＡＭ＿ＩＤとＵＳＥＲ＿ＩＤとの対応関係を管理し、課金時に利用する。
また、ＥＭＤサービスセンタ１０２は、ＳＡＭ１０５1 のユーザに対して情報参照用識別子ＩＤと、初回に使用されるパスワードを割り当て、これをユーザに通知する。ユーザは、情報参照用識別子ＩＤとパスワードとを用いて、ＥＭＤサービスセンタ１０２に、例えば現在までのコンテンツデータの利用状況（利用履歴）などを情報の問い合わせを行なうことができる。
また、ＥＭＤサービスセンタ１０２は、ユーザの登録時に、クレジットカード会社などに身分の確認を行なったり、オフラインで本人の確認を行なう。
【０２２０】
次に、図３４に示すように、ＳＡＭ１０５1 内の記憶部１９２にＳＡＭ登録リストを格納する手順について説明する。
図１に示すＳＡＭ１０５1 は、例えば、バス１９１としてＩＥＥＥ１３９４シリアルバスを用いた場合に、バス１９１に接続された機器の電源を立ち上げたり、新しい機器をバス１９１に接続したときに生成されるトポロジーマップを利用して、自分の系に存在するＳＡＭ１０５2 〜ＳＡＭ１０５4 のＳＡＭ登録リストを得る。
なお、ＩＥＥＥ１３９４シリアルバスであるバス１９１に応じて生成されたトポロジーマップは、例えば、図５８に示すように、バス１９１にＳＡＭ１０５1
〜１０５4 に加えてＡＶ機器１６０5 ，１６０6 のＳＣＭＳ処理回路１０５5 ，１０５6 が接続されている場合に、ＳＡＭ１０５1 〜１０５4 およびＳＣＭＳ処理回路１０５5 ，１０５6 を対象として生成される。
従って、ＳＡＭ１０５1 は、当該トポロジーマップから、ＳＡＭ１０５1 〜１０５4 についての情報を抽出して図５９に示すＳＡＭ登録リストを生成する。
【０２２１】
そして、ＳＡＭ１０５1 は、図５９に示すＳＡＭ登録リストを、ＥＭＤサービスセンタ１０２に登録して署名を得る。
これらの処理は、バス１９１のセッションを利用してＳＡＭ１０５1 が自動的に行い、ＥＭＤサービスセンタ１０２にＳＡＭ登録リストの登録命令を発行する。
ＥＭＤサービスセンタ１０２は、ＳＡＭ１０５1 から図５９に示すＳＡＭ登録リストを受けると、有効期限を確認する。そして、ＥＭＤサービスセンタ１０２は、登録時にＳＡＭ１０５1 より指定された決済機能の有無を参照して対応する部分の設定を行う。また、ＥＭＤサービスセンタ１０２は、予め保持している図６０に示すリボケーションリストＣＲＬをチェックしてＳＡＭ登録リスト内のリボケーションフラグを設定する。リボケーションリストは、例えば、不正使用などを理由にＥＭＤサービスセンタ１０２によって使用が禁止されている（無効な）ＳＡＭのリストである。各ＳＡＭは他のＳＡＭと通信を行う際に、リボケーションリストによって通信相手のＳＡＭが無効にされている場合には、当該通信相手のＳＡＭとの通信を停止する。
また、ＥＭＤサービスセンタ１０２は、決済時にはＳＡＭ１０５1 に対応するＳＡＭ登録リストを取り出し、その中に記述されたＳＡＭがリボケーションリストに含まれているかを確認する。また、ＥＭＤサービスセンタ１０２は、ＳＡＭ登録リストに署名を添付する。
これにより、図６１に示すＳＡＭ登録リストが作成される。
なお、ＳＡＭリボケーションリストは、同一系の（同一のバス１９１に接続されている）ＳＡＭのみを対象として生成され、各ＳＡＭに対応するリボケーションンフラグによって、当該ＳＡＭの有効および無効を示している。
【０２２２】
なお、リボケーションリストＣＲＬの更新は、例えば、ＥＭＤサービスセンタ１０２からＳＡＭに放送される更新データに応じて、ＳＡＭ内部で自動的に行なうことが好ましい。
【０２２３】
以下、ＳＡＭが持つセキュリティ機能について説明する。
ＳＡＭは、セキュリティに関する機能として、共通鍵暗号方式のＤＥＳ（Triple DES/AES）、公開鍵暗号方式の楕円曲線暗号（署名生成／検証ＥＣ−ＤＳＡ，共有鍵生成ＥＣ−Ｄ．Ｈ．，公開鍵暗号ＥＣ−Elgamal)，圧縮関数のハッシュ関数ＳＨＡ−１，乱数生成器（真性乱数）の暗号ライブラリーのＩＰ部品を有している。
相互認証、署名生成、署名検証、共有鍵（セッション鍵）作成（配送）には公開鍵暗号方式（楕円曲線暗号）が用いられ、コンテンツの暗号、復号には共通鍵暗号（ＤＥＳ）が用いられ、署名生成、検証の中のメッセージ認証に圧縮関数（ハッシュ関数）が用いられる。
【０２２４】
図６２は、ＳＡＭが持つセキュリティ機能を説明するための図である。
ＳＡＭが管理するセキュリティー機能は、コンテンツに関連する暗号、復号処理をつかさどるアプリケーション層でのセキュリティー機能（１）と、通信相手と相互認証をしてセキュアな通信路を確保する物理層のセキュリティー機能（２）との２種類がある。
ＥＭＤシステム１００では、配信されるコンテンツデータＣはすべて暗号化され、決済と同時に鍵の購入手続きをすることを前提としている。権利書データ１０６は、コンテンツデータＣと一緒にイン・バンド方式で送られることを前提としているので、ネットワークの媒体と関係のない層でそのデータが管理され、衛星、地上波、ケーブル、無線、記録媒体（メディア）などの流通経路によらず、共通な権利処理システムを提供できる。具体的には、権利書データ１０６をネットワークの物理層のプロトコルのヘッダに挿入したりすると、使用するネットワークによって、挿入するデータが同じでも、ヘッダのどこに挿入するかを各々のネットワークで決めないといけない。
【０２２５】
本実施形態では、コンテンツデータＣおよびキーファイルＫＦの暗号化は、アプリケーション層での保護を意味している。相互認証は、物理層やトランスポート層で行ってもよいし、アプリケーション層で行ってもよい。物理層に暗号機能を組み込むことは、使用するハードウエアに暗号機能を組み込むことを意味している。送信、受信の両者間のセキュアの通信路を確保することが相互認証の本来の目的なので物理層で実現できることが望ましいが、実際はトランスポート層で実現し、伝送路によらないレベルでの相互認証が多い。
【０２２６】
ＳＡＭが実現するセキュリティ機能には、通信先の相手の正当性を確認するための相互認証と、アプリケーション層での課金処理をともなうコンテンツデータの暗号化および復号とがある。
機器間で通信を行う際のＳＡＭ相互間での相互認証は、通常、アプリケーション層レベルに実装されるが、トランスポート層や物理層などの他のレイヤに実装されてもよい。
物理層に実装する相互認証は、５Ｃ１３９４ＣＰ（Content Protection）を利用する。１３９４ＣＰは１３９４ＬＩＮＫＩＣ（ハードウエア）のIsochronous
Channel に共通鍵暗号であるＭ６が実装されてあり、Asynchronous Channelによる相互認証（楕円曲線暗号、ハッシュ関数を利用した共通鍵暗号）の結果、生成されるセッション鍵をIsochronous Channel のＭ６に転送し、Ｍ６による共通鍵暗号を実現する。
【０２２７】
ＳＡＭ相互間の相互認証を物理層のハードウエア上に実装する場合には、公開鍵暗号（楕円曲線暗号）を利用した相互認証で生成されたセッション鍵をホストＣＰＵを介して１３９４ＬＩＮＫＩＣのＭ６に転送し、１３９４ＣＰで生成されたセッション鍵と併用してコンテンツデータの暗号化を行う。
また、ＳＡＭ相互間の相互認証をアプリケーション層で行う場合には、ＳＡＭ内部の共通鍵暗号ライブラリ(DES/Triple DES/AES)を使って暗号化を行う。
【０２２８】
本実施形態では、例えば、ＳＡＭ相互間の相互認証をアプリケーション層に実装し、１３９４ＣＰによる相互認証を１３９４ＬＩＮＫＩＣという物理層（ハードウエア）に実装する。
この場合に、課金処理をともなうコンテンツデータの暗号化および復号はアプリケーション層で行われるが、アプリケーション層は一般ユーザから簡単にアクセスでき、時間無制限に解析される可能性があるため、当該課金処理をともなう処理に関しては、本実施形態では、外部から処理内容をいっさいモニタ（監視）できない耐タンパ性をもったハードウエア内部で行っている。これがＳＡＭを耐タンパ性の構造を持ったハードウエアで実現する最大の理由である。
なお、当該課金処理をホストＣＰＵ内で行う場合は、ＣＰＵに耐タンパ性のソフトウェアを実装する。
【０２２９】
以下、図１に示すユーザホームネットワーク１０３内の例えばネットワーク機器１６０1 内での各種のＳＡＭに搭載形態の一例を図６３を参照しながら説明する。
図６３に示すように、ネットワーク機器１６０1 内には、ホストＣＰＵ８１０1 、ＳＡＭ１０５1 、ダウンロードメモリ１６７、メディア・ドラブＳＡＭ２６０、ドライブＣＰＵ１００３、ＤＲＡＭなどのショックプルーフ(Shock Proof：耐振動用) メモリ１００４を有する。
ダウンロードメモリ１６７と、ショックプルーフメモリ１００４の一部の記憶領域は、ＳＡＭ１０５1 およびホストＣＰＵ８１０1 の双方からアクセス可能な共有メモリとして用いられる。
ショックプルーフメモリ１００４は、データバス１００２を介して入力したコンテンツデータを蓄積した後にＡＶ圧縮・伸長用ＳＡＭ１６３に出力することで、記録媒体１３０からのコンテンツデータの読み出し動作が振動などに要因で途切れた場合でも、ＡＶ圧縮・伸長用ＳＡＭ１６３に連続してコンテンツデータＣを出力することを可能にする。これによって、コンテンツデータの再生出力が途切れることが効果的に回避される。
【０２３０】
ダウンロードメモリ１６７は、メモリコントローラ、バスアービターおよびブリッジの機能を持つモジュール１００５を介して、ホストＣＰＵバス１０００に接続されている。
図６４は、モジュール１００５の内部およびその周辺の構成を詳細に示した図である。
図６４に示すように、モジュール１００５は、コントローラ１５００およびバスアービタ／バスブリッジ１５０１を有する。
コントローラ１５００は、ダウンロードメモリ１６７としてＤＲＡＭを用いた場合に、ＤＲＡＭＩ／Ｆとして機能し、ダウンロードメモリ１６７との間にｒ／ｗ線、アドレスバス、ＣＡＳ￣線およびＲＡＳ￣線を有している。
バスアービタ／バスブリッジ１５０１は、ホストＣＰＵバス１０００のアービトレーション等を行い、ダウンロードメモリ１６７との間にデータバスを有し、コントローラ１５００との間にｒ／ｗ線、アドレスバスおよびＲｅａｄｙ線を有し、ＳＡＭ１０５1 との間にＣＳ(Chip Select) 線、ｒ／ｗ線、アドレスバス、データバスおよびＲｅａｄｙ線を有し、ホストＣＰＵバス１０００に接続されている。
ホストＣＰＵバス１０００には、バスアービタ／バスブリッジ１５０１、ホストＣＰＵ８１０1 およびＳＡＭ１０５1 が接続されている。
ホストＣＰＵバス１０００は、ＣＳ線、ｒ／ｗ線、アドレスバス、データバスおよびＲｅａｄｙ線を有する。
【０２３１】
ダウンロードメモリ１６７およびショックプルーフメモリ１００４には、前述したコンテンツファイルＣＦおよびキーファイルＫＦなどが記憶される。
ショックプルーフメモリ１００４の記憶領域のうち共有メモリとしては用いられる記憶領域以外の記憶領域は、データバス１００２を介してメディア・ドラブＳＡＭ２６０から入力したコンテンツデータをＡＶ圧縮・伸長用ＳＡＭ１６３に出力するまで一時的に記憶するために用いられる。
【０２３２】
ＡＶ圧縮・伸長用ＳＡＭ１６３は、ホストＣＰＵバス１０００を介してダウンロードメモリ１６７との間でデータ転送を行い、データバス１００２を介してメディア・ドラブＳＡＭ２６０との間でデータ転送を行う。
【０２３３】
ホストＣＰＵバス１０００には、ダウンロードメモリ１６７の他に、ＳＡＭ１０５1 、ＡＶ圧縮・伸長用ＳＡＭ１６３およびＤＭＡ(Direct Memory Access)１０１０が接続されている。
ＤＭＡ１０１０は、ホストＣＰＵバス１０００を介したダウンロードメモリ１６７へのアクセスを、ホストＣＰＵ８１０1 からの命令に応じて、統括的に制御する。
また、ホストＣＰＵバス１０００は、１３９４シリアル・インターフェースのＬＩＮＫ層を用いてユーザホームネットワーク１０３内の他のＳＡＭ１０５2 〜１０５4 と通信を行なう際に用いられる。
【０２３４】
ドライブＣＰＵバス１００１には、ドライブＣＰＵ１００３、メディア・ドラブＳＡＭ２６０、ＲＦアンプ１００６、メディアＳＡＭインターフェイス１００７およびＤＭＡ１０１１が接続されている。
ドライブＣＰＵ１００３は、例えば、ホストＣＰＵ８１０1 からの命令を受けて、ディスク型の記録媒体１３０にアクセスを行う際の処理を統括的に制御する。この場合に、ホストＣＰＵ８１０1 がマスタとなり、ドライブＣＰＵ１００３がスレーブとなる。ドライブＣＰＵ１００３は、ホストＣＰＵ８１０1 から見てＩ／Ｏとして扱われる。
ドライブＣＰＵ１００３は、例えばＲＡＭ型などの記録媒体１３０にアクセスを行う際のデータのエンコードおよびデコードを行う。
ドライブＣＰＵ１００３は、ＲＡＭ型の記録媒体１３０がドライブにセットされると、ＲＡＭ型の記録媒体１３０がＳＡＭ１０５1 による権利処理の対象となる（ＥＭＤシステム１００の対象となる）記録媒体であるか否かを判断し、当該記録媒体であると判断した場合に、そのことをホストＣＰＵ８１０1 に通知すると共に、メディア・ドラブＳＡＭ２６０にメディアＳＡＭ１３３との間の相互認証などを行うことを指示する。
【０２３５】
メディアＳＡＭインターフェイス１００７は、ドライブＣＰＵバス１００１を介した記録媒体１３０のメディアＳＡＭ１３３に対してのアクセスを行う際のインターフェイスとして機能する。
ＤＭＡ１０１１は、例えば、ドライブＣＰＵ１００３からの命令に応じて、ドライブＣＰＵバス１００１およびデータバス１００２を介したショックプルーフメモリ１００４へのメモリアクセスを統括的に制御する。ＤＭＡ１０１１は、例えば、データバス１００２を介した、メディア・ドラブＳＡＭ２６０とショックプルーフメモリ１００４との間のデータ転送を制御する。
【０２３６】
図６３に示す構成では、例えば、ＳＡＭ１０５1 と記録媒体１３０のメディアＳＡＭ１３３との間で相互認証などの通信を場合には、ホストＣＰＵ８１０1 の制御に基づいて、ホストＣＰＵバス１０００、ホストＣＰＵ８１０1 、ドライブＣＰＵ１００３内のレジスタ、ドライブＣＰＵバス１００１およびメディアＳＡＭインターフェイス１００７を介して、ＳＡＭ１０５1 とメディアＳＡＭ１３３との間でデータが転送される。
また、記録媒体１３０にアクセスを行う場合には、メディア・ドラブＳＡＭ２６０とメディアＳＡＭ１３３との間で相互認証が行われる。
また、前述したように、ダウンロードメモリ１６７およびショックプルーフメモリ１００４にアクセスを行うために、ＡＶ圧縮・伸長用ＳＡＭ１６３においてデータを圧縮または伸長する場合には、ＳＡＭ１０５1 とＡＶ圧縮・伸長用ＳＡＭ１６３との間で相互認証が行われる。
【０２３７】
本実施形態では、図６３において、ＳＡＭ１０５1 およびＡＶ圧縮・伸長用ＳＡＭ１６３は、ホストＣＰＵ８１０1 からは、Ｉ／Ｏインターフェイスに接続されたデバイスとして扱われる。ＳＡＭ１０５1 およびＡＶ圧縮・伸長用ＳＡＭ１６３とホストＣＰＵ８１０1 との間の通信およびデータ転送は、メモリＩ／Ｏ＆アドレスデコーダ１０２０の制御に基づいて行われる。このとき、ホストＣＰＵ８１０1 がマスタ(Master)になり、ＳＡＭ１０５1 およびＡＶ圧縮・伸長用ＳＡＭ１６３がスレーブ(Slave) になる。ＳＡＭ１０５1 およびＡＶ圧縮・伸長用ＳＡＭ１６３は、ホストＣＰＵ８１０1 からの命令に基づいて要求された処理を行い、必要に応じて、当該処理の結果をホストＣＰＵ８１０1 に通知する。
また、メディアＳＡＭ１３３およびメディア・ドラブＳＡＭ２６０は、ドライブＣＰＵ１００３からはＩ／Ｏインターフェイスに接続されたデバイスとして扱われる。メディアＳＡＭ１３３およびメディア・ドラブＳＡＭ２６０とドライブＣＰＵ１００３との間の通信およびデータ転送は、メモリＩ／Ｏ＆アドレスデコーダ１０２１の制御に基づいて行われる。このとき、ドライブＣＰＵ１００３がマスタになり、メディアＳＡＭ１３３およびメディア・ドラブＳＡＭ２６０がスレーブになる。メディアＳＡＭ１３３およびメディア・ドラブＳＡＭ２６０は、ドライブＣＰＵ１００３からの命令に基づいて要求された処理を行い、必要に応じて、当該処理の結果をドライブＣＰＵ１００３に通知する。
【０２３８】
また、ダウンロードメモリ１６７およびショックプルーフメモリ１００４に対してのコンテンツファイルＣＦおよびキーファイルＫＦに関するアクセス制御は、ＳＡＭ１０５1 が統括的に行ってもよいし、あるいはコンテンツファイルＣＦのアクセス制御をホストＣＰＵ８１０1 が行い、キーファイルＫＦのアクセス制御をＳＡＭ１０５1 が行ってもよい。
【０２３９】
ドライブＣＰＵ１００３によって記録媒体１３０から読み出されたコンテンツデータＣは、ＲＦアンプ１００６およびメディア・ドラブＳＡＭ２６０を経て、ショックプルーフメモリ１００４に格納され、その後、ＡＶ圧縮・伸長用ＳＡＭ１６３において伸長される。伸長されたコンテンツデータはＤ／Ａ変換器におい、２てデジタルからアナログに変換され、当該変換によって得られたアナログ信号に応じた音響がスピーカから出力される。
このとき、ショックプルーフメモリ１００４は、記録媒体１３０の離散的に位置する記録領域から非連続的に読み出された複数のトラックのコンテンツデータＣを一時的に格納した後に、ＡＶ圧縮・伸長用ＳＡＭ１６３に連続して出力してもよい。
【０２４０】
以下、図６３に示すユーザホームネットワーク１０３内の各種のＳＡＭのマスタ・スレーブ関係を説明する。
例えば、購入形態を決定したコンテンツデータを記録媒体１３０に記録する場合には、図６５に示すように、ホストＣＰＵ８１０1 が、そのＩ／ＯデバイスであるＳＡＭ１０５1 に、当該コンテンツデータの購入形態決定を行う旨を内部割り込みによって指示すると共に、記録媒体１３０のメディアＳＡＭ１３３と相互認証を行って、記録媒体１３０にコンテンツデータを記録する。
このとき、ホストＣＰＵ８１０1 がマスタとなり、ＳＡＭ１０５1 および記録媒体１３０がスレーブとなる。記録媒体１３０も、ホストＣＰＵ８１０1 からはＩ／Ｏデバイスとして扱われる。
ＳＡＭ１０５1 は、ホストＣＰＵ８１０1 から上記内部割り込みを受けると、記録媒体１３０のメディアＳＡＭ１３３と通信を行って、コンテンツデータの購入形態を決定すると共に、コンテンツ鍵データＫｃなどの所定の鍵データをメディアＳＡＭ１３３に書き込む。そして、ＳＡＭ１０５1 は、当該処理が終了すると、ホストＣＰＵ８１０1 に対しての外部割り込み、あるいはホストＣＰＵ８１０1 からのポーリングによって、当該処理の結果をホストＣＰＵ８１０1 に通知する。
【０２４１】
また、例えば、記録媒体に記録された既に購入形態が決定されたコンテンツデータの再生を行う場合には、図６６に示すように、ホストＣＰＵ８１０1 からＳＡＭ１０５1 に対して、当該再生を行う旨の指示が内部割り込みによって出される。
ＳＡＭ１０５1 は、当該内部割り込みを受けると、記録媒体１３０のメディアＳＡＭ１３３からキーファイルＫＦなどの鍵データブロックを読み出し、当該鍵データブロックに格納された利用制御データ１６６などに基づいて、コンテンツデータの再生処理を行う。
ＳＡＭ１０５1 は、ＡＶ圧縮・伸長用ＳＡＭ１６３に、記録媒体１３０から読み出したコンテンツデータの伸長処理を行う旨の指示を内部割り込みによって出す。
ＡＶ圧縮・伸長用ＳＡＭ１６３は、当該内部割り込みをＳＡＭ１０５1 から受けると、記録媒体１３０から読み出したコンテンツデータのデスクランブル処理、電子透かし情報の埋め込み処理および検出処理、並びに伸長処理を行った後に、当該コンテンツデータをＤ／Ａ変換回路などを介して出力して再生を行う。
そして、ＡＶ圧縮・伸長用ＳＡＭ１６３は、当該再生処理が終了すると、その旨をＳＡＭ１０５1 に通知する。
ＳＡＭ１０５1 は、ＡＶ圧縮・伸長用ＳＡＭ１６３から、当該再生処理が終了した旨の通知を受けると、その旨を外部割り込み等でホストＣＰＵ８１０1 に通知する。
この場合に、ホストＣＰＵ８１０1 とＳＡＭ１０５1 との関係では、ホストＣＰＵ８１０1 がマスタとなり、ＳＡＭ１０５1 がスレーブとなる。
また、ＳＡＭ１０５1 とＡＶ圧縮・伸長用ＳＡＭ１６３との関係では、ＳＡＭ１０５1 がマスタとなり、ＡＶ圧縮・伸長用ＳＡＭ１６３がスレーブとなる。
また、上述した実施形態では、ＡＶ圧縮・伸長用ＳＡＭ１６３をＳＡＭ１０５1 のスレーブとなるようにしたが、ＡＶ圧縮・伸長用ＳＡＭ１６３をホストＣＰＵ８１０1 のスレーブとなるようにしてもよい。
【０２４２】
また、例えば、コンテンツデータの権利処理を行うことなく、記録媒体１３０に記録されたコンテンツデータの再生処理を行う場合には、図６７に示すように、ホストＣＰＵ８１０1 からＡＶ圧縮・伸長用ＳＡＭ１６３に、内部割り込みによって、再生処理を行う旨の指示が出される。また、ホストＣＰＵ８１０1 からメディア・ドラブＳＡＭ２６０に、内部割り込みによって、記録媒体１３０からコンテンツデータを読み出す旨の指示が出される。
メディア・ドラブＳＡＭ２６０は、上記内部割り込みを受けると、記録媒体１３０から読み出したコンテンツデータをデコード部でデコードした後に、ショックプルーフメモリ１００４に格納する。そして、メディア・ドラブＳＡＭ２６０は、当該処理を終了すると、その旨を外部割り込みによってホストＣＰＵ８１０1 に通知する。
ショックプルーフメモリ１００４に格納されたコンテンツデータは、ＡＶ圧縮・伸長用ＳＡＭ１６３によって読み出され、ＡＶ圧縮・伸長用ＳＡＭ１６３において、デスクランブル処理、電子透かし情報の埋め込み処理および検出処理、並びに伸長処理を行った後に、Ｄ／Ａ変換回路などを介して再生出力される。
ＡＶ圧縮・伸長用ＳＡＭ１６３は、当該再生処理が終了すると、その旨を外部割り込みによってホストＣＰＵ８１０1 に通知する。
この場合に、ホストＣＰＵ８１０1 がマスタとなり、ＡＶ圧縮・伸長用ＳＡＭ１６３およびメディア・ドラブＳＡＭ２６０がスレーブとなる。
【０２４３】
以下、ユーザホームネットワーク１０３内の各種のＳＡＭが上述した機能を実現するために備える回路モジュールについて説明する。
ユーザホームネットワーク１０３内のＳＡＭとしては、前述したように、購入形態の決定などの権利処理（利益分配）に係わる処理を行うＳＡＭ１０５（１０５1 〜１０５4 ）と、記録媒体に設けられるメディアＳＡＭ１３３と、ＡＶ圧縮・伸長用ＳＡＭ１６３と、メディア・ドラブＳＡＭ２６０とがある。以下、これらのＳＡＭに設けられる回路モジュールをそれぞれ説明する。
【０２４４】
＜権利処理用のＳＡＭの第１形態＞
図６８は、権利処理用のＳＡＭ１０５ａの回路モジュールを説明するための図である。
図６８に示すように、ＳＡＭ１０５ａは、ＣＰＵ１１００、ＤＭＡ１１０１、ＭＭＵ１１０２、Ｉ／Ｏモジュール１１０３、マスクＲＯＭ１１０４、不揮発性メモリ１１０５、作業用ＲＡＭ１１０６、公開鍵暗号モジュール１１０７、共通鍵暗号モジュール１１０８、ハッシュ関数モジュール１１０９、（真性）乱数発生器１１１０、リアルタイムクロックモジュール１１１１、外部バスＩ／Ｆ１１１２を有する耐タンパ性のハードウェア(Tamper Registant H/W)（本発明の回路モジュール）である。
ここで、ＣＰＵ１１００が本発明の演算処理回路に対応し、マスクＲＯＭ１１０４、不揮発性メモリ１１０５および作業用ＲＡＭ１１０６が本発明の記憶回路に対応し、共通鍵暗号モジュール１１０８が本発明の暗号処理回路に対応し、外部バスＩ／Ｆ１１１２が本発明の外部バスインターフェイスに対応している。
また、後述する図６４の内部バス１１２０，１１２１が本発明の第１のバスに対応し、外部バス１１２３が本発明の第２のバスに対応している。
また、内部バス１１２０が本発明の第３のバスに対応し、内部バス１１２１が本発明の第４のバスに対応している。
また、外部バスＩ／Ｆ１１１２が本発明の第１のインターフェイス回路に対応し、バスＩ／Ｆ回路１１１６が本発明の第２のインターフェイス回路に対応している。
また、内部バス１１２２が本発明の第５のバスに対応し、Ｉ／Ｏモジュールが本発明の第３のインターフェイス回路に対応し、バスＩ／Ｆ回路１１１７が本発明の第４のインターフェイス回路に対応している。
【０２４５】
図３０に示すＳＡＭ１０５1 の機能モジュールと、図６８に示す回路モジュールとの関係を簡単に説明する。
ＣＰＵ１１００は、例えば、マスクＲＯＭ１１０４および不揮発性メモリ１１０５に記憶されたプログラムを実行して、図３０に示すＣＰＵ１１００、課金処理部１８７および利用監視部１８６の機能を実現する。
ＤＭＡ１１０１は、ＣＰＵ１１００からの命令に応じて、図２２に示すダウンロードメモリ１６７および図３０に示す記憶部１９２に対してのアクセスを統括的に制御する。
ＭＭＵ１１０２は、図２２に示すダウンロードメモリ１６７および図３０に示す記憶部１９２のアドレス空間を管理する。
Ｉ／Ｏモジュール１１０３は、例えば、図３０に示すメディアＳＡＭ管理部１９７の一部の機能を実現する。
マスクＲＯＭ１１０４には、ＳＡＭ１０５ａの初期化プログラムやインテグリティチェック(Integrity Check) プログラムなどの改変しないプログラムおよびデータが製造時に記憶され、図３０に示す記憶部１９２の一部の機能を実現する。
不揮発性メモリ１１０５は、改変する可能性のある例えば暗号化プログラムや鍵データなどを記憶し、図３０に示す記憶部１９２の一部の機能を実現する。
作業用ＲＡＭ１１０６は、図３０に示す作業用メモリ２００に対応している。          【０２４６】
公開鍵暗号モジュール１１０７は、図３０に示す署名処理部１８９の機能の一部を実現し、例えば、公開鍵暗号方式を用いた、メディアＳＡＭ１３３等と間の相互認証、ＳＡＭ１０５の署名データの作成、署名データ（ＥＭＤサービスセンタ１０２、コンテンツプロバイダ１０１、第２実施形態の場合にはサービスプロバイダ３１０の署名データ）の検証、データ量の少ないデータ（キーファイルＫＦなど）の転送を行う際の当該データの暗号化および復号、並びに、鍵共有を行う際に用いられる。公開鍵暗号モジュール１１０７は、回路モジュールとして実現してもよいし(H/W IP Solution) 、不揮発性メモリ１１０５に記憶した公開鍵暗号プログラムをＣＰＵ１１００において実行して実現してもよい(S/W IPSolution)。
【０２４７】
共通鍵暗号モジュール１１０８は、図３０に示す署名処理部１８９、暗号化・復号部１７１，１７２，１７３の機能の一部を実現し、相互認証、相互認証によって得た共通鍵であるセッション鍵データＫSES を用いたデータの暗号化および復号を行う際に用いられる。共通鍵暗号方式は、公開鍵暗号方式に比べて高速処理が可能であり、例えば、コンテンツデータ（コンテンツファイルＣＦ）などのデータ量が大きいデータを暗号化および復号する際に用いられる。共通鍵暗号モジュール１１０８は、回路モジュールとして実現してもよいし(H/W IP Solution) 、不揮発性メモリ１１０５に記憶した共通鍵暗号プログラムをＣＰＵ１１００において実行して実現してもよい(S/W IP Solution) 。
なお、相互認証は、公開鍵暗号モジュール１１０７による暗号・復号および共通鍵暗号モジュール１１０８による暗号・復号の何れか一方あるいは双方を採用する。
また、共通鍵暗号モジュール１１０８は、コンテンツ鍵データＫｃをライセンス鍵データＫＤを用いて復号する。
【０２４８】
ハッシュ関数モジュール１１０９は、図３０に示す署名処理部１８９の機能の一部を実現し、署名データを作成する対象となるデータのハッシュ値を生成する際に用いられる。具体的には、ハッシュ関数モジュール１１０９は、コンテンツプロバイダ１０１およびＥＭＤサービスセンタ１０２などの署名データや、図４４に示すセキュアコンテナ１０４ｘのキーファイルＫＦ1 のハッシュ値ＨK1を検証する際に用いられる。ハッシュ関数モジュール１１０９は、回路モジュールとして実現してもよいし(H/W IPSolution)、不揮発性メモリ１１０５に記憶したハッシュ回路モジュールをＣＰＵ１１００において実行して実現してもよい(S/W IP Solution) 。
【０２４９】
乱数発生器１１１０は、例えば、図３０に示す相互認証部１７０の機能の一部を実現する。
リアルタイムクロックモジュール１１１１は、リアルタイムの時刻を発生する。当該時刻は、例えば、有効期限付きのライセンス鍵データＫＤを選択する場合や、利用制御データ１６６によって示される有効期限の要件を満たされているか否かを判断する際に用いられる。
外部バスＩ／Ｆ１１１２は、図３０に示すコンテンツプロバイダ管理部１８０、ダウンロードメモリ管理部１８２およびＥＭＤサービスセンタ管理部１８５の一部を機能を実現する。
【０２５０】
図６９は、ＳＡＭ１０５ａ内のハードウェア構成を説明するための図である。
図６９において、図６８に示したものと同じ回路モジュールには、図６８と同じ符号を付している。
図６９に示すように、ＳＡＭ１０５ａ内では、ＳＡＭ・ＣＰＵバス１１２０を介してＣＰＵ１１００、マスクＲＯＭ１１０４および不揮発性メモリ１１０５が接続されている。
内部バス１１２１には、ＤＭＡ１１０１が接続されている。
内部バス１１２２には、Ｉ2 Ｃ・インターフェイス１１３０、メディアＳＡＭ・インターフェイス１１３１、ＭＳ(Memory Stick)・インターフェイス１１３２およびＩＣカード・インターフェイス１１３３が接続されている。
メディアＳＡＭ・インターフェイス１１３１は記録媒体１３０のメディアＳＡＭ１３３との間でデータ転送を行う。ＭＳ・インターフェイス１１３２はメモリスティック１１４０との間でデータ転送を行う。ＩＣカード・インターフェイス１１３３はＩＣカード１１４１との間でデータ転送を行う。
【０２５１】
外部バス１１２３には、公開鍵暗号モジュール１１０７、共通鍵暗号モジュール１１０８、ハッシュ関数モジュール１１０９、乱数発生器１１１０、リアルタイムクロック生成モジュール１１１１、外部バスＩ／Ｆ１１１２および外部メモリＩ／Ｆ１１４０が接続されている。
外部バスＩ／Ｆ１１１２は、図６３に示す外部メモリ２０１が接続される。
外部メモリＩ／Ｆ１１４０は、図６３に示すホストＣＰＵバス１０００に接続される。
【０２５２】
ＳＡＭ・ＣＰＵバス１１２０と内部バス１１２１とは、バス・インターフェイス１１６を介して接続されている。
内部バス１１２２と内部バス１１２１とは、バス・インターフェイス１１１７を介して接続されている。
内部バス１１２１と外部バス１１２３とは、バス・インターフェイス１１１５を介して接続されている。
【０２５３】
バス・インターフェイス１１１５内には、ＳＲＡＭ１１５５およびＳＡＭステータスレジスタ１１５６が設けられている。
ＳＲＡＭ１１５５は、後述するように、
ＳＡＭステータスレジスタ１１５６には、前述したように、第１のＳＡＭステータスレジスタおよび第２のＳＡＭステータスレジスタがある。第１のＳＡＭステータスレジスタには、ホストＣＰＵ８１０1 によって読み出される、ＳＡＭ１０５1 のステータス（状態）を示すフラグが設定される。第２のＳＡＭステータスレジスタには、ホストＣＰＵ８１０1 からタスク実行の依頼が出されているか否かのステータスをＳＡＭ１０５1 の内部のＣＰＵから読みにいくフラグが設定される。
【０２５４】
ＤＭＡ１１０１は、ＣＰＵ１１００からの命令に応じて、内部バス１１２１を介した、マスクＲＯＭ１１０４、不揮発性メモリ１１０５および作業用ＲＡＭ１１０６に対してのアクセスを統括的に制御する。
ＭＭＵ１１１３は、マスクＲＯＭ１１０４、不揮発性メモリ１１０５、作業用ＲＡＭ１１０６、図６３に示すダウンロードメモリ１６７のメモリ空間を管理する。
アドレスデコーダ１１１４は、内部バス１１２１と外部バス１１２３との間でデータ転送を行う際に、アドレス変換を行う。
また、書き込みロック制御回路１１３５は、ＣＰＵ１１００からのロック鍵データに基づいて、フラッシュＲＯＭに対してのデータの書き込みおよび消去をブロック単位で管理する。
【０２５５】
次に、権利処理用のＳＡＭ１０５ａのアドレス空間を説明する。
図７０は、権利処理用のＳＡＭ１０５ａのアドレス空間を説明するための図である。
図７０に示すように、権利処理用のＳＡＭ１０５ａのアドレス空間には、開始アドレスから順に、例えば、ブートプログラム、システムコンフィギュレーション、フラッシュＲＯＭ、所定のプログラム、フラッシュＲＯＭのデバイスドライバ、不揮発性メモリのデバイスドライバ、図６９に示す作業用ＲＡＭ１１０６、所定のプログラム、作業用ＲＡＭ１１０６、所定のプログラム、図６９に示すＳＲＡＭ１１５５、外部メモリ２０１、Ｋｅｙ＿ＴＯＣ／Ｆｉｌｅ＿Ｓｙｓｔｅｍ、ＳＡＭ登録リスト、利用履歴データ１０８、図６９に示す共通鍵暗号モジュール１１０８のレジスタ、図６９に示す公開鍵暗号モジュール１１０７のレジスタ、図６９に示すハッシュ関数モジュール１１０９のレジスタ、図６９に示す乱数発生器１１１０のレジスタ、図６９に示すリアルタイムクロックモジュール１１１１のレジスタ、現在時刻レジスタ、有効期限レジスタ、コントロールレジスタ、ＩＣカードのインターフェイス、メディアＳＡＭのインターフェイス、メモリスティックのインターフェイス、Ｉ2 Ｃバスのインターフェイスに割り当てられている。
【０２５６】
システムコンフィギュレーションに割り当てられたアドレス空間内には、図６９に示すＤＭＡ１１０１およびＳＡＭステータスレジスタ１１５６が割り当てられている。
また、フラッシュＲＯＭに割り当てられたアドレス空間内には、メインルーチン（カーネル）、割り込みプログラム、当該割り込みプログラムによって呼び出されるサブルーチン、コマンド解析部（コマンドと割り込みプログラムの開始アドレスの対応表）、割り込みベクタテーブルが割り当てられている。
図７０に示すＳＡＭ１０５ａのアドレス空間のうち、ＳＡＭステータスレジスタ１１５６およびＳＲＡＭ１１５５は、ホストＣＰＵ８１０との共有メモリ空間として用いられる。
【０２５７】
次に、図６３に示すホストＣＰＵ８１０1 のアドレス空間を説明する。
図７１は、図６３に示すホストＣＰＵ８１０1 のアドレス空間を説明するための図である。
図７１に示すように、ホストＣＰＵ８１０1 のアドレス空間は、開始アドレスから順に、例えば、ブートプログラム、システムコンフィギュレーション、コードが記憶されるＲＯＭ、データが記憶されるＲＡＭ、作業用ＲＡＭ、図６３に示すＳＡＭ１０５1 との共有メモリ、図６３に示すＡＶ圧縮・伸長用ＳＡＭ１６３との共有メモリ、図６３に示すメディア・ドラブＳＡＭ２６０との共有メモリおよび外部デバイスが割り当てられている。
図６３に示すＳＡＭ１０５1 との共有メモリには、図６９に示すＳＲＡＭ１１５５およびＳＡＭステータスレジスタ１１５６が割り当てられている。
【０２５８】
＜権利処理用のＳＡＭの第２形態＞
図７２は、権利処理用のＳＡＭ１０５ｂの回路モジュールを説明するための図である。
図７２では、ＳＡＭ１０５ａの構成要素と同じものには、図６９と同じ符号を付している。
図７２に示すように、ＳＡＭ１０５ｂは、セキュアメモリ１０５ｂａ、ホストＣＰＵ８１０、耐タンパ性ソフトウェア１１３０、Ｉ／Ｏモジュール１１０３を用いて実現される。
ＳＡＭ１０５ｂでは、ホストＣＰＵ８１０において、耐タンパ性ソフトウェア１１３０を実行することで、図６８に示すＣＰＵ１１００と同じ機能を実現する。耐タンパ性ソフトウェア１１３０は、前述したように、耐タンパ性を持ったモジュール内部で閉じたソフトウェアであり、解読および書き換え困難なソフトウェアである。
セキュアメモリ１０５ｂａには、マスクＲＯＭ１１０４、不揮発性メモリ１１０５、作業用ＲＡＭ１１０６、公開鍵暗号モジュール１１０７、共通鍵暗号モジュール１１０８、ハッシュ関数モジュール１１０９、（真性）乱数発生器１１１０、リアルタイムクロックモジュール１１１１および外部バスＩ／Ｆ１１１２を有する耐タンパ性のハードウェアである。
なお、公開鍵暗号モジュール１１０７、共通鍵暗号モジュール１１０８およびハッシュ関数モジュール１１０９は、回路モジュールとして実現してもよいし(H/W IP Solution) 、それぞれ不揮発性メモリ１１０５に記憶した公開鍵暗号プログラム、共通鍵暗号プログラムおよびハッシュ関数プログラムをホストＣＰＵ８１０において実行して実現してもよい(S/W IP Solution) 。
【０２５９】
以下、前述したメディアＳＡＭ１３３の構成の一例を説明する。
図７３は、メディアＳＡＭ１３３の回路モジュールを説明するための図である。
図７３に示すように、メディアＳＡＭ１３３は、ＣＰＵ１２００、ＤＭＡ１２０１、Ｉ／Ｏモジュール１２０３、マスクＲＯＭ１２０４、不揮発性メモリ１２０５、作業用ＲＡＭ１２０６、公開鍵暗号モジュール１２０７、共通鍵暗号モジュール１２０８、ハッシュ関数モジュール１２０９、（真性）乱数発生器１２１０を有する耐タンパ性のハードウェア(Tamper Registant H/W)である。
【０２６０】
ＣＰＵ１２００は、耐タンパ性のハードウェア内の各回路の制御を行う。
【０２６１】
作業用ＲＡＭ１１０６は、図３０に示す作業用メモリ２００に対応している。  公開鍵暗号モジュール１２０７は、例えば、公開鍵暗号方式を用いた、例えば（１）：図６３に示すＳＡＭ１０５1 およびドライブＣＰＵ１００３等と間の相互認証、（２）メディアＳＡＭ１３３の署名データの作成、署名データ（ＥＭＤサービスセンタ１０２、コンテンツプロバイダ１０１、第２実施形態の場合にはサービスプロバイダ３１０の署名データ）の検証、（３）：転送されるデータ量の少ないメッセージの暗号化および復号、並びに、（４）：相互認証によって得たセッション鍵データＫSES の鍵共有を行う際に用いられる。公開鍵暗号モジュール１１０７は、回路モジュールとして実現してもよいし(H/W IP Solution) 、不揮発性メモリ１２０５に記憶した公開鍵暗号プログラムをＣＰＵ１２００において実行して実現してもよい(S/W IPSolution)。
【０２６２】
共通鍵暗号モジュール１２０８は、相互認証、相互認証によって得た共通鍵であるセッション鍵データＫSES を用いたキーファイルＫＦ，ＫＦ1 などのデータの暗号化および復号を行う際に用いられる。共通鍵暗号モジュール１２０８は、回路モジュールとして実現してもよいし(H/W IP Solution) 、不揮発性メモリ１２０５に記憶した共通鍵暗号プログラムをＣＰＵ１２００において実行して実現してもよい(S/W IP Solution) 。
なお、相互認証は、公開鍵暗号モジュール１２０７による暗号・復号および共通鍵暗号モジュール１２０８による暗号・復号の何れか一方あるいは双方を採用する。
【０２６３】
ハッシュ関数モジュール１２０９は、データのハッシュ値を生成する際に用いられる。具体的には、ハッシュ関数モジュール１１０９は、図４４に示すセキュアコンテナ１０４ｘのキーファイルＫＦ1 のハッシュ値ＨK1を検証する際に用いられる。ハッシュ関数モジュール１２０９は、回路モジュールとして実現してもよいし(H/W IP Solution) 、不揮発性メモリ１２０５に記憶したハッシュ回路モジュールをＣＰＵ１２００において実行して実現してもよい(S/W IP Solution)
。
【０２６４】
乱数発生器１２１０は、例えば、相互認証を行う際に用いられる。
Ｉ／Ｏモジュール１２０３は、図６３に示すメディアＳＡＭＩ／Ｆ１００７との間の通信を行う際に用いられる。
【０２６５】
マスクＲＯＭ１２０４には、メディアＳＡＭ１３３の初期化プログラムやインテグリティチェック(Integrity Check) プログラムなどの改変しないプログラムおよびデータが製造時に記憶される。
不揮発性メモリ１２０５は、改変する可能性のある例えば暗号化プログラムや鍵データなどを記憶する。
【０２６６】
図７４は、メディアＳＡＭ１３３がＲＯＭ型の記録媒体に搭載される場合に、メディアＳＡＭ１３３の出荷時にマスクＲＯＭ１２０４および不揮発性メモリ１２０５に格納されているデータを示す図である。
図７４に示すように、ＲＯＭ型の記録媒体の出荷時には、メディアＳＡＭ１３３には、メディアＳＡＭの識別子（ＩＤ）、記録用鍵データＫSTR （メディア鍵データＫMED ）、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P 、ルート認証局９２の公開鍵データＫR-CA,P、メディアＳＡＭ１３３の公開鍵証明書データＣＥＲMSAM，メディアＳＡＭ１３３の公開鍵データＫMSAM,P、メディアＳＡＭ１３３の秘密鍵データＫMSAM,S、リボケーションリスト、権利処理用データ、利益分配したいエンティティの識別子（ＩＤ）、メディアのタイプ（メディアの種別情報、ＲＯＭおよびＲＡＭの何れかを特定する情報）、キーファイルＫＦの物理アドレス情報（レジスタ空間のアドレス）、各コンテンツデータＣ（コンテンツファイルＣＦ）のキーファイルＫＦ、所定の検証値（ＭＡＣ値）などが記憶される。
ここで、キーファイルＫＦの物理アドレス情報（レジスタ空間のアドレス）、各コンテンツデータＣ（コンテンツファイルＣＦ）のキーファイルＫＦ、並びに所定の検証値（ＭＡＣ値）は、ＥＭＤサービスセンタ１０２が管理するライセンス鍵データＫＤを用いて暗号化されている。
【０２６７】
図７５は、メディアＳＡＭ１３３がＲＯＭ型の記録媒体に搭載される場合に、メディアＳＡＭ１３３の出荷後のユーザ登録およびコンテンツデータの購入形態決定を行ったときにマスクＲＯＭ１２０４および不揮発性メモリ１２０５に格納されているデータを示す図である。
図７５に示すように、メディアＳＡＭ１３３には、ユーザ登録によって、新たに、ユーザＩＤ、パスワード、個人嗜好情報、個人決済情報（クレジットカード番号など）および電子マネー情報、キーファイルＫＦ1 などのデータが書き込まれる。
【０２６８】
図７６は、メディアＳＡＭ１３３がＲＡＭ型の記録媒体に搭載される場合に、メディアＳＡＭ１３３の出荷時にマスクＲＯＭ１２０４および不揮発性メモリ１２０５に格納されているデータを示す図である。
図７６に示すように、ＲＡＭ型の記録媒体の出荷時には、メディアＳＡＭ１３３には、メディアＳＡＭの識別子（ＩＤ）、記録用鍵データＫSTR （メディア鍵データＫMED ）、ＥＭＤサービスセンタ１０２の公開鍵データＫESC,P 、ルート認証局９２の公開鍵データＫR-CA,P、メディアＳＡＭ１３３の公開鍵証明書データＣＥＲMSAM，メディアＳＡＭ１３３の公開鍵データＫMSAM,P、メディアＳＡＭ１３３の秘密鍵データＫMSAM,S、リボケーションリスト、権利処理用データ、利益分配したいエンティティの識別子（ＩＤ）、メディアのタイプ（メディアの種別情報、ＲＯＭおよびＲＡＭの何れかを特定する情報）が記憶されており、キーファイルＫＦの物理アドレス情報（レジスタ空間のアドレス）、各コンテンツデータＣ（コンテンツファイルＣＦ）のキーファイルＫＦ，ＫＦ1 、所定の検証値（ＭＡＣ値）などは記憶されていない。
【０２６９】
図７７は、メディアＳＡＭ１３３がＲＡＭ型の記録媒体に搭載される場合に、メディアＳＡＭ１３３の出荷後のユーザ登録およびコンテンツデータの購入形態決定処理を行ったときにマスクＲＯＭ１２０４および不揮発性メモリ１２０５に格納されているデータを示す図である。
図７３に示すように、メディアＳＡＭ１３３には、ユーザ登録によって、新たに、ユーザＩＤ、パスワード、個人嗜好情報、個人決済情報（クレジットカード番号など）および電子マネー情報などのデータに加えて、キーファイルＫＦの物理アドレス情報（レジスタ空間のアドレス）、各コンテンツデータＣ（コンテンツファイルＣＦ）のキーファイルＫＦ，ＫＦ1 、並びに所定の検証値（ＭＡＣ値）が書き込まれる。
キーファイルＫＦの物理アドレス情報（レジスタ空間のアドレス）、各コンテンツデータＣ（コンテンツファイルＣＦ）のキーファイルＫＦ，ＫＦ1 、並びに所定の検証値（ＭＡＣ値）は、記録用鍵データＫSTR によって暗号化されている。
【０２７０】
＜ＡＶ圧縮・伸長用ＳＡＭ１６３＞
ＡＶ圧縮・伸長用ＳＡＭ１６３は、例えば、図２２を用いて説明した機能を実現する。
図７８は、ＡＶ圧縮・伸長用ＳＡＭ１６３の回路モジュールを説明するための図である。
図７８に示すように、ＡＶ圧縮・伸長用ＳＡＭ１６３は、ＣＰＵ／ＤＳＰ１３００、ＤＭＡ１３０１、マスクＲＯＭ１３０４、不揮発性メモリ１３０５、作業用ＲＡＭ１３０６、共通鍵暗号モジュール１３０８、（真性）乱数発生器１３１０、圧縮・伸長モジュール１３２０、電子透かし情報付加・検出モジュール１３２１および情報半開示制御モジュール１３２２を有する耐タンパ性のハードウェア(Tamper Registant H/W)である。
【０２７１】
ＣＰＵ／ＤＳＰ１３００は、例えば、図６３に示すＳＡＭ１０５1 からの命令に応じて、マスクＲＯＭ１３０４および不揮発性メモリ１３０５に記憶されたプログラムを実行し、ＡＶ圧縮・伸長用ＳＡＭ１６３内の各回路モジュールを統括的に制御する。
ＤＭＡ１３０１は、ＣＰＵ／ＤＳＰ１３００からの命令に応じて、マスクＲＯＭ１３０４、不揮発性メモリ１３０５、作業用ＲＡＭ１３０６に対してのアクセスを統括的に制御する。
マスクＲＯＭ１３０４には、ＡＶ圧縮・伸長用ＳＡＭ１６３の初期化プログラムやインテグリティチェック(Integrity Check) プログラムなどの改変しないプログラムや、ＡＶ圧縮・伸長用ＳＡＭ１６３の識別子であるＡＶＳＡＭ＿ＩＤなどの改変しないデータが製造時に記憶される。
不揮発性メモリ１３０５は、改変する可能性のある例えば暗号化プログラムや鍵データなどを記憶する。
作業用ＲＡＭ１３０６は、ＳＡＭ１０５1 から入力したキーファイルＫＦなどを記憶する。
【０２７２】
共通鍵暗号モジュール１３０８は、ＳＡＭ１０５1 との間の相互認証、相互認証によって得た共通鍵であるセッション鍵データＫSES を用いたコンテンツデータおよびコンテンツ鍵データＫｃなどの暗号化および復号を行う際に用いられる。共通鍵暗号モジュール１３０８は、回路モジュールとして実現してもよいし(H/W IP Solution) 、不揮発性メモリ１３０５に記憶した共通鍵暗号プログラムをＣＰＵ／ＤＳＰ１３００において実行して実現してもよい(S/W IP Solution) 。
また、共通鍵暗号モジュール１３０８は、ＳＡＭ１０５1 から得たコンテンツ鍵データＫｃを用いて、コンテンツデータＣの復号を行う。
乱数発生器１１１０は、例えば、ＳＡＭ１０５1 との間の相互認証処理を行う際に用いられる。
【０２７３】
圧縮・伸長モジュール１３２０は、例えば、図２２に示す伸長部２２３の機能を実現し、図６３に示すダウンロードメモリ１６７およびショックプルーフメモリ１００４から入力したコンテンツデータの伸長処理と、Ａ／Ｄ変換器から入力したコンテンツデータの圧縮処理とを行う。
【０２７４】
電子透かし情報添付・検出モジュール１３２１は、図２２に示す電子透かし情報処理部２２４の機能を実現し、例えば、圧縮・伸長モジュール１３２０の処理対象となるコンテンツデータに対して所定の電子透かし情報を埋め込むと共に、当該コンテンツデータに埋め込まれた電子透かし情報を検出し、圧縮・伸長モジュール１３２０による処理の適否を判断する。
【０２７５】
情報半開示制御モジュール１３２２は、図２２に示す半開示処理部２２５の機能を実現し、必要に応じて、コンテンツデータを半開示状態で再生する。
【０２７６】
＜メディア・ドラブＳＡＭ２６０＞
図７９は、メディア・ドラブＳＡＭ２６０の回路モジュールを説明するための図である。
図７９に示すように、メディア・ドラブＳＡＭ２６０は、ＣＰＵ１４００、ＤＭＡ１４０１、マスクＲＯＭ１４０４、不揮発性メモリ１４０５、作業用ＲＡＭ１４０６、共通鍵暗号モジュール１４０８、ハッシュ関数モジュール１４０９、（真性）乱数発生器１４１０、エンコーダ・デコーダモジュール１４２０、記録用鍵データ生成モジュール１４３０およびメディア・ユニークＩＤ生成モジュール１４４０を有する耐タンパ性のハードウェア(Tamper Registant H/W)である。
【０２７７】
ＣＰＵ１４００は、例えば、図６３に示すドライブＣＰＵ１００３からの命令に応じて、マスクＲＯＭ１４０４および不揮発性メモリ１４０５に記憶されたプログラムを実行し、メディア・ドラブＳＡＭ２６０内の各回路モジュールを統括的に制御する。
ＤＭＡ１４０１は、ＣＰＵ１４００からの命令に応じて、マスクＲＯＭ１４０４、不揮発性メモリ１４０５、作業用ＲＡＭ１４０６に対してのアクセスを統括的に制御する。
マスクＲＯＭ１４０４には、メディア・ドラブＳＡＭ２６０の初期化プログラムやインテグリティチェック(Integrity Check) プログラムなどの改変しないプログラムや、メディア・ドラブＳＡＭ２６０の識別子であるＭＤＳＡＭ＿ＩＤなどの改変しないデータが製造時に記憶される。
不揮発性メモリ１４０５は、改変する可能性のある例えば暗号化プログラムや鍵データなどを記憶する。
作業用ＲＡＭ１４０６は、種々の処理を行う際の作業用メモリとして用いられる。
【０２７８】
共通鍵暗号モジュール１４０８は、メディアＳＡＭ１３３およびＡＶ圧縮・伸長用ＳＡＭ１６３との間の相互認証、相互認証によって得た共通鍵であるセッション鍵データＫSES を用いたコンテンツファイルＣＦおよびキーファイルＫＦなどの暗号化および復号、並びに記録用鍵データＫSTR およびメディア鍵データＫMED を用いたコンテンツ鍵データＫｃの暗号化などを行う際に用いられる。また、共通鍵暗号モジュール１４０８は、共通鍵データと署名の対象となるデータのハッシュ値を用いて、署名データの検証および作成を行う。
共通鍵暗号モジュール１４０８は、回路モジュールとして実現してもよいし(H/W IPSolution)、不揮発性メモリ１４０５に記憶した共通鍵暗号プログラムをＣＰＵ１４００において実行して実現してもよい(S/W IP Solution) 。
なお、記録用鍵データＫSTR を用いたコンテンツ鍵データＫｃの暗号化は、メディア・ドラブＳＡＭ２６０の共通鍵暗号モジュール１４０８およびメディアＳＡＭ１３３の何れで行ってもよい。
ハッシュ関数モジュール１４０９は、署名データの検証、並びに署名データを作成する対象となるデータのハッシュ値を生成する際に用いられる。
乱数発生器１４１０は、例えば、メディアＳＡＭ１３３との間の相互認証処理を行う際に用いられる。
【０２７９】
エンコーダ・デコーダモジュール１４２０は、記録媒体１３０のＲＯＭ領域あるいはＲＡＭ領域に対して、コンテンツデータのアクセスを行う際に、当該コンテンツデータのエンコード処理、デコード処理、ＥＣＣ(Error Correction Code) 処理、変調処理、復調処理、セクタライズ処理およびデセクタライズ処理などを行う。
【０２８０】
記録用鍵データ生成モジュール１４３０は、メディア・ユニークＩＤ生成モジュール１４４０が生成したメディア・ユニークＩＤを用いて、各メディアにユニークな記録用鍵データＫSTR を生成する。
【０２８１】
メディア・ユニークＩＤ生成モジュール１４４０は、メディア・ドラブＳＡＭ２６０で生成したドライブＩＤと、メディアＳＡＭ１３３のメディアＳＡＭ＿ＩＤとから、各記録媒体（メディア）にユニークなメディア・ユニークＩＤを生成する。
【０２８２】
以下、図１に示すＥＭＤシステム１００の全体動作について説明する。
図８０は、コンテンツプロバイダ１０１の全体動作のフローチャートである。  ステップＳ１：ＥＭＤサービスセンタ１０２は、コンテンツプロバイダ１０１が所定の登録処理を経た後に、コンテンツプロバイダ１０１の公開鍵データＫCP,Pの公開鍵証明書ＣＥＲCPをコンテンツプロバイダ１０１に送信する。
また、ＥＭＤサービスセンタ１０２は、ＳＡＭ１０５1 〜１０５4 が所定の登録処理を経た後に、ＳＡＭ１０５1 〜１０５4 の公開鍵データＫSAM1,P〜ＫSAM4,Pの公開鍵証明書ＣＥＲCP1 〜ＣＥＲCP4 をＳＡＭ１０５1 〜１０５4 に送信する。
また、ＥＭＤサービスセンタ１０２は、相互認証を行った後に、各々有効期限が１カ月の３カ月分のライセンス鍵データＫＤ1 〜ＫＤ3 をユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５4 に送信する。
このように、ＥＭＤシステム１００では、ライセンス鍵データＫＤ1 〜ＫＤ3
を予めＳＡＭ１０５1 〜１０５4 に配給しているため、ＳＡＭ１０５1 〜１０５4 とＥＭＤサービスセンタ１０２との間がオフラインの状態でも、ＳＡＭ１０５1 〜１０５4 においてコンテンツプロバイダ１０１から配給されたセキュアコンテナ１０４を復号して購入・利用できる。この場合に、当該購入・利用の履歴は利用履歴データ１０８に記述され、利用履歴データ１０８は、ＳＡＭ１０５1 〜１０５4 とＥＭＤサービスセンタ１０２とが接続されたときに、ＥＭＤサービスセンタ１０２に自動的に送信されるため、ＥＭＤサービスセンタ１０２における決済処理を確実に行うことができる。なお、ＥＭＤサービスセンタ１０２が、所定の期間内に、利用履歴データ１０８を回収できないＳＡＭについては、リボケーションリストで無効の対象とする。
なお、利用制御状態データ１６６は、原則として、リアルタイムで、ＳＡＭ１０５1 〜１０５4 からＥＭＤサービスセンタ１０２に送信される。
【０２８３】
ステップＳ２：コンテンツプロバイダ１０１は、ＥＭＤサービスセンタ１０２との間で相互認証を行った後に、権利書データ１０６およびコンテンツ鍵データＫｃをＥＭＤサービスセンタ１０２に登録して権威化する。
また、ＥＭＤサービスセンタ１０２は、６カ月分のキーファイルＫＦを作成し、これをコンテンツプロバイダ１０１に送信する。
【０２８４】
ステップＳ３：コンテンツプロバイダ１０１は、図３（Ａ），（Ｂ）に示すコンテンツファイルＣＦおよびその署名データＳＩＧ6,CPと、キーファイルＫＦおよびその署名データＳＩＧ7,CPとを作成し、これらと図３（Ｃ）に示す公開鍵証明書データＣＥＲcpおよびその署名データＳＩＧ1,ESC とを格納したセキュアコンテナ１０４を、オンラインおよび／またはオフラインで、ユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５4 に配給する。
オンラインの場合には、コンテンツプロバイダ用配送プロトコルを用いられ、当該プロトコルに依存しない形式で（すなわち、複数階層からなる通信プロトコルの所定の層を用いて伝送されるデータとして）、セキュアコンテナ１０４がコンテンツプロバイダ１０１からユーザホームネットワーク１０３に配送される。また、オフラインの場合には、ＲＯＭ型あるいはＲＡＭ型の記録媒体に記録された状態で、セキュアコンテナ１０４が、コンテンツプロバイダ１０１からユーザホームネットワーク１０３に配送される。
【０２８５】
ステップＳ４：ユーザホームネットワーク１０３のＳＡＭ１０５1 〜ＳＡＭ１０５4 は、コンテンツプロバイダ１０１から配給を受けたセキュアコンテナ１０４内の署名データＳＩＧ6,CP，ＳＩＧ7,CP，ＳＩＧK1,ESCを検証して、コンテンツファイルＣＦおよびキーファイルＫＦの作成者および送信者の正当性を確認した後に、対応する期間のライセンス鍵データＫＤ1 〜ＫＤ6 を用いてキーファイルＫＦを復号する。
【０２８６】
ステップＳ５：ＳＡＭ１０５1 〜ＳＡＭ１０５4 において、ユーザによる図２２に示す操作部１６５の操作に応じたホストＣＰＵ８１０からの内部割り込みＳ８１０に基づいて、購入・利用形態を決定する。
このとき、図３７に示す利用監視部１８６において、セキュアコンテナ１０４に格納された権利書データ１０６に基づいて、ユーザによるコンテンツファイルＣＦの購入・利用形態が管理される。
【０２８７】
ステップＳ６：ＳＡＭ１０５1 〜ＳＡＭ１０５4 の図３７に示す課金処理部１８７において、ユーザによる購入・利用形態の決定の操作を記述した利用履歴データ１０８および利用制御状態データ１６６が生成し、これらをＥＭＤサービスセンタ１０２に送信する。
【０２８８】
ステップＳ７：ＥＭＤサービスセンタ１０２は、利用履歴データ１０８に基づいて決済処理を行い、決済請求権データ１５２および決済レポートデータ１０７を作成する。ＥＭＤサービスセンタ１０２は、決済請求権データ１５２およびその署名データＳＩＧ99を、図１に示すペイメントゲートウェイ９０を介して、決済機関９１に送信する。また、ＥＭＤサービスセンタ１０２は、決済レポートデータ１０７をコンテンツプロバイダ１０１に送信する。
【０２８９】
ステップＳ８：  決済機関９１において、署名データＳＩＧ99の検証を行った後に、決済請求権データ１５２に基づいて、ユーザが支払った金額が、コンテンツプロバイダ１０１の所有者に分配される。
【０２９０】
以上説明したように、ＥＭＤシステム１００では、図３に示すフォーマットのセキュアコンテナ１０４をコンテンツプロバイダ１０１からユーザホームネットワーク１０３に配給し、セキュアコンテナ１０４内のキーファイルＫＦについての処理をＳＡＭ１０５1 〜１０５4 内で行う。
また、キーファイルＫＦに格納されたコンテンツ鍵データＫｃおよび権利書データ１０６は、配信鍵データＫＤ1 〜ＫＤ3 を用いて暗号化されており、配信鍵データＫＤ1 〜ＫＤ3 を保持しているＳＡＭ１０５1 〜１０５4 内でのみ復号される。そして、ＳＡＭ１０５1 〜１０５4 では、耐タンパ性を有するモジュールであり、権利書データ１０６に記述されたコンテンツデータＣの取り扱い内容に基づいて、コンテンツデータＣの購入形態および利用形態が決定される。
従って、ＥＭＤシステム１００によれば、ユーザホームネットワーク１０３におけるコンテンツデータＣの購入および利用を、コンテンツプロバイダ１０１の関係者が作成した権利書データ１０６の内容に基づいて確実に行わせることができる。
【０２９１】
また、ＥＭＤシステム１００では、コンテンツプロバイダ１０１からユーザホームネットワーク１０３へのコンテンツデータＣの配給を、オンラインおよびオフラインの何れの場合でもセキュアコンテナ１０４を用いて行うことで、ＳＡＭ１０５1 〜１０５4 におけるコンテンツデータＣの権利処理を双方の場合において共通化できる。
【０２９２】
また、ＥＭＤシステム１００では、ユーザホームネットワーク１０３内のネットワーク機器１６０1 およびＡＶ機器１６０2 〜１６０4 においてコンテンツデータＣを購入、利用、記録および転送する際に、常に権利書データ１０６に基づいて処理を行うことで、共通の権利処理ルールを採用できる。
【０２９３】
図８１は、第１実施形態で採用されるセキュアコンテナの配送プロトコルの一例を説明するための図である。
図８１に示すように、マルチプロセッサシステム１００では、コンテンツプロバイダ１０１からユーザホームネットワーク１０３にセキュアコンテナ１０４を配送するプロトコルとして例えばＴＣＰ／ＩＰおよびＸＭＬ／ＳＭＩＬが用いられる。
また、ユーザホームネットワーク１０３のＳＡＭ相互間でセキュアコンテナを転送するプロトコル、並びにユーザホームネットワーク１０３と１０３ａとの間でセキュアコンテナを転送するプロトコルとして例えば１３９４シリアルバス・インタフェース上に構築されたＸＭＬ／ＳＭＩＬが用いられる。また、この場合に、ＲＯＭ型やＲＡＭ型の記録媒体にセキュアコンテナを記録してＳＡＭ相互間で配送してもよい。
【０２９４】
第２実施形態
上述した実施形態では、コンテンツプロバイダ１０１からユーザホームネットワーク１０３のＳＡＭ１０５1 〜１０５4 にコンテンツデータを直接配給する場合を例示したが、本実施形態では、コンテンツプロバイダが提供するコンテンツデータを、サービスプロバイダを介してユーザホームネットワークのＳＡＭに配給する場合について説明する。
【０２９５】
図８２は、本実施形態のＥＭＤシステム３００の構成図である。
図８２に示すように、ＥＭＤシステム３００は、コンテンツプロバイダ３０１、ＥＭＤサービスセンタ３０２、ユーザホームネットワーク３０３、サービスプロバイダ３１０、ペイメントゲートウェイ９０および決済機関９１を有する。
コンテンツプロバイダ３０１、ＥＭＤサービスセンタ３０２、ＳＡＭ３０５1
〜３０５4 およびサービスプロバイダ３１０は、それぞれ本発明のデータ提供装置、管理装置、データ処理装置およびデータ配給装置に対応している。
コンテンツプロバイダ３０１は、サービスプロバイダ３１０に対してコンテンツデータを供給する点を除いて、前述した第１実施形態のコンテンツプロバイダ１０１と同じである。
また、ＥＭＤサービスセンタ３０２は、コンテンツプロバイダ１０１およびＳＡＭ５０５1 〜５０５4 に加えて、サービスプロバイダ３１０に対しても認証機能、鍵データ管理機能および権利処理機能を有する点を除いて、前述した第１実施形態のＥＭＤサービスセンタ１０２と同じである。
また、ユーザホームネットワーク３０３は、ネットワーク機器３６０1 およびＡＶ機器３６０2 〜３６０4 を有している。ネットワーク機器３６０1 はＳＡＭ３０５1 およびＣＡモジュール３１１を内蔵しており、ＡＶ機器３６０2 〜３６０4 はそれぞれＳＡＭ３０５2 〜３０５4 を内蔵している。
ここで、ＳＡＭ３０５1 〜３０５4 は、サービスプロバイダ３１０からセキュアコンテナ３０４の配給を受ける点と、コンテンツプロバイダ３０１に加えてサービスプロバイダ３１０についての署名データの検証処理およびＳＰ用購入履歴データ（データ配給装置用購入履歴データ）３０９の作成を行なう点とを除いて、前述した第１実施形態のＳＡＭ１０５1 〜１０５4 と同じである。
【０２９６】
先ず、ＥＭＤシステム３００の概要について説明する。
ＥＭＤシステム３００では、コンテンツプロバイダ３０１は、自らが提供しようとするコンテンツのコンテンツデータＣの使用許諾条件などの権利内容を示す前述した第１実施形態と同様の権利書(UCP:Usage Control Policy)データ１０６およびコンテンツ鍵データＫｃを、高い信頼性のある権威機関であるＥＭＤサービスセンタ３０２に送信する。権利書データ１０６およびコンテンツ鍵データＫｃは、ＥＭＤサービスセンタ３０２に登録されて権威化（認証）される。
【０２９７】
また、コンテンツプロバイダ３０１は、コンテンツ鍵データＫｃでコンテンツデータＣを暗号化してコンテンツファイルＣＦを生成する。また、コンテンツプロバイダ３０１は、ＥＭＤサービスセンタ３０２から、各コンテンツファイルＣＦについて、それぞれ６か月分のキーファイルＫＦを受信する。
当該キーファイルＫＦ内には、当該キーファイルＫＦの改竄の有無、当該キーファイルＫＦの作成者および送信者の正当性を検証するための署名データが格納されている。
そして、コンテンツプロバイダ３０１は、コンテンツファイルＣＦ、キーファイルＫＦおよび自らの署名データとを格納した図３に示すセキュアコンテナ１０４を、インターネットなどのネットワーク、デジタル放送、記録媒体あるいは非公式なプロトコルを用いてあるいはオフラインなどでサービスプロバイダ３１０に供給する。
また、セキュアコンテナ１０４に格納された署名データは、対応するデータの改竄の有無、当該データの作成者および送信者の正当性を検証するために用いられる。
【０２９８】
サービスプロバイダ３１０は、コンテンツプロバイダ３０１からセキュアコンテナ１０４を受け取ると、署名データの検証を行なって、セキュアコンテナ１０４の作成者および送信者の確認する。
次に、サービスプロバイダ３１０は、例えばオフラインで通知されたコンテンツプロバイダ３０１が希望するコンテンツに対しての価格（ＳＲＰ）に、自らが行ったオーサリングなどのサービスに対しての価格を加算した価格を示すプライスタグデータ（ＰＴ：本発明の価格データ）３１２を作成する。
そして、サービスプロバイダ３１０は、セキュアコンテナ１０４から取り出したコンテンツファイルＣＦおよびキーファイルＫＦと、プライスタグデータ３１２と、これらに対しての自らの秘密鍵データＫSP,Sによる署名データとを格納したセキュアコンテナ３０４を作成する。
このとき、キーファイルＫＦは、ライセンス鍵データＫＤ1 〜ＫＤ6 によって暗号化されており、サービスプロバイダ３１０は当該ライセンス鍵データＫＤ1
〜ＫＤ6 を保持していないため、サービスプロバイダ３１０はキーファイルＫＦの中身を見たり、書き換えたりすることはできない。
また、ＥＭＤサービスセンタ３０２は、プライスタグデータ３１２を登録して権威化する。
【０２９９】
サービスプロバイダ３１０は、オンラインおよび／またはオフラインでセキュアコンテナ３０４をユーザホームネットワーク３０３に配給する。
このとき、オフラインの場合には、セキュアコンテナ３０４はＲＯＭ型の記録媒体などに記録されてＳＡＭ３０５1 〜３０５4 にそのまま供給される。一方、オンラインの場合には、サービスプロバイダ３１０とＣＡモジュール３１１との間で相互認証を行い、セキュアコンテナ３０４をサービスプロバイダ３１０においてセッション鍵データＫSES を用いた暗号化して送信し、ＣＡモジュール３１１において受信したセキュアコンテナ３０４をセッション鍵データＫSES を用いて復号した後に、ＳＡＭ３０５1 〜３０５4 に転送する。
この場合に、コンテンツプロバイダ３０１からユーザホームネットワーク３０３にセキュアコンテナ３０４を送信する通信プロコトルとして、デジタル放送であればＭＨＥＧ(Multimedia and Hypermedia information coding Experts Group)プロトコルが用いられ、インターネットであればＸＭＬ／ＳＭＩＬ／ＨＴＭＬ(Hyper TextMarkup Language) が用いられ、これらの通信プロトコル内に、セキュアコンテナ３０４が、当該通信プロトコル（符号化方式など）に依存しない形式でトンネリングして埋め込まれる。
従って、通信プロコトルとセキュアコンテナ３０４との間でフォーマットの整合性をとる必要性はなく、セキュアコンテナ３０４のフォーマットを柔軟に設定できる。
【０３００】
次に、ＳＡＭ３０５1 〜３０５4 において、セキュアコンテナ３０４内に格納された署名データを検証して、セキュアコンテナ３０４に格納されたコンテンツファイルＣＦおよびキーファイルＫＦの作成者および送信者の正当性を確認する。そして、ＳＡＭ３０５1 〜３０５4 において、当該正当性が確認されると、ＥＭＤサービスセンタ３０２から配給された対応する期間のライセンス鍵データＫＤ1 〜ＫＤ3 を用いてキーファイルＫＦを復号する。
ＳＡＭ３０５1 〜３０５4 に供給されたセキュアコンテナ３０４は、ネットワーク機器３６０1 およびＡＶ機器３６０2 〜３６０4 において、ユーザの操作に応じて購入・利用形態が決定された後に、再生や記録媒体への記録などの対象となる。
ＳＡＭ３０５1 〜３０５4 は、上述したセキュアコンテナ３０４の購入・利用の履歴を利用履歴(Usage Log) データ３０８として記録する。
利用履歴データ（履歴データまたは管理装置用履歴データ）３０８は、例えば、ＥＭＤサービスセンタ３０２からの要求に応じて、ユーザホームネットワーク３０３からＥＭＤサービスセンタ３０２に送信される。
また、ＳＡＭ３０５1 〜３０５4 は、コンテンツの購入形態が決定されると、当該購入形態を示す利用制御データ（ＵＣＳ:Usage control state Data ）１６６をＥＭＤサービスセンタ３０２に送信する。
【０３０１】
ＥＭＤサービスセンタ３０２は、利用履歴データ３０８に基づいて、コンテンツプロバイダ３０１およびサービスプロバイダ３１０の各々について、課金内容を決定（計算）し、その結果に基づいて、ペイメントゲートウェイ９０を介して銀行などの決済機関９１に決済を行なう。これにより、ユーザホームネットワーク１０３のユーザが支払った金銭が、ＥＭＤサービスセンタ１０２による決済処理によって、コンテンツプロバイダ１０１およびサービスプロバイダ３１０に分配される。
【０３０２】
本実施形態では、ＥＭＤサービスセンタ３０２は、認証機能、鍵データ管理機能および権利処理（利益分配）機能を有している。
すなわち、ＥＭＤサービスセンタ３０２は、中立の立場にある最高の権威機関であるルート認証局９２に対してのセカンド認証局(Second Certificate Authority)としての役割を果たし、コンテンツプロバイダ３０１、サービスプロバイダ３１０およびＳＡＭ３０５1 〜３０５4 において署名データの検証処理に用いられる公開鍵データの公開鍵証明書データに、ＥＭＤサービスセンタ３０２の秘密鍵データによる署名を付けることで、当該公開鍵データの正当性を認証する。また、前述したように、コンテンツプロバイダ３０１の権利書データ１０６、コンテンツ鍵データＫｃおよびサービスプロバイダ３１０のプライスタグデータ３１２を登録して権威化することも、ＥＭＤサービスセンタ３０２の認証機能によるものである。
また、ＥＭＤサービスセンタ３０２は、例えば、ライセンス鍵データＫＤ1 〜ＫＤ6 などの鍵データの管理を行なう鍵データ管理機能を有する。
また、ＥＭＤサービスセンタ３０２は、コンテンツプロバイダ３０１が登録した権利書データ１０６とＳＡＭ３０５1 〜ＳＡＭ３０５4 から入力した利用履歴データ３０８とサービスプロバイダ３１０が登録したプライスタグデータ３１２とに基づいて、ユーザホームネットワーク３０３のユーザによるコンテンツの購入・利用に対して決済を行い、ユーザが支払った金銭をコンテンツプロバイダ３０１およびサービスプロバイダ３１０に分配して支払う権利処理（利益分配）機能を有する。
【０３０３】
以下、コンテンツプロバイダ３０１の各構成要素について詳細に説明する。
〔コンテンツプロバイダ３０１〕
コンテンツプロバイダ３０１は、図３に示すセキュアコンテナ１０４をオンラインあるいはオフラインでサービスプロバイダ３１０に提供する点を除いて、前述した第１実施形態のコンテンツプロバイダ１０１と同じである。
すなわち、コンテンツプロバイダ３０１は、前述した図１７〜図１９に示す手順でセキュアコンテナ１０４を作成し、セキュアコンテナ１０４を、コンテンツプロバイダ用商品配送プロトコルに挿入する。
そして、サービスプロバイダ３１０が、ダウンロードを行って、コンテンツプロバイダ用商品配送プロトコルからセキュアコンテナ１０４を取り出す。
【０３０４】
〔サービスプロバイダ３１０〕
サービスプロバイダ３１０は、コンテンツプロバイダ３０１から提供を受けたセキュアコンテナ１０４内のコンテンツファイルＣＦおよびキーファイルＫＦと、自らが生成したプライスタグデータ３１２とを格納したセキュアコンテナ３０４を作成し、ユーザホームネットワーク３０３のネットワーク機器３６０1 およびＡＶ機器３６０2 〜３６０4 にセキュアコンテナ３０４をオンラインおよび／またはオフラインで配給する。
サービスプロバイダ３１０によるコンテンツ配給のサービス形態には、大きく分けて、独立型サービスと連動型サービスとがある。
独立型サービスは、例えば、コンテンツを個別に配給するダウンロード専用のサービスである。また、連動型サービスは、番組、ＣＭ（広告）に連動してコンテンツを配給するサービスであり、例えば、ドラマ番組のストリーム内にドラマの主題歌や挿入歌のコンテンツが格納してある。ユーザは、ドラマ番組を見ているときに、そのストリーム中にある主題歌や挿入歌のコンテンツを購入できる。
【０３０５】
サービスプロバイダ３１０は、コンテンツプロバイダ３０１からセキュアコンテナ１０４の提供を受けると、以下に示す処理を行ってセキュアコンテナ３０４を作成する。
以下、コンテンツプロバイダ３０１から供給を受けたセキュアコンテナ１０４からセキュアコンテナ３０４を作成し、これをユーザホームネットワーク３０３に配給する際のサービスプロバイダ３１０内での処理の流れを図８３を参照しながら説明する。
図８３は、サービスプロバイダ３１０からユーザホームネットワーク３０３にセキュアコンテナ３０４を配給する処理を説明するためのフローチャートである。
＜ステップＳ８３−１＞
サービスプロバイダ３１０は、オンラインおよび／またはオフラインで、コンテンツプロバイダ３０１から図３に示すセキュアコンテナ１０４の供給を受け、これを格納する。
このとき、オンラインの場合には、コンテンツプロバイダ３０１とサービスプロバイダ３１０との間の相互認証によって得られたセッション鍵データＫSES を用いて、セキュアコンテナ１０４を復号する。
＜ステップＳ８３−２＞
サービスプロバイダ３１０は、セキュアコンテナ１０４の図３（Ｃ）に示す署名データＳＩＧ1,ESC を、ＥＭＤサービスセンタ３０２の公開鍵データＫESC,P
を用いて検証し、その正当性が認められた後に、図３（Ｃ）に示す公開鍵証明書データＣＥＲCPから公開鍵データＫCP,Pを取り出す。
次に、サービスプロバイダ３１０は、当該取り出した公開鍵データＫCP,Pを用いて、セキュアコンテナ１０４の図３（Ａ），（Ｂ）に示す署名データＳＩＧ6,CP，ＳＩＧ7,CPの検証、すなわちコンテンツファイルＣＦの作成者および送信者と、キーファイルＫＦの送信者との正当性の検証を行う。
また、サービスプロバイダ３１０は、公開鍵データＫESC,P を用いて、図３（Ｂ）に示すキーファイルＫＦに格納された署名データＳＩＧK1,ESCの検証、すなわちキーファイルＫＦの作成者の正当性の検証を行う。このとき、署名データＳＩＧK1,ESCの検証は、キーファイルＫＦがＥＭＤサービスセンタ３０２に登録されているか否かの検証も兼ねている。
【０３０６】
＜ステップＳ８３−３＞
サービスプロバイダ３１０は、例えばコンテンツプロバイダ３０１からオフラインで通知されたコンテンツプロバイダ３０１が要求するコンテンツに対しての価格に、自らのサービスの価格を加算した価格を示すプライスタグデータ３１２を作成する。
また、サービスプロバイダ３１０は、コンテンツファイルＣＦ、キーファイルＫＦおよびプライスタグデータ３１２のハッシュ値をとり、サービスプロバイダ３１０の秘密鍵データＫSP,Pを用いて、署名データＳＩＧ62,SP ，ＳＩＧ63,SP
，ＳＩＧ64,SP を作成する。
ここで、署名データＳＩＧ62,SP はコンテンツファイルＣＦの送信者の正当性を検証するために用いられ、署名データＳＩＧ63,SP はキーファイルＫＦの送信者の正当性を検証するために用いられ、署名データＳＩＧ64,SP はプライスタグデータ３１２の作成者および送信者の正当性を検証するために用いられる。
【０３０７】
次に、サービスプロバイダ３１０は、図８４（Ａ）〜（Ｄ）に示すように、コンテンツファイルＣＦおよびその署名データＳＩＧ6,CP，ＳＩＧ62,SP と、キーファイルＫＦおよびその署名データＳＩＧ7,CP，ＳＩＧ63,ESCと、プライスタグデータ３１２およびその署名データＳＩＧ64,SP と、公開鍵証明書データＣＥＲSPおよびその署名データＳＩＧ61,ESCと、公開鍵証明書データＣＥＲCPおよびその署名データＳＩＧ1,ESC とを格納したセキュアコンテナ３０４を作成し、セキュアコンテナデータベースに格納する。
セキュアコンテナデータベースに格納されたセキュアコンテナ３０４は、例えば、コンテンツＩＤなどを用いてサービスプロバイダ３１０によって一元的に管理される。
なお、図８４（Ａ）は、コンテンツデータＣを伸長するＡＶ圧縮伸長用装置として、ＤＳＰ(Digital Signal Processor)を用いた場合のコンテンツファイルＣＦの構成である。当該ＤＳＰでは、セキュアコンテナ３０４内のＡ／Ｖ伸長用ソフトウェアおよび電子透かし情報モジュールを用いて、セキュアコンテナ１０４内のコンテンツデータＣの伸長および電子透かし情報の埋め込みおよび検出を行う。そのため、コンテンツプロバイダ３０１は任意の圧縮方式および電子透かし情報の埋め込み方式を採用できる。
ＡＶ圧縮伸長用装置としてＡ／Ｖ伸長処理および電子透かし情報の埋め込み・検出処理をハードウェアあるいは予め保持されたソフトウェアを用いて行う場合には、コンテンツファイルＣＦ内にＡ／Ｖ伸長用ソフトウェアおよび電子透かし情報モジュールを格納しなくてもよい。
【０３０８】
＜ステップＳ８３−４＞
サービスプロバイダ３１０は、ユーザホームネットワーク３０３からの要求に応じたセキュアコンテナ３０４をセキュアコンテナデータベースから読み出す。
このとき、セキュアコンテナ３０４は、複数のコンテンツファイルＣＦと、それらにそれぞれ対応した複数のキーファイルＫＦとを格納した複合コンテナであってもよい。例えば、単数のセキュアコンテナ３０４内に、それぞれ曲、ビデオクリップ、歌詞カード、ライナーノーツおよびジャケットに関する複数のコンテンツファイルＣＦを単数のセキュアコンテナ３０４に格納してもよい。これらの複数のコンテンツファイルＣＦなどは、ディレクトリー構造でセキュアコンテナ３０４内に格納してもよい。
【０３０９】
また、セキュアコンテナ３０４は、デジタル放送で送信される場合には、ＭＨＥＧ(Multimedia and Hypermedia information coding Experts Group)プロトコルが用いられ、インターネットで送信される場合にはＸＭＬ／ＳＭＩＬ／ＨＴＭＬ(Hyper TextMarkup Language) プロトコルが用いられる。
このとき、セキュアコンテナ３０４内のコンテンツファイルＣＦおよびキーファイルＫＦなどは、ＭＨＥＧおよびＨＴＭＬのプロトコルをトンネリングした符号化方式に依存しない形式で、サービスプロバイダ３１０とユーザホームネットワーク３０３との間で採用される通信プロトコル内の所定の階層に格納される。
【０３１０】
例えば、セキュアコンテナ３０４をデジタル放送で送信する場合には、図８５に示すように、コンテンツファイルＣＦが、ＭＨＥＧオブジェクト(Object)内のＭＨＥＧコンテンツデータとして格納される。
また、ＭＨＥＧオブジェクトは、トランスポート層プロコトルにおいて、動画である場合にはＰＥＳ(Packetized Elementary Stream)−Ｖｉｄｅｏに格納され、音声である場合にはＰＥＳ−Ａｕｄｉｏに格納され、静止画である場合にはＰｒｉｖａｔｅ−Ｄａｔａに格納される。
また、図８６に示すように、キーファイルＫＦ、プライスタグデータ３１２および公開鍵証明書データＣＥＲCP，ＣＥＲSPは、トランスポート層プロトコルのTS Packet 内のＥＣＭ(Entitlement Control Message) に格納される。
ここで、コンテンツファイルＣＦ、キーファイルＫＦ、プライスタグデータ３１２および公開鍵証明書データＣＥＲCP，ＣＥＲSPは、コンテンツファイルＣＦのヘッダ内のディレクトリ構造データＤＳＤ1 によって相互間のリンクが確立されている。
【０３１１】
次に、サービスプロバイダ３１０は、セキュアコンテナ３０４を、オフラインおよび／またはオンラインでユーザホームネットワーク３０３に供給する。
サービスプロバイダ３１０は、セキュアコンテナ３０４をオンラインでユーザホームネットワーク３０３のネットワーク機器３６０1 に配信する場合には、相互認証後に、セッション鍵データＫSES を用いてセキュアコンテナ３０４を暗号化した後に、ネットワークを介してネットワーク機器３６０1 に配信する。
【０３１２】
なお、サービスプロバイダ３１０は、セキュアコンテナ３０４を例えば衛星などを介して放送する場合には、セキュアコンテナ３０４をスクランブル鍵データＫSCR を用いて暗号化する。また、スクランブル鍵データＫSCR をワーク鍵データＫW を暗号化し、ワーク鍵データＫW をマスタ鍵データＫM を用いて暗号化する。
そして、サービスプロバイダ３１０は、セキュアコンテナ３０４と共に、スクランブル鍵データＫSCR およびワーク鍵データＫW を、衛星を介してユーザホームネットワーク３０３に送信する。
また、例えば、マスタ鍵データＫM を、ＩＣカードなどに記憶してオフラインでユーザホームネットワーク３０３に配給する。
【０３１３】
また、サービスプロバイダ３１０は、ユーザホームネットワーク３０３から、当該サービスプロバイダ３１０が配給したコンテンツデータＣに関してのＳＰ用購入履歴データ３０９を受信すると、これを格納する。
サービスプロバイダ３１０は、将来のサービス内容を決定する際に、ＳＰ用購入履歴データ３０９を参照する。また、サービスプロバイダ３１０は、ＳＰ用購入履歴データ３０９に基づいて、当該ＳＰ用購入履歴データ３０９を送信したＳＡＭ３０５1 〜３０５4 のユーザの嗜好を分析してユーザ嗜好フィルタデータ９００を生成し、これをユーザホームネットワーク３０３のＣＡモジュール３１１に送信する。
【０３１４】
また、サービスプロバイダ３１０の関係者は、例えば、自らの身分証明書および決済処理を行う銀行口座などを用いて、オフラインで、ＥＭＤサービスセンタ３０２に登録処理を行い、グローバルユニークな識別子ＳＰ＿ＩＤを得ている。
【０３１５】
また、サービスプロバイダ３１０は、ＥＭＤサービスセンタ３０２にプライスタグデータ３１２を登録して権威化してる。
【０３１６】
〔ＥＭＤサービスセンタ３０２〕
ＥＭＤサービスセンタ３０２は、前述したように、認証局（ＣＡ:Certificate Authority) 、鍵管理(Key Management)局および権利処理(Rights Clearing) 局としての役割を果たす。
図８７は、ＥＭＤサービスセンタ３０２の主な機能を示す図である。
図８７に示すように、ＥＭＤサービスセンタ３０２は、主に、ライセンス鍵データをコンテンツプロバイダ３０１およびＳＡＭ３０５1 〜３０５4 に供給する処理と、公開鍵証明書データＣＥＲCP，ＣＥＲSP，ＣＥＲSAM1〜ＣＥＲSAM4の発行処理と、キーファイルＫＦの発行処理、利用履歴データ３０８に基づいた決済処理（利益分配処理）とを行う。
ここで、ライセンス鍵データの供給処理と、公開鍵証明書データＣＥＲCP，ＣＥＲSAM1〜ＣＥＲSAM4の発行処理と、キーファイルＫＦの生成処理とは、第１実施形態のＥＭＤサービスセンタ１０２と同じである。
【０３１７】
ＥＭＤサービスセンタ３０２は、ＥＭＤサービスセンタ１０２とは異なり、さらにサービスプロバイダ３１０の公開鍵証明書データＣＥＲSPの発行処理を行う。
また、ＥＭＤサービスセンタ３０２は、利用履歴データ３０８に基づいて、ＳＡＭ３０５1 〜３０５4 におけるコンテンツデータＣの購入によって支払われた利益をコンテンツプロバイダ３０１およびサービスプロバイダ３１０の関係者に分配する利益分配処理を行う。
ここで、利用履歴データ３０８の内容は、例えば図２１に示される。
【０３１８】
また、ＥＭＤサービスセンタ３０２は、利用履歴データ３０８に基づいて、当該利用履歴データ３０８を送信したＳＡＭ３０５1 〜３０５4 のユーザの嗜好に応じたコンテンツデータＣを選択するためのユーザ嗜好フィルタデータ９０３を生成し、ユーザ嗜好フィルタデータ９０３をＳＡＭ管理部１４９を介して、当該利用履歴データ３０８を送信したＳＡＭ３０５1 〜３０５4 に送信する。
【０３１９】
〔ユーザホームネットワーク３０３〕
ユーザホームネットワーク３０３は、図８２に示すように、ネットワーク機器３６０1 およびＡ／Ｖ機器３６０2 〜３６０4 を有している。
ネットワーク機器３６０1 は、ＣＡモジュール３１１およびＳＡＭ３０５1 を内蔵している。また、ＡＶ機器３６０2 〜３６０4 は、それぞれＳＡＭ３０５2
〜３０５4 を内蔵している。  
ＳＡＭ３０５1 〜３０５4 の相互間は、例えば、１３９４シリアルインタフェースバスなどのバス１９１を介して接続されている。
なお、ＡＶ機器３６０2 〜３６０4 は、ネットワーク通信機能を有していてもよいし、ネットワーク通信機能を有しておらず、バス１９１を介してネットワーク機器３６０1 のネットワーク通信機能を利用してもよい。
また、ユーザホームネットワーク３０３は、ネットワーク機能を有していないＡＶ機器のみを有していてもよい。
【０３２０】
以下、ネットワーク機器３６０1 について説明する。
図８８は、ネットワーク機器３６０1 の構成図である。
図８８に示すように、ネットワーク機器３６０1 は、通信モジュール１６２、ＣＡモジュール３１１、復号モジュール９０５、ＳＡＭ３０５1 、ＡＶ圧縮・伸長用ＳＡＭ１６３、操作部１６５、ダウンロードメモリ１６７、再生モジュール１６９、外部メモリ２０１およびホストＣＰＵ８１０を有する。
図８８において、図２２と同一符号を付した構成要素は、第１実施形態で説明した同一符号の構成要素と同じである。
【０３２１】
通信モジュール１６２は、サービスプロバイダ３１０との間の通信処理を行なう。
具体的には、通信モジュール１６２は、サービスプロバイダ３１０から衛星放送などで受信したセキュアコンテナ３０４を復号モジュール９０５に出力する。また、通信モジュール１６２は、サービスプロバイダ３１０から電話回線などを介して受信したユーザ嗜好フィルタデータ９００をＣＡモジュール３１１に出力すると共に、ＣＡモジュール３１１から入力したＳＰ用購入履歴データ３０９を電話回線などを介してサービスプロバイダ３１０に送信する。
【０３２２】
図８９は、ＣＡモジュール３１１および復号モジュール９０５の機能ブロック図である。
図８９に示すように、ＣＡモジュール３１１は、相互認証部９０６、記憶部９０７、暗号化・復号部９０８およびＳＰ用購入履歴データ生成部９０９を有する。
相互認証部９０６は、ＣＡモジュール３１１とサービスプロバイダ３１０との間で電話回線を介してデータを送受信する際に、サービスプロバイダ３１０との間で相互認証を行ってセッション鍵データＫSES を生成し、これを暗号化・復号部９０８に出力する。
【０３２３】
記憶部９０７は、例えば、サービスプロバイダ３１０とユーザとの間で契約が成立した後に、サービスプロバイダ３１０からＩＣカード９１２などを用いてオフラインで供給されたマスタ鍵データＫM を記憶する。
【０３２４】
暗号化・復号部９０８は、復号モジュール９０５の復号部９１０からそれぞれ暗号化されたスクランブル鍵データＫSCR およびワーク鍵データＫW を入力し、記憶部９０７から読み出したマスタ鍵データＫM を用いてワーク鍵データＫW を復号する。そして、暗号化・復号部９０８は、当該復号したワーク鍵データＫW
を用いてスクランブル鍵データＫSCR を復号し、当該復号したスクランブル鍵データＫSCR を復号部９１０に出力する。
また、暗号化・復号部９０８は、電話回線などを介して通信モジュール１６２がサービスプロバイダ３１０から受信したユーザ嗜好フィルタデータ９００を、相互認証部９０６からのセッション鍵データＫSES を用いて復号して復号モジュール９０５のセキュアコンテナ選択部９１１に出力する。
また、暗号化・復号部９０８は、ＳＰ用購入履歴データ生成部９０９から入力したＳＰ用購入履歴データ３０９を、相互認証部９０６からのセッション鍵データＫSES を用いて復号して通信モジュール１６２を介してサービスプロバイダ３１０に送信する。
【０３２５】
ＳＰ用購入履歴データ生成部９０９は、図８８に示す購入・利用形態決定操作部１６５を用いてユーザによるコンテンツデータＣの購入操作に応じた操作信号Ｓ１６５、またはＳＡＭ３０５1 からの利用制御データ１６６に基づいて、サービスプロバイダ３１０に固有のコンテンツデータＣの購入履歴を示すＳＰ用購入履歴データ３０９を生成し、これを暗号化・復号部９０８に出力する。
ＳＰ用購入履歴データ３０９は、例えば、サービスプロバイダ３１０が配信サービスに関してユーザから徴収したい情報、月々の基本料金（ネットワーク家賃）、契約（更新）情報および購入履歴情報などを含む。
【０３２６】
なお、ＣＡモジュール３１１は、サービスプロバイダ３１０が課金機能を有している場合には、サービスプロバイダ３１０の課金データベース、顧客管理データベースおよびマーケティング情報データベースと通信を行う。この場合に、ＣＡモジュール３１１は、コンテンツデータの配信サービスについての課金データをサービスプロバイダ３１０に送信する。
【０３２７】
復号モジュール９０５は、復号部９１０およびセキュアコンテナ選択部９１１を有する。
復号部９１０は、通信モジュール１６２から、それぞれ暗号化されたセキュアコンテナ３０４、スクランブル鍵データＫSCR およびワーク鍵データＫW を入力する。
そして、復号部９１０は、暗号化されたスクランブル鍵データＫSCR およびワーク鍵データＫW をＣＡモジュール３１１の暗号化・復号部９０８に出力し、暗号化・復号部９０８から復号されたスクランブル鍵データＫSCR を入力する。
そして、復号部９１０は、暗号化されたセキュアコンテナ３０４を、スクランブル鍵データＫSCR を用いて復号した後に、セキュアコンテナ選択部９１１に出力する。
【０３２８】
なお、セキュアコンテナ３０４が、MPEG2 Transport Stream  方式でサービスプロバイダ３１０から送信される場合には、例えば、復号部９１０は、TS Packet 内のＥＣＭ(Entitlement Control Message) からスクランブル鍵データＫSCR
を取り出し、ＥＭＭ(Entitlement Management Message)からワーク鍵データＫW
を取り出す。
ＥＣＭには、その他に、例えば、チャンネル毎の番組属性情報などが含まれている。また、ＥＭＭは、その他に、ユーザ（視聴者）毎に異なる個別試聴契約情報などが含まれている。
【０３２９】
セキュアコンテナ選択部９１１は、復号部９１０から入力したセキュアコンテナ３０４を、ＣＡモジュール３１１から入力したユーザ嗜好フィルタデータ９００を用いてフィルタリング処理して、ユーザの嗜好に応じたセキュアコンテナ３０４を選択してＳＡＭ３０５1 に出力する。
【０３３０】
次に、ＳＡＭ３０５1 について説明する。
なお、ＳＡＭ３０５1 は、サービスプロバイダ３１０についての署名検証処理を行なうなど、コンテンツプロバイダ３０１に加えてサービスプロバイダ３１０に関しての処理を行う点を除いて、図２２〜図７２などを用いて前述した第１実施形態のＳＡＭ１０５1 と基本的に行なう機能および構造を有している。
している。
ＳＡＭ３０５1 〜３０５4 は、コンテンツ単位の課金処理を行うモジュールであり、ＥＭＤサービスセンタ３０２との間で通信を行う。
【０３３１】
また、図６３に示す構成はユーザホームネットワーク３０３内の機器においても適用可能である。また、図６８〜図７９を用いて説明した権利処理用のＳＡＭ、メディアＳＡＭ１３３、ＡＶ圧縮・伸長用ＳＡＭ１６３およびメディア・ドラブＳＡＭ２６０の構成は、ユーザホームネットワーク３０３内の機器で用いられる各種のＳＡＭにも適用される。
また、ＳＡＭ３０５2 〜３０５4 は、ＳＡＭ３０５1 と基本的に同じ機能を有              【０３３２】
以下、ＳＡＭ３０５1 の機能について詳細に説明する。
図９０は、ＳＡＭ３０５1 の機能の構成図である。
なお、図９０には、サービスプロバイダ３１０からセキュアコンテナ３０４を入力する際の処理に関連するデータの流れが示されている。
図９０に示すように、ＳＡＭ３０５1 は、相互認証部１７０、暗号化・復号部１７１，１７２，１７３、ダウンロードメモリ管理部１８２、ＡＶ圧縮・伸長用ＳＡＭ管理部１８４、ＥＭＤサービスセンタ管理部１８５、利用監視部１８６、ＳＡＭ管理部１９０、記憶部１９２、メディアＳＡＭ管理部１９７、作業用メモリ２００、サービスプロバイダ管理部５８０、課金処理部５８７、署名処理部５８９、外部メモリ管理部８１１およびＣＰＵ１１００を有する。
なお、図９０に示すＳＡＭ３０５1 の所定の機能は、ＳＡＭ１０５1 の場合と同様に、ＣＰＵにおいて秘密プログラムを実行することによって実現される。
図９０において、図３０等と同じ符号を付した機能ブロックは、第１実施形態で説明した同一符号の機能ブロックと同じである。
【０３３３】
また、図８８に示す外部メモリ２０１には、第１実施形態で説明した処理および後述する処理を経て、利用履歴データ３０８およびＳＡＭ登録リストが記憶される。
また、作業用メモリ２００には、図９１に示すように、コンテンツ鍵データＫｃ、権利書データ（ＵＣＰ）１０６、記憶部１９２のロック鍵データＫLOC 、コンテンツプロバイダ３０１の公開鍵証明書データＣＥＲCP、サービスプロバイダ３１０の公開鍵証明書データＣＥＲSP、利用制御データ（ＵＣＳ）３６６、ＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 およびプライスタグデータ３１２などが記憶される。
【０３３４】
以下、ＳＡＭ３０５1 の機能ブロックのうち、図９０において新たに符号を付した機能ブロックについて説明する。
署名処理部５８９は、記憶部１９２あるいは作業用メモリ２００から読み出したＥＭＤサービスセンタ３０２の公開鍵データＫESC,P 、コンテンツプロバイダ３０１の公開鍵データＫcp,pおよびサービスプロバイダ３１０の公開鍵データＫSP,Pを用いて、セキュアコンテナ３０４内の署名データの検証を行なう。
【０３３５】
課金処理部５８７は、図９２に示すように、ユーザによる購入形態決定操作に応じた内部割り込みＳ８１０をＣＰＵ１１００がホストＣＰＵ８１０から受けると、ＣＰＵ１１００からの制御によって、作業用メモリ２００から読み出されたプライスタグデータ３１２に基づいて、ユーザによるコンテンツの購入・利用形態に応じた課金処理を行う。
なお、プライスタグデータ３１２は、ユーザがコンテンツデータの購入形態等を決定する際に、所定の出力手段を介してＳＡＭ３０５1 の外部に出力され、コンテンツデータの販売価格をユーザに表示等するために用いられる。
課金処理部５８７による課金処理は、利用監視部１８６の監視の下、権利書データ１０６が示す使用許諾条件などの権利内容および利用制御データ１６６に基づいて行われる。すなわち、ユーザは、当該権利内容などに従った範囲内でコンテンツの購入および利用を行うことができる。
【０３３６】
また、課金処理部５８７は、課金処理において、利用履歴データ３０８を生成あるいは更新し、これを外部メモリ管理部８１１を介して外部メモリ２０１に書き込む。
ここで、利用履歴データ３０８は、第１実施形態の利用履歴データ１０８と同様に、ＥＭＤサービスセンタ３０２において、セキュアコンテナ３０４に関連したラインセンス料の支払いを決定する際に用いられる。
【０３３７】
また、課金処理部５８７は、ユーザによる購入形態決定操作に応じたＣＰＵ１１００の制御に基づいて、ユーザによるコンテンツの購入・利用形態を記述した利用制御（UCS: Usage Control Status ）データ１６６を生成し、これを作業用メモリ２００に書き込む。
コンテンツの購入形態としては、例えば、購入者による再生や当該購入者の利用のための複製に制限を加えない買い切りや、再生する度に課金を行なう再生課金などがある。
ここで、利用制御データ１６６は、ユーザがコンテンツの購入形態を決定したときに生成され、以後、当該決定された購入形態で許諾された範囲内でユーザが当該コンテンツの利用を行なうように制御するために用いられる。利用制御データ１６６には、コンテンツのＩＤ、購入形態、買い切り価格、当該コンテンツの購入が行なわれたＳＡＭのＳＡＭ＿ＩＤ，購入を行なったユーザのＵＳＥＲ＿ＩＤなどが記述されている。
【０３３８】
なお、決定された購入形態が再生課金である場合には、例えば、ＳＡＭ３０５1 からサービスプロバイダ３１０に利用制御データ１６６をリアルタイムに送信し、サービスプロバイダ３１０がＥＭＤサービスセンタ３０２に、利用履歴データ３０８をＳＡＭ１０５1 に取りに行くことを指示する。
また、決定された購入形態が買い切りである場合には、例えば、利用制御データ１６６が、サービスプロバイダ３１０およびＥＭＤサービスセンタ３０２にリアルタイムに送信される。
【０３３９】
また、ＳＡＭ３０５1 では、図９０に示すように、ＥＭＤサービスセンタ管理部１８５を介してＥＭＤサービスセンタ３０２から受信したユーザ嗜好フィルタデータ９０３が、サービスプロバイダ管理部５８０に出力される。そして、サービスプロバイダ管理部５８０において、図８８に示す復号モジュール９０５から入力したセキュアコンテナ３０４のうち、ユーザ嗜好フィルタデータ９０３に基づいてフィルタリングされてユーザの嗜好に応じたセキュアコンテナ３０４が選択され、当該選択されたセキュアコンテナ３０４がダウンロードメモリ管理部１８２に出力される。これにより、ＳＡＭ３０５1 において、当該ＳＡＭ３０５1
のユーザが契約している全てのサービスプロバイダ３１０を対象として、当該ユーザによるコンテンツデータＣの購入状況から得られた当該ユーザの嗜好に基づいたコンテンツデータＣの選択処理が可能になる。
【０３４０】
以下、ＳＡＭ３０５1 内での処理の流れを説明する。
＜ライセンス鍵データの受信時の処理＞
ＥＭＤサービスセンタ３０２から受信したライセンス鍵データＫＤ1 〜ＫＤ3
を記憶部１９２に格納する際のＳＡＭ３０５1 内での処理の流れは、図３５を用いて前述した第１実施形態のＳＡＭ１０５1 の場合と同様である。
【０３４１】
＜セキュアコンテナ３０４をサービスプロバイダ３１０から入力した時の処理＞
次に、セキュアコンテナ３０４をサービスプロバイダ３１０から入力する際のＳＡＭ３０５1 内での処理の流れを図９３を参照しながら説明する。
なお、以下に示す例では、ＳＡＭ１０５1 において、セキュアコンテナ１０４を入力したときに種々の署名データの検証を行う場合を例示するが、セキュアコンテナ１０４の入力したときには当該署名データの検証を行わずに、購入・利用形態を決定するときに当該署名データの検証を行うようにしてもよい。
【０３４２】
ステップＳ９３−０：図９０に示すＳＡＭ３０５1 のＣＰＵ１１００は、ホストＣＰＵ８１０から、セキュアコンテナの入力処理を行うことを指示する内部割り込みＳ８１０を受ける。
ステップＳ９３−１：図９０に示すＳＡＭ３０５1 の相互認証部１７０とサービスプロバイダ３１０との間で相互認証を行なう。
ステップＳ９３−２：ＳＡＭ３０５1 の相互認証部１７０とダウンロードメモリ１６７のメディアＳＡＭ１６７ａとの間で相互認証を行なう。
【０３４３】
ステップＳ９３−３：サービスプロバイダ３１０から受信したセキュアコンテナ３０４を、ダウンロードメモリ１６７に書き込む。
このとき、ステップＳ９３−２で得られたセッション鍵データを用いて、相互認証部１７０におけるセキュアコンテナ３０４の暗号化と、メディアＳＡＭ１６７ａにおけるセキュアコンテナ３０４の復号とを行なう。
ステップＳ９３−４：ＳＡＭ３０５1 は、ステップＳ９３−１で得られたセッション鍵データを用いて、セキュアコンテナ３０４の復号を行なう。
【０３４４】
ステップＳ９３−５：署名処理部５８９は、図８４（Ｄ）に示す署名データＳＩＧ61,ESCの検証を行なった後に、図８４（Ｄ）に示す公開鍵証明書データＣＥＲSP内に格納されたサービスプロバイダ３１０の公開鍵データＫSP,Pを用いて、署名データＳＩＧ62,SP ，ＳＩＧ63,SP ，ＳＩＧ64,SP の正当性を検証する。
このとき、署名データＳＩＧ62,SP が正当であると検証されたときに、コンテンツファイルＣＦの送信者の正当性が確認される。署名データＳＩＧ63,SP が正当であると検証されたときに、キーファイルＫＦの送信者の正当性が確認される。署名データＳＩＧ64,SP が正当であると検証されたときに、プライスタグデータ３１２の作成者および送信者の正当性が確認される。
【０３４５】
ステップＳ９３−６：署名処理部５８９は、図８４（Ｄ）に示す署名データＳＩＧ1,ESC の検証を行なった後に、図８４（Ｃ）に示す公開鍵証明書データＣＥＲCP内に格納されたコンテンツプロバイダ３０１の公開鍵データＫCP,Pを用いて、署名データＳＩＧ6,CP，ＳＩＧ7,CPの正当性を検証する。
このとき、署名データＳＩＧ6,CPが正当であると検証されたときに、コンテンツファイルＣＦの作成者および送信者の正当性が確認される。
また、署名データＳＩＧ7,CPが正当であると検証されたときに、キーファイルＫＦの送信者の正当性が確認される。
【０３４６】
ステップＳ９３−７：署名処理部５８９は、記憶部１９２から読み出した公開鍵データＫESC,P を用いて、図８４（Ｂ）に示すキーファイルＫＦ内の署名データＳＩＧK1,ESCの正当性、すなわちキーファイルＫＦの作成者の正当性およびキーファイルＫＦがＥＭＤサービスセンタ１０２に登録されているか否かの検証を行う。
【０３４７】
ステップＳ９３−８：暗号化・復号部１７２は、記憶部１９２から読み出した対応する期間のライセンス鍵データＫＤ1 〜ＫＤ3 を用いて、図８４（Ｂ）に示すキーファイルＫＦ内のコンテンツ鍵データＫｃ、権利書データ１０６およびＳＡＭプログラム・ダウンロード・コンテナＳＤＣ1 〜ＳＤＣ3 を復号し、これらを作業用メモリ２００に書き込む。
【０３４８】
ステップＳ９３−９：ＣＰＵ１１００は、上述したセキュアコンテナの入力処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したセキュアコンテナの入力処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０３４９】
＜ダウンロードしたセキュアコンテナの購入形態決定処理＞
ダウンロードしたセキュアコンテナの購入形態決定処理は、基本的に、第１実施形態において、図３８を用いて前述したＳＡＭ１０５1 の場合と同じである。
当該購入形態決定処理により、後述する図９７（Ｃ）に示すキーファイルＫＦ1 が作業用メモリ２００およびダウンロードメモリ管理部１８２を介してダウンロードメモリ１６７に記憶される。
【０３５０】
＜コンテンツデータの再生処理＞
ダウンロードメモリ１６７に記憶されている購入形態が既に決定されたコンテンツデータＣの再生処理は、基本的に、第１実施形態において、図４０を用いて説明したＳＡＭ１０５1 の処理と同じである。
【０３５１】
＜一の機器の利用制御データ（ＵＳＣ）１６６を使用して他の機器で再購入を行う場合の処理＞
先ず、図９４に示すように、例えば、ネットワーク機器３６０1 のダウンロードメモリ１６７にダウンロードされたコンテンツファイルＣＦの購入形態を前述したように決定した後に、当該コンテンツファイルＣＦを格納した新たなセキュアコンテナ３０４ｘを生成し、バス１９１を介して、ＡＶ機器３６０2 のＳＡＭ３０５2 にセキュアコンテナ３０４ｘを転送するまでのＳＡＭ１０５1 内での処理の流れを図９５および図９６を参照しながら説明する。
【０３５２】
図９６は、当該処理のフローチャートである。
図９６に示す処理を行う前提として、前述した購入処理によって、ＳＡＭ３０５1 の作業用メモリ２００には図９７（Ｃ）に示すキーファイルＫＦ1 およびそのハッシュ値ＨK1が記憶されている。
ステップＳ９６−１：ユーザは図８８および図９４に示すに操作部１６５を操作し、購入形態を既に決定したセキュアコンテナをＳＡＭ３０５2 に転送することを示す内部割り込みＳ８１０がホストＣＰＵ８１０から図９５に示すＣＰＵ１１００に出される。
課金処理部５８７は、ＣＰＵ１１００の制御に基づいて、決定された購入形態に応じて、外部メモリ２０１に記憶されている利用履歴データ３０８を更新する。
【０３５３】
ステップＳ９６−２：ＳＡＭ３０５1 は、第１実施形態で前述したＳＡＭ登録リストを検証し、セキュアコンテナの転送先のＳＡＭ３０５2 が正規に登録されているＳＡＭであるか否かを検証し、正規に登録されていると判断した場合にステップＳ９６−３以降の処理を行う。
また、ＳＡＭ１０５1 は、ＳＡＭ１０５2 がホームネットワーク内のＳＡＭであるか否かの検証も行う。
【０３５４】
ステップＳ９６−３：相互認証部１７０は、ＳＡＭ３０５2 との間で相互認証を行って得たセッション鍵データＫSES を共有する。
【０３５５】
ステップＳ９６−４：ＳＡＭ管理部１９０は、ダウンロードメモリ２１１から図８４（Ａ）に示すコンテンツファイルＣＦおよび署名データＳＩＧ6,CP，ＳＩＧ62,SP を読み出し、これについてのＳＡＭ１０５1 の秘密鍵データＫSAM1を用いた署名データＳＩＧ41,SAM1 を署名処理部１８９に作成させる。
【０３５６】
ステップＳ９６−５：ＳＡＭ管理部１９０は、ダウンロードメモリ２１１から図８４（Ｂ）に示すキーファイルＫＦおよび署名データＳＩＧ7,CP，ＳＩＧ63,SP を読み出し、これについてのＳＡＭ３０５1 の秘密鍵データＫSAM1を用いた署名データＳＩＧ42,SAM1 を署名処理部５８９に作成させる。
【０３５７】
ステップＳ９６−６：ＳＡＭ管理部１９０は、図９７に示すセキュアコンテナ３０４ｘを作成する。
ステップＳ９６−７：暗号化・復号部１７１において、ステップＳ９６−３で得たセッション鍵データＫSES を用いて、図９７に示すセキュアコンテナ３０４ｘが暗号化される。
【０３５８】
ステップＳ９６−８：ＳＡＭ管理部１９０は、セキュアコンテナ３０４ｘを図９４に示すＡＶ機器３６０2 のＳＡＭ３０５2 に出力する。
このとき、ＳＡＭ３０５1 とＳＡＭ３０５2 との間の相互認証と並行して、ＩＥＥＥ１３９４シリアルバスであるバス１９１の相互認証が行われる。
【０３５９】
ステップＳ９６−９：ＣＰＵ１１００は、上述したセキュアコンテナの転送処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述したセキュアコンテナの転送処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０３６０】  
以下、図９４に示すように、ＳＡＭ３０５1 から入力した図９７に示すセキュアコンテナ３０４ｘを、ＲＡＭ型などの記録媒体（メディア）１３０4 に書き込む際のＳＡＭ３０５2 内での処理の流れを図９８，図９９および図１００を参照して説明する。
図９９および図１００は、当該処理を示すフローチャートである。
ここで、ＲＡＭ型の記録媒体１３０4 は、例えば、セキュアでないＲＡＭ領域１３４、メディアＳＡＭ１３３およびセキュアＲＡＭ領域１３２を有している。
【０３６１】
ステップＳ９９−０：図９８に示すＳＡＭ３０５2 のＣＰＵ１１００は、ホストＣＰＵ８１０から、入力したセキュアコンテナを購入形態を決定した後に記録媒体に記録することを指示する内部割り込みＳ８１０を受ける。
【０３６２】
ステップＳ９９−１：ＳＡＭ３０５2 は、ＳＡＭ登録リストを検証し、セキュアコンテナの転送元のＳＡＭ３０５1 が正規に登録されているＳＡＭであるか否かを検証し、正規に登録されていると判断した場合にステップＳ９９−２以降の処理を行う。
また、ＳＡＭ３０５2 は、ＳＡＭ３０５1 がホームネットワーク内のＳＡＭであるか否かの検証も行う。
【０３６３】
ステップＳ９９−２：前述したステップＳ９９−４−２に対応する処理として、ＳＡＭ３０５2 は、ＳＡＭ３０５1 との間で相互認証を行って得たセッション鍵データＫSES を共有する。
ステップＳ９９−３：ＳＡＭ３０５2 のＳＡＭ管理部１９０は、図９４に示すように、ネットワーク機器３６０1 のＳＡＭ３０５1 からセキュアコンテナ３０４ｘを入力する。
ステップＳ９９−４：暗号化・復号部１７１は、ステップＳ９９−２で共有したセッション鍵データＫSES を用いて、ＳＡＭ管理部１９０を介して入力したセキュアコンテナ３０４ｘを復号する。
【０３６４】
ステップＳ９９−５：セッション鍵データＫSES を用いて復号されたセキュアコンテナ３０４ｘ内のコンテンツファイルＣＦが、図９４に示すメディア・ドラブＳＡＭ２６０におけるセクタライズ(Sectorize) 、セクタヘッダの付加処理、スクランブル処理、ＥＣＣエンコード処理、変調処理および同期処理を経て、ＲＡＭ型の記録媒体１３０4 のＲＡＭ領域１３４に記録される。
【０３６５】
ステップＳ９９−６：セッション鍵データＫSES を用いて復号されたセキュアコンテナ３０４ｘ内の署名データＳＩＧ6,CP，ＳＩＧ62,SP ，ＳＩＧ41,SAM1 と、キーファイルＫＦおよびその署名データＳＩＧ7,CP，，ＳＩＧ63,SP ，ＳＩＧ42,SAM1 と、キーファイルＫＦ1 およびそのハッシュ値ＨK1と、公開鍵署名データＣＥＲSPおよびその署名データＳＩＧ61,ESCと、公開鍵署名データＣＥＲCPおよびその署名データＳＩＧ1,ESC と、公開鍵署名データＣＥＲSAM1およびその署名データＳＩＧ22,ESCとが、作業用メモリ２００に書き込まれる。
【０３６６】
ステップＳ９９−７：署名処理部５８９において、作業用メモリ２００から読み出された署名データＳＩＧ61,ESC，ＳＩＧ1,ESC ，ＳＩＧ22,ESCが、記憶部１９２から読み出した公開鍵データＫESC,P を用いて検証され、公開鍵証明書データＣＥＲSP，ＣＥＲCP，ＣＥＲSAM1の正当性が確認される。
そして、署名処理部５８９において、公開鍵証明書データＣＥＲCPに格納された公開鍵データＫCP,Pを用いて、署名データＳＩＧ6,CPの正当性が検証され、コンテンツファイルＣＦの作成者の正当性が確認される。署名処理部５８９において、公開鍵証明書データＣＥＲSPに格納された公開鍵データＫSP,Pを用いて、署名データＳＩＧ62,CP の正当性が検証され、コンテンツファイルＣＦの送信者の正当性が確認される。また、署名処理部１８９において、公開鍵証明書データＣＥＲSAM1に格納された公開鍵データＫSAM1,Pを用いて、署名データＳＩＧ41,SAM1 の正当性が検証され、コンテンツファイルＣＦの送信者の正当性が確認される。
【０３６７】
ステップＳ９９−８：署名処理部５８９において、公開鍵証明書データＣＥＲCP，ＣＥＲSP，ＣＥＲSAM1に格納された公開鍵データＫCP,P，ＫSP,P，ＫSAM1,Pを用いて、作業用メモリ２００に記憶されている署名データＳＩＧ7,CP，ＳＩＧ63,SP ，ＳＩＧ42,SAM1 の正当性を検証する。そして、署名データＳＩＧ7,CP，ＳＩＧ63,SP ，ＳＩＧ42,SAM1 が正当であると検証されたときに、キーファイルＫＦの送信者の正当性が確認される。
【０３６８】
ステップＳ９９−９：署名処理部５８９において、記憶部１９２から読み出した公開鍵データＫESC,P を用いて、図９７（Ｂ）のキーファイルＫＦに格納されが署名データＳＩＧK1,ESCの検証が行われる。そして、署名データＳＩＧK1,ESCが正当であると検証されたときに、キーファイルＫＦの作成者の正当性が確認される。
【０３６９】
ステップＳ９９−１０：署名処理部１８９は、ハッシュ値ＨK1の正当性を検証し、キーファイルＫＦ1 の作成者および送信者の正当性を確認する。
なお、当該例では、キーファイルＫＦ1 の作成者と送信元とが同じ場合を述べたが、キーファイルＫＦ1 の作成者と送信元とが異なる場合には、キーファイルＫＦ1 に対して作成者の署名データと送信者と署名データとが作成され、署名処理部１８９において、双方の署名データの正当性が検証される。
【０３７０】
ステップＳ９９−１１：利用監視部１８６は、ステップＳ９９−１０で復号されたキーファイルＫＦ1 に格納された利用制御データ１６６を用いて、以後のコンテンツデータＣの購入・利用形態を制御する。
【０３７１】
ステップＳ９９−１２：ユーザは、購入・利用形態決定操作部１６５を操作して購入形態を決定し、当該操作に応じた操作信号Ｓ１６５が、課金処理部５８７に出力される。
ステップＳ９９−１３：課金処理部５８７は、操作信号Ｓ１６５に基づいて、外部メモリ２０１に記憶されている利用履歴データ３０８を更新する。
また、課金処理部５８７は、コンテンツデータの購入形態が決定される度に、当該決定された購入形態に応じて利用制御データ１６６を更新する。
【０３７２】
ステップＳ９９−１４：暗号化・復号部１７３は、記憶部１９２から読み出した記録用鍵データＫSTR 、メディア鍵データＫMED および購入者鍵データＫPIN
を順に用いて、ステップＳ９９−１２で生成された利用制御データ１６６を暗号化してメディア・ドライブＳＡＭ管理部８５５に出力する。
ステップＳ９９−１５：メディア・ドライブＳＡＭ管理部８５５は、新たな利用制御データ１６６を格納したキーファイルＫＦ1 を、セクタライズ処理、セクタヘッダの付加処理、スクランブル処理、ＥＣＣエンコード処理、変調処理および同期処理を経て、ＲＡＭ型の記録媒体１３０4 のセキュアＲＡＭ領域１３２に記録する。
ステップＳ９９−１６：キーファイルＫＦが作業用メモリ２００から読み出され、メディア・ドライブＳＡＭ管理部８５５を介して、図９４に示すメディア・ドラブＳＡＭ２６０によってＲＡＭ型の記録媒体１３０4 のセキュアＲＡＭ領域１３２に書き込まれる。
【０３７３】
ステップＳ９９−１７：ＣＰＵ１１００は、上述した処理が適切に行われたか否かを、外部割り込みでホストＣＰＵ８１０に通知する。
なお、ＣＰＵ１１００は、上述した処理が適切に行われたか否かを示すＳＡＭステータスレジスタのフラグを設定し、ホストＣＰＵ８１０がポーリングによって当該フラグを読んでもよい。
【０３７４】
なお、ＳＡＭ３０５1 におけるＲＯＭ型の記録媒体のコンテンツデータの購入形態決定処理、ＲＯＭ型の記録媒体のコンテンツデータの購入形態を決定した後にＲＡＭ型の記録媒体に書き込む場合の処理は、サービスプロバイダ３１０において秘密鍵データＫSP,Pを用いて付けられた署名データＳＩＧSPの検証処理を行う点を除いて、前述した第１実施形態のＳＡＭ１０５1 における処理と同じである。
また、ＳＡＭ３０５1 の実現方法も、前述した第１実施形態で説明したＳＡＭ１０５1 の実現方法と同じである。
また、ユーザホームネットワーク３０３に用いられる機器においても、第１実施形態で説明した図６３に示す構成は同様に適用される。また、この場合に、ＳＡＭ３０５1 、ＡＶ圧縮・伸長用ＳＡＭ１６３、メディア・ドラブＳＡＭ２６０およびメディアＳＡＭ１３３の回路モジュールとして、図６４〜図７９を用いて説明した構成が同様に適用される。
また、図６２を用いて説明したセキュア機能も、コンテンツプロバイダ１０１がサービスプロバイダ３１０に置き換える点を除いて、ＥＭＤシステム３００でも同様に適用される。
【０３７５】
以下、ユーザホームネットワーク３０３における各種の機器の接続形態等を再び説明する。
図１０１は、ユーザホームネットワーク３０３における機器の接続形態の一例を説明するための図である。
ここでは、図１０１に示すように、ユーザホームネットワーク３０３内でネットワーク機器３６０1 ，ＡＶ機器３６０2 ，３６０3 がＩＥＥＥ１３９４シリアルバス１９１を介して接続されている場合を説明する。
ネットワーク機器３６０1 は、外部メモリ２０１、ＳＡＭ３０５1 、ＣＡモジュール３１１、ＡＶ圧縮・伸長用ＳＡＭ１６３およびダウンロードメモリ１６７を有する。
ＣＡモジュール３１１は、公衆回線などのネットワークを介して、サービスプロバイダ３１０と通信を行う。
また、ＳＡＭ３０５1 は、公衆回線などのネットワークを介して、ＥＭＤサービスセンタ３０２と通信を行う。
ダウンロードメモリ１６７としては、メディアＳＡＭ１６７ａを備えたメモリスティック、あるいはＨＤＤなどが用いられる。ダウンロードメモリ１６７には、サービスプロバイダ３１０からダウンロードしたセキュアコンテナ３０４などが記憶される。
各機器には、ＡＴＲＡＣ３やＭＰＥＧなどの各種の圧縮・伸長方式にそれぞれ対応した複数のＡＶ圧縮・伸長用ＳＡＭ１６３が内蔵されている。
ＳＡＭ３０５1 は、接触方式あるいは非接触方式のＩＣカード１１４１と通信を行うことが可能である。ＩＣカード１１４１は、ユーザＩＤなどの各種のデータが記憶しており、ＳＡＭ３０５1 においてユーザ認証を行う場合などに用いられる。
【０３７６】
ＡＶ機器３６０2 は、例えば、ストレージ機器であり、ＳＡＭ３０５1 と３０５2 との間で所定の処理を経て、ＩＥＥＥ１３９４シリアルバス１９１を介してネットワーク機器３６０1 から入力したセキュアコンテナを記録媒体１３０に記録する。
また、ＡＶ機器３６０3 も同様に、例えば、ストレージ機器であり、ＳＡＭ３０５2 と３０５3 との間で所定の処理を経て、ＩＥＥＥ１３９４シリアルバス１９１を介してＡＶ機器３６０2 から入力したセキュアコンテナを記録媒体１３０に記録する。
【０３７７】
なお、図１０１に示す例では、記録媒体１３０にメディアＳＡＭ１３３が搭載されている場合を例示したが、例えば、記録媒体１３０のメディアＳＡＭ１３３が搭載されていない場合には、図１０１に点線で示したように、メディア・ドラブＳＡＭ２６０を用いて、ＳＡＭ３０５2 ，３０５3 との間の認証が行われる。
【０３７８】
次に、図８２に示すＥＭＤシステム３００の全体動作について説明する。
図１０２および図１０３は、ＥＭＤシステム３００の全体動作のフローチャートである。
ここでは、サービスプロバイダ３１０からユーザホームネットワーク３０３にオンラインでセキュアコンテナ３０４を送信する場合を例示して説明する。
なお、以下に示す処理の前提として、ＥＭＤサービスセンタ３０２へのコンテンツプロバイダ３０１、サービスプロバイダ３１０およびＳＡＭ３０５1 〜３０５4 の登録は既に終了しているものとする。
【０３７９】
ステップＳ２１：ＥＭＤサービスセンタ３０２は、コンテンツプロバイダ３０１の公開鍵データＫCP,Pの公開鍵証明書ＣＥＲCPを、自らの署名データＳＩＧ1,ESC と共にコンテンツプロバイダ３０１に送信する。
また、ＥＭＤサービスセンタ３０２は、コンテンツプロバイダ３０１の公開鍵データＫSP,Pの公開鍵証明書ＣＥＲSPを、自らの署名データＳＩＧ61,ESCと共にサービスプロバイダ３１０に送信する。
また、ＥＭＤサービスセンタ３０２は、各々有効期限が１カ月の３カ月分のライセンス鍵データＫＤ1 〜ＫＤ3 をユーザホームネットワーク３０３のＳＡＭ３０５1 〜３０５4 に送信する。
【０３８０】
ステップＳ２２：コンテンツプロバイダ３０１は、相互認証を行った後に、権利書データ１０６およびコンテンツ鍵データＫｃをＥＭＤサービスセンタ３０２に登録して権威化する。
また、ＥＭＤサービスセンタ３０２は、図３（Ｂ）に示す６カ月分のキーファイルＫＦを作成し、これをコンテンツプロバイダ３０１に送信する。
【０３８１】
ステップＳ２３：コンテンツプロバイダ３０１は、図３（Ａ），（Ｂ）に示すコンテンツファイルＣＦおよびその署名データＳＩＧ6,CPと、キーファイルＫＦおよびその署名データＳＩＧ7,CPとを作成し、これらと図３（Ｃ）に示す公開鍵証明書データＣＥＲcpおよびその署名データＳＩＧ1,ESC とを格納したセキュアコンテナ１０４を、オンラインおよび／またはオフラインで、サービスプロバイダ３１０に提供する。
【０３８２】
ステップＳ２４：サービスプロバイダ３１０は、図３（Ｃ）に示す署名データＳＩＧ1,ESC を検証した後に、公開鍵証明書データＣＥＲCPに格納された公開鍵データＫCP,Pを用いて、図３（Ａ），（Ｂ）に示す署名データＳＩＧ6,CPおよびＳＩＧ7,CPを検証して、セキュアコンテナ１０４が正当なコンテンツプロバイダ３０１から送信されたものであるかを確認する。
【０３８３】
ステップＳ２５：サービスプロバイダ３１０は、プライスタグデータ３１２およびその署名データＳＩＧ64,SP を作成し、これらを格納したを格納した図８７に示すセキュアコンテナ３０４を作成する。
【０３８４】
ステップＳ２６：サービスプロバイダ３１０は、プライスタグデータ３１２をＥＭＤサービスセンタ３０２に登録して権威化する。
【０３８５】
ステップＳ２７：サービスプロバイダ３１０は、例えば、ユーザホームネットワーク３０３のＣＡモジュール３１１からの要求に応じて、ステップＳ２５で作成したセキュアコンテナ３０４を、オンラインあるいはオフラインで、図８９に示すネットワーク機器３６０1 の復号モジュール９０５に送信する。
【０３８６】
ステップＳ２８：ＣＡモジュール３１１は、ＳＰ用購入履歴データ３０９を作成し、これを所定のタイミングで、サービスプロバイダ３１０に送信する。
【０３８７】
ステップＳ２９：ＳＡＭ３０５1 〜３０５4 のいずれかにおいて、図８４（Ｄ）に示す署名データＳＩＧ61,ESCを検証した後に、公開鍵証明書データＣＥＲSPに格納された公開鍵データＫSP,Pを用いて、図８４（Ａ），（Ｂ），（Ｃ）に示す署名データＳＩＧ62,SP ，ＳＩＧ63,SP ，ＳＩＧ64,SP を検証して、セキュアコンテナ３０４内の所定のデータが正当なサービスプロバイダ３１０において作成および送信されたか否かを確認する。
【０３８８】
ステップＳ３０：ＳＡＭ３０５1 〜３０５4 のいずれかにおいて、図８４（Ｄ）に示す署名データＳＩＧ1,ESC を検証した後に、公開鍵証明書データＣＥＲCPに格納された公開鍵データＫCP,Pを用いて、図８４（Ａ），（Ｂ），（Ｃ）に示す署名データＳＩＧ6,SP，ＳＩＧ7,SPを検証して、セキュアコンテナ３０４内のコンテンツファイルＣＦが正当なコンテンツプロバイダ３０１において作成されたか否かと、キーファイルＫＦが正当なコンテンツプロバイダ３０１から送信されたか否かを確認する。
また、ＳＡＭ３０５1 〜３０５4 のいずれかにおいて、公開鍵データＫESC,P
を用いて、図８４（Ｂ）に示すキーファイルＫＦ内の署名データＳＩＧK1,ESCの正当性を検証することで、キーファイルＫＦが正当なＥＭＤサービスセンタ３０２によって作成されたか否かを確認する。
【０３８９】
ステップＳ３１：ユーザが図８８に示す操作部１６５を操作してコンテンツの購入・利用形態を決定する。
【０３９０】
ステップＳ３２：ステップＳ３１においてホストＣＰＵ８１０からＳＡＭ３０５1 〜３０５4 に出された内部割り込みＳ８１０に基づいて、ＳＡＭ３０５1 〜３０５4 において、セキュアコンテナ３０４の利用履歴(Usage Log) データ３０８が生成される。
ＳＡＭ３０５1 〜３０５4 からＥＭＤサービスセンタ３０２に、利用履歴データ３０８およびその署名データＳＩＧ205,SAM1が送信される。
また、購入形態が決定される度にリアルタイムに、ＳＡＭ３０５1 〜３０５4
からＥＭＤサービスセンタ３０２に利用制御状態データ１６６が送信される。
【０３９１】
ステップＳ３３：ＥＭＤサービスセンタ３０２は、利用履歴データ３０８に基づいて、コンテンツプロバイダ３０１およびサービスプロバイダ３１０の各々について、課金内容を決定（計算）し、その結果に基づいて、決済請求権データ１５２ｃ，１５２ｓを作成する。
【０３９２】
ステップＳ３４：ＥＭＤサービスセンタ３０２は、ペイメントゲートウェイ９０を介して決済機関９１に、決済請求権データ１５２ｃ，１５２ｓを自らの署名データと共に送信し、これにより、ユーザホームネットワーク３０３のユーザが決済機関９１に支払った金銭が、コンテンツプロバイダ３０１およびサービスプロバイダ３１０の所有者に分配される。
【０３９３】
以上説明したように、ＥＭＤシステム３００では、図３に示すフォーマットのセキュアコンテナ１０４をコンテンツプロバイダ３０１からサービスプロバイダ３１０に配給し、セキュアコンテナ１０４内のコンテンツファイルＣＦおよびキーファイルＫＦをそのまま格納したセキュアコンテナ３０４をサービスプロバイダ３１０からユーザホームネットワーク３０３に配給し、キーファイルＫＦについての処理をＳＡＭ３０５1 〜３０５4 内で行う。
また、キーファイルＫＦに格納されたコンテンツ鍵データＫｃおよび権利書データ１０６は、配信鍵データＫＤ1 〜ＫＤ3 を用いて暗号化されており、配信鍵データＫＤ1 〜ＫＤ3 を保持しているＳＡＭ３０５1 〜３０５4 内でのみ復号される。そして、ＳＡＭ３０５1 〜３０５4 では、耐タンパ性を有するモジュールであり、権利書データ１０６に記述されたコンテンツデータＣの取り扱い内容に基づいて、コンテンツデータＣの購入形態および利用形態が決定される。
【０３９４】
従って、ＥＭＤシステム３００によれば、ユーザホームネットワーク３０３におけるコンテンツデータＣの購入および利用を、サービスプロバイダ３１０における処理とは無関係に、コンテンツプロバイダ３０１の関係者が作成した権利書データ１０６の内容に基づいて確実に行わせることができる。すなわち、ＥＭＤシステム３００によれば、権利書データ１０６をサービスプロバイダ３１０が管理できないようできる。
そのため、ＥＭＤシステム３００によれば、異系列の複数のサービスプロバイダ３１０を介してユーザホームネットワーク３０３にコンテンツデータＣが配給された場合でも、ユーザホームネットワーク３０３のＳＡＭにおける当該コンテンツデータＣについての権利処理を、コンテンツプロバイダ３０１が作成した共通の権利書データ１０６に基づいて行わせることができる。
【０３９５】
また、ＥＭＤシステム３００では、セキュアコンテナ１０４，３０４内の各ファイルおよびデータについて、それらの作成者および送信者の正当性を示す署名データを格納していることから、サービスプロバイダ３１０およびＳＡＭ３０５1 〜３０５4 において、それらの作成者および送信者の正当性、並びにそれらが改竄されていないか否かなどを確認できる。その結果、コンテンツデータＣの不正利用を効果的に回避できる。
【０３９６】
また、ＥＭＤシステム３００では、サービスプロバイダ３１０からユーザホームネットワーク３０３へのコンテンツデータＣの配給を、オンラインおよびオフラインの何れの場合でもセキュアコンテナ３０４を用いて行うことで、双方の場合において、ＳＡＭ３０５1 〜３０５4 におけるコンテンツデータＣの権利処理を共通化できる。
【０３９７】
また、ＥＭＤシステム３００では、ユーザホームネットワーク３０３内のネットワーク機器３６０1 およびＡＶ機器３６０2 〜３６０4 においてコンテンツデータＣを購入、利用、記録および転送する際に、常に権利書データ１０６に基づいて処理を行うことで、共通の権利処理ルールを採用できる。
例えば、図１０４に示すように、コンテンツプロバイダ３０１が提供したコンテンツデータＣを、サービスプロバイダ３１０からユーザホームネットワーク３０３に、パッケージ流通、デジタル放送、インターネット、専用線、デジタルラジオおよびモバイル通信などの何れの手法（経路）で配信（配給）した場合でも、ユーザホームネットワーク３０３，３０３ａのＳＡＭにおいて、コンテンツプロバイダ３０１が作成した権利書データ１０６に基づいて、共通の権利処理ルールが採用される。
【０３９８】
また、ＥＭＤシステム３００によれば、ＥＭＤサービスセンタ３０２が、認証機能、鍵データ管理機能および権利処理（利益分配）機能を有することから、コンテンツの利用に伴ってユーザが支払った金額が、コンテンツプロバイダ３０１およびＥＭＤサービスセンタ３０２の所有者に、予め決められた比率に従って確実に分配される。
また、ＥＭＤシステム３００によれば、同じコンテンツプロバイダ３０１が供給した同じコンテンツファイルＣＦについての権利書データ１０６は、サービスプロバイダ３１０のサービス形態とは無関係に、そのままＳＡＭ３０５1 〜３０５4 に供給される。従って、ＳＡＭ３０５1 〜３０５4 において、権利書データ１０６に基づいて、コンテンツプロバイダ３０１の意向通りに、コンテンツファイルＣＦの利用を行わせることができる。
すなわち、ＥＭＤシステム３００によれば、コンテンツを用いたサービスおよびユーザによるコンテンツの利用が行われる際に、従来のように監査組織７２５に頼ることなく、技術的な手段によって、コンテンツプロバイダ３０１の所有者の権利および利益を確実に守ることができる。
【０３９９】
以下、上述した第２実施形態のＥＭＤシステム３００で採用するセキュアコンテナなどの配送プロトコルについて説明する。
図１０５に示すように、コンテンツプロバイダ３０１において作成されたセキュアコンテナ１０４は、インターネット（ＴＣＰ／ＩＰ）あるいは専用線（ＡＴＭ  Ｃｅｌｌ）などのコンテンツプロバイダ用配送プロトコルを用いてサービスプロバイダ３１０に提供される。
また、サービスプロバイダ３１０は、セキュアコンテナ１０４を用いて作成したセキュアコンテナ３０４を、デジタル放送（ＭＰＥＧ−ＴＳ上のＸＭＬ／ＳＭＩＬ）、インターネット（ＴＣＰ／ＩＰ上のＸＭＬ／ＳＭＩＬ）あるいはパッケージ流通（記録媒体）などのサービスプロバイダ用配送プロトコルを用いてユーザホームネットワーク３０３に配給する。
また、ユーザホームネットワーク３０３，３０３ａ内、あるいはユーザホームネットワーク３０３と３０３ａとの間において、ＳＭＡ相互間で、セキュアコンテナが、家庭内ＥＣ(Electric Commerce) ／配信サービス（１３９４シリアルバス・インターフェイス上のＸＭＬ／ＳＭＩＬ）や記録媒体などを用いて転送される。
【０４００】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、ＥＭＤサービスセンタ１０２，３０２において、キーファイルＫＦを作成する場合を例示したが、コンテンツプロバイダ１０１，３０１においてキーファイルＫＦを作成してもよい。
【０４０１】
【発明の効果】
以上説明したように、本発明のデータ処理装置によれば、コンテンツデータの取り扱いを示す権利書データに基づいたコンテンツデータの権利処理をセキュアな環境で行うことができる。
その結果、権利書データをコンテンツデータの提供に係わる者が作成すれば、コンテンツデータに係わる利益を適切に保護することが可能になると共に、当該関係者による監査の負担を軽減できる。
【図面の簡単な説明】
【図１】
図１は、本発明の第１実施形態のＥＭＤシステムの全体構成図である。
【図２】
図２は、本発明のセキュアコンテナの概念を説明するための図である。
【図３】
図３は、図１に示すコンテンツプロバイダからＳＡＭに送信されるセキュアコンテナのフォーマットを説明するための図である。
【図４】
図４は、図３に示すコンテンツファイルに含まれるデータを詳細に説明するための図である。
【図５】
図５は、図３に示すキーファイルに含まれるデータを詳細に説明するための図である。
【図６】
図６は、図１に示すコンテンツプロバイダとＥＭＤサービスセンタとの間で行われる登録およびキーファイルの転送を説明するための図である。
【図７】
図７は、コンテンツファイルに格納されるヘッダデータを説明するための図である。
【図８】
図８は、コンテンツＩＤを説明するための図である。
【図９】
図９は、セキュアコンテナのディレクトリ構造を説明するための図である。
【図１０】
図１０は、セキュアコンテナのハイパーリンク構造を説明するための図である。
【図１１】
図１１は、本実施形態で用いられるＲＯＭ型の記録媒体の第１の例を説明するための図である。
【図１２】
図１２は、本実施形態で用いられるＲＯＭ型の記録媒体の第２の例を説明するための図である。
【図１３】
図１３は、本実施形態で用いられるＲＯＭ型の記録媒体の第３の例を説明するための図である。
【図１４】
図１４は、本実施形態で用いられるＲＡＭ型の記録媒体の第１の例を説明するための図である。
【図１５】
図１５は、本実施形態で用いられるＲＡＭ型の記録媒体の第２の例を説明するための図である。
【図１６】
図１６は、本実施形態で用いられるＲＡＭ型の記録媒体の第３の例を説明するための図である。
【図１７】
図１７は、コンテンツプロバイダにおけるセキュアコンテナの作成処理の手順を示すフローチャートである。
【図１８】
図１８は、コンテンツプロバイダにおけるセキュアコンテナの作成処理の手順を示すフローチャートである。
【図１９】
図１９は、コンテンツプロバイダにおけるセキュアコンテナの作成処理の手順を示すフローチャートである。
【図２０】
図２０は、図１に示すＥＭＤサービスセンタの機能を示す図である。
【図２１】
図２１は、図１に示す利用履歴データを説明するための図である。
【図２２】
図２２は、図１に示すユーザホームネットワーク内のネットワーク機器の構成図である。
【図２３】
図２３は、図２２に示すホストＣＰＵとＳＡＭとの関係を説明するための図である。
【図２４】
図２４は、ＳＡＭを実現するソフトウェア構成を説明するための図である。
【図２５】
図２５は、ホストＣＰＵに出される外部割り込みを説明するための図である。
【図２６】
図２６は、ホストＣＰＵが出す内部割り込みを説明するための図である。
【図２７】
図２７は、ホストＣＰＵが出すファンクションコールを説明するための図である。
【図２８】
図２８は、ＳＡＭのＣＰＯＵの処理状態を説明するための図である。
【図２９】
図２９は、ホストＣＰＵおよびＳＡＭのメモリ空間を説明するための図である。
【図３０】
図３０は、図１に示すユーザホームネットワーク内のＳＡＭの機能ブロック図であり、コンテンツプロバイダから受信したセキュアコンテナを復号するまでのデータの流れを示す図である。
【図３１】
図３１は、図２２に示す外部メモリに記憶されるデータを説明するための図である。
【図３２】
図３２は、作業用メモリに記憶されるデータを説明するための図である。
【図３３】
図３３は、図１に示すユーザホームネットワーク内のネットワーク機器のその他の構成図である。
【図３４】
図３４は、図３０に示す記憶部に記憶されるデータを説明するための図である。
【図３５】
図３５は、ＥＭＤサービスセンタからライセンス鍵データを受信する際のＳＡＭの処理を示すフローチャートである。
【図３６】
図３６は、セキュアコンテナを入力する際のＳＡＭの処理を示すフローチャートである。
【図３７】
図３７は、図１に示すユーザホームネットワーク内のＳＡＭの機能ブロック図であり、コンテンツデータを利用・購入する処理などに関連するデータの流れを示す図である。
【図３８】
図３８は、コンテンツデータの購入形態を決定する際のＳＡＭの処理を示すフローチャートである。
【図３９】
図３９は、購入形態が決定されたセキュアコンテナを説明するための図である。
【図４０】
図４０は、コンテンツデータを再生する際のＳＡＭの処理を示すフローチャートである。
【図４１】
図４１は、図２２に示すネットワーク機器のダウンロードメモリにダウンロードされた既に購入形態が決定されたコンテンツファイルを、ＡＶ機器のＳＡＭに転送し、ＡＶ機器において再購入を行う場合を説明するための図である。
【図４２】
図４２は、図４１に示す場合における転送元のＳＡＭ内でのデータの流れを示す図である。
【図４３】
図４３は、図４２に示す場合の処理を示すフローチャートである。
【図４４】
図４４は、図４１において転送されるセキュアコンテナのフォーマットを説明するための図である。
【図４５】
図４５は、図４１に示す場合において、転送先のＳＡＭにおいて、入力したコンテンツファイルなどを、ＲＡＭ型あるいはＲＯＭ型の記録媒体（メディア）に書き込む際のデータの流れを示す図である。
【図４６】
図４６は、図４１に示す場合における転送先のＳＡＭの処理を示すフローチャートである。
【図４７】
図４７は、図４１に示す場合における転送先のＳＡＭの処理を示すフローチャートである。
【図４８】
図４８は、図１に示すユーザホームネットワーク内のＳＡＭにおける各種の購入形態を説明するための図である。
【図４９】
図４９は、コンテンツの購入形態が未決定の図１１に示すＲＯＭ型の記録媒体をユーザホームネットワークがオフラインで配給を受けた場合に、ＡＶ機器において購入形態を決定する場合を説明するための図である。
【図５０】
図５０は、図４９に示す場合におけるＡＶ機器のＳＡＭ内でのデータの流れを示す図である。
【図５１】
図５１は、図４９に示す場合におけるＳＡＭの処理のフローチャートである。
【図５２】
図５２は、ユーザホームネットワーク内のＡＶ機器において購入形態が未決定のＲＯＭ型の記録媒体からセキュアコンテナを読み出して、これを他のＡＶ機器に転送してＲＡＭ型の記録媒体に書き込む際の処理の流れを説明するための図である。
【図５３】
図５３は、図５２に示す場合における転送元のＳＡＭ内でのデータの流れを示す図である。
【図５４】
図５４は、図５２において、転送元のＳＡＭから転送先のＳＡＭに転送されるセキュアコンテナのフォーマットを説明するための図である。
【図５５】
図５５は、図５２の場合における、転送元および転送先のＳＡＭの処理のフローチャートを示す図である。
【図５６】
図５６は、図５２の場合における、転送元および転送先のＳＡＭの処理のフローチャートを示す図である。
【図５７】
図５７は、図５２に示す場合における転送先のＳＡＭ内でのデータの流れを示す図である。
【図５８】
図５８は、ユーザホームネットワーク内でのバスへの機器の接続形態の一例を説明するための図である。
【図５９】
図５９は、ＳＡＭが作成するＳＡＭ登録リストのデータフォーマットを説明するための図である。
【図６０】
図６０は、ＥＭＤサービスセンタが作成する公開鍵証明書破棄リストのフォーマットを説明するための図である。
【図６１】
図６１は、ＥＭＤサービスセンタが作成するＳＡＭ登録リストのデータフォーマットを説明するための図である。
【図６２】
図６２は、ＳＡＭが持つセキュリティ機能を説明するための図である。
【図６３】
図６２は、図１に示すユーザホームネットワーク内の例えばネットワーク機器内での各種のＳＡＭに搭載形態の一例を説明するための図である。
【図６４】
図６４は、図６３に示すダウンロードメモリ周辺の詳細な回路構成を説明するための図である。
【図６５】
図６５は、図６３におけるホストＣＰＵとＳＡＭとの関係を説明するための図である。
【図６６】
図６６は、図６３におけるホストＣＰＵ、ＳＡＭ、ＡＶ圧縮・伸長用ＳＡＭおよび記録媒体の関係を説明するための図である。
【図６７】
図６７は、図６３におけるホストＣＰＵＯ、メディア・ドラブＳＡＭおよびＡＶ圧縮・伸長用ＳＡＭの関係を説明するための図である。
【図６８】
図６８は、権利処理用のＳＡＭの回路モジュールの第１形態を説明するための図である。
【図６９】
図６９は、図６８に示す回路モジュールを用いた場合のＳＡＭ内のハードウェア構成の一例を説明するための図である。
【図７０】
図７０は、権利処理用のＳＡＭのアドレス空間を説明するための図である。
【図７１】
図７１は、ホストＣＰＵのアドレス空間を説明するための図である。
【図７２】
図７２は、権利処理用のＳＡＭの回路モジュールの第２形態を説明するための図である。
【図７３】
図７３は、メデャアＳＡＭの回路モジュールを説明するための図である。
【図７４】
図７４は、ＲＯＭ型の記録媒体のメディアＳＡＭの出荷時における記憶データを説明するための図である。
【図７５】
図７５は、ＲＯＭ型の記録媒体のメディアＳＡＭの登録後における記憶データを説明するための図である。
【図７６】
図７６は、ＲＡＭ型の記録媒体のメディアＳＡＭの出荷時における記憶データを説明するための図である。
【図７７】
図７７は、ＲＡＭ型の記録媒体のメディアＳＡＭの登録後における記憶データを説明するための図である。
【図７８】
図７８は、ＡＶ圧縮・伸長用ＳＡＭの回路モジュールの第１形態を説明するための図である。
【図７９】
図７９は、メディア・ドライブＳＡＭの回路モジュールを説明するための図である。
【図８０】
図８０は、図１に示すＥＭＤシステムの全体動作のフローチャートである。
【図８１】
図８１は、第１実施形態のＥＭＤシステムにおいて用いられるセキュアコンテナの配送プロトコルの一例を説明するための図である。
【図８２】
図８２は、本発明の第２実施形態のＥＭＤシステムの全体構成図である。
【図８３】
図８３は、サービスプロバイダにおいて行われるセキュアコンテナの作成処理の手順を示すフローチャートである。
【図８４】
図８４は、図８２に示すサービスプロバイダからユーザホームネットワークに送信されるセキュアコンテナのフォーマットを説明するための図である。
【図８５】
図８５は、図８４に示すセキュアコンテナに格納されたコンテンツファイルの送信形態を説明するための図である。
【図８６】
図８６は、図８７に示すセキュアコンテナに格納されたキーファイルの送信形態を説明するための図である。
【図８７】
図８７は、図８１に示すＥＭＤサービスセンタの機能を示す図である。
【図８８】
図８８は、図８２に示すネットワーク機器の構成図である。
【図８９】
図８９は、図８８に示すＣＡモジュールの機能ブロック図である。
【図９０】
図９０は、図８２に示すＳＡＭの機能ブロック図であり、セキュアコンテナを入力してから復号するまでのデータの流れを示す図である。
【図９１】
図９１は、図９０に示す作業用メモリに記憶されるデータを説明するための図である。
【図９２】
図９２は、図８２に示すＳＡＭの機能ブロック図であり、コンテンツの購入・利用形態を決定する場合などのデータの流れを示す図である。
【図９３】
図９３は、図８２に示すＳＡＭにおけるセキュアコンテナの入力処理の手順を示すフローチャートである。
【図９４】
図９４は、図８２に示すネットワーク機器のダウンロードメモリにダウンロードされた既に購入形態が決定されたコンテンツファイルを、ＡＶ機器のＳＡＭに転送する場合を説明するための図である。
【図９５】
図９５は、図８２に示すネットワーク機器のダウンロードメモリにダウンロードされた既に購入形態が決定されたコンテンツファイルを、ＡＶ機器のＳＡＭに転送する場合の転送元のＳＡＭ内での処理の流れを説明するための図である。
【図９６】
図９６は、図９５に示す転送元のＳＡＭの処理を示すフローチャートである。
【図９７】
図９７は、図９４に示す場合に、転送元のＳＡＭから転送先のＳＡＭに転送されるセキュアコンテナのフォーマットを示す図である。
【図９８】
図９８は、図９４に示す場合の転送先のＳＡＭ内でのデータの流れを示す図である。
【図９９】
図９９は、図９４に示す場合の転送先のＳＡＭの処理のフローチャートである。
【図１００】
図１００は、図９４に示す場合の転送先のＳＡＭの処理のフローチャートである。
【図１０１】
図１０１は、図８２に示すユーザホームネットワーク内でのＳＡＭの接続形態の一例を説明するための図である。
【図１０２】
図１０２は、図８２に示すＥＭＤシステムの全体動作のフローチャートである。
【図１０３】
図１０３は、図８２に示すＥＭＤシステムの全体動作のフローチャートである。
【図１０４】
図１０４は、図８２に示すＥＭＤシステムのサービス形態の一例を示す図である。
【図１０５】
図１０５は、図８２に示すＥＭＤシステムにおいて採用されるセキュアコンテナの配送プロトコルを説明するための図である。
【図１０６】
図１０６は、従来のＥＭＤシステムの構成図である。
【符号の説明】
９０…ペイメントゲートウェイ、９１…決済機関、９２…ルート認証局、１００，３００…ＥＭＤシステム、１０１，３０１…コンテンツプロバイダ、１０２，３０２…ＥＭＤサービスセンタ、１０３，３０３…ユーザホームネットワーク、１０４，３０４…セキュアコンテナ、１０５1 〜１０５4 ，３０５1 〜３０５4 …ＳＡＭ、１０６…権利書データ、１０７，３０７…決済レポートデータ、１０８，３０８…利用履歴データ、１６０1 …ネットワーク機器、１６０2 〜１６０4 …ＡＶ機器、１５２，１５２ｃ，１５２ｓ…決済請求権データ、１９１…バス、３１０…サービスプロバイダ、３１１…ＣＡモジュール、３１２…プライスタグデータ、ＣＦ…コンテンツファイル、ＫＦ…キーファイル、Ｋｃ…コンテンツ鍵データ