(57)【要約】デジタル・エスクロ・パターンが、クラウド内に格納されたデータに対する検索可能暗号化技法を含むネットワーク・データ・サービスに対して与えられ、単一データ暴露点を回避するために信頼性を複数のエンティティにわたって分散させる。一実施形態では、鍵生成器、暗号技術プロバイダおよびクラウド・サービス・プロバイダがそれぞれ別々のエンティティとして提供され、データのパブリッシャがデータをクラウド・サービス・プロバイダに機密に（暗号化して）発行し、ついで、その暗号化データを、そのデータを要求するサブスクライバに対して、サブスクライバの要求に応答して生成された鍵情報中でエンコードされたサブスクライバの識別情報、例えば、サブスクライバの役割、に基づいて選択的に公開できるようにする。
2012518330.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのサブスクライバ装置が、検索可能な暗号化データのサブセットを要求するステップ（２６００）と、
前記少なくとも１つのサブスクライバ装置に関連付けられた識別情報に基づいて前記暗号化鍵情報を生成する鍵生成コンポーネントから、暗号化鍵情報を受信するステップ（２６１０）と、
前記暗号化鍵情報において定義されたケイパビリティによって許可されるように、前記暗号化データのサブセットを復号化するステップ（２６２０）と、
前記要求と一致する暗号化データの正しいサブセットを前記少なくとも１つのサブスクライバ装置が受信したことを妥当性確認するステップ（２６３０）と
を含むことを特徴とするデータをサブスクライブするための方法。
【請求項２】
前記妥当性確認するステップ２６３０は、前記正しいサブセットを前記少なくとも１つのサブスクライバが受信したことを証明するための、データ所有証明を実施するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記受信するステップ２６１０は、暗号化鍵情報を、前記識別情報から決まる少なくとも１つの役割に基づいて前記暗号化鍵情報を生成する、独立した制御領域で実行される鍵生成コンポーネントから受け取るステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記暗号化データのサブセットを受け取る前に、前記暗号化データのサブセットの内容が削除も修正もされていなかったことを検証するステップ２９３０をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記検証するステップ２９３０は、前記コンテンツに干渉しないことを証明するための、再取り出し可能性証明を実施するステップを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記妥当性確認するステップは、前記正しいサブセットを前記少なくとも１つのサブスクライバ装置が受信したことを証明するための、データ所有証明を実施するステップを含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記受信するステップ２６１０は、暗号化鍵情報を、前記識別情報から決定する少なくとも１つの役割に基づいて前記暗号化鍵情報を生成する鍵生成コンポーネントから受け取るステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
コンピューティング装置に関連付けられた識別情報の妥当性確認を第１のエンティティに要求するステップ（２００）と、
前記識別情報から決定される少なくとも１つの役割に基づいて、前記第１のエンティティと独立に動作する第２のエンティティに鍵情報を要求し、前記第２のエンティティから前記鍵情報を受け取るステップ（２１０）と、
前記コンピューティング装置からアクセス可能な少なくとも１つのレコードを、検索可能な暗号化アルゴリズムに従って前記鍵情報に基づいて暗号化するステップ（２２０）と、
前記少なくとも１つのレコードへの復号化されたアクセスを選択的に提供するために、前記少なくとも１つのレコードに関する少なくとも１つのサブスクライバの役割に対して少なくとも１つのケイパビリティを定義するステップ（２３０）と
を含むことを特徴とする方法。
【請求項９】
前記要求するステップ２１０は、前記コンピューティング装置に関連付けられた認証情報を匿名化するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記鍵情報を受け取るステップ２１０は、前記識別情報に関連付けられたマスタ公開鍵をエンコードする鍵情報を受け取るステップを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
識別情報を妥当性確認するための前記第１エンティティの前記要求するステップ２１０は、前記コンピューティング装置に関連付けられた前記識別情報に関連する少なくとも１つの役割を表すトークン情報を要求するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記定義するステップ２３０は、ビジネス・プロセスの監査者に対して少なくとも１つのケイパビリティを定義するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１３】
前記定義するステップ２３０は、暗号化された監査ログ・レコードに関してビジネス・プロセス監査者に対して少なくとも１つのケイパビリティを定義するステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記定義するステップ２３０は、管理者がサーバ・プロセスに関する少なくとも１つのレコードを監視するための少なくとも１つのケイパビリティを定義するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１５】
前記定義するステップ２３０は、パーティが、少なくとも１つの暗号化されたキーワード検索に基づいて訴訟プロセス（ｌｉｔｉｇａｔｉｏｎ  ｐｒｏｃｅｓｓ）に関する少なくとも１つのレコードを取り出すための少なくとも１つのケイパビリティを定義するステップを含むことを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、参加者（複数可）に対して高信頼なクラウド・コンピューティングおよびデータ・サービスのためのフレームワークを提供すること、ならびに当該フレームワークに基づいた対応シナリオを提供することに関する。
【背景技術】
【０００２】
幾つかの従来型のシステムに関する背景技術として、従来、コンピューティング装置は当該装置にローカルなアプリケーションおよびデータ・サービスを実行してきた。かかる場合、データにアクセス、処理、記憶、キャッシュ、等すると、そのデータはローカル・バス、インタフェースおよび他のデータ経路を通って当該装置を流れるが、当該装置のユーザは、当該装置自体を紛失するかまたは当該装置自体が盗まれない限り、ユーザ・データが妨害されたり公開されることを心配する必要はなかった。
【０００３】
しかし、オンラインでクラウド型のサービスが発展するとともに、アプリケーションやサービスは、ユーザの装置に代わって所与のサービスの一部または全部を実施するネットワーク・プロバイダにますます移行されつつある。かかる場合、ユーザは、自身のデータがサービスにアップロードされている間、自身のデータが当該サービスによって格納されている間、または自身のデータが当該サービスから取り出されている間に、自身のデータに誰がアクセスしうるのか、または、これはおそらくさらに悪いことであるが、自身のデータを妨害しうるかということを気にするかもしれない。要は、ユーザ装置のデータが物理的に所有しうる領域から離れて、ユーザから離れたネットワーク環境に入ると、データがユーザによって物理的に所有されなくなった際のデータの取扱いに対する心配が自然と生ずることとなる。したがって、クラウド・サービスに対する信頼性と、クラウド・サービスに関連したデータの取扱いに対する信頼性を高めることが望ましい。
【０００４】
上述した今日の装置およびクラウド・サービスの欠点は、単に従来型システムの問題点の概要を幾つか提供することを意図したものであり、包括的であることを意図していない。一部の様々な非限定的実施形態の、最先端の、そして対応する利点に関する他の問題は、後述する発明を実施するための形態を参照すればさらに明らかになろう。
【発明の概要】
【０００５】
ここでは、発明を実施するための形態と添付図面で説明する例示的で非限定的な実施形態の様々な態様を基本的または一般的に理解できるようにするために、簡単な概要を提供する。しかし、本概要は、広汎的または包括的な概要を意図するものではない。むしろ、本概要の唯一の目的は、幾つかの例示的で非限定的な実施形態に関する幾つかの概念を、後述する様々な実施形態のより詳細な説明に対する前置きとして簡単な形で提示することである。
【０００６】
クラウドに格納されたデータに対する検索可能暗号技術を含むネットワーク・データ・サービスにデジタル・エスクロ・パターン（ｄｉｇｉｔａｌ  ｅｓｃｒｏｗ  ｐａｔｔｅｒｎ）を備え、信頼性を複数のエンティティに分散させて一点でのデータ暴露を回避する。一実施形態では、鍵生成器、暗号技術プロバイダ、およびクラウド・サービス・プロバイダはそれぞれ別々のエンティティとして提供され、それにより、データのパブリッシャがデータを機密に（暗号化された状態で）クラウド・サービス・プロバイダに発行し、暗号化データを、サブスクライバの要求に応答して生成された鍵情報にエンコードされたサブスクライバ識別情報に基づいてそのデータを要求するサブスクライバに選択的に公開することができる。
【０００７】
高信頼なクラウド・サービスのエコシステムに関する１組のシナリオが明らかとなり、これらのシナリオや様々な他の実施形態が以下でより詳細に説明される。
【０００８】
様々な非限定的な実施形態を、添付図面を参照してさらに説明する。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に従う、高信頼なクラウド・サービスのフレームワークまたはエコシステムの例示的で非限定的なブロック図である。
【図２】高信頼なクラウド・サービスのエコシステムに従ってデータを発行するための例示的で非限定的なプロセスを示す流れ図である。
【図３】高信頼なクラウド・サービスのエコシステムに従ってデータをサブスクライブするための例示的で非限定的なプロセスを示す流れ図である。
【図４】高信頼なエコシステムにおける、鍵生成センタ、暗号技術プロバイダ、およびクラウド・サービス・プロバイダ４２０を分離することを示す例示的なエコシステムを示す図である。
【図５】企業に対してクラウド・サービスを実施するための高信頼なエコシステムの利益を示す別のアーキテクチャ図である。
【図６】高信頼なクラウド・サービスのエコシステムに従う、ストレージ抽象化層６１０を介した様々なストレージ・プロバイダの収容を示す別のブロック図である。
【図７】様々なストレージ・プロバイダの記憶の詳細を抽象化するストレージ抽象化サービスに関連する別の記憶態様を示す図である。
【図８】高信頼なクラウド・サービスのエコシステムにおける様々な異なる参加者を示す別のブロック図である。
【図９】様々な部分を異なるエンティティまたは同一のエンティティによって提供しうる高信頼なクラウド・コンピューティング・システムの例示的で非限定的な実装からなる幾つかの層の代表図である。
【図１０】遅延バインディングを伴うデータに対するパブリッシャ制御型の選択的なアクセスを提供するように、デジタル・セーフ・アプリケーションにドキュメントを発行するための例示的で非限定的なプロセスおよび／またはシステムを示す、流れ図である。
【図１１】遅延バインディングを伴うデータに対するパブリッシャ制御型の選択的なアクセスを提供するように、デジタル・セーフ・アプリケーションにドキュメントを発行するための例示的で非限定的なプロセスおよび／またはシステムを示す、ブロック図である。
【図１２】デジタル・セーフ・シナリオに従ってデータをサブスクライブするための例示的で非限定的なプロセスおよび／またはシステムの流れ図である。
【図１３】デジタル・セーフ・シナリオに従ってデータをサブスクライブするための例示的で非限定的なプロセスおよび／またはシステムのブロック図である。
【図１４】デジタル・エスクロ・パターンを用いて１つまたは複数のデータ・センタを介した企業向けのセキュアなエクストラネットを実装する、高信頼なクラウド・サービスのエコシステムの例示的で非限定的な実装形態を示す図である。
【図１５】クラウド・サービス・プロバイダによって、格納された暗号化データに対する選択的なアクセスがサブスクライバに与えられる、高信頼なクラウド・サービスのエコシステムに基づく別の例示的で非限定的なシナリオを示す流れ図である。
【図１６】ユーザの認証情報に基づいてアプリケーション応答をサブスクライバに対してカスタマイズできることを示す別の流れ図である。
【図１７】単一のパーティまたは複数のパーティに対して実装可能な、セキュアなレコード・アップロード・シナリオを示す別の流れ図である。
【図１８】例えば単一のパーティによる自動化検索のための、高信頼なクラウド・サービスのエコシステムによって可能となる検索可能な暗号化データ・ストアに対する役割ベースの問合せの例示的で非限定的な実装形態を示すさらに別の流れ図である。
【図１９】１つまたは複数のシナリオに従う、企業、鍵生成センタ、およびクラウド・サービス・プロバイダ間の高信頼なクラウド・サービスのエコシステムの実装形態のブロック図である。
【図２０】企業がその暗号化データの一部に対するアクセスを外部企業に提供する、複数パーティの協調シナリオを示す流れ図である。
【図２１】複数企業間の複数パーティの自動化検索シナリオを示す流れ図である。
【図２２】１つまたは複数のシナリオに従う、複数企業、鍵生成センタ、およびクラウド・サービス・プロバイダ間の高信頼なクラウド・サービスのエコシステムの実装形態を示すブロック図である。
【図２３】高信頼なクラウド・サービス向けに実装可能な、例示的で非限定的なエッジ計算ネットワーク（ＥＣＮ）技術を示す図である。
【図２４】高信頼なクラウド・サービスのエコシステムに従う、鍵生成センタの１つまたは複数のオプション的な態様を示すブロック図である。
【図２５】妥当性確認（バリデーション）、例えばデータ所有の証明、を一実施形態における高信頼なデータ・サービスの提供に組み込むことを示す図である。
【図２６】妥当性確認（バリデーション）、例えばデータ所有の証明、を一実施形態における高信頼なデータ・サービスの提供に組み込むことを示す図である。
【図２７】高信頼なサービスのエコシステムに従う、データ・サービスの例示的なデータ妥当性確認を示すブロック図である。
【図２８】検証（ベリフィケーション）、例えば、取出し可能性の証明、を一実施形態における高信頼なデータ・サービスの提供に組み込むことを示す図である。
【図２９】検証（ベリフィケーション）、例えば、取出し可能性の証明、を一実施形態における高信頼なデータ・サービスの提供に組み込むことを示す図である。
【図３０】高信頼なサービスのエコシステムに従う、データ・サービスの例示的なデータ妥当性確認を示すブロック図である。
【図３１】サービス自体の提供とは無関係に、サービスの利用に適用可能な１組の異なる条件に基づいて使用するための、複数の異なるオーバレイまたはデジタル・エスクロ・バーティカル（ｄｉｇｉｔａｌ  ｅｓｃｒｏｗ  ｖｅｒｔｉｃａｌ）をパブリッシャおよびサブスクライバに提供することを示すブロック図である。
【図３２】本明細書で説明する様々な実施形態を実装可能な例示的で非限定的なネットワーク環境を表すブロック図である。
【図３３】本明細書で説明する様々な実施形態の１つまたは複数の態様を実装可能な例示的で非限定的なコンピューティング・システムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１０】
概要
背景技術で論じたように、ネットワーク・サービスに送信されたデータは、プライバシ、改ざんのおそれ、等に関する不安感を引き起こすおそれがある。すなわち、データがユーザの装置からネットワーク・アプリケーション、サービスまたはデータ・ストアに送信されると、ユーザは、悪意のある第三者が危害を加えることができないという十分な保証を求める。定義上は、ユーザはデータに対する制御を失っている。したがって、パブリッシャまたは所有者がサブスクライバの識別情報に基づいてサブスクライバに特権を与える場合を除き、データのパブリッシャおよび／または所有者が、ネットワークにおいて自身のデータが秘密で侵されないまま保持されると信頼し、自身のデータに対する物理的な制御をすすんで放棄できるように、信頼性を高めることが望ましい。
【００１１】
これに関して、従来型のネットワーク・サービスの提供に関わる信頼性の障壁を排除するため、上述の目的ならびに後述する様々な実施形態において強調する他の利点を実現する、高信頼なクラウド・コンピューティングおよびデータ・サービスのエコシステムまたはフレームワークを提供する。「クラウド」サービスという用語は、一般に、サービスがユーザの装置からローカルに実施されるのではなく、１つまたは複数のネットワークを介してアクセス可能な１つまたは複数のリモート装置からサービスが提供されるという概念を指す。ユーザの装置は、１つまたは複数の装置で起きていることを詳細に理解する必要がないので、ユーザの装置から見ると、サービスが「雲」から提供されているように見える。
【００１２】
一実施形態では、システムはデータを発行またはサブスクライブするための鍵情報を生成する鍵生成器を備える。鍵生成器とは独立に実装された暗号技術プロバイダが、鍵生成器によって生成された鍵情報に基づいて、検索可能な暗号／復号アルゴリズム（複数可）を実装する。さらに、ネットワーク・サービス・プロバイダが、鍵生成器および暗号技術プロバイダと独立に実装され、暗号技術プロバイダによって暗号化されたデータに関してネットワーク・サービスを提供する。
【００１３】
検索可能な暗号／復号アルゴリズム（複数可）に関して、１つまたは複数の暗号技術プロバイダによって実装されたキーワード検索可能公開鍵暗号（ＰＥＫＳ）方式が、任意の所与のメッセージＷに対して、トラップドアＴＷを生成する。それにより、ＴＷが、所与の暗号文がＷを暗号化したものであるか否かをチェックできるようにする。ここで、ＴＷはプレーンテキストに関していかなる追加的な情報も開示しない。後述する様々な実施形態によれば、ＰＥＫＳ方式を使用して、例えばメッセージ・テキストのようなデータに含まれるキーワードに基づいて、暗号化メッセージなどの暗号化データを優先順位付けまたはフィルタすることができる。したがって、対応するキーワード（複数可）に対するケイパビリティ（暗号作成者による「トラップドア」とも称することもある）を開放することによって、キーワード（複数可）に関する暗号化データの一部に対する選択的なアクセスをデータ受信者に与えることができる。このように、暗号化データをこれらのキーワードに対してチェックすることができるが、サブスクライバのケイパビリティが許容する以上にはサブスクライバが知り得ることはないことが保証される。
【００１４】
疑義を避けるため、本明細書の１つまたは複数の実施形態において検索可能な暗号化を実装するためのアルゴリズムとしてＰＥＫＳが開示されているが、検索可能な暗号化を実現するための様々な代替的なアルゴリズムが存在することは理解されよう。ＰＥＫＳに対する幾つかの例示的で非限定的な代替手段には、忘却型ＲＡＭ（Ｏｂｌｉｖｉｏｕｓ  ＲＡＭ）がある。このように、本明細書で用いる「検索可能な暗号化」という用語は、どの１つの技法にも限定されず、したがって、暗号化データに対する検索機能または問合せ機能に基づいて暗号化データのサブセットに選択的にアクセスできるようにする広範囲の暗号化機構または暗号化機構の組合せを指すものである。
【００１５】
場合によっては、結果の妥当性確認および／または検証を、エコシステムにおけるデータのサブスクライバおよびパブリッシャに対する追加の利益として提供することができる。妥当性確認により、データのサブセットに対するサブスクリプション要求の結果受信されるデータのアイテムが１組の正しいアイテムであること、すなわち、受信されるべきであった正しいデータのサブセットが実際に受信されたこと、の妥当性確認をする方法がもたらされる。暗号業界における１つの技法はデータ所有証明（ＰＤＰ、ｐｒｏｏｆ  ｏｆ  ｄａｔａ  ｐｏｓｓｅｓｓｉｏｎ）である。しかし、疑義を避けるため、ＰＤＰは実装できるアルゴリズムの例にすぎず、同一または同様の目的を達成する他のアルゴリズムを使用することができる。データ所有証明可能または証明（ＰＤＰ，ｐｒｏｖａｂｌｅ  ｏｒ  ｐｒｏｏｆ  ｏｆ  ｄａｔａ  ｐｏｓｓｅｓｓｉｏｎ）は、ストレージ・サーバがクライアントの恐らく大量の委託データを忠実に格納していることを頻繁に、効率的に、および安全に検証する方法に関するトピックである。ストレージ・サーバは、安全性および信頼性の両方の意味において信頼できないと仮定する。
【００１６】
結果の検証により、アイテムの内容自体のチェック、すなわち、サブスクリプション要求に関連して受信したアイテムがどの未許可のエンティティによっても改ざんされていなかったことを保証するための追加の機構がもたらされる。暗号業界における検証の例にデータ所有証明（ＰＤＰ）がある。しかし、疑義を避けるため、ＰＤＰは実装できるアルゴリズムの例にすぎず、同一または同様の目的を達成する他のアルゴリズムを使用することができる。暗号業界で公知な別の技法は取出可能性証明（ＰＯＲ、ｐｒｏｏｆ  ｏｆ  ｒｅｔｒｉｅｖａｂｉｌｉｔｙ）である。しかし、疑義を避けるため、ＰＯＲは実装できるアルゴリズムの例にすぎず、同一または同様の目的を達成する他のアルゴリズムを使用することができる。ＰＯＲは、ターゲット・ファイルＦが、クライアントがファイルＦを完全に回復可能であるという意味で完全であり、かつ、改ざんが行われていないということの、サービス・プロバイダまたはデータ・ホスタ（証明器）からクライアント（ベリファイア）へのコンパクトな証明である。
【００１７】
追加のオプションとして、エコシステムは匿名の認証情報という概念を実装することができ、それにより、パブリッシャは自身に関する情報を、重要な詳細事項を公開することなく匿名にアップロードすることができ、サブスクライバをそのケイパビリティによって制限して、パブリッシャによってアップロードされた重要な詳細事項がサブスクライバに公開され得ず、または、かかる詳細事項にサブスクライバがアクセスできないようにすることができる。このように、パブリッシャまたはサブスクライバは、自身が第三者に公開したい情報のみを公開しつつ、システムと相互に作用することができる。
【００１８】
従来型のウェブ・サービスは静的なクライアント・サーバ構成、および、ウェブ・サービスのデータにアクセスするための静的に定義されたユーザ・ポリシに限定されてきた。しかし、多くのパブリッシャおよびサブスクライバが、複雑なビジネスおよび他の関係の継続的な変化および発展に従って考慮されると、上記の従来型のウェブ・サービス・モデルの柔軟性または安全性は不十分となる。従って、様々な実施形態では、遅延バインディングを可能として、データおよびコンテンツのパブリッシャおよび／または所有者が、誰がサブスクライバ（複数可）であるかに基づいて、サブスクライバのケイパビリティ（複数可）に基づいて、およびサブスクライバが何を求めているかに基づいて、例えば、データ要求において使用されたキーワード（複数可）に基づいて、暗号化コンテンツに対するアクセス特権を変更できるようにする。したがって、鍵生成器によってオンザフライで提供される鍵情報でサブスクライバのケイパビリティがエンコードされているので、サブスクライバが選択的にアクセスできるものは、パブリッシャおよび／または所有者によるアクセス権の変更と一致して動的に変化する。このように、サブスクライバの特権が所与の要求に対して、その要求に対する鍵生成の時点で定義されるので、常に、サブスクライバからの要求に関して最新のポリシを反映する。
【００１９】
一実施形態では、選択的にアクセス可能な、例えば検索可能な、暗号化データを公開するデータ・ストアが提供される。この場合、少なくとも１つのパブリッシャが、リソース（複数可）を表すデータをデータ・ストアに発行する。信頼性が悪用される可能性を分割して、第１の独立エンティティが暗号化鍵情報の生成を行う。次いで、第２の独立エンティティが、第１の独立エンティティによって生成された暗号鍵情報に基づいて、公開データを格納する前に公開データの暗号化を行う。次いで、１組のネットワークまたはクラウド・サービスが、リソース（複数可）のパブリッシャ（複数可）または所有者（複数可）によって付与された、遅延バインディング後の選択された特権に基づいて、ネットワーク・サービスに対する所与の要求に関する暗号化データに選択的にアクセスする。
【００２０】
他の実施形態では、データ・ストアが選択的にアクセス可能な暗号化データを記憶し、サブスクライバ（複数可）が指定された暗号化データのサブセットをサブスクライブする。第１の独立エンティティがサブスクライバ（複数可）に関連付けられた識別情報に基づいて暗号化鍵情報を生成し、第２の独立エンティティが、第１の独立エンティティが生成した暗号鍵情報に基づいて指定サブセットの復号化を行う。ネットワーク・サービス（複数可）は、指定サブセットのパブリッシャまたは所有者によって付与された、遅延バインディング後の選択された特権に基づいて、サブスクライバ（複数可）の要求に応答し、暗号化データに対する選択的なアクセスを提供する。
【００２１】
この点において、パブリッシャおよびサブスクライバという用語は一般に、それぞれ高信頼なクラウド・サービスのデータを発行またはサブスクライブする任意のものを指す。しかし、実際は、高信頼なクラウド・サービスのエコシステムおよびデジタル・エスクロ・パターンの業界、分野、またはアプリケーションに応じて、パブリッシャおよびサブスクライバは複数の具体的な役割を担う。例えば、暗号化データ・ストアの監査者は、監査者の役割に基づいて、電子メール・ストア内の特定の攻撃的なキーワードを特定するためのケイパビリティのような特定のケイパビリティを有することができるが、攻撃的なキーワードを含まない電子メールを読むことは禁止される。
【００２２】
同様に、高信頼なクラウド・サービスのサーバ管理者はサーバが取り扱うアクティビティとデータ・トランザクションのログを見ることができるが、当該サーバ管理者が任意の顧客の名前またはクレジット・カード情報を見ることを制限することもできる。このように、サブスクライバの識別情報を、サブスクライバがアクセスできるデータの種類を制限するための基礎とすることができる。
【００２３】
高信頼なエコシステムの様々な非限定的な実施形態を、クラウド・サービスに対する信頼性構築の文脈で提示したが、本明細書で提供したエコシステムの信頼性構築はかなり一般的なものであり、クラウド・サービスへの適用に限定されない。そうではなく、本明細書で説明した実施形態は企業のデータ・センタ内の様々なサーバまたは参加者に対して同様に適用可能である。従って、データが所与のエンティティを決して離れ得ないが、本明細書で説明した信頼性構築の技法は、企業内の様々なプロセスが別々の制御領域内で動作する場合にも等しく適用可能である。全ての企業のプロセスにわたる可視性がなければ、あたかも参加者が企業外部にいたかのような同様な不信頼の問題が生じ得る。例えば、サーバが管理者の制御下にあるにも関わらずサーバが企業内で侵される可能性があり、または、管理者が不注意であるかもしくは悪意がある可能性がある。
【００２４】
クラウド内の暗号化データに適用することに加えて、ラップトップが紛失または盗難されるおそれがあるので、本発明の様々な技法をラップトップまたは他のポータブル・デバイス上に記憶されたデータにも適用することができる。かかる場合、装置は過度に関心を示すエンティティまたは過度に悪意のあるエンティティにより所有されることになりうるが、クラウド内のデータを保護するために適用される本明細書に記載の同一の技法をサーバまたはラップトップ上のデータを保護するために適用することもできる。ローカル・データが暗号化される場合、正しいサブスクライバの認証情報がなければ、ローカルな暗号化データが、そのデータにアクセスするための正しい役割またはケイパビリティを示すことができないことを、ハッカーは理解することができない。
【００２５】
これらおよび他の、様々な例示的かつ非限定的な実施形態およびシナリオを以下で与える。
【００２６】
高信頼なクラウド・サービスのエコシステム
述べたように、クラウドに格納されたデータに対する検索可能暗号化技法を含むネットワーク・データ・サービスに対してデジタル・エスクロ・パターンを与え、信頼性を複数のエンティティに分散させて単一エンティティによる情報漏洩を回避する。一実施形態では、鍵生成器、暗号技術プロバイダ、およびクラウド・サービス・プロバイダはそれぞれ別々のエンティティとして提供され、それにより、データのパブリッシャがデータを機密に（暗号化された状態で）クラウド・サービス・プロバイダに発行し、暗号化データを、サブスクライバの要求に応答して生成された鍵情報にエンコードされたサブスクライバ識別情報に基づいてそのデータを要求するサブスクライバに選択的に公開することができる。
【００２７】
図１は、一実施形態に従う、高信頼なクラウド・サービスのフレームワークまたはエコシステムのブロック図である。システムは、検索可能な暗号化データ１１０を、妥当性確認および／または検証を受けているサブスクライバ要求の結果とともに格納するための高信頼なデータ・ストア１００を含む。これに関し、ネットワーク・サービス１２０をセキュア・データ１１０の上に構築して、データのパブリッシャが、そのデータを要求したサブスクライバ１４０に付与されたケイパビリティに対する制御を例えばネットワーク・サービス（複数可）１２０を介して保持できるようにすることができる。パブリッシャ１３０はサブスクライバ１４０であることもでき、またその逆であることもでき、データの所有者１５０は同様にパブリッシャ１３０および／またはサブスクライバ１４０であることができる。定義しうる幾つかの共通的な役割および対応する複数の組のケイパビリティの例として、特種なパブリッシャ１３０とサブスクライバ１４０が、管理者１６０および監査者１７０である。
【００２８】
例えば、管理者１６０は、高信頼なデータ・ストア１００の動作の維持を支援するための、データ１１０上の１組の特殊なパーミッションであることができ、監査者エンティティ１７０は監査範囲内の特定のデータの完全性の維持を支援することができる。例えば、監査者１７０は攻撃的なキーワードを含むデータ・メッセージ１１０をサブスクライブすることができ、この場合、監査者１７０は、付与されたケイパビリティに従って許可されるならば、データ・メッセージ１１０がかかる攻撃的なキーワードを含む場合に警告を受けることができるが、他のメッセージを読むことはできない。これに関して、無数のシナリオを、パブリッシャ・データをデジタル・エスクロに置く機能に基づいて構築し、パブリッシャ・データへの選択的なアクセスを可能とする鍵を開放することができる。
【００２９】
例えば、パブリッシャがエコシステムに対して認証し、そのエコシステムにアップロードするための１組のドキュメントを特定する。そのドキュメントは、暗号鍵情報を生成する別個の鍵生成器から受け取った暗号鍵情報に基づいて、検索可能な暗号アルゴリズムに従って暗号化される。次いで、その暗号化データが、その暗号化データを記憶するためのネットワーク・サービス・プロバイダに送信され、要求側の装置の識別情報に基づいてその要求側の装置に付与された選択された特権の遅延バインディングに従って、その暗号化データが選択的にアクセス可能となる。暗号化技術プロバイダを暗号化データのストレージから切り離すことで、暗号化データがさらに情報漏洩することを防止する。
【００３０】
これに関して、図２は、高信頼なクラウド・サービスのエコシステムに従ってデータを発行するための例示的で非限定的な方法を示す流れ図である。２００で、パブリッシャがシステムに対して認証する（例えば、パブリッシャがユーザ名とパスワード、ＬｉｖｅＩＤ認証情報、等でログインする）。２１０で、以下の１つまたは複数の実施形態で説明する鍵生成局のような鍵生成器により、鍵情報が生成される。２２０で、別個の暗号技術プロバイダが１組のパブリッシャ・ドキュメントをその鍵情報に基づいて暗号化する。２３０で、暗号化ドキュメントがケイパビリティとともに例えばストレージ・サービス・プロバイダのようなネットワーク・サービス・プロバイダにアップロードされ、暗号化ドキュメント（複数可）が要求側の装置（サブスクライバ）の識別情報に基づいて付与された選択された特権の遅延バインディングで選択的にアクセス可能となる。
【００３１】
サブスクライバ側では、例えば、サブスクライバがエコシステムに対して認証し、データのサブセットに対する要求、例えば、所与のキーワードまたは１組のキーワードを含む、ドキュメントのサブセットに対する問合せを示す。検索可能な暗号化データのサブセットに対する少なくとも１つのサブスクライバ装置からの要求に応答して、鍵生成コンポーネントが、そのサブスクライバ装置に関連付けられた識別情報に基づいて暗号鍵情報を生成する。次いで、暗号化データのサブセットが、暗号鍵情報で定義された、サブスクライバ装置に付与された特権の関数として復号化される。
【００３２】
図３は、高信頼なクラウド・サービスのエコシステムに従ってデータをサブスクライブするための例示的で非限定的な方法を示す流れ図である。３００で、データをサブスクライブするための方法は、サブスクライバを認証すること（例えば、サブスクライバがユーザ名とパスワード、ＬｉｖｅＩＤ認証情報、等）を含む。３１０で、サブスクライバがデータ要求を作成する。３２０で、鍵情報がサブスクライバ要求に基づいて独立な鍵生成エンティティによって生成される。この場合、サブスクライバのケイパビリティを鍵情報内で定義することができる。３３０で、パブリッシャ・データのサブセットを、鍵情報内で定義されたケイパビリティに基づいて復号する。例えば、ＣＳＰがデータを復号化することができる。３４０で、パブリッシャ・データのサブセットがサブスクライバにアクセス可能となる。例えば、サブスクライバが、所有者／パブリッシャによって付与された動的に定義可能なケイパビリティに基づいて、データをダウンロード、参照、処理、変更することができる。場合によっては、暗号化、復号化および鍵生成に使用される技術を別個の暗号化技術プロバイダによって供給することができるが、任意の参加者によってホストすることもできる。
【００３３】
一実施形態では、サブスクライバ装置の識別情報はサブスクライバの役割を含む。例えば、監査者の役割、管理者の役割、または他の所定の役割を、検索可能な暗号化データ・ストアの様々な部分に対するアクセスを制限または付与するための基盤としてパブリッシャ／所有者によって使用することができる。
【００３４】
図４は、鍵生成センタ（ＣＫＧ）４００、暗号化技術プロバイダ（ＣＴＰ）４１０およびクラウド・サービス・プロバイダ（ＣＳＰ）４２０を分離することにより、高信頼なエコシステムにおいて単一のエンティティにより情報漏洩が生じる可能性を削減することを示す、例示的なエコシステムを示す。これに関して、カスタマ（複数可）４３０にはデータのパブリッシャおよび／またはサブスクライバが含まれる。場合によっては、ＣＫＧ４００を、例えばＣＴＰ４１０によって提供される、リファレンス・ソフトウェア、オープン・ソース・ソフトウェア、および／またはソフトウェア開発キット（ＳＤＫ）に基づいて構築して、パーティ向けのビルディング・ブロックがかかるコンポーネントを自身で生成するか、または、上記ビルディング・ブロックを、かかるエコシステムのコンポーネントの第三者実装によって満足させることができる。一実施形態では、ＳＤＫはＣＴＰ４１０によって提供され、ＳＤＫを、ＣＫＧ４００、後でより詳細に説明する計算記憶抽象化（ＣＳＡ、ｃｏｍｐｕｔｅ  ａｎｄ  ｓｔｏｒａｇｅ  ａｂｓｔｒａｃｔｉｏｎ）および／または暗号化クライアント・ライブラリをホストまたは実装するための１つまたは複数の参加者によって使用することができる。場合によっては、ＳＤＫを、ＣＴＰ４００からＣＫＧ４００をホストするエンティティに配信することができる。
【００３５】
一般に、ＣＫＧ４００、ＣＴＰ４１０またはＣＳＰ４２０の各々を、所与の実装形態に応じてサブコンポーネントにさらに分割することができるが、その分割全体において信頼性は維持されている。例えば、マスタ公開鍵（ＭＰＫ）配信４０２のようなＣＫＧエンティティ４０１、クライアント・ライブラリ・ダウンローダ４０４、秘密鍵抽出器４０６、信頼性ベリファイア４０８、または他のサブコンポーネントを、別々に、サブセットで、または、統合コンポーネントとして一緒に、提供することができる。エンコードおよびデコード向けクライアント・アプリケーション４１２のようなＣＴＰエンティティ４１１、代替的な暗号化技法４１４、ＣＫＧとインタフェースするためのアプリケーション４１６、他の暗号化ビルディング・ブロック４１８、等もまた、別々に、サブセットで、または、一緒に、提供することができる。さらに、ＣＳＰ４２０を、それぞれ、記憶装置４２４をホストするＣＳＰ４２２、４２６およびサービス・ホスティング４２８のような多数の別個のサービス・プロバイダと考えることができる。または、かかるサービスを一緒に提供することができる。
【００３６】
ＣＫＧ、または高信頼なエコシステム内の１つもしくは複数の参加者によってホストされるＣＫＧインスタンス（複数可）は単一のエンティティである必要はない。むしろ、ＣＫＧを、鍵を生成するように協調する複数の（冗長な）エンティティに分けて、少数の参加者のサブセットがオフラインであっても動作が継続できるようにすることができる。一実施形態では、場合によっては、１組の参加者を、少数のこれらの参加者が敵によって情報漏洩されていても全体として信頼でき、または、利用不可もしくは信頼できないとすることができる。
【００３７】
図５は、企業５００向けのクラウド・サービスを実施するための高信頼なエコシステムのさらなる利益を示す別のアーキテクチャ図である。例えば、企業５００は異なる組織５０２、５０４、５０６、５０８を含むことができる。本図における異なる組織５０２、５０４、５０６、５０８は、組織が、システムまたは鍵生成を使用するためのポリシを実装することに関して出来るだけ多くのまたは出来るだけ少ない所有権を有することができることを示す。例えば、組織５０２はその自身のポリシ５１２を実装するが、集約化された鍵生成器５２２を使用し、一方で、組織５０４は自身の鍵生成器５２４を実装し自身のポリシ５１４を実装することを選択している。組織５０６はまた、自身のポリシを実装するが、第三者のＣＫＧ５２６に依存し、一方で、組織５０８は第三者のポリシ・プロバイダ５１８と独立なＣＫＧ５２８とに依存することを選択している。
【００３８】
これに関して、データを発行するために、パブリッシャ５４０はＣＫＧ５２２からの出力に基づいてデータを暗号化するための公開パラメータを取得する（５３５）。５４５で、公開パラメータに基づいて、独立な暗号技術プロバイダを用いてデータがパブリッシャ装置５４０によって暗号化される。暗号化データがストレージ抽象化サービス５５０にアップロードされ、ストレージ抽象化サービス５５０が、ＣＳＰ５７２、５７４、５７６または５７８のような１つまたは複数のＣＳＰ５７０によって、暗号化データを記憶することに関連して記憶の詳細を隠蔽する。サブスクライバ装置５６０側では、データ要求の結果、ＣＫＧ５２２からプライベート秘密鍵が生成される（５６５）。プライベート秘密鍵５６５は、５５５でデータを復号化することによってサブスクライバ装置５６０が検索可能な暗号化データに選択的にアクセスできるようにする情報を含む。再度、ＣＳＰ５７０からのデータの取り出しの詳細はストレージ抽象化サービス５５０によって隠蔽される。また、サブスクライバ装置５６０に付与された特権は、パブリッシャ／所有者によって付与されたケイパビリティの遅延バインディングのため、１組の最新の特権となっている。
【００３９】
企業または消費者のいずれかである複数のデータ所有者が、本明細書で説明したように高信頼なエコシステムに参加して信頼関係を確立できることは図５から理解されよう。かかる場合、各所有者は、自身のＣＫＧ（例えば、組織５０４のＣＫＧ５２４）をホストまたは制御することにより、データ要求またはデータ問合せが対応するＣＫＧに転送されてその要求データの全ての共有者から必要な鍵を収集することができる。
【００４０】
図６は、ストレージ抽象化層６１０を介した別のストレージ・プロバイダの収容を示す別のブロック図である。高信頼なエコシステムで、それぞれクライアント・アプリケーション６４０、６４２を有するデスクトップ６３０、６３２が、上述のようにデータを発行またはサブスクライブして、データを暗号化または復号化する際に使用する鍵情報に対する鍵生成センタ６２０への要求を開始することができる。同様に、サービス６４４、６４６、６４８もまたエコシステム内のパブリッシャおよび／またはサブスクライバであることができる。これに関して、プライベート・クラウド・ストア６００、ＳＱＬデータ・サービス・ストア６０２、または単純なストレージ・ウェブ・サービス６０４、等の何れかによってデータを格納または抽出するために、ストレージ抽象化サービス６１０が、その名前が示唆するように、特定の１つまたは複数のストレージ・リポジトリに関する詳細をクライアントから抽象化する。
【００４１】
これに関して、疑義を回避するため、図６は複数の場面に関する。１つの場面では、図６は、（ストレージ・プロバイダを個々から抽象化して）ストレージ抽象化サービスを介したストレージ・プロバイダの中抜きをカバーする。ストレージ抽象化サービスを場合によっては計算記憶抽象化（ＣＳＡ）とも称する。さらに、図６は、データが（例えば、冗長化のために）、同一または別のタイプでありうる複数のバックエンドのストレージ・プロバイダにセグメント化および／またはファンアウトされ、１つ（または少数の）バックエンドのストレージ・プロバイダがそのデータのコピーを偶然にまたは故意に削除または変更した場合でも、元のデータを再構築できるシナリオをカバーする。
【００４２】
図７は、プライベート・クラウド・ストア７００、ＳＱＬデータ・ストア７０２、単純なストレージ・ウェブ・サービス・ストア７０４、等の記憶の詳細を抽象化する、サーバ・オペレーティング・システム（ＯＳ）７１４およびストレージ・サービス７１２を含むストレージ抽象化サービス７１０と関連した記憶の態様をさらに示す。クライアントは、それぞれクライアント・アプリケーション７４０および７４２を有するデスクトップ７５０または７５２であることができる。鍵生成センタ７２０は、サーバＯＳ７２４上で実行される鍵生成アプリケーション７２２を含むことができる。これに関して、アクティブ・ディレクトリ７３６、サーバＯＳ７３４およびセキュリティ・トークン・サービス（ＳＴＳ）７３２を有する組織７３０がエコシステム内のパブリッシャまたはサブスクライバであることができる。これに関して、ストレージ転送フォーマット（ＳＴＦ）は、暗号化データおよびメタデータをリポジトリにわたって交換するために使用できる標準的な交換フォーマットである。例えば、組織７３０は電子メール・データをストレージ・サービス・プロバイダ７００、７０２、または７０４の間で転送したいかもしれない。この場合、ＳＴＦを使用することができる。
【００４３】
図８は、高信頼なエコシステム８０２における様々な異なる参加者を示す別のブロック図である。述べたように、企業８００は有利に大量のデータの記憶とメンテナンスをオンサイトから、かかる大量のデータの取扱いにより適したクラウド・ストレージ・サービス・プロバイダに開放し、同時に、企業が暗号化データ上に定義されたケイパビリティに対する制御を維持するのでデータが誤ったサブスクライバに対して復号化されないという満足感を維持することができる。例えば、組織８０２はＳｈａｒｅＰｏｉｎｔのような共同作業アプリケーション８１２を運用することができる。これに関して、組織８０２はデジタル・エスクロ、または高信頼なドメインを、ＳｈａｒｅＰｏｉｎｔデータに対してセットアップすることができる。ポリシ８３２およびＣＫＧ８３４を第１のデータ・センタ８３０によって実装することができる。第１のデータ・センタ８３０は、暗号化鍵情報を高信頼なドメインに対して定義することにより、セキュアな空間をセットアップするように動作する（８４５）。
【００４４】
次いで、別の組織８０４が、例えば、パブリッシャ８１４として振る舞って、ＣＫＧ８３４から得た鍵情報に基づいてデータを暗号化することができ、この時点で、コンピュータおよび第２のデータ・センタ８４０のストレージ抽象化コンポーネント８４２が、検索可能な暗号化データを第３のデータ・センタ８５０、例えば、ＣＳＰ８５２に格納する詳細を取り扱う。反対側では、組織８０４のサブスクライバ８１６がデータを要求すると、プライベート鍵情報または秘密鍵情報が抽出８６５の一部としてサブスクライバ８１６に送達される。次に、８７５で、サブスクライバが特権を有することを前提に、サブスクライバ向けに定義されたケイパビリティを含むプライベート鍵情報に基づいて、サブスクライバが要求したデータが復号化され、再度、抽象化層８４２が根底にあるストレージ８５２の詳細を取り扱う。
【００４５】
図９は、様々な部分を異なるエンティティまたは同じエンティティによって提供しうる高信頼なクラウド・コンピューティング・システムの例示的で非限定的な実装からなる幾つかの層の代表図である。層スタックの最下層は、暗号化／復号化アルゴリズムを実装するために使用される数学および暗号化ライブラリ９８６である。様々な暗号化方式の定義の抽象化を、詳細ライブラリ９８６および検索可能暗号化方式９８２の実際の実装の間にある中間層９８４として提供することができる。層９８２、９８４、９８６は一体となってより大きな暗号化サービス層９８０を形成する。かかる暗号化サービス層９８０は、ＳａａＳ（ｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ）アプリケーション・エコシステム向けの抽象化層９６０と組み合わされると、高信頼なデジタル・エスクロ９７０およびかかるデジタル・エスクロ９７０向けのストレージの実装に対する基盤を形成する。抽象化層９６０は、デジタル・エスクロ・パターンの実装に使用される基本言語、すなわち、ＳｅｔＵｐ（）、Ｅｎｃｒｙｐｔ（）、Ｅｘｔｒａｃｔ（）、Ｄｅｃｒｙｐｔ（）、等のようなコマンドを含む。
【００４６】
抽象化層９６０の上には、様々なより詳細なプラットフォーム技術（例えば、ＳＤＳ、Ａｚｕｒｅ、Ｂａｃｋｕｐ／Ａｒｃｈｉｖｅ、ＲＭＳ、ＳＴＳ、等）に結合した層９５０がある。様々な詳細なプラットフォーム技術に結合した層９５０の上には、高信頼なデジタル・エスクロ９００を使用する様々なＳａａＳアプリケーションがある。この例示的で非限定的な図では、デジタル・エスクロ・アプリケーション９００を単一の企業９１０によって、パートナ９３０によって、またはその両方によって実装できることを示す。例えば、企業９１０は高性能コンピューティング（ＨＰＣ）、電子証拠開示および法定開示９１４、Ｌｉｖｅ  Ｓｅｒｖｉｃｅ９１６（例えば、ＤＢｏｘ）、サービスとしてのバックアップ／アーカイブ９１８、監査ログビジネス・プロセスおよび監視９２０または他のクラウド・サービス９２２のような、サービスを実装することができる。一方、パートナ９３０は電子信用状（ｅＬｅｔｔｅｒＯｆＣｒｅｄｉｔ）９３２、バーティカル向けサービス（ｓｅｒｖｉｃｅ  ｆｏｒ  ｖｅｒｔｉｃａｌｓ）としてのＨＰＣ９３４、電子健康サービス、セキュア・エクストラネット９３８、コンプライアンス９４０、法律サポート９４２、等を実装することができる。
【００４７】
高信頼なクラウド・サービスのエコシステムに基づくシナリオ
図９の上半分は、鍵生成器、暗号化プロバイダ、およびクラウド・サービス・プロバイダの分割に固有な高信頼性に起因した、クラウド内で実現可能なアプリケーションのタイプのサーフェスを示す。これに関して、かかる高信頼なクラウド・サービスのエコシステムが可能となり、本明細書で説明した高信頼なエコシステムの１つまたは複数の利益を利用する１組のリッチなサービスとシナリオを実現することができる。
【００４８】
例えば、図１０は、上述の遅延バインディングを伴うデータに対するパブリッシャ制御型の選択的なアクセスを提供するようにデジタル・セーフなアプリケーションにドキュメントを発行するための例示的で非限定的なプロセスの流れ図である。１０００で、装置が認証する（例えば、装置がユーザ名とパスワード、パスワード認証情報、生体認証情報、ＬｉｖｅＩＤ認証情報、等でログインする）。１０１０で、ドキュメント（複数可）がアップロードされ、タグが入力される。１０２０で、タグがエスクロ・エージェントに送信され、ハッシュ化されたタグがそれに応答してエスクロ・エージェントから受信される。これに関して、タグを上述のように供給することができ、または、ペイロード（レコード、ドキュメント）から、例えば、フルテキスト・インデクシングを介して、自動的に抽出することができる。１０３０で、クライアントがパブリッシャの鍵情報でドキュメントを暗号化し、ドキュメント（複数可）が、そのドキュメント（複数可）に関するサブスクライバ向けのケイパビリティにそってセキュアなデジタル・クラウド・ストレージ・プロバイダに送られる。１０４０で、セキュアなデジタル・クラウド・ストレージ・プロバイダが、暗号化されたブロブを、例えばストレージ抽象化層に相対して、ストレージ・サービスに送信する。
【００４９】
図１１は、図１０の動作を図１１にといてラベル付けした、高信頼なエコシステム内の様々な参加者のコンテキストで図１０を示すものである。これに関して、クライアント１１１０の認証情報１１１０から開始して、１０００が行われる。次に、１０１０がクライアント１１１０で行われる。次に、タグをエスクロ・エージェント１１２０に送信し、ハッシュ化されたタグを受信するステップが１０２０で表される。次に、１０３０で示すように、クライアント１１１０がドキュメントを暗号化し、当該ドキュメントをデジタル・セーフ・サービス１１３０に送信する。最後に、１０４０で表すように、暗号化されたブロブがストレージ・サービス１１４０に送信される。ついで、ドキュメント（複数可）とともに送信されるかまたは後に更新されるケイパビリティが許すならば、サブスクライバに対して、ユーザのサブセットに対するアクセスを付与することができる。
【００５０】
図１２は、デジタル・セーフに配置された要素をサブスクライブするための例示的で非限定的なプロセスの流れ図である。１２００で、サブスクライバが認証され、クライアント装置がタグをエスクロ・エージェントに送信する。そのエスクロ・エージェントは、１２１０で、それに応答してハッシュ化されたタグを返す。次いで、１２２０でクライアントがハッシュ化されたタグをデジタル・セーフ・サービスに送信し、ハッシュ化されたタグが、クライアントがストレージ・サービスによって実行されるその検索要求を１２３０で実行する権限を全体的にまたは部分的に有するか否かを理解するために、解釈される。
【００５１】
図１３は、図１１と同様に参加者に重畳した図１２の動作を表す。すなわち、動作１２００に対してクライアント１３１０とその認証情報１３００、動作１２１０に対してクライアント１３１０とエスクロ・エージェント１３２０、動作１２２０に対してクライアント１３１０とデジタル・セーフ・サービス１３３０、および動作１２３０に対してデジタル・セーフ・サービス１３３０とストレージ・サービス１３４０が重畳されている。
【００５２】
図１１および図１３では、エスクロ・エージェント１１２０、１３２０はＣＫＧ、またはＣＫＧのコンポーネントであることができる。または、エスクロ・エージェント１１２０、１３２０は別個の参加者によってホストされるＣＫＧインスタンスであることができ、それにより、エスクロ・エージェント１１２０、１３２０が、クライアントに代わって暗号化／復号化を行っている高信頼なエンティティとなる。これに関して、参加者間の設計上のトレードオフと関係により、エスクロ・エージェント１１２０、１３２０の機能と範囲を記述することができる。例えば、ローエンドのクライアントに対しては、クライアントの機能を高信頼なプロキシ・サービスに開放することが、高負荷の処理を実施するために必要であるかもしれない。
【００５３】
図１４は、１つまたは複数のデータ・センタを介した企業向けのセキュアなエクストラネットを実装するためにデジタル・エスクロ・パターンを用いた、高信頼なクラウド・サービスの例示的で非限定的な実装形態を示す。上述のように、高信頼なコンピューティング・エコシステムは、暗号化技術プロバイダ（ＣＴＰ）１４１０とは別個に実装された鍵生成センタ１４００を含むことができる。暗号化技術プロバイダ（ＣＴＰ）１４１０は、１つまたは複数のクラウド・サービス・プロバイダ（ＣＳＰ）１４２０とは別個に実装されるエコシステムと一致する暗号化技法を実装することに使用される参照情報を提供する。例示的で非限定的なセキュアなエクストラネットの実装形態において、１４８０は、企業が、共有リポジトリ１４７０（例えば、ＳｈａｒｅＰｏｉｎｔ）および、共有リポジトリ１４７０内のドキュメントと関連して使用される設計アプリケーションまたは分析アプリケーションのリポジトリ１４６０を維持することを示す。ビジネス・ソフトウェア１４４０（例えば、Ｓｅｎｔｉｎｅｌ）は、デスクトップ１４５０を有するコンピュータ向けのアプリケーションまたはサーバの性能等を監視することができる。
【００５４】
これに関して、高信頼なクラウド・サービスのエコシステムでは、１４８４で示すように、デスクトップ１４５０を用いるサブスクライバが、ストレージから選択的にアクセス可能または暗号化された情報を求めると、セキュリティ・トークン・サービス１４３０が、サブスクライバ１４８２を特定するための何らかの情報を配信して、第１のデータ・センタのＣＫＧ層１４０２のインタフェースを介してＣＫＧ１４００に問い合わせることができる。ＣＫＧ１４００は、１４８６で示すように鍵情報を返す。この鍵情報を、ストレージ抽象化サービス１４２２を介してデータ・サービス１４２４によって保持されるデータに選択的にアクセスするために使用することができる。よって、企業内のサブスクライバの役割に従って、任意の種類のデータを企業にわたって、かつ、選択的に共有することができる。
【００５５】
図１５は、例えば企業内において、ＣＳＰによって格納された暗号化データに対する選択的なアクセスがサブスクライバに与えられる、高信頼なクラウド・サービスのエコシステムに基づく別の例示的で非限定的なシナリオを示す流れ図である。先ず、サブスクライバの装置が暗号化データに対するアクセスについて何らの権限も獲得していない。しかし、１５００で、暗号化データの一部または全部に対する要求を作成することにより、例えば、アプリケーションと対話することにより、１５１０で、アプリケーションは自動的に、（暗号技術の用語で）クレームを取得するために対応するＳＴＳと通信する。１５２０で、アプリケーションはＣＫＧと通信して、サブスクライバに対するケイパビリティに関する情報をエンコードする鍵情報を取得する（ケイパビリティは、暗号技術の用語ではトラップドアと称される場合もあるが、ケイパビリティという用語は、トラップドアが一般的に出現するコンテキストに限定されない）。最後に、１５３０で、アプリケーションは鍵情報をＣＳＰに提供し、ＣＳＰは、サブスクライバのケイパビリティが許可する範囲で暗号化データに対する検索または問合せを許可する。
【００５６】
図１６は、サインイン情報に基づいてアプリケーション応答をサブスクライバに対してカスタマイズできることを示す別の流れ図である。例えば、１６００で、ユーザＩＤ情報がアプリケーションによって受け取られる。１６１０で、アプリケーションが関連するクレームをＳＴＳから取得する。１６２０で、ユーザＩＤ情報に関連付けられたユーザによって提供される１つまたは複数の役割に基づいて、エクスペリエンスをこれらの役割に対する特権／制限と釣り合うようにカスタマイズすることができる。例えば、企業の最高財務責任者がその企業の暗号化データに対するビューとして与えられるユーザ・エクスペリエンスは、郵便室の従業員に与えられたその企業の暗号化データに対するビューとは異なるユーザ・エクスペリエンスであることができるし、そうあるべきである。図１６は、単一パーティまたは複数パーティのログイン・シナリオに適用することができる。
【００５７】
図１７は、単一のパーティまたは複数のパーティに対して実装可能な、セキュアなレコード・アップロード・シナリオを示す別の流れ図である。１７００で、レコードおよびキーワードがアプリケーションによって受信される。例えば、レコードおよびキーワードがそのアプリケーションを有する装置のユーザにより提供または設計される。１７１０で、アプリケーションがマスタ公開鍵（ＭＰＫ）を取得し、キーワード検索可能公開鍵暗号（ＰＥＫＳ）アルゴリズム（複数可）を適用する。場合によっては、ＭＰＫをアプリケーションによってキャッシュすることができる。１７２０で、アプリケーションは暗号化レコードを、例えばストレージ抽象化層を介して、ＣＳＰリポジトリに入力する。
【００５８】
図１８は、例えば単一のパーティによる自動化検索のための、高信頼なクラウド・サービスのエコシステムによって可能となる検索可能な暗号化データ・ストア上の役割ベースの問合せの例示的で非限定的な実装形態を示すさらに別の流れ図である。１８００で、結合問合せがアプリケーションによって受け取るかまたは開始される。１８１０で、アプリケーションが関連するクレームをＳＴＳから取得する。例えば、ＳＴＳはユーザの役割（複数可）を適切な問合せグループ（複数可）にマップし、所与の役割（複数可）に対する適法な問合せセットを返す。１８２０で、アプリケーションは全てのクレーム（複数可）ではなくフィルタ後のクレームと問合せを送信し、問合せに対応するクレーム（複数可）を効率的に送信できるようにする。場合によっては、ＣＫＧはトラップドアのクレーム（複数可）をアプリケーションに返す（かまたはクレームを拒絶する）。１８３０で、アプリケーションはリモート・インデックス上でトラップドア・クレームを実行する。リモート・インデックス上での処理に基づいて、例えばユーザの役割（複数可）に基づくカスタム・レンダリングを用いて、アプリケーションが結果を受け取り、その結果をユーザに対してレンダリングすることができる。
【００５９】
図１９は、上述の図１５〜図１８の動作が同一の参照番号を介して強調された、企業１９２０、ＣＫＧ１９１０、およびＣＳＰ１９００間の高信頼なクラウド・サービスのエコシステムの実装形態のブロック図である。シナリオは、ユーザ１９２４が自身をアプリケーション１９２２に対して識別することから始まる。ＳＴＳ１９２６は、ＣＫＧ１９１０からの情報およびＣＫＧ１９１０への情報の交換に関連して信頼１９３０を確立し、シナリオの目的に応じてＣＳＰ１９００からデータを暗号化または復号化する際に使用するための鍵情報をアプリケーション１９２２に返すように動作する。
【００６０】
図２０は、企業がその暗号化データの一部に対するアクセスを外部企業に提供する、複数パーティの協調シナリオを示す流れ図である。例えば、製造業者は高信頼なクラウドに格納されたデータの一部に対するアクセスを供給者に付与することができ、その逆もまた可能である。これに関して、２０００で、企業２のＳＴＳはリソース・プロバイダとして設計されており、企業１のアプリケーションは、クラウド内のリソース・プロバイダによって提供されるリソースへのアクセスのためのクレームを取得するように進む。２０１０で、企業１のＳＴＳがアイデンティティ・プロバイダとして設計されている。この点、アプリケーションは、企業１にあるサブスクライバによって定義される役割または１組の役割に対するクレームを取得し、これは、アイデンティティ・プロバイダによって容易になる。２０２０で、クレームが、企業２によって制御される許可可能リソースに基づいて、および、サブスクライブしているエンティティの役割（複数可）によって定義される許可／ケイパビリティに基づいて、取り出される。図２０で、１つのＳＴＳのみを図示しているが、デジタル・エスクロ内の複数のアイデンティティ・プロバイダのＳＴＳおよび／または複数のリソース・プロバイダのＳＴＳ、または連合信頼オーバレイ（Ｆｅｄｅｒａｔｅｄ  Ｔｒｕｓｔ  Ｏｖｅｒｌａｙ）がありうることに留意されたい。
【００６１】
図２１は、企業１および企業２のような複数企業間の複数パーティの自動化検索シナリオを示す流れ図である。２０００で、実行するための結合問合せが企業１のアプリケーションによって受信されるかまたは開始される。２１１０で、アプリケーションが関連するクレームをリソース・プロバイダ（企業２）のＳＴＳから取得する。場合によっては、リソース・プロバイダを組織タグで特定することができる。ＳＴＳは、場合によっては、問合せグループへのユーザ役割のマッピングを実施することができ、それにより、適法な問合せセット（Ｌｅｇａｌ  Ｑｕｅｒｙ  Ｓｅｔ）がユーザ役割に対して返される。２１２０で、アプリケーションは全てのクレーム（複数可）ではなく、フィルタ後のクレームと問合せ（Ｆｉｌｔｅｒｅｄ  Ｃｌａｉｍ  ａｎｄ  Ｑｕｅｒｙ）をユーザ役割に基づいて送信し、問合せに対応するクレームを効率的に送信することができる。場合によっては、ＣＫＧはケイパビリティをアプリケーション（例えば、トラップドア・クレーム）に返すか、または、ＣＫＧがクレームを拒絶する。２１３０で、アプリケーションがトラップドア・クレームをリソース・インデックス上で実行する。リモート・インデックス上の処理に基づいて、例えばユーザの役割（複数可）に基づくカスタム・レンダリングを用いて、アプリケーションが結果を受け取り、その結果をユーザに対してレンダリングすることができる。
【００６２】
図１８および２１では、本発明の方法には、結合問合せを受け取るか、または、結合問合せを開始するステップが含まれる。これに関して、場合によっては、トラップドア（またはケイパビリティ）の受取人、すなわち、クライアントまたはサービス・プロバイダのいずれか、が結合問合せを解体してその構成部分も決定することができないように、結合問合せを暗号的に保護することもできる。
【００６３】
図２２は、上述の図２０、図２１の動作が同一の参照番号で指定された、企業２２２０、２２３０、ＣＫＧ２２１０、およびＣＳＰ２２００間の高信頼なクラウド・サービスのエコシステムの実装形態のブロック図である。例えば、ユーザ２２２４は自身をアプリケーション２２２２に対して識別することができる。企業２２２０のＳＴＳ２２２６および企業２２３０のＳＴＳ２２３２は、ＣＫＧ２２１０への情報およびＣＫＧ２２１０からの情報の交換に関連して信頼２２３０を確立し、シナリオの目的に応じてＣＳＰ２２００からデータを暗号化または復号化する際に使用するための鍵情報をアプリケーション２２２２に返すように協調する。
【００６４】
図２３は、高信頼なクラウド・サービス向けに実装可能な、例示的で非限定的なエッジ計算ネットワーク（ＥＣＮ）技術を示す。これに関して、複数の動的計算ノード２３７０、２３７２、２３７４、２３７６が、互いに独立に動作する１組の高信頼なクラウド・コンポーネントと関連して計算帯域幅に対して動的に割り当てられる。例えば、鍵生成センタ２３２０、ストレージ抽象化サービス２３１０、組織２３３０および組織２３４０を図示したように実装して、上述したような複数組織からなる企業または他のシナリオをカバーすることができる。鍵生成センタ２３２０は、鍵生成器２３２２とサーバＯＳ２３２４を含む。ストレージ抽象化サービス２３１０はストレージ・サービス・コンポーネント２３１２とサーバＯＳ２３１４を含む。組織２３３０はＳＴＳ２３３２、ＡＤ２３３６およびサーバＯＳ２３３４を含む。組織２３４０はＳＴＳ２３３４、ＡＤ２３４６およびサーバＯＳ２３４４を含む。サーバＯＳ２３１４，２３２４、２３３４、２３４４はサーバにわたるＥＣＮを実装するように協調する。任意のストレージ・プロバイダまたは抽象化２３０２をデータの記憶に使用することができる。例えば、ＳＱＬデータ・サービスを使用することができる。このように、１つまたは複数のデスクトップ２３５０、２３５２がそれぞれクライアント・アプリケーション２３６０、２３６２を介してデータを発行またはサブスクライブすることができる。
【００６５】
図２４は、高信頼なクラウド・サービスのエコシステムに従う、鍵生成センタ２４１０の１つまたは複数のオプション的な態様を示すブロック図である。先ず、デスクトップ２４６０、２４６２および各クライアント・アプリケーション２４７０、２４７２、またはサービスもしくはサーバ２４７４、２４７６、２４７８、等のような１組のコンピューティング装置が、クラウド・コンテンツ配信ネットワーク２４５０に対する潜在的なパブリッシャおよび／またはサブスクライバである。しかし、その１組のコンピューティング装置のいずれかからの要求を満足する前に、先ず鍵生成センタが、公開鍵に基づいてデータを暗号化しサブスクライバのケイパビリティに基づいて秘密鍵をデータ・サブスクライバに開放するパブリッシャの信頼性に関する管理者として動作する。
【００６６】
例示的で非限定的な対話において、最初に、コンピューティング装置からの要求が提供され（２４００）、２４８０で、ＣＫＧ２４１０のホスタがＣＫＧ２４１０のインスタンスをＣＫＧファクトリ２４０２に要求する。次に、２４８２でユーザ認証２４０４が行われる。次に、ＣＫＧファクトリ２４０２の使用に対して任意の利用ベースの課金２４８４を、課金システム２４０６によって適用することができる。次に、２４８６で、テナントＣＫＧがＣＫＧファクトリ２４０２によって生成される。テナントＣＫＧは、ＭＰＫ配信コンポーネント２４１２、クライアント・ライブラリ・ダウンローダ２４１４、秘密鍵抽出器２４１６および信頼バリデータ／ベリファイア２４１８を含むことができる。
【００６７】
２４８８で、ＭＰＫ配信コンポーネント２４１２がＭＰＫをＣＤＮ２４５０に配信する。クライアント・ライブラリ・ダウンローダ２４１４は、発行されるデータの暗号化または装置がサブスクライブするデータの復号化に関連して使用できる暗号化ライブラリを要求側のクライアントにダウンロードする。次に、クライアントは、秘密鍵抽出器２４１６から受け取った鍵情報に基づいて、１組の所与のドキュメントを抽出するための要求を作成する。秘密鍵抽出器２４１６は信頼ベリファイア２４１８と協調し、信頼ベリファイア２４１８は、サブスクライバが特定のケイパビリティを有することを、２４９４でサブスクライバのＳＴＳサムプリントの検証結果に基づいて、例えば、要求に含まれる組織の異なるＳＴＳ２４２０、２４２２、２４２４、２４２６との通信結果に基づいて、妥当性確認することができる。他の実施形態と同様に、ストレージ抽象化サービス２４４０を、データベース・サービス２４３０（例えば、ＳＱＬ）の記憶の詳細を抽象化するために提供することができる。
【００６８】
図２５は、ネットワーク・サービス２５２０の配信と関連して、妥当性確認および／または検証を伴う検索可能な暗号化データ２５１０を含む高信頼なストレージ２５００の例示的で非限定的な実施形態のブロック図である。本実施形態では、サブスクライバ２５４０、またはサブスクライバ２５４０によって使用されるアプリケーションは、暗号化ストレージ２５００の特定の部分にアクセスするための要求の一部として、その要求から返されたアイテムに対して妥当性確認証明が実施されて、実際に受信したアイテムが受信すべきであったアイテムでもあることが妥当性確認されることを要求することができる。これに関して、図２５は、検索可能な暗号化技法と妥当性確認技法の組合せを示す。場合によっては、システムを、本明細書の他の実施形態で説明するように、クレームベースのアイデンティティおよびアクセス管理と統合してもよい。これに関して、本明細書の様々な実施形態で説明するように、連合信頼オーバレイとも称するデジタル・エスクロ・パターンを、より伝統的なクレームベースの認証システムとシームレスに統合することができる。
【００６９】
図２５で、高信頼なストレージ２５００もしくはサービス・プロバイダまたはデータ・ストアのホスタが証明ステップを実施し、一方で、データの所有者（例えば、サブスクライバ装置）が検証を実施する。物理エンティティが実際にそのデータをホストし一部の参加者が完全に信頼されているわけではないことが分かるが、データ・ストア２５００が強い保証を提供するとユーザが自信を持てるので、データ・ストア２５００は信頼されている。
【００７０】
図２６は、妥当性確認ステップを含むサブスクライブに関する例示的で非限定的なプロセスを示す流れ図である。２６００で、検索可能な暗号化データのサブセットがサブスクライバ装置から受け取られる。２６１０で、暗号化鍵情報が鍵生成インスタンスから生成される。その鍵生成インスタンスは、暗号化鍵情報をサブスクライバ装置の識別情報に基づいて生成する。２６２０で、暗号化データのサブセットが、暗号化鍵情報で定義されたサブスクライバ装置に付与されたケイパビリティの関数として復号化される。２６３０で、サブセット内で表されたアイテムを妥当性確認（例えば、データ所有の証明）することができ、２６４０でデータがアクセスされる。
【００７１】
多くの場合、暗号化データ上で、その暗号化データを復号化する必要なしにＰＤＰ／ＰＯＲを実行できることが望ましい。場合によっては、ＰＤＰに必要な鍵情報を、検索可能暗号化で保護されたメタデータ内でエンコードすることができる。これはＰＤＰ／ＰＯＲに使用される鍵を管理する効果的な方法であるが、プレーンテキストの内容にアクセスする必要なしに暗号化データ上でＰＤＰ／ＰＯＲを実施できる多数の高価値のシナリオがあることに留意されたい。
【００７２】
図２７は、ベリファイア２７００（例えば、データ所有者）が暗号チャレンジ２７２０を証明器２７１０（例えば、データ・サービス・プロバイダ）に発行する、例示的で非限定的な妥当性確認チャレンジ／応答プロトコルを示す。チャレンジ２７２０を受け取ると、証明器２７１０は応答をデータおよびチャレンジ２７１２の関数として計算する。次いで、チャレンジ応答２７３０がベリファイア２７００に返され、次いでベリファイア２７００が、データが修正されていないことを検証または証明するための計算を行う（２７０２）。
【００７３】
図２７に一般的に示した妥当性確認はプライベートＰＤＰとして知られるが、第三者に鍵（「公開」鍵）が提供され、従ってその第三者が、実データについて何も知ることなく同様なプロトコルに従ってベリファイアとして動作する「公開」バージョンもあることに留意されたい。ＰＯＲは、検証の例であるが、データが（いかなる破壊／修正があっても）取り出し可能であることの証明をＰＯＲが与えるという点でＰＤＰとは異なる。しかし、以下の図３０で示すように、ドキュメントの構造と実際のアルゴリズムは異なるが基本的なプロトコルは同じである。本明細書の高信頼なエコシステムの様々な実装形態では、検索可能暗号化とＰＯＲ／ＰＤＰを組み合わせてシステムの利益を得、信頼性を高める。これに関して、データをサービス・プロバイダに送信する前に、データは検索可能に暗号化され、データの後処理がＰＯＲおよび／またはＰＤＰを含むことができる。
【００７４】
さらに、なお強力な保証を提供する必要がある場合には、「データ分散」技法を場合によっては１つまたは複数の上記実施形態に付け加えることができる。データ分散を用いると、何れかの単一のサービス・プロバイダにおいて「極度に不正な振舞い」または壊滅的な損失に対して回復するために、データが幾つかのサービス・プロバイダに分散される。本明細書で説明した信頼性機構を用いると、この分散は、独立したサービス・プロバイダが共謀してデータを破壊することが困難となるように実施される。これは、上述の分散ＣＫＧ実施形態と概念的に同様である。
【００７５】
図２８は、ネットワーク・サービス２５２０の配信に関連して、妥当性確認および／または検証を伴う検索可能な暗号化データ２５１０を含む高信頼なストレージ２５００の別の例示的で非限定的な実施形態のブロック図である。具体的には、図２８は、サブスクライバ２５４０に返されたアイテムが改ざんされておらず不可逆的に変更されてもいないことを検証するための検証コンポーネント２８５０を示す。上述したＰＤＰは検証の非限定的な例である。
【００７６】
図２９は、妥当性確認ステップを含むサブスクライブに関する例示的で非限定的なプロセスを示す流れ図である。２９００で、検索可能な暗号化データのサブセットがサブスクライバ装置から受け取られる。２９１０で、暗号化鍵情報が鍵生成インスタンスから生成される。その鍵生成インスタンスは、暗号化鍵情報をサブスクライバ装置の識別情報に基づいて生成する。２９２０で、暗号化データのサブセットが、暗号化鍵情報で定義されたサブスクライバ装置に付与されたケイパビリティの関数として復号化される。２９３０で、サブセット内で表されたアイテムを検証（例えば、取出可能性の証明）することができ、２９４０でデータがアクセスされる。
【００７７】
図３０は、ベリファイア３０００（例えば、データ所有者）が暗号チャレンジ３０２０を証明器３０１０（例えば、データ・サービス・プロバイダ）に発行する、例示的で非限定的な検証チャレンジ／応答プロトコルを示す。チャレンジ３０２０を受け取ると、証明器３０１０は応答をデータおよびチャレンジ３０１２の関数として計算する。次いで、チャレンジ応答３０３０がベリファイア３０００に返され、次いでベリファイア３０００が、データが取出可能であることを検証または証明するための計算を行う（３００２）。
【００７８】
図３１は、複数の独立した連合信頼オーバレイ、またはデジタル・エスクロが層状アプローチのために隣り合って、または交互に積み重なって存在できる、非限定的なシナリオを示すブロック図である。このシナリオでは、様々なネットワーク・サービス（複数可）３１２０が想定できる、検索可能な暗号化データ３１１０を有する高信頼なデータ・ストア３１００がある。例えば、ネットワーク・サービス（複数可）３１２０は、クラウド・サービスとしてのワード・プロセッシング・ソフトウェアの配信を含むことができる。ジオディストリビューション（ｇｅｏ−ｄｉｓｔｒｉｂｕｔｉｏｎ）の一部として、または場合によって、複数のオーバレイ／エスクロ３１３２、３１３４、３１３６を提供することができる。これらの複数のオーバレイ／エスクロは、それぞれ、様々なアプリケーション／バーティカル／コンプライアンス・ニーズ／統治エンティティ要件に対して調節され、それにより、パブリッシャ２５３０またはサブスクライバ３１５０が、暗黙的または明示的に、例えば管轄／居所に関する１組の要件または領域に基づいて、参加すべき正しいオーバレイ／エスクロを選択する。このようにオーバレイが変化することができるが、クラウドからのバックエンド・サービスは、コア・サービス自体の配信を複雑にすることなく、同じ状態のままであることができる。
【００７９】
本明細書では、高信頼なデータ・サービスの配信を示す様々な例示的で非限定的な実施形態を説明した。これらの実施形態は独立ではなく、必要に応じて互いに組み合わせることができる。さらに、上述の実施形態の何れをも幾つかの代替的な方法で拡張することができる。例えば、一実施形態では、高信頼なデータ・サービスは、データへのアクセスに対してより厳格なセキュリティを与えるトラップドアまたはケイパビリティを終了させ廃止する。別のオプション的な実施形態では、権限管理層を高信頼なデータ・サービスの提供に組み込み、例えば、暗号化／復号化の一部としてコンテンツに取り付けられた権限を保存し、または、プレーンテキストでより容易に認識可能もしくは検出可能なデジタル・エスクロ内の著作権データに関する操作を防止することができる。従って、本明細書で説明した実施形態の任意の組合せまたは並びが本発明の範囲内にあると考えられる。
【００８０】
例示的で非限定的な実装形態
デジタル・エスクロ・パターンの例示的な実装形態を、連合信頼オーバレイ（ＦＴＯ）と称する。付録Ａには、ＦＴＯの実装に関する幾つかの追加的で非限定的な詳細を添付してある。
【００８１】
これに関して、デジタル・エスクロ・パターンは多くの可能なパターンおよび変形の例にすぎない。さらに、（パブリッシャ、サブスクライバ、管理者および監査者、ならびに上述した他の特殊な役割を含む）このパターンを、基礎となる別のＦＴＯパターン上に重ねる。このＦＴＯパターンは、信頼性を維持するためにＣＴＰ、ＣＳＰ、ＣＫＧ、等のいわゆる「政教」分離を行う。互いに干渉せず互いの存在すら知らずに共存しうる、複数の独立なＦＴＯおよびＤＥＰも存在することができる。また、クラウド・ストレージ・サービス・プロバイダが協調せず、これらのパターン／オーバレイの存在すら知ることなく、ＤＥＰおよびＦＴＯパターンをクラウド・ストレージに重ね合わせることができる。
【００８２】
より詳細には、ＦＴＯはクラウド内のデータ・サービスと独立な１組のサービスである。これらのサービスは、データ・サービスの運用者とは異なるパーティによって運用され、クラウド・サービスによってホストされるデータの機密性、改ざん防止、および拒絶に関して強い保証を提供することができる。
【００８３】
任意のパートナが、これらのオーバレイ・サービス、例えば、仲介サービス、妥当性確認サービス、ストレージ抽象化サービス、等を構築しホストすることができる。これらのパートナはリファレンス実装をホストすることを選択するか、または、オープンに利用可能なフォーマットおよびプロトコルに基づいて独自の実装を構築することを選択することができる。
【００８４】
フォーマット、プロトコル、およびリファレンス実装のオープンな性質のため、ＦＴＯの運用者およびデータ所有者のような、パーティ間の制御の分離を維持することが素直であろう。
【００８５】
暗号化はこの解決策の１要素であるが、様々なパーティにわたって連合したサービスの編成もこの解決策の一部である。従来型の暗号化技法は多くのシナリオに対して説得力があるが、かかる技法は、改ざん検出、否認防止、複数の（信頼されない）サービスを編成することによる信頼性構築、データ・リポジトリの検索、等のような多くのシナリオの有効化を妨げてしまう。
【００８６】
補足
幾つかの追加的で非限定的なコンテキストのため、上述のように、１組の高信頼なクラウドの提供により、その信頼性の上に成り立つクラウド向けアプリケーション・エコシステムが可能となる。ここで用いる様々な用語には、ＣＫＧ、すなわち、複数テナントの鍵生成センタをホストするエンティティである、鍵生成センタが含まれ、例えば、Ｍｉｃｒｏｓｏｆｔ、ＶｅｒｉＳｉｇｎ、Ｆｉｄｅｌｉｔｙ、Ｓｏｖｅｒｅｉｇｎ  Ｅｎｔｉｔｙ、Ｅｎｔｅｒｐｒｉｓｅ、Ｃｏｍｐｌｉａｎｃｅ  Ｅｎｔｉｔｙ、等の何れもがＣＫＧをホストすることができる。これに関して、複数テナント性は任意である（例えば、望ましいが必須ではない）。他の用語には、ＣＴＰ、すなわち、高信頼なエコシステムで使用するための暗号技術を提供するエンティティである、暗号化技術プロバイダが含まれ、例えば、Ｓｙｍａｎｔｅｃ、Ｃｅｒｔｉｃｏｍ、Ｖｏｌｔａｇｅ、ＰＧＰ  Ｃｏｒｐ、ＢｉｔＡｒｍｏｒ、Ｅｎｔｅｒｐｒｉｓｅ、Ｇｕａｒｄｉａｎ、Ｓｏｖｅｒｅｉｇｎ  Ｅｎｔｉｔｙ、等は、ＣＴＰでありうる企業の例である。
【００８７】
さらに、ＣＳＰ、すなわち、クラウド・サービス・プロバイダは、ストレージを含むクラウド・サービスを提供するエンティティである。様々な企業がかかるデータ・サービスを提供することができる。ＣＩＶ、すなわち、クラウド・インデックス・バリデータは、返されたインデックスを妥当性確認するための第２のリポジトリである。ＣＳＡ、すなわち、計算記憶抽象化（Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｓｔｏｒａｇｅ  Ａｂｓｔｒａｃｔｉｏｎ）はストレージをバックエンドで抽象化する。ＳＴＦ、すなわち、ストレージ転送フォーマットは、リポジトリにわたってデータ／メタデータを転送するための普遍的なフォーマットである。
【００８８】
これに関して、述べたように、幾つかの企業のシナリオ（複数可）には、データ・サービス技術またはアプリケーション、設計およびエンジニアリングの分析を用いたエクストラネットの開発、製造業者と供給者（複数可）、等の間のデータ関係の定義が含まれる。このように、「すごく」高信頼なエンティティまたは一点によるデータ暴露（ｓｉｎｇｌｅ  ｐｏｉｎｔ  ｏｆ  ｃｏｍｐｒｏｍｉｓｅ）が存在しないように、信頼性を複数のエンティティにわたって分散することにより、独特なエコシステムが多種多様なシナリオに対して可能となる。
【００８９】
検索可能な暗号化に関する幾つかの補完的なコンテキストに関して、ユーザは一般にキーワード（複数可）に対する「ケイパビリティ」または「トラップドア」を所有または取得し、「ケイパビリティ」を用いて要求を送信し、そのケイパビリティをサーバに提示する。サーバはケイパビリティとインデックスとを「結合」して、関連するドキュメントまたはデータを探す。次いで、ユーザは、その検索の結果得られるドキュメントにのみアクセス権を与えられる（が、ユーザに対してこれらのドキュメント以外に対するアクセス権を与えてもよい）。
【００９０】
上述したように、どの単一のアルゴリズムも、本明細書で説明した検索可能な暗号化データの提供に関して限定するものと捉えるべきではないが、以下で、例示的で非限定的なアルゴリズムの背後にある理論の幾つかを一般的に概観し、検索可能対称暗号化（ＳＳＥ）パターンの導入を与える。
メッセージ：ｍ
キーワード：ｗ1，．．．，ｗn
ＰＲＦ：Ｈ
エスクロ・キーを生成
Ｈに対してランダムなＳを選択
暗号化
ランダムな鍵Ｋを選択
ランダムな固定長ｒを選択
Ｆｏｒ  １≦ｉ≦ｎ
ａi＝Ｈｓ（Ｗi）を計算
ｂi＝Ｈai（ｒ）を計算
Ｃｉ＝ｂｉ＋ｆｌａｇを計算
（Ｅk（ｍ）、ｒ、ｃ1，．．．，ｃn）を出力
ｗに対してトラップドアまたはケイパビリティを生成
ｄ＝Ｈsj（ｗ）
ｗに関してテスト
ｐ＝Ｈd（ｒ）を計算
ｚ＝ｐ＋ｃiを計算
ｚ＝ｆｌａｇならば「真」を出力
Ｅk（ｍ）を復号化してｍを取得
【００９１】
再度、本明細書で説明したどの実施形態についての限定と捉えるべきではないが、以下は、キーワード検索可能公開鍵暗号化（ＰＥＫＳ）パターンに関する導入である。
【００９２】
公開鍵暗号化
ａ．ＰＫＥ＝（Ｇｅｎ，Ｅｎｃ，Ｄｅｃ）
アイデンティティ・ベースの暗号化
ｂ．ＩＢＥ＝（Ｇｅｎ，Ｅｎｃ，Ｅｘｔｒａｃｔ，Ｄｅｃ）
ｃ．マスタ鍵を生成
ｉ．（ｍｓｋ，ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ｄ．ＩＤに対するｍを暗号化
ｉ．ｃ＝ＩＢＥ．Ｅｎｃ（ｍｐｋ，ＩＤ，ｍ）
ｅ．ＩＤに対する秘密鍵を生成
ｉ．ｓｋ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ，ＩＤ）
ｆ．復号化
ｉ．ｍ＝ＩＢＥ．Ｄｅｃ（ｓｋ，ｃ）
ｇ．メッセージ：ｍ
ｈ．キーワード：ｗ1，．．．，ｗn
ｉ．エスクロ・キーを生成
ｉ．（ｍｓｋ，ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ｉｉ．（ｐｋ，ｓｋ）＝ＰＫＥ．Ｇｅｎ（）
ｊ．暗号化
ｋ．Ｆｏｒ  １≦ｉ≦ｎ
ｉ．ｃi＝ＩＢＥ．Ｅｎｃ（ｍｐｋ，ｗi，ｆｌａｇ）
ｌ．（ＰＫＥ．Ｅｎｃ（ｐｋ，ｍ），ｃ1，．．．，ｃn）を返す
ｍ．ｗに対してケイパビリティまたはトラップドアを生成
ｉ．ｄ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ，ｗ）
ｎ．ｗに対してテスト
ｏ．Ｆｏｒ  １≦ｉ≦ｎ
ｉ．ｚ＝ＩＢＥ．Ｄｅｃ（ｄ，ｃi）
ｉｉ．ｆｌａｇならば「真」を出力
Ｅk（ｍ）を復号化してｍを取得
【００９３】
例示的なネットワーク分散環境
本明細書に記載の高信頼なクラウド・サービスのフレームワークおよび関連する実施形態に関する方法および装置の様々な実施形態を任意のコンピュータまた他のクライアントまたはサーバ装置と関連させて実装でき、これらの任意のコンピュータまたは他のクライアントまたはサーバ装置をコンピュータ・ネットワークの一部としてまたは分散コンピューティング環境において展開し、任意の種類のデータ・ストアに接続できることは当業者には理解されよう。これに関して、本明細書に記載の様々な実施形態を、任意数のメモリまたは記憶ユニット、および任意数の記憶ユニットにわたって生ずる任意数のアプリケーションおよびプロセスを有する任意のコンピュータ・システムまたは環境で実装することができる。かかる任意のコンピュータ・システムまたは環境には、リモート記憶またはローカル記憶を有する、ネットワーク環境または分散コンピューティング環境に展開したサーバ・コンピュータおよびクライアント・コンピュータを有する環境が含まれるが、これらに限らない。
【００９４】
図３２は、例示的なネットワーク・コンピューティング環境または分散コンピューティング環境の非限定的な概略図である。分散コンピューティング環境は、コンピューティング・オブジェクト３２１０、３２１２、等、およびコンピューティング・オブジェクトまたはコンピューティング装置３２２０、３２２２、３２２４、３２２６、３２２８、等を備え、これらはアプリケーション３２３０、３２３２、３２３４、３２３６、３２３８で表すように、プログラム、メソッド、データ・ストア、プログラム可能論理、等を含むことができる。オブジェクト３２１０、３２１２、等およびコンピューティング・オブジェクトまたはコンピューティング装置３２２０、３２２２、３２２４、３２２６、３２２８、等が、ＰＤＡ、オーディオ／ビデオ装置、携帯電話、ＭＰ３プレイヤ、ラップトップ、等のような様々な装置を備えうることは理解されよう。
【００９５】
各オブジェクト３２１０、３２１２、等およびコンピューティング・オブジェクトまたはコンピューティング装置３２２０、３２２２、３２２４、３２２６、３２２８、等は、１つまたは複数の他のオブジェクト３２１０、３２１２、等およびコンピューティング・オブジェクトまたはコンピューティング装置３２２０、３２２２、３２２４、３２２６、３２２８、等と、例えば、通信ネットワーク３２４０によって、直接的または間接的に、通信することができる。図３２では単一の要素として示しているが、ネットワーク３２４０は、図３２のシステムに対してサービスを提供する他のコンピューティング・オブジェクトおよびコンピューティング装置を備えることができ、かつ／または、図示していないが、複数の相互接続されたネットワークを表わすことができる。各オブジェクト３２１０、３２１２、等または３２２０、３２２２、３２２４、３２２６、３２２８、等はまた、様々な実施形態に従って提供される高信頼なクラウド・コンピューティング・サービスまたはアプリケーションとの通信またはこれらの実装に適した、ＡＰＩを利用できるアプリケーション３２３０、３２３２、３２３４、３２３６、３２３８のようなアプリケーション、または他のオブジェクト、ソフトウェア、ファームウェアおよび／もしくはハードウェアを含むことができる。
【００９６】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピューティング・システムを、有線または無線のシステムによって、ローカル・ネットワークまたは広域分散ネットワークによって、互いに接続することができる。現在、多くのネットワークが、広域分散コンピューティングに対するインフラを提供し多数の異なるネットワークを包含するインターネットに接続されているが、任意のネットワーク・インフラを、様々な実施形態で説明した技法に付随する例示的な通信のために使用することができる。
【００９７】
このように、クライアント／サーバ、ピアツーピア、またはハイブリッド・アーキテクチャのような大量のネットワーク・トポロジおよびネットワーク・インフラを利用することができる。クライアント／サーバ・アーキテクチャ、特にネットワーク・システムでは、クライアントは通常、例えば、サーバのような別のコンピュータによって提供される共有ネットワーク・リソースにアクセスするコンピュータである。図３２では、非限定的な例として、コンピュータ３２２０、３２２２、３２２４、３２２６、３２２８、等をクライアントと捉え、コンピュータ３２１０、３２１２、等をサーバと捉えることができる。この場合、サーバ３２１０、３２１２、等は、クライアント・コンピュータ３２２０、３２２２、３２２４、３２２６、３２２８、等からデータを受信すること、データを記憶すること、データを処理すること、データをクライアント・コンピュータ３２２０、３２２２、３２２４、３２２６、３２２８、等に送信すること、のようなデータ・サービスを提供できるが、状況に応じて、任意のコンピュータをクライアント、サーバ、またはその両方と捉えることができる。これらのコンピューティング装置の何れも、データを処理するか、または、１つまたは複数の環境に関して本明細書で説明した、改善されたプロファイリングおよび関連技法を巻き込みうるサービスもしくはタスクを要求することができる。
【００９８】
サーバは、一般に、インターネットまたはワイヤレス・ネットワーク基盤のような、リモートまたはローカルなネットワーク上でアクセス可能なリモート・コンピュータ・システムである。クライアント・プロセスは第１のコンピュータ・システムにおいてアクティブであることができ、サーバ・プロセスは第２のコンピュータ・システム内でアクティブであることができ、通信媒体上で互いに通信し、これにより、分散機能を提供し、複数のクライアントがサーバの情報収集機能を利用できるようにする。ユーザ・プロファイリングに従って利用される任意のソフトウェア・オブジェクトを単体で提供することができ、または、複数のコンピューティング装置またはオブジェクトにわたって分散させることができる。
【００９９】
通信ネットワーク／バス３２４０がインターネットであるネットワーク環境では、例えば、サーバ３２１０、３２１２、等は、クライアント３２２０、３２２２、３２２４、３２３６、３２２８、等が、ＨＴＴＰ（ハイパーテキスト・トランスファー・プロトコル）のような幾つかの既知のプロトコルの何れかを介して通信する、ウェブ・サーバであることができる。サーバ３２１０、３２１２、等は、クライアント３２２０、３２２２、３２２４、３２２６、３２２８、等の役割を果たすこともでき、これは、分散コンピューティング環境の特徴でありうる。
【０１００】
例示的なコンピューティング装置
上述のように、本明細書で説明した様々な実施形態を任意の装置に適用することができ、この場合、１つまたは複数の高信頼なクラウド・サービスのフレームワークを実装することが望ましいであろう。したがって、ハンドヘルド装置、ポータブル・デバイス、他のコンピューティング装置、および全ての種類のコンピューティング・オブジェクトが、本明細書で説明した様々な実施形態と関連した使用、すなわち、装置が高信頼なクラウド・サービスのフレームワークと関連して何らかの機能を提供できる全ての場面での使用、に考慮されている。したがって、図３３で以下に説明する汎用目的のリモート・コンピュータは１例にすぎず、本発明の実施形態を、ネットワーク／バス互換性および相互作用を有する任意のクライアントで実装することができる。
【０１０１】
必須ではないが、実施形態の何れも、装置またはオブジェクトに対するサービス開発者によって使用するために、オペレーティング・システムを介して部分的に実装することができ、かつ／または動作可能なコンポーネント（複数可）と関連して動作するアプリケーション・ソフトウェアに含めることができる。ソフトウェアを、クライアント・ワークステーション、サーバ、または他の装置のような１つまたは複数のコンピュータによって実行されている、プログラム・モジュールのようなコンピュータ実行可能命令の一般的なコンテキストで説明することができる。ネットワーク相互作用を、様々なコンピュータ・システム構成およびプロトコルで実施できることは、当業者には明らかであろう。
【０１０２】
このように、図３３は、１つまたは複数の実施形態を実装できる適切なコンピューティング・システム環境３３００の例を示し、上で明らかにしたが、コンピューティング・システム環境３３００は適切なコンピューティング環境の１例にすぎず、実施形態の何れの使用範囲または機能範囲に関して何らの限定を示唆するものではない。また、コンピューティング環境３３００が、例示的な動作環境３３００で示したコンポーネントの任意の１つまたは組合せに関して何らの依存関係または要件を有するとも解釈すべきではない。
【０１０３】
図３３を参照すると、本明細書の１つまたは複数の実施形態を実装するための例示的なリモート装置が汎用目的のコンピューティング装置をハンドヘルド・コンピュータ３３１０の形で含むことができる。ハンドヘルド・コンピュータ３３１０のコンポーネントは、演算装置３３２０、システム・メモリ３３３０、およびシステム・メモリを含む様々なシステム・コンポーネントを演算装置３３２０に結合させるシステム・バス３３２１を含むことができるがこれらに限らない。
【０１０４】
コンピュータ３３１０は、一般に、様々なコンピュータ読取可能媒体を含み、コンピュータ３３１０がアクセス可能な任意の利用可能な媒体であることができる。システム・メモリ３３３０はコンピュータ記憶媒体を、ＲＯＭ（リードオンリーメモリ）および／またはＲＡＭ（ランダムアクセスメモリ）のような揮発性メモリおよび／または不揮発性メモリの形で含むことができる。限定ではなく例として、メモリ３３３０は、また、オペレーティング・システム、アプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを含むことができる。
【０１０５】
ユーザは、入力装置３３４０を介してコンピュータ３３１０にコマンドと情報を入力することができる。モニタまたは他の種類の表示装置が、また、出力インタフェース３３５０のようなインタフェースを介してシステム・バス３３２１に接続される。モニタに加えて、コンピュータは、また、スピーカおよびプリンタのような他の周辺出力装置を含むことができ、出力インタフェース３３５０を介してこれらの他の周辺出力装置を接続することができる。
【０１０６】
コンピュータ３３１０は、リモート・コンピュータ３３７０のような１つまたは複数の他のリモート・コンピュータに対する論理接続を用いてネットワーク環境または分散環境で動作することができる。リモート・コンピュータ３３７０はパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスもしくは他の共通ネットワーク・ノード、または他の任意のリモート媒体を消費もしくは送信する装置であってもよく、コンピュータ３３１０に関して上述した要素の一部または全部を含んでもよい。図３３に示した論理接続には、ＬＡＮ（ローカル・エリア・ネットワーク）またはＷＡＮ（ワイド・エリア・ネットワーク）のようなネットワーク３３７１が含まれるが、他のネットワーク／バスを含んでもよい。かかるネットワーク環境は家庭、職場、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットで共通である。
【０１０７】
上述のように、例示的な実施形態を様々なコンピューティング装置、ネットワークおよび広告アーキテクチャと関連して説明したが、根底にある概念は、クラウド・サービスとの対話に関連して信頼性を提供することが望ましい任意のネットワーク・システムおよび任意のコンピューティング装置またはシステムに適用することができる。
【０１０８】
本明細書で説明した１つまたは複数の実施形態を実装する多数の方法がある。例えば、適切なＡＰＩ、ツール・キット、ドライバ・コード、オペレーティング・システム、コントロール、スタンドアロンまたはダウンロード可能なソフトウェア・オブジェクト、等であり、これらはアプリケーションおよびサービスが高信頼なクラウド・サービスのフレームワークを使用できるようにするものである。実施形態をＡＰＩ（または他のソフトウェア・オブジェクト）の観点から、ならびに、説明した１つまたは複数の実施形態に従ってポインティング・プラットフォーム・サービスを提供するソフトウェア・オブジェクトまたはハードウェア・オブジェクトの観点から検討することもできる。本明細書で説明した様々な実装形態および実施形態は、全体的にハードウェアである態様、部分的にハードウェアで部分的にソフトウェアである態様、ならびにソフトウェアである態様を有してもよい。
【０１０９】
本明細書では、「例示的」という単語は、例、事例、または例示を意味するように用いられている。疑義を避けるため、本明細書で開示した発明はかかる例に限定されない。さらに、本明細書で「例示的」として記載したどの態様または設計も他の態様または設計に対して必ずしも好適または有利と解釈されず、当業者に公知である均等な例示的な構造および技法を排除することを意味するものでもない。さらに、「含まれる」、「有する」、「含む」および他の同様な言葉が発明を実施するための形態または特許請求の範囲で使用される限りにおいて、疑義を避けるため、かかる言葉は、どのような追加的または他の要素も排除しないオープンな移行語としての「備える」と同様に包括的であることを意図している。
【０１１０】
上で述べたように、本明細書で説明した様々な技法をハードウェアまたはソフトウェア、または必要に応じて、その両方の組合せと関連して実装してもよい。本明細書で用いたように、「コンポーネント」、「システム」等は同様に、コンピュータ関連のエンティティ、すなわち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すことを意図している。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであることができるが、これらに限らない。例として、コンピュータ上で実行されているアプリケーションとコンピュータはコンポーネントであることができる。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に存在してもよく、コンポーネントを、１つのコンピュータ上に局所化させてもよく、かつ／または複数のコンピュータ間で分散させてもよい。
【０１１１】
前述のシステムを、幾つかのコンポーネント間の相互作用に関して説明した。かかるシステムおよびコンポーネントは、これらのコンポーネントまたは指定のサブコンポーネント、指定のコンポーネントまたはサブコンポーネントの一部、および／または追加のコンポーネントを含むことができ、これらの様々な並びおよび組合せに従うことができることは理解されよう。サブコンポーネントを、（階層的に）親のコンポーネント内に含めるのではなく他のコンポーネントに通信可能に結合されたコンポーネントとして実装することもできる。さらに、１つまたは複数のコンポーネントを、集約機能を提供する単一のコンポーネントに結合するか、または幾つかの別個のサブコンポーネントに分割してもよく、管理層のような任意の１つまたは複数の中間層を提供してかかるサブコンポーネントに通信可能に結合させて統合機能を提供してもよいことに留意されたい。本明細書で説明した任意のコンポーネントはまた、本明細書で具体的には説明していないが一般に当業者には公知である１つまたは複数の他のコンポーネントと対話することもできる。
【０１１２】
上述した例示的なシステムに鑑みれば、本発明に従って実装できる方法は、様々な図の流れ図を参照してよりよく理解されよう。説明の簡単さのため、方法を一連のブロックとして図示し説明したが、クレーム主題は、一部のブロックを本明細書で図示および説明した他のブロックと異なる順序および／または並列に実施してもよいので、ブロックの順序によっては限定されないことは理解されよう。非逐次的なまたは分岐を有する流れを流れ図で示す場合は、同一または同様な結果をもたらす様々な他の分岐、流れの経路、およびブロックの順序を実装できることは理解されよう。さらに、以降で説明する方法を実装するために、図示したブロックの全てが必要であるわけではない。
【０１１３】
幾つかの実施形態では、クライアント側の視点が示されているが、疑義を避けるため、対応するサーバ側の視点が存在し、逆もまた成り立つことは理解されよう。同様に、方法を実施する場合、ストレージと、１つまたは複数のコンポーネントを介して当該方法を実施するように構成された少なくとも１つのプロセッサとを有する、対応する装置を提供することができる。
【０１１４】
様々な実施形態を様々な図面の好適な実施形態と関連して説明したが、他の同様な実施形態を使用し、当該様々な実施形態から逸脱しない同一な機能を実施するための修正および追加を、説明した実施形態に加えうることは理解されよう。さらに、上述の実施形態の１つまたは複数の態様を複数の処理チップもしくは装置内でまたは当該処理チップもしくは当該装置にわたって実装してもよく、ストレージの効果を同様に複数の装置にわたって及ぼしてもよい。したがって、本発明はどの単一の実施形態にも限定されるべきではなく、添付の特許請求の範囲に従って広範囲に解釈すべきである。
【図１】
2012518330.tif 000003
【図２】
2012518330.tif 000004
【図３】
2012518330.tif 000005
【図４】
2012518330.tif 000006
【図５】
2012518330.tif 000007
【図６】
2012518330.tif 000008
【図７】
2012518330.tif 000009
【図８】
2012518330.tif 000010
【図９】
2012518330.tif 000011
【図１０】
2012518330.tif 000012
【図１１】
2012518330.tif 000013
【図１２】
2012518330.tif 000014
【図１３】
2012518330.tif 000015
【図１４】
2012518330.tif 000016
【図１５】
2012518330.tif 000017
【図１６】
2012518330.tif 000018
【図１７】
2012518330.tif 000019
【図１８】
2012518330.tif 000020
【図１９】
2012518330.tif 000021
【図２０】
2012518330.tif 000022
【図２１】
2012518330.tif 000023
【図２２】
2012518330.tif 000024
【図２３】
2012518330.tif 000025
【図２４】
2012518330.tif 000026
【図２５】
2012518330.tif 000027
【図２６】
2012518330.tif 000028
【図２７】
2012518330.tif 000029
【図２８】
2012518330.tif 000030
【図２９】
2012518330.tif 000031
【図３０】
2012518330.tif 000032
【図３１】
2012518330.tif 000033
【図３２】
2012518330.tif 000034
【図３３】
2012518330.tif 000035
【国際調査報告】
2012518330.tif 000036
2012518330.tif 000037