(57)【要約】【課題】保護されたデータを、ブートドライブに格納することができる、セキュリティの強化された記憶装置を提供すること。【解決手段】データ記憶装置は、論理ブロックアドレスを介して参照される複数の物理メモリ位置を有する記憶媒体と、論理ブロックアドレスの少なくとも一つの範囲を含むテーブルを有し、承認された対象により論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を特定するセキュア区画とを含むことを特徴としている。装置によって実行されるアクセス制御の方法も含まれている。【選択図】図３
2007207239.tif 000002
【特許請求の範囲】
【請求項１】
論理ブロックアドレスを介して参照される複数の物理メモリ位置を有する記憶媒体と、
論理ブロックアドレスの少なくとも一つの範囲を含むテーブルを有し、承認された対象により論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を特定するセキュア区画と
を含むことを特徴とするデータ記憶装置。
【請求項２】
請求項１記載の装置において、テーブルは、複数の論理ブロックアドレスに適用される第一の項目の組と、複数の論理ブロックアドレスの一部に適用される第二の項目の組とを含むことを特徴とする装置。
【請求項３】
請求項１記載の装置において、
テーブルは、書込みロック可能項目と、書込みロック項目とを含み、書込みロック可能項目は、書込みロック項目の有効性を決定し、
テーブルは、読込みロック可能項目と、読込みロック項目とを含み、読込みロック可能項目は、読込みロック項目の有効性を決定することを特徴とする装置。
【請求項４】
請求項１記載の装置において、テーブルは、論理ブロックアドレスの範囲に書き込まれる、および／あるいは、論理ブロックアドレスの範囲から読み込まれるデータを暗号化するための暗号鍵を含むことを特徴とする装置。
【請求項５】
請求項１記載の装置は、さらに、記憶媒体に対して、データを読み込む、および／あるいはデータを書き込むための、セキュリティが確保された読込み／書込みチャネルを含むことを特徴とする装置。
【請求項６】
請求項１記載の装置において、テーブルは、
一つあるいはそれ以上の数の、
論理ブロックアドレス範囲の読込み／書込みロックと、
論理ブロックアドレス範囲の読込み／書込み暗号とを
制御する情報を含むことを特徴とする装置。
【請求項７】
請求項１記載の装置において、テーブルは、論理ブロックアドレス範囲の再配置を制御する情報を含むことを特徴とする装置。
【請求項８】
請求項１記載の装置において、セキュア区画は、認証データを含むことを特徴とする装置。
【請求項９】
論理ブロックアドレスを介して参照される複数の物理メモリ位置を有する記憶媒体を設けるステップと、
論理ブロックアドレスの少なくとも一つの範囲を含むテーブルを有し、承認された対象により論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を特定するセキュア区画を用いた記憶媒体へのアクセスを制御するステップと
を含むことを特徴とする方法。
【請求項１０】
請求項９記載の方法において、テーブルは、複数の論理ブロックアドレスに適用される第一の項目の組と、複数の論理ブロックアドレスの一部に適用される第二の項目の組とを含むことを特徴とする方法。
【請求項１１】
請求項９記載の方法において、
テーブルは、書込みロック可能項目と、書込みロック項目とを含み、書込みロック可能項目は、書込みロック項目の有効性を決定し、
テーブルは、読込みロック可能項目と、読込みロック項目とを含み、読込みロック可能項目は、読込みロック項目の有効性を決定することを特徴とする方法。
【請求項１２】
請求項９記載の方法において、テーブルは、
一つあるいはそれ以上の数の、
論理ブロックアドレス範囲の読込み／書込みロックと、
論理ブロックアドレス範囲の読込み／書込み暗号とを
制御する情報を含むことを特徴とする方法。
【請求項１３】
請求項９記載の方法において、テーブルは、論理ブロックアドレス範囲の再配置を制御する情報を含むことを特徴とする方法。
【請求項１４】
請求項９記載の方法において、テーブルは、論理ブロックアドレスの範囲に書き込まれる、および／あるいは、論理ブロックアドレスの範囲から読み込まれるデータを暗号化するための暗号鍵を含むことを特徴とする方法。
【請求項１５】
請求項１４記載の方法において、読込みあるいは書込みされるデータは、認証コードを含むことを特徴とする方法。
【請求項１６】
請求項９記載の方法は、さらに、
テーブルに従って認証されたセキュアセッションにおいて、読込み、および／あるいは書込みコマンドを発行するステップを含むことを特徴とする方法。
【請求項１７】
請求項９記載の方法において、テーブルの値の読込みあるいは書込みは、認証情報を必要とすることを特徴とする方法。
【請求項１８】
請求項９記載の方法において、セキュア区画は、認証データを含むことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置に関し、特に、ブロックデータ記憶を用いるデータ記憶装置に関する。
【背景技術】
【０００２】
ブロックデータ記憶装置は、ブロックの形式でデジタルデータを記憶もしくは検索するものであり、これらのブロックは、ホスト装置によって個々にアドレス指定可能となるように構成されている。ブロックデータ記憶装置の例としては、ハードディスクドライブ、光ディスクレコーダ及びプレーヤ並びに磁気デジタルテープレコーダ及びプレーヤがある。
【０００３】
通常、これらの装置は、バッファ（第一メモリ位置）及び通信チャネル並びに記録可能媒体（第二メモリ位置）を有するハードウェア／ファームウェアにより構成されたインターフェース回路を含んでいる。第二メモリ位置のユーザメモリ空間は、多数のアドレス指定可能ブロックに分割され、これらのブロックには、（しばしば、論理ブロックアドレス又はＬＢＡと称される）ホストレベルのアドレスが割り当てられている。通常、各ＬＢＡは、それに対応する物理ブロックアドレスを有しており、このアドレスは、所定のＬＢＡにアクセスするために、サーボ制御回路がデータ伝達ヘッドを記憶媒体の所定位置に位置決めする際に、用いられる。
【０００４】
媒体にデータを書き込むために、ホスト装置は、記憶装置によって記憶されるユーザデータと、そのユーザデータが記憶されるＬＢＡアドレスのリストとからなる書込みコマンドを発行する。記憶装置は、一時的に、第一メモリ位置にユーザデータを記憶し、媒体上の所定位置へのデータ伝送ヘッドの移動をスケジューリングし、通信チャネルの書込みチャネル部を用いて、データの適切なエンコードと調整を行い、指定されたＬＢＡにデータを書き込む。
【０００５】
次に、記憶装置からデータを読み取るために、ホスト装置は、検索すべきデータのＬＢＡを特定するための読込みコマンドを発行する。記憶装置は、媒体上の所定の位置へのデータ伝送ヘッドの移動をスケジューリングし、さらに、ホスト装置に返送する第一メモリ位置（バッファ）に置かれたリードバックデータを、通信チャネルの読込みチャネル部を用いて、デコードする。
【０００６】
最近の記憶装置は、通常、ＡＴＡ又はＳＣＳＩコマンドを用いて読込み又は書込みがなされ、これらの記憶装置を用いるシステムは、これらのコマンドを用いるように最適化されている。ディスクドライブ記憶装置は、隠し領域又は保護空間をディスク上に有している。隠し領域中のアクセス制御オブジェクトは、ディスクドライブ組込みプロセッサ機能を提供する。隠し領域中のアクセス制御オブジェクトは、米国特許公開番号２００３／００２３８６７Ａ１に記載されている。これを特許文献とする。
【特許文献１】米国特許公開番号２００３／００２３８６７Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
保護された空間の利用が制限される状況とは、保護すべきデータの読込みと書込みに対して、通常のＡＴＡ及びＳＣＳＩコマンドが使えない状況のことである。この状況は、暗号鍵などの特定のデータ種別に対して極めて好ましいことである。しかし、その一方で、アクセスが許可されて、通常のオペレーティングシステムのファイルとして扱うべきデータをユーザが要求する状況のような、他のデータ種別に対しては、好ましくないといえる。さらに、最近の主要なプラットフォームプロセッサは、保護された実行空間を用いることを前提としている。保護された実行プロセスは、保護された不揮発性記憶を必要とし、この記憶に対しては、時間によって異なる要求がなされる。ハイパーバイザープロセスを用いることによって、これらの保護された実行プロセスを管理できる。ハイパーバイザーは、ファイルシステム内に保護された記憶を割り当てて、異なるプロセスを用いることにより、これらの記憶をハイパーバイザーの指示の元に扱うことを可能とする。さらに、保護された実行プロセスは、通常のＡＴＡ又はＳＣＳＩコマンドのみをサポートすればよいように、特殊なＡＴＡ又はＳＣＳＩコマンドを用いて書込みや再書込みを行うことが必要とならないようにすることが望ましい。
【０００８】
また、記憶媒体の隠し領域に対しては、汎用なアクセス制御が設けられていることが望ましい。従来は、通常のコマンドを介して扱うことが可能な隠し空間を設けることにより、異なる物理空間にＬＢＡ空間を再配置する方法が用いられている。これは、フラッシュ記憶装置とディスク記憶装置の両方で行われる方法である。ディスク記憶装置では、ディスクドライブは、通常、０からＮの範囲を有する線形なＬＢＡ空間が設けられているが、もし、専用のコマンドやパスコードによって配置が変更された場合には、０からＭの同一の“ドライブレター”を持つものの、異なる物理アドレスに配置された空間が設けられる。この方法の利点は、読込みや書込みに対して、パスワードによってデータを保護できる点にある。一方、この方法の欠点は、ドライブの異なる物理データに変更された場合には、システム状態が失われてしまうため、再配置されたドライブは、プラットフォームのブートドライブにすることはできない点にある。
【０００９】
保護された実行空間プラットフォームは、多くの主要なプラットフォームプロセッサメーカにより開発されているが、これらは、複数の保護された領域を利用するものとなっている。一つ以上の保護された領域に、保護されたデータを格納するように、システムを構成することが望ましい。また、保護されたデータは、ブートドライブに格納することが望ましい。
【課題を解決するための手段】
【００１０】
本発明は、論理ブロックアドレスによって参照される複数の物理メモリ位置を有する記憶媒体と、すくなくとも一つの論理ブロックアドレス範囲を含み、論理ブロックアドレスに適用可能な一つあるいはそれ以上の数の機能を特定するセキュア区画とからなることを特徴とするデータ記憶装置を提供するものである。
【００１１】
また、本発明は、論理ブロックアドレスによって参照される複数の物理メモリ位置を有する記憶媒体を設けるステップと、少なくとも一つの論理ブロックアドレス範囲を含み、論理ブロックアドレスに適用可能な一つあるいはそれ以上の数の機能を特定するセキュア区画を用いて、記憶媒体に対するアクセスを制御するステップとからなることを特徴とする方法を提供するものである。
【実施例】
【００１２】
図１は、本発明で利用可能なディスクドライブ１００の斜視図である。ディスクドライブ１００は、従来の磁気ディスクドライブ、光磁気ディスクドライブあるいは光ディスクドライブとして構成することが可能である。ディスクドライブ１００は、ホストシステム１０１に接続されており、基部１０２とトップカバー（不図示）を有する筐体を含んでいる。さらに、ディスクドライブ１００は、ディスクパック１０６を含んでおり、このディスクパックは、ディスククランプ１０８により、スピンドルモータ（不図示）に取り付けられている。ディスクパック１０６は、複数のディスクを含んでおり、これらのディスクは中心軸１０９を中心にして同時に回転するように取り付けられている。各ディスクの表面には、各々に対応したスライダ１１０が設けられ、このスライダはディスクドライブ１００に取り付けられ、ディスク表面との間で通信を行なうために、読取り／書込みヘッドを動かす。
【００１３】
図１に示した例では、スライダ１１０は、アクチュエータ１１６のトラックアクセスアームに取り付けられているサスペンション１１２によって支持されている。図１に示したアクチュエータは、既知の種類の回転式ムービングコイルアクチュエータであり、符号１１８で示したボイスコイルモータ（ＶＣＭ）を含んでいる。ボイスコイルモータ１１８は、それに取り付けられたスライダ１１０とともに、ピボット軸１２０を中心に回転し、ディスクの内径１２４とディスクの外形１２６の間の軌道２２に沿って、所定のデータトラック上にスライダ１１０を位置決めする。ボイスコイルモータ１１８は、内部回路１２８の制御に従って動作する。リニアアクチュエータなど、他の種類のアクチュエータを利用することも可能である。
【００１４】
以下では、“記憶装置”及び“ディスクドライブ”の用語は、特に明記しない限り、互いに同じものを指し、ネットワークを介して直接アクセス可能であったり、コンピュータシステムの内部に設けられたり、あるいは、その外部に接続された任意のデータ記憶装置を含んでいる。記憶装置は、必ずしも物理的な“ディスク”を搭載している必要はなく、ファームウェアをもつコントローラによって管理された記憶媒体又は記憶部品を含むものであってよい。
【００１５】
ここで用いられているように、用語“コンピュータシステム”は、メモリ記憶を有する任意の装置を指すものである。例えば、コンピュータには、これに限られるものではないが、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットワークコンピュータシステム、携帯電話や個人用携帯情報端末などのワイヤレスシステム、ウェブカメラ内蔵のデジタルカメラ、あるいはこれらのシステム及び装置を適度に組み合わせて構成したものが含まれる。
【００１６】
次に、図２は、（図１のディスクパック１０６のディスクなどの）通常のディスクのディスク表面２００を示したものである。各ディスク表面は、複数の同心円状のトラックを含み、データの書込みと読込みの位置を定義している。（符号２０２などの）各トラックは、さらに、複数のセクタ（あるいは物理メモリ位置）に分割され、これらのセクタは、さらに、情報の特定のユニットの位置を定義している。図２において、要素２０４は、単一のセクタを表している。これらのセクタは、論理ブロックアドレス（ＬＢＡ）リニアアドレス指定手順を用いてアドレスが指定される。例えば、５４０ＭＢのドライブでは、ＬＢＡ０は、シリンダ又はトラック０（第一シリンダ又はトラック）の、ヘッド０（第一ヘッド）のセクタ１（第一セクタ）に対応しており、ＬＢＡ１，０６５，４５６となるドライブ上の最後の物理セクタに到るまで、ＬＢＡが順次定義される。
【００１７】
ディスクドライブ１００は、コンピュータシステムの構成要素であり、オペレーティングシステム、アプリケーション及びユーザデータに関する大容量の情報を記憶するために用いられる。ユーザデータに対し許可されていないアクセスを防止するための手続きは、基本的に、これらの手続きの操作に対してほとんど制御する機能をもたないディスクドライブを有するホストコンピュータに実装されている。
【００１８】
図３を引用して、本発明を説明する。図３は、ホストコンピュータ３００に接続され、本発明の位置実施例に従って構成されたディスクドライブ１００のブロック図である。本発明をより良く理解するために、まず最初に、本発明のディスクドライブ１００が利用される環境を説明する。その後、本発明の詳細について説明する。
【００１９】
図３において、ディスクドライブ１００は、ホストコンピュータ３００に接続されている。ホストコンピュータは、例えば、汎用の計算機装置である。コンピュータ３００の構成要素としては、処理ユニットと、システムメモリと、システムメモリを含む様々なシステム構成要素を処理ユニットに接続するためのシステムバスとが含まれている。システムバスは、メモリバスあるいはメモリコントローラ、周辺バス及び様々なバス構成を利用したローカルバスを含む、いくつかの種類のバス構成のいずれかで構成されている。
【００２０】
ユーザは、キーボードや、マウス、トラックボールあるいはタッチパッドなどのポインティングデバイスなどの入力装置を用いて、コマンドと情報をコンピュータ３００に入力する。これらの入力装置や他の種類の入力装置は、システムバスに接続されたユーザ入力インターフェースを介して、処理ユニットに接続されている。また、モニタや他の種類の表示装置が、ビデオインターフェースなどのインターフェースを介してシステムバスに接続されている。リモートアプリケーションプログラムが搭載されている一つあるいはそれ以上の数のリモートコンピュータとの論理的な接続を用いた、ネットワーク環境の中で、コンピュータ３００は動作するものであってよい。
【００２１】
図３に示すように、ディスクドライブ１００は、ホスト／ディスクインターフェース３３０を介して、コンピュータ３００に接続されている。コンピュータ３００は、ホスト／ディスクインターフェース３３０を介して、ディスクドライブ１００に対してデータを転送し、ディスクドライブ１００からデータを読み込む。ホスト／ディスクインターフェース３３０は、記憶装置とホストコンピュータとを接続するための、任意の種類のデータ交換インターフェースである。データ交換インターフェースとしては、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＵＤＭＡ（Ｕｌｔｒａ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）、ＡＴＡ（Ａｄｖａｎｃｅ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、あるいは産業界では既知となっている標準規格や、将来整備される標準規格に準拠した他の規格に従って構成されている。
【００２２】
ディスクドライブ１００では、組み込みコントローラ１３０を用いて、ホストコンピュータ３００からデータを受信したり、ホストコンピュータ３００にデータを伝送する。通常は、コントローラ１３０は、メモリ１３４に格納された命令を実行することによって、その機能を果たす。
【００２３】
ディスクドライブ１００は、コンピュータで読込み可能な命令と、データ構造と、プログラムモジュールと、コンピュータ３００の他のデータとを格納する。図３では、例えば、ディスクドライブ１００は、オペレーティングシステムと、アプリケーションプログラムと、他のプログラムモジュールと、プログラムデータとを格納されている。ここで、格納されるこれらの構成要素は、ホストに格納されるオペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、及びプログラムデータと同一のものでも良く、あるいは、異なるものでも良い。
【００２４】
ディスクドライブには、オペレーティングシステムと、アプリケーションプログラムと、他のプログラムモジュールと、プログラムデータが、ファイルとして格納されており、各ファイルは、ＬＢＡによって参照されるセクタのクラスタ（あるいは物理メモリ位置）上に格納されている。通常、ディスクドライブコントローラは、ホストのオペレーティングシステムとは独立して動作するため、ＬＢＡとファイルとの関係については考慮されていない。すなわち、ホストコンピュータが、ファイルに対応したデータをディスクドライブに転送する場合、情報は、ある範囲のＬＢＡに記憶されるデータとしてディスクコントローラに送られる。コントローラは、データに記憶する情報を受取ると、単純に、そのデータをヘッド１１０に送り、指定された連続するＬＢＡ範囲に対応した物理メモリ位置に、そのデータを記憶する。
【００２５】
本発明の一実施例によれば、ＬＢＡ範囲に対するプログラム命令と他の対応する機能は、コントローラ１３０によって実行可能なものであり、メモリ１３４に記憶されている。さらに、少なくとも一つの予め定められたＬＢＡ範囲を記憶したテーブルは、複数の物理メモリ位置の（全てではない）少なくとも一つのサブセットに対応し、（例えば、ディスク表面上の）不揮発性メモリのセキュア区画に含まれている。表１は、このテーブルの一例を示すものである。この表は、少なくとも一つの論理ブロックアドレスの範囲を含み、承認された項目によって論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を指定するものである。
【表１】
2007207239.tif 000003
【００２６】
表１において、行１は特別なもので、記憶装置の全ＬＢＡ範囲を指すものである。行２以降の行は、ＬＢＡの一部の範囲を指すものであり、行１とは扱いが異なる。本実施例では、行２は、書込みロック許可を指示するものであり、書込みロックの列の条件は、ＬＢＡ１００以降の５００ブロックに書込み可能であるか否かを決定するものである。本例では、書込みロック許可がＯＮであり、書込みロックがＯＮであるため、このＬＢＡ範囲への書込みは禁止される。読込みロックは不許可であるため、読込みロックの値は意味を持たないものとなり、読込みは解除される。この２つのブール値（一方は許可であり、他方はロック状態か非ロック状態のいずれかを有効にする）の目的は、３つの状態を区別するためである。許可フラグは、ロックフラグが意味を持つかどうかを示すものであり、もし、意味を持つならば、ロック及び解除の２状態をロックフラグによって制御する。実際には、ロックを許可する権限は、読込み又は書込みの範囲を解除又はロックできる権限とは異なる。また、表中には、暗号鍵が含まれており、これが存在する場合には、媒体に書き込まれるデータを暗号化し、媒体から読み込むデータを暗号解読する。
【００２７】
表は、不揮発性メモリの安全区画に記憶されている。安全区画は、米国特許出願番号０９／９１２，９３１（同公開番号２００３／００２３８６７Ａ１）に記載されており、ここでは特許文献とする。実際には、ＬＢＡ表は、表中で指定されたＬＢＡ範囲の記憶領域に記憶するか、表の行１で定義された全ＬＢＡ範囲を含む表中で指定されたＬＢＡ範囲のどこにも含まれない他の記憶領域に記憶するものであってよい。
【００２８】
このＬＢＡテーブルは、ディスク製造時に生成される。ディスクドライブをホストコンピュータにインストールした後に、記録がテーブルに追加されたり、記録が修正される。テーブル中の記録の追加、削除及び更新は、ホスト側のインターフェースプロトコルとセキュリティ認証に適合した適切なコマンドを用いることによって行われる。通常、ＬＢＡ範囲は、ディスク区画と同一となるように、割り当てられる。
【００２９】
データ記憶情報を受信すると、コントローラは、特定のＬＢＡ範囲に対応した物理メモリ位置にそのデータを記憶する。しかし、本発明では、対応した物理メモリ位置にデータを記憶したり、そこからデータを取り出す前に、コントローラ１３０が、ユーザが特定のＬＢＡ範囲にアクセスする権限をもっているかどうかを判定する。従って、本発明は、実質的に、ホストから独立し、ファイルから独立したアクセス手段を提供するものとなっている。
【００３０】
ユーザの認証処理により、予め定められたＬＢＡ範囲にある機能を、ホストコンピュータの現在のユーザに対して有効にするかどうかを決定する。ユーザの認証処理は、ユーザがホストコンピュータにログインした時点で行うことが好ましい。
【００３１】
図４は、本発明の位置実施例における、認証処理の一例のフローチャートである。認証により、テーブル中の値の書込みと読込みが可能となる。認証方法と、テーブル中のどのデータをどの権限が読込み／書込みできるかについては、特定の目的のために記憶装置を構成する際に、設定しておく。例えば、管理者権限での認証により、特定のＬＢＡ範囲が、読込みロック許可又は書込みロック許可であるかについて、その値を設定でき、一方、ユーザ権限又はコンピュータ権限での認証により、読込みロック又は書込みロックであるかについて、その値を設定できる。
【００３２】
ユーザ権限での認証の処理に関しては、ユーザログインプロセスが、ステップ４０２で開始される。ステップ４０４において、ユーザに対して、識別情報（例えば、ユーザ名とパスワード）を入力するように促す。ステップ４０６において、ユーザ識別情報を検証する。ステップ４０８において、ユーザ識別情報が有効であると判定された場合に、アクセスが許可される。
【００３３】
本発明のいくつかの実施例では、識別情報には、暗号鍵と、その鍵の値の知識証明を含んでいる。認証情報は、ＬＢＡ範囲テーブル内に、あるいは範囲テーブルに関連付けて（結合して）記憶される。認証処理は、記憶装置内に実装することが可能である。いくつかの実施例では、認証処理のいくつかの部分は、オペレーティングシステムに実装されている。他の実施例では、認証処理のいくつかの部分は、ＢＩＯＳあるいは、ＢＩＯＳ拡張部に実装されている。なお、ユーザ権限での認証が、ＢＩＯＳあるいは、ＢＩＯＳ拡張部に実装されている場合には、オペレーティングシステムを変更する必要はない。また、ユーザ権限での認証の手順は、セキュリティトークンや指紋などの生体情報スキャナを利用することも可能であり、これにより、基本的なパスフレーズよりも強力な認証セキュリティが得られる。ＬＢＡ範囲テーブル中の値を変更するために必要となる特別の認証は、アクセス制御を設定するエージェントの制御によって行なわれる。
【００３４】
ＬＢＡ範囲テーブルの中身は、ホストディスク・インターフェースプロトコルに準拠したコマンドを用いることにより、変更することが可能である（記録を、追加、削除、もしくは更新することが可能である）。認証処理は、ホストコンピュータの現在のユーザが、ＬＢＡ範囲テーブルに対して保有するアクセスレベル（アクセス禁止、問い合わせのみ、あるいは、問い合わせ及び更新）を決定するために実行される。ユーザ権限での認証処理は、上述したものと同様の手法を用いて、実行することが可能である。ユーザ権限での認証処理は、ディスクドライブの隠し領域に記憶しておき、認証処理中にホストコンピュータにロードするものであってよい。
【００３５】
本発明は、ＬＢＡＭ  ＳＰと呼ばれる、論理ブロックアドレス配置（ＬＢＡＭ）のセキュリティ区画（ＳＰ）を用いて実装することが可能である。ＬＢＡＭ  ＳＰは、厳密な汎用アクセス制御において、ホストの単一の権限に対して発行される。セキュリティが確保された処理実行プロセッサにおいては、この発行プロセスは、ローカルなハイパーバイザープロセスである。ドライブの製造メーカーは、ＬＢＡＭ  ＳＰ及び他のＳＰに対するＬＢＡアドレスを保護するための、ＬＢＡＭ  ＳＰ中のテーブルを提供する。これにより、これらの記憶空間上での通常の読込み／書込み操作は禁止されるが、ＳＰ保護空間のサイズ変更のために製造メーカー権限での認証を用いるアプリケーションによる書込みは可能である。
【００３６】
ＬＢＡＭによるマッピングは、第二区画を、ＬＢＡ０から始るＬＢＡ範囲に配置する処理を一般化したものである。本例では、表２に示すように、ＬＢＡ範囲テーブルを修正して、この配置処理を制御する。表２は、表１に対して、“配置済ＬＢＡ開始”の列を追加したものである。表１と同様に、列１は、記憶装置の全てのＬＢＡに対して適用されるものである。列２は、読込みロック可能及び、あるいは書込みロック可能で、読込みロックがＯＦＦ（開放）及び、あるいは書込みロックがＯＦＦの場合に、読込み及び、あるいは書込みに対して、値１０００から値６０００（１０００＋５０００）のＬＢＡが、ＬＢＡ０からＬＢＡ５０００に再配置されていることを示している。ある行が再配置された場合には、その行は、それが再配置された先のアドレス範囲で置き換えられる。表２に示した例では、ＬＢＡ１０００から６０００が、ＬＢＡ０から５０００に再配置されるため、ＬＢＡ範囲の全体は、１０００ブロック分だけ減少する。一実施例において、記憶システムのファームウェアは、構成をチェックして、再配置を行なう際の解釈が不定となるような構成や、あいまいな構成や、ファームウェアと回路の容量を上回るような構成を禁止する必要がある。
【表２】
2007207239.tif 000004
【００３７】
ＬＢＡ開始を再配置することにより、ＬＢＡ範囲は、ユーザから完全に隠れたものとなる。これにより、一つのセキュア区画がテーブル自身を保持でき、認証制御を介さずに、通常の読込みあるいは書込みに対して、ロック状態が永久に継続できるように、セキュア区画を構成することが可能となる。これにより、テーブルと認証データを記憶するためのセキュア区画を、元のＬＢＡ空間内で区画容量について構成が可能になるという利点がもたらされる。
【００３８】
他の実施例として、読込みロックと書込みロックを組み合わせて、単一の読込み／書込みロックとして編成することも可能である。
【００３９】
本発明によれば、ソフトウェアは、それ自身のみと、それが見ることが許可されている他のものとを見ることになる。ハイパーバイザーを用いることにより、セキュリティが確保された実行環境を割り当てることが可能となる。本発明は、ハイパーバイザのために保護された空間を提供できる。保護された領域に対する鍵は、ハイパーバイザーによって提供される。
【００４０】
ハイパーバイザがない場合には、一旦、認証が通ってしまうと、ＡＴＡあるいはＳＣＳＩ準拠の悪意のある読込み／書込みコマンドが実行できてしまうという、セキュリティ上の技術的な課題が残る。この悪意あるプロセスは、ＬＢＡ範囲に対する権限を認証し、読込みあるいは書込みを行なうこととなり、結果的に、認証が破られてしまう。他のプロセスが、特定のＬＢＡ範囲に対して認証が得られたものと認識した場合には、この他のプロセスが、当該ＬＢＡ範囲にデータを書き込むことが可能となる。
【００４１】
テーブル中で定義されている保護されたＬＢＡ範囲に対して、正しい標準的な読込み／書込みコマンドのみが、読込みあるいは書込みできるように保証する方法には、様々な方法がある。一つの方法としては、ＬＢＡＭ認証によって起動されたドライブにより確立されたセキュリティが確保されたセッションで、書込み／読込みコマンドを発行する方法がある。これにより、書込み／読込みコマンドを発行しているプロセスは、どのＬＢＡアドレスが読込みあるいは書込み中であるかについては、他のプロセスからは見えなくなる。読込み／書込みは、セキュアメッセージ層の中を通るため、いずれの読込みあるいは書込みも、適切に認証が行われる。セキュリティが確保されたセッションにより、読込み及び書込みは、他のプロセスからは見えなくなり、他のプロセスの成り済ましによって行われることがないことが保証される。
【００４２】
他の方法としては、セキュリティが確保されたセッションにより、例えば、鍵がかけられたハッシュを用いることにより確立される認証コードを、読込みあるいは書込みがなされるデータに含ませておく必要があるという方法がある。
【００４３】
三番目の方法としては、ＬＢＡＭテーブルを拡張して、通常の読込み／書込みコマンドに対して汎用のセキュリティ制御を設けるという方法がある。例えば、ＬＢＡＭの内容は、データペイロードの数とハッシュ値とを特定するものであり、これにより、送受信される全てのデータを暗号化したり、読込み／書込みするペイロード中のデータを再フォーマットする必要がなくなる。このように、異なるＬＢＡ範囲に対する読込み／書込みコマンドは、データに関するセッション毎の同一性を失うことなく均一にばら撒かれることになる。しかし、この方法では、コミットが行われるまで（ハッシュチェックのセッション終了まで）書き込む際に、データのコピーを必要とするようなトランザクションのコミット機構を呼出す必要がある。
【００４４】
一方、いくつかの処理環境では、読込み／書込みチャネルが、特定のセキュアプロセスに対してセキュリティを確保することがあるが、この場合は、（ハードウェアにより無制限に保護されている）読込み／書込みチャネルと同じくらいの期間、セション自身が継続する。このような場合は、ＬＢＡＭの設定は、排他的な登録プロセスと同じであり、登録を行う時を除いて、ハッシュ方法とセキュアメッセージ方法を用いる必要はない。ハイパーバイザーは、この種の排他的なハードウェアによって保護された領域を利用することになると見込まれる。
【００４５】
最後に、ＬＢＡＭテーブルを拡張し、暗号鍵あるいは暗号鍵に間接的に参照する情報を盛り込む。これにより、ＬＢＡ範囲の全てのデータについて、媒体に書き込む際に暗号化し、媒体から読み込む際に暗号解読するようにする。この方法は、ドライブ全体にわたる暗号化に対して、ごく自然な拡張方法であり、ドライブ全体の暗号化の使い勝手と可搬性を保ちながら大きな柔軟性をもたらすものである。さらに、ＬＢＡＭ暗号化の範囲は、回路が許せば、デフォルトでドライブ全体の暗号化の先頭から暗号化を始めることが可能である。この場合、ＬＢＡＭ  ＳＰは、暗号鍵を管理するのに必要な他のテーブルを含む一つあるいはそれ以上の数の暗号化ドライブのＳＰに関連付けられる。
【００４６】
オペレーティングシステム、あるいは特に、適切な暗号化により管理された権限を有するファイルシステムのベンダは、通常の読込み／書込み操作を変更することなく、通常のオペレーティングシステム／ファイルシステムの利用に適した保護された空間を生成することができる（なお、この場合、初期化処理と後に記憶回復する処理を、ホストのオペレーティングシステム／ファイルシステムあるいは、ハイパーバイザなどの、セキュリティが確保された実行空間プロセッサやホストオペレーティングシステムで実行されるアプリケーションに追加する必要がある）。ユーザは、同一のマシン上で実行中の他のプロセスからはアクセス不可能な保護された記憶領域に対し、読込み／書込みできることをプロセス自身が認識しているプロセスを単に実行するだけである。ハイパーバイザーは、ユーザに対して、ユーザ自身が利用する記憶領域が、他のプロセスによってアクセスされることはないという保証を与えるものである。
【００４７】
本発明は、ＬＢＡから物理空間へのマッピングが変化することがないという特性をもっており、ドライブからの起動を可能とするものである。ＬＢＡ範囲をなんらかの方法で凍結する考え方は、既知である。しかし、本発明は、ＬＢＡの配置及び読込み／書込みロック、ならびに記憶装置の組込みコントローラ内で、記憶装置インターフェースの後方で、セキュリティの確保された汎用のセキュリティ管理を可能とする暗号化に対する統一的な表形式のインターフェースを提供するものである。
【００４８】
本発明は、ＬＢＡ範囲に対するプログラム可能で汎用のアクセス制御に関し、ＬＢＡ範囲の保護、ＬＢＡ再配置、ＬＢＡ範囲での分離可能な書込み／読込み制御、ならびに単一のモジュール機構におけるＬＢＡ範囲の暗号化を提供することにより、従来の方法を実質的に改善するものである。本発明の範囲で、これらの特徴の任意の組合せが可能となるように、この機構はモジュール方式で構成されている。
【００４９】
本発明は、ＬＢＡ範囲へのアクセスを制限するための、汎用のアクセス制御システムを提供するものである。このシステムは、パスワード認証や暗号を用いた様々な認証方法をの中から一つを選ぶことができる。また、このシステムは、認証のテストのために、ブール値の組合せとして認証を組み合わせることが可能となっている。この一例が、クロス認証であり、ＬＢＡアクセスを確立したり、ＬＢＡ再配置を有効にしたり、認証規約を変更するために、二つの認証を必要とする方法である。
【００５０】
本発明は、複数の仮想ドライブに対して、ＬＢＡ範囲の再配置を可能としている。アクセス制御は、ＬＢＡ範囲に設けられている。パスワード、鍵などを用いて、仮想アクセス制御が行われる。オペレーティングシステムは、アクセス制御を適用することにより、ＬＢＡ範囲を保護する。複数のマスターブートレコードを構成することが可能である。
【００５１】
さらに、本発明は、最新のセキュリティの高いホストシステムとセキュリティの面で密に結合したＬＢＡ範囲へのアクセスを制限するためのアクセス制御システムを提供するものである。読込み／書込みをロックするため、ＬＢＡアクセスの制御のため、ＬＢＡ配置のため、およびＬＢＡ範囲の読込み／書込みに関する暗号化のために、単一の装置が用いられる。
【００５２】
様々な実施例では、読込み／書込みのロックと、ＬＢＡ範囲の読込み／書込みに関する暗号化とのため、あるいは、読込み／書込みのロックと、ＬＢＡ再配置のため、または、ＬＢＡ再配置と、ＬＢＡ範囲の読込み／書込みに関する暗号化のために、単一の装置を用いることが可能である。
【００５３】
本発明を数々の例にもとづいて説明したが、当業者であれば、以下のクレームで規定される本発明の範囲を逸脱しない限り、様々な変更が可能であることは自明である。
【図面の簡単な説明】
【００５４】
【図１】本発明で利用可能なディスクドライブの斜視図。
【図２】データ記憶ディスクの概略図。
【図３】本発明を含むことが可能なシステムの簡略ブロック図。
【図４】ユーザ認証手続きの一例のフローチャート。
【符号の説明】
【００５５】
１３０  コントローラ
１３２  モータ
３００  ホスト
３３０  インターフェース
【図１】
2007207239.tif 000005
【図２】
2007207239.tif 000006
【図３】
2007207239.tif 000007
【図４】
2007207239.tif 000008