説明

媒体キャリアを受入れるための媒体ドライブ、記憶媒体を安全に保護し、データに安全にアクセスするための方法、コンピュータ読み取り可能な媒体およびプログラムされたコンピュータ

【課題】個人的なデータのセキュリティを支援するより強いパスワード保護機能を提供する。
【解決手段】テープカートリッジなどの取外し可能な記憶媒体に記憶されたデータは、記憶媒体上に保護された形でパスワードハッシュ値を記憶することにより許可されないアクセスから保護することができ、パスワードハッシュ値はSHA−256などの一方向のハッシュ関数によりパスワードから生成されるため、パスワードはハッシュ値から容易に決定することはできない。媒体ドライブはパスワードが提供されない場合にデータへのアクセスをブロックするための論理を備える。パスワード自身でなく、パスワードハッシュ値が記憶媒体に記憶されるため、パスワードは許可されないアクセスから保護される。

【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
この発明は一般にデータセキュリティに関し、特に記憶媒体のためのデータセキュリティに関する。
【背景技術】
【0002】
関連技術の説明
磁気テープなどのデータ記憶媒体に記憶されたデータは、典型的にはテープおよびテープを読出すためのテープドライブにアクセスを有する人なら誰でも読出すことができる。しかしながら、許可されないユーザがテープ上のデータを読出すかまたは書込むのを防止するためにパスワードで記憶媒体を保護できることが望ましい。
【0003】
現在では、たとえばテープ記憶ユニットなどの正しい媒体ドライブを有し、そのドライブに適切なテープカートリッジまたはその他の記憶媒体を獲得した場合、どのテープ上のデータも実質的に制限なしに書込みおよび読出しすることができる。読出または書込の保護スイッチまたはパスワード保護機構などの設けられている制限は、一般に意図的または偶然に回避することができる。
【0004】
既存のパスワード保護機構は独立したソフトウェアメーカーによってそれらのデータバックアップソフトウェアアプリケーションで提供されている。これらパスワード保護機構は、特定のデータセットが書込みまたは読出しできるようになる前にホストコンピュータ上でパスワードが入力されることを要求することによってテープ上のデータへのアクセスを制限する。この方法はITデータ記憶センター内では機能するが、ITデータ記憶センター外では何の保護も提供しない。なぜなら、保護はソフトウェアアプリケーションレベルでのみ提供され、テープはソフトウェアアプリケーション外では直接的に読出すことができるからである。一旦、データ記憶テープが長期間の記録保管のために取出されると、許可されない係員がテープ上のデータを読出または変更するのを防止するものは何もない。
【発明の開示】
【発明が解決しようとする課題】
【0005】
個人的なデータへのアクセスをよりよく制御および制限することを命じる法律が増加している。たとえば、カリフォルニアの法案1386は最近導入されたが、これによりセキュリティの侵害および/または個人的なデータの喪失によって影響を受けるかまたは影響を受けると考えられる人はすべて通知されなければならない。したがって、データカートリッジが失われた場合、データのどこも損なわれていないと信頼性のある議論を行なうことができるように、個人的なデータのセキュリティを支援するためのより強いパスワード保護機能を有することが望ましいであろう。
【課題を解決するための手段】
【0006】
発明の概要
一般に、第1の局面では、この発明は媒体キャリアを受入れるための媒体ドライブを特徴とする。媒体ドライブは、ロジックホストインターフェイスロジックによって受取られたプレーンテキスト値に基づいてハッシュ化された値を生成するためのハッシングロジック(hashing logic)と、記憶媒体上でハッシュ化されたテープパスワードを記憶するた
めの読出書込ロジックとを含み、ハッシュ化されたテープパスワードはプレーンテキストパスワードに基づいてハッシングロジックによって生成され、記憶媒体は媒体キャリアと関連付けられる。
【0007】
この発明の実施例は以下の特徴の1つまたは複数を含み得る。ハッシングロジックはハッシュ関数を含み得る。ハッシュ関数はセキュアハッシュアルゴリズム(Secure Hash Algorithm)に基づいてもよい。記憶媒体は磁気テープまたは光磁気テープであり得るテープを含んでもよい。記憶媒体は磁気ディスクまたは光磁気ディスクなどのディスクであってもよい。読出−書込ロジックは記憶媒体から以前に記憶されたハッシュ化されたテープパスワードを検索してもよく、媒体ドライブは、以前に記憶されたハッシュ化されたテープパスワードをホストインターフェイスロジックによって受取られたプレーンテキストドライブパスワードに基づいてハッシングロジックによって生成されたハッシュ化されたドライブパスワードと比較するためのパスワード比較ロジックと、ハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと等しい場合に記憶媒体上に記憶されたデータにホストがアクセスするのを可能にするためのデータアクセスロジックとを含む。ホストがデータにアクセスすることを可能にすることは、ホストが記憶媒体上に記憶されたデータを読出および書込みするのを可能にすることを含み得る。
【0008】
媒体ドライブはホストインターフェイスロジックによって受取られたドライブパスワードを記憶するためのドライブパスワードメモリ位置を有するメモリを含んでもよく、ハッシュ化されたドライブパスワードはさらにメモリ位置に記憶されたドライブパスワードに基づいてハッシングロジックによって生成される。メモリはランダムアクセスメモリであってもよい。
【0009】
読出−書込ロジックは記憶媒体からハッシュ化されたテープパスワードを検索してもよく、媒体ドライブは、ホストインターフェイスロジックによって受取られたドライブパスワードを記憶するためのドライブパスワードメモリ位置を有するメモリと、記憶媒体から検索されたハッシュ化されたテープパスワードをハッシュ化されたドライブパスワードと比較するためのパスワード比較ロジックとを含んでもよく、ハッシュ化されたドライブパスワードはメモリ位置に記憶されたドライブパスワードに基づいてハッシングロジックによって生成され、媒体ドライブはさらに、ハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと等しい場合にホストが記憶媒体上に記憶されたデータにアクセスするのを可能にするためのデータアクセスロジックを含む。
【0010】
媒体ドライブは、テープが媒体ドライブにロードされている間、無効なプレーンテキストドライブパスワードが受取られた回数を数えるための試行カウンタも含んでもよく、データアクセスロジックはカウンタがしきい値よりも大きい場合に記憶媒体上に記憶されたデータへのアクセスを拒否することができる。試行カウンタは、テープが媒体ドライブにロードされている間、無効なプレーンテキストドライブパスワードが受取られた回数を数えてもよく、媒体ドライブは、媒体ドライブからの媒体キャリアのアンロードを検知するための媒体キャリアアンロード検出ロジック、およびハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと等しくない場合にカウンタを増分するため、および媒体キャリアがアンロードされた場合にカウンタをゼロに設定するためのアクセス失敗計数ロジックも含んでもよい。しきい値は35であり得る。
【0011】
一般に、第2の局面では、この発明は媒体キャリアを受入れるための媒体ドライブを特徴とする。媒体ドライブは、記憶媒体からハッシュ化されたテープパスワードを受取ることのできる読出−書込ロジックと、ホストインターフェイスロジックによって受取られたドライブパスワードを記憶するためのドライブパスワードメモリ位置を有するメモリと、ホストインターフェイスロジックによって受取られたプレーンテキストドライブパスワー
ドに基づいてハッシュ化されたドライブパスワードを生成するためのハッシングロジックと、ハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと一致するかどうかを判断するためのパスワード比較ロジックと、ハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと一致する場合にホストが記憶媒体上に記憶されたデータにアクセスするのを可能にするためのデータアクセスロジックとを含む。
【0012】
一般に、第3の局面では、この発明は媒体ドライブによってアクセス可能な記憶媒体を安全に保護するための方法を特徴とする。この方法は、プレーンテキストパスワードをホストから読出すステップと、プレーンテキストテープパスワードに基づいてハッシュ化されたテープパスワードを生成するステップと、ハッシュ化されたテープパスワードを記憶媒体に書込むステップとを含む。
【0013】
一般に、第4の局面では、この発明は媒体ドライブによってアクセス可能なパスワード保護された記憶媒体上に記憶されたデータに安全にアクセスするための方法を特徴とする。この方法は、記憶媒体上のデータにアクセスするための要求を受取るステップと、プレーンテキストドライブパスワードを受取るステップと、プレーンテキストドライブパスワードに基づいてハッシュ化されたドライブパスワードを生成するステップと、ハッシュ化されたテープパスワードを記憶媒体から読出すステップと、ハッシュ化されたドライブパスワードをハッシュ化されたテープパスワードと比較するステップと、ハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと一致する場合に記憶媒体上のデータにアクセスして要求を満たすステップとを含む。
【0014】
この発明の実施例は、以下の特徴の1つまたは複数を含み得る。プレーンテキストドライブパスワードはホストから受取られてもよい。プレーンテキストドライブパスワードはドライブパスワードメモリ位置から受取られてもよい。ハッシュ化されたドライブパスワードを生成するステップはハッシュ関数にさらに基づいてもよい。ハッシュ関数はセキュアハッシュアルゴリズムに基づいてもよい。上記の方法はしきい値数より多い無効なドライブパスワードが受取られた場合に記憶媒体へのアクセスをブロックするステップをさらに含んでもよい。しきい値数は35であり得る。この方法はさらに、記憶媒体のロードと媒体ドライブからの記憶媒体の次のアンロードとの間にしきい値数より多い無効なドライブパスワードが受取られた場合に記憶媒体へのアクセスを拒否するステップを含む。
【発明を実施するための最良の形態】
【0015】
詳細な説明
以下の説明は、当業者がこの発明を作成および使用できるようにするために提示されるものであり、特定の応用例およびそれらの要件の文脈で提供される。好ましい実施例のさまざまな変形例が当業者には容易に明らかであり、ここに規定される一般的な原則はこの発明の精神および範囲を離れることなく他の実施例および応用例に適用され得る。さらに、以下の説明では、さまざまな詳細が説明のために示される。しかしながら、当業者にはこれらの具体的な詳細の使用なしにこの発明を実現可能であることが理解されるであろう。場合によっては、不必要な詳しさでこの発明の説明をわかりにくくするのを防ぐために周知の構造および装置がブロック図で示される。したがって、この発明は図示される実施例に制限されることを意図されず、ここに開示される原則および特徴に一致する最も広い範囲を与えられるべきである。
【0016】
図1は、この発明の一実施例による記憶システム106の例示的な図である。記憶システム106は、たとえばテープライブラリであり、少なくとも1つの媒体ドライブ110を含んでもよい。媒体ドライブ110は、たとえば、取外し可能な媒体キャリア120に収容されたテープなどの記憶媒体121を直接的に制御し、そこにデータ123を書込み、そこからデータ123を読出すテープドライブなどの電気機械的な装置である。一例に
よると、媒体ドライブ110は、磁気ディスクまたは光ディスク等の形の記憶媒体121を直接的に制御し、そこに書込み、かつそこから読出すディスクドライブであり得る。媒体キャリア120は、たとえばカートリッジまたはカセットであり得る。記憶システム106はホストシステム105に結合されてもよく、これはホスト/記憶通信リンク107を介して媒体ドライブ110のホストインターフェイスロジック130に読出および書込のコマンドを伝送する。
【0017】
ホスト105は、たとえば、媒体ドライブ110と通信し、かつ媒体ドライブ110上に記憶されるべきデータ123を提供するコンピュータであってもよい。媒体ドライブ110はホストインターフェイス130に加え、他のインターフェイスを有してもよい。たとえば、管理ソフトウェアプログラムなどの自動化されたシステム(図示せず)から入力/出力コマンドを受取る自動化インターフェイス(図示せず)があってもよい。図1に示される媒体ドライブ110のロジック構成部品は、データ123をホスト105から記憶媒体121へと転送することによりデータ123の記憶を実現する。同様に、ロジック構成部品は、データ123を記憶媒体121からホスト105へと転送することによりデータ123の検索を実現する。具体的には、一例では、ロジック構成部品は次のようにデータの記憶および検索を実現する。記憶されるべきデータはホスト105からホストインターフェイス130を通じ、次に有効なドライブパスワードについて調べるデータアクセスロジック136を通って転送される。有効なドライブパスワードが呈示された場合、データアクセスロジック136は、キャッシュメモリ138が存在する場合、データが任意のキャッシュメモリ138へと通ることを可能にする。キャッシュメモリ138は、比較的低速な記憶媒体121から検索されるのではなく、後にデータを比較的高速のキャッシュメモリから検索できるようにすることによって性能を改善するために、後の参照のためデータの一部またはすべてを記憶してもよい。データは次に読出/書込ロジック112を通り、これは媒体キャリア120内の記憶媒体121にデータを書込む。検索されるべきデータはロジック構成部品間で逆方向で転送され、検索されるべきデータがキャッシュ138内にない場合は読出/書込ロジック112で始まり、検索されるべきデータがキャッシュ131にある場合はキャッシュ138で始まる。検索されるべきデータがキャッシュ138にない場合、読出/書込ロジック112はデータ121を読出し、データをキャッシュ138に転送し、これは上述のように後の検索のためにデータを記憶してもよい。次に、キャッシュはデータをデータアクセスロジック136へと転送し、これは有効なドライブパスワードが存在する場合にデータをホストインターフェイス130に転送する。
【0018】
一例では、ホストインターフェイス130とキャッシュ138との間のデータアクセスロジック136の配置のため、データは、データアクセスロジックがデータが通ることを可能にする場合のみキャッシュ138(およびその後に記憶媒体121)に書込まれ得るが、これはドライブパスワードメモリ位置118のパスワードが有効な場合にのみ行なわれる。さらに、キャッシュ138は媒体キャリア120のロード時間でデータを自動的に予めロードされてもよい。しかしながら、予めロードされたデータは、パスワードの有効性のためにデータアクセスロジックをまず調べることなくホストインターフェイス107を通じてホスト105によって読出すことはできない。
【0019】
ホストインターフェイス130はデータをホスト105に転送する。データの転送は、たとえば媒体ドライブ110内のデータバスロジック(図示せず)を使用して行なわれる。データバスロジックはロジック構成部品間に矢印によって示される接続を実現する。ロジック構成部品、たとえばハッシングロジック114、読出/書込ロジック112、データバスロジック、パスワード比較ロジック132、およびアクセス失敗計数ロジック139は、ソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せで実現され得る。
【0020】
テープパスワードは、テープパスワードを知らないか、または有さないユーザによる同じ記憶媒体121に記憶されるデータの読出、書込、または読出書込のアクセスから保護するために記憶媒体121に付加してもよい。テープパスワードを記憶媒体121に付加するために、ユーザは新しいテープパスワードをホスト105に提供し、ホスト105は、パスワード保護が可能化されることを示すドライブコマンドを使用してホストインターフェイス130を介して新しいテープパスワードをドライブ110に送る。ドライブコマンドは以下にさらに詳しく説明される。図1に関して、ドライブ110が媒体キャリア120内の記憶媒体121にパスワード保護を付加するための要求を受取ったとき、新しいテープパスワードは記憶媒体121にアクセスする際に後に使用するためにメモリ116のドライブパスワードメモリ位置118に任意で記憶される。次に、ハッシングロジック114は新しいドライブパスワードに基づいてハッシュ値を生成し、読出/書込ロジック112はハッシュ値を記憶媒体121の規定された位置に、たとえばテープ上の規定された位置にハッシュ化されたテープパスワード122として書込む。
【0021】
パスワード保護はデータアクセスロジック136によって実現され、これは要求しているエンティティが有効なドライブパスワードを提供している場合に、要求しているエンティティ、たとえばホスト105によってのみデータ123がアクセスされ得るようにする。要求しているエンティティはインターフェイス、たとえばホストインターフェイスロジック130を介してドライブパスワードを提示する。ドライブパスワードは以前に記憶媒体121と関連付けられたテープパスワードと一致しなければならない。具体的には、ドライブパスワードが有効であると見なされるためには、ハッシングロジック114を使用してドライブパスワードから生成されたハッシュ値は、同じハッシングロジック114(または、等しい挙動を備えた他のロジック)を使用してテープパスワードから生成されたハッシュ値と等しくなければならない。ハッシングロジック114は、たとえば、セキュアハッシュアルゴリズムに基づいてもよく、具体的にはSHA−256、SHA−512等のセキュアハッシュアルゴリズムの特定の変形に基づいてもよい。ハッシングロジック114は他のハッシュアルゴリズムに基づいてもよい。データアクセスロジック136は、パスワード比較ロジック132およびハッシングロジック114とともに動作して、プレーンテキストドライブパスワードのためのハッシュ値であるハッシュ化されたドライブパスワードを生成し、かつハッシュ化されたドライブパスワードを読出/書込ロジック112によって記憶媒体121から読出されたハッシュ化されたテープパスワード122と比較することにより、ホスト105によって提示されたプレーンテキストドライブパスワードの有効性を調べる。ハッシュ化されたテープパスワード122は、以前に供給されたテープパスワードのためのハッシュ値である。
【0022】
パスワード比較ロジック132は以前に記憶媒体121に記憶されたハッシュ化されたテープパスワードをプレーンテキストドライブパスワードからハッシングロジック114によって生成されたハッシュ化されたドライブパスワードと比較する。ハッシュ化されたテープパスワードがハッシュ化されたドライブパスワードと等しい場合、データアクセスロジック136はホスト105(または他の要求しているエンティティ)が記憶媒体121上に記憶されたデータにアクセスすること、すなわち読出または書込することを可能にする。
【0023】
ホスト105によって提示されたプレーンテキストドライブパスワードは、媒体キャリア120がドライブ110にロードされている間、メモリ116のドライブパスワードメモリ位置118に任意で記憶して、ホスト105がデータ123に繰返しアクセスできるようにしてもよい。この場合、ドライブパスワードメモリ位置118は、パスワードの検査が必要なとき、たとえばデータがテープに書込まれるかまたはテープから読出されるときにプレーンテキストドライブパスワードをパスワード比較ロジック132に提供する。ドライブパスワードメモリ位置118は、或る期間、典型的には媒体キャリア120がド
ライブ110にロードされかつドライブの電源が切られない限り、ドライブパスワードを保持する。メモリ116は、たとえば揮発性ランダムアクセスメモリであってもよい。ドライブパスワードメモリ位置118は、典型的には媒体ドライブ110がシャットダウンされるか、電源を切られるか、その他の場合に電力を失ったときにクリアされる。メモリ位置118内のドライブパスワードは、或る期間が経過した後に期限切れになってもよく、その点でホストはドライブパスワードを再び供給することを要求され得る。
【0024】
またはこれに代えて、ドライブパスワードメモリ位置118は、プレーンテキストドライブパスワードの代わりにハッシングロジック114によって生成されたハッシュ化されたドライブパスワードを記憶してもよく、この場合、ドライブパスワードメモリ位置118はハッシングロジック114とパスワード比較ロジック132との間に配置されるが、動作はその他の点では本質的にここに説明されたとおりである。
【0025】
一例では、ハッシングロジック114は特定の入力値(すなわち、プレーンテキストパスワード)のための各呼出に対して同じハッシュ値(すなわち、ハッシュ化されたパスワード)を生成し、2つの異なる入力値に対して同じハッシュ値を生成しない。さらに、関数によってハッシュ化された値、たとえば、ハッシュ化されたテープパスワードが生成された場合、関数への入力、たとえばプレーンテキストパスワードを決定することはほとんど不可能である。つまり、ハッシングロジック114は、入力を出力にマッピングする一方向の関数であるように設計されたハッシュ関数またはハッシュアルゴリズムに基づき、出力値が与えられた場合、その出力値を生成した入力値を決定することはほとんど不可能である。
【0026】
2つのハッシュ値、すなわちハッシュ化されたパスワードは、それらが共に同じ値を有する場合、すなわちそれらが共に同じ文字、バイトまたはビットからなる場合、または両方の値の特に規定されたサブセットが同じ文字、バイトまたはビットからなる場合、一致するかまたは等しい。たとえば、値「Secret」を備えたプレーンテキストパスワードがテープを保護するためにユーザによって提供され得る。値「Secret」はホストインターフェイスロジックによって受取られ、対応するハッシュ化されたテープパスワードがハッシングロジックによって生成される。ハッシュ化されたテープパスワードは、たとえば「G3SD5Y9」である。ハッシングロジックが入力「Secret」に対してハッシュ値を生成するたびに同じ値が生成される。ハッシュ化されたテープパスワード「G3SD5Y9」は読出/書込ロジックによってテープに記憶される。続いて、データがテープから読出されるかまたはテープに書込まれるとき、ユーザから(または、データを要求する自動化されたプログラムから)受取られたドライブパスワードは、ホストインターフェイスによって(または、以下に説明されるようにメモリによって)ハッシングロジックに供給される。ハッシングロジックはドライブパスワードに対してハッシュ化されたドライブパスワードを生成する。ドライブパスワードが値「Secret」を有する場合、ハッシングロジックはハッシュ化されたテープパスワードと等しい、値「G3SD5Y9」を備えたハッシュ化されたドライブパスワードを生成し、パスワード比較ロジックはパスワードが等しいことを示す結果を生成し、データアクセスが可能になり得る。しかしながら、ドライブパスワードが何らかの他の値、たとえば、「Secrets」を有する場合、ハッシングロジックはハッシュ化されたテープパスワード「G3SD5Y9」と等しくない、「YX43H4T」などの値を備えたハッシュ化されたドライブパスワードを生成する。その場合、パスワード比較ロジックはパスワードが等しくないことを示し、データアクセスは可能にされない。ドライブパスワード「Secret」をドライブパスワードメモリ位置118に記憶して、ハッシングロジックがドライブパスワードにアクセスできるようにすると、媒体カートリッジ120がドライブ110にロードされている限り、ホスト105にパスワードを供給するように要求することなく、ホスト105からのドライブパスワードの受取りに続いてパスワードの確認を行なうことができる。一例では、セキュアな記憶領域からドライブを取外
そうとする試みは、ドライブがドライブパスワードの値を失うことに繋がる。ドライブは、たとえばホスト105からのリンク107の切断を検知することにより、そのような取外しを検知してもよく、取外しが行なわれたときにドライブパスワード118の内容をゼロに設定してもよい。
【0027】
多数のパスワードまたはすべての可能なパスワードを試すことによる許可されないアクセスでの試みを防止するため、データアクセスロジック136はアクセスの試行数を制限するために試行カウンタ137を含んでもよい。試行カウンタは、媒体キャリア120が媒体ドライブ110にロードされている間、無効なプレーンテキストドライブパスワードが受取られた回数を数える。試行カウンタ137は当初はゼロであり、アクセス失敗計数ロジック139は無効なプレーンテキストドライブパスワードが受取られるたび(すなわち、それに対してハッシュ値がテープ上に記憶されたハッシュ値と一致しないかまたはそれに等しくないパスワード)が受取られるたびに1ずつ試行カウンタを増分する。有効なパスワードが受取られた場合、アクセス失敗計数ロジックは試行カウンタをゼロにリセットする。試行カウンタの値が或るしきい値(たとえば、35)を超過する場合、データアクセスロジック136は、たとえば、媒体キャリア120を媒体ドライブから物理的に取外すことによって、または何らかの他の介入によって媒体キャリア120がアンロードされかつ再びロードされるまで、ホスト105がデータ123にアクセスすることを拒否する。データアクセスロジック136は、データがデータアクセスロジック136を通るのを可能にしないことによってデータへのアクセスを拒否する。媒体キャリアアンロード検出ロジック136は媒体ドライブ110からの媒体キャリア120のアンロードを検出し、媒体キャリア120がアンロードされるたびにアクセス失敗計数ロジック139にアンロード信号を送り、媒体キャリア120がロードされる(すなわち、挿入される)たびにロード信号を送る。異なるハッシュ化されたテープパスワード122を有し得る異なる媒体キャリア120をロードしてもよく、この場合、ホストは一般に新しくロードされた媒体キャリアに対する新しいドライブパスワードを供給することを要求される。アクセス失敗計数ロジック139は、媒体キャリア120が媒体ドライブ110にロードされるかまたは媒体ドライブ110からアンロードされるたびに試行カウンタ137をゼロにリセットする。
【0028】
パスワードに対するすべての可能な値の辞書に基づく予め計算された辞書攻撃を使用した許可されないアクセスでの試みをさらに防止するため、ハッシュ化およびテープ上でハッシュ値を記憶する前に数値の付加を使用して、パスワードにランダムな64ビットのソルト(salt)値が付加される。ソルト値は、たとえば媒体ドライブに記憶されるため、それはパスワードを検証するときにハッシュ値から減じることができる。辞書攻撃では、候補のパスワードの辞書が生成され、ハッシュロジック114が使用する同じ方法を使用して各パスワードに対するハッシュ値が計算される。各ハッシュ値はハッシュ化されたパスワードと比較され、一致が見られる場合、一致するハッシュ値に対応する候補のパスワードがドライブパスワードになり、それを攻撃者はデータ123にアクセスするために使用することができる。
【0029】
ドライブパスワードは長さが32バイトであるため、辞書は32文字の言葉およびそれらの対応するハッシュ値の一覧を有する。64ビットのランダムな「ソルト」値をパスワードに付加することで、攻撃者が生成しなければならない辞書のエントリの数が増加する。この場合、攻撃者はテープ上でパスワードのハッシュ値が与えられた場合、ホストで入力するためのドライブパスワードを獲得するために18446744073709551615(40億の辞書のエントリ)を計算しなければならない(32ビットの値はほぼ40億に等しい)。パスワードのセキュリティは、ハッシュ化された値を伸ばすことによって、すなわちハッシュ化された値を複数回(たとえば、1000回)ハッシュ化することによってさらに強化することができる。そのような繰返しのハッシュ化は、予め計算され
た辞書攻撃を計算的に不可能にすることができる。
【0030】
媒体ドライブ110は、一局面ではパスワードを付加するかまたは変更するための能力なしにパスワード保護された媒体キャリア120を読出すためのロジックを含み得る。媒体ドライブは、他の局面ではアクセス失敗計数ロジック139またはパスワードを付加するためであるがパスワードを変更するためではないロジックなどのここに説明されたロジックの他のサブセットを含んでもよい。
【0031】
図2は、この発明の一局面によるデータセキュリティモードページの例示的な図である。データセキュリティモードページ200は、この発明の一実施例による媒体ドライブのパスワード保護機能を構成および制御するための制御情報を含む。一例では、モードページ200は図示のフォーマットでメモリに記憶されるが、他の類似のまたは異なるフォーマットも可能である。具体的なメモリのレイアウトおよびデータサイズ、たとえば図2に示されるパスワードの長さは例示的である。同じ情報を含む他のメモリのレイアウトも可能であり、情報、たとえばパスワードは異なる例では異なるサイズであり得る。モードページ200はリンク107を介してホスト105によって媒体ドライブから授受されてもよく、または図1に関して上述の自動化インターフェイスを介して自動化されたプログラムによって授受されてもよい。
【0032】
モード選択(MODE SELECT)コマンドは、ドライブが指定されたモードで、たとえばパスワード保護されるかまたは非パスワード保護されたモードで動作するようにするために、図1のホスト105から(または他の要求するインターフェイスから)ドライブへと送られる。各MODE SELECTコマンドは、ホストによって供給された値とともに図1のリンク107を介してドライブへとモードページ200を送る。MODE
SELECTコマンドと関連付けられるモードページ200が無効であるかまたはエラーである場合、MODE SELECTコマンドはエラー表示を返す。
【0033】
モード検出(MODE SENSE)コマンドは、図1のリンク107を介してドライブのために現在のモード設定を検索するためにホスト105(または他の要求するインターフェイス)からドライブへと送られる。MODE SENSEコマンドはモードページ200の形でドライブの現在のモード設定を返す。パスワードはMODE SENSEコマンドでは送られない。
【0034】
モードページ200はメーカーに特有のモードページであり、モードページ200がパスワード保護のためであると指定するために一定の値(16進数の27)を有し、かつ図2に示されるフォーマットを有するページコード値202を含む。モードページ200はパスワード保護状態バイト203も含み、これはドライブ内のパスワード保護、ホストパスワード状態208、自動化パスワード状態209、およびパスワード値210の全体の状態を表示する。
【0035】
一例では、保護状態バイト203は表1に説明されるブール値を含む。
【0036】
【表1】

