図1は、実施の形態に係る記録再生装置10の構成を示す。この記録再生装置10は、デジタル放送を受信する受信装置と、受信したデジタル放送の番組(コンテンツ)を記憶媒体に記録する記録装置と、記憶媒体に記録した番組を再生する再生装置の機能を有する。本実施の形態では、記憶媒体を備えた記憶装置の例として、記録再生装置10に着脱可能に構成されたリムーバブルハードディスクドライブ(HDD)ユニット300を利用する。
本実施の形態の記録再生装置10は、受信した番組の映像/音声データ(以下、単に「番組データ」と呼ぶ)をリムーバブルHDDユニット300に記録する際に、番組の著作権を保護するために、番組データを暗号鍵により暗号化してから記録する。以降、番組のデータを暗号化する鍵を「コンテンツ鍵」と呼ぶ。番組データは、いずれの暗号化方式で暗号化されてもよいが、本実施の形態では共通鍵方式で暗号化する場合について説明する。したがって、番組データを暗号化する鍵と復号する鍵は同一である。暗号化した番組データは、漏洩しても解読される危険性が低いので、通常のハードディスクのリード/ライトコマンドにより入出力する。しかし、番組データを再生するために必要なコンテンツ鍵は、漏洩してはならない機密性の高いデータであるから、機密性を重視した特別な入出力プロトコル(以下、「セキュアプロトコル」という)を用いて入出力する。本実施の形態では、公開鍵暗号方式を利用したセキュアプロトコルを採用する。本実施の形態では、着脱可能な記憶媒体に番組を記録するので、番組の記録又は再生の前に、機器の認証処理が必要となる。そのため、本実施の形態のセキュアプロトコルでは、機器の証明書をもとに認証処理を行い、証明書の正当性が確認されると、機密データの送受信を行うためのセッション(以下、「セキュアセッション」という)を確立する。
本実施の形態の記録再生装置10は、通常の番組データの記録・再生の他に、恒常的な記録は許されないが、指定された時間のみ一時的に蓄積して視聴することが許される番組を取り扱う、一時蓄積方式の記録・再生を実現する。記録再生装置10は、番組データに記述された蓄積許容時間や番組基準時刻などを利用して、時間的制約が付いたライセンスを管理する。一時蓄積方式では、限られた時間内でのみ視聴が許されるので、コンテンツ鍵を記憶装置へ記録せずに、記録再生装置10内のみで管理する。これにより、復号鍵の漏洩の危険性をより低減することができる。
また、記録再生装置10が、リムーバブルHDDユニット300に記録された通常の番組データを再生するとき、まず、セキュアプロトコルにより、リムーバブルHDDユニット300からコンテンツ鍵を読み出す必要があるが、公開鍵暗号の解読はかなりの計算量があり、比較的長い処理時間を要する。そのため、ユーザが再生開始を指示してからコンテンツ鍵の読み出しを開始すると、ユーザが再生開始を指示してから実際に再生が開始されるまでに遅延が生じ、ユーザを待たせることになってしまう。これに対して、本実施の形態の一時蓄積方式では、コンテンツ鍵を記憶装置から取得せず、記録再生装置10に保持されたコンテンツ鍵を利用するので、再生開始までの待ち時間を軽減することができる。
記録再生装置10は、リモコン受光部100、システムコントローラ102、表示パネル104、MPEG−TSデコーダ106、D/Aコンバータ108、表示装置110、リムーバブルHDDスロット112、リムーバブルHDD挿入検出部114、バッファメモリ116、アンテナ118、チューナ120、伝送路復号部122、TS分離・選択部124、暗号処理部の一例であるPKIセキュアモジュール200を備える。
リモコン受光部100は、ユーザが記録再生装置10に対して指示を入力するためのリモートコントローラ(図示せず)から発せられる光を受信して、ユーザからの指示を取得する。システムコントローラ102は、記録再生装置10の各構成を制御する。システムコントローラ102は、リムーバブルHDDユニット300に対する通常の記録・再生を制御するとともに、本実施の形態の一時蓄積方式の記録・再生を制御する。表示パネル104は、各種制御情報などを表示する。MPEG−TSデコーダ106は、MPEG−TS信号をデコードする。D/Aコンバータ108は、デジタル信号をアナログ信号に変換する。表示装置110は、デコードされ、アナログ信号に変換された番組データを表示する。
リムーバブルHDDスロット112は、番組データを記憶する記憶装置であるリムーバブルHDDユニット300を接続するためのスロットである。リムーバブルHDD挿入検出部114は、リムーバブルHDDスロット112に対するリムーバブルHDDユニット300の着脱を検出する。バッファメモリ116は、TS分離・選択部124により分離・選択されたMPEG−TS信号などを一時的に格納するなど、記録再生装置10の動作に必要なデータを格納する記憶領域として機能する。
アンテナ118は、デジタル変調された放送信号を受信する。チューナ120は、システムコントローラ102からの指示に従って、アンテナ118で受信された放送信号から、ユーザが選択したチャンネルの信号を抽出する。伝送路復号部122は、チューナ120により抽出された信号を、MPEG2で符号化された映像音声データの形式に復号し、TS分離・選択部124へ出力する。TS分離・選択部124は、番組データをリムーバブルHDDユニット300に蓄積しないとき、MPEG−トランスポートストリーム信号をMPEG−TSデコーダ106へ出力する。MPEG−TSデコーダ106は、TS分離・選択部124により分離されたMPEG−TS信号をデコードする。D/Aコンバータ108は、MPEG−TSデコーダ106によりデコードされたデジタル信号をアナログ信号に変換する。表示装置110は、D/Aコンバータ108により変換されたアナログの番組データを表示する。PKIセキュアモジュール200は、リムーバブルHDDユニット300との間で、セキュアプロトコルによる通信を制御する。
PKIセキュアモジュール200は、入出力制御部202、証明書認証部204、鍵一時保持部208、証明書保持部210、鍵生成部212、ライセンスデータ一時保持部214、ライセンスデータ生成部216、データ暗号・復号処理部218、一時蓄積制御部222、一時蓄積情報保持部224、タイマー226を含む。これらの構成の一部は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
入出力制御部202は、PKIセキュアモジュール200内の各構成と外部との間でデータの入出力を制御する。PKIセキュアモジュール200内には、コンテンツの暗号鍵やライセンスデータなどの機密情報が格納されているので、機密情報の漏洩を防止するために、外部から直接アクセスできないように構成されている。証明書認証部204は、リムーバブルHDDユニット300から送られた証明書の正当性を認証する。鍵一時保持部208は、セキュアセッションで用いる鍵を一時的に保持する。証明書保持部210は、記録再生装置10の証明書を保持する。この証明書は、認証局で認証を受けたもので、記録再生装置10の公開鍵が埋め込まれており、認証局の秘密鍵で暗号化されている。鍵生成部212は、セキュアセッションで用いる鍵を生成する。ライセンスデータ一時保持部214は、リムーバブルHDDユニット300に記録された番組を再生するときに、リムーバブルHDDユニット300から受け取った番組のライセンスデータを一時的に保持する。ライセンスデータ生成部216は、リムーバブルHDDユニット300に番組を記録するときに、コンテンツ鍵やライセンス情報を含むライセンスデータを生成する。データ暗号・復号処理部218は、データの暗号化処理や、暗号化されたデータの復号化処理を行う。
一時蓄積制御部222は、一時的に蓄積が許容された番組の記録・再生を制御する。一時蓄積情報保持部224は、一時蓄積中の番組のコンテンツ鍵やライセンス情報などを保持する。タイマー226は、一時蓄積中の番組の再生許容時間を管理するために用いられる。一時蓄積の許容時間は、番組データのストリーム中にあるコンテント利用記述子に記述されている。一時蓄積制御部222は、この許容時間にしたがって記録・再生を制御するために、MPEG−TSパケット中の番組基準クロック(Program Clock Reference:PCR)と、タイマー226により計測される現在時刻情報とを利用して時間を管理する。
図2は、PKIセキュアモジュールを内蔵したリムーバブルHDDユニット300の構成を示す。このリムーバブルHDDユニット300は、PKIセキュアモジュール330を内蔵しており、PKI方式の暗号化入出力処理に対応している。リムーバブルHDDユニット300は、ATAインタフェース302、コマンドセレクタ304、ハードディスクコントローラ306、ハードディスク記憶領域308、PKIセキュアモジュール330を備える。これらの構成も、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
ATAインタフェース302は、ANSI(American National Standards Institute)の標準規格であるATA(AT Attachment)に準拠したコマンドを受け付ける。コマンドセレクタ304は、記録再生装置10が発行したコマンドを受けて、それが通常のコマンドであるか、セキュアプロトコルのコマンドであるかを判断し、通常のコマンドはハードディスクコントローラ306へ、セキュアプロトコルのコマンドはPKIセキュアモジュール330へ送る。ハードディスクコントローラ306は、通常の入出力コマンドを受けて、ハードディスク記憶領域308に対するデータの書き込み又は読み出しを行う。PKIセキュアモジュール330は、記録再生装置10との間で、セキュアプロトコルによる通信を制御する。
PKIセキュアモジュール330は、入出力制御部310、証明書認証部312、鍵一時保持部316、証明書保持部318、鍵生成部320、ライセンスデータ記憶領域322を含む。入出力制御部310は、PKIセキュアモジュール330内の各構成と外部との間でデータの入出力を制御する。PKIセキュアモジュール330内には、コンテンツの暗号鍵やライセンスデータなどの機密情報が格納されているので、機密情報の漏洩を防止するために、外部から直接アクセスできないように構成されている。証明書認証部312は、記録再生装置10から送られた証明書の正当性を認証する。鍵一時保持部316は、セキュアセッションで用いる鍵を一時的に保持する。証明書保持部318は、リムーバブルHDDユニット300の証明書を保持する。この証明書は、認証局で認証を受けたもので、リムーバブルHDDユニット300の公開鍵が埋め込まれており、認証局の秘密鍵で暗号化されている。鍵生成部320は、セキュアセッションで用いる鍵を生成する。ライセンスデータ記憶領域322は、リムーバブルHDDユニット300に記録された番組を再生するためのコンテンツ鍵を含むライセンスデータを格納する。
図3は、リムーバブルHDDユニット300の記憶領域のアドレス構成の例を示す。ハードディスクのアドレスは、通常、LBA(Logical Block Address)で表現される。図3に示した例において、LBAの上位(0〜M)は、図2に示したハードディスク記憶領域308に相当する記憶領域である。この領域は、通常のRead/Writeコマンドでアクセス可能である。それに対して、LBAの下位(M+1〜M+N)は、図2に示したライセンスデータ記憶領域322に相当する記憶領域である。この領域は、図10及び図11に示す特定のコマンド手順のみでしかアクセスできないセキュアな領域である。
図4は、リムーバブルHDDユニット300に番組を記録する場合のディレクトリ/ファイル構成の例を示す。録画された番組に関する全情報は、番組ファイル管理ディレクトリの配下に存在する。番組管理ファイル400は、録画されている番組を管理するためのデータを格納するファイルである。暗号化映像音声データファイル402は、番組のデータを、暗号化されたMPEG−TS信号の形式で格納するファイルである。
一時蓄積ファイル406は、蓄積してから所定の時間の間のみの視聴が許された視聴制限のある暗号化番組データを格納するファイルである。タイムサーチテーブル408は、一時蓄積ファイル406に格納された番組の再生時刻と、その時刻に対応する一時蓄積ファイル406内の論理アドレスマップを記録するファイルであり、一時蓄積ファイル406のシーク時に参照される。ライセンスファイル404は、録画された番組ごとに設けられており、番組の利用要件などのライセンス情報や、暗号化された番組のデータを復号するための復号鍵を含むライセンスデータを格納するファイルである。
番組管理ファイル400、暗号化映像音声データファイル402、一時蓄積ファイル406、及びタイムサーチテーブル408は、図2及び図3に示したハードディスク記憶領域308に記録され、ライセンスファイル404は、ライセンスデータ記憶領域322に記録される。番組のデータ自体は、暗号化されて入出力されるので、通常のリード/ライトコマンドによりハードディスク記憶領域308に記録されても漏洩の危険性は低い。したがって、本実施の形態では、ライセンスデータのみをセキュアプロトコルによりライセンスデータ記憶領域322に記録する。これにより、ライセンスデータの機密性を充分に確保しつつ、番組データは高速に読み書きすることができる。
図5は、番組管理ファイル400の構成例を示す。この番組管理ファイル400は、リムーバブルHDDユニット300に録画されている全番組の管理情報を記録したファイルである。まず、総記録番組数を記録している。ここでは総数はNである。その後に、暗号化データファイル名と、それに対応するライセンスファイル名の対を、総数N個分記録している。この番組管理ファイル400を参照することにより、ユーザがハードディスクに記録された番組を検索する場合に、迅速かつ的確に検索することが可能となる。また、暗号化データとライセンスとの対応付けを管理しているのもこのファイルである。
図6は、タイムサーチテーブル408の構成例を示す。タイムサーチテーブル408は、一時蓄積ファイル406に格納された番組の蓄積開始からの経過時間情報を格納する経過時間欄410、その経過時間に対応する番組データのMPEG−TSパケットのPCR値を格納するPCR欄412、その経過時間に対応する一時蓄積ファイル406の論理アドレスを保持するアドレス欄414を含む。図6に示した例では、1分ごとにレコードを作成しているが、任意の時間間隔でレコードを作成してもよい。このタイムサーチテーブル408は、番組の途中まではライセンスが無効で、番組の途中からライセンスが有効となる場合に、ライセンスが有効な部分を頭出しするために利用される。例えば、番組の開始から10分後以降のみ視聴が可能な場合、タイムサーチテーブル408を検索して、開始から10分経過した部分の一時蓄積ファイル406における論理アドレスを取得し、その論理アドレスから再生を開始することができる。
図7は、一時蓄積情報保持部224に保持される一時蓄積ファイルのためのライセンスデータのデータ構造の例を示す。ライセンスデータは、番組の利用要件などを示すライセンス情報と、番組データを暗号化・復号化するためのコンテンツ鍵を含む。ライセンス情報は、デジタルコピー記述子(コピー制御情報)、コンテント利用記述子(一時蓄積情報)、パレンタルレート記述子(年齢制限情報)等を含む。コンテンツ利用記述子は、一時蓄積許容時間欄及び蓄積最終時刻欄を含む。一時蓄積許容時間欄には、番組データのMPEG−TSのコンテンツ利用記述子中に記述された一時蓄積許容時間が格納される。ユーザや記録再生装置10が蓄積許容時間を定める場合は、定められた許容時間が格納される。蓄積最終時刻欄には、後述するように、番組の一時蓄積が終了した時刻が格納される。
図8は、記録再生装置10がリムーバブルHDDユニット300に番組データを記録するときの動作を概略的に示すフローチャートである。本図では、通常の記録手順について説明し、一時蓄積方式については後述する。まず、記録再生装置10は、デジタル放送波から番組データを取得する(S100)。具体的には、アンテナ118が受信した放送信号から、ユーザが選択したチャンネルをチューナ120により抽出し、伝送路復号部122により復号し、TS分離・選択部124によりMPEG−TS信号を分離して、PKIセキュアモジュール200へ転送する。PKIセキュアモジュール200に転送された番組データは、入出力制御部202を介してデータ暗号・復号処理部218に送られる。ライセンスデータ生成部216は、番組データを暗号化するためのコンテンツ鍵を生成するとともに(S102)、MPEG−TS信号から利用要件などのライセンス情報を抽出して、番組のライセンスデータを生成する(S104)。
データ暗号・復号処理部218は、番組データをコンテンツ鍵で暗号化する(S106)。暗号化された番組データは、入出力制御部202、リムーバブルHDDスロット112を介して、リムーバブルHDDユニット300に送られる。リムーバブルHDDユニット300内では、暗号化された番組データは、ATAインタフェース302、コマンドセレクタ304、ハードディスクコントローラ306を介して、ハードディスク記憶領域308に記録される(S108)。録画が継続している間(S110のN)、番組データの暗号化手順(S106)と書き込み手順(S108)が繰り返される。録画が終了すると(S110のY)、記録再生装置10がリムーバブルHDDユニット300を認証し(S112)、正当であると判断された場合は、そのリムーバブルHDDユニット300にライセンスデータを転送して記録する(S114)。リムーバブルHDDユニット300の認証及びライセンスデータの転送は、公開鍵暗号方式に基づいたセキュアプロトコルにより行われる。認証処理(S112)とライセンスデータの転送処理(S114)の詳細については後述する。
最後に、アプリケーションプログラムが、番組管理ファイル400を更新し、番組の暗号化データとライセンスデータとの対応付けを管理する(S116)。番組管理ファイル400は、記録再生装置10側に読み出して更新してから再びリムーバブルHDDユニット300に書き込んでもよいし、ハードディスクコントローラ306などにコマンドを送って更新させてもよい。
本図では、番組データの録画終了後に、記録再生装置10のPKIセキュアモジュール200からリムーバブルHDDユニット300のPKIセキュアモジュール330へのライセンスデータの転送処理を行ったが、これは録画終了後である必要性はなく、S104でライセンスデータが生成された後は、暗号化番組データの転送中にライセンスデータの転送処理を行ってもよいし、ライセンスデータの転送処理を行った後に暗号化番組データの転送を開始しても良い。この場合、ライセンスデータ転送処理の間、暗号化番組データはバッファメモリ116に蓄えておくことになる。
図9は、記録再生装置10がリムーバブルHDDユニット300に記録された番組データを再生するときの動作を概略的に示すフローチャートである。本図では、通常の再生手順について説明し、一時蓄積された番組の再生手順については後述する。まず、再生する番組に対応するライセンスデータを読み出すために、リムーバブルHDDユニット300が記録再生装置10を認証し(S132)、認証に成功すると、リムーバブルHDDユニット300のライセンスデータ記憶領域322に記録されたライセンスデータが、記録再生装置10のPKIセキュアモジュール200に転送される(S134)。記録再生装置10の認証及びライセンスデータの転送は、公開鍵暗号方式に基づいたセキュアプロトコルにより行われる。認証処理(S132)とライセンスデータの転送処理(S134)の詳細については後述する。転送されたライセンスデータは、ライセンスデータ一時保持部214に保持される。
次に、暗号化された番組データがハードディスク記憶領域308から読み出され、記録再生装置10に送られる(S136)。記録再生装置10は、データ暗号・復号処理部218により、ライセンスデータ一時保持部214に保持されたライセンスデータに含まれるコンテンツ鍵を用いて、暗号化番組データを復号する。復号された番組データは、MPEG−TSデコーダ106、D/Aコンバータ108を介して、表示装置110に出力されて再生される(S138)。再生が継続している間(S140のN)、暗号化番組データの読み出し手順(S136)と復号/再生手順(S138)が繰り返される。番組の再生が終了するか、ユーザにより再生の終了が指示されると(S140のY)、処理を終了する。
図10は、図8に示したライセンスデータの記録のための認証処理及びライセンスデータ転送処理の一例を簡易的に示す。本図に示した記録のためのセキュアセッションを、以下、「記録セッション」と呼ぶ。本実施の形態では、記録セッションは、公開鍵暗号方式に基づいたセキュアプロトコルにより実行される。PKIのプロトコルの詳細は、例えば、特開2003−248557号公報(特許文献2)に開示されている。実際には、記録再生装置10側のコントローラ及びPKIセキュアモジュール200と、リムーバブルHDDユニット300側のコントローラ及びPKIセキュアモジュール330との間でコマンドやデータがやり取りされるが、本図では簡略化して、記録再生装置10とリムーバブルHDDユニット300との間のやり取りとして記述する。
まず、記録再生装置10がリムーバブルHDDユニット300を認証して、記録セッションを確立する手順(S112)の詳細について説明する。ライセンスデータをリムーバブルHDDユニット300に記録するための記録セッションが開始されると(S200)、まず、記録再生装置10がリムーバブルHDDユニット300に対して証明書の出力を要求する(S202)。リムーバブルHDDユニット300は、その要求に従い、証明書保持部318に格納してある証明書を出力する(S204)。記録再生装置10は、証明書認証部204により、受け取った暗号化証明書を、PKIセキュアモジュール200に埋め込まれている認証局の公開鍵で復号し、証明書の正当性をチェックする(S206)。証明書が正当なものであれば、鍵生成部212でセッション鍵を生成し(S208)、鍵一時保持部208に保持するとともに、証明書に埋め込まれていたリムーバブルHDDユニット300の公開鍵でセッション鍵を暗号化して出力する(S210)。このセッション鍵は、記録セッションにおいて有効な一時的な共通鍵である。リムーバブルHDDユニット300は、受け取った暗号化セッション鍵を、鍵一時保持部316において、リムーバブルHDDユニット300の秘密鍵で復号し、保持する(S212)。この時点で、記録再生装置10側とリムーバブルHDDユニット300側で、セッション鍵を共有したことになる。
つづいて、記録再生装置10がリムーバブルHDDユニット300にライセンスデータを転送する手順(S114)の詳細について説明する。記録再生装置10は、リムーバブルHDDユニット300に対して、チャレンジ鍵の出力を要求する(S250)。リムーバブルHDDユニット300は、その要求に従い、鍵生成部320によりチャレンジ鍵を生成する(S252)。リムーバブルHDDユニット300は、そのチャレンジ鍵を鍵一時保持部316に保持しつつ、鍵一時保持部316に保持しているセッション鍵によりチャレンジ鍵を暗号化して出力する(S254)。記録再生装置10は、受け取った暗号化チャレンジ鍵を、鍵一時保持部208において、鍵一時保持部208に保持しているセッション鍵で復号し、保持する(S256)。次に、記録再生装置10は、リムーバブルHDDユニット300に転送すべきライセンスデータをライセンスデータ一時保持部214から読み出して、そのライセンスデータをチャレンジ鍵で暗号化して出力する(S258)。リムーバブルHDDユニット300は、受け取った暗号化ライセンスデータを、ライセンスデータ記憶領域322において、鍵一時保持部316に保持しているチャレンジ鍵で復号し、書き込む(S260)。以上の手順で、一連の記録セッションが終了する(S262)。
図11は、図9に示したライセンスデータの読み出しのための認証処理及びライセンスデータ転送処理の一例を簡易的に示す。本図に示した再生のためのセキュアセッションを、以下、「再生セッション」と呼ぶ。本実施の形態では、再生セッションは、公開鍵暗号方式に基づいたセキュアプロトコルにより実行される。本図でも、再生セッションを簡略化して、記録再生装置10とリムーバブルHDDユニット300との間のやり取りとして記述する。再生セッションの手順は、図8に示した記録セッションの手順において、記録再生装置10とリムーバブルHDDユニット300の立場を逆転させたものとなる。
まず、リムーバブルHDDユニット300が記録再生装置10を認証して、再生セッションを確立する手順(S132)の詳細について説明する。ライセンスデータをリムーバブルHDDユニット300から読み出すための再生セッションが開始されると(S300)、まず、リムーバブルHDDユニット300が記録再生装置10に対して証明書の出力を要求する(S302)。記録再生装置10は、その要求に従い、証明書保持部210に格納してある証明書を出力する(S304)。リムーバブルHDDユニット300は、証明書認証部312により、受け取った暗号化証明書を、PKIセキュアモジュール330に埋め込まれている認証局の公開鍵で復号し、証明書の正当性をチェックする(S306)。証明書が正当なものであれば、鍵生成部320でセッション鍵を生成し(S308)、鍵一時保持部316に保持するとともに、証明書に埋め込まれていた記録再生装置10の公開鍵でセッション鍵を暗号化して出力する(S310)。このセッション鍵は、再生セッションにおいて有効な一時的な共通鍵である。記録再生装置10は、受け取った暗号化セッション鍵を、鍵一時保持部208において、記録再生装置10の秘密鍵で復号し、保持する(S312)。この時点で、リムーバブルHDDユニット300側と記録再生装置10側で、セッション鍵を共有したことになる。
つづいて、リムーバブルHDDユニット300が記録再生装置10にライセンスデータを転送する手順(S134)の詳細について説明する。リムーバブルHDDユニット300は、記録再生装置10に対して、チャレンジ鍵の出力を要求する(S350)。記録再生装置10は、その要求に従い、鍵生成部212によりチャレンジ鍵を生成する(S352)。記録再生装置10は、そのチャレンジ鍵を鍵一時保持部208に保持しつつ、鍵一時保持部208に保持しているセッション鍵によりチャレンジ鍵を暗号化して出力する(S354)。リムーバブルHDDユニット300は、受け取った暗号化チャレンジ鍵を、鍵一時保持部316において、鍵一時保持部316に保持しているセッション鍵で復号し、保持する(S356)。次に、リムーバブルHDDユニット300は、記録再生装置10に転送すべきライセンスデータをライセンスデータ記憶領域322から読み出して、そのライセンスデータをチャレンジ鍵で暗号化して出力する(S358)。記録再生装置10は、受け取った暗号化ライセンスデータを、ライセンスデータ一時保持部214において、鍵一時保持部208に保持しているチャレンジ鍵で復号し、保持する(S360)。以上の手順で、一連の再生セッションが終了する(S362)。
図10及び図11に示したライセンスデータの送受信の手順は、セキュリティ強度の高いものであるが、それ故に計算量が多く、時間がかかるものである。従って、図9に示した番組の再生手順を行うと、実際にユーザが番組再生を指定してから、表示装置110に番組が表示されるまでに時間がかかり、それがユーザにとってストレスとなる場合がある。従って、本実施の形態では、後述するように、一時蓄積方式の再生時に限って、認証とライセンスデータの転送を省略し、記録再生装置10側で保持しているライセンスデータを利用する。これにより、ユーザが再生を要求してから、実際に再生が開始されるまでの遅延を軽減することができる。
以上、記録再生装置10における通常の記録・再生方法について説明した。つづいて、一時蓄積方式による記録・再生について述べる。前述したように、デジタル放送においては、コピー制御情報によって、番組の記録・複製の許否が制御される。複製が禁止されている番組であっても、タイムシフト再生などを実現するために、一時的な蓄積が許される場合がある。一時的な番組の蓄積を実現したがために、セキュリティホールを生じ、番組を不正に複製されるようでは本末転倒であるから、そのような問題を解決するために、本実施の形態の記録再生装置10は、番組の著作権を充分に保護しつつ、番組を一時的に蓄積する技術を実現する。
図12は、一時蓄積された番組のライセンスの状態の例を示す。タイマーは、番組の一時蓄積を開始した時点の番組データ中に記述されているPCRの値で初期化されて起動される。PCRは、27MHzでカウントされるプログラム基準参照時刻であり、蓄積開始時に、タイマー226の時刻とPCRの時刻とを同期させている。したがって、一時蓄積された番組データ中、タイマー226が示す現在時刻から蓄積許容時間分さかのぼった値のPCRが格納された部分までが、視聴可能なストリームとなる。すなわち、タイマー226の値からPCRの値を差し引いた値が、蓄積許容時間内であればライセンスは有効であり、蓄積許容時間を超えていればライセンスは無効である。また、一時蓄積が終了している番組について、タイマー226の値から蓄積最終時刻(番組データの最終のPCR値)を差し引いた値が、蓄積許容時間を超えていれば、番組全体についてライセンスは無効となっており、この場合、ライセンスが失効しているものとする。
図13は、タイムシフト再生(時差視聴)時のライセンスの状態の例を示す。仮に、蓄積許容時間を90分とすると、再生要求の指示を受けた時点からさかのぼって90分間に蓄積された番組を視聴できるようライセンス状態が制御される。図13(a)は、蓄積を開始してから許容時間内に再生が要求された例を示す。この場合、蓄積中の番組の全ての部分に対してライセンスが有効となる。図13(b)は、蓄積を開始し、許容時間を超過してから再生が要求された例を示す。蓄積を開始し、再生要求の指示を受けた時点で、開始から120分経過している場合、直前の90分間分に蓄積した部分に対するライセンスは有効であるが、それ以前の30分はライセンス無効とする。
図14は、一時蓄積方式による番組の記録手順を示す。記録再生装置10が、起動時に、又はユーザからの要求により、番組の一時蓄積を開始すると、PKIセキュアモジュール200が番組データを取得する(S400)。具体的には、TS分離・選択部124で分離された選択中の番組の番組データが、PKIセキュアモジュール200へ転送され、入出力制御部202を介してデータ暗号・復号処理部218に送られる。ライセンスデータ生成部216は、番組データ中に記述されているコピー制御情報やTSパケットのPCRなどを抽出する(S402)。次に、ライセンスデータが既に生成されているか否かが判断される(S404)。一時蓄積情報保持部224にライセンスデータが保持されていれば(S404のY)、ライセンスデータの生成処理をスキップし、番組データの暗号化処理(S412)に移る。一時蓄積情報保持部224にライセンスデータが保持されていなければ(S404のN)、ライセンスデータがまだ生成されていないので、ライセンスデータ生成部216は、番組データを暗号化するためのコンテンツ鍵を生成するとともに(S406)、MPEG−TS信号から利用要件などのライセンス情報を抽出して、番組のライセンスデータを生成する(S408)。このとき、ライセンス情報の蓄積終了時刻は、0で初期化される。また、タイマー226が初期化され、起動される(S410)。
つづいて、データ暗号・復号処理部218は、番組データをコンテンツ鍵で暗号化する(S412)。暗号化された番組データは、入出力制御部202、リムーバブルHDDスロット112を介して、リムーバブルHDDユニット300に送られる。リムーバブルHDDユニット300内では、暗号化された番組データは、ATAインタフェース302、コマンドセレクタ304、ハードディスクコントローラ306を介して、ハードディスク記憶領域308に一時蓄積ファイルとして記録される(S414)。システムコントローラ内で実現される録画アプリケーションは、所定の時間間隔でタイムサーチテーブル408を作成する。録画アプリケーションは、タイマー226から取得される経過時間情報と、一時蓄積制御部222から取得されるPCR値と、暗号化された番組データのデータサイズをカウントすることにより得られる論理アドレスとをタイムサーチテーブル408に記録する(S416)。録画が継続している間(S418のN)、S412からS416の手順が繰り返される。
録画が終了すると(S418のY)、一時蓄積制御部222は、一時蓄積情報保持部224に保持されたライセンス情報に、蓄積終了時刻を記録する(S420)。蓄積終了時刻は、蓄積が終了するときのTSパケットのPCR値であり、一時蓄積ファイル406のライセンスが失効しているか否かを判定するための利用される。このように、一時蓄積方式では、ライセンスデータはPKIセキュアモジュール200内で管理され、リムーバブルHDDユニット300には転送されない。これにより、セキュリティ性をさらに向上させることができる。
図15は、一時蓄積方式により記録された番組の再生手順を示す。一時蓄積されている番組の再生が要求されたとき、一時蓄積制御部222は、一時蓄積情報保持部224からライセンスデータを読み出し(S450)、蓄積最終時刻をチェックする(S452)。本実施の形態では、蓄積最終時刻は、一時蓄積開始時に0で初期化され、蓄積終了時に終了時刻が記録されるので、蓄積最終時刻が0であるか否かをチェックすることにより、蓄積が終了しているか否かを判断することができる。蓄積が終了済みである場合は(S452のY)、記録されている蓄積終了時刻と、タイマー226でカウントされている現在時刻とを参照して、ライセンスが失効しているか否かが判断される(S462)。現在時刻から蓄積最終時刻を差し引いた値が、蓄積許容時間内であれば(S462のN)、ライセンスは失効していないので、暗号化番組データの読み出し処理に移る(S454)。現在時刻から蓄積最終時刻を差し引いた値が、蓄積許容時間を超えていれば(S462のY)、ライセンスが失効しているので、一時蓄積情報保持部224からライセンスデータを削除し(S464)、タイマー226を停止し(S466)、ライセンスが失効している旨をシステムコントローラ102へ通知する(S468)。システムコントローラ102は、ライセンスが失効していて番組の視聴が禁止された旨を、表示パネル104又は表示装置110などによりユーザへ通知してもよい。また、システムコントローラ102は、ライセンスが失効した番組のデータをリムーバブルHDDユニット300から削除してもよい。一時蓄積制御部222は、一時蓄積情報保持部224に保持されているライセンスデータを削除してもよい。
蓄積が終了していない、すなわち一時蓄積中の番組を再生する場合は(S452のN)、一時蓄積制御部222は、リムーバブルHDDユニット300のハードディスク記憶領域308に記録されている一時蓄積ファイル406から、再生を要求された部分の暗号化番組データを読み出し(S454)、データ暗号・復号処理部218において、一時蓄積情報保持部224に保持されているコンテンツ鍵で暗号化番組データを復号し、PCR値を抽出する(S456)。一時蓄積制御部222は、このPCR値と、タイマー226でカウントされている現在時刻とを参照して、ライセンスが有効であるか否かを判断する(S458)。現在時刻からPCR値を差し引いた値が、蓄積許容時間内であれば(S458のY)、ライセンスが有効であるから、復号した番組データを入出力制御部202を介してMPEG−TSデコーダ106へ送り、番組データを再生する(S460)。現在時刻からPCR値を差し引いた値が、蓄積許容時間を超えていれば(S458のN)、ライセンスが無効であるから、その番組データを再生せずに、システムコントローラ102へライセンスが無効である旨を通知する(S470)。このとき、一時蓄積制御部222は、ライセンスが有効となる、すなわち、蓄積許容時間範囲内となる番組の経過時間(PCR値)をシステムコントローラ102へ通知してもよい。システムコントローラ102は、表示パネル104又は表示装置110などにより、許容時間を超えたために視聴できない旨をユーザへ通知し、番組の何分経過時以降なら視聴可能であるという情報をユーザに通知してもよい。
システムコントローラ102は、ライセンスが有効となる部分を自動的にシークし、再生してもよい。すなわち、システムコントローラ102は、ライセンスが無効である旨の通知をPKIセキュアモジュール200から受け取ると、リムーバブルHDDユニット300内のタイムサーチテーブル408を検索し、PKIセキュアモジュール200から通知されたPCR値よりも大きく、かつ最も近いPCR値を経過時間欄から検索し、その経過時間に対応する一時蓄積ファイルの論理アドレスを取得する。そして、一時蓄積ファイル406のデータ読み出し位置を、取得したポインタにジャンプさせ、その位置から暗号化番組データを読み出してPKIセキュアモジュール200に送る。これにより、記録再生装置10においては、常に蓄積許容時間の範囲内の番組データが再生される。
このように、本実施の形態の記録再生装置10によれば、一時的な視聴のみが許された番組を適切に記録・再生することができ、番組データの改竄や、タイマー226の書き換えなどによる不正な視聴を防ぐことができる。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態では、記憶媒体の例としてリムーバブルHDDユニット300について説明したが、記憶媒体は、記録再生装置10に固定的に設けられてもよい。また、実施の形態では、デジタル放送を想定し、コンテント利用記述子に記述された蓄積条件にしたがって記録再生を行い、番組の著作権を保護することを目的としていたが、その他、ユーザなどが設定した利用条件に基づいて一時蓄積方式の記録再生を実現することも可能である。この場合は、一時蓄積開始時に、ユーザが規定した蓄積許容時間をPKIセキュアモジュール200に通知すればよい。
10 記録再生装置、102 システムコントローラ、200 PKIセキュアモジュール、222 一時蓄積制御部、 224 一時蓄積情報保持部、226 タイマー、300 リムーバブルHDDユニット、308 ハードディスク記憶領域、322 ライセンスデータ記憶領域、330 PKIセキュアモジュール。