(57)【特許請求の範囲】
【請求項１】
記憶媒体を内蔵した記憶装置と、前記記憶装置を接続可能な情報処理装置とを含み、前記情報処理装置から送信されるコンテンツに関するデータファイルを前記記憶装置に記録する記録システムであって：
前記情報処理装置は、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、
前記情報処理装置は、前記暗号化されたデータファイルと、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンとを前記記憶装置に送信し、
前記記憶装置は、
前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録し、
前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録する記憶装置であり、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記録システム。
【請求項２】
前記コンテンツに関するデータファイルは、暗号化されたコンテンツを復号するためのコンテンツ鍵ファイルを含む、請求項１に記載の記録システム。
【請求項３】
前記コンテンツトークンは、前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルのハッシュ値である、請求項１に記載の記録システム。
【請求項４】
前記コンテンツを前記記憶装置に記録するに際し、
前記情報処理装置は、前記記憶装置にノンス生成要求を送信し、
前記記憶装置は、前記情報処理装置から前記ノンス生成要求を受信すると、前記ノンスを生成して、前記情報処理装置に送信し、
前記情報処理装置は、前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、
前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値である前記コンテンツトークンを計算し、前記コンテンツトークンを含むノンス記録要求を前記記憶装置に送信し、
前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記コンテンツトークンと前記ノンスとを関連づけて、前記データ管理領域に記録する、請求項３に記載の記録システム。
【請求項５】
前記記憶装置に記憶されている前記コンテンツを利用するに際し、
前記情報処理装置は、利用対象のコンテンツに関する前記ノンス及び前記コンテンツトークンの送信要求を前記記憶装置に送信し、
前記記憶装置は、前記情報処理装置から前記送信要求を受信すると、前記データ管理領域に記憶されている前記ノンス及び前記コンテンツトークンを読み出して前記情報処理装置に送信し、
前記情報処理装置は、前記記憶装置から前記データ記憶領域に記憶されている、前記利用対象のコンテンツに関する前記暗号化されたデータファイルを取得し、
前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値を計算し、当該計算したハッシュ値と、前記記憶装置から受信した前記コンテンツトークンとが一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号する、請求項４に記載の記録システム。
【請求項６】
前記コンテンツを前記記憶装置に記録するに際し、
前記情報処理装置と前記記憶装置は、相互認証を行ってセッション鍵を共有し、
前記ノンス記録要求を前記記憶装置に送信する際に、前記情報処理装置は、前記セッション鍵を用いて、前記コンテンツトークンのＭＡＣ値を計算し、前記コンテンツトークンと前記コンテンツトークンのＭＡＣ値とを含む前記ノンス記録要求を前記記憶装置に送信し、
前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値を計算し、当該計算したＭＡＣ値と、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値とが一致する場合に、前記コンテンツトークンと前記ノンスとを関連づけて、前記データ管理領域に記録する、請求項４に記載の記録システム。
【請求項７】
前記情報処理装置及び前記記憶装置はそれぞれ、前記コンテンツトークンのＭＡＣ値を計算する際に、前記セッション鍵を用いて、前記コンテンツトークンと前記ノンスとを合わせた値のＭＡＣ値を計算する、請求項６に記載の記録システム。
【請求項８】
前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアである、請求項１に記載の記録システム。
【請求項９】
前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置である、請求項１に記載の記録システム。
【請求項１０】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含む、請求項１に記載の記録システム。
【請求項１１】
記憶媒体を内蔵した記憶装置を接続可能である情報処理装置であって：
コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、
前記暗号化されたデータファイルと、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンとを前記記憶装置に送信し、
前記記憶装置は、
前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録し、
前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録する記憶装置であり、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、情報処理装置。
【請求項１２】
前記コンテンツに関するデータファイルは、暗号化されたコンテンツを復号するためのコンテンツ鍵ファイルを含む、請求項１１に記載の情報処理装置。
【請求項１３】
前記コンテンツトークンは、前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルのハッシュ値である、請求項１１に記載の情報処理装置。
【請求項１４】
前記記憶装置にノンス生成要求を送信するノンス生成要求部と；
前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信部と；
前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化部と；
前記暗号化されたデータファイルを前記記憶装置に送信する送信部と；
前記暗号化されたデータファイルのハッシュ値である前記コンテンツトークンを計算するハッシュ計算部と；
前記コンテンツトークンを含むノンス記録要求を前記記憶装置に送信するノンス記録要求部と；
を備える、請求項１３に記載の情報処理装置。
【請求項１５】
利用対象のコンテンツに関する前記ノンス及び前記ハッシュ値の送信要求を前記記憶装置に送信する送信要求部と；
前記記憶装置から前記送信要求の応答として、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を受信する管理情報受信部と；
前記記憶装置から前記データ記憶領域に記憶されている、前記利用対象のコンテンツに関する前記暗号化されたデータファイルを取得するデータ取得部と；
前記記憶装置から取得した前記暗号化されたデータファイルのハッシュ値を計算するハッシュ計算部と；
当該計算したハッシュ値と、前記記憶装置から受信した前記コンテンツトークンとを照合するハッシュ値照合部と；
当該計算したハッシュ値と、前記記憶装置から受信した前記コンテンツトークンとが一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号する復号部と；
をさらに備える、請求項１４に記載の情報処理装置。
【請求項１６】
前記記憶装置と相互認証を行ってセッション鍵を共有する認証部と；
前記セッション鍵を用いて、前記コンテンツトークンのＭＡＣ値を計算するＭＡＣ値計算部と；
をさらに備え、
前記ノンス記録要求部は、前記コンテンツトークンと前記コンテンツトークンのＭＡＣ値とを含む前記ノンス記録要求を前記記憶装置に送信する、請求項１４に記載の情報処理装置。
【請求項１７】
前記ＭＡＣ値計算部は、前記コンテンツトークンのＭＡＣ値を計算する際に、前記セッション鍵を用いて、前記コンテンツトークンと前記ノンスとを合わせた値のＭＡＣ値を計算する、請求項１６に記載の情報処理装置。
【請求項１８】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含む、請求項１１に記載の情報処理装置。
【請求項１９】
記憶媒体を内蔵し、情報処理装置に接続可能な記憶装置であって：
前記情報処理装置から、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて暗号化されたデータファイルと、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンとを受信し、
前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録し、
前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録し、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記憶装置。
【請求項２０】
前記コンテンツに関するデータファイルは、暗号化されたコンテンツを復号するためのコンテンツ鍵ファイルを含む、請求項１９に記載の記憶装置。
【請求項２１】
前記コンテンツトークンは、前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルのハッシュ値である、請求項１９に記載の記憶装置。
【請求項２２】
前記情報処理装置からノンス生成要求を受信するノンス生成要求受信部と；
前記ノンス生成要求の受信に応じて、前記ノンスを生成するノンス生成部と；
前記ノンスを前記情報処理装置に送信するノンス送信部と；
前記情報処理装置から、前記コンテンツトークンを含むノンス記録要求を受信するノンス記録要求受信部と；
前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記コンテンツトークンと、前記ノンス生成部が生成した前記ノンスとを関連づけて、前記データ管理領域に記録するノンス記録部と；
を備える、請求項１９に記載の記憶装置。
【請求項２３】
前記情報処理装置から、前記記憶媒体に記憶されている前記ノンス及び前記コンテンツトークンの送信要求を受信する送信要求受信部と；
前記送信要求の受信に応じて、前記データ管理領域に記憶されている前記ノンス及び前記コンテンツトークンを読み出して前記情報処理装置に送信する管理情報送信部と；
をさらに備える、請求項２２に記載の記憶装置。
【請求項２４】
前記情報処理装置と相互認証を行ってセッション鍵を共有する認証部をさらに備え、
前記ノンス記録要求受信部は、前記情報処理装置によって前記セッション鍵を用いて計算された前記コンテンツトークンのＭＡＣ値と、前記コンテンツトークンとを含む前記ノンス記録要求を受信し、
前記ノンス記録要求の受信に応じて、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値を計算し、当該計算したＭＡＣ値と、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値とが一致するか否かを検証する検証部をさらに備え、
前記ノンス記録部は、前記ＭＡＣ値が一致する場合に、前記ハッシュ値と前記ノンスとを関連づけて、前記データ管理領域に記録する、請求項２２に記載の記憶装置。
【請求項２５】
前記検証部は、前記コンテンツトークンのＭＡＣ値を計算する際に、前記セッション鍵を用いて、前記コンテンツトークンと前記ノンスとを合わせた値のＭＡＣ値を計算する、請求項２４に記載の記憶装置。
【請求項２６】
前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアである、請求項１９に記載の記憶装置。
【請求項２７】
前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置である、請求項１９に記載の記憶装置。
【請求項２８】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含む、請求項１９に記載の記憶装置。
【請求項２９】
記憶媒体を内蔵した記憶装置を接続可能である情報処理装置を用いた記録方法であって：
コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化するステップと；
前記暗号化されたデータファイルを前記記憶装置に送信して、前記暗号化されたデータファイルを、前記記憶装置の前記記憶媒体のデータ記憶領域に記録するステップと；
前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを前記記憶装置に送信して、前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶装置の前記記憶媒体のデータ管理領域に記録するステップと；
を含み、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記録方法。
【請求項３０】
記憶媒体を内蔵し、情報処理装置に接続可能な記憶装置による記録方法であって：
前記情報処理装置から、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて暗号化されたデータファイルを受信するステップと；
前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録するステップと；
前記情報処理装置から、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを受信するステップと；
前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録するステップと；
を含み、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記録方法。
【請求項３１】
記憶媒体を内蔵した記憶装置を接続可能である情報処理装置に、
コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化するステップと；
前記暗号化されたデータファイルを前記記憶装置に送信して、前記暗号化されたデータファイルを、前記記憶装置の前記記憶媒体のデータ記憶領域に記録するステップと；
前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを前記記憶装置に送信して、前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶装置の前記記憶媒体のデータ管理領域に記録するステップと；
を実行させるプログラムであって、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、プログラム。
【請求項３２】
記憶媒体を内蔵し、情報処理装置に接続可能な記憶装置に、
前記情報処理装置から、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて暗号化されたデータファイルを受信するステップと；
前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録するステップと；
前記情報処理装置から、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを受信するステップと；
前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録するステップと；
を実行させるプログラムであって、
前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、
前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録システム、情報処理装置、記憶装置、記録方法及びプログラムに関する。
【背景技術】
【０００２】
近年、Ｂｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標。以下「ＢＤ」という。）やＨＤ  ＤＶＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  ＤＶＤ）などといった大容量光ディスクでは、コンテンツをセキュアに記録する方式として、ＡＡＣＳ（Ａｄｖａｎｃｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｅｎｔ  Ｓｙｓｔｅｍ）とよばれる著作権保護技術が採用されている（非特許文献１参照）。このＡＡＣＳでは、パーソナルコンピュータや民生エレクトロニクス機器用において、上記ＢＤ等の大容量光ディスクに記録されるコンテンツをコントロールすることで、コンテンツの不正なコピーや巻き戻しを防止している。ここで、「コンテンツの巻き戻し」とは、記憶媒体に記録されたコンテンツに関する情報（例えば、コピー制限回数、再生回数など）を以前の状態に戻すことで、コンテンツを不正に利用可能とすることを意味する。
【０００３】
このＡＡＣＳの仕様では、光ディスク等の記憶媒体（メディア）に対するコンテンツの記録方式を定めており、次の点を特徴としている。
（１）各メディアに対してユニークなメディアＩＤを付与しておき、コンテンツ鍵とメディアＩＤは暗号的に関連付けられる。これにより、メディア間でのコンテンツの不正なコピーを防止する。
（２）メディアに対してコンテンツ及びコンテンツ鍵を記録する度ごとに、メディア側のドライブが「Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ」（以下「ＢＮ」という。）と呼ばれるノンス（ｎｏｎｃｅ、使い捨て乱数データ）を生成する。そして、ホスト側で、メディア側から受け取ったＢＮを用いてコンテンツ鍵を暗号化した上でメディアに記録し、ＢＮもメディアに記録しておく。これにより、コンテンツの記録処理ごとに、コンテンツ鍵をメディアに縛り付けて記録（ｂｉｎｄ）することができ、コンテンツの不正な巻き戻しを防止できる。
【０００４】
図１は、従来のＡＡＣＳ方式でコンテンツ鍵をＢＤ等のメディアに記録する手順を示す。まず、ホストとメディアのドライブとの間で相互認証を行った後に（Ｓ１）、ホストはメディアからメディアＩＤを取得する（Ｓ２）。次いで、ホストがメディアに対してＢＮの生成を要求すると（Ｓ３）、メディアのドライブはＢＮを新規生成して（Ｓ４）、ホストに送信する（Ｓ５）。すると、ホストは、上記メディアＩＤ、ＢＮ及びＭＫＢなどを用いて、コンテンツ鍵（Ｔｉｔｌｅ  Ｋｅｙ）を暗号化し（Ｓ６）、ライセンス、暗号化したコンテンツ鍵ファイルなどをメディアに書き込む（Ｓ７）。さらに、メディアのドライブは、ホストから受け取ったコンテンツ鍵ファイルの書き込みと同時に、上記Ｓ４で生成したＢＮをメディアに書き込む（Ｓ８）。例えば、メディアがＢＤである場合、ＣＰＳ  Ｔｉｔｌｅ  Ｋｅｙ  ＦｉｌｅのセクタヘッドにＢＮを記録する。このように従来のＡＡＣＳ準拠の光ディスクでは、コンテンツ鍵等のデータファイルとＢＮを同一セクタに記録することで、両者を関連づけて記録している。
【０００５】
【非特許文献１】“ＡＡＣＳホームページ”、[online]、2006年8月2日、［2007年9月1日検索］、インターネット、“http://www.aacsla.com/specifications/”
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来のＡＡＣＳの仕様では、メディアがＢＤ等の光ディスクである場合を対象とし、ＢＮを生成するのは光ディスクドライブ（Ｏｐｔｉｃａｌ  Ｄｒｉｖｅ）であった。即ち、ホストと正しく相互認証を行ってコンテンツとＢＮとを関連付けて安全に記録できる装置（上記光ディスクドライブ等）が存在するケースを想定していた。このように、上記従来のＡＡＣＳは、フラッシュメモリ等を搭載したメモリカードに対して適用されるものではなかった。
【０００７】
また、ＢＤは、データ記録先の論理アドレスを予め指定して記録する方式である。このため、メディアがＢＤである場合、図１に示すように、ＢＤのドライブが、コンテンツ鍵ファイルの記録と同時にＢＮを記録するためには（Ｓ８）、当該ファイルの記録先の論理アドレスを予め指定しておき（Ｓ３）、その指定したアドレスにファイルが記録されると同時にＢＮを書き込むという方式をとらなければならない。即ち、従来のＢＮを用いた記録方式は、メディア（例えばＢＤ）の物理フォーマットに強く依存した記録方式であった。このようにメディアの物理フォーマットに依存した記録方式であると、以下の（Ａ）、（Ｂ）のような不都合が生ずる。
【０００８】
（Ａ）ファイル単位のアクセス方法を採るメディアに不向き
ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）又はＭＴＰ（Ｍｅｄｉａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのように、ファイル単位のアクセス方法（Ｆｉｌｅ  Ｌｅｖｅｌ  Ａｃｃｅｓｓ）を採用したメディアの場合には、上記ＢＤのような方式に従って記録すると、常に以下の（１）〜（３）のようなシーケンスに従う必要があり、記録手順が制限されてしまう。
【０００９】
（１）ホスト側は、まずコンテンツ鍵ファイルを記録するためのＩＤ（アドレスに相当する。）をメディアから取得し、(２）そのＩＤを指定してメディアにＢＮを生成させる。（３）メディア側はそのＩＤによって、コンテンツ鍵ファイルがメディアに記録されることを監視し、記録されたらＢＮをメディアに記録する。
【００１０】
このような記録手順に制限されるので、ファイル単位でＰＵＴ、ＧＥＴするようなアクセス方法の自由度が下がる。例えば、まずコンテンツ鍵ファイルだけを記録しておき、その後にＢＮを記録するといった記録手順を実行できない。
【００１１】
さらに、メディアに記録されているコンテンツ鍵ファイルが変更／削除された場合に、ＢＮも削除しなければならず、コンテンツ鍵ファイルとＢＮを永続的に関連付けておくという特別な実装が必要になるという不都合も生ずる。詳細には、メディアがＢＤである場合は、同一セクタにファイルとＢＮが記録されているので、両者を共に削除することが容易である。一方、フラッシュメモリ等を記憶媒体とするメモリカードの場合、ファイルとは別にＢＮを管理領域に記録しなければならないので、常にファイルの変更／削除の有無を監視して、ファイルが変更／削除されたらＢＮを無効化するという特別な仕組みが必要となってしまう。
【００１２】
（Ｂ）記録フォーマットに依存する
従来のＢＤの記録方式では、ＢＮを生成する際に、ホストは、コンテンツ鍵ファイルを記録するアドレスを予め把握しておく必要がある。そのため、記録されるファイル形式が、メディアに記録されるコンテンツ鍵ファイルの記録フォーマットに依存してしまう。これは、次のような場合に不都合が生ずる。例えば、メディア上に１つの巨大ファイルを生成し、これを仮想的なファイルシステムとして、この中にコンテンツ鍵ファイルやコンテンツを記録する場合や、コンテンツ鍵ファイルやコンテンツを圧縮して１つのファイルとして記録するような場合がある。これらの場合には、メディア上のどのアドレスにコンテンツ鍵ファイルが記録されるかを知ることはできないため、従来方式を利用することが困難である。このように、従来のＢＤの記録方式は、複数のコンテンツ鍵を含むディスクイメージのような塊を１ファイルとして記録する場合には対応しておらず、アプリケーションによって記録方法を自由に選択することができなかった。
【００１３】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、記憶装置（メディア）の物理フォーマットに依存することなく、コンテンツを安全に記録することが可能な、新規かつ改良された記録システム、情報処理装置、記憶装置、記録方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明のある観点によれば、記憶媒体を内蔵した記憶装置と、前記記憶装置を接続可能な情報処理装置とを含み、前記情報処理装置から送信されるコンテンツに関するデータファイルを前記記憶装置に記録する記録システムであって：前記情報処理装置は、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、前記情報処理装置は、前記暗号化されたデータファイルと、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンとを前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録し、前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録する記憶装置であり、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記録システムが提供される。
前記コンテンツに関するデータファイルは、暗号化されたコンテンツを復号するためのコンテンツ鍵ファイルを含むようにしてもよい。
前記コンテンツトークンは、前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルのハッシュ値であるようにしてもよい。
【００１５】
前記コンテンツを前記記憶装置に記録するに際し、前記情報処理装置は、前記記憶装置にノンス生成要求を送信し、前記記憶装置は、前記情報処理装置から前記ノンス生成要求を受信すると、前記ノンスを生成して、前記情報処理装置に送信し、前記情報処理装置は、前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値である前記コンテンツトークンを計算し、前記コンテンツトークンを含むノンス記録要求を前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記コンテンツトークンと前記ノンスとを関連づけて、前記データ管理領域に記録するようにしてもよい。
【００１６】
前記記憶装置に記憶されている前記コンテンツを利用するに際し、前記情報処理装置は、利用対象のコンテンツに関する前記ノンス及び前記コンテンツトークンの送信要求を前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から前記送信要求を受信すると、前記データ管理領域に記憶されている前記ノンス及び前記コンテンツトークンを読み出して前記情報処理装置に送信し、前記情報処理装置は、前記記憶装置から前記データ記憶領域に記憶されている、前記利用対象のコンテンツに関する前記暗号化されたデータファイルを取得し、前記情報処理装置は、前記暗号化されたデータファイルのハッシュ値を計算し、当該計算したハッシュ値と、前記記憶装置から受信した前記コンテンツトークンとが一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号するようにしてもよい。
【００１７】
前記コンテンツを前記記憶装置に記録するに際し、前記情報処理装置と前記記憶装置は、相互認証を行ってセッション鍵を共有し、前記ノンス記録要求を前記記憶装置に送信する際に、前記情報処理装置は、前記セッション鍵を用いて、前記コンテンツトークンのＭＡＣ値を計算し、前記コンテンツトークンと前記コンテンツトークンのＭＡＣ値とを含む前記ノンス記録要求を前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から前記ノンス記録要求を受信すると、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値を計算し、当該計算したＭＡＣ値と、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値とが一致する場合に、前記コンテンツトークンと前記ノンスとを関連づけて、前記データ管理領域に記録するようにしてもよい。
【００１８】
前記情報処理装置及び前記記憶装置はそれぞれ、前記コンテンツトークンのＭＡＣ値を計算する際に、前記セッション鍵を用いて、前記コンテンツトークンと前記ノンスとを合わせた値のＭＡＣ値を計算するようにしてもよい。
【００１９】
前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアであるようにしてもよい。
【００２０】
前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置であるようにしてもよい。
【００２１】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むようにしてもよい。
【００２２】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵した記憶装置を接続可能である情報処理装置であって：コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化し、前記暗号化されたデータファイルと、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンとを前記記憶装置に送信し、前記記憶装置は、前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録し、前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録する記憶装置であり、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、情報処理装置が提供される。
前記コンテンツに関するデータファイルは、暗号化されたコンテンツを復号するためのコンテンツ鍵ファイルを含むようにしてもよい。
前記コンテンツトークンは、前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルのハッシュ値であるようにしてもよい。
【００２３】
前記記憶装置にノンス生成要求を送信するノンス生成要求部と；前記記憶装置から、前記ノンス生成要求の応答として、前記ノンス生成要求ごとに固有に生成される変数であるノンスを受信するノンス受信部と；前記記憶装置から受信した前記ノンスを用いて、前記コンテンツに関するデータファイルを暗号化する暗号化部と；前記暗号化されたデータファイルを前記記憶装置に送信する送信部と；前記暗号化されたデータファイルのハッシュ値である前記コンテンツトークンを計算するハッシュ計算部と；前記コンテンツトークンを含むノンス記録要求を前記記憶装置に送信するノンス記録要求部と；を備えるようにしてもよい。
【００２４】
利用対象のコンテンツに関する前記ノンス及び前記ハッシュ値の送信要求を前記記憶装置に送信する送信要求部と；前記記憶装置から前記送信要求の応答として、前記記憶媒体に記憶されている前記ノンス及び前記ハッシュ値を受信する管理情報受信部と；前記記憶装置から前記データ記憶領域に記憶されている、前記利用対象のコンテンツに関する前記暗号化されたデータファイルを取得するデータ取得部と；前記記憶装置から取得した前記暗号化されたデータファイルのハッシュ値を計算するハッシュ計算部と；当該計算したハッシュ値と、前記記憶装置から受信した前記コンテンツトークンとを照合するハッシュ値照合部と；当該計算したハッシュ値と、前記記憶装置から受信した前記コンテンツトークンとが一致する場合に、前記記憶装置から受信した前記ノンスを用いて、前記暗号化されたデータファイルを復号する復号部と；をさらに備えるようにしてもよい。
【００２５】
前記記憶装置と相互認証を行ってセッション鍵を共有する認証部と；前記セッション鍵を用いて、前記コンテンツトークンのＭＡＣ値を計算するＭＡＣ値計算部と；をさらに備え、前記ノンス記録要求部は、前記コンテンツトークンと前記コンテンツトークンのＭＡＣ値とを含む前記ノンス記録要求を前記記憶装置に送信するようにしてもよい。
【００２６】
前記ＭＡＣ値計算部は、前記コンテンツトークンのＭＡＣ値を計算する際に、前記セッション鍵を用いて、前記コンテンツトークンと前記ノンスとを合わせた値のＭＡＣ値を計算するようにしてもよい。
【００２７】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むようにしてもよい。
【００２８】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵し、情報処理装置に接続可能な記憶装置であって：前記情報処理装置から、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて暗号化されたデータファイルと、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンとを受信し、前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録し、前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録し、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記憶装置が提供される。
前記コンテンツに関するデータファイルは、暗号化されたコンテンツを復号するためのコンテンツ鍵ファイルを含むようにしてもよい。
前記コンテンツトークンは、前記ノンスを用いて暗号化された前記コンテンツに関するデータファイルのハッシュ値であるようにしてもよい。
【００２９】
前記情報処理装置からノンス生成要求を受信するノンス生成要求受信部と；前記ノンス生成要求の受信に応じて、前記ノンスを生成するノンス生成部と；前記ノンスを前記情報処理装置に送信するノンス送信部と；前記情報処理装置から、前記コンテンツトークンを含むノンス記録要求を受信するノンス記録要求受信部と；前記ノンス記録要求の受信に応じて、前記ノンス記録要求に含まれる前記コンテンツトークンと、前記ノンス生成部が生成した前記ノンスとを関連づけて、前記データ管理領域に記録するノンス記録部と；を備えるようにしてもよい。
【００３０】
前記情報処理装置から、前記記憶媒体に記憶されている前記ノンス及び前記コンテンツトークンの送信要求を受信する送信要求受信部と；前記送信要求の受信に応じて、前記データ管理領域に記憶されている前記ノンス及び前記コンテンツトークンを読み出して前記情報処理装置に送信する管理情報送信部と；をさらに備えるようにしてもよい。
【００３１】
前記情報処理装置と相互認証を行ってセッション鍵を共有する認証部をさらに備え、前記ノンス記録要求受信部は、前記情報処理装置によって前記セッション鍵を用いて計算された前記コンテンツトークンのＭＡＣ値と、前記コンテンツトークンとを含む前記ノンス記録要求を受信し、前記ノンス記録要求の受信に応じて、前記セッション鍵を用いて、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値を計算し、当該計算したＭＡＣ値と、前記ノンス記録要求に含まれる前記コンテンツトークンのＭＡＣ値とが一致するか否かを検証する検証部をさらに備え、前記ノンス記録部は、前記ＭＡＣ値が一致する場合に、前記ハッシュ値と前記ノンスとを関連づけて、前記データ管理領域に記録するようにしてもよい。
【００３２】
前記検証部は、前記コンテンツトークンのＭＡＣ値を計算する際に、前記セッション鍵を用いて、前記コンテンツトークンと前記ノンスとを合わせた値のＭＡＣ値を計算するようにしてもよい。
【００３３】
前記記憶装置は、前記情報処理装置に着脱可能なリムーバブルメディアであるようにしてもよい。
【００３４】
前記記憶装置は、前記記憶媒体と、前記記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置であるようにしてもよい。
【００３５】
前記コンテンツに関するデータファイルは、前記コンテンツ自体のファイル、暗号化された前記コンテンツを復号するためのコンテンツ鍵ファイル、又は、前記コンテンツの識別情報を表すファイル、前記コンテンツの利用条件を表すファイルの少なくともいずれかを含むようにしてもよい。
【００３６】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵した記憶装置を接続可能である情報処理装置を用いた記録方法であって：コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化するステップと；前記暗号化されたデータファイルを前記記憶装置に送信して、前記暗号化されたデータファイルを、前記記憶装置の前記記憶媒体のデータ記憶領域に記録するステップと；前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを前記記憶装置に送信して、前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶装置の前記記憶媒体のデータ管理領域に記録するステップと；を含み、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記録方法が提供される。
【００３７】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵し、情報処理装置に接続可能な記憶装置による記録方法であって：前記情報処理装置から、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて暗号化されたデータファイルを受信するステップと；前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録するステップと；前記情報処理装置から、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを受信するステップと；前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録するステップと；を含み、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、記録方法が提供される。
【００３８】
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵した記憶装置を接続可能である情報処理装置に、コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて、前記コンテンツに関するデータファイルを暗号化するステップと；前記暗号化されたデータファイルを前記記憶装置に送信して、前記暗号化されたデータファイルを、前記記憶装置の前記記憶媒体のデータ記憶領域に記録するステップと；前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを前記記憶装置に送信して、前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶装置の前記記憶媒体のデータ管理領域に記録するステップと；を実行させるプログラムであって、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、プログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、記憶媒体を内蔵し、情報処理装置に接続可能な記憶装置に、前記情報処理装置から、前記コンテンツに関するデータファイルの記録ごとに生成される乱数であるノンスを用いて暗号化されたデータファイルを受信するステップと；前記情報処理装置から受信した、前記暗号化されたデータファイルを前記記憶媒体のデータ記憶領域に記録するステップと；前記情報処理装置から、前記コンテンツに関するデータファイルを一意に特定する情報であるコンテンツトークンを受信するステップと；前記情報処理装置から受信した前記コンテンツトークンと前記ノンスとを関連づけて、前記記憶媒体のデータ管理領域に記録するステップと；を実行させるプログラムであって、前記データ記憶領域には、前記暗号化されたデータファイルが複数記録され、前記データ管理領域には、前記データ記憶領域に記録された前記複数のデータファイルのそれぞれに対応した、前記関連づけられた前記ノンスと前記コンテンツトークンが、複数記録される、プログラムが提供される。
【発明の効果】
【００３９】
以上説明したように本発明によれば、記憶装置（メディア）の物理フォーマットに依存することなく、コンテンツを安全に記録することができる。
【発明を実施するための最良の形態】
【００４０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００４１】
まず、図２を参照して、本発明の第１の実施形態にかかる記録システム１について説明する。図２は、本実施形態にかかる記録システム１（図２（ｂ）参照。）を、従来の光ディスクをメディアとした記録システム３（図２（ａ）参照。）と比較して示す説明図である。
【００４２】
図２（ａ）に示すように、従来の記録システム３は、ホスト装置６に光ディスク用のドライブ７を接続或いは内蔵し、このドライブ７に対して、記録媒体としてのＢｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標。以下「ＢＤ」という。）やＨＤ  ＤＶＤ等の光ディスク８をローディングする構成である。この記録システム３では、ホスト装置６からドライブ７を介して光ディスク８に、コンテンツやコンテンツ鍵等のデータファイルを記録することができる。このとき、図１で示したように、ホスト装置６とドライブ７との間で、上記ＡＡＣＳ仕様に従った処理を行うことで、コンテンツ等を光ディスク８にセキュアに記録して、コンテンツの不正コピーや巻き戻しを防止できる。例えば、ドライブ７は、ＡＡＣＳで規定されているＢｉｎｄｉｎｇ  Ｎｏｎｃｅの生成処理や、記録媒体である光ディスク８へのＢｉｎｄｉｎｇ  Ｎｏｎｃｅの記録処理を行っていた。
【００４３】
これに対し、図２（ｂ）に示すように、本実施形態にかかる記録システム１は、ホスト装置１０と、ホスト装置１０に着脱可能なリムーバブルメディア２０とから構成される。ここで、ホスト装置１０は、本発明の情報処理装置の一例であり、リムーバブルメディア２０は、本発明の記憶装置の一例である。リムーバブルメディア２０は、フラッシュメモリ等の記憶媒体を内蔵した記憶装置であり、ホスト装置１０の装着部（例えばスロット、コネクタ等）に着脱可能である。本実施形態にかかるリムーバブルメディア２０は、上記従来の記録システム３におけるドライブ７と光ディスク８とを一体化したものに相当する。このリムーバブルメディア２０自身が、上記ＡＡＣＳ仕様に従ったＢｉｎｄｉｎｇ  Ｎｏｎｃｅの生成処理や、記録媒体へのＢｉｎｄｉｎｇ  Ｎｏｎｃｅの記録処理を実行する。以下に、本実施形態にかかるホスト装置１０とリムーバブルメディア２０について、より詳細に説明する。
【００４４】
ホスト装置１０は、リムーバブルメディア２０等の記憶装置（メディア）に対し、コンテンツやコンテンツ鍵等のデータファイルを記録する主体となる記録装置である。このホスト装置１０は、例えば、パーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ：以下「ＰＣ」という。）等のコンピュータ装置（ノート型、デスクトップ型を問わない。）で構成される。しかし、ホスト装置１０は、かかる例に限定されず、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家庭用ゲーム機、ＤＶＤ／ＨＤＤレコーダー等の記録再生装置、情報家電などの各種のユーザ端末で構成できる。
【００４５】
リムーバブルメディア２０は、コンテンツやコンテンツ鍵等のデータファイルを記憶可能な記憶媒体を備えた記憶装置である。このリムーバブルメディア２０が備える記憶媒体としては、例えば、フラッシュメモリ、その他の不揮発性メモリ等からなる半導体メモリを使用できる。リムーバブルメディア２０は、例えば、メモリカード又はコネクタ一体型メモリなどである。メモリカードは、上記フラッシュメモリ等の記憶媒体をカード型にパッケージしたものであり、ＰＣやデジタルカメラ、携帯型映像／音声プレーヤなどのデジタル機器用の記憶装置として普及している。また、コネクタ一体型メモリは、上記フラッシュメモリ等の記憶媒体のパッケージに、ＰＣ等の情報処理装置と接続するためのコネクタを装着したものである。このコネクタ一体型メモリとしては、例えば、フラッシュメモリのパッケージにＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コネクタを装着したＵＳＢメモリが代表的である。
【００４６】
かかるリムーバブルメディア２０は、ホスト装置１０の装着部（例えばスロット、コネクタ等）に着脱自在に接続される。ホスト装置１０は、装着部に装着されたリムーバブルメディア２０に対して、ホスト装置１０が保持するコンテンツやコンテンツ鍵などのデータファイルを書き込んだり、リムーバブルメディア２０に記憶されているデータファイルを読み出したりすることができる。
【００４７】
また、本実施形態にかかるコンテンツは、例えば、音楽、講演、ラジオ番組等の音声（Ａｕｄｉｏ）コンテンツや、映画、テレビジョン番組、ビデオプログラム、写真、絵画、図表等を構成する静止画若しくは動画からなる映像（Ｖｉｄｅｏ）コンテンツ、電子図書（Ｅ−ｂｏｏｋ）、ゲーム、ソフトウェアなど、任意のコンテンツであってよい。以下では、コンテンツとして、音楽コンテンツ又は映像コンテンツの例を挙げて説明するが、本発明はかかる例に限定されない。また、本実施形態にかかるコンテンツは、例えば、ＡＡＣＳに準拠する著作権管理方式など、各種の方式で著作権管理されるコンテンツである。
【００４８】
次に、図３を参照して、本実施形態にかかる情報処理装置であるホスト装置１０のハードウェア構成について説明する。図３は、本実施形態にかかるホスト装置１０の構成を示すブロック図である。なお、図３の例では、ホスト装置１０が例えばＰＣである場合の例を示しているが、ホスト装置１０は他の情報処理装置であってもよい。
【００４９】
図３に示すように、ホスト装置１０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、ホストバス１０４と、ブリッジ１０５と、外部バス１０６と、インタフェース１０７と、入力装置１０８と、出力装置１０９と、ストレージ装置１１０（例えばＨＤＤ）と、スロット１１１と、ドライブ１１２と、接続ポート１１３と、通信装置１１４とを備える。
【００５０】
ＣＰＵ１０１は、演算処理装置および制御装置として機能し、各種プログラムに従って動作し、ホスト装置１０内の各部を制御する。このＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラム、或いは、ストレージ装置１１０からＲＡＭ１０３にロードされたプログラムに従って、各種の処理を実行する。ＲＯＭ１０２は、ＣＰＵ１０１が使用するプログラムや演算パラメータ等を記憶するとともに、ＣＰＵ１０１からストレージ装置１１０へのアクセスを軽減するためのバッファーとしても機能する。ＲＡＭ１０３は、ＣＰＵ１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバスなどから構成されるホストバス１０４により相互に接続されている。ホストバス１０４は、ブリッジ１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１０６に接続されている。
【００５１】
入力装置１０８は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー等の操作手段と、入力信号を生成してＣＰＵ１０１に出力する入力制御回路などから構成されている。ホスト装置１０のユーザは、この入力装置１０８を操作することにより、ホスト装置１０に対して各種のデータを入力したり、処理動作を指示したりすることができる。出力装置１０９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ランプ等の表示装置と、スピーカ等の音声出力装置などで構成される。
【００５２】
ストレージ装置１１０は、本実施形態にかかるホスト装置１０の記憶部の一例として構成されたデータ格納用の装置であり、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）で構成される。このストレージ装置１１０は、記憶媒体であるハードディスクと、ハードディスクを駆動するドライブとから構成され、ＣＰＵ１０１が実行するプログラムや各種データを格納する。
【００５３】
スロット１１１は、リムーバブルメディア２０を着脱可能に装着するための装着部の一例である。かかるスロット１１１に、例えば上記メモリカード等のリムーバブルメディア２０を装着することで、ホスト装置１０はリムーバブルメディア２０とデータ通信可能となる。
【００５４】
ドライブ１１２は、リムーバブルメディア２０用の駆動装置であり、ホスト装置１０に内蔵、或いは外付けされる。このドライブ１１２は、ホスト装置１０のスロット１１１に装着されたリムーバブルメディア２０に対して、各種のデータを書き込み／読み出しする。
【００５５】
接続ポート１１３は、外部周辺機器を接続するためのポートであり、例えば、ＵＳＢ、ＩＥＥＥ１３９４等の接続端子を有する。接続ポート１１３は、インタフェース１０７、および外部バス１０６、ブリッジ１０５、ホストバス１０４等を介してＣＰＵ１０１等に接続されている。この接続ポート１１１（例えばＵＳＢポート）には、上記ＵＳＢメモリ等のコネクタ付きリムーバブルメディア２０を接続することができる。また、かかる接続ポート１１１には、かかるリムーバブルメディア２０以外にも、例えば、携帯型映像／音楽プレーヤ、ＰＤＡ、ＨＤＤ等の外部機器を、ケーブル等を介して接続可能である。これらの外部機器も、本発明の記憶装置の一例となりうる（第２の実施形態の図８、図９を参照）。
【００５６】
通信装置１１４は、例えば、インターネット、ＬＡＮ等の各種のネットワーク５に接続するための通信デバイス等で構成された通信インタフェースである。この通信装置１１４は、ネットワーク５を介して接続された外部機器との間で、各種データを送受信する。例えば、通信装置１１４は、コンテンツ配信サーバから、配信コンテンツや、コンテンツ鍵、ライセンス、秘密鍵等を受信することができる。また、かかる通信装置１１４は、無線／有線通信を問わず。外部機器とホスト装置１０とを無線ＬＡＮ等により無線接続することも可能である。
【００５７】
次に、図４を参照して、本実施形態にかかる記憶装置であるリムーバブルメディア２０のハードウェア構成について説明する。図４は、本実施形態にかかるリムーバブルメディア２０の構成を示すブロック図である。
【００５８】
図４に示すように、リムーバブルメディア２０は、１つのパッケージ内に、フラッシュメモリ２１と、通信装置２４と、認証装置２５と、ノンス生成装置２６と、検証装置２７とを備える。リムーバブルメディア２０には、固有の識別情報であるメディアＩＤが予め付与されており、このメディアＩＤはフラッシュメモリ２１内にセキュアに格納されている。
【００５９】
フラッシュメモリ２１は、リムーバブルメディア２０が具備する記憶媒体の一例であり、各種のデータを記憶・保持する。かかるフラッシュメモリ２１をパッケージ化することで、本実施形態にかかるリムーバブルメディア２０であるメモリカードを構成できる。リムーバブルメディア２０の記憶媒体としては、フラッシュメモリ２１以外にも、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）ＦｅＲＡＭ  （Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）、ＦｅＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  ＲＡＭ）などの不揮発性メモリや、その他の半導体メモリを使用してもよい。
【００６０】
このフラッシュメモリ２１は、複数の記憶領域に区分されている。図４に示すように、フラッシュメモリ２１は、記憶領域として、通常のデータ記憶領域２２と、セキュアなデータ管理領域２３とを有している。通常のデータ記憶領域２２は、コンテンツやコンテンツ鍵、ライセンス（コンテンツの利用条件情報）、コンテンツの属性情報などの通常のデータが記憶される領域である。ユーザは、ホスト装置１０を用いて、かかる通常のデータ記憶領域２２に対して所望のデータを読み書きできる。
【００６１】
一方、データ管理領域２３は、通常のデータ記憶領域２２に記憶されるコンテンツの不正利用を防止して著作権保護を行うための管理情報をセキュアに記憶する。このデータ管理領域２３は、ユーザによる自由なアクセスが制限された秘密領域である。かかるデータ管理領域２３には、通常のデータ記憶領域２２にデータファイルが記憶される度ごとに生成されるノンスである「Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ」と、当該データファイルのハッシュ値である「Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ」とが関連づけて記録される。図示の例では、通常のデータ記憶領域２２に記録された第１〜第ｎのコンテンツ（図示せず。）について、ｎ個のＢｉｎｄｉｎｇ  Ｎｏｎｃｅ＃１〜ｎと、ｎ個のＣｏｎｔｅｎｔ  Ｔｏｋｅｎ＃１〜ｎとが相互に関連づけて記録されている。
【００６２】
ここで、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ（以下「ＢＮ」と略称する場合もある。）と、Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ（以下「ＣＴ」と略称する場合もある。）について説明する。
【００６３】
上述したＡＡＣＳの仕様では、コンテンツに関するデータ（コンテンツ自体、コンテンツ鍵、コンテンツの識別情報、ライセンスなどを含む。）のファイルをメディアに記録する度に、メディア側がノンスを新規生成し、このノンスとコンテンツを関連づけてメディアに記録する。このようにＢＮは、メディアにコンテンツを記録する度に固有な値で生成され、コンテンツとともに記録され、コンテンツを書き換える度に新たなＢＮが生成される。これによって、コンテンツをメディアに縛り付けて記録（バインド）することができるので、コンテンツの不正な巻き戻しを防止できる。例えば、コンテンツの利用に関する情報（例えば、ライセンスで定められたコピー回数や、再生回数、再生期限など）を過去の情報に戻すことができない。
【００６４】
本実施形態における記録システム１においても、上記ＡＡＳＣで規定されたＢｉｎｄｉｎｇ  Ｎｏｎｃｅに相当するノンス（ｎｏｎｃｅ）を利用して、コンテンツの不正な巻き戻しを防止するようにしている。このノンスは、メディアに対してコンテンツを記録する度に固有に生成される変数であり、例えば、使い捨て乱数、カウンター値など、一意性が保証された値であれば任意の値を使用できる。本実施形態では、ノンスとして、例えば、使い捨て乱数データを使用するものとする。本実施形態にかかるノンスは、コンテンツをメディアに縛り付けて記録（バインド）するための値であり、上記ＡＡＣＳで規定されたＢｉｎｄｉｎｇ  Ｎｏｎｃｅに相当するものである。そこで、以下の説明では、ノンスを「Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ」又は「ＢＮ」と表記する。
【００６５】
また、Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ（ＣＴ）は、メディアに記録されるコンテンツに関するデータファイルのハッシュ値である。ここで、コンテンツに関するデータファイルは、例えば、コンテンツ自体のファイル（例えば、映像コンテンツデータ、音声コンテンツデータのファイル）、暗号化されたコンテンツを復号（デクリプト）するためのコンテンツ鍵のファイル、コンテンツの識別情報（例えば、コンテンツＩＤ、コンテンツ名称）などのファイル、コンテンツの利用条件を表すライセンスのファイルなどである。これらのコンテンツに関するデータファイルは、上記リムーバブルメディア２０のフラッシュメモリ２１における通常のデータ記憶領域２２に記録される。
【００６６】
かかるコンテンツに関するデータファイルのハッシュ値がＣＴである。このＣＴは、当該データファイルに１：１対応する識別情報であり、該データファイルの象徴（ｔｏｋｅｎ）となるデータである。かかるＣＴにより、メディアに記録されたコンテンツを一意に特定できる。
【００６７】
このＣＴを記録する意義について説明する。従来のＡＡＣＳに準拠したＢＤでは、コンテンツに関するデータファイルとＢＮとを同一セクタに同時に記録することにより、両者を関連づけていた（図１参照）。これに対し、本実施形態にかかる記録システム１では、図４に示すように、記憶装置の記億媒体（リムーバブルメディア２０のフラッシュメモリ２１）に、通常のデータ記憶領域２２と、セキュアなデータ管理領域２３とを設け、コンテンツに関するデータファイルは通常のデータ記憶領域２２に記録し、ＢＮはデータ管理領域２３に記録する。さらに、データ管理領域２３に、ＢＮと関連づけてＣＴを記録する。このＣＴによって、別々の記憶領域に記憶されたＢＮとコンテンツに関するデータファイルを関連づけることができる。よって、ＢＮとコンテンツに関するデータファイルの記録方式の自由度が高まるので、ファイル単位でのアクセス方式を採用するリムーバブルメディア２０にも適用可能となる。
【００６８】
さらに図４を参照して、リムーバブルメディア２０の構成について説明する。通信装置２４は、ホスト装置１０とデータ通信を行うための通信インタフェースである。例えば、通信装置２４は、ホスト装置１０から、記録対象のコンテンツに関するデータファイルや、認証情報、ＣＴ、各種のコマンド、配信コンテンツや、コンテンツ鍵、ライセンス、秘密鍵等を受信することができる。かかる通信装置２４によって、ホスト装置１０は、ホスト装置１０に装着されたリムーバブルメディア２０との間で各種のデータを送受信できるようになる。例えば、ホスト装置１０は、通信装置２４を介して、コンテンツファイルをフラッシュメモリ２１に書き込んだり、フラッシュメモリ２１に記憶されているコンテンツを読み出したりする。
【００６９】
認証装置２５は、ホスト装置１０とリムーバブルメディア２０との間で相互認証を行い、セッション鍵を共有する機能を有する。この認証装置２５は、例えば、上記ＡＡＣＳに準拠した認証処理を実行する。
【００７０】
ノンス生成装置２６は、上述したＢｉｎｄｉｎｇ  Ｎｏｎｃｅ（ＢＮ）を生成する。このノンス生成装置２６は、例えば、使い捨て乱数データを発生する乱数発生器や、カウンター値を生成するカウンターなどで構成される。ノンス生成装置２６は、ホスト装置１０から通信装置２４を介してノンス生成要求を受信する度ごとに、使い捨て乱数データを生成し、この乱数データをＢＮとしてホスト装置１０に返信する。
【００７１】
検証装置２７は、リムーバブルメディア２０に記録されるデータの改竄又は破損の有無を検証する機能を有する。記録システム１では、ホスト装置１０とリムーバブルメディア２０との間でやりとりされるデータ（例えば、ＢＮ、ＣＴ）には、そのデータのＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）値が付加され、データの改竄・破損を検証できるようになっている。検証装置２７は、ホスト装置１０から受信したデータのＭＡＣ値を計算し、当該計算したＭＡＣ値と、ホスト装置１０により当該データに予め付加されているＭＡＣ値とを照合することで、データの改竄・破損の有無をチェックする。また、検証装置２７は、リムーバブルメディア２０からホスト装置１０に送信するデータに、当該データのＭＡＣ値を計算して付加する。かかる検証装置２７により、ホスト装置１０とリムーバブルメディア２０との間で安全にデータを送受信できる。
【００７２】
次に、図５を参照して、本実施形態にかかるホスト装置１０とリムーバブルメディア２０の機能構成について説明する。図５は、本実施形態にかかるホスト装置１０とリムーバブルメディア２０の機能構成を示すブロック図である。
【００７３】
図５に示すように、ホスト装置１０は、認証部１２２と、ノンス生成要求部１２４と、ノンス受信部１２６と、検証部１２８と、暗号化部１３０と、コンテンツデータベース１３２と、データ記録部１３４と、ハッシュ計算部１３６と、ＭＡＣ値計算部１３８と、ノンス記録要求部１４０と、送信要求部１４２と、管理情報受信部１４４と、検証部１４６と、データ取得部１４８と、ハッシュ計算部１５０と、ハッシュ値照合部１５２と、復号部１５４とを備える。これら各部の機能を実行させるプログラムを、ホスト装置１０にインストールすることにより、当該各部は、ソフトウェアとＣＰＵ１０１等のハードウェアによって実現される。しかし、当該各部を専用のハードウェアで実現してもよい。
【００７４】
リムーバブルメディア２０は、認証部２０２と、ノンス生成要求受信部２０４と、ノンス生成部２０６と、ＭＡＣ値計算部２０８と、ノンス送信部２１０と、ノンス記録要求受信部２１２と、検証部２１４と、ノンス記録部２１６と、送信要求受信部２１８と、ＭＡＣ値計算部２２０と、管理情報送信部２２２とを備える。認証部２０２は、上記認証装置２５（図４参照。）で構成される。ノンス生成要求受信部２０４、ノンス送信部２１０、ノンス記録要求受信部２１２、送信要求受信部２１８及び管理情報送信部２２２は、上記通信装置２４（図４参照。）で構成される。ノンス生成部２０６は、上記ノンス生成装置２６（図４参照。）で構成される。ＭＡＣ値計算部２０８、ＭＡＣ値計算部２２０及び検証部２１４は、上記検証装置２７（図４参照。）で構成される。ノンス記録部２１６は、ホスト装置１０からの指示に従いフラッシュメモリ２１にデータを読み書きする装置（図示せず。）によって実現される。
【００７５】
以下に、ホスト装置１０とリムーバブルメディア２０の各部の構成と、これら各部の相互関係について説明する。
【００７６】
ホスト装置１０がリムーバブルメディア２０にデータを記録する際、又はリムーバブルメディア２０に記憶されたデータを利用する際には、ホスト装置１０の認証部１２２と、リムーバブルメディア２０の認証部２０２は、ＡＡＣＳで定められた方式（ＡＡＣＳ−ａｕｔｈ）に従って相互認証を行い、セッション鍵Ｋｓを共有する。認証部１２２は、後述の検証部１２８、１４６及びＭＡＣ値計算部１３８にセッション鍵Ｋｓを提供し、認証部２０２は、後述の検証部２１４及びＭＡＣ値計算部２０８、２２０にセッション鍵Ｋｓを提供する。また、認証時には、認証部２０２は、リムーバブルメディア２０に付与されているメディアＩＤを読み出して、ホスト装置１０に提供する。
【００７７】
ホスト装置１０が保持するコンテンツをリムーバブルメディア２０に記録するときには、ユーザは、ホスト装置１０に、リムーバブルメディア２０へのコンテンツの記録指示を入力する。ホスト装置１０のノンス生成要求部１２４は、かかる記録指示に応じて、リムーバブルメディア２０にノンス生成要求（ノンスの生成を要求するためのコマンド）を送信し、ＢＮを生成するように指示する。
【００７８】
リムーバブルメディア２０のノンス生成要求受信部２０４は、ホスト装置１０からノンス生成要求を受信する。このノンス生成要求の受信に応じて、ノンス生成部２０６は、ノンス生成要求ごとに固有に生成される変数であるノンス（即ち、ＢＮ）を生成する。このＢＮは、例えば、使い捨て乱数を使用できるが、その他の一意性が確保された値であってもよい。ＭＡＣ値計算部２０８は、上記認証部２０２から受け取ったセッション鍵Ｋｓを用いて、ノンス生成部２０６により生成されたＢＮのＭＡＣ値（Ｄｍ）を計算する。ノンス送信部２１０は、ノンス生成部２０６により生成されたＢＮと、ＭＡＣ値計算部２０８により生成されたＢＮのＭＡＣ値（Ｄｍ）をホスト装置１０に送信する。
【００７９】
ホスト装置１０のノンス受信部１２６は、リムーバブルメディア２０から、上記ＢＮとＭＡＣ値（Ｄｍ）を受信する。検証部１２８は、上記認証部１２２から受け取ったセッション鍵Ｋｓを用いて、当該受信したＢＮのＭＡＣ値を計算する。さらに、検証部１２８は、当該計算したＭＡＣ値と、上記受信したＭＡＣ値（Ｄｍ）とを照合し、両者が一致すれば、当該受信したＢＮが正当であると判定する。一致しない場合には、ＢＮが改竄された可能性があるので、記録処理を終了する。
【００８０】
ホスト装置１０は、上記ストレージ装置１１０などにコンテンツデータベース１３２を有しており、このコンテンツデータベース１３２に、１又は２以上のコンテンツに関するデータファイル（コンテンツ自体、コンテンツ鍵等のファイル）を保持している。上記検証部１２８によりＢＮが正常であると検証された場合には、暗号化部１３０は、コンテンツデータベース１３２から、記録対象のコンテンツに関するデータファイル、例えば、記録対象のコンテンツ鍵ファイル（Ｋｔ）を読み出し、当該コンテンツ鍵ファイル（Ｋｔ）を暗号化（ｅｎｃｒｙｐｔ）する。例えば、暗号化部１３０は、所定の暗号化方式に従い、メディアＩＤ、秘密鍵及びＢＮを用いて、コンテンツ鍵ファイル（Ｋｔ）を暗号化する。
【００８１】
データ記録部１３４は、暗号化部１３０により暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）を、リムーバブルメディア２０のフラッシュメモリ２１の通常のデータ記憶領域２２に記録する。ホスト装置１０に装着されたリムーバブルメディア２０は、ホスト装置１０の外部記憶装置に相当するので、ホスト装置１０のデータ記録部１３４は、リムーバブルメディア２０に、暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）等のデータを直接書き込むことが可能である。また、かかるコンテンツ鍵ファイル（Ｋｔ）の記録時には、データ記録部１３４は、当該コンテンツに関する他のデータファイル、例えば、コンテンツ自体のファイル、ライセンスを表すファイルなどを、リムーバブルメディア２０に同時に記録してもよい。
【００８２】
ハッシュ計算部１３６は、所定のハッシュ関数を用いて、上記暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）のハッシュ値を計算する。このハッシュ値は、上述したＣｏｎｔｅｎｔ  Ｔｏｋｅｎ（ＣＴ）である。ＭＡＣ値計算部１３８は、上記認証部１２２から受け取ったセッション鍵Ｋｓを用いて、ハッシュ計算部１３６により生成されたハッシュ値（ＣＴ）のＭＡＣ値（Ｄｍ２）を計算する。ノンス記録要求部１４０は、リムーバブルメディア２０に対して、ノンス記録要求（上記リムーバブルメディア２０にて生成されたＢＮの記録を要求するコマンド）を送信する。このノンス記録要求には、ハッシュ計算部１３６により生成されたハッシュ値（ＣＴ）と、ＭＡＣ値計算部１３８により生成されたＣＴのＭＡＣ値（Ｄｍ２）をリムーバブルメディア２０とが含まれる。
【００８３】
ノンス記録要求受信部２１２は、ホスト装置１０から、ＣＴと当該ＣＴのＭＡＣ値（Ｄｍ２）を含むノンス記録要求を受信する。検証部２１４は、上記認証部１２２から受け取ったセッション鍵Ｋｓを用いて、当該受信したＣＴのＭＡＣ値を計算する。さらに、検証部２１４は、当該計算したＭＡＣ値と、上記受信したＭＡＣ値（Ｄｍ２）とを照合し、両者が一致すれば、当該受信したＣＴが正当であると判定する。一致しない場合には、ＣＴが改竄された可能性があるので、記録処理を終了する。
【００８４】
上記検証部２１４によりＣＴが正常であると検証された場合には、ノンス記録部２１６は、上記ノンス生成部２０６により生成された最新のノンス（ＢＮ）と、上記ホスト装置１０から受信したハッシュ値（ＣＴ）とを相互に関連づけて、フラッシュメモリ２１のデータ管理領域２３に記録する。
【００８５】
以上までの処理により、記録対象のコンテンツに関するデータファイルが、リムーバブルメディア２０のフラッシュメモリ２１にセキュアに記録され、この記録処理に関するノンス（ＢＮ）及びハッシュ値（ＣＴ）も、フラッシュメモリ２１にセキュアに記録される。
【００８６】
次に、ホスト装置１０が、上記のようにリムーバブルメディア２０に記録されたコンテンツを利用（例えば、再生、コピー、移動など）するときには、ユーザは、ホスト装置１０に、リムーバブルメディア２０に記憶されたコンテンツの利用指示を入力する。ホスト装置１０の送信要求部１４２は、かかる利用指示に応じて、リムーバブルメディア２０に記憶されているノンス（ＢＮ）及びハッシュ値（ＣＴ）の送信要求（当該データの送信を要求するためのコマンド）をリムーバブルメディア２０に送信する。このとき、送信要求部１４２は、ホスト装置１０においてユーザ指定された利用対象のコンテンツに関するＢＴ及びＣＴを送信するように、リムーバブルメディア２０に要求する。なお、ＢＮとＣＴの送信要求は、一つのコマンドで同時に行ってもよいし、２つのコマンドを用いて別々のタイミングで行ってもよい。
【００８７】
リムーバブルメディア２０の送信要求受信部２１８は、ホスト装置１０から、上記送信要求を受信する。この送信要求の受信に応じて、ＭＡＣ値計算部２２０は、フラッシュメモリ２１から、指定されたコンテンツに関するＢＮとＣＴとを読み出し、上記認証部２０２から受け取ったセッション鍵Ｋｓを用いて、当該ＢＮのＭＡＣ値（Ｄｍ３）と当該ＣＴのＭＡＣ値（Ｄｍ４）をそれぞれ計算する。管理情報送信部２２２は、上記送信要求の受信に応じて、フラッシュメモリ２１から、指定されたコンテンツに関するＢＮとＣＴとを読み出す。そして、管理情報送信部２２２は、当読み出したＢＮ及びＣＴと、上記ＭＡＣ値計算部２２０により生成されたＢＮのＭＡＣ値（Ｄｍ３）及びＣＴのＭＡＣ値（Ｄｍ４）とを、ホスト装置１０に送信する。
【００８８】
ホスト装置１０の管理情報受信部１４４は、リムーバブルメディア２０から、上記ＢＮ、ＣＴ、ＭＡＣ値（Ｄｍ３）、（Ｄｍ４）を受信する。検証部１４６は、上記認証部１２２から受け取ったセッション鍵Ｋｓを用いて、当該受信したＢＮのＭＡＣ値とＣＴのＭＡＣ値をそれぞれ計算する。さらに、検証部１４６は、当該計算したＢＮのＭＡＣ値と、上記受信したＭＡＣ値（Ｄｍ３）とを照合し、両者が一致すれば、当該受信したＢＮが正当であると判定する。一致しない場合には、ＢＮが改竄された可能性があるので、記録処理を終了する。同様に、検証部１４６は、上記計算したＣＴのＭＡＣ値と、上記受信したＭＡＣ値（Ｄｍ４）とを照合し、両者が一致すれば、当該受信したＣＴが正当であると判定する。一致しない場合には、ＣＴが改竄された可能性があるので、記録処理を終了する。
【００８９】
データ取得部１４８は、リムーバブルメディア２０のフラッシュメモリ２１から、利用対象のコンテンツに関する暗号化されたデータファイル、例えば、暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）を取得する。ホスト装置１０はリムーバブルメディア２０に直接アクセスできるので、データ取得部１４８は、リムーバブルメディア２０のフラッシュメモリ２１に記憶されているデータファイルを読み出すことができる。
【００９０】
ハッシュ計算部１５０は、上記データ取得部１４８により取得されたデータファイルのハッシュ値（ＣＴ’）を計算する。そして、ハッシュ値照合部１５２は、上記管理情報受信部１４４により受信されたハッシュ値（ＣＴ）と、ハッシュ値計算部１３０により計算されたハッシュ値（ＣＴ’）とを照合して、両ハッシュ値が一致するか否かを判定する。この結果、両ハッシュ値（ＣＴ）、（ＣＴ’）が一致しない場合には、ＣＴが改竄された可能性があるので、コンテンツの利用処理を終了する。一方、両ハッシュ値（ＣＴ）、（ＣＴ’）が一致する場合には、リムーバブルメディア２０から受信したハッシュ値（ＣＴ）が、データ改竄のない正当なものであると判定できる。
【００９１】
後者の場合には、復号部１５４は、上記データ取得部１４８により取得された暗号化データファイル、例えば、暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）を復号（ｄｅｃｒｙｐｔ；暗号解読）し、復号データを出力する。例えば、復号部１５４は、所定の暗号化方式に従い、上記管理情報受信部１４４により受信したＢＮ、メディアＩＤ、秘密鍵を用いて、コンテンツ鍵ファイル（Ｋｔ）を復号する。この復号データは、コンテンツを利用（例えば再生）するコンテンツ利用部（図示せず。）に提供される。復号部１５４は、暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）を復号することで、復号データとして、コンテンツ鍵ファイル（Ｋｔ）を得ることができる。従って、このコンテンツ鍵ファイル（Ｋｔ）を用いて、暗号化コンテンツを復号（ｄｅｃｒｙｐｔ）することで、復号したコンテンツをデコードして再生できるようになる。
【００９２】
以上のように、本実施形態にかかる記録システム１では、コンテンツに関するデータファイルの記録時に、リムーバブルメディア２０が発行したノンス（ＢＮ）を用いて、当該データファイルを暗号化するとともに、当該データファイルと、上記ＢＮ及び当該データファイルのハッシュ値（ＣＴ）とを関連づけてリムーバブルメディア２０に記録しておく。これにより、ＢＮによって、最初に記録されたリムーバブルメディア２０にデータファイルをバインドして、メディア間でのコンテンツの不正コピーを防止できる。そして、コンテンツの利用時には、リムーバブルメディア２０から読み出したデータファイルのハッシュ値（ＣＴ’）を計算し、このハッシュ値（ＣＴ’）と、リムーバブルメディア２０から読み出したＣＴとを照合する。これにより、当該データファイルに対する改竄（不正な巻き戻しなど）を検出でき、コンテンツの不正利用を防止できる。
【００９３】
次に、図６を参照して、本実施形態にかかる記録システム１におけるコンテンツの記録方法について説明する。図６は、本実施形態にかかる記録システム１における記録方法を示すシーケンス図である。
【００９４】
図６に示すように、ホスト装置１０がコンテンツをリムーバブルメディア２０に記録する際に、まず、ホスト装置１０とリムーバブルメディア２０とが、相互認証を行って、セッション鍵Ｋｓを共有する（ステップＳ１０）。この認証後、ホスト装置１０は、リムーバブルメディア２０から、リムーバブルメディア２０に固有に付与されたメディアＩＤを取得する（ステップＳ１２）。このとき、リムーバブルメディア２０側でメディアＩＤのＭＡＣ値を計算し、このＭＡＣ値をメディアＩＤに付加してホスト装置１０に送信してもよい。これにより、メディアＩＤの改竄を防止することができる。
【００９５】
次いで、ホスト装置１０は、リムーバブルメディア２０に対して、ノンス生成要求を送信し、Ｂｉｎｄｈｉｇ  Ｎｏｎｃｅ（ＢＮ）の生成を要求する（ステップＳ１４）。リムーバブルメディア２０は、ホスト装置１０からノンス生成要求を受信すると、乱数データ又はカウンター値等のＢＮを生成する（ステップＳ１６）。このＢＮは、当該記録処理に固有の値であり、当該記録処理が終了すれば、同じ値が生成されることはない。さらに、リムーバブルメディア２０は、改竄を検出できるようにＢＮのＭＡＣ値（Ｄｍ）を計算して（ステップＳ１８）、ＢＮにＭＡＣ値（Ｄｍ）を付加して、ホスト装置１０に返信する（ステップＳ２０）。このＭＡＣ値の計算には、例えば、上記Ｓ１０で共有されたセッション鍵Ｋｓを鍵としてＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号を用いたＣＢＣ−ＭＡＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ−ＭＡＣ）、Ｏ−ＭＡＣ又はＨＭＡＣ（Ｋｅｙｅｄ−Ｈａｓｈｉｎｇ  ｆｏｒ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ）などの関数を用いることができる。以下の、ＭＡＣ値の計算でも同様である。
Ｄｍ＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ）
【００９６】
次いで、ホスト装置１０は、セッション鍵Ｋｓを用いてＢＮのＭＡＣ値（Ｄｍ’）を計算し、リムーバブルメディア２０から送信されたＭＡＣ値（Ｄｍ）と、計算したＭＡＣ値（Ｄｍ’）が一致すること（Ｄｍ’＝Ｄｍ）を確認する（ステップＳ２２）。これにより、リムーバブルメディア２０から取得したＢＮが改竄されていないことを確認できる。ＤｍとＤｍ’が一致しない場合には、ＢＮが改竄されている可能性があるので、記録処理を継続してはならない。
Ｄｍ’＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ）
【００９７】
次いで、ホスト装置１０は、リムーバブルメディア２０から取得したＢＮを用いて、記録対象のコンテンツに関するデータファイル（例えばコンテンツ鍵ファイル（Ｋｔ））を暗号化する（ステップＳ２４）。例えば、ホスト装置１０は、上記Ｓ１２で取得したメディアＩＤと、Ｓ２０で取得したＢＮと、秘密鍵Ｋｍを用いて、コンテンツ鍵ファイル（Ｋｔ）を暗号化する。秘密鍵Ｋｍは、予め別の方法によって、複数のホスト装置１０間で共有されたもの（例えばＭＫＢ）を使用できる。また、暗号化の方法としては、例えば、以下のような「ＡＡＣＳ  Ｒｅｃｏｒｄａｂｌｅ  Ｖｉｄｅｏ  Ｂｏｏｋ」の方式を用いることができる。
ＥｎｃＫｔ＝ＡＥＳ−１２８Ｅ（Ｋｐａ、Ｋｔ  ｘｏｒ  ＡＥＳ−Ｈ（Ｕｓａｇｅ））
Ｋｐａ＝ＡＥＳ−Ｇ（Ｋｍ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ）
【００９８】
なお、ここで暗号化する対象としては、上記コンテンツ鍵（Ｋｔ）の例に限定されず、コンテンツ自身、コンテンツの利用条件を定めたライセンス、コンテンツの識別情報など、コンテンツに関する任意のデータであってもよい。
【００９９】
その後、ホスト装置１０は、上記暗号化したデータファイルを、リムーバブルメディア２０のフラッシュメモリ２１の通常のデータ記憶領域２２に記録する（ステップＳ２６）。記録対象のコンテンツ鍵（Ｋｔ）が複数ある場合、ホスト装置１０は、複数の暗号化されたコンテンツ鍵（ＥｎｃＫｔ）の集合を１つのコンテンツ鍵ファイル（ＥｎｃＫｔ１・・・ＥｎｃＫｔｎ）にまとめて、このファイルをリムーバブルメディア２０に記録してもよい。
【０１００】
次いで、ホスト装置１０は、上記暗号化されたコンテンツ鍵ファイル（ＥｎｃＫｔ）１・・・ＥｎｃＫｔｎのハッシュ値を計算する（ステップＳ２８）。このハッシュ値が、上記Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ（ＣＴ）である。このときのハッシュ計算方法としては、例えば、例えば、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）等のハッシュ関数を用いてもよいし、或いは、ホスト装置１０が保有する秘密鍵Ｋｍを鍵としたＭＡＣ値を用いてもよい。
Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ＝Ｈａｓｈ（ＥｎｃＫｔ１｜｜  …  ｜｜ＥｎｃＫｔｎ）
【０１０１】
さらに、ホスト装置１０は、セッション鍵Ｋｓを用いて、上記ハッシュ計算して得られたＣＴのＭＡＣ値（Ｄｍ２）を計算する（ステップＳ３０）。このとき、以下の式１のように、ＣＴのみのハッシュ値Ｄｍ２を求めてもよいが、式２のように、上記ＣＴとＢＮとを合わせた値のＭＡＣ値（Ｄｍ２）を計算する方が好ましい。これにより、ＭＡＣ値（Ｄｍ２）は、ＢＮとＣＴの双方を反映した値となるので、後述するように、最新のＢＮにのみ関連づけて、コンテンツを記録できるので、コンテンツの書き戻しを防止でき、安全性が高まる。
Ｄｍ２＝ＭＡＣ（Ｋｓ、Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）・・・式１
又は
Ｄｍ２＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ｜｜Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）  ・・・式２
【０１０２】
よって、上記相互認証によりセッション鍵Ｋｓの項後に、リムーバブルメディア２０において複数のＢＮが生成された場合に、後述のＳ３４で、最新のＢＮについてのＣＴの検証が可能となり、安全性が向上する。
【０１０３】
その後、ホスト装置１０は、上記生成されたＢＮをリムーバブルメディア２０に記録することを要求するためのノンス記録要求をリムーバブルメディア２０に送信する（ステップＳ３２）。このノンス記録要求は、上記Ｓ２８で計算したＣＴと、上記Ｓ３０で生成したＭＡＣ値（Ｄｍ２）を含む。
【０１０４】
リムーバブルメディア２０は、ホスト装置１０からノンス記録要求（ＣＴとＤｍ２）を受信すると、ＭＡＣ値の検証を行う（ステップＳ３４）。即ち、リムーバブルメディア２０は、セッション鍵Ｋｓを用いて、上記ホスト装置１０から受信したＣＴのＭＡＣ値（Ｄｍ２’）・・（式３）、又は当該ＣＴとＢＮの合わせた値のＭＡＣ値（Ｄｍ２’）・・（式４）を計算し、ホスト装置１０から送信されたＭＡＣ値（Ｄｍ２）と、計算したＭＡＣ値（Ｄｍ２’）が一致すること（Ｄｍ２’＝Ｄｍ２）を確認する。これにより、ホスト装置１０から取得したＣＴが改竄されていないことを確認できる。Ｄｍ２とＤｍ２’が一致しない場合には、ＣＴが改竄されている可能性があるので、記録処理を継続してはならず、上記コンテンツ鍵ファイルをフラッシュメモリ２１から削除する。
Ｄｍ２’＝ＭＡＣ（Ｋｓ、Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）  ・・・式３
又は
Ｄｍ２’＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ｜｜Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）  ・・・式４
【０１０５】
この結果、両ＭＡＣ値（Ｄｍ２）、（Ｄｍ２’）が一致することを確認できた場合には、リムーバブルメディア２０は、上記Ｓ１６で生成したＢＴとともに、上記Ｓ３２でホスト装置１０から受信したＣＴを、フラッシュメモリ２１のデータ管理領域２３に関連づけて記録する（ステップＳ３６）。なお、もしＢＮと対応するＣＴが既にフラッシュメモリ２１に記録されている場合には、上書きはしない。これにより、同一のＢＮの重複登録を防止できる。
【０１０６】
以上のように、本実施形態にかかる記録方法では、リムーバブルメディア２０にコンテンツ鍵（Ｋｔ）等のデータファイルを記録する際に、リムーバブルメディア２０でユニークなＢＮを払い出し、このＢＮでデータファイル（Ｋｔ）を暗号化し、この暗号化したデータファイル（ＥｎｃＫｔ）と、ＢＮとを１：１対応で関連づけて安全に記録する。このとき、ＢＮとデータファイルのみを記録してしまうと、両者はフラッシュメモリ２１の相異なる記憶領域２２、２３に記録されるので、何の関連性もなくなってしまう。そこで、本実施形態では、当該データファイルのハッシュ値であるＣＴを、ＢＮに関連づけてデータ管理領域２３に記録する。このＣＴは、当該データファイル自体を表す識別情報として機能するものである。従って、ＣＴをＢＮに関連づけてデータ管理領域２３に記録しておくことにより、データ管理領域２３に記録されるＢＮと、通常のデータ記憶領域２２に記録されるデータファイルとを関連づけることができる。
【０１０７】
なお、この観点からは、ＣＴの代わりに、コンテンツ鍵（Ｋｔ）等のデータファイル自体を、データ管理領域２３に記録しても、ＢＮとデータファイルとを関連づけることができる。しかし、リムーバブルメディア２０が有するセキュアなデータ管理領域２３は、限られた所定サイズの記憶領域（例えば数１０ｋバイト）であるので、データ量を所定サイズ以下に抑える必要がある。そこで、本実施形態のように、データファイルのハッシュ値であるＣＴをデータ管理領域２３に記録することで、データ管理領域２３のデータ量を削減できる。
【０１０８】
以上のように、リムーバブルメディア２０にＢＮとＣＴとを関連づけて記録することで、従来の記録方式（図１）のようにコンテンツ鍵（Ｋｔ）等のデータファイルとＢＮとを同時に同一セクタに記録する必要がなくなり、データファイルとＢＮとを別々の記録領域に異なるタイミングで記録できる。よって、記録するデータファイルのファイル形式の自由度が高まる。
【０１０９】
また、コンテンツ鍵（Ｋｔ）等のデータファイルを暗号化するときには（Ｓ２４）、メディアIDとコンテンツ鍵（Ｋｔ）とは暗号的に関連付けられる。これにより、データファイルを利用する際には、そのメディアＩＤを有するリムーバブルメディア２０に当該データファイルが記録されている状態でのみ、利用可能である。このように、データファイルをリムーバブルメディア２０にバインドできるので、メディア間での当該データファイルの不正なコピーを防止できる。
【０１１０】
また、上記Ｓ３０でＣＴのＭＡＣ値を計算する際に、ＣＴとＢＮとを合わせた値のＭＡＣ値（Ｄｍ２）を計算し、上記Ｓ３４でこのＭＡＣ値（Ｄｍ２）の正当性を検証することが好ましい。この理由は、次の通りである。即ち、ＣＴとＢＮを合わせた値のＭＡＣ値（Ｄｍ２）を用いてチェックすることで、リムーバブルメディア２０で生成された最新のＢＮを、ＣＴと関連づけてリムーバブルメディア２０に記録できる。これは、例えば、ホスト装置１０とリムーバブルメディア２０との間で１つのセッション鍵Ｋｓの共有中に、リムーバブルメディア２０で複数のＢＮを生成した場合（つまり、コンテンツの記録処理を複数回行った場合）に有効となる。この場合、先に払い出した古いＢＮが有効であると、リムーバブルメディア２０からコンテンツをムーブした後に、当該古いＢＮを用いて、書き戻すことが可能となってしまう。これを防止するためには、リムーバブルメディア２０で生成された最新のＢＮのみを有効にする必要がある。そこで、リムーバブルメディア２０で生成された最新のＢＮが１回のみ有効となるように、ＢＮとＣＴの記録時に、ＢＮとＣＴとを合わせた値のＭＡＣ値（Ｄｍ２）で検証することが好ましい。
【０１１１】
次に、図７を参照して、本実施形態にかかる記録システム１におけるコンテンツの利用方法について説明する。図７は、本実施形態にかかる記録システム１におけるコンテンツの利用方法を示すシーケンス図である。
【０１１２】
図７に示すように、ホスト装置１０がリムーバブルメディア２０に記憶されたコンテンツを利用する際に、まず、ホスト装置１０とリムーバブルメディア２０とが、相互認証を行って、セッション鍵Ｋｓを共有する（ステップＳ５０）。この認証後、ホスト装置１０は、リムーバブルメディア２０から、リムーバブルメディア２０に固有に付与されたメディアＩＤを取得する（ステップＳ５２）。このとき、リムーバブルメディア２０側でメディアＩＤのＭＡＣ値を計算し、このＭＡＣ値をメディアＩＤに付加してホスト装置１０に送信してもよい。これにより、メディアＩＤの改竄を防止することができる。
【０１１３】
次いで、ホスト装置１０は、リムーバブルメディア２０に対して、ＢＮの送信要求を送信し、リムーバブルメディア２０に記憶されているＢＮの送信を要求する（ステップＳ５４）。リムーバブルメディア２０は、ホスト装置１０から送信要求を受信すると、フラッシュメモリ２１のデータ管理領域２３に記憶されているＢＮを読み出す（ステップＳ５６）。このとき、リムーバブルメディア２０は、ホスト装置１０により指定されたコンテンツに関するＢＮを読み出す。図７には示していないが、コンテンツ利用時には、ホスト装置１０は、リムーバブルメディア２０に記憶されているコンテンツ一覧を取得して表示し、このコンテンツ一覧からユーザ選択されたコンテンツを利用対象のコンテンツとして指定する。このように、ホスト装置１０は、予めリムーバブルメディア２０に記録されているコンテンツを把握しており、このうちからユーザ選択されたコンテンツに対応するＢＮの送信を要求する。
【０１１４】
さらに、リムーバブルメディア２０は、改竄を検出できるように、上記Ｓ５０で共有されたセッション鍵Ｋｓを用いて、上記フラッシュメモリ２１から読み出したＢＮのＭＡＣ値（Ｄｍ３）を計算する（ステップＳ５８）。その後、リムーバブルメディア２０は、当該ＢＮにＭＡＣ値（Ｄｍ３）を付加して、ホスト装置１０に返信する（ステップＳ６０）。
Ｄｍ３＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ）
【０１１５】
次いで、ホスト装置１０は、リムーバブルメディア２０からＢＮを受信すると、セッション鍵Ｋｓを用いて、ＢＮのＭＡＣ値（Ｄｍ３’）を計算し、リムーバブルメディア２０から送信されたＭＡＣ値（Ｄｍ３）と、計算したＭＡＣ値（Ｄｍ３’）が一致することを確認する（ステップＳ６２）。これにより、リムーバブルメディア２０から取得したＢＮが改竄されていないことを確認できる。Ｄｍ３とＤｍ３’が一致しない場合には、ＢＮが改竄されている可能性があるので、コンテンツの利用処理を継続してはならない。
Ｄｍ３’＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ）
【０１１６】
次いで、ホスト装置１０は、リムーバブルメディア２０に対して、ＣＴの送信要求を送信し、リムーバブルメディア２０に記憶されているＣＴの送信を要求する（ステップＳ６４）。リムーバブルメディア２０は、ホスト装置１０から送信要求を受信すると、フラッシュメモリ２１のデータ管理領域２３に記憶されているＣＴを読み出す（ステップＳ６６）。このとき、リムーバブルメディア２０は、ホスト装置１０により指定されたコンテンツに関するＣＴ（即ち、上記Ｓ５６で読み出されたＢＮに関連づけられたＣＴ）を読み出す。
【０１１７】
さらに、リムーバブルメディア２０は、改竄を検出できるように、上記Ｓ５０で共有されたセッション鍵Ｋｓを用いて、上記フラッシュメモリ２１から読み出したＣＴとＢＮを合わせた値のＭＡＣ値（Ｄｍ４）を計算する（ステップＳ６８）。その後、リムーバブルメディア２０は、当該ＣＴにＭＡＣ値（Ｄｍ４）を付加して、ホスト装置１０に返信する（ステップＳ７０）。
Ｄｍ４＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ｜｜Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）
【０１１８】
次いで、ホスト装置１０は、リムーバブルメディア２０からＣＴを受信すると、セッション鍵Ｋｓを用いて、ＢＮのＭＡＣ値（Ｄｍ４’）を計算し、リムーバブルメディア２０から送信されたＭＡＣ値（Ｄｍ４）と、計算したＭＡＣ値（Ｄｍ４’）が一致することを確認する（ステップＳ７２）。これにより、リムーバブルメディア２０から取得したＣＴが改竄されていないことを確認できる。Ｄｍ４とＤｍ４’が一致しない場合には、ＣＴが改竄されている可能性があるので、コンテンツの利用処理を継続してはならない。
Ｄｍ４’＝ＭＡＣ（Ｋｓ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ｜｜Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）
【０１１９】
その後、ホスト装置１０は、リムーバブルメディア２０から、フラッシュメモリ２１の通常のデータ記憶領域２２に記憶されている利用対象のコンテンツに関するデータファイルを取得する（ステップＳ７４）。このデータファイルは、例えば、ＢＮ等で暗号化されたコンテンツ鍵（Ｋｔ）のファイル、Ｋｔで暗号化されたコンテンツのファイル、ライセンスなどである。以下では、コンテンツ鍵ファイル（Ｋｔ）を取得した例について説明する。
【０１２０】
次いで、ホスト装置１０は、上記リムーバブルメディア２０から取得したコンテンツ鍵ファイル（ＥｎｃＫｔ１・・・ＥｎｃＫｔｎ）のハッシュ値（ＣＴ’）を計算する（ステップＳ７６）。このハッシュ値を、Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ’（ＣＴ’）と称する。
Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ’＝Ｈａｓｈ（ＥｎｃＫｔ１｜｜  …  ｜｜ＥｎｃＫｔｎ）
【０１２１】
さらに、ホスト装置１０は、上記Ｓ７６で計算したハッシュ値（ＣＴ’）と、上記Ｓ７０でリムーバブルメディア２０から受信したＣＴとを照合し、両ハッシュ値（ＣＴ）、（ＣＴ’）が一致するか否かを確認する（ステップＳ７８）。一致しない場合には、リムーバブルメディア２０から受信したＣＴが改竄されている可能性があるので、コンテンツの利用処理を継続してはならない。
【０１２２】
両ハッシュ値（ＣＴ）、（ＣＴ’）が一致する場合に、ホスト装置１０は、リムーバブルメディア２０から取得したＢＮを用いて、暗号化されたコンテンツ鍵（Ｋｔ）のデータファイルを復号（ｄｅｃｒｙｐｔ）する（ステップＳ８０）。例えば、ホスト装置１０は、上記Ｓ５２で取得したメディアＩＤと、上記Ｓ６０で取得したＢＮと、秘密鍵Ｋｍを用いて、コンテンツ鍵（Ｋｔ）を復号する。秘密鍵Ｋｍは、予め別の方法によって、複数のホスト装置１０間で共有されたもの（例えばＭＫＢ）を使用できる。また、復号の方法としては、上述した暗号化の方法と同様に、例えば、次のような「ＡＡＣＳ  Ｒｅｃｏｒｄａｂｌｅ  Ｖｉｄｅｏ  Ｂｏｏｋ」の方式を用いることができる。
Ｋｔ＝ＡＥＳ−１２８Ｄ（Ｋｐａ、ＥｎｃＫｔ）  ｘｏｒ  ＡＥＳ−Ｈ（Ｕｓａｇｅ））
Ｋｐａ＝ＡＥＳ−Ｇ（Ｋｍ、Ｂｉｎｄｉｎｇ  Ｎｏｎｃｅ）
【０１２３】
以上のようにして、コンテンツ鍵（Ｋｔ）の復号データが得られる。この結果、当該復号されたコンテンツ鍵（Ｋｔ）を用いて、リムーバブルメディア２０内に記憶されている利用対象の暗号化コンテンツを利用できる。詳細には、ホスト装置１０は、当該利用対象のコンテンツのライセンスを評価する。この結果、ライセンスで定められた利用条件（例えば、再生回数、再生期限、コピー回数など）を満たす場合には、ホスト装置１０は、リムーバブルメディア２０から暗号化コンテンツを読み出し、上記復号したコンテンツ鍵（Ｋｔ）を用いて暗号化コンテンツを復号（ｄｅｃｒｙｐｔ）する。さらに、ホスト装置１０は、復号したコンテンツをデコードして、再生データの映像／音声を出力装置１０９から出力する。このようにして、ホスト装置１０は、リムーバブルメディア２０に記憶（バインド）されたコンテンツのうち、ユーザ選択されたコンテンツを利用することができる。
【０１２４】
上記のようなコンテンツ利用方法では、ホスト装置１０は、リムーバブルメディア２０に記録されているＢＮと、コンテンツに関するデータファイル（例えばコンテンツ鍵ファイル（Ｋｔ））のハッシュ値（ＣＴ）とを安全に取得できる。そして、ホスト装置１０は、取得したデータファイルのハッシュ値（ＣＴ’）を計算し、当該ハッシュ値（ＣＴ’）と、リムーバブルメディア２０に記録されているハッシュ値（ＣＴ）とを照合することで、リムーバブルメディア２０に記録されているデータファイルの不正な改竄及び巻き戻しを検出できる。この結果、不正な改竄及び巻き戻しを検出した場合には、コンテンツの利用を禁止することで、これらの不正行為を防止して著作権を保護できる。
【０１２５】
次に、図８及び図９を参照して、本発明の第２の実施形態にかかる記録システム2について説明する。図８は、本発明の第２の実施形態にかかる記録システム２を示す説明図である。図９は、同実施形態にかかる記憶装置である携帯型再生装置３０の構成を示すブロック図である。
【０１２６】
上記第１の実施形態では、記憶装置として、メモリカードなどのリムーバブルメディア２０の例を挙げて説明した。このリムーバブルメディア２０は、コンテンツ等のデータを記憶媒体に記憶する機能を有するが、記憶媒体に記憶したコンテンツを再生する機能を有さないデバイスであった。しかし、本発明の記憶装置は、かかる例に限定されず、例えば、記憶媒体と、当該記憶媒体に対してデータを読み書きするドライブとが一体化された構造のコンテンツ処理装置で構成することもできる。このコンテンツ処理装置は、ドライブ一体型の記憶媒体を備え、この記憶媒体に記憶されたコンテンツを処理（例えば再生処理）する機能を有する電子デバイスである。かかるコンテンツ処理装置は、例えば、携帯型映像／音声プレーヤ、ＰＤＡ、携帯電話などの携帯端末や、デジタルカメラ、デジタルビデオカメラ、ＨＤＤレコーダー等の記録再生装置などを含む。以下では、コンテンツ処理装置として、携帯型再生装置（携帯型映像／音声プレーヤ）の例を挙げて説明する。
【０１２７】
図８に示すように、第２の実施形態にかかる記録システム２は、上記ホスト装置１０（情報処理装置に相当する。）と、このホスト装置１０に接続可能な携帯型再生装置３０とから構成される。携帯型再生装置３０は、ＵＳＢケーブル等の有線ケーブルや、無線ＬＡＮ等の無線通信網を介して、ホスト装置１０に接続される。この携帯型再生装置３０は上記リムーバブルメディア２０と同余に、ＡＡＣＳ仕様に従ったＢＮの生成処理や、記録媒体へのＢＮ及びＣＴの記録処理を実行する。この携帯型再生装置３０の構成について以下に説明する。
【０１２８】
図９に示すように、携帯型再生装置３０は、制御装置３１と、入力装置３２と、記憶媒体であるハードディスク３３と、通信装置３４と、認証装置３５と、ノンス生成装置３６と、検証装置３７と、ドライブ３８と、再生装置３９と、表示装置４０と、音声出力装置４１を備える。
【０１２９】
制御装置３１は、マイクロコントローラなどで構成される。この制御装置３１は、携帯型再生装置３０にインストールされたプログラムに従って動作し、携帯型再生装置３０内の各装置を制御する。入力装置３２は、例えば、タッチパネル、ボタン、スイッチ、レバー等の操作手段と、入力信号を生成して制御装置３１に出力する入力制御回路などから構成されている。携帯型再生装置３０のユーザは、この入力装置３２を操作することにより、携帯型再生装置３０に対して各種のデータを入力したり、処理動作を指示したりすることができる。
【０１３０】
ハードディスク３３は、携帯型再生装置３０における記憶媒体であり、各種のデータを記憶する。ドライブ３８は、ハードディスク３３に対してデータを読み書きするための駆動装置である。このハードディスク３３とドライブ３８は、ＨＤＤを構成する。このＨＤＤには、固有の識別情報であるメディアＩＤが予め付与されており、このメディアＩＤはＨＤＤ内にセキュアに格納されている。このハードディスク３３には、上述したリムーバブルメディア２０のフラッシュメモリ２１と同様に、コンテンツに関するデータファイルなどを記憶する通常のデータ記憶領域２２と、ＢＮとＣＴとが関連づけて記憶するデータ管理領域２３とが設けられる。
【０１３１】
通信装置３４、認証装置３５、ノンス生成装置３６、検証装置３７はそれぞれ、上述したリムーバブルメディア２０（図４参照。）の通信装置２４、認証装置２５、ノンス生成装置２６、検証装置２７と、略同一の機能構成を有するので、詳細説明は省略する。
【０１３２】
再生装置３９は、コンテンツ鍵（Ｋｔ）を用いて暗号化コンテンツを復号（ｄｅｃｒｙｐｔ）する暗号解読装置と、コンテンツをデコードするデコーダ等で構成される。この再生装置３９は、ハードディスク３３に記憶されたコンテンツを再生する機能を有する。再生装置３９により再生されたコンテンツの映像データは、表示装置４０に表示され、音声データは音声出力装置４１から出力される。
【０１３３】
かかる構成の携帯型再生装置３０は、上記リムーバブルメディア２０と同様に図５に示す各機能部を有している。かかる携帯型再生装置３０をホスト装置１０に接続することで、ホスト装置１０が保持するコンテンツを、携帯型再生装置３０のハードディスク３３に記録することができ、また、携帯型再生装置３０に記録されたコンテンツをホスト装置１０で利用することができる。かかるホスト装置１０と携帯型再生装置３０におけるコンテンツの記録及び利用シーケンスは、上記図６及び図７で示したシーケンスと同様であるので、詳細説明は省略する。
【０１３４】
以上、本発明の第１及び第２の実施形態にかかる記録システム１、２の構成と、当該記録システム１、２におけるコンテンツの記録方法及び利用方法について説明した。本実施形態は、ホスト装置１０から、記憶装置であるリムーバブルメディア２０又は携帯型再生装置３０（以下、「メディア２０、３０」と総称する。）にコンテンツを記録して、利用するものである。本実施形態によれば、コンテンツの記録処理ごとにユニークに生成するノンス（ＢＮ）を、ホスト装置１０に安全に送信し、ホスト装置１０は、記録対象のコンテンツに関するデータファイルのハッシュ値（ＣＴ）を生成し、このＣＴとＢＮとを関連づけてメディア２０、３０に安全に記録する。これにより、メディア２０、３０に記録されたコンテンツの不正なコピーや巻き戻しを防止することができる。
【０１３５】
また、本実施形態にかかる記録方式は、記録対象のコンテンツに関するデータファイル（例えば、コンテンツ自体やコンテンツ鍵（Ｋｔ）のファイル）のフォーマットに依存せず、かつ、メディア２０、３０の記録フォーマットにも依存しないようにできるという利点がある。
【０１３６】
即ち、従来のＡＡＳＣに準拠したＢＤ等の光ディスクに対する記録方式（図１参照。）では、コンテンツ鍵ファイル（Ｋｔ）等のデータファイルとＢＮを同時に同一セクタに記録するために、ＢＮの生成時に予め、ホスト装置はコンテンツ鍵ファイルを記録する光ディスク上のアドレスを指定する必要があり、メディア（光ディスク）の物理フォーマットに強く依存してしまっていた。このため、データファイルの記録手順が制限されてしまうので、ＰＴＰやＭＴＰなどといったファイル単位のアクセス方法を採るメディアに不向きであった。さらに、メディアに記録されたデータファイルが書き換え（変更・削除）られた場合には、このデータファイルに対応するＢＮも削除しなければならなかった。このため、ＢＮに対応するデータファイルの書き換えを常時監視する必要があった。
【０１３７】
これに対し、本実施形態にかかる記録方式では、データファイルのハッシュ値（ＣＴ）を用いて、ＢＮとで他ファイルとを関連づけるので、データファイルとＢＮを同時に同一アドレスに記録しなくてもよく、記憶媒体内の別領域２２、２３に別々のタイミングで記録してもよい。従って、データファイルの記録手順の自由度が高まるので、上記のファイル単位のアクセス方法を採るメディアに対しても好適に適用できる。
【０１３８】
さらに、本実施形態によれば、ＢＮの生成要求時にホスト装置１０は、従来のようにデータファイルを記録するアドレスを予め把握しておく必要がなく、メディアに対してデータファイルの記録と同時にＢＮも記録するように宣言しておく必要もない。よって、かかる把握や宣言に要する処理を省略でき、装置構成をシンプルにでき、処理負荷を低減できる。
【０１３９】
加えて、本実施形態では、コンテンツの利用時に、データファイルのハッシュ値（ＣＴ）に基づきデータファイルの改竄の検証を行う。従って、メディア２０、３０に記録されたデータファイルが書き換えられた場合でも、このデータファイルに対応するＢＮを削除する必要がなく、ＢＮに対応するデータファイルの書き換えを常時監視する必要がない。
【０１４０】
さらに、本実施形態では、メディア２０、３０からのコンテンツの一時待避も可能である。つまり、従来の記録方式では、ＢＤ上においてＢＮとデータファイルが一体化して管理されているので、データファイルのみを一時待避（メディアから一旦消去して、その後に、同一ファイルを書き戻す）することができなかった。これに対し、本実施形態にかかる記録方式では、ＢＮはデータ管理領域２３に記録され、データファイルと別々に管理されているので、データファイルのみ通常領域から一時待避して書き戻しても、管理領域２３に残存しているＢＤを用いて、当該データファイルの再利用が可能である。
【０１４１】
また、本実施形態にかかる記録方式では、従来の記録方式のようにＢＮの生成時にデータファイルを記録するメディアのアドレスを予め把握しておく必要がない。従って、本実施形態にかかる記録方式は、メディア２０、３０に記録するデータファイルの記録フォーマットに依存しなくて済む。よって、ホスト装置１０のアプリケーションによって、データファイルの記録方法を自由に選択できるという利点がある。
【０１４２】
例えば、本実施形態にかかる記録方式は、メディア２０、３０上に１つの巨大ファイルを生成し、これを仮想的なファイルシステムとして、この中にコンテンツ鍵ファイルやコンテンツを記録する場合や、コンテンツ鍵ファイルやコンテンツを圧縮して１つのファイルとして記録するような場合などにも、柔軟に対応できる。これについて、図１０を参照して具体的に説明する。
【０１４３】
本実施形態にかかる記録方式によれば、図１０（ａ）に示すように、リムーバブルメディア２０にコンテンツ鍵やコンテンツのデータファイルを、一般的なディレクトリ構造でノーマルに記録することができる。また、図１０（ｂ）に示すように、コンテンツ鍵やコンテンツなどの複数のデータファイルの集合であるディスクイメージを１つのファイル２０１にして記録することもできる。さらに、図１０（ｃ）に示すように、コンテンツ鍵やコンテンツなどの複数のデータファイルの集合を、Ｚｉｐなどのファイル圧縮形式で１つのファイル３０１に圧縮したり、ＴＡＲ（Ｔａｐｅ  Ａｒｃｈｉｖａｌ  ａｎｄ  Ｒｅｔｒｉｅｖａｌ  ｆｏｒｍａｔ）などのアーカイブ形式で１つのファイルにまとめたりして、記録することもできる。
【０１４４】
以上のように、本実施形態によれば、ファイル単位のアクセス方法を採るメディア２０、３０に対しても、比較的自由なシーケンスでコンテンツをセキュアに記録することができる。また、メディア上のデータファイルの記録フォーマットに依存しない方式で、コンテンツをセキュアにメディアに記録することができる。
【０１４５】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１４６】
例えば、上記実施形態では、ホスト装置１０からメディア２０、３０に記録されるデータファイルのハッシュ値（即ち、Ｃｏｎｔｅｎｔ  Ｔｏｋｅｎ）として、コンテンツ鍵（Ｋｔ）のハッシュ値を用いたが、本発明はかかる例に限定されない。例えば、当該ハッシュ値として、コンテンツ自体、コンテンツ鍵、ライセンス、コンテンツの識別情報、若しくはこれらの組合せなど、コンテンツに関する任意のデータファイルのハッシュ値を用いてもよい。
【図面の簡単な説明】
【０１４７】
【図１】従来のＡＡＣＳ方式による光ディスクへのコンテンツの記録方法を示すシーケンス図である。
【図２】本発明の第１の実施形態にかかる記録システムを、従来の光ディスクをメディアとした記録システムと比較して示す説明図である。
【図３】同実施形態にかかるホスト装置の構成を示すブロック図である。
【図４】同実施形態にかかるリムーバブルメディアの構成を示すブロック図である。
【図５】同実施形態にかかるホスト装置とリムーバブルメディアの機能構成を示すブロック図である。
【図６】同実施形態にかかる記録システムにおける記録方法を示すシーケンス図である。
【図７】同実施形態にかかる記録システムにおけるコンテンツの利用方法を示すシーケンス図である。
【図８】本発明の第２の実施形態にかかる記録システムを示す説明図である。
【図９】同実施形態にかかる記憶装置である携帯型再生装置の構成を示すブロック図である。
【図１０】本発明の第１の実施形態にかかるリムーバブルメディアに記録されたファイル例を示す説明図である。
【符号の説明】
【０１４８】
１、２  記録システム
１０    ホスト装置（情報処理装置）
２０    リムーバブルメディア（記憶装置）
２１    フラッシュメモリ（記憶媒体）
２２    通常のデータ記憶領域
２３    セキュアなデータ管理領域
２４    通信装置
２５    認証装置
２６    ノンス生成装置
２７    検証装置
３０    携帯型再生装置（記憶装置）
３３    ハードディスク（記憶媒体）
３８    ドライブ
１２２    認証部
１２４    ノンス生成要求部
１２６    ノンス受信部
１２８    検証部、
１３０    暗号化部
１３２    コンテンツデータベース
１３４    データ記録部
１３６    ハッシュ計算部
１３８    ＭＡＣ値計算部
１４０    ノンス記録要求部
１４２    送信要求部
１４４    管理情報受信部
１４６    検証部
１４８    データ取得部
１５０    ハッシュ計算部
１５２    ハッシュ値照合部
１５４    復号部
２０２    認証部
２０４    ノンス生成要求受信部
２０６    ノンス生成部
２０８    ＭＡＣ値計算部
２１０    ノンス送信部
２１２    ノンス記録要求受信部
２１４    検証部
２１６    ノンス記録部
２１８    送信要求受信部
２２０    ＭＡＣ値計算部
２２２    管理情報送信部
【図１】
0004687703.tif 000002
【図２】
0004687703.tif 000003
【図３】
0004687703.tif 000004
【図４】
0004687703.tif 000005
【図５】
0004687703.tif 000006
【図６】
0004687703.tif 000007
【図７】
0004687703.tif 000008
【図８】
0004687703.tif 000009
【図９】
0004687703.tif 000010
【図１０】
0004687703.tif 000011