【0037】
パスワード選択フィールド204は、変更すべきパスワードを選択する。複数のテープパスワードが記憶媒体に記憶され、複数のドライブパスワードが媒体ドライブに記憶されて、別々のユーザが独立してテープにアクセスすることを許可できるようにし得る。2つのテープパスワードが規定される。すなわち、図1に示されるホストインターフェイス107を介してホスト105によって使用されるホスト読出/書込パスワード、および、自動化インターフェイス(図示せず)を介して自動化されたプログラムによって用いられる自動化読出/書込パスワード、である。ホスト読出/書込パスワードは、パスワード選択フィールド204を0に設定することによって、MODE SELECTコマンドで選択され得、自動化パスワードはフィールドを1に設定することによって選択され得る。MODE SENSEコマンドでは、パスワード選択フィールド204は、ドライブによって、そのドライブのためにMODE SELECTで選択された最後のパスワードに設定される。
【0038】
パスワード保護フィールド205の範囲は、マルチイニシエータ環境において誰がドライブへのアクセスを許可されているかを判断する。一例においては、当該範囲は、他のイニシエータが当該ドライブ上のデータにアクセスするのを防げるかまたは可能にするのに用いられるグローバル属性である。範囲フィールドは、ホストインターフェイスによって用いられるよう予約される。自動化インターフェイスは、範囲フィールドを設定することが禁止されている可能性がある。正常に設定された最新の範囲値は、パスワードについての現在のグローバル範囲を決定する。範囲フィールド205についての例示的な値が表2に示される。
【0039】
【表2】

