(57)【要約】デジタル・エスクロー・パターンおよび信頼できるプラットフォームを、検索可能暗号技法のような数学的変換技法を含むデータ・サービスに対して提供し、リモート・サイトまたはクラウド・サービスに格納したデータを不明瞭化し、信頼を複数のエンティティに分散させて一箇所におけるデータ侵害を回避する。信頼できるプラットフォームの技法を用いると、データ（と関連するメタデータ）を当該データを保持するコンテナ（例えば、ファイル・システム、データベース、等）から切り離して、提示されたケイパビリティで開く数学的な複雑性の覆いを課すことによって、データが自身の管理者（ｃｕｓｔｏｄｉａｎ）として動作できるようにする。当該提示されたケイパビリティとしては、信頼プラットフォームの暗号鍵生成器により与えられる鍵がある。特定のコンテナを強制する必要なしに信頼性を保存し拡張するように、データまたは当該データのサブセットの共有またはこれらへのアクセスを容易にする。
2013511103.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御領域の少なくとも１つのコンピューティング装置が、第２の制御領域の少なくとも１つのコンピューティング装置から、前記第２の制御領域の前記少なくとも１つのコンピューティング装置の定義されたデータ・セットに対して少なくとも１つの第１の数学的データ変換を行って作成した不明瞭なデータを受け取るステップと、
前記第１の制御領域の前記少なくとも１つのコンピューティング装置が、データ分析および前記データ分析の出力の少なくとも１つの第２の数学的変換から作成した不明瞭なメタデータを受け取るステップと、
少なくとも２つの異なるコンテナ・タイプから成る複数のコンテナのうち、前記不明瞭なデータまたは前記不明瞭なメタデータのうち少なくとも１つを格納する少なくとも１つのコンテナを決定するステップと、
を含むことを特徴とするデータをホストするための方法。
【請求項２】
前記不明瞭なデータを受け取る前記ステップが、暗号鍵情報に基づく少なくとも１つの検索可能暗号アルゴリズムに従う少なくとも１つのデータ暗号化によって作成した暗号化データを受け取るステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記不明瞭なメタデータを受け取る前記ステップが、データ分析および、暗号鍵情報に基づく前記データ分析の出力の前記少なくとも１つの第２の数学的変換から作成した暗号化メタデータを受け取るステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記複数のコンテナの所定の条件が満たされた場合に前記不明瞭なデータまたは前記不明瞭なメタデータが格納される前記少なくとも１つのコンテナを自動的に変更するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記決定するステップが、前記不明瞭なデータまたは前記不明瞭なメタデータに関連付けられた記憶サイズ、前記不明瞭なデータまたは前記不明瞭なメタデータに対して規定されたアクセス速度要件、前記不明瞭なデータまたは前記不明瞭なメタデータに対して規定された復元信頼性要件、または、前記不明瞭なデータもしくは前記不明瞭なメタデータへアクセスできる１つもしくは複数の装置に対する近接性のうち、少なくとも１つに基づいて前記不明瞭なデータまたは前記不明瞭なメタデータを格納する少なくとも１つのコンテナを決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
トラップドア・データの少なくとも１つの暗号化トラップドアにより定義される前記不明瞭なデータまたは前記不明瞭なメタデータに対する可視的なアクセスを可能とする、前記トラップドアを受け取るステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
少なくとも１つのデータ・アイテムを前記定義されたデータ・セットから復元する要求を受け取るステップと、
前記少なくとも１つのデータ・アイテムを前記不明瞭なデータまたは前記不明瞭なメタデータから抽出するための少なくとも１つのトラップドアを受け取るステップと、
前記少なくとも１つのトラップドアが妥当である場合には、前記少なくとも１つのデータ・アイテムを前記不明瞭なデータまたは前記不明瞭なメタデータから抽出して送信するステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
データおよびメタデータの公開またはサブスクライブのうち少なくとも１つに対して数学的変換述語情報を生成する生成器とは独立に実装された数学的変換アルゴリズム・プロバイダによって少なくとも部分的に分散され、少なくとも１つの検索可能データ不明瞭化アルゴリズムまたは検索可能データ開示アルゴリズムを、前記生成器が生成した前記数学的変換述語情報に基づいて実施するように構成した少なくとも１つのプロセッサを備えた、少なくとも１つの数学的変換コンポーネントと、
前記生成器および前記少なくとも１つの数学的変換コンポーネントとは独立に実装され、前記少なくとも１つの数学的変換コンポーネントによって不明瞭化したデータまたはメタデータに関してネットワーク・サービスを実装するように構成した少なくとも１つのプロセッサを備え、前記少なくとも１つの数学的変換コンポーネントにより不明瞭化されたデータまたはメタデータがどこに格納されるかを、前記ネットワーク・サービスの、データ待ち時間要件、データ信頼性要件、データ消費要件からの距離、またはデータ・スケール要件に基づいて管理するデータ・コンテナ管理コンポーネントを備えた、ネットワーク・サービス・プロバイダと、
を備えたことを特徴とするシステム。
【請求項９】
前記少なくとも１つの数学的変換コンポーネントが、データおよびメタデータの公開またはサブスクライブのうち少なくとも１つに対して鍵情報を生成する鍵生成器とは独立に実装された、暗号技術プロバイダによって少なくとも部分的に分散された少なくとも１つの暗号コンポーネントであり、前記少なくとも１つのプロセッサが、前記鍵生成器が生成した前記鍵情報に基づいて検索可能暗号アルゴリズムまたは検索可能復号アルゴリズムのうち少なくとも１つを実施するように構成されることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記ネットワーク・サービス・プロバイダが、少なくとも１つの暗号コンポーネントによって暗号化した前記データまたは前記メタデータに関して前記ネットワーク・サービスを実装するように構成した少なくとも１つのプロセッサを備え、前記少なくとも１つの暗号コンポーネントにより不明瞭化された前記データまたは前記メタデータがどこに格納されるかを管理する前記データ・コンテナ管理コンポーネントを備えたことを特徴とする請求項８に記載のシステム。
【請求項１１】
前記データ・コンテナ管理コンポーネントが、前記少なくとも１つの数学的変換コンポーネントにより不明瞭化されたデータまたはメタデータがどこに格納されるかを、前記ネットワーク・サービス・プロバイダによる前記ネットワーク・サービスの提供に関して規定したデータ待ち時間要件、前記ネットワーク・サービスにより前記データまたは前記メタデータの記憶に関して規定されたデータ信頼性要件、前記ネットワーク・サービスにより前記データまたは前記メタデータを１つもしくは複数の要求側の装置に送信することに関して規定したデータ消費要件からの距離、または前記ネットワーク・サービスによるデータまたはメタデータの記憶に関して規定されたデータ・スケール要件に基づいて管理することを特徴とする請求項８に記載のシステム。
【請求項１２】
前記鍵情報が、前記少なくとも１つの数学的変換コンポーネントにより暗号化された前記データまたは前記メタデータに関してアクセス権限を定義するケイパビリティ情報を含むことを特徴とする請求項８に記載のシステム。
【請求項１３】
前記ケイパビリティ情報を遅延的に結合することにより、最新のアクセス権限が所与のサブスクライバに付与されることを特徴とする請求項１２に記載のシステム。
【請求項１４】
選択的にアクセス可能なデータまたはメタデータを格納する少なくとも１つのデータ記憶であって、少なくとも１つのパブリッシャが、少なくとも１つのリソースを表す前記データまたは前記メタデータを前記少なくとも１つのデータ記憶に発行し、第１の独立したエンティティが発行される前記データまたは前記メタデータに適用可能なアクセス情報を生成し、第２の独立したエンティティが発行される前記データまたは前記メタデータを前記少なくとも１つのデータ記憶の１組のデータ記憶に分散し、発行される前記データまたは前記メタデータを格納する前記１組のデータ記憶の知識を前記アクセス情報なしには開示できない秘密として維持する、少なくとも１つのデータ記憶と、
発行される前記データまたは前記メタデータに対する選択的なアクセスを、前記少なくとも１つのパブリッシャまたは前記少なくとも１つのリソースの少なくとも１つの所有者のうち少なくとも１つにより付与され、前記アクセス情報により表される、遅延的に結合され選択された権限に基づいて、前記ネットワーク・サービスに対する所与の要求に提供するネットワーク・サービスを実施するように構成された少なくとも１つのプロセッサと
を備え、
前記少なくとも１つのデータ記憶が複数のコンテナを備え、発行される前記データまたは前記メタデータが前記複数のコンテナのうち少なくとも１つのコンテナに自動的に分散されることを特徴とするシステム。
【請求項１５】
前記少なくとも１つのデータ記憶が、異なるコンテナ・タイプから成る複数のコンテナを備えたことを特徴とする請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信頼できるコンピューティング・サービスとデータ・サービスのためのコンテナを利用しないデータ（ｃｏｎｔａｉｎｅｒｌｅｓｓ  ｄａｔａ）に関する。
【０００２】
本発明は、ネットワーク・サービスまたはクラウド・サービスのような、信頼できるコンピューティング・サービスとデータ・サービスを装置（複数可）に提供することに関し、特に、どのコンテナ（複数可）が実際のビット記憶に用いられるかとは無関係に安全で、選択的にアクセス可能な、プライベートなデータ記憶を可能とするデータ・サービスまたはネットワーク・サービスに関する。
【背景技術】
【０００３】
幾つかの従来型のシステムに関する背景として、コンピューティング装置は従来より、当該装置にローカルなアプリケーションおよびデータ・サービスを実行していた。かかる場合、データがアクセス、処理、格納、キャッシュ、等されると、当該データはローカルなバス、インタフェース、および他のデータ経路を通って装置上を移動することができるが、当該装置自体を紛失し、当該装置が盗難に遭い、または危険に晒されなければ、当該装置のユーザはユーザ・データの妨害または開示を心配する必要はなかった。
【０００４】
テラバイトのデータ（将来的にはペタバイト、エクサバイト、等のデータ）を格納できるネットワーク・ストレージ・ファームの発展により、今まではローカル・データに対して実行されていたが、主となる装置と外部記憶を分離することでクラウドに格納したデータに対して動作するアプリケーションを模倣する機会が生まれている。アプリケーションまたはシステムの（または任意の）データをクラウドで記憶することにより、多くの装置が、装置ごとに別個の専用記憶を必要とせずに当該装置のデータを記憶することができる。
【０００５】
しかし、オンライン及びクラウド・サービスの発展とともに、アプリケーションやサービスはますます、所与のサービスの一部または全部を装置（複数可）に代替して実施するサード・パーティのネットワーク・プロバイダに移行されつつある。かかる場合、装置（複数可）のユーザは、ユーザのデータがサービスにアップロードされている間、当該データが当該サービスによって記憶または処理されている間、または当該データが当該サービスから取り出されている間に、誰が当該データにアクセスでき、または、おそらくより悪いことには、誰が当該データを妨害しうるのかを心配するようになるかもしれない。要するに、ユーザの装置のデータが物理的な所有領域を離れ、当該ユーザから物理的に離れたネットワーク環境に入ると、サード・パーティがずさんにまたは悪意をもってデータを扱うかまたは妨害する心配が生ずる。したがって、クラウド・サービスおよびクラウド・サービスに関連するデータの扱いに関して、信頼、セキュリティおよびプライバシを高めることが望ましい。例えば、データが生成された或る制御領域（例えば、第１の部署）を当該データが離れ、別の制御領域（例えば、第２の部署）に入って記憶される場合には、企業内部であってもデータの記憶に関して同様な心配が生ずる。
【０００６】
しかし、上で示唆したように、データがクラウドに記憶されている間に当該データのセキュリティ、プライバシ、および完全性の問題およびそれらに対する要求を効果的に軽減できるクラウド・サービスまたはネットワーク記憶プロバイダは存在しないという問題が依然として残っている。要するに、記憶媒体に対する物理的制御を明け渡した場合に自分のデータが依然として安全でプライバシが保たれているという高度な信頼をユーザは要求するのであり、このハードルのため、企業や消費者がサード・パーティのネットワーク・サービスやソリューションを介して重要なデータをバックアップすることを採用するのが著しく妨げられている。
【０００７】
今日の装置および当該装置に提供されるデータ・サービスに関する以上の欠点は、単に従来型のシステムの問題のうち幾つかの全体像をつかめるようにしたものであり、包括的なものではない。最新技術に関する他の問題と、対応する様々な非限定的な実施形態の幾つかの利益は、後の発明を実施するための形態を検討することでさらに明らかになろう。
【発明の概要】
【課題を解決するための手段】
【０００８】
１つまたは複数の例示的で非限定的な実施形態の様々な態様の基本的なまたは一般的な理解を可能とするために簡単な要約を与え、その後、より詳細な説明と図面の簡単な説明を行う。しかし、本要約は広範囲または包括的な概要を意図したものではない。寧ろ、本要約の唯一の目的は、幾つかの例示的で非限定的な実施形態に関連する幾つかの概念を、後の様々な実施形態のより詳細な説明に対する前置きとして簡潔に提示することである。
【０００９】
信頼を複数のエンティティに分散する方法で、データに対する検索可能暗号、逆アセンブルもしくは再アセンブルまたは配布の技法のような数学的変換技法を含むネットワークまたはクラウドのデータ・サービスを提供して、一箇所におけるデータ侵害を回避し、データを格納、処理、アクセスまたは抽出できるコンテナ（複数可）からデータ保護要求を分離する。１実施形態では、数学的変換述語生成器（例えば、鍵生成器）、数学的変換プロバイダ（例えば、暗号技術プロバイダ）およびクラウド・サービス・プロバイダがそれぞれ別々のエンティティとして提供され、データのパブリッシャの信頼できるプラットフォームがデータを機密に（不明瞭化、例えば、暗号化して）クラウド・サービス・プロバイダに発行できるようにし、サブスクライバのケイパビリティ（ｃａｐａｂｉｌｉｔｙ）に基づいて、許可されたサブスクライバが不明瞭化されたデータ、例えば、暗号化されたデータに選択的にアクセスできるようにする。
【００１０】
信頼できるプラットフォームの技法を用いて、データ（と関連するメタデータ）を当該データを保持するコンテナ（例えば、ファイル・システム、データベース、等）から切り離して、提示されたケイパビリティで開く数学的な複雑性の覆いを課すことによって、データが自身の管理者（ｃｕｓｔｏｄｉａｎ）として動作できるようにする。当該提示されたケイパビリティとしては、例えば、非限定的な例として信頼プラットフォームの暗号鍵生成器により与えられる鍵がある。特定のコンテナを強制する必要なしに信頼性を保存し拡張するように、データまたは当該データのサブセットの共有またはこれらへのアクセスを容易にする。データに適用される検索可能暗号技法のような数学的複雑性により、特定のビットが記録されるコンテナまたはハードウェアと無関係にデータを保護する。即ち、データはコンテナを利用ぜずにまたはコンテナと無関係に保護され、したがってコンテナのセキュリティ障害に基づく攻撃を受けない。特定の「安全性」が破られても、コンテンツは依然として保護されている。
【００１１】
１つの非限定的な実施形態では、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）データが自身の管理者として動作するデータである。ＸＭＬデータでは、基礎となるデータへのアクセスを選択的に可能としまたは禁止する記述情報をタグに補完または追加して、ＸＭＬデータまたはＸＭＬデータ・フラグメントが、当該ＸＭＬデータまたはＸＭＬフラグメントに適用される信頼エンベロープ（ｔｒｕｓｔ  ｅｎｖｅｌｏｐｅ）内のタグ情報でカプセル化され、自身の管理者として動作できるようにすることができる。ＸＭＬデータまたはタグは、例えば、権限情報、認証情報、スキーマ情報、履歴情報、追跡情報、一貫性情報、等のうち任意の１つまたは複数をエンコードする検索可能なメタデータを表現することができる。ＸＭＬに基づく実施形態のうち任意のものを、様々な代替形式に適用することもできるので、ＸＭＬはかかる諸実施形態では例示の目的で使用されているにすぎない。当該代替形式には例えば、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）、Ｓ式、ＥＤＩ（ｅｌｅｃｔｒｏｎｉｃ  ｄａｔａ  ｉｎｔｅｒｃｈａｎｇｅ）、等があるがこれらに限らない。
【００１２】
このように、任意の種類のペイロードに対する「信頼エンベロープ」が、当該エンベロープに配置した様々な装飾または封を介した制限付きアクセス（ｃｕｒｔａｉｎｅｄ  ａｃｃｅｓｓ）を提供する。当該装飾または封は、種々の保証にわたる全範囲の信頼を可能とする。上記任意の種類のペイロードには例えば、データベース・フィールド、ＸＭＬフラグメントまたは完全なレコードがあるがこれらに限らない。上記種々の保証には例えば、機密性、プライバシ、匿名性、改竄検出、完全性、等があるがこれらに限らない。例えば、ＸＭＬタグを適用または補完して、ネットワーク環境におけるデータ交換に用いる共通形式である、構造化ＸＭＬデータに対して信頼エンベロープを作成し、信頼できるクラウド・サービス環境でコンテナを利用しないＸＭＬデータを可能することができる。
【００１３】
データのセキュリティとプライバシに対する高レベルな信頼の確立を容易にするために適用できる暗号化技法または「装飾」の他の幾つかの例には、サイズ保存型暗号化、検索可能暗号、またはアプリケーション証明（Ｐｒｏｏｆ  ｏｆ  Ａｐｐｌｉｃａｔｉｏｎ）、ブラインド・フィンガープリント（ｂｌｉｎｄ  ｆｉｎｇｅｒｐｒｉｎｔ）、復元可能性証明（Ｐｒｏｏｆ  ｏｆ  Ｒｅｔｒｉｅｖａｂｉｌｉｔｙ）、等が挙げられるがこれらに限らない。
【００１４】
他の実施形態および様々な非限定的な例、シナリオ、および実装形態を後により詳細に説明する。
【００１５】
様々な非限定的な実施形態を、添付図面を参照してさらに説明する。
【図面の簡単な説明】
【００１６】
【図１】安全で、プライベートで、選択的にアクセス可能なネットワーク・データ・サービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。
【図２】「自身の管理者としてのデータ」の１つまたは複数の態様を示すブロック図である。
【図３】安全で、プライベートで、選択的にアクセス可能なネットワーク・データ・サービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。
【図４】データが自身の管理者として動作する、コンテナを管理するためのプロセスの流れ図である。
【図５】自身の管理者として動作するデータの１つまたは複数の態様を示す別のブロック図である。
【図６】データが従来型のコンテナ・セキュリティ・モデルを脱却できることを示す、自身の管理者としてのデータの態様を示す別のブロック図である。
【図７】異種の複数のデータ・コンテナからデータを自動的に細切れにし、キャッシュし、複製し、再構築するような機能を実施する記憶管理層を示す図である。
【図８】データが様々なデータ・コンテナに格納される場所に関わらず、暗号化アクセス・ラッパを当該データに追加するセキュア・オーバレイ・ネットワークを示すブロック図である。
【図９】レガシー・アプリケーションに関する態様を示すブロック図である。
【図１０】レガシー・アプリケーションならびにＦＴＯ認識アプリケーションと関連して使用できるサンプルのアーキテクチャ・モデルを示す図である。
【図１１】データ、および／または、当該データもしくは当該データの特徴を記述するメタデータに対する暗号化ラッパまたはエンベロープの一般的な使用を示すブロック図である。
【図１２】図１１で一般的に示した概念をさらに強調する特別な例を示す図である。
【図１３】保護データを取り囲むフェデレーテッド信頼オーバレイ（ｆｅｄｅｒａｔｅｄ  ｔｒｕｓｔ  ｏｖｅｒｌａｙ）を示す別の例の図である。
【図１４】信頼オーバレイを用いてレコードおよびインデックスが暗号化されクラウドにアップロードされる実施形態を示すブロック図である。
【図１５】リッチなクラウド記憶エクスペリエンスのために、クライアントがどのようにフェデレーテッド信頼オーバレイのアーキテクチャを利用して暗号化データ上の暗号化インデックスを生成し、アップロードできるかを示す図である。
【図１６】リッチなクラウド記憶エクスペリエンスのために、クライアントがどのようにフェデレーテッド信頼オーバレイのアーキテクチャを利用して暗号化データ上の暗号化インデックスを生成し、アップロードできるかを示す図である。
【図１７】システムによる幾つかの追加の非限定的な信頼保証を示すブロック図である。
【図１８】システムによる幾つかの追加の非限定的な信頼保証を示すブロック図である。
【図１９】ＸＭＬのコンテキストにおける信頼オーバレイの１実施形態を示す図である。
【図２０】様々な実施形態における信頼されたＸＭＬに対する例示的なプロセスを示す流れ図である。
【図２１】様々な実施形態における信頼されたＸＭＬに対する例示的なプロセスを示す流れ図である。
【図２２】様々な実施形態における信頼されたＸＭＬに対する例示的なプロセスを示す流れ図である。
【図２３】様々な実施形態における信頼されたＸＭＬに対する例示的なプロセスを示す流れ図である。
【図２４】１実施形態に従う信頼できるクラウド・サービスのフレームワークまたはエコシステムのブロック図である。
【図２５】信頼できるクラウド・サービスのエコシステムに従ってデータを発行するための例示的で非限定的な方法を示す流れ図である。
【図２６】信頼できるクラウド・サービスのエコシステムに従ってデータをサブスクライブするための例示的で非限定的な方法を示す流れ図である。
【図２７】信頼できるエコシステムにおける鍵生成センタ（ＣＫＧ）、暗号化技術プロバイダ（ＣＴＰ）およびクラウド・サービス・プロバイダ（ＣＳＰ）の分離を示す例示的なエコシステムを示す図である。
【図２８】企業向けクラウド・サービスを実施するための信頼できるエコシステムの別の利益を示す別のアーキテクチャ図である。
【図２９】記憶抽象化層を介した様々な記憶プロバイダの収容を示す別のブロック図である。
【図３０】記憶抽象化サービスと関連した別の記憶態様を示す図である。
【図３１】信頼できるエコシステムの多種多様な参加者を示す別のブロック図である。
【図３２】別のまたは同一のエンティティにより様々な部分を提供できる、信頼できるクラウド・コンピューティング・システムの例示的で非限定的な実装形態の幾つかの層の代表図である。
【図３３】パブリッシャ制御型の選択的アクセスをデータに対して遅延結合で提供するように、ドキュメントをデジタル・セーフなアプリケーションに発行するための例示的で非限定的なプロセスの流れ図である。
【図３４】デジタル・セーフに配置した素材をサブスクライブするための例示的で非限定的なプロセスの流れ図である。
【図３５】デジタル・エスクロー・パターンを用いて１つまたは複数のデータ・センタを介した企業向けのセキュア・エクストラネットを実装した、信頼できるクラウド・サービスの例示的で非限定的な実装形態を示す図である。
【図３６】ＣＳＰに格納した暗号化データへの選択的なアクセスがサブスクライバに与えられる、信頼できるクラウド・サービスのエコシステムに基づく別の例示的で非限定的なシナリオを示す流れ図である。
【図３７】サインイン情報に基づいてアプリケーションの応答をサブスクライバに対してカスタマイズできることを示す別の流れ図である。
【図３８】単一当事者または複数当事者に対して実装できる、安全にレコードをアップロードするシナリオを示す別の流れ図である。
【図３９】信頼できるクラウド・サービスのエコシステムにより可能となる、検索可能暗号化データ記憶に対する役割ベースの問合せの例示的で非限定的な実装形態を示す別の流れ図である。
【図４０】企業がその暗号化データの一部に外部企業がアクセスできるようにする、複数当事者の協調シナリオを示す流れ図である。
【図４１】複数の企業間の複数当事者の自動検索シナリオを示す流れ図である。
【図４２】信頼できるクラウド・サービスに対して実装できる、例示的で非限定的なエッジ計算ネットワーク（ＥＣＮ）を示す図である。
【図４３】信頼できるクラウド・サービスのエコシステムに従う鍵生成センタの１つまたは複数の任意の態様を示すブロック図である。
【図４４】検索可能暗号化データを含む信頼できる記憶域の例示的で非限定的な実施形態のブロック図である。
【図４５】立証ステップを含むサブスクライブの例示的で非限定的なプロセスを示す流れ図である。
【図４６】検証器が暗号チャレンジを証明器に発行する、例示的で非限定的な立証チャレンジ／レスポンス・プロトコルを示す図である。
【図４７】検索可能暗号化データを含む信頼できる記憶域の別の例示的で非限定的な実施形態のブロック図である。
【図４８】立証ステップを含むサブスクライブの例示的で非限定的なプロセスを示す流れ図である。
【図４９】検証器が暗号チャレンジを証明器に発行する、別の例示的で非限定的な検証チャレンジ／レスポンス・プロトコルを示す図である。
【図５０】ブラインド・フィンガープリントを含むサービスの１つまたは複数の実施形態を提供するための一般的な環境のブロック図である。
【図５１】複数の独立したフェデレーテッド信頼オーバレイ、またはデジタル・エスクローが階層アプローチで隣り合って、または、重なり合って存在できる、非限定的なシナリオを示すブロック図である。
【図５２】不正アクセスに対してデータを不明瞭にするためのデータ分散技法を含む、信頼できる記憶域の別の例示的で非限定的な実施形態のブロック図である。
【図５３】本明細書に記載の様々な実施形態を実装できる、例示的で非限定的なネットワーク環境を表すブロック図である。
【図５４】本明細書に記載の様々な実施形態の１つまたは複数の態様を実装できる、例示的で非限定的なコンピューティング・システムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１７】
概要
【００１８】
背景技術で論じたように、例えば、データがユーザの装置からネットワーク・アプリケーション、サービスまたはデータ記憶に送信され、悪意ある第三者が危害を加え得ないことの十分な保証をユーザが望む場合は、ネットワーク・サービスに送信されたデータが、プライバシ、改竄可能性、等に関して不快感を生み出す可能性がある。定義によれば、ユーザがデータに対する制御を失う。したがって、パブリッシャおよび／もしくは所有者がアクセスしたとき、または、要求者のアイデンティティに基づいて検証され権限が付与された者がアクセスしたときは除いて、ネットワークにおいて、データのパブリッシャおよび／または所有者が自分のデータが依然としてプライベートであり無傷であることを信頼して自分のデータに対する物理的制御を進んで放棄しようとするように、信頼を高めることが望ましい。
【００１９】
これに関して、データがクラウドに記憶されている間に当該データのセキュリティ、プライバシ、および完全性の問題およびそれらに対する要求を効果的に軽減できるクラウド・サービスまたはネットワーク・ストレージ・プロバイダは存在しないという問題が依然として残っている。要するに、記憶媒体に対する物理的制御を明け渡した場合に自分のデータが依然として安全でプライバシが保たれているという高度な信頼にユーザは関心があるのであり、このハードルのため、企業や消費者が第三者のネットワーク・サービスやソリューションを介した重要なデータのバックアップを採用することが著しく妨げられている。
【００２０】
本明細書で使用する場合、ネットワーク記憶プロバイダという用語は、コンテンツ配信（または配布）ネットワーク（ＣＤＮ）、例えば企業の記憶域、クラウド記憶域、および／もしくはＣＤＮにまたがる混合型のシナリオ、および／または、例えば、複数の企業、複数のクラウド、もしくは複数のＣＤＮにまたがるより広い連合型のシナリオ、または、前述の任意の組合せを含むがこれに限らない。
【００２１】
従来は、データを安全に保つために、データは、例えば物理媒体上にしまい込むかまたは隠されていた。これに関して、データ所有者は、機密データの管理者が完全に信頼できる者であるか、または、機密データの内容にアクセスできないことを知っている。これに関して、クラウド・サービスの前提は顧客が自分のデータがどこに物理的に存在するかを必ずしも正確に知る必要はないということであるが、この問題を完全に無視できるわけではない。その理由は、誰（どの装置）がデータにアクセスできるか、誰がデータを見るか、誰がデータを保守するか、およびどのようにデータが記憶されるかにつき完全な責任を負うのは困難であるからである。したがって、現実には、顧客は、固有の不信感と様々なその他の懸念のため、クラウドの連鎖において第三者が誰であり誰が様々なコンピューティング装置や記憶装置を制御しているかを非常に気にしている。
【００２２】
人間または外部のエンティティが制御するアクティブな管理にはデータの所有者またはパブリッシャと調和しない可能性があるという固有な先入観があるが、本明細書の様々な実施形態では、当該管理を排除し、データが数学的に変換されるシステム、例えば、データが選択的に暗号化または検索可能に暗号化されるシステムを提供し、第三者のマシン（複数可）、機構（複数可）、装置（複数可）または当該データを保持するコンテナ（複数可）と無関係にデータがそれ自体の管理者として動作するようにする。これに関して、フェデレーテッド信頼オーバレイの様々な実装形態により、セキュリティ、機密性、改竄防止、等の保証を伴ったコンテナを利用しないデータが可能となり、これらの保証はユーザには透過的とされる。
【００２３】
したがって、様々な実施形態では、信頼できるクラウド・プラットフォームを、パブリッシャがデータを数学的に不明瞭にするための変形フレームワークとして使用して、サブスクライバが権限を有する部分に対してサブスクライバが選択的にアクセスできるようにする。これに関して、一部の場所で完全性とセキュリティを保存しつつ、データを保護し、同時に、許可されたサブスクライバへのアクセスを許可することによって、プラットフォームが自身の管理者として動作するデータを実現する。
【００２４】
様々な実施形態および詳細を以下の節で説明するが、自身の管理者としてのデータを、着脱可能なサービスを伴うフェデレーテッド信頼オーバレイで実装することができる。数学的な難読化、例えば暗号化よりも多くのことを実現するために、様々な実施形態ではユーザおよびエスクロー・エージェントのデータに対して、データが格納される場所および方法に関わらず、データのパブリッシャまたは所有者が適切に定義したように機密性と整合性の要件が保存されることを保証する。これに関して、焦点は、データの境界、パイプおよびコンテナを保護することから、適切なケイパビリティ（例えば、鍵）が提示されたときにデータ／メタデータ、または特定のサブセットへのアクセスを可能とする暗号的に安全な信頼エンベロープを提供することでデータおよび関連するメタデータを保護することへと、シフトまたは拡大している。
【００２５】
１実施形態では、データをホストするための方法を提供する。当該方法は、第１の制御領域のコンピューティング装置（複数可）が、第２の制御領域のコンピューティング装置（複数可）から、第２の制御領域のコンピューティング装置（複数可）の１組の定義されたデータ・セットを数学的にデータ変換して作成した不明瞭なデータを受け取ることを含む。当該方法はさらに、第１の制御領域のコンピューティング装置（複数可）によって、データを分析し、分析結果に対して少なくとも１つの他の数学的変換を行うことにより作成した、不明瞭なメタデータを受け取ることを含む。次に、少なくとも２つの異種のコンテナ・タイプを有する１組のコンテナのうち、不明瞭なデータおよび／または不明瞭なメタデータを格納する１つまたは複数のコンテナを判定する。
【００２６】
システムの非限定的な実装形態では、１つまたは複数の数学的変換コンポーネントを数学的変換アルゴリズム・プロバイダによって少なくとも部分的に分散させる。当該数学的変換アルゴリズム・プロバイダは、データおよびメタデータの公開またはサブスクライブのうち少なくとも１つに対して数学的変換述語情報（例えば、鍵情報）を生成する生成器とは独立に実装される。１つまたは複数の数学的変換コンポーネントが、少なくとも１つの検索可能データ不明瞭化アルゴリズム（例えば、検索可能暗号）または検索可能データ開示（例えば、検索可能復号化）アルゴリズムを、生成器が生成した数学的変換述語情報に基づいて実施する。ネットワーク・サービス・プロバイダは、生成器および１つまたは複数の数学的変換コンポーネントとは独立に実装され、１つまたは複数の数学的変換コンポーネントによって不明瞭化したデータまたはメタデータに関してネットワーク・サービスを実装する。ネットワーク・サービス・プロバイダは、データ・コンテナ管理コンポーネントを備える。当該データ・コンテナ管理コンポーネントは、少なくとも１つの数学的変換コンポーネントにより不明瞭化されたデータまたはメタデータがどこに格納されるかを、ネットワーク・サービスの、データ待ち時間要件、データ信頼性要件、データ消費要件からの距離、またはデータ・スケール要件に基づいて管理する。
【００２７】
管理者としてのデータにより、１組の所与のデータの全てに対する権利を要求するのではなく、必要なときに、または、必要であると予想されるときに、細かい粒度レベルで、または、指定の粒度レベルで、データへのアクセス権を提供する。クラウド記憶プロバイダの運用スタッフも、参照、修正、改竄または削除が運用スタッフに付与されたケイパビリティに従って明示的に許可されていない限り、記憶容量の計画等を目的としたサーバ・ログのメンテナンス、またはメタデータに対する他の何らかの有限な動作など、検出されることなくデータを参照し、修正し、改竄し、または削除することはできない。さらに、コンテナを利用しないデータにより事前に複製を行うことができ、これにより改竄防止が容易になる。これは、当該コンテナを利用しないデータがなければ、要求される従来型のシステムが適切に解決できなかったものである。
【００２８】
１実施形態では、フェデレーテッド信頼オーバレイを、１つまたは複数の以下のコンポーネント、即ち、クラウド・データ・サービス（ＣＤＳ）またはクラウド記憶プロバイダ、暗号技術プロバイダ（ＣＴＰ）および鍵生成センタ（ＣＫＧ）のうち１つまたは複数により実現する。ＣＤＳを任意の記憶プロバイダによって提供することができる。すなわち、コンテナを利用しないデータでは特定のコンテナは不要である。ＣＤＳの制御領域から離れてＣＴＰが動作すれば、ＣＴＰを実装するためのオープン仕様に基づこうが、ＣＴＰの独自の実装に基づこうが、任意の当事者がＣＴＰを提供することもできる。鍵生成機能を分離し、暗号原理のような数学的原理を公衆の縦覧に付すことで、ＣＴＰの方法に依然として先入観が入らず、ＣＴＰの方法を１企業または１人のユーザによって実装するか、またはＣＴＰの技術を有する第三者から調達できるという確信を与えることになる。さらに、独自のバージョン、企業向けのオープンなバージョン、政府または国家向けのオープンまたはクローズドなバージョン、リファレンス・オープン・ソースのバージョン、または他のカテゴリの全てを、プレパッケージ型の利用または所与のエンティティによる実装向けに作成することができる。
【００２９】
ＣＫＧエンティティは、ＣＴＰによって規定される技術に従って鍵情報を生成し、フェデレーテッド信頼オーバレイの別のコンポーネントとして提供される（しかし、ＦＴＯの所与の実装に対して望まれる信頼レベルに応じて、ＣＫＧを他のコンポーネントと組み合わせることもできる）。様々な実施形態では、ＣＫＧは集約的なエンティティであることができるが、本明細書で用いる「センタ」という用語は論理的な言及であり、集約的なエンティティを示唆するものではなく、したがって、ＣＫＧを分散させ連携させることもできる。ＣＫＧは単一のエンティティまたは複数のパートナにサービス提供することができる。例えば、医薬品会社間で複数のパートナが協調することにより、同意したＣＫＧからの鍵交換に従って情報を共有しアクセスすることである。したがって、ＦＴＯを用いると、権限を分離し、格納した情報、明示的な権限なしのログまたはアクセス・パターン、改竄検出および完全性に対する洞察を防止することによって信頼および機密性が維持され、例えば、立証も可能となる。例えば、サービス・プロバイダが、検出されることなくデータを修正または削除することはできない。否認不可を有する監査機能によって、顧客は、快適にデータを手放して誰も偶然または故意にデータを妨害していないことを確信することができる。ログに対しても、データとメタデータと同様に保証される。
【００３０】
結果の「立証」は、ＦＴＯの実装に含めうる別の機能であり、後で詳述する。立証により、要求されている情報をクラウドが保留できないこと、例えば、３つのドキュメントを求められたときに２つのドキュメントを配信できないことが保証される。ＣＫＧとデータの立証を実施する任意のサービスとの分離実装を考慮することによって、および、アプリケーション・サービス・プロバイダに付与されたケイパビリティに基づいてデータまたはメタデータを受け取り、変更し、取り出し、変更し、補完し、または削除するアプリケーション・サービス・プロバイダからデータを分離することによって、分離の概念をさらに取り込むことができる。これにより、その当時のアクセス特性、最新のセキュリティ・モデル、最新の役割、時刻、等に従ってアプリケーションのケイパビリティが維持されるという利益も得られる。
【００３１】
上述の機能の全部または一部、例えば、後でより詳細に説明するようなものを組み合わせることで、データをクラウドに格納することに対する信頼性の懸念が排除される可能性が高まる。企業レベルでは、企業は、データやアプリケーションがクラウドにホストされている場合であっても、細かい粒度でポリシを所有し強制を制御することができる。システムを、アイデンティティ・メタシステム（例えば、クレーム、アイデンティティ・ライフサイクル管理、アクティブ・ディレクトリ、等）のような企業のセキュリティ・インフラと調和させることができる。企業は、ＦＴＯの実装を要望するだけいくらでも行うことができる。
【００３２】
本明細書で説明したデータ・サービスの提供には、費用対効果が良く安全でプライベートなソリューションを可能とする記憶暗号化技法の様々な組合せと置き換えが必要である。例えば、後でより詳細に説明する様々な任意の実施形態において、データ保護技法を実装する。当該データ保護技法は、サイズ保存型暗号化、検索可能暗号、および／または（一般的な技法に関する）アプリケーション証明と呼ばれる暗号技法を含む。かかる実施形態により、外部委託式のクラウド・データ保護、災害復旧、または分析に関する新たなビジネス・シナリオが可能となる。背景技術で論じたように、顧客のプライバシまたはセキュリティのニーズを満たすようにクラウドまたはネットワーク型のデータ・サービスを実装した従来型のシステムはない。
【００３３】
これに関して、従来式のネットワーク・サービスの提供を取り囲む信頼の障壁を排除するため、上述の目的ならびに後で説明する様々な実施形態で強調する他の利点を実現する、信頼できるクラウド・コンピューティングおよびデータ・サービスのエコシステムまたはフレームワークが提供される。「クラウド」という用語は一般に、サービスがユーザの装置から局所的に実施されるのではなく、１つまたは複数のネットワークを介してアクセス可能な１つまたは複数のリモート装置から提供されるという概念を指す。ユーザの装置が、１つまたは複数の装置で何が起きているかの詳細を理解する必要がないので、ユーザの装置からはサービスが「クラウド」から提供されているようにみえる。
【００３４】
１実施形態では、システムは、データを発行またはサブスクライブするための鍵情報を生成する鍵生成器を備える。暗号技術プロバイダが、鍵生成器とは独立に実装され、鍵生成器が生成した鍵情報に基づいて検索可能暗号／復号アルゴリズム（複数可）を実装する。さらに、ネットワーク・サービス・プロバイダが、鍵生成器と暗号技術プロバイダとは独立に実装され、暗号技術プロバイダにより暗号化されたデータに関してネットワーク・サービスを提供する。
【００３５】
１実施形態では、選択的にアクセス可能な、例えば、検索可能暗号化データを公開するデータ記憶が提供され、少なくとも１つのパブリッシャが、リソース（複数可）を表すデータを当該データ記憶に発行する。信頼が悪用される可能性を分けることによって、第１の独立したエンティティが暗号鍵情報を生成する。次いで、第２の独立したエンティティが、第１の独立したエンティティが生成した暗号鍵情報に基づいて格納する前に、発行されたデータを暗号化する。１組のネットワークまたはクラウド・サービスが、リソースのパブリッシャ（複数可）または所有者（複数可）が付与した遅延的に結合され選択された権限に基づいて、ネットワーク・サービスに対する所与の要求に対して、暗号化データに選択的にアクセスする。
【００３６】
他の実施形態では、データ記憶が選択的にアクセス可能な暗号化データを格納し、サブスクライバ（複数可）が当該暗号化データの特定のサブセットをサブスクライブする。第１の独立したエンティティが、サブスクライバ（複数可）に関連付けられたアイデンティティ情報に基づいて暗号鍵情報を生成し、第２の独立したエンティティが、第１の独立したエンティティが生成した暗号鍵情報に基づいて上記特定のサブセットを復号化する。ネットワーク・サービス（複数可）はサブスクライバ（複数可）による要求に応答し、上記特定のサブセットのパブリッシャまたは所有者が付与した遅延的に結合され選択された権限に基づいて、暗号化データに対する選択的なアクセスを提供する。
【００３７】
これに関して、パブリッシャおよびサブスクライバという用語は一般に、それぞれ、信頼できるクラウド・サービスのデータを発行またはサブスクライブする任意の者をさす。しかし、実際には、信頼できるクラウド・サービスのエコシステムおよびデジタル・エスクロー・パターンの業界、分野、または応用分野に応じて、パブリッシャおよびサブスクライバはより具体的な役割を果たす。例えば、システム全体のデータのコンテキストでは、一般に、少数のサブスクライバのみが当該データにアクセスできる権限を有する。例えば、当該データのコンテキストでは、暗号化データ記憶の監査者が、コンテンツ自体へのアクセス権限を付与することなく、バックアップ頻度のような特定の要件が満たされることを確認するための、データの監査者の役割に基づく特定のケイパビリティを有してもよい。
【００３８】
１つの非限定的な実施形態では、データをホストするための方法であって、第１の制御領域の第１のコンピューティング装置（複数可）が、第２の制御領域の第２のコンピューティング装置（複数可）から、暗号鍵情報に基づいて検索可能暗号アルゴリズム（複数可）に従って当該第２のコンピューティング装置（複数可）の所定のデータ・セットに対するデータを暗号化することで作成した暗号化データを受け取ること、当該第１のコンピューティング装置（複数可）が、暗号鍵情報に基づいてデータを分析し当該分析結果を暗号化することで作成した暗号化メタデータを受け取ること、および、少なくとも２つの異種のコンテナ・タイプのコンテナから、当該暗号化データまたは当該暗号化メタデータを格納するコンテナ（複数可）を自動的に決定することを含む。トラップドア・データの少なくとも１つの暗号トラップドアによって定義されるように、暗号化データまたは暗号化メタデータへの視覚的なアクセスを可能とするトラップドア・データを受け取る。
【００３９】
暗号化データまたは暗号化メタデータを格納するコンテナ（複数可）を、複数のコンテナの所定の条件が満たされた場合に自動的に切り替えるかまたは変更することができる。例えば、特定のデータまたはメタデータの優先度が顧客に対して高くなった場合、当該データまたはメタデータを、低速な長期記憶域からアクセス待ち時間が少ない高速のコンテナに移してもよい。あるいは、他の効率上の理由から、例えば、暗号化データまたは暗号化メタデータに関連付けられた記憶サイズに基づいて、暗号化データまたは暗号化メタデータに対して規定されたアクセス速度要件に基づいて、暗号化データまたは暗号化メタデータに対して規定された復旧信頼性要件に基づいて、暗号化データまたは暗号化メタデータにアクセスできる１つまたは複数の装置の近接性に基づいて、データまたはメタデータを移動し、コピーし、または削除してもよい。
【００４０】
別の非限定的な実装形態では、システムは暗号コンポーネントを備える。当該暗号コンポーネントは、暗号技術プロバイダによって少なくとも部分的に分散され、データおよびメタデータを発行またはサブスクライブするための鍵情報を生成する鍵生成器と独立に実装され、当該鍵生成器によって生成された鍵情報に基づいて、データおよびメタデータを検索可能に暗号化、または、検索可能に復号化する。
【００４１】
システムはまた、ネットワーク・サービス・プロバイダを備えることができる。当該ネットワーク・サービス・プロバイダは、鍵生成器および暗号コンポーネントとは独立に実装され、当該暗号コンポーネントにより暗号化されたデータまたはメタデータに関してネットワーク・サービスを提供する。当該ネットワーク・サービス・プロバイダは、暗号コンポーネントにより暗号化されたデータまたはメタデータがどこに格納されるかを、ネットワーク・サービスの、データ待ち時間要件、データ信頼性要件、データ消費要件からの距離、またはデータ・スケール要件に基づいて管理するデータ・コンテナ管理コンポーネントを備える。鍵情報が、ケイパビリティ情報を含むことができる。当該ケイパビリティ情報は、暗号化コンポーネントにより暗号化されたデータまたはメタデータに関してアクセス権限を定義する。最新のアクセス権限が所与のサブスクライバに付与されるように、ケイパビリティ情報を遅延的に結合することができる。
【００４２】
別の非限定的な実施形態では、コンピューティング・システムが、選択的にアクセス可能な暗号化データまたは暗号化メタデータを格納するためのデータ記憶（複数可）を備え、パブリッシャがリソース（複数可）を表すデータまたはメタデータを当該データ記憶（複数可）に発行し、第１の独立したエンティティが暗号鍵情報を生成し、第２の独立したエンティティが、第１の独立したエンティティが生成した暗号鍵情報に基づいて当該データ記憶（複数可）に格納する前に、発行されたデータまたはメタデータを暗号化する。システムは、ネットワーク・サービスを提供する。当該ネットワーク・サービスは、リソース（複数可）のパブリッシャまたは所有者が付与した遅延的に結合され選択された権限に基づいて、ネットワーク・サービスに対する所与の要求に対して、暗号化データまたは暗号化メタデータに選択的にアクセスできるようにする。これに関して、システムはコンテナ・タイプに不可知的であり、したがって、データ記憶（複数可）は異なるコンテナ・タイプのコンテナを含み、データ記憶（複数可）は、選択的にアクセス可能な暗号化データまたは暗号化メタデータを、コンテナが表す最新の記憶リソースの分析結果に基づいて、様々なコンテナ（複数可）に自動的に分散させる。
【００４３】
１実施形態では、「データ」は、ＸＭＬペイロード・データ（例えば、「マイケル・ジャクソン」というテキスト文字列）とペイロードに適用されるＸＭＬタグ情報（例えば、＜／名前＞）とを含むＸＭＬデータである。ＸＭＬタグ情報を、ＸＭＬデータの検索可能暗号と選択的復号化に関連する追加のメタデータで補完することができる。これに関して、ＸＭＬタグをこのように適用することによって、構造化ＸＭＬデータに対する「信頼エンベロープ」を作成して、暗号鍵生成エンティティ（ＣＫＧ）と暗号技術提供エンティティ（ＣＴＰ）の連携を利用し、機密性、プライバシ、匿名性、改竄検出および完全性のような様々な信頼保証を提供する。述べたように、ＸＭＬデータまたはメタデータに関する本明細書の実施形態のうち任意のものを他の形式に適用することもできるので、ＸＭＬは本明細書に記載の実施形態では例示の目的として使用されるにすぎない。当該他の形式には、例えばＪＳＯＮ、Ｓ式、ＥＤＩ、等があるがこれらに限らない。
【００４４】
ＸＭＬはまた、大規模なドキュメントの散りばめられた断片（ｄｉｓｐｅｒｓｅｄ  ｓｌｉｖｅｒ）である場合には他の関連するフラグメントを発見するためのマニフェスト情報をエンコードすることができる。様々なコンテナにわたって分散するので、すなわち、１つまたは複数の中間層が特定のコンテナの記憶の詳細を処理するので、実装形態は技術的に独立している（任意のＣＫＧ／ＣＴＰを使用することができる）。さらに、信頼ラッパ以外にも、検索可能暗号および立証または検証に加えて任意数のラッパが適用できるという点で、および、新たなラッパ技術が適用可能となるので、実装形態は無制限である。また、一貫性、痕跡、等の調節を支援するタグを、既存のデータおよびメタデータ上に（またはメタデータを補完することによって）追加することができる。
【００４５】
データ／情報がＸＭＬ形式である場合、これらの技法またはラッパのうち任意のものを構造化ＸＭＬデータに適用して、データを選択的に問い合わせてＸＭＬフラグメントへのアクセスを取得することができる。今日では、ＸＭＬは、＜タグ  「値」＞または＜タグ「値」｜ＸＭＬ終了タグ＞である標準的な形式である。有利なことに、構造化ＸＭＬドキュメントを用いて、デジタル・エスクロー・パターンに対して一意なＣＫＧ／ＣＴＰ「フレーム」を指す外部ラッパが存在するように、構造を階層的に表す方法（複数可）がある。したがって、埋込みフラグメントへアクセスする必要があるときまたは埋込みフラグメントへアクセスしたいとき、＜ＣＫＧ＞および＜ＣＴＰ＞ラッパによる既存の信頼を利用することができ、または、１組の新たな信頼を新たなＣＫＧ／ＣＴＰフレームで確立することができる。
【００４６】
これを、標準的な公開鍵インフラＰＫＩにより提供することができるが、選択した特定の枠組みは本明細書で説明した技法に関して非限定的であると考えるべきである。これに関して、どの特定の１組の暗号技術を選択したとしても、本明細書で説明した諸実施形態により、ユーザは暗号化データまたは暗号化メタデータのセグメント、サブセット、または部分を検索し、抽出し、暗号化することができる。さらに、公のデータ所有証明機構（装置に代わって実行する信頼できる第三者）（複数可）を実行して、アクセスされている特定のＸＭＬセグメントが最初に作成されてから改竄されていないことを検証することができる。
【００４７】
本質的に、ＸＭＬフラグメントまたは完全なレコード（例えば、「ペイロード」）に対する「信頼エンベロープ」が様々な「装飾」により提供される。当該装飾により、全範囲の信頼を保証することができる。当該信頼保証には、例えば、機密性、プライバシ、匿名性、改竄検出および完全性があるがこれらに限らない。
【００４８】
信頼エンベロープの一部としてＸＭＬタグ情報で表現できる情報の種類の例として、ＸＭＬドキュメントのフラグメントを様々なレベルの機密性に関して指定することができる。例えば、公開、秘密、極秘のパラグラフを有するドキュメントが存在してもよい。検索を実施し、秘密の権限でアクセスを要求する者は、公開および秘密のパラグラフにアクセスできるだけであるはずである。パラグラフの分類を使用して、暗号機構、鍵およびアクセス・ポリシを決定することもできる。例えば、極秘のコンテンツを無線または遠隔装置からアクセスできないというポリシを実装することができる。
【００４９】
同様に、かかる分類を使用して、どのようにデータを格納できるか、どこにデータを格納できるか、どのくらい長くデータを格納できるか、等に関するポリシを作成することができる。例えば、ＡＥＳ２５６暗号化を用いて（機密な）医療データを１日１回信頼できるデータ・センタ内のセキュア・サーバにバックアップしなければならないことを要求するポリシを作成することができる。
【００５０】
１実施形態では、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）データをホストするための方法が、第１の制御領域内の第１のコンピューティング装置が、暗号化ＸＭＬペイロード・データと暗号化されたＸＭＬタグを含む暗号化ＸＭＬデータを第２の制御領域内の第２のコンピューティング装置から受け取ることを含む。暗号化ＸＭＬデータは、暗号鍵情報に基づく検索可能暗号アルゴリズム（複数可）に従って第２のコンピューティング装置の定義されたＸＭＬデータ・セットを暗号化することで作成される。データ要求には、権限（複数）を定義するための、暗号鍵情報に基づくケイパビリティ（複数可）を含む。当該権限は、暗号化ＸＭＬペイロード・データまたは暗号化されたＸＭＬタグのうち少なくとも一部にアクセスし、当該ケイパビリティ（複数可）によって定義されるように暗号化ＸＭＬデータへ選択的にアクセスできるようにするためのものである。
【００５１】
ケイパビリティ（複数可）はトラップドア・データを含むことができる。当該トラップドア・データは、暗号化ＸＭＬペイロード・データまたは暗号化されたＸＭＬタグに選択的にアクセスするための暗号トラップドア（複数可）を含む。暗号化データは、暗号化ＸＭＬペイロード・データまたは暗号化されたＸＭＬタグを分析することによって作成した、補助暗号化メタデータを含む。例えば、公開、秘密または極秘という機密性レベルのラベルを、ＸＭＬドキュメントの各ペイロード要素にフラグメント単位で適用し、補助暗号化メタデータに含めてＸＭＬドキュメントの部分に対するアクセスに関して非常に粒度の細かいポリシを実現することができる。
【００５２】
別の実施形態では、検索可能に暗号化されたＸＭＬデータをサブスクライブするための方法が、暗号鍵情報を、サブスクライバ装置に関連するアイデンティティ情報に基づいて暗号鍵情報を生成する鍵生成コンポーネントから受け取ること、検索可能に暗号化されたＸＭＬデータと対応するタグ・データを求めて暗号鍵情報を記憶プロバイダに送信することを含めて検索可能に暗号化されたＸＭＬデータと対応するＸＭＬタグ・データのサブセットをサブスクライバ装置が要求すること、暗号鍵情報内で定義されたケイパビリティが許可するように暗号化ＸＭＬデータと対応するＸＭＬタグ・データのサブセットを復号することを含む。
【００５３】
暗号化ＸＭＬデータのＸＭＬフラグメントごとに、対応する暗号化ＸＭＬデータの機密性レベルを表すＸＭＬタグ・データを復号化することができ、ケイパビリティが当該機密性レベルを有するデータへアクセスすることを許可するかどうかを判定することができる。これは、オープンなアクセス権限を有する公開レベルの機密性、またはポリシに従って定義される、あまりオープンでない秘密レベルの機密性を含む。
【００５４】
本方法は、暗号化ＸＭＬデータと対応するＸＭＬタグ・データの正しいサブセットが、要求と一致するサブスクライバ装置によって受け取られることを立証することを含むことができる。立証の１例として、データ所有の証明（複数可）を行って正しいサブセットがサブスクライバ装置によって受け取られることを証明することがある。本方法はまた、暗号化ＸＭＬデータと対応するＸＭＬタグ・データのサブセットの内容が、暗号化ＸＭＬデータと対応するＸＭＬタグ・データのサブセットを受け取る前に削除または修正されていないことを検証することを含むことができる。検証の１例として、復元可能性証明（複数可）を行ってコンテンツの妨害がないことを証明することがある。他の任意の機能のうち、サブスクライバ装置に関連する認証情報の匿名化を、暗号化ＸＭＬデータまたは鍵情報へのアクセスを要求するときに適用することができる。
【００５５】
別の実施形態では、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）データを発行するための方法が、検索可能暗号アルゴリズム（複数可）に従ってＸＭＬデータを暗号化して、暗号化ＸＭＬタグ情報を含む暗号化ＸＭＬデータを、暗号鍵情報を生成する別の鍵生成器から受け取った暗号鍵情報に基づいて作成すること、暗号化ＸＭＬデータをネットワーク・サービス・プロバイダに送信して暗号化データを記憶すること、を含むことができる。要求側の装置のアイデンティティ情報に基づいて要求側の装置に与えられた選択された権限を遅延的に結合することよって、暗号化データに選択的にアクセスすることができる。暗号化において、別の制御領域で実行される鍵生成器から暗号鍵情報を受け取ることができる。当該鍵生成器は、ＸＭＬデータを暗号化する発行側の装置のアイデンティティに基づいて暗号鍵情報を生成する。
【００５６】
別の実施形態では、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）データをサブスクライブするための方法が、暗号化ＸＭＬタグを含む検索可能に暗号化されたＸＭＬデータのサブセットをサブスクライバ装置が要求したことに応答して、サブスクライバ装置に関連付けられたアイデンティティ情報に基づいて暗号鍵情報を生成する鍵生成コンポーネントから暗号鍵情報を受け取ること、および、暗号化ＸＭＬデータのサブセットを、暗号鍵情報で定義されたサブスクライバ装置に付与された権限の関数として復号することを含む。
【００５７】
様々な技法が、暗号化ＸＭＬデータのサブセットのデータ・アイテムに関して、正しいデータ・アイテムが受け取られたという証明をサブスクライバ装置が要求することを含み、これは、サブスクライバ装置が要求した暗号化ＸＭＬデータのサブセット内のデータ・アイテムが正しいことをサブスクライバ装置に対して証明する情報を受け取ることを含むことができる。様々な技法が、サブスクライバ装置による要求の前に暗号化ＸＭＬデータのサブセットが妨害されていないという証明を要求することを含むことができ、これは、暗号化ＸＭＬデータのサブセットがサブスクライバ装置による要求の前に妨害されていないことをサブスクライバ装置に対して証明する情報を受け取ることを含むことができる。
【００５８】
さらに別の実施形態では、システムが、選択的にアクセス可能な暗号化ＸＭＬペイロード・データおよび当該暗号化ＸＭＬペイロード・データに対応する暗号化ＸＭＬタグ・データを格納するデータ記憶（複数可）を備える。サブスクライバが暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグ・データのサブセットに対するサブスクリプションを要求し、第１の独立したエンティティがサブスクライバに関連付けられたアイデンティティ情報に基づいて暗号鍵情報を生成し、第２の独立したエンティティが第１の独立したエンティティが生成した暗号鍵情報に基づいて当該サブセットの復号化を実施する。システムはさらに、サブスクライバによる要求を扱うためのネットワーク・サービスを備える。当該ネットワーク・サービスは、暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグ・データのサブセットに対して選択的なアクセスを提供する。暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグ・データのサブセットがサブスクリプションと一致する正しいサブセットであることを立証し、かつ／または、暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグ・データのサブセットが、暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグ・データのサブセットに対する選択的なアクセスの前に、権限なく変更または削除されていないことを検証するように、システムを構成することができる。
【００５９】
別の実施形態では、システムは暗号コンポーネントを備える。当該暗号コンポーネントは、暗号技術プロバイダによって少なくとも部分的に分散され、ＸＭＬデータおよび対応するタグ・データを発行するかまたはサブスクライブするための鍵情報を生成する鍵生成器と独立に実装される。当該暗号コンポーネントは、暗号コンポーネントによって暗号化されたＸＭＬデータまたは対応するタグ・データに関してネットワーク・サービスを実装するように構成されたプロセッサを含む、鍵生成器とネットワーク・サービス・プロバイダによって生成される鍵情報に基づいて検索可能暗号／復号アルゴリズム（複数可）を実行するように構成された、鍵生成器と当該暗号コンポーネントとは独立に実装されたプロセッサを備える。鍵情報は、「遅延的に結合された」ケイパビリティの情報を含む。当該情報により、ＸＭＬデータまたは対応するタグ・データに対する最新のアクセス権限が所与のサブスクライバに付与される。
【００６０】
これらおよび他の様々な例示的で非限定的な実施形態とシナリオを、以下でさらに詳細に説明する。
【００６１】
信頼できるコンピューティング・サービスおよびデータ・サービス向けのコンテナを利用しないデータ
背景技術で暗示したように、サービス企業が所有するリモート・サイトで企業の機密データの保守を行うと、プライバシ侵害からデータ紛失までのリスクに当該データが晒されるおそれがある。本明細書の様々な実施形態に関して説明するように、ネットワークまたはクラウドのデータ・サービスは、データの検索可能暗号技法を含むが、複数のエンティティにわたって信頼を分散させて一箇所におけるデータ侵害を回避するように提供され、データを格納し、処理し、アクセスし、または取り出せるコンテナ（複数可）からデータ保護要件を切り離すように提供される。１実施形態では、鍵生成器、暗号技術プロバイダ、およびクラウド・サービス・プロバイダがそれぞれ、別々のエンティティとして提供され、データのパブリッシャの信頼できるプラットフォームがデータを機密に（暗号化して）クラウド・サービス・プロバイダへ発行できるようにし、サブスクライバのケイパビリティに基づいて、許可されたサブスクライバに対して暗号化データへ選択的にアクセスできるようにする。
【００６２】
信頼できるプラットフォームの技法を用いて、データ（と関連するメタデータ）を、当該データを保持するコンテナ（例えば、ファイル・システム、データベース、等）から切り離して、提示されたケイパビリティで開く数学的な複雑性の覆いを課すことによって、データが自身の管理者として動作できるようにする。当該提示されたケイパビリティとしては、例えば、様々な実施形態で説明される信頼プラットフォームの暗号鍵生成器により与えられる鍵がある。特定のコンテナを強制する必要なしに信頼性を保存し拡張するように、データまたは当該データのサブセットの共有またはこれらへのアクセスを容易にする。データに適用される検索可能暗号技法のような数学的複雑性により、特定のビットが記録されるコンテナまたはハードウェアと無関係にデータを保護する。即ち、データはコンテナを利用せずにまたはコンテナと無関係に保護され、したがってコンテナのセキュリティ障害に基づく攻撃を受けない。特定の「安全性」が破られても、コンテンツは依然として保護されている。
【００６３】
図１は、本明細書で説明する、安全で、プライベートで、選択的にアクセス可能なネットワーク・データ・サービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。例示の目的のため、複数の企業１００、１０２を示してあるが、当該技法は単一の企業または多数の共同企業にも適用可能である。様々な実施形態では、後でより詳細に説明するフェデレーテッド信頼オーバレイ１３０を用いると、企業１００のポリシ１１０と企業１０２のポリシ１１２の強制１２０を、共同作業向けのＦＴＯインフラ１３０に基づいて共有することができる。強制１２０を、企業１００、１０２ごとに別々に適用することもできる。これに関して、ポリシと強制は専ら信頼オーバレイ１３０に基づいて企業１００、１０２の管轄内にあるので、クラウド１４０内の実データの場所とどの特定のコンテナ１４２が使用されているかは、顧客の観点からは、顧客が実際に心配していること、即ち、待ち時間、信頼性、サービス品質保証、バックアップ、取出し時間、サイズ保証、等に関して以外は、重要でなくなる。
【００６４】
したがって、データを保持するコンテナから当該データを信頼オーバレイ１３０が解放する見返りとして、様々な実施形態では、データ記憶管理層１５０が、顧客が何を気にしているかをリアルタイムな記憶リソースの利用可能性とそれらの各々の特性の分析に基づいて自動的に処理して、顧客のニーズと要求に適合するコンテナ内のデータ記憶を最適化する。記憶管理層１５０を点線で表して、その位置も重要でないことを示す。記憶管理層１５０は通常、１つまたは複数のデータ記憶（複数可）１４２に格納したデータにアクセスし、当該データを参照または変更する暗号的権限は有さないが、メタデータの一部、例えば、ファイル・サイズまたはファイル・タイプを公開して、どのように顧客が将来当該データを使用したいかを理解するのを容易にして、記憶管理層１５０がインテリジェントに記憶域を選択できるようにするのが望ましいかもしれない。例えば、記憶管理層１５０は、データがビデオであると理解するのに十分なほど視聴された場合には、ストリーミング・メディアの要件を満たすメディア記憶域にビデオを保持することができる。
【００６５】
図２は、一般的な「自身の管理者としてのデータ」の概念を示すブロック図である。ポリシと強制がユーザまたは企業の制御内にあると、後でより詳細に説明するように、データと対応するログが暗号化され、当該データと対応するログには、ユーザに付与される特定のケイパビリティでのみアクセス可能である。例えば、通常、クラウド記憶プロバイダの運用スタッフのような、ケイパビリティを何ら有さない者は、データ権限を有さないので、検出されることなく参照し、修正し、改窺または削除することはできない。自身の管理者としてのデータにより、ポリシがデータの所有者またはパブリッシャにより設定され、アクセスがデータ自体によりその格納場所に関係なく強制または保証され、コンテナの選択を不要とする。信頼保証はデータにより強化されるが、サブスクライバまたは顧客が当該データに関してできることを記述することにより、所有者またはパブリッシャにより制御される。
【００６６】
示したように、非限定的な実施形態では、企業２２０は、ユーザ２２６とユーザ２２６による企業２２０のシステム・リソースの利用に関して、ならびに、外部ユーザ２３０（例えば、モバイル・ワーカ）に関して、自己のポリシ２２４とポリシ２２４の強制２２２を「所有」する。自身の管理者としてのデータを用いると、実データおよび／またはログ２０５を、データをクラウド２００に格納することによってポリシ２２４と強制２２２から分離することができるが、クラウド２００の運用スタッフ２１０は、検出されることなくデータおよび／またはログ２０５を参照し、修正し、改竄し、または削除することはできない。
【００６７】
図３は、本明細書で説明した、安全で、プライベートで、選択的にアクセス可能なネットワーク・データ・サービスの１つまたは複数の実施形態を提供するための一般的環境のブロック図である。一般に、フェデレーテッド信頼オーバレイを用いて信頼を分散する非限定的な例を示すと、コンピューティング装置（複数可）３００（例えば、顧客）が第１の制御領域３１０内にあり、コンピューティング装置（複数可）３２０（例えば、クラウド・サービス・プロバイダ）が第２の制御領域３３０内にあり、コンピューティング装置（複数可）３６０が第３の制御領域３９０内にあり、暗号技術プロバイダ３８０が第４の制御領域３９５内にあり、鍵生成器３８２を第５の制御領域３９７内に提供することができる。コンピューティング装置（複数可）３００、３２０、３６０の各々が、それぞれ、プロセッサ（複数可）Ｐ３、Ｐ２、Ｐ３、および、それぞれ、記憶域Ｍ３、Ｍ２、Ｍ３を備えてもよい。これに関して、様々な非限定的な実施形態に従って説明するように、クラウド内の暗号化データ３４０を可能とするための技法を提供し、アイテム３５０、またはアイテムの一部をアクセス権限に基づいてクラウドから選択的に取り出せるようにする。これに関して、１組の分析サービス３７０を、格納される暗号化データ３４５、３４７の上の層として提供することができる。当該１組の分析サービス３７０は、クラウド内に保持される暗号化データ３４０または暗号化データ３４２をどこに任意に格納するかを、装置（複数可）３００からのローカル・データ・セット３０５に基づいて自動的に判定する。これに関して、サービス３７０は、データがＣＴＰ３８０またはＣＫＧ３８２のフェデレーテッド信頼オーバレイに基づいてコンピューティング装置３００により取り出されるときに、取り出されたデータ３５２または取り出されたデータ３５０が所与の要求に対して最適なコンテナから取り出され、次善の場合には、コンテナが自動的に切り替えられることを保証する。例えば、コンピューティング装置３６０の現在のコンテナが顧客のニーズに対して不十分に動作している場合、または、顧客のニーズが変化した場合には、分析記憶サービス３７０はデータをリアルタイムに別の記憶コンテナに移動またはコピーし、シームレスにサービスをより適切なコンテナに切り替えて、例えば、サービス品質要件を満たすことができる。
【００６８】
図４は、本明細書で説明したようにデータが自身の管理者として動作する、コンテナを管理するためのプロセスの流れ図である。４００で、第１の制御領域の第１のコンピューティング装置が第２の制御領域の第２のコンピューティング装置から暗号化データを受け取る。暗号化データは、暗号鍵情報に基づく検索可能暗号アルゴリズムに従って、第２のコンピューティング装置の定義されたデータ・セットに対してデータを暗号化することにより作成される。４１０で、暗号鍵情報に基づいてデータの分析結果および当該分析結果の暗号出力から作成された暗号化メタデータも受け取る。４２０で、どのコンテナ（複数可）が暗号化データまたは暗号化メタデータの少なくとも一部を格納するかを判定する。４３０で、所定の条件が満たされた場合に、暗号化データを格納するコンテナ（複数可）を自動的に変更することができる。
【００６９】
図５は、自身の管理者として動作するデータの１つまたは複数の態様を示す別のブロック図である。これに関して、コンテナはセキュリティのため冗長化されており、アクセスが暗号化ラッパにより強制され、ポリシが所有者またはパブリッシャにより設定され、暗号化ラッパにより保証される。暗号化ラッパは、後の様々な実施形態で説明するように、その状況の特定のセキュリティ・ニーズに応じて様々な暗号技法を含むことができる。例えば、示したように、ポリシが企業レベルで設定され、ユーザがデータにアクセスすることを求め、当該データはエントリに対して許可または拒否を行う暗号アクセス制御によりラップされている。企業の監査者、セキュリティ・スタッフ、運用スタッフ、等のような他のユーザは、企業で設定されたポリシに応じて、ラッパにより定義されるアクセス権限を有するかまたは有さないであろう。
【００７０】
図５の例で示すように、企業５２０は、企業のアクセス・ポリシ５３０を受けうる企業社員５２２を有し、当該企業社員５２２の一部が企業アクセス・ポリシ５３０を設定することができる。企業アクセス・ポリシ５３０が、どのようにクラウド・コンテナ５００のデータ・コンテナ５１０に格納されたデータ５１２にアクセスし、当該データ５１２を操作し、取り出し、検索できるか、等に影響を及ぼすことができる。したがって、データ５１２のユーザ５０８がかかるデータ５１２にアクセスを試みると、企業アクセス・ポリシ５３０により誘導されるが企業アクセス・ポリシ５３０から独立した様々な暗号アクセス・コントロール５１４が、ユーザ５０８による不正アクセスからデータ５１２を保護する。様々な企業アクセス・ポリシ５３０を、データ・コンテナ５１０の暗号アクセス・コントロール５１４により反映して、セキュリティ・スタッフ５０４またはクラウドの運用スタッフ５０６が行う企業監査５０２のような様々なアクセスエンティティまたはタスクに適用して、アクセスできる者のみに可視性が制限されることを保証することができる。データ・コンテナ５１０を任意の場所に配置してセキュリティに関して冗長化することができ、暗号アクセス・コントロール５１４によりアクセスを強制する。これに関して、企業アクセス・ポリシ５３０を企業の社長が設定し、暗号アクセス・コントロール５１４により実装した暗号ラッパにより保証することができる。
【００７１】
図６は、データが従来型のコンテナ・セキュリティ・モデルを脱却できることを示す、自身の管理者としてのデータの態様を示す別のブロック図である。これに関して、本明細書で認識したように、データを唯一の場所に配置することはできず、所与の状況に最適なように、複数のコンテナをまたぐようにデータを接合または分割することができる。配置によりアクセスおよび回復力、等を最適化することができ、記憶管理層により一貫性、バージョン管理、ガベージ・コレクション、等を処理することができる。
【００７２】
図６に示すように、企業６２０は企業社員６２２に適用可能なその企業アクセス・ポリシ６３０を定義し、データ６１２は、リモートに格納され、データ６１２にアクセスしたいユーザ６１０に適用可能な暗号アクセス・コントロール６１４により保護される。システムおよびユーザ６１０は、データ６１２を格納するコンテナがクラウド６００に格納されているか、企業６０２のどこかに格納されているか、オーバレイ・ネットワーク６０４を介して格納されているか、またはそれらの組合せであるかについては知らず、データがコンテナをまたぐことができる。
【００７３】
図７は、異種の複数のデータ・コンテナからデータを自動的に細切れにし、キャッシュし、複製し、再構築するような機能を実施する記憶管理層を示す。かかるプロセスを、明示的なポリシとアクセス・パターンを含む基準に基づいて実施することができる。示したように、データ７０２と暗号アクセス・コントロール７０４を含むデータ・コンテナ７００は、ユーザの観点からは、全てのデータを格納するための抽象記憶層７１０に格納されるが、実際には、暗号アクセス・コントロール７０４により保護されるデータ７０２を諸基準に基づいて、クラウド・データ・サービス７２０、ファイル・システム７２２、企業データベース７２４、オーバレイ・ネットワーク７２６、等のうち任意の１つまたは複数にわたって細切れにし、キャッシュし、複製し、再構築することができる。当該基準は、種々のポリシとアクセス・パターンを含むことができる。
【００７４】
図８は、セキュリティ、プライバシ、信頼性、等に対する要所が、データが自身の管理者として動作できるようにし、データの格納場所に関わらず様々なデータ・コンテナにわたって暗号アクセス・ラッパをデータに追加するセキュア・オーバレイ・ネットワークであることをより一般に示す。具体的には、オーバレイ・ネットワーク８１０は、暗号アクセス・コントロール８０４により保護されたデータ８０２のコンテナ８００をクラウド・データ・サービス８２０、ファイル・システム８２２、または企業データベース８２４のうち任意の１つまたは複数にさらに記憶するための中間記憶媒体であることができる。このように、最終的な宛先の観点から記憶を階層化することができる。
【００７５】
図９は、レガシー・アプリケーションと、そのコンテナ・ベースの見え方（例えば、データベース・ファイル）を変更する必要がないことを示すブロック図である。具体的には、フェデレーテッド信頼オーバレイの記憶シナリオで使用するために、暗号ネゴシエーション、暗号変換およびキャッシュ、バージョン管理、リース等をアプリケーションおよびレガシーなコンテナのニーズに基づいて行うアダプタを提供することができる。より具体的には、レガシー・アプリケーション９００がクラウド・データ・サービス９１０、ファイル・システム９１２、および企業データベース９１４と今まで通り対話することができるが、抽象記憶層９２０が依然としてコンテナを利用しないデータを裏側で生成させることができる。抽象記憶層９２０がアダプタを公開することができ、当該アダプタが、暗号ネゴシエーション、暗号変換、およびキャッシュ、バージョン管理、リース、等をアプリケーションおよびレガシーなコンテナの特徴に基づいて実装し、コンテナ化されたデータ９４０をコンテナを利用しないデータに、例えば、図８に関連して説明したセキュア・オーバレイ・ネットワーク９３０を介して誘導する。
【００７６】
図１０は、レガシー・アプリケーションならびにＦＴＯ認識アプリケーションと関連して使用できるサンプルのアーキテクチャ・モデルである。これに関して、ＦＴＯ対応アプリケーション１００５を、ＦＴＯ１０００に直接に差し込むことができ、ＦＴＯ対応アプリケーション１００５はデータの安全でプライベートな格納、処理、等を有利に行うことができる。ＳＤＳ認識アプリケーション１０１５に対して、データを暗号的に細切れにして散りばめる層１０１０を提供することができる。一貫性認識アプリケーション１０２５に対して、層１０２０により示すように、既存の未修正のオーバレイ・ネットワークを使用して、システムにブリッジすることができる。例えば、Ｌｉｖｅ  Ｍｅｓｈ、Ｆａｂｒｉｃ／ＣＡＳを層１０２０を介してＤａａＳおよびＸＳｔｏｒｅにブリッジすることができる。最後に、図９で説明したように、暗号ネゴシエーション、暗号変換、およびキャッシュ、バージョン管理、リース、等をレガシー・アプリケーション１０４０およびレガシー・コンテナ１０３５の特徴に基づいて行うアダプタ１０３０を提供することができる。それとともに、かかる層およびアプリケーションは、フェデレーテッド信頼オーバレイに基づいてクラウド記憶が提供する利益を利用することができる。
【００７７】
図１１は、データ、および／または、当該データもしくは当該データの特徴を記述するメタデータに対する暗号化ラッパまたはエンベロープの一般的な使用を示すブロック図である。１例として、レコード１１０２（例えば、データ・ペイロード）ならびに関連するメタデータおよび／またはタグ１１００を、数学的に選択的にアクセス可能なように一緒にまたは別個に暗号化して、暗号化メタデータおよびタグ１１００ならびに暗号化レコード１１１２を生成することができる。かかる暗号化データ／メタデータを用いると、様々なアプリケーション１１２０を、数学的に選択的なアクセス可能性、例えば、データまたはメタデータの検索、データまたはメタデータに対する論理演算、問合せ、バックアップ動作、データの監査、等に基づいて実行することができる。メタデータ１１００およびレコード１１０２の暗号化に加えて、任意の追加データを、任意の所望の目標１１１４の関数として暗号化パッケージに追加することができ、または、任意の追加のタグ１１１６、例えば、１例として特定のクラスのユーザに対するアクセスを許可するまたは許可しない公開タグまたは秘密タグを暗号化プロセスの一部としてコンテンツに追加することができる。かかる追加のデータ１１１４またはタグ１１１６により、完全性チェック、改竄チェック、利用可能性チェック、等のような追加の動作１１３０を行うことができる。
【００７８】
図１２は、ペイロード１２０２およびタグ１２００を示す特定の例である。ペイロード１２０２およびタグ１２００は、動作１２２０向けに暗号化タグ１２１０および暗号化データ１２１２を生成するように暗号化されている。さらに、述べたように、データをデータ１２１４で補完することができ、タグを、１組の追加の動作１２３０を容易にするタグ１２１６で補完することができる。
【００７９】
図１３は、図１２の例を基にして構成したものであり、周囲のフェデレーテッド信頼オーバレイを示す例である。これに関して、バックドアがないＣＴＰ１３００を、堅牢性に関する公的な検査を受けたオープンな方法論に基づいて実装することかできる。ＣＴＰ１３００に基づいて、ＣＫＧ１３５０を生成して、動作１３３０（例えば、検索、論理演算または問合せ、バックアップ、監査、改竄チェック、完全性チェック、利用可能性チェック、等）を実施するためのケイパビリティ、例えば鍵１３４０の要求を処理することができる。クラウド・データ・サービス・プロバイダ１３２０はこのように、例えば、暗号化メタデータ１３１０および暗号化データ１３１２の記憶といったサービスを提供する。１つの任意の実施形態では、クラウドは、データまたはアクセス・パターンが見えないようにデータをホストする。
【００８０】
図１４は、信頼オーバレイを用いてレコードおよびインデックスが暗号化されクラウドにアップロードされる実施形態を示すブロック図である。これに関して、レコードとインデックスが検索可能に暗号化され、それにより、インデックスを関連データに対する第１の可視層として選択的にアクセスすることができる。次いで、インデックスの検索結果に基づいて、所与の１つまたは複数のインデックスにマッチする様々なコンテンツまたはレコードを特定することができ、ユーザは権限に基づいて、マッチしたコンテンツまたはレコードにアクセスできるかできないかの何れかであり、データに対して第２の保護層として動作する。即ち、最初に検索または他の動作に対するインデックスにアクセスし、次にデータにアクセスする。これに関して、任意数の階層化暗号ラッパを、データと関連メタデータの様々な部分に適用することができる。
【００８１】
示したように、顧客１４００が様々なレコード１４０２を有してもよい。当該様々なレコード１４０２から、１４３０で、暗号化インデックス１４０４が生成される。レコード１４０２と暗号化インデックス１４０４が１４４０でクラウド１４１０にアップロードされ、クラウド１４１０内にレコード１４１２および暗号化インデックス１４１４として格納される。レコード１４１２を例えば暗号化インデックス１４１４に基づいて取り出すために、１４５０で、顧客１４００は少なくとも１つの署名１４２２で署名されたレコード１４２０をクラウド１４１０から受け取り、１４６０で、少なくとも１つの署名１４２２をチェックすることができる。
【００８２】
図１５は、リッチなクラウド記憶エクスペリエンスのために、クライアントがどのようにフェデレーテッド信頼オーバレイのアーキテクチャを利用して暗号化データ上で暗号化インデックスを生成し、アップロードできるかを示す図である。フェデレーテッド信頼オーバレイのアーキテクチャでは、電力を分散して信頼できる暗号エコシステムを生成することに関与し、これを後でより詳細に説明する。
【００８３】
ＦＴＯ１５８５は、コンテナを利用しないデータに関してクラウドまたは他の記憶域内で生ずる数学的変換の一部を分離することで顧客１５７５に利益をもたらすエコシステムであり、本明細書で説明するように、クラウド・データ・サービス（ＣＤＳ）１５８０、暗号技術プロバイダ（ＣＴＰ）１５７０および鍵生成センタ１５９０を備える。１例として、顧客１５７５は、様々なキーワード１５１０が関連するドキュメント１５００を有するかもしれない。暗号化のための公開パラメータ１５６５をＣＫＧ１５９０から取り出し、数学的変換を行うための技術をＣＴＰ１５７０から取り出す。アップロードを行うために、ドキュメント１５００を暗号化し（１５２０）、クラウドの暗号化ドキュメント記憶１５５０にアップロードする（１５３０）。アップロードの場所１５３５と鍵１５２５は、キーワード１５１０とともに、ドキュメント１５００の暗号化アップロードと関連する生成された暗号化インデックス１５４０に入力され、１５４０で生成された暗号化インデックスを１５４５で暗号化インデックス記憶１５５５にアップロードする。
【００８４】
図１５は暗号化インデックス・データのアップロードを示すが、図１６は、特定のコンテンツを検索するためのインデックスの復号化を示す。この復号化の権限は、フェデレーテッド信頼オーバレイにより提供されるケイパビリティに基づいて与えられ、ユーザには、検索結果の可視性とともに、検索結果と関連する実ドキュメントを復号化するケイパビリティまたは権限を付与することができる。これに関して、インデックスへのアクセスおよびドキュメントへのアクセスを、ＦＴＯによるポリシと強制に基づいて別々に制御することができる。
【００８５】
述べたように、ＦＴＯ１６８５は、コンテナを利用しないデータに関してクラウドまたは他の記憶域内で生ずる数学的変換の一部を分離することで顧客１６７５に利益をもたらすエコシステムであり、本明細書で説明するように、クラウド・データ・サービス（ＣＤＳ）１６８０、暗号技術プロバイダ（ＣＴＰ）１６７０および鍵生成センタ１６９０を備える。
【００８６】
この例では、顧客１６７５が問合せ１６００を生成し、１６０５でトラップドア１６１０をＣＫＧ１６９０から取得する。トラップドア１６１０は問合せ１６００とともにクラウドに提示される。クラウド内では、１６２０で、ＣＴＰ１６７０から取り出した技術１６１５に基づいて、暗号化インデックス記憶１６２５内の暗号化インデックスが検索される。次いで、１６４０で、結果１６３５を暗号化ざれたまま返し、復号化して、そこから場所１６４２と鍵１６４４を抽出する。これにより、システムには、１６４５で暗号化ドキュメント１６５０を暗号化ドキュメント記憶１６３０から取り出すための情報がシステムに与えられる。１６５５で当該暗号化ドキュメントを鍵１６４４に基づいて復号化して１つまたは複数のドキュメント１６６０、例えば図１５のドキュメント１５００を返すことができる。
【００８７】
図１７および図１８は、システムによる幾つかの追加の非限定的な信頼保証を示すブロック図である。これに関して、ユーザが受け取ったものが正しいことを証明する任意のアルゴリズムを追加の層として使用して、意味不明なものがクラウドによって提供されていないことをユーザに対して数学的に証明することができる。例えば、データの正確性の立証と関連して使用できるタグが暗号化データに関して適用される、データ所有証明（複数可）（ＰＤＰ）が１つの技法として知られている。同様な情報を適用して（および、暗号化して）データがクラウドに格納されている間に不正に変更または削除されなかったことを証明することができる。暗号化技法を用いると、かかる証明は一般に、暗号のチャレンジおよびレスポンスの形をとる。図１７では、ＰＤＰタグが、暗号化されたレコード、インデックス、メタデータ、等とともにクラウド内でエンコードおよび暗号化され、図１８では、データの完全性が失われていないことをＦＴＯに暗号的に問い合わせることによって、検証動作が行われている。
【００８８】
図１７に関して、述べたように、ＦＴＯ１７８５は、コンテナを利用しないデータに関してクラウドまたは他の記憶域内で生ずる数学的変換の一部を分離することで顧客１７７５に利益をもたらすエコシステムであり、本明細書で説明するように、クラウド・データ・サービス（ＣＤＳ）１７８０、暗号技術プロバイダ（ＣＴＰ）１７７０および鍵生成センタ１７９０を備える。この例では、パブリッシャ１７００が１７２０でＣＫＧ１７９０から取り出した秘密鍵１７３０とＣＴＰ１７７０から取り出したと技術１７４０とに基づいてレコードとインデックスをエンコードすることによりレコードとインデックス１７１０を暗号化する。暗号化またはエンコードしたレコードとインデックス１７５０をクラウドに格納する。データ所有証明（複数可）（ＰＤＰ）タグ１７６０を１７２０でのエンコードと関連して使用することができる。データ所有証明（複数可）（ＰＤＰ）タグ１７６０は、本明細書でより詳細に説明するように、データがクラウドに格納されている間にデータの特定の態様を保証することを後で支援する。
【００８９】
述べたように、図１８では、データの完全性が失われていないことをＦＴＯに暗号的に問い合わせることによって、検証動作が行われている。これに関して、ＦＴＯ１８８５は、コンテナを利用しないデータに関してクラウドまたは他の記憶域内で生ずる数学的変換の一部を分離することで顧客１８７５に利益をもたらすエコシステムであり、本明細書で説明するように、クラウド・データ・サービス（ＣＤＳ）１８８０、暗号技術プロバイダ（ＣＴＰ）１８７０および鍵生成センタ１８９０を備える。ＰＤＰタグ１８４０は、システムの監査者１８００がクラウドに格納されたデータの完全性をチェックするのに有用でありうる。ランダムな数字１８０５に基づいて、監査者１８００はクラウド内で、ＣＫＧ１８９０から取り出した秘密鍵１８２５とＣＴＰ１８７０から取り出した技術とに基づいて証明器１８２０にチャレンジ１８１０を発行する。証明器１８２０はまた、証明アルゴリズムの実装と関連して技術１８４５を使用する。これに関して、証明器１８２０は暗号化したレコードとインデックス１８３０およびＰＤＰタグを入力として受け取り、情報を監査者１８００に返す。当該情報は１８５０で検証される。１８６０で検証動作が成功したか失敗したかに基づいて、監査者１８００に、暗号化したレコードとインデックス１８３０の完全性が維持されているかどうかを知らせる。
【００９０】
後でより詳細に説明するように、プライバシと非拒絶の強い保証をサービスのユーザに提供できる様々な暗号化技法をサービスの提供に組み込むことができる。これらの暗号化技法をデータ保護技法と統合することにより、リモート・サービスと階層化アプリケーションをデータの上に実装して、当該データの所有者と企業の顧客（「顧客」）が、当該データをホストするエンティティ、または、クラウド・サービス・プロバイダもしくはオペレータ（「ＣＳＰ」）により実施できるタイプの動作を正確に制御させることができる。さらに、これらの動作の多くを、動作が実施されるデータの実際の内容を学習することも知ることもなく、顧客に代ってＣＳＰにより実施することができる。さらに、顧客は、ＣＳＰが不適切にデータを削除または修正したか、または、データを低性能のセカンダリ記憶もしくは第３の記憶域に移動させたかどうかを検出することができる。これに関して、様々な暗号化技法をデータ・サービスに統合して、顧客がデータの制御を手放す自信を与え、例えば、セキュリティおよびプライバシを高めることができる。
【００９１】
例えば、検索可能暗号は、もとのメタデータが暗号化される前にデータからコピーされる暗号化方法である。非限定的な例として、Ｅｘｃｈａｎｇｅの電子メールの場合、データは添付ファイルを伴うメッセージであり、もとのメタデータが、選択されたＭＡＰＩ（ｍｅｓｓａｇｉｎｇ  ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）のプロパティとフルテキスト・インデックスを含むことができる。例えば、データが例えばＡＥＳ（ａｄｖａｎｃｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｓｔａｎｄａｒｄ）を用いて暗号化されるのに対し、メタデータは、暗号化インデックスを生成するように暗号化される。その結果、暗号化データとインデックスをこの時点でＣＳＰのような完全には信頼されない別のエンティティに引き渡すことができる。引き続いて、集約された暗号化データとインデックスへの選択的なアクセスを、そのデータの所有者、すなわち顧客が暗号化された問合せをＣＳＰ（または他の許可されたサブスクライバ）に送信することによって、実現することができる。したがって、ＣＳＰは暗号化インデックスに暗号化された問合せを適用して、マッチした暗号化データを返すことができるが、ＣＳＰはデータ、メタデータ、問合せ、または結果の内容に関して（顧客が許可しない限り）知らない。
【００９２】
所有証明（複数可）および復元可能性証明（複数可）は、「証明器」（この場合、記憶域を提供するＣＳＰ）および「検証器」（顧客）がプロトコルに参加できる暗号技法であり、検証器が、自分が所有するデータが無傷でデータの処理者、即ち、ＣＳＰから容易に取出し可能であるかどうかを効率的に判定することができる。これらの技法はネットワーク帯域幅、および、ＣＳＰが行う動作において効率的であり、その結果、ＣＳＰの売上原価（ＣＯＧＳ）が依然として相対的に不変であり、プロトコルを完了するための時間は合理的に短い。
【００９３】
データ・サービスの提供に統合できる別の暗号技法はアプリケーション証明である。アプリケーション証明により、所有証明（複数可）と同様に、検証器はデータが証明器、即ち、ＣＳＰにより正確に維持されていることを確かめることができる。
【００９４】
ブラインド・フィンガープリントは、ラビン・フィンガープリントのようなネットワーク重複排除技法を拡張した別の種類の暗号技法を表し、一般にネットワーク上での冗長なデータの交換を最小限にするために用いられる。本明細書の様々な実施形態では、フィンガープリントを適用して、プロトコルの参加者、例えばデータの記憶の場合はＣＳＰが、自分がホストしているデータの実際の内容に気づくことがないようにする。
【００９５】
このように、ＣＳＰによるサービス提供に基づく様々なシナリオが、上述のフレームワークと対応する暗号技法とに基づいて、記憶サービスおよび計算サービスから通信サービスおよび協調サービスまでの範囲に生ずる。大企業顧客は自己の現在の企業データ・センタ内に大量の計算資源および記憶資源を有するので、クラウド・サービスを採用しない傾向が強いかもしれない。さらに、顧客はデータ・センタの運用の経験があってそれに精通しており、運用費用（ＯＰＥＸ）と資本経費（ＣＡＰＥＸ）の利点を利用したいと思っており、したがって、自己の極秘企業データを自己の施設からクラウドに移すことに懸念を抱いている。
【００９６】
このクラスの顧客に対して、様々な実施形態では１組のアプリケーションを提供する。当該１組のアプリケーションでは、顧客が自身の既存サーバ、例えば、Ｅｘｃｈａｎｇｅサーバを所有し運用する必要がある。すると、第２のデータ・コピーが、データ保護、アーカイブ、コンプライアンス、ガバナンス上の理由、法的理由またはその他の理由からクラウド・サービス・プロバイダに移されるはずである。このように、ＣＳＰは当該データをデータの紛失または開示に対して保存するためのスキル、技術およびスケール・メリットを有し、上記第２のコピー上でアプリケーションを実行するのを容易にすることができる。データの保守に基づいて顧客に提供できる製品およびサービスの例を幾つか挙げると、訴訟支援、監視監督、サービス・ダイヤル・トーン、データ・ナビゲーション、等がある。
【００９７】
訴訟支援に関して、企業が訴えられている場合、訴訟手続により電子メールの履歴を検索する必要がある様々なエンティティがある。これらのエンティティには、法律スタッフ、ＨＲ、マネージャ、外部の弁護士、外部の法律支援パートナ、および相手方の弁護士が含まれる。誰がどの検索を行えるかに関して具体的な範囲規定がある。現在の法律支援のシナリオでは、範囲の境界を定めるのは困難である。したがって、法律支援に関与する任意の者が範囲外の電子メールを見ることが可能である。電子メールの場合、検索結果が一般にパーソナル・ストレージ・ファイル（ＰＳＴ）ファイルの形で交換される。これは、これらのファイルが不注意にまたは悪意をもって、許可されない者に引き渡されるおそれがあるので、新たなリスクをもたらす。
【００９８】
対照的に、第２のコピーがリモートで、例えば、ＣＳＰによりクラウドにホストされ、データを通じて保守される場合、企業内の単一の信頼されるエンティティ、例えば、最高法務責任者が、運用に従事する者それぞれに対して、その問合せ権限をそのニーズに制限する特定のトラップドアを提供することができる。クラウドにホストされており検索可能暗号および改竄防止監査ログを介して保護されているデータにより、高レベルの保護が提供され、それにより、不適切な電子メールのアクセスが防止される。運用に従事する全ての者が問合せに関してクラウドに直接アクセスしており、訴訟支援パートナが、案件管理に関してＴＩＦＦ（ｔａｇｇｅｄ  ｉｍａｇｅ  ｆｉｌｅ  ｆｏｒｍａｔ）への変換用の対象コンテンツをエクスポートする唯一のエンティティであるので、ＰＳＴファイルを交換する必要はなくなる。
【００９９】
リモート・データ・コピーの監視および監督に関して、任意の合理的な規模の企業ならば、様々な目的から自己の組織の電子メールを予め監視しているはずである。これは、法的な理由またはコンプライアンス上の理由から、ＩＰ漏洩、盗用、不適切な言葉、等を監視することのようなガバナンス上の理由にわたりうる。一般に、監視監督ソフトウェアが、プライマリ・サーバまたは、バックアップもしくはアーカイブされる二次的コピーの何れかを監視する。プライマリ・サーバを監視することの問題は、これがビジーな生産サーバに過度な負荷をかけるおそれがあることである。さらに、管理者が偶然または悪意をもってプライマリ・サーバのデータを修正または削除する可能性もあるので、ソリューションにおいては規則に準拠するようにデータを取得して当該データを二次的コピーに転送し、監視監督ソフトウェアが受信電子メールを継続的にスキャンし、パターンを調査または検索する。しかし、多くの企業構成では、これらの二次的コピーに対してローカルな管理上のアクセスがあり、その結果、改竄検出および防止の機構があるにも関わらず、優秀な管理者が情報を修正または削除することができる。
【０１００】
対象的に、ＣＳＰによりデータを保守することにより、二次的コピーが別の制御領域に有利に配置される。検索可能公開鍵暗号（ＰＥＫＳ）および所有証明（ＰＯＰ）のような適切な暗号技法により、企業の管理者とＣＳＰの従業員の間の衝突でさえも両者がどのアイテムを修正したいかを両者が正確に確実に特定することが防止されるのを保証することができる。監視監督ソフトウェアはリモート・サイトまたはクラウド内で実行され、特定の所定のキーワードを有するアイテムを、前もって提供されているトラップドアを通じて求める。
【０１０１】
様々な実施形態に従って本明細書で説明したように、独立したデータ保護および暗号技法を、各々を強化および修正して他方をサポートするように組み合わせて、現在は消費者、企業、エコシステムおよびソーシャル・ネットワークが利用できないソリューションを提供し、コンテナを利用しない、安全で、プライベートで、選択的にアクセス可能なデータをクラウド環境において可能とする。
【０１０２】
信頼されたＸＭＬ
ＸＭＬは、様々な理由から、ユビキタスなネットワーク交換フォーマットとして発展した。当該様々な理由には、タグおよびその階層的配置により可能となった効率的な記述能力が含まれるがこれに限らない。これに関して、ＸＭＬデータを上記のＦＴＯインフラに従って保護することができる。当該ＦＴＯインフラにより、（ペイロードおよびタグ、ならびに、既存のタグまたはメタデータ上に追加された任意のメタデータを含む）ＸＭＬドキュメントの様々な部分に様々な許可を適用することができる。したがって、信頼されたＸＭＬを上述のようにコンテナを利用しない方法（ｃｏｎｔａｉｎｅｒｌｅｓｓ  ｆａｓｈｉｏｎ）で格納することもできる。
【０１０３】
図１９に示すように、ＸＭＬペイロード１９０２とそのタグ１９００を暗号化して暗号化タグ１９１０と暗号化ペイロード１９１２を生成することができる。これに関して、ＸＭＬドキュメントを、おそらく異なる保護レベルを有するＸＭＬフラグメントに分解することによって、パブリッシャ側のドキュメントとして、初期の組織に依存しない非常に粒度の細かい許可システムが可能となる。さらに、追加のデータを任意の機能１９１４に基づいてペイロード・データに加えることができ、追加のＸＭＬタグを適用して、追加の機能を信頼できるＸＭＬフラグメントに適用することを支援することができる。ペイロード１９１２またはタグ１９１０に関する動作には、検索、問合せ、バックアップ、監査、等のような動作１９２０が含まれる。他の動作１９３０をこれらのデータに対して、データ１９１４またはタグ１９１６を任意に追加することにより、実装することができる。例えば、データが社会保障番号のパターンに適合する場合は常に、ＸＭＬフラグメントをプライベートと印付けしてかかる情報を無傷のままに保つタグ１９１６を、自動的に追加することができる。
【０１０４】
これに関して、データまたは情報がＸＭＬ形式である場合には、データまたはメタデータに関する上述の技法のうち任意のものを構造化ＸＭＬデータに適用して、選択的にＸＭＬフラグメントを問い合わせ、ＸＭＬフラグメントへのアクセスを取得することができる。ＸＭＬは、＜タグ“値”＞または＜タグ“値”｜ＸＭＬ終了タグ＞である標準的な形式である。これに関して、ＸＭＬの構造を用いると、デジタル・エスクロー・パターンに対して一意な、ＣＫＧ／ＣＴＰ「フレーム」を指し示す外部ラッパが存在するように当該構造を階層的に表す方法が存在する。したがって、埋め込んだフラグメントへアクセスする必要があるとき、＜ＣＫＧ＞および＜ＣＴＰ＞ラッパを用いて既存の（または具体化され、新規の）信頼を利用する。これにより、ユーザは、許可されていれば、セグメントを検索し、抽出し、復号化することができる。さらに、ＰＤＰを使用して、要求された特定のＸＭＬセグメントが最初に作成されてから改竄されていないことを検証することができる。
【０１０５】
したがって、様々な実施形態では、ＸＭＬフラグメントまたは完全なレコード（「ペイロード」）に対する「信頼エンベロープ」を、様々な「装飾」を通じて作成する。当該装飾により、機密性、プライバシ、匿名性および完全性のような全範囲の信頼を保証することができる。
【０１０６】
これは、上述のコンテナを利用しないデータの実施形態と整合する。データをそのコンテナ（例えば、ファイル・システム、データベース）から切り離す機会により、コンテナを強制する必要なしに元の保証を保存し拡張するような共有を容易にする。ビジネス・ニーズに基づいて、および様々な技術が生じた際に、暗号検索、暗号ベースの改竄検出、等以外にも他の任意のラッパを追加することもできる。ＸＭＬデータを用いると、タグをデータに追加してデータの一貫性の調整を支援することができる。これを、ドメインおよびアプリケーションに応じて行うことができる。
【０１０７】
有利なことに、ＸＭＬは、認証、許可、スキーマ、履歴、トレース、一貫性、等をエンコードする検索可能なメタデータを含むことができる。ＸＭＬはまた、大規模なドキュメントの散りばめられた断片である場合には、他の関連するフラグメントを見つけるためのマニフェスト情報をエンコードすることができる。任意の合意されたＣＫＧ／ＣＴＰを使用できるという技術的独立性と新規な技術が適用可能となった際に検索可能暗号およびＰＤＰに加えて他のラッパを追加できるということとを組み合わせることによって、任意の種類のクラウド・シナリオを扱うための柔軟なアーキテクチャが可能となる。ＸＭＬタグを補完または追加して一貫性、痕跡、等を調整することもできる。
【０１０８】
これをデータ分散技法と組み合わせると、一貫性、プライバシ、匿名性および完全性に関する強い保証が実現される。この「信頼エンベロープ」を使用して、任意のペイロードを追加のメタデータで装飾することができる。当該メタデータは、スキーマ情報、一貫性の示唆、バージョンおよび痕跡、機密レベル（例えば、「クラウド・コンピューティング」を使用する場合）、このペイロードを他の断片から再構築するためのロケータ、等を含むことができる。
【０１０９】
１つの非限定的なアプリケーションでは、信頼されたＸＭＬにより、ネットワーク効果を触媒するための「疎な形式結合」を提供してエコシステムを成長させる。（技術と鍵管理者をパラメータ化する）ＦＴＯとＸＭＬの普遍的な交換フォーマットを組み合わせることで、多様な技術、アプリケーション、ドメイン、ロケール、国家、フォーマット、およびその他の要件に対してより柔軟に対応することが容易になる。
【０１１０】
別のアプリケーションでは、シンジケートに対する現在の設定と調停において、エラー、省略および詐欺を受け易い拠点間交換がある。したがって、安全でプライベートなデータ・サービスを介在させることで、選択的な開示を促進する形で会計、監査、等に対して直接利益がもたらされることになり、それにより、信頼できるエンティティが依然として信頼され、適切な規制者（コンプライアンス、法務）または調停者（衝突解決、等）がＸＭＬタグを選択的に一瞥して取引における確信を得ることができる。信頼されるＸＭＬの利点は、格納する者が知る必要がなくまたは理解しようとする必要さえない、参加者間の独自フォーマットをペイロードがエンコードできることである。信頼されるラッパの層により、法的およびコンプライアンス上の価値ならびに国家機関の価値とともに多大な技術的価値およびビジネス的価値がもたらされる。
【０１１１】
別のアプリケーションでは、健康管理システムの統合が厄介である。その原因は、（ａ）異質な非互換のレガシー・システム、および（ｂ）より重要なことであるが、患者が既存のソリューション・プロバイダに固執しないことである。情報センタとしてのクラウド・データ・サービス、および、交換フォーマットとしての信頼されたＸＭＬを導入することにより、これらの既存のソリューション・プロバイダはこれを、ＸＭＬにより促進される普遍的なフォーマットを利用しつつ、固執性を維持するための手段として考えることができる。
【０１１２】
我々は、ＦＴＯ対応でありかつ信頼されるＸＭＬを利用する「ルータ」（「ゲートウェイ／ガーディアン」を用いる我々のアプローチがどのように、（ａ）ルータがルーティングの必要なこと以外を知る必要なく自己の作業をすることができ、（ｂ）ルータがエラーまたは悪意行為を引き起こす可能性がより低く、（ｃ）遅延結合のため複雑な鍵管理が排除されているものであるかを説明した。
【０１１３】
さらに、ＸＭＬドキュメントに対して、タグを追加もしくは補完し、または、追加のメタデータを適用して、コンテンツが様々なレベルの機密性を有することを示すことができる。例えば、公開、秘密、極秘のパラグラフを有するドキュメントが存在してもよい。検索を実施し、秘密の権限でアクセスを要求する者は、例えば、公開および秘密のパラグラフにアクセスできるだけであるはずである。パラグラフの分類を使用して、暗号機構、鍵およびアクセス・ポリシを決定することもできる。例えば、極秘のコンテンツには無線または遠隔装置からアクセスできないとされる。
【０１１４】
同様に、かかる分類を使用して、どのようにデータを格納できるか、どこにデータを格納できるか、どのくらい長くデータを格納できるか、等に関するポリシを作成することができる。例えば、ＡＥＳ２５６暗号化を用いて医療データを１日１回信頼できるデータ・センタ内のセキュア・サーバにバックアップしなければならない。
【０１１５】
図２０は、１実施形態における信頼されたＸＭＬをホストするための例示的なプロセスを示す流れ図である。２０００で、第１の制御領域のコンピューティング装置が第２の制御領域のコンピューティング装置から、暗号化ＸＭＬペイロード・データと暗号化ＸＭＬタグを含む暗号化ＸＭＬデータを受け取る。暗号鍵情報に基づいて検索可能暗号アルゴリズム（複数可）に従って第２の制御領域のコンピューティング装置の定義されたＸＭＬデータ・セットを暗号化して、暗号化ＸＭＬデータを作成する。２０１０で、暗号鍵情報に基づいて暗号化した補助メタデータを受け取る。当該補助メタデータは、暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグを分析することで作成されたものである。２０２０で、ケイパビリティ（複数可）を含むデータに対する要求を、暗号鍵情報に基づいて受け取る。当該暗号鍵情報は、当該ケイパビリティ（複数可）により定義される暗号化ＸＭＬデータへの選択的アクセスを可能とする、暗号化ＸＭＬペイロード・データまたは暗号化ＸＭＬタグの一部へアクセスするための権限（複数可）を定義する。２０３０で、場合によっては、暗号化ＸＭＬデータおよび対応するＸＭＬタグ・データの正しいサブセットが当該要求と一致してサブスクライバ装置により受け取られたことを立証する。
【０１１６】
図２１は、１実施形態における信頼されたＸＭＬをホストするための例示的なプロセスを示す流れ図である。２１００で、暗号鍵情報を、サブスクライバ装置に関連付けられたアイデンティティ情報に基づいて暗号鍵情報を生成する鍵生成コンポーネントから受け取る。２１１０で、検索可能に暗号化されたＸＭＬデータと対応するＸＭＬタグ・データのサブセットをサブスクライバ装置により要求する。暗号鍵情報は、検索可能に暗号化されたＸＭＬデータと対応するタグ・データに関する記憶プロバイダに送信される。２１２０で、暗号化ＸＭＬデータと対応するＸＭＬタグ・データのサブセットを、暗号鍵情報内で定義されたケイパビリティが許可するように復号化する。２１３０で、暗号化ＸＭＬデータと対応するＸＭＬタグ・データの正しいサブセットを、当該要求と一致してサブスクライバ装置により受け取られたことを検証する。２１４０で、暗号化ＸＭＬデータと対応するＸＭＬタグ・データのサブセットの内容が暗号化ＸＭＬデータと対応するＸＭＬタグ・データのサブセットを受け取る前に削除または修正されていないことを検証する。
【０１１７】
図２２は、１実施形態における信頼されたＸＭＬをホストするための例示的なプロセスを示す流れ図である。２２００で、ＸＭＬデータを検索可能暗号アルゴリズム（複数可）に従って暗号化して、暗号鍵情報を生成する別個の鍵生成器から受け取った暗号鍵情報に基づいて、暗号化ＸＭＬタグ情報を含む暗号化ＸＭＬデータを作成する。２２１０で、暗号化ＸＭＬデータが、暗号化データを記憶するためのネットワーク・サービス・プロバイダに送信される。２２２０で、要求側の装置のアイデンティティ情報に基づいて当該要求側の装置に付与された選択された権限を遅延的に結合することによって、暗号化データに選択的にアクセスすることができる。
【０１１８】
図２３は、１実施形態における信頼されたＸＭＬをホストするための例示的なプロセスを示す流れ図である。２３００で、サブスクライバ装置が暗号化ＸＭＬタグを含む検索可能に暗号化されたＸＭＬデータのサブセットを要求する。２３１０で、サブスクライバ装置に関連付けられたアイデンティティ情報に基づいて暗号鍵情報を生成する鍵生成コンポーネントから暗号鍵情報を受け取る。２３２０で、暗号鍵情報で定義したサブスクライバ装置に付与された権限の関数として暗号化ＸＭＬデータのサブセットを復号化する。
【０１１９】
フェデレーテッド信頼オーバレイのアーキテクチャに関する様々な追加の実施形態とその詳細を、以下の補足的なコンテキストでコンテナを利用しないデータに関して説明する。
【０１２０】
信頼できるクラウド・サービスのエコシステムに関する補足的なコンテキスト
上述のように、独立したデータ保護および暗号化の技法を様々に組み合わせて、例えばリモート・サイトのデータとして格納し、例えばＣＳＰにより保持して、データに関するプライバシ、信頼およびセキュリティを高める。以下で、一般的なエコシステムを一般的なデータまたはネットワーク・サービスのコンテキストで説明するが、かかる一般的なデータまたはネットワーク・サービスを、データをリモート・サイトで格納するための上述のシナリオの任意の１つまたは複数に対して使用することができる。
【０１２１】
クラウドに格納したデータに対する検索可能暗号技法を含むネットワーク・データ・サービスに対してデジタル・エスクロー・パターンを提供し、信頼を複数のエンティティに分散させて単一のエンティティによる侵害を回避する。１実施形態では、鍵生成器、暗号技術プロバイダおよびクラウド・サービス・プロバイダがそれぞれ別々のエンティティとして提供され、データのパブリッシャがデータを機密に（暗号化して）クラウド・サービス・プロバイダに発行し、暗号化データをサブスクライバに選択的に公開する。当該サブスクライバは、当該サブスクライバの要求に応答して生成された鍵情報にエンコードされたサブスクライバのアイデンティティ情報に基づいて、当該データを要求する。
【０１２２】
検索可能暗号／復号化アルゴリズム（複数可）に関して、１つまたは複数の暗号技術プロバイダで実装された検索可能公開鍵暗号（ＰＥＫＳ）の枠組みが、任意の所与のメッセージＷに対して、トラップドアＴＷを生成し、所与の暗号文がＷを暗号化したものか否かをＴＷがチェックできるようにする。ここで、ＴＷは平文に関する追加の情報を何ら示さない。以下で説明する様々な実施形態によると、ＰＥＫＳの枠組みを使用して、暗号化メッセージのような暗号化データを、当該データ、例えばメッセージ・テキストに含まれるキーワードに基づいて優先順位付けまたはフィルタすることができるが、ＰＥＫＳの使用は、暗号技術が多様であり継続的に発展しているという点で教育的なものである。したがって、検討中のシナリオおよび関与する暗号化のトレードオフ（複雑度、速度、圧縮、等）に応じて、他の暗号化技法も適用可能である。このように、データの受取者に対して、対応するキーワード（複数可）に対してケイパビリティ（場合によっては、暗号作成者により「トラップドア」と呼ばれる）を公開することにより、キーワード（複数可）に関する暗号化データの一部に対して選択的なアクセスを与えることができる。このように、暗号化データをこれらのキーワードに対してチェックすることができるが、サブスクライバのケイパビリティが許可する以上にサブスクライバから学習されることは存在しないことが保証される。
【０１２３】
疑義を回避するため、ＰＥＫＳを、本明細書の１つまたは複数の実施形態で検索可能暗号を実装するためのアルゴリズムとして開示したが、検索可能暗号を実現するための様々な代替的アルゴリズムが存在することは理解できる。ＰＥＫＳに対する幾つかの例示的で非限定的な代替手段には、例えば、Ｏｂｌｉｖｉｏｕｓ  ＲＡＭがある。このように、本明細書で用いた「検索可能暗号」という用語は、どの１つの技法にも限定されるべきではなく、暗号化データに対する検索または問合せ機能に基づいて暗号化データのサブセットへの選択的なアクセスを可能とする、多種多様な暗号化機構または暗号化機構の組合せを指す。
【０１２４】
場合によっては、結果の立証および／または検証を、エコシステム内のデータのサブスクライバおよびパブリッシャに対する追加の利益として提供することができる。立証により、データのサブセットに対するサブスクライブ要求の結果として受け取ったデータ・アイテムが正しいアイテム集合であること、即ち、受け取るべきであった正しいデータ集合が実際に受け取られたことを立証する方法がもたらされる。暗号技術の分野における１技法として、データ所有証明（ＰＤＰ）があるが、疑義を避けるため、ＰＤＰは実装できるアルゴリズムの１例にすぎず、同一または同様の目的を実現する他の技法を使用することができる。データ所有証明可能性またはデータ所有証明は、記憶サーバが忠実にそのクライアントの潜在的に大量の外部委託データを格納しているかを頻繁に、効率的に、および安全に検証する方法に関するトピックである。記憶サーバは、セキュリティおよび信頼性の両方の点で信頼できないことが仮定されている。
【０１２５】
結果の検証により、アイテム自体の内容をチェック、即ち、サブスクライブ要求に関連して受け取ったアイテムが何らかの不正なエンティティによって改竄されていなかったことを保証するための追加の機構がもたらされる。暗号技術の分野における検証の１例として、データ所有証明（ＰＤＰ）があるが、疑義を避けるため、ＰＤＰは、実装できるアルゴリズムの１例にすぎず、同一または同様の目的を実現する他の技法を使用することができる。暗号技術の分野で知られている別の技法は、復元可能性証明（ＰＯＲ）であるが、疑義を避けるため、ＰＤＰは、実装できるアルゴリズムの１例にすぎず、同一または同様の目的を実現する他の技法を使用することができる。ＰＯＲは、クライアントが完全にファイルＦを復元できるという意味でターゲット・ファイルＦが無傷であり、かつ、改竄が行われていないということの、クライアント（検証器）に対するサービス・プロバイダまたはデータ・ホスタ（証明器）によるコンパクトな証明である。
【０１２６】
追加のオプションとして、エコシステムが匿名の認証情報の概念を実装することができ、それにより、パブリッシャは自身に関する情報を重要な詳細情報を公開することなく匿名にアップロードすることができ、パブリッシャがアップロードした重要な詳細情報をサブスクライバに公開できず当該詳細情報にサブスクライバがアクセスできないように、サブスクライバをサブスクライバ自身のケイパビリティにより制限することができる。このように、パブリッシャまたはサブスクライバが、自身が望むだけの情報のみを第三者に公開しつつ、システムと対話することができる。
【０１２７】
従来型のウェブ・サービスは、静的なクライアント・サーバ構成、および、ウェブ・サービスのデータにアクセスするための静的に定義されたユーザ・ポリシに限定されている。しかし、絶え間なく変化し発展する複雑なビジネス関係および他の関係に従う多くのパブリッシャおよびサブスクライバを考慮すると、かかる従来型のウェブ・サービス・モデルは十分に柔軟または安全とはいえない。したがって、様々な実施形態では、データおよびコンテンツのパブリッシャおよび／または所有者が、誰がサブスクライバ（複数可）であるかに基づいて、サブスクライバ（複数可）のケイパビリティに基づいて、サブスクライバ（複数可）が何を求めているかに基づいて、例えば、データ要求に使用されているキーワード（複数可）に基づいて、暗号化コンテンツに対するアクセス権限を変更することができる。このように、サブスクライバが選択的にアクセスできるものは、パブリッシャおよび／または所有者によるアクセス権限の変更に従って動的に変化する。なぜならば、サブスクライバのケイパビリティが、鍵生成器がオンザフライで提供する鍵情報においてエンコードされるからである。このように、サブスクライバの権限は、所与の要求に対して、当該要求に対する鍵生成の時点で定義されるので、常にサブスクライバの要求に関して最新のポリシを反映する。
【０１２８】
同様に、信頼できるクラウド・サービスのサーバ管理者は、サーバが扱うアクティビティおよびデータ・トランザクションのログを監視することができるが、当該サーバ管理者が任意の顧客名またはクレジット・カード情報を参照することを制限することもできる。このように、サブスクライバのアイデンティティが、サブスクライバがアクセスできるデータの種類を制限するための基礎となることができる。
【０１２９】
本明細書では、信頼できるエコシステムの様々な非限定的な実施形態をクラウド・サービスに対して信頼を構築するコンテキストで提示したが、本明細書で提供したエコシステムの信頼構築は非常に一般的であり、クラウド・サービスへの応用には限定されない。寧ろ、本明細書で説明した実施形態は企業のデータ・センタ内の様々なサーバまたは参加者に同様に適用可能である。したがって、データは所与のエンティティから決して離れないかもしれないが、本明細書で説明した信頼構築技法は、企業内の様々なプロセスが別々の制御領域内で動作する場合、等しく適用可能である。全ての企業のプロセスにわたる可視性がないと、あたかも参加者が企業外にいるかのように、同様な不信頼の問題が生じうる。例えば、サーバが管理者の制御下にあってもサーバが企業内で破られる可能性があり、または、管理者が不注意であるかまたは悪意がある可能性がある。
【０１３０】
クラウド内の暗号化データに適用することに加えて、ラップトップが紛失しまたは盗まれる可能性があるので、本発明の様々な技法をラップトップまたは他のポータブル装置に格納したデータに適用することもできる。かかる場合、装置が最終的に過度に関心または悪意があるエンティティに所有されるおそれがあるが、クラウド内のデータ保護に適用される本明細書で説明した技法と同じ技法を適用してサーバまたはラップトップ上のデータを保護することができる。ローカル・データが暗号化された場合、適切なサブスクライバの認証情報がなければ、泥棒は、データにアクセスするための正しい役割もケイパビリティも表示できないローカルの暗号化データを理解することができないであろう。
【０１３１】
図２４は、１実施形態に従う信頼できるクラウド・サービスのフレームワークまたはエコシステムのブロック図である。当該システムは信頼できるデータ記憶２４００を備える。当該データ記憶２４００は、サブスクライバの要求が立証および／または検証を受けた結果とともに、検索可能暗号化データ２４１０を格納する。これに関して、ネットワーク・サービス２４２０をセキュア・データ２４１０上に構築して、データのパブリッシャが、データを例えばネットワーク・サービス（複数可）２４２０を介して要求したサブスクライバ２４４０に付与されたケイパビリティに対する制御を留保するようにすることができる。パブリッシャ２４３０がサブスクライバ２４４０であることもでき、逆も成り立つ。同様に、データの所有者２４５０がパブリッシャ２４３０および／またはサブスクライバ２４４０の何れかであることができる。定義できる幾つかの共通の役割および対応するケイパビリティ集合の１例として、特殊な種類のパブリッシャ２４３０とサブスクライバ２４４０が管理者２４６０と監査者２４７０である。
【０１３２】
例えば、管理者２４６０がデータ２４１０に対して、信頼できるデータ記憶２４００の動作の維持を支援するための１組の特殊な許可を有することができ、監査エンティティ２４７０が、監査範囲内にある特定のデータの完全性の維持を支援することができる。例えば、監査者２４７０が、攻撃的なキーワードを含むメッセージ・データ２４１０をサブスクライブすることができ、この場合、監査者２４７０は、付与されたケイパビリティに従って許可されれば、データ・メッセージ２４１０がかかる攻撃的なキーワードを含むときに警告を受けるが、他のメッセージを読むことはできないはずである。これに関して、無数のシナリオを、パブリッシャのデータをデジタル・エスクローに配置する能力に基づいて構築して、当該データに対する選択的なアクセスを可能とする鍵を渡すようにすることができる。
【０１３３】
例えば、パブリッシャがエコシステムに対して認証し、当該エコシステムにアップロードする１組のドキュメントを示す。当該ドキュメントは、暗号鍵情報を生成する別個の鍵生成器から受け取った暗号鍵情報に基づいて検索可能暗号アルゴリズムに従って暗号化される。次いで、暗号化データをネットワーク・サービス・プロバイダに送信して暗号化データを格納し、暗号化データが、要求側の装置のアイデンティティ情報に基づいて当該要求側の装置に付与された選択された権限の遅延結合に従って選択的にアクセスされるようにする。暗号化技術プロバイダを暗号化データの記憶から切り離すことによって、暗号化データを別の侵害からさらに隔離する。
【０１３４】
これに関して、図２５は、信頼できるクラウド・サービスのエコシステムに従ってデータを発行するための例示的で非限定的な方法を示す流れ図である。２５００で、パブリッシャがシステムに対して認証する（例えば、パブリッシャがユーザ名およびパスワード、Ｌｉｖｅ  ＩＤ認証情報、等でログインする）。２５１０で、鍵情報を、以下の１つまたは複数の実施形態で説明するような鍵生成センタといった鍵生成器により生成する。２５２０で、別の暗号技術プロバイダが、鍵情報に基づいて１組のパブリッシャドキュメントを暗号化する。２５３０で、ケイパビリティを用いて暗号化ドキュメントをネットワーク・サービス・プロバイダ、例えば、記憶サービス・プロバイダにアップロードして、暗号化ドキュメント（複数可）が、要求側の装置（サブスクライバ）のアイデンティティ情報に基づいて付与された選択された権限を遅延的に結合することにより選択的にアクセス可能となるようにする。
【０１３５】
サブスクライバ側では、例えば、サブスクライバがエコシステムに対して認証し、データのサブセットに対する要求、例えば、所与のキーワードまたは１組のキーワードを含むドキュメントのサブセットに対する問合せを示す。検索可能暗号化データのサブセットに対する少なくとも１つのサブスクライバ装置からの要求に応答して、鍵生成コンポーネントが、当該サブスクライバ装置に関連付けられたアイデンティティ情報に基づいて暗号鍵情報を生成する。次いで、暗号化データのサブセットが、暗号鍵情報内で定義されたサブスクライバ装置に付与された権限の関数として復号化される。
【０１３６】
図２６は、信頼できるクラウド・サービスのエコシステムに従ってデータをサブスクライブするための例示的で非限定的な方法を示す流れ図である。２６００で、データをサブスクライブするための方法が、サブスクライバを認証することを含む（例えば、サブスクライバがユーザ名およびパスワード、Ｌｉｖｅ  ＩＤ認証情報、等でログインする）。２６１０で、サブスクライバがデータを要求する。２６２０で、鍵情報が、サブスクライバの要求に基づいて独立した鍵生成エンティティにより生成され、サブスクライバのケイパビリティを当該鍵情報内で定義することができる。２６３０で、パブリッシャのデータのサブセットを、鍵情報内で定義されたケイパビリティに基づいて復号化する。例えば、ＣＳＰが当該データを復号化することができる。２６４０で、パブリッシャのデータのサブセットをサブスクライバにアクセス可能とする。例えば、サブスクライバは、所有者またはパブリッシャが付与した動的に定義可能なケイパビリティに基づいてデータをダウンロードし、参照し、処理し、変更することができる、等である。場合によっては、暗号化、復号化、および鍵生成に使用される技術を別個の暗号技術プロバイダにより供給できるが、任意の参加者によりホストすることができる。
【０１３７】
１実施形態では、サブスクライバ装置のアイデンティティ情報がサブスクライバの役割を含む。例えば、監査者の役割、管理者の役割、または他の所定の役割を、パブリッシャまたは所有者により、検索可能暗号化データ記憶の様々な部分に対するアクセスを制限または許可するための基礎として使用することができる。
【０１３８】
図２７は、信頼できるエコシステムにおいて、鍵生成センタ（ＣＫＧ）２７００、暗号化技術プロバイダ（ＣＴＰ）２７１０およびクラウド・サービス・プロバイダ（ＣＳＰ）２７２０を分離することにより単一のエンティティによる侵害の可能性を排除することを表す、例示的なエコシステムを示す。これに関して、顧客（複数可）２７３０にはデータのパブリッシャおよび／またはサブスクライバが含まれる。場合によっては、ＣＫＧ２７００を、例えばＣＴＰ２７１０により提供される、リファレンス・ソフトウェア、オープン・ソースのソフトウェア、および／またはＳＤＫ（ｓｏｆｔｗａｒｅ  ｄｅｖｅｌｏｐｍｅｎｔ  ｋｉｔ）に基づいて構築して当事者がかかるコンポーネントを自分で生成するためのビルディング・ブロックを可能とすることができ、または、ＣＫＧ２７００をかかるエコシステムのコンポーネントの第三者実装により満たすことができる。１実施形態では、ＳＤＫがＣＴＰ２７１０によって提供され、１つまたは複数の参加者により使用してＣＫＧ２７００、以下でより詳細に説明する計算記憶抽象化（ＣＳＡ）および／または暗号クライアント・ライブラリをホストまたは実装することができる。場合によっては、ＳＤＫを、ＣＴＰ２７１０からＣＫＧ２７００をホストするエンティティへ配布することができる。
【０１３９】
一般に、ＣＫＧ２７００、ＣＴＰ２７１０またはＣＳＰ２７２０は、所与の実装形態に応じてサブコンポーネントに細分できるが、信頼を維持するように全体的な分離が保存される。例えば、マスタ公開鍵（ＭＰＫ）配信２７０２、クライアント・ライブラリ・ダウンローダ２７０４、秘密鍵抽出器２７０６、信頼検証器２７０８、または他のサブコンポーネントのようなＣＫＧエンティティ２７０１を別々に、サブセットで、または統合コンポーネントとして纏めて、提供することができる。暗号化および復号化を行うためのクライアント・アプリケーション２７１２、代替的な暗号化技法２７１４、ＣＫＧ２７１６と対話するためのアプリケーション、他の暗号ビルディング・ブロック２７１８、等のようなＣＴＰエンティティ２７１１を別々に、サブセットで、または纏めて、提供することもできる。さらに、ＣＳＰ２７２０を、それぞれ、記憶サービス２７２４およびサービス・ホスト２７２８をホストするＣＳＰ２７２２、２７２６のような多くの独立したサービス・プロバイダと考えることができ、または、かかるサービスを一緒に提供することができる。
【０１４０】
ＣＫＧ、または、信頼できるエコシステムの１つもしくは複数の参加者によりホストされるＣＫＧインスタンス（複数可）が単一のモノリシックなエンティティである必要はない。寧ろ、ＣＫＧを、鍵を生成するために協調する幾つかの（冗長な）エンティティに分割して、少数の参加者がオフラインであっても動作が継続できるようにすることができる。１実施形態では、場合によっては、これらの参加者のうち少数が相手方によって侵害を受けているかまたは利用不能もしくは信頼されなくなった場合であっても、１組の参加者を全体として信頼することができる。
【０１４１】
図２８は、企業２８００向けクラウド・サービスを実施するための信頼できるエコシステムの別の利益を示す別のアーキテクチャ図である。例えば、企業２８００が様々な組織２８０２、２８０４、２８０６、２８０８を含むことができる。この図における様々な組織２８０２、２８０４、２８０６、２８０８は、組織が、システムを使用するためのポリシの実装または鍵生成に関して出来るだけ多くのまたは少ないものを所有できることを示している。例えば、組織２８０２か独自のポリシ２８１２を実装するが中央鍵生成器２８２２を使用し、一方で、組織２８０４が、独自の鍵生成器２８２４を実装し独自のポリシ２８１４を実装することを選択する。組織２８０６も独自のポリシを実装するが第三者のＣＫＧ２８２６に依存し、一方で、組織２８０８が第三者のポリシ・プロバイダ２８１８と独立のＣＫＧ２８２８とに依存することを選択する。
【０１４２】
これに関して、データを発行するために、パブリッシャ２８４０がＣＫＧ２８２２からの出力に基づいてデータ２８３５を暗号化するための共通パラメータを取得する。当該共通パラメータに基づいて、２８４５で、独立の暗号技術プロバイダを用いてデータをパブリッシャ装置２８４０により暗号化する。暗号化データは記憶抽象化サービス２８５０にアップロードされる。記憶抽象化サービス２８５０が、ＣＳＰ２８７２、２８７４、２８７６、または２８７８のような１つまたは複数のＣＳＰ２８７０により暗号化データを格納することと関連して、記憶の意味論を隠蔽する。サブスクライバ装置２８６０では、データ要求の結果、プライベートな秘密鍵２８６５がＣＫＧ２８２２から生成される。プライベートな秘密鍵２８６５は、２８５５でサブスクライバ装置２８６０がデータを復号化することにより検索可能暗号化データを選択的にアクセスできるようにする情報を含む。ここでも、データをＣＳＰ２８７０から取り出す意味論は記憶抽象化サービス２８５０により隠蔽される。また、サブスクライバ装置２８６０に付与された権限は、パブリッシャまたは所有者が付与したケイパビリティの遅延結合のため、最新の権限集合となっている。
【０１４３】
図２８から、複数のデータ所有者、即ち、企業または消費者の何れかが本明細書で説明した信頼できるエコシステムに参加して信頼関係を確立できることが分かる。このような場合、各所有者が、自身のＣＫＧ（例えば、組織２８０４のＣＫＧ２８２４）をホストするかまたは制御して、データに対する要求または問合せが対応するＣＫＧに転送されて必要な鍵が要求されたデータの共同所有者全てから収集されるようにすることができる。
【０１４４】
図２９は、記憶抽象化層２９１０を介した様々な記憶プロバイダの収容を示す別のブロック図である。信頼できるエコシステムを用いると、それぞれクライアント・アプリケーション２９４０、２９４２を有するデスクトップ２９３０、２９３２が、上述のようにデータを発行またはサブスクライブして、データの暗号化または復号化に使用するための鍵情報を鍵生成センタ２９２０に対する要求を開始する。同様に、サービス２９４４、２９４６、２９４８がエコシステムにおけるパブリッシャおよび／またはサブスクライバであるかもしれない。これに関して、プライベート・クラウド記憶２９００、ＳＱＬデータ・サービス記憶２９０２、またはシンプル記憶ウェブ・サービス２９０４、等の何れかにより、データの記憶または抽出を行うために、記憶抽象化サービス２９１０は、その名が暗示するように、１つまたは複数の特定の記憶リポジトリに関する詳細をクライアントから抽象化する。
【０１４５】
これに関して、疑義を避けるため、図２９は複数の状況に関するものである。１つの状況では、図２９は、計算記憶抽象化（ＣＳＡ）とも呼ばれることがある、記憶抽象化サービスを介した記憶プロバイダの仲介排除（記憶プロバイダを個人から抽象化すること）に対応する。さらに、図２９は、データが（例えば、冗長化のために）複数のバックエンドの記憶プロバイダに分割および／または展開されて、バックエンドの記憶プロバイダのうち１つ（または少数）が偶然または故意に自身のデータのコピーを削除または変更しても、元のデータを再構築できるようにすることができる。当該複数のバックエンドの記憶プロバイダは、同種または異種のものであることができる。
【０１４６】
図３０は、プライベート・クラウド記憶３０００、ＳＱＬデータ記憶３００２、シンプル記憶ウェブ・サービス記憶３００４、等の記憶の詳細を抽象化する、サーバＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）３０１４および記憶サービス３０１２を含む記憶抽象化サービス３０１０と関連した記憶の別の態様を示す。クライアントは、それぞれクライアント・アプリケーション３０４０および３０４２を有するデスクトップ３０５０または３０５２であることができる。鍵生成センタ３０２０は、サーバＯＳ３０２４で実行される鍵生成アプリケーション３０２２を含むことができる。これに関して、アクティブ・ディレクトリ３０３６、サーバＯＳ３０３４、およびセキュリティ・トークン・サービス（ＳＴＳ）３０３２を有する組織３０３０が、エコシステム内のパブリッシャまたはサブスクライバであることができる。これに関して、記憶転送フォーマット（ＳＴＦ）は、暗号化データおよびメタデータをリポジトリにわたって交換するために使用できる標準的な交換フォーマットである。例えば、組織３０３０が、電子メール・データの記憶サービス・プロバイダ３０００、３００２、または３００４の間で転送を所望している可能性があり、このケースでは、ＳＴＦを使用することができる。
【０１４７】
図３１は、信頼できるエコシステム３１２０の多種多様な参加者を示す別のブロック図である。述べたように、有利に、企業３１００は大量のデータを記憶および保守する負荷をオンサイトから当該大量のデータの処理により適したクラウド記憶サービス・プロバイダに移し、同時に、企業が暗号化データに対して定義されたケイパビリティに対する制御を保持するのでデータが悪意のサブスクライバに対して復号化されないという快適さを維持することができる。例えば、組織３１０２がＳｈａｒｅｐｏｉｎｔのような共同作業アプリケーション３１１２を運用しているかもしれない。これに関して、組織３１０２がデジタル・エスクロー、または信頼ドメインをｓｈａｒｅｐｏｉｎｔのデータに対して構成してもよい。ポリシ３１３２およびＣＫＧ３１３４を第１のデータ・センタ３１３０により実装することができる。第１のデータ・センタ３１３０は、信頼ドメインに対して暗号鍵情報３１４５を定義することにより安全な空間を構成するように動作する。
【０１４８】
次いで、別の組織３１０４が、例えばパブリッシャ３１１４として振る舞い、データをＣＫＧ３１３４から取得した鍵情報に基づいて暗号化することができ、この時点で、第２のデータ・センタ３１４０のコンピュータと記憶抽象化コンポーネント３１４２が、検索可能暗号化データを第３のデータ・センタ３１５０、例えば、ＣＳＰ３１５２に格納することの詳細を処理する。反対側では、組織３１０４のサブスクライバ３１１６がデータを要求したとき、プライベートまたは秘密の鍵情報が抽出３１６５の一部としてサブスクライバ３１１６に配布される。次に、サブスクライバに対して定義されたケイパビリティを含むプライベートな鍵情報に基づいて、３１７５でサブスクライバが要求したデータを当該サブスクライバが権限を有すると仮定して復号化し、再度、抽象化層３１４２が根底にある記憶３１５２の詳細を処理する。
【０１４９】
図３２は、別のまたは同一のエンティティにより様々な部分を提供できる、信頼できるクラウド・コンピューティング・システムの例示的で非限定的な実装形態の幾つかの層の代表図である。当該階層の最下層は、暗号化／復号化アルゴリズムの実装に使用される数学および暗号ライブラリ３２８６である。様々な暗号方式の定義の抽象化を、詳細なライブラリ３２８６と検索可能暗号方式３２８２の実際の実装形態との間の中間層３２８４として提供することができる。層３２８２、３２８４、および３２８６は一緒になって大規模な暗号サービス層３２８０を形成する。当該暗号サービス層３２８０は、ＳａａＳ（ｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ）アプリケーションのエコシステムに対する抽象化層３２６０と組み合わせたとき、信頼されたデジタル・エスクロー３２７０とそのための記憶の実装形態の基礎を成す。抽象化層３２６０は、デジタル・エスクロー・パターンを実装するために使用する基本的な言語、即ち、ＳｅｔＵｐ（）、Ｅｎｃｒｙｐｔ（）、Ｅｘｔｒａｃｔ（）、Ｄｅｃｒｙｐｔ（）、等のようなコマンドを含む。
【０１５０】
抽象化層３２６０の上には、様々なより具体的なプラットフォーム技術（例えば、ＳＤＳ、Ａｚｕｒｅ、Ｂａｃｋｕｐ／Ａｒｃｈｉｖｅ、ＲＭＳ、ＳＴＳ、等）に結び付けられた層３２５０がある。様々な具体的なプラットフォーム技術に結び付けられた層３２５０の上には、信頼されたデジタル・エスクロー３２００を使用する様々なＳａａＳアプリケーションがある。例示的で非限定的な例では、デジタル・エスクロー・アプリケーション３２００を１つの企業３２１０によって、または、パートナ３２３０によって、またはその両方によって実装することができる。例えば、企業３２１０が、高性能コンピューティング（ＨＰＣ）、ｅＤｉｓｃｏｖｅｒｙおよびＬｅｇａｌ  Ｄｉｓｃｏｖｅｒｙ３２１４、Ｌｉｖｅ  Ｓｅｒｖｉｃｅ３２１６（例えば、ＤＢｏｘ）、サービスとしてのバックアップ／アーカイブ３２１８、監査ログ、即ち、ビジネス・プロセスおよび監視３２２０、または他のクラウド・サービス３２２２を実装してもよい。同様に、パートナ３２３０が、ｅＬｅｔｔｅｒＯｆＣｒｅｄｉｔ３２３２、垂直業界向けサービスとしてのＨＰＣ３２３４、ｅＨｅａｌｔｈサービス、セキュア・エクストラネット３２３８、コンプライアンス３２４０、訴訟支援３２４２、等のようなサービスを実装することができる。
【０１５１】
信頼できるクラウド・サービスのエコシステムに基づくシナリオ
本明細書で説明した鍵生成器、暗号化プロバイダおよびクラウド・サービス・プロバイダ、ならびに他の技法（複数可）を分離に固有の信頼が高まるので、任意の種類のアプリケーションをクラウドで実現することができる。これに関して、かかる信頼できるクラウド・サービスのエコシステムを可能としたので、本明細書で説明した信頼できるエコシステムの１つまたは複数の利益を利用する１組のリッチなサービスとシナリオを実現することができる。
【０１５２】
例えば、図３３は、上述のように、パブリッシャ制御型の選択的アクセスを遅延結合でデータに提供するように、ドキュメントをデジタル・セーフなアプリケーションに発行するための例示的で非限定的なプロセスの流れ図である。３３００で、装置を認証する（例えば、装置がユーザ名とパスワード、パスワード証明書、生体情報、ＬｉｖｅＩＤ証明書、等でログインする）。３３１０で、ドキュメント（複数可）をアップロードし、タグを入力する。３３２０で、タグがエスクロー・エージェントに送信され、それに応じてハッシュされたタグをエスクロー・エージェントから受け取る。これに関して、タグを上述のように提供することができ、あるいは、例えばフルテキスト・インデクシングによりペイロード（レコード、ドキュメント）から自動的に抽出することができる。３３３０で、クライアントがドキュメントをパブリッシャの鍵情報で暗号化し、ドキュメント（複数可）を、当該ドキュメント（複数可）に関するサブスクライバのケイパビリティとともに安全なデジタルのクラウド記憶プロバイダに送信する。３３４０で、安全なデジタルのクラウド記憶プロバイダが暗号化されたブロブを記憶サービスに、例えば記憶抽象化層に対して、送信する。
【０１５３】
図３４は、デジタル・セーフに配置した素材をサブスクライブするための例示的で非限定的なプロセスの流れ図である。３４００で、サブスクライバを認証し、３４１０で、クライアント装置がタグをエスクロー・エージェントに送信し、当該エスクロー・エージェントは、それに応じてハッシュされたタグを戻す。次いで、３４２０でクライアントがハッシュされたタグをデジタル・セーフなサービスに送信し、ハッシュされたタグを解釈して、３４３０でクライアントが自身の検索要求を全体としてまたは部分的に記憶サービスに実行させる権利があるかどうかを理解する。
【０１５４】
図３５は、デジタル・エスクロー・パターンを用いて１つまたは複数のデータ・センタを介した企業向けのセキュア・エクストラネットを実装する、信頼できるクラウド・サービスの例示的で非限定的な実装形態を示す。上述のように、信頼できるコンピューティングのエコシステムは、暗号技術プロバイダ（ＣＴＰ）３５１０とは別個に実装される鍵生成センタ３５００を備えることができる。暗号技術プロバイダ（ＣＴＰ）３５１０は、暗号技法の実装に使用するためのリファレンス実装を、１つまたは複数のクラウド・サービス・プロバイダ（ＣＳＰ）３５２０とは別個に実装されたエコシステムと整合するように提供する。セキュア・エクストラネットの例示的で非限定的な実装形態では、３５８０は、企業が共有リポジトリ３５７０（例えば、ＳｈｅｒｅＰｏｉｎｔ）と、共有リポジトリ３５７０内のドキュメントと関連して使用するための設計または分析アプリケーションのリポジトリ３５６０を保守することを示す。ビジネス・ソフトウェア３５４０（例えば、Ｓｅｎｔｉｎｅｌ）は、デスクトップ３５５０を有するコンピュータのアプリケーションまたはサーバの性能、等を監視することができる。
【０１５５】
これに関して、信頼できるクラウド・サービスのエコシステムでは、デスクトップ３５５０を使用しているサブスクライバが、記憶域から選択的にアクセス可能な暗号化された情報を検索すると、セキュリティ・トークン・サービス３５３０がサブスクライバ３５８２を特定するための何らかの情報を配信し、３５８４で示す第１のデータ・センタのＣＫＧ層３５０２のインタフェースを介してＣＫＧ３５００に問い合わせることができる。ＣＫＧ３５００は鍵情報を返し、３５８６で示すように、当該鍵情報を使用してデータ・サービス３５２４が保持するデータに記憶抽象化サービス３５２２を介して選択的にアクセスすることができる。したがって、任意の種類のデータを企業内で共有することができ、当該企業内のサブスクライバの役割に従って選択的に共有することができる。
【０１５６】
図３６は、例えば企業内部で、ＣＳＰが格納する暗号化データへの選択的なアクセスがサブスクライバに与えられる、信頼できるクラウド・サービスのエコシステムに基づく別の例示的で非限定的なシナリオを示す流れ図である。最初は、サブスクライバ装置は暗号化データに対するアクセス権限を有しない。しかし、３６００で、例えばアプリケーションと対話することによって、暗号化データの一部または全部を要求することによって、３６１０で、アプリケーションは自動的に対応するＳＴＳと通信して（暗号の業界用語としての）クレームを取得する。３６２０で、アプリケーションはＣＫＧと通信して、サブスクライバに対するケイパビリティ（ケイパビリティは、暗号の業界用語でトラップドアと呼ばれることもあるが、ケイパビリティという用語はトラップドアが一般に出現するコンテキストに限定されない）に関する情報をエンコードする鍵情報を取得する。最後に、３６３０でアプリケーションは鍵情報をＣＳＰに提供し、ＣＳＰが暗号化データに対する検索または問合せを、サブスクライバのケイパビリティが許す範囲で許可する。
【０１５７】
図３７は、サインイン情報に基づいてアプリケーション応答をサブスクライバに対してカスタマイズできることを示す別の流れ図である。例えば、３７００で、ユーザＩＤ情報をアプリケーションが受け取る。３７１０で、アプリケーションが関連するクレームをＳＴＳから取得する。３７２０で、ユーザＩＤ情報に関連付けられたユーザが担う１つまたは複数の役割に基づいて、これらの役割に対する権限／制約に相応のエクスペリエンスをカスタマイズすることができる。例えば、企業の暗号化データに対するビューとして企業の最高財務責任者に提示されるユーザ・エクスペリエンスは、郵便室の従業員に与えられる企業の暗号化データに対するビューとは異なるユーザ・エクスペリエンスであることができ、また、そうあるべきである。図３７を単一当事者または複数当事者のログインのシナリオに適用することができる。
【０１５８】
図３８は、単一当事者または複数当事者に対して実装できる、安全にレコードをアップロードするシナリオを示す別の流れ図である。３８００で、レコードおよびキーワードをアプリケーションが受け取る。当該レコードおよびキーワードは例えば、当該アプリケーションを有する装置のユーザによって提供されるかまたは指定される。３８１０で、アプリケーションがマスタ公開鍵（ＭＰＫ）を取得し、キーワード検索付き公開鍵暗号（ＰＥＫＳ）アルゴリズム（複数可）を適用する。場合によっては、アプリケーションがＭＰＫをキャッシュすることができる。３８２０で、アプリケーションは暗号化レコードを、例えば記憶抽象化層を介して、ＣＳＰリポジトリに入力する。
【０１５９】
図３９は、例えば、単一当事者による自動検索のための、信頼できるクラウド・サービスのエコシステムにより可能となる、検索可能暗号化データ記憶に対する役割ベースの問合せの例示的で非限定的な実装形態を示す別の流れ図である。３９００で、結合問合せをアプリケーションによって受け取るかまたは開始する。３９１０で、アプリケーションは関連するクレームをＳＴＳから取得する。例えば、ＳＴＳはユーザの役割（複数可）を適切な問合せグループ（複数可）に対応付け、所与の役割（複数可）に対して正規の問合せ集合を返す。３９２０で、アプリケーションは、問合せに対応するクレーム（複数可）を効率的に送信できるように、フィルタされたクレームと問合せを送信し、全てのクレーム（複数可）は送信しない。場合によっては、ＣＫＧはトラップドア・クレーム（複数可）をアプリケーションに返す（かまたはクレームを拒絶する）。３９３０で、アプリケーションはトラップドア・クレームをリモート・インデックスに対して実行する。リモート・インデックスを介した処理に基づいて、アプリケーションが結果を受け取り、例えばユーザの役割（複数可）に基づくカスタム・レンダリングを用いて当該結果をユーザに表示することができる。
【０１６０】
図４０は、企業がその暗号化データの一部へのアクセスを外部企業に与えるようにする、複数当事者の協調シナリオを示す流れ図である。例えば、製造業者が、信頼できるクラウドに格納した自身のデータの一部に供給業者がアクセスできるようにしてもよく、その反対も可能である。これに関して、４０００で、企業２のＳＴＳがリソース・プロバイダとして指定され、次に、企業１のアプリケーションが、クラウド内のリソース・プロバイダが提供するリソースへのアクセスに関するクレームを取得する。４０１０で、企業１のＳＴＳがアイデンティティ・プロバイダとして指定される。これに関して、アプリケーションは、企業１のサブスクライバが定義した役割または１組の役割に関するクレームを取得する。これは、アイデンティティ・プロバイダにより容易になる。４０２０で、クレームが、企業２が制御する許可可能リソースに基づいて、および、サブスクライブエンティティの役割（複数可）によって定義される許可／ケイパビリティに基づいて、アプリケーションによって取り出される。図４０ではＳＴＳを１つだけ示しているが、デジタル・エスクロー、または、フェデレーテッド信頼オーバレイにおいて複数のアイデンティティ・プロバイダＳＴＳおよび／または複数のリソース・プロバイダＳＴＳが存在しうることに留意されたい。
【０１６１】
図４１は、例えば、企業１と企業２のような複数の企業間の、複数当事者の自動検索シナリオを示す流れ図である。４１００で、結合問合せを企業１のアプリケーションによって受け取るかまたは開始して実行する。４１１０で、アプリケーションがリソース・プロバイダ（企業２）のＳＴＳから関連するクレームを取得する。場合によっては、リソース・プロバイダを組織タグで指定することができる。場合によっては、ＳＴＳがユーザの役割を問合せグループにマッピングすることができ、その結果、正規の問合せ集合が当該ユーザの役割に返される。４１２０で、アプリケーションがフィルタされたクレームと問合せをユーザの役割に基づいて送信する。問合せに対応するクレームを効率的に送信することができ、全てのクレーム（複数可）は送信しない。場合によっては、ＣＫＧはケイパビリティ（例えば、トラップドア・クレーム）をアプリケーションに返すか、またはクレームを拒絶する。４１４０で、アプリケーションはトラップドア・クレームをリモート・インデックスに対して実行する。リモート・インデックスを介した処理に基づいて、アプリケーションが結果を受け取り、例えばユーザの役割（複数可）に基づくカスタム・レンダリングを用いて当該結果をユーザに表示することができる。
【０１６２】
当該方法が、結合問合せを受け取るステップか、または、結合問合せを開始するステップを含むことができる。これに関して、場合によっては、結合問合せを暗号的に保護して、トラップドア（またはケイパビリティ）の受取人、すなわち、クライアントまたはサービス・プロバイダの何れかが、結合問合せを分解してその構成部分を決定できないようにすることもできる。
【０１６３】
図４２は、信頼できるクラウド・サービスに対して実装できる、例示的で非限定的なエッジ計算ネットワーク（ＥＣＮ）を示す。これに関して、複数の動的計算ノード４２７０、４２７２、４２７４、４２７６に、互いに独立して動作する１組の信頼できるクラウド・コンポーネントと関連して計算帯域幅を動的に割り当てる。例えば、鍵生成センタ４２２０、記憶抽象化サービス４２１０、組織４２３０および組織４２４０を図示したように実装して、例えば上述したような、多組織企業のまたは他のシナリオを網羅することができる。鍵生成センタ４２２０は鍵生成器４２２２とサーバＯＳ４２２４を備える。記憶抽象化サービス４２１０は、記憶サービス・コンポーネント４２１２とサーバＯＳ４２１４を備える。組織４２３０はＳＴＳ４２３２、ＡＤ４２３６、およびサーバＯＳ４２３４を備える。組織４２４０は、ＳＴＳ４２４２、ＡＤ４２４６、およびサーバＯＳ４２４４を備える。サーバＯＳ４２１４、４２２４、４２３４、４２４４は協調して、サーバ間のＥＣＮを実現する。任意の記憶プロバイダまたは抽象化４２０２を使用してデータを記憶することができる。例えば、ＳＱＬデータ・サービスを使用することができる。このように、１つまたは複数のデスクトップ４２５０、４２５２がそれぞれクライアント・アプリケーション４２６０、４２６２を介してデータを発行し、サブスクライブすることができる。
【０１６４】
図４３は、信頼できるクラウド・サービスのエコシステムに従う鍵生成センタ４３１０の１つまたは複数の任意の態様を示すブロック図である。最初に、１組のコンピューティング装置、例えば、デスクトップ４３６０、４３６２、および各クライアント・アプリケーション４３７０、４３７２、またはサービスもしくはサーバ４３７４、４３７６、４３７８、等がクラウド・コンテンツ配信ネットワーク４３５０に対する潜在的なパブリッシャおよび／またはサブスクライバである。しかし、当該１組のコンピューティング装置の何れかからの要求を満たす前に、最初に鍵生成センタが、パブリッシャの信頼のための管理者として動作し、公開鍵に基づいてデータを暗号化し、データのサブスクライバに対してサブスクライバのケイパビリティに基づいて秘密鍵を渡す。
【０１６５】
例示的で非限定的な対話において、最初にコンピューティング装置からの要求を提供し（４３００）、ＣＫＧのホスタ（ｈｏｓｔｅｒ）４３１０が４３８０でＣＫＧ４３１０のインスタンスをＣＫＧファクトリ４３０２に要求する。次に、４３８２でユーザ認証４３０４を行う。次に、ＣＫＧファクトリ４３０２の使用に対して、任意の利用ベースの課金４３４８を課金システム４３０６により適用することができる。次に、４３８６でテナントＣＫＧをＣＫＧファクトリ４３０２によって実現する。当該テナントＣＫＧはＭＰＫ配信コンポーネント４３１２、クライアント・ライブラリ・ダウンローダ４３１４、秘密鍵抽出器４３１６および信頼性立証器／検証器４３１８を備えてもよい。
【０１６６】
４３８８で、ＭＰＫ配信コンポーネント４３１２がＭＰＫをＣＤＮ４３５０に配信する。クライアント・ライブラリ・ダウンローダ４３１４が暗号化ライブラリを要求側のクライアントにダウンロードする。当該暗号化ライブラリを、発行すべきデータの暗号化、または、装置がサブスクライブするデータの復号化と関連して使用することができる。次に、クライアントが、秘密鍵抽出器４３１６から受け取った鍵情報に基づいて１組の所与のドキュメントの抽出を要求し、秘密鍵抽出器４３１６が信頼性検証器４３１８と協調する。信頼性検証器４３１８は、サブスクライバが特定のケイパビリティを有することを、４３９４でのサブスクライバのＳＴＳサムプリントの検証に基づいて、例えば、当該要求に関与する組織の様々なＳＴＳ４３２０、４３２２、４３２４、４３２６との通信に基づいて、立証することができる。他の実施形態と同様、記憶抽象化サービス４３４０を提供して、データベース・サービス４３３０の記憶の詳細（例えば、ＳＱＬ）を抽象化することができる。
【０１６７】
図４４は、ネットワーク・サービス４４２０の配信と関連して、立証および／または検証を伴う、検索可能暗号化データ４４１０を含む信頼できる記憶域４４００の例示的で非限定的な実施形態のブロック図である。本実施形態では、サブスクライバ４４４０またはサブスクライバ４４４０が用いるアプリケーションが、暗号化記憶域４４００の特定部分へのアクセス要求の一部として、当該要求から返されたアイテムに対して立証証明を実行して、実際に受け取られたアイテムが受け取るべきであったアイテムでもあることを立証するよう要求することができる。これに関して、図４４は、検索可能暗号技法と立証技法の組合せを示す。場合によっては、本明細書の他の実施形態で説明するように、システムをクレーム・ベースのアイデンティティおよびアクセス管理と統合してもよい。これに関して、本明細書の様々な実施形態で説明されている、フェデレーテッド信頼オーバレイとも称されるデジタル・エスクロー・パターンを、より従来型のクレーム・ベースの認証システムとシームレスに統合することができる。
【０１６８】
図４４で、信頼できるデータ記憶４４００またはサービス・プロバイダまたはデータ記憶のホスタが証明ステップを実施し、データの所有者（例えば、サブスクライバ装置）が立証を実施する。データ記憶４４００が強い保証を提供するとユーザが確信できるので、データ記憶４４００は信頼される。もっとも、物理的なエンティティがそのデータを実際にホストし、一部の参加者は完全には信頼されないことは理解されよう。
【０１６９】
図４５は、立証ステップを含むサブスクライブの例示的で非限定的なプロセスを示す流れ図である。４５００で、検索可能暗号化データのサブセットをサブスクライバ装置から受け取る。４５１０で、暗号鍵情報を、鍵生成インスタンスから生成する。当該鍵生成インスタンスは、サブスクライバ装置のアイデンティティ情報に基づいて暗号鍵情報を生成する。４５２０で、暗号化データのサブセットを、暗号鍵情報で定義した、サブスクライバ装置に付与されたケイパビリティの関数として復号する。４５３０で、サブセット内で表したアイテムを立証し（例えば、データ所有証明（複数可））、４５４０でデータにアクセスする。
【０１７０】
多くの場合、暗号化データを復号する必要なしに暗号化データに対してＰＤＰ／ＰＯＲを実行できることが望ましい。場合によっては、ＰＤＰに必要な鍵情報を、検索可能暗号で保護したメタデータ内部でエンコードすることができる。これはＰＤＰ／ＰＯＲに用いられる鍵を管理する効果的な方法であるが、平文の内容にアクセスする必要なしにＰＤＰ／ＰＯＲを暗号化データに対して実施できる多数の高価値なシナリオがあることに留意されたい。
【０１７１】
図４６は、検証器４６００（例えば、データ所有者）が暗号チャレンジ４６２０を証明器４６１０（例えば、データ・サービス・プロバイダ）に発行する、例示的で非限定的な立証チャレンジ／レスポンス・プロトコルを示す。チャレンジ４６２０を受け取ると、証明器４６１０が応答をデータと当該チャレンジ４６１２の関数として計算する。次いで、チャレンジ応答４６３０が検証器４６００に返され、その後、検証器４６００が検証を行って、データが修正されていないことを検証または証明する（４６０２）。
【０１７２】
図４６に一般的に示す立証はプライベートＰＤＰとしても知られるが、「パブリックな」バージョンもあることに留意されたい。この場合、第三者に鍵（例えば、「公開」鍵）が提供され、それにより、当該第三者は、実際のデータについて何ら知ることなく、同様なプロトコルに従う検証器として動作する。ＰＯＲは、検証の１例であり、データが（何らかの改変／修正にも関わらず）取り出し可能であることの証明を提供する点でＰＤＰとは異なるが、以下の図３０で示すように、ドキュメントの構造や実際のアルゴリズムは異なっていても基本的なプロトコルは同一である。本明細書の信頼できるエコシステムの様々な実装形態では、検索可能暗号とＰＯＲ／ＰＤＰを組み合わせてシステムに役立て、信頼性を向上させる。これに関して、データをサービス・プロバイダに送信する前に、データを検索可能に暗号化する。データの後処理にＰＯＲおよび／またはＰＤＰを含めることができる。
【０１７３】
加えて、さらに強い保証を提供する必要がある場合は、任意に「データ分散」技法を上述の実施形態のうち任意の１つまたは複数に重ねあわせることができる。データ分散を用いると、データが幾つかのサービス・プロバイダに分散され、任意の１つのサービス・プロバイダにおける「大規模な悪行」または壊滅的損失に対する回復力が得られる。本明細書で説明した信頼機構を用いると、この分散が、独立したサービス・プロバイダが共謀してデータを破壊することを困難にするように行われる。これは、上述の分散ＣＫＧの実施形態と概念的に同様である。
【０１７４】
図４７は、パブリッシャ２５３０からのネットワーク・サービス２５２０のデータ配信と関連した、立証および／または検証を伴った検索可能暗号化データ２５１０を含む信頼できる記憶域２５００の別の例示的で非限定的な実施形態のブロック図である。具体的には、図４７は、サブスクライバ２５４０に返されたアイテムが改竄されていないか、または、不注意に変更されていなかったことを検証するための検証コンポーネント４７５０を示す。上述したＰＤＰは検証の非限定的な例である。
【０１７５】
図４８は、立証ステップを含むサブスクライブの例示的で非限定的なプロセスを示す流れ図である。４８００で、検索可能暗号化データのサブセットをサブスクライバ装置から受け取る。４８１０で、暗号鍵情報を、鍵生成インスタンスから生成する。当該鍵生成インスタンスは、サブスクライバ装置のアイデンティティ情報に基づいて暗号鍵情報を生成する。４８２０で、暗号化データのサブセットを、暗号鍵情報で定義した、サブスクライバ装置に付与されたケイパビリティの関数として復号する。４８３０で、サブセット内で表したアイテムの内容を検証し（例えば、取出可能性証明（複数可））、４８４０でデータにアクセスする。
【０１７６】
図４９は、検証器４９００（例えば、データ所有者）が暗号チャレンジ４９２０を証明器４９１０（例えば、データ・サービス・プロバイダ）に発行する、例示的で非限定的な検証チャレンジ／レスポンス・プロトコルを示す。チャレンジ４９２０を受け取ると、証明器４９１０が応答をデータと当該チャレンジ４９１２の関数として計算する。次いで、チャレンジ応答４９３０が検証器４９００に返され、その後、検証器４９００が計算を行って、データが取出可能であることを検証または証明する（４９０２）。
【０１７７】
ブラインド・フィンガープリントは、ラビン・フィンガープリントのようなネットワーク重複排除技法を拡張した別の種類の暗号技法を表し、一般にネットワーク上での冗長なデータの交換を最小限にするために用いられる。本明細書の様々な実施形態では、フィンガープリントを適用して、プロトコルの参加者、例えばデータの記憶の場合はＣＳＰが、自分がホストしているデータの実際の内容に気づくことがないようにする。
【０１７８】
ブラインド・フィンガープリントに関する幾つかの追加のコンテキストのため、データの保守を含めて、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）にわたる任意の大量のデータ交換には、配線上の「重複排除」のための、または、不要なデータが配線上で送信されないようにするための技法が望ましいであろう。これを、データのセグメントをフィンガープリントし、次いでフィンガープリントを交換して、受信者が有さないものを有していると送信者が分かるようにすることによって、実現する。また、受信者は、自分がどのデータを送信者に求める必要があるかを知っている。分散ファイル・サービス・レプリケーション（ＤＦＳ−Ｒ）を使用して、支店のバックアップおよびＷＡＮ上の分散ファイル・システムのようなシナリオにおけるデータ交換を最適化することができる。
【０１７９】
交換のケースでは、大量のデータ複製があり、高々５０％、またはそれより多くの配線上のデータが任意の所与の時点で複製である可能性がある。フィンガープリントをブロック・レベルまたはオブジェクト・レベル、例えば、電子メール、カレンダ・アイテム、タスク、連絡先、等のレベルで取得することができる。フィンガープリントをプライマリ・データ・センタおよびセカンダリ・データ・センタの両方にキャッシュすることができる。したがって、プライマリ・データ・センタに障害がある場合は、セカンダリ・データをフィンガープリントとともにプライマリ・データ・センタに復元することができる。それにも関わらず、プライマリ・データ・センタにあるデータの暗号化により、不明瞭にされていても、セカンダリ・データ・センタのオペレータがフィンガープリントを見えるようにすべきである。これを例えば、フィンガープリントを検索可能に暗号化したキーワード／メタデータとして格納して、セカンダリ・データ・センタ内の許可されたエンティティ／エージェント以外はパターンを検出できないようにすることにより、実現することができる。
【０１８０】
データ・サービスのコンテキストでは、全体または増分を送信する場合は、プライマリ・データ・センタはログまたはＥＤＢ内の各アイテム／セグメント／ブロックを調べることができ、フィンガープリントのローカル・コピーを調べることができる。マッチした場合、プライマリ・データ・センタは当該アイテム／セグメント／ブロックを当該フィンガープリントで置き換える。本明細書で「ブラインド・フィンガープリント」という用語をそのように称するのは、フィンガープリントの適用され方のためである。１実施形態では、ブラインド・フィンガープリントを実現するための暗号技術の選択肢として、サイズ保存型の暗号技法がある。
【０１８１】
図５０は、ブラインド・フィンガープリントを含むサービスの１つまたは複数の実施形態を提供するための一般的な環境のブロック図である。ブラインド・フィンガープリントでは、データ・サブスクライバ５０００とデータ・サービス・プロバイダ５０１０は、どのデータ・セグメントが、バックアップされているデータ・セットのそれぞれのローカルのバックアップ・コピーに既に存在するかをプロキシとして理解するためにフィンガープリントを交換する。フィンガープリント交換５０２０の結果として、５００２で重複排除修正データ５０３０としてデータ・サービス・プロバイダ５０１０へ送信するための１組の縮小した修正データを決定する。データ・サービス・プロバイダ５０１０は次いで、重複排除した修正データと任意のブラインド・フィンガープリント５０４０に選択的にアクセスすることによって、当該修正データを適用する。
【０１８２】
図５１は、複数の独立したフェデレーテッド信頼オーバレイ、またはデジタル・エスクローが階層アプローチで隣り合って、または、重なり合って存在できる、非限定的なシナリオを示すブロック図である。このシナリオでは、様々なネットワーク・サービス（複数可）５１２０が基礎を置くことができる検索可能暗号化データ５１１０を有する、信頼できるデータ記憶５１００が存在する。例えば、ネットワーク・サービス（複数可）５１２０では、ワード・プロセッサ・ソフトウェアをクラウド・サービスとして配信することができる。地球規模の配信（Ｇｅｏ−ｄｉｓｔｒｉｂｕｔｉｏｎ）の一部として、またはそうでなければ任意に、複数のオーバレイまたはエスクロー５１３２、５１３４、５１３６を提供することができる。当該複数のオーバレイまたはエスクロー５１３２、５１３４、５１３６は各々、様々なアプリケーション、垂直業界、コンプライアンスのニーズ、または国家機関の要件に対して調整されており、それにより、パブリッシャ２５３０またはサブスクライバ５１５０は、参加すべき正しいオーバレイまたはエスクローを、例えば、１組の管轄または居住の要件または区域に基づいて、暗黙的または明示的に選択する。このように、オーバレイは変化しうるが、クラウドからのバックエンド・サービスは、コア・サービス自体の提供を複雑化することなく依然として同じであることができる。
【０１８３】
図５２は、不正アクセスに対してデータを不明瞭にするためのデータ分散技法を含む、信頼できる記憶域の別の例示的で非限定的な実施形態のブロック図である。この例は、データを隠蔽または不明瞭化するための手段としての暗号化技法を提供する上述の技法またはシステムの全てを、データ（またはメタデータ）を見えなくする他の任意の数学的変換またはアルゴリズムによっても実装できることを示している。これに関して、例えば、データを１組のデータ記憶にわたって自動的に最適化または分散させることができる。当該１組のデータ記憶は同種のものであることができ、または、図５２に示すように、異種のコンテナ５２１２、５２１４、．．．、５２１６であることができる。
【０１８４】
このようにシステムはデータ記憶５２００を備え、当該データ記憶５２００には、抽象的には、選択的にアクセス可能なデータまたはメタデータ５２１０を格納するためのデータ記憶５２１２、５２１４、．．、５２１６が含まれる。パブリッシャは、少なくとも１つのリソースを表すデータまたはメタデータ５２１０をデータ記憶５２００に発行することができ、第１の独立したエンティティ５２５０が、発行されたデータまたはメタデータに適用できるアクセス情報を生成し、第２の独立したエンティティ５２６０が、発行されたデータまたはメタデータを格納する１組のデータ記憶の知識を維持しつつ、発行されたデータまたはメタデータをデータ記憶５２００のうちの当該１組のデータ記憶に分散させる。
【０１８５】
したがって、この情報は秘密であり、アクセス情報なしには明らかにすることができない。データまたはメタデータ５２１０を、ネットワーク・サービス（複数可）５２２０を介して発行することができる。当該ネットワーク・サービス（複数可）５２２０は、少なくとも１つのリソースのパブリッシャ（複数可）または所有者（複数可）により付与されアクセス情報により表される遅延的に結合し選択された権限に基づいて、ネットワーク・サービスに対する所与の要求に対して、発行されたデータまたはメタデータに対する選択的なアクセスを提供する。データ記憶５２００はコンテナ・タイプが同じかまたは異なる複数のコンテナを含み、発行されたデータまたはメタデータは当該複数のコンテナのうち少なくとも１つのコンテナに自動的に分散される。当該分散を、データ分散器５２６０に既知である任意のアルゴリズムに基づいて、例えば、当該複数のコンテナが表す記憶リソースのリアルタイム分析、データもしくはメタデータの特徴、または所与のアプリケーションに適切な他の任意のパラメータ、に基づいて行うことができる。
【０１８６】
従って、サブスクライバ５２４０がデータまたはメタデータ５２１０を要求する場合、ネットワーク・サービス（複数可）は独立のエンティティ５２５０および／または５２６０に問い合わせて、サブスクライバ５２４０がデータの再構築を可能とするアクセス情報を有する権限を有するか否かを判定する。例えば、データの再構築を許可するデータ・マップが秘密であることができる。本実施形態を暗号化のような他の数学的変換と組み合わせて、データをさらに保護することができる。かかる追加の数学的変換を、別の独立のエンティティによって監視して、信頼をさらに分散し、許可された者以外にはデータが見えないままであるという快適さをさらに得ることができる。
【０１８７】
本明細書では、信頼できるデータ・サービスの提供を示す様々な例示的で非限定的な実施形態を説明した。これらの実施形態は単体ではなく、必要に応じて互いに組み合わせることができる。さらに、上述の実施形態のうち任意のものを幾つかの代替的な方法で拡張することができる。例えば、１実施形態では、信頼できるデータ・サービスにより、トラップドアまたはケイパビリティを有効期限切れにして失効させて、データへのアクセスに対してさらにセキュリティを確保する。別の任意の実施形態では、権利管理層を信頼できるデータ・サービスの提供に組み込んで、例えば、暗号化もしくは復号化の一部としてコンテンツに付与された権利を保存し、または、平文内でより容易に認識可能または検出可能であるデジタル・エスクロー内の著作権保護データに関する行為を防止する。したがって、本明細書で説明した諸実施形態の任意の組合せまたは並びが、本発明の範囲内にあると考えられる。
【０１８８】
例示的で非限定的な実装
デジタル・エスクロー・パターンの１つの例示的な実装形態を、フェデレーテッド信頼オーバレイ（ＦＴＯ）と称する。ＦＴＯの実装形態に関する幾つかの追加の非限定的な詳細を付録Ａに添付しておく。
【０１８９】
これに関して、デジタル・エスクロー・パターンは多くの可能なパターンおよび変形の１例にすぎない。さらに、（パブリッシャ、サブスクライバ、管理者および監査者、ならびに場合によっては上述した他の特殊な役割が関わる）このパターンは別の基礎となるＦＴＯパターンに重ね合わせられ、当該ＦＴＯパターンが、ＣＴＰ、ＣＳＰ、ＣＫＧ、等の「政教」分離を行って信頼を維持する。また、互いに妨害せず、互いの存在すら知らずに共存できる、複数の独立したＦＴＯとＤＥＰが存在しうる。また、ＤＥＰとＦＴＯのパターンをクラウド記憶に重ね合わせることが、クラウド記憶サービス・プロバイダが協調することなく、または、これらのパターンもしくは重ね合わせを知ることなく、可能である。
【０１９０】
より詳細には、ＦＴＯは、クラウド内のデータ・サービスと独立した１組のサービスである。これらのサービスは、データ・サービスの操作者とは別の者により運用され、クラウド・サービスがホストするデータの機密性、改竄検出、および非拒絶に関して強い保証を提供することができる。
【０１９１】
任意の者が、これらのオーバレイ・サービス、例えば、調停者サービス、立証サービス、記憶抽象化サービス、等を構築し、ホストすることができる。これらの者は、リファレンス実装をホストすること、または、一般に利用可能なフォーマットおよびプロトコルに基づいて独自の実装を構築することを選択してもよい。
【０１９２】
当該フォーマット、プロトコルおよびリファレンス実装のオープンな性質のため、ＦＴＯの運用者およびデータ所有者のような者の間で制御の分離を維持すると分かりやすいはずである。
【０１９３】
暗号化がこのソリューションの１つの構成要素である一方で、様々な者にわたって連携するサービスを編成することもまたこのソリューションの一部である。従来型の暗号化技法は多くのシナリオで必須であるが、それらの技法では、複数の（信頼されない）サービスを編成すること、データ・リポジトリを検索すること、等による、改竄検出、非拒絶、信頼構築のようなシナリオの多くは不可能である。
【０１９４】
補足的なコンテキスト
幾つかの追加の非限定的なコンテキストに関して、上述のように、信頼できる１組のクラウドが提供するものにより、当該信頼の上に構築されるクラウド向けのアプリケーションのエコシステムが可能となる。本明細書で使用する様々な専門用語には、ＣＫＧ、即ち、鍵生成センタが含まれ、マルチ・テナントの鍵生成センタをホストするエンティティ、例えば、Ｍｉｃｒｏｓｏｆｔ、ＶｅｒｉＳｉｇｎ、Ｆｉｄｅｌｉｔｙ、Ｓｏｖｅｒｅｉｇｎ  Ｅｎｔｉｔｙ、Ｅｎｔｅｒｐｒｉｓｅ、Ｃｏｍｐｌｉａｎｃｅ  Ｅｎｔｉｔｙ、等のうち任意のものがＣＫＧをホストすることができる。これに関して、マルチ・テナント性は任意である（例えば、望ましいが必須ではない）。他の専門用語には、ＣＴＰ、即ち、信頼できるエコシステムとともに使用するための暗号技術を提供するエンティティである、暗号技術プロバイダが含まれ、例えば、Ｓｙｍａｎｔｅｃ、Ｃｅｒｔｉｃｏｍ、Ｖｏｌｔａｇｅ、ＰＧＰ  Ｃｏｒｐ、ＢｉｔＡｒｍｏｒ、Ｅｎｔｅｒｐｒｉｓｅ、Ｇｕａｒｄｉａｎ、Ｓｏｖｅｒｅｉｇｎ  Ｅｎｔｉｔｙ、等はＣＴＰでありうる企業の例である。
【０１９５】
さらに、ＣＳＰという用語、即ち、クラウド・サービス・プロバイダは、記憶域を含むクラウド・サービスを提供するエンティティである。様々な企業が、かかるデータ・サービスを提供することができる。ＣＩＶ、即ち、クラウド・インデックス・バリデータは、返されたインデックスの立証を行うための第２のリポジトリである。ＣＳＡ、即ち、計算記憶抽象化は記憶域をバックエンドで抽象化する。ＳＴＦ、即ち、記憶転送フォーマットは、データまたはメタデータをリポジトリにわたって転送するための普遍的なフォーマットである。
【０１９６】
これに関して、述べたように、幾つかの企業シナリオ（複数可）には工学的エクストラネットが含まれる。当該エクストラネットは、データ・サービス技術またはアプリケーション、設計工学分析を利用し、製造業者と供給業者（複数可）、等の間のデータ関係を定義する。このように、「超」信頼されるエンティティが存在せずまたは一箇所における侵害が存在しないように信頼を複数のエンティティに分散させることによって、ユニークなエコシステムが多種多様なシナリオに対して可能となる。
【０１９７】
検索可能暗号に関する幾つかの補足的なコンテキストに関して、ユーザは一般に、キーワード（複数可）に対して「ケイパビリティ」または「トラップドア」を有するかまたは取得し、次いで、当該「ケイパビリティ」を用いて要求を送信し、当該ケイパビリティをサーバに提示する。サーバはケイパビリティとインデックスを「結合」して関連するドキュメントまたはデータを見つける。次いで、ユーザは、当該検索から得られるドキュメントに対してのみアクセスすることができる（が、ユーザがこれらのドキュメント以外にアクセスできてもよい）。
【０１９８】
2013511103.tif 000003
【０１９９】
これも本明細書で説明したどの実施形態に対する限定として考えるべきではないが、以下はキーワード検索付き公開鍵暗号（ＰＥＫＳ）パターンに関する導入である。
公開鍵暗号化
a.  ＰＫＥ＝（Ｇｅｎ，Ｅｎｃ，Ｄｅｃ）
ＩＤベース暗号
b.  ＩＢＥ＝（Ｇｅｎ，Ｅｎｃ，Ｅｘｔｒａｃｔ，Ｄｅｃ）
c.  マスタ鍵の生成
i.  （ｍｓｋ，ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
d.  ＩＤに対してｍを暗号化
i.  ｃ＝ＩＢＥ．Ｅｎｃ（ｍｐｋ，ＩＤ，ｍ）
e.  ＩＤに対して秘密鍵を生成
i.  ｓｋ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ，ＩＤ）
f.  復号化
i.  ｍ＝ＩＢＥ．Ｄｅｃ（ｓｋ，ｃ）
g.  メッセージ：ｍ
h.  キーワード：ｗ1，．．．，ｗn
i.  エスクロー鍵の生成
i.  （ｍｓｋ，ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ii.  （ｐｋ，ｓｋ）＝ＰＫＥ．Ｇｅｎ（）
j.  暗号化
k.  １≦ｉ≦ｎに対して
i.  ｃi＝ＩＢＥ．Ｅｎｃ（ｍｐｋ，ｗi，ｆｌａｇ）
l.  （ＰＫＥ．Ｅｎｃ（ｐｋ，ｍ），ｃ1，．．．，ｃn）を返す
m.  ｗに対してケイパビリティまたはトラップドアを生成
i.  ｄ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ，ｗ）
n.  ｗについてテスト
o.  １≦ｉ≦ｎに対して
i.  ｚ＝ＩＢＥ．Ｄｅｃ（ｄ，ｃi）
ii.  ｚ＝ｆｌａｇならば「真」を出力
Ｅk（ｍ）を復号化してｍを取得
【０２００】
例示的なネットワークおよび分散型の環境
本明細書で説明した信頼できるクラウド・サービスのフレームワークおよび関連する諸実施形態に関する方法および装置の様々な実施形態を、任意のコンピュータまたは他のクライアント装置もしくはサーバ装置と関連して実装でき、コンピュータ・ネットワークの一部として、または、分散コンピューティング環境内に展開でき、任意の種類のデータ記憶に接続できることは当業者には理解されよう。これに関して、本明細書で説明した様々な実施形態を、任意数のメモリまたは記憶ユニット、任意数の記憶ユニットにわたって生ずる任意数のアプリケーションおよびプロセスを有する、任意のコンピュータ・システムまたは環境で実装することができる。これには、リモートまたはローカルの記憶域を有する、ネットワーク環境または分散コンピューティング環境に展開したサーバ・コンピュータおよびクライアント・コンピュータを伴う環境が含まれるがこれに限らない。
【０２０１】
図５３に、例示的なネットワークまたは分散型のコンピューティング環境の非限定的な概略図を示す。当該分散コンピューティング環境は、コンピューティング・オブジェクト５３１０、５３１２、等、および、コンピューティング・オブジェクトまたは装置５３２０、５３２２、５３２４、５３２６、５３２８、等を含み、これらは、アプリケーション５３３０、５３３２、５３３４、５３３６、５３３８で表すように、プログラム、方法、データ記憶、プログラム可能論理、等を含むことができる。オブジェクト５３１０、５３１２、等、および、コンピューティング・オブジェクトまたは装置５３２０、５３２２、５３２４、５３２６、５３２８、等が、ＰＤＡ、オーディオ／ビデオ装置、携帯電話、ＭＰ３プレイヤ、ラップトップ、等のような様々な装置を備えてもよいことは理解できる。
【０２０２】
各オブジェクト５３１０、５３１２、等、および、コンピューティング・オブジェクトまたは装置５３２０、５３２２、５３２４、５３２６、５３２８、等は、通信ネットワーク５３４０により、直接または間接に、１つまたは複数の他のオブジェクト５３１０、５３１２、等、および、コンピューティング・オブジェクトまたは装置５３２０、５３２２、５３２４、５３２６、５３２８、等と通信することができる。図５３では１つの要素として示したけれども、ネットワーク５３４０が、図５３のシステムにサービスを提供する他のコンピューティング・オブジェクトおよびコンピューティング装置を備えてもよく、かつ／または、図示していないが、複数の相互接続ネットワークを表してもよい。各オブジェクト５３１０、５３１２、等、または、５３２０、５３２２、５３２４、５３２６、５３２８、等が、アプリケーション５３３０、５３３２、５３３４、５３３６、５３３８、等のようなアプリケーションを含むこともでき、これらのアプリケーションが、様々な実施形態に従って提供される信頼できるクラウド・コンピューティング・サービスまたはアプリケーションとの通信またはそれらの実装に適した、ＡＰＩ、または他のオブジェクト、ソフトウェア、ファームウェアおよび／またはハードウェアを利用してもよい。
【０２０３】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成がある。例えば、コンピューティング・システムを、有線または無線のシステムによって、ローカル・ネットワークまたは広域分散ネットワークによって、互いに接続することができる。今日では、多数のネットワークがインターネットに接続されている。インターネットは、広域分散コンピューティングに対するインフラを提供し、多種多様なネットワークを包含するが、任意のネットワーク・インフラを、様々な実施形態で説明した技法に伴う例示的な通信に用いることができる。
【０２０４】
このように、多数のネットワーク・トポロジおよびネットワーク・インフラ、例えば、クライアント／サーバ、ピアツーピア、またはハイブリッド・アーキテクチャを利用することができる。クライアント／サーバのアーキテクチャ、特にネットワーク型のシステムでは、クライアントは通常、別のコンピュータ、例えば、サーバによって提供される共有ネットワーク資源にアクセスするコンピュータである。図５３の実例では、非限定的な例として、コンピュータ５３２０、５３２２、５３２４、５３２６、５３２８、等をクライアントとみなし、コンピュータ５３１０、５３１２、等をサーバとみなすことができる。この場合、サーバ５３１０、５３１２、等がデータ・サービス、例えば、クライアント・コンピュータ５３２０、５３２２、５３２４、５３２６、５３２８、等からのデータの受信、データの格納、データの処理、クライアント・コンピュータ５３２０、５３２２、５３２４、５３２６、５３２８、等へのデータの送信、等を提供するが、任意のコンピュータを状況に応じてクライアント、サーバ、またはその両方とみなすことができる。これらのコンピューティング装置のうち任意のものが、データを処理し、または、１つまたは複数の実施形態に関して本明細書で説明した改良されたユーザ・プロファイリングおよびその関連技法を関連させうるサービスまたはタスクを要求してもよい。
【０２０５】
サーバは一般に、インターネットまたは無線ネットワーク・インフラのような、リモート・ネットワークまたはローカル・ネットワークを介してアクセス可能なリモート・コンピュータ・システムである。クライアント・プロセスが第１のコンピュータ・システムでアクティブであり、サーバ・プロセスが第２のコンピュータ・システムでアクティブであり、互いに通信媒体を介して通信することにより分散機能を提供し、複数のクライアントがサーバの情報収集機能を利用可能であってもよい。ユーザ・プロファイリングに従って利用される任意のソフトウェア・オブジェクトをスタンドアロンで提供するか、または、複数のコンピューティング装置もしくはオブジェクトにわたって分散させることができる。
【０２０６】
通信ネットワーク／バス５３４０がインターネットであるネットワーク環境では、例えば、サーバ５３１０、５３２０、等がウェブ・サーバであることができる。当該ウェブ・サーバにより、クライアント５３２０、５３２２、５３２４、５３２６、５３２８、等がＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）のような幾つかの公知なプロトコルのうち任意のものを介して通信する。サーバ５３１０、５３１２、等がクライアント５３２０、５３２２、５３２４、５３２６、５３２８、等の役割を果たしてもよく、これは分散コンピューティング環境の特徴でありうる。
【０２０７】
例示的なコンピューティング装置
述べたように、本明細書で説明した様々な実施形態は任意の装置に適用され、この場合、１つまたは複数の信頼できるクラウド・サービスのフレームワークを実装することが望ましいであろう。したがって、ハンドヘルド、ポータブルおよび他のコンピューティング装置およびあらゆる種類のコンピューティング・オブジェクトが、本明細書で説明した様々な機能と関連した使用に対して、即ち、信頼できるクラウド・サービスのフレームワークと関連した何らかの機能を装置が提供できる任意の場面で、考慮されることは理解されよう。したがって、図５４で後述する以下の汎用目的のリモート・コンピュータは１例にすぎず、本発明の諸実施形態を、ネットワーク／バスの相互運用性および対話を有する任意のクライアントで実装してもよい。
【０２０８】
必要ではないが、諸実施形態のうち任意のものの一部を、装置またはオブジェクト向けのサービスの開発者が使用するためにオペレーティング・システムを介して実装することができ、かつ／または、動作可能コンポーネント（複数可）と関連して動作するアプリケーション・ソフトウェア内に含めることができる。ソフトウェアを、クライアントのワークステーション、サーバ、または他の装置のような１つまたは複数のコンピュータにより実行されている、プログラム・モジュールのようなコンピュータ実行可能命令の一般的な文脈で説明してもよい。ネットワークとの対話を様々なコンピュータ・システム構成およびプロトコルで実施してもよいことは当業者には理解されよう。
【０２０９】
図５４は、１つまたは複数の実施形態を実装できる適切なコンピューティング・システム環境５４００の１例を示すが、上で明らかにしたように、コンピューティング・システム環境５４００は適切なコンピューティング環境の１例にすぎず、諸実施形態の何れの使用または機能の範囲に関して何ら限定を示唆しようとするものではない。コンピューティング環境５４００が、例示的な動作環境５４００で示したコンポーネントの任意の１つまたは組合せに関して何らの依存性も要件も有しないと解釈すべきである。
【０２１０】
図５４を参照すると、本明細書の１つまたは複数の実施形態を実装するための例示的なリモート装置が、汎用目的コンピューティング装置をハンドヘルド・コンピュータ５４１０の形で備えることができる。ハンドヘルド・コンピュータ５４１０のコンポーネントは、処理装置５４２０、システム・メモリ５４３０、および、システム・メモリを含む様々なシステム・コンポーネントを処理装置５４２０に接続するシステム・バス５４２１を備えてもよい。
【０２１１】
コンピュータ５４１０は一般に、様々なコンピュータ読取可能媒体を備え、コンピュータ５４１０がアクセスできる任意の利用可能な媒体であることができる。システム・メモリ５４３０が、コンピュータ記憶媒体を、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）および／またはＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のような揮発性および／または不揮発性のメモリの形で備えてもよい。限定ではなく例として、メモリ５４３０がオペレーティング・システム、アプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを備えてもよい。
【０２１２】
ユーザは入力装置５４４０を介してコマンドおよび情報をコンピュータ５４１０に入力することができる。モニタまたは他種の表示装置も、出力インタフェース５４５０のようなインタフェースを介してシステム・バス５４２１に接続される。モニタに加えて、コンピュータがスピーカおよびプリンタのような他の周辺出力装置を備えてもよく、出力インタフェース５４５０を介して当該他の周辺出力装置を接続してもよい。
【０２１３】
コンピュータ５４１０を、リモート・コンピュータ５４７０のような１つまたは複数の他のリモート・コンピュータへの論理接続を用いてネットワーク環境または分散環境で動作させてもよい。リモート・コンピュータ５４７０が、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスもしくは他の共通ネットワーク・ノード、または他の任意のリモート消費媒体もしくは送信装置であってもよく、コンピュータ５４１０に関して上述した要素の何れかまたは全てを含んでもよい。図５４に示す論理接続には、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）またはＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）のようなネットワーク５４７１が含まれるが、他のネットワーク／バスを含めてもよい。かかるネットワーク環境は、自宅、職場、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットで一般的である。
【０２１４】
上で述べたように、例示的な実施形態を様々なコンピューティング装置、ネットワークおよび広告アーキテクチャと関連して説明したが、その基礎となる概念を任意のネットワーク・システムおよび任意のコンピューティング装置に適用してもよく、または、クラウド・サービスとの対話と関連して信頼性を提供するのが望ましいシステムに適用してもよい。
【０２１５】
本明細書で説明した１つまたは複数の実施形態を実装する複数の方法がある。例えば、適切なＡＰＩ、ツール・キット、ドライバ・コード、オペレーティング・システム、コントロール、スタンドアロンまたはダウンロード可能なソフトウェア・オブジェクト、等であり、これらによりアプリケーションおよびサービスが信頼できるクラウド・サービスのフレームワークを使用することができる。諸実施形態を、ＡＰＩ（または他のソフトウェア・オブジェクト）の観点から、ならびに、１つまたは複数の説明した実施形態に従ってポインティング・プラットフォーム・サービスを提供するソフトウェア・オブジェクトまたはハードウェア・オブジェクトの観点から検討してもよい。全体としてハードウェアであり、一部がハードウェアで一部がソフトウェアであり、ならびに全体としてソフトウェアである諸態様を、本明細書で説明した様々な実装形態と実施形態が有してもよい。
【０２１６】
本明細書で使用する「例示的」という語は、例、事例、または実例としての役割を果たすことを意味する。疑義を避けるため、本明細書で開示した発明はかかる例によって限定されない。さらに、本明細書で「例示的」として説明した任意の態様または設計は必ずしも、他の態様または設計に対して好適または有利であるとは解釈されず、当業者に知られた均等な例示的な構造および技法を排除することを意味するものでもない。さらに、「備える」、「有する」、「含む」という用語及びほかの同様の語が詳細な説明または特許請求の範囲の何れかで使用される限り、疑義を避けるため、かかる用語は、任意の追加のまたは他の要素を排除しない開放的な移行語としての「備える」という用語と同様に包含的であることを意図している。
【０２１７】
述べたように、本明細書で説明した様々な技法を、ハードウェアもしくはソフトウェアと関連して、または、必要に応じて、その両方の組合せと関連して実装してもよい。本明細書で使用する際、「コンポーネント」、「システム」等の用語は同様に、コンピュータ関連エンティティ、即ち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すことを意図している。例えば、コンポーネントが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであってもよいが、これらに限らない。実例として、コンピュータで実行中のアプリケーションやコンピュータの両方がコンポーネントであることができる。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内部に存在してもよく、コンポーネントを或るコンピュータに局在させ、かつ／または、複数のコンピュータ間で分散させてもよい。
【０２１８】
上述のシステムを幾つかのコンポーネント間の対話に関して説明した。かかるシステムおよびコンポーネントが、これらのコンポーネントもしくは特定のサブコンポーネント、特定のコンポーネントもしくはサブコンポーネントのいくつか、および／または追加のコンポーネントを、それらの様々な並びおよび組合せに従って含みうることは理解できる。サブコンポーネントを、親コンポーネント内に含めず（階層的）に、他のコンポーネントに通信可能に接続したコンポーネントとして実装することもできる。さらに、１つまたは複数のコンポーネントを集約機能を提供する単一のコンポーネントに結合するか、または、幾つかの別々のサブコンポーネントに分割してもよく、管理層のような任意の１つまたは複数の中間層を提供してかかるサブコンポーネントと通信可能に接続して統合的機能を提供してもよいことに留意されたい。本明細書で説明した任意のコンポーネントが、本明細書では具体的に説明していないが当業者にとっては一般に公知である１つまたは複数の他のコンポーネントと対話してもよい。
【０２１９】
上述の例示的なシステムの観点から、様々な図の流れ図を参照すると、開示した発明に従って実装できる方法がより良く理解されよう。説明の簡単さのため、方法を一連のブロックとして図示および説明したが、特許請求の主題はブロック図の順序によっては限定されないことは理解されよう。なぜならば、幾つかのブロックを、本明細書で図示および説明したものとは異なる順序で、かつ／または、他のブロックと並行して実施してもよいからである。不連続の、または、分岐した流れを流れ図で示した場合は、同一のまたは同様な結果を実現する様々な他の分岐、経路、およびブロック順序を実装してもよいことは理解できる。さらに、示したブロックの全てが本明細書で説明した方法を実装する必要はない。
【０２２０】
幾つかの実施形態では、クライアント側の視点を説明したが、疑義を避けるため、対応するサーバの視点も存在し、逆も成り立つことは理解されよう。同様に、方法を実施する場合は、記憶装置と、１つまたは複数のコンポーネントを介してその方法を実施するように構成した少なくとも１つのプロセッサとを有する対応する装置を提供することができる。
【０２２１】
様々な実施形態を、様々な図の好適な実施形態と関連して説明したが、他の同様の実施形態を使用してもよく、または、説明した実施形態から逸脱しない、同一の機能を実施するための修正および追加を当該説明した実施形態に加えてもよいことは理解されよう。さらに、上述の実施形態の１つまたは複数の態様を、複数の処理チップもしくは装置内でまたはそれらにわたって実装してもよく、同様に、複数の装置にわたった記憶域を対象としてもよい。したがって、本発明はどの実施形態にも限定されず、添付の特許請求の範囲に従って広範囲に解釈されるべきである。
【図１】
2013511103.tif 000004
【図２】
2013511103.tif 000005
【図３】
2013511103.tif 000006
【図４】
2013511103.tif 000007
【図５】
2013511103.tif 000008
【図６】
2013511103.tif 000009
【図７】
2013511103.tif 000010
【図８】
2013511103.tif 000011
【図９】
2013511103.tif 000012
【図１０】
2013511103.tif 000013
【図１１】
2013511103.tif 000014
【図１２】
2013511103.tif 000015
【図１３】
2013511103.tif 000016
【図１４】
2013511103.tif 000017
【図１５】
2013511103.tif 000018
【図１６】
2013511103.tif 000019
【図１７】
2013511103.tif 000020
【図１８】
2013511103.tif 000021
【図１９】
2013511103.tif 000022
【図２０】
2013511103.tif 000023
【図２１】
2013511103.tif 000024
【図２２】
2013511103.tif 000025
【図２３】
2013511103.tif 000026
【図２４】
2013511103.tif 000027
【図２５】
2013511103.tif 000028
【図２６】
2013511103.tif 000029
【図２７】
2013511103.tif 000030
【図２８】
2013511103.tif 000031
【図２９】
2013511103.tif 000032
【図３０】
2013511103.tif 000033
【図３１】
2013511103.tif 000034
【図３２】
2013511103.tif 000035
【図３３】
2013511103.tif 000036
【図３４】
2013511103.tif 000037
【図３５】
2013511103.tif 000038
【図３６】
2013511103.tif 000039
【図３７】
2013511103.tif 000040
【図３８】
2013511103.tif 000041
【図３９】
2013511103.tif 000042
【図４０】
2013511103.tif 000043
【図４１】
2013511103.tif 000044
【図４２】
2013511103.tif 000045
【図４３】
2013511103.tif 000046
【図４４】
2013511103.tif 000047
【図４５】
2013511103.tif 000048
【図４６】
2013511103.tif 000049
【図４７】
2013511103.tif 000050
【図４８】
2013511103.tif 000051
【図４９】
2013511103.tif 000052
【図５０】
2013511103.tif 000053
【図５１】
2013511103.tif 000054
【図５２】
2013511103.tif 000055
【図５３】
2013511103.tif 000056
【図５４】
2013511103.tif 000057
【国際調査報告】
2013511103.tif 000058
2013511103.tif 000059