(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-18
(45)【発行日】2023-01-26
(54)【発明の名称】分散システムにおける多方向信頼形成
(51)【国際特許分類】
G06F 21/44 20130101AFI20230119BHJP
H04L 9/08 20060101ALI20230119BHJP
G06F 21/31 20130101ALI20230119BHJP
【FI】
G06F21/44
H04L9/08 C
H04L9/08 F
G06F21/31
(21)【出願番号】P 2021549413
(86)(22)【出願日】2019-03-04
(86)【国際出願番号】 US2019020503
(87)【国際公開番号】W WO2020180292
(87)【国際公開日】2020-09-10
【審査請求日】2021-08-20
(73)【特許権者】
【識別番号】520155228
【氏名又は名称】ヒタチ ヴァンタラ エルエルシー
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】トッド, アンドリュー
(72)【発明者】
【氏名】ウォラー, ワルター
(72)【発明者】
【氏名】クルマ, マーティー
(72)【発明者】
【氏名】ブラマンテ, リチャード
【審査官】上島 拓也
(56)【参考文献】
【文献】米国特許出願公開第2015/0350198(US,A1)
【文献】特表2016-509319(JP,A)
【文献】特開2010-113462(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
H04L 9/08
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
システムであって、
第1サイトに関連する第1計算装置を含み、前記第1計算装置は、実行可能命令により動作を実行するように構成された1又は複数のプロセッサを含み、前記動作は:
前記第1計算装置により、前記第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信すること;
前記第1計算装置により、前記第2サイトに関連するユーザの信用証明を前記第2計算装置へ送信すること;及び
前記第
1計算装置により、前記第1計算装置の証明書を前記第2計算装置へ送信することであって、前記ユーザの前記信用証明の認証に少なくとも基づいて、信頼された通信が前記第1計算装置と前記第2計算装置との間で確立される、送信することを含
み、
前記第2計算装置は、第3サイトに関連する第3計算装置との信頼された通信を既に確立しており、前記動作は、
前記第1計算装置と前記第2計算装置との間で確立された前記信頼された通信に基づいて、前記第3計算装置の証明書を前記第2計算装置から受信すること;及び
前記第1計算装置により、前記第3計算装置との信頼された通信のための前記第3計算装置の前記証明書を使用することをさらに含む、システム。
【請求項2】
請求項
1に記載のシステムにおいて、
前記第2計算装置は、前記第1計算装置と前記第2計算装置との間で確立された前記信頼された通信及び前記第2計算装置と前記第3計算装置との間で既に確立された前記信頼された通信に基づいて、前記第1計算装置に関連する前記証明書を前記第3計算装置へ提供する、システム。
【請求項3】
請求項
1に記載のシステムにおいて、
前記動作は、
前記第1計算装置の前記証明書の失効を受信すること;
前記第1計算装置の新しい証明書を取得すること;
前記第2計算装置との信頼された通信を再確立すること;及び
前記新しい証明書を前記第2計算装置へ送信することであって、前記第2計算装置は前記新しい証明書を前記第3計算装置へ提供する、送信することをさらに含む、システム。
【請求項4】
システムであって、
第1サイトに関連する第1計算装置を含み、前記第1計算装置は、実行可能命令により動作を実行するように構成された1又は複数のプロセッサを含み、前記動作は:
前記第1計算装置により、前記第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信すること;
前記第1計算装置により、前記第2サイトに関連するユーザの信用証明を前記第2計算装置へ送信すること;及び
前記第
1計算装置により、前記第1計算装置の証明書を前記第2計算装置へ送信することであって、前記ユーザの前記信用証明の認証に少なくとも基づいて、信頼された通信が前記第1計算装置と前記第2計算装置との間で確立される、送信することを含
み、
前記第2計算装置の前記証明書を受信することに先立って、前記第2計算装置の前記証明書を受信するために前記第2計算装置とのトランスポート層セキュリティプロトコル接続を開始することをさらに含む、システム。
【請求項5】
請求項1に記載のシステムにおいて、
前記信用証明は、前記第1計算装置又は前記第2計算装置の少なくとも1つにより使用されるエンティティプロバイダに基づいて、提供される、システム。
【請求項6】
システムであって、
第1サイトに関連する第1計算装置を含み、前記第1計算装置は、実行可能命令により動作を実行するように構成された1又は複数のプロセッサを含み、前記動作は:
前記第1計算装置により、前記第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信すること;
前記第1計算装置により、前記第2サイトに関連するユーザの信用証明を前記第2計算装置へ送信すること;及び
前記第
1計算装置により、前記第1計算装置の証明書を前記第2計算装置へ送信することであって、前記ユーザの前記信用証明の認証に少なくとも基づいて、信頼された通信が前記第1計算装置と前記第2計算装置との間で確立される、送信することを含
み、
前記動作は、
前記第2計算装置の前記証明書を前記証明書の受理のためにユーザ装置へ送信すること;及び
前記証明書の受理を示す確認応答を前記ユーザ装置から受信することをさらに含む、システム。
【請求項7】
システムであって、
第1サイトに関連する第1計算装置を含み、前記第1計算装置は、実行可能命令により動作を実行するように構成された1又は複数のプロセッサを含み、前記動作は:
前記第1計算装置により、前記第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信すること;
前記第1計算装置により、前記第2サイトに関連するユーザの信用証明を前記第2計算装置へ送信すること;及び
前記第
1計算装置により、前記第1計算装置の証明書を前記第2計算装置へ送信することであって、前記ユーザの前記信用証明の認証に少なくとも基づいて、信頼された通信が前記第1計算装置と前記第2計算装置との間で確立される、送信することを含
み、
前記ユーザの前記信用証明は、前記第1計算装置及び前記第2計算装置の両方へアクセスする管理者のユーザ名及びパスワードである、システム。
【請求項8】
請求項1に記載のシステムにおいて、
前記第1計算装置の前記証明書は、前記第1計算装置により維持される秘密暗号鍵に対応する公開暗号鍵を含む、システム。
【請求項9】
請求項1に記載のシステムにおいて、
前記第
1計算装置により、前記第
2計算装置の前記証明書に少なくとも部分的に基づいて、前記第2計算装置から受信される通信において一方向の信頼を確立すること;及び
前記確立された一方向の信頼に少なくとも基づいて、前記ユーザの前記信用証明を前記第2計算装置へ送信することをさらに含む、システム。
【請求項10】
請求項
9に記載のシステムにおいて、
一方向の信頼及び前記第2計算装置による信用証明の認証に基づいて、前記第1計算装置と前記第2計算装置との間の双方向の信頼を確立することをさらに含む、システム。
【請求項11】
方法であって、
第1サイトに関連する第1計算装置により、前記第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信すること;
前記第1計算装置により、前記第2サイトに関連するユーザの信用証明を前記第2計算装置へ送信すること;及び
前記第
1計算装置により、前記第1計算装置の証明書を前記第2計算装置へ送信することであって、前記ユーザの前記信用証明の認証に少なくとも基づいて、前記第
1計算装置と前記第
2計算装置との間で信頼された通信が確立される、送信することを含
み、
前記第2計算装置は、第3サイトに関連する第3計算装置との信頼された通信を既に確立しており、前記方法は、
前記第1計算装置と前記第2計算装置との間で確立された前記信頼された通信に基づいて、前記第3計算装置の証明書を前記第2計算装置から受信すること;及び
前記第1計算装置により、前記第3計算装置との信頼された通信のための前記第3計算装置の前記証明書を使用すること、をさらに含む、方法。
【請求項12】
第1サイトに関連する第1計算装置により実行されると、前記第1計算装置を、動作を行うように構成する命令を格納する1又は複数の非一時的コンピュータ可読媒体であって、前記動作は、
前記第
1計算装置により、前記第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信すること;
前記第
1計算装置により、前記第2サイトに関連するユーザの信用証明を前記第2計算装置へ送信すること;及び
前記第
1計算装置により、前記第1計算装置の証明書を前記第2計算装置へ送信することであって、前記ユーザの前記信用証明の認証に少なくとも基づいて、前記第1計算装置と前記第2計算装置との間で信頼された通信が確立される、送信することを含
み、
前記第2計算装置は第3サイトに関連する第3計算装置との信頼された通信を既に確立しており、前記動作はさらに、
前記第1計算装置と前記第2計算装置との間で確立された前記信頼された通信に基づいて、前記第3計算装置の証明書を前記第2計算装置から受信すること;及び
前記第1計算装置により、前記第3計算装置との信頼された通信のための前記第3計算装置の前記証明書を使用すること含む、1又は複数の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は安全な通信の技術分野に関する。
【背景技術】
【0002】
2以上のコンピュータシステム間に安全な通信チャネルを生成することは困難かもしれない。例えば、2つのコンピュータシステム間の通信を保証するための典型的技術は、システム間で暗号鍵を交換することを含み得る。いくつかの従来技術では、2つのコンピュータシステム間で双方向の信頼を確立することは、トークン、暗号鍵などが両方向で交換されることを必要とし得る。さらに、既存技術は、各サイトにおいて鍵をアップロードするために手作業の管理者の介入を必要と得る、又は集中型鍵管理サーバを実装することを含み得る。集中型鍵管理サーバは、単一点障害を呈示するなどの欠点を有する、一方で、手作業のクロスサイト鍵アップロードはシステム管理者又は他のユーザにとって面倒なタスクかもしれない。
【発明の概要】
【課題を解決するための手段】
【0003】
いくつかの実施形態は、2以上の計算装置間の信頼された通信関係を確立することを含む。いくつかの例では、第1サイトに関連する第1計算装置は、第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信してもよい。第1計算装置は第2サイトに関連するユーザの信用証明を第2計算装置へ送信してもよい。加えて、第1計算装置は第1計算装置の証明書を第の計算装置へ送信してもよい。さらに、少なくとも第2計算装置によるユーザの信用証明の認証に基づいて、信頼された通信が第1計算装置と第2計算装置との間で確立されてもよい。
【0004】
詳細説明は添付図面を参照して記載される。添付図面では、参照番号の最も左の桁は参照番号が最初に出現する図を識別する。様々な図内の同じ参照番号の使用は同様又は同一なアイテム又は特徴を示す。
【図面の簡単な説明】
【0005】
【
図1】
図1は、いくつかの実施形態に係る分散計算システムのアーキテクチャ例を示す。
【0006】
【
図2】
図2は、いくつかの実施形態に係る分散計算システム内の2つの分離しているシステム間に信頼された通信を確立する構成例を示すブロック図である。
【0007】
【
図3】
図3は、いくつかの実施形態に係る、連合などに信頼された通信のために2つの計算システムをつなぐ例を示すシーケンス図である。
【0008】
【
図4】
図4は、いくつかの実施形態に係る追加計算システムを2つの計算システムの存在している連合へ加える例を示すシーケンス図である。
【0009】
【
図5】
図5は、いくつかの実施形態に係る連合されたシステムの構成例を示すブロック図である。
【0010】
【
図6】
図6は、いくつかの実施形態に係る信頼された通信を確立するための処理例を示す流れ図である。
【0011】
【
図7】
図7は、本明細書において説明されるシステムの機能のうちの少なくともいくつかを実装するために使用されてもよいサービス計算装置の精選された構成部例を示す。
【発明を実施するための形態】
【0012】
本明細書におけるいくつかの実施形態は、管理者介入を最小化し、集中型鍵管理サーバを採用しないやり方で、複数の計算システム間の通信を保証するための信頼を確立するための技術及び配置に向けられる。例えば、複数の計算システムは離れたサイトに物理的に配置されてもよいし、そうでなければ離れた計算システムであってもよい。複数の計算システムは、データ、メタデータ及び他のタイプの通信を交換するなどのために、離れた計算システム同士が互いに安全に通信することができるように、計算システムの連合を形成するために互いに通信状態に置かれてもよい。本明細書における技術は、すべてのパーティが管理者にすべての他のパーティの公開鍵をアップロードさせることを必要とすることを回避するとともに集中型鍵管理システムの必要性を回避する。本明細書におけるいくつかのケースでは、信頼確立処理は複数のコンピュータシステム連合の中のただ1つのサイト上への公的証明書アップロードを含むように単純化されてもよい。
【0013】
一例として、管理者などの単一ユーザは、単一場所から、連合を形成するなどのための2つの独立するクラスタ又は他の自律的計算サイトとの間の安全な双方向通信チャネルを確立し得る。例えば、2つの離れたコンピュータクラスタは、単一の地理的に分散されたより大きなクラスタ又は連合システムを形成するためにインターネットなどの安全でない広域ネットワーク上で通信することができてもよい。
【0014】
始めに、第1サイトにおける第1システム及び第2サイトにおける第2システムは、同じアイデンティティプロバイダを使用する離れたシステムであり、ユーザは第1サイトと第2サイトとの間の信頼された通信を確立したいと仮定する。第1サイトから第2サイトへの通信の信憑性は、第1サイトにおいて、例えば公的証明機関から第2サイトの公的証明書をダウンロードし、そして第1サイトにより、第2サイトの公的証明書を第2サイトへ送信することにより確立されてもよい。この時、第1サイトの信憑性は第2サイトに対して証明されるが、第2サイトから第1サイトにおいて受信される通信の信憑性は証明されない。第1サイトの信憑性が証明されると、第2サイトは情報を第1サイトへ自信を持って送信し得るが、逆はそうではない。この時点で、第1サイト及び第2サイトが同じアイデンティティプロバイダへ接続されていれば、ユーザは、第1サイト及び第2サイトの両方において働くべきユーザ名及びパスワードを送信し得る。ユーザ名及びパスワードが第1サイトにおいて認証されれば、第2サイトの信憑性は第1サイトに対して証明される。したがって、双方向信頼が確立され、その後、第1サイトはその公的証明書を第2サイトへ提供してもよい。その後、2つのサイトは公的証明書に基づいて暗号化通信を使用して通信してもよい。
【0015】
本明細書における実施形態では、例えば、アイデンティティ検証態様及び鍵管理態様の2つの態様が関与されてもよい。アイデンティティは、証明書を提供するために初期会話を認証するためだけに使用されてもよく、そして、その後の通信は、証明機関などからではなくそれぞれのサイトから受信され得る交換された公的証明書に基づき得るので、この時点後は、アイデンティティは、必要とされない。一方向の信頼が確立されるまでユーザ名及びパスワードは第1サイトへ送信されないので、信頼されていないシステムへユーザ名及びパスワードを晒すリスクは無い。第1サイトが第2サイトを信頼するために、第1サイトは、提供されたユーザ名及びパスワードに基づいて通信を認証し信頼してもよい。このようにして、双方向の信頼が達成され、交換された証明書は信頼され得る。
【0016】
さらに、複数の分散サイトにおける複数のシステムの既に確立された連合に加わるサイトの場合、加わりたいサイトは、連合に加わるためにメンバーサイトのうちの1つとの信頼された通信を確立することだけが必要であり、そして、1つのメンバーとの双方向の信頼の確立に続いて、上述のように、連合のすべてのメンバーの公的証明書を1つのメンバーから受信してもよく、したがってこれを信用してもよい。その結果、本明細書における実施形態は、信頼された通信のための複数の自律的計算サイトを接続するため、及び複数のサイトの証明書を取得するための努力の量を著しく低減する。
【0017】
加えて、いくつかのケースでは、TLS(トランスポート層セキュリティ:Transport Layer Security)接続が、第2サイトの公的証明書を取得するために第1サイトにより使用されてもよい。第2サイトの公的証明書の受信に続いて、第1サイトは第2サイトからの通信を信頼するが、第2サイトは第1サイトからの通信を信頼するいかなる理由も無い。第1サイトは第2サイトのユーザのユーザ名/パスワードを第2サイトへ送信してもよい。認証すると、第2サイトは第1サイトからの通信を信頼してもよい。第1サイトは、それ自身の公的証明書を、ユーザ名/パスワードとともに、又はユーザ名/パスワードの認証に続いて第2のサイトへ送信してもよい。その後、2つのサイトは交換された公的証明書に基づいて暗号化通信を使用して通信してもよい。
【0018】
本明細書における実施形態は、多サイト信頼関係が確立される状況、及びすべてのサイト上に信頼された鍵を手作業で設置すること又は集中型鍵管理サーバへ責任を委譲することが望ましくない又は可能でない状況など任意の状況において適用されてもよい。一例として、本明細書における技術は、互いに物理的に離れた複数の計算サイトにわたる及び/又はクラウドストレージ又は他のネットワーク格納場所上に格納されたデータ及び/又はメタデータの複製を含む複数サイト分散システム内の信頼された通信を確立するために採用されてもよい。加えて、別の例として、本技術は、複数サイト信頼関係が確立され、すべてのサイト上に信頼された鍵を手作業で設置すること又は鍵管理サーバを使用することが望ましくない又は可能でない任意の連合分散計算システムと共に採用されてもよい。
【0019】
論述目的のために、いくつかの例示的実施形態は、データの格納などのために1又は複数の他のサービス計算装置と通信する1又は複数のサービス計算装置の環境において説明される。しかし、本明細書における実施形態は、提供される特定例へ制限されることはなく、本明細書の開示に照らし当業者に明らかになるように、他のタイプの計算システムアーキテクチャ、他のタイプの計算環境、他のタイプのクライアント構成、他のタイプの暗号機器、他のタイプのデータ等へ拡張されてもよい。
【0020】
図1はいくつかの実施形態に係る分散計算システム100のアーキテクチャ例を示す。いくつかのケースでは、分散計算システム100はオブジェクトデータなどのデータを格納するために構成されてもよいが、本明細書における実施形態はこのような使用又は構成に限定されない。
図1の例では、複数のシステム102(1)、102(2)、...は、複数のそれぞれの計算サイト104、106、....における分散計算システム100内に配置される。例えば、第1システム102(1)は第1計算サイト104に配置されてもよく、第2システム102(2)は第2計算サイト106に配置されてもよい。さらに、2つのシステム102(1)、102(2)及び計算サイト104、106がこの例では示されるが、他の例におけるシステム及び計算サイトの数は2に限定されなく、例えば2~数百の範囲のシステム及び/又はサイトのように2つ以上のシステム及び/又はサイトであってもよい。
【0021】
各システム102は少なくとも1つのサービス計算装置112を含んでもよい。したがって、1又は複数のサービス計算装置112(1)は第1システム102(1)に含まれてもよく、1又は複数のサービス計算装置112(2)は第2システム102(2)に含まれてもよい。一例として、各システム102は、他のシステム102との関係で自律的に動作するサービス計算装置のクラスタであってもよい。したがって、本明細書の例におけるシステム102は、異なるサイトにおけるシステム102間の安全且つ信頼された通信を可能にするための互いの通信を認証してもよい。さらに、システム102は本開示において説明され示されたハードウェア構成に限定されないが、本明細書において説明される機能を実行することができる任意の好適な又は所望のハードウェア構成を含んでもよく、システム102のうちの1つにおけるハードウェア構成は、システム102の別のハードウェア構成とは異なってもよい。
【0022】
いくつかのケースでは、各システム102(1)、102(2)内のサービス計算装置112は、それぞれのシステム102(1)、102(2)においてローカルに格納され、ローカルデータ118(1)、118(2)それぞれについてのメタデータを格納するために使用されるメタデータデータ構造(DS)116(1)、116(2)及びそれぞれのネットワークストレージ120(1)、120(2)において格納されるクラウドデータ119(1)、119(2)それぞれを含んでもよく、維持してもよく、又はアクセスしてもよい。例えば、メタデータデータ構造116は、データベース、テーブル、又は任意の他の好適なデータ構造であってもよい。オブジェクトストレージの場合、メタデータデータ構造116に含まれるメタデータは、経路、名前、所有者、オブジェクトデータから決定されるハッシュ値などの各それぞれの格納されたオブジェクトに関する情報(されるを含んでもよい。
【0023】
システム102(1)、102(2)は1又は複数のネットワーク122上で互いに通信することができる。1又は複数のネットワーク122は、インターネットなどの広域ネットワーク(WAN);イントラネットなどのローカルエリアネットワーク(LAN);セルラーネットワーク、Wi-Fiなどのローカル無線ネットワーク、及び/又はブルートゥース(登録商標)などの短距離無線通信などの無線ネットワーク;ファイバーチャネル、光ファイバ、イーサーネット、又は任意の他のこのようなネットワーク、直接有線接続、又はそれらの任意の組み合わせ含む有線ネットワークを含む任意の好適なネットワークを含んでもよい。したがって、1又は複数のネットワーク122は有線及び/又は無線通信技術の両方を含んでもよい。このような通信に使用される構成部はネットワークのタイプ、選択される環境、又はその両方に少なくとも部分的に依存し得る。このようなネットワーク上で通信するためのプロトコルは周知であり、したがって本明細書では詳細には論述されない。したがって、サービス計算装置112は、有線又は無線接続及びそれらの組み合わせを使用して1又は複数のネットワーク122上で通信することができる。
【0024】
加えて、サービス計算装置112の少なくともいくつかは、1又は複数のネットワーク123を介して複数のユーザ装置124(1)、124(2)、...と通信することができる。各ユーザ装置124(1)、124(2)は、例えばストレージのためのデータをシステム102により送信するため及び/又は格納されたデータをシステム102から取り出すためといったそれぞれのサービス計算装置112と通信するためなどのそれぞれのユーザ装置124(1)、124(2)上で実行し得るユーザアプリケーション126(1)、126(2)のそれぞれのインスタンスを含んでもよい。ユーザ128(1)、128(2)はそれぞれのユーザ装置124(1)、124(2)に関連付けられてもよい。いくつかのケースでは、アプリケーション126はブラウザを含んでもよいし、ブラウザを介して動作してもよいが、他のケースでは、アプリケーション126は、1又は複数のネットワーク123上でのサービス計算装置112との通信を可能にする通信機能を有する任意の他のタイプのアプリケーションを含んでもよい。
【0025】
1又は複数のネットワーク123はいくつかの例ではLANであってもよい。他の例では、1又は複数のネットワーク123は、1又は複数のネットワーク124に関し上述されたネットワークのうちの任意のものであってもよい。いくつかのケースでは、ユーザ128及び/又はユーザ装置124又はユーザアプリケーション126は、複数の計算サイトのうちの特定の計算サイト104又は106においてサービス計算装置112へアクセスすることを割り当てられてもよい。例えば、第1計算サイト104がボストンに位置し、第1ユーザ128(1)がボストンエリア内で働く従業員であれば、第1ユーザ128(1)は、第2計算サイト106における他のサービス計算装置112(2)よりむしろサービス計算装置112(1)へアクセスすることを割り当てられてもよい。
【0026】
いくつかの例では、様々なユーザ128又はユーザ128のグループは、負荷バランス、ローカルオフィスシステムへの従業員アクセスの制限等のために、計算サイト104又は106のうちの特定のサイトにおけるサービス計算装置112のうちの特定のサービス計算機へのアクセスだけが許可されてもよい。さらに、2つのシステム102(1)、102(2)及び計算サイト104又は106がこの例では示されるが、他の例では、3以上など異なる数のシステム/格納場所が使用されてもよく、上限は技術的実現性よりむしろ実用性及び収益逓減に基づく。
【0027】
加えて、第1システム102(1)は1又は複数のネットワーク122上で第1ネットワークストレージ130と通信することができてもよく、第2システム102(2)は、1又は複数のネットワーク122上で第1ネットワークストレージ130(2)と異なり得る第2ネットワークストレージ130(2)と通信することができてもよい。例えば、第1ネットワークストレージ130(1)は第2ネットワークストレージ130(2)から地理的に離れていてもよい。いくつかのケースでは、ネットワークストレージ130(1)、130(2)は「クラウドストレージ」又は「クラウドベースストレージ」と呼ばれてもよく、そしてサービス計算装置112におけるローカルストレージよりメガバイト/ギガバイト当たり低コストストレージ解決策を可能にしてもよい。
【0028】
サービス計算装置112の少なくともいくつかは、サーバプログラム130及びストレージプログラム132を含んでもよい。例えば、サーバプログラム130は、データをユーザ装置124から受信し、ユーザ装置124へデータを処理するために、ユーザ装置124に関わってもよい。ストレージプログラム132は、ローカルに、また、ネットワークストレージ120においてデータの格納を管理してもよい。加えて、ストレージプログラム132は、それぞれのシステム102により管理されるそれぞれのデータのメタデータデータ構造116を管理し維持してもよい。
【0029】
一例として、第1ユーザ128(1)はデータの格納のために第1システム102(1)を使用すると仮定する。例えば、第1ユーザ128(1)は、第1システム102(1)により、格納のためにデータ136をサービス計算装置112(1)へ送信してもよい。同様に、第2ユーザ128(2)はデータの格納のために第2システム102(2)を使用してもよい。例えば、第2ユーザ128(2)は、第2システム102(2)により格納のためにデータ138をサービス計算装置112(2)へ送信してもよい。さらに、ユーザ計算装置124は、サーバプログラム130と関わることにより、それぞれのサービス計算装置112と通信し、それぞれのサービス計算装置からデータを受信するようにしてもよい。
【0030】
本明細書における分散計算システム100は、データ回復及び/又は同時アクセスなどの目的のために、地理的に分散された方法で配置されてもよい。一例として、分散計算システム100は、広域ネットワークトポロジーにおいて、複数のシステム102が互いのためにデータを複製する地理的に分散された複製環境を含んでもよい。加えて、各システム102(1)、102(2)は、それぞれ、管理者装置140(1)、140(2)を含んでもよく又はそれらと通信するようにしてもよい。各管理者装置140(1)、140(2)は、管理者144(1)、144(2)それぞれが、システム102(1)、102(2)それぞれを管理することを可能にする管理者アプリケーション142を実行してもよい。
【0031】
異なるシステム102のうちの2以上の間の連合を形成するなどのために、分散された自律計算システム102間の保証されていないネットワーク上での、信頼された通信を可能にするために、例えば暗号化通信を可能にする、データを交換する、データを複製する、通信の管理を可能にする等のための信頼された通信チャネルが確立されてもよい。各システム102におけるサービス計算装置112の1又は複数は、通信プログラム148を含んでもよい。いくつかの例では、通信プログラム148はストレージプログラム132又はサーバプログラム130のモジュールであってもよく、一方、他の例では、通信プログラム148はストレージプログラム132及びサーバプログラム130から分離されていてもよい。以下に追加的に論述されるように、通信プログラム148は、計算システム102間で確立された信頼された通信に基づいて、システム102間の信頼された通信を行うためにシステム102において実行されてもよい。例えば、管理者144又は他のユーザ128は、通信プログラム148を使用して行われる信頼された通信を確立するための処理を開始する可能性がある。
【0032】
いくつかの例では、第1システム102(1)及び第2システム102(2)は同じアイデンティティプロバイダ150を使用してもよい。アイデンティティプロバイダ150は、連合又は分散計算システム内のアプリケーションへ認証サービスを提供する一方で、管理者及び他のユーザのアイデンティティ情報を生成し、維持し、及び管理するシステムエンティティであってもよい。アイデンティティプロバイダ150は、システム102のユーザを認証する信頼されたシステムであってもよい。例えば、ユーザにより提供される信用証明は、認証のためにアイデンティティプロバイダ150へリダイレクトされてもよい。証明に続いて、アイデンティティプロバイダ150は、信用証明が本物且つ有効かどうかを示すために、例えば信用証明を提出したアプリケーションへ、符号化されたメッセージを提供してもよい。さらに、アイデンティティプロバイダ150は、すべてのアクセスイベントの中央監査証跡を提供してもよく、フィッシング、マルウェア、信用証明データベース侵害などに対して信用証明を保護するためにセキュリティの追加層を提供してもよい。
【0033】
この例では、154に示すように、信頼された通信は、第1システム102(1)から提供された第2システム102(2)におけるユーザのユーザ名及びパスワードに少なくとも部分的に基づいて、第1システム102(1)と第2システム102(2)との間で確立されてもよく、逆もまた同様。例えば、以下に追加的に詳細に論述されるように、一方向の信頼は、例えば証明機関などから管理者144により取得され得、また、システム102(1)又は102(2)の1つへアップロードされ得る、システム102のうちの1つのシステムの公的証明書に基づくなどして、最初に、第1システム102(1)と第2システム102(2)との間で確立されてもよい。
【0034】
いくつかのケースでは、本明細書で言及する公的証明書は、X.509公開鍵証明書であってもよく、例えば、インターネット上のTLS/SSL安全通信において、また、電子署名などの他のセキュリティアプリケーションにおいて使用されてもよい。例えば、公的証明書は、公開鍵及びアイデンティティ(例えばホスト名、又は組織、又は個人)を含んでもよく、証明機関により署名されてもよく、又は自己署名のいずれであってもよい。公的証明書が、信頼された証明機関により署名されている又は他の手段により有効とされていると、公的証明書を保持する者は、別のパーティとの安全な通信を確立するために、公的証明書に含まれる公開鍵を信頼し得る。例えば、第2パーティの公的証明書を受信した第1パーティは、第2パーティへ送信される通信を暗号化するために公開鍵を使用してもよい。第2パーティは通信を復号するために公的証明書内の公開鍵に対応するその秘密鍵を使用してもよい。代替的に、他のタイプの証明書、公開鍵、共有秘密などが、公的証明書として本明細書における他の実施形態において使用されてもよい。
【0035】
一方向の信頼が確立されたことに基づいて、信頼されていないパーティは、信頼されたパーティにおけるユーザのユーザ名及びパスワードを、信頼されたパーティへ送信してもよい。信頼されたパーティは、ユーザ名及びパスワードを認証してもよく、そしてこの認証に基づき、送信したパーティとの信頼を確立してもよい。例えば、第1システム102(1)及び第2システム102(2)は同じアイデンティティプロバイダを使用してもよいので、第1システム102(1)における管理者の信用証明は第2システム102(2)において働くことになり、逆も同様である。
【0036】
代替的に、他の例では、第1システム102(1)の管理者144(1)は、第2システム102(2)の管理者144(2)と直接通信し得、電話上で、電子メールを介し、又は他の通信手段により、第2システム102(2)の信用証明が与えられてもよく、逆も同様である。さらに別の代替案として、第1システム102(1)の管理者144(1)はまた、第2システム102(2)における管理者144(2)であってもよく、第2システム102(2)及び/又は第2システム102により使用されるアイデンティティプロバイダに対する信用証明を既に有していてもよい。さらに別の代替案として、第1システム102(1)及び第2システム102(2)は、例えばアクティブディレクトリ複製のように、複製されたアイデンティティプロバイダを共有してもよく、したがって、第2システム102(2)のアイデンティティプロバイダ上に存在する管理者の信用証明は、第1システム102(1)により使用されるアイデンティティプロバイダに複製されてもよい。さらに、
図1の例は、システム102及びサービス計算装置112の可能な構成の一例に過ぎない。無数の他の構成は本明細書の開示の利益を受ける当業者に明らかになる。
【0037】
図2は、いくつかの実施形態に係る分散計算システム200内の2つの離れているシステム間の信頼された通信を確立する構成例を示すブロック図である。この例における分散計算システム200は、上述された計算システム100又は様々な他の分散計算システムに対応してもよい。この例では、管理者144(1)は、例えば、信頼された証明機関などから第2サイトの証明書202などを取得し、第2サイト証明書202を、第1サイト104における第1システム102(1)のサービス計算装置112(1)へアップロードすると仮定する。さらに、第1システム102(1)はそれ自身の公開及び秘密鍵を含む第1サイト証明書204を既に有していてもよい。同様に、第2システム102(2)もまたそれ自身の公開及び秘密鍵を含む第2サイト証明書206(を既に有していてもよい。
【0038】
管理者144(1)は、第1システム102(1)が第2システム102(2)と連合されたいということを示し得る初期連合加入コール(initial federation-join call)208を送信してもよい。いくつかの例では、第1システム102(1)における管理者144(1)は任意選択的に、その証明書により署名された応答が信頼され得るということを示す第2サイト公的証明書202を含んでもよい。これは、第1システム102(1)は、第2システム102(2)から受信される通信を信頼し得るということを確立する。第2システム102(2)が第1システム102(1)から受信される通信を信頼することを可能にするために、管理者144(1)は、第2システム102(2)ヘアクセスするために認証されたユーザのユーザ名及びパスワードを含む通信210を通信プログラム148に第2システム102(2)へ送信させてもよい。
【0039】
上述のように、第1システム102(1)及び第2システム102(2)が同じアイデンティティプロバイダを使用するなど、様々な異なる技術が、ユーザ名及びパスワードを取得する又は提供するために使用されてもよい。代替的に、管理者144(1)は、第2システム102(2)の信用証明を取得するために第2システム102(2)の管理者(
図2に示さず)と直接通信してもよい。別の代替案として、第1システム102(1)の管理者144(1)はまた第2システム102(2)の管理者144(2)であってもよい。さらに別の代替案として、第1システム102(1)及び第2システム102(2)は複製されたアイデンティティプロバイダ(例えばアクティブディレクトリ複製)を共有してもよく、したがって、第2システム102(2)におけるアイデンティティプロバイダ上に存在する管理者の信用証明は、第1システム102(1)により使用されるアイデンティティプロバイダへ複製されてもよい。様々な他の変形形態が、本明細書の開示の利益を有する当業者に明らかになる。
【0040】
ユーザ名及びパスワードは、第1システム102(1)が第2システム102(2)からの通信を信頼するように一方向の信頼が確立されるまで第2システム102(2)へ送信されないので、ユーザ名及びパスワードを、信頼されていないシステムへ晒すリスクは無い。第2システム102(2)が第1システム102(1)を信頼するために、第2システム102(2)は、提供されたユーザ名及びパスワードの認証に基づいて、通信を認証してもよい。提供されたユーザ名及びパスワードの認証に続いて、双方向の信頼が第1システム102(1)と第2システム102(2)との間で達成される。第1システム102(1)は、それ自身の公的証明書212を、通信208により、又は第2システム102(2)と第1システム102(1)との間で信頼された通信が確立されたという確認応答214を第2システム102(2)から受信した後のいずれかに送信してもよい。
【0041】
代替例では、第2サイト公的証明書202を証明機関から取得するのではなく、管理者144(1)は、連合加入要求208に第2システム102(2)へのTSL/SSLコールを当初行わせてもよく、第2システム102(2)により提示された証明書が信頼されていないというSSLエラーを受信してもよい。次に、第1システム102(1)のUIは、この証明書を表示し、第2サイト公的証明書が信頼されたかどうかを管理者144(1)に尋ねてもよい。信頼されれば、単一クリックにより、管理者144(1)は、今回は第2サイト公的証明書202を含む要求を再び試みてもよい。次に、第2システム102(2)は、双方向の信頼を確立するために、第1システム102(1)により提供されたユーザ名/パスワードを評価し認証してもよい。
【0042】
加えて、管理者144(1)又は他の承認されたユーザは任意の時点に信頼又は証明書を無効にしてもよい。例えば、承認されたユーザは、無効にするべき信頼又は証明書を有する連合の任意のメンバーへ命令を発行してもよい。この要求を処理するシステムは、連合の他のメンバーを更新するように構成されてもよい。加えて、証明書は、期限切れになり、1又は複数の信頼関係を無効にしてもよい。信頼関係が失われると、影響を受けたシステム間の通信は失敗することになり、信頼関係が再確立されるまでさらなる通信を妨げる。
【0043】
失効を解消するために、承認されたユーザは、無効にされた信頼を、連合に加わることに非常によく似た処理を使用することにより修復してもよい。一例として、承認されたユーザは、最初に、影響を受けたシステム、すなわちその証明書が無効にされたシステムにより使用される証明書を更新してもよい。次に、承認されたユーザは、対象システムの有効な信用証明(例えばユーザ名及びパスワード)を使用して、連合のメンバーの1メンバーとの信頼関係に加わるための命令を発行してもよい。無効にされたシステムは、信用証明と一緒にその新しい証明書を提供してもよく、又は代替的に信用証明を認証する対象システムに基づいて対象システムとの信頼の確立に引き続いて、その新しい証明書を提出してもよい。上述したように、対象システムは信用証明及び受信された証明書を評価してもよい。認証が成功すれば、対象システムは、連合状態を更新し、連合情報及び証明書(すなわち、対象システムの証明書及び連合の任意の他のメンバーの証明書)により、以前に無効にされたシステムに応答することになる。この時点で、信頼が再確立されて、以前に無効にされたメンバーが連合に再加入することになる。
【0044】
図3は、いくつかの実施形態に係る、例えば連合における信頼された通信のために2つの計算システムをつなげる例300を示すシーケンス図である。この例では、管理者144(A)などの承認されたユーザが、システムA102(A)とシステムB102(B)との間の安全通信を確立するためにユーザA装置301を使用することを決定するものと仮定する。例えば、ユーザ144(A)は、2つのシステム102(A)、102(B)間で、信頼された通信を確立するための十分な権限を有するシステムA102(A)における管理者又は他の承認されたユーザであってもよい。したがって、ユーザA装置301は、
図1に関して上述されたユーザ装置124又は管理者装置140のいずれかを含んでもよい。
【0045】
302において、ユーザA装置301は、例えばシステム102(A)のサービス計算装置112(
図3に示さず)の1つとの接続を確立することにより、システムA102(A)とのTLS又は他の安全な接続を確立してもよい。例えば、TLSプロトコルは、盗聴及び改ざんを防止する一方でネットワークにわたって通信するために使用されてもよい。一例として、ユーザA装置301は、例えば「STARTTLS」要求を行うことにより、TLS接続のために指定されたポート番号へ接続を切り替えること等により、安全でない接続をTLS接続へ切り替えるためにシステムA102(A)に対してプロトコル固有要求を行ってもよい。ユーザA装置301及びシステムA102(A)がTLSを使用することに同意した後、ユーザA装置301及びシステムA102(A)は、暗号設定だけでなく、対称暗号を使用して通信がさらに暗号化されるセッション固有共有鍵も確立するために、非対称暗号によるハンドシェーキング手順を使用することによりTLS接続を交渉する。このハンドシェーク中、クライアント及びサーバは接続のセキュリティを確立するために使用される様々なパラメータに同意する。一例として、Diffie-Hellman鍵交換が、暗号化及び復号のために無作為及び一意なセッション鍵を安全に生成するために使用されてもよい。ハンドシェークと一意なセッション鍵の生成とに続いて、保証された接続が有効となってもよく、通信は、この接続が閉じるまで、セッション鍵を使用することにより暗号化及び復号されてもよい。
【0046】
304において、システムAの証明書が検証されていなければ、ユーザAはTLS接続を確立するために証明書を受理するように促されてもよい。これは、証明書有効期間、証明書チェーン発行者、証明書失効リストなどの検証を含んでもよい。
【0047】
306において、ユーザA装置301は、システムAにおいてユーザAを認証するために信用証明を提供してもよい。例えば、ユーザA装置301はユーザAのユーザ名、パスワード又は他の認証信用証明をシステムA102(A)へ提供してもよい。
【0048】
308において、ユーザA装置301は、システムBユーザのユーザ名及びパスワードなどのシステムBユーザの信用証明を使用することにより、システムAがシステムBに加わるための命令を実行してもよい。システムBユーザの信用証明は、実際のシステムBユーザであってもよいし、管理権限を有するシステムBユーザのアカウントに関連するユーザ名及びパスワードであってもよいが、システムBにおいて認証のためだけに使用される。(したがって、信頼関係が確立されるたびにユーザ名及びパスワードは異なる可能性があり、そして、ユーザ、ユーザ名、及びパスワードはその後再び使用されない可能性がある。
【0049】
310において、システムA102(A)は、306においてシステムA102(A)へ提供されたユーザAのユーザ名及びパスワード又は他の認証信用証明をチェックすることなどにより、システムA102(A)上のユーザAを認証し承認してもよい。
【0050】
312において、システムTLS接続又は他のタイプの安全な接続が、以下の動作314~320を介してシステムA102(A)とシステムB102(B)との間で確立される。
【0051】
314において、システムAは、302において上述されたものと似ているかもしれない技術を使用して、システムBとのTLS又は他の安全な接続を開始する。
【0052】
315において、安全な接続を開始した結果として、システムA102(A)はシステムBの公的証明書を受信してもよい。
【0053】
316において、安全な接続の確立中にシステムBの証明書がシステムAにより信頼されなければ、システムAは、システムBの証明書を受理するためにユーザA装置301における管理者144へ催促を送信してもよい。これは、証明書有効期間、証明書チェーン発行者、証明書失効リストなどの検証を含んでもよい。
【0054】
318において、ユーザA装置は、システムBの証明書の有効性を認めたとの通信をシステムA102(A)へ送信してもよい。
【0055】
320において、システムA102(A)とシステムB102(B)との間で、システムA102(A)とシステムB102(B)との間の安全なセッション鍵の確立を含み得るTLS又は他の安全な接続が確立される
【0056】
322において、システムAは、TLS接続を確立した結果として、現在システムBの公的証明書の複製を有する。
【0057】
324において、システムAは、システムBユーザの信用証明及びシステムA公的証明書を使用することにより、システムA及びシステムBを信頼された通信配置でつなげるための命令をシステムBへ送信する。
【0058】
326において、システムB102(B)は、システムA102(A)が308においてユーザA装置301から受信し、システムA 102(A)から受信されたユーザB信用証明に基づいて、ユーザBを認証及び承認する。
【0059】
328において、システムB102(B)は、システムA-システムBメンバーシップ及びシステムB102(B)における証明書を維持する。例えば、システムB102(B)は、受信したシステムAの公的証明書に基づいて、及びシステムBユーザのシステムBユーザ名及びパスワードの認証に基づいて、システムAからの通信を信頼してもよい。
【0060】
330において、システムB102(B)は、信頼された通信関係におけるシステムA-システムBメンバーシップが確立されたという確認応答をシステムA102(A)へ送信する。
【0061】
332において、システムA102(A)はシステムA-システムBメンバーシップ及び証明書を維持してもよい。
【0062】
334において、システムA102(A)は、システムA102(A)とシステムB102(B)との間の信頼された通信のためのペアリングが確立されたということを知らせるために確認応答をユーザA装置301へ送信する。
【0063】
したがって、信頼された通信が確立された後、システムA及びシステムBは、2つの離れたシステムがそれらの間で確立された信頼された通信チャネルを有する連合コンピュータシステムを含んでもよい。
【0064】
図4は、いくつかの実施形態に係る追加の計算システムを2つの計算システムの既存連合へ加える例400を示すシーケンス図である。この例では、ユーザAがシステムA102(A)と、システムB102(B)及びシステムC102(C)を含む既存連合との間で安全通信を確立するために、ユーザA装置301を使用することを判定と仮定する。例えば、ユーザAは、システムA102(A)と既存連合との間で、信頼された通信を確立するために十分な権限を有するシステムA102(A)における管理者又は他のユーザであってもよい。ユーザA装置301は
図1に関し上述されたユーザ装置124又は管理者装置140のいずれかを含んでもよい。
【0065】
402において、例えば
図1~3に関し上述された技術を使用することにより、システムB102(B)とシステムC102(C)との間で、信頼された通信のためのペアリングが既に確立されていると仮定する。
【0066】
403に示すように、ペアリングに基づき、システムBはシステムCの公的証明書の複製を有し、システムCはシステムBの公的証明書の複製を有する。
【0067】
404において、ユーザA装置301は、例えば
図3の302において上述されたように、システムA102(A)のサービス計算装置112(
図4に示さず)の1つとの接続を確立することなどにより、システムA102(A)とTLS(トランスポート層セキュリティ)又は他の安全な接続を確立してもよい
【0068】
406において、システムAの証明書が検証されていなければ、ユーザAは、TLS接続を確立するために証明書を受理するように促されてもよい。これは、証明書有効期間、証明書チェーン発行者、証明書失効リストなどの検証を含んでもよい。
【0069】
408において、ユーザA装置301は、システムAにおいてユーザAを認証するために信用証明を提供してもよい。例えば、ユーザA装置301は、ユーザAのユーザ名及びパスワード又は他の認証信用証明をシステムA102(A)へ提供してもよい。
【0070】
410において、ユーザA装置301は、システムBユーザのユーザ名及びパスワードなどのシステムBユーザの信用証明を使用して、システムAがシステムBに加わるための命令を実行してもよい。システムBユーザの信用証明は、実際のシステムBユーザであってもよいし、仮想のシステムBユーザの一回使用のユーザ名及びパスワードであってもよい。
【0071】
412において、システムA102(A)は、408においてシステムA102(A)へ提供されたユーザAのユーザ名及びパスワード又は他の認証信用証明をチェックすることなどにより、システムA上のユーザAを認証し承認してもよい。
【0072】
414において、システムTLS接続又は他のタイプの安全な接続が、以下の動作416~422を介してシステムA102(A)とシステムB102(B)との間で確立される。
【0073】
416において、システムAは、404において上述されたものと似ているかもしれない技術を使用してシステムBとのTLS又は他の安全な接続を開始する。
【0074】
417において、システムBとの安全な接続を開始した結果として、システムA102(A)はシステムBの公的証明書を受信してもよい。
【0075】
418において、安全な接続の確立中にシステムBの証明書がシステムAにより信頼されなければ、システムAはシステムBの証明書を受理するための催促をユーザA装置301へ送信してもよい。これは、証明書有効期間、証明書チェーン発行者、証明書失効リストなどの検証を含んでもよい。
【0076】
420において、ユーザA装置は、システムBの証明書の有効性を認める通信をシステムA102(A)へ送信してもよい。
【0077】
422において、システムA102(A)とシステムB102(B)との間の安全なセッション鍵の確立を含み得るTLS又は他の安全な接続がシステムA102(A)とシステムB102(B)との間で確立される。
【0078】
424において、システムAは、TLS接続を確立した結果として、現在システムBの公的証明書の複製を有する。
【0079】
426において、システムAは、システムBユーザの信用証明及びシステムAの公的証明書を使用することにより、システムA及びシステムBを信頼された通信配置でつなぐための命令をシステムBへ送信する。
【0080】
428において、システムB102は、システムA102(A)が410においてユーザA装置301から受信し、システムA102(A)から受信されたユーザB信用証明に基づいて、ユーザBを認証及び承認する。
【0081】
430において、システムB102(B)は、システムB102(B)において、及びシステムC102(C)に対して、システムA-B-Cメンバーシップと証明書とを維持する。例えば、システムB102(B)及びシステムC102(C)は、受信しているシステムAの公的証明書とシステムBユーザのシステムBユーザ名及びパスワード並びにシステムBにより行われる認証とに基づいて、システムA102(A)からの通信を信頼してもよい。
【0082】
431において示すように、システムCは、上述された動作430中にシステムBからシステムAの公的証明書の複製を受信してもよい。
【0083】
432において、システムB102(B)は、信頼された通信関係におけるシステムA-B-Cメンバーシップが確立されたという確認応答をシステムA102(A)へ送信する。
【0084】
434において、システムAは、現在、システムB及びシステムCの公的証明書の複製を有する。
【0085】
436において、システムA102(A)はシステムA-B-Cメンバーシップ及び証明書を維持してもよい。
【0086】
438において、システムA102(A)は、システムA102(A)とシステムB102(B)とシステムB102(C)との間の信頼された通信のためのペアリングが確立されたということを知らせるするために確認応答をユーザA装置301へ送信する。
【0087】
したがって、信頼された通信が確立された後、システムA、B、Cは、3つの離れたシステムがそれらの間で確立された信頼された通信チャネルを有する連合コンピュータシステムを含んでもよい。
【0088】
図5はいくつかの実施形態に係る連合システム500の構成例を示すブロック図である。この例では、分散コンピュータシステムは、サイトAにシステムA102(A)、サイトBにシステムB102(B)、サイトCにシステムC102(C)、及びサイトDにシステムD102(D)を含み、それぞれは、1又は複数のネットワーク122上で通信状態にあるそれぞれのサービス計算装置112(A)~112(D)を含む。いくつかのケースでは、サイトA、B、C、Dの少なくともいくつかは、互いに地理的に分散されてもよく、及び/又はシステムA、B、C、Dは離れたシステム、自律的システム、又は異なるシステムであってもよい。
【0089】
この例では、
図1~4に関して上述された処理を既に経たシステムB、C、Dは、既に連合でつながれていると仮定する。したがって、502に示すように、信頼された通信がシステムBとシステムCとの間で既に確立され;504に示すように、信頼された通信がシステムBとシステムDとの間で既に確立され;506に示すように、信頼された通信がシステムCとシステムDとの間で既に確立されている。
【0090】
加えて、システムBは、それ自身のシステムB証明書508、システムCの公的証明書510及びシステムDの公的証明書512を有し;システムCは、それ自身のシステムC証明書514、システムBの公的証明書516及びシステムDの公的証明書512を有し;システムDは、それ自身のシステムD証明書518、システムBの公的証明書516及びシステムCの公的証明書510を有する。さらに、この時点で、システムAはそれ自身のシステムA証明書520だけを有する。
【0091】
管理者144(A)又は他の承認されたユーザがシステムAをシステムB、C、Dの連合へ加えるために従い得る処理は、
図1~4に関し上述されたものに似ている。システムAは、既に連合内にある任意のシステムB、C又はDへ加えられ得る。例えば、双方向に信頼された通信をシステムAが確立するためにシステムDが対象システムとして選択されたと仮定する。管理者144(A)は
図4に関して上述された処理を採用してもよい。したがって、522に示すように、信頼された通信は、上述したようにシステムAとシステムDとの間で確立されてもよい。双方向の信頼の確立に続いて、システムDは、システムAの公的証明書を有することになり、連合メンバーシップを更新し、そして524において示すようにすべての必要な証明書(例えばシステムAの公的証明書)を連合、例えばシステムB及びCへ提供してもよい。加えて、526に示すように、システムDは、システム102(A)を含む連合のすべてのメンバー間の双方向の信頼を確立するために、システムB、C、Dの証明書をシステムAへ提供してもよい。
【0092】
図6はいくつかの実施形態に係る信頼された通信を確立するための処理例を示す流れ図である。処理は一連の操作を表す論理フロー図内のブロックの集合として示され、そのいくつか又はすべてはハードウェア、ソフトウェア又はそれらの組み合わせで実装されてもよい。ソフトウェアの文脈では、ブロックは、1又は複数のプロセッサにより実行されるとプロセッサに列挙された動作を行うようにプログラムする1又は複数のコンピュータ可読媒体上に格納されるコンピュータ実行可能命令を表してもよい。一般的に、コンピュータ実行可能命令は、特定機能を行う又は特定データタイプを実装するルーチン、プログラム、オブジェクト、構成部、データ構造などを含む。ブロックが説明される順番は制限として解釈されるべきでない。説明されたブロックのうちの任意数のブロックは処理又は代替処理を実施するために任意の順番で及び/又は並列に組み合わせられてもよく、そしてブロックのすべてが実行される必要があるわけではない。これらの処理は幅広い種類の他の環境、フレームワーク及びシステムにおいて実施されてもよいが、論述目的のために、これらの処理は本明細書の例において説明される環境、フレームワーク、及びシステムを参照して説明される。
【0093】
図6はいくつかの実施形態に係る例示的処理600を示す流れ図である。いくつかのケースでは、処理600は1又は複数のサービス計算装置112により少なくとも部分的に実行されてもよい。
【0094】
602において、計算装置は第1サイトとは異なる第2サイトに関連する第2計算装置の証明書を受信してもよい。
【0095】
604において、計算装置は第2サイトに関連するユーザの信用証明を第2計算装置へ送信してもよい。
【0096】
606において、計算装置は第1計算装置の証明書を第2計算装置へ送信してもよい。例えば、第1計算装置の証明書は信用証明と共に又はその後に送信されてもよい。
【0097】
608において、第2計算装置によるユーザの信用証明の認証に少なくとも基づいて、計算装置は第1計算装置と第2計算装置との間の信頼された通信を確立してもよい。
【0098】
610において、第2計算装置が第3サイトに関連する第3計算装置との信頼された通信を既に確立していれば、計算装置は、第1計算装置と第2計算装置との間で確立された信頼された通信及び第2計算装置と第3計算装置との間で確立された信頼された通信に基づいて、第1計算装置により第3計算装置との信頼された通信のために使用する第3の計算装置の証明書を、第2計算装置から受信してもよい。
【0099】
本明細書において説明される例示的処理は論述目的のために提供される処理の単に一例である。無数の他の変形形態が本明細書の開示に照らして当業者に明らかになる。さらに、本明細書の開示は処理を実行するための好適なフレームワーク、アーキテクチャ及び環境のいくつかの例を記載するが、本明細書における実施形態は示され論述された特定例に限定されない。さらに、本開示は添付図面において説明及び示したように様々な実施例を提供する。しかし、本開示は、本明細書で説明され示された実施形態に限定されないが、当業者に知られているであろうように又は知られるようになるであろうように他の実施形態へ拡張し得る。
【0100】
図7は、少なくとも本明細書において説明されるシステムの機能のうちのいくつかの機能を実装するために使用されてもよいサービス計算装置112の精選された構成部例を示す。サービス計算装置112は、1又は複数のサーバ、又は任意数のやり方で具現化され得る他のタイプの計算装置を含んでもよい。例えば、サーバの場合、プログラム、他の機能構成部、及びデータは、単一サーバ上、サーバのクラスタ、サーバファーム又はデータセンタ、クラウドホスト型コンピュータサービス等上に実装されてもよいが、他のコンピュータアーキテクチャが追加的に又は代替的に使用されてもよい。複数のサービス計算装置112は、併せて又は離れて配置されてもよく、例えば仮想サーバ、サーババンク、及び/又はサーバファームとして編成されてもよい。説明された機能は、単一事業体又は企業のサーバにより提供されてもよいし、複数の異なる事業体又は企業のサーバ及び/又はサービスにより提供されてもよい。
【0101】
図示の例では、サービス計算装置112は1又は複数のプロセッサ702、1又は複数のコンピュータ可読媒体704及び1又は複数の通信インターフェース706を含み、又はそれらと関連付けられてもよい。各プロセッサ702は、単一処理ユニット又は多数の処理ユニットであってもよく、単一又は複数の計算ユニット若しくは処理コアを含んでもよい。プロセッサ702は、1又は複数の中央処理ユニット、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、ステートマシン、論理回路系、及び/又は動作命令に基づいて信号を処理する任意の装置として実装されてもよい。一例として、プロセッサ702は、本明細書において説明されるアルゴリズム及び処理を実行するように特別にプログラムされた又は構成された任意の好適なタイプの1又は複数のハードウェアプロセッサ及び/又は論理回路を含んでもよい。プロセッサ702は、本明細書において説明される機能をプロセッサ702に行うようにプログラムし得るコンピュータ可読媒体704内に格納されるコンピュータ可読命令をフェッチ及び実行するように構成されてもよい。
【0102】
コンピュータ可読媒体704は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータなどの情報の格納のための任意のタイプの技術で実現される揮発性及び非揮発性メモリ並びに/又は着脱可能及び着脱不能媒体を含んでもよい。例えば、コンピュータ可読媒体704は、限定しないがRAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、光学ストレージ、ソリッドステートストレージ、磁気テープ、磁気ディスクストレージ、RAIDストレージシステム、ストレージアレイ、ネットワーク接続ストレージ、ストレージエリアネットワーク、クラウドストレージ、又は所望情報を格納するために使用され得、計算装置によりアクセスされ得る任意の他の媒体を含んでもよい。サービス計算装置112の構成に依存して、コンピュータ可読媒体704は、非一時的コンピュータ可読媒体がエネルギー、搬送波信号、電磁波、及び/又は信号それ自体などの媒体を排除すると述べる限りにおいて有形な非一時的媒体であってもよい。いくつかのケースでは、コンピュータ可読媒体704はサービス計算装置112と同じ場所にあってもよく、一方、他の例では、コンピュータ可読媒体704はサービス計算装置112から部分的に離れていてもよい。例えば、いくつかのケースでは、コンピュータ可読媒体704は、
図1に関して上述されたネットワークストレージ120内のストレージの一部を含んでもよい。
【0103】
コンピュータ可読媒体704は、プロセッサ702により実行可能である任意数の機能構成部を格納するために使用されてもよい。多くの実施形態では、これらの機能構成部は、プロセッサ702により実行可能である命令又はプログラムであって実行されると本明細書ではサービス計算装置112に帰する行為を実行するようにプロセッサ702を特にプログラムする命令又はプログラムを含む。コンピュータ可読媒体704内に格納された機能構成部は、それぞれが1又は複数のコンピュータプログラム、アプリケーション、実行可能コード又はその一部を含み得るサーバプログラム130、ストレージプログラム132、通信プログラム148を含んでもよい。例えば、サーバプログラム116は通信機能をユーザ装置及びネットワークストレージ(
図7に示さず)に提供してもよい。ストレージプログラム118は、サービス計算装置112により格納され管理されるデータに関係するメタデータを含むメタデータデータ構造116を生成及び管理するためのデータベース管理機能を含んでもよい。通信プログラム148は、信頼された通信チャネル及び証明書に基づく安全通信などのようなサービス計算装置と他の装置との間の通信を可能にしてもよい。
【0104】
加えて、コンピュータ可読媒体704は、本明細書において説明される機能及びサービスを処理するために使用されるデータ、データ構造、他の情報を格納してもよい。例えば、コンピュータ可読媒体704はメタデータデータ構造116を格納してもよい。加えて、コンピュータ可読媒体704は、サービス計算装置112により格納されたデータであり得るローカルデータ118を格納してもよい。サービス計算装置112はまた、プログラム、ドライバなどを含み得る他の機能構成部及びデータ並びに機能構成部により使用又は生成されるデータを含んでもよく、又は維持してもよい。さらに、サービス計算装置112は多くの他の論理部品、プログラム部品、及び物理的構成部を含んでもよいが、上述のものは本明細書における論述に関連する単なる例である。
【0105】
1又は複数の通信インターフェース706は、1又は複数のネットワーク106上などの様々な他の装置との通信を可能にするための1又は複数のソフトウェア及びハードウェア構成部を含んでもよい。例えば、通信インターフェース706は、本明細書の他のどこかで追加的に列挙されるようなLAN、インターネット、ケーブルネットワーク、セルラーネットワーク、無線ネットワーク(例えばWi-Fi)及び有線ネットワーク(例えばファイバーチャネル、光ファイバ、イーサーネット)、直接接続、並びにBLUETOOTH(登録商標)などの近距離通信等々のうちの1又は複数を介した通信を可能にしてもよい。
【0106】
本明細書において説明される様々な命令、方法、及び技術は、コンピュータ可読媒体上に格納され本明細書のプロセッサにより実行されるコンピュータプログラム及びアプリケーションなどのコンピュータ実行可能命令の一般的文脈において考慮されてもよい。一般的に、プログラム及びアプリケーションとの用語は、交換可能に使用されてよく、特定タスクを実行する又は特定データタイプを実装するための命令、ルーチン、モジュール、オブジェクト、構成部、データ構造、実行可能コードなどを含んでもよい。これらのプログラム、アプリケーションなどは仮想マシン又は他のジャストインタイムコンパイル実行環境などにおいて固有コードとして実行されてもよいし、ダウンロードされ実行されてもよい。典型的には、プログラム及びアプリケーションの機能は、様々な実施形態において所望に従って組み合わせられてもよいし、分散されてもよい。これらのプログラム、アプリケーション、及び技術の実施形態はコンピュータ記憶媒体上に格納されてもよいしある形式の通信媒体にわたって送信されてもよい。
【0107】
本主題は構造的特徴及び/又は方法論的行為に固有の言語で説明されたが、添付の特許請求の範囲において定義される主題は必ずしも特定の特徴又は行為に限定されないということを理解すべきである。むしろ、特定の特徴及び行為は特許請求の範囲を実現する例示的形式として開示される。