(57)【要約】リモートサイトまたはクラウドサービス内に記憶されている合成フルバックアップデーターなどのバックアップデーター用の検索可能な暗号化技術を含むバックアップデーターサービスに関してデジタルエスクローパターンを設け、複数のエンティティ間で信頼を分散させて単一のデーター侵害点を回避する。一実施形態では、場合によっては機密のデーターを外部またはリモートに記憶する場合の完全性およびプライバシー要件に対処する暗号による安全な方法で、暗号化されたデーターをデーターサービスとして用いることによって運用的合成フルが維持される。サポートされる記憶技術には、一次デバイスデーターの第２のコピーに対するバックアップ、データー保護、障害回復、および分析が含まれる。バックアップデーターのセキュリティおよびプライバシーに対する高レベルの信頼を確立するのが容易になるように適用することのできる費用効果の高い暗号技術のいくつかの例には、サイズを維持する暗号化、検索可能な暗号化、または適用の証明、ブラインドフィンガープリント、取得可能性の証明などが含まれるがこれらに限定されない。
2012530391.tif 000002
【特許請求の範囲】
【請求項１】
バックアップデーターを受け入れる方法であって、
第１の制御領域内の少なくとも１つのコンピューティングデバイスにより、第２の制御領域内の少なくとも１つのコンピューティングデバイスから受信するステップであって、暗号化されたデーターは、暗号キー情報に基づく少なくとも１つの検索可能な暗号化アルゴリズムに従って、前記第２の制御領域内の少なくとも１つのコンピューティングデバイスの定義済みのデーターセットについてのフルバックアップデーターを暗号化することから形成される、ステップ４００と、
前記第１の制御領域内の前記少なくとも１つのコンピューティングデバイスにより、前記第２の制御領域内の前記少なくとも１つのコンピューティングデバイスから受信するステップであって、暗号化されたメタデーターは、前記フルバックアップデーターの分析、および、前記暗号キー情報に基づく前記分析の出力の暗号化から形成される、ステップ４１０と、
トラップドアデーターの少なくとも１つの暗号トラップドアによって定義されたとおりの前記暗号化されたデーターへの表示可能なアクセスを実行可能にする前記トラップドアデーターを受信するステップ４２０と、
前記暗号化されたデーター、暗号化されたメタデーター、およびトラップドアデーターに基づく前記定義済みのデーターセットの合成フルデーターを維持するステップ４３０と
を含むことを特徴とする方法。
【請求項２】
暗号キー情報に基づく少なくとも１つの検索可能な暗号化アルゴリズムに従って、定義済みデーターについての増分バックアップデーターの暗号化から形成された暗号化された増分データーを受信するステップ４００をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記受信ステップ４００は、前記第２の制御領域内の前記少なくとも１つのコンピューティングデバイスによって生成された少なくとも１つのログから形成された暗号化された増分データーを受信するステップであって、前記少なくとも１つのログは、最新のフルバックアップ動作または増分バックアップ動作の後で生成される、ステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記増分バックアップデーターの分析、および、前記暗号キー情報に基づく前記分析の出力の暗号化から形成された暗号化された増分メタデーターを受信するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記増分トラップドアデーターの少なくとも１つの暗号トラップドアによって定義されたとおりの前記暗号化された増分データーへの表示可能なアクセスを実行可能にする前記増分トラップドアデーターを受信するステップ４００をさらに含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記トラップドアデーターにより、前記暗号化された増分データーおよび暗号化された増分メタデーターにアクセスするステップ１２４０をさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記定義済みのデーターセットから少なくとも１つのデーター項目を復元する要求を受信するステップ６００と、
前記暗号化されたデーターから前記少なくとも１つのデーター項目を抽出するための少なくとも１つのトラップドアを受信するステップ６１０とをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
バックアップデーターを公開する方法であって、
第１の制御領域内の少なくとも１つのコンピューティングデバイスにより、前記少なくとも１つのコンピューティングデバイスのメモリーに記憶されている一次データーのフルバックアップを開始してフルバックアップデーターを生成するステップであって、前記フルバックアップデーターは、第２の制御領域内の少なくとも１つのリモートコンピューティングデバイスにより前記一次データーのための合成フルバックアップデーターを維持する際に使用する、ステップ５００と、
前記一次データーの走査に基づいて構造メタデーターを生成するステップ５１０と、
前記一次データーおよび前記構造メタデーターを暗号化して、前記暗号キー情報を生成するキー生成器から受信された暗号キー情報に基づいて少なくとも１つの検索可能な暗号化アルゴリズムに従って、暗号化されたデーターおよび暗号化されたメタデーターを形成するステップ５２０と、
前記少なくとも１つの暗号トラップドアによって定義されたとおりの前記暗号化されたデーターの走査を可能にする前記暗号キー情報に基づいて、少なくとも１つの暗号トラップドアを生成するステップ５３０と
を含むことを特徴とする方法。
【請求項９】
前記暗号化ステップ５２０は、サイズを維持する態様で前記一次データーを暗号化するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
少なくとも１つの暗号トラップドアを生成する前記ステップ５３０は、前記少なくとも１つのリモートコンピューティングデバイスが前記少なくとも１つの暗号トラップドアを使用して前記暗号化されたメタデーターを走査することを可能にするステップを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
少なくとも１つの暗号トラップドアを生成する前記ステップ５３０は、前記少なくとも１つのリモートコンピューティングデバイスが前記少なくとも１つの暗号トラップドアを使用して前記暗号化されたデーターを走査することを可能にするステップを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記少なくとも１つのリモートコンピューティングデバイスを含むネットワークサービスプロバイダーに、前記暗号化されたデーターおよび前記暗号化されたメタデーターを送信するステップ７１０をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１３】
前記少なくとも１つのリモートコンピューティングデバイスを含むネットワークサービスプロバイダーに、前記少なくとも１つの暗号トラップドアを送信するステップ７１０をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１４】
少なくとも１つのアルゴリズムを使用して、前記少なくとも１つのコンピューティングデバイスと前記少なくとも１つのリモートデバイスの両方に記憶されている重複データーを減らす前記少なくとも１つのリモートコンピューティングデバイスを含むネットワークサービスプロバイダーに前記暗号化されたデーターを送信するステップ７１０をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１５】
バックアップデーターをサブスクライブする方法であって、
バックアップデーターサービスにより、合成フルバックアップサービスのための検索可能に暗号化されたフォーマットにおけるデーターに対応する合成フルデーターから、少なくとも１つのサブスクライブ側コンピューティングデバイスのデーターセットの少なくとも１つのデーター項目の復元を要求するステップ９００と、
検索可能に暗号化されたフォーマットで、前記少なくとも１つのデーター項目を受信するステップ９１０と、
前記少なくとも１つのサブスクライブ側デバイスへアクセス可能な前記データーセットを暗号化するために使用される暗号キー情報に基づいて、前記前記少なくとも１つのサブスクライブ側デバイスのメモリーに前記データーセットの前記少なくとも１つの項目を復元するステップ９２０と
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
主題の開示は、１つまたは複数のデバイスのための信頼されるクラウドコンピューティングサービスおよびデーターサービスを提供することに関し、より具体的には、合成フルバックアップデーターなどのバックアップデーターのための、暗号化による安全（セキュア）なプライベートストレージサービス、処理サービス、または分析サービスを実施可能にすることに関する。
【背景技術】
【０００２】
いくつかの従来のシステムに関する背景として、コンピュータデバイスは伝統的に、デバイスに対してローカルにアプリケーションおよびデーターサービスを実行していた。このような場合、データーのアクセス、処理、記憶、キャッシングなどが実行されるとき、データーは、ローカルバス、インタフェース、およびその他のデーターパスを介してデバイス上を移動することができるが、そのデバイスのユーザーは、デバイス自体が失われるかまたは盗まれるまで、ユーザーデーターが干渉を受けるかまたは漏えいすることに気にかけることはない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、オンラインサービスおよびクラウドサービスが発展していることで、アプリケーションおよびサービスは、デバイスに代わり、所与のサービスの一部またはすべてを実行するネットワークプロバイダーの元にますます移動されるようになっている。このような場合、１つもしくは複数のデバイスのユーザーは、ユーザーのデーターが、あるサービスにアップロードされているか、そのサービスによって記憶もしくは処理されているか、あるいはそのサービスから取得されている間、誰がユーザーのデーターにアクセスできるか、または、場合によってはユーザーのデーターに干渉できるのかを気に掛けるようになることがある。簡単に言えば、ユーザーのデバイスのデーターが物理的所有のドメインを離れ、ユーザーから離れたネットワーク環境に入ると、当然、サードパーティによるデーターの不注意な取り扱いまたは悪意ある取り扱いが気に掛かるようになる。したがって、クラウドサービスおよびクラウドサービスに関連するデーターの取り扱いに対する信頼、セキュリティならびにプライバシー、または、場合によってはデーターがある制御領域を離れ別の制御領域に入るエンタープライズ内の信頼、セキュリティおよびプライバシーを向上させることが望ましい。
【０００４】
例えば、現在、ユーザーは、ローカルパーソナルコンピュータ（ＰＣ）またはその他のデバイスのような一次デバイスに外付けドライブを取り付け、一次デバイスの合成フルバックアップを作成することができる。合成フルバックアップデーターは、その名のとおり、最も新しいフルバックアップデーター、例えば標準フルバックアップデーターまたは合成フルバックアップデーターに基づいて作成される合成バックアップ、および関連するその後の増分バックアップまたは差分バックアップである。
【０００５】
従来、外付けドライブ上のデーターの再構成可能なコピーをこのように物理的に所有することによって、一次デバイス上に記憶されている重要なデーターが失われることが防止されている。例えば、デバイスのユーザーは、フラッシュメモリードライブまたは他の外付けハードライブのような外付けドライブまたは外付けディスクをＵＳＢケーブルなどを介して取り付けることによって、一次デバイスが失われた場合にデーターを再構成できるという安心感を有することができる。このように、一次デバイスが、そのデーターへのアクセスを妨げるか、またはデーターの回復不能な歪みもしくは破壊を生じさせるある種の致命的な状態に陥った場合、データーは、ユーザーが所有している外付けドライブまたは外付けディスクから回復することができる。しかし、もちろん、一次デバイスと外付けドライブがどちらも同じ大災害（例えば、地震）で損傷した場合、問題は振り出しに戻る。
【０００６】
テラバイト規模のデーター（将来はペタバイト規模、エクサバイト規模などのデーターになる可能性がある）を記憶することのできるネットワークストレージファームが発展しているため、クラウドにおけるローカルシナリオが模倣され、一次デバイスと外付け記憶装置が分離される機会が生じている。バックアップデーターのクラウドストレージによって、多くのデバイスは、各デバイス用の別個の記憶装置の必要なしにデバイスのバックアップデーターを記憶することができる。この場合、ケーブルを介して二次記憶デバイスを一次デバイスに取り付けることによってバックアップデーターを記憶する代わりに、クラウドストレージでは、バックアップデーターが、デバイスに代わってバックアップデーターの記憶を管理するクラウドサービスプロバイダーに送信され、クラウドサービスプロバイダーによって記憶される。
【０００７】
しかし、上述のように、バックアップデーターがクラウドに記憶されている間バックアップデーターのセキュリティ、プライバシー、および完全性の問題ならびにそれらに対する要求を効果的に軽減することができているクラウドサービスプロバイダーまたはネットワークストレージプロバイダーはないという問題が残る。簡単に言えば、ユーザーは、記憶媒体に対する物理的な制御をサードパーティに委ねるときにユーザーのデーターのセキュリティおよびプライバシーが確保されるという信頼性の向上を要求しており、この問題のために、エンタープライズおよびコンシューマーがサードパーティのネットワークサービスおよびソリューションを介した重要なデーターのバックアップを採用することが妨げられている。
【０００８】
現在のデバイスおよびデーターバックアップサービスについての上述の欠点は、従来のシステムの問題のうちのいくつかを概略的に示したものに過ぎず、網羅的なものではない。現状についての他の問題および様々な非制限的な実施形態のうちのいくつかの対応する利点は、以下の詳細な説明を検討したときにさらに明らかになろう。
【課題を解決するための手段】
【０００９】
以下のより詳細な説明および添付の図面における例示的で非制限的な実施形態の様々な態様を基本的にまたは概略的に理解できるように、ここに本発明の概要を述べる。しかし、この要約は、広範囲の要約でも網羅的な要約でもない。むしろ、この概要の唯一の目的は、例示的で非制限的な実施形態に関するいくつかの概念を以下の様々な実施形態のより詳細な説明の前置きとして簡略的な形態で提示することである。
【００１０】
記憶、処理、アクセス、または取得が可能なクラウド内のバックアップデーターの検索可能な暗号化技術を含むネットワークデーターサービスが、複数のエンティティ全体にわたって信頼を分散させて単一のデーター侵害点を回避するように実施される。一実施形態では、キー生成コンポーネント、暗号技術プロバイダー、およびクラウドサービスプロバイダーがそれぞれ別個のエンティティとして設けられ、バックアップデーターのパブリッシャがデーターをひそかに（暗号化して）クラウドサービスプロバイダーに公開することが可能になり、アクセスの要求において符号化されたサブスクライバーＩＤ情報に基づく許可されたサブスクライバーによる暗号化されたバックアップデーターへの選択的なアクセスが可能になる。
【００１１】
一実施形態では、場合によっては機密のデーターを外部またはリモートに記憶する場合の完全性およびプライバシー要件に対処する暗号による安全な方法で、暗号化されたデーターをデーターサービスとして用いることによって運用的合成フルが維持される。一実施形態では、サポートされる記憶技術には、一次デバイスデーターの第２のコピーに対するバックアップ、データー保護、障害回復、および分析が含まれる。データーのセキュリティおよびプライバシーに対する高レベルの信頼を確立するのが容易になるように適用することのできる費用効果の高い暗号技術のいくつかの例には、サイズを維持する暗号化、検索可能な暗号化、または適用の証明、ブラインドフィンガープリント、検索可能性の証明などが含まれるがこれらに限定されない。
【００１２】
他の実施形態および様々な非制限的な例、シナリオ、および実装について以下により詳しく説明する。
【図面の簡単な説明】
【００１３】
様々な非制限的な実施形態について添付の図面を参照してさらに説明する。
【００１４】
【図１】バックアップサービスの１つまたは複数の実施形態を実施する一般的な環境のブロック図である。
【図２】適用の証明を含むバックアップサービスの１つまたは複数の実施形態を実施する一般的な環境のブロック図である。
【図３】ブラインドフィンガープリンティングを含むバックアップサービスの１つまたは複数の実施形態を実施する一般的な環境のブロック図である。
【図４】暗号化されたデーターおよびメタデーターおよびトラップドアデーターに基づく定義されたデーターセット用の合成フルデーターを維持する例示的で非制限的なプロセスを示す流れ図である。
【図５】一実施形態による合成フルデーターを維持する例示的で非制限的なプロセスを示す流れ図である。
【図６】合成フルデーターを維持する実施形態においてデーター項目を復元する例示的で非制限的なプロセスを示す流れ図である。
【図７】適用の証明を含むバックアップサービスを実施する例示的で非制限的なプロセスを示す流れ図である。
【図８】ブランドフィンガープリントを含むバックアップサービスの例示的で非制限的なプロセスを示す流れ図である。
【図９】ローカルデーターに応じて適用を再開するダイヤルトーンを含むバックアップサービスの例示的で非制限的なプロセスを示す流れ図である。
【図１０】一実施形態による信頼されるクラウドサービスフレームワークまたはクラウドサービスエコシステムの例示的で非制限的なブロック図である。
【図１１】信頼されるクラウドサービスエコシステムに従ってデーターを公開する例示的で非制限的なプロセスを示す流れ図である。
【図１２】信頼されるクラウドサービスエコシステムに従ってデーターをサブスクライブする例示的で非制限的なプロセスを示す流れ図である。
【図１３】信頼されるエコシステムにおいてキー生成センター、暗号技術プロバイダー、およびクラウドサービスプロバイダーがどのように分離されているかを示す例示的なエコシステムを示す図である。
【図１４】エンタープライズ向けのクラウドサービスを実施する信頼されるエコシステムの他の利点を示す他の構成図である。
【図１５】様々なストレージプロバイダーが信頼されるクラウドサービスエコシステムに従ってストレージ抽象化層を介してどのように受け入れられるかを示す他のブロック図である。
【図１６】様々なストレージプロバイダーのストレージ詳細を抽象化するストレージ抽象化サービスに関連するストレージの他の態様を示す図である。
【図１７】信頼されるクラウドサービスエコシステムの様々な異なる参加者を示す他のブロック図である。
【図１８】様々な異なるエンティティまたは同じエンティティによってそれぞれの異なる部分を実現することができる信頼されるクラウドコンピューティングシステムの例示的で非制限的な実装のいくつかの層の図である。
【図１９】パブリッシャが遅延バインディングによってデーターに対して制御された選択的なアクセスを実行できるようにデジタルセーフアプリケーションにドキュメントを公開する例示的で非制限的なプロセスおよび／またはシステムを示す流れ図である。
【図２０】パブリッシャが遅延バインディングによってデーターに対して制御された選択的なアクセスを実行できるようにデジタルセーフアプリケーションにドキュメントを公開する例示的で非制限的なプロセスおよび／またはシステムを示す流れ図である。
【図２１】デジタルセーフシナリオに従ってデーターをサブスクライブする例示的で非制限的なプロセスおよび／またはシステムの流れ図である。
【図２２】デジタルセーフシナリオに従ってデーターをサブスクライブする例示的で非制限的なプロセスおよび／またはシステムのブロック図である。
【図２３】デジタルエスクローパターンを使用して１つまたは複数のデーターセンターを介してエンタープライズ向けの安全なエクストラネットを実現する信頼されるクラウドサービスエコシステムの例示的で非制限的な実装を示す図である。
【図２４】サブスクライバーがクラウドサービスプロバイダーによって記憶されている暗号化されたデーターに選択的にアクセスすることができる信頼されるクラウドサービスエコシステムに基づく他の例示的で非制限的なシナリオを示す流れ図である。
【図２５】アプリケーション応答をユーザー資格情報に基づいてサブスクライバーに対して調整できることを示す他の流れ図である。
【図２６】単一の当事者または複数の当事者に対して実現することのできる安全なレコードアップロードシナリオを示す他の流れ図である。
【図２７】例えば、単一の当事者による自動化された検索に関して、信頼されるクラウドサービスエコシステムによって有効化される検索可能に暗号化されたデーターストアに対するロール方式の問い合わせの例示的で非制限的な実装を示す他の流れ図である。
【図２８】１つまたは複数のシナリオに従ったエンタープライズ、キー生成センター、およびクラウドサービスプロバイダー間の信頼されるクラウドサービスエコシステムの実装のブロック図である。
【図２９】エンタープライズが、その暗号化されたデーターの一部に対して外部エンタープライズがアクセスするのを可能にするマルチパーティ協調シナリオを示す流れ図である。
【図３０】複数のエンタープライズ間のマルチパーティ自動化検索シナリオを示す流れ図である。
【図３１】１つまたは複数のシナリオに従った複数のエンタープライズ、キー生成センター、およびクラウドサービスプロバイダー間の信頼されるクラウドサービスエコシステムの実装のブロック図である。
【図３２】信頼されるクラウドサービス向けに実現することのできる例示的で非制限的なエッジコンピュータネットワーク（ＥＣＮ）技術を示す図である。
【図３３】信頼されるクラウドサービスエコシステムに従ったキー生成センターの１つまたは複数の任意の態様を示すブロック図である。
【図３４】一実施形態における信頼されるデーターサービスの実施に検証、例えば、データー保持の証明が組み込まれることを示す図である。
【図３５】一実施形態における信頼されるデーターサービスの実施に検証、例えば、データー保持の証明が組み込まれることを示す図である。
【図３６】信頼されるサービスエコシステムに従ったあるデーターサービスのデーターの例示的な検証を示すブロック図である。
【図３７】一実施形態における信頼されるデーターサービスの実施に確認、例えば、検索可能性の証明が組み込まれることを示す図である。
【図３８】一実施形態における信頼されるデーターサービスの実施に確認、例えば、検索可能性の証明が組み込まれることを示す図である。
【図３９】信頼されるサービスエコシステムに従ったあるデーターサービスのデーターの例示的な検証を示すブロック図である。
【図４０】パブリッシャおよびサブスクライバーが、サービス自体の実施とは無関係にサービスの使用に適用できる１組の様々な条件に基づいて使用することができる複数の様々なオーバレイまたはデジタルエスクローバーチカルがどのように実現されるかを示すブロック図である。
【図４１】本明細書で説明する様々な実施形態を実現できる例示的で非制限的なネットワーク化環境を表すブロック図である。
【図４２】本明細書で説明する様々な実施形態の１つまたは複数の態様を実現できる例示的で非制限的なコンピューティングシステムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１５】
概要
背景で論じたように、バックアップデーターがネットワークサービスに対して送信された場合、プライバシー、改ざんの可能性などが気に掛かることがあり、例えば、データーがユーザーのデバイスからネットワークアプリケーション、ネットワークサービス、またはネットワークデーターストアに対して送信されるとき、ユーザーには、悪意あるサードパーティが害を与える可能性がないことが十分に保証される必要がある。定義上、ユーザーはデーターに対する制御を失っている。したがって、バックアップデーターのパブリッシャおよび／または所有者が、データーが、ネットワーク内にある間、パブリッシャおよび／もしくは所有者または要求者のＩＤに基づく確認に応じて特権が与えられた人によってアクセスされるときを除いて、プライバシーを確保されかつ害を受けないことを信じて、そのバックアップデーターに対する物理的な制御をサードパーティに委ねることを望むように信頼を向上させることが望ましい。
【００１６】
以下に様々な非制限的な例で説明するように、暗号化されたデーターによって運用的合成フルを維持する技術が、ネットワークデーターバックアップサービスを実施することの一部として実現される。大部分のエンタープライズ実稼働サーバーおよびサービスは、従来の合成フルを実施する能力を有し、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅのような多くのサーバーは、顧客のサイトでクラスタ連続レプリケーション（ＣＣＲ）およびスタンバイ連続レプリケーション（ＳＣＲ）の形でこの機能を実施する。しかし、ＣＣＲおよびＳＣＲを用いた場合、背景で述べたように、データーに対する制御は、クラウドサービスプロバイダーまたは他のデーターサービスプロバイダーがストレージを実施する場合とは異なりサードパーティには委ねられない。
【００１７】
本明細書で説明するようにデーターバックアップサービスを実施する場合、非用効果が高くかつセキュリティおよびプライバシーが確保されたソリューションを可能にするストレージ技術および暗号技術を組み合わせるかまたは置き換えた様々な技術が使用される。例えば、以下により詳しく説明する様々な任意の実施形態では、「合成フル」と呼ばれるデーター保護技術が、サイズを維持する暗号化、検索可能な暗号化、および適用の証明と呼ばれる暗号技術を含む暗号技術と一緒に実施される。このような実施形態は、現在のところ顧客のプライバシー要件またはセキュリティ要件を満たしていない外部委託されるクラウドデーター保護、障害回復、または分析についての新しいビジネスシナリオを可能にする。
【００１８】
なお、ネットワークサービスの実施に伴う信頼に対する障害を解消するために、上記で特定した目的と以下の様々な実施形態で説明する他の利点を実現する信頼されるクラウドコンピューティングエコシステムまたはフレームワークおよびデーターサービスエコシステムまたはフレームワークが提供される。語「クラウド」サービスは、サービスが、ユーザーのデバイスに対してローカルには実行されず、１つまたは複数のネットワークを介してアクセスできる１つまたは複数のリモートデバイスから供給されるという概念を一般に指す。ユーザーのデバイスは、１つまたは複数のデバイスで何が起こっているかについての詳細を理解する必要がないため、サービスは、ユーザーのデバイスからは「クラウド」から供給されるように見える。
【００１９】
一実施形態では、システムは、データーを公開するかまたはデーターをサブスクライブするキー情報を生成するキー生成コンポーネントを備える。暗号技術プロバイダーは、キー生成コンポーネントとは独立に実現され、キー生成コンポーネントによって生成されたキー情報に基づいて検索可能な暗号化／解読アルゴリズムを実施する。また、ネットワークサービスプロバイダーは、キー生成コンポーネント暗号技術プロバイダーとは独立に実施され、暗号技術プロバイダーによって暗号化されたデーターに関するネットワークサービスを実施する。
【００２０】
一実施形態では、選択的にアクセス可能であり、例えば検索可能な暗号化されたデーターを露出させるデーターストアが実施され、少なくとも１人のパブリッシャがデーターストアへの１つまたは複数のリソースを表すデーターを公開する。第１の独立のエンティティが、信頼が悪用される可能性に対処し、暗号キー情報を生成する。第２の独立のエンティティが、公開されたデーターを第１の独立のエンティティによって生成された暗号キー情報に基づいて記憶する前に公開されたデーターを暗号化する。次に、１つまたは複数のリソースの１人または複数のパブリッシャまたは１人または複数の所有者によって与えられた遅延バインディングによる選択された特権に基づいて、１組のネットワークサービスまたはクラウドサービスが、ネットワークサービスに対する所与の要求についての暗号化されたデーターに選択的にアクセスする。
【００２１】
他の実施形態では、データーストアが選択的にアクセス可能な暗号化されたデーターを記憶し、１人または複数のサブスクライバーが暗号化されたデーターの指定された部分をサブスクライブする。第１の独立のエンティティが、１人または複数のサブスクライバーに関連するＩＤ情報に基づいて暗号キー情報を生成し、第２の独立のエンティティが、第１の独立のエンティティによって生成された暗号キー情報に基づいて上記の指定された部分を解読する。１つまたは複数のネットワークサービスが、１人または複数のサブスクライバーによる要求に応答し、指定された部分のパブリッシャまたは所有者によって与えられた遅延バインディングによる選択された特権に基づいて暗号化されたデーターに選択的にアクセスできるようにする。
【００２２】
なお、語パブリッシャおよびサブスクライバーは、それぞれ信頼されるクラウドサービスのデーターを公開するかまたはクラウドサービスのデーターをサブスクライブする人を一般に指す。しかし、実際には、信頼されるクラウドサービスエコシステムおよびデジタルエスクローパターンの産業、分野、および用途に応じて、パブリッシャおよびサブスクライバーはより特定的なロールを請け負う。例えば、システム全体のバックアップデーターのコンテキストでは、通常、一群の少数のサブスクライバーのみがバックアップデーターにアクセスする特権を有する。例えば、バックアップデーターに関しては、暗号化されたデーターストアの監査担当者は、バックアップデーターの監査担当者のロールに基づくある機能を有し、コンテンツ自体へのアクセスを許可されることなくバックアップの頻度のようなある要件を確実に満たす。
【００２３】
これらおよび他の様々な例示的で非制限的な実施形態およびシナリオについて以下に詳しく説明する。
【００２４】
安全なプライベートバックアップストレージおよび処理
前述のように、様々なデーター保護技術が、データーのバックアップに関連して、サードパーティがセキュリティおよび信頼を維持しつつサービスを実施するのを可能にするツールと一緒に適用される。以下の説明ではまず、合成フル技術について簡単に説明する。ＭｉｃｒｏｓｏｆｔのＥｘｃｈａｎｇｅサーバーのような多くのエンタープライズサーバーは、完全な増分バックアップおよび差分バックアップを抽出する能力を有する。差分バックアップ（略して差分と呼ばれることもある）は前回のフルバックアップ以来の変更を含み、増分バックアップ（略して増分と呼ばれることもある）は、最新のフルバックアップまたは増分バックアップ以来の変更を含む。
【００２５】
例えば、Ｅｘｃｈａｎｇｅサーバーの場合、フルバックアップは、Ｅｘｃｈａｎｇｅデーターベース（ＥＤＢ）のコピーであり、増分および差分はジャーナルログである。他の例の場合、テープ式のバックアップシステムでは、これらのフルバックアップデーターおよび差分バックアップまたは増分バックアップは、テープ上に記憶され、必要に応じて回復され、そのとき、最新のフルバックアップがテープから回復される。その後、差分がある場合、それがテープから回復され、最近回復されたフルバックアップに適用される。増分がある場合、これらはテープから回復され、順次フルに適用され、データーが更新される。
【００２６】
いくつかのより新しいディスク方式のバックアップシステムでは、周期的なフルバックアップ（略してフルと呼ぶこともある）およびその後の増分が一次サーバーから、テープの代わりにバックアップを受け入れるディスク方式のサーバーに転送される。増分は、ログの形で到着すると、バックアップ（または「二次」）サーバー上に維持されているフルに適用され、データーが更新される。リモートの最新コピーを維持するこの機構を「合成フル」と呼ぶ。最近の継続的データー保護（ＣＤＰ）システムでは、一次サーバー上の修正をバックアップサーバーにストリーミングし、これらの修正をバックアップサーバー上に適用してバックアップを更新することによって合成フルが維持される。
【００２７】
合成フルの効果の２つの基準は、目標回復時点（ＲＰＯ）および目標回復時間（ＲＴＯ）である。ＲＰＯは、何らかの理由で一次サーバーが失われたときに失われる可能性のあるデーターの量の上限である。ＲＴＯは、何らかの理由で一次サーバーがオフラインになってから、二次サーバーがオンラインになって機能が完全な状態になるまでの時間の上限である。合成フルは、増分ログがすでにバックアップに適用されている（または「再生されている」）ため、従来のテープ方式の機構よりも著しく優れたＲＴＯを実現する。エンタープライズの典型的なシナリオでは、前回のフル以来数千のログが生成されており、二次コピーが更新されるまで適用する（「再生する」）のに数時間（場合によっては数日）かかることがある。したがって、合成フルは、ＲＴＯを著しく向上させる。ログが失われたり破損したりすることがないことが保証されるまでデーターが失われる可能性を正確に抑制できないため、ＲＰＯも向上する。このことは、二次サイトでの後処理を使用し、合成フルを維持することの一部としてログを再生することによって実現することができる。
【００２８】
通常、二次サイトで合成フルが維持され、それによって、二次サイトが、一次コピーが失われた原因である障害から回復した後にコピーを一次サイトに戻すことができる。合成フルを維持し、一次センターに障害が起こったときに二次センターからの回復サービスとしてこのコピーを使用することによって近瞬間サービス回復を実現することもできる。合成フルは、そのデーターベース内のオブジェクトのファイングレイン回復も有効化する。例えば、Ｅｘｃｈａｎｇｅでは、この場合、ＥＤＢからメッセージ、タスク、またはカレンダー項目が抽出される。これは、一次サイトでの偶然の削除または悪意ある削除のために行われるか、または項目を一次センターにストリーミングして「ダイヤルトーン」回復を行い、一次サーバーを動作に戻し、データーが失われる原因となった障害から回復させる必要がある場合に行われる可能性がある。この場合、このサービスは、ユーザーが利用することができ、ユーザーは、そのデーターが二次コピーからストリーミングされている間にメールを送受信することができる。
【００２９】
合成フルは、データー保護機能および障害回復機能だけでなく、ビジネスインテリジェンスから侵入検知まで一連の分析によって使用することができる。二次コピーに対して様々なサービスを実行して、ｅＤｉｓｃｏｖｅｒｙ、Ｃｏｍｐｌｉａｎｃｅ、Ｇｏｖｅｒｎａｎｃｅ、Ｓｅｃｕｒｉｔｙ、およびＢＩを含むがそれらに限定されない様々なアプリケーション向けにデーターを後処理することができる。しかし、データー保護および障害回復のために、通常、二次サーバーが一次サーバーとは独立に障害を乗り切ることができるように二次サーバーをリモート位置に設置する必要がある。また、運用が複雑なサービスを外部の組織に委託することができる。例えば、クラウドサービスプロバイダーは、エンタープライズがエンタープライズデーターの複数のコピーを維持するコストおよび労力を負担する必要なしに、かつサービスを実施するうえで開発リソースを消費する必要なしに、上記のすべてのアプリケーションを可能にするクラウドバックアップサービスを実施することができる。
【００３０】
背景で述べたように、サービス組織によって維持されるリモートサイトにエンタープライズの機密データーを維持すると、そのデーターは、プライバシー違反からデーター喪失までの範囲の危険にさらされる恐れがある。本明細書で様々な実施形態について説明するように、プライバシーを保護することには、データーがデーターセンターを離れる前にデーターを暗号化することを含む。しかし、その場合、二次サイトでのデーターの喪失または破損は防止されない。また、従来のデーター暗号化は、合成フルを維持し、その合成フルの一部として管理動作を実行し、そのコピーにアクセスして、一部を上記で概略的に説明したサービスを実施するためのそのデーターの後処理を不可能にする。
【００３１】
図１は、本明細書で説明するようにバックアップサービスの１つまたは複数の実施形態を実現する一般的な環境のブロック図である。一般に、１つまたは複数のコンピューティングデバイス１００（例えば、バックアップ顧客）が第１の制御領域１１０内にあり、１つまたは複数のコンピューティングデバイス１２０（例えば、クラウドサービスプロバイダー）が第２の制御領域１３０内にあり、１つまたは複数のコンピューティングデバイス１６０が第３の制御領域１９０内にあり、暗号技術プロバイダー１８０が第３の制御領域１９６内に設けられている。１つまたは複数のコンピューティングデバイス１００、１２０、１６０の各々は、それぞれ１つまたは複数のプロセッサーＰ１、Ｐ２、Ｐ３および記憶装置Ｍ１、Ｍ２、Ｍ３を含んでよい。この場合、様々な非制限的な実施形態によって説明するように、クラウド内で暗号化バックアップデーター１４０を有効化する技術が実施され、それによって、クラウドから項目１５０を回復することができ、かつ１つまたは複数のデバイス１００からのローカルデーターセット１０５に基づいてクラウドに維持される暗号化された合成フルバックアップデーター１４５に基づいて１組の分析サービスを実施することができる。
【００３２】
以下により詳しく説明するように、サービスユーザーのプライバシーおよび否認防止を確実に実現することのできるバックアップサービスの実施に様々な暗号技術が組み込まれる。これらの暗号技術にデーター保護技術を組み込むことによって、合成フルをリモートサービスとして維持することができ、合成フルデーターの所有者および法人顧客（顧客）が、データーを受け入れるエンティティ、またはクラウドサービスプロバイダーもしくはオペレータ（「ＣＳＰ」）によって実行することのできる動作の種類を厳密に調整できるようにするように合成フルデーターに対して層化アプリケーションを実施することができる。また、これらの動作の多くは、動作が実行されるデーターの実際の内容を知ることもまたは他の方法で見ることもなしに顧客の代わりにＣＳＰによって実行することができる。最後に、顧客は、ＣＳＰがデーターを不適切に削除もしくは修正しているかどうか、またはデーターをより性能の低い二次記憶装置もしくは三次記憶装置に移動しているかどうかを検出することができる。
【００３３】
前述のように、様々な暗号技術がバックアップサービスに組み込まれ、バックアップデーターの管理を放棄するうえでの信頼感が顧客に与えられ、例えばセキュリティおよびプライバシーが向上する。
【００３４】
例えば、検索可能な暗号化方法は、データーが暗号化される前にデーターから必須メタデーターがコピーされる暗号化方法である。非制限的な例では、Ｅｘｃｈａｎｇｅ  ｅメールの場合、データーは、添付ファイルを含むメッセージであり、必須メタデーターは、選択されたメッセージングアプリケーションプログラミングインタフェース（ＭＡＰＩ）特性およびフルテキストインデックスを含んでよい。例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を使用してデーターが暗号化され、一方、メタデーターは、暗号化されたインデックスを生成するように暗号化される。その結果、次に、暗号化されたデーターおよびインデックスを、ＣＳＰのような、完全には信頼されない他のエンティティに渡すことができる。集約された暗号化されたデーターとインデックスへの以後の選択的なアクセスは、そのデーターの所有者、すなわち顧客が暗号化されたクエリをＣＳＰ（または他の許可されたサブスクライバー）に送信することによって実現することができる。したがって、ＣＳＰは、暗号化されたインデックスに対する暗号化されたクエリを適用し、一致する暗号化されたデーターを返すことができる。しかし、ＣＳＰは、（顧客によって許可されない限り）データー、メタデーター、クエリ、または結果の内容に関して何も知ろうとしない。
【００３５】
保持の証明および検索可能性の証明は、認証者（顧客）が所有しているデーターが、元のままであり、プロセッサー、すなわちＣＳＰからデーターを容易に検索するのに利用できるかどうかを、認証者が効率的に判定することができるプロトコルに、「証明者」（この場合、バックアップストレージを実現するＣＳＰ）と認証者が従うことのできる暗号技術である。これらの技術は、ネットワーク帯域幅およびＣＳＰが実行する動作において効率的であり、したがって、ＣＳＰの売上原価（ＣＯＧＳ）は比較的変更がなく、このプロトコルを完了する時間はかなり短い。
【００３６】
バックアップデーターサービスの実施に組み込むことのできる他の暗号技術は適用の証明である。適用の証明は、保持の証明と同様であり、合成フルが証明者、すなわちＣＳＰによって正しく維持されていることを認証者が確認するのを可能にする。
【００３７】
適用の証明に関しては、増分バックアップが一次サイトから、外部に委託することができ、場合によってはクラウド内に位置するリモート二次サイトまでストリーミングされると、リモートエンティティは、そのサービス品質保証契約（ＳＬＡ）ごとに、二次サイトで維持されているコピーに増分をただちに適用して合成フルを維持すると予想される。しかし、二次サイトにおけるこのリモートエンティティは、場合によっては見落としのために、または場合によっては、売上原価を安く維持する必要があるため、これらのログを適用しないことを選択してもよく、例えば、後で、サーバーの利用度がより低い間にログを適用することを選択してもよい。
【００３８】
ログを適用する際のこの遅延の結果として、ＲＴＯ、すなわち一次サイトに障害が生じた場合、その窓の間に一次サーバー／一次サイトの障害が生じそうである場合に、二次サイトでサービスを復元するのにかかる時間の上限が低下する。また、ＲＰＯ、すなわち、一次サーバー／一次サイトが消滅しそうである場合に任意の瞬間に失われる可能性のある実稼働データーの上限が低下する。この理由は、ログが適用されない場合、適用の証明機構がないと、データーバックアップ所有者または顧客が、是正措置が手遅れになり、実稼働データーが失われるまで、潜在的な問題が生じていることが分からないからである。
【００３９】
Ｅｘｃｈａｎｇｅを非制限的な例として使用すると、増分バックアップはトランザクションログ、すなわち、レコードのシーケンスの形をしており、ペイロードを適切に暗号化することができ、メタデーターを二次サイト／クラウドサイトのオペレータから見えるようにすることができ、それによってログを再生して合成フルを維持することができる。更新中のＥｘｃｈａｎｇｅデーターベース（ＥＤＢ）は４レベルＢ＋ツリーであり、リーフノードが実稼働ノードを含んでいる。認証者は、ログが適用された後データーゲットＥＤＢがどのように見えるかを認識している。物理ページの割り付けは、使用される割り付けルーチンに応じて任意であってよいが、ジャーナルログの着信レコードフォーマットから論理Ｂ＋ツリーへの確定的マッピングが行われる。
【００４０】
認証者は、場合によっては、Ｂ＋ツリーに記憶することのできる暗号化されたレコードペイロード内に埋め込み情報も有する。このような場合、適用の証明では、認証者、すなわちデーターの所有者が、証明者、すなわち合成フルを維持する責任を負うエンティティにチャレンジを送信する。この対話の終了時に、認証者は、ログが適用されたかどうかを知る。
【００４１】
図２は、適用の証明を含むバックアップサービスの１つまたは複数の実施形態を実現する一般的な環境のブロック図である。この場合、認証者２００（例えば、データー所有者またはバックアップ顧客）は、暗号チャレンジ２２０を証明者２１０（例えば、バックアップデーターサービスプロバイダー）に発行し、証明者２１０は、結果２１２を、修正データーが適用されたことが証明されていることと暗号チャレンジの関数として算出する。認証者２００が、チャレンジ応答２０２に基づいて修正（例えば、増分のトランザクションログ）が適用されたことを確認するのを可能にするチャレンジ応答２３０が返される。
【００４２】
ブラインドフィンガープリントは、通常、ネットワークを介した冗長データーの交換を最小限に抑えるのに通常使用されるラビンフィンガープリントのようなネットワーク重複除去技術を拡張する他の種類の暗号技術である。本明細書の様々な実施形態では、プロトコルの参加者、例えばバックアップデーターのストレージの場合のＣＳＰが、受け入れているデーターの実際の内容が分からないようにフィンガープリンティングが適用される。
【００４３】
ブラインドフィンガープリントに関する他のあるコンテキストでは、合成フルのメンテナンスを含む、ワイドエリアネットワーク（ＷＡＮ）を介した大規模なデーター交換では、回線を介した「重複除去」技術、すなわち不要なデーターが回線を介して送信されないようにすることが望ましい。これは、データーの各セグメントのフィンガープリントを作成し、次に、フィンガープリントを交換し、それによって、送信側が、受信側が有さずに送信側が有しているものは何かを知ることによって実現される。また、受信側は、受信側にどんなデーターを要求する必要があるかを知る。ＤＦＳレプリケーション（ＤＦＳ−Ｒ）を使用して、ＷＡＮを介した支社バックアップおよび分散ファイルシステムのようなシナリオにおけるデーター交換を最適化することができる。
【００４４】
Ｅｘｃｈａｎｇｅの場合、データーが顕著に重複され、任意の所与の時間に回線上の最大５０％以上のデーターが重複する可能性がある。フィンガープリントは、ブロックレベルまたはオブジェクトレベル、例えばｅメール、カレンダー項目、タスク、連絡先などで得ることができる。フィンガープリントは、一次データーセンターと二次データーセンターの両方にキャッシングすることができる。したがって、一次データーセンターで障害が生じた場合、二次データーをフィンガープリントと一緒に一次データーセンターに復元することができる。一次データーセンターでデーターが暗号化されるにもかかわらず、二次データーセンターのオペレータからはフィンガープリントが、曖昧であるにもかかわらず見えるようにすべきである。これは、例えば、検索可能な暗号化によってフィンガープリントをキーワード／メタデーターとして記憶することによって実現することができ、それによって、二次データーセンター内の許可されたエンティティ／代理人を除いて、他のいかなるエンティティもパターンを検出できなくなる。
【００４５】
バックアップデーターサービスのコンテキストでは、一次データーセンターは、フルまたは増分を送信する際、一次データーセンターは、ログ内の各項目／セグメント／ブロックまたはＥＤＢを調べ、フィンガープリントのローカルコピーを調べる。一致する場合、一次データーセンターは、項目／セグメント／ブロックをフィンガープリントで置き換える。語「ブラインドフィンガープリント」は、本明細書では、フィンガープリントを適用する方法のためにそのように呼ばれている。一実施形態では、ブラインドフィンガープリントを実現するために選択される暗号技術にサイズを維持する暗号技術が含まれる。
【００４６】
図３は、ブラインドフィンガープリントを含むバックアップサービスの１つまたは複数の実施形態を実現する一般的な環境のブロック図である。ブラインドフィンガープリントでは、バックアップデーターサブスクライバー３００およびバックアップデーターサービスプロバイダー３１０に対して、バックアップ中のデーターセットのそれぞれのローカルコピーおよびバックアップコピー上にすでに含まれているデーターセグメントを代わりに示すものとして理解すべきフィンガープリントの交換が行われる。フィンガープリント交換３２０の結果として、縮小された１組の修正データーが決定され、３０２で重複除去された修正データー３３０としてバックアップデーターサービスプロバイダー３１０に送信され、次いで、バックアップデータープロバイダー３１０が、重複除去された修正データーおよび任意のブラインドフィンガープリントに選択的にアクセスすることに基づいて修正データーを適用する３４０。
【００４７】
したがって、バックアップサービスを実施することに基づく様々なシナリオは、上述のフレームワーク、およびストレージサービスおよびコンピューティングサービスから通信サービスおよび共同サービスまでの対応する暗号技術に基づいて生じる。より大規模な法人顧客は、現在のエンタープライズデーターセンター内にかなりのコンピューティング資産およびストレージ資産を有し、クラウドサービスを採用する意欲がかなり高いことがある。また、顧客は、データーセンター運用の経験があって運用に慣れており、営業経費（ＯＰＥＸ）および資本経費（ＣＡＰＥＸ）の利点を利用することを望んでおり、したがって、顧客の機密の業務データーが構内からクラウドに移動することが気に掛かっている。
【００４８】
この種の顧客に対して、様々な実施形態では、顧客がＥｘｃｈａｎｇｅサーバーのような顧客の既存のサーバーを所有し運用することを伴う１組のアプリケーションが実施される。この場合、データーの第２のコピーが、データー保護、保存、コンプライアンス、管理上の理由、法的な理由、またはその他の理由で、クラウドサービスプロバイダーに委託される。したがって、ＣＳＰは、このデーターが失われたり暴露されたりしないように保存する技能、技術、および規模の経済を有し、この第２のコピーに対してアプリケーションを実行するのを容易にすることができる。顧客に対して合成フルを維持することに基づいて実現することのできる製品およびサービスの例の一部として、訴訟支援、監視および監督、サービスダイヤルトーン、データーナビゲーションなどが含まれる。
【００４９】
訴訟支援に関しては、会社が訴訟を起こされると、訴訟プロセスによって、履歴ｅメールレコードを検索するのに様々なエンティティが必要になる。これらのエンティティには、法務担当職員、ＨＲ、管理者、外部の弁護士、その訴訟支援協力者、および相手側の弁護士が含まれる。誰がどんな検索を行うかに関して特定の範囲規則がある。現在の訴訟支援シナリオでは、範囲を定めるのは困難である。したがって、訴訟支援に関与する任意の個人が範囲外のｅメールを見ることが可能である。ｅメールの場合、検索結果は通常、誤ってまたは悪意をもって許可されていない個人に渡される可能性があるため追加的なリスクとなるＰＳＴ(Personal Storage Table)ファイルの形で交換される。
【００５０】
これに対して、第２のコピーをリモートに、例えばＣＳＰによってクラウド内に受け入れ、合成フルによって維持する際、エンタープライズ内の信頼される単一のエンティティ、例えば最高法務責任者が、関与する各個人に、その問い合わせ能力を必要な分に制限する特定のトラップドアを与えることが可能である。データーは、クラウドに受け入れられ、検索可能な暗号化および耐改ざん性監査ログによって保護されるため、より高いレベルの保護が実現され、したがって、不適切なｅメールアクセスが防止される。関与するすべての個人が問い合わせをする場合にクラウドに直接アクセスし、事案管理のためにＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）に変換すべきターゲットコンテンツをエクスポートするエンティティが訴訟支援協力者だけであるため、ＰＳＴファイルを交換することが不要になる。
【００５１】
リモートバックアップデーターコピーの監視および監督に関しては、十分な規模のエンタープライズは、様々な目的でその組織のｅメールを積極的に監視すべきである。この理由としては、法律／コンプライアンス上の理由から、ＩＰ漏えい、盗用、不適切な言葉遣いなどの監視のような管理上の理由までの範囲が考えられる。通常、監視監督ソフトウェアは、一次サーバーまたはバックアップもしくは記録された二次コピーを監視する。一次サーバーを監視することに関する問題は、使用量の多い実稼働サーバーに過度の負荷がかかる恐れがあることである。また、管理者が誤ってまたは悪意をもって一次サーバー上のデーターを修正または削除する可能性があるため、そのソリューションとして、法律に準拠した方法でデーターを取得して第２のコピーに転送し、監視監督ソフトウェアが、着信ｅメールを連続的に走査し、パターンを見つけるかまたは検索する。しかし、多くのエンタープライズ組織では、エンタープライズ内の管理者がこれらの第２のコピーにアクセスし、その結果、優秀な管理者が改ざん検出機構および防止機構にもかかわらず情報を修正または削除する可能性がある。
【００５２】
これに対して、ＣＳＰによって合成フルを維持すると、有利なことに、第２のコピーが異なる制御領域に配置される。検索可能な公開キー暗号化（ＰＥＫＳ）および保持の証明（ＰＯＰ）のような適切な暗号技術は、エンタープライズの管理者とＣＳＰの従業員とが結託した場合でも、この管理者および従業員が修正したいものを確実にかつ厳密に特定するのを妨げることができる。監視監督ソフトウェアは、リモートサイトまたはクラウド内で実行され、事前に与えられたトラップドアによって、あらかじめ定められた特定のキーワードを有する項目を探す。
【００５３】
サービスダイヤルトーンに関しては、一次センターに何らかの障害が生じてデーターが失われ、回復する必要があるとき、最新のバックアップが取得され、サービスが再開される。ある種のサーバーでは、エンドユーザーが、そのすべてのデーターにアクセスできることよりもサービスを利用可能にすることの方が重要である。したがって、Ｅｘｃｈａｎｇｅなどのサーバーは、ダイヤルトーンと呼ばれる機能を実施し、障害から回復した後できるだけ早くＥｘｃｈａｎｇｅメールサービスが再開される。それによって、ユーザーはｅメールを送受信することができ、一方、バックグランドでは、ユーザーのメールボックスの内容が第２のバックアップコピーからストリーミングされる。
【００５４】
クラウドバックアップシナリオでは、帯域幅が制限され、クラウドからエンタープライズへのデーターの回復が臨界復旧パスにある場合、回復に余分な時間がかかることがある。ダイヤルトーンに類似したソリューションとして「サービスダイヤルトーン」があり、この場合、クライアント側ソフトウェア、例えばＥｘｃｈａｎｇｅまたはＯｕｔｌｏｏｋが、トラップドアをある順序でリモートサイトまたはクラウドにストリーミングし、ＣＳＰが、関連する暗号化されたメッセージをエンタープライズに送信する。このことは、２段階で実施することができ、すなわち、第１段階で、メッセージスタブ（本体を有さないヘッダ）を送信し、第２段階で、ユーザーがメッセージに直接アクセスすることを試みたときに実際の本体および添付ファイルを要求する。上述のバックアップシナリオの場合、ダイヤルトーンは、顧客のプライバシーを損なわないように実施される。
【００５５】
データーナビゲータに関しては、通常のエンタープライズ共同シナリオまたはレコード管理シナリオでは、レポジトリ内でドキュメントの複数の重複が生じる可能性が高い。例えば、協力者のグループが、個々の修正を含むＰｏｗｅｒＰｏｉｎｔスライドをｅメールで交換することができる。その結果、紛らわしい１組のバージョンが得られ、エンドユーザーが、何らかの点でエンジニアの意見を覆し、どのバージョンが最も適切であるかまたは最新であるかを判定する必要がある。
【００５６】
クラウドが暗号化された第２のコピーを受け入れるとき、サービスは、検索可能な暗号化によって暗号化された一群のデーターに作用することができ、この場合、ＣＳＰには、ＣＳＰがメッセージＩＤ、会話スレッド、および匿名ドキュメントＩＤを理解できるようにする特定のトラップドアが与えられる。したがって、ユーザーが特定のドキュメントに対応するトラップドアを送信すると、ＣＳＰサービスは、レポジトリ内を走査して、最もうまく一致したバージョンを返すことができる。この場合のバージョンの範囲は、最新のバージョンからバージョンの階層全体までであってよい。
【００５７】
したがって、様々な実施形態によって説明したように、フルバックアップおよび増分バックアップをサポートするあらゆるサーバー／サービスに対して合成フルを実施することができる。本節では、Ｅｘｃｈａｎｇｅがシナリオ例として使用されているが、任意の種類のバックアップデーターがサポートされることを理解されたい。したがって、本実施形態はＥｘｃｈａｎｇｅデーターに関して論じられているが、本明細書で説明する実施形態はメッセージデーターに限定されない。以下のステップを実行して合成フルが維持される。
【００５８】
１．フルバックアップ抽出：ソフトウェアエージェントが、ＥＳＥ(Extensible Storage Engine)バックアップアプリケーションプログラミングインタフェース（ＡＰＩ）またはＶＳＳ(Volume Shadow Copy Service)バックアップアプリケーションプログラミングインタフェース（ＡＰＩ）を呼び出すことによって、一次Ｅｘｃｈａｎｇｅサーバーでフルバックアップを開始する。これによって、バックアップ中のストレージグループ内にＥＤＢのコピー、ストリーミングデーターベースファイル（ＳＴＭ），およびログが供給される。
【００５９】
２．フルバックアップ作成：ＥＤＢ、ＳＴＭ、およびログがソフトウェアエージェントによって走査され、実稼働データーがサイズを維持するように暗号化される。構造メタデーターは、検索可能な暗号化を使用して暗号化される。合成フルを維持するリモートエンティティは、トラップドアを使用してログまたはＥＤＢ内を走査することができる。
【００６０】
３．フルバックアップ転送：ＥＤＢ、ＳＴＭ、およびログは、ネットワークが最適化されるように二次サイトに転送される。
【００６１】
４．フルバックアップベースラインストレージ：二次サイトは、新たに受信されたこのセットを以後の合成フル動作のベースラインとして記憶する。フルバックアップは通常、回復またはオフラインデフラグメンテーションのようなある種のイベントの後で繰り返される。
【００６２】
５．増分バックアップ：フルバックアップの後で、ソフトウェアエージェントは、ＥＳＥバックアップＡＰＩまたはＶＳＳバックアップＡＰＩを使用してＥｘｃｈａｎｇｅからの増分抽出を実行する。
【００６３】
６．増分バックアップ作成：ログがソフトウェアエージェントによって走査され、実稼働データーが、サイズを維持するように暗号化され、一方、構造メタデーターが検索可能に暗号化される。
【００６４】
７．増分バックアップ転送：ログが、ネットワークが最適化されるように二次サイトに転送される。
【００６５】
８．増分ログアクセス：増分バックアップ転送の後、例えばその直後に、二次サイトにおけるエンティティは、二次サイトがＥＤＢ構造メタデーター、ＳＴＭ構造メタデーター、およびログ構造メタデーターにアクセスし、ログ内を走査し、ログをＥＤＢに適用することができるように、帯域外の周波数で供給されるトラップドアを使用する。
【００６６】
９．ログ適用［「再生」］：増分ログアクセスの後、例えばその直後に、ログがＥＤＢに適用され、ＥＤＢが更新される。
【００６７】
１０．項目復元：合成フルによって維持されている二次コピーから項目または項目のストリームを復元するために、二次データーセンターのソフトウェアエージェントは、項目（例えば、メッセージ、カレンダー項目、タスク、連絡先など）をＥＤＢから抽出して、通常は一次データーセンターに復元するために使用されるトラップドアを受信する。
【００６８】
１１．分析／回復：前述のセットから項目または項目のストリームを受信する受信者は、実稼働データーを暗号化するのに使用された対象キーにアクセスすることができる許可されたエンティティであり、回復から分析までの範囲であるアプリケーションにこの項目を使用することができる。
【００６９】
したがって、様々な実施形態について、上述の技術と矛盾しないように以下に説明する。図４は、暗号化されたデーターおよびメタデーターおよびトラップドアに基づく定義済みのデーターセットの合成フルデーターを維持する例示的で非制限的なサービス側プロセスを示す流れ図である。４００で、第１の制御領域内のコンピューティングデバイスは、暗号キー情報に基づく検索可能な暗号化アルゴリズムに従って第２の制御領域内のコンピューティングデバイスの定義済みのデーターセットのフルバックアップデーターを暗号化することによって形成された暗号化されたデーターを、第２の制御領域内のコンピューティングデバイスから受信する。４１０で、第１の制御領域内のコンピューティングデバイスは、フルバックアップデーターを分析し、かつ暗号キー情報に基づいて分析出力を暗号化することによって形成された暗号化されたメタデーターを受信する。４２０で、暗号化されたデーターへの表示可能または選択的なアクセスを可能にするトラップドアデーターが受信される。４３０で、バックアップサービスは、暗号化されたデーター、暗号化されたメタデーター、およびトラップドアに基づいて定義済みのデーターセットの合成フルデーターを維持する。
【００７０】
図５は、一実施形態による合成フルデーターを維持する例示的で非制限的な顧客側プロセスを示す流れ図である。５００で、第１の制御領域内のコンピューティングデバイスのメモリーに記憶されている一次データーのフルバックアップが開始され、第２の制御領域内のリモートコンピューティングデバイスによって一次データーの合成フルバックアップデーターを維持するうえで使用できるフルバックアップデーターが形成される。５１０で、一次データー内の走査に基づいて、一次データーを表す構造メタデーターが生成される。５２０で、一次データーおよび構造メタデーターが暗号化され、暗号キー情報を生成するキー生成コンポーネントから受信された暗号キー情報に基づいて１つまたは複数の検索可能な暗号化技術に従って暗号化されたデーターおよび暗号化されたメタデーターが形成される。５３０で、暗号キー情報に基づいて暗号トラップドアが生成され、暗号トラップドアによる定義に応じて暗号化されたデーターの走査が可能になる。
【００７１】
図６は、合成フルデーターを維持する実施形態においてデーター項目を復元する例示的で非制限的なプロセスの流れ図である。６００で、１つまたは複数のサブスクライバー側コンピューティングデバイスのデーターセットに対応する合成フルデーターを、合成フルバックアップサービスの検索可能に暗号化されたフォーマットに維持するバックアップデーターサービスから、このデーターセットの１つまたは複数のデーター項目を復元することが要求される。６１０で、１つまたは複数のデーター項目が、検索可能に暗号化されたフォーマットで受信される。データーセットを暗号化するのに使用され、１つまたは複数のサブスクライバー側デバイスからアクセスすることのできる暗号キー情報に基づいて、データーセットの１つまたは複数のデーター項目が１つまたは複数のサブスクライバー側コンピュータデバイスのメモリー内に復元される。
【００７２】
図７は、適用の証明を含むバックアップサービスを実施する例示的で非制限的なプロセスを示す流れ図である。７００で、修正データー（例えば、フルまたは増分として表されるトランザクションログ）が暗号化され、暗号キー情報を生成するキー生成コンポーネントから受信された暗号キー情報に基づく検索可能な暗号化に従って第１の制御領域内のコンピューティングデバイスのデーターセットに対する１組の修正を表す暗号化された修正データーが形成される。７１０で、暗号化された修正データーが、第２の制御領域内のコンピューティングデバイスに送信され、第２の制御領域内のコンピューティングデバイスによって記憶されている合成フルバックアップデーターが更新される。７２０で、第２の制御領域内のコンピューティングデバイスが１組の修正を合成フルバックアップデーターに適用し、バックアップサービスとしての契約ごとに合成フルバックアップデーターを更新したことが証明される。
【００７３】
図８は、上述のようにブラインドフィンガープリントを含むバックアップサービスを実施する例示的で非制限的なプロセスを示す流れ図である。８００で、修正データーが暗号化され、暗号キー情報を生成するキー生成コンポーネントから受信された暗号キー情報に基づく検索可能な暗号化アルゴリズムに従って第１の制御領域内のコンピューティングデバイスのデーターセットに対する１組の修正を表す暗号化された修正データーが形成される。８１０で、データーセット内に表されている１つまたは複数のデーターセグメントが、実際の修正データーに代わるフィンガープリントを形成するように処理され、この場合、対応するデーターセグメントは、データーセットの各データーセグメントを表すフィンガープリントのローカルセット内に表されていると判定される。８２０で、暗号化された修正データーが、第２の制御領域内のコンピューティングデバイスに送信され、第２の制御領域内のコンピューティングデバイスによって記憶されている合成フルバックアップデーターが更新される。
【００７４】
図９は、アプリケーションを迅速に再開する障害回復を含むバックアップサービスを実施する例示的で非制限的なプロセスを示す流れ図である。９００で、サブスクライバー側デバイスデーターセットのデーターに障害（エラー、削除、修正など）が発生した後、このデーターセットに対応する合成フルデーターを、合成フルバックアップサービスの検索可能に暗号化されたフォーマットに維持するバックアップデーターサービスから、このデーターセットの１つまたは複数のデーター項目を復元することが要求される。９１０で、１つまたは複数のデーター項目の一部が、バックアップデーターサービスから暗号化されたフォーマットで受信され、１つまたは複数のデーター項目の一部の使用に基づいてサブスクライバー側デバイスのアプリケーションを再開させる。９２０で、再開に続いて、サブスクライバー側デバイスによってまだ受信されていない１つまたは複数のデーター項目の任意の残りのデーターが受信される。
【００７５】
本明細書で様々な実施形態によって説明したように、互いに独立したデーター保護技術と暗号技術が、互いに強化し修正して他方をサポートし、現在コンシューマー、エンタープライズ、エコシステム、およびソーシャルネットワークが利用できないソリューションを実現するように組み合わされる。
【００７６】
信頼されるクラウドサービスエコシステムの補足コンテキスト
上述のように、互いに独立したデーター保護技術と暗号技術が、ＣＳＰによって維持されているようなリモートサイトデーター、例えば合成フルとして記憶されているバックアップデーターに関するプライバシー、信頼、およびセキュリティを強化するように様々な形態で組み合わされる。一般的なエコシステムについては以下に一般的なデーターまたはネットワークサービスのコンテキストで説明するが、このような一般的なデーターまたはネットワークサービスを上述のシナリオのうちの任意の１つまたは複数に使用してリモートサイトにバックアップデーターを記憶することができる。
【００７７】
クラウドに記憶されているデーター用の検索可能な暗号化技術を含むネットワークデーターサービスに関してデジタルエスクローパターンが設けられ、複数のエンティティにわたって信頼を分散させ、単一のエンティティによって信頼が損なわれるのを回避している。一実施形態では、キー生成コンポーネント、暗号技術プロバイダー、およびクラウドサービスプロバイダーはそれぞれ、別個のエンティティとして設けられ、データーのパブリッシャがデーターをひそかに（暗号化して）クラウドサービスプロバイダーに公開し、次に、サブスクライバー要求に応答して生成されたキー情報中に符号化されたサブスクライバーＩＤ情報に基づいて、暗号化されたデーターを要求するサブスクライバーにそのデーターを選択的に暴露する。
【００７８】
１つまたは複数の検索可能な暗号化／解読アルゴリズムに関しては、１つまたは複数の暗号技術プロバイダーによって実施される検索可能な公開キー暗号化（ＰＥＫＳ）方式は、任意の所与のメッセージＷに対してトラップドアＴＷを生成し、ＴＷは、平文に関する他の情報を明らかにしていない場合、所与の暗号文がＷを暗号化したものであるかどうかを検査するのを可能にする。後述の様々な実施形態によれば、ＰＥＫＳ方式を使用して、データーに含まれるキーワード、例えばメッセージテキストに基づいて、暗号化されたメッセージのような暗号化されたデーターを優先順位付けまたはフィルタリングすることができる。したがって、データー受信側は、対応する１つまたは複数のキーワードに対する機能（暗号作成者から「トラップドア」と呼ばれることもある）を解除することによって１つまたは複数のキーワードに関する暗号化されたデーターの部分に選択的にアクセスすることができる。このように、暗号化されたデーターにこれらのキーワードがあるかどうかを検査することができるが、サブスクライバーの機能によって許容されること以外のことをサブスクライバーから知ることはない。
【００７９】
誤解を避けるために述べておくと、本明細書の１つまたは複数の実施形態において検索可能な暗号化を実施するアルゴリズムとしてＰＥＫＳが開示されているが、検索可能な暗号化を実現する様々な他のアルゴリズムが存在することが理解されよう。ＰＥＫＳに代わる例示的で非制限的ないくつかのアルゴリズムには、例えばＯｂｌｉｖｉｏｕｓ  ＲＡＭが含まれる。このため、本明細書で使用される語「検索可能な暗号化」は、任意の１つの技術に限定されるべきではなく、したがって、暗号化されたデーターに対する検索機能またはクエリ機能に基づく暗号化されたデーターのサブセットの選択的なアクセスを可能にする広範囲の暗号化機構または暗号化機構の組み合わせを指す。
【００８０】
任意に、エコシステムにおけるデーターのサブスクライバーおよびパブリッシャに対する他の利点として、結果の検証および／または確認を実施することができる。検証は、データーのサブセットを求めるサブスクリプション要求の結果として受信されたデーターの項目が正しい１組の項目であり、すなわち、受信されているべき正しい１組のデーターが実際に受信されたことを検証する方法である。暗号分野の技術にデーター保持の証明（ＰＤＰ）があるが、誤解を避けるために述べておくと、ＰＤＰは、実施可能なアルゴリズムの一例に過ぎず、同じまたは同様の目的を実現する他のアルゴリズムを使用してもよい。データー保持証明可能またはデーター保持の証明は、ストレージサーバーが、外部に委託された場合によっては大量のクライアントのデーターを忠実に記憶していることを頻繁に、効率的に、かつ安全に確認するにはどうすべきに関する話題である。ストレージサーバーは、セキュリティおよび信頼性に関して信頼できないものと仮定される。
【００８１】
結果を確認すると、項目自体の内容を検査し、すなわちサブスクリプション要求に関連して受信された項目が許可されていないエンティティによって改ざんされていないことを保証する追加的な機構が実現される。暗号分野の確認の例として、データー保持の証明（ＰＤＰ）があるが、誤解を避けるために述べておくと、ＰＤＰは、実施可能なアルゴリズムの一例に過ぎず、同じまたは同様の目的を実現する他のアルゴリズムを使用してもよい。暗号分野で知られている他の技術として、検索可能性の証明があるが、誤解を避けるために述べておくと、ＰＯＲは、実施可能なアルゴリズムの一例に過ぎず、同じまたは同様の目的を実現する他のアルゴリズムを使用してもよい。ＰＯＲは、クライアントがターゲットファイルＦを完全に回復できるという意味データーゲットファイルＦが元のままであることをサービスプロバイダーまたはデーター保持者（証明者）がクライアント（証明者）に証明する小規模な証明である。
【００８２】
他の例として、エコシステムは、匿名資格情報の概念を実施することができ、それによって、パブリッシャは、パブリッシャ自体に関する情報を匿名で重大な詳細を暴露せずにアップロードすることができ、サブスクライバーは、パブリッシャによってアップロードされた重大な詳細を知ることも重大な詳細にアクセスすることもできないようにサブスクライバーの機能によって制限することができる。このように、パブリッシャまたはサブスクライバーは、パブリッシャまたはサブスクライバー自体がサードパーティに暴露することを望む情報のみをサードパーティに暴露しつつシステムと相互作用することができる。
【００８３】
従来のウェブサーバーは、ウェブサービスのデーターにアクセスするうえで静的なクライアントサーバー構成および静的に定義されたユーザーポリシーに制限されている。しかし、絶えず変化し進化する複雑な業務およびその他の関係に応じて多数のパブリッシャおよびサブスクライバーを考慮すると、このような従来のウェブサービスモデルは、融通性およびセキュリティが十分ではない。したがって、様々な実施形態では、データーおよびコンテンツのパブリッシャおよび／または所有者が、１人または複数のサブスクライバーが誰であるかに基づき、１人または複数のサブスクライバーの機能に基づき、かつ１人または複数のサブスクライバーが何を探しているかに基づき、例えばデーターの要求において使用されている１つまたは複数のキーワードに基づいて、暗号化されたデーターへのアクセス特権を変更できるように遅延バインディングが有効化される。したがって、サブスクライバーの機能が、キー生成コンポーネントによってただちに与えられるキー情報に符号化されているため、サブスクライバーは何に選択的にアクセスできるかが、パブリッシャおよび／または所有者によるアクセス特権の変更に矛盾しないように動的に変更される。このため、サブスクライバーの特権は、所与の要求のキー生成時にその要求について定義され、したがって、サブスクライバーからの要求に対する現在のポリシーを常に反映する。
【００８４】
同様に、信頼されるクラウドサービスのサーバーの管理者には、サーバーによって取り扱われる活動およびデータートランザクションのログを見ることを許可することができるが、顧客の名前またはクレジットカード情報を見るのを制限することもできる。したがって、サブスクライバーのＩＤは、サブスクライバーがアクセスできるデーターの種類を制限するための基準であってよい。
【００８５】
信頼されるエコシステムの様々な非制限的な実施形態は、本明細書ではクラウドサービスの信頼を構築するコンテキストで提示されているが、本明細書で実施されるエコシステムの信頼構築はずっと一般的なものであり、クラウドサービスに限定されない。そればかりか、本明細書で説明する実施形態は、エンタープライズデーターセンター内の様々なサーバーまたは参加者に同様に適用することができる。したがって、データーが所与のエンティティから離れることはできないが、本明細書で説明する信頼を構築する技術は、エンタープライズ内の様々なプロセスが別個の制御領域内で作用する場合に同様に適用することができる。すべてのエンタープライズプロセスが見えないと、参加者がエンタープライズの外部に位置する場合と同様の不信問題が生じる可能性がある。例えば、サーバーが、管理者によって制御されているにもかかわらずエンタープライズ内で違反を犯す恐れがあり、または管理者が注意を怠るかもしくは悪意を抱く恐れがある。
【００８６】
本開示の様々な技術は、クラウド内の暗号化されたデーターに適用されるだけでなく、ラップトップデバイスまたは他の携帯デバイス上に記憶されているデーターに適用することもできる。これは、ラップトップを紛失したり、ラップトップが盗まれたりすることがあるからである。このような場合、デバイスが、過度に好奇心が強いかまたは悪意あるエンティティに所有される恐れがあるが、クラウド内のデーターを保護することに適用される、本明細書で説明したのと同じ技術がサーバーまたはラップトップに適用されてもよい。ローカルデーターが暗号化されている場合、適切なサブスクライバー資格情報がないと、デバイスを盗んだ人は、暗号化されたローカルデーターが、データーにアクセスするのに適切なロールまたは機能を示さないことが可能であることを理解できない。
【００８７】
図１０は、一実施形態による信頼されるクラウドサービスフレームワークまたはクラウドサービスエコシステムのブロック図である。このシステムは、検証および／または確認を受けたサブスクライバー要求の結果と一緒に、検索可能に暗号化されたデーター１０１０を記憶する信頼されるデーターストア１０００を含んでいる。この場合、安全なデーター１０１０上にネットワークサービス１０２０を構築することができ、それによって、データーのパブリッシャは、データーを要求するサブスクライバー１０４０に許可された機能に対する制御を、例えば１つまたは複数のネットワークサービス１０２０を介して保持する。パブリッシャ１０３０がサブスクライバー１０４０であっても、サブスクライバー１０４０がパブリッシャ１０３０であってもよく、データーの所有者１０５０がパブリッシャ１０３０および／またはサブスクライバー１０４０であってもよい。定義できるいくつかの一般的なロールおよび対応する数組の機能の一例として、特殊な種類のパブリッシャ１０３０およびサブスクライバー１０４０は管理者１０６０および監査担当者１０７０である。
【００８８】
例えば、管理者１０６０は、信頼されるデーターストア１０００の動作を維持するのを助けるデーター１０１０に対する特殊な１組の許可であってよく、監査担当者エンティティ１０７０は、監査の範囲内であるデーターの完全性を維持するのを助けることができる。例えば、監査担当者１０７０は、不快なキーワードを含むデーター１０１０のメッセージをサブスクライブすることがあり、この場合、監査担当者１０７０は、許可された機能に応じて許可される場合、データー１０１０のメッセージがそのような不快なキーワードを含む時に警告を受けるが、他のメッセージを読み取ることはできなくなる。この場合、キーを渡してパブリッシャのデーターに選択的にアクセスできるようにパブリッシャのデーターをデジタルエスクローに入れる能力に基づいて多数のシナリオを構築することができる。
【００８９】
例えば、パブリッシャはエコシステムを認証し、エコシステムにアップロードすべき１組のドキュメントを示す。これらのドキュメントは、暗号キー情報を生成する別個のキー生成コンポーネントから受信された暗号キー情報に基づく検索可能な暗号化アルゴリズムに従って暗号化される。次に、暗号化されたデーターは、暗号化されたデーターのストレージに関するネットワークサービスプロバイダーに送信され、それによって、暗号化されたデーターは、要求側デバイスのＩＤ情報に基づいて要求側デバイスに与えられる選択された特権の遅延バインディングに応じて選択的にアクセス可能になる。暗号技術プロバイダーを暗号化されたデーターのストレージから分離すると、暗号化されたデーターがさらに漏えいするのも抑制される。
【００９０】
なお、図１１は、信頼されるクラウドサービスエコシステムに従ってデーターを公開する例示的で非制限的な方法を示す流れ図である。１１００で、パブリッシャは、システムに対して認証する（例えば、パブリッシャは、ユーザー名およびパスワード、ライブＩＤ資格情報などを用いてログインする）。１１１０で、以下の１つまたは複数の実施形態において説明するようなキー生成センターなどのキー生成コンポーネントによってキー情報が生成される。１１２０で、別個の暗号技術プロバイダーが、キー情報に基づいてパブリッシャの１組のドキュメントを暗号化する。１１３０で、暗号化されたドキュメントが機能と一緒にネットワークサービスプロバイダー、例えばストレージサービスプロバイダーにアップロードされ、それによって、暗号化された１つまたは複数のドキュメントが選択的にアクセス可能になり、要求側デバイス（サブスクライバー）のＩＤ情報に基づいて、選択された特権の遅延バインディングが許可される。
【００９１】
サブスクライバー側では、例えば、サブスクライバーがエコシステムに対して認証し、データーのサブセットを求める要求、例えば所与のキーワードまたは１組のキーワードを含むドキュメントのサブセットについてのクエリを示す。少なくとも１つのサブスクライバーのデバイスへの、検索可能に暗号化されたデーターのサブセットを求める要求に応答して、キー生成コンポーネントコンポーネントは、サブスクライバーのデバイスに関連するＩＤ情報に基づいて暗号キー情報を生成する。次に、暗号化されたデーターのサブセットが、暗号キー情報内に定められたサブスクライバーのデバイスに与えられる特権の機能として解読される。
【００９２】
図１２は、信頼されるクラウドサービスエコシステムに従ってデーターをサブスクライブする例示的で非制限的な方法を示す流れ図である。１２００で、データーをサブスクライブする方法は、サブスクライバーを認証することを含む（例えば、サブスクライバーがユーザー名およびパスワード、ライブＩＤ資格情報などを用いてログインする）。１２１０で、サブスクライバーがデーターを求める要求を出す。１２２０で、独立したキー生成コンポーネントエンティティによって、サブスクライバーの要求に基づいてキー情報が生成され、この場合、サブスクライバーの機能をキー情報内に定義することができる。１２３０で、キー情報内に定義されている機能に基づいてパブリッシャのデーターのサブセットが解読される。例えば、ＣＳＰがデーターを解読することができる。１２４０で、パブリッシャのデーターのサブセットがサブスクライバーからアクセス可能になり、例えば、サブスクライバーは、所有者／パブリッシャによって許可される動的に定義可能な機能に基づいてデーターのダウンロード、表示、処理、変更などを行うことができる。任意に、暗号化、解読、およびキー生成に使用される技術を別個の暗号技術プロバイダーによって供給することができるが、任意の参加者によって受け入れることができる。
【００９３】
一実施形態では、サブスクライバーのデバイスのＩＤ情報はサブスクライバーのロールを含む。検索可能に暗号化されたデーターデーターストアの様々な部分へのアクセスを制限または許可するための基準として、例えば、監査担当者ロール、管理者ロール、または事前に指定された他のロールをパブリッシャ／所有者によって使用することができる。
【００９４】
図１３は、キー生成センター（ＣＫＧ）１３００、暗号技術プロバイダー（ＣＴＰ）１３１０、およびクラウドサービスプロバイダー（ＣＳＰ）１３２０が互いに分離され、それによって、信頼されるエコシステム内の単一のエンティティによる情報漏えいの可能性がなくなる。この場合、１人または複数の顧客１３３０はデーターのパブリッシャおよびサブスクライバーを含む。任意に、ＣＫＧ１３００は、ＣＴＰ１３１０から供給され、当事者用のビルディングブロックが独力でそのようなコンポーネントを形成するかまたはそのようなエコシステムコンポーネントのサードパーティ実装によって満たされるのを可能にする基準ソフトウェア、オープンソースソフトウェア、および／またはソフトウェア開発キット（ＳＤＫ）に基づいて構築されてよい。一実施形態では、ＳＤＫは、ＣＴＰ１３１０から供給され、１人または複数の参加者によって使用され、ＣＫＧ１３００、以下により詳しく説明するＣＳＡ（Ｃｏｍｐｕｔｅ  ａｎｄ  Ｓｔｏｒａｇｅ  Ａｂｓｔｒａｃｔｉｏｎ）、および／または暗号クライアントライブラリーを受け入れ実現することができる。任意に、ＳＤＫは、ＣＴＰ１３１０からＣＫＧ１３００を受け入れるエンティティに分配されてよい。
【００９５】
一般に、ＣＫＧ１３００、ＣＴＰ１３１０、またはＣＳＰ１３２０の各々が、所与の実装に応じてサブコンポーネントに細分されてよいが、全体的な分離は、信頼を維持するように保存される。例えば、マスタ公開キー（ＭＰＫ）デリバリ１３０２、クライアントライブラリーダウンローダ１３０４、秘密キー抽出者１３０６、信頼認証者１３０８、またはその他のサブコンポーネントなどのＣＫＧエンティティ１３０１を別々にサブセットとして構成されても、まとめて一体的なコンポーネントとして構成されてもよい。符号化および復号用のクライアントａｐｐ１３１２、他の暗号化技術１３１４、ＣＫＧと相互作用するアプリケーション１３１６、他のクリプトビルディングブロック１３１８などのＣＴＰエンティティ１３１１も、別々にサブセットとして構成されても、まとめて構成されてもよい。さらに、ＣＳＰ１３２０は、ストレージサービス１３２４を受け入れるＣＳＰ１３２２、１３２８サービスを受け入れるＣＳＰ１３２６のような多くの別個のサービスプロバイダーとみなされてよく、またはそのようなサービスがまとめて実施されてもよい。
【００９６】
信頼されるエコシステム内の１人または複数の参加者によって受け入れられる１つまたは複数のＣＫＧインスタンスまたはＣＫＧインスタンスが単一のモノリシックエンティティである必要はないことが理解されよう。そればかりか、ＣＫＧは、協調してキーを生成するいくつかの（冗長な）エンティティに分離されてよく、それによって、参加者の小さなサブセットがオフラインであっても動作を継続することができる。一実施形態では、任意に、１組の参加者の小さなサブセットが敵対者による情報漏えいを被るかまたはその他の原因で利用不能であるかもしくは信頼できない場合でも、この１組の参加者を全体的に信頼することができる。
【００９７】
図１４は、エンタープライズ１４００向けのクラウドサービスを実行する信頼されるエコシステムの他の利点を示す他の構成図である。例えば、エンタープライズ１４００は、様々な組織１４０２、１４０４、１４０６、１４０８を含んでよい。この図の様々な組織１４０２、１４０４、１４０６、１４０８は、各組織が、システムの使用またはキー生成に関する実現ポリシーに関して最大限または最小限の所有権を得ることができることを示している。例えば、組織１４０２は独自のポリシーを実現するが、集中キー生成コンポーネント１４２２を使用し、一方、組織１４０４は独自のキー生成コンポーネント１４２４を実現しかつ独自のポリシー１４１４を実現することを選択する。組織１４０６も独自のポリシーを実現するが、第３の部分ＣＫＧ１４２６に依存し、一方、組織１４０８は、サードパーティのポリシープロバイダー１４１８および独立したＣＫＧ１４２８に依存することを選択する。
【００９８】
なお、パブリッシャ１４４０は、データーを公開する際、ＣＫＧ１４２２からの出力に基づいてデーターを暗号化するための公開パラメータを取得する（１４３５）。データーは、公開パラメータに基づいて、１４４５で、パブリッシャデバイス１４４０によって、独立した暗号技術プロバイダーを使用して暗号化される。暗号化されたデーターは、ストレージ抽象化サービス１４５０にアップロードされ、ストレージ抽象化サービス１４５０が、暗号化されたデーターをＣＳＰ１４７２、１４７４、１４７６、または１４７８のような１つまたは複数のＣＳＰ１４７０によって記憶することに関連してストレージセマンティックスを隠す。サブスクライバーのデバイス１４６０上では、データー結果を求める要求によって、ＣＫＧ１４２２から秘密キー１４６５が生成される。秘密キー１４６５は、サブスクライバーのデバイス１４６０が１４５５でデーターを解読することによって暗号化されたデーターに選択的にアクセスできるようにする情報を含む。この場合も、ＣＳＰ１４７０からデーターを取得するためのセマンティックスは、ストレージ抽象化サービス１４５０によって隠される。また、サブスクライバーのデバイス１４６０に与えられる特権は、パブリッシャ／所有者によって許可される機能の遅延バインディングによる現在の１組の特権である。
【００９９】
複数のデーター所有者、すなわちエンタープライズまたはコンシューマーが、本明細書で説明するように信頼されるエコシステムに参加して、信頼関係を確立できることが図１４から理解されよう。そのような場合、各所有者は、独自のＣＫＧ（例えば組織１４０４のＣＫＧ１４２４）を受け入れるかまたは制御することができ、それによって、データーに関する要求またはクエリが対応するＣＫＧに転送され、要求されたデーターの共同所有者から必要なキーが収集される。
【０１００】
図１５は、ストレージ抽象化層１５１０を介して様々なストレージプロバイダーにどのように対処するかを示す他のブロック図である。この信頼されるエコシステムでは、それぞれクライアントアプリケーション１５４０、１５４２を有するデスクトップ１５３０、１５３２は、上述のようにデーターを公開またはサブスクライブし、データーを暗号化または解読する際に使用できるキー情報を求めるキー生成センター１５２０への要求を開始することができる。同様に、サービス１５４４、１５４６、１５４８は、エコシステム内のパブリッシャおよび／またはサブスクライバーであってもよい。この場合、ストレージ抽象化サービス１５１０は、その名のとおり、プライベートクラウドストア１５００、ＳＱＬデーターサービスストア１５０２、または単純なストレージウェブサービス１５０４などのいずれかによってデーターを記憶または抽出するときに、特定の１つまたは複数のストレージレポジトリに関する詳細を抽象化してクライアントから取り出す。
【０１０１】
なお、誤解を避けるために述べておくと、図１５は複数の状況に関する図である。１つの状況では、図１５は、ＣＳＡ（Ｃｏｍｐｕｔｅ  ａｎｄ  Ｓｔｏｒａｇｅ  Ａｂｓｔｒａｃｔｉｏｎ）と呼ばれることもあるストレージ抽象化サービスによってストレージプロバイダーによる仲介がどのように排除されるか（ストレージプロバイダーが個人としてどのように取り出されるか）を示している。また、図１５は、データーが、同じ種類でも異なる種類でもよい複数のバックエンドストレージプロバイダーに対して（例えば、冗長にするために）セグメント化および／または展開され、それによって、１人（または少数）のバックエンドストレージプロバイダーが誤ってまたは意図的にデーターのコピーを削除または変更した場合でも元のデーターを再構成することができるシナリオを示している。
【０１０２】
図１６は、プライベートクラウドサービス１６００、ＳＱＬデーターストア１６０２、単純なストレージウェブサービスストア１６０４などのストレージの詳細を抽象化するサーバーオペレーティングシステム（ＯＳ）１６１４およびストレージサービス１６１２を含むストレージ抽象化サービス１６１０に関連するストレージの他の態様を示している。クライアントは、それぞれクライアントアプリケーション１６４０および１６４２を有するデスクトップ１６５０または１６５２であってよい。キー生成センター１６２０は、サーバーＯＳ１６２４上で実行されるキー生成アプリケーション１６２２を含んでよい。この場合、アクティブディレクトリ１６３６、サーバーＯＳ１６３４、およびセキュリティトークンサービス（ＳＴＳ）１６３２を有する組織１６３０は、エコシステム内のパブリッシャまたはサブスクライバーであってよい。この場合、ストレージ転送フォーマット（ＳＴＦ）は、暗号化されたデーターおよびメタデーターをレポジトリ同士の間で交換するのに使用できる標準交換フォーマットである。例えば、組織１６３０が、ストレージサービスプロバイダー１６００、１６０２、または１６０４の間でｅメールデーターを転送することを望むことがあり、その場合にＳＴＦを使用することができる。
【０１０３】
図１７は、信頼されるエコシステム１７２０内の様々な異なる参加者を示す他のブロック図である。上述のように、有利なことに、エンタープライズ１７００は、大量のデーターのストレージおよびメンテナンスをオンサイトから、そのような量の取り扱いにより適しており、同時に、エンタープライズが、暗号化されたデーターに定義されている機能に対する制御を維持しているため、データーが誤ったサブスクライバーに解読されることがないという安心感を維持するクラウドストレージサービスプロバイダーに解放することができる。例えば、組織１７０２が、Ｓｈａｒｅｐｏｉｎｔなどの共同アプリケーション１７１２を動作させることがある。この場合、組織１７０２は、シェアポイントデーターに対してデジタルエスクローまたは信頼されるドメインをセットアップすることができる。ポリシー１７３２およびＣＫＧ１７３４は、信頼されるドメイン向けの暗号キー情報１７４５を定義することによって安全な空間をセットアップするように動作する第１のデーターセンター１７３０によって実現することができる。
【０１０４】
次に、例えばパブリッシャ１７１４として振る舞う他の組織１７０４は、ＣＫＧ１７３４から得られたキー情報に基づいてデーターを暗号化することができ、その時点で、第２のデーターセンター１７４０のコンピュータストレージ抽出化コンポーネント１７４２が、検索可能に暗号化されたデーターを第３のデーターセンター１７５０、例えばＣＳＰ１７５２に記憶することの詳細に対処する。一方、組織１７０４のサブスクライバー１７１６がデーターを要求すると、秘密キー情報または秘密キー情報が抽出者１７６５の一部としてサブスクライバー１７１６に転送される。次に、サブスクライバー向けに定義された機能を含む秘密キー情報に基づいて、サブスクライバーが特権を有すると仮定して、サブスクライバーによって要求されたデーターが１７７５で解読され、この場合も、抽象化層１７４２が下層のストレージ１７５２の詳細に対処する。
【０１０５】
図１８は、様々な要素をそれぞれの異なるエンティティまたは同じエンティティによって実現することのできる信頼されるクラウドコンピューティングシステムの例示的で非制限的な実装のいくつかの層の代表的な図である。階層の１番下に、暗号化／解読アルゴリズムを実施するのに使用される数理暗号ライブラリー１８８６がある。様々な暗号方式の定義を抽象化することは、詳細なライブラリー１８８６と検索可能な暗号方式１８８２の実装との間の中央層１８８４として実施されてよい。また、層１８８２、１８８４、および１８８６は、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）アプリケーションエコシステム用の抽象化層１８６０と組み合わされて、信頼されるデジタルエスクロー１８７０およびそのストレージを実現するための基礎を形成するより大きな暗号サービス層１８８０を形成する。抽象化層１８６０は、デジタルエスクローパターンを実現するのに使用される基本言語、すなわちＳｅｔｕｐ（）、Ｅｎｃｒｙｐｔ（）、Ｅｘｔｒａｃｔ（）、Ｄｅｃｒｙｐｔ（）などのコマンドを含む。
【０１０６】
抽象化層１８６０上に、様々なより具体的なプラットフォーム技術（例えば、ＳＤＳ、Ａｚｕｒｅ、バックアップ／アーカイブ、ＲＭＳ、ＳＴＳなど）に結合される層１８５０がある。様々なより具体的なプラットフォーム技術に結合される層１８５０の上に、信頼されるデジタルエスクロー１８００を使用する様々なＳａａＳアプリケーションがある。この例示的で非制限的な例は、デジタルエスクローアプリケーション１８００を単一の会社１８１０によって実現しても、提携会社１８３０同士によって実施しても、その両方によって実現してもよいことを示している。例えば、会社１８１０は、高性能コンピューティング（ＨＰＣ）、ｅＤｉｓｃｏｖｅｒｙ  ａｎｄ  Ｌｅｇａｌ  Ｄｉｓｃｏｖｅｒｙ１８１４、ライブサービス１８１６（例えばＤボックス）、バックアップ／サービス１８１８としてのアーカイブ、監査ログ−ビジネスプロセスモニタリング１８２０、またはその他のクラウドサービス１８２２などのサービスを実施することができる。さらに、提携会社１８３０は、クレジットの電子レター１８３２、ＨＰＣ  ａｓ  ａ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｖｅｒｉｃａｌｓ１８３４、電子ヘルスサービス、セキュアエクストラネット１８３８、コンプライアンス１８４０、訴訟支援１８４２などのサービスを実施することができる。
【０１０７】
信頼されるクラウドサービスエコシステムに基づくシナリオ
図９の上半分は、キー生成コンポーネント、暗号プロバイダー、およびクラウドサービスプロバイダーの部分に固有に高い信頼性のためにクラウド内で実現することのできるアプリケーションの種類を簡単に示している。この場合、このような信頼されるクラウドサービスエコシステムが有効化されているため、本明細書で説明する信頼されるエコシステムの利点のうちの１つまたは複数を利用する１組の豊富なサービスおよびシナリオを実現することができる。
【０１０８】
例えば、図１９は、パブリッシャが上述のように、制御されながら遅延バインディングによってデーターに選択的にアクセスできるようにするようにデジタルセーフアプリケーションにドキュメントを公開する例示的で非制限的なプロセスの流れ図である。１９００で、デバイスが認証される（例えば、デバイスがユーザー名およびパスワード、パスワード資格情報、バイオメトリック資格情報、ライブＩＤ資格情報などによってログインする）。１９１０で、１つまたは複数のドキュメントがアップロードされ、タグが入力される。タグは１９２０でエスクローエージェントに送信され、これに応じて、ハッシュされたタグがエスクローエージェントから受信される。この場合、タグは、上述のように供給されてよく、あるいはフルテキストインデクシングによってペイロード（レコード、ドキュメント）から自動的に抽出されてもよい。１９３０で、クライアントがパブリッシャのキー情報によってドキュメントを暗号化し、１つまたは複数のドキュメントが、１つまたは複数のドキュメントに対するサブスクライバー向けの機能と一緒にデジタルセーフクラウドストレージプロバイダーに送信される。１９４０で、デジタルセーフクラウドストレージプロバイダーが、暗号化されたブロブを、例えばストレージ抽象化層を介してストレージサービスに送信する。
【０１０９】
図２０は、図１９を、信頼されるエコシステムの様々な参加者のコンテキストで示しており、図２０では図１９の行為の符号が使用されている。この場合、まず、クライアント２０１０の資格情報２０００によって１９００が行われる。次に、クライアント２０１０で１９１０が行われる。次に、タグをエスクローエージェント２０２０に送信し、ハッシュされたタグを受信するステップが１９２０に示されている。次に、クライアント２０１０は、１９３０に示されているように、ドキュメントを暗号化し、デジタルセーフサービスに２０３０に送信する。最後に、１９４０で表されているように、暗号化されたブロブがストレージサービス２０４０に送信される。次いで、サブスクライバーは、１つまたは複数のドキュメントと一緒に送信されるかまたは後で更新される機能によって許可される場合にはこのユーザーのサブセットにアクセスできるようになる。
【０１１０】
図２１は、デジタルセーフサービスに含められたマテリアルをサブスクライブする例示的で非制限的なプロセスの流れ図である。２１００で、サブスクライバーが認証され、クライアントデバイスがタグをエスクローエージェントに送信し、これに応答して２１１０で、エスクローエージェントがハッシュされたタグを送り返す。クライアントは、次に２１２０で、ハッシュされたタグをデジタルセーフサービスに送信し、ハッシュされたタグが解釈され、２１３０で、クライアントがその検索要求をストレージサービスによって全体的または部分的に実行してもらう資格を有するかどうかが理解される。
【０１１１】
図２２は、図１１と同様に図２１の行為を参加者に重ねた状態を表しており、行為２１００についてはクライアント２２１０およびその資格情報２２００、行為２１１０についてはクライアント２２１０およびエスクローエージェント２２２０、行為２１２０についてはクライアント２２１０およびデジタルセーフサービス２２３０、および行為２１３０についてはデジタルセーフサービス２２３０およびストレージサービス２２４０が表されている。
【０１１２】
図２０および図２２では、エスクローエージェント２０２０、２２２０はＣＫＧまたはＣＫＧのコンポーネントであってよい。あるいは、エスクローエージェント２０２０、２２２０は別個の参加者によって受け入れられるＣＫＧインスタンスであってよく、したがって、エスクローエージェント２０２０、２２２０は、クライアントの代わりに暗号化／解読を行う信頼されるエンティティである。この場合、設計上の兼ね合わせおよび参加者同士の間の関係によって、エスクローエージェント２０２０、２２２０の機能および範囲を決定することができる。例えば、ローエンドクライアントの場合、厄介な処理を実行するのにクライアントの機能を信頼されるプロキシサーバーに解放することが必要になることがある。
【０１１３】
図２３は、デジタルエスクローパターンを使用して１つまたは複数のデーターセンターを介してエンタープライズ向けのセキュアエクストラネットを実現する信頼されるクラウドサービスの例示的で非制限的な実装を示している。前述のように、信頼されるコンピューティングエコシステムは、暗号技術プロバイダー（ＣＴＰ）２３１０とは別個に実現されるキー生成センター２３００を含んでよく、暗号技術プロバイダー（ＣＴＰ）２３１０は、エコシステムと矛盾せず、１つまたは複数のクラウドサービスプロバイダー（ＣＳＰ）２３２０とは別個に実現される暗号技術を実現する際に使用される基準実装を構成する。セキュアエクストラネットの例示的で非制限的な実装では、２３８０は、エンタープライズが共用レポジトリ２３７０（例えばＳｈａｒｅｐｏｉｎｔ）、および共用レポジトリ２３７０に関連して使用される設計アプリケーションまたは分析アプリケーションのレポジトリ２３６０を維持することを示している。ビジネスソフトウェア２３４０（例えばＳｅｎｔｉｎｅｌ）は、デスクトップ２３５０を有するコンピュータについてアプリケーションまたはサーバーの性能などを監視することができる。
【０１１４】
なお、信頼されるクラウドサービスエコシステムでは、デスクトップ２３５０を使用しているサブスクライバーが、選択的にアクセス可能でありかつ暗号化された情報をストレージにおいて探すときに、セキュリティトークンサービス２３３０は、ある情報を供給してサブスクライバー２３８２を識別することができ、ＣＫＧ２３００は、２３８４で示されているように第１のデーターセンターのＣＫＧ層２３０２のインタフェースを介して問い合わせを受けることができる。ＣＫＧ２３００はキー情報を返し、このキー情報を使用して、ストレージ抽象化サービス２３２２を介してデーターサービス２３２４によって保持されているデーターに、２３８６によって示されているように選択的にアクセスすることができる。したがって、あらゆる種類のデーターをエンタープライズ全体にわたって、エンタープライズ内のサブスクライバーのロールに応じて選択的に共有することができる。
【０１１５】
図２４は、サブスクライバーが、例えばエンタープライズ内のＣＳＰによって記憶されている暗号化されたデーターに選択的にアクセスすることができる信頼されるクラウドサービスエコシステムに基づく例示的で非制限的な他のシナリオを示す流れ図である。最初、サブスクライバーのデバイスは、暗号化されたデーターにアクセスするための特権を取得していない。しかし、暗号化されたデーターの一部またはすべてを要求し、例えば、２４００であるアプリケーションと相互作用することによって、このアプリケーションは対応するＳＴＳと自動的に通信して２４１０で（暗号分野の専門用語）クレームを取得する。２４２０で、アプリケーションはＣＫＧと通信し、サブスクライバー向けの機能に関する情報を符号化するキー情報を取得する（機能は、暗号分野の専門用語でトラップドアと呼ばれることもある。ただし、語「機能」は、語「トラップドア」が通常現れるコンテキストに制限されない）。最後に、アプリケーションは、２４３０でＣＳＰにキー情報を供給し、それによって、サブスクライバーの機能によって許可される範囲で、暗号化されたデーターに対する検索またはクエリを可能にする。
【０１１６】
図２５は、アプリケーション応答をサインイン情報に基づいてサブスクライバーに対して調整できることを示す流れ図である。例えば、２５００で、ユーザーＩＤ情報がアプリケーションから受信される。２５１０で、アプリケーションはＳＴＳから関連するクレームを取得する。２５２０で、ユーザーＩＤ情報に関連するユーザーによって果たされる１つまたは複数のロールに基づき、これらのロールに関する特権／制限に応じてエクスペリエンスを調整することができる。例えば、会社の最高財務責任者が会社の暗号化されたデーターに対するビューとして体験するユーザーエクスペリエンスを、郵便室従業員が体験する会社の暗号化されたデーターに対するビューとは異なるユーザーエクスペリエンスになるようにすることができ、またそうすべきである。図２５は、単一当事者ログインシナリオに当てはめることも、マルチパーティログインシナリオに当てはめることもできる。
【０１１７】
図２６は、単一の当事者または複数の当事者向けに実施することのできる安全なレコードアップロードシナリオを示す他の流れ図である。２６００データー、例えば、アプリケーション自体を含むデバイスのユーザーによって実行または指定されるアプリケーションによってレコードおよびキーワードが受信される。２６１０で、アプリケーションは、マスタ公開キー（ＭＰＫ）を取得し、公開キー暗号化キーワード検索可能（ＰＥＫＳ）アルゴリズムを適用する。ＭＰＫは、このアプリケーションによってキャッシュすることができる。２６２０で、アプリケーションは、暗号化されたレコードを、例えばストレージ抽象化層を介してＣＳＰレポジトリに入力することができる。
【０１１８】
図２７は、信頼されるクラウドサービスエコシステムによって、例えば単一の当事者による自動化検索ができるように有効化された検索可能に暗号化されたデーターストアに対するロール方式のクエリの例示的で非制限的な実装を示す他の流れ図である。２７００で、結合クエリがアプリケーションによって受信または開始される。２７１０で、アプリケーションは、ＳＴＳから関連するクレームを取得する。例えば、ＳＴＳはユーザーのロールを１つまたは複数の適切なクエリグループにマップし、所与のロールに関するリーガルクエリセットを返す。２７２０で、アプリケーションは、すべてのクレームではなく、クエリに対応する１つまたは複数のクレームを効率的に送信できるように、フィルタリングされたクレームおよびクエリを送信する。任意に、ＣＫＧはアプリケーションに１つまたは複数のトラップドアクレームを返す（またはクレームを拒絶する）。２７３０で、アプリケーションはリモートインデックスに対してトラップドアクレームを実行する。リモートインデックスに対する処理に基づいて、結果が受信され、この結果を、アプリケーションによって、例えば１つまたは複数のユーザーロールに基づくカスタムレンダリングを使用してユーザーに対してレンダリングすることができる。
【０１１９】
図２８は、エンタープライズ２８２０、ＣＫＧ２８１０、およびＣＳＰ２８００の間の信頼されるクラウドサービスエコシステムの実装のブロック図であり、上述の図２４〜図２７の行為が同じ参照符号で強調されている。このシナリオでは、まずユーザー２８２４がアプリケーション２８２２に対してユーザー自身を識別する。ＳＴＳ２８２６は、ＣＫＧ２８１０との間の情報交換に関連して信頼２８３０を確立するように動作し、シナリオの目標に応じてＣＳＰ２８００からのデーターを暗号化または解読する際に使用できるキー情報をアプリケーション２８２２に返す。
【０１２０】
図２９は、あるエンタープライズが、その暗号化されたデーターの一部に外部のエンタープライズがアクセスできるようにするマルチパーティ協調シナリオを示す流れ図である。例えば、製造業者は、信頼されるクラウドに記憶されている製造業者のデーターの一部に供給業者がアクセスするのを許可してよく、供給業者が、信頼されるクラウドに記憶されている供給業者のデーターの一部に製造業者がアクセスするのを許可してもよい。この場合、２９００で、エンタープライズ２のＳＴＳがリソースプロバイダーに指定され、次に、エンタープライズ１のアプリケーションが、リソースプロバイダーによってクラウド内に供給されているリソースにアクセスするためのクレームを取得する。２９１０で、エンタープライズ１のＳＴＳがＩＤプロバイダーに指定される。この場合、アプリケーションは、エンタープライズ１のサブスクライバーによって定義されたロールまたは１組のロールに関するクレームを取得し、このことはＩＤプロバイダーによって容易になる。２９２０で、クレームが、エンタープライズ２によって制御される許容リソースに基づくとともに、サブスクライバー側エンティティの１つまたは複数のロールによって定められる許可／機能に基づいて、アプリケーションによって取得される。図２９には、１つのＳＴＳしか示されていないが、複数のＩＤプロバイダーＳＴＳおよび／または複数のリソースプロバイダーＳＴＳがデジタルエスクローまたは連携信頼オーバレイ内にあってよいことに留意されたい。
【０１２１】
図３０は、例えば、エンタープライズ１およびエンタープライズ２のような複数のエンタープライズ間のマルチパーティ自動化検索シナリオを示す流れ図である。３０００で、結合クエリがエンタープライズ１のアプリケーションによって受信または開始され、実行される。３０１０で、アプリケーションは、リソースプロバイダー（エンタープライズ２）のＳＴＳから関連するクレームを取得する。リソースプロバイダーは、任意に組織タグで指定されてよい。ＳＴＳは任意にユーザーロールをクエリグループにマップし、それによって、ユーザーロールに関するリーガルクエリセットが返される。３０２０で、アプリケーションは、ユーザーロールに基づいてフィルタリング済みのクレームおよびクエリを送信する。すべてのクレームではなく、クエリに対応するクレームを効率的に送信することができる。任意に、ＣＫＧは、アプリケーションに機能を返す（例えば、トラップドアクレーム）か、またはクレームを拒絶する。３０３０で、アプリケーションがリモートインデックスに対してトラップドアクレームを実行する。リモートインデックスに対する処理に基づいて、結果が受信され、この結果を、アプリケーションによって、例えば１つまたは複数のユーザーロールに基づくカスタムレンダリングを使用してユーザーに対してレンダリングすることができる。
【０１２２】
図２７および図３０では、この方法は、結合クエリを受信するか、または他の手段によって結合クエリを開始するステップを含む。この場合、任意に、結合クエリを暗号によって保護することができ、それによって、トラップドア（または機能）の受信者は、クライアントであるかそれともサービスプロバイダーであるかにかかわらず、結合クエリを分解してその構成要素を判定することができる。
【０１２３】
図３１は、エンタープライズ３１２０、３１３０、ＣＫＧ３１１０、およびＣＳＰ３１００間の信頼されるクラウドサービスエコシステムの実装のブロック図であり、上述の図２０〜２１の行為が同じ参照符号を介して指定されている。例えば、ユーザー３１２４はアプリケーション３１２２に対してユーザー自身を識別することができる。エンタープライズ３１３２のＳＴＳ３１２６とエンタープライズ３１３０のＳＴＳ３１３２は協調して、ＣＫＧ３１１０との間の情報の交換に関連して信頼３１３０を確立し、シナリオの目標に応じてＣＳＰ３１００からのデーターを暗号化または解読する際に使用できるキー情報をアプリケーション３１２２に返す。
【０１２４】
図３２は、信頼されるクラウドサービス向けに実現することのできる例示的で非制限的なＥＣＭ（Ｅｄｇｅ  Ｃｏｍｐｕｔｅ  Ｎｅｔｗｏｒｋ）技術を示している。この場合、複数の動的コンピュートノード３２７０、３２７２、３２７４、３２７６が、互いに独立に動作する１組の信頼されるクラウドコンポーネントに関連して演算帯域幅に動的に割り付けられる。例えば、キー生成センター３２２０、ストレージ抽象化サービス３２１０、組織３２３０および組織３２４０は、多組織間ビジネスシナリオまたは上述のようなその他のシナリオとして実現することができる。キー生成センター３２２０は、キー生成コンポーネント３２２２とサーバーＯＳ３２２４とを含む。ストレージ抽象化サービス３１２０は、ストレージサービスコンポーネント３２１２とサーバーＯＳ３２１４とを含む。組織３２２０は、ＳＴＳ３２３２と、ＡＤ３２３６と、サーバーＯＳ３２３４とを含む。組織３２４０は、ＳＴＳ３２３４と、ＡＤ３２４６と、サーバーＯＳ３２４４とを含む。サーバーＯＳ３２１４、３２２４、３２３４、３２４４は協調して、サーバー同士の間でＥＣＮを実現する。任意のストレージプロバイダーまたは抽象化３２０２を使用してデーターを記憶することができ、例えばＳＱＬデーターサービスを使用することができる。このように、１つまたは複数のデスクトップ３２５０、３２５２がそれぞれクライアントアプリケーション３２６０、３２６２を介してデーターを公開またはサブスクライブすることができる。
【０１２５】
図３３は、信頼されるクラウドサービスエコシステムによるキー生成センター３３１０の１つまたは複数の任意の態様を示すブロック図である。最初、デスクトップ３３６０、３３６２およびそれぞれのクライアントアプリケーション３３７０、３３７２、またはサービスまたはサーバー３３７４、３３７６、３３７８のような１組のコンピューティングデバイスが、クラウドコンテンツデリバリネットワーク３３５０の潜在的なパブリッシャおよび／またはサブスクライバーである。しかし、１組のコンピューティングデバイスのいずれかからの要求を満たす前に、最初、キー生成センターが、公開キーに基づいてデーターを暗号化するパブリッシャについての信頼の管理人として働き、秘密キーをデーターサブスクライバーの機能に基づいてデーターサブスクライバーに渡す。
【０１２６】
例示的な非制限的な相互作用において、最初、コンピューティングデバイスからの要求が供給され（３３００）、ＣＫＧ３３１０のホスト側が、３３８０でＣＫＧファクトリ３３０２にＣＫＧ３３１０のインスタンスを要求する。次に、３３８２でユーザーの認証が行われる。次に、ＣＫＧファクトリ３３０２の使用に関して、課金システム３３０６によって使用量に基づく課金３３８４を適用することができる。次に、ＭＰＫデリバリコンポーネント３３１２と、クライアントライブラリーダウンローダ３３１４と、秘密キー抽出者３３１６と、信頼確認者／認証者３３１８とを含んでよいテナントＣＫＧがＣＫＧファクトリ３３０２によって具体化される。
【０１２７】
ＭＰＫデリバリコンポーネント３３１２は、３３８８でＣＤＮ３３５０にＭＰＫを供給する。クライアントライブラリーダウンローダ３３１４は、クリプトライブラリーを要求側クライアントにダウンロードし、クリプトライブラリーを、公開すべき暗号化データーまたはデバイスがサブスクライブされる解読データーに関連して使用することができる。次に、クライアントは、信頼認証者３１８と協調する秘密キー抽出者３３１６から受信されたキー情報に基づいて１組のドキュメントを抽出することを求める要求を出し、信頼認証者３３１８は、３３９４でサブスクライバーのＳＴＳサムプリントを確認することに基づき、例えば要求に含まれる組織のそれぞれの異なるＳＴＳ３３２０、３３２２、３３２４、３３２６との通信に基づいてサブスクライバーがある機能を有することを検証することができる。他の実施形態と同様に、ストレージ抽象化サービス３３４０を実施してデーターベースサービス３３３０（例えばＳＱＬ）のストレージ詳細を抽象化することができる。
【０１２８】
図３４は、ネットワークサービス３４２０の実施に関連して、検証および／または確認を含む検索可能に暗号化されたデーター３４１０を含む信頼されるストア３４００の例示的で非制限的な実施形態のブロック図である。この実施形態では、サブスクライバー３４４０またはサブスクライバーによって使用されるアプリケーションは、暗号化されたストア３４００のある部分へのアクセスを求める要求の一部として、この要求から返される項目に対して検証を実行して、実際に受信された項目が受信されるべき項目でもあることを確認することを要求することができる。この場合、図３４は、検索可能な暗号化技術と検証技術の組み合わせを示している。任意に、このシステムは、本明細書の他の実施形態で説明するクレームベースのＩＤアクセス管理と統合されてもよい。この場合、デジタルエスクローパターンは、連携信頼オーバレイとも呼ばれ、本明細書の様々な実施形態で説明するように、従来のクレームベースの認証システムとシームレスに統合することができる。
【０１２９】
図３４では、信頼されるデーターストア３４００またはサービスプロバイダーまたはデーターストアのホスト側が証明ステップを実行し、一方、データーの所有者（例えば、サブスクライバーのデバイス）が検証を実行する。データーストア３４００は、データーストア３４００の保証が確実なものであることをユーザーが確信できるため信頼することができる。ただし、そのデーターを実際に受け入れるのは物理的なエンティティであり、かつ完全には信頼できない参加者もいることを理解されたい。
【０１３０】
図３５は、検証ステップを含む例示的で非制限的なサブスクライブプロセスを示す流れ図である。３５００で、検索可能に暗号化されたデーターのサブセットがサブスクライバーのデバイスから受信される。３５１０で、サブスクライバーのデバイスのＩＤ情報に基づいて暗号キー情報を生成するキー生成インスタンスから暗号キー情報が生成される。３５２０で、暗号化されたデーターのサブセットが、暗号キー情報内に定義されたサブスクライバーのデバイスに許可されている機能の関数として解読される。３５３０で、サブセット内に表されている項目を検証することができ（例えば、データー保持の証明）、３５４０でデーターがアクセスされる。
【０１３１】
多くの場合、暗号化されたデーターを解読する必要なしにこのデーターに対してＰＤＰ／ＰＯＲを実行できることが望ましい。任意に、ＰＤＰに必要なキー情報は、検索可能な暗号化によって保護されたメタデーター内に符号化されてよい。このことは、ＰＤＰ／ＰＯＲに使用されるキーを管理する有効な方法であるが、平文コンテンツにアクセスする必要なしに、暗号化されたデーターに対してＰＤＰ／ＰＯＲを実行できる高価値シナリオが数多くあることに留意されたい。
【０１３２】
図３６は、認証者３６００（例えば、データー所有者）が証明者３６１０（例えば、データーサービスプロバイダー）に暗号チャレンジ３６２０を発行する例示的で非制限的な検証チャレンジ／応答プロトコルを示している。証明者３６１０は、チャレンジ３６２０を受信すると、応答をデーターおよびチャレンジの関数として算出する（３６１２）。チャレンジ応答３６３０が認証者３６００に返され、認証者３６００は次に、計算を実行して、データーが修正されていないことを確認または証明する（３６０２）。
【０１３３】
図３６に概略的に示されている検証はプライベートＰＤＰと呼ばれている。ただし、サードパーティにキー（公開キー）が与えられ、したがって、サードパーティが、実際のデーターに関して何も知ることなしに同様のプロトコルに従って認証者として働く「公開」バージョンもあることに留意されたい。確認の一例であるＰＯＲは、データーが（破損したり修正されたりしているにもかかわらず）検索可能であることを証明できるという点でＰＤＰと異なるが、以下の図３０に示されているように、基本的なプロトコルは同じである。ただし、ドキュメントの構造および実際のアルゴリズムは異なる。本明細書の信頼されるエコシステムの様々な実装では、検索可能な暗号化とＰＯＲ／ＰＤＰが組み合わされ、このことはシステムに有利であり、信頼を向上させる。この場合、データーは、サービスプロバイダーに送信される前に検索可能に暗号化され、データーの後処理にＰＯＲおよび／またはＰＤＰを含めてよい。
【０１３４】
また、保証をずっと確実なものにしたい場合は、上記の実施形態の任意の１つまたは複数に任意に「データー拡散」技術を重ね合わせることができる。データー分散では、データーがいくつかのサービスプロバイダーに分散され、任意の単一のサービスプロバイダーにおける「甚だしく悪い振る舞い」すなわち致命的な損失から回復できるようになる。本明細書で説明する信頼機構を使用すると、この分散は、互いに独立したサービスプロバイダーが結託したりデーターを破損させるのが困難になるように実行される。これは、上述の分散型ＣＫＧ実施形態に類似した概念である。
【０１３５】
図３７は、ネットワークサービス２５２０の実施に関連して、検証および／または確認を含む検索可能に暗号化されたデーター２５１０を含む信頼されるストア２５００の例示的で非制限的な他の実施形態のブロック図である。具体的には、図３７は、サブスクライバー２５４０に返された項目が改ざんされておらず、また誤って変更されていないことを確認する確認コンポーネント３７５０を示している。上述のＰＤＰは、確認の非制限的な例である。
【０１３６】
図３８は、検証ステップを含む例示的で非制限的なサブスクライブプロセスを示す流れ図である。３８００で、検索可能に暗号化されたデーターのサブセットがサブスクライバーのデバイスから受信される。３８１０で、サブスクライバーのデバイスのＩＤ情報に基づいて暗号キー情報を生成するキー生成インスタンスから暗号キー情報が生成される。３８２０で、暗号化されたデーターのサブセットが、暗号キー情報内に定義されたサブスクライバーのデバイスに許可されている機能の関数として解読される。３８３０で、サブセット内に表されている項目の内容を確認することができ（例えば、検索可能性の証明）、３８４０でデーターがアクセスされる。
【０１３７】
図３９は、認証者３９００（例えば、データー所有者）が証明者３９１０（例えば、データーサービスプロバイダー）に暗号チャレンジ３９２０を発行する例示的で非制限的な確認チャレンジ／応答プロトコルを示している。証明者３９１０は、チャレンジ３９２０を受信すると、応答をデーターおよびチャレンジの関数として算出する（３９１２）。チャレンジ応答３９３０が認証者３９００に返され、認証者３９００は次に、計算を実行して、データーが検索可能であることを確認または証明する（３９０２）。
【０１３８】
図４０は、互いに独立した複数の連携信頼オーバレイまたはデジタルエスクローが並んで存在するかまたは互いに積み重なって存在し、階層を形成することができる非制限的なシナリオを示すブロック図である。このシナリオでは、様々なネットワークサービス４０２０の基礎とすることのできる検索可能に暗号化されたデーター４０１０を有する信頼されるデーターストア４０００がある。例えば、１つまたは複数のネットワークサービス４０２０は、ドキュメント処理ソフトウェアをクラウドサービスとして実施することを含んでよい。ジオディストリビューションの一部として、または他の点で、それぞれ、異なるアプリケーション／バーチカル／コンプライアンス要件／ソブリンエンティティ要件に調整された任意に複数のオーバレイ／エスクローエー４０３２、４０３４、４０３６を設けることができ、したがって、パブリッシャ２５３０またはサブスクライバー４０５０は、例えば、１組の要件または管轄区域／法定住所に基づいて、参加すべき正しいオーバレイ／エスクローを黙示的または明示的に選択する。このため、オーバレイは変化することができるが、クラウドからのバックエンドサービスは変化せず、コアサービス自体の実施を複雑にすることはない。
【０１３９】
本明細書では、信頼されるデーターサービスがどのように実施されるかを示す様々な例示的で非制限的な実施形態について説明する。これらの実施形態は、互いに独立してきるが、必要に応じて互いに組み合わされてよい。また、上述の実施形態はどれも、いくつかの他の方法で拡張されてよい。例えば、一実施形態では、信頼されるデーターサービスは、トラップドアまたは機能の満了および取り消しを可能にし、データーのアクセスに対するセキュリティを向上させる。他の実施形態では、信頼されるデーターサービスの実施に権利管理層が組み込まれ、例えば、暗号化／解読の一部としてコンテンツに与えられた権利が維持されるか、または平文においてより容易に認識可能または検出可能であるデジタルエスクロー内の著作権のあるデーターに対する行為が防止される。したがって、本明細書で説明する実施形態を組み合わせるか置き換えたあらゆる実施形態は本開示の範囲内と考えられる。
【０１４０】
例示的で非制限的な実装
デジタルエスクローパターンの例示的な実装は連携信頼オーバレイ（ＦＴＯ）と呼ばれる。付録Ａには、ＦＴＯ実装に関する非制限的な他のいくつかの詳細情報が記載されている。
【０１４１】
なお、デジタルエスクローパターンは、考えられる多くのパターンおよび変形例の一例に過ぎない。また、このパターン（パブリッシャ、サブスクライバー、管理者、および監査担当者を含み、場合によっては上述のように特殊な他のロールを含む）は、ＣＴＰ、ＣＳＰ、ＣＫＧなどの「政教」分離を実行して信頼を維持する下層の他のＦＴＯパターン上に層化される。互いに干渉せずに、かつ互いの存在も知らずに共存することができる互いに独立した複数のＦＴＯおよびＤＥＰがあってもよい。また、ＤＥＰパターンおよびＦＴＯパターンを、クラウドストレージサービスプロバイダーが、協調することも、これらのパターン／オーバレイの存在に関して知ることもなしにクラウドストレージ上に重ねることが可能である。
【０１４２】
詳細には、ＦＴＯは、クラウド内のデーターサービスから独立した１組のサービスである。これらのサービスは、データーサービスの運用者以外の当事者によって運用され、クラウドサービスによって受け入れられるデーターについての機密性、改ざん検出、および否認防止に関する保証を確実にすることができる。
【０１４３】
あらゆる提携者が、これらのオーバレイサービス、例えば仲介サービス、検証サービス、ストレージ抽象化サービスなどを構築し受け入れることができる。これらの提携者は、基準実装を受け入れるか、または広く利用可能なフォーマットおよびプロトコルに基づいて独自の実装を構築することを選択することができる。
【０１４４】
フォーマット、プロトコル、および基準実装が開放性であるため、ＦＴＯの運用者およびデーター所有者のような当事者同士の間で制御の分離を維持するのが容易である。
【０１４５】
暗号化はこのソリューションの一要素であるが、様々な当事者が連携して各サービスを調和させることもソリューションの一部である。従来の暗号化技術は、多数のシナリオに対して強制的に実施されるが、改ざん検出、否認防止、（信頼できない）複数のサービスを調和させることによる信頼の構築、データーレポジトリの検索のようなシナリオの多くを有効化するのを妨げる。
【０１４６】
補足コンテキスト
非制限的な他のあるコンテキストでは、上述のように、信頼される１組のクラウドサービスが、信頼上に構築されるクラウド用のアプリケーションエコシステムを有効化する。本明細書で使用される様々な用語には、ＣＫＧとは、マルチテナントキー生成センターを受け入れるエンティティのことであるＣＫＧ−キー生成センターが含まれ、例えば、Ｍｉｃｒｏｓｏｆｔ、ＶｅｒｉＳｉｇｎ、Ｆｉｄｅｌｉｔｙ、Ａ  Ｓｏｖｅｒｅｉｇｎ  Ｅｎｔｉｔｙ、Ｅｎｔｅｒｐｒｉｓｅ、Ｃｏｍｐｌｉａｎｃｅ  ＥｎｔｉｔｙなどがＣＫＧを受け入れることができる。他の用語には、ＣＴＰとは、信頼されるエコシステムに使用できる暗号化技術を実施するエンティティのことであるＣＴＰ−暗号技術プロバイダーが含まれ、例えば、Ｓｙｍａｎｔｅｃ、Ｃｅｒｔｉｃｏｍ、Ｖｏｌｔａｇｅ、ＰＧＰ  Ｃｏｒｐ、ＢｉｔＡｒｍｏｒ、Ｅｎｔｅｒｐｒｉｓｅ、Ｇｕａｒｄｉａｎ、Ｓｏｖｅｒｅｉｇｎ  ＥｎｔｉｔｙなどがＣＴＰとなることができる会社の例である。
【０１４７】
また、語ＣＳＰ−クラウドサービスプロバイダーは、ストレージを含むクラウドサービスを実施するエンティティである。様々な会社がこのようなデーターサービスを実施することができる。ＣＩＶ−クラウドインデックス検証者は、返されるインデックスを検証する第２のレポジトリである。ＣＳＡ−コンピュートストレージ抽象化は、ストレージバックエンドを抽象化する。ＳＴＦ−ストレージ転送フォーマットは、データー／メタデーターをレポジトリ同士の間を転送する汎用フォーマットである。
【０１４８】
なお、上述のように、いくつかのエンタープライズシナリオは、データーサービス技術またはアプリケーション、設計、およびエンジニアリング分析を使用してエクストラネットを構成し、製造業者と１つまたは複数の供給業者とのデーター関係を定義することを含む。したがって、信頼を複数のエンティティ間に分散させ、それによって、「過度に」信頼されるエンティティまたは単一の侵害点が存在しなくなるようにすることによって、様々なシナリオの全体に対して固有のエコシステムが有効化される。
【０１４９】
検索可能な暗号化に関するある補足コンテキストに関しては、ユーザーは通常、１つまたは複数のキーワードに関する「機能」または「トラップドア」を有するかまたは取得し、次いで、キーワードをサーバーに提示する「機能」を使用して要求を送信する。サーバーは、機能とインデックスを「組み合わせ」、関連するドキュメントまたはデーターを見つける。次に、ユーザーは、検索の結果として得られるドキュメントにのみアクセスできるようになる（ただし、ユーザーはこれらのドキュメント以外にアクセスできてもよい）。
【０１５０】
上述のように、どのアルゴリズムも、本明細書で説明するような検索可能に暗号化されたデーターストアの実現に対する制限とみなすべきではないが、以下に、例示的で非制限的なアルゴリズムの理論の一部を概略的に述べ、ＳＳＥ（Ｓｅａｒｃｈａｂｌｅ  Ｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ）パターンの基本事項を説明する。
・メッセージ：ｍ
・キーワード：ｗ1、．．．、ｗn
・ＰＲＦ：Ｈ
・エスクローキーを生成する。
・ＨにランダムＳを選択する。
・暗号化する。
・ランダムキーＫを選択する。
・ランダム固定長ｒを選択する。
・１≦ｉ≦ｎの場合、
ａi＝Ｈs（ｗi）を計算する。
ｂi＝Ｈai（ｒ）を計算する。
【０１５１】
【数１】
2012530391.tif 000003
【０１５２】
を計算する。
（ＥK（ｍ）、ｒ、ｃ1、．．．、ｃn）を出力する。
・ｗに関するトラップドアまたは機能を生成する。
・ｄ＝ＨSj（ｗ）
・ｗに関する試験を行う。
・ｐ＝Ｈd（ｒ）を計算する。
・
【０１５３】
【数２】
2012530391.tif 000004
【０１５４】
を計算する。
・ｚ＝フラグの場合に「真」を出力する。
・ＥK（ｍ）を解読してｍを取得する。
【０１５５】
この場合も、本明細書で説明する実施形態に対する制限とみなすべきではないが、以下に公開キー暗号化ｗ／キーワード検索（ＰＥＫＳ）パターンに関する基本事項について説明する。
公開キー暗号化
ａ．ＰＫＥ＝（Ｇｅｎ、Ｅｎｃ、Ｄｅｃ）
ＩＤベースの暗号化
ｂ．ＩＢＥ＝（Ｇｅｎ、Ｅｎｃ、Ｅｘｔｒａｃｔ、Ｄｅｃ）
ｃ．マスタキーを生成する。
ｉ．（ｍｓｋ、ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ｄ．ＩＤに関してｍを暗号化する。
ｉ．ｃ＝ＩＢＥ．Ｅｎｃ（ｍｐｋ、ＩＤ、ｍ）
ｅ．ＩＤの秘密キーを生成する。
ｉ．ｓｋ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ、ＩＤ）
ｆ．解読する。
ｉ．ｍ＝ＩＢＥ．Ｄｅｃ（ｓｋ、ｃ）
ｇ．メッセージ：ｍ
ｈ．キーワード：ｗ1、．．．、ｗn
ｉ．エスクローキーを生成する。
ｉ．（ｍｓｋ、ｍｐｋ）＝ＩＢＥ．Ｇｅｎ（）
ｉｉ．（ｐｋ、ｓｋ）＝ＰＫＥ．Ｇｅｎ（）
ｊ．暗号化する。
ｋ．１≦ｉ≦ｎの場合、
ｉ．ｃi＝ＩＢＥ．Ｅｎｃ（ｍｐｋ、ｗi、フラグ）
ｌ．（ＰＫＥ．Ｅｎｃ（ｐｋ、ｍ）、ｃ1、．．．、ｃn）を返す。
ｍ．ｗに関する機能またはトラップドアを生成する。
ｉ．ｄ＝ＩＢＥ．Ｅｘｔｒａｃｔ（ｍｓｋ、ｗ）
ｎ．ｗに関する試験を行う。
ｏ．１≦ｉ≦ｎの場合、
ｉ．ｚ＝ＩＢＥ．Ｄｅｃ（ｄ、ｃi）
ｉｉ．ｚ＝フラグの場合に「真」を出力する。
・ＥK（ｍ）を解読してｍを取得する。
【０１５６】
例示的なネットワーク化された分散環境
当業者なら、信頼されるクラウドサービスフレームワークに関する方法および装置の様々な実施形態ならびに本明細書で説明する関連する実施形態を、コンピュータネットワークの一部としてまたは分散コンピューティング環境内に配置することができ、かつ任意の種類のデーターストアに接続することができる任意のコンピュータまたは他のクライアントデバイスもしくはサーバーデバイスに関連して実施できることを理解することができよう。この場合、本明細書で説明する様々な実施形態は、任意の数のメモリーユニットまたはストレージユニット、および任意の数のストレージユニット間で実行される任意の数のアプリケーションおよびプロセスを有する任意のコンピュータシステムまたは環境で実施されてよい。これには、ネットワーク環境、またはリモートストレージもしくはローカルストレージを有する分散コンピューティング環境内に配置されたサーバーコンピュータおよびクライアントコンピュータを有する環境が含まれるがそれに限らない。
【０１５７】
図４１は、ネットワーク化コンピュータ環境または分散コンピューティング環境の非制限的な概略図である。この分散コンピューティング環境は、コンピュータオブジェクト４１１０、４１１２などと、アプリケーション４１３０、４１３２、４１３４、４１３６、４１３８で表されているプログラム、方法、データーストア、プログラマブル論理などを含んでよいコンピューティングオブジェクトまたはデバイス４１２０、４１２２、４１２４、４１２６、４１２８などとを備えている。オブジェクト４１１０、４１１２など、およびコンピューティングオブジェクトまたはデバイス４１２０、４１２２、４１２４、４１２６、４１２８などが、ＰＤＡ、オーディオ／ビデオデバイス、携帯電話、ＭＰ３プレーヤ、ラップトップのような様々なデバイスを備えてよいことが理解できよう。
【０１５８】
各オブジェクト４１１０、４１１２など、およびコンピューティングオブジェクトまたはデバイス４１２０、４１２２、４１２４、４１２６、４１２８などは、通信ネットワーク４１４０を介して直接的または間接的にオブジェクト４１１０、４１１２など、およびコンピューティングオブジェクトまたはデバイス４１２０、４１２２、４１２４、４１２６、４１２８などと通信することができる。ネットワーク４１４０は、図４１では単一の要素として示されているが、図４１のシステムに対してサービスを実施する他のコンピューティングオブジェクトおよびコンピューティングデバイスを備えてよく、かつ／または図示されていない複数の相互に接続されたネットワークを表してよい。各オブジェクト４１１０、４１１２など、およびコンピューティングオブジェクトまたはデバイス４１２０、４１２２、４１２４、４１２６、４１２８などは、ＡＰＩ、または様々な実施形態によって実現される信頼されるクラウドコンピューティングサービスまたはアプリケーションとの通信または信頼されるクラウドコンピューティングサービスまたはアプリケーションの実施に適した他のオブジェクト、ソフトウェア、ファームウェア、および／またはハードウェアを利用するアプリケーション４１３０、４１３２、４１３４、４１３６、４１３８などもアプリケーションを含んでもよい。
【０１５９】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成がある。例えば、コンピュータシステムは、有線システムもしくは無線システム、ローカルネットワーク、または広く分散されたネットワークによって互いに接続することができる。現在、多数のネットワークが、広く分散されたコンピューティング用のインフラストラクチャを実現しかつ多数の異なるネットワークを包含するインタネットに結合されている。ただし、様々な実施形態で説明した技術に付随する例示的な通信に任意のネットワークインフラストラクチャを使用することができる。
【０１６０】
したがって、クライアント／サーバアーキテクチャ、ピアツーピアアーキテクチャ、またはハイブリッドアーキテクチャのような多数のネットワークトポロジーおよびネットワークインフラストラクチャを利用することができる。クライアント／サーバアーキテクチャ、特にネットワーク化システムでは、クライアントは通常、他のコンピュータ、例えばサーバーから供給される共有ネットワークリソースにアクセスするコンピュータである。図４１の例では、非制限的な例として、コンピュータ４１２０、４１２２、４１２４、４１２６、４１２８などがクライアントとみなされてよく、コンピュータ４１１０、４１１２などがサーバーとみなされてよく、この場合、サーバー４１１０、４１１２などは、クライアントコンピュータ４１２０、４１２２、４１２４、４１２６、４１２８などからのデーターの受信、データーの記憶、データーの処理、クライアントコンピュータ４１２０、４１２２、４１２４、４１２６、４１２８などへのデーターの送信などのデーターサービスを実施する。ただし、状況に応じて、任意のコンピュータがクライアントとみなされても、サーバーとみなされても、その両方とみなされてもよい。これらのコンピューティングデバイスはどれも、データーを処理するか、または本明細書で１つまたは複数の実施形態に関して説明した改良されたユーザープロファイルおよび関連する技術に関するサービスまたはタスクを要求することができる。
【０１６１】
サーバーは通常、インタネットまたは無線ネットワークインフラストラクチャのようなリモートネットワークまたはローカルネットワークを介してアクセス可能なリモートコンピュータシステムである。クライアントプロセスは第１のコンピュータでアクティブであってよく、サーバープロセスは第２のコンピュータシステムでアクティブであってよく、これらのプロセスは、通信媒体を介して互いに通信し、したがって、分散機能を実施し、複数のクライアントがサーバーの情報収集機能を利用できるようにする。ユーザープロファイルに従って利用されるあらゆるソフトウェアオブジェクトが、互いに独立に設けられるか、または複数のコンピューティングデバイスもしくはコンピューティングオブジェクト間に分散されてよい。
【０１６２】
通信ネットワーク／バス４１４０がインタネットであるネットワーク環境では、サーバー４１１０、４１１２などは、クライアントコンピュータ４１２０、４１２２、４１２４、４１２６、４１２８などがハイパーテキストトランスファプロトコル（ＨＴＴＰ）のようないくつかの公知のプロトコルを介して通信するウェブサーバーであってよい。サーバー４１１０、４１１２などは、クライアント４１２０、４１２２、４１２４、４１２６、４１２８などとして働いてもよく、このことは分散コンピューティング環境の特徴である。
【０１６３】
例示的なコンピューティングデバイス
上述のように、本明細書で説明する様々な実施形態は、信頼されるクラウドサービスフレームワークの１つまたは複数の部分を実現することが望ましいと考えられるあらゆるデバイスに適用される。したがって、すべての種類のハンドヘルドコンピューティングデバイスおよびコンピューティングオブジェクト、ポータブルコンピューティングデバイスおよびコンピューティングオブジェクト、およびその他のコンピューティングデバイスおよびコンピューティングオブジェクトが、本明細書で説明した様々な実施形態に関連して使用することができ、すなわち、あるデバイスが信頼されるクラウドサービスフレームワークに関連してある機能を実施できるあらゆる場合に使用できると考えられることを理解されたい。したがって、以下に図４２で説明する汎用リモートコンピュータは一例に過ぎず、本開示の実施形態は、ネットワーク／バスとの相互運用性および相互作用が可能なあらゆるクライアントによって実現されてよい。
【０１６４】
いずれの実施形態も、デバイスまたはオブジェクト用のサービスの開発者によって使用できるオペレーティングシステムを介して部分的に実現され、かつ／または動作可能な１つまたは複数のコンポーネントに関連して動作するアプリケーションソフトウェア内に含まれてよい。ソフトウェアは、クライアントワークステーション、サーバー、またはその他のデバイスのような１つまたは複数のコンピュータによって実行されるプログラムモジュールのようなコンピュータで実行可能な命令の一般的なコンテキストで記述されてよい。当業者には、様々なコンピュータシステム構成およびプロトコルによってネットワークの相互作用を実施できることが理解されよう。
【０１６５】
図４２は、１つまたは複数の実施形態を実現することのできる適切なコンピューティングシステム環境の一例を示している。ただし、上記で明らかなように、コンピューティングシステム環境４２００は、適切なコンピューティング環境の一例に過ぎず、いずれかの実施形態の用途または機能の範囲に関する制限を示唆するものではない。コンピューティング環境４２００を、例示的な動作環境４２００に示されているコンポーネントのいずれかまたは組み合わせに関する依存性または要件を有するものと解釈すべきでもない。
【０１６６】
図４２を参照すると分かるように、本明細書の１つまたは複数の実施形態を実現する例示的なリモートデバイスは、ハンドヘルドコンピュータ４２１０の形をした汎用コンピューティングデバイスを含んでもよい。ハンドヘルドコンピュータ４２１０のコンポーネントには、処理ユニット４２２０、システムメモリー４２３０、およびシステムメモリーを含む様々なシステムコンポーネントを処理ユニット４２２０に結合するシステムバス４２２１を含めてよいがそれらに限らない。
【０１６７】
コンピュータ４２１０は通常、コンピュータ読み取り可能な様々な媒体を含み、コンピュータ４２１０によってアクセスできる任意の利用可能な媒体であってよい。システムメモリー４２３０は、読み取り専用メモリー（ＲＯＭ）および／またはランダムアクセスメモリー（ＲＡＭ）のような揮発性メモリーおよび／または非揮発性メモリーの形をしたコンピュータ記憶媒体を含んでよい。制限ではなく一例として、メモリー４２３０は、オペレーティングシステム、アプリケーションプログラム、その他のプログラムモジュール、およびプログラムデーターを含んでもよい。
【０１６８】
ユーザーは、入力デバイス４２４０を通じてコンピュータ４２１０にコマンドおよび情報を入力することができる。モニタまたは他の種類のディスプレイデバイスも、出力インタフェース４２５０などのインタフェースを介してシステムバス４２２１に接続されている。コンピュータは、モニタだけでなく、出力インタフェース４２５０を通じて接続することのできる、スピーカおよびプリンタのような他の周辺出力デバイスも含んでよい。
【０１６９】
コンピュータ４２１０は、リモートコンピュータ４２７０のような１つまたは複数の他のリモートコンピュータとの論理接続を使用してネットワーク化環境または分散環境で動作することができる。リモートコンピュータ４２７０は、パーソナルコンピュータ、サーバー、ルータ、ネットワークＰＣ、ピアデバイスもしくは一般的な他のネットワークノード、または他の任意のリモート媒体消費デバイスまたはリモート媒体送信デバイスであってよく、上記にコンピュータ４２１０に関して説明した要素のいずれかまたはすべてを含んでよい。図４２に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）のようなネットワーク４２７１を含むが、他のネットワーク／バスを含んでもよい。このようなネットワーク環境は、家庭、オフィス、エンタープライズ全体のコンピュータネットワーク、イントラネット、およびインタネットで一般的な環境である。
【０１７０】
上述のように、様々なコンピューティングデバイス、ネットワーク、および広告アーキテクチャに関連して例示的な実施形態について説明したが、基本的な概念は、クラウドサービスとの相互作用に関連して信頼を実現することが望ましいあらゆるネットワークシステムおよびあらゆるコンピューティングデバイスまたはコンピューティングシステムに適用されてよい。
【０１７１】
本明細書で説明した実施形態の１つまたは複数を実現する方法として、例えば、アプリケーションおよびサービスが信頼されるクラウドサービスフレームワークを使用できるようにする適切なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、コントリール、スタンドアロンソフトウェアオブジェクト、またはダウンロード可能なソフトウェアオブジェクトなどのような多数の方法がある。各実施形態は、ＡＰＩ（または他のソフトウェアオブジェクト）の観点から検討することができるとともに、前述の１つまたは複数の実施形態に従ってポインティングプラットフォームサービスを実施するソフトウェアオブジェクトまたはハードウェアオブジェクトから検討することができる。本明細書で説明する様々な実装および実施形態は、全体的にハードウェアである態様と、一部がハードウェアで一部がソフトウェアである態様と、ソフトウェアの態様とを有してよい。
【０１７２】
「例示的な」という語は、本明細書では、一例、インスタンス、または例示として働くことを意味するのに使用されている。また、本明細書で「例示的」であると記載されたあらゆる態様または設計は、必ずしも他の態様または設計よりも好ましいかまたは有利であると解釈されるものではなく、また、当業者に知られている例示的な同等の構造および技術を除外することを意味するものでもない。また、語「含む（ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｓ）」、「含む（ｃｏｎｔａｉｎｓ）」および他の同様の語が詳細な説明または特許請求の範囲で使用されている範囲で、誤解を避けるために述べておくと、このような語は、追加的な要素または他の要素を除外せずにオープンな転換語としての語「備える（ｃｏｍｐｒｉｓｉｎｇ）」と同様に包含的な語である。
【０１７３】
上述のように、本明細書で説明した様々な技術は、ハードウェアもしくはソフトウェア、または必要に応じて、ハードウェアとソフトウェアの組み合わせに関連して実施されてよい。本明細書では、「コンポーネント」、「システム」などの用語は同様に、コンピュータに関するエンティティ、すなわち、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアを指すものである。例えば、コンポーネントは、プロセッサー上で実行されるプロセス、プロセッサー、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであってよいが、それらに限らない。一例として、コンピュータ上で実行されるアプリケーションとコンピュータの両方がコンポーネントであってよい。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に存在してよく、コンポーネントは、１つのコンピュータ上にローカライズされ、かつ／または２つ以上のコンピュータ間に分散されてよい。
【０１７４】
前述のシステムは、いくつかのコンポーネント間の相互作用に関して記載されている。このようなシステムおよびコンポーネントが、これらのコンポーネントもしくは指定されたサブコンポーネント、指定されたコンポーネントもしくはサブコンポーネントのいくつか、および／または他のコンポーネント、ならびにこれらを置き換えた様々なコンポーネントおよびこれらを組み合わせた様々なサポートを含んでよいことが理解されよう。サブコンポーネントは、親コンポーネント内に含まれる（階層型）のではなく、他のコンポーネントに通信可能に結合された１つまたは複数のコンポーネントとして実現されてもよい。また、１つまたは複数のコンポーネントを、集約的な機能を実施する単一のコンポーネントとして組み合わせるか、またはいくつかの別個のサブコンポーネントとして分割し、管理層のような１つまたは複数の中央層をそのようなサブコンポーネントに通信可能に結合して統合機能を実施してもよいことに留意されたい。本明細書で説明したあらゆるコンポーネントは、本明細書で具体的に説明していないが当業者には広く知られている１つまたは複数の他のコンポーネントと相互作用してもよい。
【０１７５】
上述の例示的なシステムを考慮すると、開示された本主題に従って実施することのできる方法は、様々な図のフローチャートを参照することによってよりよく理解されよう。説明を簡単にするために、これらの方法を一連のブロックとして図示し説明しているが、いくつかのブロックは、異なる順序で実施されることがあり、かつ／または本明細書で図示し説明したブロック以外のブロックと同時に実施されることがあるため、請求された主題がブロックの順序に限定されないことを理解されたい。フローチャートを介して不連続フローまたは分岐フローが示されている場合、同じまたは同様の結果を実現する様々な他の分岐、フローパス、およびブロックの順序を実施できることが理解されよう。さらに、以下に説明する方法を実施するうえで例示されたすべてのブロックが必要であるわけではない。
【０１７６】
いくつかの実施形態では、クライアント側の視点が示されているが、誤解を避けるために述べておくと、対応するサーバー視点が存在しており、サーバー側の視点が示されている場合には、対応するクライアント視点が存在することを理解されたい。同様に、方法が実施される場合、ストレージと、１つまたは複数のコンポーネントを介してこの方法を実施するように構成された少なくとも１つのプロセッサーとを有する対応するデバイスを設けることができる。
【０１７７】
様々な図の好ましい実施形態に関連して様々な実施形態を説明したが、他の同様の実施形態を使用するか、または上述の実施形態に修正および追加を施して上述の実施形態から逸脱せずに同じ機能を実行することができることを理解されたい。また、上述の実施形態の１つまたは複数の態様を複数の処理チップまたは処理デバイス内でまたは複数の処理チップまたは処理デバイス間で実現することができ、同様に複数のデバイス間でストレージを実施することができる。したがって、本発明は、単一の実施形態に限定すべきではなく、むしろ特許請求の範囲による範囲内で解釈すべきである。
【図１】
2012530391.tif 000005
【図２】
2012530391.tif 000006
【図３】
2012530391.tif 000007
【図４】
2012530391.tif 000008
【図５】
2012530391.tif 000009
【図６】
2012530391.tif 000010
【図７】
2012530391.tif 000011
【図８】
2012530391.tif 000012
【図９】
2012530391.tif 000013
【図１０】
2012530391.tif 000014
【図１１】
2012530391.tif 000015
【図１２】
2012530391.tif 000016
【図１３】
2012530391.tif 000017
【図１４】
2012530391.tif 000018
【図１５】
2012530391.tif 000019
【図１６】
2012530391.tif 000020
【図１７】
2012530391.tif 000021
【図１８】
2012530391.tif 000022
【図１９】
2012530391.tif 000023
【図２０】
2012530391.tif 000024
【図２１】
2012530391.tif 000025
【図２２】
2012530391.tif 000026
【図２３】
2012530391.tif 000027
【図２４】
2012530391.tif 000028
【図２５】
2012530391.tif 000029
【図２６】
2012530391.tif 000030
【図２７】
2012530391.tif 000031
【図２８】
2012530391.tif 000032
【図２９】
2012530391.tif 000033
【図３０】
2012530391.tif 000034
【図３１】
2012530391.tif 000035
【図３２】
2012530391.tif 000036
【図３３】
2012530391.tif 000037
【図３４】
2012530391.tif 000038
【図３５】
2012530391.tif 000039
【図３６】
2012530391.tif 000040
【図３７】
2012530391.tif 000041
【図３８】
2012530391.tif 000042
【図３９】
2012530391.tif 000043
【図４０】
2012530391.tif 000044
【図４１】
2012530391.tif 000045
【図４２】
2012530391.tif 000046
【国際調査報告】
2012530391.tif 000047
2012530391.tif 000048