説明

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

【課題】データ消失を防止した確実なデータ更新を実現する情報処理装置および方法を提供する。
【解決手段】情報記録媒体に記録されたデータの更新処理において、暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルであるユニット鍵ファイルの暗号処理に適用するバインディングナンス(Binding Nonce)を情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録し、その後、情報記録媒体からバインディングナンスを消去して、新たな更新されたバインディングナンスを生成して情報記録媒体に記録する。本構成によれば、AACS規定に反することなく、データ消失の恐れもない確実なデータ更新が実現される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、暗号化コンテンツおよびこれらのコンテンツの復号に適用するための鍵情報ファイルを格納した情報記録媒体の記録データの更新を行なう情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0002】
音楽、映画等のコンテンツの記録媒体として、昨今は、DVD(Digital Versatile Disc)、Blu−rayディスクなどが利用されている。これらの情報記録媒体には、予めデータが記録され、新たなデータ書き込みを許容しないROM型の媒体と、データ書き込み可能な媒体とがある。ユーザは、データ書き込み可能な情報記録媒体を利用することで、例えば、ネットワークや放送を介して受信したコンテンツなどを記録することなどが可能となる。
【0003】
しかし、放送コンテンツ、その他、音楽データ、画像データ等、多くのコンテンツは、その作成者あるいは販売者に著作権、頒布権等が保有され、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
【0004】
コンテンツ利用制限の1つの手法がコンテンツを暗号化して配付し、正当なコンテンツ利用権を持つユーザや機器のみが復号を可能としたシステムである。なお、コンテンツの暗号化を行なうことで、コンテンツの利用制御を行なう構成については、例えば特許文献1に記載されている。
【0005】
暗号化に基づくコンテンツ利用制御を実現するコンテンツの著作権保護技術に関する規格としてAACS(Advanced Access Content System)がある。AACSの規格では、コンテンツをユニットとして区分し、各ユニットに対応するユニット鍵を適用した暗号化コンテンツをディスクに記録する構成としている。ユニット鍵を格納したユニット鍵ファイルもまた暗号化ファイルとしてディスクに記録される。さらに、暗号鍵ブロックであるMKB(Media Key Block)もディスクに記録される。MKBは、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックであり、有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵[Kd]に基づく処理(復号)によってのみメディア鍵[Km]の取得が可能となる。
【0006】
メディア鍵[Km]を利用することで、ユニット鍵ファイルを復号してユニット鍵を取得して、ユニット鍵を用いて暗号化コンテンツの復号を行なうというシーケンスとなっている。しかし、ユニット鍵ファイルは、メディア鍵[Km]で直接暗号化されているものではなく、メディア鍵[Km]とは異なるバインド鍵[Kd]で暗号化されている。したがって、メディア鍵[Km]によってバインディングナンス(Binding Nonce)と呼ばれるデータを復号してバインド鍵[Kd]を取得して、そのバインド鍵[Kd]でユニット鍵ファイルの復号を行なうことが必要とされる。なお、この具体的シーケンスについては本発明の説明において詳細に説明する。
【0007】
従って、ディスクには、暗号化コンテンツの他、暗号化ユニット鍵ファイル、MKB、バインディングナンス等が記録される。ディスクに記録されたコンテンツが変更されることがない構成、例えばデータの再記録不可能なROMディスク等に、コンテンツを記録してユーザに配布する場合は、暗号化ユニット鍵ファイル、MKB、バインディングナンス等の各データの更新も必要ない。しかし、データの書き込みが可能なディスクを利用して、ディスク記録コンテンツの追加や削除がなされる場合、AACS規格に従ったコンテンツの利用を行なおうとすると、記録コンテンツの変更に伴って暗号化ユニット鍵ファイル等の更新が必要となる。さらに、バインディングナンス(Binding Nonce)も更新することが必要となる。なお、AACS規格においては、ユニット鍵ファイルの更新が行われた場合、バインディングナンスも変更することを必須とするルールを定めている。
【0008】
従って、データ更新を実行する場合、これらの各データを書き換えることが必要となる。これらのデータ書き換えに際しては、例えば更新中の停電などによるデータ消失を防止するため、更新前のデータのバックアップデータを生成しておくことが有効である。しかし、AACS規格ではディスク上に2つのバインディングナンス(Binding Nonce)を記録することを許容していないという問題がある。従って、データ更新処理において、バインディングナンス(Binding Nonce)のバックアップデータを生成してディスクに記録することができず、万が一、データ更新時に停電などの不測の事態が発生すると、更新前のコンテンツも更新後のコンテンツも利用できなくなってしまうという問題が発生する。
【特許文献1】特開2003−116100号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、このような状況に鑑みてなされたものであり、暗号化コンテンツおよびこれらのコンテンツの復号に適用するための鍵情報ファイルなどを格納した情報記録媒体のデータ更新を、停電発生などの事態が発生してもデータを失うことなく確実に行なうことを可能とする情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の側面は、
情報記録媒体に対するデータ記録再生処理を実行する情報処理装置であり、
情報記録媒体に記録されたデータの更新処理を実行する制御部を有し、
前記制御部は、
前記情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルの暗号処理に適用する鍵ファイル暗号用データを情報記録媒体から読み出して、不揮発性メモリである外部記憶手段に記録する処理を行った後、前記情報記録媒体から鍵ファイル暗号用データを消去し、新たな更新された鍵ファイル暗号用データを生成して情報記録媒体に記録する処理を実行する構成であることを特徴とする情報処理装置にある。
【0011】
さらに、本発明の情報処理装置の一実施態様において、前記前記情報記録媒体に記録された暗号化コンテンツはユニット単位での暗号化がなされたコンテンツであり、前記鍵ファイルは、前記ユニット単位のコンテンツの暗号処理に適用するユニット鍵を格納したユニット鍵ファイルであり、前記鍵ファイル暗号用データは該ユニット鍵ファイルの暗号処理に適用するバインド鍵の生成データであるバインディングナンスであり、前記制御部は、前記ユニット鍵ファイルの更新に際して、ユニット鍵ファイルのバックアップデータを前記情報記録媒体に生成するとともに、前記バインディングナンスを前記外部記憶手段に格納する処理を実行する構成であることを特徴とする。
【0012】
さらに、本発明の情報処理装置の一実施態様において、前記制御部は、前記更新された鍵ファイル暗号用データを情報記録媒体に記録する処理を実行した後、前記外部記憶手段に記録された更新前の鍵ファイル暗号用データを消去する処理を実行する構成であることを特徴とする。
【0013】
さらに、本発明の情報処理装置の一実施態様において、前記外部記憶手段は、不揮発性メモリであることを特徴とする。
【0014】
さらに、本発明の第2の側面は、
情報記録媒体に対するデータ記録再生処理を実行する情報処理装置において実行する情報処理方法であり、
制御部の制御の下、情報記録媒体に記録されたデータの更新処理を実行するデータ更新ステップを実行し、
前記データ更新ステップは、
情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルの暗号処理に適用する鍵ファイル暗号用データを情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録するステップと、
前記情報記録媒体から鍵ファイル暗号用データを消去するステップと、
新たな更新された鍵ファイル暗号用データを生成して情報記録媒体に記録するステップと、
を含むステップであることを特徴とする情報処理方法にある。
【0015】
さらに、本発明の情報処理方法の一実施態様において、前記前記情報記録媒体に記録された暗号化コンテンツはユニット単位での暗号化がなされたコンテンツであり、前記鍵ファイルは、前記ユニット単位のコンテンツの暗号処理に適用するユニット鍵を格納したユニット鍵ファイルであり、前記鍵ファイル暗号用データは該ユニット鍵ファイルの暗号処理に適用するバインド鍵の生成データであるバインディングナンスであり、前記データ更新ステップは、前記ユニット鍵ファイルの更新に際して、ユニット鍵ファイルのバックアップデータを前記情報記録媒体に生成するとともに、前記バインディングナンスを前記外部記憶手段に格納する処理を実行するステップであることを特徴とする。
【0016】
さらに、本発明の情報処理方法の一実施態様において、前記データ更新ステップは、さらに、前記更新された鍵ファイル暗号用データを情報記録媒体に記録する処理を実行した後、前記外部記憶手段に記録された更新前の鍵ファイル暗号用データを消去する処理を実行するステップを含むことを特徴とする。
【0017】
さらに、本発明の情報処理方法の一実施態様において、前記外部記憶手段は、不揮発性メモリであることを特徴とする。
【0018】
さらに、本発明の第3の側面は、
情報記録媒体に対するデータ記録再生処理を実行する情報処理装置において、データ更新処理を実行させるコンピュータ・プログラムであり、
制御部に、情報記録媒体に記録されたデータの更新処理を実行させるデータ更新ステップを有し、
該データ更新ステップにおいて、
情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルの暗号処理に適用する鍵ファイル暗号用データを情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録させるステップと、
前記情報記録媒体から鍵ファイル暗号用データを消去させるステップと、
新たな更新された鍵ファイル暗号用データを生成して情報記録媒体に記録させるステップと、
を実行させることを特徴とするコンピュータ・プログラムにある。
【0019】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、DVD、CD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0020】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0021】
本発明の一実施例の構成によれば、情報記録媒体に記録されたデータの更新処理において、情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルであるユニット鍵ファイルの暗号処理に適用する鍵ファイル暗号用データ、すなわちバインディングナンス(Binding Nonce)を情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録し、その後、情報記録媒体からバインディングナンス(Binding Nonce)を消去して、新たな更新されたバインディングナンス(Binding Nonce)を生成して情報記録媒体に記録する構成としたので、AACS規定に反することなく、データ消失の恐れもない確実なデータ更新が実現される。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
1.ディスク記録情報および再生シーケンス
(1−1)ディスク記録情報
(1−2)コンテンツ管理ユニット(CPSユニット)による管理構成
(1−3)コンテンツ利用シーケンス
2.ディスク記録情報の更新処理
【0023】
[1.ディスク記録情報および再生シーケンス]
まず、AACS(Advanced Access Content System)に従った情報記録媒体(ディスク)に対する記録データの種類、およびコンテンツの再生処理シーケンスについて説明する。
【0024】
(1−1)ディスク記録情報
最初に、図1を参照して情報記録媒体100の格納データについて説明する。情報記録媒体100は、例えば、Blu−rayディスク、DVDなどの情報記録媒体であり、著作権保護対象となるコンテンツを記録したディスクであり、AACS(Advanced Access Content System)に従ったコンテンツ利用を可能とした各種のデータが記録されている。
【0025】
図1に示すように、情報記録媒体100には、暗号化処理および一部データの置き換え処理の施された暗号化コンテンツ101と、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックとしてのMKB(Media Key Block)102、コンテンツ復号処理に適用するユニット鍵を暗号化したデータ(Encrypted CPS Unit Key)等から構成されるユニット鍵ファイル103、ユニット鍵ファイル103の暗号化に適用される鍵の生成情報となるバインディングナンス(Binding Nonce)104、コンテンツのコピー・再生制御情報としてのCCI(Copy Control Information)等を含む利用制御情報105が格納される。
【0026】
なお、図に示す情報記録媒体格納データ例は一例であり、格納データは、ディスクの種類などによって多少異なる。以下、これらの各種情報の概要について説明する。
【0027】
(1)暗号化コンテンツ101
情報記録媒体100には、様々なコンテンツが格納される。例えば高精細動画像データであるHD(High Definition)ムービーコンテンツなどの動画コンテンツのAV(Audio Visual)ストリームや特定の規格で規定された形式のゲームプログラム、画像ファイル、音声データ、テキストデータなどからなるコンテンツである。これらのコンテンツは、特定のAVフォーマット規格データであり、特定のAVデータフォーマットに従って格納される。
【0028】
情報記録媒体に格納されるコンテンツは、区分コンテンツ毎の異なる利用制御を実現するため、区分コンテンツ毎に異なる鍵(CPSユニット鍵またはユニット鍵(あるいはタイトル鍵と呼ぶ場合もある))が割り当てられ暗号化されて格納される。1つのユニット鍵を割り当てる単位をコンテンツ管理ユニット(CPSユニット)と呼ぶ。
【0029】
(2)MKB
MKB(Media Key Block)102は、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックである。MKB102は有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵[Kd]に基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディア鍵[Km]の取得を可能とした鍵情報ブロックである。これはいわゆる階層型木構造に従った情報配信方式を適用したものであり、ユーザデバイス(情報処理装置)が有効なライセンスを持つ場合にのみ、メディア鍵[Km]の取得を可能とし、無効化(リボーク処理)されたユーザデバイスにおいては、メディア鍵[Km]の取得が不可能となる。
【0030】
ライセンスエンティテイとしての管理センタはMKBに格納する鍵情報の暗号化に用いるデバイス鍵の変更により、特定のユーザデバイスに格納されたデバイス鍵では復号できない、すなわちコンテンツ復号に必要なメディア鍵を取得できない構成を持つMKBを生成することができる。従って、任意タイミングで不正デバイスを排除(リボーク)して、有効なライセンスを持つデバイスに対してのみ復号可能な暗号化コンテンツを提供することが可能となる。コンテンツの復号処理については後述する。
【0031】
(3)ユニット鍵ファイル
前述したように各コンテンツまたは複数コンテンツの集合は、コンテンツの利用管理のため、各々、個別の暗号鍵(CPSユニット鍵)を適用した暗号化がなされて情報記録媒体100に格納される。すなわち、コンテンツを構成するAV(Audio Visual)ストリーム、音楽データ、動画、静止画等の画像データ、ゲームプログラム、WEBコンテンツなどは、コンテンツ利用の管理単位としてのユニットに区分され、区分されたユニット毎に異なるユニット鍵を生成して、復号処理を行なうことが必要となる。このユニット鍵を生成するための情報がCPSユニット鍵であり、CPSユニット鍵を格納したファイルがユニット鍵ファイルである。ユニット鍵ファイルは暗号化されたファイルとして格納される。
【0032】
すなわち、ユーザデバイス(情報処理装置)が有効なライセンスを持つ場合にのみ、上述のMKBから取得可能なメディア鍵[Km]や、図1に示すバインディングナンス(Binding Nonce)104を適用して復号が可能となる。復号シーケンスについては、後述する。
【0033】
(4)バインディングナンス(Binding Nonce)
バインディングナンス(Binding Nonce)は、上述したように、ユニット鍵ファイルの暗号化に適用される情報であり、ユニット鍵ファイルの復号に適用される。ユニット鍵ファイルの復号により、ユニット鍵が取得され、取得されたユニット鍵を適用してコンテンツの復号が実行される。
【0034】
バインディングナンスは固定データではなく、ユニット鍵ファイルに格納されるユニット鍵構成の変更に応じて、随時変更される。例えば、あるCPSユニット#1,の記録された情報記録媒体に対して、さらに、新たなコンテンツであるCPSユニット#2を記録するようなCPSユニットの追加記録を行なう場合、CPSユニット鍵ファイルは、CPSユニット鍵#1とCPSユニット鍵#2を含むファイルとして更新され、この更新処理に際して、バインディングナンスも更新する。
【0035】
このように、ユニット鍵ファイルの構成に応じて、逐次バインディングナンスを変更することで、情報記録媒体に正規に格納されたCPSユニットと適用可能なCPSユニット鍵との対応を厳格に管理することが可能となる。
【0036】
(5)利用制御情報
利用制御情報には、例えばコピー・再生制御情報(CCI)が含まれる。すなわち、情報記録媒体100に格納された暗号化コンテンツ101に対応する利用制御のためのコピー制限情報や、再生制限情報である。このコピー・再生制御情報(CCI)は、コンテンツ管理ユニットとして設定されるCPSユニット個別の情報として設定される場合や、複数のCPSユニットに対応して設定される場合など、様々な設定が可能である。
【0037】
(1−2)コンテンツ管理ユニット(CPSユニット)による管理構成
次に、コンテンツ管理ユニット(CPSユニット)の設定に基づくコンテンツ管理構成について、図2を参照して説明する。情報記録媒体に格納されるコンテンツは、ユニット毎の異なる利用制御を実現するため、ユニット毎に異なる鍵が割り当てられ暗号化処理がなされて格納される。すなわち、コンテンツはコンテンツ管理ユニット(CPSユニット)に区分されて、個別の鍵(ユニット鍵(CPSユニット鍵))による暗号化処理がなされ、個別の利用管理がなされる。
【0038】
コンテンツ利用に際しては、まず、各ユニットに割り当てられたCPSユニット鍵を取得することが必要であり、さらに、その他の必要な鍵、鍵生成情報等を適用して予め定められた復号処理シーケンスに基づくデータ処理を実行して再生を行う。
【0039】
コンテンツ管理ユニット(CPSユニット)の設定態様は、様々な設定が可能である。図2を参照してコンテンツ管理ユニット(CPSユニット)の1つの設定態様について説明する。
【0040】
図2に示す例では、動画コンテンツや静止画コンテンツなどの様々なコンテンツに対応するタイトル、アプリケーションなどに対応してコンテンツ管理ユニット(CPSユニット)を設定した例である。各CPSユニット設定単位毎に、コンテンツ管理ユニット識別子(CPSユニットID)が設定され、各CPSユニット毎に異なる暗号鍵としてのユニット鍵(CPSユニット鍵)が割り当てられ、各CPSユニットは、対応するCPSユニット鍵による暗号化がなされ、復号の際には、復号対象のコンテンツに対応するCPSユニット鍵をCPSユニット鍵ファイルから取得することが必要となる。
【0041】
(1−3)コンテンツ再生シーケンス
次に、図3を参照して、情報記録媒体100に記録された情報を適用したコンテンツの利用(再生)シーケンスについて説明する。
【0042】
まず、情報処理装置180は、メモリに格納しているデバイス鍵[Kd]181を読み出す。デバイス鍵181は、コンテンツ利用に関するライセンスを受けた情報処理装置に格納された秘密キーである。
【0043】
次に、情報処理装置180は、ステップS11において、デバイス鍵181を適用して情報記録媒体100に格納されたメディア鍵[Km]を格納した暗号鍵ブロックであるMKB102の復号処理を実行して、メディア鍵[Km]を取得する。MKB(Media Key Block)171は、前述したようにブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックである。MKB102は有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵[Kd]に基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディア鍵[Km]の取得を可能とした鍵情報ブロックである。これはいわゆる階層型木構造に従った情報配信方式を適用したものであり、ユーザデバイス(情報処理装置)が有効なライセンスを持つ場合にのみ、メディア鍵[Km]の取得を可能とし、無効化(リボーク処理)されたユーザデバイスにおいては、メディア鍵[Km]の取得が不可能となる。
【0044】
次に、ステップS12において、ステップS11におけるMKB処理で取得したメディア鍵Kmと、情報記録媒体100から読み取ったバインディングナンス(Binding Nonce)104とに基づく暗号処理によって、暗号鍵としてのバインド鍵[Kb]を生成する。この鍵生成処理は、例えば、AES暗号アルゴリズムに従った処理として実行される。
【0045】
このように、CPSユニット鍵ファイルの暗号化に直接的に適用される暗号鍵はバインド鍵[Kb]であり、このバインド鍵[Kb]に適用する暗号鍵生成情報がバインディングナンスである。
【0046】
次に、ステップS13において、バインド鍵[Kb]によって、情報記録媒体100から読み取ったCPSユニット鍵ファイル103の復号処理を行なう。CPSユニット鍵ファイル103は、各CPSユニットに対応して設定されるユニット鍵[Kun]の暗号化データを格納したファイルである。ユニット鍵ファイルの具体的構成については後述する。例えば、[Enc(Kb,f(Ku_n,CCI))]のような暗号化データとしてユニット鍵を格納している。Enc(a,b)はデータbの鍵aによる暗号化データを示している。
【0047】
ステップS13におけるCPSユニット鍵ファイル103の復号処理によって、
データ[Kt]=f(Ku_n,CCI)
を取得し、ステップS14において、
データ[Kt]=f(Ku_n,CCI)、
に対して、情報記録媒体100から読み取った利用制御情報(CCI)105を適用した演算処理を実行して、ユニット鍵[Ku_n]を得る。
例えば、データ[Kt]=f(Ku_n,CCI)が、ユニット鍵[Ku_n]と、利用制御情報[CCI]との排他論理和(XOR)結果データである場合、再度、この演算結果に対して、情報記録媒体から読み取った利用制御情報[CCI]の排他論理和(XOR)演算を実行することで、ユニット鍵[Ku_n]を取得することができる。
【0048】
次に、ステップS15において、情報記録媒体100から読み取った暗号化コンテンツ101に対して、ユニット鍵[Ku_n]を適用した復号処理(例えばAES_D)を実行し、ステップS16において、例えばMPEGデコード、圧縮解除、スクランブル解除等、必要なデコード処理を実行して、コンテンツ182を取得する。
【0049】
この処理によって、情報記録媒体100に格納されたCPSユニットとして管理される暗号化コンテンツが復号されて利用、すなわち再生することができる。
【0050】
[2.ディスク記録情報の更新処理]
次に、ディスク記録情報の更新処理について説明する。先に、図1を参照して説明したように、情報記録媒体100には、AACS(Advanced Access Content System)に従ったコンテンツ利用を可能とした各種のデータが記録され、暗号化コンテンツ101、MKB(Media Key Block)102、ユニット鍵ファイル103、バインディングナンス(Binding Nonce)104、利用制御情報105等が格納されている。
【0051】
情報記録媒体100がデータの追記が可能なディスク、例えばリライタブルディスク、具体的には、BD(Blu−rayディスク)におけるBD−RE、BD−Rなどのデータ再書き込み可能なディスクである場合、ディスクに格納されるコンテンツが追加、削除、変更される場合がある。
【0052】
コンテンツは、前述したようにCPSユニット単位で管理がなされ、各CPSユニツト対応の暗号鍵としてのCPSユニット鍵がユニット鍵ファイルに格納されており、ディスクに記録されているコンテンツの変更があった場合は、ユニット鍵ファイルの更新が必要となる。例えば新たなコンテンツを記録する場合、その追記コンテンツに対応するCPSユニット鍵を追加するユニット鍵ファイルの更新が必要となり、また、コンテンツを削除する場合、その削除コンテンツに対応するCPSユニット鍵を削除するユニット鍵ファイルの更新が必要となる。
【0053】
また、AACSの規定によれば、ユニット鍵ファイルの暗号化鍵としてのバインド鍵の生成用データであるバインディングナンスも、ユニット鍵ファイルに格納されるユニット鍵構成の変更に応じて、随時変更することが必要となる。
【0054】
新たなコンテンツ記録処理におけるユニット鍵ファイルおよびバインディングナンスの更新処理例について、図4を参照して説明する。例えば、図4に示すように、CPSユニット#1,211の記録された情報記録媒体200aに対して、さらに、CPSユニット#2,212を記録する(図に示す情報記録媒体200b)。このCPSユニットの追加記録を行なう場合、CPSユニット鍵ファイル223は、CPSユニット鍵#1とCPSユニット鍵#2を含むファイルとして更新される。この更新処理に際して、バインディングナンスも変更される。
【0055】
図に示す例では、CPSユニット#1,211の記録された情報記録媒体200aではバインディングナンスA222がユニット鍵ファイル221の暗号化に適用したバインド鍵の生成情報である。CPSユニット#1,211およびCPSユニット#2,212の記録された情報記録媒体200bではバインディングナンスB224がユニット鍵ファイル223の暗号化に適用したバインド鍵の生成情報である。
ここで、
バインディングナンスA≠バインディングナンスB
である。
【0056】
従って、情報記録媒体200aのCPSユニット鍵#1を構成要素とするユニット鍵ファイル221の暗号鍵としてのバインド鍵[Kb−a]と、情報記録媒体200bのCPSユニット鍵#1とCPSユニット鍵#2を構成要素とするユニット鍵ファイル223の暗号鍵としてのバインド鍵[Kb−b]とは異なる鍵である。
【0057】
CPSユニット#1,211が記録された情報記録媒体200aの格納コンテンツ、すなわちCPSユニット#1,211に属する暗号化コンテンツを再生する場合、ユニット鍵ファイル221を復号することが必要であり、この場合、バインディングナンスA222を適用して暗号鍵(バインド鍵[Kb−a])を生成して、ユニット鍵ファイル221を復号してユニット鍵#1を得る。その後、ユニット鍵#1を適用してCPSユニット#1,211に含まれる暗号化コンテンツの復号を行なう。
【0058】
また、CPSユニット#1,211およびCPSユニット#2,212の記録された情報記録媒体400bの格納コンテンツ、すなわちCPSユニット#1,211またはCPSユニット#2,212に属する暗号化コンテンツを再生する場合、CPSユニット鍵#1またはCPSユニット鍵#2をユニット鍵ファイル223から取得することが必要であり、この場合、バインディングナンスB224を適用して暗号鍵(バインド鍵[Kb−b])を生成して、ユニット鍵ファイル223を復号してユニット鍵#1またはユニット鍵#2を得る。その後、ユニット鍵#1またはユニット鍵#2を適用してCPSユニット#1,211またはCPSユニット#2に含まれる暗号化コンテンツの復号を行なう。
【0059】
このように、ユニット鍵ファイルの構成に応じて、逐次バインディングナンスを変更することで、情報記録媒体に正規に格納されたCPSユニットと適用可能なCPSユニット鍵との対応を厳格に管理することが可能となる。
【0060】
このように、AACSの規定によれば、コンテンツの追記、削除などのディスク記録コンテンツの変更に応じて、ユニット鍵ファイルの更新、バインディングナンス(Binding Nonce)の更新が必要となる。しかし、先に説明したように、AACS規格ではディスク上に2つのバインディングナンス(Binding Nonce)を記録することを許容していないという問題がある。従って、データ更新処理において、バインディングナンス(Binding Nonce)のバックアップデータを生成してディスクに記録することができず、万が一、データ更新時に停電などの不測の事態が発生すると、更新前のコンテンツも更新後のコンテンツも利用できなくなってしまうという問題が発生する。
【0061】
ディスク上に2つのバインディングナンス(Binding Nonce)を記録することを許容していないAACSに従ったデータ更新を実行する場合の問題点について、図5を参照して説明する。図5は、AACSに従ってデータ更新を実行する場合の処理シーケンスを説明する図であり、左端の初期状態から、右端のプロセス5(process5)までを時系列に進行させて、データ更新を行なう。
【0062】
すなわち、
初期状態では、ディスクには、
更新前のバインディングナンス(BN1)301、
更新前のユニット鍵ファイル302、
更新前のMKBファイル303、
が記録されている。なお、コンテンツ等その他のデータについては省略している。
【0063】
これらの3つのファイルを更新し、最終的に、プロセス5において、
更新後のバインディングナンス(BN2)321、
更新後のユニット鍵ファイル322、
更新後のMKBファイル323、
が記録された状態に設定する処理である。
プロセス5に示す点線で示すデータ、すなわち、
ユニット鍵バックアップデータ312、
MKBバックアップデータ313は、
更新プロセスにおいて生成した古いデータのバックアップデータであり、消去可能なデータであることを意味している。
【0064】
まず、初期状態からプロセス1において、ユニット鍵ファイル302のバックアップデータであるバックアップユニット鍵ファイル312が生成される。これは、ユニット鍵ファイル302のファイル名を変更するリネーム処理として実行される。リネームされたバックアップユニット鍵ファイル312はディスク上に記録されたままとなる。同様に、MKBファイル303のバックアップデータであるバックアップMKBファイル313が生成される。これもリネーム処理として実行され、リネームされたバックアップMKBファイル313はディスク上に記録されている。
【0065】
次に、プロセス1からプロセス2において、まず、MKBファイルの更新処理が実行され、新たな更新された更新MKBファイル323が規定のMKBファイルに対応するファイル名でディスクに記録される。この時点で、バックアップMKBファイル313と更新MKBファイル323の2つのMKBファイルがディスクに記録された状態となる。
【0066】
次に、プロセス2からプロセス3において、ユニット鍵ファイルの更新処理が実行され、新たな更新された更新ユニット鍵ファイル322が規定のユニット鍵ファイルに対応するファイル名でディスクに記録される。この時点で、バックアップユニット鍵ファイル312と更新ユニット鍵ファイル322の2つのユニット鍵ファイルがディスクに記録された状態となる。
【0067】
さらに、例えば乱数生成処理によって、新たな更新バインディングナンス(BN2)321が生成されて、ディスクに記録される。ただし、AACSの規定によると、ディスク上に同時に2つのバインディスングナンスが存在することは許容されていないので、更新バインディングナンス(BN2)321をディスクに記録する前に、古いバインディンクナンス(BN1)301をディスクから消去する処理が実行され、消去処理の後、更新バインディングナンス(BN2)321をディスクに記録する。
【0068】
このように、バインディングナンスは、バックアップデータと、更新後のデータがディスクに共存されることが許容されていないので、古いバインディングナンス(BN1)301の消去後、更新バインディスングナンス(BN2)の記録処理前のタイミングテ、例えば停電が発生したような場合は、更新前後のすべてのバインディングナンスが失われてしまう可能性がある。この場合、ディスク格納コンテンツの利用は一切できなくなるという問題が発生する。
【0069】
プロセス3からプロセス4では、更新ユニット鍵ファイル322が正しく記録されていることを確認して、バックアップユニット鍵ファイル312を消去し、プロセス4からプロセス5では、更新MKBファイル323が正しく記録されていることを確認して、バックアップMKBファイル313を消去して処理を終了する。
プロセス5では、
更新後のバインディングナンス(BN2)321、
更新後のユニット鍵ファイル322、
更新後のMKBファイル323、
が記録された状態となる。
【0070】
このように、AACSに従った更新処理においては、ユニット鍵ファイルとMKBファイルは、バックアップデータをディスクに記録しておくことが許容されるので、停電の発生などがあった場合にも、データ消失の恐れはないが、バインディングナンスはバックアップをディスクに記録することが許容されないので、例えば図に示すプロセス2からプロセス3の間で、停電の発生などがあった場合、バインディングナンスが消失してしまうことになる。
【0071】
このような問題を解決するための本発明の処理例について図6を参照して説明する。図6は、図5に示すプロセス2〜プロセス3の間にプロセス2.5を追加設定した処理例を示している。図5に示す初期状態からプロセス2の処理と、プロセス3〜5の処理は、図5と同様に実行する。
【0072】
図6のプロセス2、プロセス2.5、プロセス3までの処理について説明する。プロセス2の状態は、図5に示すプロセス2と同様の状態であり、
更新前の古いバインディングナンス(BN1)301、
バックアップユニット鍵ファイル312、
バックアップMKBファイル313、
更新MKBファイル323
これらのデータがディスクに記録された状態である。
【0073】
本発明の実施例では、このプロセス2の次に実行するプロセス2.5において、更新前の古いバインディングナンス(BN1)301をディスクから読み取り、ディスク以外の外部記憶手段350、例えばHDDやフラッシュメモリなどの不揮発性メモリ(NVRAM)等の外部記憶手段350に記録する。外部記憶手段350に記録されたバインディングナンス(BN1)351は、更新前の古いバインディングナンス(BN1)301と同じデータである。その後、ディスクに記録された古いバインディングナンス(BN1)301を消去する。
【0074】
これらの処理の後、プロセス3に進む。すなわち、例えば乱数生成処理によって、新たな更新バインディングナンス(BN2)321を生成して、ディスクに記録する。この処理によれば、AACSの規定、すなわちディスク上に同時に2つのバインディスングナンスが存在することは許容しないという規定に反することがない。また、プロセス2〜3のいずれのタイミングで、停電などの不測の事態が発生しても、更新前のバインディングナンス(BN1)が、HDDやフラッシュメモリなどに記録されているので、バインディングナンスを失う恐れがなくなる。
【0075】
例えば、プロセス2の実行後、プロセス3に至るまでの間に停電が発生した場合は、更新前のデータのセットをディスクと、外部記憶手段350から集めることができる。すなわち、ディスクから、
バックアップユニット鍵ファイル312、
バックアップMKBファイル313、
さらに、外部記憶手段350から、
バインディングナンス(BN1)351
これらの各データを集めることが可能であり、更新処理前の状態に復帰することが可能となる。
【0076】
この本発明のデータ更新処理のシーケンスについて、図7に示すフローチャートを参照して説明する。図7に示す処理は、データ更新処理を実行する情報処理装置の制御部の制御に基づいて実行される。なお、この図7に示すフローは、更新処理の一部、すなわち、図6に示すプロセス2〜プロセス3の処理のシーケンスを説明するフローである。
【0077】
まず、ステップS101において、更新前の古いバインディングナンス(BN1)をディスクから読み取り、ディスク外の記憶手段(不揮発性メモリ)に格納する。次にステップS102において、ユニット鍵ファイルの更新処理を実行する。例えば追記コンテンツに対応する新たなCPSユニット鍵を追加したユニット鍵ファイルを生成する。なお、この際には、更新前の古いバインディングナンス(BN1)を適用してユニット鍵ファイルの復号を実行することが必要となる。
【0078】
次に、ステップS103において、新たな更新バインディングナンス(BN2)を生成する。たとえば乱数生成処理などによって生成する。ステップS104では、更新バインディングナンス(BN2)を適用して暗号鍵、すなわちバインド鍵を生成して、生成したバインド鍵を適用して、ステップS102において生成した更新ユニット鍵ファイルの暗号化を実行する。次に、ステップS105において、暗号化した更新ユニット鍵ファイルをディスクに記録する。
【0079】
次に、ステップS106において、更新前の古いバインディングナンス(BN1)をディスクから消去し、さらに、ステップS107において、ステップS103で生成した更新バインディングナンス(BN2)をディスクに記録し、ステップS108において、古いバインディングナンス(BN1)を外部記憶手段から消去する処理を実行する。
【0080】
このように、本発明の処理構成では、データ更新処理の過程において、常に、更新前のバインディングナンス(BN1)、または更新後のバインディングナンス(BN2)の少なくともいずれかのデータが、ディスクまたは外部記憶手段のいずれかに存在することが保証され、停電などの事態が発生した場合でも、必ず、更新前のバインディングナンス(BN1)、または更新後のバインディングナンス(BN2)の少なくともいずれかのデータを取得することが可能となり、データ更新時にデータ消失が発生せず、コンテンツの利用ができなくなるといった事態を防止することが可能となる。
【0081】
図8に、上述のデータ更新処理を実行する情報処理装置の機能を説明するブロック図を示す。図8に示すように、情報処理装置は、データ更新部401、暗号処理部402、記録媒体制御部403、外部記憶手段制御部404、入力部405、出力部406、制御部407、メモリ408を有する。データ更新部401は、ユニット鍵ファイルの更新、MKBの更新、バインディングナンスの更新、すなわち新たなバインディングナンスの生成処理等を実行する。
【0082】
暗号処理部は、例えばユニット鍵ファイルの暗号化処理、コンテンツの暗号化処理などを実行する。記録媒体制御部403は、情報記録媒体411からのデータの読み取りおよび記録処理の制御を実行する。外部記憶手段制御部404は、先に図6を参照して説明したバインディングナンスの一時記憶用に利用されるHDDやフラッシュメモリなどの外部記憶手段412に対するデータ記録間読み取りの制御を実行する。入力部405は、ユーザからの処理開始の指示入力などを入力し、出力部406は、処理状況の状態表示などを実行する出力部である。制御部407は、これらの各構成部の処理制御を行い、図6、図7を参照して説明した処理を実行するための全体制御を行なう制御部である。メモリ408は、処理シーケンスを記録したプログラムの記憶領域、処理における一時データなどの記録領域ワーク領域として利用されるメモリである。
【0083】
すなわち、データ更新処理を実行するプログラムはメモリ408内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ408を使用する。
【0084】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0085】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0086】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0087】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0088】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0089】
以上、説明したように、本発明の一実施例の構成によれば、情報記録媒体に記録されたデータの更新処理において、情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルであるユニット鍵ファイルの暗号処理に適用する鍵ファイル暗号用データ、すなわちバインディングナンス(Binding Nonce)を情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録し、その後、情報記録媒体からバインディングナンス(Binding Nonce)を消去して、新たな更新されたバインディングナンス(Binding Nonce)を生成して情報記録媒体に記録する構成としたので、AACS規定に反することなく、データ消失の恐れもない確実なデータ更新が実現される。
【図面の簡単な説明】
【0090】
【図1】情報記録媒体の格納データの例について説明する図である。
【図2】情報記録媒体の格納データに対応するコンテンツ管理ユニット(CPSユニット)の一設定例を示す図である。
【図3】コンテンツ管理ユニット(CPSユニット)として記録されたコンテンツの再生シーケンスについて説明する図である。
【図4】バインディングナンスおよびCPSユニット鍵ファイルの記録構成について説明する図である。
【図5】AACS規定に従ったデータ更新シーケンスの一例について説明する図である。
【図6】本発明の一実施例に従ったデータ更新シーケンスの例について説明する図である。
【図7】本発明の一実施例に従ったデータ更新シーケンスについて説明するフローチャートを示す図である。
【図8】本発明の一実施例に従ったデータ更新処理を実行する情報処理装置の構成例について説明する図である。
【符号の説明】
【0091】
100 情報記録媒体
101 暗号化コンテンツ
102 MKB(Media Key Block)
103 ユニット鍵ファイル
104 バインディングナンス(Binding Nonce)
105 利用制御情報
181 デバイス鍵
182 コンテンツ
200 情報記録媒体
211,212 CPSユニット
221 ユニット鍵ファイル
222 バインディングナンス
223 ユニット鍵ファイル
224 バインディングナンス
301 バインディングナンス(BN1)
302 ユニット鍵ファイル
303 MKB
312 バックアップユニット鍵ファイル
313 バックアップMKB
321 更新バインディンクナンス(BN2)
322 更新ユニット鍵ファイル
323 更新MKB
350 外部記憶手段
351 バインディングナンス(BN1)
401 データ更新部
402 暗号処理部
403 記録媒体制御部
404 外部記憶手段制御部
405 入力部
406 出力部
407 制御部
408 メモリ

