(57)【要約】【課題】コンピュータソフトウェアなどのコンテンツが記録されたマルチセッションコンパクトディスクにおいて、ハードウェアに負担となるような物理的コピーガード技術に頼らずに、かつ、通常の製造設備を有する者であれば正規版の製造を可能とするようなコピーガード技術を提供する。【解決手段】第１セッションのＬｅａｄ−ｉｎエリアにおけるＴＯＣデータのうちのＣ０ポインタ行の第９バイトのバイナリデータが「９５」であるかどうかを検証し、この検証に合格した場合にのみ、記録されたコンテンツの実行を可能とする。【選択図】　図１
2004055050.tif 000002
【特許請求の範囲】
【請求項１】
プログラム領域に、インストールプログラム又はアプリケーションプログラム及び当該インストールプログラム又は当該アプリケーションプログラムの実行に先だって実行されるディスク検証用プログラムが記録されたマルチセッションコンパクトディスクであって、
前記ディスク検証用プログラムは、コンピュータを、下記の（イ）から（ヘ）までの各手段として機能させることを特徴とするマルチセッションコンパクトディスク。
（イ）第１セッションのＬｅａｄ−ｉｎエリアにおけるＴＯＣデータを読み出す読出手段。
（ロ）読み出されたＴＯＣデータをメモリ上のＴＯＣ領域に格納する格納手段。
（ハ）前記ＴＯＣ領域に格納されたＴＯＣデータを先頭から１１バイトごとの各行を単位として取得する取得手段。
（ニ）取得された各行のうち第４バイトのバイナリデータがＣ０であるものを検索する検索手段。
（ホ）前記検索手段によって検索された行の第９バイトのバイナリデータが９５であるかどうかを検証する検証手段。
（ヘ）前記検証手段による検証結果が肯定的な場合には当該インストールプログラム又は当該アプリケーションプログラムの実行を許可するとともに、否定的な場合には当該インストールプログラム又は当該アプリケーションプログラムの実行を禁止する実行許可手段。
【請求項２】
前記検証手段はさらに当該行の第１０、第１１バイトのバイナリデータがいずれも００であるかどうかを検証するものであることを特徴とする請求項１記載のマルチセッションコンパクトディスク。
【請求項３】
前記ディスク検証用プログラムは、前記インストールプログラム又は前記アプリケーションプログラムと一体化されていることを特徴とする請求項１又は２記載のマルチセッションコンパクトディスク。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク検証用プログラムを記録したマルチセッションコンパクトディスクに関する。
【０００２】
【従来の技術】
近年、コンピュータソフトウェアなどのコンテンツは、媒体として、コンパクトディスク（以下、「ＣＤ」）に記録された状態で提供されることが一般的となっている。
ところが、ＣＤ−Ｒ又はＣＤ−ＲＷドライブを有するパーソナルコンピュータの普及により、個人的にＣＤのコピーが容易に行えるようになってきた。このため、ソフトウェア製作費用の回収が困難になりつつあるため、近年、ＣＤからＣＤ−Ｒ又はＣＤ−ＲＷへのコピーを制限又は禁止するいわゆるコピーガードの技術が発達してきている。
【０００３】
このようなコピーガード技術としては、具体的には、ＣＤ中に物理的不良セクタを意図的に設けることを利用するものがある。このような例としては、いわゆるＲｉｎｇＰｒｏｔｅｃｔ、ＣＤＣｏｐｓ等がある。
一方、電子署名を利用する技術も存在し、その例としていわゆるＤｉｓｋＧｕａｒｄがある。
【０００４】
さらに、これらの両者を利用する技術も存在し、その例としていわゆるＳａｆｅＤｉｓｋがある。
【０００５】
【発明が解決しようとする課題】
上述のコピーガード技術のうち、ＣＤ中に物理的不良セクタを意図的に設けるものは、正規ＣＤを読み込む際にその不良セクタを認識したり、又は無視したりという作業をＣＤ−ＲＯＭドライブに強いることとなる。したがって、ハードウェアに対する負荷が高く、故障を誘発する可能性が高くなる。
【０００６】
一方、上述の電子署名を利用する技術では、物理的不良セクタを設けるものと比べ、ハードウェア上の負担は避けられるものの、認証機関により認証を受けた者のみがＣＤのマスタリングが可能となっているため、正規版の製造者が限られてしまうという難点がある。
そこで、本発明は、ハードウェアに負担となるような物理的コピーガード技術に頼らずに、かつ、通常の製造設備を有する者であれば正規版の製造を可能とするようなコピーガード技術を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の課題に鑑み、本発明は、プログラム領域に、インストールプログラム又はアプリケーションプログラム及び当該インストールプログラム又は当該アプリケーションプログラムの実行に先だって実行されるディスク検証用プログラムが記録されたマルチセッションコンパクトディスクであって、前記ディスク検証用プログラムは、コンピュータ１００を、下記の（イ）から（ヘ）までの各手段として機能させることを特徴とする。
【０００８】
（イ）第１セッションのＬｅａｄ−ｉｎエリアにおけるＴＯＣデータを読み出す読出手段１１１。
（ロ）読み出されたＴＯＣデータをメモリ上のＴＯＣ領域１４１に格納する格納手段１１２。
（ハ）前記ＴＯＣ領域１４１に格納されたＴＯＣデータを先頭から１１バイトごとの各行を単位として取得する取得手段１１３。
【０００９】
（ニ）取得された各行のうち第４バイトのバイナリデータがＣ０であるものを検索する検索手段１１４。
（ホ）前記検索手段１１４によって検索された行の第９バイトのバイナリデータが９５であるかどうかを検証する検証手段１１４。
（ヘ）前記検証手段１１４による検証結果が肯定的な場合には当該インストールプログラム又は当該アプリケーションプログラムの実行を許可するとともに、否定的な場合には当該インストールプログラム又は当該アプリケーションプログラムの実行を禁止する実行許可手段１１５。
【００１０】
「インストールプログラム」とは、ＣＤからコンピュータ１００のハードディスク等へインストールして実行可能となるプログラムをいう。
「アプリケーションプログラム」とは、コンピュータ１００へのインストール作業なしで、ＣＤ上で直接実行となっているプログラムをいう。
「メモリ」とは、コンピュータ１００が有するメモリをいい、通常はいわゆるＲＡＭ１４０等を指す。
【００１１】
「マルチセッションコンパクトディスク」とは、複数のセッションが記録されているコンパクトディスク（以下、「ＣＤ」）をいう。各セッションは、「Ｌｅａｄ−ｉｎエリア」、「データエリア」及び「Ｌｅａｄ−ｏｕｔエリア」の一連のデータの並びとして構成される。
「Ｌｅａｄ−ｉｎエリア」には、「ＴＯＣデータ」という、当該セッションのデータエリア内に記録されている情報の一覧を表すデータが含まれる。
【００１２】
ＴＯＣデータは、先頭から１１バイトずつを単位とする行が、複数連なったデータ構造となっている。これらの行のうち、第４バイトのバイナリデータが「Ｃ０」であるものを「Ｃ０ポイント行」と称する。
現行のマルチセッションＣＤの規格（いわゆる「レッドブック」及び「オレンジブック」）においては、工場で正規にプレスされたＣＤのＴＯＣデータのうち、このＣ０ポイント行の末尾３バイト、すなわち、第９バイト、第１０バイト及び第１１バイトのバイナリデータはそれぞれ「９５」、「００」及び「００」となることとなっている。
【００１３】
一方、正規版のＣＤからＣＤ−Ｒ又はＣＤ−ＲＷ等にコピーされたＣＤのＴＯＣデータのうち、このＣ０ポイントの末尾３バイトは、それぞれ、「９７」、「＊＊」及び「＊＊」、又は、「９８」、「＊＊」及び「＊＊」となることとなっている。ここで、「＊＊」とは、そのコピーされたＣＤにより異なる数値となることを意味する。
【００１４】
すなわち、本発明は、現行の規格においてはＣ０ポイント行の第９バイトは、正規版ＣＤでは「９５」であることを利用し、そうでない数値である場合にはそのＣＤはコピー品とみなしてそこに記録されているプログラムの実行を禁止することで、実質的に正規版ＣＤのコピーを防止することとしている。
なお、上述の「読出手段１１１」、「格納手段１１２」、「取得手段１１３」、「検索手段１１４」、「検証手段１１４」及び「実行許可手段１１５」の各手段は、たとえば、コンピュータ１００中のＣＰＵ１１０などの制御手段が、当該ディスク検証用プログラムの各部分を実行することにより実現されることとなる。
【００１５】
したがって、本発明に係るマルチセッションＣＤでは、正規版のＣＤからＣＤ−ＲやＣＤ−ＲＷへのコピーそのものは可能であるものの、そのコピーＣＤからのプログラムの実行又はインストールを不可能とすることで、結局正規版ＣＤからのみプログラムの実行又はインストールが可能となっている。すなわち、結果としてコピーを禁止することと同様の効果が発揮されることとなっている。
【００１６】
また、上記の技術はＣＤ中に物理的な不良セクタを設けることは不要なので、ハードウェアに無用の負担を強いることはない。さらに、特別な暗号技術などを用いているわけではないので、通常の製造設備を有するＣＤ製造者であれば、特に認証などを要せずに、正規版ＣＤを作成することが可能となっている。
なお、現行の規格においては、上述の通り、Ｃ０ポイント行の第１０バイト及び第１１バイトのバイナリデータはいずれも「００」である。したがって、前記ディスク検証用プログラムの実行による前記検証手段１１４は、第９バイトのバイナリデータが「９５」であることの検証に加え、これらの第１０バイト及び第１１バイトのバイナリデータがいずれも「００」であることの検証も実行することとすれば、より確実なディスク検証が実行可能となる。
【００１７】
さらに、前記ディスク検証用プログラムは、前記インストールプログラム又は前記アプリケーションプログラムと一体化されていることが望ましい。
たとえば、インストールプログラム又はアプリケーションプログラムが、当該ディスク検証用プログラムに内包されるようにプログラムされることとして、当該ディスク検証用プログラム部分における検証に合格した場合にのみ、インストールプログラム部分又はアプリケーションプログラム部分の実行に移ることができるようにすることが可能である。このようなプログラム構造とすることで、ディスク検証用プログラムの実行をスキップして、直接インストールプログラム又はアプリケーションプログラムが実行されることを防止することができる。
【００１８】
【発明の実施の形態】
以下、図面及び表を参照しつつ、本発明の１の実施の形態について説明する。
なお、図１は、本実施の形態におけるディスク検証の手順を、フローチャートで示したものである。また、図２は、本実施の形態におけるインストール手順のメインルーチンを、フローチャートで示したものである。さらに、図３は、本実施の形態におけるディスク検証に係る機能をブロック図で示したものである。加えて、図４から図７までは、本実施の形態におけるインストール手順の過程でコンピュータの画面に表示されるウィンドウの例を示したものである。
【００１９】
本実施の形態においては、マルチセッションＣＤとしてのＣＤ−ＲＯＭ１３５中に、インストールプログラムが記録されている。そして、そのインストールプログラムは、ディスク検証用プログラムに内包されるような形式でプログラミングされている。
すなわち、このインストールプログラムのインストール手順は、図２に示すフローチャートで示される。
【００２０】
まず、このＣＤ−ＲＯＭ１３５をコンピュータ１００のＣＤ−ＲＯＭドライブ１３０に装着してデスクトップ上の「マイコンピュータ」アイコンをクリックすると、図４に示すようなマイコンピュータウィンドウ１０が開くこととなる。ここで、当該ドライブ（図中ではＥドライブ）を表すＣＤ−ＲＯＭドライブアイコン２０をクリックすると、図５に示すように、当該ＣＤ−ＲＯＭ１３５に含まれるファイルを一覧に示すＣＤ−ＲＯＭドライブウィンドウ３０が開く。これらのファイルのうち、プログラムのインストールを実行するファイルである「Ｓｅｔｕｐ．ｅｘｅ」を示すＣＤ−ＲＯＭドライブウィンドウ４０が選択されると、インストールプログラムが、ＣＤ−ＲＯＭドライブ１３０からＩ／Ｏインターフェイス１２０を介して、コンピュータ１００のＣＰＵ１１０に読み込まれること（図３参照）で、図２に示すような手順が実行されることとなる。
【００２１】
まず、Ｓ１０に示す段階において、ディスク検証用プログラムとしての、ディスク検証サブルーチンが実行される。このディスク検証サブルーチンの手順は、図１のフローチャートで示される。
最初に、Ｓ１００に示す段階において、ＣＤ−ＲＯＭ１３５中の第１セッションのＬｅａｄ−ｉｎエリアにおけるＴＯＣデータのセクタ位置が特定されるとともに、当該セクタ位置から、ＴＯＣデータの読み出しが開始される。すなわち、ＣＰＵ１１０は、この段階を実行することで、読出手段１１１として機能することとなる（図３参照）。そして、Ｓ１１０に示す段階へ進む。
【００２２】
Ｓ１１０に示す段階においては、Ｓ１００に示す段階で読み出されたＴＯＣデータが、コンピュータ１００のＲＡＭ１４０上に設定されたＴＯＣ領域１４１に格納される。すなわち、ＣＰＵ１１０は、この段階を実行することで、格納手段１１２として機能することとなる（図３参照）。ここで、ある正規版ＣＤ−ＲＯＭにおけるＴＯＣデータの例を、下記の表１に示す。
【００２３】
【表１】
2004055050.tif 000003
【００２４】
また、この正規版ＣＤ−ＲＯＭをＣＤ−ＲでコピーしたコピーＣＤ−ＲＯＭにおけるＴＯＣデータを、下記の表２に示す。
【００２５】
【表２】
2004055050.tif 000004
【００２６】
すなわち、ＴＯＣ領域１４１には、正規版ＣＤ−ＲＯＭ１３５であれば上記表１に示すようなＴＯＣデータが、また、この正規版をコピーしたＣＤ−ＲＯＭ１３５であれば上記表２に示すようなＴＯＣデータが格納されることとなる。そして、Ｓ１２０に示す段階へ進む。
Ｓ１２０に示す段階においては、ＴＯＣ領域１４１に格納されたＴＯＣデータの先頭から１１バイトが取得される。すなわち、上述の例でいえば、表１又は表２の第１行に示す１１個のデータが取得されることとなる。取得された１１バイトデータは、ＲＡＭ１４０上の検索領域１４２へ一旦格納される。すなわち、ＣＰＵ１１０は、この段階を実行することで、取得手段１１３として機能することとなる（図３参照）。そして、Ｓ１３０に示す段階へ進む。
【００２７】
Ｓ１３０に示す段階においては、現に検索領域１４２に格納されている１１バイトデータのうち、第４バイト（前記表１又は表２中の各行における第４列のデータ）のバイナリデータが「Ｃ０」であるか否かが判断される。この判断が否定的な場合（たとえば、前記表１又は表２中の第１行から第１６行まで）には、Ｓ１４０に示す段階で、再び取得手段１１３により次の１１バイトデータが取得され、これにより、検索領域１４２に格納されている１１バイトデータが上書更新されてから、再びＳ１３０に示す段階が実行される。言い換えると、この段階においては、第４バイトが「Ｃ０」である行（Ｃ０ポインタ行）が検索されることとなる。すなわち、すなわち、ＣＰＵ１１０は、このＳ１３０に示す段階を実行することで、検索手段１１４として機能することとなる（図３参照）。一方、現に検索領域１４２に格納されている１１バイトデータのうちの第４バイトが「Ｃ０」である場合（たとえば、前記表１又は表２中の第１７行）には、Ｓ１５０に示す段階へ進む。
【００２８】
Ｓ１５０に示す段階においては、当該Ｃ０ポインタ行において、第９バイトのバイナリデータが「９５」であるか否かが判断される。なお、この段階においては、さらに、第１０バイト及び第１１バイトのバイナリデータがいずれも「００」であるか否かも併せて判断してもよい。すなわち、ＣＰＵ１１０は、この段階を実行することで、検証手段１１４として機能することとなる（図３参照）。
【００２９】
この検証手段１１４による判断が肯定的な場合、すなわち、前記表１の第１７行に示すような場合は、当該ＣＤ−ＲＯＭ１３５は正規版であるとみなされる。そして、Ｓ１６０に示す段階へ進んで、インストール手順の実行が許可されることとなる。すなわち、ＣＰＵ１１０は、この段階を実行することで、実行許可手段１１５として機能することとなる（図３参照）。そして、本サブルーチンを抜け出して、メインルーチンへ戻ることとなる。
【００３０】
一方、この検証手段１１４による判断が否定的な場合、すなわち、前記表２の第１７行に示すような場合は、当該ＣＤ−ＲＯＭ１３５はコピー品であるとみなされる。そして、Ｓ１７０に示す段階へ進んで、インストール手順の実行が禁止されることとなる。すなわち、ＣＰＵ１１０は、この段階を実行することで、実行許可手段１１５として機能することとなる（図３参照）。そして、本サブルーチンを抜け出して、メインルーチンへ戻ることとなる。
【００３１】
図２に示すメインルーチンに戻ると、次に、Ｓ２０に示す段階へ進む。
Ｓ２０に示す段階においては、インストール手順の実行は前記実行許可手段１１５により許可されたか否かが判断される。この判断が肯定的な場合、すなわち、ディスク検証サブルーチンにおいてＳ１５０に示す段階でインストール手順の実行が許可されている場合には、Ｓ３０に示す段階へ進む。
【００３２】
Ｓ３０に示す段階においては、インストールサブルーチンが実行される。すなわち、図６に示すようなインストール開始ウィンドウ５０が表示され、これ以後、正規にインストールプログラムのインストール手順が実行可能となる。
一方、前記Ｓ２０に示す段階における判断が否定的な場合、すなわち、ディスク検証サブルーチンにおいてＳ１６０に示す段階でインストール手順の実行が禁止されエチル場合には、Ｓ４０に示す段階へ進む。
【００３３】
Ｓ４０に示す段階においては、図７に示すようなエラー表示ウィンドウ６０が表示されることとなる。そして、Ｓ５０に示す段階に進む。
Ｓ５０に示す段階においては、ＣＤ−ＲＯＭ１３５の入れ替えをするか、又は、インストール手順を中止するかの選択が求められる。すなわち、図７に示すエラー表示ウィンドウ６０において、継続ボタン７０をクリックするか、又は中止ボタン８０をクリックするかのどちらかが選択されることとなる。
【００３４】
ここで、正規版のＣＤ−ＲＯＭ１３５が手元にあるような場合には、ＣＤ−ＲＯＭドライブ１３０にその正規版を改めて挿入して、継続ボタン７０をクリックすることで、再びＳ１０に示すディスク検証サブルーチンが実行されることとなる。
一方、中止ボタン８０がクリックされると、インストール手順はこれ以上進行することなく、メインルーチンは終了することとなる。
【００３５】
なお、本実施の形態ではインストールプログラムの場合を説明してきたが、アプリケーションプログラムでも上述と同様にディスクの検証手順を実行することは可能である。ただし、この場合は、図６に示すインストール開始ウィンドウ５０の代わりに、たとえば、当該アプリケーションプログラムのオープニング画面等が表示されることとなる。
【００３６】
【発明の効果】
本発明は、上記のように構成されているので、以下に記す効果を奏する。
すなわち、コンピュータソフトウェアなどのコンテンツが記録されたマルチセッションコンパクトディスクにおいて、ハードウェアに負担となるような物理的コピーガード技術に頼らずに、かつ、通常の製造設備を有する者であれば正規版の製造を可能とするようなコピーガード技術を提供することが可能となる。
【図面の簡単な説明】
【図１】本発明の１の実施の形態におけるディスク検証の手順を、フローチャートで示したものである。
【図２】本発明の１の実施の形態におけるインストール手順のメインルーチンを、フローチャートで示したものである。
【図３】本発明の１の実施の形態におけるディスク検証に係る機能をブロック図で示したものである。
【図４】本発明の１の実施の形態におけるインストール手順の過程でコンピュータの画面に表示されるウィンドウの例を示したものである。
【図５】本発明の１の実施の形態におけるインストール手順の過程でコンピュータの画面に表示されるウィンドウの例を示したものである。
【図６】本発明の１の実施の形態におけるインストール手順の過程でコンピュータの画面に表示されるウィンドウの例を示したものである。
【図７】本発明の１の実施の形態におけるインストール手順の過程でコンピュータの画面に表示されるウィンドウの例を示したものである。
【符号の説明】
１０　マイコンピュータウィンドウ
２０　ＣＤ−ＲＯＭドライブアイコン
３０　ＣＤ−ＲＯＭドライブウィンドウ
４０　ＣＤ−ＲＯＭドライブウィンドウ
５０　インストール開始ウィンドウ
６０　エラー表示ウィンドウ
７０　継続ボタン　　　　　　８０　中止ボタン
１００　　コンピュータ
１１０　　ＣＰＵ
１１１　　読出手段　　　　　　　１１２　　格納手段
１１３　　取得手段　　　　　　　１１４　　検索手段
１１５　　検証手段　　　　　　　１１６　　実行許可手段
１２０　　Ｉ／Ｏインターフェイス
１３０　　ＣＤ−ＲＯＭドライブ
１３５　　ＣＤ−ＲＯＭ
１４０　　ＲＡＭ
１４１　　ＴＯＣ領域　　　　　　１４２　　検索領域
【図１】
2004055050.tif 000005
【図２】
2004055050.tif 000006
【図３】
2004055050.tif 000007
【図４】
2004055050.tif 000008
【図５】
2004055050.tif 000009
【図６】
2004055050.tif 000010
【図７】
2004055050.tif 000011