説明

セキュリティ応用のための柔軟性を有し保護されたアクセスを与える記憶装置

【課題】保護されたデータを、ブートドライブに格納することができる、セキュリティの強化された記憶装置を提供すること。
【解決手段】データ記憶装置は、論理ブロックアドレスを介して参照される複数の物理メモリ位置を有する記憶媒体と、論理ブロックアドレスの少なくとも一つの範囲を含むテーブルを有し、承認された対象により論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を特定するセキュア区画とを含むことを特徴としている。装置によって実行されるアクセス制御の方法も含まれている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ記憶装置に関し、特に、ブロックデータ記憶を用いるデータ記憶装置に関する。
【背景技術】
【0002】
ブロックデータ記憶装置は、ブロックの形式でデジタルデータを記憶もしくは検索するものであり、これらのブロックは、ホスト装置によって個々にアドレス指定可能となるように構成されている。ブロックデータ記憶装置の例としては、ハードディスクドライブ、光ディスクレコーダ及びプレーヤ並びに磁気デジタルテープレコーダ及びプレーヤがある。
【0003】
通常、これらの装置は、バッファ(第一メモリ位置)及び通信チャネル並びに記録可能媒体(第二メモリ位置)を有するハードウェア/ファームウェアにより構成されたインターフェース回路を含んでいる。第二メモリ位置のユーザメモリ空間は、多数のアドレス指定可能ブロックに分割され、これらのブロックには、(しばしば、論理ブロックアドレス又はLBAと称される)ホストレベルのアドレスが割り当てられている。通常、各LBAは、それに対応する物理ブロックアドレスを有しており、このアドレスは、所定のLBAにアクセスするために、サーボ制御回路がデータ伝達ヘッドを記憶媒体の所定位置に位置決めする際に、用いられる。
【0004】
媒体にデータを書き込むために、ホスト装置は、記憶装置によって記憶されるユーザデータと、そのユーザデータが記憶されるLBAアドレスのリストとからなる書込みコマンドを発行する。記憶装置は、一時的に、第一メモリ位置にユーザデータを記憶し、媒体上の所定位置へのデータ伝送ヘッドの移動をスケジューリングし、通信チャネルの書込みチャネル部を用いて、データの適切なエンコードと調整を行い、指定されたLBAにデータを書き込む。
【0005】
次に、記憶装置からデータを読み取るために、ホスト装置は、検索すべきデータのLBAを特定するための読込みコマンドを発行する。記憶装置は、媒体上の所定の位置へのデータ伝送ヘッドの移動をスケジューリングし、さらに、ホスト装置に返送する第一メモリ位置(バッファ)に置かれたリードバックデータを、通信チャネルの読込みチャネル部を用いて、デコードする。
【0006】
最近の記憶装置は、通常、ATA又はSCSIコマンドを用いて読込み又は書込みがなされ、これらの記憶装置を用いるシステムは、これらのコマンドを用いるように最適化されている。ディスクドライブ記憶装置は、隠し領域又は保護空間をディスク上に有している。隠し領域中のアクセス制御オブジェクトは、ディスクドライブ組込みプロセッサ機能を提供する。隠し領域中のアクセス制御オブジェクトは、米国特許公開番号2003/0023867A1に記載されている。これを特許文献とする。
【特許文献1】米国特許公開番号2003/0023867A1
【発明の開示】
【発明が解決しようとする課題】
【0007】
保護された空間の利用が制限される状況とは、保護すべきデータの読込みと書込みに対して、通常のATA及びSCSIコマンドが使えない状況のことである。この状況は、暗号鍵などの特定のデータ種別に対して極めて好ましいことである。しかし、その一方で、アクセスが許可されて、通常のオペレーティングシステムのファイルとして扱うべきデータをユーザが要求する状況のような、他のデータ種別に対しては、好ましくないといえる。さらに、最近の主要なプラットフォームプロセッサは、保護された実行空間を用いることを前提としている。保護された実行プロセスは、保護された不揮発性記憶を必要とし、この記憶に対しては、時間によって異なる要求がなされる。ハイパーバイザープロセスを用いることによって、これらの保護された実行プロセスを管理できる。ハイパーバイザーは、ファイルシステム内に保護された記憶を割り当てて、異なるプロセスを用いることにより、これらの記憶をハイパーバイザーの指示の元に扱うことを可能とする。さらに、保護された実行プロセスは、通常のATA又はSCSIコマンドのみをサポートすればよいように、特殊なATA又はSCSIコマンドを用いて書込みや再書込みを行うことが必要とならないようにすることが望ましい。
【0008】
また、記憶媒体の隠し領域に対しては、汎用なアクセス制御が設けられていることが望ましい。従来は、通常のコマンドを介して扱うことが可能な隠し空間を設けることにより、異なる物理空間にLBA空間を再配置する方法が用いられている。これは、フラッシュ記憶装置とディスク記憶装置の両方で行われる方法である。ディスク記憶装置では、ディスクドライブは、通常、0からNの範囲を有する線形なLBA空間が設けられているが、もし、専用のコマンドやパスコードによって配置が変更された場合には、0からMの同一の“ドライブレター”を持つものの、異なる物理アドレスに配置された空間が設けられる。この方法の利点は、読込みや書込みに対して、パスワードによってデータを保護できる点にある。一方、この方法の欠点は、ドライブの異なる物理データに変更された場合には、システム状態が失われてしまうため、再配置されたドライブは、プラットフォームのブートドライブにすることはできない点にある。
【0009】
保護された実行空間プラットフォームは、多くの主要なプラットフォームプロセッサメーカにより開発されているが、これらは、複数の保護された領域を利用するものとなっている。一つ以上の保護された領域に、保護されたデータを格納するように、システムを構成することが望ましい。また、保護されたデータは、ブートドライブに格納することが望ましい。
【課題を解決するための手段】
【0010】
本発明は、論理ブロックアドレスによって参照される複数の物理メモリ位置を有する記憶媒体と、すくなくとも一つの論理ブロックアドレス範囲を含み、論理ブロックアドレスに適用可能な一つあるいはそれ以上の数の機能を特定するセキュア区画とからなることを特徴とするデータ記憶装置を提供するものである。
【0011】
また、本発明は、論理ブロックアドレスによって参照される複数の物理メモリ位置を有する記憶媒体を設けるステップと、少なくとも一つの論理ブロックアドレス範囲を含み、論理ブロックアドレスに適用可能な一つあるいはそれ以上の数の機能を特定するセキュア区画を用いて、記憶媒体に対するアクセスを制御するステップとからなることを特徴とする方法を提供するものである。
【実施例】
【0012】
図1は、本発明で利用可能なディスクドライブ100の斜視図である。ディスクドライブ100は、従来の磁気ディスクドライブ、光磁気ディスクドライブあるいは光ディスクドライブとして構成することが可能である。ディスクドライブ100は、ホストシステム101に接続されており、基部102とトップカバー(不図示)を有する筐体を含んでいる。さらに、ディスクドライブ100は、ディスクパック106を含んでおり、このディスクパックは、ディスククランプ108により、スピンドルモータ(不図示)に取り付けられている。ディスクパック106は、複数のディスクを含んでおり、これらのディスクは中心軸109を中心にして同時に回転するように取り付けられている。各ディスクの表面には、各々に対応したスライダ110が設けられ、このスライダはディスクドライブ100に取り付けられ、ディスク表面との間で通信を行なうために、読取り/書込みヘッドを動かす。
【0013】
図1に示した例では、スライダ110は、アクチュエータ116のトラックアクセスアームに取り付けられているサスペンション112によって支持されている。図1に示したアクチュエータは、既知の種類の回転式ムービングコイルアクチュエータであり、符号118で示したボイスコイルモータ(VCM)を含んでいる。ボイスコイルモータ118は、それに取り付けられたスライダ110とともに、ピボット軸120を中心に回転し、ディスクの内径124とディスクの外形126の間の軌道22に沿って、所定のデータトラック上にスライダ110を位置決めする。ボイスコイルモータ118は、内部回路128の制御に従って動作する。リニアアクチュエータなど、他の種類のアクチュエータを利用することも可能である。
【0014】
以下では、“記憶装置”及び“ディスクドライブ”の用語は、特に明記しない限り、互いに同じものを指し、ネットワークを介して直接アクセス可能であったり、コンピュータシステムの内部に設けられたり、あるいは、その外部に接続された任意のデータ記憶装置を含んでいる。記憶装置は、必ずしも物理的な“ディスク”を搭載している必要はなく、ファームウェアをもつコントローラによって管理された記憶媒体又は記憶部品を含むものであってよい。
【0015】
ここで用いられているように、用語“コンピュータシステム”は、メモリ記憶を有する任意の装置を指すものである。例えば、コンピュータには、これに限られるものではないが、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットワークコンピュータシステム、携帯電話や個人用携帯情報端末などのワイヤレスシステム、ウェブカメラ内蔵のデジタルカメラ、あるいはこれらのシステム及び装置を適度に組み合わせて構成したものが含まれる。
【0016】
次に、図2は、(図1のディスクパック106のディスクなどの)通常のディスクのディスク表面200を示したものである。各ディスク表面は、複数の同心円状のトラックを含み、データの書込みと読込みの位置を定義している。(符号202などの)各トラックは、さらに、複数のセクタ(あるいは物理メモリ位置)に分割され、これらのセクタは、さらに、情報の特定のユニットの位置を定義している。図2において、要素204は、単一のセクタを表している。これらのセクタは、論理ブロックアドレス(LBA)リニアアドレス指定手順を用いてアドレスが指定される。例えば、540MBのドライブでは、LBA0は、シリンダ又はトラック0(第一シリンダ又はトラック)の、ヘッド0(第一ヘッド)のセクタ1(第一セクタ)に対応しており、LBA1,065,456となるドライブ上の最後の物理セクタに到るまで、LBAが順次定義される。
【0017】
ディスクドライブ100は、コンピュータシステムの構成要素であり、オペレーティングシステム、アプリケーション及びユーザデータに関する大容量の情報を記憶するために用いられる。ユーザデータに対し許可されていないアクセスを防止するための手続きは、基本的に、これらの手続きの操作に対してほとんど制御する機能をもたないディスクドライブを有するホストコンピュータに実装されている。
【0018】
図3を引用して、本発明を説明する。図3は、ホストコンピュータ300に接続され、本発明の位置実施例に従って構成されたディスクドライブ100のブロック図である。本発明をより良く理解するために、まず最初に、本発明のディスクドライブ100が利用される環境を説明する。その後、本発明の詳細について説明する。
【0019】
図3において、ディスクドライブ100は、ホストコンピュータ300に接続されている。ホストコンピュータは、例えば、汎用の計算機装置である。コンピュータ300の構成要素としては、処理ユニットと、システムメモリと、システムメモリを含む様々なシステム構成要素を処理ユニットに接続するためのシステムバスとが含まれている。システムバスは、メモリバスあるいはメモリコントローラ、周辺バス及び様々なバス構成を利用したローカルバスを含む、いくつかの種類のバス構成のいずれかで構成されている。
【0020】
ユーザは、キーボードや、マウス、トラックボールあるいはタッチパッドなどのポインティングデバイスなどの入力装置を用いて、コマンドと情報をコンピュータ300に入力する。これらの入力装置や他の種類の入力装置は、システムバスに接続されたユーザ入力インターフェースを介して、処理ユニットに接続されている。また、モニタや他の種類の表示装置が、ビデオインターフェースなどのインターフェースを介してシステムバスに接続されている。リモートアプリケーションプログラムが搭載されている一つあるいはそれ以上の数のリモートコンピュータとの論理的な接続を用いた、ネットワーク環境の中で、コンピュータ300は動作するものであってよい。
【0021】
図3に示すように、ディスクドライブ100は、ホスト/ディスクインターフェース330を介して、コンピュータ300に接続されている。コンピュータ300は、ホスト/ディスクインターフェース330を介して、ディスクドライブ100に対してデータを転送し、ディスクドライブ100からデータを読み込む。ホスト/ディスクインターフェース330は、記憶装置とホストコンピュータとを接続するための、任意の種類のデータ交換インターフェースである。データ交換インターフェースとしては、SCSI(Small Computer System Interface)、UDMA(Ultra Direct Memory Access)、ATA(Advance Technology Attachment)、あるいは産業界では既知となっている標準規格や、将来整備される標準規格に準拠した他の規格に従って構成されている。
【0022】
ディスクドライブ100では、組み込みコントローラ130を用いて、ホストコンピュータ300からデータを受信したり、ホストコンピュータ300にデータを伝送する。通常は、コントローラ130は、メモリ134に格納された命令を実行することによって、その機能を果たす。
【0023】
ディスクドライブ100は、コンピュータで読込み可能な命令と、データ構造と、プログラムモジュールと、コンピュータ300の他のデータとを格納する。図3では、例えば、ディスクドライブ100は、オペレーティングシステムと、アプリケーションプログラムと、他のプログラムモジュールと、プログラムデータとを格納されている。ここで、格納されるこれらの構成要素は、ホストに格納されるオペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、及びプログラムデータと同一のものでも良く、あるいは、異なるものでも良い。
【0024】
ディスクドライブには、オペレーティングシステムと、アプリケーションプログラムと、他のプログラムモジュールと、プログラムデータが、ファイルとして格納されており、各ファイルは、LBAによって参照されるセクタのクラスタ(あるいは物理メモリ位置)上に格納されている。通常、ディスクドライブコントローラは、ホストのオペレーティングシステムとは独立して動作するため、LBAとファイルとの関係については考慮されていない。すなわち、ホストコンピュータが、ファイルに対応したデータをディスクドライブに転送する場合、情報は、ある範囲のLBAに記憶されるデータとしてディスクコントローラに送られる。コントローラは、データに記憶する情報を受取ると、単純に、そのデータをヘッド110に送り、指定された連続するLBA範囲に対応した物理メモリ位置に、そのデータを記憶する。
【0025】
本発明の一実施例によれば、LBA範囲に対するプログラム命令と他の対応する機能は、コントローラ130によって実行可能なものであり、メモリ134に記憶されている。さらに、少なくとも一つの予め定められたLBA範囲を記憶したテーブルは、複数の物理メモリ位置の(全てではない)少なくとも一つのサブセットに対応し、(例えば、ディスク表面上の)不揮発性メモリのセキュア区画に含まれている。表1は、このテーブルの一例を示すものである。この表は、少なくとも一つの論理ブロックアドレスの範囲を含み、承認された項目によって論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を指定するものである。
【表1】