【特許請求の範囲】
【請求項1】
情報記録媒体に対するデータ記録再生処理を実行する情報処理装置であり、
情報記録媒体に記録されたデータの更新処理を実行する制御部を有し、
前記制御部は、
前記情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルの暗号処理に適用する鍵ファイル暗号用データを情報記録媒体から読み出して、不揮発性メモリである外部記憶手段に記録する処理を行った後、前記情報記録媒体から鍵ファイル暗号用データを消去し、新たな更新された鍵ファイル暗号用データを生成して情報記録媒体に記録する処理を実行する構成であることを特徴とする情報処理装置。
【請求項2】
前記前記情報記録媒体に記録された暗号化コンテンツはユニット単位での暗号化がなされたコンテンツであり、前記鍵ファイルは、前記ユニット単位のコンテンツの暗号処理に適用するユニット鍵を格納したユニット鍵ファイルであり、前記鍵ファイル暗号用データは該ユニット鍵ファイルの暗号処理に適用するバインド鍵の生成データであるバインディングナンスであり、
前記制御部は、
前記ユニット鍵ファイルの更新に際して、
ユニット鍵ファイルのバックアップデータを前記情報記録媒体に生成するとともに、前記バインディングナンスを前記外部記憶手段に格納する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、
前記更新された鍵ファイル暗号用データを情報記録媒体に記録する処理を実行した後、前記外部記憶手段に記録された更新前の鍵ファイル暗号用データを消去する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記外部記憶手段は、不揮発性メモリであることを特徴とする請求項1〜3いずれかに記載の情報処理装置。
【請求項5】
情報記録媒体に対するデータ記録再生処理を実行する情報処理装置において実行する情報処理方法であり、
制御部の制御の下、情報記録媒体に記録されたデータの更新処理を実行するデータ更新ステップを実行し、
前記データ更新ステップは、
情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルの暗号処理に適用する鍵ファイル暗号用データを情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録するステップと、
前記情報記録媒体から鍵ファイル暗号用データを消去するステップと、
新たな更新された鍵ファイル暗号用データを生成して情報記録媒体に記録するステップと、
を含むステップであることを特徴とする情報処理方法。
【請求項6】
前記前記情報記録媒体に記録された暗号化コンテンツはユニット単位での暗号化がなされたコンテンツであり、前記鍵ファイルは、前記ユニット単位のコンテンツの暗号処理に適用するユニット鍵を格納したユニット鍵ファイルであり、前記鍵ファイル暗号用データは該ユニット鍵ファイルの暗号処理に適用するバインド鍵の生成データであるバインディングナンスであり、
前記データ更新ステップは、
前記ユニット鍵ファイルの更新に際して、
ユニット鍵ファイルのバックアップデータを前記情報記録媒体に生成するとともに、前記バインディングナンスを前記外部記憶手段に格納する処理を実行するステップであることを特徴とする請求項5に記載の情報処理方法。
【請求項7】
前記データ更新ステップは、さらに、
前記更新された鍵ファイル暗号用データを情報記録媒体に記録する処理を実行した後、前記外部記憶手段に記録された更新前の鍵ファイル暗号用データを消去する処理を実行するステップを含むことを特徴とする請求項5に記載の情報処理方法。
【請求項8】
前記外部記憶手段は、不揮発性メモリであることを特徴とする請求項5〜7いずれかに記載の情報処理方法。
【請求項9】
情報記録媒体に対するデータ記録再生処理を実行する情報処理装置において、データ更新処理を実行させるコンピュータ・プログラムであり、
制御部に、情報記録媒体に記録されたデータの更新処理を実行させるデータ更新ステップを有し、
該データ更新ステップにおいて、
情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵を格納した鍵ファイルの暗号処理に適用する鍵ファイル暗号用データを情報記録媒体から読み出して不揮発性メモリである外部記憶手段に記録させるステップと、
前記情報記録媒体から鍵ファイル暗号用データを消去させるステップと、
新たな更新された鍵ファイル暗号用データを生成して情報記録媒体に記録させるステップと、
を実行させることを特徴とするコンピュータ・プログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate

【図1】
image rotate

【図5】
image rotate

【図6】
image rotate