説明

記録システム、情報処理装置、記憶装置、記録方法及びプログラム

【課題】記憶装置の物理フォーマットに依存することなく、コンテンツを安全に記録すること。
【解決手段】記録システムにおいて、コンテンツを記憶装置20に記録するに際し、情報処理装置10は記憶装置20にノンス生成要求を送信し、記憶装置20はノンス生成要求を受信すると、ノンス生成要求ごとに固有に生成される変数であるノンスを生成して情報処理装置10に送信し、情報処理装置10は、記憶装置20から受信したノンスを用いて、コンテンツに関するデータファイルを暗号化し、暗号化されたデータファイルを記憶装置20の記録媒体21に記録し、情報処理装置10は、暗号化されたデータファイルのハッシュ値を計算し、ハッシュ値を含むノンス記録要求を記憶装置20に送信し、記憶装置20は、ノンス記録要求を受信すると、ハッシュ値とノンスとを関連づけて記憶媒体21に記録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録システム、情報処理装置、記憶装置、記録方法及びプログラムに関する。
【背景技術】
【0002】
近年、Blu−ray Disk(登録商標。以下「BD」という。)やHD DVD(High Definition DVD)などといった大容量光ディスクでは、コンテンツをセキュアに記録する方式として、AACS(Advanced Access Content System)とよばれる著作権保護技術が採用されている(非特許文献1参照)。このAACSでは、パーソナルコンピュータや民生エレクトロニクス機器用において、上記BD等の大容量光ディスクに記録されるコンテンツをコントロールすることで、コンテンツの不正なコピーや巻き戻しを防止している。ここで、「コンテンツの巻き戻し」とは、記憶媒体に記録されたコンテンツに関する情報(例えば、コピー制限回数、再生回数など)を以前の状態に戻すことで、コンテンツを不正に利用可能とすることを意味する。
【0003】
このAACSの仕様では、光ディスク等の記憶媒体(メディア)に対するコンテンツの記録方式を定めており、次の点を特徴としている。
(1)各メディアに対してユニークなメディアIDを付与しておき、コンテンツ鍵とメディアIDは暗号的に関連付けられる。これにより、メディア間でのコンテンツの不正なコピーを防止する。
(2)メディアに対してコンテンツ及びコンテンツ鍵を記録する度ごとに、メディア側のドライブが「Binding Nonce」(以下「BN」という。)と呼ばれるノンス(nonce、使い捨て乱数データ)を生成する。そして、ホスト側で、メディア側から受け取ったBNを用いてコンテンツ鍵を暗号化した上でメディアに記録し、BNもメディアに記録しておく。これにより、コンテンツの記録処理ごとに、コンテンツ鍵をメディアに縛り付けて記録(bind)することができ、コンテンツの不正な巻き戻しを防止できる。
【0004】
図1は、従来のAACS方式でコンテンツ鍵をBD等のメディアに記録する手順を示す。まず、ホストとメディアのドライブとの間で相互認証を行った後に(S1)、ホストはメディアからメディアIDを取得する(S2)。次いで、ホストがメディアに対してBNの生成を要求すると(S3)、メディアのドライブはBNを新規生成して(S4)、ホストに送信する(S5)。すると、ホストは、上記メディアID、BN及びMKBなどを用いて、コンテンツ鍵(Title Key)を暗号化し(S6)、ライセンス、暗号化したコンテンツ鍵ファイルなどをメディアに書き込む(S7)。さらに、メディアのドライブは、ホストから受け取ったコンテンツ鍵ファイルの書き込みと同時に、上記S4で生成したBNをメディアに書き込む(S8)。例えば、メディアがBDである場合、CPS Title Key FileのセクタヘッドにBNを記録する。このように従来のAACS準拠の光ディスクでは、コンテンツ鍵等のデータファイルとBNを同一セクタに記録することで、両者を関連づけて記録している。
【0005】
【非特許文献1】“AACSホームページ”、[online]、2006年8月2日、[2007年9月1日検索]、インターネット、“http://www.aacsla.com/specifications/”
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来のAACSの仕様では、メディアがBD等の光ディスクである場合を対象とし、BNを生成するのは光ディスクドライブ(Optical Drive)であった。即ち、ホストと正しく相互認証を行ってコンテンツとBNとを関連付けて安全に記録できる装置(上記光ディスクドライブ等)が存在するケースを想定していた。このように、上記従来のAACSは、フラッシュメモリ等を搭載したメモリカードに対して適用されるものではなかった。
【0007】
また、BDは、データ記録先の論理アドレスを予め指定して記録する方式である。このため、メディアがBDである場合、図1に示すように、BDのドライブが、コンテンツ鍵ファイルの記録と同時にBNを記録するためには(S8)、当該ファイルの記録先の論理アドレスを予め指定しておき(S3)、その指定したアドレスにファイルが記録されると同時にBNを書き込むという方式をとらなければならない。即ち、従来のBNを用いた記録方式は、メディア(例えばBD)の物理フォーマットに強く依存した記録方式であった。このようにメディアの物理フォーマットに依存した記録方式であると、以下の(A)、(B)のような不都合が生ずる。
【0008】
(A)ファイル単位のアクセス方法を採るメディアに不向き
PTP(Picture Transfer Protocol)又はMTP(Media Transfer Protocol)などのように、ファイル単位のアクセス方法(File Level Access)を採用したメディアの場合には、上記BDのような方式に従って記録すると、常に以下の(1)〜(3)のようなシーケンスに従う必要があり、記録手順が制限されてしまう。
【0009】
(1)ホスト側は、まずコンテンツ鍵ファイルを記録するためのID(アドレスに相当する。)をメディアから取得し、(2)そのIDを指定してメディアにBNを生成させる。(3)メディア側はそのIDによって、コンテンツ鍵ファイルがメディアに記録されることを監視し、記録されたらBNをメディアに記録する。
【0010】
このような記録手順に制限されるので、ファイル単位でPUT、GETするようなアクセス方法の自由度が下がる。例えば、まずコンテンツ鍵ファイルだけを記録しておき、その後にBNを記録するといった記録手順を実行できない。
【0011】
さらに、メディアに記録されているコンテンツ鍵ファイルが変更/削除された場合に、BNも削除しなければならず、コンテンツ鍵ファイルとBNを永続的に関連付けておくという特別な実装が必要になるという不都合も生ずる。詳細には、メディアがBDである場合は、同一セクタにファイルとBNが記録されているので、両者を共に削除することが容易である。一方、フラッシュメモリ等を記憶媒体とするメモリカードの場合、ファイルとは別にBNを管理領域に記録しなければならないので、常にファイルの変更/削除の有無を監視して、ファイルが変更/削除されたらBNを無効化するという特別な仕組みが必要となってしまう。
【0012】
(B)記録フォーマットに依存する
従来のBDの記録方式では、BNを生成する際に、ホストは、コンテンツ鍵ファイルを記録するアドレスを予め把握しておく必要がある。そのため、記録されるファイル形式が、メディアに記録されるコンテンツ鍵ファイルの記録フォーマットに依存してしまう。これは、次のような場合に不都合が生ずる。例えば、メディア上に1つの巨大ファイルを生成し、これを仮想的なファイルシステムとして、この中にコンテンツ鍵ファイルやコンテンツを記録する場合や、コンテンツ鍵ファイルやコンテンツを圧縮して1つのファイルとして記録するような場合がある。これらの場合には、メディア上のどのアドレスにコンテンツ鍵ファイルが記録されるかを知ることはできないため、従来方式を利用することが困難である。このように、従来のBDの記録方式は、複数のコンテンツ鍵を含むディスクイメージのような塊を1ファイルとして記録する場合には対応しておらず、アプリケーションによって記録方法を自由に選択することができなかった。
【0013】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、記憶装置(メディア)の物理フォーマットに依存することなく、コンテンツを安全に記録することが可能な、新規かつ改良された記録システム、情報処理装置、記憶装置、記録方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0014】
上記課題を解決するために、本発明のある観点によれば、記憶媒体を内蔵した記憶装置と、前記記憶装置を接続可能な情報処理装置とからなり、前記情報処理装置が保持するコンテンツを前記記憶装置に記録する記録システムであって:前記コンテンツを前記記憶装置に記録するに際し、前記情報処理装置は、前記記憶装置にノンス生成要求を送信し、前記記憶装置は、前記情報処理装置から前記ノンス生成要求を受信すると、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成して、前記情報処理装置に送信し、前記情報処理装置は、前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録し、前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値を計算し、前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記ハッシュ値と前記ノンスとを関連づけて、前記記憶媒体に記録することを特徴とする、記録システムが提供される。
【0015】
また、前記記憶装置に記憶されている前記コンテンツを利用するに際し、前記情報処理装置は、前記記憶装置に前記ノンス及び前記ハッシュ値の送信要求を送信し、前記記憶装置は、前記情報処理装置から前記送信要求を受信すると、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を読み出して前記情報処理装置に送信し、前記情報処理装置は、前記記憶装置から前記記憶媒体に記憶されている前記暗号化されたデータファイルを取得し、前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値を計算し、当該計算したハッシュ値と、前記記憶装置から受信した前記ハッシュ値とを照合し、当該両ハッシュ値が一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号するようにしてもよい。
【0016】
また、前記コンテンツを前記記憶装置に記録するに際し、前記情報処理装置と前記記憶装置は、相互認証を行ってセッション鍵を共有し、前記ノンス記録要求を前記記憶装置に送信する際に、前記情報処理装置は、前記セッション鍵を用いて、前記ハッシュ値のMAC値を計算し、前記ハッシュ値と前記ハッシュ値のMAC値とを含む前記ノンス記録要求を前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値を計算し、当該計算したMAC値と、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値とが一致する場合に、前記ハッシュ値と前記ノンスとを関連づけて、前記記憶媒体に記録するようにしてもよい。
【0017】
また、前記情報処理装置及び前記記憶装置はそれぞれ、前記ハッシュ値のMAC値を計算する際に、前記セッション鍵を用いて、前記ハッシュ値と前記ノンスとを合わせた値のMAC値を計算するようにしてもよい。
【0018】
また、前記記憶装置の前記記憶媒体は、記憶領域として、通常のデータ記憶領域と、セキュアなデータ管理領域とを有しており、前記暗号化されたデータファイルは前記通常のデータ記憶領域に記録され、前記ハッシュ値及び前記ノンスは前記データ管理領域に記録されるようにしてもよい。
【0019】
また、前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアであるようにしてもよい。
【0020】
また、前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置であるようにしてもよい。
【0021】
また、前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むようにしてもよい。
【0022】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵した記憶装置を接続可能であり、自身が保持するコンテンツを前記記憶装置に記録する情報処理装置であって:前記記憶装置にノンス生成要求を送信するノンス生成要求部と;前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信部と;前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化部と;前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録するデータ記録部と;前記暗号化されたデータファイルのハッシュ値を計算するハッシュ計算部と;前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信するノンス記録要求部と;を備えることを特徴とする、情報処理装置が提供される。
【0023】
また、前記記憶装置に前記ノンス及び前記ハッシュ値の送信要求を送信する送信要求部と;前記記憶装置から前記送信要求の応答として、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を受信する管理情報受信部と;前記記憶装置から前記記憶媒体に記憶されている前記暗号化されたデータファイルを取得するデータ取得部と;前記記憶装置から取得した前記暗号化されたデータファイルのハッシュ値を計算するハッシュ計算部と;当該計算したハッシュ値と、前記記憶装置から受信した前記ハッシュ値とを照合するハッシュ値照合部と;当該両ハッシュ値が一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号する復号部と;をさらに備えるようにしてもよい。
【0024】
また、前記記憶装置と相互認証を行ってセッション鍵を共有する認証部と;前記セッション鍵を用いて、前記ハッシュ値のMAC値を計算するMAC値計算部と;をさらに備え、前記ノンス記録要求部は、前記ハッシュ値と前記ハッシュ値のMAC値とを含む前記ノンス記録要求を前記記憶装置に送信するようにしてもよい。また、前記MAC値計算部は、前記ハッシュ値のMAC値を計算する際に、前記セッション鍵を用いて、前記ハッシュ値と前記ノンスとを合わせた値のMAC値を計算するようにしてもよい。
【0025】
また、前記記憶装置の前記記憶媒体は、記憶領域として、通常のデータ記憶領域と、セキュアなデータ管理領域とを有しており、前記暗号化されたデータファイルは前記通常のデータ記憶領域に記録され、前記ハッシュ値及び前記ノンスは前記データ管理領域に記録されるようにしてもよい。
【0026】
また、前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むようにしてもよい。
【0027】
また、上記課題を解決するために、本発明の別の観点によれば、情報処理装置に接続可能であり、前記情報処理装置が保持するコンテンツが記録される記憶装置であって:前記情報処理装置からノンス生成要求を受信するノンス生成要求受信部と;前記ノンス生成要求の受信に応じて、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成するノンス生成部と;前記ノンスを前記情報処理装置に送信するノンス送信部と;前記情報処理装置によって前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルが記録される記録媒体と;前記情報処理装置から、前記暗号化されたデータファイルのハッシュ値を含むノンス記録要求を受信するノンス記録要求受信部と;前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記ハッシュ値と、前記ノンス生成部が生成した前記ノンスとを関連づけて、前記記憶媒体に記録するノンス記録部と;を備えることを特徴とする、記憶装置が提供される。
【0028】
また、前記情報処理装置から、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値の送信要求を受信する送信要求受信部と;前記送信要求の受信に応じて、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を読み出して前記情報処理装置に送信する管理情報送信部と;をさらに備えるようにしてもよい。
【0029】
また、前記情報処理装置と相互認証を行ってセッション鍵を共有する認証部をさらに備え、前記ノンス記録要求受信部は、前記情報処理装置によって前記セッション鍵を用いて計算された前記ハッシュ値のMAC値と、前記ハッシュ値とを含む前記ノンス記録要求を受信し、前記ノンス記録要求の受信に応じて、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値を計算し、当該計算したMAC値と、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値とが一致するか否かを検証する検証部をさらに備え、前記ノンス記録部は、前記MAC値が一致する場合に、前記ハッシュ値と前記ノンスとを関連づけて、前記記憶媒体に記録するようにしてもよい。
【0030】
また、前記検証部は、前記ハッシュ値のMAC値を計算する際に、前記セッション鍵を用いて、前記ハッシュ値と前記ノンスとを合わせた値のMAC値を計算するようにしてもよい。
【0031】
また、前記記憶装置の前記記憶媒体は、記憶領域として、通常のデータ記憶領域と、セキュアなデータ管理領域とを有しており、前記暗号化されたデータファイルは前記通常のデータ記憶領域に記録され、前記ハッシュ値及び前記ノンスは前記データ管理領域に記録されるようにしてもよい。
【0032】
また、前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアであるようにしてもよい。
【0033】
また、前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置であるようにしてもよい。
【0034】
また、前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むようにしてもよい。
【0035】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵した記憶装置を接続可能であり、自身が保持するコンテンツを前記記憶装置に記録する情報処理装置における記録方法であって:前記コンテンツを前記記憶装置に記録するに際し、前記記憶装置にノンス生成要求を送信するノンス生成ステップと;前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信ステップと;前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化ステップと;前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録するデータ記録ステップと;前記暗号化されたデータファイルのハッシュ値を計算するハッシュ値計算ステップと;前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信して、前記記憶装置に、前記ハッシュ値と前記ノンスとを関連づけて前記記憶媒体に記録させるノンス記録要求ステップと;を含むことを特徴とする、記録方法が提供される。
【0036】
また、上記課題を解決するために、本発明の別の観点によれば、情報処理装置に接続可能であり、前記情報処理装置が保持するコンテンツが記録される記憶装置における記録方法であって:前記情報処理装置からノンス生成要求を受信するノンス生成要求受信ステップと;前記ノンス生成要求の受信に応じて、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成するノンス生成ステップと;前記ノンスを前記情報処理装置に送信するノンス送信ステップと;前記情報処理装置によって前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルを、記憶媒体に記録する記録ステップと;前記情報処理装置から、前記暗号化されたデータファイルのハッシュ値を含むノンス記録要求を受信するノンス記録要求受信ステップと;前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記ハッシュ値と、前記ノンス生成ステップで生成した前記ノンスとを関連づけて、前記記憶媒体に記録するノンス記録ステップと;を含むことを特徴とする、記録方法が提供される。
【0037】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵した記憶装置を接続可能であり、自身が保持するコンテンツを前記記憶装置に記録する情報処理装置のコンピュータに:前記コンテンツを前記記憶装置に記録するに際し、前記記憶装置にノンス生成要求を送信するノンス生成ステップと;前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信ステップと;前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化ステップと;前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録するデータ記録ステップと;前記暗号化されたデータファイルのハッシュ値を計算するハッシュ値計算ステップと;前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信して、前記記憶装置に、前記ハッシュ値と前記ノンスとを関連づけて前記記憶媒体に記録させるノンス記録要求ステップと;を実行させるためのプログラムが提供される。
【0038】
また、上記課題を解決するために、本発明の別の観点によれば、情報処理装置に接続可能であり、前記情報処理装置が保持するコンテンツが記録される記憶装置のコンピュータに:前記情報処理装置からノンス生成要求を受信するノンス生成要求受信ステップと;前記ノンス生成要求の受信に応じて、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成するノンス生成ステップと;前記ノンスを前記情報処理装置に送信するノンス送信ステップと;前記情報処理装置によって前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルを、記憶媒体に記録する記録ステップと;前記情報処理装置から、前記暗号化されたデータファイルのハッシュ値を含むノンス記録要求を受信するノンス記録要求受信ステップと;前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記ハッシュ値と、前記ノンス生成ステップで生成した前記ノンスとを関連づけて、前記記憶媒体に記録するノンス記録ステップと;を実行させるためのプログラムが提供される。
【発明の効果】
【0039】
以上説明したように本発明によれば、記憶装置(メディア)の物理フォーマットに依存することなく、コンテンツを安全に記録することができる。
【発明を実施するための最良の形態】
【0040】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0041】
まず、図2を参照して、本発明の第1の実施形態にかかる記録システム1について説明する。図2は、本実施形態にかかる記録システム1(図2(b)参照。)を、従来の光ディスクをメディアとした記録システム3(図2(a)参照。)と比較して示す説明図である。
【0042】
図2(a)に示すように、従来の記録システム3は、ホスト装置6に光ディスク用のドライブ7を接続或いは内蔵し、このドライブ7に対して、記録媒体としてのBlu−ray Disk(登録商標。以下「BD」という。)やHD DVD等の光ディスク8をローディングする構成である。この記録システム3では、ホスト装置6からドライブ7を介して光ディスク8に、コンテンツやコンテンツ鍵等のデータファイルを記録することができる。このとき、図1で示したように、ホスト装置6とドライブ7との間で、上記AACS仕様に従った処理を行うことで、コンテンツ等を光ディスク8にセキュアに記録して、コンテンツの不正コピーや巻き戻しを防止できる。例えば、ドライブ7は、AACSで規定されているBinding Nonceの生成処理や、記録媒体である光ディスク8へのBinding Nonceの記録処理を行っていた。
【0043】
これに対し、図2(b)に示すように、本実施形態にかかる記録システム1は、ホスト装置10と、ホスト装置10に着脱可能なリムーバブルメディア20とから構成される。ここで、ホスト装置10は、本発明の情報処理装置の一例であり、リムーバブルメディア20は、本発明の記憶装置の一例である。リムーバブルメディア20は、フラッシュメモリ等の記憶媒体を内蔵した記憶装置であり、ホスト装置10の装着部(例えばスロット、コネクタ等)に着脱可能である。本実施形態にかかるリムーバブルメディア20は、上記従来の記録システム3におけるドライブ7と光ディスク8とを一体化したものに相当する。このリムーバブルメディア20自身が、上記AACS仕様に従ったBinding Nonceの生成処理や、記録媒体へのBinding Nonceの記録処理を実行する。以下に、本実施形態にかかるホスト装置10とリムーバブルメディア20について、より詳細に説明する。
【0044】
ホスト装置10は、リムーバブルメディア20等の記憶装置(メディア)に対し、コンテンツやコンテンツ鍵等のデータファイルを記録する主体となる記録装置である。このホスト装置10は、例えば、パーソナルコンピュータ(Personal Computer:以下「PC」という。)等のコンピュータ装置(ノート型、デスクトップ型を問わない。)で構成される。しかし、ホスト装置10は、かかる例に限定されず、例えば、PDA(Personal Digital Assistant)、家庭用ゲーム機、DVD/HDDレコーダー等の記録再生装置、情報家電などの各種のユーザ端末で構成できる。
【0045】
リムーバブルメディア20は、コンテンツやコンテンツ鍵等のデータファイルを記憶可能な記憶媒体を備えた記憶装置である。このリムーバブルメディア20が備える記憶媒体としては、例えば、フラッシュメモリ、その他の不揮発性メモリ等からなる半導体メモリを使用できる。リムーバブルメディア20は、例えば、メモリカード又はコネクタ一体型メモリなどである。メモリカードは、上記フラッシュメモリ等の記憶媒体をカード型にパッケージしたものであり、PCやデジタルカメラ、携帯型映像/音声プレーヤなどのデジタル機器用の記憶装置として普及している。また、コネクタ一体型メモリは、上記フラッシュメモリ等の記憶媒体のパッケージに、PC等の情報処理装置と接続するためのコネクタを装着したものである。このコネクタ一体型メモリとしては、例えば、フラッシュメモリのパッケージにUSB(Universal Serial Bus)コネクタを装着したUSBメモリが代表的である。
【0046】
かかるリムーバブルメディア20は、ホスト装置10の装着部(例えばスロット、コネクタ等)に着脱自在に接続される。ホスト装置10は、装着部に装着されたリムーバブルメディア20に対して、ホスト装置10が保持するコンテンツやコンテンツ鍵などのデータファイルを書き込んだり、リムーバブルメディア20に記憶されているデータファイルを読み出したりすることができる。
【0047】
また、本実施形態にかかるコンテンツは、例えば、音楽、講演、ラジオ番組等の音声(Audio)コンテンツや、映画、テレビジョン番組、ビデオプログラム、写真、絵画、図表等を構成する静止画若しくは動画からなる映像(Video)コンテンツ、電子図書(E−book)、ゲーム、ソフトウェアなど、任意のコンテンツであってよい。以下では、コンテンツとして、音楽コンテンツ又は映像コンテンツの例を挙げて説明するが、本発明はかかる例に限定されない。また、本実施形態にかかるコンテンツは、例えば、AACSに準拠する著作権管理方式など、各種の方式で著作権管理されるコンテンツである。
【0048】
次に、図3を参照して、本実施形態にかかる情報処理装置であるホスト装置10のハードウェア構成について説明する。図3は、本実施形態にかかるホスト装置10の構成を示すブロック図である。なお、図3の例では、ホスト装置10が例えばPCである場合の例を示しているが、ホスト装置10は他の情報処理装置であってもよい。
【0049】
図3に示すように、ホスト装置10は、例えば、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ホストバス104と、ブリッジ105と、外部バス106と、インタフェース107と、入力装置108と、出力装置109と、ストレージ装置110(例えばHDD)と、スロット111と、ドライブ112と、接続ポート113と、通信装置114とを備える。
【0050】
CPU101は、演算処理装置および制御装置として機能し、各種プログラムに従って動作し、ホスト装置10内の各部を制御する。このCPU101は、ROM102に記憶されているプログラム、或いは、ストレージ装置110からRAM103にロードされたプログラムに従って、各種の処理を実行する。ROM102は、CPU101が使用するプログラムや演算パラメータ等を記憶するとともに、CPU101からストレージ装置110へのアクセスを軽減するためのバッファーとしても機能する。RAM103は、CPU101の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス104により相互に接続されている。ホストバス104は、ブリッジ105を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス106に接続されている。
【0051】
入力装置108は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー等の操作手段と、入力信号を生成してCPU101に出力する入力制御回路などから構成されている。ホスト装置10のユーザは、この入力装置108を操作することにより、ホスト装置10に対して各種のデータを入力したり、処理動作を指示したりすることができる。出力装置109は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、ランプ等の表示装置と、スピーカ等の音声出力装置などで構成される。
【0052】
ストレージ装置110は、本実施形態にかかるホスト装置10の記憶部の一例として構成されたデータ格納用の装置であり、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置110は、記憶媒体であるハードディスクと、ハードディスクを駆動するドライブとから構成され、CPU101が実行するプログラムや各種データを格納する。
【0053】
スロット111は、リムーバブルメディア20を着脱可能に装着するための装着部の一例である。かかるスロット111に、例えば上記メモリカード等のリムーバブルメディア20を装着することで、ホスト装置10はリムーバブルメディア20とデータ通信可能となる。
【0054】
ドライブ112は、リムーバブルメディア20用の駆動装置であり、ホスト装置10に内蔵、或いは外付けされる。このドライブ112は、ホスト装置10のスロット111に装着されたリムーバブルメディア20に対して、各種のデータを書き込み/読み出しする。
【0055】
接続ポート113は、外部周辺機器を接続するためのポートであり、例えば、USB、IEEE1394等の接続端子を有する。接続ポート113は、インタフェース107、および外部バス106、ブリッジ105、ホストバス104等を介してCPU101等に接続されている。この接続ポート111(例えばUSBポート)には、上記USBメモリ等のコネクタ付きリムーバブルメディア20を接続することができる。また、かかる接続ポート111には、かかるリムーバブルメディア20以外にも、例えば、携帯型映像/音楽プレーヤ、PDA、HDD等の外部機器を、ケーブル等を介して接続可能である。これらの外部機器も、本発明の記憶装置の一例となりうる(第2の実施形態の図8、図9を参照)。
【0056】
通信装置114は、例えば、インターネット、LAN等の各種のネットワーク5に接続するための通信デバイス等で構成された通信インタフェースである。この通信装置114は、ネットワーク5を介して接続された外部機器との間で、各種データを送受信する。例えば、通信装置114は、コンテンツ配信サーバから、配信コンテンツや、コンテンツ鍵、ライセンス、秘密鍵等を受信することができる。また、かかる通信装置114は、無線/有線通信を問わず。外部機器とホスト装置10とを無線LAN等により無線接続することも可能である。
【0057】
次に、図4を参照して、本実施形態にかかる記憶装置であるリムーバブルメディア20のハードウェア構成について説明する。図4は、本実施形態にかかるリムーバブルメディア20の構成を示すブロック図である。
【0058】
図4に示すように、リムーバブルメディア20は、1つのパッケージ内に、フラッシュメモリ21と、通信装置24と、認証装置25と、ノンス生成装置26と、検証装置27とを備える。リムーバブルメディア20には、固有の識別情報であるメディアIDが予め付与されており、このメディアIDはフラッシュメモリ21内にセキュアに格納されている。
【0059】
フラッシュメモリ21は、リムーバブルメディア20が具備する記憶媒体の一例であり、各種のデータを記憶・保持する。かかるフラッシュメモリ21をパッケージ化することで、本実施形態にかかるリムーバブルメディア20であるメモリカードを構成できる。リムーバブルメディア20の記憶媒体としては、フラッシュメモリ21以外にも、例えば、EEPROM(Electronically Erasable and Programmable ROM)FeRAM (Ferroelectric RAM)、FeRAM(Magnetoresistive RAM)などの不揮発性メモリや、その他の半導体メモリを使用してもよい。
【0060】
このフラッシュメモリ21は、複数の記憶領域に区分されている。図4に示すように、フラッシュメモリ21は、記憶領域として、通常のデータ記憶領域22と、セキュアなデータ管理領域23とを有している。通常のデータ記憶領域22は、コンテンツやコンテンツ鍵、ライセンス(コンテンツの利用条件情報)、コンテンツの属性情報などの通常のデータが記憶される領域である。ユーザは、ホスト装置10を用いて、かかる通常のデータ記憶領域22に対して所望のデータを読み書きできる。
【0061】
一方、データ管理領域23は、通常のデータ記憶領域22に記憶されるコンテンツの不正利用を防止して著作権保護を行うための管理情報をセキュアに記憶する。このデータ管理領域23は、ユーザによる自由なアクセスが制限された秘密領域である。かかるデータ管理領域23には、通常のデータ記憶領域22にデータファイルが記憶される度ごとに生成されるノンスである「Binding Nonce」と、当該データファイルのハッシュ値である「Content Token」とが関連づけて記録される。図示の例では、通常のデータ記録領域21に記録された第1〜第nのコンテンツ(図示せず。)について、n個のBinding Nonce#1〜nと、n個のContent Token#1〜nとが相互に関連づけて記録されている。
【0062】
ここで、Binding Nonce(以下「BN」と略称する場合もある。)と、Content Token(以下「CT」と略称する場合もある。)について説明する。
【0063】
上述したAACSの仕様では、コンテンツに関するデータ(コンテンツ自体、コンテンツ鍵、コンテンツの識別情報、ライセンスなどを含む。)のファイルをメディアに記録する度に、メディア側がノンスを新規生成し、このノンスとコンテンツを関連づけてメディアに記録する。このようにBNは、メディアにコンテンツを記録する度に固有な値で生成され、コンテンツとともに記録され、コンテンツを書き換える度に新たなBNが生成される。これによって、コンテンツをメディアに縛り付けて記録(バインド)することができるので、コンテンツの不正な巻き戻しを防止できる。例えば、コンテンツの利用に関する情報(例えば、ライセンスで定められたコピー回数や、再生回数、再生期限など)を過去の情報に戻すことができない。
【0064】
本実施形態における記録システム1においても、上記AASCで規定されたBinding Nonceに相当するノンス(nonce)を利用して、コンテンツの不正な巻き戻しを防止するようにしている。このノンスは、メディアに対してコンテンツを記録する度に固有に生成される変数であり、例えば、使い捨て乱数、カウンター値など、一意性が保証された値であれば任意の値を使用できる。本実施形態では、ノンスとして、例えば、使い捨て乱数データを使用するものとする。本実施形態にかかるノンスは、コンテンツをメディアに縛り付けて記録(バインド)するための値であり、上記AACSで規定されたBinding Nonceに相当するものである。そこで、以下の説明では、ノンスを「Binding Nonce」又は「BN」と表記する。
【0065】
また、Content Token(CT)は、メディアに記録されるコンテンツに関するデータファイルのハッシュ値である。ここで、コンテンツに関するデータファイルは、例えば、コンテンツ自体のファイル(例えば、映像コンテンツデータ、音声コンテンツデータのファイル)、暗号化されたコンテンツを復号(デクリプト)するためのコンテンツ鍵のファイル、コンテンツの識別情報(例えば、コンテンツID、コンテンツ名称)などのファイル、コンテンツの利用条件を表すライセンスのファイルなどである。これらのコンテンツに関するデータファイルは、上記リムーバブルメディア20のフラッシュメモリ21における通常のデータ記憶領域22に記録される。
【0066】
かかるコンテンツに関するデータファイルのハッシュ値がCTである。このCTは、当該データファイルに1:1対応する識別情報であり、該データファイルの象徴(token)となるデータである。かかるCTにより、メディアに記録されたコンテンツを一意に特定できる。
【0067】
このCTを記録する意義について説明する。従来のAACSに準拠したBDでは、コンテンツに関するデータファイルとBNとを同一セクタに同時に記録することにより、両者を関連づけていた(図1参照)。これに対し、本実施形態にかかる記録システム1では、図4に示すように、記憶装置の記億媒体(リムーバブルメディア20のフラッシュメモリ21)に、通常のデータ記憶領域22と、セキュアなデータ管理領域23とを設け、コンテンツに関するデータファイルは通常のデータ記憶領域22に記録し、BNはデータ管理領域23に記録する。さらに、データ管理領域23に、BNと関連づけてCTを記録する。このCTによって、別々の記憶領域に記憶されたBNとコンテンツに関するデータファイルを関連づけることができる。よって、BNとコンテンツに関するデータファイルの記録方式の自由度が高まるので、ファイル単位でのアクセス方式を採用するリムーバブルメディア20にも適用可能となる。
【0068】
さらに図4を参照して、リムーバブルメディア20の構成について説明する。通信装置24は、ホスト装置10とデータ通信を行うための通信インタフェースである。例えば、通信装置24は、ホスト装置10から、記録対象のコンテンツに関するデータファイルや、認証情報、CT、各種のコマンド、配信コンテンツや、コンテンツ鍵、ライセンス、秘密鍵等を受信することができる。かかる通信装置24によって、ホスト装置10は、ホスト装置10に装着されたリムーバブルメディア20との間で各種のデータを送受信できるようになる。例えば、ホスト装置10は、通信装置24を介して、コンテンツファイルをフラッシュメモリ21に書き込んだり、フラッシュメモリ21に記憶されているコンテンツを読み出したりする。
【0069】
認証装置25は、ホスト装置10とリムーバブルメディア20との間で相互認証を行い、セッション鍵を共有する機能を有する。この認証装置25は、例えば、上記AACSに準拠した認証処理を実行する。
【0070】
ノンス生成装置26は、上述したBinding Nonce(BN)を生成する。このノンス生成装置26は、例えば、使い捨て乱数データを発生する乱数発生器や、カウンター値を生成するカウンターなどで構成される。ノンス生成装置26は、ホスト装置10から通信装置24を介してノンス生成要求を受信する度ごとに、使い捨て乱数データを生成し、この乱数データをBNとしてホスト装置10に返信する。
【0071】
検証装置27は、リムーバブルメディア20に記録されるデータの改竄又は破損の有無を検証する機能を有する。記録システム1では、ホスト装置10とリムーバブルメディア20との間でやりとりされるデータ(例えば、BN、CT)には、そのデータのMAC(Message Authentication Code)値が付加され、データの改竄・破損を検証できるようになっている。検証装置27は、ホスト装置10から受信したデータのMAC値を計算し、当該計算したMAC値と、ホスト装置10により当該データに予め付加されているMAC値とを照合することで、データの改竄・破損の有無をチェックする。また、検証装置27は、リムーバブルメディア20からホスト装置10に送信するデータに、当該データのMAC値を計算して付加する。かかる検証装置27により、ホスト装置10とリムーバブルメディア20との間で安全にデータを送受信できる。
【0072】
次に、図5を参照して、本実施形態にかかるホスト装置10とリムーバブルメディア20の機能構成について説明する。図5は、本実施形態にかかるホスト装置10とリムーバブルメディア20の機能構成を示すブロック図である。
【0073】
図5に示すように、ホスト装置10は、認証部122と、ノンス生成要求部124と、ノンス受信部126と、検証部128と、暗号化部130と、コンテンツデータベース132と、データ記録部134と、ハッシュ計算部136と、MAC値計算部138と、ノンス記録要求部140と、送信要求部142と、管理情報受信部144と、検証部146と、データ取得部148と、ハッシュ計算部150と、ハッシュ値照合部152と、復号部154とを備える。これら各部の機能を実行させるプログラムを、ホスト装置10にインストールすることにより、当該各部は、ソフトウェアとCPU101等のハードウェアによって実現される。しかし、当該各部を専用のハードウェアで実現してもよい。
【0074】
リムーバブルメディア20は、認証部202と、ノンス生成要求受信部204と、ノンス生成部206と、MAC値計算部208と、ノンス送信部210と、ノンス記録要求受信部212と、検証部214と、ノンス記録部216と、送信要求受信部218と、MAC値計算部220と、管理情報送信部222とを備える。認証部202は、上記認証装置25(図4参照。)で構成される。ノンス生成要求受信部204、ノンス送信部210、ノンス記録要求受信部212、送信要求受信部218及び管理情報送信部222は、上記通信装置24(図4参照。)で構成される。ノンス生成部206は、上記ノンス生成装置25(図4参照。)で構成される。MAC値計算部208、MAC値計算部220及び検証部214は、上記検証装置27(図4参照。)で構成される。ノンス記録部216は、ホスト装置10からの指示に従いフラッシュメモリ21にデータを読み書きする装置(図示せず。)によって実現される。
【0075】
以下に、ホスト装置10とリムーバブルメディア20の各部の構成と、これら各部の相互関係について説明する。
【0076】
ホスト装置10がリムーバブルメディア20にデータを記録する際、又はリムーバブルメディア20に記憶されたデータを利用する際には、ホスト装置10の認証部122と、リムーバブルメディア20の認証部202は、AACSで定められた方式(AACS−auth)に従って相互認証を行い、セッション鍵Ksを共有する。認証部122は、後述の検証部128、146及びMAC値計算部138にセッション鍵Ksを提供し、認証部202は、後述の検証部214及びMAC値計算部208、220にセッション鍵Ksを提供する。また、認証時には、認証部202は、リムーバブルメディア20に付与されているメディアIDを読み出して、ホスト装置10に提供する。
【0077】
ホスト装置10が保持するコンテンツをリムーバブルメディア20に記録するときには、ユーザは、ホスト装置10に、リムーバブルメディア20へのコンテンツの記録指示を入力する。ホスト装置10のノンス生成要求部124は、かかる記録指示に応じて、リムーバブルメディア20にノンス生成要求(ノンスの生成を要求するためのコマンド)を送信し、BNを生成するように指示する。
【0078】
リムーバブルメディア20のノンス生成要求受信部204は、ホスト装置10からノンス生成要求を受信する。このノンス生成要求の受信に応じて、ノンス生成部206は、ノンス生成要求ごとに固有に生成される変数であるノンス(即ち、BN)を生成する。このBNは、例えば、使い捨て乱数を使用できるが、その他の一意性が確保された値であってもよい。MAC値計算部208は、上記認証部202から受け取ったセッション鍵Ksを用いて、ノンス生成部206により生成されたBNのMAC値(Dm)を計算する。ノンス送信部210は、ノンス生成部206により生成されたBNと、MAC値計算部208により生成されたBNのMAC値(Dm)をホスト装置10に送信する。
【0079】
ホスト装置10のノンス受信部126は、リムーバブルメディア20から、上記BNとMAC値(Dm)を受信する。検証部128は、上記認証部122から受け取ったセッション鍵Ksを用いて、当該受信したBNのMAC値を計算する。さらに、検証部128は、当該計算したMAC値と、上記受信したMAC値(Dm)とを照合し、両者が一致すれば、当該受信したBNが正当であると判定する。一致しない場合には、BNが改竄された可能性があるので、記録処理を終了する。
【0080】
ホスト装置10は、上記ストレージ装置110などにコンテンツデータベース132を有しており、このコンテンツデータベース132に、1又は2以上のコンテンツに関するデータファイル(コンテンツ自体、コンテンツ鍵等のファイル)を保持している。上記検証部128によりBNが正常であると検証された場合には、暗号化部130は、コンテンツデータベース132から、記録対象のコンテンツに関するデータファイル、例えば、記録対象のコンテンツ鍵ファイル(Kt)を読み出し、当該コンテンツ鍵ファイル(Kt)を暗号化(encrypt)する。例えば、暗号化部130は、所定の暗号化方式に従い、メディアID、秘密鍵及びBNを用いて、コンテンツ鍵ファイル(Kt)を暗号化する。
【0081】
データ記録部134は、暗号化部130により暗号化されたコンテンツ鍵ファイル(EncKt)を、リムーバブルメディア20のフラッシュメモリ21の通常のデータ記憶領域22に記録する。ホスト装置10に装着されたリムーバブルメディア20は、ホスト装置10の外部記憶装置に相当するので、ホスト装置10のデータ記録部134は、リムーバブルメディア20に、暗号化されたコンテンツ鍵ファイル(EncKt)等のデータを直接書き込むことが可能である。また、かかるコンテンツ鍵ファイル(Kt)の記録時には、データ記録部134は、当該コンテンツに関する他のデータファイル、例えば、コンテンツ自体のファイル、ライセンスを表すファイルなどを、リムーバブルメディア20に同時に記録してもよい。
【0082】
ハッシュ計算部136は、所定のハッシュ関数を用いて、上記暗号化されたコンテンツ鍵ファイル(EncKt)のハッシュ値を計算する。このハッシュ値は、上述したContent Token(CT)である。MAC値計算部138は、上記認証部122から受け取ったセッション鍵Ksを用いて、ハッシュ計算部136により生成されたハッシュ値(CT)のMAC値(Dm2)を計算する。ノンス記録要求部140は、リムーバブルメディア20に対して、ノンス記録要求(上記リムーバブルメディア20にて生成されたBNの記録を要求するコマンド)を送信する。このノンス記録要求には、ハッシュ計算部136により生成されたハッシュ値(CT)と、MAC値計算部138により生成されたCTのMAC値(Dm2)をリムーバブルメディア20とが含まれる。
【0083】
ノンス記録要求受信部212は、ホスト装置10から、CTと当該CTのMAC値(Dm2)を含むノンス記録要求を受信する。検証部214は、上記認証部122から受け取ったセッション鍵Ksを用いて、当該受信したCTのMAC値を計算する。さらに、検証部214は、当該計算したMAC値と、上記受信したMAC値(Dm2)とを照合し、両者が一致すれば、当該受信したCTが正当であると判定する。一致しない場合には、CTが改竄された可能性があるので、記録処理を終了する。
【0084】
上記検証部214によりCTが正常であると検証された場合には、ノンス記録部216は、上記ノンス生成部206により生成された最新のノンス(BN)と、上記ホスト装置10から受信したハッシュ値(CT)とを相互に関連づけて、フラッシュメモリ21のデータ管理領域23に記録する。
【0085】
以上までの処理により、記録対象のコンテンツに関するデータファイルが、リムーバブルメディア20のフラッシュメモリ21にセキュアに記録され、この記録処理に関するノンス(BN)及びハッシュ値(CT)も、フラッシュメモリ21にセキュアに記録される。
【0086】
次に、ホスト装置10が、上記のようにリムーバブルメディア20に記録されたコンテンツを利用(例えば、再生、コピー、移動など)するときには、ユーザは、ホスト装置10に、リムーバブルメディア20に記憶されたコンテンツの利用指示を入力する。ホスト装置10の送信要求部142は、かかる利用指示に応じて、リムーバブルメディア20に記憶されているノンス(BN)及びハッシュ値(CT)の送信要求(当該データの送信を要求するためのコマンド)をリムーバブルメディア20に送信する。このとき、送信要求部142は、ホスト装置10においてユーザ指定された利用対象のコンテンツに関するBT及びCTを送信するように、リムーバブルメディア20に要求する。なお、BNとCTの送信要求は、一つのコマンドで同時に行ってもよいし、2つのコマンドを用いて別々のタイミングで行ってもよい。
【0087】
リムーバブルメディア20の送信要求受信部218は、ホスト装置10から、上記送信要求を受信する。この送信要求の受信に応じて、MAC値計算部220は、フラッシュメモリ21から、指定されたコンテンツに関するBNとCTとを読み出し、上記認証部202から受け取ったセッション鍵Ksを用いて、当該BNのMAC値(Dm3)と当該CTのMAC値(Dm4)をそれぞれ計算する。管理情報送信部222は、上記送信要求の受信に応じて、フラッシュメモリ21から、指定されたコンテンツに関するBNとCTとを読み出す。そして、管理情報送信部222は、当読み出したBN及びCTと、上記MAC値計算部220により生成されたBNのMAC値(Dm3)及びCTのMAC値(Dm4)とを、ホスト装置10に送信する。
【0088】
ホスト装置10の管理情報受信部144は、リムーバブルメディア20から、上記BN、CT、MAC値(Dm3)、(Dm4)を受信する。検証部146は、上記認証部122から受け取ったセッション鍵Ksを用いて、当該受信したBNのMAC値とCTのMAC値をそれぞれ計算する。さらに、検証部146は、当該計算したBNのMAC値と、上記受信したMAC値(Dm3)とを照合し、両者が一致すれば、当該受信したBNが正当であると判定する。一致しない場合には、BNが改竄された可能性があるので、記録処理を終了する。同様に、検証部146は、上記計算したCTのMAC値と、上記受信したMAC値(Dm4)とを照合し、両者が一致すれば、当該受信したCTが正当であると判定する。一致しない場合には、CTが改竄された可能性があるので、記録処理を終了する。
【0089】
データ取得部148は、リムーバブルメディア20のフラッシュメモリ21から、利用対象のコンテンツに関する暗号化されたデータファイル、例えば、暗号化されたコンテンツ鍵ファイル(EncKt)を取得する。ホスト装置10はリムーバブルメディア20に直接アクセスできるので、データ取得部148は、リムーバブルメディア20のフラッシュメモリ21に記憶されているデータファイルを読み出すことができる。
【0090】
ハッシュ計算部150は、上記データ取得部148により取得されたデータファイルのハッシュ値(CT’)を計算する。そして、ハッシュ値照合部152は、上記管理情報受信部144により受信されたハッシュ値(CT)と、ハッシュ値計算部130により計算されたハッシュ値(CT’)とを照合して、両ハッシュ値が一致するか否かを判定する。この結果、両ハッシュ値(CT)、(CT’)が一致しない場合には、CTが改竄された可能性があるので、コンテンツの利用処理を終了する。一方、両ハッシュ値(CT)、(CT’)が一致する場合には、リムーバブルメディア20から受信したハッシュ値(CT)が、データ改竄のない正当なものであると判定できる。
【0091】
後者の場合には、復号部154は、上記データ取得部124により取得された暗号化データファイル、例えば、暗号化されたコンテンツ鍵ファイル(EncKt)を復号(decrypt;暗号解読)し、復号データを出力する。例えば、復号部154は、所定の暗号化方式に従い、上記管理情報受信部144により受信したBN、メディアID、秘密鍵を用いて、コンテンツ鍵ファイル(Kt)を復号する。この復号データは、コンテンツを利用(例えば再生)するコンテンツ利用部(図示せず。)に提供される。復号部154は、暗号化されたコンテンツ鍵ファイル(EncKt)を復号することで、復号データとして、コンテンツ鍵ファイル(Kt)を得ることができる。従って、このコンテンツ鍵ファイル(Kt)を用いて、暗号化コンテンツを復号(decrypt)することで、復号したコンテンツをデコードして再生できるようになる。
【0092】
以上のように、本実施形態にかかる記録システム1では、コンテンツに関するデータファイルの記録時に、リムーバブルメディア20が発行したノンス(BN)を用いて、当該データファイルを暗号化するとともに、当該データファイルと、上記BN及び当該データファイルのハッシュ値(CT)とを関連づけてリムーバブルメディア20に記録しておく。これにより、BNによって、最初に記録されたリムーバブルメディア20にデータファイルをバインドして、メディア間でのコンテンツの不正コピーを防止できる。そして、コンテンツの利用時には、リムーバブルメディア20から読み出したデータファイルのハッシュ値(CT’)を計算し、このハッシュ値(CT’)と、リムーバブルメディア20から読み出したCTとを照合する。これにより、当該データファイルに対する改竄(不正な巻き戻しなど)を検出でき、コンテンツの不正利用を防止できる。
【0093】
次に、図6を参照して、本実施形態にかかる記録システム1におけるコンテンツの記録方法について説明する。図6は、本実施形態にかかる記録システム1における記録方法を示すシーケンス図である。
【0094】
図6に示すように、ホスト装置10がコンテンツをリムーバブルメディア20に記録する際に、まず、ホスト装置10とリムーバブルメディア20とが、相互認証を行って、セッション鍵Ksを共有する(ステップS10)。この認証後、ホスト装置10は、リムーバブルメディア20から、リムーバブルメディア20に固有に付与されたメディアIDを取得する(ステップS12)。このとき、リムーバブルメディア20側でメディアIDのMAC値を計算し、このMAC値をメディアIDに付加してホスト装置10に送信してもよい。これにより、メディアIDの改竄を防止することができる。
【0095】
次いで、ホスト装置10は、リムーバブルメディア20に対して、ノンス生成要求を送信し、Bindhig Nonce(BN)の生成を要求する(ステップS14)。リムーバブルメディア20は、ホスト装置10からノンス生成要求を受信すると、乱数データ又はカウンター値等のBNを生成する(ステップS16)。このBNは、当該記録処理に固有の値であり、当該記録処理が終了すれば、同じ値が生成されることはない。さらに、リムーバブルメディア20は、改竄を検出できるようにBNのMAC値(Dm)を計算して(ステップS18)、BNにMAC値(Dm)を付加して、ホスト装置10に返信する(ステップS20)。このMAC値の計算には、例えば、上記S10で共有されたセッション鍵Ksを鍵としてAES(Advanced Encryption Standard)暗号を用いたCBC−MAC(Cipher Block Chaining−MAC)、O−MAC又はHMAC(Keyed−Hashing for Message Authentication code)などの関数を用いることができる。以下の、MAC値の計算でも同様である。
Dm=MAC(Ks、Binding Nonce)
【0096】
次いで、ホスト装置10は、セッション鍵Ksを用いてBNのMAC値(Dm’)を計算し、リムーバブルメディア20から送信されたMAC値(Dm)と、計算したMAC値(Dm’)が一致すること(Dm’=Dm)を確認する(ステップS22)。これにより、リムーバブルメディア20から取得したBNが改竄されていないことを確認できる。DmとDm’が一致しない場合には、BNが改竄されている可能性があるので、記録処理を継続してはならない。
Dm’=MAC(Ks、Binding Nonce)
【0097】
次いで、ホスト装置10は、リムーバブルメディア20から取得したBNを用いて、記録対象のコンテンツに関するデータファイル(例えばコンテンツ鍵ファイル(Kt))を暗号化する(ステップS24)。例えば、ホスト装置10は、上記S12で取得したメディアIDと、S20で取得したBNと、秘密鍵Kmを用いて、コンテンツ鍵ファイル(Kt)を暗号化する。秘密鍵Kmは、予め別の方法によって、複数のホスト装置10間で共有されたもの(例えばMKB)を使用できる。また、暗号化の方法としては、例えば、以下のような「AACS Recordable Video Book」の方式を用いることができる。
EncKt=AES−128E(Kpa、Kt xor AES−H(Usage))
Kpa=AES−G(Km、Binding Nonce)
【0098】
なお、ここで暗号化する対象としては、上記コンテンツ鍵(Kt)の例に限定されず、コンテンツ自身、コンテンツの利用条件を定めたライセンス、コンテンツの識別情報など、コンテンツに関する任意のデータであってもよい。
【0099】
その後、ホスト装置10は、上記暗号化したデータファイルを、リムーバブルメディア20のフラッシュメモリ21の通常のデータ記憶領域22に記録する(ステップS26)。記録対象のコンテンツ鍵(Kt)が複数ある場合、ホスト装置10は、複数の暗号化されたコンテンツ鍵(EncKt)の集合を1つのコンテンツ鍵ファイル(EncKt1・・・EncKtn)にまとめて、このファイルをリムーバブルメディア20に記録してもよい。
【0100】
次いで、ホスト装置10は、上記暗号化されたコンテンツ鍵ファイル(EncKt)1・・・EncKtnのハッシュ値を計算する(ステップS28)。このハッシュ値が、上記Content Token(CT)である。このときのハッシュ計算方法としては、例えば、例えば、SHA−1(Secure Hash Algorithm 1)等のハッシュ関数を用いてもよいし、或いは、ホスト装置10が保有する秘密鍵Kmを鍵としたMAC値を用いてもよい。
Content Token=Hash(EncKt1|| … ||EncKtn)
【0101】
さらに、ホスト装置10は、セッション鍵Ksを用いて、上記ハッシュ計算して得られたCTのMAC値(Dm2)を計算する(ステップS30)。このとき、以下の式1のように、CTのみのハッシュ値Dm2を求めてもよいが、式2のように、上記CTとBNとを合わせた値のMAC値(Dm2)を計算する方が好ましい。これにより、MAC値(Dm2)は、BNとCTの双方を反映した値となるので、後述するように、最新のBNにのみ関連づけて、コンテンツを記録できるので、コンテンツの書き戻しを防止でき、安全性が高まる。
Dm2=MAC(Ks、Content Token)・・・式1
又は
Dm2=MAC(Ks、Binding Nonce||Content Token) ・・・式2
【0102】
よって、上記相互認証によりセッション鍵Ksの項後に、リムーバブルメディア20において複数のBNが生成された場合に、後述のS34で、最新のBNについてのCTの検証が可能となり、安全性が向上する。
【0103】
その後、ホスト装置10は、上記生成されたBNをリムーバブルメディア20に記録することを要求するためのノンス記録要求をリムーバブルメディア20に送信する(ステップS32)。このノンス記録要求は、上記S28で計算したCTと、上記S30で生成したMAC値(Dm2)を含む。
【0104】
リムーバブルメディア20は、ホスト装置10からノンス記録要求(CTとDm2)を受信すると、MAC値の検証を行う(ステップS34)。即ち、リムーバブルメディア20は、セッション鍵Ksを用いて、上記ホスト装置10から受信したCTのMAC値(Dm2’)・・(式3)、又は当該CTとBNの合わせた値のMAC値(Dm2’)・・(式4)を計算し、ホスト装置10から送信されたMAC値(Dm2)と、計算したMAC値(Dm2’)が一致すること(Dm2’=Dm2)を確認する。これにより、ホスト装置10から取得したCTが改竄されていないことを確認できる。Dm2とDm2’が一致しない場合には、CTが改竄されている可能性があるので、記録処理を継続してはならず、上記コンテンツ鍵ファイルをフラッシュメモリ21から削除する。
Dm2’=MAC(Ks、Content Token) ・・・式3
又は
Dm2’=MAC(Ks、Binding Nonce||Content Token) ・・・式4
【0105】
この結果、両MAC値(Dm2)、(Dm2’)が一致することを確認できた場合には、リムーバブルメディア20は、上記S16で生成したBTとともに、上記S32でホスト装置10から受信したCTを、フラッシュメモリ21のデータ管理領域23に関連づけて記録する(ステップS36)。なお、もしBNと対応するCTが既にフラッシュメモリ21に記録されている場合には、上書きはしない。これにより、同一のBNの重複登録を防止できる。
【0106】
以上のように、本実施形態にかかる記録方法では、リムーバブルメディア20にコンテンツ鍵(Kt)等のデータファイルを記録する際に、リムーバブルメディア20でユニークなBNを払い出し、このBNでデータファイル(Kt)を暗号化し、この暗号化したデータファイル(EncKt)と、BNとを1:1対応で関連づけて安全に記録する。このとき、BNとデータファイルのみを記録してしまうと、両者はフラッシュメモリ21の相異なる記憶領域22、23に記録されるので、何の関連性もなくなってしまう。そこで、本実施形態では、当該データファイルのハッシュ値であるCTを、BNに関連づけてデータ管理領域23に記録する。このCTは、当該データファイル自体を表す識別情報として機能するものである。従って、CTをBNに関連づけてデータ管理領域23に記録しておくことにより、データ管理領域23に記録されるBNと、通常のデータ記憶領域22に記録されるデータファイルとを関連づけることができる。
【0107】
なお、この観点からは、CTの代わりに、コンテンツ鍵(Kt)等のデータファイル自体を、データ管理領域23に記録しても、BNとデータファイルとを関連づけることができる。しかし、リムーバブルメディア20が有するセキュアなデータ管理領域23は、限られた所定サイズの記憶領域(例えば数10kバイト)であるので、データ量を所定サイズ以下に抑える必要がある。そこで、本実施形態のように、データファイルのハッシュ値であるCTをデータ管理領域23に記録することで、データ管理領域23のデータ量を削減できる。
【0108】
以上のように、リムーバブルメディア20にBNとCTとを関連づけて記録することで、従来の記録方式(図1)のようにコンテンツ鍵(Kt)等のデータファイルとBNとを同時に同一セクタに記録する必要がなくなり、データファイルとBNとを別々の記録領域に異なるタイミングで記録できる。よって、記録するデータファイルのファイル形式の自由度が高まる。
【0109】
また、コンテンツ鍵(Kt)等のデータファイルを暗号化するときには(S24)、メディアIDとコンテンツ鍵(Kt)とは暗号的に関連付けられる。これにより、データファイルを利用する際には、そのメディアIDを有するリムーバブルメディア20に当該データファイルが記録されている状態でのみ、利用可能である。このように、データファイルをリムーバブルメディア20にバインドできるので、メディア間での当該データファイルの不正なコピーを防止できる。
【0110】
また、上記S30でCTのMAC値を計算する際に、CTとBNとを合わせた値のMAC値(Dm2)を計算し、上記S34でこのMAC値(Dm2)の正当性を検証することが好ましい。この理由は、次の通りである。即ち、CTとBNを合わせた値のMAC値(Dm2)を用いてチェックすることで、リムーバブルメディア20で生成された最新のBNを、CTと関連づけてリムーバブルメディア20に記録できる。これは、例えば、ホスト装置10とリムーバブルメディア20との間で1つのセッション鍵Ksの共有中に、リムーバブルメディア20で複数のBNを生成した場合(つまり、コンテンツの記録処理を複数回行った場合)に有効となる。この場合、先に払い出した古いBNが有効であると、リムーバブルメディア20からコンテンツをムーブした後に、当該古いBNを用いて、書き戻すことが可能となってしまう。これを防止するためには、リムーバブルメディア20で生成された最新のBNのみを有効にする必要がある。そこで、リムーバブルメディア20で生成された最新のBNが1回のみ有効となるように、BNとCTの記録時に、BNとCTとを合わせた値のMAC値(Dm2)で検証することが好ましい。
【0111】
次に、図7を参照して、本実施形態にかかる記録システム1におけるコンテンツの利用方法について説明する。図7は、本実施形態にかかる記録システム1におけるコンテンツの利用方法を示すシーケンス図である。
【0112】
図7に示すように、ホスト装置10がリムーバブルメディア20に記憶されたコンテンツを利用する際に、まず、ホスト装置10とリムーバブルメディア20とが、相互認証を行って、セッション鍵Ksを共有する(ステップS50)。この認証後、ホスト装置10は、リムーバブルメディア20から、リムーバブルメディア20に固有に付与されたメディアIDを取得する(ステップS52)。このとき、リムーバブルメディア20側でメディアIDのMAC値を計算し、このMAC値をメディアIDに付加してホスト装置10に送信してもよい。これにより、メディアIDの改竄を防止することができる。
【0113】
次いで、ホスト装置10は、リムーバブルメディア20に対して、BNの送信要求を送信し、リムーバブルメディア20に記憶されているBNの送信を要求する(ステップS54)。リムーバブルメディア20は、ホスト装置10から送信要求を受信すると、フラッシュメモリ21のデータ管理領域23に記憶されているBNを読み出す(ステップS56)。このとき、リムーバブルメディア20は、ホスト装置10により指定されたコンテンツに関するBNを読み出す。図7には示していないが、コンテンツ利用時には、ホスト装置10は、リムーバブルメディア20に記憶されているコンテンツ一覧を取得して表示し、このコンテンツ一覧からユーザ選択されたコンテンツを利用対象のコンテンツとして指定する。このように、ホスト装置10は、予めリムーバブルメディア20に記録されているコンテンツを把握しており、このうちからユーザ選択されたコンテンツに対応するBNの送信を要求する。
【0114】
さらに、リムーバブルメディア20は、改竄を検出できるように、上記S50で共有されたセッション鍵Ksを用いて、上記フラッシュメモリ21から読み出したBNのMAC値(Dm3)を計算する(ステップS58)。その後、リムーバブルメディア20は、当該BNにMAC値(Dm3)を付加して、ホスト装置10に返信する(ステップS60)。
Dm3=MAC(Ks、Binding Nonce)
【0115】
次いで、ホスト装置10は、リムーバブルメディア20からBNを受信すると、セッション鍵Ksを用いて、BNのMAC値(Dm3’)を計算し、リムーバブルメディア20から送信されたMAC値(Dm3)と、計算したMAC値(Dm3’)が一致することを確認する(ステップS62)。これにより、リムーバブルメディア20から取得したBNが改竄されていないことを確認できる。Dm3とDm3’が一致しない場合には、BNが改竄されている可能性があるので、コンテンツの利用処理を継続してはならない。
Dm3’=MAC(Ks、Binding Nonce)
【0116】
次いで、ホスト装置10は、リムーバブルメディア20に対して、CTの送信要求を送信し、リムーバブルメディア20に記憶されているCTの送信を要求する(ステップS64)。リムーバブルメディア20は、ホスト装置10から送信要求を受信すると、フラッシュメモリ21のデータ管理領域23に記憶されているCTを読み出す(ステップS66)。このとき、リムーバブルメディア20は、ホスト装置10により指定されたコンテンツに関するCT(即ち、上記S56で読み出されたBNに関連づけられたCT)を読み出す。
【0117】
さらに、リムーバブルメディア20は、改竄を検出できるように、上記S50で共有されたセッション鍵Ksを用いて、上記フラッシュメモリ21から読み出したCTとBNを合わせた値のMAC値(Dm4)を計算する(ステップS68)。その後、リムーバブルメディア20は、当該CTにMAC値(Dm4)を付加して、ホスト装置10に返信する(ステップS70)。
Dm4=MAC(Ks、Binding Nonce||Content Token)
【0118】
次いで、ホスト装置10は、リムーバブルメディア20からCTを受信すると、セッション鍵Ksを用いて、BNのMAC値(Dm4’)を計算し、リムーバブルメディア20から送信されたMAC値(Dm4)と、計算したMAC値(Dm4’)が一致することを確認する(ステップS72)。これにより、リムーバブルメディア20から取得したCTが改竄されていないことを確認できる。Dm4とDm4’が一致しない場合には、CTが改竄されている可能性があるので、コンテンツの利用処理を継続してはならない。
Dm4’=MAC(Ks、Binding Nonce||Content Token)
【0119】
その後、ホスト装置10は、リムーバブルメディア20から、フラッシュメモリ21の通常のデータ記憶領域22に記憶されている利用対象のコンテンツに関するデータファイルを取得する(ステップS74)。このデータファイルは、例えば、BN等で暗号化されたコンテンツ鍵(Kt)のファイル、Ktで暗号化されたコンテンツのファイル、ライセンスなどである。以下では、コンテンツ鍵ファイル(Kt)を取得した例について説明する。
【0120】
次いで、ホスト装置10は、上記リムーバブルメディア20から取得したコンテンツ鍵ファイル(EncKt1・・・EncKtn)のハッシュ値(CT’)を計算する(ステップS76)。このハッシュ値を、Content Token’(CT’)と称する。
Content Token’=Hash(EncKt1|| … ||EncKtn)
【0121】
さらに、ホスト装置10は、上記S76で計算したハッシュ値(CT’)と、上記S70でリムーバブルメディア20から受信したCTとを照合し、両ハッシュ値(CT)、(CT’)が一致するか否かを確認する(ステップS78)。一致しない場合には、リムーバブルメディア20から受信したCTが改竄されている可能性があるので、コンテンツの利用処理を継続してはならない。
【0122】
両ハッシュ値(CT)、(CT’)が一致する場合に、ホスト装置10は、リムーバブルメディア20から取得したBNを用いて、暗号化されたコンテンツ鍵(Kt)のデータファイルを復号(decrypt)する(ステップS80)。例えば、ホスト装置10は、上記S52で取得したメディアIDと、上記S60で取得したBNと、秘密鍵Kmを用いて、コンテンツ鍵(Kt)を復号する。秘密鍵Kmは、予め別の方法によって、複数のホスト装置10間で共有されたもの(例えばMKB)を使用できる。また、復号の方法としては、上述した暗号化の方法と同様に、例えば、次のような「AACS Recordable Video Book」の方式を用いることができる。
Kt=AES−128D(Kpa、EncKt) xor AES−H(Usage))
Kpa=AES−G(Km、Binding Nonce)
【0123】
以上のようにして、コンテンツ鍵(Kt)の復号データが得られる。この結果、当該復号されたコンテンツ鍵(Kt)を用いて、リムーバブルメディア20内に記憶されている利用対象の暗号化コンテンツを利用できる。詳細には、ホスト装置10は、当該利用対象のコンテンツのライセンスを評価する。この結果、ライセンスで定められた利用条件(例えば、再生回数、再生期限、コピー回数など)を満たす場合には、ホスト装置10は、リムーバブルメディア20から暗号化コンテンツを読み出し、上記復号したコンテンツ鍵(Kt)を用いて暗号化コンテンツを復号(decrypt)する。さらに、ホスト装置10は、復号したコンテンツをデコードして、再生データの映像/音声を出力装置109から出力する。このようにして、ホスト装置10は、リムーバブルメディア20に記憶(バインド)されたコンテンツのうち、ユーザ選択されたコンテンツを利用することができる。
【0124】
上記のようなコンテンツ利用方法では、ホスト装置10は、リムーバブルメディア20に記録されているBNと、コンテンツに関するデータファイル(例えばコンテンツ鍵ファイル(Kt))のハッシュ値(CT)とを安全に取得できる。そして、ホスト装置10は、取得したデータファイルのハッシュ値(CT’)を計算し、当該ハッシュ値(CT’)と、リムーバブルメディア20に記録されているハッシュ値(CT)とを照合することで、リムーバブルメディア20に記録されているデータファイルの不正な改竄及び巻き戻しを検出できる。この結果、不正な改竄及び巻き戻しを検出した場合には、コンテンツの利用を禁止することで、これらの不正行為を防止して著作権を保護できる。
【0125】
次に、図8及び図9を参照して、本発明の第2の実施形態にかかる記録システム2について説明する。図8は、本発明の第2の実施形態にかかる記録システム2を示す説明図である。図9は、同実施形態にかかる記憶装置である携帯型再生装置30の構成を示すブロック図である。
【0126】
上記第1の実施形態では、記憶装置として、メモリカードなどのリムーバブルメディア20の例を挙げて説明した。このリムーバブルメディア20は、コンテンツ等のデータを記憶媒体に記憶する機能を有するが、記憶媒体に記憶したコンテンツを再生する機能を有さないデバイスであった。しかし、本発明の記憶装置は、かかる例に限定されず、例えば、記憶媒体と、当該記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置で構成することもできる。このコンテンツ処理装置は、ドライブ一体型の記憶媒体を備え、この記憶媒体に記憶されたコンテンツを処理(例えば再生処理)する機能を有する電子デバイスである。かかるコンテンツ処理装置は、例えば、携帯型映像/音声プレーヤ、PDA、携帯電話などの携帯端末や、デジタルカメラ、デジタルビデオカメラ、HDDレコーダー等の記録再生装置などを含む。以下では、コンテンツ処理装置として、携帯型再生装置(携帯型映像/音声プレーヤ)の例を挙げて説明する。
【0127】
図8に示すように、第2の実施形態にかかる記録システム2は、上記ホスト装置10(情報処理装置に相当する。)と、このホスト装置10に接続可能な携帯型再生装置30とから構成される。携帯型再生装置30は、USBケーブル等の有線ケーブルや、無線LAN等の無線通信網を介して、ホスト装置10に接続される。この携帯型再生装置30は上記リムーバブルメディア20と同余に、AACS仕様に従ったBNの生成処理や、記録媒体へのBN及びCTの記録処理を実行する。この携帯型再生装置30の構成について以下に説明する。
【0128】
図9に示すように、携帯型再生装置30は、制御装置31と、入力装置32と、記憶媒体であるハードディスク33と、通信装置34と、認証装置35と、ノンス生成装置36と、検証装置37と、ドライブ38と、再生装置39ち、表示装置40と、音声出力装置41を備える。
【0129】
制御装置30は、マイクロコントローラなどで構成される。この制御装置30は、携帯型再生装置30にインストールされたプログラムに従って動作し、携帯型再生装置30内の各装置を制御する。入力装置31は、例えば、タッチパネル、ボタン、スイッチ、レバー等の操作手段と、入力信号を生成して制御装置31に出力する入力制御回路などから構成されている。携帯型再生装置30のユーザは、この入力装置31を操作することにより、携帯型再生装置30に対して各種のデータを入力したり、処理動作を指示したりすることができる。
【0130】
ハードディスク33は、携帯型再生装置30における記憶媒体であり、各種のデータを記憶する。ドライブ38は、ハードディスク33に対してデータを読み書きするための駆動装置である。このハードディスク33とドライブ38は、HDDを構成する。このHDDには、固有の識別情報であるメディアIDが予め付与されており、このメディアIDはHDD内にセキュアに格納されている。このハードディスク33には、上述したリムーバブルメディア20のフラッシュメモリ21と同様に、コンテンツに関するデータファイルなどを記憶する通常のデータ記憶領域22と、BNとCTとが関連づけて記憶するデータ管理領域23とが設けられる。
【0131】
通信装置34、認証装置35、ノンス生成装置36、検証装置37はそれぞれ、上述したリムーバブルメディア20(図4参照。)の通信装置24、認証装置25、ノンス生成装置26、検証装置27と、略同一の機能構成を有するので、詳細説明は省略する。
【0132】
再生装置39は、コンテンツ鍵(Kt)を用いて暗号化コンテンツを復号(decrypt)する暗号解読装置と、コンテンツをデコードするデコーダ等で構成される。この再生装置39は、ハードディスク33に記憶されたコンテンツを再生する機能を有する。再生装置39により再生されたコンテンツの映像データは、表示装置40に表示され、音声データは音声出力装置41から出力される。
【0133】
かかる構成の携帯型再生装置30は、上記リムーバブルメディア20と同様に図5に示す各機能部を有している。かかる携帯型再生装置30をホスト装置10に接続することで、ホスト装置10が保持するコンテンツを、携帯型再生装置30のハードディスク33に記録することができ、また、携帯型再生装置30に記録されたコンテンツをホスト装置10で利用することができる。かかるホスト装置10と携帯型再生装置30におけるコンテンツの記録及び利用シーケンスは、上記図6及び図7で示したシーケンスと同様であるので、詳細説明は省略する。
【0134】
以上、本発明の第1及び第2の実施形態にかかる記録システム1、2の構成と、当該記録システム1、2におけるコンテンツの記録方法及び利用方法について説明した。本実施形態は、ホスト装置10から、記憶装置であるリムーバブルメディア20又は携帯型再生装置30(以下、「メディア20、30」と総称する。)にコンテンツを記録して、利用するものである。本実施形態によれば、コンテンツの記録処理ごとにユニークに生成するノンス(BN)を、ホスト装置10に安全に送信し、ホスト装置10は、記録対象のコンテンツに関するデータファイルのハッシュ値(CT)を生成し、このCTとBNとを関連づけてメディア20、30に安全に記録する。これにより、メディア20、30に記録されたコンテンツの不正なコピーや巻き戻しを防止することができる。
【0135】
また、本実施形態にかかる記録方式は、記録対象のコンテンツに関するデータファイル(例えば、コンテンツ自体やコンテンツ鍵(Kt)のファイル)のフォーマットに依存せず、かつ、メディア20、30の記録フォーマットにも依存しないようにできるという利点がある。
【0136】
即ち、従来のAASCに準拠したBD等の光ディスクに対する記録方式(図1参照。)では、コンテンツ鍵ファイル(Kt)等のデータファイルとBNを同時に同一セクタに記録するために、BNの生成時に予め、ホスト装置はコンテンツ鍵ファイルを記録する光ディスク上のアドレスを指定する必要があり、メディア(光ディスク)の物理フォーマットに強く依存してしまっていた。このため、データファイルの記録手順が制限されてしまうので、PTPやMTPなどといったファイル単位のアクセス方法を採るメディアに不向きであった。さらに、メディアに記録されたデータファイルが書き換え(変更・削除)られた場合には、このデータファイルに対応するBNも削除しなければならなかった。このため、BNに対応するデータファイルの書き換えを常時監視する必要があった。
【0137】
これに対し、本実施形態にかかる記録方式では、データファイルのハッシュ値(CT)を用いて、BNとで他ファイルとを関連づけるので、データファイルとBNを同時に同一アドレスに記録しなくてもよく、記憶媒体内の別領域22、23に別々のタイミングで記録してもよい。従って、データファイルの記録手順の自由度が高まるので、上記のファイル単位のアクセス方法を採るメディアに対しても好適に適用できる。
【0138】
さらに、本実施形態によれば、BNの生成要求時にホスト装置10は、従来のようにデータファイルを記録するアドレスを予め把握しておく必要がなく、メディアに対してデータファイルの記録と同時にBNも記録するように宣言しておく必要もない。よって、かかる把握や宣言に要する処理を省略でき、装置構成をシンプルにでき、処理負荷を低減できる。
【0139】
加えて、本実施形態では、コンテンツの利用時に、データファイルのハッシュ値(CT)に基づきデータファイルの改竄の検証を行う。従って、メディア20、30に記録されたデータファイルが書き換えられた場合でも、このデータファイルに対応するBNを削除する必要がなく、BNに対応するデータファイルの書き換えを常時監視する必要がない。
【0140】
さらに、本実施形態では、メディア20、30からのコンテンツの一時待避も可能である。つまり、従来の記録方式では、BD上においてBNとデータファイルが一体化して管理されているので、データファイルのみを一時待避(メディアから一旦消去して、その後に、同一ファイルを書き戻す)することができなかった。これに対し、本実施形態にかかる記録方式では、BNはデータ管理領域23に記録され、データファイルと別々に管理されているので、データファイルのみ通常領域から一時待避して書き戻しても、管理領域23に残存しているBDを用いて、当該データファイルの再利用が可能である。
【0141】
また、本実施形態にかかる記録方式では、従来の記録方式のようにBNの生成時にデータファイルを記録するメディアのアドレスを予め把握しておく必要がない。従って、本実施形態にかかる記録方式は、メディア20、30に記録するデータファイルの記録フォーマットに依存しなくて済む。よって、ホスト装置10のアプリケーションによって、データファイルの記録方法を自由に選択できるという利点がある。
【0142】
例えば、本実施形態にかかる記録方式は、メディア20、30上に1つの巨大ファイルを生成し、これを仮想的なファイルシステムとして、この中にコンテンツ鍵ファイルやコンテンツを記録する場合や、コンテンツ鍵ファイルやコンテンツを圧縮して1つのファイルとして記録するような場合などにも、柔軟に対応できる。これについて、図10を参照して具体的に説明する。
【0143】
本実施形態にかかる記録方式によれば、図10(a)に示すように、リムーバブルメディア20にコンテンツ鍵やコンテンツのデータファイルを、一般的なディレクトリ構造でノーマルに記録することができる。また、図10(b)に示すように、コンテンツ鍵やコンテンツなどの複数のデータファイルの集合であるディスクイメージを1つのファイル201にして記録することもできる。さらに、図10(c)に示すように、コンテンツ鍵やコンテンツなどの複数のデータファイルの集合を、Zipなどのファイル圧縮形式で1つのファイル301に圧縮したり、TAR(Tape Archival and Retrieval format)などのアーカイブ形式で1つのファイルにまとめたりして、記録することもできる。
【0144】
以上のように、本実施形態によれば、ファイル単位のアクセス方法を採るメディア20、30に対しても、比較的自由なシーケンスでコンテンツをセキュアに記録することができる。また、メディア上のデータファイルの記録フォーマットに依存しない方式で、コンテンツをセキュアにメディアに記録することができる。
【0145】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0146】
例えば、上記実施形態では、ホスト装置10からメディア20、30に記録されるデータファイルのハッシュ値(即ち、Content Token)として、コンテンツ鍵(Kt)のハッシュ値を用いたが、本発明はかかる例に限定されない。例えば、当該ハッシュ値として、コンテンツ自体、コンテンツ鍵、ライセンス、コンテンツの識別情報、若しくはこれらの組合せなど、コンテンツに関する任意のデータファイルのハッシュ値を用いてもよい。
【図面の簡単な説明】
【0147】
【図1】従来のAACS方式による光ディスクへのコンテンツの記録方法を示すシーケンス図である。
【図2】本発明の第1の実施形態にかかる記録システムを、従来の光ディスクをメディアとした記録システムと比較して示す説明図である。
【図3】同実施形態にかかるホスト装置の構成を示すブロック図である。
【図4】同実施形態にかかるリムーバブルメディアの構成を示すブロック図である。
【図5】同実施形態にかかるホスト装置とリムーバブルメディアの機能構成を示すブロック図である。
【図6】同実施形態にかかる記録システムにおける記録方法を示すシーケンス図である。
【図7】同実施形態にかかる記録システムにおけるコンテンツの利用方法を示すシーケンス図である。
【図8】本発明の第2の実施形態にかかる記録システムを示す説明図である。
【図9】同実施形態にかかる記憶装置である携帯型再生装置の構成を示すブロック図である。
【図10】本発明の第1の実施形態にかかるリムーバブルメディアに記録されたファイル例を示す説明図である。
【符号の説明】
【0148】
1、2 記録システム
10 ホスト装置(情報処理装置)
20 リムーバブルメディア(記憶装置)
21 フラッシュメモリ(記憶媒体)
22 通常のデータ記憶領域
23 セキュアなデータ管理領域
24 通信装置
25 認証装置
26 ノンス生成装置
27 検証装置
30 携帯型再生装置(記憶装置)
33 ハードディスク(記憶媒体)
38 ドライブ
122 認証部
124 ノンス生成要求部
126 ノンス受信部
128 検証部、
130 暗号化部
132 コンテンツデータベース
134 データ記録部
136 ハッシュ計算部
138 MAC値計算部
140 ノンス記録要求部
142 送信要求部
144 管理情報受信部
146 検証部
148 データ取得部
150 ハッシュ計算部
152 ハッシュ値照合部
154 復号部
202 認証部
204 ノンス生成要求受信部
206 ノンス生成部
208 MAC値計算部
210 ノンス送信部
212 ノンス記録要求受信部
214 検証部
216 ノンス記録部
218 送信要求受信部
220 MAC値計算部
222 管理情報送信部

