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