(57)【要約】  コンピューティング環境で機密情報を安全に共有するシステム及び方法。当該方法は、第１コンピューティング環境の第１エンティティによって、第１コンピューティング環境の機密情報を受信し、第１コンピューティング環境の第２エンティティから、機密情報を共有するための要求を受信し、第２エンティティが、第２コンピューティング環境に関連付けられた設定サービスによって保持された信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断する。第２エンティティが信頼できるエンティティではない場合、ディレクトリサービスで第２エンティティの加入を認証し、且つ証明機関で第２エンティティに対応するデジタル証明書を認証することによって、第２エンティティが信頼を確立することができるか否かを判断する。第２エンティティが信頼を確立することができた場合、又は第２エンティティが信頼できるエンティティである場合、第２エンティティの動作を有効にするために第２エンティティと機密情報を共有する。
2021533599.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング環境で機密情報を安全に共有する方法であって、
第１コンピューティング環境の第１エンティティによって、
前記第１コンピューティング環境に対応する機密情報を受信し、
前記第１コンピューティング環境の第２エンティティから、前記第１エンティティと前記第２エンティティとの間で前記機密情報を共有するための要求を受信し、
前記第２エンティティが、第２コンピューティング環境に関連付けられた設定サービスによって保持された信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断し、
前記第２エンティティが前記信頼できるエンティティのリストに含まれた信頼できるエンティティではないという判断に応答して、ディレクトリサービスで前記第２エンティティの加入を認証し、且つ証明機関で前記第２エンティティに対応するデジタル証明書を認証することによって、前記第２エンティティが信頼を確立することができるか否かを判断し、
前記第２エンティティが信頼を確立することができたという判断、又は前記第２エンティティが信頼できるエンティティであるという判断に応答して、前記第２エンティティの動作を有効にするために前記第２エンティティと前記機密情報を共有する、方法。
【請求項２】
前記第２エンティティが信頼を確立することができたという判断に応答して、前記第２コンピューティング環境に関連付けられた前記設定サービスによって、前記第２エンティティを前記信頼できるエンティティのリストに追加することをさらに含む、請求項１に記載の方法。
【請求項３】
コンピューティングデバイスによって、
前記機密情報を暗号化するための暗号化キーを生成し、
前記暗号化キーを用いて前記機密情報を暗号化し、
前記暗号化キーを、格納のため、前記設定サービスに送信し、
前記暗号化された機密情報を前記第１エンティティに送信すること、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第１エンティティは、前記第１コンピューティング環境の第１コネクタであり、前記第２エンティティは、前記第１コンピューティング環境の第２コネクタである、請求項１に記載の方法。
【請求項５】
前記第２エンティティが信頼を確立することができなかったという判断に応答して、前記第２エンティティと前記機密情報を共有するための要求を拒否すること、をさらに含む、請求項１に記載の方法。
【請求項６】
前記第２エンティティが信頼を確立することができるか否かの判断は、前記第２エンティティによって、
１つ以上の信頼できるエンティティに関する情報を有するディレクトリサービスに加入し、
プライベートキーと公開キーとを有するプライベート公開キー対を生成し、
前記証明機関から、前記公開キーを有する、前記第２エンティティに対応する前記デジタル証明書を受信し、
信頼できるエンティティのリストに加入するための要求であって、前記第２エンティティに対応する前記デジタル証明書を有する要求を前記設定サービスに送信すること、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記第２エンティティが信頼を確立することができるか否かの判断は、前記第１エンティティによって、前記設定サービスから、前記第２エンティティに対応する前記デジタル証明書を受信することをさらに含み、
前記デジタル証明書は、前記第２エンティティによって生成されたプライベート公開キー対の公開キーを有している、
請求項１に記載の方法。
【請求項８】
前記第２エンティティの動作を有効にするために前記第２エンティティと前記機密情報を共有することは、前記機密情報を前記設定サービスを介して前記第２エンティティに送信することを含む、請求項１に記載の方法。
【請求項９】
前記送信の前に、前記第２エンティティによって生成され、且つ前記デジタル証明書に含まれたプライベート公開キー対の公開キーを使って、前記第１エンティティによって前記機密情報を暗号化することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記第２エンティティによって、
前記送信された暗号化された機密情報を受信し、
前記受信された暗号化された機密情報を前記プライベートキーを用いて復号すること、
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記暗号化された機密情報を前記第２エンティティによって復号したことに応答して、前記設定サービスによって、前記第２エンティティを前記信頼できるエンティティのリストに追加することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記第２エンティティから、前記機密情報を共有するための要求を受信することは、前記第１コンピューティング環境への前記第２エンティティの追加、前記機密情報を共有するためのユーザ要求、又は、前記機密情報を用いて前記第２エンティティを介して第１リソースへアクセスするための要求の少なくとも１つに応答するものである、請求項１に記載の方法。
【請求項１３】
コンピューティング環境で機密情報を安全に共有するコンピューティングシステムであって、
前記システムは、
少なくとも第１エンティティ及び第２エンティティを含む第１コンピューティング環境と、
少なくとも設定サービスを含む第２コンピューティング環境と、
機密情報を共有する方法を実施するプログラミング命令を有する非一時的なコンピュータ読み取り可能な記憶媒体と、
を備え、
前記プログラミング命令は、前記第１エンティティに、
前記第１コンピューティング環境に対応する機密情報を受信し、
前記第１コンピューティング環境の前記第２エンティティから、前記第１エンティティと前記第２エンティティとの間で前記機密情報を共有するための要求を受信し、
前記第２エンティティが、前記設定サービスによって保持された信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断し、
前記第２エンティティが前記信頼できるエンティティのリストに含まれた信頼できるエンティティではないという判断に応答して、ディレクトリサービスで前記第２エンティティの加入を認証し、且つ証明機関で前記第２エンティティに対応するデジタル証明書を認証することによって、前記第２エンティティが信頼を確立することができるか否かを判断し、
前記第２エンティティが信頼を確立することができたという判断、又は前記第２エンティティが信頼できるエンティティであるという判断に応答して、前記第２エンティティの動作を有効にするために前記第２エンティティと前記機密情報を共有すること、
を実行させる命令を含む、システム。
【請求項１４】
前記第２エンティティが信頼を確立することができたという判断に応答して、前記設定サービスに、前記第２エンティティを前記信頼できるエンティティのリストに追加させる命令をさらに含む、請求項１３に記載のシステム。
【請求項１５】
コンピューティングデバイスに、
前記機密情報を暗号化するための暗号化キーを生成し、
前記暗号化キーを用いて前記機密情報を暗号化し、
前記暗号化キーを、格納のため、前記設定サービスに送信し、
前記暗号化された機密情報を前記第１エンティティに送信すること、
を実行させる命令をさらに含む、請求項１３に記載のシステム。
【請求項１６】
前記第１エンティティは、前記第１コンピューティング環境の第１コネクタであり、前記第２エンティティは、前記第１コンピューティング環境の第２コネクタである、請求項１３に記載のシステム。
【請求項１７】
前記第２エンティティが信頼を確立することができなかったという判断に応答して、前記第１エンティティに、前記第２エンティティと前記機密情報を共有するための要求を拒否させる命令をさらに含む、請求項１３に記載のシステム。
【請求項１８】
前記第２エンティティが信頼を確立することができるか否かを判断するために、前記第２エンティティに、
１つ以上の信頼できるエンティティに関する情報を有するディレクトリサービスに加入し、
プライベートキーと公開キーとを有するプライベート公開キー対を生成し、
前記証明機関から、前記公開キーを有する、前記第２エンティティに対応する前記デジタル証明書を受信し、
信頼できるエンティティのリストに加入するための要求であって、前記第２エンティティに対応する前記デジタル証明書を有する要求を前記設定サービスに送信すること、
を実行させる命令をさらに含む、請求項１３に記載のシステム。
【請求項１９】
前記第２エンティティが信頼を確立することができるか否かを前記第１エンティティに判断させる命令は、前記第１エンティティに、前記設定サービスから、前記第２エンティティに対応する前記デジタル証明書を受信させる命令をさらに含み、
前記デジタル証明書は、前記第２エンティティによって生成されたプライベート公開キー対の公開キーを有している、
請求項１３に記載のシステム。
【請求項２０】
前記第２エンティティの動作を有効にするために前記第１エンティティに前記第２エンティティと前記機密情報を共有させる命令は、前記第１エンティティに、前記機密情報を前記設定サービスを介して前記第２エンティティへ送信させる命令を含む、請求項１３に記載のシステム。
【請求項２１】
前記送信の前に、前記第２エンティティによって生成され、且つ前記デジタル証明書に含まれたプライベート公開キー対の公開キーを使って、前記第１エンティティに前記機密情報を暗号化させる命令をさらに含む、請求項２０に記載のシステム。
【請求項２２】
前記第２エンティティに、
前記送信された暗号化された機密情報を受信し、
前記受信された暗号化された機密情報を前記プライベートキーを用いて復号すること、
を実行させる命令をさらに含む、請求項２１に記載のシステム。
【請求項２３】
前記暗号化された機密情報を前記第２エンティティによって復号したことに応答して、前記設定サービスに、前記第２エンティティを前記信頼できるエンティティのリストに追加させる命令をさらに含む、請求項２２に記載のシステム。
【請求項２４】
前記第２エンティティから、前記機密情報を共有するための要求を受信することは、前記第１コンピューティング環境への前記第２エンティティの追加、前記機密情報を共有するためのユーザ要求、又は、前記機密情報を用いて前記第２エンティティを介して第１リソースへアクセスするための要求の少なくとも１つに応答するものである、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１８年８月７日に出願された米国特許出願第１６／０５６，８４８号の優先権を主張し、その開示内容は参照により本明細書に組み込まれる。
【０００２】
本開示は、概してコンピューティングシステムに関する。より詳細には、本開示は、強化されたセキュリティを可能とするコンピューティング環境で機密情報を複製するシステム及び方法の実施に関する。
【背景技術】
【０００３】
クラウドコンピューティングにより、ユーザは、自身のローカルコンピュータ上ではなく遠隔設置されたコンピュータ上で動作するアプリケーション又はサービスを利用することができる。例えば、データをクライアントコンピュータからサーバコンピュータへ転送することによって、データをクラウド内で処理することができる。データはサーバコンピュータで処理された後、その処理データはクライアントコンピュータに戻される。このよに、クライアントコンピュータは、処理タスクをクラウド内のコンピュータにオフロードする。クラウドコンピューティングには多くの利点がある一方で、情報の完全性及びセキュリティは、システム管理者にとって重要な課題となっている。処理対象データは、コンピュータネットワークを通じて転送される必要があるため、数例を挙げると、盗聴、傍受など、オンラインコンピュータセキュリティ上の脅威に対して特に脆弱である。したがって、一人以上のユーザに外部サービスを提供する際、情報セキュリティは最も重要である。
【発明の概要】
【０００４】
本文書は、コンピューティング環境で機密情報を安全に共有するシステム及び方法に関する。当該方法は、第１コンピューティング環境の第１エンティティによって、第１コンピューティング環境に対応する機密情報を受信し、第１コンピューティング環境の第２エンティティから、第１エンティティと第２エンティティとの間で機密情報を共有するための要求を受信し、第２エンティティが、第２コンピューティング環境に関連付けられた設定サービスによって保持された信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断する。第２エンティティが信頼できるエンティティのリストに含まれた信頼できるエンティティではない場合、ディレクトリサービスで第２エンティティの加入を認証し、且つ証明機関で第２エンティティに対応するデジタル証明書を認証することによって、第２エンティティが信頼を確立することができるか否かを判断する。当該方法は、さらに、第２エンティティが信頼を確立することができたという判断、又は第２エンティティが信頼できるエンティティであるという判断に応答して、第２エンティティの動作を有効にするために第２エンティティと機密情報を共有する。第１エンティティを、第１コンピューティング環境の第１コネクタとし、第２エンティティを、第１コンピューティング環境の第２コネクタとすることができる。
【０００５】
いくつかのシナリオにおいて、当該方法は、第２エンティティが信頼を確立することができた場合、第２コンピューティング環境に関連付けられた設定サービスによって、第２エンティティを信頼できるエンティティのリストに追加することを含めてもよい。代替手段として、第２エンティティが信頼を確立することができなかった場合、第１エンティティは、第２エンティティと機密情報を共有するための要求を拒否してもよい。
【０００６】
いくつかの他のシナリオにおいて、当該方法は、機密情報を暗号化するための暗号化キーを生成し、暗号化キーを用いて機密情報を暗号化し、暗号化キーを、格納のため、設定サービスに送信し、暗号化された機密情報を第１エンティティに送信すること、をさらに含む。
【０００７】
１つ以上のシナリオにおいて、第２エンティティが信頼を確立することができるか否かの判断は、ディレクトリサービスに加入し、プライベートキーと公開キーとを有するプライベート公開キー対を生成し、証明機関から、公開キーを有する、第２エンティティに対応するデジタル証明書を受信し、信頼できるエンティティのリストに加入するための要求を設定サービスに送信すること、を含めてもよい。当該要求は、第２エンティティに対応するデジタル証明書を有してもよい。ディレクトリサービスは、１つ以上の信頼できるエンティティに関する情報を有する。
【０００８】
シナリオによっては、第２エンティティが信頼を確立することができるか否かの判断は、第１エンティティによって、設定サービスから、第２エンティティに対応するデジタル証明書を受信することを含めてもよい。デジタル証明書は、第２エンティティによって生成されたプライベート公開キー対の公開キーを有している。
【０００９】
代替手段として、及び／又は、追加手段として、当該方法は、機密情報を設定サービスを介して第２エンティティに送信することによって、第２エンティティの動作を有効にするために第２エンティティと機密情報を共有することを含めてもよい。第１エンティティは、さらに、送信の前に、第２エンティティによって生成され、且つデジタル証明書に含まれたプライベート公開キー対の公開キーを使って、機密情報を暗号化してもよい。代替手段として、当該方法は、第２エンティティによって、送信された暗号化された機密情報を受信し、受信された暗号化された機密情報をプライベートキーを用いて復号すること、を含めてもよい。次いで、設定サービスは、暗号化された機密情報を第２エンティティによって復号したことに応答して、第２エンティティを信頼できるエンティティのリストに追加してもよい。
【００１０】
１つ以上のシナリオにおいて、第２エンティティから、機密情報を共有するための要求を受信することは、第１コンピューティング環境への第２エンティティの追加、機密情報を共有するためのユーザ要求、又は、機密情報を用いて第２エンティティを介して第１リソースへアクセスするための要求、及び／又はこれらの組み合わせに応答するものである。
【図面の簡単な説明】
【００１１】
以下の図面を参照することで本開示は促され、図面全体を通して、同様の参照符号は同様の特徴を表す。
【００１２】
【図１】図１は、例示的なシステムの図である。
【００１３】
【図２】図２は、例示的なコンピューティングデバイスの図である。
【００１４】
【図３】図３は、例示的なコンピューティング環境の図である。
【００１５】
【図４】図４は、外部コンピューティング環境を介して機密情報を安全に送信して格納し、内部コンピューティング環境のエンティティ間で情報を共有する方法の一例を示すフローチャートである。
【００１６】
【図５】図５は、内部コンピューティング環境のエンティティ間で機密情報を共有し、及び／又は、複製する方法の一例を示すメッセージフロー図である。
【発明を実施するための形態】
【００１７】
本明細書で一般的に説明され、添付図面に示された実施形態の構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されよう。したがって、図示されている様々な実施形態の以下のより詳細な説明は、本開示の範囲を限定するものではなく、様々な実施形態の単なる代表例である。実施形態の様々な態様が図示されているが、特に明示しない限り、図面は必ずしも縮尺通りに描かれていない。
【００１８】
本明細書に示された実施例は、その精神又は本質的な特徴から逸脱することなく、他の特定の形態で具現化することができる。説明された実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈してはならない。したがって、本開示の範囲は、添付の特許請求の範囲によって示されるのであって、この詳細な説明には、なんら拘束されない。特許請求の範囲の均等物の意味及び範囲内における変更はすべて本開示の範囲内に包含されるべきである。
【００１９】
本明細書全体を通して、特徴、利点、又は類似の用語への言及は、実現され得る特徴及び利点のすべてが任意の単一の実施形態にあるべきであることを意味しない。むしろ、特徴及び利点に言及する用語は、実施形態に関連して説明される特定の特徴、利点、又は特性が少なくとも１つの実施形態に含まれることを意味すると理解される。したがって、本明細書全体にわたる特徴及び利点、並びに類似の言語の議論は、必ずしもそうではないが、同じ実施形態を指す場合がある。
【００２０】
さらに、本開示に記載された特徴、利点、及び特性は、１つ以上の実施形態において任意の適切な方法で組み合わせることができる。当業者は、本明細書の説明に照らして、特定の実施形態の１つ以上の特定の特徴又は利点なしで本明細書に記載された実施例が実施可能であることを認識するであろう。他の例では、すべての実施形態で示されていない特定の実施形態において、追加の特徴及び利点が認識される場合がある。
【００２１】
本明細書全体を通して、「一実施形態」（one embodiment）、「実施形態」（an embodiment）、又は同様の文言への言及は、示された実施形態に関連して説明された特定の特徴、構造、又は特性が少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通して、「一実施形態では」（in one embodiment）、「実施形態では」（in an embodiment）という文言、及び同様の文言は、必ずしもそうではないが、すべて同じ実施形態を指す場合がある。
【００２２】
本文書で用いられている単数形「a」、「an」、及び「the」は、文脈上特に明記されていない限り、複数形の言及を含む。別段に定義されていない限り、本明細書で用いられているすべての技術用語及び科学用語は、当業者によって一般に理解されるのと同じ意味を有する。本文書で用いられている「備える／有する」（comprising）という用語は「含むが、それに限定されない」（including, but not limited to）ことを意味する。
【００２３】
本明細書で用いられている用語「機密情報」（sensitive information）は、ユーザ又はエンティティのプライバシー及び／又はセキュリティを守るために、不正アクセスから保護されたデータを指す。例として、アクセス認証情報、個人情報、医療情報、財務情報、社会保障情報などの固有識別子、生体認証データ、企業秘密、顧客及び供給者情報、従業員データなどが挙げられる。
【００２４】
しばしば、コンピューティング環境において、企業の一部のリソースは、外部から管理され、且つサービスプロバイダ（例えば、外部サービスプロバイダ）のコンピューティング環境内にある一方で、企業の他のリソースは、企業内で管理され、且つ企業自身のサーバ又は他のコンピューティングデバイス内にある。しかしながら、外部コンピューティング環境又はサーバ（例えば、クラウドサーバ）は、公開されており、信頼できない。そのため、一部のエンティティは、機密情報へのアクセスを要するアプリケーションの使用に消極的である可能性がある。また、ユーザは、機密情報（例えば、識別認証情報）を、企業のコンピューティングデバイスの１つにある、企業内で管理されたアプリケーション又は他のリソースに送信することができるが、その機密情報は、ユーザのデバイスから内部リソースに、サービスプロバイダによって提供された外部コンピューティング環境を介して送信され得る。その結果、サービスプロバイダは、その機密情報にアクセスできてしまう。例えば、サービスプロバイダは、シングルサインオンシステムを介して様々なリソース又はアプリケーションへのアクセスを制御することができ、そのシステムでは、サービスプロバイダのネットワーク又はシステム上のパスワードマネージャー（ソフトウェアアプリケーション／エージェント／プロセスなど）が、安全なアプリケーションにユーザ認証情報を提供する役目を担っている。特定のユーザのユーザ認証情報は、当該ユーザに関連付けられた暗号化キーを用いて暗号化された後、通常、パスワードマネージャーがアクセス可能な箇所に暗号化形式で格納される。ユーザ認証情報を要する安全なアプリケーションへアクセスするという、認証されたユーザによる要求は、パスワードマネージャーによって傍受されるため、サービスプロバイダによってアクセス可能である。さらに、ユーザに関連付けられた暗号化キーをそのまま格納することは、そのキーが悪意のあるエンティティによって盗まれ、それによって、識別認証情報などの機密情報をさらすおそれがあるため、セキュリティ上の脆弱性を表している。
【００２５】
外部の公開されたコンピューティング環境が機密情報にアクセスするのを防ぐため、例えば、暗号化キーを用いて機密情報を暗号化する方法がある。その方法は、第１コンピューティング環境（例えば、公開されたコンピューティング環境）が機密情報にアクセスできないように、暗号化キーを第１コンピューティング環境で格納し、暗号化された機密情報を第２コンピューティング環境（例えば、企業自身の内部コンピューティング環境のコネクタ又は別のサーバ）で格納することもできる。しばしば、企業の内部コンピューティング環境は、冗長性、効率、及び高可用性の理由を示すため、内部コンピューティング環境の１つ以上のリソースに機密情報を供給するための複数のサーバ（例えば、コネクタ）を配置することがある。しかしながら、複数のサーバ間で必ずしも直接通信をしているわけではない。したがって、例えば、機密情報が暗号化され、第１サーバで格納された後に、新たなサーバがセットアップされ、及び／又は、機密情報にアクセスする必要があるとき、又は、機密情報が更新されたとき、そのようなサーバ間で機密情報を安全に共有し、又は複製することは、いまだ課題である。
【００２６】
ここで図１を参照すると、本明細書で説明する実施形態が実現される例示的なコンピューティング環境を示す概略ブロック図が示されている。図１は、１つ以上のサーバ１０６Ａ〜１０６Ｎ（本明細書では概して「サーバ１０６Ａ〜Ｎ」と称する。）と通信する１つ以上のクライアントマシン１０２Ａ〜１０２Ｎ（本明細書では概して「クライアントマシン１０２Ａ〜Ｎ」と称する。）を備えるコンピューティング環境１０１の一実施形態を示す。クライアントマシン１０２Ａ〜Ｎとサーバ１０６Ａ〜Ｎとの間にはネットワーク１０４が設けられている。
【００２７】
一実施形態において、コンピューティング環境１０１は、サーバ１０６Ａ〜Ｎとクライアントマシン１０２Ａ〜Ｎとの間に設置されたアプライアンスを備えることができる（ここでは図示せず。）。このアプライアンスはクライアント／サーバ接続を管理しており、場合によっては、複数のバックエンドサーバ間でクライアント接続の負荷を分散することができる。例えば、当該アプライアンスは、コンピューティング環境でサーバ１０６Ａ〜Ｎがホストするコンピューティングリソース（クラウドハードウェア及びソフトウェアリソース）へのアクセスのため、クライアントマシン１０２Ａ〜Ｎとサーバ１０６Ａ〜Ｎとの間の通信リンクを提供する、コンピューティング環境コネクタ（以下、「コネクタ」と称する。）などの管理サーバ及び／又は別のサーバである。コンピューティング環境ハードウェア及びソフトウェアリソースは、プライベート及び／又はパブリックコンポーネントを有することができる。例えば、コンピューティング環境は、１以上の特定の顧客又はクライアントコンピュータによって使用され、及び／又はプライベートネットワークを介して使用されるプライベートコンピューティング環境又はコンピューティングデバイスとして構成され得る。他の実施形態において、パブリック又はパブリック−プライベートコンピューティング環境は、オープン又はクローズドネットワークを介して他の顧客によって使用され得る。
【００２８】
クライアントマシン１０２Ａ〜Ｎについて、いくつかの実施形態では、単一のクライアントマシン又は単一グループのクライアントマシンと称することができ、一方、サーバ１０６Ａ〜Ｎは、単一のサーバ又は単一グループのサーバと称される。一実施形態では、単一のクライアントマシンが複数のサーバと通信し、一方、別の実施形態では、単一のサーバが複数のクライアントマシンと通信する。さらに別の実施形態では、単一のクライアントマシンが単一のサーバと通信する。
【００２９】
クライアントマシン１０２Ａ〜Ｎは、いくつかの実施形態では、以下の用語のいずれか１つによって言及することができる：クライアントマシン；クライアント；クライアントコンピュータ；クライアントデバイス；クライアントコンピューティングデバイス；ローカルマシン；リモートマシン；クライアントノード；エンドポイント；エンドポイントノード；又は第２のマシン。サーバ１０６Ａ〜Ｎは、いくつかの実施形態では、以下の用語のいずれか１つによって言及される：サーバ；ローカルマシン；リモートマシン；サーバファーム；ホストコンピューティングデバイス；又は第１のマシン。
【００３０】
一実施形態では、クライアントマシン１０２Ａ〜Ｎのうちの１つ以上は仮想マシンであり得る。仮想マシンは任意の仮想マシンとすることができる一方で、いくつかの実施形態において、仮想マシンは、Citrix Systems、IBM、VMwareにより開発されたハイパーバイザ又は他のハイパーバイザによって管理される任意の仮想マシンであり得る。他の実施形態において、仮想マシンは、サーバ上で実行するハイパーバイザ又はクライアントマシン上で実行するハイパーバイザによって管理され得る。
【００３１】
クライアントマシン１０２Ａ〜Ｎは、いくつかの実施形態では、以下のいずれか１つのアプリケーションを実行、動作、又は提供することができる：ソフトウェア；プログラム；実行可能な命令；仮想マシン；ハイパーバイザ；ウェブブラウザ；ウェブベースのクライアント；クライアント・サーバアプリケーション；シンクライアントコンピューティングクライアント；ＡｃｔｉｖｅＸコントロール；Ｊａｖａ（登録商標）アプレット；ソフトＩＰ電話のようなVoice over Internet Protocol(ＶｏＩＰ)通信に関連するソフトウェア；ビデオ及び／又はオーディオをストリーミングするためのアプリケーション；リアルタイムデータ通信を容易にするためのアプリケーション；ＨＴＴＰクライアント；ＦＴＰクライアント；Ｏｓｃａｒクライアント；Ｔｅｌｎｅｔクライアント；その他の実行可能な命令のセット。さらに他の実施形態は、サーバ１０６Ａ〜Ｎ又は他の遠隔設置されたマシン上でリモート実行するアプリケーションによって生成されたアプリケーション出力を表示する１つ以上のクライアントマシン１０２Ａ〜Ｎを備える。これらの実施形態では、クライアントマシン１０２Ａ〜Ｎは、アプリケーションウィンドウ、ブラウザ、又は他の出力ウィンドウにアプリケーション出力を表示することができる。一実施形態では、アプリケーションはデスクトップであるが、他の実施形態では、アプリケーションはデスクトップを生成するアプリケーションである。
【００３２】
サーバ１０６Ａ〜Ｎは、いくつかの実施形態において、シンクライアント又はリモート表示プロトコルを使用するリモートプレゼンテーションクライアント又は他のクライアントプログラムを実行して、サーバ上で実行されるアプリケーションによって生成された表示出力を取得し、アプリケーション表示出力をリモートクライアントマシン１０２Ａ〜Ｎに送信する。シンクライアント又はリモート表示プロトコルは、以下のプロトコルのいずれか１つとすることができる：フロリダ州フォートローダーデールのCitrix Systems, Inc.によって製造されたIndependent Computing Architecture(ＩＣＡ)プロトコル；又は、ワシントン州レドモンドのMicrosoft Corporationによって製造されたRemote Desktop Protocol(ＲＤＰ)。
【００３３】
コンピューティング環境１０１は、サーバ１０６Ａ〜Ｎが論理的にグループ化されてサーバファームとなるように、２つ以上のサーバ１０６Ａ〜Ｎを備えてもよい。サーバファームは、サーバファーム内で地理的に分散して論理的にグループ化されたサーバを設けてもよいし、又はサーバファーム内で互いに近接して論理的にグループ化されたサーバを設けてもよい。サーバファーム内で地理的に分散したサーバは、いくつかの実施形態では、ＷＡＮ、ＭＡＮ、又はＬＡＮを用いて通信することができる。ここで、異なる地理的地域を以下のように特徴付けることができる：異なる大陸；一大陸での異なる地域；異なる国；異なる州；異なる都市；異なるキャンパス；異なる部屋；又は、前述の地理的位置の任意の組み合わせ。いくつかの実施形態では、サーバファームは単一のエンティティとして管理され、一方、他の実施形態において、サーバファームは複数のサーバファームを設けてもよい。
【００３４】
いくつかの実施形態において、サーバファームは、実質的に同様のタイプのオペレーティングシステムプラットフォーム（例えば、ワシントン州レドモンドのMicrosoft Corporation製のWINDOWS（登録商標）、UNIX（登録商標）、LINUX、又はmacOS（登録商標））を実行するサーバ１０６Ａ〜Ｎを備えることができる。他の実施形態において、サーバファームは、第１のタイプのオペレーティングシステムプラットフォームを実行する第１のサーバグループと、第２のタイプのオペレーティングシステムプラットフォームを実行する第２のサーバグループとを備えてもよい。他の実施形態において、サーバファームは、異なるタイプのオペレーティングシステムプラットフォームを実行する複数のサーバを備えてもよい。
【００３５】
いくつかの実施形態において、コンピューティング環境１０１は、サーバ１０６Ａ〜Ｎが１つ以上のサブグループに分割されるように、２つ以上のサーバ１０６Ａ〜Ｎを備えてもよく、各サブグループは、異なるエンティティによって管理され、及び／又は操作される。例えば、第１エンティティは、個人若しくは共用のコンピューティングデバイス又は環境で、オンプレミスの第１のサーバサブグループを操作し、及び／又は管理し、第２エンティティは、個人若しくは共用のコンピューティングデバイス又は環境で、オンプレミスの第２のサーバサブグループを操作し、及び／又は管理し、第３エンティティは、個人若しくは共用のコンピューティングデバイス又は環境で、オンプレミスの第３のサーバサブグループを操作し、及び／又は管理するなどである。
【００３６】
いくつかの実施形態において、サーバ１０６Ａ〜Ｎは、どんな種類のサーバでもよい。例えば、サーバは、以下の種類のいずれのサーバでもよい：ファイルサーバ；アプリケーションサーバ；ウェブサーバ；プロキシサーバ；アプライアンス；ネットワークアプライアンス；ゲートウェイ；アプリケーションゲートウェイ；ゲートウェイサーバ；仮想化サーバ；デプロイメントサーバ；SSL VPNサーバ；ファイアウォール；ウェブサーバ；マスターアプリケーションサーバとしてのアプリケーションサーバ；アクティブディレクトリを実行するサーバ；又は、ファイアウォール機能、アプリケーション機能、若しくは負荷分散機能を提供するアプリケーション加速プログラムを実行するサーバ。いくつかの実施形態において、サーバは、リモート認証ダイヤルインユーザサービスを含むRADIUSサーバでもよい。サーバがアプライアンスを備える実施形態では、サーバを、以下のメーカーの何れか１つによって製造されたアプライアンスとしてもよい：Citrix Application Networking Group；Silver Peak Systems, Inc；Riverbed Technology, Inc.；F5 Networks, Inc.；又はJuniper Networks, Inc.。いくつかの実施形態は、１つ以上のクライアントマシン１０２Ａ〜Ｎから要求を受信し、当該要求を第２サーバ１０６Ｂに転送し、クライアントマシン１０２Ａ〜Ｎによって生成された要求に、第２サーバ１０６Ｂからの応答とともに応える第１サーバ１０６Ａを備える。第１サーバ１０６Ａは、クライアントマシン１０２Ａ〜Ｎが利用可能なアプリケーションの一覧表を取得するとともに、当該アプリケーションの一覧表内で特定されたアプリケーションをホストするアプリケーションサーバに関連付けられたアドレス情報も取得することができる。次いで、第１サーバ１０６Ａは、ウェブインターフェイスを用いてクライアントの要求に対する応答を提示し、クライアントマシン１０２Ａ〜Ｎと直接通信することで、クライアントマシン１０２Ａ〜Ｎが特定されたアプリケーションにアクセスできるようにする。
【００３７】
いくつかの実施形態において、サーバ１０６Ａ〜Ｎは、以下のアプリケーションの何れか１つを実行することができる：シンクライアントプロトコルを用いてクライアントにアプリケーション表示データを送信するシンクライアントアプリケーション；リモート表示プレゼンテーションアプリケーションなど。別の実施形態は、例えば以下のようなアプリケーションサーバであるサーバを備える：Microsoft Corporationによって製造されたMICROSOFT EXCHANGEなどの電子メールサービスを提供する電子メールサーバ；ウェブ若しくはインターネットサーバ；デスクトップ共有サーバ；コラボレーションサーバ；又は、他のタイプのアプリケーションサーバ。さらに他の実施形態は、１つ以上のホスト型サーバアプリケーション（例えば、Cisco, Incによって提供されたWEBEX（登録商標））を実行するサーバを備える。
【００３８】
クライアントマシン１０２Ａ〜Ｎは、いくつかの実施形態において、サーバによって提供されるリソースへのアクセスを求めるクライアントノードであり得る。他の実施形態では、サーバ１０６Ａ〜Ｎは、ホストリソースへのアクセスをクライアントマシン１０２Ａ〜Ｎに提供する。サーバ１０６Ａ〜Ｎは、いくつかの実施形態では、１つ以上のクライアントマシン１０２Ａ〜Ｎ又はサーバ１０６Ａ〜Ｎと通信するようにマスターノードとして機能する。いくつかの実施形態では、マスターノードは、要求されたアプリケーションをホストするサーバに関連付けられたアドレス情報を識別し、１つ以上のクライアント又はサーバに提供することができる。さらに他の実施形態では、マスターノードは、サーバファーム、クライアントマシン、クライアントノードのクラスター、又はアプライアンスであり得る。
【００３９】
１つ以上のクライアントマシン１０２Ａ〜Ｎ及び／又は１つ以上のサーバ１０６Ａ〜Ｎは、コンピューティング環境１０１内のマシンとアプライアンスとの間に設置されたネットワーク１０４を介してデータを送信することができる。ネットワーク１０４は、１つ以上のサブネットワークを有してもよく、コンピューティング環境１０１内に含まれるクライアントマシン１０２Ａ〜Ｎ、サーバ１０６Ａ〜Ｎ、コンピューティングマシン及びアプライアンスの任意の組み合わせの間に設置することができる。いくつかの実施形態では、ネットワーク１０４として以下のいずれかを採用することができる：ローカルエリアネットワーク（ＬＡＮ）；メトロポリタンエリアネットワーク（ＭＡＮ）；広域ネットワーク（ＷＡＮ）；クライアントマシン１０２Ａ〜Ｎとサーバ１０６Ａ〜Ｎとの間に位置する複数のサブネットワークから構成されるプライマリネットワーク；プライベートサブネットワークを有するプライマリパブリックネットワーク；パブリックサブネットワーク４を有するプライマリプライベートネットワーク；又は、プライベートサブネットワークを有するプライマリプライベートネットワーク。さらに別の実施形態は、以下のネットワークタイプのいずれかを採用し得るネットワーク１０４を備える：ポイントツーポイントネットワーク；ブロードキャストネットワーク；電気通信ネットワーク；データ通信ネットワーク；コンピュータネットワーク；ＡＴＭ（非同期転送モード）ネットワーク；ＳＯＮＥＴ（同期型光ネットワーク）ネットワーク；ＳＤＨ（同期デジタル階層）ネットワーク；ワイヤレスネットワーク；有線ネットワーク；又は、ワイヤレスリンクが赤外チャネル若しくは衛星帯であり得るワイヤレスリンクを有するネットワーク１０４。ネットワーク１０４のネットワークトポロジーは、実施形態によって異なってよく、ネットワークトポロジーの候補として以下が挙げられる：バスネットワークトポロジー；スター型ネットワークトポロジー；リングネットワークトポロジー；リピーターベースのネットワークトポロジー；又は層状スターネットワークトポロジー（tiered-star network topology）。追加の実施形態は、プロトコルを使用してモバイルデバイス間で通信する携帯電話ネットワークのネットワーク１０４を備える。そのようなプロトコルとして以下のいずれか１つを採用することができる：ＡＭＰＳ；ＴＤＭＡ；ＣＤＭＡ；ＧＳＭ（登録商標）；ＧＰＲＳ ＵＭＴＳ；又はモバイルデバイス間でデータを送信可能な他のプロトコル。
【００４０】
ここで図２を参照すると、コンピューティングデバイス２００の例示的なアーキテクチャの詳細なブロック図が示されている。ここで、図１に示すクライアントマシン１０２及びサーバ１０６は、コンピューティングデバイス２００の任意の実施形態として配置され、及び／又は実行され得る。したがって、コンピューティングデバイス２００の以下の説明は、図１のクライアントマシン１０２及び／又はサーバ１０６を理解するのに十分である。
【００４１】
コンピューティングデバイス２００の構成要素は、図２に示された構成要素よりも多くても少なくてもよい。しかしながら、図示されている構成要素は、本解決手段を実施する例示的な実施形態を開示するのに十分である。図２のハードウェアアーキテクチャは、安全な企業コンピューティング環境のエンティティ若しくはサーバ（例えば、コネクタ）間での機密情報の共有又は複製を促進するように構成された代表的なコンピューティングデバイスの一実施形態を表している。したがって、図２のコンピューティングデバイス２００は、以下で説明するように、複数の通信チャネルを介して、コンピューティング環境で機密情報を共有し、及び／又は複製する方法の少なくとも一部を実施する。
【００４２】
コンピューティングデバイス２００の一部又はすべての構成要素は、ハードウェア、ソフトウェア、及び／又はハードウェアとソフトウェアとの組み合わせとして実現することができる。ハードウェアには、１つ以上の電子回路が含まれるが、これらに限定されない。電子回路には、受動素子（例えば、抵抗器及びコンデンサ）及び／又は能動素子（例えば、増幅器及び／又はマイクロプロセッサ）が含まれ得るが、これらに限定されない。受動素子及び／又は能動素子は、本明細書に記載の方法、手順、又は機能のうちの１つ以上を実行するように構成され、配置され、及び／又はプログラムされ得る。
【００４３】
図２に示すように、コンピューティングデバイス２００は、ユーザインターフェイス２０２と、中央処理装置（「ＣＰＵ」）２０６と、システムバス２１０と、システムバス２１０を介してコンピューティングデバイス２００の他の部分に接続されてアクセス可能なメモリ２１２と、システムバス２１０に接続されたハードウェアエンティティ２１４とを備える。ユーザインターフェイス２０２は、入力デバイス（例えば、キーパッド２５０）及び出力デバイス（例えば、スピーカー２５２、ディスプレイ２５４、及び／又は発光ダイオード２５６）を設けることができ、コンピューティングデバイス２００の動作を制御するためのユーザソフトウェア相互作用を促進する。
【００４４】
ハードウェアエンティティ２１４の少なくとも一部は、メモリ２１２へのアクセス及び使用を伴うアクションを実行する。メモリ２１２として、ＲＡＭ、ディスクドライバ及び／又はコンパクトディスク読み取り専用メモリ（「ＣＤ−ＲＯＭ」）を採用し得る。ハードウェアエンティティ２１４は、コンピュータ読み取り可能な記憶媒体２１８を有するディスクドライブユニット２１６を備える。コンピュータ読み取り可能な記憶媒体２１８には、本明細書に記載の方法、手順、又は機能のうちの１つ以上を実行する命令２２０（例えば、ソフトウェアコード）の１つ以上のセットが格納されている。命令２２０は、コンピューティングデバイス２００による実行中に、メモリ２１２内及び／又はＣＰＵ２０６内に完全に又は少なくとも部分的に常駐するようにしてもよい。メモリ２１２及びＣＰＵ２０６はまた、機械読み取り可能な媒体を構成することができる。本明細書で使用される「機械読み取り可能な媒体」という用語は、命令２２０の１つ以上のセットを格納する単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を指す。本明細書で使用される「機械読み取り可能な媒体」という用語はまた、コンピューティングデバイス２００による実行のための命令２２０のセットを格納、符号化、又は搬送することができ、且つ、コンピューティングデバイス２００に、本明細書で説明される方法のいずれか１つ以上を実行させる任意の媒体も指している。
【００４５】
いくつかのシナリオにおいて、ハードウェアエンティティ２１４は、安全な企業コンピューティング環境のエンティティ若しくはサーバ（例えば、コネクタ）間での機密情報の共有及び／又は複製を促進するためにプログラムされた電子回路（例えば、プロセッサ）を有する。これに関し、当該電子回路は、コンピューティングデバイス２００にインストールされたソフトウェアアプリケーション２２４にアクセスして実行することができることを理解されたい。ソフトウェアアプリケーション２２４の機能は、議論が進むにつれて明らかになるであろう。
【００４６】
コンピューティングデバイス２００は、本明細書に開示された様々な実施に関連して使用可能なコンピュータシステムの一例になり得ることを理解されたい。しかしながら、これに関し、本明細書に開示されたシステム及び方法は限定されるものではなく、他の適切なコンピュータシステムアーキテクチャも、限定されることなく、使用可能である。限定されるものではないが、特定用途向け集積回路、プログラマブルロジックアレイその他のハードウェアデバイスなどを含む専用ハードウェア実装も、同様に、本明細書に記載された方法を実施するように構成可能である。装置及びシステムを具備可能なアプリケーションは、種々の電子及びコンピュータシステムにも広く及ぶ。いくつかのシナリオにおいて、ある機能は、モジュール間及びモジュールを介して伝達された関連する制御信号及びデータ信号によって、２つ以上の特定の相互接続したハードウェアモジュール若しくはデバイスで実施可能であり、又は特定用途向け集積回路の一部として実施可能である。このように、例示的なシステムは、ソフトウェア、ファームウェア、及びハードウェア実装に適用可能である。
【００４７】
また、実施形態は、有形のコンピュータ使用可能な記憶媒体（例えば、ハードディスク又はＣＤ−ＲＯＭ）上でのコンピュータプログラム製品の形態をとることができることを理解されたい。コンピュータ使用可能な記憶媒体は、媒体内に具現化されたコンピュータ使用可能なプログラムコードを有することができる。本明細書で用いられているコンピュータプログラム製品という用語は、本明細書に記載された方法の実施を可能とする全ての特徴を備えたデバイスを指す。コンピュータプログラム、ソフトウェアアプリケーション、コンピュータソフトウェアルーチン、及び／又は、これらの用語の他の変形語は、本コンテキストにおいて、情報処理能力を有するシステムに、直接的に特定の機能を実行させるか、又は、次のａ）若しくはｂ）の一方若しくは双方の後に特定の機能を実行させることを意図した命令セットの、任意の言語、コード、若しくは表記による任意の表現を意味する：ａ)別の言語、コード、若しくは表記への変換、又はｂ）異なるマテリアル形式での再現。
【００４８】
図３に示すように、コンピューティング環境３００は、公共サービス及びリソース（すなわち、外部サービス３１８）を提供する外部サービスプロバイダ３１４を備える。コンピューティング環境は、さらに、クライアントデバイス３０２と、内部コンピューティング環境とを備え、内部コンピューティング環境は、内部コンピューティング環境と外部コンピューティング環境との通信を促すコネクタ３１０Ａ〜Ｎを備える。
【００４９】
システム３００は、企業の一部のリソースが、外部から管理され、且つ外部サービスプロバイダによって管理された外部コンピューティング環境内にある一方で、企業の他のリソースが、企業内で管理され、且つ企業自身のサーバ又は他のコンピューティングデバイス（内部リソース３０８）内にあるようなコンピューティング環境の形式をとってよい。本明細書で用いられている「内部」という用語のバリエーションは、企業自身によって管理され、及び／又は、外部サービスプロバイダによって制御されずに、企業によって制御された１つ以上のコンピューティングデバイス（すなわち、信頼できる内部コンピューティング環境）に格納されたリソース及びアプリケーションを指すことができる。例として、企業と関係がある認定されたユーザによるリモートアクセスのため、リソースを企業のオンプレミスサーバに格納することができる。例えば、特定のソフトウェアアプリケーション（例えば、内部リソース）は、企業によって制御及び管理されたサーバに格納され、一人以上の従業員によってアクセス可能である。本明細書で用いられている「外部」という用語のバリエーションは、外部サービスプロバイダによって管理され、及び／又は、外部サービスプロバイダによって制御された１つ以上のコンピューティングデバイス（すなわち、より安全で「信頼できる」企業ネットワークからの隔離に基づく信頼できないコンピューティング環境）に格納されたリソース及びアプリケーションを指すことができる。例として、企業と関係がある認定されたユーザによるアクセスのため、外部リソースを外部サービスプロバイダのサーバに格納することができる。そのような例では、外部リソースもまた企業と関連付けることができる。リソース（内部及び／又は外部）として、ネットワーク、ファイル、データ、コンピューティングデバイス、アプリケーション、モジュール、サービス、機能その他のエンティティを挙げることができるが、これらに限定されない。
【００５０】
コンピューティング環境（例えば、コンピューティング環境３００）のユーザは、地理的に離れた内部コンピューティングデバイスにインストールされた内部リソースにアクセスし、及び／又は、外部サーバにある外部リソースにアクセスし、若しくは当該外部リソースを使用することを希望することができる。ユーザは、内部リソースと接続し、及び／又は、外部サービスを介して外部リソースと接続し、及び／又は、その他の通信をすることができる。例えば、ユーザは、内部リソース及び／又は外部リソースにアクセスする際、認証のため、内部リソース及び／又は外部リソースに識別認証情報（例えば、ユーザ名及びパスワード）を提供しなければならない。そのような例において、以下でより詳細に説明するように、識別認証情報は、可逆的に暗号化されて、内部リソースに送信され、及び／又は、外部サービスを介して外部リソースに送信され、その後、内部リソース及び／又は外部リソースによって復号され、使用され得る。本明細書に記載された原理を用いると、別の種類の機密情報も可逆的に暗号化されて、内部リソースに送信され、及び／又は、外部サービスを介して外部リソースに送信され得ることは、理解されるであろう。
【００５１】
コンピューティング環境３００は、公共サービス及びリソースを提供する外部サービスプロバイダ３１４を備えることができる。外部サービスプロバイダ３１４は、インターネットを通じてユーザがアクセス可能なコンピューティングデバイス（図示せず）に格納されたアプリケーション及び／又は他のリソースを備えることができる。外部サービスプロバイダ３１４はまた、外部サービスプロバイダ３１４に属さない企業の異なる構内で、特定の内部コンピューティングデバイスから別の内部コンピューティングデバイスへ情報を転送することもできる。例として、特定の地理的位置に配置された、企業コンピューティング環境に属するコンピューティングデバイスは、外部コンピューティング環境を介して、異なる地理的位置に配置された、当該企業コンピューティング環境に属する別のコンピューティングデバイス（又は、当該企業の異なるコンピューティングデバイスでもよい。）へ、情報を送信することができる。
【００５２】
外部サービスプロバイダ３１４は、様々な外部リソース及び／又はサービス（「外部サービス３１８」）を備えることができる。外部サービスの例として、設定サービス、オンプレミスのアクティブディレクトリに対するシングルサインオンパスワードサービス、認証サービス（例えば、知識ベース認証サービス、第２要素認証サービスなど）、セルフサービスパスワードリセットサービス（ＳＳＰＲサービス）、オンプレミスのアクティブディレクトリアクセスサービス、データストアアクセスサービスなどを挙げることができるが、これらに限定されない。
【００５３】
実施形態において、設定サービスは、外部サービスプロバイダ３１４（及び／又は内部リソース）の外部コンピューティング環境内の全てのサービス間通信を扱うことができる。設定サービス３１６は、外部サービスプロバイダの全サービスのリストを保持し、管理することができ、これらのサービスが、それぞれのアドレスを広告し、又は、提供する機能を含むエンドポイントを広告することを可能とする。あるサービスが設定サービスに成功裏に登録された場合のみ、当該サービスはアクティブとなり、他のサービス及びアプリケーションと通信可能となる。設定登録を終えると、設定サービス３１６は、アクティブ且つ登録された全サービスのリストを、アクティブサービスとして共有する。設定サービス３１６は、任意のサービスディレクトリ又はリスト及び関連情報を設定ストレージに格納することができる。設定ストレージは、図１及び図２に関連して説明したストレージ及び／又はメモリなど、各種のいかなる形態のストレージ及び／又はメモリを備えることができる。各サービスに関連した情報は、設定ストレージに別々に又は一緒に格納され、各種のフォーマットで格納され得る。実施形態において、設定サービス３１６はまた、識別認証情報、暗号化キー、機密情報なども格納することができる。設定サービス３１６は、さらに、企業の内部コンピューティング環境に機密情報を格納して、当該機密情報を共有するための要求を新たなサーバ（例えば、コネクタ）から企業の信頼できる１つ以上のサーバ（例えば、コネクタ）へ送信する、信頼できるコネクタのリアルタイムのリストを格納する。
【００５４】
コンピューティング環境３００は、クライアントデバイス３０２も備えることができる。クライアントデバイス３０２は、パーソナルコンピュータ、ラップトップ、タブレット、スマートフォンなどであり、上述のコンピューティングデバイスの１つ以上の構成要素を有することができる。実施形態において、クライアントデバイス３０２は、ユーザのパーソナルデバイスなどのリモートコンピューティングデバイスであり（例えば、ユーザはクライアントデバイス３０２を所有している。）、内部コンピューティング環境及び／又は外部コンピューティング環境にログインすることができ、及び／又は、別の方法で、ユーザ認証後、アクセスすることができる。他の例として、クライアントデバイス３０２は、内部コンピューティング環境の管理と制御を行う企業によって所有されてもよい（例えば、会社支給のラップトップ）。そのような例では、ユーザがクライアントデバイス３０２を企業の構内の端末に接続したとき、クライアントデバイス３０２は内部コンピューティング環境に属することになる。それ以外では、ユーザが企業の構外で（例えば、ユーザの自宅で）クライアントデバイス３０２を使用するとき、クライアントデバイス３０２は内部コンピューティング環境に属さないが、（例えば、仮想プライベートネットワーク（ＶＰＮ）接続を介して）内部コンピューティング環境にログインすることができ、及び／又は、別の方法で、ユーザ認証後、アクセスすることができる。
【００５５】
クライアントデバイス３０２は、ウェブブラウザ３０６と、クライアントデバイス３０２にインストールされたクライアントソフトウェアであるレシーバ３０４などのプログラムと、を有することができる。レシーバ３０４によって、クライアントデバイス３０２は内部及び／又は外部サービスにアクセスすることが可能となる。ウェブブラウザ３０６によって、クライアントデバイス３０２は、外部サービスプロバイダによって管理、設定、及び／又は提供され、（リモートセッションを介してではなく）クライアントデバイス３０２上で実行される特定のアプリケーションに安全にアクセスすることが可能となる。これにより、ユーザは局所的な処理能力を活用することができる一方で、管理者は、依然として、使用許諾及び設定を中央管理することができる。例えば、管理者は、暗号化アプリケーション、認証アプリケーションなどを設定して公開することができ、これらのアプリケーションがクライアントデバイス３０２上で実行されることで、ネットワーク遅延を招くことなくローカルプロセッサを活用することができる。そのようなアプリケーションは、クライアントデバイス３０２が使用するために、例えば、管理ユーザインターフェイス（「Admin UI」）３５０によって公開され得る。他の例として、グラフィックスＵＩ、ローレベルのソフトウェア開発キット（ＳＤＫ）などが挙げられるが、これらに限定されない。別の例において、クライアントデバイス３０２は、レシーバ３０４を用いて、内部及び／又は外部コンピューティング環境に格納されたアプリケーション、仮想デスクトップ及びデータに安全にアクセスすることができる。レシーバ３０４の例として、アメリカ合衆国フロリダ州フォートローダーデールに本拠を置くCitrix Systems, Inc.によって開発されたCitrix Receiverを挙げることができる。
【００５６】
クライアントデバイス３０２はまた、機密情報を暗号化するデータ暗号化モジュール３２０も備えることができる。代替手段として、及び／又は、追加手段として、クライアントデバイスは、Admin UI３５０によって公開され、且つウェブブラウザ３０４を用いてクライアントデバイス３０２によってアクセスされた機密情報を暗号化するデータ暗号化モジュール３２０にアクセスして使用してもよい。データ暗号化モジュール３２０は、キージェネレータ３２１と、キー交換モジュール３２２と、エンクリプタ（encryptor）３２３とを備えることができる。キージェネレータ３２１は、機密情報を暗号化するため、対称及び／又は非対称暗号化キー（後述）を生成することができる。キーは、ランダムキージェネレータ、疑似ランダムキージェネレータその他のキージェネレータを用いて生成することができる。
【００５７】
キー交換モジュール３２２は、外部コンピューティング環境の設定サービス３１６（又は別の外部エンティティ）に１つ以上の対称又は非対称暗号化キーを安全に送信することができる。設定サービス３１６（又は別の外部エンティティ）は、暗号化キーを格納し、格納された暗号化キーを内部リソース及び／又は外部リソース若しくはサービスに送信することができる。エンクリプタ３２３は、キージェネレータ３２１によって生成された暗号化キーを使って、機密情報などのデータを可逆的に暗号化することで、暗号化されたデータを生成することができる。なお、エンクリプタ３２３が当業者に現在知られている又は将来知られ得る各種の操作をデータに施すことでデータを暗号化できることは、明らかである。一実施形態において、エンクリプタ３２３は、キーと機密情報に対して数学アルゴリズムを実行することで暗号化された機密情報を生成するソフトウェアモジュールでもよい。使用される正確な暗号化手法が本明細書に記載された実施形態の範囲内で変更可能であることを当業者は認識するであろう。
【００５８】
図３に戻り、コンピューティング環境３００の内部コンピューティング環境はまた、外部コンピューティング環境と内部コンピューティング環境との間で送信されたメッセージを解析し、傍受し、及び／又は、転送することができる１つ以上のコネクタ３１０Ａ、３１０Ｂ、…、３１０Ｎも備えることができる。実施形態において、コネクタ３１０Ａ、３１０Ｂ、…、３１０Ｎのうちの１つ以上のコネクタは、内部コンピューティング環境に属さず、異なるネットワークに含まれてもよい。内部コンピューティング環境はまた、１つ以上の内部リソース３０８も備えることができる。コネクタ３１０Ａ〜Ｎは、外部サービスプロバイダによって提供されたサービス（外部サービス３１８）と内部リソース３０８との間の通信を促進することができる。実施形態において、コネクタ３１０Ａ、３１０Ｂ、…、３１０Ｎは、安全なリソースへのアクセスを要求したユーザを認証するための１つ以上の認証モジュール又はサービスを備えてもよく、又はこれらのモジュール又はサービスにアクセスしてもよい。認証モジュールは、識別認証情報に基づいてユーザを認証することができる。識別認証情報として、パスワードベース認証、知識ベース認証、生体ベース認証、第２要素認証などが挙げられるが、これらに限定されない。
【００５９】
実施形態において、外部サービス３１８は、外部サービス３１８を提供している間、内部リソース３０８によって１つ以上の動作を実行することを求め、及び／又は、実行させるように構成されてもよい。しかしながら、そのような動作の実行を許可する前に、内部リソース３０８は、機密情報（例えば、パスワード）の提示を求めてもよい。例えば、外部サービス（例えば、ＳＳＰＲサービス）を用いて内部リソース（例えば、オンプレミスのアクティブディレクトリ）に関連付けられたパスワードを変更するためのパスワードリセットサービスを実行する際、オンプレミスのアクティブディレクトリにパスワードのリセットを実行させるよう、ＳＳＰＲサービスに求める。しかしながら、オンプレミスディレクトリがパスワードのリセットを許可する前に、旧パスワード、ユーザを認証するための認証情報などの機密情報を提供するよう、ＳＳＰＲサービスに求めてもよい。しかしながら、外部サービス３１８にそのような機密情報を格納すると、セキュリティ上の問題が生じるおそれがある。
【００６０】
コンピューティング環境３００の内部コンピューティング環境はまた、ディレクトリサービス３１２（例えば、アクティブディレクトリ）も備えることができる。実施形態において、ディレクトリサービス３１２は、提供する機能を含む内部コンピューティング環境が利用可能な、及び／又は、そのような内部コンピューティング環境に備えられた全てのコネクタ３１０Ａ〜Ｎのリストを保持し、管理することができる。コネクタ３１０がアクティブディレクトリ３１２に成功裏に登録された場合のみ、内部コンピューティング環境と外部サービス又はリソースとの通信リンクの確立が許可される。新たなコネクタを追加するとき、その新たなコネクタとの通信をディレクトリサービス３１２が制御できるように、新たなコネクタをディレクトリサービス３１２に加入させることができる。ディレクトリサービス３１２は、図１及び図２に関連して説明したストレージ及び／又はメモリなど、各種のいかなる形態のストレージ及び／又はメモリをも備えることができる。実施形態において、ディレクトリサービス３１２はまた、ユーザアカウント、ユーザアカウントのセキュリティ情報なども格納することができる。
【００６１】
実施形態において、コンピューティング環境３００はまた、（デジタル証明書などの）証明書の要求を受信し、要求に含まれる情報を検証し、証明書を発行し、証明書を失効することができる証明機関３３０も備えることができる。証明機関３３０は、電子通信コンテキストにおいて、署名が許可され、認証済みであることを証明する信頼できるエンティティである。言い換えると、証明機関３３０は、（本開示において新たなコネクタの信頼を構築するなど）関連するアプリケーションで署名の使用を許可する基準に従って、デジタル署名が証明書で特定されたエンティティに実際に属することを認定するためのデジタルアナログ公証人としての機能を果たしている。一般的に、証明機関３３０は、（ａ）認定された当事者を特定する情報と、（ｂ）認定された当事者の公開キーと、（ｃ）デジタル署名された、すなわち、証明機関のプライベートキーを使って暗号化された、証明機関３３０を特定する情報と、を含む証明書を提供する。
【００６２】
ある実施形態では、証明機関３３０が、内部コンピューティング環境内に位置し、及び／又は、内部コンピューティング環境によって管理されることで、機密情報のセキュリティをより一層高めるようにしてもよい。
【００６３】
実施形態において、後で外部サービス３１８によって用いられることで内部リソース３０８に所望の動作を実行させる機密情報をクライアントデバイス３０２で初めて受信すると、クライアントデバイス３０２に含まれ、及び／又は、（例えば、Admin UIを介して）クライアントデバイス３０２によってアクセスされた暗号化モジュール３２０を用いて、キーを生成し、そのキーを使って機密情報を暗号化することができる。その後、暗号化モジュール３２０は、生成したキーを外部サービスプロバイダ３１４の設定サービス３１６に送信するとともに、暗号化された機密情報をコネクタ（例えば、第１コネクタ３１０Ａ）に送信することができる。第１コネクタは、機密情報を信頼できるコネクタ３１０Ａ〜Ｎのグループと共有することができる。これによって、外部サービス３１８が、暗号化形式で及び／又は非暗号化形式で、機密情報にアクセスせず、及び／又は、当該機密情報を格納しないことを保証している。後で、外部サービス３１８が、内部サービス３０８による動作の実行を求めるとき、外部サービス３１８は、設定サービス３１６からの暗号化キーのコピーを要求し、受信したキーを信頼できるコネクタ３１０Ａ〜Ｎに送信することができる。信頼できるコネクタは、受信したキーを用いて、格納された暗号化された機密情報を復号し、認証のため、復号された機密情報を提供することによって、内部サービス３０８からの必要な動作を要求することができる。
【００６４】
内部コンピューティング環境のエンティティ（例えば、コネクタ）間で機密情報を共有し又は複製するための上述のコンピューティング環境は、例示を目的とし、本明細書に記載された実施形態を裏付けるために設置可能なアーキテクチャの種類について限定するものではないことを当業者は理解するであろう。同様の原理は、任意の２つのコンピューティング環境間での情報の格納及び送信に対して適用することができる。任意の２つのコンピューティング環境として、２つの異なるエンティティの内部コンピューティング環境、単一の企業の内部コンピューティング環境、２つの外部コンピューティング環境、及び／又は、内部コンピューティング環境及び外部コンピューティング環境が挙げられるが、これらに限定されない。さらに、同様の原理は、信頼の確立時に、コンピューティング環境（例えば、内部コンピューティング環境）の任意の２つのエンティティ間での機密情報の共有に対して適用することができる。
【００６５】
図４を参照すると、外部の信頼できないコンピューティング環境を通して機密情報を送信し、安全性が保証された企業のコンピューティング環境のコネクタ間で機密情報を共有する方法５００の一例が示されている。コンピューティング環境３００の一例は図３に示されている。プロセス４００は、システム１００などのシステムによって実行され得る。例えば、１つ以上の実施形態において、図４に示すプロセス４００及び／又はその１つ以上のステップは、コンピューティングデバイス（例えば、図１〜図２の任意のデバイス）によって実行され得る。他の実施形態において、図４に示すプロセス及び／又はその１つ以上のステップは、非一時的なコンピュータ読み取り可能なメモリなどのコンピュータ読み取り可能な媒体に格納されたコンピュータ実行可能な命令で具現化され得る。代替手段として、又は、追加手段として、プロセス４００のどのステップも、任意のクライアントデバイス、ゲートウェイデバイス、コネクタ、外部サービスプロバイダ、及び／又は、第三者サーバ、若しくはコンピューティングデバイスで実行され得る。代替手段として、又は、追加手段として、プロセス４００のどのステップも、任意のブラウザプラグイン、Admin UIなどで実行され得る。
【００６６】
方法４００は、コンピューティング環境のクライアントデバイス（又は別のエンティティ若しくはコンピューティングデバイス）が機密情報を受信する４０２で開始することができる。実施形態において、例えば、機密情報は、（第１コンピューティング環境に関連付けられた）第１リソースにアクセスして、及び／又は、第１リソースに所望の動作を実行させるために後に使用され得る識別認証情報を有することができる。例えば、クライアントデバイスは、ログオン中のユーザの初期認証時にリソースにアクセスするための識別認証情報を受信することができる。実施形態において、クライアントデバイスは、受信者へ送信するための情報をその後のログインで使用するために受信することができる。受信者として、例えば、第１リソース、第１コンピューティング環境に関連付けられた別のリソース、及び／又は、第１リソースのコンピューティング環境とは異なるコンピューティング環境にある別のリソースが挙げられる。しかしながら、後述のように、クライアントデバイスは、機密情報を傍受して、コネクタで暗号化形式にて格納することができる。これによって、暗号化されていない機密情報が、信頼できないエンティティに送信されず、及び／又は、格納されないことを保証している。信頼できないエンティティとして、例えば、第１コンピューティング環境ではないコンピューティング環境、又は、第１リソースではないリソースが挙げられる。例えば、管理者は、ＳＳＰＲサービスを用いて１つ以上のリソースに対応するユーザのアクセス認証情報の変更をユーザに許可するための特権的パスワードを有する機密情報を提供することができる。第１リソースは、任意の内部及び／又は外部リソースとすることができる。
【００６７】
実施形態において、クライアントデバイスは、受信した情報が、例えば、情報の内容（例えば、キーワード、タグなど）、情報の種類、ユーザ情報（例えば、ユーザが管理者であるとき）、送信者のデバイス情報、受信者のリソース又はアプリケーション記述、情報の使用目的などに基づいて、第１リソースにアクセスして、及び／又は、第１リソースに所望の動作を実行させるために使用され得る機密情報を有することを確認することができる。例えば、クライアントデバイスは、受信した情報が、パスワード、ユーザ名、社会保障番号、口座番号などのキーワードを有する場合に、受信した情報が機密情報を含むと判断することができる。別の例において、クライアントデバイスは、受信した情報が、ユーザ又はデバイスを認証するための認証トークンを有する場合に、受信した情報が機密情報を含むと判断してもよい。機密情報として、ユーザＩＤ（例えば、ユーザ番号、ユーザ名など）及び／又はパスワード、個人識別番号（ＰＩＮ）、スマートカードＩＤ、セキュリティ証明書（例えば、公開キー証明書）、及びユーザの特徴（例えば、指紋読み取り装置、虹彩スキャン、音声認識装置その他の生体認証装置など、センサで得られるもの）、又は特定のアプリケーション若しくはリソースへアクセスする際の認証に用いられる任意のデータを挙げることができるが、これらに限定されない。
【００６８】
機密情報を受信すると、クライアントデバイスは、格納のため、機密情報を第１コンピューティング環境の第１コネクタに送信することができる（４０４）。ここで、機密情報は、第２コンピューティング環境を介して送信される必要があり、又は、第２コンピューティング環境に関連付けられたリソースによって使用され得る。第１コネクタは、第１コンピューティング環境と第２コンピューティング環境との間の通信チャネルとして機能することができる。実施形態において、第１コンピューティング環境を、企業の内部コンピューティング環境などの信頼できるコンピューティング環境とし、第２コンピューティング環境を信頼できない外部コンピューティング環境とすることができる。その後に、第２コネクタが、例えば、信頼できないコンピューティング環境を介して信頼を確立することができれば、第１コネクタは第２コネクタと機密情報を共有することができる（後述）。
【００６９】
代替手段として、及び／又は、追加手段として、第１コネクタは、別のエンティティから、及び／又は、ユーザから直接的に、格納用の機密情報を受信してもよい。
【００７０】
実施形態において、機密情報を第１コネクタに送信する前に、クライアントデバイスは、上述のように、（クライアントデバイスに含まれた、及び／又は、ブラウザを介してAdmin UIによって公開された）暗号化モジュールを用いて、機密情報を暗号化するためのキーを生成し、機密情報を暗号化することができる。暗号化すると、クライアントデバイスは、生成したキーを設定サービス（又は別のサービス、リソース若しくはコンピューティングデバイス）に送信するとともに、格納のため、暗号化された機密情報を第１コネクタに送信することができる。クライアントデバイスがメモリからキーを削除することで、クライアントデバイスが暗号化された情報を復号するのを防止することができる。実施形態において、クライアントデバイスはまた、暗号化の後、メモリから暗号化されていない機密情報を削除してもよい。このように、第１リソースへのアクセスに必要な機密情報は、一のコンピューティング環境に関連付けられた第１コネクタで暗号化形式にて格納され、当該情報を復号するためのキーは、当該コネクタに関連付けられたコンピューティング環境とは異なる別のコンピューティング環境に関連付けられた設定サービスで格納される。
【００７１】
４０６で、第２コネクタは、暗号化された機密情報を共有するよう第１コネクタに要求することができる。例えば、第２コネクタを用いて第１リソースに動作を実行させるためのユーザからの要求を第２リソースが受信したことを受けて（ここで、第２コネクタは、第１リソースとの通信チャネルとしても機能することができる。）、第２コネクタは機密情報を要求することができる。実施形態において、第２リソースを第１コンピューティング環境と関連付けることができる。代替手段として、第２リソースを第１コンピューティング環境ではないコンピューティング環境に関連付けてもよい。例えば、ユーザは、ＳＳＰＲサービス（第２リソース）を介して、ユーザのパスワードを変更する動作をするためにアクティブディレクトリ（第１リソース）へのアクセスを要求することができる。実施形態において、当該要求には、ユーザの識別認証情報が含まれてもよく、ユーザの識別認証情報は、要求された動作を第１リソースに実行させるための要求が許可される前に、例えば、格納された識別認証情報との比較によって認証される必要がある。実施形態において、第２リソースは、クライアントデバイス（例えば、レシーバ）を介してユーザからの要求を受信することができる。
【００７２】
代替手段として、及び／又は、追加手段として、第２コネクタによる機密情報の要求は、例えば、企業のコンピューティング環境の性能向上のため新たなコネクタの提供時に行ってもよいし、定期的に、又は、ユーザの要求があったときなどに行ってもよい。
【００７３】
第２コネクタが信頼できるコネクタとして既にディレクトリサービスに加入されている場合、第１コネクタは第２コネクタと機密情報を共有することができる。具体的には、第１コネクタは、設定サービスで保持された信頼できるコネクタのリスト（後述の方法を用いて信頼できるコネクタとして既に認証されたもの）に含まれる１つ以上の信頼できるコネクタと機密情報を共有することができる。しかしながら、第２コネクタが、信頼できるコネクタのリストにまだ含まれていない場合、第２コネクタは、まず、後述のように信頼を確立しなければならない。なお、本開示では、内部コンピューティング環境のコネクタで機密情報を格納し、１つ以上のコネクタ間で機密情報を共有することを記載しているが、内部コンピューティング環境の他のエンティティ間での機密情報の格納及び共有についても、同様の原理を用いることができる。
【００７４】
４０８で、第１コネクタは、第２コネクタが、設定サービスによって保持された信頼できるコネクタのリストに含まれた信頼できるコネクタであるか否かを判断することができる。第２コネクタが、設定サービスによって保持されたリストに含まれた信頼できるコネクタである場合（４０８：ＹＥＳ）、第１コネクタは、暗号化された機密情報を第２コネクタに送信することができる（４１２）。一方、第２コネクタが、信頼できるコネクタのリストに含まれていない場合（４０８：ＮＯ）、図５で後述のように、第２コネクタは信頼を確立する必要がある（４１０）。第２コネクタが信頼を確立することができない場合、第１コネクタは要求を拒否することができる（４１４）。一方、第２コネクタが信頼を確立することができた場合、第１コネクタは、格納された機密情報を第２コネクタに送信することができる（４１２）。
【００７５】
実施形態において、要求を受信後、第２コネクタが機密情報にアクセスすることができた場合、第２リソースは、設定サービスから機密情報の暗号化に使用したキーを読み出し、当該キーとユーザ要求とを第２コネクタに送信することができる。第２コネクタは、キーを使用して先に共有した機密情報を復号し、復号された機密情報を用いて（例えば、適切な認証モジュールを用いて、受信した識別認証情報を復号された機密情報に含まれる識別認証情報と比較することによって）ユーザを認証することができ、及び／又は、別の方法で、機密情報を用いることができる。
【００７６】
本明細書に記載された実施形態では、設定サービスで暗号化キーを格納しているが、本明細書に開示された原理から逸脱することなく、第１コンピューティング環境ではないコンピューティング環境の他のコンピューティングデバイス又はモジュールがキーを格納してもよいことを当業者は理解するであろう。例えば、暗号化キーは、第２コンピューティング環境のシングルサインオンサービスによって格納されてもよい。
【００７７】
図５を参照すると、本明細書に記載された１つ以上の例示的態様に従って、外部コンピューティング環境が機密情報にアクセスできないように、機密情報を第２コネクタと共有する前に、第２コネクタが信頼できるコネクタであることを確立する（すなわち、図４の４１４）ための例示的なメッセージフロー５００を示している。１つ以上の実施形態では、図５のステップ及び／又はその１つ以上のステップを、１つ以上のコンピューティングデバイスによって実行することができる。他の実施形態において、図５に示す方法及び／又はその１つ以上のステップは、非一時的なコンピュータ読み取り可能なメモリなどのコンピュータ読み取り可能な媒体に格納されたコンピュータ実行可能な命令で具現化され得る。ある例では、図５のステップの１つ以上を異なる順番で実行してもよい。また、ある例では、図５のステップの１つ以上を省略してもよいし、及び／又は、そうでなければ実行しなくてもよい。
【００７８】
５０２で、第２コネクタは、信頼できるコネクタとして、第１リソースに関連付けられたディレクトリサービスに加入又は登録することができる。実施形態では、第２コネクタをディレクトリサービスに加入させるため、例えば、加入要求に関連付けられたユーザの認証情報（例えば、管理者認証情報）を検証することによって、信頼関係を検証することができる。
【００７９】
５０４で、第２コネクタは、公開／プライベートキー対を生成することができる。公開／プライベートキー対は公知であるため、詳細な説明は省略する。第２コネクタは、公開キーを証明機関（ＣＡ）に送信して、公開キー証明書を要求することができる（５０６）。ＣＡは、第２コネクタのプライベートキーに対応する公開キーを含むデジタル証明書（例えば、Ｘ．５０９証明書などのマシン証明書、公開キー基盤（ＰＫＩ）証明書などの専用証明書など）を発行し、署名することができる（５０８）。ＣＡは、公開キー証明書を発行する前に、例えば、第２コネクタが公開キー証明書の要求に署名をしている場合に、ＣＡは当該署名が有効であることを検証することで、第２コネクタの真正性を検証することができる。このように、ＣＡは、第２コネクタのＩＤを検証する信頼できる第三者として機能する。第２コネクタの署名を検証した後、ＣＡは、公開キー証明書に署名をし、当該公開キー証明書を第２コネクタに戻すことができる。
【００８０】
デジタル証明書を受信すると、第２コネクタは、信頼できるコネクタのグループに加入するための要求を設定サービスに送信することができる（５１０）。あるいは、機密情報にアクセスでき、及び／又は機密情報を格納可能な信頼できるコネクタのリストを格納している別のエンティティに、当該要求を送信してもよい。当該要求は、第２コネクタの公開キーを含むデジタル証明書を有している。実施形態において、信頼できるコネクタのグループは、例えば、リソース、コンピューティング環境、機密情報セット、企業、ユーザ、コンピューティングデバイス、サービスプロバイダ、若しくはこれらの組み合わせに対応し、又は、関連付けることができる。
【００８１】
５１２で、設定サービスは、機密情報を格納している信頼できるコネクタのグループからコネクタ（例えば、第１コネクタ）を特定し、特定されたコネクタに、デジタル証明書を含む要求を伝送することができる（５１４）。伝送された要求は、第２コネクタ及び証明書を特定する情報も有している。上述のように、設定サービスは、機密情報にアクセスでき、及び／又は機密情報を格納している信頼できるコネクタのリストを保持しており、信頼できるコネクタのいずれかを機密情報を格納しているコネクタとして特定することができる。
【００８２】
実施形態において、信頼できるコネクタのグループが空である場合、すなわち、設定サービスに先に確立された信頼を有するコネクタがない場合、設定サービスは、信頼できるコネクタの新たなグループを生成することができる。信頼できるコネクタの新たなグループは、例えば、リソース、コンピューティング環境、機密情報セット、企業、ユーザ、若しくはこれらの組み合わせに関連付けることができ、リソース、コンピューティング環境、機密情報セット、企業、ユーザ、若しくはこれらの組み合わせに関連付けられた秘密情報にアクセスでき、及び／又は、当該秘密情報を格納することができる。その後、ステップ５１４〜５３６を実行することなく、設定サービスは、新たなグループに第２コネクタを追加することができる。
【００８３】
設定サービスから伝送された、第２コネクタ及び証明書を特定する情報を有する要求を受信すると、特定されたコネクタは、証明書付きの認証要求をＣＡに送信することによって、受信した証明書を認証し、ＣＡが実際にデジタル証明書を発行して署名したか否かを判断することができる（５１６）。ＣＡは、例えば、署名を検証することによって、受信した証明書を認証することができる（５１８）。特定されたコネクタはまた、第２コネクタを特定する情報をディレクトリサービスに送信することによって、第２コネクタが信頼できるコネクタとしてディレクトリサービスに加入されているか否かを判断することもできる（５２０）。デジタル証明書がＣＡによって実際に発行されたこと、及び／又は、第２コネクタが信頼できるコネクタとしてディレクトリサービスに加入されていることを、ＣＡ又はディレクトリサービスの何れか一方が認証することができない場合、特定されたコネクタは、機密情報の要求を拒否することができる。
【００８４】
一方、デジタル証明書が本物であること（５１８）、及び、第２コネクタが信頼できるコネクタとしてディレクトリサービスに加入されていること（５２２）をＣＡ及びディレクトリサービスが認証した場合、特定されたコネクタは、格納している機密情報をデジタル証明書に含まれた公開キーを使って暗号化することができる（５２４）。その後、特定されたコネクタは、暗号化された機密情報を設定サービスを介して第２コネクタに送信することができる（５２６及び５２８）。
【００８５】
第２コネクタは、（プライベート公開キー対から）公開キーに対応するプライベートキーを使って、受信した機密情報を復号し、当該情報を格納することができる（５３０）。その後、第２コネクタは、機密情報を格納している信頼できるコネクタのリストに第２コネクタを追加するよう設定サービスに要求することができる（５３２）。設定サービスは、信頼できるコネクタのリストに第２コネクタを追加し（５３４）、信頼できるコネクタのグループに追加されたことの確認を第２コネクタに送信することができる（５３６）。その後、第２コネクタは、信頼できるコネクタのグループ内のいずれかのコネクタによって受信した情報にアクセスし、及び／又は、当該情報を複製することができる。
【００８６】
実施形態において、設定サービスから伝送された要求を受信する前に（すなわち、ステップ５１４）、信頼できるコネクタのグループが要求された機密情報を受信していない場合、特定されたコネクタは、機密情報を保持していないことを設定サービスに通知することができる。次いで、設定サービスは、ステップ５１６〜５３６を実行することなく、信頼できるコネクタのグループに第２コネクタを追加することができる。次いで、第２コネクタは、信頼できるコネクタのグループの何れかのコネクタによって機密情報を受信すると、当該機密情報を共有し、又は複製することができる。
【００８７】
本明細書に記載された実施形態では、複数の信頼できるコネクタで機密情報を格納し、複数の信頼できるコネクタ間で機密情報を共有するものとしたが、本明細書に開示された原理から逸脱することなく、第１コンピューティング環境及び／又は別のコンピューティング環境（第２コンピューティング環境ではない）の他のコンピューティングデバイス又はモジュールが機密情報を格納し、及び／又は共有してもよいことを当業者は理解するであろう。例えば、第１コンピューティング環境のローカルストレージサーバ、デバイス、及び／又は内部リソースが機密情報を格納し、及び／又は共有してもよい。
【００８８】
システム及び方法を１つ以上の実施に関して図示及び説明したが、本明細書及び添付図面を読んで理解すると、同等の変更及び変形例が当業者に想到されるであろう。さらに、特定の特徴は、いくつかの実施のうちの１つのみに関して開示されている可能性があるが、そのような特徴は、任意の又は特定の用途にとって望ましく有利であるように他の実施の１つ以上の他の特徴と組み合わせることができる。したがって、本開示の広さ及び範囲は、上述の説明のいずれによっても限定されるべきではない。むしろ、本開示の範囲は、添付の特許請求の範囲及びそれらの均等物に従って定義されるべきである。
【図１】
2021533599.tif 000003
【図２】
2021533599.tif 000004
【図３】
2021533599.tif 000005
【図４】
2021533599.tif 000006
【図５】
2021533599.tif 000007
【国際調査報告】
2021533599.tif 000008
2021533599.tif 000009
2021533599.tif 000010