(57)【特許請求の範囲】
【請求項１】
グループ管理者ピアノードであって、
ピアツーピアオーバーレイネットワーク上の通信を容易にするように適合された通信インターフェースと、
前記グループ管理者ピアノードに関連付けられた秘密鍵と公開鍵のペアを含む記憶媒体と、
前記通信インターフェースおよび前記記憶媒体に結合された処理回路と
を備え、前記処理回路が、
前記グループ管理者ピアノードのノード証明書を発行する要求を信用局に送信することであって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、送信することと、
1つまたは複数のピアノードをグループのメンバーとして規定するピアグループを作成することと、
前記グループのメンバーであるグループメンバーピアノードにピア固有のグループ証明書を発行することであって、前記ピア固有のグループ証明書が、前記グループ内のメンバーシップを前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合され、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有の証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、前記信用局の秘密鍵による署名を含まない、発行することと、
前記ピアツーピアオーバーレイネットワークからグループトークンを取得することであって、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を前記グループメンバーピアノードに発行するように認可されていることを、前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合される、取得することと、
を行うように適合され、
前記ピア固有のグループ証明書は、前記通信インターフェースを介して前記グループメンバーピアノードによって前記ピアツーピアオーバーレイネットワーク上の検証ピアノードに送信され、前記ピア固有のグループ証明書が前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、
前記ノード証明書は、前記検証ピアノードによって、前記グループ証明書が前記グループ管理者ピアノードによって発行されたかどうかを認証されるように適合される、
グループ管理者ピアノード。
【請求項２】
前記処理回路が、
前記グループメンバーピアノード用の前記ピア固有のグループ証明書を生成することと、
前記通信インターフェースを介して前記グループメンバーピアノードに前記ピア固有のグループ証明書を送信することと
によって、前記グループメンバーピアノードに前記ピア固有のグループ証明書を発行するように適合される、
請求項1に記載のグループ管理者ピアノード。
【請求項３】
前記処理回路が、
前記グループ管理者ピアノードの前記秘密鍵で署名されたトークンとして前記グループトークンを生成することと、
前記ピア固有のグループ証明書に含まれた前記グループ識別情報によって識別されたデータオブジェクトとして、前記グループトークンを前記ピアツーピアオーバーレイネットワークに記憶することと
を行うようにさらに適合される、
請求項1に記載のグループ管理者ピアノード。
【請求項４】
グループ管理者ピアノード内で動作可能な方法であって、
前記グループ管理者ピアノードに関連付けられた公開鍵と秘密鍵のペアを取得するステップと、
前記グループ管理者ピアノードのノード証明書を発行する要求を信用局に送信するステップであって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、送信するステップと、
グループのメンバーである1つまたは複数のピアノードを規定する、ピアツーピアオーバーレイネットワーク内のピアグループを作成するステップと、
前記グループのメンバーであるグループメンバーピアノードにピア固有のグループ証明書を発行するステップであって、前記ピア固有のグループ証明書が、前記グループ内のメンバーシップを前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合され、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有の証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、前記信用局の秘密鍵による署名を含まない、発行するステップと、
前記ピアツーピアオーバーレイネットワークからグループトークンを取得するステップであって、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を前記グループメンバーピアノードに発行するように認可されていることを、前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合される、取得するステップと
を含み、
前記ピア固有のグループ証明書は、通信インターフェースを介して前記グループメンバーピアノードによって前記ピアツーピアオーバーレイネットワーク上の検証ピアノードに送信され、前記ピア固有のグループ証明書が前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、
前記ノード証明書は、前記検証ピアノードによって、前記グループ証明書が前記グループ管理者ピアノードによって発行されたかどうかを認証されるように適合される方法。
【請求項５】
前記グループメンバーピアノードに前記ピア固有のグループ証明書を発行するステップが、
前記グループメンバーピアノード用の前記ピア固有のグループ証明書を生成するステップと、
前記グループメンバーピアノードに前記ピア固有のグループ証明書を送信するステップと
を含む、請求項4に記載の方法。
【請求項６】
前記グループ管理者ピアノードの前記秘密鍵で署名されたトークンとして前記グループトークンを生成するステップと、
前記ピア固有のグループ証明書に含まれた前記グループ識別情報によって識別されたデータオブジェクトとして、前記グループトークンを前記ピアツーピアオーバーレイネットワークに記憶するステップと
をさらに含む、
請求項4に記載の方法。
【請求項７】
グループ管理者ピアノードであって、
前記グループ管理者ピアノードに関連付けられた公開鍵と秘密鍵のペアを取得するための手段と、
前記グループ管理者ピアノードのノード証明書を発行する要求を信用局に送信するための手段であって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、送信するための手段と、
グループのメンバーである1つまたは複数のピアノードを規定する、ピアツーピアオーバーレイネットワーク内のピアグループを作成するための手段と、
前記グループのメンバーであるグループメンバーピアノードにピア固有のグループ証明書を発行するための手段であって、前記ピア固有のグループ証明書が、前記グループ内のメンバーシップを前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合され、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有の証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、前記信用局の秘密鍵による署名を含まない、発行するための手段と、
前記グループ管理者ピアノードの前記秘密鍵で署名されたトークンとしてグループトークンを取得するための手段であって、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を前記グループメンバーピアノードに発行するように認可されていることを、前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合される、取得するための手段と
を備え、
前記ピア固有のグループ証明書は、通信インターフェースを介して前記グループメンバーピアノードによって前記ピアツーピアオーバーレイネットワーク上の検証ピアノードに送信され、前記ピア固有のグループ証明書が前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、
前記ノード証明書は、前記検証ピアノードによって、前記グループ証明書が前記グループ管理者ピアノードによって発行されたかどうかを認証されるように適合されるグループ管理者ピアノード。
【請求項８】
前記グループトークンを取得する手段が、
前記グループ管理者ピアノードの前記秘密鍵で署名されたトークンとして前記グループトークンを生成するための手段と、
前記ピア固有のグループ証明書に含まれた前記グループ識別情報によって識別されたデータオブジェクトとして、前記グループトークンを前記ピアツーピアオーバーレイネットワークに記憶するための手段と
をさらに含む、
請求項7に記載のグループ管理者ピアノード。
【請求項９】
グループ管理者ピアノード上で動作可能な命令を含むプロセッサ可読記憶媒体であって、前記命令がプロセッサによって実行されるとき、前記プロセッサに、
前記グループ管理者ピアノードに関連付けられた公開鍵と秘密鍵のペアを取得することと、
前記グループ管理者ピアノードのノード証明書を発行する要求を信用局に送信することであって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、送信することと、
グループのメンバーである1つまたは複数のノードを規定する、ピアツーピアオーバーレイネットワーク内のピアグループを作成することと、
前記グループのメンバーであるグループメンバーピアノードにピア固有のグループ証明書を発行することであって、前記ピア固有のグループ証明書が、前記グループ内のメンバーシップを前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合され、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有の証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、前記信用局の秘密鍵による署名を含まない、発行することと、
前記ピアツーピアオーバーレイネットワークからグループトークンを取得することであって、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を前記グループメンバーピアノードに発行するように認可されていることを、前記ピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合される、取得することと
を行わせ、
前記ピア固有のグループ証明書は、通信インターフェースを介して前記グループメンバーピアノードによって前記ピアツーピアオーバーレイネットワーク上の検証ピアノードに送信され、前記ピア固有のグループ証明書が前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、
前記ノード証明書は、前記検証ピアノードによって、前記グループ証明書が前記グループ管理者ピアノードによって発行されたかどうかを認証されるように適合されるプロセッサ可読記憶媒体。
【請求項１０】
前記プロセッサによって実行されるとき、前記プロセッサに、
前記グループ管理者ピアノードの前記秘密鍵で署名されたトークンとして前記グループトークンを生成することと、
前記ピア固有のグループ証明書に含まれた前記グループ識別情報によって識別されたデータオブジェクトとして、前記グループトークンを前記ピアツーピアオーバーレイネットワークに記憶することと
を行わせる命令をさらに含む、
請求項9に記載のプロセッサ可読記憶媒体。
【請求項１１】
グループメンバーピアノードであって、
ピアツーピアオーバーレイネットワーク上の通信を容易にするように適合された通信インターフェースと、
前記グループメンバーピアノードに関連付けられた秘密鍵と公開鍵のペアを含む記憶媒体と、
前記通信インターフェースおよび前記記憶媒体に結合された処理回路と
を備え、前記処理回路が、
前記通信インターフェースを介して、グループ管理者ピアノードから前記グループメンバーピアノードに発行されたピア固有のグループ証明書を受信することであって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まず、前記ピア固有のグループ証明書が、前記ピアツーピアオーバーレイネットワークからのグループトークンを識別する情報を含み、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを認証するように適合される、受信することと、
前記通信インターフェースを介して、前記ピア固有のグループ証明書を検証ピアノードに送信して、前記グループメンバーピアノードをグループメンバーとして認証することであって、前記ピア固有のグループ証明書が、前記検証ピアノードによって、前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、前記検証ピアノードは、信用局によって発行された前記グループ管理者ピアノードのノード証明書を使用して、前記グループ証明書が、前記グループ管理者ピアノードによって発行されたかどうかを認証するように適合され、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、認証することと、
前記通信インターフェースを介して、前記検証ピアノードに認証データを送信することであって、前記認証データが、前記グループメンバーピアノードに関連付けられた前記秘密鍵を使用して署名される、送信することと
を行うように適合される、
グループメンバーピアノード。
【請求項１２】
前記ピア固有のグループ証明書が、前記グループメンバーピアノードに関連付けられた前記公開鍵を使用する、前記署名された認証データの確認により、および前記グループ管理者ピアノードに関連付けられた公開鍵を使用する、前記ピア固有のグループ証明書の確認により、前記検証ピアノードによって認証されるように適合される、請求項11に記載のピアノード。
【請求項１３】
前記ピア固有のグループ証明書内の前記グループ識別情報が、前記ピアツーピアオーバーレイネットワークに記憶された前記グループトークンを、前記グループ識別情報によって識別されたデータオブジェクトとして特定するように適合される、請求項11に記載のピアノード。
【請求項１４】
グループメンバーピアノード内で動作可能な方法であって、
前記グループメンバーピアノードに関連付けられた公開鍵と秘密鍵のペアを取得するステップと、
グループ管理者ピアノードから前記グループメンバーピアノードに発行されたピア固有のグループ証明書を受信するステップであって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まず、前記ピア固有のグループ証明書が、ピアツーピアオーバーレイネットワークからのグループトークンを識別する情報を含み、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを認証するように適合される、受信するステップと、
前記ピア固有のグループ証明書を検証ピアノードに送信して、前記グループメンバーピアノードをグループメンバーとして認証するステップであって、前記ピア固有のグループ証明書が、前記検証ピアノードによって、前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、前記検証ピアノードは、信用局によって発行された前記グループ管理者ピアノードのノード証明書を使用して、前記グループ証明書が、前記グループ管理者ピアノードによって発行されたかどうかを認証するように適合され、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、認証するステップと、
前記検証ピアノードに認証データを送信するステップであって、前記認証データが、前記グループメンバーピアノードに関連付けられた前記秘密鍵を使用して署名される、送信するステップと
を含む、方法。
【請求項１５】
前記ピア固有のグループ証明書が、前記グループメンバーピアノードに関連付けられた前記公開鍵を使用する、前記署名された認証データの確認により、および前記グループ管理者ピアノードに関連付けられた公開鍵を使用する、前記ピア固有の証明書の確認により、前記検証ピアノードによって認証されるように適合される、請求項14に記載の方法。
【請求項１６】
前記グループ識別情報を含む前記ピア固有のグループ証明書を受信するステップが、
前記ピアツーピアオーバーレイネットワークに記憶された前記グループトークンをグループ識別情報によって識別されたデータオブジェクトとして特定するように適合された、前記グループ識別情報を含む前記ピア固有のグループ証明書を受信するステップ
を含む、請求項14に記載の方法。
【請求項１７】
グループメンバーピアノードであって、
前記グループメンバーピアノードに関連付けられた公開鍵と秘密鍵のペアを取得するための手段と、
グループ管理者ピアノードから前記グループメンバーピアノードに発行されたピア固有のグループ証明書を受信するための手段であって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まず、前記ピア固有のグループ証明書が、ピアツーピアオーバーレイネットワークからのグループトークンを識別する情報を含み、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを認証するように適合される、受信するための手段と、
前記ピア固有のグループ証明書を検証ピアノードに送信して、前記グループメンバーピアノードをグループメンバーとして認証するための手段であって、前記ピア固有のグループ証明書が、前記検証ピアノードによって、前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、前記検証ピアノードは、信用局によって発行された前記グループ管理者ピアノードのノード証明書を使用して、前記グループ証明書が、前記グループ管理者ピアノードによって発行されたかどうかを認証するように適合され、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、認証するための手段と、
前記検証ピアノードに認証データを送信するための手段であって、前記認証データが、前記グループメンバーピアノードの前記秘密鍵を使用して署名される、送信するための手段と
を備える、
グループメンバーピアノード。
【請求項１８】
グループメンバーピアノード上で動作可能な命令を含むプロセッサ可読記憶媒体であって、前記命令がプロセッサによって実行されるとき、前記プロセッサに、
前記グループメンバーピアノードに関連付けられた公開鍵と秘密鍵のペアを取得することと、
グループ管理者ピアノードから前記グループメンバーピアノードに発行されたピア固有のグループ証明書を受信することであって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、前記グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まず、前記ピア固有のグループ証明書が、ピアツーピアオーバーレイネットワークからのグループトークンを識別する情報を含み、前記グループトークンが、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを認証するように適合される、受信することと、
前記ピア固有のグループ証明書を検証ピアノードに送信して、前記グループメンバーピアノードをグループメンバーとして認証することであって、前記ピア固有のグループ証明書が、前記検証ピアノードによって、前記グループメンバーピアノードに発行されたかどうかを認証されるように適合され、前記検証ピアノードは、信用局によって発行された前記グループ管理者ピアノードのノード証明書を使用して、前記グループ証明書が、前記グループ管理者ピアノードによって発行されたかどうかを認証するように適合され、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、認証することと、
前記検証ピアノードに認証データを送信することであって、前記認証データが、前記グループメンバーピアノードの前記秘密鍵を使用して署名される、送信することと
を行わせる、
プロセッサ可読記憶媒体。
【請求項１９】
ピアツーピアオーバーレイネットワーク上の通信を容易にするように適合された通信インターフェースと、
前記通信インターフェースに結合された処理回路と
を備え、前記処理回路が、
前記通信インターフェースを介して、グループのメンバーとしての認証を求めるグループメンバーピアノードからピア固有のグループ証明書を受信することであって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まない、受信することと、
前記グループ管理者ピアノードのノード証明書から、前記グループ管理者ピアノードに関連付けられた公開鍵を取得することであって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、取得することと、
前記グループ管理者ピアノードの前記秘密鍵による署名を含むグループトークンを前記ピアツーピアオーバーレイネットワークから取得することであって、前記グループトークンが、前記グループ識別情報によって識別されたデータオブジェクトとして、前記ピアツーピアオーバーレイネットワークに記憶される、取得することと、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記グループトークンの前記署名を確認して、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを検証することと、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記ピア固有のグループ証明書を確認することと
を行うように適合される、
検証ピアノード。
【請求項２０】
前記処理回路が、
前記グループメンバーピアノードに関連付けられた秘密鍵によって署名された認証データを、前記通信インターフェースを介して前記グループメンバーピアノードから受信することと、
前記グループメンバーピアノードに関連付けられ、前記ピア固有のグループ証明書から、または前記ピア固有のグループ証明書内の前記グループメンバーピアノードの前記識別情報を使用して前記ピアツーピアオーバーレイネットワークから取得された公開鍵を使用して、前記署名された認証データを確認することと
を行うようにさらに適合される、請求項19に記載の検証ピアノード。
【請求項２１】
前記処理回路に結合された記憶媒体をさらに備え、前記記憶媒体が、前記グループメンバーピアノードが前記グループのメンバーとしてアクセスすることを要求しているデータオブジェクトを含む、請求項19に記載の検証ピアノード。
【請求項２２】
検証ピアノード内で動作可能な方法であって、
グループのメンバーとしての認証を求めるグループメンバーピアノードからピア固有のグループ証明書を受信するステップであって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まない、受信するステップと、
前記グループ管理者ピアノードのノード証明書から、前記グループ管理者ピアノードに関連付けられた公開鍵を取得するステップであって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、取得するステップと、
前記グループ管理者ピアノードの前記秘密鍵による署名を含むグループトークンをピアツーピアオーバーレイネットワークから取得するステップであって、前記グループトークンが、前記グループ識別情報によって識別されたデータオブジェクトとして、前記ピアツーピアオーバーレイネットワークに記憶される、取得するステップと、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記グループトークンの前記署名を確認して、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを検証するステップと、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記ピア固有のグループ証明書を確認するステップと
を含む、
方法。
【請求項２３】
前記グループメンバーピアノードに関連付けられた秘密鍵によって署名された認証データを、前記グループメンバーピアノードから受信するステップと、
前記グループメンバーピアノードに関連付けられ、前記ピア固有のグループ証明書から、または前記ピアツーピアオーバーレイネットワークから取得された公開鍵を使用して、前記署名された認証データを確認するステップと
をさらに含む、請求項22に記載の方法。
【請求項２４】
前記グループメンバーピアノードから、前記検証ピアノードに記憶されたデータオブジェクトにアクセスする要求を受信するステップ
をさらに含み、前記データオブジェクトへのアクセスがグループメンバーに限定された、請求項22に記載の方法。
【請求項２５】
グループのメンバーとしての認証を求めるグループメンバーピアノードからピア固有のグループ証明書を受信するための手段であって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まない、受信するための手段と、
前記グループ管理者ピアノードのノード証明書から、前記グループ管理者ピアノードに関連付けられた公開鍵を取得するための手段であって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、取得するための手段と、
前記グループ管理者ピアノードの前記秘密鍵による署名を含むグループトークンをピアツーピアオーバーレイネットワークから取得するための手段であって、前記グループトークンが、前記グループ識別情報によって識別されたデータオブジェクトとして、前記ピアツーピアオーバーレイネットワークに記憶される、取得するための手段と、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記グループトークンの前記署名を確認して、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを検証するための手段と、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記ピア固有のグループ証明書を確認するための手段と
を備える、
検証ピアノード。
【請求項２６】
前記グループメンバーピアノードに関連付けられた秘密鍵によって署名された認証データを、前記グループメンバーピアノードから受信するための手段と、
前記グループメンバーピアノードに関連付けられ、前記ピア固有のグループ証明書から、または前記ピアツーピアオーバーレイネットワークから取得された公開鍵を使用して、前記署名された認証データを確認するための手段と
をさらに含む、請求項25に記載の検証ピアノード。
【請求項２７】
検証ピアノード上で動作可能な命令を含むプロセッサ可読記憶媒体であって、前記命令がプロセッサによって実行されるとき、前記プロセッサに、
グループのメンバーとしての認証を求めるグループメンバーピアノードからピア固有のグループ証明書を受信することであって、前記ピア固有のグループ証明書が、グループ識別情報、前記グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、前記ピア固有のグループ証明書の1つまたは複数の構成要素にわたる前記グループ管理者ピアノードの秘密鍵による署名を含むとともに、信用局の秘密鍵による署名を含まない、受信することと、
前記グループ管理者ピアノードのノード証明書から、前記グループ管理者ピアノードに関連付けられた公開鍵を取得することであって、前記ノード証明書が、前記グループ管理者ピアノードに関連付けられた前記公開鍵、前記信用局の識別情報、および前記信用局の秘密鍵による署名を含む、取得することと、
前記グループ管理者ピアノードの前記秘密鍵による署名を含むグループトークンをピアツーピアオーバーレイネットワークから取得することであって、前記グループトークンが、前記グループ識別情報によって識別されたデータオブジェクトとして、前記ピアツーピアオーバーレイネットワークに記憶される、取得することと、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記グループトークンの前記署名を確認して、前記グループ管理者ピアノードが前記ピア固有のグループ証明書を発行するように認可されたことを検証することと、
前記グループ管理者ピアノードに関連付けられた前記公開鍵を使用して前記ピア固有のグループ証明書を確認することと
を行わせる、
プロセッサ可読記憶媒体。
【請求項２８】
前記プロセッサによって実行されるとき、前記プロセッサに、
前記グループメンバーピアノードに関連付けられた秘密鍵によって署名された認証データを、前記グループメンバーピアノードから受信することと、
前記グループメンバーピアノードに関連付けられ、前記ピア固有のグループ証明書から、または前記ピアツーピアオーバーレイネットワークから取得された公開鍵を使用して、前記署名された認証データを確認することと
を行わせる命令をさらに含む、請求項27に記載のプロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示される様々な特徴は、一般に、ピアツーピアオーバーレイネットワークに関し、少なくともいくつかの特徴は、ピアツーピアオーバーレイネットワーク内のデータオブジェクトに対するグループアクセス制御を容易にするためのデバイスおよび方法に関する。
【背景技術】
【０００２】
ピアツーピア(またはp2p)オーバーレイネットワークおよび他の同様のオーバーレイネットワークは、ピア間でタスクまたはワークロードを分割する分散型アプリケーションアーキテクチャを含む。そのようなピアツーピアオーバーレイネットワークは、インターネットプロトコル(IP)を利用するネットワークなどの下位ネットワークの上に構築することができる。
【０００３】
通常、ピアは、アプリケーション内で等しい特権がある、等しい力を有する参加者であり、また、通常、ノードのピアツーピアネットワークを形成するといわれている。様々なピアノードは互いに協調して、サービスの提供とネットワークの維持の両方を行う。ピアノードは、通常、サーバまたは固定型ホストによる中央調整の必要なしに、他のネットワーク参加者に直接利用可能な、処理能力、ディスク記憶容量、またはネットワーク帯域幅などの、それらの資源の一部分をなす。概して、ピアノードは、サーバだけが供給し、クライアントが消費する、従来のクライアントサーバモデルとは対照的に、資源の供給者と消費者の両方となる。
【０００４】
ピアツーピアおよび同様のオーバーレイネットワークは、低コストのスケーラビリティおよびアプリケーションの容易な展開のために、多くの環境において採用することができる。通常、そのようなネットワークは比較的オープンであり、デバイス(すなわち、ノード)が自由に加入および離脱することが可能である。そのようなネットワークのいくつかの実装形態では、ユーザのデータは、ユーザが知っているか、または知らない可能性がある、ネットワーク内のリモートノード上に分散した形で記憶することができる。その結果、一部のユーザは、ユーザのデータが無認可の方式でアクセスされ(たとえば、読まれ、かつ/または修正され)ない保証がない限り、オーバーレイのデータ記憶機能に十分な信頼を有することができない。したがって、データの所有者は、記憶されたデータオブジェクトに誰がアクセスできるかを規定するアクセス制御を指定することが可能であり得る。
【０００５】
従来、ピアツーピアオーバーレイネットワークに記憶された各データオブジェクトは、その特定のデータオブジェクト用のアクセス制御ポリシーを示すそれぞれのアクセス制御リストを有している。たとえば、それぞれのアクセス制御リストは、どのユーザまたはユーザのグループがデータオブジェクトに対する指定されたタイプのアクセスを有するかを示すことができる。しかしながら、効率的なグループベースのアクセス制御を提供することは、グループメンバーシップに基づいてアクセス制御を執行するいかなる中央権限もあるかどうか分からないピアツーピアオーバーレイネットワークにおいては困難である可能性がある。たとえば、中央権限なしで、ピアノードを正当なグループメンバーとして認証することは困難である可能性がある。したがって、ピアツーピアオーバーレイネットワーク内のピアノードの中で、グループメンバーシップを管理および認証するためのシステム、デバイスおよび/または方法が必要である。
【発明の概要】
【課題を解決するための手段】
【０００６】
様々な特徴は、ピアツーピアオーバーレイネットワーク内のグループベースのアクセス制御を容易にするためのピアノードを提供する。1つまたは複数の特徴は、各々が処理回路に結合された通信インターフェースおよび記憶媒体を含むことができる、グループ管理者ピアノードを提供する。通信インターフェースは、ピアツーピアオーバーレイネットワーク上の通信を容易にするように適合することができる。記憶媒体は、グループ管理者ピアノードに関連付けられた秘密鍵と公開鍵のペアを含むことができる。
【０００７】
様々な実装形態によれば、処理回路は、1つまたは複数のピアノードをグループのメンバーとして規定するピアグループを作成するように適合することができる。処理回路はさらに、ピア固有の証明書をグループのメンバーであるグループメンバーピアノードに割り当てることができ、ピア固有の証明書は、グループ内のメンバーシップをピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合され、グループ識別情報、グループメンバーピアノードの識別情報、発行元装置の識別情報、および、ピア固有の証明書の1つまたは複数の構成要素にわたる発行元装置の秘密鍵による署名を含む。
【０００８】
グループ管理者ピアノードにおいて動作可能な方法も提供される。そのような方法の1つまたは複数の実装形態によれば、グループ管理者ピアノードに関連付けられた公開鍵と秘密鍵のペアを取得することができる。ピアグループはピアツーピアオーバーレイネットワーク内で作成することができ、ここでグループはグループのメンバーである1つまたは複数のピアノードを規定する。ピア固有の証明書は、グループのメンバーであるグループメンバーピアノードに割り当てることができ、ここでピア固有の証明書は、グループ内のメンバーシップをピアツーピアオーバーレイネットワーク内の他のピアノードに認証するように適合される。ピア固有の証明書は、グループ識別情報、グループメンバーピアノードの識別情報、発行元装置の識別情報、および、ピア固有の証明書の1つまたは複数の構成要素にわたる発行元装置の秘密鍵による署名を含むことができる。
【０００９】
少なくとも1つの他の特徴は、各々が処理回路に結合された通信インターフェースおよび記憶媒体を含むことができる、グループメンバーピアノードを提供する。通信インターフェースは、ピアツーピアオーバーレイネットワーク上の通信を容易にするように適合することができる。記憶媒体は、グループメンバーピアノードに関連付けられた秘密鍵と公開鍵のペアを含むことができる。
【００１０】
様々な実装形態によれば、処理回路は、通信インターフェースを介して、ピア固有のグループ証明書を受信するように適合することができる。ピア固有のグループ証明書は、グループ管理者ピアノードからグループメンバーピアノードに発行することができ、グループ識別情報、グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノードの秘密鍵による署名を含むことができる。処理回路はさらに、通信インターフェースを介して、検証ピアノードにピア固有のグループ証明書を送信することができる。処理回路はまた、通信インターフェースを介して、検証ピアノードに認証データを送信することができる。認証データは、グループメンバーピアノードに関連付けられた秘密鍵を使用して署名することができる。
【００１１】
グループメンバーピアノードにおいて動作可能な方法も提供される。そのような方法の1つまたは複数の実装形態によれば、グループメンバーピアノードに関連付けられた公開鍵と秘密鍵のペアを取得することができる。グループ管理者ピアノードからグループメンバーピアノードに発行されたピア固有のグループ証明書を受信することができる。ピア固有のグループ証明書は、グループ識別情報、グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノードの秘密鍵による署名を含むことができる。ピア固有のグループ証明書は、検証ピアノードに送信されてグループメンバーピアノードをグループメンバーとして認証することができ、ここでピア固有のグループ証明書は検証ピアノードによって認証されるように適合される。認証データも検証ピアノードに送信することができ、ここで認証データはグループメンバーピアノードに関連付けられた秘密鍵を使用して署名される。
【００１２】
さらなる特徴は、ピアツーピアオーバーレイネットワーク上の通信を容易にするように適合された通信インターフェースと、通信インターフェースに結合された処理回路とを備えることができる検証ピアノードを提供する。様々な実装形態によれば、処理回路は、通信インターフェースを介して、グループのメンバーとしての認証を求めるグループメンバーピアノードから、ピア固有のグループ証明書を受信するように適合することができる。ピア固有のグループ証明書は、グループ識別情報、グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノードの秘密鍵による署名を含むことができる。処理回路は、ピアツーピアオーバーレイネットワークからグループトークンを取得することができる。グループトークンは、グループ管理者ピアノードの秘密鍵による署名を含むことができ、グループ識別情報によって識別されたデータオブジェクトとして、ピアツーピアオーバーレイネットワークに記憶することができる。処理回路は、グループ管理者ピアノードの公開鍵を使用してグループトークンの署名を確認して、グループ管理者ピアノードがピア固有のグループ証明書を発行するように認可されたことを検証することができ、グループ管理者ピアノードに関連付けられた公開鍵を使用してピア固有のグループ証明書を確認することができる。
【００１３】
検証ピアノードにおいて動作可能な方法も提供される。そのような方法の1つまたは複数の実装形態によれば、ピア固有のグループ証明書は、グループのメンバーとしての認証を求めるグループメンバーピアノードから受信することができる。ピア固有のグループ証明書は、グループ識別情報、グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノードの秘密鍵による署名を含むことができる。グループトークンは、ピアツーピアオーバーレイネットワークから取得することができる。グループトークンは、グループ管理者ピアノードの秘密鍵による署名を含むことができ、グループ識別情報によって識別されたデータオブジェクトとして、ピアツーピアオーバーレイネットワークに記憶することができる。グループトークンの署名は、グループ管理者ピアノードの公開鍵を使用して確認されて、グループ管理者ピアノードがピア固有のグループ証明書を発行するように認可されたことを検証することができ、ピア固有のグループ証明書は、グループ管理者ピアノードに関連付けられた公開鍵を使用して確認することができる。
【図面の簡単な説明】
【００１４】
【図１】データオブジェクトをオーバーレイネットワークのノードの間で記憶することができるピアツーピアオーバーレイネットワークを含むネットワークを示すブロック図である。
【図２】少なくとも1つの例により、信用局からピアツーピアオーバーレイネットワークのピアノードにノード証明書を提供するためのプロセスを示す流れ図である。
【図３】サーバまたは固定型ホストによって中央調整されないオーバーレイネットワーク用の、グループ管理およびメンバー認証を容易にするためのネットワーク環境を示すブロック図である。
【図４Ａ】グループメンバーピアノード用のピア固有のグループ証明書を採用する少なくとも1つの実装形態による、グループ管理およびメンバー認証を示す流れ図である。
【図４Ｂ】グループメンバーピアノード用のピア固有のグループ証明書を採用する少なくとも1つの実装形態による、グループ管理およびメンバー認証を示す流れ図である。
【図５Ａ】グループメンバーピアノード用のピア固有のノード証明書を採用する少なくとも1つの実装形態による、グループ管理およびメンバー認証を示す流れ図である。
【図５Ｂ】グループメンバーピアノード用のピア固有のノード証明書を採用する少なくとも1つの実装形態による、グループ管理およびメンバー認証を示す流れ図である。
【図６】少なくとも1つの実装形態による、グループ管理者として採用されたピアノードの選択構成要素を示すブロック図である。
【図７】ピアツーピアオーバーレイネットワーク内のグループメンバーシップ認証を容易にするための、グループ管理者ピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示す流れ図である。
【図８】少なくとも1つの実装形態による、データオブジェクトにアクセスしようとするグループメンバーとして採用されたピアノードの選択構成要素を示すブロック図である。
【図９】ピアツーピアオーバーレイネットワーク内のグループメンバーシップ認証を容易にするための、グループメンバーピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示す流れ図である。
【図１０】少なくとも1つの実装形態による、別のピアノードのグループメンバーシップを検証するために採用されたピアノードの選択構成要素を示すブロック図である。
【図１１】ピアツーピアオーバーレイネットワーク内のグループメンバーシップ認証を容易にするための、検証ピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示す流れ図である。
【発明を実施するための形態】
【００１５】
以下の説明では、記載された実装形態を完全に理解できるように具体的な詳細が与えられる。しかしながら、様々な実装形態が、これらの具体的な詳細なしに実践できることを当業者は理解されよう。たとえば、不要な詳細で実装形態を不明瞭にしないように回路をブロック図で示す場合がある。他の例では、記載された実装形態を不明瞭にしないように、よく知られている回路、構造および技法を詳細に示す場合がある。
【００１６】
「例示的」という言葉は、「代表例、具体例、または例証として働くこと」を意味するために本明細書で使用される。本明細書で「例示的」と記載されたいかなる実装形態または実施形態も、必ずしも他の実施形態または実装形態よりも好ましいかまたは有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、説明された特徴、利点または動作モードを含むことを必要としない。本明細書で使用される「ピアツーピアオーバーレイネットワーク」および「ピアノード」という用語は、広く解釈されるものとする。たとえば、「ピアツーピアオーバーレイネットワーク」は、サーバまたは固定型ホストによって中央調整されず、ピア間でタスクまたはワークロードを分割する分散型アプリケーションアーキテクチャを含む、オーバーレイネットワークを指す場合がある。さらに、「ピアノード」は、ピアツーピアオーバーレイネットワーク上の通信を容易にするデバイスを指す場合がある。「ピアノード」の例には、プリンタ、タブレットコンピュータ、テレビジョン、モバイル電話、携帯情報端末、パーソナルメディアプレーヤ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータなどが含まれ得る。
【００１７】
概要
1つの特徴はピアツーピアオーバーレイネットワーク内のグループアクセス制御を容易にする。グループはピアツーピアオーバーレイネットワーク内のユーザによって形成することができる。グループは、ピアツーピアオーバーレイネットワーク内で識別され、ピアツーピアオーバーレイネットワーク内の他のグループおよび/またはデータオブジェクトから独自であり得るグループ名を与えられる。グループを作成したピアノードまたはユーザであり得るグループ管理者は、グループのメンバーシップを管理することができる。グループ管理者は、ピア固有の証明書を各グループメンバーに割り当てることができる。いくつかの実装形態では、グループ管理者は、ピア固有の証明書自体を発行することによって、ピア固有の証明書を割り当てることができる。他の実装形態では、グループ管理者は、各グループメンバー用のピア固有の証明書を発行するように、信用局に要求することができる。
【００１８】
一特徴によれば、ピア固有の証明書を有する各グループメンバーは、その証明書を使用してそれ自体をグループの正当なメンバーとして認証することができる。そのような認証手順は、オーバーレイネットワーク内のピアノードの間で分散することができる。たとえば、検証ピアノードはグループメンバーからピア固有の証明書を受信することができ、グループメンバーを検証して、グループメンバーが証明書の正当な所有者であることを認証することができる。検証ピアノードは、証明書が発行されたノードの公開鍵を使用してグループメンバーを検証することができ、その公開鍵は証明書内に含まれるか、または証明書内に含まれた公開鍵に関連付けられたピアノードの識別情報から特定することができる。加えて、検証ピアノードは、証明書を発行した装置の公開鍵を使用して証明書自体を検証して、ピア固有のグループ証明書が正しく発行されたことを認証することもできる。
【００１９】
例示的なネットワーク環境
図1は、データオブジェクトをオーバーレイネットワークのノードの間で記憶することができる、サーバまたは固定型ホストによって中央調整されないオーバーレイネットワークを含む、ネットワーク100を示すブロック図である。オーバーレイネットワークは、ピアツーピアオーバーレイネットワーク102を含むことができる。そのようなピアツーピアオーバーレイネットワーク102は、インターネットプロトコルネットワークなどの任意のタイプの下位ネットワークを利用して、オーバーレイネットワーク102上の複数のピアノード104A〜104Fが互いに通信することを可能することができる。下位ネットワークは、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク(たとえば、WWAN、WLAN)、および/または任意の他のタイプのネットワークなどの、任意の数のタイプのネットワークを含むことができる。
【００２０】
ピアノード104A〜104Fは、ピアツーピアオーバーレイネットワーク102を介して通信するように適合された任意のデバイスを含むことができる。そのようなデバイスは、ピアツーピアオーバーレイネットワーク102を介した通信を容易にするように適合されたミドルウェアレイヤを含むことができる。限定ではなく例として、ピアノード104A〜104Fには、プリンタ、タブレットコンピュータ、テレビジョン、モバイル電話、携帯情報端末、パーソナルメディアプレーヤ、ラップトップコンピュータおよびノートブックコンピュータ、ならびに/またはデスクトップコンピュータなどのデバイス、ならびに他のデバイスが含まれ得る。
【００２１】
本明細書に記載された1つまたは複数の実装形態によれば、各ピアノード104A〜104Fは、秘密鍵と公開鍵のペアが提供される。秘密鍵はそれぞれのピアノード104A〜104Fによって秘密に保たれ、それ自体にのみ知られる。公開鍵は他のピアノードに分配することができる。各ピアノード104A〜104Fはさらに、信用局(たとえば、登録サーバ)からノード証明書を取得する。各ノード証明書は、それぞれのピアノードの識別情報および/またはユーザ識別情報、ピアノードの公開鍵、ノード証明書を発行する信用局の識別情報、ならびに信用局による署名を含むことができる。信用局の公開鍵は、信用局によって署名された証明書の確認のためにピアノード104A〜104Fの各々に分配することができる。
【００２２】
図2は、信用局202からピアノード104(たとえば、図1のピアノード104A〜104Fのいずれか)にノード証明書を提供するためのプロセスの少なくとも1つの例を示す流れ図である。204で示されたように、ピアツーピアオーバーレイネットワーク(たとえば、図1のピアツーピアオーバーレイネットワーク102)に加入するピアノード104またはそのユーザは、公開鍵(PbK-Peer)および秘密鍵(PvK-Peer)を含む独自の鍵ペアが提供され得る。他の実装形態では、そのような鍵ペアは信用局202によって発行することができる。206で示されたように、登録サーバなどの信用局202は識別情報(TA-ID)を有し、独自の秘密鍵と公開鍵のペア(PvK-TA、PbK-TA)も有する。
【００２３】
ピアノード104は、ノード証明書を要求する伝送208を信用局202に送信することができる。ピアノード104があらかじめ公開鍵(PbK-Peer)を提供された場合、伝送はピアノードの公開鍵(PbK-Peer)を含むことができる。要求を受信すると、信用局202はピア識別情報(Peer ID)210を生成する。本明細書で使用するピア識別情報は、ピアデバイスの識別情報および/またはピアデバイスのユーザの識別情報を含むことができる。信用局202は、次いでピアノード104用のノード証明書(Node Cert)212を生成でき、ノード証明書をピアノード104に送信する214。ノード証明書は、ピアノード104用のピア識別情報(Peer ID)、ピアノードの公開鍵(PbK-Peer)、信用局の識別情報(TA-ID)、および信用局の秘密鍵による署名(SigPvK-TA)を含む。様々な実装形態によれば、信用局の秘密鍵による署名(SigPvK-TA)は、(図のような)ノード証明書全体の署名、または、ノード証明書に含まれた1つまたは複数の個別のデータピース(または構成要素)の署名を含むことができる。信用局202用の公開鍵(PbK-TA)は、ノード証明書の確認のためにピアツーピアオーバーレイネットワーク上の各ピアノードに分配することができる。
【００２４】
したがって、ノード証明書はピアノード104を認証する際に採用することができる。たとえば、検証ピアノードはピアノード104からノード証明書を受信することができる。証明書に含まれたピアノード104の公開鍵(PbK-Peer)を使用して、検証ピアノードはチャレンジ応答を実行して、ピアノード104がノード証明書の正しい所有者であることを確認することができる。加えて、検証ピアノードは信用局の識別情報(TA-ID)を使用して、信用局202の公開鍵を検索することができる。信用局202の公開鍵を使用して、検証ピアノードは、ノード証明書が信用局202によって発行されたことを示す、ノード証明書の署名(SigPvK-TA)を検証することもできる。
【００２５】
再び図1を参照すると、ピアノード104A〜104Fの各々は、サーバまたは固定型ホストによる中央調整の必要なしに、ピアツーピアオーバーレイネットワーク102を介して他のピアノード104A〜104Fと通信することができる。たとえば、ピアノード104A〜104Fの各々は、それらの資源(たとえば、処理能力、ディスク記憶容量、ネットワーク帯域幅)の一部分を別のピアノードに利用可能にすることができ、中央調整用のサーバまたは固定型ホストなしに別のピアノードの資源の一部分を利用することができる。少なくともいくつかの実装形態では、ピアノード104A〜104Fのうちの少なくともいくつかは、ピアツーピアオーバーレイネットワーク102にデータオブジェクトを記憶することができる。データオブジェクトがピアツーピアオーバーレイネットワーク102に記憶される際に、データオブジェクトへのアクセスが望まれるとき、ピアツーピアオーバーレイネットワーク内のデータオブジェクトを特定するために、データオブジェクトに関連付けられた識別子が採用される。次いで、他のピアノード104A〜104Fのうちの1つにデータオブジェクトを記憶することによって、データオブジェクトはピアツーピアオーバーレイネットワーク102の内部に記憶される。
【００２６】
データオブジェクトの所有者は、ピアツーピアオーバーレイネットワーク102に記憶されたデータオブジェクトに関するアクセス制御を指定することができる。たとえば、ピアノード104Aおよび/またはそのユーザは、ピアツーピアオーバーレイネットワーク102に記憶されたデータオブジェクトにアクセスするように認可される、ピアノードのグループおよび/またはユーザのグループを指定することができる。認可されたピアノードおよび/またはユーザのそのようなグループは、本明細書では全体的にグループと呼ぶ場合がある。
【００２７】
グループ管理およびメンバー認証の容易化
図3を参照すると、サーバまたは固定型ホストによって中央調整されないオーバーレイネットワーク用のグループ管理およびメンバー認証を容易にするためのネットワーク環境が示される。この例では、図1からのピアノード104A〜104Cが例示の目的で使用される。ピアノード104Aおよび/またはそのユーザがグループを指定(または作成)するとき、そのピアノード104Aおよび/またはそのユーザは、ピアツーピアオーバーレイネットワーク102内のグループのメンバーシップを管理することができ、本明細書ではグループ管理者と呼ぶ場合がある。本開示全体にわたって使用するように、グループ管理者ピアノード(たとえば、グループ管理者ピアノード104A)に対する参照は、ピアノードデバイスおよび/またはそのユーザを参照する。一特徴によれば、グループ管理者ピアノード104Aは、グループのメンバーである各ピアノード104および/またはユーザにピア固有の証明書を割り当てることができる。いくつかの実装形態では、ピア固有の証明書は、グループ管理者ピアノード104Aによって発行されたピア固有のグループ証明書を含むことができる。他の実装形態では、ピア固有の証明書は、グループ管理者ピアノード104Aからの認可後、各グループメンバーに対して信用局によって発行されたピア固有のノード証明書を含むことができる。
【００２８】
グループのメンバーであるピアノードおよび/またはユーザ(たとえば、ピアノード104B)は、その後ピアツーピアオーバーレイネットワーク102を介して、記憶されたデータオブジェクトへのアクセスを要求することができる。本明細書で使用するアクセス要求は、限定はしないが、読み取りアクセス、または読み取り/修正アクセス(すなわち、読み取り/書き込みアクセス)を含むアクセスの様々なレベルのうちの1つに対する要求を含む場合がある。グループのメンバーであり、データオブジェクトへのアクセスを要求するピアノードおよび/またはユーザは、本明細書ではグループメンバーピアノード(たとえば、グループメンバーピアノード104B)またはアクセスピアノードと呼ぶ場合がある。アクセス制御は、グループのメンバーが特定のアクセスを許可されることを指定できるが、グループメンバーピアノード104Bが本当にグループのメンバーであることを検証することが望ましい。
【００２９】
一特徴によれば、グループアクセス制御の執行は、オーバーレイネットワーク内のピアノードの間で分散することができる。たとえば、ピアノードは、グループメンバーピアノード104Bによって主張されたように、グループメンバーピアノード104Bが実際にグループのメンバーであることを検証するために採用することができる。グループメンバーピアノード104Bのグループメンバーシップを認証または検証するそのようなピアノードは、本明細書では検証ピアノード104Cと呼ぶ場合がある。1つまたは複数の実装形態によれば、グループメンバーピアノード104Bは、そのピア固有の証明書(たとえば、ピア固有のグループ証明書、ピア固有のノード証明書)を検証ピアノード104Cに送信することができる。次いで、検証ピアノード104Cは、ピア固有の証明書に含まれるか、またはピア固有の証明書に含まれた他の情報(たとえば、グループメンバーピアノード104Bの識別情報)から特定された公開鍵を使用してグループメンバーピアノード104Bを検証することができる。検証ピアノード104Cは、証明書を発行した装置(たとえば、ピア固有のグループ証明書の場合のグループ管理者ピアノード、ピア固有のノード証明書の場合の信用局)の公開鍵を使用して、ピア固有の証明書を検証することもできる。一特徴によれば、検証ピアノード104Cは、グループメンバーピアノード104Bがグループのメンバーであることを単独で検証することができる。すなわち、検証ピアノード104Cは、別のピアノードまたは中央サーバを採用して検証情報を提供することなしに、または1つまたは複数の検証機能を実行することなしに、グループメンバーピアノード104Bのグループメンバーシップを自律的に検証することができる。
【００３０】
グループ管理者ピアノード104A、グループメンバーピアノード104Bおよび検証ピアノード104Cは、図示された実装形態により別個のピアノードとして描写されるが、様々な実装形態では、ピアノードは複数の描写されたピアノードの役割を実行できることに留意されたい。たとえば、グループ管理者ピアノード104Aはまた、データオブジェクトへのアクセスを要求し、検証ピアノード104Cによって検証されるグループメンバーピアノード104Bである場合がある。別の例では、グループ管理者ピアノード104Aは、データオブジェクトへのアクセスを要求しているグループメンバーピアノード104Bを検証するために採用することができ、その場合、グループ管理者ピアノード104Aはまた、検証ピアノード104Cであるはずである。さらに別の例では、グループメンバーピアノード104Bはまた、別のグループメンバーピアノードを検証するために採用されたとき、検証ピアノード104Cとして動作する場合がある。
【００３１】
図4および図5は、本開示の様々な実装形態による、グループ管理およびメンバー認証のいくつかの例を示す流れ図である。最初に(図4Aおよび図4Bを含む)図4を参照すると、グループメンバーピアノード用のピア固有のグループ証明書を採用する少なくとも1つの実装形態による、グループ管理およびメンバー認証を示す流れ図が示される。この例では、図1を参照して記載されたグループ管理者ピアノード104A、グループメンバーピアノード104B、および検証ピアノード104Cが、例示の目的で使用される。
【００３２】
最初に、グループ管理者ピアノードA 104Aが、信用局(たとえば、図2の信用局202)からノード証明書(Node Cert-A)402を取得することができる。ノード証明書402は、ピアノードAの識別情報(Peer-A ID)、ピアノードAの公開鍵(PbK-A)、信用局の識別情報(TA-ID)、および信用局による署名を含み、図2を参照して上述された方式と同様の方式で取得することができる。
【００３３】
404で、ピアノードA 104Aはグループを作成し、そのグループに名前(たとえば、グループX)を与えることができる。グループ名はグループを識別するために使用される独自の名前である。グループ名が独自であることを保証するために、ピアノードA 104Aはグループトークンを生成することができ、ピアツーピアオーバーレイネットワークにグループ名でグループトークンを記憶することができる406。(図4Aでグループトークン408として示された)グループトークンは、任意の特定の名前でピアツーピアオーバーレイネットワークに記憶された唯一のデータオブジェクトが存在できる、一価モデルを使用して記憶することができる。したがって、別のデータオブジェクトまたはグループがすでにグループ名を識別子として使用している場合、繰り返された名前を使用するグループトークン408は、他の同じように命名されたオブジェクトとして、ピアツーピアオーバーレイネットワークによって同じ記憶ピアノードに経路選択されるはずであり、記憶ピアノードにおいて名前衝突をもたらす。そのような衝突が発生したとき、グループ管理者ピアノードA 104Aは、異なるグループ名が選ばれるべきことを通知され得る。名前衝突が発生しなかったとき、グループ管理者ピアノードA 104Aは、選択されたグループ名が独自であることを保証され得る。
【００３４】
グループトークン408は、グループの名称(たとえば、Group-X)、グループ管理者の識別情報、グループのメンバーの識別情報および/または他の情報を含むことができる。グループトークンは、グループ管理者ピアノードA 104Aの秘密鍵を使用して生成された署名(Group-X Token(SigPvK-A))も含むことができる。
【００３５】
作成されたグループおよびピアツーピアオーバーレイネットワークに記憶されたグループトークンを用いて、グループ管理者ピアノードA 104Aは、グループの各メンバー用のピア固有のグループ証明書を生成することができ410、それぞれのピア固有のグループ証明書を各メンバーピアノードに送信することができる412。たとえば、ピア固有のグループ証明書(たとえば、Group-X_Certpeer-B)は、410でピアノードB 104B用に生成され、次いで412でピアノードB 104Bに送信することができる。ピア固有のグループ証明書(Group-X_Certpeer-B)は、グループ名(Group-X)、グループ管理者ピアノードA 104Aの識別情報(Peer-A ID)、および受信ピアノードの識別情報(Peer-B ID)を含むことができる。少なくともいくつかの実装形態によれば、ピア固有のグループ証明書(Group-X_Certpeer-B)は、受信ピアノードの公開鍵(PbK-B)も含むことができる。グループ管理者ピアノードA 104Aはまた、その秘密鍵(SigPvK-A)を使用してピア固有のグループ証明書に署名する。たとえば、ピア固有のグループ証明書は、RSA署名、楕円曲線署名、または他の既知のアルゴリズムなどの署名方式を使用して署名することができる。図4Aは、ピア固有のグループ証明書(Group-X_Certpeer-B)全体の署名を含むものとして秘密鍵(SigPvK-A)による署名を示すが、他の実装形態では、署名(SigPvK-A)は、ピア固有のグループ証明書(Group-X_Certpeer-B)に含まれた個別のデータピースのうちの任意の1つまたは複数の署名を含むことができる。ピアノードB 104Bは、ピア固有のグループ証明書を受信し、414でグループXのメンバーとしてそれ自体を識別する際に将来使用するために記憶することができる。
【００３６】
図4Bを参照すると、グループメンバーピアノードB 104Bがグループメンバーシップを要求するいくつかのデータオブジェクトにアクセスすることを望むとき、ピアツーピアオーバーレイネットワーク内の別のピアノードは、グループ内のグループメンバーピアノードのメンバーシップを検証するために採用することができる。図4に示された例では、ピアノードC 104Cが検証ピアノードとして採用される。検証ピアノードC 104Cは、グループメンバーピアノードB 104Bがアクセスすることを要求しているデータオブジェクトを記憶するピアノードと同じである場合があるか、検証ピアノードC 104Cはネットワーク内の別のピアノードである場合がある。グループメンバーピアノードB 104Bのグループメンバーシップを検証するために、グループメンバーピアノードB 104Bは、ピア固有のグループ証明書(Group-X_Certpeer-B)を検証ピアノードC 104Cに送信することができる。
【００３７】
ピア固有のグループ証明書(Group-X_Certpeer-B)からの情報を採用して、検証ピアノードC 104Cは、ピアノードB 104BがグループXの正当なメンバーであることを認証することができる。たとえば、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bがピア固有のグループ証明書(Group-X_Certpeer-B)の正当な所有者であり、その証明書がグループ管理者ピアノードA 104Aによって正当に発行されたことを確認することができる。
【００３８】
図4Bに示されたように、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bの秘密鍵を使用して署名された1個のデータに対応するデジタル署名を取得して、ピア固有のグループ証明書内の公開鍵またはピア固有のグループ証明書に含まれたピアノードBの識別情報(Peer-B ID)に関連付けられた公開鍵のいずれかに対応する秘密鍵を、グループメンバーピアノードB 104Bが所有することを確認することができる。たとえば、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bにランダムチャレンジを送信することができる418。その秘密鍵を使用して、グループメンバーピアノードB 104Bはランダムチャレンジに署名し、ステップ420で、署名されたランダムチャレンジ(SigPvK-B(Random Challenge))を検証ピアノードC 104Cに送信することができる。次いで、検証ピアノードC 104Cは、ピア固有のグループ証明書(Group-X_Certpeer-B)に含まれたピア固有の公開鍵(PbK-B)を使用して、署名された応答を検証することができる421。
【００３９】
他の実装形態では、検証ピアノードC 104Cは、ピア固有のグループ証明書からのグループメンバーピアノードB 104Bの識別情報(Peer-B ID)を使用して、ピアツーピアオーバーレイネットワークからピア固有の公開鍵(PbK-B)を取得することができる。たとえば、検証ピアノードC 104Cは、グループ証明書からの識別情報Peer-B IDを使用して、グループメンバーピアノードB 104Bから直接公開鍵を取得することができる。他の実装形態では、検証ピアノードC 104Cは識別情報Peer-B IDを使用して、上述のようにその公開鍵を含むピアノードB 104B用のノード証明書を取得することができ、そのノード証明書は信用局によって発行および署名されているのでさらなる信用も提供する。
【００４０】
検証ピアノードC 104Cはまた、グループ管理者ピアノードA 104Aが本当にグループ管理者であることを確認することができ、ならびにピア固有のグループ証明書の署名は、その証明書がグループ管理者ピアノードA 104Aによって署名されたことを確認することができる。たとえば、検証ピアノードC 104Cは、グループ管理者ピアノードA 104A用のノード証明書(Node Cert-A)を取得することができ422、その証明書は信用局による署名(SigPvK-TA)から認証することができる。少なくとも1つの例では、検証ピアノードC 104Cは、ピア固有のグループ証明書(Group-X_Certpeer-B)からのグループ管理者ピアノードの識別情報(Peer-A ID)を使用して、グループ管理者ピアノード104A用のノード証明書(Node Cert-A)を検索することができる。グループ管理者の識別情報がピア固有のグループ証明書に含まれていない場合がある少なくとも別の例では、検証ピアノードC 104Cは、グループ管理者の識別情報を発見するために、グループ名(Group-X)を使用してピアツーピアオーバーレイネットワークからグループトークンを取得することができる。
【００４１】
検証ピアノードC 104Cがグループトークンにまだアクセスしていなかった場合、グループトークンはピアツーピアオーバーレイネットワークから検索することができ424、ノード証明書(Node Cert-A)からのグループ管理者ピアノードA 104Aの公開鍵(PbK-A)は、グループトークンの署名を確認して、ピアノードA 104Aがグループ管理者であり、ピア固有のグループ証明書を発行し、かつ/またはそれに署名するように認可されていることを確認するために使用することができる426。グループ管理者ピアノードA 104Aのノード証明書(Node Cert-A)からの公開鍵(PbK-A)を使用して、検証ピアノードC 104Cは、ピア固有のグループ証明書(Group-X_Certpeer-B)に含まれた署名(SigPvK-A)を確認することもできる428。
【００４２】
グループメンバーピアノードB 104Bがピア固有のグループ証明書(Group-X_Certpeer-B)の正当な所有者であること、およびその証明書がグループ管理者ピアノードA 104Aによって正当に発行されたことを、検証ピアノードC 104Cが首尾よく確認した場合、グループメンバーピアノードB 104Bのグループメンバーシップが確認され430、検証ピアノードC 104Cは要求されたデータオブジェクトへのアクセスを許可することができる432。確認ステップのいずれかが失敗した場合、グループメンバーピアノードB 104Bのグループメンバーシップは確立されず、データオブジェクトへのアクセスは拒否される可能性がある。
【００４３】
少なくともいくつかの実装形態によれば、検証ピアノードC 104Cは、同じグループの他のメンバーを将来確認するためのグループ名とともに、グループ管理者ピアノードA 104Aの識別情報(Peer-A ID)および公開鍵(PbK-A)をキャッシュすることができる。図4を参照して記載された実装形態では、グループメンバーシップ管理とピア固有の証明書発行のどちらも、グループ管理者ピアノードによって実行される。したがって、信用局はグループ管理プロセスに関与しないが、ノード証明書を様々なピアノードに発行することにより信用のさらなるレイヤを提供することに関与し、本明細書で述べたように、ノード証明書は公開鍵および識別情報を確認するために使用することができる。
【００４４】
次に(図5Aおよび図5Bを含む)図5を参照すると、グループメンバーピアノード用のピア固有のノード証明書を採用する少なくとも1つの実装形態による、グループ管理およびメンバー認証を示す流れ図が示される。この例では、信用局はピア固有の証明書をグループメンバーに発行することを担当し、グループアクセス制御の執行は、依然としてピアツーピアオーバーレイネットワークのすべてのピアノードの間で分散される。図示されたように、図1を参照して記載されたグループ管理者ピアノードA 104A、グループメンバーピアノードB 104B、および検証ピアノードC 104C、ならびに図2を参照して記載された信用局202が、例示の目的で使用される。図5に示された実装形態では、ピア固有の証明書自体を生成する代わりに、グループ管理者ピアノードA 104Aは、各グループメンバー用のピア固有のノード証明書を生成する信用局202と通信する。
【００４５】
最初に図5Aを参照すると、信用局202から、グループ管理者ピアノードA 104Aはノード証明書(Node Cert-A)を取得することができ502、ピアノードB 104Bはノード証明書(Node Cert-B)を取得することができる504。ピアノードA用のノード証明書は、ピアノードAの識別情報(Peer-A ID)、ピアノードAの公開鍵(PbK-A)、信用局の識別情報(TA-ID)、および信用局202による署名(SigTA)を含む。同様に、ピアノードB用のノード証明書は、ピアノードBの識別情報(Peer-B ID)、ピアノードBの公開鍵(PbK-B)、信用局の識別情報(TA-ID)、および信用局202による署名(SigTA)を含む。それぞれのノード証明書は、図2を参照して記載された方式と同様の方式で取得することができる。
【００４６】
506で、ピアノードA 104Aはグループを作成し、そのグループに名前(たとえば、グループX)を与えることができる。グループ名はグループを識別するために使用される独自の名前である。この例では、グループ管理者ピアノードA 104Aは、信用局202にグループ名でグループを登録する508。グループ名の独自性は信用局202によってチェックされ保証される。信用局202は、すべてのグループ名およびグループごとのグループ管理者の識別情報の記録を維持することができる。いくつかの実装形態では、信用局202によるグループの登録は、ピアツーピアオーバーレイネットワークにグループトークンを記憶することとも連携して使用することができ、その場合、図4を参照して記載されたように、信用局202は、オーバーレイに記憶された情報を確認することによって、グループ名の独自性を確認することができる。
【００４７】
ピアノードまたはそのユーザがグループに加入することを望むとき、要求をグループ管理者に送信することができる。たとえば、ピアノードB 104BがグループXに加入することを望む場合、グループXに加入する要求510をグループ管理者ピアノードA 104Aに送信することができる。グループXに加入する要求は、ピアノードB 104B用のノード証明書(Node Cert-B)を含む。グループ管理者ピアノードA 104Aは、要求を承認または拒否することができる。グループXに加入する要求が承認された場合、グループ管理者ピアノードA 104Aは、ピアノードB 104B用のピア固有の証明書を割り当てる。たとえば、グループ管理者ピアノードA 104Aは、ピアノードB 104BをグループXのメンバーとして加え、ピアノードB 104Bにピア固有のノード証明書を発行するように信用局202に求める要求512を、信用局202に送信することによって、ピア固有の証明書を割り当てることができる。ピアノードB 104Bを加える要求は、ピアノードB 104B用のノード証明書(Node Cert-B)を信用局202に転送することを含む場合がある。
【００４８】
グループ管理者ピアノードA 104Aから要求を受信すると、信用局202は、グループ管理者ピアノードA 104A用のノード識別情報(Peer-A ID)を認証し、ノード識別情報(Peer-A ID)がそのグループ記録の中のグループ管理者の識別情報と一致することを確認する514。確認が成功した場合、信用局202は、新しいノード証明書(New Node Cert-B)をピアノードB 104Bに発行する516。新しいノード証明書は、古い証明書(Node Cert-B)に存在したすべての情報に加えて、ピアが最近加入したグループ名を含む。たとえば、新しいノード証明書(New Node Cert-B)は、ピアノードBの識別情報(Peer-B ID)、ピアノードBの公開鍵(PbK-B)、信用局の識別情報(TA-ID)、および信用局202による署名(SigTA)、ならびに、ピアノードB 104BがグループGroup-Xのメンバーであることを示すグループ名(Group-X)を含む。新しいノード証明書(New Node Cert-B)は、信用局202から直接、またはグループ管理者ピアノードA 104Aを経由して、ピアノードB 104Bに送信することができる。本明細書では、グループメンバーシップを示す新しいノード証明書は、ピア固有のノード証明書と呼ぶ場合もある。
【００４９】
図5Bを参照すると、ピアノードB 104Bが、グループ(たとえば、Group-X)内のメンバーシップを要求するいくつかのデータオブジェクトにアクセスすることを望むとき、ピアツーピアオーバーレイネットワーク内の別のピアノードは、グループ内のグループメンバーピアノードのメンバーシップを検証するために採用することができる。図5に示された例では、ピアノードC 104Cが検証ピアノードとして採用される。ピアノードA 104AおよびピアノードB 104Bが引き続き図5Bに示されたが、図5Aに示された信用局202が図5Bに示されていないことを、明確にするために留意されたい。円形の「A」および円形の「B」は、ピアノードA 104AおよびピアノードB 104Bが図5Aから図5Bに続くことを描写するように示される。また注目すべきことに、図5Aに示されなかったピアノードC 104Cが図5Bに示される。
【００５０】
述べたように、図5Bに示された検証ピアノードC 104Cは、グループメンバーピアノードB 104Bがグループのメンバーであることを検証するために採用される。検証ピアノードC 104Cは、グループメンバーピアノードB 104Bがアクセスすることを要求しているデータオブジェクトを記憶するピアノードと同じである場合があるか、検証ピアノードC 104Cはネットワーク内の別のピアノードである場合がある。グループメンバーピアノードB 104Bのグループメンバーシップを検証するために、グループメンバーピアノードB 104Bは、そのピア固有のノード証明書(New Node Cert-B)を検証ピアノードC 104Cに送信することができる518。
【００５１】
ピア固有のノード証明書(New Node Cert-B)からの情報を採用して、検証ピアノードC 104Cは、グループメンバーピアノードB 104BがグループXの正当なメンバーであることを認証することができる。たとえば、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bがピア固有のノード証明書(New Node Cert-B)の正当な所有者であり、その証明書が信用局202によって正しく発行されたことを確認することができる。
【００５２】
グループメンバーピアノードB 104Bがピア固有のノード証明書(New Node Cert-B)の正当な所有者であることを確認するために、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bの秘密鍵を使用して署名された1個のデータに対応するデジタル署名を取得することができる。検証ピアノードC 104Cはデジタル署名を使用して、グループメンバーピアノードB 104Bがピア固有のノード証明書(New Node Cert-B)内の公開鍵に対応する秘密鍵を所有することを確認することができる。たとえば、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bにランダムチャレンジ520を送信することができる。その秘密鍵を使用して、グループメンバーピアノードB 104Bはランダムチャレンジに署名し、ステップ522で、署名されたランダムチャレンジ(SigPvK-B(Random Challenge))を検証ピアノードC 104Cに送信することができる。次いで、検証ピアノードC 104Cは、ピア固有の公開鍵(PbK-B)を使用して、署名された応答を検証することができる524。応答が検証された場合、検証ピアノードC 104Cは、グループメンバーピアノードB 104Bがピア固有のノード証明書(New Node Cert-B)に関連付けられた秘密鍵を所有することを保証される。
【００５３】
検証ピアノードC 104Cは、ピア固有のノード証明書(New Node Cert-B)の署名を確認して、その証明書が信用局202によって発行されたことを確認することもできる。たとえば、検証ピアノードC 104Cは、信用局202用の公開鍵(PbK-TA)を検索することができる。いくつかの例では、検証ピアノードC 104Cは、すでに信用局の公開鍵(PbK-TA)のコピーを有している場合があるか、または検証ピアノードC 104Cは、ピア固有のノード証明書(New Node Cert-B)に含まれた信用局202の識別情報(Peer-A ID)を使用して、信用局の公開鍵(PbK-TA)を検索することができる。信用局202用の公開鍵(PbK-TA)を使用して、検証ピアノードC 104Cは、ピア固有のノード証明書(New Node Cert-B)に含まれた署名(SigTA)を確認することができる526。
【００５４】
グループメンバーピアノードB 104Bがピア固有のノード証明書(New Node Cert-B)の正当な所有者であること、およびその証明書が信用局202によって正当に発行されたことを、検証ピアノードC 104Cが首尾よく確認した場合、グループメンバーピアノードB 104Bのグループメンバーシップが確認され528、検証ピアノードC 104Cは要求されたデータオブジェクトへのアクセスを許可することができる530。確認ステップのいずれかが失敗した場合、グループメンバーピアノードB 104Bのグループメンバーシップは確立されず、データオブジェクトへのアクセスは拒否される可能性がある。
【００５５】
例示的なグループ管理者ピアノード
図6は、少なくとも1つの実装形態による、グループ管理者として採用されたピアノード600の選択構成要素を示すブロック図である。グループ管理者ピアノード600は、本明細書ではグループオーナーピアノードと呼ぶ場合もある。ピアノード600は、記憶媒体604および通信インターフェース606に結合された、処理回路602を含むことができる。
【００５６】
処理回路602は、一般に、データを取得し、処理し、かつ/または送信し、データのアクセスおよび記憶を制御し、コマンドを発行し、かつ他の必要な動作を制御するように構成され、少なくとも1つの実施形態では、記憶媒体604などの適切な媒体によって提供された必要なプログラミングを実装するように構成された回路を備えることができる。
【００５７】
記憶媒体604は、プロセッサ実行可能なコードもしくは命令(たとえば、ソフトウェア、ファームウェア)、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび/またはデータを記憶するための1つまたは複数のデバイスを表す場合がある。記憶媒体604は、処理回路602が記憶媒体604から情報を読み取り、かつ記憶媒体604に情報を書き込むことができるように、処理回路602に結合することができる。代替として、記憶媒体604は処理回路602と一体である場合がある。
【００５８】
グループ管理者ピアノード600の記憶媒体604は、そこに記憶された秘密鍵608、公開鍵610およびノード証明書612を含むことができる。秘密鍵608は、従来の署名アルゴリズムを使用して、グループ管理者ピアノード600によって通信されるデータに署名するために採用され、通常、グループ管理者ピアノード600だけに知られる(すなわち、他のピアノードには通信されない)。公開鍵610は他のピアノードに分配され、秘密鍵608で署名されたデータを確認するように働く。
【００５９】
記憶媒体604は、そこに記憶されたグループ作成動作614およびピア固有の証明書割当て動作616をさらに含むことができる。グループ作成動作614は、処理回路602により、たとえばグループ作成者モジュール618に実装されて、グループを作成することができる。ピア固有の証明書割当て動作616は、処理回路602により、たとえば証明書割当て者モジュール620に実装されて、作成されたグループの各メンバーにピア固有の証明書を割り当てることができる。いくつかの実装形態では、ピア固有の証明書割当て動作616は、各グループメンバー用のピア固有のグループ証明書を生成するように適合することができる。他の実装形態では、ピア固有の証明書割当て動作616は、各グループメンバーにピア固有のノード証明書を発行することを信用局に要求するように適合することができる。
【００６０】
通信インターフェース606は、ピアノード600のワイヤレス通信および/または有線通信を容易にするように構成される。たとえば、通信インターフェース606は、ピアツーピアオーバーレイネットワーク内の他のピアノードに対して双方向に情報を通信するように構成することができる。通信インターフェース606はアンテナと結合することができ、ピアツーピアオーバーレイネットワークとのワイヤレス通信用の少なくとも1つの送信機622および/または少なくとも1つの受信機624(たとえば、1つまたは複数の送信機/受信機チェーン)を含むワイヤレストランシーバ回路を含むことができ、かつ/または、ネットワークインターフェースカード(NIC)として、シリアル接続もしくはパラレル接続、ユニバーサルシリアルバス(USB)インターフェース、Firewireインターフェース、Thunderboltインターフェース、またはパブリックネットワークおよび/またはプライベートネットワークに対して通信するための任意の他の適切な構成を含むことができる。
【００６１】
グループ管理者として実装されたピアノード600の1つまたは複数の特徴によれば、処理回路602は、図3〜図5を参照して本明細書に上記で記載された様々なグループ管理者ピアノード(たとえば、グループ管理者ピアノード104A)に関係するプロセス、機能、ステップおよび/またはルーチンのいずれかまたはすべてを実行するように適合することができる。処理回路602に関して本明細書で使用する「適合される」という用語は、様々な特徴による特定のプロセス、機能、ステップ、および/またはルーチンを実行するように、構成、採用、実装、またはプログラムされることのうちの1つまたは複数が行われる処理回路602を指す場合がある。
【００６２】
図7は、グループ管理者ピアノード600などのピアノードで動作可能な方法の少なくとも1つの実装形態の一例を示す流れ図である。図6と図7の両方を参照すると、ステップ702でピアノードは公開鍵と秘密鍵のペアを取得することができる。たとえば、ピアノード600は公開鍵610および秘密鍵608を取得することができる。上述したように、公開鍵610は他のピアノードに分配することができ、秘密鍵608で署名されたデータを確認するように働くことができる。一方、秘密鍵608は、ピアノード600だけに知られる可能性がある。少なくともいくつかの実装形態では、秘密鍵と公開鍵のペアは、たとえば、製造者によりそのような鍵を有するピアノード600を用意することによって取得することができるか、または鍵は従来の鍵生成の技法およびアルゴリズムを使用して、ピアノード600によって生成することができる。
【００６３】
ステップ704でピアグループを作成することができ、ここでグループはグループのメンバーである1つまたは複数のピアノードを規定する。上述したように、1つまたは複数のメンバーピアノードへの参照は、ピアノードおよび/またはユーザを指す場合がある。一例として、処理回路602は、記憶媒体からグループ作成動作614を採用してグループを作成することができる。グループは、グループ名を選択し、1つまたは複数のピアノードをグループのメンバーとして規定することにより、たとえば、処理回路602のグループ作成者モジュール618によって作成することができる。いくつかの実装形態では、処理回路602は、グループ作成動作614の一部としてグループトークンを生成することもでき、ここでグループトークンは、グループ識別情報によって識別されるピアツーピアオーバーレイネットワークに、データオブジェクトとしてピアノード600によって記憶される。すなわち、グループトークンは、グループの名前で、ピアツーピアオーバーレイネットワークにデータオブジェクトとして記憶することができる。グループトークンは、グループ管理者ピアノード600がピア固有のグループ証明書をグループメンバーピアノードに発行するように認可されていることを、ピアツーピアオーバーレイネットワーク内の他のピアノード(たとえば、検証ピアノード)に認証するように適合される。
【００６４】
次いで、グループ管理者ピアノードは、グループのメンバーであるグループメンバーピアノード(たとえば、図3〜図5内のグループメンバーピアノード104B)に、ピア固有の証明書を割り当てることができる706。ピア固有の証明書は、グループ内のメンバーシップを示すように適合され、概して、グループ識別情報、グループメンバーピアノードの識別情報、発行元装置の識別情報、および、ピア固有の証明書の1つまたは複数の構成要素にわたる発行元装置の秘密鍵による署名を含むことができる。いくつかの実装形態では、ピア固有の証明書はグループメンバーピアノードの公開鍵も含むことができる。少なくとも1つの例によれば、処理回路602は、記憶媒体604内のピア固有の証明書割当て動作616を(たとえば、証明書割当て者モジュール620に)実装して、ピア固有の証明書をグループメンバーピアノードに割り当てるように適合することができる。
【００６５】
少なくとも1つの実装形態では、ピア固有の証明書割当て動作616は、処理回路602(たとえば、証明書割当て者モジュール620)に、グループメンバーピアノード用のピア固有のグループ証明書を生成することによってピア固有の証明書を割り当てることをさせるように適合された命令を含むことができる。処理回路602で生成されたピア固有のグループ証明書は、グループ識別情報、グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノード600の秘密鍵608による署名を含むことができる。いくつかの実装形態では、ピア固有のグループ証明書はグループメンバーピアノードの公開鍵も含むことができる。例として、秘密鍵608による署名は、RSA署名アルゴリズムまたは楕円曲線署名アルゴリズムなどの従来の署名方式を採用して、処理回路602によって実行することができる。そのような実装形態では、ピア固有の証明書割当て動作616は、処理回路602に、通信インターフェース606を介してグループメンバーピアノードにピア固有のグループ証明書を送信することをさせるように適合された命令をさらに含むことができる。
【００６６】
少なくとも別の実装形態では、ピア固有の証明書割当て動作616は、処理回路602(たとえば、証明書割当て者モジュール620)に、ピア固有のノード証明書をグループメンバーピアノードに発行する要求を、通信インターフェース606を介して信用局に送信することによって、ピア固有の証明書を割り当てることをさせるように適合された命令を含むことができる。信用局によって発行されたピア固有のノード証明書は、グループ識別情報、グループメンバーピアノードの識別情報、信用局の識別情報、および、ピア固有のノード証明書の1つまたは複数の構成要素にわたる信用局の秘密鍵による署名を含むことができる。ピア固有のノード証明書は、グループメンバーピアノードの公開鍵も含むことができる。
【００６７】
ピア固有の証明書を割り当てられたグループメンバーピアノードは、その後、ピア固有の証明書に含まれるか、もしくはグループメンバーピアノードの識別情報を使用してピアツーピアオーバーレイネットワークから取得されたグループメンバーピアノードの公開鍵を使用して、グループメンバーピアノードを確認することにより、および、ピア固有の証明書内の発行元装置の識別情報に関連付けられた公開鍵を使用して(たとえば、公開鍵610もしくは信用局の公開鍵を使用して)ピア固有の証明書を確認することにより、検証ピアノード(たとえば、図3〜図5の検証ピアノード104C)によって認証することができる。
【００６８】
例示的なグループメンバーピアノード(すなわち、アクセスピアノード)
図8は、少なくとも1つの実装形態による、データオブジェクトにアクセスしようとするグループメンバーとして採用されたピアノード800の選択構成要素を示すブロック図である。グループメンバーピアノード800は、本明細書ではアクセスピアノード800と呼ぶ場合もある。ピアノード800は、記憶媒体804および通信インターフェース806に結合された、処理回路802を含むことができる。
【００６９】
処理回路802は、一般に、データを取得、処理および/または送信し、データのアクセスおよび記憶を制御し、コマンドを発行し、かつ他の必要な動作を制御するように構成され、少なくとも1つの実施形態では、記憶媒体804などの適切な媒体によって提供された必要なプログラミングを実装するように構成された回路を備えることができる。
【００７０】
記憶媒体804は、プロセッサ実行可能なコードもしくは命令(たとえば、ソフトウェア、ファームウェア)、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび/またはデータを記憶するための1つまたは複数のデバイスを表す場合がある。記憶媒体804は、処理回路802が記憶媒体804から情報を読み取り、かつ記憶媒体804に情報を書き込むことができるように、処理回路802に結合することができる。代替として、記憶媒体804は処理回路802と一体である場合がある。
【００７１】
グループメンバーピアノード800の記憶媒体804は、そこに記憶された秘密鍵808および公開鍵810を含むことができる。秘密鍵808は、グループメンバーピアノード800によって通信されるデータに署名するために採用され、通常、グループメンバーピアノード800だけに知られる(すなわち、他のピアノードには通信されない)。公開鍵810は他のピアノードに分配され、秘密鍵808で署名されたデータを確認するように働く。
【００７２】
記憶媒体804は、そこに記憶されたピア固有の証明書812も含む。様々な実装形態によれば、ピア固有の証明書812は、ピア固有のグループ証明書またはピア固有のノード証明書(すなわち、新しいノード証明書)を含むことができる。
【００７３】
通信インターフェース806は、グループメンバーピアノード800のワイヤレス通信および/または有線通信を容易にするように構成される。たとえば、通信インターフェース806は、ピアツーピアオーバーレイネットワーク内の他のピアノードに対して双方向に情報を通信するように構成することができる。通信インターフェース806はアンテナと結合することができ、ピアツーピアオーバーレイネットワークとのワイヤレス通信用の少なくとも1つの送信機814および/または少なくとも1つの受信機816(たとえば、1つまたは複数の送信機/受信機チェーン)を含むワイヤレストランシーバ回路を含むことができ、かつ/または、ネットワークインターフェースカード(NIC)として、シリアル接続もしくはパラレル接続、ユニバーサルシリアルバス(USB)インターフェース、Firewireインターフェース、Thunderboltインターフェース、またはパブリックネットワークおよび/またはプライベートネットワークに対して通信するための任意の他の適切な構成を含むことができる。
【００７４】
グループメンバーピアノード800の1つまたは複数の特徴によれば、処理回路802は、図3〜図5を参照して本明細書に上記で記載された様々なグループメンバーピアノード(たとえば、グループメンバーピアノード104B)に関係するプロセス、機能、ステップおよび/またはルーチンのいずれかまたはすべてを実行するように適合することができる。処理回路802に関して本明細書で使用する「適合される」という用語は、様々な特徴による特定のプロセス、機能、ステップ、および/またはルーチンを実行するように、構成、採用、実装、またはプログラムされることのうちの1つまたは複数が行われる処理回路802を指す場合がある。
【００７５】
図9は、グループメンバーピアノード800などのピアノードで動作可能な方法の少なくとも1つの実装形態の一例を示す流れ図である。図8と図9の両方を参照すると、ステップ902でピアノードは公開鍵と秘密鍵のペアを取得することができる。たとえば、ピアノード800は公開鍵810および秘密鍵808を取得することができる。上述したように、公開鍵810は他のピアノードに分配することができ、従来の署名アルゴリズムを使用して秘密鍵808で署名されたデータを確認するように働くことができる。一方、秘密鍵808は、ピアノード800だけに知られる可能性がある。少なくともいくつかの実装形態では、グループメンバーピアノード800に関連付けられた秘密鍵と公開鍵のペアは、たとえば、製造者によりそのような鍵を有するピアノード800を用意することによって取得することができるか、または、鍵は従来の鍵生成の技法およびアルゴリズムを使用して、ピアノード800によって生成することができる。
【００７６】
ステップ904で、ピア固有の証明書はピアノード800によって受信することができる。たとえば、処理回路802は、通信インターフェース806を介してピア固有の証明書812を受信することができる。ピア固有の証明書812は、ピアツーピアオーバーレイネットワーク内の他のピアノード(たとえば、検証ピアノード)にグループ内のメンバーシップを示すように適合される。ピア固有の証明書812は、概して、グループ識別情報、グループメンバーピアノード800の識別情報、発行元装置の識別情報、および、ピア固有の証明書812の1つまたは複数の構成要素にわたる発行元装置の秘密鍵による署名を含むことができる。ピア固有の証明書812は、公開鍵810をさらに含むことができる。いくつかの実装形態では、ピア固有の証明書812は、ピアノード800からグループ管理者ピアノードに送信された要求に応答して受信することができる。
【００７７】
少なくとも1つの実装形態では、ピア固有の証明書812は、グループ管理者ピアノードから発行されたピア固有のグループ証明書を含むことができる。そのようなピア固有のグループ証明書は、グループ識別情報、グループメンバーピアノード800の識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノードの秘密鍵による署名を含むことができる。ピア固有のグループ証明書は公開鍵810も含むことができる。ピア固有の証明書812がピア固有のグループ証明書を含む実装形態では、ピア固有のグループ証明書に含まれたグループ識別情報は、ピアツーピアオーバーレイネットワークに記憶されたグループトークンを、グループ識別情報によって識別されたデータオブジェクトとして特定するように適合することができる。本明細書で述べたように、グループトークンは、グループ管理者ピアノードがピア固有のグループ証明書を発行および署名するように認可されたことを認証するように適合することができる。
【００７８】
別の実装形態では、ピア固有の証明書812は、信用局から発行されたピア固有のノード証明書(または新しいノード証明書)を含むことができる。そのようなピア固有のノード証明書(または新しいノード証明書)は、グループ識別情報、グループメンバーピアノード800の識別情報、ピア固有のノード証明書を発行した信用局の識別情報、および、ピア固有のノード証明書の1つまたは複数の構成要素にわたる信用局の秘密鍵による署名を含むことができる。ピア固有のノード証明書は公開鍵810も含むことができる。ピア固有のノード証明書(または新しいノード証明書)を採用する実装形態では、ピア固有のノード証明書(または新しいノード証明書)は、ピアノード800の記憶媒体804に記憶できる以前受信されたノード証明書と置き換えることができる。
【００７９】
ピアノード800は、その後ピア固有の証明書を採用して、それ自体をグループのメンバーとして認証することができる。それに応じて、ステップ906で、グループメンバーピアノード800は、ピア固有の証明書を検証ピアノード(図3〜図5内の検証ピアノード104C)に送信して、それ自体をグループメンバーとして認証することができる。たとえば、処理回路802は、通信インターフェース806を介して検証ピアノードに伝送を送信することができ、ここで伝送は、ピア固有の証明書812(たとえば、ピア固有のグループ証明書またはピア固有のノード証明書)を含む。
【００８０】
ステップ908で、ピアノード800は認証データを検証ピアノードに送信することができ、その認証データは秘密鍵808を使用して署名される。たとえば、処理回路802は、RSA署名アルゴリズムまたは楕円曲線署名アルゴリズムなどの従来の署名方式を使用して、認証データに署名することができる。署名された認証データは、通信インターフェース806を介して検証ピアノードに、処理回路802によって送信することができる。
【００８１】
ピアノード800のグループメンバーシップは、ピア固有の証明書またはピアツーピアネットワークのいずれかから取得された公開鍵810を使用してピアノード800を確認して、署名された認証データを検証することにより、検証ピアノードによって認証することができる。加えて、検証ピアノードは、発行元装置の識別情報に関連付けられた公開鍵を採用することにより(たとえば、グループ管理者ピアノードの公開鍵または信用局の公開鍵を使用して)、ピアノード800によって送信されたピア固有の証明書812を確認することができ、その識別情報はピア固有の証明書812に含まれる。
【００８２】
例示的な検証ピアノード
図10は、少なくとも1つの実装形態による、別のピアノードのグループメンバーシップを検証するために採用されたピアノード1000の選択構成要素を示すブロック図である。検証ピアノード1000は、記憶媒体1004および通信インターフェース1006に結合された、処理回路1002を含むことができる。
【００８３】
処理回路1002は、一般に、データを取得、処理および/または送信し、データのアクセスおよび記憶を制御し、コマンドを発行し、かつ他の必要な動作を制御するように構成され、少なくとも1つの実施形態では、記憶媒体1004などの適切な媒体によって提供された必要なプログラミングを実装するように構成された回路を備えることができる。
【００８４】
記憶媒体1004は、プロセッサ実行可能なコードもしくは命令(たとえば、ソフトウェア、ファームウェア)、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび/またはデータを記憶するための1つまたは複数のデバイスを表す場合がある。記憶媒体1004は、処理回路1002が記憶媒体1004から情報を読み取り、かつ記憶媒体1004に情報を書き込むことができるように、処理回路1002に結合することができる。代替として、記憶媒体1004は処理回路1002と一体である場合がある。
【００８５】
記憶媒体1004は、そこに記憶されたグループメンバー確認動作1008およびピア固有の証明書確認動作1010を含むことができる。グループメンバー確認動作1008とピア固有の証明書確認動作1010のどちらも、たとえば、ピアと証明書の認証者モジュール1012に、処理回路1002によって実装されて、グループメンバーピアノード(たとえば、図3〜図5内のグループメンバーピアノード104B)のグループメンバーシップを検証することができる。少なくともいくつかの実装形態では、記憶媒体1004は、そこに記憶されたピアツーピアオーバーレイネットワークのデータオブジェクト1011を含むことができ、グループメンバーシップの検証は、データオブジェクト1011にアクセスするように認可されたグループのメンバーとして、データオブジェクト1011へのアクセスを要求するグループメンバーピアノードに応答して実行することができる。
【００８６】
通信インターフェース1006は、検証ピアノード1000のワイヤレス通信および/または有線通信を容易にするように構成される。たとえば、通信インターフェース1006は、ピアツーピアオーバーレイネットワーク内の他のピアノードに対して双方向に情報を通信するように構成することができる。通信インターフェース1006はアンテナと結合することができ、ピアツーピアオーバーレイネットワークとのワイヤレス通信用の少なくとも1つの送信機1014および/または少なくとも1つの受信機1016(たとえば、1つもしくは複数の送信機/受信機チェーン)を含むワイヤレストランシーバ回路を含むことができ、かつ/または、ネットワークインターフェースカード(NIC)として、シリアル接続もしくはパラレル接続、ユニバーサルシリアルバス(USB)インターフェース、Firewireインターフェース、Thunderboltインターフェース、またはパブリックネットワークおよび/またはプライベートネットワークに対して通信するための任意の他の適切な構成を含むことができる。
【００８７】
検証ピアノード1000の1つまたは複数の特徴によれば、処理回路1002は、図3〜図5を参照して本明細書に上記で記載された様々な検証ピアノード(たとえば、検証ピアノード104C)に関係するプロセス、機能、ステップおよび/またはルーチンのいずれかまたはすべてを実行するように適合することができる。処理回路1002に関して本明細書で使用する「適合される」という用語は、様々な特徴による特定のプロセス、機能、ステップ、および/またはルーチンを実行するように、構成、採用、実装、またはプログラムされることのうちの1つまたは複数が行われる処理回路1002を指す場合がある。
【００８８】
図11は、ピアツーピアオーバーレイネットワーク内のグループメンバーシップ認証を容易にするための、検証ピアノード1000などのピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示す流れ図である。図10と図11の両方を参照すると、ステップ1102で、ピアノードは、グループのメンバーとしての認証を求めているグループメンバーピアノードからピア固有の証明書を受信することができる。たとえば、処理回路1002は、通信インターフェース1006を介して、グループメンバーピアノード(たとえば、図3〜図5内のグループメンバーピアノード104B)からピア固有の証明書を受信することができる。概して、ピア固有の証明書は、グループ名、グループメンバーピアノードの識別情報、発行元装置の識別情報、および、ピア固有の証明書の1つまたは複数の構成要素にわたる発行元装置の秘密鍵による署名を含むことができる。ピア固有の証明書は、グループメンバーピアノードの公開鍵も含むことができる。
【００８９】
少なくとも1つの実装形態では、受信されたピア固有の証明書は、グループ管理者ピアノードからグループメンバーピアノードに発行されたピア固有のグループ証明書を含む。この場合、ピア固有のグループ証明書は、グループ識別情報、グループメンバーピアノードの識別情報、グループ管理者ピアノードの識別情報、および、ピア固有のグループ証明書の1つまたは複数の構成要素にわたるグループ管理者ピアノードの秘密鍵による署名を含むことができる。ピア固有のグループ証明書は、場合によってはグループメンバーピアノードの公開鍵も含むことができる。
【００９０】
別の実装形態では、受信されたピア固有の証明書は、信用局によって発行されたピア固有のノード証明書を含む。この場合、ピア固有のノード証明書は、グループ識別情報、グループメンバーピアノードの識別情報、信用局の識別情報、および、ピア固有のノード証明書の1つまたは複数の構成要素にわたる信用局の秘密鍵による署名を含むことができる。ピア固有のノード証明書は、場合によってはグループメンバーピアノードの公開鍵も含むことができる。
【００９１】
ステップ1108で(ステップ1104とステップ1106は以下で説明することに留意)、検証ピアノード1000はグループメンバーピアノードから認証データを受信することができ、ここで認証データはグループメンバーピアノードの秘密鍵によって署名される。たとえば、処理回路1002は、通信インターフェース1006を介して、グループメンバーピアノードの秘密鍵によって署名された認証データを含む伝送を受信することができる。
【００９２】
署名された認証データを受信すると、ステップ1110で、検証ピアノード1000は、グループメンバーピアノードに関連付けられた公開鍵を使用して、認証データの署名を確認することができる。グループメンバーピアノードに関連付けられた公開鍵は、それに含まれている場合ピア固有の証明書から、またはピア固有の証明書に含まれたグループメンバーピアノードの識別情報を使用してピアツーピアオーバーレイネットワークから取得することができる。たとえば、グループメンバーピアノードの識別情報は、グループメンバーピアノードに関連付けられた公開鍵を含むグループメンバーピアノードのノード証明書を取得するために使用することができ、ノード証明書が信用局によって発行かつ署名された結果として、ノード証明書はさらに信用できる。たとえば、処理回路1002(たとえば、ピアと証明書の認証者モジュール1012)は、グループメンバー確認動作1008を採用して、ピア固有の証明書からのグループメンバーピアノードの公開鍵による署名を確認することができる。様々な実装形態によれば、グループメンバー確認動作1008は、RSA署名アルゴリズム、楕円曲線署名アルゴリズム、または任意の他の知られた署名アルゴリズムなどの従来の署名アルゴリズムを採用して、署名を確認するように適合することができる。
【００９３】
検証ピアノード1000はまた、ステップ1112で、ピア固有の証明書内で見いだされた発行元装置の識別情報に関連付けられた公開鍵を使用して、ピア固有の証明書を確認することができる。たとえば、処理回路1002は、ピア固有の証明書に含まれた発行元装置の識別情報を使用して、発行元装置の識別情報に関連付けられた公開鍵(たとえば、グループ管理者ピアノードの公開鍵または信用局の公開鍵)を検索することができる。発行元装置の公開鍵を用いて、処理回路1002(たとえば、ピアと証明書の認証者モジュール1012)は、ピア固有の証明書確認動作1010を採用して、ピア固有の証明書に含まれた署名を確認することができる。様々な実装形態によれば、ピア固有の証明書確認動作1010は、RSA署名アルゴリズム、楕円曲線署名アルゴリズム、または任意の他の知られた署名アルゴリズムなどの従来の署名アルゴリズムを使用して、署名を確認するように適合することができる。
【００９４】
ピア固有のグループ証明書を採用する実装形態では、検証ピアノード1000は、任意選択のステップ1104に示されたように、ピアツーピアオーバーレイネットワークからグループトークンを取得することができる。たとえば、処理回路1002は、ピア固有のグループ証明書内のグループ識別情報を採用して、グループ識別情報によって識別されたデータオブジェクトとして、ピアツーピアオーバーレイネットワークの内部に記憶されたグループトークンを取得することができる。前述のように、グループトークンは、グループ管理者ピアノードの秘密鍵による署名を含む。したがって、検証ピアノード1000は、任意選択のステップ1106に示されたように、グループ管理者ピアノードの公開鍵を使用してグループトークンの署名を確認して、グループ管理者ピアノードがグループ管理者であり、かつ/またはピア固有のグループ証明書を発行するように認可されたことを検証することができる。
【００９５】
さらに、ピア固有のグループ証明書を採用する実装形態では、検証ピアノード(たとえば、処理回路1002)は、ピアツーピアオーバーレイネットワークからグループ管理者ピアノードのノード証明書を取得することによって、グループ管理者ピアノードの公開鍵を検索することができる。本明細書で述べたように、ピアノード用のノード証明書は、そのそれぞれのピアノード用の公開鍵を含み、信用局によって署名される。
【００９６】
グループ管理者ピアノードと信用局が個別のデバイスとして本明細書に記載されたが、グループ管理者と信用局の役割は完全に論理的であり得ることに留意されたい。したがって、少なくともいくつかの実装形態では、グループ管理者と信用局は、同じ物理デバイスに存在する2個のコードを備えることができる。そのような実装形態では、グループ管理者と信用局の間の通信および認証は簡略化することができ、プログラミングAPI(アプリケーションプログラミングインターフェース)に依存する可能性がある。
【００９７】
さらに、本開示におけるグループ概念は、ピアツーピアオーバーレイネットワーク内のサービスにマップすることができ、ここで各サービスプロバイダはグループ管理者として機能することができ、ここですべてのサービスプロバイダにサービスする1つまたは複数の信用局が存在する場合がある。そのような実装形態では、サービスプロバイダはグループに加入する前に各ピアノードから料金を要求する場合がある。信用局はまた、各サービスプロバイダと特定の業務協定を有する企業体によって動作することができる。
【００９８】
図1、図2、図3、図4、図5、図6、図7、図8、図9、図10および/または図11に示された構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能に再構成され、かつ/もしくは組み合わされ、または、いくつかの構成要素、ステップ、または機能で具現化することができる。本開示の範囲から逸脱することなく、さらなる要素、構成要素、ステップ、および/または機能を追加することもできる。図1、図3、図6、図8および/または図10に示された装置、デバイス、および/または構成要素は、図2、図4、図5、図7、図9および/または図11に記載された方法、特徴、またはステップのうちの1つまたは複数を実行するように構成することができる。本明細書に記載された新規のアルゴリズムはまた、効率的にソフトウェアに実装することができるか、かつ/またはハードウェアに埋め込むことができる。
【００９９】
また、少なくともいくつかの実装形態が、フローチャート、流れ図、構造図、またはブロック図として描写されたプロセスとして記載されていることに留意されたい。フローチャートは動作を逐次プロセスとして記載できるが、動作の多くは並行してまたは同時に実行することができる。加えて、動作の順序は並び替えることができる。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応する場合がある。プロセスが関数に対応するとき、プロセスの終了は、呼出し関数またはメイン関数への関数のリターンに対応する。
【０１００】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装することができる。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージなどの機械可読媒体に記憶することができる。プロセッサは必要なタスクを実行することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組合せを表す場合がある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合することができる。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送などを含む、任意の適切な手段を介して、パス、転送、または伝送することができる。
【０１０１】
本明細書に記載された処理回路602、802および1002は、一般に、データを取得、処理および/または送信し、データのアクセスおよび記憶を制御し、コマンドを発行し、かつ他の必要な動作を制御するように構成される。少なくとも1つの実施形態では、そのような処理回路は、記憶媒体(たとえば、記憶媒体604、804、1004)などの適切な媒体によって提供された必要なプログラミングを実装するように構成された回路を備えることができる。たとえば、処理回路は、たとえば、ソフトウェア命令および/またはファームウェア命令を含む実行可能命令を実行するように構成された、プロセッサ、コントローラ、複数のプロセッサおよび/もしくは他の構造、ならびに/またはハードウェア回路のうちの1つまたは複数として実装することができる。処理回路の実施形態には、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理構成要素、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または本明細書に記載された機能を実行するように設計されたそれらの任意の組合せが含まれ得る。汎用プロセッサはマイクロプロセッサである場合があるが、代替としてプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械である場合がある。プロセッサはまた、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成などの、コンピューティング構成要素の組合せとして実装することができる。処理回路のこれらの例は説明のためであり、本開示の範囲内の他の適切な構成も考えられる。
【０１０２】
本明細書に記載された記憶媒体604、804および1004は、プロセッサ実行可能なコードもしくは命令(たとえば、ソフトウェア、ファームウェア)、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび/またはデータを記憶するための1つまたは複数のデバイスを各々表す場合がある。記憶媒体は、汎用プロセッサまたは専用プロセッサによってアクセスできる任意の利用可能な媒体である場合がある。限定ではなく例として、記憶媒体には、リードオンリメモリ(たとえば、ROM、EPROM、EEPROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の非一時的コンピュータ可読媒体が含まれ得る。
【０１０３】
「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語には、限定はしないが、ポータブルまたは固定のストレージデバイス、光ストレージデバイス、ならびに命令および/またはデータを記憶、含有または搬送することができる様々な他の非一時的媒体が含まれ得る。したがって、本明細書に記載された様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」に記憶され、1つまたは複数のプロセッサ、機械、および/またはデバイスによって実行され得る命令および/またはデータによって、部分的にまたは完全に実装することができる。
【０１０４】
本明細書で開示された例に関して記載された方法またはアルゴリズムは、ハードウェアに、プロセッサによって実行可能なソフトウェアモジュールに、または両方の組合せに、処理ユニット、プログラミング命令、または他の指示の形態で直接具現化することができ、単一のデバイスに含むことができるか、または複数のデバイスにわたって分散することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に常駐することができる。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、かつその記憶媒体に情報を書き込むことができるように、プロセッサに結合することができる。代替として、記憶媒体はプロセッサと一体である場合がある。
【０１０５】
さらに、本明細書で開示された実施形態に関して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上述された。そのような機能をハードウェアとして実装するか、またはソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【０１０６】
本明細書に記載された実施形態の様々な特徴は、本開示の範囲から逸脱することなく、様々なシステムに実装することができる。上記の実施形態は例にすぎず、本開示を限定するものと解釈すべきでないことに留意されたい。実施形態の説明は例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、修正形態、および変形形態に容易に適用できることが当業者には明らかであろう。
【符号の説明】
【０１０７】
100  ネットワーク
102  ピアツーピアオーバーレイネットワーク
104  ピアノード
104A  ピアノード(グループ管理者ピアノード)
104B  ピアノード(グループメンバーピアノード)
104C  ピアノード(検証ピアノード)
104D  ピアノード
104E  ピアノード
104F  ピアノード
202  信用局
204  ピア公開鍵(PbK-Peer)およびピア秘密鍵(PvK-Peer)
206  識別情報(TA-ID)および公開鍵(PbK-TA)および秘密鍵(PvK-TA)
208  ノード証明書を要求する
210  ピア識別情報(Peer ID)を生成する
212  ノード証明書(Node Cert)を生成する
214  ノード証明書(Node Cert)を送信する
402  ノード証明書(Node Cert-A)
404  グループ(グループX)を作成する
406  グループトークンを生成および記憶する
408  グループトークン
410  ピア固有のグループ証明書を生成する
412  ピア固有のグループ証明書を送信する
414  ピア固有のグループ証明書を記憶する
416  ピア固有のグループ証明書を送信する
418  ランダムチャレンジを送信する
420  署名されたランダムチャレンジを送信する
421  署名されたランダムチャレンジを検証する
422  ノード証明書(Node Cert-A)を取得する
424  ピアツーピアオーバーレイネットワークからグループトークンを検索する
426  グループトークンの署名を確認する
428  ピア固有のグループ証明書(Group-X_CertPeer-B)を確認する
430  グループメンバーシップを確認する
432  データオブジェクトへのアクセスを許可する
502  ノード証明書(Node Cert-A)を取得する
504  ノード証明書(Node Cert-B)を取得する
506  グループ(グループX)を作成する
508  グループ(グループX)を登録する
510  グループ(グループX)に加入する要求
512  ピアノードBをグループXに加える要求
514  ピアノードAのノード識別情報(Peer-A ID)を認証する
516  新しいノード証明書(New Node Cert-B)を発行する
518  ピア固有のノード証明書(New Node Cert-B)を送信する
520  ランダムチャレンジを送信する
522  署名されたランダムチャレンジを送信する
524  署名されたランダムチャレンジを検証する
526  ピア固有のノード証明書(New Node Cert-B)を確認する
528  グループメンバーシップを確認する
530  データオブジェクトへのアクセスを許可する
600  グループ管理者ピアノード
602  処理回路
604  記憶媒体
606  通信インターフェース
608  秘密鍵
610  公開鍵
612  ノード証明書
614  グループ作成動作
616  ピア固有の証明書割当て動作
618  グループ作成者モジュール
620  証明書割当て者モジュール
622  送信機
624  受信機
800  グループメンバーピアノード
802  処理回路
804  記憶媒体
806  通信インターフェース
808  秘密鍵
810  公開鍵
812  ピア固有の証明書
814  送信機
816  受信機
1000  検証ピアノード
1002  処理回路
1004  記憶媒体
1006  通信インターフェース
1008  グループメンバー確認動作
1010  ピア固有の証明書確認動作
1011  データオブジェクト
1012  ピアと証明書の認証者モジュール
1014  送信機
1016  受信機
【図１】
0005944501.tif 000002
【図２】
0005944501.tif 000003
【図３】
0005944501.tif 000004
【図４Ａ】
0005944501.tif 000005
【図４Ｂ】
0005944501.tif 000006
【図５Ａ】
0005944501.tif 000007
【図５Ｂ】
0005944501.tif 000008
【図６】
0005944501.tif 000009
【図７】
0005944501.tif 000010
【図８】
0005944501.tif 000011
【図９】
0005944501.tif 000012
【図１０】
0005944501.tif 000013
【図１１】
0005944501.tif 000014