【0026】
表1において、行1は特別なもので、記憶装置の全LBA範囲を指すものである。行2以降の行は、LBAの一部の範囲を指すものであり、行1とは扱いが異なる。本実施例では、行2は、書込みロック許可を指示するものであり、書込みロックの列の条件は、LBA100以降の500ブロックに書込み可能であるか否かを決定するものである。本例では、書込みロック許可がONであり、書込みロックがONであるため、このLBA範囲への書込みは禁止される。読込みロックは不許可であるため、読込みロックの値は意味を持たないものとなり、読込みは解除される。この2つのブール値(一方は許可であり、他方はロック状態か非ロック状態のいずれかを有効にする)の目的は、3つの状態を区別するためである。許可フラグは、ロックフラグが意味を持つかどうかを示すものであり、もし、意味を持つならば、ロック及び解除の2状態をロックフラグによって制御する。実際には、ロックを許可する権限は、読込み又は書込みの範囲を解除又はロックできる権限とは異なる。また、表中には、暗号鍵が含まれており、これが存在する場合には、媒体に書き込まれるデータを暗号化し、媒体から読み込むデータを暗号解読する。
【0027】
表は、不揮発性メモリの安全区画に記憶されている。安全区画は、米国特許出願番号09/912,931(同公開番号2003/0023867A1)に記載されており、ここでは特許文献とする。実際には、LBA表は、表中で指定されたLBA範囲の記憶領域に記憶するか、表の行1で定義された全LBA範囲を含む表中で指定されたLBA範囲のどこにも含まれない他の記憶領域に記憶するものであってよい。
【0028】
このLBAテーブルは、ディスク製造時に生成される。ディスクドライブをホストコンピュータにインストールした後に、記録がテーブルに追加されたり、記録が修正される。テーブル中の記録の追加、削除及び更新は、ホスト側のインターフェースプロトコルとセキュリティ認証に適合した適切なコマンドを用いることによって行われる。通常、LBA範囲は、ディスク区画と同一となるように、割り当てられる。
【0029】
データ記憶情報を受信すると、コントローラは、特定のLBA範囲に対応した物理メモリ位置にそのデータを記憶する。しかし、本発明では、対応した物理メモリ位置にデータを記憶したり、そこからデータを取り出す前に、コントローラ130が、ユーザが特定のLBA範囲にアクセスする権限をもっているかどうかを判定する。従って、本発明は、実質的に、ホストから独立し、ファイルから独立したアクセス手段を提供するものとなっている。
【0030】
ユーザの認証処理により、予め定められたLBA範囲にある機能を、ホストコンピュータの現在のユーザに対して有効にするかどうかを決定する。ユーザの認証処理は、ユーザがホストコンピュータにログインした時点で行うことが好ましい。
【0031】
図4は、本発明の位置実施例における、認証処理の一例のフローチャートである。認証により、テーブル中の値の書込みと読込みが可能となる。認証方法と、テーブル中のどのデータをどの権限が読込み/書込みできるかについては、特定の目的のために記憶装置を構成する際に、設定しておく。例えば、管理者権限での認証により、特定のLBA範囲が、読込みロック許可又は書込みロック許可であるかについて、その値を設定でき、一方、ユーザ権限又はコンピュータ権限での認証により、読込みロック又は書込みロックであるかについて、その値を設定できる。
【0032】
ユーザ権限での認証の処理に関しては、ユーザログインプロセスが、ステップ402で開始される。ステップ404において、ユーザに対して、識別情報(例えば、ユーザ名とパスワード)を入力するように促す。ステップ406において、ユーザ識別情報を検証する。ステップ408において、ユーザ識別情報が有効であると判定された場合に、アクセスが許可される。
【0033】
本発明のいくつかの実施例では、識別情報には、暗号鍵と、その鍵の値の知識証明を含んでいる。認証情報は、LBA範囲テーブル内に、あるいは範囲テーブルに関連付けて(結合して)記憶される。認証処理は、記憶装置内に実装することが可能である。いくつかの実施例では、認証処理のいくつかの部分は、オペレーティングシステムに実装されている。他の実施例では、認証処理のいくつかの部分は、BIOSあるいは、BIOS拡張部に実装されている。なお、ユーザ権限での認証が、BIOSあるいは、BIOS拡張部に実装されている場合には、オペレーティングシステムを変更する必要はない。また、ユーザ権限での認証の手順は、セキュリティトークンや指紋などの生体情報スキャナを利用することも可能であり、これにより、基本的なパスフレーズよりも強力な認証セキュリティが得られる。LBA範囲テーブル中の値を変更するために必要となる特別の認証は、アクセス制御を設定するエージェントの制御によって行なわれる。
【0034】
LBA範囲テーブルの中身は、ホストディスク・インターフェースプロトコルに準拠したコマンドを用いることにより、変更することが可能である(記録を、追加、削除、もしくは更新することが可能である)。認証処理は、ホストコンピュータの現在のユーザが、LBA範囲テーブルに対して保有するアクセスレベル(アクセス禁止、問い合わせのみ、あるいは、問い合わせ及び更新)を決定するために実行される。ユーザ権限での認証処理は、上述したものと同様の手法を用いて、実行することが可能である。ユーザ権限での認証処理は、ディスクドライブの隠し領域に記憶しておき、認証処理中にホストコンピュータにロードするものであってよい。
【0035】
本発明は、LBAM SPと呼ばれる、論理ブロックアドレス配置(LBAM)のセキュリティ区画(SP)を用いて実装することが可能である。LBAM SPは、厳密な汎用アクセス制御において、ホストの単一の権限に対して発行される。セキュリティが確保された処理実行プロセッサにおいては、この発行プロセスは、ローカルなハイパーバイザープロセスである。ドライブの製造メーカーは、LBAM SP及び他のSPに対するLBAアドレスを保護するための、LBAM SP中のテーブルを提供する。これにより、これらの記憶空間上での通常の読込み/書込み操作は禁止されるが、SP保護空間のサイズ変更のために製造メーカー権限での認証を用いるアプリケーションによる書込みは可能である。
【0036】
LBAMによるマッピングは、第二区画を、LBA0から始るLBA範囲に配置する処理を一般化したものである。本例では、表2に示すように、LBA範囲テーブルを修正して、この配置処理を制御する。表2は、表1に対して、“配置済LBA開始”の列を追加したものである。表1と同様に、列1は、記憶装置の全てのLBAに対して適用されるものである。列2は、読込みロック可能及び、あるいは書込みロック可能で、読込みロックがOFF(開放)及び、あるいは書込みロックがOFFの場合に、読込み及び、あるいは書込みに対して、値1000から値6000(1000+5000)のLBAが、LBA0からLBA5000に再配置されていることを示している。ある行が再配置された場合には、その行は、それが再配置された先のアドレス範囲で置き換えられる。表2に示した例では、LBA1000から6000が、LBA0から5000に再配置されるため、LBA範囲の全体は、1000ブロック分だけ減少する。一実施例において、記憶システムのファームウェアは、構成をチェックして、再配置を行なう際の解釈が不定となるような構成や、あいまいな構成や、ファームウェアと回路の容量を上回るような構成を禁止する必要がある。
【表2】

