以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1実施形態である暗号化装置および復号装置を適用したコンテンツ配信システムの概略の構成図である。同図に示すように、コンテンツ配信システム1は、放送局装置群10と、送信アンテナ20と、受信装置30とを含んで構成される。受信装置30は、復号装置を含む。ただし、実際のコンテンツ配信システム1は、通常、多数の受信装置30を含むが、本実施形態では、図を簡略化して説明を簡潔にするため、4台の受信装置30(受信装置30−1〜30−4と呼ぶ)を図示して説明する。放送局装置群10および送信アンテナ20は、放送局が管理する装置群および設備である。受信装置30は、視聴者が有する装置である。
放送局装置群10は、放送局、番組制作会社等により制作されたコンテンツデータを圧縮符号化して圧縮符号化コンテンツデータを生成する。そして、放送局装置群10は、圧縮符号化コンテンツデータを本実施形態による方式にしたがって暗号化し、暗号化コンテンツデータを生成する。そして、放送局装置群10は、暗号化コンテンツデータを放送信号に変換し、この放送信号を送信アンテナ20から送信する。具体的に、放送局装置群10は、コンテンツサーバ11と、暗号化サーバ12と、送信装置13と、ネットワーク14とを備える。暗号化サーバ12は、暗号化装置を含む。
ネットワーク14は、コンテンツサーバ11と暗号化サーバ12と送信装置13とを接続する通信回線である。ネットワーク14は、例えば、インターネットプロトコル(Internet Protocol;IP)により通信可能なコンピュータネットワークである。例えば、コンテンツサーバ11および暗号化サーバ12、暗号化サーバ12および送信装置13は、ネットワーク14を介して通信を行う。
コンテンツサーバ11は、図示しないコンテンツ供給装置からコンテンツデータと符号化レートとを取り込む。コンテンツデータは、映像データ、音声データ等を含むデジタルデータである。本実施形態では、コンテンツデータは、少なくとも映像データを含む。符号化レートは、送信アンテナ20と受信装置30との間の伝送路において使用可能な伝送容量を示す値である。コンテンツサーバ11は、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを記憶する。圧縮符号化コンテンツデータは、例えば、MPEG−2ビデオ規格に基づき圧縮符号化処理された映像データやMPEG−2オーディオ規格に基づき圧縮符号化処理された音声データである。
暗号化サーバ12は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを、共通暗号化対象領域データ(第1領域データ)と個別暗号化対象領域データ(第2領域データ)とに分離する。そして、暗号化サーバ12は、共通暗号化鍵(偶数鍵および奇数鍵のうち任意のいずれか)を適用して共通暗号化対象領域データを暗号化し、共通暗号化データを生成する。共通暗号化鍵は、全ての受信装置30−1〜30−4が共通に有して利用可能な暗号化鍵である。また、暗号化サーバ12は、相互に異なる二つの個別暗号化鍵(第1個別暗号化鍵、第2個別暗号化鍵)それぞれを適用して個別暗号化対象領域データを暗号化し、二つ(2系統)の個別暗号化データ(第1個別暗号化データ、第2個別暗号化データ)を生成する。そして、暗号化サーバ12は、共通暗号化データをパケット変換し、共通暗号化鍵を識別する共通暗号化鍵識別情報を各パケットに設ける。また、暗号化サーバ12は、第1個別暗号化データおよび第2個別暗号化データそれぞれをパケット変換し、第1個別暗号化鍵および第2個別暗号化鍵それぞれを識別する個別暗号化鍵識別情報(第1個別暗号化鍵識別情報、第2個別暗号化鍵識別情報)を、対応する各パケットに設ける。そして、暗号化サーバ12は、全てのパケットを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを記憶する。暗号化コンテンツデータは、例えば、MPEG−2システム規格で規定されたトランスポートストリーム(Transport Stream;TS)の形式によるストリームである。なお、以下において、個別暗号化鍵および個別暗号化鍵識別情報を、単に、暗号化鍵および暗号化鍵識別情報と呼ぶこともある。
送信装置13は、暗号化サーバ12から暗号化コンテンツデータを取得し、この暗号化コンテンツデータをデジタル放送の放送信号に変換する。そして、送信装置13は、その放送信号を送信アンテナ20から送信する。
送信アンテナ20は、放送局装置群10の送信装置13が送信した放送信号による放送電波を空中に放射する。
受信装置30は、共通暗号化鍵(偶数鍵および奇数鍵)と、これら共通暗号化鍵を識別する共通暗号化鍵識別情報とを対応付けて記憶し、また、自装置の個別暗号化鍵(自装置暗号化鍵)と、この自装置暗号化鍵を識別する自装置暗号化鍵識別情報とを対応付けて記憶する。受信装置30は、送信アンテナ20が放射した放送電波を受信することによって放送信号を取り込み、この放送信号から暗号化コンテンツデータを取得する。そして、受信装置30は、共通暗号化鍵識別情報を含む共通暗号化パケットデータを暗号化コンテンツデータから抽出し、その共通暗号化鍵識別情報に対応付けられた共通暗号化鍵を適用してその共通暗号化パケットデータを復号することにより、共通暗号化対象領域データを取得する。また、受信装置30は、自装置暗号化鍵識別情報と同一の個別暗号化鍵識別情報を含む個別暗号化パケットデータを暗号化コンテンツデータから抽出し、その個別暗号化鍵識別情報に対応付けられた個別暗号化鍵を適用してその個別暗号化パケットデータを復号することにより、個別暗号化対象領域データを取得する。受信装置30は、それぞれ取得した共通暗号化対象領域データと個別暗号化対象領域データとを合成して圧縮符号化コンテンツデータを生成する。そして、受信装置30は、圧縮符号化コンテンツデータを復号してコンテンツデータを生成(復元)し、このコンテンツデータを提示する。
図2は、コンテンツサーバ11の機能構成を示すブロック図である。同図に示すように、コンテンツサーバ11は、コンテンツ取得部111と、符号化レート取得部112と、コンテンツ圧縮符号化部113と、圧縮符号化コンテンツ記憶部114と、圧縮符号化コンテンツ供給部115とを備える。
コンテンツ取得部111は、前記のコンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部113に供給する。コンテンツ供給装置は、例えば、磁気ハードディスク装置、半導体ディスク装置等の記憶装置、ネットワーク14を介して接続されるコンテンツ編集装置等である。
符号化レート取得部112は、図示しない符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部113に供給する。符号化レート供給装置は、例えば、キーボード、マウス等の入力装置、半導体メモリ等の記憶装置である。
コンテンツ圧縮符号化部113は、コンテンツ取得部111が供給するコンテンツデータを取り込み、また、符号化レート取得部112が供給する符号化レートを取り込む。コンテンツ圧縮符号化部113は、コンテンツデータの圧縮符号化処理を実行して、取り込んだ符号化レート以下の符号化レートとなる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部114に供給する。圧縮符号化処理は、例えば、MPEG−2ビデオ規格による映像圧縮符号化処理である。
圧縮符号化コンテンツ記憶部114は、コンテンツ圧縮符号化部113が供給する圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
圧縮符号化コンテンツ供給部115は、圧縮符号化コンテンツ記憶部114から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを、例えば暗号化サーバ12に供給する。
ここで、暗号化サーバ12が生成する圧縮符号化コンテンツデータを含むストリームのパケットであるトランスポートストリームパケットのデータ構成について説明する。
図3は、トランスポートストリームパケットのデータ構成を示す図である。同図に示すように、トランスポートストリームパケット(以下、TSパケットと呼ぶ。)は、ヘッダ部(ヘッダ)と、アダプテーションフィールド/ペイロード部とを有する。ヘッダ部は、4バイトのデータである。アダプテーションフィールド/ペイロード部は、184バイトのデータである。つまり、TSパケットは、188バイト固定長のデータである。
ヘッダ部は、同期バイトと、トランスポートエラーインジケータと、ペイロードユニット開始インジケータと、トランスポート優先度と、パケット識別子(Packet IDentificaion;PID)と、トランスポートスクランブル制御と、アダプテーションフィールド制御と、連続性指標とを含む。
同期バイトは、TSパケットの先頭を示す8ビットのデータであり、0x47(16進数)である。トランスポートエラーインジケータは、TSパケット内のビットエラーの有無を示す1ビットのフラグである。トランスポートエラーインジケータは、‘1’(2進数)である場合に、TSパケット内に少なくとも1ビットの訂正不可能なエラーが存在することを示す。ペイロードユニット開始インジケータは1ビットのデータであり、‘1’である場合に、TSパケットのペイロードの開始点がPESパケットの開始点またはポインタであることを示す。トランスポート優先度は、同一のPIDを有するTSパケットにおける優先度を示す1ビットのフラグであり、‘1’である場合に優先を示す。PIDは、ペイロードのデータの種類を識別する13ビットのデータである。
トランスポートスクランブル制御は、TSパケットのペイロードのスクランブルモードを識別するための2ビットのデータ領域である。このトランスポートスクランブル制御の領域(トランスポートスクランブル制御領域)に設けられるスクランブル制御値を、下記の表1に示す。
表1において、“スクランブルなし”(‘00’)は、TSパケットのペイロードに格納されるデータがスクランブル(暗号化)されないことを示す。“未定義”(‘01’)は、現在、定義されていないことを示す。本実施形態では、“未定義”と規定されているスクランブル制御値を、“拡張スクランブル”という意味を表すものとして使用する。“拡張スクランブル”は、TSパケットのペイロードに格納されるデータが個別暗号化鍵により暗号化されていることを示す。“偶数鍵”(‘10’)および“奇数鍵”(‘11’)は、現行の共通暗号化鍵の種類を示す。
アダプテーションフィールド制御は、アダプテーションフィールド/ペイロード部の構成の種類を示す2ビットのデータ領域である。このアダプテーションフィールド制御の領域(アダプテーションフィールド制御領域)に設けられるアダプテーションフィールド制御値を、下記の表2に示す。
表2において、“未定義”(‘00’)は、現在、定義されていないことを示す。“アダプテーションフィールドなし、ペイロードのみ”(‘01’)は、TSパケットのアダプテーションフィールド/ペイロード部がペイロードとしてのみ使用されることを示す。“アダプテーションフィールドのみ、ペイロードなし”(‘10’)は、TSパケットのアダプテーションフィールド/ペイロード部がアダプテーションフィールドとしてのみ使用されることを示す。“アダプテーションフィールドの次にペイロード”(‘11’)は、TSパケットのアダプテーションフィールド/ペイロード部がアダプテーションフィールドおよびペイロードとして使用され、アダプテーションフィールドが先に送出されることを示す。
連続性指標は、同一のPIDを有するTSパケットの順番を指定する4ビットのデータであり、‘0000’を開始値として‘1’ずつ増加し、‘1111’に到達した次は、‘0000’に戻る。
アダプテーションフィールド/ペイロード部は、アダプテーションフィールド制御領域に設けられたアダプテーションフィールド制御値に応じて、アダプテーションフィールドおよびペイロードまたはいずれかを設ける領域である。アダプテーションフィールドは、ヘッダ部を拡張する領域である。ペイロードは、伝送されるべきデータ本体の格納領域である。
図4は、本実施形態において、アダプテーションフィールドに設けられるトランスポートプライベートデータに関するデータ構成を示す図である。同図において、トランスポートプライベートデータ長は、トランスポートプライベートデータのデータ長を指定する8ビットのデータ領域(トランスポートプライベートデータ長領域)である。トランスポートプライベートデータは、ユーザにより任意のデータを格納することができるデータ領域(トランスポートプライベートデータ領域)である。このトランスポートプライベートデータは、トランスポートプライベートデータ長領域に設けられたバイト数分のデータ容量を有する。例えば、トランスポートプライベートデータ長領域に0x01が設けられた場合、トランスポートプライベートデータ領域に、1バイトのデータを設けることができる。
暗号化サーバ12は、現行の共通暗号化鍵を適用して生成した共通暗号化データをTSパケットのペイロードに格納する場合、その共通暗号化鍵の種類(偶数鍵‘10’または奇数鍵‘11’のいずれか)を、ヘッダ部のトランスポートスクランブル制御領域に設ける。そして、暗号化サーバ12は、当該TSパケットのアダプテーションフィールド/ペイロード部が少なくともペイロードを有することを示すアダプテーション制御値(“アダプテーションフィールドなし、ペイロードのみ”を示す‘01’、または“アダプテーションフィールドの次にペイロード”を示す‘11’)を、ヘッダ部のアダプテーションフィールド制御領域に設ける。
また、暗号化サーバ12は、個別暗号化鍵を適用して生成した個別暗号化データをTSパケットのペイロードに格納する場合、“拡張スクランブル”を示すトランスポートスクランブル制御値(‘01’)を、ヘッダ部のトランスポートスクランブル制御領域に設ける。そして、暗号化サーバ12は、当該TSパケットのアダプテーションフィールド/ペイロード部が“アダプテーションフィールドの次にペイロード”を示すアダプテーション制御値(‘11’)を、ヘッダ部のアダプテーションフィールド制御領域に設ける。そして、暗号化サーバ12は、トランスポートプライベートデータのデータ長(例えば0x01)を、アダプテーションフィールドのトランスポートプライベートデータ長領域に設ける。そして、暗号化サーバ12は、個別暗号化鍵を識別する個別暗号化鍵識別情報(1バイト長のデータ)を、アダプテーションフィールドのトランスポートプライベートデータ領域に設ける。
暗号化サーバ12が管理するこれらの情報(暗号化鍵管理情報)を、下記の表3にまとめる。
表3において、現行の共通暗号化鍵の共通暗号化鍵識別情報は、トランスポートスクランブル制御領域に設けられる“偶数鍵”(‘10’)または“奇数鍵”(‘11’)いずれかである。また、個別暗号化鍵の個別暗号化鍵識別情報は、トランスポートプライベートデータ領域に設けられるデータである。
図5は、暗号化サーバ12の機能構成を示すブロック図である。同図に示す暗号化サーバ12は、現行の共通暗号化鍵を適用して共通暗号化対象領域データを暗号化し、また、相互に異なる二つの個別暗号化鍵それぞれを適用して個別暗号化対象領域データを暗号化する例である。同図に示すように、暗号化サーバ12は、圧縮符号化コンテンツ取得部121と、記憶部123と、データ分離部124と、個別暗号化部126と、共通暗号化部127と、暗号化パケット生成部128と、パケット合成部129と、暗号化コンテンツ記憶部130と、暗号化コンテンツ供給部131とを備える。
圧縮符号化コンテンツ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを記憶部123に記憶させる。
記憶部123は、圧縮符号化コンテンツ取得部121が供給する圧縮符号化コンテンツデータを記憶する。記憶部123は、例えば半導体記憶装置により実現される。
データ分離部124は、記憶部123から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを、共通暗号化対象領域データと個別暗号化対象領域データとに分離する。データ分離部124が圧縮符号化コンテンツデータを分離する境界の位置は任意である。例えば、データ分離部124は、共通暗号化対象領域データおよび個別暗号化対象領域データいずれかのデータ量があらかじめ決定されたデータ量となるように圧縮符号化コンテンツデータを分離する。または、データ分離部124は、分離後の各データ量があらかじめ決定された比率となるように圧縮符号化コンテンツデータを分離する。または、データ分離部124は、圧縮符号化方式のデータ構造に応じて圧縮符号化コンテンツデータを分離する。
具体的に、例えば、データ分離部124は、記憶部123からMPEG−2映像ファイルデータを読み込み、MPEG−2映像ファイルデータの先頭から共通暗号化対象領域データを抽出する。
また、データ分離部124は、読み込んだMPEG−2映像ファイルデータから、共通暗号化対象領域データを除く個別暗号化対象領域データを抽出する。ただし、データ分離部124は、例えば、TSパケットにおけるアダプテーション/ペイロードサイズ(184バイト)よりも所定サイズ(例えば56バイト)だけ少ないサイズのブロックデータ(128バイト)、またはそのサイズの2以上の整数倍のブロックデータを、個別暗号化対象領域データとしてMPEG−2映像ファイルデータから抽出する。そして、データ分離部124は、アダプテーション/ペイロード部のうち、MPEG−2映像ファイルデータから抽出した128バイトのデータを格納しない部分(56バイト)を‘0’で埋めるパディング(Padding)を行う。これにより、データ分離部124は、アダプテーション/ペイロードサイズ分またはその2以上の整数倍分の符号列を生成する。つまり、ここでデータ分離部124が生成する符号列は、個別暗号化対象領域データとパディングデータとを併せたデータである。
なお、アダプテーション/ペイロード部におけるパディングデータの格納位置は任意であるが、例えば、データ分離部124は、MPEG−2映像ファイルデータから抽出した128バイトのデータの前または後いずれかに、パディングデータを格納する。56バイト分のパディングデータは、後段の暗号化パケット生成部128によって個別暗号化鍵識別情報に置き換えられる。なお、パディングデータの長さは56バイトに限られず、適宜設定される。
データ分離部124は、共通暗号化対象領域データを共通暗号化部127に供給する。また、データ分離部124は、個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを、個別暗号化部126に供給する。
共通暗号化部127は、データ分離部124が供給する共通暗号化対象領域データを取り込む。そして、共通暗号化部127は、現行の共通暗号化鍵を適用して共通暗号化対象領域データを暗号化し、共通暗号化データを生成する。そして、共通暗号化部127は、その共通暗号化データを暗号化パケット生成部128に供給する。
個別暗号化部126は、データ分離部124が供給する個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを取り込む。そして、個別暗号化部126は、相互に異なる個別暗号化鍵(第1個別暗号化鍵および第2個別暗号化鍵)それぞれを適用して個別暗号化対象領域データを暗号化し、二つ(2系統)の個別暗号化データ(第1個別暗号化データおよび第2個別暗号化データ)を生成する。詳細に、個別暗号化部126は、第1暗号化部126aと、第2暗号化部126bとを備える。
第1暗号化部126aは、データ分離部124が供給する個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを取り込む。そして、第1暗号化部126aは、第1個別暗号化鍵を適用して個別暗号化対象領域データを暗号化して第1個別暗号化データを生成し、この第1個別暗号化データとパディングデータ(第1個別暗号化データに対応するパディングデータ)とを、暗号化パケット生成部128に供給する。
また、第2暗号化部126bも、データ分離部124が供給する個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを取り込む。そして、第2暗号化部126bは、第2個別暗号化鍵を適用して個別暗号化対象領域データを暗号化して第2個別暗号化データを生成し、この第2個別暗号化データとパディングデータ(第2個別暗号化データに対応するパディングデータ)とを、暗号化パケット生成部128に供給する。
なお、第1暗号化部126aおよび第2暗号化部126bそれぞれに暗号化させる個別暗号化対象領域データを、相互に異ならせてもよい。この場合、例えば、データ分離部124が、第1暗号化部126aおよび第2暗号化部126bそれぞれに供給する個別暗号化対象領域データを相互に異なるデータに変更してもよい。
暗号化パケット生成部128は、第1暗号化パケット生成部128aと、第2暗号化パケット生成部128bと、共通暗号化パケット生成部128cとを備える。第1暗号化パケット生成部128aおよび第2暗号化パケット生成部128bは、個別暗号化パケット生成部である。
共通暗号化パケット生成部128cは、共通暗号化部127が供給する共通暗号化データを取り込み、この共通暗号化データをTSパケット化する。そして、共通暗号化パケット生成部128cは、共通暗号化部127が用いた共通暗号化鍵に対応して、各TSパケットのトランスポートスクランブル制御領域に、“偶数鍵”を示すスクランブル制御値‘10’または“奇数鍵”を示すスクランブル制御値‘11’を設け、アダプテーションフィールド制御領域に、“アダプテーションフィールドなし、ペイロードのみ”を示すアダプテーションフィールド制御値‘01’または“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。ここでのスクランブル制御値が、現行の共通暗号化鍵に対応する共通暗号化鍵識別情報である。共通暗号化パケット生成部128cは、このようにして生成した共通暗号化パケットデータをパケット合成部129に供給する。
第1暗号化パケット生成部128aは、第1暗号化部126aが供給する第1個別暗号化データとこの第1個別暗号化データに対応するパディングデータとを取り込み、これら第1個別暗号化データおよびパディングデータをTSパケット化する。そして、第1暗号化パケット生成部128aは、第1個別暗号化鍵を識別する第1個別暗号化鍵識別情報でパディングデータを置き換えた第1個別暗号化パケットデータを生成する。具体的に、第1暗号化パケット生成部128aは、各TSパケットのトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、アダプテーションフィールド制御領域に“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。そして、第1暗号化パケット生成部128aは、トランスポートプライベートデータ長領域に“1バイト長”を示す0x01を設け、トランスポートプライベートデータ領域に1バイト長の第1個別暗号化鍵識別情報を設ける。第1暗号化パケット生成部128aによるトランスポートプライベートデータ長領域およびトランスポートプライベートデータ領域へのデータ設定は、パディングデータへのデータ書き換えに該当する。第1暗号化パケット生成部128aは、このようにして生成した第1個別暗号化パケットデータを、パケット合成部129に供給する。
第2暗号化パケット生成部128bは、第2暗号化部126bが供給する第2個別暗号化データとこの第2個別暗号化データに対応するパディングデータとを取り込み、第1暗号化パケット生成部128aと同様に、第2個別暗号化パケットデータを生成する。具体的に、第2暗号化パケット生成部128bは、各TSパケットのトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、アダプテーションフィールド制御領域に“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。そして、第2暗号化パケット生成部128bは、トランスポートプライベートデータ長領域に“1バイト長”を示す0x01を設け、トランスポートプライベートデータ領域に1バイト長の第2個別暗号化鍵識別情報を設ける。第2暗号化パケット生成部128bによるトランスポートプライベートデータ長領域およびトランスポートプライベートデータ領域へのデータ設定は、パディングデータへのデータ書き換えに該当する。第2暗号化パケット生成部128bは、このようにして生成した第2個別暗号化パケットデータをパケット合成部129に供給する。
パケット合成部129は、共通暗号化パケット生成部128cが供給する共通暗号化パケットデータと、第1暗号化パケット生成部128aが供給する第1個別暗号化パケットデータと、第2暗号化パケット生成部128bが供給する第2個別暗号化パケットデータとを取り込む。そして、パケット合成部129は、共通暗号化パケットデータと第1個別暗号化パケットデータと第2個別暗号化パケットデータとを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部130に記憶させる。例えば、パケット合成部129は、共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータの順に連結して暗号化コンテンツデータを生成する。暗号化コンテンツデータのデータ構成の具体例については後述する。
なお、パケット合成部129が共通暗号化パケットデータと第1個別暗号化パケットデータと第2個別暗号化パケットデータとを連結する順序は、上記の順序に限らず、これら3種類のパケットデータ全ての組み合わせによる連結が可能である。また、パケット合成部129は、これら3種類の暗号化パケットデータを最小TSパケット単位で任意に組み合わせてもよい。
暗号化コンテンツ記憶部130は、パケット合成部129が供給する暗号化コンテンツデータを記憶する。暗号化コンテンツ記憶部130は、例えば、磁気ディスク装置、半導体ディスク装置等の記憶装置により実現される。
暗号化コンテンツ供給部131は、暗号化コンテンツ記憶部130から暗号化コンテンツデータを読み込み、この暗号化コンテンツデータを、例えば送信装置13に供給する。
図6は、送信装置13の機能構成を示すブロック図である。同図に示すように、送信装置13は、暗号化コンテンツ取得部151と、放送信号生成部152と、放送信号送信部153とを備える。
暗号化コンテンツ取得部151は、暗号化サーバ12から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを放送信号生成部152に供給する。
放送信号生成部152は、暗号化コンテンツ取得部151が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部153に供給する。放送信号の仕様は、例えば、ARIB(Association of Radio Industries and Broadcast)標準規格によって規定されている。
放送信号送信部153は、放送信号生成部152が供給する放送信号を取り込み、この放送信号を送信アンテナ20に送信する。
図7は、受信装置30の機能構成を示すブロック図である。同図に示すように、受信装置30は、放送信号受信部(暗号化コンテンツ取得部)301と、データ分離部302と、記憶部303と、復号部304と、データ合成部305と、圧縮符号化コンテンツ復号部306とを備える。
放送信号受信部301は、例えば、受信装置30に接続された受信アンテナ(不図示)で放送電波を受信して得られた放送信号を取り込む。そして、放送信号受信部301は、放送信号を復調して暗号化コンテンツデータを取得し、この暗号化コンテンツデータをデータ分離部302に供給する。
データ分離部302は、放送信号受信部301が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを構成するTSパケットごとに暗号化鍵識別情報を判別することによって、暗号化コンテンツデータを、共通暗号化パケットデータと個別暗号化パケットデータとに分離する。具体的に、データ分離部302は、暗号化コンテンツデータのTSパケットのうち、ヘッダ部が有するトランスポートスクランブル制御領域に“偶数鍵”を示すスクランブル制御値‘10’または“奇数鍵”を示すスクランブル制御値‘11’が設けられたTSパケットを、共通暗号化パケットデータとして抽出する。また、データ分離部302は、暗号化コンテンツデータのTSパケットのうち、ヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’が設けられたTSパケットから、ヘッダ部のアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化鍵識別情報別(第1個別暗号化鍵識別情報および第2個別暗号化鍵識別情報それぞれ)に、個別暗号化パケットデータを分離する。そして、データ分離部302は、分離した三つ(3系統)の暗号化パケットデータ(共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータ)を復号部304に供給する。
記憶部303は、現行の共通暗号化鍵に対応する偶数鍵および奇数鍵を記憶する。また、記憶部303は、第1個別暗号化鍵または第2個別暗号化鍵いずれかの個別暗号化鍵(自装置暗号化鍵)とこの自装置暗号化鍵を識別する個別暗号化鍵識別情報(自装置暗号化鍵識別情報)とを対応付けた対データを記憶する。記憶部303は、例えば、Conditional Access Systems(CAS)カード等のICカードにより実現される。
復号部304は、データ分離部302が供給する、三つの暗号化パケットデータ(共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータ)を取り込む。そして、復号部304は、記憶部303に記憶された偶数鍵または奇数鍵を適用して共通暗号化パケットデータを復号し、共通暗号化対象領域データを生成する。また、復号部304は、記憶部303に記憶された自装置暗号化鍵識別情報に基づき第1個別暗号化パケットデータおよび第2個別暗号化パケットデータのうちいずれかの個別暗号化パケットデータを選択する。そして、復号部304は、その選択した個別暗号化パケットデータを、記憶部303に記憶された、自装置暗号化鍵識別情報に対応付けられた自装置暗号化鍵を適用して復号し、個別暗号化対象領域データを生成する。詳細に、復号部304は、個別復号部304aと、共通復号部304bとを備える。
共通復号部304bは、データ分離部302から取り込んだ三つの暗号化パケットデータから、“偶数鍵”を示すスクランブル制御値‘10’または“奇数鍵”を示すスクランブル制御値‘11’がヘッダ部のトランスポートスクランブル制御領域に設けられた暗号化パケットデータ(共通暗号化パケットデータ)を抽出する。そして、共通復号部304bは、その共通暗号化パケットデータの各TSパケットからペイロードを抽出して結合することにより共通暗号化データを生成する。そして、共通復号部304bは、スクランブル制御値が“偶数鍵”を示す‘10’である場合、記憶部303に記憶された偶数鍵を適用して共通暗号化データを復号し、共通暗号化対象領域データを生成する。また、共通復号部304bは、スクランブル制御値が“奇数鍵”を示す‘11’である場合、記憶部303に記憶された奇数鍵を適用して共通暗号化データを復号し、共通暗号化対象領域データを生成する。そして、共通復号部304bは、共通暗号化対象領域データをデータ合成部305に供給する。
個別復号部304aは、データ分離部302から取り込んだ三つの暗号化パケットデータから、アダプテーションフィールドのトランスポートプライベート領域に設けられた暗号化鍵識別情報が記憶部303に記憶された自装置暗号化鍵識別情報と同一である暗号化パケットデータ(第1個別暗号化パケットデータまたは第2個別暗号化パケットデータいずれか)を抽出する。そして、個別復号部304aは、その個別暗号化パケットデータの各TSパケットからペイロードを抽出して結合することにより個別暗号化データを生成する。そして、個別復号部304aは、記憶部303に記憶された自装置暗号化鍵を適用して個別暗号化データを復号し、個別暗号化対象領域データを生成する。そして、個別復号部304aは、個別暗号化対象領域データをデータ合成部305に供給する。
データ合成部305は、共通復号部304bが供給する共通暗号化対象領域データを取り込み、また、個別復号部304aが供給する個別暗号化対象領域データを取り込む。そして、データ合成部305は、共通暗号化対象領域データと個別暗号化対象領域データとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部306に供給する。
圧縮符号化コンテンツ復号部306は、データ合成部305が供給する圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータを出力する。
図8は、暗号化サーバ12が生成する暗号化コンテンツデータのデータ構成の一例を示す概略の図である。同図において、暗号化コンテンツデータ80は、共通暗号化パケットデータ81と、第1個別暗号化パケットデータ82と、第2個別暗号化パケットデータ83とを含む。そして、共通暗号化パケットデータ81は、共通暗号化パケットデータ81の各TSパケットにおいて、ヘッダ部に偶数鍵または奇数鍵いずれかを示すスクランブル制御値(共通暗号化鍵識別情報)81aを含み、ペイロードに共通暗号化データ81bを含む。また、第1個別暗号化パケットデータ82は、第1個別暗号化パケットデータ82の各TSパケットにおいて、アダプテーションフィールドに第1個別暗号化鍵識別情報82aを含み、ペイロードに第1個別暗号化データ82bを含む。また、第2個別暗号化パケットデータ83は、第2個別暗号化パケットデータ83の各TSパケットにおいて、アダプテーションフィールドに第2個別暗号化鍵識別情報83aを含み、ペイロードに第2個別暗号化データ83bを含む。
次に、コンテンツ配信システム1の動作について説明する。
図9は、コンテンツサーバ11が実行する処理の手順を示すフローチャートである。
ステップS11において、コンテンツ取得部111は、コンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部113に供給する。そして、コンテンツ圧縮符号化部113は、コンテンツ取得部111が供給するコンテンツデータを取り込む。
次に、ステップS12において、符号化レート取得部112は、符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部113に供給する。そして、コンテンツ圧縮符号化部113は、符号化レート取得部112が供給する符号化レートを取り込む。
次に、ステップS13において、コンテンツ圧縮符号化部113は、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部114に供給する。
次に、ステップS14において、圧縮符号化コンテンツ記憶部114は、コンテンツ圧縮符号化部113が供給する圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
図10は、暗号化サーバ12が実行する処理の手順を示すフローチャートである。
ステップS31において、圧縮符号化コンテンツ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを記憶部123に記憶させる。
次に、ステップS32において、データ分離部124は、記憶部123から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを、共通暗号化対象領域データと個別暗号化対象領域データとに分離する。具体的に、例えば、データ分離部124は、記憶部123からMPEG−2映像ファイルデータを読み込み、MPEG−2映像ファイルデータの先頭から共通暗号化対象領域データを抽出する。次に、データ分離部124は、共通暗号化対象領域データを共通暗号化部127に供給する。
また、データ分離部124は、読み込んだMPEG−2映像ファイルデータから、共通暗号化対象領域データを除く個別暗号化対象領域データを抽出する。ただし、データ分離部124は、例えば、TSパケットにおけるアダプテーション/ペイロードサイズ(184バイト)よりも所定サイズ(例えば56バイト)だけ少ないサイズのブロックデータ(128バイト)、またはそのサイズの2以上の整数倍のブロックデータを、個別暗号化対象領域データとしてMPEG−2映像ファイルデータから抽出する。次に、データ分離部124は、アダプテーション/ペイロード部のうち、MPEG−2映像ファイルデータから抽出した128バイトのデータを格納しない部分(56バイト)を‘0’で埋めるパディングを行う。次に、データ分離部124は、個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを、個別暗号化部126に供給する。
次に、ステップS33において、共通暗号化部127は、データ分離部124が供給する共通暗号化対象領域データを取り込む。次に、共通暗号化部127は、現行の共通暗号化鍵を適用して共通暗号化対象領域データを暗号化し、共通暗号化データを生成する。次に、共通暗号化部127は、その共通暗号化データを共通暗号化パケット生成部128cに供給する。
また、個別暗号化部126は、データ分離部124が供給する個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを取り込む。次に、個別暗号化部126は、相互に異なる個別暗号化鍵(第1個別暗号化鍵および第2個別暗号化鍵)それぞれを適用して個別暗号化対象領域データを暗号化し、二つ(2系統)の個別暗号化データ(第1個別暗号化データおよび第2個別暗号化データ)を生成する。
具体的に、第1暗号化部126aは、データ分離部124が供給する個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを取り込む。次に、第1暗号化部126aは、第1個別暗号化鍵を適用して個別暗号化対象領域データを暗号化して第1個別暗号化データを生成し、この第1個別暗号化データとパディングデータ(第1個別暗号化データに対応するパディングデータ)とを、第1暗号化パケット生成部128aに供給する。
また、第2暗号化部126bも、データ分離部124が供給する個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを取り込む。次に、第2暗号化部126bは、第2個別暗号化鍵を適用して個別暗号化対象領域データを暗号化して第2個別暗号化データを生成し、この第2個別暗号化データとパディングデータ(第2個別暗号化データに対応するパディングデータ)とを、第2暗号化パケット生成部128bに供給する。
次に、ステップS34において、共通暗号化パケット生成部128cは、共通暗号化部127が供給する共通暗号化データを取り込み、この共通暗号化データをTSパケット化する。次に、共通暗号化パケット生成部128cは、共通暗号化部127が用いた共通暗号化鍵に対応して、各TSパケットのトランスポートスクランブル制御領域に、“偶数鍵”を示すスクランブル制御値‘10’または“奇数鍵”を示すスクランブル制御値‘11’を設け、アダプテーションフィールド制御領域に、“アダプテーションフィールドなし、ペイロードのみ”を示すアダプテーションフィールド制御値‘01’または“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。共通暗号化パケット生成部128cは、このようにして生成した共通暗号化パケットデータをパケット合成部129に供給する。
また、第1暗号化パケット生成部128aは、第1暗号化部126aが供給する第1個別暗号化データとこの第1個別暗号化データに対応するパディングデータとを取り込み、これら第1個別暗号化データおよびパディングデータをTSパケット化する。次に、第1暗号化パケット生成部128aは、第1個別暗号化鍵を識別する第1個別暗号化鍵識別情報でパディングデータを置き換えた第1個別暗号化パケットデータを生成する。具体的に、第1暗号化パケット生成部128aは、各TSパケットのトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、アダプテーションフィールド制御領域に“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。次に、第1暗号化パケット生成部128aは、トランスポートプライベートデータ長領域に“1バイト長”を示す0x01を設け、トランスポートプライベートデータ領域に1バイト長の第1個別暗号化鍵識別情報を設ける。第1暗号化パケット生成部128aは、このようにして生成した第1個別暗号化パケットデータをパケット合成部129に供給する。
また、第2暗号化パケット生成部128bは、第2暗号化部126bが供給する第2個別暗号化データとこの第2個別暗号化データに対応するパディングデータとを取り込み、第1暗号化パケット生成部128aと同様に、第2個別暗号化パケットデータを生成する。具体的に、第2暗号化パケット生成部128bは、各TSパケットのトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、アダプテーションフィールド制御領域に“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。次に、第2暗号化パケット生成部128bは、トランスポートプライベートデータ長領域に“1バイト長”を示す0x01を設け、トランスポートプライベートデータ領域に1バイト長の第2個別暗号化鍵識別情報を設ける。第2暗号化パケット生成部128bは、このようにして生成した第2個別暗号化パケットデータをパケット合成部129に供給する。
次に、ステップS35において、パケット合成部129は、共通暗号化パケット生成部128cが供給する共通暗号化パケットデータと、第1暗号化パケット生成部128aが供給する第1個別暗号化パケットデータと、第2暗号化パケット生成部128bが供給する第2個別暗号化パケットデータとを取り込む。次に、パケット合成部129は、共通暗号化パケットデータと第1個別暗号化パケットデータと第2個別暗号化パケットデータとを合成して暗号化コンテンツデータを生成する。例えば、パケット合成部129は、共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータの順に連結して暗号化コンテンツデータを生成する。
次に、ステップS36において、パケット合成部129は、暗号化コンテンツデータを暗号化コンテンツ記憶部130に記憶させる。
なお、暗号化サーバ12において、共通暗号化部127、第1暗号化部126a、および第2暗号化部126bは、並列に暗号化処理を実行してもよいし、順不同に暗号化処理を実行してもよい。同様に、共通暗号化パケット生成部128c、第1暗号化パケット生成部128a、および第2暗号化パケット生成部128bも、並列にパケット生成処理を実行してもよいし、順不同にパケット生成処理を実行してもよい。
図11は、送信装置13が実行する処理の手順を示すフローチャートである。
ステップS51において、暗号化コンテンツ取得部151は、暗号化サーバ12から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを放送信号生成部152に供給する。
次に、ステップS52において、放送信号生成部152は、暗号化コンテンツ取得部151が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部153に供給する。
次に、ステップS53において、放送信号送信部153は、放送信号生成部152が供給する放送信号を取り込み、この放送信号を送信アンテナ20に送信する。
図12は、受信装置30が実行する処理の手順を示すフローチャートである。
ステップS71において、放送信号受信部301は、例えば、受信装置30に接続された受信アンテナで放送電波を受信して得られた放送信号を取り込む。次に、放送信号受信部301は、放送信号を復調して暗号化コンテンツデータを取得し、この暗号化コンテンツデータをデータ分離部302に供給する。
次に、ステップS72において、データ分離部302は、放送信号受信部301が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを構成するTSパケットごとに暗号化鍵識別情報を判別することによって、暗号化コンテンツデータを、共通暗号化パケットデータと個別暗号化パケットデータとに分離する。具体的に、データ分離部302は、暗号化コンテンツデータのTSパケットのうち、ヘッダ部が有するトランスポートスクランブル制御領域に“偶数鍵”を示すスクランブル制御値‘10’または“奇数鍵”を示すスクランブル制御値‘11’が設けられたTSパケットを、共通暗号化パケットデータとして抽出する。また、データ分離部302は、暗号化コンテンツデータのTSパケットのうち、ヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’が設けられたTSパケットから、ヘッダ部のアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化鍵識別情報別(第1個別暗号化鍵識別情報および第2個別暗号化鍵識別情報それぞれ)に、個別暗号化パケットデータを分離する。次に、データ分離部302は、分離した三つ(3系統)の暗号化パケットデータ(共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータ)を復号部304に供給する。
次に、ステップS73において、復号部304は、データ分離部302が供給する、三つの暗号化パケットデータ(共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータ)を取り込む。次に、共通復号部304bは、データ分離部302から取り込んだ三つの暗号化パケットデータから、“偶数鍵”を示すスクランブル制御値‘10’または“奇数鍵”を示すスクランブル制御値‘11’がヘッダ部のトランスポートスクランブル制御領域に設けられた暗号化パケットデータ(共通暗号化パケットデータ)を抽出する。次に、共通復号部304bは、その共通暗号化パケットデータの各TSパケットからペイロードを抽出して結合することにより共通暗号化データを生成する。次に、共通復号部304bは、スクランブル制御値が“偶数鍵”を示す‘10’である場合、記憶部303に記憶された偶数鍵を適用して共通暗号化データを復号し、共通暗号化対象領域データを生成する。また、共通復号部304bは、スクランブル制御値が“奇数鍵”を示す‘11’である場合、記憶部303に記憶された奇数鍵を適用して共通暗号化データを復号し、共通暗号化対象領域データを生成する。次に、共通復号部304bは、共通暗号化対象領域データをデータ合成部305に供給する。
また、個別復号部304aは、データ分離部302から取り込んだ三つの暗号化パケットデータから、アダプテーションフィールドのトランスポートプライベート領域に設けられた暗号化鍵識別情報が記憶部303に記憶された自装置暗号化鍵識別情報と同一である暗号化パケットデータ(第1個別暗号化パケットデータまたは第2個別暗号化パケットデータいずれか)を抽出する。次に、個別復号部304aは、その個別暗号化パケットデータの各TSパケットからペイロードを抽出して結合することにより個別暗号化データを生成する。次に、個別復号部304aは、記憶部303に記憶された自装置暗号化鍵を適用して個別暗号化データを復号し、個別暗号化対象領域データを生成する。次に、個別復号部304aは、個別暗号化対象領域データをデータ合成部305に供給する。
次に、ステップS74において、データ合成部305は、共通復号部304bが供給する共通暗号化対象領域データを取り込み、また、個別復号部304aが供給する個別暗号化対象領域データを取り込む。次に、データ合成部305は、共通暗号化対象領域データと個別暗号化対象領域データとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部306に供給する。
次に、ステップS75において、圧縮符号化コンテンツ復号部306は、データ合成部305が供給する圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータを出力する。
なお、共通復号部304bおよび個別復号部304aは、並列に暗号化処理を実行してもよいし、順不同に暗号化処理を実行してもよい。
[第2の実施の形態]
上述した第1実施形態は、暗号化サーバ12が現行の共通暗号化鍵を適用して共通暗号化対象領域データを暗号化し、受信装置30が現行の共通暗号化鍵を適用して共通暗号化データを復号する例であった。本発明の第2実施形態は、暗号化サーバ12が現行の共通暗号化鍵と異なる新規の共通暗号化鍵を適用して共通暗号化対象領域データを暗号化し、受信装置30が新規の共通暗号化鍵を適用して共通暗号化データを復号する例である。
第2実施形態において第1実施形態と異なる部分は、暗号化サーバ12のデータ分離部124、共通暗号化部127、および共通暗号化パケット生成部128c、ならびに受信装置30のデータ分離部302、記憶部303、および共通復号部304bである。よって、ここでは、第1実施形態と異なる構成および動作についてのみ、図5および図7のブロック図を用いて説明し、第1実施形態と共通する構成および動作についての説明を省略する。
データ分離部124は、記憶部123からMPEG−2映像ファイルデータを読み込み、MPEG−2映像ファイルデータの先頭から共通暗号化対象領域データを抽出する。ただし、データ分離部124は、例えば、TSパケットにおけるアダプテーション/ペイロードサイズ(184バイト)よりも所定サイズ(例えば56バイト)だけ少ないサイズのブロックデータ(128バイト)、またはそのサイズの2以上の整数倍のブロックデータを、MPEG−2映像ファイルデータから抽出する。そして、データ分離部124は、アダプテーション/ペイロード部のうち、MPEG−2映像ファイルデータから抽出したデータを格納しない部分(56バイト)を‘0’で埋めるパディングを行う。これにより、データ分離部124は、アダプテーション/ペイロードサイズ分またはその2以上の整数倍分の符号列を生成する。つまり、ここでデータ分離部124が生成する符号列は、共通暗号化対象領域データとパディングデータとを併せたデータである。また、データ分離部124は、第1実施形態と同様に、MPEG−2映像ファイルデータから、共通暗号化対象領域データを除く個別暗号化対象領域データを抽出する。
データ分離部124は、共通暗号化対象領域データとこの共通暗号化対象領域データに対応するパディングデータとを、共通暗号化部127に供給する。また、データ分離部124は、個別暗号化対象領域データとこの個別暗号化対象領域データに対応するパディングデータとを、個別暗号化部126に供給する。
共通暗号化部127は、データ分離部124が供給する共通暗号化対象領域データとこの共通暗号化対象領域データに対応するパディングデータとを取り込む。そして、共通暗号化部127は、現行の共通暗号化鍵と異なる新規の共通暗号化鍵を適用して共通暗号化対象領域データを暗号化し、共通暗号化データを生成する。そして、共通暗号化部127は、その共通暗号化データとパディングデータ(共通暗号化データに対応するパディングデータ)とを共通暗号化パケット生成部128cに供給する。
共通暗号化パケット生成部128cは、共通暗号化部127が供給する共通暗号化データとこの共通暗号化データに対応するパディングデータとを取り込み、これら共通暗号化データおよびパディングデータをTSパケット化する。そして、共通暗号化パケット生成部128cは、新規の共通暗号化鍵を識別する共通暗号化鍵識別情報でパディングデータを置き換えた共通暗号化パケットデータを生成する。具体的に、共通暗号化パケット生成部128cは、各TSパケットのトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、アダプテーションフィールド制御領域に“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’を設ける。そして、共通暗号化パケット生成部128cは、トランスポートプライベートデータ長領域に“1バイト長”を示す0x01を設け、トランスポートプライベートデータ領域に1バイト長の共通暗号化鍵識別情報を設ける。共通暗号化パケット生成部128cによるトランスポートプライベートデータ長領域およびトランスポートプライベートデータ領域へのデータ設定は、パディングデータへのデータ書き換えに該当する。共通暗号化パケット生成部128cは、このようにして生成した共通暗号化パケットデータをパケット合成部129に供給する。
データ分離部302は、暗号化コンテンツデータのTSパケットのうち、ヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’が設けられたTSパケットから、ヘッダ部のアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化鍵識別情報別(共通暗号化鍵識別情報、第1個別暗号化鍵識別情報、および第2個別暗号化鍵識別情報それぞれ)に、暗号化パケットデータを分離する。そして、データ分離部302は、分離した三つ(3系統)の暗号化パケットデータ(共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータ)を復号部304に供給する。
記憶部303は、新規の共通暗号化鍵とこの共通暗号化鍵を識別する共通暗号化鍵識別情報とを対応付けた対データを記憶する。また、記憶部303は、第1個別暗号化鍵または第2個別暗号化鍵のいずれか一つの個別暗号化鍵(自装置暗号化鍵)とこの自装置暗号化鍵を識別する個別暗号化鍵識別情報(自装置暗号化鍵識別情報)とを対応付けた対データを記憶する。
復号部304の共通復号部304bは、データ分離部302から取り込んだ三つの暗号化パケットデータから、アダプテーションフィールドのトランスポートプライベート領域に設けられた暗号化鍵識別情報が記憶部303に記憶された共通暗号化鍵識別情報と同一である暗号化パケットデータ(共通暗号化パケットデータ)を抽出する。そして、共通復号部304bは、その共通暗号化パケットデータの各TSパケットからペイロードを抽出して結合することにより共通暗号化データを生成する。そして、共通復号部304bは、記憶部303に記憶された共通暗号化鍵を適用して共通暗号化データを復号し、共通暗号化対象領域データを生成する。そして、共通復号部304bは、共通暗号化対象領域データをデータ合成部305に供給する。
[第3の実施の形態]
本発明の第3実施形態は、前述した第1実施形態に対して、暗号化サーバ12を暗号化サーバ12aに変更したものである。
暗号化サーバ12aは、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを、所定の符号を含むブロックデータとこのブロックデータを除く共通データとに分離する。所定の符号については、後述する。暗号化サーバ12aは、ブロックデータに含まれる所定の符号を、この符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更することにより、変更ブロックデータを生成する。
暗号化サーバ12aは、現行の共通暗号化鍵を適用して共通データを暗号化し、共通暗号化データを生成する。また、暗号化サーバ12aは、相互に異なる二つの個別暗号化鍵(第1個別暗号化鍵、第2個別暗号化鍵)を適用してブロックデータおよび変更ブロックデータそれぞれを暗号化し、二つ(2系統)の個別暗号化データを生成する。つまり、共通データが共通暗号化対象領域データに相当し、ブロックデータおよび変更ブロックデータが個別暗号化対象領域データに相当する。そして、暗号化サーバ12aは、共通暗号化データをパケット変換して共通暗号化鍵識別情報を各パケットに設ける。また、暗号化サーバ12aは、第1個別暗号化データおよび第2個別暗号化データそれぞれをパケット変換し、第1個別暗号化鍵および第2個別暗号化鍵それぞれを識別する個別暗号化鍵識別情報(第1個別暗号化鍵識別情報、第2個別暗号化鍵識別情報)を、対応する各パケットに設ける。そして、暗号化サーバ12aは、全てのパケットを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを記憶する。
図13は、暗号化サーバ12aの機能構成を示すブロック図である。同図に示す暗号化サーバ12aは、現行の共通暗号化鍵を適用して共通データを暗号化し、また、相互に異なる二つの個別暗号化鍵を適用してブロックデータおよび変更ブロックデータそれぞれを暗号化する例である。同図に示すように、暗号化サーバ12aは、第1実施形態における暗号化サーバ12に対して、符号検出部122と、符号変更部125とをさらに備えた構成を有する。ここでは、暗号化サーバ12aの暗号化サーバ12と相違する部分について説明し、共通する部分についての説明を省略する。
符号検出部122は、圧縮符号化コンテンツ取得部121から圧縮符号化コンテンツデータを取り込んでこの圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域から所定の符合(特定符号)を検出する。例えば、符号検出部122は、圧縮符号化コンテンツデータに含まれる可変長符号から、離散コサイン変換(Discrete Cosine Transform;DCT)係数を可変長符号化するテーブルに含まれる符号を検出し、この符号の位置を特定する。
ここで、圧縮符号化コンテンツデータが、MPEG−2ビデオ規格に基づき圧縮符号化されてファイル化されたMPEG−2映像ファイルデータである場合の所定の符号について、具体的に説明する。この例において、圧縮符号化コンテンツデータは、MPEG−2ビデオ規格によるデータ構造を有する。具体的には、圧縮符号化コンテンツデータは、例えば、シーケンス層(Sequence Layer)から、GOP層(Group Of Picture Layer)、ピクチャ層(Picture Layer)、スライス層(Slice Layer)、マクロブロック層(Macro Block Layer)、ブロック層(Block Layer)までの6層の階層データ構造を有する。この6層のうちシーケンス層が最上位層であり、ブロック層が最下位層である。
これら6層のうちブロック層は、符号化係数(例えば、DCT係数等)を含む。具体的に、ブロック層は、DCT係数を可変長符号化するためのテーブルを含む。
下記の表4は、ブロック層に含まれる、DCT係数を可変長符号化するテーブルの一部分を示す表である。ただし、このテーブルにおいて、ラン長は、ゼロ係数の個数である。レベルは、非ゼロ係数の値である。また、sは、レベルの符号である。
表4のテーブルによれば、所定の符号は、ゼロ係数の個数であるラン長と非ゼロ係数のレベル値とを示すものである。
符号検出部122は、圧縮符号化コンテンツデータを記憶部123に記憶させる。また、符号検出部122は、圧縮符号化コンテンツデータの先頭(ファイルの先頭)から所定の符号までのビット数を計数し、このビット数を符号位置情報として記憶部123に記憶させる。なお、符号検出部122は、各ビット数を計数するための計数開始位置を、圧縮符号化コンテンツデータの先頭ではなく、あらかじめ決定された任意の位置としてもよい。
記憶部123は、符号検出部122が供給する、圧縮符号化コンテンツデータおよび符号位置情報を記憶する。記憶部123は、例えば半導体記憶装置により実現される。
データ分離部124は、記憶部123から圧縮符号化コンテンツデータおよび符号位置情報を読み込む。そして、データ分離部124は、圧縮符号化コンテンツデータを、符号位置情報が示す位置の符号を含むブロックデータと、このブロックデータを除く共通データとに分離する。
具体的に、データ分離部124は、記憶部123からMPEG−2映像ファイルデータおよび符号位置情報を読み込む。そして、データ分離部124は、例えば、読み込んだMPEG−2映像ファイルデータの先頭から、符号位置情報が示す位置の符号を含む範囲のブロックデータを抽出する。ただし、データ分離部124は、例えば、TSパケットにおけるアダプテーション/ペイロードサイズ(184バイト)よりも所定サイズ(例えば56バイト)だけ少ないサイズのブロックデータ(128バイト)、またはそのサイズの2以上の整数倍のブロックデータを、ブロックデータとしてMPEG−2映像ファイルデータから抽出する。そして、データ分離部124は、アダプテーション/ペイロード部のうち、MPEG−2映像ファイルデータから抽出した128バイトのデータを格納しない部分(56バイト)を‘0’で埋めるパディングを行う。これにより、データ分離部124は、アダプテーション/ペイロードサイズ分またはその2以上の整数倍分の符号列を生成する。つまり、ここでデータ分離部124が生成する符号列は、ブロックデータとこのブロックデータに対応するパディングデータとを併せたデータである。
また、データ分離部124は、MPEG−2映像ファイルデータから抽出したブロックデータを除く符号列を、共通データとして抽出する。
データ分離部124は、ブロックデータとこのブロックデータに対応するパディングデータとを、符号変更部125および個別暗号化部126に供給する。また、データ分離部124は、共通データを共通暗号化部127に供給する。
符号変更部125は、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。そして、符号変更部125は、ブロックデータに含まれる所定の符号を、この符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更することにより、変更ブロックデータを生成する。具体的に、所定の符号がラン長(ゼロ係数の個数)と非ゼロ係数のレベル値とを示す場合、他の符号におけるラン長は、当該所定の符号におけるラン長と同一である。このようにすることで、ブロックデータと変更ブロックデータとの間に、復号画像の画質の差異をさほど生じさせなくすることができる。そして、符号変更部125は、変更ブロックデータと取り込んだパディングデータ(変更ブロックデータに対応するパディングデータ)とを、個別暗号化部126の第2暗号化部126bに供給する。
共通暗号化部127は、データ分離部124が供給する共通データを取り込む。そして、共通暗号化部127は、現行の共通暗号化鍵を適用して共通データを暗号化し、共通暗号化データを生成する。そして、共通暗号化部127は、その共通暗号化データを暗号化パケット生成部128に供給する。
個別暗号化部126は、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。また、個別暗号化部126は、符号変更部125が供給する変更ブロックデータとこの変更ブロックデータに対応するパディングデータとを取り込む。そして、個別暗号化部126は、相互に異なる個別暗号化鍵(第1個別暗号化鍵および第2個別暗号化鍵)を適用してブロックデータおよび変更ブロックデータそれぞれを暗号化し、二つ(2系統)の個別暗号化データ(第1個別暗号化データおよび第2個別暗号化データ)を生成する。
詳細に、第1暗号化部126aは、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。そして、第1暗号化部126aは、第1個別暗号化鍵を適用してブロックデータを暗号化して第1個別暗号化データを生成し、この第1個別暗号化データとパディングデータ(第1個別暗号化データに対応するパディングデータ)とを、暗号化パケット生成部128に供給する。
また、第2暗号化部126bは、符号変更部125が供給する変更ブロックデータとこの変更ブロックデータに対応するパディングデータとを取り込む。そして、第2暗号化部126bは、第2個別暗号化鍵を適用して変更ブロックデータを暗号化して第2個別暗号化データを生成し、この第2個別暗号化データとパディングデータ(第2個別暗号化データに対応するパディングデータ)とを、暗号化パケット生成部128に供給する。
暗号化サーバ12aにおける暗号化パケット生成部128、パケット合成部129、暗号化コンテンツ記憶部130、および暗号化コンテンツ供給部131は、第1実施形態の暗号化サーバ12における同一符号の構成と同様である。
次に、第3実施形態におけるコンテンツ配信システムの動作について説明する。
図14は、暗号化サーバ12aが実行する処理の手順を示すフローチャートである。
ステップS91において、圧縮符号化コンテンツ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを符号検出部122に供給する。
次に、ステップS92において、符号検出部122は、圧縮符号化コンテンツ取得部121が供給する圧縮符号化コンテンツデータを取り込む。次に、符号検出部122は、この圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域から所定の符合(特定符号)を検出する。次に、符号検出部122は、圧縮符号化コンテンツデータと、検出した符号の位置を示す符号位置情報とを、記憶部123に記憶させる。
次に、ステップS93において、データ分離部124は、記憶部123から圧縮符号化コンテンツデータおよび符号位置情報を読み込む。次に、データ分離部124は、圧縮符号化コンテンツデータを、符号位置情報が示す位置の符号を含むブロックデータと、このブロックデータを除く共通データとに分離する。具体的に、データ分離部124は、記憶部123からMPEG−2映像ファイルデータおよび符号位置情報を読み込む。次に、データ分離部124は、例えば、読み込んだMPEG−2映像ファイルデータの先頭から、符号位置情報が示す位置の符号を含む範囲のブロックデータを抽出する。ただし、データ分離部124は、例えば、TSパケットにおけるアダプテーション/ペイロードサイズ(184バイト)よりも所定サイズ(例えば56バイト)だけ少ないサイズのブロックデータ(128バイト)、またはそのサイズの2以上の整数倍のブロックデータを、ブロックデータとしてMPEG−2映像ファイルデータから抽出する。次に、データ分離部124は、アダプテーション/ペイロード部のうち、MPEG−2映像ファイルデータから抽出したデータを格納しない部分(56バイト)を‘0’で埋めるパディングを行う。
また、データ分離部124は、MPEG−2映像ファイルデータから抽出したブロックデータを除く符号列を、共通データとして抽出する。次に、データ分離部124は、ブロックデータとこのブロックデータに対応するパディングデータとを、符号変更部125およびブロック部分暗号化部126に供給する。また、データ分離部124は、共通データを共通暗号化部127に供給する。
次に、ステップS94において、符号変更部125は、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。次に、符号変更部125は、ブロックデータに含まれる所定の符号を、この符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更することにより、変更ブロックデータを生成する。次に、符号変更部125は、変更ブロックデータと取り込んだパディングデータ(変更ブロックデータに対応するパディングデータ)とを、個別暗号化部126の第2暗号化部126bに供給する。
次に、ステップS95において、共通暗号化部127は、データ分離部124が供給する共通データを取り込む。次に、共通暗号化部127は、現行の共通暗号化鍵を適用して共通データを暗号化し、共通暗号化データを生成する。次に、共通暗号化部127は、その共通暗号化データを暗号化パケット生成部128に供給する。
また、第1暗号化部126aは、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。次に、第1暗号化部126aは、第1個別暗号化鍵を適用してブロックデータを暗号化して第1個別暗号化データを生成し、この第1個別暗号化データとパディングデータ(第1個別暗号化データに対応するパディングデータ)とを、暗号化パケット生成部128に供給する。
また、第2暗号化部126bは、符号変更部125が供給する変更ブロックデータとこの変更ブロックデータに対応するパディングデータとを取り込む。次に、第2暗号化部126bは、第2個別暗号化鍵を適用して変更ブロックデータを暗号化して第2個別暗号化データを生成し、この第2個別暗号化データとパディングデータ(第2個別暗号化データに対応するパディングデータ)とを、暗号化パケット生成部128に供給する。
ステップS96からステップS98までの処理は、第1実施形態における暗号化サーバ12のステップS34からステップS36までの処理(図10を参照)と同様であるため、ここでの説明を省略する。
なお、暗号化サーバ12aにおいて、共通暗号化部127、第1暗号化部126a、および第2暗号化部126bは、並列に暗号化処理を実行してもよいし、順不同に暗号化処理を実行してもよい。同様に、共通暗号化パケット生成部128c、第1暗号化パケット生成部128a、および第2暗号化パケット生成部128bも、並列にパケット生成処理を実行してもよいし、順不同にパケット生成処理を実行してもよい。
第1実施形態において説明した受信装置30は、暗号化サーバ12aが生成した暗号化コンテンツデータを取り込むと、あらかじめ有する共通暗号化鍵を適用して共通暗号化パケットデータから共通データを生成し、また、2系統の個別暗号化パケットデータのうち、あらかじめ有する自装置個別暗号化鍵に対応する個別暗号化パケットデータから、ブロックデータまたは変更ブロックデータ(復号ブロックデータ)を生成する。そして、受信装置30は、共通データと復号ブロックデータとを合成して復号圧縮符号化コンテンツデータを生成し、この復号圧縮符号化コンテンツデータを復号コンテンツデータに復号する。このように、受信装置30は、暗号化サーバ12aが生成した暗号化コンテンツデータを正常に復号することができる。
以上詳述したとおり、第1実施形態および第2実施形態における暗号化サーバ12は、共通暗号化鍵を適用して、圧縮符号化コンテンツデータにおける共通暗号化対象領域データを暗号化し、共通暗号化データを生成する共通暗号化部127を備える。また、暗号化サーバ12は、相互に異なる第1個別暗号化鍵および第2個別暗号化鍵を適用して、圧縮符号化コンテンツデータから得た個別暗号化対象領域データをそれぞれ暗号化し、個別暗号化データを生成する個別暗号化部126を備える。また、暗号化サーバ12は、共通暗号化データをTSに変換し、各TSパケットに共通暗号化鍵識別情報を設けて、共通暗号化パケットデータを生成する共通暗号化パケット生成部128cを備える。また、暗号化サーバ12は、個別暗号化データをTSに変換し、第1個別暗号化鍵および第2個別暗号化鍵それぞれに対応するTSごとの、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に、“拡張スクランブル”を示すスクランブル制御値‘01’を設け、ヘッダ部が有するアダプテーションフィールド制御領域に、TSパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値‘11’を設け、アダプテーションフィールドが有するトランスポートプライベートデータ領域に、第1個別暗号化鍵識別情報および第2個別暗号化鍵識別情報それぞれを設けて、個別暗号化パケットデータを生成する個別暗号化パケット生成部を備える。また、暗号化サーバ12は、共通暗号化パケットデータと個別暗号化パケットデータとを合成して、暗号化コンテンツデータを生成するパケット合成部129を備える。
すなわち、第1実施形態および第2実施形態における暗号化サーバ12は、圧縮符号化コンテンツデータにおける共通暗号化対象領域データを、共通暗号化鍵を適用して暗号化し、また、当該圧縮符号化コンテンツデータにおける個別暗号化対象領域データを、相互に異なる二つの個別暗号化鍵を適用してそれぞれ暗号化する。暗号化サーバ12によって生成された暗号化コンテンツデータを取得した受信装置は、当該装置が有する自装置個別暗号化鍵を適用して、第1個別暗号化データまたは第2個別暗号化データを復号する。つまり、暗号化サーバ12が生成した暗号化コンテンツデータを取得した受信装置は、保有する個別暗号化鍵に対応したコンテンツデータを再生することとなる。これにより、暗号化サーバ12を含むコンテンツ配信システム1による一斉配信のコンテンツ配信サービスの通常運用時において、不正な個別暗号化鍵を有した不正受信装置が再生するコンテンツデータを、正規の個別暗号化鍵で復号されたコンテンツデータと異なるものにすることができる。すなわち、第1実施形態および第2実施形態によれば、不正受信装置が不正者追跡のテストであるか、通常の運用であるかを正しく判断できないようにすることができる。
また、第1実施形態および第2実施形態における受信装置30は、圧縮符号化コンテンツデータにおける共通暗号化対象領域データを、共通暗号化鍵を適用して暗号化し得られた共通暗号化データをTSに変換し、各TSパケットに共通暗号化鍵識別情報を設けて得られた共通暗号化パケットデータと、前記の圧縮符号化コンテンツデータから得た個別暗号化対象領域データを、第1個別暗号化鍵および第2個別暗号化鍵それぞれを適用して暗号化し得られた個別暗号化データをTSに変換し、第1個別暗号化鍵および第2個別暗号化鍵それぞれに対応するTSごとの、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、ヘッダ部が有するアダプテーションフィールド制御領域にTSパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値‘11’を設け、アダプテーションフィールドが有するトランスポートプライベートデータ領域に第1個別暗号化鍵識別情報および第2個別暗号化鍵識別情報それぞれを設けて生成された個別暗号化パケットデータと、を合成して得られた暗号化コンテンツデータを取り込む放送信号受信部301を備える。
また、受信装置30は、取り込んだ暗号化コンテンツデータから、共通暗号化鍵識別情報が設けられたTSパケットを有する共通暗号化パケットデータを抽出し、この共通暗号化パケットデータに含まれる共通暗号化データを復号して共通暗号化対象領域データを生成する共通復号部304bを備える。また、受信装置30は、暗号化コンテンツデータにおいて、TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’が設けられた暗号化パケットデータから、アダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化鍵識別情報が、あらかじめ記憶された自装置暗号化鍵識別情報と同一である暗号化パケットデータを抽出し、この暗号化パケットデータに含まれる個別暗号化データを復号して個別暗号化対象領域データを生成する個別復号部304aを備える。また、受信装置30は、共通暗号化対象領域データと個別暗号化対象領域データとを合成して圧縮符号化コンテンツデータを生成するデータ合成部305を備える。
このように構成したことにより、暗号化サーバ12が生成した暗号化コンテンツデータを取り込んだ受信装置30は、あらかじめ有する共通暗号化鍵を適用して共通暗号化パケットデータから共通暗号化対象領域データを生成でき、また、2系統の個別暗号化パケットデータのうち、あらかじめ有する自装置個別暗号化鍵に対応する個別暗号化パケットデータから、個別暗号化対象領域データを生成することができる。よって、受信装置30は、暗号化サーバ12が生成した暗号化コンテンツデータを正常に復号することができる。
よって、暗号化サーバ12を含むコンテンツ配信システム1による一斉配信のコンテンツ配信サービスの通常運用時において、不正な個別暗号化鍵を有した場合の受信装置30(不正受信装置)が再生するコンテンツデータを、正規の個別暗号化鍵で復号されたコンテンツデータと異なるものにすることができる。すなわち、不正受信装置である受信装置30が不正者追跡のテストであるか、通常の運用であるかを正しく判断することができないようにすることができる。
また、本発明の第3実施形態における暗号化サーバ12aは、第1実施形態および第2実施形態における暗号化サーバ12において、圧縮符号化コンテンツデータに含まれる可変長符号から所定の符号を検出する符号検出部122をさらに備える。また、暗号化サーバ12aは、圧縮符号化コンテンツデータを、その符号を含むブロックデータとこのブロックデータを除く共通データとに分離するデータ分離部124をさらに備える。また、暗号化サーバ12aは、ブロックデータに含まれる符号を、この符号の符号長と同一の符号長であり且つその符号と異なる他の符号に変更し、変更ブロックデータを生成する符号変更部125をさらに備える。また、暗号化サーバ12aの共通暗号化部127は、データ分離部124により分離された共通データを、共通暗号化鍵を適用して暗号化する。また、暗号化サーバ12aの個別暗号化部126は、データ分離部124により分離されたブロックデータと符号変更部125が生成した変更ブロックデータとのそれぞれを、第1個別暗号化鍵および第2個別暗号化鍵それぞれを適用して暗号化する。
すなわち、暗号化サーバ12aは、圧縮符号化コンテンツデータにおける共通データを、共通暗号化鍵を適用して暗号化し、また、当該圧縮符号化コンテンツデータにおけるブロックデータとこのブロックデータから一部内容が変更された変更ブロックデータとを、相互に異なる二つの個別暗号化鍵を適用してそれぞれ暗号化する。暗号化サーバ12aによって生成された暗号化コンテンツデータを取得した受信装置は、当該装置が有する自装置個別暗号化鍵を適用して、第1個別暗号化データ(暗号化されたブロックデータ)または第2個別暗号化データ(暗号化された変更ブロックデータ)を復号する。つまり、暗号化サーバ12aが生成した暗号化コンテンツデータを取得した受信装置は、保有する個別暗号化鍵に対応したコンテンツデータを再生することとなる。これにより、暗号化サーバ12aを含むコンテンツ配信システム1による一斉配信のコンテンツ配信サービスの通常運用時において、不正な個別暗号化鍵を有した不正受信装置が再生するコンテンツデータは、正規の個別暗号化鍵で復号されたコンテンツデータと異なるものとなる。すなわち、第3実施形態によれば、不正受信装置が不正者追跡のテストであるか、通常の運用であるかを正しく判断できないようにすることができる。
したがって、例えば、追跡テストが実行されていることを検知した場合に自己破壊を起こすよう構成された不正受信装置は、通常の運用サービス時でも自己破壊を起こすこととなり、受信装置として使用不能になる。または、自己破壊までは起こさないよう構成された不正受信装置は、テストデータが入力されているか、または通常サービスによるコンテンツデータが入力されているかを判断することができないため、非破壊のまま追跡テストが実行される。
また、暗号化サーバ12aは、圧縮符号化コンテンツデータの一部分であるブロックデータから変更ブロックデータを生成するため、圧縮符号化コンテンツデータ全体を複数種類の暗号化鍵を適用して暗号化するよりも、符号量を大幅に少なくすることができ、伝送路の使用帯域を圧迫することがない。
また、暗号化サーバ12aが生成した暗号化コンテンツデータを受信した受信装置30の放送信号受信部301は、圧縮符号化コンテンツデータが有する可変長符号に含まれる所定の符号を含むブロックデータと、このブロックデータに含まれるその符号をこの符号の符号長と同一の符号長であり且つその符号と異なる他の符号に変更した変更ブロックデータとのそれぞれを、第1個別暗号化鍵および第2個別暗号化鍵それぞれを適用して暗号化し得られた個別暗号化データをTSに変換し、第1個別暗号化鍵および第2個別暗号化鍵それぞれに対応するTSごとの、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’を設け、ヘッダ部が有するアダプテーションフィールド制御領域にTSパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値‘11’を設け、アダプテーションフィールドが有するトランスポートプライベートデータ領域に第1個別暗号化鍵識別情報および第2個別暗号化鍵識別情報それぞれを設けて生成された暗号化パケットデータと、圧縮符号化コンテンツデータからブロックデータを除く共通データを、共通暗号化鍵を適用して暗号化し得られた共通暗号化データをTSに変換し、各TSパケットに共通暗号化鍵識別情報を設けて得られた共通暗号化パケットデータと、を合成して得られた暗号化コンテンツデータを取り込む。
また、その受信装置30の共通復号部304bは、暗号化コンテンツデータから、共通暗号化鍵識別情報が設けられたTSパケットを有する共通暗号化パケットデータを抽出し、この共通暗号化パケットデータに含まれる共通暗号化データを復号して共通データを生成する。また、その受信装置30の個別復号部304aは、暗号化コンテンツデータにおいて、TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に“拡張スクランブル”を示すスクランブル制御値‘01’が設けられた暗号化パケットデータから、アダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化鍵識別情報が、あらかじめ記憶された自装置暗号化鍵識別情報と同一である暗号化パケットデータを抽出し、この暗号化パケットデータに含まれる個別暗号化データを復号して復号ブロックデータを生成する。また、その受信装置30のデータ合成部305は、共通復号部304bが生成した共通データと個別復号部304aが生成した復号ブロックデータとを合成して復号符号化コンテンツデータを生成する。
このように構成したことにより、暗号化サーバ12aが生成した暗号化コンテンツデータを取り込んだ受信装置30は、あらかじめ有する共通暗号化鍵を適用して共通暗号化パケットデータから共通データを生成でき、また、2系統の個別暗号化パケットデータのうち、あらかじめ有する自装置個別暗号化鍵に対応する個別暗号化パケットデータから、ブロックデータまたは変更ブロックデータ(復号ブロックデータ)を生成することができる。そして、この受信装置30は、共通データと復号ブロックデータとを合成して復号圧縮符号化コンテンツデータを生成し、この復号圧縮符号化コンテンツデータを復号して復号コンテンツデータを得ることができる。よって、受信装置30は、暗号化サーバ12aが生成した暗号化コンテンツデータを正常に復号することができる。
よって、暗号化サーバ12aを含むコンテンツ配信システム1による一斉配信のコンテンツ配信サービスの通常運用時において、不正な個別暗号化鍵を有した場合の受信装置30(不正受信装置)が再生するコンテンツデータを、正規の個別暗号化鍵で復号されたコンテンツデータと異なるものにすることができる。すなわち、不正受信装置である受信装置30が不正者追跡のテストであるか、通常の運用であるかを正しく判断することができないようにすることができる。
したがって、第1実施形態〜第3実施形態によれば、一斉配信のコンテンツ配信サービスを受ける受信装置に対する不正者追跡を効果的に行うコンテンツ配信システムを実現することができる。
[その他の実施形態]
第1実施形態および第2実施形態における暗号化サーバ12は、個別暗号化部と暗号化パケット生成部とを2系統に限定せず複数系統備えてもよい。この場合、第1暗号化部〜第n(nは2以上の整数)暗号化部は、相互に異なる個別暗号化鍵で個別暗号化対象領域データをそれぞれ暗号化する。また、第1個別暗号化パケット生成部〜第n個別暗号化パケット生成部は、相互に異なる個別暗号化識別情報をTSパケットに設ける。
また、第3実施形態における暗号化サーバ12aは、符号変更部125と第2暗号化部126bと第2暗号化パケット生成部128bとを複数系統備えてもよい。この場合、複数の符号変更部125は、相互に異なる変更ブロックデータを生成する。また、複数の第2暗号化部126bそれぞれは、個別暗号化部126における他の暗号化部に適用される個別暗号化鍵のいずれとも異なる個別暗号化鍵を適用する。
また、第3実施形態における暗号化サーバ12aにおいて、所定の符号は、ゼロ係数の個数であるラン長と非ゼロ係数の値とを示すものとし、他の符号におけるラン長は、所定の符号におけるラン長と同一としてもよい。このようにすることで、ブロックデータと変更ブロックデータとの間に、復号画像の画質の差異をさほど生じさせなくすることができる。
また、第3実施形態は、暗号化サーバ12aが現行の共通暗号化鍵を適用して共通データを暗号化し、受信装置30が現行の共通暗号化鍵を適用して共通暗号化データを復号する例であった。これ以外に、第2実施形態と同様に、暗号化サーバ12aが現行の共通暗号化鍵と異なる新規の共通暗号化鍵を適用して共通データを暗号化し、受信装置30が新規の共通暗号化鍵を適用して共通暗号化データを復号するようにしてもよい。
また、暗号化サーバ12を次のように構成してもよい。すなわち、共通暗号化部127、第1暗号化部126a、および第2暗号化部126bそれぞれが、圧縮符号化コンテンツデータを暗号化して、共通暗号化データ、第1個別暗号化データ、および第2個別暗号化データを生成する。そして、共通暗号化パケット生成部128c、第1暗号化パケット生成部128a、および第2暗号化パケット生成部128bそれぞれが、共通暗号化データ、第1個別暗号化データ、および第2個別暗号化データそれぞれを第1実施形態または第2実施形態に示した方式でTSパケット化して、共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータを生成する。そして、パケット合成部129が、共通暗号化パケットデータと、第1個別暗号化パケットデータおよび第2個別暗号化パケットデータの対データとから、時間が重複しないようにTSパケットを選択し、これら選択したTSパケットを合成する。
また、同様に、暗号化サーバ12aを次のように構成してもよい。すなわち、符号変更部125が、所定の符号をこの符号の符号長と同一の符号長であり且つその符号と異なる他の符号に変更した変更圧縮符号化コンテンツデータを生成する。そして、共通暗号化部127および第1暗号化部126aそれぞれが、圧縮符号化コンテンツデータを暗号化して、共通暗号化データおよび第1個別暗号化データを生成する。また、第2暗号化部126bが、変更圧縮符号化コンテンツデータを暗号化して第2個別暗号化データを生成する。そして、共通暗号化パケット生成部128c、第1暗号化パケット生成部128a、および第2暗号化パケット生成部128bそれぞれが、共通暗号化データ、第1個別暗号化データ、および第2個別暗号化データそれぞれを第1実施形態または第2実施形態に示した方式でTSパケット化して、共通暗号化パケットデータ、第1個別暗号化パケットデータ、および第2個別暗号化パケットデータを生成する。そして、パケット合成部129が、第1個別暗号化パケットデータから所定の符号を含む範囲のTSパケットを選択し、第2個別暗号化パケットデータからそのTSパケットに時間が一致するTSパケットを選択し、共通暗号化パケットデータから、それらTSパケットと時間が重複しないようにTSパケットを選択し、これら選択したTSパケットを合成する。
また、上述した各実施形態における暗号化サーバ12および暗号化サーバ12aの一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための暗号化プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された暗号化プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
また、各実施形態における受信装置30の一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための復号プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された復号プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
コンピュータシステムとは、オペレーティング・システム(Operating System;OS)や周辺装置のハードウェアを含むものである。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピュータ読み取り可能な記録媒体とは、インターネット等のコンピュータネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバ装置やクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記の暗号化プログラムおよび復号プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。