本願の実施形態は、鍵更新プロセスにおけるデータセキュリティを改善するための鍵更新方法および関連装置を開示する。
第1態様によれば、本願の実施形態は、以下のステップを備える鍵更新方法を開示する。
第1鍵更新要求が第2ノードへ送信され、ここで、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される。第1共有鍵は、通信の双方のノードに記憶される同一の秘密値であり、マスター鍵、セッション鍵、事前共有鍵PSKまたは同様のものであり得る。セッション鍵は、ノードによって送信されたデータまたはファイルに対する暗号化または完全性保護を実行するために使用され得る。加えて第1アイデンティティ認証情報は、第1共有鍵に基づいて暗号アルゴリズムを使用することによって生成され得る。暗号アルゴリズムは、ハッシュアルゴリズム(ハッシュアルゴリズムとも称される)、認証アルゴリズム、または同様のもの、例えば、ハッシュベースメッセージ認証コードHMACアルゴリズム(HMACセキュアハッシュアルゴリズムHMAC-SHA256、HMAC-SHA3、HMAC中国暗号アルゴリズムHMAC-SM3などを含む)であり得る。更に、暗号アルゴリズムは、cDNA末端高速増幅RACE完全性プリミティブ評価メッセージダイジェストRIPEMDアルゴリズムを更に含み得る。
第1応答メッセージが第2ノードから受信され、ここで、第1応答メッセージは第2アイデンティティ認証情報を含む。第2アイデンティティ認証情報を生成する原則は、第1アイデンティティ認証情報の原則と同一であり、詳細は本明細書において改めて説明されない。
第1共有鍵を使用することによって、第2アイデンティティ認証情報に対して検証が実行される。
第2アイデンティティ認証情報に対する検証が成功した場合、第1目標鍵が、第1鍵ネゴシエーションパラメータに基づいて決定される。
上述した方法において、元の鍵が失効する前に、第1ノードおよび第2ノードが第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
第1態様の可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点がプロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願における鍵更新方法において、第1ノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、更新時点および/または有効期間を第2ノードに示し得、その結果、第1目標鍵を適宜に有効化できる。
第1態様の更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。第1鍵更新要求は、第1フレーム番号を使用することによって第1更新時点を示すために使用される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第1態様の更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
第1態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することは、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成することを含む。
第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータは、鍵ネゴシエーションプロセスにおいて生成されるアルゴリズムパラメータである。鍵ネゴシエーションは、通信の双方がいくつかのパラメータを交換して、ネゴシエーションを通じて鍵を取得するプロセスである。鍵ネゴシエーションに使用されるアルゴリズムは、鍵ネゴシエーションアルゴリズムまたは鍵交換アルゴリズムと称される。本願の本実施形態において、第1ノードは第1鍵ネゴシエーションアルゴリズムパラメータを生成し、第2ノードは第2鍵ネゴシエーションアルゴリズムパラメータを生成する。第1目標鍵は、双方によって提供される鍵ネゴシエーションアルゴリズムパラメータを使用することによって決定される。DHアルゴリズムを例とすると、2つのノードはそれぞれ、同一の大きい素数pおよび同一のジェネレータ数gを使用することによって、乱数aおよびbを生成する。第1ノードは、gのa乗 mod Pによって生成された値Aを第2ノードへ送信し、第2ノードは、gのb乗 mod Pによって生成された値Bを第1ノードへ送信し、次に、第1ノードは受信値Aに対してa乗演算を実行し、第2ノードは受信値Bに対してa乗演算を実行する。K=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、第1ノードおよび第2ノードによって生成された鍵Kは同一である。
第1態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成することを含む。
第2目標鍵は第1ノードと第2ノードとの間で共有される秘密値であり得るか、または、第1ノードと第2ノードとの間の共有鍵と称され得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
第1態様の更に別の可能な実装において、第1目標鍵はマスター鍵である。
マスター鍵は、ノードの高クラスの秘密値であり、主にセッション鍵などの鍵を保護するために使用される。任意選択の解決策において、セッション鍵は、マスター鍵に基づいて、鍵導出関数(key derivation function, KDF)を使用することによって取得される。任意選択で、マスター鍵はセッション鍵を暗号化するために使用され得る。
第1態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することは、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成することを含み、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
第1態様の更に別の可能な実装において、第1目標鍵は完全性保護鍵または暗号化鍵である。
第1態様の更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定される暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は古い鍵(すなわち第2目標鍵)が失効するときに鍵を更新することであると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、第1目標鍵は、第2目標鍵が失効する前に決定され得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
第1態様の更に別の可能な実装において、第1鍵更新要求を第2ノードへ送信することは、第1通信フレームを使用することによって第1鍵更新要求を第2ノードへ送信することを含み、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用される鍵更新要求に保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行することであり得る。したがって、フレーム番号が前回更新された鍵のフレーム番号まで繰り返す前に第1目標鍵が決定され、その結果、データフレームが、第1目標鍵を使用することによって暗号化される。このように、同一のフレーム番号を有するデータフレームが、異なる鍵を使用することによって2回暗号化され得、これにより、データセキュリティを改善する。代替的解決策において、第1鍵更新要求は、第1フレーム番号の代わりにMACシリアル番号(MAC SN)を含み、MAC SNはMビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。代替的に、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号はまた、MAC SN、すなわち、第3フレーム番号の示すために使用される複数のビットの一部によって示されるMAC SNで置き換えられ得る。この代替的解決策において、第1フレーム番号、第2フレーム番号、および第3フレーム番号の間の値関係は変化しないままである。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第1態様の更に別の可能な実装において、通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む。更に、本願におけるフレーム番号は通信フレームのフレーム番号である。
第1態様の更に別の可能な実装において、方法は更に、第2アイデンティティ情報に対する検証が失敗した場合、第2ノードへの通信接続を切断する、または、更新失敗情報を第2ノードへ送信することを含む。
第2アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、第1ノードは、第2ノードへの通信接続を切断し得るか、または、更新失敗情報を第2ノードへ送信し得、その結果、鍵更新を実行する必要があるノードに対するアクセス要求が再初期化され、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第1態様の更に別の可能な実装において、第1共有鍵を使用することによって第2アイデンティティ認証情報に対して検証を実行する前に、方法は更に、第1応答メッセージに対して完全性検証を実行する段階と、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するステップを実行する段階と、完全性検証が失敗した場合、第2ノードへの通信接続を切断する、または、更新失敗情報を第2ノードへ送信する段階とを備える。
上述した方法において、アイデンティティ情報に対する検証を実行する前に、第1ノードはまず、第1応答メッセージに対する完全性検証を実行して、第1応答メッセージにおける情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1応答情報におけるデータは改ざんされ、鍵は更新できないことを示す。したがって、第1ノードは、第2ノードへの通信接続を切断するか、または、更新失敗情報を第2ノードへ送信し、その結果、第1ノードは、鍵更新を実行する必要があるノードに再アクセスし、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第2態様によれば、本願の実施形態は、以下のステップを含む鍵更新方法を開示する。
第1鍵更新要求が第1ノードから受信され、ここで、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む。第1アイデンティティ認証情報は、第1共有鍵に基づいて暗号アルゴリズムを使用することによって生成され得る。暗号アルゴリズムは、ハッシュアルゴリズム(ハッシュアルゴリズムとも称される)、認証アルゴリズム、または同様のもの、例えば、ハッシュベースメッセージ認証コードHMACアルゴリズム(HMACセキュアハッシュアルゴリズムHMAC-SHA256、HMAC-SHA3、HMA中国暗号アルゴリズムHMAC-SM3などを含む)であり得る。更に、暗号アルゴリズムは、cDNA末端高速増幅RACE完全性プリミティブ評価メッセージダイジェストRIPEMDアルゴリズムを更に含み得る。
第1共有鍵を使用することによって、第1アイデンティティ認証情報に対して検証が実行される。第1共有鍵は、通信の双方のノードに記憶される同一の秘密値であり、マスター鍵、セッション鍵、事前共有鍵PSKまたは同様のものであり得る。セッション鍵は、ノードによって送信されたデータまたはファイルに対する暗号化または完全性保護を実行するために使用され得る。加えて第1アイデンティティ認証情報は、第1共有鍵に基づいて暗号アルゴリズムを使用することによって生成され得る。したがって、第2ノードは、第1共有鍵に基づいて暗号アルゴリズムを使用することによって、第1アイデンティティ認証情報に対して検証を実行し得る。第1アイデンティティ認証情報に対する検証が成功した場合、第1目標鍵が第1鍵ネゴシエーションパラメータに基づいて決定される。
第1応答メッセージが第1ノードへ送信され、ここで、第1応答メッセージは第2アイデンティティ認証情報を含み、第2アイデンティティ認証情報は第1共有鍵を使用することによって生成される。第2アイデンティティ認証情報を生成する原則は、第1アイデンティティ認証情報の原則と同一であり、詳細は本明細書において改めて説明されない。
上述した方法において、元のセッション鍵が失効する前に、第1ノードおよび第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
第2態様の可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点がプロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願における鍵更新方法において、第1ノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、更新時点および/または有効期間を第2ノードに示し得、その結果、第1目標鍵を適宜に有効化できる。
第2態様の更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第2態様の更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
第2態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することは、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成することを含む。
第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータは、鍵ネゴシエーションプロセスにおいて生成されるアルゴリズムパラメータである。鍵ネゴシエーションは、通信の双方がいくつかのパラメータを交換して、ネゴシエーションを通じて鍵を取得するプロセスである。鍵ネゴシエーションに使用されるアルゴリズムは、鍵ネゴシエーションアルゴリズムまたは鍵交換アルゴリズムと称される。本願の本実施形態において、第1ノードは第1鍵ネゴシエーションアルゴリズムパラメータを生成し、第2ノードは第2鍵ネゴシエーションアルゴリズムパラメータを生成する。第1目標鍵は、双方によって提供される鍵ネゴシエーションアルゴリズムパラメータを使用することによって決定される。DHアルゴリズムを例とすると、2つのノードはそれぞれ、同一の大きい素数pおよび同一のジェネレータ数gを使用することによって、乱数aおよびbを生成する。第1ノードは、gのa乗 mod Pによって生成された値Aを第2ノードへ送信し、第2ノードは、gのb乗 mod Pによって生成された値Bを第1ノードへ送信し、次に、第1ノードは受信値Aに対してa乗演算を実行し、第2ノードは受信値Bに対してa乗演算を実行する。K=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、第1ノードおよび第2ノードによって生成された鍵Kは同一である。
第2態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成することを含む。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
第2態様の更に別の可能な実装において、第1目標鍵はマスター鍵である。
マスター鍵は、ノードの高クラスの秘密値であり、主にセッション鍵などの鍵を保護するために使用される。任意選択の解決策において、セッション鍵は、マスター鍵に基づいて、鍵導出関数(key derivation function, KDF)を使用することによって取得される。任意選択で、マスター鍵はセッション鍵を暗号化するために使用され得る。
第2態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することは、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成することを含み、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
第2態様の更に別の可能な実装において、第1目標鍵は完全性保護鍵または暗号化鍵である。
第2態様の更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定される暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵(すなわち、第2目標鍵)が失効するときに鍵を更新することであると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、第1目標鍵は、第2目標鍵が失効する前に決定され得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
第2態様の更に別の可能な実装において、方法は更に、第1アイデンティティ情報に対する検証が失敗した場合、第1ノードへの接続を切断する、または、更新失敗インジケーション情報を第1ノードへ送信することを含む。
第1アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、第2ノードは第1ノードへの接続を切断するか、または、更新失敗インジケーション情報を第1ノードへ送信し得、現在の鍵プロセスを停止し、これにより、鍵更新プロセスにおける第2ノードのデータセキュリティを確実にする。
第2態様の更に別の可能な実装において、第1共有鍵を使用することによって第1アイデンティティ認証情報に対する検証を実行する前に、方法は更に、第1鍵更新要求に対する完全性検証を実行する段階と、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するステップを実行する段階と、完全性検証が失敗した場合、第1ノードへの接続を切断し、または更新失敗インジケーション情報を第1ノードへ送信する段階とを備える。
上述した方法において、アイデンティティ情報に対する検証を実行する前に、第2ノードはまず、第1鍵更新要求に対する完全性検証を実行して、第1鍵更新要求における情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1鍵更新要求におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、第2ノードは、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第3態様によれば、本願の実施形態は装置を開示し、装置は、第1鍵更新要求を第2ノードへ送信するよう構成される送信ユニットであって、前記第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、前記第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、送信ユニットと、第1応答メッセージを前記第2ノードから受信するよう構成される受信ユニットであって、第1応答メッセージは第2アイデンティティ認証情報を含む、受信ユニットと、前記第1共有鍵を使用することによって、前記第2アイデンティティ認証情報に対する検証を実行するよう構成される検証ユニットと、前記第2アイデンティティ認証情報に対する前記検証が成功した場合、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するよう構成される決定ユニットとを備える。
鍵更新プロセスにおいて、上述のノードおよび第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
第3態様の可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点がプロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願において提供されるノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、第2ノードへの更新時点および/または有効期間を示し得、その結果、第1目標鍵を適宜に有効化することができる。
第3態様の更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第3態様の更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
第3態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、決定ユニットは、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
第3態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは、新規パラメータを含み、決定ユニットは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
第3態様の更に別の可能な実装において、第1目標鍵はノードのマスター鍵である。
第3態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、決定ユニットは、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、ここで、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
第3態様の更に別の可能な実装において、第1目標鍵はノードの完全性保護鍵または暗号化鍵である。
第3態様の更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定される暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効するときに鍵を更新することであると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において提供されるノードは、鍵が失効する前に第1目標鍵を決定し得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
第3態様の更に別の可能な実装において、送信ユニットは、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信するよう構成され、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用された鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。
通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行することであり得る。したがって、フレーム番号が前回更新された鍵のフレーム番号まで繰り返す前に第1目標鍵が決定され、その結果、データフレームが、第1目標鍵を使用することによって暗号化される。このように、同一のフレーム番号を有するデータフレームが、異なる鍵を使用することによって2回暗号化され得、これにより、データセキュリティを改善する。代替的解決策において、第1鍵更新要求は、第1フレーム番号の代わりにMACシリアル番号(MAC SN)を含み、MAC SNはMビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。代替的に、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号はまた、MAC SN、すなわち、第3フレーム番号の示すために使用される複数のビットの一部によって示されるMAC SNで置き換えられ得る。この代替的解決策において、第1フレーム番号、第2フレーム番号、および第3フレーム番号の間の値関係は変化しないままである。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第3態様の更に別の可能な実装において、通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む。
第3態様の更に別の可能な実装において、第2アイデンティティ情報に対する検証が失敗した場合、送信ユニットおよび受信ユニットは第2ノードへの通信接続を切断するか、または、更新失敗情報を第2ノードへ送信する。
第2アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、上述のノードは、第2ノードへの通信接続を切断し得るか、または、更新失敗情報を第2ノードへ送信し得、その結果、鍵更新を実行する必要があるノードに対するアクセス要求が再初期化され、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第3態様の更に別の可能な実装において、検証ユニットは更に、第1応答メッセージに対する完全性検証を実行するよう構成され、完全性検証が成功した場合、続いて、第1共有鍵を使用することによって、第2アイデンティティ認証情報に対する検証を実行するステップを実行し、完全性検証が失敗した場合、送信ユニットおよび受信ユニットは第2ノードへの通信接続を切断するか、または、送信ユニットを使用することによって、更新失敗情報を第2ノードへ送信するか、もしくは、更新失敗情報を第2ノードへ送信し得る。
ノードは、アイデンティティ情報に対する検証を実行する前に、まず、第1応答メッセージに対する完全性検証を実行し、第1応答メッセージにおける情報が改ざんされていないと決定し得る。完全性検証が失敗した場合、第1応答情報におけるデータは改ざんされ、鍵は更新できないことを示す。したがって、ノードは、第2ノードへの通信接続を切断するか、または、更新失敗情報を第2ノードへ送信し、その結果、ノードは、鍵更新を実行する必要があるノードに再アクセスし、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第4態様によれば、本願の実施形態は装置を開示し、装置は、第1鍵更新要求を第1ノードから受信するよう構成される受信ユニットであって、前記第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む、受信ユニットと、第1共有鍵を使用することによって前記第1アイデンティティ認証情報に対する検証を実行するよう構成される検証ユニットと、前記第1アイデンティティ認証情報に対する前記検証が成功した場合、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するよう構成される決定ユニットと、第1応答メッセージを前記第1ノードへ送信するよう構成される送信ユニットであって、前記第1応答メッセージは第2アイデンティティ認証情報を含み、前記第2アイデンティティ認証情報は、前記第1共有鍵を使用することによって生成される、送信ユニットとを備える。
元のセッション鍵が失効する前に、上述のノードおよび第1ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
第4態様の可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点がプロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願における鍵更新方法において、第1ノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、更新時点および/または有効期間をノードに示し得、その結果、第1目標鍵を適宜に有効化できる。
第4態様の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は、第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第4態様の更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
第4態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、決定ユニットは、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
第4態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは、新規パラメータを含み、決定ユニットは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
第4態様の更に別の可能な実装において、第1目標鍵はノードのマスター鍵である。
第4態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、決定ユニットは、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、ここで、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムを識別するために使用される。
第4態様の更に別の可能な実装において、第1目標鍵は、第2ノードの完全性保護鍵または暗号化鍵である。第4態様の更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定される暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効するとき、鍵を更新するものと理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、第1目標鍵は、鍵が失効する前に決定され得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
第4態様の更に別の可能な実装において、第1アイデンティティ情報に対する検証が失敗した場合、送信ユニットおよび受信ユニットは、第1ノードへの接続を切断するか、または、送信ユニットを使用することによって更新失敗インジケーション情報を第1ノードへ送信する。
第1アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、ノードは第1ノードへの接続を切断するか、または、更新失敗インジケーション情報を第1ノードへ送信し得、現在の鍵プロセスを停止し、これにより、鍵更新プロセスにおけるノードのデータセキュリティを確実にする。
第4態様の更に別の可能な実装において、検証ユニットは更に、第1鍵更新要求に対する完全性検証を実行するよう構成され、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するステップを実行し、完全性検証が失敗した場合、ノードは第1ノードへの接続を切断するか、または、送信ユニットを使用することによって更新失敗インジケーション情報を第1ノードへ送信する。
上述のノードは、アイデンティティ情報に対する検証を実行する前に、まず第1鍵更新要求に対する完全性検証を実行して、第1鍵更新要求における情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1鍵更新要求におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、上述のノードは、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第5態様によれば、本願の実施形態は装置を開示する。ノードはメモリ、プロセッサおよび通信インタフェースを備え、メモリは計算機プログラムを記憶し、プロセッサは、メモリに記憶されたコンピュータプログラムを呼び出し、以下のオペレーション、すなわち、通信インタフェースを通じて第1鍵更新要求を第2ノードへ送信することであって、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、こと、通信インタフェースを通じて、第1応答メッセージを第2ノードから受信することであって、第1応答メッセージは第2アイデンティティ認証情報を含む、こと、第1共有鍵を使用することによって、第2アイデンティティ認証情報に対する検証を実行すること、および、第2アイデンティティ認証情報に対する検証が成功した場合、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することを実行する。
鍵更新プロセスにおいて、上述のノードおよび第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
第5態様の可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点がプロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願において提供されるノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、第2ノードへの更新時点および/または有効期間を示し得、その結果、第1目標鍵を適宜に有効化することができる。
第5態様の更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第5態様の更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
第5態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサは具体的には、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
第5態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサは具体的には、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
第5態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサは具体的には、以下のように構成される。
第5態様の更に別の可能な実装において、第1目標鍵は、ノードのマスター鍵である。第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成し、ここで、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
第5態様の更に別の可能な実装において、第1目標鍵は、ノードの完全性保護鍵または暗号化鍵である。
第5態様の更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定される暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効するとき鍵を更新すると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、第1目標鍵は、鍵が失効する前に決定され得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
第5態様の更に別の可能な実装において、通信インタフェースは、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信し、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用された鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。
通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行することであり得る。したがって、フレーム番号が前回更新された鍵のフレーム番号まで繰り返す前に第1目標鍵が決定され、その結果、データフレームが、第1目標鍵を使用することによって暗号化される。このように、同一のフレーム番号を有するデータフレームが、異なる鍵を使用することによって2回暗号化され得、これにより、データセキュリティを改善する。代替的解決策において、第1鍵更新要求は、第1フレーム番号の代わりにMACシリアル番号(MAC SN)を含み、MAC SNはMビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。代替的に、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号はまた、MAC SN、すなわち、第3フレーム番号の示すために使用される複数のビットの一部によって示されるMAC SNで置き換えられ得る。この代替的解決策において、第1フレーム番号、第2フレーム番号、および第3フレーム番号の間の値関係は変化しないままである。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第5態様の更に別の可能な実装において、通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む。
第5態様の更に別の可能な実装において、プロセッサは更に、第2アイデンティティ情報に対する検証が失敗した場合、第2ノードへの通信接続を切断し、または、通信インタフェースを通じて更新失敗情報を第2ノードへ送信するよう通信インタフェースに示すよう構成される。
第2アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、上述のノードは、第2ノードへの通信接続を切断し得るか、または、更新失敗情報を第2ノードへ送信し得、その結果、鍵更新を実行する必要があるノードに対するアクセス要求が再初期化され、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第5態様の更に別の可能な実装において、プロセッサは更に、第2ノードから第1応答メッセージを受信した後に、第1応答メッセージに対する完全性検証を実行し、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するステップを実行するよう構成され、プロセッサは更に、完全性検証が失敗した場合、第2ノードへの通信接続を切断するか、または、通信インタフェースを通じて更新失敗情報を第2ノードへ送信するよう通信インタフェースに示すよう構成される。
完全性検証は、情報が改ざんされているかどうかを決定するために実行され得ることが分かり得る。したがって、アイデンティティ情報に対する検証を実行する前に、上述のノードはまず、第1応答メッセージに対する完全性検証を実行して、第1応答メッセージにおける情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1応答情報におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、ノードは、第2ノードへの通信接続を切断するか、または、更新失敗情報を第2ノードへ送信し、その結果、ノードは、鍵更新を実行する必要があるノードに再アクセスし、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第6態様によれば、本願の実施形態は装置を開示する。ノードはメモリ、プロセッサおよび通信インタフェースを備え、メモリは計算機プログラムを記憶し、プロセッサは、メモリに記憶されたコンピュータプログラムを呼び出し、以下のオペレーション、すなわち、通信インタフェースを通じて第1鍵更新要求を第2ノードへ送信することであって、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、こと、通信インタフェースを通じて、第1応答メッセージを第2ノードから受信することであって、第1応答メッセージは第2アイデンティティ認証情報を含む、こと、第1共有鍵を使用することによって、第2アイデンティティ認証情報に対する検証を実行すること、および、第2アイデンティティ認証情報に対する検証が成功した場合、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することを実行するよう構成される。
元のセッション鍵が失効する前に、上述のノードおよび第1ノードは第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
第6態様の可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点は、プロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願において、第1ノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、更新時点および/または有効期間をノード示し得、その結果、第1目標鍵を適宜に有効化できる。
第6態様の更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
第6態様の更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
第6態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサは具体的には、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
第6態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサは具体的には、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
第6態様の更に別の可能な実装において、第1目標鍵はノードのマスター鍵である。
第6態様の更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサは具体的には、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
第6態様の更に別の可能な実装において、第1目標鍵は、ノードの完全性保護鍵または暗号化鍵である。
第6態様の更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定される暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効するときに鍵を更新することであることが理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、第1目標鍵は、鍵が失効する前に決定され得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
第6態様の更に別の可能な実装において、プロセッサは更に、第1アイデンティティ情報に対する検証が失敗した場合に、第1ノードへの通信接続を切断する、または、通信インタフェースを通じて更新失敗インジケーション情報を第1ノードへ送信するよう通信インタフェースに示すよう構成される。
第1アイデンティティ認証情報に対する検証が失敗した場合、ノードは、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、現在の鍵プロセスを停止し、これにより、鍵更新プロセスのノードのデータセキュリティを確実にすることが分かり得る。
第6態様の更に別の可能な実装において、プロセッサは更に、第1鍵更新要求を第1ノードから受信した後、第1鍵更新要求に対する完全性検証を実行し、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第1アイデンティティ認証情報に対する検証を実行するステップを実行するよう構成され、プロセッサは更に、完全性検証が失敗した場合、第1ノードへの接続を切断するか、または、通信インタフェースを通じて更新失敗インジケーション情報を第1ノードへ送信するよう通信インタフェースに示すよう構成される。
上述のノードは、アイデンティティ情報に対する検証を実行する前に、まず第1鍵更新要求に対する完全性検証を実行して、第1鍵更新要求における情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1鍵更新要求におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、上述のノードは、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
第7態様によれば、本願の実施形態はコンピュータ可読記憶媒体を開示する。このコンピュータ可読記憶媒体は、コンピュータプログラムを記憶する。コンピュータプログラムが1または複数のプロセッサ上で実行されるとき、第1態様および第1態様の可能な実装のいずれか1つ、または、第2態様および第2態様の可能な実装のいずれか1つにおける方法が実行される。
第8態様によれば、本願の実施形態はチップシステムを開示する。チップシステムは、少なくとも1つのプロセッサ、メモリおよびインタフェース回路を含む。インタフェース回路は、少なくとも1つのプロセッサについての情報入力/出力を提供するよう構成され、少なくとも1つのメモリはコンピュータプログラムを記憶し、コンピュータプログラムが1または複数のプロセッサで実行されるとき、第1態様および第1態様の可能な実装のいずれか1つ、または、第2態様および第2態様の可能な実装のいずれか1つにおける方法が実行される。
第9態様によれば、本願の実施形態は車両を開示する。車両は第1ノード(例えば、自動車運転席ドメインコントローラCDC)を含む。更に、車両は第2ノード(例えば、カメラ、スクリーン、マイク、スピーカ、レーダ、電子鍵、およびキーレスエントリ、または起動システムコントローラなどのモジュールの少なくとも1つ)を更に含む。第1ノードは、第3態様および第3態様の可能な実装のいずれか1つ、または、第5態様および第5態様の可能な実装のいずれか1つにおけるノードであり、第2ノードは、第4態様および第4態様の可能な実装のいずれか1つ、または、第6態様および第6態様の可能な実装のいずれか1つにおけるノードである。
以下では、本願の実施形態における添付図面を参照して、本願の実施形態を説明する。本願において、「例」、「例えば」または同様のものなどの単語は、例、例示または説明を提供することを表すために使用されることに留意されたい。本願において「例」または「例えば」として説明される任意の実施形態または設計解決策は、別の実施形態または設計解決策より好ましい、または、より多くの利点を有するものとして説明されるものではない。厳密には、「例」、「例えば」、または同様のものなどの単語の使用は、特定の方式における相対的な概念を提示することを意図する。
以下ではまず、理解を容易にするために、本願における関連技術および技術用語を簡潔に説明する。
1.ノード(node)
ノードとは、データ受信/送信能力を有する電子デバイスである。例えば、ノードは、自動車運転席(Cockpit Domain)デバイス、または、自動車運転席デバイスにおけるモジュール(運転席ドメインコントローラ(cockpit domain controller, CDC)、カメラ、スクリーン、マイク、スピーカ、電子鍵、およびキーレスエントリ、または、起動システムコントローラなどのモジュールの1または複数)であり得る。具体的な実装プロセスにおいて、ノードは、データ転送デバイス、例えば、ルータ、リピータ、ブリッジまたはスイッチであり得るか、または、例えば、ユーザ機器(user equipment、UE)、携帯電話(mobile phone)、タブレットコンピュータ(pad)、デスクトップコンピュータ、ヘッドセット、およびスピーカなどの様々なタイプの端末デバイスであり得、自動運転(self-driving)デバイス、交通安全(transportation safety)デバイス、仮想現実(virtual reality, VR)端末デバイス、拡張現実(augmented reality, AR)端末デバイス、マシンタイプ通信(machine type communication, MTC)デバイス、産業用制御(industrial control)デバイス、リモート医療(remote medical)デバイス、スマートグリッド(smart grid)デバイス、およびスマートシティ(smart city)デバイスなどのマシンインテリジェンスデバイスを更に含み得、ウェアラブルデバイス(例えば、スマートウォッチ、スマートバンド、または歩数計)などを更に含み得る。いくつかの技術シナリオにおいて、同様のデータ受信/送信能力を有するデバイスの名称は、ノードと称されないことがあり得る。しかしながら、説明を容易にするべく、データ受信/送信能力を有する電子デバイスは、本願の実施形態において、ノードと総称される。
2.鍵(key)
通信プロセスにおいて、データが通信ノード間で送信される。データを機密に維持する必要がある場合、鍵を使用することによってデータを暗号化する必要がある。ノードにおける機密に維持される必要がある内容の秘密レベルおよび秘密クラスは異なることがあるので、異なるタイプの鍵を暗号化に使用する必要がある。一般的な鍵タイプとして、セッション鍵、マスター鍵、共有鍵などが挙げられる。
(1)セッション鍵(session key)
セッション鍵として、暗号化鍵、完全性保護鍵、ファイル鍵などが挙げられる。暗号化鍵は、ノードによって送信されるデータを保護するために使用され得、データ暗号化鍵とも称され得る。完全性保護鍵は、送信データに対して完全性保護を実行するために使用され得る。ファイル鍵は、送信ファイルを保護するために使用され得る。任意選択で、セッション鍵は、通信の双方のノードにおいて事前構成され得るか、または、通信の双方の間のネゴシエーションを通じて取得され得るか、または、元の鍵を使用することによって導出され得るか、または、鍵配布センター(Key Distribution Center, KDC)によって割り当てられ得る。任意選択で、セッション鍵は、対称暗号化アルゴリズム(symmetric encryption algorithm)の鍵であり得るか、または、非対称暗号化アルゴリズム(asymmetric encryption algorithm)の鍵であり得る。
(2)マスター鍵(master key)
マスター鍵は、ノードの高クラス秘密値であり、セッション鍵、サブマスター鍵などを導出するために使用され得る。サブマスター鍵は、クラスがマスター鍵とセッション鍵との間の鍵であり、中間鍵と称されることがある。
いくつかの可能な解決策において、マスター鍵は、物理的または電子的隔離を通じて厳格に保護され得る。
(3)共有鍵(shared key, SK)
共有鍵は、通信の双方のノードに記憶される同一の秘密値である。いくつかの任意選択の解決策において、ノードは、マスター鍵、セッション鍵、または事前共有鍵(pre-shared key, PSK)を共有鍵として使用し得る。ノードには1または複数の共有鍵があり得る。
例えば、ノードは、セッション鍵を共有鍵として使用する。例えば、ノードAおよびノードBが、対称暗号化アルゴリズム(すなわち、同一の鍵が暗号化および解読に使用される)を使用して互いに通信する場合、ノードAは、暗号化鍵Kmを使用することによって平文メッセージを暗号化し、平文メッセージをノードBへ送信し、ノードBは解読鍵Kmを使用することによって平文メッセージを解読する。この場合、暗号化鍵Kmは、2つのノード間の共有鍵として使用され得る。
別の例として、ノードは、事前共有鍵を共有鍵として使用し得、事前共有鍵は、2つのノード間の接続を識別する秘密値である。事前共有鍵は、通信の双方のノードにおいて事前構成され得る。例えば、車両の運転席ドメインコントローラ(cockpit domain controller, CDC)および車内レーダデバイスは、互いに通信し得る2つのノードであり、展開中に秘密値がCDCおよび車内レーダについて事前構成され、車両のCDCのみがルーフレーダに接続され得るか、または、データをルーフレーダへ送信し得る。事前共有鍵は代替的に、通信を通じて通信の双方によって取得され得る。例えば、CDCがBluetooth(登録商標)を通じて携帯電話に接続される前に、ペアリングを確認することによって事前共有鍵が生成され得る。加えて、事前共有鍵は、信頼済みデバイス(例えばKDC)によって別個に第1ノードおよび第2ノードへ送信され得る。
3.鍵ネゴシエーション
鍵ネゴシエーションとは、通信の双方がいくつかのパラメータを交換して、ネゴシエーションを通じて鍵を取得するプロセスである。鍵ネゴシエーションに使用されるアルゴリズムは、鍵ネゴシエーションアルゴリズムまたは鍵交換アルゴリズムと称される。一般的な鍵ネゴシエーションアルゴリズムとして、ディフィー・ヘルマン(Diffie-Hellman, DH)アルゴリズム、楕円曲線暗号(Elliptic Curve Cryptosystems, ECC)ディフィー・ヘルマン(ECDH)アルゴリズム、オークリー(Oakley)アルゴリズム、中国暗号アルゴリズム(例えば、SM1、SM2、SM3、およびSM4)などが挙げられる。
DHアルゴリズムを例とすると、2つのノードはそれぞれ、同一の素数pおよび同一の乱数gを使用することによって、乱数aおよびbを生成する。第1ノードは、gのa乗mod Pによって生成された値を第2ノードへ送信し、第2ノードは、gのb乗mod Pによって生成された値を第1ノードへ送信し、次に、第1ノードは、受信した結果に対してa乗演算を実行し、第2ノードは、受信した結果に対してa乗演算を実行し、ここで、modは剰余演算を表す。最後に、パスワードが形成され、鍵交換が完了する。
図1は、本願の実施形態によるDHアルゴリズムの概略原理図である。DHアルゴリズムにおいて鍵を交換するステップは以下の通りである。
ステップ1:第1ノードが素数p、乱数gおよび乱数aを決定する。
ステップ2:第1ノードが第1計算値Aを生成し、Aは以下の式、すなわち、A=ga mod pを満たす。
ステップ3:第1ノードが素数p、乱数g、および第1計算値Aを第2ノードへ送信する。
ステップ4:第2ノードが乱数bを決定する。
ステップ5:第2ノードが計算を通じて第2計算値Bを取得し、Bは例えば、以下の式、すなわち、B=gb mod pを満たす。
ステップ6:第2ノードがネゴシエーションを通じて鍵s=Ab mod pを計算する。
ステップ7:第2ノードが第1計算値Bを第1ノードへ送信する。
ステップ8:第1ノードがs=Ba mod pを計算する。
K=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pなので、第1ノードおよび第2ノードによって計算される鍵sは同一である。加えて、鍵sはネットワーク上で送信されず、アルゴリズムにおいて選択される素数p、乱数g、乱数aおよび乱数bの値は実際には非常に大きいので、ネットワーク上で送信される素数p、乱数g、第1計算値A、および第2計算値Bに基づいて鍵sを導出することは困難である。したがって、DHアルゴリズムを使用することによって取得された鍵はセキュアである。
4.鍵導出
鍵導出とは、1つの秘密値から1または複数の鍵を導出することである。鍵を導出するのに使用されるアルゴリズムは、鍵導出アルゴリズム(key derivation function, KDF)と称される。例えば、秘密値Keyを使用することによって導出される新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータ(fresh parameter)であり、更新において使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などのうち少なくとも1つを含み得る。異なる瞬間の新規パラメータは通常異なる。フレーム番号は、フレームの番号であり、フレームは、複数のビットまたはフィールドを含む特定の情報構造である。例えば、時分割多元接続(time division multiple access, TDMA)通信技術において、時間は周期的フレームにセグメント化され、各フレームのフレーム番号は、0から2715647まで周期的に変化する。
一般的な鍵導出アルゴリズムとして、パスワードベース鍵導出関数(password-based key derivation function, PBKDF)、スクリプト(scrypt)アルゴリズムなどが挙げられる。PBKDFアルゴリズムは更に、第1世代PBKDF1および第2世代PBKDF2を含む。任意選択で、いくつかのKDFアルゴリズムの鍵導出プロセスにおいて、入力された秘密値に対してハッシュ変更を実行するためにハッシュアルゴリズムが使用される。したがって、アルゴリズム識別子は更に、KDF機能における入力として受信され得、使用されるハッシュアルゴリズムを示す。
PBKDF2を例とすると、PBKDF2アルゴリズムにおいて秘密値Keyを使用することによって導出された新しい鍵DKは、DK=PBKDF2(PRF、Key、salt、c、dk_len)として表現され得、ここで、パラメータPRFは、使用されるハッシュアルゴリズムの識別子を示し、saltは、ランダムに生成されるソルトであり、新規パラメータとみなされ得、cは反復回数の量であり、dk_lenは、生成されたDKの長さであり、ブロックサイズとも称され得、デフォルトであり得る。図2は、本願の実施形態による鍵導出アルゴリズムの概略図である。導出された鍵1は、秘密値201、アルゴリズム識別子1、および新規パラメータfresh1を使用することによって取得され得、導出された鍵2は、秘密値201、アルゴリズム識別子1、および新規パラメータfresh2を使用することによって取得され得、ここで、反復回数の量およびブロックサイズは事前設定される。
5.暗号アルゴリズム
暗号アルゴリズムは、暗号化および/または解読のための数学的関数であり得、暗号関数とも称され得る。一般的な暗号アルゴリズムとして、ハッシュアルゴリズム、認証アルゴリズム、または同様のものが挙げられる。ハッシュアルゴリズムは、ハッシュ(Hash)関数またはハッシュアルゴリズムとも称される。ハッシュアルゴリズムは、任意の長さの情報を識別子に変換するために使用され得、逆のルールを発見することは困難である。一般的なハッシュアルゴリズムとして、ハッシュベースメッセージ認証コード(hash-based message authentication code, HMAC)、HMAC中国暗号アルゴリズムHMAC-SM(例えば、HMAC-SM3)、HMAC-SHA256またはHMAC-SHA3などのHMACセキュアハッシュアルゴリズム(HMACセキュアハッシュアルゴリズム、HMAC-SHA)などが挙げられ、MD2、MD4、またはMD5などのメッセージダイジェスト(message digest, MD)アルゴリズムを更に含み得る。更に、暗号アルゴリズムは、cDNA末端の高速増幅(rapid-amplification of cDNA ends, RACE)完全性プリミティブ評価メッセージダイジェスト(RACE Integrity Primitives Evaluation Message Digest, RIPEMD)アルゴリズムを更に含み得る。
以下では、本願の実施形態におけるシステムアーキテクチャおよびサービスシナリオを説明する。本願において説明されるシステムアーキテクチャおよびサービスシナリオは、本願における技術的解決策をより明確に説明することを意図するものであり、本願において提供される技術的解決策に対する限定を構成するものではないことに留意されたい。当業者であれば、システムアーキテクチャの発展および新しいサービスシナリオの登場に伴い、本願において提供される技術的解決策は、同様の技術的問題にも適用可能であることに気付き得る。
図3は、本願の実施形態による通信システムの概略アーキテクチャ図である。通信システムは、第1ノード301および第2ノード302を備える。第1ノード301は、データリンクを通じて第2ノード302と通信し得る。盗聴者(または攻撃者)が情報の内容を取得することを防止するべく、通信中の情報は、暗号化鍵を使用することによって暗号化され得る。例えば、第1ノード301は、暗号化鍵305を使用することによって、送信される必要がある平文メッセージ303を暗号化し、暗号文メッセージ304を取得する。第1ノード301は、暗号文メッセージ304を第2ノード302へ送信する。それに対応して、第2ノード302は、暗号文メッセージ304を受信した後に、鍵を使用することによって暗号文メッセージ304を解読して平文メッセージ303を取得し得、これにより、データ送信を完了する。暗号化鍵および解読鍵に加えて、第1ノード301および第2ノード302は更に、完全性保護鍵、ファイル鍵、およびマスター鍵などの鍵を含み得る。
第1ノード301および第2ノード302は異なるデバイスであり得ることに留意されたい。例えば、図4は、本願の実施形態による鍵更新方法の使用シナリオの概略図である。CDC401およびカメラ402は、スマート運転席デバイスにおける2つのノードである。CDC401は第1ノード301とみなされ得、カメラ402は第2ノード302とみなされ得る。カメラ402は、鍵を使用することによってビデオデータを暗号化し、Bluetoothを通じて暗号化ビデオデータをCDC401へ送信し、CDC401はBluetoothを通じて暗号化ビデオデータを受信し、暗号化ビデオデータを解読して、撮影されたビデオデータを取得する。第1ノード301および第2ノード302は代替的に、同一のタイプのノードであり得る。例えば、第1ノード301が携帯電話Aであり、かつ、第2ノード302が携帯電話Bである場合、携帯電話Aは、ローカル音声データを暗号化し、ネットワークコールを通じて、暗号化された音声データをB側へ送信し得る。
任意選択で、第1ノード301と第2ノード302との間でデータを送信するためのデータリンクは、様々なタイプの接続媒体、例えば、有線リンク、無線リンク(例えばWi-Fi(登録商標)またはBluetooth)または光ファイバリンクを含み得る。
任意選択で、第1ノード301は、通信を開始する側であり得、マスターノードと称され得る。それに対応して、第2ノード302は、通信の受信側であり、セカンダリノードと称され得る。
ノードにおける暗号化された内容が公開されないことを確実にするべく、鍵の使用期間は通常、限定されている。したがって、鍵更新の仕組みを導入する必要がある。例えば、Bluetoothを通じて接続されるCDC401およびカメラ402を例とすると、E0暗号化方式が使用される場合、CDC401およびカメラ402は、228のBluetoothティック(ticks)(約23.3時間)内に鍵を1回更新する必要がある。高度暗号化標準(advanced encryption standard, AES)暗号化アルゴリズムが使用される場合、CDC401およびカメラ402は、238ティック(約2.72年)内に鍵を1回更新する必要がある。別の例として、マスター鍵およびセッション鍵を含むノードにおいて、マスター鍵およびカウンタ値を使用することによってセッション鍵が生成されるとき、カウンタ値が反転される(または、カウントの新ラウンドが再開する)前に、マスター鍵が更新される必要がある。鍵更新プロセスにおいて、鍵更新に使用され、ノード間で送信されるメッセージは、中間者攻撃に対して脆弱であり、これにより、データセキュリティに影響が生じる。この問題を解決するべく、本願の実施形態は、以下の方法を提供する。
図5は、本願の実施形態による鍵更新方法の概略フローチャートである。鍵更新方法は、図3に示されるアーキテクチャに基づいて実装され得る。当該方法は、以下のステップを備えるが、それらに限定されない。
ステップ:S501:第1ノードが第1鍵更新要求を第2ノードへ送信する。
具体的には、第1鍵更新要求は、第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む。第1鍵ネゴシエーションパラメータは、第1目標鍵を生成するのに使用される鍵パラメータである。複数の任意選択のケースが以下のように説明される。
ケース1:第1鍵ネゴシエーションパラメータが鍵ネゴシエーションアルゴリズムのパラメータKEmを含み得る。説明を容易にするべく、鍵ネゴシエーションアルゴリズムのパラメータKEmは第1鍵ネゴシエーションアルゴリズムパラメータと称され得る。
鍵ネゴシエーションアルゴリズムがDHアルゴリズムである例において、第1ノードにおいて決定されるDHアルゴリズムのパラメータは、素数p、乱数g、乱数aおよび計算値Aを含む。計算値Aは、以下の式、すなわち、A=ga mod pを満たし、素数pおよび乱数gは更に、DHアルゴリズムの別のパラメータを生成するために第2ノードによって使用される。任意選択で、素数p、乱数g、および計算値Aが第2ノードへ送信される必要があるので、素数p、乱数gおよび計算値Aは、第1ノードの公開鍵とみなされ得る。それに対応して、乱数aは第2ノードへ送信されないので、乱数aは、第1ノードの秘密鍵とみなされ得る。任意選択で、第1ノードは、計算値Aを第1鍵ネゴシエーションアルゴリズムパラメータKEmとして使用し、第1鍵更新要求を送信する前に素数pおよび乱数gを第2ノードへ送信するか、または、素数p、乱数g、および計算値Aを第1鍵ネゴシエーションアルゴリズムパラメータKEmとして使用し、第1鍵更新要求を使用することによって、第1鍵ネゴシエーションアルゴリズムパラメータKEmを第2ノードへ送信し得る。
ケース2:第1鍵ネゴシエーションパラメータは新規パラメータ(fresh parameter)を含み得る。
本願の本実施形態において、第1鍵更新要求における第1アイデンティティ認証情報は、第1ノードと第2ノードとの間の共有鍵を使用することによって生成され得る。説明を容易にするべく、第1鍵更新要求を生成するための共有鍵は、第1共有鍵と称され、第1共有鍵は、マスター鍵または事前共有鍵PSKなどの鍵であり得る。
任意選択の解決策において、第1アイデンティティ認証情報は、暗号アルゴリズムを使用することによって生成され得る。暗号アルゴリズムがHMACである例において、HMACは、1または複数の文字パラメータの入力を受信し、識別子を出力するために使用され、識別子は、第1アイデンティティ認証情報として使用され得る。以下では、ハッシュ関数がHMACである例を説明のために使用する。
例1:第1ノードによって生成された第1アイデンティティ認証情報AUTHmは、HMAC(PSK)であり得、または言い換えれば、AUTHm=HMAC(PSK)である。
例2:第1鍵ネゴシエーションパラメータがS1として示される場合、第1ノードによって生成される第1アイデンティティ認証情報AUTHmは、HMAC(PSK、S1)であり得、または言い換えれば、AUTHm=HMAC(PSK、S1)である。S1は上述のケース1における第1鍵ネゴシエーションアルゴリズムパラメータKEmであり得るか、または、上述のケース2における新規パラメータ(例えば、カウンタ値、シリアル番号、ランダム値、およびフレーム番号のうち少なくとも1つ)であり得る。
例3:第1鍵更新要求が乱数値(1回使用される番号、NONCE)を更に含む場合、第1ノードによって生成された第1アイデンティティ認証情報AUTHmは、HMAC(PSK、S1、NONCEm)であり得(NONCEmは、第1ノードによって生成された乱数値である)、または言い換えれば、AUTHm=HMAC(PSK、S1、NONCEm)である。
本願の本実施形態において、第1鍵更新要求は更に、第1目標鍵の有効期間(expiration)および第1更新時点についての少なくとも1つの情報を示し得る。第1更新時点は、第1目標鍵が有効化される時間を示すために使用され、有効化時間または開始時点とも称され得る。
例えば、第1鍵更新要求は、第1目標鍵の有効期間を示す第1インジケーション情報を含む。第1インジケーション情報は、特定の日時であり得る。例えば、第1インジケーション情報が2020年2月6日の00:52:50である場合、第1目標鍵の有効日時が2020年2月6日の00:52:50に終了すること、または、無効日時が2020年2月6日の00:52:50の後に開始することを示し得る。第1インジケーション情報は代替的に、有効時間または無効時間を示す文字列、例えば、2020年2月6日の00:52:50を示すタイムスタンプ「1590921570」であり得る。第1インジケーション情報は代替的に、タイマまたは同様のものであり得る。例えば、第1目標鍵の有効期間が1000秒である場合、第1目標鍵は、生成または有効化された1000秒後まで有効であることを示す。第2インジケーション情報は更に、フレーム番号などを含み得る。
別の例として、第1鍵更新要求は、第1更新時点を示す第2インジケーション情報を含む。第2インジケーション情報は、フレーム番号、特定の日時、文字列、タイマ、または同様のもの1または複数であり得る。フレーム番号は、通信フレームの番号またはインデックスであり、通信フレームは、第1ノードが第2ノードと通信するときのメッセージ構造である。通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む。通信フレームのフレーム番号は通常、事前設定されたフレーム番号値範囲内で循環する。例えば、時分割多元接続TDMA通信技術において、時間は周期的フレームにセグメント化され、各フレームのフレーム番号は、0から2715647まで周期的に変化する。第1ノードは、更新要求において保持されるフレーム番号を使用することによって第1更新時点を示し得る。説明を容易にするべく、第1鍵更新要求において保持されるフレーム番号は、第1フレーム番号と称される。例えば、第1フレーム番号が2345である場合、フレーム番号2345から開始する通信フレームの後に第1目標鍵が適用されることを示す。任意選択で、第1フレーム番号は、複数のフレーム番号であり得る。例えば、第1フレーム番号が、ユーザプレーンダウンリンクフレームのフレーム番号A、および、ユーザプレーンアップリンクフレームのフレーム番号Bを含み得る場合、第1目標鍵が、フレーム番号Aから開始してそれに続くユーザプレーンダウンリンクフレームに適用されること、および、第1目標鍵が、フレーム番号Bから開始しそれに続くユーザプレーンアップリンクフレームに適用されることを示し得る。
任意選択で、第1鍵更新要求が、第1フレーム番号を使用することによって第1更新時点を示す場合、第1フレーム番号は、複数のビット、例えばFビットを使用することによって示され得る。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(media access control serial number, MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、Mビットは、Fビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。説明を容易にするべく、第1フレーム番号が、本明細書における説明のために例として使用されるが、本発明を限定する意図は無い。
第1鍵更新要求が有効期間および/または第1更新時点を更に含む場合、第1アイデンティティ認証情報について以下の例も存在し得る。
例4:第1鍵更新要求が、第1目標鍵の有効期間を示す情報expirationを含む場合、第1ノードによって生成されたアイデンティティ認証情報AUTHmは、HMAC(PSK、S1、expiration)であり得、または言い換えれば、AUTHm=HMAC(PSK、S1、expiration)である。
例5:第1鍵更新要求が、第1更新時点を示す情報timerを含む場合、第1ノードによって生成されたアイデンティティ認証情報AUTHmは、HMAC(PSK、S1、timer)であり得、または言い換えれば、AUTHm=HMAC(PSK、S1、timer)である。有効化時間タイマは、新しい鍵が開始される時間を示す。
例6:第1鍵更新要求が、乱数値NONCEm、第1目標鍵の有効期間を示す情報expiration、および、第1更新時点を示す情報timerを含む場合、第1ノードによって生成されたアイデンティティ認証情報AUTHmは、HMAC(PSK、S1、NONCEm、expiration、timer)であり得、または言い換えれば、AUTHm=HMAC(PSK、S1、NONCEm、expiration、timer)である。
当然、第1アイデンティティ認証情報が生成されるとき、第1共有鍵に加えて、他の情報(例えば、第1ノードの番号、第1ノードのアドレス、または、第1ノードと第2ノードとの間の接続の識別子)が含まれ得る。第1鍵更新要求が、乱数値NONCEm、第1目標鍵の有効期間を示す情報expiration、および、第1更新時点を示す情報timerなどのパラメータを含む場合、第1ノードは代替的に、第1世代アイデンティティ認証情報AUTHmにおけるパラメータの一部または全部を使用しないことがあり得ることに留意されたい。
任意選択で、第1ノードは、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信し得、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用される。第1鍵更新要求において保持される第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。例えば、第3フレーム番号が2365である場合、フレーム番号が2365から開始する通信フレームの後に、前回更新された鍵が適用されること、および、第1ノードは、フレーム番号が2365に到達する前に、第1目標鍵を改めて決定する必要があることを示す。したがって、第1ノードは、フレーム番号が2345である第1通信フレームにおいて第1鍵更新要求を送信し得、第1フレーム番号2355は、第1鍵更新要求において第1目標鍵の開始時点を示すために使用される。通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行するためのものであり得る。したがって、フレーム番号が、前回更新された鍵のフレーム番号まで繰り返す前に、第1目標鍵が決定され、その結果、第1目標鍵を使用することによってデータフレームが暗号化される。このように、同一のフレーム番号を有するデータフレームは、異なる鍵を使用することによって2回暗号化でき、これにより、データセキュリティを改善する。
代替的解決策において、第1鍵更新要求は、第1フレーム番号の代わりにMACシリアル番号(MAC SN)を含み、MAC SNはMビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。代替的に、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号はまた、MAC SN、すなわち、第3フレーム番号を示すために使用される複数のビットの一部によって示されるMAC SNで置き換えられ得る。この代替的解決策において、第1フレーム番号、第2フレーム番号、および第3フレーム番号の間の値関係は変化しないままである。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
任意選択で、第1目標鍵および前回更新された鍵は、同一タイプの鍵である。例えば、第1鍵更新要求において更新を要求された第1目標鍵が暗号化鍵であるとき、第3フレーム番号は、前回暗号化鍵を更新するために使用された鍵更新要求において保持されるフレーム番号である。
任意選択で、第1ノードは、通信フレームのフレーム番号を記録し、通信フレームのフレーム番号および第3フレーム番号が第1閾値以下であるときに第1鍵更新要求を送信し得る。例えば、第1ノードは、第1閾値を20に事前設定する。第3フレーム番号が2365である場合、第1ノードは、フレーム番号が2345である通信フレームを記録するとき、第1鍵更新要求を送信し得る。更に、第1ノードは、1または複数の通信フレームのフレーム番号を記録し得、例えば、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、または、ユーザプレーンダウンリンクフレームのうち少なくとも2つのフレーム番号を記録し得る。1つの通信フレームのフレーム番号と第3フレーム番号との間の相違点が第1閾値に到達した場合、第1鍵更新要求が送信される。
任意選択で、前回の鍵更新のプロセスにおいて、鍵開始時点を示す情報が保持されないか、または、第1ノードが以前に鍵更新を実行していない場合、第1ノードは目標フレーム番号を事前構成し得る。現在の通信フレーム番号と目標フレーム番号との間の相違点が第1閾値以下であると第1ノードが検出した場合、第1ノードは第1鍵更新要求を送信する。前回の鍵更新において保持される第3フレーム番号を取得することに加えて、第1ノードは、前回の鍵更新中に送信された鍵更新要求におけるフレーム番号、応答メッセージが前回受信されたときのフレーム番号、または、前回更新された鍵が通信に初めて使用されたときに使用された通信フレームのフレーム番号を記録し、現在の鍵が更新される必要があるかどうかを検出し得ることに留意されたい。
ステップS502:第2ノードが第1共有鍵に基づいて第1アイデンティティ認証情報に対して検証を実行する。
具体的には、第1アイデンティティ認証情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第1ノードによって生成される。したがって、第2ノードは、第1共有鍵に基づいて、第1アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第1ノードが特定のパラメータを使用して第1アイデンティティ認証情報を生成すること、したがって、第2ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第1アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。例えば、第1アイデンティティ認証情報は、HMACを使用することによって生成される。したがって、第2ノードは、HMACを使用することによって、チェック値check1とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第1アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第1アイデンティティ認証情報AUTHmがHMAC(PSK)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKに基づくHMACを使用することによって、チェック値check1=HMAC(PSK)を取得する。チェック値check1がAUTHmと同一である場合、検証が成功する。
別の例として、第1アイデンティティ認証情報AUTHmがHMAC(PSK、S1)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKおよび第1鍵ネゴシエーションパラメータS1に基づいてHMACを使用することによってチェック値check1=HMAC(PSK、S1)を取得する。チェック値check1がAUTHmと同一である場合、検証が成功する。第1鍵ネゴシエーションパラメータS1については、ステップS501における対応する説明を参照されたい。
任意選択で、第1アイデンティティ情報上の検証が失敗した場合、第1ノードのアイデンティティが信用できないことを示す。したがって、第2ノードは、その後の鍵更新ステップを実行しないことがあり得る。この場合、第2ノードは、第1ノードとの通信接続を切断し得るか、または、第2ノードは、更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは、第1鍵更新要求を破棄して応答せず、これにより、第2ノードのデータセキュリティを確実にする。
任意選択で、第2ノードは、第1鍵更新要求のメッセージ完全性に対する検証を実行し、第1鍵更新要求における情報が別のデバイスによって改ざんされることを防止し得る。第1鍵更新要求は完全性保護検証識別子を含み得る。第2ノードは、完全性保護検証識別子を使用することによって、第1鍵更新要求のメッセージ完全性に対する検証を実行する。検証が成功した場合、第2ノードは続いて、第1アイデンティティ認証情報に対して検証を実行するステップを実行する。検証が失敗した場合、第2ノードは、第1ノードとの通信接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得るか、または、第2ノードは、第1鍵更新要求を破棄して応答せず、これにより、第2ノードのデータセキュリティを確実にする。
ステップS503:第1アイデンティティ認証情報に対する検証が成功した場合、第2ノードは、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する。
具体的には、第2ノードは、少なくとも以下の4つの任意選択の方法を使用することによって、第1鍵更新要求における第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する。
方法1:第1鍵ネゴシエーションパラメータが上述のケース1を満たし、すなわち、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータKEmを含み、第2ノードは、鍵ネゴシエーションアルゴリズムの第2鍵ネゴシエーションアルゴリズムパラメータKEsを決定し得る。第2ノードは、第1鍵ネゴシエーションアルゴリズムパラメータKEmおよび第2鍵ネゴシエーションアルゴリズムパラメータKEsに基づいて、第1目標鍵を生成し得る。
鍵ネゴシエーションアルゴリズムがDHアルゴリズムである例において、第2ノードによって第1ノードから受信されるDHアルゴリズムのパラメータは、素数p、乱数g、および第1計算値Aを含み得、第2ノードによって決定され得る、DHアルゴリズムのパラメータは、乱数bおよび計算値B、すなわち、第2鍵ネゴシエーションアルゴリズムパラメータKEsを含み、ここで、Bは以下の式、B=gb mod pを満たす。第2ノードは、乱数b、計算値A、および素数pに基づいて、第1目標鍵K1を決定し得、K1は以下の式、K1=Ab mod pを満たす。
任意選択で、第2ノードによって決定されるDHアルゴリズムのパラメータにおいて、乱数bは、第1目標鍵を生成するために第2ノードによって使用され、したがって、乱数bは第2ノードの秘密鍵とみなされ得、計算値Bは第1ノードへ送信され、したがって、計算値Bは第2ノードの公開鍵とみなされ得る。
方法2:第1鍵ネゴシエーションパラメータは、上述のケース2を満たし、すなわち、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第2ノードは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成し得る。第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得る。
任意選択で、第2ノードは、KDFを使用することによって第1目標鍵を生成し得る。
例えば、第2ノードは、第2目標鍵K2および新規パラメータfreshに基づいてKDFアルゴリズムを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh)であると決定する。
方法3:第1鍵ネゴシエーションパラメータが上述のケース2を満たし、すなわち、第1鍵ネゴシエーションパラメータは新規パラメータを含む。アルゴリズム識別子tagが第2ノードから取得される場合、第2ノードは、第2目標鍵K2、新規パラメータfresh、およびアルゴリズム識別子tagに基づいて、KDFアルゴリズムを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh、tag)であると決定し得る。
アルゴリズム識別子は、第1目標鍵を生成するために使用されるアルゴリズムを示すために使用され得る。例えば、文字列「encryption」は、暗号化鍵を生成するために使用されるアルゴリズムを示すために使用される。別の例として、文字列「integrity」は、完全性保護鍵を生成するために使用されるアルゴリズムを示すために使用される。アルゴリズム識別子は代替的に、使用されるハッシュアルゴリズムの識別子を示すために使用され得る。例えば、文字列「SHA256」は、第1目標鍵がSHA256アルゴリズムであると決定するために使用されるアルゴリズムを示すために使用される。アルゴリズム識別子は代替的に、数値を使用することによって表され得る。例えば、01はAES暗号化アルゴリズムを表し、10はメッセージ認証に基づくAESアルゴリズム(AES-cypher-based message authentication code, AES-CMAC)完全性アルゴリズムを表す。
アルゴリズム識別子は、第1ノードと第2ノードとの間で事前設定され得るか、または、第1ノードによって決定された後に第2ノードへ送信され得る。
方法4:第1鍵ネゴシエーションパラメータが上述のケース2を満たし、すなわち、第1鍵ネゴシエーションパラメータは新規パラメータを含む。アルゴリズム識別子tagおよびアルゴリズムタイプtypeが第2ノードから取得される場合、第2ノードは、第2目標鍵K2、新規パラメータfresh、アルゴリズム識別子tag、および鍵タイプtypeに基づいて、第1目標鍵K1がK1=KDF(K2、fresh、tag、type)であると決定し得、typeは鍵タイプを表す。例えば、文字列「encryption」は、暗号化鍵を生成することを示すために使用される。別の例として、文字列「integrity」は、完全性保護鍵を生成することを示すために使用される。アルゴリズム識別子は、第1目標鍵を生成するために使用されるアルゴリズムを示すために使用される。
鍵タイプは第1鍵更新要求において示され得るか、または、第1目標鍵が生成される前に第1ノードおよび第2ノードによって事前ネゴシエーションされ得る。
任意選択で、方法2、方法3および方法4の任意の1または複数における第1目標鍵を決定するプロセスにおいて、第2ノードはまず、第1目標鍵K2および新規パラメータfreshに基づいて中間鍵を決定し、次に、中間鍵に基づいて、アルゴリズム識別子tagおよび鍵タイプtypeの少なくとも1つを使用することによって第1目標鍵K1を決定し得る。例えば、第2ノードは、鍵導出関数KDF1を使用することによって中間鍵Kmid:Kmid=KDF1(K2、fresh)を取得し、次に、中間鍵Kmidに基づいて、鍵導出関数KDF2を使用することによって、第1目標鍵K1:K1=KDF2(Kmid、tag、type)を決定する。KDF1およびKDF2は同一の鍵導出関数であり得るか、または、異なる鍵導出関数であり得る。この場合、第1ノードは、中間鍵Kmidを決定するとき、新しい新規パラメータを生成するだけでよく、第1目標が決定されるたびに新しい新規パラメータを生成する必要がなく、これにより、新規パラメータを生成する回数の量を低減し、生成された新規パラメータの管理を容易にする。本明細書において本解決策をより明確に説明するために、第1目標鍵をどのように取得するかは、2つのステップを使用することによって説明されることに留意されたい。実際の処理において、第1目標鍵は代替的に、1つのステップを使用することによって取得され得る。中間鍵Kmidは中間結果に過ぎない。言い換えれば、第1目標を決定する方式は、K1=KDF2(KDF1(K2、fresh)、tag、type)を満たす。
任意選択で、第1鍵更新要求が第1更新時点を示す情報を保持するとき、第2ノードにおいて生成された第1目標鍵は、第1更新時点から開始する時間の後に適用される。任意選択で、第1フレーム番号を使用することによって第1更新時点が示されるとき、第1目標鍵は、第1更新時点から開始する通信フレームの後に適用される。
任意選択で、第2ノードは、前回の鍵更新中に使用された鍵更新要求に保持される第3フレーム番号(または第3フレーム番号に対応するMACシリアル番号)を取得し得る。通信フレームのフレーム番号が1回反転された(またはカウントの新ラウンドが再開した)ことを第2ノードが検出した場合、現在の通信フレームのフレーム番号は、第3フレーム番号(または、第3フレーム番号に対応するMACシリアル番号)以上であり、この時点ではいかなる鍵更新要求も受信されず、または、いかなる新しい鍵も適用されず、第2ノードは第1ノードへの接続を切断し得、更にセキュリティコンテキストを削除して、他方への接続を再開し得、これにより、通信プロセスにおけるセキュリティを確実にする。セキュリティコンテキストは、共有鍵、鍵有効期間、および鍵更新時点などの少なくとも1つのセキュリティ情報を含む。
任意選択で、第2ノードは更に、前回更新された鍵が初めて通信に使用されるときに使用される通信フレームのフレーム番号を取得し得る。通信フレームのフレーム番号が1回反転されたことを第2ノードが検出した場合、現在の通信フレームのフレーム番号は、前回更新された鍵が初めて通信に使用されたときに使用された通信フレームのフレーム番号以上であり、この時点では、いかなる鍵更新要求も受信されず、または、いかなる新しい鍵も適用されず、第2ノードは、第1ノードへの接続を切断し得、更にセキュリティコンテキストを削除し得、これにより、通信プロセスにおけるセキュリティを確実にする。
ステップS504:第2ノードが第1応答メッセージを第1ノードへ送信する。
具体的には、第1応答メッセージは、第2ノードのアイデンティティに対する認証を実行するために使用される第2アイデンティティ認証情報を含む。第2ノードが方法1を使用することによって第1目標鍵を生成する場合、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータKEsを含む。任意選択で、第1応答メッセージは更に、第2ノードによって生成された乱数値NONCEsを含む。
本願の本実施形態において、第2アイデンティティ認証情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第2ノードによって生成され得る。
任意選択の解決策において、第2アイデンティティ認証情報は、暗号アルゴリズムを使用することによって生成され得る。暗号アルゴリズムがHMACである例において、HMACは、1または複数の文字パラメータの入力を受信し、識別子を出力するために使用され、識別子はアイデンティティ認証情報として使用され得る。以下では、暗号アルゴリズムがHMACである例を説明のために使用する。
例1:第2ノードによって生成された第2アイデンティティ認証情報AUTHsは、HMAC(PSK)であり得、または言い換えれば、AUTHs=HMAC(PSK)である。
例2:第1応答メッセージが第2鍵ネゴシエーションパラメータKEsを更に含むとき、第2ノードによって生成された第2アイデンティティ認証情報AUTHsは、HMAC(PSK、KEs)であり得、または言い換えれば、AUTHs=HMAC(PSK、KEs)である。
例3:第1応答メッセージが、第2ノードによって生成された乱数値NONCEsを更に含むとき、第2ノードによって生成されたアイデンティティ認証情報AUTHsは、HMAC(PSK、KEs、NONCEs)であり、または言い換えれば、AUTHs=HMAC(PSK、K1、NONCEs)であり得る。
当然、第2アイデンティティ認証情報を生成するために使用されるパラメータにおいて、第1共有鍵に加えて、他の情報(例えば、第2ノードの番号、第2ノードのアドレス、または、第2ノードと第1ノードとの間の接続の識別子)が含まれ得る。第1応答メッセージが第2鍵ネゴシエーションパラメータKEsおよび/または乱数値NONCEsなどのパラメータを含む場合、第2ノードは、これらのパラメータを使用してアイデンティティ認証情報AUTHsを生成しないことがあり得る。
任意選択で、第1応答メッセージは、第2ノードが第1鍵ネゴシエーションパラメータおよび第1共有鍵に基づいて第1アイデンティティ認証情報を認証できる後に送信される応答メッセージである。
ステップS505:第1ノードが第1共有鍵を使用することによって第2アイデンティティ認証情報に対して検証を実行する。
具体的には、第2アイデンティティ情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第2ノードによって生成される。したがって、第1ノードは、第1共有鍵に基づいて、第2アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第2ノードが特定のパラメータを使用して第2アイデンティティ認証情報を生成すること、したがって、第1ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第2アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。
例えば、第2アイデンティティ認証情報は、HMACを使用することによって生成され得る。したがって、第1ノードは、HMACを使用することによって、チェック値check2とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第2アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第2アイデンティティ認証情報AUTHsがHMAC(PSK)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSKに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
別の例として、第1アイデンティティ認証情報AUTHsがHMAC(PSK、KEs)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSK、ならびに、第1応答メッセージにおける第2鍵ネゴシエーションパラメータKEsに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK、KEs)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
任意選択で、第2アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことが示される。したがって、第1ノードは、第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄して応答しないことがあり得、これにより、データ更新プロセスにおけるデータセキュリティを確実にし、鍵更新を実行する必要があるノードへの接続を容易にする。
任意選択で、第1ノードは、第1応答メッセージのメッセージ完全性に対する検証を実行し、第1応答メッセージにおける情報が別のデバイスによって改ざんされることを防止し得る。第2ノードは完全性保護検証識別子を第1応答メッセージに追加し得る。第1ノードは、完全性保護検証識別子を使用することによって、第1応答メッセージのメッセージ完全性に対して検証を実行する。検証が成功した場合、第1ノードは続いて、第2アイデンティティ認証情報に対して検証を実行するステップを実行する。検証が失敗した場合、第1ノードは、第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄して応答しないことがあり得、これにより、データ更新プロセスにおけるデータセキュリティを確実にする。
ステップS506:第2アイデンティティ認証情報に対する検証が成功した場合、第1ノードは、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する。
具体的には、第1ノードは、少なくとも以下の複数の任意選択の方法を使用することによって、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する。
方法1:第1鍵ネゴシエーションパラメータが上述のケース1を満たし、すなわち、第1鍵ネゴシエーションパラメータが鍵ネゴシエーションアルゴリズムのパラメータを含み、第1応答メッセージが第2鍵ネゴシエーションパラメータKEsを含む。第1ノードは、第1鍵ネゴシエーションアルゴリズムパラメータKEmおよび第2鍵ネゴシエーションアルゴリズムパラメータKEsに基づいて第1目標鍵を生成し得る。
鍵ネゴシエーションアルゴリズムがDHアルゴリズムである例において、第1ノードにおいて生成されるDHアルゴリズムのパラメータは、素数p、乱数g、乱数a、および第1計算値Aを含む。第1ノードによって第2ノードから受信されるDHアルゴリズムのパラメータは第1計算値Bを含む。第1ノードは、乱数a、計算値Bおよび素数pに基づいて第1目標鍵K1を決定し得、K1は以下の式、すなわち、K1=Ba mod pを満たす。K1=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a=Ba mod pであるので、第1ノードおよび第2ノードによって決定される第1目標鍵K1は同一である。
方法2:第1鍵ネゴシエーションパラメータが上述のケース2を満たし、すなわち、第1鍵ネゴシエーションパラメータが新規パラメータを含み、第1ノードは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成する。
任意選択で、第1ノードはKDFを使用することによって第1目標鍵を生成し得る。
例えば、第1ノードは、第2目標鍵K2および新規パラメータfreshに基づいて、KDFを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh)であると決定する。
方法3:第1鍵ネゴシエーションパラメータが上述のケース2を満たし、すなわち、第1鍵ネゴシエーションパラメータは新規パラメータを含む。アルゴリズム識別子tagが第1ノードから取得される場合、第1ノードは、第2目標鍵K2、新規パラメータfresh、およびアルゴリズム識別子tagに基づいて、KDFアルゴリズムを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh、tag)であると決定し得る。
アルゴリズム識別子は、第1目標鍵を生成するために使用されるアルゴリズムを示すために使用され得る。例えば、文字列「encryption」は、暗号化鍵を生成するために使用されるアルゴリズムを示すために使用される。別の例として、文字列「integrity」は、完全性保護鍵を生成するために使用されるアルゴリズムを示すために使用される。アルゴリズム識別子は代替的に、使用されるハッシュアルゴリズムの識別子を示すために使用され得る。例えば、文字列「SHA256」は、第1目標鍵がSHA256アルゴリズムであると決定するために使用されるアルゴリズムを示すために使用される。アルゴリズム識別子は代替的に、数値を使用することによって表され得る。例えば、01はAES暗号化アルゴリズムを表し、10はメッセージ認証に基づくAESアルゴリズム(AES-cypher-based message authentication code, AES-CMAC)完全性アルゴリズムを表す。
アルゴリズム識別子は、第1ノードと第2ノードとの間で事前設定され得るか、または、第1ノードによって決定され得る。
方法4:第1鍵ネゴシエーションパラメータが上述のケース2を満たし、すなわち、第1鍵ネゴシエーションパラメータは新規パラメータを含む。アルゴリズム識別子tagおよびアルゴリズムタイプtypeが第1ノードから取得される場合、第1ノードは、第2目標鍵K2、新規パラメータfresh、アルゴリズム識別子tag、および鍵タイプtypeに基づいて、第1目標鍵K1がK1=KDF(K2、fresh、tag、type)であると決定し得、typeは鍵タイプを表す。例えば、文字列「encryption」は、暗号化鍵を生成することを示すために使用される。別の例として、文字列「integrity」は、完全性保護鍵を生成することを示すために使用される。アルゴリズム識別子は、第1目標鍵を生成するために使用されるアルゴリズムを示すために使用される。
鍵タイプは第1鍵更新要求において示され得るか、または、第1目標鍵が生成される前に第1ノードおよび第2ノードによって事前ネゴシエーションされ得る。
任意選択で、方法2、方法3および方法4の任意の1または複数における第1目標鍵を決定するプロセスにおいて、第1ノードはまず、第1目標鍵K2および新規パラメータfreshに基づいて中間鍵を決定し、次に、中間鍵に基づいて、アルゴリズム識別子tagおよび鍵タイプtypeの少なくとも1つを使用することによって第1目標鍵K1を決定し得る。例えば、第1ノードは、鍵導出関数KDF1を使用することによって中間鍵Kmid:Kmid=KDF1(K2、fresh)を取得し、次に、中間鍵Kmidに基づいて、鍵導出関数KDF2を使用することによって、第1目標鍵K1=KDF2(Kmid、tag、type)を決定する。KDF1およびKDF2は同一の鍵導出関数であり得るか、または、異なる鍵導出関数であり得る。本明細書において本解決策をより明確に説明するために、第1目標鍵をどのように取得するかは、2つのステップを使用することによって説明される。実際の処理において、第1目標鍵は代替的に、1つのステップを使用することによって取得され得る。中間鍵Kmidは中間結果に過ぎない。言い換えれば、第1目標を決定する方式は、K1=KDF2(KDF1(K2、fresh)、tag、type)を満たす。
任意選択で、第1目標鍵は、第1ノードと第2ノードとの間の共有鍵に適用され得、マスター鍵、セッション鍵などを含む。
任意選択で、第1鍵更新要求が第1更新時点を示す場合、第1目標鍵は、第1更新時点から開始する時間内に適用され得る。例えば、第1目標鍵がマスター鍵であり、かつ、第1鍵更新要求に含まれる第1秘密鍵を示す情報がタイムスタンプ「1590921570」である場合、第1目標鍵が有効化される時間は2020年2月6日の00:52:50であること、したがって、第1ノードおよび第2ノードは、2020年2月6日の00:52:50に開始する時間の後に第1目標鍵をマスター鍵として使用することを示す。
任意選択で、第1鍵更新要求が第1目標鍵の有効期間を示す場合、第1目標鍵は、第1目標鍵の有効期間内に適用され得る。例えば、第1目標鍵がマスター鍵であり、かつ、第1鍵更新要求に含まれる第1秘密鍵を示す情報がタイムスタンプ「1590952447」である場合、第1目標鍵の有効期間は2020年2月6日の09:28:26であること、したがって、第1ノードおよび第2ノードは、2020年2月6日の09:28:26に第1目標鍵をマスター鍵として使用し得ることを示す。
任意選択で、第2ノードは更に、第1目標鍵の有効期間を検出して、第1目標鍵の有効期間の前に新しい目標鍵を決定し得る。
第1鍵更新要求が第1更新時点および第1目標鍵の有効期間を示すとき、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用されることが理解され得る。
任意選択で、第2目標鍵は暗号化鍵であり得る。この場合、第1鍵更新要求は第2目標鍵を使用することによって暗号化され得る。それに対応して、第2ノードは、第1鍵更新要求を受信した後に、解読のために第2目標鍵を使用し得る。同様に、第1応答要求は、第2目標鍵を使用することによって暗号化され得る。それに対応して、第1ノードは、第1応答メッセージを受信した後に、第2目標鍵を解読に使用し得る。
任意選択で、第2目標鍵は完全性保護鍵であり得る。この場合、完全性保護は、第2目標鍵を使用することによって第1鍵更新要求に対して実行され得る。それに対応して、第2ノードは、第1鍵更新要求を第1ノードから受信した後に、第2目標鍵を使用することによってデータ完全性をチェックし得る。同様に、完全性保護は、第2目標鍵を使用することによって第1応答要求に対して実行され得る。それに対応して、第1ノードは、第1応答メッセージを受信した後に、第2目標鍵を使用することによってデータ完全性をチェックし得る。従来の鍵更新プロセスにおいて、鍵更新時点が構成される。したがって、新しい鍵が更新されるとき、古い鍵が失効したので、暗号化プロセスは鍵更新中に保留される必要があり、暗号化プロセスは、鍵更新が完了した後に再開する。しかしながら、暗号化プロセスの保留および暗号化プロセスの再開は鍵更新効率に影響を与え、暗号化プロセスの保留はセキュリティに影響を与える。しかしながら、本願における鍵更新方法において、古い鍵が失効する前に鍵が更新される。古い鍵は失効していないので、暗号化プロセスは保留される必要が無く、これにより、鍵更新効率を改善し、データセキュリティを改善する。
任意選択で、第2目標鍵はマスター鍵であり得る。この場合、第2目標鍵は、暗号化鍵または完全性保護鍵を決定するために使用され得る。したがって、暗号化および/または完全性保護は、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求に対して実行され得る。それに対応して、第2ノードは、第1鍵更新要求を受信した後に、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1鍵更新要求を解読し得、および/または、第2目標鍵に基づいて決定された完全性保護鍵は、第2目標鍵に基づいて決定された完全性保護鍵を使用することによってデータ完全性をチェックするために使用され得る。同様に、暗号化および/または完全性保護は、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1応答要求に対して実行され得る。それに対応して、第1ノードは、第1応答メッセージを受信した後に、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、第1応答メッセージを解読し得、および/または、第2目標鍵に基づいて決定された完全性保護鍵は、第2目標鍵に基づいて決定された完全性保護鍵を使用することよってデータ完全性をチェックするために使用され得る。
任意選択で、方法2および方法3を使用することによって第1目標鍵が決定されたとき、第1目標鍵がセッション鍵である場合、暗号化または完全性保護が、第1目標鍵を使用することによって、第1応答メッセージに対して実行され得る。
任意選択で、第1ノードがマスター鍵およびカウンタ値を使用することによってセッション鍵を更新するとき、第1ノードは、カウンタ値が反転された(または、カウントの新ラウンドが再開した)かどうかを検出し、カウンタ値が反転される前に第1鍵更新要求を第2ノードへ送信する(決定された第1目標鍵はマスター鍵である)。任意選択で、カウンタ値が反転される前に第1ノードが第1鍵更新要求を送信しない場合、第1ノードは、第2ノードへの通信接続を切断して第2ノードに再アクセスし得、これにより、第2ノードとの通信のプロセスのセキュリティを確実にする。
任意選択で、第1ノードは、前回の鍵更新中に使用された鍵更新要求に保持される第3フレーム番号(または第3フレーム番号に対応するMACシリアル番号)を取得し得る。通信フレームのフレーム番号が1回反転されたことを第1ノードが検出した場合、現在の通信フレームのフレーム番号は、第3フレーム番号(または第3フレーム番号に対応するMACシリアル番号)以上であり、この時点では、いかなる鍵更新要求も送信されず、または、いかなる新しい鍵も適用されず、第1ノードは、第2ノードへの接続を切断し得、セキュリティコンテキストを更に削除し得、他方への接続を再開し、これにより、通信プロセスにおけるセキュリティを確実にする。
図5に説明される方法では、鍵更新プロセスにおいて、第1ノードおよび第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第1鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
図5に示される前述の方法の実施形態は、多くの可能な実装の解決策を含む。以下では、図6A、図6B、図7A、図7B、図8A、および図8Bを参照して、いくつかの実装の解決策を別々に説明する。図6A、図6B、図7A、図7B、図8Aおよび図8Bにおいて説明されない関連する概念またはオペレーションまたは論理関係については、図5に示される実施形態における対応する説明が参照されることに留意されたい。したがって、詳細は再度説明されない。
図6Aおよび図6Bは、本願の実施形態によるなお別の鍵更新方法を示す。方法は少なくとも以下のステップを含む。
ステップS601:第1ノードが第1鍵更新要求を第2ノードへ送信する。
本願の本実施形態において、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性鍵を使用することによって、暗号化および/または完全性保護が第1鍵更新要求に対して実行され得る。第2目標鍵は、第1ノードと第2ノードとの間の共有鍵である。
本願の本実施形態において、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む。第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータKEmであり得る。任意選択で、第1鍵更新要求は更に、乱数値NONCEm、第1更新時点を示す情報timer、第1目標鍵の有効期間を示す情報expirationの少なくとも1つを含み得る。
本願の本実施形態において、第1ノードと第2ノードとの間の第1共有鍵を使用することによって、第1鍵更新要求における第1アイデンティティ認証情報が生成され得、第1共有鍵は、マスター鍵、事前共有鍵PSKなどを含み得る。
任意選択で、第1アイデンティティ認証情報を生成するための機能は暗号アルゴリズムであり得る。暗号アルゴリズムがHMACであり第1共有鍵が事前共有鍵PSKである例において、生成された第1アイデンティティ認証情報AUTHmは、AUTHm=HMAC(PSK、KEm、NONCEm、expiration、timer)として表され得、パラメータのシーケンスは異なり得る。当然、第1鍵更新要求が第1鍵ネゴシエーションアルゴリズムパラメータKEm、乱数値NONCEm、第1目標鍵の有効期間を示す情報expiration、または、第1更新時点を示す情報timerなどのパラメータを含むとき、第1ノードは、第1アイデンティティ認証情報AUTHmを生成するためにパラメータの一部または全部を使用しないことがあり得る。
任意選択で、第1ノードは、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信し得、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用される。第1鍵更新要求において保持される第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。例えば、第3フレーム番号が2365である場合、フレーム番号が2365から開始する通信フレームの後に、前回更新された鍵が適用されること、および、第1ノードは、フレーム番号が2365に到達する前に、第1目標鍵を改めて決定する必要があることを示す。したがって、第1ノードは、フレーム番号が2345である第1通信フレームにおいて第1鍵更新要求を送信し得、第1フレーム番号2355は、第1鍵更新要求において第1目標鍵の開始時点を示すために使用される。通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行するためのものであり得る。したがって、フレーム番号が、前回更新された鍵のフレーム番号まで繰り返す前に、第1目標鍵が決定され、その結果、第1目標鍵を使用することによってデータフレームが暗号化される。このように、同一のフレーム番号を有するデータフレームは、異なる鍵を使用することによって2回暗号化でき、これにより、データセキュリティを改善する。
任意選択で、前回の鍵更新のプロセスにおいて、鍵開始時点を示す情報が保持されないか、または、第1ノードが以前に鍵更新を実行していない場合、第1ノードは目標フレーム番号を事前構成し得る。現在の通信フレーム番号と目標フレーム番号との間の相違点が第1閾値以下であると第1ノードが検出した場合、第1ノードは第1鍵更新要求を送信する。
ステップS602:第2ノードが第1鍵更新要求を解読する。
具体的には、第2ノードが、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1鍵更新要求を解読し得る。
ステップS603:第2ノードが第1鍵更新要求のメッセージ完全性に対して検証を実行する。
任意選択で、検証が失敗した場合、第2ノードは第1ノードへの通信接続を切断し得、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信し、または、第2ノードは第1鍵更新要求を破棄し得る。
任意選択で、図6Aおよび図6Bに示される実施形態において、第2ノードはステップS603を実行しないことがあり得る。この場合、第2ノードは、ステップS602を実行した後、続いてステップS604、および、ステップS604の後続のステップを実行し得る。
ステップS604:第2ノードは第1アイデンティティ認証情報に対して検証を実行する。
具体的には、第1アイデンティティ認証情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第1ノードによって生成される。したがって、第2ノードは、第1共有鍵に基づいて、第1アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第1ノードが特定のパラメータを使用して第1アイデンティティ認証情報を生成すること、したがって、第2ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第1アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。例えば、第1アイデンティティ認証情報は、HMACを使用することによって生成される。したがって、第2ノードは、HMACを使用することによって、チェック値check1とも称される、検証に使用されるアイデンティティ認証情報を生成し得、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第1アイデンティティ認証情報が正確かどうかを検証する。以下では説明のために例を用いる。
例えば、第1アイデンティティ認証情報AUTHmがHMAC(PSK)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKに基づくHMACを使用することによって、チェック値check1=HMAC(PSK)を取得する。チェック値check1がAUTHmと同一である場合、検証が成功する。
別の例として、第1アイデンティティ認証情報AUTHmがHMAC(PSK、KEm)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKおよび第1鍵ネゴシエーションパラメータKEmに基づいてHMACを使用することによってチェック値check1=HMAC(PSK、KEm)を取得する。チェック値check1がAUTHmと同一である場合、検証が成功する。
任意選択で、第1アイデンティティ情報に対する検証が失敗した場合、第2ノードは、第1ノードとの通信接続を切断し得るか、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは、第1鍵更新要求を破棄する。
任意選択で、第2ノードはまず、S604のオペレーションを実行し、次に、S603のオペレーションを実行し得る。
ステップS605:第1アイデンティティ認証情報に対する検証が成功した場合、第2ノードは、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成する。
具体的には、第2ノードは、鍵ネゴシエーションアルゴリズムの第2鍵ネゴシエーションアルゴリズムパラメータKEsを決定し得る。第2ノードは、第1鍵ネゴシエーションアルゴリズムパラメータKEmおよび第2鍵ネゴシエーションアルゴリズムパラメータKEsに基づいて第1目標鍵を生成する。
鍵ネゴシエーションアルゴリズムがDHアルゴリズムである例において、第2ノードによって第1ノードから受信されるDHアルゴリズムのパラメータは、素数p、乱数g、および第1計算値Aを含み得、第2ノードによって決定され得る、DHアルゴリズムのパラメータは、乱数bおよび計算値B、すなわち、第2鍵ネゴシエーションアルゴリズムパラメータKEsを含み、ここで、Bは以下の式、B=gb mod pを満たす。第2ノードは、乱数b、計算値A、および素数pに基づいて、第1目標鍵K1を決定し得、K1は以下の式、K1=Ab mod pを満たす。
ステップS606:第2ノードが第1応答メッセージを第1ノードへ送信する。
本願の本実施形態において、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性鍵を使用することによって、暗号化および/または完全性保護が第1応答メッセージに対して実行され得る。第2目標鍵は第2ノードと第1ノードとの間の共有鍵である。
第1応答メッセージは、第2アイデンティティ認証情報および第2鍵ネゴシエーションアルゴリズムパラメータKEsを含み、第2アイデンティティ認証情報は、第2ノードのアイデンティティを検証するために使用され、第1ノードと第2ノードとの間の第1共有鍵を使用することによって生成され得る。任意選択で、第1応答メッセージは更に乱数値NONCEsを含み得る。
本願の本実施形態において、第2アイデンティティ認証情報は、暗号アルゴリズムを使用することによって生成され得る。暗号アルゴリズムがHMACである例において、生成された第2アイデンティティ認証情報AUTHsは、AUTHs=HMAC(PSK、KEs、NONCEs)として表され得、パラメータのシーケンスは異なり得る。当然、第1鍵更新要求が第2鍵ネゴシエーションアルゴリズムパラメータKEsおよび乱数値NONCEsなどのパラメータを含むとき、第2ノードは、第2アイデンティティ認証情報AUTHsを生成するためにパラメータの一部または全部を使用しないことがあり得る。
任意選択で、第2ノードはまず、S606のオペレーションを実行し、次に、S605のオペレーションを実行し得る。
ステップS607:第1ノードが第1応答メッセージを解読する。
具体的には、第1ノードは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1応答メッセージを解読し得る。
任意選択で、第1ノードはまず、S607のオペレーションを実行し、次にS606のオペレーションを実行し得る。
ステップS608:第1ノードは第1応答メッセージのメッセージ完全性に対して検証を実行する。
任意選択で、メッセージ完全性に対する検証が失敗した場合、第1ノードは第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄し得る。
任意選択で、図6Aおよび図6Bに示される実施形態において、第1ノードはステップS608を実行しないことがあり得る。この場合、ステップS607を実行した後に、第1ノードは続いてステップS609およびステップS609の後続のステップを実行し得る。
ステップS609:第1ノードが第2アイデンティティ認証情報に対する検証を実行する。
具体的には、第2アイデンティティ情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第2ノードによって生成される。したがって、第1ノードは、第1共有鍵に基づいて、第2アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第2ノードが特定のパラメータを使用して第2アイデンティティ認証情報を生成すること、したがって、第1ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第2アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。
例えば、第2アイデンティティ認証情報は、HMACを使用することによって生成され得る。したがって、第1ノードは、HMACを使用することによって、チェック値check2とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第2アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第2アイデンティティ認証情報AUTHsがHMAC(PSK)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSKに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
別の例として、第1アイデンティティ認証情報AUTHsがHMAC(PSK、KEs)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSK、ならびに、第1応答メッセージにおける第2鍵ネゴシエーションパラメータKEsに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK、KEs)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
任意選択で、第2アイデンティティ認証情報に対する検証が失敗した場合、第1ノードは、第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄し得る。
任意選択で、第1ノードはまず、S609のオペレーションを実行し、次に、S608のオペレーションを実行し得る。
ステップS610:第2アイデンティティ認証情報に対する検証が成功した場合、第1ノードは、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成する。
具体的には、第1応答メッセージは第2鍵ネゴシエーションアルゴリズムパラメータKEsを含むので、第1ノードは、第1鍵ネゴシエーションアルゴリズムパラメータKEmおよび第2鍵ネゴシエーションアルゴリズムパラメータKEsに基づいて第1目標鍵を生成する。
鍵ネゴシエーションアルゴリズムがDHアルゴリズムである例において、第1ノードにおいて生成されるDHアルゴリズムのパラメータは、素数p、乱数g、乱数a、および第1計算値Aを含む。第1ノードによって第2ノードから受信されるDHアルゴリズムのパラメータは第1計算値Bを含む。第1ノードは、乱数a、計算値Bおよび素数pに基づいて第1目標鍵K1を決定し得、K1は以下の式、すなわち、K1=Ba mod pを満たす。K1=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、第1ノードおよび第2ノードによって決定される第1目標鍵K1は同一である。
任意選択で、第1目標鍵は、第1ノードと第2ノードとの間の共有鍵に適用され得るか、または、マスター鍵もしくはセッション鍵に適用され得る。
図6Aおよび図6Bにおいて説明される方法では、鍵更新プロセスにおいて、第1ノードおよび第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第1鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
図7Aおよび図7Bは、本願の実施形態による更に別の鍵更新方法を示す。方法は少なくとも以下のステップを含む。
ステップS701:第1ノードが第1鍵更新要求を第2ノードへ送信する。
本願の本実施形態において、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性鍵を使用することによって、暗号化および/または完全性保護が第1鍵更新要求に対して実行され得る。第2目標鍵は第2ノードと第1ノードとの間の共有鍵である。
本願の本実施形態において、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む。第1鍵ネゴシエーションパラメータは新規パラメータfreshであり得る。任意選択で、第1鍵要求は更に、乱数値NONCEm、第1更新時点を示す情報timer、第1目標鍵の有効期間を示す情報expirationの少なくとも1つを含み得る。
本願の本実施形態において、第1ノードと第2ノードとの間の第1共有鍵を使用することによって、第1鍵更新要求における第1アイデンティティ認証情報が生成され得、第1共有鍵は、マスター鍵、事前共有鍵PSKなどを含み得る。
任意選択で、第1アイデンティティ認証情報を生成するための機能は暗号アルゴリズムであり得る。暗号アルゴリズムがHMACであり第1共有鍵が事前共有鍵PSKである例において、生成された第1アイデンティティ認証情報AUTHmは、AUTHm=HMAC(PSK、fresh、NONCEm、expiration、timer)として表され得、パラメータのシーケンスは異なり得る。当然、第1鍵更新要求が新規パラメータfresh、乱数値NONCEm、第1目標鍵の有効期間を示す情報expiration、または、第1更新時点を示す情報timerなどの情報を含むとき、第1ノードは、第1アイデンティティ認証情報AUTHmを生成するためにパラメータの一部または全部を使用しないことがあり得る。
任意選択で、第1ノードは、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信し得、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用される。第1鍵更新要求において保持される第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。例えば、第3フレーム番号が2365である場合、フレーム番号が2365から開始する通信フレームの後に、前回更新された鍵が適用されること、および、第1ノードは、フレーム番号が2365に到達する前に、第1目標鍵を改めて決定する必要があることを示す。したがって、第1ノードは、フレーム番号が2345である第1通信フレームにおいて第1鍵更新要求を送信し得、第1フレーム番号2355は、第1鍵更新要求において第1目標鍵の開始時点を示すために使用される。通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行するためのものであり得る。したがって、フレーム番号が、前回更新された鍵のフレーム番号まで繰り返す前に、第1目標鍵が決定され、その結果、第1目標鍵を使用することによってデータフレームが暗号化される。このように、同一のフレーム番号を有するデータフレームは、異なる鍵を使用することによって2回暗号化でき、これにより、データセキュリティを改善する。
任意選択で、前回の鍵更新のプロセスにおいて、鍵開始時点を示す情報が保持されないか、または、第1ノードが以前に鍵更新を実行していない場合、第1ノードは目標フレーム番号を事前構成し得る。現在の通信フレーム番号と目標フレーム番号との間の相違点が第1閾値以下であると第1ノードが検出した場合、第1ノードは第1鍵更新要求を送信する。
ステップS702:第2ノードが第1鍵更新要求を解読する。
具体的には、第2ノードは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1鍵更新要求を解読し得る。
ステップS703:第2ノードが第1鍵更新要求のメッセージ完全性に対する検証を実行する。
任意選択で、メッセージ完全性に対する検証が失敗した場合、第2ノードは、第1ノードへの通信接続を切断し得るか、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは第1鍵更新要求を破棄し得る。
任意選択で、図7Aおよび図7Bに示される実施形態において、第2ノードはステップS703を実行しないことがあり得る。この場合、ステップS702を実行した後に、第2ノードは続いて、ステップS704およびステップS704の後続のステップを実行し得る。
ステップS704:第2ノードが第1アイデンティティ認証情報に対する検証を実行する。
具体的には、第1アイデンティティ認証情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第1ノードによって生成される。したがって、第2ノードは、第1共有鍵に基づいて、第1アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第1ノードが特定のパラメータを使用して第1アイデンティティ認証情報を生成すること、したがって、第2ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第1アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。例えば、第1アイデンティティ認証情報は、HMACを使用することによって生成される。したがって、第2ノードは、HMACを使用することによって、チェック値check1とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第1アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第1アイデンティティ認証情報AUTHmがHMAC(PSK)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKに基づくHMACを使用することによって、チェック値check1=HMAC(PSK)を取得する。チェック値check1がAUTHmと同一である場合、検証は成功である。
別の例として、第1鍵ネゴシエーションパラメータが新規パラメータfreshを含み、かつ、第1アイデンティティ認証情報AUTHmがHMAC(PSK、fresh)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKおよび新規パラメータfreshに基づいて、HMACを使用することによって、チェック値check1=HMAC(PSK、fresh)を取得する。チェック値check1がAUTHmと同一である場合、検証は成功である。
任意選択で、第1アイデンティティ情報に対する検証が失敗した場合、第2ノードは、第1ノードとの通信接続を切断し得るか、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは、第1鍵更新要求を破棄する。
任意選択で、具体的な実装プロセスにおいて、第2ノードはまず、S704のオペレーションを実行し、次に、S703のオペレーションを実行し得る。
ステップS705:第1アイデンティティ認証情報に対する検証が成功した場合、第2ノードは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成する。
任意選択で、第1アイデンティティ情報に対する検証が失敗した場合、第2ノードは、第1ノードとの通信接続を切断し得るか、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは、第1鍵更新要求を破棄する。
具体的には、第2ノードは、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成し得る。例えば、第2ノードは、第2目標鍵K2および新規パラメータfreshに基づいて、第1目標鍵K1がK1=KDF(K2、fresh)であると決定し得る。
ステップS706:第2ノードが第1応答メッセージを第1ノードへ送信する。
本願の本実施形態において、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性鍵を使用することによって、暗号化および/または完全性保護が第1鍵更新要求に対して実行され得る。第2目標鍵は第2ノードと第1ノードとの間の共有鍵である。
第1応答メッセージは第2アイデンティティ認証情報を含み、第2アイデンティティ認証情報は、第2ノードのアイデンティティを検証するために使用され、第1ノードと第2ノードとの間の第1共有鍵を使用することによって生成され得る。任意選択で、第1応答メッセージは更に、乱数値NONCEsを含み得る。
本願の本実施形態において、第2アイデンティティ認証情報を生成するためのアルゴリズムは暗号アルゴリズムであり得る。暗号アルゴリズムがHMACである例において、生成された第2アイデンティティ認証情報AUTHsは、AUTHs=HMAC(PSK、NONCEs)として表され得、パラメータのシーケンスは異なり得る。当然、第1応答メッセージが乱数値NONCEsなどのパラメータを含むとき、第2ノードは、第2アイデンティティ認証情報AUTHsを生成するためにこれらのパラメータを使用しないことがあり得る。
任意選択で、具体的な実装プロセスにおいて、第2ノードはまず、S706のオペレーションを実行し、次にS705のオペレーションを実行し得る。
ステップS707:第1ノードが第1応答メッセージを解読する。
具体的には、第1ノードは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1応答メッセージを解読し得る。
ステップS708:第1ノードが第1応答メッセージのメッセージ完全性に対する検証を実行する。
任意選択で、メッセージ完全性に対する検証が失敗した場合、第1ノードは第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄し得る。
任意選択で、図7Aおよび図7Bに示される実施形態において、第1ノードはステップS708を実行しないことがあり得る。この場合、ステップS707を実行した後に、第1ノードは続いて、ステップS709およびステップS709の後続のステップを実行し得る。
ステップS709:第1ノードが第2アイデンティティ認証情報に対する検証を実行する。
具体的には、第2アイデンティティ情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第2ノードによって生成される。したがって、第1ノードは、第1共有鍵に基づいて、第2アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第2ノードが特定のパラメータを使用して第2アイデンティティ認証情報を生成すること、したがって、第1ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第2アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。
例えば、第2アイデンティティ認証情報は、HMACを使用することによって生成され得る。したがって、第1ノードは、HMACを使用することによって、チェック値check2とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第2アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第2アイデンティティ認証情報AUTHsがHMAC(PSK)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSKに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
別の例として、第1アイデンティティ認証情報AUTHsがHMAC(PSK、NONCEs)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSK、ならびに、第1応答メッセージにおける乱数値NONCEsに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK、NONCEs)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
任意選択で、第2アイデンティティ認証情報に対する検証が失敗した場合、第1ノードは、第2ノードへの通信接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄し得る。
任意選択で、具体的な実装プロセスにおいて、第1ノードはまずS709のオペレーションを実行し、次に、S708のオペレーションを実行し得る。
ステップS710:第2アイデンティティ認証情報に対する検証が成功した場合、第1ノードは第2目標鍵および新規パラメータに基づいて第1目標鍵を生成する。
具体的には、第1ノードは、第2目標鍵および新規パラメータに基づいて鍵導出関数を使用することによって第1目標鍵を生成し得る。例えば、第2ノードは、第2目標鍵K2および新規パラメータfreshに基づいて、第1目標鍵K1がK1=KDF(K2、fresh)であると決定し得る。
任意選択で、第1目標鍵は、第1ノードと第2ノードとの間の共有鍵に適用され得、マスター鍵、セッション鍵などを含む。
図7Aおよび図7Bにおいて説明される方法では、鍵更新プロセスにおいて、第1ノードおよび第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、メッセージを他のノードから受信した後に、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第2目標鍵および新規パラメータに基づいて鍵を更新し、第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
図8Aおよび図8Bは、本願の実施形態による更に別の鍵更新方法を示す。当該方法は、以下のステップを備えるが、それらに限定されない。
ステップS801:第1ノードが第1鍵更新要求を第2ノードへ送信する。
本願の本実施形態において、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性鍵を使用することによって、暗号化および/または完全性保護が第1鍵更新要求に対して実行され得る。第2目標鍵は第2ノードと第1ノードとの間の共有鍵である。
本願の本実施形態において、第1鍵更新要求は、第1鍵ネゴシエーションパラメータ、新規パラメータfreshおよび第1アイデンティティ認証情報を含む。第1鍵ネゴシエーションパラメータは新規パラメータfreshであり得る。任意選択で、第1鍵要求は更に、乱数値NONCEm、第1更新時点を示す情報timer、第1目標鍵の有効期間を示す情報expirationの少なくとも1つを含み得る。
本願の本実施形態において、第1ノードと第2ノードとの間の第1共有鍵を使用することによって、第1鍵更新要求における第1アイデンティティ認証情報が生成され得、第1共有鍵は、マスター鍵、事前共有鍵PSKなどを含み得る。
任意選択で、第1アイデンティティ認証情報を生成するためのアルゴリズムは暗号アルゴリズムであり得る。暗号アルゴリズムがHMACである例において、生成された第1アイデンティティ認証情報AUTHmは、AUTHm=HMAC(PSK、fresh、NONCEm、expiration、timer)として表され得、パラメータのシーケンスは異なり得る。当然、第1鍵更新要求が新規パラメータfresh、乱数値NONCEm、第1目標鍵の有効期間を示す情報expiration、または、第1更新時点を示す情報timerなどの情報を含むとき、第1ノードは、第1アイデンティティ認証情報AUTHmを生成するためにパラメータの一部または全部を使用しないことがあり得る。
任意選択で、第1ノードは、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信し得、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用される。第1鍵更新要求において保持される第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。例えば、第3フレーム番号が2365である場合、フレーム番号が2365から開始する通信フレームの後に、前回更新された鍵が適用されること、および、第1ノードは、フレーム番号が2365に到達する前に、第1目標鍵を改めて決定する必要があることを示す。したがって、第1ノードは、フレーム番号が2345である第1通信フレームにおいて第1鍵更新要求を送信し得、第1フレーム番号2355は、第1鍵更新要求において第1目標鍵の開始時点を示すために使用される。通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行するためのものであり得る。したがって、フレーム番号が、前回更新された鍵のフレーム番号まで繰り返す前に、第1目標鍵が決定され、その結果、第1目標鍵を使用することによってデータフレームが暗号化される。このように、同一のフレーム番号を有するデータフレームは、異なる鍵を使用することによって2回暗号化でき、これにより、データセキュリティを改善する。
任意選択で、前回の鍵更新のプロセスにおいて、鍵開始時点を示す情報が保持されないか、または、第1ノードが以前に鍵更新を実行していない場合、第1ノードは目標フレーム番号を事前構成し得る。現在の通信フレーム番号と目標フレーム番号との間の相違点が第1閾値以下であると第1ノードが検出した場合、第1ノードは第1鍵更新要求を送信する。
ステップS802:第2ノードが第1鍵更新要求を解読する。
具体的には、第2ノードは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1鍵更新要求を解読し得る。
ステップS803:第2ノードが第1鍵更新要求のメッセージ完全性に対する検証を実行する。
任意選択で、メッセージ完全性に対する検証が失敗した場合、第2ノードは、第1ノードへの通信接続を切断し得るか、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは第1鍵更新要求を破棄し、応答しない。
任意選択で、図8Aおよび図8Bに示される実施形態において、第2ノードはステップS803を実行しないことがあり得る。この場合、ステップS802を実行した後に、第2ノードは続いて、ステップS804およびステップS804の後続のステップを実行し得る。
ステップS804:第2ノードが第1アイデンティティ認証情報に対する検証を実行する。
任意選択で、第1アイデンティティ情報に対する検証が失敗した場合、第2ノードは、第1ノードとの通信接続を切断し得るか、または、第2ノードは更新失敗インジケーション情報を第1ノードへ送信するか、または、第2ノードは、第1鍵更新要求を破棄する。
任意選択で、具体的な実装プロセスにおいて、第2ノードはまず、S804のオペレーションを実行し、次に、S803のオペレーションを実行し得る。
ステップS805:第1アイデンティティ認証情報に対する検証が成功した場合、第2ノードは第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成する。
具体的には、アルゴリズム識別子は、鍵を生成するためのアルゴリズムを示すために使用され得る。アルゴリズム識別子は、マスター鍵、暗号化鍵、または完全性保護鍵などの鍵を生成するためのアルゴリズムの識別子を示すために使用され得る。例えば、文字列「encryption」は、暗号化鍵を生成することを示すために使用される。別の例では、文字列「integrity」は、完全性保護鍵を生成することを示すために使用される。アルゴリズム識別子は代替的に、使用されるハッシュアルゴリズムの識別子または同様のものを示すために使用され得る。例えば、文字列「SHA256」は、第1目標鍵を決定するために使用されるアルゴリズムがSHA256アルゴリズムであることを示すために使用される。アルゴリズム識別子は、第1ノードと第2ノードとの間で事前設定され得るか、または、第1ノードによって決定された後に第2ノードへ送信され得る。
第2ノードは、第2目標鍵K2、新規パラメータfresh、およびアルゴリズム識別子tagに基づいて第1目標鍵K1を決定し得る。
例えば、第2ノードは、第2目標鍵K2、新規パラメータfresh、およびアルゴリズム識別子tagに基づいて、鍵導出関数KDFを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh、tag)であると決定する。
任意選択で、第2ノードは更に、第2目標鍵K2、新規パラメータfresh、アルゴリズム識別子tagおよび鍵タイプtypeに基づいて、鍵導出関数KDFを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh、tag、type)であることを決定し得、ここで、typeは鍵タイプを表す。例えば、文字列「encryption」は、暗号化鍵を生成することを示すために使用される。別の例として、文字列「integrity」は、完全性保護鍵を生成することを示すために使用される。
任意選択で、第2ノードはまず、第1目標鍵K2および新規パラメータfreshに基づいて中間鍵を決定し、次に、中間鍵に基づいてアルゴリズム識別子tagおよび鍵タイプtypeの少なくとも1つを使用することによって第1目標鍵K1を決定し得る。例えば、第2ノードは、鍵導出関数KDF1を使用することによって中間鍵Kmid:Kmid=KDF1(K2、fresh)を取得し、次に、中間鍵Kmidに基づいて鍵導出関数KDF2を使用することによって第1目標鍵K1=KDF2(Kmid、tag、type)を決定する。この解決策を本明細書においてより明確に説明するために、第1目標鍵をどのように取得するかを2つのステップを使用することによって説明することに留意されたい。実際の処理において、第1目標鍵は代替的に、1つのステップを使用することによって取得され得る。中間鍵Kmidは単なる中間結果である。言い換えれば、第1目標を決定する方式はK1=KDF2(KDF1(K2、fresh)、tag、type)を満たす。
ステップS806:第2ノードが第1応答メッセージを第1ノードへ送信する。
本願の本実施形態において、第2目標鍵に基づいて決定された暗号化鍵を使用することによって、および/または、第2目標鍵に基づいて決定された完全性鍵を使用することによって、暗号化および/または完全性保護が第1応答メッセージに対して実行され得る。第2目標鍵は第2ノードと第1ノードとの間の共有鍵である。
第1応答メッセージは第2アイデンティティ認証情報を含み、第2アイデンティティ認証情報は第2ノードのアイデンティティを認証するために使用される。任意選択で、第2アイデンティティ認証情報は、第1ノードと第2ノードとの間の第1共有鍵を使用することによって生成され得る。任意選択で、第1応答メッセージは更に乱数値NONCEsを含む。
本願の本実施形態において、第2アイデンティティ認証情報を生成するためのアルゴリズムは暗号アルゴリズムであり得る。暗号アルゴリズムがHMACである例において、生成された第2アイデンティティ認証情報AUTHsは、AUTHs=HMAC(PSK、NONCEs)として表され得、パラメータのシーケンスは異なり得る。当然、第1応答メッセージが乱数値NONCEsなどのパラメータを含むとき、第2ノードは、第2アイデンティティ認証情報AUTHsを生成するためにこれらのパラメータを使用しないことがあり得る。
任意選択で、具体的な実装プロセスにおいて、第2ノードはまずS806のオペレーションを実行し、次に、S805のオペレーションを実行し得る。
ステップS807:第1ノードが第1応答メッセージを解読する。
具体的には、第1ノードは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって第1応答メッセージを解読し得る。
ステップS808:第1ノードが第1応答メッセージのメッセージ完全性に対する検証を実行する。
具体的には、第1アイデンティティ認証情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第1ノードによって生成される。したがって、第2ノードは、第1共有鍵に基づいて、第1アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択で、図8Aおよび図8Bに示される実施形態において、第1ノードはステップS808を実行しないことがあり得る。この場合、ステップS807を実行した後に、第1ノードは続いて、ステップS809およびステップS809の後続のステップを実行し得る。
ステップS809:第1ノードが第2アイデンティティ認証情報に対して検証を実行する。
具体的には、第2アイデンティティ情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第2ノードによって生成される。したがって、第1ノードは、第1共有鍵に基づいて、第2アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第1ノードが特定のパラメータを使用して第1アイデンティティ認証情報を生成すること、したがって、第2ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第1アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。例えば、第1アイデンティティ認証情報は、HMACを使用することによって生成される。したがって、第2ノードは、HMACを使用することによって、チェック値check1とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第1アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第1アイデンティティ認証情報AUTHmがHMAC(PSK)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKに基づくHMACを使用することによって、チェック値check1=HMAC(PSK)を取得する。チェック値check1がAUTHmと同一である場合、検証が成功する。
別の例として、第1鍵ネゴシエーションパラメータが新規パラメータfreshを含み、かつ、第1アイデンティティ認証情報AUTHmがHMAC(PSK、fresh)である場合、第2ノードは、第2ノードと第1ノードとの間の事前共有鍵PSKおよび新規パラメータfreshに基づいて、HMACを使用することによって、チェック値check1=HMAC(PSK、fresh)を取得する。チェック値check1がAUTHmと同一である場合、検証は成功である。
任意選択で、メッセージ完全性に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示す。したがって、第1ノードは、第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄し得る。
ステップS809:第1ノードが第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行する。
具体的には、第2アイデンティティ情報は、第1ノードと第2ノードとの間の第1共有鍵に基づいて第2ノードによって生成される。したがって、第1ノードは、第1共有鍵に基づいて、第2アイデンティティ認証情報が正確かどうかを検証し得る。
任意選択の解決策において、プロトコルは、第2ノードが特定のパラメータを使用して第2アイデンティティ認証情報を生成すること、したがって、第1ノードも同一のパラメータを使用して、検証に使用されるアイデンティティ認証情報を生成する必要があることを規定する。検証に使用されるアイデンティティ認証情報が第2アイデンティティ認証情報と同一である場合、検証が成功したとみなされる。
例えば、第2アイデンティティ認証情報は、HMACを使用することによって生成され得る。したがって、第1ノードは、HMACを使用することによって、チェック値check2とも称される、検証に使用されるアイデンティティ認証情報を生成し、次に、検証に使用されるアイデンティティ認証情報を使用することによって、第2アイデンティティ認証情報が正確かどうかを検証し得る。以下では説明のために例を用いる。
例えば、第2アイデンティティ認証情報AUTHsがHMAC(PSK)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSKに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
別の例として、第1アイデンティティ認証情報AUTHsがHMAC(PSK、NONCEs)である場合、第1ノードは、第1ノードと第2ノードとの間の事前共有鍵PSK、ならびに、第1応答メッセージにおける乱数値NONCEsに基づいてHMACを使用することによって、チェック値check2=HMAC(PSK、NONCEs)を取得する。チェック値check2がAUTHsと同一である場合、検証は成功である。
任意選択で、第2アイデンティティ認証情報に対する検証が失敗した場合、第1ノードは、第2ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第2ノードへ送信し得るか、または、第1応答メッセージを破棄し得る。
任意選択で、具体的な実装プロセスにおいて、第1ノードはまず、S809のオペレーションを実行し、次に、S808のオペレーションを実行し得る。
ステップS810:第2アイデンティティ認証情報に対する検証が成功した場合、第1ノードは第2目標鍵および新規パラメータに基づいて第1目標鍵を生成する。
具体的には、アルゴリズム識別子は、鍵を生成するためのアルゴリズムを示すために使用され得る。アルゴリズム識別子は、マスター鍵、暗号化鍵、または完全性保護鍵などの鍵を生成するためのアルゴリズムの識別子を示すために使用され得る。例えば、文字列「encryption」は、暗号化鍵を生成することを示すために使用される。別の例では、文字列「integrity」は、完全性保護鍵を生成することを示すために使用される。アルゴリズム識別子は代替的に、使用されるハッシュアルゴリズムの識別子または同様のものを示すために使用され得る。例えば、文字列「SHA256」は、第1目標鍵を決定するために使用されるアルゴリズムがSHA256アルゴリズムであることを示すために使用される。アルゴリズム識別子は第1ノードと第2ノードとの間で事前設定され得るか、または、第1ノードによって決定され得る。
第1ノードは、第2目標鍵K2、新規パラメータfresh、およびアルゴリズム識別子tagに基づいて、KDFアルゴリズムを使用することによって、第1目標鍵K1がK1=KDF(K2、fresh、tag)であることを決定し得る。
任意選択で、第1ノードはまず、第1目標鍵K2および新規パラメータfreshに基づいて中間鍵を決定し、次に、中間鍵に基づいてアルゴリズム識別子tagおよび鍵タイプtypeの少なくとも1つを使用することによって第1目標鍵K1を決定し得る。例えば、第1ノードは、鍵導出関数KDF1を使用することによって中間鍵Kmid:Kmid=KDF1(K2、fresh)を取得し、次に、中間鍵Kmidに基づいて、鍵導出関数KDF2を使用することによって、第1目標鍵K1=KDF2(Kmid、tag、type)を決定する。KDF1およびKDF2は同一の鍵導出関数であり得るか、または、異なる鍵導出関数であり得る。本明細書において本解決策をより明確に説明するために、第1目標鍵をどのように取得するかは、2つのステップを使用することによって説明されることに留意されたい。実際の処理において、第1目標鍵は代替的に、1つのステップを使用することによって取得され得る。中間鍵Kmidは中間結果に過ぎない。言い換えれば、第1目標を決定する方式は、K1=KDF2(KDF1(K2、fresh)、tag、type)を満たす。
任意選択で、第1目標鍵は、第1ノードと第2ノードとの間の共有鍵に適用され得、マスター鍵、セッション鍵などを含む。図8Aおよび図8Bにおいて説明される方法では、鍵更新プロセスにおいて、第1ノードおよび第2ノードは第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、メッセージを他のノードから受信した後に、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて、第2目標鍵、新規パラメータ、およびアルゴリズム識別子に基づいて鍵を更新し、第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
任意選択で、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される実施形態において、第1ノードによって送信された第1鍵更新要求は、第1アイデンティティ認証情報を保持しないことがあり得る。それに対応して、第2ノードは、第1アイデンティティ情報に対する検証を実行するプロセスを実行しないことがあり得る。同様に、第1応答メッセージは第2アイデンティティ認証情報を保持しないことがあり得る。それに対応して、第2ノードは、第2アイデンティティ認証情報に対する検証を実行するプロセスを実行しないことがあり得る。この場合、第1鍵更新要求は、第2目標鍵(または第2目標鍵から導出されたセッション鍵)を使用することによって暗号化され、双方のアイデンティティを認証する。
可能な解決策において、第1ノードおよび第2ノードはマスター鍵およびセッション鍵を含む。セッション鍵が、マスター鍵に基づいて決定された鍵である場合、マスター鍵が失効したとき、マスター鍵は、図6Aおよび図6Bまたは図7Aおよび図7Bに示される鍵更新方法を使用することによって更新され得る。マスター鍵が更新されるので、マスター鍵に基づいて決定されたセッション鍵も更新される必要がある。したがって、第1ノードおよび第2ノードは、図8Aおよび図8Bに示される鍵更新方法を使用することによってセッション鍵を更新し得る。
本願の実施形態における方法は上で詳細に説明される。本願の実施形態における装置が下に提供される。
図9は、本願の実施形態による装置90の概略構造図である。装置90は、データ受信/送信能力を有する電子デバイスであり得るか、または、データ受信/送信能力を有する電子デバイスにおける、チップまたは集積回路などのコンポーネントであり得る。装置90は、送信ユニット901、受信ユニット902、検証ユニット903、および決定ユニット904を含み得る。ユニットは以下のように説明される。
送信ユニット901は、第1鍵更新要求を第2ノードへ送信するよう構成され、ここで、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される。
受信ユニット902は、第1応答メッセージを第2ノードから受信するよう構成され、ここで、第1応答メッセージは第2アイデンティティ認証情報を含む。
検証ユニット903は、第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するよう構成される。
決定ユニット904は、第2アイデンティティ認証情報に対する検証が成功した場合、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するよう構成される。
鍵更新プロセスにおいて、上述の装置90および第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
本明細書において、上述の複数のユニットの分割は、単に機能に基づく論理的分割であり、装置90の特定の構造に限定する意図は無いことを留意されたい。特定の実装において、いくつかの機能モジュールは、より細かい機能モジュールに細分割され得、いくつかの機能モジュールは、1つの機能モジュールに組み合わされ得る。しかしながら、機能モジュールが細分割されるか、または、組み合わされるかにかかわらず、鍵更新プロセスにおける装置90によって実行される概略的手順は同一である。例えば、上述の複数のユニットは、通信ユニットおよび処理ユニットとして単純化され得る。通信ユニットは、送信ユニット901および受信ユニット902の1または複数の機能を実装するよう構成され、処理ユニットは、検証ユニット903および決定ユニット904の1または複数の機能を実装するよう構成される。通常、各ユニットは、それぞれのプログラムコード(またはプログラム命令)に対応する。ユニットに対応するプログラムコードがプロセッサ上で実行されるとき、ユニットは、対応する手順を実行して、対応する関数を実装する。
可能な実装において、第1鍵更新要求は第1更新時点および、第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点は、プロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願において提供される装置90は、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、第2ノードへの更新時間および/または有効期間を示し得、その結果、第1目標鍵を適宜に有効化することができる。
更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は、第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
例えば、第1鍵更新要求において保持される第1フレーム番号は2345であり、第1フレーム番号は、第1目標鍵が、フレーム番号2345から開始する通信フレームの後に適用されることを示し得る。
更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
従来の鍵更新プロセスにおいて、鍵更新時点が構成される。したがって、古い鍵が失効するときに新しい鍵が更新される。古い鍵が失効したので、鍵更新中に暗号化プロセスが保留される必要があり、暗号化プロセスは、鍵更新が完了した後に再開される。しかしながら、暗号化プロセスの保留および暗号化プロセスの再開は鍵更新効率に影響を与え、暗号化プロセスの保留はセキュリティに影響を与える。しかしながら、本願の装置90において、古い鍵が失効していないので、鍵更新中に暗号化プロセスは保留される必要が無く、これにより、鍵更新効率を改善しデータセキュリティを改善する。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、決定ユニット904は、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは、新規パラメータを含み、決定ユニット904は、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
更に別の可能な実装において、第1目標鍵は装置90のマスター鍵である。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、決定ユニット904は、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、ここで、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
更に別の可能な実装において、第1目標鍵は、装置90の完全性保護鍵または暗号化鍵である。
更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって暗号化され、および/または、完全性保護が、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効するときに鍵を更新することであることが理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において提供される装置90は、鍵が失効する前に第1目標鍵を決定し得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
更に別の可能な実装において、送信ユニット901は、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信するよう構成され、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用された鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。
通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行することであり得る。したがって、フレーム番号が前回更新された鍵のフレーム番号まで繰り返す前に第1目標鍵が決定され、その結果、データフレームが、第1目標鍵を使用することによって暗号化される。このように、同一のフレーム番号を有するデータフレームが、異なる鍵を使用することによって2回暗号化され得、これにより、データセキュリティを改善する。代替的解決策において、第1鍵更新要求は、第1フレーム番号の代わりにMACシリアル番号(MAC SN)を含み、MAC SNはMビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。代替的に、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号はまた、MAC SN、すなわち、第3フレーム番号の示すために使用される複数のビットの一部によって示されるMAC SNで置き換えられ得る。この代替的解決策において、第1フレーム番号、第2フレーム番号、および第3フレーム番号の間の値関係は変化しないままである。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
更に別の可能な実装において、通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む。
更に別の可能な実装において、第2アイデンティティ情報に対する検証が失敗した場合、送信ユニット901および受信ユニット902は、第2ノードへの通信接続を切断するか、または、送信ユニット901を使用することによって、更新失敗情報を第2ノードへ送信する。
第2アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、上述の装置90は、第2ノードへの通信接続を切断し得るか、または、更新失敗情報を第2ノードへ送信し得、その結果、鍵更新を実行する必要があるノードに対するアクセス要求が再初期化され、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
更に別の可能な実装において、検証ユニット903は更に、第1応答メッセージに対する完全性検証を実行するよう構成され、完全性検証が成功した場合、続いて、第1共有鍵を使用することによって、第2アイデンティティ認証情報に対する検証を実行するステップを実行し、完全性検証が失敗した場合、送信ユニット901および受信ユニット902は第2ノードへの通信接続を切断するか、または、送信ユニット901を使用することによって、更新失敗情報を第2ノードへ送信するか、もしくは、更新失敗情報を第2ノードへ送信し得る。
装置90は、アイデンティティ情報に対する検証を実行する前に、まず、第1応答メッセージに対する完全性検証を実行し、第1応答メッセージにおける情報が改ざんされていないと決定し得る。完全性検証が失敗した場合、第1応答情報におけるデータは改ざんされ、鍵を更新できないことを示す。したがって、装置90は、第2ノードへの通信接続を切断するか、または、更新失敗情報を第2ノードへ送信し、その結果、装置90は、鍵更新を実行する必要があるノードに再アクセスし、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
各ユニットの実装については、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における対応する説明を参照することに留意されたい。装置90は、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第1ノードである。
図10は、本願の実施形態による装置100の概略構造図である。装置100は、データ受信/送信能力を有する電子デバイスであり得るか、または、データ受信/送信能力を有する電子デバイスにおけるチップまたは集積回路などのコンポーネントであり得る。装置100は受信ユニット1001、検証ユニット1002、決定ユニット1003、および送信ユニット1004を含み得る。ユニットは以下のように説明される。
受信ユニット1001は、第1鍵更新要求を第1ノードから受信するよう構成され、ここで、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む。
検証ユニット1002は、第1共有鍵を使用することによって第1アイデンティティ認証情報に対する検証を実行するよう構成される。
決定ユニット1003は、第1アイデンティティ認証情報に対する検証が成功した場合、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するよう構成される。
送信ユニット1004は、第1応答メッセージを第1ノードへ送信するよう構成され、ここで、第1応答メッセージは第2アイデンティティ認証情報を含み、第2アイデンティティ認証情報は、第1共有鍵を使用することによって生成される。
元のセッション鍵が失効する前に、上述の装置100および第1ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
本明細書において、上述の複数のユニットの分割は、単に機能に基づく論理的分割であり、装置100の特定の構造に限定する意図は無いことに留意されたい。特定の実装において、いくつかの機能モジュールは、より細かい機能モジュールに細分割され得、いくつかの機能モジュールは、1つの機能モジュールに組み合わされ得る。しかしながら、機能モジュールが細分割されるか、または、組み合わされるかにかかわらず、鍵更新プロセスにおける装置100によって実行される概略的手順は同一である。例えば、上述の複数のユニットは、通信ユニットおよび処理ユニットとして単純化され得る。通信ユニットは、受信ユニット1001および送信ユニット1004の機能を実装するよう構成され、処理ユニットは、検証ユニット1002および決定ユニット1003の1または複数の機能を実装するよう構成される。通常、各ユニットは、それぞれのプログラムコード(またはプログラム命令)に対応する。ユニットに対応するプログラムコードがプロセッサ上で実行されるとき、ユニットは、対応する手順を実行して、対応する関数を実装する。
可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点は、プロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願における鍵更新方法において、第1ノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、更新時点および/または有効期間を装置100に示し得、その結果、第1目標鍵を適宜に有効化できる。
更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は、第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
例えば、第1鍵更新要求において保持される第1フレーム番号は2345であり、第1フレーム番号は、第1目標鍵が、フレーム番号2345から開始する通信フレームの後に適用されることを示し得る。
更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは第2鍵ネゴシエーションアルゴリズムパラメータを含み、決定ユニット1003は、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは、新規パラメータを含み、決定ユニット1003は、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
更に別の可能な実装において、第1目標鍵は装置100のマスター鍵である。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、決定ユニット1003は、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、ここで、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムを識別するために使用される。
更に別の可能な実装において、第1目標鍵は装置100の完全性保護鍵または暗号化鍵である。
更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって暗号化され、および/または、完全性保護が、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効したときに鍵を更新することであると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、装置100は、鍵が失効する前に第1目標鍵を決定し得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
更に別の可能な実装において、送信ユニット1004は更に、第1アイデンティティ情報に対する検証が失敗した場合に、装置100が第1ノードへの通信接続を切断する、または、更新失敗インジケーション情報を第1ノードへ送信するよう構成される。
第1アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、装置100は、第1ノードへの接続を切断し得るか、または、第1ノードへ更新失敗インジケーション情報を送信し得、現在の鍵プロセスを停止し、これにより、鍵更新プロセスにおける装置100のデータセキュリティを確実にする。
更に別の可能な実装において、検証ユニット1002は更に、第1応答メッセージに対する完全性検証を実行し、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するステップを実行するよう構成され、送信ユニット1004は更に、完全性検証が失敗した場合、装置100が第1ノードへの通信接続を切断するか、または、更新失敗インジケーション情報を第1ノードへ送信するよう構成される。
上述の装置100は、アイデンティティ情報に対する検証を実行する前に、まず第1鍵更新要求に対する完全性検証を実行して、第1鍵更新要求における情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1鍵更新要求におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、上述の装置100は、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
各ユニットの実装については、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における対応する説明を参照することに留意されたい。装置100は、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第2ノードである。
図11は、本願の実施形態による装置110の概略構造図である。装置110は、データ受信/送信能力を有する電子デバイスであり得るか、または、データ受信/送信能力を有する電子デバイスにおけるチップまたは集積回路などのコンポーネントであり得る。装置110はメモリ1101、プロセッサ1102および通信インタフェース1103を含み得る。更に任意選択で、バス1104が更に含まれ得る。メモリ1101、プロセッサ1102および通信インタフェース1103はバス1104を通じて接続される。
メモリ1101は記憶空間を提供するよう構成され、記憶空間は、オペレーティングシステムおよびコンピュータプログラムなどのデータを記憶し得る。メモリ1101には、限定されるものではないが、ランダムアクセスメモリ(random access memory、RAM)、リードオンリメモリ(read-only memory、ROM)、消去可能プログラマブルリードオンリメモリ(erasable programmable read only memory、EPROM)、またはコンパクトディスクリードオンリメモリ(compact disc read-only memory、CD-ROM)が含まれる。
プロセッサ1102は、算術演算および論理演算を実行するモジュールであり、中央処理装置(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit, GPU)、またはマイクロプロセッサユニット(microprocessor unit, MPU)などの処理モジュールの1つまたは組み合わせであり得る。
通信インタフェース1103は、外部デバイスによって送信されたデータを受信し、および/または、データを外部デバイスへ送信するよう構成され、イーサネット(登録商標)ケーブルなどの有線リンクインタフェースであり得、または、無線リンクインタフェース(Wi-Fi、Bluetoothまたは同様のもの)であり得る。任意選択で、通信インタフェースは更に、インタフェースに結合された送信機(例えば、無線周波数送信機)、受信機、または同様のものを含み得る。
装置110におけるプロセッサ1102は、メモリ1101に記憶されたコンピュータプログラムコードを読み取り、以下のオペレーション、すなわち、通信インタフェース1103を通じて第1鍵更新要求を第2ノードへ送信することであって、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、こと、通信インタフェース1104を通じて、第1応答メッセージを第2ノードから受信することであって、第1応答メッセージは第2アイデンティティ認証情報を含む、こと、第1共有鍵を使用することによって、第2アイデンティティ認証情報に対する検証を実行すること、および、第2アイデンティティ認証情報に対する検証が成功した場合、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することを実行するよう構成される。
鍵更新プロセスにおいて、上述の装置110および第2ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点は、プロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願において提供される装置110は、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、第2ノードへの更新時点および/または有効期間を示し得、その結果、第1目標鍵を適宜に有効化することができる。
更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は、第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
例えば、第1鍵更新要求において保持される第1フレーム番号は2345であり、第1フレーム番号は、第1目標鍵が、フレーム番号2345から開始する通信フレームの後に適用されることを示し得る。
更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
従来の鍵更新プロセス、鍵更新時点が構成される。したがって、古い鍵が失効するとき新しい鍵が更新される。古い鍵が失効したので、鍵更新中に暗号化プロセスが保留される必要があり、暗号化プロセスは、鍵更新が完了した後に再開される。しかしながら、暗号化プロセスの保留および暗号化プロセスの再開は鍵更新効率に影響を与え、暗号化プロセスの保留はセキュリティに影響を与える。しかしながら、本願において提供される装置110において、古い鍵が失効していないので、鍵更新中に暗号化プロセスは保留される必要が無く、これにより、鍵更新効率を改善しデータセキュリティを改善する。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサ1102は具体的には、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサ1102は具体的には、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
更に別の可能な実装において、第1目標鍵は装置110のマスター鍵である。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサ1102は具体的には、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
更に別の可能な実装において、第1目標鍵は、装置110の完全性保護鍵または暗号化鍵である。
更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって暗号化され、および/または、完全性保護が、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効したときに鍵を更新することであると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、装置110は、鍵が失効する前に第1目標鍵を決定し得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
更に別の可能な実装において、通信インタフェース1103は、第1通信フレームを使用することによって、第1鍵更新要求を第2ノードへ送信し、ここで、第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用された鍵更新要求において保持される第3フレーム番号より小さく、第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、第1フレーム番号は、第2フレーム番号より大きく、第3フレーム番号より小さい。
通信プロセスにおいて通信フレームに対してセキュリティ保護が実行されるとき、使用される暗号化方法は、フレーム番号および前回更新された鍵に基づいて暗号化を実行することであり得る。したがって、フレーム番号が前回更新された鍵のフレーム番号まで繰り返す前に第1目標鍵が決定され、その結果、データフレームが、第1目標鍵を使用することによって暗号化される。このように、同一のフレーム番号を有するデータフレームが、異なる鍵を使用することによって2回暗号化され得、これにより、データセキュリティを改善する。
代替的解決策において、第1鍵更新要求は、第1フレーム番号の代わりにMACシリアル番号(MAC SN)を含み、MAC SNはMビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。代替的に、前回の鍵更新中に使用される鍵更新要求において保持される第3フレーム番号はまた、MAC SN、すなわち、第3フレーム番号の示すために使用される複数のビットの一部によって示されるMAC SNで置き換えられ得る。この代替的解決策において、第1フレーム番号、第2フレーム番号、および第3フレーム番号の間の値関係は変化しないままである。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
更に別の可能な実装において、通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む。
更に別の可能な実装において、プロセッサ1102は更に、第2アイデンティティ情報に対する検証が失敗した場合、第2ノードへの通信接続を切断するか、または、通信インタフェース1103を通じて更新失敗情報を第2ノードへ送信するよう通信インタフェース1103に示すよう構成される。
第2アイデンティティ認証情報に対する検証が失敗した場合、第2ノードのアイデンティティが信用できないことを示すことが分かり得る。したがって、上述の装置110は、第2ノードへの通信接続を切断し得るか、または、更新失敗情報を第2ノードへ送信し得、その結果、鍵更新を実行する必要があるノードに対するアクセス要求が再初期化され、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
更に別の可能な実装において、プロセッサ1102は更に、第2ノードから第1応答メッセージを受信した後に、第1応答メッセージに対する完全性検証を実行し、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第2アイデンティティ認証情報に対する検証を実行するステップを実行するよう構成され、プロセッサ1102は更に、完全性検証が失敗した場合、第2ノードへの通信接続を切断するか、または、通信インタフェース1103を通じて更新失敗情報を第2ノードへ送信するよう通信インタフェース1103に示すよう構成される。
情報が改ざんされているかどうかを決定するために完全性検証が実行され得ることが分かり得る。したがって、アイデンティティ情報に対する検証を実行する前に、上述の装置110はまず、第1応答メッセージに対する完全性検証を実行して、第1応答メッセージにおける情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1応答情報におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、装置110は、第2ノードへの通信接続を切断するか、または、更新失敗情報を第2ノードへ送信し、その結果、装置110は、鍵更新を実行する必要があるノードに再アクセスし、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
各ユニットの実装については、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における対応する説明を参照することに留意されたい。ノード10は、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第1ノードである。
図12は、本願の実施形態による装置120の概略構造図である。装置120は、データ受信/送信能力を有する電子デバイスであり得るか、または、データ受信/送信能力を有する電子デバイスにおけるチップまたは集積回路などのコンポーネントであり得る。装置120は、メモリ1201、プロセッサ1202、および通信インタフェース1203を含み得る。更に任意選択で、バス1204が更に含まれ得る。メモリ1201、プロセッサ1202、および通信インタフェース1203はバス1204を通じて接続される。
メモリ1201は、記憶空間を提供するよう構成され、記憶空間はオペレーティングシステムおよびコンピュータプログラムなどのデータを記憶し得る。メモリ1201には、限定されるものではないが、ランダムアクセスメモリ(random access memory、RAM)、リードオンリメモリ(read-only memory、ROM)、消去可能プログラマブルリードオンリメモリ(erasable programmable read only memory、EPROM)、またはコンパクトディスクリードオンリメモリ(compact disc read-only memory、CD-ROM)が含まれる。
プロセッサ1202は、算術演算および論理演算を実行するモジュールであり、中央処理装置(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit, GPU)、またはマイクロプロセッサユニット(microprocessor unit, MPU)などの処理モジュールの1つまたは組み合わせであり得る。
通信インタフェース1203は、外部デバイスによって送信されたデータを受信し、および/または、データを外部デバイスへ送信するよう構成され、イーサネットケーブルなどの有線リンクインタフェースであり得、または、無線リンクインタフェース(Wi-Fi、Bluetoothまたは同様のもの)であり得る。任意選択で、通信インタフェースは更に、インタフェースに結合された送信機(例えば、無線周波数送信機)、受信機、または同様のものを含み得る。
デバイス120におけるプロセッサ1202は、メモリ1201に記憶されたコンピュータプログラムコードを読み取り、以下のオペレーション、すなわち、通信インタフェース1203を通じて第1鍵更新要求を第2ノードへ送信することであって、第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、こと、通信インタフェース1203を通じて、第1応答メッセージを第2ノードから受信することであって、第1応答メッセージは第2アイデンティティ認証情報を含む、こと、第1共有鍵を使用することによって、第2アイデンティティ認証情報に対する検証を実行すること、および、第2アイデンティティ認証情報に対する検証が成功した場合、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定することを実行するよう構成される。
元のセッション鍵が失効する前に、上述の装置120および第1ノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する。1つのノードは、他のノードからメッセージを受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に初めて第鍵ネゴシエーションパラメータに基づいて鍵を更新して第1目標鍵を取得する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、鍵更新プロセスにおけるデータセキュリティを改善する。
可能な実装において、第1鍵更新要求は、第1更新時点および第1目標鍵の有効期間の少なくとも1つを示すために使用される。
従来の鍵更新プロセスにおいて、鍵更新時点がプロトコルにおいて事前定義され、柔軟に選択できない。しかしながら、本願において、第1ノードは、第1目標鍵の更新時点および/または第1目標鍵の有効期間をカスタマイズし、更新時点および/または有効期間を装置120に示し得、その結果、第1目標鍵を適宜に有効化できる。
更に別の可能な実装において、第1鍵更新要求は第1フレーム番号を含み、第1鍵更新要求は、第1フレーム番号を使用することによって第1更新時点を示す。第1フレーム番号は、複数のビット、例えばFビットを使用することによって示される。代替的に、第1鍵更新要求は、媒体アクセス制御シリアル番号(MAC SN)を含み、MAC SNは、Mビットを使用することによって示され、MビットはFビットの一部であり、MはFより小さい。具体的には、第1フレーム番号を示すために使用される複数のビットは、2つの部分、すなわち、上位部分および下位部分を含む。下位部分は、MAC SNを示すために使用されるMビットである。上位部分は、Nビットを使用することによって示される。任意選択で、Nビットは、ハイパーフレーム番号を示すために使用される複数のビットである。この代替的な方式において、できるだけ少ない情報は、鍵更新要求において保持され得、これにより、シグナリング消費を低減し、通信効率を改善する。
例えば、第1鍵更新要求において保持される第1フレーム番号は2345であり、第1フレーム番号は、第1目標鍵が、フレーム番号2345から開始する通信フレームの後に適用されることを示し得る。
更に別の可能な実装において、第1目標鍵は、第1更新時点から開始する第1目標鍵の有効期間内に適用される。
従来の鍵更新プロセスにおいて、鍵更新時点が構成される。したがって、古い鍵が失効するとき、新しい鍵が更新される。古い鍵が失効したので、鍵更新中に暗号化プロセスが保留される必要があり、暗号化プロセスは、鍵更新が完了した後に再開される。しかしながら、暗号化プロセスの保留および暗号化プロセスの再開は鍵更新効率に影響を与え、暗号化プロセスの保留はセキュリティに影響を与える。しかしながら、本願において提供される装置120において、古い鍵が失効していないので、鍵更新中に暗号化プロセスは保留される必要が無く、これにより、鍵更新効率を改善しデータセキュリティを改善する。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサ1202は具体的には、第1鍵ネゴシエーションアルゴリズムパラメータおよび第2鍵ネゴシエーションアルゴリズムパラメータに基づいて第1目標鍵を生成するよう構成される。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサ1202は具体的には、第2目標鍵および新規パラメータに基づいて第1目標鍵を生成するよう構成される。
第2目標鍵は第1ノードと第2ノードとの間の共有鍵であり得、マスター鍵、セッション鍵、事前共有鍵PSKなどを含む。加えて、第1目標鍵は、第2目標鍵および新規パラメータに基づいて、鍵導出アルゴリズムKDFを使用することによって生成され得る。例えば、秘密値Keyを使用することによって導出された新しい鍵DKは、DK=KDF(Key、fresh)として表現され得、ここで、freshは新規パラメータであり、更新に使用されるパラメータであり、カウンタ値(counter)、シリアル番号(number)、ランダム値(rand)、フレーム番号(frame number)などを含み得る。
更に別の可能な実装において、第1目標鍵は装置120のマスター鍵である。
更に別の可能な実装において、第1鍵ネゴシエーションパラメータは新規パラメータを含み、第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するオペレーションにおいて、プロセッサ1202は具体的には、第2目標鍵、新規パラメータおよびアルゴリズム識別子に基づいて第1目標鍵を生成するよう構成され、アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される。
更に別の可能な実装において、第1目標鍵は、装置120の完全性保護鍵または暗号化鍵である。
更に別の可能な実装において、第1鍵更新要求および第1応答メッセージの少なくとも1つは、第2目標鍵に基づいて決定された暗号化鍵を使用することによって暗号化され、および/または、完全性保護が、第2目標鍵に基づいて決定された完全性保護鍵を使用することによって、第1鍵更新要求および第1応答メッセージの少なくとも1つに対して実行される。
従来の鍵更新方法は、古い鍵が失効するときに鍵を更新することであると理解され得る。第2目標鍵は失効したので、暗号化および完全性保護は、新しい鍵を決定するプロセスにおいて実行されない。しかしながら、本願の本実施形態において、第1目標鍵は、鍵が失効する前に決定され得る。したがって、第1鍵更新要求および第1応答メッセージは、第2目標鍵に基づいて決定された鍵を使用することによって暗号化され得、これにより、データセキュリティを改善する。
更に別の可能な実装において、プロセッサ1202は更に、第1アイデンティティ情報に対する検証が失敗した場合に、第1ノードへの通信接続を切断する、または、通信インタフェース1203を通じて更新失敗インジケーション情報を第1ノードへ送信するよう通信インタフェース1203に示すよう構成される。
第1アイデンティティ認証情報に対する検証が失敗した場合、装置120は、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、現在の鍵プロセスを停止し、これにより、鍵更新プロセスのノードのデータセキュリティを確実にすることが分かり得る。
更に別の可能な実装において、プロセッサ1202は更に、第1鍵更新要求を第1ノードから受信した後、第1鍵更新要求に対する完全性検証を実行し、完全性検証が成功した場合、続いて第1共有鍵を使用することによって第1アイデンティティ認証情報に対する検証を実行するステップを実行するよう構成され、プロセッサ1202は更に、完全性検証が失敗した場合、第1ノードへの接続を切断するか、または、通信インタフェース1203を通じて更新失敗インジケーション情報を第1ノードへ送信するよう通信インタフェース1203に示すよう構成される。
上述の装置120は、アイデンティティ情報に対する検証を実行する前に、まず第1鍵更新要求に対する完全性検証を実行して、第1鍵更新要求における情報が改ざんされていないことを決定する。完全性検証が失敗した場合、第1鍵更新要求におけるデータが改ざんされ、鍵を更新できないことを示す。したがって、上述の装置120は、第1ノードへの接続を切断し得るか、または、更新失敗インジケーション情報を第1ノードへ送信し得、これにより、鍵更新プロセスにおけるデータセキュリティを確実にする。
各ユニットの実装については、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における対応する説明を参照することに留意されたい。装置120は、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第1ノードである。
本願の実施形態がさらに、コンピュータ可読記憶媒体を提供する。このコンピュータ可読記憶媒体は、コンピュータプログラムを記憶する。コンピュータプログラムが1または複数のプロセッサ上で実行されるとき、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の一実施形態における方法が実行される。
本願の実施形態は更に、チップシステムを提供する。チップシステムは少なくとも1つのプロセッサ、メモリおよびインタフェース回路を含む。インタフェース回路は、少なくとも1つのプロセッサについての情報入力/出力を提供するよう構成され、少なくとも1つのメモリはコンピュータプログラムを記憶し、コンピュータプログラムが1または複数のプロセッサ上で実行されるとき、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における鍵更新方法が実行される。
本願のある実施形態は、スマート運転席製品を更に提供する。スマート運転席製品は、第1ノード(例えば、自動車運転席ドメインコントローラCDC)を含み、第1ノードは、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第1ノードである。更に、車両は第2ノード(例えば、カメラ、スクリーン、マイク、スピーカ、レーダ、電子鍵、およびキーレスエントリならびに起動システムコントローラなどのモジュールの少なくとも1つ)を更に含み、第2ノードは、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第2ノードである。
本願の実施形態は更に、車両を提供する。車両は第1ノード(例えば、自動車運転席ドメインコントローラCDC)を含む。更に、車両は第2ノード(例えば、カメラ、スクリーン、マイク、スピーカ、レーダ、電子鍵、およびキーレスエントリ、または起動システムコントローラなどのモジュールの少なくとも1つ)を更に含む。第1ノードは、図5、図6A、および図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第1ノードであり、第2ノードは、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における第2ノードである。本願の実施形態は更にコンピュータプログラム製品を提供する。コンピュータプログラム製品が1または複数のプロセッサ上で実行されるとき、図5、図6Aおよび図6B、図7Aおよび図7B、または図8Aおよび図8Bに示される任意の実施形態における鍵更新方法が実行され得る。
上記に鑑み、本願の実施形態において提供される鍵更新方法によれば、鍵が更新される前に、通信の双方のノードは、第1共有鍵に基づいてアイデンティティ認証情報を生成する必要がある。1つのノードは、メッセージを他のノードから受信した後、まずアイデンティティ認証情報を使用することによって他のノードのアイデンティティを決定し、アイデンティティ認証が成功した後に鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する。この場合、盗聴者が元のセッション鍵をクラッキングした場合でも、盗聴者はアイデンティティ情報を偽造できず、これにより、中間者攻撃を回避し、データ更新プロセスにおけるデータセキュリティを改善する。
簡潔に説明するために、上述した方法の複数の実施形態は、一連の動作の組み合わせとして表されていることに留意されたい。しかしながら、当業者であれば、本願によれば、いくつかのステップは、別の順序で、または同時に実行され得るので、本願は、説明された動作の順序に限定されないことを理解するはずである。当業者であれば、本明細書において説明される実施形態はすべて、例示的な実施形態に属し、関連する動作およびモジュールは必ずしも本願によって要求とされないことを更に理解するはずである。
本願の実施形態による方法のステップのシーケンスは、実際の要件に基づいて、調節され、組み合わされ、または、削除され得る。
本願の実施形態による装置におけるモジュールは、実際の要件に基づいて組み合わされ、分割され、削除され得る。
当業者は、複数の実施形態による方法のステップの全てまたはいくつかが関連するハードウェアに命令するプログラムにより実装され得ることを理解し得る。プログラムは、コンピュータ可読記憶媒体に記憶され得る。記憶媒体には、フラッシュメモリ、リードオンリメモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、光ディスクまたは同様のものが含まれてよい。
上に開示されるものは、本願の例示的な実施形態に過ぎない。当業者であれば、上記の実施形態を実装する手順の全部または一部、および、本願の請求項に従って加えられた同等の修正は、本願の範囲内に含まれることを理解し得る。
[他の可能な項目]
(項目1)
鍵更新方法であって、
第1鍵更新要求を第2ノードへ送信する段階であって、前記第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、前記第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、段階と、
第1応答メッセージを前記第2ノードから受信する段階であって、前記第1応答メッセージは第2アイデンティティ認証情報を含む、段階と、
前記第1共有鍵を使用することによって、前記第2アイデンティティ認証情報に対する検証を実行する段階と、
前記第2アイデンティティ認証情報に対する前記検証が成功した場合、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する段階と
を備える方法。
(項目2)
前記第1鍵更新要求は、第1更新時点および前記第1目標鍵の有効期間の少なくとも1つを示すために使用される、項目1に記載の方法。
(項目3)
前記第1鍵更新要求は第1フレーム番号または第1媒体アクセス制御MACシリアル番号を含み、前記第1鍵更新要求は、前記第1フレーム番号または前記第1MACシリアル番号を使用することによって前記第1更新時点を示すために使用される、項目2に記載の方法。
(項目4)
前記第1目標鍵は、前記第1更新時点から開始する前記第1目標鍵の前記有効期間内に適用される、項目2に記載の方法。
(項目5)
前記第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、前記第1応答メッセージは第2鍵ネゴシエーションアルゴリズムパラメータを更に含み、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する前記段階は、前記第1鍵ネゴシエーションアルゴリズムパラメータおよび前記第2鍵ネゴシエーションアルゴリズムパラメータに基づいて前記第1目標鍵を生成する段階を含む、項目1から4のいずれか一項に記載の方法。
(項目6)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する前記段階は、第2目標鍵および前記新規パラメータに基づいて前記第1目標鍵を生成する段階を含む、項目1から4のいずれか一項に記載の方法。
(項目7)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する前記段階は、第2目標鍵、前記新規パラメータおよびアルゴリズム識別子に基づいて前記第1目標鍵を生成する段階であって、前記アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される、段階を含む、項目1から4のいずれか一項に記載の方法。
(項目8)
前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つは、前記第2目標鍵に基づいて決定された前記暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、前記第2目標鍵に基づいて決定された前記完全性保護鍵を使用することによって、前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つに対して実行される、項目1から7のいずれか一項に記載の方法。
(項目9)
前記第1鍵更新要求は前記第1フレーム番号を含み、前記第1フレーム番号は、前記第1目標鍵の更新時点を示すために使用され、第1鍵更新要求を第2ノードへ送信する前記段階は、
第1通信フレームを使用することによって、前記第1鍵更新要求を前記第2ノードへ送信する段階であって、前記第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用された鍵更新要求に保持される第3フレーム番号より小さく、前記第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、前記第1フレーム番号は前記第2フレーム番号より大きく、前記第3フレーム番号より小さい、段階を含む、項目1から8のいずれか一項に記載の方法。
(項目10)
前記通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む、項目9に記載の方法。
(項目11)
鍵更新方法であって、
第1鍵更新要求を第1ノードから受信する段階であって、前記第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む、段階と、
第1共有鍵を使用することによって、前記第1アイデンティティ認証情報に対する検証を実行する段階と、
前記第1アイデンティティ認証情報に対する前記検証が成功した場合、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する段階と、
第1応答メッセージを前記第1ノードへ送信する段階であって、前記第1応答メッセージは第2アイデンティティ認証情報を含み、前記第2アイデンティティ認証情報は、前記第1共有鍵を使用することによって生成される、段階と
を備える方法。
(項目12)
前記第1鍵更新要求は、第1更新時点および前記第1目標鍵の有効期間の少なくとも1つを示すために使用される、項目11に記載の方法。
(項目13)
前記第1鍵更新要求は第1フレーム番号または第1媒体アクセス制御MACシリアル番号を含み、前記第1鍵更新要求は、前記第1フレーム番号または前記第1MACシリアル番号を使用することによって前記第1更新時点を示すために使用される、項目12に記載の方法。
(項目14)
前記第1目標鍵は、前記第1更新時点から開始する前記第1目標鍵の前記有効期間内に適用される、項目12に記載の方法。
(項目15)
前記第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、前記第1応答メッセージは第2鍵ネゴシエーションアルゴリズムパラメータを更に含み、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する前記段階は、前記第1鍵ネゴシエーションアルゴリズムパラメータおよび前記第2鍵ネゴシエーションアルゴリズムパラメータに基づいて前記第1目標鍵を生成する段階を含む、項目11から14のいずれか一項に記載の方法。
(項目16)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する前記段階は、第2目標鍵および前記新規パラメータに基づいて前記第1目標鍵を生成する段階を含む、項目11から14のいずれか一項に記載の方法。
(項目17)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定する前記段階は、第2目標鍵、前記新規パラメータおよびアルゴリズム識別子に基づいて、前記第1目標鍵を生成する段階であって、前記アルゴリズム識別子は、前記暗号化鍵または前記完全性保護鍵を決定するために使用されるアルゴリズムを識別するために使用される、段階を含む、項目11から14のいずれか一項に記載の方法。
(項目18)
前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つは、前記第2目標鍵に基づいて決定された前記暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、前記第2目標鍵に基づいて決定された前記完全性保護鍵を使用することによって、前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つに対して実行される、項目11から17のいずれか一項に記載の方法。
(項目19)
装置であって、
第1鍵更新要求を第2ノードへ送信するよう構成される送信ユニットであって、前記第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含み、前記第1アイデンティティ認証情報は、第1共有鍵を使用することによって生成される、送信ユニットと、
第1応答メッセージを前記第2ノードから受信するよう構成される受信ユニットであって、前記第1応答メッセージは第2アイデンティティ認証情報を含む、受信ユニットと、
前記第1共有鍵を使用することによって、前記第2アイデンティティ認証情報に対する検証を実行するよう構成される検証ユニットと、
前記第2アイデンティティ認証情報に対する前記検証が成功した場合、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するよう構成される決定ユニットと
を備える装置。
(項目20)
前記第1鍵更新要求は、第1更新時点および前記第1目標鍵の有効期間の少なくとも1つを示すために使用される、項目19に記載の装置。
(項目21)
前記第1鍵更新要求は第1フレーム番号または第1媒体アクセス制御MACシリアル番号を含み、前記第1鍵更新要求は、前記第1フレーム番号または前記第1MACシリアル番号を使用することによって前記第1更新時点を示すために使用される、項目19に記載の装置。
(項目22)
前記第1目標鍵は、前記第1更新時点から開始する前記第1目標鍵の前記有効期間内に適用される、項目20に記載の装置。
(項目23)
前記第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、前記第1応答メッセージは更に第2鍵ネゴシエーションアルゴリズムパラメータを含み、前記決定ユニットは、前記第1鍵ネゴシエーションアルゴリズムパラメータおよび前記第2鍵ネゴシエーションアルゴリズムパラメータに基づいて前記第1目標鍵を生成するよう構成される、項目19から22のいずれか一項に記載の装置。
(項目24)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記決定ユニットは、第2目標鍵および前記新規パラメータに基づいて前記第1目標鍵を生成するよう構成される、項目19から22のいずれか一項に記載の装置。
(項目25)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記決定ユニットは、第2目標鍵、前記新規パラメータおよびアルゴリズム識別子に基づいて前記第1目標鍵を生成するよう構成され、前記アルゴリズム識別子は、暗号化鍵または完全性保護鍵を決定するために使用されるアルゴリズムをマークするために使用される、項目19から22のいずれか一項に記載の装置。
(項目26)
前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つは、前記第2目標鍵に基づいて決定された前記暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、前記第2目標鍵に基づいて決定された前記完全性保護鍵を使用することによって、前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つに対して実行される、項目19から25のいずれか一項に記載の装置。
(項目27)
前記第1鍵更新要求は前記第1フレーム番号を含み、前記第1フレーム番号は、前記第1目標鍵の更新時点を示すために使用され、前記送信ユニットは、第1通信フレームを使用することによって、前記第1鍵更新要求を前記第2ノードへ送信するよう構成され、前記第1通信フレームの第2フレーム番号は、前回の鍵更新中に使用された鍵更新要求に保持される第3フレーム番号より小さく、前記第3フレーム番号は、前回更新された鍵の開始時点を示すために使用され、前記第1フレーム番号は、前記第2フレーム番号より大きく、前記第3フレーム番号より小さい、項目19から26のいずれか一項に記載の装置。
(項目28)
前記通信フレームは、シグナリングプレーンアップリンクフレーム、シグナリングプレーンダウンリンクフレーム、ユーザプレーンアップリンクフレーム、またはユーザプレーンダウンリンクフレームの少なくとも1つを含む、項目27に記載の装置。
(項目29)
装置であって、
第1鍵更新要求を第1ノードから受信するよう構成される受信ユニットであって、前記第1鍵更新要求は第1鍵ネゴシエーションパラメータおよび第1アイデンティティ認証情報を含む、受信ユニットと、
第1共有鍵を使用することによって前記第1アイデンティティ認証情報に対する検証を実行するよう構成される検証ユニットと、
前記第1アイデンティティ認証情報に対する前記検証が成功した場合、前記第1鍵ネゴシエーションパラメータに基づいて第1目標鍵を決定するよう構成される決定ユニットと、
第1応答メッセージを前記第1ノードへ送信するよう構成される送信ユニットであって、前記第1応答メッセージは第2アイデンティティ認証情報を含み、前記第2アイデンティティ認証情報は、前記第1共有鍵を使用することによって生成される、送信ユニットと
を備える装置。
(項目30)
前記第1鍵更新要求は、第1更新時点および前記第1目標鍵の有効期間の少なくとも1つを示すために使用される、項目29に記載の装置。
(項目31)
前記第1鍵更新要求は第1フレーム番号または第1媒体アクセス制御MACシリアル番号を含み、前記第1鍵更新要求は、前記第1フレーム番号または前記第1MACシリアル番号を使用することによって前記第1更新時点を示すために使用される、項目30に記載の装置。
(項目32)
前記第1目標鍵は、前記第1更新時点から開始する前記第1目標鍵の前記有効期間内に適用される、項目30に記載の装置。
(項目33)
前記第1鍵ネゴシエーションパラメータは第1鍵ネゴシエーションアルゴリズムパラメータを含み、前記第1応答メッセージは第2鍵ネゴシエーションアルゴリズムパラメータを含み、前記決定ユニットは、前記第1鍵ネゴシエーションアルゴリズムパラメータおよび前記第2鍵ネゴシエーションアルゴリズムパラメータに基づいて前記第1目標鍵を生成するよう構成される、項目30から32のいずれか一項に記載の装置。
(項目34)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記決定ユニットは、第2目標鍵および前記新規パラメータに基づいて前記第1目標鍵を生成するよう構成される、項目30から32のいずれか一項に記載の装置。
(項目35)
前記第1鍵ネゴシエーションパラメータは新規パラメータを含み、前記決定ユニットは、第2目標鍵、前記新規パラメータおよびアルゴリズム識別子に基づいて前記第1目標鍵を生成するよう構成され、前記アルゴリズム識別子は、前記暗号化鍵または前記完全性保護鍵を決定するために使用されるアルゴリズムを識別するために使用される、項目30から32のいずれか一項に記載の装置。
(項目36)
前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つは、前記第2目標鍵に基づいて決定された前記暗号化鍵を使用することによって暗号化され、および/または、完全性保護は、前記第2目標鍵に基づいて決定された前記完全性保護鍵を使用することによって、前記第1鍵更新要求および前記第1応答メッセージの少なくとも1つに対して実行される、項目30から32のいずれか一項に記載の装置。
(項目37)
少なくとも1つのプロセッサおよび通信インタフェースを備える装置であって、前記少なくとも1つのプロセッサは、少なくとも1つのメモリに記憶されたコンピュータプログラムを呼び出すよう構成され、項目1から10のいずれか一項に記載の方法を前記装置が実装することを可能にする、装置。
(項目38)
少なくとも1つのプロセッサおよび通信インタフェースを備える装置であって、前記少なくとも1つのプロセッサは、少なくとも1つのメモリに記憶されたコンピュータプログラムを呼び出すよう構成され、項目11から18のいずれか一項に記載の方法を前記装置が実装することを可能にする、装置。
(項目39)
コンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、前記コンピュータプログラムが1または複数のプロセッサ上で実行されるとき、項目1から18のいずれか一項に記載の方法が実行される、コンピュータ可読記憶媒体。