【0037】
LBA開始を再配置することにより、LBA範囲は、ユーザから完全に隠れたものとなる。これにより、一つのセキュア区画がテーブル自身を保持でき、認証制御を介さずに、通常の読込みあるいは書込みに対して、ロック状態が永久に継続できるように、セキュア区画を構成することが可能となる。これにより、テーブルと認証データを記憶するためのセキュア区画を、元のLBA空間内で区画容量について構成が可能になるという利点がもたらされる。
【0038】
他の実施例として、読込みロックと書込みロックを組み合わせて、単一の読込み/書込みロックとして編成することも可能である。
【0039】
本発明によれば、ソフトウェアは、それ自身のみと、それが見ることが許可されている他のものとを見ることになる。ハイパーバイザーを用いることにより、セキュリティが確保された実行環境を割り当てることが可能となる。本発明は、ハイパーバイザのために保護された空間を提供できる。保護された領域に対する鍵は、ハイパーバイザーによって提供される。
【0040】
ハイパーバイザがない場合には、一旦、認証が通ってしまうと、ATAあるいはSCSI準拠の悪意のある読込み/書込みコマンドが実行できてしまうという、セキュリティ上の技術的な課題が残る。この悪意あるプロセスは、LBA範囲に対する権限を認証し、読込みあるいは書込みを行なうこととなり、結果的に、認証が破られてしまう。他のプロセスが、特定のLBA範囲に対して認証が得られたものと認識した場合には、この他のプロセスが、当該LBA範囲にデータを書き込むことが可能となる。
【0041】
テーブル中で定義されている保護されたLBA範囲に対して、正しい標準的な読込み/書込みコマンドのみが、読込みあるいは書込みできるように保証する方法には、様々な方法がある。一つの方法としては、LBAM認証によって起動されたドライブにより確立されたセキュリティが確保されたセッションで、書込み/読込みコマンドを発行する方法がある。これにより、書込み/読込みコマンドを発行しているプロセスは、どのLBAアドレスが読込みあるいは書込み中であるかについては、他のプロセスからは見えなくなる。読込み/書込みは、セキュアメッセージ層の中を通るため、いずれの読込みあるいは書込みも、適切に認証が行われる。セキュリティが確保されたセッションにより、読込み及び書込みは、他のプロセスからは見えなくなり、他のプロセスの成り済ましによって行われることがないことが保証される。
【0042】
他の方法としては、セキュリティが確保されたセッションにより、例えば、鍵がかけられたハッシュを用いることにより確立される認証コードを、読込みあるいは書込みがなされるデータに含ませておく必要があるという方法がある。
【0043】
三番目の方法としては、LBAMテーブルを拡張して、通常の読込み/書込みコマンドに対して汎用のセキュリティ制御を設けるという方法がある。例えば、LBAMの内容は、データペイロードの数とハッシュ値とを特定するものであり、これにより、送受信される全てのデータを暗号化したり、読込み/書込みするペイロード中のデータを再フォーマットする必要がなくなる。このように、異なるLBA範囲に対する読込み/書込みコマンドは、データに関するセッション毎の同一性を失うことなく均一にばら撒かれることになる。しかし、この方法では、コミットが行われるまで(ハッシュチェックのセッション終了まで)書き込む際に、データのコピーを必要とするようなトランザクションのコミット機構を呼出す必要がある。
【0044】
一方、いくつかの処理環境では、読込み/書込みチャネルが、特定のセキュアプロセスに対してセキュリティを確保することがあるが、この場合は、(ハードウェアにより無制限に保護されている)読込み/書込みチャネルと同じくらいの期間、セション自身が継続する。このような場合は、LBAMの設定は、排他的な登録プロセスと同じであり、登録を行う時を除いて、ハッシュ方法とセキュアメッセージ方法を用いる必要はない。ハイパーバイザーは、この種の排他的なハードウェアによって保護された領域を利用することになると見込まれる。
【0045】
最後に、LBAMテーブルを拡張し、暗号鍵あるいは暗号鍵に間接的に参照する情報を盛り込む。これにより、LBA範囲の全てのデータについて、媒体に書き込む際に暗号化し、媒体から読み込む際に暗号解読するようにする。この方法は、ドライブ全体にわたる暗号化に対して、ごく自然な拡張方法であり、ドライブ全体の暗号化の使い勝手と可搬性を保ちながら大きな柔軟性をもたらすものである。さらに、LBAM暗号化の範囲は、回路が許せば、デフォルトでドライブ全体の暗号化の先頭から暗号化を始めることが可能である。この場合、LBAM SPは、暗号鍵を管理するのに必要な他のテーブルを含む一つあるいはそれ以上の数の暗号化ドライブのSPに関連付けられる。
【0046】
オペレーティングシステム、あるいは特に、適切な暗号化により管理された権限を有するファイルシステムのベンダは、通常の読込み/書込み操作を変更することなく、通常のオペレーティングシステム/ファイルシステムの利用に適した保護された空間を生成することができる(なお、この場合、初期化処理と後に記憶回復する処理を、ホストのオペレーティングシステム/ファイルシステムあるいは、ハイパーバイザなどの、セキュリティが確保された実行空間プロセッサやホストオペレーティングシステムで実行されるアプリケーションに追加する必要がある)。ユーザは、同一のマシン上で実行中の他のプロセスからはアクセス不可能な保護された記憶領域に対し、読込み/書込みできることをプロセス自身が認識しているプロセスを単に実行するだけである。ハイパーバイザーは、ユーザに対して、ユーザ自身が利用する記憶領域が、他のプロセスによってアクセスされることはないという保証を与えるものである。
【0047】
本発明は、LBAから物理空間へのマッピングが変化することがないという特性をもっており、ドライブからの起動を可能とするものである。LBA範囲をなんらかの方法で凍結する考え方は、既知である。しかし、本発明は、LBAの配置及び読込み/書込みロック、ならびに記憶装置の組込みコントローラ内で、記憶装置インターフェースの後方で、セキュリティの確保された汎用のセキュリティ管理を可能とする暗号化に対する統一的な表形式のインターフェースを提供するものである。
【0048】
本発明は、LBA範囲に対するプログラム可能で汎用のアクセス制御に関し、LBA範囲の保護、LBA再配置、LBA範囲での分離可能な書込み/読込み制御、ならびに単一のモジュール機構におけるLBA範囲の暗号化を提供することにより、従来の方法を実質的に改善するものである。本発明の範囲で、これらの特徴の任意の組合せが可能となるように、この機構はモジュール方式で構成されている。
【0049】
本発明は、LBA範囲へのアクセスを制限するための、汎用のアクセス制御システムを提供するものである。このシステムは、パスワード認証や暗号を用いた様々な認証方法をの中から一つを選ぶことができる。また、このシステムは、認証のテストのために、ブール値の組合せとして認証を組み合わせることが可能となっている。この一例が、クロス認証であり、LBAアクセスを確立したり、LBA再配置を有効にしたり、認証規約を変更するために、二つの認証を必要とする方法である。
【0050】
本発明は、複数の仮想ドライブに対して、LBA範囲の再配置を可能としている。アクセス制御は、LBA範囲に設けられている。パスワード、鍵などを用いて、仮想アクセス制御が行われる。オペレーティングシステムは、アクセス制御を適用することにより、LBA範囲を保護する。複数のマスターブートレコードを構成することが可能である。
【0051】
さらに、本発明は、最新のセキュリティの高いホストシステムとセキュリティの面で密に結合したLBA範囲へのアクセスを制限するためのアクセス制御システムを提供するものである。読込み/書込みをロックするため、LBAアクセスの制御のため、LBA配置のため、およびLBA範囲の読込み/書込みに関する暗号化のために、単一の装置が用いられる。
【0052】
様々な実施例では、読込み/書込みのロックと、LBA範囲の読込み/書込みに関する暗号化とのため、あるいは、読込み/書込みのロックと、LBA再配置のため、または、LBA再配置と、LBA範囲の読込み/書込みに関する暗号化のために、単一の装置を用いることが可能である。
【0053】
本発明を数々の例にもとづいて説明したが、当業者であれば、以下のクレームで規定される本発明の範囲を逸脱しない限り、様々な変更が可能であることは自明である。
【図面の簡単な説明】
【0054】
【図1】本発明で利用可能なディスクドライブの斜視図。
【図2】データ記憶ディスクの概略図。
【図3】本発明を含むことが可能なシステムの簡略ブロック図。
【図4】ユーザ認証手続きの一例のフローチャート。
【符号の説明】
【0055】
130 コントローラ
132 モータ
300 ホスト
330 インターフェース

