(58)【調査した分野】(Int.Cl.,DB名)
第1の暗号鍵および第2の暗号鍵のうちいずれかの暗号鍵と前記暗号鍵に対応する暗号鍵識別情報との対データ、および第3の暗号鍵を記憶する記憶部を備えるコンピュータを、
符号化コンテンツデータが有する可変長符号に含まれる所定の符号と同期情報とを含むブロックデータを、前記第1の暗号鍵を適用して暗号化した第1の暗号化データと、前記ブロックデータに含まれる前記符号を前記符号の符号長と同一の符号長であり且つ前記符号と異なる他の符号に変更した変更ブロックデータを、前記第2の暗号鍵を適用して暗号化した第2の暗号化データと、前記符号化コンテンツデータにおいて前記ブロックデータを除く共通部分データを、前記第3の暗号鍵を適用して暗号化した第3の暗号化データとのそれぞれをパケット変換し、前記第1の暗号鍵を識別する第1の暗号鍵識別情報および前記第2の暗号鍵を識別する第2の暗号鍵識別情報それぞれを、前記第1の暗号化データのパケットおよび前記第2の暗号化データのパケットそれぞれに設けて生成した、第1の暗号化パケットデータと第2の暗号化パケットデータと第3の暗号化パケットデータとを合成して得られた暗号化コンテンツデータを取り込む暗号化コンテンツ取得部と、
前記暗号化コンテンツデータを、前記第1の暗号化パケットデータと前記第2の暗号化パケットデータと前記第3の暗号化パケットデータとのそれぞれに分離するデータ分離部と、
前記記憶部に記憶された前記暗号鍵識別情報に基づき前記第1の暗号化パケットデータおよび前記第2の暗号化パケットデータのうちいずれかの暗号化パケットデータを選択し、前記暗号化パケットデータを前記記憶部に記憶された前記暗号鍵を適用して復号しブロック部分復号データを生成し、前記記憶部に記憶された前記第3の暗号鍵を適用して前記第3の暗号化パケットデータを復号し共通部分復号データを生成する復号部と、
前記ブロック部分復号データと前記共通部分復号データとを合成してコンテンツデータを生成するデータ合成部と、
として機能させるための復号プログラム。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
本発明の一実施形態は、放送局が実施する放送によるコンテンツ配信サービスを実現するコンテンツ配信システムの例である。また、本実施形態は、映像コンテンツのみを暗号化する例である。
【0011】
図1は、本実施形態である暗号化装置および復号装置を適用したコンテンツ配信システムの概略の構成図である。同図に示すように、コンテンツ配信システム1は、放送局装置群10と、送信アンテナ20と、受信装置30とを含んで構成される。受信装置30は、復号装置を含む。実際には、受信装置30は多数存在するが、本実施形態では、図を簡略化して説明を簡潔にするため、4台の受信装置30(受信装置30−1〜30−4と呼ぶ)を含む。
放送局装置群10および送信アンテナ20は、放送局が管理する装置群および設備である。受信装置30は、視聴者が有する装置である。
【0012】
放送局装置群10は、放送局、番組制作会社等により制作されたコンテンツデータを圧縮符号化して圧縮符号化コンテンツデータを生成する。そして、放送局装置群10は、圧縮符号化コンテンツデータを、本実施形態独自の方式によって暗号化し暗号化コンテンツデータを生成する。そして、放送局装置群10は、暗号化コンテンツデータを放送信号に変換し、この放送信号を送信アンテナ20に送信する。
【0013】
放送局装置群10は、その機能構成として、コンテンツサーバ11と、暗号化サーバ12と、送信装置13と、ネットワーク14とを備える。暗号化サーバ12は、暗号化装置を含む。
【0014】
ネットワーク14は、コンテンツサーバ11と暗号化サーバ12と送信装置13とを接続する通信回線である。ネットワーク14は、例えば、インターネットプロトコル(Internet Protocol;IP)を適用して通信可能なコンピュータネットワークである。例えば、コンテンツサーバ11および暗号化サーバ12、暗号化サーバ12および送信装置13は、ネットワーク14を通して通信を行う。
【0015】
コンテンツサーバ11は、図示しないコンテンツ供給装置からコンテンツデータと符号化レートとを取り込み、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを記憶する。コンテンツデータは、映像データ、音声データ等を含むデジタルデータである。本実施形態では、コンテンツデータは、少なくとも映像データを含む。また、圧縮符号化処理は、可変長符号化処理を含む。符号化レートは、送信アンテナ20と受信装置30との間の伝送路において使用可能な容量、つまり、使用可能帯域を示す値である。圧縮符号化コンテンツデータは、例えば、MPEG−2ビデオ規格に基づき圧縮符号化処理された映像データやMPEG−2オーディオ規格に基づき圧縮符号化処理された音声データである。
【0016】
暗号化サーバ12は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを、所定の符号および同期情報を含むブロックデータとこのブロックデータを除く共通部分データとに分離する。所定の符号および同期情報については、後述する。
暗号化サーバ12は、ブロックデータに含まれる所定の符号を、この符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更することにより、一つまたは複数種類の変更ブロックデータを生成する。
【0017】
暗号化サーバ12は、ブロックデータおよび一つまたは複数種類の変更ブロックデータそれぞれを、相互に異なる暗号鍵を適用して暗号化する。また、暗号化サーバ12は、共通部分データを、共通鍵を適用して暗号化する。
暗号化サーバ12は、暗号鍵を適用して暗号化したデータをパケット変換し、暗号化に適用した暗号鍵を識別する暗号鍵識別情報を各パケットに設ける。また、暗号化サーバ12は、共通鍵を適用して暗号化したデータをパケット変換し、共通鍵を識別する共通鍵識別情報を各パケットに設ける。
暗号化サーバ12は、全てのパケットを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを記憶する。
【0018】
送信装置13は、暗号化サーバ12から暗号化コンテンツデータを取得し、この暗号化コンテンツデータをデジタル放送の放送信号に変換する。そして、送信装置13は、その放送信号を送信アンテナ20に送信する。
【0019】
送信アンテナ20は、放送局装置群10の送信装置13が送信した放送信号による放送電波を空中に放射する。
【0020】
受信装置30は、自装置の暗号鍵とこの暗号鍵を識別する自装置暗号鍵識別情報とを対応付けて記憶する。また、受信装置30は、共通鍵とこの共通鍵を識別する共通鍵識別情報とを対応付けて記憶する。
受信装置30は、送信アンテナ20が放射した放送電波を受信することによって放送信号を取り込み、この放送信号から暗号化コンテンツデータを取得する。
受信装置30は、自装置暗号鍵識別情報と同一の暗号鍵識別情報を有する暗号化パケットデータを暗号化コンテンツデータから抽出して復号することにより、ブロック部分復号データを取得する。また、受信装置30は、共通鍵識別情報を有する暗号化パケットデータを暗号化コンテンツデータから抽出して復号することにより、共通部分復号データを取得する。
受信装置30は、ブロック部分復号データと共通部分復号データとを合成し、コンテンツデータを生成(復元)する。受信装置30は、このコンテンツデータを表示したり音声出力したりする。
【0021】
図2は、コンテンツサーバ11の機能構成を示すブロック図である。同図に示すように、コンテンツサーバ11は、コンテンツ取得部111と、符号化レート取得部112と、コンテンツ圧縮符号化部113と、圧縮符号化コンテンツ記憶部114と、圧縮符号化コンテンツ供給部115とを備える。
【0022】
コンテンツ取得部111は、前記のコンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部113に供給する。コンテンツ供給装置は、例えば、磁気ハードディスク装置、半導体ディスク装置等の記憶装置、ネットワーク14を介して接続されるコンテンツ編集装置等である。
符号化レート取得部112は、図示しない符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部113に供給する。符号化レート供給装置は、例えば、キーボード、マウス等の入力装置、半導体メモリ等の記憶装置である。
【0023】
コンテンツ圧縮符号化部113は、コンテンツ取得部111が供給するコンテンツデータを取り込み、また、符号化レート取得部112が供給する符号化レートを取り込む。コンテンツ圧縮符号化部113は、コンテンツデータの圧縮符号化処理を実行して指定された符号化レート以下の符号化レートとなる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部114に供給する。圧縮符号化処理は、例えば、MPEG−2ビデオ規格による映像圧縮符号化処理である。この圧縮符号化処理には、可変長符号化処理としてハフマン符号化処理が含まれる。
【0024】
圧縮符号化コンテンツ記憶部114は、コンテンツ圧縮符号化部113が供給する圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
圧縮符号化コンテンツ供給部115は、圧縮符号化コンテンツ記憶部114から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを暗号化サーバ12に供給する。
【0025】
図3は、暗号化サーバ12の機能構成を示すブロック図である。同図に示す暗号化サーバ12は、ブロックデータおよび一つの変更ブロックデータそれぞれを、相互に異なる暗号鍵を適用して暗号化する例である。同図に示すように、暗号化サーバ12は、圧縮符号化コンテンツ取得部121と、符号検出部122と、記憶部123と、データ分離部124と、符号変更部125と、ブロック部分暗号化部126と、共通部分暗号化部127と、暗号化パケット生成部128と、パケット合成部129と、暗号化コンテンツ記憶部130と、暗号化コンテンツ供給部131とを備える。
【0026】
圧縮符号化コンテンツ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを符号検出部122に供給する。
【0027】
符号検出部122は、圧縮符号化コンテンツ取得部121が供給する圧縮符号化コンテンツデータを取り込んでこの圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域から所定の符合(特定符号ともいう)を検出する。例えば、符号検出部122は、圧縮符号化コンテンツデータに含まれる可変長符号から、離散コサイン変換(Discrete Cosine Transform;DCT)係数を可変長符号化するテーブルに含まれる符号を検出し、この符号の位置を特定する。そして、符号検出部122は、圧縮符号化コンテンツデータと、検出した符号の位置を示す符号位置情報とを、記憶部123に供給する。
【0028】
ここで、圧縮符号化コンテンツデータが、MPEG−2ビデオ規格に基づき圧縮符号化されてファイル化されたMPEG−2映像ファイルデータである場合の所定の符号および同期情報について、具体的に説明する。この例において、圧縮符号化コンテンツデータは、MPEG−2ビデオ規格によるデータ構造を有する。具体的には、圧縮符号化コンテンツデータは、例えば、シーケンス層(Sequence Layer)から、GOP層(Group Of Picture Layer)、ピクチャ層(Picture Layer)、スライス層(Slice Layer)、マクロブロック層(Macro Block Layer)、ブロック層(Block Layer)までの6層の階層データ構造を有する。この6層のうちシーケンス層が最上位層であり、ブロック層が最下位層である。
【0029】
シーケンス層は、一連のフレーム画像について共通する属性(例えば、画像サイズ、アスペクト比、フレームレート等)を含む。シーケンス層は、データ領域であるシーケンスヘッダ(Sequence Header)を含む。そして、シーケンスヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、シーケンス層の開始符号、つまり同期情報である。
【0030】
GOP層は、画像グループの最小単位であるGOPを規定する。GOP層は、データ領域であるGOPヘッダを含む。そして、GOPヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、GOP層の開始符号、つまり同期情報である。
【0031】
ピクチャ層は、フレーム画像についての属性(例えば、ピクチャの表示順序、ピクチャタイプ等)を含む。ピクチャ層は、データ領域であるピクチャヘッダ(Picture Header)を含む。そして、ピクチャヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、ピクチャ層の開始符号、つまり同期情報である。
【0032】
スライス層は、一枚のフレーム画像を分割したスライスについて共通する属性(例えば、量子化スケール、イントラスライス情報等)を含む。スライス層は、データ領域であるスライスヘッダ(Slice Header)を含む。そして、スライスヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、スライス層の開始符号、つまり同期情報である。
【0033】
マクロブロック層は、画素ブロックであるマクロブロックに共通する属性(例えば、動きベクトル値等)を含む。マクロブロック層は、データ領域であるマクロブロックヘッダ(Macro Block Header)を含む。ただし、このマクロブロックヘッダは、スタートコードを含まない。このマクロブロック層が含むデータは、可変長符号を含む。
【0034】
ブロック層は、符号化係数(例えば、DCT係数等)を含む。具体的に、ブロック層は、DCT係数を可変長符号化するためのテーブルを含む。
下記の表1は、ブロック層に含まれる、DCT係数を可変長符号化するテーブルの一部分を示す表である。ただし、このテーブルにおいて、ラン長は、ゼロ係数の個数である。レベルは、非ゼロ係数の値である。また、sは、レベルの符号である。
【0035】
[表1]
0010 0110 s (ラン長:0,レベル: 5)
0010 0001 s (ラン長:0,レベル: 6)
0000 0001 1101 s (ラン長:0,レベル: 8)
0000 0001 1000 s (ラン長:0,レベル: 9)
0000 0001 0011 s (ラン長:0,レベル:10)
0000 0001 0000 s (ラン長:0,レベル:11)
0000 0000 1101 0 s (ラン長:0,レベル:12)
0000 0000 1100 1 s (ラン長:0,レベル:13)
0000 0000 1100 0 s (ラン長:0,レベル:14)
0000 0000 1011 1 s (ラン長:0,レベル:15)
0000 0000 1011 0 s (ラン長:1,レベル: 6)
0000 0000 1010 1 s (ラン長:1,レベル: 7)
【0036】
表1によれば、所定の符号は、ゼロ係数の個数であるラン長と非ゼロ係数のレベル値とを示すものである。
【0037】
符号検出部122は、圧縮符号化コンテンツデータを記憶部123に供給する。また、符号検出部122は、圧縮符号化コンテンツデータの先頭(ファイルの先頭)から、シーケンス層、GOP層、ピクチャ層、およびスライス層それぞれが含むヘッダのスタートコードまでのビット数を計数し、各ビット数を同期情報位置情報として記憶部123に供給する。また、符号検出部122は、圧縮符号化コンテンツデータの先頭(ファイルの先頭)から所定の符号までのビット数を計数し、このビット数を符号位置情報として記憶部123に供給する。
なお、符号検出部122は、各ビット数を計数するための計数開始位置を、圧縮符号化コンテンツデータの先頭ではなく、あらかじめ決定された任意の位置としてもよい。
【0038】
記憶部123は、符号検出部122が供給する、圧縮符号化コンテンツデータと同期情報位置情報と符号位置情報とを記憶する。記憶部123は、例えば半導体記憶装置により実現される。
【0039】
データ分離部124は、記憶部123から圧縮符号化コンテンツデータと同期情報位置情報と符号位置情報とを読み込む。そして、データ分離部124は、圧縮符号化コンテンツデータを、符号位置情報が示す位置の符号と同期情報位置情報が示す位置の同期情報とを含むブロックデータと、このブロックデータを除く共通部分データとに分離する。
【0040】
具体的には、データ分離部124は、記憶部123からMPEG−2映像ファイルデータと同期情報位置情報と符号位置情報とを読み込む。そして、データ分離部124は、例えば、MPEG−2映像ファイルデータの先頭から、開始符号位置情報が示す位置のスタートコードと符号位置情報が示す位置の符号とをともに含む範囲のブロックデータを抽出する。ただし、データ分離部124は、例えばトランスポートストリーム(Transport Stream;TS)パケットのデータサイズ(パケットサイズ;184バイト)よりも所定サイズ(例えば1バイト)だけ少ないサイズのブロックデータ(183バイト)、またはそのサイズの整数倍のブロックデータを、MPEG−2映像ファイルデータから抽出する。そして、データ分離部124は、パケットサイズのうち、MPEG−2映像ファイルデータから抽出した183バイトのデータを格納しない部分(1バイト)をビット“0(ゼロ)”で埋める(パディング(Padding)を行う)。これにより、データ分離部124は、パケットサイズ分またはその整数倍分の符号列を生成する。つまり、ここでデータ分離部124が生成する符号列は、ブロックデータとこのブロックデータに対応するパディングデータとを併せたデータである。
【0041】
また、データ分離部124は、MPEG−2映像ファイルデータから抽出したブロックデータを除く符号列を、共通部分データとして抽出する。そして、データ分離部124は、パケットサイズのうち、MPEG−2映像ファイルデータから抽出した183バイトのデータを格納しない部分(1バイト)をビット“0(ゼロ)”でパディングする。これにより、データ分離部124は、パケットサイズ分またはその整数倍分の符号列を生成する。つまり、ここでデータ分離部124が生成する符号列は、共通部分データとこの共通部分データに対応するパディングデータとを併せたデータである。
【0042】
なお、パケットにおけるパディングデータの格納位置は任意であるが、例えば、データ分離部124は、MPEG−2映像ファイルデータから抽出した183バイトのデータの前または後いずれかに、パディングデータを格納する。1バイト分のパディングデータは、後段の暗号化パケット生成部128によって暗号鍵識別情報に置き換えられる。なお、パディングデータの長さは1バイトに限られず、適宜設定されるものである。
【0043】
データ分離部124は、ブロックデータとこのブロックデータに対応するパディングデータとを、符号変更部125およびブロック部分暗号化部126に供給する。また、データ分離部124は、共通部分データとこの共通部分データに対応するパディングデータとを、共通部分暗号化部127に供給する。
【0044】
符号変更部125は、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。そして、符号変更部125は、ブロックデータに含まれる所定の符号を、この符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更することにより、変更ブロックデータを生成する。具体的に、所定の符号がラン長(ゼロ係数の個数)と非ゼロ係数のレベル値とを示す場合、他の符号におけるラン長は、当該所定の符号におけるラン長と同一である。このようにすることで、ブロックデータと変更ブロックデータとの間に、復号画像の画質の差異をさほど生じさせなくすることができる。そして、符号変更部125は、変更ブロックデータと取り込んだパディングデータ(変更ブロックデータに対応するパディングデータ)とを、ブロック部分暗号化部126に供給する。
【0045】
ブロック部分暗号化部126は、データ分離部124が供給するブロックデータと、符号変更部125が供給する変更ブロックデータとをそれぞれ取り込み、互いに異なる暗号鍵をそれぞれ適用して二種類の暗号化データを生成する。
詳細に、ブロック部分暗号化部126は、その機能構成上、第1暗号化部126aと、第2暗号化部126bとを備える。
【0046】
第1暗号化部126aは、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。そして、第1暗号化部126aは、あらかじめ有する第1暗号鍵(第1の暗号鍵)を適用して、ブロックデータを暗号化して第1暗号化データ(第1の暗号化データ)を生成し、この第1暗号化データとパディングデータ(第1暗号化データに対応するパディングデータ)とを暗号化パケット生成部128に供給する。
第2暗号化部126bは、符号変更部125が供給する変更ブロックデータとこの変更ブロックデータに対応するパディングデータとを取り込む。そして、第2暗号化部126bは、あらかじめ有する第2暗号鍵(第2の暗号鍵。第1暗号鍵とは異なる鍵である。)を適用して、変更ブロックデータを暗号化して第2暗号化データ(第2の暗号化データ)を生成し、この第2暗号化データとパディングデータ(変更ブロックデータに対応するパディングデータ)とを暗号化パケット生成部128に供給する。
【0047】
具体的に、例えば、第1暗号化部126aは、あらかじめ有する共通鍵K
s1を適用して、共通鍵ブロック暗号方式であるCamellia(登録商標)暗号方式によりブロックデータを暗号化し、第1暗号化データを生成する。そして、第1暗号化部126aは、第1暗号化データと第1暗号化データに対応するパディングデータとを暗号化パケット生成部128に供給する。同様に、例えば、第2暗号化部126bは、あらかじめ有する共通鍵K
s2を適用して、Camellia(登録商標)暗号方式によりブロックデータを暗号化し、第2暗号化データを生成する。そして、第2暗号化部126bは、第2暗号化データと第2暗号化データに対応するパディングデータとを暗号化パケット生成部128に供給する。
【0048】
共通部分暗号化部127は、データ分離部124が供給する共通部分データとこの共通部分データに対応するパディングデータとを取り込む。そして、共通部分暗号化部127は、あらかじめ有する共通鍵(第3暗号鍵、第3の暗号鍵)を適用して、共通部分データを暗号化して第3暗号化データ(第3の暗号化データ)を生成し、この第3暗号化データとパディングデータ(第3暗号化データに対応するパディングデータ)とを暗号化パケット生成部128に供給する。
具体的に、例えば、共通部分暗号化部127は、あらかじめ有する共通鍵K
s0を適用して、Camellia(登録商標)暗号方式により共通部分データを暗号化し、第3暗号化データを生成する。そして、共通部分暗号化部127は、第3暗号化データと第3暗号化データに対応するパディングデータとを暗号化パケット生成部128に供給する。
【0049】
暗号化パケット生成部128は、ブロック部分暗号化部126が供給する、第1暗号化データおよびこの第1暗号化データに対応するパディングデータ、第2暗号化データおよびこの第2暗号化データに対応するパディングデータを取り込む。また、暗号化パケット生成部128は、共通部分暗号化部127が供給する、第3暗号化データおよびこの第3暗号化データに対応するパディングデータを取り込む。そして、暗号化パケット生成部128は、第1暗号化データとこの第1暗号化データに対応するパディングデータをパケット変換し、パディングデータを、第1暗号鍵を識別する第1暗号鍵識別情報(第1の暗号鍵識別情報)で置き換えて第1暗号化パケットデータ(第1の暗号化パケットデータ)を生成する。また、暗号化パケット生成部128は、第2暗号化データとこの第2暗号化データに対応するパディングデータをパケット変換し、パディングデータを、第2暗号鍵を識別する第2暗号鍵識別情報(第2の暗号鍵識別情報)で置き換えて第2暗号化パケットデータ(第2の暗号化パケットデータ)を生成する。また、暗号化パケット生成部128は、第3暗号化データとこの第3暗号化データに対応するパディングデータをパケット変換し、パディングデータを、第3暗号鍵を識別する第3暗号鍵識別情報(第3の暗号鍵識別情報)で置き換えて第3暗号化パケットデータ(第3の暗号化パケットデータ)を生成する。第3暗号鍵識別情報は、共通鍵識別情報である。
【0050】
暗号化パケット生成部128は、その機能構成上、第1暗号化パケット生成部128aと、第2暗号化パケット生成部128bと、共通部分暗号化パケット生成部128cとを備える。
【0051】
第1暗号化パケット生成部128aは、第1暗号化部126aが供給する第1暗号化データとこの第1暗号化データに対応するパディングデータとを取り込み、これら第1暗号化データおよびパディングデータを、放送におけるストリームフォーマットによるストリームに変換する。そして、第1暗号化パケット生成部128aは、パディングデータを、そのストリームに含まれる第1暗号化データが第1暗号鍵を適用して暗号化されたデータであることを示す第1暗号鍵識別情報で置き換えて第1暗号化パケットデータを生成する。
具体的に、第1暗号化パケット生成部128aは、第1暗号化部126aが供給する第1暗号化データとこの第1暗号化データに対応するパディングデータとを取り込み、これら第1暗号化データおよびパディングデータをTSに変換する。そして、第1暗号化パケット生成部128aは、そのTSに含まれる第1暗号化データが共通鍵K
s1を適用してCamellia(登録商標)暗号方式により暗号化されたデータであることを示す第1暗号鍵識別情報(例えば“01H”(16進数))をパディングデータに書き込む。より具体的に、第1暗号化パケット生成部128aは、データ分離部124が設けた一つまたは複数のパディングデータそれぞれを、第1暗号鍵識別情報で置き換える。
【0052】
そして、第1暗号化パケット生成部128aは、その第1暗号化パケットデータをパケット合成部129に供給する。
【0053】
第2暗号化パケット生成部128bは、第2暗号化部126bが供給する第2暗号化データとこの第2暗号化データに対応するパディングデータとを取り込み、これら第2暗号化データおよびパディングデータを、放送におけるストリームフォーマットによるストリームに変換する。そして、第2暗号化パケット生成部128bは、パディングデータを、そのストリームに含まれる第2暗号化データが第2暗号鍵を適用して暗号化されたデータであることを示す第2暗号鍵識別情報で置き換えて第2暗号化パケットデータを生成する。
具体的に、第2暗号化パケット生成部128bは、第2暗号化部126bが供給する第2暗号化データとこの第2暗号化データに対応するパディングデータとを取り込み、これら第2暗号化データおよびパディングデータをTSに変換する。そして、第2暗号化パケット生成部128bは、そのTSに含まれる第2暗号化データが共通鍵K
s2を適用してCamellia(登録商標)暗号方式により暗号化されたデータであることを示す第2暗号鍵識別情報(例えば“02H”(16進数))をパディングデータに書き込む。より具体的に、第2暗号化パケット生成部128bは、データ分離部124が設けた一つまたは複数のパディングデータそれぞれを、第2暗号鍵識別情報で置き換える。
【0054】
そして、第2暗号化パケット生成部128bは、その第2暗号化パケットデータをパケット合成部129に供給する。
【0055】
共通部分暗号化パケット生成部128cは、共通部分暗号化部127が供給する第3暗号化データとこの第3暗号化データに対応するパディングデータとを取り込み、これら第3暗号化データおよびパディングデータを、放送におけるストリームフォーマットによるストリームに変換する。そして、共通部分暗号化パケット生成部128cは、パディングデータを、そのストリームに含まれる第3暗号化データが共通鍵(第3暗号鍵)を適用して暗号化されたデータであることを示す第3暗号鍵識別情報(共通鍵識別情報)で置き換えて第3暗号化パケットデータを生成する。
具体的に、共通部分暗号化パケット生成部128cは、共通部分暗号化部127が供給する第3暗号化データとこの第3暗号化データに対応するパディングデータとを取り込み、こられ第3暗号化データおよびパディングデータをTSに変換する。そして、共通部分暗号化パケット生成部128cは、そのTSに含まれる第3暗号化データが共通鍵K
s0を適用してCamellia(登録商標)暗号方式により暗号化されたデータであることを示す第3暗号鍵識別情報(例えば“00H”(16進数))をパディングデータに書き込む。より具体的に、共通部分暗号化パケット生成部128cは、データ分離部が設けた一つまたは複数のパディングデータそれぞれを、第3暗号鍵識別情報で置き換える。
【0056】
そして、共通部分暗号化パケット生成部128cは、その第3暗号化パケットデータをパケット合成部129に供給する。
【0057】
パケット合成部129は、暗号化パケット生成部128が供給する第1暗号化パケットデータから第3暗号化パケットデータを合成して、暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部130に供給する。
具体的に、パケット合成部129は、第1暗号化パケット生成部128aが供給する第1暗号化パケットデータと、第2暗号化パケット生成部128bが供給する第2暗号化パケットデータと、共通部分暗号化パケット生成部128cが供給する第3暗号化パケットデータとを取り込む。そして、パケット合成部129は、第1暗号化パケットデータから第3暗号化パケットデータを合成して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部130に供給する。
【0058】
例えば、パケット合成部129は、取り込んだ第1暗号化パケットデータから第3暗号化パケットデータを、例えば、第1暗号化パケットデータ、第2暗号化パケットデータ、第3暗号化パケットデータの順に連結して暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部130に供給する。
【0059】
なお、パケット合成部129が第1暗号化パケットデータから第3暗号化パケットデータを連結する順序は、上記の順序に限らず、第1暗号化パケットデータから第3暗号化パケットデータの全ての組み合わせによる連結が可能である。
また、パケット合成部129は、第1暗号化パケットデータから第3暗号化パケットデータを、最小パケット単位で任意に組み合わせてもよい。
【0060】
暗号化コンテンツ記憶部130は、パケット合成部129が供給する暗号化コンテンツデータを記憶する。暗号化コンテンツ記憶部130は、例えば、磁気ディスク装置、半導体ディスク装置等により実現される。
暗号化コンテンツ供給部131は、暗号化コンテンツ記憶部130から暗号化コンテンツデータを読み込み、この暗号化コンテンツデータを、例えば送信装置13に供給する。
【0061】
図4は、送信装置13の機能構成を示すブロック図である。
同図に示すように、送信装置13は、暗号化コンテンツ取得部151と、放送信号生成部152と、放送信号送信部153とを備える。
【0062】
暗号化コンテンツ取得部151は、暗号化サーバ12から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを放送信号生成部152に供給する。
放送信号生成部152は、暗号化コンテンツ取得部151が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部153に供給する。
放送信号の仕様は、例えば、ARIB(Association of Radio Industries and Broadcast)標準規格によって規定されている。
放送信号送信部153は、放送信号生成部152が供給する放送信号を取り込み、この放送信号を送信アンテナ20に送信する。
【0063】
図5は、受信装置30の機能構成を示すブロック図である。
同図に示すように、受信装置30は、放送信号受信部(暗号化コンテンツ取得部)301と、データ分離部302と、記憶部303と、復号部304と、データ合成部305と、圧縮符号化コンテンツ復号部306とを備える。
【0064】
放送信号受信部301は、例えば、受信装置30に接続された受信アンテナ(不図示)で放送電波を受信して得られた放送信号を取り込む。そして、放送信号受信部301は、放送信号を復調して暗号化コンテンツデータを取得し、この暗号化コンテンツデータをデータ分離部302に供給する。
【0065】
データ分離部302は、放送信号受信部301が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを構成するパケットデータごとに暗号鍵識別情報を検出することにより、パケットデータの種類を判別する。
具体的に、データ分離部302は、パケットデータから第1暗号鍵識別情報(例えば“01H”(16進数))を検出した場合、そのパケットデータが第1暗号鍵を適用して暗号化された第1暗号化パケットデータであると判別する。また、データ分離部302は、パケットデータから第2暗号鍵識別情報(例えば“02H”(16進数))を検出した場合、そのパケットデータが第2暗号鍵を適用して暗号化された第2暗号化パケットデータであると判別する。また、データ分離部302は、パケットデータから第3暗号鍵識別情報(例えば“00H”(16進数))を検出した場合、そのパケットデータが共通暗号鍵を適用して暗号化された第3暗号化パケットデータであると判別する。
【0066】
データ分離部302は、判別したパケットデータの種類に応じてパケットデータを分離し、パケットデータから圧縮符号化コンテンツデータに該当するデータを抽出し、このデータをパケットデータの種類ごとに復号部304に供給する。
【0067】
具体的には、データ分離部302は、暗号鍵識別情報が第1暗号鍵識別情報(例えば“01H”(16進数))である第1暗号鍵K
s1を適用して暗号化された第1暗号化パケットデータを復号部304に供給する。また、データ分離部302は、暗号鍵識別情報が第2暗号鍵識別情報(例えば“02H”(16進数))である第2暗号鍵K
s2を適用して暗号化された第2暗号化パケットデータを復号部304に供給する。また、データ分離部302は、暗号鍵識別情報が第3暗号鍵識別情報(例えば“00H”(16進数))であるTSパケットについて、TSヘッダを除去しペイロードを合成して得たデータを、共通暗号鍵K
s0を適用して暗号化された第3暗号化パケットデータとして復号部304に供給する。
【0068】
記憶部303は、復号部304が暗号化されたデータを復号するための鍵を記憶する。具体的に、記憶部303は、第1暗号鍵および第2暗号鍵のうちいずれかの暗号鍵(自装置暗号鍵)とこの暗号鍵に対する暗号鍵識別情報(自装置暗号鍵識別情報)とを対応付けた対データを記憶する。また、記憶部303は、共通鍵とこの共通鍵に対する第3暗号鍵識別情報とを対応付けた対データを記憶する。
具体的に、記憶部303は、第1暗号鍵K
s1および第1暗号鍵識別情報(例えば“01H”(16進数))と、第2暗号鍵K
s2および第2暗号鍵識別情報(例えば“02H”(16進数))とのいずれか、ならびに共通鍵K
s0および第3暗号鍵識別情報(例えば“00H”(16進数))を記憶する。
記憶部303は、例えば、Conditional Access Systems(CAS)カードにより実現される。
【0069】
復号部304は、データ分離部302が供給する第1暗号化パケットデータから第3暗号化パケットデータを取り込む。そして、復号部304は、記憶部303に記憶された自装置暗号鍵識別情報に基づき第1暗号化パケットデータおよび第2暗号化パケットデータのうちいずれかの暗号化パケットデータを選択する。そして、復号部304は、その選択した暗号化パケットデータを、記憶部303に記憶された、自装置暗号鍵識別情報に対応付けられた自装置暗号鍵を適用して復号してブロック部分復号データを生成する。また、復号部304は、記憶部303に記憶された共通暗号鍵を適用して第3暗号化パケットデータを復号し共通部分復号データを生成する。
復号部304は、その機能構成上、ブロック部分復号部304aと、共通部分復号部304bとを備える。
【0070】
ブロック部分復号部304aは、データ分離部302が供給する第1暗号化パケットデータおよび第2暗号化パケットデータを取り込む。そして、ブロック部分復号部304aは、記憶部303に記憶された自装置暗号鍵識別情報と同一の暗号鍵識別情報が含まれる暗号化パケットデータを選択する。そして、ブロック部分復号部304aは、その選択した暗号化パケットデータを、記憶部303に記憶された、自装置暗号鍵識別情報に対応付けられた自装置暗号鍵を適用して復号して復号データを取得する。そして、ブロック部分復号部304aは、その復号データに付加されている暗号鍵識別情報を削除してブロック部分復号データを生成し、このブロック部分復号データをデータ合成部305に供給する。
【0071】
なお、ブロック部分復号部304aは、取り込んだ第1暗号化パケットデータおよび第2暗号化パケットデータそれぞれについて、記憶部303に記憶された第1暗号鍵および第2暗号鍵を適用した復号を試行し、正常に復号された方の復号データを採用してもよい。
【0072】
共通部分復号部304bは、データ分離部302が供給する第3暗号化パケットデータを取り込み、記憶部303から共通鍵を読み込む。そして、共通部分復号部304bは、第3暗号化パケットデータを、共通鍵を適用して復号して復号データを取得する。そして、共通部分復号部304bは、その復号データに付加されている第3暗号鍵識別情報を削除して共通部分復号データを生成し、この共通部分復号データをデータ合成部305に供給する。
【0073】
データ合成部305は、ブロック部分復号部304が供給するブロック部分復号データを取り込み、また共通部分復号部304bが供給する共通部分復号データを取り込む。そして、データ合成部305は、ブロック部分復号データと共通部分復号データとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部306に供給する。
【0074】
圧縮符号化コンテンツ復号部306は、データ合成部305が供給する圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータを出力する。
【0075】
次に、各種データのデータ構成について説明する。
図6は、暗号化サーバ12のパケット合成部129が生成する暗号化コンテンツデータの概略のデータ構成を示す図である。同図において、暗号化コンテンツデータ6は、第1暗号化パケットデータ61と、第2暗号化パケットデータ62と、第3暗号化パケットデータ63とを含む。そして、第1暗号化パケットデータ61は、第1暗号鍵識別情報61aと、第1暗号化データ61bとを含む。また、第2暗号化パケットデータ62は、第2暗号鍵識別情報62aと、第2暗号化データ62bとを含む。また、第3暗号化パケットデータ63の各パケットは、第3暗号鍵識別情報63aと、第3暗号化データ63bとを含む。同図の暗号化コンテンツデータは、各暗号化データの前部に暗号鍵識別情報を付加した例である。
【0076】
次に、コンテンツ配信システム1の動作について説明する。
図7は、コンテンツサーバ11が実行する処理の手順を示すフローチャートである。
ステップS11において、コンテンツ取得部111は、コンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部113に供給する。そして、コンテンツ圧縮符号化部113は、コンテンツ取得部111が供給するコンテンツデータを取り込む。
次に、ステップS12において、符号化レート取得部112は、符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部113に供給する。そして、コンテンツ圧縮符号化部113は、符号化レート取得部112が供給する符号化レートを取り込む。
【0077】
次に、ステップS13において、コンテンツ圧縮符号化部113は、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部114に供給する。
次に、ステップS14において、圧縮符号化コンテンツ記憶部114は、コンテンツ圧縮符号化部113が供給する圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
【0078】
図8は、暗号化サーバ12が実行する処理の手順を示すフローチャートである。
ステップS31において、圧縮符号化コンテンツ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを符号検出部122に供給する。
次に、ステップS32において、符号検出部122は、圧縮符号化コンテンツ取得部121が供給する圧縮符号化コンテンツデータを取り込む。次に、符号検出部122は、この圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域から所定の符合(特定符号)を検出する。次に、符号検出部122は、圧縮符号化コンテンツデータと、検出した符号の位置を示す符号位置情報とを、記憶部123に記憶させる。
【0079】
次に、ステップS33において、データ分離部124は、記憶部123から圧縮符号化コンテンツデータと同期情報位置情報と符号位置情報とを読み込む。次に、データ分離部124は、圧縮符号化コンテンツデータを、符号位置情報が示す位置の符号と同期情報位置情報が示す位置の同期情報とを含むブロックデータと、このブロックデータを除く共通部分データとに分離する。次に、データ分離部124は、ブロックデータとこのブロックデータに対応するパディングデータとを符号変更部125およびブロック部分暗号化部126に供給する。また、データ分離部124は、共通部分データとこの共通部分データに対応するパディングデータとを共通部分暗号化部127に供給する。
【0080】
次に、ステップS34において、符号変更部125は、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。次に、符号変更部125は、ブロックデータに含まれる所定の符号を、この符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更することにより、変更ブロックデータを生成する。次に、符号変更部125は、変更ブロックデータと取り込んだパディングデータ(変更ブロックデータに対応するパディングデータ)とをブロック部分暗号化部126に供給する。
【0081】
次に、ステップS35において、ブロック部分暗号化部126は、データ分離部124が供給するブロックデータと、符号変更部125が供給する変更ブロックデータとをそれぞれ取り込み、互いに異なる暗号鍵をそれぞれ適用して二種類の暗号化データを生成する。
【0082】
具体的に、第1暗号化部126aは、データ分離部124が供給するブロックデータとこのブロックデータに対応するパディングデータとを取り込む。次に、第1暗号化部126aは、あらかじめ有する第1暗号鍵を適用して、ブロックデータを暗号化して第1暗号化データを生成し、この第1暗号化データとパディングデータ(第1暗号化データに対応するパディングデータ)とを暗号化パケット生成部128に供給する。また、第2暗号化部126bは、符号変更部125が供給する変更ブロックデータとこの変更ブロックデータに対応するパディングデータとを取り込む。次に、第2暗号化部126bは、あらかじめ有する第2暗号鍵を適用して、変更ブロックデータを暗号化して第2暗号化データを生成し、この第2暗号化データとパディングデータ(変更ブロックデータに対応するパディングデータ)とを暗号化パケット生成部128に供給する。
【0083】
次に、共通部分暗号化部127は、データ分離部124が供給する共通部分データとこの共通部分データに対応するパディングデータとを取り込む。次に、共通部分暗号化部127は、あらかじめ有する共通鍵を適用して、共通部分データを暗号化して第3暗号化データを生成し、この第3暗号化データとパディングデータ(第3暗号化データに対応するパディングデータ)とを暗号化パケット生成部128に供給する。
【0084】
次に、ステップS36において、暗号化パケット生成部128は、ブロック部分暗号化部126が供給する、第1暗号化データおよびこの第1暗号化データに対応するパディングデータ、第2暗号化データおよびこの第2暗号化データに対応するパディングデータを取り込む。また、暗号化パケット生成部128は、共通部分暗号化部127が供給する、第3暗号化データおよびこの第3暗号化データに対応するパディングデータを取り込む。
次に、暗号化パケット生成部128は、第1暗号化データとこの第1暗号化データに対応するパディングデータをパケット変換し、パディングデータを、第1暗号鍵を識別する第1暗号鍵識別情報で置き換えて第1暗号化パケットデータを生成する。また、暗号化パケット生成部128は、第2暗号化データとこの第2暗号化データに対応するパディングデータをパケット変換し、パディングデータを、第2暗号鍵を識別する第2暗号鍵識別情報で置き換えて第2暗号化パケットデータを生成する。また、暗号化パケット生成部128は、第3暗号化データとこの第3暗号化データに対応するパディングデータをパケット変換し、パディングデータを、第3暗号鍵を識別する第3暗号鍵識別情報で置き換えて第3暗号化パケットデータを生成する。
【0085】
具体的に、第1暗号化パケット生成部128aは、第1暗号化部126aが供給する第1暗号化データとこの第1暗号化データに対応するパディングデータとを取り込み、これら第1暗号化データおよびパディングデータを、放送におけるストリームフォーマットによるストリームに変換する。そして、第1暗号化パケット生成部128aは、パディングデータを、そのストリームに含まれる第1暗号化データが第1暗号鍵を適用して暗号化されたデータであることを示す第1暗号鍵識別情報で置き換えて第1暗号化パケットデータを生成する。
次に、第2暗号化パケット生成部128bは、第2暗号化部126bが供給する第2暗号化データとこの第2暗号化データに対応するパディングデータとを取り込み、これら第2暗号化データおよびパディングデータを、放送におけるストリームフォーマットによるストリームに変換する。そして、第2暗号化パケット生成部128bは、パディングデータを、そのストリームに含まれる第2暗号化データが第2暗号鍵を適用して暗号化されたデータであることを示す第2暗号鍵識別情報で置き換えて第2暗号化パケットデータを生成する。
次に、共通部分暗号化パケット生成部128cは、共通部分暗号化部127が供給する第3暗号化データとこの第3暗号化データに対応するパディングデータとを取り込み、これら第3暗号化データおよびパディングデータを、放送におけるストリームフォーマットによるストリームに変換する。そして、共通部分暗号化パケット生成部128cは、パディングデータを、そのストリームに含まれる第3暗号化データが共通鍵(第3暗号鍵)を適用して暗号化されたデータであることを示す第3暗号鍵識別情報(共通鍵識別情報)で置き換えて第3暗号化パケットデータを生成する。
【0086】
次に、暗号化パケット生成部128は、生成した第1暗号化パケットデータから第3暗号化パケットデータをパケット合成部129に供給する。
【0087】
次に、ステップS37において、パケット合成部129は、暗号化パケット生成部128が供給する第1暗号化パケットデータから第3暗号化パケットデータを合成して、暗号化コンテンツデータを生成し、この暗号化コンテンツデータを暗号化コンテンツ記憶部130に供給する。
次に、ステップS38において、暗号化コンテンツ記憶部130は、パケット合成部129が供給する暗号化コンテンツデータを記憶する。
【0088】
なお、第1暗号化部126a、第2暗号化部126b、および共通部分暗号化部127は、並列に暗号化処理を実行してもよいし、順不同に暗号化処理を実行してもよい。同様に、第1暗号化パケット生成部128aおよび第2暗号化パケット生成部ならびに共通部分暗号化パケット生成部128cは、並列にパケット生成処理を実行してもよいし、順不同にパケット生成処理を実行してもよい。
【0089】
図9は、送信装置13が実行する処理の手順を示すフローチャートである。
ステップS51において、暗号化コンテンツ取得部151は、暗号化サーバ12から暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを放送信号生成部152に供給する。
次に、ステップS52において、放送信号生成部152は、暗号化コンテンツ取得部151が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部153に供給する。
次に、ステップS53において、放送信号送信部153は、放送信号生成部152が供給する放送信号を取り込み、この放送信号を送信アンテナ20に送信する。
【0090】
図10は、受信装置30が実行する処理の手順を示すフローチャートである。
ステップS71において、放送信号受信部301は、例えば、受信装置30に接続された受信アンテナで放送電波を受信して得られた放送信号を取り込む。次に、放送信号受信部301は、放送信号を復調して暗号化コンテンツデータを取得し、この暗号化コンテンツデータをデータ分離部302に供給する。
【0091】
次に、ステップS72において、データ分離部302は、放送信号受信部301が供給する暗号化コンテンツデータを取り込み、この暗号化コンテンツデータを構成するパケットデータごとに暗号鍵識別情報を検出することにより、パケットデータの種類を判別する。次に、データ分離部302は、判別したパケットデータの種類に応じてパケットデータを分離し、パケットデータから圧縮符号化コンテンツデータに該当するデータを抽出し、このデータをパケットデータの種類ごとに復号部304に供給する。
【0092】
次に、ステップS73において、復号部304は、データ分離部302が供給する第1暗号化パケットデータから第3暗号化パケットデータを取り込む。次に、復号部304は、記憶部303に記憶された自装置暗号鍵識別情報に基づき第1暗号化パケットデータおよび第2暗号化パケットデータのうちいずれかの暗号化パケットデータを選択する。次に、復号部304は、その選択した暗号化パケットデータを、記憶部303に記憶された、自装置暗号鍵識別情報に対応付けられた自装置暗号鍵を適用して復号してブロック部分復号データを生成する。次に、復号部304は、記憶部303に記憶された共通暗号鍵を適用して第3暗号化パケットデータを復号し共通部分復号データを生成する。
【0093】
具体的に、ブロック部分復号部304aは、記憶部303に記憶された自装置暗号鍵識別情報と同一の暗号鍵識別情報が含まれる暗号化パケットデータを選択する。次に、ブロック部分復号部304aは、その選択した暗号化パケットデータを、記憶部303に記憶された、自装置暗号鍵識別情報に対応付けられた自装置暗号鍵を適用して復号して復号データを取得する。次に、ブロック部分復号部304aは、その復号データに付加されている暗号鍵識別情報を削除してブロック部分復号データを生成し、このブロック部分復号データをデータ合成部305に供給する。
次に、共通部分復号部304bは、記憶部303から共通鍵を読み込み、第3暗号化パケットデータを、共通鍵を適用して復号して復号データを取得する。次に、共通部分復号部304bは、その復号データに付加されている第3暗号鍵識別情報を削除して共通部分復号データを生成し、この共通部分復号データをデータ合成部305に供給する。
【0094】
次に、ステップS74において、データ合成部305は、ブロック部分復号部304が供給するブロック部分復号データを取り込み、また共通部分復号部304bが供給する共通部分復号データを取り込む。次に、データ合成部305は、ブロック部分復号データと共通部分復号データとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部306に供給する。
次に、ステップS75において、圧縮符号化コンテンツ復号部306は、データ合成部305が供給する圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータを出力する。
【0095】
以上説明したとおり、本発明の一実施形態を適用した暗号化サーバ12は、圧縮符号化コンテンツデータに含まれる可変長符号から、所定の符号(特定符号)を検出する符号検出部122と、圧縮符号化コンテンツデータを、符号および同期情報を含むブロックデータとこのブロックデータを除く共通部分データとに分離するデータ分離部124とを備えた。また、暗号化サーバ12は、ブロックデータに含まれる符号を、この符号の符号長と同一の符号長であり且つその符号と異なる他の符号に変更することにより、変更ブロックデータを生成する符号変更部125を備えた。また、暗号化サーバ12は、ブロックデータを、第1暗号鍵を適用して暗号化し第1暗号化データを生成するとともに、変更ブロックデータを、第2暗号鍵を適用して暗号化し第2暗号化データを生成するブロック部分暗号化部126を備えた。また、暗号化サーバ12は、共通部分データを、共通鍵を適用して暗号化し第3暗号化データを生成する共通部分暗号化部127を備えた。また、暗号化サーバ12は、第1暗号化データから第3暗号化データそれぞれをパケット変換し、第1暗号鍵を識別する第1暗号鍵識別情報および第2暗号鍵を識別する第2暗号鍵識別情報それぞれを、第1暗号化データのパケットおよび第2暗号化データのパケットそれぞれに設けて、第1暗号化パケットデータから第3暗号化パケットデータを生成する暗号化パケット生成部128を備えた。また、暗号化サーバ12は、第1暗号化パケットデータから第3暗号化パケットデータを合成して、暗号化コンテンツデータを生成するパケット合成部129を備えた。
【0096】
このように構成した暗号化サーバ12は、圧縮符号化コンテンツデータの一部分であるブロックデータと、このブロックデータを部分的に変更した変更ブロックデータとを、相互に異なる二種類の暗号鍵を適用して暗号化する。そして、暗号化サーバ12は、圧縮符号化コンテンツデータのうちブロックデータを除く共通部分データを、共通暗号鍵を適用して暗号化する。
このように構成したことにより、暗号化サーバ12が生成した暗号化コンテンツデータを取得した受信装置は、自装置が有する暗号鍵に応じて、暗号化パケット(暗号化されたブロックデータまたは暗号化された変更ブロックデータ)を復号する。つまり、暗号化サーバ12が生成した暗号化コンテンツデータを取得した受信装置は、暗号鍵の種類に対応したコンテンツデータを再生することとなる。
【0097】
よって、一斉配信のコンテンツ配信サービスの通常運用時において、不正な暗号鍵を有した受信装置(不正受信装置)が再生するコンテンツデータは正規の暗号鍵によって復号されたコンテンツデータと異なるものとなる。すなわち、その不正受信装置は、不正者追跡のテストであるか、通常の運用であるかを判断することができない。
また、暗号化サーバ12によれば、圧縮符号化コンテンツデータ全体を複数種類の暗号鍵を適用して暗号化するよりも、符号量を大幅に少なくすることができ、伝送路の使用帯域を圧迫することがない。
【0098】
また、本発明の一実施形態を適用した受信装置30は、第1暗号鍵および第2暗号鍵のうちいずれかの暗号鍵とこの暗号鍵に対応する暗号鍵識別情報との対データ、および共通暗号鍵を記憶する記憶部303と、圧縮符号化コンテンツデータが有する可変長符号に含まれる所定の符号と同期情報とを含むブロックデータを、第1暗号鍵を適用して暗号化した第1暗号化データと、そのブロックデータに含まれるその符号をこの符号の符号長と同一の符号長であり且つその符号と異なる他の符号に変更した変更ブロックデータを、第2暗号鍵を適用して暗号化した第2暗号化データと、圧縮符号化コンテンツデータにおいてブロックデータを除く共通部分データを、第3暗号鍵を適用して暗号化した第3暗号化データとのそれぞれをパケット変換し、第1暗号鍵を識別する第1暗号鍵識別情報および第2暗号鍵識別情報それぞれを、第1暗号化データのパケットおよび第2暗号化データのパケットそれぞれに設けて生成した、第1暗号化パケットデータから第3暗号化パケットデータを合成して得られた暗号化コンテンツデータを取り込む暗号化コンテンツ取得部を備えた。また受信装置30は、暗号化コンテンツデータを、第1暗号化パケットデータから第3暗号化パケットデータそれぞれに分離するデータ分離部302を備えた。また、受信装置30は、記憶部303に記憶された暗号鍵識別情報に基づき第1暗号化パケットデータおよび第2暗号化パケットデータのうちいずれかの暗号化パケットデータを選択し、この暗号化パケットデータを記憶部303に記憶された暗号鍵を適用して復号しブロック部分復号データを生成し、記憶部303に記憶された第3暗号鍵を適用して第3暗号化パケットデータを復号し共通部分復号データを生成する復号部304を備えた。また、受信装置30は、ブロック部分復号データと共通部分復号データとを合成してコンテンツデータを生成するデータ合成部305と、を備えた。
【0099】
このように構成したことにより、受信装置30は、暗号化サーバ12が生成した暗号化コンテンツデータを取り込み、当該受信装置30が復号可能な暗号化パケット(暗号化されたブロックデータまたは暗号化された変更ブロックデータ)を復号することにより、暗号化コンテンツデータからコンテンツデータを生成することができる。
また、受信装置30は、自装置が有する暗号鍵に応じて、暗号化パケットを復号する。つまり、暗号化サーバ12が生成した暗号化コンテンツデータを取得した受信装置30は、暗号鍵の種類に対応したコンテンツデータを再生することとなる。
【0100】
よって、一斉配信のコンテンツ配信サービスの通常運用時において、不正な暗号鍵を有した場合の受信装置30(不正受信装置)が再生するコンテンツデータは正規の暗号鍵によって復号されたコンテンツデータと異なるものとなる。すなわち、その受信装置30は、不正者追跡のテストであるか、通常の運用であるかを判断することができない。
【0101】
したがって、本実施形態によれば、一斉配信のコンテンツ配信サービスを受ける受信装置に対する不正者追跡を、配信コストを抑えて可能にできる。例えば、多数の復号装置に暗号化コンテンツデータを一斉配信するコンテンツ配信サービスにおいて、例えば二種類のコンテンツデータを二種類の暗号鍵を適用して暗号化し配信する場合でも、復号装置による復号を正常に行わせ、配信における伝送路の帯域消費量を低く抑えることができる。
【0102】
なお、本発明の一実施形態を適用した暗号化サーバ12および受信装置30において、所定の符号は、ゼロ係数の個数であるラン長と非ゼロ係数の値とを示し、他の符号におけるラン長は、所定の符号におけるラン長と同一としてもよい。
このようにすることで、ブロックデータと変更ブロックデータとの間に、復号画像の画質の差異をさほど生じさせなくすることができる。
【0103】
[その他の実施形態]
本発明の一実施形態において、符号変更部125は、ブロックデータに含まれる所定の符号(特定符号)の全てまたは一部を、当該符号の符号長と同一の符号長であり且つこの符号と異なる他の符号に変更してもよい。
【0104】
また、ブロック部分暗号化部126は、変更ブロックデータを暗号化するための、符号変更部125と第2暗号化部126bと第2暗号化パケット生成部128bとを複数系統備えてもよい。
また、暗号化サーバ12の共通部分暗号化パケット生成部128は、共通暗号鍵識別情報(第3暗号鍵識別情報)をパケットデータに設けなくてもよい。その場合、受信装置30のデータ分離部302は、第1暗号鍵識別情報および第2暗号鍵識別情報をキーとして暗号化コンテンツデータから検出したパケットデータを除くビデオのパケットデータを、共通暗号鍵(第3暗号鍵)を適用して暗号化された第3暗号化パケットデータであると判別する。
【0105】
また、上述した一実施形態は、放送局が実施する放送によるコンテンツ配信サービスを実現するコンテンツ配信システムの例であった。これ以外にも、本発明は、例えば、コンテンツブロバイダが実施する通信回線を用いた一斉配信によるコンテンツ配信サービスを実現するコンテンツ配信システムにも適用できる。この場合、コンテンツプロバイダは、複数の受信装置30に対して、通信回線を介して暗号化コンテンツデータをマルチキャストまたはブロードキャストにより一斉配信する。
【0106】
また、上述した一実施形態における暗号化サーバ12の一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための暗号化プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された暗号化プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
【0107】
また、本実施形態における受信装置30の一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための復号プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された復号プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
【0108】
コンピュータシステムとは、オペレーティング・システム(Operating System;OS)や周辺装置のハードウェアを含むものである。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピュータ読み取り可能な記録媒体とは、インターネット等のコンピュータネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバ装置やクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記の暗号化プログラムおよび復号プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【0109】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。