【0040】
動作コードフィールド206は、所望のパスワード保護動作を示す。MODE SELECTコマンドによって正常に処理された最新の動作値によって、ドライブの現在のパスワード保護状態が決定される。このフィールドの例示的な値が表3に示される。
【0041】
【表3】

【0042】
【表4】

【0043】
パスワードサポートされたフィールド207の数は、サポートされるパスワードの数を示す。このフィールドは読出し専用であり、デフォルトで2つに設定される。すなわち、ホストインターフェイスのためのものと、自動化インターフェイスのためのものとである。しかしながら、この例における設計は8個までのパスワードに対処することができる。
【0044】
モードページ200はさらに、各パスワードについてのパスワード状態を含む。ホスト
パスワード状態208および自動化パスワード状態209が図2に示される。各パスワード状態は表4に示されるフィールドを含む。
【0045】
【表5】

【0046】
モードページ200はさらに、選択されたパスワードの値であるパスワードフィールド210を含む。一例においては、パスワードフィールド210は長さが32バイトである。パスワードフィールド210は、要求しているインターフェイスについての所望の値にドライブパスワードを設定するのに用いられる。パスワード値は、秘密のままにされ、MODE SENSEデータにおいて報告されない。その代わりに、MODE SENSEコマンドによって報告されるパスワードフィールド210がすべてゼロにされる。データ読出または書込動作、すなわち、00または05)以外の動作については、パスワードフィールド210は非ゼロ値を有していなければならず、さもなければコマンドが拒否される。図1のドライブパスワード118は、動作コード05、ドライブパスワードのクリア(Clear Drive Password)を備えたMODE SELECTコマンドを用いてクリアすることができる。
【0047】
ドライブパスワード210およびパスワード保護状態203が、図1に示されるドライブのメモリ116に記憶される。動作コード01、ドライブパスワードの設定(Set Drive Password)、を用いるドライブに送信されるパスワードが、将来のテープロード時における自動的なパスワード確認のためにドライブのメモリ116のドライブパスワードメモリ位置118に保存される。パスワード210およびパスワード保護状態203のデフォルト値はゼロである。ドライブパスワードメモリ位置118は、パワーオンリセット後にデフォルト値にリセットされるパスワードフィールド210およびパスワード保護状態203を記憶する。装置リセットまたはバスリセットでは、ドライブパスワードメモリ位置
118がリセットされない。
【0048】
パスワードがドライブRAMに書込まれるときとパスワードがテープに書込まれるときとの間にテープドライブが電力を失う場合、パスワードがテープに記憶されず、TPPビットが設定されず、パスワード保護状態203を含むドライブパスワードメモリ位置118が00(none)にリセットされる。
【0049】
図3は、この発明の一実施例に従った、記憶媒体にパスワードを記憶する方法を示すフローチャートである。この方法は、パスワードで記憶媒体を保護する要求を媒体ドライブが受取ると、当該媒体ドライブにおいてロジックによって実行される。この方法は、ソフトウェア、ファームウェア、ハードウェアまたはその組合せで実行され得る。ブロック300において、当該方法は、図1のホストインターフェイス130などのインターフェイスからプレーンテキストテープパスワードを受取る。ブロック302において、当該方法は、たとえばSHA−256などのハッシュ関数を用いてプレーンテキストテープパスワードからハッシュされたテープパスワードを生成する。ブロック304において、当該方法は、ハッシュされたテープパスワードを記憶媒体に書込む。
【0050】
ブロック300より前に、パスワードが、MODE SELECTコマンドに関連付けられるモードページにおいて、たとえばホスト105からドライブのホストインターフェイス130に送られる。パスワード値は、MODE SENSEコマンドに応答して戻されないだろう。ドライブは、MODE SELECTコマンドの動作コードによって命令されるとおり、パスワード保護されたテープを作成する。
【0051】
記憶媒体が既にパスワードを有する場合、新しいパスワードは、(動作コード06を用いて)既存のパスワードを取除き、(動作コード2〜5を用いて)新しいパスワードを書込むことによって設定され得る。
【0052】
図4は、パスワード保護された記憶媒体上のデータにアクセスする、すなわち当該データを読出すかまたは書込む、この発明の一実施例に従った方法を示すフローチャートである。この方法は、媒体ドライブが記憶媒体上のデータにアクセスする要求を受取ると、当該媒体ドライブにおいてロジックによって実行される。この方法は、ソフトウェア、ファームウェア、ハードウェアまたはその組合せで実行され得る。
【0053】
当該方法は、記憶媒体に記憶されたデータにアクセスする要求を受取ることによって、ブロック400から始まる。ブロック401において、当該方法は、試行カウンタ変数をゼロに設定する。ブロック403において、当該方法は、ホストから、またはドライブパスワードメモリ位置からプレーンテキストドライブパスワードを受取る。ブロック404において、当該方法は、入力としてプレーンテキストドライブパスワードで、たとえばSHA−256などのハッシュ関数を用いて、ハッシュされたドライブパスワードを生成する。ブロック406において、当該方法は、ハッシュされたテープパスワードを記憶媒体から読出す。ブロック408において、当該方法は、ハッシュされたドライブパスワードをハッシュされたテープパスワードと比較する。ブロック410において、ブロック408における比較の結果に基づいた決定がなされる。ブロック410において、ブロック408において実行された比較に従って、ハッシュされたテープパスワードがハッシュされたドライブパスワードと一致する場合、ブロック420において、アクセス要求を可能にすることによって実行を継続する。そうでない場合、ハッシュされたパスワードが一致しなければ、ブロック412において実行を継続する。ブロック412において、(図1の試行カウンタ137に対応する)試行カウンタが増分される。ブロック414において、試行カウンタが、最大の失敗試行(Max Failed Attempts)しきい値よりも大きければ、ブロック416において実行を継続する。そうでない場合、ブロック403において別の
アクセス要求を待つことによって実行を継続する。
【0054】
ブロック416は、媒体キャリアがアンロードおよびリロードされるまで、媒体キャリアにおける記憶媒体にアクセスする要求をすべてブロックする。当該方法は、媒体キャリアがアンロードされるまで、ブロック416を実行した後、それ以上いかなる動作も実行しない。次いで、データを読出すかまたは書込む後続の要求がなされる場合、図4の方法が再び始めから実行される。媒体キャリアにパスワードを記憶する後続の要求がなされる場合、図3の方法が実行される。ブロック420において、記憶媒体上のデータにアクセスする要求が、要求どおりデータを読出すかまたは書込み、当該データをホストに戻すことによって可能にされ、実現される。媒体キャリアが当該方法の実行中いつでもドライブからアンロードされる(すなわち、排出される)場合、当該方法は、可能な限り速やかに終了ブロックにジャンプすることによって終了する。
【0055】
図4の方法は、典型的には、パスワード保護された記憶媒体またはテープがロードされるとき、すなわち、ハッシュされたテープパスワードを有する記憶媒体が媒体ドライブに挿入されるとき、または、データがパスワード保護された記憶媒体から要求される他の如何なるときにも、ドライブがパスワード保護を強制することによって実行される。当該方法により、パスワードが一致することが見出されれば、ユーザは、データを読出して記憶媒体に書込むことができる。パスワードが一致しない場合、正しいパスワードがMODE
SELECTコマンドを用いてドライブに与えられるまで、読出および書込タイプのコマンドが拒否され、センスデータがイニシエータホストに提示される。ロードプロセスの終わりに、テープパスワード保護されたビットをチェックすることによって、テープがパスワード保護されているかどうか判断される。テープがパスワード保護されていれば、テープ上のパスワードがドライブにおけるパスワードと比較される。パスワードが等しければ、後続の書込および読出動作が可能にされる。
【0056】
データにアクセスする要求はパスワードを含まなければならない。図4の方法により、パスワードが有効であるかどうか判断される。パスワードが有効であれば、媒体ドライブは、ホストが記憶媒体に記憶されたデータにアクセスすることを可能にする。パスワードが有効でなければ、ホストは、記憶媒体へのアクセスを許可しない。パスワードが一致しない場合、読出および書込動作が拒否される。テープがパスワード保護されておらず、動作コードがテープをパスワード保護すべき場合、(テープがテープの始めに位置決めされているとき)パスワードが、次に実現可能な機会にテープに書込まれる。パスワードが一致しない場合には、以下のセンスデータ、すなわち、データプロテクト(Data Protect)、拒否されたアクセス(Access Denied)、無効な管理IDキー(Invalid Management ID
Key)、がインターフェイス上で利用可能となる。
【0057】
テープの始めにないときに、パスワード保護されたテープを不能化するかまたはパスワードを保護されていないテープに追加するための試みがなされる場合、以下のセンスデータ、すなわち、不正な要求(Illegal request)、テープの始めから離れた許可されない動作(Action not allowed away from Begin of Tape)、がインターフェイス上で利用可能となる。
【0058】
正しいパスワードを選択するための過剰な試みがなされる場合、パスワード試行の数を超過すると、センスデータは、データプロテクト、拒否されたアクセス、無効な管理IDキーからデータプロテクト、拒否されたアクセス、パスワード試行超過(Password Attempts Exceeded)に変化する。
【0059】
この開示は、限定するものではなく例示的なものであり、この開示を鑑みることにより当業者に明らかとなるさらなる変形例は、添付の特許請求の範囲内に収まるよう意図され
ている。
【図面の簡単な説明】
【0060】
【図1】この発明の一実施例による記憶システムの例示的な図である。
【図2】この発明の一実施例によるデータセキュリティモードページの例示的な図である。
【図3】この発明の一実施例による記憶媒体上でパスワードを記憶する方法を示すフローチャートである。
【図4】この発明の一実施例によるパスワードで保護された記憶媒体上でデータにアクセスする方法を示すフローチャートである。
【符号の説明】
【0061】
106 記憶システム、110 媒体ドライブ、112 読出/書込ロジック、114
ハッシングロジック、116 メモリ、118 ドライブパスワードメモリ位置、120 媒体キャリア。