【特許請求の範囲】
【請求項1】
記憶媒体を内蔵した記憶装置と、前記記憶装置を接続可能な情報処理装置とからなり、前記情報処理装置が保持するコンテンツを前記記憶装置に記録する記録システムであって:
前記コンテンツを前記記憶装置に記録するに際し、
前記情報処理装置は、前記記憶装置にノンス生成要求を送信し、
前記記憶装置は、前記情報処理装置から前記ノンス生成要求を受信すると、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成して、前記情報処理装置に送信し、
前記情報処理装置は、前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録し、
前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値を計算し、前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信し、
前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記ハッシュ値と前記ノンスとを関連づけて、前記記憶媒体に記録することを特徴とする、記録システム。
【請求項2】
前記記憶装置に記憶されている前記コンテンツを利用するに際し、
前記情報処理装置は、前記記憶装置に前記ノンス及び前記ハッシュ値の送信要求を送信し、
前記記憶装置は、前記情報処理装置から前記送信要求を受信すると、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を読み出して前記情報処理装置に送信し、
前記情報処理装置は、前記記憶装置から前記記憶媒体に記憶されている前記暗号化されたデータファイルを取得し、
前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値を計算し、当該計算したハッシュ値と、前記記憶装置から受信した前記ハッシュ値とを照合し、当該両ハッシュ値が一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号することを特徴とする、請求項1に記載の記録システム。
【請求項3】
前記コンテンツを前記記憶装置に記録するに際し、
前記情報処理装置と前記記憶装置は、相互認証を行ってセッション鍵を共有し、
前記ノンス記録要求を前記記憶装置に送信する際に、前記情報処理装置は、前記セッション鍵を用いて、前記ハッシュ値のMAC値を計算し、前記ハッシュ値と前記ハッシュ値のMAC値とを含む前記ノンス記録要求を前記記憶装置に送信し、
前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値を計算し、当該計算したMAC値と、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値とが一致する場合に、前記ハッシュ値と前記ノンスとを関連づけて、前記記憶媒体に記録することを特徴とする、請求項1に記載の記録システム。
【請求項4】
前記情報処理装置及び前記記憶装置はそれぞれ、前記ハッシュ値のMAC値を計算する際に、前記セッション鍵を用いて、前記ハッシュ値と前記ノンスとを合わせた値のMAC値を計算することを特徴とする、請求項3に記載の記録システム。
【請求項5】
前記記憶装置の前記記憶媒体は、記憶領域として、通常のデータ記憶領域と、セキュアなデータ管理領域とを有しており、
前記暗号化されたデータファイルは前記通常のデータ記憶領域に記録され、前記ハッシュ値及び前記ノンスは前記データ管理領域に記録されることを特徴とする、請求項1に記載の記録システム。
【請求項6】
前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアであることを特徴とする、請求項1に記載の記録システム。
【請求項7】
前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置であることを特徴とする、請求項1に記載の記録システム。
【請求項8】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むことを特徴とする、請求項1に記載の記録システム。
【請求項9】
記憶媒体を内蔵した記憶装置を接続可能であり、自身が保持するコンテンツを前記記憶装置に記録する情報処理装置であって:
前記記憶装置にノンス生成要求を送信するノンス生成要求部と;
前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信部と;
前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化部と;
前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録するデータ記録部と;
前記暗号化されたデータファイルのハッシュ値を計算するハッシュ計算部と;
前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信するノンス記録要求部と;
を備えることを特徴とする、情報処理装置。
【請求項10】
前記記憶装置に前記ノンス及び前記ハッシュ値の送信要求を送信する送信要求部と;
前記記憶装置から前記送信要求の応答として、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を受信する管理情報受信部と;
前記記憶装置から前記記憶媒体に記憶されている前記暗号化されたデータファイルを取得するデータ取得部と;
前記記憶装置から取得した前記暗号化されたデータファイルのハッシュ値を計算するハッシュ計算部と;
当該計算したハッシュ値と、前記記憶装置から受信した前記ハッシュ値とを照合するハッシュ値照合部と;
当該両ハッシュ値が一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号する復号部と;
をさらに備えることを特徴とする、請求項9に記載の情報処理装置。
【請求項11】
前記記憶装置と相互認証を行ってセッション鍵を共有する認証部と;
前記セッション鍵を用いて、前記ハッシュ値のMAC値を計算するMAC値計算部と;
をさらに備え、
前記ノンス記録要求部は、前記ハッシュ値と前記ハッシュ値のMAC値とを含む前記ノンス記録要求を前記記憶装置に送信することを特徴とする、請求項9に記載の情報処理装置。
【請求項12】
前記MAC値計算部は、前記ハッシュ値のMAC値を計算する際に、前記セッション鍵を用いて、前記ハッシュ値と前記ノンスとを合わせた値のMAC値を計算することを特徴とする、請求項11に記載の情報処理装置。
【請求項13】
前記記憶装置の前記記憶媒体は、記憶領域として、通常のデータ記憶領域と、セキュアなデータ管理領域とを有しており、
前記暗号化されたデータファイルは前記通常のデータ記憶領域に記録され、前記ハッシュ値及び前記ノンスは前記データ管理領域に記録されることを特徴とする、請求項9に記載の情報処理装置。
【請求項14】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むことを特徴とする、請求項9に記載の情報処理装置。
【請求項15】
情報処理装置に接続可能であり、前記情報処理装置が保持するコンテンツが記録される記憶装置であって:
前記情報処理装置からノンス生成要求を受信するノンス生成要求受信部と;
前記ノンス生成要求の受信に応じて、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成するノンス生成部と;
前記ノンスを前記情報処理装置に送信するノンス送信部と;
前記情報処理装置によって前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルが記録される記録媒体と;
前記情報処理装置から、前記暗号化されたデータファイルのハッシュ値を含むノンス記録要求を受信するノンス記録要求受信部と;
前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記ハッシュ値と、前記ノンス生成部が生成した前記ノンスとを関連づけて、前記記憶媒体に記録するノンス記録部と;
を備えることを特徴とする、記憶装置。
【請求項16】
前記情報処理装置から、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値の送信要求を受信する送信要求受信部と;
前記送信要求の受信に応じて、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を読み出して前記情報処理装置に送信する管理情報送信部と;
をさらに備えることを特徴とする、請求項15に記載の記憶装置。
【請求項17】
前記情報処理装置と相互認証を行ってセッション鍵を共有する認証部をさらに備え、
前記ノンス記録要求受信部は、前記情報処理装置によって前記セッション鍵を用いて計算された前記ハッシュ値のMAC値と、前記ハッシュ値とを含む前記ノンス記録要求を受信し、
前記ノンス記録要求の受信に応じて、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値を計算し、当該計算したMAC値と、前記ノンス記録要求に含まれる前記ハッシュ値のMAC値とが一致するか否かを検証する検証部をさらに備え、
前記ノンス記録部は、前記MAC値が一致する場合に、前記ハッシュ値と前記ノンスとを関連づけて、前記記憶媒体に記録することを特徴とする、請求項15に記載の記憶装置。
【請求項18】
前記検証部は、前記ハッシュ値のMAC値を計算する際に、前記セッション鍵を用いて、前記ハッシュ値と前記ノンスとを合わせた値のMAC値を計算することを特徴とする、請求項17に記載の記憶装置。
【請求項19】
前記記憶装置の前記記憶媒体は、記憶領域として、通常のデータ記憶領域と、セキュアなデータ管理領域とを有しており、
前記暗号化されたデータファイルは前記通常のデータ記憶領域に記録され、前記ハッシュ値及び前記ノンスは前記データ管理領域に記録されることを特徴とする、請求項15に記載の記憶装置。
【請求項20】
前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアであることを特徴とする、請求項15に記載の記憶装置。
【請求項21】
前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置であることを特徴とする、請求項15に記載の記憶装置。
【請求項22】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むことを特徴とする、請求項15に記載の記憶装置。
【請求項23】
記憶媒体を内蔵した記憶装置を接続可能であり、自身が保持するコンテンツを前記記憶装置に記録する情報処理装置における記録方法であって:
前記コンテンツを前記記憶装置に記録するに際し、前記記憶装置にノンス生成要求を送信するノンス生成ステップと;
前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信ステップと;
前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化ステップと;
前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録するデータ記録ステップと;
前記暗号化されたデータファイルのハッシュ値を計算するハッシュ値計算ステップと;
前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信して、前記記憶装置に、前記ハッシュ値と前記ノンスとを関連づけて前記記憶媒体に記録させるノンス記録要求ステップと;
を含むことを特徴とする、記録方法。
【請求項24】
情報処理装置に接続可能であり、前記情報処理装置が保持するコンテンツが記録される記憶装置における記録方法であって:
前記情報処理装置からノンス生成要求を受信するノンス生成要求受信ステップと;
前記ノンス生成要求の受信に応じて、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成するノンス生成ステップと;
前記ノンスを前記情報処理装置に送信するノンス送信ステップと;
前記情報処理装置によって前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルを、記憶媒体に記録する記録ステップと;
前記情報処理装置から、前記暗号化されたデータファイルのハッシュ値を含むノンス記録要求を受信するノンス記録要求受信ステップと;
前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記ハッシュ値と、前記ノンス生成ステップで生成した前記ノンスとを関連づけて、前記記憶媒体に記録するノンス記録ステップと;
を含むことを特徴とする、記録方法。
【請求項25】
記憶媒体を内蔵した記憶装置を接続可能であり、自身が保持するコンテンツを前記記憶装置に記録する情報処理装置のコンピュータに:
前記コンテンツを前記記憶装置に記録するに際し、前記記憶装置にノンス生成要求を送信するノンス生成ステップと;
前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信ステップと;
前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化ステップと;
前記暗号化されたデータファイルを前記記憶装置の前記記録媒体に記録するデータ記録ステップと;
前記暗号化されたデータファイルのハッシュ値を計算するハッシュ値計算ステップと;
前記ハッシュ値を含むノンス記録要求を前記記憶装置に送信して、前記記憶装置に、前記ハッシュ値と前記ノンスとを関連づけて前記記憶媒体に記録させるノンス記録要求ステップと;
を実行させるためのプログラム。
【請求項26】
情報処理装置に接続可能であり、前記情報処理装置が保持するコンテンツが記録される記憶装置のコンピュータに:
前記情報処理装置からノンス生成要求を受信するノンス生成要求受信ステップと;
前記ノンス生成要求の受信に応じて、前記ノンス生成要求ごとに固有に生成される変数であるノンスを生成するノンス生成ステップと;
前記ノンスを前記情報処理装置に送信するノンス送信ステップと;
前記情報処理装置によって前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルを、記憶媒体に記録する記録ステップと;
前記情報処理装置から、前記暗号化されたデータファイルのハッシュ値を含むノンス記録要求を受信するノンス記録要求受信ステップと;
前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記ハッシュ値と、前記ノンス生成ステップで生成した前記ノンスとを関連づけて、前記記憶媒体に記録するノンス記録ステップと;
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−87497(P2009−87497A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−258992(P2007−258992)
【出願日】平成19年10月2日(2007.10.2)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】