共有データ保護方法及び保護装置並びにローカルストレージを用いた記録媒体再生方法及び再生装置
共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び再生装置が開示される。本発明は、ローカルストレージに記録媒体と関連した共有データをダウンロードし、共有データに対する有効なアクセス情報を持つアプリケーションのみが共有データにアクセスできるように許容する。また、本発明は、ローカルストレージに記録媒体と関連した暗号化された共有データをダウンロードし、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって共有データを含むバーチャルパッケージを生成し、バーチャルパッケージを用いて共有データを解読し、解読された共有データを再生することを含む。したがって、真のコンテンツプロバイダによって提供されたコンテンツ及び変質していないコンテンツのみが再生されるようにすることによって共有データを保護できる。また、権限のないアプリケーションによる悪意的な機能から共有データを保護することもできる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は記録媒体の再生に関し、特に、共有データ(shared data)を保護する方法及び装置と、ローカルストレージを用いて記録媒体からデータを再生する方法及び装置に関する。
【背景技術】
【0002】
記録媒体として大容量のデータを記録できる光ディスクが広く使用されている。なかでも最近では高画質のビデオデータと高音質のオーディオデータを長時間記録格納することができる新しい高密度記録媒体、例えば、ブルーレイディスク(BD:Blu-ray Disc(登録商標))が開発されている。
【0003】
次世代記録媒体技術であるBDは、既存のDVDを顕著に凌駕する量のデータを備える次世代光記録ソリューションである。近来、他のデジタル機器と共にBDを研究し、開発する多くの努力が行われている。
【0004】
BD規格を応用した光記録再生装置が開発され始めている。しかし、未だBD規格は完備しておらず、完成した光記録/再生装置を開発するのに多くの難題が生じている。
【0005】
特に、上記のような光記録再生装置は、BDに記録し、およびBDを再生する基本機能の他に、周辺のデジタル機器との統合的使用を考慮した付加的な機能も考慮しなければならない。すなわち、光記録再生装置は、外部入力信号を受信してこれをディスプレイするか、外部入力信号とBDを共に用いて再生する機能を必ず備えなければならない。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、外部入力信号及びBDを再生する場合において、コンテンツプロバイダによって提供された共有データを保護する好ましい方法が提案されておらず、また開発されておらず、本格的なBD基盤の光記録再生装置を開発するのに多くの制約がある。
【0007】
したがって、本発明は関連技術における制約及び不便による1又は複数の問題を除去するために、共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び装置に関する。
【0008】
本発明の一つの目的は、共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び装置を提供することによって、信頼のおけるコンテンツプロバイダによって提供される共有データを保護し、権限のないアプリケーションによってその共有データが使用されるのを防止することにある。
【0009】
本発明の他の目的は、共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び装置を提供することによって、共有データを保護することにある。
【0010】
本発明の付加的な長所、目的、特徴は以下の詳細な説明に一部記述され、以下の実施形態によって、または本発明の実施によって一部当業者に明らかとなる。本発明の目的及び他の長所は、添付図面の他に、発明の詳細な説明及び特許請求の範囲において特に指摘される構造によって実現され、そして達成される。
【課題を解決するための手段】
【0011】
これらの目的及び長所を達成するために、そして、本発明の目的にしたがって、本明細書において具体化され、広く説明されているように、本発明による共有データを保護する方法は、ローカルストレージに記録媒体と関連した共有データをダウンロードするステップと、共有データに対する有効なアクセス情報(接近情報)を持つアプリケーションが共有データにアクセス(接近)できるように許容する(permit)ステップと、を含む。
【0012】
例えば、そのアクセス情報は、アプリケーションのクレデンシャル情報(Credential)である。
【0013】
例えば、クレデンシャル情報は、パーミッション要求ファイル(permission request file)に含まれる。
【0014】
例えば、パーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在する。
【0015】
例えば、クレデンシャル情報は、供与者識別情報(Grantoridentifier)、有効期間(Expirationdate)、ファイル名(Filename)、署名(Signature)、およびCertchainfileidを含む。
【0016】
例えば、アプリケーションが共有データにアクセスする前に、共有データを認証(authenticate)するステップをさらに含む。
【0017】
例えば、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、その共有データは、コンテンツプロバイダの証明書(certificate)を用いて認証される。例えば、その証明書は、コンテンツプロバイダの署名を含む。
【0018】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダの証明書を用いて認証されることができる。
【0019】
例えば、その証明書は、コンテンツプロバイダ共同の署名(common signature)を含む。
【0020】
本発明の他の態様においては、ローカルストレージを用いて記録媒体を再生する方法は、記録媒体と関連する暗号化した共有データをローカルストレージにダウンロードするステップと、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって共有データを含むバーチャルパッケージ(virtual package)を生成するステップと、バーチャルパッケージを用いて共有データを解読する(decrypt)ステップと、解読されたデータを再生するステップと、を含む。
【0021】
例えば、共有データは、共有データにアクセスするアプリケーションの実行によって再生される。
【0022】
例えば、アプリケーションは、共有データに対するアクセス情報としてアプリケーションのクレデンシャル情報を含む。
【0023】
例えば、共有データは、アプリケーションに含まれたキーを用いて解読される。
【0024】
例えば、共有データは、記録媒体内に格納されたキーを用いて解読される。
【0025】
例えば、共有データは、光ディスクプレーヤー内に格納されたキーを用いて解読される。
【0026】
例えば、バーチャルパッケージを生成するときに、共有データは、バーチャルパッケージを生成するために、認証される。
【0027】
例えば、共有データが、1つのコンテンツプロバイダによって提供される記録媒体間で共有される場合、その共有データは、コンテンツプロバイダの1つの証明書内の1つの署名を用いて認証される。
【0028】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダの1つの証明書中の1つの共同の署名によって認証される。
【0029】
例えば、共有データが、1つのコンテンツプロバイダによって提供される記録媒体間で共有される場合、その共有データは、コンテンツプロバイダのキーを用いて認証される。
【0030】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダに合致する1つのキーを用いて認証される。
【0031】
本発明のさらに他の態様においては、共有データを保護する装置は、記録媒体と関連したダウンロードされた共有データを格納するローカルストレージと、その共有データに対する有効なアクセス情報を持つアプリケーションがその共有データにアクセスするように制御する制御装置と、を含む。
【0032】
例えば、アクセス情報は、アプリケーションのクレデンシャル情報である。
【0033】
また、クレデンシャル情報は、パーミッション要求ファイルに含まれることが好ましい。
【0034】
また、パーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在することが好ましい。
【0035】
また、制御装置は、アプリケーションが共有データにアクセスする前に、その共有データを認証することが好ましい。
【0036】
また、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、その共有データは、コンテンツプロバイダの証明書を用いて認証されることが好ましい。
【0037】
また、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダの1つの証明書を用いて認証されることが好ましい。
【0038】
また、本発明のさらに別の態様においては、ローカルストレージを用いて記録媒体を再生する装置は、記録媒体と関連したダウンロードされた暗号化された共有データを格納するローカルストレージと、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって、共有データを含むバーチャルパッケージを生成し、そのバーチャルパッケージを用いて共有データを解読して再生する制御装置と、を含む。
【0039】
共有データを解読するときに、制御装置は、共有データに対する有効なアクセス情報を有するアプリケーションが共有データにアクセスするように制御することが好ましい。
【0040】
また、アクセス情報は、共有データにアクセスするアプリケーションのクレデンシャル情報であることが好ましい。
【0041】
また、バーチャルパッケージを生成するときに、制御装置は、共有データを認証してバーチャルパッケージを生成することが好ましい。
【0042】
また、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、制御装置は、共有データをコンテンツプロバイダの1つの証明書を用いて認証することが好ましい。
【0043】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、制御装置は、複数のコンテンツプロバイダの証明書中の1つの共同の署名を用いて共有データを認証する。
【0044】
例えば、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、その共有データは、コンテンツプロバイダのキーを使用して暗号化される。
【0045】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダに合致するキーを使用して暗号化される。
【0046】
例えば、共有データを解読するときに、制御装置は、共有データにアクセスするアプリケーションに含まれたキーを用いて共有データを解読する。
【0047】
例えば、共有データを解読するときに、制御装置は、記録媒体内に格納されたキーを使用して共有データを解読する。
【0048】
例えば、共有データを解読するときに、制御装置は、光記録再生装置に格納されたキーを使用して共有データを解読する。
【0049】
したがって、本発明によれば、アプリケーションの悪意的な機能(malicious function)から再生システムを保護することが可能であり、さらには安全なコンテンツの提供が可能になる。したがって、本発明は、より便利な機能をユーザに提供する。
【0050】
上述の一般的な説明及び後述する本発明の詳細な説明は、例示的かつ説明目的のためのものであり、特許請求の範囲として本発明のさらなる説明を提供することが意図される。
【発明の効果】
【0051】
本発明は、次のような効果及び/または長所を提供する。
【0052】
第一に、共有データを認証することによって、認証されたコンテンツプロバイダによって提供されたコンテンツ及び変質していないコンテンツのみを再生することができ、それによって、共有データを保護することができる。
【0053】
第二に、また、アプリケーションに共有データに対するアクセス情報を提供することによって、権限のないアプリケーションによる悪意的な機能から共有データを保護することができる。
【0054】
第三に、共有データを暗号化することによって、共有データが権限のないアプリケーションによって使用されることを防止できる。
【発明を実施するための最良の形態】
【0055】
以下、本発明のさらなる理解を提供するために含まれ、本願の一部に組み込まれ、そして構成する添付図面は、本発明の実施形態及び本発明の原理を説明するのに役に立つ記述を用いて説明する。参照番号は、本発明の好ましい実施形態や添付図面に説明されている実施例に対して詳細に付される。同一または類似な構成要素については、可能なかぎり同一の参照符号を図面全体を通して使用する。
【0056】
説明の便宜上、本発明は、記録媒体の一例として光ディスク、特に“ブルーレイディスク(BD)”をとりあげる。しかしながら、本発明の技術思想は、他の記録媒体にも同一に適用可能であることは自明である。
【0057】
本発明において“ローカルストレージ(local storage)”とは、図1に示す光記録再生装置内に備えられた一種の格納手段であり、利用される必要な情報及びデータをユーザが任意に格納することができる構成要素を意味する。すなわち、現在一般的に使われるローカルストレージは、“ハードディスク”、“システムメモリ”、“フラッシュメモリ”などを含むが、本発明は必ずしもこれに限定されることはない。
【0058】
特に、“ローカルストレージ”は、記録媒体(例えば、ブルーレイディスク)と関連したデータを格納する手段として用いられる。ローカルストレージ内に格納される記録媒体と関連したデータは、外部からダウンロードしたデータを含むことが一般的である。
【0059】
また、記録媒体から直接読み取られた許容されたデータ(permitted data)、または記録媒体の記録再生操作と関連した生成されたシステムデータ(例えば、メタデータ等)は、ローカルストレージ内に格納されることができることは自明である。
【0060】
本発明の説明の便宜上、記録媒体内に記録されたデータを“オリジナルデータ(original data)”と命名し、一方、ローカルストレージ内に格納されたデータのうち、記録媒体と関連したデータを“付加データ(additional data)”と命名する。
【0061】
本発明において、“タイトル(Title)”とは、ユーザとのインターフェースを構成する再生単位(reproduction unit)である。それぞれのタイトルは、特定のオブジェクトとリンクしている。ディスク内に記録された該当タイトルに関連したストリームは、オブジェクトファイル内のコマンドあるいはプログラムによって再生される。特に、本発明では、説明の便宜上、ディスク内に記録されたタイトルのうち、MPEG2圧縮方式による動画、映画及びインタラクティブ情報を有するタイトルを、“HDMVタイトル”と命名する。また、ディスク内に記録されたタイトルのうち、Javaプログラムによって実行される動画、映画及びインタラクティブ情報を有するタイトルを、“BD−Jタイトル”と命名する。
【0062】
本発明において、タイトルは、インデックステーブルに存在するインデックス項目(indexing item)を意味する。すなわち、記録媒体がロードされると初期に再生される画面情報を有する“ファーストプレイバック(First Playback)”およびメニュー画面を提供する“トップメニュー(Top Menu)”は、タイトルの一種である。すなわち、ユーザとインターフェースを構成する再生単位は、その名称にかかわらず本発明のタイトルに該当する。
【0063】
また、タイトルは、記録媒体内のデータ及び/またはローカルストレージ内のデータで構成されることを特徴とする。ローカルストレージ内のデータは、タイトルの再生中にダウンロードされるデータを含むことができる。
【0064】
図1は、本発明の概念的理解を助けるために、光記録再生装置10及び周辺機器間の統合的使用を説明する例示的な図である。
【0065】
図1を参照すると、本発明の“光記録再生装置10”は、様々な規格による光ディスクの記録または再生を可能にする装置である。そして、本発明の“光記録再生装置10”は、特定の規格の光ディスク(例えば、BD)を記録/再生するように設計することができる。また、本発明の“光記録再生装置10”は、光ディスクを再生だけするように作成しても良い。本発明の以下の説明では、ブルーレイディスク(BD)と周辺機器とのインタラクティブ性を考慮して、BDプレーヤー(BD-Player)またはBDレコーダ(BD-Recorder)を一例としてとりあげる。また、本発明の“光記録再生装置10”が、コンピュータなどにロード可能な“ドライブ”を含むことは自明である。
【0066】
本発明の光記録再生装置10は、光ディスク30を記録再生する機能の他にも、外部入力信号を受信し、受信した信号を信号処理して、他の外部ディスプレイ20を介してユーザに該当画面を伝達する機能を持つ。この場合、外部入力信号に特に制限はない。デジタルマルチメディア放送(DMB:Digital multimedia broadcast)またはインターネットなどは、代表的な外部入力信号である。特に、容易にアクセス可能な媒体であるインターネットの場合、インターネット上の特定のデータは、光記録再生装置10を介してダウンロードされて活用される。
【0067】
また、外部ソースとしてコンテンツを提供する者をまとめて“コンテンツプロバイダ(CP)”と総称する。
【0068】
また、本発明において、コンテンツとは、タイトルを構成する内容であって、記録媒体の製作者によって提供されるデータのことを意味する。
【0069】
特に、本発明の目的は、“コンテンツプロバイダ”によって提供されるコンテンツを保護し、ユーザの再生システムを保護することにある。
【0070】
オリジナルデータ及び付加データは、以下のように説明される。
【0071】
例えば、特定のタイトルについての多重化されたAVストリームが光ディスク内に記録されたオリジナルデータとして記録され、かつオリジナルデータのオーディオストリーム(例えば、韓国語)とは異なるオーディオストリーム(例えば、英語)がインターネット上の付加データとして提供される場合、インターネット上の付加データであるオーディオストリーム(例えば、英語)をダウンロードしてオリジナルデータのAVストリームと共に再生しようとする要求、または、インターネット上の付加データであるオーディオストリーム(例えば、英語)をダウンロードしてそれだけを再生しようとする要求がユーザによっては存在する。このような要求を可能にするために、オリジナルデータ及び付加データ間の関連性(association)を規定する必要があり、これらのデータをユーザの要求に応じて管理/再生する体系化した方法が必要となる。
【0072】
上記で説明の便宜上、ディスク内に記録された信号をオリジナルデータとし、ディスク外部に存在する信号を付加データと命名したが、これは単にそれぞれのデータを取得する方法によって区分したものであり、オリジナルデータまたは付加データは特定のデータに限定されることはない。
【0073】
したがって、一般的な付加データには、オーディオ、プレゼンテーショングラフィック(PG:Presentation Graphic)、インタラクティブグラフィック(IG:Interactive Graphic)、テキストサブタイトル(Text subTitle)等が含まれるが、これらに限定されない。付加データは、列挙したデータ及びビデオを全て含む多重化されたAVストリームに相当する場合もある。すなわち、光ディスク外部に存在し、かつオリジナルデータと関連するいかなる種類の属性のデータも付加データになりうる。
【0074】
また、付加データを、インデックスファイル(index)、プレイリストファイル(*.m2ts)、またはクリップ情報ファイル(*.clpi)ごとに別個にダウンロードすることができる。また、付加データを、コンテンツ単位またはタイトル単位にダウンロードすることができる。
【0075】
ユーザの要求を実現するためには、オリジナルデータ及び付加データ間のファイル構造を提供することが必要である。以下、図2及び図3を参照して、ブルーレイディスク(BD)用に使用可能なファイル構造及びデータ記録構造について詳細に説明する。
【0076】
図2は、本発明による記録媒体(例えば、BD−ROM)内に記録されるファイル構造の一実施例を示す図である。
【0077】
図2を参照すると、本発明の再生管理ファイル構造には、1つのルートディレクトリの下に少なくとも1つのBDMVディレクトリが存在する。BDMVディレクトリ内には、ユーザとの双方向性(interactivity)を保証する一般ファイル(上位ファイル)として、インデックスファイル(“index.bdmv”)及びオブジェクトファイル(“MovieObjet.bdmv”)が存在する。
【0078】
BDMVディレクトリは、実際にディスク内に記録されたデータに関する情報とその記録されたデータを再生することに関する情報を持つディレクトリであり、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BD−Jオブジェクトファイルを含むBDJOディレクトリ、JARファイルを含むJARディレクトリを含む。また、BDMVディレクトリは、ディスク再生に関連した補助データを含むAUXDATAディレクトリも含む。以下、ディレクトリ及び各ディレクトリ内に含まれるファイルについて詳細に説明する。
【0079】
STREAMディレクトリには、ディスク内に特定フォーマットで記録されたAVストリームファイルが存在し、例えば、ストリームファイル(01000.m2ts、…)の拡張子名として“*.m2ts”が使用される。すなわち、動映像データは、一般的に、ストリームファイル内に本発明と関連したコンテンツとして記録される。
【0080】
CLIPINFディレクトリは、それぞれのストリームファイルと対応するクリップ情報ファイル(01000.clpi、…)を含む。特に、クリップ情報ファイル(*.clpi)は、対応するストリームファイルの属性情報及びタイミング情報を含む。特に、ストリームファイル(*.m2ts)と一対一対応するクリップ情報ファイル(*.clpi)をまとめて“クリップ(clip)”と命名できる。すなわち、このことは、対応する1つのストリームファイル(*.m2ts)には、1つのクリップ情報ファイル(*.clpi)が必ず存在する、ということを意味する。
【0081】
PLAYLISTディレクトリは、プレイリストファイル(00000.mpls、…)を含む。それぞれのプレイリストファイル(*.mpls)は、特定のクリップの再生時間を指定する少なくとも1つのプレイアイテム(PlayItem)を含む。プレイアイテムは、再生される特定のクリップ、すなわち、プレイアイテム内でクリップ名(clip_Information_File_name)として指定されるクリップの再生開始時間(IN−Time)及び再生終了時間(OUT−Time)に関する情報を有する。
【0082】
すなわち、プレイリストファイル(*.mpls)は、少なくとも1つまたは複数のプレイアイテムの組み合わせによって特定のクリップの再生を実行する、全体再生管理ファイル構造内の基本的再生管理ファイル単位となる。
【0083】
特に、プレイリストファイル(*.mpls)は、オブジェクトファイル内の特定のオブジェクトファイルによるコマンドによって操作されうる。したがって、ディスク再生シナリオの観点では、オブジェクトファイルは、動的なシナリオ(Dynamic scenario)を実行し、または管理し、そして、プレイリストファイル(*.mpls)は、静的なシナリオ(Static scenario)を実行し、または管理する。
【0084】
BDJOディレクトリは、BD−Jタイトルを再生するためのBD−Jオブジェクトファイルを含む。
【0085】
JARディレクトリは、BD−Jについての全ての“xxxxx.jar”を含む。JAR(Java archive)ファイルは、複数のファイルのまとまりを配布する際に使われる圧縮ファイルである。JARファイルは、通常、特定のjavaプログラムと関連したjavaクラスファイル、補助リソース(auxiliary resource)、及びメタデータなどで構成される。様々なアプリケーションをJARファイルによって構成することができる。
【0086】
AUXDATAディレクトリは、ディスク再生と関連した補助的な情報を含むファイルを含む。例えば、AUXDATAディレクトリは、再生時にクリックサウンド情報及びメニューサウンド情報などを提供するサウンドファイル(“Sound.bdmv”)と、テキストサブタイトルの再生時にフォント情報を提供するフォントファイル(“11111.otf”)とを含むことができる。
【0087】
METAディレクトリは、メタデータを備える。メタデータは、データに対するデータである。例えば、メタデータは、サーチファイル及びディスクライブラリファイルなどを含む。
【0088】
上述したファイル及びディレクトリの位置は、一つの例に過ぎない。必要に応じてその位置が変更されることは自明である。例えば、BDJOディレクトリ及びJARディレクトリをサブディレクトリとして、ルートディレクトリの下に別個に構成することも可能である。もう一つの例として、JARディレクトリを上位ディレクトリとしてルートディレクトリの下に構成しても良い。
【0089】
また、ルートディレクトリは、記録媒体内に記録されたデータの保護に関する情報、またはローカルストレージにダウンロードされるデータの保護に関する情報を有するディレクトリを含むことができる。このことは、図2に示す実施形態では、CERTIFICATEディレクトリとして表される。アプリケーション認証及びバインディングユニット認証のためのルート証明書ファイルが、CERTIFICATEディレクトリ内に位置している。
【0090】
図3は、本発明による記録媒体に記録されるデータ記録構造を示す図であり、前述したファイル構造に関連した情報がディスク内に記録されるフォーマットを示している。
【0091】
図3を参照すると、ディスクの内周から順に、ファイル全体を管理するシステム情報であるファイルシステム情報領域と、記録されたストリーム(*.m2ts)を再生するための、インデックスファイル、オブジェクトファイル、プレイリストファイル、クリップ情報ファイル及びメタデータファイルが記録された領域(“データベース領域”)と、及びオーディオ/ビデオ/グラフィックなどで構成されたストリームまたはJARファイルが記録されるストリーム領域またはデータ領域(“AVストリーム領域”)と、が存在する。
【0092】
また、データ領域内のコンテンツを再生するためのファイル情報などを記録する領域を管理領域と名付ける。ファイルシステム情報領域およびデータベース領域は、管理領域に該当する。ただし、図3に示した各領域は、一例として提示されている。本発明が図3に示す各領域の配列構造に限定されないということは自明である。
【0093】
図4は、本発明の一実施形態による光記録再生装置10のブロック図である。
【0094】
図4を参照すると、本発明の一実施形態による光記録再生装置は、光ディスクに記録されたオリジナルデータ及び再生管理ファイル情報を含む管理情報を再生するピックアップ11と、ピックアップ11の動作を制御するサーボ14と、ピックアップ11から受信した再生信号を特定の信号値に復元し、記録される信号を光ディスクに記録される信号に変調し、その変調された信号を伝達する信号処理部13と、上記動作を制御するマイクロプロセッサ16と、を備える。
【0095】
光ディスク外に存在する付加データは、制御装置12によってローカルストレージ15にダウンロードされる。制御装置12は、ローカルストレージ15内のバインディングユニットマニフェストファイル(Binding Unit Manifest File)に記録された情報を用いてバインディングユニット(binding unit)を生成する。また、制御装置12は、記録媒体のデータ及びローカルストレージ15内のデータを再生するために、ローカルストレージ15内のバインディングユニットマニフェストファイルに記録されたネームマッピング情報を用いてバーチャルパッケージを生成する。制御装置12は、生成されたバーチャルパッケージを用いてオリジナルデータ及び/または付加データをユーザの要求に応じて再生する。
【0096】
また、バーチャルパッケージは、バーチャルファイルシステム(virtual file system)によって行われるバインディングオペレーションを介して生成され、ディスク内の相異なる領域に格納されているオリジナルデータで構成されたオリジナルクリップ(original clip)およびローカルストレージ15内の付加データで構成された付加クリップ(additional clip)を再生管理する1つのファイル構造となる。
【0097】
バインディングユニットマニフェストファイルは、バーチャルパッケージを生成するバインディングオペレーションに使用される情報を含む。バインディングユニットマニフェストファイルがないと、ローカルストレージ15内のデータを記録媒体内のファイル構造(ディスクパッケージ)とバインディングしてバーチャルパッケージを生成することができない。
【0098】
ネームマッピング情報は、バインディングユニットマニフェストファイルに記録されている情報であり、記録媒体内に記録されたデータがバーチャルパッケージにおいてどの位置に存在しているかを示す情報である。
【0099】
新しく生成されたバーチャルパッケージを後々の再利用のためにローカルストレージ15に格納し、または、別のダイナミックメモリを用いて一時的に格納することができる。
【0100】
本発明において、制御装置12は、アプリケーション及びコンテンツが真のコンテンツプロバイダ(CP)によって提供されたか否かを認証し、アプリケーションのコンテンツへのアクセスを制御する。アプリケーションの認証については、図5の記述において詳細に説明する。
【0101】
また、再生システム17は、制御装置12の制御のもと、出力データを最終的にデコードしてユーザに提供する。再生システム17は、AV信号をデコードするデコーダと、前述した特定のタイトルの再生と関連したオブジェクトコマンドあるいはアプリケーション、および制御装置12を介して入力されるユーザコマンドを解析することによって再生方向を決定するプレーヤーモデルと、を含む。再生システム17については、図12の記述でさらに詳細に説明する。
【0102】
光ディスクに信号を記録する機能を果たすために、AVエンコーダ18は、制御装置12の制御によって入力信号を特定のフォーマットの信号、例えば、MPEG−2トランスポートストリームに変換し、その変換された信号を信号処理部13に提供する。
【0103】
図5は、本発明によるローカルストレージ15内のファイル構造の一実施形態を示す図である。
【0104】
図5を参照すると、ローカルストレージには、記録媒体から読み取られたデータまたは記録媒体の外部ソースからダウンロードされたデータを格納することができる。データを格納する領域は、大きく、アプリケーションデータを格納する際に使用される“アプリケーションデータ領域620”とバーチャルパッケージの生成に用いられる“バインディングユニットデータ領域610”とに区分されることができる。
【0105】
図5の一実施形態において、ローカルストレージ15内の“バインディングユニットデータ領域610”には、プロバイダ(organization-dependent)ディレクトリが3個(org1_ID、org2_ID、org3_ID)存在する。これらは、それぞれのコンテンツプロバイダ(CP)を意味する。例えば、映画の場合には、映画会社または映画配給会社がその組織(organization)に該当する。
【0106】
また、プロバイダ共有(organization-dependent shared)ディレクトリも存在することができる。コンテンツプロバイダ間で共有されるデータは、その共有ディレクトリ610aに存在する。
【0107】
プロバイダディレクトリである“org1_ID”は、下位ディレクトリとしてディスク(disc-dependent)ディレクトリの“disc1_ID”、“disc2_ID”及びディスク共有(disc-dependent shared)ディレクトリ610bを含む。ディスク共有ディレクトリ610bには、“org1_ID”が提供した“disc1_ID”と“disc2_ID”記録媒体間で共有されるデータが存在する。
【0108】
“disc1_ID”には、“org1”が提供する“disc1”とバインディングされるバインディングユニット(binding unit)が存在する。バインディングユニットには、プレイリストファイルの“Apr2005.mpls(611)”とクリップ情報ファイルの“Apr2005.clpi(612)”と、ストリームファイルの“Apr2005.m2ts(613)”と、が存在する。これらのファイルと記録媒体内のデータとがバインディングすることによってバーチャルパッケージを生成する方法が、図13を参照して後で説明される。
【0109】
“アプリケーションデータ領域620”には、供給者(organization-dependent)ディレクトリが3個(org1_ID、org2_ID、org3_ID)存在する。“org1_ID”の下位ディレクトリとして“disc1_ID” ディレクトリ及び“disc2_ID”ディレクトリが存在する。“disc1_ID”ディレクトリは、特定のアプリケーションをそれぞれ構成するJARファイルである“App0.jar(621)”及び“App1.jar(622)”を含む。 “disc2_ID”ディレクトリは、JARファイルである“App0.jar(623)”を含む。
【0110】
また、アプリケーションは、特定の機能を行うプログラムを意味する。その機能を行うために、アプリケーションは、全てのデータ、ファイル、及び再生システム17のハードウェア構成またはソフトウェア構成などにアクセス可能になっていなければならない。例えば、“disc1_ID”ディレクトリの“App0.jar(621)”によって構成されるアプリケーション(以下、“App0”という)が特定の機能を行い、その機能を行うために“org1_ID”であるコンテンツプロバイダが提供した記録媒体間で共有されるデータ“japanese.otf(614)”のデータが必要な場合には、“App0”は、“japanese.otf(614)”にアクセスする。
【0111】
本発明は、同一のコンテンツプロバイダ(CP)が提供した記録媒体間で共有されるデータ(例えば、ディスク共有ディレクトリ610bに存在するデータである、図5の“japanese.otf(614)”)、または、コンテンツプロバイダ(CP)間で共有されるデータ(例えば、共有ディレクトリ610aに存在するデータ)を保護するためのセキュリティ案を提供しようとする。
【0112】
このような共有データを保護するための3つのセキュリティ案のレベルが考慮されることができる。
【0113】
まず、第1のレベルは、全てのアプリケーションに全ての共有データへのアクセスを許容する場合である。この場合にはいかなるセキュリティメカニズムも要求されないので、本発明では第1のレベルは述べない。
【0114】
したがって、本発明が提供しようとするセキュリティ案のレベルは、第2のレベルと第3のレベルとなる。なかでも2番目は、共有データに対する認証が共有データを保護するのに充分であると仮定する。これは、共有データを用いるアプリケーションが共有データへのアクセスがそれぞれ許容される場合には、アプリケーションの動作が信頼できることを前提とする。
【0115】
第3のレベルは、共有データへのアクセスが許容されたアプリケーションの悪意的な機能を排除できないとの仮定の下に、共有データを暗号化してユーザに提供することによって、共有データを保護するやり方である。したがって、共有データにアクセスするアプリケーションは、共有データを解読できなければならない。
【0116】
以下、図6乃至図10に基づき、本発明が提供する第2のセキュリティレベルについて説明する。また、図11では、第3のセキュリティレベルおよびこの第3のセキュリティレベルが適用された場合の共有データの再生について説明する。
【0117】
図6乃至図9は、本発明による共有データ保護のための共有データ及びアプリケーションの認証について示す。図10は、共有データにアクセスするアプリケーションのためにアクセス情報を提供することによって共有データを保護する方法を示す。
【0118】
図6は、本発明の一実施形態による共有データ認証を示す図である。
【0119】
図6を参照すると、コンテンツプロバイダ(CP)は、データを提供する際に、そのデータに対する証明書をユーザに提供する。その証明書は、記録媒体内に記録された形態でユーザに提供されても良く、記録媒体外からダウンロードされてユーザに提供されても良い。
【0120】
この証明書は、バージョン、シリアル番号、署名アルゴリズム(signature algorithm)、発行人(issuer)、有効期間、認証対象、公開鍵(public key)などを含むことができる。
【0121】
ここで、公開鍵とは、公開鍵暗号体系で用いられる1つのエンティティの非対称キーペア(key pair)の、公開されているキーを意味する。その公開鍵は、署名システムで署名の真偽を判断するのに用いられ、検証キー(verification key)ともいう。一方、秘密鍵(private key)とは、公開鍵暗号体系で用いられる1つのエンティティの非対称キーペアの中で公開されないキーのことをいう。ある場合には、秘密鍵は、対称キー暗号体系で用いられるキーを意味する。
【0122】
証明書は、ユーザに提供されるデータが適法なコンテンツプロバイダによって提供されたことを証明するために用いられる。また、その証明書は、証明書を発行した証明書権威者(CA:certificate authority)のデジタル署名を含む。図6の実施形態では、例えば、コンテンツプロバイダが自分自身で証明をする。したがって、証明書権威者(CA)は、コンテンツプロバイダ(CP)自身となる。証明書の証明については、図7で詳細に説明する。
【0123】
コンテンツプロバイダ(CP)は、SHA−1(Secure Hash Algorithm-1)及びMD5(Message Digest algorithm 5)などのダイジェストアルゴリズム6010を用いて、コンテンツダイジェスト6011を生成してユーザに提供する。
【0124】
ここで、コンテンツダイジェストとは、それぞれのコンテンツごとに固有に算出されるように作られた簡単な文字列のことを意味する。そのコンテンツダイジェストは、任意の長さのコンテンツに無方向のハッシュ関数を反復適用することによって、簡潔にされた一定の長さのビット列として表現される。各コンテンツ(メッセージ、文章、ファイルなど)ごとに1つのコンテンツダイジェストが算出される。そして、異なる文書から同一のコンテンツダイジェストを算出することはできない。この結果、コンテンツダイジェストは、原文の偽造有無を確認する手段として使用することができる。
【0125】
生成されたコンテンツダイジェスト6011は、コンテンツプロバイダの秘密鍵6013を用いて署名アルゴリズム6012を介してデジタル署名になる。コンテンツプロバイダは、デジタル署名を含む証明書をコンテンツと共にユーザに提供する。
【0126】
ここで、署名アルゴリズムとは、RSA(Rivest-Shamir-Adelman)、DSA(digital signature algorithm)などの暗号化アルゴリズムの一種である。
【0127】
デジタル署名は、上記デジタル署名に用いられた秘密鍵6013に対応する公開鍵6017を用いて署名アルゴリズム6016を介してコンテンツダイジェスト6018に復元されることができる。公開鍵6017は、証明書中に含まれてユーザに提供される。デジタル署名の生成に用いられた秘密鍵6013に対応する公開鍵6017が存在しない場合、デジタル署名をコンテンツダイジェスト6018に復元することができない。この場合には、提供されたアプリケーションが適法なコンテンツプロバイダによって提供されたものと認証されない。
【0128】
また、公開鍵6017の存在により、デジタル署名をコンテンツダイジェスト6018に復元したとしても、提供されたコンテンツが変質した場合には認証に失敗する。
【0129】
すなわち、コンテンツプロバイダによって提供されたコンテンツは、ダイジェストアルゴリズム6014を介してコンテンツダイジェスト6015として算出される。算出されたコンテンツダイジェスト6015は、デジタル署名を用いて復元されたコンテンツダイジェスト6018と比較される(6019)。コンテンツが変質した場合、復元されたコンテンツダイジェスト6018は、提供されたコンテンツから算出されたコンテンツダイジェスト6015とは異なる。このため、コンテンツの認証は失敗する。
【0130】
共有データの認証に失敗する場合には、その共有データの再生が制限されることが好ましい。すなわち、本発明において、共有データは、再生される記録媒体の外部からローカルストレージにダウンロードされても良い。記録媒体がロードされ、かつ共有データがロードされた記録媒体と関連する場合には、その共有データは、記録媒体内のディスクパッケージにバインディングされる。このバインディングオペレーションは、上述した再生システム17のバーチャルファイルシステムによって行われる。もし、共有データの認証に失敗する場合には、バーチャルファイルシステムは、共有データをディスクパッケージにバインディングしなくても良い。これにより、ダウンロード中に損傷した、またはハッキングなどによって変質した共有データが記録媒体と共に再生されることを防ぐことができる。また、権限のないコンテンツプロバイダによって提供された共有データが再生されることを防止できる。したがって、記録媒体のコンテンツプロバイダ及び共有データのプロバイダを保護することが可能になる。
【0131】
図7は、本発明によるデータ認証に用いられる証明書チェーン(certificate chain)を示す図である。
【0132】
複数個の証明書が階層的連結構造を形成しながらコンデンツに含まれることができる。ここで、1つの証明書はその以前の証明書の真偽を証明する。証明書の階層構造の最上位は、ルートCAであるが、このルートCAは、他のCAからの証明書がなくても信頼される。証明書は、記録媒体やBD端末内に位置するキーデータベース(key database)に格納される。
【0133】
具体的に説明すると、信頼されたルート証明書権威者(CA)が証明書権威者702、703、704を認証できる。認証される証明書権威者は、AACS(Advanced Access Content System)、またはCPS(Content Protection System)でありうる。場合によっては、AACSやCPS自身がルート証明書権威者にもなりうる。
【0134】
AACS、CPS、または他の証明書権威者は、光記録再生装置、コンテンツプロバイダ等(702a、702b、702c、702d)などの下位構造を独立的に認証できる。このような構造を証明書チェーンという。
【0135】
このような証明書チェーンにおいては、信頼された証明書権威者(CA)を認証できる上位の証明書権威者は存在しない。この場合、信頼された証明書権威者は、自分自身(701)を認証するが、これはルート認証(root certification)に該当する。
【0136】
それぞれの証明書権威者は、自分自身またはその下位構造の認証の結果に対して、それぞれの証明書権威者のデジタル署名を含む証明書を提供する。証明書チェーンの最下位の証明書権威者が提供する証明書をリーフ証明書(leaf certificate)といい、証明書チェーンの最上位の証明書権威者が提供する証明書をルート証明書という。これらの証明書はデジタル署名の検証過程でデジタル署名を復元する公開鍵のインテグリティを保証することができる。
【0137】
なお、信頼された証明書権威者が提供する信頼されたルート証明書は、記録媒体の特定の領域にファイルの形態などで格納されてユーザに提供される、または、記録媒体の外部からダウンロードされて光記録再生装置のキーストア(key store)に格納されることもできる。
【0138】
本発明は、共有データの認証を通じて共有データを保護することを意図する。したがって、共有データが、同一のコンテンツプロバイダ、例えば、コンテンツプロバイダ1(CP1)が提供した記録媒体間で共有される場合には、コンテンツプロバイダ1の証明書702bが共有データの認証に用いられる。
【0139】
また、共有データが複数のコンテンツプロバイダ、例えば、コンテンツプロバイダ1(CP1)及びコンテンツプロバイダ2(CP2)によって提供される記録媒体間で共有される場合には、コンテンツプロバイダ1、2両方の証明書702dが共有データの認証に用いられる。
【0140】
証明書チェーンを通じて生成された証明書は、記録媒体の特定の領域にファイルの形態などで格納されて認証に用いられるか、または、ネットワーク上での認証に用いられることができる。
【0141】
場合によっては、それぞれの証明書権威者は、証明書破棄リスト(Certificate Revocation List:CRL)を作成することができる。この場合、コンテンツプロバイダ及びユーザは、証明書破棄リスト(CRL)をダウンロードして受信し、証明書を介して認証する前に、認証に使用する証明書が破棄されたか否かを検査する。万一、認証しようとする証明書が破棄された場合は、認証が成立しない。一方、証明書が破棄されなかった場合は、他の認証要件を満足する限り認証が成立する。
【0142】
本発明が提供する第2のセキュリティレベルでは、特定の機能を行う各アプリケーションが認定された場合、アプリケーションの動作が信頼するに値するということを前提とする。このため、共有データへのアクセス権限があるアプリケーションのみが共有データにアクセスすることが認められる。アプリケーションの動作が信頼されるためには、当該アプリケーションが認証される必要がある。このことを図8乃至図10を参照して、以下のように詳細に説明する。
【0143】
図8及び図9は、本発明によるアプリケーションの認証について示す図である。図10は、本発明による共有データに対するアクセス情報を持つアプリケーションを構成するJARファイルを示す図である。ここで、署名されたアプリケーション(signed application)を例に挙げて図8及び図9について説明する。
【0144】
図8は、本発明の一実施形態による署名されたアプリケーションを構成するJARファイルの図を示す。
【0145】
図8を参照すると、圧縮ファイルの一種であるJARファイルは、複数のファイルを1つにまとめるのに用いられている。JARファイルが署名されている場合、このJARファイルを“署名されたJARファイル”という。この署名されたJARファイルによって構成されたアプリケーションを“署名されたアプリケーション”という。この署名されたJARファイルは、マニフェストファイル(Manifest file)がアップデートされていること、並びに署名ファイル(Signature file)及び署名ブロックファイル(Signature Block file)がMETAINFOディレクトリに追加されていること以外は、元々のJARファイルと同一である。
【0146】
図8のアプリケーションは、署名されたアプリケーションである。このアプリケーションを構成するJARファイルは、“App0”ファイル及びMETAINFOディレクトリ81を含む。“App0”ファイルは、“classes”ファイルとデータディレクトリを含む。このデータディレクトリには“App0.dat”ファイルが存在する。“classes”ファイルは、“App0.class”ファイルと“subclasses”ディレクトリを含む。この“subclasses”ディレクトリには、“sub1.class”及び“sub2.class”が存在する。また、図8の実施形態では、例えば、全てのクラスファイル(App0.class、sub1.class、sub2.class)が署名される。
【0147】
METAINFOディレクトリ81は、1つのマニフェストファイル811(MANIFEST.MF)及び1つの署名ブロックファイル813(XXX.RSA)を含む。これらのファイルによってアプリケーションの認証がなされる。
【0148】
マニフェストファイル811は、1つのJARファイル内に、署名された各ファイルに対するメッセージダイジェスト(message digest)とともにファイルのリストを含む。また、JARファイル内の全てのファイルがマニフェストファイル811にエントリー(entry)としてリストされる必要はない。しかし、署名される全てのファイルはリストされなければならない。したがって、“App0.class”ファイル、“sub1.class”ファイル、“sub2.class”ファイルに対するエントリーは、マニフェストファイル811にリストされなければならない。
【0149】
署名ファイル812は、マニフェストファイルのダイジェストを含む。署名ファイルは、権限ある供給者(authorizing organization)によって署名されたデータとなる。
【0150】
署名ファイル812のコンテンツを使用してメッセージダイジェストを計算した後、秘密鍵を用いて署名アルゴリズムを介して、その計算された結果を暗号化することによってデジタル署名が生成される。デジタル署名は、署名ファイルの署名されたバージョンになることができる。生成されたデジタル署名は、署名ブロックファイル813内に位置する。各署名ファイルは、多数のデジタル署名を持つことができるが、この複数の署名は同一の適法なエンティティによって生成されなければならない。
【0151】
また、この秘密鍵は、署名ブロックファイル813に存在する公開鍵に対応する秘密鍵である。この公開鍵は、署名ブロックファイル内の証明書のリーフ証明書のいずれか1つに位置する。この公開鍵を認証する証明書は、署名ブロックファイルに含まれる。
【0152】
署名ブロックファイル813は、デジタル署名ファイルとも呼ぶことができる。デジタル署名ファイルは、署名ファイル812と同じファイル名を持つが、異なる拡張子を持っている。この拡張子は、署名アルゴリズムによって定められる。例えば、この拡張子には、“.RSA”または“.DSA”などが相当する。
【0153】
共有データにアクセスするアプリケーションの認証は、アプリケーションを構成するJARファイル内のファイルを認証するやり方で行われる。署名されたJARファイル内のファイルの認証について、図9を参照して以下のように具体的に説明する。
【0154】
図9は、本発明の一実施形態による署名されたアプリケーションを構成するJARファイル内のファイルの認証過程のフローチャートであり、アプリケーションの認証は、図6で示すようなコンテンツの認証と類似する方式で行われる。
【0155】
図9を参照して説明すると、1つのマニフェストファイルが最初に解析される(parse)とき、ある署名ファイルに対する署名は初めて検証(verify)される(S10)。デジタル署名は、署名ブロックファイルに存在する。具体的に説明すると、この署名ファイルに対応する署名ブロックファイルを探し、その署名ブロックファイルから証明書を読み取る。これらの証明書のうち、リーフ証明書内には、この署名ファイルの生成に用いられた秘密鍵に対応する公開鍵が存在する。署名ブロックファイル内に存在する秘密鍵を用いて暗号化されたデジタル署名は、この公開鍵を用いてダイジェスト値に復元される。復元されたダイジェスト値は、署名ファイルのダイジェスト値と比較される。この比較の結果、両者が同一であると、デジタル署名の検証が実行される。デジタル署名の検証に失敗する場合、ファイルに対する認証は失敗となる(S70)。
【0156】
認証されるファイルの有効性を確認するために、マニフェストファイルに対するダイジェスト値が計算される(S20)。計算されたダイジェスト値が、署名ファイル内に存在するダイジェスト値と比較される(S30)。比較された両ダイジェスト値が異なる場合、ファイルの認証は失敗となる(S70)。比較された両ダイジェスト値が同一である場合、マニフェストファイルに対するインテグリティが確認される。
【0157】
比較されたダイジェスト値が同一である場合、認証されるファイルの実際のデータに対するダイジェスト値が計算される(S40)。計算されたダイジェスト値がマニフェストファイル内のダイジェスト値と比較される(S50)。
【0158】
比較された両ダイジェスト値が同一であるとファイルの有効性が確認され、ファイルの認証に成功する(S60)。一方、比較された両ダイジェット値が異なるとファイルの認証は失敗となる(S70)。
【0159】
本発明は、アプリケーションを構成するJARファイル内のファイルを認証する際に、署名ファイルを用いてマニフェストファイルのインテグリティを確認し、署名ブロックファイルを用いてデジタル署名を検証することを特徴とする。また、マニフェストファイルを用いてJARファイルの実際のデータに対するインテグリティを確認することを特徴とする。
【0160】
したがって、JARファイルの実際のデータに対するインテグリティ確認(S40、S50)、マニフェストファイルのインテグリティ確認(S20、S30)、及びデジタル署名の検証(S10)は、個別的に実行可能である。すなわち、図9の実施形態で説明した認証フローの順序は必須ではなく、再生システムによって順序が変わっても良い。
【0161】
また、アプリケーションを認証する際に、認証されるファイルがマニフェストファイルでリストされたものかを、認証されるファイルの実際のデータに対するダイジェスト値が計算(S40)される前に確認することも可能である。
【0162】
また、デジタル署名に対する検証結果(S10)とマニフェストファイルに対するインテグリティ確認の結果(S30)は、後々に使用するために格納されても良い。この場合、S10〜S30のステップは、1つのJARファイルの認証過程で1回しか行われない。
【0163】
アプリケーションの認証に失敗しても、プレーヤーの実装によって共有データへのアクセスを許容することができる。しかし、共有データの保護のためにアクセスが制限されることが好ましい。このアクセス制限の程度は、プレーヤーの実装によって、認証されなかったアプリケーションが全ての共有データにアクセスすることを制限されるように設定することが可能である。または、プレーヤーによっては、制限された範囲の共有データにのみアクセスできるように制御しても良い。
【0164】
図10は、本発明の一実施形態によるアプリケーションを構成するJARファイルの図である。
【0165】
図10を参照すると、共有データへのアクセス権限があるアプリケーションのみが前記共有データにアクセスできるようにすべく、本発明は共有データをリソースとするアプリケーションのために共有データに対するアクセス情報を使用する。有効なアクセス情報を持つアプリケーションのみが共有データにアクセス可能になるため、権限のないアプリケーションによる共有データの利用を防ぐことができる。
【0166】
アクセス情報は、アプリケーションに対するクレデンシャル情報でありうる。クレデンシャル情報はパーミッション要求ファイルに含まれることができる。パーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在できる。
【0167】
図10のJARファイル(App0.jar)は、アプリケーションを構成するファイルである。このJARファイルには、クレデンシャル情報を含むパーミッション要求ファイル(App0.perm)が存在する。クレデンシャル情報としては、“供与者識別子(Grantor identifier)”、“有効期間(Expiration date)”、“ファイル名(Filename)”、“署名(Signature)”、“Certchainfileid”などが存在する。
【0168】
この“供与者識別子(Grantor identifier)”は、アプリケーションを提供する主体に関する情報である。“供与者識別子(Grantor identifier)”としては、例えば、“org1_ID”などがありうる。
【0169】
この“有効期間”は、クレデンシャル情報の有効期間を意味する。例えば、“有効期間”が“23/02/2035”と与えられた場合、このクレデンシャル情報を含むアプリケーションは、2035年02年23日が経過した後には共有データにアクセスできなくなる。
【0170】
この“ファイル名”は、アプリケーションがアクセスしようとする共有データの位置およびその共有データに対して付与される読取り/書込み権限に関する情報である。例えば、“ファイル名読取り”情報が”真(true)”と与えられ、“ファイル名”が前記ファイルの存在する位置で表現されて、“BUDA/org1_ID/Shared/Japanese.otf”と与えられることができる。図6を参照して説明すると、次の通りである。クレデンシャル情報を持つアプリケーションは、ローカルストレージ内のバインディングユニットデータ領域の“org1_ID”ディレクトリのディスク共有(disc-dependent shared)ディレクトリである“Shared”ディレクトリ内に存在する“Japanese.otf(614)”ファイルにアクセスすることによって、“Japanese.otf(614)”ファイルを読み取ることができることを意味する。
【0171】
“署名”は、アプリケーションプロバイダからの署名を含む。そして、“Certchainfileid”は、署名ブロックファイル内の特定の証明書の位置を表すのに用いられる。“Certchainfileid”は、認証に用いられるリーフ証明書のシリアル番号に対応する特定のserial Numberおよび認証に用いられるリーフ証明書の主体に対応する発行者の情報を含む。署名の公開鍵に通じる証明書は、署名ブロックファイル内の“certifcates”フィールドに存在しなければならない。クレデンシャル情報のcertchainfieldフィールドのコンテンツに対応する発行者フィールドのシーケンス番号及び組織(organization)IDが一緒に見つけられるまで、各証明書は確認されなければならない。もし、対応する証明書が前記署名ブロックファイル内に存在すると、ファイルアクセスは許容されない。
【0172】
アプリケーションに対するクレデンシャル情報が認証され、かつ共有データに対する有効な“ファイル名”を含む場合、当該アプリケーションは、共有データにアクセスできる。これに対し、クレデンシャル情報が有効でない場合、当該アプリケーションは信頼できず、当該アプリケーションの共有データへのアクセスは制限される。結果として、本発明によれば、共有データにアクセスするアプリケーションにクレデンシャル情報をおくことによって共有データを保護することができる。
【0173】
また、バーチャルパッケージを構成する間に、ローカルストレージにあるJARファイルが、記録媒体内の対応するJARファイルよりも優先権を持つ場合がある。この場合、記録媒体内のJARファイルがクレデンシャル情報を含むとしても、ローカルストレージ内のクレデンシャル情報が用いられる。
【0174】
また、パーミッション要求ファイルがJARファイル内にある時、パーミッション要求ファイルは認証されなければならない。
【0175】
図11は、本発明の一実施形態による共有データ再生方法のフローチャートである。
【0176】
まず、本発明が提供するもう1つのセキュリティレベルは、共有データへのアクセスが許容されたアプリケーション(権限を与えられたアプリケーション)の悪意的な機能(malicious function)を排除できないと仮定する。したがって、本発明は、共有データの保護のために共有データを暗号化してユーザに提供することを特徴とする。共有データにアクセスするアプリケーションは、その共有データを解読できなければならない。
【0177】
共有データが暗号化されて提供される場合、アプリケーションが共有データにアクセスできたとしても、当該アプリケーションが共有データを用いて特定の機能を行えるためにはその共有データが解読されなければならない。
【0178】
本発明によって暗号化されて保護される共有データを再生する方法ついて、図11を参照して以下の通り説明する。
【0179】
図11を参照すると、記録媒体と関連付けられ、暗号化されている共有データが記録媒体外からローカルストレージにダウンロードされる(S1110)。このため、共有データをダウンロードするアプリケーションは、ネットワークを介して共有データにアクセスできるアプリケーションでなければならない。
【0180】
記録媒体がロードされると、記録媒体と関連した共有データがローカルストレージに存在する場合、記録媒体内に記録されたデータと共有データがバインディングオペレーションによってバインディングされ、バーチャルパッケージが生成される(S1120)。
【0181】
ここで、共有データがダウンロードされる前に既にバーチャルパッケージが存在している場合には、ダウンロードされた共有データだけでなく、バーチャルパッケージもアップデートされる。
【0182】
バーチャルパッケージの生成前に共有データを認証することが好ましい。共有データの認証に失敗した場合、バーチャルファイルシステムは、ロードされた記録媒体内のディスクパッケージを用いてバーチャルパッケージを生成する。この場合、不正確な共有データを含むバーチャルパッケージの生成を遮断することによって、真のコンテンツプロバイダを保護可能になる。
【0183】
このバーチャルパッケージを用いて、ローカルストレージ内のデータと記録媒体内に記録されたデータが共に再生される。再生を行うために、再生を行うアプリケーションが記録媒体内のデータにバインディングされた共有データにアクセスする(S1130)。
【0184】
共有データが暗号化された場合、共有データはデコーダによって再生可能な形態に復元されなければならず、暗号化された共有データは解読されなければならない。したがって、暗号化された共有データにアクセスするアプリケーションは、共有データを解読できる情報を含むことができる。この情報は、共有データにアクセスするアプリケーションが直接共有データを解読できる情報でもありうる。また、この情報は、共有データを解読できるアプリケーションを実行させることができる。
【0185】
共有データにアクセスするアプリケーションが、共有データを解読できる有効な情報を持つ場合、当該情報を用いて共有データが解読される(S1140)。共有データが解読されると、解読された共有データがデコーダに提供されてバーチャルパッケージ内の他のファイルと共に再生される(S1150)。
【0186】
なお、共有データと共にローカルストレージに存在する他のデータも記録媒体内のデータとバインディングされることによって再生されることができる。共有データと共に再生される他のデータが暗号化された場合、それらのデータは、解読完了後に再生しても良い。
【0187】
本発明によって共有データを暗号化すると、誤りのあるアプリケーションが共有データにアクセスしたとしても、その共有データを用いて特定の機能を行うことはできない。したがって、共有データを悪意的な機能から保護できるという長所がある。
【0188】
本発明には、共有データに対する様々な暗号化/解読体系が可能である。共有データを暗号化/解読するキー発生の側面においては、同一のコンテンツプロバイダによって提供された記録媒体間で共有されるデータには、コンテンツプロバイダ固有のキーが用いられることができる。
【0189】
共有データが暗号化された場合、前記共有データを解読できるように暗号化/解読キーまたはキーを生成するための秘密情報(secret information)がユーザに配布される必要がある。当該キーペアまたはキーを生成するための秘密情報は、記録媒体内に格納されてユーザに提供されることができる。これは、キーを持つ記録媒体がBD端末にある時に限って、ローカルストレージにあるデータがアクセス可能であるという仮定の下で動作する。
【0190】
当該キーペアまたはキー生成のための秘密情報は、共有データを利用するアプリケーションに同封(enclose)されてユーザに提供されても良い。また、当該キーペアあるいはキー生成のための秘密情報は、場合によっては光記録再生装置内のキーストア(key store)に格納されても良い。
【0191】
プレーヤーは、暗号化された共有データを用いて特定の機能を行わなければならない場合、記録媒体、アプリケーション、キーストアなどから暗号化された共有データを解読を行えるキーを読み取り(キー生成のための秘密情報である場合、キー生成のための秘密情報を読み取ってキーを生成し)、当該共有データを解読する。
【0192】
データの暗号化体系には、対称暗号化方法(symmetric cryptographic method)および非対称暗号化方法(asymmetric cryptographic method)がある。代表的な対称暗号化方法としては、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、またはIDEA(International Data Encryption Algorithm)などがある。一方、代表的な非対称暗号化方法としては、RSA(Rivest-Shamir-Adelman)またはDSA(Digital Signature Algorithm)等がある。
【0193】
本発明による、共有データを暗号化することによって共有データを保護するセキュリティ案において、暗号化された共有データにアクセスするアプリケーションは、共有データに対するアクセス情報を含むアプリケーションでありうる。このアクセス情報は、当該アプリケーションのクレデンシャル情報でありうる。場合によっては、クレデンシャル情報のないアプリケーションも、暗号化された共有データにアクセスできるように許容されることができる。
【0194】
プレーヤーが暗号化された共有データにアクセスするアプリケーションの認証に失敗する場合がありうる。この場合、アプリケーションの共有データへのアクセスを許容するか否かは、プレーヤーの実装による。すなわち、認証に失敗したとしても、アプリケーションが共有データにアクセスできるようにすることができる。本発明によって、共有データが暗号化されて提供されると、認証されたアプリケーションが共有データにアクセスしようとしても、共有データは保護されることができる。
【0195】
また、署名されたアプリケーションは、図8及び図9の説明に関して例として取り上げられた。しかし、署名されなかったアプリケーションも同様に存在することができる。署名されなかったアプリケーションの場合、その有効性は検証できない。したがって、署名されなかったアプリケーションは、共有データへのアクセスは許容されないことが好ましい。
【0196】
図12は、本発明の一実施形態による再生システムを用いた記録媒体再生装置のブロック図である。
【0197】
まず、“再生システム”は、光記録再生装置内に備えられるプログラム(ソフトウェア)及び/またはハードウェアで構成される集合的再生処理手段を含む。この再生システムは、光記録再生装置内にロードされた記録媒体を再生し、同時に、記録媒体に関連してローカルストレージ内に格納された(例えば、外部からダウンロードした)データを再生し、かつ管理するシステムである。
【0198】
特に、再生システム17は、“キーイベントハンドラ171”、“モジュールマネージャ172”、“ナビゲータ173”、“HDMVモジュール174”、“BD−Jモジュール175”、“再生制御エンジン176”、“プレゼンテーションエンジン177”、及び“バーチャルファイルシステム40”で構成される。これを詳細に説明すると、次の通りである。
【0199】
まず、HDMVタイトル及びBD−Jタイトルをそれぞれ再生するための、別個の再生処理管理手段として、HDMVタイトルについての“HDMVモジュール174”及びBD−Jタイトルについての“BD−Jモジュール175”が独立的に構成される。“HDMVモジュール174”及び“BD−Jモジュール175”のそれぞれは、既に述べたオブジェクトファイル(MovieObjectまたはBD−J Object)内のコマンドまたはプログラムを受信して処理するようにする制御機能を持つ。“HDMVモジュール174”及び前記“BD−Jモジュール175”のそれぞれは、再生システムのハードウェア構成からコマンドあるいはアプリケーションを分離し、このコマンドあるいはアプリケーションのポータビリティ(portability)を可能にする。
【0200】
コマンドあるいはアプリケーションなどを受信して処理する手段として、“HDMVモジュール174”内には“コマンドプロセッサ174a”が備えられており、一方、“BD−Jモジュール175”内には“Java VM175a”及び“アプリケーションマネージャ175b”、“アプリケーションキャッシュ175c”が備えられている。
【0201】
“Java VM 175a”は、アプリケーションを実行する“仮想マシン(Virtual Machine)”である。“アプリケーションマネージャ175b”は、アプリケーションのライフサイクルを管理するアプリケーション管理機能を含む。“アプリケーションマネージャ175b”は、アプリケーションキャッシュ175cからアプリケーションをロードできる。アプリケーションキャッシュ175cの目的は、アプリケーションがロードされる間に記録媒体からAVデータが切れることなく再生されるようにすることと、データをロードする際の待ち時間(latency)を減少させることである。すなわち、アプリケーションキャッシュ175cは、BD−Jのためのプリロード(preload)バッファである。しかし、プレーヤーは、プリロードされないクラスファイルを含む付加データを使用することも可能である。その一例には、ローカルストレージ内のJARファイルからデータをロードする場合がある。
【0202】
また、“モジュールマネージャ172”は、“HDMVモジュール174”及び“BD−Jモジュール175”にユーザ命令を伝達するため、および“HDMVモジュール174”及び“BD−Jモジュール175”の動作を制御するために提供される。また、“HDMVモジュール174”または“BD−Jモジュール175”の再生命令によって、ディスク内に記録されたプレイリストファイル情報を解析し、対応する再生機能を行う“再生制御エンジン176”が提供される。
【0203】
また、“再生制御エンジン176”によって再生管理される特定のストリームをデコードし、画面中にデコードされたストリームを表示するための“プレゼンテーションエンジン177”が提供される。
【0204】
特に、“再生制御エンジン176”は、全ての再生を実際に管理する“再生制御機能176a”と、プレーヤーステータスレジスタ(PSR)及び一般目的レジスタ(GPR)を格納する“プレーヤーレジスタ176b”と、を含む。場合によっては、“再生制御機能176a”が“再生制御エンジン176”を意味することもある。
【0205】
前述した本発明の再生システムにおいて、“モジュールマネージャ172”、“HDMVモジュール174”、“BD−Jモジュール175”、及び“プレイバック制御エンジン176”は、それぞれソフトウェア的な処理が可能である。実際に、ハードウェア構成よりはソフトウェア的処理をすることが設計においては有用である。ただし、“プレゼンテーションエンジン177”、デコーダ、及びプレーン(Plane)は、ハードウェア的に設計されることが一般的である。特に、ソフトウェア的に処理される構成要素(例えば、図面符号172、174、175、176)の場合は、制御装置12の一部分として構成されても良い。したがって、本発明の構成はその意味として理解すべきであり、ハードウェア的構成かソフトウェア的構成かに限定されない。
【0206】
本発明による再生システム17は、以下の特徴を有する。
【0207】
第1に、HDMVタイトルについての“HDMVモジュール174”およびBD−Jタイトルについての“BD−Jモジュール175”は、独立的に構成される。したがって、これら両モジュール174、175は同時に実行されない。すなわち、HDMVタイトル再生中にはBD−Jタイトルを再生できなく、その逆も同様である。
【0208】
第2に、外部から付加データをダウンロードする動作のように光記録再生装置内のネットワーク機能を管理し、かつローカルストレージ15内に格納されたファイルを編集することによって、またはディスクパッケージにファイルをバインディングすることによって、バーチャルパッケージを生成する動作のようにローカルストレージ15を管理するプログラムであるアプリケーションが、再生システム17内に備えられる。すなわち、これらのアプリケーションは、ディスク内のファイルシステム及びローカルストレージのファイルシステムを1つのシステムとして管理するバーチャルファイルシステム40を形成し、当該形成されたバーチャルファイルシステム40を介してオリジナルデータ及び付加データを再生するためのバーチャルパッケージを生成し、かつ管理する。
【0209】
第3に、HDMVタイトル及びBD−Jタイトルは、それぞれ別個の方式のユーザ命令を受信し、相互にそれぞれ独立してユーザ命令を行う。“キーイベントハンドラ171”は、ユーザ命令を受信して“HDMVモジュール174”、“BD−Jモジュール175”、および“モジュールマネージャ172/ナビゲータ173”のいずれか1つに伝達する。例えば、“キーイベントハンドラ171”は、受信した命令が“ユーザーオペレーション(UO)”によるユーザ命令であると、 “モジュールマネージャ172”に伝送するやり方で当該命令を実行する。一方、“キーイベントハンドラ171”は、受信された命令が“キーイベント”によるユーザ命令であると、 “BD−Jモジュール175”に伝送するやり方で当該命令を実行する。
【0210】
第4に、“再生制御エンジン176”の管理(これを“マスター”ともいう)は、現在動作中のモジュール174、175のいずれか1つが担当する。すなわち、HDMVタイトル再生中には“HDMVモジュール174”がマスターとなる。または、BD−Jタイトル再生中には“BD−Jモジュール175”がマスターとなる。
【0211】
“ナビゲータ173”は、いつでもユーザの制御の下でタイトル選択を行うことができ、ユーザに記録媒体及びタイトルメタデータを提供できる。
【0212】
図13は、本発明による共有データ保護を説明する例示的な図であり、図13ではバーチャルパッケージが具体的に示される。
【0213】
ロードされたディスク内には、特定のファイル構造(例えば、図2のような構造)が記録されており、これを特にディスクパッケージともいう。ローカルストレージ内にはローカルストレージファイルシステムが存在する。ロードされたディスク(例えば、disc1_ID)にバインディングされるバインディングユニット及びバインディングユニットマニフェストファイルが該当ファイルシステム内に含まれる。
【0214】
また、バインディングユニットマニフェストファイルは、ネームマッピング情報を含む。ネームマッピング情報は、バインディングユニットについての情報である。例えば、バインディングユニットを生成するファイルのリストをディスクにバインディングする場合には、ネームマッピング情報は、バーチャルパッケージ内の位置、ファイル名等についての情報を含む。
【0215】
したがって、バーチャルファイルシステム40は、ネームマッピング情報を用いることによって、ロードされたディスク内のディスクパッケージにバインディングユニットをバインディングするバインディングオペレーションを介して新しいバーチャルパッケージを生成する。また、バーチャルファイルシステム40は、バーチャルパッケージに属するファイルへのアクセスメカニズムを制御する役割を果たす。
【0216】
バーチャルファイルシステムによって生成されたバーチャルパッケージは、BD−Jモード及びHDMVモードの両方に用いられる。BD−Jモードでは、記録媒体またはローカルストレージ上に位置したアプリケーションがバーチャルファイルシステムを介してバーチャルパッケージにアクセスできる。HDMVモードでは、MovieObjectがバーチャルパッケージにアクセスできる。
【0217】
図13を参照すると、ディスク内の記録媒体ファイル構造(ディスクパッケージ)421において、ルートディレクトリの下位ディレクトリであるBDディレクトリ(BDMV)は、インデックスファイル(Index.bdmv)、オブジェクトファイル(MovieObject.bdmv)、プレイリストファイル(00000.mpls)、クリップ情報ファイル(01000.clpi)、ストリームファイル(01000.m2ts)、補助データファイル(sound.bdmv)を含む。ロードされたディスク(例えば、org1_IDであり、disc2_IDであるディスク)に関連したバインディングユニット61には、特定のプレイリストファイル611(Apr2005.mpls)、当該プレイリストファイル611によって管理されるクリップであるクリップ情報ファイル612(Apr2005.clpi)、及びストリームファイル613(Apr2005.m2ts)が含まれる。
【0218】
また、コンテンツプロバイダが提供した共有データとして補助データファイル614(Japanese.otf)がディスク共有(disc-dependent shared)ディレクトリ(Shared)に存在する場合において、バーチャルパッケージ51を生成する方法は、次の通りである。
【0219】
ネームマッピング情報によって次のようにファイル名が変更される。バインディングユニット61内のプレイリストファイル611(Apr2005.mpls)は、バーチャルパッケージ51内のPLAYLISTディレクトリのプレイリストファイル511(00000.mpls)にファイル名が変更される。同様に、クリップ情報ファイル612(Apr2005.clpi)は、バーチャルパッケージ51内のCLIPINFディレクトリのクリップ情報ファイル512(02000.clpi)にファイル名が変更される。ストリームファイル613(Apr2005.m2ts)は、バーチャルパッケージ51内のストリーム(STREAM)ディレクトリのストリームファイル513(02000.m2ts)に、補助データファイル614(Japanese.otf)は、AUXDATAディレクトリの補助データファイル514(11111.otf)にファイル名が変更される。
【0220】
バーチャルパッケージ51は、ルートディレクトリの下位ディレクトリであるBDMVディレクトリに、バーチャルパッケージによるインデックスファイル(Index)及びMovieObjectファイルを含む。PLAYLISTディレクトリには、バインディングユニットのプレイリストファイルによって代替されたプレイリストファイル511(00000.mpls)がくる。CLIPINFディレクトリでは、記録媒体のクリップ情報ファイル(01000.clpi)にバインディングユニットのクリップ情報ファイル512(02000.clpi)が追加される。STREAMディレクトリでは、記録媒体のストリームファイル(01000.m2ts)にバインディングユニットのストリームファイル513(02000.m2ts)が追加される。AUXDATAディレクトリでは、記録媒体の補助データファイル(sound.bdmv)にバインディングユニットの補助デートファイル514(11111.otf)が追加される。
【0221】
なお、バーチャルパッケージ内の上位ファイルであるインデックスファイル(Index)及びMovieObjectファイルは、新しく生成されるプレイリストファイル511(00000.mpls)に基づいて既存ディスク内のインデックステーブル(Index)及びMovieObjectファイルからアップデートされることができる。特に、バーチャルパッケージ内のプレイリストファイル511(00000.mpls)によってタイトルが変更される場合に、インデックスファイル及びMovieObjectファイルがアップデートされる。この場合に、タイトル変更は、新しいタイトルが追加されること、既存のタイトルが変更されること、またはタイトル再生のシナリオが変更されること等を意味する。
【0222】
本発明が提供するセキュリティレベルのうち、共有データの認証を通じて共有データを保護するセキュリティレベルの場合には、共有データの認証に失敗すると、光記録再生装置のバーチャルファイルシステム40は、前記共有データを含むバーチャルパッケージ51を生成しなくて良い。ただし、記録媒体内のディスクパッケージのみを使用してバーチャルパッケージを生成することになる。この場合、プレーヤーは、ローカルストレージ内に格納された共有データである“11111.otf”を再生できない。結果として、権限のないプロバイダの共有データが記録媒体と共に再生されるのを防止することによって、真のコンテンツプロバイダを保護することができる。
【0223】
また、共有データの認証に成功して共有データを含むバーチャルパッケージを生成したとしても、共有データにアクセスするアプリケーションのクレデンシャル情報が有効でない場合、アプリケーションは共有データにアクセスできない。したがって、共有データが再生されることを防ぎ、有効でないアプリケーションによる再生を防止することによって、共有データを保護できる。
【0224】
本発明が提供するさらに他のセキュリティレベルによれば、暗号化されたデータを解読できないアプリケーションによっては共有データを再生できない。したがって、バーチャルパッケージ内の共有データである“11111.otf(514)”が暗号化されたファイルである場合、当該暗号化されたファイルを解読できるアプリケーションのみによって当該ファイルが再生される。アプリケーションが権限のない供与者によって提供された場合には、当該アプリケーションは共有データを解読できる情報を持っていないはずである。したがって、認証されなかったアプリケーションが共有データにアクセスできたとしても、共有データを解読することができず、共有データは保護される。
【0225】
本発明による記録媒体再生装置について図4を参照して以下のように説明する。
【0226】
本発明によるローカルストレージを用いた記録媒体再生装置は、記録媒体と関連した共有データがダウンロードされて格納されるローカルストレージ15と、共有データに対する有効なアクセス情報を持つアプリケーションのみが共有データにアクセスするように制御する制御装置12と、を備える。当該アクセス情報は、当該アプリケーションのクレデンシャル情報を含むことができ、当該クレデンシャル情報は、パーミッション要求ファイルに含まれることができる。
【0227】
このパーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在することができる。この場合、パーミッション要求ファイルは、認証されることが好ましい。
【0228】
制御装置12は、アプリケーションが共有データにアクセスする前に共有データを認証することによって共有データを保護することができる。
【0229】
共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合には、その共有データは、コンテンツプロバイダの証明書を用いて認証されることができる。一方、共有データが複数のコンテンツプロバイダ間で共有されるデータである場合には、その共有データは、これらコンテンツプロバイダの証明書を用いて認証されることができる。
【0230】
本発明によるローカルストレージを用いた記録媒体再生装置は、記録媒体と関連した暗号化された共有データがダウンロードされて格納されるローカルストレージ15と、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって、共有データを含むバーチャルパッケージを生成する制御装置12と、を備える。
【0231】
制御装置12は、バーチャルパッケージを用いて共有データをローカルストレージ15内の他のデータ及び/または記録媒体内のデータと共に再生する。この時、共有データが暗号化されて提供されるため、制御装置12は共有データを解読後に再生する。
【0232】
共有データを解読するに当たり、制御装置12は、共有データに対する有効なアクセス情報を持つアプリケーションのみが共有データにアクセスするようにすることができる。アクセス情報は、共有データにアクセスするアプリケーションのクレデンシャル情報である。また、アクセス情報は、パーミッション要求ファイルに存在でき、パーミッション要求ファイルは、アプリケーションを構成するJARファイルに含まれることができる。
【0233】
バーチャルパッケージを生成するときに、制御装置12は、共有データを認証し、バーチャルパッケージを生成することが好ましい。この時、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合に、その共有データは、コンテンツプロバイダの証明書内の署名を用いて認証できる。一方、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合に、その共有データをこれらのコンテンツプロバイダの各証明書内の共同の署名で認証できる。
【0234】
共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合には、その共有データは、当該コンテンツプロバイダのみのキーを用いて暗号化されてユーザに提供される。これに対し、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合には、その共有データは、これらのコンテンツプロバイダだけに合致するキーを用いて暗号化されてユーザに提供される。
【0235】
暗号化された共有データは、解読された後に再生されることができる。この解読には、その共有データにアクセスするアプリケーションに含まれるキーが用いられることができる。また、記録媒体に格納されたキーを用いることも可能である。場合によっては、解読に光記録再生装置に格納されたキーが解読に用いられても良い。
【0236】
したがって、本発明によって、真のコンテンツプロバイダによって提供されたコンテンツ及び変質していないコンテンツのみが再生されるようにすることによって、共有データを保護することができる。
【0237】
本発明の要旨または範囲から離れることなく、さまざまな修正及び変形を行いうることは、当業者にとっては明らかである。したがって、本発明は、特許請求の範囲及びその均等範囲内における本発明の改良及び変更された事項も含むことは自明である。
【図面の簡単な説明】
【0238】
【図1】本発明の概念的理解を助ける、光記録再生装置及び周辺機器間の統合的使用の一例を説明する図である。
【図2】例えばBD−ROMなどの本発明の記録媒体内に記録されるファイル構造の図である。
【図3】本発明の記録媒体に記録されるデータ記録構造の図である。
【図4】本発明の一実施形態による光記録再生装置のブロック図である。
【図5】本発明のローカルストレージ内のファイル構造の一実施形態を示す図である。
【図6】本発明の一実施形態による共有データ認証プロセスを説明する図である。
【図7】本発明によるデータ認証に用いられる証明書チェーンの図である。
【図8】本発明の一実施形態による署名されたアプリケーションを構成するJARファイルの図である。
【図9】本発明の一実施形態による署名されたアプリケーションを構成するJARファイル内のファイルの認証プロセスのフローチャートである。
【図10】本発明の一実施形態による署名されたアプリケーションを構成するJARファイルの図である。
【図11】本発明の一実施形態による共有データ再生方法のフローチャートである。
【図12】本発明の一実施形態による再生システムを用いた記録媒体再生装置のブロック図である。
【図13】バーチャルパッケージが詳細に示される、本発明による共有データ保護を説明する例示的な図である。
【技術分野】
【0001】
本発明は記録媒体の再生に関し、特に、共有データ(shared data)を保護する方法及び装置と、ローカルストレージを用いて記録媒体からデータを再生する方法及び装置に関する。
【背景技術】
【0002】
記録媒体として大容量のデータを記録できる光ディスクが広く使用されている。なかでも最近では高画質のビデオデータと高音質のオーディオデータを長時間記録格納することができる新しい高密度記録媒体、例えば、ブルーレイディスク(BD:Blu-ray Disc(登録商標))が開発されている。
【0003】
次世代記録媒体技術であるBDは、既存のDVDを顕著に凌駕する量のデータを備える次世代光記録ソリューションである。近来、他のデジタル機器と共にBDを研究し、開発する多くの努力が行われている。
【0004】
BD規格を応用した光記録再生装置が開発され始めている。しかし、未だBD規格は完備しておらず、完成した光記録/再生装置を開発するのに多くの難題が生じている。
【0005】
特に、上記のような光記録再生装置は、BDに記録し、およびBDを再生する基本機能の他に、周辺のデジタル機器との統合的使用を考慮した付加的な機能も考慮しなければならない。すなわち、光記録再生装置は、外部入力信号を受信してこれをディスプレイするか、外部入力信号とBDを共に用いて再生する機能を必ず備えなければならない。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、外部入力信号及びBDを再生する場合において、コンテンツプロバイダによって提供された共有データを保護する好ましい方法が提案されておらず、また開発されておらず、本格的なBD基盤の光記録再生装置を開発するのに多くの制約がある。
【0007】
したがって、本発明は関連技術における制約及び不便による1又は複数の問題を除去するために、共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び装置に関する。
【0008】
本発明の一つの目的は、共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び装置を提供することによって、信頼のおけるコンテンツプロバイダによって提供される共有データを保護し、権限のないアプリケーションによってその共有データが使用されるのを防止することにある。
【0009】
本発明の他の目的は、共有データを保護する方法及び装置、並びにローカルストレージを用いて記録媒体からデータを再生する方法及び装置を提供することによって、共有データを保護することにある。
【0010】
本発明の付加的な長所、目的、特徴は以下の詳細な説明に一部記述され、以下の実施形態によって、または本発明の実施によって一部当業者に明らかとなる。本発明の目的及び他の長所は、添付図面の他に、発明の詳細な説明及び特許請求の範囲において特に指摘される構造によって実現され、そして達成される。
【課題を解決するための手段】
【0011】
これらの目的及び長所を達成するために、そして、本発明の目的にしたがって、本明細書において具体化され、広く説明されているように、本発明による共有データを保護する方法は、ローカルストレージに記録媒体と関連した共有データをダウンロードするステップと、共有データに対する有効なアクセス情報(接近情報)を持つアプリケーションが共有データにアクセス(接近)できるように許容する(permit)ステップと、を含む。
【0012】
例えば、そのアクセス情報は、アプリケーションのクレデンシャル情報(Credential)である。
【0013】
例えば、クレデンシャル情報は、パーミッション要求ファイル(permission request file)に含まれる。
【0014】
例えば、パーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在する。
【0015】
例えば、クレデンシャル情報は、供与者識別情報(Grantoridentifier)、有効期間(Expirationdate)、ファイル名(Filename)、署名(Signature)、およびCertchainfileidを含む。
【0016】
例えば、アプリケーションが共有データにアクセスする前に、共有データを認証(authenticate)するステップをさらに含む。
【0017】
例えば、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、その共有データは、コンテンツプロバイダの証明書(certificate)を用いて認証される。例えば、その証明書は、コンテンツプロバイダの署名を含む。
【0018】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダの証明書を用いて認証されることができる。
【0019】
例えば、その証明書は、コンテンツプロバイダ共同の署名(common signature)を含む。
【0020】
本発明の他の態様においては、ローカルストレージを用いて記録媒体を再生する方法は、記録媒体と関連する暗号化した共有データをローカルストレージにダウンロードするステップと、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって共有データを含むバーチャルパッケージ(virtual package)を生成するステップと、バーチャルパッケージを用いて共有データを解読する(decrypt)ステップと、解読されたデータを再生するステップと、を含む。
【0021】
例えば、共有データは、共有データにアクセスするアプリケーションの実行によって再生される。
【0022】
例えば、アプリケーションは、共有データに対するアクセス情報としてアプリケーションのクレデンシャル情報を含む。
【0023】
例えば、共有データは、アプリケーションに含まれたキーを用いて解読される。
【0024】
例えば、共有データは、記録媒体内に格納されたキーを用いて解読される。
【0025】
例えば、共有データは、光ディスクプレーヤー内に格納されたキーを用いて解読される。
【0026】
例えば、バーチャルパッケージを生成するときに、共有データは、バーチャルパッケージを生成するために、認証される。
【0027】
例えば、共有データが、1つのコンテンツプロバイダによって提供される記録媒体間で共有される場合、その共有データは、コンテンツプロバイダの1つの証明書内の1つの署名を用いて認証される。
【0028】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダの1つの証明書中の1つの共同の署名によって認証される。
【0029】
例えば、共有データが、1つのコンテンツプロバイダによって提供される記録媒体間で共有される場合、その共有データは、コンテンツプロバイダのキーを用いて認証される。
【0030】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダに合致する1つのキーを用いて認証される。
【0031】
本発明のさらに他の態様においては、共有データを保護する装置は、記録媒体と関連したダウンロードされた共有データを格納するローカルストレージと、その共有データに対する有効なアクセス情報を持つアプリケーションがその共有データにアクセスするように制御する制御装置と、を含む。
【0032】
例えば、アクセス情報は、アプリケーションのクレデンシャル情報である。
【0033】
また、クレデンシャル情報は、パーミッション要求ファイルに含まれることが好ましい。
【0034】
また、パーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在することが好ましい。
【0035】
また、制御装置は、アプリケーションが共有データにアクセスする前に、その共有データを認証することが好ましい。
【0036】
また、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、その共有データは、コンテンツプロバイダの証明書を用いて認証されることが好ましい。
【0037】
また、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダの1つの証明書を用いて認証されることが好ましい。
【0038】
また、本発明のさらに別の態様においては、ローカルストレージを用いて記録媒体を再生する装置は、記録媒体と関連したダウンロードされた暗号化された共有データを格納するローカルストレージと、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって、共有データを含むバーチャルパッケージを生成し、そのバーチャルパッケージを用いて共有データを解読して再生する制御装置と、を含む。
【0039】
共有データを解読するときに、制御装置は、共有データに対する有効なアクセス情報を有するアプリケーションが共有データにアクセスするように制御することが好ましい。
【0040】
また、アクセス情報は、共有データにアクセスするアプリケーションのクレデンシャル情報であることが好ましい。
【0041】
また、バーチャルパッケージを生成するときに、制御装置は、共有データを認証してバーチャルパッケージを生成することが好ましい。
【0042】
また、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、制御装置は、共有データをコンテンツプロバイダの1つの証明書を用いて認証することが好ましい。
【0043】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、制御装置は、複数のコンテンツプロバイダの証明書中の1つの共同の署名を用いて共有データを認証する。
【0044】
例えば、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、その共有データは、コンテンツプロバイダのキーを使用して暗号化される。
【0045】
例えば、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、その共有データは、複数のコンテンツプロバイダに合致するキーを使用して暗号化される。
【0046】
例えば、共有データを解読するときに、制御装置は、共有データにアクセスするアプリケーションに含まれたキーを用いて共有データを解読する。
【0047】
例えば、共有データを解読するときに、制御装置は、記録媒体内に格納されたキーを使用して共有データを解読する。
【0048】
例えば、共有データを解読するときに、制御装置は、光記録再生装置に格納されたキーを使用して共有データを解読する。
【0049】
したがって、本発明によれば、アプリケーションの悪意的な機能(malicious function)から再生システムを保護することが可能であり、さらには安全なコンテンツの提供が可能になる。したがって、本発明は、より便利な機能をユーザに提供する。
【0050】
上述の一般的な説明及び後述する本発明の詳細な説明は、例示的かつ説明目的のためのものであり、特許請求の範囲として本発明のさらなる説明を提供することが意図される。
【発明の効果】
【0051】
本発明は、次のような効果及び/または長所を提供する。
【0052】
第一に、共有データを認証することによって、認証されたコンテンツプロバイダによって提供されたコンテンツ及び変質していないコンテンツのみを再生することができ、それによって、共有データを保護することができる。
【0053】
第二に、また、アプリケーションに共有データに対するアクセス情報を提供することによって、権限のないアプリケーションによる悪意的な機能から共有データを保護することができる。
【0054】
第三に、共有データを暗号化することによって、共有データが権限のないアプリケーションによって使用されることを防止できる。
【発明を実施するための最良の形態】
【0055】
以下、本発明のさらなる理解を提供するために含まれ、本願の一部に組み込まれ、そして構成する添付図面は、本発明の実施形態及び本発明の原理を説明するのに役に立つ記述を用いて説明する。参照番号は、本発明の好ましい実施形態や添付図面に説明されている実施例に対して詳細に付される。同一または類似な構成要素については、可能なかぎり同一の参照符号を図面全体を通して使用する。
【0056】
説明の便宜上、本発明は、記録媒体の一例として光ディスク、特に“ブルーレイディスク(BD)”をとりあげる。しかしながら、本発明の技術思想は、他の記録媒体にも同一に適用可能であることは自明である。
【0057】
本発明において“ローカルストレージ(local storage)”とは、図1に示す光記録再生装置内に備えられた一種の格納手段であり、利用される必要な情報及びデータをユーザが任意に格納することができる構成要素を意味する。すなわち、現在一般的に使われるローカルストレージは、“ハードディスク”、“システムメモリ”、“フラッシュメモリ”などを含むが、本発明は必ずしもこれに限定されることはない。
【0058】
特に、“ローカルストレージ”は、記録媒体(例えば、ブルーレイディスク)と関連したデータを格納する手段として用いられる。ローカルストレージ内に格納される記録媒体と関連したデータは、外部からダウンロードしたデータを含むことが一般的である。
【0059】
また、記録媒体から直接読み取られた許容されたデータ(permitted data)、または記録媒体の記録再生操作と関連した生成されたシステムデータ(例えば、メタデータ等)は、ローカルストレージ内に格納されることができることは自明である。
【0060】
本発明の説明の便宜上、記録媒体内に記録されたデータを“オリジナルデータ(original data)”と命名し、一方、ローカルストレージ内に格納されたデータのうち、記録媒体と関連したデータを“付加データ(additional data)”と命名する。
【0061】
本発明において、“タイトル(Title)”とは、ユーザとのインターフェースを構成する再生単位(reproduction unit)である。それぞれのタイトルは、特定のオブジェクトとリンクしている。ディスク内に記録された該当タイトルに関連したストリームは、オブジェクトファイル内のコマンドあるいはプログラムによって再生される。特に、本発明では、説明の便宜上、ディスク内に記録されたタイトルのうち、MPEG2圧縮方式による動画、映画及びインタラクティブ情報を有するタイトルを、“HDMVタイトル”と命名する。また、ディスク内に記録されたタイトルのうち、Javaプログラムによって実行される動画、映画及びインタラクティブ情報を有するタイトルを、“BD−Jタイトル”と命名する。
【0062】
本発明において、タイトルは、インデックステーブルに存在するインデックス項目(indexing item)を意味する。すなわち、記録媒体がロードされると初期に再生される画面情報を有する“ファーストプレイバック(First Playback)”およびメニュー画面を提供する“トップメニュー(Top Menu)”は、タイトルの一種である。すなわち、ユーザとインターフェースを構成する再生単位は、その名称にかかわらず本発明のタイトルに該当する。
【0063】
また、タイトルは、記録媒体内のデータ及び/またはローカルストレージ内のデータで構成されることを特徴とする。ローカルストレージ内のデータは、タイトルの再生中にダウンロードされるデータを含むことができる。
【0064】
図1は、本発明の概念的理解を助けるために、光記録再生装置10及び周辺機器間の統合的使用を説明する例示的な図である。
【0065】
図1を参照すると、本発明の“光記録再生装置10”は、様々な規格による光ディスクの記録または再生を可能にする装置である。そして、本発明の“光記録再生装置10”は、特定の規格の光ディスク(例えば、BD)を記録/再生するように設計することができる。また、本発明の“光記録再生装置10”は、光ディスクを再生だけするように作成しても良い。本発明の以下の説明では、ブルーレイディスク(BD)と周辺機器とのインタラクティブ性を考慮して、BDプレーヤー(BD-Player)またはBDレコーダ(BD-Recorder)を一例としてとりあげる。また、本発明の“光記録再生装置10”が、コンピュータなどにロード可能な“ドライブ”を含むことは自明である。
【0066】
本発明の光記録再生装置10は、光ディスク30を記録再生する機能の他にも、外部入力信号を受信し、受信した信号を信号処理して、他の外部ディスプレイ20を介してユーザに該当画面を伝達する機能を持つ。この場合、外部入力信号に特に制限はない。デジタルマルチメディア放送(DMB:Digital multimedia broadcast)またはインターネットなどは、代表的な外部入力信号である。特に、容易にアクセス可能な媒体であるインターネットの場合、インターネット上の特定のデータは、光記録再生装置10を介してダウンロードされて活用される。
【0067】
また、外部ソースとしてコンテンツを提供する者をまとめて“コンテンツプロバイダ(CP)”と総称する。
【0068】
また、本発明において、コンテンツとは、タイトルを構成する内容であって、記録媒体の製作者によって提供されるデータのことを意味する。
【0069】
特に、本発明の目的は、“コンテンツプロバイダ”によって提供されるコンテンツを保護し、ユーザの再生システムを保護することにある。
【0070】
オリジナルデータ及び付加データは、以下のように説明される。
【0071】
例えば、特定のタイトルについての多重化されたAVストリームが光ディスク内に記録されたオリジナルデータとして記録され、かつオリジナルデータのオーディオストリーム(例えば、韓国語)とは異なるオーディオストリーム(例えば、英語)がインターネット上の付加データとして提供される場合、インターネット上の付加データであるオーディオストリーム(例えば、英語)をダウンロードしてオリジナルデータのAVストリームと共に再生しようとする要求、または、インターネット上の付加データであるオーディオストリーム(例えば、英語)をダウンロードしてそれだけを再生しようとする要求がユーザによっては存在する。このような要求を可能にするために、オリジナルデータ及び付加データ間の関連性(association)を規定する必要があり、これらのデータをユーザの要求に応じて管理/再生する体系化した方法が必要となる。
【0072】
上記で説明の便宜上、ディスク内に記録された信号をオリジナルデータとし、ディスク外部に存在する信号を付加データと命名したが、これは単にそれぞれのデータを取得する方法によって区分したものであり、オリジナルデータまたは付加データは特定のデータに限定されることはない。
【0073】
したがって、一般的な付加データには、オーディオ、プレゼンテーショングラフィック(PG:Presentation Graphic)、インタラクティブグラフィック(IG:Interactive Graphic)、テキストサブタイトル(Text subTitle)等が含まれるが、これらに限定されない。付加データは、列挙したデータ及びビデオを全て含む多重化されたAVストリームに相当する場合もある。すなわち、光ディスク外部に存在し、かつオリジナルデータと関連するいかなる種類の属性のデータも付加データになりうる。
【0074】
また、付加データを、インデックスファイル(index)、プレイリストファイル(*.m2ts)、またはクリップ情報ファイル(*.clpi)ごとに別個にダウンロードすることができる。また、付加データを、コンテンツ単位またはタイトル単位にダウンロードすることができる。
【0075】
ユーザの要求を実現するためには、オリジナルデータ及び付加データ間のファイル構造を提供することが必要である。以下、図2及び図3を参照して、ブルーレイディスク(BD)用に使用可能なファイル構造及びデータ記録構造について詳細に説明する。
【0076】
図2は、本発明による記録媒体(例えば、BD−ROM)内に記録されるファイル構造の一実施例を示す図である。
【0077】
図2を参照すると、本発明の再生管理ファイル構造には、1つのルートディレクトリの下に少なくとも1つのBDMVディレクトリが存在する。BDMVディレクトリ内には、ユーザとの双方向性(interactivity)を保証する一般ファイル(上位ファイル)として、インデックスファイル(“index.bdmv”)及びオブジェクトファイル(“MovieObjet.bdmv”)が存在する。
【0078】
BDMVディレクトリは、実際にディスク内に記録されたデータに関する情報とその記録されたデータを再生することに関する情報を持つディレクトリであり、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BD−Jオブジェクトファイルを含むBDJOディレクトリ、JARファイルを含むJARディレクトリを含む。また、BDMVディレクトリは、ディスク再生に関連した補助データを含むAUXDATAディレクトリも含む。以下、ディレクトリ及び各ディレクトリ内に含まれるファイルについて詳細に説明する。
【0079】
STREAMディレクトリには、ディスク内に特定フォーマットで記録されたAVストリームファイルが存在し、例えば、ストリームファイル(01000.m2ts、…)の拡張子名として“*.m2ts”が使用される。すなわち、動映像データは、一般的に、ストリームファイル内に本発明と関連したコンテンツとして記録される。
【0080】
CLIPINFディレクトリは、それぞれのストリームファイルと対応するクリップ情報ファイル(01000.clpi、…)を含む。特に、クリップ情報ファイル(*.clpi)は、対応するストリームファイルの属性情報及びタイミング情報を含む。特に、ストリームファイル(*.m2ts)と一対一対応するクリップ情報ファイル(*.clpi)をまとめて“クリップ(clip)”と命名できる。すなわち、このことは、対応する1つのストリームファイル(*.m2ts)には、1つのクリップ情報ファイル(*.clpi)が必ず存在する、ということを意味する。
【0081】
PLAYLISTディレクトリは、プレイリストファイル(00000.mpls、…)を含む。それぞれのプレイリストファイル(*.mpls)は、特定のクリップの再生時間を指定する少なくとも1つのプレイアイテム(PlayItem)を含む。プレイアイテムは、再生される特定のクリップ、すなわち、プレイアイテム内でクリップ名(clip_Information_File_name)として指定されるクリップの再生開始時間(IN−Time)及び再生終了時間(OUT−Time)に関する情報を有する。
【0082】
すなわち、プレイリストファイル(*.mpls)は、少なくとも1つまたは複数のプレイアイテムの組み合わせによって特定のクリップの再生を実行する、全体再生管理ファイル構造内の基本的再生管理ファイル単位となる。
【0083】
特に、プレイリストファイル(*.mpls)は、オブジェクトファイル内の特定のオブジェクトファイルによるコマンドによって操作されうる。したがって、ディスク再生シナリオの観点では、オブジェクトファイルは、動的なシナリオ(Dynamic scenario)を実行し、または管理し、そして、プレイリストファイル(*.mpls)は、静的なシナリオ(Static scenario)を実行し、または管理する。
【0084】
BDJOディレクトリは、BD−Jタイトルを再生するためのBD−Jオブジェクトファイルを含む。
【0085】
JARディレクトリは、BD−Jについての全ての“xxxxx.jar”を含む。JAR(Java archive)ファイルは、複数のファイルのまとまりを配布する際に使われる圧縮ファイルである。JARファイルは、通常、特定のjavaプログラムと関連したjavaクラスファイル、補助リソース(auxiliary resource)、及びメタデータなどで構成される。様々なアプリケーションをJARファイルによって構成することができる。
【0086】
AUXDATAディレクトリは、ディスク再生と関連した補助的な情報を含むファイルを含む。例えば、AUXDATAディレクトリは、再生時にクリックサウンド情報及びメニューサウンド情報などを提供するサウンドファイル(“Sound.bdmv”)と、テキストサブタイトルの再生時にフォント情報を提供するフォントファイル(“11111.otf”)とを含むことができる。
【0087】
METAディレクトリは、メタデータを備える。メタデータは、データに対するデータである。例えば、メタデータは、サーチファイル及びディスクライブラリファイルなどを含む。
【0088】
上述したファイル及びディレクトリの位置は、一つの例に過ぎない。必要に応じてその位置が変更されることは自明である。例えば、BDJOディレクトリ及びJARディレクトリをサブディレクトリとして、ルートディレクトリの下に別個に構成することも可能である。もう一つの例として、JARディレクトリを上位ディレクトリとしてルートディレクトリの下に構成しても良い。
【0089】
また、ルートディレクトリは、記録媒体内に記録されたデータの保護に関する情報、またはローカルストレージにダウンロードされるデータの保護に関する情報を有するディレクトリを含むことができる。このことは、図2に示す実施形態では、CERTIFICATEディレクトリとして表される。アプリケーション認証及びバインディングユニット認証のためのルート証明書ファイルが、CERTIFICATEディレクトリ内に位置している。
【0090】
図3は、本発明による記録媒体に記録されるデータ記録構造を示す図であり、前述したファイル構造に関連した情報がディスク内に記録されるフォーマットを示している。
【0091】
図3を参照すると、ディスクの内周から順に、ファイル全体を管理するシステム情報であるファイルシステム情報領域と、記録されたストリーム(*.m2ts)を再生するための、インデックスファイル、オブジェクトファイル、プレイリストファイル、クリップ情報ファイル及びメタデータファイルが記録された領域(“データベース領域”)と、及びオーディオ/ビデオ/グラフィックなどで構成されたストリームまたはJARファイルが記録されるストリーム領域またはデータ領域(“AVストリーム領域”)と、が存在する。
【0092】
また、データ領域内のコンテンツを再生するためのファイル情報などを記録する領域を管理領域と名付ける。ファイルシステム情報領域およびデータベース領域は、管理領域に該当する。ただし、図3に示した各領域は、一例として提示されている。本発明が図3に示す各領域の配列構造に限定されないということは自明である。
【0093】
図4は、本発明の一実施形態による光記録再生装置10のブロック図である。
【0094】
図4を参照すると、本発明の一実施形態による光記録再生装置は、光ディスクに記録されたオリジナルデータ及び再生管理ファイル情報を含む管理情報を再生するピックアップ11と、ピックアップ11の動作を制御するサーボ14と、ピックアップ11から受信した再生信号を特定の信号値に復元し、記録される信号を光ディスクに記録される信号に変調し、その変調された信号を伝達する信号処理部13と、上記動作を制御するマイクロプロセッサ16と、を備える。
【0095】
光ディスク外に存在する付加データは、制御装置12によってローカルストレージ15にダウンロードされる。制御装置12は、ローカルストレージ15内のバインディングユニットマニフェストファイル(Binding Unit Manifest File)に記録された情報を用いてバインディングユニット(binding unit)を生成する。また、制御装置12は、記録媒体のデータ及びローカルストレージ15内のデータを再生するために、ローカルストレージ15内のバインディングユニットマニフェストファイルに記録されたネームマッピング情報を用いてバーチャルパッケージを生成する。制御装置12は、生成されたバーチャルパッケージを用いてオリジナルデータ及び/または付加データをユーザの要求に応じて再生する。
【0096】
また、バーチャルパッケージは、バーチャルファイルシステム(virtual file system)によって行われるバインディングオペレーションを介して生成され、ディスク内の相異なる領域に格納されているオリジナルデータで構成されたオリジナルクリップ(original clip)およびローカルストレージ15内の付加データで構成された付加クリップ(additional clip)を再生管理する1つのファイル構造となる。
【0097】
バインディングユニットマニフェストファイルは、バーチャルパッケージを生成するバインディングオペレーションに使用される情報を含む。バインディングユニットマニフェストファイルがないと、ローカルストレージ15内のデータを記録媒体内のファイル構造(ディスクパッケージ)とバインディングしてバーチャルパッケージを生成することができない。
【0098】
ネームマッピング情報は、バインディングユニットマニフェストファイルに記録されている情報であり、記録媒体内に記録されたデータがバーチャルパッケージにおいてどの位置に存在しているかを示す情報である。
【0099】
新しく生成されたバーチャルパッケージを後々の再利用のためにローカルストレージ15に格納し、または、別のダイナミックメモリを用いて一時的に格納することができる。
【0100】
本発明において、制御装置12は、アプリケーション及びコンテンツが真のコンテンツプロバイダ(CP)によって提供されたか否かを認証し、アプリケーションのコンテンツへのアクセスを制御する。アプリケーションの認証については、図5の記述において詳細に説明する。
【0101】
また、再生システム17は、制御装置12の制御のもと、出力データを最終的にデコードしてユーザに提供する。再生システム17は、AV信号をデコードするデコーダと、前述した特定のタイトルの再生と関連したオブジェクトコマンドあるいはアプリケーション、および制御装置12を介して入力されるユーザコマンドを解析することによって再生方向を決定するプレーヤーモデルと、を含む。再生システム17については、図12の記述でさらに詳細に説明する。
【0102】
光ディスクに信号を記録する機能を果たすために、AVエンコーダ18は、制御装置12の制御によって入力信号を特定のフォーマットの信号、例えば、MPEG−2トランスポートストリームに変換し、その変換された信号を信号処理部13に提供する。
【0103】
図5は、本発明によるローカルストレージ15内のファイル構造の一実施形態を示す図である。
【0104】
図5を参照すると、ローカルストレージには、記録媒体から読み取られたデータまたは記録媒体の外部ソースからダウンロードされたデータを格納することができる。データを格納する領域は、大きく、アプリケーションデータを格納する際に使用される“アプリケーションデータ領域620”とバーチャルパッケージの生成に用いられる“バインディングユニットデータ領域610”とに区分されることができる。
【0105】
図5の一実施形態において、ローカルストレージ15内の“バインディングユニットデータ領域610”には、プロバイダ(organization-dependent)ディレクトリが3個(org1_ID、org2_ID、org3_ID)存在する。これらは、それぞれのコンテンツプロバイダ(CP)を意味する。例えば、映画の場合には、映画会社または映画配給会社がその組織(organization)に該当する。
【0106】
また、プロバイダ共有(organization-dependent shared)ディレクトリも存在することができる。コンテンツプロバイダ間で共有されるデータは、その共有ディレクトリ610aに存在する。
【0107】
プロバイダディレクトリである“org1_ID”は、下位ディレクトリとしてディスク(disc-dependent)ディレクトリの“disc1_ID”、“disc2_ID”及びディスク共有(disc-dependent shared)ディレクトリ610bを含む。ディスク共有ディレクトリ610bには、“org1_ID”が提供した“disc1_ID”と“disc2_ID”記録媒体間で共有されるデータが存在する。
【0108】
“disc1_ID”には、“org1”が提供する“disc1”とバインディングされるバインディングユニット(binding unit)が存在する。バインディングユニットには、プレイリストファイルの“Apr2005.mpls(611)”とクリップ情報ファイルの“Apr2005.clpi(612)”と、ストリームファイルの“Apr2005.m2ts(613)”と、が存在する。これらのファイルと記録媒体内のデータとがバインディングすることによってバーチャルパッケージを生成する方法が、図13を参照して後で説明される。
【0109】
“アプリケーションデータ領域620”には、供給者(organization-dependent)ディレクトリが3個(org1_ID、org2_ID、org3_ID)存在する。“org1_ID”の下位ディレクトリとして“disc1_ID” ディレクトリ及び“disc2_ID”ディレクトリが存在する。“disc1_ID”ディレクトリは、特定のアプリケーションをそれぞれ構成するJARファイルである“App0.jar(621)”及び“App1.jar(622)”を含む。 “disc2_ID”ディレクトリは、JARファイルである“App0.jar(623)”を含む。
【0110】
また、アプリケーションは、特定の機能を行うプログラムを意味する。その機能を行うために、アプリケーションは、全てのデータ、ファイル、及び再生システム17のハードウェア構成またはソフトウェア構成などにアクセス可能になっていなければならない。例えば、“disc1_ID”ディレクトリの“App0.jar(621)”によって構成されるアプリケーション(以下、“App0”という)が特定の機能を行い、その機能を行うために“org1_ID”であるコンテンツプロバイダが提供した記録媒体間で共有されるデータ“japanese.otf(614)”のデータが必要な場合には、“App0”は、“japanese.otf(614)”にアクセスする。
【0111】
本発明は、同一のコンテンツプロバイダ(CP)が提供した記録媒体間で共有されるデータ(例えば、ディスク共有ディレクトリ610bに存在するデータである、図5の“japanese.otf(614)”)、または、コンテンツプロバイダ(CP)間で共有されるデータ(例えば、共有ディレクトリ610aに存在するデータ)を保護するためのセキュリティ案を提供しようとする。
【0112】
このような共有データを保護するための3つのセキュリティ案のレベルが考慮されることができる。
【0113】
まず、第1のレベルは、全てのアプリケーションに全ての共有データへのアクセスを許容する場合である。この場合にはいかなるセキュリティメカニズムも要求されないので、本発明では第1のレベルは述べない。
【0114】
したがって、本発明が提供しようとするセキュリティ案のレベルは、第2のレベルと第3のレベルとなる。なかでも2番目は、共有データに対する認証が共有データを保護するのに充分であると仮定する。これは、共有データを用いるアプリケーションが共有データへのアクセスがそれぞれ許容される場合には、アプリケーションの動作が信頼できることを前提とする。
【0115】
第3のレベルは、共有データへのアクセスが許容されたアプリケーションの悪意的な機能を排除できないとの仮定の下に、共有データを暗号化してユーザに提供することによって、共有データを保護するやり方である。したがって、共有データにアクセスするアプリケーションは、共有データを解読できなければならない。
【0116】
以下、図6乃至図10に基づき、本発明が提供する第2のセキュリティレベルについて説明する。また、図11では、第3のセキュリティレベルおよびこの第3のセキュリティレベルが適用された場合の共有データの再生について説明する。
【0117】
図6乃至図9は、本発明による共有データ保護のための共有データ及びアプリケーションの認証について示す。図10は、共有データにアクセスするアプリケーションのためにアクセス情報を提供することによって共有データを保護する方法を示す。
【0118】
図6は、本発明の一実施形態による共有データ認証を示す図である。
【0119】
図6を参照すると、コンテンツプロバイダ(CP)は、データを提供する際に、そのデータに対する証明書をユーザに提供する。その証明書は、記録媒体内に記録された形態でユーザに提供されても良く、記録媒体外からダウンロードされてユーザに提供されても良い。
【0120】
この証明書は、バージョン、シリアル番号、署名アルゴリズム(signature algorithm)、発行人(issuer)、有効期間、認証対象、公開鍵(public key)などを含むことができる。
【0121】
ここで、公開鍵とは、公開鍵暗号体系で用いられる1つのエンティティの非対称キーペア(key pair)の、公開されているキーを意味する。その公開鍵は、署名システムで署名の真偽を判断するのに用いられ、検証キー(verification key)ともいう。一方、秘密鍵(private key)とは、公開鍵暗号体系で用いられる1つのエンティティの非対称キーペアの中で公開されないキーのことをいう。ある場合には、秘密鍵は、対称キー暗号体系で用いられるキーを意味する。
【0122】
証明書は、ユーザに提供されるデータが適法なコンテンツプロバイダによって提供されたことを証明するために用いられる。また、その証明書は、証明書を発行した証明書権威者(CA:certificate authority)のデジタル署名を含む。図6の実施形態では、例えば、コンテンツプロバイダが自分自身で証明をする。したがって、証明書権威者(CA)は、コンテンツプロバイダ(CP)自身となる。証明書の証明については、図7で詳細に説明する。
【0123】
コンテンツプロバイダ(CP)は、SHA−1(Secure Hash Algorithm-1)及びMD5(Message Digest algorithm 5)などのダイジェストアルゴリズム6010を用いて、コンテンツダイジェスト6011を生成してユーザに提供する。
【0124】
ここで、コンテンツダイジェストとは、それぞれのコンテンツごとに固有に算出されるように作られた簡単な文字列のことを意味する。そのコンテンツダイジェストは、任意の長さのコンテンツに無方向のハッシュ関数を反復適用することによって、簡潔にされた一定の長さのビット列として表現される。各コンテンツ(メッセージ、文章、ファイルなど)ごとに1つのコンテンツダイジェストが算出される。そして、異なる文書から同一のコンテンツダイジェストを算出することはできない。この結果、コンテンツダイジェストは、原文の偽造有無を確認する手段として使用することができる。
【0125】
生成されたコンテンツダイジェスト6011は、コンテンツプロバイダの秘密鍵6013を用いて署名アルゴリズム6012を介してデジタル署名になる。コンテンツプロバイダは、デジタル署名を含む証明書をコンテンツと共にユーザに提供する。
【0126】
ここで、署名アルゴリズムとは、RSA(Rivest-Shamir-Adelman)、DSA(digital signature algorithm)などの暗号化アルゴリズムの一種である。
【0127】
デジタル署名は、上記デジタル署名に用いられた秘密鍵6013に対応する公開鍵6017を用いて署名アルゴリズム6016を介してコンテンツダイジェスト6018に復元されることができる。公開鍵6017は、証明書中に含まれてユーザに提供される。デジタル署名の生成に用いられた秘密鍵6013に対応する公開鍵6017が存在しない場合、デジタル署名をコンテンツダイジェスト6018に復元することができない。この場合には、提供されたアプリケーションが適法なコンテンツプロバイダによって提供されたものと認証されない。
【0128】
また、公開鍵6017の存在により、デジタル署名をコンテンツダイジェスト6018に復元したとしても、提供されたコンテンツが変質した場合には認証に失敗する。
【0129】
すなわち、コンテンツプロバイダによって提供されたコンテンツは、ダイジェストアルゴリズム6014を介してコンテンツダイジェスト6015として算出される。算出されたコンテンツダイジェスト6015は、デジタル署名を用いて復元されたコンテンツダイジェスト6018と比較される(6019)。コンテンツが変質した場合、復元されたコンテンツダイジェスト6018は、提供されたコンテンツから算出されたコンテンツダイジェスト6015とは異なる。このため、コンテンツの認証は失敗する。
【0130】
共有データの認証に失敗する場合には、その共有データの再生が制限されることが好ましい。すなわち、本発明において、共有データは、再生される記録媒体の外部からローカルストレージにダウンロードされても良い。記録媒体がロードされ、かつ共有データがロードされた記録媒体と関連する場合には、その共有データは、記録媒体内のディスクパッケージにバインディングされる。このバインディングオペレーションは、上述した再生システム17のバーチャルファイルシステムによって行われる。もし、共有データの認証に失敗する場合には、バーチャルファイルシステムは、共有データをディスクパッケージにバインディングしなくても良い。これにより、ダウンロード中に損傷した、またはハッキングなどによって変質した共有データが記録媒体と共に再生されることを防ぐことができる。また、権限のないコンテンツプロバイダによって提供された共有データが再生されることを防止できる。したがって、記録媒体のコンテンツプロバイダ及び共有データのプロバイダを保護することが可能になる。
【0131】
図7は、本発明によるデータ認証に用いられる証明書チェーン(certificate chain)を示す図である。
【0132】
複数個の証明書が階層的連結構造を形成しながらコンデンツに含まれることができる。ここで、1つの証明書はその以前の証明書の真偽を証明する。証明書の階層構造の最上位は、ルートCAであるが、このルートCAは、他のCAからの証明書がなくても信頼される。証明書は、記録媒体やBD端末内に位置するキーデータベース(key database)に格納される。
【0133】
具体的に説明すると、信頼されたルート証明書権威者(CA)が証明書権威者702、703、704を認証できる。認証される証明書権威者は、AACS(Advanced Access Content System)、またはCPS(Content Protection System)でありうる。場合によっては、AACSやCPS自身がルート証明書権威者にもなりうる。
【0134】
AACS、CPS、または他の証明書権威者は、光記録再生装置、コンテンツプロバイダ等(702a、702b、702c、702d)などの下位構造を独立的に認証できる。このような構造を証明書チェーンという。
【0135】
このような証明書チェーンにおいては、信頼された証明書権威者(CA)を認証できる上位の証明書権威者は存在しない。この場合、信頼された証明書権威者は、自分自身(701)を認証するが、これはルート認証(root certification)に該当する。
【0136】
それぞれの証明書権威者は、自分自身またはその下位構造の認証の結果に対して、それぞれの証明書権威者のデジタル署名を含む証明書を提供する。証明書チェーンの最下位の証明書権威者が提供する証明書をリーフ証明書(leaf certificate)といい、証明書チェーンの最上位の証明書権威者が提供する証明書をルート証明書という。これらの証明書はデジタル署名の検証過程でデジタル署名を復元する公開鍵のインテグリティを保証することができる。
【0137】
なお、信頼された証明書権威者が提供する信頼されたルート証明書は、記録媒体の特定の領域にファイルの形態などで格納されてユーザに提供される、または、記録媒体の外部からダウンロードされて光記録再生装置のキーストア(key store)に格納されることもできる。
【0138】
本発明は、共有データの認証を通じて共有データを保護することを意図する。したがって、共有データが、同一のコンテンツプロバイダ、例えば、コンテンツプロバイダ1(CP1)が提供した記録媒体間で共有される場合には、コンテンツプロバイダ1の証明書702bが共有データの認証に用いられる。
【0139】
また、共有データが複数のコンテンツプロバイダ、例えば、コンテンツプロバイダ1(CP1)及びコンテンツプロバイダ2(CP2)によって提供される記録媒体間で共有される場合には、コンテンツプロバイダ1、2両方の証明書702dが共有データの認証に用いられる。
【0140】
証明書チェーンを通じて生成された証明書は、記録媒体の特定の領域にファイルの形態などで格納されて認証に用いられるか、または、ネットワーク上での認証に用いられることができる。
【0141】
場合によっては、それぞれの証明書権威者は、証明書破棄リスト(Certificate Revocation List:CRL)を作成することができる。この場合、コンテンツプロバイダ及びユーザは、証明書破棄リスト(CRL)をダウンロードして受信し、証明書を介して認証する前に、認証に使用する証明書が破棄されたか否かを検査する。万一、認証しようとする証明書が破棄された場合は、認証が成立しない。一方、証明書が破棄されなかった場合は、他の認証要件を満足する限り認証が成立する。
【0142】
本発明が提供する第2のセキュリティレベルでは、特定の機能を行う各アプリケーションが認定された場合、アプリケーションの動作が信頼するに値するということを前提とする。このため、共有データへのアクセス権限があるアプリケーションのみが共有データにアクセスすることが認められる。アプリケーションの動作が信頼されるためには、当該アプリケーションが認証される必要がある。このことを図8乃至図10を参照して、以下のように詳細に説明する。
【0143】
図8及び図9は、本発明によるアプリケーションの認証について示す図である。図10は、本発明による共有データに対するアクセス情報を持つアプリケーションを構成するJARファイルを示す図である。ここで、署名されたアプリケーション(signed application)を例に挙げて図8及び図9について説明する。
【0144】
図8は、本発明の一実施形態による署名されたアプリケーションを構成するJARファイルの図を示す。
【0145】
図8を参照すると、圧縮ファイルの一種であるJARファイルは、複数のファイルを1つにまとめるのに用いられている。JARファイルが署名されている場合、このJARファイルを“署名されたJARファイル”という。この署名されたJARファイルによって構成されたアプリケーションを“署名されたアプリケーション”という。この署名されたJARファイルは、マニフェストファイル(Manifest file)がアップデートされていること、並びに署名ファイル(Signature file)及び署名ブロックファイル(Signature Block file)がMETAINFOディレクトリに追加されていること以外は、元々のJARファイルと同一である。
【0146】
図8のアプリケーションは、署名されたアプリケーションである。このアプリケーションを構成するJARファイルは、“App0”ファイル及びMETAINFOディレクトリ81を含む。“App0”ファイルは、“classes”ファイルとデータディレクトリを含む。このデータディレクトリには“App0.dat”ファイルが存在する。“classes”ファイルは、“App0.class”ファイルと“subclasses”ディレクトリを含む。この“subclasses”ディレクトリには、“sub1.class”及び“sub2.class”が存在する。また、図8の実施形態では、例えば、全てのクラスファイル(App0.class、sub1.class、sub2.class)が署名される。
【0147】
METAINFOディレクトリ81は、1つのマニフェストファイル811(MANIFEST.MF)及び1つの署名ブロックファイル813(XXX.RSA)を含む。これらのファイルによってアプリケーションの認証がなされる。
【0148】
マニフェストファイル811は、1つのJARファイル内に、署名された各ファイルに対するメッセージダイジェスト(message digest)とともにファイルのリストを含む。また、JARファイル内の全てのファイルがマニフェストファイル811にエントリー(entry)としてリストされる必要はない。しかし、署名される全てのファイルはリストされなければならない。したがって、“App0.class”ファイル、“sub1.class”ファイル、“sub2.class”ファイルに対するエントリーは、マニフェストファイル811にリストされなければならない。
【0149】
署名ファイル812は、マニフェストファイルのダイジェストを含む。署名ファイルは、権限ある供給者(authorizing organization)によって署名されたデータとなる。
【0150】
署名ファイル812のコンテンツを使用してメッセージダイジェストを計算した後、秘密鍵を用いて署名アルゴリズムを介して、その計算された結果を暗号化することによってデジタル署名が生成される。デジタル署名は、署名ファイルの署名されたバージョンになることができる。生成されたデジタル署名は、署名ブロックファイル813内に位置する。各署名ファイルは、多数のデジタル署名を持つことができるが、この複数の署名は同一の適法なエンティティによって生成されなければならない。
【0151】
また、この秘密鍵は、署名ブロックファイル813に存在する公開鍵に対応する秘密鍵である。この公開鍵は、署名ブロックファイル内の証明書のリーフ証明書のいずれか1つに位置する。この公開鍵を認証する証明書は、署名ブロックファイルに含まれる。
【0152】
署名ブロックファイル813は、デジタル署名ファイルとも呼ぶことができる。デジタル署名ファイルは、署名ファイル812と同じファイル名を持つが、異なる拡張子を持っている。この拡張子は、署名アルゴリズムによって定められる。例えば、この拡張子には、“.RSA”または“.DSA”などが相当する。
【0153】
共有データにアクセスするアプリケーションの認証は、アプリケーションを構成するJARファイル内のファイルを認証するやり方で行われる。署名されたJARファイル内のファイルの認証について、図9を参照して以下のように具体的に説明する。
【0154】
図9は、本発明の一実施形態による署名されたアプリケーションを構成するJARファイル内のファイルの認証過程のフローチャートであり、アプリケーションの認証は、図6で示すようなコンテンツの認証と類似する方式で行われる。
【0155】
図9を参照して説明すると、1つのマニフェストファイルが最初に解析される(parse)とき、ある署名ファイルに対する署名は初めて検証(verify)される(S10)。デジタル署名は、署名ブロックファイルに存在する。具体的に説明すると、この署名ファイルに対応する署名ブロックファイルを探し、その署名ブロックファイルから証明書を読み取る。これらの証明書のうち、リーフ証明書内には、この署名ファイルの生成に用いられた秘密鍵に対応する公開鍵が存在する。署名ブロックファイル内に存在する秘密鍵を用いて暗号化されたデジタル署名は、この公開鍵を用いてダイジェスト値に復元される。復元されたダイジェスト値は、署名ファイルのダイジェスト値と比較される。この比較の結果、両者が同一であると、デジタル署名の検証が実行される。デジタル署名の検証に失敗する場合、ファイルに対する認証は失敗となる(S70)。
【0156】
認証されるファイルの有効性を確認するために、マニフェストファイルに対するダイジェスト値が計算される(S20)。計算されたダイジェスト値が、署名ファイル内に存在するダイジェスト値と比較される(S30)。比較された両ダイジェスト値が異なる場合、ファイルの認証は失敗となる(S70)。比較された両ダイジェスト値が同一である場合、マニフェストファイルに対するインテグリティが確認される。
【0157】
比較されたダイジェスト値が同一である場合、認証されるファイルの実際のデータに対するダイジェスト値が計算される(S40)。計算されたダイジェスト値がマニフェストファイル内のダイジェスト値と比較される(S50)。
【0158】
比較された両ダイジェスト値が同一であるとファイルの有効性が確認され、ファイルの認証に成功する(S60)。一方、比較された両ダイジェット値が異なるとファイルの認証は失敗となる(S70)。
【0159】
本発明は、アプリケーションを構成するJARファイル内のファイルを認証する際に、署名ファイルを用いてマニフェストファイルのインテグリティを確認し、署名ブロックファイルを用いてデジタル署名を検証することを特徴とする。また、マニフェストファイルを用いてJARファイルの実際のデータに対するインテグリティを確認することを特徴とする。
【0160】
したがって、JARファイルの実際のデータに対するインテグリティ確認(S40、S50)、マニフェストファイルのインテグリティ確認(S20、S30)、及びデジタル署名の検証(S10)は、個別的に実行可能である。すなわち、図9の実施形態で説明した認証フローの順序は必須ではなく、再生システムによって順序が変わっても良い。
【0161】
また、アプリケーションを認証する際に、認証されるファイルがマニフェストファイルでリストされたものかを、認証されるファイルの実際のデータに対するダイジェスト値が計算(S40)される前に確認することも可能である。
【0162】
また、デジタル署名に対する検証結果(S10)とマニフェストファイルに対するインテグリティ確認の結果(S30)は、後々に使用するために格納されても良い。この場合、S10〜S30のステップは、1つのJARファイルの認証過程で1回しか行われない。
【0163】
アプリケーションの認証に失敗しても、プレーヤーの実装によって共有データへのアクセスを許容することができる。しかし、共有データの保護のためにアクセスが制限されることが好ましい。このアクセス制限の程度は、プレーヤーの実装によって、認証されなかったアプリケーションが全ての共有データにアクセスすることを制限されるように設定することが可能である。または、プレーヤーによっては、制限された範囲の共有データにのみアクセスできるように制御しても良い。
【0164】
図10は、本発明の一実施形態によるアプリケーションを構成するJARファイルの図である。
【0165】
図10を参照すると、共有データへのアクセス権限があるアプリケーションのみが前記共有データにアクセスできるようにすべく、本発明は共有データをリソースとするアプリケーションのために共有データに対するアクセス情報を使用する。有効なアクセス情報を持つアプリケーションのみが共有データにアクセス可能になるため、権限のないアプリケーションによる共有データの利用を防ぐことができる。
【0166】
アクセス情報は、アプリケーションに対するクレデンシャル情報でありうる。クレデンシャル情報はパーミッション要求ファイルに含まれることができる。パーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在できる。
【0167】
図10のJARファイル(App0.jar)は、アプリケーションを構成するファイルである。このJARファイルには、クレデンシャル情報を含むパーミッション要求ファイル(App0.perm)が存在する。クレデンシャル情報としては、“供与者識別子(Grantor identifier)”、“有効期間(Expiration date)”、“ファイル名(Filename)”、“署名(Signature)”、“Certchainfileid”などが存在する。
【0168】
この“供与者識別子(Grantor identifier)”は、アプリケーションを提供する主体に関する情報である。“供与者識別子(Grantor identifier)”としては、例えば、“org1_ID”などがありうる。
【0169】
この“有効期間”は、クレデンシャル情報の有効期間を意味する。例えば、“有効期間”が“23/02/2035”と与えられた場合、このクレデンシャル情報を含むアプリケーションは、2035年02年23日が経過した後には共有データにアクセスできなくなる。
【0170】
この“ファイル名”は、アプリケーションがアクセスしようとする共有データの位置およびその共有データに対して付与される読取り/書込み権限に関する情報である。例えば、“ファイル名読取り”情報が”真(true)”と与えられ、“ファイル名”が前記ファイルの存在する位置で表現されて、“BUDA/org1_ID/Shared/Japanese.otf”と与えられることができる。図6を参照して説明すると、次の通りである。クレデンシャル情報を持つアプリケーションは、ローカルストレージ内のバインディングユニットデータ領域の“org1_ID”ディレクトリのディスク共有(disc-dependent shared)ディレクトリである“Shared”ディレクトリ内に存在する“Japanese.otf(614)”ファイルにアクセスすることによって、“Japanese.otf(614)”ファイルを読み取ることができることを意味する。
【0171】
“署名”は、アプリケーションプロバイダからの署名を含む。そして、“Certchainfileid”は、署名ブロックファイル内の特定の証明書の位置を表すのに用いられる。“Certchainfileid”は、認証に用いられるリーフ証明書のシリアル番号に対応する特定のserial Numberおよび認証に用いられるリーフ証明書の主体に対応する発行者の情報を含む。署名の公開鍵に通じる証明書は、署名ブロックファイル内の“certifcates”フィールドに存在しなければならない。クレデンシャル情報のcertchainfieldフィールドのコンテンツに対応する発行者フィールドのシーケンス番号及び組織(organization)IDが一緒に見つけられるまで、各証明書は確認されなければならない。もし、対応する証明書が前記署名ブロックファイル内に存在すると、ファイルアクセスは許容されない。
【0172】
アプリケーションに対するクレデンシャル情報が認証され、かつ共有データに対する有効な“ファイル名”を含む場合、当該アプリケーションは、共有データにアクセスできる。これに対し、クレデンシャル情報が有効でない場合、当該アプリケーションは信頼できず、当該アプリケーションの共有データへのアクセスは制限される。結果として、本発明によれば、共有データにアクセスするアプリケーションにクレデンシャル情報をおくことによって共有データを保護することができる。
【0173】
また、バーチャルパッケージを構成する間に、ローカルストレージにあるJARファイルが、記録媒体内の対応するJARファイルよりも優先権を持つ場合がある。この場合、記録媒体内のJARファイルがクレデンシャル情報を含むとしても、ローカルストレージ内のクレデンシャル情報が用いられる。
【0174】
また、パーミッション要求ファイルがJARファイル内にある時、パーミッション要求ファイルは認証されなければならない。
【0175】
図11は、本発明の一実施形態による共有データ再生方法のフローチャートである。
【0176】
まず、本発明が提供するもう1つのセキュリティレベルは、共有データへのアクセスが許容されたアプリケーション(権限を与えられたアプリケーション)の悪意的な機能(malicious function)を排除できないと仮定する。したがって、本発明は、共有データの保護のために共有データを暗号化してユーザに提供することを特徴とする。共有データにアクセスするアプリケーションは、その共有データを解読できなければならない。
【0177】
共有データが暗号化されて提供される場合、アプリケーションが共有データにアクセスできたとしても、当該アプリケーションが共有データを用いて特定の機能を行えるためにはその共有データが解読されなければならない。
【0178】
本発明によって暗号化されて保護される共有データを再生する方法ついて、図11を参照して以下の通り説明する。
【0179】
図11を参照すると、記録媒体と関連付けられ、暗号化されている共有データが記録媒体外からローカルストレージにダウンロードされる(S1110)。このため、共有データをダウンロードするアプリケーションは、ネットワークを介して共有データにアクセスできるアプリケーションでなければならない。
【0180】
記録媒体がロードされると、記録媒体と関連した共有データがローカルストレージに存在する場合、記録媒体内に記録されたデータと共有データがバインディングオペレーションによってバインディングされ、バーチャルパッケージが生成される(S1120)。
【0181】
ここで、共有データがダウンロードされる前に既にバーチャルパッケージが存在している場合には、ダウンロードされた共有データだけでなく、バーチャルパッケージもアップデートされる。
【0182】
バーチャルパッケージの生成前に共有データを認証することが好ましい。共有データの認証に失敗した場合、バーチャルファイルシステムは、ロードされた記録媒体内のディスクパッケージを用いてバーチャルパッケージを生成する。この場合、不正確な共有データを含むバーチャルパッケージの生成を遮断することによって、真のコンテンツプロバイダを保護可能になる。
【0183】
このバーチャルパッケージを用いて、ローカルストレージ内のデータと記録媒体内に記録されたデータが共に再生される。再生を行うために、再生を行うアプリケーションが記録媒体内のデータにバインディングされた共有データにアクセスする(S1130)。
【0184】
共有データが暗号化された場合、共有データはデコーダによって再生可能な形態に復元されなければならず、暗号化された共有データは解読されなければならない。したがって、暗号化された共有データにアクセスするアプリケーションは、共有データを解読できる情報を含むことができる。この情報は、共有データにアクセスするアプリケーションが直接共有データを解読できる情報でもありうる。また、この情報は、共有データを解読できるアプリケーションを実行させることができる。
【0185】
共有データにアクセスするアプリケーションが、共有データを解読できる有効な情報を持つ場合、当該情報を用いて共有データが解読される(S1140)。共有データが解読されると、解読された共有データがデコーダに提供されてバーチャルパッケージ内の他のファイルと共に再生される(S1150)。
【0186】
なお、共有データと共にローカルストレージに存在する他のデータも記録媒体内のデータとバインディングされることによって再生されることができる。共有データと共に再生される他のデータが暗号化された場合、それらのデータは、解読完了後に再生しても良い。
【0187】
本発明によって共有データを暗号化すると、誤りのあるアプリケーションが共有データにアクセスしたとしても、その共有データを用いて特定の機能を行うことはできない。したがって、共有データを悪意的な機能から保護できるという長所がある。
【0188】
本発明には、共有データに対する様々な暗号化/解読体系が可能である。共有データを暗号化/解読するキー発生の側面においては、同一のコンテンツプロバイダによって提供された記録媒体間で共有されるデータには、コンテンツプロバイダ固有のキーが用いられることができる。
【0189】
共有データが暗号化された場合、前記共有データを解読できるように暗号化/解読キーまたはキーを生成するための秘密情報(secret information)がユーザに配布される必要がある。当該キーペアまたはキーを生成するための秘密情報は、記録媒体内に格納されてユーザに提供されることができる。これは、キーを持つ記録媒体がBD端末にある時に限って、ローカルストレージにあるデータがアクセス可能であるという仮定の下で動作する。
【0190】
当該キーペアまたはキー生成のための秘密情報は、共有データを利用するアプリケーションに同封(enclose)されてユーザに提供されても良い。また、当該キーペアあるいはキー生成のための秘密情報は、場合によっては光記録再生装置内のキーストア(key store)に格納されても良い。
【0191】
プレーヤーは、暗号化された共有データを用いて特定の機能を行わなければならない場合、記録媒体、アプリケーション、キーストアなどから暗号化された共有データを解読を行えるキーを読み取り(キー生成のための秘密情報である場合、キー生成のための秘密情報を読み取ってキーを生成し)、当該共有データを解読する。
【0192】
データの暗号化体系には、対称暗号化方法(symmetric cryptographic method)および非対称暗号化方法(asymmetric cryptographic method)がある。代表的な対称暗号化方法としては、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、またはIDEA(International Data Encryption Algorithm)などがある。一方、代表的な非対称暗号化方法としては、RSA(Rivest-Shamir-Adelman)またはDSA(Digital Signature Algorithm)等がある。
【0193】
本発明による、共有データを暗号化することによって共有データを保護するセキュリティ案において、暗号化された共有データにアクセスするアプリケーションは、共有データに対するアクセス情報を含むアプリケーションでありうる。このアクセス情報は、当該アプリケーションのクレデンシャル情報でありうる。場合によっては、クレデンシャル情報のないアプリケーションも、暗号化された共有データにアクセスできるように許容されることができる。
【0194】
プレーヤーが暗号化された共有データにアクセスするアプリケーションの認証に失敗する場合がありうる。この場合、アプリケーションの共有データへのアクセスを許容するか否かは、プレーヤーの実装による。すなわち、認証に失敗したとしても、アプリケーションが共有データにアクセスできるようにすることができる。本発明によって、共有データが暗号化されて提供されると、認証されたアプリケーションが共有データにアクセスしようとしても、共有データは保護されることができる。
【0195】
また、署名されたアプリケーションは、図8及び図9の説明に関して例として取り上げられた。しかし、署名されなかったアプリケーションも同様に存在することができる。署名されなかったアプリケーションの場合、その有効性は検証できない。したがって、署名されなかったアプリケーションは、共有データへのアクセスは許容されないことが好ましい。
【0196】
図12は、本発明の一実施形態による再生システムを用いた記録媒体再生装置のブロック図である。
【0197】
まず、“再生システム”は、光記録再生装置内に備えられるプログラム(ソフトウェア)及び/またはハードウェアで構成される集合的再生処理手段を含む。この再生システムは、光記録再生装置内にロードされた記録媒体を再生し、同時に、記録媒体に関連してローカルストレージ内に格納された(例えば、外部からダウンロードした)データを再生し、かつ管理するシステムである。
【0198】
特に、再生システム17は、“キーイベントハンドラ171”、“モジュールマネージャ172”、“ナビゲータ173”、“HDMVモジュール174”、“BD−Jモジュール175”、“再生制御エンジン176”、“プレゼンテーションエンジン177”、及び“バーチャルファイルシステム40”で構成される。これを詳細に説明すると、次の通りである。
【0199】
まず、HDMVタイトル及びBD−Jタイトルをそれぞれ再生するための、別個の再生処理管理手段として、HDMVタイトルについての“HDMVモジュール174”及びBD−Jタイトルについての“BD−Jモジュール175”が独立的に構成される。“HDMVモジュール174”及び“BD−Jモジュール175”のそれぞれは、既に述べたオブジェクトファイル(MovieObjectまたはBD−J Object)内のコマンドまたはプログラムを受信して処理するようにする制御機能を持つ。“HDMVモジュール174”及び前記“BD−Jモジュール175”のそれぞれは、再生システムのハードウェア構成からコマンドあるいはアプリケーションを分離し、このコマンドあるいはアプリケーションのポータビリティ(portability)を可能にする。
【0200】
コマンドあるいはアプリケーションなどを受信して処理する手段として、“HDMVモジュール174”内には“コマンドプロセッサ174a”が備えられており、一方、“BD−Jモジュール175”内には“Java VM175a”及び“アプリケーションマネージャ175b”、“アプリケーションキャッシュ175c”が備えられている。
【0201】
“Java VM 175a”は、アプリケーションを実行する“仮想マシン(Virtual Machine)”である。“アプリケーションマネージャ175b”は、アプリケーションのライフサイクルを管理するアプリケーション管理機能を含む。“アプリケーションマネージャ175b”は、アプリケーションキャッシュ175cからアプリケーションをロードできる。アプリケーションキャッシュ175cの目的は、アプリケーションがロードされる間に記録媒体からAVデータが切れることなく再生されるようにすることと、データをロードする際の待ち時間(latency)を減少させることである。すなわち、アプリケーションキャッシュ175cは、BD−Jのためのプリロード(preload)バッファである。しかし、プレーヤーは、プリロードされないクラスファイルを含む付加データを使用することも可能である。その一例には、ローカルストレージ内のJARファイルからデータをロードする場合がある。
【0202】
また、“モジュールマネージャ172”は、“HDMVモジュール174”及び“BD−Jモジュール175”にユーザ命令を伝達するため、および“HDMVモジュール174”及び“BD−Jモジュール175”の動作を制御するために提供される。また、“HDMVモジュール174”または“BD−Jモジュール175”の再生命令によって、ディスク内に記録されたプレイリストファイル情報を解析し、対応する再生機能を行う“再生制御エンジン176”が提供される。
【0203】
また、“再生制御エンジン176”によって再生管理される特定のストリームをデコードし、画面中にデコードされたストリームを表示するための“プレゼンテーションエンジン177”が提供される。
【0204】
特に、“再生制御エンジン176”は、全ての再生を実際に管理する“再生制御機能176a”と、プレーヤーステータスレジスタ(PSR)及び一般目的レジスタ(GPR)を格納する“プレーヤーレジスタ176b”と、を含む。場合によっては、“再生制御機能176a”が“再生制御エンジン176”を意味することもある。
【0205】
前述した本発明の再生システムにおいて、“モジュールマネージャ172”、“HDMVモジュール174”、“BD−Jモジュール175”、及び“プレイバック制御エンジン176”は、それぞれソフトウェア的な処理が可能である。実際に、ハードウェア構成よりはソフトウェア的処理をすることが設計においては有用である。ただし、“プレゼンテーションエンジン177”、デコーダ、及びプレーン(Plane)は、ハードウェア的に設計されることが一般的である。特に、ソフトウェア的に処理される構成要素(例えば、図面符号172、174、175、176)の場合は、制御装置12の一部分として構成されても良い。したがって、本発明の構成はその意味として理解すべきであり、ハードウェア的構成かソフトウェア的構成かに限定されない。
【0206】
本発明による再生システム17は、以下の特徴を有する。
【0207】
第1に、HDMVタイトルについての“HDMVモジュール174”およびBD−Jタイトルについての“BD−Jモジュール175”は、独立的に構成される。したがって、これら両モジュール174、175は同時に実行されない。すなわち、HDMVタイトル再生中にはBD−Jタイトルを再生できなく、その逆も同様である。
【0208】
第2に、外部から付加データをダウンロードする動作のように光記録再生装置内のネットワーク機能を管理し、かつローカルストレージ15内に格納されたファイルを編集することによって、またはディスクパッケージにファイルをバインディングすることによって、バーチャルパッケージを生成する動作のようにローカルストレージ15を管理するプログラムであるアプリケーションが、再生システム17内に備えられる。すなわち、これらのアプリケーションは、ディスク内のファイルシステム及びローカルストレージのファイルシステムを1つのシステムとして管理するバーチャルファイルシステム40を形成し、当該形成されたバーチャルファイルシステム40を介してオリジナルデータ及び付加データを再生するためのバーチャルパッケージを生成し、かつ管理する。
【0209】
第3に、HDMVタイトル及びBD−Jタイトルは、それぞれ別個の方式のユーザ命令を受信し、相互にそれぞれ独立してユーザ命令を行う。“キーイベントハンドラ171”は、ユーザ命令を受信して“HDMVモジュール174”、“BD−Jモジュール175”、および“モジュールマネージャ172/ナビゲータ173”のいずれか1つに伝達する。例えば、“キーイベントハンドラ171”は、受信した命令が“ユーザーオペレーション(UO)”によるユーザ命令であると、 “モジュールマネージャ172”に伝送するやり方で当該命令を実行する。一方、“キーイベントハンドラ171”は、受信された命令が“キーイベント”によるユーザ命令であると、 “BD−Jモジュール175”に伝送するやり方で当該命令を実行する。
【0210】
第4に、“再生制御エンジン176”の管理(これを“マスター”ともいう)は、現在動作中のモジュール174、175のいずれか1つが担当する。すなわち、HDMVタイトル再生中には“HDMVモジュール174”がマスターとなる。または、BD−Jタイトル再生中には“BD−Jモジュール175”がマスターとなる。
【0211】
“ナビゲータ173”は、いつでもユーザの制御の下でタイトル選択を行うことができ、ユーザに記録媒体及びタイトルメタデータを提供できる。
【0212】
図13は、本発明による共有データ保護を説明する例示的な図であり、図13ではバーチャルパッケージが具体的に示される。
【0213】
ロードされたディスク内には、特定のファイル構造(例えば、図2のような構造)が記録されており、これを特にディスクパッケージともいう。ローカルストレージ内にはローカルストレージファイルシステムが存在する。ロードされたディスク(例えば、disc1_ID)にバインディングされるバインディングユニット及びバインディングユニットマニフェストファイルが該当ファイルシステム内に含まれる。
【0214】
また、バインディングユニットマニフェストファイルは、ネームマッピング情報を含む。ネームマッピング情報は、バインディングユニットについての情報である。例えば、バインディングユニットを生成するファイルのリストをディスクにバインディングする場合には、ネームマッピング情報は、バーチャルパッケージ内の位置、ファイル名等についての情報を含む。
【0215】
したがって、バーチャルファイルシステム40は、ネームマッピング情報を用いることによって、ロードされたディスク内のディスクパッケージにバインディングユニットをバインディングするバインディングオペレーションを介して新しいバーチャルパッケージを生成する。また、バーチャルファイルシステム40は、バーチャルパッケージに属するファイルへのアクセスメカニズムを制御する役割を果たす。
【0216】
バーチャルファイルシステムによって生成されたバーチャルパッケージは、BD−Jモード及びHDMVモードの両方に用いられる。BD−Jモードでは、記録媒体またはローカルストレージ上に位置したアプリケーションがバーチャルファイルシステムを介してバーチャルパッケージにアクセスできる。HDMVモードでは、MovieObjectがバーチャルパッケージにアクセスできる。
【0217】
図13を参照すると、ディスク内の記録媒体ファイル構造(ディスクパッケージ)421において、ルートディレクトリの下位ディレクトリであるBDディレクトリ(BDMV)は、インデックスファイル(Index.bdmv)、オブジェクトファイル(MovieObject.bdmv)、プレイリストファイル(00000.mpls)、クリップ情報ファイル(01000.clpi)、ストリームファイル(01000.m2ts)、補助データファイル(sound.bdmv)を含む。ロードされたディスク(例えば、org1_IDであり、disc2_IDであるディスク)に関連したバインディングユニット61には、特定のプレイリストファイル611(Apr2005.mpls)、当該プレイリストファイル611によって管理されるクリップであるクリップ情報ファイル612(Apr2005.clpi)、及びストリームファイル613(Apr2005.m2ts)が含まれる。
【0218】
また、コンテンツプロバイダが提供した共有データとして補助データファイル614(Japanese.otf)がディスク共有(disc-dependent shared)ディレクトリ(Shared)に存在する場合において、バーチャルパッケージ51を生成する方法は、次の通りである。
【0219】
ネームマッピング情報によって次のようにファイル名が変更される。バインディングユニット61内のプレイリストファイル611(Apr2005.mpls)は、バーチャルパッケージ51内のPLAYLISTディレクトリのプレイリストファイル511(00000.mpls)にファイル名が変更される。同様に、クリップ情報ファイル612(Apr2005.clpi)は、バーチャルパッケージ51内のCLIPINFディレクトリのクリップ情報ファイル512(02000.clpi)にファイル名が変更される。ストリームファイル613(Apr2005.m2ts)は、バーチャルパッケージ51内のストリーム(STREAM)ディレクトリのストリームファイル513(02000.m2ts)に、補助データファイル614(Japanese.otf)は、AUXDATAディレクトリの補助データファイル514(11111.otf)にファイル名が変更される。
【0220】
バーチャルパッケージ51は、ルートディレクトリの下位ディレクトリであるBDMVディレクトリに、バーチャルパッケージによるインデックスファイル(Index)及びMovieObjectファイルを含む。PLAYLISTディレクトリには、バインディングユニットのプレイリストファイルによって代替されたプレイリストファイル511(00000.mpls)がくる。CLIPINFディレクトリでは、記録媒体のクリップ情報ファイル(01000.clpi)にバインディングユニットのクリップ情報ファイル512(02000.clpi)が追加される。STREAMディレクトリでは、記録媒体のストリームファイル(01000.m2ts)にバインディングユニットのストリームファイル513(02000.m2ts)が追加される。AUXDATAディレクトリでは、記録媒体の補助データファイル(sound.bdmv)にバインディングユニットの補助デートファイル514(11111.otf)が追加される。
【0221】
なお、バーチャルパッケージ内の上位ファイルであるインデックスファイル(Index)及びMovieObjectファイルは、新しく生成されるプレイリストファイル511(00000.mpls)に基づいて既存ディスク内のインデックステーブル(Index)及びMovieObjectファイルからアップデートされることができる。特に、バーチャルパッケージ内のプレイリストファイル511(00000.mpls)によってタイトルが変更される場合に、インデックスファイル及びMovieObjectファイルがアップデートされる。この場合に、タイトル変更は、新しいタイトルが追加されること、既存のタイトルが変更されること、またはタイトル再生のシナリオが変更されること等を意味する。
【0222】
本発明が提供するセキュリティレベルのうち、共有データの認証を通じて共有データを保護するセキュリティレベルの場合には、共有データの認証に失敗すると、光記録再生装置のバーチャルファイルシステム40は、前記共有データを含むバーチャルパッケージ51を生成しなくて良い。ただし、記録媒体内のディスクパッケージのみを使用してバーチャルパッケージを生成することになる。この場合、プレーヤーは、ローカルストレージ内に格納された共有データである“11111.otf”を再生できない。結果として、権限のないプロバイダの共有データが記録媒体と共に再生されるのを防止することによって、真のコンテンツプロバイダを保護することができる。
【0223】
また、共有データの認証に成功して共有データを含むバーチャルパッケージを生成したとしても、共有データにアクセスするアプリケーションのクレデンシャル情報が有効でない場合、アプリケーションは共有データにアクセスできない。したがって、共有データが再生されることを防ぎ、有効でないアプリケーションによる再生を防止することによって、共有データを保護できる。
【0224】
本発明が提供するさらに他のセキュリティレベルによれば、暗号化されたデータを解読できないアプリケーションによっては共有データを再生できない。したがって、バーチャルパッケージ内の共有データである“11111.otf(514)”が暗号化されたファイルである場合、当該暗号化されたファイルを解読できるアプリケーションのみによって当該ファイルが再生される。アプリケーションが権限のない供与者によって提供された場合には、当該アプリケーションは共有データを解読できる情報を持っていないはずである。したがって、認証されなかったアプリケーションが共有データにアクセスできたとしても、共有データを解読することができず、共有データは保護される。
【0225】
本発明による記録媒体再生装置について図4を参照して以下のように説明する。
【0226】
本発明によるローカルストレージを用いた記録媒体再生装置は、記録媒体と関連した共有データがダウンロードされて格納されるローカルストレージ15と、共有データに対する有効なアクセス情報を持つアプリケーションのみが共有データにアクセスするように制御する制御装置12と、を備える。当該アクセス情報は、当該アプリケーションのクレデンシャル情報を含むことができ、当該クレデンシャル情報は、パーミッション要求ファイルに含まれることができる。
【0227】
このパーミッション要求ファイルは、アプリケーションを構成するJARファイル内に存在することができる。この場合、パーミッション要求ファイルは、認証されることが好ましい。
【0228】
制御装置12は、アプリケーションが共有データにアクセスする前に共有データを認証することによって共有データを保護することができる。
【0229】
共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合には、その共有データは、コンテンツプロバイダの証明書を用いて認証されることができる。一方、共有データが複数のコンテンツプロバイダ間で共有されるデータである場合には、その共有データは、これらコンテンツプロバイダの証明書を用いて認証されることができる。
【0230】
本発明によるローカルストレージを用いた記録媒体再生装置は、記録媒体と関連した暗号化された共有データがダウンロードされて格納されるローカルストレージ15と、ローカルストレージ内のデータを記録媒体内のデータにバインディングすることによって、共有データを含むバーチャルパッケージを生成する制御装置12と、を備える。
【0231】
制御装置12は、バーチャルパッケージを用いて共有データをローカルストレージ15内の他のデータ及び/または記録媒体内のデータと共に再生する。この時、共有データが暗号化されて提供されるため、制御装置12は共有データを解読後に再生する。
【0232】
共有データを解読するに当たり、制御装置12は、共有データに対する有効なアクセス情報を持つアプリケーションのみが共有データにアクセスするようにすることができる。アクセス情報は、共有データにアクセスするアプリケーションのクレデンシャル情報である。また、アクセス情報は、パーミッション要求ファイルに存在でき、パーミッション要求ファイルは、アプリケーションを構成するJARファイルに含まれることができる。
【0233】
バーチャルパッケージを生成するときに、制御装置12は、共有データを認証し、バーチャルパッケージを生成することが好ましい。この時、共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合に、その共有データは、コンテンツプロバイダの証明書内の署名を用いて認証できる。一方、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合に、その共有データをこれらのコンテンツプロバイダの各証明書内の共同の署名で認証できる。
【0234】
共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合には、その共有データは、当該コンテンツプロバイダのみのキーを用いて暗号化されてユーザに提供される。これに対し、共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合には、その共有データは、これらのコンテンツプロバイダだけに合致するキーを用いて暗号化されてユーザに提供される。
【0235】
暗号化された共有データは、解読された後に再生されることができる。この解読には、その共有データにアクセスするアプリケーションに含まれるキーが用いられることができる。また、記録媒体に格納されたキーを用いることも可能である。場合によっては、解読に光記録再生装置に格納されたキーが解読に用いられても良い。
【0236】
したがって、本発明によって、真のコンテンツプロバイダによって提供されたコンテンツ及び変質していないコンテンツのみが再生されるようにすることによって、共有データを保護することができる。
【0237】
本発明の要旨または範囲から離れることなく、さまざまな修正及び変形を行いうることは、当業者にとっては明らかである。したがって、本発明は、特許請求の範囲及びその均等範囲内における本発明の改良及び変更された事項も含むことは自明である。
【図面の簡単な説明】
【0238】
【図1】本発明の概念的理解を助ける、光記録再生装置及び周辺機器間の統合的使用の一例を説明する図である。
【図2】例えばBD−ROMなどの本発明の記録媒体内に記録されるファイル構造の図である。
【図3】本発明の記録媒体に記録されるデータ記録構造の図である。
【図4】本発明の一実施形態による光記録再生装置のブロック図である。
【図5】本発明のローカルストレージ内のファイル構造の一実施形態を示す図である。
【図6】本発明の一実施形態による共有データ認証プロセスを説明する図である。
【図7】本発明によるデータ認証に用いられる証明書チェーンの図である。
【図8】本発明の一実施形態による署名されたアプリケーションを構成するJARファイルの図である。
【図9】本発明の一実施形態による署名されたアプリケーションを構成するJARファイル内のファイルの認証プロセスのフローチャートである。
【図10】本発明の一実施形態による署名されたアプリケーションを構成するJARファイルの図である。
【図11】本発明の一実施形態による共有データ再生方法のフローチャートである。
【図12】本発明の一実施形態による再生システムを用いた記録媒体再生装置のブロック図である。
【図13】バーチャルパッケージが詳細に示される、本発明による共有データ保護を説明する例示的な図である。
【特許請求の範囲】
【請求項1】
記録媒体と関連した共有データをローカルストレージにダウンロードするステップと、
前記共有データに対する有効なアクセス情報を有するアプリケーションのみが前記共有データにアクセスすることを可能にするステップと
を備えることを特徴とする共有データ保護方法。
【請求項2】
前記アクセス情報は、前記アプリケーションのクレデンシャル情報であることを特徴とする請求項1に記載の方法。
【請求項3】
前記クレデンシャル情報は、パーミッション要求ファイルに含まれることを特徴とする請求項2に記載の方法。
【請求項4】
前記パーミッション要求ファイルは、前記アプリケーションを構成するJARファイル内に存在することを特徴とする請求項3に記載の方法。
【請求項5】
前記クレデンシャル情報は、供与者識別情報、有効期間、ファイル名、署名、およびCertchainfileidを含むことを特徴とする請求項2に記載の方法。
【請求項6】
前記アプリケーションが前記共有データにアクセスする前に、前記共有データを認証するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項6に記載の共有データ保護方法。
【請求項8】
前記証明書は、前記コンテンツプロバイダの署名を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項6に記載の方法。
【請求項10】
前記証明書は、前記複数のコンテンツプロバイダの共同の署名を含むことを特徴とする請求項9に記載の方法。
【請求項11】
ローカルストレージに記録媒体と関連した暗号化した共有データをダウンロードするステップと、
ローカルストレージ内のデータを前記記録媒体内のデータにバインディングすることによって、前記共有データを含むバーチャルパッケージを生成するステップと、
前記バーチャルパッケージを用いて前記共有データを解読するステップと、
前記解読された共有データを再生するステップと
を備えることを特徴とするローカルストレージを用いた記録媒体再生方法。
【請求項12】
前記共有データは、前記共有データにアクセスするアプリケーションを実行することによって再生されることを特徴とする請求項11に記載の方法。
【請求項13】
前記アプリケーションは、前記共有データに対するアクセス情報として前記アプリケーションのクレデンシャル情報を含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記共有データは、前記アプリケーションに含まれたキーを用いて解読されることを特徴とする請求項12に記載の方法。
【請求項15】
前記共有データは、前記記録媒体内に格納されたキーを用いて解読されることを特徴とする請求項11に記載の方法。
【請求項16】
前記共有データの解読は、光記録再生装置内に格納されたキーを用いて解読されることを特徴とする請求項11に記載の方法。
【請求項17】
前記バーチャルパッケージを生成するときに、
前記共有データは前記バーチャルパッケージを生成するために認証されることを特徴とする請求項11に記載の方法。
【請求項18】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダの証明書内の署名を使用することによって認証されることを特徴とする請求項17に記載の方法。
【請求項19】
前記共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダの証明書内の共同の署名を使用して認証されることを特徴とする請求項17に記載の方法。
【請求項20】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダのキーを用いて認証されることを特徴とする請求項11に記載の方法。
【請求項21】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダに一致するキーを使用して認証されることを特徴とする請求項11に記載の方法。
【請求項22】
記録媒体と関連したダウンロードされた共有データを格納するローカルストレージと、
前記共有データに対する有効なアクセス情報を有するアプリケーションのみが前記共有データにアクセスするように制御する制御装置と
を備えたことを特徴とする共有データ保護装置。
【請求項23】
前記アクセス情報は、前記アプリケーションのクレデンシャル情報であることを特徴とする請求項22に記載の装置。
【請求項24】
前記クレデンシャル情報は、パーミッション要求ファイルに含まれることを特徴とする請求項23に記載の装置。
【請求項25】
前記パーミッション要求ファイルは、前記アプリケーションを構成するJARファイル内に存在することを特徴とする請求項24に記載の装置。
【請求項26】
前記制御装置は、前記アプリケーションが前記共有データにアクセスする前に前記共有データを認証することを特徴とする請求項22に記載の装置。
【請求項27】
前記共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項26に記載の装置。
【請求項28】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項26に記載の装置。
【請求項29】
記録媒体と関連したダウンロードされた暗号化された共有データを格納するローカルストレージと、
前記ローカルストレージ内のデータを前記記録媒体内のデータにバインディングすることによって、前記共有データを含むバーチャルパッケージを生成し、前記バーチャルパッケージを用いて前記共有データを解読後に再生する制御装置と
を備えたことを特徴とするローカルストレージを用いた記録媒体再生装置。
【請求項30】
前記共有データを解読するときに、
前記制御装置は、前記共有データに対する有効なアクセス情報を有するアプリケーションのみが前記共有データにアクセスするように制御することを特徴とする請求項29に記載の装置。
【請求項31】
前記アクセス情報は、前記共有データにアクセスする前記アプリケーションのクレデンシャル情報であることを特徴とする請求項30に記載の装置。
【請求項32】
前記バーチャルパッケージを生成するときに、
前記制御装置は、前記共有データを認証して、前記バーチャルパッケージを生成することを特徴とする請求項30に記載の装置。
【請求項33】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記制御装置は、前記共有データを前記コンテンツプロバイダの証明書内の署名を使用して認証することを特徴とする請求項32に記載の装置。
【請求項34】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記制御装置は前記共有データを複数のコンテンツプロバイダの証明書を用いて認証し、
前記証明書は、複数のコンテンツプロバイダの共同の署名を含むことを特徴とする請求項32に記載の装置。
【請求項35】
前記共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダのキーを用いて暗号化されることを特徴とする請求項29に記載の装置。
【請求項36】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダに一致するキーを用いて暗号化されることを特徴とする請求項29に記載の装置。
【請求項37】
前記共有データを解読するときに、
前記制御装置は、前記共有データにアクセスするアプリケーションに含まれたキーを用いて前記共有データを解読することを特徴とする請求項29に記載の装置。
【請求項38】
前記共有データを解読するときに、
前記制御装置は、前記記録媒体内に格納されたキーを用いて前記共有データを解読することを特徴とする請求項29に記載の装置。
【請求項39】
前記共有データを解読するときに、
前記制御装置は、光記録再生装置に格納されたキーを用いて前記共有データを解読することを特徴とする請求項29に記載の装置。
【請求項1】
記録媒体と関連した共有データをローカルストレージにダウンロードするステップと、
前記共有データに対する有効なアクセス情報を有するアプリケーションのみが前記共有データにアクセスすることを可能にするステップと
を備えることを特徴とする共有データ保護方法。
【請求項2】
前記アクセス情報は、前記アプリケーションのクレデンシャル情報であることを特徴とする請求項1に記載の方法。
【請求項3】
前記クレデンシャル情報は、パーミッション要求ファイルに含まれることを特徴とする請求項2に記載の方法。
【請求項4】
前記パーミッション要求ファイルは、前記アプリケーションを構成するJARファイル内に存在することを特徴とする請求項3に記載の方法。
【請求項5】
前記クレデンシャル情報は、供与者識別情報、有効期間、ファイル名、署名、およびCertchainfileidを含むことを特徴とする請求項2に記載の方法。
【請求項6】
前記アプリケーションが前記共有データにアクセスする前に、前記共有データを認証するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項6に記載の共有データ保護方法。
【請求項8】
前記証明書は、前記コンテンツプロバイダの署名を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項6に記載の方法。
【請求項10】
前記証明書は、前記複数のコンテンツプロバイダの共同の署名を含むことを特徴とする請求項9に記載の方法。
【請求項11】
ローカルストレージに記録媒体と関連した暗号化した共有データをダウンロードするステップと、
ローカルストレージ内のデータを前記記録媒体内のデータにバインディングすることによって、前記共有データを含むバーチャルパッケージを生成するステップと、
前記バーチャルパッケージを用いて前記共有データを解読するステップと、
前記解読された共有データを再生するステップと
を備えることを特徴とするローカルストレージを用いた記録媒体再生方法。
【請求項12】
前記共有データは、前記共有データにアクセスするアプリケーションを実行することによって再生されることを特徴とする請求項11に記載の方法。
【請求項13】
前記アプリケーションは、前記共有データに対するアクセス情報として前記アプリケーションのクレデンシャル情報を含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記共有データは、前記アプリケーションに含まれたキーを用いて解読されることを特徴とする請求項12に記載の方法。
【請求項15】
前記共有データは、前記記録媒体内に格納されたキーを用いて解読されることを特徴とする請求項11に記載の方法。
【請求項16】
前記共有データの解読は、光記録再生装置内に格納されたキーを用いて解読されることを特徴とする請求項11に記載の方法。
【請求項17】
前記バーチャルパッケージを生成するときに、
前記共有データは前記バーチャルパッケージを生成するために認証されることを特徴とする請求項11に記載の方法。
【請求項18】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダの証明書内の署名を使用することによって認証されることを特徴とする請求項17に記載の方法。
【請求項19】
前記共有データが、複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダの証明書内の共同の署名を使用して認証されることを特徴とする請求項17に記載の方法。
【請求項20】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダのキーを用いて認証されることを特徴とする請求項11に記載の方法。
【請求項21】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダに一致するキーを使用して認証されることを特徴とする請求項11に記載の方法。
【請求項22】
記録媒体と関連したダウンロードされた共有データを格納するローカルストレージと、
前記共有データに対する有効なアクセス情報を有するアプリケーションのみが前記共有データにアクセスするように制御する制御装置と
を備えたことを特徴とする共有データ保護装置。
【請求項23】
前記アクセス情報は、前記アプリケーションのクレデンシャル情報であることを特徴とする請求項22に記載の装置。
【請求項24】
前記クレデンシャル情報は、パーミッション要求ファイルに含まれることを特徴とする請求項23に記載の装置。
【請求項25】
前記パーミッション要求ファイルは、前記アプリケーションを構成するJARファイル内に存在することを特徴とする請求項24に記載の装置。
【請求項26】
前記制御装置は、前記アプリケーションが前記共有データにアクセスする前に前記共有データを認証することを特徴とする請求項22に記載の装置。
【請求項27】
前記共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項26に記載の装置。
【請求項28】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダの証明書を用いて認証されることを特徴とする請求項26に記載の装置。
【請求項29】
記録媒体と関連したダウンロードされた暗号化された共有データを格納するローカルストレージと、
前記ローカルストレージ内のデータを前記記録媒体内のデータにバインディングすることによって、前記共有データを含むバーチャルパッケージを生成し、前記バーチャルパッケージを用いて前記共有データを解読後に再生する制御装置と
を備えたことを特徴とするローカルストレージを用いた記録媒体再生装置。
【請求項30】
前記共有データを解読するときに、
前記制御装置は、前記共有データに対する有効なアクセス情報を有するアプリケーションのみが前記共有データにアクセスするように制御することを特徴とする請求項29に記載の装置。
【請求項31】
前記アクセス情報は、前記共有データにアクセスする前記アプリケーションのクレデンシャル情報であることを特徴とする請求項30に記載の装置。
【請求項32】
前記バーチャルパッケージを生成するときに、
前記制御装置は、前記共有データを認証して、前記バーチャルパッケージを生成することを特徴とする請求項30に記載の装置。
【請求項33】
前記共有データが1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記制御装置は、前記共有データを前記コンテンツプロバイダの証明書内の署名を使用して認証することを特徴とする請求項32に記載の装置。
【請求項34】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記制御装置は前記共有データを複数のコンテンツプロバイダの証明書を用いて認証し、
前記証明書は、複数のコンテンツプロバイダの共同の署名を含むことを特徴とする請求項32に記載の装置。
【請求項35】
前記共有データが、1つのコンテンツプロバイダが提供した記録媒体間で共有されるデータである場合、
前記共有データは、前記コンテンツプロバイダのキーを用いて暗号化されることを特徴とする請求項29に記載の装置。
【請求項36】
前記共有データが複数のコンテンツプロバイダ間で共有されるデータである場合、
前記共有データは、複数のコンテンツプロバイダに一致するキーを用いて暗号化されることを特徴とする請求項29に記載の装置。
【請求項37】
前記共有データを解読するときに、
前記制御装置は、前記共有データにアクセスするアプリケーションに含まれたキーを用いて前記共有データを解読することを特徴とする請求項29に記載の装置。
【請求項38】
前記共有データを解読するときに、
前記制御装置は、前記記録媒体内に格納されたキーを用いて前記共有データを解読することを特徴とする請求項29に記載の装置。
【請求項39】
前記共有データを解読するときに、
前記制御装置は、光記録再生装置に格納されたキーを用いて前記共有データを解読することを特徴とする請求項29に記載の装置。
【図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】
【公表番号】特表2008−527598(P2008−527598A)
【公表日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−550284(P2007−550284)
【出願日】平成18年1月2日(2006.1.2)
【国際出願番号】PCT/KR2006/000002
【国際公開番号】WO2006/073251
【国際公開日】平成18年7月13日(2006.7.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(596066770)エルジー エレクトロニクス インコーポレーテッド (384)
【Fターム(参考)】
【公表日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願日】平成18年1月2日(2006.1.2)
【国際出願番号】PCT/KR2006/000002
【国際公開番号】WO2006/073251
【国際公開日】平成18年7月13日(2006.7.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(596066770)エルジー エレクトロニクス インコーポレーテッド (384)
【Fターム(参考)】
[ Back to top ]