【特許請求の範囲】
【請求項1】
媒体キャリアを受入れるための媒体ドライブであって、
ホストインターフェイスロジックによって受取られるプレーンテキスト値に基づいてハッシュされた値を生成するためのハッシングロジックと、
ハッシュされたテープパスワードを記憶媒体に記憶するよう動作可能な読出−書込ロジックとを含み、前記ハッシュされたテープパスワードは、プレーンテキストパスワードに基づいて前記ハッシングロジックによって生成され、前記記憶媒体は前記媒体キャリアに関連付けられる、媒体ドライブ。
【請求項2】
前記ハッシングロジックはハッシュ関数を含む、請求項1に記載の媒体ドライブ。
【請求項3】
前記ハッシュ関数はセキュアハッシュアルゴリズムを含む、請求項2に記載の媒体ドライブ。
【請求項4】
前記記憶媒体はテープを含む、請求項1に記載の媒体キャリア。
【請求項5】
前記読出−書込ロジックはさらに、前記記憶媒体から予め記憶されたハッシュされたテープパスワードを検索するよう動作可能であり、前記媒体ドライブはさらに、
前記予め記憶されたハッシュされたテープパスワードをハッシュされたドライブパスワードと比較するよう動作可能なパスワード比較ロジックを含み、前記ハッシュされたドライブパスワードは、前記ホストインターフェイスロジックによって受取られたプレーンテキストドライブパスワードに基づいて前記ハッシングロジックによって生成され、前記媒体ドライブはさらに、
前記ハッシュされたテープパスワードが前記ハッシュされたドライブパスワードと等しい場合、前記記憶媒体に記憶されたデータにホストがアクセスすることを可能にするためのデータアクセスロジックを含む、請求項1に記載の媒体ドライブ。
【請求項6】
前記ホストがデータにアクセスすることを可能にするステップは、前記記憶媒体に記憶されたデータを前記ホストが読出しおよび書込むことを可能にするステップを含む、請求項5に記載の媒体ドライブ。
【請求項7】
前記ホストインターフェイスロジックによって受取られたドライブパスワードを記憶するための、ドライブパスワードメモリ位置を有するメモリをさらに含み、前記ハッシュされたドライブパスワードは、前記メモリ位置に記憶された前記ドライブパスワードにさらに基づいて前記ハッシングロジックによって生成される、請求項5に記載の媒体ドライブ。
【請求項8】
前記メモリはランダムアクセスメモリである、請求項7に記載の媒体ドライブ。
【請求項9】
前記読出−書込ロジックはさらに、前記ハッシュされたテープパスワードを前記記憶媒体から検索するよう動作可能であり、前記媒体ドライブはさらに、
前記ホストインターフェイスロジックによって受取られたドライブパスワードを記憶するための、ドライブパスワードメモリ位置を有するメモリと、
前記記憶媒体から検索された前記ハッシュされたテープパスワードをハッシュされたドライブパスワードと比較するよう動作可能なパスワード比較ロジックとを含み、前記ハッシュされたドライブパスワードは、前記メモリ位置に記憶された前記ドライブパスワードに基づいて前記ハッシングロジックによって生成され、前記媒体ドライブはさらに、
前記ハッシュされたテープパスワードが前記ハッシュされたドライブパスワードと等しい場合、前記記憶媒体に記憶されたデータにホストがアクセスすることを可能にするため
のデータアクセスロジックを含む、請求項1に記載の媒体ドライブ。
【請求項10】
テープが前記媒体ドライブにロードされる間に無効なプレーンテキストドライブパスワードが受取られる回数を数えるよう動作可能な試行カウンタをさらに含み、
前記データアクセスロジックはさらに、前記カウンタがしきい値よりも大きい場合、前記記憶媒体に記憶されたデータへのアクセスを拒否するよう動作可能である、請求項5に記載の媒体ドライブ。
【請求項11】
前記試行カウンタはさらに、テープが前記媒体ドライブにロードされる間に無効なプレーンテキストドライブパスワードが受取られる回数を数えるよう動作可能であり、前記媒体ドライブはさらに、
前記媒体ドライブからの前記媒体キャリアのアンロードを検出するよう動作可能な媒体キャリアアンロード検知ロジックと、
前記ハッシュされたテープパスワードが前記ハッシュされたドライブパスワードと等しくない場合に前記カウンタを増分するよう動作可能であり、さらに、前記媒体キャリアがアンロードされた場合に前記カウンタをゼロに設定するよう動作可能であるアクセス失敗計数ロジックとを含む、請求項10に記載の媒体ドライブ。
【請求項12】
前記しきい値が35である、請求項10に記載の媒体ドライブ。
【請求項13】
媒体キャリアを受入れるための媒体ドライブであって、
ハッシュされたテープパスワードを前記記憶媒体から検索するよう動作可能な読出−書込ロジックと、
ホストインターフェイスロジックによって受取られたドライブパスワードを記憶するための、ドライブパスワードメモリ位置を有するメモリと、
前記ホストインターフェイスロジックによって受取られたプレーンテキストドライブパスワードに基づいて、ハッシュされたドライブパスワードを生成するためのハッシングロジックと、
前記ハッシュされたテープパスワードが前記ハッシュされたドライブパスワードと一致するかどうか判断するためのパスワード比較ロジックと、
前記ハッシュされたテープパスワードが前記ハッシュされたドライブパスワードと一致する場合、前記記憶媒体に記憶されたデータにホストがアクセスすることを可能にするためのデータアクセスロジックとを含む、媒体ドライブ。
【請求項14】
前記ハッシングロジックはハッシュ関数を含む、請求項13に記載の媒体ドライブ。
【請求項15】
前記ハッシュ関数はセキュアハッシュアルゴリズムを含む、請求項14に記載の媒体ドライブ。
【請求項16】
媒体ドライブによってアクセス可能な記憶媒体を安全に保護するための方法であって、
ホストからプレーンテキストテープパスワードを読出すステップと、
前記プレーンテキストテープパスワードに基づいて、ハッシュされたテープパスワードを生成するステップと、
前記ハッシュされたテープパスワードを前記記憶媒体に書込むステップとを含む、方法。
【請求項17】
媒体ドライブによってアクセス可能なパスワード保護された記憶媒体に記憶されたデータに安全にアクセスするための方法であって、
記憶媒体上のデータにアクセスする要求を受取るステップと、
プレーンテキストドライブパスワードを受取るステップと、
前記プレーンテキストドライブパスワードに基づいて、ハッシュされたドライブパスワードを生成するステップと、
前記記憶媒体からハッシュされたテープパスワードを読出すステップと、
前記ハッシュされたドライブパスワードを前記ハッシュされたテープパスワードと比較するステップと、
前記ハッシュされたテープパスワードが前記ハッシュされたドライブパスワードと一致する場合、前記要求を満たすよう前記記憶媒体上のデータにアクセスするステップとを含む、方法。
【請求項18】
前記プレーンテキストドライブパスワードはホストから受取られる、請求項17に記載の方法。
【請求項19】
前記プレーンテキストドライブパスワードは、ドライブパスワードメモリ位置から受取られる、請求項17に記載の方法。
【請求項20】
前記ハッシュされたドライブパスワードを生成するステップは、さらに、ハッシュ関数に基づいている、請求項17に記載の方法。
【請求項21】
前記ハッシュ関数はセキュアハッシュアルゴリズムに基づいている、請求項20に記載の方法。
【請求項22】
しきい値数よりも多くの無効なドライブパスワードが受取られる場合、前記記憶媒体へのアクセスをブロックするステップをさらに含む、請求項17に記載の方法。
【請求項23】
前記しきい値数は35である、請求項22に記載の方法。
【請求項24】
しきい値数よりも多くの無効なドライブパスワードが、前記記憶媒体のロードと前記媒体ドライブからの前記記憶媒体のその後のアンロードとの間に受取られる場合、前記記憶媒体へのアクセスを拒否するステップをさらに含む、請求項17に記載の方法。
【請求項25】
請求項16に記載の方法を実行するためのコンピュータコードを記憶するコンピュータ読取可能媒体。
【請求項26】
請求項17に記載の方法を実行するためのコンピュータコードを記憶するコンピュータ読取可能媒体。
【請求項27】
請求項16に記載の方法を実行するプログラムされたコンピュータ。
【請求項28】
請求項17に記載の方法を実行するプログラムされたコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−157153(P2007−157153A)
【公開日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2006−327042(P2006−327042)
【出願日】平成18年12月4日(2006.12.4)
【出願人】(591179352)クウォンタム・コーポレイション (49)
【氏名又は名称原語表記】QUANTUM CORPORATION
【Fターム(参考)】