(57)【特許請求の範囲】
【請求項１】
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置。
【請求項２】
前記第１のＡＰＩは第三者に公開された公開ＡＰＩであり、前記第２のＡＰＩは第三者に公開されていない非公開ＡＰＩであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ＢＣＡドライバ実行部は、
前記アプリケーションからの第２のＡＰＩ呼び出しに応じて、前記ドライブ装置との認証処理を実行し、ＢＣＡドライバおよびドライブ装置相互の正当性が確認されたことを条件として、ドライブ装置に対してメディアＩＤの読み取りを実行させることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記ＢＣＡドライバ実行部は、
前記アプリケーションからの第２のＡＰＩ呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、前記ドライブ装置との認証処理を実行することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ＢＣＡドライバ実行部は、
ＢＣＡドライバの実行ステップごとにＢＣＡドライバに対する改竄検証処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記アプリケーションおよびＢＣＡドライバはディスクに記録され、
前記アプリケーション実行部と前記ＢＣＡドライバ実行部は、ディスクに記録されたアプリケーションおよびＢＣＡドライバを各々読み取って実行することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバは、改竄検証用データを有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置。
【請求項８】
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバは、改竄検証用データとしてＢＣＡドライバ構成データの所定データ単位の数値加算データとして構成されたチェックサムデータを有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記チェックサムデータを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置。
【請求項９】
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバは、改竄検証用データと、該改竄検証用データに対するハッシュ値を有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行するとともに、前記ハッシュ値を適用して前記改竄検証用データに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置。
【請求項１０】
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置。
【請求項１１】
コンテンツと、
コンテンツの利用プログラムであるアプリケーションと、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤと、
前記メディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムと、該プログラムに対する改竄検証用データを含み、前記アプリケーションの利用可能なＡＰＩを含むＢＣＡドライバを記録したディスクであり、
前記コンテンツを利用する情報処理装置において、ＢＣＡドライバがアプリケーションからの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて前記改竄検証用データを適用したＢＣＡドライバの改竄検証を実行し、改竄無しの確認がなされたことを条件としてメディアＩＤの読み取りを実行させる第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーションに提供する処理を実行させることを可能としたディスク。
【請求項１２】
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理方法。
【請求項１３】
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバは、改竄検証用データを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法。
【請求項１４】
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバは、改竄検証用データとしてＢＣＡドライバ構成データの所定データ単位の数値加算データとして構成されたチェックサムデータを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記チェックサムデータを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法。
【請求項１５】
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバは、改竄検証用データと、該改竄検証用データに対するハッシュ値を有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行するとともに、前記ハッシュ値を適用して前記改竄検証用データに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法。
【請求項１６】
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法。
【請求項１７】
ディスク記録コンテンツの利用を行なう情報処理装置において情報処理を実行させるプログラムであり、
アプリケーション実行部に、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行させるアプリケーション実行ステップと、
ＢＣＡドライバ実行部に、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行させるＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行しＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタとダミーポインタを混在させたデータをアプリケーション実行部に対して提供する処理を実行させるステップであることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ディスク、および情報処理方法、並びにプログラムに関する。さらに、詳細には情報記録媒体の格納コンテンツの利用制御を行う情報処理装置、ディスク、および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
コンテンツの記録媒体としてＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）などのディスクが利用されている。例えば映画コンテンツなどがディスク（例えばＲＯＭディスク）に記録されてユーザに提供されるが、これらのディスク記録コンテンツは、その作成者あるいは販売者に著作権、頒布権等が保有されたコンテンツである場合が多い。このようなコンテンツについては例えば許可のないコピー（複製）等を防止するための利用制御がなされる。
【０００３】
コンテンツ著作権保護に関する規格としてＡＡＣＳ（Ａｄｖａｎｃｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｅｎｔ  Ｓｙｓｔｅｍ）がある。ＡＡＣＳは高度な共通鍵暗号（ＡＥＳ暗号）を基本とした著作権保護技術を規定している。ＡＡＣＳの規定では、コンテンツ利用処理、例えばディスクからのコンテンツ再生やコンテンツのコピー記録処理等を行なう場合、ディスクに記録された識別情報、例えばディスク固有の識別情報（メディアＩＤ）であるＰＭＳＮ（Ｐｒｅ−ｒｅｃｏｒｄｅｄ  Ｍｅｄｉａ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ）を読み取り、ＡＡＣＳで規定するシーケンスに従った処理、例えば認証処理や暗号処理を行なうことが必要となる。ＡＡＣＳ規定に従ったコンテンツ格納ディスクの場合、ディスクのＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）にディスク固有の識別情報であるＰＭＳＮが記録されている。
【０００４】
ＢＣＡ領域は、通常のデータ記録領域と異なる領域であり、通常のデータ記録方式と異なる物理的なカッティングによってデータが記録される。従ってＢＣＡ領域の記録データは書き換えが困難であり、再生処理においても通常のデータ再生処理とは異なる特殊な読み取り処理が必要となる。
【０００５】
図１は、コンテンツを記録したディスク（情報記録媒体）１００の記録データを説明する図である。ディスク１００は、例えば、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）などのディスクであり、データ記録領域に映画などのコンテンツが記録されている。
【０００６】
ディスク１００は、コンテンツなどを記録したデータ記録領域１１０と、ディスク固有の識別情報であるメディアＩＤ（例えばＰＭＳＮ：Ｐｒｅ−ｒｅｃｏｒｄｅｄ  Ｍｅｄｉａ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ）１２１を記録したＢＣＡ領域（バーストカッテイング領域）１２０を有している。
【０００７】
ディスク１００のデータ記録領域１１０には例えば以下のデータが記録されている。
例えば映画などのコンテンツ１１１、
コンテンツの再生やコピー処理などコンテンツ利用処理を実行するために適用するプログラムであるアプリケーション１１２、
ＢＣＡ領域１２０からのメディアＩＤ読み取り処理を実行させるプログラムであるＢＣＡドライバ１１３、
なお、ＢＣＡドライバ１１３は、ディスクのデータ読み取りを実行するドライブ装置との認証処理を実行してドライブ装置の正当性を確認し、ドライブ装置の正当性が確認された場合にのみドライブ装置に対してメディアＩＤ（ＰＭＳＮ）の読み取りを実行させる。ＢＣＡドライバには、認証処理において利用される秘密鍵１１４が含まれる。
【０００８】
ディスク１００のＢＣＡ領域１２０には、
ディスク固有の識別情報であるメディアＩＤ（ＰＭＳＮ）１２１が記録されている。
前述したようにＢＣＡ領域は、通常のデータ記録領域と異なる領域であり、通常のデータ記録方式と異なる物理的なカッティングによってデータが記録される。従ってＢＣＡ領域の記録データは書き換えが困難であり、再生処理においても通常のデータ再生処理とは異なる特殊な読み取り処理が必要となる。
【０００９】
ＡＡＣＳの一規定によれば、ディスク記録領域１１０に記録されたコンテンツ１１１を他のメディア、例えばハードディスクやポータブルデバイスなどにコピーする場合、外部の管理サーバからコピー許可情報を取得することが必要であり、コピー許可情報の取得のためにはメディアＩＤ１２１を管理サーバに送信しなければならない。
【００１０】
しかし、ＢＣＡ領域１２０からのメディアＩＤ１２１読み取り処理は、ＡＡＣＳ規定に従ったＢＣＡドライバ１１３によってのみ実行可能であり、ＢＣＡドライバ１１３は、ＡＡＣＳ規定に従ってディスク１００を装着したドライブ装置との相互認証を実行して、ドライブ装置およびＢＣＡドライバ双方の正当性確認を行なった後、メディアＩＤ１２１の読み取りを実行して、取得したメディアＩＤをアプリケーションに提供するという処理が行なわれる。
【００１１】
この処理シーケンスの一例について図２を参照して説明する。図２には、アプリケーション１１２とＢＣＡドライバ１１３を示している。ディスク再生を実行するＰＣや再生装置などの情報処理装置は、ディスク１００からアプリケーション１１２とＢＣＡドライバ１１３を読み出して実行する。
【００１２】
なお、ＢＣＡドライバ１１３はＡＡＣＳ規定に従って生成されたプログラムであり、ＡＡＣＳ規定に従った認証処理やＢＣＡ領域からのメディアＩＤの読み取りなどを実行する。一方、アプリケーション１１２は、第三者が任意に製作可能なプログラムである。従って、不正なプログラム、例えばメディアＩＤ情報を不正に取得しようとして生成されたプログラムである可能性もある。
【００１３】
アプリケーション１１２はＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しをＢＣＡドライバ１１３に対して実行する。このＡＰＩは、ＢＣＡドライバに対するメディアＩＤの取得要求を行なわせる関数からなるＡＰＩであり、公開されたＡＰＩであり、第三者が自由に利用できる。
【００１４】
ＢＣＡドライバ１１３は、ステップＳ１１において、アプリケーション１１２からのＡＰＩ呼び出しに応じて、メディアＩＤの提供処理のための一連の処理を開始する。まず、ステップＳ１２においてディスクからのデータ読み取りを行なうドライブ装置との認証処理を行い、ドライブ装置およびＢＣＡドライバ双方の正当性確認を実行する。認証処理はＡＡＣＳ規定に従った認証処理として実行される。
【００１５】
ステップＳ１３において認証が成立せず、双方の正当性が確認されなかった場合は、アプリケーション１１２に対してエラーを通知し、メディアＩＤの読み取りを実行することなく処理を終了する。
【００１６】
一方、ステップＳ１３において認証が成立し、双方の正当性が確認された場合は、ステップＳ１４において、ドライブ装置にＢＣＡ領域からのメディアＩＤ読み取りを実行させて、読み取ったメディアＩＤをアプリケーション１１２に提供するという処理が行なわれる。
【００１７】
その後、アプリケーション１１２は、ＢＣＡドライバ１１３から取得したメディアＩＤを管理サーバに送信し、コンテンツのコピー許可情報や、その他のサービス情報などを受領する。
【００１８】
この一連の処理において問題となるのは、アプリケーション１１２は第三者が任意に製作可能なプログラムであり、例えばメディアＩＤ情報を不正に取得しようとして生成された不正プログラムである可能性もあることである。図２に示すシーケンスでは、不正アプリケーションを利用した場合でも、公開ＡＰＩを利用することで、ＢＣＡドライバからメディアＩＤを取得することは容易に実行可能であり、メディアＩＤの不正取得や、不正取得したメディアＩＤを利用したコンテンツの不正利用が行なわれる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は、例えば上記の問題点に鑑みてなされたものであり、ディスクのメディアＩＤの不正取得を防止し、コンテンツの厳格な利用制御を実現する情報処理装置、ディスク、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の第１の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置にある。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記第１のＡＰＩは第三者に公開された公開ＡＰＩであり、前記第２のＡＰＩは第三者に公開されていない非公開ＡＰＩであることを特徴とする。
【００２２】
さらに、本発明の情報処理装置の一実施態様において、前記ＢＣＡドライバ実行部は、前記アプリケーションからの第２のＡＰＩ呼び出しに応じて、前記ドライブ装置との認証処理を実行し、ＢＣＡドライバおよびドライブ装置相互の正当性が確認されたことを条件として、ドライブ装置に対してメディアＩＤの読み取りを実行させることを特徴とする。
【００２３】
さらに、本発明の情報処理装置の一実施態様において、前記ＢＣＡドライバ実行部は、前記アプリケーションからの第２のＡＰＩ呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、前記ドライブ装置との認証処理を実行することを特徴とする。
【００２４】
さらに、本発明の情報処理装置の一実施態様において、前記ＢＣＡドライバ実行部は、ＢＣＡドライバの実行ステップごとにＢＣＡドライバに対する改竄検証処理を実行することを特徴とする。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記ＢＣＡドライバ実行部は、前記第２のＡＰＩのポインタとダミーポインタを混在させたデータを前記アプリケーション実行部に提供する処理を実行することを特徴とする。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記アプリケーションおよびＢＣＡドライバはディスクに記録され、前記アプリケーション実行部と前記ＢＣＡドライバ実行部は、ディスクに記録されたアプリケーションおよびＢＣＡドライバを各々読み取って実行することを特徴とする。
【００２７】
さらに、本発明の第２の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバは、改竄検証用データを有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置にある。
【００２８】
さらに、本発明の第３の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバは、改竄検証用データとしてＢＣＡドライバ構成データの所定データ単位の数値加算データとして構成されたチェックサムデータを有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記チェックサムデータを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置にある。
【００２９】
さらに、本発明の第４の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバは、改竄検証用データと、該改竄検証用データに対するハッシュ値を有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行するとともに、前記ハッシュ値を適用して前記改竄検証用データに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置にある。
【００３０】
さらに、本発明の第５の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置であり、
ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行部と、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行部を有し、
前記ＢＣＡドライバ実行部は、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理装置にある。
【００３１】
さらに、本発明の第６の側面は、
コンテンツと、
コンテンツの利用プログラムであるアプリケーションと、
ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤと、
前記メディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムと、該プログラムに対する改竄検証用データを含み、前記アプリケーションの利用可能なＡＰＩを含むＢＣＡドライバを記録したディスクであり、
前記コンテンツを利用する情報処理装置において、ＢＣＡドライバがアプリケーションからの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて前記改竄検証用データを適用したＢＣＡドライバの改竄検証を実行し、改竄無しの確認がなされたことを条件としてメディアＩＤの読み取りを実行させる第２のＡＰＩのポインタをアプリケーションに提供する処理を実行させることを可能としたディスクにある。
【００３３】
さらに、本発明の第７の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行することを特徴とする情報処理方法にある。
【００３９】
さらに、本発明の第８の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバは、改竄検証用データを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法にある。
【００４０】
さらに、本発明の第９の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバは、改竄検証用データとしてＢＣＡドライバ構成データの所定データ単位の数値加算データとして構成されたチェックサムデータを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記チェックサムデータを適用してＢＣＡドライバに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法にある。
【００４１】
さらに、本発明の第１０の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバは、改竄検証用データと、該改竄検証用データに対するハッシュ値を有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、前記改竄検証用データを適用してＢＣＡドライバに対する改竄検証処理を実行するとともに、前記ハッシュ値を適用して前記改竄検証用データに対する改竄検証処理を実行し、ＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法にある。
【００４２】
さらに、本発明の第１１の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置において実行する情報処理方法であり、
アプリケーション実行部が、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行するアプリケーション実行ステップと、
ＢＣＡドライバ実行部が、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行するＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行するステップを含むことを特徴とする情報処理方法にある。
【００４３】
さらに、本発明の第１２の側面は、
ディスク記録コンテンツの利用を行なう情報処理装置において情報処理を実行させるプログラムであり、
アプリケーション実行部に、ディスク記録コンテンツの利用プログラムであるアプリケーションを実行させるアプリケーション実行ステップと、
ＢＣＡドライバ実行部に、ディスクに設けられたＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバを実行させるＢＣＡドライバ実行ステップを有し、
前記ＢＣＡドライバ実行ステップは、
前記アプリケーション実行部からの第１のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行しＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取り処理を実行させるための第２のＡＰＩのポインタをアプリケーション実行部に対して提供する処理を実行させるステップであることを特徴とするプログラムにある。
【００４４】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００４５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００４６】
本発明の一実施例によれば、ディスク記録コンテンツの利用プログラムであるアプリケーションと、ディスクに設けられたＢＣＡ領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバをディスクに記録する構成とし、ＢＣＡドライバは、アプリケーションからの公開ＡＰＩ呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行してＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取りを実行させるための非公開ＡＰＩのポインタをアプリケーションに対して提供する。
【００４７】
このように、本発明の構成では、メディアＩＤの取得処理を実行させるＡＰＩを非公開ＡＰＩとして、アプリケーションの利用可能な公開ＡＰＩをメディアＩＤの取得処理を実行させる非公開ＡＰＩのポインタとして設定し、公開ＡＰＩの呼び出しがあった場合に、ＢＣＡドライバは、各処理の実行前にＢＣＡドライバの改竄検証を実行する。本構成により、例えば、不正アプリケーションが公開ＡＰＩ呼び出しを行なってＢＣＡドライバからメディアＩＤを取得しようとしてＢＣＡドライバに対する様々な攻撃、すなわちＢＣＡドライバの改竄を行なうと、ＢＣＡドライバは改竄検証により改竄が行なわれたことを検出し、処理を即座に中止し、不正アプリケーションに対する非公開ＡＰＩの提供を中止することでき、不正アプリケーションによるメディアＩＤの不正取得やコンテンツの不正利用を防止することができる。
【発明を実施するための最良の形態】
【００４８】
以下、図面を参照しながら本発明の情報処理装置、ディスク、および情報処理方法、並びにプログラムの詳細について説明する。
【００４９】
まず、図３を参照して、ディスク固有の識別情報であるメディアＩＤ（ＰＭＳＮ：Ｐｒｅ−ｒｅｃｏｒｄｅｄ  Ｍｅｄｉａ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ）の記録されたディスクの製造、および利用処理の概要について説明する。
【００５０】
ディスクに記録する映画などのコンテンツは、まず、編集スタジオ１３０においてディスク記録用の編集コンテンツとして製作される。その後、ディスク工場１４０において、ＡＡＣＳ規定に従ったコンテンツ暗号化処理などディスク記録用データの生成処理であるプリマスタリング処理（Ｓ１０１）が実行され、その後、ディスク記録データに基づく原盤製造処理であるマスタリング処理（Ｓ１０２）が行なわれ、製造された原盤を利用して多数のディスクの製造、すなわちレプリケーション（Ｓ１０３）が実行される。
【００５１】
このレプリケーション処理におけるディスク製造に際し、各ディスクに対して固有の識別情報、すなわちメディアＩＤ（ＰＭＳＮ）がディスクのＢＣＡ領域に記録される。例えば１６バイト×４ブロックの６４バイトデータからなるメディアＩＤがディスクのＢＣＡ領域に記録される。
【００５２】
前述したようにＢＣＡ領域は、通常のデータ記録領域と異なる領域であり、通常のデータ記録方式と異なる物理的なカッティングによってデータが記録される。従ってＢＣＡ領域の記録データは書き換えが困難であり、再生処理においても通常のデータ再生処理とは異なる特殊な読み取り処理が必要となる。
【００５３】
このようにして製造されたディスク２００は、ユーザによって購入され、ユーザのＰＣや再生装置などの情報処理装置１６０にセットされ、コンテンツ再生やコピーなどのコンテンツ利用処理が行なわれる。コンテンツコピーを行なう場合、ディスクに記録されたメディアＩＤを管理サーバ１７０に送信（Ｓ１５１）し、管理サーバ１７０からコピー許可情報などの利用許可情報を取得（Ｓ１５２）することが必要となる。またその他のサービスを管理サーバ１７０から受領する場合にもメディアＩＤの管理サーバ１７０に対する送信が要求されることがある。
【００５４】
本発明に従ったディスクの構成例について図４を参照して説明する。図４は、コンテンツを記録したディスク（情報記録媒体）２００の記録データを説明する図である。ディスク２００は、例えば、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）などのディスクであり、データ記録領域に映画などのコンテンツが記録されている。
【００５５】
ディスク２００は、コンテンツなどを記録したデータ記録領域２１０と、ディスク固有の識別情報であるメディアＩＤ（例えばＰＭＳＮ：Ｐｒｅ−ｒｅｃｏｒｄｅｄ  Ｍｅｄｉａ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ）２２１を記録したＢＣＡ領域（バーストカッテイング領域）２２０を有している。
【００５６】
ディスク２００のデータ記録領域２１０には例えば以下のデータが記録されている。
例えば映画などのコンテンツ２１１、
コンテンツの再生やコピー処理などコンテンツ利用処理を実行するために適用するプログラムであるアプリケーション２１２、
ＢＣＡ領域２２０からのメディアＩＤ読み取り処理を実行させるプログラムであるＢＣＡドライバ２１３、
なお、ＢＣＡドライバ２１３は、ディスクのデータ読み取りを実行するドライブ装置との認証処理を実行してドライブ装置の正当性を確認し、ドライブ装置の正当性が確認された場合にのみドライブ装置に対してメディアＩＤ（ＰＭＳＮ）の読み取りを実行させる。ＢＣＡドライバには、認証処理において利用される秘密鍵２１４が含まれる。
なお、本発明のディスク２００に記録されたＢＣＡドライバ２１３には改竄検証用データが付加されている。このデータの利用処理については後述する。
【００５７】
さらに、ディスク２００のＢＣＡ領域２２０には、
ディスク固有の識別情報であるメディアＩＤ（ＰＭＳＮ）２２１が記録されている。
【００５８】
次に、図５を参照して、ディスク２００に記録されたコンテンツを他の装置、例えば情報処理装置のハードディスクや外部のポータブル機器などにコピーする場合の処理シーケンスについて説明する。
【００５９】
ユーザは、ステップＳ２０１において、ディスク２００をセットしたＰＣや再生装置などの情報処理装置１６０を起動し、コンテンツ再生やコピー処理を実行するアプリケーション２１２を実行させる。その後、ユーザがアプリケーション２１２に対してコピー要求を入力すると、アプリケーション２１２は、ＢＣＡドライバ２１３に対してメディアＩＤの取得を要求する。
【００６０】
アプリケーション２１２からメディアＩＤの取得要求を受けたＢＣＡドライバは、ステップＳ２０２において、ドライブ装置３００との認証処理を実行する。なお、ドライブ装置３００は、情報処理装置１６０と一体化した構成であっても、あるいはＵＳＢケーブルなどによって接続される別体の構成であってもよい。ステップＳ２０２における認証処理は、ＡＡＣＳ規定に従った認証処理として実行される。認証処理には、ＢＣＡドライバ２１３の有する秘密鍵２１４、ドライブ装置３００の有する秘密鍵３０１が利用される。この処理の詳細については後段で説明する。
【００６１】
ＡＡＣＳ規定に従った認証によりＢＣＡドライバ２１３とドライブ装置３００との双方の正当性が確認されると、ＢＣＡドライバ２１３はドライブ装置３００にＢＣＡ領域からのメディアＩＤ読み取りを実行させてメディアＩＤを取得する。ＢＣＡドライバ２１３は、ステップＳ２０３においてメディアＩＤをアプリケーション２１２に提供する。
【００６２】
アプリケーション２１２は、ステップＳ２０４において、ＢＣＡドライバ２１３から受領したメディアＩＤを管理サーバ１７０に送信する。管理サーバ１７０は、ステップＳ２０５において、メディアＩＤの受領に応じてコピー許可情報などの利用許可情報を情報処理装置１６０に送信する。
【００６３】
アプリケーション２１２は、管理サーバ１７０からのコピー許可情報の受領を条件として、ステップＳ２０６において、ディスク２００に格納されたコンテンツを外部機器３５０などにコピーすることが可能となる。
【００６４】
アプリケーションがＢＣＡドライバからメディアＩＤを取得する一連の処理を簡潔にまとめると、図６に示すシーケンスとなる。図６には、
（１）アプリケーション２１２、
（２）ＢＣＡドライバ２１３、
（３）ドライブ装置３００、
を示している。アプリケーション２１２と、ＢＣＡドライバ２１３はＰＣや再生装置などの情報処理装置において実行される。
ＢＣＡドライバ２１３は、ＡＡＣＳ規定に従った認証処理を実行するＡＡＣＳ認証モジュール２１５を有しており、さらに認証処理において利用する秘密鍵２１４を有している。ドライブ装置３００も認証処理に利用する秘密鍵３０１を有している。
【００６５】
ステップＳ３０１において、アプリケーション２１２がＢＣＡドライバ２１３に対してメディアＩＤを要求する。
次に、ステップＳ３０２において、ＢＣＡドライバ２１３が、ＡＡＣＳ認証モジュールを利用してドライブ装置３００との認証処理を実行する。この認証処理はＡＡＣＳの規定に従ったシーケンスで実行される。
【００６６】
認証が成立しなかった場合は、この時点で処理は中止される。認証が成立し、ＢＣＡドライバ２１３と、ドライブ装置３００双方の正当性が確認されると、次に、ステップＳ３０３において、ドライブ装置３００が、ディスク２００のＢＣＡ領域からメディアＩＤを読み取り、ステップＳ３０４で読み取ったメディアＩＤをＢＣＡドライバ２１３に提供する。
ＢＣＡドライバ２１３は、ステップＳ３０５において、メディアＩＤをアプリケーション２１２に提供する。
【００６７】
次に、図７を参照して、本発明の一実施例に従ったアプリケーションとＢＣＡドライバ間の処理シーケンス、すなわち、アプリケーションからの要求に応じて、ＢＣＡドライバがメディアＩＤを取得してアプリケーションに提供するシーケンスについて説明する。
【００６８】
図７には、アプリケーション２１２とＢＣＡドライバ２１３を示している。ディスクの再生を実行するＰＣや再生装置などの情報処理装置は、ディスク２００からアプリケーション２１２とＢＣＡドライバ２１３を読み出してＣＰＵなどのプログラム実行部において実行する。
【００６９】
すなわち、アプリケーション２１２とＢＣＡドライバ２１３各々は、ディスクを装着したドライブ装置を有する情報処理装置、あるいはドライブ装置と例えばＵＳＢケーブルなどで接続された情報処理装置において実行される。具体的には、アプリケーション２１２は情報処理装置のアプリケーション実行部において実行され、ＢＣＡドライバ２１３は、情報処理装置のＢＣＡドライバ実行部において実行される処理である。
【００７０】
前述したように、ディスクのＢＣＡ領域からのメディアＩＤ（ＰＭＳＮ）読み取り処理は、ＡＡＣＳ規定に従ったＢＣＡドライバによって実行可能である。ＢＣＡドライバはＡＡＣＳ規定に従ってディスクを装着したドライブ装置との相互認証を実行して、ドライブ装置およびＢＣＡドライバ双方の正当性確認を行なった後、メディアＩＤの読み取りを実行して、アプリケーションに提供する。
【００７１】
なお、ＢＣＡドライバ２１３はＡＡＣＳ規定に従って生成されたプログラムであり、ＡＡＣＳ規定に従った認証処理やＢＣＡ領域からのメディアＩＤの読み取りなどを実行する。一方、アプリケーション２１２は、第三者が任意に製作可能なプログラムである。従って、不正なプログラム、例えばメディアＩＤ情報を不正に取得しようとして生成されたプログラムである可能性もある。
【００７２】
アプリケーション２１２はＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しをＢＣＡドライバ２１３に対して実行する。このＡＰＩは、公開されたＡＰＩであり、第三者が自由に利用できる。
【００７３】
この公開ＡＰＩは、ＢＣＡドライバに対するメディアＩＤの取得要求を行なわせる関数からなるＡＰＩではなく、非公開ＡＰＩのポインタを取得させるための関数からなるＡＰＩである。本発明の構成では、ＢＣＡドライバにメディアＩＤ取得を行なわせるＡＰＩは非公開ＡＰＩとして設定される。
【００７４】
すなわち、本発明の構成では、ポインタ取得のためのＡＰＩのみが公開され、アプリケーションを作成する第三者はこの公開ＡＰＩを自由に利用できるが、ＢＣＡドライバにメディアＩＤ取得を行なわせるＡＰＩは非公開ＡＰＩとして設定される。従って、第三者は非公開ＡＰＩの呼び出しを実行するアプリケーションを作成することはできない。
【００７５】
アプリケーション２１２が、公開ＡＰＩの呼び出し処理を行なうと、ＢＣＡドライバ２１３は、ステップＳ５０１において、アプリケーション２１２からのＡＰＩ呼び出しに応じて、公開ＡＰＩに応じた一連の処理を開始する。
【００７６】
まず、ステップＳ５０２において、ＢＣＡドライバに設定された検証用データを利用してＢＣＡドライバ自身の検証処理を実行する。
【００７７】
図８に本発明の構成に従ったディスク２００に記録されるＢＣＡドライバ２１３の例を示す。図８に示すように、ＢＣＡドライバ２１３には予めＢＣＡドライバ全体データに対する改竄検証用データ（チェックサム）４０１が設定されている。改竄検証用データ（チェックサム）４０１は、例えば、ＢＣＡドライバのイメージの先頭アドレスから、データを１バイトごとに数値として加算した合計値として設定される。
【００７８】
図７に示すフロー中のステップＳ５０２では、ＢＣＡドライバに設定された検証用データ（例えば図８に示す改竄検証用データ（チェックサム）４０１）を利用してＢＣＡドライバ自身の検証処理を行なう。この検証処理の詳細シーケンスについて図９に示すフローチャートを参照して説明する。
【００７９】
図９のフローチャートに示す処理は、ＢＣＡドライバがＢＣＡドライバ自身の改竄検証を実行するシーケンスである。まず、ステップＳ６０１において、ＢＣＡドライバ構成全体のチェックサムを計算する。例えば、ＢＣＡドライバのイメージの先頭アドレスから、データを１バイトごとに数値として加算した合計値を算出する。
【００８０】
次に、ステップＳ６０２において、計算されたチェックサムと検証用データとを照合する。検証用データは図８に示す改竄検証用データ（チェックサム）４０１である。ステップＳ６０３において、計算結果＝検証用データ（固定値）が成立するか否かを判定する。成立した場合は検証成立、すなわち改竄なしと判断してステップＳ６０４に進み、処理を続行する。一方、計算結果＝検証用データ（固定値）が成立しない場合は検証不成立、すなわち改竄ありと判断してステップＳ６１１に進み、処理を中止し、アプリケーションに対してエラーを通知する。
【００８１】
図７に戻り、アプリケーションとＢＣＡドライバ間の処理シーケンスについての説明を続ける。ステップＳ５０２で、図９を参照して説明したＢＣＡドライバの改竄検証を行い、改竄ありと判断された場合は、処理を中止してアプリケーションに対してエラーを通知する。改竄なしと判断された場合は、ステップＳ５０３に進む。
【００８２】
ステップＳ５０３では、非公開ＡＰＩポインタ、すなわち、ディスクのＢＣＡ領域からのメディアＩＤの読み取り処理を実行させるための関数を指定するＡＰＩポインタをアプリケーションのアクセス可能なバッファ（要求元バッファ）に格納する。さらに、ステップＳ５０４において、ＢＣＡドライバはＢＣＡドライバの改竄検証、すなわち、ステップＳ５０２と同様の図９を参照して説明した処理を実行する。本実施例では、ＢＣＡドライバは、１つの処理を実行するごとに図９を参照して説明したＢＣＡドライバの改竄検証を実行する構成としている。このように、逐次的に、改竄検証を実行して処理の継続、中止の判断を行なうことで、外部からの様々な攻撃を防御することができる。
【００８３】
ステップＳ５０４における検証処理において、改竄ありと判断された場合は、処理を中止してアプリケーションに対してエラーを通知する。改竄なしと判断された場合は、非公開ＡＰＩポインタがバッファを介してアプリケーション２１２に提供される。
【００８４】
アプリケーション２１２は、ＢＣＡドライバからバッファを介して受領した非公開ＡＰＩポインタを利用して非公開ＡＰＩの呼び出しを実行する。ＢＣＡドライバ２１３は、ステップＳ５１１において非公開ＡＰＩ従った処理を開始する。この非公開ＡＰＩがメディアＩＤの取得処理に適用されるＡＰＩである。
【００８５】
さらにＢＣＡドライバ２１３はステップＳ５１２において、ＢＣＡドライバの改竄検証、すなわち、ステップＳ５０２と同様の図９を参照して説明した処理を実行する。ステップＳ５１２における検証処理において、改竄ありと判断された場合は、処理を中止してアプリケーションに対してエラーを通知する。改竄なしと判断された場合は、ステップＳ５１３に進み、ディスクからのデータ読み取りを行なうドライブ装置との認証処理を行い、ドライブ装置およびＢＣＡドライバ双方の正当性確認を実行する。認証処理は、例えばＡＡＣＳ規定に従った認証処理として実行される。
【００８６】
ステップＳ５１４において認証が不成立、すなわちドライブ装置およびＢＣＡドライバいずれかの正当性が確認されなかった場合は、アプリケーション２１２に対してエラーを通知し、メディアＩＤの読み取りを実行することなく処理を終了する。
【００８７】
一方、ステップＳ５１４において認証が成立し、ドライブ装置およびＢＣＡドライバ双方の正当性が確認された場合は、さらに、ＢＣＡドライバ２１３はステップＳ５１５において、ＢＣＡドライバの改竄検証、すなわち、ステップＳ５０２と同様の図９を参照して説明した処理を実行する。ステップＳ５１５における検証処理において改竄ありと判断された場合は、処理を中止してアプリケーションに対してエラーを通知する。改竄なしと判断された場合はステップＳ５１６に進み、ドライブ装置にＢＣＡ領域からのメディアＩＤ読み取りを実行させて、読み取ったメディアＩＤをアプリケーション２１２に提供する。
【００８８】
その後、アプリケーション２１２は、ＢＣＡドライバ２１３から取得したメディアＩＤを管理サーバに送信し、コンテンツのコピー許可情報や、その他のサービス情報などを受領する。
【００８９】
この図７に示すように、ＢＣＡドライバは１つの処理を実行するごとに図９を参照して説明したＢＣＡドライバの改竄検証を実行する。このように、逐次的に、改竄検証を実行して処理の継続、中止の判断を行なうことで、外部からの様々な攻撃を防御することができる。図９に示すように、ＢＣＡドライバには予めＢＣＡドライバ全体データに対する改竄検証用データ（チェックサム４０１）が記録されており、ＢＣＡドライバは逐次、このデータを利用して改竄検証を行なう。
【００９０】
この改竄検証を繰り返し実行することで、例えば、パッチ当てのアタックやコードの改変をチェックでき、多くのハッカーが利用するハッキングプログラムであるソフトブレーク（Ｉｎｔ３）についてもチェック可能となる。また、インジェクション（不正コード注入）などに対しても有効な防御が可能となる。
【００９１】
なお、図８に示すように検証用データはＢＣＡドライバに付属して記録されるが、チェックサム部を改変されることを避けるため、ＢＣＡドライバの生成に際しては、専用ツールでチェックサムを埋め込むことが好ましい。また、検証用データ（チェックサム）はＢＣＡドライバ全体のイメージの先頭アドレスから、データを１バイトごとに数値として加算した合計値として設定するという構成に限らず、例えば、ＢＣＡドライバ全体ではなくコア部分のデータのみに基づく検証用データとして設定してもよい。
【００９２】
また、さらに、検証用データ自身の改竄を検証するためのハッシュ値を設定する構成としてもよい。
例えば図１０に示すように、検証用データ４０１に基づく検証用データハッシュ値４０２を生成してＢＣＡドライバ２１３の付属データとして記録する。
【００９３】
このような構成とした場合、図７のステップＳ５０２他のＢＣＡドライバ検証処理に際しては、検証用データ４０１を利用したＢＣＡドライバの改竄検証に追加して、さらに検証用データハッシュ値４０２を利用した検証用データ４０１自身の改竄検証も併せて実行することになる。
【００９４】
なお、図７を参照して説明したように、本発明の構成においてアプリケーションは公開ＡＰＩを利用することで、非公開ＡＰＩのポインタを取得する処理を実行させることが可能であり、アプリケーションは取得した非公開ＡＰＩポインタを利用してＢＣＡドライバに対するメディアＩＤの取得を実行させることになるが、さらに非公開ＡＰＩポインタについては、１つのポインタのみをアプリケーションに渡すのではなく、１つの正しいポインタと、ダミーポインタとを混在させたデータをアプリケーションに提供する構成としてもよい。
【００９５】
このポインタデータの構成例を図１１に示す。例えば図１１に示すように、ダミーポインタと正しいポインタとを混在させたデータを予め生成してアプリケーションに提供する。すなわち、ＰＶＯＩＤ  Ｄｕｍｍｙ１［ｎ］とＰＶＯＩＤ  Ｄｕｍｍｙ２［ｎ'］がダミーポインタであり、ＰＶＯＩＤ  ｐＧｅｔＢＣＡＩＤが正しいポインタとなる。ダミーポインタにおけるｎ，ｎ'は数値データである。非公開ＡＰＩは図１１に示すようにダミーのポインタで挟まれた構造になっており、サンドイッチ構造であることも非公開であるため、ＢＣＡドライバに対する様々な攻撃をさらに防止することができる。
【００９６】
アプリケーションは、これら複数のポインタから正しいポインタを選択することが必要となるが、例えば予め承認されたアプリケーション製作者に対してのみポインタの選定情報や選定ツールを提供するといった処理を行なうことで、悪意のあるアプリケーションを利用したポインタ取得を効果的に排除することが可能となる。
【００９７】
図１２に、本発明の一実施例に従ったアプリケーションおよびＢＣＡドライバの主要処理シーケンスを説明するフローを示す。このシーケンスは、図７のフローにおけるステップＳ５０１〜Ｓ５０４の処理を詳細に説明するフローである。
【００９８】
まず、ステップＳ７０１においてアプリケーションは、公開ＡＰＩ関数の呼び出しを実行する。この公開ＡＰＩは非公開ＡＰＩのポインタを取得するためのＡＰＩである。次にステップＳ７０２において、ＢＣＡドライバの改竄検証処理を実行する。具体的には、ＢＣＡドライバに対応するＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋｉｎｇ  Ｌｉｂｒａｒｙ）全体のチェックサムを計算する。すなわち、ＢＣＡドライバに設定された検証用データ（例えば図８に示す改竄検証用データ（チェックサム）４０１）を利用してＢＣＡドライバ自身の検証処理を行なう。
【００９９】
すなわち、ＢＣＡドライバ構成全体のチェックサムを計算する。例えば、ＢＣＡドライバのイメージの先頭アドレスから、データを１バイトごとに数値として加算した合計値を算出し、ステップＳ７０３において、計算されたチェックサムと検証用データとを照合する。検証用データは図８に示す改竄検証用データ（チェックサム）４０１である。ステップＳ７０３において、計算結果＝検証用データ（固定値）が成立した場合は検証成立、すなわち改竄なしと判断してステップＳ７０４に進み、処理を続行する。一方、計算結果＝検証用データ（固定値）が成立しない場合は検証不成立、すなわち改竄ありと判断してステップＳ７１１に進み、処理を中止し、アプリケーションに対してエラーを通知する。
【０１００】
ステップＳ７０４では、非公開ＡＰＩポインタ、すなわち、ディスクのＢＣＡ領域からのメディアＩＤの読み取り処理を実行させるための関数を指定するＡＰＩポインタをアプリケーションのアクセス可能なバッファ（要求元バッファ）に格納する。さらに、ステップＳ７０５において、ＢＣＡドライバはＢＣＡドライバに対応するＤＬＬ全体のチェックサムを計算する。すなわち、ＢＣＡドライバに設定された検証用データ（例えば図８に示す改竄検証用データ（チェックサム）４０１）を利用してＢＣＡドライバ自身の検証処理を行なう。
【０１０１】
ステップＳ７０６で、ＢＣＡドライバの改竄ありと判断された場合は、ステップＳ７１１に進み、処理を中止してアプリケーションに対してエラーを通知する。改竄なしと判断された場合は、ステップＳ７０７に進む。ステップＳ７０７では、非公開ＡＰＩポインタがバッファを介してアプリケーション２１２に提供される。
【０１０２】
アプリケーション２１２は、ＢＣＡドライバからバッファを介して受領した非公開ＡＰＩポインタを利用して非公開ＡＰＩの呼び出しを実行する。その後の処理は、図７のステップＳ５１１以下の処理となる。
【０１０３】
上述したように、本発明の構成では、メディアＩＤの取得処理を実行させるＡＰＩを非公開ＡＰＩとして、アプリケーションの利用可能な公開ＡＰＩを、メディアＩＤの取得処理を実行させる非公開ＡＰＩのポインタとして設定し、公開ＡＰＩの呼び出しがあった場合に、ＢＣＡドライバは、各処理の実行ステップ以前に、ＢＣＡドライバに対する改竄検証を実行する構成としている。
【０１０４】
この構成により、例えば、不正アプリケーションが公開ＡＰＩ呼び出しを行なってＢＣＡドライバからメディアＩＤを取得しようとした場合、非公開ＡＰＩを取得する前にＢＣＡドライバに対して様々な攻撃、すなわちＢＣＡドライバの改竄を行なうと、ＢＣＡドライバは改竄検証において改竄が行なわれたことを検出し、処理を即座に中止し、不正アプリケーションに対する非公開ＡＰＩの提供を中止することでき、不正アプリケーションによるメディアＩＤの不正取得を防止することが可能となる。
【０１０５】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１０６】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールやコピーをして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールやコピーをして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールやコピーする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールやコピーすることができる。なお、上述の実施例において説明したＢＣＡドライバのファイル形式は、ＤＬＬファイルに限らず、例えばＥＸＥファイルなどの形式でもよい。
【０１０７】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１０８】
以上、説明したように、本発明の一実施例の構成によれば、ディスク記録コンテンツの利用プログラムであるアプリケーションと、ディスクに設けられたＢＣＡ領域に記録されたメディアＩＤの読み取り処理をドライブ装置に対して実行させるプログラムであるＢＣＡドライバをディスクに記録する構成とし、ＢＣＡドライバは、アプリケーションからの公開ＡＰＩ呼び出しに応じて、ＢＣＡドライバに対する改竄検証処理を実行してＢＣＡドライバの改竄無しとの確認がなされたことを条件として、メディアＩＤの読み取りを実行させるための非公開ＡＰＩのポインタをアプリケーションに対して提供する。
【０１０９】
このように、本発明の構成では、メディアＩＤの取得処理を実行させるＡＰＩを非公開ＡＰＩとして、アプリケーションの利用可能な公開ＡＰＩをメディアＩＤの取得処理を実行させる非公開ＡＰＩのポインタとして設定し、公開ＡＰＩの呼び出しがあった場合に、ＢＣＡドライバは、各処理の実行前にＢＣＡドライバの改竄検証を実行する。本構成により、例えば、不正アプリケーションが公開ＡＰＩ呼び出しを行なってＢＣＡドライバからメディアＩＤを取得しようとしてＢＣＡドライバに対する様々な攻撃、すなわちＢＣＡドライバの改竄を行なうと、ＢＣＡドライバは改竄検証により改竄が行なわれたことを検出し、処理を即座に中止し、不正アプリケーションに対する非公開ＡＰＩの提供を中止することでき、不正アプリケーションによるメディアＩＤの不正取得やコンテンツの不正利用を防止することができる。
【図面の簡単な説明】
【０１１０】
【図１】ディスク記録データの一例について説明する図である。
【図２】ディスクに記録されたメディアＩＤの読み取りシーケンスについて説明する図である。
【図３】ディスクの製造処理および利用処理の概要について説明する図である。
【図４】本発明の一実施例に従ったディスク記録データの一例について説明する図である。
【図５】ディスクに記録されたメディアＩＤの読み取り、および利用処理シーケンスについて説明する図である。
【図６】ディスクに記録されたメディアＩＤの読み取り処理シーケンスについて説明する図である。
【図７】本発明の一実施例に従ったアプリケーションとＢＣＡドライバ間の処理シーケンスについて説明する図である。
【図８】本発明の一実施例に従ったＢＣＡドライバの改竄検証用データの設定構成について説明する図である。
【図９】本発明の一実施例に従ったＢＣＡドライバの改竄検証シーケンスについて説明する図である。
【図１０】本発明の一実施例に従ったＢＣＡドライバの改竄検証用データの設定構成について説明する図である。
【図１１】ＢＣＡドライバからアプリケーションに提供する非公開ＡＰＩポインタとダミーポインタの混在データ例について説明する図である。
【図１２】本発明の一実施例に従ったアプリケーションとＢＣＡドライバ間の処理シーケンスについて説明するフローチャートを示す図である。
【符号の説明】
【０１１１】
１００  ディスク
１１０  データ記録領域
１１１  コンテンツ
１１２  アプリケーション
１１３  ＢＣＡドライバ
１１４  秘密鍵
１２０  ＢＣＡ領域
１２１  メディアＩＤ（ＰＭＳＮ）
１３０  編集スタジオ
１４０  ディスク工場
１６０  情報処理装置
１７０  管理サーバ
２００  ディスク
２１０  データ記録領域
２１１  コンテンツ
２１２  アプリケーション
２１３  ＢＣＡドライバ
２１４  秘密鍵
２２０  ＢＣＡ領域
２２１  メディアＩＤ（ＰＭＳＮ）
３００  ドライブ装置
３０１  秘密鍵
３５０  外部機器
４０１  検証用データ
４０２  検証用データハッシュ値
【図１】
0005034921.tif 000002
【図２】
0005034921.tif 000003
【図３】
0005034921.tif 000004
【図４】
0005034921.tif 000005
【図５】
0005034921.tif 000006
【図６】
0005034921.tif 000007
【図７】
0005034921.tif 000008
【図８】
0005034921.tif 000009
【図９】
0005034921.tif 000010
【図１０】
0005034921.tif 000011
【図１１】
0005034921.tif 000012
【図１２】
0005034921.tif 000013