データ処理装置およびデータ処理方法
【課題】SDメモリカードなどの記憶媒体のユーザ領域にCCIを記憶した上で、CCIの改ざん行為によるデータのコピーおよび再生を防止する。
【解決手段】このワンセグレシーバは、コントローラ7を有する。コントローラ7は、データをコピーする条件を示すコピー制御情報(CCI)46を設定した非暗号部分43と、CCI46を複製したCCI47と改ざん検出コード48(所定の情報)とを所定の位置に配置した上で所定の暗号化方式で暗号化した暗号部分44とを有する制御用パケット31,32…を生成し、生成された複数のパケットからなるファイルをユーザ領域12に記憶する。
【解決手段】このワンセグレシーバは、コントローラ7を有する。コントローラ7は、データをコピーする条件を示すコピー制御情報(CCI)46を設定した非暗号部分43と、CCI46を複製したCCI47と改ざん検出コード48(所定の情報)とを所定の位置に配置した上で所定の暗号化方式で暗号化した暗号部分44とを有する制御用パケット31,32…を生成し、生成された複数のパケットからなるファイルをユーザ領域12に記憶する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばデータ処理装置およびデータ処理方法に関する。
【背景技術】
【0002】
わが国では、13のセグメント構造を持つ地上デジタル放送の試験放送が既に開始されている。
【0003】
地上デジタル放送では、13のセグメントのうちの中央の1つのセグメントのみを部分受信することが可能であり、1セグメントデジタル放送、いわゆるワンセグ放送として携帯端末向けや移動体向けにサービスを開始することが検討されている。
【0004】
現在、ワンセグ放送をメモリカードなどの記憶媒体に記録するための規格化が検討されている。
【0005】
従来、著作権保護されたデジタル放送をデジタルチューナで受信し、得られた映像コンテンツをCPRM(Content Protection for Recordable Media)の技術でSD-Video規格に則ったメモリカード(例えばSDメモリカードなど)に記録する場合、コピー制御情報(Copy Control Information:以下CCIと称す)は、SDメモリカードのセキュア領域に記録される。
【0006】
ワンセグ放送では、処理性能が比較的低い携帯型受信機端末などに上記SDメモリカードをセットした上で、受信した映像コンテンツをSDメモリカードに録画することが想定される。
【0007】
この場合、従来のCCIの変化に伴うファイル分割やこれに伴って生じるセキュア領域へのアクセス回数を減らして処理負荷を軽減する必要がある。
【0008】
このことから、CCIについては、SDメモリカード内のユーザが容易にアクセス可能な記憶領域(以下ユーザ領域と称す。)に暗号化して記録することが望ましい。
【0009】
しかし、CCIなどの情報は、比較的ビット数が少ないため、単に暗号化してユーザ領域に記録するだけでは、安易な総当り検索などの手法で不正な改ざんを行うことができてしまう。
【0010】
CCIの改ざんによる不正を検出できないと映像コンテンツを再生する装置側でコピー制御が正常に行えず誤動作を起こす可能性がある。
更に録画した番組について、CCIに基づく再生やコピーの可否の情報も含めたリスト一覧表示を行う場合、番組リストが増えると、暗号化したCCIを復号すること自体も、携帯型受信機比較的処理能力の低い機器にとっては処理の負荷か高く、表示の応答性を損なう要因となる。
【0011】
先行技術としては、第三者がデータを読み出し不可能なセキュリティ領域(セキュア領域に相当)と読み出し可能なデータ領域(ユーザ領域に相当)とを有する媒体のデータに対して著作権の保護を行う技術がある(例えば特許文献1参照)。
【0012】
この技術の場合、媒体のデータ領域に、暗号化したデータや著作権保護情報を記憶し、暗号化データを復元するためのキー情報(暗号化コンテンツキー)をセキュリティ領域に記憶しておくことで、たとえ媒体から著作権保護情報や暗号化データがコピーされたとしても、データの復元、つまりデータの再生をできなくすることができる。
【特許文献1】特開2001-28572公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
上述した先行技術の場合、CCIをセキュア領域へ記憶しておけば、CCIの不正な改ざんは非常に困難となり、コピーや不正なデータの再生などはできなくなる。
【0014】
しかしながら、CCIの設定は、番組を放送する側で変えられることから、この場合、CCIの変化に応じてセキュア領域へのアクセスが発生することになる。これでは、処理性能が比較的低い機器に著作権保護機能を搭載しにくくなるという問題がある。
【0015】
本発明はこのような課題を解決するためになされたもので、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体の第2の記憶領域にコピー制御情報を記憶しながらも不正行為によるデータのコピーおよび再生を防止できるデータ処理装置およびデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【0016】
上記した目的を達成するために、本発明のデータ処理方法は、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体にデータを記憶するデータ処理装置におけるデータ処理方法において、前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有するパケットをデータ処理装置が順に生成し、前記データ処理装置が生成した複数のパケットからなるファイルを所定の暗号方式で暗号化して前記記憶媒体の前記第2の記憶領域に記憶することを特徴とする。
【0017】
本発明のデータ処理装置は、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、前記記憶媒体に記憶されたデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域から暗号化されたファイルを読み込むことで、前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有する複数のパケットを生成し、前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記コピー制御情報と、前記パケットの前記非暗号部分から得られたコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、いずれか一方の判定により改ざん有りと判定された場合、データの読み込みを中止するコントローラを具備したことを特徴とする。
【0018】
本発明のデータ処理装置は、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、前記記憶媒体に記憶された所望のデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域からデータ管理情報を読み出し、前記第2の記憶領域の暗号化されたファイルから、非暗号部分と暗号部分とを有するパケットデータを読み出し、読み出したパケットのデータを前記メモリに記憶すると共に、前記パケットの非暗号部分に含まれるコピー制御情報を前記メモリに記憶し、前記パケットの暗号化部分のデータを、前記データ管理情報により指定された参照先の前記第1の記憶領域の暗号鍵を用いてブロック暗号の連鎖モードで復号し、復号した暗号化部分のデータに含まれる所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、復号後の暗号化部分のデータに含まれるコピー制御情報と、前記メモリに記憶しておいた非暗号部分のコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、いずれか一方の判定により改ざん有りと判定された場合、データをメモリに読み込むことを中止するコントローラを具備したことを特徴とする。
【0019】
本発明では、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体の、第2記憶領域にコピー制御情報を暗号化して記憶する場合に、コピー制御情報を、パケットの非暗号部分と暗号部分にそれぞれ設定する。
【0020】
暗号部分については、ブロック暗号の初めのブロックにコピー制御情報を設定し、その位置から少なくとも1ブロック長以上離れた位置にコピー制御情報の改ざんを検出するための所定の情報を配置し、これもコピー制御情報と一緒に連鎖モードで暗号化し、それを第2記憶領域に記憶する。暗号部分については、ブロック暗号方式の連鎖モードを用いてデータを暗号化する。
【0021】
また、改ざんを検出するための所定の情報は、ユーザから容易にアクセスできないセキュアな第1の記録領域に記録しておき、記憶媒体のデータを読み出す際に、コピー制御情報の改ざん判定と、所定の情報の改ざん判定とをセットで行い、2つの改ざん判定で少なくとも一方が改ざん有りと判定された場合は、記憶媒体からのデータの読み出しを中止する。
【発明の効果】
【0022】
以上説明したように本発明によれば、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体の第2の記憶領域にコピー制御情報を記憶しながらも不正行為によるデータのコピーおよび再生を防止できる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は本発明の一つの実施形態に係る1セグメントデジタル放送受信録画再生装置(以下ワンセグメントレシーバと称す。)の構成を示す図、図2は図1のワンセグメントレシーバにセットされる記憶媒体としてのSDメモリカードの記憶領域を示す概略図である。
【0024】
図1に示すように、このワンセグレシーバは、アンテナ1が接続された1セグメントデジタル放送チューナ2(以下ワンセグ放送チューナ2と称す)と、メモリ3と、ディスプレイ4と、キースイッチ5と、カードインターフェース6(以下、カードI/F6と称す。)を有している。
【0025】
ワンセグ放送チューナ2は、アンテナ1から1セグメントデジタル放送を受信し、デジタル信号の復調などの処理過程を経てMPEG2トランスポートストリーム(以下MPEG2_TSと称す。)のデータストリームを生成し、コントローラ7へ出力する。
【0026】
コントローラ7は、入力されたMPEG2_TSをメモリ3にバッファリングしつつ映像パケット、音声パケットに分離して、それぞれをデコードする。デコードされた映像および音声データは、メモリ3からディスプレイ4へ出力される。これによりディスプレイ4の画面に1セグメントデジタル放送の映像が再生される。
【0027】
メモリ3には、著作権保護機能に対応したアプリケーションからアクセスがあったときにコントローラ7がSDメモリカードと10と認証処理を行うための認証用データが記憶されている。認証用データは、例えば認証過程の暗号処理で用いるデバイス鍵などである。
【0028】
また、メモリ3には、コントローラ7に処理動作を実行させる制御プログラムが記憶されている。
【0029】
メモリ3は、カードI/F6によりSDメモリカード10へ書き込まれるデータ、またはカードI/F6により読み込まれたSDメモリカード10のデータの一時記憶場所、つまり出力バッファになり、このメモリ3を介して入出力される。ディスプレイ4は、入力された映像を画面に表示する。
【0030】
キースイッチ5は、ユーザが1セグメントデジタル放送の受信チャネルを選択操作するためのスイッチである。また、キースイッチ5には、SDメモリカード10への番組の選択、録画または再生などの指示が行われることで、それぞれの指示をコントローラ7へ入力する。
【0031】
コントローラ7は、キースイッチ5が上記のように操作されたことで各指示を受け付け、その指示に応じた各部の制御、つまり番組、選局制御、録画制御また再生制御などを行う。
【0032】
コントローラ7は、図4に示すように、データをコピーする条件を示すコピー制御情報46(以下CCI46と称す。)を設定した非暗号部分43と、CCI46と同じ情報(複製情報)であるCCI47と、改ざん検出コード48(所定の情報)とを所定の位置(図示位置)に配置した上で、暗号鍵ファイルEk1で指定されたルールR1〜RNのいずれかに従って所定の暗号化方式で暗号化した暗号部分44とを有する制御用パケット31,32…を順に生成する。所定の暗号化方式とは、ブロック暗号の連鎖モードの一つであるCBCモードなどである。
【0033】
コントローラ7は、順に生成した複数のパケット31,32…からなる各ファイル30a,30b…30cをユーザ領域12に記憶する。
【0034】
コントローラ7は、ブロック暗号方式によりデータをブロック毎に暗号化してCCI47と改ざん検出コード48とを暗号部分44に配置する際に、ブロックの初めの位置にCCI47を配置すると共に、その位置から1ブロック長分以上離れた位置に改ざん検出コード48を配置する。
【0035】
コントローラ7は、予め決められた所定の値を改ざん検出コード48として用いる。コントローラ7は、暗号部分44に配置した検出コード48と関連する改ざん検出コード50をセキュア領域11の認証領域14に記憶する。
【0036】
改ざん検出コード48および改ざん検出コード50は、あらかじめ決められた固定値を用いてもよく、また、録画するMPEG2_TSのパケットデータを入力とする、あらかじめ決められた計算により求めた値であってもよい。
【0037】
また、計算により求める値とする場合、コントローラ7は、SDメモリカード10からデータを読み出す際に、認証領域14に記憶した値を読み出し、その値をパラメータとして、所定の計算を実行して得られた値を改ざん検出コード50として用いてもよい。
【0038】
コントローラ7は、改ざん検出コード48,50を1バイト以上のコードとして生成し認証領域14へは改ざん検出コード50を記憶する。
【0039】
ブロック暗号方式とは、データをブロック毎に暗号化する暗号方式であり、ECBモードやCBCモードなどがある。コントローラ7は、例えばCBC(Cipher Book Chaining)モードまたはC−CBC(Converted Cipher Book Chaining)モードなどの連鎖モードを用いてデータを暗号化する。なお、この例では、CBCモードを例にして説明する。
【0040】
コントローラ7は、SDメモリカード10に記憶されているユーザ領域12のデータをコピーする際には、上記の手順と逆の手順によりパケットを生成し、各パケットから抽出したCCIと改ざん検出コードとのセットでデータの不正な改ざんの有無を判定し、改ざんされていないと判定した場合に限りメモリ3の作業領域のデータを出力バッファへ出力する。
【0041】
すなわち、コントローラ7は、キースイッチ5の操作などにより、SDメモリカード10に記憶されたデータの読み出しが指示された場合、まず、SDメモリカード10のユーザ領域12から、暗号化されたファイルを読み込んで所定の暗号化方式で復号することで、CCI46を設定した非暗号部分43と、CCI47と改ざん検出コード48とを所定の位置に配置した暗号部分44とを有する複数のパケットを生成する。
【0042】
コントローラ7は、暗号部分44について、ブロック暗号方式によりデータをブロック毎に復号してCCIと改ざん検出コード48とを得る際に、ブロックの初めの位置からCCI48を取得すると共に、その位置から1ブロック長分以上離れた所定の位置から改ざん検出コード48を取得する。
【0043】
コントローラ7は、ブロック暗号方式の中の連鎖モードを用いてデータを復号する。コントローラ7は、連鎖モードとしてCBC(Cipher Book Chaining)モードまたはC−CBC(Converted Cipher Book Chaining)モードを用いてデータを復号する。
【0044】
コントローラ7は、各パケットの暗号部分44を所定の暗号化方式で復号して得られた改ざん検出コード48と、セキュア領域11の認証領域14から読み出した改ざん検出コード50とを比較して互いの一致、不一致を判定する。
【0045】
コントローラ7は、改ざん検出コード50としてセキュア領域11の認証領域14から2ビットまたは4ビットのコードを読み出す。
【0046】
コントローラ7は、各パケットの暗号部分44を所定の暗号化方式で復号して得られたCCI47と、同じパケットの非暗号部分43から得られたCCI46とを比較して互いの一致、不一致を判定することで、CCI46の改ざんの有無を判定する。
【0047】
コントローラ7は、いずれか一方の比較判定の結果が不一致であった場合、データの改ざんがあったものと判定してメモリ3の作業領域のデータを、出力バッファを通じてアプリケーションへ出力することと、ユーザ領域12のデータの読み込みを中止する。つまり、コントローラ7は、SDメモリカード10のデータをメモリ3に読み込むことを中止する。
【0048】
カードI/F6には、SDカードスロット(図示せず)が設けられており、SDメモリカード10が着脱自在に装着される。
【0049】
カードI/F6は、コントローラ7により制御されて、SDカードスロットにセットされたSDメモリカード10へのデータのリードおよびライトを行う。
【0050】
つまりカードI/F6は、コントローラ7により制御されて、書き込み対象のデータをメモリから読み出してSDメモリカード10へ書き込む。
【0051】
また、カードI/F6は、コントローラ7により制御されて、SDメモリカード10からデータを読み出し、メモリ3へ一時記憶する。
【0052】
SDメモリカード10は、著作権保護機能の一つであるCPRM(Content Protection for Recordable Media)技術に則ったメモリカードである。
【0053】
SDメモリカード10は、カードI/F6とのインターフェースであるSD入出力部であるSDI/O、メモリコントローラ、記憶領域であるフラッシュメモリを備えている。
【0054】
図2に示すように、SDメモリカード10のフラッシュメモリは、セキュア領域11とユーザ領域12に区分されている。
【0055】
セキュア領域11には、システム領域13と、認証領域14が設けられている。システム領域13には、カード自体を識別するためのメディアID15が記憶されている。メディアID15は、データ読み出し時の認証に使用されるメディア固有の識別情報である。セキュア領域11は、アプリケーションからのアクセスが制限された記憶領域である。
【0056】
認証領域14は、機器のアプリケーションからこの記憶メディアにアクセスする際に、機器とメディア間で相互認証し、認証されたアプリケーションからのみアクセスが可能となる領域である。
【0057】
この相互認証では、CPRM技術のライセンスを受けた(著作権保護技術に準拠した)アプリケーションのみがあらかじめ保持するパラメータを用いた、暗号技術が用いられる。
【0058】
つまり、認証領域14は、CPRM技術のライセンスを受けたアプリケーションからのみアクセス可能であり、通常のアプリケーションからはアクセス不可能な隠し領域である。この認証領域14を第1の記憶領域という。
【0059】
この認証領域14には、ルートディレクトリの配下のディレクトリ、例えば図2のディレクトリBなどに、暗号鍵管理ファイルEMF、複数の暗号鍵ファイルEk1…k4などが記憶されている。
【0060】
暗号鍵管理ファイルEMFは、複数の暗号鍵ファイルEk1…Ek4を管理するためのファイルである。
【0061】
暗号鍵ファイルEk1には、複数のルール、例えばルールR1、ルールR2、…、ルールRNが記憶されている。
【0062】
各ルールR1、ルールR2、…、ルールRNは、録画コンテンツファイルを分割したそれぞれのファイルの単位に暗号化するための暗号鍵である。
【0063】
一方、ユーザ領域12は、通常のアプリケーションからアクセス可能な領域であり、この記憶領域を第2の記憶領域、言い換えればアプリケーションからのアクセスが制限されない記憶領域である。
【0064】
ユーザ領域12には、ルートディレクトリの配下のディレクトリ、例えば図2に示すディレクトリAなどには、ディレクトリD1、D2…と、管理データディレクトリMDDとが設けられている。
【0065】
ディレクトリD1、D2…は、録画番組毎の録画コンテンツファイルが格納されるディレクトリである。
【0066】
ディレクトリD1には、複数のファイルF11、F12、F13…と管理ファイルMF1が格納されている。
【0067】
これらのファイルF11、F12、F13…は、録画コンテンツファイルを所定の保存単位に分割した上で、暗号化したファイルである。
【0068】
管理ファイルMF1は、複数のファイルF11、F12、F13…の読み出しなどを管理するためのデータ管理情報のファイルであり、アプリケーションによるデータ読み取りのため参照先が指定されている。
【0069】
参照先としては、例えば認証領域14の暗号鍵ファイルEk1のルールR1とルールR2が指定されている。これにより、各ファイルF11、F12、F13…は、指定されたルールに従って復号される。この例では、ルールR1に従ってファイルF11が復号され、ルールR2に従ってファイルF13が復号される。
【0070】
ディレクトリD2には、管理ファイルMF2、複数のファイルF21、…が格納されている。ファイルF21…などは、暗号化されたファイルである。
【0071】
管理ファイルMF2は、複数のファイルF21、…を管理するためのファイルである。
【0072】
管理データディレクトリMDDには、管理データファイルMDF1、MDF2が格納されている。
【0073】
管理データファイルMDF1、MDF2は、ディレクトリAの内部ディレクトリに録画されているコンテンツ全般の情報(例えば総録画時間)が格納されるファイルである。
【0074】
ここで、図3、図4を参照して録画コンテンツファイルの保存形式(録画形式)について説明する。
【0075】
図3に示すように、録画コンテンツファイル30は、保存単位のファイル30a,30b,30c…に分割されて、ブロック暗号方式の、いくつかある暗号化モードのうちの、例えば連鎖モードで暗号化されてSDメモリカード10のユーザ領域12に保存される。ブロック暗号方式の連鎖モードについては後で説明する。
【0076】
一つのファイルは、制御用パケットと、少なくとも一つのトランスポートストリームパケット(以下TS パケットと称す。)とで構成される。
【0077】
具体的には、図3に示すように、初めのファイル30aは、制御用パケット31とTS パケット#1…#kとで構成され、次のファイル30bは、制御用パケット32とTS パケット#k+1…#2kで構成される。
【0078】
なお、ブロック暗号方式の連鎖モードでは、初めのファイル30aの先頭の制御用パケット31は、前のデータを利用できないため、途中のブロックから暗号化される。
【0079】
図4に示すように、各制御用パケット31,32…は、初めの4バイトの部分41と後ろの188バイトの部分42とから構成されている。
【0080】
後ろの188バイトの部分42は、非暗号部分43と暗号部分44とに分けられる。
【0081】
非暗号部分43には、トランスポートストリームの先頭を示すシンクバイト(47h)の部分45と、先頭から所定位置に書き込まれたコピー制御情報46(以下CCI46と称す)とが含まれている。CCI46については後述する。
【0082】
暗号部分44は、暗号化対象のデータを所定長のブロック単位に分けてそれぞれを所定の暗号化方式である連鎖モードで暗号化したものである。
【0083】
暗号部分44の先頭位置には、CCI46を複製したCCI47が挿入される。また、暗号部分44の先頭からブロック暗号の1ブロック長以上離れた位置に、改ざん検出コード48が挿入される。改ざん検出コード48は、その都度生成されるものであり、乱数計算などの計算手法によりランダムに生成してもよく、予め決められた規則で生成してもよい。
【0084】
一方、認証領域14には、例えば1バイトまたは2バイト程度の改ざん検出コード50が記憶される。改ざん検出コード50は、例えばルールR2による認証時の参照先として暗号化鍵と共に認証領域14(セキュア領域11)に記憶される。
【0085】
この改ざん検出コード50を複製したもの、つまり同じものが、ユーザ領域12に記憶される改ざん検出コード48である。改ざん検出コード48は、暗号化された状態でユーザ領域12に記憶される。
【0086】
図5に示すように、CCI46,47には、デジタルコピー制御記述子と、コンテンツ利用記述子とが設定されている。CCI46,47は、デジタルコピー制御記述子とコンテンツ利用記述子とを合わせて8ビット以下のデータ長で記述される。
【0087】
それぞれの記述子を組み合わせることでデジタル記録の可否とコピー制御内容を指定できる。
【0088】
デジタルコピー制御記述子には、コピーコントロールタイプとデジタル録画暗号化モード制御データが設定される。コンテンツ利用記述子には、暗号化モードの種類が設定される。
【0089】
例えばコピーコントロールタイプが「01」または「11」の場合、記録不可を示す。
【0090】
また、コピーコントロールタイプが「10」で、デジタル録画暗号化モード制御データが「00」で、コンテンツ利用記述子が「0」では、制限条件なしに(非暗号で)コピー可能を示す。
【0091】
コピーコントロールタイプが「10」で、デジタル録画暗号化モード制御データが「10」では、一世代のみ記録可能を示す。
【0092】
一世代のみ記録可能とは、一世代目のデータを記録するときにビットフラグを記録不可の状態に更新して記録することを示す。
【0093】
つまり、CCI46,47は、データを読み出す際にコピーフリー、コピーワンス、コピーネバーなどのようにデータの読み出し条件を規定した情報である。
【0094】
以下、図6〜図9を参照してこのワンセグレシーバによる1セグメントデジタル放送の、番組の録画動作および再生動作を説明する。まず、録画動作について説明する。
【0095】
このワンセグレシーバで受信した1セグメントデジタル放送のある番組をSDメモリカード10に録画する場合、通常の番組視聴状態からユーザがキースイッチ5にて所望の番組を選択操作すると、コントローラ7は、ワンセグ放送チューナ2を制御して該当番組を受信し、メモリ3にバッファリングしつつディスプレイ4に表示する。
【0096】
ここで、キースイッチ5の録画ボタンなどで、番組の録画操作が行われると、コントローラ7は、SDメモリカード10のセキュア領域11への相互認証を行う、録画コンテンツを暗号化する暗号鍵の記憶処理を行う(図6のステップ101)。ここでステップを「S」と省略する。なお、このセキュア領域11へ記憶処理については後で詳細に説明する。
【0097】
また、コントローラ7は、ユーザ領域12へ新たな録画用のディレクトリを生成する。
【0098】
セキュア領域11への暗号鍵の記録処理が正常に終了すると(S102のYes)、コントローラ7は、ワンセグ放送チューナ2により受信されてMPEG2TS形式に変換された番組のコンテンツである録画コンテンツファイル30を、ユーザ領域12の該当ディレクトリにファイル単位に記憶してゆく(S103)。
【0099】
また、コントローラ7は、録画コンテンツファイル30を管理するためのファイル(管理データファイルMDF1、管理ファイルMF1など)をユーザ領域12の該当ディレクトリに記憶する(S104)。
【0100】
続いて、上記S101におけるセキュア領域11への記録処理について説明する。
【0101】
コントローラ7は、SDメモリカード10のセキュア領域11へアクセスするために、SDメモリカード10のメモリコントローラとの間で相互認証処理を行う(S111)。
【0102】
認証処理が成功すると、コントローラ7は、所定のルールに従って改ざん検出コードと暗号鍵を生成し、この改ざん検出コードをメモリ3の改ざん検出コード記憶領域に記憶(格納)し(S112)、生成した暗号鍵をメモリ3の暗号鍵記憶領域に記憶(格納)する(S113)。
【0103】
続いて、コントローラ7は、カードI/F6を介して、SDメモリカード10のセキュア領域11に暗号鍵と改ざん検出コードを記憶する(S114)。
【0104】
次に、SDメモリカード10のユーザ領域12へ録画コンテンツファイル30を記憶する具体的な処理について詳細に説明する。
【0105】
録画開始後、コントローラ7は、予約録画機能により予約録画が終了したか、またはキースイッチ5により録画終了操作が行われたかを監視し、録画終了か否かを判定する(図8のS120)。
【0106】
コントローラ7は、録画対象のデータを、複数のTSパケットからなる1フラグメントの単位で処理しており、上記判定の結果、録画終了ではない場合(S120のNo)、そのデータが、録画コンテンツファイル30内のフラグメントの先頭のものか否かを判定する(S121)。
【0107】
フラグメントの先頭のものであれば(S121のYes)、コントローラ7は、制御用パケットデータを、デフォルト値で生成してメモリ3の出力バッファ領域へ出力する(S122)。
【0108】
録画対象のデータが、フラグメントの先頭のものでない場合(S121のNo)、コントローラ7は、ワンセグ放送を受信して生成したMPEG2TSの1パケット分のデータをメモリ3の出力バッファ領域へ出力する(S123)。コントローラ7は、この処理をフラグメントの最後まで繰り返す(S124)。
【0109】
そして、フラグメントの最後、つまり所定のパケット数に達すると(S124のYes)、コントローラ7は、受信されたデータに含まれていたCCIを取得し(S125)、CCIのデジタルコピー制御記述子に設定されているコピーコントロールタイプとデジタル録画暗号化モード制御データとから、該当フラグメントはコピーフリーか否かを判定する(S126)。
【0110】
この判定の結果、該当フラグメントがコピーフリーでない場合(S126のNo)、コントローラ7は、CCIを基に該当フラグメントがコピー禁止か否かを判定する(S127)。
【0111】
この判定の結果、コピー禁止ではない場合(S127のNo)、コントローラ7は、出力バッファ内の制御用パケット31の暗号部分44の先頭位置にCCI47を設定する(S128)。
【0112】
また、コントローラ7は、制御用パケット31の暗号部分44に設定したCCI47の位置から、暗号方式の1ブロック長以上離れた位置に、改ざん検出コード48を設定する(S129)。
【0113】
そして、コントローラ7は、メモリ3の出力バッファ領域内の1フラグメント分のデータについて、連鎖モードで暗号化する(S130)。
【0114】
その後、コントローラ7は、暗号化した1フラグメント分のデータを録画コンテンツファイル30へ出力する(S131)。
【0115】
一方、上記S120における録画終了の判定処理で、録画終了と判定した場合(S120のYes)、コントローラ7は、メモリ3の出力バッファ領域内のデータをチェックし、制御用パケットデータのみか否かを判定する(S132)。
【0116】
この判定の結果、メモリ3の出力バッファ領域内のデータが制御用パケットデータのみでない場合、コントローラ7は、ワンセグ放送チューナ2によって受信されたデジタル放送のデータからCCIを取得し(S133)、取得したCCIを基に該当フラグメントがコピーフリーか否かを判定する(S134)。
【0117】
この判定の結果、該当フラグメントがコピーフリーでない場合(S134のNo)、コントローラ7は、CCIを基に該当フラグメントがコピー禁止か否かを判定する(S135)。
【0118】
この判定の結果、コピー禁止ではない場合(S135のNo)、コントローラ7は、出力バッファ内の制御用パケットデータにCCI46,47と改ざん検出コード48を設定する(S136)。
【0119】
この際、コントローラ7は、CCI46を非暗号領域43に設定(挿入)し、CCI47と改ざん検出コード48とを暗号領域の所定の位置に配置する。
【0120】
そして、コントローラ7は、改ざん検出コード48と同じコードである改ざん検出コード50をセキュア領域11の認証領域14に記憶する(S137)。
【0121】
その後、コントローラ7は、1フラグメント分のデータを録画コンテンツファイル30へ出力することで、SDメモリカード10のユーザ領域12の該当ファイルに記憶する(S131)。
【0122】
ここで、上記S130の暗号化処理について説明する。このワンセグレシーバでは、ブロック暗号方式の一つの連鎖モードとして、例えばCBCモードを採用している。CBCとは、Cipher Book Chainingの略称である。
【0123】
CBCモードでは、一つのブロックを暗号化するために直前に暗号化したブロックの暗号結果を入力パラメータとして使用する。これにより、暗号化前の平文に含まれる固定的なビットパターンをかく乱してセキュリティの高い暗号化を行うことができる。
【0124】
具体的には、例えば図9に示すように、入力データをブロック長(例えば128ビットなど)毎にプレーンデータPD0〜PDnに分割し、初めのプレーンデータPD0に対しては、暗号初期値(IV)との間で排他的論理和演算XORを行った後、これを暗号鍵Kで暗号化してコーデッドデータCD0として出力する。
【0125】
以降のPD1,…PDnについては、IVの代わりに直前の暗号化データ(それぞれCD0,…Dn-1)との間で排他的論理和演算XORを行った後、これを暗号鍵(K)で暗号化して出力する。
【0126】
次に、図9〜図12を参照してこのワンセグレシーバにおいて、SDメモリカード10に記憶されている録画済みデータのコピー処理(読み出し処理)について説明する。
【0127】
この場合、SDメモリカード10のディレクトリをディスプレイ4に表示し、その中から所望の録画コンテンツファイル30をユーザがキースイッチ5で選択操作すると、コントローラ7は、SDメモリカード10のユーザ領域12から、コピー対象の録画コンテンツファイル30の管理ファイル、例えば管理ファイルMF1などを読み出す処理を行う(図10のS201)。
【0128】
コントローラ7は、読み出した管理ファイルMF1のデータによって指定されている認証領域14(セキュア領域11内)の暗号鍵ファイルを読み出す処理を行う(S202)。
【0129】
暗号鍵ファイルの読み出し処理が正常に終了した場合(S203のYes)、コントローラ7は、SDメモリカード10のユーザ領域12の録画コンテンツファイル30のコピーのためのデータの読み出し処理を行う(S204)。
【0130】
認証領域14またはユーザ領域12のデータのうち片方か両方のデータ、つまり少なくとも一方のデータの読み出し処理が正常に終了しなかった場合(S203のNoまたはS205のNo)、コントローラ7は、異常終了と判定してSDメモリカード10のデータの読み出しを中止する(S206)。
【0131】
データの読み出し処理が正常に終了した場合(S205のYes)、コントローラ7は、処理を終了する。
【0132】
続いて、上記S202におけるセキュア領域11からのデータの読み出し処理について説明する。
【0133】
コントローラ7は、SDメモリカード10のセキュア領域11へアクセスするために、SDメモリカード10のメモリコントローラとの間で相互認証処理を行う(S211)。
【0134】
この相互認証処理では、レシーバ側のメモリ3およびセキュア領域11にあらかじめ設定されているパラメータを用いた暗号技術による認証を行う。
【0135】
正規のレシーバは、および正規のSDメモリカードのみが復号できる方法で暗号化したデータをSDメモリカード10に書き込み、SDメモリカード10のメモリコントローラは、これを復号して正・否をチェックする。
【0136】
この認証処理で相互認証が失敗すると(S212のNo)、コントローラ7は、セキュア領域11の認証領域14からのデータの読み出し処理を中止する(S213)。
【0137】
また上記認証処理で相互認証が成功すると(S212のYes)、コントローラ7は、SDメモリカード10の認証領域14の該当ユーセージルールの記憶データを基に改ざん検出コード50を読み出してメモリ3の改ざん検出コード記憶領域に記憶する(S214)。
【0138】
そして、コントローラ7は、SDメモリカード10の認証領域14の暗号鍵を読み出してメモリ3の暗号鍵記憶領域に記憶する(S215)。
【0139】
次に、SDメモリカード10のユーザ領域12に記憶されている録画コンテンツファイル30のコピーのための読み出し処理(上記図S204の処理)について詳細に説明する。
【0140】
コントローラ7は、コピー操作が行われた後、コピー終了か否かを常に監視している。
【0141】
コピー終了ではない場合(図12のS220のNo)、コントローラ7は、SDメモリカード10のユーザ領域12に記憶されているコピー対象の録画コンテンツファイル30から、MPEG2TSの1パケット分のデータを読み出し、メモリ3、つまり出力バッファに記憶する(S221)。なお、この例では、メモリ3を出力バッファとして共用したが、メモリ3と出力バッファとを別個に設けても良い。
【0142】
コントローラ7は、出力バッファに読み出した1パケット分のデータをチェックし、そのデータが録画コンテンツファイル30内のフラグメントの先頭か否かを判定する(S222)。
【0143】
この判定の結果、出力バッファのデータが録画コンテンツファイル30内のフラグメントの先頭の場合(S222のYes)、コントローラ7は、制御用パケット31の非暗号部分43のCCI46をメモリ3のコピー制御情報記憶領域に記憶する(S223)。
【0144】
そして、コントローラ7は、コピー制御情報記憶領域に記憶したCCI46の記述子に従ってデータの読み出し判定処理を行う(S233)。この判定処理では、CCI46に基づいてデータがコピー禁止か否かが判定される。
【0145】
この判定処理の結果、コピー禁止の場合(S225のYes)、コントローラ7は、データの読み出し処理を中止し(S226)、異常終了と判定して、コピー対象の録画コンテンツファイル30のコピーを終了する。
【0146】
また、上記判定処理の結果、コピー禁止ではない場合(S225のNo)、コントローラ7は、1パケット分ずつ読み込んだデータがフラグメントの最後、つまり所定のパケット数に達したか否かを判定する(S227)。
【0147】
この判定の結果、1パケット分ずつ読み込んだデータが所定のパケット数に達した場合、コントローラ7は、CCI46に基づいて該当フラグメントがコピーフリーか否かをチェックする。
【0148】
該当フラグメントがコピーフリーではない場合(S228のNo)、コントローラ7は、出力バッファ内の1フラグメント分のデータを、予め定められた復号方式である連鎖モード(CBCモード)で復号する(S229)。復号処理については後で説明する。
【0149】
復号後、コントローラ7は、復号した制御用パケットから改ざん検出コード48を読み出し(S230)、メモリ3に一時記憶する。
【0150】
また、コントローラ7は、認証領域14に予め記憶されていた改ざん検出コード50を読み出し、メモリ3に一時記憶した改ざん検出コード48と比較する(S231)。
【0151】
比較の結果、互いの改ざん検出コード48,50が不一致の場合(S231のNo)、コントローラ7は、データの読み出し処理を中止する(S226)。
【0152】
また、比較の結果、互いの改ざん検出コード48,50が一致した場合(S231のYes)、コントローラ7は、復号後の制御用パケットからCCI47を読み出す(S232)。
【0153】
そして、読み出したCCI47と予めメモリ3のコピー制御情報記憶領域に記憶しておいた非暗号部分43のCCI46とを比較する(S233)。
【0154】
この比較の結果、互いのCCI46,47が不一致の場合(S233のNo)、コントローラ7は、データの読み出し処理を中止する(S226)。
【0155】
また、比較の結果、互いのCCI46,47が一致した場合(S233のYes)、コントローラ7は、メモリ3に一時記憶しておいたデータをコピー先のバッファへ出力する(S234)。
【0156】
ここで、上記S229の復号処理について説明する。このワンセグレシーバでは、上記したようにブロック暗号方式の一つの連鎖モードとしてCBCモードを採用しており、CBCモードでデータを復号する。
【0157】
具体的には、図13に示すように、入力データをブロック長(128ビット)毎にコーデッドデータCD0〜CDnに分割し、初めのコーデッドデータCD0に対しては、これを鍵(K)で復号して暗号初期値(イニシャルバリュー:IV)との間で排他的論理和演算XORを行った後、初めのコーデッドデータCD0として出力する。以降のCD1,…CDnについては、これを鍵(K)で復号して、IVの代わりに直前の暗号データ(それぞれCD0,…Dn-1)との間で排他的論理和演算XORを行った後、出力する。
【0158】
このようにこの実施形態のワンセグレシーバによれば、SDメモリカード10の、ユーザが容易にアクセス可能なユーザ領域12にCCIを暗号化して記録する場合に、CCIを非暗号部分43と暗号部分44に分けて記憶すると共に、暗号部分44については、ブロック暗号をCBCモード(連鎖モード)で行い、暗号部分44の先頭にCCI47を配置すると共に、CCI47の位置から少なくとも1ブロック長以上離間した位置に、改ざん検出コード48を配置する。
【0159】
また、この改ざん検出コード48と同じコードである改ざん検出コード50をSDメモリカード10のユーザから容易にアクセスできないセキュアな記録領域(認証領域14)に暗号鍵Kなどと共に記憶しておき、データをコピーまたは読み出する際にCCI46,47だけでなく改ざん検出コード48,50についても両者を比較して一致をチェックすることで、パケットのデータの改ざんの有無を判定する。
【0160】
この比較判定の結果、いずれか一つの判定結果が不一致の場合、コントローラ7は、改ざんがあったものと判定して、データの読み込みを中止するので、CCI46,47をユーザ領域12に記憶しながらも不正行為によるデータの改ざんによるコピーおよび再生を防止できる。CCI46,47をユーザ領域12に記憶することで、従来のようにCCIの変化に応じてセキュア領域11へアクセスせずに済むようになり、処理性能の比較的低い携帯端末などの機器でもこの方法を利用できるようになる。
【0161】
なお、本発明は上記実施形態のみに限定されるものではない。上記実施形態では、改ざん検出コード48,50を乱数計算などの計算で求める例について説明したが、この他、例えば所定の値、つまり固定値にしても良い。
【0162】
また、改ざん検出コード48,50を計算で求める上では、CRCコード、チェックサムなどの手法を用いても良い。この場合のCRCコードを用いる場合は、暗号化するデータの先頭から、改ざん検出コード48までの位置についてチェックする。
【0163】
なお、上述したCBCモードという連鎖モードは、一例にしか過ぎず、このCBCモード以外にもブロック暗号方式にはさまざまな連鎖モードがあり、他の連鎖モードとして、例えばCFB(Cipher Feedback)、OFB(Output Feedback)などを本願発明に適用してもよい。
【0164】
また、例えばCBCモードベースの連鎖モードとしては、例えばC−CBCモード、FCBCモード、XCBCモードなどがあり、本願発明にこれらのモードを適用しても良い。C−CBCモードは、CPRMで規定されたC2アルゴリズムである。
【0165】
改ざん検出コード48,50は、認証領域14に記録した値をパラメータとして所定の計算により得られる値としてもよく、改ざん検出コード48は、コードの他、フラグやチェックビットなどでも良い。
【図面の簡単な説明】
【0166】
【図1】本発明の一つの実施形態のワンセグレシーバの構成を示す図である。
【図2】図1のワンセグレシーバで利用可能なSDメモリカードの記憶領域を示す図である。
【図3】録画コンテンツファイルのデータ構成を示す図である。
【図4】図3の録画コンテンツファイルに含まれる制御用パケットのフォーマットを示す図である。
【図5】コピー制御情報(CCI)の内容を示す図である。
【図6】ワンセグレシーバの録画動作を示すフローチャートである。
【図7】セキュア領域へデータを記憶する処理を示すフローチャートである。
【図8】ユーザ領域へのデータの記憶処理(図6のS103)を詳細に示すフローチャートである。
【図9】CBCモードによるデータの暗号化を説明するための図である。
【図10】SDメモリカードに記憶されたデータのコピーを行う処理を示すフローチャートである。
【図11】セキュア領域からデータを読み出す処理を示すフローチャートである。
【図12】録画コンテンツファイルのコピーのための読み出し処理(図10のS204)を詳細に示すフローチャートである。
【図13】CBCモードによるデータの復号を説明するための図である。
【符号の説明】
【0167】
1…アンテナ、2…1セグメントデジタル放送チューナ(ワンセグ放送チューナ)、3…メモリ、4…ディスプレイ、5…キースイッチ、6…カードI/F、7…コントローラ、10…SDメモリカード、11…セキュア領域、12…ユーザ領域、13…システム領域、14…認証領域、30…録画コンテンツファイル、30a,30b,30c…ファイル、31,32…制御用パケット、43…非暗号部分、44…暗号部分、46…コピー制御情報(CCI)、48,50…改ざん検出コード、PD0-PDn…プレーンデータ、CD0-CDn…コーデッドデータ。
【技術分野】
【0001】
本発明は、例えばデータ処理装置およびデータ処理方法に関する。
【背景技術】
【0002】
わが国では、13のセグメント構造を持つ地上デジタル放送の試験放送が既に開始されている。
【0003】
地上デジタル放送では、13のセグメントのうちの中央の1つのセグメントのみを部分受信することが可能であり、1セグメントデジタル放送、いわゆるワンセグ放送として携帯端末向けや移動体向けにサービスを開始することが検討されている。
【0004】
現在、ワンセグ放送をメモリカードなどの記憶媒体に記録するための規格化が検討されている。
【0005】
従来、著作権保護されたデジタル放送をデジタルチューナで受信し、得られた映像コンテンツをCPRM(Content Protection for Recordable Media)の技術でSD-Video規格に則ったメモリカード(例えばSDメモリカードなど)に記録する場合、コピー制御情報(Copy Control Information:以下CCIと称す)は、SDメモリカードのセキュア領域に記録される。
【0006】
ワンセグ放送では、処理性能が比較的低い携帯型受信機端末などに上記SDメモリカードをセットした上で、受信した映像コンテンツをSDメモリカードに録画することが想定される。
【0007】
この場合、従来のCCIの変化に伴うファイル分割やこれに伴って生じるセキュア領域へのアクセス回数を減らして処理負荷を軽減する必要がある。
【0008】
このことから、CCIについては、SDメモリカード内のユーザが容易にアクセス可能な記憶領域(以下ユーザ領域と称す。)に暗号化して記録することが望ましい。
【0009】
しかし、CCIなどの情報は、比較的ビット数が少ないため、単に暗号化してユーザ領域に記録するだけでは、安易な総当り検索などの手法で不正な改ざんを行うことができてしまう。
【0010】
CCIの改ざんによる不正を検出できないと映像コンテンツを再生する装置側でコピー制御が正常に行えず誤動作を起こす可能性がある。
更に録画した番組について、CCIに基づく再生やコピーの可否の情報も含めたリスト一覧表示を行う場合、番組リストが増えると、暗号化したCCIを復号すること自体も、携帯型受信機比較的処理能力の低い機器にとっては処理の負荷か高く、表示の応答性を損なう要因となる。
【0011】
先行技術としては、第三者がデータを読み出し不可能なセキュリティ領域(セキュア領域に相当)と読み出し可能なデータ領域(ユーザ領域に相当)とを有する媒体のデータに対して著作権の保護を行う技術がある(例えば特許文献1参照)。
【0012】
この技術の場合、媒体のデータ領域に、暗号化したデータや著作権保護情報を記憶し、暗号化データを復元するためのキー情報(暗号化コンテンツキー)をセキュリティ領域に記憶しておくことで、たとえ媒体から著作権保護情報や暗号化データがコピーされたとしても、データの復元、つまりデータの再生をできなくすることができる。
【特許文献1】特開2001-28572公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
上述した先行技術の場合、CCIをセキュア領域へ記憶しておけば、CCIの不正な改ざんは非常に困難となり、コピーや不正なデータの再生などはできなくなる。
【0014】
しかしながら、CCIの設定は、番組を放送する側で変えられることから、この場合、CCIの変化に応じてセキュア領域へのアクセスが発生することになる。これでは、処理性能が比較的低い機器に著作権保護機能を搭載しにくくなるという問題がある。
【0015】
本発明はこのような課題を解決するためになされたもので、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体の第2の記憶領域にコピー制御情報を記憶しながらも不正行為によるデータのコピーおよび再生を防止できるデータ処理装置およびデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【0016】
上記した目的を達成するために、本発明のデータ処理方法は、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体にデータを記憶するデータ処理装置におけるデータ処理方法において、前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有するパケットをデータ処理装置が順に生成し、前記データ処理装置が生成した複数のパケットからなるファイルを所定の暗号方式で暗号化して前記記憶媒体の前記第2の記憶領域に記憶することを特徴とする。
【0017】
本発明のデータ処理装置は、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、前記記憶媒体に記憶されたデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域から暗号化されたファイルを読み込むことで、前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有する複数のパケットを生成し、前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記コピー制御情報と、前記パケットの前記非暗号部分から得られたコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、いずれか一方の判定により改ざん有りと判定された場合、データの読み込みを中止するコントローラを具備したことを特徴とする。
【0018】
本発明のデータ処理装置は、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、前記記憶媒体に記憶された所望のデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域からデータ管理情報を読み出し、前記第2の記憶領域の暗号化されたファイルから、非暗号部分と暗号部分とを有するパケットデータを読み出し、読み出したパケットのデータを前記メモリに記憶すると共に、前記パケットの非暗号部分に含まれるコピー制御情報を前記メモリに記憶し、前記パケットの暗号化部分のデータを、前記データ管理情報により指定された参照先の前記第1の記憶領域の暗号鍵を用いてブロック暗号の連鎖モードで復号し、復号した暗号化部分のデータに含まれる所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、復号後の暗号化部分のデータに含まれるコピー制御情報と、前記メモリに記憶しておいた非暗号部分のコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、いずれか一方の判定により改ざん有りと判定された場合、データをメモリに読み込むことを中止するコントローラを具備したことを特徴とする。
【0019】
本発明では、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体の、第2記憶領域にコピー制御情報を暗号化して記憶する場合に、コピー制御情報を、パケットの非暗号部分と暗号部分にそれぞれ設定する。
【0020】
暗号部分については、ブロック暗号の初めのブロックにコピー制御情報を設定し、その位置から少なくとも1ブロック長以上離れた位置にコピー制御情報の改ざんを検出するための所定の情報を配置し、これもコピー制御情報と一緒に連鎖モードで暗号化し、それを第2記憶領域に記憶する。暗号部分については、ブロック暗号方式の連鎖モードを用いてデータを暗号化する。
【0021】
また、改ざんを検出するための所定の情報は、ユーザから容易にアクセスできないセキュアな第1の記録領域に記録しておき、記憶媒体のデータを読み出す際に、コピー制御情報の改ざん判定と、所定の情報の改ざん判定とをセットで行い、2つの改ざん判定で少なくとも一方が改ざん有りと判定された場合は、記憶媒体からのデータの読み出しを中止する。
【発明の効果】
【0022】
以上説明したように本発明によれば、著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体の第2の記憶領域にコピー制御情報を記憶しながらも不正行為によるデータのコピーおよび再生を防止できる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は本発明の一つの実施形態に係る1セグメントデジタル放送受信録画再生装置(以下ワンセグメントレシーバと称す。)の構成を示す図、図2は図1のワンセグメントレシーバにセットされる記憶媒体としてのSDメモリカードの記憶領域を示す概略図である。
【0024】
図1に示すように、このワンセグレシーバは、アンテナ1が接続された1セグメントデジタル放送チューナ2(以下ワンセグ放送チューナ2と称す)と、メモリ3と、ディスプレイ4と、キースイッチ5と、カードインターフェース6(以下、カードI/F6と称す。)を有している。
【0025】
ワンセグ放送チューナ2は、アンテナ1から1セグメントデジタル放送を受信し、デジタル信号の復調などの処理過程を経てMPEG2トランスポートストリーム(以下MPEG2_TSと称す。)のデータストリームを生成し、コントローラ7へ出力する。
【0026】
コントローラ7は、入力されたMPEG2_TSをメモリ3にバッファリングしつつ映像パケット、音声パケットに分離して、それぞれをデコードする。デコードされた映像および音声データは、メモリ3からディスプレイ4へ出力される。これによりディスプレイ4の画面に1セグメントデジタル放送の映像が再生される。
【0027】
メモリ3には、著作権保護機能に対応したアプリケーションからアクセスがあったときにコントローラ7がSDメモリカードと10と認証処理を行うための認証用データが記憶されている。認証用データは、例えば認証過程の暗号処理で用いるデバイス鍵などである。
【0028】
また、メモリ3には、コントローラ7に処理動作を実行させる制御プログラムが記憶されている。
【0029】
メモリ3は、カードI/F6によりSDメモリカード10へ書き込まれるデータ、またはカードI/F6により読み込まれたSDメモリカード10のデータの一時記憶場所、つまり出力バッファになり、このメモリ3を介して入出力される。ディスプレイ4は、入力された映像を画面に表示する。
【0030】
キースイッチ5は、ユーザが1セグメントデジタル放送の受信チャネルを選択操作するためのスイッチである。また、キースイッチ5には、SDメモリカード10への番組の選択、録画または再生などの指示が行われることで、それぞれの指示をコントローラ7へ入力する。
【0031】
コントローラ7は、キースイッチ5が上記のように操作されたことで各指示を受け付け、その指示に応じた各部の制御、つまり番組、選局制御、録画制御また再生制御などを行う。
【0032】
コントローラ7は、図4に示すように、データをコピーする条件を示すコピー制御情報46(以下CCI46と称す。)を設定した非暗号部分43と、CCI46と同じ情報(複製情報)であるCCI47と、改ざん検出コード48(所定の情報)とを所定の位置(図示位置)に配置した上で、暗号鍵ファイルEk1で指定されたルールR1〜RNのいずれかに従って所定の暗号化方式で暗号化した暗号部分44とを有する制御用パケット31,32…を順に生成する。所定の暗号化方式とは、ブロック暗号の連鎖モードの一つであるCBCモードなどである。
【0033】
コントローラ7は、順に生成した複数のパケット31,32…からなる各ファイル30a,30b…30cをユーザ領域12に記憶する。
【0034】
コントローラ7は、ブロック暗号方式によりデータをブロック毎に暗号化してCCI47と改ざん検出コード48とを暗号部分44に配置する際に、ブロックの初めの位置にCCI47を配置すると共に、その位置から1ブロック長分以上離れた位置に改ざん検出コード48を配置する。
【0035】
コントローラ7は、予め決められた所定の値を改ざん検出コード48として用いる。コントローラ7は、暗号部分44に配置した検出コード48と関連する改ざん検出コード50をセキュア領域11の認証領域14に記憶する。
【0036】
改ざん検出コード48および改ざん検出コード50は、あらかじめ決められた固定値を用いてもよく、また、録画するMPEG2_TSのパケットデータを入力とする、あらかじめ決められた計算により求めた値であってもよい。
【0037】
また、計算により求める値とする場合、コントローラ7は、SDメモリカード10からデータを読み出す際に、認証領域14に記憶した値を読み出し、その値をパラメータとして、所定の計算を実行して得られた値を改ざん検出コード50として用いてもよい。
【0038】
コントローラ7は、改ざん検出コード48,50を1バイト以上のコードとして生成し認証領域14へは改ざん検出コード50を記憶する。
【0039】
ブロック暗号方式とは、データをブロック毎に暗号化する暗号方式であり、ECBモードやCBCモードなどがある。コントローラ7は、例えばCBC(Cipher Book Chaining)モードまたはC−CBC(Converted Cipher Book Chaining)モードなどの連鎖モードを用いてデータを暗号化する。なお、この例では、CBCモードを例にして説明する。
【0040】
コントローラ7は、SDメモリカード10に記憶されているユーザ領域12のデータをコピーする際には、上記の手順と逆の手順によりパケットを生成し、各パケットから抽出したCCIと改ざん検出コードとのセットでデータの不正な改ざんの有無を判定し、改ざんされていないと判定した場合に限りメモリ3の作業領域のデータを出力バッファへ出力する。
【0041】
すなわち、コントローラ7は、キースイッチ5の操作などにより、SDメモリカード10に記憶されたデータの読み出しが指示された場合、まず、SDメモリカード10のユーザ領域12から、暗号化されたファイルを読み込んで所定の暗号化方式で復号することで、CCI46を設定した非暗号部分43と、CCI47と改ざん検出コード48とを所定の位置に配置した暗号部分44とを有する複数のパケットを生成する。
【0042】
コントローラ7は、暗号部分44について、ブロック暗号方式によりデータをブロック毎に復号してCCIと改ざん検出コード48とを得る際に、ブロックの初めの位置からCCI48を取得すると共に、その位置から1ブロック長分以上離れた所定の位置から改ざん検出コード48を取得する。
【0043】
コントローラ7は、ブロック暗号方式の中の連鎖モードを用いてデータを復号する。コントローラ7は、連鎖モードとしてCBC(Cipher Book Chaining)モードまたはC−CBC(Converted Cipher Book Chaining)モードを用いてデータを復号する。
【0044】
コントローラ7は、各パケットの暗号部分44を所定の暗号化方式で復号して得られた改ざん検出コード48と、セキュア領域11の認証領域14から読み出した改ざん検出コード50とを比較して互いの一致、不一致を判定する。
【0045】
コントローラ7は、改ざん検出コード50としてセキュア領域11の認証領域14から2ビットまたは4ビットのコードを読み出す。
【0046】
コントローラ7は、各パケットの暗号部分44を所定の暗号化方式で復号して得られたCCI47と、同じパケットの非暗号部分43から得られたCCI46とを比較して互いの一致、不一致を判定することで、CCI46の改ざんの有無を判定する。
【0047】
コントローラ7は、いずれか一方の比較判定の結果が不一致であった場合、データの改ざんがあったものと判定してメモリ3の作業領域のデータを、出力バッファを通じてアプリケーションへ出力することと、ユーザ領域12のデータの読み込みを中止する。つまり、コントローラ7は、SDメモリカード10のデータをメモリ3に読み込むことを中止する。
【0048】
カードI/F6には、SDカードスロット(図示せず)が設けられており、SDメモリカード10が着脱自在に装着される。
【0049】
カードI/F6は、コントローラ7により制御されて、SDカードスロットにセットされたSDメモリカード10へのデータのリードおよびライトを行う。
【0050】
つまりカードI/F6は、コントローラ7により制御されて、書き込み対象のデータをメモリから読み出してSDメモリカード10へ書き込む。
【0051】
また、カードI/F6は、コントローラ7により制御されて、SDメモリカード10からデータを読み出し、メモリ3へ一時記憶する。
【0052】
SDメモリカード10は、著作権保護機能の一つであるCPRM(Content Protection for Recordable Media)技術に則ったメモリカードである。
【0053】
SDメモリカード10は、カードI/F6とのインターフェースであるSD入出力部であるSDI/O、メモリコントローラ、記憶領域であるフラッシュメモリを備えている。
【0054】
図2に示すように、SDメモリカード10のフラッシュメモリは、セキュア領域11とユーザ領域12に区分されている。
【0055】
セキュア領域11には、システム領域13と、認証領域14が設けられている。システム領域13には、カード自体を識別するためのメディアID15が記憶されている。メディアID15は、データ読み出し時の認証に使用されるメディア固有の識別情報である。セキュア領域11は、アプリケーションからのアクセスが制限された記憶領域である。
【0056】
認証領域14は、機器のアプリケーションからこの記憶メディアにアクセスする際に、機器とメディア間で相互認証し、認証されたアプリケーションからのみアクセスが可能となる領域である。
【0057】
この相互認証では、CPRM技術のライセンスを受けた(著作権保護技術に準拠した)アプリケーションのみがあらかじめ保持するパラメータを用いた、暗号技術が用いられる。
【0058】
つまり、認証領域14は、CPRM技術のライセンスを受けたアプリケーションからのみアクセス可能であり、通常のアプリケーションからはアクセス不可能な隠し領域である。この認証領域14を第1の記憶領域という。
【0059】
この認証領域14には、ルートディレクトリの配下のディレクトリ、例えば図2のディレクトリBなどに、暗号鍵管理ファイルEMF、複数の暗号鍵ファイルEk1…k4などが記憶されている。
【0060】
暗号鍵管理ファイルEMFは、複数の暗号鍵ファイルEk1…Ek4を管理するためのファイルである。
【0061】
暗号鍵ファイルEk1には、複数のルール、例えばルールR1、ルールR2、…、ルールRNが記憶されている。
【0062】
各ルールR1、ルールR2、…、ルールRNは、録画コンテンツファイルを分割したそれぞれのファイルの単位に暗号化するための暗号鍵である。
【0063】
一方、ユーザ領域12は、通常のアプリケーションからアクセス可能な領域であり、この記憶領域を第2の記憶領域、言い換えればアプリケーションからのアクセスが制限されない記憶領域である。
【0064】
ユーザ領域12には、ルートディレクトリの配下のディレクトリ、例えば図2に示すディレクトリAなどには、ディレクトリD1、D2…と、管理データディレクトリMDDとが設けられている。
【0065】
ディレクトリD1、D2…は、録画番組毎の録画コンテンツファイルが格納されるディレクトリである。
【0066】
ディレクトリD1には、複数のファイルF11、F12、F13…と管理ファイルMF1が格納されている。
【0067】
これらのファイルF11、F12、F13…は、録画コンテンツファイルを所定の保存単位に分割した上で、暗号化したファイルである。
【0068】
管理ファイルMF1は、複数のファイルF11、F12、F13…の読み出しなどを管理するためのデータ管理情報のファイルであり、アプリケーションによるデータ読み取りのため参照先が指定されている。
【0069】
参照先としては、例えば認証領域14の暗号鍵ファイルEk1のルールR1とルールR2が指定されている。これにより、各ファイルF11、F12、F13…は、指定されたルールに従って復号される。この例では、ルールR1に従ってファイルF11が復号され、ルールR2に従ってファイルF13が復号される。
【0070】
ディレクトリD2には、管理ファイルMF2、複数のファイルF21、…が格納されている。ファイルF21…などは、暗号化されたファイルである。
【0071】
管理ファイルMF2は、複数のファイルF21、…を管理するためのファイルである。
【0072】
管理データディレクトリMDDには、管理データファイルMDF1、MDF2が格納されている。
【0073】
管理データファイルMDF1、MDF2は、ディレクトリAの内部ディレクトリに録画されているコンテンツ全般の情報(例えば総録画時間)が格納されるファイルである。
【0074】
ここで、図3、図4を参照して録画コンテンツファイルの保存形式(録画形式)について説明する。
【0075】
図3に示すように、録画コンテンツファイル30は、保存単位のファイル30a,30b,30c…に分割されて、ブロック暗号方式の、いくつかある暗号化モードのうちの、例えば連鎖モードで暗号化されてSDメモリカード10のユーザ領域12に保存される。ブロック暗号方式の連鎖モードについては後で説明する。
【0076】
一つのファイルは、制御用パケットと、少なくとも一つのトランスポートストリームパケット(以下TS パケットと称す。)とで構成される。
【0077】
具体的には、図3に示すように、初めのファイル30aは、制御用パケット31とTS パケット#1…#kとで構成され、次のファイル30bは、制御用パケット32とTS パケット#k+1…#2kで構成される。
【0078】
なお、ブロック暗号方式の連鎖モードでは、初めのファイル30aの先頭の制御用パケット31は、前のデータを利用できないため、途中のブロックから暗号化される。
【0079】
図4に示すように、各制御用パケット31,32…は、初めの4バイトの部分41と後ろの188バイトの部分42とから構成されている。
【0080】
後ろの188バイトの部分42は、非暗号部分43と暗号部分44とに分けられる。
【0081】
非暗号部分43には、トランスポートストリームの先頭を示すシンクバイト(47h)の部分45と、先頭から所定位置に書き込まれたコピー制御情報46(以下CCI46と称す)とが含まれている。CCI46については後述する。
【0082】
暗号部分44は、暗号化対象のデータを所定長のブロック単位に分けてそれぞれを所定の暗号化方式である連鎖モードで暗号化したものである。
【0083】
暗号部分44の先頭位置には、CCI46を複製したCCI47が挿入される。また、暗号部分44の先頭からブロック暗号の1ブロック長以上離れた位置に、改ざん検出コード48が挿入される。改ざん検出コード48は、その都度生成されるものであり、乱数計算などの計算手法によりランダムに生成してもよく、予め決められた規則で生成してもよい。
【0084】
一方、認証領域14には、例えば1バイトまたは2バイト程度の改ざん検出コード50が記憶される。改ざん検出コード50は、例えばルールR2による認証時の参照先として暗号化鍵と共に認証領域14(セキュア領域11)に記憶される。
【0085】
この改ざん検出コード50を複製したもの、つまり同じものが、ユーザ領域12に記憶される改ざん検出コード48である。改ざん検出コード48は、暗号化された状態でユーザ領域12に記憶される。
【0086】
図5に示すように、CCI46,47には、デジタルコピー制御記述子と、コンテンツ利用記述子とが設定されている。CCI46,47は、デジタルコピー制御記述子とコンテンツ利用記述子とを合わせて8ビット以下のデータ長で記述される。
【0087】
それぞれの記述子を組み合わせることでデジタル記録の可否とコピー制御内容を指定できる。
【0088】
デジタルコピー制御記述子には、コピーコントロールタイプとデジタル録画暗号化モード制御データが設定される。コンテンツ利用記述子には、暗号化モードの種類が設定される。
【0089】
例えばコピーコントロールタイプが「01」または「11」の場合、記録不可を示す。
【0090】
また、コピーコントロールタイプが「10」で、デジタル録画暗号化モード制御データが「00」で、コンテンツ利用記述子が「0」では、制限条件なしに(非暗号で)コピー可能を示す。
【0091】
コピーコントロールタイプが「10」で、デジタル録画暗号化モード制御データが「10」では、一世代のみ記録可能を示す。
【0092】
一世代のみ記録可能とは、一世代目のデータを記録するときにビットフラグを記録不可の状態に更新して記録することを示す。
【0093】
つまり、CCI46,47は、データを読み出す際にコピーフリー、コピーワンス、コピーネバーなどのようにデータの読み出し条件を規定した情報である。
【0094】
以下、図6〜図9を参照してこのワンセグレシーバによる1セグメントデジタル放送の、番組の録画動作および再生動作を説明する。まず、録画動作について説明する。
【0095】
このワンセグレシーバで受信した1セグメントデジタル放送のある番組をSDメモリカード10に録画する場合、通常の番組視聴状態からユーザがキースイッチ5にて所望の番組を選択操作すると、コントローラ7は、ワンセグ放送チューナ2を制御して該当番組を受信し、メモリ3にバッファリングしつつディスプレイ4に表示する。
【0096】
ここで、キースイッチ5の録画ボタンなどで、番組の録画操作が行われると、コントローラ7は、SDメモリカード10のセキュア領域11への相互認証を行う、録画コンテンツを暗号化する暗号鍵の記憶処理を行う(図6のステップ101)。ここでステップを「S」と省略する。なお、このセキュア領域11へ記憶処理については後で詳細に説明する。
【0097】
また、コントローラ7は、ユーザ領域12へ新たな録画用のディレクトリを生成する。
【0098】
セキュア領域11への暗号鍵の記録処理が正常に終了すると(S102のYes)、コントローラ7は、ワンセグ放送チューナ2により受信されてMPEG2TS形式に変換された番組のコンテンツである録画コンテンツファイル30を、ユーザ領域12の該当ディレクトリにファイル単位に記憶してゆく(S103)。
【0099】
また、コントローラ7は、録画コンテンツファイル30を管理するためのファイル(管理データファイルMDF1、管理ファイルMF1など)をユーザ領域12の該当ディレクトリに記憶する(S104)。
【0100】
続いて、上記S101におけるセキュア領域11への記録処理について説明する。
【0101】
コントローラ7は、SDメモリカード10のセキュア領域11へアクセスするために、SDメモリカード10のメモリコントローラとの間で相互認証処理を行う(S111)。
【0102】
認証処理が成功すると、コントローラ7は、所定のルールに従って改ざん検出コードと暗号鍵を生成し、この改ざん検出コードをメモリ3の改ざん検出コード記憶領域に記憶(格納)し(S112)、生成した暗号鍵をメモリ3の暗号鍵記憶領域に記憶(格納)する(S113)。
【0103】
続いて、コントローラ7は、カードI/F6を介して、SDメモリカード10のセキュア領域11に暗号鍵と改ざん検出コードを記憶する(S114)。
【0104】
次に、SDメモリカード10のユーザ領域12へ録画コンテンツファイル30を記憶する具体的な処理について詳細に説明する。
【0105】
録画開始後、コントローラ7は、予約録画機能により予約録画が終了したか、またはキースイッチ5により録画終了操作が行われたかを監視し、録画終了か否かを判定する(図8のS120)。
【0106】
コントローラ7は、録画対象のデータを、複数のTSパケットからなる1フラグメントの単位で処理しており、上記判定の結果、録画終了ではない場合(S120のNo)、そのデータが、録画コンテンツファイル30内のフラグメントの先頭のものか否かを判定する(S121)。
【0107】
フラグメントの先頭のものであれば(S121のYes)、コントローラ7は、制御用パケットデータを、デフォルト値で生成してメモリ3の出力バッファ領域へ出力する(S122)。
【0108】
録画対象のデータが、フラグメントの先頭のものでない場合(S121のNo)、コントローラ7は、ワンセグ放送を受信して生成したMPEG2TSの1パケット分のデータをメモリ3の出力バッファ領域へ出力する(S123)。コントローラ7は、この処理をフラグメントの最後まで繰り返す(S124)。
【0109】
そして、フラグメントの最後、つまり所定のパケット数に達すると(S124のYes)、コントローラ7は、受信されたデータに含まれていたCCIを取得し(S125)、CCIのデジタルコピー制御記述子に設定されているコピーコントロールタイプとデジタル録画暗号化モード制御データとから、該当フラグメントはコピーフリーか否かを判定する(S126)。
【0110】
この判定の結果、該当フラグメントがコピーフリーでない場合(S126のNo)、コントローラ7は、CCIを基に該当フラグメントがコピー禁止か否かを判定する(S127)。
【0111】
この判定の結果、コピー禁止ではない場合(S127のNo)、コントローラ7は、出力バッファ内の制御用パケット31の暗号部分44の先頭位置にCCI47を設定する(S128)。
【0112】
また、コントローラ7は、制御用パケット31の暗号部分44に設定したCCI47の位置から、暗号方式の1ブロック長以上離れた位置に、改ざん検出コード48を設定する(S129)。
【0113】
そして、コントローラ7は、メモリ3の出力バッファ領域内の1フラグメント分のデータについて、連鎖モードで暗号化する(S130)。
【0114】
その後、コントローラ7は、暗号化した1フラグメント分のデータを録画コンテンツファイル30へ出力する(S131)。
【0115】
一方、上記S120における録画終了の判定処理で、録画終了と判定した場合(S120のYes)、コントローラ7は、メモリ3の出力バッファ領域内のデータをチェックし、制御用パケットデータのみか否かを判定する(S132)。
【0116】
この判定の結果、メモリ3の出力バッファ領域内のデータが制御用パケットデータのみでない場合、コントローラ7は、ワンセグ放送チューナ2によって受信されたデジタル放送のデータからCCIを取得し(S133)、取得したCCIを基に該当フラグメントがコピーフリーか否かを判定する(S134)。
【0117】
この判定の結果、該当フラグメントがコピーフリーでない場合(S134のNo)、コントローラ7は、CCIを基に該当フラグメントがコピー禁止か否かを判定する(S135)。
【0118】
この判定の結果、コピー禁止ではない場合(S135のNo)、コントローラ7は、出力バッファ内の制御用パケットデータにCCI46,47と改ざん検出コード48を設定する(S136)。
【0119】
この際、コントローラ7は、CCI46を非暗号領域43に設定(挿入)し、CCI47と改ざん検出コード48とを暗号領域の所定の位置に配置する。
【0120】
そして、コントローラ7は、改ざん検出コード48と同じコードである改ざん検出コード50をセキュア領域11の認証領域14に記憶する(S137)。
【0121】
その後、コントローラ7は、1フラグメント分のデータを録画コンテンツファイル30へ出力することで、SDメモリカード10のユーザ領域12の該当ファイルに記憶する(S131)。
【0122】
ここで、上記S130の暗号化処理について説明する。このワンセグレシーバでは、ブロック暗号方式の一つの連鎖モードとして、例えばCBCモードを採用している。CBCとは、Cipher Book Chainingの略称である。
【0123】
CBCモードでは、一つのブロックを暗号化するために直前に暗号化したブロックの暗号結果を入力パラメータとして使用する。これにより、暗号化前の平文に含まれる固定的なビットパターンをかく乱してセキュリティの高い暗号化を行うことができる。
【0124】
具体的には、例えば図9に示すように、入力データをブロック長(例えば128ビットなど)毎にプレーンデータPD0〜PDnに分割し、初めのプレーンデータPD0に対しては、暗号初期値(IV)との間で排他的論理和演算XORを行った後、これを暗号鍵Kで暗号化してコーデッドデータCD0として出力する。
【0125】
以降のPD1,…PDnについては、IVの代わりに直前の暗号化データ(それぞれCD0,…Dn-1)との間で排他的論理和演算XORを行った後、これを暗号鍵(K)で暗号化して出力する。
【0126】
次に、図9〜図12を参照してこのワンセグレシーバにおいて、SDメモリカード10に記憶されている録画済みデータのコピー処理(読み出し処理)について説明する。
【0127】
この場合、SDメモリカード10のディレクトリをディスプレイ4に表示し、その中から所望の録画コンテンツファイル30をユーザがキースイッチ5で選択操作すると、コントローラ7は、SDメモリカード10のユーザ領域12から、コピー対象の録画コンテンツファイル30の管理ファイル、例えば管理ファイルMF1などを読み出す処理を行う(図10のS201)。
【0128】
コントローラ7は、読み出した管理ファイルMF1のデータによって指定されている認証領域14(セキュア領域11内)の暗号鍵ファイルを読み出す処理を行う(S202)。
【0129】
暗号鍵ファイルの読み出し処理が正常に終了した場合(S203のYes)、コントローラ7は、SDメモリカード10のユーザ領域12の録画コンテンツファイル30のコピーのためのデータの読み出し処理を行う(S204)。
【0130】
認証領域14またはユーザ領域12のデータのうち片方か両方のデータ、つまり少なくとも一方のデータの読み出し処理が正常に終了しなかった場合(S203のNoまたはS205のNo)、コントローラ7は、異常終了と判定してSDメモリカード10のデータの読み出しを中止する(S206)。
【0131】
データの読み出し処理が正常に終了した場合(S205のYes)、コントローラ7は、処理を終了する。
【0132】
続いて、上記S202におけるセキュア領域11からのデータの読み出し処理について説明する。
【0133】
コントローラ7は、SDメモリカード10のセキュア領域11へアクセスするために、SDメモリカード10のメモリコントローラとの間で相互認証処理を行う(S211)。
【0134】
この相互認証処理では、レシーバ側のメモリ3およびセキュア領域11にあらかじめ設定されているパラメータを用いた暗号技術による認証を行う。
【0135】
正規のレシーバは、および正規のSDメモリカードのみが復号できる方法で暗号化したデータをSDメモリカード10に書き込み、SDメモリカード10のメモリコントローラは、これを復号して正・否をチェックする。
【0136】
この認証処理で相互認証が失敗すると(S212のNo)、コントローラ7は、セキュア領域11の認証領域14からのデータの読み出し処理を中止する(S213)。
【0137】
また上記認証処理で相互認証が成功すると(S212のYes)、コントローラ7は、SDメモリカード10の認証領域14の該当ユーセージルールの記憶データを基に改ざん検出コード50を読み出してメモリ3の改ざん検出コード記憶領域に記憶する(S214)。
【0138】
そして、コントローラ7は、SDメモリカード10の認証領域14の暗号鍵を読み出してメモリ3の暗号鍵記憶領域に記憶する(S215)。
【0139】
次に、SDメモリカード10のユーザ領域12に記憶されている録画コンテンツファイル30のコピーのための読み出し処理(上記図S204の処理)について詳細に説明する。
【0140】
コントローラ7は、コピー操作が行われた後、コピー終了か否かを常に監視している。
【0141】
コピー終了ではない場合(図12のS220のNo)、コントローラ7は、SDメモリカード10のユーザ領域12に記憶されているコピー対象の録画コンテンツファイル30から、MPEG2TSの1パケット分のデータを読み出し、メモリ3、つまり出力バッファに記憶する(S221)。なお、この例では、メモリ3を出力バッファとして共用したが、メモリ3と出力バッファとを別個に設けても良い。
【0142】
コントローラ7は、出力バッファに読み出した1パケット分のデータをチェックし、そのデータが録画コンテンツファイル30内のフラグメントの先頭か否かを判定する(S222)。
【0143】
この判定の結果、出力バッファのデータが録画コンテンツファイル30内のフラグメントの先頭の場合(S222のYes)、コントローラ7は、制御用パケット31の非暗号部分43のCCI46をメモリ3のコピー制御情報記憶領域に記憶する(S223)。
【0144】
そして、コントローラ7は、コピー制御情報記憶領域に記憶したCCI46の記述子に従ってデータの読み出し判定処理を行う(S233)。この判定処理では、CCI46に基づいてデータがコピー禁止か否かが判定される。
【0145】
この判定処理の結果、コピー禁止の場合(S225のYes)、コントローラ7は、データの読み出し処理を中止し(S226)、異常終了と判定して、コピー対象の録画コンテンツファイル30のコピーを終了する。
【0146】
また、上記判定処理の結果、コピー禁止ではない場合(S225のNo)、コントローラ7は、1パケット分ずつ読み込んだデータがフラグメントの最後、つまり所定のパケット数に達したか否かを判定する(S227)。
【0147】
この判定の結果、1パケット分ずつ読み込んだデータが所定のパケット数に達した場合、コントローラ7は、CCI46に基づいて該当フラグメントがコピーフリーか否かをチェックする。
【0148】
該当フラグメントがコピーフリーではない場合(S228のNo)、コントローラ7は、出力バッファ内の1フラグメント分のデータを、予め定められた復号方式である連鎖モード(CBCモード)で復号する(S229)。復号処理については後で説明する。
【0149】
復号後、コントローラ7は、復号した制御用パケットから改ざん検出コード48を読み出し(S230)、メモリ3に一時記憶する。
【0150】
また、コントローラ7は、認証領域14に予め記憶されていた改ざん検出コード50を読み出し、メモリ3に一時記憶した改ざん検出コード48と比較する(S231)。
【0151】
比較の結果、互いの改ざん検出コード48,50が不一致の場合(S231のNo)、コントローラ7は、データの読み出し処理を中止する(S226)。
【0152】
また、比較の結果、互いの改ざん検出コード48,50が一致した場合(S231のYes)、コントローラ7は、復号後の制御用パケットからCCI47を読み出す(S232)。
【0153】
そして、読み出したCCI47と予めメモリ3のコピー制御情報記憶領域に記憶しておいた非暗号部分43のCCI46とを比較する(S233)。
【0154】
この比較の結果、互いのCCI46,47が不一致の場合(S233のNo)、コントローラ7は、データの読み出し処理を中止する(S226)。
【0155】
また、比較の結果、互いのCCI46,47が一致した場合(S233のYes)、コントローラ7は、メモリ3に一時記憶しておいたデータをコピー先のバッファへ出力する(S234)。
【0156】
ここで、上記S229の復号処理について説明する。このワンセグレシーバでは、上記したようにブロック暗号方式の一つの連鎖モードとしてCBCモードを採用しており、CBCモードでデータを復号する。
【0157】
具体的には、図13に示すように、入力データをブロック長(128ビット)毎にコーデッドデータCD0〜CDnに分割し、初めのコーデッドデータCD0に対しては、これを鍵(K)で復号して暗号初期値(イニシャルバリュー:IV)との間で排他的論理和演算XORを行った後、初めのコーデッドデータCD0として出力する。以降のCD1,…CDnについては、これを鍵(K)で復号して、IVの代わりに直前の暗号データ(それぞれCD0,…Dn-1)との間で排他的論理和演算XORを行った後、出力する。
【0158】
このようにこの実施形態のワンセグレシーバによれば、SDメモリカード10の、ユーザが容易にアクセス可能なユーザ領域12にCCIを暗号化して記録する場合に、CCIを非暗号部分43と暗号部分44に分けて記憶すると共に、暗号部分44については、ブロック暗号をCBCモード(連鎖モード)で行い、暗号部分44の先頭にCCI47を配置すると共に、CCI47の位置から少なくとも1ブロック長以上離間した位置に、改ざん検出コード48を配置する。
【0159】
また、この改ざん検出コード48と同じコードである改ざん検出コード50をSDメモリカード10のユーザから容易にアクセスできないセキュアな記録領域(認証領域14)に暗号鍵Kなどと共に記憶しておき、データをコピーまたは読み出する際にCCI46,47だけでなく改ざん検出コード48,50についても両者を比較して一致をチェックすることで、パケットのデータの改ざんの有無を判定する。
【0160】
この比較判定の結果、いずれか一つの判定結果が不一致の場合、コントローラ7は、改ざんがあったものと判定して、データの読み込みを中止するので、CCI46,47をユーザ領域12に記憶しながらも不正行為によるデータの改ざんによるコピーおよび再生を防止できる。CCI46,47をユーザ領域12に記憶することで、従来のようにCCIの変化に応じてセキュア領域11へアクセスせずに済むようになり、処理性能の比較的低い携帯端末などの機器でもこの方法を利用できるようになる。
【0161】
なお、本発明は上記実施形態のみに限定されるものではない。上記実施形態では、改ざん検出コード48,50を乱数計算などの計算で求める例について説明したが、この他、例えば所定の値、つまり固定値にしても良い。
【0162】
また、改ざん検出コード48,50を計算で求める上では、CRCコード、チェックサムなどの手法を用いても良い。この場合のCRCコードを用いる場合は、暗号化するデータの先頭から、改ざん検出コード48までの位置についてチェックする。
【0163】
なお、上述したCBCモードという連鎖モードは、一例にしか過ぎず、このCBCモード以外にもブロック暗号方式にはさまざまな連鎖モードがあり、他の連鎖モードとして、例えばCFB(Cipher Feedback)、OFB(Output Feedback)などを本願発明に適用してもよい。
【0164】
また、例えばCBCモードベースの連鎖モードとしては、例えばC−CBCモード、FCBCモード、XCBCモードなどがあり、本願発明にこれらのモードを適用しても良い。C−CBCモードは、CPRMで規定されたC2アルゴリズムである。
【0165】
改ざん検出コード48,50は、認証領域14に記録した値をパラメータとして所定の計算により得られる値としてもよく、改ざん検出コード48は、コードの他、フラグやチェックビットなどでも良い。
【図面の簡単な説明】
【0166】
【図1】本発明の一つの実施形態のワンセグレシーバの構成を示す図である。
【図2】図1のワンセグレシーバで利用可能なSDメモリカードの記憶領域を示す図である。
【図3】録画コンテンツファイルのデータ構成を示す図である。
【図4】図3の録画コンテンツファイルに含まれる制御用パケットのフォーマットを示す図である。
【図5】コピー制御情報(CCI)の内容を示す図である。
【図6】ワンセグレシーバの録画動作を示すフローチャートである。
【図7】セキュア領域へデータを記憶する処理を示すフローチャートである。
【図8】ユーザ領域へのデータの記憶処理(図6のS103)を詳細に示すフローチャートである。
【図9】CBCモードによるデータの暗号化を説明するための図である。
【図10】SDメモリカードに記憶されたデータのコピーを行う処理を示すフローチャートである。
【図11】セキュア領域からデータを読み出す処理を示すフローチャートである。
【図12】録画コンテンツファイルのコピーのための読み出し処理(図10のS204)を詳細に示すフローチャートである。
【図13】CBCモードによるデータの復号を説明するための図である。
【符号の説明】
【0167】
1…アンテナ、2…1セグメントデジタル放送チューナ(ワンセグ放送チューナ)、3…メモリ、4…ディスプレイ、5…キースイッチ、6…カードI/F、7…コントローラ、10…SDメモリカード、11…セキュア領域、12…ユーザ領域、13…システム領域、14…認証領域、30…録画コンテンツファイル、30a,30b,30c…ファイル、31,32…制御用パケット、43…非暗号部分、44…暗号部分、46…コピー制御情報(CCI)、48,50…改ざん検出コード、PD0-PDn…プレーンデータ、CD0-CDn…コーデッドデータ。
【特許請求の範囲】
【請求項1】
著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体にデータを記憶するデータ処理装置におけるデータ処理方法において、
前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有するパケットを前記データ処理装置が順に生成し、
生成した複数のパケットからなるファイルを前記データ処理装置が前記記憶媒体の前記第2の記憶領域に記憶することを特徴とするデータ処理方法。
【請求項2】
前記暗号部分については、ブロック暗号方式によりデータをブロック毎に暗号化し、この際に、ブロックの初めの位置に前記コピー制御情報を配置すると共に、その位置から1ブロック長分以上離れた位置に前記所定の情報を配置することを特徴とする請求項1記載のデータ処理方法。
【請求項3】
前記ブロック暗号方式の中の連鎖モードを用いてデータを暗号化することを特徴とする請求項2記載のデータ処理方法。
【請求項4】
著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、
前記記憶媒体に記憶されたデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域から暗号化されたファイルを読み込むことで、前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有する複数のパケットを生成し、
前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、
前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記コピー制御情報と、前記パケットの前記非暗号部分から得られたコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、
いずれか一方の判定により改ざん有りと判定された場合、データの読み込みを中止するコントローラを具備したことを特徴とするデータ処理装置。
【請求項5】
著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、
前記記憶媒体に記憶された所望のデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域からデータ管理情報を読み出し、
前記第2の記憶領域の暗号化されたファイルから、非暗号部分と暗号部分とを有するパケットデータを読み出し、
読み出したパケットのデータを前記メモリに記憶すると共に、前記パケットの非暗号部分に含まれるコピー制御情報を前記メモリに記憶し、
前記パケットの暗号化部分のデータを、前記データ管理情報により指定された参照先の前記第1の記憶領域の暗号鍵を用いてブロック暗号の連鎖モードで復号し、
復号した暗号化部分のデータに含まれる所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、
復号後の暗号化部分のデータに含まれるコピー制御情報と、前記メモリに記憶しておいた非暗号部分のコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、
いずれか一方の判定により改ざん有りと判定された場合、データをメモリに読み込むことを中止する
コントローラを具備したことを特徴とするデータ処理装置。
【請求項6】
前記コントローラは、
前記記憶媒体に記憶されたデータの前記暗号部分について、ブロック暗号方式によりデータをブロック毎に復号して前記コピー制御情報と前記所定の情報とを得る際に、ブロックの初めの位置から前記コピー制御情報を取得すると共に、その位置から1ブロック長分以上離れた位置から前記所定の情報を取得することを特徴とする請求項4または5記載のデータ処理装置。
【請求項1】
著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体にデータを記憶するデータ処理装置におけるデータ処理方法において、
前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有するパケットを前記データ処理装置が順に生成し、
生成した複数のパケットからなるファイルを前記データ処理装置が前記記憶媒体の前記第2の記憶領域に記憶することを特徴とするデータ処理方法。
【請求項2】
前記暗号部分については、ブロック暗号方式によりデータをブロック毎に暗号化し、この際に、ブロックの初めの位置に前記コピー制御情報を配置すると共に、その位置から1ブロック長分以上離れた位置に前記所定の情報を配置することを特徴とする請求項1記載のデータ処理方法。
【請求項3】
前記ブロック暗号方式の中の連鎖モードを用いてデータを暗号化することを特徴とする請求項2記載のデータ処理方法。
【請求項4】
著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、
前記記憶媒体に記憶されたデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域から暗号化されたファイルを読み込むことで、前記データをコピーする条件を示すコピー制御情報を設定した非暗号部分と、前記コピー制御情報と所定の情報とを所定の位置に配置した暗号部分とを有する複数のパケットを生成し、
前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、
前記各パケットの前記暗号部分を所定の暗号化方式で復号して得られた前記コピー制御情報と、前記パケットの前記非暗号部分から得られたコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、
いずれか一方の判定により改ざん有りと判定された場合、データの読み込みを中止するコントローラを具備したことを特徴とするデータ処理装置。
【請求項5】
著作権保護技術に準拠した特定のアプリケーションからのみアクセスが可能な第1の記憶領域と前記特定のアプリケーションおよびその他のアプリケーションからのアクセスが可能な第2の記憶領域とを有する記憶媒体に記憶されたデータを処理するデータ処理装置において、
前記記憶媒体に記憶された所望のデータの読み出しが指示された場合、前記記憶媒体の前記第2の記憶領域からデータ管理情報を読み出し、
前記第2の記憶領域の暗号化されたファイルから、非暗号部分と暗号部分とを有するパケットデータを読み出し、
読み出したパケットのデータを前記メモリに記憶すると共に、前記パケットの非暗号部分に含まれるコピー制御情報を前記メモリに記憶し、
前記パケットの暗号化部分のデータを、前記データ管理情報により指定された参照先の前記第1の記憶領域の暗号鍵を用いてブロック暗号の連鎖モードで復号し、
復号した暗号化部分のデータに含まれる所定の情報と、前記第1の記憶領域から読み出した情報とを用いて前記所定の情報の改ざんの有無を判定し、
復号後の暗号化部分のデータに含まれるコピー制御情報と、前記メモリに記憶しておいた非暗号部分のコピー制御情報とを比較して互いの一致、不一致を判定することで前記コピー制御情報の改ざんの有無を判定し、
いずれか一方の判定により改ざん有りと判定された場合、データをメモリに読み込むことを中止する
コントローラを具備したことを特徴とするデータ処理装置。
【請求項6】
前記コントローラは、
前記記憶媒体に記憶されたデータの前記暗号部分について、ブロック暗号方式によりデータをブロック毎に復号して前記コピー制御情報と前記所定の情報とを得る際に、ブロックの初めの位置から前記コピー制御情報を取得すると共に、その位置から1ブロック長分以上離れた位置から前記所定の情報を取得することを特徴とする請求項4または5記載のデータ処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−164377(P2007−164377A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−358326(P2005−358326)
【出願日】平成17年12月12日(2005.12.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願日】平成17年12月12日(2005.12.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]