(57)【要約】データサービスのデジタルエスクローの様式は、リモートサイトまたはクラウドサービスにおける曖昧化されたデータへの選択的なアクセスを含み、複数のエンティティに渡って信頼性を分配させて一箇所でデータが漏洩することを防ぐ。パターンに基づいて、任意の種類のペイロードの「信頼できるエンベロープ」により、限定ではないが機密性、秘密性、匿名性、改竄検出、整合性などの保証にわたる全範囲の信頼性を可能にする、エンベロープに設けられる様々なデコレーションまたはシールを介して、幕がかかったようなアクセスが可能とされる。例えば、ＸＭＬタグを適用または拡張して、構造化ＸＭＬデータの信頼エンベロープを作成することが可能である。ＸＭＬデータに採用可能な数学的変換すなわち「デコレーション」の例には、サイズ保存型暗号，検索可能暗号、またはアプリケーション証明，ブラインドフィンガープリント、取り出し可能性証明などが含まれるがこれに限定されない。
2013513834.tif 000002
【特許請求の範囲】
【請求項１】
拡張マークアップ言語（ＸＭＬ）データをホストするための方法であって、
第１の制御領域内の少なくとも１つのコンピューティング装置によって、第２の制御領域内の少なくとも１つのコンピューティング装置から、数学的に変換されたＸＭＬペイロードデータおよび数学的に変換されたＸＭＬタグを含む少なくとも部分的に数学的に変換されたＸＭＬデータを受け取るステップであって、前記数学的に変換されたＸＭＬデータは、アクセス情報に基づく少なくとも１つの検索可能な数学的変換アルゴリズムに従って、前記第２の制御領域内の少なくとも１つのコンピューティング装置の定義済みのＸＭＬデータセットに対する少なくとも部分な数学的変換により形成される、ステップと、
少なくとも１つの能力により定義されるような前記数学的に変換されたＸＭＬデータへの選択的なアクセスを可能にする、前記数学的に変換されたＸＭＬペイロードデータまたは前記数学的に変換されたＸＭＬタグの内の少なくともいくつかにアクセスするための少なくとも１つの権利を定義するアクセス情報に基づく前記少なくとも１つの能力を含むデータを求める要求を受け取るステップと
を含むことを特徴とする方法。
【請求項２】
前記受け取るステップは、暗号化ＸＭＬペイロードデータおよび暗号化ＸＭＬタグを含む少なくとも部分的に暗号化されたＸＭＬデータを受け取ることを含み、前記暗号化ＸＭＬデータは、暗号化鍵情報に基づく少なくとも１つの検索可能暗号アルゴリズムに従って、定義済みのＸＭＬデータセットの少なくとも部分的な暗号化により形成されることを特徴とする請求項１に記載の方法。
【請求項３】
前記受け取るステップは、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグに選択的にアクセスするための少なくとも１つの暗号トラップドアを含むトラップドアデータを含むデータを求める要求を受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記受け取るステップは、前記定義済みのＸＭＬデータセットから少なくとも１つのデータ項目を求める要求を受け取ることと、暗号化ＸＭＬデータから前記少なくとも１つのデータ項目を抽出するための少なくとも１つのトラップドアを受け取ることとを含み、前記少なくとも１つのトラップドアが有効である場合、前記暗号化ＸＭＬデータから前記少なくとも１つのデータ項目を抽出して送信するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１の制御領域内の前記少なくとも１つのコンピューティング装置によって受け取るステップは、暗号化鍵情報に基づき暗号化される補助的メタデータを受け取ることを含み、前記補助的メタデータは暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグの分析により形成されることを特徴とする請求項１に記載の方法。
【請求項６】
検索可能に暗号化された拡張マークアップ言語（ＸＭＬ）データを取得するための方法であって、
少なくとも１つの加入者装置に関連する識別情報に基づいてアクセス情報を生成するアクセス情報生成コンポーネントからアクセス情報を受け取るステップと、
検索可能に符号化されるＸＭＬデータおよび対応するＸＭＬタグデータのストレージプロバイダにアクセス情報を送信するステップを含む、前記検索可能に符号化されるＸＭＬデータおよび前記対応するＸＭＬタグデータのサブセットを、少なくとも１つの加入者装置によって要求するステップと、
前記検索可能に符号化されるＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを、前記アクセス情報で定義される能力により許可される通りに復号するステップと
を含むことを特徴とする方法。
【請求項７】
前記アクセス情報を受け取るステップは、前記少なくとも１つの加入者装置に関連する識別情報に基づき暗号化鍵情報を生成する鍵生成コンポーネントから前記暗号化鍵情報を受け取ることを含み、
前記サブセットを要求するステップは、検索可能に暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのストレージプロバイダに前記暗号化鍵情報を送信することを含め、前記検索可能に暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを少なくとも１つの加入者装置によって要求することを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記検索可能に符号化されるＸＭＬデータおよび対応するＸＭＬタグデータの正しいサブセットが、要求と一致する前記少なくとも１つの加入者装置により受け取られることを実証するステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記実証するステップは、前記正しいサブセットが前記少なくとも１つの加入者装置により受け取られることを証明するデータ所持の証明を実行することを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記検索可能に符号化されるＸＭＬデータおよび対応するＸＭＬタグデータのサブセットのコンテンツが、前記検索可能に符号化されるＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを受け取る前に、削除または変更されなかったことを検証するステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項１１】
前記検証するステップは、前記コンテンツに関する干渉が無いことを証明する取り出し可能性証明を実行することを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記要求するステップは、前記少なくとも１つの加入者装置に関連する認証情報を匿名化することを含むことを特徴とする請求項６に記載の方法。
【請求項１３】
選択的にアクセス可能な曖昧化されたＸＭＬペイロードデータ、および前記曖昧化されたＸＭＬペイロードデータに対応する曖昧化されたＸＭＬタグデータを記憶する少なくとも１つのデータストアであって、少なくとも１つの加入者が前記曖昧化されたＸＭＬペイロードデータまたは曖昧化されたＸＭＬタグデータのサブセットの取得を要求し、第１の独立エンティティが前記少なくとも１つの加入者に関連する識別情報に基づいてアクセス情報を生成し、第２の独立エンティティが前記第１の独立エンティティにより生成される前記アクセス情報に基づいて前記サブセットのデコードを実行する、データストアと、
少なくとも１つの要求を前記少なくとも１つの加入者によって処理するために、前記曖昧化されたＸＭＬペイロードデータまたは前記曖昧化されたＸＭＬタグデータのサブセットに対する選択的なアクセスを提供するネットワークサービスを実行するように構成された少なくとも１つのプロセッサＰ２と
を備えたことを特徴とするシステム。
【請求項１４】
前記少なくとも１つのプロセッサＰ２は、前記曖昧化されたＸＭＬペイロードデータまたは前記曖昧化されたＸＭＬタグデータのサブセットが取得したものと一致する正しいサブセットであることを実証するようにさらに構成されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記少なくとも１つのプロセッサＰ２は、前記曖昧化されたＸＭＬペイロードデータまたは前記曖昧化されたＸＭＬタグデータのサブセットが、前記曖昧化されたＸＭＬペイロードデータまたは前記曖昧化されたＸＭＬタグデータのサブセットへの選択的なアクセスの前に、許可無しに改造または削除されていないことを検証するようにさらに構成されることを特徴とする請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
主題開示は、ネットワークまたはクラウドサービスなどの装置に信頼できるコンピューティング・データサービスを提供すること、より具体的には、セキュアで選択的にアクセス可能なプライベートの拡張マークアップ言語（ＸＭＬ）のストレージを可能にするデータまたはネットワークサービスを提供することに関する。
【背景技術】
【０００２】
いくつかの従来のシステムに関する背景技術として、コンピューティング装置は、従来アプリケーションおよびデータサービスを装置に対してローカルに実行するものであった。この場合、データは、アクセスされ、処理され、記憶され、キャッシュされるなどして、ローカルバス、インターフェース、および他のデータ経路を介して装置上を伝達されるが、装置そのものの紛失、盗難または何からの危険な状態にさらされない限り、装置のユーザは、ユーザのデータの干渉や露出を心配する必要が無かった。
【０００３】
テラバイト単位のデータ（将来的にはペタバイト、エクサバイト等の単位のデータの可能性がある）を記憶する能力があるネットワークストレージファームの進化で、過去にはローカルデータに対して操作を行っていたが、代わりに、主要な装置と外部記憶装置を分離してクラウド内に記憶されるデータに対して操作する模倣アプリケーションが作成されることになった。アプリケーションまたはシステムの（または任意の）データのクラウドストレージにより、多くの装置がそのデータを、別個の専用の記憶装置を装置ごとに必要とすることなく記憶することができる。
【０００４】
しかし、オンラインおよびクラウドサービスの進化により、アプリケーションおよびサービスは、装置に代わって所与のサービスの一部または全てを実行するサードパーティのネットワークプロバイダにますます移行してきている。この場合、ユーザのデータが、サービスに対してアップロードされるとき、サービスによって保存または処理されるとき、あるいはサービスから取り出されるとき、ユーザのデータに誰がアクセスできるのか、もっと悪い場合は干渉できるのかについて、装置のユーザは心配になる可能性がある。要するに、ユーザの装置のデータが、物理的所有範囲から離れ、ユーザから物理的に離れたネットワーク環境に入ると、第三者による、データのずさんもしくは悪質な取扱いまたは干渉が起こることが懸念される。従って、クラウドサービスの信頼性、セキュリティおよび秘密性、クラウドサービスと結びついたデータの取扱いを強化させることが望ましい。データのストレージに関しては、企業内においても同様の懸念が生じる可能性があり、例えば、データが、データを生成したある制御領域（例えば、第１の部署）を離れて、別の領域（例えば、第２の部署）にストレージのために入力されるような場合である。
【発明の概要】
【０００５】
しかし、上記で示唆したように、どのクラウドサービスプロバイダもネットワークストレージプロバイダも、クラウドに記憶されている間のデータのセキュリティ、秘密性および整合性の問題と必要性とを効果的に軽減することができないという問題が残る。手短に言えば、ユーザは、記憶手段での物理的な制御を引き渡した場合に、自分のデータが安全かつ秘密性を保たれるという高い信頼性を求め、このハードルは、サードパーティのネットワークサービスおよびネットワークソリューションを介した重要なデータのバックアップを、企業や消費者が採用することを大きく阻んできた。
【０００６】
上述の今日の装置および装置に提供されるデータサービスの欠陥は、従来のシステムの問題点の一部を単に概要を提供することが意図されており、網羅することは意図されていない。本技術に伴う他の問題点、および種々の非限定な実施形態の一部の対応する効果については、以下の発明を実施するための形態を精査することによりさらに明らかになるであろう。
【０００７】
本明細書において、以下のより詳細な説明および添付の図面に続く例示の非限定的な実施形態の１つまたは複数の種々の態様を基本的かつ一般的な理解を助けるために、簡単な概要を提供する。しかし、本概要では、広範囲または網羅的に概観することは意図されない。代わりに、本概要のただ一つの目的は、いくつかの例示の非限定的な実施形態に関するいくつかの概念を、以下に続く種々の実施形態のより詳細な説明の前置きとして簡単な形式で提示することである。
【０００８】
ネットワークサービスまたはクラウドデータサービスは、検索可能暗号、逆アセンブル（deassembling）／リアセンブル（reassembling）または分配の技術などのデータの数学的変換の技術を含み、該サービスを提供することにより、複数のエンティティに渡って信頼性を分配させて一箇所でデータが漏洩することを防ぎ、かつ、データのストレージ、処理、アクセスまたは取り出しを行うことができるコンテナから、データ保護の要件を切り離すことができるようにする。一実施形態において、数学的変換述部ジェネレータ（例えば、キージェネレータ）、数学的変換プロバイダ（例えば、暗号化技術プロバイダ）、およびクラウドサービスプロバイダが、それぞれ別々のエンティティとして提供され、データの発行者がクラウドサービスプロバイダに対してデータを機密的に（隠した状態、例えば、暗号化した状態で）発行するための信頼できるプラットフォームを可能にし、かつ、加入者の能力に基づいて認可された加入者に対して、隠されたデータ、例えば、暗号化されたデータへの選択的なアクセスを可能にする。
【０００９】
信頼できるプラットフォームの技術を使用して、データ（および関連するメタデータ）は、データを保持するコンテナ（例えば、ファイルシステム、データベース等）から切り離され、非限定例におけるように、信頼プラットフォームの暗号化鍵ジェネレータにより付与されるキーなどの、提示された能力で開く数学的複雑性という覆いを課すことによって、データにデータ自身の管理者として動作させることを可能にする。データまたはそのデータのサブセットの共有またはそれに対するアクセスは、実施のための特定のコンテナを必要とすることなく信頼性を維持かつ拡大させるような方法で円滑にされる。データに対して適用される検索可能暗号技術などの数学的複雑性により、特定のビットが記録されるコンテナまたはハードウェアに関わらずデータが保護され、すなわち、データは、コンテナレスで、またはコンテナを考慮することなく保護され、従って、コンテナのセキュリティが危険な状態にさらされることによる攻撃を受けることがない。特定の「安全性」が破られても、コンテンツはなお保護される。
【００１０】
一非限定的な実施形態において、拡張マークアップ言語（ＸＭＬ）データは、データ自身の管理者として動作するデータである。ＸＭＬデータでは、下層にあるデータへのアクセスを選択的に許可または禁止する記述情報でタグを拡張または追加することが可能であり、ＸＭＬデータ、またはＸＭＬデータフラグメントは、ＸＭＬデータまたはフラグメントに適用される信頼エンベロープ内にタグ情報によりカプセル化され、自身の管理者として動作することが可能とされる。ＸＭＬデータまたはタグは、例えば、認証情報、許可情報、スキーマ情報、履歴情報、トレース情報、一貫性情報などのうちの任意の１つまたは複数を符号化する検索可能メタデータを表すことができる。なお、ＸＭＬに基づくいずれの実施形態も、限定でないが、ＪＳＯＮ（JavaScript Object Notation）、Ｓ−Ｅｘｐｒｅｓｓｉｏｎｓ、電子データ交換（ＥＤＩ）などを含む代替のフォーマットの範囲まで適用することができ、従って、ＸＭＬはそのような実施形態において単に例示のために使用される。
【００１１】
限定ではないが、データベースのフィールド、ＸＭＬフラグメント、または全レコードなどの任意の種類のペイロードの「信頼エンベロープ」により、機密性、秘密性、匿名性、改竄検出、整合性などに限定されない保証の領域の信頼性全域を可能にする、エンベロープに設けられる様々なデコレーションまたはシールを介して、幕がかかったようなアクセスが提供される。例えば、ＸＭＬタグを適用または拡張して、ネットワーク環境においてデータ交換に使用される一般的なフォーマットである構造化ＸＭＬデータの信頼エンベロープを作成することができ、信頼できるクラウドサービス環境においてコンテナの無いＸＭＬデータが可能になる。
【００１２】
データのセキュリティおよび秘密性に関する高レベルの信頼性の構築を円滑にするために採用可能な暗号化技術すなわち「デコレーション」の他の例には、サイズ保存型暗号，検索可能暗号、または、アプリケーション証明、ブラインドフィンガープリント、取り出し可能性の証明などが含まれるが、これらには限定されない。
【００１３】
他の実施形態および種々の非限定例、シナリオおよび実装については、より詳細に以下に記載される。
【００１４】
種々の非限定的な実施形態について、添付の図面を参照してさらに説明される。
【図面の簡単な説明】
【００１５】
【図１】セキュアで、秘密性があり、選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。
【図２】「自身の管理者としてのデータ」の１つまたは複数の態様を例示するブロック図である。
【図３】セキュアで、秘密性があり、選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。
【図４】データがそれ自身の管理者として動作するコンテナを管理するための処理のフロー図である。
【図５】それ自身の管理者として動作するデータの１つまたは複数の態様を例示する別のブロック図である。
【図６】データが従来のコンテナセキュリティモデルを超えることが可能であることを示す、それ自身の管理者としてのデータの態様を例示する別のブロック図である。
【図７】異種のタイプの複数のデータコンテナからデータを自動的に細分化、キャッシュ、複製、再構築する機能を実行する、ストレージ管理レイヤを例示する図である。
【図８】データが種々のデータコンテナに渡ってどこに記憶されても、暗号化アクセスラッパーをデータに追加するセキュアなオーバレイネットワークを例示するブロック図である。
【図９】レガシーアプリケーションに関する態様を例示するブロック図である。
【図１０】ＦＴＯ対応アプリケーションに加えてレガシーアプリケーションとも関連して使用可能なサンプルのアーキテクチャモデルの図である。
【図１１】データまたはデータの特徴を記述する、データおよび／またはメタデータの暗号化ラッパーまたは暗号化エンベロープの一般的な使用について例示するブロック図である。
【図１２】図１１に一般的に提示した概念をさらに強調する特定の例の図である。
【図１３】保護データを取り囲む連合信頼オーバレイを例示する別の例の図である。
【図１４】信頼オーバレイを使用してレコードおよびインデックスを暗号化してクラウドにアップロードする実施形態を例示するブロック図である。
【図１５】より豊富なクラウドストレージの経験のために、クライアントがどのように連合信頼オーバレイアーキテクチャを使用して、暗号化されたインデックスを暗号化されたデータの上部において生成、アップロードおよび／または検索することが可能なのかを例示する図である。
【図１６】より豊富なクラウドストレージの経験のために、クライアントがどのように連合信頼オーバレイアーキテクチャを使用して、暗号化されたデータの上部において暗号化されたインデックスを生成、アップロードおよび／または検索することが可能なのかを例示する図である。
【図１７】いくつかの追加の非限定的な、システムによる信頼保証を例示するブロック図である。
【図１８】いくつかの追加の非限定的な、システムによる信頼保証を例示するブロック図である。
【図１９】ＸＭＬの文脈での信頼オーバレイの実施形態を例示する図である。
【図２０】種々の実施形態における信頼ＸＭＬの例示の処理を示すフロー図である。
【図２１】種々の実施形態における信頼ＸＭＬの例示の処理を示すフロー図である。
【図２２】種々の実施形態における信頼ＸＭＬの例示の処理を示すフロー図である。
【図２３】種々の実施形態における信頼ＸＭＬの例示の処理を示すフロー図である。
【図２４】一実施形態において、データを処理して信頼できるＸＭＬを形成するための例示の非限定的な方法を示すフロー図である。
【図２５】一実施形態に従う、信頼できるクラウドサービスのフレームワークまたはエコシステムのブロック図である。
【図２６】信頼できるクラウドサービスエコシステムに従ってデータを発行するための例示の非限定的な方法を示すフロー図である。
【図２７】信頼できるクラウドサービスエコシステムに従ってデータを取るための例示の非限定的な方法を示すフロー図である。
【図２８】信頼できるエコシステムにおける、鍵生成センタ（ＣＫＧ）、暗号化技術プロバイダ（ＣＴＰ）およびクラウドサービスプロバイダ（ＣＳＰ）の分離を示す例示のエコシステムを示す図である。
【図２９】企業向けのクラウドサービスを実行するための信頼できるエコシステムのさらなる便益を例示する別のアーキテクチャ図である。
【図３０】ストレージ抽象化レイヤを介して異なるストレージプロバイダを適応させる例を示す別のブロック図である。
【図３１】ストレージ抽象化サービスに関連したストレージのさらなる態様を例示する図である。
【図３２】信頼できるエコシステムにおける種々の異なる参加者を例示する別のブロック図である。
【図３３】異なるエンティティまたは同一のエンティティにより異なるものを提供可能な、信頼できるクラウドコンピューティングシステムの例示の非限定的な実装のいくつかのレイヤの代表的な図である。
【図３４】レイトバインディングを用いてデータに対する制御された選択的なアクセスを発行者に与える様式で、デジタルセーフアプリケーションに対して文書を発行するための例示の非限定的処理のフロー図である。
【図３５】デジタルセーフに配置された資料を取るための例示の非限定的な処理のフロー図である。
【図３６】デジタルエスクローの様式を使用して１つまたは複数のデータセンタを介して企業のためのセキュアなエクストラネットを実装する、信頼できるクラウドサービスの例示の非限定的な実装を示す図である。
【図３７】ＣＳＰにより記憶される暗号化データへの選択的なアクセスが加入者に与えられる、信頼できるクラウドサービスエコシステムに基づく別の例示の非制限的なシナリオを示すフロー図である。
【図３８】アプリケーション応答をサインイン情報に基づいて加入者に合わせることができることを例示する別のフロー図である。
【図３９】単一のパーティまたは複数のパーティに対して実装させることができる、セキュアなレコードアップロードのシナリオを例示する別のフロー図である。
【図４０】信頼できるクラウドサービスエコシステムにより可能にされる、検索可能に暗号化されたデータストアへの役割ベースのクエリの例示の非限定的な実装を例示するさらに別のフロー図である。
【図４１】企業がその暗号化されたデータの何らかへのアクセスを外部の企業に提供する、複数のパーティの共同シナリオを例示するフロー図である。
【図４２】複数の企業間における、複数のパーティの自動検索のシナリオを例示するフロー図である。
【図４３】信頼できるクラウドサービスのために実装可能な例示の非限定的なエッジコンピュータネットワーク（ＥＣＮ）技術を例示する図である。
【図４４】信頼できるクラウドサービスエコシステムに従う鍵生成センタの１つまたは複数の任意的な態様を例示するブロック図である。
【図４５】検索可能に暗号化されたデータを含む信頼できるストアの例示の非限定的な実施形態のブロック図である。
【図４６】妥当性検査のステップを含む取得のための例示の非限定的な処理を例示するフロー図である。
【図４７】ベリファイアが暗号化チャレンジをプルーバに発出する、例示の非限定的な妥当性検査チャレンジ／レスポンスプロトコルを示す図である。
【図４８】検索可能に暗号化されたデータを含む信頼できるストアの別の例示の非限定的な実施形態のブロック図である。
【図４９】妥当性検査のステップを含む取得のための例示の非限定的な処理を示すフロー図である。
【図５０】ベリファイアが暗号化チャレンジをプルーバに発出する、例示の非限定的な妥当性検査チャレンジ／レスポンスプロトコルを示す図である。
【図５１】ブラインドフィンガープリントを含むサービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。
【図５２】複数の独立の連合信頼オーバレイまたはデジタルエスクローが、階層化アプローチで、並んでまたは上下に存在することができる、非限定的なシナリオを例示するブロック図である。
【図５３】認可されないアクセスに対してデータを隠すためのデータ分散技術を含む信頼できるストアの別の例示の非限定実施形態のブロック図である。
【図５４】本明細書に記載される種々の実施形態を実装可能な例示の非限定的なネットワーク化された環境を表すブロック図である。
【図５５】本明細書に記載される種々の実施形態の１つまたは複数の態様を実装可能な例示の非限定的なコンピュータシステムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１６】
＜概要＞
背景技術で検討したように、データをネットワークサービスに送信することは、秘密性、改竄の可能性などに関する不安感を起こさせる可能性があり、例えば、データをユーザの装置からネットワークのアプリケーション、サービスまたはデータストアに送信するときに、ユーザは、悪質な第三者が害を及ぼすことの無い十分な保証を望む。当然のこととして、ユーザはデータに関する制御を失う。従って、データの発行者および／または所有者が、自分のデータについての物理的な制御を渡すことをいとわず、自分のデータがネットワークにおいて、発行者および／または所有者自身、あるいは要求者のアイデンティティに基づいて検証済みとして権利が与えられた者によってアクセスされるときを除いて、プライベートかつ無侵害性が保たれると信じることができるように、信頼性を向上させることが望ましい。
【００１７】
この点に関して、クラウドに記憶されている間のデータのセキュリティ、秘密性、および整合性の問題と必要性とを効果的に軽減することが可能なクラウドサービスまたはネットワークストレージプロバイダがないという問題が残っている。手短に言えば、ユーザは、記憶手段における物理的な制御を渡すとき、自分のデータの安全性および秘密性が保たれるという高い信頼性に関心があり、これがハードルとなって、サードパーティのネットワークサービスおよびネットワークソリューションを介した重要なデータのバックアップを、企業や消費者が採用することを大きく阻んできた。 
本明細書において使用されるとき、用語「ネットワークプロバイダ」には、コンテンツ配信（または分配）ネットワーク（ＣＤＮ）、ハイブリッドシナリオ（例えば、企業ストレージ、クラウドストレージおよび／またはＣＤＮに及ぶ）、および／または、より広範囲の連合シナリオ（例えば、複数の企業、複数のクラウド、もしくは複数のＣＤＮに及ぶ）、または上記したものの任意の組み合わせが含まれるが、これらには限定されない。
【００１８】
従来、データを安全に保つためには、データは、例えば、物理的な媒体上にロックまたは保持されてきた。この点で、安全性の管理者は全面的に信頼できるパーティであるべきであり、すなわち、安全性の内容についてはアクセスしないということを、データ所有者が分かっている。これに関して、クラウドサービスの前提として、顧客は必ずしも自分のデータが物理的に置かれている場所を厳密に知っている必要は無いが、問題を全体的に無視できるわけではない。何故なら、誰（どの装置）がデータにアクセスできるのか、誰がデータを見るのか、誰がデータをメンテナンスするのか、およびどのように記憶させるのか、について全ての責任をとることは困難であったからである。従って実際は、顧客は、固有の不信感により、クラウドの繋がりの中でサードパーティが何者であるのか、誰が種々のコンピューティング装置および記憶装置を制御しているのか、様々な他の懸念などについて多くを心配する。
【００１９】
データの所有者または発行者とは一致しないこともあるという固有の偏見を有する、人または外部のエンティティの制御による動作管理を取り除き、本明細書における種々の実施形態は、データが、例えば、選択的に暗号化される、または検索可能に暗号化されるなど数学的に変換されるシステムを提供し、データを保持するサードパーティのマシン、機構、装置またはコンテナを考慮せずにデータがそれ自身の管理者として動作するようにする。この点について、連合信頼オーバレイ（federated trust overlay）の種々の実装では、セキュリティ、機密性、改竄防止などの、ユーザに対しては透過的とされる保証と共に、コンテナレスのデータが可能にされる。
【００２０】
従って、種々の実施形態において、信頼できるクラウドプラットフォームを、データを発行者により数学的に隠すための変換可能なフレームワークとして使用して、加入者が、加入者が認可されたものに対して選択的にアクセスできるようにする。この点について、このプラットフォームは、データの保護だけではなく、認可された加入者に対するアクセスの許可も同時に行うことにより、データをそれ自身の管理者として動作させることを達成し、一方整合性およびセキュリティも維持する。
【００２１】
以下において種々の実施形態および詳細な章で記載するように、自身が管理者であるデータは、プラグ可能なサービスを有する連合信頼オーバレイを用いて実装可能である。単に暗号化などの数学的不明瞭化にとどまらず、種々の実施形態では、データが、どこにどのように記憶されようとも、データの発行者または所有者により適切に定義された通りに機密性および整合性の要件を維持するという保証を、ユーザのデータおよびエスクロー業者のデータに提供する。この点において、着目点は、データの境界、パイプおよびコンテナを確保することから、適切な能力（例えば、鍵）と共に提示される場合には、データ／メタデータへのアクセスを可能にする暗号化によるセキュアな信頼エンベロープ、または特定のサブセットを提供することにより、データおよび関連するメタデータを確保することへと移行または増大される。
【００２２】
一実施形態において、データをホストする方法が提供され、該方法には、第１の制御領域内のコンピューティング装置が、第２の制御領域内のコンピューティング装置から、第２の制御領域内のコンピューティング装置の定義済みデータセットに対するデータの数学的変換により形成される曖昧化データを受信するステップが含まれる。方法には、さらに、第１の制御領域内のコンピューティング装置が、データの分析と、分析による出力の少なくとも１つの別の数学的変換により形成される曖昧化されたメタデータを受信するステップが含まれる。次に、曖昧化データおよび／または曖昧化メタデータを記憶すべき少なくとも２つの別個のコンテナのタイプを有するコンテナのセットのうち、１つまたは複数のコンテナを決定する。
【００２３】
システムの非限定的な実装において、１つまたは複数の数学的変換コンポーネントが数学的変換アルゴリズムプロバイダにより少なくとも部分的に分配され、該プロバイダは、データもしくはメタデータの発行、または、データおよびメタデータの取得の少なくとも１つのための数学的変換述部情報（例えば、鍵情報）を生成するジェネレータからは独立して実装される。１つまたは複数の数学的変換コンポーネントは、ジェネレータが生成する検索可能データ不明瞭化アルゴリズム（例えば、検索可能暗号）または数学的変換述部情報に基づく検索可能データ明示化アルゴリズム（例えば、検索可能復号）の少なくとも１つを実行する。ネットワークサービスプロバイダは、ジェネレータおよび１つまたは複数の数学的変換コンポーネントからは独立して実装されるもので、１つまたは複数の数学的変換コンポーネントにより曖昧化されたデータまたはメタデータに関してネットワークサービスを実装し、ネットワークサービスプロバイダには、ネットワークサービスのデータレイテンシ要件，データ信頼度要件、データ消費地点からの距離の要件、または、データ規模要件のうちの少なくとも１つに基づいて、少なくとも１つの数学的変換コンポーネントにより曖昧化されたデータまたはメタデータをどこに記憶するかを管理するデータコンテナ管理コンポーネントが含まれる。
【００２４】
管理者としてのデータは、データへのアクセス資格を必要な時または必要と予測される時に、細粒度または特定の粒度で提供するのであり、所与のデータセット全てへの資格を要求するのではない。クラウドストレージプロバイダの操作スタッフも、探知されずにデータを閲覧、変更、改竄または削除することはできないが、ただし、サーバログのメンテナンス、または記憶容量の計画などメタデータについての何らかの他の限定された操作等の操作スタッフに付与された能力に従い、閲覧、変更、改竄、または削除が明示的に認可された場合を除く。加えて、コンテナレスのデータは、改竄の防止を容易にする予防的な複製が可能であり、これは、従来のシステムでは適切に対処できなかった要件である。
【００２５】
一実施形態において、連合信頼オーバレイは、以下のコンポーネント、すなわち、クラウドデータサービス（ＣＤＳ：Cloud Data Service）またはクラウドストレージプロバイダ、暗号化技術プロバイダ（ＣＴＰ：Crypto  Technology Provider）、および鍵生成センタ（ＣＫＧ：Center for Key Generation）のうちの１つまたは複数を用いて達成される。ＣＤＳは、任意のストレージプロバイダが提供可能であり、すなわち、コンテナレスのデータは特定のコンテナを必要としない。ＣＴＰも、ＣＤＳとは別の制御領域で動作する場合には、任意のパーティが提供可能であり、ＣＴＰを実装するためのオープンな仕様、またはＣＴＰの独自の実装のどちらに基づいても良い。鍵生成機能を分離させ、暗号化原理などの数学的原理に公的な検査を課すことにより、ＣＴＰの方法論が偏見とは無関係であり、企業または単一のユーザにより実装可能、または、ＣＴＰの専門知識を有するサードパーティに対して供給可能であるという確信を与える。さらに、独自のバージョン、社内向けのオープンなバージョン、政府や国家向けのオープンまたはクローズなバージョン、参照オープソースバージョン、または他の分類は全て、予めパッケージ化される、所与のエンティティによる使用または実装のために作成することができる。
【００２６】
ＣＫＧエンティティは、ＣＴＰが規定する技術に従って鍵情報を生成し、連合信頼オーバレイの別のコンポーネントとしても提供される（ＣＫＧは、ＦＴＯの所与の実装のために必要とされる信頼性のレベルに応じて他のコンポーネントと組み合わせることもできる）。種々の実施形態において、ＣＫＧは中央集中型のエンティティとすることができるが、「センタ」という語は本明細書において使用される時には、論理上の参照であって、中央集中型のエンティティを示すものではなく、従ってＣＫＧは分配させることも連合させることも同様に可能である。ＣＫＧは単一のエンティティまたは複数のパートナに対して機能することができ、例えば、製薬会社間で複数のパートナが共同し、ＣＫＧについての合意によるキー交換に従って情報の共有およびアクセスを行う。従って、ＦＴＯでは、信頼性と機密性とが力を分離させることにより維持され、記憶される情報、ログまたはアクセスパターンが明示的な認可無く見抜かれることを防ぎ、また、改竄検出および整合性、例えば、検証も可能にされる。例えば、サービスプロバイダは、探知されずにデータの変更や削除を行うことはできない。否認防止の機能を持つ監査能力により、顧客は安心してデータを手放し、偶然にも故意にもデータに干渉するものはいないことを確信することができる。ログはデータおよびメタデータと同様に保証される。
【００２７】
結果の「妥当性検査」はＦＴＯの実装に含むことができる別の特徴であり、以下により詳細に記載する。妥当性検査により、クラウドは、要求されている情報を提供しないでおくことができないことが確実にされ、例えば、３つの文書が要求されている場合に２つの文書を配信することができない。ＣＫＧとデータの妥当性検査を実行する任意のサービスとを分離させて実装することを熟考すること、アプリケーションサービスプロバイダに付与される能力に基づきデータまたはメタデータの受信、改造、取り出し、改造、拡張、または削除を行うアプリケーションサービスプロバイダからデータを分離させることにより、さらに分離の概念について考慮することができる。これにより、アクセス、アップデートされたセキュリティモデル、アップデートされた役割、日時などのその時の特徴に従ってアプリケーション能力を維持するという利点も追加される。
【００２８】
上記した特徴の全てまたはいくつかでも、以下の種々の実施形態において詳細に記載するように組み合わせることにより、データのクラウドストレージについて信頼性の懸案事項を取り除く可能性が高められる。企業レベルにおいて、企業は、データおよびアプリケーションがクラウドでホストされる場合でも、自身のポリシーおよび制御の実施を粒度を用いて持つことができる。システムは、アイデンティティメタシステム（例えば、クレーム、アイデンティティライフサイクル管理、アクティブディレクトリ、など）等の企業のセキュリティインフラストラクチャと調和させることができる。企業は、ＦＴＯの実装と同程度または低程度で所望の通りに呈示させることができる。
【００２９】
本明細書に記載されるデータサービスを提供することにより、セキュアで秘密性があるだけでなくコスト効率も高いソリューションを可能にするストレージと暗号化の技術が、様々に組み合わせられかつ置き換えられる。例えば、以下でさらに詳細に記載される種々の任意的な実施形態は、サイズ保存型暗号、検索可能暗号および／またはアプリケーション証明（一般的技術を参照）と呼ばれる暗号化技術を含むデータ保護技術を実装する。そのような実施形態は、外部委託されるクラウドデータ保護、障害復旧または分析のための新しいビジネスのシナリオを可能にする。背景技術において検討したように、従来のシステムには、顧客の秘密性またはセキュリティの必要性への対処が不十分でない様式でクラウドまたはネットワークのデータを実装できるものはなかった。
【００３０】
この点に関して、従来のネットワークサービス供給を取り囲む信頼性に関する障壁を取り除くために、上記で確認した目的、および以下に記載される種々の実施形態において協調される他の利点を達成する、信頼できるクラウドコンピューティング・データサービスのエコシステムまたはフレームワークが提供される。用語「“クラウド”サービス」は、概して、サービスが、ユーザの装置からローカルに実装されるのではなく、１つまたは複数のネットワークを介してアクセス可能な１つまたは複数のリモートの装置から配信される、という概念を指す。ユーザの装置は、１つまたは複数のリモート装置において発生する事象の詳細を理解する必要がないので、ユーザの装置の観点からは、サービスが「クラウド」から配信されるように見える。
【００３１】
一実施形態において、システムは、データを発行または取得するための鍵情報を生成するキージェネレータを備える。暗号化技術プロバイダは、キージェネレータからは独立して実装されるもので、キージェネレータにより生成される鍵情報に基づく検索可能暗号／復号アルゴリズムを実装する。加えて、ネットワークサービスプロバイダは、キージェネレータと暗号化技術プロバイダとから独立して実装されるもので、暗号化技術プロバイダにより暗号化されるデータに対してネットワークサービスを提供する。
【００３２】
一実施形態において、選択的にアクセス可能な、例えば、検索可能な、暗号化データを呈示させるデータストアが提供され、少なくとも１つの発行者がデータストアに対してリソースを表すデータを発行する。信頼性の不正使用の可能性のある区域の場合には、第１の独立エンティティが、暗号化鍵情報の生成を実行する。次に、第２の独立エンティティが、第１の独立エンティティにより生成された暗号化鍵情報に基づき、発行されたデータを記憶する前に暗号化する。そして、ネットワークサービスまたはクラウドサービスのセットが、リソースの発行者または所有者により付与される、レイトバインディングされる選択的権利に基づきネットワークサービスへの所与の要求に関して暗号化データに選択的にアクセスする。
【００３３】
他の実施形態において、データストアが、選択的にアクセス可能な暗号化データを記憶し、加入者が暗号化データの特定のサブセットを取得する。第１の独立エンティティが加入者に関連する識別情報に基づき暗号化鍵情報を生成し、第２の独立エンティティが第１の独立エンティティにより生成された暗号化鍵情報に基づき特定のサブセットの復号を実行する。ネットワークサービスは加入者による要求に応答して、特定のサブセットの発行者または所有者により付与される、レイトバインディングされる選択的権利に基づき暗号化データへの選択的なアクセスを提供する。
【００３４】
この点に関して、用語「発行者」および「加入者」はそれぞれ、概して、信頼できるクラウドサービスのデータを発行または取得する者を指す。しかし実際には、信頼できるクラウドサービスエコシステムおよびデジタルエスクローの様式の業界、分野または用途に応じて、発行者および加入者はより特有の役割を担う。例えば、システム全体のデータの文脈では、典型的には小さなグループの加入者のみがデータにアクセスする権利を有する。データの文脈での例として、暗号化されたデータストアの監査人は、データの監査人としての役割に基づく特定の能力持ち、特定の要件が満たされるか確認することができ、例えば、バックアップの頻度を確認できるがコンテンツそのものへのアクセスは許可されていない。
【００３５】
一非限定的実施形態において、データをホストするための方法は、第１の制御領域内の第１のコンピューティング装置が、第２の制御領域内の第２のコンピューティング装置から、暗号化鍵情報に基づく検索可能暗号アルゴリズムに従って第２のコンピューティング装置の定義済みのデータセットに対するデータの暗号化により形成される暗号化データを受信するステップと、第１のコンピューティング装置が，データの分析と、暗号化鍵情報に基づく分析による出力の暗号化とにより形成される暗号化メタデータを受信するステップと、暗号化データまたは暗号化メタデータを記憶すべき少なくとも２つの異なるコンテナのタイプからコンテナを自動的に決定するステップと、を含む。トラップドアデータが受信されて、トラップドアデータの少なくとも１つの暗号トラップドアにより定義される暗号化データまたは暗号化メタデータへの可視的なアクセスが可能にされる。
【００３６】
暗号化データまたは暗号化メタデータが記憶されるコンテナは、複数のコンテナの事前に定義された条件が満たされる場合に自動的に切替えまたは交換可能である。例えば、特定のデータまたはメタデータが顧客に対して高優先にされる場合、低速で長期のストレージから、低アクセスレイテンシの高速なコンテナに移動させることができる。または、他の効率上の理由により、例えば、暗号化データまたは暗号化メタデータに関連するストレージサイズ、暗号化データまたは暗号化メタデータに対して指定されるアクセス要件である速度、暗号化データまたは暗号化メタデータに対して指定される復旧要件の信頼度、暗号化データまたは暗号化メタデータへのアクセスを有する１つまたは複数の装置への近接度、などに基づき、データまたはメタデータを移動、コピー、または削除することができる。
【００３７】
別の非限定的実施形態において、システムは、データおよびメタデータを発行、またはデータおよびメタデータを取得するための鍵情報を生成するキージェネレータとは独立して実装される、暗号化技術プロバイダにより少なくとも部分的に分配される暗号化コンポーネントを備え、暗号化コンポーネントは、キージェネレータにより生成される鍵情報に基づき、データおよびメタデータを検索可能に暗号化し、または、データおよびメタデータを検索可能に復号する。
【００３８】
システムはまた、ネットワークサービスプロバイダを含むことができ、キージェネレータおよび暗号化コンポーネントから独立して実装され、暗号化コンポーネントにより暗号化されるデータまたはメタデータに対してネットワークサービスを提供する。ネットワークサービスプロバイダには、ネットワークサービスのデータレイテンシ要件、データ信頼度要件、データ消費地点からの距離の要件、またはデータ規模要件に基づき、暗号化コンポーネントにより暗号化されるデータまたはメタデータをどこに記憶するかを管理するデータコンテナ管理コンポーネントが含まれる。鍵情報には、暗号化コンポーネントにより暗号化されるデータまたはメタデータに対するアクセス権を定義する能力情報を含むことができる。能力情報は、レイトバインディングして、最新のアクセス権を所与の加入者に付与することが可能である。
【００３９】
別の非限定的実施形態において、コンピュータシステムは、選択的にアクセス可能な暗号化データまたは暗号化メタデータを記憶するデータストアを備え、発行者がデータストアに対してリソースを表すデータまたはメタデータを発行し、第１の独立エンティティが暗号化鍵情報を生成し、第２の独立エンティティが第１の独立エンティティにより生成された暗号化鍵情報に基づき、発行されたデータまたはメタデータをデータストアに記憶する前に暗号化する。システムは、リソースの発行者または所有者により付与される、レイトバインディングされる選択的権利に基づきネットワークサービスへの所与の要求に関して暗号化データまたはメタデータに選択的にアクセスすることを可能にするネットワークサービスを提供する。この点に関して、システムはコンテナのタイプについては曖昧であり、従って、データストアには、異なるコンテナタイプのコンテナが含まれ、データストアは、コンテナにより表される現在のストレージリソースの分析に基づき、選択的にアクセス可能な暗号化データまたは暗号化メタデータのストレージを自動的に分配する。
【００４０】
一実施形態において、「データ」とは、ＸＭＬペイロードデータ（例えば、テキスト文字列「Ｍｉｃｈａｅｌ  Ｊａｃｋｓｏｎ」）と、ペイロードを当てるＸＭＬタグ情報（例えば、＜／Ｎａｍｅ＞）と、を含むＸＭＬデータである。ＸＭＬタグ情報は、ＸＭＬデータの検索可能暗号および選択的復号に関係する追加的なメタデータを用いて拡張可能である。この点に関して、ＸＭＬタグをこの方法で適用することにより、構造化ＸＭＬデータの「信頼エンベロープ」が作成され、暗号鍵生成エンティティ（ＣＫＧ）および暗号化技術提供エンティティ（ＣＴＰ）の連合を活用して、機密性、秘密性、匿名性、改竄検出および整合性などの一定の範囲の信頼性の保証が提供される。上述のように、ＸＭＬデータまたはメタデータに関する本明細書における実施形態はいずれも、ＪＳＯＮ、Ｓ−Ｅｘｐｒｅｓｓｉｏｎｓ、ＥＤＩなどを含むがこれに限定されない他の形式に適用可能であり、従って、ＸＭＬは、ここに記載される実施形態において単に例示の目的のみに使用される。
【００４１】
ＸＭＬデータは、より大きな文書の分散された小片である場合には、他の関連するフラグメントを配置させるためのマニフェスト情報を符号化することもできる。分散が異なるコンテナに渡って生じるため、すなわち、１つまたは複数の中間レイヤが特定のコンテナのストレージの詳細を扱うため、実装は独立した技術である（任意のＣＫＧ／ＣＴＰを使用できる）。さらに、信頼性ラッパーの他に、検索可能暗号および妥当性検査または検証に加えて任意の数のラッパーを適用できるという点において、また、新しいラッパーの技術が適用可能になるため、実装はオープンエンドである。タグは、既存のデータおよびメタデータの先頭に追加することもでき（すなわち、メタデータを拡張させることにより）、一貫性、証跡などの調整に役立つ。
【００４２】
データ／情報がＸＭＬフォーマットである場合、これらの技術またはラッパーのいずれも構造化ＸＭＬデータに適用することができるため、データを選択的にクエリし、ＸＭＬフラグメントへのアクセスを得ることができる。今日、ＸＭＬは、＜タグ“値”＞または＜タグ “値”｜ＸＭＬ終了タグ＞という標準フォーマットを持つ。有利には、構造化ＸＭＬ文書では、構造を階層的に表現する方法があるため、デジタルエスクローの様式に特有のＣＫＧ／ＣＴＰの「フレーム」を示す外部のラッパーが存在する。従って、埋め込まれたフラグメントにアクセスする必要または要望がある場合は、＜ＣＫＧ＞および＜ＣＴＰ＞ラッパーを有する既存の信頼性を利用することができ、または、新しいセットの信頼性を新しいＣＫＧ／ＣＴＰのフレームを用いて確立することができる。
【００４３】
これは、標準の公開キーインフラストラクチャＰＫＩを介して提供可能であるが、選択される特定のスキームは、本明細書において記載される技術に対して非制限であるとみなされるべきである。この点に関して、どの特定のセットの暗号化技術が選択されても、本明細書に記載される実施形態では、ユーザは、暗号化データまたは暗号化メタデータのセグメント、サブセットまたは一部の検索、抽出、および復号を行うことができる。加えて、データ所持の公的な証明機構（装置の代理として稼働する信頼できるサードパーティ）を実行させて、アクセスされている特定のＸＭＬセグメントは、元々認可されているものであるため、改竄されていないということを検証することができる。
【００４４】
本質的に、ＸＭＬフラグメントまたは全レコード（例えば、「ペイロード」）のための「信頼できるエンベロープ」は、機密性、秘密性、匿名性および整合性などに限定されない信頼性の保証全域に及ぶ信頼性を可能にする様々な「デコレーション」を介して提供される。
【００４５】
信頼エンベロープの一部としてＸＭＬタグ情報内に表示することができる情報のタイプの例として、ＸＭＬ文書のフラグメントを種々のレベルの感度に合わせて指定することができる。例えば、パブリック、シークレットおよびトップシークレットの段落を有する文書が存在し得る。シークレットクリアランスを持って検索を行い、アクセスを要求する人間は、パブリック段落およびシークレット段落へのアクセスを獲得できるだけであろう。段落の分類を使用して、暗号化機構、キーおよびアクセスポリシーを判定することもできる。例えば、トップシークレットのコンテンツに無線またはリモートの装置からアクセスできないというポリシーを実装することができる。
【００４６】
同様に、そのような分類を使用して、データをどのように記憶させることができるか、どこに記憶させることができるか、どの程度の期間記憶させることができるか、などに関するポリシーを作成することが可能である。例えば、（慎重を期すべき）医療データは、１日に１度ＡＥＳ２５６暗号化を使用して信頼性のあるデータセンタ内のセキュアなサーバにバックアップしなければならない、ことを求めるポリシーを作成することができる。
【００４７】
一実施形態において、拡張マークアップ言語（ＸＭＬ）データをホストするための方法は、第１の制御領域内の第１のコンピューティング装置が、第２の制御領域内の第２のコンピューティング装置から、暗号化ＸＭＬペイロードデータと暗号化ＸＭＬタグを含む暗号化ＸＭＬデータを受信するステップを含む。暗号化ＸＭＬデータは、暗号化鍵情報に基づく検索可能暗号アルゴリズムに従って第２のコンピューティング装置の定義済みのＸＭＬデータセットの暗号化により形成される。データを求める要求には、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグのうちの少なくともいくつかにアクセスするための、かつ、能力により定義される暗号化ＸＭＬデータへの選択的なアクセスを可能にするための、権利が定義される暗号化鍵情報に基づく能力が含まれる。
【００４８】
いくつかの実施形態がＸＭＬデータの暗号化の文脈で記載されるが、任意の数学的変換またはＸＭＬデータの曖昧化を使用することができる。例えば、一実施形態において、ＸＭＬデータは、異なる記憶場所に渡ってＸＭＬデータを分配させる実質的に推測不可能なデータ分配アルゴリズムに従って分配される。マップが保持され、マップに対してアクセスが許可される場合に、要求しているエンティティが権利を有するデータの関連する部分の再構成が可能となる。この点に関して、暗号化の文脈で本明細書に記載される実施形態は、アクセス権を持たずにデータを隠すような様式でデータを曖昧化するかまたは符号化する任意のアルゴリズムまたは数学的変換に対して一般化させることができる。
【００４９】
能力には、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグに選択的にアクセスするための暗号トラップドアを含むトラップドアデータを含むことができる。暗号化データには、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグの分析により形成される補助暗号化メタデータが含まれる。例えば、パブリック、シークレットまたはトップシークレットという機密性レベルのラベルを、ＸＭＬ文書の各ペイロード要素にフラグメントごとに割り当て、かつ補助暗号化メタデータに含ませて、ＸＭＬ文書の一部へのアクセスに関する高粒度のポリシーを達成することができる。
【００５０】
別の実施形態において、検索可能に暗号化されたＸＭＬデータを取得するための方法は、加入者装置に関連する識別情報に基づき暗号化鍵情報を生成する鍵生成コンポーネントから暗号化鍵情報を受信するステップと、検索可能に暗号化されたＸＭＬデータおよび対応するタグデータのストレージプロバイダに暗号化鍵情報を送信するステップを含む、検索可能に暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを加入者装置により要求にするステップと、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを暗号化鍵情報で定義される能力により許可される通りに復号するステップと、を含む。
【００５１】
暗号化ＸＭＬデータの各ＸＭＬフラグメントに対して、対応する暗号化ＸＭＬデータの機密性のレベルを表すＸＭＬタグデータを復号することができ、能力によりその機密性のレベルを有するデータへのアクセスが許可されるかどうかが判定され得る。これには、オープンなアクセス権を有する公開レベルの機密性、またはポリシーと一致するべく定義されたオープン性の低い秘密レベルの機密性が含まれる。
【００５２】
方法には、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータの正しいサブセットが、要求と一致する加入者装置により受信されることを実証するステップを含むことができる。実証のステップの例には、データ所持の証明を実行して正しいサブセットが加入者装置により受信されることを証明するステップが含まれる。方法にはまた、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを受信するステップの前に暗号化ＸＭＬデータおよび対応するＸＭＬタグデータのサブセットのコンテンツが削除または変更されていないことを検証するステップを含むことができる。検証するステップの例には、コンテンツに関する干渉が無いことを証明する取り出し可能性証明を実行するステップが含まれる。他の任意的な特徴の中でも、暗号化ＸＭＬデータまたは鍵情報へのアクセスを要求する際に、加入者装置に関連する認証情報を匿名化するステップを適用することができる。
【００５３】
別の実施形態において、拡張マークアップ言語（ＸＭＬ）データを発行するための方法は、検索可能暗号アルゴリズムに従ってＸＭＬデータを暗号化して、暗号化鍵情報を生成する別個のキージェネレータから受信される暗号化鍵情報に基づき暗号化ＸＭＬタグ情報を含む暗号化ＸＭＬデータを形成するステップと、暗号化ＸＭＬデータを暗号化データのストレージのためのネットワークサービスプロバイダに送信するステップと、を含み、暗号化データには、要求側装置の識別情報に基づき、要求側装置に付与される選択される権利のレイトバインディングによって、選択的にアクセス可能である。暗号化するステップにはまた、ＸＭＬデータの暗号化を実行する発行装置のアイデンティティに基づき暗号化鍵情報を生成する、別の制御領域において実行するキージェネレータから暗号化鍵情報を受信するステップを含むことができる。
【００５４】
別の実施形態において、拡張マークアップ言語（ＸＭＬ）データを取得するための方法は、加入者装置による暗号化ＸＭＬタグを含む検索可能に暗号化されたＸＭＬデータのサブセットを求める要求に応じて、加入者装置に関連する識別情報に基づき暗号化鍵情報を生成する鍵生成コンポーネントから暗号化鍵情報を受信するステップと、暗号化鍵情報において定義される加入者装置に付与される権利の機能として、暗号化ＸＭＬデータのサブセットを復号するステップと、を含む。
【００５５】
種々の技術には、暗号化ＸＭＬデータのサブセットのデータ項目に対する、正しいデータ項目が受信される、という証明を加入者装置が要求するステップを含むことができ、これには、加入者装置が要求した暗号化ＸＭＬデータのサブセットのデータ項目が正しいことを加入者装置に対して証明する情報を受信するステップを含むことができる。種々の技術には、暗号化ＸＭＬデータのサブセットが加入者装置による要求の前に干渉されていない、という証明を要求するステップを含むことができ、これには、暗号化ＸＭＬデータのサブセットが加入者装置による要求の前に干渉されていないことを加入者装置に対して証明する情報を受信するステップを含むことができる。
【００５６】
さらに別の実施形態において、システムは、選択的にアクセス可能な暗号化ＸＭＬペイロードデータおよび暗号化ＸＭＬペイロードデータに対応する、対応する暗号化ＸＭＬタグデータを記憶するデータストアを含み、加入者が、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグデータのサブセットの取得を要求し、第１の独立エンティティが加入者に関連する識別情報に基づき暗号化鍵情報を生成し、第２の独立エンティティが第１の独立エンティティにより生成された暗号化鍵情報に基づきサブセットの復号を実行する。システムは、加入者による要求を扱うための、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグデータのサブセットに対する選択的なアクセスを提供するネットワークサービスをさらに含む。システムは、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグデータのサブセットが、取得と一致する正しいサブセットであることを実証するべく、および／または、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグデータのサブセットが、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグデータのサブセットへの選択的なアクセスの前に、許可無しに改造または削除されていないことを検証するように構成することができる。
【００５７】
別の実施形態において、システムは、暗号化技術プロバイダにより少なくとも部分的に分配される暗号化コンポーネントを含み、該プロバイダは、ＸＭＬデータおよび対応するタグデータを発行するための鍵情報またはＸＭＬデータおよび対応するタグデータを取得するための鍵情報、を生成するキージェネレータからは独立して実装される。暗号化コンポーネントは、キージェネレータおよびネットワークサービスプロバイダにより生成される鍵情報に基づく検索可能暗号／復号アルゴリズムを実行するべく構成されるプロセッサを含み、キージェネレータおよび暗号化コンポーネントからは独立して実装されるもので、暗号化コンポーネントにより暗号化されたＸＭＬデータまたは対応するタグデータに対してネットワークサービスを実装するべく構成されるプロセッサを含む。鍵情報には、「レイトバインディングされる」能力情報を含み、これにより最新のアクセス権がＸＭＬデータまたは対応するタグデータの所与の加入者に付与される。
【００５８】
これらおよび他の種々の例示の非限定的な実施形態およびシナリオの詳細がさらに以下に提供される。
【００５９】
＜信頼できるコンピューティングおよびデータサービスのためのコンテナレスデータ＞
背景技術において示唆したように、慎重を期すべき企業のデータの保守管理をサービス組織が所有する遠隔地で行うことは、そのデータを、プライバシーの侵害からデータ損失にまで及ぶ危険にさらすことになり得る。本明細書において種々の実施形態に記載するように、データの検索可能暗号技術を含むネットワークまたはクラウドデータサービスは、複数のエンティティに渡って信頼性を分散させて一箇所でのデータ漏洩を防止し、そしてデータを記憶、処理、アクセス、または取り出すことができるコンテナから、データ保護要件を切り離すことができるような方法で提供される。一実施形態において、キージェネレータ、暗号化技術プロバイダ、およびクラウドサービスプロバイダは、それぞれ別々のエンティティとして提供され、データの発行者がデータを機密的に（暗号化して）クラウドサービスプロバイダに発行するための信頼できるプラットフォームを可能にし、加入者の能力に基づいて許可された加入者に対して暗号化データへの選択的なアクセスを可能にする。
【００６０】
信頼できるプラットフォームの技術を使用して、データ（および関連するメタデータ）は、そのデータを保持するコンテナ（例えば、ファイルシステム、データベースなど）から切り離され、種々の実施形態において記載されるように、信頼性プラットフォームの暗号化鍵ジェネレータにより与えられる鍵など、提示される能力により開く数学的複雑性という覆いを課すことによって、データにデータ自身の管理者として動作させることが可能とされる。データまたはそのデータのサブセットの共有あるいはそれに対するアクセスは、実施のための特定のコンテナを必要とすることなく信頼性を維持かつ拡大させるような方法で、円滑にされる。データに対して適用される検索可能暗号技術などの数学的複雑性により、特定のビットが記録されるコンテナまたはハードウェアに係わらずデータが保護され、すなわち、データは、コンテナレスで、またはコンテナを考慮することなく保護され、従って、コンテナのセキュリティが危険な状態にさらされることによる攻撃を受けることがない。特定の「安全性」が破られても、コンテンツはなお保護される。
【００６１】
図１は、本明細書に記載されるセキュアかつプライベートで、選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための一般的な環境を示すブロック図である。例示の目的で、複数の企業１００、１０２が図示されているが、本技術は単一の企業や多くの共同的企業にも適用可能である。種々の実施形態において、以下により詳細に記載される連合的な信頼オーバレイ（federated trust overlay）１３０を使用して、企業１００のポリシー１１０と企業１０２のポリシー１１２との実施（enforcement）１２０を、共同努力のためＦＴＯインフラストラクチャ１３０に基づいて共有することができる。実施事項１２０を、企業１００、１０２毎に別々に適用することもできる。この点に関して、ポリシーおよび実施は全体として、信頼オーバレイ１３０に基づくものとして、企業１００、１０２の範囲内であるので、クラウド１４０内における実際のデータ位置、およびどの特定のコンテナ１４２が使用されるかは、顧客の観点からは無関係となり、これとは別に顧客が、実際に関心があるのは、レイテンシ、信頼度、サービス保証の質、バックアップ、取り出にかかる時間、サイズの保証などについてである。
【００６２】
従って、信頼オーバレイ１３０によりデータを保持するコンテナからデータが解放されることが認識されると、種々の実施形態において、データストレージ管理レイヤ１５０が、顧客の必要性および要望に合うコンテナにおいてデータストレージを最適化するために、ストレージリソースおよびそのそれぞれの特徴のリアルタイムの可用性の分析に基づき顧客が何に関心があるかについて自動的に対処する。ストレージ管理レイヤ１５０は、点線で示され、その場所も重要でないことを示す。ストレージ管理レイヤ１５０は通常、１つまたは複数のデータストア１４２に記憶されるデータのアクセス、閲覧または変更を行う暗号化の権利を持たないが、顧客が将来どの程度データの使用を要望するのかについての理解を容易にして、ストレージ管理レイヤ１５０がインテリジェントなストレージの選択を行えるようにするために、ファイルサイズ、またはファイル形式等の何らかのメタデータを呈示させることが望ましい。例えば、ストレージ管理レイヤ１５０は、データに対してそのデータが映像であるということが分かる程度のビューが与えられていれば、メディアをストリーミングするための要件を満たすメディアストア内に映像を保持することができる。
【００６３】
図２は、「それ自身の管理者としてのデータ」という一般的概念を例示するブロック図である。以下により詳細に記載するように、ユーザまたは企業の制御下のポリシーおよび実施により、データおよび対応するログは暗号化され、ユーザに付与される特定の能力を有する場合のみアクセス可能である。例えば、通常、クラウドストレージプロバイダの操作スタッフなどの能力を持たない者は、データの権利を持たないので、検出を行うことなく、閲覧、変更、改竄または削除することはできない。管理者としてのデータでは、ポリシーがデータの所有者／発行者により設定され、データがどこに記憶されていてもデータそのものによりアクセスが実施／保証され、コンテナの選択は不要になる。信頼性の保証は、データによって実施されるが、加入者／顧客がデータに対して何を行うことができるのかを記述することで所有者／発行者によって制御される。
【００６４】
図示するように、非限定的実施形態において、企業２２０は、ユーザ２２６および彼らによる企業２２０のシステムリソースの使用に対して、また、外部ユーザ２３０（例えば、モバイルワーカ）に対しても、そのポリシー２２４およびポリシー２２４の実施２２２を「所有する」。自身の管理者としてのデータでは、実際のデータおよび／またはログ２０５は、そのデータをクラウド２００に記憶させることにより、ポリシー２２４および実施２２２から分離させることが可能であるが、クラウド２００の操作スタッフ２１０は、探知されずにデータおよび／またはログ２０５の閲覧、変更、改竄または削除を行うことはできない。
【００６５】
図３は、本明細書に記載されるセキュアで、秘密性があり、選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。概して、連合信頼オーバレイを使用して信頼性を分配する非限定例を例示しており、コンピューティング装置３００（例えば、顧客）が第１の制御領域３１０内にあり、コンピューティング装置３２０（例えば、クラウドサービスプロバイダ）が第２の制御領域３３０内にあり、コンピューティング装置３６０が第３の制御領域３９０内にあり、暗号化技術プロバイダ３８０が第４の制御領域３９５内に設けられ、キージェネレータ３８２を第５の制御領域３９７内に設けることができる。各コンピューティング装置３００、３２０、３６０は、それぞれ、プロセッサＰ３，Ｐ２，Ｐ３、および記憶装置Ｍ３、Ｍ２、Ｍ３を含むことができる。この点に関して、種々の非限定的な実施形態に従って記載するように、クラウド内において暗号化データ３４０を可能にするための技術が提供され、項目３５０または項目の一部を、アクセス権に基づきクラウドから選択的に取り出すことが可能にされる。この点に関して、分析サービス３７０のセットを、記憶されるべき暗号化データ３４５、３４７の上位のレイヤとして設けることができ、分析サービスのセットは、装置３００からのローカルデータセット３０５に基づきクラウド内に保持される暗号化データ３４０または暗号化データ３４２を最適に記憶する場所を自動的に判定する。この点に関して、サービス３７０は、ＣＴＰ３８０／ＣＫＧ３８２の連合信頼オーバレイに基づきコンピューティング装置３００によりデータが取り出される時に、取り出データ３５２または取り出データ３５０が所与の要求に対して最適なコンテナから取り出されること、または、準最適な場合は、コンテナが自動的に切り替わることを確実にする。例えば、コンピューティング装置３６０からの現在のコンテナが顧客の必要性に対して十分に機能しない場合、または、顧客の必要性が変更された場合、分析ストレージサービス３７０は、データをリアルタイムに別のストレージコンテナに移動または複製すること、かつ、サービスをより適切なコンテナにシームレスに切替えることができ、例えば、サービス要件の質を満たすために動作する。
【００６６】
図４は、本明細書に記載されるような、データが自身の管理者として動作するコンテナを管理するための処理のフロー図である。４００において、暗号化されたデータが、第１の制御領域内の第１のコンピューティング装置によって、第２の制御領域内の第２のコンピューティング装置から受信される。暗号化データは、暗号化鍵情報に基づく検索可能暗号アルゴリズムに従って、第２のコンピューティング装置の定義済みのデータセットに対するデータの暗号化から形成される。４１０において、暗号化メタデータも受信され、暗号化メタデータは、データの分析と、暗号化鍵情報に基づいて暗号化された分析の出力とにより形成される。４２０において、いずれのコンテナに、暗号化データまたは暗号化メタデータのうちの少なくとも一部を記憶すべきか決定する。４３０において、暗号化データが記憶されるコンテナは、予め定義された条件を満たす場合に自動的に変更される。
【００６７】
図５は、自身の管理者として動作するデータの１つまたは複数の態様を示す別のブロック図である。この点に関して、コンテナはセキュリティには不必要であり、アクセスは暗号化ラッパーによって実施され、ポリシーは所有者／発行者によって設定され、暗号化ラッパーによって保証される。種々の実施形態において以下に記載するように、ラッパーは、状況特有のセキュリティニーズに応じた様々な暗号化技術を含むことができる。例えば、図示されるように、ポリシーが企業レベルで設定され、ユーザがデータへのアクセスを求めるが、データは、エントリを許可または拒否する暗号アクセス制御によって覆われている。企業の監査人、セキュリティスタッフ、操作スタッフなどの他のユーザは、企業において設定されるポリシーに応じて、ラッパーにより定義されるアクセス権を有することができ、また有さないこともある。
【００６８】
図５の例に示すように、企業５２０は、企業アクセスポリシー５３０の管理下とすることができる企業スタッフ５２２を有し、企業スタッフ５２２の一部には、企業アクセスポリシー５３０を設定することができる。企業アクセスポリシー５３０は、クラウドコンテナ５００のデータコンテナ５１０に記憶されるデータ５１２がどのようにアクセス、操作、取り出し、検索されるかについて影響を与えることが可能である。従って、データ５１２のユーザ５０８がそのようなデータ５１２にアクセスを試みると、企業アクセスポリシー５３０を指針とするがこれからは分離される種々の暗号アクセス制御５１４が、ユーザ５０８による不正なアクセスからデータ５１２を保護する。別の企業アクセスポリシー５３０をデータコンテナ５１０の暗号アクセス制御５１４によって反映して、セキュリティスタッフ５０４またはクラウド操作スタッフ５０６により実行される企業監査５０２などの異なるアクセスエンティティまたはタスクに適用して、アクセスが許可されるべき者に可視性が制限されることを確実にする。データコンテナ５１０は、任意の場所に設置すること、およびセキュリティに不必要とすることができ、アクセスが暗号アクセス制御５１４により実施される。この点において、企業アクセスポリシー５３０は、企業の所有者により設定可能であり、および暗号アクセス制御５１４によって実装されるような暗号ラッパーにより保証可能である。
【００６９】
図６は、データが従来のコンテナセキュリティモデルを超えることができることを例示する、自身の管理者としてのデータの態様を例示する別のブロック図である。この点に関して、本明細書において認識されるように、データは、任意の場所に配置されるだけでなく、複数のコンテナにまたがるように所与の状況に最適な様式でスライスまたは分割され得る。配置により、アクセス、復元力（resilience）などを最適化することができ、ストレージ管理レイヤは、一貫性、バージョニング、ガーベジコレクションなどを扱うことができる。
【００７０】
図６に示されるように、企業６２０は、企業スタッフ６２２に適用可能な企業アクセスポリシー６３０を定義し、一方、データ６１２はリモートで記憶され、データ６１２へのアクセスを望んでいるユーザ６１０に適用可能な暗号アクセス制御６１４によって保護される。システムおよびユーザ６１０は、データ６１２を記憶するコンテナが、クラウド６００、企業６０２のどこかに記憶されているかどうか、オーバレイネットワーク６０４を介して記憶されているかどうか、あるいはそれらが組み合わされているかを知らず、データはコンテナにまたがることができる。
【００７１】
図７は、異種のタイプの複数のデータコンテナからデータを自動的に細分化、キャッシュ、複製、再構築するなどの機能を実行するストレージ管理レイヤを図示している。このような処理を、明示的なポリシーおよびアクセスパターンを含む基準に基づいて実行することができる。図示されるように、データ７０２および暗号アクセス制御７０４を含むデータコンテナ７００は、ユーザの視点からは、全データのストレージ用の抽象化ストレージレイヤ７１０に記憶されるが、実際は、暗号アクセス制御７０４に保護されるデータ７０２を、ポリシーおよびアクセスパターンを含むことができる基準に基づいて、任意の１つまたは複数のクラウドデータサービス７２０、ファイルシステム７２２、企業データベース７２４、オーバレイネットワーク７２６などにわたって、細分化、キャッシュ、複製および再構成することができる。
【００７２】
図８は、データが自身の管理者として動作することを可能にする、セキュリティ、秘密性、信頼性などの支点が、データが種々のデータコンテナに渡ってどこに記憶されてもデータに暗号化アクセスラッパーを追加するセキュアなオーバレイネットワークであることをより一般的に図示している。具体的には、オーバレイネットワーク８１０は、クラウドデータサービス８２０、ファイルシステム８２２、または企業データベース８２４の任意の１つまたは複数において暗号アクセス制御８０４によって保護されるようなデータ８０２のコンテナ８００のさらなるストレージのための中間記憶媒体とすることができる。従って、ストレージは、その最終目的の観点から階層化することができる。
【００７３】
図９は、レガシーアプリケーションおよびそのコンテナに基づく世界観（例えば、データベースファイル）は変更する必要が無いことを示すブロック図である。より正確には、連合信頼オーバレイストレージのシナリオを使用するには、アプリケーションおよびレガシーコンテナの必要性に基づいて暗号化ネゴシエーション、暗号化変換、およびキャッシュ、バージョニング、リースなどを実行するアダプタを提供することができる。さらに具体的には、レガシーアプリケーション９００は、通常と同様にクラウドデータサービス９１０、ファイルシステム９１２および企業データベース９１４と対話することができるが、抽象化ストレージレイヤ９２０はさらに、その裏でコンテナレスのデータを発生させることができる。抽象化ストレージレイヤ９２０は、アプリケーションおよびレガシーコンテナの特徴に基づいて暗号化ネゴシエーション、暗号化変換、およびキャッシュ、バージョニング、リースなどを実装するアダプタを提示することができ、そして、コンテナ化されたデータ９４０を、例えば、図８に関連して記載したセキュアなオーバレイネットワーク９３０を介してコンテナレスデータに導くことができる。
【００７４】
図１０は、レガシーアプリケーションならびにＦＴＯ対応アプリケーションとともに使用することができるサンプルのアーキテクチャモデルである。この点に関して、ＦＴＯ使用可能アプリケーション１００５は、ＦＴＯ１０００に直接プラグインすることができ、有利には、セキュアで秘密性のあるデータのストレージ、処理などを使用することができる。ＳＤＳ対応アプリケーション１０１５に対しては、データの暗号の細分化および分散を追加するレイヤ１０１０を提供することができる。一貫性対応アプリケーション１０２５に対しては、既存の変更されていないオーバレイネットワークを使用して、レイヤ１０２０で示されるようにシステムにブリッジすることができる。例えば、ライブメッシュ（Ｌｉｖｅ  Ｍｅｓｈ）、Ｆａｂｒｉｃ／ＣＡＳを、レイヤ１０２０を介してＤａａＳおよびＸＳｔｏｒｅにブリッジすることができる。最後に、図９で説明したように、レガシーアプリケーション１０４０およびレガシーコンテナ１０３５の特徴に基づいて暗号化ネゴシエーション、暗号化変換、およびキャッシュ、バージョニング、リースなどを実行するアダプタ１０３０を提供することができる。それとともに、そのようなレイヤおよびアプリケーションは、連合信頼オーバレイに基づいてクラウドストレージにより与えられる利点を利用することができる。
【００７５】
図１１は、データ、および／またはデータもしくはデータの特徴を記述するメタデータに対する暗号化ラッパーまたは暗号化エンベロープの一般的な使用を例示するブロック図である。例として、レコード１１０２（例えば、データペイロード）および関連するメタデータおよび／またはタグ１１００を、数学的に選択的にアクセス可能な方法で一緒にまたは別々に暗号化して、暗号化メタデータおよびタグ１１１０と暗号化レコード１１１２とを作成することができる。そのような暗号化データ／メタデータを用いて、数学的選択的なアクセス性に基づいて、例えば、データまたはメタデータの検索、データまたはメタデータの論理演算、クエリ、バックアップ操作、データの監査などの種々の操作１１２０を実行することができる。メタデータ１１００およびレコード１１０２の暗号化に加えて、オプションの追加のデータを、任意の所望の目標１１１４に応じて暗号化パッケージに追加することができ、あるいはオプションの追加のタグ１１１６、例えば、特定のクラスのユーザへのアクセスを許可または拒否する公開タグまたは秘密タグを、暗号化処理の一部としてコンテンツに追加することができる。そのような追加のデータ１１１４またはタグ１１１６を用いて、整合性チェック、改竄チェック、可用性チェックなどの追加の操作１１３０を実行することができる。
【００７６】
図１２は、ペイロード１２０２およびタグ１２００を示す特定の例であり、これらは暗号化されて操作１２２０のための暗号化タグ１２１０および暗号化データ１２１２を形成する。加えて、上述のように、データはデータ１２１４を用いて拡張可能であり、タグはタグ１２１６を用いて拡張可能であり、これにより追加的なセットの操作１２３０が円滑にされる。
【００７７】
図１３は、図１２の実施例を基礎とし、周囲の連合信頼オーバレイを示す例である。この点に関して、バックドアを持たない暗号化技術プロバイダ：ＣＴＰ（Crypto Technology Provider）１３００を、ロバスト性の公的な検査を受けるオープンな方法論に基づいて実装することができる。ＣＴＰ１３００に基づいて、操作１３３０（例えば、検索、クエリの論理演算、バックアップ、監査、改竄チェック、整合性チェック、可用性のチェックなど）を実行するための能力を求める要求、例えば、鍵１３４０を処理するための鍵生成センタ（ＣＫＧ：Center for Key Generation）１３５０を生成することができる。従って、クラウドデータサービスプロバイダ１３２０は、例えば、暗号化メタデータ１３１０および暗号化データ１３１２のストレージなどのサービスを提供する。任意選択の実施形態において、クラウドは、データまたはアクセスパターンを知らない状態でデータをホストする。
【００７８】
図１４は、信頼オーバレイを使用してレコードおよびインデックスを暗号化してクラウドにアップロードする、実施形態を例示するブロック図である。この点に関して、レコードおよびインデックスが検索可能に暗号化されて、インデックスが、関連するデータへの可視性のための第１のレイヤとして選択的にアクセスされるようにすることができる。そして、インデックスの検索に基づき、種々のコンテンツまたはレコードは、所与のインデックス（単数または複数）と合致するものとして識別され得、その後、ユーザは、権利に基づきまたは基づかず、合致するコンテンツまたはレコードにアクセス可能であり、コンテンツまたはレコードがデータ全体の保護のための第２のレイヤとして−第１に、検索用または他の操作用のインデックスへのアクセスに対して、第２に、データへのアクセスに対して−動作する。この点に関して、任意の数の層状の暗号化ラッパーをデータおよび関連するメタデータの異なる部分に対して適用可能である。図示するように、顧客１４００は、種々のレコード１４０２を持つことができ、１４３０おいてレコード１４０２から暗号化インデックス１４０４が生成される。レコード１４０２および暗号化インデックス１４０４は、１４４０おいて、クラウド１４１０にアップロードされレコード１４１２および暗号化インデック１４１４としてクラウド１４１０に記憶される。レコード１４１２を、例えば、暗号化インデックス１４１４に基づいて１４５０で取り出すには、顧客１４００は、少なくとも１つの署名１４２２でサインされたレコード１４２０をクラウド１４１０から受信し、１４６０おいて、少なくとも１つの署名１４２２がチェックされる。
【００７９】
図１５は、より豊富なクラウドストレージの経験のために、クライアントがどのように連合信頼オーバレイアーキテクチャを使用して、暗号化インデックスを生成して、暗号化データの上部にアップロードするのかを図示している。連合信頼オーバレイアーキテクチャでは、力を分離させて信頼できる暗号化エコシステムを生成することを含み、これについては以下により詳細に記載する。
【００８０】
ＦＴＯ１５８５は、クラウドまたは他のストレージ内のコンテナレスのデータに対してなされる数学的変換の一部を分離させることにより、顧客１５７５に利益をもたらすエコシステムであり、また、本明細書の他の箇所で説明されるように、クラウドデータサービス（ＣＤＳ）１５８０、暗号化技術プロバイダ（ＣＴＰ）１５７０および鍵生成センタ１５９０を含む。例として、顧客１５７５は、種々のキーワード１５１０が関連付けられる文書１５００を有することができる。暗号化のための公開パラメータ１５６５がＣＫＧ１５９０から取り出され、数学的変換を実行するための技術がＣＴＰ１５７０から取り出される。アップロードを実行するために、文書１５００が暗号化され１５２０、クラウド内の暗号化文書ストア１５５０にアップロードされる１５３０。キーワード１５１０とともに、アップロードのための場所１５３５およびキー１５２５が入力されて、文書１５００の暗号化アップロードと関連付けられた暗号化インデックス１５４０が生成され、１５４０において生成された暗号化インデックスが、１５４５において暗号化インデックスストア１５５５にアップロードされる。
【００８１】
図１５が暗号化インデックスデータのアップロードを例示するのに対して、図１６は、特定のコンテンツを検索するためのインデックスの復号を例示しており、これは連合信頼オーバレイが提供する能力に基づき許可されるもので、検索結果の可視性を用いて、ユーザには、検索に関連する実際の文書を復号する付与された能力または権利であることができる。この点に関して、インデックスへのアクセスおよび文書へのアクセスを、ポリシーおよび実施に基づきＦＴＯにより別々に制御することが可能である。
【００８２】
上述のように、ＦＴＯ１６８５は、クラウドまたは他のストレージ内のコンテナレスのデータに対してなされる数学的変換を分離させることにより、顧客１６７５に利益をもたらすエコシステムであり、また、本明細書の他所に記載するように、クラウドデータサービス（ＣＤＳ）１６８０、暗号化技術プロバイダ（ＣＴＰ）１６７０および鍵生成センタ１６９０を含む。
【００８３】
本例において、顧客１６７５は、クエリ１６００を形成し、次に、１６０５おいてＣＫＧ１６９０からトラップドア１６１０を得て、このトラップドアはクエリ１６００と共にクラウドに対して提示される。クラウドでは、１６２０おいて、暗号化インデックスストア１６２５内の暗号化インデックスが、ＣＴＰ１６７０から取り出される技術１６１５に基づいて検索される。次いで、結果１６３５は、暗号化された状態で戻され、１６４０において復号され、これから場所１６４２およびキー１６４４が抽出される。これにより、１６４５おいて暗号化文書ストア１６３０から暗号化文書１６５０を取り出すための情報をシステムに与えることができ、暗号化文書は、キー１６４４に基づき１６５５おいて復号されて、１つまたは複数の文書１６６０、例えば図１５の文書１５００が戻される。
【００８４】
図１７および１８は、いくつかの追加の非限定的な、システムによる信頼保証を例示するブロック図である。この点に関して、ユーザが受信するものが正しいことを証明する任意のアルゴリズムを追加のレイヤとして使用して、クラウドがでたらめを提供したのではないことをユーザに対して数学的に証明することができる。例えば、データ所持の証明（ＰＤＰ）として既知である１つの技術では、暗号化データに対して、データの正確性の実証と関連して使用することが可能なタグが適用される。同様の情報を適用（および暗号化）して、データが、クラウドに記憶されている間に不適切に変更または削除されなかったことを証明することができる。暗号化技術では、そのような証明は典型的には、暗号化チャレンジ／レスポンスの形式をとる。図１７において、ＰＤＰタグが、暗号化されたレコード、インデックス、メタデータなどと共にクラウドにおいて符号化および暗号化され、図１８においては、データの整合性が損なわれていないというＦＴＯを用いた暗号化調査に基づき、検証の操作が実行されている。
【００８５】
図１７について、上述のように、ＦＴＯ１７８５は、クラウドまたは他のストレージ内のコンテナレスのデータに対してなされる数学的変換を分離させることにより、顧客１７７５に利益をもたらすエコシステムであり、また、本明細書の他所に記載するように、クラウドデータサービス（ＣＤＳ）１７８０、暗号化技術プロバイダ（ＣＴＰ）１７７０および鍵生成センタ１７９０を含む。本例において、発行者１７００は、ＣＫＧ１７９０から取り出される秘密１７３０と、ＣＴＰ１７７０から取り出される技術１７４０とに基づき１７２０おいてレコードおよびインデックスを符号化することにより、レコードおよびインデックス１７１０を暗号化する。暗号化または符号化されたレコードおよびインデックス１７５０はクラウド内に記憶される。１７２０における符号化に関してデータ所持の証明（ＰＤＰ）タグ１７６０を使用することができるが、これは、本明細書において他所でより詳細に記載するように、後にクラウド内に記憶されている間のデータの特定の態様を確実にする助けとなる。
【００８６】
上述のように、図１８では、データの整合性が損なわれていないというＦＴＯを用いた暗号化調査に基づき、検証の操作が実行されている。この点に関して、ＦＴＯ１８８５は、クラウドまたは他のストレージ内のコンテナレスのデータに対してなされる数学的変換を分離させることにより、顧客１８７５に利益をもたらすエコシステムであり、また、本明細書の他所に記載するように、クラウドデータサービス（ＣＤＳ）１８８０、暗号化技術プロバイダ（ＣＴＰ）１８７０および鍵生成センタ１８９０を含む。ＰＤＰタグ１８４０は、システムの監査人１８００がクラウド内に記憶されるデータの整合性をチェックするのに役立つ。乱数１８０５に基づき、監査人１８００が、クラウド内のプルーバ１８２０に対して、ＣＫＧ１８９０から取り出される秘密１８２５とＣＴＰ１８７０から取り出される技術とに基づき、チャレンジ１８１０を発出する。プルーバ１８２０はまた、証明のアルゴリズムを実装することに関連して技術１８４５を使用する。この点に関して、プルーバ１８２０は、暗号化レコードおよびインデックス１８３０とＰＤＰタグとを入力として受信し、１８５０おいて検証される情報を監査人１８００に戻す。１８６０おいて検証の操作が成功か失敗かに基づき、監査人１８００には暗号化レコードおよびインデックス１８３０の整合性が維持されたかどうかについて通知される。
【００８７】
以下により詳細に記載するように、サービスのユーザに対する秘密性および否認防止の強力な保証を提供可能なサービス提供に、種々の暗号化技術を組み込むことができる。これらの暗号化技術をデータ保護技術と統合することにより、そのデータの所有者および企業の顧客（「顧客」）に、データをホストするエンティティ、すなわち、クラウドサービスプロバイダまたはオペレータ（「ＣＳＰ」）により実行可能なタイプの操作に渡って正確な制御を行わせるような方法で、リモートのサービスおよび層状のアプリケーションをデータの上部に実装することができる。加えて、これらの操作の多くは、ＣＳＰにより、操作が実行される対象のデータの実際のコンテンツを学習することや見ることも無く、顧客に代わって実行することができる。加えて、顧客は、ＣＳＰが不適切にデータを削除または変更しているかどうか、またはデータを低性能の第２または第３のストレージに移動させているかどうかを検出することができる。この点に関して、様々な暗号化技術をデータサービスと統合させて、データの制御を明け渡させるべく顧客に信頼性を提供すること、例えば、セキュリティおよび秘密性を強化することができる。
【００８８】
例えば、検索可能暗号は、データから、そのデータが暗号化される前に本質的なメタデータをコピーする暗号化の方法である。非限定例として、エクスチェンジの電子メールの場合、データは添付ファイルを有するメッセージであり、本質的なメタデータは、選択されたメッセージアプリケーションプログラミングインターフェース（ＭＡＰＩ）のプロパティおよびフルテキストのインデックスを含むことができる。例えば、データは、高度な暗号規格であるＡＥＳ（advanced encryption standard）などを使用して暗号化され、一方、メタデータは、暗号化インデックスを生成するような方法で暗号化される。その結果、暗号化データおよびインデックスを、完全に信頼できるとは言えないＣＳＰなどの別のエンティティに引き渡すことができる。後に、集約された暗号化データおよびインデックスに選択的にアクセスすることが可能なのは、データの所有者、すなわち顧客であり、暗号化されたクエリをＣＳＰ（または他の認可された加入者）に対して送り出す。従って、ＣＳＰは暗号化クエリを暗号化インデックスに適用して、一致する暗号化データを戻すことができるが、ＣＳＰは、データの内容、メタデータ、クエリまたは結果については何も習得しない（顧客により認可されていない場合）。
【００８９】
データ所持の証明および取り出し可能性証明は、「プルーバ（Ｐｒｏｖｅｒ）」（この場合、ストレージを提供するＣＳＰ）および「ベリファイア」（顧客）が、ベリファイアが、自分が所有するデータが損なわれていないかどうか、また、データの所持者であるＣＳＰから簡単に取り出できるかどうかについて効率的に判定することができるプロトコルで係わり合うことが可能な、暗号化技術である。これらの技術は、ネットワーク帯域幅やＣＳＰが実行する操作において効果的であり、ＣＳＰの売上原価（ＣＯＧＳ：cost of goods sold）が比較的変動せず、プロトコルを完了するための時間が合理的に短い。
【００９０】
データサービスの提供に統合させることができる別の暗号化技術は、アプリケーション証明である。アプリケーション証明により、データ所持の証明と同様、ベリファイアは、プルーバであるＣＳＰがデータを正確に維持していることを確認することができる。
【００９１】
ブラインドフィンガープリントは、ラビン指紋（Rabin Fingerprint）などのネットワークデデュープ技術を拡張させた別の種類の暗号化技術の代表であり、典型的には、ネットワーク上の冗長なデータの交換を最小化するために使用される。本明細書における種々の実施形態において、フィンガープリントを適用して、プロトコルの参加者、例えば、データのストレージに関するＣＳＰが、ホストしているデータの実際の内容について分からないようにする。
【００９２】
このように、ＣＳＰによるサービスの提供に基づく様々なシナリオが、上述のフレームワーク、ならびに、ストレージサービスおよびコンピュータサービスから通信サービスおよび共同サービスに及ぶ対応する暗号化技術に基づき明らかにされた。より大きな企業としての顧客は、自分の現在の企業データセンタに重要なコンピュータ・ストレージ資産を持ち、クラウドサービスの採用に対する不活発性が高い可能性がある。加えて、顧客は、データセンタの操作を経験し精通しているため、営業経費（ＯＰＥＸ：operating expenses）および資本支出（ＣＡＰＥＸ：capital expenses）の利点を活用することを望み、従って、自分の慎重を期すべきビジネスデータが施設からクラウドに移動することには懸念を抱く。
【００９３】
このクラスの顧客に対しては、種々の実施形態において、Ｅｘｃｈａｎｇｅサーバ等の既存のサーバを所有かつ操作する顧客に係わる、アプリケーションのセットが提供される。そして、データの第２のコピーが、データ保護、アーカイブ、コンプライアンス、ガバナンス、法規または他の理由のため、クラウドサービスプロバイダに委託されるであろう。従って、ＣＳＰは、このデータをデータの損失または開示から守るスキル、技術およびスケールメリットを持ち、この第２のコピーの上位で稼働するアプリケーションを円滑にすることができる。データを維持することに基づき顧客に提供可能な例としての製品およびサービスを少々挙げると、訴訟支援、監視および管理、サービスダイヤルトーン、データナビゲーションなどが含まれる。
【００９４】
訴訟支援については、会社が訴えられている時、様々なエンティティが、訴訟のプロセスにより電子メールの履歴記録への検索の実行が要求される。これらのエンティティには、内部の法規スタッフ、人事部、管理者、外部の弁護士、外部の訴訟支援パートナ、および相手側の弁護士が含まれる。誰が何の検索を実行できるのかについては特定の範囲の規則がある。現在の訴訟支援シナリオにおいては、範囲の境界を示すことは難しい。従って、訴訟支援に関与する任意の個人が、範囲の外にある電子メールを見ることは可能である。電子メールの場合、検索結果は典型的には、個人のパーソナルストレージテーブル（ＰＳＴ）ファイルの形式で交換されるが、これらのファイルが未認可の個人に不注意または故意に引き渡される可能性があるため、追加的なリスクが伴う。
【００９５】
対照的に、第２のコピーがリモートから、例えばクラウド内でＣＳＰにより、ホストされ、データを介して維持される場合、企業内の単一の信頼できるエンティティ、例えば、主任法規部長は、操作する各個人に、そのクエリの能力を必要性に合わせて制限する特定のトラップドアを与えることができる。クラウド内でホストされ検索可能暗号および耐タンパ監査ログを介して保護されているデータは、より高いレベルの保護を提供し、不適切な電子メールのアクセスを防ぐことができる。ＰＳＴファイルを交換する必要性が排除されるが、何故なら、操作する全ての個人はクエリするために直接クラウドにアクセスしており、また、訴訟支援パートナが、事件管理のために、ＴＩＦＦ（ｔａｇｇｅｄ  ｉｍａｇｅ  ｆｉｌｅ  ｆｏｒｍａｔ）に変換する対象のコンテンツをエクスポートするただ１つのエンティティであるからである。
【００９６】
リモートのデータのコピーの監視および管理については、任意の合理的な規模の企業が、企業の組織の電子メールを種々の目的で積極的に監視すべきである。この目的の範囲には、法規／コンプライアンスからガバナンスの理由までにおよび得、例えば、ＩＰ漏洩、盗用、不適切な言葉などの監視が含まれる。典型的には、監視・管理ソフトウェアが、主要サーバ、またはバックアップもしくはアーカイブ用の二次的なコピーのどちらも監視する。主要サーバの監視に関する問題は、ビジーなプロダクションサーバに過剰な負荷がかかる可能性があることである。加えて、管理人が誤ってまたは故意に主要サーバ上のデータを変更または削除することが可能であるため、解決方法は、規則に則ってデータをキャプチャし、第２のコピーに転送することであり、そこではモニタ・監視ソフトウェアが入ってくる電子メールを継続的にスキャンし、パターンを探索または検索する。しかし、多くの企業の設定では、これらの第２のコピーに対してローカル管理的なアクセスがあり、その結果、優秀な管理人が、改竄検出や防止機構があるにもかかわらず情報を変更または削除することが可能になる。
【００９７】
対照的に、ＣＳＰによりデータを維持する場合は、有利には第２のコピーを異なる制御領域に配置する。検索可能公開キー暗号（ＰＥＫＳ）および所持の証明（ＰＯＰ）などの適切な暗号化技術では、企業管理人とＣＳＰの従業員との間で共謀してさえ、彼らが変更したいものが正確にどの項目であるのかを確実に識別することはできない。監視・管理ソフトウェアは、リモートの場所またはクラウド内で稼働し、前もって提供されているトラップドアを介して特定の事前に決められたキーワードを持つ項目を探索する。
【００９８】
本明細書において種々の実施形態に従って記載したように、独立したデータ保護および暗号化技術は、それぞれを向上かつ変更して他方をサポートするべく組み合わせて、顧客、企業、エコシステムおよびソーシャルネットワークが目下利用できない解決方法を提供し、クラウド環境においてコンテナレスの、セキュアで秘密性があり選択的にアクセス可能なデータを有効にする。
【００９９】
＜信頼できるＸＭＬ＞
ＸＭＬは、タグを介して可能にされるその効率的な記述能力およびその階層的配置を含むがこれに限定されない様々な理由で、ユビキタスネットワーク交換形式として発展してきた。この点に関して、ＸＭＬデータは、ＸＭＬ文書の異なる部分（ペイロードおよびタグ、ならびに既存のタグまたはメタデータの上位に追加される任意のメタデータを含む）に異なる許可が適用可能とされる上記のＦＴＯインフラストラクチャに従って、保護することができる。従って、信頼ＸＭＬは、上記と同様に、コンテナレスの様式で記憶させることができる。
【０１００】
図１９に例示するように、ＸＭＬペイロード１９０２およびそのタグ１９０を暗号化して、暗号化タグ１９１０および暗号化ペイロード１９１２を形成することができる。この点に関して、異なる可能性のある保護レベルでＸＭＬ文書をＸＭＬフラグメントに分解することにより、発行者側の文書としての最初の組織に左右されない、より一層高粒度の許可システムが可能になる。加えて、任意の関数１９１４に基づき追加的なデータをペイロードデータに付加することが可能であり、また、追加のＸＭＬタグを付けて信頼ＸＭＬフラグメントに追加の関数が適用されるべく役立てることが可能である。ペイロード１９１２／タグ１９１０に行う操作には、検索、クエリ、バックアップ、監査などの操作１９２０が含まれる。他の操作１９３０は、データ１９１４またはタグ１９１６を任意的に追加することに基づき、データに対して実行させることができる。例えば、任意の時間データがソーシャルセキュリティ番号のパターンに適合し、ＸＭＬフラグメントに秘密性があるものとしてマーク付けするタグ１９１６を自動的に追加して、そのような情報が侵害されないように守ることができる。
【０１０１】
この点に関して、データ／情報がＸＭＬフォーマットである場合、データ／メタデータに関して上述したいずれの技術でも、構造化ＸＭＬデータに適用して、選択的にクエリを行いＸＭＬフラグメントへのアクセスを得ることができる。ＸＭＬは、＜タグ“値”＞または＜タグ“値”｜ＸＭＬ終了タグ＞という標準のフォーマットを持つ。この点に関して、構造化ＸＭＬでは、構造を階層的に表現する方法があるため、デジタルエスクローの様式特有のＣＫＧ／ＣＴＰの「フレーム」を示す外部のラッパーが存在する。従って、埋め込まれたフラグメントにアクセスする必要がある場合は、＜ＣＫＧ＞および＜ＣＴＰ＞ラッパーを用いて既存の（または、具体化された、新しい）信頼性が利用される。これにより、ユーザは、許可されている場合はセグメントを検索、抽出および復号することができる。加えて、ＰＤＰを使用して、要求される特定のＸＭＬセグメントが最初に作成されて以来、改竄されていないことを検証することができる。
【０１０２】
従って、種々の実施形態において、ＸＭＬフラグメントまたは全レコード（「ペイロード」）のための「信頼エンベロープ」が、機密性、秘密性、匿名性および整合性などの信頼性の保証全域に及ぶ信頼性を可能にする様々な「デコレーション」を介して作成される。
【０１０３】
これは、上述のコンテナレスのデータの実施形態と一致する。データをそのコンテナ（例えば、ファイルシステム、データベースなど）から切り離すことにより、コンテナを強化することなく元の保証を守り拡張させる方法で共有が容易にされる。任意の他のラッパーはまた、ビジネスの必要性に基づき、また、異なる技術が明らかにされるのに従って、暗号検索、暗号に基づく改竄検出などを超えて追加することもできる。ＸＭＬデータでは、タグをデータに付加してデータの一貫性の調整に役立てることができるが、これはドメインやアプリケーションに依存する。
【０１０４】
有利には、ＸＭＬには、認証、許可、スキーマ、履歴、トレース、一貫性などを符号化する検索可能メタデータを含むことができる。ＸＭＬは、より大きな文書の分散された小片である場合には、他の関連するフラグメントを配置させるためのマニフェスト情報を符号化することもできる。新しい技術が適用可能になったため検索可能暗号およびＰＤＰに加えて他のラッパーを追加できるということと併せて、任意の合意のあるＣＫＧ／ＣＴＰを使用できるという技術の独立性により、任意の種類のクラウドのシナリオを扱う柔軟なアーキテクチャが可能にされる。ＸＭＬタグを、一貫性、証跡などを調整するために拡張または追加することができる。
【０１０５】
このことをデータ分散の技術と組み合わせると、機密性、秘密性、匿名性および整合性についての強力な保証が達成される。この「信頼エンベロープ」を使用して、任意のペイロードを追加のメタデータでデコレートすることができ、追加のメタデータにはスキーマ情報、一貫性のヒント、バージョンおよび証跡、機密性のレベル（例えば、「クラウドコンピューティング」を使用する時）、このペイロードを他の同等の小片から再構成するためのロケータなどを含むことができる。
【０１０６】
非限定的な一用途において、信頼できるＸＭＬは、「緩いフォーマットバインディング」を提供してエコシステムを成長させ、ネットワーク効果の触媒作用となる。ＦＴＯ（技術およびキーマネージャをパラメータ化する）と、ＸＭＬの世界共通の交換フォーマットとを組み合わせることにより、多様性のある技術、アプリケーション、ドメイン、ロケール、国家、フォーマット、および他の要件を受け入れる強力な柔軟性が促進される。
【０１０７】
別の用途において、シンジケーションの現在の解決と調整は、エラー、不備、不正が起きやすいポイントツーポイント交換と係わる。従って、セキュアで秘密性のあるデータサービスを介入させることが会計、監査などに直接利益となり、選択的な開示が円滑にされるため、信頼できるエンティティが信頼できる状態のままになり、適切な規制者（コンプライアンス、法規）または仲介者（紛争解決など）が、トランザクションに機密性を構築するためにＸＭＬタグにおいて選択的にピークとなることを可能にする。信頼ＸＭＬの利点は、ペイロードが参加者間で独自のフォーマットを符号化することができることであり、このフォーマットに関してストレージ側には知る必要はなく、理解しようとすることさえない。従って、信頼ラッパーのレイヤは、重要な技術的かつビジネス上の値を、法規およびコンプライアンスの値と国家的エンティティの値と共に、付加することができる。
【０１０８】
別の用途において、健康管理システムの統合には、（ａ）多様な互換性の無いレガシーシステム、（ｂ）さらに重要な点として−患者が既存のソリューションプロバイダを継続利用しないこと、により困難が伴う。クラウドデータサービスをクリアリングハウスとして、また、信頼ＸＭＬを交換フォーマットとして導入することにより、これらの既存のソリューションプロバイダは、これを、継続利用を保つための手段と考え、一方でＸＭＬにより円滑にされる世界共通のフォーマットを利用することもできる。
【０１０９】
ＦＴＯが使用可能かつ信頼ＸＭＬを利用している「ルータ」（「ゲートウェイ／ガーディアン）を使用することついては、（ａ）ルータは自らのことを行い、ルーティングに必要なこと以外学習する必要が無い、（ｂ）ルータは、エラー、または悪い挙動に対する自由度が低い、（ｃ）レイトバインディングのため、複雑なキー管理が排除される。
【０１１０】
加えて、ＸＭＬ文書に対して、タグを追加または拡張させ、または、追加のメタデータを適用して、コンテンツが種々のレベルの慎重度を持つことを示すことができる。例えば、パブリック、シークレットおよびトップシークレットの段落を有する文書が存在し得る。シークレットクリアランス（秘密情報取扱許可）を持って検索を行い、アクセスを要求する人間は、パブリック段落およびシークレット段落へのアクセスを獲得できるだけであろう。段落の分類を使用して、暗号化機構、キーおよびアクセスポリシーを判定することもできる。例えば、トップシークレットのコンテンツには、無線またはリモートの装置からアクセスできない。
【０１１１】
同様に、分類を使用して、データをどのように記憶させることができるか、どこに記憶させることができるか、どの程度の期間記憶させることができるか、などに関するポリシーを作成することが可能である。例えば、医療データは、１日に１度ＡＥＳ２５６暗号化を使用して信頼できるデータセンタ内のセキュアなサーバにバックアップしなければならない。
【０１１２】
図２０は、一実施形態における信頼ＸＭＬをホストするための例示の処理を示すフロー図である。２０００おいて、第１の制御領域内のコンピューティング装置が、第２の制御領域内のコンピューティング装置から、暗号化ＸＭＬペイロードデータおよび暗号化ＸＭＬタグを含む暗号化ＸＭＬデータを受信する。暗号化ＸＭＬデータは、暗号化鍵情報に基づく検索可能暗号アルゴリズムに従って第２の制御領域内のコンピューティング装置の定義済みのＸＭＬデータセットを暗号化することにより形成される。２０１０おいて、暗号化鍵情報に基づき暗号化される補助メタデータが受信され、補助メタデータは暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグの分析により形成される。２０２０おいて、能力を含むデータを求める要求が、能力により定義される暗号化ＸＭＬデータへの選択的なアクセスを可能にする、暗号化ＸＭＬペイロードデータまたは暗号化ＸＭＬタグのいくつかにアクセスするための権利、を定義する暗号化鍵情報に基づき、受信される。 ２０３０おいて、任意的に、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータの正しいサブセットが要求と一致する加入者装置により受信されることが実証される。
【０１１３】
図２１は、一実施形態における信頼ＸＭＬをホストするための例示の処理を示すフロー図である。２１００において、暗号化鍵情報を、加入者装置に関連付けられた識別情報に基づいて暗号化鍵情報を生成する鍵生成コンポーネントから受信する。２１１０において、検索可能に暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットが、加入者装置により要求される。暗号化鍵情報は、検索可能に暗号化されたＸＭＬデータおよび対応するタグデータのためのストレージプロバイダに送信される。２１２０において、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータのサブセットが、暗号化鍵情報で定義される能力によって許可される通りに復号される。２１３０において、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータの正しいサブセセットが、要求と一致する加入者装置により受信されることが実証される。２１４０において、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータのサブセットのコンテンツが、暗号化ＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを受信する前に削除または変更されていないことを検証する。
【０１１４】
図２２は、一実施形態における信頼ＸＭＬをホストするための例示の処理を示すフロー図である。２２００において、ＸＭＬデータが、検索可能暗号アルゴリズムに従って暗号化され、暗号化鍵情報を生成する別個のキージェネレータから受信される暗号化鍵情報に基づいて、暗号化ＸＭＬタグ情報を含む暗号化ＸＭＬデータが形成される。２２１０において、暗号化ＸＭＬデータが、暗号化データのストレージのためのネットワークサービスプロバイダに送信される。２２２０おいて、要求側装置の識別情報に基づき要求側装置に付与された選択される権利のレイトバインディングによって、暗号化データが選択的にアクセス可能とされる。
【０１１５】
図２３は、一実施形態における信頼ＸＭＬをホストするための例示の処理を示すフロー図である。２３００おいて、暗号化ＸＭＬタグを含む検索可能に暗号化されたＸＭＬデータのサブセットを求める要求が、加入者装置により行われる。２３１０おいて、暗号化鍵情報が、加入者装置に関連する識別情報に基づき暗号化鍵情報を生成する鍵生成コンポーネントから受信される。２３２０おいて、暗号化ＸＭＬデータのサブセットが、暗号化鍵情報で定義される加入者装置に付与される権利の関数として復号される。
【０１１６】
種々の実施形態に提供されるように、信頼ＸＭＬは、低いノードレベルまで全体的にデータを保護し、包括的かつ効果的な方法でノードレベルでのアクセス権の保護が可能である。
【０１１７】
１つまたは複数の概念を例示する様々なサンプルが以下に記載され、曖昧化するための暗号化技術として匿名ＩＢＥを採用、および／またはＡＥＳを使用する。しかし、そのような例において任意の適切な数学的変換を使用することが可能であり、従って、ＸＭＬデータを曖昧化すなわち隠すための所与の技術を、より一般的な概念のいずれにおいても制限するものとしてとらえるべきではないことを理解すべきである。
【０１１８】
一実施形態において、ＸＭＬの符号化は、ＸＭＬを符号化トランデューサに通すことにより行うことができ、符号化トランデューサが、信頼ＸＭＬを出力し、デコードは信頼ＸＭＬを対応するデコードトランデューサに通すことにより行うことができる。この点に関して、同じノードを多重に保護して（複数のレベルでラップさせて）、ノードの境界に高い保護を与えることができる。
【０１１９】
以下の限定ではなく例示する例において、信頼ＸＭＬの実装を説明するために患者の記録を使用し、選択的符号化の概念を使用して異なるデータの部分を異なる扱いにする。
<?xml version=" 1.0" encoding="utf-8"?> 
<PatientInfo Id="JK392E8D"> 
<Name>John McKenzie</Name> 
<Doctor>Dr. Smith </Doctor> 
<LabResults> 
<BloodTest> 
<TestData labname="Quest"> 
<data> ... </data> 
</TestData> 
</BloodTest> 
<MRITest>
<TestData labname="Mela">
<data> ... </data> 
</TestData> 
</MRITest> 
<XRayTest> 
<TestData labname="Lest"> 
<data> ... </data> 
</TestData> 
<TestData labname="Vanta">
<data> ... </data> 
</TestData> 
</XRayTest> 
</LabResults> 
</PatientInfo> 
【０１２０】
一非限定的態様において、信頼ＸＭＬは、ＸＭＬ文書の、文書全体ではなく選択された部分の保護を可能にする。例えば、「ａｃｔｉｏｎ＝”ｅｎｃｏｄｅ”」をマーク付けした全ての内部ブロックの要素を保護することができる。
【０１２１】
例えば、患者の名前を保護するには、Ｎａｍｅ要素に以下のようにマーク付けすることができる。
<Name action="encode">John McKenzie</Name> 
【０１２２】
その結果、データペイロード、ここでは、名前「ＪｏｈｎＭｃＫｅｎｚｉｅ」が誰に対しても不可視にされる。
【０１２３】
この選択的な符号化は任意の要素レベルで行うことができ、例えば、フラットな要素（上記のような）に対して、または、「ＢｌｏｏｄＴｅｓｔ」のようなある階層化された要素に対しても以下のように設定することができる。
<BloodTest action="encode">   
<TestData labname="Quest"> 
<data> ... </data> 
</TestData> 
</BloodTest> 
【０１２４】
上の例において、「ＢｌｏｏｄＴｅｓｔ」要素の中の「ＴｅｓｔＤａｔａ」全体が誰に対しても不可視にされる。
【０１２５】
暗号化などのこれに限定されない種々の数学的変換を実行するための設定のために、プリプロセッサ情報を生成することができる。例えば、匿名ＩＢＥ（ＡＩＢＥ）およびＡＥＳを暗号化技術として使用することができ、再度言及するがこれらは制限するものではない。
【０１２６】
一実施形態において、本明細書の他所で記載した連合アーキテクチャについて概要を記載したように、システムには、ＡＩＢＥの秘密を管理および生成するための独立した能力生成センタ（ＣＧＣ）を有することができる。
【０１２７】
ＡＩＢＥ設定を実行するためには、一実施形態において、ＣＧＣは、公開パラメータ（ＰＵＢ）およびマスタシークレットキー（ＭＳＫ）を生成することができる。ＭＳＫは、ＣＧＣ内に秘密の状態で保持される。ＰＵＢは、ＡＩＢＥを使用する時のためのアプリケーションのエンドユーザに供給することができる。
【０１２８】
図２４は、信頼ＸＭＬ文書を選択的に符号化するために、ＡＩＢＥの文脈で使用する例示の非限定的なアルゴリズムのフロー図である。２４００おいて、「符号化」のためにマーク付けされた要素の内部ブロック（Ｒ）が受け取られる。２４１０おいて、新しい暗号化鍵（Ｋ）が生成され、２４２０おいて、内部ブロック（Ｒ）がキー（Ｋ）で暗号化され、例えば、（Ｒ）→Ｒ’となる。２４３０おいて、「識別キーワード」（ｗ）が生成され、これは後に能力を要求する際に使用されるキーワードである。２４４０おいて、（ｗ）を使用して任意の非対称アルゴリズムを用いて（Ｋ）が保護され、その結果、（Ｋ’）となる。２４５０おいて、（Ｒ）と（Ｋ）とを廃棄することができる。２４６０おいて、（Ｒ’）と（Ｋ’）とを、後に対応する能力を得るために、アルゴリズム情報とサービス情報とに追加することができる。
【０１２９】
以下は、ＡＥＳおよびＡＩＢＥを使用するサンプルの実装である。
【０１３０】
以下の要素で開始される。
<BloodTest action="encode"> 
<TestData labname="Quest"> 
<data> ... </data> 
</TestData> 
</BloodTest> 
【０１３１】
このサンプル実装において、（Ｒ）は以下の通りである。
<TestData labname="Quest"> 
<data> ... </data> 
</TestData> 
【０１３２】
符号化の一部として実行されるデータ処理については、まず、２５６−ｂｉｔＡＥＳ暗号化鍵（Ｋ）が生成される。次に、ＡＥＳがレコード（Ｒ）を暗号化する。例えば、
ＡＥＳK（Ｒ）→Ｒ’
【０１３３】
例として、Ｒ’をＢａｓｅ６４で符号化した値は、以下のように表すことができる。
pDB9AaoGgBMbkUAox/+thz6IlIWpE21Qj0ZiW8I9vQ91OA3WrRaIUTWg9iDqvgu7svclH1SjENgBWDzlo5gaWYX1D+Ib3j6VpGX13mwd5Dq5FctLQFbSLWZCBzsCC/ORbe6A1iwk+6fGam/GrVcyuXeocIxUsmSBc0hhhwwdbz2IKpvY+rqW63uglgcbn4pyMbnOdiofbPOroqVXyCbFCDGbS46cmac8YKeDGrCURayt/yZW3Z7AwCzLvN3py6LBZvj8W41JbzND5fa/S3bdfg==
【０１３４】
そして、文書の「Ｉｄ」を得て、「要素」の名前に添付することができる。これは「識別キーワード」（ｗ）として使用される。例えば、ここでは、（ｗ）は「JK392E8DBloodTest」とすることができる。次に、ＡＩＢＥを使用して、例えば、以下の通りに（Ｋ）を保護する。
ＡＩＢＥ（ＰＵＢ，ｗ，Ｋ）→Ｋ’
【０１３５】
ＡＩＢＥを使用した保護の結果、Ｋ’は、以下のように見えることになる。
32,BuLI8ihhSAV3oxa9hm7Dx70BuLI8i,9uzEeIG89oAasixlbDLae9uzEeI,zn9xpp89kZtTio0zn9x,fmmxLd3Ehg16Efmmx 
【０１３６】
上述したように、この時、ＲとＫとは廃棄することができ、出力ＸＭＬを生成することができる。
【０１３７】
出力ＸＭＬのコンパイルついて、（Ｒ’）が「Ｖａｌｕｅ」要素内に、例えば以下の通りに保持される。
<Value> 
pDB9AaoGgBMbkUAox/+thz6IlIWpE21Qj0ZiW8I9vQ91OA3WrRaIUTWg9iDqvgu7svclH
1SjENgBWDzlo5gaWYX1D+Ib3j6VpGX13mwd5Dq5FctLQFbSLWZCBzsCC/ORbe6A1iw
k+6fGam/GrVcyuXeocIxUsmSBc0hhhwwdbz2IKpvY+rqW63uglgcbn4pyMbnOdiofbPOroq
VXyCbFCDGbS46cmac8YKeDGrCURayt/yZW3Z7AwCzLvN3py6LBZvj8W4lJbzND5fa/S
3bdfg== 
</Value> 
【０１３８】
次に、使用する変換アルゴリズムを加える。ここでは、例えば、ＥｎｃｒｙｐｔとＡＥＳである。
<TransformationMethod> 
<Type>Encrypt</Type> 
<Algorithm>AES</ Algorithm > 
</TransformationMethod> 
【０１３９】
さらに、名前空間が、「Ｄａｔａ」要素の内部に、例えば以下の通りに定義およびカプセル化される。
<t0:Data xmlns:t0="http://TrustedXml_01/transformers'> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AES</t0:Algorithm> 
</t0:TransformationMethod> 
<t0:Value> 
pDB9AaoGgBMbkUAox/+thz6IlIWpE21Qj0ZiW8I9vQ91OA3WrRaIUTWg9iDqvgu7svclH1
SjENgBWDzlo5gaWYX1D+Ib3j6VpGX13mwd5Dq5FctLQFbSLWZCBzsCC/ORbe6A1iwk+
6fGam/GrVcyuXeocIxUsmSBc0hhhwwdbz2IKpvY+rqW63uglgcbn4pyMbnOdiofbPOroqVX
yCbFCDGbS46cmac8YKeDGrCURayt/yZW3Z7AwCzLvN3py6LBZvj8W4lJbzND5fa/S3bdf
g==
</t0:Value> 
<t0:Data> 
【０１４０】
キーとしては、（Ｋ’）がＫｅｙ要素の内部に、例えば以下の通りに維持される。
<Key> 
32,BuLI8ihhSAV3oxa9hm7Dx70BuLI8i,9uzEeIG89oAasixlbDLae9uzEeI,zn9xpp89kZtTi
o0zn9x,fmmxLd3Ehg16Efmmx 
</Key>
【０１４１】
再度、使用する変換情報が追加される。ここでは、例えば、またＥｎｃｒｙｐｔとＡＩＢＥを、例えば以下の通りに使用する。
<TransformationMethod> 
<Type>Encrypt</Type> 
<Algorithm>AIBE</Algorithm> 
</TransformationMethod> 
【０１４２】
デコーダがＫｅｙを取り出すサービス情報も、例えば以下の通りに追加することができる。
<EncryptionInfo 
xmlns:e0="http://TrustedXml_0l/transformers/AIBE"> 
<KeyProviderService> 
http://TrustedXml_01/aibe/cgc.svc 
</KeyProviderService> 
<KeyProviderAction>GetCapability</KeyProviderAction> 
</EncryptionInfo> 
【０１４３】
例えば、名前空間を、以下のように「Ｋｅｙｌｎｆｏ」に定義およびカプセル化することができる。
<t0:KeyInfo xmlns:t0="http://TrustedXml_0l/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0: Algorithm>AIBE</t0:Algorithm> 
</t0:TransformationMethod> 
<e0:EncryptionInfo 
xmlns:e0="http://TrustedXml_01/transformers/AIBE"> 
<e0:KeyProviderService> 
http://TrustedXml_01/aibe/cgc.svc 
</e0:KeyProviderService> 
<e0:KeyProviderAction>GetCapability</e0:KeyProviderAction> 
</e0:EncryptionInfo> 
<Key> 
32,BuLI8ihhSAV3oxa9hm7Dx70BuLI8i,9uzEeIG89oAasixlbDLae 9uzEeI,zn9xp
p89kZtTio0zn9x,fmmxLd3Ehg16Efmmx 
</Key> 
</t0:KeyInfo> 
【０１４４】
ＢｌｏｏｄＴｅｓｔの出力要素例は以下の通りである。
<BloodTest action="decode"> 
<TransformedD ata> 
<t0:KeyInfo xmlns :t0="http://TrustedXml_0l/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AIBE</t0:Algorithm> 
</t0:TransformationMethod> 
<e0:EncryptionInfo
xmlns:e0="http://TrustedXml_01/transformers/AIBE"> 
<e0:KeyProviderService>
http://TrustedXml_01/aibe/cgc.svc 
</e0:KeyProviderService> 
<e0:KeyProviderAction>GetCapability</e0:KeyProviderAction> 
</e0:EncryptionInfo> 
<Key> 
32,BuLI8ihhSAV3oxa9hm7Dx70BuLI8i,9uzEeIG89oAasixlbDLae9uzEeI,zn
9xpp89kZtTio0zn9x,fmmxLd3Ehg16Efmmx 
</Key> 
</t0:KeyInfo> 
<t0:Data xmlns:t0="http://TrustedXml_01/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AES</t0:Algorithm> 
</t0:TransformationMethod> 
<t0:Value> 
pDB9AaoGgBMbkUAox/+thz6IlIWpE21Qj0ZiW8I9vQ91OA3WrRalUTWg9iDqvgu7
svclH1SjENgBWDzlo5gaWYX1D+Ib3j6VpGX13mwd5Dq5FctLQFbSLWZCBzsCC
/Orbe6A1iwk+6fGam/GrVcyuXeocIxUsmSBc0hhhwwdbz2IKpvY+rqW63uglgcbn4p
yMbnOdiofbPOroqVXyCbFCDGbS46cmac8YKeDGrCURayt/yZW3Z7AwCzLvN3p
y6LBZvj8W4lJbzND5fa/S3bdfg== 
</t0:Value> 
</t0:Data> 
</TransformedData> 
</BloodTest> 
【０１４５】
変換例が、以下の入力レコードおよび変換された出力により例示される。
【０１４６】
入力レコード例：
<?xml version=" 1.0" encoding="utf-8"?> 
<PatientInfo Id="JK392E8D"> 
<Name action="encode">John McKenzie</Name> 
<Doctor>Dr. Smith </Doctor> 
<LabResults> 
<BloodTest action="encode"> 
<TestData labname- "Quest" > 
<data> ... </data> 
</TestData> 
</BloodTest> 
<MRITest> 
<TestData labname="Mela"> 
<data> ... </data> 
</TestData> 
</MRITest> 
<XRayTest> 
<TestData labname="Lest" action="encode"> 
<data> ... </data> 
</TestData> 
<TestData labname="Vanta"> 
<data> ... </data> 
</TestData> 
</XRayTest> 
</LabResults> 
</PatientInfo> 
【０１４７】
変換された出力レコード例：
<?xml version="1.0"encoding="utf-8"?> 
<PatientInfo Id="JK392E8D"> 
<Name action="decode"> 
<TransformedData> 
<t0:KeyInfo xmlns:t0="http://TrustedXml_01/transformers"> 
<t0:TransformationMethod> 
<t0 :Type>Encrypt</t0:Type> 
<t0:Algorithm>AIBE</t0:Algorithm> 
</t0:TransformationMethod> 
<e0:EncryptionInfo xmlns:e0="http://TrustedXml_01/transformers/AIBE"> 
<e0:KeyProviderService>http://TrustedXml_01/aibe/cgc.svc</e0:KeyProviderServ ice> 
<e0:KeyProviderAction>GetCapability</e0:KeyProviderAction> 
</e0:EncryptionInfo> 
<Key> 
32,GlQOI2Wooxa9hm7Dx70BuLI8ihhSAV3,oAasixlbDLa42gFFe9uzEeIG89,89 XBMSkZtTio0zn9xpp,hgHA16EfmmxLd3E 
</Key> 
</t0:KeyInfo> 
<t0:Data xmlns:t0="http://TrustedXml_01/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AES</t0:Algorithm> 
</t0:TransformationMethod> 
<t0:Value> 
9ItKlH62OezLZXG4QGr6DKikZ0gMxFePzFs849Ftv9WEbaOqhPO/UUVAkmf HP2HRW7SOQfdlhNjlwBdM95KtgeKrjb2O/OS/li9SHU6zprU= 
</t0:Value> 
</t0:Data> 
</TransformedData> 
</Name> 
<Doctor>Dr. Smith </Doctor> 
<LabResults> 
<BloodTest action="decode"> 
<TransformedData> 
<t0:KeyInfo xmlns:t0="http://TrustedXml_0l/transformers"> 
<t0 :TransformationMethod> 
<t0 :Type>Encrypt</t0:Type> 
<t0:Algorithm>AIBE</t0:Algorithm> 
</t0:TransformationMethod>
<e0:EncryptionInfo xmlns:e0="http://TrustedXml_01/transformers/AIBE"> 
<e0:KeyProviderService>http://TrustedXml_01/aibe/cgc.svc</e0:KeyProviderService> 
<e0:KeyProviderAction>GetCapability</e0:KeyProviderAction> 
</e0:EncryptionInfo> 
<Key> 
32,BuLI8ihhSAV3oxa9hm7Dx70BuLI8i,9uzEeIG89oAasixlbDLae9uzEeI,zn9xpp 89kZtTio0zn9x,fmmxLd3Ehg16Efmmx 
</Key> 
</t0:KeyInfo> 
<t0:Data xmlns:t0="http://TrustedXml_0l/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AES</t0:Algorithm> 
</t0:TransformationMethod> 
<t0:Value> 
pDB9AaoGgBMbkUAox/+thz6IlIWpE21QjOZiW8I9vQ91OA3WrRaIUTWg9iDqvgu7svclH1SjENgBWDzlo5gaWYX1D+Ib3j6VpGX13mwd5Dq5FctLQFbSLWZCBzsCC/ORbe6A 1iwk+6fGam/GrVcyuXeocIxUsmSBc0hhhwwdbz2IKpvY+rqW63uglgcbn4pyMbnOdiofbPOroqVXyCbFCDGbS46cmac8YKeDGrCURayt/yZW3Z7AwCzLvN3py6LBZvj8W4lJbzND5fa/S3bdfg== 
</t0:Value> 
</t0:Data> 
</TransformedData> 
</BloodTest> 
<MRITest> 
<TestData labname="Mela"> 
<data> ... </data> 
</TestData> 
</MRITest> 
<XRayTest> 
<TestData labname="Lest" action="decode"> 
<TransformedData> 
<t0:KeyInfo xmlns:t0="http://TrustedXml_0l/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AIBE</t0:Algorithm> 
</t0:TransformationMethod> 
<e0:EncryptionInfo xmlns:e0="http://TrustedXml_01/transformers/AIBE"> 
<e0:KeyProviderService>http://TrustedXml_01/aibe/cgc.svc</e0:KeyProviderService> 
<e0:KeyProviderAction>GetCapability</e0:KeyProviderAction> 
</e0:EncryptionInfo> 
<Key> 32,ooxa9hmSoxa9hm7DSAV3oxai,iDqvgu7svclH1SjENgBWDzlo5gaWYX1,4Q Gr6DKikZ0gMxFePz,DLa42gFFe9uzEeI 
</Key> 
</t0:KeyInfo> 
<t0:Data xmlns:t0="http://TrustedXml_01/transformers"> 
<t0:TransformationMethod> 
<t0:Type>Encrypt</t0:Type> 
<t0:Algorithm>AES</t0:Algorithm> 
</t0:TransformationMethod> 
<t0:Value> 
bSLWZCBzsCWDzlo5gaWYX1D+Ib3j6VpGX13mwd5Dq5FctLQFbSLWZCBzs CC/ORbe6A1CbFCDGbS46cm+6fGam/GrVcyuXeocIxUsmSBc== 
</t0:Value> 
</t0:Data> 
</TransformedData> 
</TestData> 
<TestData labname="Vanta"> 
<data> ... </data> 
</TestData> 
</XRayTest> 
</LabResults> 
</PatientInfo> 
【０１４８】
従って、上記の例では、任意のデータ曖昧化または他の数学的変換をＸＭＬデータの異なる部分に適用することができ、その異なる部分に異なる符号化を行い、データへの選択的なアクセスを可能にするということが強調される。
【０１４９】
デコードについては、最初に、能力が要求側エンティティにより取り出または受信される。能力を得るには、デコーダが、「識別キーワード」（ｗ）を「能力」（Ｃ）を求めるＣＧＣに提供する。要求によって、ＣＧＣは、所与の「識別キーワード」に対する能力（Ｃ）を供給する。
【０１５０】
この点に関して、供給される能力は、適合する「識別キーワード」（ｗ）に対する（Ｋ’）を開くが、他のＫ’は開かない。所与のサンプルにおいて、ユーザが文書内の「Ｎａｍｅ」を入手したい場合、ユーザは要素「Ｎａｍｅ」用の「識別キーワード」（ｗ）を供給する。
【０１５１】
ここで、（ｗ）は「ＪＫ３９２Ｅ８ＤＮａｍｅ」である。
【０１５２】
ユーザが能力を入手すると、能力がＫ’に適用されて以下のようにＫが得られる。
ＡＩＢＥ（Ｋ’，ＰＵＢ，Ｃ）→Ｋ
【０１５３】
ここで、Ｋについては、ユーザは、Ｋを使用してＲ’を、例えば以下の通りに復号することができるであろう。
ＡＥＳK（Ｒ’）→Ｒ
【０１５４】
コンテナレスのデータについて記載した連合信頼オーバレイアーキテクチャに関する種々の実施形態および詳細が、以下に補足的な文脈で提供される
【０１５５】
＜信頼できる クラウドサービスエコシステムのための補足的文脈＞
上述したように、独立したデータ保護および暗号化技術を様々に組み合わせて、データに関する秘密性、信頼性およびセキュリティを向上させ、例えば、データとして、リモートの場所に記憶され、ＣＳＰにより維持される。一般的なエコシステムについて、一般的データまたはネットワークサービスの文脈で以下に記載されるが、そのような一般的なデータまたはネットワークサービスを、データをリモートの場所に記憶するための上述のシナリオのうちの任意の１つまたは複数に対して使用することができる。
【０１５６】
デジタルエスクローの様式を、クラウド内に記憶されるデータのための検索可能暗号技術を含むネットワークデータサービスに提供し、複数のエンティティに渡って信頼性を分配させて単一のエンティティによる情報漏洩を防ぐ。一実施形態において、キージェネレータ、暗号化技術プロバイダおよびクラウドサービスプロバイダが、それぞれ別々のエンティティとして提供され、データの発行者がクラウドサービスプロバイダに対してデータを機密的に発行（暗号化して）することを可能にし、暗号化データを、そのデータを要求する加入者に対して、加入者の要求に応答して生成される鍵情報内に符号化される加入者識別情報に基づき、選択的に呈示する。
【０１５７】
検索可能暗号／復号アルゴリズムについては、１つまたは複数の暗号化技術プロバイダにより実装される検索可能公開キー暗号（ＰＥＫＳ）スキームにより、任意の所与のメッセージＷに対して、トラップドアＴＷが生成されるため、ＴＷにより所与の暗号文がＷの暗号であるか否かのチェックが可能にされ、その場合、ＴＷは平文に関する任意の追加の情報を明らかにしない。以下に記載する種々の実施形態に従って、ＰＥＫＳスキームを使用して、例えば、メッセージテキストなどのデータに含まれるキーワードに基づき、暗号化メッセージなどの暗号化データに優先順位を付けるまたはフィルタリングをかけることができるが、ＰＥＫＳの使用は、暗号化技術が多様で継続的に発展しているという点において、教育的である。従って、他の暗号化技術も、検討中のシナリオ、および伴う暗号化のトレードオフ（複雑性、スピード、圧縮など）に応じて適用可能である。従って、データの受領者には、対応するキーワードに対する能力（暗号作成者により「トラップドア」とも呼ばれることもある）をリリースすることにより、キーワードに関する暗号化データの一部に対する選択的なアクセスを与えることができる。このように、暗号化データをこれらのキーワードに対してチェックすることができるが、加入者の能力が許可する以外には加入者からは何も習得されないという保証がある。
【０１５８】
誤解を避ける目的であるが、ＰＥＫＳは、本明細書における１つまたは複数の実施形態において検索可能暗号を実装するためのアルゴリズムとして開示されるが、検索可能暗号を達成するための様々な代替のアルゴリズムが存在することは理解されるであろう。ＰＥＫＳのいくつかの例示的非制限代替には、例えば、Ｏｂｌｉｖｉｏｕｓ  ＲＡＭがある。従って、「検索可能暗号」の技術は本明細書で使用される時、任意の１つの技術に限定されるべきではなく、暗号化データ全体にわたる検索またはクエリの機能性に基づき暗号化データのサブセットへの選択的なアクセスを可能にする広範囲の暗号機構または暗号機構の組み合わせを指す。
【０１５９】
任意的に、結果の妥当性検査および／または検証を、追加的な利益としてエコシステムのデータの加入者および発行者に提供することができる。妥当性検査は、データのサブセットを求める取得要求の結果として受信したデータの項目が、項目の正しいセットであること、すなわち、受信されるべきデータの正しいサブセットが実際に受信されたこと、を実証する方法を提供する。暗号化技術の１つの技法として、データ所持の証明（ＰＤＰ）がある。しかし、誤解を避ける目的であるが、ＰＤＰは、実装可能なアルゴリズムの単なる一例であり、同一または同様の目的を達成する他のアルゴリズムを使用することができる。証明可能なデータ所持またはデータ所持の証明は、ストレージサーバがそのクライアントの潜在的に大きな委託データを忠実に保管していることを頻繁に、効率的に、安全に検証する方法に関する話題である。ストレージサーバは、セキュリティと信頼度の双方の観点から信頼性が無いと想定される。
【０１６０】
結果の検証は、項目そのものの内容をチェックするための追加的機構を提供し、すなわち、取得要求に関連して受信された項目が任意の無認可のエンティティにより改竄されていないことを確実なものとする。暗号化技術の検証の例として、データ所持の証明（ＰＤＰ）がある。しかし、誤解を避ける目的であるが、ＰＤＰは、実装可能なアルゴリズムの単なる一例であり、同一または同様の目的を達成する他のアルゴリズムを使用することができる。暗号化技術において既知の別の技術には、取り出し可能性証明（ＰＯＲ）がある。しかし、誤解を避ける目的であるが、ＰＯＲは、実装可能なアルゴリズムの単なる一例であり、同一または同様の目的を達成する他のアルゴリズムを使用することができる。ＰＯＲは、サービスプロバイダまたはデータホスト側（プルーバ）により、クライアント（ベリファイア）に対して、クライアントが完全にファイルＦを復元でき、かつ、改竄が全く生じていない、という点から、対象ファイルＦが損なわれていないことを証明する小型の証明である。
【０１６１】
追加的な選択しとして、エコシステムは、匿名認証情報の概念を実装することができ、それにおいて、発行者は、自らに関する情報を名前を伏せた状態で重要な詳細事項については表に出さずにアップロードすることができ、加入者は、自らの能力により、発行者がアップロードした重要な詳細事項へのアクセスが呈示されないまたは提供されないように制限される。このようにして、発行者または加入者は、彼らが第三者に対して要望する範囲の情報だけが表に出された状態でシステムと対話することができる。
【０１６２】
従来のウェブサービスは、静的なクライアントサーバ構成およびウェブサービスのデータにアクセスするための静的に定義されるユーザポリシーに限定されていた。しかし、多くの発行者および加入者が、絶えず変化し発展する複雑なビジネスおよび他の関係性に沿って考える時、そのような従来のウェブサービスモデルでは、十分に柔軟また安全であるとは言えない。従って、種々の実施形態において、レイトバインディングが可能にされるため、データおよびコンテンツの発行者および／または所有者が、加入者は誰なのか、加入者の能力、および、加入者が何を探しているのか、例えば、データの要求で採用されるキーワード、に基づき、暗号化コンテンツに対するアクセス権を変更できる。従って、加入者が何に選択的にアクセスすることが可能なのかは、発行者および／または所有者によるアクセス権の変更に一致して動的に変更されるが、これは、加入者能力がキージェネレータによりオンザフライで提供される鍵情報で符号化されるためである。従って、加入者の権利は、所与の要求ごとに、要求に対する鍵生成の時に定義され、従って、常に加入者からの要求について現在のポリシーを反映する。
【０１６３】
同様に、信頼できるクラウドサービスのサーバの管理人に対しては、サーバが扱う動作およびデータトランザクションのログの観察を許可することができるが、任意の顧客名またはクレジットカード情報を見ることを制限することもできる。従って、加入者のアイデンティティは、加入者がアクセス可能なデータの種類を制限するための根拠とすることができる。
【０１６４】
信頼できるエコシステムの種々の非限定的な実施形態は、本明細書において、クラウドサービスの信頼性を構築するという文脈で示される。しかし、本明細書で提供されるエコシステムの信頼性の構築はより一般的なものであり、クラウドサービスへの適用に限られない。むしろ、本明細書に記載される実施形態は、異なるサーバまたは企業データセンタ内の参加者に同様に適用可能である。従って、データが所与のエンティティに置かれたままになっていても、本明細書に記載される信頼性を構築する技術は、企業内の異なる処理が別々の制御領域で操作される場合にも同等に適用可能である。企業の全ての処理全体が見えない状態では、参加者が企業の外部の者であるかのような同様の不信な問題が表面化し得る。例えば、企業内のサーバは、たとえ、管理人の管理下にあっても、または、管理人が不注意でまたは故意に行ったとしても、破壊されることがある。
【０１６５】
クラウド内の暗号化データへの適用に加えて、主題開示の種々の技術を、ラップトップまたは他の携帯用装置に記憶されるデータに対して、ラップトップが紛失するか盗まれるかした後でも、適用できる。そのような場合、装置は最終的には過度に好奇心のあるまたは悪意のあるエンティティが所持するであろう。しかし、本明細書に記載した、クラウド内のデータ保護に適用される同じ技術を、サーバまたはラップトップ上のデータを保護するためにも適用できる。ローカルデータが暗号化される場合、適切な加入者認証情報が無いと、盗人は、ローカルな暗号化データではデータにアクセスするための適切な規則も能力も示すことができないということを理解できないであろう。
【０１６６】
図２５は、一実施形態に従う信頼できるクラウドサービスフレームワークまたはエコシステムのブロック図である。システムには、加入者の要求が妥当性検査および／または検証を受けた結果の、検索可能に暗号化されたデータ２５１０を記憶するための信頼データストア２５００が含まれる。この点に関して、ネットワークサービス２５２０は、セキュアなデータ２５１０の上位に構築することができるため、データの発行者が、例えば、ネットワークサービス２５２０を介して、データを要求する加入者２５４０に付与される能力に関する制御を保持する。発行者２５３０は加入者２５４０でもあり、その逆もあり、同様に、データの所有者２５５０は、発行者２５３０および／または加入者２５４０のどちらでもあり得る。いくつかの一般的な規則および定義可能な対応する能力のセットの例として、特化された種類の発行者２５３０および加入者２５４０が、管理人２５６０および監査人２５７０である。
【０１６７】
例えば、管理者２５６０は、データ２５１０に関する許可の特化されたセットとすることができ、信頼データストア２５００の操作の維持を支援し、監査エンティティ２５７０は、監査の範囲内で特定のデータの整合性を維持することを支援できる。例えば、監査人２５７０は、攻撃的なキーワードを含むデータ２５１０のメッセージを取得することができるが、そのような場合、監査人２５７０は、付与される能力により許可されていれば、データ２５１０のメッセージがそのような攻撃的なキーワードを含む場合、警告を受けるが、他のメッセージを読むことはできない。この点に関して、無数のシナリオを、発行者のデータをデジタルエスクローに配置させる能力に基づき構築することができるため、キーを渡すことができ、そのデータへの選択的なアクセスが可能となる。
【０１６８】
例えば、発行者はエコシステムに対して認証し、文書のセットを示してエコシステムにアップロードする。文書は、暗号化鍵情報を生成する別個のキージェネレータから受信される暗号化鍵情報に基づく検索可能暗号アルゴリズムに従って、暗号化される。そして、暗号化データが、ネットワークサービスプロバイダに暗号化データのストレージのために送信され、暗号化データが、要求側装置の識別情報に基づき要求側装置に付与される選択される権利のレイトバインディングに従い、選択的にアクセス可能にされるようにする。暗号化技術プロバイダを暗号化データのストレージから分離することにより、追加的に、暗号化データをさらなる危険から防ぐ。
【０１６９】
この点に関して、図２６は、信頼できるクラウドサービスエコシステムに従ってデータを発行するための例示の非限定的な方法を示すフロー図である。２６００おいて、発行者はシステムに対して認証する（例えば、発行者が、ユーザ名とパスワード、ライブＩＤ認証情報などでログインする）。２６１０おいて、鍵情報が、以下で１つまたは複数の実施形態に記載するような鍵生成センタなどのキージェネレータにより生成される。２６２０おいて、別の暗号化技術プロバイダが、発行者の文書のセットを鍵情報に基づき暗号化する。２６３０おいて、暗号化された文書が、能力を用いて、例えば、ストレージサービスプロバイダなどのネットワークサービスプロバイダにアップロードされ、暗号化文書が、要求側装置（加入者）の識別情報に基づき付与される選択される権利のレイトバインディングによって選択的にアクセス可能になるようにする。
【０１７０】
加入者側では、例えば、加入者はエコシステムに対して認証し、データのサブセットを求める要求、例えば、所与のキーワードおよびキーワードのセットを含む文書のサブセットを求めるクエリ、を示す。少なくとも１つの加入者装置からの、検索可能に暗号化されたデータのサブセットを求める要求に応答して、鍵生成コンポーネントが、加入者装置に関連する識別情報に基づき暗号化鍵情報を生成する。そして、暗号化データのサブセットが、暗号化鍵情報で定義されるような加入者装置に付与される権利の関数として復号される。
【０１７１】
図２７は、信頼できるクラウドサービスエコシステムに従ってデータを取得するための例示の非限定的な方法を示すフロー図である。２７００おいて、データを取得するための方法には、加入者を認証するステップ（例えば、加入者が、ユーザ名とパスワード、ライブＩＤ認証情報などでログインする）が含まれる。２７１０おいて、加入者は、データを求める要求を行う。２７２０おいて、鍵情報が、加入者の要求に基づき独立した鍵生成エンティティによりが生成され、そこでは、加入者の能力を、鍵情報により定義することができる。２７３０おいて、発行者のデータのサブセットが、鍵情報で定義される能力に基づき復号される。例えば、ＣＳＰがデータを復号することができる。２７４０おいて、発行者のデータのサブセットが、加入者に対してアクセス可能にされ、例えば、加入者は、所有者／発行者により付与される動的に定義可能な能力に基づきデータのダウンロード、閲覧、処理、変更などを行うことができる。任意的に、暗号化、復号、および鍵生成に使用される技術は、別の暗号化技術プロバイダに供給可能であるが、任意の参加者がホストすることが可能である。
【０１７２】
一実施形態において、加入者装置の識別情報には、加入者の役割が含まれる。例えば、監査人の役割、または管理人の役割、または他の予め指定される役割を、検索可能に暗号化されたデータストアの種々の部分へのアクセスの制限または付与の根拠として、発行者／所有者が使用することができる。
【０１７３】
図２８は、信頼できるエコシステムにおける、鍵生成センタ（ＣＫＧ）２８００、暗号化技術プロバイダ（ＣＴＰ）２８１０およびクラウドサービスプロバイダ（ＣＳＰ）２８２０の分離を示し、それによって単一のエンティティによる情報漏洩の可能性を取り除く、例示のエコシステムを示す。この点に関して、顧客２８３０には、データの発行者および／または加入者が含まれる。任意的に、ＣＫＧ２８００を、参照ソフトウェア、オープンソースソフトウェア、および／または、ソフトウェア開発キット（ＳＤＫ）に基づき構築することが可能であり、それらは、例えば、ＣＴＰ２８１０により提供され、各構築ブロックがそのようなコンポーネントを自ら作成することを可能にし、または、そのようなエコシステムのコンポーネントをサードパーティが実装することにより満足させることができる。一実施形態において、ＳＤＫはＣＴＰ２８１０により提供され、また、１つまたは複数の参加者により使用されて、ＣＫＧ２８００、以下でより詳細に記載するコンピュート・ストレージ抽象化（ＣＳＡ）、および／または、暗号化クライアントライブラリをホストまたは実装することができる。任意的に、ＳＤＫは、ＣＫＧ２８００をホストするエンティティにＣＴＰ２８１０から分配することができる。
【０１７４】
一般に、ＣＫＧ２８００、ＣＴＰ２８１０またはＣＳＰ２８２０のそれぞれは、所与の実装に基づきサブコンポーネントにさらに分割することができるが、分離全体が、信頼性を維持するべく保たれる。例えば、ＣＫＧエンティティ２８０１には、マスタ公開キー（ＭＰＫ）配信２８０２、クライアントライブラリダウンローダ２８０４、秘密鍵エクストラクタ２８０６、信頼性ベリファイア２８０８、または他のサブコンポーネントがあり、別々にサブセットで、または統合されたコンポーネントとして一緒に、提供することができる。ＣＴＰエンティティ２８１１には、符号化・復号のためのクライアントアプリケーション２８１２、代替暗号化技術２８１４、ＣＫＧ２８１６との対話用アプリケーション、他の暗号構築ブロック２８１８などがあり、別々にサブセットで、または一緒に、提供することができる。さらに、ＣＳＰ２８２０には、多くの別個のサービスプロバイダ、例えば、それぞれストレージサービス２８２４、サービスホスティング２８２８をホストするＣＳＰ２８２２、２８２６など、が考えられ、または、そのようなサービスを一緒に提供することができる。
【０１７５】
信頼できるエコシステムにおいて１つまたは複数参加者によりホストされるＣＫＧ、またはＣＫＧインスタンス（単数または複数）は、単一のモノリシックなエンティティであることが要求されるわけではないことは理解できるであろう。むしろ、ＣＫＧは、共同してキーを生成する多数の（余剰の）エンティティに分離することができるため、参加者の小さなサブセットがオフラインである場合でも操作を継続させることができる。一実施形態において、任意的に、参加者のセットは、これらの参加者の小さなサブセットが対立相手から侵害され、または他の理由で利用不能もしくは信頼できないものとされる場合でも、全体としては信頼できる。
【０１７６】
図２９は、企業２９００向けのクラウドサービスを実行するための信頼できるエコシステムのさらなる利益を例示する別のアーキテクチャ図である。例えば、企業２９００は、異なる組織２９０２、２９０４、２９０６、２９０８を含むことができる。本図の異なる組織２９０２、２９０４、２９０６、２９０８は、組織が、システムを使用するための、または鍵生成のためのポリシーを実装することについて、所有権を大きくまたは小さく受けることが可能であるということを例示する。例えば、組織２９０２は、自らが持つポリシー２９１２を実装するが、中央集中型のキージェネレータ２９２２を使用し、一方、組織２９０４は、自らが持つキージェネレータ２９２４を実装すること、かつ、自らが持つポリシー２９１４を実装することを選択する。組織２９０６も、自らが持つポリシーを実装するが、サードパーティのＣＫＧ２９２６に依存し、一方、組織２９０８は、サードパーティのポリシープロバイダ２９１８および独立ＣＫＧ２９２８に依存することを選択する。
【０１７７】
この点に関して、データを発行するために、発行者２９４０は、ＣＫＧ２９２２からの出力に基づくデータ２９３５を暗号化するための公開パラメータを得る。公開パラメータに基づき、２９４５おいて、独立した暗号化技術プロバイダを使用してデータが発行者装置２９４０により暗号化される。暗号化されたデータは、ストレージ抽象化サービス２９５０にアップロードされ、ストレージ抽象化サービスは、ＣＳＰ２９７２、２９７４、２９７６または２９７８等の１つまたは複数のＣＳＰ２９７０による暗号化データの記憶との関連で、ストレージセマンティック（意味論的ストレージ）を隠す。加入者装置２９６０では、データを求める要求の結果、ＣＫＧ２９２２により私有秘密鍵２９６５が生成される。私有秘密鍵２９６５には、検索可能に暗号化されたデータに、２９５５おいて加入者装置２９６０がデータを復号することにより、選択的にアクセスすることを可能にする情報が含まれる。再度、ＣＳＰ２９７０からデータを取り出すセマンティックがストレージ抽象化サービス２９５０により隠される。また、加入者装置２９６０に付与される権利は、発行者／所有者により付与される能力をレイトバインディングすることによる権利の現在のセットである。
【０１７８】
図２９から分かるように、複数のデータ所有者、すなわち、企業または顧客は、本明細書に記載されるような信頼できるエコシステムに参加して、信頼できる関係を構築することができる。そのよう場合、各所有者は自ら所有するＣＫＧ（例えば、組織２９０４のＣＫＧ２９２４）をホストまたは制御することができるため、データを求める要求またはクエリが対応するＣＫＧに転送され、要求されたデータの全ての共同所有者から必要なキーを集めることができる。
【０１７９】
図３０は、ストレージ抽象化レイヤ３０１０を介して異なるストレージプロバイダを適応させる例を示す別のブロック図である。信頼できるエコシステムでは、それぞれクライアントアプリケーション３０４０、３０４２を有するデスクトップ３０３０、３０３２が、上述のようにデータを発行または取得し、データの暗号化または復号に使用する鍵情報を鍵生成センタ３０２０に求める要求を起動することができる。同様に、サービス３０４４、３０４６、３０４８はまた、エコシステムにおける発行者および／または加入者とすることができる。この点に関して、プライベートクラウドストア３０００、ＳＱＬデータサービスストア３００２または単純なストレージウェブサービス３００４などのいずれかによるデータの記憶または抽出を行うために、ストレージ抽象化サービス３０１０は、名称が暗示するように、特定のストレージリポジトリ（単数または複数）についての仕様をクライアントから抽象化する。
【０１８０】
この点に関して、誤解を避ける目的であるが、図３０は複数の状況に対処する。ある状況では、図３０では、ストレージ抽象化サービス、コンピュート・ストレージ抽象化（ＣＳＡ）とも呼ばれる、を介してストレージプロバイダのディスインターメディエーション（これらを個人として抽象化する）が、対象とされる。加えて、図３０では、同じタイプでも異なったタイプでも良い複数のバックエンドストレージプロバイダに対して、データが分割および／または展開される（例えば、冗長性のために）ため、元のデータは、１つ（または少数の）バックエンドストレージプロバイダがデータのコピーを不注意または意図的に削除または変更したとしても、再構成させることができる、というシナリオも対象とする。
【０１８１】
図３１は、サーバオペレーティングシステム（ＯＳ）３１１４と、プライベートクラウドストア３１００、ＳＱＬデータストア３１０２、単純なストレージウェブサービスストア３１０４などのストレージの詳細を抽象化するストレージサービス３１１２と、を含むストレージ抽象化サービス３１１０に関連してストレージのさらなる態様を例示する。クライアントは、それぞれクライアントアプリケーション３１４０および３１４２を有するデスクトップ３１５０または３１５２とすることができる。鍵生成センタ３１２０には、サーバＯＳ３１２４上で実行されるキージェネレータアプリケーション３１２２を含むことができる。この点に関して、アクティブディレクトリ３１３６、サーバＯＳ３１３４およびセキュリティトークンサービス（ＳＴＳ）３１３２を有する組織３１３０は、エコシステムにおいて発行者または加入者とすることができる。この点に関して、ストレージ転送フォーマット（ＳＴＦ）は、暗号化されたデータおよびメタデータを、リポジトリを超えて交換するために使用可能な標準交換フォーマットである。例えば、組織３１３０は、ストレージサービスプロバイダ３１００、３１０２または３１０４間で電子メールデータを転送したい場合、ＳＴＦを使用することができる。
【０１８２】
図３２は、信頼できるエコシステム３２２０における種々の異なる参加者を例示する別のブロック図である。上述のように、有利には、企業３２００は、大量データのストレージおよびメンテナンスを現場からそのようなデータ量を取り扱うのにより適したクラウドストレージサービスプロバイダにオフロードすることができる一方、同時に、暗号化データに関して定義される能力に対する制御を企業が保持するため、そのデータが不良加入者に対して符号化されないという安心感を持つことができる。例えば、組織３２０２は、シェアポイント等のコラボレーションアプリケーション３２１２を操作することができる。この点に関して、組織３２０２は、デジタルエスクロー、すなわち信頼できるドメイン、をシェアポイントのデータについて設定することができる。ポリシー３２３２およびＣＫＧ３２３４は、第１のデータセンタ３２３０により実装することができ、データセンタ３２３０は、信頼できるドメインに対する暗号化鍵情報３２４５を定義することによりセキュアな空間を設定するべく動作する。
【０１８３】
次に、別の組織３２０４、例えば、発行者３２１４として動作する組織、がＣＫＧ３２３４から入手される鍵情報に基づきデータを暗号化することができ、その時点で、第２のデータセンタ３２４０のコンピュータ・ストレージ抽象化コンポーネント３２４２により、第３のデータセンタ３２５０、例えば、ＣＳＰ３２５２において、検索可能に暗号化されたデータの記憶に関する詳細が扱われる。フリップ側では、組織３２０４の加入者３２１６がデータを要求すると、私有または秘密鍵の情報が抽出３２６５の一部として加入者３２１６に配信される。次に、加入者に対して定義される能力を含む秘密鍵情報に基づき、加入者により要求されるデータは、加入者が権利を持つと想定されて３２７５おいて復号され、再度、抽象化レイヤ３２４２が下層のストレージ３２５２の詳細を扱う。
【０１８４】
図３３は、異なるエンティティまたは同一のエンティティにより異なるものを提供可能な、信頼できるクラウドコンピューティングシステムの例示の非限定的な実装のいくつかのレイヤの代表的な図である。レイヤスタックの底部には、暗号化／復号アルゴリズムを実装するために使用される数学暗号化ライブラリ３３８６がある。種々の暗号化スキームの定義の抽象化を、詳細なライブラリ３３８６と検索可能暗号化スキームの実際の実装３３８２との間の中間レイヤ３３８４として提供することができる。それと共に、レイヤ３３８２、３３８４および３３８６は、より大きな暗号化サービスレイヤ３３８０を形成し、暗号化サービスレイヤ３３８０が、サービスとしてのソフトウェア（サース（ＳａａＳ））アプリケーションエコシステムの抽象化レイヤ３３６０と組み合わせられると、信頼できるデジタルエスクロー３３７０およびそのストレージの実装の基礎が形成される。抽象化レイヤ３３６０は、デジタルエスクローの様式、すなわち、ＳｅｔＵｐ（）、Ｅｎｃｒｙｐｔ（）、Ｅｘｔｒａｃｔ（）、Ｄｅｃｒｙｐｔ（）などのコマンド、の実装に使用される基本言語が含まれる。
【０１８５】
抽象化レイヤ３３６０の上位には、種々のより特定的なプラットフォーム技術（例えば、ＳＤＳ、アジュール、バックアップ／アーカイブ、ＲＭＳ、ＳＴＳなど）に結びつくレイヤ３３５０がある。種々の特定のプラットフォーム技術に結びつくレイヤ３３５０の上位には、信頼できるデジタルエスクロー３３００を使用する種々のＳａａＳアプリケーションがある。例示の非限定的例では、デジタルエスクローアプリケーション３３００が単一の会社３３１０、またはパートナ３３３０またはその両方により実装可能であることが示される。例えば、会社３３１０は、高性能コンピューティング（ＨＰＣ）、電子証拠開示および法的証拠開示３３１４、ライブサービス３３１６（例えば、ＤＢｏｘ）、サービスとしてのバックアップ／アーカイブ３３１８、監査ログ−ビジネス処理・監視３３２０または他のクラウドサービス３３２２等のサービスを実装することができる。同じく、パートナ３３３０は、電子信用状３３３２、バーチカルな分野のためのサービスとしてのＨＰＣ３３３４、Ｅヘルスサービス、セキュアなエクストラネット３３３８、コンプライアンス３３４０，訴訟支援３３４２などのサービスを実装することができる。
【０１８６】
＜信頼できるクラウドサービスエコシステムに基づくシナリオ＞
キージェネレータ、暗号化プロバイダ、およびクラウドサービスプロバイダ、ならびに本明細書に記載される他の技術の区分に固有の信頼性が強化されることにより、クラウドにおいては任意のタイプのアプリケーションが実現可能とされる。この点に関して、そのような信頼できるクラウドサービスエコシステムを可能としたことで、本明細書に記載される信頼できるエコシステムの１つまたは複数の利益を利用する、一連の豊富なサービスおよびシナリオが実現可能とされる。
【０１８７】
例えば、図３４は、上述のレイトバインディングを用いてデータに対する制御された選択的なアクセスを発行者に与える様式で、デジタルセーフアプリケーションに対して文書を発行するための例示の非限定的処理のフロー図である。３４００おいて、装置が認証される（例えば、装置がユーザ名およびパスワード、パスワード認証情報、生体認証情報、ライブＩＤ認証情報などを用いてログインする）。３４１０おいて、文書がアップロードされ、タグが入力される。タグは３４２０おいてエスクローエージェントに送られ、それに応答して、ハッシュされたタグがエスクローエージェントから受け取られる。この点に関して、タグは上述のように供給可能であり、あるいは、ペイロード（レコード、文書）から、例えば、フルテキストインデキシングを介して自動的に抽出可能である。３４３０おいて、クライアンが発行者の鍵情報を用いて文書を暗号化し、文書は、文書についての加入者のための能力と共に、セキュアなデジタルストレージプロバイダに送られる。３４４０おいて、セキュアなデジタルクラウドストレージプロバイダは、暗号化されたブロブをストレージサービス、例えば、ストレージ抽象化レイヤに送る。
【０１８８】
図３５は、デジタルセーフに配置される資料を取得するための例示の非限定的な処理のフロー図である。３５００おいて、加入者が認証され、クライアント装置がタグをエスクローエージェントに送り、それに応答してエスクローエージェントは３５１０おいてハッシュされたタグを送り返す。次に、３５２０おいてクライアントがハッシュされたタグをデジタルセーフサービスに送り、ハッシュされたタグはインタプリタ形式で解釈され、３５３０おいて、クライアントに、全体としてまたは部分的に、その検索要求をストレージサービスにより実行させる権利が与えられているのかどうかが判断される。
【０１８９】
図３６は、デジタルエスクローの様式を使用して１つまたは複数のデータセンタを介して企業のためのセキュアなエクストラネットを実装する、信頼できるクラウドサービスの例示の非限定的な実装を示す。上述のように、信頼できるコンピューティングエコシステムには、暗号化技術プロバイダ（ＣＴＰ）３６１０とは別に実装される鍵生成センタ３６００を含むことができ、暗号化技術プロバイダは、１つまたは複数のクラウドサービスプロバイダ（ＣＳＰ）３６２０とは別に実装されるエコシステムと一貫性のある暗号化技術の実装において使用される参照的な実装を提供する。セキュアなエクストラネットの例示の非限定的な実装において、３６８０では、企業が共有リポジトリ３６７０内の文書に関連して使用される設計または分析アプリケーションの共有リポジトリ３６７０（例えば、シェアポイント）およびリポジトリ３６６０を維持することを示す。ビジネスソフトウェア３６４０（例えば、センチネル）は、デスクトップ３６５０を有するコンピュータのアプリケーションまたはサーバの性能などを監視することができる。
【０１９０】
この点に関して、信頼できるクラウドサービスエコシステムにおいて、デスクトップ３６５０を使用する加入者が、選択的にアクセス可能なかつ暗号化される情報をストレージに求める時、セキュリティトークンサービス３６３０は何らかの情報を配信して加入者３６８２の識別が可能であり、ＣＫＧ３６００には３６８４で示される第１のデータセンタのＣＫＧレイヤ３６０２のインターフェースを介して調査依頼が可能である。ＣＫＧ３６００は鍵情報を返し、この鍵情報を使用してストレージ抽象化サービス３６２２を介してデータサービス３６２４により保持されるデータに、３６８６で示されるように選択的にアクセスすることが可能である。従って、任意のタイプのデータは、企業を超えて、かつ、企業内の加入者の役割に従って選択的に共有できる。
【０１９１】
図３７は、例えば、企業内において、ＣＳＰにより記憶される暗号化データへの選択的なアクセスが加入者に与えられる、信頼できるクラウドサービスエコシステムに基づく別の例示の非制限的なシナリオを示すフロー図である。最初は、加入者装置は暗号化データにアクセスする権利を持っていない。一部または全ての暗号化データを求める要求を行うことにより、しかし、例えば、アプリケーションと対話することにより、３７００おいて、アプリケーションは、クレーム（暗合化における専門用語）を３７１０おいて得るための対応するＳＴＳと自動的に通信する。３７２０おいて、アプリケーションがＣＫＧと通信して、加入者の能力に関する情報を符号化する鍵情報が得られる（能力は、暗号化の専門用語ではトラップドアと呼ばれることもあるが、用語能力は、用語トラップドアが典型的に現れる文脈に限定されない）。最後に、３７３０おいてアプリケーションからＣＳＰに鍵情報が提供され、加入者の能力により許される範囲まで暗号化データへの検索またはクエリが許可される。
【０１９２】
図３８は、アプリケーション応答をサインイン情報に基づき加入者に適合させることができることを例示する別のフロー図である。例えば、３８００おいて、ユーザＩＤ情報をアプリケーションが受け取る。３８１０おいて、アプリケーションは、関連クレームをＳＴＳから得る。３８２０おいて、ユーザＩＤ情報に関連付けられるユーザにより与えられる１つまたは複数の役割に基づき、経験をそれらの役割の権利／制限に相応して調整することができる。例えば、会社の最高財務責任者に会社の暗号化データに対するビューとして提示されるユーザ経験は、郵便室の従業員に与えられる会社の暗号化データに対するビューとは異なるユーザ経験であり得、またはそうあるべきである。図３８は、単一または複数のパーティのログインのシナリオに適用することができる。
【０１９３】
図３９は、単一のパーティまたは複数のパーティに対して実装させることができる、セキュアなレコードアップロードのシナリオを例示する別のフロー図である。３９００おいて、レコードとキーワードをアプリケーションが受け取り、これは例えば、装置のユーザがアプリケーションを用いて提供または指定することによる。３９１０おいて、アプリケーションは、マスタ公開キー（ＭＰＫ）を入手し、検索可能公開キー暗号（ＰＥＫＳ）アルゴリズムを適用する。ＭＰＫは、任意的にアプリケーションがキャッシュすることができる。３９２０おいて、アプリケーションが、暗号化されたレコードをＣＳＰリポジトリに、例えば、ストレージ抽象化レイヤを介して入力する。
【０１９４】
図４０は、例えば単一のパーティによる自動検索のために、信頼できるクラウドサービスエコシステムにより可能にされる、検索可能に暗号化されたデータストアへの役割ベースのクエリの例示の非限定的な実装を示すさらに別のフロー図である。４０００おいて、結合クエリがアプリケーションにより受け取られ、または開始される。４０１０おいて、アプリケーションが関連クレームをＳＴＳから得る。例えば、ＳＴＳは、ユーザの役割を適切なクエリグループにマッピングし、与えられた役割に対する法的なクエリのセットを返す。４０２０おいて、アプリケーションが、フィルタリングされたクレームおよびクエリをサブミットして、全てのクレームではなくクエリに対応するクレームが効果的にサブミットされるようにする。任意的に、ＣＫＧがトラップドアクレームをアプリケーションにサブミットする（またはクレームをリジェクトする）。４０３０おいて、アプリケーションが、トラップドアクレームをリモートインデックスに対して実行する。リモートインデックスでの処理に基づいて結果が受け取られ、この結果は、例えば、ユーザの役割に基づくカスタムレンダリングを使用して、アプリケーションによりユーザに対してレンダリングされる。
【０１９５】
図４１は、企業がその暗号化されたデータの一部へのアクセスを外部の企業に提供する、複数のパーティの共同シナリオを例示するフロー図である。例えば、製造者は、信頼できるクラウドに記憶される製造者のデータの一部へのアクセスを仕入先に与えることができ、その逆も可能である。この点に関して、４１００おいて、企業２のＳＴＳがリソースプロバイダとして指定され、続いて企業１のアプリケーションがクラウド内のリソースプロバイダにより提供されるリソースへのアクセスのためのクレームを得る。４１１０おいて、企業１のＳＴＳがアイデンティティプロバイダとして指定される。この点について、アプリケーションが、アイデンティティプロバイダにより円滑にされるように、企業１において加入者により定義される役割または役割のセットのためのクレームを得る。４１２０おいて、クレームは、企業２により制御される許可リソースに基づき、また、取得側のエンティティの役割により定義される許可／能力に基づき、アプリケーションにより取り出される。図４１には１つのＳＴＳのみ示されるが、デジタルエスクローまたは連合信頼オーバレイには、複数のアイデンティティプロバイダのＳＴＳおよび／または複数のリソースプロバイダのＳＴＳが存在し得ることに留意されたい。
【０１９６】
図４２は、例えば、企業１および企業２などの複数の企業間における、複数のパーティの自動検索のシナリオを例示するフロー図である。４２００おいて、結合クエリが、実行する企業１のアプリケーションにより受け取られ、または開始される。４２１０おいて、アプリケーションが、関連クレームをリソースプロバイダ（企業２）のＳＴＳから得る。リソースプロバイダを、任意的に組織タグ内に指定することができる。ＳＴＳは、任意的にクエリグループへのユーザの役割のマッピングを実行することができるため、法的クエリのセットがユーザの役割に対して返される。４２２０おいて、アプリケーションが、フィルタリングされたクレームおよびクエリをユーザの役割に基づきサブミットする。全てのクレームではなくクエリに対応するクレームが効果的にサブミットされるようにする。任意的に、ＣＫＧが、能力をアプリケーション（例えば、トラップドアクレーム）に返し、またはＣＫＧがクレームをリジェクトする。４２４０おいて、アプリケーションが、トラップドアクレームをリモートインデックスに対して実行する。リモートインデックスでの処理に基づいて、結果が受け取られ、この結果は、例えば、ユーザの役割に基づくカスタムレンダリングを使用して、アプリケーションによりユーザに対してレンダリング可能である。
【０１９７】
方法には、結合クエリを受け取るステップ、そうでない場合は結合クエリを開始するステップを含むことができる。この点に関して、任意的に、結合クエリを暗号的に保護することもできるため、トラップドア（または能力）の受領者、クライアントまたはサービスプロバイダも、結合クエリを分解できず、その構成部分を判定することもできない。
【０１９８】
図４３は、信頼できるクラウドサービスのために実装可能な例示の非限定的なエッジコンピュータネットワーク（ＥＣＮ）技術を例示する。この点に関して、複数の動的コンピュータノード４３７０、４３７２、４３７４、４３７６が、互いに独立して動作する信頼できるクラウドコンポーネントのセットに関連して計算帯域幅に動的に割り当てられる。例えば、鍵生成センタ４３２０、ストレージ抽象化サービス４３１０、組織４３３０および組織４３４０が図示のように実装されて、上述のような複数組織のビジネスシナリオまたは他のシナリオを対象とする。鍵生成センタ４３２０には、キージェネレータ４３２２およびサーバＯＳ４３２４が含まれる。ストレージ抽象化サービス４３１０には、ストレージサービスコンポーネント４３１２およびサーバＯＳ４３１４が含まれる。組織４３３０には、ＳＴＳ４３３２、ＡＤ４３３６およびサーバＯＳ４３３４が含まれる。組織４３４０には、ＳＴＳ４３４２、ＡＤ４３４６およびサーバＯＳ４３４４が含まれる。サーバＯＳ４３１４、４３２４、４３３４、４３４４は共同してサーバ間でＥＣＮを実装する。任意のストレージプロバイダまたは抽象化４３０２をデータのストレージに使用することができ、例えば、ＳＱＬデータサービスを採用することができる。このように、１つまたは複数デスクトップ４３５０、４３５２は、それぞれクライアントアプリケーション４３６０、４３６２を介してデータを発行または取得することができる。
【０１９９】
図４４は、信頼できるクラウドサービスエコシステムに従う鍵生成センタ４４１０の１つまたは複数の任意的な態様を例示するブロック図である。最初は、デスクトップ４４６０、４４６２およびそれぞれのクライアントアプリケーション４４７０、４４７２、またはサービスまたはサーバ４４７４、４４７６、４４７８などのコンピューティング装置のセットが、クラウドのコンテンツ配信ネットワーク４４５０に対する潜在的な発行者および／または加入者である。しかし、コンピューティング装置のセットのいずれかからの要求を満足させる前に、最初に、鍵生成センタが、公開キーに基づきデータを暗号化し、かつ、データの加入者に彼らの能力に基づき秘密鍵を渡す、発行者のための信頼性の管理者として動作する。
【０２００】
例示の非限定的な対話において、最初に、コンピューティング装置からの要求が提供され４４００、４４８０おいてＣＫＧ４４１０のホスト側がＣＫＧ４４１０のインスタンスをＣＫＧファクトリ４４０２から要求する。次に、４４８２おいてユーザ認証４４０４が行われる。次に、任意の使用毎の課金４４８４を、課金システム４４０６によりＣＫＧファクトリ４４０２の使用に対して適用することができる。次に、テナントＣＫＧが、４４８６おいてＣＫＧファクトリ４４０２により具体化され、これには、ＭＰＫ配信コンポーネント４４１２、クライアントライブラリダウンローダ４４１４、秘密鍵エクストラクタ４４１６および信頼性バリデータ／ベリファイア４４１８を含むことができる。
【０２０１】
ＭＰＫ配信コンポーネント４４１２は、４４８８おいてＭＰＫをＣＤＮ４４５０に配信する。クライアントライブラリダウンローダ４４１４は、要求しているクライアントに暗号化ライブラリをダウンロードし、暗号化ライブラリは、発行するデータの暗号化、または装置が取得するデータの復号に関連して使用することができる。次に、クライアントは、秘密鍵エクストラクタ４４１６から受け取られる鍵情報に基づき文書の所与のセットを抽出するための要求を行い、秘密鍵エクストラクタは信頼性ベリファイア４４１８と共同し、信頼性ベリファイアは、４４９４おいて、加入者のＳＴＳサムプリントの検証に基づき、例えば、要求に関与する組織の異なるＳＴＳ４４２０、４４２２、４４２４、４４２６との通信に基づき、加入者が特定の能力を持つことを実証することができる。他の実施形態と同様に、ストレージ抽象化サービス４４４０を提供して、データサービス４４３０（例えば、ＳＱＬ）のストレージの詳細を抽象化することができる。
【０２０２】
図４５は、ネットワークサービス４５２０の配信に関連して、妥当性検査および／または検証を伴う検索可能に暗号化されたデータ４５１０を含む信頼できるストア４５００の例示の非限定実施形態のブロック図である。本実施形態では、加入者４５４０または加入者４５４０が使用するアプリケーションが、暗号化ストア４５００の特定の部分にアクセスする要求の一部として、要求に対して返される項目について妥当性検査証明が実行されて、実際に受け取られる項目が、受け取られているべき項目であることを実証する、という要求を行うことができる。この点に関して、図４５には、検索可能暗号技術と妥当性検査の技術との組み合わせを例示する。任意的に、システムは、本明細書において他の実施形態で記載したように、クレームベースのアイデンティティ・アクセス管理と統合させることもできる。この点に関して、デジタルエスクローの様式は、本明細書において種々の実施形態に記載するように、連合信頼オーバレイとも呼ばれ、より従来的なクレームベースの認証システムともシームレスに統合させることができる。
【０２０３】
図４５では、信頼できるデータストア４５００またはデータストアのサービスプロバイダすなわちホスト側が証明のステップを実行し、一方、データの所有者（例えば、加入者装置）が妥当性検査を実行する。データストア４５００が信頼されるのは、ユーザがその強力な保証の提供を信用しているからであるが、実際は物理的なエンティティがそのデータをホストし、一部の参加者は完全に信頼できるわけではないということが理解される。
【０２０４】
図４６は、妥当性検査のステップを含む取得のための例示の非限定的な処理を例示するフロー図である。４６００おいて、検索可能に暗号化されたデータのサブセットが加入者装置から受け取られる。４６１０おいて、暗号化鍵情報が、加入者装置の識別情報に基づき暗号化鍵情報を生成する鍵生成インスタンスから生成される。４６２０おいて、暗号化データのサブセットが、暗号化鍵情報で定義される加入者装置に付与される能力の関数として復号される。４６３０おいて、サブセット内に表される項目は、実証することができ（例えば、データ所持の証明）、データは４６４０おいてアクセスされる。
【０２０５】
多くの場合、ＰＤＰ／ＰＯＲを暗号化データ全体に実行することができ復号する必要がないことが望ましい。任意的に、ＰＤＰに必要な鍵情報は、検索可能暗号を用いて保護されたメタデータ内に符号化することができる。これはＰＤＰ／ＰＯＲに使用するキーの効果的な管理方法であるが、クリアテキストのコンテンツにアクセスする必要なくＰＤＰ／ＰＯＲを暗号化データ上で実行することができる、多くの高価値のシナリオがあることに留意されたい。
【０２０６】
図４７は、ベリファイア４７００（例えば、データ所有者）が暗号化チャレンジ４７２０をプルーバ４７１０（例えば、データサービスプロバイダ）に発出する、例示の非限定的な妥当性検査チャレンジ／レスポンスプロトコルを例示する。チャレンジ４７２０を受け取ると、プルーバ４７１０は、データおよびチャレンジの関数としてレスポンスを計算する４７１２。そしてチャレンジレスポンス４７３０がベリファイア４７００に返され、次にベリファイアが計算を行い、データが変更されていないことを検証または証明する４７０２。
【０２０７】
図４７に概要が例示される妥当性検査は秘密ＰＤＰとして既知であるが、「公開」バージョンも存在し、それにおいて、サードパーティにキー（「公開」キー）が提供されて、サードパーティは、同様のプロトコルに従ってベリファイアとして動作し、実際のデータについては何も知ることにはならない。ＰＯＲは、検証の例であり、データが取り出し可能である（任意の破損／変更にかかわらず）という証明を提供するという点において、ＰＤＰとは異なるが、図３０において以下で例示するように、基本のプロトコルは同じであるが、文書の構造と実際のアルゴリズムが異なる。本明細書の信頼できるエコシステムの種々の実施形態では、検索可能暗号とＰＯＲ／ＰＤＰを組み合わせられて、システムに利益を与え信頼性を支援する。この点に関して、データをサービスプロバイダにサブミットする前に、データが検索可能に暗号化され、データの後処理にＰＯＲおよび／またはＰＤＰを含ませることができる。
【０２０８】
加えて、さらに強力な保証が必要である場合、「データ分散」の技術を、任意的に任意の１つまたは複数の上記の実施形態に重ねることができる。データ分散を用いて、データをいくつかのサービスプロバイダに分配して、任意の単一のサービスプロバイダにおける「重度に悪意のある挙動」または破滅的損失からの復元に備える。本明細書に記載される信頼性の機構を使用して、独立したサービスプロバイダが共謀してデータを破損させることを困難にするような様式で、この分散を実行させる。これは、概念において上述のＣＫＧを分配させる実施形態に類似する。
【０２０９】
図４８は、発行者２５３０からのデータについてのネットワークサービス２５２０の配信に関連して、妥当性検査および／または検証を伴う検索可能に暗号化されたデータ２５１０を含む信頼できるストア２５００の別の例示の非限定実施形態のブロック図である。具体的には、図４８は、加入者２５４０に戻された項目が改竄されていないこと、または不注意に変更されていないことを検証するための検証コンポーネント４８５０を例示する。上述のＰＤＰは、検証の非限定例である。
【０２１０】
図４９は、妥当性検査のステップを含む取得のための例示の非限定的な処理を例示するフロー図である。４９００おいて、検索可能に暗号化されたデータのサブセットが加入者装置から受け取られる。４９１０おいて、暗号化鍵情報が、加入者装置の識別情報に基づき暗号化鍵情報を生成する鍵生成インスタンスから生成される。４９２０おいて、暗号化データのサブセットが、暗号化鍵情報で定義される加入者装置に付与される能力の関数として復号される。４９３０おいて、サブセット内に表される項目のコンテンツは、実証することができ（例えば、取り出し可能性証明）、データは４９４０おいてアクセスされる。
【０２１１】
図５０は、ベリファイア５０００（例えば、データ所有者）が暗号化チャレンジ５０２０をプルーバ５０１０（例えば、データサービスプロバイダ）に発出する、例示の非限定的な妥当性検査チャレンジ／レスポンスプロトコルを例示する。チャレンジ５０２０を受け取ると、プルーバ５０１０は、データおよびチャレンジの関数としてレスポンスを計算する５０１２。そしてチャレンジレスポンス５０３０がベリファイア５０００に返され、次にベリファイアが計算を行い、データが取り出し可能であることを検証または証明する５００２。
【０２１２】
ブラインドフィンガープリントは、ラビン指紋等のネットワークデデュープ技術を拡張させた別の種類の暗号化技術の代表であり、典型的には、ネットワーク上の冗長なデータの交換を最小化するために使用される。本明細書における種々の実施形態において、フィンガープリントを適用して、プロトコルの参加者、例えば、データを記憶する場合のＣＳＰが、ホストしているデータの実際の内容について分からないようにする。
【０２１３】
ブラインドフィンガープリントに関する何らかの追加の文脈で、データの維持を含む、ワイドエリアネットワーク（ＷＡＮ）に渡る任意の大きなデータ交換では、配線上で「デデュープする」ための技術、または、不必要なデータが配線上を送信されないことを確実にするための技術が望まれる。これは、データのセグメントをフィンガープリントすること、そしてフィンガープリントを交換することにより達成されるため、送信者が持っていて受信者が持っていないものついて送信者には分かる。また、受信者は、送信者に何のデータを求める必要があるのかについて分かる。分散ファイルサービスレプリケーション（ＤＦＳ−Ｒ）を使用して、ＷＡＮを介した支店におけるバックアップや分散ファイルシステムなどのシナリオにおけるデータ交換を最適にすることができる。
【０２１４】
エクスチェンジの場合、データがかなり重複しており、５０％以上ものデータが配線上でいつでも複製される可能性がある。フィンガープリントは、例えば、電子メール、カレンダアイテム、タスク、コンテンツなどの、ブロックレベルまたはオブジェクトレベルで入手することができる。フィンガープリントは、主要データセンタおよび二次データセンタの両方でキャッシュすることができる。従って、主要データセンタに障害がある場合、二次データをフィンガープリントと共に主要データセンタに復元することができる。それでもなお、主要データセンタにおけるデータの暗号化では、フィンガープリントを、曖昧化されているにもかかわらず、二次データセンタのオペレータに見えるようにすべきである。これは、例えば、検索可能暗号を伴うキーワード／メタデータとしてフィンガープリントを記憶することにより達成され、二次データセンタの認可されたエンティティ／エージェント以外のどのエンティティも、パターンを検出することができないようにされる。
【０２１５】
データサービスの文脈で、全データまたは増分のデータを送る時、主要データセンタはログ、すなわちＥＤＢの内の項目／セグメント／ブロックのそれぞれを検査すること、およびフィンガープリントのローカルコピーを調査することができる。一致する場合、主要データセンタは、その項目／セグメント／ブロックをフィンガープリントと置き換える。用語「ブラインドフィンガープリント」が本明細書においてこう呼ばれるのは、フィンガープリントがこのように適用されるからである。一実施形態において、ブラインドフィンガープリントを達成するために選択される暗号化技術には、サイズ保存暗号化技術が含まれる。
【０２１６】
図５１は、ブラインドフィンガープリントを含むサービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。ブラインドフィンガープリントでは、データ加入者５１００およびデータサービスプロバイダ５１１０が、フィンガープリントの交換を受け、これは、バックアップ中のデータセットのローカルコピーおよびバックアップコピーそれぞれにおいて、すでに保有されているデータセグメントの代用であるとして理解される。フィンガープリント交換５１２０の結果、変更されたデータの縮小後のセットは、５１０２おいて、デデュープされた変更データ５１３０としてデータサービスプロバイダ５１１０に送信されるべきと判定され、データサービスプロバイダは、デデュープされた変更データおよび任意のブラインドフィンガープリントに選択的にアクセスすることにより、変更データを適用する５１４０。
【０２１７】
図５２は、複数の独立した連合信頼オーバレイ、またはデジタルエスクローが、階層化のアプローチで、並んでまたは上下で、存在することができる、非限定的なシナリオを例示するブロック図である。このシナリオにおいて、検索可能に暗号化されたデータ５２１０を有する信頼できるデータストア５２００が存在し、ここに種々のネットワークサービス５２２０が基礎を置くことができる。例えば、ネットワークサービス５２２０は、クラウドサービスとしてワープロソフトウェアの配信を含むことができる。地理的分散の一部として、または他にも、任意的に、それぞれ異なるアプリケーション／バーチカル／コンプライアンスの必要性／国家的なエンティティの要件となる複数のオーバレイ／エスクロー５２３２、５２３４、５２３６を提供することができるため、発行者２５３０または加入者５２５０は、例えば、要件のセットまたは司法／居住の領域に基づき、参加すべき正しいオーバレイ／エスクローを黙示的または明示的に選択する。オーバレイはこのように変更されるが、クラウドからのバックエンドサービスは、中心となるサービスそのものの配信を混乱させることなく不変のままとすることができる。
【０２１８】
図５３は、認可されないアクセスに対してデータを曖昧化するためのデータ分散技術を含む信頼できるストアの別の例示の非限定実施形態のブロック図である。本例は、データを隠すまたは曖昧化する手段として暗号化技術を提供する全ての上述の技術またはシステムを、データ（またはメタデータ）を見えないようにする任意の他の数学的変換またはアルゴリズムにより実装することもできる、ことを示す。この点に関して、例えば、データは、データストアのセットに渡って自動的にデフラグまたは分散させることができ、データストアは、同じタイプとすることも、図５３に示すように、異なるタイプのコンテナ５３１２、５３１４、・・・、５３１６とすることもできる。
【０２１９】
従って、システムには、選択的にアクセス可能なデータまたはメタデータ５３１０を記憶するためのデータストア５３１２、５３１４、・・・、５３１６を抽象化として含むデータストア５３００が含まれる。発行者は、少なくとも１つのリソースを表すデータまたはメタデータ５３１０をデータストア５３００に対して発行することができ、第１の独立エンティティ５３５０が、発行されるようなデータまたはメタデータに対して適用可能なアクセス情報の生成を実行し、第２の独立エンティティ５３６０が、発行されるようなデータまたはメタデータをデータストア５３００のデータストアのセットに渡って分散させ、一方で、発行されるようなデータまたはメタデータを記憶するデータストアのセットに関する知識（knowledge）を保持する。
【０２２０】
この知識は従って、アクセス情報が無いと見ることができない秘密である。少なくとも１つのリソースの発行者または所有者により付与されかつアクセス情報により表される、レイトバインディングの選択された権利に基づき、発行されるようなデータまたはメタデータへの選択的なアクセスを、ネットワークサービスに対する所与の要求に対して提供するネットワークサービス５３２０を介して、データまたはメタデータ５３１０を発行することができる。データストア５３００には、同一または別のコンテナタイプの複数のコンテナが含まれ、発行されるようなデータまたはメタデータを、複数のコンテナの内の少なくとも１つのコンテナに渡って自動的に分散させることができる。分散は、データディストリビュータ５３６０には既知の任意のアルゴリズムに基づくとすることができ、例えば、複数のコンテナにより表されるストレージリソースのリアルタイム分析に基づくこと、データまたはメタデータの特徴に基づくこと、または、所与のアプリケーションに適切な任意の他のパラメータに基づくことができる。
【０２２１】
従って、加入者５３４０がデータまたはメタデータ５３１０を求める要求を行うと、ネットワークサービスが、独立エンティティ５３５０および／または５３６０に依頼して、加入者５３４０がデータの再構成を可能にするアクセス情報を持つことを許可されるかどうかが判定される。例えば、データマップは、データの再構成を許可する秘密とすることができる。本実施形態は、データに対して追加の保護を提供するために、暗号化等の他の数学的変換と組み合わせることができる。そのような追加の数学的変換を、データが認可されたパーティ以外には見えないままにされるというさらなる安心のために信頼性を追加的に分配させるさらなる独立エンティティにより監視することができる。
【０２２２】
本明細書では、信頼できるデータサービスの配信を例示する様々な例示の非限定実施形態が記載される。これらの実施形態は、単独で機能するものではなく、むしろ、適切な場合はお互いに組み合わせることができる。加えて、上述の実施形態のいずれも、多数の代替方法で拡張させることができる。例えば、一実施形態において、信頼できるデータサービスは、データのアクセスに対するより高度なセキュリティのために、トラップドアまたは能力の終了または取り消しを提供することができる。別の任意的な実施形態において、信頼できるデータサービスの提供に権利管理レイヤを組み込み、例えば、暗号化／復号の一部としてコンテンツに付随する権利を守り、または、暗号化されていない状態でより簡単に認識可能または検出可能な、デジタルエスクローにおける著作権付きのデータに対する動作を防ぐ。従って、本明細書に記載される実施形態の任意の組み合わせまたは置き換えを、主題開示の範囲内で考えることができる。
【０２２３】
＜例示の非限定的な実装＞
デジタルエスクローの様式の例示の実装は、連合信頼オーバレイ（ＦＴＯ）と呼ばれる。別紙Ａには、ＦＴＯの実装に関するいくつかの追加の非限定的な詳細が添付される。
【０２２４】
この点に関して、デジタルエスクローの様式は、多くの可能性のあるパターンおよび変形の単なる一例である。さらに、このパターン（これには発行者、加入者、管理人および監査人と、−恐らく、上述のような他の特別な役割と、が含まれる）は、下層にある別のＦＴＯパターン上に積層され、これによりＣＴＰ、ＣＳＰ、ＣＫＧなどの「政教」分離を行い、信頼性を維持する。お互いに干渉することなく、また、お互いの存在について知ることさえなく、共存することができる複数の独立ＦＴＯおよびＤＥＰも存在し得る。また、ＤＥＰおよびＦＴＯのパターンを、クラウドストレージサービスプロバイダがこれらのパターン／オーバレイと共同することなく、または、これらのパターン／オーバレイの存在について知ることになることさえなく、クラウドストレージにオーバレイさせることが可能である。
【０２２５】
より詳細には、ＦＴＯは、クラウド内のデータサービスからは独立したサービスのセットである。これらのサービスは、そのデータサービスのオペレータ以外のパーティにより操作され、クラウドサービスにホストされるデータについての機密性、改竄検出、および、否認防止に関する強力な保証を提供することができる。
【０２２６】
任意のパートナが、これらのオーバレイサービス、例えば、仲介サービス、妥当性検査サービス、ストレージ抽象化サービスなど、を構築かつホストすることができる。これらのパートナは、参照的な実装をホストすることを選択しても良いし、オープンに利用可能なフォーマットおよびプロトコルに基づき、自身の実装を構築することを選択しても良い。
【０２２７】
フォーマット、プロトコルおよび参照的な実装のオープンな性質により、ＦＴＯのオペレータやデータ所有者などのパーティ間で制御の分離を維持することは簡単であろう。
【０２２８】
暗号化が本解決法の要素である一方、異なるパーティに渡って連合されるサービスの編成も本解決の一部である。従来の暗号化技術は、多くのシナリオにおいて強制的である一方、改竄検出、否認防止、複数の（信頼できない）サービスを編成して信頼性を構築すること、データリポジトリを検索すること、などの多くのシナリオの可能性を排除する。
【０２２９】
＜補足的な文脈＞
いくつかの追加の非限定的な文脈では、上述のように、クラウドが提供する信頼できるセットにより、信頼性について構築されるクラウドのためのアプリケーションエコシステムが可能にされる。本明細書において使用される種々の専門用語には、ＣＫＧ−鍵生成センタ、が含まれ、これは、複数のテナントの鍵生成センタをホストするエンティティであり、例えば、マイクロソフト、ベリサイン、フィデリティ、ソブリンのエンティティ、エンタープライズ、コンプライアンスのエンティティなどのいずれもＣＫＧをホストすることができる。この点に関して、複数テナントは任意的である（例えば、望ましいが必須ではない）。他の専門用語には、ＣＴＰ−暗号化技術プロバイダ、があり、これは、信頼できるエコシステムと共に使用するための暗号化技術を提供するエンティティであり、例えば、シマンティック、サーティコム、ボルテージ、ＰＧＰ、ＢｉｔＡｒｍｏｒ、エンタープライズ、ガーディアン、ソブリンのエンティティなどのいずれもＣＴＰとすることができる企業の例である。
【０２３０】
加えて、用語ＣＳＰ−クラウドサービスプロバイダは、ストレージを含むクラウドサービスを提供するエンティティである。様々な会社がそのようなデータサービスを提供することができる。ＣＩＶ−Ｃｌｏｕｄ  Ｉｎｄｅｘ  Ｖａｌｉｄａｔｏｒ（クラウドインデックスバリデータ）は、返されるインデックスを検査する二次的なリポジトリである。ＣＳＡ−コンピュート・ストレージ抽象化は、ストレージバックエンドを抽象化する。ＳＴＦ−ストレージ転送フォーマットは、リポジトリを超えてデータ／メタデータを転送するための世界共通のフォーマットである。
【０２３１】
この点に関して、上述のように、いくつかの企業シナリオには、データサービス技術またはアプリケーションを使用する工学エクストラネット、設計および工学分析、製造者と仕入先間のデータ定義づけ関係など、が含まれる。一意的なエコシステムが、複数のエンティティに渡って信頼性を分配することにより、様々なシナリオ全体に対して可能にされ、「非常に」信頼できるエンティティまたは一点でのデータ漏洩が存在しないようにする。
【０２３２】
検索可能暗号に関するいくつかの補助的な背景について、ユーザは典型的にはキーワードのための「能力」または「トラップドア」を持っているか入手し、それらを提示する「能力」を使用してサーバに要求を送る。サーバは、能力とインデックスを「組み合せて」関連する文書またはデータを探索する。ユーザには、検索の結果得られる文書のみに対するアクセスが与えられる（ユーザはそれらの文書以外へのアクセスも有することができるかもしれないが）。
【０２３３】
上述のように、１つのアルゴリズムを、本明細書に記載されるような検索可能に暗号化されたデータストアの提供について制限するものとしてみなすべきではなく、以下には、例示の非限定的なアルゴリズムの背後にある理論のいくつかについて概要を記載し、検索可能対称暗号（ＳＳＥ）のパターンの基礎を提供する。
【０２３４】
2013513834.tif 000003
【０２３５】
再度、本明細書に記載される任意の実施形態について制限するものとしてみなされるべきではないが、以下は公開キー暗号化ｗ／キーワード検索（ＰＥＫＳ）パターンに関する基礎である。
公開キー暗号化 
a. PKE = (Gen, Enc, Dec) 
アイデンティティベースの暗号化 
b. IBE = (Gen, Enc, Extract, Dec) 
c. Generating master keys 
i. (msk,mpk) = IBE.Gen() 
d. Encrypting m for ID 
i. c = IBE.Enc(mpk, ID, m) 
e. Generating secret key for ID 
i. sk = IBE.Extract(msk, ID) 
f. Decrypting 
i. m = IBE.Dec(sk, c) 
g. Message: m 
h. Keywords: wi, ...,wn" 
i. Generating escrow keys 
i. (msk, mpk) = IBE.Gen() 
ii. (pk,sk) = PKE.Gen() 
j. Encrypting 
k. For 1 ≦ i ≦ n 
i. ci = IBE.Enc(mpk, wi, flag) 
l. Return (PKE.Enc(pk,m),c1,...,cn) 
m. Generating capability or trapdoor for w 
i. d = IBE.Extract(msk, w) 
n. Testing for w 
o. For 1 ≦ i ≦ n 
i. z = IBE.Dec(d, Ci) 
ii. Output "true" if z = flag 
Decrypt EK(m) to obtain m 
【０２３６】
＜例示のネットワーク化分散化環境＞
当業者には理解されるであろうが、信頼できるクラウドサービスのフレームワークのための方法および装置の種々の実施形態、ならびに、本明細書に記載される関連する実施形態が、コンピュータネットワークの一部として、または分散コンピュータ環境において、展開可能であり、かつ、任意の種類のデータストアに接続可能である、任意のコンピュータまたは他のクライアント装置もしくはサーバ装置との関連で実装可能である。この点に関して、本明細書に記載される種々の実施形態は、任意の数のメモリまたは記憶ユニット、ならびに、任意の数の記憶ユニットに渡って発生する任意の数のアプリケーションおよびプロセス、を有する任意のコンピュータシステムまたは環境において実装可能である。この環境には、ネットワーク環境または分散コンピュータ環境において展開され、リモートまたはローカルなストレージを持つサーバコンピュータおよびクライアントコンピュータを有する環境が含まれるが、これに限定されない。
【０２３７】
図５４は、例示のネットワーク化されたまたは分散化されたコンピュータ環境の非限定的な概略図である。分散コンピュータ環境は、コンピューティングオブジェクトまたは装置５４１０、５４１２など、およびコンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などを備え、これらには、アプリケーション５４３０、５４３２、５４３４、５４３６、５４３８で表されるようなプログラム、メソッド、データストア、プログラマブル論理などを含むことができる。コンピューティングオブジェクトまたは装置５４１０、５４１２など、およびコンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などは、ＰＤＡ、オーディオ／ビデオ装置、携帯電話、ＭＰ３プレイヤ、ラップトップ等の異なる装置を備えることができることは理解されるであろう。
【０２３８】
コンピューティングオブジェクトまたは装置５４１０、５４１２など、およびコンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などは、通信ネットワーク５４４０により直接または間接的に、１つまたは複数の他のコンピューティングオブジェクトまたは装置５４１０、５４１２など、およびコンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などと通信することができる。図５４では単一の要素として例示されるが、ネットワーク５４４０は、図５４のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティング装置を備えることができ、および／または、複数の相互接続されるネットワークを表すことができるが、ここでは図示されない。コンピューティングオブジェクトまたは装置５４１０、５４１２など、または５４２０、５４２２、５４２４、５４２６、５４２８などはまた、ＡＰＩを使用することができるアプリケーション５４３０、５４３２、５４３４、５４３６、５４３８などのアプリケーション、または、種々の実施形態に従って提供されるように、信頼できるクラウドコンピュータサービスまたはアプリケーションとの通信またはその実装に適切な他のオブジェクト、ソフトウェア、ファームウェアおよび／またはハードウェアを含むことができる。
【０２３９】
分散コンピュータ環境を支援する様々なシステム、コンポーネントおよびネットワーク構成が存在する。例えば、コンピュータシステムは、有線または無線のシステムにより、ローカルネットワークまたは広域分散ネットワークにより、まとめて接続させることができる。現在、多くのネットワークがインターネットと連結され、これにより、広域分散コンピューティングのためのインフラストラクチャが提供され、多くの異なるネットワークが包含されるが、任意のネットワークインフラストラクチャを、種々の実施形態において記載されるような技術に付随するものとされる例示の通信に使用することが可能である。
【０２４０】
クライアント／サーバ、ピアツーピア、またはハイブリッドのアーキテクチャなどの、ネットワークトポロジおよびネットワークインフラストラクチャのホストを利用することができる。クライアント／サーバアーキテクチャ、特にネットワークシステムにおいて、クライアントは通常、別のコンピュータ、例えば、サーバにより提供される共有ネットワークリソースにアクセスするコンピュータである。図５４の例示において、非限定例として，コンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などを、クライアントと考えることができ、また、コンピューティングオブジェクトまたは装置５４１０、５４１２などを、サーバと考えることができ、それにおいては、サーバはデータサービスを提供し、例えば、コンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などのクライアントからデータを受信し、コンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などのクライアントに対するデータの記憶、データの処理、データの送信を行うが、状況に応じて任意のコンピュータをクライアント、サーバ、またはその両方であると見なすことができる。これらのコンピューティング装置のいずれも、データを処理しており、または、本明細書において１つまたは複数の実施形態に対して記載されるような改善されたユーザプロファイリングおよび関連する技術と係わることがあり得るサービスまたはタスクを要求しているものであり得る。
【０２４１】
サーバは典型的には、インターネットまたは無線ネットワークインフラストラクチャなどのリモートまたはローカルのネットワーク上でアクセス可能なリモートコンピュータシステムである。クライアントの処理は第１のコンピュータシステムにおいてアクティブとすることができ、サーバの処理は第２のコンピュータシステムにおいてアクティブとすることができ、通信媒体を介してお互いに通信しするため、分散された機能が提供されて複数のクライアントがサーバの情報収集能力を利用できる。ユーザプロファイリングに従って利用される任意のソフトウェアオブジェクトは、スタンドアロンで提供すること、または、複数のコンピューティング装置またはオブジェクトに渡って分散させることができる。
【０２４２】
通信ネットワーク／バス５４４０がインターネットであるネットワーク環境において、例えば、コンピューティングオブジェクトまたは装置５４１０、５４１２などは、コンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などのクライアントが、ＨＴＴＰ（ｈｙｐｅｒ  ｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）等の多数の既知のプロトコルのいずれかを介して通信する、ウェブサーバとすることができる。コンピューティングオブジェクトまたは装置５４１０、５４１２などのサーバはまた、コンピューティングオブジェクトまたは装置５４２０、５４２２、５４２４、５４２６、５４２８などのクライアントとして機能することもでき、これは分散コンピュータ環境の特徴である。
【０２４３】
＜例示のコンピューティング装置＞
上述のように、本明細書に記載される種々の実施形態は任意の装置に適用され、それにおいて、１つまたは複数の信頼できるクラウドサービスのフレームワークを実装することが望ましい。従って、ハンドヘルド、携帯用および他のコンピューティング装置ならびに全ての種類のコンピューティングオブジェクトが、本明細書に記載される種々の実施形態との関連で、すなわち、信頼できるクラウドサービスのフレームワークとの関連で装置が何らかの機能性を提供できるいずれの場合にも、使用が考慮されることは理解されるべきである。従って、以下で図５５において説明する以下の汎用リモートコンピュータは、一例にすぎず、主題開示の実施形態は、ネットワーク／バスの相互運用性および対話を有する任意のクライアントを用いて実装することができる。
【０２４４】
要求されてはいないが、任意の実施形態が、装置またはオブジェクトへのサービスの開発者の使用のため、オペレーティングシステムを介して部分的に実装されても良く、および／または、動作可能なコンポーネントとの関連で動作するアプリケーションソフトウェアに含まれても良い。ソフトウェアは、プログラムモジュール等の、クライアントワークステーション、サーバ、または他の装置などの１つまたは複数のコンピュータにより実行されるコンピュータ実行可能命令の一般的文脈で記載することができる。当業者は、ネットワークの対話を、様々なコンピュータシステム構成およびプロトコルを用いて実践することができることを理解するであろう。
【０２４５】
従って、図５５は、１つまたは複数の実施形態を実装できる適切なコンピュータシステム環境５５００の一例を例示するが、上記で明らかにされたように、コンピュータシステム環境５５００は適切なコンピュータ環境の単なる一例であり、いずれの実施形態の使用または機能性の範囲に対しても任意の制限を示唆することは意図されない。また、コンピュータ環境５５００は、例示の動作環境５５００において示されるコンポーネントのうちの任意の１つまたは組み合わせに関連する任意の依存性または要件を持つものとして解釈されるべきではない。
【０２４６】
図５５を参照すると、本明細書の１つまたは複数の実施形態を実装するための例示のリモート装置には、ハンドヘルドコンピュータ５５１０の形式の汎用コンピューティング装置を含むことができる。ハンドヘルドコンピュータ５５１０のコンポーネントには、プロセシングユニット５５２０、システムメモリ５５３０、およびシステムメモリを含む種々のシステムコンポーネントをプロセシングユニット５５２０に連結するシステムバス５５２１を含むことができるが、これに限定されない。
【０２４７】
コンピュータ５５１０は典型的には、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、フラッシュ記憶装置、内部または外部のハードドライブ、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｋ）などの様々なコンピュータ可読媒体を含むがこれに限定されず、コンピュータ５５１０によりアクセス可能なリモートドライブ、クラウドストレージディスクなどを含む任意の利用可能な媒体とすることができる。システムメモリ５５３０には、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）および／またはＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などの揮発性および／または不揮発性のメモリの形式でコンピュータ記憶媒体を含むことができる。制限ではなく例として、メモリ５５３０はまた、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを含むことができる。
【０２４８】
ユーザは、コンピュータ５５１０に入力装置５５４０を介してコマンドおよび情報を入力することができる。モニタまたは他のタイプの表示装置が、出力インターフェース５５５０などのインターフェースを介してシステムバス５５２１に接続される。モニタに加えて、コンピュータには、スピーカおよびプリンタなどの他の周辺出力装置を含むこともでき、これらを、出力インターフェース５５５０を介して接続することが可能である。
【０２４９】
コンピュータ５５１０は、リモートコンピュータ５５７０等の１つまたは複数の他のリモートコンピュータに対する論理接続を使用してネットワーク化または分散化された環境において動作することができる。リモートコンピュータ５５７０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置もしくは他の共通ネットワークノード、または任意の他のリモート媒体の消費または送信装置とすることができ、コンピュータ５５１０に関連して上記で記載した要素のいずれかまたは全てを含むことができる。図５５に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）などのネットワーク５５７１を含むが、他のネットワーク／バスを含むこともできる。そのようなネットワーク環境は、家庭、事務所、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的なものである。
【０２５０】
上述のように、例示の実施形態が、種々のコンピューティング装置、ネットワークおよび広告アーキテクチャに関連して記載されたが、下層にある概念は、クラウドサービスとの対話に関連して信頼性を提供することが望ましい任意のネットワークシステムおよび任意のコンピューティング装置またはシステムに適用することができる。
【０２５１】
本明細書に記載される実施形態の１つまたは複数を実装するための方法は複数あり、例えば、適切なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、制御、スタンドアロン、またはダウンロード可能なソフトウェアオブジェクトなどがあり、これらにより、アプリケーションおよびサービスは信頼できるクラウドサービスのフレームワークを使用することができる。実施形態は、ＡＰＩ（または他のソフトウェアオブジェクト）の観点から、また、１つまたは複数の上述の実施形態に従ってポインティングプラットフォームサービスを提供するソフトウェアまたはハードウェアオブジェクトの観点から、考えることができる。本明細書に記載される種々の実装および実施形態は、全体的にハードウェアにおいて、部分的にハードウェアにおいて、また、部分的にソフトウェアにおいて、そしてソフトウェアにおいて、態様を有することができる。
【０２５２】
単語「例示の」は、本明細書に使用される場合、例、例え、または実例として機能することを意味する。誤解を避ける目的であるが、本明細書に開示される主題はそのような例によって制限されない。加えて、本明細書に「例示」として記載される任意の態様または設計は、必ずしも他の態様または設計よりも好ましいまたは有利なものであると解釈されるわけではなく、また、当業者にとっては既知の同等の例示の構造および技術を排除することを意味するわけでもない。さらに、用語「含む」「有する」「含有する」および他の同様の単語が発明を実施するための形態、または特許請求の範囲において使用される限りにおいて、誤解を避ける目的であるが、そのような用語は、任意の追加または他の要素を排除することなく開放された移行語として用語「備える」と同様に包括的であることが意図される。
【０２５３】
上述のように、本明細書に記載される種々の技術は、ハードウェアまたはソフトウェアに関連して、または適切である場合にはその両方の組み合わせに関連して実装することができる。本明細書において使用される時、用語「コンポーネント」「システム」などは、同様に、コンピュータに関連するエンティティ、すなわち、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかを指すことが意図される。例えば、コンポーネントは、プロセッサ上で稼働中の処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および／またはコンピュータとすることができるがこれに限定されない。例として、コンピュータ上で稼働中のアプリケーションおよびコンピュータの両方をコンポーネントとすることができる。１つまたは複数のコンポーネントは処理および／または実行スレッド中に置くことができ、また、コンポーネントは、１つのコンピュータ上に配置および／または２つまたはそれ以上のコンピュータ間に分散させることができる。
【０２５４】
上述のシステムは、いくつかのコンポーネント間の対話について記載された。そのようなシステムおよびコンポーネントは、それらのコンポーネントまたは特定のサブコンポーネント、特定のコンポーネントまたはサブコンポーネントのうちのいくつか、および／または追加のコンポーネントを、前述のものの種々の置き換えおよび組み合わせに従って、含むことができることは理解できるであろう。サブコンポーネントは、親コンポーネント（階層上の）内に含まれるものではなく他のコンポーネントと通信可能に連結されるコンポーネントとして実装することもできる。加えて、１つまたは複数のコンポーネントは、集約的な機能性を提供する単一のコンポーネントに組み合わせても、または、いくつかの分離したサブコンポーネントに分割しても良く、また、任意の１つまたは複数の中間レイヤ、例えば、管理レイヤを設けて、統合された機能性を提供するためにそのようなサブコンポーネントに通信可能に連結させても良いことに留意すべきである。本明細書に記載される任意のコンポーネントは、本明細書に特には記載されないが当業者には一般的に既知である１つまたは複数の他のコンポーネントと対話することもできる。
【０２５５】
上記に記載される例示のシステムを考えると、開示される主題に従って実装することができる方法論は、種々の図面のフローチャートを参照することでより良く理解されるであろう。説明を簡単にする目的で、方法論が示され一連のブロックとして記載されるが、請求される主題が、ブロックの順番によって制限されず、いつくかのブロックは、本明細書に示され記載されるものとは異なる順番でおよび／または他のブロックと同時に発生することもあることは理解すべきである。非連続的、すなわち、分岐した流れがフローチャートを介して例示される場合、種々の他の分岐、フロー経路、およびブロックの順番を実装することができ、それにより同一または同様の結果が達成されることは理解できるであろう。さらに、例示される全てのブロックが以下に記載される方法論を実装する必要があるわけではない。
【０２５６】
いくつかの実施形態において、クライアント側の視点が例示されるが、誤解を避ける目的であるが、対応するサーバの視点も存在し、その逆も同様であることを理解すべきである。同様に、方法が実践される場合、ストレージ、および１つまたは複数のコンポーネントを介してその方法を実践するべく構成される少なくとも１つのプロセッサを有する、対応する装置を設けることができる。
【０２５７】
種々の実施形態が、種々の図面の好ましい実施形態と関連して記載されたが、他の同様の実施形態を使用することができること、または、同一の機能をそこから離脱することなく実行するための記載される実施形態に対して修正および追加を行うことができることは理解すべきである。さらに、上述の実施形態の１つまたは複数の態様は、複数の処理チップまたは装置内に、または複数の処理チップまたは装置にまたはそれらに渡って実装することができ、同様にストレージは複数の装置に渡って達成させることができる。従って、本発明は、任意の一実施形態に限定されるべきではなく、むしろ、添付の請求項に従う幅および範囲で解釈されるべきである。
【図１】
2013513834.tif 000004
【図２】
2013513834.tif 000005
【図３】
2013513834.tif 000006
【図４】
2013513834.tif 000007
【図５】
2013513834.tif 000008
【図６】
2013513834.tif 000009
【図７】
2013513834.tif 000010
【図８】
2013513834.tif 000011
【図９】
2013513834.tif 000012
【図１０】
2013513834.tif 000013
【図１１】
2013513834.tif 000014
【図１２】
2013513834.tif 000015
【図１３】
2013513834.tif 000016
【図１４】
2013513834.tif 000017
【図１５】
2013513834.tif 000018
【図１６】
2013513834.tif 000019
【図１７】
2013513834.tif 000020
【図１８】
2013513834.tif 000021
【図１９】
2013513834.tif 000022
【図２０】
2013513834.tif 000023
【図２１】
2013513834.tif 000024
【図２２】
2013513834.tif 000025
【図２３】
2013513834.tif 000026
【図２４】
2013513834.tif 000027
【図２５】
2013513834.tif 000028
【図２６】
2013513834.tif 000029
【図２７】
2013513834.tif 000030
【図２８】
2013513834.tif 000031
【図２９】
2013513834.tif 000032
【図３０】
2013513834.tif 000033
【図３１】
2013513834.tif 000034
【図３２】
2013513834.tif 000035
【図３３】
2013513834.tif 000036
【図３４】
2013513834.tif 000037
【図３５】
2013513834.tif 000038
【図３６】
2013513834.tif 000039
【図３７】
2013513834.tif 000040
【図３８】
2013513834.tif 000041
【図３９】
2013513834.tif 000042
【図４０】
2013513834.tif 000043
【図４１】
2013513834.tif 000044
【図４２】
2013513834.tif 000045
【図４３】
2013513834.tif 000046
【図４４】
2013513834.tif 000047
【図４５】
2013513834.tif 000048
【図４６】
2013513834.tif 000049
【図４７】
2013513834.tif 000050
【図４８】
2013513834.tif 000051
【図４９】
2013513834.tif 000052
【図５０】
2013513834.tif 000053
【図５１】
2013513834.tif 000054
【図５２】
2013513834.tif 000055
【図５３】
2013513834.tif 000056
【図５４】
2013513834.tif 000057
【図５５】
2013513834.tif 000058
【国際調査報告】
2013513834.tif 000059
2013513834.tif 000060
2013513834.tif 000061