(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-21
(45)【発行日】2022-09-30
(54)【発明の名称】コンピューティング環境でオンプレミスの秘密を複製する安全な方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20220922BHJP
H04L 9/08 20060101ALI20220922BHJP
G06F 21/33 20130101ALI20220922BHJP
【FI】
H04L9/32 200B
H04L9/08 B
G06F21/33
(21)【出願番号】P 2021500288
(86)(22)【出願日】2019-04-29
(86)【国際出願番号】 US2019029604
(87)【国際公開番号】W WO2020033020
(87)【国際公開日】2020-02-13
【審査請求日】2021-04-30
(32)【優先日】2018-08-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508045099
【氏名又は名称】シトリックス・システムズ・インコーポレイテッド
【氏名又は名称原語表記】Citrix Systems,Inc.
(74)【代理人】
【識別番号】110002675
【氏名又は名称】弁理士法人ドライト国際特許事務所
(72)【発明者】
【氏名】フアン,フェン
(72)【発明者】
【氏名】ジロー,ジャン-リュック
【審査官】金沢 史明
(56)【参考文献】
【文献】米国特許出願公開第2014/0047513(US,A1)
【文献】特表2017-533630(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08, 9/32
G06F 21/30-21/46
(57)【特許請求の範囲】
【請求項1】
コンピューティング環境で機密情報を安全に共有する方法であって、
第1コンピューティング環境の第1エンティティによって、
第2コンピューティング環境の設定サービスによって保持された暗号化キーを用いて暗号化された第1機密情報であって、前記第1コンピューティング環境に対応する
第1機密情報を受信し、
前記第1コンピューティング環境の第2エンティティから、前記第1エンティティと前記第2エンティティとの間で前記
第1機密情報を共有するための要求を受信し、
前記第2エンティティが、
前記第2コンピューティング環境に関連付けられた
前記設定サービスによって保持された信頼できるエンティティのリスト
であって、前記第1コンピューティング環境に機密情報を格納する信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断し、
前記第2エンティティが前記信頼できるエンティティの
前記リストに含まれた信頼できるエンティティではないという判断に応答して、ディレクトリサービスで前記第2エンティティの加入を認証し、且つ証明機関で前記第2エンティティに対応するデジタル証明書を認証することによって、前記第2エンティティが信頼を確立することができるか否かを判断し、
前記第2エンティティが信頼を確立することができたという判断、又は前記第2エンティティが信頼できるエンティティであるという判断に応答して、
前記第2エンティティによって生成され、且つ前記デジタル証明書に含まれたプライベート公開キー対の公開キーを用いて前記第1機密情報を暗号化することにより第2機密情報を生成し、前記第2エンティティの
少なくとも1つの動作を有効にするために
前記設定サービスを介して前記第2エンティティ
に前記
第2機密情報を
送信する、方法。
【請求項2】
前記第2エンティティが信頼を確立することができたという判断に応答して、前記第2コンピューティング環境に関連付けられた前記設定サービスによって、前記第2エンティティを前記信頼できるエンティティの
前記リストに追加することをさらに含む、請求項1に記載の方法。
【請求項3】
コンピューティングデバイスによって、
前記暗号化キーを生成し、
前記暗号化キーを用いて
情報を暗号化することにより前記
第1機密情報を
生成し、
前記暗号化キーを、格納のため、前記設定サービスに送信し、
前記
第1機密情報を前記第1エンティティに送信すること、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記第1エンティティは、前記第1コンピューティング環境の第1コネクタであり、前記第2エンティティは、前記第1コンピューティング環境の第2コネクタである、請求項1に記載の方法。
【請求項5】
前記第2エンティティが信頼を確立することができなかったという判断に応答して、前記第2エンティティと前記
第1機密情報を共有するための要求を拒否すること、をさらに含む、請求項1に記載の方法。
【請求項6】
前記第2エンティティが信頼を確立することができるか否かの判断は、前記第2エンティティによって、
1つ以上の信頼できるエンティティに関する情報を有するディレクトリサービスに加入し、
プライベートキーと公開キーとを有するプライベート公開キー対を生成し、
前記証明機関から、前記公開キーを有する、前記第2エンティティに対応する前記デジタル証明書を受信し、
前記信頼できるエンティティの
前記リストに加入するための要求であって、前記第2エンティティに対応する前記デジタル証明書を有する要求を前記設定サービスに送信すること、
をさらに含む、請求項1に記載の方法。
【請求項7】
前記第2エンティティが信頼を確立することができるか否かの判断は、前記第1エンティティによって、前記設定サービスから、前記第2エンティティに対応する前記デジタル証明書を受信することをさらに含み、
前記デジタル証明書は、前記第2エンティティによって生成されたプライベート公開キー対の公開キーを有している、
請求項1に記載の方法。
【請求項8】
前記第2エンティティによって、
前記送信された
前記第2機密情報を受信し、
前記受信された
前記第2機密情報を前記プライベートキーを用いて復号すること、
をさらに含む、請求項
1に記載の方法。
【請求項9】
前記
第2機密情報を前記第2エンティティによって復号したことに応答して、前記設定サービスによって、前記第2エンティティを前記信頼できるエンティティの
前記リストに追加することをさらに含む、請求項
8に記載の方法。
【請求項10】
前記第2エンティティから、前記
第1機密情報を共有するための要求を受信することは、前記第1コンピューティング環境への前記第2エンティティの追加、前記
第1機密情報を共有するためのユーザ要求、又は、前記
第1機密情報を用いて前記第2エンティティを介して第1リソースへアクセスするための要求の少なくとも1つに応答するものである、請求項1に記載の方法。
【請求項11】
コンピューティング環境で機密情報を安全に共有するコンピューティングシステムであって、
前記システムは、
少なくとも第1エンティティ及び第2エンティティを含む第1コンピューティング環境と、
少なくとも設定サービスを含む第2コンピューティング環境と、
機密情報を共有する方法を実施するプログラミング命令を有する非一時的なコンピュータ読み取り可能な記憶媒体と、
を備え、
前記プログラミング命令は、前記第1エンティティに、
前記設定サービスによって保持された暗号化キーを用いて暗号化された第1機密情報であって、前記第1コンピューティング環境に対応する
第1機密情報を受信し、
前記第1コンピューティング環境の前記第2エンティティから、前記第1エンティティと前記第2エンティティとの間で前記
第1機密情報を共有するための要求を受信し、
前記第2エンティティが、前記設定サービスによって保持された信頼できるエンティティのリスト
であって、前記第1コンピューティング環境に機密情報を格納する信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断し、
前記第2エンティティが前記信頼できるエンティティの
前記リストに含まれた信頼できるエンティティではないという判断に応答して、ディレクトリサービスで前記第2エンティティの加入を認証し、且つ証明機関で前記第2エンティティに対応するデジタル証明書を認証することによって、前記第2エンティティが信頼を確立することができるか否かを判断し、
前記第2エンティティが信頼を確立することができたという判断、又は前記第2エンティティが信頼できるエンティティであるという判断に応答して、
前記第2エンティティによって生成され、且つ前記デジタル証明書に含まれたプライベート公開キー対の公開キーを用いて前記第1機密情報を暗号化することにより第2機密情報を生成し、前記第2エンティティの
少なくとも1つの動作を有効にするために
前記設定サービスを介して前記第2エンティティ
に前記
第2機密情報を
送信すること、
を実行させる命令を含む、システム。
【請求項12】
前記第2エンティティが信頼を確立することができたという判断に応答して、前記設定サービスに、前記第2エンティティを前記信頼できるエンティティの
前記リストに追加させる命令をさらに含む、請求項1
1に記載のシステム。
【請求項13】
コンピューティングデバイスに、
前記暗号化キーを生成し、
前記暗号化キーを用いて
情報を暗号化することにより前記
第1機密情報を
生成し、
前記暗号化キーを、格納のため、前記設定サービスに送信し、
前記
第1機密情報を前記第1エンティティに送信すること、
を実行させる命令をさらに含む、請求項1
1に記載のシステム。
【請求項14】
前記第1エンティティは、前記第1コンピューティング環境の第1コネクタであり、前記第2エンティティは、前記第1コンピューティング環境の第2コネクタである、請求項1
1に記載のシステム。
【請求項15】
前記第2エンティティが信頼を確立することができなかったという判断に応答して、前記第1エンティティに、前記第2エンティティと前記
第1機密情報を共有するための要求を拒否させる命令をさらに含む、請求項1
1に記載のシステム。
【請求項16】
前記第2エンティティが信頼を確立することができるか否かを判断するために、前記第2エンティティに、
1つ以上の信頼できるエンティティに関する情報を有するディレクトリサービスに加入し、
プライベートキーと公開キーとを有するプライベート公開キー対を生成し、
前記証明機関から、前記公開キーを有する、前記第2エンティティに対応する前記デジタル証明書を受信し、
前記信頼できるエンティティの
前記リストに加入するための要求であって、前記第2エンティティに対応する前記デジタル証明書を有する要求を前記設定サービスに送信すること、
を実行させる命令をさらに含む、請求項1
1に記載のシステム。
【請求項17】
前記第2エンティティが信頼を確立することができるか否かを前記第1エンティティに判断させる命令は、前記第1エンティティに、前記設定サービスから、前記第2エンティティに対応する前記デジタル証明書を受信させる命令をさらに含み、
前記デジタル証明書は、前記第2エンティティによって生成されたプライベート公開キー対の公開キーを有している、
請求項1
1に記載のシステム。
【請求項18】
前記第2エンティティに、
前記送信された
前記第2機密情報を受信し、
前記受信された
前記第2機密情報を前記プライベートキーを用いて復号すること、
を実行させる命令をさらに含む、請求項
11に記載のシステム。
【請求項19】
前記暗号化された機密情報を前記第2エンティティによって復号したことに応答して、前記設定サービスに、前記第2エンティティを前記信頼できるエンティティの
前記リストに追加させる命令をさらに含む、請求項
18に記載のシステム。
【請求項20】
前記第2エンティティから、前記
第1機密情報を共有するための要求を受信することは、前記第1コンピューティング環境への前記第2エンティティの追加、前記
第1機密情報を共有するためのユーザ要求、又は、前記
第1機密情報を用いて前記第2エンティティを介して第1リソースへアクセスするための要求の少なくとも1つに応答するものである、請求項1
1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2018年8月7日に出願された米国特許出願第16/056,848号の優先権を主張し、その開示内容は参照により本明細書に組み込まれる。
【0002】
本開示は、概してコンピューティングシステムに関する。より詳細には、本開示は、強化されたセキュリティを可能とするコンピューティング環境で機密情報を複製するシステム及び方法の実施に関する。
【背景技術】
【0003】
クラウドコンピューティングにより、ユーザは、自身のローカルコンピュータ上ではなく遠隔設置されたコンピュータ上で動作するアプリケーション又はサービスを利用することができる。例えば、データをクライアントコンピュータからサーバコンピュータへ転送することによって、データをクラウド内で処理することができる。データはサーバコンピュータで処理された後、その処理データはクライアントコンピュータに戻される。このよに、クライアントコンピュータは、処理タスクをクラウド内のコンピュータにオフロードする。クラウドコンピューティングには多くの利点がある一方で、情報の完全性及びセキュリティは、システム管理者にとって重要な課題となっている。処理対象データは、コンピュータネットワークを通じて転送される必要があるため、数例を挙げると、盗聴、傍受など、オンラインコンピュータセキュリティ上の脅威に対して特に脆弱である。したがって、一人以上のユーザに外部サービスを提供する際、情報セキュリティは最も重要である。
【発明の概要】
【0004】
本文書は、コンピューティング環境で機密情報を安全に共有するシステム及び方法に関する。当該方法は、第1コンピューティング環境の第1エンティティによって、第1コンピューティング環境に対応する機密情報を受信し、第1コンピューティング環境の第2エンティティから、第1エンティティと第2エンティティとの間で機密情報を共有するための要求を受信し、第2エンティティが、第2コンピューティング環境に関連付けられた設定サービスによって保持された信頼できるエンティティのリストに含まれた信頼できるエンティティであるか否かを判断する。第2エンティティが信頼できるエンティティのリストに含まれた信頼できるエンティティではない場合、ディレクトリサービスで第2エンティティの加入を認証し、且つ証明機関で第2エンティティに対応するデジタル証明書を認証することによって、第2エンティティが信頼を確立することができるか否かを判断する。当該方法は、さらに、第2エンティティが信頼を確立することができたという判断、又は第2エンティティが信頼できるエンティティであるという判断に応答して、第2エンティティの動作を有効にするために第2エンティティと機密情報を共有する。第1エンティティを、第1コンピューティング環境の第1コネクタとし、第2エンティティを、第1コンピューティング環境の第2コネクタとすることができる。
【0005】
いくつかのシナリオにおいて、当該方法は、第2エンティティが信頼を確立することができた場合、第2コンピューティング環境に関連付けられた設定サービスによって、第2エンティティを信頼できるエンティティのリストに追加することを含めてもよい。代替手段として、第2エンティティが信頼を確立することができなかった場合、第1エンティティは、第2エンティティと機密情報を共有するための要求を拒否してもよい。
【0006】
いくつかの他のシナリオにおいて、当該方法は、機密情報を暗号化するための暗号化キーを生成し、暗号化キーを用いて機密情報を暗号化し、暗号化キーを、格納のため、設定サービスに送信し、暗号化された機密情報を第1エンティティに送信すること、をさらに含む。
【0007】
1つ以上のシナリオにおいて、第2エンティティが信頼を確立することができるか否かの判断は、ディレクトリサービスに加入し、プライベートキーと公開キーとを有するプライベート公開キー対を生成し、証明機関から、公開キーを有する、第2エンティティに対応するデジタル証明書を受信し、信頼できるエンティティのリストに加入するための要求を設定サービスに送信すること、を含めてもよい。当該要求は、第2エンティティに対応するデジタル証明書を有してもよい。ディレクトリサービスは、1つ以上の信頼できるエンティティに関する情報を有する。
【0008】
シナリオによっては、第2エンティティが信頼を確立することができるか否かの判断は、第1エンティティによって、設定サービスから、第2エンティティに対応するデジタル証明書を受信することを含めてもよい。デジタル証明書は、第2エンティティによって生成されたプライベート公開キー対の公開キーを有している。
【0009】
代替手段として、及び/又は、追加手段として、当該方法は、機密情報を設定サービスを介して第2エンティティに送信することによって、第2エンティティの動作を有効にするために第2エンティティと機密情報を共有することを含めてもよい。第1エンティティは、さらに、送信の前に、第2エンティティによって生成され、且つデジタル証明書に含まれたプライベート公開キー対の公開キーを使って、機密情報を暗号化してもよい。代替手段として、当該方法は、第2エンティティによって、送信された暗号化された機密情報を受信し、受信された暗号化された機密情報をプライベートキーを用いて復号すること、を含めてもよい。次いで、設定サービスは、暗号化された機密情報を第2エンティティによって復号したことに応答して、第2エンティティを信頼できるエンティティのリストに追加してもよい。
【0010】
1つ以上のシナリオにおいて、第2エンティティから、機密情報を共有するための要求を受信することは、第1コンピューティング環境への第2エンティティの追加、機密情報を共有するためのユーザ要求、又は、機密情報を用いて第2エンティティを介して第1リソースへアクセスするための要求、及び/又はこれらの組み合わせに応答するものである。
【図面の簡単な説明】
【0011】
以下の図面を参照することで本開示は促され、図面全体を通して、同様の参照符号は同様の特徴を表す。
【0012】
【0013】
【
図2】
図2は、例示的なコンピューティングデバイスの図である。
【0014】
【
図3】
図3は、例示的なコンピューティング環境の図である。
【0015】
【
図4】
図4は、外部コンピューティング環境を介して機密情報を安全に送信して格納し、内部コンピューティング環境のエンティティ間で情報を共有する方法の一例を示すフローチャートである。
【0016】
【
図5】
図5は、内部コンピューティング環境のエンティティ間で機密情報を共有し、及び/又は、複製する方法の一例を示すメッセージフロー図である。
【発明を実施するための形態】
【0017】
本明細書で一般的に説明され、添付図面に示された実施形態の構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されよう。したがって、図示されている様々な実施形態の以下のより詳細な説明は、本開示の範囲を限定するものではなく、様々な実施形態の単なる代表例である。実施形態の様々な態様が図示されているが、特に明示しない限り、図面は必ずしも縮尺通りに描かれていない。
【0018】
本明細書に示された実施例は、その精神又は本質的な特徴から逸脱することなく、他の特定の形態で具現化することができる。説明された実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈してはならない。したがって、本開示の範囲は、添付の特許請求の範囲によって示されるのであって、この詳細な説明には、なんら拘束されない。特許請求の範囲の均等物の意味及び範囲内における変更はすべて本開示の範囲内に包含されるべきである。
【0019】
本明細書全体を通して、特徴、利点、又は類似の用語への言及は、実現され得る特徴及び利点のすべてが任意の単一の実施形態にあるべきであることを意味しない。むしろ、特徴及び利点に言及する用語は、実施形態に関連して説明される特定の特徴、利点、又は特性が少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書全体にわたる特徴及び利点、並びに類似の言語の議論は、必ずしもそうではないが、同じ実施形態を指す場合がある。
【0020】
さらに、本開示に記載された特徴、利点、及び特性は、1つ以上の実施形態において任意の適切な方法で組み合わせることができる。当業者は、本明細書の説明に照らして、特定の実施形態の1つ以上の特定の特徴又は利点なしで本明細書に記載された実施例が実施可能であることを認識するであろう。他の例では、すべての実施形態で示されていない特定の実施形態において、追加の特徴及び利点が認識される場合がある。
【0021】
本明細書全体を通して、「一実施形態」(one embodiment)、「実施形態」(an embodiment)、又は同様の文言への言及は、示された実施形態に関連して説明された特定の特徴、構造、又は特性が少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して、「一実施形態では」(in one embodiment)、「実施形態では」(in an embodiment)という文言、及び同様の文言は、必ずしもそうではないが、すべて同じ実施形態を指す場合がある。
【0022】
本文書で用いられている単数形「a」、「an」、及び「the」は、文脈上特に明記されていない限り、複数形の言及を含む。別段に定義されていない限り、本明細書で用いられているすべての技術用語及び科学用語は、当業者によって一般に理解されるのと同じ意味を有する。本文書で用いられている「備える/有する」(comprising)という用語は「含むが、それに限定されない」(including, but not limited to)ことを意味する。
【0023】
本明細書で用いられている用語「機密情報」(sensitive information)は、ユーザ又はエンティティのプライバシー及び/又はセキュリティを守るために、不正アクセスから保護されたデータを指す。例として、アクセス認証情報、個人情報、医療情報、財務情報、社会保障情報などの固有識別子、生体認証データ、企業秘密、顧客及び供給者情報、従業員データなどが挙げられる。
【0024】
しばしば、コンピューティング環境において、企業の一部のリソースは、外部から管理され、且つサービスプロバイダ(例えば、外部サービスプロバイダ)のコンピューティング環境内にある一方で、企業の他のリソースは、企業内で管理され、且つ企業自身のサーバ又は他のコンピューティングデバイス内にある。しかしながら、外部コンピューティング環境又はサーバ(例えば、クラウドサーバ)は、公開されており、信頼できない。そのため、一部のエンティティは、機密情報へのアクセスを要するアプリケーションの使用に消極的である可能性がある。また、ユーザは、機密情報(例えば、識別認証情報)を、企業のコンピューティングデバイスの1つにある、企業内で管理されたアプリケーション又は他のリソースに送信することができるが、その機密情報は、ユーザのデバイスから内部リソースに、サービスプロバイダによって提供された外部コンピューティング環境を介して送信され得る。その結果、サービスプロバイダは、その機密情報にアクセスできてしまう。例えば、サービスプロバイダは、シングルサインオンシステムを介して様々なリソース又はアプリケーションへのアクセスを制御することができ、そのシステムでは、サービスプロバイダのネットワーク又はシステム上のパスワードマネージャー(ソフトウェアアプリケーション/エージェント/プロセスなど)が、安全なアプリケーションにユーザ認証情報を提供する役目を担っている。特定のユーザのユーザ認証情報は、当該ユーザに関連付けられた暗号化キーを用いて暗号化された後、通常、パスワードマネージャーがアクセス可能な箇所に暗号化形式で格納される。ユーザ認証情報を要する安全なアプリケーションへアクセスするという、認証されたユーザによる要求は、パスワードマネージャーによって傍受されるため、サービスプロバイダによってアクセス可能である。さらに、ユーザに関連付けられた暗号化キーをそのまま格納することは、そのキーが悪意のあるエンティティによって盗まれ、それによって、識別認証情報などの機密情報をさらすおそれがあるため、セキュリティ上の脆弱性を表している。
【0025】
外部の公開されたコンピューティング環境が機密情報にアクセスするのを防ぐため、例えば、暗号化キーを用いて機密情報を暗号化する方法がある。その方法は、第1コンピューティング環境(例えば、公開されたコンピューティング環境)が機密情報にアクセスできないように、暗号化キーを第1コンピューティング環境で格納し、暗号化された機密情報を第2コンピューティング環境(例えば、企業自身の内部コンピューティング環境のコネクタ又は別のサーバ)で格納することもできる。しばしば、企業の内部コンピューティング環境は、冗長性、効率、及び高可用性の理由を示すため、内部コンピューティング環境の1つ以上のリソースに機密情報を供給するための複数のサーバ(例えば、コネクタ)を配置することがある。しかしながら、複数のサーバ間で必ずしも直接通信をしているわけではない。したがって、例えば、機密情報が暗号化され、第1サーバで格納された後に、新たなサーバがセットアップされ、及び/又は、機密情報にアクセスする必要があるとき、又は、機密情報が更新されたとき、そのようなサーバ間で機密情報を安全に共有し、又は複製することは、いまだ課題である。
【0026】
ここで
図1を参照すると、本明細書で説明する実施形態が実現される例示的なコンピューティング環境を示す概略ブロック図が示されている。
図1は、1つ以上のサーバ106A~106N(本明細書では概して「サーバ106A~N」と称する。)と通信する1つ以上のクライアントマシン102A~102N(本明細書では概して「クライアントマシン102A~N」と称する。)を備えるコンピューティング環境101の一実施形態を示す。クライアントマシン102A~Nとサーバ106A~Nとの間にはネットワーク104が設けられている。
【0027】
一実施形態において、コンピューティング環境101は、サーバ106A~Nとクライアントマシン102A~Nとの間に設置されたアプライアンスを備えることができる(ここでは図示せず。)。このアプライアンスはクライアント/サーバ接続を管理しており、場合によっては、複数のバックエンドサーバ間でクライアント接続の負荷を分散することができる。例えば、当該アプライアンスは、コンピューティング環境でサーバ106A~Nがホストするコンピューティングリソース(クラウドハードウェア及びソフトウェアリソース)へのアクセスのため、クライアントマシン102A~Nとサーバ106A~Nとの間の通信リンクを提供する、コンピューティング環境コネクタ(以下、「コネクタ」と称する。)などの管理サーバ及び/又は別のサーバである。コンピューティング環境ハードウェア及びソフトウェアリソースは、プライベート及び/又はパブリックコンポーネントを有することができる。例えば、コンピューティング環境は、1以上の特定の顧客又はクライアントコンピュータによって使用され、及び/又はプライベートネットワークを介して使用されるプライベートコンピューティング環境又はコンピューティングデバイスとして構成され得る。他の実施形態において、パブリック又はパブリック-プライベートコンピューティング環境は、オープン又はクローズドネットワークを介して他の顧客によって使用され得る。
【0028】
クライアントマシン102A~Nについて、いくつかの実施形態では、単一のクライアントマシン又は単一グループのクライアントマシンと称することができ、一方、サーバ106A~Nは、単一のサーバ又は単一グループのサーバと称される。一実施形態では、単一のクライアントマシンが複数のサーバと通信し、一方、別の実施形態では、単一のサーバが複数のクライアントマシンと通信する。さらに別の実施形態では、単一のクライアントマシンが単一のサーバと通信する。
【0029】
クライアントマシン102A~Nは、いくつかの実施形態では、以下の用語のいずれか1つによって言及することができる:クライアントマシン;クライアント;クライアントコンピュータ;クライアントデバイス;クライアントコンピューティングデバイス;ローカルマシン;リモートマシン;クライアントノード;エンドポイント;エンドポイントノード;又は第2のマシン。サーバ106A~Nは、いくつかの実施形態では、以下の用語のいずれか1つによって言及される:サーバ;ローカルマシン;リモートマシン;サーバファーム;ホストコンピューティングデバイス;又は第1のマシン。
【0030】
一実施形態では、クライアントマシン102A~Nのうちの1つ以上は仮想マシンであり得る。仮想マシンは任意の仮想マシンとすることができる一方で、いくつかの実施形態において、仮想マシンは、Citrix Systems、IBM、VMwareにより開発されたハイパーバイザ又は他のハイパーバイザによって管理される任意の仮想マシンであり得る。他の実施形態において、仮想マシンは、サーバ上で実行するハイパーバイザ又はクライアントマシン上で実行するハイパーバイザによって管理され得る。
【0031】
クライアントマシン102A~Nは、いくつかの実施形態では、以下のいずれか1つのアプリケーションを実行、動作、又は提供することができる:ソフトウェア;プログラム;実行可能な命令;仮想マシン;ハイパーバイザ;ウェブブラウザ;ウェブベースのクライアント;クライアント・サーバアプリケーション;シンクライアントコンピューティングクライアント;ActiveXコントロール;Java(登録商標)アプレット;ソフトIP電話のようなVoice over Internet Protocol(VoIP)通信に関連するソフトウェア;ビデオ及び/又はオーディオをストリーミングするためのアプリケーション;リアルタイムデータ通信を容易にするためのアプリケーション;HTTPクライアント;FTPクライアント;Oscarクライアント;Telnetクライアント;その他の実行可能な命令のセット。さらに他の実施形態は、サーバ106A~N又は他の遠隔設置されたマシン上でリモート実行するアプリケーションによって生成されたアプリケーション出力を表示する1つ以上のクライアントマシン102A~Nを備える。これらの実施形態では、クライアントマシン102A~Nは、アプリケーションウィンドウ、ブラウザ、又は他の出力ウィンドウにアプリケーション出力を表示することができる。一実施形態では、アプリケーションはデスクトップであるが、他の実施形態では、アプリケーションはデスクトップを生成するアプリケーションである。
【0032】
サーバ106A~Nは、いくつかの実施形態において、シンクライアント又はリモート表示プロトコルを使用するリモートプレゼンテーションクライアント又は他のクライアントプログラムを実行して、サーバ上で実行されるアプリケーションによって生成された表示出力を取得し、アプリケーション表示出力をリモートクライアントマシン102A~Nに送信する。シンクライアント又はリモート表示プロトコルは、以下のプロトコルのいずれか1つとすることができる:フロリダ州フォートローダーデールのCitrix Systems, Inc.によって製造されたIndependent Computing Architecture(ICA)プロトコル;又は、ワシントン州レドモンドのMicrosoft Corporationによって製造されたRemote Desktop Protocol(RDP)。
【0033】
コンピューティング環境101は、サーバ106A~Nが論理的にグループ化されてサーバファームとなるように、2つ以上のサーバ106A~Nを備えてもよい。サーバファームは、サーバファーム内で地理的に分散して論理的にグループ化されたサーバを設けてもよいし、又はサーバファーム内で互いに近接して論理的にグループ化されたサーバを設けてもよい。サーバファーム内で地理的に分散したサーバは、いくつかの実施形態では、WAN、MAN、又はLANを用いて通信することができる。ここで、異なる地理的地域を以下のように特徴付けることができる:異なる大陸;一大陸での異なる地域;異なる国;異なる州;異なる都市;異なるキャンパス;異なる部屋;又は、前述の地理的位置の任意の組み合わせ。いくつかの実施形態では、サーバファームは単一のエンティティとして管理され、一方、他の実施形態において、サーバファームは複数のサーバファームを設けてもよい。
【0034】
いくつかの実施形態において、サーバファームは、実質的に同様のタイプのオペレーティングシステムプラットフォーム(例えば、ワシントン州レドモンドのMicrosoft Corporation製のWINDOWS(登録商標)、UNIX(登録商標)、LINUX、又はmacOS(登録商標))を実行するサーバ106A~Nを備えることができる。他の実施形態において、サーバファームは、第1のタイプのオペレーティングシステムプラットフォームを実行する第1のサーバグループと、第2のタイプのオペレーティングシステムプラットフォームを実行する第2のサーバグループとを備えてもよい。他の実施形態において、サーバファームは、異なるタイプのオペレーティングシステムプラットフォームを実行する複数のサーバを備えてもよい。
【0035】
いくつかの実施形態において、コンピューティング環境101は、サーバ106A~Nが1つ以上のサブグループに分割されるように、2つ以上のサーバ106A~Nを備えてもよく、各サブグループは、異なるエンティティによって管理され、及び/又は操作される。例えば、第1エンティティは、個人若しくは共用のコンピューティングデバイス又は環境で、オンプレミスの第1のサーバサブグループを操作し、及び/又は管理し、第2エンティティは、個人若しくは共用のコンピューティングデバイス又は環境で、オンプレミスの第2のサーバサブグループを操作し、及び/又は管理し、第3エンティティは、個人若しくは共用のコンピューティングデバイス又は環境で、オンプレミスの第3のサーバサブグループを操作し、及び/又は管理するなどである。
【0036】
いくつかの実施形態において、サーバ106A~Nは、どんな種類のサーバでもよい。例えば、サーバは、以下の種類のいずれのサーバでもよい:ファイルサーバ;アプリケーションサーバ;ウェブサーバ;プロキシサーバ;アプライアンス;ネットワークアプライアンス;ゲートウェイ;アプリケーションゲートウェイ;ゲートウェイサーバ;仮想化サーバ;デプロイメントサーバ;SSL VPNサーバ;ファイアウォール;ウェブサーバ;マスターアプリケーションサーバとしてのアプリケーションサーバ;アクティブディレクトリを実行するサーバ;又は、ファイアウォール機能、アプリケーション機能、若しくは負荷分散機能を提供するアプリケーション加速プログラムを実行するサーバ。いくつかの実施形態において、サーバは、リモート認証ダイヤルインユーザサービスを含むRADIUSサーバでもよい。サーバがアプライアンスを備える実施形態では、サーバを、以下のメーカーの何れか1つによって製造されたアプライアンスとしてもよい:Citrix Application Networking Group;Silver Peak Systems, Inc;Riverbed Technology, Inc.;F5 Networks, Inc.;又はJuniper Networks, Inc.。いくつかの実施形態は、1つ以上のクライアントマシン102A~Nから要求を受信し、当該要求を第2サーバ106Bに転送し、クライアントマシン102A~Nによって生成された要求に、第2サーバ106Bからの応答とともに応える第1サーバ106Aを備える。第1サーバ106Aは、クライアントマシン102A~Nが利用可能なアプリケーションの一覧表を取得するとともに、当該アプリケーションの一覧表内で特定されたアプリケーションをホストするアプリケーションサーバに関連付けられたアドレス情報も取得することができる。次いで、第1サーバ106Aは、ウェブインターフェイスを用いてクライアントの要求に対する応答を提示し、クライアントマシン102A~Nと直接通信することで、クライアントマシン102A~Nが特定されたアプリケーションにアクセスできるようにする。
【0037】
いくつかの実施形態において、サーバ106A~Nは、以下のアプリケーションの何れか1つを実行することができる:シンクライアントプロトコルを用いてクライアントにアプリケーション表示データを送信するシンクライアントアプリケーション;リモート表示プレゼンテーションアプリケーションなど。別の実施形態は、例えば以下のようなアプリケーションサーバであるサーバを備える:Microsoft Corporationによって製造されたMICROSOFT EXCHANGEなどの電子メールサービスを提供する電子メールサーバ;ウェブ若しくはインターネットサーバ;デスクトップ共有サーバ;コラボレーションサーバ;又は、他のタイプのアプリケーションサーバ。さらに他の実施形態は、1つ以上のホスト型サーバアプリケーション(例えば、Cisco, Incによって提供されたWEBEX(登録商標))を実行するサーバを備える。
【0038】
クライアントマシン102A~Nは、いくつかの実施形態において、サーバによって提供されるリソースへのアクセスを求めるクライアントノードであり得る。他の実施形態では、サーバ106A~Nは、ホストリソースへのアクセスをクライアントマシン102A~Nに提供する。サーバ106A~Nは、いくつかの実施形態では、1つ以上のクライアントマシン102A~N又はサーバ106A~Nと通信するようにマスターノードとして機能する。いくつかの実施形態では、マスターノードは、要求されたアプリケーションをホストするサーバに関連付けられたアドレス情報を識別し、1つ以上のクライアント又はサーバに提供することができる。さらに他の実施形態では、マスターノードは、サーバファーム、クライアントマシン、クライアントノードのクラスター、又はアプライアンスであり得る。
【0039】
1つ以上のクライアントマシン102A~N及び/又は1つ以上のサーバ106A~Nは、コンピューティング環境101内のマシンとアプライアンスとの間に設置されたネットワーク104を介してデータを送信することができる。ネットワーク104は、1つ以上のサブネットワークを有してもよく、コンピューティング環境101内に含まれるクライアントマシン102A~N、サーバ106A~N、コンピューティングマシン及びアプライアンスの任意の組み合わせの間に設置することができる。いくつかの実施形態では、ネットワーク104として以下のいずれかを採用することができる:ローカルエリアネットワーク(LAN);メトロポリタンエリアネットワーク(MAN);広域ネットワーク(WAN);クライアントマシン102A~Nとサーバ106A~Nとの間に位置する複数のサブネットワークから構成されるプライマリネットワーク;プライベートサブネットワークを有するプライマリパブリックネットワーク;パブリックサブネットワーク4を有するプライマリプライベートネットワーク;又は、プライベートサブネットワークを有するプライマリプライベートネットワーク。さらに別の実施形態は、以下のネットワークタイプのいずれかを採用し得るネットワーク104を備える:ポイントツーポイントネットワーク;ブロードキャストネットワーク;電気通信ネットワーク;データ通信ネットワーク;コンピュータネットワーク;ATM(非同期転送モード)ネットワーク;SONET(同期型光ネットワーク)ネットワーク;SDH(同期デジタル階層)ネットワーク;ワイヤレスネットワーク;有線ネットワーク;又は、ワイヤレスリンクが赤外チャネル若しくは衛星帯であり得るワイヤレスリンクを有するネットワーク104。ネットワーク104のネットワークトポロジーは、実施形態によって異なってよく、ネットワークトポロジーの候補として以下が挙げられる:バスネットワークトポロジー;スター型ネットワークトポロジー;リングネットワークトポロジー;リピーターベースのネットワークトポロジー;又は層状スターネットワークトポロジー(tiered-star network topology)。追加の実施形態は、プロトコルを使用してモバイルデバイス間で通信する携帯電話ネットワークのネットワーク104を備える。そのようなプロトコルとして以下のいずれか1つを採用することができる:AMPS;TDMA;CDMA;GSM(登録商標);GPRS UMTS;又はモバイルデバイス間でデータを送信可能な他のプロトコル。
【0040】
ここで
図2を参照すると、コンピューティングデバイス200の例示的なアーキテクチャの詳細なブロック図が示されている。ここで、
図1に示すクライアントマシン102及びサーバ106は、コンピューティングデバイス200の任意の実施形態として配置され、及び/又は実行され得る。したがって、コンピューティングデバイス200の以下の説明は、
図1のクライアントマシン102及び/又はサーバ106を理解するのに十分である。
【0041】
コンピューティングデバイス200の構成要素は、
図2に示された構成要素よりも多くても少なくてもよい。しかしながら、図示されている構成要素は、本解決手段を実施する例示的な実施形態を開示するのに十分である。
図2のハードウェアアーキテクチャは、安全な企業コンピューティング環境のエンティティ若しくはサーバ(例えば、コネクタ)間での機密情報の共有又は複製を促進するように構成された代表的なコンピューティングデバイスの一実施形態を表している。したがって、
図2のコンピューティングデバイス200は、以下で説明するように、複数の通信チャネルを介して、コンピューティング環境で機密情報を共有し、及び/又は複製する方法の少なくとも一部を実施する。
【0042】
コンピューティングデバイス200の一部又はすべての構成要素は、ハードウェア、ソフトウェア、及び/又はハードウェアとソフトウェアとの組み合わせとして実現することができる。ハードウェアには、1つ以上の電子回路が含まれるが、これらに限定されない。電子回路には、受動素子(例えば、抵抗器及びコンデンサ)及び/又は能動素子(例えば、増幅器及び/又はマイクロプロセッサ)が含まれ得るが、これらに限定されない。受動素子及び/又は能動素子は、本明細書に記載の方法、手順、又は機能のうちの1つ以上を実行するように構成され、配置され、及び/又はプログラムされ得る。
【0043】
図2に示すように、コンピューティングデバイス200は、ユーザインターフェイス202と、中央処理装置(「CPU」)206と、システムバス210と、システムバス210を介してコンピューティングデバイス200の他の部分に接続されてアクセス可能なメモリ212と、システムバス210に接続されたハードウェアエンティティ214とを備える。ユーザインターフェイス202は、入力デバイス(例えば、キーパッド250)及び出力デバイス(例えば、スピーカー252、ディスプレイ254、及び/又は発光ダイオード256)を設けることができ、コンピューティングデバイス200の動作を制御するためのユーザソフトウェア相互作用を促進する。
【0044】
ハードウェアエンティティ214の少なくとも一部は、メモリ212へのアクセス及び使用を伴うアクションを実行する。メモリ212として、RAM、ディスクドライバ及び/又はコンパクトディスク読み取り専用メモリ(「CD-ROM」)を採用し得る。ハードウェアエンティティ214は、コンピュータ読み取り可能な記憶媒体218を有するディスクドライブユニット216を備える。コンピュータ読み取り可能な記憶媒体218には、本明細書に記載の方法、手順、又は機能のうちの1つ以上を実行する命令220(例えば、ソフトウェアコード)の1つ以上のセットが格納されている。命令220は、コンピューティングデバイス200による実行中に、メモリ212内及び/又はCPU206内に完全に又は少なくとも部分的に常駐するようにしてもよい。メモリ212及びCPU206はまた、機械読み取り可能な媒体を構成することができる。本明細書で使用される「機械読み取り可能な媒体」という用語は、命令220の1つ以上のセットを格納する単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を指す。本明細書で使用される「機械読み取り可能な媒体」という用語はまた、コンピューティングデバイス200による実行のための命令220のセットを格納、符号化、又は搬送することができ、且つ、コンピューティングデバイス200に、本明細書で説明される方法のいずれか1つ以上を実行させる任意の媒体も指している。
【0045】
いくつかのシナリオにおいて、ハードウェアエンティティ214は、安全な企業コンピューティング環境のエンティティ若しくはサーバ(例えば、コネクタ)間での機密情報の共有及び/又は複製を促進するためにプログラムされた電子回路(例えば、プロセッサ)を有する。これに関し、当該電子回路は、コンピューティングデバイス200にインストールされたソフトウェアアプリケーション224にアクセスして実行することができることを理解されたい。ソフトウェアアプリケーション224の機能は、議論が進むにつれて明らかになるであろう。
【0046】
コンピューティングデバイス200は、本明細書に開示された様々な実施に関連して使用可能なコンピュータシステムの一例になり得ることを理解されたい。しかしながら、これに関し、本明細書に開示されたシステム及び方法は限定されるものではなく、他の適切なコンピュータシステムアーキテクチャも、限定されることなく、使用可能である。限定されるものではないが、特定用途向け集積回路、プログラマブルロジックアレイその他のハードウェアデバイスなどを含む専用ハードウェア実装も、同様に、本明細書に記載された方法を実施するように構成可能である。装置及びシステムを具備可能なアプリケーションは、種々の電子及びコンピュータシステムにも広く及ぶ。いくつかのシナリオにおいて、ある機能は、モジュール間及びモジュールを介して伝達された関連する制御信号及びデータ信号によって、2つ以上の特定の相互接続したハードウェアモジュール若しくはデバイスで実施可能であり、又は特定用途向け集積回路の一部として実施可能である。このように、例示的なシステムは、ソフトウェア、ファームウェア、及びハードウェア実装に適用可能である。
【0047】
また、実施形態は、有形のコンピュータ使用可能な記憶媒体(例えば、ハードディスク又はCD-ROM)上でのコンピュータプログラム製品の形態をとることができることを理解されたい。コンピュータ使用可能な記憶媒体は、媒体内に具現化されたコンピュータ使用可能なプログラムコードを有することができる。本明細書で用いられているコンピュータプログラム製品という用語は、本明細書に記載された方法の実施を可能とする全ての特徴を備えたデバイスを指す。コンピュータプログラム、ソフトウェアアプリケーション、コンピュータソフトウェアルーチン、及び/又は、これらの用語の他の変形語は、本コンテキストにおいて、情報処理能力を有するシステムに、直接的に特定の機能を実行させるか、又は、次のa)若しくはb)の一方若しくは双方の後に特定の機能を実行させることを意図した命令セットの、任意の言語、コード、若しくは表記による任意の表現を意味する:a)別の言語、コード、若しくは表記への変換、又はb)異なるマテリアル形式での再現。
【0048】
図3に示すように、コンピューティング環境300は、公共サービス及びリソース(すなわち、外部サービス318)を提供する外部サービスプロバイダ314を備える。コンピューティング環境は、さらに、クライアントデバイス302と、内部コンピューティング環境とを備え、内部コンピューティング環境は、内部コンピューティング環境と外部コンピューティング環境との通信を促すコネクタ310A~Nを備える。
【0049】
システム300は、企業の一部のリソースが、外部から管理され、且つ外部サービスプロバイダによって管理された外部コンピューティング環境内にある一方で、企業の他のリソースが、企業内で管理され、且つ企業自身のサーバ又は他のコンピューティングデバイス(内部リソース308)内にあるようなコンピューティング環境の形式をとってよい。本明細書で用いられている「内部」という用語のバリエーションは、企業自身によって管理され、及び/又は、外部サービスプロバイダによって制御されずに、企業によって制御された1つ以上のコンピューティングデバイス(すなわち、信頼できる内部コンピューティング環境)に格納されたリソース及びアプリケーションを指すことができる。例として、企業と関係がある認定されたユーザによるリモートアクセスのため、リソースを企業のオンプレミスサーバに格納することができる。例えば、特定のソフトウェアアプリケーション(例えば、内部リソース)は、企業によって制御及び管理されたサーバに格納され、一人以上の従業員によってアクセス可能である。本明細書で用いられている「外部」という用語のバリエーションは、外部サービスプロバイダによって管理され、及び/又は、外部サービスプロバイダによって制御された1つ以上のコンピューティングデバイス(すなわち、より安全で「信頼できる」企業ネットワークからの隔離に基づく信頼できないコンピューティング環境)に格納されたリソース及びアプリケーションを指すことができる。例として、企業と関係がある認定されたユーザによるアクセスのため、外部リソースを外部サービスプロバイダのサーバに格納することができる。そのような例では、外部リソースもまた企業と関連付けることができる。リソース(内部及び/又は外部)として、ネットワーク、ファイル、データ、コンピューティングデバイス、アプリケーション、モジュール、サービス、機能その他のエンティティを挙げることができるが、これらに限定されない。
【0050】
コンピューティング環境(例えば、コンピューティング環境300)のユーザは、地理的に離れた内部コンピューティングデバイスにインストールされた内部リソースにアクセスし、及び/又は、外部サーバにある外部リソースにアクセスし、若しくは当該外部リソースを使用することを希望することができる。ユーザは、内部リソースと接続し、及び/又は、外部サービスを介して外部リソースと接続し、及び/又は、その他の通信をすることができる。例えば、ユーザは、内部リソース及び/又は外部リソースにアクセスする際、認証のため、内部リソース及び/又は外部リソースに識別認証情報(例えば、ユーザ名及びパスワード)を提供しなければならない。そのような例において、以下でより詳細に説明するように、識別認証情報は、可逆的に暗号化されて、内部リソースに送信され、及び/又は、外部サービスを介して外部リソースに送信され、その後、内部リソース及び/又は外部リソースによって復号され、使用され得る。本明細書に記載された原理を用いると、別の種類の機密情報も可逆的に暗号化されて、内部リソースに送信され、及び/又は、外部サービスを介して外部リソースに送信され得ることは、理解されるであろう。
【0051】
コンピューティング環境300は、公共サービス及びリソースを提供する外部サービスプロバイダ314を備えることができる。外部サービスプロバイダ314は、インターネットを通じてユーザがアクセス可能なコンピューティングデバイス(図示せず)に格納されたアプリケーション及び/又は他のリソースを備えることができる。外部サービスプロバイダ314はまた、外部サービスプロバイダ314に属さない企業の異なる構内で、特定の内部コンピューティングデバイスから別の内部コンピューティングデバイスへ情報を転送することもできる。例として、特定の地理的位置に配置された、企業コンピューティング環境に属するコンピューティングデバイスは、外部コンピューティング環境を介して、異なる地理的位置に配置された、当該企業コンピューティング環境に属する別のコンピューティングデバイス(又は、当該企業の異なるコンピューティングデバイスでもよい。)へ、情報を送信することができる。
【0052】
外部サービスプロバイダ314は、様々な外部リソース及び/又はサービス(「外部サービス318」)を備えることができる。外部サービスの例として、設定サービス、オンプレミスのアクティブディレクトリに対するシングルサインオンパスワードサービス、認証サービス(例えば、知識ベース認証サービス、第2要素認証サービスなど)、セルフサービスパスワードリセットサービス(SSPRサービス)、オンプレミスのアクティブディレクトリアクセスサービス、データストアアクセスサービスなどを挙げることができるが、これらに限定されない。
【0053】
実施形態において、設定サービスは、外部サービスプロバイダ314(及び/又は内部リソース)の外部コンピューティング環境内の全てのサービス間通信を扱うことができる。設定サービス316は、外部サービスプロバイダの全サービスのリストを保持し、管理することができ、これらのサービスが、それぞれのアドレスを広告し、又は、提供する機能を含むエンドポイントを広告することを可能とする。あるサービスが設定サービスに成功裏に登録された場合のみ、当該サービスはアクティブとなり、他のサービス及びアプリケーションと通信可能となる。設定登録を終えると、設定サービス316は、アクティブ且つ登録された全サービスのリストを、アクティブサービスとして共有する。設定サービス316は、任意のサービスディレクトリ又はリスト及び関連情報を設定ストレージに格納することができる。設定ストレージは、
図1及び
図2に関連して説明したストレージ及び/又はメモリなど、各種のいかなる形態のストレージ及び/又はメモリを備えることができる。各サービスに関連した情報は、設定ストレージに別々に又は一緒に格納され、各種のフォーマットで格納され得る。実施形態において、設定サービス316はまた、識別認証情報、暗号化キー、機密情報なども格納することができる。設定サービス316は、さらに、企業の内部コンピューティング環境に機密情報を格納して、当該機密情報を共有するための要求を新たなサーバ(例えば、コネクタ)から企業の信頼できる1つ以上のサーバ(例えば、コネクタ)へ送信する、信頼できるコネクタのリアルタイムのリストを格納する。
【0054】
コンピューティング環境300は、クライアントデバイス302も備えることができる。クライアントデバイス302は、パーソナルコンピュータ、ラップトップ、タブレット、スマートフォンなどであり、上述のコンピューティングデバイスの1つ以上の構成要素を有することができる。実施形態において、クライアントデバイス302は、ユーザのパーソナルデバイスなどのリモートコンピューティングデバイスであり(例えば、ユーザはクライアントデバイス302を所有している。)、内部コンピューティング環境及び/又は外部コンピューティング環境にログインすることができ、及び/又は、別の方法で、ユーザ認証後、アクセスすることができる。他の例として、クライアントデバイス302は、内部コンピューティング環境の管理と制御を行う企業によって所有されてもよい(例えば、会社支給のラップトップ)。そのような例では、ユーザがクライアントデバイス302を企業の構内の端末に接続したとき、クライアントデバイス302は内部コンピューティング環境に属することになる。それ以外では、ユーザが企業の構外で(例えば、ユーザの自宅で)クライアントデバイス302を使用するとき、クライアントデバイス302は内部コンピューティング環境に属さないが、(例えば、仮想プライベートネットワーク(VPN)接続を介して)内部コンピューティング環境にログインすることができ、及び/又は、別の方法で、ユーザ認証後、アクセスすることができる。
【0055】
クライアントデバイス302は、ウェブブラウザ306と、クライアントデバイス302にインストールされたクライアントソフトウェアであるレシーバ304などのプログラムと、を有することができる。レシーバ304によって、クライアントデバイス302は内部及び/又は外部サービスにアクセスすることが可能となる。ウェブブラウザ306によって、クライアントデバイス302は、外部サービスプロバイダによって管理、設定、及び/又は提供され、(リモートセッションを介してではなく)クライアントデバイス302上で実行される特定のアプリケーションに安全にアクセスすることが可能となる。これにより、ユーザは局所的な処理能力を活用することができる一方で、管理者は、依然として、使用許諾及び設定を中央管理することができる。例えば、管理者は、暗号化アプリケーション、認証アプリケーションなどを設定して公開することができ、これらのアプリケーションがクライアントデバイス302上で実行されることで、ネットワーク遅延を招くことなくローカルプロセッサを活用することができる。そのようなアプリケーションは、クライアントデバイス302が使用するために、例えば、管理ユーザインターフェイス(「Admin UI」)350によって公開され得る。他の例として、グラフィックスUI、ローレベルのソフトウェア開発キット(SDK)などが挙げられるが、これらに限定されない。別の例において、クライアントデバイス302は、レシーバ304を用いて、内部及び/又は外部コンピューティング環境に格納されたアプリケーション、仮想デスクトップ及びデータに安全にアクセスすることができる。レシーバ304の例として、アメリカ合衆国フロリダ州フォートローダーデールに本拠を置くCitrix Systems, Inc.によって開発されたCitrix Receiverを挙げることができる。
【0056】
クライアントデバイス302はまた、機密情報を暗号化するデータ暗号化モジュール320も備えることができる。代替手段として、及び/又は、追加手段として、クライアントデバイスは、Admin UI350によって公開され、且つウェブブラウザ304を用いてクライアントデバイス302によってアクセスされた機密情報を暗号化するデータ暗号化モジュール320にアクセスして使用してもよい。データ暗号化モジュール320は、キージェネレータ321と、キー交換モジュール322と、エンクリプタ(encryptor)323とを備えることができる。キージェネレータ321は、機密情報を暗号化するため、対称及び/又は非対称暗号化キー(後述)を生成することができる。キーは、ランダムキージェネレータ、疑似ランダムキージェネレータその他のキージェネレータを用いて生成することができる。
【0057】
キー交換モジュール322は、外部コンピューティング環境の設定サービス316(又は別の外部エンティティ)に1つ以上の対称又は非対称暗号化キーを安全に送信することができる。設定サービス316(又は別の外部エンティティ)は、暗号化キーを格納し、格納された暗号化キーを内部リソース及び/又は外部リソース若しくはサービスに送信することができる。エンクリプタ323は、キージェネレータ321によって生成された暗号化キーを使って、機密情報などのデータを可逆的に暗号化することで、暗号化されたデータを生成することができる。なお、エンクリプタ323が当業者に現在知られている又は将来知られ得る各種の操作をデータに施すことでデータを暗号化できることは、明らかである。一実施形態において、エンクリプタ323は、キーと機密情報に対して数学アルゴリズムを実行することで暗号化された機密情報を生成するソフトウェアモジュールでもよい。使用される正確な暗号化手法が本明細書に記載された実施形態の範囲内で変更可能であることを当業者は認識するであろう。
【0058】
図3に戻り、コンピューティング環境300の内部コンピューティング環境はまた、外部コンピューティング環境と内部コンピューティング環境との間で送信されたメッセージを解析し、傍受し、及び/又は、転送することができる1つ以上のコネクタ310A、310B、…、310Nも備えることができる。実施形態において、コネクタ310A、310B、…、310Nのうちの1つ以上のコネクタは、内部コンピューティング環境に属さず、異なるネットワークに含まれてもよい。内部コンピューティング環境はまた、1つ以上の内部リソース308も備えることができる。コネクタ310A~Nは、外部サービスプロバイダによって提供されたサービス(外部サービス318)と内部リソース308との間の通信を促進することができる。実施形態において、コネクタ310A、310B、…、310Nは、安全なリソースへのアクセスを要求したユーザを認証するための1つ以上の認証モジュール又はサービスを備えてもよく、又はこれらのモジュール又はサービスにアクセスしてもよい。認証モジュールは、識別認証情報に基づいてユーザを認証することができる。識別認証情報として、パスワードベース認証、知識ベース認証、生体ベース認証、第2要素認証などが挙げられるが、これらに限定されない。
【0059】
実施形態において、外部サービス318は、外部サービス318を提供している間、内部リソース308によって1つ以上の動作を実行することを求め、及び/又は、実行させるように構成されてもよい。しかしながら、そのような動作の実行を許可する前に、内部リソース308は、機密情報(例えば、パスワード)の提示を求めてもよい。例えば、外部サービス(例えば、SSPRサービス)を用いて内部リソース(例えば、オンプレミスのアクティブディレクトリ)に関連付けられたパスワードを変更するためのパスワードリセットサービスを実行する際、オンプレミスのアクティブディレクトリにパスワードのリセットを実行させるよう、SSPRサービスに求める。しかしながら、オンプレミスディレクトリがパスワードのリセットを許可する前に、旧パスワード、ユーザを認証するための認証情報などの機密情報を提供するよう、SSPRサービスに求めてもよい。しかしながら、外部サービス318にそのような機密情報を格納すると、セキュリティ上の問題が生じるおそれがある。
【0060】
コンピューティング環境300の内部コンピューティング環境はまた、ディレクトリサービス312(例えば、アクティブディレクトリ)も備えることができる。実施形態において、ディレクトリサービス312は、提供する機能を含む内部コンピューティング環境が利用可能な、及び/又は、そのような内部コンピューティング環境に備えられた全てのコネクタ310A~Nのリストを保持し、管理することができる。コネクタ310がアクティブディレクトリ312に成功裏に登録された場合のみ、内部コンピューティング環境と外部サービス又はリソースとの通信リンクの確立が許可される。新たなコネクタを追加するとき、その新たなコネクタとの通信をディレクトリサービス312が制御できるように、新たなコネクタをディレクトリサービス312に加入させることができる。ディレクトリサービス312は、
図1及び
図2に関連して説明したストレージ及び/又はメモリなど、各種のいかなる形態のストレージ及び/又はメモリをも備えることができる。実施形態において、ディレクトリサービス312はまた、ユーザアカウント、ユーザアカウントのセキュリティ情報なども格納することができる。
【0061】
実施形態において、コンピューティング環境300はまた、(デジタル証明書などの)証明書の要求を受信し、要求に含まれる情報を検証し、証明書を発行し、証明書を失効することができる証明機関330も備えることができる。証明機関330は、電子通信コンテキストにおいて、署名が許可され、認証済みであることを証明する信頼できるエンティティである。言い換えると、証明機関330は、(本開示において新たなコネクタの信頼を構築するなど)関連するアプリケーションで署名の使用を許可する基準に従って、デジタル署名が証明書で特定されたエンティティに実際に属することを認定するためのデジタルアナログ公証人としての機能を果たしている。一般的に、証明機関330は、(a)認定された当事者を特定する情報と、(b)認定された当事者の公開キーと、(c)デジタル署名された、すなわち、証明機関のプライベートキーを使って暗号化された、証明機関330を特定する情報と、を含む証明書を提供する。
【0062】
ある実施形態では、証明機関330が、内部コンピューティング環境内に位置し、及び/又は、内部コンピューティング環境によって管理されることで、機密情報のセキュリティをより一層高めるようにしてもよい。
【0063】
実施形態において、後で外部サービス318によって用いられることで内部リソース308に所望の動作を実行させる機密情報をクライアントデバイス302で初めて受信すると、クライアントデバイス302に含まれ、及び/又は、(例えば、Admin UIを介して)クライアントデバイス302によってアクセスされた暗号化モジュール320を用いて、キーを生成し、そのキーを使って機密情報を暗号化することができる。その後、暗号化モジュール320は、生成したキーを外部サービスプロバイダ314の設定サービス316に送信するとともに、暗号化された機密情報をコネクタ(例えば、第1コネクタ310A)に送信することができる。第1コネクタは、機密情報を信頼できるコネクタ310A~Nのグループと共有することができる。これによって、外部サービス318が、暗号化形式で及び/又は非暗号化形式で、機密情報にアクセスせず、及び/又は、当該機密情報を格納しないことを保証している。後で、外部サービス318が、内部サービス308による動作の実行を求めるとき、外部サービス318は、設定サービス316からの暗号化キーのコピーを要求し、受信したキーを信頼できるコネクタ310A~Nに送信することができる。信頼できるコネクタは、受信したキーを用いて、格納された暗号化された機密情報を復号し、認証のため、復号された機密情報を提供することによって、内部サービス308からの必要な動作を要求することができる。
【0064】
内部コンピューティング環境のエンティティ(例えば、コネクタ)間で機密情報を共有し又は複製するための上述のコンピューティング環境は、例示を目的とし、本明細書に記載された実施形態を裏付けるために設置可能なアーキテクチャの種類について限定するものではないことを当業者は理解するであろう。同様の原理は、任意の2つのコンピューティング環境間での情報の格納及び送信に対して適用することができる。任意の2つのコンピューティング環境として、2つの異なるエンティティの内部コンピューティング環境、単一の企業の内部コンピューティング環境、2つの外部コンピューティング環境、及び/又は、内部コンピューティング環境及び外部コンピューティング環境が挙げられるが、これらに限定されない。さらに、同様の原理は、信頼の確立時に、コンピューティング環境(例えば、内部コンピューティング環境)の任意の2つのエンティティ間での機密情報の共有に対して適用することができる。
【0065】
図4を参照すると、外部の信頼できないコンピューティング環境を通して機密情報を送信し、安全性が保証された企業のコンピューティング環境のコネクタ間で機密情報を共有する方法500の一例が示されている。コンピューティング環境300の一例は
図3に示されている。プロセス400は、システム100などのシステムによって実行され得る。例えば、1つ以上の実施形態において、
図4に示すプロセス400及び/又はその1つ以上のステップは、コンピューティングデバイス(例えば、
図1~
図2の任意のデバイス)によって実行され得る。他の実施形態において、
図4に示すプロセス及び/又はその1つ以上のステップは、非一時的なコンピュータ読み取り可能なメモリなどのコンピュータ読み取り可能な媒体に格納されたコンピュータ実行可能な命令で具現化され得る。代替手段として、又は、追加手段として、プロセス400のどのステップも、任意のクライアントデバイス、ゲートウェイデバイス、コネクタ、外部サービスプロバイダ、及び/又は、第三者サーバ、若しくはコンピューティングデバイスで実行され得る。代替手段として、又は、追加手段として、プロセス400のどのステップも、任意のブラウザプラグイン、Admin UIなどで実行され得る。
【0066】
方法400は、コンピューティング環境のクライアントデバイス(又は別のエンティティ若しくはコンピューティングデバイス)が機密情報を受信する402で開始することができる。実施形態において、例えば、機密情報は、(第1コンピューティング環境に関連付けられた)第1リソースにアクセスして、及び/又は、第1リソースに所望の動作を実行させるために後に使用され得る識別認証情報を有することができる。例えば、クライアントデバイスは、ログオン中のユーザの初期認証時にリソースにアクセスするための識別認証情報を受信することができる。実施形態において、クライアントデバイスは、受信者へ送信するための情報をその後のログインで使用するために受信することができる。受信者として、例えば、第1リソース、第1コンピューティング環境に関連付けられた別のリソース、及び/又は、第1リソースのコンピューティング環境とは異なるコンピューティング環境にある別のリソースが挙げられる。しかしながら、後述のように、クライアントデバイスは、機密情報を傍受して、コネクタで暗号化形式にて格納することができる。これによって、暗号化されていない機密情報が、信頼できないエンティティに送信されず、及び/又は、格納されないことを保証している。信頼できないエンティティとして、例えば、第1コンピューティング環境ではないコンピューティング環境、又は、第1リソースではないリソースが挙げられる。例えば、管理者は、SSPRサービスを用いて1つ以上のリソースに対応するユーザのアクセス認証情報の変更をユーザに許可するための特権的パスワードを有する機密情報を提供することができる。第1リソースは、任意の内部及び/又は外部リソースとすることができる。
【0067】
実施形態において、クライアントデバイスは、受信した情報が、例えば、情報の内容(例えば、キーワード、タグなど)、情報の種類、ユーザ情報(例えば、ユーザが管理者であるとき)、送信者のデバイス情報、受信者のリソース又はアプリケーション記述、情報の使用目的などに基づいて、第1リソースにアクセスして、及び/又は、第1リソースに所望の動作を実行させるために使用され得る機密情報を有することを確認することができる。例えば、クライアントデバイスは、受信した情報が、パスワード、ユーザ名、社会保障番号、口座番号などのキーワードを有する場合に、受信した情報が機密情報を含むと判断することができる。別の例において、クライアントデバイスは、受信した情報が、ユーザ又はデバイスを認証するための認証トークンを有する場合に、受信した情報が機密情報を含むと判断してもよい。機密情報として、ユーザID(例えば、ユーザ番号、ユーザ名など)及び/又はパスワード、個人識別番号(PIN)、スマートカードID、セキュリティ証明書(例えば、公開キー証明書)、及びユーザの特徴(例えば、指紋読み取り装置、虹彩スキャン、音声認識装置その他の生体認証装置など、センサで得られるもの)、又は特定のアプリケーション若しくはリソースへアクセスする際の認証に用いられる任意のデータを挙げることができるが、これらに限定されない。
【0068】
機密情報を受信すると、クライアントデバイスは、格納のため、機密情報を第1コンピューティング環境の第1コネクタに送信することができる(404)。ここで、機密情報は、第2コンピューティング環境を介して送信される必要があり、又は、第2コンピューティング環境に関連付けられたリソースによって使用され得る。第1コネクタは、第1コンピューティング環境と第2コンピューティング環境との間の通信チャネルとして機能することができる。実施形態において、第1コンピューティング環境を、企業の内部コンピューティング環境などの信頼できるコンピューティング環境とし、第2コンピューティング環境を信頼できない外部コンピューティング環境とすることができる。その後に、第2コネクタが、例えば、信頼できないコンピューティング環境を介して信頼を確立することができれば、第1コネクタは第2コネクタと機密情報を共有することができる(後述)。
【0069】
代替手段として、及び/又は、追加手段として、第1コネクタは、別のエンティティから、及び/又は、ユーザから直接的に、格納用の機密情報を受信してもよい。
【0070】
実施形態において、機密情報を第1コネクタに送信する前に、クライアントデバイスは、上述のように、(クライアントデバイスに含まれた、及び/又は、ブラウザを介してAdmin UIによって公開された)暗号化モジュールを用いて、機密情報を暗号化するためのキーを生成し、機密情報を暗号化することができる。暗号化すると、クライアントデバイスは、生成したキーを設定サービス(又は別のサービス、リソース若しくはコンピューティングデバイス)に送信するとともに、格納のため、暗号化された機密情報を第1コネクタに送信することができる。クライアントデバイスがメモリからキーを削除することで、クライアントデバイスが暗号化された情報を復号するのを防止することができる。実施形態において、クライアントデバイスはまた、暗号化の後、メモリから暗号化されていない機密情報を削除してもよい。このように、第1リソースへのアクセスに必要な機密情報は、一のコンピューティング環境に関連付けられた第1コネクタで暗号化形式にて格納され、当該情報を復号するためのキーは、当該コネクタに関連付けられたコンピューティング環境とは異なる別のコンピューティング環境に関連付けられた設定サービスで格納される。
【0071】
406で、第2コネクタは、暗号化された機密情報を共有するよう第1コネクタに要求することができる。例えば、第2コネクタを用いて第1リソースに動作を実行させるためのユーザからの要求を第2リソースが受信したことを受けて(ここで、第2コネクタは、第1リソースとの通信チャネルとしても機能することができる。)、第2コネクタは機密情報を要求することができる。実施形態において、第2リソースを第1コンピューティング環境と関連付けることができる。代替手段として、第2リソースを第1コンピューティング環境ではないコンピューティング環境に関連付けてもよい。例えば、ユーザは、SSPRサービス(第2リソース)を介して、ユーザのパスワードを変更する動作をするためにアクティブディレクトリ(第1リソース)へのアクセスを要求することができる。実施形態において、当該要求には、ユーザの識別認証情報が含まれてもよく、ユーザの識別認証情報は、要求された動作を第1リソースに実行させるための要求が許可される前に、例えば、格納された識別認証情報との比較によって認証される必要がある。実施形態において、第2リソースは、クライアントデバイス(例えば、レシーバ)を介してユーザからの要求を受信することができる。
【0072】
代替手段として、及び/又は、追加手段として、第2コネクタによる機密情報の要求は、例えば、企業のコンピューティング環境の性能向上のため新たなコネクタの提供時に行ってもよいし、定期的に、又は、ユーザの要求があったときなどに行ってもよい。
【0073】
第2コネクタが信頼できるコネクタとして既にディレクトリサービスに加入されている場合、第1コネクタは第2コネクタと機密情報を共有することができる。具体的には、第1コネクタは、設定サービスで保持された信頼できるコネクタのリスト(後述の方法を用いて信頼できるコネクタとして既に認証されたもの)に含まれる1つ以上の信頼できるコネクタと機密情報を共有することができる。しかしながら、第2コネクタが、信頼できるコネクタのリストにまだ含まれていない場合、第2コネクタは、まず、後述のように信頼を確立しなければならない。なお、本開示では、内部コンピューティング環境のコネクタで機密情報を格納し、1つ以上のコネクタ間で機密情報を共有することを記載しているが、内部コンピューティング環境の他のエンティティ間での機密情報の格納及び共有についても、同様の原理を用いることができる。
【0074】
408で、第1コネクタは、第2コネクタが、設定サービスによって保持された信頼できるコネクタのリストに含まれた信頼できるコネクタであるか否かを判断することができる。第2コネクタが、設定サービスによって保持されたリストに含まれた信頼できるコネクタである場合(408:YES)、第1コネクタは、暗号化された機密情報を第2コネクタに送信することができる(412)。一方、第2コネクタが、信頼できるコネクタのリストに含まれていない場合(408:NO)、
図5で後述のように、第2コネクタは信頼を確立する必要がある(410)。第2コネクタが信頼を確立することができない場合、第1コネクタは要求を拒否することができる(414)。一方、第2コネクタが信頼を確立することができた場合、第1コネクタは、格納された機密情報を第2コネクタに送信することができる(412)。
【0075】
実施形態において、要求を受信後、第2コネクタが機密情報にアクセスすることができた場合、第2リソースは、設定サービスから機密情報の暗号化に使用したキーを読み出し、当該キーとユーザ要求とを第2コネクタに送信することができる。第2コネクタは、キーを使用して先に共有した機密情報を復号し、復号された機密情報を用いて(例えば、適切な認証モジュールを用いて、受信した識別認証情報を復号された機密情報に含まれる識別認証情報と比較することによって)ユーザを認証することができ、及び/又は、別の方法で、機密情報を用いることができる。
【0076】
本明細書に記載された実施形態では、設定サービスで暗号化キーを格納しているが、本明細書に開示された原理から逸脱することなく、第1コンピューティング環境ではないコンピューティング環境の他のコンピューティングデバイス又はモジュールがキーを格納してもよいことを当業者は理解するであろう。例えば、暗号化キーは、第2コンピューティング環境のシングルサインオンサービスによって格納されてもよい。
【0077】
図5を参照すると、本明細書に記載された1つ以上の例示的態様に従って、外部コンピューティング環境が機密情報にアクセスできないように、機密情報を第2コネクタと共有する前に、第2コネクタが信頼できるコネクタであることを確立する(すなわち、
図4の414)ための例示的なメッセージフロー500を示している。1つ以上の実施形態では、
図5のステップ及び/又はその1つ以上のステップを、1つ以上のコンピューティングデバイスによって実行することができる。他の実施形態において、
図5に示す方法及び/又はその1つ以上のステップは、非一時的なコンピュータ読み取り可能なメモリなどのコンピュータ読み取り可能な媒体に格納されたコンピュータ実行可能な命令で具現化され得る。ある例では、
図5のステップの1つ以上を異なる順番で実行してもよい。また、ある例では、
図5のステップの1つ以上を省略してもよいし、及び/又は、そうでなければ実行しなくてもよい。
【0078】
502で、第2コネクタは、信頼できるコネクタとして、第1リソースに関連付けられたディレクトリサービスに加入又は登録することができる。実施形態では、第2コネクタをディレクトリサービスに加入させるため、例えば、加入要求に関連付けられたユーザの認証情報(例えば、管理者認証情報)を検証することによって、信頼関係を検証することができる。
【0079】
504で、第2コネクタは、公開/プライベートキー対を生成することができる。公開/プライベートキー対は公知であるため、詳細な説明は省略する。第2コネクタは、公開キーを証明機関(CA)に送信して、公開キー証明書を要求することができる(506)。CAは、第2コネクタのプライベートキーに対応する公開キーを含むデジタル証明書(例えば、X.509証明書などのマシン証明書、公開キー基盤(PKI)証明書などの専用証明書など)を発行し、署名することができる(508)。CAは、公開キー証明書を発行する前に、例えば、第2コネクタが公開キー証明書の要求に署名をしている場合に、CAは当該署名が有効であることを検証することで、第2コネクタの真正性を検証することができる。このように、CAは、第2コネクタのIDを検証する信頼できる第三者として機能する。第2コネクタの署名を検証した後、CAは、公開キー証明書に署名をし、当該公開キー証明書を第2コネクタに戻すことができる。
【0080】
デジタル証明書を受信すると、第2コネクタは、信頼できるコネクタのグループに加入するための要求を設定サービスに送信することができる(510)。あるいは、機密情報にアクセスでき、及び/又は機密情報を格納可能な信頼できるコネクタのリストを格納している別のエンティティに、当該要求を送信してもよい。当該要求は、第2コネクタの公開キーを含むデジタル証明書を有している。実施形態において、信頼できるコネクタのグループは、例えば、リソース、コンピューティング環境、機密情報セット、企業、ユーザ、コンピューティングデバイス、サービスプロバイダ、若しくはこれらの組み合わせに対応し、又は、関連付けることができる。
【0081】
512で、設定サービスは、機密情報を格納している信頼できるコネクタのグループからコネクタ(例えば、第1コネクタ)を特定し、特定されたコネクタに、デジタル証明書を含む要求を伝送することができる(514)。伝送された要求は、第2コネクタ及び証明書を特定する情報も有している。上述のように、設定サービスは、機密情報にアクセスでき、及び/又は機密情報を格納している信頼できるコネクタのリストを保持しており、信頼できるコネクタのいずれかを機密情報を格納しているコネクタとして特定することができる。
【0082】
実施形態において、信頼できるコネクタのグループが空である場合、すなわち、設定サービスに先に確立された信頼を有するコネクタがない場合、設定サービスは、信頼できるコネクタの新たなグループを生成することができる。信頼できるコネクタの新たなグループは、例えば、リソース、コンピューティング環境、機密情報セット、企業、ユーザ、若しくはこれらの組み合わせに関連付けることができ、リソース、コンピューティング環境、機密情報セット、企業、ユーザ、若しくはこれらの組み合わせに関連付けられた秘密情報にアクセスでき、及び/又は、当該秘密情報を格納することができる。その後、ステップ514~536を実行することなく、設定サービスは、新たなグループに第2コネクタを追加することができる。
【0083】
設定サービスから伝送された、第2コネクタ及び証明書を特定する情報を有する要求を受信すると、特定されたコネクタは、証明書付きの認証要求をCAに送信することによって、受信した証明書を認証し、CAが実際にデジタル証明書を発行して署名したか否かを判断することができる(516)。CAは、例えば、署名を検証することによって、受信した証明書を認証することができる(518)。特定されたコネクタはまた、第2コネクタを特定する情報をディレクトリサービスに送信することによって、第2コネクタが信頼できるコネクタとしてディレクトリサービスに加入されているか否かを判断することもできる(520)。デジタル証明書がCAによって実際に発行されたこと、及び/又は、第2コネクタが信頼できるコネクタとしてディレクトリサービスに加入されていることを、CA又はディレクトリサービスの何れか一方が認証することができない場合、特定されたコネクタは、機密情報の要求を拒否することができる。
【0084】
一方、デジタル証明書が本物であること(518)、及び、第2コネクタが信頼できるコネクタとしてディレクトリサービスに加入されていること(522)をCA及びディレクトリサービスが認証した場合、特定されたコネクタは、格納している機密情報をデジタル証明書に含まれた公開キーを使って暗号化することができる(524)。その後、特定されたコネクタは、暗号化された機密情報を設定サービスを介して第2コネクタに送信することができる(526及び528)。
【0085】
第2コネクタは、(プライベート公開キー対から)公開キーに対応するプライベートキーを使って、受信した機密情報を復号し、当該情報を格納することができる(530)。その後、第2コネクタは、機密情報を格納している信頼できるコネクタのリストに第2コネクタを追加するよう設定サービスに要求することができる(532)。設定サービスは、信頼できるコネクタのリストに第2コネクタを追加し(534)、信頼できるコネクタのグループに追加されたことの確認を第2コネクタに送信することができる(536)。その後、第2コネクタは、信頼できるコネクタのグループ内のいずれかのコネクタによって受信した情報にアクセスし、及び/又は、当該情報を複製することができる。
【0086】
実施形態において、設定サービスから伝送された要求を受信する前に(すなわち、ステップ514)、信頼できるコネクタのグループが要求された機密情報を受信していない場合、特定されたコネクタは、機密情報を保持していないことを設定サービスに通知することができる。次いで、設定サービスは、ステップ516~536を実行することなく、信頼できるコネクタのグループに第2コネクタを追加することができる。次いで、第2コネクタは、信頼できるコネクタのグループの何れかのコネクタによって機密情報を受信すると、当該機密情報を共有し、又は複製することができる。
【0087】
本明細書に記載された実施形態では、複数の信頼できるコネクタで機密情報を格納し、複数の信頼できるコネクタ間で機密情報を共有するものとしたが、本明細書に開示された原理から逸脱することなく、第1コンピューティング環境及び/又は別のコンピューティング環境(第2コンピューティング環境ではない)の他のコンピューティングデバイス又はモジュールが機密情報を格納し、及び/又は共有してもよいことを当業者は理解するであろう。例えば、第1コンピューティング環境のローカルストレージサーバ、デバイス、及び/又は内部リソースが機密情報を格納し、及び/又は共有してもよい。
【0088】
システム及び方法を1つ以上の実施に関して図示及び説明したが、本明細書及び添付図面を読んで理解すると、同等の変更及び変形例が当業者に想到されるであろう。さらに、特定の特徴は、いくつかの実施のうちの1つのみに関して開示されている可能性があるが、そのような特徴は、任意の又は特定の用途にとって望ましく有利であるように他の実施の1つ以上の他の特徴と組み合わせることができる。したがって、本開示の広さ及び範囲は、上述の説明のいずれによっても限定されるべきではない。むしろ、本開示の範囲は、添付の特許請求の範囲及びそれらの均等物に従って定義されるべきである。