クライアントノードとグループノードとの間のセッション鍵を確立するための前記クライアントノードにおいて動作可能な方法であって、前記方法は、現在エポックに関連するエポック識別値を取得するステップであって、前記エポック識別値を取得するステップが、ノード実時間に基づいて前記エポック識別値を計算するステップ、または前記エポック識別値を前記グループノードとネゴシエートするステップのうちの1つを含む、取得するステップと、共有秘密鍵と、前記エポック識別値と、前記グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算するステップであって、前記共有秘密鍵が前記クライアントノードと中心ノードとに知られる、計算するステップと、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用して前記セッション鍵を導出するために前記グループノードとの前記セッション鍵確立プロトコルを実行するステップとを含む、方法。前記クライアントノードと前記グループノードと前記中心ノードとの間で時間を大まかに同期させるステップをさらに含み、前記現在エポックに関連する前記エポック識別値を取得するステップは、前記グループノードからグループノード実時間と前記グループノード識別情報とを受信するステップと、前記グループノード実時間をクライアントノード実時間と比較するステップと、前記グループノード実時間が前記クライアントノード実時間の最大時間しきい値差内にあると判断するステップと、前記ノード実時間から前記エポック識別値を計算するステップとを含む、請求項1に記載の方法。前記現在エポックに関連する前記エポック識別値を取得するステップは、前記グループノードからグループノードエポック値と前記グループノード識別情報とを受信するステップと、前記グループノードエポック値をクライアントノードエポック値と比較するステップであって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較するステップと、前記エポック識別値を前記グループノードエポック値と前記クライアントノードエポック値とのうちの大きいほうとして計算するステップと、前記計算されたエポック識別値を前記グループノードに送信するステップとを含む、請求項1に記載の方法。前記現在エポックに関連する前記エポック識別値を取得するステップは、前記グループノードにクライアントノードエポック値を送信するステップであって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信するステップと、前記グループノードから前記エポック識別値と前記グループノード識別情報とを受信するステップと、前記受信されたエポック識別値が、送信された前記クライアントノードエポック値に等しいかまたはそれよりも大きいことを検証するステップとを含む、請求項1に記載の方法。鍵検証プロトコルを使用して前記セッション鍵を検証するステップをさらに含む、請求項1に記載の方法。前記グループノードと前記中心ノードとの間の通信リンクが、前記現在エポック中に間欠的にのみ利用可能である、請求項1に記載の方法。前記制限付き鍵がエポック固有である、請求項1に記載の方法。前記制限付き鍵がグループノード固有である、請求項7に記載の方法。前記制限付き鍵が前記中心ノードによって前記グループノードに与えられる、請求項1に記載の方法。前記中心ノードが、障害を受けていないグループノードのリストを維持し、障害を受けたグループノードが前記リストから削除される、請求項1に記載の方法。複数のセッション鍵を導出するために前記制限付き鍵が前記現在エポック中に複数回使用される、請求項1に記載の方法。前記現在エポックは、持続時間が固定でなく、新しいエポックの開始時に満了する、請求項1に記載の方法。前記エポック識別値が、前記中心ノードによって生成される連続整数であり、前記中心ノードによって前記新しいエポックの前記開始時に増分される、請求項12に記載の方法。前記中心ノードが、前記グループノードにコミットメッセージを送信することによって前記現在エポックの開始を示す、請求項1に記載の方法。前記エポック識別値が実時間から導出される、請求項1に記載の方法。前記共有秘密鍵と、前記エポック識別値と、前記グループノード識別情報とを使用して前記制限付き鍵を計算するステップが、暗号ベースのメッセージ認証コード関数、ハッシュベースのメッセージ認証コード関数、または暗号ブロック連鎖メッセージ認証コード関数のうちの1つを使用して実行される、請求項1に記載の方法。前記現在エポック中に前記グループノードとの作成されたセッションごとの前記制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入するステップをさらに含む、請求項1に記載の方法。前記タプルが前記グループノード識別情報と前記制限付き鍵とを含む、請求項17に記載の方法。前記現在エポックが満了したとき、前記キャッシュがフラッシュされる、請求項17に記載の方法。クライアントノードであって、グループノードと通信するように適応された通信インターフェースと、前記通信インターフェースに通信可能に結合された処理回路であって、前記処理回路は、現在エポックに関連するエポック識別値を取得することであって、前記エポック識別値を取得することが、ノード実時間に基づいて前記エポック識別値を計算すること、または前記エポック識別値を前記グループノードとネゴシエートすることのうちの1つを含む、取得することと、共有秘密鍵と、前記エポック識別値と、前記グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算することであって、前記共有秘密鍵が前記クライアントノードと中心ノードとに知られる、計算することと、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用してセッション鍵を導出するために前記グループノードとの前記セッション鍵確立プロトコルを実行することとを行うように適応された、処理回路とを含む、クライアントノード。前記処理回路が、前記クライアントノードと前記グループノードと前記中心ノードとの間で時間を大まかに同期させるようにさらに適応され、前記現在エポックに関連する前記エポック識別値を前記取得することは、前記グループノードからグループノード実時間と前記グループノード識別情報とを受信することと、前記グループノード実時間をクライアントノード実時間と比較することと、前記グループノード実時間が前記クライアントノード実時間の最大時間しきい値差内にあると判断することと、前記ノード実時間から前記エポック識別値を計算することとを前記処理回路に行わせる、請求項20に記載のクライアントノード。前記現在エポックに関連する前記エポック識別値を前記取得することは、前記グループノードからグループノードエポック値と前記グループノード識別情報とを受信することと、前記グループノードエポック値をクライアントノードエポック値と比較することであって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較することと、前記エポック識別値を前記グループノードエポック値と前記クライアントノードエポック値とのうちの大きいほうとして計算することと、前記計算されたエポック識別値を前記グループノードに送信することとを前記処理回路に行わせる、請求項20に記載のクライアントノード。前記現在エポックに関連する前記エポック識別値を前記取得することは、前記グループノードにクライアントノードエポック値を送信することであって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信することと、前記グループノードから前記エポック識別値と前記グループノード識別情報とを受信することと、前記受信されたエポック識別値が、送信された前記クライアントノードエポック値に等しいかまたはそれよりも大きいことを検証することとを前記処理回路に行わせる、請求項20に記載のクライアントノード。クライアントノードであって、現在エポックに関連するエポック識別値を取得するための手段であって、前記エポック識別値を取得することが、ノード実時間に基づいて前記エポック識別値を計算すること、または前記エポック識別値をグループノードとネゴシエートすることのうちの1つを含む、取得するための手段と、共有秘密鍵と、前記エポック識別値と、グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算するための手段であって、前記共有秘密鍵が前記クライアントノードと中心ノードとに知られる、計算するための手段と、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用してセッション鍵を導出するために前記グループノードとの前記セッション鍵確立プロトコルを実行するための手段とを含む、クライアントノード。前記クライアントノードと前記グループノードと前記中心ノードとの間で時間を大まかに同期させるための手段をさらに含み、前記現在エポックに関連する前記エポック識別値を取得するための手段は、前記グループノードからグループノード実時間と前記グループノード識別情報とを受信するための手段と、前記グループノード実時間をクライアントノード実時間と比較するための手段と、前記グループノード実時間が前記クライアントノード実時間の最大時間しきい値差内にあると判断するための手段と、前記ノード実時間から前記エポック識別値を計算するための手段とを含む、請求項24に記載のクライアントノード。前記現在エポックに関連する前記エポック識別値を取得するための手段は、前記グループノードからグループノードエポック値と前記グループノード識別情報とを受信するための手段と、前記グループノードエポック値をクライアントノードエポック値と比較するための手段であって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較するための手段と、前記エポック識別値を前記グループノードエポック値と前記クライアントノードエポック値とのうちの大きいほうとして計算するための手段と、前記計算されたエポック識別値を前記グループノードに送信するための手段とを含む、請求項24に記載のクライアントノード。前記現在エポックに関連する前記エポック識別値を取得するための手段は、前記グループノードにクライアントノードエポック値を送信するための手段であって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信するための手段と、前記グループノードから前記エポック識別値と前記グループノード識別情報とを受信するための手段と、前記受信されたエポック識別値が、送信された前記クライアントノードエポック値に等しいかまたはそれよりも大きいことを検証するための手段とを含む、請求項24に記載のクライアントノード。クライアントノードとグループノードとの間のセッション鍵を確立するための前記クライアントノードにおいて動作可能な1つまたは複数の命令を有するプロセッサ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されたとき、現在エポックに関連するエポック識別値を取得することであって、前記エポック識別値を取得することが、ノード実時間に基づいて前記エポック識別値を計算すること、または前記エポック識別値を前記グループノードとネゴシエートすることのうちの1つを含む、取得することと、共有秘密鍵と、前記エポック識別値と、前記グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算することであって、前記共有秘密鍵が前記クライアントノードと中心ノードとに知られる、計算することと、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用して前記セッション鍵を導出するために前記グループノードとの前記セッション鍵確立プロトコルを実行することとを前記プロセッサに行わせる、プロセッサ可読記憶媒体。前記プロセッサによって実行されたとき、前記クライアントノードと前記グループノードと前記中心ノードとの間で時間を大まかに同期させることを前記プロセッサにさらに行わせる追加の命令を有し、前記現在エポックに関連する前記エポック識別値を取得することは、前記グループノードからグループノード実時間と前記グループノード識別情報とを受信することと、前記グループノード実時間をクライアントノード実時間と比較することと、前記グループノード実時間が前記クライアントノード実時間の最大時間しきい値差内にあると判断することと、前記ノード実時間から前記エポック識別値を計算することとを含む、請求項28に記載のプロセッサ可読記憶媒体。前記現在エポックに関連する前記エポック識別値を取得することは、前記グループノードからグループノードエポック値と前記グループノード識別情報とを受信することと、前記グループノードエポック値をクライアントノードエポック値と比較することであって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較することと、前記エポック識別値を前記グループノードエポック値と前記クライアントノードエポック値とのうちの大きいほうとして計算することと、前記計算されたエポック識別値を前記グループノードに送信することとを含む、請求項28に記載のプロセッサ可読記憶媒体。前記現在エポックに関連する前記エポック識別値を取得することは、前記グループノードにクライアントノードエポック値を送信することであって、前記クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信することと、前記グループノードから前記エポック識別値と前記グループノード識別情報とを受信することと、前記受信されたエポック識別値が、送信された前記クライアントノードエポック値に等しいかまたはそれよりも大きいことを検証することとを含む、請求項28に記載のプロセッサ可読記憶媒体。グループノードとクライアントノードとの間のセッション鍵を確立するための前記グループノードにおいて動作可能な方法であって、前記方法は、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信するステップであって、プロキシトークンの前記第1のセットが、前記クライアントノードに関連するプロキシトークンを含み、前記プロキシトークンがクライアントノード識別情報と制限付き鍵とを含む、受信するステップと、プロキシトークンの前記第1のセットをプロキシトークンの予備セットとして記憶するステップと、前記エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの前記予備セットと交換するステップであって、プロキシトークンの前記予備セットがプロキシトークンの次のアクティブセットになる、交換するステップと、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用して前記セッション鍵を導出するために前記クライアントノードとの前記セッション鍵確立プロトコルを実行するステップとを含む、方法。前記エポックに関連するエポック識別値を取得するステップと、前記エポック識別値に基づいて前記制限付き鍵を取り出すステップとをさらに含む、請求項32に記載の方法。前記エポックに関連する前記エポック識別値を取得するステップは、クライアントノード実時間を受信するステップと、前記クライアントノード実時間をグループノード実時間と比較するステップと、前記グループノード実時間が前記クライアントノード実時間の最大時間しきい値差内にあると判断するステップと、ノード実時間に基づいて前記エポック識別値を計算するステップとを含む、請求項33に記載の方法。前記エポック識別値に基づいて前記制限付き鍵を取り出すステップは、プロキシトークンの前記予備セットが前記エポック識別値に対応するのかプロキシトークンの前記アクティブセットが前記エポック識別値に対応するのかを判断するステップと、プロキシトークンの前記予備セットが前記エポック識別値に関連する場合、プロキシトークンの前記予備セットから前記制限付き鍵を取得するステップと、プロキシトークンの前記アクティブセットが前記エポック識別値に関連する場合、プロキシトークンの前記アクティブセットから前記制限付き鍵を取得するステップとをさらに含む、請求項33に記載の方法。前記中心ノードと前記グループノードと前記クライアントノードとの間で時間を大まかに同期させるステップと、現在時間に関連するエポック識別値を取得するステップと、前記エポック識別値と前記クライアントノード識別情報とに基づいてプロキシトークンの前記第1のセットから前記クライアントノードの前記制限付き鍵を選択するステップとをさらに含む、請求項32に記載の方法。前記エポックに関連するエポック識別値と、プロキシトークンの前記第1のセットとを含む、少なくとも1つのメッセージを前記中心ノードから受信するステップと、前記エポックの前記開始時を示すコミットメッセージを前記中心ノードから受信するステップとをさらに含む、請求項32に記載の方法。前記グループノードと前記中心ノードとの間の通信リンクが、前記エポック中に間欠的にのみ利用可能である、請求項32に記載の方法。中心ノードと通信するように適応された第1の通信インターフェースと、クライアントノードと通信するように適応された第2の通信インターフェースと、前記第1の通信インターフェースと前記第2の通信インターフェースとに通信可能に結合された処理回路であって、前記処理回路は、前記中心ノードからエポックに関連するプロキシトークンの第1のセットを受信することであって、プロキシトークンの前記第1のセットが、前記クライアントノードに関連するプロキシトークンを含み、前記プロキシトークンがクライアントノード識別情報と制限付き鍵とを含む、受信することと、プロキシトークンの前記第1のセットをプロキシトークンの予備セットとして記憶することと、前記エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの前記予備セットと交換することであって、プロキシトークンの前記予備セットがプロキシトークンの次のアクティブセットになる、交換することと、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用してセッション鍵を導出するために前記クライアントノードとの前記セッション鍵確立プロトコルを実行することとを行うように適応された、処理回路とを含む、グループノード。中心ノードからエポックに関連するプロキシトークンの第1のセットを受信するための手段であって、プロキシトークンの前記第1のセットが、クライアントノードに関連するプロキシトークンを含み、前記プロキシトークンがクライアントノード識別情報と制限付き鍵とを含む、受信するための手段と、プロキシトークンの前記第1のセットをプロキシトークンの予備セットとして記憶するための手段と、前記エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの前記予備セットと交換するための手段であって、プロキシトークンの前記予備セットがプロキシトークンの次のアクティブセットになる、交換するための手段と、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用してセッション鍵を導出するために前記クライアントノードとの前記セッション鍵確立プロトコルを実行するための手段とを含む、グループノード。グループノードとクライアントノードとの間のセッション鍵を確立するための前記グループノードにおいて動作可能な1つまたは複数の命令を有するプロセッサ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されたとき、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信することであって、プロキシトークンの前記第1のセットが、前記クライアントノードに関連するプロキシトークンを含み、前記プロキシトークンがクライアントノード識別情報と制限付き鍵とを含む、受信することと、プロキシトークンの前記第1のセットをプロキシトークンの予備セットとして記憶することと、前記エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの前記予備セットと交換することであって、プロキシトークンの前記予備セットがプロキシトークンの次のアクティブセットになる、交換することと、セッション鍵確立プロトコルにおいて前記制限付き鍵をマスター鍵として使用して前記セッション鍵を導出するために前記クライアントノードとの前記セッション鍵確立プロトコルを実行することとを前記プロセッサに行わせる、プロセッサ可読記憶媒体。第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードにおいて動作可能な方法であって、前記方法は、第2のグループノードが障害を受けたと判断するステップであって、前記第1のグループノードが第1のグループノード識別子を有する、判断するステップと、障害を受けていないグループノードのリストから前記障害を受けた第2のグループノードを削除するステップであって、障害を受けていないグループノードの前記リストが、前記中心ノードに記憶され、前記第1のグループノードを含む、削除するステップと、障害を受けていないグループノードの前記リスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信するステップであって、前記複数のプロキシトークンが、前記第1のグループノードに関連し前記第1のグループノードに送信される第1のプロキシトークンを含み、前記第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、前記次のエポックが次のエポック識別値に関連し、前記制限付き鍵が、前記次のエポック識別値、前記第1のグループノード識別子、および前記クライアントノードと前記中心ノードとの間で前に確立された共有鍵から計算される、送信するステップとを含む、方法。前記第1のプロキシトークンが、前記次のエポックの開始より前に送信される、請求項42に記載の方法。前記第1のグループノードにコミットメッセージを送信するステップであって、前記コミットメッセージが前記次のエポックの前記開始を示す、送信するステップをさらに含む、請求項43に記載の方法。第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードであって、前記中心ノードは、前記第1のグループノードと通信するように適応された通信インターフェースと、前記通信インターフェースに結合された処理回路であって、第2のグループノードが障害を受けたと判断することであって、前記第1のグループノードが第1のグループノード識別子を有する、判断することと、障害を受けていないグループノードのリストから前記障害を受けた第2のグループノードを削除することであって、障害を受けていないグループノードの前記リストが、前記中心ノードに記憶され、前記第1のグループノードを含む、削除することと、障害を受けていないグループノードの前記リスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信することであって、前記複数のプロキシトークンが、前記第1のグループノードに関連し前記第1のグループノードに送信される第1のプロキシトークンを含み、前記第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、前記次のエポックが次のエポック識別値に関連し、前記制限付き鍵が、前記次のエポック識別値、前記第1のグループノード識別子、および前記クライアントノードと前記中心ノードとの間で前に確立された共有鍵から計算される、送信することとを行うように適応された処理回路とを含む、中心ノード。第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードであって、前記中心ノードは、第2のグループノードが障害を受けたと判断するための手段であって、前記第1のグループノードが第1のグループノード識別子を有する、判断するための手段と、障害を受けていないグループノードのリストから前記障害を受けた第2のグループノードを削除するための手段であって、障害を受けていないグループノードの前記リストが、前記中心ノードに記憶され、前記第1のグループノードを含む、削除するための手段と、障害を受けていないグループノードの前記リスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信するための手段であって、前記複数のプロキシトークンが、前記第1のグループノードに関連し前記第1のグループノードに送信される第1のプロキシトークンを含み、前記第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、前記次のエポックが次のエポック識別値に関連し、前記制限付き鍵が、前記次のエポック識別値、前記第1のグループノード識別子、および前記クライアントノードと前記中心ノードとの間で前に確立された共有鍵から計算される、送信するための手段とを含む、中心ノード。第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードにおいて動作可能な1つまたは複数の命令を有するプロセッサ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されたとき、第2のグループノードが障害を受けたと判断することであって、前記第1のグループノードが第1のグループノード識別子を有する、判断することと、障害を受けていないグループノードのリストから前記障害を受けた第2のグループノードを削除することであって、障害を受けていないグループノードの前記リストが、前記中心ノードに記憶され、前記第1のグループノードを含む、削除することと、障害を受けていないグループノードの前記リスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信することであって、前記複数のプロキシトークンが、前記第1のグループノードに関連し前記第1のグループノードに送信される第1のプロキシトークンを含み、前記第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、前記次のエポックが次のエポック識別値に関連し、前記制限付き鍵が、前記次のエポック識別値、前記第1のグループノード識別子、および前記クライアントノードと前記中心ノードとの間で前に確立された共有鍵から計算される、送信することとを前記プロセッサに行わせる、プロセッサ可読記憶媒体。セッション鍵を確立するプロトコル中に、グループノードは中心ノードと通信する。しかしながら、そのような通信は、間欠的にのみ利用可能であるか、または極めて限られた帯域幅を有し得る、使用上の問題が予期され得る。したがって、グループノードと中心ノードとの間のセッションごとの通信を必要とせずにクライアントノードとグループノードとの間のセッション鍵確立を可能にすることができる装置および方法が必要である。さらに、紛失し、盗まれ、障害を受け、廃棄され、およびまたは故障したグループノードが、単純で実質的に受動的な方法でシステムから隔離され得るシステムが必要である。たとえば、ノードは、メッセージに従うことを信頼される必要がなく、実質的に受動的なシステムでは、技術者が鍵を破壊、削除およびまたは交換するために物理的にノードに行く必要がない。1つの特徴では、クライアントノードとグループノードとの間のセッション鍵を確立するためのクライアントノードにおいて動作可能な方法であって、本方法は、現在エポックに関連するエポック識別値を取得するステップであって、エポック識別値を取得するステップが、ノード実時間に基づいてエポック識別値を計算するステップ、またはエポック識別値をグループノードとネゴシエートするステップのうちの1つを含む、取得するステップと、共有秘密鍵と、エポック識別値と、グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算するステップであって、共有秘密鍵がクライアントノードと中心ノードとに知られる、計算するステップと、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行するステップとを含む、方法が開示される。一実施形態では、本方法は、クライアントノードと、グループノードと、中心ノードとの間で時間を大まかに同期させるステップをさらに含み得、現在エポックに関連するエポック識別値を取得するステップは、グループノードからグループノード実時間とグループノード識別情報とを受信するステップと、グループノード実時間をクライアントノード実時間と比較するステップと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断するステップと、ノード実時間からエポック識別値を計算するステップとを含む。別の実施形態では、現在エポックに関連するエポック識別値を取得するステップは、グループノードからグループノードエポック値とグループノード識別情報とを受信するステップと、グループノードエポック値をクライアントノードエポック値と比較するステップであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較するステップと、エポック識別値をグループノードエポック値とクライアントノードエポック値とのうちの大きいほうとして計算するステップと、計算されたエポック識別値をグループノードに送信するステップとを含む。別の実施形態では、現在エポックに関連するエポック識別値を取得するステップは、グループノードにクライアントノードエポック値を送信するステップであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信するステップと、グループノードからエポック識別値とグループノード識別情報とを受信するステップと、受信されたエポック識別値が、送信されたクライアントノードエポック値に等しいかまたはそれよりも大きいことを検証するステップとを含む。一実施形態では、本方法は、鍵検証プロトコルを使用してセッション鍵を検証するステップをさらに含む。別の実施形態では、グループノードと中心ノードとの間の通信リンクが、現在エポック中に間欠的にのみ利用可能である。一実施形態では、制限付き鍵は、エポック固有であり、グループノード固有である。別の実施形態では、制限付き鍵は中心ノードによってグループノードに与えられる。さらに別の実施形態では、中心ノードは、障害を受けていないグループノードのリストを維持し、障害を受けたグループノードがリストから削除される。さらに別の実施形態では、複数のセッション鍵を導出するために、制限付き鍵は現在エポック中に複数回使用される。さらに別の実施形態では、現在エポックは、持続時間が固定でなく、新しいエポックの開始時に満了する。さらに別の実施形態では、エポック識別値は、中心ノードによって生成される連続整数であり、中心ノードによって新しいエポックの開始時に増分される。さらに別の実施形態では、中心ノードは、グループノードにコミットメッセージを送信することによって現在エポックの開始を示す。さらに別の実施形態では、エポックは実時間から導出される。さらに別の実施形態では、共有秘密鍵と、エポック識別値と、グループノード識別情報とを使用して制限付き鍵を計算するステップは、暗号ベースのメッセージ認証コード関数、ハッシュベースのメッセージ認証コード関数、または暗号ブロック連鎖メッセージ認証コード関数のうちの1つを使用して実行される。さらに別の実施形態では、本方法は、現在エポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入するステップをさらに含む。さらに別の実施形態では、タプルはグループノード識別情報と制限付き鍵とを含む。さらに別の実施形態では、現在エポックが満了したとき、キャッシュがフラッシュされる。別の特徴では、グループノードと通信するように適応された通信インターフェースと、通信インターフェースに通信可能に結合された処理回路であって、現在エポックに関連するエポック識別値を取得することであって、エポック識別値を取得することが、ノード実時間に基づいてエポック識別値を計算すること、またはエポック識別値をグループノードとネゴシエートすることのうちの1つを含む、取得することと、共有秘密鍵と、エポック識別値と、グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算することであって、共有秘密鍵がクライアントノードと中心ノードとに知られる、計算することと、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行することとを行うように適応された処理回路とを含む、クライアントノードが開示される。一実施形態では、処理回路は、クライアントノードとグループノードと中心ノードとの間で時間を大まかに同期させるようにさらに適応され、現在エポックに関連するエポック識別値を前記取得することは、グループノードからグループノード実時間とグループノード識別情報とを受信することと、グループノード実時間をクライアントノード実時間と比較することと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断することと、ノード実時間からエポック識別値を計算することとを処理回路に行わせる。別の実施形態では、現在エポックに関連するエポック識別値を前記取得することは、グループノードからグループノードエポック値とグループノード識別情報とを受信することと、グループノードエポック値をクライアントノードエポック値と比較することであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較することと、エポック識別値をグループノードエポック値とクライアントノードエポック値とのうちの大きいほうとして計算することと、計算されたエポック識別値をグループノードに送信することとを処理回路に行わせる。さらに別の実施形態では、現在エポックに関連するエポック識別値を前記取得することは、グループノードにクライアントノードエポック値を送信することであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信することと、グループノードからエポック識別値とグループノード識別情報とを受信することと、受信されたエポック識別値が、送信されたクライアントノードエポック値に等しいかまたはそれよりも大きいことを検証することとを処理回路に行わせる。別の特徴では、現在エポックに関連するエポック識別値を取得するための手段であって、エポック識別値を取得するための手段が、ノード実時間に基づいてエポック識別値を計算すること、またはエポック識別値をグループノードとネゴシエートすることのうちの1つを含む、取得するための手段と、共有秘密鍵と、エポック識別値と、グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算するための手段であって、共有秘密鍵がクライアントノードと中心ノードとに知られる、計算するための手段と、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行するための手段とを含む、クライアントノードが開示される。一実施形態では、クライアントノードは、クライアントノードとグループノードと中心ノードとの間で時間を大まかに同期させるための手段をさらに含み、現在エポックに関連するエポック識別値を取得するための手段は、グループノードからグループノード実時間とグループノード識別情報とを受信するための手段と、グループノード実時間をクライアントノード実時間と比較するための手段と、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断するための手段と、ノード実時間からエポック識別値を計算するための手段とを含む。別の実施形態では、現在エポックに関連するエポック識別値を取得するための手段は、グループノードからグループノードエポック値とグループノード識別情報とを受信するための手段と、グループノードエポック値をクライアントノードエポック値と比較するための手段であって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較するための手段と、エポック識別値をグループノードエポック値とクライアントノードエポック値とのうちの大きいほうとして計算するための手段と、計算されたエポック識別値をグループノードに送信するための手段とを含む。別の実施形態では、現在エポックに関連するエポック識別値を取得するための手段は、グループノードにクライアントノードエポック値を送信するための手段であって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信するための手段と、グループノードからエポック識別値とグループノード識別情報とを受信するための手段と、受信されたエポック識別値が、送信されたクライアントノードエポック値に等しいかまたはそれよりも大きいことを検証するための手段とを含む。別の特徴では、クライアントノードとグループノードとの間のセッション鍵を確立するためのクライアントノードにおいて動作可能な1つまたは複数の命令を有するプロセッサ可読媒体であって、命令は、少なくとも1つのプロセッサによって実行されたとき、現在エポックに関連するエポック識別値を取得することであって、エポック識別値を取得することが、ノード実時間に基づいてエポック識別値を計算すること、またはエポック識別値をグループノードとネゴシエートすることのうちの1つを含む、取得することと、共有秘密鍵と、エポック識別値と、グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算することであって、共有秘密鍵がクライアントノードと中心ノードとに知られる、計算することと、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行することとをプロセッサに行わせる、プロセッサ可読媒体が提供される。一実施形態では、プロセッサによって実行されたとき、クライアントノードとグループノードと中心ノードとの間で時間を大まかに同期させることをプロセッサにさらに行わせる追加の命令があり、現在エポックに関連するエポック識別値を取得することは、グループノードからグループノード実時間とグループノード識別情報とを受信することと、グループノード実時間をクライアントノード実時間と比較することと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断することと、ノード実時間からエポック識別値を計算することとを含む。別の実施形態では、現在エポックに関連するエポック識別値を取得することは、グループノードからグループノードエポック値とグループノード識別情報とを受信することと、グループノードエポック値をクライアントノードエポック値と比較することであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較することと、エポック識別値をグループノードエポック値とクライアントノードエポック値とのうちの大きいほうとして計算することと、計算されたエポック識別値をグループノードに送信することとを含む。さらに別の実施形態では、現在エポックに関連するエポック識別値を取得することは、グループノードにクライアントノードエポック値を送信することであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信することと、グループノードからエポック識別値とグループノード識別情報とを受信することと、受信されたエポック識別値が、送信されたクライアントノードエポック値に等しいかまたはそれよりも大きいことを検証することとを含む。別の特徴では、グループノードとクライアントノードとの間のセッション鍵を確立するためのグループノードにおいて動作可能な方法であって、本方法は、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信するステップであって、プロキシトークンの第1のセットが、クライアントノードに関連するプロキシトークンを含み、プロキシトークンがクライアントノード識別情報と制限付き鍵とを有する、受信するステップと、プロキシトークンの第1のセットをプロキシトークンの予備セットとして記憶するステップと、エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの予備セットと交換するステップであって、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる、交換するステップと、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行するステップとを含む、方法が提供される。一実施形態では、本方法は、エポックに関連するエポック識別値を取得するステップと、エポック識別値に基づいて制限付き鍵を取り出すステップとをさらに含む。一実施形態では、エポックに関連するエポック識別値を取得するステップは、クライアントノード実時間を受信するステップと、クライアントノード実時間をグループノード実時間と比較するステップと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断するステップと、ノード実時間に基づいてエポック識別値を計算するステップとを含む。別の実施形態では、エポック識別値に基づいて制限付き鍵を取り出すステップは、プロキシトークンの予備セットがエポック識別値に対応するのかプロキシトークンのアクティブセットがエポック識別値に対応するのかを判断するステップと、プロキシトークンの予備セットがエポック識別値に関連する場合、プロキシトークンの予備セットから制限付き鍵を取得するステップと、プロキシトークンの予備セットがエポック識別値に関連する場合、プロキシトークンのセットから制限付き鍵を取得するステップとをさらに含む。別の実施形態では、本方法は、中心ノードとグループノードとクライアントノードとの間で時間を大まかに同期させるステップと、現在時間に関連するエポック識別値を取得するステップと、エポック識別値とクライアントノード識別情報とに基づいてプロキシトークンの第1のセットからクライアントノードの制限付き鍵を選択するステップとをさらに含む。別の実施形態では、本方法は、エポックに関連するエポック識別値と、プロキシトークンの第1のセットとを含む、少なくとも1つのメッセージを中心ノードから受信するステップと、エポックの開始を示すコミットメッセージを中心ノードから受信するステップとをさらに含む。別の実施形態では、グループノードと中心ノードとの間の通信リンクが、エポック中に間欠的にのみ利用可能である。別の特徴では、中心ノードと通信するように適応された第1の通信インターフェースと、クライアントノードと通信するように適応された第2の通信インターフェースと、第1の通信インターフェースと第2の通信インターフェースとに通信可能に結合された処理回路であって、処理回路は、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信することであって、プロキシトークンの第1のセットが、クライアントノードに関連するプロキシトークンを含み、プロキシトークンがクライアントノード識別情報と制限付き鍵とを有する、受信することと、プロキシトークンの第1のセットをプロキシトークンの予備セットとして記憶することと、エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの予備セットと交換することであって、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる、交換することと、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行することとを行うように適応された、処理回路とを含む、グループノードが提供される。別の特徴では、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信するための手段であって、プロキシトークンの第1のセットが、クライアントノードに関連するプロキシトークンを含み、プロキシトークンがクライアントノード識別情報と制限付き鍵とを有する、受信するための手段と、プロキシトークンの第1のセットをプロキシトークンの予備セットとして記憶するための手段と、エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの予備セットと交換するための手段であって、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる、交換するための手段と、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行するための手段とを含む、グループノードが開示される。別の特徴では、グループノードとクライアントノードとの間のセッション鍵を確立するためのグループノードにおいて動作可能な1つまたは複数の命令を有するプロセッサ可読媒体であって、命令は、少なくとも1つのプロセッサによって実行されたとき、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信することであって、プロキシトークンの第1のセットが、クライアントノードに関連するプロキシトークンを含み、プロキシトークンがクライアントノード識別情報と制限付き鍵とを有する、受信することと、プロキシトークンの第1のセットをプロキシトークンの予備セットとして記憶することと、エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの予備セットと交換することであって、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる、交換することと、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行することとをプロセッサに行わせる、プロセッサ可読媒体が開示される。別の特徴では、第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードにおいて動作可能な方法であって、本方法は、第2のグループノードが障害を受けたと判断するステップであって、第1のグループノードが第1のグループノード識別子を有する、判断するステップと、障害を受けていないグループノードのリストから障害を受けた第2のグループノードを削除するステップであって、障害を受けていないグループノードのリストが、中心ノードに記憶され、第1のグループノードを含む、削除するステップと、障害を受けていないグループノードのリスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信するステップであって、複数のプロキシトークンが、第1のグループノードに関連し第1のグループノードに送信される第1のプロキシトークンを含み、第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、次のエポックが次のエポック識別値に関連し、制限付き鍵が、次のエポック識別値、第1のグループノード識別子、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される、送信するステップとを含む、方法が開示される。一実施形態では、第1のプロキシトークンは、次のエポックの開始より前に送信される。別の実施形態では、本方法は、第1のグループノードにコミットメッセージを送信するステップであって、コミットメッセージが次のエポックの開始を示す、送信するステップをさらに含む。別の特徴では、第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードであって、中心ノードは、第1のグループノードと通信するように適応された通信インターフェースと、通信インターフェースに結合された処理回路であって、第2のグループノードが障害を受けたと判断することであって、第1のグループノードが第1のグループノード識別子を有する、判断することと、障害を受けていないグループノードのリストから障害を受けた第2のグループノードを削除することであって、障害を受けていないグループノードのリストが、中心ノードに記憶され、第1のグループノードを含む、削除することと、障害を受けていないグループノードのリスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信することであって、複数のプロキシトークンが、第1のグループノードに関連し第1のグループノードに送信される第1のプロキシトークンを含み、第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、次のエポックが次のエポック識別値に関連し、制限付き鍵が、次のエポック識別値、第1のグループノード識別子、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される、送信することとを行うように適応された処理回路とを含む、中心ノードが開示される。別の特徴では、第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードであって、中心ノードは、第2のグループノードが障害を受けたと判断するための手段であって、第1のグループノードが第1のグループノード識別子を有する、判断するための手段と、障害を受けていないグループノードのリストから障害を受けた第2のグループノードを削除するための手段であって、障害を受けていないグループノードのリストが、中心ノードに記憶され、第1のグループノードを含む、削除するための手段と、障害を受けていないグループノードのリスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信するための手段であって、複数のプロキシトークンが、第1のグループノードに関連し第1のグループノードに送信される第1のプロキシトークンを含み、第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、次のエポックが次のエポック識別値に関連し、制限付き鍵が、次のエポック識別値、第1のグループノード識別子、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される、送信するための手段とを含む、中心ノードが開示される。別の特徴では、第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードにおいて動作可能な1つまたは複数の命令を有するプロセッサ可読媒体であって、命令は、少なくとも1つのプロセッサによって実行されたとき、第2のグループノードが障害を受けたと判断することであって、第1のグループノードが第1のグループノード識別子を有する、判断することと、障害を受けていないグループノードのリストから障害を受けた第2のグループノードを削除することであって、障害を受けていないグループノードのリストが、中心ノードに記憶され、第1のグループノードを含む、削除することと、障害を受けていないグループノードのリスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信することであって、複数のプロキシトークンが、第1のグループノードに関連し第1のグループノードに送信される第1のプロキシトークンを含み、第1のプロキシトークンがクライアントノード識別情報と制限付き鍵とを含み、次のエポックが次のエポック識別値に関連し、制限付き鍵が、次のエポック識別値、第1のグループノード識別子、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される、送信することとをプロセッサに行わせる、プロセッサ可読媒体が開示される。以下の説明では、実施形態の完全な理解を提供するために具体的な詳細を与える。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、実施形態を不要な詳細で不明瞭にしないように、動作をブロック図で示すことがあり、またはまったく示さないことがある。他の場合には、実施形態を不明瞭にしないように、よく知られている動作、構造および技法を詳細に示さないことがある。本明細書で使用する中心ノードは、サーバ、認証サーバと呼ばれることもあり、サーバ、認証サーバ、およびまたはサービスをクライアントノードに提供するための他の好適なデバイスの機能の一部または全部を含み得る。クライアントノードは、ユーザ機器、ワイヤレスもしくはワイヤード通信デバイス、ノード、モバイル端末、移動局と呼ばれることもあり、ユーザ機器、ワイヤレスもしくはワイヤード通信デバイス、ノード、モバイル端末、移動局およびまたはネットワークを介して通信するための他の好適なデバイスの一部または全部を含み得る。クライアントノードは、グループノードのセット中の1つまたは複数のグループノードを介して中心ノードと通信していることがある。半接続状態グループノードは、信頼できないか、遅いかまたは間欠的な通信を中心ノードと有するグループノードであり得る。概観1つの特徴は、グループノードと中心ノードとの間のセッションごとの通信を必要とせずにクライアントノードとグループノードとの間のセッション鍵を確立するためのシステム、装置および方法を提供する。クライアントノードは、少なくとも1つの良好なグループノードと先に通信していることがあり、グループノードはそのとき、中心ノードと通信しており、仮想ペアリングプロトコルを正常に実行した。その結果、クライアントノードおよび中心ノードは共有秘密鍵KMを有し得る。一例では、すべてのノードおよび端末が、大まかに、すなわち、数秒以内に同期された実時間をそれによって取得し得る機構が提供され得る。本システムでは、時間はエポックに分割され得、エポックの長さは固定であり、たとえば、1分から数日程度であり得る。各エポックの間、グループノードは、中心ノードと少なくとも1回通信し得る。中心ノードは、各グループノードにタプルのリストを送り得る。各タプルエントリは、各クライアントノードを識別するクライアントノード識別子CnodeIDと、各クライアントノード識別子CnodeIDに関連する制限付き鍵KRとを含み得る。クライアントノード識別子CnodeIDを、それの関連する制限付き鍵KRとともに、プロキシトークンと呼ぶことがある。したがって、エポックの開始中に、中心ノードは、各グループノードに、異なるクライアントノードに関連する一連のプロキシトークンを送信し得る。制限付き鍵KRは、エポック値EpochIDと、グループ識別値GnodeIDとに依存し得る。たとえば、KRは以下の式によって計算され得る。KRCMACただし、GnodeIDはグループノード識別情報であり得、EpochIDは次のエポックに関連する値であり得、KMは、クライアントノードと中心ノードとの間で共有される共有秘密鍵であり得、CMACは、暗号ベースのメッセージ認証コードアルゴリズムであり得る。クライアントノードは、エポック識別情報EpochIDを取得し得、次いで、グループノード識別情報GnodeIDと共有秘密鍵KMとを知っているので制限付き鍵KRを計算し得る。クライアントノードは、次いで、計算において制限付き鍵KRをマスター鍵として使用して短期セッション鍵を生成するために、各当事者によって与えられるランダム性を使用する2ラウンドセッション鍵確立プロトコルを使用し得る。セッション鍵確立プロトコルは鍵検証をも行い得る。グループノードが、廃棄されたか、紛失したか、盗まれたか、故障したか、または障害を受けた場合、中心ノードは、そのグループノードを、障害を受けていないグループノードのそれのリストから削除し得、現在エポックが満了した後に、中心ノードは、現在エポック値を反映する有効なプロキシトークンをもはや転送し得ない。したがって、影響を受けたグループノードは、有効なプロキシトークンを有しないことになり、したがって、クライアントノードとのセッションを確立することができない。制限付き鍵KRはエポック中に何回も使用され得る。同じエポック期間中にセッションごとにKRを導出するのを回避するために、クライアントノードは、タプル、たとえば、グループノード識別情報と、エポック識別情報と、制限付き鍵とをもつキャッシュを維持し得る。その結果、クライアントノードのバッテリー電力が節約され得る。一例では、クライアントノードは、セキュアで大まかに同期された実時間へのアクセスを有し得る。1つのエポック中に、エポック識別情報EpochIDは同じ値を有し得る。EpochIDをグローバルに記憶することと、エポックが変化したときにキャッシュをフラッシュすることとによってメモリが節約され得る。例示的なネットワーク動作環境図1に、ワイヤレスネットワーク通信システム100を示す。この例では、クライアントノード102と、グループノード104a~104cのセットと、中心ノード106とが示されており、クライアントノード102は、グループノード104a~104cのうちの1つまたは複数を介して中心ノード106と間接的に通信し得る。中心ノード106は固定局またはサーバであり得る。グループノード104a~104cは、携帯用バッテリー電源式デバイスおよびまたは固定電子デバイスのいずれかであり得る。クライアントノード102は、たとえば、限られたメモリ量と限られたバッテリーエネルギーとを含んでいる、小型で安価な低電力ワイヤレスデバイスであり得る。クライアントノード102は、たとえば、Bluetooth、BluetoothLowEnergy、WiFi、ZigBee、近距離通信、およびまたは他のワイヤレス通信方法を通してグループノード104a~104cと通信し得る。図1に示すように、クライアントノード102は、グループノードA104aなどのグループノードと通信し得る。クライアントノード102は、データの暗号化および認証のために使用され得る共有鍵、たとえばセッション鍵を確立するためにワイヤレスリンク上で仮想ペアリングプロトコルを実行し得る。クライアントノード102がグループノード104a~104cのうちの1つ、たとえば、グループノードA104aとの共有鍵を確立すると、クライアントノード102は中心ノード106と間接的に通信し得る。3つのグループノードが示されているが、これは例にすぎず、より多いまたはより少ないグループノードが通信システム100において利用され得る。例示的な通信システム図2は、グループノード104と中心ノード106との間のセッションごとの通信を必要とせずにクライアントノード102とグループノード104との間のセッション鍵が確立される通信システム100の動作の一例を示す流れ図である。最初に、中心ノード106とクライアントノード102とが、200において、グループノード104を中間物として使用して共有秘密鍵KMを確立し得る。たとえば、クライアントノード102が通信システム100に入ったとき、クライアントノード102と中心ノード106との間で共有秘密鍵KMが確立され得る。共有秘密鍵KMは、中間物として働くグループノード104が共有秘密鍵の値を知ることがないように、たとえば、楕円曲線ディフィーヘルマンプロトコルを使用して確立され得る。共有秘密鍵が確立されると、中心ノード106は共有秘密鍵KM202aを記憶し得、クライアントノード102は同じ鍵KM202bを記憶し得る。中心ノード106は、システム100中の各クライアントノードと一意の共有秘密鍵を確立する。好ましい実施形態では、共有秘密鍵KMがグループノード104に知られない。共有秘密鍵KMは、通信システム100中の各クライアントノードが中心ノード106との異なる秘密鍵を共有するように、クライアントノード固有であり得る。クライアントノード102はクライアントノード識別子CnodeIDに関連付けられ得る。通信システム100内の時間は、エポックA201およびエポックB203など、エポックに分割され得、エポックB203は時間的にエポックA201の後に生じる。各エポックの長さは固定であり、たとえば、数分から数日程度であり得る。ただし、これらは例にすぎない。全体的なシステムの要件に従って異なる長さのエポックが選択され得る。各エポックの間、グループノード104は、中心ノード106と少なくとも1回通信し得る。たとえば、エポックAの開始時に、グループノード104は、204において、各クライアントノード102のために中心ノード106から少なくとも1つのプロキシトークンを受信し得る。受信されたプロキシトークンは、特定のエポック、たとえばエポックAに関連する。したがって、通信システム中の各クライアントノードのために、中心ノード106は、エポックに関連するプロキシトークンをグループノード104に送り得、プロキシトークンはクライアント識別子CnodeIDと制限付き鍵KRとを含む。グループノード104は、次いで、206において、受信された1つまたは複数のプロキシトークンを記憶し、各々を特定のエポックに関連付け得る。したがって、通信システム中の各グループノードおよびクライアントノードペアは一意の制限付き鍵KMペアを有し得る。エポックの途中に新しいクライアントノードが通信システムに入った場合、中心ノード106は、新しいクライアントノードのプロキシトークンを一部または全部のグループノード104a~104cに送信し得る。クライアントノード102およびグループノード104がセッション鍵を確立するために、クライアントノード102およびグループノード104は、最初に、208において、両方のノードによって使用されるべき許容可能なエポック識別値EpochIDを確立しなければならない。クライアントノード102およびグループノード104が同じEpochID値を確立すると、グループノード104は、210において、エポック識別値EpochIDと、グループノード104が前に記憶したクライアント識別子CnodeIDとに特に関連する制限付き鍵KRを取得する取り出すことができる。したがって、エポックA201に対応するEpochID値について、グループノード104は、CnodeIDとエポックA201とに関連する制限付き鍵KRを取り出し得る。同様に、クライアントノード102は、エポック識別値EpochIDに基づいて制限付き鍵KRを取得しなければならない。たとえば、クライアントノード102は次式に基づいてKRを計算算出し得る。KRCMACただし、GnodeIDはグループノード104の識別情報であり、EpochIDは確立されたエポック値であり、KMは、クライアントノード102と中心ノード106との間で共有される共有秘密鍵であり、CMACは暗号ベースのメッセージ認証コードアルゴリズムである。ただし、制限付き鍵KRを生成することは、上記の式に示す特定の入力および引数に限定されない。たとえば、限定はしないが、ハッシュベースのメッセージ認証コード、暗号ブロック連鎖メッセージ認証コード、ハッシング、または暗号化を含む、入力と引数とを組み合わせ、およびまたは好適な暗号特性を有する他の演算も使用され得る。KMはクライアントノード識別子CnodeIDに固有であり得、したがって、制限付き鍵KRは、クライアントノードと、グループノード識別情報GnodeIDと、エポック識別情報EpochIDとに固有であり得る。次に、214において、クライアントノード102とグループノード104の両方によって与えられるランダム値とともに制限付き鍵KRをマスター鍵として使用することによってセッション鍵を生成するために、2ラウンドセッション鍵確立プロトコルが使用され得る。言い換えれば、制限付き鍵KRを使用して、これらの2つのノード間の通信のために使用されるセッション鍵を導出する。鍵KRはクライアントノード102とグループノード104との間で直接送信されないが、鍵KRは両方のノードに知られるので、KRを使用してこれらの2つのノード間のセッション鍵を確立することができることに留意されたい。このようにして、216において、セキュアな通信セッションを行うためにクライアントノード102とグループノード104との間でセッション鍵が確立され得る。エポックA201の満了の前に、中心ノード106は、次のエポック、すなわちエポックB203のためにプロキシトークンの交換セット218aを送信し得る。プロキシトークンの交換セットは、同様に、所与のエポックについて所与のクライアントノードの制限付き鍵KRを識別するタプルを含んでいることになる。エポックBの開始の前にプロキシトークンを送信することによって、グループノード104は、エポックがエポックAからエポックBに遷移する時間中に中心ノード106との通信が紛失した場合に、トークンのセットにアクセスできる。代替実施形態では、エポックBに関連するプロキシトークンの交換セットは、218bにおいて、エポックBの開始時に送信され得る。さらに他の実施形態では、プロキシトークンの各セットが異なるエポックに関連し得る、プロキシトークンの複数のセットが、すべて同時にグループノード104に与えられ得る。中心ノード106は、グループノード104とクライアントノード102とがセッション鍵確立を開始する前にグループノード104にプロキシトークンを送信し、グループノード104はエポックの終了まで前記鍵を保持するので、グループノード104とクライアントノード102との間のセッション鍵を確立することは、グループノード104と中心ノード106との間の通信がエポックの残り全体にわたって行われる必要なしに行われ得る。たとえば、グループノード104がステップ204においてエポックAのプロキシトークンを取得すると、グループノード104は、クライアントノード102とのセッション鍵を確立するためにエポックAの残りの間にもはや中心ノード106との通信リンクを必要としない。したがって、この期間中のグループノード104と中心ノード106との間の通信は間欠的およびまたは利用不可能であり得る。中心ノードとの間欠的通信リンクを有するグループノードは半接続状態グループノードと見なされ得る。グループノードが、廃棄されたか、紛失したか、盗まれたか、故障したか、または障害を受けた場合、中心ノード106は、そのグループノードを、障害を受けていないグループノードのそれのリストから削除し得、現在エポックが満了した後に、影響を受けたグループノードは、有効なプロキシトークンを有しないことになり、したがって、クライアントノードとのセキュアな通信セッションを確立することができない。グループノード104とクライアントノード102との間で様々なセッション鍵を生成するために、エポック中に制限付き鍵KRが何回も使用され得る。同じエポック中にグループノード104とのセッションごとに制限付き鍵KRを不必要に導出するのを回避するために、クライアントノード102は、たとえば、グループノード識別情報GnodeIDと、エポック識別値と、関連する制限付き鍵とを含むタプルをもつキャッシュを維持し得る。その結果、クライアントノード102のバッテリー電力が節約され得る。一実施形態では、キャッシュ中に新しい値またはエントリが挿入されるべきとき、キャッシュから廃棄されるべきエントリが選択され得る。キャッシュが単純なアレイである場合、アレイ中のターゲットロケーションにあるエントリを廃棄するという1つの選択肢しかない。しかしながら、セットアソシアティブキャッシュの場合、廃棄されるべきエントリはセットからランダムに選択され得る。いくつかのデータ構造は最長時間未使用交換ポリシーを助長し得る。例示的な通信システム実時間から導出可能なエポック識別情報図3は、グループノード104と中心ノード106との間のセッションごとの通信を必要とせずにクライアントノード102とグループノード104との間のセッション鍵が確立される通信システム100の動作の一例を示す流れ図である。中心ノード106およびクライアントノード102はそれぞれ、グループノード104に知られ得ない共有秘密鍵KM302a、302bへのアクセスを有し得る。共有秘密鍵KMは、通信システム100中の各クライアントノードが中心ノード106との異なる秘密鍵を共有するように、クライアントノード固有であり得る。クライアントノード102はクライアントノード識別子CnodeIDに関連付けられ得る。この例では、すべてのノードが、たとえば、互いの数秒以内に、大まかに同期された実時間304をそれによって取得することができる機構が提供され得る。たとえば、クライアントノード102が通信システム100に初めて入ったとき、グループノード104は、実時間情報を中心ノード106からクライアント102に送信し得る。その上、クライアントノード102の実時間は周期的に更新または調整され得る。たとえば、あらゆるエポック、またはエポックの何らかの倍数の開始時に、グループノードは、実時間情報を中心ノード106からクライアントノード102に送信し得る。したがって、グループノード104において保持される時間はGnodetimeとして識別され得、クライアントノード102において保持される時間はCnodetimeとして識別され得る。通信システム100内の時間は、エポックA301およびエポックB303など、エポックに分割され得、エポックB303は時間的にエポックA301の後に生じる。各エポックの長さは固定であり、たとえば、数分から数日程度であり得る。ただし、これらは例にすぎない。全体的なシステムの要件に従って異なる長さのエポックが選択され得る。各エポックの間、グループノード104は、中心ノード106と少なくとも1回通信し得る。たとえば、エポックA301の開始時に、グループノード104は、306において、各クライアントノード102のために中心ノード106から少なくとも1つのプロキシトークンを受信し得る。受信されたプロキシトークンは、特定のエポック、たとえばエポックA301に関連する。したがって、通信システム中の各クライアントノードのために、中心ノード106は、エポックに関連するプロキシトークンをグループノード104に送り得、プロキシトークンはクライアント識別子CnodeIDと制限付き鍵KRとを含む。グループノード104は、次いで、308において、受信された1つまたは複数のプロキシトークンを記憶し、各々を特定のエポックに関連付け得る。エポックの途中に新しいクライアントノードが通信システムに入った場合、中心ノード106は、新しいクライアントノードのプロキシトークンをすべてのグループノード104a~104cに送信し得る。クライアントノード102とグループノード104との間のセッション鍵を確立することは、開始者がセッション鍵確立プロトコルを開始したときに開始し得る。たとえば、グループノード104は、310において、グループノード104の識別情報GnodeIDと、グループノード104の現在の実時間Gnodetimeとを含むメッセージをクライアントノード102に送信し得る。クライアントノード102は、次いで312において、グループノード104の実時間Gnodetimeが、クライアントノード102自体の実時間Cnodetimeに対して所定の時間差内に、たとえば数秒以内にあるかどうかを判断し得る。これらの2つの値の間の時間差が所定の時間差よりも小さい場合、クライアントノード102は、実時間、たとえば、ノード実時間に基づいてエポック識別値EpochIDを計算し得る。一実施形態では、314において、EpochIDを計算するためにクライアントノード102によって使用されるノード実時間は、グループノード104の実時間Gnodetimeであり得る。別の実施形態では、クライアントノード102は、EpochIDを計算するためにそれ自体の実時間Cnodetimeを使用し得る。使用される特定のノード実時間は、クライアントノード102とグループノード104の両方が同じEpochID値を計算するようにその両方によって使用されなければならない。時間差が所定の時間差よりも大きい場合、グループノード104は障害を受けたと見なされ得、セッション鍵の確立は終了し得る。クライアントノード102がGnodetimeに基づいてエポック識別値EpochIDを計算すると、クライアントノード102は、たとえば、次式を使用して制限付き鍵KRを導出し得る。KRCMACただし、GnodeIDはグループノード104の識別情報であり、EpochIDは確立されたエポック値であり、KMは、クライアントノード102と中心ノード106との間で共有される共有秘密鍵であり、CMACは暗号ベースのメッセージ認証コードアルゴリズムである。上記で説明したように、他の入力、引数、およびまたはコーディング方式が使用され得る。グループノード104は、クライアントノード102によって使用される同じノード実時間に基づいてエポック識別値EpochIDを単独で判断し得る。たとえば、318において、クライアントノード102がEpochIDを計算するためにGnodetimeを使用した場合、グループノード104もそれの実時間Gnodetimeを使用することになる。CnodetimeとGnodetimeとの間の差が所定の時間ウィンドウよりも小さかった場合、クライアントノード102とグループノード104の両方がEpochIDを計算するために同じノード実時間を使用したので、グループノード104によって計算されるEpochIDは、クライアントノード102において計算されるEpochIDと同じでなければならない。次に、グループノードは、320において、エポック識別値EpochIDとクライアント識別子CnodeIDとに特に関連する制限付き鍵KRを取得し取り出し得る。したがって、エポックA301に対応するEpochID値について、グループノード104は、CnodeIDとエポックA301とに関連する制限付き鍵KRを取り出し得る。次に、322において、クライアントノード102とグループノード104の両方によって与えられるランダム値とともに制限付き鍵KRをマスター鍵として使用することによってセッション鍵を生成するために、2ラウンドセッション鍵確立プロトコルが使用され得る。言い換えれば、制限付き鍵KRを使用して、これらの2つのノード間の通信のために使用されるセッション鍵を導出する。鍵KRはクライアントノード102とグループノード104との間で直接送信されないが、鍵KRは両方のノードに知られるので、KRを使用してこれらの2つのノード間のセッション鍵を確立することができることに留意されたい。このようにして、324において、セキュアな通信セッションを行うためにクライアントノード102とグループノード104との間でセッション鍵が確立され得る。一実施形態では、エポックAの満了の前に、326aにおいて、エポックB303に関連するプロキシトークンの交換セットが中心ノード106からグループノード104に送信され得る。プロキシトークンの交換セットは、同様に、所与のエポックについて所与のクライアントノードの制限付き鍵KRを識別するタプルを含むことになる。エポックBの開始の前に通信システム中のグループノードにプロキシトークンを送信することによって、システム中のグループノードのすべてではないにしても大部分が、エポックBの開始までにプロキシトークンの新しいセットを記憶しているという保証がより大きくなる。その上、エポックが遷移する時間中に中心ノード106との通信が紛失した場合、グループノード104はトークンの新しいセットにアクセスでき得る。たとえば、中心ノード106が新しいエポックの間にプロキシトークンを送信するように通常通りスケジュールされる直前に始まる通信停止が、グループノード104と中心ノード106との間で発生し得る。グループノードと中心ノードとの間の通信停止により、グループノードは新しいプロキシトークンを得ることを妨げられ得、したがって、クライアントとグループとの通信セッションは停止が終わるまで確立され得ない。これを克服するために、中心ノード106は、新しいまたは予期されるエポックの開始よりかなりに前に新しいエポックのプロキシトークンを送り得る。たとえば、エポックが1時間であり、通信停止がせいぜい5分間だけ持続することが予想される場合、中心ノードは、各エポック遷移より15分前にプロキシトークンを送り得る。その結果、グループノード104へのトークン配信がより良く保証され得る。別の実施形態では、エポックAの満了時に、326bにおいて、プロキシトークンの交換セットがグループノードに送信され得る。グループノード104が現在エポックのためのそれのプロキシトークンを受信した後は、グループノード104とクライアントノード102との間のセッション鍵を確立することは、現在エポック中にグループノード104と中心ノード106との間で通信が行われる必要なしに行われ得る。したがって、グループノード104がプロキシトークンを取得した後は、グループノード104と中心ノード106との間の通信は、エポック全体にわたって間欠的およびまたは利用不可能であり得る。グループノードが、廃棄されたか、紛失したか、盗まれたか、故障したか、または障害を受けた場合、中心ノード106は、そのグループノードを、障害を受けていないグループノードのそれのリストから削除し得、現在エポックが満了した後に、影響を受けたグループノードは、有効なプロキシトークンを有しないことになり、したがって、クライアントノードとのセキュアな通信セッションを確立することができない。したがって、中心ノードは、グループノードへのプロキシトークンの送信を終了することによって、グループノードがクライアントノード102との通信を確立するための許可を取り消し得る。取消しは次のエポックの開始時に有効になる。グループノード104とクライアントノード102との間で様々なセッション鍵を生成するために、エポック中に制限付き鍵KRが何回も使用され得る。同じエポック中にグループノード104とのセッションごとに制限付き鍵KRを不必要に導出するのを回避するために、クライアントノード102は、たとえば、グループノード識別情報GnodeIDと、エポック識別値と、関連する制限付き鍵とを含むタプルをもつキャッシュを維持し得る。その結果、クライアントノード102のバッテリー電力が節約され得る。大まかなクロック同期のみが使用され得るので、グループノード104は、満了するエポック、すなわちエポックAに関連する制限付き鍵KRAを使用し、クライアントノード102は、次のエポック、すなわちエポックBのための制限付き鍵KRBへのアクセスをすでに有し得るという可能性があり得る。しかしながら、GnodetimeとCnodetimeとの間の差が所定の量よりも小さいと仮定すると、上記で説明したように、クライアントノード102は、エポック識別値を計算するためにGnodetimeを使用し得る。これにより、クライアントノード102がエポックBへのエポック遷移の通知を受信している場合でも、両方が、同じEpochID値および関連する制限付き鍵を計算することが保証される。たとえば、クライアントノード102は、8000のEpochID値につながるGnodetimeを受信し、使用し得る。クロック同期が大まかであることにより、クライアントノード自体の実時間クロックは8001のエポック値を登録し得るが、クライアントノードは、エポック値8000に関連する制限付き鍵KR8000を依然として計算し得る。上記で説明したように、クライアントノード102は、310において、メッセージ中に含まれるグループノード104の実時間Gnodetimeを受信し、312において、グループノードの実時間がクライアントノード102の実時間Cnodetimeに近いかどうかを判断するために検査し、グループノードの実時間がクライアントノード102の実時間Cnodetimeに近い場合、グループノードの実時間Gnodetimeからエポック識別値EpochIDを計算し得る。たとえば、グループノード104が、EpochIDに対応する制限付き鍵を有しない場合、グループノード104は、古い1つの実時間を送り、対応する古い制限付き鍵を使用することを試みるか、またはグループノード104は、それの現在エポック識別情報を送り、現在の制限付き鍵KRを推測することを試み得る。グループノード104が古い時間遅れの実時間を送った場合、クライアントノードは、その実時間がクライアントノードの実時間Cnodetimeに十分近くないことを発見し、通信セッションを確立せよというグループノード104の要求を拒否し得る。その上、324において、セッション鍵確立プロトコルにおける鍵検証ステップは不合格になり得、クライアントノード102は、通信セッションを確立せよという要求を拒否し得る。例示的な通信システムネゴシエーションによって導出可能なエポック識別情報図4は、グループノード104と中心ノード106との間のセッションごとの通信を必要とせずにクライアントノード102とグループノード104との間のセッション鍵が確立される通信システム100の動作の一例を示す流れ図である。中心ノード106およびクライアントノード102はそれぞれ、グループノード104に知られない共有秘密鍵KM402a、402bへのアクセスを有し得る。共有秘密鍵KMは、通信システム100中の各クライアントノードが中心ノード106との異なる秘密鍵を共有するように、クライアントノード固有であり得る。クライアントノード102はクライアントノード識別子CnodeIDに関連付けられ得る。通信システム100内の時間は、エポックA401およびエポックB403など、エポックに分割され得、エポックB403は時間的にエポックA401の後に生じる。ただし、この例では、クライアントノード102は信頼できる時間クロックを有しないことがあり、エポックは、持続時間が必ずしも固定であるとは限らず、むしろ中心ノード106が新しいエポックを開始することを選択したときはいつでも生じる。各エポックの間、グループノード104は、中心ノード106と少なくとも1回通信し得る。たとえば、エポックA401の開始時に、中心ノード106は、404において、エポックカウンタを増分し、各クライアントノード102のためにグループノード104に少なくとも1つのプロキシトークンを送信し得る。中心ノード106は、すべてのグループノードに届くか、あるいはいくつかのグループノードに届き得ないと中心ノード106が判断するまで、プロキシトークンをすべてのグループノードに送信し続け得る。しかしながら、中心ノード106は、少なくとも、中心ノード106とグループノードとの間で予想される最も長い通信停止の長さだけ試み得る。送信されたプロキシトークンは、特定のエポック、たとえばエポックA401に関連する。したがって、通信システム中の各クライアントノードのために、中心ノード106は、エポックに関連するプロキシトークンをグループノード104に送り得、プロキシトークンはクライアント識別子CnodeIDと制限付き鍵KRとを含む。グループノード104は、次いで406において、受信されエポックAに関連する1つまたは複数のプロキシトークンを予備にプロキシトークンの予備セットとして記憶し得る。中心ノード106は、次いで408において、グループノード104にコミットメッセージを送信し得る。コミットメッセージは、エポックAが開始し、グループノード104が、410において、予備に保持された新しいプロキシトークンを使用すべきであることをグループノード104に指示する。一実施形態では、プロキシトークンが、予備セットに保持されたプロキシトークンに切り替わると、グループノード104は、前のエポックに関連する古い時間遅れのプロキシトークンを廃棄し得る。他の実施形態では、通信を確立しようとしている別のクライアントノードがエポック遷移の通知を受信しておらず、したがって、より古い制限付き鍵を使用する場合、古い時間遅れのプロキシトークンは保持され得る。クライアントノード102およびグループノード104は、次いで412において、エポック識別値情報を交換する一方または両方のノードによって現在エポックを識別する、共通のエポック識別値EpochIDをネゴシエートし得る。エポック識別値EpochIDは、グループノード104に知られる最大エポック識別値EpochIDGNと、クライアントノード102に知られる最大エポック識別値EpochIDCNとのうちの大きい値に等しくなるようにネゴシエートされなければならない。EpochIDCNの値は、すべてのグループノードとのすべての前の成功したセッション鍵確立動作に基づき得る。一例では、EpochID値のネゴシエーションは、グループノード104が、グループノードエポック値EpochIDGNとグループノード識別子GnodeIDとを含むメッセージをクライアントノード102に送信することによって開始し得る。クライアントノード102は、次いで、受信したEpochIDGN値をクライアントノード102自体のクライアントノードエポック値EpochIDCNと比較し、これらの2つのうちの大きいほうをEpochIDとして選択し得る。クライアントノード102は、次いで、EpochIDをグループノード104に送信する。いくつかの実施形態では、クライアントノード102とグループノード104との間でセッション鍵が確立されると、クライアントノード102は、それのキャッシュをフラッシュし、EpochIDがEpochIDCNよりも大きい場合、キャッシュ値を、エポック識別値EpochIDとグループノード識別子GnodeIDと制限付き鍵KRとからなるタプルと交換し得る。別の例では、クライアントノード102は、最初にグループノード104にEpochIDCNを送信し得る。グループノード104は、次いで、EpochIDCNをグループノード104自体のエポック値EpochIDGNと比較し、これらの2つのうちの大きいほうを選択し得る。値EpochIDGNSelectを有するグループノード104によって選択されたエポック値は、次いで、クライアントノード102に返信され得る。クライアントノード102は、次いで、EpochIDGNSelectが、クライアントノード102がグループノード104に前に送ったエポック値EpochIDCNよりも大きいかまたはそれに等しいかどうかを判断し得る。EpochIDGNSelectがEpochIDCNよりも大きいかまたはそれに等しい場合、クライアントノード102はEpochIDをEpochIDGNSelectに等しく設定する。そうではなく、EpochIDGNSelectがEpochIDGNSelectよりも小さい場合、クライアントノード102は、グループノード104が障害を受けたと判断し、セッション鍵確立を中止し得る。いくつかの実施形態では、クライアントノード102とグループノード104との間でセッション鍵が確立されると、クライアントノード102は、それのキャッシュをフラッシュし、EpochIDがEpochIDCNよりも大きい場合、キャッシュ値を、エポック識別値EpochIDとグループノード識別子GnodeIDと制限付き鍵KRとからなるタプルと交換し得る。EpochIDがどのようにネゴシエートされるかにかかわらず、目的は、クライアントノード102とグループノード104とにおいて同じエポック識別値EpochIDを確立することである。クライアントノード102およびグループノード104がEpochIDを確立すると、グループノード104は、414において、EpochIDと、グループノード104が記憶しているクライアント識別子CnodeIDとに特に関連する制限付き鍵KRを取得し取り出し得る。グループノード104は、どのセットがEpochID値を含むかに応じて、グループノード104が406において前に記憶したプロキシトークンの予備セット、またはグループノード104がすでに記憶しているプロキシトークンのアクティブセットのいずれかから制限付き鍵KRを取り出し得る。クライアントノード102は、たとえば、上記で説明したように、416において、式KRCMACを使用して制限付き鍵KRを導出し得る。次に、418において、クライアントノード102とグループノード104との間で交換されるランダム値とともに制限付き鍵KRをマスター鍵として使用することによってセッション鍵を生成するために、2ラウンドセッション鍵確立プロトコルが使用され得る。言い換えれば、制限付き鍵KRを使用して、これらの2つのノード間の通信のために使用されるセッション鍵を導出する。鍵KRはクライアントノード102とグループノード104との間で直接送信されないが、鍵KRは両方のノードに知られるので、KRを使用してこれらの2つのノード間のセッション鍵を確立することができることに留意されたい。このようにして、420において、セキュアな通信セッションを行うためにクライアントノード102とグループノード104との間でセッション鍵が確立され得る。中心ノードがエポックA401を終了することを決定したとき、エポックB403が開始し得る。一実施形態では、422aにおいて、エポックBの開始時に交換プロキシトークンの別のセットがグループノード104に送信される。別の実施形態では、422aにおいて、エポックAの終了より前に交換プロキシトークンが送信され得る。グループノード104が現在エポックに関連するプロキシトークンをすでに受信しているので、グループノード104とクライアントノード102との間のセッション鍵を確立することは、そのエポック中にグループノード104と中心ノード106との間の通信を必要とせずに行われ得る。したがって、グループノード104がそのエポックのためのプロキシトークンを受信した後は、グループノード104と中心ノード106との間の通信は、エポック全体にわたって間欠的およびまたは利用不可能であり得る。グループノードが、廃棄されたか、紛失したか、盗まれたか、故障したか、または障害を受けた場合、中心ノード106は、そのグループノードを、障害を受けていないグループノードのそれのリストから削除し得、現在エポックが満了した後に、影響を受けたグループノードは、有効なプロキシトークンを有しないことになり、したがって、クライアントノードとのセキュアな通信セッションを確立することができない。したがって、中心ノード106は、グループノードへのプロキシトークンの送信を終了することによって、グループノードがクライアントノード102との通信を確立するための許可を取り消し得る。取消しは次のエポックの開始時に有効になる。EpochIDがネゴシエーション412を介して確立される実施形態では、エポック識別値はクライアントノード102とグループノード104との間で直接送信され得る。これは、図3のステップ310においてGnodetimeがグループノード104からクライアントノード102に送信されることなど、実時間値が交換される本明細書の他の実施形態とは異なり得る。その上、中心ノードによって障害を受けたと判断された、障害を受けたグループノードは、クライアントノードがより大きいエポック識別値を知った後、クライアントノードによって拒否され得る。クライアントノードは、別の障害を受けていないグループノードとの通信からより大きいエポック値を取得し得、通信は、中心ノードが、障害を受けたグループノードにプロキシトークンを送らなかったエポックの開始の後に行われる。その上、いくつかの実施形態では、クライアントノード102およびグループノード104は、実質的に同時にステップ412および418の選択送信を実行し得る。たとえば、418において、エポック識別値EpochIDCN、EpochIDGN、およびまたはEpochIDGNSelectが、セッション鍵確立プロトコルの1つまたは複数のメッセージ上にピギーバックされ得る。いくつかの実施形態では、412においてネゴシエートされるエポック識別値EpochIDが、予備に保持されているプロキシトークンに対応するとグループノード104が判断した場合、グループノード104は、グループノード104が中心ノード106からコミットメッセージ408を受信していない場合でも、予備に保持されたプロキシトークンから制限付き鍵KRを取り出し得る。これは、少なくともいくつかの障害を受けていないグループノードがコミットメッセージを受信した場合のみ行われ得、これは、中心ノード106がコミット段階を開始したが、当該のグループノード104がコミットメッセージ408をまだ受信していないことを暗示する。このアクションは、システム100において中心ノード106によってグループノード104a~104cに送られるエポック遷移通知の非同期的性質により、セッション鍵確立が失敗することを防止する。例示的なクライアントノード図5に、一例によるクライアントノード102の機能ブロック図を示す。クライアントノード102は、たとえば、通信バス512を介して、互いにすべて通信可能に結合され得る、処理回路など502、メモリ回路504、キャッシュ506、およびまたは通信インターフェース508を含み得る。処理回路502は、本明細書で説明し図において示すクライアントノードにおいて動作可能なステップのいずれかなど、プロセッサ可読プロセスステップの実行を含むデータ処理を実行し得る。たとえば、処理回路502は、図6に示す少なくともステップ602、604、および606を実行するように適応された専用プロセッサであり得る。メモリ回路504は、グループノードの識別情報GnodeIDと、制限付き鍵KRと、EpochIDなど、関連するエポック識別情報とを含んでいるタプルを記憶し得るキャッシュ506を含み得る。キャッシュ506は、データが急速に取り出されることを可能にする仮想キャッシュまたは論理キャッシュであり得る。通信インターフェース508は、通信システム100においてクライアントノード102を1つまたは複数のグループノードに通信可能に結合するために、限定はしないが、Bluetooth、BluetoothLowEnergy、Wifi、およびまたはZigBeeプロトコルなど、任意の低電力通信プロトコルを利用し得る。セッション鍵を確立するクライアントノードの例示的な動作図6に、クライアントノードとグループノードとの間のセッション鍵を確立するためのクライアントノードにおいて動作可能な例示的な方法を示すフローチャート600を示す。最初に、クライアントノードが、602において、現在エポックに関連するエポック識別値を取得し、エポック識別値を取得することは、ノード実時間に基づいてエポック識別値を計算すること、またはエポック識別値をグループノードとネゴシエートすることのうちの1つを含む。次に、クライアントノードは、604において、共有秘密鍵と、エポック識別値と、グループノードに関連するグループノード識別情報とを使用して制限付き鍵を計算し、共有秘密鍵はクライアントノードと中心ノードとに知られる。次いで、クライアントノードは、606において、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行する。また、セッション鍵を検証するために、クライアントノード102とグループノード104とによって鍵検証プロセスが使用され得る。一実施形態では、クライアントノードとグループノードと中心ノードとの間で時間が大まかに同期され得る。その上、現在エポックに関連するエポック識別値を取得するステップは、グループノードからグループノード実時間とグループノード識別情報とを受信するステップと、グループノード実時間をクライアントノード実時間と比較するステップと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断するステップと、ノード実時間からエポック識別値を計算するステップとを含み得る。別の実施形態では、現在エポックに関連するエポック識別値を取得するステップは、グループノードからグループノードエポック値とグループノード識別情報とを受信するステップと、グループノードエポック値をクライアントノードエポック値と比較するステップであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、比較するステップと、エポック識別値をグループノードエポック値とクライアントノードエポック値とのうちの大きいほうとして計算するステップと、計算されたエポック識別値をグループノードに送信するステップとを含み得る。さらに別の実施形態では、現在エポックに関連するエポック識別値を取得するステップは、グループノードにクライアントノードエポック値を送信するステップであって、クライアントノードエポック値が、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しい、送信するステップと、グループノードからエポック識別値とグループノード識別情報とを受信するステップと、受信されたエポック識別値が、送信されたクライアントノードエポック値に等しいかまたはそれよりも大きいことを検証するステップとを含み得る。エポックを定義するために実時間を使用するクライアントノードの例示的な動作図7に、エポックを定義するために実時間を使用してクライアントノードとグループノードとの間のセッション鍵を確立するためのクライアントノードの動作の一例を示す。最初に、クライアントノードが、702において、グループノードからメッセージを受信し、メッセージはグループノードの実時間Gnodetimeとグループノード識別情報GnodeIDとを含む。次に、クライアントノードは、704において、グループノードの実時間がクライアントノードの実時間Cnodetimeに近いかどうかを判断する。これは、グループノードの実時間をクライアントノードの実時間と比較することによって判断され得、グループノードの実時間がクライアントノードの実時間の所定の時間しきい値内にある場合、制限付き鍵KRが確立される。グループノードの実時間がしきい値内にない場合、706においてセッションを中止する。グループノードの実時間が所定の幅のウィンドウ内にある場合、クライアントノードは、708において、ノード実時間、たとえば、グループノードの実時間Gnodetimeからエポック識別値EpochIDを計算する。次に、710において、キャッシュ中にグループノードのエントリがあるかどうかと、キャッシュエポック識別値が、計算されたエポック識別値EpochIDに等しいかどうかとが判断される。キャッシュ中にグループノードのエントリがないか、またはキャッシュエポック識別値が、計算されたエポック識別値EpochIDに等しくない場合、クライアントノードは、712において、共有秘密KMとエポック識別値EpochIDとグループノード識別情報GnodeIDとを使用して制限付き鍵KRを計算する。共有秘密鍵は、クライアントノードがシステムに初めて入ったときに仮想ペアリングプロトコルによって確立されていることがある。次に、クライアントノードは、714において、セッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行し、セッション鍵確立プロトコルにおいて制限付き鍵KRがマスター鍵として使用される。また、セッション鍵を検証するために鍵検証プロトコルが実装され得る。代替的に、710において、キャッシュ中にグループノードのエントリがあり、キャッシュエポック識別値が、計算されたエポック識別値EpochIDに等しい場合、クライアントノードは、714において、制限付き鍵を計算せず、セッション鍵を導出するために直ちにグループノードとのセッション鍵確立プロトコルを実行し、セッション確立プロトコルにおいて制限付き鍵がマスター鍵として使用される。次に、716においてセッション鍵が正常に導出された場合、718において、キャッシュエポック識別値が、計算されたエポック識別値EpochIDに等しいかどうかが判断される。セッション鍵が正常に導出されるかまたは検証されなかった場合、720においてセッションを中止する。キャッシュエポック識別値が、計算されたエポック識別値EpochIDに等しくない場合、722において、キャッシュをフラッシュし、キャッシュエポック識別情報を計算されたエポック識別値EpochIDに設定する。クライアントノードは、次いで724において、同じおよびまたは現在エポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入する。そうではなく、キャッシュエポック識別値が、計算されたエポック識別値に等しい場合、キャッシュをフラッシュせず、クライアントノードは、次いで724において、同じおよびまたは現在エポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入する。エポックを定義するために実時間を使用しないクライアントノードの例示的な動作、クライアントノード開始型図8に、クライアントノードがセッションを開始する、エポックを定義するために実時間を使用せずにクライアントノードとグループノードとの間のセッション鍵を確立するためのクライアントノードの動作の一例を示す。最初に、クライアントノードが、802において、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しいクライアントノードエポック値EpochIDCNを、クライアントノードが通信することになる指定のグループノードに送る送信する。クライアントノードは、次いで804において、グループノードからエポック値EpochIDGNSelectを受信する。受信したエポック値EpochIDGNSelectは、グループノードに送信されたクライアントノードエポック値と、グループノードにおける最大エポック値EpochIDGNとのうちの大きいほうでなければならない。806において、受信したエポック識別情報EpochIDGNSelectが、グループノードに送信されたクライアントノードエポック識別情報よりも小さい場合、クライアントノードは、808においてセッション確立を中止する。そうでない場合、810において、エポック識別値EpochIDは、送信されたクライアントノードエポック値と、受信されたエポック識別情報EpochIDGNSelectとのうちの大きいほうに等しい。次に、812において、エポック識別値EpochIDがキャッシュのエポック識別情報に等しいかどうかと、キャッシュ中にグループノードのエントリがあるかどうかとが判断される。エポック識別値EpochIDがキャッシュのエポック識別情報に等しいか、またはキャッシュ中にグループノードのエントリがある場合、クライアントノードは、816において、セッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行し、クライアントノードは制限付き鍵KRをマスター鍵として使用する。代替的に、エポック識別値EpochIDがキャッシュのエポック識別情報に等しくなく、キャッシュ中にグループノードのエントリがない場合、クライアントノードは、最初に、814において、エポック識別値EpochIDとグループノード識別情報GnodeIDと共有秘密鍵KMとを使用して制限付き鍵KRを計算する。共有秘密鍵は、クライアントノードと中心ノードとの間の前の通信を介して確立されていることがある。次に、クライアントノードは、816において、セッション鍵を導出するためにグループノードとのセッション鍵確立プロトコルを実行し、クライアントノードは制限付き鍵KRをマスター鍵として使用し、鍵検証プロトコルを使用してセッション鍵を検証する。セッション鍵確立プロトコルが成功しなかった場合、822においてセッションを中止する。818において制限付き鍵が正常に導出された場合、820において、キャッシュエポック識別情報がエポック識別値EpochIDに等しいかどうかが判断される。キャッシュエポック識別情報がエポック識別値EpochIDに等しくない場合、824において、キャッシュをフラッシュし、キャッシュエポック識別情報をエポック識別値EpochIDに設定する。クライアントノードは、次いで826において、同じエポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入する。代替的に、キャッシュエポック識別情報がエポック識別値EpochIDに等しい場合、キャッシュをフラッシュせず、クライアントノードは、次いで826において、同じエポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入する。エポックを定義するために実時間を使用しないクライアントノードの例示的な動作、グループノード開始型図9に、エポックを定義するために実時間が使用されず、グループノードがセッションを開始する、クライアントノードとグループノードとの間のセッション鍵を確立するためのクライアントノードの動作の一例を示す。最初に、クライアントノードが、902において、グループノードからグループノードエポック値EpochIDGNを受信し、EpochIDGNはグループノードにおける最大エポック値に関連する。次いで、エポック識別値EpochIDが計算され得る。エポック識別値EpochIDは、904において、受信したグループノードエポック値と、クライアントノードエポック値EpochIDCNとのうちのより大きい値に等しくなる。クライアントノードエポック値は、任意のグループノードとの最新の正常に確立されたセッションにおいて使用される最新の既知のエポック識別値に等しくなり得る。次いで906において、グループノードにエポック識別値EpochIDを送信する。次に、908において、キャッシュ中にグループノードのエントリがあるかどうかと、エポック識別値EpochIDがキャッシュのエポック識別情報に等しいかどうかとが判断され得る。キャッシュ中にグループノードのエントリがあり、エポック識別値EpochIDがキャッシュのエポック識別情報に等しい場合、クライアントノードは、912において、セッション鍵を確立するためにグループノードとのセッション鍵確立プロトコルを実行し、クライアントノードは制限付き鍵KRをマスター鍵として使用する。代替的に、エポック識別値EpochIDがキャッシュのエポック識別情報に等しくないか、またはキャッシュ中にグループノードのエントリがない場合、クライアントノードは、最初に、910において、エポック識別値EpochIDとグループノード識別情報GnodeIDと共有秘密鍵KMとを使用して制限付き鍵KRを計算する。共有秘密鍵は、クライアントノードと中心ノードとの間の前の通信を介して確立されていることがある。次に、クライアントノードは、912において、セッション鍵を生成するためにグループノードとのセッション鍵確立プロトコルを実行し、クライアントノードは制限付き鍵KRをマスター鍵として使用する。914においてセッション鍵が正常に導出された場合、916において、キャッシュエポック識別情報がエポック識別値EpochIDに等しいかどうかが判断される。セッション鍵確立プロトコルが失敗しおよびまたはセッション鍵が検証されなかった場合、918においてセッションを中止する。キャッシュエポック識別情報がエポック識別値EpochIDに等しくない場合、920において、キャッシュをフラッシュし、キャッシュエポック識別情報をエポック識別値EpochIDに設定する。クライアントノードは、次いで922において、同じエポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入する。代替的に、キャッシュエポック識別情報がエポック識別値EpochIDに等しい場合、キャッシュをフラッシュせず、クライアントノードは、次いで922において、同じエポック中にグループノードとの作成されたセッションごとの制限付き鍵の導出を回避するためにキャッシュ中にタプルを挿入する。例示的なグループノード図10に、一例によるグループノード104の機能ブロック図を示す。グループノード104は、クライアントノード102と中心ノード106との間で間接通信を行い得る。グループノード104は、たとえば、通信バス1012を介して、互いにすべて通信可能に結合され得る、処理回路1002、メモリ回路1004、キャッシュ1006、第1の通信インターフェース1008、およびまたは第2の通信インターフェース1010を含み得る。処理回路1002は、本明細書で説明しおよびまたは図に示すグループノードにおいて動作可能なステップのいずれかなど、プロセッサ可読プロセスステップの実行を含むデータ処理を実行し得る。たとえば、処理回路1002は、図11に示す少なくともステップ1102~1108を実行するように適応された専用プロセッサであり得る。メモリ回路1004は、プロキシトークン、セッション鍵、クライアントノード識別子、制限付き鍵KR、および、EpochIDなどの関連するエポック識別情報、ならびに他のデータを記憶し得るキャッシュ1006を含み得る。第1の通信インターフェース1008は、グループノード104を中心ノード106に通信可能に結合するように適応される。第1の通信インターフェースはワイヤレス接続またはワイヤライン接続のいずれかであり得る。第2の通信インターフェース1010は、通信システム100においてグループノード104をクライアントノード102に通信可能に結合するために、限定はしないが、Bluetooth、BluetoothLowEnergy、Wifi、およびまたはZigBeeプロトコルなど、任意の低電力通信プロトコルを利用し得る。セッション鍵を確立するグループノードの例示的な動作図11に、グループノードとクライアントノードとの間のセッション鍵を確立するためのグループノードにおいて動作可能な例示的な方法を示すフローチャート1100を示す。最初に、グループノードが、1102において、中心ノードからエポックに関連するプロキシトークンの第1のセットを受信し、プロキシトークンの第1のセットが、クライアントノードに関連するプロキシトークンを含み、プロキシトークンがクライアントノード識別情報と制限付き鍵とを含む。次に、グループノードは、1104において、プロキシトークンの第1のセットをプロキシトークンの予備セットとして記憶する。次いで、グループノードは、1106において、エポックの開始時にプロキシトークンのアクティブセットをプロキシトークンの予備セットと交換し、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる。次に、グループノードは、1108において、セッション鍵確立プロトコルにおいて制限付き鍵をマスター鍵として使用してセッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行する。一実施形態では、グループノードはまた、エポックに関連するエポック識別値を取得し、エポック識別値に基づいて制限付き鍵を取り出し得る。一例では、エポックに関連するエポック識別値を取得することは、クライアントノード実時間を受信することと、クライアントノード実時間をグループノード実時間と比較することと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断することと、ノード実時間に基づいてエポック識別値を計算することとを含み得る。一例では、エポック識別値に基づいて制限付き鍵を取り出すことは、プロキシトークンの予備セットがエポック識別値に対応するのかプロキシトークンのアクティブセットがエポック識別値に対応するのかを判断することと、プロキシトークンの予備セットがエポック識別値に関連する場合、プロキシトークンの予備セットから制限付き鍵を取得することと、プロキシトークンの予備セットがエポック識別値に関連する場合、プロキシトークンのセットから制限付き鍵を取得することとをさらに含み得る。エポックを定義するために実時間を使用するグループノードの例示的な動作図12に、エポックを定義するために実時間を使用する、中心ノードに対するグループノードの動作の一例を示す。グループノードが、1202において、中心ノードからプロキシトークンのセットを受信し、セット中の各プロキシトークンはクライアントノード識別情報と制限付き鍵とを有する。グループノードは、次いで1204において、プロキシトークンのセットをプロキシトークンの予備セットとして記憶する。グループノードは、次いで1206において、次のエポックの開始まで待つ。次に、グループノードは、1208において、プロキシトークンのアクティブセットを廃棄し、それらをプロキシトークンの予備セットと交換して、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる。次いで1210において、セッション鍵を導出するためにクライアントノードとの標準セッション鍵確立プロトコルを実行し、グループノードは制限付き鍵をマスター鍵として使用する。図13に、エポックを定義するために実時間を使用してグループノードとクライアントノードとの間の通信セッションを確立するためのグループノードの動作の一例を示す。1302においてグループノードによってまたは1304においてクライアントノードによってセッションが開始される。開始されると、グループノードは、1308において、クライアントノードからクライアントノードの実時間を受信する。グループノードがセッションを開始した場合、グループノードは、最初に、1306において、クライアントノードに要求を送る。次に、グループノードは、1310において、グループノードの実時間がクライアントノードの実時間に近いかどうかを判断する。これは、グループノードの実時間をクライアントノードの実時間と比較することによって判断され得、グループノードの実時間がクライアントノードの実時間の所定の最大時間しきい値内にある場合、制限付き鍵が確立される。グループノードの実時間がしきい値内にない場合、1312においてセッションを中止する。グループノードの実時間が所定の最大時間しきい値内にある場合、グループノードは、1314において、ノード実時間、たとえば、グループノードの実時間またはクライアントノードの実時間Cnodetimeのいずれかからエポック識別値を計算する。グループノードがどちらのノード実時間を使用しても、クライアントノードは、同じEpochIDを計算するために同じノード実時間を使用しなければならない。次に、1316において、プロキシトークンのどちらのセットが、計算されたエポック識別値に対応するのかが判断される。トークンの予備セットとトークンのアクティブセットとのいずれも計算されたエポックに対応しない場合、1318においてセッションを中止する。トークンの予備セットが、計算されたエポック識別値に対応する場合、1320において、予備セットからクライアントノードの制限付き鍵を取得する。トークンのアクティブセットが、計算されたエポック識別値に対応する場合、1322において、アクティブセットからクライアントノードの制限付き鍵を取得する。制限付き鍵KRが取得された後に、グループノードは、1324において、セッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行し、セッション鍵確立プロトコルにおいて制限付き鍵がマスター鍵として使用される。また、セッション鍵を検証するために鍵検証プロトコルが実行され得る。次に1326において、セッション鍵が正常に確立されたかどうかに関する判断が行われる。セッション鍵が正常に確立およびまたは検証されなかった場合、1328においてセッションを中止する。グループノードとクライアントノードとの間のセッション鍵を確立するためのグループノードの動作の別の例では、グループノードは、エポックに関連するエポック識別値を取得し得る。次に、グループノードは、エポック識別値に基づいて制限付き鍵を取り出し得る。一実施形態では、エポックに関連するエポック識別値を取得することは、クライアントノード実時間を受信することと、クライアントノード実時間をグループノード実時間と比較することと、グループノード実時間がクライアントノード実時間の最大時間しきい値差内にあると判断することと、グループノード実時間に基づいてエポック識別値を計算することとを含む。別の実施形態では、エポック識別値に基づいて制限付き鍵を取り出すことは、プロキシトークンの予備セットがエポック識別値に対応するのかプロキシトークンのアクティブセットがエポック識別値に対応するのかを判断することと、プロキシトークンの予備セットがエポック識別値に関連する場合、プロキシトークンの予備セットから制限付き鍵を取得することと、プロキシトークンの予備セットがエポック識別値に関連する場合、プロキシトークンのセットから制限付き鍵を取得することとをさらに含む。エポックを定義するために実時間を使用しないグループノードの例示的な動作図14に、エポックを定義するために実時間を使用しない、中心ノードに対するグループノードの動作の一例を示す。グループノードが、1402において、中心ノードからプロキシトークンのセットを受信し、各プロキシトークンはクライアントノード識別情報と制限付き鍵とを有する。グループノードは、次いで1404において、プロキシトークンのセットをプロキシトークンの予備セットとして記憶する。1406においてコミットメッセージを受信すると、グループノードは、1408において、プロキシトークンのアクティブセットを廃棄し、それらをプロキシトークンの予備セットと交換して、プロキシトークンの予備セットがプロキシトークンの次のアクティブセットになる。次いで1410において、セッション鍵を導出するためにクライアントノードとの標準セッション鍵確立プロトコルを実行し、グループノードは制限付き鍵をマスター鍵として使用する。図15に、エポックを定義するために実時間を使用せずにグループノードとクライアントノードとの間の通信セッションを確立するためのグループノードの動作の一例を示す。1502においてグループノードによってまたは1504においてクライアントノードによってセッションが開始される。1502においてセッションがグループノードによって開始された場合、グループノードは、1506において、クライアントノードにローカルエポック識別情報を送り、1508において、クライアントノードからエポック識別情報を受信する。エポック識別値EpochIDは、1510において、ローカルエポック識別情報と、受信したエポック識別情報とのうちの大きいほうとして計算される。1504においてセッションがクライアントノードによって開始された場合、グループノードは、1512において、クライアントノードからエポック識別情報を受信する。エポック識別値EpochIDは、1514において、ローカルエポック識別情報と、受信したエポック識別情報とのうちの大きいほうとして計算される。次いで1516において、クライアントノードにエポック識別値EpochIDを送る。次に、1518において、プロキシトークンのどちらのセットが、計算されたエポック識別値EpochIDに対応するのかが判断される。トークンの予備セットとトークンのアクティブセットとのいずれも計算されたエポック識別値EpochIDに対応しない場合、1520においてセッションを中止する。トークンの予備セットが、計算されたエポック識別値EpochIDに対応する場合、1522において、予備セットからクライアントノードの制限付き鍵を取得する。トークンのアクティブセットが、計算されたエポック識別値EpochIDに対応する場合、1524において、アクティブセットからクライアントノードの制限付き鍵を取得する。制限付き鍵KRが取得された後に、グループノードは、1526において、セッション鍵を導出するためにクライアントノードとのセッション鍵確立プロトコルを実行し、セッション鍵確立プロトコルにおいて制限付き鍵がマスター鍵として使用される。また、セッション鍵を検証するために鍵検証プロトコルが実行され得る。次に1528において、セッション鍵が正常に確立されたかどうかに関する判断が行われる。セッション鍵が正常に確立およびまたは検証されなかった場合、1530においてセッションを中止する。次いで、クライアントノードとの標準鍵確立プロトコルを実行し、鍵確立プロトコルにおいて制限付き鍵がマスター鍵として使用される。セッション鍵検証が行われ得、クライアントノードとの通信セッションが確立され得る。一実施形態では、クライアントノードがセッション確立を開始した場合、グループノードがクライアントノードからエポック識別値を受信し得る。次に、受信したエポック識別情報が最新のコミットされたエポック識別情報よりも小さいかまたはそれに等しい場合、最新のコミットされたエポック識別情報がクライアントノードに送信され得、あるいは、受信したエポック識別情報が、コミットされていないエポック識別情報に等しく、コミットされていないエポック識別情報が、コミットされていないエポックを識別する場合、コミットされていないエポック識別情報がクライアントノードに送信され得る。次に、受信したエポック識別情報が、最新のコミットされたエポック識別情報よりも大きいかどうかと、受信したエポック識別情報が、コミットされていないエポック識別情報に等しくないかどうかとが判断され得る。受信したエポック識別情報が、最新のコミットされたエポック識別情報よりも大きく、受信したエポック識別情報が、コミットされていないエポック識別情報に等しくない場合、セッション確立が中止され得る。しかしながら、受信したエポック識別情報が、最新のコミットされたエポック識別情報よりも大きくなく、受信したエポック識別情報が、コミットされていないエポック識別情報に等しい場合、クライアントノードとの標準鍵確立プロトコルが実行され得る。一実施形態では、鍵確立プロトコルは鍵検証ステップを含んでいることがある。グループノードは、次いで、クライアントノードとの通信セッションを進め得る。例示的な中心ノード図16に、一例による中心ノード106の機能ブロック図を示す。中心ノード106は、グループノード104a~104cを介してクライアントノード102と間接的に通信し得る。中心ノード106は、たとえば、通信バス1608を介して、互いにすべて通信可能に結合され得る、処理回路1602、メモリ回路1604、およびまたは通信インターフェース1606を含み得る。処理回路1602は、本明細書で説明し図において示す中心ノードにおいて動作可能なステップのいずれかなど、プロセッサ可読プロセスステップの実行を含むデータ処理を実行し得る。たとえば、処理回路1602は、図17に示す少なくともステップ1702~1706を実行するように適応された専用プロセッサであり得る。メモリ回路1604は、限定はしないが、関連する共有秘密鍵KMとともに、障害を受けていないグループノードのリストと、クライアントノードのリストとを記憶することを含む、データを記憶するように適応される。通信インターフェース1606は、中心ノード106をグループノード104に通信可能に結合するように適応される。通信インターフェースはワイヤレス接続またはワイヤライン接続のいずれかであり得る。グループノードとクライアントノードとの間の通信セッションを確立するための中心ノードの例示的な動作図17に、第1のグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードにおいて動作可能な例示的な方法を示すフローチャート1700を示す。最初に、中心ノードが、1702において、第2のグループノードが障害を受けたと判断し、第1のグループノードは第1のグループノード識別子を有する。次に、中心ノードは、1704において、障害を受けていないグループノードのリストから、障害を受けた第2のグループノードを削除し、障害を受けていないグループノードのリストは、中心ノードに記憶され、第1のグループノードを含む。次に、中心ノードは、障害を受けていないグループノードのリスト上の各障害を受けていないグループノードに、次のエポックに関連する複数のプロキシトークンを送信し得る。複数のプロキシトークンは、第1のグループノードに関連する第1のプロキシトークンを含み、第1のグループノードに送信され、第1のプロキシトークンはクライアントノード識別情報と制限付き鍵とを含む。次のエポックは次のエポック識別値に関連し、制限付き鍵は、次のエポック識別値、第1のグループノード識別子、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される。一実施形態では、プロキシトークンは、次のエポックの開始より前に送信され得る。別の実施形態では、中心ノードは、第1のグループノードにコミットメッセージを送信し得、コミットメッセージは次のエポックの開始を示す。エポックを定義するために実時間を使用する中心ノードの例示的な動作図18に、エポックを定義するために実時間を使用してグループノードとクライアントノードとの間の通信セッションを確立するための中心ノードの動作の一例を示す。中心ノードが、1802において、次のエポックの開始の前の所定の時間まで待つ。中心ノードは、次いで1804において、次のエポックのためのエポック識別値を計算する。次に、中心ノードは、1806において、障害を受けていないグループノードとクライアントノードとの各組合せについて制限付き鍵KRを計算し、次のエポックのためのエポック識別値を使用してプロキシタプルを構築する。各障害を受けていないグループノードのために、中心ノードは、1808において、そのグループノードのプロキシタプルを送る。たとえば、中心ノードは、特定のグループノードとクライアントノードとの組合せのための制限付き鍵KRを以下の式によって計算し得る。KRCMACただし、GnodeIDはグループノード識別情報であり得、EpochIDは次のエポック値であり得、KMは、クライアントノードと中心ノードとの間で共有される共有秘密鍵であり得、CMACは、暗号ベースのメッセージ認証コードアルゴリズムであり得る。別の例では、中心ノードは、通信システムにおいてグループノードにエポックのプロキシトークンを送信し得、プロキシトークンはクライアントノード識別情報と制限付き鍵とを有し、制限付き鍵は、エポック識別値EpochID、グループノード識別情報GnodeID、およびクライアントノードと中心ノードとの間で前に確立された共有秘密鍵KMから計算される。エポック識別値は実時間から計算され得る。次いで、グループノードが廃棄されたか、障害を受けたか、紛失したか、盗まれたか、または故障したかどうかが判断され得る。グループノードが障害を受けたと判断された場合、障害を受けたグループノードは、中心ノードに記憶された、障害を受けていないグループノードのリストから削除され得る。中心ノードは、次いで、障害を受けたグループノードへのプロキシトークンの送信を終了し、通信システムにおいて、障害を受けていないグループノードに、すなわち、障害を受けていないグループノードのリストの要素にエポックのプロキシトークンを送信し得、プロキシトークンはクライアントノード識別情報と制限付き鍵とを有し、制限付き鍵は、次のエポックの識別情報、グループノードの識別情報、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される。エポックを定義するために実時間を使用しない中心ノードの例示的な動作図19に、エポック識別情報が実時間に関係しない、グループノードとクライアントノードとの間の通信セッションを確立するための中心ノードの動作の一例を示す。中心ノードが、1902において、次のエポックのための時間またはイベントを選定し、次いで、その時間またはイベントが起こるのを待つ。その時間またはイベントが起こると、1904において、エポック識別値カウンタを増分する。次に、中心ノードは、1906において、障害を受けていないグループノードとクライアントノードとの各組合せについて制限付き鍵KRを計算し、次のエポックのためのエポック識別情報を使用してプロキシタプルを構築する。各障害を受けていないグループノードのために、1908において、コミットメッセージを送り、コミットメッセージはエポックの開始を示す。たとえば、中心ノードは、特定のグループノードとクライアントノードとの組合せのための制限付き鍵KRを以下の式によって計算し得る。KRCMACただし、GnodeIDはグループノード識別情報であり得、EpochIDは次のエポックに関連する値であり得、KMは、クライアントノードと中心ノードとの間で共有される共有秘密鍵であり得、CMACは、暗号ベースのメッセージ認証コードアルゴリズムであり得る。エポック識別情報が実時間に関係しない、グループノードとクライアントノードとの間の通信セッションを確立するための中心ノードの動作の別の例では、中心ノードは、システムに入る新しいクライアントノードとの仮想ペアリングプロトコルを使用し得る。グループノードが、障害を受けたか、紛失したか、盗まれたか、故障したか、または管理上の理由で削除されるべきであるかどうかの判断が行われ得る。障害を受けたグループノードが見つかった場合、障害を受けたグループノードは、中心ノードに記憶された、障害を受けていないグループノードのリストから削除され得る。中心ノードは、次いで、障害を受けたグループノードへのプロキシトークンの送信を終了し、通信システムにおいて各障害を受けていないグループノードにエポックのプロキシトークンを送信し得、障害を受けていないノードは、障害を受けていないノードのリストから取られ、プロキシトークンはクライアントノード識別情報と制限付き鍵とを有し、制限付き鍵は、次のエポックの識別情報、グループノードの識別情報、およびクライアントノードと中心ノードとの間で前に確立された共有鍵から計算される。次いで、コミットメッセージがグループノードに送られ得、コミットメッセージはエポックの開始を示す。しかしながら、グループノードが障害を受けていない場合、新しいエポックが開始されるべきであるかどうかに関する判断が行われ得る。新しいエポックが開始されるべきである場合、各クライアントノードのための新しいプロキシトークンがグループノードに送られ得、新しいエポックが開始したことを示す新しいコミットメッセージ、ならびに古いプロキシトークンを廃棄せよという指示がグループノードに送られ得る。中心ノードが新しいエポックを開始しようとしているとき、中心ノードはエポック識別値カウンタを増分し得る。図1、図2、図3、図4、図5、図6、図7、図8、図9、図10、図11、図12、図13、図14、図15、図16、図17、図18、およびまたは図19に示す構成要素、ステップ、特徴およびまたは機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能に再構成され、およびまたは組み合わされ、あるいは、いくつかの構成要素、ステップ、または機能で実施され得る。また、本発明から逸脱することなく、追加の要素、構成要素、ステップ、およびまたは機能が追加され得る。図1、図5、図10、およびまたは図16に示す装置、デバイス、およびまたは構成要素は、図2、図3、図4、図6、図7、図8、図9、図11、図12、図13、図14、図15、図17、図18、およびまたは図19で説明した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。本明細書で説明したアルゴリズムはまた、ソフトウェアで効率的に実装され得、およびまたはハードウェアに組み込まれ得る。また、実施形態は、フローチャート、流れ図、構造図、またはブロック図として示すプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並列または同時に実行され得る。さらに、動作の順序は並び替えられ得る。プロセスは、それの動作が完了したときに終了する。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、それの終了は、呼出し関数またはメイン関数への関数の復帰に対応する。その上、記憶媒体は、読出し専用メモリ、ランダムアクセスメモリ、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスおよびまたは他の機械可読媒体および、プロセッサ可読媒体、およびまたは情報を記憶するためのコンピュータ可読媒体を含む、データを記憶するための1つまたは複数のデバイスを表し得る。機械可読媒体、コンピュータ可読媒体、およびまたはプロセッサ可読媒体という用語は、限定はしないが、ポータブルまたは固定ストレージデバイス、光ストレージデバイス、ならびに命令およびまたはデータを記憶、含有または搬送することが可能な様々な他の媒体などの非一時的媒体を含み得る。したがって、本明細書で説明した様々な方法は、機械可読媒体、コンピュータ可読媒体、およびまたはプロセッサ可読媒体に記憶され、1つまたは複数のプロセッサ、機械およびまたはデバイスによって実行され得る命令およびまたはデータによって、完全にまたは部分的に実装され得る。さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージなどの機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行し得る。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよびまたは受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、フォワーディング、または送信され得る。本明細書で開示する例に関して説明した様々な例示的な論理ブロック、モジュール、回路、要素、およびまたは構成要素は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイまたは他のプログラマブル論理構成要素、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティング構成要素の組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。本明細書で開示する例に関して説明した方法またはアルゴリズムは、ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理ユニット、プログラム命令、または他の指示の形態で直接実施され得、単一のデバイスに含まれるかまたは複数のデバイスにわたって分散され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CDROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。さらに、本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。本明細書で説明した本発明の様々な特徴は、本発明から逸脱することなく様々なシステムで実装され得る。上記の実施形態は例にすぎず、本発明を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、変更形態、および変形形態に容易に適用され得ることが当業者には明らかであろう。