(57)【要約】【課題】一の暗号方式から他の暗号方式に切り替える場合に、復号装置による暗号化コンテンツデータの復号を正常に行わせ、暗号化コンテンツデータの安全性を高く保ち、伝送路の帯域消費量を低く抑える。【解決手段】圧縮符号化コンテンツデータから、各種ヘッダの開始符号を検出する開始符号検出部１２２と、開始符号とこれより後の可変長符号の一部分とを含むブロックデータを、２種類の暗号化アルゴリズムそれぞれにより暗号化して２種類の暗号化データを生成する暗号化部と、圧縮符号化コンテンツデータからブロックデータを除くデータから平文パケットデータを生成するストリーム生成部１２４と、２種類の暗号化データそれぞれに暗号化識別子を設けて暗号化パケットデータを生成する暗号化パケット生成部と、平文パケットデータと暗号化パケットデータを合成して暗号化コンテンツデータを生成するパケット合成部１２８とを備える。【選択図】図３
2013150147.tif 000002
【特許請求の範囲】
【請求項１】
符号化コンテンツデータから、所定の開始符号を検出する開始符号検出部と、
前記符号化コンテンツデータにおける、前記開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化して複数の暗号化データを生成する暗号化部と、
前記符号化コンテンツデータから前記ブロックデータを除くデータから平文パケットデータを生成する平文パケット生成部と、
前記複数の暗号化データそれぞれに互いに異なる暗号化識別子を設けて暗号化パケットデータを生成する暗号化パケット生成部と、
前記平文パケットデータと前記暗号化パケットデータとを合成して暗号化コンテンツデータを生成するパケット合成部と、
を備えることを特徴とする暗号化装置。
【請求項２】
符号化コンテンツデータにおける、所定の開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化するとともに互いに異なる暗号化識別子を設けてパケット化した複数の暗号化パケットデータと、前記符号化コンテンツデータから前記ブロックデータを除くデータから生成した平文パケットデータとを合成して得られた暗号化コンテンツデータを取り込む暗号化コンテンツデータ取得部と、
前記暗号化コンテンツデータを、前記平文パケットデータと前記複数の暗号化パケットデータとに分離するパケット分離部と、
前記複数の暗号化パケットデータから、あらかじめ記憶している自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを復号して復号データを生成する復号部と、
前記平文パケットと前記復号データとを合成してコンテンツデータを生成するパケット合成部と、
を備えることを特徴とする復号装置。
【請求項３】
コンピュータを、
符号化コンテンツデータから、所定の開始符号を検出する開始符号検出部と、
前記符号化コンテンツデータにおける、前記開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化して複数の暗号化データを生成する暗号化部と、
前記符号化コンテンツデータから前記ブロックデータを除くデータから平文パケットデータを生成する平文パケット生成部と、
前記複数の暗号化データそれぞれに互いに異なる暗号化識別子を設けて暗号化パケットデータを生成する暗号化パケット生成部と、
前記平文パケットデータと前記暗号化パケットデータとを合成して暗号化コンテンツデータを生成するパケット合成部と、
として機能させるための暗号化プログラム。
【請求項４】
コンピュータを、
符号化コンテンツデータにおける、所定の開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化するとともに互いに異なる暗号化識別子を設けてパケット化した複数の暗号化パケットデータと、前記符号化コンテンツデータから前記ブロックデータを除くデータから生成した平文パケットデータとを合成して得られた暗号化コンテンツデータを取り込む暗号化コンテンツデータ取得部と、
前記暗号化コンテンツデータを、前記平文パケットデータと前記複数の暗号化パケットデータとに分離するパケット分離部と、
前記複数の暗号化パケットデータから、あらかじめ記憶している自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを復号して復号データを生成する復号部と、
前記平文パケットと前記復号データとを合成してコンテンツデータを生成するパケット合成部と、
として機能させるための復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化装置、復号装置、暗号化プログラム、および復号プログラムに関する。
【背景技術】
【０００２】
近年、放送または通信によって、多数の利用者それぞれのコンテンツ再生装置にコンテンツデータを配信するコンテンツ配信サービスが実現されている。このコンテンツ配信サービスでは、当該サービスの正規利用者にのみコンテンツデータを取得させるため、コンテンツ配信装置は、暗号化したコンテンツデータを配信する。コンテンツ再生装置が、その暗号化コンテンツデータを受信して視聴可能な状態にする方法として、次のような方法が知られている。例えば、暗号化コンテンツデータを復号するための復号鍵を記憶した、耐タンパ性が強いＩＣカードを正規利用者に配布してコンテンツ再生装置に組み込ませすることにより、正規利用者のコンテンツ再生装置のみに、暗号化コンテンツデータを復号させる方法が知られている。また、あらかじめ復号鍵を組み込んだコンテンツ再生プログラムを実行させることにより、暗号化コンテンツデータを復号して再生するコンテンツ再生装置が知られている。このコンテンツ再生装置は、組み込まれるコンテンツ再生プログラムを、耐タンパ性が強いソフトウェア構造にするとともに、このコンテンツ再生装置に固有であって且つ正規の識別子を、コンテンツ再生プログラムを実行する制御部に参照させることにより、暗号化コンテンツデータを復号して再生する。
【０００３】
ただし、上述の方法によるコンテンツデータの保護は、暗号方式に対する攻撃方法が開発されていない場合に成り立つものである。
しかしながら、近年、普及している暗号方式に対する攻撃方法の開発事例が報告されている（例えば、非特許文献１、非特許文献２参照）。
【０００４】
これらの攻撃方法が適用された場合において、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；ＣＰＵ）等の演算処理部の処理能力が小さければ、暗号方式に対する攻撃には多大な時間を要するのが現状である。しかし、半導体メモリの大容量化等とともに、電子計算機の演算処理能力は年々高まっている。電子計算機の演算処理能力が高まるほど、電子計算機は、暗号方式の攻撃に要する時間を短くすることができる。これにより、暗号方式が完全に危殆化するおそれが強くなる。危殆化した暗号方式は安全ではないため、コンテンツ配信サービスでは、別の暗号方式を導入することとなる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】”Advances in Cryptology-EUROCRYPT’ 93”, Lecture Notes in Computer Science, vol. 765, pp. 386-397
【非特許文献２】”Fast Software Encryption 2009”, Lecture Notes in Computer Science, vol. 5665, pp. 296-307
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、多数のコンテンツ再生装置に対して暗号化コンテンツデータを一斉配信する、ブロードキャストサービスおよびマルチキャストサービスにおいては、暗号方式を現行方式から新方式に直ちに切り替えることができない。すなわち、コンテンツ再生装置は、現行の暗号方式に対応した復号アルゴリズムを組み込んだ復号部をハードウェアまたはソフトウェアとして実装しているため、暗号方式を変更する場合は、復号部の更新作業が必要となる。しかし、全てのコンテンツ再生装置に対してこの更新作業を同時に行うことは極めて困難である。
【０００７】
また、更新作業を一定期間内に行うこととした場合、その一定期間内に、現行の暗号方式に対応する復号アルゴリズムを組み込んだ復号部を実装したコンテンツ再生装置と、新しい暗号方式に対応する復号アルゴリズムを組み込んだ復号部を実装したコンテンツ再生装置とが混在することとなる。この混在状態において、コンテンツ配信サービスを行う事業者は、現行の暗号方式の暗号化アルゴリズムにより暗号化した暗号化コンテンツデータと、新しい暗号方式の暗号化アルゴリズムにより暗号化した暗号化コンテンツデータとの両方をコンテンツ配信装置により配信する必要がある。しかし、この場合、放送帯域や通信帯域における必要帯域が従来に対して約２倍となり、配信コストが高くなる。
【０００８】
本発明は、上記問題点を解決するためになされたものであり、例えば、多数の復号装置に暗号化コンテンツデータを一斉配信するコンテンツ配信サービスにおいて、一の暗号方式から他の暗号方式に切り替える場合に、復号装置による暗号化コンテンツデータの復号を正常に行わせ、暗号化コンテンツデータの安全性（秘匿性）を高く保ち、配信における伝送路の帯域消費量を低く抑えることができる、暗号化装置、復号装置、暗号化プログラム、および復号プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
［１］上記の課題を解決するため、本発明の一態様である暗号化装置は、符号化コンテンツデータから、所定の開始符号を検出する開始符号検出部と、前記符号化コンテンツデータにおける、前記開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化して複数の暗号化データを生成する暗号化部と、前記符号化コンテンツデータから前記ブロックデータを除くデータから平文パケットデータを生成する平文パケット生成部と、前記複数の暗号化データそれぞれに互いに異なる暗号化識別子を設けて暗号化パケットデータを生成する暗号化パケット生成部と、前記平文パケットデータと前記暗号化パケットデータとを合成して暗号化コンテンツデータを生成するパケット合成部と、を備えることを特徴とする。
ここで、符号化コンテンツデータは、例えば、ＭＰＥＧ−２ビデオ規格に基づき圧縮符号化処理された映像データやＭＰＥＧ−２オーディオ規格に基づき圧縮符号化処理された音声データである。この圧縮符号化処理は、可変長符号化処理を含む。所定の開始符号は、例えば、ＭＰＥＧ−２ビデオ規格によるデータ構造においては、シーケンス層、ＧＯＰ層、ピクチャ層、およびスライス層それぞれが含むヘッダのスタートコードである。なお、所定の開始符号を、ＧＯＰ層がＩピクチャであるスライス層におけるスライスヘッダのスタートコードとしてもよい。また、ＭＰＥＧ−２オーディオ規格によるデータ構造において、所定の開始符号は、例えば、Ａｕｄｉｏ  Ｄａｔａ  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ（ＡＤＴＳ）ヘッダである。開始符号と開始符号より後の可変長符号の一部分とを含むブロックデータは、例えば、スライスヘッダとこのスライスヘッダの後に存在する可変長符号のうち少なくとも先頭１ビットとを含む符号列である。また、平文パケットデータと暗号化パケットデータとを合成するとは、例えば、平文パケットデータと暗号化パケットデータとを連結することや、最小パケット単位で任意に組み合わせることである。
【００１０】
［２］上記の課題を解決するため、本発明の一態様である復号装置は、符号化コンテンツデータにおける、所定の開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化するとともに互いに異なる暗号化識別子を設けてパケット化した複数の暗号化パケットデータと、前記符号化コンテンツデータから前記ブロックデータを除くデータから生成した平文パケットデータとを合成して得られた暗号化コンテンツデータを取り込む暗号化コンテンツデータ取得部と、前記暗号化コンテンツデータを、前記平文パケットデータと前記複数の暗号化パケットデータとに分離するパケット分離部と、前記複数の暗号化パケットデータから、あらかじめ記憶している自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを復号して復号データを生成する復号部と、前記平文パケットと前記復号データとを合成してコンテンツデータを生成するパケット合成部と、を備えることを特徴とする。
【００１１】
［３］上記の課題を解決するため、本発明の一態様である暗号化プログラムは、コンピュータを、符号化コンテンツデータから、所定の開始符号を検出する開始符号検出部と、前記符号化コンテンツデータにおける、前記開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化して複数の暗号化データを生成する暗号化部と、前記符号化コンテンツデータから前記ブロックデータを除くデータから平文パケットデータを生成する平文パケット生成部と、前記複数の暗号化データそれぞれに互いに異なる暗号化識別子を設けて暗号化パケットデータを生成する暗号化パケット生成部と、前記平文パケットデータと前記暗号化パケットデータとを合成して暗号化コンテンツデータを生成するパケット合成部と、として機能させる。
【００１２】
［４］上記の課題を解決するため、本発明の一態様である復号プログラムは、コンピュータを、符号化コンテンツデータにおける、所定の開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化するとともに互いに異なる暗号化識別子を設けてパケット化した複数の暗号化パケットデータと、前記符号化コンテンツデータから前記ブロックデータを除くデータから生成した平文パケットデータとを合成して得られた暗号化コンテンツデータを取り込む暗号化コンテンツデータ取得部と、前記暗号化コンテンツデータを、前記平文パケットデータと前記複数の暗号化パケットデータとに分離するパケット分離部と、前記複数の暗号化パケットデータから、あらかじめ記憶している自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを復号して復号データを生成する復号部と、前記平文パケットと前記復号データとを合成してコンテンツデータを生成するパケット合成部と、として機能させる。
【発明の効果】
【００１３】
本発明によれば、例えば、多数の復号装置に暗号化コンテンツデータを一斉配信するコンテンツ配信サービスにおいて、一の暗号方式から他の暗号方式に切り替える場合に、復号装置による暗号化コンテンツデータの復号を正常に行わせ、暗号化コンテンツデータの安全性を高く保ち、配信における伝送路の帯域消費量を低く抑えることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態である暗号化装置および復号装置を適用したコンテンツ配信システムの概略の構成図である。
【図２】同実施形態において、コンテンツサーバの機能構成を示すブロック図である。
【図３】同実施形態において、暗号化サーバの機能構成を示すブロック図である。
【図４】同実施形態において、送信装置の機能構成を示すブロック図である。
【図５】同実施形態において、受信装置の機能構成を示すブロック図である。
【図６】同実施形態において、圧縮符号化コンテンツデータの階層化されたデータ構造のうち、スライス層の概略のデータ構成を示す図である。
【図７】同実施形態において、ストリーム生成部が生成する平文パケットデータの概略のデータ構成を示す図である。
【図８】同実施形態において、パケット合成部が生成する暗号化コンテンツデータの概略のデータ構成を示す図である。
【図９】同実施形態において、コンテンツサーバが実行する処理の手順を示すフローチャートである。
【図１０】同実施形態において、暗号化サーバが実行する処理の手順を示すフローチャートである。
【図１１】同実施形態において、送信装置が実行する処理の手順を示すフローチャートである。
【図１２】同実施形態において、受信装置が実行する処理の手順を示すフローチャートである。
【図１３】ＭＰＥＧ−２ビデオ規格によるデータ構造を有する圧縮符号化コンテンツデータのＧｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ（ＧＯＰ）を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
本発明の一実施形態は、放送局が実施する放送によるコンテンツ配信サービスを実現するコンテンツ配信システムの例である。また、本実施形態は、映像コンテンツのみを暗号化する例である。
【００１６】
図１は、本実施形態である暗号化装置および復号装置を適用したコンテンツ配信システムの概略の構成図である。
同図において、コンテンツ配信システム１は、放送局装置群１０と、送信アンテナ２０と、受信装置３０とを含んで構成される。受信装置３０は、復号装置を含む。実際には、受信装置３０は多数存在するが、本実施形態では、図を簡略化して説明を簡潔にするため、４台の受信装置３０（受信装置３０−１〜３０−４と呼ぶ。）を含む。
放送局装置群１０および送信アンテナ２０は、放送局が管理する装置群および設備である。受信装置３０は、視聴者が有する装置である。
【００１７】
放送局装置群１０は、放送局、番組制作会社等により制作されたコンテンツデータを圧縮符号化して圧縮符号化コンテンツデータを生成する。そして、放送局装置群１０は、圧縮符号化コンテンツデータを、本実施形態独自の方式によって暗号化し暗号化コンテンツデータを生成する。そして、放送局装置群１０は、暗号化コンテンツデータを放送信号に変換し、この放送信号を送信アンテナ２０に送信する。
【００１８】
放送局装置群１０は、その機能構成として、コンテンツサーバ１１と、暗号化サーバ１２と、送信装置１３と、ネットワーク１４とを備える。暗号化サーバ１２は、暗号化装置を含む。
【００１９】
ネットワーク１４は、コンテンツサーバ１１と暗号化サーバ１２と送信装置１３とを接続する通信回線である。ネットワーク１４は、例えば、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＩＰ）を用いて通信可能なコンピュータネットワークである。例えば、コンテンツサーバ１１および暗号化サーバ１２、暗号化サーバ１２および送信装置１３は、ネットワーク１４を通して通信を行う。
【００２０】
コンテンツサーバ１１は、図示しないコンテンツ供給装置からコンテンツデータと符号化レートとを取り込み、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを記憶する。コンテンツデータは、映像データ、音声データ等を含むデジタルデータである。本実施形態では、コンテンツデータは、少なくとも映像データを含む。また、圧縮符号化処理は、可変長符号化処理を含む。符号化レートは、送信アンテナ２０と受信装置３０との間の伝送路において使用可能な容量、つまり、使用可能帯域を示す値である。圧縮符号化コンテンツデータは、例えば、ＭＰＥＧ−２ビデオ規格に基づき圧縮符号化処理された映像データやＭＰＥＧ−２オーディオ規格に基づき圧縮符号化処理された音声データである。
【００２１】
暗号化サーバ１２は、コンテンツサーバ１１から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータの一部分であるブロックデータを、複数種類の暗号方式の暗号化アルゴリズムそれぞれによって暗号化する。ブロックデータは、圧縮符号化コンテンツデータの復号処理において同期をとるために必要な情報を含む。そして、暗号化サーバ１２は、暗号方式ごとに、暗号化したブロックデータに暗号方式を特定する暗号化識別子を設けて、複数の暗号化パケットデータを生成する。そして、暗号化サーバ１２は、これら複数の暗号化パケットデータと、圧縮符号化コンテンツデータにおいてブロックデータを除くデータとを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを記憶する。
【００２２】
送信装置１３は、暗号化サーバ１２から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータをデジタル放送の放送信号に変換する。そして、送信装置１３は、その放送信号を送信アンテナ２０に送信する。
【００２３】
送信アンテナ２０は、放送局装置群１０の送信装置１３が送信した放送信号による放送電波を空中に放射する。
【００２４】
受信装置３０は、送信アンテナ２０が放射した放送電波を受信することによって放送信号を取り込み、この放送信号から暗号化コンテンツデータを取得する。受信装置３０は、例えば、自装置に設定されている自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを暗号化コンテンツデータから抽出して復号することにより、ブロックデータを取得する。そして、受信装置３０は、暗号化コンテンツデータにおいて暗号化されていないデータとブロックデータとを合成し、コンテンツデータを生成（復元）する。受信装置３０は、このコンテンツデータを表示したり音声出力したりする。
【００２５】
本実施形態では、コンテンツ配信に使用する暗号方式を、現行の暗号方式である第１暗号方式から、別の暗号方式である第２暗号方式に切り替える場合を例として説明する。この例では、暗号化サーバ１２が圧縮符号化コンテンツデータを暗号化する暗号化アルゴリズムを、現行の暗号方式の暗号化アルゴリズムである第１暗号化アルゴリズムから、別の暗号方式の暗号化アルゴリズムである第２暗号化アルゴリズムに切り替える。
【００２６】
図２は、コンテンツサーバ１１の機能構成を示すブロック図である。
同図に示すように、コンテンツサーバ１１は、コンテンツ取得部１１１と、符号化レート取得部１１２と、コンテンツ圧縮符号化部１１３と、圧縮符号化コンテンツ記憶部１１４と、圧縮符号化コンテンツ供給部１１５とを備える。
【００２７】
コンテンツ取得部１１１は、前記のコンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部１１３に供給する。コンテンツ供給装置は、例えば、磁気ハードディスク装置、半導体ディスク装置等の記憶装置、ネットワーク１４を介して接続されるコンテンツ編集装置等である。
符号化レート取得部１１２は、図示しない符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部１１３に供給する。符号化レート供給装置は、例えば、キーボード、マウス等の入力装置、半導体メモリ等の記憶装置である。
【００２８】
コンテンツ圧縮符号化部１１３は、コンテンツ取得部１１１から供給されるコンテンツデータを取り込み、また、符号化レート取得部１１２から供給される符号化レートを取り込む。コンテンツ圧縮符号化部１１３は、コンテンツデータの圧縮符号化処理を実行して指定された符号化レート以下の符号化レートとなる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部１１４に供給する。圧縮符号化処理は、例えば、ＭＰＥＧ−２ビデオ規格による映像圧縮符号化処理である。この圧縮符号化処理には、可変長符号化処理としてハフマン符号化処理が含まれる。
【００２９】
圧縮符号化コンテンツ記憶部１１４は、コンテンツ圧縮符号化部１１３から供給される圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
【００３０】
圧縮符号化コンテンツ供給部１１５は、圧縮符号化コンテンツ記憶部１１４から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを、例えば暗号化サーバ１２に供給する。
【００３１】
図３は、暗号化サーバ１２の機能構成を示すブロック図である。
同図に示すように、暗号化サーバ１２は、圧縮符号化コンテンツ取得部１２１と、開始符号検出部１２２と、記憶部１２３と、ストリーム生成部１２４と、スタートコード検出部１２５と、第１暗号化部１２６−１と、第２暗号化部１２６−２と、第１暗号化パケット生成部１２７−１と、第２暗号化パケット生成部１２７−２と、パケット合成部１２８と、暗号化コンテンツ記憶部１２９と、暗号化コンテンツ供給部１３０とを備える。
【００３２】
なお、第１暗号化部１２６−１および第２暗号化部１２６−２を、暗号化部１２６と呼ぶことがある。また、第１暗号化パケット生成部１２７−１および第２暗号化パケット生成部１２７−２を、暗号化パケット生成部１２７と呼ぶことがある。
また、暗号化サーバ１２は、暗号化部１２６と暗号化パケット生成部１２７との対を複数系統備えるものであるが、本実施形態では２系統の例である。
【００３３】
圧縮符号化コンテンツ取得部１２１は、コンテンツサーバ１１から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを開始符号検出部１２２に供給する。
【００３４】
開始符号検出部１２２は、圧縮符号化コンテンツ取得部１２１から供給される圧縮符号化コンテンツデータを取り込んでこの圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域の開始符合を検出する。例えば、開始符号検出部１２２は、圧縮符号化コンテンツデータから、複数種類のデータ領域それぞれにおける開始符号を検出し、この開始符号の位置を特定する。そして、開始符号検出部１２２は、圧縮符号化コンテンツデータと、各データ領域における開始符号の位置を示す開始符号位置情報とを、記憶部１２３に供給する。
【００３５】
ここで、圧縮符号化コンテンツデータが、ＭＰＥＧ−２ビデオ規格に基づき圧縮符号化されてファイル化されたＭＰＥＧ−２映像ファイルデータである場合の例について、具体的に説明する。この例において、圧縮符号化コンテンツデータは、ＭＰＥＧ−２ビデオ規格によるデータ構造を有する。具体的には、圧縮符号化コンテンツデータは、例えば、シーケンス層（Ｓｅｑｕｅｎｃｅ  Ｌａｙｅｒ）から、ＧＯＰ層（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ  Ｌａｙｅｒ）、ピクチャ層（Ｐｉｃｔｕｒｅ  Ｌａｙｅｒ）、スライス層（Ｓｌｉｃｅ  Ｌａｙｅｒ）、マクロブロック層（Ｍａｃｒｏ  Ｂｌｏｃｋ  Ｌａｙｅｒ）、ブロック層（Ｂｌｏｃｋ  Ｌａｙｅｒ）までの６層の階層データ構造を有する。この６層のうちシーケンス層が最上位層であり、ブロック層が最下位層である。
【００３６】
シーケンス層は、一連のフレーム画像について共通する属性（例えば、画像サイズ、アスペクト比、フレームレート等）を含む。シーケンス層は、データ領域であるシーケンスヘッダ（Ｓｅｑｕｅｎｃｅ  Ｈｅａｄｅｒ）を含む。そして、シーケンスヘッダは、その先頭から３２ビット長のスタートコード（Ｓｔａｒｔ  Ｃｏｄｅ）を有する。このスタートコードは、シーケンス層の開始符号（開始同期コード）である。
【００３７】
ＧＯＰ層は、画像グループの最小単位であるＧＯＰを規定する。ＧＯＰ層は、データ領域であるＧＯＰヘッダを含む。そして、ＧＯＰヘッダは、その先頭から３２ビット長のスタートコード（Ｓｔａｒｔ  Ｃｏｄｅ）を有する。このスタートコードは、ＧＯＰ層の開始符号（開始同期コード）である。
【００３８】
ピクチャ層は、フレーム画像についての属性（例えば、ピクチャの表示順序、ピクチャタイプ等）を含む。ピクチャ層は、データ領域であるピクチャヘッダ（Ｐｉｃｔｕｒｅ  Ｈｅａｄｅｒ）を含む。そして、ピクチャヘッダは、その先頭から３２ビット長のスタートコード（Ｓｔａｒｔ  Ｃｏｄｅ）を有する。このスタートコードは、ピクチャ層の開始符号（開始同期コード）である。
【００３９】
スライス層は、一枚のフレーム画像を分割したスライスについて共通する属性（例えば、量子化スケール、イントラスライス情報等）を含む。スライス層は、データ領域であるスライスヘッダ（Ｓｌｉｃｅ  Ｈｅａｄｅｒ）を含む。そして、スライスヘッダは、その先頭から３２ビット長のスタートコード（Ｓｔａｒｔ  Ｃｏｄｅ）を有する。このスタートコードは、スライス層の開始符号（開始同期コード）である。
【００４０】
マクロブロック層は、画素ブロックであるマクロブロックに共通する属性（例えば、動きベクトル値等）を含む。マクロブロック層は、データ領域であるマクロブロックヘッダ（Ｍａｃｒｏ  Ｂｌｏｃｋ  Ｈｅａｄｅｒ）を含む。ただし、このマクロブロックヘッダは、スタートコードを含まない。このマクロブロック層が含むデータは、可変長符号を含む。
ブロック層は、符号化係数（例えば、離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ；ＤＣＴ）係数等）を含む。
【００４１】
なお、圧縮符号化コンテンツデータが、ＭＰＥＧ−２オーディオ規格に基づき圧縮符号化された圧縮符号化オーディオデータを含む場合、この圧縮符号化オーディオデータは、ＭＰＥＧ−２オーディオ規格によるデータ構造を有する。ＭＰＥＧ−２オーディオ規格によるデータ構造において、所定の開始符号は、例えば、Ａｕｄｉｏ  Ｄａｔａ  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ（ＡＤＴＳ）ヘッダである。
【００４２】
開始符号検出部１２２は、圧縮符号化コンテンツデータを記憶部１２３に供給する。また、開始符号検出部１２２は、圧縮符号化コンテンツデータの先頭（ファイルの先頭）から、シーケンス層、ＧＯＰ層、ピクチャ層、およびスライス層それぞれが含むヘッダのスタートコードまでのビット数を計数し、各ビット数を開始符号位置情報として記憶部１２３に供給する。
なお、開始符号検出部１２２は、各ビット数を計数するための計数開始位置を、圧縮符号化コンテンツデータの先頭ではなく、あらかじめ決定された任意の位置（例えば、シーケンスヘッダの先頭）としてもよい。
【００４３】
記憶部１２３は、開始符号検出部１２２から供給される、圧縮符号化コンテンツデータと開始符号位置情報とを記憶する。また、記憶部１２３は、スタートコード検出部１２５から供給されるスタートコード位置情報を記憶する。記憶部１２３は、例えば半導体記憶装置により実現される。
【００４４】
ストリーム生成部１２４は、記憶部１２３から圧縮符号化コンテンツデータおよび開始符号位置情報を読み込む。そして、ストリーム生成部１２４は、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す開始符号の位置までの範囲のデータを、放送におけるストリームフォーマットによるストリームに変換する。ストリームは、パケット構造を有する。例えば、ストリーム生成部１２４は、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す、スライス層のスライスヘッダにおけるスタートコードの位置を含む範囲のデータを、ＭＰＥＧ−２システム規格によるトランスポートストリーム（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ；ＴＳ）に変換する。そして、ストリーム生成部１２４は、ストリームをスタートコード検出部１２５に供給する。
【００４５】
また、ストリーム生成部（平文パケット生成部）１２４は、記憶部１２３から圧縮符号化コンテンツデータとスタートコード位置情報とを読み込む。そして、ストリーム生成部１２４は、圧縮符号化コンテンツデータをパケット構造のストリームにパケット変換するとともに、スタートコード位置情報が示す開始符号の位置に基づいて、そのストリームから、その開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭１ビットとを含む符号列（ブロックデータ）を除くデータを抽出する。そして、ストリーム生成部１２４は、その抽出したデータに含まれるパケットデータが平文データであることを示す平文識別子を各パケットデータに設けて平文パケットデータを生成し、この平文パケットデータをパケット合成部１２８に供給する。
【００４６】
具体的には、ストリーム生成部１２４は、記憶部１２３からＭＰＥＧ−２映像ファイルデータとスライス層のスライスヘッダにおけるスタートコードの位置を示すスタートコード位置情報とを読み込む。そして、ストリーム生成部１２４は、ＭＰＥＧ−２映像ファイルデータをＴＳに変換するとともに、このＴＳから、スライスヘッダとこのスライスヘッダの後に存在する可変長符号の少なくとも先頭１ビットとを含む符号列（ブロックデータ）を除くデータを抽出する。そして、ストリーム生成部１２４は、その抽出したデータに含まれるパケットデータが平文データであることを示す平文識別子（例えば“０（ゼロ）”）を各パケットデータに設けて平文パケットデータを生成し、この平文パケットデータをパケット合成部１２８に供給する。
【００４７】
スタートコード検出部１２５は、ストリーム生成部１２４から供給されるストリームを取り込み、このストリームから所定のデータ領域における開始符号を検出し、この開始符号の位置を示すスタートコード位置情報を記憶部１２３に供給する。
具体的には、ＴＳに含まれる圧縮符号化コンテンツデータがＭＰＥＧ−２ビデオ規格によるデータ構造を有する場合、所定のデータ領域は、例えば、シーケンス層から、ＧＯＰ層、ピクチャ層、スライス層、マクロブロック層、ブロック層までの６層の中で、スタートコードを含む層として最下位に位置するスライス層である。スタートコード検出部１２５は、ＴＳの先頭からスライスヘッダにおけるスタートコードまでのビット数を計数し、このビット数をスタートコード位置情報として記憶部１２３に供給する。
【００４８】
暗号化部１２６は、記憶部１２３から読み込む圧縮符号化コンテンツデータおよびスタートコード情報に基づき、圧縮符号化コンテンツデータにおける、開始符号と可変長符号の一部分とを含むブロックデータを、第１暗号方式の暗号化アルゴリズムおよび第２暗号方式の暗号化アルゴリズムそれぞれにより暗号化して第１暗号化データおよび第２暗号化データを生成する。
【００４９】
すなわち、第１暗号化部１２６−１は、記憶部１２３から圧縮符号化コンテンツデータとスタートコード位置情報とを読み込み、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭１ビットとを含む符号列（ブロックデータ）を抽出する。そして、第１暗号化部１２６−１は、第１暗号化アルゴリズムを適用して符号列を暗号化し、第１暗号化データを生成する。そして、第１暗号化部１２６−１は、第１暗号化データを第１暗号化パケット生成部１２７−１に供給する。
【００５０】
具体的には、第１暗号化部１２６−１は、記憶部１２３からＭＰＥＧ−２映像ファイルデータとスライス層のスライスヘッダにおけるスタートコードの位置情報とを読み込む。そして、第１暗号化部１２６−１は、ＭＰＥＧ−２映像ファイルデータから、スライスヘッダとこのスライスヘッダの後に存在する可変長符号の少なくとも先頭１ビットとを含む符号列を抽出する。そして、第１暗号化部１２６−１は、現行の暗号方式（例えば、ＭＵＬＴＩ２暗号）の暗号化アルゴリズムを適用して符号列を暗号化し、ＭＵＬＴＩ２暗号化データを生成する。ただし、第１暗号化部１２６−１は、ＭＵＬＴＩ２暗号化データのデータサイズがＴＳパケットのデータサイズ（１８４バイト）と同一または２以上の整数倍のサイズとなるように、ＭＰＥＧ−２映像ファイルデータから符号列を抽出する。そして、第１暗号化部１２６−１は、ＭＵＬＴＩ２暗号化データを第１暗号化パケット生成部１２７−１に供給する。
【００５１】
第２暗号化部１２６−２は、記憶部１２３から圧縮符号化コンテンツデータとスタートコード位置情報とを読み込み、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭１ビットとを含む符号列（ブロックデータ）を抽出する。そして、第２暗号化部１２６−２は、第２暗号化アルゴリズムを適用して符号列を暗号化し、第２暗号化データを生成する。そして、第２暗号化部１２６−２は、第２暗号化データを第２暗号化パケット生成部１２７−２に供給する。
【００５２】
具体的には、第２暗号化部１２６−２は、記憶部１２３からＭＰＥＧ−２映像ファイルデータとスライス層のスライスヘッダにおけるスタートコードの位置情報とを読み込む。そして、第２暗号化部１２６−２は、ＭＰＥＧ−２映像ファイルデータから、スライスヘッダとこのスライスヘッダの後に存在する可変長符号の少なくとも先頭１ビットとを含む符号列を抽出する。そして、第２暗号化部１２６−２は、新しい暗号方式（例えば、Ｃａｍｅｌｌｉａ暗号）を適用して符号列を暗号化し、Ｃａｍｅｌｌｉａ暗号化データを生成する。ただし、第２暗号化部１２６−２は、Ｃａｍｅｌｌｉａ暗号化データのデータサイズがＴＳパケットのデータサイズ（１８４バイト）と同一または２以上の整数倍のサイズとなるように、ＭＰＥＧ−２映像ファイルデータから符号列を抽出する。そして、第２暗号化部１２６−２は、Ｃａｍｅｌｌｉａ暗号化データを第２暗号化パケット生成部１２７−２に供給する。
【００５３】
第１暗号化パケット生成部１２７−１は、第１暗号化部１２６−１から供給される第１暗号化データを取り込む。そして、第１暗号化パケット生成部１２７−１は、第１暗号化データを、放送におけるストリームフォーマットによるストリームに変換する。そして、第１暗号化パケット生成部１２７−１は、そのストリームに含まれるパケットデータが第１暗号化アルゴリズムにより暗号化されたデータであることを示す第１暗号化識別子をパケットデータに設けて第１暗号化パケットデータを生成する。そして、第１暗号化パケット生成部１２７−１は、その第１暗号化パケットデータをパケット合成部１２８に供給する。
【００５４】
具体的には、第１暗号化パケット生成部１２７−１は、第１暗号化部１２６−１から供給されるＭＵＬＴＩ２暗号化データを取り込む。そして、第１暗号化パケット生成部１２７−１は、ＭＵＬＴＩ２暗号化データをＴＳに変換する。そして、第１暗号化パケット生成部１２７−１は、そのＴＳに含まれるパケットデータがＭＵＬＴＩ２暗号により暗号化されたデータであることを示すＭＵＬＴＩ２暗号化識別子（例えば“１”）をパケットデータに設けてＭＵＬＴＩ２暗号化パケットデータを生成する。そして、第１暗号化パケット生成部１２７−１は、そのＭＵＬＴＩ２暗号化パケットデータをパケット合成部１２８に供給する。
【００５５】
第２暗号化パケット生成部１２７−２は、第２暗号化部１２６−２から供給される第２暗号化データを取り込む。そして、第２暗号化パケット生成部１２７−２は、第２暗号化データを、放送におけるストリームフォーマットによるストリームに変換する。そして、第２暗号化パケット生成部１２７−２は、そのストリームに含まれるパケットデータが第２暗号化アルゴリズムにより暗号化されたデータであることを示す第２暗号化識別子をパケットデータに設けて第２暗号化パケットデータを生成する。そして、第２暗号化パケット生成部１２７−２は、その第２暗号化パケットデータをパケット合成部１２８に供給する。
【００５６】
具体的には、第２暗号化パケット生成部１２７−２は、第２暗号化部１２６−２から供給されるＣａｍｅｌｌｉａ暗号化データを取り込む。そして、第２暗号化パケット生成部１２７−２は、Ｃａｍｅｌｌｉａ暗号化データをＴＳに変換する。そして、第２暗号化パケット生成部１２７−２は、そのＴＳに含まれるパケットデータがＣａｍｅｌｌｉａ暗号により暗号化されたデータであることを示すＣａｍｅｌｌｉａ暗号化識別子（例えば“２”）をパケットデータに設けてＣａｍｅｌｌｉａ暗号化パケットデータを生成する。そして、第２暗号化パケット生成部１２７−２は、そのＣａｍｅｌｌｉａ暗号化パケットデータをパケット合成部１２８に供給する。
【００５７】
パケット合成部１２８は、第１暗号化パケット生成部１２７−１から供給される第１暗号化パケットデータと、第２暗号化パケット生成部１２７−２から供給される第２暗号化パケットデータと、ストリーム生成部１２４から供給される平文パケットデータとを取り込む。そして、パケット合成部１２８は、第１暗号化パケットデータと第２暗号化パケットデータと平文パケットデータとを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部１２９に供給する。
例えば、パケット合成部１２８は、それぞれ取り込んだ第１暗号化パケットデータと第２暗号化パケットデータと平文パケットデータとを、例えば、第１暗号化パケットデータ、第２暗号化パケットデータ、平文パケットデータの順に連結して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部１２９に供給する。
【００５８】
なお、パケット合成部１２８が第１暗号化パケットデータと第２暗号化パケットデータと平文パケットデータとを連結する順序は、上記の順序に限らず、第１暗号化パケットデータと第２暗号化パケットデータと平文パケットデータとの全ての組み合わせによる連結が可能である。
また、パケット合成部１２８は、第１暗号化パケットデータと第２暗号化パケットデータと平文パケットデータとを、最小パケット単位で任意に組み合わせてもよい。
【００５９】
暗号化コンテンツ記憶部１２９は、パケット合成部１２８から供給される暗号化コンテンツデータを記憶する。暗号化コンテンツ記憶部１２９は、例えば、磁気ディスク装置、半導体ディスク装置等により実現される。
暗号化コンテンツ供給部１３０は、暗号化コンテンツ記憶部１２９から暗号化コンテンツデータを読み込み、この暗号化コンテンツデータを、例えば送信装置１３に供給する。
【００６０】
図４は、送信装置１３の機能構成を示すブロック図である。
同図に示すように、送信装置１３は、暗号化コンテンツ取得部１３１と、放送信号生成部１３２と、放送信号送信部１３３とを備える。
【００６１】
暗号化コンテンツ取得部１３１は、暗号化サーバ１２から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを放送信号生成部１３２に供給する。
放送信号生成部１３２は、暗号化コンテンツ取得部１３１から供給される暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部１３３に供給する。
放送信号の仕様は、例えば、ＡＲＩＢ（Ａｓｓｏｃｉａｔｉｏｎ  ｏｆ  Ｒａｄｉｏ  Ｉｎｄｕｓｔｒｉｅｓ  ａｎｄ  Ｂｒｏａｄｃａｓｔ）標準規格によって規定されている。
放送信号送信部１３３は、放送信号生成部１３２から供給される放送信号を取り込み、この放送信号を送信アンテナ２０に送信する。
【００６２】
図５は、受信装置３０の機能構成を示すブロック図である。
同図に示すように、受信装置３０は、放送信号受信部（暗号化コンテンツデータ取得部）３０１と、パケット分離部３０２と、復号鍵記憶部３０３と、復号部３０４と、パケット合成部３０５と、圧縮符号化コンテンツ復号部３０６とを備える。
【００６３】
放送信号受信部３０１は、例えば、受信装置３０に接続された受信アンテナ（不図示）により放送電波を受信して得られた放送信号を取り込む。そして、放送信号受信部３０１は、放送信号を復調して暗号化コンテンツデータを取得し、この暗号化コンテンツデータをパケット分離部３０２に供給する。
【００６４】
パケット分離部３０２は、放送信号受信部３０１から供給される暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを構成するパケットデータごとに識別子を検出することによりパケットデータの種類を判別する。具体的には、パケット分離部３０２は、パケットデータから平文識別子（例えば“０（ゼロ）”）を検出した場合、そのパケットデータが平文パケットデータであると判別する。また、パケット分離部３０２は、パケットデータから第１暗号化識別子（例えば“１”）を検出した場合、そのパケットデータが第１暗号化パケットデータであると判別する。また、パケット分離部３０２は、パケットデータから第２暗号化識別子（例えば“２”）を検出した場合、そのパケットデータが第２暗号化パケットデータであると判別する。
【００６５】
パケット分離部３０２は、判別したパケットデータの種類に応じてパケットデータを分離する。例えば、パケット分離部３０２は、識別子が平文識別子である平文パケットデータから、圧縮符号化コンテンツデータに該当するデータを抽出し、このデータを平文データとしてパケット合成部３０５に供給する。
具体的には、パケット分離部３０２は、識別子が“０（ゼロ）”であるＴＳパケットについて、ＴＳヘッダを除去しペイロードを合成して得たデータを、圧縮符号化コンテンツデータの平文データとしてパケット合成部３０５に供給する。
【００６６】
また、パケット分離部３０２は、識別子が第１暗号化識別子である第１暗号化パケットデータと第２暗号化子である第２暗号化パケットデータとを復号部３０４に供給する。
具体的には、パケット分離部３０２は、識別子が“１”であるＭＵＬＴＩ２暗号化パケットデータを復号部３０４に供給する。また、パケット分離部３０２は、識別子が“２”であるＣａｍｅｌｌｉａ暗号化パケットデータを復号部３０４に供給する。
【００６７】
復号鍵記憶部３０３は、復号部３０４が暗号化されたパケットデータを復号するための復号鍵を記憶する。例えば、復号鍵記憶部３０３は、第１暗号方式または第２暗号方式によって暗号化されたパケットデータを復号するための復号鍵を記憶する。
具体的には、復号鍵記憶部３０３は、例えば、復号鍵を記憶したＣｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍｓ（ＣＡＳ）カードである。
【００６８】
復号部３０４は、自装置暗号化識別子を記憶している。復号部３０４は、パケット分離部３０２から供給される第１暗号化パケットデータおよび第２暗号化パケットデータを取り込み、また、復号鍵記憶部３０３から復号鍵を読み込む。そして、復号部３０４は、第１暗号化パケットデータおよび第２暗号化パケットデータのうち、自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを選択する。そして、復号部３０４は、選択した暗号化パケットデータを、復号鍵を適用して復号し、復号データをパケット合成部３０５に供給する。
【００６９】
なお、復号部３０４は、第１暗号化パケットデータおよび第２暗号化パケットデータそれぞれを、復号鍵を適用して復号し、正常に復号された方のデータを復号データとしてパケット合成部３０５に供給してもよい。
【００７０】
パケット合成部３０５は、パケット分離部３０２から供給される平文データを取り込み、また復号部３０４から供給される復号データを取り込む。そして、パケット合成部３０５は、平文データと復号データとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部３０６に供給する。
【００７１】
圧縮符号化コンテンツ復号部３０６は、パケット合成部３０５から供給される圧縮符号化コンテンツデータを取り込む。そして、圧縮符号化コンテンツ復号部３０６は、圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータを出力する。
【００７２】
次に、各種データのデータ構成について説明する。
図６は、圧縮符号化コンテンツデータの階層化されたデータ構造のうち、スライス層の概略のデータ構成を示す図である。同図において、スライス層のデータ６０は、スタートコード６１と、制御データ６２と、複数のマクロブロック６３とを含む。スタートコード６１と制御データ６２とは、スライス層のヘッダ情報（スライスヘッダ）である。スタートコード６１は、スライス層の開始符号である。制御データ６２は、例えば、フレーム画像を分割したスライスについての各種属性情報を含む。マクロブロック６３は、画素の集合であるマクロブロックデータを可変長符号として含む。
同図によれば、ストリーム生成部１２４は、スタートコード６１と制御データ６２と可変長符号のうちの先頭の所定の長さを含むデータとを、ブロックデータとして検出する。
【００７３】
図７は、ストリーム生成部１２４が生成する平文パケットデータの概略のデータ構成を示す図である。同図において、平文パケットデータ７０は、各パケット７１に平文識別子７２を設けた構成を有する。
【００７４】
図８は、パケット合成部１２８が生成する暗号化コンテンツデータの概略のデータ構成を示す図である。同図において、暗号化コンテンツデータ８０は、第１暗号化パケットデータ８１ａと、第２暗号化パケットデータ８１ｂと、平文パケットデータ７０とを含む。そして、第１暗号化パケットデータ８１ａは、第１暗号化識別子８２ａと、第１暗号化データ８３ａとを含む。そして、第２暗号化パケットデータ８１ｂは、第２暗号化識別子８２ｂと、第２暗号化データ８３ｂとを含む。平文パケットデータ７０は、図７に示したデータである。
【００７５】
次に、コンテンツ配信システム１の動作について説明する。
図９は、コンテンツサーバ１１が実行する処理の手順を示すフローチャートである。
ステップＳ１１において、コンテンツ取得部１１１は、コンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部１１３に供給する。コンテンツ圧縮符号化部１１３は、コンテンツ取得部１１１から供給されるコンテンツデータを取り込む。
次に、ステップＳ１２において、符号化レート取得部１１２は、符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部１１３に供給する。コンテンツ圧縮符号化部１１３は、符号化レート取得部１１２から供給される符号化レートを取り込む。
【００７６】
次に、ステップＳ１３において、コンテンツ圧縮符号化部１１３は、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部１１４に供給する。
次に、ステップＳ１４において、圧縮符号化コンテンツ記憶部１１４は、コンテンツ圧縮符号化部１１３から供給される圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
【００７７】
図１０は、暗号化サーバ１２が実行する処理の手順を示すフローチャートである。
ステップＳ３１において、圧縮符号化コンテンツ取得部１２１は、コンテンツサーバ１１から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを開始符号検出部１２２に供給する。
次に、ステップＳ３２において、開始符号検出部１２２は、圧縮符号化コンテンツ取得部１２１から供給される圧縮符号化コンテンツデータを取り込んでこの圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域の開始符合を検出する。例えば、開始符号検出部１２２は、圧縮符号化コンテンツデータから、複数種類のデータ領域それぞれにおける開始符号を検出し、この開始符号の位置を特定する。
次に、開始符号検出部１２２は、圧縮符号化コンテンツデータと、各データ領域における開始符号の位置を示す開始符号位置情報とを、記憶部１２３に記憶させる。
【００７８】
次に、ステップＳ３３において、ストリーム生成部１２４は、記憶部１２３から圧縮符号化コンテンツデータおよび開始符号位置情報を読み込む。次に、ストリーム生成部１２４は、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す開始符号の位置までの範囲のデータを、放送におけるストリームフォーマットによるストリームに変換する。次に、ストリーム生成部１２４は、ストリームをスタートコード検出部１２５に供給する
【００７９】
次に、ステップＳ３４において、スタートコード検出部１２５は、ストリーム生成部１２４から供給されるストリームを取り込み、このストリームから所定のデータ領域における開始符号を検出し、この開始符号の位置を示すスタートコード位置情報を記憶部１２３に記憶させる。
次に、ストリーム生成部１２４は、記憶部１２３から圧縮符号化コンテンツデータとスタートコード位置情報とを読み込む。次に、ストリーム生成部１２４は、圧縮符号化コンテンツデータをストリームに変換するとともに、スタートコード位置情報が示す開始符号の位置に基づいて、そのストリームから、その開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭１ビットとを含む符号列（ブロックデータ）を除くデータを抽出する。次に、ストリーム生成部１２４は、その抽出したデータに含まれるパケットデータが平文データであることを示す平文識別子を各パケットデータに設けて平文パケットデータを生成し、この平文パケットデータをパケット合成部１２８に供給する。
【００８０】
次に、ステップＳ３５において、第１暗号化部１２６−１は、記憶部１２３から圧縮符号化コンテンツデータとスタートコード位置情報とを読み込み、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭１ビットとを含む符号列（ブロックデータ）を抽出する。
次に、第１暗号化部１２６−１は、第１暗号化アルゴリズムを適用して符号列を暗号化し、第１暗号化データを生成する。次に、第１暗号化部１２６−１は、第１暗号化データを第１暗号化パケット生成部１２７−１に供給する。
【００８１】
一方、第２暗号化部１２６−２は、記憶部１２３から圧縮符号化コンテンツデータとスタートコード位置情報とを読み込み、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭１ビットとを含む符号列（ブロックデータ）を抽出する。
次に、第２暗号化部１２６−２は、第２暗号化アルゴリズムを適用して符号列を暗号化し、第２暗号化データを生成する。次に、第２暗号化部１２６−２は、第２暗号化データを第２暗号化パケット生成部１２７−２に供給する。
【００８２】
次に、ステップＳ３６において、第１暗号化パケット生成部１２７−１は、第１暗号化部１２６−１から供給される第１暗号化データを取り込む。次に、第１暗号化パケット生成部１２７−１は、第１暗号化データを、放送におけるストリームフォーマットによるストリームに変換する。次に、第１暗号化パケット生成部１２７−１は、そのストリームに含まれるパケットデータが第１暗号化アルゴリズムにより暗号化されたデータであることを示す第１暗号化識別子をパケットデータに設けて第１暗号化パケットデータを生成する。次に、第１暗号化パケット生成部１２７−１は、その第１暗号化パケットデータをパケット合成部１２８に供給する。
【００８３】
一方、第２暗号化パケット生成部１２７−２は、第２暗号化部１２６−２から供給される第２暗号化データを取り込む。次に、第２暗号化パケット生成部１２７−２は、第２暗号化データを、放送におけるストリームフォーマットによるストリームに変換する。次に、第２暗号化パケット生成部１２７−２は、そのストリームに含まれるパケットデータが第２暗号化アルゴリズムにより暗号化されたデータであることを示す第２暗号化識別子をパケットデータに設けて第２暗号化パケットデータを生成する。次に、第２暗号化パケット生成部１２７−２は、その第２暗号化パケットデータをパケット合成部１２８に供給する。
【００８４】
次に、ステップＳ３７において、パケット合成部１２８は、第１暗号化パケット生成部１２７−１から供給される第１暗号化パケットデータと、第２暗号化パケット生成部１２７−２から供給される第２暗号化パケットデータと、ストリーム生成部１２４から供給される平文パケットデータとを取り込む。次に、パケット合成部１２８は、第１暗号化パケットデータと第２暗号化パケットデータと平文パケットデータとを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部１２９に供給する。
次に、ステップＳ３８において、暗号化コンテンツ記憶部１２９は、パケット合成部１２８から供給される暗号化コンテンツデータを記憶する。
【００８５】
図１１は、送信装置１３が実行する処理の手順を示すフローチャートである。
ステップＳ５１において、暗号化コンテンツ取得部１３１は、暗号化サーバ１２から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを放送信号生成部１３２に供給する。
次に、ステップＳ５２において、放送信号生成部１３２は、暗号化コンテンツ取得部１３１から供給される暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部１３３に供給する。
次に、ステップＳ５３において、放送信号送信部１３３は、放送信号生成部１３２から供給される放送信号を取り込み、この放送信号を送信アンテナ２０に送信する。
【００８６】
図１２は、受信装置３０が実行する処理の手順を示すフローチャートである。
ステップＳ７１において、放送信号受信部３０１は、例えば、受信装置３０に接続された受信アンテナにより放送電波を受信して得られた放送信号を取り込む。次に、放送信号受信部３０１は、放送信号を復調して暗号化コンテンツデータを取得し、この暗号化コンテンツデータをパケット分離部３０２に供給する。
【００８７】
次に、ステップＳ７２において、パケット分離部３０２は、放送信号受信部３０１から供給される暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを構成するパケットデータごとに識別子を検出することによりパケットデータの種類を判別する。
次に、パケット分離部３０２は、判別したパケットデータの種類に応じてパケットデータを分離する。例えば、パケット分離部３０２は、識別子が平文識別子である平文パケットデータから、圧縮符号化コンテンツデータに該当するデータを抽出し、このデータを平文データとしてパケット合成部３０５に供給する。パケット合成部３０５は、パケット分離部３０２から供給される平文データを取り込む。また、パケット分離部３０２は、識別子が第１暗号化識別子である第１暗号化パケットデータと第２暗号化子である第２暗号化パケットデータとを復号部３０４に供給する。
【００８８】
次に、ステップＳ７３において、復号部３０４は、パケット分離部３０２から供給される第１暗号化パケットデータおよび第２暗号化パケットデータを取り込み、また、復号鍵記憶部３０３から復号鍵を読み込む。次に、復号部３０４は、第１暗号化パケットデータおよび第２暗号化パケットデータのうち、あらかじめ記憶している自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを選択する。次に、復号部３０４は、選択した暗号化パケットデータを、復号鍵を適用して復号し、復号データをパケット合成部３０５に供給する。
【００８９】
次に、ステップＳ７４において、パケット合成部３０５は、復号部３０４から供給される復号データを取り込む。そして、パケット合成部３０５は、ステップＳ７２の処理において取り込んだ平文データと、復号データとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部３０６に供給する。
次に、ステップＳ７５において、圧縮符号化コンテンツ復号部３０６は、パケット合成部３０５から供給される圧縮符号化コンテンツデータを取り込む。次に、圧縮符号化コンテンツ復号宇３０６は、圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータを出力する。
【００９０】
以上説明したとおり、本発明の一実施形態を適用した暗号化サーバ１２は、圧縮符号化コンテンツデータから、所定のデータ領域（例えば、スライス層におけるスライスヘッダ）の開始符号（スタートコード）を検出する開始符号検出部１２２と、圧縮符号化コンテンツデータにおける、開始符号とこの開始符号よりも後の可変長符号の一部分（少なくとも１ビット）とを含むブロックデータを、２種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化して２種類の暗号化データを生成する暗号化部１２６と、圧縮符号化コンテンツデータからブロックデータを除くデータから平文パケットデータを生成するストリーム生成部１２４と、２種類の暗号化データそれぞれに互いに異なる暗号化識別子を設けて暗号化パケットデータ（第１暗号化パケットデータおよび第２暗号化パケットデータ）を生成する暗号化パケット生成部１２７と、平文パケットデータと第１暗号化パケットデータと第２暗号化パケットデータとを合成（例えば、連結）して暗号化コンテンツデータを生成するパケット合成部１２８とを備えた。
【００９１】
このように構成したことにより、暗号化サーバ１２は、圧縮符号化コンテンツデータの復号処理において同期をとるために必要な情報を含むブロックデータを暗号化して暗号化コンテンツデータを生成する。よって、正しい復号鍵を有さない受信装置３０は、復号処理において同期をとることができず、圧縮符号化コンテンツデータを復号することができない。
また、暗号化サーバ１２は、可変長符号の一部分を暗号化するため、この可変長符号の一部分は秘匿化される。また、暗号化サーバ１２は、暗号化されない可変長符号列について符号の区切りを特定することができないため、この暗号化されない可変長符号列全体の安全性（秘匿性）を高く保つことができる。
また、暗号化サーバ１２は、圧縮符号化コンテンツデータのうちブロックデータのみを複数種類の暗号方式の暗号化アルゴリズムによって暗号化するため、圧縮符号化コンテンツデータ全体を複数種類の暗号方式の暗号化アルゴリズムによって暗号化するよりも、符号量を大幅に少なくすることができる。よって、伝送路の使用帯域を圧迫することがない。
【００９２】
また、本発明の一実施形態を適用した受信装置３０は、圧縮符号化コンテンツデータにおける、所定のデータ領域（例えば、スライス層におけるスライスヘッダ）の開始符号（スタートコード）とこの開始符号よりも後の可変長符号の一部分（少なくとも１ビットデータ）とを含むブロックデータを、２種類の暗号方式の暗号化アルゴリズムそれぞれにより暗号化するとともに互いに異なる暗号化識別子を設けてパケット化した２種類の暗号化パケットデータ（第１暗号化パケットデータおよび第２暗号化パケットデータ）と、圧縮符号化コンテンツデータからブロックデータを除くデータから生成した平文パケットデータとを合成して得られた暗号化コンテンツデータを取り込む放送信号受信部３０１と、暗号化コンテンツデータを、平文パケットデータと第１暗号化パケットデータと第２暗号化パケットデータとに分離するパケット分離部３０２と、２種対の暗号化パケットデータから、あらかじめ記憶している自装置暗号化識別子と同一の暗号化識別子を有する暗号化パケットデータを復号して復号データを生成する復号部３０４と、平文パケットと復号データとを合成してコンテンツデータを生成するパケット合成部３０５とを備えた。
【００９３】
このように構成したことにより、受信装置３０は、暗号化サーバ１２が暗号化して生成した暗号化コンテンツデータを取り込み、当該受信装置３０が復号可能な暗号化パケットを復号することにより、暗号化コンテンツデータからコンテンツデータを生成することができる。
【００９４】
したがって、本実施形態における暗号化サーバ１２および受信装置３０は、多数の受信装置３０に暗号化コンテンツデータを一斉配信するコンテンツ配信サービスにおいて、例えば、現行方式である第１暗号方式から別方式である第２暗号方式に切り替える場合に、受信装置３０による暗号化コンテンツデータの復号を正常に行わせ、暗号化コンテンツデータの安全性（秘匿性）を高く保ち、配信における伝送路の帯域消費量を低く抑えることができる。
【００９５】
［その他の実施形態］
本発明の一実施形態は、放送局が実施する放送によるコンテンツ配信サービスを実現するコンテンツ配信システムの例であった。これ以外にも、本発明は、例えば、コンテンツブロバイダが実施する通信回線を用いた一斉配信によるコンテンツ配信サービスを実現するコンテンツ配信システムにも適用できる。この場合、コンテンツプロバイダは、複数の受信装置３０に対して、通信回線を介して暗号化コンテンツデータをマルチキャストまたはブロードキャストにより一斉配信する。
【００９６】
また、本実施形態は、ＭＰＥＧ−２ビデオ規格によるデータ構造を有する圧縮符号化コンテンツデータの全てのフレーム画像におけるブロックデータを、暗号化の対象領域とする例であった。他の実施形態として、圧縮符号化コンテンツデータにおいてフレーム内符号化画像におけるブロックデータのみを、暗号化の対象領域としてもよい。この例について具体的に説明する。
【００９７】
図１３は、ＭＰＥＧ−２ビデオ規格によるデータ構造を有する圧縮符号化コンテンツデータのＧＯＰを示す図である。同図において、横方向は時間経過を示す。同図に示すように、ＧＯＰは、例えば、Ｉピクチャ、Ｐピクチャ、およびＢピクチャを含む。同図は、１ＧＯＰに１５枚のピクチャ（フレーム画像）が含まれる例である。Ｉピクチャは、フレーム内符号化フレームである。つまり、Ｉピクチャは、自フレーム画像の情報のみを用いて符号化されたデータである。Ｐピクチャは、フレーム間予測符号化フレームである。つまり、Ｐピクチャは、自フレーム画像よりも時間的に前のフレーム画像の情報を用いて符号化されたデータである。Ｂピクチャは、フレーム内挿符号化フレームである。つまり、Ｂピクチャは、自フレーム画像よりも時間的に前のフレーム画像と自フレーム画像よりも時間的に後のフレーム画像との情報を用いて符号化されたデータである。よって、Ｉピクチャは、このＩピクチャのみで復号できるが、ＰピクチャおよびＢピクチャは、そのＩピクチャが復号されることによって復号できる。
【００９８】
そこで、他の実施形態における暗号化サーバ１２は、Ｉピクチャにおけるブロックデータのみを、第１暗号方式の暗号化アルゴリズムおよび第２暗号方式の暗号化アルゴリズムそれぞれにより暗号化して第１暗号化データおよび第２暗号化データを生成する。具体的に、暗号化サーバ１２のスタートコード検出部１２５は、ストリーム生成部１２４から供給されるＴＳを取り込み、このＴＳから、ＧＯＰ層がＩピクチャであるスライス層におけるスライスヘッダのスタートコードを検出する。そして、スタートコード検出部１２５は、ＴＳの先頭からそのスライスヘッダにおけるスタートコードまでのビット数を計数し、このビット数をスタートコード位置情報として記憶部１２３に供給する。
【００９９】
このように構成することにより、他の実施形態における暗号化サーバ１２は、暗号化による秘匿性を保ちながら、圧縮符号化コンテンツデータにおけるブロックデータ全体のデータ量を削減することができる。よって、前述した本発明の実施形態に対して、符号量をより少なくすることができる。
【０１００】
また、上述した一実施形態における暗号化サーバ１２の一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための暗号化プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された暗号化プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
【０１０１】
また、本実施形態における受信装置３０の一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための復号プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された復号プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
【０１０２】
コンピュータシステムとは、オペレーティング・システム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；ＯＳ）や周辺装置のハードウェアを含むものである。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピュータ読み取り可能な記録媒体とは、インターネット等のコンピュータネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバ装置やクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記の暗号化プログラムおよび復号プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【０１０３】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１０４】
１  コンテンツ配信システム
１０  放送局装置群
１１  コンテンツサーバ
１２  暗号化サーバ
１３  送信装置
１４  ネットワーク
２０  送信アンテナ
３０−１〜３０−４  受信装置
１１１  コンテンツ取得部
１１２  符号化レート取得部
１１３  コンテンツ圧縮符号化部
１１４  圧縮符号化コンテンツ記憶部
１１５  圧縮符号化コンテンツ供給部
１２１  圧縮符号化コンテンツ取得部
１２２  開始符号検出部
１２３  記憶部
１２４  ストリーム生成部
１２５  スタートコード検出部
１２６−１  第１暗号化部
１２６−２  第２暗号化部
１２７−１  第１暗号化パケット生成部
１２７−２  第２暗号化パケット生成部
１２８  パケット合成部
１２９  暗号化コンテンツ記憶部
１３０  暗号化コンテンツ供給部
１３１  暗号化コンテンツ取得部
１３２  放送信号生成部
１３３  放送信号送信部
３０１  放送信号受信部（暗号化コンテンツデータ取得部）
３０２  パケット分離部
３０３  復号鍵記憶部
３０４  復号部
３０５  パケット合成部
３０６  圧縮符号化コンテンツ復号部
【図１】
2013150147.tif 000003
【図２】
2013150147.tif 000004
【図３】
2013150147.tif 000005
【図４】
2013150147.tif 000006
【図５】
2013150147.tif 000007
【図６】
2013150147.tif 000008
【図７】
2013150147.tif 000009
【図８】
2013150147.tif 000010
【図９】
2013150147.tif 000011
【図１０】
2013150147.tif 000012
【図１１】
2013150147.tif 000013
【図１２】
2013150147.tif 000014
【図１３】
2013150147.tif 000015