(57)【特許請求の範囲】
【請求項１】
データをホストするための方法であって、
ホストされたデータプラットフォーム上で、データまたは前記データに関連付けられたメタデータのうち、少なくとも１つを受信するステップであって、前記データ、前記メタデータまたは両方は、少なくとも、第１の基準のセットに基づいて前記データ、前記メタデータまたは両方のための第１のラッパを定義する第１の数学的変換、および、第２の基準のセットに基づいて前記データ、前記メタデータまたは両方のための第２のラッパを定義する第２の数学的変換を含む、前記ホストされたデータプラットフォームとは別個の数学的変換コンポーネントによる前記データ、前記メタデータまたは両方の少なくとも１つの数学的変換から形成された複合ラッパによって保護されるステップと、
前記複合ラッパによって保護されたような前記データ、メタデータまたは両方へのアクセスを求める要求を、前記要求に含まれた能力のセットに基づいて受信するステップであって、前記能力のセットは、前記ホストされたデータプラットフォームおよび前記数学的変換コンポーネントとは別個のアクセス情報ジェネレータによって生成される、ステップと、
前記能力のセットに基づいて、前記データ、メタデータまたは両方に対する少なくとも１つのアクセス特権を、前記第１のラッパを通じた可視性を評価すること、および、前記第２のラッパを通じた可視性を独立して評価することに基づいて、決定するステップと
を備えることを特徴とする方法。
【請求項２】
前記受信するステップは、少なくとも、前記第１の基準のセットに基づいて前記データ、前記メタデータまたは両方の全部未満をラップする前記第１のラッパを定義する前記第１の数学的変換を含む、前記少なくとも１つの数学的変換から形成された前記複合ラッパによって保護された前記データまたはメタデータのうち、前記少なくとも１つを受信するステップを含み、
前記決定された少なくとも１つのアクセス特権は、前記第１のラッパではなく前記第２のラッパによって保護された前記データ、メタデータまたは両方に対するアクセスを許可する、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記受信するステップは、少なくとも、前記第１の基準のセットに基づいて前記データ、前記メタデータまたは両方をラップする前記第１のラッパを定義する前記第１の数学的変換、および、少なくとも、前記第１のラッパによってラップされたような前記データ、メタデータまたは両方をラップする前記第２のラッパを定義する前記第２の数学的変換を含む、前記少なくとも１つの数学的変換から形成された前記複合ラッパによって保護された前記データまたはメタデータのうち、前記少なくとも１つを受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記受信するステップは、少なくとも、前記第１の基準のセットに基づいて前記データ、前記メタデータまたは両方の全部未満をラップする前記第１のラッパを定義する前記第１の数学的変換、および、少なくとも、前記データ、メタデータまたは両方の全部をラップする前記第２のラッパを定義する前記第２の数学的変換を含む、前記少なくとも１つの数学的変換から形成された前記複合ラッパによって保護された前記データまたはメタデータのうち、前記少なくとも１つを受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記受信するステップは、少なくとも、相補的信頼またはセキュリティ基準を満たすための前記第１のラッパおよび前記第２のラッパを含む、相補的ラッパによって構成された前記複合ラッパによって保護された前記データ、前記メタデータまたは両方を受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記データ、前記メタデータまたは両方の状況が新しい状況に変化する場合、前記新しい状況に関連付けられた新しい基準のセットに適した少なくとも１つの追加のラッパを、自動的に追加または除去するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記データ、前記メタデータまたは両方の機密性クラスがより機微なクラスに変化する場合、前記より機微なクラスに適した少なくとも１つの追加のラッパを、前記データ、前記メタデータまたは両方に自動的に追加するステップを特徴とする請求項１に記載の方法。
【請求項８】
前記決定するステップは、可視性を評価する同心の順序を決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記決定するステップは、可視性を評価する側方の順序を決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１のラッパの前記定義または前記第２のラッパの定義は、前記データ、前記メタデータまたは両方のためのアクセスの速度要件を定義するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記第１のラッパの前記定義または前記第２のラッパの定義は、前記データ、前記メタデータまたは両方のための改ざん防止要件を定義するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記第１のラッパの前記定義または前記第２のラッパの定義は、前記データ、前記メタデータまたは両方に対して指定された回復の信頼性要件を定義するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
データ、メタデータもしくは両方を発行すること、または、発行されたデータ、発行されたメタデータもしくは両方にサブスクライブすることのうち、少なくとも１つのための能力情報を生成するように構成された、少なくとも１つのプロセッサ上で動作するアクセス情報ジェネレータと、
前記アクセス情報ジェネレータから独立して実装された、数学的変換技術プロバイダによって少なくとも部分的に配布された少なくとも１つの数学的変換コンポーネントであって、前記アクセス情報ジェネレータによって生成された前記能力情報に基づいて、少なくとも１つのエンコードアルゴリズムまたはデコードアルゴリズムを行うように構成された少なくとも１つのプロセッサを含む、前記少なくとも１つの数学的変換コンポーネントと、
前記少なくとも１つの数学的変換コンポーネントによって暗号化されたコンピュータデータ、コンピュータメタデータまたは両方に対するネットワークサービスを実装するように構成された少なくとも１つのプロセッサを含む、前記アクセス情報ジェネレータおよび前記少なくとも１つの数学的変換コンポーネントから独立して実装された、ネットワークサービスプロバイダと
を備え、
前記ネットワークサービスプロバイダは、前記少なくとも１つの数学的変換コンポーネントと通信して、前記コンピュータデータ、コンピュータメタデータまたは両方に適用された少なくとも２つの数学的変換ラッパの生成、再生成、改変、拡大または削除を行うように構成されることを特徴とするシステム。
【請求項１４】
前記ネットワークサービスプロバイダは、ラッパの生成、再生成、改変、拡大または削除を、前記ラッパのための信頼要件のセットのための信頼要件を修正する少なくとも１つの時間的イベントに基づいて行うように構成されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記ネットワークサービスプロバイダは、ラッパの生成、再生成、改変、拡大または削除を、前記ラッパのための信頼要件のセットのための信頼要件を修正する少なくとも１つの空間的イベントに基づいて行うように構成されることを特徴とする請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークまたはクラウドサービスなど、デバイス（複数可）のための信頼できるコンピューティングおよびデータサービスを提供することに関し、より詳細には、データ、メタデータまたは両方を変換するための複合ラッパ（ｃｏｍｐｏｓｉｔｅ  ｗｒａｐｐｅｒ）（複数可）を適用するデータまたはネットワークサービスに関する。
【背景技術】
【０００２】
いくつかの従来のシステムに関する背景として、コンピューティングデバイスはこれまで、アプリケーションおよびデータサービスをデバイスでローカルに実行してきた。そのような場合、データがアクセス、処理、格納、キャッシュなどされるとき、データはデバイス上で、ローカルバス、インターフェイスおよび他のデータ経路を介して移動することがあるが、デバイスのユーザは、デバイス自体が失われ、盗まれ、または他の方法で危殆化されない限り、ユーザデータの干渉または公開を心配する必要はなかった。
【０００３】
テラバイトのデータ（将来は、ペタバイト、エクサバイトなどのデータの可能性がある）を格納可能なネットワークストレージファームの発展は、歴史的にはローカルデータに対して動作してきたが、その代わりに、プライマリデバイスおよび外部ストレージの分離により、クラウド内に格納されたデータに対して動作している、アプリケーションを模倣する機会を作り出している。アプリケーションまたはシステム（または任意の）データのクラウドストレージは、デバイス毎に分離した専用ストレージを必要とせずに、多数のデバイスがそれらのデータを格納できるようにする。
【０００４】
それにもかかわらず、オンラインおよびクラウドサービスの発展により、アプリケーションおよびサービスは、デバイス（複数可）に代わって所与のサービスの一部または全部を行うサードパーティネットワークプロバイダへと、だんだん移動されつつある。そのような場合、デバイス（複数可）のユーザは、ユーザのデータがサービスへアップロードされる間、サービスによって格納または処理される間、または、サービスから取得される間、誰がユーザのデータにアクセスする可能性があるか、または潜在的にさらに悪いことには、誰がユーザのデータに干渉する可能性があるかに関心を持つようになることがある。要するに、ユーザのデバイスのデータが物理的保有のドメインを離れ、ユーザから物理的に離れたネットワーク環境に入るとき、サードパーティによるデータのぞんざいなまたは悪意のある取り扱いまたは干渉に対する懸念が生じる。したがって、クラウドサービスおよびクラウドサービスに関連したデータの取り扱いに対する信頼、セキュリティおよびプライバシーを増すことが望ましい。同様の懸念は、企業内でさえ、データのストレージに対して生じることがあり、例として、データが生成されるある制御の領域（例えば、第１の部門）をデータが離れて、ストレージのために別の制御の領域（例えば、第２の部門）に入る場合である。
【０００５】
しかし、上記で示唆したように、クラウド内で格納される間のデータのセキュリティ、プライバシーおよび整合性の問題およびそれに対する要求を有効に軽減することができているクラウドサービスまたはネットワークストレージプロバイダはないという問題が残っている。要するに、ユーザは、ストレージの手段に対する物理的な制御が放棄されるとき、自分のデータが安全でプライベートのままであるという、高められた信頼を必要としており、このハードルは、企業および消費者がサードパーティのネットワークサービスおよびソリューションを介した重要なデータのバックアップを採用することを、著しく妨げている。
【０００６】
今日のデバイスおよびデバイスに提供されるデータサービスの上述の欠陥は単に、従来のシステムの問題のいくつかの概観をもたらすように意図され、網羅的となるようには意図されない。現況技術に関する他の問題、および、様々な非限定的な実施形態のいくつかの対応する利点は、以下の詳細な説明の検討によりさらに明らかになるであろう。
【発明の概要】
【０００７】
簡単な概要が本明細書で提供されて、より詳細な説明および添付の図面において続く例示的、非限定的な実施形態のうち１つまたは複数の様々な態様の基本的または全体的な理解を可能にする助けとなる。しかし、この概要は、広範または網羅的な概観として意図されない。その代わりに、この概要の唯一の目的は、いくつかの例示的、非限定的な実施形態に関連するいくつかの概念を、以下に続く様々な実施形態のより詳細な説明の前置きとして、簡単な形式で提示することである。
【０００８】
検索可能暗号化（ｓｅａｒｃｈａｂｌｅ  ｅｎｃｒｙｐｔｉｏｎ）、デアセンブル／リアセンブルまたは分散技術など、データのための数学的変換技術を含む、ネットワークまたはクラウドデータサービスは、信頼を複数のエンティティに渡って分散させて単一データ危殆化点を回避し、かつ、その中でデータが格納、処理、アクセスまたは取得されうるコンテナ（複数可）からデータ保護要件を切り離す方法で、提供される。一実施形態では、数学的変換述語ジェネレータ（例えば、キージェネレータ）、数学的変換プロバイダ（例えば、暗号技術プロバイダ）、および、クラウドサービスプロバイダは、それぞれ分離したエンティティとして提供され、データの発行者がデータを機密として（曖昧化された、例えば、暗号化された状態で）クラウドサービスプロバイダに発行するための信頼できるプラットフォームが可能となり、サブスクライバの能力に基づいて、承認されたサブスクライバに対して、曖昧化された、例えば、暗号化されたデータへの選択的アクセスが可能となる。
【０００９】
信頼できるプラットフォームを使用して、データをホストするための方法は、データまたはデータに関連付けられたメタデータを受信するステップを含むことができ、データ、メタデータまたは両方は、第１の基準のセットに基づいてデータ、メタデータまたは両方のための第１のラッパを定義する、データの少なくとも１つの数学的変換、および、第２の基準のセットに基づいてデータ、メタデータまたは両方のための第２のラッパを定義する第２の数学的変換から形成された、複合ラッパによって保護される。この方法は、複合ラッパによって保護されたようなデータ、メタデータまたは両方へのアクセスを、その要求に含まれた能力のセットに基づいて要求するステップをさらに含む。能力は、任意の種類のアクセス情報、例えば、再構築マップ、暗号キー、デコードツールなどであってもよい。能力のセットに基づいて、データ、メタデータまたは両方に対して、アクセス特権が、第１のラッパを通じた可視性を評価すること、および、第２のラッパを通じた可視性を独立して評価することに基づいて、決定される。
【００１０】
非限定的な実施形態では、システムは、データ、メタデータもしくは両方を発行するため、または、発行されたデータ、発行されたメタデータもしくは両方にサブスクライブするための、能力情報を生成するアクセス情報ジェネレータから独立して実装された、数学的変換技術プロバイダによって少なくとも部分的に配布された数学的変換コンポーネント（複数可）であって、アクセス情報に基づいてアクセスを許可するように構成された少なくとも１つのプロセッサを含む、数学的変換コンポーネント（複数可）を含むことができる。ネットワークサービスプロバイダは、アクセス情報ジェネレータおよび数学的変換技術プロバイダから独立して実装され、数学的変換コンポーネント（複数可）によって変換されたコンピュータデータ、コンピュータメタデータまたは両方に対するネットワークサービスを実装するように構成された少なくとも１つのプロセッサを含み、ネットワークサービスプロバイダは、数学的変換コンポーネント（複数可）と通信して、コンピュータデータ、コンピュータメタデータまたは両方に適用された暗号ラッパ（ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｗｒａｐｐｅｒ）（複数可）の生成、再生成または削除を行うように構成される。
【００１１】
信頼できるプラットフォームの技術を使用して、データ（および、関連付けられたメタデータ）は、データを保持するコンテナ（例えば、ファイルシステム、データベースなど）から切り離され、非限定的な例におけるように、信頼プラットフォームの暗号キージェネレータによって付与されたキーなど、提示された能力により洞察される数学的複雑性の覆いを課すことを通じて、データがそれ自体の管理人としての機能を果たすことができるようになる。データまたはそのデータのサブセットの共有またはそれへのアクセスは、実施のために特定のコンテナを必要とせずに、信頼を保有かつ拡張する方法で、容易にされる。データに適用される検索可能暗号化技術など、数学的複雑性は、その中に特定のビットが記録されるコンテナまたはハードウェアにかまわずに、データを保護し、すなわち、データは、コンテナレスで、またはコンテナにかまわずに保護され、よって、コンテナセキュリティの危殆化に基づいて攻撃にさらされることはない。特定の「金庫」が破られる場合、コンテンツはなお保護される。
【００１２】
１つの非限定的な実施形態では、拡張マークアップ言語（ＸＭＬ）データは、それ自体の管理人としての機能を果たすデータである。ＸＭＬデータでは、基になるデータへのアクセスを選択的に可能にするかまたは防止する記述情報により、タグを拡大または追加することができ、ＸＭＬデータまたはＸＭＬデータ断片が、ＸＭＬデータまたは断片に適用された信頼エンベロープ（ｔｒｕｓｔ  ｅｎｖｅｌｏｐｅ）内のタグ情報によってカプセル化されるとき、それ自体の管理人としての機能を果たすことができるようになる。ＸＭＬデータまたはタグは、例として、認証情報、承認情報、スキーマ情報、履歴情報、トレース情報、一貫性情報などのうち、いずれか１つまたは複数をエンコードする検索可能メタデータを表すことができる。ＸＭＬに基づく実施形態のいずれも、限定されないが、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、Ｓ−Ｅｘｐｒｅｓｓｉｏｎｓ、電子データ交換（ＥＤＩ）、その他など、様々な範囲の代わりのフォーマットにも適用可能であり、よって、ＸＭＬは、そのような実施形態において例示のために使用されるに過ぎないことに留意されたい。
【００１３】
限定されないが、データベースフィールド、ＸＭＬ断片またはフルレコードなど、あらゆる種類のペイロードのための「信頼されたエンベロープ（ｔｒｕｓｔｅｄ  ｅｎｖｅｌｏｐｅ）」は、したがって、限定されないが、機密性、プライバシー、匿名性、改ざん検出、整合性、その他など、保証と共に広がる全範囲の信頼を可能にする、エンベロープ上に配置された様々なデコレーションまたはシールを通じて、幕で覆われたアクセスを提供する。例として、ＸＭＬタグを適用または拡大して、構造化ＸＭＬデータという、ネットワーク化された環境内のデータ交換のために使用される共通フォーマットのための、信頼エンベロープを作成し、信頼できるクラウドサービス環境内でコンテナレスＸＭＬデータを可能にすることができる。
【００１４】
データのセキュリティおよびプライバシーに対する高レベルの信頼の確立を容易にするために適用されうる、暗号技術または「デコレーション」のいくつかの他の例には、限定されないが、サイズ保存暗号化、検索可能暗号化、または、適用の証明（複数可）（Ｐｒｏｏｆ（ｓ）  ｏｆ  Ａｐｐｌｉｃａｔｉｏｎ）、ブラインドフィンガープリント（ｂｌｉｎｄ  ｆｉｎｇｅｒｐｒｉｎｔｓ）、取得可能性の証明（複数可）（Ｐｒｏｏｆ（ｓ）  ｏｆ  Ｒｅｔｒｉｅｖａｂｉｌｉｔｙ）などが含まれる。
【００１５】
他の実施形態および様々な非限定的な例、シナリオおよび実装は、以下でより詳細に説明される。
【図面の簡単な説明】
【００１６】
様々な非限定的な実施形態は、添付の図面を参照してさらに説明される。
【図１】一実施形態における、複合ラッパを採用するストレージ内でデータ、メタデータまたは両方を発行またはサブスクライブするためのシステムを例示するブロック図である。
【図２】一実施形態における、複合暗号化ラッパを採用するストレージ内でデータ、メタデータまたは両方を発行またはサブスクライブするためのシステムを例示するブロック図である。
【図３】同心複合ラッパの例示的な例の図である。
【図４】側方ラッパを有する複合ラッパの例示的な例の図である。
【図５】一実施形態における、同心および側方ラッパを共に有するハイブリッド複合ラッパの例示的な例の図である。
【図６】一実施形態における、データに関連付けられたアクセスログメタデータに関連した、側方ラッパの使用のブロック図である。
【図７】どのようにデータが削除されたかがメタデータ内でエンコードされる、一実施形態における、アクセス情報を破棄または細断することによるデータの有効な削除のブロック図である。
【図８】データがスクランブルをかけられ、そのスクランブリングについての情報が複合ラッパの、ラッパの内側または外側のメタデータ内に記録される一例を、追加として例示するブロック図である。
【図９】ラッパの除去の代替として、ラッパによって曖昧化されたデータ、メタデータまたは両方を表示する能力を分配する結果となる、ポリシの変更のブロック図である。
【図１０】命令または状態の変化に基づいた、ラッパの自動的なアンラップ、生成、改変、再生成または拡大のブロック図である。
【図１１】１つまたは複数の側方ラッパ変形を使用して、データの編集のタスクを行う、例示的な例の図である。
【図１２】一実施形態における、複合ラッパによってラップされたような、データ、メタデータまたは両方をホストするための例示的、非限定的な処理の流れ図である。
【図１３】安全、プライベートおよび選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための全体的な環境のブロック図である。
【図１４】「それ自体の管理人としてのデータ」の１つまたは複数の態様を例示するブロック図である。
【図１５】安全、プライベートおよび選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための全体的な環境のブロック図である。
【図１６】データがそれ自体の管理人としての機能を果たす、コンテナを管理するための処理の流れ図である。
【図１７】それ自体の管理人としての機能を果たすデータの１つまたは複数の態様を例示する、もう１つのブロック図である。
【図１８】データが従来のコンテナセキュリティモデルを越えることができることを例示する、それ自体の管理人としてのデータの態様を例示する、もう１つのブロック図である。
【図１９】異種のタイプの複数のデータコンテナからのデータの自動細断、キャッシング、レプリケーション、再構成のような機能を行うストレージ管理レイヤを例示する図である。
【図２０】データが様々なデータコンテナに渡ってどこに格納されるとしても、暗号アクセスラッパをデータに追加する、安全なオーバーレイネットワークを例示するブロック図である。
【図２１】レガシアプリケーションに関する一態様を例示するブロック図である。
【図２２】レガシアプリケーションならびにＦＴＯ対応アプリケーションに関連して使用可能なサンプルアーキテクチャモデルの図である。
【図２３】データ、および／または、そのデータもしくはそのデータの特性を記述するメタデータにおける、暗号ラッパまたはエンベロープの一般的使用を例示するブロック図である。
【図２４】図２３に一般に提示された概念をさらに強調する特定の例の図である。
【図２５】保護されたデータを囲むフェデレーション信頼オーバーレイ（ｆｅｄｅｒａｔｅｄ  ｔｒｕｓｔ  ｏｖｅｒｌａｙ）を例示する、もう１つの例の図である。
【図２６】レコードならびにインデックスが、信頼オーバーレイ（ｔｒｕｓｔ  ｏｖｅｒｌａｙ）を使用して暗号化され、クラウドへアップロードされる、一実施形態を例示するブロック図である。
【図２７】どのようにクライアントがフェデレーション信頼オーバーレイアーキテクチャを使用して、より豊かなクラウドストレージ経験のために、暗号化されたデータの上で暗号化されたインデックスを生成、アップロードかつ／または検索することができるかを例示する図である。
【図２８】システムによるいくつかの追加の非限定的な信頼アシュアランスを例示するブロック図である。
【図２９】システムによるいくつかの追加の非限定的な信頼アシュアランスを例示するブロック図である。
【図３０】システムによるいくつかの追加の非限定的な信頼アシュアランスを例示するブロック図である。
【図３１】ＸＭＬに関連して、信頼されたオーバーレイの一実施形態を例示する図である。
【図３２】様々な実施形態における、信頼できるＸＭＬのための例示的処理を例示する流れ図である。
【図３３】様々な実施形態における、信頼できるＸＭＬのための例示的処理を例示する流れ図である。
【図３４】様々な実施形態における、信頼できるＸＭＬのための例示的処理を例示する流れ図である。
【図３５】様々な実施形態における、信頼できるＸＭＬのための例示的処理を例示する流れ図である。
【図３６】一実施形態における、データを処理して、信頼できるＸＭＬを形成するための例示的、非限定的な方法を例示する流れ図である。
【図３７】一実施形態による、信頼できるクラウドサービスフレームワークまたはエコシステムのブロック図である。
【図３８】信頼できるクラウドサービスエコシステムによってデータを発行するための例示的、非限定的な方法を例示する流れ図である。
【図３９】信頼できるクラウドサービスエコシステムによってデータにサブスクライブするための例示的、非限定的な方法を例示する流れ図である。
【図４０】信頼できるエコシステムにおける、キー生成用センタ（ＣＫＧ）、暗号技術プロバイダ（ＣＴＰ）およびクラウドサービスプロバイダ（ＣＳＰ）の分離を示す、例示的エコシステムを例示する図である。
【図４１】企業のためのクラウドサービスを行うための信頼できるエコシステムのさらなる利点を例示する、もう１つのアーキテクチャ図である。
【図４２】ストレージ抽象化レイヤを介した異なるストレージプロバイダの適応を例示する、もう１つのブロック図である。
【図４３】ストレージ抽象化サービスに関連したストレージのさらなる態様を例示する図である。
【図４４】信頼できるエコシステムにおける様々な異なる関係者を例示する、もう１つのブロック図である。
【図４５】異なるかまたは同じエンティティによって異なる部分が提供されうる、信頼できるクラウドコンピューティングシステムの例示的、非限定的な実装のいくつかのレイヤの代表的な図である。
【図４６】遅延バインディングにより、データに対する、発行者により制御された選択的アクセスを提供する方法で、ドキュメントをデジタル金庫アプリケーションに発行するための例示的、非限定的な処理の流れ図である。
【図４７】デジタル金庫に配置された素材にサブスクライブするための例示的、非限定的な処理の流れ図である。
【図４８】デジタルエスクローパターン（ｄｉｇｉｔａｌ  ｅｓｃｒｏｗ  ｐａｔｔｅｒｎ）を使用して、１つまたは複数のデータセンタを介して、企業のための安全なエクストラネットを実装する、信頼できるクラウドサービスの例示的、非限定的な実装を例示する図である。
【図４９】サブスクライバが、ＣＳＰによって格納された暗号化されたデータへの選択的アクセスを与えられる、信頼できるクラウドサービスエコシステムに基づいた、もう１つの例示的、非限定的なシナリオを例示する流れ図である。
【図５０】アプリケーションの応答を、サインイン情報に基づいて、サブスクライバに合わせて調整できることを例示する、もう１つの流れ図である。
【図５１】単一のパーティまたは複数のパーティのために実装されうる、安全なレコードアップロードシナリオを例示する、もう１つの流れ図である。
【図５２】信頼できるクラウドサービスエコシステムによって可能にされた、検索可能暗号化されたデータストアに対する役割ベースのクエリを行う、例示的、非限定的な実装を例示する、さらにもう１つの流れ図である。
【図５３】ある企業が、その暗号化されたデータの一部へのアクセスを外部企業に提供する、マルチパーティ協調シナリオを例示する流れ図である。
【図５４】複数の企業の間のマルチパーティ自動検索シナリオを例示する流れ図である。
【図５５】信頼できるクラウドサービスのために実装されうる、例示的、非限定的なエッジ計算ネットワーク（ｅｄｇｅ  ｃｏｍｐｕｔｅ  ｎｅｔｗｏｒｋ）（ＥＣＮ）技術を例示する図である。
【図５６】信頼できるクラウドサービスエコシステムによる、キー生成用センタの１つまたは複数のオプションの態様を例示するブロック図である。
【図５７】検索可能暗号化されたデータを含む、信頼できるストアの例示的、非限定的な実施形態のブロック図である。
【図５８】検証ステップを含む、サブスクライブするための例示的、非限定的な処理を例示する流れ図である。
【図５９】確認者が暗号チャレンジを証明者へ発行する、例示的、非限定的な検証チャレンジ／レスポンスプロトコルを例示する図である。
【図６０】検索可能暗号化されたデータを含む、信頼できるストアのもう１つの例示的、非限定的な実施形態のブロック図である。
【図６１】検証ステップを含む、サブスクライブするための例示的、非限定的な処理を例示する流れ図である。
【図６２】確認者が暗号チャレンジを証明者へ発行する、もう１つの例示的、非限定的な確認チャレンジ／レスポンスプロトコルを例示する図である。
【図６３】ブラインドフィンガープリンティング（ｂｌｉｎｄ  ｆｉｎｇｅｒｐｒｉｎｔｉｎｇ）を含むサービスの１つまたは複数の実施形態を提供するための全体的な環境のブロック図である。
【図６４】複数の独立したフェデレーション信頼オーバーレイ、またはデジタルエスクローが、レイヤ化された手法のために並んで、または互いの上に存在することができる、非限定的なシナリオを例示するブロック図である。
【図６５】承認されていないアクセスに対してデータを曖昧化するためのデータ分散技術を含む、信頼できるストアのもう１つの例示的、非限定的な実施形態のブロック図である。
【図６６】本明細書で説明された様々な実施形態が実装されうる、例示的、非限定的なネットワーク化された環境を表すブロック図である。
【図６７】本明細書で説明された様々な実施形態の１つまたは複数の態様が実装されうる、例示的、非限定的なコンピューティングシステムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１７】
概観
背景で論じたように、ネットワークサービスへ送信されたデータは、プライバシー、改ざんの可能性などについて不快感を生じる可能性があり、例えば、データがユーザのデバイスからネットワークアプリケーション、サービスまたはデータストアへ送信されるとき、ユーザは、有害なサードパーティが危害を引き起こす可能性がないという十分なアシュアランスを望む。当然ながら、ユーザはデータに対する制御を失っている。したがって、信頼を増して、データの発行者および／または所有者が、その発行者および／もしくは所有者によって、または、要求者識別に基づいて確認されたように特権が付与された任意の者に対してアクセスされるときを除いて、それらのデータがネットワーク内にある間にプライベートかつ損なわれていないままになると信頼して、それらのデータに対する物理的な制御の放棄をいとわないようにすることが望ましい。
【００１８】
この点について、クラウド内で格納される間のデータのセキュリティ、プライバシーおよび整合性の問題およびそれに対する要求を有効に軽減することができているクラウドサービスまたはネットワークストレージプロバイダはないという問題が残っている。要するに、ユーザは、ストレージの手段に対する物理的な制御が放棄されるとき、自分のデータが安全でプライベートのままであるという、高められた信頼に関心を有しており、このハードルは、企業および消費者がサードパーティのネットワークサービスおよびソリューションを介した重要なデータのバックアップを採用することを、著しく妨げている。
【００１９】
本明細書で使用されるとき、ネットワークストレージプロバイダという用語には、限定されないが、コンテンツ配信（または配布）ネットワーク（ＣＤＮ）、例えば、企業ストレージ、クラウドストレージおよび／もしくはＣＤＮに及ぶハイブリッドのシナリオ、ならびに／または、例えば、複数の企業、複数のクラウド、もしくは複数のＣＤＮ、もしくは前述の任意の組み合わせに及ぶ、より幅広いフェデレーションシナリオが含まれる。
【００２０】
従来、データを安全に保つために、データは、例えば、物理的な媒体上で閉じ込められるか、または隠れて保たれていた。この点について、データ所有者は、金庫の管理人が完全に信頼できるパーティであるか、または、金庫のコンテンツにアクセスできないことが必要であることを知っている。この点について、クラウドサービスの前提は、どこに自分のデータが物理的に位置するかを顧客が厳密に知ることが必ずしも必要とは限らないということであったが、質問がまったく無視されてよいということは真実ではない。この理由は、誰（何のデバイス）がデータにアクセスすることができるか、誰がデータを見るか、誰がデータを維持するか、および、データがどのように格納されるかについて全責任を負うことが、難題であったからである。したがって、実際には、顧客は、固有の不信および様々な他の懸念により、クラウドチェーン内の様々なコンピューティングおよびストレージデバイスを制御しているサードパーティが誰であるかを大変気にかけている。
【００２１】
データ所有者または発行者と合致しないことがある固有の偏向を有する、人または外部エンティティにより制御されたアクティブな管理人の資格を除いて、本明細書の様々な実施形態は、データが数学的に変換され、例えば、選択的に暗号化されるか、または検索可能暗号化されて、そのデータを保持するサードパーティマシン（複数可）、機構（複数可）、デバイス（複数可）またはコンテナ（複数可）にかかわらず、そのデータがそれ自体のための管理人としての機能を果たすようになる、システムを提供する。この点において、フェデレーション信頼オーバーレイの様々な実装は、ユーザにとって透過的にされる、セキュリティ、機密性、改ざん防止などの保証と共に、コンテナレスデータを可能にする。
【００２２】
したがって、様々な実施形態では、データをホストするために信頼できるクラウドプラットフォームが使用され、データまたはそのデータに関連付けられたメタデータを受信することが含まれ、データ、メタデータまたは両方は、少なくとも、第１の基準のセットに基づいてデータ、メタデータまたは両方のための第１のラッパを定義する第１の数学的変換、および、第２の基準のセットに基づいてデータ、メタデータまたは両方のための第２のラッパを定義する第２の数学的変換を含む、データ、メタデータまたは両方の数学的変換から形成された複合ラッパによって保護される。エンティティは、複合ラッパによって保護されたようなデータ、メタデータまたは両方へのアクセスを求める要求を、その要求に含まれた能力のセットに基づいて行うことができる。能力のセットに基づいて、アクセス特権（複数可）が、第１のラッパを通じた可視性を評価すること、および、第２のラッパを通じた可視性を独立して評価することに基づいて、データ、メタデータまたは両方に対して決定されうる。
【００２３】
受信することは、第１の基準のセットに基づいてデータ、メタデータまたは両方の全部未満をラップする第１のラッパを定義する第１の数学的変換を含む、数学的変換（複数可）から形成された複合ラッパによって保護されたデータまたはメタデータを受信することを含みうる。
【００２４】
受信することは、第１の基準のセットに基づいてデータ、メタデータまたは両方をラップする第１のラッパを定義する第１の数学的変換、および、第１のラッパによってラップされたようなデータ、メタデータまたは両方をラップする第２のラッパを定義する第２の数学的変換を含む、数学的変換（複数可）から形成された複合ラッパによって保護されたデータまたはメタデータを受信することを含みうる。
【００２５】
受信することは、第１のラッパまたは第２のラッパが、暗黙的または明示的に定義された条件を満たした後、少なくとも部分的に分解できるようにする、数学的アルゴリズム（複数可）から少なくとも部分的に形成された複合ラッパによって保護されたデータ、メタデータまたは両方を受信することを含みうる。受信することは、第１のラッパおよび第２のラッパのうち少なくとも１つが、暗黙的または明示的に定義された条件を満たした後、データ、メタデータまたは両方へのフルアクセスを可能にすることができるようにする、数学的アルゴリズム（複数可）から少なくとも部分的に形成された複合ラッパによって保護されたデータ、メタデータまたは両方を受信することを含みうる。
【００２６】
受信することは、データ、メタデータまたは両方に対する選択的不透明性を可能にする、数学的アルゴリズム（複数可）から少なくとも部分的に形成された複合ラッパによって保護されたデータ、メタデータまたは両方を受信することを含みうる。
【００２７】
受信することは、第１のラッパおよび第２のラッパを、第１の基準のセットおよび第２の基準のセットにそれぞれ基づいて形成する、第１の数学的変換および第２の数学的変換を含む、数学的アルゴリズム（複数可）から少なくとも部分的に形成された複合ラッパによって保護されたデータ、メタデータまたは両方を受信することを含んでもよく、第１の基準のセットまたは第２の基準のセットは、暗号キー情報の表現、役割の証拠を主張する情報、データ、メタデータもしくは両方のタイプ、データ、メタデータもしくは両方の関連付けのタイプ、または、少なくとも１つのクレームの保有の証拠を主張する情報のうち、少なくとも１つを含む。
【００２８】
受信することは、検索可能暗号化アルゴリズムから形成された複合ラッパによって保護されたデータまたはメタデータを受信することを含みうる。受信することは、データ、メタデータまたは両方を、第１の制御の領域内のデバイス（複数可）によって、第２の制御の領域内のデバイス（複数可）から受信することを含みうる。
【００２９】
受信することは、データ、メタデータまたは両方を解析すること、および、その解析の出力を暗号キー情報に基づいて暗号化することから形成された、データ、メタデータまたは両方を受信することを含みうる。データ、メタデータまたは両方へのアクセスを求める要求を受信することは、トラップドアデータの暗号トラップドア（複数可）によって定義されたような、データ、メタデータまたは両方への可視アクセスを可能にする、トラップドアデータを受信することを含みうる。
【００３０】
受信することは、データのための第１のラッパを形成する第１の数学的変換、および、メタデータのための第２のラッパを形成する第２の数学的変換を含む、データ、メタデータまたは両方の数学的変換（複数可）から形成された複合ラッパによって保護されたデータ、メタデータまたは両方を受信することを含みうる。
【００３１】
他の実施形態では、受信することは、第１の基準のセットに基づいてデータ、メタデータまたは両方の全部未満をラップする第１のラッパを定義する第１の数学的変換、および、データ、メタデータまたは両方の全部をラップする第２のラッパを定義する第２の数学的変換を含む、数学的変換（複数可）から形成された複合ラッパによって保護されたデータまたはメタデータを受信することを含みうる。
【００３２】
第２のラッパは、第１のラッパによって部分的にラップされたようなデータ、メタデータまたは両方の全部をラップすることができる。受信することは、相補的信頼またはセキュリティ基準を満たすための少なくとも第１のラッパおよび第２のラッパを含む、相補的ラッパによって構成された複合ラッパによって保護されたデータ、メタデータまたは両方を受信することを含みうる。
【００３３】
一実施形態では、データ、メタデータまたは両方の状況が新しい状況に変化する場合、追加のラッパ（複数可）が、新しい状況に関連付けられた新しい基準のセットに適切に、自動的に追加される。あるいは、追加のラッパ（複数可）は、新しい状況に関連付けられた新しい基準のセットに適切に、自動的に除去されうる。または、データ、メタデータもしくは両方の状況が新しい状況に変化する場合、アクセス特権（複数可）を決定することは、能力を生成するエンティティによって付与された限定されない能力に基づいて、アクセス特権を決定することを含みうる。
【００３４】
他の実施形態では、データ、メタデータまたは両方の機密性クラスがより機微なクラスに変化する場合、データ、メタデータまたは両方に対する、より機微なクラスに適した追加のラッパ（複数可）が、自動的に追加されうる。データ、メタデータまたは両方の状況が新しい状況に変化する場合、第１のラッパまたは第２のラッパもまた、新しい状況に関連付けられた新しい基準のセットに適切に変更されうる。データ、メタデータまたは両方の状況が新しい状況に変化する場合、この変化もまた、新しい状況に関連付けられた新しい基準のセットに適切に、第１のラッパまたは第２のラッパを修正することを含みうる。
【００３５】
もう１つの実施形態では、データ、メタデータまたは両方の状況が新しい状況に変化する場合、データ、メタデータまたは両方のうち少なくとも一部は、新しい状況に関連付けられた新しい基準のセットに適切に、第１のラッパまたは第２のラッパのうち少なくとも１つに基づいて、数学的変換によって編集されうる。また、データ、メタデータまたは両方の状況が新しい状況に変化する場合、第１のラッパまたは第２のラッパが削除されうる。または、データ、メタデータもしくは両方が変化する場合、メタデータは、データ、メタデータまたは両方に対する少なくとも１つの変化を記述する変化メタデータにより拡大されうる。もう１つの代替として、データ、メタデータまたは両方が変化する場合、第１のラッパ内のデータ、メタデータまたは両方に対する少なくとも１つの変化を記述する変化メタデータは、ラッパ内でエンコードされうる。異なる代替として、データ、メタデータまたは両方が変化する場合、メタデータは、データ、メタデータまたは両方に対する少なくとも１つの変化を記述する変化メタデータにより拡大されうる。
【００３６】
アクセス特権（複数可）の決定は、少なくとも第２のラッパに対する、少なくとも第１のラッパの定義された階層に基づいて、可視性を評価する順序を決定することを含みうる。例として、アクセス特権（複数可）の決定は、ツリーデータ構造によって定義された階層に基づいて、可視性を評価する順序を決定することを含みうる。
【００３７】
様々な代替として、アクセス特権（複数可）の決定は、可視性を評価する同心の順序（ｃｏｎｃｅｎｔｒｉｃ  ｏｒｄｅｒ）を決定することを含みうる。アクセス特権（複数可）の決定は、可視性を評価する側方の順序（ｌａｔｅｒａｌ  ｏｒｄｅｒ）を決定することを含みうる。アクセス特権（複数可）の決定は、可視性を評価する同心の順序および側方の順序に基づいて、順序を決定することを含みうる。
【００３８】
アクセス特権（複数可）の決定は、第１のラッパを通じた可視性を最初に評価すること、および、能力のセットが、データ、メタデータまたは両方に対するアクセス特権（複数可）を可能にする場合、第２のラッパを通じた可視性を評価することを含みうる。アクセス特権（複数可）の決定は、第２のラッパを通じた可視性を最初に評価すること、および、能力のセットが、データ、メタデータまたは両方に対するアクセス特権（複数可）を可能にする場合、第１のラッパを通じた可視性を評価することを含みうる。
【００３９】
アクセス特権（複数可）の決定は、メタデータの来歴メタデータに適用可能な第２のラッパを通じた可視性を最初に評価すること、および、アクセス特権を要求するエンティティに基づいて、来歴メタデータを拡大することを含みうる。決定することは、メタデータを含む外側のデータのセットに適用された第１のラッパを通じた可視性を評価すること、および、データを含む内側のデータのセットに適用された第２のラッパを通じた可視性を独立して評価することに基づいて、アクセス特権（複数可）を決定することを含みうる。決定することは、データに対応する暗号化されたインデックスに適用された第１のラッパを通じた可視性を評価することに基づいて、アクセス特権（複数可）を決定することを含みうる。
【００４０】
この処理はまた、第１のラッパを通じた、暗号化されたインデックスの選択的アクセスを介して、暗号化されたインデックスをブラインド検索することをも含みうる。
【００４１】
第１のラッパの定義または第２のラッパの定義は、データ、メタデータまたは両方のためのアクセスの速度要件を定義することを含みうる。第１のラッパの定義または第２のラッパの定義は、データ、メタデータまたは両方のための改ざん防止要件を定義することを含みうる。第１のラッパの定義または第２のラッパの定義は、データ、メタデータまたは両方に対して指定された回復の信頼性要件を定義することを含みうる。
【００４２】
システムは、データ、メタデータもしくは両方を発行すること、または、発行されたデータ、発行されたメタデータもしくは両方にサブスクライブすることのうち、少なくとも１つのための能力情報を生成するアクセス情報ジェネレータから独立して実装された、数学的変換技術プロバイダによって少なくとも部分的に配布された数学的変換（複数可）コンポーネントを含んでもよく、数学的変換（複数可）コンポーネントは、アクセス情報ジェネレータによって生成された能力情報に基づいて、少なくとも１つのエンコードアルゴリズムまたはデコードアルゴリズムを行うように構成された少なくとも１つのプロセッサを含む。このシステムは、数学的変換（複数可）コンポーネントによって暗号化されたコンピュータデータ、コンピュータメタデータまたは両方に対するネットワークサービスを実装するように構成された少なくとも１つのプロセッサを含む、アクセス情報ジェネレータおよび数学的変換（複数可）コンポーネントから独立して実装された、ネットワークサービスプロバイダをさらに含んでもよく、ネットワークサービスプロバイダは、数学的変換（複数可）コンポーネントと通信して、コンピュータデータ、コンピュータメタデータまたは両方に適用された少なくとも２つの数学的変換ラッパの生成、再生成、改変、拡大または削除を行うように構成される。
【００４３】
ネットワークサービスプロバイダは、ラッパの生成、再生成、改変、拡大または削除を、そのラッパのための信頼要件のセットのための信頼要件を修正する時間的イベントに基づいて行うように構成されうる。ネットワークサービスプロバイダは、ラッパを生成するために採用された数学的変換技術が信頼要件のセットの信頼要件をもはや満たさないという決定に基づいて、ラッパを再生成、改変、拡大または削除するように構成されうる。
【００４４】
ネットワークサービスプロバイダは、ラッパの生成、再生成、改変、拡大または削除を、そのラッパのための信頼要件のセットのための信頼要件を修正する少なくとも１つの空間的イベントに基づいて行うように構成されうる。ネットワークサービスプロバイダは、ラッパを生成するために採用された数学的変換技術が、ラッパを生成したパーティにもはや適用されないという決定に基づいて、ラッパを再生成、改変、拡大または削除するように構成されうる。
【００４５】
他の実施形態では、信頼できるプラットフォームは、サブスクライバがそれに対して承認される部分に、サブスクライバが選択的にアクセスすることができるように、発行者によって、データを数学的に曖昧化するための変形のフレームワークとして使用される。この点について、プラットフォームは、整合性およびセキュリティを保存しながら、同時にデータを保護するが、また、承認されたサブスクライバへのアクセスを可能にすることにもよって、それ自体の管理人としての機能を果たすデータを達成する。
【００４６】
それ自体の管理人としてのデータは、様々な実施形態および以下の詳細なセクションで説明されるように、プラグ可能サービスを有するフェデレーション信頼オーバーレイにより実装されうる。数学的な難読化、例えば、暗号化を超えるものを達成して、様々な実施形態は、データがどこにどのように格納されるとしても、データの発行者または所有者によって適切に定義されたような機密性および整合性要件をデータが保存するという、ユーザおよびエスクローエージェントデータへのアシュアランスを提供する。この点について、焦点は、データのための境界、パイプおよびコンテナを確保することから、適切な能力（例えば、キー）と共に提示されるとき、データ／メタデータ、または特定のサブセットへのアクセスを可能にする、暗号的に安全な信頼エンベロープのプロビジョニングを通じて、データおよび関連付けられたメタデータを確保することへと移され、または拡大される。
【００４７】
一実施形態では、データをホストするための方法は、第１の制御の領域内のコンピューティングデバイス（複数可）によって、第２の制御の領域内のコンピューティングデバイス（複数可）から、第２の制御の領域内のコンピューティングデバイス（複数可）の定義されたデータセットのためのデータの数学的変換から形成された、曖昧化されたデータを受信することを備えて、提供される。この方法は、第１の制御の領域内のコンピューティングデバイス（複数可）によって、データの解析、および、その解析の出力の少なくとも１つの他の数学的変換から形成された、曖昧化されたメタデータを受信することをさらに備える。次に、曖昧化されたデータおよび／または曖昧化されたメタデータを格納するための少なくとも２つの異種のコンテナタイプを有するコンテナのセットのうち、１つまたは複数のコンテナのいずれかが決定される。
【００４８】
システムの非限定的な実装では、１つまたは複数の数学的変換コンポーネントは、データおよびメタデータを発行すること、または、データおよびメタデータにサブスクライブすることのうち、少なくとも１つのための数学的変換述語情報（例えば、キー情報）を生成するジェネレータから独立して実装される、数学的変換アルゴリズムプロバイダによって少なくとも部分的に配布される。１つまたは複数の数学的変換コンポーネントは、ジェネレータによって生成された数学的変換述語情報に基づいて、少なくとも１つの検索可能データ難読化アルゴリズム（例えば、検索可能暗号化）または検索可能データを明らかにする（例えば、検索可能暗号化解除）アルゴリズムを行う。ネットワークサービスプロバイダは、ジェネレータおよび１つまたは複数の数学的変換コンポーネントから独立して実装され、１つまたは複数の数学的変換コンポーネントによって曖昧化されたデータまたはメタデータに対するネットワークサービスを実装し、ネットワークサービスプロバイダは、少なくとも１つの数学的変換コンポーネントによって曖昧化されたデータまたはメタデータがどこに格納されるかを、ネットワークサービスのデータ待ち時間要件、データ信頼性要件、データ消費からの距離要件、またはデータスケール要件のうち少なくとも１つに基づいて管理する、データコンテナ管理コンポーネントを含む。
【００４９】
管理人としてのデータは、所与のデータのセットのすべてに対する資格を必要とするのではなく、必要とされるとき、または、必要とされると予期されるとき、細かいまたは指定された粒度で、データへのアクセス資格を提供する。クラウドストレージプロバイダの操作スタッフもまた、検出なしにデータの表示、修正、改ざんまたは削除を行うことは、サーバログの維持、または、ストレージ容量などを計画するためのメタデータに対するいくつかの他の限定された操作など、操作スタッフに付与された能力に従って、そのような表示、修正、改ざんまたは削除が明白に承認されない限り、できない。加えて、コンテナレスデータは、改ざん防止を容易にする先を見越したレプリケーションを可能にし、改ざん防止は、そうでなければ従来のシステムが十分に対処することができなかった要件である。
【００５０】
一実施形態では、フェデレーション信頼オーバーレイは、以下のコンポーネントのうち１つまたは複数により達成され、これらのコンポーネントはすなわち、クラウドデータサービス（ＣＤＳ）またはクラウドストレージプロバイダ、クリプト技術プロバイダ（ＣＴＰ）およびキー生成用センタ（ＣＫＧ）である。ＣＤＳは、任意のストレージプロバイダによって提供可能であり、すなわち、コンテナレスデータは特定のコンテナを必要としない。ＣＴＰもまた、任意のパーティがＣＤＳから分離した制御の領域内で動作するならば、ＣＴＰを実装するためのオープンな仕様に基づくか、ＣＴＰの独自の実装に基づくかにかかわらず、任意のパーティによって提供可能である。キー生成機能を分離し、暗号化原理など、数学的原理を公の検査にさらすことは、ＣＴＰの方法に偏向がないままであり、かつ、企業もしくは単一のユーザによって実装可能であり、または、ＣＴＰの専門知識を有するサードパーティに供給可能であるという、信頼を抱かせる。また、独自のバージョン、会社のためのオープンなバージョン、政府もしくは主権者のためのオープンまたは閉ざされたバージョン、基準オープンソースバージョン、または他のカテゴリはすべて、所与のエンティティによる事前にパッケージされた使用または実装のために作成可能である。
【００５１】
ＣＫＧエンティティは、ＣＴＰによって指定された技術に従ってキー情報を生成し、フェデレーション信頼オーバーレイの分離したコンポーネントとしても提供される（ただし、ＣＫＧをまた、ＦＴＯの所与の実装のために望まれた信頼のレベルに応じて、他のコンポーネントと組み合わせることもできる）。様々な実施形態では、ＣＫＧは集中エンティティであってもよいが、本明細書で使用されるとき、「センタ」という語は論理的参照であり、集中エンティティの指示ではなく、よって、ＣＫＧは分散およびフェデレーションされてもよい。ＣＫＧは、単一のエンティティまたは複数のパートナー、例えば、合意されたＣＫＧからのキー交換によって情報を共有し、情報にアクセスするための、複数の製薬会社間のマルチパートナーコラボレーションにサービスすることができる。ＦＴＯにより、したがって、力を分離し、明示権限のない格納された情報、ログまたはアクセスパターンへの洞察を防止することによって、信頼および機密性が維持され、改ざん検出および整合性、例えば、確認もまた可能にされる。例として、サービスプロバイダは、検出なしにデータを修正または削除することができない。非否認を有する監査可能性は、顧客が安心してデータを手放し、誰も偶然または故意にデータに干渉していないことを保証できるようにする。ログもまた、データおよびメタデータと同じ保証を有する。
【００５２】
結果「検証」は、ＦＴＯ実装に含まれうるもう１つの特徴であり、以下でより詳細に説明される。検証は、クラウドが、それが要求されている情報を保留できないこと、例えば、３つのドキュメントを求められたとき、２つのドキュメントを配信するということができないことを保証する。分離の観念はさらに、ＣＫＧ、および、データの検証を行う任意のサービスの分離された実装を考慮することによって、ならびに、アプリケーションサービスプロバイダに付与された能力に基づいて、データまたはメタデータを受信、改変、取得、改変、拡大または削除するアプリケーションサービスプロバイダからデータを分離することによってさえ、取ることができる。このことはまた、アクセス、更新されたセキュリティモデル、更新された役割、時刻などのそのときの最新の特性に従ってアプリケーション能力を維持することの追加された利点をも有する。
【００５３】
様々な実施形態でより詳細に後述されるものなど、上記の特徴の全部または一部でさえをも組み合わせることは、データのクラウドストレージに対する信頼の懸念を和らげる可能性を高める。企業レベルでは、データおよびアプリケーションがクラウド内でホストされる場合であっても、企業はポリシおよび制御実施を粒度の細かい方法で所有することができる。このシステムは、識別メタシステム（例えば、クレーム、識別ライフサイクル管理、アクティブディレクトリなど）など、企業のセキュリティインフラストラクチャとかみ合うことが可能である。企業は、ＦＴＯの実装のうち望ましいだけ多くまたは少ないものに公開されうる。
【００５４】
本明細書で説明されるようなデータサービスのプロビジョニングは、コスト効率の良い、ならびに、安全でプライベートなソリューションを可能にする、ストレージおよび暗号法技術の様々な組み合わせおよび並べ替えを含む。例として、以下でより詳細に説明される様々なオプションの実施形態は、サイズ保存暗号化、検索可能暗号化、および／または、適用の証明（複数可）と呼ばれる暗号技術（一般的な技術を指す）を含む、データ保護技術を実装する。そのような実施形態は、外部委託されたクラウドデータ保護、障害回復または分析論のための新しいビジネスシナリオを可能にする。背景で論じたように、顧客のプライバシーまたはセキュリティの必要性の期待を裏切らなかった方法で、クラウドまたはネットワークデータサービスを実装した従来のシステムはない。
【００５５】
この点について、従来のネットワークサービスのプロビジョニングを囲む信頼の障壁を除くため、上記で識別された目標ならびに後述の様々な実施形態で強調される他の利点を達成する、信頼できるクラウドコンピューティングおよびデータサービスエコシステムまたはフレームワークが提供される。「クラウド」サービスという用語は一般に、サービスがユーザのデバイスからローカルに行われるのではなく、むしろ、１つまたは複数のネットワークを介してアクセス可能な１つまたは複数のリモートデバイスから配信されるという観念を指す。ユーザのデバイスは、１つまたは複数のリモートデバイスで何が起こるかの詳細を理解する必要がないので、サービスは、ユーザのデバイスの観点から、「クラウド」から配信されるように見える。
【００５６】
一実施形態では、システムは、データを発行またはサブスクライブするためのキー情報を生成するキージェネレータを備える。暗号技術プロバイダは、キージェネレータから独立して実装され、キージェネレータによって生成されたキー情報に基づいて検索可能暗号化／暗号化解除アルゴリズム（複数可）を実装する。加えて、ネットワークサービスプロバイダは、キージェネレータおよび暗号技術プロバイダから独立して実装され、暗号技術プロバイダによって暗号化されたデータに対するネットワークサービスを提供する。
【００５７】
一実施形態では、選択的にアクセス可能な、例えば、検索可能な暗号化されたデータを公開するデータストアが提供され、少なくとも１つの発行者が、リソース（複数可）を表すデータをデータストアに発行する。信頼の不正使用の可能性の分割を提供し、第１の独立エンティティは、暗号キー情報の生成を行う。第２の独立エンティティは、第１の独立エンティティによって生成された暗号キー情報に基づいて、格納に先立って、発行されたデータの暗号化をさらに行う。ネットワークまたはクラウドサービスのセットは次いで、リソース（複数可）の発行者（複数可）または所有者（複数可）によって付与された、遅延バインドされた、選択された特権に基づいて、ネットワークサービスに対する所与の要求のために、暗号化されたデータに選択的アクセスを行う。
【００５８】
他の実施形態では、データストアは、選択的にアクセス可能な暗号化されたデータを格納し、サブスクライバ（複数可）は、暗号化されたデータの指定されたサブセットにサブスクライブする。第１の独立エンティティは、そのサブスクライバ（複数可）に関連付けられた識別情報に基づいて、暗号キー情報を生成し、第２の独立エンティティは、第１の独立エンティティによって生成された暗号キー情報に基づいて、指定されたサブセットの暗号化解除を行う。ネットワークサービス（複数可）は、サブスクライバ（複数可）による要求に応答し、指定されたサブセットの発行者または所有者によって付与された、遅延バインドされた、選択された特権に基づいて、暗号化されたデータへの選択的アクセスを提供する。
【００５９】
この点において、発行者およびサブスクライバという用語は一般に、信頼できるクラウドサービスのデータを発行またはサブスクライブする任意の者をそれぞれ指す。しかし、実際には、信頼できるクラウドサービスエコシステムおよびデジタルエスクローパターンの産業、分野または適用に応じて、発行者およびサブスクライバは、より特定の役割を引き受けるようになる。例として、システム全体のデータに関連して、典型的には、少数のグループのサブスクライバのみがデータにアクセスする特権を有するようになる。データに関連した一例では、暗号化されたデータストアの監査者は、コンテンツ自体へのアクセスを許可されることなく、データの監査者の役割に基づいた一定の能力を有して、バックアップの頻度など、一定の要件が満たされることを確かめることができる。
【００６０】
１つの非限定的な実施形態では、データをホストするための方法は、第１の制御の領域内の第１のコンピューティングデバイス（複数可）によって、第２の制御の領域内の第２のコンピューティングデバイス（複数可）から、暗号キー情報に基づいた、検索可能暗号化アルゴリズム（複数可）による、第２のコンピューティングデバイス（複数可）の定義されたデータセットのためのデータの暗号化から形成された、暗号化されたデータを受信すること、第１のコンピューティングデバイス（複数可）によって、データの解析、および、暗号キー情報に基づいたその解析の出力の暗号化から形成された、暗号化されたメタデータを受信すること、および、暗号化されたデータまたは暗号化されたメタデータを格納するための少なくとも２つの異種のコンテナタイプのコンテナから、コンテナ（複数可）を自動的に決定することを備える。トラップドアデータのうち少なくとも１つの暗号トラップドアによって定義されたような暗号化されたデータまたはメタデータへの可視アクセスを可能にする、トラップドアデータが受信される。
【００６１】
暗号化されたデータまたはメタデータが格納されるコンテナ（複数可）は、複数のコンテナの事前定義された条件が満たされる場合、自動的に切り替えまたは変更されうる。例として、あるデータまたはメタデータが顧客にとって高い優先度になる場合、このデータまたはメタデータは、より遅く、より長期のストレージから、アクセス待ち時間が短い、素早いコンテナへと移動されてもよい。または、データもしくはメタデータは、例えば、暗号化されたデータまたはメタデータに関連付けられたストレージサイズに基づく、暗号化されたデータまたはメタデータに対して指定されたアクセスの速度要件に基づく、暗号化されたデータまたはメタデータに対して指定された回復の信頼性要件に基づく、暗号化されたデータまたはメタデータへのアクセスを有する１つまたは複数のデバイスへの近接に基づくなど、他の効率の理由のために、移動、コピーまたは削除されることがある。
【００６２】
もう１つの非限定的な実施形態では、システムは、データおよびメタデータを発行するため、またはデータおよびメタデータにサブスクライブするためのキー情報を生成するキージェネレータから独立して実装された、暗号技術プロバイダによって少なくとも部分的に配布された暗号コンポーネントを備え、暗号コンポーネントは、キージェネレータによって生成されたキー情報に基づいて、データおよびメタデータを検索可能暗号化し、または、データおよびメタデータを検索可能暗号化解除する。
【００６３】
このシステムはまた、キージェネレータおよび暗号コンポーネントから独立して実装され、暗号コンポーネントによって暗号化されたデータまたはメタデータに対するネットワークサービスを提供する、ネットワークサービスプロバイダを含んでもよく、ネットワークサービスプロバイダは、暗号コンポーネントによって暗号化されたデータまたはメタデータがどこに格納されるかを、ネットワークサービスのデータ待ち時間要件、データ信頼性要件、データ消費からの距離要件、またはデータスケール要件に基づいて管理する、データコンテナ管理コンポーネントを含む。キー情報は、暗号コンポーネントによって暗号化されたデータまたはメタデータに対するアクセス特権を定義する能力情報を含みうる。能力情報は、最新のアクセス特権が所与のサブスクライバに付与されるように、遅延バインドされうる。
【００６４】
もう１つの非限定的な実施形態では、コンピューティングシステムは、選択的にアクセス可能な暗号化されたデータまたはメタデータを格納するデータストア（複数可）を備え、発行者は、リソース（複数可）を表すデータまたはメタデータをデータストア（複数可）に発行し、第１の独立エンティティは暗号キー情報を生成し、第２の独立エンティティは、第１の独立エンティティによって生成された暗号キー情報に基づいて、データストア（複数可）への格納に先立って、発行されたデータまたはメタデータを暗号化する。このシステムは、リソース（複数可）の発行者または所有者によって付与された、遅延バインドされた、選択された特権に基づいて、ネットワークサービスに対する所与の要求のために、暗号化されたデータまたはメタデータへの選択的アクセスを可能にする、ネットワークサービスを提供する。この点について、このシステムは、コンテナタイプに対して不可知論的であり、よって、データストア（複数可）は、異種のコンテナタイプのコンテナを含み、データストア（複数可）は、コンテナによって表された現在のストレージリソースの解析に基づいて、選択的にアクセス可能な暗号化されたデータまたはメタデータのストレージを様々なコンテナ（複数可）に渡って自動的に分散させる。
【００６５】
一実施形態では、「データ」は、ＸＭＬペイロードデータ（例えば、テキスト文字列「Ｍｉｃｈａｅｌ  Ｊａｃｋｓｏｎ」）、および、そのペイロードに適用されるＸＭＬタグ情報（例えば、</Name>）を含む、ＸＭＬデータである。ＸＭＬタグ情報は、ＸＭＬデータの検索可能暗号化および選択的暗号化解除に関連する追加のメタデータにより拡大されうる。この点について、ＸＭＬタグをこのように適用することは、構造化ＸＭＬデータのための「信頼エンベロープ」を作成して、暗号キー生成エンティティ（ＣＫＧ）および暗号技術提供エンティティ（ＣＴＰ）のフェデレーションを活用して、機密性、プライバシー、匿名性、改ざん検出および整合性のような、様々な範囲の信頼保証を提供する。上述のように、ＸＭＬデータまたはメタデータに関する本明細書の実施形態のいずれもまた、限定されないが、ＪＳＯＮ、Ｓ−Ｅｘｐｒｅｓｓｉｏｎｓ、ＥＤＩ、その他など、他のフォーマットにも適用可能であり、よって、ＸＭＬは単に、ここで説明される実施形態において例示のために使用されるに過ぎない。
【００６６】
ＸＭＬデータはまた、より大きいドキュメントの分散されたほんの一部である場合、他の関連する断片を探し出すためのマニフェスト情報をエンコードすることもできる。異なるコンテナに渡る分散が起こる方法のため、すなわち、１つまたは複数の中間レイヤが特定のコンテナのストレージ詳細を扱うので、実装は技術に依存しない（任意のＣＫＧ／ＣＴＰが使用可能である）。また、信頼ラッパ以外に、実装は、検索可能暗号化および検証または確認に加えて、任意の数のラッパが適用可能である点で、また、新しいラッパ技術が適用可能になるとき、オープンエンドである。タグはまた、一貫性、証跡などを調節する助けとなる、前から存在するデータおよびメタデータの上に（または、メタデータを拡大することによって）追加可能でもある。
【００６７】
データ／情報がＸＭＬフォーマットである場合、データが選択的にクエリされて、ＸＭＬ断片へのアクセスを得ることができるように、これらの技術またはラッパのいずれかを構造化ＸＭＬデータに適用することができる。今日、ＸＭＬは、<タグ「値」>または<タグ「値」|ＸＭＬ終了タグ>である標準フォーマットを有する。有利には、構造化ＸＭＬドキュメントでは、デジタルエスクローパターンに固有であるＣＫＧ／ＣＴＰ「フレーム」をポイントするようになる外側ラッパがあるように、構造を階層的に表現するための方法（複数可）がある。そのため、埋め込まれた断片へのアクセスの必要性または要望があるとき、その<CKG>および<CTP>ラッパによる既存の信頼を活用することができ、または、新しい信頼のセットを新しいＣＫＧ／ＣＴＰフレームにより確立することができる。
【００６８】
これは、標準の公開キーインフラストラクチャＰＫＩを通じて提供されうるが、選択される特定の方式は、本明細書で説明される技術において非限定的であると見なされるべきである。この点について、どのような特定の暗号化技術のセットが選択されるとしても、本明細書で説明される実施形態は、ユーザが、暗号化されたデータまたはメタデータのセグメント、サブセットまたは一部を検索、抽出および暗号化解除できるようにする。加えて、データ保有の公開証明（複数可）機構（デバイスに代わって実行する、信頼されたサードパーティ）が実行されて、アクセスされている特定のＸＭＬセグメントが、最初に作成されて以来、改ざんされていないことを確認することができる。
【００６９】
本質的に、ＸＭＬ断片またはフルレコード（例えば、「ペイロード」）のための「信頼できるエンベロープ（ｔｒｕｓｔｗｏｒｔｈｙ  ｅｎｖｅｌｏｐｅ）」は、限定されないが、機密性、プライバシー、匿名性および整合性のような全範囲の信頼保証を信頼が実行できるようにする、様々な「デコレーション」を通じて提供される。
【００７０】
信頼できるエンベロープの一部としてＸＭＬタグ情報内で表されうる情報のタイプの一例として、ＸＭＬドキュメントの断片を、様々なレベルの機微性について指定することができる。例えば、公開、秘密および最高秘密段落を有するドキュメントが存在することがある。検索を行い、秘密クリアランスによるアクセスを要求する人は、公開および秘密段落へのアクセスのみを得るようになる。段落の分類はまた、暗号化機構、キーおよびアクセスポリシを決定するためにも使用可能である。例えば、最高秘密コンテンツには無線またはリモートデバイスからアクセス不可能であるという、ポリシを実装することができる。
【００７１】
同様に、このような分類は、データがどのように格納可能であるか、どこに格納可能であるか、どのくらい長く格納可能であるかなどについてのポリシを作成するために使用可能である。例えば、（機微な）医療データが１日１回、ＡＥＳ２５６暗号化を使用して、信頼できるデータセンタ内の安全なサーバへバックアップされなければならないことを必要とする、ポリシを作成することができる。
【００７２】
一実施形態では、拡張マークアップ言語（ＸＭＬ）データをホストするための方法は、第１の制御の領域内の第１のコンピューティングデバイスが、第２の制御の領域内の第２のコンピューティングデバイスから、暗号化されたＸＭＬペイロードデータおよび暗号化されたＸＭＬタグを含む暗号化されたＸＭＬデータを受信することを含む。暗号化されたＸＭＬデータは、暗号キー情報に基づいた、検索可能暗号化アルゴリズム（複数可）による、第２のコンピューティングデバイスの定義されたＸＭＬデータセットの暗号化から形成される。データを求める要求は、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグのうち少なくとも一部にアクセスするため、および、能力（複数可）によって定義されたような暗号化されたＸＭＬデータへの選択的アクセスを可能にするための、特権（複数可）を定義する暗号キー情報に基づいた能力（複数可）を含む。
【００７３】
いくつかの実施形態が、ＸＭＬデータの暗号化に関連して説明されるが、任意の数学的変換、または、ＸＭＬデータの曖昧化が使用されうる。例として、一実施形態では、ＸＭＬデータは、複数の異なるストレージ場所に渡ってＸＭＬデータを分散させる、実質的に推測できないデータ分散アルゴリズムによって分散される。マップが維持され、アクセスがそのマップに対して許可される場合、そのマップは、それに対して要求側エンティティが特権を有するデータの関連部分の再構築を可能にする。この点について、暗号化に関連して本明細書で説明される実施形態は、よって、アクセス特権なしにデータを隠す方法で、データを曖昧化するか、または他の方法でエンコードする、任意のアルゴリズムまたは数学的変換に一般化されうる。
【００７４】
能力（複数可）は、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグに選択的にアクセスするための暗号トラップドア（複数可）を含む、トラップドアデータを含みうる。暗号化されたデータは、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグの解析から形成された、補助の暗号化されたメタデータを含む。例として、公開、秘密または最高秘密の機密性レベルラベルは、断片毎のベースでＸＭＬドキュメントの各ペイロード要素に適用可能であり、ＸＭＬドキュメントの部分へのアクセスを中心とした高度に粒度の細かいポリシを達成するために、補助の暗号化されたメタデータ内に含まれうる。
【００７５】
もう１つの実施形態では、検索可能暗号化されたＸＭＬデータにサブスクライブするための方法は、暗号キー情報を、サブスクライバデバイスに関連付けられた識別情報に基づいてその暗号キー情報を生成するキー生成コンポーネントから受信すること、サブスクライバデバイスによって、検索可能暗号化されたＸＭＬデータおよび対応するタグデータのためのストレージプロバイダに暗号キー情報を送信することを含む、検索可能暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを要求すること、および、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを、暗号キー情報内で定義された能力によって可能にされたように暗号化解除することを含む。
【００７６】
暗号化されたＸＭＬデータのＸＭＬ断片毎に、対応する暗号化されたＸＭＬデータの機密性のレベルを表すＸＭＬタグデータを暗号化解除することができ、能力が、その機密性のレベルを有するデータへのアクセスを可能にするかどうかを、判定することができる。これには、オープンなアクセス特権を有する公開レベルの機密性、または、ポリシに一致して定義されたように、それほどオープンではない秘密レベルの機密性が含まれる。
【００７７】
この方法は、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータの正確なサブセットが、要求側と一致するサブスクライバデバイスによって受信されることを、検証することを含みうる。検証することの一例は、データ保有の証明（複数可）（Ｐｒｏｏｆ（ｓ）  ｏｆ  ｐｏｓｓｅｓｓｉｏｎ）を行って、正確なサブセットがサブスクライバデバイスによって受信されることを証明することを含む。この方法はまた、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットのコンテンツが、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを受信することに先立って削除または修正されなかったことを、確認することをも含みうる。確認することの一例は、取得可能性の証明（複数可）を行って、コンテンツへの干渉がないことを証明することを含む。他のオプションの特徴の中でも、暗号化されたＸＭＬデータまたはキー情報へのアクセスを要求するとき、サブスクライバデバイスに関連付けられた資格情報を匿名にすることを適用することができる。
【００７８】
もう１つの実施形態では、拡張マークアップ言語（ＸＭＬ）データを発行するための方法は、暗号キー情報を生成する分離したキージェネレータから受信された暗号キー情報に基づいて、検索可能暗号化アルゴリズム（複数可）に従ってＸＭＬデータを暗号化して、暗号化されたＸＭＬタグ情報を含む暗号化されたＸＭＬデータを形成すること、および、暗号化されたＸＭＬデータを、暗号化されたデータのストレージのために、ネットワークサービスプロバイダへ送信することを含んでもよく、暗号化されたデータは、要求側デバイスの識別情報に基づいて要求側デバイスに付与された、選択された特権の遅延バインディングによって、選択的にアクセス可能である。暗号化することは、ＸＭＬデータの暗号化を行う発行側デバイスの識別に基づいて暗号キー情報を生成する、分離した制御の領域内で実行するキージェネレータから、暗号キー情報を受信することを含みうる。
【００７９】
もう１つの実施形態では、拡張マークアップ言語（ＸＭＬ）データにサブスクライブするための方法は、サブスクライバデバイスによる、暗号化されたＸＭＬタグを含む、検索可能暗号化されたＸＭＬデータのサブセットを求める要求に応答して、暗号キー情報を、そのサブスクライバデバイスに関連付けられた識別情報に基づいてその暗号キー情報を生成するキー生成コンポーネントから受信すること、および、暗号キー情報内で定義された、そのサブスクライバデバイスに付与された特権に応じて、暗号化されたＸＭＬデータのサブセットを暗号化解除することを含む。
【００８０】
様々な技術は、サブスクライバデバイスによって、暗号化されたＸＭＬデータのサブセットのデータ項目に関して、正確なデータ項目が受信されるという証明を要求することを含んでもよく、要求することは、サブスクライバデバイスによって要求された、暗号化されたＸＭＬデータのサブセット内のデータ項目が正確であることを、サブスクライバデバイスに証明する情報を受信することを含みうる。様々な技術は、暗号化されたＸＭＬデータのサブセットが、サブスクライバデバイスによる要求に先立って干渉されていないという証明を要求することを含んでもよく、要求することは、暗号化されたＸＭＬデータのサブセットが、サブスクライバデバイスによる要求に先立って干渉されていないことを、サブスクライバデバイスに証明する情報を受信することを含みうる。
【００８１】
さらにもう１つの実施形態では、システムは、選択的にアクセス可能な暗号化されたＸＭＬペイロードデータ、および、暗号化されたＸＭＬペイロードデータに対応する、対応する暗号化されたＸＭＬタグデータを格納する、データストア（複数可）を含み、サブスクライバは、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグデータのサブセットへのサブスクリプションを要求し、第１の独立エンティティは、そのサブスクライバに関連付けられた識別情報に基づいて暗号キー情報を生成し、第２の独立エンティティは、第１の独立エンティティによって生成された暗号キー情報に基づいてサブセットの暗号化解除を行う。このシステムは、サブスクライバによる要求を取り扱うために、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグデータのサブセットへの選択的アクセスを提供する、ネットワークサービスをさらに含む。このシステムは、暗号化されたＸＭＬペイロードデータもしくは暗号化されたＸＭＬタグデータのサブセットが、サブスクリプションと一致する正確なサブセットであることを検証するように、かつ／または、暗号化されたＸＭＬペイロードデータもしくは暗号化されたＸＭＬタグデータのサブセットが、暗号化されたＸＭＬペイロードデータもしくは暗号化されたＸＭＬタグデータのサブセットへの選択的アクセスに先立って、承認なしに改変もしくは削除されていないことを確認するように構成されうる。
【００８２】
もう１つの実施形態では、システムは、ＸＭＬデータおよび対応するタグデータを発行するため、または、ＸＭＬデータおよび対応するタグデータにサブスクライブするためのキー情報を生成するキージェネレータから独立して実装された、暗号技術プロバイダによって少なくとも部分的に配布された暗号コンポーネントであって、キージェネレータによって生成されたキー情報に基づいて検索可能暗号化／暗号化解除アルゴリズム（複数可）を行うように構成されたプロセッサを含む、暗号コンポーネントと、暗号コンポーネントによって暗号化されたＸＭＬデータまたは対応するタグデータに対するネットワークサービスを実装するように構成されたプロセッサを含む、キージェネレータおよび暗号コンポーネントから独立して実装された、ネットワークサービスプロバイダとを含む。キー情報は、「遅延バインド」された能力情報を含み、それにより、最新のアクセス特権が、ＸＭＬデータまたは対応するタグデータへの所与のサブスクライバに付与される。
【００８３】
これらおよび他の様々な例示的、非限定的な実施形態およびシナリオのさらなる詳細は、以下で提供される。
ラッパ複合を通じた確認可能な信頼
背景において示唆したように、サービス組織によって所有されたリモートサイトでの機微な企業データの維持は、そのデータを、プライバシー侵害からデータ損失に及ぶリスクにさらす可能性がある。本明細書で様々な実施形態について説明されるように、データのための数学的変換技術を含む、ネットワークまたはクラウドデータサービスは、その中でデータが格納、処理、アクセスまたは取得されうるコンテナ（複数可）からデータ保護要件を切り離す方法で、信頼を複数のエンティティに渡って分散させて単一データ危殆化点を回避する方法で提供される。一実施形態では、アクセス情報ジェネレータ、数学的変形技術プロバイダ、および、クラウドサービスプロバイダは、それぞれ分離したエンティティとして提供され、データの発行者がデータを機密として（例えば、暗号化された状態で）クラウドサービスプロバイダに発行するための信頼できるプラットフォームが可能となり、サブスクライバの能力に基づいて、承認されたサブスクライバに対して、変換されたデータへの選択的アクセスが可能となる。複数の変形ラッパまたはレイヤは、データ、メタデータまたは両方を全体的または部分的に変換して、データ、メタデータまたは両方の一部または全部の数学的変形（例えば、暗号化する、ストレージに渡って分散させる、曖昧化する）を行い、または、他の方法でそれらに対する可視性の欠如を導入することができる。
【００８４】
本開示の様々な実施形態は、十分に信頼されないサーバ、サービスまたはクラウド上のデータのストレージを含み、または、十分に信頼されないことがある制御の領域を通じてデータを交換する、アプリケーションを有する、ラッパ複合と呼ばれる技術のファミリを通じて、確認可能な信頼を提供する。データ上のラッパまたはエンベロープに適用されて、データのセキュリティおよびプライバシーに対する高レベルの信頼の確立を容易にすることが可能である、暗号技術または「デコレーション」のいくつかの他の例には、限定されないが、サイズ保存暗号化、検索可能暗号化、適用の証明（複数可）、ブラインドフィンガープリント、取得可能性の証明（複数可）などが含まれる。本明細書の実施形態のいくつかでは、候補データは、「コンテンツ」と呼ばれる。
【００８５】
確認可能な信頼は、限定されないが、暗号化、署名、暗号ハッシングおよびインタラクティブ証明のための暗号技術が含まれうる技術を通じて、匿名性、プライバシーまたは整合性など、保証を提供するための能力である。関連付けられたクラスの適用可能な暗号および他の技術による、他のクラスの保証がある。解説を容易にするため、我々は、以下のテキストにおいてすべてのこれらの技術を「暗号」と称する。
【００８６】
コンテンツまたはデータを保護するため、かつ、確認可能な信頼を提供するための、多数の従来の暗号および他の方式は、受信者または閲覧者が適切なキー、または、アクセスを得るための他の機構を有することを必要とする、「全か無か」の手法に依拠していた。
【００８７】
新生の方法およびシステムは、「選択的不透明性」を提供することができ、このコンテンツへのアクセスを有するパーティは、そのコンテンツにおいて制限されたアクションを行うための委任された能力を備えることができる。これらのアクションは、キー、または、役割もしくはクレームの保有の証明を含む基準に基づいて、選択的アクセスを有することを含みうる。
【００８８】
これらのアクションはまた、そのコンテンツの制限された表示を持ち続けながら、検索、ルーティングおよびワークフローを含む可能性がある、そのコンテンツにおける様々な範囲のアクションを行うための能力をも含んでもよい。このような技術の一例は、研究文献において「検索可能暗号化」と呼ばれる。
【００８９】
以下の解説において概略が述べられる、シナリオ多様性、暗号法もしくはシステムにおける限定を含み、または、異種のポリシおよび関係者の確認可能な信頼要件によって複雑にされた、複数の理由の組み合わせがある。既存の技術および実装は、システムおよび操作上の柔軟性および動的構成を提供する方法で、これらの多様な必要性を満たすことができない。我々は、短命でありうる疎結合のラッパを説明し、あらゆるシナリオの必要性に基づいて、サポートの、ラッパの動的な追加および除去を提供する。
【００９０】
図１は、一実施形態における、複合ラッパを採用するストレージ内でデータ、メタデータまたは両方を発行またはサブスクライブするためのシステムを例示するブロック図である。分散された信頼プラットフォームによれば、数学的変形コンポーネント（複数可）１００は、アクセス情報ジェネレータ（複数可）１０２を含む。アクセス情報は、隠されたかまたは他の方法で分散されたデータ、暗号キー情報、または他の能力の部分を再構築するためのストレージマップでありうる。また、含まれるものは、数学的変形技術プロバイダ（複数可）１０４である。コンポーネント（複数可）１００は、発行者またはサブスクライバによってデータを発行１１０またはサブスクライブ１１２するために使用される。ネットワークサービスプロバイダ（複数可）１２０は、ストレージ１３０に格納されたデータ１５０および／またはメタデータ１５２とのインタラクションを容易にする。この点について、ラッパ（複数可）１４０は、データ１５０、メタデータ１５２または両方に適用可能であり、これらのラッパ１４０は、システム内の変更または命令に対応するように、生成、再生成、削除、拡大、改変、または他の方法で変更されうる。
【００９１】
図２は、一実施形態における、複合暗号化ラッパを採用するストレージ内でデータ、メタデータまたは両方を発行またはサブスクライブするためのシステムを例示するブロック図である。分散された信頼プラットフォームによれば、数学的変形コンポーネント（複数可）２００は、暗号キージェネレータ（複数可）２０２を含む。また、含まれるものは、暗号技術プロバイダ（複数可）２０４である。コンポーネント（複数可）２００は、発行者またはサブスクライバによってデータを発行２２０またはサブスクライブ２２２するために使用される。ネットワークサービスプロバイダ（複数可）２２０は、ストレージ２３０に格納されたデータ２５０および／またはメタデータ２５２とのインタラクションを容易にする。この点について、クリプトラッパ（複数可）２４０は、データ２５０、メタデータ２５２または両方に適用可能であり、これらのラッパ２４０は、システム内の変更または命令に対応するように、生成、再生成、削除、拡大、改変、または他の方法で変更されうる。
【００９２】
図３は、同心複合ラッパの例示的な例であり、外側ラッパ２  ３３０は、内側ラッパ１  ３２０をオーバーレイし、その両方は、データ３００、メタデータ３１０または両方を数学的変形（例えば、それらの可視性を低減）する。ラッパ３２０および３３０は、データ３００、メタデータ３１０または両方の全部を保護し、ラッパ１  ３２０は、内側ラッパとして、ラッパ２  ３３０、外側ラッパを通じた可視性のために適した能力が提示されるまで、可視ではない。
【００９３】
図４は、側方ラッパを有する複合ラッパの例示的な例である。側方ラッパ４２０および４３０では、データ４００、メタデータ４１０または両方の全部が、関連付けられた変形によって不可視にされるとは限らない。むしろ、データ４００、メタデータ４１０または両方内の所望の部分または項目が曖昧化されるのに対して、他の部分は可視のままでありうる。
【００９４】
図５は、一実施形態における、同心および側方ラッパを共に有するハイブリッド複合ラッパの例示的な例である。この点について、図５は、一実施形態において組み合わせられた図３および４のラッパの一例であり、いくつかのラッパ３２０および３３０は、データ５００、メタデータ５１０または両方の全部をラップし、いくつかのラッパ４２０および４３０は、データ５００、メタデータ５１０または両方の部分（隣接する必要はなく、任意のサブセット定義に適合可能）をラップする。この点において、どのラッパが最初にまたは互いに独立してアンラップされるかの階層は、階層を維持する任意のデータ構造によって表現されうる。
【００９５】
図６は、一実施形態における、データに関連付けられたアクセスログメタデータに関連した、側方ラッパの使用のブロック図である。データ６００がアクセスログ６０２（例えば、来歴データ）を含みうる、側方ラッパの使用の一例として、側方ラッパ６２０は、あるデータ６００を保護し、側方ラッパ６２２は、アクセスログ６０２を保護する。したがって、データの全部が所与のラッパによって保護されるわけではなく、異なる標準がデータ項目の異なる部分に適用可能であり、またはまったく適用されない可能性がある。図６は、加えて、追加の完全ラッパ６３０が、追加の保護のレイヤとして、部分ラッパ６２０、６２２上に適用可能であることを例示する。
【００９６】
図７は、どのようにデータが削除されたかがメタデータ内でエンコードされる、一実施形態における、アクセス情報を破棄または細断することによるデータの有効な削除のブロック図である。この点について、データ７００またはメタデータ７１０または両方の上のラッパ７２０をアンラップするのではなく、このようなシステムにおいてデータを削除するための１つの方法は、アクセス情報ジェネレータ（複数可）７０２によって生成されたアクセス情報を単に破棄または細断することであり、それ以後、データ７００またはメタデータ７１０には、そのような情報なしにアクセスすることができない。しかし、システムが、削除について、いつまたはどのように削除が起こったかについてのある情報を記録することを選択する場合、情報はなお、データ７００、メタデータ７１０または両方について保存されうる。
【００９７】
図８は、データがスクランブルをかけられ、そのスクランブリングについての情報が複合ラッパの、ラッパの内側または外側のメタデータ内に記録される一例を、追加として例示するブロック図である。この例では、ラッパ（複数可）８２０によって保護されたようなデータ８００、メタデータ８１０または両方には、スクランブルをかけることができ、使用されたアルゴリズムについての情報を、メタデータ８１０もしくは外部メタデータ８１２に追加し、または、データに何が起こったかの機関の知識のために、ラッパ（複数可）８２０のうち１つにおいてエンコードすることさえできる。したがって、アクセス情報ジェネレータ（複数可）８０２によって生成されたアクセス情報を破棄すること、または、スクランブリングは共に、システム内のデータを有効に削除するために使用されうる。
【００９８】
図９は、ラッパの除去の代替として、ラッパによって曖昧化されたデータ、メタデータまたは両方を表示する能力を分配する結果となる、ポリシの変更のブロック図である。この例では、ラッパ保護にもかかわらず、保護されたデータ９００、メタデータ９１０、または両方を「保護解除」するための方法が与えられる。例として、ポリシ変更９０４に基づいて、アクセス情報ジェネレータ（複数可）９０２は、要求側エンティティへのコストなしに、ラッパ９２０を通じて、データ９００、メタデータ９１０または両方の全部または一部を表示するための能力を単に生じる。これは、コストの高いアンラップオペレーションが行われる必要がないように、既存のアーキテクチャを活用する。
【００９９】
図１０は、命令または状態の変化に基づいた、ラッパの自動的なアンラップ、生成、改変、再生成または拡大のブロック図である。この例は、状態１０４０の変化、または、ネットワークサービスプロバイダ１０３０からの明示的な命令が、データ１０００、メタデータ１０１０または両方を保護するラッパ１０２０への変更を自動的にトリガする可能性があることを例示する。例として、データがある年齢に達するとき、ラッパは自動的にアンラップされうる（例えば、その関連性が満了した後、再度、平文でのデータ）。もう１つの例として、例えば、データに関連（例えば、機密）があるようになるとき、ラッパ１０２０が生成されうる。ラッパ１０２０はまた、危殆化が発生したと信じる理由がある場合、異なるエンコードにより再生成されてもよい。もう１つの例として、ラッパは改変可能であり、例えば、異なる変換を、ラッパ、または、使用された数学的変換の異なるパラメータにおいて使用することができる。
【０１００】
図１１は、１つまたは複数の側方ラッパ変形を使用して、データの編集のタスクを行う、例示的な例である。例として、編集側方ラッパ１１２０は、データ１１００から会社の名称または日付を編集するために使用可能であり、または、一定のキーワードが、メタデータ１１１０から編集されうる。もう１つの例として、データは編集ラッパ１１２０により編集されるが、コンプライアンスメタデータラッパ１１３０によって曖昧化されたようなメタデータ１１１０内で何が編集されたかまたはいつかについての一定の情報を、データ１１００内で何が編集されたかについて何かを知る必要がある者のために記録することが可能である。
【０１０１】
図１２は、一実施形態における、複合ラッパによってラップされたような、データ、メタデータまたは両方をホストするための例示的、非限定的な処理の流れ図である。
【０１０２】
１２００で、データもしくはメタデータ、または両方が受信され、第１の基準のセットに基づいてデータ、メタデータまたは両方のための第１のラッパを定義する第１の数学的変換、および、第２の基準のセットに基づいてデータ、メタデータまたは両方のための第２のラッパを定義する第２の数学的変換から形成された、複合ラッパによって保護される。
【０１０３】
１２１０で、複合ラッパによって保護されたようなデータ、メタデータまたは両方へのアクセスを求める要求が、その要求に含まれた能力のセットに基づいて受信される。１２２０で、能力のセットに基づいて、データ、メタデータまたは両方のためのアクセス特権（複数可）が、第１のラッパを通じた可視性を評価すること、および、第２のラッパを通じた可視性を独立して評価することに基づいて、決定される。１２３０で、潜在的にシステムの状況が変化し、または、変更を明示的に要求する命令が受信される。１２４０で、状況変化または命令に基づいて、新しい基準のセット（ＱｏＳ要件、コンテンツまたはメタデータのタイプ、コンプライアンス要件など）に基づいて、第１のラッパもしくは第２のラッパが変更、削除もしくは拡大され、別のラッパが生成され、ラッパが削除されるかもしくは元に戻され、同じかもしくは他の数学的変形によるラッパが再生成され、または、第１のラッパもしくは第２のラッパを管理するポリシが変更される、などとなる。
【０１０４】
本明細書で説明される技術の多数は、保護されるべき実際のコンテンツを含む「内側」ペイロード、および、研究文献において「キーワード検索による公開キー暗号化」と呼ばれるものなど、ブラインド検索技術が容易にできる内側データを記述する、暗号化されたインデックスを含む「外側」ペイロードを含む可能性がある、保護の階層に依拠する。
【０１０５】
実際には、この「内側」および「外側」の言及は、文字通りの含有を暗示することがあり、「内側」ペイロードへのアクセスには、暗号化解除などの技術を通じて、「外側」ペイロードまたはラッパをロック解除することが必要となる。しかし、これはまた、実際の含有はないが、外側ラッパをデコードしなければ、内側ペイロードを探し出す、または再構成することが困難である、仮想概念でもありうる。
【０１０６】
前文で示唆されたこの困難さは、暗号技術によって導入された計算の複雑性か、もしくは他の数学的変形によるものであり、または、所有権および制御の領域を通じた内側および外側コンテンツの分離を提供するシステム技術による可能性があり、または、分散および再構成を最適化するシステム技術に結合された暗号分散技術を活用する組み合わせでありうる。
【０１０７】
確認可能な信頼を提供するためにラッパの階層を作成するためのいくつかの理由があり、それらの理由のいくつかが上述された。これらには、組織階層など、現実世界において見られる自然な階層に基づいて、選択的不透明性を提供することが含まれる。他の理由には、現実世界の実装がより容易にできる複合物を提供する方法で、異種の暗号技術を相補的プロパティ暗号またはシステムプロパティと組み合わせる能力が含まれる。
【０１０８】
確認可能な信頼のための要件を修正する時間的または空間的イベントに対処するラッパを追加または除去するが、内側ラッパまたはペイロードが変わらないままであることを必要としない方法で行うための多数の他の理由がある。
【０１０９】
時間的イベントは、これらのラッパを生成するために採用された暗号技術が、ハードウェア、ソフトウェアまたは科学における進歩により、保証を提供するそれらの能力を弱めていたかもしれないという推定または仮定を含みうる。システムは、スケジュールによって、オンデマンドで、または他のトリガによって、新しいラッパを生成することによって、この障害を受け入れて、確認可能な信頼のより長期のプロビジョニングを促進するように構築されうる。
【０１１０】
空間的イベントには、おそらくガバナンス、法的、規制のコンプライアンスを含む理由のために、異種の暗号技術を選択するための理由がありうるコンテンツを取り扱っている複数のパーティに渡る、保有または所有権の移転が含まれることがあり、主権エンティティおよび管轄区域の境界を超えるとき、特に注目すべきである。システムは、能力をゲートウェイに、または、ラッパに直接、または、あるハイブリッドな方法で埋め込み、ラッパが新しい保有者または所有者のルールを反映するポリシに基づいて具現化または希薄にされるようにするように構築されうる。
【０１１１】
文字通り、階層的識別に基づいた暗号化、属性に基づいた暗号化、および述語（または関数の）暗号化を含む、自然な階層をモデリングすることができる、確認可能な信頼を提供することを試みる技術がある。全準同形写像（ｆｕｌｌ  ｈｏｍｏｍｏｒｐｈｉｓｍ）など、暗号技術プロパティを通じた仮想的な方法で、ラッパを具現化する本質的な能力を提供する技術もある。これらの技術の存在下で、確認可能な信頼からシステムまでに及ぶ可能性のある他の理由のため、上記のようなラッパを通じて構成する必要があり続ける可能性がある。
【０１１２】
ラッパを構成するための暗号の理由には、より強力な保証またはアクセスに対するより細かい粒度の制御を提供する内側ラッパ、および、敵対者に対する情報漏れはより少ないが、より粗い粒度の制御およびより弱い保証を提供する外側ラッパを通じて、構成可能である技術に一致する必要性が含まれる。したがって、この複合物は、保証および制御のより最適な混合を提供する。
【０１１３】
システムの理由には、性能およびスケールが含まれうる、変化するプロパティを有する技術に一致する必要性が含まれうる。そのようなシナリオでは、外側ラッパは、機能性におけるある限定があるにもかかわらず、より高いレベルの性能およびスケール、ならびに、おそらくはより低い性能およびスケールを有する、拡大されたかまたは相補的な機能性を有する内側ラッパを提供する技術から、構築可能である。
【０１１４】
実際には、新生の暗号技術は、ますます高まるレベルの能力を提供するが、性能およびスケールを犠牲にする場合が多い。また、これらの新生の技術においては、典型的には、これらの新生の技術が解析、精緻化および規格化されるにつれて経時的に消失する、信頼の欠如もある。また、経時的に、我々は、これらの技術を、着実により効率的なソフトウェアもしくはハードウェアの方法、またはそれらの組み合わせで実装することを学習する。
【０１１５】
ラッパは、内側または外側ラッパのいずれかが、任意の単一のラッパを実装する技術における既知もしくは未知の弱点もしくは欠陥、または、本質的な特徴の欠如を補償することができる、「セイフティネット」を提供する方法で、これらの新しい技術の楽観的な活用を容易にする。例えば、外側のラッパは、キーワードプライバシーおよび高性能を提供することができるが、より粗い粒度のアクセス制御を有するか、またはそれがないことがある。このことは、キーワードプライバシーを提供しないが、より細かい粒度のアクセス制御を、場合によってはより高い性能およびスケールという不都合を有して達成する、内側ラッパにより補足されうる。
【０１１６】
外側ラッパは、検索、ルーティングまたはワークフローについて選択を行う可能性がより高い点で、「誤検知」について最適化されるようになる場合が多い。このことは、現実世界の組織において、より高い、または、許可の階層を含むことを反映する可能性がある。しかし、対応する内側ラッパは、この結果を階層内の内側レイヤのために特化するようになる。例えば、外側ラッパは、ある大学の数学部にとって適したものとなるすべての結果の成果を得る可能性があるが、内側ラッパは、整数論の数学者にとって関心のあるものとなる結果のみにおいてフィルタリングする可能性がある。
【０１１７】
他の理由は、ラッパのために存在する。これらには、シナリオ特有の確認可能な信頼保証を提供する必要性が含まれる。例えば、特定のキーワードの存在の知識から保護することが重要ではないシナリオのファミリが存在することがあり、場合によっては、その理由は、これらのキーワードのドメインが、辞書またはキーワード推測攻撃を計算上、非現実的にするために十分大きいため、または、これらのキーワードの漏れが、そのシナリオによって低く見なされるリスクであるためである。
【０１１８】
その一方、これらのキーワードが高度に機微である他のシナリオのファミリが存在することがあり、データ所有者（または、所有者のビジネス、ソーシャル、サポートまたはコンシューマネットワーク）は、そのデータの現在の保有者（サーバ、サービス、クラウドまたは他のパーティなど）が操作を加えているこれらのキーワードについてさらに何かを学習することなく、あるアクションを行って、他のオペレーションを検索すること、次いで取得もしくはルーティング、または行うことを含む、アクションを行うことを望む。
【０１１９】
さらに、多数の現実世界のシナリオのファミリでは、コンテンツは、「高度に機微な」から「破棄可能」までに及ぶ連続体に参加する、複数のコンポーネントを含む複合物である。典型的には、任意の現実世界の組織がこれらの異種の要件を反映し、これらの異種の要件は、格納、交換、または共同して操作を加えられる複合コンテンツにおいて反映される。
【０１２０】
さらに、複数のビジネスが組織的な、規制のコンプライアンス、主権エンティティまたは他の境界に渡って共同する多数のエクストラネットシナリオを含む、これらの共同シナリオの多数では、パーティによってアクセスされているコンテンツの分類は、所有者によって、所有側パーティとアクセス側パーティの間の現在のビジネスもしくは契約上の関係、または、履歴および信頼に基づいて、連続体内のあるポイントにマップするように見なされるようになる。さらに、この関係およびマッピングは、短命になる可能性があり、おそらく、特定のビジネスのトランザクションまたは社会的なインタラクションの粒度まで下がりうる。
【０１２１】
暗号およびシステムの技術のあらゆる予測可能な状態では、確認可能な信頼要件、また、性能およびスケールを含むようになるシステム要件、および、以前に示唆されたものを含みうる他の要件をすべて満たす、複数のシナリオに渡る要件の範囲を満たすようになる、単一のソリューションを設計することは、非現実的であると思われるであろう。これにより、これらのソリューションをスケールで配信する複雑性および結果として生じるコストにより、高い開発、保守および操作上の負荷をサーバ、サービス、クラウドおよび他の配信に課す可能性があり、通常は、典型的にはエンドユーザへ転送される商品のコストが高くなることにつながる。
【０１２２】
本開示で概略が述べられるものを含む技術は、暗号および／またはシステムの観点から最適であると見なされる、ソリューションの複合の候補である。このような複合は、適切な候補ビルディングブロックサービスからの、ハイブリッドサービスの自動化された複合を含みうるが、これは、操作またはエンジニアリングの介入を含みうる、半自動化された複合を排除するものではない。これらの場合、ソリューションは、最適なソリューションをシナリオまたはシナリオファミリに配信する、相補的システム、暗号および他の特徴を提供するラッパから構築される複合物を具現化する能力を活用してもよいが、そのシナリオまたはシナリオファミリによって必要とされない特徴または能力のために、望ましくは実装または操作の重い負担を課さない方法で行うことがある。
【０１２３】
ラッパを実装するための追加の理由には、コンテンツへのアクセスを制御するための正当な必要性を有する異種の個人または組織の要件、必要性およびポリシの間を仲介する必要性が含まれる。これは、共通のビジネスシナリオであり、指定されたセットのパーティは、あるコンテンツへのアクセスをロック解除することに共に同意するようにならなければならない。一例には、臨床試験ファミリのシナリオが含まれることがあり、コンテンツは、おそらくＦＤＡおよびＨＩＰＡＡによって規制される可能性があり、所有権は、製薬スポンサ（Ｍｅｒｃｋなど）およびデータ所有者（Ｍｉｃｒｏｓｏｆｔ  ＨｅａｌｔｈＶａｕｌｔなど）など、複数のパーティの間で共有されうる。製薬スポンサは、研究の結果として生じた知的財産を保護する必要性により権限を行使することがあるのに対して、ＨｅａｌｔｈＶａｕｌｔは、その臨床試験に関与中であるそれらの顧客の匿名性およびプライバシーを保護する必要性により、権限を行使することがある。
【０１２４】
争いのための仲介、調停および仲裁のための暗号、システムおよび人により支援された技術があり、その理由は、そのような争いが一貫していない、矛盾する、または漠然と定義されたポリシにより生じることが多いからである。これらの暗号技術には、秘密共有を活用するものが含まれ、実装には、多機関キーまたは能力ジェネレータを展開するものが含まれる。しかし、これらの技術は必ずしも、確認可能な信頼、柔軟性および表現性、または、システム性能およびスケールの正確な混合を満たすとは限らない。たとえそれらのパーティの潜在的に異種の矛盾する要件のすべてを満たす、単一の技術および結果として生じる実装があったとしても、単一の実装または展開は、おそらく、他の関係者による、技術、実装者またはホスト側パーティへの信頼の欠如により、信頼されないものとなる場合がありうる。
【０１２５】
そのような状況では、ラッパは、候補ソリューションであり、このソリューションを、他の自動化された技術により補足し、または、手動の介入を通じて、おそらく、電子的または手動のワークフローを通じて補うことができる。このような複合ソリューションは、ビジネスネットワーク内で特定のパーティまたはパーティのセットに制御のレイヤを提供するようになる、ラッパを活用することができる。そのラッパは、オプションとして、問題のパーティまたはパーティのセットによって信頼される技術、実装または展開であってもよい。このラッパは、おそらく遅延バインディングを実装するため、または、満了もしくは失効をサポートするため、または、監査ログに確認可能な信頼を提供するために、リモートクラウドとのインタラクティブなプロトコルに携わってもよい。または、このラッパは、アクセス資格情報およびあるアクセス可能ポリシに基づいた適切な方法で、アクセスを許可、ブロックかつ／または記録するようになる、オフラインプロトコルを実装してもよい。
【０１２６】
ラッパを通じて確認可能な信頼を実装するための他の理由には、キー、パスワード、パスフレーズ、証明書、または、他の知識もしくは所有権の証明など、資産またはアーティファクトを管理する必要性が含まれうる。典型的には、暗号システムは、可用性、スケーラビリティ、待ち時間、ならびに、障害の存在下でのデータ損失および回復時間上限のサービスレベル契約の必要とされたレベルを提供する方法で、これらのアーティファクトへのアクセスのために、サーバ、サービスおよびクラウドに対して生成、管理、バックアップ、アーカイブ、保存、配列、安全な細断、そのためのフォレンジックの提供、およびサポートを行う必要性により、追加のシステム負荷をかけることがある。
【０１２７】
これは、これらのサーバ、サービスまたはクラウドに対する信頼のレベルを提供する必要性により、さらに悪化される。これは典型的には、ＰＫＩなど、信頼の階層を通じて行われる。これらのシステムをさらに安全にして、サーバ、サービスまたはクラウドが、いかなる方法で危殆化される場合でも、おそらく偽装および中間者攻撃を通じて攻撃を開始することが許可されないようにする必要がある。
【０１２８】
そのような状況では、ラッパは、アーティファクトのアクセス、認証および取得を含む理由のために、インタラクティブなプロトコルのシステムオーバーヘッド、複雑性、待ち時間、および、ＷＡＮのもろさを緩和することができる方法で、相補的能力を提供するリモートサーバ、サービスまたはクラウドと適切に組み合わせ可能な候補ソリューションを提供する。このようなラッパの一実施形態では、外側ラッパは、内側ラッパへのアクセスのために必須のアーティファクトを保持することができる。結果の１つには、これらのアーティファクトを格納およびアーカイブする必要性がなくなることが含まれることがあり、その理由は、これらのアーティファクトが事実上、含有により、または、有効なシステムエンジニアリングを通じて、ペイロードの一部であるためである。
【０１２９】
このようなラッパがリモートサーバ、サービスまたはクラウドとのインタラクティブなプロトコルを開始して、満了もしくは失効を実装し、または、監査またはフォレンジックなどの目的のために、監査ログに確認可能な信頼を提供することがある、ハイブリッドなソリューションを提供する機会がある。このハイブリッドなソリューションが実装される方法は、サーバ、サービスまたはクラウドにかけられた負荷を最適化することができ、または、ネットワークの問題の存在下で動作するために最適化されうる。
【０１３０】
これらおよび他の場合、ラッパは、ビジネスネットワーク内で確認可能な信頼を容易にする方法で、オプションのインタラクティブなプロトコルのために、技術、実装およびリモートサーバ、サービスまたはクラウドを選択している可能性がある。ラッパは、線形階層、または、ツリーもしくはグラフなど、より複雑な構造を実装するように設計されうる。これらの構造は、実際の含有であってもよく、または、上述のように仮想であってもよい。そのような複雑な構造は、しきい値関係、オーバーライドおよびエスクロー、ならびに、おそらく例外および手動のオーバーライドの組み合わせを実装することがある、柔軟かつ表現豊かなデシジョンツリーを容易にすることができる。
【０１３１】
多機関キーまたは能力ジェネレータなどのシステムを通じて、同等の能力を提供することができる、複数の暗号技術が存在する。これらの技術およびシステムは、いかなる複雑な現実世界のネットワークでも対処されなければならない商業的、社会的、政治的、主権的および他の複雑な必要性のすべてによる、ビジネスネットワーク内の複数の関係者の異種の必要性を満たす、複合システム内で、別個のラッパの候補として見なされうる。
【０１３２】
そのような複雑な現実世界のネットワーク、エコシステムおよび市場は、最初の関係者のセットから組織的に成長することが多く、この最初の関係者のセットは、増え続ける関係者のネットワーク効果を通じて、引き続き成長する。他のネットワークは、トップダウンで、おそらく標準または認可を通じて設けられる。しばしば、既存のネットワークは、おそらく組織的に成長させられ、おそらく争いによるか、または、外因的な影響により、複数のサイロに分裂するようになる。よって、そのネットワーク内で本質的な要件である信頼の短命の性質により、おそらく故意に、合体または分離する能力を有する、複数のネットワークの「森」をサポートできることがしばしば望ましい。
【０１３３】
本開示および様々な実施形態は、ラッパを活用するための多数の理由のうちいくつかの概略を述べる。現実世界における適用は、様々な範囲の確認可能な信頼およびシステムの必要性に対処し、上記で概略が述べられたものを含む、モジュールの概念およびビルディングブロックに基づいて、適切な複合および拡張を通じて、多数のシナリオをサポートする。
【０１３４】
解説を容易にするため、および教育的理由のため、以前のテキストは、時としてある省略形を使用し、または、以下に記載されるものを含む暗黙的または明示的仮定を行う。
【０１３５】
任意の形式の確認可能な保証を提供する技術、おそらく、境界、制御の領域および空隙を実装するシステムソリューション、または、計算的に困難な問題に依拠する暗号および類似の技術は、「クリプト」、「暗号法」、「暗号ソリューション」、または他の類似もしくは同等の語句で総称される。しかし、不確かさを避けるため、検索可能暗号化などの暗号技術は、決して必要とはされない。任意の数学的変換、エンコード、難読化などを使用することができ、データを隠す、または、再構築マップがなければつなぎ合わせることができない方法でデータを分断するなど、データを保護するための他の技術も同様である。署名もしくは暗号化などの演算、または、ハッシングなどの技術は、匿名性、機密性、整合性、プライバシーおよび非否認など、他の用語よりも、一般的な使用では曖昧でない傾向がある。
【０１３６】
そのような相互交換における他のパーティには、商業的シナリオのためのエクストラネットまたはビジネスネットワークなど、関係者が含まれうる。または、これらは、個人、友人および家族のためのコンシューマ、ソーシャル、サポートネットワークであってもよい。または、これらは、別個の主権エンティティまたは管轄区域にまたがっている個人または組織のネットワークであってもよい。これらの主権エンティティまたはそれらの代理人は、容易にすることもしくは関与すること、または両方における関係者であってもよく、ＮＡＴＯなど、それら自体のネットワークを形成してもよい。
【０１３７】
構成可能な方法で、確認可能な信頼を最適化するためのラッパを通じて複合を実装するための方法および装置は、単に「ラッパ」と呼ばれる。実装は、ソフトウェア、ハードウェアまたは他の手段を活用して、オフラインプロトコルを実装してもよく、オフラインプロトコルは、空間的または仮想コンテナを作成する。他の実装には、リモートサービスとのインタラクティブなプロトコル、または、オフライン操作およびインタラクティブなプロトコルのある組み合わせが含まれうる。
【０１３８】
人の、または自動の、または他のパーティであってもよいサーバ、サービス、クラウド、ワークフローエンドポイントが含まれうる、トランザクションまたはインタラクティブなプロトコルを容易にすることに関与するパーティは、「クラウド」と呼ばれる。クラウドの実装には、公開、プライベート、外部委託、専用またはマルチテナントのバージョンが含まれうる。
【０１３９】
信頼できるコンピューティングおよびデータサービスのためのコンテナレスデータ
信頼できるプラットフォームの技術を使用して、データ（および、関連付けられたメタデータ）は、データを保持するコンテナ（例えば、ファイルシステム、データベースなど）から切り離され、様々な実施形態において説明されるように、信頼プラットフォームの暗号キージェネレータによって付与されたキーなど、提示された能力により洞察される数学的複雑性の覆いを課すことを通じて、データがそれ自体の管理人としての機能を果たすことができるようになる。データまたはそのデータのサブセットの共有またはそれへのアクセスは、実施のために特定のコンテナを必要とせずに、信頼を保存かつ拡張する方法で、容易にされる。データに適用される検索可能暗号化技術など、数学的複雑性は、その中に特定のビットが記録されるコンテナまたはハードウェアにかまわずに、データを保護し、すなわち、データは、コンテナレスで、またはコンテナにかまわずに保護され、よって、コンテナセキュリティの危殆化に基づいて攻撃にさらされることはない。特定の「金庫」が破られる場合、コンテンツはなお保護される。
【０１４０】
図１３は、本明細書で説明されるような、安全、プライベートおよび選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための全体的な環境のブロック図である。例示のため、複数の企業１３００、１３０２が例示されるが、これらの技術は、単一の企業または多数の共同企業にも適用可能である。様々な実施形態では、以下でより詳細に説明されるようなフェデレーション信頼オーバーレイ１３３０を使用して、企業１３００のポリシ１３１０、および、企業１３０２のポリシ１３１２の実施１３２０は、共同努力のためのＦＴＯインフラストラクチャ１３３０に基づいて共有されうる。実施１３２０はまた、各企業１３００、１３０２によって別々に適用可能である。この点について、ポリシおよび実施は、信頼オーバーレイ１３３０に基づくように、完全に企業１３００、１３０２の領域内であるため、クラウド１３４０内の実際のデータの場所、および、何の特定のコンテナ１３４２が使用されるかは、顧客が実際に気にかけるもの、すなわち、待ち時間、信頼性、サービス品質保証、バックアップ、取得までの時間、サイズ保証などに関して以外は、顧客の見地からは無関係になる。
【０１４１】
したがって、信頼オーバーレイ１３３０によって、データを保持するコンテナからのデータの解放を認識すると、様々な実施形態では、データストレージ管理レイヤ１３５０は、顧客の必要性および要望に適するコンテナ内のデータストレージを最適化するために、ストレージリソースのリアルタイムの可用性およびそれらのそれぞれの特性の解析に基づいて、顧客が気にかけるものを自動的に引き受ける。ストレージ管理レイヤ１３５０は、破線で描かれ、その場所も重大でないことが示される。ストレージ管理レイヤ１３５０は通常、１つまたは複数のデータストア（複数可）１３４２内に格納されたデータに対して、アクセス、表示または変更を行うための暗号特権を有していないが、ストレージ管理レイヤ１３５０がインテリジェントなストレージ選択を行うことができるように、顧客が将来どのようにデータを使用することを望むかの理解を容易にするために、ファイルサイズまたはファイルタイプなど、メタデータの一部を公開することが望ましいことがある。例として、ストレージ管理レイヤ１３５０は、データがビデオであると理解するために、データについての十分な表示が与えられる場合、ストリーミングメディアのための要件を満たすメディアストア内でビデオを維持することができる。
【０１４２】
図１４は、一般的な「それ自体の管理人としてのデータ」の概念を例示するブロック図である。ユーザまたは企業の制御内のポリシおよび実施では、データおよび対応するログは暗号化され、以下でより詳細に説明されるように、ユーザに付与された特定の能力によってのみ、アクセス可能である。例として、通常、クラウドストレージプロバイダの操作スタッフなど、能力を持たないある人は、データ特権を有していないので、検出なしに表示、修正、改ざんまたは削除を行うことはできない。それ自体の管理人としてのデータでは、ポリシはデータの所有者／発行者によって設定され、アクセスは、データがどこに格納されるとしても、データ自体によって実施／保証され、コンテナ選択が不必要になる。信頼保証は、データによって実施されるが、所有者／発行者によって、サブスクライバ／顧客がデータに対して何を行うことができるかを記述することによって、制御される。
【０１４３】
図示のように、非限定的な実施形態では、企業１４２０は、ユーザ１４２６およびそれらによる企業１４２０のシステムリソースの使用について、ならびに、外部ユーザ１４３０（例えば、モバイルワーカー）について、そのポリシ１４２４、および、ポリシ１４２４の実施１４２２を「所有」する。それ自体の管理人としてのデータでは、実際のデータおよび／またはログ１４０５は、データをクラウド１４００に格納することによって、ポリシ１４２４および実施１４２２から分離可能であるが、クラウド１４００の操作スタッフ１４１０は、検出なしに、データおよび／またはログ１４０５を表示、修正、改ざんまたは削除することはできない。
【０１４４】
図１５は、本明細書で説明されるような、安全、プライベートおよび選択的にアクセス可能なネットワークデータサービスの１つまたは複数の実施形態を提供するための全体的な環境のブロック図である。概して、フェデレーション信頼オーバーレイを使用して信頼を分散させる非限定的な例を例示すると、コンピューティングデバイス（複数可）１５００（例えば、顧客）は、第１の制御の領域１５１０内であり、コンピューティングデバイス（複数可）１５２０（例えば、クラウドサービスプロバイダ）は、第２の制御の領域１５３０内であり、コンピューティングデバイス（複数可）１５６０は、第３の制御の領域１５９０内であり、暗号技術プロバイダ１５８０は、第４の制御の領域１５９５内で提供され、キージェネレータ１５８２は、第５の制御の領域１５９７内で提供されうる。コンピューティングデバイス（複数可）１５００、１５２０、１５６０の各々は、プロセッサ（複数可）Ｐ１、Ｐ２、Ｐ３をそれぞれ、および、ストレージＭ１、Ｍ２、Ｍ３をそれぞれ含んでもよい。この点について、様々な非限定的な実施形態によって説明されるように、クラウド内で暗号化されたデータ１５４０を可能にするための技術は、項目１５５０または項目の部分がアクセス特権に基づいてクラウドから選択的に取得可能であるように提供される。この点について、解析的サービス１５７０のセットは、格納されるべき暗号化されたデータ１５４５、１５４７の上にレイヤとして提供可能であり、デバイス（複数可）１５００からのローカルデータセット１５０５に基づいて、クラウド内で維持される、暗号化されたデータ１５４０または暗号化されたデータ１５４２をどこに最適に格納するべきかを、自動的に決定する。この点について、サービス１５７０は、ＣＴＰ１５８０／ＣＫＧ１５８２フェデレーション信頼オーバーレイに基づいて、データがコンピューティングデバイス１５００によって取得されるとき、取得されたデータ１５５２または取得されたデータ１５５０が所与の要求のために最適なコンテナから取得されること、または、準最適の場合、これらのコンテナが自動的に切り替えられることを保証する。例として、コンピューティングデバイス１５６０からの現在のコンテナが顧客の必要性にとって不十分に動作中である場合、または、顧客の必要性が変化する場合、解析的ストレージサービス１５７０は、例えば、サービス品質要件を満たすために、データをリアルタイムで別のストレージコンテナへ移動またはコピーし、サービスをより適切なコンテナへシームレスに切り替えることができる。
【０１４５】
図１６は、本明細書で説明されるような、データがそれ自体の管理人としての機能を果たす、コンテナを管理するための処理の流れ図である。１６００で、暗号化されたデータが、第１の制御の領域内の第１のコンピューティングデバイスによって、第２の制御の領域内の第２のコンピューティングデバイスから受信される。暗号化されたデータは、暗号キー情報に基づいた、検索可能暗号化アルゴリズムによる、第２のコンピューティングデバイスの定義されたデータセットのためのデータの暗号化から形成される。１６１０で、暗号化されたメタデータもまた受信され、暗号化されたメタデータは、データの解析、および、暗号キー情報に基づいて暗号化されたその解析の出力から形成される。１６２０で、暗号化されたデータまたは暗号化されたメタデータのうち少なくとも一部をどのコンテナ（複数可）に格納するべきかが決定される。１６３０で、事前定義された条件が満たされる場合、暗号化されたデータが格納されるコンテナ（複数可）が自動的に変更されうる。
【０１４６】
図１７は、それ自体の管理人としての機能を果たすデータの１つまたは複数の態様を例示する、もう１つのブロック図である。この点について、コンテナはセキュリティのために冗長であり、アクセスは暗号ラッパによって実施され、ポリシは、所有者／発行者によって設定され、暗号ラッパによって保証される。ラッパは、以下の様々な実施形態において説明されるように、その状況の特定のセキュリティの必要性に応じて、様々な暗号技術を含みうる。例として、例示されるように、ポリシは企業レベルで設定され、次いで、ユーザは、エントリを許可または拒否するクリプトアクセス制御によってラップされる、データへのアクセスを求める。企業監査者、セキュリティスタッフ、操作スタッフ、その他など、他のユーザは、企業で設定されたポリシに応じて、ラッパによって定義されたアクセス特権を有しても有していなくてもよい。
【０１４７】
図１７の例に示すように、企業１７２０は、企業アクセスポリシ１７３０を受けることが可能である企業スタッフ１７２２を有し、その企業スタッフ１７２２の一部は、企業アクセスポリシ１７３０を設定することができる。企業アクセスポリシ１７３０は、クラウドコンテナ１７００のデータコンテナ１７１０内に格納されたデータ１７１２に行うことができるアクセス、操作、取得、検索などの方法に影響を及ぼすことができる。したがって、データ１７１２のユーザ１７０８がそのようなデータ１７１２にアクセスしようと試みるとき、企業アクセスポリシ１７３０によってガイドされるが、それから分離された様々なクリプトアクセス制御１７１４は、ユーザ１７０８による保証されていないアクセスから、データ１７１２を保護する。異なる企業アクセスポリシ１７３０は、データコンテナ１７１０のクリプトアクセス制御１７１４によって、セキュリティスタッフ１７０４によって行われた企業監査１７０２、または、クラウド操作スタッフ１７０６など、異なるアクセス側エンティティまたはタスクに適用されるように反映されて、アクセスが可能にされるべきであるものに可視性が制限されるようにすることが可能である。データコンテナ１７１０は、どこに位置してもよく、セキュリティのために冗長にすることが可能であり、アクセスは、クリプトアクセス制御１７１４によって実施される。この点について、企業アクセスポリシ１７３０は、企業所有者によって設定可能であり、クリプトアクセス制御１７１４によって実装されたようなクリプトラッパによって保証可能である。
【０１４８】
図１８は、データが従来のコンテナセキュリティモデルを越えることができることを例示する、それ自体の管理人としてのデータの態様を例示する、もう１つのブロック図である。この点について、本明細書で理解されるように、データはどこに位置してもよいだけでなく、所与の状況に最適である方法で、複数のコンテナにまたがるようにスライスまたは分割されてもよい。配置は、アクセス、復元性などを最適化することができ、ストレージ管理レイヤは、一貫性、バージョニング、ガベージコレクションなどを扱うことができる。
【０１４９】
図１８に示すように、企業１８２０は、企業スタッフ１８２２に適用可能なその企業アクセスポリシ１８３０を定義するが、データ１８１２はリモートで格納され、データ１８１２にアクセスすることを望むユーザ１８１０に適用可能な暗号アクセス制御１８１４によって保護される。システムおよびユーザ１８１０は、データ１８１２を格納するコンテナがクラウド１８００内に格納されるか、企業１８０２のどこかに格納されるか、もしくは、オーバーレイネットワーク１８０４を介して格納されるか、またはその組み合わせであるかについて不可知論的であり、データは、複数のコンテナにまたがることができる。
【０１５０】
図１９は、異種のタイプの複数のデータコンテナからのデータの自動細断、キャッシング、レプリケーション、再構成のような機能を行うストレージ管理レイヤを例示する。そのような処理は、明示的ポリシおよびアクセスパターンを含む基準に基づいて行うことができる。図示のように、データ１９０２およびクリプトアクセス制御１９０４を含むデータコンテナ１９００は、ユーザの見地からは、全部のデータを格納するために抽象化ストレージレイヤ１９１０で格納されるが、実際には、クリプトアクセス制御１９０４によって保護されたようなデータ１９０２は、ポリシおよびアクセスパターンを含みうる基準に基づいて、クラウドデータサービス１９２０、ファイルシステム１９２２、企業データベース１９２４、オーバーレイネットワーク１９２６などのうち、任意の１つまたは複数に渡って、細断、キャッシュ、レプリケートかつ再構成可能である。
【０１５１】
図２０は、データがそれ自体の管理人としての機能を果たすことができるようにする、セキュリティ、プライバシー、信頼性などのための中心点が、データが様々なデータコンテナに渡ってどこに格納されるとしても暗号アクセスラッパをデータに追加する安全なオーバーレイネットワークであることを、より一般的に例示する。具体的には、オーバーレイネットワーク２０１０は、クラウドデータサービス２０２０、ファイルシステム２０２２または企業データベース２０２４のうち、任意の１つまたは複数における、クリプトアクセス制御２００４によって保護されたようなデータ２００２のコンテナ２０００のさらなるストレージのための、中間ストレージ媒体になりうる。ストレージは、したがって、その最終の宛先に関して階層的になりうる。
【０１５２】
図２１は、世界のレガシアプリケーションおよびそれらのコンテナベースの表示（例えば、データベースファイル）が変化する必要がないことを例示するブロック図である。むしろ、フェデレーション信頼オーバーレイストレージシナリオで使用するために、アプリケーションおよびレガシコンテナの必要性に基づいて、暗号ネゴシエーション、暗号変換およびキャッシング、バージョニング、リースなどを行う、アダプタが提供されうる。より詳細には、レガシアプリケーション２１００は、クラウドデータサービス２１１０、ファイルシステム２１１２および企業データベース２１１４と、いつもとまったく同じようにインタラクトすることができるが、次いで、抽象化ストレージレイヤ２１２０はなお、コンテナレスデータを陰で発生させることができる。抽象化ストレージレイヤ２１２０は、アプリケーションおよびレガシコンテナの特性に基づいて、クリプトネゴシエーション、クリプト変換、およびキャッシング、バージョニング、リースなどを実装するアダプタを公開し、次いで、例として、図２０に関連して説明したように、例えば、安全なオーバーレイネットワーク２１３０を介して、コンテナ化されたデータ２１４０をコンテナレスデータへ導くことができる。
【０１５３】
図２２は、レガシアプリケーションならびにＦＴＯ対応アプリケーションに関連して使用可能なサンプルアーキテクチャモデルである。この点について、ＦＴＯ可能なアプリケーション２２０５は、ＦＴＯ２２００に直接プラグインし、データの安全でプライベートなストレージ、処理などを有利に使用することができる。ＳＤＳ対応アプリケーション２２１５では、データの暗号細断および分散を追加するレイヤ２２１０を提供することができる。一貫性対応アプリケーション２２２５では、レイヤ２２２０によって図示されたように、既存の修正されていないオーバーレイネットワークが使用され、システムにブリッジされうる。例えば、Ｌｉｖｅ  Ｍｅｓｈ、Ｆａｂｒｉｃ／ＣＡＳは、レイヤ２２２０を介して、ＤａａＳおよびＸＳｔｏｒｅにブリッジされうる。最後に、図２１と共に説明されたように、レガシアプリケーション２２４０およびレガシコンテナ２２３５の特性に基づいて、暗号ネゴシエーション、暗号変換およびキャッシング、バージョニング、リースなどを行う、アダプタ２２３０を提供することができる。全体として、そのようなレイヤおよびアプリケーションは、フェデレーション信頼オーバーレイに基づいて、クラウドストレージによって提供される利点を活用することができる。
【０１５４】
図２３は、データ、および／または、そのデータもしくはそのデータの特性を記述するメタデータにおける、暗号ラッパまたはエンベロープの一般的使用を例示するブロック図である。一例として、レコード２３０２（例えば、データペイロード）、ならびに、関連付けられたメタデータおよび／またはタグ２３００は、数学的に選択的にアクセス可能な方法で共にまたは別々に暗号化されて、暗号化されたメタデータおよびタグ２３１０、ならびに、暗号化されたレコード２３１２を生じることが可能である。そのような暗号化されたデータ／メタデータでは、様々な操作２３２０を、数学的な選択的アクセス可能性に基づいて行うことができ、例えば、データまたはメタデータの検索、データまたはメタデータに対する論理演算、クエリ、バックアップ操作、データの監査などである。メタデータ２３００およびレコード２３０２の暗号化に加えて、オプションの追加のデータが、任意の望ましい目的の関数として暗号化パッケージに追加可能２３１４であり、または、オプションの追加のタグ２３１６が、暗号化処理の一部としてコンテンツに追加可能であり、例えば、一例として、あるユーザのクラスに対してアクセスを可能または不可能にする公開または秘密タグである。このような追加のデータ２３１４またはタグ２３１６により、整合性チェック、改ざんチェック、可用性チェック、その他など、追加の操作２３３０を行うことができる。
【０１５５】
図２４は、ペイロード２４０２およびタグ２４００を示す特定の例であり、ペイロード２４０２およびタグ２４００は暗号化されて、操作２４２０のために、暗号化されたタグ２４１０および暗号化されたデータ２４１２が形成される。加えて、上述のように、データはデータ２４１４により拡大可能であり、タグはタグ２４１６により拡大可能であり、追加の操作のセット２４３０が容易になる。
【０１５６】
図２４の例を基にして、図２５は、周囲のフェデレーション信頼オーバーレイを例示する例である。この点について、バックドアのないＣＴＰ２５００は、ロバスト性の公の検査にさらされるオープンな方法に基づいて実装されうる。ＣＴＰ２５００に基づいて、ＣＫＧ２５５０は、操作２５３０（例えば、検索、論理演算またはクエリ、バックアップ、監査、改ざんチェック、整合性チェック、可用性チェックなど）を行うための、例えば、キー２５４０など、能力を求める要求に対処するために生じさせることができる。クラウドデータサービスプロバイダ２５２０は、したがって、サービス、例えば、暗号化されたメタデータ２５１０および暗号化されたデータ２５１２のストレージを提供する。１つのオプションの実施形態では、クラウドは、データまたはアクセスパターンが見えない方法で、データをホストする。
【０１５７】
図２６は、レコードならびにインデックスが、信頼オーバーレイを使用して暗号化され、クラウドへアップロードされる、一実施形態を例示するブロック図である。この点について、レコードおよびインデックスが検索可能暗号化されて、インデックスが、関連付けられたデータへの可視性の第１のレイヤとして選択的にアクセス可能になる。次いで、インデックスの検索に基づいて、様々なコンテンツまたはレコードが所与のインデックスまたは複数のインデックスに一致して識別可能であり、次いで、ユーザは、特権に基づいて、一致するコンテンツまたはレコードにアクセス可能であるか、またはそうではなく、特権は、データに対する保護の第２のレイヤとして動作し−第１に、検索または他の操作のためのインデックスへのアクセスに対するものであり、第２に、データへのアクセスに対するものである。この点について、任意の数のレイヤ化された暗号ラッパが、データおよび関連付けられたメタデータの異なる部分上に適用されうる。図示のように、顧客２６００は、様々なレコード２６０２を有してもよく、様々なレコード２６０２から、２６３０で、暗号化されたインデックス２６０４が生成される。レコード２６０２および暗号化されたインデックス２６０４は、２６４０で、クラウド２６１０へアップロードされ、クラウド２６１０内で、レコード２６１２および暗号化されたインデックス２６１４として格納される。２６５０で、例えば、暗号化されたインデックス２６１４に基づいて、レコード２６１２を取得するため、顧客２６００は、少なくとも１つの署名２６２２により署名されたレコード２６２０をクラウド２６１０から受信し、２６６０で、少なくとも１つの署名２６２２がチェックされうる。
【０１５８】
図２７は、どのようにクライアントがフェデレーション信頼オーバーレイアーキテクチャを使用して、より豊かなクラウドストレージ経験のために、暗号化されたデータの上で暗号化されたインデックスを生成かつアップロードすることができるかを例示する。フェデレーション信頼オーバーレイアーキテクチャは、信頼できる暗号エコシステムを生成するための力の分離を含み、以下でより詳細に説明される。
【０１５９】
ＦＴＯ２７８５は、クラウドまたは他のストレージ内のコンテナレスデータに対して行われる数学的変換の部分を分離することによって、顧客２７７５に利益を与えるエコシステムであり、本明細書の他のところで説明されるように、クラウドデータサービス（ＣＤＳ）２７８０、クリプト技術プロバイダ（ＣＴＰ）２７７０、および、キー生成用センタ２７９０を含む。一例として、顧客２７７５は、様々なキーワード２７１０が関連付けられるドキュメント２７００を有することがある。暗号化のための公開パラメータ２７６５は、ＣＫＧ２７９０から取得されるのに対して、数学的変換を行うための技術は、ＣＴＰ２７７０から取得される。アップロードを行うために、ドキュメント２７００は暗号化２７２０され、クラウドへ、暗号化されたドキュメントストア２７５０内へとアップロード２７３０される。アップロードのための場所２７３５およびキー２７２５は、キーワード２７１０と共に、ドキュメント２７００の暗号化されたアップロードに関連付けられて生成された暗号化されたインデックス２７４０に入力され、２７４０で生成された暗号化されたインデックスは、２７４５で、暗号化されたインデックスストア２７５５へアップロードされる。
【０１６０】
図２７は、暗号化されたインデックスデータのアップロードを例示するのに対して、図２８は、特定のコンテンツを検索するためのインデックスの暗号化解除を例示し、この暗号化解除は、フェデレーション信頼オーバーレイによって提供された能力に基づいて許可され、次いで、検索結果への可視性により、ユーザに、検索に関連する実際のドキュメントを暗号化解除するための能力または特権を付与することができる。この点について、インデックスへのアクセス、および、ドキュメントへのアクセスは、ＦＴＯによるポリシおよび実施に基づいて、別々に制御可能である。
【０１６１】
上述のように、ＦＴＯ２８８５は、クラウドまたは他のストレージ内のコンテナレスデータに対して行われる数学的変換の部分を分離することによって、顧客２８７５に利益を与えるエコシステムであり、本明細書の他のところで説明されるように、クラウドデータサービス（ＣＤＳ）２８８０、クリプト技術プロバイダ（ＣＴＰ）２８７０、および、キー生成用センタ２８９０を含む。
【０１６２】
この例では、顧客２８７５は、クエリ２８００を形成し、次いで２８０５で、ＣＫＧ２８９０からトラップドア２８１０を獲得し、トラップドア２８１０は、クエリ２８００と共にクラウドに提示される。クラウドでは、暗号化されたインデックスストア２８２５内の暗号化されたインデックスが、２８２０で、ＣＴＰ２８７０から取得された技術２８１５に基づいて検索される。結果２８３５が次いで、まだ暗号化されたままで返され、２８４０で暗号化解除され、そこから場所２８４２およびキー２８４４が抽出される。これにより、システムに、２８４５で、暗号化されたドキュメント２８５０を暗号化されたドキュメントストア２８３０から取得するための情報を与え、暗号化されたドキュメント２８５０を、２８５５で、キー２８４４に基づいて暗号化解除して、１つまたは複数のドキュメント２８６０、例えば、図２７からのドキュメント２７００を返すことができる。
【０１６３】
図２９〜３０は、システムによるいくつかの追加の非限定的な信頼アシュアランスを例示するブロック図である。この点について、ユーザが受信するものが正確であることを証明する任意のアルゴリズムを、追加のレイヤとして使用して、わけのわからない言葉がクラウドによって提供されていないことを、ユーザに対して数学的に証明することができる。例えば、ある技術が、データ保有の証明（複数可）（ＰＤＰ）として知られており、この技術では、タグが、データの正確性を検証することに関連して使用可能な暗号化されたデータに対して適用される。類似の情報が適用（かつ暗号化）されて、データがクラウド内で格納される間に不適切に改変または削除されなかったことが証明されうる。暗号技術では、そのような証明は典型的には、暗号チャレンジおよびレスポンスの形式を取る。図１７では、ＰＤＰタグは、クラウド内で、暗号化されたレコード、インデックス、メタデータなどと共にエンコードかつ暗号化されるが、図１８では、確認操作は、データの整合性が変わっていないという、ＦＴＯとの暗号コンサルテーションに基づいて行われている。
【０１６４】
図２９については、上述のように、ＦＴＯ２９８５は、クラウドまたは他のストレージ内のコンテナレスデータに対して行われる数学的変換の部分を分離することによって、顧客２９７５に利益を与えるエコシステムであり、本明細書の他のところで説明されるように、クラウドデータサービス（ＣＤＳ）２９８０、クリプト技術プロバイダ（ＣＴＰ）２９７０、および、キー生成用センタ２９９０を含む。この例では、発行者２９００は、ＣＫＧ２９９０から取得された秘密２９３０、および、ＣＴＰ２９７０から取得された技術２９４０に基づいて、２９２０で、レコードおよびインデックスをエンコードすることによって、レコードおよびインデックス２９１０を暗号化する。暗号化またはエンコードされたレコードおよびインデックス２９５０は、クラウド内に格納される。データ保有の証明（複数可）（ＰＤＰ）タグ２９６０は、２９２０でのエンコードに関連して使用可能であり、本明細書の他のところでより詳細に説明されるように、後に、クラウド内に格納される間に、データのある態様を保証する助けとなる。
【０１６５】
上述のように、図３０では、確認操作は、データの整合性が変わっていないという、ＦＴＯとの暗号コンサルテーションに基づいて行われている。この点について、ＦＴＯ３０８５は、クラウドまたは他のストレージ内のコンテナレスデータに対して行われる数学的変換の部分を分離することによって、顧客３０７５に利益を与えるエコシステムであり、本明細書の他のところで説明されるように、クラウドデータサービス（ＣＤＳ）３０８０、クリプト技術プロバイダ（ＣＴＰ）３０７０、および、キー生成用センタ３０９０を含む。ＰＤＰタグ３０４０は、システムの監査者３０００にとって、クラウド内に格納されたデータの整合性をチェックするために有用でありうる。乱数３００５に基づいて、監査者３０００は、チャレンジ３０１０をクラウド内の証明者３０２０へ、ＣＫＧ３０９０から取得された秘密３０２５、および、ＣＴＰ３０７０から取得された技術に基づいて、発行する。証明者３０２０はまた、証明アルゴリズムを実装することに関連して、技術３０４５をも使用する。この点について、証明者３０２０は、暗号化されたレコードおよびインデックス３０３０、ならびにＰＤＰタグを入力として受信し、情報を監査者３０００へ返し、この情報が３０５０で確認される。３０６０で、確認操作が成功であるか失敗するかに基づいて、監査者３０００に、暗号化されたレコードおよびインデックス３０３０の整合性が維持されているかどうかが通知される。
【０１６６】
以下でより詳細に説明されるように、様々な暗号技術は、サービスユーザのためのプライバシーおよび非否認の強力な保証を提供することができる、サービスのプロビジョニングに組み込み可能である。これらの暗号技術をデータ保護技術と統合することによって、そのデータの所有者および企業の顧客（「顧客」）に、データをホストするエンティティまたはクラウドサービスプロバイダもしくはオペレータ（「ＣＳＰ」）によって行われうる操作のタイプに対する精密な制御を有するようにさせる方法で、リモートサービスおよびレイヤ化されたアプリケーションをデータの上に実装することができる。加えて、これらの操作の多数は、顧客の代わりにＣＳＰによって、操作が行われるデータの実際のコンテンツを学習するかまたは他の方法で見ることなく、行うことができる。加えて、顧客は、ＣＳＰがデータを不適切に削除もしくは修正しているか、または、データをより低い性能の２次または３次のストレージへ移動させている場合、検出することができる。この点について、様々な暗号法技術をデータサービスと統合して、例えば、セキュリティおよびプライバシーを増すために、データに対する制御を放棄するための信頼を顧客に提供することができる。
【０１６７】
例として、検索可能暗号化は、データが暗号化される前に、必須のメタデータがデータからコピーされる暗号化方法である。非限定的な例では、Ｅｘｃｈａｎｇｅ電子メールの場合、データは、その添付物を有するメッセージであり、必須のメタデータには、選択されたメッセージングアプリケーションプログラミングインターフェイス（ＭＡＰＩ）プロパティおよびフルテキストインデックスが含まれうる。例として、データは、例えば、高度暗号化標準（ＡＥＳ）を使用して暗号化されるのに対して、メタデータは、暗号化されたインデックスを生成する方法で暗号化される。結果として、暗号化されたデータおよびインデックスはこのとき、ＣＳＰなど、十分に信頼されていない別のエンティティへ引き渡される可能性がある。集約された、暗号化されたデータおよびインデックスへの後続の選択的アクセスは、そのデータの所有者、顧客が、暗号化されたクエリをＣＳＰ（または他の承認されたサブスクライバ）に出すことによって、遂行可能である。よって、ＣＳＰは、暗号化されたクエリを暗号化されたインデックスにおいて適用し、一致する暗号化されたデータを返すことができるが、ＣＳＰは、（顧客によって承認されない限り）データ、メタデータ、クエリまたは結果のコンテンツについて何も学習しない。
【０１６８】
保有の証明（複数可）および取得可能性の証明（複数可）は、「証明者」（この場合、ストレージを提供するＣＳＰ）および「確認者」（顧客）が、それらが所有するデータが変わっておらず、かつ、データの保有者であるＣＳＰから容易に取得するために使用可能であるかどうかを、確認者が効率的に決定することができるプロトコルに携わることができる、暗号技術である。これらの技術は、ネットワーク帯域幅において、かつ、ＣＳＰが行う操作において効率的であるので、ＣＳＰの売上原価（ＣＯＧＳ）は比較的不変のままであり、プロトコルを完了するための時間は適度に短くなる。
【０１６９】
データサービスのプロビジョニングに統合可能であるもう１つの暗号技術は、適用の証明（複数可）である。適用の証明（複数可）は、保有の証明（複数可）と同様に、データが証明者であるＣＳＰによって正確に維持されていることを、確認者が確認できるようにする。
【０１７０】
ブラインドフィンガープリントは、典型的には、ネットワークを介した冗長データの交換を最小限にするために使用される、ラビンフィンガープリント（Ｒａｂｉｎ  Ｆｉｎｇｅｒｐｒｉｎｔｓ）など、ネットワーク重複排除（ｄｅ−ｄｕｐｉｎｇ）技術を拡張する別の種類の暗号技術を表す。本明細書の様々な実施形態では、フィンガープリンティングは、プロトコル内の関係者、例えば、データのストレージの場合はＣＳＰが、それらがホスト中であるデータの実際のコンテンツに気付かないように、適用される。
【０１７１】
ＣＳＰによるサービスのプロビジョニングに基づく様々なシナリオは、したがって、ストレージおよび計算サービスから通信およびコラボレーションサービスまでに及ぶ、上記のフレームワークおよび対応する暗号技術に基づいて出現する。より大企業の顧客は、それらの現在の企業データセンタにおいてかなりの計算およびストレージ資産を有し、クラウドサービスの採用に対して活発でない可能性が高い。加えて、顧客は、データセンタ操作の経験があり、精通しており、操業費用（ＯＰＥＸ）および資本支出（ＣＡＰＥＸ）の利点を活用することを望んでおり、よって、それらの機微なビジネスデータが構内からクラウドへ移動することについて懸念する。
【０１７２】
このクラスの顧客について、様々な実施形態では、Ｅｘｃｈａｎｇｅサーバなど、それらの既存のサーバを所有かつ操作する顧客を含む、アプリケーションのセットが提供される。データの２次コピーが次いで、データ保護、アーカイバル、コンプライアンス、ガバナンス、法的または他の理由の、理由のために、クラウドサービスプロバイダへ委任されるようになる。ＣＳＰは、したがって、データ損失または開示に対してこのデータを保存するためのスキル、技術および規模の経済性を有し、この２次コピーの上でアプリケーションを実行することを容易にすることができる。顧客に対してデータを維持することに基づいて提供可能である製品およびサービスの例の小さいサンプリングには、訴訟サポート、監視および監督、サービス発信音、データナビゲーションなどが含まれる。
【０１７３】
訴訟サポートについては、会社が訴えられているとき、訴訟処理によって、履歴の電子メールレコードの検索を行うことが必要とされる様々なエンティティがある。これらのエンティティには、社内法務スタッフ、ＨＲ、管理者、外部弁護士、それらの外部訴訟サポートパートナー、および、対立する弁護士が含まれる。誰が何の検索を行うことができるかについて、特定の範囲のルールがある。現在の訴訟サポートシナリオでは、範囲の境界を付けることは困難である。よって、訴訟サポートに関与するいかなる個人も、範囲外である電子メールを見ることは可能である。電子メールの場合、検索の結果は典型的には、パーソナルストレージテーブル（ＰＳＴ）ファイルの形式で交換され、ＰＳＴファイルが追加のリスクを引き起こし、その理由は、これらのファイルがうっかりして、または悪意を有して、承認されていない個人に引き渡される可能性があるからである。
【０１７４】
その一方、２次コピーがリモートで、例えば、クラウド内で、ＣＳＰによってホストされ、データを通じて維持されるとき、企業内の単一の信頼されたエンティティ、例えば、最高法務責任者が、操作における各個人に、それらのクエリ能力をそれらの必要性に限定するようになる特定のトラップドアを提供することが可能である。クラウド内でホストされており、検索可能暗号化および改ざんが防止される監査ログを通じて保護されているデータは、不適切な電子メールアクセスが防止されるように、より高いレベルの保護を提供する。ＰＳＴファイルを交換する必要性はなくなり、その理由は、操作におけるすべての個人がクエリのためにクラウドに直接アクセスしており、また、訴訟サポートパートナーは、ケース管理のためのＴＩＦＦ（ｔａｇｇｅｄ  ｉｍａｇｅ  ｆｉｌｅ  ｆｏｒｍａｔ）への変換のために、対象にされたコンテンツをエクスポートするエンティティのみであるからである。
【０１７５】
リモートデータコピーの監視および監督については、いかなる適度な規模の法人も、様々な目的のために、先を見越してそれらの組織の電子メールを監視するべきである。これらは、法的／コンプライアンスから、ＩＰ漏れ、盗用、不適切な言葉などを監視するなど、ガバナンスの理由までに及ぶことがある。典型的には、監視および監督ソフトウェアは、プライマリサーバ、または、バックアップもしくはアーカイブされる２次コピーを監視する。プライマリサーバの監視に関する問題は、これによりビジーなプロダクションサーバに過度の負荷をかける可能性があることである。加えて、アドミニストレータが偶然にまたは悪意を有してプライマリサーバ上のデータを修正または削除することが可能であるため、ソリューションは、準拠する方法でデータを取り込み、２次コピーへ転送することであり、監視および監督ソフトウェアは、絶えず着信電子メールをスキャンし、パターンを探し、または検索する。しかし、多数の企業のセットアップでは、これらの２次コピーへのローカル管理用アクセスがあり、結果として、計略に富むアドミニストレータは、改ざん検出および防止機構にもかかわらず、情報を修正または削除することができる。
【０１７６】
その一方、ＣＳＰによってデータを維持することは、２次コピーを異なる制御の領域に配置するので有利である。検索可能公開キー暗号化（ｓｅａｒｃｈａｂｌｅ  ｐｕｂｌｉｃ  ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ）（ＰＥＫＳ）および保有の証明（複数可）（ＰＯＰ）など、適切な暗号技術は、企業アドミニストレータとＣＳＰの従業員の間の共謀であっても、厳密に何の項目をそれらが修正することを望むかを明確に識別することをなお防止するようにすることができる。監視および監督ソフトウェアは、リモートサイトで、または、クラウド内で実行し、予め提供されているトラップドアを通じて、特定の予め決定されたキーワードを有する項目を探す。
【０１７７】
様々な実施形態によって本明細書で説明されるように、独立したデータ保護および暗号技術が、他方をサポートするように各々を強化かつ修正する方法で組み合わせられて、消費者、企業、エコシステムおよびソーシャルネットワークにとって現在使用可能ではないソリューションが提供され、クラウド環境内でコンテナレス、安全、プライベートおよび選択的にアクセス可能なデータが可能になる。
【０１７８】
信頼できるＸＭＬ
ＸＭＬは、限定されないが、タグおよびその階層的配置を介して可能されたその効率的な記述容量を含む、様々な理由のために、ユビキタスなネットワーク交換フォーマットとして発展してきた。この点について、ＸＭＬデータは、異なる許可をＸＭＬドキュメントの異なる部分（ペイロードおよびタグ、ならびに、既存のタグまたはメタデータの上に追加された任意のメタデータを含む）に適用できるようにする、上記のＦＴＯインフラストラクチャによって保護可能である。信頼できるＸＭＬは、したがって、同じく上述されたように、コンテナレスの方法で格納可能である。
【０１７９】
図３１に例示されるように、ＸＭＬペイロード３１０２およびそのタグ３１００を暗号化して、暗号化されたタグ３１１０およびペイロード３１１２を形成することができる。この点について、ＸＭＬドキュメントを、潜在的に異なる保護レベルを有するＸＭＬ断片に分けることによって、はるかにより粒度の細かい許可システムが可能にされ、このシステムは、発行者側のドキュメントとしての最初の編成に依存しない。加えて追加のデータが、任意の関数に基づいてペイロードデータに追加可能３１１４であり、追加のＸＭＬタグが、信頼できるＸＭＬ断片上に適用される追加の関数を支援するために適用可能である。ペイロード３１１２／タグ３１１０における操作には、検索、クエリ、バックアップ、監査、その他など、操作３１２０が含まれる。他の操作３１３０は、オプションのデータ３１１４またはタグ３１１６の追加に基づいて、データ上で実装可能である。例として、データが社会保障番号のパターンに適合するときはいつでも、タグ３１１６が自動的に追加可能であり、タグ３１１６は、ＸＭＬ断片にプライベートとしてマークを付けて、そのような情報を損なわれないように保存する。
【０１８０】
この点について、データ／情報がＸＭＬフォーマットである場合、データ／メタデータ上の上記の技術のいずれかを構造化ＸＭＬデータに適用して、選択的にクエリし、ＸＭＬ断片へのアクセスを得ることができる。ＸＭＬは、<タグ「値」>または<タグ「値」|ＸＭＬ終了タグ>である標準フォーマットを有する。この点において、構造化ＸＭＬでは、デジタルエスクローパターンに固有であるＣＫＧ／ＣＴＰ「フレーム」をポイントするようになる外側ラッパがあるように、構造を階層的に表現するための方法がある。そのため、埋め込まれた断片へのアクセスの必要性があるとき、既存の（または、具現化、新しい）信頼が、<CKG>および<CTP>ラッパにより活用される。これにより、ユーザが、許可される場合、セグメントを検索、抽出および暗号化解除できるようにする。加えて、ＰＤＰが使用されて、要求された特定のＸＭＬセグメントが、最初に作成されて以来、改ざんされていないことを確認することができる。
【０１８１】
したがって、様々な実施形態では、ＸＭＬ断片またはフルレコード（「ペイロード」）のための「信頼されたエンベロープ」は、機密性、プライバシー、匿名性および整合性のような全範囲の信頼保証を信頼が実行できるようにする、様々な「デコレーション」を通じて作成される。
【０１８２】
これは、上述のコンテナレスデータの実施形態と一致している。データをそのコンテナ（例えば、ファイルシステム、データベース）から切り離すための機会は、コンテナを実施することを必要とせずに、元の保証を保存かつ拡張する方法で、共有を容易にする。ビジネスの必要性に基づくように、かつ、異なる技術が出現するとき、任意の他のラッパを、クリプト検索、クリプトベースの改ざん検出などを超えて追加することもできる。ＸＭＬデータでは、タグをデータに追加して、ドメインおよびアプリケーションに依存している可能性のある、データの一貫性の調節の助けとすることができる。
【０１８３】
ＸＭＬは、認証、承認、スキーマ、履歴、トレース、一貫性などをエンコードする、検索可能メタデータを含みうるので、有利である。ＸＭＬはまた、より大きいドキュメントの分散されたほんの一部である場合、他の関連する断片を探し出すためのマニフェスト情報をエンコードすることもできる。新しい技術が適用可能になったとき、検索可能暗号化およびＰＤＰに加えて他のラッパを追加できることと組み合わせて、あらゆる合意されたＣＫＧ／ＣＴＰを使用できることの技術独立性は、柔軟なアーキテクチャがあらゆる種類のクラウドシナリオを扱うことができるようにする。ＸＭＬタグを、一貫性、証跡などを調節するために、拡大または追加することもできる。
【０１８４】
これがデータ分散技術と組み合わせられるとき、機密性、プライバシー、匿名性および整合性に関する強力な保証が達成される。この「信頼されたエンベロープ」を使用して、スキーマ情報、一貫性ヒント、バージョンおよび証跡、信頼度レベル（例えば、「クラウドコンピューティング」を使用するとき）、ほんの一部の他のピアからこのペイロードを再構成するためのロケータなどを含みうる、追加のメタデータにより、任意のペイロードをデコレートすることができる。
【０１８５】
１つの非限定的な応用例では、信頼できるＸＭＬは、ネットワーク効果を引き起こすために、「緩いフォーマットバインディング」を提供して、エコシステムを成長させる。ＦＴＯ（技術およびキーマネージャをパラメータ化する）およびＸＭＬの汎用交換フォーマットの組み合わせは、多様な技術的、適用、ドメイン、ロケール、主権的、フォーマットおよび他の要件への対処において、より大きい柔軟性を容易にする。
【０１８６】
もう１つの応用例では、シンジケーションのための現在の決済および調停は、エラー、省略および不正行為の傾向があるポイントトゥポイント交換を含む。安全でプライベートなデータサービスを介在させることは、したがって、信頼されたエンティティが信頼できるままであるように、選択的な開示を容易にする方法で、会計、監査などに直接利益を与えることになり、適切な規制者（コンプライアンス、法的）または仲介者（争いの解決など）が、トランザクションにおける信頼を築くために、ＸＭＬタグを選択的にそっと見ることを可能にすることができる。信頼できるＸＭＬの利点は、ペイロードが、格納側パーティがそれについて知る必要がなく、または、理解しようとすることすら必要でない、関係者間の独自のフォーマットをエンコードできることである。信頼できるラッパのレイヤは、したがって、著しい技術およびビジネスの価値を、法的およびコンプライアンスの価値および主権エンティティの価値と共に追加する。
【０１８７】
もう１つの応用例では、健康管理システム統合は、（ａ）異種の互換性のないレガシシステム、および（ｂ）より重要には、既存のソリューションプロバイダへの患者の定着性が失われることにより、厄介である。クラウドデータサービスをクリアリングハウスとして、および、信頼できるＸＭＬを相互交換フォーマットとして導入することによって、これらの既存のソリューションプロバイダはこれを、ＸＭＬによって容易にされた汎用フォーマットを活用しながらも、その定着性を保持するための手段と見なすことができる。
【０１８８】
ＦＴＯ可能であり、信頼できるＸＭＬを活用している「ルータ」（「ゲートウェイ／ガーディアン」）を使用することについては、（ａ）ルータは、ルーティングのために必要であるものを超えて学習する必要なしに、それらのことを行うことができ、（ｂ）ルータは、エラーまたは悪い動作に対する自由度がより少なく、（ｃ）遅延バインディングにより、複雑なキー管理がなくなることである。
【０１８９】
加えて、タグが追加もしくは拡大されるか、または、追加のメタデータがＸＭＬドキュメントに適用されて、コンテンツが様々なレベルの機微性であることを示すことが可能である。例えば、公開、秘密および最高秘密段落を有するドキュメントが存在することがある。検索を行い、秘密クリアランスによるアクセスを要求する人は、例として、公開および秘密段落へのアクセスのみを得るようになる。段落の分類はまた、暗号化機構、キーおよびアクセスポリシを決定するためにも使用可能である。例えば、最高秘密コンテンツには、無線またはリモートデバイスからアクセス不可能である。
【０１９０】
同様に、この分類は、データがどのように格納可能であるか、どこに格納可能であるか、どのくらい長く格納可能であるかなどについてのポリシを作成するために使用可能である。例えば、医療データは、１日１回、ＡＥＳ２５６暗号化を使用して、信頼できるデータセンタ内の安全なサーバへバックアップされなければならない。
【０１９１】
図３２は、一実施形態における、信頼できるＸＭＬをホストするための例示的処理を例示する流れ図である。３２００で、第１の制御の領域内のコンピューティングデバイスは、第２の制御の領域内のコンピューティングデバイスから、暗号化されたＸＭＬペイロードデータおよび暗号化されたＸＭＬタグを含む、暗号化されたＸＭＬデータを受信する。暗号化されたＸＭＬデータは、暗号キー情報に基づいた、検索可能暗号化アルゴリズム（複数可）による、第２の制御の領域内のコンピューティングデバイスの定義されたＸＭＬデータセットの暗号化から形成される。３２１０で、暗号キー情報に基づいて暗号化された補助メタデータが受信され、補助メタデータは、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグの解析から形成される。３２２０で、能力（複数可）を含むデータを求める要求が、その能力（複数可）によって定義されたような暗号化されたＸＭＬデータへの選択的アクセスを可能にする、暗号化されたＸＭＬペイロードデータまたは暗号化されたＸＭＬタグのうち一部にアクセスするための特権（複数可）を定義する暗号キー情報に基づいて、受信される。３２３０で、オプションとして、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータの正確なサブセットが、要求側と一致するサブスクライバデバイスによって受信されることが検証される。
【０１９２】
図３３は、一実施形態における、信頼できるＸＭＬをホストするための例示的処理を例示する流れ図である。３３００で、暗号キー情報が、サブスクライバデバイスに関連付けられた識別情報に基づいてその暗号キー情報を生成するキー生成コンポーネントから受信される。３３１０で、検索可能暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットが、サブスクライバデバイスによって要求される。暗号キー情報は、検索可能暗号化されたＸＭＬデータおよび対応するタグデータのためのストレージプロバイダへ送信される。３３２０で、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットが、暗号キー情報内で定義された能力によって可能にされたように、暗号化解除される。３３３０で、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータの正確なサブセットが、要求側と一致するサブスクライバデバイスによって受信されることが検証される。３３４０で、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットのコンテンツが、暗号化されたＸＭＬデータおよび対応するＸＭＬタグデータのサブセットを受信することに先立って、削除または修正されなかったことが確認される。
【０１９３】
図３４は、一実施形態における、信頼できるＸＭＬをホストするための例示的処理を例示する流れ図である。３４００で、暗号キー情報を生成する分離したキージェネレータから受信された暗号キー情報に基づいて、ＸＭＬデータが検索可能暗号化アルゴリズム（複数可）に従って暗号化されて、暗号化されたＸＭＬタグ情報を含む暗号化されたＸＭＬデータが形成される。３４１０で、暗号化されたＸＭＬデータが、暗号化されたデータのストレージのためにネットワークサービスプロバイダへ送信される。３４２０で、要求側デバイスの識別情報に基づいて、要求側デバイスに付与された、選択された特権の遅延バインディングによって、暗号化されたデータが選択的にアクセス可能である。
【０１９４】
図３５は、一実施形態における、信頼できるＸＭＬをホストするための例示的処理を例示する流れ図である。３５００で、暗号化されたＸＭＬタグを含む検索可能暗号化されたＸＭＬデータのサブセットを求める要求が、サブスクライバデバイスによって行われる。３５１０で、暗号キー情報が、そのサブスクライバデバイスに関連付けられた識別情報に基づいてその暗号キー情報を生成するキー生成コンポーネントから受信される。３５２０で、暗号化されたＸＭＬデータのサブセットが、暗号キー情報内で定義された、そのサブスクライバデバイスに付与された特権に応じて、暗号化解除される。
【０１９５】
様々な実施形態について提供されたように、信頼できるＸＭＬは、データ全部をより低いノードレベルまで保護し、アクセス特権をノードレベルで、一般的かつ効率的な方法で保護することができる。
【０１９６】
１つまたは複数の概念を例示する様々なサンプルが以下で示され、匿名ＩＢＥが採用され、かつ／または、ＡＥＳが、曖昧化のための暗号技術として使用される。しかし、あらゆる適切な数学的変換がそのような例において使用可能であり、よって、ＸＭＬデータを曖昧化するかまたは隠すための所与の技術は、より一般的な概念のいずれをも限定するように解釈されるべきではないことを理解されたい。
【０１９７】
一実施形態では、ＸＭＬのエンコードは、信頼できるＸＭＬを出力する、エンコード変換器を通じてＸＭＬを渡すことによって行うことができ、デコードは、対応するデコード変換器を通じて信頼できるＸＭＬを渡すことによって行うことができる。この点について、同じノードを複合的に保護して（複数のレベルでラップして）、ノードの境界を越えてより高い保護を有することができる。
【０１９８】
以下の例示的であるが非限定的な例では、選択的エンコードの観念を使用して、異なるデータ部分を異なって扱う、信頼できるＸＭＬの実装を説明するために、患者レコードが使用される。
【０１９９】
【表１】
0005639660.tif 000002
【０２００】
１つの非限定的な態様では、信頼できるＸＭＬは、ＸＭＬドキュメントの選択された部分の保護を可能にするが、ドキュメント全体ではない。例として、ある実装は、すべてが「action="encode"」とマークされる、内側ブロックの要素を保護することができる。
【０２０１】
例えば、患者の名前を保護するには、Name要素を以下のようにマークすることができる。
【０２０２】
【表２】
0005639660.tif 000003
【０２０３】
結果として、データペイロード、ここでは名前「Ｊｏｈｎ  ＭｃＫｅｎｚｉｅ」は、誰にも見えなくなる。
【０２０４】
この選択的エンコードは、任意の要素レベルで行うことができ、例えば、フラットな要素（上記のように）に対して行うことができ、または、以下のような「BloodTest」のような、ある階層的要素に対して設定することができる。
【０２０５】
【表３】
0005639660.tif 000004
【０２０６】
上記の例では、「BloodTest」要素の内側の「TestData」全体が誰にも見えなくなる。
【０２０７】
限定されないが、暗号化など、様々な数学的変換を行うためのセットアップのために、プリプロセッサ情報が生成されうる。例として、匿名ＩＢＥ（ＡＩＢＥ）およびＡＥＳがクリプト技術として使用可能であるが、やはりこれらは非限定的であることに留意されたい。
【０２０８】
一実施形態では、このシステムは、本明細書の他のところで説明されるように、一般にフェデレーションアーキテクチャについて説明されるように、ＡＩＢＥのための秘密を管理かつ生成するための独立した能力生成センタ（ＣＧＣ）を有することができる。
【０２０９】
ＡＩＢＥセットアップを行うには、一実施形態では、ＣＧＣは、公開パラメータ（複数可）（ＰＵＢ）およびマスター秘密キー（ＭＳＫ）を生成することができる。ＭＳＫは、ＣＧＣ内で秘密に保たれうる。ＰＵＢは、ＡＩＢＥを使用するときのために、アプリケーションのエンドユーザに供給されうる。
【０２１０】
図３６は、信頼できるＸＭＬドキュメントを選択的にエンコードするために、ＡＩＢＥに関連して使用するための例示的、非限定的なアルゴリズムの流れ図である。３６００で、「encode」のためにマークされた要素の内側ブロック（Ｒ）が受信される。３６１０で、新しい暗号化キー（Ｋ）が生成され、３６２０で、内側ブロック（Ｒ）がキー（Ｋ）により暗号化され、例えば、（Ｒ）→Ｒ’である。３６３０で、後に能力を要求するために使用されるキーワードである、「Identity Keyword」（ｗ）が生成される。３６４０で、任意の非対称アルゴリズムにより（ｗ）を使用して、（Ｋ）が保護され、結果が（Ｋ’）として取られる。３６５０で、（Ｒ）および（Ｋ）を破棄することができる。３６６０で、（Ｒ’）および（Ｋ’）を、対応する能力を後に得るために、アルゴリズム情報およびサービス情報に追加することができる。
【０２１１】
以下は、ＡＥＳおよびＡＩＢＥを使用したサンプル実装である。
【０２１２】
以下の要素で開始する。
【０２１３】
【表４】
0005639660.tif 000005
【０２１４】
このサンプル実装では、（Ｒ）は以下の通りである。
【０２１５】
【表５】
0005639660.tif 000006
【０２１６】
エンコードの一部として行われるデータ処理については、最初に、２５６ビットＡＥＳ暗号化キー（Ｋ）が生成される。次に、ＡＥＳがレコード（Ｒ）を暗号化し、例えば、
ＡＥＳK（Ｒ）→Ｒ’である。
【０２１７】
一例として、ベース６４エンコードされたＲ’の値は、以下のように表されることがある。
【０２１８】
【表６】
0005639660.tif 000007
【０２１９】
ドキュメントの「Id」を次いで取ることができ、「element」名により追加することができる。これは、「Identity Keyword」（ｗ）として使用されるようになる。例えば、ここで、（ｗ）は「JK392E8DBloodTest」であってもよい。次に、ＡＩＢＥを使用して、（Ｋ）が保護され、例えば、以下の通りである。
ＡＩＢＥ（ＰＵＢ，ｗ，Ｋ）→Ｋ’
【０２２０】
ＡＩＢＥを介した保護の結果として、Ｋ’は、以下のように見えることがある。
【０２２１】
【表７】
0005639660.tif 000008
【０２２２】
上述のように、この時点で、ＲおよびＫを破棄することができ、出力ＸＭＬを生成することができる。
【０２２３】
出力ＸＭＬをコンパイルすることについては、（Ｒ’）は「Value」要素の内側に保たれ、例えば、以下の通りである。
【０２２４】
【表８】
0005639660.tif 000009
【０２２５】
次に、使用された変換アルゴリズム（複数可）が追加される。ここでは、例えば、暗号化およびＡＥＳとなる。
【０２２６】
【表９】
0005639660.tif 000010
【０２２７】
さらに、名前空間が定義され、「Data」要素の内側でカプセル化され、例えば、以下の通りである。
【０２２８】
【表１０】
0005639660.tif 000011
【０２２９】
キーに関しては、（Ｋ’）はKey要素の内側で維持され、例えば、以下の通りである。
【０２３０】
【表１１】
0005639660.tif 000012
【０２３１】
さらにまた、使用された変換情報が追加される。ここでは、例えば、再び暗号化およびＡＩＢＥであり、例えば、以下の通りである。
【０２３２】
【表１２】
0005639660.tif 000013
【０２３３】
そのためにデコーダがキーを取得するサービス情報もまた追加され、例えば、以下の通りである。
【０２３４】
【表１３】
0005639660.tif 000014
【０２３５】
例えば、名前空間を定義し、「KeyInfo」にカプセル化することができ、以下の通りである。
【０２３６】
【表１４】
0005639660.tif 000015
【０２３７】
BloodTestについての出力要素の一例は、以下の通りである。
【０２３８】
【表１５】
0005639660.tif 000016
【０２３９】
変換の一例が、以下の入力レコードおよび変換された出力によって例示される。
【０２４０】
入力レコードの例：
【０２４１】
【表１６】
0005639660.tif 000017
【０２４２】
変換された出力レコードの例：
【０２４３】
【表１７】
0005639660.tif 000018
0005639660.tif 000019
0005639660.tif 000020
0005639660.tif 000021
【０２４４】
上記の例は、このように、任意のデータ曖昧化または他の数学的変換をＸＭＬデータの異なる部分に適用し、異なる部分を異なってエンコードし、データへの選択的アクセスを可能にすることができることを強調する。
【０２４５】
デコードについては、最初に、能力が要求側エンティティによって取得または受信される。能力を得るため、デコーダは、「Identity Keyword」（ｗ）をＣＧＣに供給し、「Capability」（Ｃ）を求める。この要求に応じて、ＣＧＣは、所与の「Identity Keyword」のための能力（Ｃ）を供給する。
【０２４６】
この点について、供給された能力は、一致された「Identity Keyword」（ｗ）のための（Ｋ’）をオープンにするが、他のＫ’はオープンにしない。所与のサンプルでは、ユーザがドキュメント内の「Name」を得ることを望む場合、ユーザは、要素「Name」のための「Identity Keyword」（ｗ）を供給する。
【０２４７】
ここで、（ｗ）は、「JK392E8DName」となる。
【０２４８】
ユーザが能力を得た後、この能力がＫ’に適用されて、以下に従ってＫが得られる。
ＡＩＢＥ（Ｋ’，ＰＵＢ，Ｃ）→Ｋ
【０２４９】
このとき、Ｋにより、ユーザはＫを使用してＲ’を暗号化解除することができるようになり、例えば、以下の通りである。
ＡＥＳK（Ｒ’）→Ｒ
【０２５０】
コンテナレスデータについて説明されたような、フェデレーション信頼オーバーレイアーキテクチャに関する様々な追加の実施形態および詳細が、以下で補足的状況について提供される。
【０２５１】
信頼できるクラウドサービスエコシステムについての補足的状況
上記のように、独立したデータ保護および暗号技術が様々に組み合わせられて、例えば、ＣＳＰによって維持されるなど、リモートサイトで、データとして格納された、データに関するプライバシー、信頼およびセキュリティが強化される。一般的なエコシステムが一般的なデータまたはネットワークサービスに関連して後述されるが、そのような一般的なデータまたはネットワークサービスは、データをリモートサイトで格納するための上述のシナリオのうち、任意の１つまたは複数に対して使用可能である。
【０２５２】
デジタルエスクローパターンは、クラウド内に格納されたデータのための検索可能暗号化技術を含むネットワークデータサービスのために提供され、信頼を複数のエンティティに渡って分散させて、単一のエンティティによる危殆化を回避する。一実施形態では、キージェネレータ、暗号技術プロバイダ、および、クラウドサービスプロバイダは、それぞれ分離したエンティティとして提供され、データの発行者がデータを機密として（暗号化された状態で）クラウドサービスプロバイダに発行し、次いで、暗号化されたデータを、そのデータを要求するサブスクライバに対して、サブスクライバ要求に応答して生成されたキー情報内でエンコードされたサブスクライバ識別情報に基づいて、選択的に公開することができるようになる。
【０２５３】
検索可能暗号化／暗号化解除アルゴリズム（複数可）については、１つまたは複数の暗号技術プロバイダによって実装された検索可能公開キー暗号化（ＰＥＫＳ）方式は、任意の所与のメッセージＷに対して、トラップドアＴＷを生成し、所与のサイファテキストがＷの暗号化であるかどうかのチェックをＴＷが可能にするようにし、ただし、ＴＷは、プレーンテキストについてのいかなる追加の情報をも明らかにしない。後述の様々な実施形態によれば、ＰＥＫＳ方式を使用して、データ、例えば、メッセージテキストに含まれたキーワードに基づいて、暗号化されたメッセージなど、暗号化されたデータの優先度設定またはフィルタリングを行うことができる。したがって、対応するキーワード（複数可）に対する能力（時として、暗号使用者によって「トラップドア」と呼ばれる）をリリースすることによって、データ受信者に、キーワード（複数可）に関する暗号化されたデータの部分への選択されたアクセスを与えることができる。このように、暗号化されたデータを、これらのキーワードについてチェックすることができるが、サブスクライバの能力が可能にするものを超えて、サブスクライバから学習されるようになるものはないという、アシュアランスがある。
【０２５４】
不確かさを避けるため、ＰＥＫＳは、本明細書の１つまたは複数の実施形態における検索可能暗号化を実装するためのアルゴリズムとして開示されるが、様々な代替アルゴリズムが検索可能暗号化を達成するために存在することは理解されよう。ＰＥＫＳについてのいくつかの例示的、非限定的な代替には、例として、Ｏｂｌｉｖｉｏｕｓ  ＲＡＭが含まれる。したがって、本明細書で使用されるような「検索可能暗号化」という専門用語は、いずれか１つの技術に限定されるべきではなく、よって、暗号化されたデータのサブセットの選択的アクセスを、その暗号化されたデータに対する検索またはクエリ機能性に基づいて可能にする、広範囲の暗号化機構または暗号化機構の組み合わせを指す。
【０２５５】
オプションとして、結果の検証および／または確認が、エコシステム内のデータのサブスクライバおよび発行者にとっての追加の利益として提供されうる。検証は、データのサブセットを求めるサブスクリプション要求の結果として受信されたデータの項目が、正確な項目のセットであること、すなわち、受信されるべきであった正確なデータのサブセットが実際に受信されたことを検証する方法を提供する。暗号技術における１つの技術は、データ保有の証明（複数可）（ＰＤＰ）であるが、不確かさを避けるため、ＰＤＰは、実装可能なアルゴリズムの一例でしかなく、同じまたは類似の目標を達成する他のアルゴリズムを使用することができる。データ保有の証明可能または証明（複数可）は、ストレージサーバがそのクライアントの潜在的に大きい外部委託されたデータを忠実に格納中であることを頻繁に、効率的かつ安全に確認する方法についてのトピックである。ストレージサーバは、セキュリティおよび信頼性の両方に関して信頼されていないと仮定される。
【０２５６】
結果の確認は、項目自体のそのコンテンツをチェックするための、すなわち、サブスクリプション要求に関連して受信された項目がいかなる承認されていないエンティティによっても改ざんされなかったことを保証するために、追加の機構を提供する。暗号技術における確認の一例は、データ保有の証明（複数可）（ＰＤＰ）であるが、不確かさを避けるため、ＰＤＰは、実装可能なアルゴリズムの一例でしかなく、同じまたは類似の目標を達成する他のアルゴリズムを使用することができる。暗号技術において知られているもう１つの技術は、取得可能性の証明（複数可）（ＰＯＲ）であるが、不確かさを避けるため、ＰＯＲは、実装可能なアルゴリズムの一例でしかなく、同じまたは類似の目標を達成する他のアルゴリズムを使用することができる。ＰＯＲは、サービスプロバイダまたはデータホスト側（証明者）による、クライアント（確認者）に対する、クライアントがファイルＦを十分に回復することができ、かつ、改ざんが発生していないという意味で、対象ファイルＦが変わっていないという小型の証明である。
【０２５７】
追加のオプションとして、エコシステムは、匿名の資格情報の観念を実装することができ、それにより、発行者は、重大な詳細を公開せずに、匿名の方法で発行者自身についての情報をアップロードすることができ、サブスクライバは、発行者によってアップロードされた重大な詳細にさらされること、またはそれへのアクセスが提供されることが不可能であるように、それらの能力によって限定されうる。このように、発行者またはサブスクライバは、自分が望む量の情報のみをサードパーティに公開しながら、システムとインタラクトすることができる。
【０２５８】
従来のウェブサービスは、静的なクライアントサーバ配置、および、ウェブサービスのデータにアクセスするための静的に定義されたユーザポリシに限定されていた。しかし、絶えず変化かつ発展している複雑なビジネスおよび他の関係によって、多数の発行者およびサブスクライバが企図されるとき、そのような従来のウェブサービスモデルは、十分に柔軟または安全であることができない。したがって、様々な実施形態では、遅延バインディングが可能にされ、データおよびコンテンツの発行者および／または所有者が、誰がサブスクライバ（複数可）であるかに基づいて、彼らの能力（複数可）に基づいて、かつ、彼らが何を探しているかに基づいて、例えば、データを求める要求において採用されたキーワード（複数可）に基づいて、暗号化されたコンテンツへのアクセス特権を変更することができるようになる。したがって、サブスクライバが選択的にアクセスすることができるものは、発行者および／または所有者によるアクセス特権への変更と一致して動的に変化し、その理由は、サブスクライバの能力が、キージェネレータによって急いで提供されたキー情報内でエンコードされるからである。したがって、サブスクライバの特権は、所与の要求に対して、その要求のためのキー生成時に定義され、よって、サブスクライバからの要求に対して、常に現在のポリシを反映する。
【０２５９】
同様に、信頼できるクラウドサービスのサーバのアドミニストレータは、サーバによって扱われたアクティビティおよびデータトランザクションのログを観察することが許可されうるが、いかなる顧客の名前またはクレジットカード情報を見ることも制限されうる。サブスクライバの識別は、したがって、サブスクライバがアクセスできるデータの種類を限定することに基づくようにすることができる。
【０２６０】
信頼できるエコシステムの様々な非限定的な実施形態が、本明細書でクラウドサービスに対する信頼を構築することに関連して提示されるが、本明細書で提供されるエコシステムの信頼構築は、はるかにより一般的であり、クラウドサービスへの適用に限定されない。むしろ、本明細書で説明される実施形態は、企業データセンタ内の異なるサーバまたは関係者に同様に適用可能である。したがって、データは決して所与のエンティティから離れなくてもよいが、本明細書で説明されるような信頼を構築するための技術は、企業内の異なる処理が分離した制御の領域内で動作する場合に、等しく適用可能である。すべての企業処理に渡る可視性がなければ、関係者が企業にとって外部であるかのように、同様の不信の問題が生じることがある。例として、アドミニストレータの制御下であるとしても、サーバが企業内で破られる可能性があり、または、アドミニストレータが不注意になり、または悪意を有する可能性がある。
【０２６１】
クラウド内の暗号化されたデータへの適用に加えて、本開示の様々な技術はまた、ラップトップまたは他のポータブルデバイス上に格納されたデータにも適用可能であり、その理由は、ラップトップは失われたり、または盗まれたりする恐れがあるからである。そのような場合、そのデバイスは、非常に好奇心の強い、または悪意のあるエンティティに保有されることになりうるが、クラウド内のデータの保護に適用される、本明細書で説明される同じ技術が、サーバまたはラップトップ上のデータを保護するためにも適用可能である。ローカルデータが暗号化される場合、適切なサブスクライバ資格情報がなければ、泥棒は、そのデータにアクセスするための適切な役割または能力を示すことができず、ローカルの暗号化されたデータを理解することができなくなる。
【０２６２】
図３７は、一実施形態による、信頼できるクラウドサービスフレームワークまたはエコシステムのブロック図である。このシステムは、検索可能暗号化されたデータ３７１０を格納するための信頼できるデータストア３７００を含み、サブスクライバ要求の結果は、検証および／または確認を受ける。この点について、ネットワークサービス３７２０は、安全なデータ３７１０に基づいて構築可能であり、例えば、ネットワークサービス（複数可）３７２０を介して、データの発行者が、データを要求するサブスクライバ３７４０に付与された能力に対する制御を保持するようにする。発行者３７３０はまた、サブスクライバ３７４０であってもよく、逆もまた同様であり、データの所有者３７５０もまた、発行者３７３０および／またはサブスクライバ３７４０のいずれかであってもよい。定義することができるいくつかの共通の役割および対応する能力のセットの一例として、専門の種類の発行者３７３０およびサブスクライバ３７４０が、アドミニストレータ３７６０および監査者３７７０である。
【０２６３】
例として、アドミニストレータ３７６０は、信頼できるデータストア３７００の操作を維持する助けとなるために、データ３７１０に対する専門の許可のセットであってもよく、監査者エンティティ３７７０は、監査の範囲内で一定のデータの整合性を維持する助けとなりうる。例として、監査者３７７０は、不快なキーワードを含むデータ３７１０のメッセージにサブスクライブする可能性があり、その場合、監査者３７７０は、付与された能力に従って許可される場合、データ３７１０のメッセージがそのような不快なキーワードを含んだときに警告を受けるようになるが、他のメッセージを読むことはできなくなる。この点について、キーを分配することができ、そのデータへの選択的アクセスを可能にするように、発行者データをデジタルエスクローに配置するための能力に基づいて、無数のシナリオを構築することができる。
【０２６４】
例として、発行者は、エコシステムに対して認証を行い、エコシステムにアップロードするためのドキュメントのセットを示す。これらのドキュメントは、暗号キー情報を生成する分離したキージェネレータから受信された暗号キー情報に基づいて、検索可能暗号化アルゴリズムに従って暗号化される。次いで、暗号化されたデータは、暗号化されたデータのストレージのためにネットワークサービスプロバイダへ送信され、要求側デバイスの識別情報に基づいて、要求側デバイスに付与された、選択された特権の遅延バインディングによって、暗号化されたデータが選択的にアクセス可能であるようにする。暗号技術プロバイダを、暗号化されたデータのストレージから分離することで、加えて、暗号化されたデータをさらなる危殆化から隔離する。
【０２６５】
この点について、図３８は、信頼できるクラウドサービスエコシステムによってデータを発行するための例示的、非限定的な方法を例示する流れ図である。３８００で、発行者が、システムに対して認証を行う（例えば、発行者が、ユーザ名およびパスワード、Ｌｉｖｅ  ＩＤ資格情報などによりログインする）。３８１０で、キー情報が、以下の１つまたは複数の実施形態で説明されるようなキー生成用センタなど、キージェネレータによって生成される。３８２０で、分離した暗号技術プロバイダは、キー情報に基づいて、発行者のドキュメントのセットを暗号化する。３８３０で、暗号化されたドキュメントが能力と共に、ネットワークサービスプロバイダ、例えば、ストレージサービスプロバイダへアップロードされ、要求側デバイス（サブスクライバ）の識別情報に基づいて付与された、選択された特権の遅延バインディングにより、暗号化されたドキュメント（複数可）が選択的にアクセス可能であるようにする。
【０２６６】
サブスクライバ側では、例えば、サブスクライバは、エコシステムに対して認証を行い、データのサブセットを求める要求、例えば、所与のキーワードまたはキーワードのセットを含むドキュメントのサブセットについてのクエリを示す。少なくとも１つのサブスクライバデバイスからの、検索可能暗号化されたデータのサブセットを求める要求に応答して、キー生成コンポーネントは、そのサブスクライバデバイスに関連付けられた識別情報に基づいて、暗号キー情報を生成する。次いで、暗号化されたデータのサブセットが、暗号キー情報内で定義されたような、そのサブスクライバデバイスに付与された特権に応じて、暗号化解除される。
【０２６７】
図３９は、信頼できるクラウドサービスエコシステムによってデータにサブスクライブするための例示的、非限定的な方法を例示する流れ図である。３９００で、データにサブスクライブするための方法は、サブスクライバを認証すること（例えば、サブスクライバが、ユーザ名およびパスワード、Ｌｉｖｅ  ＩＤ資格情報などによりログインする）を含む。３９１０で、サブスクライバは、データを求める要求を行う。３９２０で、キー情報が、サブスクライバ要求に基づいて、独立したキー生成エンティティによって生成され、サブスクライバの能力は、キー情報内で定義されうる。３９３０で、発行者データのサブセットが、キー情報内で定義された能力に基づいて暗号化解除される。例として、ＣＳＰは、データを暗号化解除することができる。３９４０で、発行者データのサブセットがサブスクライバにとってアクセス可能にされ、例えば、サブスクライバは、所有者／発行者によって付与された、動的に定義可能な能力に基づいて、データのダウンロード、表示、処理、変更などを行うことができる。オプションとして、暗号化、暗号化解除およびキー生成のために使用される技術は、分離した暗号技術プロバイダによって供給可能であるが、任意の関係者によってホストすることができる。
【０２６８】
一実施形態では、サブスクライバデバイスの識別情報は、サブスクライバの役割を含む。例として、監査者役割、またはアドミニストレータ役割、または他の予め指定された役割は、検索可能暗号化されたデータストアの様々な部分へのアクセスを制限または許可するための基礎として、発行者／所有者によって使用されうる。
【０２６９】
図４０は、信頼できるエコシステムにおいて、キー生成用センタ（ＣＫＧ）４０００、暗号技術プロバイダ（ＣＴＰ）４０１０およびクラウドサービスプロバイダ（ＣＳＰ）４０２０を分離し、それにより、単一のエンティティによる危殆化の可能性がなくなることを示す、例示的エコシステムを例示する。この点について、顧客（複数可）４０３０には、データの発行者および／またはサブスクライバが含まれる。オプションとして、ＣＫＧ４０００は、例えば、ＣＴＰ４０１０によって提供された、参照ソフトウェア、オープンソースソフトウェア、および／または、ソフトウェア開発キット（ＳＤＫ）に基づいて構築可能であり、パーティのためのビルディングブロックがそのようなコンポーネントをそれ自体で作成すること、または、そのようなエコシステムコンポーネントのサードパーティ実装によって満たされることが可能となる。一実施形態では、ＳＤＫは、ＣＴＰ４０１０によって提供され、１つまたは複数の関係者によって、ＣＫＧ４０００、以下でより詳細に説明される計算およびストレージ抽象化（ｃｏｍｐｕｔｅ  ａｎｄ  ｓｔｏｒａｇｅ  ａｂｓｔｒａｃｔｉｏｎ）（ＣＳＡ）、および／または、暗号クライアントライブラリをホストまたは実装するために使用可能である。オプションとして、ＳＤＫを、ＣＴＰ４０１０から、ＣＫＧ４０００をホストするエンティティへ配布することができる。
【０２７０】
概して、ＣＫＧ４０００、ＣＴＰ４０１０またはＣＳＰ４０２０の各々は、所与の実装に応じて、サブコンポーネントに再分割されうるが、全体の分離は、信頼を維持するために保存される。例として、マスター公開キー（ＭＰＫ）配信４００２、クライアントライブラリダウンローダ４００４、秘密キーエクストラクタ４００６、信頼確認者４００８、または他のサブコンポーネントなど、ＣＫＧエンティティ４００１は、別々に、サブセットで、または、統合されたコンポーネントとして共に提供されてもよい。エンコードおよびデコードのためのクライアントアプリ４０１２、代替暗号化技術４０１４、ＣＫＧとインターフェイスするためのアプリケーション４０１６、他のクリプトビルディングブロック４０１８、その他など、ＣＴＰエンティティ４０１１もまた、別々に、サブセットで、または共に提供されてもよい。また、ＣＳＰ４０２０は、ストレージサービス４０２４およびサービスホスティング４０２８をそれぞれホストするＣＳＰ４０２２、４０２６など、同数の分離したサービスプロバイダであると考えることができ、または、そのようなサービスは共に提供されてもよい。
【０２７１】
信頼できるエコシステム内の１つまたは複数の関係者によってホストされたＣＫＧまたはＣＫＧインスタンス（複数可）は、単一のモノリシックなエンティティである必要はないことは理解されよう。むしろ、ＣＫＧは、協力してキーを生成するいくつかの（冗長）エンティティに分離可能であり、関係者の小さいサブセットがオフラインである場合でさえ、操作が継続できるようになる。一実施形態では、オプションとして、関係者のセットは、これらの関係者の小さいサブセットが敵対者によって危殆化されており、または他の方法で使用不可能または信頼されなくなった場合でさえ、全体として信頼されうる。
【０２７２】
図４１は、企業４１００のためのクラウドサービスを行うための信頼できるエコシステムのさらなる利点を例示する、もう１つのアーキテクチャ図である。例として、企業４１００は、異なる組織４１０２、４１０４、４１０６、４１０８を含みうる。この図における異なる組織４１０２、４１０４、４１０６、４１０８は、組織が、システムの使用またはキー生成のためのポリシを実装することに関して、それだけ多くまたはそれだけ少ない所有権を引き受けることができることを例示する。例として、組織４１０２は、それ自体のポリシ４１１２を実装するが、集中キージェネレータ４１２２を使用するのに対して、組織４１０４は、それ自体のキージェネレータ４１２４を実装し、それ自体のポリシ４１１４を実装することを選択する。組織４１０６もまた、それ自体のポリシを実装するが、サードパーティＣＫＧ４１２６に依拠するのに対して、組織４１０８は、サードパーティポリシプロバイダ４１１８および独立したＣＫＧ４１２８に依拠することを選択する。
【０２７３】
この点について、データを発行するために、発行者４１４０は、ＣＫＧ４１２２からの出力に基づいて、データを暗号化するための公開パラメータ４１３５を得る。公開パラメータに基づいて、４１４５で、データが、発行者デバイス４１４０によって、独立した暗号技術プロバイダを使用して暗号化される。暗号化されたデータは、ストレージ抽象化サービス４１５０へアップロードされ、ストレージ抽象化サービス４１５０は、ＣＳＰ４１７２、４１７４、４１７６または４１７８など、１つまたは複数のＣＳＰ４１７０によって、暗号化されたデータを格納することに関連したストレージセマンティクスを隠す。サブスクライバデバイス４１６０上で、データを求める要求は、ＣＫＧ４１２２からプライベート秘密キー４１６５を生成する結果となる。プライベート秘密キー４１６５は、サブスクライバデバイス４１６０が、４１５５でデータを暗号化解除することによって、検索可能暗号化されたデータに選択的にアクセスできるようにする、情報を含む。ここでもまた、ＣＳＰ４１７０からデータを取得するセマンティクスは、ストレージ抽象化サービス４１５０によって隠される。また、サブスクライバデバイス４１６０に付与された特権は、発行者／所有者によって付与された能力の遅延バインディングにより、現在の特権のセットである。
【０２７４】
複数のデータ所有者、企業または消費者が、本明細書で説明されるような信頼できるエコシステムに関与して、信頼された関係を確立できることは、図４１から理解されよう。そのような場合、各所有者は、自身のＣＫＧ（例えば、組織４１０４のＣＫＧ４１２４）をホストまたは制御して、要求されたデータのすべての共同所有者から必要なキーを収集するために、データを求める要求またはクエリが対応するＣＫＧへ転送されるようにすることができる。
【０２７５】
図４２は、ストレージ抽象化レイヤ４２１０を介した異なるストレージプロバイダの適応を例示する、もう１つのブロック図である。信頼できるエコシステムでは、クライアントアプリケーション４２４０、４２４２をそれぞれ有するデスクトップ４２３０、４２３２は、上記のようにデータを発行またはサブスクライブして、キー生成用センタ４２２０に対して、データの暗号化または暗号化解除で使用するためのキー情報を求める要求を開始してもよい。同様に、サービス４２４４、４２４６、４２４８もまた、エコシステム内の発行者および／またはサブスクライバであってもよい。この点について、プライベートクラウドストア４２００、ＳＱＬデータサービスストア４２０２、または、シンプルストレージウェブサービス４２０４などのうちいずれかによって、データのストレージまたは抽出を行うために、ストレージ抽象化サービス４２１０は、その名前が暗示するように、特定の１つまたは複数のストレージリポジトリについての詳細を、クライアントから離すように抽象化する。
【０２７６】
この点について、不確かさを避けるため、図４２は、複数の状況を対象としている。ある状況では、図４２は、時として、計算およびストレージ抽象化（ＣＳＡ）とも呼ばれる、ストレージ抽象化サービスを通じて、ストレージプロバイダの仲介の切断（それらを個体として抽象化する）を包含する。加えて、図４２は、データが、同じタイプであっても異なるタイプであってもよい複数のバックエンドストレージプロバイダにセグメント化かつ／または展開され（例えば、冗長性のため）、バックエンドストレージプロバイダの１つ（または少数）がそのデータのそれらのコピーを偶然または意図的に削除または改変する場合であっても、元のデータが再構成可能にされる、シナリオを包含する。
【０２７７】
図４３は、プライベートクラウドストア４３００、ＳＱＬデータストア４３０２、シンプルストレージウェブサービスストア４３０４などのストレージの詳細を抽象化する、サーバオペレーティングシステム（ＯＳ）４３１４およびストレージサービス４３１２を含むストレージ抽象化サービス４３１０に関連した、ストレージのさらなる態様を例示する。クライアントは、クライアントアプリケーション４３４０および４３４２をそれぞれ有する、デスクトップ４３５０または４３５２であってもよい。キー生成用センタ４３２０は、サーバＯＳ４３２４上で実行するキージェネレータアプリケーション４３２２を含みうる。この点について、アクティブディレクトリ４３３６、サーバＯＳ４３３４およびセキュリティトークンサービス（ＳＴＳ）４３３２を有する組織４３３０は、エコシステム内の発行者またはサブスクライバであってもよい。この点について、ストレージ転送フォーマット（ＳＴＦ）は、暗号化されたデータおよびメタデータを複数のリポジトリに渡って交換するために使用可能である、標準相互交換フォーマットである。例として、組織４３３０は、ストレージサービスプロバイダ４３００、４３０２または４３０４の間で電子メールデータを転送することを望むことがあり、その場合、ＳＴＦが使用可能である。
【０２７８】
図４４は、信頼できるエコシステム４４２０における様々な異なる関係者を例示する、もう１つのブロック図である。上述のように、有利には、企業４４００は、データのボリュームのストレージおよび維持を、オンサイトから、そのようなボリュームを取り扱うことにより適したクラウドストレージサービスプロバイダへオフロードすると同時に、データが間違ったサブスクライバへ暗号化解除されないという安心感を維持することができ、その理由は、企業が、暗号化されたデータに対して定義された能力に対する制御を維持するからである。例として、組織４４０２は、Ｓｈａｒｅｐｏｉｎｔなど、共同アプリケーション４４１２を操作することがある。この点について、組織４４０２は、ｓｈａｒｅｐｏｉｎｔデータのために、デジタルエスクロー、または、信頼されたドメインをセットアップしてもよい。ポリシ４４３２およびＣＫＧ４４３４は、第１のデータセンタ４４３０によって実装可能であり、第１のデータセンタ４４３０は、信頼されたドメインのための暗号キー情報４４４５を定義することによって、安全な空間をセットアップするように動作する。
【０２７９】
次いで、例えば、発行者４４１４として振る舞う、別の組織４４０４は、ＣＫＧ４４３４から得られたキー情報に基づいてデータを暗号化することができ、その時点で、第２のデータセンタ４４４０のコンピュータおよびストレージ抽象化コンポーネント４４４２は、第３のデータセンタ４４５０で、例えば、ＣＳＰ４４５２内で、検索可能暗号化されたデータを格納する詳細を扱う。その反対に、組織４４０４のサブスクライバ４４１６がデータを要求するとき、プライベートまたは秘密キー情報がサブスクライバ４４１６へ、抽出４４６５の一部として配信される。次に、サブスクライバのために定義された能力を含むプライベートキー情報に基づいて、４４７５で、サブスクライバが特権を有し、かつ、ここでもまた抽象化レイヤ４４４２が基になるストレージ４４５２の詳細を扱うと仮定して、サブスクライバによって要求されたデータが暗号化解除される。
【０２８０】
図４５は、異なるかまたは同じエンティティによって異なる部分が提供されうる、信頼できるクラウドコンピューティングシステムの例示的、非限定的な実装のいくつかのレイヤの代表的な図である。レイヤスタックの底部には、暗号化／暗号化解除アルゴリズムを実装するために使用される数学および暗号ライブラリ４５８６がある。様々な暗号方式の定義の抽象化は、詳細なライブラリ４５８６と検索可能暗号方式の実際の実装４５８２の間の中間レイヤ４５８４として提供されうる。全体として、レイヤ４５８２、４５８４および４５８６は、より大きい暗号サービスレイヤ４５８０を形成し、暗号サービスレイヤ４５８０は、サービス（ＳａａＳ）アプリケーションエコシステムとしてのソフトウェアのための抽象化レイヤ４５６０と組み合わせられるとき、信頼されたデジタルエスクロー４５７０、および、したがってストレージの実装のための基礎を形成する。抽象化レイヤ４５６０は、デジタルエスクローパターン、すなわち、SetUp()、Encrypt()、Extract()、Decrypt()、その他など、コマンドを実装するために使用される基本言語を含む。
【０２８１】
抽象化レイヤ４５６０の上には、様々なより特定のプラットフォーム技術（例えば、ＳＤＳ、Ａｚｕｒｅ、バックアップ／アーカイブ、ＲＭＳ、ＳＴＳなど）に結び付くレイヤ４５５０がある。様々な特定のプラットフォーム技術に結び付くレイヤ４５５０の上には、信頼されたデジタルエスクローを使用する様々なＳａａＳアプリケーション４５００がある。例示的、非限定的な例示は、デジタルエスクローアプリケーション４５００が単一の会社４５１０によって、またはパートナー４５３０によって、または両方によって実装可能であることを示す。例として、会社４５１０は、高性能コンピューティング（ＨＰＣ）、電子情報開示および法的証拠開示（ｅＤｉｓｃｏｖｅｒｙ  ａｎｄ  Ｌｅｇａｌ  Ｄｉｓｃｏｖｅｒｙ）４５１４、Ｌｉｖｅサービス４５１６（例えば、ＤＢｏｘ）、サービスとしてのバックアップ／アーカイブ４５１８、監査ログ−ビジネス処理および監視４５２０、または、他のクラウドサービス４５２２など、サービスを実装してもよい。同様に、パートナー４５３０は、ｅＬｅｔｔｅｒＯｆＣｒｅｄｉｔ４５３２、バーティカルのためのサービスとしてのＨＰＣ４５３４、ｅＨｅａｌｔｈサービス、安全なエクストラネット４５３８、コンプライアンス４５４０、訴訟サポート４５４２、その他など、サービスを実装することができる。
【０２８２】
信頼できるクラウドサービスエコシステムに基づいたシナリオ
本明細書で説明されるキージェネレータ、クリプトプロバイダおよびクラウドサービスプロバイダ、ならびに他の技術（複数可）の分割に固有の増大された信頼により、あらゆるタイプのアプリケーションをクラウド内で実現することができる。この点について、このような信頼できるクラウドサービスエコシステムを可能にしているので、本明細書で説明される信頼できるエコシステムの利点のうち１つまたは複数を活用する、豊富なサービスおよびシナリオのセットを実現することができる。
【０２８３】
例として、図４６は、上記のように、遅延バインディングにより、データに対する、発行者により制御された選択的アクセスを提供する方法で、ドキュメントをデジタル金庫アプリケーションに発行するための例示的、非限定的な処理の流れ図である。４６００で、デバイスが認証される（例えば、デバイスが、ユーザ名およびパスワード、パスワード資格情報、生体認証資格情報、Ｌｉｖｅ  ＩＤ資格情報などによりログインする）。４６１０で、ドキュメント（複数可）がアップロードされ、タグが入力される。４６２０で、これらのタグがエスクローエージェントへ送信され、応答において、ハッシュされたタグがエスクローエージェントから受信される。この点について、これらのタグは、上述のように供給可能であり、あるいは、例えば、フルテキストインデクシングを通じて、ペイロード（レコード、ドキュメント）から自動的に抽出可能である。４６３０で、クライアントが、発行者のキー情報により、ドキュメントを暗号化し、このドキュメント（複数可）が、このドキュメント（複数可）に関するサブスクライバのための能力と共に、安全なデジタルクラウドストレージプロバイダへ送信される。４６４０で、安全なデジタルクラウドストレージプロバイダが、暗号化されたブロブをストレージサービスへ、例えば、ストレージ抽象化レイヤに対して、送信する。
【０２８４】
図４７は、デジタル金庫に配置された素材にサブスクライブするための例示的、非限定的な処理の流れ図である。４７００で、サブスクライバが認証され、４７１０で、クライアントデバイスがタグをエスクローエージェントへ送信し、エスクローエージェントは、応答において、ハッシュされたタグを返送する。クライアントが次いで、４７２０で、ハッシュされたタグをデジタル金庫サービスへ送信し、ハッシュされたタグが解釈されて、４７３０で、クライアントがその検索要求をストレージサービスによって全体的に行わせる資格があるか、部分的に行わせる資格があるかが理解される。
【０２８５】
図４８は、デジタルエスクローパターンを使用して、１つまたは複数のデータセンタを介して、企業のための安全なエクストラネットを実装する、信頼できるクラウドサービスの例示的、非限定的な実装を例示する。上述のように、信頼できるコンピューティングエコシステムは、暗号技術プロバイダ（ＣＴＰ）４８１０から分離して実装されたキー生成用センタ４８００を含んでもよく、暗号技術プロバイダ（ＣＴＰ）４８１０は、１つまたは複数のクラウドサービスプロバイダ（ＣＳＰ）４８２０から分離して実装される、エコシステムと一致する暗号技術を実装する際に使用するための、参照実装を提供する。安全なエクストラネットの例示的、非限定的な実装では、４８８０は、企業が、共有リポジトリ４８７０（例えば、ＳｈａｒｅＰｏｉｎｔ）、および、共有リポジトリ４８７０内のドキュメントに関連して使用するための設計または解析アプリケーションのリポジトリ４８６０を維持することを示す。ビジネスソフトウェア４８４０（例えば、Ｓｅｎｔｉｎｅｌ）は、デスクトップ４８５０を有するコンピュータのためのアプリケーションまたはサーバ性能などを監視することができる。
【０２８６】
この点について、信頼できるクラウドサービスエコシステムでは、デスクトップ４８５０を使用するサブスクライバがストレージから選択的にアクセス可能かつ暗号化された情報を求めるとき、セキュリティトークンサービス４８３０は、４８８２で、サブスクライバを識別するためのある情報を配信することができ、ＣＫＧ４８００は、４８８４によって示されるように、第１のデータセンタのＣＫＧレイヤ４８０２のインターフェイスを介して情報の求めを受けることができる。ＣＫＧ４８００はキー情報を返し、キー情報が次いで、４８８６によって示されるように、ストレージ抽象化サービス４８２２を介してデータサービス４８２４によって保持されたデータに選択的にアクセスするために使用可能である。あらゆるタイプのデータが、したがって、企業の全域で、かつ、企業内のサブスクライバの役割に従って選択的に共有可能である。
【０２８７】
図４９は、例えば、企業内で、サブスクライバが、ＣＳＰによって格納された暗号化されたデータへの選択的アクセスを与えられる、信頼できるクラウドサービスエコシステムに基づいた、もう１つの例示的、非限定的なシナリオを例示する流れ図である。最初は、サブスクライバデバイスは、暗号化されたデータにアクセスするための特権を獲得していない。どのようにでも、例えば、４９００で、アプリケーションとインタラクトすることによって、暗号化されたデータの一部または全部を求める要求を行うことによって、４９１０で、アプリケーションが、クレーム（暗号法の専門語による）を得るために、対応するＳＴＳと自動的に通信する。４９２０で、アプリケーションがＣＫＧと通信して、サブスクライバのための能力についての情報をエンコードするキー情報を得る（能力は、時として、暗号法の専門語でトラップドアと呼ばれるが、能力という用語は、トラップドアという用語が典型的に現れる状況に制限されない）。最後に、４９３０で、アプリケーションがキー情報をＣＳＰへ提供し、ＣＳＰは、サブスクライバの能力によって可能にされる範囲で、暗号化されたデータに対する検索またはクエリを許可する。
【０２８８】
図５０は、アプリケーションの応答を、サインイン情報に基づいて、サブスクライバに合わせて調整できることを例示する、もう１つの流れ図である。例として、５０００で、ユーザＩＤ情報がアプリケーションによって受信される。５０１０で、アプリケーションが、ＳＴＳから関連クレームを得る。５０２０で、ユーザＩＤ情報に関連付けられたユーザによって果たされた１つまたは複数の役割に基づいて、経験を、それらの役割のための特権／制限に相応に合わせて調整することができる。例として、会社の暗号化されたデータ上の表示として会社の最高財務責任者に提示されるユーザ経験は、郵便室の従業員に与えられた会社の暗号化されたデータ上の表示とは異なるユーザ経験であることが可能であり、そうであるべきである。図５０は、単一またはマルチパーティのログインシナリオに適用可能である。
【０２８９】
図５１は、単一のパーティまたは複数のパーティのために実装されうる、安全なレコードアップロードシナリオを例示する、もう１つの流れ図である。５１００で、レコードおよびキーワードが、アプリケーションによって受信され、例えば、そのアプリケーションを有するデバイスのユーザによって提供または指定される。５１１０で、アプリケーションが、マスター公開キー（ＭＰＫ）を得て、キーワード検索可能な公開キー暗号化（ｐｕｂｌｉｃ  ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ  ｋｅｙｗｏｒｄ  ｓｅａｒｃｈａｂｌｅ）（ＰＥＫＳ）アルゴリズム（複数可）を適用する。ＭＰＫは、オプションとして、アプリケーションによってキャッシュ可能である。５１２０で、アプリケーションが、暗号化されたレコードをＣＳＰリポジトリへ、例えば、ストレージ抽象化レイヤを介して入力する。
【０２９０】
図５２は、例えば、単一のパーティによる自動検索のために、信頼できるクラウドサービスエコシステムによって可能にされた、検索可能暗号化されたデータストアに対する役割ベースのクエリを行う、例示的、非限定的な実装を例示する、さらにもう１つの流れ図である。５２００で、連言的クエリ（ｃｏｎｊｕｎｃｔｉｖｅ  ｑｕｅｒｙ）がアプリケーションによって受信または開始される。５２１０で、アプリケーションが、ＳＴＳから関連クレームを得る。例として、ＳＴＳは、ユーザの役割（複数可）を適切なクエリグループ（複数可）にマップし、所与の役割（複数可）のための法的なクエリセットを返す。５２２０で、アプリケーションが、フィルタリングされたクレームおよびクエリを提出し、すべてのクレーム（複数可）ではなく、クエリに対応するクレーム（複数可）を効率的に提出できるようにする。オプションとして、ＣＫＧは、トラップドアクレーム（複数可）をアプリケーションへ返す（または、クレームを拒否する）。５２３０で、アプリケーションが、トラップドアクレームをリモートインデックスにおいて実行する。リモートインデックスに対する処理に基づいて、結果が受信され、例えば、ユーザの役割（複数可）に基づいたカスタムレンダリングを使用して、アプリケーションによってユーザにレンダリングすることができる。
【０２９１】
図５３は、ある企業が、その暗号化されたデータの一部へのアクセスを外部企業に提供する、マルチパーティ協調シナリオを例示する流れ図である。例えば、製造元は、信頼できるクラウド内に格納されたそのデータの一部へのアクセスを供給元に許可してもよく、逆もまた同様である。この点について、５３００で、企業２のＳＴＳがリソースプロバイダとして指定され、企業１のアプリケーションは続けて、クラウド内のリソースプロバイダによって提供されたリソースへのアクセスのためのクレームを得る。５３１０で、企業１のＳＴＳが識別プロバイダとして指定される。この点において、アプリケーションは、識別プロバイダによって容易にされるように、企業１でサブスクライバによって定義された役割または役割のセットのためのクレームを得る。５３２０で、クレームが、企業２によって制御された許可可能なリソースに基づいて、かつ、サブスクライブ側エンティティの役割（複数可）によって定義された許可／能力に基づいて、アプリケーションによって取得される。図５３では、ただ１つのＳＴＳが図示されるが、デジタルエスクローまたはフェデレーション信頼オーバーレイ内に、複数の識別プロバイダＳＴＳおよび／または複数のリソースプロバイダＳＴＳがありうることに留意されたい。
【０２９２】
図５４は、例えば、企業１および企業２など、複数の企業の間のマルチパーティ自動検索シナリオを例示する流れ図である。５４００で、連言的クエリが、企業１のアプリケーションによって、実行のために受信または開始される。５４１０で、アプリケーションが、リソースプロバイダ（企業２）のＳＴＳから関連クレームを得る。リソースプロバイダは、オプションとして、組織タグ内で指定されうる。ＳＴＳは、オプションとして、クエリグループへのユーザの役割のマッピングを行い、法的なクエリセットがユーザの役割のために返されるようにすることができる。５４２０で、アプリケーションが、ユーザの役割に基づいて、フィルタリングされたクレームおよびクエリを提出する。すべてのクレーム（複数可）ではなく、クエリに対応するクレームを効率的に提出することができる。オプションとして、ＣＫＧは、能力をアプリケーションへ返し（例えば、トラップドアクレーム）、または、ＣＫＧは、クレームを拒否する。５４４０で、アプリケーションが、トラップドアクレームをリモートインデックスにおいて実行する。リモートインデックスに対する処理に基づいて、結果が受信され、例えば、ユーザの役割（複数可）に基づいたカスタムレンダリングを使用して、アプリケーションによってユーザにレンダリングすることができる。
【０２９３】
この方法は、連言的クエリを受信するか、またはそうでなければ連言クエリ（ｃｏｎｊｕｎｃｔｉｏｎ  ｑｕｅｒｙ）を開始するステップを含みうる。この点について、オプションとして、連言的クエリをまた暗号で保護して、どのトラップドア（または能力）の受信者、クライアントまたはサービスプロバイダも、連言的クエリを分解してその構成部分を決定することができないようにすることもできる。
【０２９４】
図５５は、信頼できるクラウドサービスのために実装されうる、例示的、非限定的なエッジ計算ネットワーク（ＥＣＮ）技術を例示する。この点について、複数の動的計算ノード５５７０、５５７２、５５７４、５５７６は、互いから独立して動作する信頼できるクラウドコンポーネントのセットに関連して、計算帯域幅のために動的に割り振られる。例として、キー生成用センタ５５２０、ストレージ抽象化サービス５５１０、組織５５３０および組織５５４０は、図示のように、上述されたものなど、複数の組織のビジネスまたは他のシナリオを包含するように実装可能である。キー生成用センタ５５２０は、キージェネレータ５５２２およびサーバＯＳ５５２４を含む。ストレージ抽象化サービス５５１０は、ストレージサービスコンポーネント５５１２およびサーバＯＳ５５１４を含む。組織５５３０は、ＳＴＳ５５３２、ＡＤ５５３６およびサーバＯＳ５５３４を含む。組織５５４０は、ＳＴＳ５５４２、ＡＤ５５４６およびサーバＯＳ５５４４を含む。サーバＯＳ５５１４、５５２４、５５３４、５５４４は、協力して、複数のサーバに渡ってＥＣＮを実装する。任意のストレージプロバイダまたは抽象化５５０２を、データの格納のために使用することができ、例えば、ＳＱＬデータサービスを採用することができる。このように、１つまたは複数のデスクトップ５５５０、５５５２は、クライアントアプリケーション５５６０、５５６２をそれぞれ介して、データを発行またはサブスクライブすることができる。
【０２９５】
図５６は、信頼できるクラウドサービスエコシステムによる、キー生成用センタ５６１０の１つまたは複数のオプションの態様を例示するブロック図である。最初に、デスクトップ５６６０、５６６２およびそれぞれのクライアントアプリケーション５６７０、５６７２、または、サービスもしくはサーバ５６７４、５６７６、５６７８、その他など、コンピューティングデバイスのセットは、クラウドコンテンツ配信ネットワーク５６５０に対する潜在的な発行者および／またはサブスクライバである。しかし、このコンピューティングデバイスのセットのいずれかからの要求を満たすことに先立って、最初に、キー生成用センタは、公開キーに基づいてデータを暗号化する発行者のための信頼のための管理人としての機能を果たし、それらの能力に基づいて、プライベートキーをデータサブスクライバへ分配する。
【０２９６】
例示的、非限定的なインタラクションでは、最初に、コンピューティングデバイスからの要求が５６００でプロビジョニングされ、５６８０で、ＣＫＧ５６１０のホスト側がＣＫＧファクトリ５６０２からＣＫＧ５６１０のインスタンスを要求する。次に、５６８２で、ユーザ認証５６０４が行われる。次に、任意の使用ベースの請求５６８４が、請求システム５６０６によって、ＣＫＧファクトリ５６０２の使用に対して適用されうる。次に、５６８６で、テナントＣＫＧが、ＣＫＧファクトリ５６０２によって具現化され、テナントＣＫＧは、ＭＰＫ配信コンポーネント５６１２、クライアントライブラリダウンローダ５６１４、秘密キーエクストラクタ５６１６および信頼検証者／確認者５６１８を含みうる。
【０２９７】
５６８８で、ＭＰＫ配信コンポーネント５６１２は、ＭＰＫをＣＤＮ５６５０へ配信する。クライアントライブラリダウンローダ５６１４は、発行されるデータを暗号化すること、または、それに対してデバイスがサブスクライブされるデータを暗号化解除することに関連して使用可能である、クリプトライブラリを要求側クライアントへダウンロードする。次に、クライアントは、秘密キーエクストラクタ５６１６から受信されたキー情報に基づいて、所与のドキュメントのセットを抽出するための要求を行い、秘密キーエクストラクタ５６１６は、信頼確認者５６１８と協力し、信頼確認者５６１８は、５６９４で、例えば、要求に関与する組織の異なるＳＴＳ５６２０、５６２２、５６２４、５６２６との通信に基づいて、サブスクライバのＳＴＳサムプリントを確認することに基づいて、サブスクライバが一定の能力を有することを検証することができる。他の実施形態におけるように、ストレージ抽象化サービス５６４０は、データベースサービス５６３０（例えば、ＳＱＬ）のストレージ詳細を抽象化するために提供されうる。
【０２９８】
図５７は、ネットワークサービス５７２０の配信に関連して、検証および／または確認を有する、検索可能暗号化されたデータ５７１０を含む、信頼できるストア５７００の例示的、非限定的な実施形態のブロック図である。この実施形態では、サブスクライバ５７４０またはサブスクライバ５７４０によって使用されたアプリケーションは、暗号化されたストア５７００の一定の部分にアクセスするための要求の一部として、実際に受信された項目が受信されるべきであった項目でもあることを検証するために、要求から返された項目に対して検証証明が実行されることを要求することができる。この点について、図５７は、検索可能暗号化技術と検証のための技術との組み合わせを例示する。オプションとして、このシステムはまた、本明細書で他の実施形態において説明されたように、クレームベースの識別およびアクセス管理と統合されてもよい。この点について、デジタルエスクローパターンはまた、本明細書で様々な実施形態において説明されたように、フェデレーション信頼オーバーレイとも呼ばれ、より従来のクレームベースの認証システムとシームレスに統合可能である。
【０２９９】
図５７では、信頼できるデータストア５７００、または、そのデータストアのサービスプロバイダもしくはホスト側は、証明ステップを行うのに対して、データの所有者（例えば、サブスクライバデバイス）は、検証を行う。データストア５７００は信頼されており、その理由は、データストア５７００が強力な保証を提供するという信頼をユーザが有することができるからであるが、そのデータを実際にホストする物理的エンティティ、および、いくつかの関係者が十分に信頼されていないことは理解されよう。
【０３００】
図５８は、検証ステップを含む、サブスクライブするための例示的、非限定的な処理を例示する流れ図である。５８００で、検索可能暗号化されたデータのサブセットが、サブスクライバデバイスから受信される。５８１０で、暗号キー情報が、そのサブスクライバデバイスの識別情報に基づいてその暗号キー情報を生成するキー生成インスタンスから、生成される。５８２０で、暗号化されたデータのサブセットが、暗号キー情報内で定義された、そのサブスクライバデバイスに付与された能力に応じて、暗号化解除される。５８３０で、サブセット内で表された項目を検証することができ（例えば、データ保有の証明（複数可））、５８４０で、データがアクセスされる。
【０３０１】
多くの場合、ＰＤＰ／ＰＯＲを暗号化されたデータに対して、それを暗号化解除する必要なしに実行できることが望ましい。オプションとして、ＰＤＰのために必要とされるキー情報を、検索可能暗号化により保護されたメタデータ内でエンコードすることができる。これは、ＰＤＰ／ＰＯＲのために使用されるキーを管理する有効な方法であるが、クリアテキストコンテンツへのアクセスを必要とせずに、ＰＤＰ／ＰＯＲを暗号化されたデータ上で行うことができる、多数の高価値のシナリオがあることに留意されたい。
【０３０２】
図５９は、確認者５９００（例えば、データ所有者）が暗号チャレンジ５９２０を証明者５９１０（例えば、データサービスプロバイダ）へ発行する、例示的、非限定的な検証チャレンジ／レスポンスプロトコルを例示する。チャレンジ５９２０を受信すると、証明者５９１０は、５９１２で、データおよびチャレンジの関数として、レスポンスを計算する。チャレンジレスポンス５９３０は次いで、確認者５９００へ返され、確認者５９００は次いで、５９０２で、データが修正されていないことを確認または証明するために計算を行う。
【０３０３】
図５９に概して例示された検証は、プライベートＰＤＰとして知られるが、サードパーティにキー（「公開」キー）が提供され、サードパーティが、実際のデータについて何も知るようになることなく、類似のプロトコルに従って確認者としての機能を果たすようになる、「公開」バージョンもあることに留意されたい。ＰＯＲは、確認の一例であり、データが（いかなる破損／修正にもかかわらず）取得可能であるという証明を提供する点で、ＰＤＰとは異なるが、以下の図３０に例示されるように、基本的なプロトコルは同じであり、しかし、ドキュメントの構造および実際のアルゴリズムは異なる。本明細書の信頼できるエコシステムの様々な実装は、検索可能暗号化およびＰＯＲ／ＰＤＰと結合して、システムに利益を与え、信頼を支える。この点について、データをサービスプロバイダに提出する前に、データは検索可能暗号化され、データの後処理は、ＰＯＲおよび／またはＰＤＰを含みうる。
【０３０４】
加えて、「データ分散」技術を、オプションとして、さらにより強力な保証を提供する必要がある場合、上記の実施形態のうちいずれか１つまたは複数においてオーバーレイすることができる。データ分散では、いずれかの単一のサービスプロバイダにおける「大変悪い動作」または壊滅的損失に対する復元性のために、いくつかのサービスプロバイダにデータが分散される。本明細書で説明される信頼機構を使用して、この分散は、複数の独立したサービスプロバイダが共謀してデータを破損することが困難になる方法で行われる。これは、上記の分散ＣＫＧの実施形態と概念が類似している。
【０３０５】
図６０は、発行者２５３０からのデータのためのネットワークサービス２５２０の配信に関連して、検証および／または確認を有する、検索可能暗号化されたデータ２５１０を含む、信頼できるストア２５００のもう１つの例示的、非限定的な実施形態のブロック図である。具体的には、図６０は、サブスクライバ２５４０へ返された項目が改ざんされなかったか、または、そうでなければうっかりして改変されなかったことを確認するための、確認コンポーネント６０５０を例示する。上述のＰＤＰは、確認の非限定的な例である。
【０３０６】
図６１は、検証ステップを含む、サブスクライブするための例示的、非限定的な処理を例示する流れ図である。６１００で、検索可能暗号化されたデータのサブセットが、サブスクライバデバイスから受信される。６１１０で、暗号キー情報が、そのサブスクライバデバイスの識別情報に基づいてその暗号キー情報を生成するキー生成インスタンスから、生成される。６１２０で、暗号化されたデータのサブセットが、暗号キー情報内で定義された、そのサブスクライバデバイスに付与された能力に応じて、暗号化解除される。６１３０で、サブセット内で表された項目のコンテンツを確認することができ（例えば、取得可能性の証明（複数可））、６１４０で、データがアクセスされる。
【０３０７】
図６２は、確認者６２００（例えば、データ所有者）が暗号チャレンジ６２２０を証明者６２１０（例えば、データサービスプロバイダ）へ発行する、もう１つの例示的、非限定的な確認チャレンジ／レスポンスプロトコルを例示する。チャレンジ６２２０を受信すると、証明者６２１０は、６２１２で、データおよびチャレンジの関数として、レスポンスを計算する。チャレンジレスポンス６２３０は次いで、確認者６２００へ返され、確認者６２００は次いで、６２０２で、データが取得可能であることを確認または証明するために計算を行う。
【０３０８】
ブラインドフィンガープリントは、典型的には、ネットワークを介した冗長データの交換を最小限にするために使用される、ラビンフィンガープリントなど、ネットワーク重複排除技術を拡張する別の種類の暗号技術を表す。本明細書の様々な実施形態では、フィンガープリンティングは、プロトコル内の関係者、例えば、データのストレージの場合はＣＳＰが、それらがホスト中であるデータの実際のコンテンツに気付かないように、適用される。
【０３０９】
ブラインドフィンガープリントに関するある追加の状況では、データの維持を含む、複数のワイドエリアネットワーク（ＷＡＮ）に渡る任意の大規模なデータの交換は、送信中に「重複排除」するため、または、送信中に不要なデータが送られないことを確実にするための技術を望むようになる。これは、データのセグメントにフィンガープリンティングを行い、次いで、フィンガープリントを交換して、受信者が有していない何を送信者が有するかを送信者が知るようにすることによって、遂行される。また、受信者は、何のデータを送信者に求める必要があるかを知る。分散ファイルサービスレプリケーション（ＤＦＳ−Ｒ）を、ＷＡＮを介したブランチオフィスバックアップおよび分散ファイルシステムなど、シナリオにおけるデータ交換を最適にするために使用することができる。
【０３１０】
Ｅｘｃｈａｎｇｅの場合、かなりのデータの重複があり、送信中のデータの最大５０％以上がいかなるときでも複製となりうる可能性がある。フィンガープリントは、例えば、電子メール、カレンダ項目、タスク、連絡先など、ブロックレベルで、またはオブジェクトレベルで得ることができる。フィンガープリントは、プライマリデータセンタおよびセカンダリデータセンタの両方でキャッシュ可能である。したがって、プライマリデータセンタで障害がある場合、セカンダリデータをプライマリデータセンタへ、フィンガープリントと共に復元することができる。プライマリデータセンタでのデータの暗号化は、それにもかかわらず、フィンガープリントが、曖昧化されるにもかかわらず、セカンダリデータセンタのオペレータにとって可視となることを可能にするべきである。これは、例えば、フィンガープリントを検索可能暗号化によりキーワード／メタデータとして格納することによって達成可能であるので、セカンダリデータセンタ内の承認されたエンティティ／エージェント以外、他のどのエンティティもパターンを検出できなくなる。
【０３１１】
データサービスに関連して、全部または増分を出すとき、プライマリデータセンタは、ログ内の各項目／セグメント／ブロック、またはＥＤＢを検査し、フィンガープリントのローカルコピーを調べることができる。一致がある場合、プライマリデータセンタは、その項目／セグメント／ブロックをフィンガープリントで置き換える。フィンガープリンティングが適用される方法のために、「ブラインドフィンガープリント」という用語が、したがって、本明細書で言及される。一実施形態では、ブラインドフィンガープリンティングを達成するための暗号技術の選択には、サイズ保存暗号技術が含まれる。
【０３１２】
図６３は、ブラインドフィンガープリンティングを含むサービスの１つまたは複数の実施形態を提供するための全体的な環境のブロック図である。ブラインドフィンガープリントでは、データサブスクライバ６３００およびデータサービスプロバイダ６３１０は、フィンガープリント交換を経て、代理として、バックアップされているデータセットの各ローカルおよびバックアップコピー上で何のデータセグメントが既に保有されているかについて理解する。フィンガープリント交換６３２０の結果として、修正データの縮小されたセットが、６３０２で、重複排除された修正データ６３３０としてデータサービスプロバイダ６３１０へ送信するために決定され、データサービスプロバイダ６３１０は次いで、６３４０で、重複排除された修正データおよび任意のブラインドフィンガープリントに選択的にアクセスすることに基づいて、修正データを適用する。
【０３１３】
図６４は、複数の独立したフェデレーション信頼オーバーレイ、またはデジタルエスクローが、レイヤ化された手法のために並んで、または互いの上に存在することができる、非限定的なシナリオを例示するブロック図である。このシナリオでは、様々なネットワークサービス（複数可）６４２０が基づくことができる、検索可能暗号化されたデータ６４１０を有する、信頼できるデータストア６４００がある。例として、ネットワークサービス（複数可）６４２０は、文書処理ソフトウェアをクラウドサービスとして配信することを含みうる。地理的分布の一部として、または他の方法で、オプションとして、複数のオーバーレイ／エスクロー６４３２、６４３４、６４３６が提供されてもよく、各々が異なるアプリケーション／バーティカル／コンプライアンスの必要性／主権エンティティ要件に合わせられて、発行者２５３０またはサブスクライバ６４５０が、例えば、管轄区域／居住地の要件またはエリアのセットに基づいて、暗黙的または明示的に、関与するべき正確なオーバーレイ／エスクローを選択するようにする。オーバーレイは、したがって変化することがあるが、クラウドからのバックエンドサービスは、コアサービス自体の配信を複雑にすることなく、同じ状態であることが可能である。
【０３１４】
図６５は、承認されていないアクセスに対してデータを曖昧化するためのデータ分散技術を含む、信頼できるストアのもう１つの例示的、非限定的な実施形態のブロック図である。この例は、データを隠すかまたは曖昧化するための手段として暗号化技術を提供する上記の技術またはシステムのすべてが、データ（またはメタデータ）への可視性を防止する任意の他の数学的変換またはアルゴリズムによっても実装可能であることを実証する。この点について、例として、データは、データストアのセットに渡って自動的にデフラグまたは分散可能であり、これらのデータストアは同じタイプであってもよく、または、図６５に示すように、異なるタイプのコンテナ６５１２、６５１４、．．．、６５１６であってもよい。
【０３１５】
このシステムは、したがって、データストア６５００を含み、データストア６５００は、抽象化として、選択的にアクセス可能なデータまたはメタデータ６５１０を格納するためのデータストア６５１２、６５１４、．．．、６５１６を含む。発行者は、少なくとも１つのリソースを表すデータまたはメタデータ６５１０をデータストア６５００へ発行することができ、第１の独立エンティティ６５５０は、発行されたようなデータまたはメタデータに適用可能なアクセス情報の生成を行い、第２の独立エンティティ６５６０は、発行されたようなデータまたはメタデータを格納するデータストアのセットの知識を維持しながら、データストア６５００のデータストアのセットに渡って、発行されたようなデータまたはメタデータを分散させる。
【０３１６】
この知識は、したがって、アクセス情報なしでは明らかにすることができない秘密である。データまたはメタデータ６５１０は、ネットワークサービス（複数可）６５２０を介して発行可能であり、ネットワークサービス（複数可）６５２０は、少なくとも１つのリソースの発行者（複数可）または所有者（複数可）によって付与され、かつ、アクセス情報によって表された、遅延バインドされた、選択された特権に基づいて、ネットワークサービスに対する所与の要求のために発行されたような、データまたはメタデータへの選択的アクセスを提供する。データストア６５００は、同じかまたは異種のコンテナタイプの複数のコンテナを含み、発行されたようなデータまたはメタデータは、この複数のコンテナのうち少なくとも１つのコンテナに渡って自動的に分散される。この分散は、データディストリビュータ６５６０に知られている任意のアルゴリズムに基づくことができ、例えば、所与のアプリケーションのために適切であるデータもしくはメタデータの特性、または任意の他のパラメータに基づく、複数のコンテナによって表されたストレージリソースのリアルタイム解析に基づくことができる。
【０３１７】
したがって、サブスクライバ６５４０がデータまたはメタデータ６５１０を求める要求を行うとき、ネットワークサービス（複数可）は、独立したエンティティ６５５０および／または６５６０に情報を求めて、サブスクライバ６５４０がデータのリアセンブリを可能にするアクセス情報を有することを許可されるかどうかを判定する。例として、データマップは、データのリアセンブリを許可する秘密であってもよい。データに対する追加の保護を提供するために、この実施形態を、暗号化など、他の数学的変換と組み合わせることができる。このような追加の数学的変換は、承認されたパーティに対する場合を除いてデータが不可視のままであるというさらなる安心感のための、追加の信頼の分散のために、さらなる独立エンティティによって監督されうる。
【０３１８】
本明細書で説明されたものは、信頼できるデータサービスの配信を例示する様々な例示的、非限定的な実施形態である。これらの実施形態はスタンドアロンではなく、むしろ、適切な場合には互いに組み合わせることができる。加えて、上記の実施形態のいずれも、いくつかの代替方法において拡張可能である。例として、一実施形態では、信頼できるデータサービスは、データへのアクセスに対するより大きい度合いのセキュリティのために、トラップドアまたは能力の満了および失効を提供する。もう１つのオプションの実施形態では、例えば、暗号化／暗号化解除の一部としてコンテンツに添付された権利を保存するために、または、平文でより容易に認識可能もしくは検出可能である、デジタルエスクロー内の著作権のあるデータに対する行為を防止するために、権利管理レイヤが、信頼できるデータサービスのプロビジョニングに組み込まれる。したがって、本明細書で説明される実施形態のいかなる組み合わせまたは並べ替えも、本開示の範囲内として企図される。
【０３１９】
例示的、非限定的な実装
デジタルエスクローパターンの例示的実装は、フェデレーション信頼オーバーレイ（ＦＴＯ）と呼ばれる。付録Ａにおいて添付されるものは、ＦＴＯ実装についてのいくつかの追加の非限定的な詳細である。
【０３２０】
この点について、デジタルエスクローパターンは、多数の可能なパターンおよび変形形態の単なる一例である。さらに、このパターン（発行者、サブスクライバ、アドミニストレータおよび監査者−および、場合によっては、上記のような他の専門の役割を含む）は、もう１つの基になるＦＴＯパターン上にレイヤ化され、このＦＴＯパターンは、ＣＴＰ、ＣＳＰ、ＣＫＧなどの「政教」分離を行い、信頼を維持する。互いに干渉することなく、また、互いの存在について知ることすらなく、存在することができる、複数の独立したＦＴＯおよびＤＥＰもありうる。また、ＤＥＰおよびＦＴＯパターンをクラウドストレージ上にオーバーレイすることは、クラウドストレージサービスプロバイダが協力することなく、または、これらのパターン／オーバーレイの存在について知るようになることすらなく、可能である。
【０３２１】
より詳細には、ＦＴＯは、クラウド内のデータサービスから独立しているサービスのセットである。これらのサービスは、データサービスのオペレータ以外のパーティによって操作され、クラウドサービスによってホストされたデータに対する機密性、改ざん検出および非否認に関する強力な保証を提供することができる。
【０３２２】
あらゆるパートナーは、これらのオーバーレイサービスを構築かつホストすることができ、例えば、メディエータサービス、検証サービス、ストレージ抽象化サービスなどである。これらのパートナーは、参照実装をホストすること、または、オープンに入手可能なフォーマットおよびプロトコルに基づいて、それら自体の実装を構築することを選択してもよい。
【０３２３】
フォーマット、プロトコルおよび参照実装のオープン性のため、ＦＴＯのオペレータおよびデータ所有者など、パーティ間の制御の分離を維持することが簡単になる。
【０３２４】
暗号化はこのソリューションの要素であるが、異なるパーティに渡ってフェデレーションされるサービスのオーケストレーションもまた、このソリューションの一部である。従来の暗号化技術は多数のシナリオにとってやむを得ないものであるが、従来の暗号化技術は、複数の（信頼されていない）サービスをオーケストレートし、データリポジトリを検索するなどによる、改ざん検出、非否認、信頼構築のようなシナリオの多数を可能にすることを妨げる。
【０３２５】
補足的状況
ある追加の非限定的な状況では、上記のように、クラウド提供物の信頼できるセットは、信頼の上に築くクラウドのためのアプリケーションエコシステムを可能にする。本明細書で使用される様々な専門用語には、ＣＫＧ−キー生成用センタという、マルチテナントキー生成センタをホストするエンティティが含まれ、例えば、Ｍｉｃｒｏｓｏｆｔ、ＶｅｒｉＳｉｇｎ、Ｆｉｄｅｌｉｔｙ、主権エンティティ、企業、コンプライアンスエンティティなどのいずれも、ＣＫＧをホストすることができる。この点について、マルチテナント性はオプションである（例えば、望ましいが、必須ではない）。他の専門用語には、ＣＴＰ−クリプト技術プロバイダという、信頼できるエコシステムと共に使用するための暗号化技術を提供するエンティティが含まれ、例えば、Ｓｙｍａｎｔｅｃ、Ｃｅｒｔｉｃｏｍ、Ｖｏｌｔａｇｅ、ＰＧＰ  Ｃｏｒｐ、ＢｉｔＡｒｍｏｒ、企業、ガーディアン、主権エンティティなどのいずれも、ＣＴＰでありうる会社の例である。
【０３２６】
加えて、ＣＳＰ−クラウドサービスプロバイダという用語は、ストレージを含む、クラウドサービスを提供するエンティティである。様々な会社が、そのようなデータサービスを提供することができる。ＣＩＶ−クラウドインデックス検証者は、返されたインデックスを検証するための第２のリポジトリである。ＣＳＡ−計算およびストレージ抽象化は、ストレージバックエンドを抽象化する。ＳＴＦ−ストレージ転送フォーマットは、複数のリポジトリに渡ってデータ／メタデータを転送するための汎用フォーマットである。
【０３２７】
この点について、上述のように、ある企業シナリオ（複数可）には、データサービス技術またはアプリケーションを使用したエクストラネットのエンジニアリング、設計およびエンジニアリング解析、製造元および供給元（複数可）の間のデータ関係を定義することなどが含まれる。ただ１つのエコシステムは、したがって、「超」信頼されたエンティティまたは単一危殆化点が存在しないように、複数のエンティティに渡って信頼を分散させることによって、すべての様々なシナリオのために可能にされる。
【０３２８】
検索可能暗号化に関するある補足的状況については、ユーザは典型的には、キーワード（複数可）についての「能力」または「トラップドア」を有し、または得て、次いで、それらをサーバへ提示する「能力」を使用して、要求を送信する。サーバは、能力およびインデックスを「組み合わせ」て、関連ドキュメントまたはデータを発見する。ユーザには次いで、検索の結果生じるドキュメントのみへのアクセスが与えられる（しかし、ユーザは、単なるそれらのドキュメントを越えるものへのアクセスを有してもよい）。
【０３２９】
上述のように、どの単一のアルゴリズムも、本明細書で説明されるような検索可能暗号化されたデータストアのプロビジョニングの限定として見なされるべきではないが、以下で一般に、例示的、非限定的なアルゴリズムの背後にある理論の一部の概略を述べ、検索可能対称暗号化（Ｓｅａｒｃｈａｂｌｅ  Ｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ）（ＳＳＥ）パターンの手引きを提供する。
【０３３０】
【数１】
0005639660.tif 000022
【０３３１】
ここでもまた、本明細書で説明されるいかなる実施形態の限定としても見なされるべきでないが、以下は、キーワード検索を有する公開キー暗号化（ＰＥＫＳ）パターンに関する手引きである。
【０３３２】
公開キー暗号化
ａ．ＰＫＥ＝（Ｇｅｎ，Ｅｎｃ，Ｄｅｃ）
識別ベースの暗号化
ｂ．ＩＢＥ＝（Ｇｅｎ，Ｅｎｃ，Ｅｘｔｒａｃｔ，Ｄｅｃ）
ｃ．マスターキーの生成
ｉ．（ｍｓｋ，ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ｄ．ＩＤのためのｍの暗号化
ｉ．ｃ＝ＩＢＥ．Ｅｎｃ（ｍｐｋ，ＩＤ，ｍ）
ｅ．ＩＤのための秘密キーの生成
ｉ．ｓｋ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ，ＩＤ）
ｆ．暗号化解除
ｉ．ｍ＝ＩＢＥ．Ｄｅｃ（ｓｋ，ｃ）
ｇ．メッセージ：ｍ
ｈ．キーワード：ｗ1，．．．，ｗn
ｉ．エスクローキーの生成
ｉ．（ｍｓｋ，ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ｉｉ．（ｐｋ，ｓｋ）＝ＰＫＥ．Ｇｅｎ（）
ｊ．暗号化
ｋ．１≦ｉ≦ｎについて
ｉ．ｃi＝ＩＢＥ．Ｅｎｃ（ｍｐｋ，ｗi，フラグ）
ｌ．（ＰＫＥ．Ｅｎｃ（ｐｋ，ｍ），ｃi，．．．，ｃn）を返す
ｍ．ｗのための能力またはトラップドアの生成
ｉ．ｄ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ，ｗ）
ｎ．ｗのためのテスト
ｏ．１≦ｉ≦ｎについて
ｉ．ｚ＝ＩＢＥ．Ｄｅｃ（ｄ，ｃi）
ｉｉ．ｚ＝フラグの場合、「ｔｒｕｅ」を出力する
ＥK（ｍ）を暗号化解除して、ｍを得る
【０３３３】
例示的ネットワーク化および分散環境
本明細書で説明される、信頼できるクラウドサービスフレームワークおよび関連実施形態のための方法およびデバイスの様々な実施形態を、あらゆるコンピュータまたは他のクライアントもしくはサーバデバイスに関連して実装することができ、あらゆるコンピュータまたは他のクライアントもしくはサーバデバイスは、コンピュータネットワークの一部として、または、分散コンピューティング環境内で展開可能であり、かつ、あらゆる種類のデータストアに接続可能であることは、当業者には理解されよう。この点について、本明細書で説明される様々な実施形態を、任意の数のメモリまたはストレージユニット、ならびに、任意の数のストレージユニットに渡って生じる任意の数のアプリケーションおよび処理を有する、あらゆるコンピュータシステムまたは環境内で実装することができる。これには、限定されないが、リモートまたはローカルストレージを有する、ネットワーク環境または分散コンピューティング環境内で展開された、サーバコンピュータおよびクライアントコンピュータを有する環境が含まれる。
【０３３４】
図６６は、例示的ネットワーク化または分散コンピューティング環境の非限定的な概略図を提供する。分散コンピューティング環境は、コンピューティングオブジェクトまたはデバイス６６１０、６６１２など、および、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８などを備え、これらのコンピューティングオブジェクトまたはデバイスは、アプリケーション６６３０、６６３２、６６３４、６６３６、６６３８によって表されるような、プログラム、方法、データストア、プログラマブルロジックなどを含んでもよい。コンピューティングオブジェクトまたはデバイス６６１０、６６１２など、および、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８などは、ＰＤＡ、オーディオ／ビデオデバイス、携帯電話、ＭＰ３プレイヤ、ラップトップ、その他など、異なるデバイスを備えてもよいことは理解されよう。
【０３３５】
コンピューティングオブジェクトまたはデバイス６６１０、６６１２など、および、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８などは、１つまたは複数の他のコンピューティングオブジェクトまたはデバイス６６１０、６６１２など、および、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８などと、通信ネットワーク６６４０経由で、直接または間接的に通信することができる。図６６では単一の要素として例示されるにもかかわらず、ネットワーク６６４０は、サービスを図６６のシステムに提供する他のコンピューティングオブジェクトおよびコンピューティングデバイスを備えてもよく、かつ／または、図示されない複数の相互接続されたネットワークを表してもよい。コンピューティングオブジェクトまたはデバイス６６１０、６６１２など、または、６６２０、６６２２、６６２４、６６２６、６６２８などはまた、様々な実施形態によって提供されるような信頼できるクラウドコンピューティングサービスまたはアプリケーションとの通信またはその実装に適した、ＡＰＩ、または、他のオブジェクト、ソフトウェア、ファームウェアおよび／もしくはハードウェアを使用することがある、アプリケーション６６３０、６６３２、６６３４、６６３６、６６３８など、アプリケーションを含んでもよい。
【０３３６】
分散コンピューティング環境をサポートする、様々なシステム、コンポーネントおよびネットワーク構成がある。例えば、複数のコンピューティングシステムを共に、有線または無線システムによって、ローカルネットワークまたは幅広く分散されたネットワークによって、接続することができる。現在、多数のネットワークがインターネットに結合されており、インターネットは、幅広く分散されたコンピューティングのためのインフラストラクチャを提供し、多数の異なるネットワークを包含するが、任意のネットワークインフラストラクチャを、様々な実施形態において説明されたような技術に付随するようにされた例示的通信のために使用することができる。
【０３３７】
したがって、クライアント／サーバ、ピアツーピア、またはハイブリッドのアーキテクチャなど、ネットワークトポロジおよびネットワークインフラストラクチャのホストを利用することができる。クライアント／サーバアーキテクチャ、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピュータ、例えば、サーバによって提供された共有ネットワークリソースにアクセスする、コンピュータである。図６６の例示では、非限定的な例として、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８などを、クライアントとして考えることができ、コンピューティングオブジェクトまたはデバイス６６１０、６６１２などを、サーバとして考えることができ、ただし、コンピューティングオブジェクトまたはデバイス６６１０、６６１２などは、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８などからデータを受信すること、データの格納、データの処理、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８、その他など、クライアントへデータを送信することなど、データサービスを提供するが、状況に応じて、あらゆるコンピュータをクライアント、サーバまたは両方と見なすことができる。これらのコンピューティングデバイスのいずれも、データの処理、または、１つまたは複数の実施形態について本明細書で説明されるような、改良されたユーザプロファイリングおよび関連技術を関与させることがあるサービスもしくはタスクの要求を行っていることがある。
【０３３８】
サーバは典型的には、インターネットまたは無線ネットワークインフラストラクチャなど、リモートまたはローカルネットワークを介してアクセス可能なリモートコンピュータシステムである。クライアント処理は、第１のコンピュータシステム内でアクティブであってもよく、サーバ処理は、第２のコンピュータシステム内でアクティブであってもよく、通信媒体を介して互いと通信し、よって、分散機能性を提供し、複数のクライアントがサーバの情報収集能力を活用できるようにする。ユーザプロファイリングに従って利用されるあらゆるソフトウェアオブジェクトは、スタンドアロンで提供されてもよく、または、複数のコンピューティングデバイスもしくはオブジェクトに渡って分散されてもよい。
【０３３９】
通信ネットワーク／バス６６４０がインターネットであるネットワーク環境では、例えば、コンピューティングオブジェクトまたはデバイス６６１０、６６１２などは、ウェブサーバであってもよく、このウェブサーバと、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８、その他など、クライアントは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）など、いくつかの知られているプロトコルのうちいずれかを介して通信する。コンピューティングオブジェクトまたはデバイス６６１０、６６１２、その他など、サーバはまた、分散コンピューティング環境の特性を示すことがあるように、コンピューティングオブジェクトまたはデバイス６６２０、６６２２、６６２４、６６２６、６６２８、その他など、クライアントとしての機能も果たすことができる。
【０３４０】
例示的コンピューティングデバイス
上述のように、本明細書で説明される様々な実施形態は、任意のデバイスに適用され、信頼できるクラウドサービスフレームワークの１つまたは部分を実装するために望ましいことがある。したがって、ハンドヘルド、ポータブルおよび他のコンピューティングデバイス、ならびに、あらゆる種類のコンピューティングオブジェクトが、本明細書で説明される様々な実施形態に関連して、すなわち、あるデバイスが信頼できるクラウドサービスフレームワークに関連してある機能性を提供することができるどこででも、使用するために企図されることを理解されたい。したがって、図６７で後述される以下の汎用リモートコンピュータは、ほんの一例でしかなく、本開示の実施形態は、ネットワーク／バス相互運用性およびインタラクションを有するいかなるクライアントによっても実装されうる。
【０３４１】
必要とはされないが、これらの実施形態のいずれも、デバイスまたはオブジェクトのためのサービスの開発者によって使用するために、オペレーティングシステムを介して部分的に実装可能であり、かつ／または、動作可能なコンポーネント（複数可）に関連して動作するアプリケーションソフトウェア内に含まれてもよい。ソフトウェアは、クライアントワークステーション、サーバまたは他のデバイスなど、１つまたは複数のコンピュータによって実行されている、プログラムモジュールなど、コンピュータ実行可能命令の一般的な状況において記述可能である。ネットワークインタラクションは、様々なコンピュータシステム構成およびプロトコルにより実施可能であることは、当業者には理解されよう。
【０３４２】
図６７は、したがって、これらの実施形態のうち１つまたは複数が実装されうる、適切なコンピューティングシステム環境６７００の一例を例示するが、上記で明らかにされたように、コンピューティングシステム環境６７００は、適切なコンピューティング環境の一例でしかなく、これらの実施形態のいずれの使用または機能性の範囲についてのいかなる限定も示唆するように意図されない。コンピューティング環境６７００はまた、例示的動作環境６７００内に例示されたコンポーネントのいずれか１つまたは組み合わせに関するいかなる依存関係または要件を有するようにも解釈されるべきでない。
【０３４３】
図６７を参照すると、本明細書の１つまたは複数の実施形態を実装するための例示的リモートデバイスは、ハンドヘルドコンピュータ６７１０の形態における汎用コンピューティングデバイスを含みうる。ハンドヘルドコンピュータ６７１０のコンポーネントには、限定されないが、処理装置６７２０、システムメモリ６７３０、および、システムメモリを含む様々なシステムコンポーネントを処理装置６７２０に結合するシステムバス６７２１が含まれてもよい。
【０３４４】
コンピュータ６７１０は典型的には、限定されないが、デジタル多用途ディスク（ＤＶＤ）、フラッシュストレージ、内蔵または外付けハードドライブ、コンパクトディスク（ＣＤ）、その他など、様々なコンピュータ可読媒体を含み、また、リモートドライブ、クラウドストレージディスクなどを含む、コンピュータ６７１０によってアクセス可能であるいかなる使用可能な媒体であってもよい。システムメモリ６７３０は、読み取り専用メモリ（ＲＯＭ）および／またはランダムアクセスメモリ（ＲＡＭ）など、揮発性および／または不揮発性メモリの形態におけるコンピュータストレージ媒体を含んでもよい。例として、限定ではなく、メモリ６７３０はまた、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、および、プログラムデータをも含んでもよい。
【０３４５】
ユーザはコマンドおよび情報をコンピュータ６７１０へ、入力デバイス６７４０を通じて入力することができる。モニタまたは他のタイプの表示デバイスもまた、出力インターフェイス６７５０など、インターフェイスを介してシステムバス６７２１に接続される。モニタに加えて、コンピュータはまた、出力インターフェイス６７５０を通じて接続されうる、スピーカおよびプリンタなど、他の周辺出力デバイスを含んでもよい。
【０３４６】
コンピュータ６７１０は、リモートコンピュータ６７７０など、１つまたは複数の他のリモートコンピュータへの論理接続を使用して、ネットワーク化または分散された環境内で動作することができる。リモートコンピュータ６７７０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスもしくは他の共通ネットワークノード、または、任意の他のリモート媒体消費または伝送デバイスであってもよく、コンピュータ６７１０に関連して上述された要素のいずれかまたは全部を含んでもよい。図６７に示された論理接続には、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）のようなネットワーク６７７１が含まれるが、他のネットワーク／バスが含まれることもある。そのようなネットワークキング環境は、家庭、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて通常である。
【０３４７】
上述のように、例示的実施形態が様々なコンピューティングデバイス、ネットワークおよび広告アーキテクチャに関連して説明されたが、基になる概念は、クラウドサービスとのインタラクションに関連して信頼を提供することが望ましい、あらゆるネットワークシステムおよびあらゆるコンピューティングデバイスまたはシステムにも適用可能である。
【０３４８】
本明細書で説明された実施形態のうち１つまたは複数を実装する複数の方法があり、例えば、適切なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、制御、スタンドアロンまたはダウンロード可能なソフトウェアオブジェクトなどであり、アプリケーションおよびサービスが信頼できるクラウドサービスフレームワークを使用できるようにする。実施形態は、ＡＰＩ（または他のソフトウェアオブジェクト）の見地から、ならびに、説明された実施形態のうち１つまたは複数によるポインティングプラットフォームサービスを提供する、ソフトウェアまたはハードウェアオブジェクトから、企図されてもよい。本明細書で説明された様々な実装および実施形態は、全体的にハードウェア内、部分的にハードウェア内かつ部分的にソフトウェア内、ならびに、ソフトウェア内である態様を有してもよい。
【０３４９】
「例示的」という語は、本明細書で、例、場合または例示としての機能を果たすことを意味するために使用される。不確かさを避けるため、本明細書で開示された主題は、そのような例によって限定されない。加えて、本明細書で「例示的」として説明されたいかなる態様または設計も、必ずしも他の態様または設計よりも好ましいまたは有利と解釈されるべきであるとは限らず、また、当業者に知られている均等の例示的構造および技術を排除することも意味されない。さらに、「含む（ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｓ）」、「含む（ｃｏｎｔａｉｎｓ）」という用語、および他の類似の語が詳細な説明または特許請求の範囲で使用される限りにおいて、不確かさを避けるため、そのような用語は、いかなる追加または他の要素を排除することもなく、オープンな移行語としての「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同様に、包含的であるように意図される。
【０３５０】
上述のように、本明細書で説明された様々な技術は、ハードウェアもしくはソフトウェア、または、適切な場合には、両方の組み合わせに関連して実装されてもよい。本明細書で使用されるとき、「コンポーネント」、「システム」などの用語は同様に、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連エンティティを指すように意図される。例えば、コンポーネントは、限定されないが、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピュータであってもよい。例示として、コンピュータ上で実行するアプリケーションおよびコンピュータは共に、コンポーネントでありうる。１つまたは複数のコンポーネントは、処理および／または実行のスレッド内に存在してもよく、コンポーネントは、１つのコンピュータ上でローカライズされるか、かつ／または、２つ以上のコンピュータの間で分散されてもよい。
【０３５１】
前述のシステムは、いくつかのコンポーネントの間のインタラクションに関して説明された。そのようなシステムおよびコンポーネントは、それらのコンポーネントまたは指定されたサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントのうちいくつか、および／または追加のコンポーネントを、前述のものの様々な並べ替えおよび組み合わせによって含みうることは理解されよう。サブコンポーネントをまた、親コンポーネント内に含まれる（階層的）のではなく、他のコンポーネントに通信的に結合されたコンポーネントとして実装することもできる。加えて、１つまたは複数のコンポーネントを、集約機能性を提供する単一のコンポーネントに結合してもよく、または、いくつかの分離したサブコンポーネントに分割してもよく、また、統合された機能性を提供するために、管理レイヤなど、いずれか１つまたは複数の中間レイヤを、そのようなサブコンポーネントに通信的に結合するように提供してもよい。本明細書で説明されたいかなるコンポーネントもまた、本明細書で特に説明されないが当業者によって一般に知られている、１つまたは複数の他のコンポーネントとインタラクトしてもよい。
【０３５２】
上述の例示的システムに鑑みて、開示された主題によって実施されうる方法は、様々な図の流れ図を参照してよりよく理解されるであろう。説明を簡単にするため、これらの方法は一連のブロックとして図示かつ説明されるが、主張された主題はこれらのブロックの順序によって限定されず、その理由は、いくつかのブロックが、本明細書で図示かつ説明されるものとは異なる順序で、かつ／または、別のブロックと同時に発生する場合があるためであることを理解されたい。順次的ではない、または分岐された流れが、流れ図を介して例示されるが、同じまたは類似の結果を達成する様々な他の分岐、流れの経路、および、ブロックの順序を実装してもよいことは理解されよう。また、すべての例示されたブロックが、以下で説明される方法を実装するために必要とされるとは限らないことがある。
【０３５３】
いくつかの実施形態では、クライアント側の観点が例示されるが、不確かさを避けるため、対応するサーバの観点が存在し、逆もまた同様であることを理解されたい。同様に、ある方法が実施される場合、ストレージ、および、１つまたは複数のコンポーネントを介してその方法を実施するように構成された少なくとも１つのプロセッサを有する、対応するデバイスを提供することができる。
【０３５４】
様々な実施形態が様々な図の好ましい実施形態に関連して説明されたが、他の類似の実施形態が使用されてもよく、または、説明された実施形態に対して、そこから逸脱することなく、同じ機能を行うために修正および追加が行われてもよいことを理解されたい。またさらに、上記の実施形態の１つまたは複数の態様が、複数の処理チップまたはデバイス内で、またはそれらに渡って実装されてもよく、ストレージが複数のデバイスに渡って同様に実施されてもよい。したがって、本発明は、いかなる単一の実施形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲による広さおよび範囲において解釈されるべきである。
【図１】
0005639660.tif 000023
【図２】
0005639660.tif 000024
【図３】
0005639660.tif 000025
【図４】
0005639660.tif 000026
【図５】
0005639660.tif 000027
【図６】
0005639660.tif 000028
【図７】
0005639660.tif 000029
【図８】
0005639660.tif 000030
【図９】
0005639660.tif 000031
【図１０】
0005639660.tif 000032
【図１１】
0005639660.tif 000033
【図１２】
0005639660.tif 000034
【図１３】
0005639660.tif 000035
【図１４】
0005639660.tif 000036
【図１５】
0005639660.tif 000037
【図１６】
0005639660.tif 000038
【図１７】
0005639660.tif 000039
【図１８】
0005639660.tif 000040
【図１９】
0005639660.tif 000041
【図２０】
0005639660.tif 000042
【図２１】
0005639660.tif 000043
【図２２】
0005639660.tif 000044
【図２３】
0005639660.tif 000045
【図２４】
0005639660.tif 000046
【図２５】
0005639660.tif 000047
【図２６】
0005639660.tif 000048
【図２７】
0005639660.tif 000049
【図２８】
0005639660.tif 000050
【図２９】
0005639660.tif 000051
【図３０】
0005639660.tif 000052
【図３１】
0005639660.tif 000053
【図３２】
0005639660.tif 000054
【図３３】
0005639660.tif 000055
【図３４】
0005639660.tif 000056
【図３５】
0005639660.tif 000057
【図３６】
0005639660.tif 000058
【図３７】
0005639660.tif 000059
【図３８】
0005639660.tif 000060
【図３９】
0005639660.tif 000061
【図４０】
0005639660.tif 000062
【図４１】
0005639660.tif 000063
【図４２】
0005639660.tif 000064
【図４３】
0005639660.tif 000065
【図４４】
0005639660.tif 000066
【図４５】
0005639660.tif 000067
【図４６】
0005639660.tif 000068
【図４７】
0005639660.tif 000069
【図４８】
0005639660.tif 000070
【図４９】
0005639660.tif 000071
【図５０】
0005639660.tif 000072
【図５１】
0005639660.tif 000073
【図５２】
0005639660.tif 000074
【図５３】
0005639660.tif 000075
【図５４】
0005639660.tif 000076
【図５５】
0005639660.tif 000077
【図５６】
0005639660.tif 000078
【図５７】
0005639660.tif 000079
【図５８】
0005639660.tif 000080
【図５９】
0005639660.tif 000081
【図６０】
0005639660.tif 000082
【図６１】
0005639660.tif 000083
【図６２】
0005639660.tif 000084
【図６３】
0005639660.tif 000085
【図６４】
0005639660.tif 000086
【図６５】
0005639660.tif 000087
【図６６】
0005639660.tif 000088
【図６７】
0005639660.tif 000089