【特許請求の範囲】
【請求項1】
論理ブロックアドレスを介して参照される複数の物理メモリ位置を有する記憶媒体と、
論理ブロックアドレスの少なくとも一つの範囲を含むテーブルを有し、承認された対象により論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を特定するセキュア区画と
を含むことを特徴とするデータ記憶装置。
【請求項2】
請求項1記載の装置において、テーブルは、複数の論理ブロックアドレスに適用される第一の項目の組と、複数の論理ブロックアドレスの一部に適用される第二の項目の組とを含むことを特徴とする装置。
【請求項3】
請求項1記載の装置において、
テーブルは、書込みロック可能項目と、書込みロック項目とを含み、書込みロック可能項目は、書込みロック項目の有効性を決定し、
テーブルは、読込みロック可能項目と、読込みロック項目とを含み、読込みロック可能項目は、読込みロック項目の有効性を決定することを特徴とする装置。
【請求項4】
請求項1記載の装置において、テーブルは、論理ブロックアドレスの範囲に書き込まれる、および/あるいは、論理ブロックアドレスの範囲から読み込まれるデータを暗号化するための暗号鍵を含むことを特徴とする装置。
【請求項5】
請求項1記載の装置は、さらに、記憶媒体に対して、データを読み込む、および/あるいはデータを書き込むための、セキュリティが確保された読込み/書込みチャネルを含むことを特徴とする装置。
【請求項6】
請求項1記載の装置において、テーブルは、
一つあるいはそれ以上の数の、
論理ブロックアドレス範囲の読込み/書込みロックと、
論理ブロックアドレス範囲の読込み/書込み暗号とを
制御する情報を含むことを特徴とする装置。
【請求項7】
請求項1記載の装置において、テーブルは、論理ブロックアドレス範囲の再配置を制御する情報を含むことを特徴とする装置。
【請求項8】
請求項1記載の装置において、セキュア区画は、認証データを含むことを特徴とする装置。
【請求項9】
論理ブロックアドレスを介して参照される複数の物理メモリ位置を有する記憶媒体を設けるステップと、
論理ブロックアドレスの少なくとも一つの範囲を含むテーブルを有し、承認された対象により論理ブロックアドレスに適用される一つあるいはそれ以上の数の機能を特定するセキュア区画を用いた記憶媒体へのアクセスを制御するステップと
を含むことを特徴とする方法。
【請求項10】
請求項9記載の方法において、テーブルは、複数の論理ブロックアドレスに適用される第一の項目の組と、複数の論理ブロックアドレスの一部に適用される第二の項目の組とを含むことを特徴とする方法。
【請求項11】
請求項9記載の方法において、
テーブルは、書込みロック可能項目と、書込みロック項目とを含み、書込みロック可能項目は、書込みロック項目の有効性を決定し、
テーブルは、読込みロック可能項目と、読込みロック項目とを含み、読込みロック可能項目は、読込みロック項目の有効性を決定することを特徴とする方法。
【請求項12】
請求項9記載の方法において、テーブルは、
一つあるいはそれ以上の数の、
論理ブロックアドレス範囲の読込み/書込みロックと、
論理ブロックアドレス範囲の読込み/書込み暗号とを
制御する情報を含むことを特徴とする方法。
【請求項13】
請求項9記載の方法において、テーブルは、論理ブロックアドレス範囲の再配置を制御する情報を含むことを特徴とする方法。
【請求項14】
請求項9記載の方法において、テーブルは、論理ブロックアドレスの範囲に書き込まれる、および/あるいは、論理ブロックアドレスの範囲から読み込まれるデータを暗号化するための暗号鍵を含むことを特徴とする方法。
【請求項15】
請求項14記載の方法において、読込みあるいは書込みされるデータは、認証コードを含むことを特徴とする方法。
【請求項16】
請求項9記載の方法は、さらに、
テーブルに従って認証されたセキュアセッションにおいて、読込み、および/あるいは書込みコマンドを発行するステップを含むことを特徴とする方法。
【請求項17】
請求項9記載の方法において、テーブルの値の読込みあるいは書込みは、認証情報を必要とすることを特徴とする方法。
【請求項18】
請求項9記載の方法において、セキュア区画は、認証データを含むことを特徴とする装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−207239(P2007−207239A)
【公開日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2007−19444(P2007−19444)
【出願日】平成19年1月30日(2007.1.30)
【出願人】(500373758)シーゲイト テクノロジー エルエルシー (278)
【Fターム(参考)】