(57)【要約】コンテンツ保護方法は、コンピュータによる権限のない読出及び／又はコピーに対して、ターゲット光記録媒体上の保護されたデータ領域内のコンテンツを保護するコンテンツ保護方法において、ターゲット光記録媒体又は非ターゲット光記録媒体のいずれがコンピュータのドライブに挿入されているかを判定するステップと、ターゲット光記録媒体がコンピュータのドライブに挿入されている場合、データが読み出されないように又は読出データが使用できないように、保護されたデータ領域への読出要求を変更するステップ及び／又は書込データが使用できないように、保護されたデータ領域のデータに関する、記録可能な記録媒体又は他の記憶装置への書込コマンドを変更するステップとを有する。
2006522392.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによる権限のない読出及び／又はコピーに対して、ターゲット光記録媒体上の保護されたデータ領域内のコンテンツを保護するコンテンツ保護方法において、
ターゲット光記録媒体又は非ターゲット光記録媒体のいずれがコンピュータのドライブに挿入されているかを判定するステップと、
ターゲット光記録媒体がコンピュータのドライブに挿入されている場合、
データが読み出されないように又は読出データが使用できないように、保護されたデータ領域への読出要求を変更するステップ及び／又は
書込データが使用できないように、保護されたデータ領域のデータに関する、記録可能な記録媒体又は他の記憶装置への書込コマンドを変更するステップとを有するコンテンツ保護方法。
【請求項２】
上記読出要求及び／又は書込コマンドの変更は、認証が行われなかった場合にのみ実行されることを特徴とする請求項１記載のコンテンツ保護方法。
【請求項３】
上記判定及び変更のステップは、コンピュータ内のドライブ制御層に実装されたルーチンによって実行されることを特徴とする請求項１又は２記載のコンテンツ保護方法。
【請求項４】
上記ルーチンは、
ディスパッチルーチン及び完了ルーチンを置換し、
上記判定及び変更のステップを実行し、上記置換されたディスパッチルーチン及び完了ルーチンを呼び出し、元の又は変更された読出要求及び／又は書込コマンドに基づいて、該置換されたディスパッチルーチン及び完了ルーチンを実行する機能を有することを特徴とする請求項３記載のコンテンツ保護方法。
【請求項５】
上記ルーチンは、ターゲット光記録媒体がドライブに挿入されると自動的に開始される実行可能なプログラムによってインストールされたドライバによって実装されることを特徴とする請求項３又は４記載のコンテンツ保護方法。
【請求項６】
上記ドライバは、
コンピュータの各起動時に自動的にロードされ、及び／又は
アンロードルーチンを含まず、及び／又は
名称をランダムに変更し、及び／又は
ランダムに設定されるファイルタイムを含み、及び／又は
ランダムに変更されるコードを含み、及び／又は
複数回インストールされ、且つ一回のみを有効にし、及び／又は
コンピュータのシステム全体に亘って拡散されたインストールプログラムによってインストールされることを特徴とする請求項５記載のコンテンツ保護方法。
【請求項７】
上記ドライバは、制御データ及び／又は認証データの交換を可能にする通信インタフェースを含むことを特徴とする請求項５又は６記載のコンテンツ保護方法。
【請求項８】
特定の変更に関する光記録媒体の所定のセッション及び／又は
特定のエントリに関する光記録媒体のコンテンツテーブルの少なくとも１つ及び／又は
特定のサブコードの変更に関する光記録媒体の所定のセッション及び／又は
ウォータマークに関する光記録媒体上に保存された所定のデータを評価することによって、ターゲット光記録媒体を非ターゲット光記録媒体から区別することを特徴とする請求項１乃至７いずれか１項記載のコンテンツ保護方法。
【請求項９】
セクタタイプ及び／又は
セクタの範囲及び／又は
特定の読出シーケンスのサブジェクトであるセクタに基づいて、保護されたデータ領域を特定することを特徴とする請求項１乃至８いずれか１項記載のコンテンツ保護方法。
【請求項１０】
少なくとも１つの所定の領域及び／又は
光記録媒体に保存されているデータ自体によって、保護されたデータ領域を定義することを特徴とする請求項１乃至９いずれか１項記載のコンテンツ保護方法。
【請求項１１】
上記読出データを使用できないようにする読出要求の変更及び／又は上記書込データを使用できないようにする書込コマンドの変更は、
対応する入出力要求及び／又は入出力コマンドをエラーによって中止するステップ及び／又は
実際の要求及び／又はコマンドを処理しないで対応する入出力要求及び／又は入出力コマンドを終了するステップ及び／又は
各データを使用できないように変更するステップを有することを特徴とする請求項１乃至１０いずれか１項記載のコンテンツ保護方法。
【請求項１２】
コンピュータ又はデジタルシグナルプロセッサにより実行されて請求項１乃至１１いずれか１項記載のコンテンツ保護方法を実行するコンピュータプログラムを備えるコンピュータプログラム製品。
【請求項１３】
請求項１２記載のコンピュータプログラム製品を格納するコンピュータにより読取可能な媒体。
【請求項１４】
光記録媒体がドライブに挿入されると自動的に開始される実行可能なプログラムを備える光記録媒体において、該実行可能なプログラムは、
コンピュータ又はデジタルシグナルプロセッサにより実行されて請求項１乃至１１いずれか１項記載のコンテンツ保護方法を実行し、及び／又は
コンピュータ又はデジタルシグナルプロセッサにより実行されて請求項１乃至１１いずれか１項記載のコンテンツ保護方法を実行するドライバをインストールする光記録媒体。
【請求項１５】
上記実行可能なプログラムは、オーディオセッションも含むマルチセッションＣＤのデータセッションに格納されていることを特徴とする請求項１４記載の光記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータによる権限のない読出及び／又はコピーに対して、ターゲット光記録媒体上の保護されたデータ領域内でコンテンツを保護するために方法及び光記録媒体に関する。
【背景技術】
【０００２】
特に音楽、ゲーム、ビデオ及びコンピュータ業界において、片面又は両面に情報を記録する光記録媒体が様々な目的のために用いられるようになった。デジタル情報は、ディスクの片面又は両面における同心円状の環状のトラックに沿って配置されたピットの形式で、光ストレージ媒体に保存される。トラックは、通常、内側から外側に向けて読み出されるが、幾つかの光ストレージ媒体で既に採用されているように、外側から内側に向けて読み出されることもある。
【０００３】
トラック上のデータ自体は、長さが等しく、同じ量の情報を含むフレームに分割される。各フレームは、光記録媒体の種類（ＣＤ、ＤＶＤ等）に応じて、専用のレイアウトを有している。このようなフレームは、多くの場合、ユーザデータシンボルを含んでいるが、この他に、同期のためのデータ、データシンボル間のデータをマージングするためのデータ、エラー訂正のためのデータ等を含むことができる。
【０００４】
光ストレージ媒体自体の信号は、非同期であり、これは、復号処理同期において、タイミング情報、パリティデータ又は他のデータを信号から抽出（spied out）しなくてはならないことを意味し、この信号は、読出機器によってアクセスできるように、ある種の要求を満たしている必要がある。
【０００５】
ストレージ媒体のこの性質のために、このようなストレージ媒体は、容易にコピーを作ることができる。この状況に対処するために、情報自体及び／又はアクセス情報を提供し又は同期に関連する記録媒体上の他のデータに関連するデータを変更することによって、再生装置によるアクセスを許可しながら、デジタルコピーを禁止する様々なコピー保護スキームが開発されている。
【０００６】
多くの場合、これらのコピー保護スキームは、コンピュータドライブが少なくとも情報コンテンツにアクセスし難くすることによって、コンピュータドライブによる情報コンテンツの再生を不可能にする。コンテンツへのアクセスを保護するために、光記録媒体の第１のセッション（session）に「コピー保護されて」保存されているコンテンツの品質が低下されたバージョンを光記録媒体の第２のセッションに、コンピュータによりアクセス可能な形式で保存することがある。これに代えて、第２のセッションがコンピュータによるアクセスを提供するコンテンツサーバへのリンクを含んでいる場合もある。また、このようなコンテンツサーバは、例えば、光記録媒体上の情報コンテンツに関連した音楽クリップ又はボーナスマテリアル等の付加価値を提供することもある。第２のセッションに保存されたコンテンツへのアクセス及び／又はコンテンツサーバへのアクセスは、コピー保護された光記録媒体がコンピュータドライブに挿入された後に自動的に実行される実行可能なファイルを介して提供されることもある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の課題に鑑み、本発明の目的は、コンピュータによる権限のない読出及び／又はコピーに対して、ターゲット光記録媒体上の保護されたデータ領域内のコンテンツを保護する向上されたシステムを提供することである。
【課題を解決するための手段】
【０００８】
本発明では、独立請求項１に記載のコンピュータによる権限のない読出及び／又はコピーに対して、ターゲット光記録媒体上の保護されたデータ領域内のコンテンツを保護するコンテンツ保護方法により、この課題を解決する。本発明に基づく方法の好適な実施形態は、各従属請求項に定義されている。本発明に基づくコンピュータプログラム製品は、請求項１２により定義され、本発明に基づくコンピュータにより読取可能な媒体は、請求項１３により定義され、本発明に基づく光記録媒体は、請求項１４により定義されている。
【０００９】
本発明に係るコンテンツ保護方法は、コンピュータによる権限のない読出及び／又はコピーに対して、ターゲット光記録媒体上の保護されたデータ領域内のコンテンツを保護するコンテンツ保護方法において、ターゲット光記録媒体又は非ターゲット光記録媒体のいずれがコンピュータのドライブに挿入されているかを判定するステップと、ターゲット光記録媒体がコンピュータのドライブに挿入されている場合、データが読み出されないように又は読出データが使用できないように、保護されたデータ領域への読出要求を変更するステップ及び／又は書込データが使用できないように、保護されたデータ領域のデータに関する、記録可能な記録媒体又は他の記憶装置への書込コマンドを変更するステップとを有する。
【００１０】
このように、本発明では、保護するべきコンテンツ、このコンテンツに関連する情報、又はこの情報にアクセスするための機密保護情報のいずれも変更せず、すなわち、本発明は、既知のコピー保護スキームとは異なるレベルに作用するコピー保護を提供する。したがって、この方式によれば、コンピュータドライブを除く既存の全ての再生装置がコンテンツにアクセスすることができる。一方、本発明では、保護領域のデータ、すなわち、例えばＣＤのオーディオセッション等の特別に指定された領域が使用できなくなるように読み出され又は書き込まれるように、読出要求及び／又は書込コマンドが変更されるので、本発明が適用されたコンピュータは、ターゲット光記録媒体、すなわち、本発明に基づいてコピー保護された光記録媒体にアクセスし及び／又はこれをコピーすることができない。
【００１１】
本発明に基づくターゲット光記録媒体は、非ターゲット光記録媒体から区別でき、本発明に基づく方法は、既存のコンピュータにおいて実施できることは明らかである。
【００１２】
本発明に係るコンテンツ保護方法では、好ましくは、読出要求及び／又は書込コマンドの変更は、認証が行われなかった場合にのみ実行される。
【００１３】
このスキームは、全てのコンピュータが読出及び／又は書込をできなくする概念を変更し、認証を有するユーザが、コンピュータを用いて保護されたコンテンツに完全にアクセスできるようにする。また、コンテンツのコピーにはコンピュータがアクセスできないように指示することによって、コンピュータが上述のようにしてアクセス可能にされたコンテンツのコピーにはアクセスできないようにしてもよい。また、異なる認証によってアクセスを可能にするコピーを作成することもできる。また、オリジナルの「子レベル」の数、すなわち、コピーが許可されるレベルの数を定義してもよく、例えば、オリジナルのコピーと、その直接のコピーのみがそれぞれの認証によって許可されるようにしてもよい。
【００１４】
本発明の好適な実施形態では、判定及び変更のステップは、コンピュータ内のドライブ制御層に実装されたルーチンによって実行される。
【００１５】
これにより、時間が掛かり、ユーザにとって煩わしい再起動を行うことなく、本発明に基づく方法をコンピュータに容易に実装できる。ドライブ制御層は、多くの場合、例えば、ＳＣＳＩ層等、コンピュータドライブを制御する層である。
【００１６】
この好適な実施形態では、ルーチンは、好ましくは、ディスパッチルーチン及び完了ルーチンを置換し、判定及び変更のステップを実行し、置換されたディスパッチルーチン及び完了ルーチンを呼び出し、元の又は変更された読出要求及び／又は書込コマンドに基づいて、置換されたディスパッチルーチン及び完了ルーチンを実行する機能を有する。
【００１７】
これらの特徴により、例えば、本発明を実装するにあたり、デフォルトで、コンピュータのオペレーティングシステムの動作を変更しないで済む。更に、「置換された」ルーチンに関するこのオペレーティングシステムの基本機能も、変更されたパラメータによってこれらを呼び出すことにより、置換を回避することができ、これにより、望ましくないシステム障害の発生を防止することができる。
【００１８】
これに代えて又はこれに加えて、この実施形態では、ルーチンは、好ましくは、ターゲット光記録媒体がドライブに挿入されると自動的に開始される実行可能なプログラムによってインストールされたドライバによって実装される。
【００１９】
この手続きにより、少なくとも、ドライバをインストールした後に、コンピュータドライバ技術が利用できるようになる。これにより、インストールされたドライバは、コンピュータが新たに起動される毎に自動的にロードされ、これにより、実行可能なプログラムを含まない他のターゲット光記録媒体は、本発明に基づく方法に基づいてコピー保護される。もちろん他の如何なる手法でコンピュータにドライバをインストールしてもよく、例えば、ユーザがコンピュータ上で異なるアプリケーションを実行している場合、この異なるアプリケーションを介して、又はユーザがインターネットサーバにアクセスしている間に、又はコンピュータのオペレーティングシステムにインストールすることによって、コンピュータにドライバをインストールしてもよい。
【００２０】
ドライバは、好ましくは、コンピュータの各起動時に自動的にロードされ、及び／又はアンロードルーチンを含まず、及び／又は名称をランダムに変更し、及び／又はランダムに設定されるファイルタイムを含み、及び／又はランダムに変更されるコードを含み、及び／又は複数回インストールされ、且つ一回のみを有効にし、及び／又はコンピュータのシステム全体に亘って拡散されたインストールプログラムによってインストールされる。
【００２１】
本発明に基づくドライバのこれらの特徴により、ドライバは、コンピュータのオペレーティングシステムに常駐し、容易には削除されず、これにより最初にインストールすれば、これ以降のインストールは必要なくなり、且つ、本発明に基づくコピー保護スキームは、特定のコンピュータにおいて恒久的に利用可能になる。また、これにより、本発明に基づくコピー保護が実装されていないターゲット光記録媒体、例えば、古いターゲット光記録媒体もコピー保護される。これらのターゲット光記録媒体は、本発明に基づくコピー保護が適用可能であるターゲット光記録媒体を特定する識別的な特徴を有していればよい。
【００２２】
これに代えて又はこれに加えて、ドライバは、好ましくは、制御データ及び／又は認証データの交換を可能にする通信インタフェースを含む。
【００２３】
この通信インタフェースは、ターゲット光記録媒体上の保護領域を示し、認証データをドライバに通信し、及び／又は本発明に基づき、１つだけが有効にされるようにインストールされた異なるドライバ間で通信を確立するために用いることができる。通信は、好ましくは、通信インタフェースを介して暗号化される。
【００２４】
本発明では、特定の変更に関する光記録媒体の所定のセッション及び／又は特定のエントリに関する光記録媒体のコンテンツテーブルの少なくとも１つ及び／又は特定のサブコードの変更に関する光記録媒体の所定のセッション及び／又はウォータマークに関する光記録媒体上に保存された所定のデータを評価することによって、ターゲット光記録媒体を非ターゲット光記録媒体から区別してもよい。
【００２５】
本発明においては、ターゲット光記録媒体は、単に、自らをターゲット光記録媒体として特定するための特別な符号を記録してもよい。なお、より高度な手法を用いてもよく、例えば、何らかの種類のコピー保護を含む各記録媒体、又は特定の特別なコピー保護を含む記録媒体、又は特定のディスクラベルを特定する指示情報を含む記録媒体をターゲット光記録媒体として分類してもよい。本発明により、所定の「クラッキングされた」コピー保護スキームを再び有効にでき、又は、コンテンツによって識別可能な所定の光記録媒体を配信又は販売した後においても、その媒体にコピー保護を「与える」ことができる。
【００２６】
本発明では、好ましくは、セクタタイプ及び／又はセクタの範囲及び／又は特定の読出シーケンスのサブジェクトであるセクタに基づいて、保護されたデータ領域を特定する。
【００２７】
本発明により、保護されたデータ領域は、特定のターゲット光記録媒体にとって、静的でなく、動的にすることができ、例えば、何らかのアクセスの特徴に基づいて、例えば、ディスククローニングプログラム又はリッピングプログラムのアクセスが検出された場合に、データを保護することができる。
【００２８】
また、好ましくは、少なくとも１つの所定の領域及び／又は光記録媒体に保存されているデータ自体によって、保護されたデータ領域を定義する。
【００２９】
所定のデータ領域は、例えば、常にオーディオセッション又は所定の範囲のセクタ等、固定であってもよく、或いは可変であってもよい。可変の所定のデータ領域は、通信インタフェースによってドライバに示してもよい。また、ドライバは、例えば、コンテンツのテーブルに基づいて、又はターゲット光記録媒体に保存されているリストに基づいて、ターゲット光記録媒体から可変の所定のデータ領域を推定してもよい。
【００３０】
本発明では、好ましくは、読出データを使用できないようにする読出要求の変更及び／又は書込データを使用できないようにする書込コマンドの変更は、対応する入出力要求及び／又は入出力コマンドをエラーによって中止するステップ、及び／又は実際の要求及び／又はコマンドを処理しないで対応する入出力要求及び／又は入出力コマンドを終了するステップ、及び／又は各データを使用できないように変更するステップを有していてもよい。
【００３１】
データを使用できないようにするデータの変更処理は、任意の又は所定の値によるデータの置換を含んでいてもよく、これにより、例えば、コピーされたオーディオのＣＤの再生が不可能になり又はオリジナルが再生されていないとのコメントを再生するようにしてもよい。
【００３２】
また、本発明に係るコンピュータプログラム製品は、コンピュータ又はデジタルシグナルプロセッサにより実行されて、上述したコンテンツ保護方法を実行するコンピュータプログラムを備える。
【００３３】
また、本発明に係るコンピュータにより読取可能な媒体は、本発明に係るコンピュータプログラム製品を格納する。
【００３４】
また、本発明に係る光記録媒体は、光記録媒体がドライブに挿入されると自動的に開始される実行可能なプログラムを備える光記録媒体において、実行可能なプログラムは、コンピュータ又はデジタルシグナルプロセッサにより実行されて、上述したコンテンツ保護方法を実行し、及び／又はコンピュータ又はデジタルシグナルプロセッサにより実行されて上述したコンテンツ保護方法を実行するドライバをインストールする。
【００３５】
換言すれば、本発明に係る光記録媒体は、本発明に基づくコンテンツ保護方法を直接又は間接的に実現する実行可能なプログラムを含む。
【００３６】
上述したように、本発明に基づく光記録媒体は、好ましくは、オーディオセッション及びデータセッションを含み、及び好ましくは、自動開始機能を有する実行可能なプログラムを有するマルチセッションＣＤである。なお、自動開始機能は、必要条件ではない。
【００３７】
上述した本発明の全ての異なる側面及び以下に説明する形態は、どのように組み合わせてもよい。本明細書に組み込まれ、本明細書の一部を構成し、本発明の例示的な実施形態を示す添付の図面、上述した本発明の包括的な説明、及び以下に示す発明を実施するための最良の形態は、本発明の原理を説明するためのものである。
【発明を実施するための最良の形態】
【００３８】
以下に説明する本発明の例示的な実施形態においては、光記録媒体の特別にマークされたディスク（ターゲットディスク）を不法な読出及び／又はコピーから保護する。すなわち、本発明は、不法なディスクの読取に対する、光記録媒体（例えば、ＣＤ、ＤＶＤ等）上のオペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ（登録商標））によって読取可能な標準のファイルフォーマット（ＩＳＯ、ＵＤＦ）のデータ（データセッションと呼ばれる）を含むコンテンツの保護を提供する。ディスクは、データセッションに加えて、他の様々な種類のセッションを有していてもよい。
【００３９】
データセッションには、少なくとも以下の部分が含まれる。
・特別に修正されたソフトウェア（以下、ＥＸＥと呼ぶ）。このＥＸＥは、通常、スタートアップメニューに登録される。
・光記録媒体がドライブに挿入された後にＥＸＥを開始するようイネーブルにされた自動再生。
【００４０】
光記録媒体がドライブに挿入された後（自動再生）又はユーザが手動でＥＸＥを実行することによってＥＸＥが起動（launched）されると、ＥＸＥは、特別に設計されたフィルタドライバ（以下、単にドライバと呼ぶ）を抽出し、インストールする。このドライバは、以下のタスクを実行する。
・保護するよう意図されたターゲットディスクと、非ターゲットディスクとを区別する。
・読出データが使用不可になるように、ターゲットディスクの保護されたデータ領域への特定のＳＣＳＩ読出要求を変更する。
【００４１】
更に、書込データが使用不可になるように、ターゲットディスクの保護されたデータに関連するデータを書込可能なディスク又は他のメモリに書き込むための書込コマンドを変更してもよい。ターゲットディスクの保護されたデータに関連するデータは、ウォータマーク又は他の適切なメカニズムによって特定してもよい。
【００４２】
フィルタドライバをインプリメント及び適用する標準的な手法では、オペレーティングシステムの再起動を強制するので、ここでは特定の特別なフィルタリング法を用いる。
【００４３】
例えば、ウインドウズオペレーティングシステムに用いられている多層ドライバモデルにおいて、入出力要求を処理するための単純化されたスキームを図３に示す。「１」とマークされているのは、層１から始まる、入出力マネージャによる各層のディスパッチルーチンの呼出である。最後の層は、「２」のマークが付された物理的機器にアクセスする。物理的機器の処理が終了すると、入出力マネージャは、「３」のマークが付された最後の層から開始して、各層の完了ルーチンを呼び出す。「４」のマークで示すように、第１の層の完了ルーチンが完了すると、入出力要求は終了する。
【００４４】
本発明の例示的な実施形態では、図１に示すように、ドライバは、ＳＣＳＩ層を検索し、元のディスパッチルーチン及び完了ルーチンの代わりに、自らのディスパッチフックルーチン（Dispatch Hook Routine：以下、ＤＨＲという。）及び完了フックルーチン（Completion Hook Routine：以下、ＣＨＲという。）を挿入する。ＤＨＲ及びＣＨＲは、それぞれに対応するオリジナルのルーチン、すなわち、元のディスパッチルーチン及び元の完了ルーチンを呼び出す。このため、デフォルトでは、フックルーチンの挿入によっては、システムの動作は変化しない。
【００４５】
具体的には、図１は、ディスパッチ及び完了フックルーチンをＳＣＳＩ層に挿入することによって、ドライバがＣＤ／ＤＶＤデバイスに送信された各ＳＣＳＩコマンドをどのように追跡するかを示している。「５」のマークは、ＳＣＳＩ層のディスパッチルーチンをドライバのディスパッチフックルーチンに置換したことを示している。このルーチンは元のディスパッチルーチンを呼び出す。「６」のマークは、ＳＣＳＩ層の完了ルーチンをドライバの完了フックルーチンに置換したことを示している。このルーチンは元の完了ルーチンを呼び出す。
【００４６】
これにより、ドライバは、ＤＨＲ及びＣＨＲを用いて、ＣＤ／ＤＶＤドライブに送信される各ＳＣＳＩ要求を追跡することができる。ＤＨＲ及びＣＨＲの内部で実行されるタスクを以下に示す。
・非ターゲットディスクからターゲットディスクを区別する。
・ターゲットディスクが適切に特定された場合、変更処理を実行する。
・秘密通信インタフェース（Covert Communication Interface：以下、ＣＣＩという。）を処理する。
【００４７】
ターゲットと非ターゲットディスクとを見分けるために、以下の基準を任意に組み合わせて用いる。
・第２のセッションの特定の修正
・特定のＴＯＣエントリ
・（第１又は第２のセッションにおける）特定のサブコード修正
・（オーディオ）データにおけるウォータマーク
保護されるデータは、ターゲットディスクの一部である。ターゲットディスク上で保護されたデータ領域を特定するために、以下の基準を用いてもよい。
・セクタタイプ：特定の種類（ＣＤＤＡ、モード１・・・）の全てのセクタが保護されたデータ領域の一部であることを意味する。
・セクタの範囲：開始セクタと終了セクタを特定することによって、保護されたデータ領域を定義することができる。
・特定の読出シーケンスの検出：例えば、ディスククローニング及びリッピングプログラムに典型的な連続した読出を検出し、更なる全ての読出要求を拒否する。
【００４８】
保護されたデータ領域の保護は、以下のいずれかの手法で行うことができる。
・完全な保護：どのアプリケーションが要求を実行するかにかかわらず、保護領域への読出要求を全く許可しないことを意味する。
・解除可能な保護：認証された処理のみが保護されたデータを読み出せるようにするＣＣＩを介して、許可されたアプリケーションが認証データを送信することによって、自ら認証できることを意味する。
【００４９】
したがって、上述の基準を任意に組み合わせて、１又は複数の保護されたデータ領域を指定できる。保護されたデータ領域は、以下によって定義することができる。
・ドライバ（ドライバプログラムコードにハードコーディングされる）
・ディスクに保存されたデータ
・上の２つの組合せ
ターゲットディスクが正しく特定されると、保護されたデータを読み出そうとするＳＣＳＩ読出要求に対して以下の修正処理を実行できる。
・入出力要求をエラーによって中止する（完了させる）。
・実際の読出処理を行うことなく、入出力要求をＳＴＡＴＵＳ＿ＳＵＣＣＥＳＳによって完了する。
・読出データを使用不可になるように変更する。
【００５０】
ドライバをシステムから削除しようとする試みからドライバを保護するために、以下の１つ以上の方策を講じることができる。
・ドライバに「アンロードルーチン」を設けず、これによりアンロードできなくする。
・ドライバ名をランダムに変更する。
【００５１】
＊インストール処理において、ランダムな名称を選択する（ＥＸＥによって実行される）。
【００５２】
＊システムランタイムの間に又はシステムシャットダウンの際に、ドライバが自らの名称をランダムに変更する。
・インストールシーケンスの間及び／又はランタイムの間に、ドライバファイルタイム（driver filetime）（作成時、最後のアクセス時及び最後の書込時）をランダムに設定する（ＥＸＥによって実行される）。
・インストールシーケンスの間、（機能を変更することなく）ドライバプログラムコードをランダムに変更する（ＥＸＥによって実行される）。
・ドライバが自らを複数回インストールし、ドライバの１つのインスタンスを除く他のインスタンスを無効にする。
【００５３】
＊ドライバ間に既に実行されている有効なドライバインスタンスが存在するか否かをチェックする、秘密にされ、保護された通信インタフェースを設ける。
【００５４】
＊他のドライバが既に実行されていることを検出すると、ドライバは、自らを無効に設定する。
・システム全体に亘って、ドライバインストールプログラム（隠される）を拡散させる。
【００５５】
以下、例えば認証のために、ソフトウェアがドライバと通信できるようにし、及び／又は、例えば、ドライバの複数のインスタンスをインストールした場合、ドライバ同士が互いに通信できるようにするための、本発明に基づく秘密通信インタフェース（ＣＣＩ）を説明する。
【００５６】
ＳＣＳＩコマンドは、ドライバにデータを送信し及びドライバからデータを受信するために用いられる（ピギーバック）。図４は、ＳＣＳＩコマンド記述子ブロック（Command Descriptor Block：以下、ＣＤＢという。）と、送信コマンドがデータバッファを必要とする場合、データバッファとを含むＳＣＳＩコマンドの概略的構造を示している。データバッファは、ＣＤＢに応じて、読出データ（読出コマンド）を保存するために、又は書込コマンドを実行する場合、データソースとして用いることができる。バッファ長の値は、これもＣＤＢに応じて、０以上とすることができる。
【００５７】
本発明の例示的な実施形態では、図３に示すように、通信目的で、ＳＣＳＩコマンドの要求に応じて、より大きいデータブロックをＳＣＳＩコマンドに添付し、秘密通信インタフェース（ＣＣＩ）に用いるための修正されたＳＣＳＩコマンドを生成する。以下、ＳＣＳＩコマンドに必要ではないデータバッファ領域をデータバッファ拡張（Data buffer extension：以下、ＤＢＥという。）と呼ぶ。
【００５８】
ＤＢＥは、ＣＣＩのために用いられ、ドライバによって検出及び評価された情報を含み、ドライバは、可能な戻り値をＤＢＥに格納する。
【００５９】
ＤＢＥのコンテンツは、送信側によって暗号化されるドライバによって復号される。ドライバがＤＢＥに値を返す場合、その後にドライバがＤＢＥを暗号化し、送信側が再びＤＢＥを復号する。
【００６０】
ＣＣＩには、全てのＳＣＳＩコマンドを適用でき、自らがデータバッファを必要としないコマンド（例えば、Test Unit Readyコマンド）は、処理が簡単なので、ＣＣＩに特に好適である。また、自己定義型のＳＣＳＩコマンド（self defined SCSI command）も同様に用いることができる。
【００６１】
本発明の例示的な実施形態では、容易にドライバをインストールできるようにするために、ドライバインストールシーケンスを実行可能な形式で挿入する。これは、ドライバを抽出し、実行可能なプログラム（以下、Ｔａｒｇｅｔ．ｅｘｅと呼ぶ。）にドライバをインストールするためのコードを追加するために用いられる。これにより、以下のタスクが実行される。
・動的にロード可能なライブラリファイル（例えば、ウインドウズオペレーティングシステム用のＤＬＬ）を作成する。
【００６２】
＊ドライバを含む。
【００６３】
＊Ｔａｒｇｅｔ．ｅｘｅによって用いられる動的にロード可能なライブラリ（ターゲットライブラリと呼ばれる。）（例えば、ウインドウズオペレーティングシステムのＫｅｒｎｅｌ３２．ｄｌｌ）のインタフェースをインプリメントし、送る。
【００６４】
＊ライブラリがロードされたときに呼び出されるスタートアップルーチン（ウインドウズオペレーティングシステムのＤＬＬにおけるＤｌｌメインルーチン）を含む。このスタートアップルーチンは、ドライバを抽出し、インストールする。
【００６５】
＊ライブラリは、如何なる名称を有していてもよいが、この名称の長さは、ターゲットライブラリの名称より長くなってはならない。説明のために、これをＩｎｊｅｃｔ．ｄｌｌと呼ぶ。
・実行可能なプログラムは、用いられる動的にロード可能な全てのライブラリのリストを含む（インポートリストと呼ばれる）。
・実行可能なプログラムが開始されると、インポートリストに登録されている全てのライブラリがロードされ、そのスタートアップルーチンが実行される。
【００６６】
Ｔａｒｇｅｔ．ｅｘｅのインポートリスト内のターゲットライブラリの名称（例えば、Ｋｅｒｎｅｌ３２．ｄｌｌ）を名称Ｉｎｊｅｃｔ．ｄｌｌに置換する。
【００６７】
したがって、Ｔａｒｇｅｔ．ｅｘｅが実行されると、Ｉｎｊｅｃｔ．ｄｌｌがロードされ、ドライバを抽出し、インストールするスタートアップルーチンが実行される。
【図面の簡単な説明】
【００６８】
【図１】本発明に基づく、多層ドライバモデルにおける入出力要求の処理の単純化されたスキームを示す図である。
【図２】本発明に基づく通信インタフェースのために用いられる修正されたＳＣＳＩコマンドの概略的構造を示す図である。
【図３】従来の技術に基づく多層ドライバモデルにおける入出力要求の処理の単純化されたスキームを示す図である。
【図４】従来の技術に基づくＳＣＳＩコマンドの概略的構造を示す図である。
【図１】
2006522392.tif 000003
【図２】
2006522392.tif 000004
【図３】
2006522392.tif 000005
【図４】
2006522392.tif 000006
【国際調査報告】
2006522392.tif 000007
2006522392.tif 000008
2006522392.tif 000009