(57)【特許請求の範囲】
【請求項１】
共有されるネットワーク化された環境においてデータを記憶するための方法（１００）であって、前記共有されるネットワーク化された環境（６１０）は、共有されるネットワーク化されたストレージと共有されるネットワーク化されたストレージ・アクセス・インターフェース（６０２）の間のセキュリティ層（６１２）を備え、前記方法（１００）は、
前記セキュリティ層（６１２）を含む前記共有されるネットワーク化されたストレージをキー・ボルト・システム（６０４）から物理的に分離すること（１０２）と、
記憶要求を、前記共有されるネットワーク化されたストレージに記憶されるべきデータと一緒に、かつ機密性格付けと一緒に受信すること（１０４）であって、前記記憶要求は、データおよび前記機密性格付けと一緒に、前記共有されるネットワーク化されたストレージ・アクセス・インターフェース（６０２）を介して前記セキュリティ層（６１２）によって受信される、前記受信すること（１０４）と、
前記キー・ボルト・システム（６０４）による、前記セキュリティ層（６１２）の要求が行われると、記憶されるべき前記データ、および前記機密性格付けをデータ・コンテナ（６０８、９０４）の中に暗号化すること（１０６）と、
前記共有されるネットワーク化されたストレージをクラウド区域に分類すること（１０８）であって、各クラウド区域に信頼レベルが割り当てられる、前記分類すること（１０８）と、
前記共有されるネットワーク化されたストレージの前記クラウド区域のうちの１つに前記データ・コンテナ（６０８、９０４）を記憶して（１１０）、前記クラウド区域のうちの前記１つの前記信頼レベルが前記機密性格付けに対応するようにすることと
を含む方法（１００）。
【請求項２】
前記記憶要求を前記受信することは、前記セキュリティ層（６１２）を許可することも含む、請求項１に記載の方法（１００）。
【請求項３】
前記記憶要求を前記受信することは、
前記要求の送信者（６０６）を許可することも含む、請求項１または２に記載の方法（１００）。
【請求項４】
前記セキュリティ層（６１２）と前記キー・ボルト・システム（６０４）の間で送信されるメッセージは、暗号化される、請求項１ないし３のいずれかに記載の方法（１００）。
【請求項５】
前記セキュリティ層（６１２）から伝送可能である、または前記セキュリティ層（６１２）によって受信可能である、あるいはその両方であるメッセージは、暗号化される、請求項１ないし４のいずれかに記載の方法（１００）。
【請求項６】
前記キー・ボルト・システム（６０４）により、前記記憶要求が、構成可能なポリシーを遵守することを、
前記セキュリティ層（６１２）が、通信に関して信頼されること、および前記セキュリティ層（６１２）と前記キー・ボルト・システム（６１４）の間の伝送チャネルが証明書ベースの暗号化によってセキュリティ保護されていることを検証すること、ならびに
肯定的に検証された場合、記憶要求者情報、および記憶されるべき前記データについてのメタデータ、前記セキュリティ層（６１２）の署名、および前記記憶要求に関する有効期限を要求する許可を備える転送チケットを作成すること、および前記転送チケットに署名してから、前記転送チケットを前記セキュリティ層（６１２）に返送すること
によって検証することをさらに含む、請求項１ないし５のいずれかに記載の方法（１００）。
【請求項７】
前記セキュリティ層（６１２）によって前記キー・ボルト・システム（６１４）から前記転送チケットが受信されると、
記憶されるべき前記データの前記暗号化を求める前記要求より前に、前記キー・ボルトの署名、および前記セキュリティ層（６１２）自らの署名を検証することであって、前記データの前記暗号化を求める前記要求は、前記転送チケットと、記憶されるべき前記データとを備える、前記検証することをさらに含む、請求項６に記載の方法（１００）。
【請求項８】
前記キー・ボルト・システム（６０４）による前記転送チケットの前記検証を受信すると、
前記転送チケットの署名、および前記記憶要求に関する有効期限を検証すること、
前記転送チケットに埋め込まれた、前記セキュリティ層（６１２）の署名が、記憶されるべき前記データのファイル内容の前記暗号化と合致するかどうかを検証すること、ならびに
記憶されるべき前記データのファイル識別情報が、転送されるべき実際のファイルと合致するかどうかを検証すること
をさらに含む、請求項７に記載の方法（１００）。
【請求項９】
前記クラウド・ストレージからデータを抽出することを、
前記キー・ボルト・システム（６０４）により、前記データの前記機密性格付けを使用して前記要求者が信頼されるターゲットであると判定することによって行うことも含む、請求項１ないし８のいずれかに記載の方法（１００）。
【請求項１０】
前記クラウド・ストレージの第１のクラウド区域から第２のクラウド区域に、記憶されたデータを転送することを、
前記第２のクラウド区域の前記機密性格付けが、対応する前記信頼レベルと合致することを検証すること、および
前記第１のクラウド区域から前記第２のクラウド区域への記憶されたデータの前記転送を拒否することによって行うこと
も含む、請求項１ないし９のいずれかに記載の方法（１００）。
【請求項１１】
前記機密性格付けは、記憶されるべき前記データの内容に基づいて決定される、請求項１ないし１０のいずれかに記載の方法（１００）。
【請求項１２】
共有されるネットワーク化された環境（６１０）においてデータを記憶するためのストレージ・サブシステムであって、前記共有されるネットワーク化された環境（６１０）は、共有されるネットワーク化されたストレージと共有されるネットワーク化されたストレージ・アクセス・インターフェース（６０２）の間のセキュリティ層（６１２）を備え、前記ストレージ・サブシステムは、
キー・ボルト・システム（６０４）から物理的に分離された前記セキュリティ層（６１２）を含む共有されるネットワーク化されたストレージであって、クラウド区域を備え、前記クラウド区域のそれぞれは、割り当てられた信頼レベルを有する、前記共有されるネットワーク化されたストレージと、
記憶要求を、前記共有されるネットワーク化されたストレージに記憶されるべきデータと一緒に、かつ機密性格付けと一緒に受信するように適応させられた受信ユニット（７０２）であって、前記記憶要求は、データおよび前記機密性格付けと一緒に、前記共有されるネットワーク化されたストレージ・アクセス・インターフェース（６０２）を介して前記セキュリティ層（６１２）によって受信される、前記受信ユニット（７０２）とを備え、
前記キー・ボルト・システム（６０４）は、前記セキュリティ層（６１２）の要求が行われると、記憶されるべき前記データ、および前記機密性格付けをデータ・コンテナ（６０８、９０４）の中に暗号化するように適応させられ、前記ストレージ・サブシステムはさらに、
前記クラウド・ストレージの前記クラウド区域のうちの１つに前記データ・コンテナ（６０８、９０４）を記憶して、前記クラウド区域のうちの前記１つの前記信頼レベルが前記機密性格付けに対応するようにするために適応させられたストレージ構成要素（７０４）を備える、ストレージ・サブシステム。
【請求項１３】
共有されるネットワーク化された環境（６１０）においてデータを記憶するためのストレージ・サブシステムを備える、クラウド・ストレージ・システム。
【請求項１４】
請求項１ないし１１のいずれか１項の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【請求項１５】
請求項１４に記載のコンピュータ・プログラムを記録したコンピュータ読み取り可能の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、共有されるネットワーク化された環境においてデータを記憶するための方法に関する。本発明は、共有されるネットワーク化された環境においてデータを記憶するためのストレージ・サブシステム、コンピューティング・システム、データ処理プログラム、およびコンピュータ・プログラム製品にさらに関する。
【背景技術】
【０００２】
ますます多くの企業が、企業の好ましい情報技術消費方法として、すなわち、ソフトウェアのためだけではなく、インフラストラクチャ構成要素のために、さらにデータの記憶のためにもクラウド・コンピューティングに頼っている。しかし、「クラウド」は、均質なそれなりに匿名の領域とは見なされ得ない。異なるクラウド・ストレージ・プロバイダから、異なる契約条件およびサービス・レベルの下でストレージ容量が利用可能であり得る。一部のプロバイダは、１つの司法権の境界内でデータ・ストレージを保証することが可能であり、他のプロバイダは、まったく保証を与えない可能性がある。
【０００３】
今日のクラウド環境において、データは、異なるインスタンス間で、異なるデータ・プール間で、または異なるストレージ・ロケーション間で、あるいはすべての国と国の間でさえ移行させられ得る。この移行は、通常の動作の一環として、例えば、データの同期として、ユーザ対話として、またはクラウド・インフラストラクチャに対する攻撃としてさえ生じ得る。これらの対話のすべてが、１つの中心的リスクをなす。すなわち、以下のとおりである。
【０００４】
機密のデータまたは慎重な扱いを要するデータあるいはその両方が、セキュリティ保護された環境からセキュリティ保護されていない環境に移動されて、そのデータをより容易にアクセス可能にし、したがって、潜在的にそれを（敵対的な）外部ソースにさらす可能性がある。
【０００５】
クラウド環境においてデータを記憶するための方法と関係するいくつかの開示が存在する。
【０００６】
米国特許第２０１４０１６４７７４Ａ１号明細書が、様々なプロセスを含み得る暗号化ベースのデータ・アクセス環境を開示する。一例において、デバイスが、暗号化されたデータを解読するためのユーザ認証要求を、その暗号化されたデータを記憶するデータ・ストレージ・サーバに送信することが可能である。すると、コンピューティング・デバイスは、ユーザの認証要求に関連付けられた検証トークンを受信することが可能である。検証トークンは、ユーザがドメインに対して認証されることを示すことが可能である。
【０００７】
米国特許第８２０５０７８Ｂ２号明細書が、データ処理システムにおいてファイルを管理するための方法、装置、およびコンピュータ命令を開示する。ファイルに関する属性が、特殊な名称を有するものとして指定される。特殊な名称を有する属性を有するファイルは、例えば、そのファイルを遠隔媒体にコピーすること、そのファイルを印刷すること、またはそのファイルを、ネットワークを介して送信することなどの動作を実行する際、オペレーティング・システムによって、他のファイルとは異なる様態で処理される。
【０００８】
一連の欠点が、従来の技術に関連し、例えば、自動的なセキュリティがまったく提供されていない可能性がある。データは、関連付けられたデータ・ストレージ領域が危険にさらされている、もしくは物理的に盗まれてさえいる場合、またはデータが危険にさらされている場合、データをクラウド環境に送信する前に、クライアントによって保護されなければならない。
【０００９】
暗号化は、クライアント・システムが様々な暗号化能力を有する可能性があるため、さらに暗号化が、ユーザによってクラウド・ストレージ環境に対するデータ・アップロード中に使用されることが単に忘れられている可能性があるため、実施されること、および管理されることが困難であり得る。また、異なる信頼性のクラウド区域の間でデータを移動している際、ユーザは、データが新たなロケーションに移動され得るかどうかを、そのロケーションが不十分な保護を有する、または信頼されない地理的な環境もしくは国においてホストされている場合に考慮に入れる必要がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第２０１４０１６４７７４Ａ１号明細書
【特許文献２】米国特許第８２０５０７８Ｂ２号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、クラウド環境においてデータのセキュリティ保護されたストレージを可能にし、同時に、クライアント側で暗号化要件に対処することを要求しないソリューションを提供する必要性が存在し得る。
【課題を解決するための手段】
【００１２】
この必要性は、独立クレームによる、共有されるネットワーク化された環境においてデータを記憶するための方法、共有されるネットワーク化された環境においてデータを記憶するためのストレージ・サブシステム、コンピューティング・システム、データ処理プログラム、およびコンピュータ・プログラム製品によって対処され得る。
【００１３】
一態様によれば、クラウド環境においてデータを記憶するための方法が提供され得る。共有されるネットワーク化された環境は、共有されるネットワーク化されたストレージと共有されるネットワーク化されたストレージ・アクセス・インターフェースの間のセキュリティ層を備えることが可能である。方法は、セキュリティ層を含む共有されるネットワーク化されたストレージをキー・ボルト・システム（key vault system）から物理的に分離することと、記憶要求を、共有されるネットワーク化されたストレージに記憶されるべきデータと一緒に、かつ機密性格付けと一緒に受信することであって、記憶要求は、データおよび機密性格付けと一緒に、共有されるネットワーク化されたストレージ・アクセス・インターフェースを介してセキュリティ層によって受信される、受信することを含むことが可能である。
【００１４】
方法は、キー・ボルト・システムによる、セキュリティ層の要求が行われると、記憶されるべきデータ、および機密性格付けをデータ・コンテナの中に暗号化することと、共有されるネットワーク化されたストレージをクラウド区域に分類することであって、各クラウド区域に信頼レベルが割り当てられる、分類することと、クラウド・ストレージのクラウド区域のうちの１つにデータ・コンテナを記憶して、クラウド区域のうちのその１つの信頼レベルがその機密性格付けに対応するようにすることをさらに含むことが可能である。
【００１５】
別の態様によれば、共有されるネットワーク化された環境においてデータを記憶するためのストレージ・サブシステムが提供され得る。共有されるネットワーク化された環境は、共有されるネットワーク化されたストレージと共有されるネットワーク化されたストレージ・アクセス・インターフェースの間のセキュリティ層を備えることが可能である。ストレージ・サブシステムは、キー・ボルト・システムから物理的に分離されたセキュリティ層を含む共有されるネットワーク化されたストレージであって、クラウド区域を備え、クラウド区域のそれぞれは、割り当てられた信頼レベルを有する共有されるネットワーク化されたストレージと、記憶要求を、クラウド・ストレージに記憶されるべきデータと一緒に、かつ機密性格付けと一緒に受信するように適応させられた受信ユニットであって、記憶要求は、データおよび機密性格付けと一緒に、共有されるネットワーク化されたストレージ・アクセス・インターフェースを介してセキュリティ層によって受信される受信ユニットとを備えることが可能である。
【００１６】
キー・ボルト・システムは、セキュリティ層の要求が行われると、記憶されるべきデータ、および機密性格付けをデータ・コンテナの中に暗号化するように適応させられ得る。
【００１７】
さらに、方法は、クラウド・ストレージのクラウド区域のうちの１つにデータ・コンテナを記憶して、クラウド区域のうちのその１つの信頼レベルがその機密性格付けに対応するように適応させられ得るストレージ構成要素を備え得る。
【００１８】
別の態様によれば、クラウド環境においてデータを記憶するためのストレージ・サブシステムを備える共有されるネットワーク化されたストレージ・システムが提供され得る。
【００１９】
共有されるネットワーク化されたストレージは、クラウド環境におけるクラウド・ストレージまたはストレージ・システムと見なされ得ることが注目され得る。
【００２０】
この説明の脈絡において、以下の規約、用語、または表現、あるいはその組合せが使用され得る。
【００２１】
「クラウド環境」という用語は、クラウド・コンピューティングの脈絡において使用され得る。本明細書において、クラウド・ストレージまたはクラウド・ストレージ・サービスについても数回、述べられる。そのようなサービスは、クラウド・コンピューティング全般に属し、クラウド・コンピューティングは、最小限の管理作業またはサービス・プロバイダとのやりとりで迅速にプロビジョニングが行われて、リリースされ得る構成可能なコンピューティング・リソース（例えば、ネットワーク、サーバ、アプリケーション、およびサービス）、特にストレージまたはネットワーク化されたストレージの共有されるプールに対する便利なオンデマンドのネットワーク・アクセスを可能にするためのモデルである。このクラウド・モデルは、利用可能性を促進し、５つの基本的特徴、３つのサービス・モデル、および４つの展開モデルから成る。共有されるネットワーク化されたストレージは、クラウド環境において展開され得る。
【００２２】
クラウド・コンピューティングの基本的特徴は、以下を備える。すなわち、
（ｉ）オンデマンド・サービス  消費者が、各サービス・プロバイダとの対人的なやりとりを必要とすることなしに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力のプロビジョニングを一方的に行うことができる。
（ｉｉ）幅広いネットワーク・アクセス  能力が、ネットワークを介して利用可能であり、異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム（例えば、モバイル電話、ラップトップ、ＰＤＡ）による使用を促進する標準の機構を介してアクセスされる。
（ｉｉｉ）リソース・プーリング  プロバイダのコンピューティング・リソースが、消費者デマンドに従って動的に割り当てられ、再割当てされる様々な物理リソースおよび仮想リソースを有するマルチテナント・モデルを使用して複数の消費者にサービスを提供するようにプールされる。顧客が、一般に、提供されるリソースの厳密なロケーションを支配することも、知ることもないが、抽象性のより高いレベル（例えば、国、州、またはデータ・センタ）でロケーションを指定することができ得るという点でロケーション独立の感覚が存在する。リソースの例は、ストレージ、処理、メモリ、ネットワーク帯域幅、および仮想マシンを含む。
（ｉｖ）迅速な弾力性  能力が、迅速かつ弾力的に、一部の事例において自動的にプロビジョニングされて、急速にスケールアウトが行われ、迅速にリリースされて急速にスケールインが行われる。消費者には、プロビジョニングのために利用可能な能力は、しばしば、無限であるように見え、任意の時点で任意の量で購入され得る。
（ｖ）測定されるサービス  クラウド・システムが、サービスのタイプ（例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント）に適切な抽象性の何らかのレベルにおける測定能力を活用することによって、リソース使用を自動的に制御すること、および最適化することを行う。リソース使用が、監視され、制御され、報告されて、利用されるサービスのプロバイダと消費者の両方にトランスペアレントであるようにすることが可能である。
【００２３】
使用されるクラウド・コンピューティングに関するサービス・モデルは、以下を備える。すなわち、
（ｉ）クラウド・ソフトウェア・アズ・ア・サービス（ＳａａＳ）  消費者に提供される能力は、クラウド・インフラストラクチャ上で実行されているプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ特有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力さえ含む基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしない。
（ｉｉ）クラウド・プラットフォーム・アズ・ア・サービス（ＰａａＳ）  消費者に提供される能力は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびプログラミング・ツールを使用して作成された消費者により作成されたアプリケーションまたは獲得されたアプリケーションを展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、展開されたアプリケーション、および、場合により、環境構成をホストするアプリケーションを支配する。
（ｉｉｉ）クラウド・インフラストラクチャ・アズ・ア・サービス（ＩａａＳ）  消費者に提供される能力は、消費者が、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開すること、および実行することができる、処理、ストレージ、ネットワーク、および他の基本的コンピューティング・リソースをプロビジョニングすることである。消費者は、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、オペレーティング・システム、ストレージ、展開されるアプリケーション、および、場合により、選択されたネットワーキング構成要素（例えば、ホスト・ファイアウォール）の限られた制御を支配する。
【００２４】
クラウド・コンピューティングに関する展開モデルは、以下を備える。すなわち、
（ｉ）プライベート・クラウド  クラウド・インフラストラクチャは、組織によってのみ運用される。クラウド・インフラストラクチャは、組織またはサードパーティによって管理されることが可能であり、敷地内に存在しても、または敷地外に存在してもよい。
（ｉｉ）コミュニティ・クラウド  クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される関心（例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織またはサードパーティによって管理されることが可能であり、敷地内に存在しても、または敷地外に存在してもよい。
（ｉｉｉ）公共クラウド  クラウド・インフラストラクチャは、公衆または大きい業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
（ｉｖ）ハイブリッド・クラウド  クラウド・インフラストラクチャは、独自のエンティティのままであるが、データ移植性およびアプリケーション移植性を可能にする標準化された技術または専有の技術（例えば、クラウド間の負荷分散のためのクラウド・バースティング（Cloud bursting））によって一緒に結び付けられた２つ以上のクラウド（プライベート、コミュニティ、または公共）の複合体である。
【００２５】
クラウド・ソフトウェアは、ステートレス性（statelessness）、低結合、モジュール性、および意味的相互運用性に焦点を当ててサービス指向であることによって、クラウド・パラダイムを十分に活用することが注目され得る。
【００２６】
「クラウド・ストレージ」という用語は、前述の意味でクラウド・ストレージ・サービスを提供する任意の種類のストレージ・システムのようなストレージ構成要素を表すことが可能である。
【００２７】
「セキュリティ層」という用語は、セキュリティ保護された様態でクラウド・ストレージ・サービスに対するアクセスを可能にする構成要素を表すことが可能である。セキュリティ層は、ユーザ／クライアントが、クラウド・ストレージ・サービスに接続されるようにログインすることが可能な、クライアントとクラウド・ストレージ・アクセス・インターフェースの間でトランスペアレントである構成要素であることが可能である。セキュリティ層は、一連のセキュリティ機能および機密性機能を満たす。セキュリティ層は、ハードウェア構成要素として実装されても、ソフトウェア層として実装されてもよい。
【００２８】
「共有されるネットワーク化されたストレージ・アクセス・インターフェース」または「クラウド・ストレージ・アクセス・インターフェース」という用語は、クラウド環境のクラウド・ストレージ・サービスと連絡をとるためのクライアントのためのコンタクト・ポイントまたはアプリケーション・プログラミング・インターフェースを表すことが可能である。
【００２９】
「キー・ボルト・システム」という用語は、クラウド・ストレージ・アクセス・インターフェースを実行するシステムから物理的に分離され得るとともに、データのストレージ・ロケーションからも物理的に分離され得るシステムを表すことが可能である。キー・ボルト・システムは、暗号化能力および解読能力、アクセス・ポリシー・ガバナ（access policy governor）、ならびにキー・ストレージを備えることが可能である。キー・ボルト・システムは、提案される方法の脈絡においてサービスを提供することに役立ち得る。
【００３０】
また、キー・ボルト・システムは、クラウド区域の残りの部分から物理的にも、論理的にも隔離された環境におけるマシンおよびシステムのセットを表すことも可能である。
【００３１】
「機密性格付け」という用語は、データが関連付けられた機密性のレベルを表すことが可能である。最高の機密性格付けは、利用可能な最高のセキュリティ標準が、関係するデータを保護するように適用され得ることを表すことが可能である。最低の機密性格付けは、可能なすべての保護機構が、データを保護するように適用されるとは限らない可能性があることを示すことが可能である。機密性格付けと関係するセキュリティ効果と関連する費用の間にトレードオフが存在し得る。
【００３２】
「クラウド区域」という用語は、ストレージ・システムが物理的に、または論理的に位置付けられていることが可能な区域を表すことが可能である。クラウド・ストレージ・プロバイダが、例えば、様々な国において複数のストレージ・システムを実行することが可能である。各国に、例えば、異なる区域が割り当てられることが可能である。しかし、ストレージ・システムを分類する他のオプションも存在し得る。１つの様態は、ストレージ・システムが位置付けられていることが可能なデータ・センタの物理的セキュリティであり得る。クラウド・ストレージ・サービスのストレージ・システムを分類する別の様態は、或る国内法の下で運用されるデータ・センタにおけるストレージ・システムをローカルでグループ化することであり得る。他のオプションも可能である。唯一の制約は、同一のクラウド区域に属するストレージ・システムが、許可されないスタッフのアクセスに関してセキュリティの共通理解を共有することである。
【００３３】
「信頼レベル」という用語は、特定のクラウド区域のストレージ・サービスの或るセキュリティ格付けを表すことが可能である。異なるクラウド区域は、異なる信頼レベルを有することが可能である。より高い信頼レベルは、記憶されたデータが異なる脆弱性を有し得ること、すなわち、データが、異なるセキュリティ・レベルに従って記憶され得ることを表すことが可能である。
【００３４】
「アクセス・ガバナ」という用語は、キー・ボルト・システム構成要素に対する望ましくないファイル・アクセス要求を抑制することが可能なシステムを表すことが可能である。アクセス・ガバナは、証明書および関連付けられたキーを作成することと検証することの両方を行うことができる認定権限を表すことも可能である。アクセス・ガバナは、「アクセス・ポリシー・ガバナ」として記載されることも可能である。アクセス・ガバナの責任は、新たなターゲットの信頼性およびセキュリティ、ならびにクライアントの悪意（例えば、大量の、見たところランダムな要求するファイル）を示すいくつかのデータ・アクセス・パターンが検出されているかを検査することの両方の態様の下で、データが、データの現在のストレージ・ロケーションから新たなターゲット・ストレージ・ロケーションに転送され得るかどうかを検査することをさらに含み得る。
【００３５】
「キー・ストレージ」という用語は、キー・ボルト・システムの別の構成要素を表すことが可能である。キー・ストレージは、識別子に関連付けられた暗号化キーのデータ・ストレージを表すことが可能である。このキー・ストレージは、新たなファイルがキー・ボルト・システムによって暗号化されていて、ファイルの一意の暗号化キーおよび識別子として記憶され得るときにはいつでも使用され得る。また、キー・ストレージは、所与のファイル識別子に関するキーが取り出され得る場合に解読のために使用されることも可能である。
【００３６】
キー・ストレージは、キー・ボルト・システムのアクセス・ガバナおよび暗号化／解読ユニットを相手にした通信に関する接続において、検証されていないキー・トランザクションとセキュリティ保護されたキー・トランザクションの両方に限定され得る。
【００３７】
「暗号化／解読ユニット」という用語は、１つまたは複数の標準化された仮想マシン上に収容され得る暗号化／解読システムを表すことが可能である。暗号化／解読ユニットのアレイの各暗号化／解読ユニットが、新たなファイルの暗号化、およびそれぞれのキーの生成、ならびに既存のキーを用いた解読に役立ち得る。暗号化／解読ユニットは、着信する要求を扱うのにキー・ボルト・システム・インターフェースと通信し、要求を検証するのにアクセス・ガバナと通信し、キーを記憶すること、および取り出すことを行うのにキー・ストレージと通信することができる。暗号化／解読ユニットは、暗号化作用または解読作業あるいはその両方をサポートする必要なソフトウェアおよびハードウェアを備えることが可能であり、既存の市販の製品およびオープン・ソースの製品を使用することが可能である。
【００３８】
目立たない関連する暗号化／解読管理システムは、構成可能な数の暗号化／解読ユニットが、システムがアイドルである場合にリソースを解放しながら、必要に応じてＶＭ（仮想マシン）の数を拡大縮小することによって、着信する要求に対処可能にすることができることを確実にし得る。暗号化／解読管理システムは、構成可能な量の暗号化／解読要求の後に暗号化／解読ユニットを破棄して、またはロールバックして、暗号化ソフトウェア／暗号化ハードウェアにおける情報リーク／メモリ・リークによる情報残余の偶然の汚染を回避し、その一方で、前のリサイクル以降、最大限の最新の処理に、活用される暗号化／解読ユニットが与える影響を低減することも可能である。
【００３９】
「データ・コンテナ」という用語は、異なる種類のデータをセキュリティ保護された様態で記憶するように適応させられた論理ストレージ単位、例えば、ファイルを表すことが可能である。この場合、データ・コンテナは、記憶されるべきデータとともに、そのデータの機密性格付けを備えることが可能である。データ、および関連する機密性格付けは、データ・コンテナ内で暗号化され得る。
【００４０】
クラウド環境においてデータを記憶するための提案される方法は、一連の利点を提供することが可能である。すなわち、
【００４１】
記憶されたデータは、静止時にセキュリティ保護されており、すなわち、データは、データがクラウド・ストレージ・システムに記憶されている場合、セキュリティ保護されており、データが動いている場合にもやはり、セキュリティ保護されている。「動いている」とは、データが、クラウド・ストレージ・アクセス・インターフェースからストレージ・システムに、または或るストレージ・システムから別のストレージ・システムに転送され得ることを表すことが可能である。また、このことは、データが或るクラウド区域から別のクラウド区域に移動され得る場合にも当てはまり得る。
【００４２】
別の利点は、データが機密性格付けに従って記憶されるという事実に見ることが可能である。このことは、ユーザがデータをクラウド・ストレージ環境に送信することが可能になるのに先立って、ユーザのデータの重要性について考えるようユーザを動機付けることが可能である。異なる機密性格付けは、ストレージ・サービスに関して異なる価格ポイントを有することが可能である。このため、セキュリティと金銭的論拠の間でトレードオフが行われ得る。データが、企業コンテキストにおいて関連付けられた値を得ることが可能である。
【００４３】
同様に、記憶されたデータを、そのデータ自体より低い機密性格付けを有するクラウド区域に再配置することが防止され得る。また、データが、データ管理規則に従って扱われ得ることが確実にされることも可能である。
【００４４】
キー・ボルト・システムの使用により、漏えいした、盗まれた、またはセキュリティ保護されていないロケーションに再配置された可能性があるデータを強制的に役に立たなくさせ得ることが保証されることも可能である。
【００４５】
最後となるが重要なこととして、記憶されたデータは、必要な場合、遡及的な再配置、再暗号化、およびアクセス特権の取消しを受けることが可能である。
【００４６】
これらの利点のすべては、クラウド環境におけるデータのセキュリティ保護された記憶のためにクライアント側からの活動がまったく要求されないことが可能であるという事実に基づき得る。さらに、クライアント側で、クライアント側の暗号化キー管理はまったく要求されないことが可能である。同時に、記憶されたデータとキー管理は、完全に分離され得る。
【００４７】
方法の一実施形態によれば、記憶要求を受信することは、特にアクセスするクライアント側から、セキュリティ層を許可することを含むことも可能である。このことは、クラウド・ストレージ・アクセス・インターフェースを介してクライアントとセキュリティ層の間で信頼される通信が構築され得ることを確実にすることが可能である。許可されていないセキュリティ層が、記憶されるべきデータを受信することは可能でない。
【００４８】
本発明の関連する実施形態によれば、記憶要求を受信することは、セキュリティ層による、要求の送信者、特にクライアントを許可することを含むことが可能である。このことは、要求者と通信の受信者が、セキュリティの意味で互いを信頼することが可能であることを確実にし得る。
【００４９】
方法のさらなる実施形態によれば、セキュリティ層とキー・ボルト・システムの間で送信されるメッセージは、暗号化され得る。また、この態様は、役立ち得る非対称プロトコルまたは対称プロトコルの完全なシステム公開キー／秘密キー技法のセキュリティおよび信頼性を強化する。行き来させられるメッセージは、記憶されるべきデータを備えることが可能である。このため、それらのメッセージは、暗号化され得る。
【００５０】
方法の強化された実施形態によれば、セキュリティ層によって、特に外部ソース、すなわち、クライアントに伝送可能であるメッセージ、または外部ソース、すなわち、クライアントから受信可能なメッセージ、あるいはその両方は、暗号化され得る。また、この特徴は、システム全体のセキュリティ・レベルを高める。このため、クラウド環境において記憶されるべきデータを含むこれらのメッセージも、クラウド・ストレージ・アクセス・インターフェースを介してクライアント・システムからセキュリティ層に向かう際に暗号化され得る。
【００５１】
方法の一実施形態は、キー・ボルト・システムによる、クライアントの記憶要求が、構成可能なポリシーを遵守することが可能であることを検証することを含み得る。そのようなポリシーは、キー・ボルト・システムのアクセス・ガバナによって検証され得る。それらのポリシーは、いずれのユーザが、何を、どれだけ、どのくらいの日数、どのような内容を伴って記憶することを許されるかなどについての規則を備え得る。このことは、特にキー・ボルト・システムにより、セキュリティ層が通信に関して信頼され得ること、およびセキュリティ層とキー・ボルト・システムの間の伝送チャネルが証明書ベースの暗号化によってセキュリティ保護されていることを検証することによって実現され得る。肯定的に検証された場合、特に要求の送信者からの許可を備える転送チケットが作成されて、記憶要求者情報を要求することが可能である。記憶要求者情報は、記憶要求の発信元（要求者）についての情報であり得る。さらに、記憶されるべきデータについてのメタデータ、ならびにセキュリティ層の署名、および記憶要求に関する有効期限が要求され得る。
【００５２】
次に、転送チケットに、特にアクセス・ガバナによって、転送チケットがセキュリティ層に返送され得るようになる前に署名が行われることが可能である。
【００５３】
さらなる強化された実施形態によれば、方法は、キー・ボルト・システムから、特にアクセス・ガバナから、セキュリティ層によって転送チケットが受信されると、キー・ボルトの署名を検証すること、ならびに肯定的な結果の場合、特に転送チケットの一部としてのセキュリティ層自らの署名を検証することを、記憶されるべきデータの暗号化を求める要求の前に、含むことが可能である。
【００５４】
データの暗号化を求める要求は、転送チケットと、記憶されるべきデータとを備えることが可能である。暗号化は、キー・ボルト・システムの一部であり得る暗号化ユニットによって実行され得る。
【００５５】
方法のさらなる実施形態は、キー・ボルト・システムによる転送チケットの検証、すなわち、キー・ボルト・システムの暗号化／解読を受信すると、転送チケットの署名、および記憶要求に関する有効期限を検証すること、および転送チケットに埋め込まれたセキュリティ層の署名が、記憶されるべきデータのファイル内容の暗号化と合致し得るかどうかを検証することをさらに含み得る。さらに、この実施形態は、記憶されるべきデータのファイル識別情報が、転送されるべき実際のファイルと合致し得るかどうかを検証することを含むことが可能である。この特徴は、システム全体のセキュリティを実質的に強化することが可能である。
【００５６】
方法のさらなる実施形態は、キー・ボルト・システムにより、要求者が、データの機密性格付けに従って信頼されるターゲットであると判定することによって、クラウド・ストレージからデータを抽出することを含むことが可能である。このため、記憶されたデータは、知られていない要求者に戻されるように配信される可能性がない。
【００５７】
方法の有利な実施形態によれば、記憶されたデータは、第１のクラウド区域から第２のクラウド区域に、例えば、プライベート・クラウド環境から公共クラウド環境に、または或る国、例えば、ドイツにおけるクラウド・ストレージから別の国、例えば、米国に転送され得る。このことは、第２のクラウド区域の機密性格付けが、相応するように信頼レベルと合致し得ることを検証すること、および第１のクラウド区域から第２のクラウド区域への記憶されたデータの転送を拒否することによって実現され得る。この機構は、或る機密性格付けのデータが、要求される信頼性を有しないクラウド区域に記憶され得ないことを保証することが可能である。
【００５８】
方法のさらなる有利な実施形態によれば、機密性格付けは、記憶されるべきデータの内容に基づいて決定され得る。この決定は、キー・ボルト・システムによって実行され得る。このことは、機密性格付けの自動的決定が実現され得るという利点を有する。手動の対話は、まったく要求されないことが可能である。
【００５９】
さらに、実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用されるようにプログラム・コードをもたらすコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることが可能である。この説明の目的に関して、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、命令実行装置、または命令実行デバイスによって、またはそれに関連して使用されるようにプログラムを記憶するため、通信するため、伝搬させるため、またはトランスポートするための手段を包含し得る任意の装置であることが可能である。
【００６０】
媒体は、伝搬媒体に関する電子システム、磁気システム、光システム、電磁システム、赤外線システム、または半導体システムであることが可能である。コンピュータ可読媒体の例は、半導体メモリもしくはソリッドステート・メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、剛体磁気ディスク、および光ディスクを含み得る。光ディスクの現在の例は、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読取り／書込み（ＣＤ−Ｒ／Ｗ）、ＤＶＤ、およびＢｌｕ−ｒａｙ  Ｄｉｓｃ（Ｒ）を含む。
【００６１】
また、本発明の実施形態は、様々な主題に関連して説明されていることに留意されたい。特に、いくつかの実施形態は、方法タイプのクレームに関連して説明されている一方で、他の実施形態は、装置タイプのクレームに関連して説明されている。しかし、当業者には、前段および後段の説明から、特に明記しない限り、１つのタイプの主題に属する特徴の任意の組合せに加えて、異なる主題と関係する特徴の間の、特に、方法タイプの特許請求の範囲の特徴と装置タイプの特許請求の範囲の特徴の間の任意の組合せが、本明細書内で開示されるものと見なされることが理解されよう。
【００６２】
前段で定義される態様、および本発明のさらなる態様は、後段で説明されるべき実施形態の例から明白であり、実施形態の例を参照して説明されるが、それらに本発明は限定されない。
【００６３】
次に、本発明の好ましい実施形態を、単に例として、以下の図面を参照して説明する。
【図面の簡単な説明】
【００６４】
【図１】本発明の方法の実施形態を示すブロック図である。
【図２】新たなファイルを記憶するための実施形態を示すブロック図である。
【図３】着信する暗号化要求の実施形態を示すブロック図である。
【図４】クラウド環境からのファイルを求める要求の実施形態を示すブロック図である。
【図５】或るクラウド区域から別のクラウド区域へのファイルの転送要求の実施形態を示すブロック図である。
【図６】クラウド・ストレージ・アクセス・インターフェースとキー・ボルト・システムの間の対話の実施形態を示すブロック図である。
【図７】本発明のストレージ・サブシステムを示すブロック図である。
【図８】ストレージ・サブシステムまたはストレージ・サブシステムの部分を備えるコンピューティング・システムの実施形態を示す図である。
【図９】実施されるコンテナ内コンテナ・セキュリティ機構を示す図である。
【発明を実施するための形態】
【００６５】
以下に、図の詳細な説明が与えられる。図におけるすべての指示は、概略的である。最初に、共有されるネットワーク化された環境、すなわち、クラウド環境においてデータを記憶するための本発明の方法の実施形態のブロック図が与えられる。その後、方法、および関連するストレージ・サブシステムのさらなる実施形態について説明される。
【００６６】
図１は、データを記憶するための方法１００の実施形態のブロック図を示す。記憶されるデータの種類またはタイプに限定は存在しないようにすることが可能である。データは、クラウド・ストレージ・システム上のクラウド環境において記憶され得る。クラウド環境、特にプライベート・クラウド環境、公共クラウド環境、またはハイブリッド・クラウド環境は、様々な機密性レベルを有することが可能であり、クラウド・ストレージとクラウド・ストレージ・アクセス・インターフェースの間にセキュリティ層を備えることが可能である。セキュリティ層は、クラウド・ストレージ・アクセスのためのアプリケーション・プログラミング・インターフェース（ＡＰＩ）であり得る。
【００６７】
方法１００は、セキュリティ層を含むクラウド・ストレージを、とりわけ、セキュリティ保護されたキー・ストレージと、暗号化／解読ユニットとを備えることが可能なキー・ボルト・システムから物理的に分離すること１０２を含むことが可能である。
【００６８】
また、方法１００は、記憶要求を、クラウド・ストレージに記憶されるべきデータと一緒に、かつ機密性格付け、すなわち、そのデータに関する機密性格付けと一緒にクライアント・システムから受信すること１０４を含むことも可能である。記憶要求は、データおよび機密性格付けと一緒に、セキュリティ層によってクラウド・ストレージ・アクセス・インターフェースを介して受信され得る。
【００６９】
記憶されるべきデータ、および機密性格付けは、キー・ボルト・システムによる、セキュリティ層の要求が行われると、データ・コンテナの中に暗号化され得る１０６。クラウド・ストレージは、クラウド区域に分類され得る１０８。各クラウド区域に信頼レベルが割り当てられることが可能である。
【００７０】
次に、今や暗号化されることが可能なデータ・コンテナが、クラウド・ストレージのクラウド区域のうちの１つに記憶されて１１０、クラウド区域のうちのその１つの信頼レベルがその機密性格付けに対応するようになることが可能である。各クラウド区域は、対応する信頼レベルを有し得る。
【００７１】
図２は、クラウド・ストレージ・アクセス・インターフェースを介して新たなファイルを記憶するための実施形態のブロック図２００を示す。その新たなファイルが、クラウド・ストレージ・アクセス・インターフェースによって受信され得る２０２。そのファイルが事前暗号化されていることが可能であるかどうかが検査され得る２０４。「いいえ」である場合、ファイルの機密性格付けが、分類サービス／分類データベース２０８を用いてコンテキストにおいて決定され得る２０６。機密性格付けは、別々の３つの格付け、すなわち、高、中、低を有することが可能である。しかし、他のさらなる機密性格付けが利用可能であり得る。機密性格付け検査２１０の後、低機密性格付けが割り当てられることが可能であり２１２、「中」の場合、中機密性格付けが割り当てられることが可能であり２１４、「高」の場合、高機密性格付けが割り当てられることが可能である２１６。
【００７２】
次に、２１８において、機密性格付けと適合する関連付けられた信頼レベルを有するクラウド・ストレージ・プールが利用可能であり得るかどうかが判定され得る。そのようなクラウド・プールが利用可能であるかどうかの検査２２０、およびそのようなクラウド・プールが利用可能ではないという判定の後、記憶要求は、拒否されることが可能であり２２２、失敗レポートが生成され得る。
【００７３】
クラウド・プールが利用可能であり得る事例において、ファイルは、そのクラウド・ストレージ・プールに中継され得る２２４。ファイルは、割り当てられたキー・ボルト・システムによって暗号化され得る２２６。次に、ファイルが暗号化され得るかどうかが検査され得る２２８。「はい」である場合、ファイルが記憶されることが可能であり２３０、記憶成功が報告され得る。「いいえ」である場合、記憶要求は、拒否され２２２、失敗が報告され得る。
【００７４】
図３は、着信する暗号化要求の実施形態のブロック図３００を示す。
【００７５】
着信する暗号化要求が受信され得る３０２。セキュリティ層が許可され得るかどうかが検査され得る３０４。「いいえ」である場合、暗号化要求は、拒否され得る３０６。
【００７６】
「はい」である場合、その要求者が許可され得るかどうかが検査され得る３０８。「いいえ」である場合、ファイルは、暗号化されることが可能であり３１０、キーは、キー・ボルト・システムに記憶されることが可能であり３１２、要求者は、無視されてもよく３１４、セキュリティ・スタッフの注意のために記録されてもよい。セキュリティ・スタッフが、その事象に関するシグナルを受信することが可能であり３１６、その事象が、セキュリティ層に報告されることが可能である３１８。
【００７７】
許可され得る要求の場合３０８、ファイルは、暗号化されることが可能であり３２０、キーは、キー・ボルト・システムに記憶されることが可能であり３２２、要求の許可は、記録されることが可能であり３２４、成功メッセージが、セキュリティ層に送信されることが可能である３２６。次に、着信する暗号化要求を完了することが可能である３２８。
【００７８】
図４は、クラウド環境からのファイルを求める要求の実施形態のブロック図４００を示す。新たなファイルを求める要求が受信され得る４０２。要求者が認証され得るかどうかが検査され得る４０４。「いいえ」である場合、要求は、拒否され得る４０６。「はい」である場合、要求者が、このファイルに関して許可され得るかどうかが検査され得る４０８。「はい」である場合、ファイルが、許可された宛先に配信されるべきかどうかが検査され得る４１０。次に、暗号化されたデータ・コンテナが取り出され得る４１２。暗号化されたデータ・コンテナと、要求者についての情報とを含む解読要求が、キー・ボルト・システムに送信され得る４１４。
【００７９】
解読されたファイルがキー・ボルト・システムから受信されていることが可能であるかどうかが検査され得る４１６。「はい」である場合、ファイルは、解読された形態で要求者に配信され得る４１８。「いいえ」である場合、要求は、拒否され得る４０６。検査４０８および４１０において、「いいえ」である場合、要求は、やはり拒否され得る４０６。
【００８０】
図５は、或るクラウド区域から別のクラウド区域へのファイルの転送要求に関する実施形態のブロック図５００を示す。新たな転送要求が受信され得る場合５０２、要求が許可され得るかどうかが検査され得る５０４。「いいえ」である場合、要求は、拒否され得る５０６。
【００８１】
「はい」である場合、要求者が許可され得るかどうかが検査され得る５０８。「いいえ」である場合、要求は、拒否され得る５０６。「はい」である場合、新たな暗号化キーが生成されることが可能であり５１０、ファイルのコピーが、その新たな暗号化キーで暗号化されることが可能であり５１２、ファイルが、新たなターゲット宛先に転送されることが可能である５１４。ターゲット宛先が解読権利を引き継ぐことが可能であるかどうかが検査され得る５１６。「はい」である場合、その新たな暗号化キーが、その新たな宛先ターゲットに転送され得る５１８。「いいえ」である場合、その宛先ターゲットに関する解読権利が記録され得る５１９。
【００８２】
次に、ファイルが新たなロケーション／宛先ターゲットに「移動されている」ことが可能であるか、または「コピーされている」こと可能であるかが検査され得る５２０。「コピーされている」場合、成功レポートが生成され得る５３０。判定ステップ５２０に関して、「移動されている」場合、元のファイルが保持またはアーカイブされるべきかどうかが判定され得る５２２。「いいえ」である場合、古い暗号化キー、および古いファイルが、削除され得る５２４。さもなければ（「はい」である場合）、古い暗号化キー、および古いファイルは、アーカイブされ得る５２６。次に、成功が報告され得る５３０。
【００８３】
図６は、クラウド・ストレージ・アクセス・インターフェース、共有されるネットワーク化されたストレージ・アクセス・インターフェース６０２、または単にクラウドＡＰＩ６０２と、キー・ボルト・システム６０４との間の対話の実施形態のブロック図６００を示す。要求が、受信されることが可能であり、または結果が、記憶要求の送信者６０６でもあるクライアント６０６に返送されることが可能であり、あるいはその両方が行われることが可能である。データ、または特にデータ・コンテナ６０８が、ネットワーク化されたクラウド環境６１０、または言い換えると、共有されるネットワーク化された環境６１０において記憶されることが可能である。セキュリティ層６１２は、ファイアウォール・システムの一部であり得る。
【００８４】
キー・ボルト・システム６０４は、アクセス・ガバナ・アクセス・ポリシー・ガバナ６１４と、キー・ストレージ６１６と、暗号化／解読ユニット６２０の暗号化／解読クラスタに接続された暗号化／解読インターフェース６１８とを備えることが可能である。キー・ストレージ６１６は、アクセス・ガバナ６１４の要求が行われると６２２、データ・キーを検証することも可能な暗号化／解読クラスタ６２０にキーを要求することが可能である６２４。
【００８５】
クラウドＡＰＩ６０４は、クライアントまたは要求者６０６の認証および許可を担うことが可能である。
【００８６】
次に、キー・ボルト・システム６０４、およびその機能について、キー・ボルト・システム６０４の脈絡で、かつセキュリティ層６１２を相手にした以下の対話および活動に沿って説明され得る。
【００８７】
初期セキュリティ検査
新たなファイル・アップロードが、クラウド区域の外部インターフェース、クラウドＡＰＩ６０２によって受信されることが可能であり、クラウドＡＰＩ６０２は、クライアント６０６を認証することに成功した後、データ・ストレージ領域にファイルを記憶しようと試みることが可能である。これを行うのに、クラウドＡＰＩ６０２は、ファイル自体と、認証情報（例えば、ユーザＩＤ）と、クライアント情報（要求の日付／時刻、送信元ＩＰ［インターネット・プロトコル］アドレス、クライアント・タイプ番号／製品番号／バージョン番号）とを包含する要求をデータ・ストレージ領域に送信することが可能である。
【００８８】
この着信する要求は、「ファイル・アップロード」トランザクションと合致する要求ストリームに関してデータ・ストリームを監視しているセキュリティ層６１２によってトランスペアレントにキャプチャされる。セキュリティ層は、データ・ストリームが、暗号化されたトランスポート・チャネルを使用してセキュリティ保護されていることを、信頼される証明書を用いて検証することが可能である。
【００８９】
これが該当しない場合、転送は、拒否される。
【００９０】
転送が適切にセキュリティ保護されている場合、セキュリティ層６１２は、それをデータ・ストレージ・システムに中継することなしに、外部インターフェースのデータ・ストリームを受け付けるプロキシと同様に動作する。認証情報、クライアント情報、および一般的なファイル情報を包含するデータ・ストリームのヘッダが受信されると、セキュリティ層６１２は、着信するファイル・データをバッファリングすることを続けるのと並行して、キー・ボルト・システム６０４でその要求を検証することに進む。
【００９１】
キー・ボルトによるプレフライト（pre-flight）検証
これを行うのに、セキュリティ層６１２は、キー・ボルト・システム６０４インターフェースに対するセキュリティ保護された接続を確立し、キー・ボルト・システム６０４インターフェースに、クライアント６０６が、アクセス・ガバナ６１４の構成されたポリシーに従って、この種類のファイルをアップロードすることが可能であるかどうかを検証させる要求を送信する。セキュリティ層６１２は、実際のファイル内容なしにそれまでに受信された要求情報のすべてを提供し、キー・ボルト・システムが応答するのを待つ。キー・ボルト・システム６０４が、事前定義された期間内、例えば、５秒内に応答しない場合、タイムアウト信号が、その要求を中止させ、外部インターフェースのアップロード試行を拒否する。
【００９２】
セキュリティ層６１２の検証要求の受信中、キー・ボルト・システム６０４インターフェースは、セキュリティ層６１２が通信に関して信頼されるかどうか、およびその伝送チャネルが証明書ベースの暗号化でセキュリティ保護されているかどうかを検証する。２つの基準のうちのいずれかが不合格であった場合、その伝送は拒否される。その伝送が受け付けられた場合、キー・ボルト・システム６０４インターフェースは、アクセス・ガバナ６１４を相手にセキュリティ保護された接続を確立し、受信された要求を検証のために中継する。
【００９３】
次に、アクセス・ガバナ６１４が、クライアント６０６が、アクセス・ガバナ６０４におけるブラックリスト化のための認証されたユーザＩＤ、および評価のための送信元ＩＰアドレスの両方に関して、ファイル・アップロードのためにクラウド区域を使用することを一般に許されるかどうかを検査する。このことは、従来のブラックリスト化／ホワイトリスト化、ならびに悪意があると分類されるが、抑制されない、または匿名のプロキシを使用するＩＰからのアクセスを拒否することを可能にするＩＢＭのＳＣＡ  ＳＤＫ（Ｒ）などの市販のＩＰ評価製品を使用して行われ得る。
【００９４】
アクセス・ガバナ６１４は、ここ２４時間などの最近の期間内で、このユーザによって、大量のアップロード／ダウンロード、繰り返される拒否される要求、絶えず変化するＩＰアドレス、または不審なクライアント詳細などの異常な振舞いを示す他の要求が行われたかどうかをさらに検査する。このことは、アクセス・ガバナ６１４によって直接に、またはＩＢＭ  ＱＲａｄａｒ  Ａｎｏｍａｌｙ  Ｄｅｔｅｃｔｉｏｎ（Ｒ）などの市販の製品とインターフェースをとることによって実施され得る。異常な要求は、アクセス・ガバナ６１４によって拒否されることが可能であり、セキュリティ事象レポートが、担当のセキュリティ・スタッフのために生成される。
【００９５】
要求が受付け可能であると見なされる場合、アクセス・ガバナ６１４は、転送チケットを作成する。この転送チケットは、提供された認証情報、クライアント情報、およびファイル情報、要求を行うセキュリティ層６１２の署名、ならびに報告されたファイル・サイズに依存する要求に関する有効期限（例えば、２５０ＭＢファイル・サイズ当たり５分であり、このため、１ＧＢファイルは、２０分の有効期限を有することになる）を包含することが可能である。次に、転送チケットがアクセス・ガバナ６１４によって署名され、セキュリティ層６１２に返されることが可能である。
【００９６】
暗号化を行うこと
転送チケットを受信すると、セキュリティ層６１２は、アクセス・ガバナ６１４の署名とセキュリティ層６１２自らの埋め込まれた署名の両方を検証する。両方の検査が合格である場合、セキュリティ層６１２は、次に、転送チケットと、それまでに既にバッファリングされている、転送されているファイルに関するデータとから成る暗号化要求をキー・ボルト・システム６０４インターフェースに対して開始する。転送の安全を確実にするのに、セキュリティ層６１２は、キー・ボルト・システム６０４の暗号化／解読ユニット６２０によって使用される公開キーでそのファイル・データを暗号化する。このことは、暗号化／解読ユニット６２０だけが、キー・ボルト・システム６０４内で元のバージョンでファイルを読み取ることができることを確実にして、その他のキー・ボルト・システムにおける侵害を攻撃者にとってそれほど価値のないものにすることが可能である。
【００９７】
前述の場合と同様に、キー・ボルト・システム６０４インターフェースは、着信する接続のセキュリティを検査し、その後、要求を暗号化／解読ユニット６２０に中継する。暗号化／解読ユニット６２０のうちの１つが、ラウンドロビンの様態で着信する要求を選択する。関連する暗号化／解読管理が、アイドルな暗号化／解読ユニット６２０が常に１つ利用可能であることを確実にする。
【００９８】
暗号化／解読ユニット６２０は、着信する要求を受信すると、転送チケットの署名および有効期限を検証する。また、暗号化／解読ユニット６２０は、ファイル内容に対する暗号化が、チケットに埋め込まれたセキュリティ層６１２の署名と合致するかどうかを検証することも可能である。暗号化／解読ユニット６２０は、ファイル識別情報が、転送されている実際のファイルと合致することが可能であることをさらに検証する。これらの検査のいずれかが不合格であった場合、要求は、拒否されることが可能であり、セキュリティ事象レポートが生成され得る。
【００９９】
最終暗号化および内容確認
すべての検査に合格した場合、暗号化／解読ユニット６２０は、記憶された後のファイルに関して最終的に使用されるべき新たなキーを生成する。次に、暗号化／解読ユニット６２０は、共有される暗号化／解読秘密キーを使用してファイルを解読することを開始する。プロセスが実行されている間、暗号化／解読ユニット６２０は、解読されたデータに対して内容分類を実行する。このプロセスは、すべてのデータが走査されるまで、またはファイルが最高の機密性として分類されるまで、データが解読されるにつれ、複数回、実行される。そうするのに、暗号化／解読ユニット６２０は、単純なパターン照合、ベイズ分類、またはヒューリスティクスなどの複数の技術を使用することができる。暗号化／解読ユニット６２０は、署名、パターン、またはヒューリスティクス、あるいはその組合せの中央データベースを共有して、すべてのユニットに分類基準の同一の同期セットが利用可能であることを確実にすることができる。
【０１００】
分類に基づいて、ファイルは、０から１までの段階で機密性に関して格付けされ、０が機密でない情報であり、１が極めて機密性の高い情報である。機密性格付けが決定されると、暗号化／解読ユニット６２０が、クラウド区域がこの機密性格付けに関して有効なターゲットであるかどうかを検査する。このことは、暗号化／解読ユニット６２０上でローカルで行われることが可能であり、または現在の分類ポリシーに関してアクセス・ガバナ６１４にクエリを行うことによって行われることが可能である。
【０１０１】
現在のクラウド区域信頼性が、記憶されるべきこのファイルに関して低すぎる場合、暗号化／解読ユニット６２０が、アクセス・ガバナ６１４に、より高い信頼性の他のクラウド区域がアクセス・ガバナ６１４に登録されているかどうかを確認するよう要求する。登録されている場合、アクセス・ガバナ６１４は、転送チケットを、ターゲットとしてより強いセキュリティで保護されたクラウド区域のセキュリティ層６１２で更新し、そのことを暗号化／解読ユニット６２０に報告する。適切なクラウド区域が決定され得ない場合、要求は、即時に中止させられる。
【０１０２】
また、ファイルが解読されている間、ファイルは、生成された一意キーで即時に再暗号化される。暗号化されたデータ・ストリームは、データ・ストリームと一緒に、ファイルの識別子、および内容分類を包含する、暗号化／解読ユニット６２０署名で署名されたコンテナに埋め込まれる。機密性に関する最終決定に既に達しており、最終宛先も決定されている場合、暗号化／解読ユニット６２０は、担当のセキュリティ層６１２を相手に接続を確立し、それぞれのデータ・ストレージ区域に記憶するためにファイルの識別子および再暗号化されたデータ・ストリームと一緒に記憶要求を送信する。さらに、暗号化／解読ユニット６２０は、ファイル識別子、および関連付けられた暗号化キーを、保管のためにキー・ストレージ６１６にサブミットする。
【０１０３】
ストレージ区域は、着信するデータ・ストリームの転送チケットが、埋め込まれた現在のクラウド区域に関してセキュリティ層６１２の署名を有するかどうかを検証し、その後、データ・ストリームを記憶する。
【０１０４】
転送が完了すると、暗号化／解読ユニット６２０は、暗号化／解読ユニット６２０がファイルを最初に受信したセキュリティ層６１２に、転送が成功したことを通知する。ファイルを記憶するためのセキュリティ層６１２が暗号化を要求したセキュリティ層６１２と同一である場合、暗号化／解読ユニット６２０は、単に成功を報告する。ファイルが別のクラウド区域に中継されている場合、暗号化／解読ユニット６２０は、担当のセキュリティ層６１２の詳細も報告する。その場合、この情報は、例えば、ファイルの中継についてユーザに通知するのに使用され得る。
【０１０５】
次に、セキュリティ層６１２が、クラウド区域の外部インターフェースに報告する。ファイルは、正常に記憶されている。
【０１０６】
既存のファイルをダウンロードすること
プロセスは、暗号化と非常に似通っており、唯一の違いは、キー・ボルト・システム６０４が、要求するクライアントが特定のファイルを取り出すことが信頼されるかどうか、すなわち、クライアントが、機密ファイルの（場合により、永久の）記憶に関して信頼されるターゲットであるかどうかを確認することである。ファイルの機密性は、ファイル識別子、機密性格付け、および暗号化されたファイル自体から成るファイルのストレージ・コンテナから読み取られる。アクセス・ガバナ６１４が、コンテナの署名を検証して、機密性格付けまたはファイルが、ファイルが記憶されて以降、不正変更されていないことを確実にする。アクセス・ガバナ６１４は、アップロード中に使用されたのと同一の検証方法を使用するが、ファイルの取出しは、新たなファイルをアップロードする場合に、潜在的により危険であるので、より厳格なポリシー（例えば、知られているホワイトリスト化されたクライアント・バージョンだけを許し、すべての否定的なＩＰ評価基準をブロックする）を使用することが可能である。
【０１０７】
また、転送方向は、データ・ストリームが、データ・ストレージ区域から暗号化／解読ユニット６２０を通ってセキュリティ層６１２にフェッチされ、クラウド区域の外部インターフェースから出るように逆転される。
【０１０８】
クラウド区域間の転送
このプロセスは、新たなクラウド区域が、１つまたは複数のファイルに対するアクセスを要求する外部クライアントとして扱われるという点で、新たなファイルのダウンロードと非常に似通っている。主な違いは、キー・ボルト・システム６０４が、ファイルの暗号化キーを新たなターゲットに渡さないことを決定することであり得る。この決定は、その新たなクラウド区域の信頼性に基づくこと、すなわち、構成されること、またはそのクラウド区域からの転送／そのクラウド区域への転送の異常検出、またはＩＰ評価データの結果であることが可能である。
【０１０９】
キー・ボルト・システム６１４が、暗号化キーを渡すことを望まない場合、キー・ボルト・システム６１４は、転送を完全に拒否すること、または転送を許すが、キーを保持することが可能である。転送を許すが、キーを保持する場合、新たなクラウド区域は、そのファイルに関するすべての解読を元のクラウド区域のアクセス・ガバナ６１４に中継する。
【０１１０】
この構成は、異なる信頼性の複数のクラウド区域、例えば、異なるサービス・プロバイダ、異なるサービス・レベル／サービス層が、非常に近接して存在する場合、または高帯域幅アクセスを介して接続されている可能性がある場合、有用であり得る。
【０１１１】
攻撃に対する追加の復元力
本発明の方法には、キー・データの不正変更防止ストレージを確実にするＴｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ（ＴＰＭ）などの既存の既製のソリューション、および変更されていないオペレーティング・システム上でだけ実行されるＵＥＦＩ（Ｕｎｉｔｅｄ  Ｅｘｔｅｎｓｉｂｌｅ  Ｆｉｒｍｗａｒｅ  Ｉｎｔｅｒｆａｃｅ）Ｓｅｃｕｒｅ  Ｂｏｏｔを使用することによって、さらなるセキュリティ機構が導入され得る。
【０１１２】
本発明の方法は、ＴＰＭデバイスが利用可能であり、かつオペレーティング・システムが、ＵＥＦＩ  Ｓｅｃｕｒｅ  Ｂｏｏｔを使用して起動されているのでない限り、起動を拒否することによってこれらの技術の使用を強制することが可能である。
【０１１３】
さらに、構成要素のうちのいずれかで実行されるソフトウェアは、有効で、信頼される署名に関してすべてのバイナリを検査するような備えがあり、構成要素のうちのいずれかの署名が合致しない場合、危険にさらされている場合、または有効期限切れである場合、実行するのを拒否することが可能である。
【０１１４】
さらに、本発明の方法は、例えば、アクセス・ガバナ６１４、キー・ボルト・システム６０４の暗号化／解読ユニット６２０に関して、トランザクションに署名をする際、ＵＥＦＩブートの一意の署名を使用して、ＵＥＦＩ署名を有しない、または信頼されないＵＥＦＩ署名を有する、または合致しないＵＥＦＩ署名を有するシステムが他のシステムと通信しないことを確実にすることが可能である。最終的に、このことは、システムＵＥＦＩ  ＢＩＯＳからオペレーティング・システムまで上昇する検証のチェーンを作成することが可能であり、オペレーティング・システムは、システム上のすべての構成要素が危険にさらされていないことを検証することが可能である。攻撃者がシステム構成要素を変更しようと試みる場合、この不正変更は、厳格な署名検査によって検出され得る。
【０１１５】
展開に依存して、継続的な認定された更新が、セキュリティ対策として活用されることも可能である。証明書の有効性を低く（例えば、数時間だけに）保つこと、および信頼される源（例えば、ベンダ）からの、より小さいが、中心的な検証構成要素の絶え間ない再展開を要求することによって、間断的な不正変更さえ、数時間にわたってしか可能でなく、さもなければ、間断的な不正変更は、リフレッシュされる構成要素によって検出される、またはそれらの構成要素は、それらの構成要素の証明書が有効期限切れになると、機能することを止める。
【０１１６】
物理的セキュリティに関して、空気、電力、および通信接続を除く外部から密封された不正変更耐性のハードウェア・ソリューションが考案されることが可能であり、例えば、サービス・ハッチのいずれかが開かれるのを監視すること、穴が掘削されるのを検出する外殻に関する乱れセンサ（disruption sensor）、ならびにコイル鳴きおよびファン・サイクルを測定することによってキーの読取りを阻止する能動的ノイズ生成によって、侵入の試みを防止することが可能である。
【０１１７】
可能なセキュリティ侵害が検出された場合、本発明は、記憶されているすべてのキーをソフトウェア的に即時に破壊し、局所化されたＥＭＰジェネレータまたは他の物理的な手段、例えば、制御された爆発を展開することさえして、攻撃者が、侵入の試みから有用な情報を得る能力をほとんど、またはまったく有しないことを確実にすることも可能である。
【０１１８】
破壊的な侵入対策が展開され得る場合、本発明は、別のロケーションに記憶され得る顧客ごとの限られた数の汎用解読キーを使用することができるように拡張され得る。さらに、災害復旧の場合に関して本発明の他の信頼されるインスタンスと同期することが、顧客が顧客のファイルにアクセスする能力を保持することを確実にするのに使用され得る。しかし、このことは、オプションであり、データのセグメント化を潜在的に回避することが可能な「バックアップ・キー」を有することよりも、データに完全にアクセス不可能なことの方が好ましい場合、使用されなくてもよい。
【０１１９】
非対称暗号化の使用対対称暗号化の使用
本発明の方法は、すべての通信に関して概ね、証明書ベースの非対称暗号化を使用して、すべてのトランザクションがセキュリティ保護されることを確実にする。しかし、利用可能な性能に依存して、このことは、ファイルの処理を多少、遅くする可能性がある。そのような状況は、ＣＰＵサイクルの費用が下がり続けるので、技術的進歩によって減少させられ得るが、それでも、積み重なり、近い将来に関して制約となり得る。
【０１２０】
これが該当する場合、本発明は、非対称暗号化の要件を緩めて、ファイルに関するトランザクションが確立された後、対称暗号化を用いることが可能である。
【０１２１】
さらに、本発明は、人間のオペレータによって信頼される関係が確立されると、対称暗号化を使用して構成要素間の通信全般をセキュリティ保護することが可能である。これが該当する場合、本発明は、完全な非対称ハンドシェークを行う代わりに、交換されたキーを用いてすべての通信を扱って通信をスピードアップする。セキュリティを容認可能なレベルに保つのに、本発明の方法は、短い間隔で、例えば、１０分ごとに、あるいは、それより先に所定の数、例えば、５００のトランザクションが行われた場合には、その後に、キーを交替させて、中間者攻撃を行う潜在的なサードパーティからのキーをクラックする攻撃を停止させることが可能である。
【０１２２】
この脈絡において、データ保護のためのコンテナ内コンテナの概念を見ることが役に立ち得る。図９は、埋込み原理９００を示す。外側の層は、セキュリティ層６１２によってのみ読取り可能である暗号化されたトランザクション・コンテナによって表される（図６と比較されたい）。暗号化されたトランザクション・コンテナ９０２の一部は、遷移中のこの暗号化されたトランザクション・コンテナ９０２を識別するトランザクションＩＤ（識別子）である。暗号化されたトランザクション・コンテナ９０２の内部のデータ・コンテナ９０４は、少なくとも２つの要素、すなわち、ファイルについてのメタ情報９０６を備える。このメタ情報もまた、セキュリティ層６１２によってのみ読取り可能である。データ・コンテナ９０４の内部には、暗号化された形態の記憶されたファイル９０８もある。
【０１２３】
このため、記憶されるべきファイル９０８は、コンテナ９０４が或るクラウド区域から別のクラウド区域への遷移中であり得る場合でさえ、危険にさらされないことが可能である。コンテナ内コンテナの概念がこれを不可能にする。
【０１２４】
概略および概要として、図７は、クラウド環境として知られる共有されるネットワーク化された環境においてデータを記憶するための本発明のストレージ・サブシステム７００のブロック図を示す。クラウド環境は、クラウド・ストレージとクラウド・ストレージ・アクセス・インターフェース６０２の間にセキュリティ層６１２を備える。ストレージ・サブシステム７００は、キー・ボルト・システム６０４から物理的に分離されたセキュリティ層６１２を含むクラウド・ストレージを備える。クラウド・ストレージは、クラウド区域を備え、クラウド区域のそれぞれは、割り当てられた信頼レベルを有する。ストレージ・サブシステム７００は、記憶要求を、クラウド・ストレージに記憶されるべきデータと一緒に、かつ機密性格付けと一緒に受信するように適応させられた受信ユニット７０２を備える。記憶要求は、データおよび機密性格付けと一緒に、クラウド・ストレージ・アクセス・インターフェース６０２を介してセキュリティ層６１２によって受信される。キー・ボルト・システム６０４は、セキュリティ層６１２の要求が行われると、記憶されるべきデータ、および機密性格付けをデータ・コンテナの中に暗号化するように適応させられる。
【０１２５】
ストレージ・サブシステム７００は、クラウド・ストレージのクラウド区域のうちの１つにデータ・コンテナを記憶して、クラウド区域のうちのその１つの信頼レベルがその機密性格付けに対応するようにするために適応させられたストレージ構成要素７０４も備える。
【０１２６】
本発明の実施形態は、プログラム・コードを記憶すること、または実行すること、あるいはその両方を行うことに適したプラットフォームにかかわらず、実質的に任意のタイプのコンピュータで実施され得る。例えば、図８に示されるとおり、コンピューティング・システム８００が、今日のコンピュータ（図示せず）に典型的な、１つのプロセッサ当たり１つまたは複数のコアを有する１つまたは複数のプロセッサ８０２と、関連付けられたメモリ要素８０４と、内部ストレージ・デバイス８０６（例えば、ハードディスク、コンパクト・ディスク・ドライブもしくはデジタル・ビデオ・ディスク（ＤＶＤ）ドライブなどの光ドライブ、フラッシュ・メモリ・スティック、ソリッドステート・ディスクその他）と、他の多数の要素および機能とを含み得る。メモリ要素８０４は、プログラム・コードの実際の実行中に使用されるメイン・メモリ、例えば、ランダム・アクセス・メモリ（ＲＡＭ）と、実行のために長期記憶媒体または外部大容量ストレージ８１６からコードまたはデータあるいはその両方が取り出されなければならない回数を減らすために少なくともいくらかのプログラム・コードまたはデータあるいはその両方の一時的記憶をもたらすことが可能なキャッシュ・メモリとを含み得る。コンピュータ８００内部の要素は、対応するアダプタを有するバス・システム８１８によって一緒に結び付けられることが可能である。さらに、クラウド環境においてデータを記憶するためのストレージ・サブシステム７００が、バス・システム８１８に接続され得る。
【０１２７】
また、コンピューティング・システム８００は、キーボード８０８、マウス８１０などのポインティング・デバイス、またはマイクロフォン（図示せず）などの入力手段を含むことも可能である。代替として、コンピューティング・システムは、メイン入力デバイスとしてタッチ・センシティブ・スクリーンを備えてもよい。さらに、コンピュータ８００は、モニタまたは画面８１２［例えば、液晶ディスプレイ（ＬＣＤ）、プラズマ・ディスプレイ、発光ダイオード・ディスプレイ（ＬＥＤ）、または陰極線管（ＣＲＴ）モニタ］などの出力手段を含むことが可能である。コンピュータ・システム８００は、ネットワーク・インターフェース接続８１４を介してインターネット、あるいはワイヤレス・ネットワークを含む他の任意の類似したタイプのネットワークなどのネットワーク［例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）］に接続され得る。このことは、他のコンピュータ・システム、またはストレージ・ネットワーク、またはテープ・ドライブに対する結合を可能にし得る。多くの異なるタイプのコンピュータ・システムが存在し、かつ前述した入力手段および出力手段は、他の形態をとってもよいことが当業者には認識されよう。一般的に言って、コンピュータ・システム８００は、本発明の実施形態を実施するのに必要な少なくとも最小限の処理手段、入力手段、または出力手段、あるいはその組合せを含み得る。
【０１２８】
本発明は、限られた数の実施形態に関連して説明されてきたが、本開示の恩恵を得た当業者には、本明細書で開示される本発明の範囲を逸脱しない、他の実施形態が考案され得ることが認識されよう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきものとする。また、異なる実施形態に関連して説明される要素は、組み合わされてもよい。また、特許請求の範囲における参照符号は、要素を限定するものと解釈されるべきではないことにも留意されたい。
【０１２９】
当業者には認識されるとおり、本開示の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化され得る。したがって、本開示の態様は、完全にハードウェア実施形態の形態をとっても、完全にソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコードその他を含む）の形態をとっても、あるいはすべて「回路」、「モジュール」、または「システム」と本明細書で一般的に呼ばれ得るソフトウェア態様とハードウェア態様を組み合わせた実施形態の形態をとってもよい。さらに、本開示の態様は、コンピュータ可読プログラム・コードが具現化されている１つまたは複数のコンピュータ可読記憶媒体において具現化されたコンピュータ・プログラム製品の形態をとってもよい。
【０１３０】
１つまたは複数のコンピュータ可読媒体の任意の組合せが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電子システム、磁気システム、光システム、電磁システム、赤外線システム、または半導体システム、装置、またはデバイス、あるいは以上の任意の適切な組合せであることが可能であるが、以上には限定されない。コンピュータ可読記憶媒体のより具体的な例（網羅的ではないリスト）は、以下、すなわち、１つまたは複数の配線を有する電気接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読取り専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光ストレージ・デバイス、磁気ストレージ・デバイス、または以上の任意の適切な組合せを含む。本明細書の脈絡において、コンピュータ可読記憶媒体は、命令実行システム、命令実行装置、または命令実行デバイスによって、またはそれに関連して使用されるようにプログラムを包含すること、または記憶することが可能な任意の有形の媒体であり得る。
【０１３１】
コンピュータ可読信号媒体は、例えば、ベースバンドにおいて、または搬送波の一部としてコンピュータ可読プログラム・コードが具現化された伝搬されるデータ信号を含むことが可能である。そのような伝搬される信号は、電磁形態、光形態、またはそれらの任意の適切な組合せ含むが、以上には限定されない様々な形態のうちのいずれをとることも可能である。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、かつ命令実行システム、命令実行装置、または命令実行デバイスによって、またはそれに関連して使用されるようにプログラムを通信すること、伝搬すること、またはトランスポートすることが可能な任意のコンピュータ可読媒体であり得る。
【０１３２】
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦその他、または以上の任意の適切な組合せを含むが、以上には限定されない任意の適切な媒体を使用して伝送され得る。
【０１３３】
本発明の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋、または類似したものなどのオブジェクト指向プログラミング言語、ならびに「Ｃ」プログラミング言語もしくは類似したプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれることが可能である。プログラム・コードは、全部がユーザのコンピュータ上で実行されても、スタンドアロンのソフトウェア・パッケージとして、一部がユーザのコンピュータ上で実行されても、一部がユーザのコンピュータ上で、かつ一部が遠隔コンピュータ上で実行されても、全部が遠隔コンピュータもしくは遠隔サーバ上で実行されてもよい。全部が遠隔コンピュータもしくは遠隔サーバ上で実行されるシナリオにおいて、その遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されることが可能であり、あるいは接続は、外部コンピュータに対して行われることが可能である（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）。
【０１３４】
本開示の態様は、本開示の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して説明される。流れ図またはブロック図あるいはその両方の各ブロック、ならびに流れ図またはブロック図あるいはその両方におけるブロックの組合せが、コンピュータ・プログラム命令によって実施され得ることが理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施するための手段を生成するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに与えられて、マシンを作り出すものであってよい。
【０１３５】
また、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶された命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施する命令を含む製造品をもたらすように、コンピュータ可読媒体に記憶され、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の様態で機能するように指示するものであってもよい。
【０１３６】
また、コンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル装置上で実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施するためのプロセスをもたらすように、コンピュータ実施プロセスを実現するべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【０１３７】
図におけるブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施様態のアーキテクチャ、機能、および動作を示す。これに関して、ブロック図における各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を備えるコードのモジュール、セグメント、または部分を表すことが可能である。また、いくつかの代替の実施様態において、前段で説明された機能は、開示される順序を外れて生じることが可能であることにも留意されたい。例えば、連続して教示される２つの機能が、実際には、実質的に同時に実行されてもよく、またはそれらの機能は、時として、関与する機能に依存して、逆の順序で実行されてもよい。また、ブロック図の各ブロック、およびブロック図におけるブロックの組合せは、指定された機能もしくは動作、または専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【０１３８】
本明細書で使用される専門用語は、特定の実施形態を説明することだけを目的としており、本発明を限定することは意図していない。本明細書で使用される単数形、「或る」および「その」は、文脈がそうでないことを明示しない限り、複数形も含むことを意図している。「備える」または「備えている」あるいはその両方の用語は、本明細書において使用される場合、記載される特徴、整数、ステップ、動作、要素、または構成要素、あるいはその組合せの存在を明示するが、他の１つまたは複数の特徴、整数、ステップ、動作、要素、構成要素、または以上のグループ、あるいはその組合せの存在または追加を除外しないものとさらに理解される。
【０１３９】
特許請求の範囲におけるすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、および均等物は、特に主張される、他の主張される要素との組合せで機能を実行するための任意の構造、材料、または動作を含むことを意図している。本発明の説明は、例示および説明のために提示されてきたが、網羅的であることも、開示される形態における本発明に限定されることも意図していない。多くの変更および変形が、本発明の範囲および趣旨を逸脱することなく、当業者には明白となろう。実施形態は、本発明の原理、および実際の応用を最もよく説明するために、かつ他の当業者が、企図される特定の要素に適するように、様々な変更とともに様々な実施形態に関して本発明を理解することを可能にするために選択され、説明された。
【図１】
0006556840.tif 000002
【図２】
0006556840.tif 000003
【図３】
0006556840.tif 000004
【図４】
0006556840.tif 000005
【図５】
0006556840.tif 000006
【図６】
0006556840.tif 000007
【図７】
0006556840.tif 000008
【図８】
0006556840.tif 000009
【図９】
0006556840.tif 000010