(57)【要約】【課題】ネットワーク経由で配信されるコンテンツを汎用的な情報処理装置で再生する場合に、コンテンツの不正利用を効果的に防止する。【解決手段】耐タンパ性を備えるセキュアモジュール１１内に、復号鍵を記憶する鍵記憶部１１ａ、復号部１１ｂおよび暗号化部１１ｃを設ける。受信手段１２は、ネットワーク３経由で配信される配信データを受信し、復号部１１ｂに転送する。復号部１１ｂは、配信データを復号鍵でコンテンツに復号する。暗号化部１１ｃは、コンテンツを複数の部分コンテンツに分割して一時暗号鍵で暗号化する。また、一時暗号鍵を変更する毎に一時復号鍵の情報を出力する。再生手段１３は、暗号化された部分コンテンツを一時復号鍵で復号し、複数の部分コンテンツを結合して再生する。【選択図】図１
2008118265.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク経由で配信されるコンテンツを再生可能な情報処理装置において、
耐タンパ性を備えており、
暗号化された前記コンテンツである配信データを復号するための復号鍵を記憶する鍵記憶部と、
前記配信データが入力されると、前記鍵記憶部が記憶する前記復号鍵を用いて、前記配信データを前記コンテンツに復号する復号部と、
前記復号部が復号した前記コンテンツを複数の部分コンテンツに分割し、個々の前記部分コンテンツを所定の時間間隔で変更する一時暗号鍵で暗号化して内部伝送データとして出力すると共に、前記一時暗号鍵を変更する毎に前記内部伝送データを復号するための一時復号鍵の情報を出力する暗号化部と、
を有するセキュアモジュールと、
前記ネットワーク経由で配信される前記配信データを受信し、前記セキュアモジュール内の前記復号部に前記配信データを転送する受信手段と、
前記セキュアモジュール内の前記暗号化部が出力する前記内部伝送データと前記一時復号鍵の情報とを取得し、前記一時復号鍵を用いて前記内部伝送データを前記部分コンテンツに復号し、復号した複数の前記部分コンテンツを結合して前記コンテンツを再生する再生手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記セキュアモジュール内の前記暗号化部と前記再生手段とから共通にアクセス可能な共有記憶手段を更に有し、
前記暗号化部は、前記一時暗号鍵を変更する毎に、前記一時復号鍵を前記共有記憶手段内の任意の位置に格納すると共に、前記一時復号鍵の格納位置を示す位置情報を出力し、
前記再生手段は、前記暗号化部が出力する前記位置情報に基づいて前記共有記憶手段から前記一時復号鍵を取得する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記セキュアモジュールは、
前記復号鍵の生成に必要な初期情報が予め記憶された初期情報記憶部と、
前記復号鍵の変更を指示する鍵変更情報が入力されると、前記初期情報記憶部が記憶する前記初期情報と前記鍵変更情報とから前記復号鍵を生成して、前記鍵記憶部に記憶する鍵生成部と、
を更に有し、
前記受信手段は、前記鍵変更情報を受信すると、前記セキュアモジュール内の前記鍵生成部に前記鍵変更情報を転送する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記セキュアモジュールは、復号停止の命令が入力されると前記復号部による処理を停止させる命令受付部を更に有し、
前記情報処理装置内のプロセスの実行状況を継続的に監視し、前記コンテンツの再生に必要でないプロセスを検出すると、前記セキュアモジュール内の前記命令受付部に復号停止の命令を出力する監視手段を更に有する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記セキュアモジュールは、復号停止の命令が入力されると前記復号部による処理を停止させる命令受付部を更に有し、
利用者の操作入力を継続的に監視し、前記コンテンツの再生に必要でない操作入力を検出すると、前記セキュアモジュール内の前記命令受付部に復号停止の命令を出力する監視手段を更に有する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記セキュアモジュールは、復号停止の命令が入力されると前記復号部による処理を停止させる命令受付部を更に有し、
前記ネットワークを介した通信の状況を継続的に監視し、前記コンテンツの再生に必要でない通信を検出すると、前記セキュアモジュール内の前記命令受付部に復号停止の命令を出力する監視手段を更に有する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項７】
オペレーティングシステムの起動直後に、前記情報処理装置がもつ未使用のメモリ領域を全て確保すると共に、前記コンテンツの再生に必要なプロセスからメモリ取得要求がなされると、要求元のプロセスにメモリ領域を割り当て、前記コンテンツの再生に必要でないプロセスから前記メモリ取得要求がなされると要求を拒否する監視手段を更に有し、
前記再生手段は、前記コンテンツの再生のために追加のメモリ領域が必要になると、前記監視手段に前記メモリ取得要求を出力する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記セキュアモジュールは、
利用者情報を記憶する利用者情報記憶部と、
前記利用者情報の取得命令が入力されると、前記利用者情報記憶部が記憶する前記利用者情報を命令の入力元に出力する利用者管理部と、
を更に有し、
前記受信手段は、前記コンテンツの配信元との間で利用者認証が必要になると、前記セキュアモジュール内の前記利用者管理部に前記利用者情報の取得命令を出力し、取得した前記利用者情報を用いて認証処理を行う、
ことを特徴とする請求項１記載の情報処理装置。
【請求項９】
利用者情報を記憶する利用者情報記憶手段を更に有し、
前記セキュアモジュールは、
前記利用者情報に対応する改竄検査情報を記憶する識別情報記憶部と、
前記利用者情報の取得命令が入力されると、前記利用者情報記憶手段から前記利用者情報を取得し、前記利用者情報と前記識別情報記憶部が記憶する前記改竄検査情報とを照合し、改竄が検出された場合は命令の入力元に拒否応答を行い、改竄が検出されなかった場合は命令の入力元に前記利用者情報を出力する利用者管理部と、
を更に有し、
前記受信手段は、前記コンテンツの配信元との間で利用者認証が必要になると、前記セキュアモジュール内の前記利用者管理部に前記利用者情報の取得命令を出力し、前記利用者情報を取得した場合は前記利用者情報を用いて認証処理を行い、前記利用者情報を取得できない場合は前記コンテンツの受信に関する処理を停止する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項１０】
ネットワーク経由で配信されるコンテンツを再生可能な情報処理装置において、
耐タンパ性を備えており、
暗号化された前記コンテンツである配信データを復号するための復号鍵を記憶する鍵記憶部と、
前記配信データが入力されると、前記配信データを複数の部分配信データに分割する分割部と、
前記分割部が分割した個々の前記部分配信データを、所定の時間間隔で変更する一時暗号鍵で暗号化して内部伝送データとして出力すると共に、前記一時暗号鍵を変更する毎に、前記鍵記憶部が記憶する前記復号鍵を前記一時暗号鍵で暗号化して鍵データとし、前記内部伝送データを復号するための一時復号鍵の情報と前記鍵データの情報とを出力する暗号化部と、
を有するセキュアモジュールと、
前記ネットワーク経由で配信される前記配信データを受信し、前記セキュアモジュール内の前記分割部に前記配信データを転送する受信手段と、
前記セキュアモジュール内の前記暗号化部が出力する前記内部伝送データと前記一時復号鍵の情報および前記鍵データの情報とを取得し、前記一時復号鍵を用いて前記内部伝送データを前記部分配信データに復号し、復号した複数の前記部分配信データを結合して前記配信データとすると共に、前記一時復号鍵を用いて前記鍵データを前記復号鍵に復号し、前記復号鍵を用いて前記配信データを前記コンテンツに復号して再生する再生手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンテンツを再生可能な情報処理装置に関し、特にネットワーク経由で配信されるコンテンツを再生可能な情報処理装置に関する。
【背景技術】
【０００２】
近年、デジタル方式で符号化されたコンテンツを放送するデジタル放送が普及し始めている。デジタル方式はアナログ方式に比べて通信効率が高く、限られた通信帯域でも高品質なコンテンツを配信できる。また、コンテンツに対して多様な情報処理を行うことが容易である。
【０００３】
一方、デジタル方式のコンテンツは複製を行っても品質が劣化しないため、アナログ方式以上にコンテンツの保護が重要となる。この点、デジタル方式のコンテンツには、暗号化処理が施されていることが多い。従って、デジタル放送を視聴可能なテレビには、復号処理を行う回路が組み込まれている。また、デジタル放送を視聴可能なパーソナルコンピュータ（ＰＣ：Personal Computer）には、テレビチューナと復号処理を行う回路とを備えるハードウェアが搭載されている（例えば、特許文献１参照）。
【０００４】
ところで、コンテンツ視聴の利便性や柔軟性という観点から、放送だけでなくネットワーク経由でもコンテンツが配信されることが期待される。ネットワーク経由による配信では、利用者の好きな時間にコンテンツを視聴できるようにすること（オンデマンド配信）が容易である。また、利用者に応じて異なるコンテンツが配信されるようにすることも容易である（例えば、特許文献２参照）。
【０００５】
しかし、ネットワーク経由によるコンテンツ配信は、放送と比べて未だ広く普及しているとはいえない。ネットワーク経由で配信されたコンテンツを再生する装置として一般的なＰＣでは、現在、コンテンツの保護と利用者の利便性との両立が困難なためである。すなわち、ＰＣは汎用的な情報処理装置であるため、改竄されたソフトウェアによって、許可された範囲を超えて不正にコンテンツが利用される可能性を排除できない。一方、専用のハードウェアをＰＣに追加してコンテンツを再生する方法では（例えば、特許文献３参照）、さまざまな種類のコンテンツに柔軟に対応できず、ＰＣのもつ汎用性を生かすことができない。
【０００６】
そこで、現在、最小限のハードウェアをＰＣに追加するだけで、コンテンツ保護に配慮しつつソフトウェアでコンテンツを再生可能にする技術の開発が進められている。例えば、コンテンツを再生しているソフトウェアが、配信者が配布した正規のソフトウェアであるか否かをハードウェアで継続的に検査する技術が知られている（例えば、特許文献４参照）。このハードウェアとしては、内部に格納された情報に対して外部から参照や更新ができないという性質（耐タンパ性）を備えるものを用いる。これにより、改竄されたソフトウェアによってコンテンツが不正利用されることを防止でき、コンテンツの保護と利用者の利便性を両立できる。
【特許文献１】特開２００３−１９８５２７号公報
【特許文献２】特開２００４−５４９１３号公報
【特許文献３】特開２００３−１５８５１４号公報
【特許文献４】特開２００４−１２９２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献４記載の技術では、改竄されたソフトウェアによるコンテンツの不正利用を防止できるが、暗号化されたコンテンツを再生する処理内容自体が解析される可能性を排除できないという問題がある。すなわち、コンテンツを再生するソフトウェアのプログラムは再生時にメモリ上に展開されているため、利用者が作成したプログラムによってその挙動が監視され、処理内容が解析される可能性がある。ここで、コンテンツを復号するための復号鍵や復号アルゴリズムが解析されると、利用者によって自由に復号処理が行われてコンテンツが利用されてしまう。
【０００８】
本発明はこのような点に鑑みてなされたものであり、暗号化されたコンテンツを復号するための復号鍵や復号アルゴリズムが解析されることを防止することで、ネットワーク経由で配信されるコンテンツの不正利用を効果的に防止する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では上記課題を解決するために、図１に示すような情報処理装置１０が提供される。情報処理装置１０は、ネットワーク３経由で配信されるコンテンツを再生するものである。情報処理装置１０は、セキュアモジュール１１、受信手段１２および再生手段１３を有している。セキュアモジュール１１は、耐タンパ性を備えており、内部に鍵記憶部１１ａ、復号部１１ｂおよび暗号化部１１ｃを有している。鍵記憶部１１ａは、暗号化されたコンテンツである配信データを復号するための復号鍵を記憶する。復号部１１ｂは、配信データが入力されると、鍵記憶部１１ａが記憶する復号鍵を用いて、配信データをコンテンツに復号する。暗号化部１１ｃは、復号部１１ｂが復号したコンテンツを複数の部分コンテンツに分割し、個々の部分コンテンツを所定の時間間隔で変更する一時暗号鍵で暗号化して内部伝送データとして出力すると共に、一時暗号鍵を変更する毎に内部伝送データを復号するための一時復号鍵の情報を出力する。受信手段１２は、ネットワーク３経由で配信される配信データを受信し、セキュアモジュール１１内の復号部１１ｂに配信データを転送する。再生手段１３は、セキュアモジュール１１内の暗号化部１１ｃが出力する内部伝送データと一時復号鍵の情報とを取得し、一時復号鍵を用いて内部伝送データを部分コンテンツに復号し、復号した複数の部分コンテンツを結合してコンテンツを再生する。
【００１０】
このような情報処理装置１０によれば、受信手段１２により、ネットワーク３経由で配信される配信データが受信され、復号部１１ｂに転送される。復号部１１ｂにより、配信データが復号鍵でコンテンツに復号される。暗号化部１１ｃにより、コンテンツが複数の部分コンテンツに分割され、個々の部分コンテンツが一時暗号鍵で暗号化される。また、暗号化部１１ｃにより、一時暗号鍵が変更される毎に一時復号鍵の情報が出力される。そして、再生手段１３により、暗号化された部分コンテンツが一時復号鍵で復号され、復号された複数の部分コンテンツが結合されて再生される。
【００１１】
また、上記課題を解決するために、ネットワーク経由で配信されるコンテンツを再生可能な情報処理装置において、耐タンパ性を備えており、暗号化されたコンテンツである配信データを復号するための復号鍵を記憶する鍵記憶部と、配信データが入力されると、配信データを複数の部分配信データに分割する分割部と、分割部が分割した個々の部分配信データを、所定の時間間隔で変更する一時暗号鍵で暗号化して内部伝送データとして出力すると共に、一時暗号鍵を変更する毎に、鍵記憶部が記憶する復号鍵を一時暗号鍵で暗号化して鍵データとし、内部伝送データを復号するための一時復号鍵の情報と鍵データの情報とを出力する暗号化部と、を有するセキュアモジュールと、ネットワーク経由で配信される配信データを受信し、セキュアモジュール内の分割部に配信データを転送する受信手段と、セキュアモジュール内の暗号化部が出力する内部伝送データと一時復号鍵の情報および鍵データの情報とを取得し、一時復号鍵を用いて内部伝送データを部分配信データに復号し、復号した複数の部分配信データを結合して配信データとすると共に、一時復号鍵を用いて鍵データを復号鍵に復号し、復号鍵を用いて配信データをコンテンツに復号して再生する再生手段と、を有することを特徴とする情報処理装置が提供される。
【００１２】
このような情報処理装置によれば、受信手段により、ネットワーク経由で配信される配信データが受信され、分割部に転送される。分割部により、配信データが複数の部分配信データに分割される。暗号化部により、個々の部分配信データが一時暗号鍵で暗号化される。また、暗号化部により、一時暗号鍵が変更される毎に、一時復号鍵の情報と復号鍵を一時暗号鍵で暗号化した鍵データの情報とが出力される。そして、再生手段により、暗号化された部分配信データが一時復号鍵で復号され、復号された複数の部分配信データが結合されると共に、暗号化された復号鍵が一時復号鍵で復号され、配信データが復号鍵でコンテンツに復号されて再生される。
【発明の効果】
【００１３】
本発明では、耐タンパ性を備えるセキュアモジュール内に配信データに対する復号鍵を格納することとした。これにより、情報処理装置のメモリの内容を解析しても配信データの復号鍵を取得することができない。また、耐タンパ性を備えるセキュアモジュール内で、コンテンツを複数に分割して一時暗号鍵で再暗号化することとした。これにより、情報処理装置のメモリの内容を解析しても再暗号化のアルゴリズムを知ることができず、また、仮に一時復号鍵が知られた場合でもその影響範囲を最小限に抑えることができる。
【００１４】
更に、セキュアモジュール内ではコンテンツ自体を蓄積する必要がないため、最小限の記憶領域を備えればよく、セキュアモジュールの回路規模を抑制できる。
特に、セキュアモジュール内でコンテンツの復号処理を行うようにすることで、再生処理の仕組みが解析されることをより確実に防止できる。一方、コンテンツの復号処理をソフトウェアに委ねるようにすることで、セキュアモジュールの復号処理の能力を超えるコンテンツを受信する場合でも、情報処理装置がもつ演算装置の処理能力を活用して、コンテンツを正常に再生できる。また、より多様な暗号化アルゴリズムに対応して、復号処理を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概要を示す図である。図１に示す情報処理装置１０は、配信装置２が配信する配信データをネットワーク３経由で受信し、コンテンツに復号して表示装置４に表示するものである。情報処理装置１０は、セキュアモジュール１１、受信手段１２および再生手段１３を有する。セキュアモジュール１１は、耐タンパ性を備えており、内部に鍵記憶部１１ａ、復号部１１ｂおよび暗号化部１１ｃを有する。
【００１６】
鍵記憶部１１ａは、配信データを復号するための復号鍵を記憶する。配信データは、配信装置２によってコンテンツが暗号化されたものである。鍵記憶部１１ａには、配信装置２がコンテンツの暗号化に用いる暗号鍵に対応する復号鍵が予め格納される。なお、暗号化処理に共通鍵暗号方式が採用された場合、復号鍵は暗号鍵と同一となる。
【００１７】
復号部１１ｂは、セキュアモジュール１１の外部から配信データが入力されると、鍵記憶部１１ａに記憶された復号鍵を用いて、配信データをコンテンツに復号する。復号部１１ｂが実行する復号処理の手順は、配信装置２が実行する暗号化処理の手順に対応するように予め設定しておく。
【００１８】
暗号化部１１ｃは、復号部１１ｂが復号したコンテンツを複数の部分コンテンツに分割する。その後、暗号化部１１ｃは、個々の部分コンテンツを一時暗号鍵で暗号化し、内部伝送データとしてセキュアモジュール１１の外部に出力する。ここで、一時暗号鍵は、所定の時間間隔で変更される一時的な暗号鍵である。暗号化部１１ｃは、部分コンテンツの暗号化に用いる一時暗号鍵を変更すると、対応する一時復号鍵の情報も、セキュアモジュール１１の外部に出力する。
【００１９】
受信手段１２は、配信装置２からネットワーク３経由で配信データを受信する。そして、受信手段１２は、受信した配信データを、セキュアモジュール１１内の復号部１１ｂに転送する。
【００２０】
再生手段１３は、セキュアモジュール１１内の暗号化部１１ｃが出力する内部伝送データを取得する。また、暗号化部１１ｃが所定の時間間隔で出力する一時復号鍵の情報も取得する。そして、再生手段１３は、最新の一時復号鍵を用いて内部伝送データを部分コンテンツに順次復号し、複数の部分コンテンツを結合してコンテンツを再現する。その後、再生手段１３は、再現したコンテンツを再生して表示装置４に表示する。
【００２１】
なお、図１では、再生手段１３は表示装置４に対して出力を行っているが、再生するコンテンツに音声部分が含まれる場合、再生手段１３は図示しない音声出力装置に対しても出力を行う。また、音声のみのコンテンツを再生する場合も、同様の処理で実現できる。
【００２２】
このような情報処理装置１０によれば、受信手段１２により、配信装置２からネットワーク３経由で配信される配信データが受信され、復号部１１ｂに転送される。次に、復号部１１ｂにより、セキュアモジュール１１内で、配信データが復号鍵でコンテンツに復号される。そして、暗号化部１１ｃにより、セキュアモジュール１１内で、コンテンツが複数の部分コンテンツに分割され、個々の部分コンテンツが一時暗号鍵で暗号化される。また、一時暗号鍵が変更される毎に一時復号鍵の情報が出力される。その後、再生手段１３により、暗号化された部分コンテンツが一時復号鍵で復号され、復号された複数の部分コンテンツが結合されて再生される。
【００２３】
これにより、利用者がコンテンツの再生中に情報処理装置１０のメモリの内容を解析しても、復号鍵や復号アルゴリズム、再暗号化のアルゴリズムを知ることができない。また、仮に利用者に一時復号鍵が知られた場合でも、所定の時間間隔で変更されるため、その影響範囲を最小限に抑えることができる。更に、セキュアモジュール１１内にコンテンツを蓄積する必要がないため、セキュアモジュール１１は最小限の記憶領域を備えればよく、回路規模を抑制できる。
【００２４】
なお、セキュアモジュール１１が復号処理のための十分な処理能力を備えていない場合、復号処理を再生手段１３に委ねることもできる。すなわち、復号部１１ｂが復号処理を行わず、暗号化部１１ｃが二重に暗号化された状態の内部伝送データを出力し、再生手段１３が一時復号鍵と復号鍵とを用いて復号処理を行うようにすることもできる。この場合、情報処理装置１０は、セキュアモジュール１１の処理能力を超えるコンテンツを受信して再生することができる。また、より多様な暗号化アルゴリムに対応することができる。
【００２５】
［第１の実施の形態］
最初に、第１の実施の形態を図面を参照して詳細に説明する。
図２は、コンテンツ配信システムのシステム構成を示す図である。第１の実施の形態に係るコンテンツ配信システムは、利用者がネットワーク経由で配信されるコンテンツをＰＣを用いて視聴できるようにするシステムである。図２に示すコンテンツ配信システムはコンテンツ視聴ＰＣ１００，１００ａ，１００ｂ、コンテンツ配信サーバ２００およびネットワーク５０で構成される。コンテンツ視聴ＰＣ１００，１００ａ，１００ｂは、ネットワーク５０を介してコンテンツ配信サーバ２００と接続されている。
【００２６】
コンテンツ視聴ＰＣ１００，１００ａ，１００ｂは、利用者が操作するＰＣである。コンテンツ視聴ＰＣ１００，１００ａ，１００ｂには、通常のＰＣに搭載されているハードウェアおよびソフトウェアに加えて、ネットワーク経由で配信されるコンテンツを視聴するためのハードウェアおよびソフトウェアが搭載されている。
【００２７】
利用者は、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂを、通常のＰＣとしての用途とコンテンツを視聴する用途との両方に使用することができる。コンテンツ視聴ＰＣ１００，１００ａ，１００ｂは、利用者からコンテンツの視聴を開始する指示が入力されると、ネットワーク５０を介してコンテンツ配信サーバ２００に視聴要求を送信する。
【００２８】
コンテンツ配信サーバ２００は、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂから視聴要求を受信すると、保持しているコンテンツから要求されたコンテンツを検索する。そして、コンテンツ配信サーバ２００は、ネットワーク５０を介してコンテンツを視聴要求の要求元に配信する。なお、コンテンツ配信サーバ２００は、コンテンツの不正利用を防止するため、コンテンツを暗号化して配信する。また、必要に応じて、利用者がコンテンツを視聴する権利を有するか否かの認証を行う。
【００２９】
次に、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂおよびコンテンツ配信サーバ２００のハードウェア構成について説明する。
図３は、コンテンツ視聴ＰＣのハードウェア構成を示す図である。コンテンツ視聴ＰＣ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、通信インタフェース１０６およびセキュアＬＳＩ（Large Scale Integration）１０７が接続されている。
【００３０】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳプログラムやアプリケーションプログラムが格納される。
【００３１】
グラフィック処理装置１０４には、モニタ６１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ６１の画面に表示させる。入力インタフェース１０５には、キーボード６２とマウス６３とが接続されている。入力インタフェース１０５は、キーボード６２やマウス６３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク５０に接続されている。
【００３２】
セキュアＬＳＩ１０７には、耐タンパ性を備えるセキュア領域が設けられている。セキュア領域には、不正なプログラムから保護される必要がある情報が格納される。また、セキュア領域では、解析されることを防止する必要がある処理が実行される。セキュアＬＳＩ１０７は、ＲＡＭ１０２に格納されたプログラムやデータを読み出すことができる。また、セキュアＬＳＩ１０７は、ＲＡＭ１０２にデータを書き込むことができる。
【００３３】
なお、コンテンツ視聴ＰＣ１００ａ，１００ｂおよびコンテンツ配信サーバ２００も、コンテンツ視聴ＰＣ１００と同様のハードウェア構成によって実現できる。ただし、コンテンツ配信サーバ２００には、セキュアＬＳＩを搭載する必要はない。以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
【００３４】
次に、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂおよびコンテンツ配信サーバ２００のモジュール構成について説明する。
図４は、第１の実施の形態のコンテンツ視聴ＰＣの機能を示すブロック図である。コンテンツ視聴ＰＣ１００は、セキュア記憶部１１０、セキュア処理部１２０、共有記憶部１３０、利用者情報記憶部１４０、監視部１５０、受信部１６０および再生部１７０を有する。受信部１６０は、ネットワーク５０を介してコンテンツ配信サーバ２００と通信を行うことができる。再生部１７０は、モニタ６１の画面に再生中のコンテンツを表示することができる。
【００３５】
セキュア記憶部１１０、セキュア処理部１２０および共有記憶部１３０は、セキュアＬＳＩ１０７によって実現される。特に、セキュア記憶部１１０およびセキュア処理部１２０は、耐タンパ性を備えるセキュア領域内で実現される。利用者情報記憶部１４０は、ＨＤＤ１０３によって実現される。監視部１５０、受信部１６０および再生部１７０は、ＣＰＵ１０１によって実現される。
【００３６】
セキュア記憶部１１０には、コンテンツ配信サーバ２００から配信される配信データを復号するために必要な情報が格納される。また、利用者情報や監視部１５０および再生部１７０の処理機能が改竄されていないか検査するための情報も格納される。セキュア記憶部１１０に格納された情報は、セキュア領域内にあるため、ＣＰＵ１０１などから直接参照することができない。
【００３７】
セキュア処理部１２０は、受信部１６０から配信データを取得すると、セキュア記憶部１１０に格納された情報を参照して復号処理を行い、復号したコンテンツを所定のデータ長の部分コンテンツに分割する。その後、セキュア処理部１２０は、定期的に変更する一時暗号鍵を用いて、部分コンテンツを再暗号化し、内部伝送データとして再生部１７０に出力する。このとき、セキュア処理部１２０は、内部伝送データを復号するための一時復号鍵を、共有記憶部１３０に格納する。
【００３８】
また、セキュア処理部１２０は、セキュア記憶部１１０に格納された情報を参照して、利用者情報の管理や、監視部１５０および再生部１７０の処理機能が改竄されていないかの検査を行う。セキュア処理部１２０の処理機能は、セキュア領域内にあるため、ＣＰＵ１０１などによって処理の具体的な手順が解析されることがない。
【００３９】
共有記憶部１３０には、セキュア処理部１２０によって暗号化された内部伝送データを復号するための一時復号鍵が格納される。共有記憶部１３０に格納された情報は、セキュア処理部１２０と再生部１７０とから共通に参照および更新を行うことができる。
【００４０】
利用者情報記憶部１４０には、利用者情報が格納される。利用者情報には、予めコンテンツ提供者から割り当てられた利用者ＩＤ、コンテンツ視聴ＰＣ１００に搭載されているハードウェアおよびソフトウェアに関する情報、コンテンツの視聴履歴の情報が含まれる。利用者情報は、暗号化された状態で利用者情報記憶部１４０に格納される。
【００４１】
監視部１５０は、コンテンツ視聴ＰＣ１００における処理の実行状況を継続的に監視する。具体的には、監視部１５０は、コンテンツ視聴ＰＣ１００で実行されているプロセス、利用者による操作入力、他のコンピュータとの間の通信を監視する。ここで、コンテンツの再生に無関係な処理が検出されると、監視部１５０はセキュア処理部１２０にその旨を通知し、復号処理の停止を要求する。
【００４２】
また、監視部１５０は、利用者の操作入力やコンテンツの再生状況に応じて、利用者情報の更新をセキュア処理部１２０に指示する。また、監視部１５０は、セキュア処理部１２０からの要求に応じて、暗号化された状態の利用者情報を、セキュア処理部１２０と利用者情報記憶部１４０との間で中継する。
【００４３】
受信部１６０は、利用者からコンテンツの視聴が指示されると、コンテンツ配信サーバ２００に対してコンテンツの配信要求を送信する。そして、受信部１６０は、コンテンツ配信サーバ２００から、暗号化された状態のコンテンツである配信データを受信すると、受信した配信データをセキュア処理部１２０に転送する。また、受信部１６０は、コンテンツ配信サーバ２００から利用者認証を要求されると、セキュア処理部１２０を介して利用者情報を取得し、取得した利用者情報を用いて利用者認証の処理を行う。
【００４４】
再生部１７０は、セキュア処理部１２０が出力する内部伝送データを取得すると、共有記憶部１３０から一時復号鍵を取得し、内部伝送データを部分コンテンツに復号する。そして、再生部１７０は、複数の部分コンテンツを結合してコンテンツを再現し、再現したコンテンツを再生してモニタ６１に表示する。
【００４５】
なお、コンテンツ視聴ＰＣ１００およびコンテンツ配信サーバ２００は、暗号化方式として共通暗号方式を用いることとする。従って、暗号鍵と復号鍵、一時暗号鍵と一時復号鍵とは、それぞれ同一のデータである。それぞれの鍵は、例えば、１２８ビットの固定長のビット列である。
【００４６】
図５は、第１の実施の形態のセキュアＬＳＩの機能を示すブロック図である。図５は、セキュアＬＳＩ１０７内で実現されるセキュア記憶部１１０、セキュア処理部１２０および共有記憶部１３０の機能の詳細を示している。
【００４７】
セキュア記憶部１１０は、検査情報記憶部１１１、識別情報記憶部１１２、初期情報記憶部１１３、復号鍵記憶部１１４および位置決定情報記憶部１１５を有する。
検査情報記憶部１１１には、監視部１５０および再生部１７０の処理機能が改竄されていないか検査するための検査情報が予め格納される。具体的には、検査情報記憶部１１１には、監視部１５０および再生部１７０の処理機能を実現するためのプログラムが実行される際に、ＲＡＭ１０２に展開されるメモリイメージの少なくとも一部から計算される値が格納される。ここで計算される値は、プログラムの一部が改竄されると異なる値になるようにする。
【００４８】
識別情報記憶部１１２には、セキュアＬＳＩ１０７を一意に識別するＬＳＩ固有番号が予め格納される。格納されたＬＳＩ固有番号は、その後に変更されることはない。また、識別情報記憶部１１２には、最新の利用者情報から計算されるハッシュ値が格納される。ここで計算されるハッシュ値は、利用者情報の一部が改竄されると異なる値になるようにする。
【００４９】
初期情報記憶部１１３には、配信データを復号するための復号鍵を変更する際に、新しい復号鍵を生成するために用いられる初期情報が予め格納される。格納された初期情報は、コンテンツ配信サーバ２００がもつ初期情報と同一のものであり、その後に変更されることはない。
【００５０】
復号鍵記憶部１１４には、配信データを復号するための復号鍵が格納される。格納された復号鍵は、コンテンツ配信サーバ２００が配信データの暗号化に用いる暗号鍵を変更するのに併せて、適宜変更される。
【００５１】
位置決定情報記憶部１１５には、共有記憶部１３０がもつ記憶領域の中から一時復号鍵を格納する位置を決定するための位置決定プログラム情報が予め格納される。位置決定プログラム情報は、予め複数用意されている。また、位置決定情報記憶部１１５には、個々の位置決定プログラム情報に対応して、一時復号鍵が格納された位置を解読するための位置解読プログラム情報が予め格納されている。位置決定プログラム情報および位置解読プログラム情報は、プログラムの断片であり、上記処理の具体的な手順が記載されている。
【００５２】
セキュア処理部１２０は、改竄検査部１２１、命令受付部１２２、利用者管理部１２３、鍵生成部１２４、復号部１２５および再暗号化部１２６を有する。
改竄検査部１２１は、監視部１５０および再生部１７０が起動されると、これらの処理機能が改竄されていないか継続的に検査を行う。すなわち、改竄検査部１２１は、監視部１５０および再生部１７０に対応するメモリイメージをＲＡＭ１０２から取得し、取得したメモリイメージから所定の計算方法で値を計算して、検査情報記憶部１１１に格納された検査情報と照合する。ここで、両者の値が一致しない場合、改竄検査部１２１は、復号部１２５に配信データの復号処理を停止するよう指示する。両者の値が一致した場合、改竄検査部１２１は改竄検査を継続する。
【００５３】
命令受付部１２２は、セキュア処理部１２０の外部からの命令を受け付け、命令の種類に応じて、利用者管理部１２３、鍵生成部１２４もしくは復号部１２５を呼び出す。具体的には、命令受付部１２２は、利用者情報の取得命令を受け付けた場合、利用者管理部１２３に利用者情報の取得を指示する。利用者情報の更新命令を受け付けた場合、利用者管理部１２３に更新データを渡して利用者情報の更新を指示する。復号鍵の変更命令を受け付けた場合、鍵生成部１２４に復号鍵の生成に用いられる変更鍵を渡して復号鍵の変更を指示する。復号処理の停止命令を受け付けた場合、復号部１２５に復号処理の停止を指示する。
【００５４】
利用者管理部１２３は、命令受付部１２２から利用者情報の取得が指示されると、監視部１５０を介して、利用者情報記憶部１４０に格納された暗号化データを取得する。そして、取得した暗号化データを所定の方法で利用者情報に復号する。ここで、利用者管理部１２３は、復号した利用者情報からハッシュ値を計算し、識別情報記憶部１１２に格納されたハッシュ値と照合する。両者の値が一致しない場合、利用者管理部１２３は、利用者情報が改竄されている旨を要求元に応答する。両者の値が一致した場合、利用者管理部１２３は、識別情報記憶部１１２に格納されたＬＳＩ固有番号を利用者情報に追加して要求元に出力する。
【００５５】
また、利用者管理部１２３は、命令受付部１２２から利用者情報の更新が指示されると、上記と同様の方法で利用者情報を取得し、更新データに基づいて利用者情報を更新する。ここで、利用者管理部１２３は、更新後の利用者情報からハッシュ値を計算して、識別情報記憶部１１２に格納する。その後、利用者管理部１２３は、更新後の利用者情報を暗号化し、監視部１５０を介して利用者情報記憶部１４０に暗号化データを格納する。
【００５６】
鍵生成部１２４は、命令受付部１２２から復号鍵の変更が指示されると、初期情報記憶部１１３に格納された初期情報と、命令受付部１２２から受け取った変更鍵とから、復号鍵を生成する。具体的には、例えば、初期情報と変更鍵との排他的論理和を復号鍵とする。そして、鍵生成部１２４は、生成した復号鍵を復号鍵記憶部１１４に格納する。
【００５７】
復号部１２５は、受信部１６０から配信データを取得すると、復号鍵記憶部１１４に格納された復号鍵を用いて、配信データをコンテンツに復号する。そして、復号部１２５は、復号したコンテンツを再暗号化部１２６に出力する。なお、復号部１２５は、改竄検査部１２１もしくは命令受付部１２２から復号処理の停止が指示された場合は、取得した配信データを破棄して復号処理を行わない。
【００５８】
再暗号化部１２６は、復号部１２５から取得したコンテンツを所定のデータ長の部分コンテンツに分割する。そして、再暗号化部１２６は、個々の部分コンテンツを一時暗号鍵で暗号化し、内部伝送データとして再生部１７０に出力する。一時暗号鍵は再暗号化部１２６が所定の時間間隔で変更する一時的な暗号鍵である。
【００５９】
ここで、再暗号化部１２６は、一時暗号鍵を変更する毎に、それに対応する一時復号鍵（実際には、一時暗号鍵と同一の鍵）を一時復号鍵記憶部１３１に格納する。このとき、再暗号化部１２６は、位置決定情報記憶部１１５に格納された位置決定プログラム情報の中から１つを選択し、選択した位置決定プログラム情報に記述された処理を実行することで、一時復号鍵を格納する位置を決定する。そして、再暗号化部１２６は、選択した位置決定プログラム情報に対応する位置解読プログラム情報を、位置決定情報記憶部１１５から取得し、再生部１７０に通知する。
【００６０】
共有記憶部１３０は、一時復号鍵記憶部１３１を有する。一時復号鍵記憶部１３１には、再暗号化部１２６が出力する一時復号鍵が格納される。格納された一時復号鍵は、再生部１７０によって読み出される。
【００６１】
以上、コンテンツ視聴ＰＣ１００のモジュール構成について説明したが、コンテンツ視聴ＰＣ１００ａ，１００ｂも、コンテンツ視聴ＰＣ１００と同様のモジュール構成によって実現できる。
【００６２】
図６は、コンテンツ配信サーバの機能を示すブロック図である。コンテンツ配信サーバ２００は、コンテンツ記憶部２１０、認証情報記憶部２２０、送信部２３０、利用者認証部２４０、初期情報記憶部２５０、鍵生成部２６０、暗号鍵記憶部２７０および暗号化部２８０を有する。送信部２３０は、ネットワーク５０を介してコンテンツ視聴ＰＣ１００，１００ａ，１００ｂと通信を行うことができる。
【００６３】
コンテンツ記憶部２１０には、個々のコンテンツがファイルとして予め格納される。また、必要に応じて、コンテンツについての書誌情報であるメタ情報も格納される。コンテンツには、動画コンテンツ、静止画コンテンツ、音声コンテンツが含まれる。ただし、本実施の形態では、主に動画コンテンツの配信を想定する。
【００６４】
認証情報記憶部２２０には、利用者がコンテンツを視聴する権利を有しているか認証するための認証情報が格納される。認証情報には、契約時に個々の利用者に付与された利用者ＩＤ、セキュアＬＳＩを識別するＬＳＩ固有番号、契約内容に応じた視聴可能なコンテンツに関する情報が含まれる。
【００６５】
送信部２３０は、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂからコンテンツの視聴要求を受信すると、視聴要求の要求元に要求して利用者情報を取得する。そして、送信部２３０は、利用者認証部２４０に利用者認証を指示する。利用者認証に成功した場合、送信部２３０は、暗号化部２８０に要求されたコンテンツの暗号化を指示し、暗号化された状態のコンテンツを配信データとして順次要求元に送信する。利用者認証に失敗した場合、送信部２３０は、その旨を要求元に応答する。
【００６６】
また、送信部２３０は、鍵生成部２６０から暗号鍵の変更（すなわち、復号鍵の変更）に用いる変更鍵を受け取ると、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂに変更鍵を送信する。なお、変更鍵を受け取った時点で通信が確立していないコンテンツ視聴ＰＣに対しては、その後、通信が確立した直後に変更鍵を送信する。
【００６７】
利用者認証部２４０は、送信部２３０から利用者認証が指示されると、取得した情報と認証情報記憶部２２０に格納された認証情報とを照合して、利用者認証を行う。例えば、利用者認証部２４０は、要求元の利用者が契約をしている正規の利用者であるか、正規のセキュアＬＳＩが使用されているかを確認する。また、利用者認証部２４０は、要求されたコンテンツの視聴が制限されていないか確認する。そして、利用者認証部２４０は、利用者認証の結果を送信部２３０に通知する。
【００６８】
初期情報記憶部２５０には、暗号鍵を変更する際に、新しい暗号鍵を生成するために用いられる初期情報が予め格納される。格納された初期情報は、コンテンツ視聴ＰＣ１００，１００ａ，１００ｂがもつ初期情報と同一のものであり、その後に変更されることはない。
【００６９】
鍵生成部２６０は、所定の時間間隔で、コンテンツを暗号化するための暗号鍵を変更する。具体的には、鍵生成部２６０は、まず変更鍵をランダムに生成する。そして、初期情報記憶部２５０に格納された初期情報と生成した変更鍵とから暗号鍵を生成する。例えば、鍵生成部２６０は、初期情報と変更鍵との排他的論理和を暗号鍵とする。その後、鍵生成部２６０は、生成した暗号鍵を暗号鍵記憶部２７０に格納する。また、鍵生成部２６０は、送信部２３０に変更鍵を通知する。
【００７０】
暗号鍵記憶部２７０には、鍵生成部２６０によって生成された最新の暗号鍵が格納される。また、格納された暗号鍵は、暗号化部２８０によって取得される。
暗号化部２８０は、送信部２３０からコンテンツの暗号化が指示されると、コンテンツ記憶部２１０を検索して指示されたコンテンツを取得する。そして、暗号化部２８０は、暗号鍵記憶部２７０に格納された暗号鍵を用いて、取得したコンテンツを先頭から順次暗号化し、送信部２３０に出力する。
【００７１】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。なお、以下の説明では、利用者がコンテンツ視聴ＰＣ１００を使用してコンテンツを視聴する場合について述べる。コンテンツ視聴ＰＣ１００ａ，１００ｂを使用する場合も、同様の処理が実行される。
【００７２】
最初にＰＣ起動処理の流れについて説明する。コンテンツ視聴ＰＣ１００の起動後、ＯＳはその用途に応じてＰＣの環境設定を行う。
図７は、ＰＣ起動処理の手順を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。
【００７３】
［ステップＳ１１］ＣＰＵ１０１は、ＨＤＤ１０３に格納されているＯＳプログラムを実行してＯＳを起動する。ＯＳは利用者にログインＩＤの入力を促し、入力されたログインＩＤを取得する。
【００７４】
［ステップＳ１２］ＯＳは、入力されたログインＩＤがコンテンツ視聴用ＩＤか否か判断する。ここで、コンテンツ視聴用ＩＤとは、コンテンツ視聴ＰＣ１００をコンテンツを視聴する用途で使用するための専用のログインＩＤである。コンテンツ視聴用ＩＤは、予めＯＳに設定されている。ログインＩＤがコンテンツ視聴用ＩＤの場合、処理がステップＳ１３に進められる。コンテンツ視聴用ＩＤでない場合、処理がステップＳ１９に進められる。
【００７５】
［ステップＳ１３］ＯＳは、監視部１５０の処理機能を実現するプログラムをＲＡＭ１０２に展開して監視部１５０を起動する。なお、コンテンツ視聴用ＩＤでログインした場合、最初に監視部１５０が起動されることが、予めＯＳに設定されている。
【００７６】
［ステップＳ１４］監視部１５０は、コンテンツ視聴ＰＣ１００で使用可能なメモリ領域のうち、起動した時点で未使用のメモリ領域を全て確保する。
［ステップＳ１５］監視部１５０は、ステップＳ１４で確保したメモリ領域の中から受信部１６０のためのメモリ領域を割り当て、受信部１６０を起動する。同様に、監視部１５０は、再生部１７０のためのメモリ領域を割り当て、再生部１７０を起動する。なお、再生部１７０は、その後メモリ領域が不足した場合、監視部１５０に依頼して追加のメモリ領域を割り当ててもらう。
【００７７】
［ステップＳ１６］改竄検査部１２１は、ステップＳ１５で受信部１６０および再生部１７０が起動されると、改竄の有無を検査する。すなわち、改竄検査部１２１は、ＲＡＭ１０２に展開されたメモリイメージから計算される値と、検査情報記憶部１１１に格納された検査情報とを照合する。
【００７８】
［ステップＳ１７］改竄検査部１２１は、ステップＳ１６の照合の結果、２つの値が一致するか、すなわち、改竄がないか判断する。改竄がない場合には、ＰＣ起動処理が終了する。改竄がある場合には、処理がステップＳ１８に進められる。
【００７９】
［ステップＳ１８］改竄検査部１２１は、コンテンツの再生が既に開始されているときは、復号部１２５に復号処理の停止を指示する。
［ステップＳ１９］ＯＳは、通常の設定情報を適用して、コンテンツ視聴ＰＣ１００を通常のＰＣとして使用するための環境設定を行う。
【００８０】
なお、コンテンツ視聴用ＩＤでログインが行われた場合、その後、上記ステップＳ１６〜Ｓ１８の処理が、改竄検査部１２１によって定期的に実行される。
このようにして、ＯＳは、コンテンツ視聴用ＩＤでログインが行われると、最初に監視部１５０を起動する。監視部１５０は、未使用のメモリ領域を全て確保する。そして、監視部１５０は、受信部１６０および再生部１７０を起動する。これにより、監視部１５０が許可しないプロセスの実行を阻止することができる。その後、改竄検査部１２１は、監視部１５０および再生部１７０の改竄の有無を検査し、改竄が検出されると、コンテンツの復号を停止してログオフを行う。一方、ＯＳは、通常のログインＩＤでログインが行われると、通常の設定情報に従って環境設定を行う。
【００８１】
次に、ＰＣ監視処理の流れについて説明する。ＯＳによって監視部１５０が起動されると、監視部１５０はコンテンツ視聴ＰＣ１００で不正な処理が行われていないか継続的に監視する。
【００８２】
図８は、ＰＣ監視処理の手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ２１］監視部１５０は、プロセスの実行状況を検査する。コンテンツ視聴ＰＣ１００で実行されているプロセスの情報は、例えば、ＯＳから取得する。
【００８３】
［ステップＳ２２］監視部１５０は、ステップＳ２１の検査の結果から、コンテンツの再生に無関係なプロセスが実行されているか判断する。コンテンツの再生に無関係なプロセスとは、監視部１５０、受信部１６０、再生部１７０およびＯＳに関するプロセス以外のものである。無関係なプロセスが実行されている場合には、処理がステップＳ２７に進められる。無関係なプロセスが実行されていない場合には、処理がステップＳ２３に進められる。
【００８４】
［ステップＳ２３］監視部１５０は、利用者による操作入力を検査する。すなわち、監視部１５０は、キーボード６２およびマウス６３からの入力内容を検査する。
［ステップＳ２４］監視部１５０は、ステップＳ２３の検査の結果から、コンテンツの再生に無関係な操作入力が行われたか判断する。コンテンツの再生に無関係な操作入力とは、再生部１７０に対する正規の操作入力以外のものである。無関係な操作入力があった場合には、処理がステップＳ２７に進められる。無関係な操作入力がない場合には、処理がステップＳ２５に進められる。
【００８５】
［ステップＳ２５］監視部１５０は、通信インタフェース１０６による通信の状況を検査する。
［ステップＳ２６］監視部１５０は、ステップＳ２５の検査の結果から、コンテンツの再生に無関係な通信が行われたか判断する。コンテンツの再生に無関係な通信とは、コンテンツ配信サーバ２００との間の通信以外のものである。無関係な通信があった場合には、処理がステップＳ２７に進められる。無関係な通信がない場合には、処理がステップＳ２１に進められる。
【００８６】
［ステップＳ２７］監視部１５０は、命令受付部１２２に対して復号処理の停止命令を出力する。命令受付部１２２は、復号部１２５に復号処理の停止を指示する。復号部１２５は、復号処理を停止し、その後に取得した配信データを破棄する。
【００８７】
［ステップＳ２８］監視部１５０は、ＯＳにログオフを指示する。ＯＳは、監視部１５０、受信部１６０および再生部１７０に対応するプロセスを終了させ、ログオフを行う。
このようにして、監視部１５０は、不正なプロセスが実行された場合、不正な操作入力があった場合および不正な通信があった場合は、即座に復号処理を停止し、ログオフが行われるようにする。これにより、コンテンツ視聴ＰＣ１００で不正な処理、すなわち、コンテンツの複製を試みる処理が確実に防止される。
【００８８】
次に、利用者情報更新処理の流れについて説明する。監視部１５０は、利用者が入力した情報やコンテンツの視聴履歴の情報を、適宜、利用者情報に反映させる。
図９は、利用者情報更新処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ３１］監視部１５０は、利用者情報の更新データを取得する。具体的には、監視部１５０は、利用者の操作によって入力された情報を取得する。また、監視部１５０は、コンテンツ視聴ＰＣ１００に搭載されたハードウェアおよびソフトウェアの構成が変更されると、その構成情報をＯＳから取得する。また、監視部１５０は、再生部１７０でコンテンツの再生が行われると、視聴履歴の情報を取得する。そして、監視部１５０は、利用者情報の更新データと併せて更新命令を命令受付部１２２に出力する。
【００９０】
［ステップＳ３２］命令受付部１２２は、利用者管理部１２３に利用者情報の更新を指示する。利用者管理部１２３は、監視部１５０を介して利用者情報記憶部１４０に格納されている最新の暗号化データを取得し、利用者情報に復号する。そして、利用者管理部１２３は、利用者情報に更新データを適用して、更新後の利用者情報を生成する。
【００９１】
［ステップＳ３３］利用者管理部１２３は、ステップＳ３２で生成した利用者情報に対して所定のハッシュ関数を適用し、ハッシュ値を計算する。
［ステップＳ３４］利用者管理部１２３は、ステップＳ３２で生成した利用者情報を所定の方法で暗号化する。
【００９２】
［ステップＳ３５］利用者管理部１２３は、識別情報記憶部１１２に格納されているハッシュ値を、ステップＳ３３で計算したハッシュ値に置き換える。
［ステップＳ３６］利用者管理部１２３は、ステップＳ３４で生成された暗号化データを、監視部１５０に出力する。監視部１５０は、取得した暗号化データを利用者情報記憶部１４０に格納する。
【００９３】
このようにして、監視部１５０は、利用者情報に追加すべき情報を取得すると、利用者管理部１２３に利用者情報の更新を依頼する。利用者管理部１２３は、更新後の利用者情報を暗号化し、利用者情報記憶部１４０に格納する。また、利用者管理部１２３は、更新後の利用者情報からハッシュ値を計算し、識別情報記憶部１１２に格納する。
【００９４】
次に、利用者認証処理の流れについて説明する。コンテンツ配信サーバ２００は、コンテンツの配信時にコンテンツ視聴ＰＣ１００から利用者情報を取得し利用者認証を行う。
図１０は、利用者認証処理の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
【００９５】
［ステップＳ４１］コンテンツ配信サーバ２００の送信部２３０は、コンテンツ視聴ＰＣ１００からコンテンツの視聴要求があると、利用者情報の取得要求をコンテンツ視聴ＰＣ１００に送信する。
【００９６】
［ステップＳ４２］コンテンツ視聴ＰＣ１００の受信部１６０は、命令受付部１２２に、利用者情報の取得命令を出力する。
［ステップＳ４３］命令受付部１２２は、利用者管理部１２３に利用者情報の取得を指示する。利用者管理部１２３は、監視部１５０を介して、利用者情報記憶部１４０に格納された最新の暗号化データを取得する。
【００９７】
［ステップＳ４４］利用者管理部１２３は、ステップＳ４３で取得した暗号化データを、所定の方法で利用者情報に復号する。
［ステップＳ４５］利用者管理部１２３は、ステップＳ４４で復号した利用者情報に所定のハッシュ関数を適用して、ハッシュ値を計算する。そして、利用者管理部１２３は、計算したハッシュ値と、識別情報記憶部１１２に格納されたハッシュ値とを照合する。
【００９８】
［ステップＳ４６］利用者管理部１２３は、ステップＳ４５の照合の結果、２つのハッシュ値が一致するか、すなわち、利用者情報に改竄がないか判断する。改竄がない場合、処理がステップＳ４７に進められる。改竄がある場合、処理がステップＳ４８に進められる。
【００９９】
［ステップＳ４７］利用者管理部１２３は、ステップＳ４４で復号した利用者情報に、識別情報記憶部１１２に格納されたＬＳＩ固有番号を付加し、受信部１６０に出力する。
［ステップＳ４８］利用者管理部１２３は、受信部１６０に利用者情報が改竄されている旨の応答を行う。
【０１００】
［ステップＳ４９］受信部１６０は、ステップＳ４７で取得した利用者情報、または、利用者情報の取得に失敗した旨をコンテンツ配信サーバ２００に送信する。
［ステップＳ５０］送信部２３０は、コンテンツ視聴ＰＣ１００から利用者情報を取得できた場合、利用者認証部２４０に利用者認証の処理を実行させ、認証の成否に応じて配信の可否を判断する。コンテンツ視聴ＰＣ１００から利用者情報を取得できなかった場合、配信を拒否する。
【０１０１】
このようにして、受信部１６０は、コンテンツ配信サーバ２００から利用者情報の取得要求がなされると、利用者管理部１２３に利用者情報の取得を依頼する。利用者管理部１２３は、暗号化されている利用者情報を取得して復号する。また、利用者管理部１２３は、利用者情報のハッシュ値を検査することで、改竄の有無を検査する。利用者管理部１２３は、改竄されてないことを確認できた場合のみ、利用者情報を出力する。
【０１０２】
図１１は、利用者情報の更新および取得の流れを示す模式図である。
利用者情報を更新する場合、まずセキュア処理部１２０内で更新後の利用者情報が作成される。利用者情報には、環境情報と履歴情報とが含まれる。環境情報には、利用者ＩＤと、ハードウェアおよびソフトウェアの構成情報であるＰＣ情報とが含まれる。履歴情報には、コンテンツの視聴日時、コンテンツＩＤおよび課金状況の情報が含まれる。また、利用者情報には、利用者情報のバージョンを示すバージョン番号が付与される。バージョン番号は、利用者情報が更新される毎に１ずつ加算される。
【０１０３】
そして、セキュア処理部１２０内で、利用者情報に対するハッシュ値が計算される。計算されたハッシュ値は、セキュア記憶部１１０内に格納される。また、最新の利用者情報のバージョン番号も、セキュア記憶部１１０内に格納される（ステップＳＴ１１）。その後、利用者情報が暗号化され、暗号化データが利用者情報記憶部１４０内に格納される（ステップＳＴ１２）。ここで、利用者情報記憶部１４０には、最新バージョンの暗号化データだけでなく、以前のバージョンの暗号化データも保持しておく。これは、利用者情報の更新状況を後に確認できるようにするためである。
【０１０４】
次に、利用者情報を取得する場合、利用者情報記憶部１４０に格納された最新の暗号化データが、セキュア処理部１２０内に複製され復号される（ステップＳＴ１３）。そして、更新時と同様にハッシュ値が計算される。計算されたハッシュ値は、セキュア記憶部１１０内に格納されたハッシュ値と比較されて、改竄の有無が判断される（ステップＳＴ１４）。
【０１０５】
このように、利用者情報をＨＤＤ１０３に格納するようにしたので、セキュア記憶部１１０には最小限の情報を格納すればよい。また、利用者情報は暗号化して格納すると共に、復号時にハッシュ値を用いて改竄の有無を検査するようにしたので、利用者情報が改竄されて利用者認証が不正に行われることを防止できる。
【０１０６】
次に、復号鍵変更処理の流れについて説明する。コンテンツ配信サーバ２００は、コンテンツを暗号化する暗号鍵を定期的に変更すると共に、コンテンツ視聴ＰＣ１００に復号鍵の変更を指示する。
【０１０７】
図１２は、復号鍵変更処理の手順を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］コンテンツ配信サーバ２００の鍵生成部２６０は、前回暗号鍵を変更してから所定時間経過すると、新たな暗号鍵を生成するための変更鍵をランダムに生成する。例えば、鍵生成部２６０は、１時間毎に変更鍵を生成する。
【０１０８】
［ステップＳ５２］鍵生成部２６０は、初期情報記憶部２５０に格納された初期情報と、ステップＳ５１で生成した変更鍵とから、暗号鍵を生成する。例えば、鍵生成部２６０は、初期情報と変更鍵との排他的論理和を暗号鍵とする。そして、鍵生成部２６０は、暗号鍵記憶部２７０に生成した暗号鍵を格納する。
【０１０９】
［ステップＳ５３］鍵生成部２６０は、変更鍵を送信部２３０に通知する。送信部２３０は、受け取った変更鍵をコンテンツ視聴ＰＣ１００に送信する。
［ステップＳ５４］コンテンツ視聴ＰＣ１００の受信部１６０は、受信した変更鍵と併せて、復号鍵の変更命令を命令受付部１２２に出力する。
【０１１０】
［ステップＳ５５］命令受付部１２２は、鍵生成部１２４に復号鍵の生成を指示する。鍵生成部１２４は、初期情報記憶部１１３に格納された初期情報と取得した変更鍵とから、復号鍵を生成する。実際には暗号鍵と復号鍵とは同一であるため、例えば、鍵生成部１２４は、初期情報と変更鍵との排他的論理和を復号鍵とする。そして、鍵生成部１２４は、生成した復号鍵を復号鍵記憶部１１４に格納する。
【０１１１】
［ステップＳ５６］受信部１６０は、復号鍵の変更が完了した旨の応答をコンテンツ配信サーバ２００に送信する。
［ステップＳ５７］送信部２３０は、コンテンツを暗号化する暗号鍵の変更を暗号化部２８０に指示する。暗号化部２８０は、暗号鍵記憶部２７０から変更後の暗号鍵を取得し、以降、取得した暗号鍵でコンテンツを暗号化する。
【０１１２】
このようにして、コンテンツ配信サーバ２００の鍵生成部２６０は、初期情報と変更鍵とから暗号鍵を生成すると共に、復号鍵の変更をコンテンツ視聴ＰＣ１００に指示する。コンテンツ視聴ＰＣ１００の鍵生成部１２４は、同様に、初期情報と変更鍵とから復号鍵を生成する。
【０１１３】
次に、コンテンツの再生処理の流れについて説明する。コンテンツ視聴ＰＣ１００は、コンテンツ配信サーバ２００から配信データを受信すると、配信データをコンテンツに復号して再生する。
【０１１４】
図１３は、第１の実施の形態の再生処理の手順を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
［ステップＳ６１］受信部１６０は、ネットワーク５０を介してコンテンツ配信サーバ２００から配信データを受信する。そして、受信部１６０は、受信した配信データを復号部１２５に転送する。
【０１１５】
［ステップＳ６２］復号部１２５は、取得した配信データを、復号鍵記憶部１１４に格納された復号鍵を用いて復号する。そして、復号部１２５は、復号したコンテンツを再暗号化部１２６に出力する。
【０１１６】
［ステップＳ６３］再暗号化部１２６は、取得したコンテンツを所定のデータ長の部分コンテンツに分割する。
［ステップＳ６４］再暗号化部１２６は、ステップＳ６３で分割した個々の部分コンテンツを一時暗号鍵で暗号化し、内部伝送データとして再生部１７０に出力する。ここで、一時暗号鍵は、所定の時間間隔で再暗号化部１２６がランダムに生成する一時的な暗号鍵である。例えば、再暗号化部１２６は、２秒毎に一時暗号鍵を切り替える。
【０１１７】
［ステップＳ６５］再暗号化部１２６は、ステップＳ６４の暗号化処理で、一時暗号鍵を前回用いたものから変更したか否か判断する。変更した場合には、処理がステップＳ６６に進められる。変更していない場合には、処理がステップＳ６９に進められる。
【０１１８】
［ステップＳ６６］再暗号化部１２６は、位置決定情報記憶部１１５に格納された複数の位置決定プログラム情報の中から１つ選択する。そして、再暗号化部１２６は、選択した位置決定プログラム情報に記述された処理手順に従って、一時復号鍵を格納する位置を計算する。また、格納位置を解読するために必要な位置鍵を生成する。その後、再暗号化部１２６は、一時復号鍵記憶部１３１の中の計算した位置に、一時暗号鍵を格納する。
【０１１９】
［ステップＳ６７］再暗号化部１２６は、位置決定情報記憶部１１５から、ステップＳ６６で選択した位置決定プログラム情報に対応する位置解読プログラム情報を取得する。そして、再暗号化部１２６は、ステップＳ６６で生成した位置鍵を再生部１７０に通知すると共に、位置解読プログラム情報を再生部１７０を実現するためのプログラムが展開されているメモリ領域の中の特定の位置に配置する。
【０１２０】
［ステップＳ６８］再生部１７０は、ステップＳ６７で配置された位置解読プログラム情報と通知された位置鍵とから、一時復号鍵の配置位置を計算する。そして、再生部１７０は、一時復号鍵記憶部１３１の中の計算した位置から、一時復号鍵を取得する。
【０１２１】
［ステップＳ６９］再生部１７０は、再暗号化部１２６から取得した内部伝送データを、一時復号鍵を用いて部分コンテンツに復号する。
［ステップＳ７０］再生部１７０は、ステップＳ６９で復号した複数の部分コンテンツを結合して、コンテンツを再現する。そして、再生部１７０は、再現したコンテンツを再生し、モニタ６１に表示する。
【０１２２】
このようにして、復号部１２５は、コンテンツ配信サーバ２００から配信された配信データを、復号鍵で復号する。再暗号化部１２６は、復号されたコンテンツを部分コンテンツに分割し、一時暗号鍵で暗号化して内部伝送データとする。ここで、一時暗号鍵が変更されると、再暗号化部１２６は、一時復号鍵記憶部１３１に新たな一時復号鍵を格納する。再生部１７０は、一時復号鍵記憶部１３１に格納された一時復号鍵を用いて、内部伝送データを部分コンテンツに復号する。そして、再生部１７０は、部分コンテンツを結合してコンテンツを再生する。
【０１２３】
図１４は、一時復号鍵の取得の流れを示す模式図である。
まず、セキュア記憶部１１０内に格納された位置決定プログラム情報の中から１つが選択され、セキュア処理部１２０内に読み込まれる（ステップＳＴ２１）。セキュア処理部１２０内では、読み込まれた位置決定プログラム情報に従って、共有記憶部１３０内の特定の位置が計算されると共に、その位置を解読するために必要な位置鍵が生成される。
【０１２４】
そして、計算された位置に、一時復号鍵が格納される（ステップＳＴ２２）。なお、一時復号鍵が格納される際に、格納位置が解析されるのを防止するため、他の領域にもダミーのデータが書き込まれる。
【０１２５】
次に、セキュア記憶部１１０内に格納された位置解読プログラム情報の中から、ステップＳＴ２１で選択された位置決定プログラムに対応するものが選択され、セキュア処理部１２０内に読み込まれる。また、他の１つ以上の位置解読プログラム情報もランダムに選択されて読み込まれる（ステップＳＴ２３）。
【０１２６】
そして、ステップＳＴ２３で選択された位置解読プログラム情報が、再生部１７０内に配置される（ステップＳＴ２４）。なお、格納位置の解読に必要ない位置解読プログラム情報も配置するのは、ＲＡＭ１０２が解析されて、位置解読プログラム情報が特定されるのを防ぐためである。また、位置決定プログラム情報に従って生成された位置鍵も、再生部１７０内に通知される（ステップＳＴ２５）。
【０１２７】
再生部１７０では、通知された位置鍵に基づいて、複数の位置解読プログラム情報の中から使用すべきものが１つ特定される。次に、特定された位置解読プログラム情報と位置鍵とに基づいて、一時復号鍵の格納位置が計算される。その後、共有記憶部１３０内の計算された位置にある一時復号鍵が、再生部１７０内に読み込まれる（ステップＳＴ２６）。
【０１２８】
このようなコンテンツ視聴ＰＣ１００を用いることで、コンテンツの再生中にＲＡＭ１０２に展開されたメモリイメージが解析されて復号鍵や復号アルゴリズムが知られることを確実に防止できる。また、内部伝送データを復号するための一時復号鍵を解析することも困難となる。また、仮に一時復号鍵が知られた場合であっても、所定の時間間隔で変更されるため、その影響範囲を最小限に抑えることができる。
【０１２９】
更に、セキュアＬＳＩ１０７は最小限の記憶領域を備えればよいため、回路規模を抑制できる。また、耐タンパ性を備えるＬＳＩの製造は高コストになりやすいため、回路規模を抑制は、製造コストの低減にも寄与する。
【０１３０】
［第２の実施の形態］
次に、第２の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【０１３１】
第２の実施の形態に係るコンテンツ配信システムは、図２に示した第１の実施の形態のシステム構成と同様の構成で実現できる。ただし、ネットワーク５０に、コンテンツ視聴ＰＣ１００ｃが接続されているものとする。コンテンツ視聴ＰＣ１００ｃのハードウェア構成は、図３に示したコンテンツ視聴ＰＣ１００のハードウェア構成と同様の構成で実現できる。
【０１３２】
次に、コンテンツ視聴ＰＣ１００ｃのモジュール構成について説明する。
図１５は、第２の実施の形態のコンテンツ視聴ＰＣの機能を示すブロック図である。コンテンツ視聴ＰＣ１００ｃは、セキュア記憶部１１０、セキュア処理部１２０ｃ、共有記憶部１３０ｃ、利用者情報記憶部１４０、監視部１５０、受信部１６０および復号再生部１７０ｃを有する。受信部１６０は、ネットワーク５０を介してコンテンツ配信サーバ２００と通信を行うことができる。復号再生部１７０ｃは、モニタ６１の画面に再生中のコンテンツを表示することができる。
【０１３３】
セキュア記憶部１１０、利用者情報記憶部１４０、監視部１５０および受信部１６０の処理機能は、図４に示した第１の実施の形態のものと同様である。
セキュア処理部１２０ｃは、受信部１６０から配信データを取得すると、復号処理を行わずに、配信データを所定のデータ長の部分配信データに分割する。その後、セキュア処理部１２０ｃは、定期的に変更する一時暗号鍵を用いて、部分配信データを更に暗号化し、内部伝送データとして復号再生部１７０ｃに出力する。このとき、セキュア処理部１２０ｃは、一時暗号鍵に対応する一時復号鍵と、復号鍵を一時暗号鍵で暗号化した鍵データとを、共有記憶部１３０ｃに格納する。その他のセキュア処理部１２０ｃの処理機能は、第１の実施の形態のセキュア処理部１２０のものと同様である。
【０１３４】
共有記憶部１３０ｃには、一時暗号鍵に対応する一時復号鍵と、復号鍵を一時暗号鍵で暗号化した鍵データとが格納される。共有記憶部１３０ｃに格納された情報は、セキュア処理部１２０ｃと復号再生部１７０ｃとから共通に参照および更新を行うことができる。
【０１３５】
復号再生部１７０ｃは、セキュア処理部１２０ｃが出力する内部伝送データを取得すると、共有記憶部１３０ｃから一時復号鍵と鍵データとを取得する。次に、復号再生部１７０ｃは、一時復号鍵を用いて、内部伝送データを部分配信データに復号すると共に、鍵データを復号鍵に復号する。そして、復号再生部１７０ｃは、複数の部分配信データを結合して配信データを再現し、復号した復号鍵を用いてコンテンツに復号する。その後、復号再生部１７０ｃは、復号したコンテンツを再生してモニタ６１に表示する。
【０１３６】
なお、一時暗号鍵と鍵データとを、セキュア処理部１２０ｃが共有記憶部１３０ｃに格納する方法、および、復号再生部１７０ｃが共有記憶部１３０ｃから取得する方法は、第１の実施の形態と同様の方法で実現できる。
【０１３７】
図１６は、第２の実施の形態のセキュアＬＳＩの機能を示すブロック図である。セキュア記憶部１１０のモジュール構成は、第１の実施の形態のものと同様である。
セキュア処理部１２０ｃは、改竄検査部１２１、命令受付部１２２、利用者管理部１２３、鍵生成部１２４、分割部１２５ｃおよび暗号化部１２６ｃを有する。改竄検査部１２１、命令受付部１２２、利用者管理部１２３および鍵生成部１２４の処理機能は、第１の実施の形態のものと同様である。
【０１３８】
分割部１２５ｃは、受信部１６０から配信データを取得すると、配信データを所定のデータ長の部分配信データに分割する。そして、部分配信データを、暗号化部１２６ｃに出力する。
【０１３９】
暗号化部１２６ｃは、分割部１２５ｃから取得した個々の部分配信データを、一時暗号鍵で暗号化し、内部伝送データとして復号再生部１７０ｃに出力する。ここで、暗号化部１２６ｃは、一時暗号鍵を変更する毎に、それに対応する一時復号鍵を一時復号鍵記憶部１３１に格納する。また、暗号化部１２６ｃは、復号鍵記憶部１１４に格納された復号鍵を一時暗号鍵で暗号化した鍵データを、復号鍵記憶部１３２に格納する。
【０１４０】
このとき暗号化部１２６ｃは、位置決定情報記憶部１１５に格納された位置決定プログラム情報の中から１つを選択し、選択した位置決定プログラム情報に記述された処理を実行することで、一時復号鍵および鍵データを格納する位置を決定する。そして、暗号化部１２６ｃは、選択した位置決定プログラム情報に対応する位置解読プログラム情報を、位置決定情報記憶部１１５から取得し、復号再生部１７０ｃに通知する。
【０１４１】
共有記憶部１３０ｃは、一時復号鍵記憶部１３１および復号鍵記憶部１３２を有する。一時復号鍵記憶部１３１には、暗号化部１２６ｃが出力する一時復号鍵が格納される。復号鍵記憶部１３２には、暗号化部１２６ｃが出力する鍵データが格納される。格納された一時復号鍵および鍵データは、復号再生部１７０ｃによって読み出される。
【０１４２】
図１７は、第２の実施の形態の再生処理の手順を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ７１］受信部１６０は、ネットワーク５０を介してコンテンツ配信サーバ２００から配信データを受信する。そして、受信部１６０は、受信した配信データを分割部１２５ｃに転送する。
【０１４３】
［ステップＳ７２］分割部１２５ｃは、取得した配信データを、所定のデータ長の部分配信データに分割する。そして、分割部１２５ｃは、部分配信データを暗号化部１２６ｃに出力する。
【０１４４】
［ステップＳ７３］暗号化部１２６ｃは、取得した個々の部分配信データを一時暗号鍵で暗号化し、内部伝送データとして復号再生部１７０ｃに出力する。
［ステップＳ７４］暗号化部１２６ｃは、ステップＳ７３の暗号化処理で、一時暗号鍵を前回用いたものから変更したか否か判断する。変更した場合には、処理がステップＳ７５に進められる。変更していない場合には、処理がステップＳ７８に進められる。
【０１４５】
［ステップＳ７５］暗号化部１２６ｃは、位置決定情報記憶部１１５に格納された複数の位置決定プログラム情報の中から１つ選択する。そして、暗号化部１２６ｃは、選択した位置決定プログラム情報に記述された処理手順に従って、一時復号鍵および暗号化した復号鍵である復号データを格納する位置を計算する。また、格納位置を解読するために必要な位置鍵を生成する。その後、暗号化部１２６ｃは、一時復号鍵記憶部１３１の中の計算した位置に一時暗号鍵を格納する。また、暗号化部１２６ｃは、復号鍵記憶部１１４に格納された復号鍵を一時暗号鍵で暗号化して鍵データを生成し、復号鍵記憶部１３２の中の計算した位置に鍵データを格納する。
【０１４６】
［ステップＳ７６］暗号化部１２６ｃは、位置決定情報記憶部１１５から、ステップＳ７５で選択した位置決定プログラム情報に対応する位置解読プログラム情報を取得する。そして、暗号化部１２６ｃは、ステップＳ７５で生成した位置鍵と位置解読プログラム情報とを、復号再生部１７０ｃを実現するためのプログラムが展開されているメモリ領域の中の特定の位置に配置する。
【０１４７】
［ステップＳ７７］復号再生部１７０ｃは、ステップＳ７６で配置された位置解読プログラム情報と位置鍵とから、一時復号鍵および鍵データの配置位置を計算する。そして、復号再生部１７０ｃは、一時復号鍵記憶部１３１の中の計算した位置から一時復号鍵を取得する。また、復号鍵記憶部１３２の中の計算した位置から鍵データを取得する。
【０１４８】
［ステップＳ７８］復号再生部１７０ｃは、暗号化部１２６ｃから取得した内部伝送データを、一時復号鍵を用いて部分配信データに復号する。また、復号再生部１７０ｃは、鍵データを、一時復号鍵を用いて復号鍵に復号する。
【０１４９】
［ステップＳ７９］復号再生部１７０ｃは、ステップＳ７８で復号した複数の部分配信データを結合して、配信データを再現する。そして、復号再生部１７０ｃは、再現した配信データを、ステップＳ７８で復号した復号鍵でコンテンツに復号する。
【０１５０】
［ステップＳ８０］復号再生部１７０ｃは、ステップＳ７９で復号したコンテンツを再生し、モニタ６１に表示する。
このようにして、分割部１２５ｃは、コンテンツ配信サーバ２００から配信された配信データを、部分配信データに分割する。暗号化部１２６ｃは、個々の部分配信データを一時暗号鍵で暗号化して、内部伝送データとする。ここで、一時暗号鍵が変更されると、暗号化部１２６ｃは、一時復号鍵記憶部１３１に新たな一時復号鍵を格納し、復号鍵記憶部１３２に復号鍵を一時暗号鍵で暗号化した鍵データを格納する。復号再生部１７０ｃは、一時復号鍵記憶部１３１に格納された一時復号鍵を用いて、内部伝送データを部分配信データに復号し、鍵データを復号鍵に復号する。そして、復号再生部１７０ｃは、部分配信データを結合して配信データを再現し、復号鍵でコンテンツに復号して再生する。
【０１５１】
このようなコンテンツ視聴ＰＣ１００ｃを用いることで、コンテンツの再生中にＲＡＭ１０２に展開されたメモリイメージが解析されて復号鍵や復号アルゴリズムが知られることを防止できる。また、内部伝送データを復号するための一時復号鍵を解析することも困難となる。また、仮に一時復号鍵が知られた場合であっても、所定の時間間隔で変更されるため、その影響範囲を最小限に抑えることができる。
【０１５２】
特に、ＣＰＵ１０１などの拡張容易なハードウェアで復号処理を行うため、セキュアモジュールが復号処理のための十分な処理能力を備えていない場合でも、円滑に復号処理を行うことが可能となる。また、より多様な暗号化アルゴリムに対応することができる。
【０１５３】
更に、セキュアＬＳＩは最小限の記憶領域を備えればよいため、回路規模を抑制できる。また、耐タンパ性を備えるＬＳＩの製造は高コストになりやすいため、回路規模の抑制は、製造コストの低減にも寄与する。
【０１５４】
以上、本発明の情報処理装置を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１５５】
なお、コンテンツ視聴ＰＣ１００，１００ｃが備える処理機能の一部をソフトウェアで実現する場合、その機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１５６】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどが挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などが挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）などが挙げられる。
【０１５７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５８】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１５９】
【図１】本実施の形態の概要を示す図である。
【図２】コンテンツ配信システムのシステム構成を示す図である。
【図３】コンテンツ視聴ＰＣのハードウェア構成を示す図である。
【図４】第１の実施の形態のコンテンツ視聴ＰＣの機能を示すブロック図である。
【図５】第１の実施の形態のセキュアＬＳＩの機能を示すブロック図である。
【図６】コンテンツ配信サーバの機能を示すブロック図である。
【図７】ＰＣ起動処理の手順を示すフローチャートである。
【図８】ＰＣ監視処理の手順を示すフローチャートである。
【図９】利用者情報更新処理の手順を示すフローチャートである。
【図１０】利用者認証処理の手順を示すフローチャートである。
【図１１】利用者情報の更新および取得の流れを示す模式図である。
【図１２】復号鍵変更処理の手順を示すフローチャートである。
【図１３】第１の実施の形態の再生処理の手順を示すフローチャートである。
【図１４】一時復号鍵の取得の流れを示す模式図である。
【図１５】第２の実施の形態のコンテンツ視聴ＰＣの機能を示すブロック図である。
【図１６】第２の実施の形態のセキュアＬＳＩの機能を示すブロック図である。
【図１７】第２の実施の形態の再生処理の手順を示すフローチャートである。
【符号の説明】
【０１６０】
２  配信装置
３  ネットワーク
４  表示装置
１０  情報処理装置
１１  セキュアモジュール
１１ａ  鍵記憶部
１１ｂ  復号部
１１ｃ  暗号化部
１２  受信手段
１３  再生手段
【図１】
2008118265.tif 000003
【図２】
2008118265.tif 000004
【図３】
2008118265.tif 000005
【図４】
2008118265.tif 000006
【図５】
2008118265.tif 000007
【図６】
2008118265.tif 000008
【図７】
2008118265.tif 000009
【図８】
2008118265.tif 000010
【図９】
2008118265.tif 000011
【図１０】
2008118265.tif 000012
【図１１】
2008118265.tif 000013
【図１２】
2008118265.tif 000014
【図１３】
2008118265.tif 000015
【図１４】
2008118265.tif 000016
【図１５】
2008118265.tif 000017
【図１６】
2008118265.tif 000018
【図１７】
2008118265.tif 000019