(58)【調査した分野】(Int.Cl.,DB名)
符号化コンテンツデータを複数種類の暗号方式それぞれで暗号化して得られた複数の暗号化データそれぞれをトランスポートストリームに変換し、トランスポートストリームごとに、各トランスポートストリームパケットのヘッダが有するトランスポートスクランブル制御領域に未定義を示すスクランブル制御値を設け、前記ヘッダが有するアダプテーションフィールド制御領域に前記トランスポートストリームパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値を設け、前記アダプテーションフィールドが有するトランスポートプライベートデータ領域に相互に異なる暗号化識別子を設けて生成された複数の暗号化パケットデータと、デジタル放送に関する制御情報をトランスポートストリームに変換し、前記トランスポートストリームにおける各トランスポートストリームパケットのヘッダが有するトランスポートスクランブル制御領域にスクランブルなしを示すスクランブル制御値を設け、前記ヘッダが有するアダプテーションフィールド制御領域に前記トランスポートストリームパケットのアダプテーションフィールドおよびペイロードのデータ構成が少なくともペイロードを含むことを示すアダプテーションフィールド制御値を設けて生成された平文パケットデータと、を合成して得られたストリームを取り込むストリーム取得部と、
前記ストリーム取得部が取り込んだ前記ストリームを、パケットにおけるヘッダが有するトランスポートスクランブル制御領域にスクランブルなしを示すスクランブル制御値が設けられた前記平文パケットデータと、前記トランスポートスクランブル制御領域に未定義を示すスクランブル制御値が設けられた前記複数の暗号化パケットデータとに分離するパケット分離部と、
前記パケット分離部が分離した前記複数の暗号化パケットデータから、パケットにおけるアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化識別子が、あらかじめ記憶された自装置暗号化識別子と同一である暗号化パケットデータを抽出し、前記暗号化パケットデータに含まれる暗号化データを復号して前記符号化コンテンツデータを生成する復号部と、
前記パケット分離部が分離した前記平文パケットデータから前記制御情報を抽出する情報抽出部と、
を備えることを特徴とする復号装置。
前記ストリーム取得部は、符号化コンテンツデータにおける、所定の開始符号と前記開始符号より後の可変長符号の一部分とを含むブロックデータを、複数種類の暗号方式それぞれで暗号化して得られた複数の暗号化データそれぞれをトランスポートストリームに変換し、トランスポートストリームごとに、各トランスポートストリームパケットのヘッダが有するトランスポートスクランブル制御領域に未定義を示すスクランブル制御値を設け、前記ヘッダが有するアダプテーションフィールド制御領域に前記トランスポートストリームパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値を設け、前記アダプテーションフィールドが有するトランスポートプライベートデータ領域に相互に異なる暗号化識別子を設けて生成された複数の暗号化パケットデータと、前記符号化コンテンツデータから前記ブロックデータを除くデータと前記デジタル放送に関する制御情報とをトランスポートストリームに変換し、前記トランスポートストリームにおける各トランスポートストリームパケットのヘッダが有するトランスポートスクランブル制御領域にスクランブルなしを示すスクランブル制御値を設け、前記ヘッダが有するアダプテーションフィールド制御領域に前記トランスポートストリームパケットのアダプテーションフィールドおよびペイロードのデータ構成が少なくともペイロードを含むことを示すアダプテーションフィールド制御値を設けて生成された平文パケットデータと、を合成して得られたストリームを取り込み、
前記復号部は、前記パケット分離部が分離した前記複数の暗号化パケットデータから、パケットにおけるアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化識別子が、あらかじめ記憶された自装置暗号化識別子と同一である暗号化パケットデータを抽出し、前記暗号化パケットデータに含まれる暗号化データを復号して前記ブロックデータを生成し、
前記情報抽出部は、前記パケット分離部が分離した前記平文パケットデータから、前記データと前記デジタル放送に関する制御情報とを抽出し、前記復号部が生成した前記ブロックデータと前記データとを合成して前記符号化コンテンツデータを生成する
ことを特徴とする請求項3記載の復号装置。
【発明を実施するための形態】
【0018】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1の実施の形態]
本発明の第1実施形態は、放送局が実施するデジタル放送によるコンテンツ配信サービスを実現するコンテンツ配信システムの例である。
本実施形態では、コンテンツ配信サービスにおける暗号方式を、現行の暗号方式(第1暗号方式)から、現行と異なる暗号方式(第2暗号方式)に切り替える場合を例として説明する。なお、本実施形態は、映像コンテンツのみを暗号化する例である。
【0019】
図1は、本実施形態である暗号化装置および復号装置を適用したコンテンツ配信システムの概略の構成図である。同図において、コンテンツ配信システム1は、放送局装置群10と、送信アンテナ20と、受信装置30とを含んで構成される。受信装置30は、復号装置を含む。実際には、受信装置30は多数存在するが、本実施形態では、図を簡略化して説明を簡潔にするため、4台の受信装置30(受信装置30−1〜30−4と呼ぶ。)を例示する。
放送局装置群10および送信アンテナ20は、放送局が管理する装置群および設備である。受信装置30は、視聴者が管理する装置である。
【0020】
放送局装置群10は、放送局、番組制作会社等により制作されたコンテンツデータを圧縮符号化して圧縮符号化コンテンツデータを生成する。そして、放送局装置群10は、圧縮符号化コンテンツデータおよびデジタル放送に関する制御情報を、本実施形態独自の方式によって暗号化してストリームを生成する。そして、放送局装置群10は、生成したストリームを放送信号に変換し、この放送信号を送信アンテナ20に送信する。
【0021】
放送局装置群10は、その機能構成として、コンテンツサーバ11と、暗号化サーバ12と、送信装置13と、ネットワーク14とを備える。暗号化サーバ12は、暗号化装置を含む。
【0022】
ネットワーク14は、コンテンツサーバ11と暗号化サーバ12と送信装置13とを相互に接続する通信回線であり、例えば、インターネットプロトコル(Internet Protocol;IP)により通信可能なコンピュータネットワークである。コンテンツサーバ11、暗号化サーバ12、および送信装置13は、ネットワーク14を介して通信を行う。
【0023】
コンテンツサーバ11は、図示しないコンテンツ供給装置からコンテンツデータおよび符号化レートを取り込む。コンテンツデータは、映像データ、音声データ等を含むデジタルデータである。本実施形態では、コンテンツデータは、少なくとも映像データを含む。また、符号化レートは、送信アンテナ20と受信装置30との間の伝送路において使用可能な容量、つまり、使用可能帯域を示す値である。
【0024】
コンテンツサーバ11は、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを記憶する。圧縮符号化処理は、例えば、MPEG−2ビデオ規格やMPEG−2オーディオ規格に基づく符号化処理である。この圧縮符号化処理は、可変長符号化処理を含む。圧縮符号化コンテンツデータは、例えば、MPEG−2ビデオ規格に基づき圧縮符号化処理された映像の符号化コンテンツデータや、MPEG−2オーディオ規格に基づき圧縮符号化処理された音声の符号化コンテンツデータである。
【0025】
暗号化サーバ12は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、また、例えば図示しない番組編成装置からデジタル放送に関する制御情報を取り込む。制御情報は、デジタル放送および放送番組に関する情報である。具体的に、制御情報は、Program Specific Information/Service Information(PSI/SI)の情報を含む。
【0026】
暗号化サーバ12は、圧縮符号化コンテンツデータを複数種類の暗号方式それぞれで暗号化し、複数の暗号化データを生成する。そして、暗号化サーバ12は、複数の暗号化データをパケットデータ化し、暗号化識別子を各パケットに設けて複数の暗号化パケットデータを生成する。また、暗号化サーバ12は、制御情報をパケットデータ化して平文パケットデータを生成する。暗号化サーバ12は、複数の暗号化パケットデータと平文パケットデータとを合成してストリームを生成し、このストリームを記憶する。ストリームは、例えば、MPEG−2システム規格で規定されたトランスポートストリーム(Transport Stream;TS)である。
【0027】
送信装置13は、暗号化サーバ12からストリームを取り込み、このストリームをデジタル放送の放送信号に変換し、この放送信号を送信アンテナ20に送信する。
【0028】
送信アンテナ20は、放送局装置群10の送信装置13から供給された放送信号による放送電波を空中に放射する。
【0029】
受信装置30は、送信アンテナ20が放射した放送電波を受信することによって放送信号を取り込み、この放送信号からストリームを取得する。そして、受信装置30は、ストリームを、平文パケットデータと複数の暗号化パケットデータとに分離する。受信装置30は、平文パケットデータから制御情報を取得する。また、受信装置30は、自装置に設けられている自装置暗号化識別子と同一の暗号化識別子が含まれる暗号化パケットデータを複数の暗号化パケットデータから抽出して復号することにより、圧縮符号化コンテンツデータを取得する。そして、受信装置30は、圧縮符号化コンテンツデータを復号してコンテンツデータを生成する。受信装置30は、コンテンツデータおよび制御情報を用いて放送番組であるコンテンツを表示させ、また音声出力させる。
【0030】
図2は、コンテンツサーバ11の機能構成を示すブロック図である。同図に示すように、コンテンツサーバ11は、コンテンツ取得部111と、符号化レート取得部112と、コンテンツ圧縮符号化部113と、圧縮符号化コンテンツ記憶部114と、圧縮符号化コンテンツ供給部115とを備える。
【0031】
コンテンツ取得部111は、前記のコンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部113に供給する。コンテンツ供給装置は、例えば、磁気ハードディスク装置、半導体ディスク装置等の記憶装置、ネットワーク14を介して接続されるコンテンツ編集装置等である。
符号化レート取得部112は、図示しない符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部113に供給する。符号化レート供給装置は、例えば、キーボード、マウス等の入力装置、半導体メモリ等の記憶装置である。
【0032】
コンテンツ圧縮符号化部113は、コンテンツ取得部111が供給するコンテンツデータを取り込み、また、符号化レート取得部112が供給する符号化レートを取り込む。コンテンツ圧縮符号化部113は、コンテンツデータの圧縮符号化処理を実行して指定された符号化レート以下のデータ量となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部114に供給する。圧縮符号化処理は、例えば、MPEG−2ビデオ規格による映像圧縮符号化処理である。この圧縮符号化処理は、可変長符号化処理として例えばハフマン符号化処理を含む。
【0033】
圧縮符号化コンテンツ記憶部114は、コンテンツ圧縮符号化部113が供給する圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
【0034】
圧縮符号化コンテンツ供給部115は、圧縮符号化コンテンツ記憶部114から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを、例えば暗号化サーバ12に供給する。
【0035】
ここで、暗号化サーバ12が生成するストリームのパケットであるトランスポートストリームパケットのデータ構成について説明する。
図3は、トランスポートストリームパケットのデータ構成を示す図である。同図に示すように、トランスポートストリームパケット(以下、TSパケットと呼ぶ。)は、ヘッダ部(ヘッダ)と、アダプテーションフィールド/ペイロード部とを有する。ヘッダ部は、4バイトのデータである。アダプテーションフィールド/ペイロード部は、184バイトのデータである。つまり、TSパケットは、188バイト固定長のデータである。
【0036】
ヘッダ部は、同期バイトと、トランスポートエラーインジケータと、ペイロードユニット開始インジケータと、トランスポート優先度と、パケット識別子(Packet IDentificaion;PID)と、トランスポートスクランブル制御と、アダプテーションフィールド制御と、連続性指標とを含む。
【0037】
同期バイトは、TSパケットの先頭を示す8ビットのデータであり、0x47(16進数)である。トランスポートエラーインジケータは、TSパケット内のビットエラーの有無を示す1ビットのフラグである。トランスポートエラーインジケータは、‘1’(2進数)である場合に、TSパケット内に少なくとも1ビットの訂正不可能なエラーが存在することを示す。ペイロードユニット開始インジケータは1ビットのデータであり、‘1’(2進数)である場合に、TSパケットのペイロードの開始点がPESパケットの開始点またはポインタであることを示す。トランスポート優先度は、同一のPIDを有するTSパケットにおける優先度を示す1ビットのフラグであり、‘1’(2進数)である場合に優先を示す。PIDは、ペイロードのデータの種類を識別する13ビットのデータである。
【0038】
トランスポートスクランブル制御は、TSパケットのペイロードのスクランブルモードを識別するための2ビットのデータ領域である。このトランスポートスクランブル制御の領域(トランスポートスクランブル制御領域)に格納されるスクランブル制御値を、下記の表1に示す。
【0040】
表1において、“スクランブルなし”(‘00’(2進数))は、TSパケットのペイロードがスクランブルされないことを示す。“未定義”(‘01’(2進数))は、現在、定義されていないことを示す。本実施形態では、同表において“未定義”と規定されているスクランブル制御値を、“拡張スクランブル”という意味を表すものとして使用する。“拡張スクランブルとは、現行の暗号方式と異なる暗号方式が用いられることを示すものであり、暗号化サーバ12および受信装置30は、値‘01’(2進数)を使用する。“偶数鍵”(‘10’(2進数))および“奇数鍵”(‘11’(2進数))は、現在使用されているスクランブル鍵の種類を示す。
【0041】
アダプテーションフィールド制御は、アダプテーションフィールド/ペイロード部の構成の種類を示す2ビットのデータ領域である。このアダプテーションフィールド制御の領域(アダプテーションフィールド制御領域)に格納されるアダプテーションフィールド制御値を、下記の表2に示す。
【0043】
表2において、“未定義”(‘00’(2進数))は、現在、定義されていないことを示す。“アダプテーションフィールドなし、ペイロードのみ”(‘01’(2進数))は、TSパケットのアダプテーションフィールド/ペイロード部がペイロードとしてのみ使用されることを示す。“アダプテーションフィールドのみ、ペイロードなし”(‘10’(2進数))は、TSパケットのアダプテーションフィールド/ペイロード部がアダプテーションフィールドとしてのみ使用されることを示す。“アダプテーションフィールドの次にペイロード”(‘11’(2進数))は、TSパケットのアダプテーションフィールド/ペイロード部がアダプテーションフィールドおよびペイロードとして使用され、アダプテーションフィールドが先に送出されることを示す。
【0044】
連続性指標は、同一のPIDを有するTSパケットの順番を指定する4ビットのデータであり、‘0000’(2進数)を開始値として‘1’(2進数)ずつ増加し、‘1111’(2進数)に到達した次は、‘0000’(2進数)に戻る。
【0045】
アダプテーションフィールド/ペイロード部は、アダプテーションフィールド制御に格納されたアダプテーションフィールド制御値に応じて、アダプテーションフィールドおよびペイロードまたはいずれかを格納する領域である。アダプテーションフィールドは、ヘッダ部を拡張する情報である。ペイロードは、当該TSパケットに含まれる情報の本体である。
【0046】
図4は、本実施形態において、アダプテーションフィールドに設けられるトランスポートプライベートデータに関するデータ構成を示す図である。同図において、トランスポートプライベートデータ長は、トランスポートプライベートデータのデータ長を指定する8ビットのデータ領域である。トランスポートプライベートデータは、ユーザにより任意のデータを格納することができるデータ領域である。このトランスポートプライベートデータは、トランスポートプライベートデータ長に格納されたバイト数分のデータ容量を有する。例えば、トランスポートプライベートデータ長に0x01(16進数)が格納された場合、トランスポートプライベートデータは、1バイトのデータを格納することができる。
【0047】
暗号化サーバ12は、圧縮符号化コンテンツデータおよび制御情報から生成するトランスポートストリームのTSパケットごとに、ペイロードに格納されるデータが平文データであるか、現行の暗号方式によって暗号化された暗号化データであるか、または現行と異なる暗号方式によって暗号化された暗号化データであるかを、トランスポートスクランブル制御により識別する。また、暗号化サーバ12は、ペイロードに格納されるデータが現行と異なる暗号方式によって暗号化された暗号化データである場合に、TSパケットごとに、その暗号方式を識別する暗号化識別子をトランスポートプライベートデータ領域に格納する。暗号化サーバ12が管理するこれらの情報(暗号管理情報)を、下記の表3にまとめる。
【0049】
表3に示したとおり、暗号化サーバ12は、ペイロードに平文データを格納する場合、トランスポートスクランブル制御領域に、“スクランブルなし”を示すスクランブル制御値‘00’(2進数)を格納し、アダプテーションフィールド制御領域に、“アダプテーションフィールドなし、ペイロードのみ”または“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘01’または‘11’(2進数)を格納する。
【0050】
また、暗号化サーバ12は、ペイロードに現行の暗号方式で暗号化した暗号化データを格納する場合、トランスポートスクランブル制御領域に、“偶数鍵”または“奇数鍵”を示すスクランブル制御値‘10’または‘11’(2進数)を格納し、アダプテーションフィールド制御領域に、“アダプテーションフィールドなし、ペイロードのみ”または“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘01’または‘11’(2進数)を格納する。
【0051】
また、暗号化サーバ12は、現行と異なる暗号方式で暗号化した暗号化データをペイロードに格納する場合、トランスポートスクランブル制御領域に、“拡張スクランブル”(従来における“未定義”)を示すスクランブル制御値‘01’(2進数)を格納し、アダプテーションフィールド制御領域に、“アダプテーションフィールドの次にペイロード”を示すアダプテーションフィールド制御値‘11’(2進数)を格納し、トランスポートプライベートデータ長に、“1バイト長”を示す0x01(16進数)を格納し、トランスポートプライベートデータに1バイト長の暗号化識別子を格納する。
【0052】
この暗号化識別子は、例えば、暗号方式を識別する情報と、スクランブル鍵(暗号鍵)の種類を示す情報とを含む。暗号化識別子のビット構成は、適宜定められるものである。例えば、暗号化識別子の上位7ビットを、暗号方式を識別する情報に割り当て、最下位ビットを、スクランブル鍵の種類を示す情報(フラグ)に割り当てる。具体的に、例えば、暗号化識別子の上位7ビットを、‘0000001’(2進数)、‘0000010’(2進数)等とし、最下位ビットを、偶数鍵‘0’(2進数)、奇数鍵‘1’(2進数)とする。
【0053】
図5は、暗号化サーバ12の機能構成を示すブロック図である。同図に示すように、暗号化サーバ12は、データ取得部121と、記憶部122と、暗号化部123と、暗号化パケット生成部124と、平文パケット生成部125と、パケット合成部126と、ストリーム記憶部127と、ストリーム供給部128とを備える。
【0054】
データ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを記憶部122に供給する。また、データ取得部121は、例えば図示しない番組編成装置からデジタル放送に関する制御情報を取り込み、この制御情報を記憶部122に供給する。
記憶部122は、データ取得部121が供給する、圧縮符号化コンテンツデータおよび制御情報を記憶する。記憶部122は、例えば半導体記憶装置により実現される。
【0055】
暗号化部123は、記憶部122から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを二種類の暗号方式それぞれで暗号化し、二つ(2系統)の暗号化データを生成する。
暗号化部123は、その機能構成として、第1暗号化部123−1と、第2暗号化部123−2とを備える。本実施形態において、第1暗号化部123−1は、現行の暗号方式(第1暗号方式)による暗号化処理を実行する。また、第2暗号化部123−2は、現行と異なる暗号方式(第2暗号方式)による暗号化処理を実行する。
【0056】
第1暗号化部123−1は、記憶部122に記憶された圧縮符号化コンテンツデータを、TSパケットのペイロードサイズに合致するように読み込み、その読み込んだブロックデータを第1暗号方式で順次暗号化して第1暗号化データを生成する。
【0057】
第2暗号化部123−2は、記憶部122に記憶された圧縮符号化コンテンツデータを、TSパケットのペイロードサイズに合致するように読み込み、その読み込んだブロックデータを第2暗号方式で順次暗号化して第2暗号化データを生成する。
【0058】
暗号化パケット生成部124は、暗号化部123が生成した二つの暗号化データそれぞれを取り込んでトランスポートストリームに変換する。そして、暗号化パケット生成部124は、トランスポートストリームごとに、各TSパケットに、暗号方式に対応付けられた暗号管理情報をそれぞれ設けて、二つ(2系統)の暗号化パケットデータを生成する。例えば、暗号化パケット生成部124は、TSパケットのヘッダ部およびアダプテーションフィールドのサイズ、すなわちペイロードのサイズを決定した後、このペイロードサイズを超えないように暗号化データを取り込む。ただし、暗号化パケット生成部124は、二つの暗号化パケットデータ間でのPIDを同一値にする。
暗号化パケット生成部124は、その機能構成として、第1暗号化パケット生成部124−1と、第2暗号化パケット生成部124−2とを備える。
【0059】
第1暗号化パケット生成部124−1は、第1暗号化部123−1から第1暗号化データを取り込み、この第1暗号化データをトランスポートストリームに変換する。そして、第1暗号化パケット生成部124−1は、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に偶数鍵または奇数鍵を示すスクランブル制御値(‘10’または‘11’(2進数))を設ける。そして、第1暗号化パケット生成部124−1は、TSパケットにアダプテーションフィールドとペイロードを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘11’(2進数))を設ける。また、第1暗号化パケット生成部124−1は、TSパケットにペイロードのみを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘01’(2進数))を設ける。こうして、第1暗号化パケット生成部124−1は、第1暗号化パケットデータを生成する。
第1暗号化パケット生成部124−1は、第1暗号化パケットデータをパケット合成部126に供給する。
【0060】
第2暗号化パケット生成部124−2は、第2暗号化部123−2から第2暗号化データを取り込み、この第2暗号化データをトランスポートストリームに変換する。そして、第2暗号化パケット生成部124−2は、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に、拡張スクランブル(従来における未定義)を示すスクランブル制御値(‘01’(2進数))を設ける。そして、第2暗号化パケット生成部124−2は、アダプテーションフィールド制御領域に、TSパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値(‘11’(2進数))を設ける。そして、第2暗号化パケット生成部124−2は、アダプテーションフィールドのトランスポートプライベートデータ長領域に、トランスポートプライベートデータのデータ長(例えば、0x01(16進数))を設ける。そして、第2暗号化パケット生成部124−2は、アダプテーションフィールドのトランスポートプライベートデータ領域に、暗号化識別子(例えば、0x02(16進数))を設ける。暗号化識別子(0x02(16進数))は、例えば、暗号方式が‘0000001’(2進数)、スクランブル鍵が‘0’(2進数)(偶数鍵)を表す。このようにして、第2暗号化パケット生成部124−2は、第2暗号化パケットデータを生成する。
第2暗号化パケット生成部124−2は、第2暗号化パケットデータをパケット合成部126に供給する。
【0061】
なお、暗号化サーバ12は、複数の第2暗号化パケット生成部124−2を設けてもよい。この場合、複数の第2暗号化パケット生成部124−2それぞれは、相互に異なる暗号化識別子(例えば、0x02,0x03,0x04(16進数)等)をトランスポートプライベートデータ領域に設ける。
【0062】
平文パケット生成部125は、記憶部122から制御情報を読み込み、この制御情報をトランスポートストリームに変換する。そして、平文パケット生成部125は、各TSパケットに、平文(非暗号化)に対応付けられた暗号管理情報を設けて、平文パケットデータを生成する。
【0063】
具体的に、平文パケット生成部125は、記憶部122から制御情報を読み込み、この制御情報をトランスポートストリームに変換する。そして、平文パケット生成部125は、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に、スクランブルなしを示すスクランブル制御値(‘00’(2進数))を設ける。そして、平文パケット生成部125は、TSパケットにアダプテーションフィールドとペイロードを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘11’(2進数))を設ける。また、平文パケット生成部125は、TSパケットにペイロードのみを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘01’(2進数))を設ける。このようにして、平文パケット生成部125は、平文パケットデータを生成する。
平文パケット生成部125は、平文パケットデータをパケット合成部126に供給する。
【0064】
パケット合成部126は、暗号化パケット生成部124が供給する二つの暗号化パケットデータと、平文パケット生成部125が供給する平文パケットデータとを合成してストリームを生成する。
【0065】
具体的に、パケット合成部126は、第1暗号化パケット生成部124−1が供給する第1暗号化パケットデータと、第2暗号化パケット生成部124−2が供給する第2暗号化パケットデータと、平文パケット生成部125が供給する平文パケットデータとを取り込む。そして、パケット合成部126は、第1暗号化パケットデータと第2暗号化パケットデータと平文パケットデータとを連結してストリームを生成し、このストリームをストリーム記憶部127に供給する。
連結方法として、例えば、パケット合成部126は、第1暗号化パケットデータと第2暗号化パケットデータと平文パケットデータとを、例えば、第1暗号化パケットデータ、第2暗号化パケットデータ、平文パケットデータの順に連結してストリームを生成し、このストリームをストリーム記憶部127に供給する。
【0066】
なお、パケット合成部126が第1暗号化パケットデータと第2暗号化パケットデータと平文パケットデータとを連結する順序は、上記の順序に限らず、第1暗号化パケットデータと第2暗号化パケットデータと平文パケットデータとの全ての組み合わせによる連結が可能である。
また、パケット合成部126は、第1暗号化パケットデータと第2暗号化パケットデータと平文パケットデータとを、TSパケット単位で任意に組み合わせてもよい。
【0067】
ストリーム記憶部127は、パケット合成部126が供給するストリームを記憶する。ストリーム記憶部127は、例えば、磁気ディスク装置、半導体ディスク装置等により実現される。
ストリーム供給部128は、ストリーム記憶部127からストリームを読み込み、このストリームを、例えば送信装置13に供給する。
【0068】
図6は、送信装置13の機能構成を示すブロック図である。同図に示すように、送信装置13は、ストリーム取得部131と、放送信号生成部132と、放送信号送信部133とを備える。
【0069】
ストリーム取得部131は、暗号化サーバ12からストリームを取り込み、このストリームを放送信号生成部132に供給する。
放送信号生成部132は、ストリーム取得部131が供給するストリームを取り込み、このストリームを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部133に供給する。放送信号の仕様は、例えば、ARIB(Association of Radio Industries and Broadcast)標準規格によって規定されている。
放送信号送信部133は、放送信号生成部132が供給する放送信号を取り込み、この放送信号を送信アンテナ20に送信する。
【0070】
図7は、受信装置30の機能構成を示すブロック図である。同図に示すように、受信装置30は、放送信号受信部(ストリーム取得部)301と、パケット分離部302と、復号鍵記憶部303と、復号部304と、情報抽出部305と、圧縮符号化コンテンツ復号部306と、コンテンツ処理部307とを備える。
【0071】
放送信号受信部301は、例えば、受信装置30に接続された受信アンテナ(不図示)により放送電波を受信して得られた放送信号を取り込む。そして、放送信号受信部301は、放送信号を復調してストリームを取得し、このストリームをパケット分離部302に供給する。
【0072】
パケット分離部302は、放送信号受信部301が供給するストリームを取り込む。そして、パケット分離部302は、取り込んだストリームを構成するTSパケットごとに、ヘッダ部が有するトランスポートスクランブル制御領域からスクランブル制御値を検出してパケットデータの種類を判別し、判別結果に応じてTSパケットを分離する。
【0073】
具体的に、パケット分離部302は、TSパケットにおけるヘッダ部が有するトランスポートスクランブル制御領域に“スクランブルなし”を示すスクランブル制御値(‘00’(2進数))を検出した場合、そのTSパケットが平文パケットデータであると判別する。また、パケット分離部302は、トランスポートスクランブル制御領域に“偶数鍵”または“奇数鍵”を示すスクランブル制御値(‘10’または‘11’(2進数))を検出した場合、そのTSパケットが第1暗号化パケットデータであると判別する。また、パケット分離部302は、トランスポートスクランブル制御領域に“拡張スクランブル”(従来における“未定義”)を示すスクランブル制御値(‘01’(2進数))を検出した場合、そのTSパケットが第2暗号化パケットデータであると判別する。パケット分離部302は、判別したパケットデータの種類に応じてパケットデータを分離し、平文パケットデータを情報抽出部305に供給し、第1暗号化パケットデータおよび第2暗号化パケットデータを復号部304に供給する。
【0074】
復号鍵記憶部303は、第1暗号方式または第2暗号方式いずれかで暗号化された暗号化データを復号するための復号鍵を記憶する。復号鍵記憶部303は、例えば、復号鍵を記憶したICカードである。なお、復号鍵記憶部303は、復号鍵の耐タンパ性が保証される記憶装置であればよい。
【0075】
復号部304は、現行と異なる暗号方式である第2暗号方式に対応する処理機能を有する処理部である場合、第2暗号方式を示す暗号化識別子を自装置暗号化識別子として記憶する。例えば、現行の暗号方式から新たな暗号方式に変更された復号部304は、その新たな暗号方式を示す暗号化識別子を記憶する。
【0076】
復号部304が自装置暗号化識別子を記憶している場合、復号部304は、第2暗号化パケットデータにおけるトランスポートプライベート領域に設けられた暗号化識別子と、あらかじめ記憶された自装置暗号化識別子とを比較し、同一である場合に第2暗号化パケットデータからペイロードを合成して第2暗号化データを生成する。そして、復号部304は、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第2暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
【0077】
なお、現行と異なる複数種類の暗号方式それぞれで暗号化された複数の暗号化パケットデータをパケット分離部302から取り込む場合は、復号部304は、それら複数の暗号化パケットデータから、TSパケットにおけるアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化識別子が、あらかじめ記憶された自装置暗号化識別子と同一である暗号化パケットデータを抽出し、この暗号化パケットデータからペイロードを合成して暗号化データを生成する。そして、復号部304は、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
【0078】
復号部304が自装置暗号化識別子を記憶していない場合、復号部304は、第1暗号化パケットデータからペイロードを合成して第1暗号化データを生成する。そして、復号部304は、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第1暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
【0079】
復号部304は、復号データである圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部306に供給する。
【0080】
情報抽出部305は、パケット分離部302が供給する平文パケットデータを取り込み、この平文パケットデータから制御情報を抽出し、この制御情報をコンテンツ処理部307に供給する。
【0081】
圧縮符号化コンテンツ復号部306は、復号部304が供給する復号データである圧縮符号化コンテンツデータを取り込む。そして、圧縮符号化コンテンツ復号部306は、圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータをコンテンツ処理部307に供給する。
【0082】
コンテンツ処理部307は、情報抽出部305が供給する制御情報を取り込み、また、圧縮符号化コンテンツ復号部306が供給するコンテンツデータを取り込む。そして、コンテンツ処理部307は、コンテンツデータおよび制御情報を用いて放送番組であるコンテンツを、図示しない表示装置に表示させ、図示しない音声出力装置に音声出力させる。
【0083】
ここで、現行の暗号方式によって暗号化されたストリームのみを復号可能な受信装置が、暗号化サーバ12が生成したストリームを取り込んだ場合について説明する。この受信装置が備える復号部は、TSパケットにおけるヘッダ部のトランスポートスクランブル制御領域に格納された“拡張スクランブル”(従来における“未定義”)(‘01’(2進数))を解釈することができない。よって、復号部は、第2暗号化パケットデータを認識することなく、第1暗号化パケットデータのペイロードを合成して第1暗号化データを生成する。そして、この受信装置の復号部は、自装置が有している復号鍵を適用して第1暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
【0084】
つまり、本実施形態である受信装置30は、取り込んだストリームのTSパケットにおけるトランスポートスクランブル制御領域の“拡張スクランブル”(従来における“未定義”)を検出すると、アダプテーションフィールドのトランスポートプライベートデータ領域に暗号化識別子があると解釈する。これにより、受信装置30は、その暗号化識別子を抽出して適応可能な暗号方式を選択することができる。
一方、従来の受信装置は、取り込んだストリームにおけるトランスポートスクランブル制御値が“拡張スクランブル”(従来における“未定義”)(‘01’(2進数))であるTSパケットを無視することにより、第1暗号化パケットデータを復号対象のTSパケットとすることができる。
【0085】
次に、第1実施形態におけるコンテンツ配信システム1の動作について説明する。
図8は、コンテンツサーバ11が実行する処理の手順を示すフローチャートである。
ステップS11において、コンテンツ取得部111は、コンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ圧縮符号化部113に供給する。コンテンツ圧縮符号化部113は、コンテンツ取得部111が供給するコンテンツデータを取り込む。
次に、ステップS12において、符号化レート取得部112は、符号化レート供給装置から符号化レートを取り込み、この符号化レートをコンテンツ圧縮符号化部113に供給する。コンテンツ圧縮符号化部113は、符号化レート取得部112が供給する符号化レートを取り込む。
【0086】
次に、ステップS13において、コンテンツ圧縮符号化部113は、コンテンツデータの圧縮符号化処理を実行して符号化レート以下の容量値となる圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ記憶部114に供給する。
次に、ステップS14において、圧縮符号化コンテンツ記憶部114は、コンテンツ圧縮符号化部113が供給する圧縮符号化コンテンツデータを、例えばファイルデータとして記憶する。
【0087】
図9は、暗号化サーバ12が実行する処理の手順を示すフローチャートである。
ステップS31において、データ取得部121は、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを記憶部122に記憶させる。次に、データ取得部121は、例えば番組編成装置からデジタル放送に関する制御情報を取り込み、この制御情報を記憶部122に記憶させる。
次に、ステップS32において、暗号化部123は、記憶部122から圧縮符号化コンテンツデータを読み込み、この圧縮符号化コンテンツデータを二種類の暗号方式それぞれで暗号化し、二つ(2系統)の暗号化データを生成する。
具体的に、第1暗号化部123−1は、記憶部122に記憶された圧縮符号化コンテンツデータを、TSパケットのペイロードサイズに合致するように読み込み、その読み込んだブロックデータを第1暗号方式で順次暗号化して第1暗号化データを生成する。また、第2暗号化部123−2は、記憶部122に記憶された圧縮符号化コンテンツデータを、TSパケットのペイロードサイズに合致するように読み込み、その読み込んだブロックデータを第2暗号方式で順次暗号化して第2暗号化データを生成する。
【0088】
次に、ステップS33において、暗号化パケット生成部124は、暗号化部123が生成した二つの暗号化データそれぞれを取り込んでトランスポートストリームに変換する。次に、暗号化パケット生成部124は、トランスポートストリームごとに、各TSパケットに、暗号方式に対応付けられた暗号管理情報をそれぞれ設けて、二つ(2系統)の暗号化パケットデータを生成する。
【0089】
具体的に、第1暗号化パケット生成部124−1は、第1暗号化部123−1から第1暗号化データを取り込み、この第1暗号化データをトランスポートストリームに変換する。次に、第1暗号化パケット生成部124−1は、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に偶数鍵または奇数鍵を示すスクランブル制御値(‘10’または‘11’(2進数))を設ける。次に、第1暗号化パケット生成部124−1は、TSパケットにアダプテーションフィールドとペイロードを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘11’(2進数))を設ける。また、第1暗号化パケット生成部124−1は、TSパケットにペイロードのみを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘01’(2進数))を設ける。こうして、第1暗号化パケット生成部124−1は、第1暗号化パケットデータを生成する。次に、第1暗号化パケット生成部124−1は、第1暗号化パケットデータをパケット合成部126に供給する。
【0090】
また、第2暗号化パケット生成部124−2は、第2暗号化部123−2から第2暗号化データを取り込み、この第2暗号化データをトランスポートストリームに変換する。次に、第2暗号化パケット生成部124−2は、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に、拡張スクランブル(従来における未定義)を示すスクランブル制御値(‘01’(2進数))を設ける。また、第2暗号化パケット生成部124−2は、アダプテーションフィールド制御領域に、TSパケットのアダプテーションフィールドおよびペイロードのデータ構成がアダプテーションフィールドおよびペイロードを有することを示すアダプテーションフィールド制御値(‘11’(2進数))を設ける。また、第2暗号化パケット生成部124−2は、アダプテーションフィールドのトランスポートプライベートデータ長領域に、トランスポートプライベートデータのデータ長(例えば、0x01(16進数))を設ける。また、第2暗号化パケット生成部124−2は、アダプテーションフィールドのトランスポートプライベートデータ領域に、暗号化識別子(例えば、0x02(16進数))を設ける。このようにして、第2暗号化パケット生成部124−2は、第2暗号化パケットデータを生成する。次に、第2暗号化パケット生成部124−2は、第2暗号化パケットデータをパケット合成部126に供給する。
【0091】
次に、平文パケット生成部125は、記憶部122から制御情報を読み込み、この制御情報をトランスポートストリームに変換する。次に、平文パケット生成部125は、各TSパケットに、平文(非暗号化)に対応付けられた暗号管理情報を設けて、平文パケットデータを生成する。
【0092】
具体的に、平文パケット生成部125は、記憶部122から制御情報を読み込み、この制御情報をトランスポートストリームに変換する。次に、平文パケット生成部125は、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に、スクランブルなしを示すスクランブル制御値(‘00’(2進数))を設ける。また、平文パケット生成部125は、TSパケットにアダプテーションフィールドとペイロードを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘11’(2進数))を設ける。また、平文パケット生成部125は、TSパケットにペイロードのみを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘01’(2進数))を設ける。このようにして、平文パケット生成部125は、平文パケットデータを生成する。次に、平文パケット生成部125は、平文パケットデータをパケット合成部126に供給する。
【0093】
なお、暗号化パケット生成部124および平文パケット生成部125は、いずれの処理を先に実行してもよいし、並列に処理を実行してもよい。
【0094】
次に、ステップS34において、パケット合成部126は、暗号化パケット生成部124が供給する二つの暗号化パケットデータと、平文パケット生成部125が供給する平文パケットデータとを合成してストリームを生成する。
具体的に、パケット合成部126は、第1暗号化パケット生成部124−1が供給する第1暗号化パケットデータと、第2暗号化パケット生成部124−2が供給する第2暗号化パケットデータと、平文パケット生成部125が供給する平文パケットデータとを取り込む。次に、パケット合成部126は、第1暗号化パケットデータと第2暗号化パケットデータと平文パケットデータとを連結してストリームを生成し、このストリームをストリーム記憶部127に供給する。
【0095】
次に、ステップS35において、ストリーム記憶部127は、パケット合成部126が供給するストリームを記憶する。
【0096】
図10は、送信装置13が実行する処理の手順を示すフローチャートである。
ステップS51において、ストリーム取得部131は、暗号化サーバ12からストリームを取り込み、このストリームを放送信号生成部132に供給する。
次に、ステップS52において、放送信号生成部132は、ストリーム取得部131が供給するストリームを取り込み、このストリームを変調してデジタル放送の放送信号に変換し、この放送信号を放送信号送信部133に供給する。
次に、ステップS53において、放送信号送信部133は、放送信号生成部132が供給する放送信号を取り込み、この放送信号を送信アンテナ20に送信する。
【0097】
図11は、受信装置30が実行する処理の手順を示すフローチャートである。
ステップS71において、放送信号受信部301は、例えば、受信装置30に接続された受信アンテナにより放送電波を受信して得られた放送信号を取り込む。次に、放送信号受信部301は、放送信号を復調してストリームを取得し、このストリームをパケット分離部302に供給する。
【0098】
次に、ステップS72において、パケット分離部302は、放送信号受信部301が供給するストリームを取り込む。次に、パケット分離部302は、取り込んだストリームを構成するTSパケットごとに、ヘッダ部が有するトランスポートスクランブル制御領域からスクランブル制御値を検出してパケットデータの種類を判別し、判別結果に応じてTSパケットを分離する。
【0099】
具体的に、パケット分離部302は、TSパケットにおけるヘッダ部が有するトランスポートスクランブル制御領域に“スクランブルなし”を示すスクランブル制御値(‘00’(2進数))を検出した場合、そのTSパケットが平文パケットデータであると判別する。また、パケット分離部302は、トランスポートスクランブル制御領域に“偶数鍵”または“奇数鍵”を示すスクランブル制御値(‘10’または‘11’(2進数))を検出した場合、そのTSパケットが第1暗号化パケットデータであると判別する。また、パケット分離部302は、トランスポートスクランブル制御領域に“拡張スクランブル”(従来における“未定義”)を示すスクランブル制御値(‘01’(2進数))を検出した場合、そのTSパケットが第2暗号化パケットデータであると判別する。次に、パケット分離部302は、判別したパケットデータの種類に応じてパケットデータを分離し、平文パケットデータを情報抽出部305に供給し、第1暗号化パケットデータおよび第2暗号化パケットデータを復号部304に供給する。
【0100】
次に、ステップS73において、復号部304が自装置暗号化識別子を記憶している場合、復号部304は、第2暗号化パケットデータにおけるトランスポートプライベート領域に設けられた暗号化識別子と、あらかじめ記憶された自装置暗号化識別子とを比較し、同一である場合に第2暗号化パケットデータからペイロードを合成して第2暗号化データを生成する。次に、復号部304は、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第2暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
また、復号部304が自装置暗号化識別子を記憶していない場合、復号部304は、第1暗号化パケットデータからペイロードを合成して第1暗号化データを生成する。次に、復号部304は、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第1暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
次に、復号部304は、復号データである圧縮符号化コンテンツデータを圧縮符号化コンテンツ復号部306に供給する。
【0101】
次に、ステップS74において、情報抽出部305は、パケット分離部302が供給する平文パケットデータを取り込み、この平文パケットデータから制御情報を抽出し、この制御情報をコンテンツ処理部307に供給する。
【0102】
次に、ステップS75において、圧縮符号化コンテンツ復号部306は、復号部304が供給する復号データである圧縮符号化コンテンツデータを取り込む。次に、圧縮符号化コンテンツ復号部306は、圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータをコンテンツ処理部307に供給する。
【0103】
以上説明したとおり、第1実施形態における暗号化サーバ12は、デジタル放送に関する制御情報および圧縮符号化コンテンツデータにおいて、圧縮符号化コンテンツデータのみを暗号化してストリームを生成する。よって、正しい復号鍵を有さない受信装置30は、暗号化パケットデータを復号することができないため、圧縮符号化コンテンツデータを得ることができない。
また、暗号化サーバ12は、圧縮符号化コンテンツデータを複数種類の暗号方式で暗号化するため、例えば、新旧両方式により暗号化した暗号化パケットデータを一本のストリームに含ませることができる。
【0104】
また、受信装置30は、暗号化サーバ12が暗号化して生成したストリームを取り込み、自装置が復号可能な暗号化パケットを復号することにより、ストリームからコンテンツデータを生成することができる。
【0105】
したがって、本発明の第1実施形態によれば、例えば、デジタル放送におけるコンテンツ配信サービス運用中における暗号方式の切り替えにおいて、この切り替え期間の、暗号化コンテンツデータの安全性(秘匿性)を高く保ち且つ現行の暗号方式と新しい暗号方式との混在を実現することができる。これによって、受信装置30の暗号方式の円滑な更新および切り替えを実現することができる。
【0106】
[第2の実施の形態]
本発明の第2実施形態は、前述した第1実施形態に対して暗号化サーバ12および受信装置30を暗号化サーバ12aおよび受信装置30aに変更した構成を有する。
【0107】
暗号化サーバ12aは、圧縮符号化コンテンツデータの一部分であるブロックデータを複数種類の暗号方式それぞれで暗号化する。ブロックデータは、圧縮符号化コンテンツデータの復号処理において同期をとるために必要な情報を含む。そして、暗号化サーバ12aは、暗号方式ごとに、暗号化したブロックデータに暗号方式を識別する暗号化識別子を設けて複数の暗号化パケットデータを生成する。また、暗号化サーバ12aは、制御情報と圧縮符号化コンテンツデータにおいてブロックデータを除くデータとをパケットデータ化して平文パケットデータを生成する。暗号化サーバ12aは、複数の暗号化パケットデータと平文パケットデータとを合成してストリームを生成し、このストリームを記憶する。
【0108】
受信装置30aは、ストリームを、平文パケットデータと複数の暗号化パケットデータとに分離する。受信装置30aは、平文パケットデータから、圧縮符号化コンテンツデータにおいてブロックデータを除くデータと制御情報とを取得する。また、受信装置30aは、自装置に設けられている自装置暗号化識別子と同一の暗号化識別子が含まれる暗号化パケットデータを複数の暗号化パケットデータから抽出して復号することにより、ブロックデータを取得する。そして、受信装置30aは、ブロックデータと圧縮符号化コンテンツデータにおいてブロックデータを除くデータとを合成し、圧縮符号化コンテンツデータを生成する。そして、受信装置30aは、圧縮符号化コンテンツデータを復号してコンテンツデータを生成する。受信装置30aは、コンテンツデータおよび制御情報を用いて放送番組であるコンテンツを表示させ、また音声出力させる。
【0109】
図12は、暗号化サーバ12aの機能構成を示すブロック図である。同図に示すように、暗号化サーバ12aは、第1実施形態の暗号化サーバ12に対して、開始符号検出部129と、スタートコード検出部130とをさらに備える。また、暗号化サーバ12aは、暗号化サーバ12に対して、データ取得部121と、記憶部122と、暗号化部123と、平文パケット生成部125とを、データ取得部121aと、記憶部122aと、暗号化部123aと、平文パケット生成部125aとに変更した構成を有する。
【0110】
データ取得部121aは、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを開始符号検出部129に供給する。また、データ取得部121aは、例えば図示しない番組編成装置からデジタル放送に関する制御情報を取り込み、この制御情報を記憶部122aに供給する。
【0111】
開始符号検出部129は、データ取得部121aが供給する圧縮符号化コンテンツデータを取り込む。そして、開始符号検出部129は、この圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域の開始符合を検出する。例えば、開始符号検出部129は、圧縮符号化コンテンツデータから、複数種類のデータ領域それぞれにおける開始符号を検出し、この開始符号の位置を特定する。
【0112】
ここで、圧縮符号化コンテンツデータが、MPEG−2ビデオ規格に基づき圧縮符号化されてファイル化されたMPEG−2映像ファイルデータである場合の例について、具体的に説明する。この例において、圧縮符号化コンテンツデータは、MPEG−2ビデオ規格によるデータ構造を有する。具体的には、圧縮符号化コンテンツデータは、例えば、シーケンス層(Sequence Layer)から、GOP層(Group Of Picture Layer)、ピクチャ層(Picture Layer)、スライス層(Slice Layer)、マクロブロック層(Macro Block Layer)、ブロック層(Block Layer)までの6層の階層データ構造を有する。この6層のうちシーケンス層が最上位層であり、ブロック層が最下位層である。
【0113】
シーケンス層は、一連のフレーム画像について共通する属性(例えば、画像サイズ、アスペクト比、フレームレート等)を含む。シーケンス層は、データ領域であるシーケンスヘッダ(Sequence Header)を含む。そして、シーケンスヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、シーケンス層の開始符号(開始同期コード)である。
【0114】
GOP層は、画像グループの最小単位であるGOPを規定する。GOP層は、データ領域であるGOPヘッダを含む。そして、GOPヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、GOP層の開始符号(開始同期コード)である。
【0115】
ピクチャ層は、フレーム画像についての属性(例えば、ピクチャの表示順序、ピクチャタイプ等)を含む。ピクチャ層は、データ領域であるピクチャヘッダ(Picture Header)を含む。そして、ピクチャヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、ピクチャ層の開始符号(開始同期コード)である。
【0116】
スライス層は、一枚のフレーム画像を分割したスライスについて共通する属性(例えば、量子化スケール、イントラスライス情報等)を含む。スライス層は、データ領域であるスライスヘッダ(Slice Header)を含む。そして、スライスヘッダは、その先頭から32ビット長のスタートコード(Start Code)を有する。このスタートコードは、スライス層の開始符号(開始同期コード)である。
【0117】
マクロブロック層は、画素ブロックであるマクロブロックに共通する属性(例えば、動きベクトル値等)を含む。マクロブロック層は、データ領域であるマクロブロックヘッダ(Macro Block Header)を含む。ただし、このマクロブロックヘッダは、スタートコードを含まない。このマクロブロック層が含むデータは、可変長符号を含む。
ブロック層は、符号化係数(例えば、離散コサイン変換(Discrete Cosine Transform;DCT)係数等)を含む。
【0118】
なお、圧縮符号化コンテンツデータが、MPEG−2オーディオ規格に基づき圧縮符号化された圧縮符号化オーディオデータを含む場合、この圧縮符号化オーディオデータは、MPEG−2オーディオ規格によるデータ構造を有する。MPEG−2オーディオ規格によるデータ構造において、所定の開始符号は、例えば、Audio Data Transport Stream(ADTS)ヘッダである。
【0119】
開始符号検出部129は、圧縮符号化コンテンツデータを記憶部122aに供給する。また、開始符号検出部129は、各データ領域における開始符号の位置を示す開始符号位置情報を記憶部122aに供給する。具体的に、開始符号検出部129は、圧縮符号化コンテンツデータの先頭(ファイルの先頭)から、シーケンス層、GOP層、ピクチャ層、およびスライス層それぞれが含むヘッダのスタートコードまでのビット数を計数し、各ビット数を開始符号位置情報として記憶部122aに供給する。
【0120】
なお、開始符号検出部129は、各ビット数を計数するための計数開始位置を、圧縮符号化コンテンツデータの先頭ではなく、あらかじめ決定された任意の位置(例えば、シーケンスヘッダの先頭)としてもよい。
【0121】
記憶部122aは、データ取得部121aが供給する制御情報を記憶する。また、記憶部122aは、開始符号検出部129が供給する、圧縮符号化コンテンツデータと開始符号位置情報とを記憶する。また、記憶部122aは、スタートコード検出部130が供給するスタートコード位置情報を記憶する。記憶部122aは、例えば半導体記憶装置により実現される。
【0122】
平文パケット生成部125aは、記憶部122aから圧縮符号化コンテンツデータおよび開始符号位置情報を読み込む。そして、平文パケット生成部125aは、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す開始符号の位置までの範囲のデータをトランスポートストリームに変換する。例えば、平文パケット生成部125aは、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す、スライス層のスライスヘッダにおけるスタートコードの位置を含む範囲のデータを、トランスポートストリームに変換する。そして、平文パケット生成部125aは、トランスポートストリームをスタートコード検出部130に供給する。
【0123】
また、平文パケット生成部125aは、記憶部122aから圧縮符号化コンテンツデータとスタートコード位置情報と制御情報とを読み込む。そして、平文パケット生成部125aは、圧縮符号化コンテンツデータおよび制御情報をパケット変換してトランスポートストリームを生成する。そして、平文パケット生成部125aは、スタートコード位置情報が示す開始符号の位置に基づいて、そのトランスポートストリームから、その開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭1ビットとを含む符号列(ブロックデータ)を除くデータを抽出する。そして、平文パケット生成部125aは、その抽出したデータに含まれる各TSパケットに、平文(非暗号文)に対応付けられた暗号管理情報を設けて、平文パケットデータを生成する。
【0124】
具体的には、平文パケット生成部125aは、記憶部122aからMPEG−2映像ファイルデータとスライス層のスライスヘッダにおけるスタートコードの位置を示すスタートコード位置情報と制御情報とを読み込む。そして、平文パケット生成部125aは、MPEG−2映像ファイルデータおよび制御情報をトランスポートストリームに変換する。そして、平文パケット生成部125aは、このトランスポートストリームから、スライスヘッダとこのスライスヘッダの後に存在する可変長符号の少なくとも先頭1ビットとを含む符号列(ブロックデータ)を除くデータを抽出する。
【0125】
そして、平文パケット生成部125aは、各TSパケットのヘッダ部が有するトランスポートスクランブル制御領域に、スクランブルなしを示すスクランブル制御値(‘00’(2進数))を設ける。そして、平文パケット生成部125aは、TSパケットにアダプテーションフィールドとペイロードを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘11’(2進数))を設ける。また、平文パケット生成部125aは、TSパケットにペイロードのみを含む場合は、アダプテーションフィールド制御領域にアダプテーションフィールド制御値(‘01’(2進数))を設ける。このようにして、平文パケット生成部125aは、平文パケットデータを生成する。
平文パケット生成部125aは、平文パケットデータをパケット合成部126に供給する。
【0126】
スタートコード検出部130は、平文パケット生成部125aが供給するトランスポートストリームを取り込み、このトランスポートストリームから所定のデータ領域における開始符号を検出し、この開始符号の位置を示すスタートコード位置情報を記憶部122aに供給する。
【0127】
具体的には、トランスポートストリームに含まれる圧縮符号化コンテンツデータがMPEG−2ビデオ規格によるデータ構造を有する場合、所定のデータ領域は、例えば、シーケンス層から、GOP層、ピクチャ層、スライス層、マクロブロック層、ブロック層までの6層の中で、スタートコードを含む層として最下位に位置するスライス層である。スタートコード検出部130は、トランスポートストリームの先頭からスライスヘッダにおけるスタートコードまでのビット数を計数し、このビット数をスタートコード位置情報として記憶部122aに供給する。
【0128】
暗号化部123aは、記憶部122aから読み込む圧縮符号化コンテンツデータおよびスタートコード情報に基づき、圧縮符号化コンテンツデータにおける、開始符号と可変長符号の一部分とを含むブロックデータを二種類の暗号方式それぞれで暗号化し、二つ(2系統)の暗号化データを生成する。
【0129】
すなわち、第1暗号化部123a−1は、記憶部122aから圧縮符号化コンテンツデータとスタートコード位置情報とを読み込む。そして、第1暗号化部123a−1は、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭1ビットとを含む符号列(ブロックデータ)を、TSパケットのペイロードサイズに合致するように抽出する。そして、第1暗号化部123a−1は、その抽出した符号列を第1暗号方式で暗号化して第1暗号化データを生成する。
【0130】
具体的には、第1暗号化部123a−1は、記憶部122aからMPEG−2映像ファイルデータとスライス層のスライスヘッダにおけるスタートコードの位置情報とを読み込む。そして、第1暗号化部123a−1は、MPEG−2映像ファイルデータから、スライスヘッダとこのスライスヘッダの後に存在する可変長符号の少なくとも先頭1ビットとを含む符号列を、TSパケットのペイロードサイズに合致するように抽出する。そして、第1暗号化部123a−1は、現行の暗号方式で符号列を暗号化して第1暗号化データを生成する。
【0131】
第2暗号化部123a−2は、記憶部122aから圧縮符号化コンテンツデータとスタートコード位置情報とを読み込む。そして、第2暗号化部123a−2は、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭1ビットとを含む符号列(ブロックデータ)を、TSパケットのペイロードサイズに合致するように抽出する。そして、第2暗号化部123a−2は、その抽出した符号列を第2暗号方式で暗号化して第2暗号化データを生成する。
【0132】
具体的には、第2暗号化部123a−2は、記憶部122aからMPEG−2映像ファイルデータとスライス層のスライスヘッダにおけるスタートコードの位置情報とを読み込む。そして、第2暗号化部123a−2は、MPEG−2映像ファイルデータから、スライスヘッダとこのスライスヘッダの後に存在する可変長符号の少なくとも先頭1ビットとを含む符号列を、TSパケットのペイロードサイズに合致するように抽出する。そして、第2暗号化部123a−2は、新しい暗号方式で符号列を暗号化して第2暗号化データを生成する。
【0133】
図13は、受信装置30aの機能構成を示すブロック図である。同図に示すように、受信装置30aは、第1実施形態の受信装置30に対して、復号部304と、情報抽出部305と、圧縮符号化コンテンツ復号部306を、復号部304aと、情報抽出部305aと、圧縮符号化コンテンツ復号部306aとに変更した構成を有する。
【0134】
復号部304aが自装置暗号化識別子を記憶している場合、復号部304aは、第2暗号化パケットデータにおけるトランスポートプライベート領域に設けられた暗号化識別子と、あらかじめ記憶された自装置暗号化識別子とを比較し、同一である場合に第2暗号化パケットデータからペイロードを合成して第2暗号化データを生成する。そして、復号部304aは、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第2暗号化データを復号し、復号データであるブロックデータを生成する。
【0135】
なお、現行と異なる複数種類の暗号方式それぞれで暗号化された複数の暗号化パケットデータをパケット分離部302から取り込む場合は、復号部304aは、それら複数の暗号化パケットデータから、TSパケットにおけるアダプテーションフィールドが有するトランスポートプライベート領域に設けられた暗号化識別子が、あらかじめ記憶された自装置暗号化識別子と同一である暗号化パケットデータを抽出し、この暗号化パケットデータからペイロードを合成して暗号化データを生成する。そして、復号部304aは、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して暗号化データを復号し、復号データであるブロックデータを生成する。
【0136】
復号部304aが自装置暗号化識別子を記憶していない場合、復号部304aは、第1暗号化パケットデータからペイロードを合成して第1暗号化データを生成する。そして、復号部304aは、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第1暗号化データを復号し、復号データであるブロックデータを生成する。
【0137】
復号部304aは、復号データであるブロックデータを圧縮符号化コンテンツ復号部306aに供給する。
なお、復号部304aは、第1暗号化パケットデータおよび第2暗号化パケットデータそれぞれを、復号鍵を適用して復号し、正常に復号された方のデータを復号データとして圧縮符号化コンテンツ復号部306aに供給してもよい。
【0138】
情報抽出部305aは、パケット分離部302が供給する平文パケットデータを取り込み、この平文パケットデータから制御情報と圧縮符号化コンテンツデータにおいてブロックデータを除くデータとを抽出する。そして、情報抽出部305aは、制御情報をコンテンツ処理部307に供給し、圧縮符号化コンテンツデータにおいてブロックデータを除くデータを圧縮符号化コンテンツ復号部306aに供給する。
【0139】
圧縮符号化コンテンツ復号部306aは、復号部304aが供給する復号データであるブロックデータを取り込み、また、圧縮符号化コンテンツ復号部306aは、情報抽出部305aが供給する、圧縮符号化コンテンツデータにおいてブロックデータを除くデータを取り込む。そして、圧縮符号化コンテンツ復号部306aは、圧縮符号化コンテンツデータにおいてブロックデータを除くデータとブロックデータとを合成して圧縮符号化コンテンツデータを生成する。そして、圧縮符号化コンテンツ復号部306aは、圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータをコンテンツ処理部307に供給する。
【0140】
ここで、現行の暗号方式によって暗号化されたストリームのみを復号可能な受信装置が、暗号化サーバ12aが生成したストリームを取り込んだ場合について説明する。この受信装置が備える復号部は、TSパケットにおけるヘッダ部のトランスポートスクランブル制御領域に格納された“拡張スクランブル”(従来における“未定義”)(‘01’(2進数))を解釈することができない。よって、復号部は、第2暗号化パケットデータを認識することなく、第1暗号化パケットデータのペイロードを合成して第1暗号化データを生成する。そして、この受信装置の復号部は、自装置が有している復号鍵を適用して第1暗号化データを復号し、復号データである圧縮符号化コンテンツデータを生成する。
【0141】
つまり、本実施形態である受信装置30aは、取り込んだストリームのTSパケットにおけるトランスポートスクランブル制御領域の“拡張スクランブル”(従来における“未定義”)を検出すると、アダプテーションフィールドのトランスポートプライベートデータ領域に暗号化識別子があると解釈する。これにより、受信装置30aは、その暗号化識別子を抽出して適応可能な暗号方式を選択することができる。
一方、従来の受信装置は、取り込んだストリームにおけるトランスポートスクランブル制御値が“拡張スクランブル”(従来における“未定義”)(‘01’(2進数))であるTSパケットを無視することにより、第1暗号化パケットデータを復号対象のTSパケットとすることができる。
【0142】
図14は、圧縮符号化コンテンツデータの階層化されたデータ構造のうち、スライス層の概略のデータ構成を示す図である。同図において、スライス層のデータ60は、スタートコード61と、制御データ62と、複数のマクロブロック63とを含む。スタートコード61と制御データ62とは、スライス層のヘッダ情報(スライスヘッダ)である。スタートコード61は、スライス層の開始符号である。制御データ62は、例えば、フレーム画像を分割したスライスについての各種属性情報を含む。マクロブロック63は、画素の集合であるマクロブロックデータを可変長符号として含む。
同図によれば、平文パケット生成部125aは、スタートコード61と制御データ62と可変長符号のうちの先頭の所定の長さを含むデータとを、ブロックデータとして検出する。
【0143】
次に、第2実施形態におけるコンテンツ配信システムの動作について説明する。
図15は、暗号化サーバ12aが実行する処理の手順を示すフローチャートである。
ステップS91において、データ取得部121aは、コンテンツサーバ11から圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータを開始符号検出部129に供給する。また、データ取得部121aは、例えば番組編成装置からデジタル放送に関する制御情報を取り込み、この制御情報を記憶部122aに供給する。
【0144】
次に、ステップS92において、開始符号検出部129は、データ取得部121aが供給する圧縮符号化コンテンツデータを取り込む。次に、開始符号検出部129は、この圧縮符号化コンテンツデータの符号列を解析することにより、所定のデータ領域の開始符合を検出する。例えば、開始符号検出部129は、圧縮符号化コンテンツデータから、複数種類のデータ領域それぞれにおける開始符号を検出し、この開始符号の位置を特定する。次に、開始符号検出部129は、圧縮符号化コンテンツデータと、各データ領域における開始符号の位置を示す開始符号位置情報とを、記憶部122aに記憶させる。
【0145】
次に、ステップS93において、平文パケット生成部125aは、記憶部122aから圧縮符号化コンテンツデータおよび開始符号位置情報を読み込む。次に、平文パケット生成部125aは、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す開始符号の位置までの範囲のデータをトランスポートストリームに変換する。例えば、平文パケット生成部125aは、圧縮符号化コンテンツデータの先頭から、開始符号位置情報が示す、スライス層のスライスヘッダにおけるスタートコードの位置を含む範囲のデータを、トランスポートストリームに変換する。次に、平文パケット生成部125aは、トランスポートストリームをスタートコード検出部130に供給する。
【0146】
次に、ステップS94において、スタートコード検出部130は、平文パケット生成部125aが供給するトランスポートストリームを取り込み、このトランスポートストリームから所定のデータ領域における開始符号を検出し、この開始符号の位置を示すスタートコード位置情報を記憶部122aに記憶させる。
【0147】
次に、平文パケット生成部125aは、記憶部122aから圧縮符号化コンテンツデータとスタートコード位置情報と制御情報とを読み込む。そして、平文パケット生成部125aは、圧縮符号化コンテンツデータおよび制御情報をパケット変換してトランスポートストリームを生成する。そして、平文パケット生成部125aは、スタートコード位置情報が示す開始符号の位置に基づいて、そのトランスポートストリームから、その開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭1ビットとを含む符号列(ブロックデータ)を除くデータを抽出する。そして、平文パケット生成部125aは、その抽出したデータに含まれる各TSパケットに、平文(非暗号化)に対応付けられた暗号管理情報を設けて、平文パケットデータを生成する。平文パケット生成部125aは、平文パケットデータをパケット合成部126に供給する。
【0148】
次に、ステップS95において、暗号化部123aは、記憶部122aから読み込む圧縮符号化コンテンツデータおよびスタートコード情報に基づき、圧縮符号化コンテンツデータにおける、開始符号と可変長符号の一部分とを含むブロックデータを二種類の暗号方式それぞれで暗号化し、二つ(2系統)の暗号化データを生成する。
すなわち、第1暗号化部123a−1は、記憶部122aから圧縮符号化コンテンツデータとスタートコード位置情報とを読み込む。次に、第1暗号化部123a−1は、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭1ビットとを含む符号列(ブロックデータ)を、TSパケットのペイロードサイズに合致するように抽出する。次に、第1暗号化部123a−1は、その抽出した符号列を第1暗号方式で暗号化して第1暗号化データを生成する。
【0149】
また、第2暗号化部123a−2は、記憶部122aから圧縮符号化コンテンツデータとスタートコード位置情報とを読み込む。次に、第2暗号化部123a−2は、圧縮符号化コンテンツデータから、定型の開始符号とこの開始符号よりも後の可変長符号のうち少なくとも先頭1ビットとを含む符号列(ブロックデータ)を、TSパケットのペイロードサイズに合致するように抽出する。次に、第2暗号化部123a−2は、その抽出した符号列を第2暗号方式で暗号化して第2暗号化データを生成する。
【0150】
ステップS96からステップS98までの処理は、第1実施形態におけるステップS33からステップS35までの処理と同様であるため、ここではそれらの説明を省略する。
【0151】
図16は、受信装置30が実行する処理の手順を示すフローチャートである。
ステップS101およびステップS102の処理は、第1実施形態におけるステップS71およびステップS72の処理と同様であるため、ここではそれらの説明を省略する。
【0152】
ステップS103において、復号部304aが自装置暗号化識別子を記憶している場合、復号部304aは、第2暗号化パケットデータにおけるトランスポートプライベート領域に設けられた暗号化識別子と、あらかじめ記憶された自装置暗号化識別子とを比較し、同一である場合に第2暗号化パケットデータからペイロードを合成して第2暗号化データを生成する。次に、復号部304aは、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第2暗号化データを復号し、復号データであるブロックデータを生成する。
また、復号部304aが自装置暗号化識別子を記憶していない場合、復号部304aは、第1暗号化パケットデータからペイロードを合成して第1暗号化データを生成する。次に、復号部304aは、復号鍵記憶部303から復号鍵を読み込み、この復号鍵を適用して第1暗号化データを復号し、復号データであるブロックデータを生成する。
次に、復号部304aは、復号データであるブロックデータを圧縮符号化コンテンツ復号部306aに供給する。
【0153】
また、情報抽出部305aは、パケット分離部302が供給する平文パケットデータを取り込み、この平文パケットデータから制御情報と圧縮符号化コンテンツデータにおいてブロックデータを除くデータとを抽出する。次に、情報抽出部305aは、制御情報をコンテンツ処理部307に供給し、圧縮符号化コンテンツデータにおいてブロックデータを除くデータを圧縮符号化コンテンツ復号部306aに供給する。
【0154】
次に、ステップS104において、圧縮符号化コンテンツ復号部306aは、復号部304aが供給する復号データであるブロックデータを取り込み、また、圧縮符号化コンテンツ復号部306aは、情報抽出部305aが供給する、圧縮符号化コンテンツデータにおいてブロックデータを除くデータを取り込む。次に、圧縮符号化コンテンツ復号部306aは、圧縮符号化コンテンツデータにおいてブロックデータを除くデータとブロックデータとを合成して圧縮符号化コンテンツデータを生成する。
【0155】
次に、ステップS105において、圧縮符号化コンテンツ復号部306aは、圧縮符号化コンテンツデータをコンテンツデータに復号し、このコンテンツデータをコンテンツ処理部307に供給する。
【0156】
以上説明したとおり、第2実施形態における暗号化サーバ12aは、圧縮符号化コンテンツデータの復号処理において同期をとるために必要な情報を含むブロックデータを暗号化してストリームを生成する。よって、正しい復号鍵を有さない受信装置30aは、復号処理において同期をとることができず、圧縮符号化コンテンツデータを復号することができない。
また、暗号化サーバ12aは、可変長符号の一部分を暗号化するため、この可変長符号の一部分は秘匿化される。また、暗号化サーバ12aは、暗号化されない可変長符号列について符号の区切りを特定することができないため、この暗号化されない可変長符号列全体の安全性(秘匿性)を高く保つことができる。
また、暗号化サーバ12aは、圧縮符号化コンテンツデータのうちブロックデータのみを複数種類の暗号方式の暗号化アルゴリズムによって暗号化するため、圧縮符号化コンテンツデータ全体を複数種類の暗号方式で暗号化するよりも、符号量を大幅に少なくすることができる。よって、伝送路の使用帯域を圧迫することがない。
【0157】
また、受信装置30aは、暗号化サーバ12aが暗号化して生成したストリームを取り込み、自装置が復号可能な暗号化パケットを復号することにより、ストリームからコンテンツデータを生成することができる。
【0158】
したがって、本発明の第2実施形態によれば、例えば、デジタル放送におけるコンテンツ配信サービス運用中における暗号方式の切り替えにおいて、この切り替え期間の、暗号化コンテンツデータの安全性(秘匿性)を高く保ち、配信における伝送路の帯域消費量を低く抑え、且つ現行の暗号方式と新しい暗号方式との混在を実現することができる。これによって、受信装置30aの暗号方式の円滑な更新および切り替えを実現することができる。
【0159】
なお、上述した各実施形態における暗号化サーバ12,12aの一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための暗号化プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された暗号化プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
【0160】
また、各実施形態における受信装置30,30aの一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための復号プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された復号プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。
【0161】
コンピュータシステムとは、オペレーティング・システム(Operating System;OS)や周辺装置のハードウェアを含むものである。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピュータ読み取り可能な記録媒体とは、インターネット等のコンピュータネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバ装置やクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記の暗号化プログラムおよび復号プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【0162】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。