(57)【要約】  １つの実施例において、少なくとも１つのキーに少なくとも部分的に基づいて、ストレージ内の１つ以上のロケーションに記憶される出力データの１つ以上のそれぞれの部分を生成するために、入力データの１つ以上のそれぞれの部分を暗号化する段階を備える方法が提供される。本実施例の前記方法は、前記出力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて、前記ストレージに記憶されるチェックデータを生成する段階、及び／又は前記出力データの前記１つ以上のそれぞれの部分が、前記ストレージに有される２つ以上のストレージデバイス間に分散されることを許可するように、前記ストレージ内の前記１つ以上のロケーションを選択する段階を備える。本実施例を逸脱することなく、多くの修正、変更、及び代替ができる。
2007510201.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのキーに少なくとも部分的に基づいて、ストレージ内の１つ以上のロケーションに記憶される出力データの１つ以上のそれぞれの部分を生成するために、入力データの１つ以上のそれぞれの部分を暗号化する段階、及び、
出力データの１つ以上のそれぞれの部分に少なくとも部分的に基づいて、前記ストレージに記憶されるチェックデータを生成するステップと、前記出力データの前記１つ以上のそれぞれの部分が、前記ストレージに有される２つ以上のストレージデバイス間に分散されることを可能とするために、前記１つ以上のロケーションを選択するステップとのうち少なくとも一方のステップを有する段階
を備える方法。
【請求項２】
前記ストレージが、独立ディスク冗長アレイ（ＲＡＩＤ）を有し、
前記チェックデータが、パリティデータ及び前記出力データのコピーの１つを有する請求項１に記載の方法。
【請求項３】
前記少なくとも１つのキーをメモリに記憶する段階と、
前記少なくとも１つのキーへの改ざんの試みに対応して、前記メモリから前記少なくとも１つのキーを消去する段階と
をさらに備える請求項１に記載の方法。
【請求項４】
１つ以上の認証に少なくとも部分的に基づいて、前記ストレージを伴う１つ以上の動作の実行を許可するかを判断する段階をさらに備える請求項１に記載の方法。
【請求項５】
少なくとも１つのキーに少なくとも部分的に基づいて、出力データの１つ以上のそれぞれの部分を生成するために、ストレージ内の１つ以上のそれぞれのロケーションからの入力データの１つ以上のそれぞれの部分を復号する段階、及び
前記ストレージに記憶されるチェックデータを生成し、前記チェックデータは、前記入力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて、生成されるステップと、前記ストレージに有される複数のストレージデバイスからの前記入力データの前記１つ以上のそれぞれの部分を取り出すステップとのうち少なくとも一方のステップを有する段階
を備える方法。
【請求項６】
前記ストレージから要求されるデータを取り出すリクエストを受信する段階と、
前記入力データの前記１つ以上のそれぞれの部分の復号化に先立って、１つ以上の認証に少なくとも部分的に基づいて、前記リクエストが認証されるかを判断する段階と
をさらに備える請求項５に記載の方法。
【請求項７】
１つ以上のトークン及び１つ以上のパスワードの少なくとも１つに少なくとも部分的に基づいて、前記少なくとも１つのキーを、少なくとも部分的に生成する段階をさらに備える請求項６に記載の方法。
【請求項８】
前記ストレージが、メタデータをさらに記憶し、
前記方法が、前記少なくとも１つのキーに少なくとも部分的に基づいて、前記メタデータを暗号化する段階をさらに備える請求項５に記載の方法。
【請求項９】
前記メタデータが、パーティション情報を有する請求項８に記載の方法。
【請求項１０】
少なくとも１つのキーに少なくとも部分的に基づいて、ストレージ内の１つ以上のロケーションに記憶される出力データの１つ以上の部分を生成するために、入力データの１つ以上のそれぞれの部分を暗号化する回路を備え、
前記回路が、
前記出力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて、前記ストレージに記憶されるチェックデータを生成することと、
前記ストレージに有される２つ以上のストレージデバイスの間で、前記出力データの前記１つ以上のそれぞれの部分が分散されることを許可するために前記１つ以上のロケーションを選択することと
の少なくとも一方をさらに可能な装置。
【請求項１１】
前記ストレージが、独立ディスク冗長アレイ（ＲＡＩＤ）を有し、
前記チェックデータが、パリティデータの及び前記出力データのコピーの１つを有する請求項１０に記載の装置。
【請求項１２】
前記回路が、
前記少なくとも１つのキーをメモリに記憶することと、
前記少なくとも１つのキーを改ざんする試みに少なくとも部分的に応答し、前記メモリから前記少なくとも１つのキーを消去することと
がさらに可能な請求項１０に記載の装置。
【請求項１３】
前記回路が、１つ以上の認証に少なくとも部分的に基づいて、前記ストレージを伴う１つ以上の動作の実行を許可するかを判断することがさらに可能な請求項１０に記載の装置。
【請求項１４】
少なくとも１つのキーに基づいて、出力データの１つ以上のそれぞれの部分を生成するために、ストレージからの入力データの１つ以上のそれぞれの部分を復号化する回路を備え、
前記回路が、
前記入力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて生成される、前記ストレージに記憶されるチェックデータを生成することと、
前記ストレージに有される複数のストレージデバイスからの前記入力データの前記１つ以上のそれぞれの部分を取り出すことと
の少なくとも一方が可能な装置。
【請求項１５】
前記回路が、
前記ストレージから要求されるデータを取り出すリクエストを受信し、前記要求されるデータは、前記出力データを有することと、
前記入力データの前記１つ以上のそれぞれの部分の前記復号化することに先立って、１つ以上の認証に少なくとも部分的に基づいて、前記リクエストが認証されるかを判断することと
がさらに可能な請求項１４に記載の装置。
【請求項１６】
前記回路が、１つ以上のトークン及び１つ以上のパスワードの少なくとも１つに少なくとも部分的に基づき、前記少なくとも１つのキーを少なくとも部分的に生成することがさらに可能な請求項１５に記載の装置。
【請求項１７】
前記ストレージが、メタデータをさらに記憶し、
前記回路が、前記少なくとも１つのキーに少なくとも部分的に基づき、前記メタデータを暗号化することがさらに可能な請求項１４に記載の装置。
【請求項１８】
前記メタデータが、パーティション情報を有する請求項１７に記載の装置。
【請求項１９】
複数の命令が記憶された記憶媒体を備える製品であって、前記複数の命令が機械により実行された場合、前記複数の命令が前記機械を、
少なくとも１つのキーに少なくとも部分的に基づき、ストレージ内の１つ以上のロケーションに記憶される出力データの１つ以上のそれぞれの部分を生成するために、入力データの１つ以上のそれぞれの部分を暗号化する手段、及び、
前記出力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて、前記ストレージに記憶されるチェックデータを生成する手順と、前記出力データの前記１つ以上のそれぞれの部分が、前記ストレージに有される２つ以上のストレージデバイス間に分散されることを許可するために前記１つ以上のロケーションを選択する手順とのうちの少なくとも一方の手順を実行する手段
として機能させる製品。
【請求項２０】
前記ストレージが、独立ディスク冗長アレイ（ＲＡＩＤ）を有し、
前記チェックデータが、パリティデータ及び前記出力データのコピーの１つを有する請求項１９に記載の製品。
【請求項２１】
前記複数の命令が前記機械により実行される場合、前記複数の命令が前記機械を、
前記少なくとも１つのキーをメモリに記憶する手段と、
前記少なくとも１つのキーへの改ざんの試みに少なくとも部分的に応答し、前記少なくとも１つのキーを前記メモリから消去する手段と
としてさらに機能させる請求項１９に記載の製品。
【請求項２２】
前記複数の命令が前記機械により実行される場合、前記複数の命令が前記機械を、
１つ以上の認証に少なくとも部分的に基づき、前記ストレージを伴う１つ以上の動作の実行を許可するかを判断する手段として機能させる請求項１９に記載の製品。
【請求項２３】
複数の命令が記憶された記憶媒体を備える製品であって、前記複数の命令が機械により実行された場合、前記複数の命令が前記機械を、
少なくとも１つのキーに少なくとも部分的に基づき、出力データの１つ以上のそれぞれの部分を生成するために、ストレージからの入力データの１つ以上のそれぞれの部分を復号化する手段、及び、
前記ストレージに記憶されるチェックデータを生成し、前記チェックデータは、前記入力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて、生成される手順と、前記ストレージに有される複数のストレージデバイスからの前記入力データの前記１つ以上のそれぞれの部分を取り出す手順とのうち少なくとも一方の手順を実行する手段
として機能させる製品。
【請求項２４】
前記複数の命令が前記機械に実行された場合、前記複数の命令が前記機械を、
前記ストレージから要求されるデータを取り出すリクエストを受信し、前記要求されるデータは、前記出力データを有する手段と、
前記入力データの前記１つ以上のそれぞれの部分の前記復号化する手順に先立って、１つ以上の認証に少なくとも部分的に基づいて、前記リクエストが認証されるかを判断する手段と
としてさらに機能させる請求項２３に記載の製品。
【請求項２５】
前記複数の命令が前記機械により実行された場合、前記複数の命令が前記機械を、
１つ以上のトークン及び１つ以上のパスワードの少なくとも１つに少なくとも部分的に基づいて、前記少なくとも１つのキーを少なくとも部分的に生成する手段としてさらに機能させる請求項２４に記載の製品。
【請求項２６】
前記ストレージが、メタデータをさらに記憶し、
前記複数の命令が前記機械により実行された場合、前記複数の命令が前記機械を、
前記少なくとも１つのキーに少なくとも部分的に基づいて、前記メタデータを暗号化する手段としてさらに機能させる請求項２３に記載の製品。
【請求項２７】
前記メタデータが、パーティション情報を有する請求項２６に記載の製品。
【請求項２８】
回路カードスロット及び前記回路カードスロットに挿入されることができる回路カードを有する回路基板を備え、
前記回路カードが、回路を含み、
前記回路が、少なくとも１つのキーに少なくとも部分的に基づいて、ストレージ内の１つ以上のロケーションに記憶される出力データの１つ以上のそれぞれの部分を生成するために、入力データの１つ以上のそれぞれの部分を暗号化することができ、
前記回路が、
前記出力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて、前記ストレージに記憶されるチェックデータを生成することと、
前記出力データの前記１つ以上のそれぞれの部分が、前記ストレージに有される２つ以上のストレージデバイス間に分散されることを許可するために、前記１つ以上のロケーションを選択することと
の少なくとも一方がさらに可能なシステム。
【請求項２９】
前記回路が、
入力／出力（Ｉ／Ｏ）プロセッサ、及び前記少なくとも１つのキーを記憶できる不揮発性メモリを有し、
前記回路が、
前記少なくとも１つのキーへの改ざんの試みを検出でき、前記試みに少なくとも部分的に応答して、前記メモリから前記少なくとも１つのキーを消去する請求項２８に記載のシステム。
【請求項３０】
前記回路基板が、
バスを介して前記回路カードスロットに結合されるホストプロセッサ、及び１つ以上のトークンを記憶するための１つ以上のトークンメモリと、
取り外し可能トークンメモリがトークンリーダに挿入された後、前記取り外し可能トークンメモリに記憶された１つ以上の追加のトークンを読み出すための追加の回路と
をさらに備える請求項２９に記載のシステム。
【請求項３１】
回路カードスロット及び前記回路カードスロットに挿入されることができる回路カードを有する回路基板を備え、
前記回路カードは、少なくとも１つのキーに少なくとも部分的に基づいて、出力データの１つ以上のそれぞれの部分を生成するために、ストレージからの入力データの１つ以上のそれぞれの部分を復号するための回路を含み、
前記回路が、
前記入力データの前記１つ以上のそれぞれの部分に少なくとも部分的に基づいて生成される、前記ストレージに記憶されるチェックデータを生成することと、
前記ストレージ内に有される複数のストレージデバイスから前記入力データの前記１つ以上のそれぞれの部分を取り出すことと
の少なくとも一方がさらに可能なシステム。
【請求項３２】
独立ディスク冗長アレイ（ＲＡＩＤ）に結合される入力／出力（Ｉ／Ｏ）コントローラと、
バスと
をさらに備え、
前記コントローラは、前記バスを介して、前記回路に結合される請求項３１に記載のシステム。
【請求項３３】
前記回路基板が、前記スロット及び前記コントローラに結合されたホストプロセッサをさらに備える請求項３２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データセキュリティに関する。
【背景技術】
【０００２】
従来のデータストレージ配置の一例では、コンピュータノードは、ホストプロセッサ及びホストバスアダプタ（ＨＢＡ）を備える。ＨＢＡは、複数のデータストレージデバイスを有する独立ディスク冗長アレイ（ＲＡＩＤ）に結合される。従来の複数のＲＡＩＤ技術に従って、ホストプロセッサからのデータ記憶及び取り出しの複数の要求に応答して、ＨＢＡは、データをＲＡＩＤに記憶する及びＲＡＩＤからデータを取り出す。
【０００３】
侵入者が物理的にアクセスし及び複数のデータストレージデバイスをＲＡＩＤから取り外す場合、侵入者は、ＲＡＩＤに記憶されているデータを再構築するために、従来の複数のＲＡＩＤ技術を使用することができる。これは、望ましい状態よりも、ＲＡＩＤに記憶されているデータをより安全でなくする。
【図面の簡単な説明】
【０００４】
請求される対象の複数の実施例の複数の特徴及び利点は、下記の詳細な説明が進むにつれ、及び複数の図面の参照により明白になる。図面において、同様の数字は同様の部分を示す。
【０００５】
【図１】システムの実施例を示す図である。
【０００６】
【図２】実施例に沿って実行される複数の動作を示すフローチャートである。
【図３】実施例に沿って実行される複数の動作を示すフローチャートである。
【０００７】
下記詳細な説明は、請求される対象の説明に役立つ複数の実施例への参照を続けるが、多くの代替、修正及び変更は、当業者には明らかである。したがって、請求される対象が広く見られ、添付する複数の請求項の説明としてのみ定義されることが意図される。
【発明を実施するための最良の形態】
【０００８】
図１はシステムの実施例１００を示す。システム１００は、例えば、チップセット１４に結合されたホストプロセッサ１２を備える作動回路１１０である。ホストプロセッサ１２は、例えば、本願の譲受人から商用に利用可能なＩｎｔｅｌ（登録商標）Ｐｅｎｔｉｕｍ（登録商標）IV及び／又はＩｔａｎｉｕｍ（登録商標）マイクロプロセッサを有する。もちろん、あるいは、ホストプロセッサ１２は、本実施例から逸脱することなく、例えば、本願の譲受人以外のソースから製造される及び／又は商用に利用可能なマイクロプロセッサなどのマイクロプロセッサの別のタイプを有してよい。
【０００９】
作動回路１１０は、例えば、トークンメモリ５０、トークンリーダ５４、ユーザインターフェースシステム１６、バスシステム２２、回路カードスロット３０及び回路カードスロット７０をさらに備える。チップセット１４は、ホストプロセッサ１２、システムメモリ２１、及びユーザインターフェースシステム１６を互いに及びバスシステム２２に結合させるブリッジ／ハブシステムを有する。チップセット１４は、ホストブリッジ／バスシステムをバス２２に結合させる入力／出力（Ｉ／Ｏ）ブリッジ／ハブシステム（図示されない）をさらに有する。チップセット１４は、本願の譲受人から商用に利用可能な複数の集積回路チップセットから選択される１つ以上の集積回路チップ（例えば、グラフィクスメモリ及び複数のＩ／Ｏコントローラハブチップセット）などの、１つ以上の集積回路チップを有し、本実施例を逸脱することなく、１つ以上の他の集積回路チップもまた、若しくは、あるいは使用される。ユーザインターフェースシステム１６は、例えば、ヒューマンユーザが、複数のコマンドをシステム１００に入力する、及びシステム１００の動作をモニタすることを可能にする、キーボード、ポインティングデバイス、及びディスプレイシステムを有する。
【００１０】
各トークンメモリ５０及びトークンリーダ５４は、チップセット１４に結合される。トークンリーダ５４は、少なくとも部分的に、取り外し可能なトークンメモリ５２を受ける機能を有する。例えば、取り外し可能なトークンメモリ５２は、少なくとも部分的に、トークンリーダ５４に挿入されることができ、トークンリーダ５４にそのように挿入された後に、メモリ５２は、トークンリーダ５４から取り外せられる。メモリ５２が、トークンリーダ５４にそのように挿入された場合、メモリ５２は、少なくとも部分的にトークンリーダ５４に電気的に結合される。
【００１１】
トークンメモリ５０は、１つ以上のトークン５６を記憶する。同じように、トークンメモリ５２は、１つ以上のトークン５８を有する。ここで用いられるように、"トークン"は、１つ以上の文字列、記号、及び／又は値を意味する。
【００１２】
各メモリ５０及びメモリ５２は、複数のメモリの下記複数のタイプ、半導体ファームウェアメモリ、プログラム可能メモリ、不揮発性メモリ、読込専用メモリ、電気的プログラム可能メモリ、ランダムアクセスメモリ、フラッシュメモリ、磁気ディスクメモリ、及び／又は光学ディスクメモリの１つ以上を有する。加えて、若しくは、あるいはのどちらかで、メモリ５０及び／又はメモリ５２は、コンピュータ読込可能メモリの他の及び／又は後に開発される複数のタイプを有する。
【００１３】
バス２２は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  （ＰＣＩ）  ＥｘｐｒｅｓｓＴＭ  Ｂａｓｅ仕様、改訂版１．０、２００２年、７月２２日刊行、  ＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ、  Ｐｏｒｔｌａｎｄ、  Ｏｒｅｇｏｎ、  Ｕ．Ｓ．Ａ．から利用可能（以下"ＰＣＩ  ＥｘｐｒｅｓｓＴＭ  ｂｕｓ"と称する）、に準拠する及び／又は互換性があるバスを有する。あるいは、バス２２は、代わりに、ＰＣＩ−Ｘ仕様、改訂版１．０ａ、２０００年、７月２４日、前述のＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ、  Ｐｏｒｔｌａｎｄ、  Ｏｒｅｇｏｎ、  Ｕ．Ｓ．Ａ．、から利用可能（以下"ＰＣＩ−Ｘ  ｂｕｓ"と称する）、に準拠する及び／又は互換性があるバスを有する。また、あるいは、バス２２は、本実施例から逸脱することなく、複数のバスシステムの他の複数のタイプ及び複数の構成を有する。
【００１４】
システム実施例１００は、ストレージ８２を備える。ストレージ８２は、ＲＡＩＤ８４を有する。ＲＡＩＤ８４は、複数のストレージデバイス８８Ａ...８８Ｎを含む大容量ストレージ８６を含む。各複数のストレージデバイス８８Ａ...８８Ｎは、１つ以上のそれぞれの大容量ストレージデバイスである、又は、を含む。ここで用いられるように、複数の用語"ストレージ"及び"ストレージデバイス"は、１つ以上の装置を意味するために交互に用いられ、これら装置に、及び／又は、からデータ及び／又は複数のコマンドがそれぞれ記憶及び取り出される。また、ここで用いられるように、複数の用語"大容量ストレージ"及び"大容量ストレージデバイス"は、データ及び／又は複数のコマンドの不揮発性ストレージとなり得り、また、例えば、制限されることなく、１つ以上の磁気、光学及び／又は半導体ストレージデバイスを含む１つ以上のストレージデバイスを意味するために、交互に用いられる。
【００１５】
例えば、バス２２がＰＣＩ  ＥｘｐｒｅｓｓＴＭバス又はＰＣＩ−Ｘバスを有するかに依存して、回路カードスロット３０は、例えば、ＰＣＩ  ＥｘｐｒｅｓｓＴＭ又はＰＣＩ−Ｘバスに互換の又は準拠する拡張スロット又はインターフェース３６を有する。インターフェース３６は、回路カード２０内のバス拡張スロット又はインターフェース３５に有される接合バスコネクタ３４に電気的及び機械的に接合されるバスコネクタ３７を有する。
【００１６】
また、例えば、バス２２がＰＣＩ  ＥｘｐｒｅｓｓＴＭバス又はＰＣＩ−Ｘバスを有するかに依存して、回路カードスロット７０は、例えば、ＰＣＩ  ＥｘｐｒｅｓｓＴＭ又はＰＣＩ−Ｘバスに互換の又は準拠した拡張スロット又はインターフェース７２を有する。インターフェース７２は、回路カード８０内のバス拡張スロット又はインターフェース７８に有される接合バスコネクタ７６に電気的及び機械的に接合されるバスコネクタ７４を有する。
【００１７】
ここで用いられるように、"回路"は、例えば、アナログ回路、ディジタル回路、ハードワイヤード回路、プログラム可能回路、ステートマシン回路、及び／又はプログラム可能回路に実行される複数のプログラム命令を含むメモリの単体又は組み合わせを有する。本実施例では、回路カード２０は、作動回路３８を有する。Ｉ／Ｏコントローラ回路カード８０は、作動回路８１を有する。作動回路３８は、例えば、コンピュータ読込可能メモリ４３、コンピュータ読込可能メモリ４４、Ｉ／Ｏプロセッサ４１、及びタンパ検出回路４２を含む。本実施例では、カード２０は、物理的なタンパリング検出境界４０を有し、メモリ４３、メモリ４４、プロセッサ４１、及びタンパ検出回路４２は、境界４０内に、物理的に含まれる。
【００１８】
Ｉ／Ｏプロセッサ４１は、例えば、本願の譲受人から商用に利用可能な１つ以上のＩｎｔｅｌ（登録商標）  ＩＯＰ３３１  Ｉ／Ｏプロセッサ、Ｉｎｔｅｌ（登録商標）  ＩＯＰ３２１  プロセッサ、Ｉｎｔｅｌ（登録商標）  ８０２００プロセッサ、Ｉｎｔｅｌ（登録商標）  ８０３１４コンパニオンチップ、Ｉｎｔｅｌ（登録商標）  ８０３１２  Ｉ／Ｏコンパニオンチップ、Ｉｎｔｅｌ（登録商標）  ８０３０３  Ｉ／Ｏプロセッサ、及び／又はＩｎｔｅｌ（登録商標）  ｉ９６０  ＲＭ／ＲＮ／ＲＳ  Ｉ／Ｏ  プロセッサを含む。もちろん、あるいは及び／又は加えて、プロセッサ４１は、本実施例から逸脱することなく、例えば、本願の譲受人以外の１つ以上のソースに製造される及び／又はから利用可能な１つ以上のプロセッサ及び／又は集積回路などの複数のプロセッサ及び／又は集積回路の１つ以上の他のタイプを含む。
【００１９】
各メモリ２１、メモリ４３及び／又はメモリ４４は、半導体ファームウェアメモリ、プログラム可能メモリ、不揮発性メモリ、読込専用メモリ、電気的プログラム可能メモリ、ランダムアクセスメモリ、フラッシュメモリ、磁気ディスクメモリ、及び／又は光学ディスクメモリなどの複数のメモリの複数のタイプの１つ以上を含む。加えて又はあるいはのどちらかで、メモリ２１、メモリ４３、及び／又はメモリ４４は、コンピュータ読込可能メモリの他の及び／又は後に開発された複数のタイプを含む。
【００２０】
複数の機械読込可能プログラム命令は、メモリ２１及び／又はメモリ４４に記憶される。これら複数の命令は、作動回路３８、プロセッサ１２、回路８１、及び／又は作動回路１１０に備えられる他の及び／又は付加的な回路により、アクセス及び実行される。そのように実行された場合、これら複数の命令は、カード２０、回路３８、カード８０、回路８１、プロセッサ１２及び／又は回路１１０に備えられる他の及び／又は付加的な回路が、カード２０、回路３８、カード８０、回路８１、プロセッサ１２及び／又は回路１１０に備えられる他の及び／又は付加的な回路によって実行されると記述された複数の動作を実行することをもたらす。
【００２１】
スロット３０及びカード２０は、カード２０がスロット３０に挿入されることを可能にするように構成される。カード２０がスロット３０に適切に挿入された場合、複数のコネクタ３４及び３７は、互いに、電気的及び機械的に結合される。複数のコネクタ３４及び３７が、互いにそのように結合された場合、回路３８は、バス２２に、電気的に結合される。同様に、スロット７０及びカード８０は、カード８０がスロット７０に挿入されることを可能にするように構成される。カード８０がスロット７０に適切に挿入された場合、複数のコネクタ７４及び７６は、互いに、電気的及び機械的に結合される。複数のコネクタ７４及び７６が、互いにそのように結合された場合、回路８１は、バス２２に、電気的に結合される。回路３８及び回路８１が、バス２２に電気的に結合された場合、回路３８及び回路８１は、データ及び／又は複数のデータを互いに、及び、例えば、システムメモリ２１、ホストプロセッサ１２、トークンメモリ５０、トークンリーダ５４、ユーザインターフェースシステム１６、及び／又はカードとバス２２及びチップセット１４を介して交換できる。
【００２２】
あるいは、本実施例を逸脱することなく、作動回路３８及び／又は作動回路８１の幾つか又は全ては、それぞれ、カード２０及びカード８０に有されず、代わりに、１つ以上の構成、システム、及び／又はデバイスに有される。こらら他の複数の構成、システム、及び／又はデバイスは、例えば、バス２２に結合されたマザーボード３２に有され、データ及び／又は複数のコマンドを、システム１００の他の複数のコンポーネント（例えば、システムメモリ２１、ホストプロセッサ１２、トークンリーダ５４、トークンメモリ５０、ストレージ８２、及び／又はユーザインターフェースシステム１６など）と交換する。例えば、本実施例を逸脱することなく、回路３８及び／又は回路８１の幾つか又は全ては、チップセット１４に有される１つ以上の集積回路に含まれる。
【００２３】
また、あるいは、回路８１の幾つか又は全ては、回路３８に有される。回路８１の全てが回路３８に有される場合、カード８０は、除外され、回路３８が、ストレージ８２に結合される。
【００２４】
プロセッサ１２、システムメモリ２１、チップセット１４、バス２２、複数の回路カードスロット３０及び７０、並びにトークンメモリ５０は、例えば、システムマザーボード３２などの１つの回路ボードに備えられる。複数のストレージデバイス８８Ａ...８８Ｎの数は、本実施例を逸脱することなく、変化する。また、本実施例を逸脱することなく、トークンメモリ５０、並びに／又はトークンリーダ５４及びトークンメモリ５２は、回路１１０に備えられない。
【００２５】
ＲＡＩＤ８４により実装されるＲＡＩＤレベルは、０、１、又は１より大きくなり得る。例えば、ＲＡＩＤ８４により実装されるＲＡＩＤレベルに依存して、ＲＡＩＤ８４に有される複数のストレージデバイス８８Ａ...８８Ｎの数は、ＲＡＩＤ８４により実装されるＲＡＩＤレベルを実装するのに少なくとも十分な複数のストレージデバイス８８Ａ...８８Ｎの数を可能にするために変化する。複数のストレージデバイス８８Ａ...８８Ｎの全ては、ＲＡＩＤ８４に有されているものとして、図１に示されるが、本実施例を逸脱することなく、複数のストレージデバイス８８Ａ...８８Ｎの１つ以上のサブセットは、ＲＡＩＤ８４に有されない。
【００２６】
回路８１及びストレージ８２の特定の構成及び動作上の複数の特性に依存して、回路８１及びストレージ８２は、データ及び／又は複数のコマンドを、例えば、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ  （ＳＣＳＩ）、ファイバーチャネル（ＦＣ）、イーサネット、  Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ  （Ｓ−ＡＴＡ）、及び／又は伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）コミュニケーションプロトコルなどの、さまざまな異なったコミュニケーションプロトコルの１つ以上に従って、交換する。もちろん、あるいは及び／又は加えて、回路８１及びストレージ８２は、本実施例を逸脱することなく、データ及び／又は複数のコマンドを、他の複数のコミュニケーションプロトコルに従って、交換する。
【００２７】
本実施例に従って、ＳＣＳＩプロトコルは、どの回路８１及びストレージ８２がデータ及び／又は複数のコマンドを交換するかに従って、米国規格協会（ＡＮＳＩ）  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ−２  （ＳＣＳＩ−２）  ＡＮＳＩ  Ｘ３．１３１−１９９４  仕様に記載されるプロトコルに準拠する又は互換となる。回路８１及びストレージ８２が、データ及び／又は複数のコマンドを、ＦＣプロトコルに従って交換する場合、ＦＣプロトコルは、ＡＮＳＩ  Ｓｔａｎｄａｒｄ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  （ＦＣ）  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ−３  Ｘ３．３０３：１９９８  仕様に記載されるプロトコルに準拠する、又は互換となる。回路８１及びストレージ８２が、データ及び／又は複数のコマンドを、イーサネットプロトコルに従って交換する場合、イーサネットプロトコルは、電気電子技術者協会（ＩＥＥＥ）標準規格８０２．３、  ２０００  Ｅｄｉｔｉｏｎ、２０００年１０月２０日刊行、に記載されるプロトコルに準拠する、又は互換となる。回路８１及びストレージ８２が、データ及び／又は複数のコマンドを、Ｓ−ＡＴＡプロトコルに従って交換する場合、Ｓ−ＡＴＡプロトコルは、Ｓｅｒｉａｌ  ＡＴＡ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐによる"Ｓｅｒｉａｌ  ＡＴＡ：  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｓｅｒｉａｌｉｚｅｄ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ"改訂版１．０、２００１年８月２９日刊行、に記載されるプロトコルに準拠する、又は互換となる。また、回路８１及びストレージ８２が、データ及び／又は複数のコマンドを、ＴＣＰ／ＩＰに従って、交換する場合、ＴＣＰ／ＩＰは、Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ  （ＩＥＴＦ）  Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｎｅｎｔｓ  （ＲＦＣ）  ７９１及び７９３、１９８１年９月刊行、に記載されるプロトコルに準拠する、又は互換となる。
【００２８】
回路８１は、ストレージ８２に、電気的に結合される。回路８１は、ストレージ８２と、データ及び／又は複数のコマンドを交換でき、これは、回路８１が、少なくとも部分的に、ストレージ８２の動作を制御及びモニタすることをもたらす。
【００２９】
図２に行われる参照で、実施例に従って、システム１００で実行される複数の動作２００が、説明される。例えば、システム１００、カード２０、及び／又は回路１１０のリセットの後、ヒューマンユーザ（図示されない）は、ユーザインターフェースシステム１６を用いて、ストレージ８２が１つ以上の要求される動作を実行することを要求する回路３８へのリクエスト６０を生成し、発行する。回路３８は、図２の動作２０２に示されるように、リクエスト６０を受信する。
【００３０】
リクエスト６０の回路３８による受信に、少なくとも部分的に応答して、Ｉ／Ｏプロセッサ４１は、図２の動作２０４に示されるように、１つ以上の初期認証が要求されるかを判断する。ここで用いられるように、"認証"は、少なくとも部分的に動作が実行されることを許可するかに関してなされる決定に少なくとも部分的に基づく、１つ以上の文字列、記号、及び／又は値を意味し、例えば、本実施例では、１つ以上のトークン及び／又はユーザから供給されるパスワードなどである。例えば、動作２０４の部分として、本実施例では、プロセッサ４１は、ストレージ８２へのアクセスにおける使用のための、１つ以上の認証４６、１つ以上のトークンキー４８、並びに／又は１つ以上のパーティション及び／若しくはアドレスマッピングテーブル（図示されない）がメモリ４３に記憶されているかを判断するためにメモリ４３の内容を調べる。ここで用いられるように、"キー"は、少なくとも部分的にどのデータが暗号化及び／又は復号化されるかに、少なくとも部分的に基づいた、１つ以上の文字列、記号、及び／又は値を意味する。プロセッサ４１が、このような複数の認証４６、キー４８、並びに／又はパーティション及び／若しくはアドレスマッピングテーブルがメモリ４３に記憶されていないと判断すると、プロセッサ４１は、動作２０４の結果として、１つ以上の初期認証が要求されると判断する。例えば、本実施例では、メモリ４３内の、このような複数の認証４６、キー４８、並びに／又はパーティション及び／若しくはアドレスマッピングテーブルの不在は、ストレージ８２がまだ、データ記憶及びストレージ８２からの取り出しを可能にするように初期的に構成されてなく、かつ／又はシステムアドミニストレータがまだ、割り当てられていないことを示す。この例では、１つ以上の要求される動作は、例えば、データがストレージ８２に記憶され、及びストレージ８２から取り出されることを許可するための、ストレージ８２の初期構成をもたらし、かつ、例えば、パーティション、アドレスマッピングテーブル並びに／又はストレージ８２のこの構成を記述する及び／若しくは具現化する関連した情報を含むメタデータの生成及びストレージ８２への記憶をさらにもたらす複数の動作などの１つ以上の管理上の動作を有するだろう。ストレージ８２のこの初期構成は、例えば、ストレージ８２及び／又はＲＡＩＤ８４内のデータストライプ、ブロック、パーティション、並びに／又は他の及び／若しくは付加的な複数のＲＡＩＤ構成パラメータを初期化する段階を有する。
【００３１】
動作２０４の結果として、プロセッサ４１が１つ以上の認証が要求されると判断する場合、図２の動作２０６に示されるように、プロセッサ４１は、１つ以上の初期の認証を取得し、メモリに記憶する。例えば、本実施例では、動作２０６の部分として、プロセッサ４１は、ユーザインターフェースシステム１６に信号を送る。これは、ユーザインターフェースシステム１６が、ヒューマンユーザに１つ以上のパスワード及び／又はトークンメモリ５０に信号を送ることによって、１つ以上のトークン５８を提供するように促すことをもたらす。ヒューマンユーザは、ユーザインターフェースシステム１６を介してプロセッサ４１に１つ以上のパスワードを供給及び発行し、並びに／又はトークンメモリ５２をトークンリーダ５４に挿入する。ここで用いられるように、"パスワード"は、有することは要求されないが、ヒューマンユーザのキー（例えば、公開又はプライベートキー）でよい。トークンリーダ５４は、１つ以上のトークン５８を読み出し、１つ以上のトークン５８をプロセッサ４１に提供する。プロセッサ４１によるトークンメモリ５０の信号は、１つ以上のトークン５６がメモリ５２からプロセッサ４１に供給されることをもたらす。
【００３２】
１つ以上のトークン５０、１つ以上のトークン５８、及びヒューマンユーザから提供される１つ以上のパスワードの受信の後、及び、受信に少なくとも部分的に応答して、プロセッサ４１は、１つ以上の認証４６として、１つ以上のトークン５０、１つ以上のトークン５８、及び／又はこれら１つ以上のパスワードをメモリ４３に記憶する。プロセッサ４１は、また、少なくとも部分的に１つ以上のトークン５０、１つ以上のトークン５８、及び／又は１つ以上のパスワードに基づいて、１つ以上のキー４８を生成し、１つ以上のキー４８をメモリ４３に記憶する。例えば、プロセッサ４１は、１つ以上の所定のハッシングアルゴリズムを用いて、１つ以上の認証４６の幾つか又は全ての１つ以上の一方向ハッシュを計算し、１つ以上のキー４８として、１つ以上のハッシュをメモリ４３に記憶する。本実施例に従って、１つ以上のキー４８を計算するために用いられるハッシングアルゴリズムの例は、Ｓｅｃｕｒｅ  Ｈａｓｈ  Ｓｔａｎｄａｒｄ、Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄ  Ｐｕｂｌｉｃａｔｉｏｎ  （ＦＩＰＳ）  １８０−１、１９９５年４月、に開示されるセキュアハッシュアルゴリズムである。もちろん、本実施例を逸脱することなく、１つ以上のキー４８を作成するために、他の及び／又は付加的なハッシングアルゴリズムを用いることができる。前述した通り、メモリ４３は、不揮発性メモリを含む。１つ以上の認証４６及び１つ以上のキー４８は、メモリ４３のこの不揮発性メモリ内に記憶される。
【００３３】
反対に、プロセッサ４１が、動作２０４の結果として、１つ以上の初期認証が要求されないと判断する場合、プロセッサ４１は、図２の動作２０８に示されるように、少なくとも部分的にメモリ４３に記憶される１つ以上の認証４６に基づいて、リクエスト６０に要求される１つ以上の動作が、ストレージ８２により実行されることを許可するかどうかを判断する。例えば、本実施例では、動作２０８の部分として、プロセッサ４１は、ユーザインターフェース１６及びメモリ５０に信号を送る。これは、システム１６が、ヒューマンユーザがリクエスト６０に要求される１つ以上の動作の実行を認めるための１つ以上の認証を提供するように促すことをもたらし、メモリ５０が、１つ以上のトークン５６をプロセッサ４１に提供することをもたらす。ユーザは、１つ以上のトークンメモリ（例えば、トークンメモリ５２）をトークンリーダ５４に挿入し、１つ以上の要求される認証として、１つ以上のトークン及び／又は１つ以上のパスワードをプロセッサ４１に提供するために、システム１６を介して１つ以上のパスワードを入力する。プロセッサ４１は、これら１つ以上のトークン及び／又はパスワードを受信し、所定のハッシングアルゴリズムを用いて、メモリ４３に記憶される１つ以上の認証４６の幾つか又は全ての一方向ハッシュを計算し、この一方向ハッシュを、所定のハッシングアルゴリズムを用いてプロセッサ４１に計算される、受信される１つ以上のトークン及び／又はパスワードのもう１つの一方向ハッシュと比較する。２つのハッシュが一致する場合、プロセッサ４１は、動作２０８の結果として、リクエスト６０に要求される１つ以上の動作のストレージ８２による実行は認証されると判断し、これら１つ以上の動作のストレージ８２による実行を許可することを判断する。反対に、２つのハッシュが一致しない場合、プロセッサ４１は、動作２０８の結果として、これら１つ以上の動作の実行は認証されないと判断し、これら１つ以上の動作のストレージ８２による実行を許可しないことを判断する。
【００３４】
あるいは、又は加えて、動作２０８の結果として、プロセッサ４１は、１つ以上の認証４６の幾つか又は全てが、メモリ５０、リーダ５４、及び／又はシステム１６からプロセッサ４１に提供される対応する１つ以上の認証と一致するかどうかを判断する。この様な一致が存在する場合、プロセッサ４１は、動作２０８の結果として、リクエスト６０により要求される１つ以上の動作のストレージ８２による実行は、認証され、リクエスト６０により要求される１つ以上の動作のストレージ８２による実行を許可することを判断する。反対に、このような一致が存在しない場合、プロセッサ４１は、動作２０８の結果として、これら１つ以上の動作は認証されないと判断し、これら１つ以上の動作のストレージ８２による実行を許可しないことを判断する。プロセッサ４１が、これら１つ以上の動作のストレージ８２による実行を許可しないと判断する場合、プロセッサ４１は、システム１６に信号を送る。これは、システム１６が、ヒューマンユーザに対し、これら１つ以上の動作の実行が認証されなかったことを示すことをもたらす。
【００３５】
動作２０６の実行、又は動作２０８の結果として、プロセッサ４１による、リクエスト６０に要求される１つ以上の動作の実行を許可することの判断の後、プロセッサ４１は、図２の動作２１０に示されるように、これら１つ以上の動作が１つ以上の管理上の動作かを判断する。プロセッサ４１が、動作２１０の結果として、これら１つ以上の動作が１つ以上の管理上の動作であると判断する場合、プロセッサ４１は、これら１つ以上の管理上の動作のストレージ８２による実行に起因する、ストレージ８２の構成に対応する及び／又はを具現化するメタデータを生成し、メモリ４３に記憶する。プロセッサ４１は、さらに、このメタデータを暗号化し、１つ以上のパケット９４を、暗号化されたメタデータ９６を有する回路８１に送信し、及び／又は回路８１に信号を送る。
【００３６】
本実施例では、暗号化されたメタデータ９６は、少なくとも部分的に１つ以上の所定の従来の対称暗号アルゴリズムに従い、複数のオペランドとして暗号化されていないメタデータ及び１つ以上のキー４８を用いて、プロセッサ４１により生成される。本実施例では、１つ以上のキー４８及びこれら１つ以上の対称暗号アルゴリズムは、例えば、Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ、  （ＤＥＳ）、  ＦＩＰＳ  ４６、１９７７年１月、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ  （ＡＥＳ）、  ＦＩＰＳ  １９７、２００１年１１月、並びに／又は他の及び／若しくは追加の暗号化アルゴリズムに準拠する及び／若しくは互換となる。また、加えて、本実施例を逸脱することなく、回路８１及びストレージ８２がデータ及び複数のコマンドを交換するのに従う１つ以上のコミュニケーションプロトコルに依存して、ストレージ８２及び回路８１間で交換される１つ以上のパケットは、例えば、"Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、"  ＲＦＣ  ２４０１、  ＩＥＴＦ  １９９８、  Ｓａｔｒａｎ  ｅｔ  ａｌ．、  "ｉＳＣＳＩ、"  ｄｒａｆｔ−ｉｅｔｆ−ｉｐｓ−ｉｓｃｓｉ−２０、Ｉｎｔｅｒｎｅｔ  Ｄｒａｆｔ、  ＩＥＴＦ、  ＩＰ  Ｓｔｏｒａｇｅ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ、２００３年１月１９日、に互換な及び／又は準拠する１つ以上の所定の対称暗号化アルゴリズム、ＦＣプロトコルに互換な及び／又は準拠する１つ以上のセキュリティプロトコル、並びに／又は他の及び／若しくは追加の複数の暗号化プロトコルに少なくとも部分的に従って、暗号化される。ここで用いられるように、"パケット"は、少なくとも１つの送り手から、少なくとも１つの受け手に送信される１つ以上の記号及び／又は値のシーケンスを意味する。このような１つ以上の暗号化プロトコルにしたがって、回路８１及びストレージ８２のそれぞれは、回路８１及びストレージ８２のそれぞれから１つ以上のパケットを送信する前に、１つ以上のパケットを暗号化することができ、さらに、１つ以上のパケットを受信した後に、１つ以上のパケットを復号化することができる。
【００３７】
１つ以上のパケット９４及び／又はプロセッサ４１からの信号の受信に少なくとも部分的に応答して、回路８１は、ストレージ８２に信号を送り、及び／又はストレージ８２に暗号化されたメタデータ９６を有する１つ以上のパケットを送信する。これは、ストレージ８２が、図２の動作２１２に示されるように、１つ以上の要求される管理上の動作を実行することをもたらす。例えば、ストレージ８２は、暗号化されたメタデータ９６に従って及び／又は暗号化されたメタデータに具現化されるように構成され、さらに大容量ストレージ８６の１つ以上のロケーション９１に、暗号化されたメタデータ９６の１つ以上の部分を記憶する。したがって、本実施例では、メタデータは、暗号化された状態で、ストレージ８２に記憶される。有利に、これは、ストレージ８２に記憶されたメタデータを、ストレージ８２内の１つ以上の大容量ストレージデバイスに物理的にアクセスする及び／又は取り外す侵入者に分かり難くし、このような侵入者がＲＡＩＤ８４の構成を判断することを妨げる。動作２１２が実行された後、システム１００は、別のリクエスト（例えば、ストレージ８２が１つ以上の付加的な及び／又は他の動作を実行すること）の生成及び発行を待つ。
【００３８】
反対に、動作２１０の結果として、プロセッサ４１が、リクエスト６０に要求される１つ以上の動作は、１つ以上の管理上の動作ではないと判断する場合、プロセッサ４１は、図２の動作２１４に示されるように、１つ以上の要求される動作が、ストレージ８２からデータを読み出す要求を有するかを判断する。動作２１４の結果として、プロセッサ４１が、１つ以上の要求される動作がこのような読み出し要求を有すると判断する場合、プロセッサ４１は、リクエスト６０に指定される及び／又は示される、ストレージ８２内の１つ以上のロケーションを判断するために、リクエスト６０を調べ、そこからデータを読み出す。例えば、リクエスト６０は、ストレージ８２内の１つ以上の論理ブロックアドレス、ストライプ、及び／又はアドレスを指定し及び／又は示し、そこからデータを読み出す。リクエスト６０及びメモリ４３に記憶されるメタデータ内に指定される及び／又は示されるこれら１つ以上のロケーションに、少なくとも部分的に基づいて、プロセッサ４１は、リクエスト６０内に指定される及び／又は示される１つ以上のロケーションを、１つ以上の対応する物理的な及び／又は論理的なロケーション（例えば、１つ以上のストレージデバイス８８Ａ内の１つ以上のロケーション９０）に変換させ、それは実際にストレージ８２で扱われる。プロセッサ４１は、リクエスト６０により読み出されることを要求されるデータの１つ以上のそれぞれの部分に対応する、ストレージ８２に記憶された暗号化されたデータの１つ以上の部分を、１つ以上のロケーション９０から読み出す及び取り出す１つ以上のリクエストを生成し、回路８１に送信する。
【００３９】
プロセッサ４１からのこれら１つ以上の要求の受信に、少なくとも部分的に応答して、回路８１は、ストレージ８２へ、ストレージ８２が１つ以上のロケーション９０から暗号化されたデータのこれら１つ以上の部分を読み出す及び取り出すことを要求する１つ以上のパケットを送信する。これは、ストレージ８２が、図２の動作２１６に示されるように、１つ以上のロケーション９０から、この暗号化されたデータを読み込む及び取り出すことをもたらす。ストレージ８２は、回路８１へ、１つ以上のパケット１１２を送信し、パケット１１２は、暗号化されたデータ１１４の要求される１つ以上の部分を含む。回路８１は、この暗号化されたデータ１１４をプロセッサ４１に送信する。
【００４０】
本実施例では、図２の動作２１８に示されるように、暗号化されたデータ１１４の１つ以上の部分を受信した後、プロセッサ４１は、１つ以上のキー４８及び暗号化されたデータ１１４が以前にプロセッサ４１により暗号化されるのに従った１つ以上の暗号化アルゴリズムに少なくとも部分的に基づいて、暗号化されたデータ１１４の各それぞれの部分を復号化する。動作２２０に示されるように、その後、プロセッサ４１は、生成された復号化されたデータの１つ以上の部分を、リクエスト６０の満足としてユーザに返す。例えば、プロセッサ４１は、復号化さらたデータ１０２のこれら１つ以上の部分を含む１つ以上のパケット９８を、生成し、チップセット１４を介して、ユーザインターフェースシステム１６及び／又はシステムメモリ２１に送信する。動作２１２が実行された後、システム１００は、別のリクエスト（例えば、ストレージ８２が１つ以上の付加的な及び／又は他の動作を実行する）の生成及び発行を待つ。
【００４１】
反対に、動作２１４の結果として、プロセッサ４１が、リクエスト６０に要求される１つ以上の動作が読み出しリクエストを有さないと判断する場合、プロセッサ４１は、リクエスト６０は、ストレージ８２にデータを書き込むリクエストを有すると判断する。プロセッサ４１は、リクエスト６０に指定される及び／又は示される１つ以上のロケーションを判断するためにリクエスト６０を調べ、そのロケーションにリクエスト６０に指定されるデータを書き込む。例えば、リクエスト６０は、ストレージ８２内の１つ以上の論理ブロックアドレス、ストライプ、及び／又はアドレスを指定及び／又は示し、そこへこのようなデータを書き込む。図２の動作２２２に示されるように、リクエスト６０に指定される及び／又は示されるこれら１つ以上のロケーション、メモリ４３に記憶されるメタデータ、及び従来の複数のＲＡＩＤ技術に少なくとも部分的に基づいて、プロセッサ４１は、ストレージ８２に書き込まれる、リクエスト６０に要求されるデータの１つ以上のそれぞれの部分に対応する、暗号化されたデータの１つ以上のそれぞれの部分を書き込む、ストレージ８２内の１つ以上のロケーションを選択する。例えば、本実施例では、動作２２２の部分として、プロセッサ４１は、リクエスト６０に指定される及び／又は示される１つ以上のロケーションを、ストレージ８２内で実際に扱われる１つ以上の対応する物理的な及び／又は論理的なロケーション（例えば、１つ以上のストレージデバイス８８Ａ内の１つ以上のロケーション９０）に変換する。また、動作２２２の部分として、プロセッサ４１は、リクエスト６０に要求されるデータを、ストレージ８２に書き込まれるように、１つ以上のそれぞれのロケーション９０に書き込まれるようなデータの１つ以上のそれぞれの部分に分解する。例えば、ＲＡＩＤ８４に実装される特定のＲＡＩＤレベルに依存して、１つ以上のロケーション９０は、１つ以上のストレージデバイス８８Ａに備えられる２つ以上のストレージデバイス間に分散される複数のロケーションを有する。
【００４２】
図２の動作２２４に示されるように、プロセッサ４１は、リクエスト６０からのデータの１つ以上の部分のそれぞれを、少なくとも部分的に１つ以上のキー４８及び前述された１つ以上の所定の暗号化アルゴリズムに基づいて、暗号化する。その後、プロセッサ４１は、従来の複数のＲＡＩＤ技術を用いて、及び少なくとも部分的にリクエスト６０からのデータの１つ以上の暗号化された部分に基づいて、チェックデータを生成する。ここで用いられるように、"チェックデータ"は、少なくとも部分的に第二のデータに基づき生成される第一のデータを意味し、これから、少なくとも部分的に第二のデータが、再生される。本実施例では、ＲＡＩＤ８４により実装されるＲＡＩＤレベルに基づき、このチェックデータは、ＲＡＩＤパリティデータを含む。ＲＡＩＤ８４に実装される特定のＲＡＩＤレベルに依存して、プロセッサ４１は、１つ以上のロケーション（例えば、１つ以上のストレージデバイス８８Ｎ内の１つ以上のロケーション９２）を選択し、ここに、動作２２６の結果として生成されたチェックデータの１つ以上の部分を書き込む。図１では、１つ以上のロケーション９０及び１つ以上のロケーション９２は、１つ以上のストレージデバイス８８Ａ及び１つ以上のストレージデバイス８８Ｎ内にそれぞれあるように示されるが、ＲＡＩＤ８４内に実装されるＲＡＩＤレベルに依存して、１つ以上のロケーション９０は、複数のストレージデバイス８８Ａ...８８Ｎの幾つか又は全ての間で分散される及び／又は交互配置される複数のロケーションを有し、並びに／又は１つ以上のロケーション９２は、複数のストレージデバイス８８Ａ...８８Ｎの幾つか又は全ての間で分散される及び／又は交互配置される複数のロケーションを有する。例えば、ＲＡＩＤ８４内に実装されるＲＡＩＤレベルがゼロに等しい場合、チェックデータはＲＡＩＤ８４に不在であり、ロケーション９０は、例えば、動作２２４の結果として生成される暗号化されたデータの１つ以上の部分に対応する１つ以上のストライプ（図示されない）の１つ以上のデバイス８８Ａ内の複数のアドレス及び／又は複数のブロックロケーションを有する。ＲＡＩＤ８４内で実装されるＲＡＩＤレベルが１より大きい場合、チェックデータは、パリティデータを有し、複数のロケーション９０及び９２は、例えば、このようなチェックデータ及び／又は暗号化されたデータの１つ以上のストライプ（図示されない）の複数のデバイス８８Ａ...８８Ｎ内の複数のアドレス及び／又は複数のブロックロケーションを有する。あるいは、ＲＡＩＤ８４内で実装されるＲＡＩＤレベルが１に等しい場合（すなわち、ＲＡＩＤ８４は、データミラーリングを実装する）、チェックデータは、このような暗号化されたデータのコピーを有し、これら複数のロケーションは、例えば、このような暗号化されたデータ並びにＲＡＩＤ８４内のそれぞれのミラーされた複数のボリューム内の暗号化されたデータの冗長なコピーの複数のアドレス及び／又は複数のブロックロケーションを有する。
【００４３】
本実施例では、動作２２６の実行の後、プロセッサ４１は、動作２２４の結果として生成される暗号化されたデータの１つ以上の部分を、１つ以上のロケーション９０に書き込み、ＲＡＩＤ８４内で実装されるＲＡＩＤレベルに依存して、動作２２６の結果として生成されるチェックデータの１つ以上の部分を、１つ以上のロケーション９２にまた書き込む１つ以上のリクエストを生成し、回路８１に送信する。プロセッサ４１からのこれら１つ以上のリクエストの受信に、少なくとも部分的に応答して、回路８１は、暗号化されたデータ１０６のこれら１つ以上の部分及び、ＲＡＩＤ８４内に実装されるＲＡＩＤレベルに依存して、チェックデータ１０８のこれら１つ以上の部分を有する１つ以上のパケット１０４を生成し、ストレージ８２に送信する。１つ以上のパケット１０４は、ストレージ８２が暗号化されたデータ１０６のこれら１つ以上の部分を１つ以上のロケーション９０に書き込むことを要求し、ＲＡＩＤ８４内に実装されるＲＡＩＤレベルに依存して、ストレージ８２がチェックデータ１０８のこれら１つ以上の部分を、１つ以上のロケーション９２に書き込むことをまた要求する。図２の動作２２８に示されるように、これは、ストレージ８２が、１つ以上のロケーション９０に暗号化されたデータ１０６のこれら１つ以上のそれぞれの部分を記憶すること、及びＲＡＩＤ８４に実装されるＲＡＩＤレベルに依存して、さらにストレージ８２が、１つ以上のロケーション９２にチェックデータ１０８のこれら１つ以上の部分を記憶することをもたらす。動作２２８が実行された後、システム１００は、別のリクエスト（例えば、ストレージ８２が１つ以上の追加の及び／又は他の動作を実行する）の生成及び発行を待つ。
【００４４】
本実施例では、リクエスト６０で書き込まれることを要求されるデータは、ストレージ８２に書き込まれる１つ以上のストライプに対応する１つ以上の部分に分解され、各１つ以上の部分が、それぞれに暗号化される。有利に、ストレージ８２からのデータの読み出しでアクセスされるデータの量に依存して、これは、１つの大容量ストレージデバイススピンドルのみが、このようなデータ読み出しの結果としてアクセスされることを許可する。これは、リクエスト６０内で書き込まれることを要求されるデータが全体として暗号化され、暗号化されたデータは、全体として、１つ以上のストライプに分解され、ストレージ８２に書き込まれる場合に生じるデータアクセススピードに対し、システム１００のデータアクセススピードを増加させる。なぜなら、これは、データを読み出す及び復号化するために要求される複数の動作の数を増やすからである。
【００４５】
複数の図面には示されていないが、システム１００は、リモートネットワークリンクを介してチップセット１４に通信的に結合されるリモートユーザインターフェースシステムを備え、これは、リモートヒューマンユーザが複数のコマンドを発行すること及び／又はシステム１００の動作をモニタすることを可能にする。このリモートユーザインターフェースシステムの動作は、システム１６の動作と実質的に同じである。
【００４６】
システム１００は、ホットレストア及び／又はリビルド動作を実行できる。例えば、ＲＡＩＤ８４内の機能不全のストレージデバイスの新しいストレージデバイスへのホットプラグ交換に応答して、ストレージ８２は、回路８１に信号を送る。ストレージ８２によるこの信号に応答して、回路８１はプロセッサ４１に信号を送る。本実施例では、ＲＡＩＤ８４内に実装されるＲＡＩＤレベルに依存して、これは、プロセッサ４１が、本実施例の上の教えにより、機能不全のストレージデバイス内のそれぞれのユーザデータ又はチェックデータストライプを含んだ各それぞれの論理的なＲＡＩＤブロックを有した各それぞれのユーザデータ及びチェックデータストライプをＲＡＩＤ８４からを逐次的に読み出すことと、このような読み出しストライプのそれぞれを復号化することと、機能不全のストレージデバイス内のそれぞれのユーザデータ又はチェックデータストライプの暗号化されていないバージョンを再構築するための従来の複数のＲＡＩＤ技術を用いて、再構築されたストライプを暗号化することと、並びに回路８１がストレージ８１が暗号化され再構築されたストライプを新しいストレージデバイスに書き込むことを要求することを要求することとをもたらす。プロセッサ４１はさらに、メモリ４３に記憶されるメタデータ及びストレージ８２に記憶される暗号化されたメタデータを、機能不全のストレージデバイスの取り外し及び新しいストレージデバイス内の再構築された暗号化されたデータ及び／又は複数のパリティストライプの書き込み考慮するために、適切に修正する。
【００４７】
図３への参照とともに、実施例に従って、システム１００内に実行される他の及び／又は追加の動作３００を説明する。図３の動作３０２に示されるように、例えば、システム１００、カード２０、及び／又は回路１１０のリセットの後、タンパ検出回路４２は、１つ以上のキー４８及び／又は１つ以上の認証４６を改ざんする試みが生じたかどうかを検出する。例えば、動作３０２の部分として、従来の複数の技術を用いて、回路４２は、例えば、１つ以上のキー４８及び／又は１つ以上の認証４６などのメモリ４３の複数の内容を不正に変更することを複数の目的として、メモリ４３への物理的なアクセスを得ることを試みる侵入者などによる従来の物理的なタンパ抵抗境界４０の物理的な侵害を検出することができる。また、動作３０２の部分として、境界４０の物理的な侵害の回路４２による検出に少なくとも部分的に応答して、回路４２は、回路４２に有される不揮発性メモリ（図示されない）に物理的な侵害の発生を記録する。加えて、動作３０２の部分として、システム１００、カード２０、及び／又は回路１１０の次のリセットの時に、タンパ検出回路４２は、この不揮発性メモリを、境界４０の物理的な侵害のそのような発生が記録されているかを調べ、回路４２がそのような侵害が発生したと判断した場合、回路４２は、メモリ４３に信号を送る。動作３０４に示されるように、これは、１つ以上のキー４８及び／又は１つ以上の認証４６の消去（例えば、メモリ４３を複数のゼロなどの１つ以上の任意の値で上書きする）をもたらす。有利に、これは、侵入者がストレージ８２の複数の内容を復号化することを本質的に不可能とし、それによってストレージ８２の複数の内容を明瞭に再構築する侵入者の能力を除外する。反対に、回路４２が、境界４０の侵害の発生はこの不揮発性メモリに記憶されていないと判断する場合、回路４２は、メモリ４３の内容を消去することなく、このような侵害のモニタを継続する。
【００４８】
前述の代替として、ストレージ８２による動作の実行のための各リクエストが認証されるかを判断する代わりに、システム１００、カード２０、及び／又は回路１１０の各リセットの後、プロセッサ４１は、次のこのようなリクエストが認証されるかを判断する。プロセッサ４１が、このようなリクエストが認証されると判断する場合、その後のシステム１００、カード２０、及び／又は回路１１０のリセットまで、プロセッサ４１は、その後のこのような複数のリクエストがストレージ８２により実行されることを許可し、それらが認証されるかを判断することはない。
【００４９】
したがって、システムの一実施例は、回路カードスロット及び回路カードスロットに挿入されることができる回路カードを有する回路基板を備える。回路カードは、少なくとも１つのキーに少なくとも部分的に基づいて、ストレージ内の１つ以上のロケーションに記憶される出力データの１つ以上のそれぞれの部分を生成するために、入力データの１つ以上のそれぞれの部分を暗号化できる回路を有する。回路はさらに、出力データの１つ以上のそれぞれの部分に少なくとも部分的に基づいて、ストレージに記憶されるチェックデータを生成でき、及び／又は出力データの１つ以上のそれぞれの部分が、ストレージに有される２つ以上のストレージデバイス間で分散されることを許可するために、１つ以上のロケーションを選択することができる。
【００５０】
本実施例の回路はさらに、少なくとも１つのキーに少なくとも部分的に基づいて、出力データの１つ以上のそれぞれの部分を生成するために、ストレージからの入力データの１つ以上のそれぞれの部分を復号化できる。回路はさらに、ストレージに記憶されるチェックデータを生成すること及び／又はストレージに有される複数のデバイスからの入力データの１つ以上のそれぞれの部分を取り出すことができる。チェックデータは、入力データの１つ以上のそれぞれの部分に少なくとも部分的に基づいて、生成される。
【００５１】
たとえ侵入者がストレージに有される複数のストレージデバイスに物理的にアクセスし、取り外しても、有利に、本実施例のこれら複数の特徴は、侵入者が本実施例のストレージに記憶されるデータを再構築することができることを防ぐ。有利に、これは、本実施例のストレージに記憶されるデータを、従来技術により可能なものより安全にする。
【００５２】
ここで用いられている複数の用語及び複数の表現は、記述に関する制限ではなく諸条件として用いられ、このような複数の用語及び表現の使用の中に、示され及び述べられる複数の特徴のどのような均等（又はその複数の部分）も除外することを意図せず、複数の請求項の範囲内で多くの修正が可能なことがわかる。
【００５３】
追加の複数の修正もまたできる。したがって、複数の請求項は、全てのこのような複数の均等物を網羅することを意図される。
【図１】
2007510201.tif 000003
【図２】
2007510201.tif 000004
【図３】
2007510201.tif 000005
【国際調査報告】
2007510201.tif 000006
2007510201.tif 000007