この出願の実施形態は、通信セキュリティを改善するための鍵取得方法及び関連する装置を開示する。
第1の態様によれば、この出願の実施形態は鍵取得方法を開示する。当該方法は以下を含む。
第1のノードは、第2のノードから第1の関連付け要求メッセージを受信し、第1の関連付け要求メッセージは第1のフレッシュパラメータを含み、
第1のノードは、第1の事前共有鍵PSKを取得し、第1のPSKは第2のノードのアイデンティティに対応し、第1のPSKは第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成されたPSKであり、第1のPSKは第2のノードのアイデンティティを検証するために使用される。
上記の方法では、PSKは第1のノード及び第2のノードにより共有される秘密値である。第1のノードは、第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータを使用することにより第1のPSKを生成し、第2のノードのアイデンティティに対応させ、第2のノードのアイデンティティを検証するために第1のPSKを使用する(例えば、第2のノードはPSKに基づいてアイデンティティ認証情報を生成し、第1のノードは第1のPSKを使用することにより第2のノードのアイデンティティ認証情報を検証してもよく、他の例では、第2のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第1のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が第1のノードに関連付けるために第2のノードのアイデンティティを偽造したいと思う場合、第1のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、第1のノードが最初に第2のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、第1のノードにより攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、第1のノードが信頼できないノードに接続されるのを防止し、第1のノードの通信セキュリティを改善する。
第1の態様の可能な実現方式では、当該方法は以下を更に含む。
第1のノードは、第1の認証要求メッセージを第2のノードに送信し、第1の認証要求メッセージは第1のアイデンティティ認証情報及び第4のフレッシュパラメータを含み、第1のアイデンティティ認証情報は第1のPSK及び第1のフレッシュパラメータに基づいて生成される。
上記の方法では、PSKは第1のノード及び第2のノードにより共有される秘密値であるので、通常では、第1のノード内の第1のPSKは第2のノード内の第2のPSKと同じ値を有する。第1のノードは、第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報を生成し、それにより、第2のノードは第2のPSKに基づいて第1のノードのアイデンティティを検証できるようにする。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの関連付けが回避でき、第2のノードの通信セキュリティが改善できる。
第1の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第1のノードは、第2のノードから第1の認証応答メッセージを受信し、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、
第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは、第1の関連付け応答メッセージを第2のノードに送信する。
上記の方法では、第1のノードが第2のノードと通信する前に、第1のノード及び第2のノードは、最初にアイデンティティ認証情報を使用することにより双方の当事者のアイデンティティを決定する。通信は、アイデンティティ認証が成功した後にのみ許可される。これは、信頼できないノードのアクセスを回避し、ノードの通信セキュリティを改善する。
第1の態様の他の可能な実現方式では、第1のノードが第1の事前共有鍵PSKを取得することは、
第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得することを含む。
上記の方法では、第1のPSKと第2のノードのアイデンティティとの間の対応関係は、第1のノードに存在する。これは、第2のノードが以前に第1のノードに関連付けられていること、又は第2のノードのアイデンティティに対応する第1のPSKが第1のノードに事前構成されていることを示してもよい。したがって、第1のノードは、対応関係に基づいて第1のPSKを取得してもよい。
第1の態様の他の可能な実現方式では、第1の対応関係セットが第1のノードに存在し、第1のノードが第1の事前共有鍵PSKを取得することは、
第1の対応関係セットを使用することにより、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得することを含む。
第1のノードは、対応関係セットの形式で第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
第1の態様の他の可能な実現方式では、第1のノードが第1の事前共有鍵PSKを取得することは、
第1のノードが、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成し、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータであることを含む。
上記の方法では、第1のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び第1のノードからの第4のフレッシュパラメータに基づいて生成される。通常では、第1のノードが最初に第2のノードに関連付けられるとき、又は第1のノードが対応関係を削除したとき、第2のノードのアイデンティティに対応するPSKは第1のノードに存在しない。したがって、第1のノードは、第2のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第1のPSKを生成してもよい。
第1の態様の他の可能な実現方式では、第1のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成する前に、当該方法は以下を更に含む。
第1のノードは、第1の確認応答指示情報を取得し、第1の確認応答指示情報は第2のノードとの関連付けが許可されることを示す。
新たな第1のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が第1のノードに接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが第1のノードに存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第1のPSKは、第1の確認応答指示情報が取得された後にのみ生成される。したがって、第1のノードと信頼できないノードとの関連付けが回避され、第1のノードの通信セキュリティが確保される。
第1の態様の他の可能な実現方式では、第1のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成することは、
第1のノードが、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成し、第1のパスワードは第1のノードにアクセスするためのパスワードであることを含む。
任意選択の設計では、アクセスパスワードは、他のノードが第1のノードにアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。第1のパスワードが第1のノードにアクセスするためのパスワードであるとき、第2のノードは、入力された第1のパスワードを使用することにより第1のノードに接続されることが分かる。したがって、第1のパスワードは第1のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第1のPSKをクラックできないようにする。このように、第1のノードは、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
第1の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成することは、
第1のノードが、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成することを含む。
第1の鍵合意アルゴリズムパラメータは鍵合意プロセスにおいて生成されるアルゴリズムパラメータであり、鍵合意は、通信当事者がいくつかのパラメータを交換して合意によって秘密値を取得するプロセスである。鍵合意に使用されるアルゴリズムは鍵合意アルゴリズムと呼ばれ、また、鍵交換アルゴリズムとも呼ばれてもよい。例えば、ディフィー・ヘルマンDHアルゴリズムが例として使用される。2つのノードは値が比較的大きい同じ素数p及び同じ乱数gを使用し(具体的には、素数p及び乱数gは第1のノードと第2のノードとの間の公開鍵である)、それぞれ乱数a及び乱数bを生成する(具体的には、乱数aは第2のノードの秘密鍵であり、乱数bは第1のノードの秘密鍵である)。素数p、乱数g、乱数a及び乱数bは全て、鍵合意アルゴリズムのパラメータと考えられてもよい。第2のノードは、gaモジュロ(mod)Pによって生成された値A(すなわち、A=ga mod pであり、Aは第1の鍵合意アルゴリズムパラメータである)を第1のノードに送信し、次いで、第1のノードは受信した値Aに対してb次累乗演算を実行して秘密値Kを生成する。第1のノードは、gb mod Pによって生成された値B(すなわち、B=gb mod pであり、Bは第2の鍵合意アルゴリズムパラメータである)第2のノードに送信し、第2のノードは受信した値Bに対してa次累乗演算を実行して秘密値Kを生成する。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のノード及び第2のノードにより伝送されるアルゴリズムパラメータのみを使用することにより、生成された秘密値を推定できない。例えば、DHアルゴリズムでは、実際のアルゴリズムにおいて選択される素数p、乱数g、乱数a及び乱数bの値が非常に大きいので、ネットワーク上で伝送される素数p、乱数g、値A及び値Bに基づいて秘密値Kを導出することは困難である。したがって、DHアルゴリズムを使用することにより取得される秘密値は安全である。
この出願のこの実施形態では、第2のノードは第1の鍵合意アルゴリズムパラメータを搬送するために第1の関連付け要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定される。第1のノードは、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを決定してもよい。このように、攻撃者がその後に第2のノードのアイデンティティ情報を偽造し、第1のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者は第1のPSKをクラックできない。したがって、攻撃者は第1のノードと通信できない。これは、第1のノードの通信セキュリティを改善する。
第1の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成することは、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第1のPSKを生成し、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて生成されることを含む。
第1の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、第1のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成することは、
第1のノードが、第3の鍵合意アルゴリズムパラメータを決定し、
第1のノードが、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のノードが、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成することを含む。
第2のノードから第1の鍵合意アルゴリズムパラメータを受信した後に、第1のノードは第3の鍵合意アルゴリズムパラメータ(すなわち、第1のノードの秘密鍵)を決定することが分かる。第1のノードは、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、次いで、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成する。
第1の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成することは、
第3の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第1のPSKを生成することを含む。
第1の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第1のノードは、第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶する。
第1のPSKを生成した後に、第1のノードが第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶することが分かる。その後、第2のノードから関連付け要求を再び受信したとき、第1のノードは第1のPSKを再生成せずに、対応関係に基づいて第1のPSKを取得してもよい。
第1の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第1のパスワードが更新された場合、第1のノードは、第2のノードのアイデンティティと第1のPSKとの間の対応関係を削除する。
第1の態様の他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成した後に、第1のノードは、第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、PSKを更新するように第2のノードに通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
第1の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成し、
第1のノードは、第2の認証要求メッセージを第2のノードに送信し、第2の認証要求メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第3のPSK及び第1のフレッシュパラメータに基づいて生成される。
第1のノードが対応関係に基づいて第1のPSKを取得するとき、第1のノードにより第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第2のノードが第2のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、第1のノードはまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第3のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
第1の態様の他の可能な実現方式では、第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成することは、
第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のノードが、第2の確認応答指示情報を取得し、第2の確認応答指示情報は第3のPSKの生成が許可されることを示し、
第1のノードが、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成することを含む。
第1の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第1のノードは、第2のノードから第2の認証応答メッセージを受信し、第2の認証応答メッセージは第4のアイデンティティ認証情報を含み、
第3のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより第4のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは、第2の関連付け応答メッセージを第2のノードに送信する。
新たなPSK(すなわち、第3のPSK)に基づいて認証を再開した後に、第1のノードが第2のノードから第4のアイデンティティ認証情報を受信することが分かる。第3のPSK及び第4のフレッシュパラメータに基づいて第4のアイデンティティ認証情報に対して実行された検証が成功した場合、これは、第2のノードのアイデンティティが信頼できることを示す。したがって、第2のノードとの通信が許可できる。
第2の態様によれば、この出願の実施形態は鍵取得方法を開示する。当該方法は以下を含む。
第2のノードは、第1の関連付け要求メッセージを第1のノードに送信し、第1の関連付け要求メッセージは第1のフレッシュパラメータを含み、
第2のノードは、第1のノードから第1の認証要求メッセージを受信し、第1の認証要求メッセージは第4のフレッシュパラメータを含み、
第2のノードは、第2のPSKを取得し、第2のPSKは第1のノードのアイデンティティに対応し、第2のPSKは第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成されたPSKであり、第2のPSKは第1のノードのアイデンティティを検証するために使用される。
上記の方法では、PSKは第2のノード及び第1のノードにより共有される秘密値である。第2のノードは、第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータを使用することにより第2のPSKを生成し、第1のノードのアイデンティティに対応させ、第1のノードのアイデンティティを検証するために第2のPSKを使用する(例えば、第1のノードはPSKに基づいてアイデンティティ認証情報を生成し、第2のノードは第2のPSKを使用することにより第1のノードのアイデンティティ認証情報を検証してもよく、他の例では、第1のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第2のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が第2のノードに関連付けるために第1のノードのアイデンティティを偽造したいと思う場合、第2のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、第2のノードが最初に第1のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、第2のノードにより攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、第2のノードが信頼できないノードと関連付けられるのを防止し、第2のノードの通信セキュリティを改善する。
第2の態様の可能な実現方式では、当該方法は以下を更に含む。
第2のPSK及び第1のフレッシュパラメータに基づいて第2のノードにより第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第2のノードは、第1の認証応答メッセージを第1のノードに送信し、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成され、
第2のノードは、第1のノードから第1の関連付け応答メッセージを受信する。
上記の方法では、PSKは第2のノード及び第1のノードにより共有される秘密値であるので、通常では、第2のノード内の第2のPSKは第1のノード内の第1のPSKと同じ値を有する。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成される。したがって、第2のノードは、第2のPSK及び第1のフレッシュパラメータに基づいて第1のノードのアイデンティティ認証情報を検証してもよい。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの間の関連付けが回避でき、第2のノードの通信セキュリティが改善できる。対応して、第2のノードは、第2のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報を生成し、第2のアイデンティティ認証情報は、第2のノードのアイデンティティを検証するために第1のノードにより使用される。ピアノードとの通信は、双方の当事者のアイデンティティ認証が成功した後にのみ許可される。これはノードの通信セキュリティを改善する。
第2の態様の他の可能な実現方式では、第2のノードが第2の事前共有鍵PSKを取得することは、
第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得することを含む。
上記の方法では、第2のPSKと第1のノードのアイデンティティとの間の対応関係は、第2のノードに存在する。これは、第2のノードが以前に第1のノードに関連付けられていること、又は第1のノードのアイデンティティに対応する第2のPSKが第2のノードに事前構成されていることを示してもよい。したがって、第2のノードは、対応関係に基づいて第2のPSKを取得してもよい。
第2の態様の他の可能な実現方式では、第2の対応関係セットが第2のノードに存在し、第2のノードが第2の事前共有鍵PSKを取得することは、
第2の対応関係セットを使用することにより、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得することを含む。
第2のノードは、対応関係セットの形式で第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
第2の態様の他の可能な実現方式では、第2のノードが第2のPSKを取得することは、
第2のノードが、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成し、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータであることを含む。
上記の方法では、第2のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び第1の認証要求メッセージ内の第4のフレッシュパラメータに基づいて生成される。通常では、第2のノードが最初に第1のノードに関連付けられるとき、又は第2のノードが対応関係を削除したとき、第1のノードのアイデンティティに対応する第2のPSKは第2のノードに存在しない。したがって、第2のノードは、第1のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第2のPSKを生成してもよい。
第2の態様の他の可能な実現方式では、第2のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成する前に、当該方法は以下を更に含む。
第2のノードは、第3の確認応答指示情報を取得し、第3の確認応答指示情報は第2のPSKの生成が許可されることを示す。
新たな第2のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が第2のノードに接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが第2のノードに存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第2のPSKは、第3の確認応答指示情報が取得された後にのみ生成される。したがって、第2のノードと信頼できないノードとの関連付けが回避され、第2のノードの通信セキュリティが確保される。
第2の態様の他の可能な実現方式では、第2のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成することは、
第2のノードが、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成し、第1のパスワードは第1のノードにアクセスするためのパスワードであることを含む。
任意選択の設計では、アクセスパスワードは、他のノードが第1のノードにアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。第1のパスワードが第1のノードにアクセスするためのパスワードであるとき、第2のノードは、入力された第1のパスワードを使用することにより第1のノードに接続されることが分かる。したがって、第1のパスワードは第2のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第2のPSKをクラックできないようにする。このように、第2のノードは、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
第2の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成することは、
第2のノードが、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成することを含む。
第2の鍵合意アルゴリズムパラメータは鍵合意プロセスにおいて生成されるアルゴリズムパラメータであり、鍵合意は、通信当事者がいくつかのパラメータを交換して合意によって秘密値を取得するプロセスである。鍵合意に使用されるアルゴリズムは鍵合意アルゴリズムと呼ばれ、また、鍵交換アルゴリズムとも呼ばれてもよい。例えば、ディフィー・ヘルマンDHアルゴリズムが例として使用される。2つのノードは値が比較的大きい同じ素数p及び同じ乱数gを使用し(具体的には、素数p及び乱数gは第1のノードと第2のノードとの間の公開鍵である)、それぞれ乱数a及び乱数bを生成する(具体的には、乱数aは第2のノードの秘密鍵であり、乱数bは第1のノードの秘密鍵である)。第2のノードは、gaモジュロ(mod)Pによって生成された値A(すなわち、A=ga mod pであり、Aは第1の鍵合意アルゴリズムパラメータである)を第1のノードに送信し、次いで、第1のノードは受信した値Aに対してb次累乗演算を実行して秘密値Kを生成する。第1のノードは、gb mod Pによって生成された値B(すなわち、B=gb mod pであり、Bは第2の鍵合意アルゴリズムパラメータである)第2のノードに送信し、第2のノードは受信した値Bに対してa次累乗演算を実行して秘密値Kを生成する。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のノード及び第2のノードにより伝送されるアルゴリズムパラメータのみを使用することにより、生成された秘密値を推定できない。例えば、DHアルゴリズムでは、実際のアルゴリズムにおいて選択される素数p、乱数g、乱数a及び乱数bの値が非常に大きいので、ネットワーク上で伝送される素数p、乱数g、値A及び値Bに基づいて秘密値Kを導出することは困難である。したがって、DHアルゴリズムを使用することにより取得される秘密値は安全である。
この出願のこの実施形態では、第1のノードは第2の鍵合意アルゴリズムパラメータを搬送するために第1の認証要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定される。第2のノードは、第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを決定してもよい。このように、攻撃者がその後に第1のノードのアイデンティティ情報を偽造し、第2のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は第2のノードと通信できない。これは、第2のノードの通信セキュリティを改善する。
第2の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成することは、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第2のPSKを生成し、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて生成されることを含む。
第2の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第4の鍵合意アルゴリズムパラメータに基づいて決定され、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムパラメータに基づいて第1のノードにより決定され、第2のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成することは、
第2のノードが、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第2のノードが、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成することを含む。
第1の関連付け要求メッセージ内の第1の鍵合意アルゴリズムパラメータは、第2のノードの秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて生成されることが分かる。第2のノードが第1のノードから第2の鍵合意アルゴリズムパラメータを受信した後に、第2のノードは第2の鍵合意アルゴリズムパラメータ及び第2のノードの秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて第1の中間鍵を決定する。第1の中間鍵は、第1のノードと第2のノードとの間の鍵合意によって取得される秘密値である。次いで、第2のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成する。
第2の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成することは、
第4の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第2のPSKを生成することを含む。
第2の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第2のノードは、第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶する。
第2のPSKを生成した後に、第2のノードが第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶することが分かる。その後、第1のノードに再び関連付けられるとき、第2のノードは第2のPSKを再生成せずに、対応関係に基づいて第2のPSKを取得してもよい。
第2の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第1のパスワードが更新された場合、第2のノードは、第1のノードのアイデンティティと第2のPSKとの間の対応関係を削除する。
第2の態様の他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第2のPSKが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて生成された後に、第1のノードは、更新指示情報を使用することにより第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、第2のPSKを更新するように第2のノードに通知し、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
第2の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第2のPSK及び第1のフレッシュパラメータに基づいて第2のノードにより第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成し、
第2のノードは、第3の認証応答メッセージを第1のノードに送信し、第3の認証応答メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第4のPSK及び第4のフレッシュパラメータに基づいて生成される。
第2のノードが対応関係に基づいて第2のPSKを取得するとき、第2のノードにより第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、第2のノードはまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第4のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善する。
第2の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第2のノードは、第1のノードから第3の関連付け応答メッセージを受信する。
第2の態様の他の可能な実現方式では、第2のPSKに基づいて第2のノードにより第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成することは、
第2のPSKに基づいて第2のノードにより第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードが、第4の確認応答指示情報を取得し、第4の確認応答指示情報は第4のPSKの生成が許可されることを示し、
第1のノードが、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成することを含む。
第2の態様の他の可能な実現方式では、当該方法は以下を更に含む。
第2のPSK及び第1のフレッシュパラメータに基づいて第2のノードにより第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードは、第2のPSKを削除し、
第2のノードは、第2の関連付け要求メッセージを第1のノードに送信し、第2の関連付け要求メッセージは第5のフレッシュパラメータを含む。
第3の態様によれば、この出願の実施形態は装置を開示し、
第2のノードから第1の関連付け要求メッセージを受信するように構成された受信ユニットであり、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む、受信ユニットと、
第1の事前共有鍵PSKを取得するように構成された処理ユニットであり、第1のPSKは第2のノードのアイデンティティに対応し、第1のPSKは第2のノードからの第2のフレッシュパラメータ及び当該装置からの第3のフレッシュパラメータに基づいて生成されたPSKであり、第1のPSKは第2のノードのアイデンティティを検証するために使用される、処理ユニットと
を含む。
PSKは当該装置及び第2のノードにより共有される秘密値であることが分かる。当該装置は、第2のノードからの第2のフレッシュパラメータ及び当該装置からの第3のフレッシュパラメータを使用することにより第1のPSKを生成し、第2のノードのアイデンティティに対応させ、第2のノードのアイデンティティを検証するために第1のPSKを使用する(例えば、第2のノードはPSKに基づいてアイデンティティ認証情報を生成し、第1のノードは第1のPSKを使用することにより第2のノードのアイデンティティ認証情報を検証してもよく、他の例では、第2のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第1のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置に関連付けるために第2のノードのアイデンティティを偽造したいと思う場合、第1のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置が最初に第2のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置が信頼できないノードに接続されるのを防止し、当該装置の通信セキュリティを改善する。
第3の態様の可能な実現方式では、当該装置は、
第1の認証要求メッセージを第2のノードに送信するように構成された送信ユニットであり、第1の認証要求メッセージは第1のアイデンティティ認証情報及び第4のフレッシュパラメータを含み、第1のアイデンティティ認証情報は第1のPSK及び第1のフレッシュパラメータに基づいて生成される、送信ユニットを更に含む。
PSKは当該装置及び第2のノードにより共有される秘密値であるので、通常では、当該装置内の第1のPSKは第2のノード内の第2のPSKと同じ値を有することが分かる。当該装置は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報を生成し、それにより、第2のノードは第2のPSKに基づいて当該装置のアイデンティティを検証できるようにする。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、当該装置のアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの関連付けが回避でき、第2のノードの通信セキュリティが改善できる。
第3の態様の他の可能な実現方式では、受信ユニットは、第2のノードから第1の認証応答メッセージを受信するように更に構成され、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、
送信ユニットは、第1のPSK及び第4のフレッシュパラメータ(NONCEa)に基づいて当該装置により第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1の関連付け応答メッセージを第2のノードに送信するように更に構成される。
当該装置が第2のノードと通信する前に、当該装置及び第2のノードは、最初にアイデンティティ認証情報を使用することにより双方の当事者のアイデンティティを決定することが分かる。通信は、アイデンティティ認証が成功した後にのみ許可される。これは、信頼できないノードのアクセスを回避し、ノードの通信セキュリティを改善する。
第3の態様の他の可能な実現方式では、処理ユニットは、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
第1のPSKと第2のノードのアイデンティティとの間の対応関係は、当該装置に存在することが分かる。これは、第2のノードが以前に当該装置に関連付けられていること、又は第2のノードのアイデンティティに対応する第1のPSKが当該装置に事前構成されていることを示してもよい。したがって、当該装置は、対応関係に基づいて第1のPSKを取得してもよい。
第3の態様の他の可能な実現方式では、処理ユニットは、第1の対応関係セットを使用することにより、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
当該装置は、対応関係セットの形式で第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
第3の態様の他の可能な実現方式では、処理ユニットは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第1のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び当該装置からの第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置が最初に第2のノードに関連付けられるとき、又は当該装置が対応関係を削除したとき、第2のノードのアイデンティティに対応するPSKは当該装置に存在しない。したがって、当該装置は、第2のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第1のPSKを生成してもよい。
第3の態様の他の可能な実現方式では、処理ユニットは、第1の確認応答指示情報を取得するように更に構成され、第1の確認応答指示情報は第2のノードと当該装置との間の関連付けが許可されることを示す。
新たな第1のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第1のPSKは、第1の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置と信頼できないノードとの関連付けが回避され、当該装置の通信セキュリティが確保される。
第3の態様の他の可能な実現方式では、処理ユニットは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードは当該装置にアクセスするためのパスワードである。
アクセスパスワードは、他のノードが当該装置にアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。第1のパスワードが当該装置にアクセスするためのパスワードであるとき、第2のノードは、入力された第1のパスワードを使用することにより当該装置に接続されることが分かる。したがって、第1のパスワードは第1のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第1のPSKをクラックできないようにする。このように、当該装置は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
第3の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、処理ユニットは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成するように具体的に構成される。
第2のノードは第1の鍵合意アルゴリズムパラメータを搬送するために第1の関連付け要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを決定してもよい。このように、攻撃者がその後に第2のノードのアイデンティティ情報を偽造し、第1のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者は第1のPSKをクラックできない。したがって、攻撃者は当該装置と通信できない。これは、当該装置の通信セキュリティを改善する。
第3の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、処理ユニットは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて生成される。
第3の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、処理ユニットは、
第3の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
第2のノードから第1の鍵合意アルゴリズムパラメータを受信した後に、当該装置は第3の鍵合意アルゴリズムパラメータ(すなわち、当該装置の秘密鍵)を決定することが分かる。当該装置は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、次いで、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成する。
第3の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、処理ユニットは、
第3の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
第3の態様の他の可能な実現方式では、処理ユニットは、第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶するように更に構成される。
第1のPSKを生成した後に、当該装置が第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶することが分かる。その後、第2のノードから関連付け要求を再び受信したとき、当該装置は第1のPSKを再生成せずに、対応関係に基づいて第1のPSKを取得してもよい。
第3の態様の他の可能な実現方式では、処理ユニットは、第1のパスワードが更新された場合、第2のノードのアイデンティティと第1のPSKとの間の対応関係を削除するように更に構成される。
第3の態様の他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成した後に、当該装置は、第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、PSKを更新するように第2のノードに通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
第3の態様の他の可能な実現方式では、処理ユニットは、第1のPSK及び第4のフレッシュパラメータに基づいて当該装置により第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成するように更に構成され、
送信ユニットは、第2の認証要求メッセージを第2のノードに送信するように更に構成され、第2の認証要求メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第3のPSK及び第1のフレッシュパラメータに基づいて生成される。
当該装置が対応関係に基づいて第1のPSKを取得するとき、当該装置により第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第2のノードが第2のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第3のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
第3の態様の他の可能な実現方式では、処理ユニットは、第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2の確認応答指示情報を取得するように更に構成され、第2の確認応答指示情報は第3のPSKの生成が許可されることを示し、
処理ユニットは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成するように更に構成される。
第3の態様の他の可能な実現方式では、受信ユニットは、第2のノードから第2の認証応答メッセージを受信するように更に構成され、第2の認証応答メッセージは第4のアイデンティティ認証情報を含み、
送信ユニットは、第3のPSK及び第4のフレッシュパラメータに基づいて第4のアイデンティティ認証情報に対して実行された検証が成功した場合、第2の関連付け応答メッセージを第2のノードに送信するように更に構成される。
新たなPSKに基づいて認証を再開した後に、当該装置が第2のノードにより送信された第4のアイデンティティ認証情報を受信することが分かる。第4のアイデンティティ認証情報に対して実行された検証が成功した場合、これは、第2のノードのアイデンティティが信頼できることを示す。したがって、第2のノードとの通信が許可できる。
第4の態様によれば、この出願の実施形態は装置を開示する。当該装置は、
第1の関連付け要求メッセージを第1のノードに送信するように構成された送信ユニットであり、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む、送信ユニットと、
第1のノードから第1の認証要求メッセージを受信するように構成された受信ユニットであり、第1の認証要求メッセージは第4のフレッシュパラメータを含む、受信ユニットと、
第2のPSKを取得するように構成された取得ユニットであり、第2のPSKは第1のノードのアイデンティティに対応し、第2のPSKは当該装置からの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成されたPSKであり、第2のPSKは第1のノードのアイデンティティを検証するために使用される、取得ユニットと
を含む。
PSKは当該装置及び第1のノードにより共有される秘密値であることが分かる。当該装置は、当該装置からの第3のフレッシュパラメータ及び第2のフレッシュパラメータを使用することにより第2のPSKを生成し、第1のノードのアイデンティティに対応させ、第1のノードのアイデンティティを検証するために第2のPSKを使用する(例えば、第1のノードはPSKに基づいてアイデンティティ認証情報を生成し、第2のノードは第2のPSKを使用することにより第1のノードのアイデンティティ認証情報を検証してもよく、他の例では、第1のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第2のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置に関連付けるために第1のノードのアイデンティティを偽造したいと思う場合、第2のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置が最初に第1のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置が信頼できないノードと関連付けられるのを防止し、当該装置の通信セキュリティを改善する。
第4の態様の可能な実現方式では、送信ユニットは、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第1の認証応答メッセージを第1のノードに送信するように更に構成され、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成され、
受信ユニットは、第1のノードから第1の関連付け応答メッセージを受信するように更に構成される。
PSKは当該装置及び第1のノードにより共有される秘密値であるので、通常では、当該装置内の第2のPSKは第1のノード内の第1のPSKと同じ値を有することが分かる。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成される。したがって、当該装置は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のノードのアイデンティティ認証情報を検証してもよい。当該装置に記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、当該装置と信頼できないノードとの間の関連付けが回避でき、当該装置の通信セキュリティが改善できる。対応して、当該装置は、第2のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報を生成し、第2のアイデンティティ認証情報は、当該装置のアイデンティティを検証するために第1のノードにより使用される。ピアノードとの通信は、双方の当事者のアイデンティティ認証が成功した後にのみ許可される。これはノードの通信セキュリティを改善する。
第4の態様の他の可能な実現方式では、処理ユニットは、第1のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
第2のPSKと第1のノードのアイデンティティとの間の対応関係は、当該装置に存在することが分かる。これは、当該装置が以前に第1のノードに関連付けられていること、又は第1のノードのアイデンティティに対応する第2のPSKが第2のノードに事前構成されていることを示してもよい。したがって、当該装置は、対応関係に基づいて第2のPSKを取得してもよい。
第4の態様の他の可能な実現方式では、処理ユニットは、第2の対応関係セットを使用することにより、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
当該装置は、対応関係セットの形式で第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
第4の態様の他の可能な実現方式では、処理ユニットは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第2のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び第1の認証要求メッセージ内の第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置が最初に第1のノードに関連付けられるとき、又は当該装置が対応関係を削除したとき、第1のノードのアイデンティティに対応する第2のPSKは当該装置に存在しない。したがって、当該装置は、第1のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第2のPSKを生成してもよい。
第4の態様の他の可能な実現方式では、処理ユニットは、第3の確認応答指示情報を取得するように更に構成され、第3の確認応答指示情報は第2のPSKの生成が許可されることを示す。
新たな第2のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第2のPSKは、第3の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置と信頼できないノードとの関連付けが回避され、当該装置の通信セキュリティが確保される。
第4の態様の他の可能な実現方式では、処理ユニットは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードは第1のノードにアクセスするためのパスワードである。
任意選択の設計では、アクセスパスワードは、他のノードが第1のノードにアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。第1のパスワードが第1のノードにアクセスするためのパスワードであるとき、当該装置は、入力された第1のパスワードを使用することにより第1のノードに接続されることが分かる。したがって、第1のパスワードは第2のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第2のPSKをクラックできないようにする。このように、当該装置は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
第4の態様の他の可能な実現方式では、処理ユニットは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成するように具体的に構成される。
第1のノードは第2の鍵合意アルゴリズムパラメータを搬送するために第1の認証要求メッセージを使用し、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置は、第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを決定してもよい。このように、攻撃者がその後に第1のノードのアイデンティティ情報を偽造し、第2のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は当該装置と通信できない。これは、当該装置の通信セキュリティを改善する。
第4の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、処理ユニットは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて生成される。
第4の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第4の鍵合意アルゴリズムパラメータに基づいて決定され、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムパラメータに基づいて第1のノードにより決定され、処理ユニットは、
第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
第1の関連付け要求メッセージ内の第2の鍵合意アルゴリズムパラメータは、当該装置の秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて生成されることが分かる。当該装置が第1のノードから第2の鍵合意アルゴリズムパラメータを受信した後に、第2のノードは第2の鍵合意アルゴリズムパラメータ及び当該装置の秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて第1の中間鍵を決定する。第1の中間鍵は、第1のノードと当該装置との間の鍵合意によって取得される秘密値である。次いで、当該装置は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成する。
第4の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、処理ユニットは、
第4の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
第4の態様の他の可能な実現方式では、処理ユニットは、第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶するように更に構成される。
第2のPSKを生成した後に、当該装置が第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶することが分かる。その後、第1のノードに再び関連付けられるとき、当該装置はPSKを再生成せずに、対応関係に基づいて第2のPSKを取得してもよい。
第4の態様の他の可能な実現方式では、処理ユニットは、第1のパスワードが更新された場合、第1のノードのアイデンティティと第2のPSKとの間の対応関係を削除するように更に構成される。
第4の態様の他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第2のPSKが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて生成された後に、第1のノードは、更新指示情報を使用することにより当該装置がアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、第2のPSKを更新するように当該装置に通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
第4の態様の他の可能な実現方式では、処理ユニットは、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成するように更に構成され、
送信ユニットは、第3の認証応答メッセージを第1のノードに送信するように更に構成され、第3の認証応答メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第4のPSK及び第4のフレッシュパラメータに基づいて生成される。
当該装置が対応関係に基づいて第2のPSKを取得するとき、当該装置により第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第4のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
第4の態様の他の可能な実現方式では、受信ユニットは、第1のノードから第3の関連付け応答メッセージを受信するように更に構成される。
第4の態様の他の可能な実現方式では、処理ユニットは、第2のPSKに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第4の確認応答指示情報を取得するように更に構成され、第4の確認応答指示情報は第4のPSKの生成が許可されることを示し、
処理ユニットは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成するように更に構成される。
第4の態様の他の可能な実現方式では、処理ユニットは、第2のPSK及び第1のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のPSKを削除するように更に構成され、
送信ユニットは、第2の関連付け要求メッセージを第1のノードに送信するように更に構成され、第2の関連付け要求メッセージは第5のフレッシュパラメータを含む。
第5の態様によれば、この出願の実施形態は装置を開示する。当該装置は、少なくとも1つのプロセッサと通信インタフェースとを含む。プロセッサは、少なくとも1つのメモリに記憶されたコンピュータプログラムを呼び出して、第1の態様又は第1の態様の可能な実現方式のうちいずれか1つに記載の方法を実現する。
第5の態様の可能な実現方式では、プロセッサは、
通信インタフェースによって、第2のノードから第1の関連付け要求メッセージを受信し、第1の関連付け要求メッセージは第1のフレッシュパラメータを含み、
第1の事前共有鍵PSKを取得し、第1のPSKは第2のノードのアイデンティティに対応し、第1のPSKは第2のノードからの第2のフレッシュパラメータ及び当該装置からの第3のフレッシュパラメータに基づいて生成されたPSKであり、第1のPSKは第2のノードのアイデンティティを検証するために使用される、ように具体的に構成される。
PSKは当該装置及び第2のノードにより共有される秘密値であることが分かる。当該装置は、第2のノードからの第2のフレッシュパラメータ及び当該装置からの第3のフレッシュパラメータを使用することにより第1のPSKを生成し、第2のノードのアイデンティティに対応させ、第2のノードのアイデンティティを検証するために第1のPSKを使用する(例えば、第2のノードはPSKに基づいてアイデンティティ認証情報を生成し、第1のノードは第1のPSKを使用することにより第2のノードのアイデンティティ認証情報を検証してもよく、他の例では、第2のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第1のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置に関連付けるために第2のノードのアイデンティティを偽造したいと思う場合、第1のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置が最初に第2のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置が信頼できないノードに接続されるのを防止し、当該装置の通信セキュリティを改善する。
第5の態様の他の可能な実現方式では、プロセッサは、
第1の認証要求メッセージを第2のノードに送信するように更に構成され、第1の認証要求メッセージは第1のアイデンティティ認証情報及び第4のフレッシュパラメータを含み、第1のアイデンティティ認証情報は第1のPSK及び第1のフレッシュパラメータに基づいて生成される。
PSKは当該装置及び第2のノードにより共有される秘密値であるので、通常では、当該装置内の第1のPSKは第2のノード内の第2のPSKと同じ値を有することが分かる。当該装置は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報を生成し、それにより、第2のノードは第2のPSKに基づいて当該装置のアイデンティティを検証できるようにする。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、当該装置のアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの関連付けが回避でき、第2のノードの通信セキュリティが改善できる。
第5の態様の他の可能な実現方式では、プロセッサは、通信インタフェースによって、第2のノードから第1の認証応答メッセージを受信し、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、
第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が成功した場合、通信インタフェースによって、第1の関連付け応答メッセージを第2のノードに送信する、ように更に構成される。
当該装置が第2のノードと通信する前に、当該装置及び第2のノードは、最初にアイデンティティ認証情報を使用することにより双方の当事者のアイデンティティを決定することが分かる。通信は、アイデンティティ認証が成功した後にのみ許可される。これは、信頼できないノードのアクセスを回避し、ノードの通信セキュリティを改善する。
第5の態様の他の可能な実現方式では、プロセッサは、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
第1のPSKと第2のノードのアイデンティティとの間の対応関係は、当該装置に存在することが分かる。これは、第2のノードが以前に当該装置に関連付けられていること、又は第2のノードのアイデンティティに対応する第1のPSKが当該装置に事前構成されていることを示してもよい。したがって、当該装置は、対応関係に基づいて第1のPSKを取得してもよい。
第5の態様の他の可能な実現方式では、第1の対応関係セットはメモリに存在し、プロセッサは、第1の対応関係セットを使用することにより、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
当該装置は、対応関係セットの形式で第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
第5の態様の他の可能な実現方式では、プロセッサは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第1のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び当該装置からの第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置が最初に第2のノードに関連付けられるとき、又は当該装置が対応関係を削除したとき、第2のノードのアイデンティティに対応するPSKは当該装置に存在しない。したがって、当該装置は、第2のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第1のPSKを生成してもよい。
第5の態様の他の可能な実現方式では、当該装置は入力モジュールを更に含み、プロセッサは、入力モジュールによって、第1の確認応答指示情報を取得するように更に構成され、第1の確認応答指示情報は第2のノードと当該装置との間の関連付けが許可されることを示す。
新たな第1のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第1のPSKは、第1の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置と信頼できないノードとの関連付けが回避され、当該装置の通信セキュリティが確保される。
第5の態様の他の可能な実現方式では、プロセッサは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードは当該装置にアクセスするためのパスワードである。
アクセスパスワードは、他のノードが当該装置にアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。第1のパスワードが当該装置にアクセスするためのパスワードであるとき、第2のノードは、入力された第1のパスワードを使用することにより当該装置に接続されることが分かる。したがって、第1のパスワードは第1のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第1のPSKをクラックできないようにする。このように、当該装置は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
第5の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、プロセッサは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成するように具体的に構成される。
第2のノードは第1の鍵合意アルゴリズムパラメータを搬送するために第1の関連付け要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを決定してもよい。このように、攻撃者がその後に第2のノードのアイデンティティ情報を偽造し、第1のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者は第1のPSKをクラックできない。したがって、攻撃者は当該装置と通信できない。これは、当該装置の通信セキュリティを改善する。
第5の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、プロセッサは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて生成される。
第5の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、プロセッサは、
第3の鍵合意アルゴリズムパラメータを決定し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
第2のノードから第1の鍵合意アルゴリズムパラメータを受信した後に、当該装置は第3の鍵合意アルゴリズムパラメータ(すなわち、当該装置の秘密鍵)を決定することが分かる。当該装置は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、次いで、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成する。
第5の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、プロセッサは、
第3の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
第5の態様の他の可能な実現方式では、プロセッサは、第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶するように更に構成される。
第1のPSKを生成した後に、当該装置が第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶することが分かる。その後、第2のノードから関連付け要求を再び受信したとき、当該装置は第1のPSKを再生成せずに、対応関係に基づいて第1のPSKを取得してもよい。
第5の態様の他の可能な実現方式では、プロセッサは、第1のパスワードが更新された場合、第2のノードのアイデンティティと第1のPSKとの間の対応関係を削除するように更に構成される。
第5の態様の他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成した後に、当該装置は、第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、PSKを更新するように第2のノードに通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
第5の態様の他の可能な実現方式では、プロセッサは、第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成し、
通信インタフェースによって、第2の認証要求メッセージを第2のノードに送信するように更に構成され、第2の認証要求メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第3のPSK及び第1のフレッシュパラメータに基づいて生成される。
当該装置が対応関係に基づいて第1のPSKを取得するとき、当該装置により第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第2のノードが第2のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第3のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
第5の態様の他の可能な実現方式では、プロセッサは、第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、通信インタフェースによって、第2の確認応答指示情報を取得し、第2の確認応答指示情報は第3のPSKの生成が許可されることを示し、
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成する、ように具体的に構成される。
第5の態様の他の可能な実現方式では、プロセッサは、通信インタフェースによって、第2のノードから第2の認証応答メッセージを受信し、第2の認証応答メッセージは第4のアイデンティティ認証情報を含み、
第3のPSK及び第4のフレッシュパラメータに基づいて第4のアイデンティティ認証情報に対して実行された検証が成功した場合、通信インタフェースによって、第2の関連付け応答メッセージを第2のノードに送信する、ように更に構成される。
新たなPSKに基づいて認証を再開した後に、当該装置が第2のノードにより送信された第4のアイデンティティ認証情報を受信することが分かる。第4のアイデンティティ認証情報に対して実行された検証が成功した場合、これは、第2のノードのアイデンティティが信頼できることを示す。したがって、第2のノードとの通信が許可できる。
第6の態様によれば、この出願の実施形態は装置を開示する。当該装置は、少なくとも1つのプロセッサと通信インタフェースとを含む。プロセッサは、少なくとも1つのメモリに記憶されたコンピュータプログラムを呼び出して、第2の態様又は第2の態様の可能な実現方式のうちいずれか1つに記載の方法を実現する。
第6の態様の可能な実現方式では、プロセッサは、通信インタフェースによって、第1の関連付け要求メッセージを第1のノードに送信し、第1の関連付け要求メッセージは第1のフレッシュパラメータを含み、
通信インタフェースによって、第1のノードから第1の認証要求メッセージを受信し、第1の認証要求メッセージは第4のフレッシュパラメータを含み、
第2のPSKを取得し、第2のPSKは第1のノードのアイデンティティに対応し、第2のPSKは当該装置からの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成されたPSKであり、第2のPSKは第1のノードのアイデンティティを検証するために使用される、ように具体的に構成される。
PSKは当該装置及び第1のノードにより共有される秘密値であることが分かる。当該装置は、当該装置からの第3のフレッシュパラメータ及び第2のフレッシュパラメータを使用することにより第2のPSKを生成し、第1のノードのアイデンティティに対応させ、第1のノードのアイデンティティを検証するために第2のPSKを使用する(例えば、第1のノードはPSKに基づいてアイデンティティ認証情報を生成し、第2のノードは第2のPSKを使用することにより第1のノードのアイデンティティ認証情報を検証してもよく、他の例では、第1のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第2のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置に関連付けるために第1のノードのアイデンティティを偽造したいと思う場合、第2のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置が最初に第1のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置が信頼できないノードと関連付けられるのを防止し、当該装置の通信セキュリティを改善する。
第6の態様の可能な実現方式では、プロセッサは、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、通信インタフェースによって、第1の認証応答メッセージを第1のノードに送信し、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成され、
通信インタフェースによって、第1のノードから第1の関連付け応答メッセージを受信する、ように更に構成される。
PSKは当該装置及び第1のノードにより共有される秘密値であるので、通常では、当該装置内の第2のPSKは第1のノード内の第1のPSKと同じ値を有することが分かる。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成される。したがって、当該装置は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のノードのアイデンティティ認証情報を検証してもよい。当該装置に記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、当該装置と信頼できないノードとの間の関連付けが回避でき、当該装置の通信セキュリティが改善できる。対応して、当該装置は、第2のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報を生成し、第2のアイデンティティ認証情報は、当該装置のアイデンティティを検証するために第1のノードにより使用される。ピアノードとの通信は、双方の当事者のアイデンティティ認証が成功した後にのみ許可される。これはノードの通信セキュリティを改善する。
第6の態様の他の可能な実現方式では、プロセッサは、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
第2のPSKと第1のノードのアイデンティティとの間の対応関係は、当該装置に存在することが分かる。これは、当該装置が以前に第1のノードに関連付けられていること、又は第1のノードのアイデンティティに対応する第2のPSKが第2のノードに事前構成されていることを示してもよい。したがって、当該装置は、対応関係に基づいて第2のPSKを取得してもよい。
第6の態様の他の可能な実現方式では、第2の対応関係セットはメモリに記憶され、プロセッサは、第2の対応関係セットを使用することにより、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
当該装置は、対応関係セットの形式で第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
第6の態様の他の可能な実現方式では、プロセッサは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第2のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び第1の認証要求メッセージ内の第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置が最初に第1のノードに関連付けられるとき、又は当該装置が対応関係を削除したとき、第1のノードのアイデンティティに対応する第2のPSKは当該装置に存在しない。したがって、当該装置は、第1のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第2のPSKを生成してもよい。
第6の態様の他の可能な実現方式では、当該装置は入力モジュールを更に含み、プロセッサは、入力モジュールによって、第3の確認応答指示情報を取得するように更に構成され、第3の確認応答指示情報は第2のPSKの生成が許可されることを示す。
新たな第2のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第2のPSKは、第3の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置と信頼できないノードとの関連付けが回避され、当該装置の通信セキュリティが確保される。
第6の態様の他の可能な実現方式では、プロセッサは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードは当該装置にアクセスするためのパスワードである。
任意選択の設計では、アクセスパスワードは、他のノードが第1のノードにアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。第1のパスワードが第1のノードにアクセスするためのパスワードであるとき、当該装置は、入力された第1のパスワードを使用することにより第1のノードに接続されることが分かる。したがって、第1のパスワードは第2のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第2のPSKをクラックできないようにする。このように、当該装置は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
第6の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、プロセッサは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成するように具体的に構成される。
第1のノードは第2の鍵合意アルゴリズムパラメータを搬送するために第1の認証要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置は、第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを決定してもよい。このように、攻撃者がその後に第1のノードのアイデンティティ情報を偽造し、第2のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は当該装置と通信できない。これは、当該装置の通信セキュリティを改善する。
第6の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、プロセッサは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて生成される。
第6の態様の他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第4の鍵合意アルゴリズムパラメータに基づいて決定され、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムパラメータに基づいて第1のノードにより決定され、プロセッサは、
第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
第1の関連付け要求メッセージ内の第1の鍵合意アルゴリズムパラメータは、第2のノードの秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて生成されることが分かる。当該装置が第1のノードから第2の鍵合意アルゴリズムパラメータを受信した後に、当該装置は第2の鍵合意アルゴリズムパラメータ及び当該装置の秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて第1の中間鍵を決定する。第1の中間鍵は、第1のノードと当該装置との間の鍵合意によって取得される秘密値である。次いで、当該装置は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成する。
第6の態様の他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、プロセッサは、
第4の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
第6の態様の他の可能な実現方式では、プロセッサは、第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶するように更に構成される。
第2のPSKを生成した後に、当該装置が第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶することが分かる。その後、第1のノードに再び関連付けられるとき、当該装置はPSKを再生成せずに、対応関係に基づいて第2のPSKを取得してもよい。
第6の態様の他の可能な実現方式では、プロセッサは、第1のパスワードが更新された場合、第1のノードのアイデンティティと第2のPSKとの間の対応関係を削除するように更に構成される。
第6の態様の他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第2のPSKが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて生成された後に、第1のノードは、更新指示情報を使用することにより当該装置がアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、第2のPSKを更新するように当該装置に通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
第6の態様の他の可能な実現方式では、プロセッサは、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成し、
通信インタフェースによって、第3の認証応答メッセージを第1のノードに送信するように更に構成され、第3の認証応答メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第4のPSK及び第4のフレッシュパラメータに基づいて生成される。
当該装置が対応関係に基づいて第2のPSKを取得するとき、当該装置により第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第4のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
第6の態様の他の可能な実現方式では、プロセッサは、通信インタフェースによって、第1のノードから第3の関連付け応答メッセージを受信するように更に構成される。
第6の態様の他の可能な実現方式では、当該装置は入力モジュールを更に含み、プロセッサは、第2のPSKに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、入力モジュールによって、第4の確認応答指示情報を取得し、第4の確認応答指示情報は第4のPSKの生成が許可されることを示し、
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成する、ように更に構成される。
第6の態様の他の可能な実現方式では、プロセッサは、第1のPSK及び第1のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のPSKを削除し、
通信インタフェースによって、第2の関連付け要求メッセージを第1のノードに送信するように更に構成され、第2の関連付け要求メッセージは第5のフレッシュパラメータを含む。
第7の態様によれば、この出願の実施形態は鍵取得システムを提供する。鍵取得システムは第1のノードと第2のノードとを含む。第1のノードは、第3の態様若しくは第3の態様の可能な実現方式のうちいずれか1つ又は第5の態様若しくは第5の態様の可能な実現方式のうちいずれか1つに記載の装置である。第2のノードは、第4の態様若しくは第4の態様の可能な実現方式のうちいずれか1つ又は第6の態様若しくは第6の態様の可能な実現方式のうちいずれか1つに記載の装置である。
第7の態様の可能な実現方式では、第1のノードは第2のノードのアイデンティティに対応する第1のPSKを記憶し、第1のPSKは第1のノードに事前構成される。
第2のノードが第3のノードに変更された場合、第1のノードは、第2の態様又は第2の態様の可能な実現方式のうちいずれか1つにおける方法を使用することにより、第3のノードと関連付けることを要求してもよい。
例えば、車両のCDCが第1のノードであり、車両のマイクロフォンが第2のノードであるとき、車両の古いマイクロフォンが新たなマイクロフォンに変更された場合、古いマイクロフォンとCDCとの間のPSKが事前構成されており、新たなマイクロフォンがユーザの操作命令を受信できないので、新たなPSKを取得するために、第1の関連付け要求メッセージがCDCによって新たなマイクロフォンに送信されてもよい。
第7の態様の他の可能な実現方式では、第1のノードは、第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶し、第1のPSKは第1のノードに事前構成される。第1のノードが第4ノードに変更された場合、第4ノードは、第1のノードにおける対応関係を取得してもよく、それにより、第2のノードのアイデンティティに対応する第2のPSKを取得するようにする。
例えば、車両のCDCが第1のノードであるとき、車両のCDCが変更された場合、古いCDCに記憶された、第2のノードのアイデンティティと第1のPSKとの間の対応関係が新たなCDCに構成されてもよい。構成方式は、コンピュータ記憶媒体を使用することにより古いCDCから新たなCDCに対応関係をコピーすること、又は新たなCDCにより古いCDCから対応関係を受信することでもよい。
第8の態様によれば、この出願の実施形態は、コンピュータ読み取り可能記憶媒体を開示する。コンピュータ読み取り可能記憶媒体は、コンピュータプログラムを記憶し、コンピュータプログラムが1つ以上のプロセッサで実行したとき、第1の態様、第1の態様の可能な実現方式、第2の態様又は第2の態様の可能な実現方式のうちいずれか1つに記載の方法が実行される。
第9の態様によれば、この出願の実施形態はチップシステムを開示する。チップシステムは、少なくとも1つのプロセッサとメモリとインタフェース回路を含む。インタフェース回路は、少なくとも1つのプロセッサのための情報入力/出力を提供するように構成され、メモリはコンピュータプログラムを記憶する。コンピュータプログラムが1つ以上のプロセッサで実行したとき、第1の態様、第1の態様の可能な実現方式、第2の態様又は第2の態様の可能な実現方式のうちいずれか1つに記載の方法が実行される。
第10の態様によれば、この出願の実施形態は車両を開示する。車両は第1のノード(例えば、車両コックピットドメインコントローラCDC)を含む。第1のノードは、第3の態様若しくは第3の態様の可能な実現方式のうちいずれか1つ又は第5の態様又は第5の態様の可能な実現方式のうちいずれか1つに記載の装置である。さらに、車両は第2のノード(例えば、カメラ、スクリーン、マイクロフォン、スピーカ、レーダー、電子鍵及びパッシブエントリ・パッシブスタート・システムコントローラのようなモジュールのうち少なくとも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.鍵合意
鍵合意は、通信当事者がいくつかのパラメータを交換して合意によって鍵を取得するプロセスである。鍵合意に使用される暗号化アルゴリズムは鍵合意アルゴリズムと呼ばれ、また、鍵交換アルゴリズムとも呼ばれてもよい。一般的な鍵合意アルゴリズムは、ディフィー・ヘルマン(Diffie-Hellman, DH)アルゴリズム、楕円曲線暗号化(elliptic curve cryptosystems, ECC)ベースのディフィー・ヘルマン(ECDH)アルゴリズム、オークリー(Oakley)アルゴリズム、中国暗号化アルゴリズム(SM1、SM2、SM3及びSM4等)等を含む。
DHアルゴリズムが例として使用される。2つのノードは値が比較的大きい同じ素数p及び乱数gを使用し、それぞれ乱数a及び乱数bを生成する。第2のノードはga mod Pによって生成された値を第1のノードに送信し、第1のノードはgb mod Pによって生成された値を第2のノードに送信する。次いで、第2のノードは受信結果に対してa次累乗演算を実行し、第1のノードは受信結果に対してa次累乗演算を実行する。最後にパスワードが形成され、鍵交換が完了する。ここで、modはモジュロ演算を表す。
図1は、この出願の実施形態によるDHアルゴリズムの概略原理図である。DHアルゴリズムにおける鍵交換のステップは以下の通りである。
ステップ1:第2のノードは素数p、乱数g及び乱数aを決定する。
ステップ2:第2のノードは第1の計算値Aを生成し、A=ga mod pである。
ステップ3:第2のノードは、素数p、乱数g及び第1の計算値Aを第1のノードに送信する。
ステップ4:第1のノードは乱数bを決定する。
ステップ5:第1のノードは計算によって第2の計算値Bを取得し、B=gb mod pである。
ステップ6:第1のノードは鍵sを決定し、s=Ab mod pである。
ステップ7:第1のノードは第2の計算値Bを第2のノードに送信する。
ステップ8:第2のノードは鍵sを決定し、s=Ba mod pである。
s=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アルゴリズムを使用することにより取得された鍵は安全である。
3.鍵導出
鍵導出は、1つの秘密値から1つ以上の鍵を導出することであり、鍵を導出するために使用されるアルゴリズムは鍵導出関数(key derivation function, KDF)と呼ばれ、また、鍵導出アルゴリズムとも呼ばれる。例えば、秘密値Keyから導出された新たな鍵DKは、DK=KDF(Key,fresh)のように表されてもよい。ここで、freshはフレッシュパラメータ(fresh parameter)であり、新たな鍵を導出するために使用される。
一般的な鍵導出アルゴリズムは、パスワードベースの鍵導出関数(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はランダムに生成されたsaltであり、フレッシュパラメータと考えられてもよく、cは反復回数であり、デフォルト値でもよく、dk_lenは生成された新たな秘密値DKの長さであり、また、ブロックサイズとも呼ばれてもよく、デフォルト値でもよい。図2は、この出願の実施形態による鍵導出アルゴリズムの概略図である。新たな秘密値204は、鍵導出関数203を使用することにより、古い秘密値201及びフレッシュパラメータ202に基づいて取得されてもよい。
4.フレッシュパラメータ
フレッシュパラメータは、鍵を生成するために使用されるパラメータであり、また、フレッシュ度又はフレッシュ性パラメータとも呼ばれてもよく、ナンス(number once, NONCE)、カウント(counter)、シーケンス番号(number)等のうち少なくとも1つを含んでもよい。NONCEは、1回のみ(或いは繰り返しなしで)使用される乱数である。異なる時点に生成されるフレッシュパラメータは通常では異なる。言い換えると、フレッシュパラメータの特定の値は、フレッシュパラメータが生成される毎に変化する。したがって、今回鍵を生成するために使用されるフレッシュパラメータは、前回鍵を生成するために使用されたフレッシュパラメータと異なる。これは、生成された鍵のセキュリティを改善できる。
例えば、フレッシュパラメータは、乱数生成器(random number generator)を使用することによりノードにより取得された乱数でもよい。
他の例では、フレッシュパラメータはパケットデータコンバージェンスプロトコルカウント(packet data convergence protocol count, PDCP COUNT)を含み、PDCP COUNTはアップリンクPDCP COUNT及びダウンリンクPDCP COUNTを更に含んでもよい。アップリンクPDCP COUNTは、第2のノードがアップリンクPDCPデータパケットを送信する毎に1ずつ増加し、ダウンリンクPDCP COUNTは、第1のノードがダウンリンクPDCPデータパケットを送信する毎に1ずつ増加する。PDCP COUNTは常に変化するので、PDCP COUNTを使用することにより毎回生成される鍵は、PDCP COUNTを使用することにより前回生成された鍵と異なる。
以下に、この出願の実施形態におけるシステムアーキテクチャ及びサービスシナリオについて説明する。この出願において記載されるシステムアーキテクチャ及びサービスシナリオは、この出願における技術的解決策をより明確に説明することを意図しており、この出願において提供される技術的解決策に対する限定を構成するものではない点に留意すべきである。当業者は、システムアーキテクチャが進化して新たなサービスシナリオが出現するにつれて、この出願において提供される技術的解決策が同様の技術的課題にも適用可能であることを習得できる。
図3は、この出願の実施形態による通信システムの概略構造図である。通信システムは、第1のノード301と第2のノード302とを含む。第2のノード302は、第1のノード301にアクセスすることを要求してもよい。アクセスが成功した後に、第1のノード301はデータリンクを介して第2のノード302と通信してもよい。任意選択で、第1のノード301と第2のノード302との間の通信に使用されるデータリンクは、様々なタイプの接続媒体、例えば、無線リンクを含んでもよく、これは具体的にはWi-Fi、ブルートゥース、ジグビー(Zigbee)、他の無線リンク(ユニバーサル無線短距離伝送技術等)等でもよい。他の例では、データリンクは、ファイバーリンクのような有線リンクである。
任意選択で、第1のノード301は通信発信側でもよく、プライマリノード又はアクセスポイント(access point, AP)と呼ばれてもよい。対応して、第2のノード302は通信受信側であり、セカンダリノードと呼ばれてもよい。
第1のノード301及び第2のノード302は、同じタイプのデバイスでもよく、或いは、異なるタイプのデバイスでもよい。例えば、図4は、この出願の実施形態による鍵取得方法の適用シナリオの概略図である。コックピットドメインコントローラ(cockpit domain controller, CDC)401はスマートコックピットデバイスにおけるコントロールセンタであり、第1のノード301と考えられてもよい。スマートフォン402は、データ受信及び送信能力を有するデバイスであり、第2のノード302と考えられてもよい。CDC401はブルートゥースによってアクセスされてもよい。スマートフォン402はブルートゥース機能をサポートし、したがって、CDC401にアクセスすることを要求する。既存のブルートゥース技術では、通常ではペアリングモード又はジャストワーク(just work)モードが接続に使用される。ジャストワークモードでは、ブルートゥース接続はピアエンド識別子を直接タップすることにより確立できる。したがって、CDC401がブルートゥースを有効にした後に、CDC401のブルートゥース名は、CDC401にアクセスするためにスマートフォン402で直接タップされてもよい。この場合、攻撃者がスマートフォン402のアイデンティティを偽造してCDC401に接続した場合、CDC401が攻撃者を識別することは困難である。その結果、CDC401は攻撃者と通信する。これは、CDC401のプライバシー及びセキュリティに対する脅威を示す。同様に、他のいくつかのシナリオでも、ノードが未知の攻撃者への接続を回避することは通常では困難である。したがって、通信セキュリティが影響を受ける。この問題を解決するために、この出願の実施形態は以下の方法を提供する。
図5は、この出願の実施形態による鍵取得方法の概略フローチャートである。鍵取得方法は、図3に示すアーキテクチャに基づいて実現されてもよい。当該方法は少なくとも以下のステップを含む。
ステップS501:第2のノードは第1の関連付け要求メッセージを第1のノードに送信する。
具体的には、第1の関連付け要求メッセージはフレッシュパラメータ(fresh parameter)を含む。説明を容易にするために、この出願の実施形態では、第1の関連付け要求メッセージ内のフレッシュパラメータは第1のフレッシュパラメータと呼ばれる。フレッシュパラメータは、ナンス(number once, NONCE)、カウント(counter)、シーケンス番号(number)等のうち少なくとも1つを含んでもよく、異なる時点でのフレッシュパラメータは通常では異なる。
第2のノードは、無線リンク(例えば、Wi-Fi、ブルートゥース、ジグビー又は他の短距離無線リンクのうち1つ)又は有線リンク(例えば、光ファイバ)によって第1の関連付け要求メッセージを第1のノードに送信してもよい。対応して、第1のノードは第2のノードから第1の関連付け要求メッセージを受信する。
任意選択で、第1のノードはメッセージをブロードキャストしてもよく、第2のノードは第1のノードによりブロードキャストされたメッセージを受信し、次いで、第1の関連付け要求メッセージを第1のノードに送信してもよい。具体的には、第1のノードによりブロードキャストされるメッセージは、第1のノードのアイデンティティ、第1のノードの記述情報、アクセスを実行するように他のノードに指示するために使用される指示情報等のうち少なくとも1つを搬送してもよい。ブロードキャストメッセージを受信した後に、第2のノードは第1の関連付け要求メッセージを第1のノードに送信し、第1のノードと関連付けることを要求する。
ステップS502:第1のノードは第1の事前共有鍵PSKを取得する。
具体的には、PSKは第1のノード及び第2のノードで共有される秘密値である。PSKは、第2のノードからのフレッシュパラメータ及び第1のノードからのフレッシュパラメータに基づいて生成されてもよく、或いは、第1のノード及び第2のノードに事前構成されてもよい。説明を容易にするために、この出願の実施形態では、第1のノードに記憶された第1のノードと第2のノードとの間のPSKは第1のPSKと呼ばれ、第1のPSKを生成するために使用される第2のノードからのフレッシュパラメータは第2のフレッシュパラメータと呼ばれ、第1のPSKを生成するために使用される第1のノードからのフレッシュパラメータは第3のフレッシュパラメータと呼ばれる。任意選択で、第2のフレッシュパラメータは第1の関連付け要求メッセージ内の第1のフレッシュパラメータでもよく、或いは、第1の関連付け要求メッセージの前の第2のノードからのフレッシュパラメータでもよい。
第1のPSKは第2のノードのアイデンティティに対応するPSKである。第2のノードのアイデンティティはまた、第2のノードのデバイス識別子とも呼ばれ、第2のノードのアイデンティティは、第2のノードのID、媒体アクセス制御(media access control, MAC)アドレス、ドメイン名、ドメインアドレス又は他のユーザ定義識別子でもよい。第2のノードのIDは、固定IDでもよく、或いは、一時IDでもよい。例えば、第1のノードが第1の関連付け要求メッセージを受信する前に、一時IDが割り当てられている。したがって、第2のノードは、割り当てられた一時IDを使用することにより、第1のノードに接続されてもよい。
第1のPSKを取得する前に、第1のノードは最初に第2のノードのアイデンティティを取得してもよい。第1のノードが第2のノードのアイデンティティを取得する少なくとも以下の2つの解決策が存在する。
解決策1:第1の関連付け要求メッセージは第2のノードのアイデンティティを含む。具体的には、第2のノードは、第2のノードのアイデンティティを搬送するために第1の関連付け要求メッセージを使用してもよい。第1のノードは、第2のノードから第1の関連付け要求メッセージを受信し、それにより、第2のノードのアイデンティティを取得するようにする。
解決策2:第2のノードのアイデンティティは、他のメッセージを使用することにより取得される。具体的には、第2のノードは、他のメッセージを使用することにより、第2のノードのアイデンティティを第1のノードに通知してもよい。例えば、第1のノードがアクセスパスワードとして第1のパスワードを使用するとき、第1の関連付け要求メッセージを送信する前に、第2のノードは、入力された第1のパスワードを使用することにより最初に第1のノードにアクセスする。第2のノードは、第1のパスワード及び第2のノードのアイデンティティを第1のノードに送信してもよい。対応して、第1のノードは第2のノードのアイデンティティを取得する。アクセスパスワードは、他のノードが第1のノードにアクセスすることを要求するときに入力される必要があるパスワードである。例えば、Wi-Fiが接続されるとき、Wi-Fiのパスワードが入力される必要がある。
第1のノードが第1のPSKを取得することは、少なくとも以下の3つの場合を含む。
場合1:第1のノードは第1のPSKと第2のノードとの間の対応関係に基づいて第1のPSKを取得する。対応関係は、第1のノードに事前構成されてもよく、或いは、第1のPSKが生成された後に記憶されてもよい。ここで、対応関係が事前構成されるとき、第1のノードに事前構成された第1のPSKは、第2のノードに事前構成されたPSKと同じであり、或いは、PSKが生成された後に対応関係が記憶されるとき、第1のノード及び第2のノードは同じPSK生成方法及び同じパラメータを使用する点に留意すべきである。
第1のノードが対応関係を記憶する形式は、対応関係セット、データテーブル、データベース等のうち1つ以上でもよい。これはこの出願では限定されない。例えば、表1は、この出願の実施形態による第1のPSKと第2のノードのアイデンティティとの間の可能な対応関係のセットである。対応関係セットは、複数のノードのアイデンティティ、対応するPSK及びPSKタイプを含む。例えば、アイデンティティが「ID1」であるノードについて、ノードの一時IDは「ID1.1」であり、ノードに対応するPSKは「PSK1」であり、PSKのタイプは「事前構成」である。他の例では、アイデンティティが「ID2」であるノードについて、ノードの一時IDは「ID2.1」であり、ノードに対応するPSKは「PSK2」であり、PSKのタイプは「生成」である。具体的には、PSK2は第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成される。説明を容易にするために、この出願のこの実施形態では、第1のノードに記憶された対応関係セットは第1の対応関係セットと呼ばれる。
第1のPSKと第2のノードのアイデンティティとの間の対応関係は、第1のノードに存在することが理解され得る。これは、第2のノードが以前に第1のノードに関連付けられていること、又は第2のノードのアイデンティティに対応するPSKが第1のノードに事前構成されていることを示してもよい。したがって、第1のノードは、対応関係に基づいて第1のPSKを取得してもよい。
場合2:第1のノードは、第1のフレッシュパラメータ及び第1のノードからの第4のフレッシュパラメータに基づいて第1のPSKを生成し、第4のフレッシュパラメータは第1のノードにより決定されたフレッシュパラメータである。任意選択で、第1のノード及び第2のノードが最初に関連付けを要求したとき、又は第1のノードが対応関係を削除したとき、第2のノードのアイデンティティに対応する第1のPSKは第1のノードに存在しない。したがって、第1のノードは、第2のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第1のPSKを生成してもよい。さらに、以下の実現方式では、第1のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを決定してもよい。
実現方式1:第1のノードは、KDFを使用することにより、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成する。例えば、第1のフレッシュパラメータはNONCEeであり、第4のフレッシュパラメータはNONCEaである。生成された第1のPSKは、第1のPSK=KDF(NONCEe,NONCEa)を満たす。この出願の実施形態では、式におけるパラメータ順序は単なる説明のための例であり、実際の処理では他の順序が存在してもよい点に留意すべきである。パラメータ順序はこの出願では限定されない。
実現方式2:第1のノードは、第1のパスワードをアクセスパスワード(password)として使用する。したがって、第1のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成してもよい。例えば、第1のノードは、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1のパスワードpassword1に基づいて第1のPSKを生成し、すなわち、第1のPSK=KDF(NONCEe,NONCEa,password1)である。
実現方式3:第1のノードは、第1のパスワードをアクセスパスワード(password)として使用する。したがって、第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成してもよい。例えば、図6は、この出願の実施形態による可能な第1のPSK生成方法の概略図である。第1のノードは、KDF601を使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1のパスワードpassword1に基づいて第1のPSK602を生成し、すなわち、第1のPSK602=KDF601(IDa,IDe,NONCEe,NONCEa,password1)である。
場合3:第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1のノードは第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成する。第1の鍵合意アルゴリズムパラメータは鍵合意アルゴリズムのパラメータである。任意選択で、第1のノードは、第1のノードによりサポートされる1つ以上の鍵合意アルゴリズムに関する情報をブロードキャストしてもよい。1つ以上の鍵合意アルゴリズムを決定した後に、第2のノードは、第1の鍵合意アルゴリズムに基づいて第1の鍵合意アルゴリズムパラメータを搬送するために、第1の関連付け要求メッセージを使用する(任意選択で、第1の鍵合意アルゴリズムの識別子情報が更に搬送されてもよい)。第1のノードは、第1の鍵合意アルゴリズム、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成する。さらに、第1のノードは、以下の実現方式において、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成してもよい。
実現方式4:第1のノードは、KDFを使用することにより、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成する。例えば、第1のフレッシュパラメータがNONCEeであり、第4のフレッシュパラメータがNONCEaであり、第1の鍵合意アルゴリズムパラメータがKEeであるとき、生成される第1のPSKはPSK=KDF(NONCEe,NONCEa,KEe)のようになる。
第1の鍵合意アルゴリズムパラメータKEeは、鍵合意プロセスにおける使用される鍵合意アルゴリズムに基づいて第2のノードにより生成されるアルゴリズムパラメータである。例えば、使用される鍵合意アルゴリズムはDHアルゴリズムである。第1のノード及び第2のノードは、値が比較的大きい同じ素数p及び同じ乱数gを使用する。第2のノードは、ga mod Pによって生成された値A(すなわち、A=ga mod pであり、値Aは第1の鍵合意アルゴリズムパラメータKEeと考えられてもよく、aは第2のノードの秘密鍵である)を第1のノードに送信し、第1のノードは値A及びDHアルゴリズムに基づいて秘密値を決定してもよい。具体的には、第1のノードは、乱数b(すなわち、第1のノードの秘密鍵、説明を簡単にするために、この出願の実施形態では、第1のノードの秘密鍵は第3の鍵合意アルゴリズムパラメータと呼ばれる)を決定してもよい。DHアルゴリズムでは、第1のノードは、受信値Aに対してb次累乗演算を実行することにより、鍵合意の秘密値を取得してもよい。言い換えると、合意によって取得された秘密値はAb mod pである。秘密値は、第1のPSKを生成することに関与するために使用されてもよい。したがって、DHアルゴリズムに基づいて、第1のノードは、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の鍵合意アルゴリズムパラメータAに基づいて、第1のPSKを生成し、すなわち、第1のPSK=KDF(NONCEe,NONCEa,password1,Ab mod p)である。
さらに、第1のノードは、gb mod Pによって生成された値B(すなわち、B=gb mod pであり、値Bは第2の鍵合意アルゴリズムパラメータKEaと考えられてもよい)を第2のノードに送信する。第2のノードは、受信値Bに対してa次累乗演算を実行することにより、鍵合意の秘密値を取得してもよい。言い換えると、合意によって取得された秘密値はAb mod pである。ここで、aは第2のノードの秘密鍵である。説明を容易にするために、第2のノードの秘密鍵は第4の鍵合意アルゴリズムパラメータと呼ばれる。Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、鍵合意によって第1のノード及び第2のノードにより取得された秘密値は同じである。鍵合意プロセスにおいて、攻撃者は第1のノード及び第2のノードにより伝送されたアルゴリズムパラメータのみを使用することにより秘密値を推定できない。例えば、DHアルゴリズムにおいて、実際のアルゴリズムにおいて選択される素数p、乱数g、乱数a及び乱数bの値は非常に大きいので、ネットワーク上で伝送される素数p、乱数g、第1の鍵合意アルゴリズムパラメータA及び第2の鍵合意アルゴリズムパラメータBに基づいて秘密値を導出することは困難である。したがって、DHアルゴリズムを使用することにより取得された秘密値は安全である。
実現方式5:第1のノードは、第1のパスワードをアクセスパスワード(password)として使用する。したがって、第1のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成してもよい。例えば、第1のノードは、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の鍵合意アルゴリズムパラメータKEeに基づいて第1のPSKを生成し、すなわち、第1のPSK=KDF(NONCEe,NONCEa,password1,KEe)である。
実現方式6:第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成してもよい。例えば、第1のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の鍵合意アルゴリズムパラメータKEeに基づいて第1のPSKを生成し、すなわち、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KEe)である。
実現方式7:第1のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第1のPSKを生成してもよい。中間鍵は、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて生成される。例えば、第1のノードは、最初に第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1の鍵合意アルゴリズムパラメータKEeに基づいて中間鍵Kmidを生成し、すなわち、Kmid=F(NONCEe,NONCEa,KEe)であり、Fは中間鍵を生成するための暗号化アルゴリズムである。次いで、第1のノードは、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び中間鍵Kmidに基づいて第1のPSKを生成し、すなわち、第1のPSK=KDF(NONCEe,NONCEa,password1,Kmid)である。明らかに、実際の処理では、上記のプロセスは代替として1つのステップを使用することにより完了してもよく、中間鍵Kmidは単なる中間結果である。言い換えると、第1のPSKを生成するための方式は、第1のPSK=KDF(NONCEe,NONCEa,password1,F(NONCEe,NONCEa,KEe))を満たす。
実現方式8:第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵(又は第2の中間鍵)に基づいて第1のPSKを生成する。具体的には、第1のノードは最初に第3の鍵合意アルゴリズムパラメータ(すなわち、第1のノードの秘密鍵)を決定し、次いで第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定する。
例えば、上記のDHアルゴリズムが例として使用される。第1の鍵合意アルゴリズムパラメータA及び第3の鍵合意アルゴリズムパラメータbに基づいて第1のノードにより生成された第1の中間鍵Kdhは、Kdh=Ab mod pを満たす。さらに、第2の中間鍵は、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1の中間鍵Kdhに基づいて更に決定されてもよい。言い換えると、第2の中間鍵Kgtは、Kgt=KDF(NONCEe,NONCEa,Kdh)を満たす。第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵(又は第2の中間鍵)に基づいて第1のPSKを生成する。例えば、第1のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の中間鍵Kdh(又は第2の中間鍵kgt)に基づいて第1のPSKを生成し、すなわち、PSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kdh(又はkgt))である。図7は、この出願の実施形態による他の可能な第1のPSK生成方法の概略図である。第1のノードは、KDF701を使用することにより、第1のノードのアイデンティティIDa、第2のノード90のアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の中間鍵Kdh(又は第2の中間鍵kgt)に基づいて第1のPSK702を生成する。
ここで解決策をより明確に説明するために、どのように第1のPSKを取得するかが複数のステップの方式で説明される点に留意すべきである。実際の処理では、上記のプロセスは代替として1つのステップで完了してもよく、第1の中間鍵Kdh又は第2の中間鍵Kgtは単なる中間結果である。言い換えると、第1のPSKを決定するための方式は、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Kdh))を満たすか、或いは、第1のPSKを決定するための方式は、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Ab mod p))を満たす。さらに、任意選択で、第1のノードは、第1の中間鍵Kdh又は第2の中間鍵Kgtに基づいて他の中間鍵を推定(又は導出)し、次いで、導出された他の中間鍵に基づいて第1のPSKを生成することに関与してもよい。
任意選択で、第1のPSKを生成する前に、第1のノードは第1の確認応答指示情報を取得し、第1の確認応答指示情報は第1のノードと第2のノードとの間の関連付けが許可されることを示す。次いで、第1のノードは第1のPSKを生成してもよい。具体的には、第1の確認応答指示情報は、ユーザにより入力された確認応答操作に基づいて取得された指示情報であり、確認応答操作は出力プロンプト情報についての確認応答でもよい。例えば、第1のノードは、新たなノードがアクセスすることをユーザに通知するために、第1のプロンプト情報を出力してもよい。ユーザの確認応答操作を受信して第1の確認応答指示情報を取得した後に、第1のノードは、場合2又は場合3に記載の方式で第1のPSKを生成する。このように、攻撃者が第1のノードに接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが第1のノードに存在しないので、第1のノードは、新たなノードが関連付けを要求していることをユーザに通知してもよく、ユーザは新たなノードのアイデンティティを検証する。したがって、第1のノードと信頼できないノードとの間の関連付けが回避でき、第1のノードの通信セキュリティが確保できる。
任意選択で、第1の関連付け要求メッセージは、第1のノードのアイデンティティに対応する第2のPSKが第2のノードに存在するか否かを示すために、PSKが存在するか否かを示す指示情報を更に含んでもよい。例えば、第1の関連付け要求メッセージは第1のフィールドを含み、第1のフィールドが「0」であるとき、これは、第1のノードのアイデンティティに対応する第2のPSKが第2のノードに存在しないことを示し、それにより、第1のノードは、事前に記憶された対応関係を使用することにより第1のPSKを取得する代わりに、場合2又は場合3に記載の方法を使用することにより第1のPSKを生成してもよい。これは、その後にピアパーティのアイデンティティ認証情報を検証する際の失敗を回避する。
上記から、第1のPSKが第2のノードのアイデンティティに対応し、したがって、第2のノードのアイデンティティを検証するために使用されてもよいことが分かる。具体的には、PSKは第1のノード及び第2のノードにより共有される秘密値である。言い換えると、通常では、第1のノード内の第1のPSK及び第2のノード内の第2のPSKは同じ値を有する。したがって、第2のノードは、第2のPSKに基づいてアイデンティティ認証情報を生成すること、第2のPSK(又は第2のPSKに基づいて導出された鍵)を使用することによりメッセージ内容を暗号化すること等を行ってもよく、それにより、第1のノードが第2のノードのアイデンティティを検証するようにする。例えば、第2のノードは第2のPSKに基づいてアイデンティティ認証情報を生成し、第1のノードは第1のPSKを使用することにより第2のノードのアイデンティティ認証情報を検証してもよい。他の例では、第2のノードは、第2のPSK(又は第2のPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第1のノードは、第1のPSK(又は第1のPSKに基づいて導出された鍵)を使用することにより第2のノードからメッセージ内容を取得してもよく、それにより、第2のノードのアイデンティティを検証するようにする。
任意選択で、第1のPSKを生成した後に、第1のノードは第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶してもよい。次に第2のノードから関連付け要求メッセージを受信したとき、第1のノードは第1のPSKを再生成せずに、対応関係に基づいて第1のPSKを決定してもよい。さらに、任意選択で、第1のノードにアクセスするためのパスワードが第1のパスワードであるとき、又は第1のPSKが第1のパスワードの関与によって生成されるとき、第1のパスワードが更新された場合、第1のノードは第1のPSKと第2のノードのアイデンティティとの間の対応関係を削除してもよい。
図5に示す方法では、PSKは第1のノード及び第2のノードにより共有される秘密値である。第1のノード内の第1のPSKは第2のノードのアイデンティティに対応し、したがって、第2のノードのアイデンティティを検証するために使用できる。これは、信頼できないノードが第1のノードにアクセスするのを防止し、通信セキュリティを改善する。
任意選択で、この出願のこの実施形態は、ステップS503を更に含んでもよく、或いは、ステップS503及びステップS504を更に含んでもよい。ステップS503及びステップS504は具体的には以下の通りである。
ステップS503:第1のノードは第1の認証要求メッセージを第2のノードに送信する。
具体的には、第1の認証要求メッセージは、上記の第4のフレッシュパラメータを含む。任意選択で、第1の認証要求メッセージはメッセージ認証コード(message authentication code, MAC)を更に含んでもよい。MACは、対称鍵及び整合性保護アルゴリズムに基づいて生成されたメッセージ認証コードであり、第1の認証要求メッセージの整合性を保護するために使用される。
第1のノードは第1の認証要求メッセージを第2のノードに送信し、対応して、第2のノードは第1のノードから第1の認証要求メッセージを受信する。
任意選択で、第1の認証要求メッセージは更新指示情報を更に含んでもよい。具体的には、第1のノードが場合2又は場合3における方式で第1のPSKを生成するとき、第1のノードは、PSK更新を示すために、更新指示情報を第2のノードに送信してもよい。さらに、新たなPSKを生成した後に、第1のノードは、更新指示情報を使用することにより、第2のPSKを更新するように第2のノードに通知し、第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止してもよく、それにより、第2のノードによるアイデンティティ認証情報を検証する際の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにする。さらに、任意選択で、更新指示情報は、第1の認証要求メッセージ内の文字又は文字列でもよい。例えば、第1の認証要求メッセージは「更新」フィールドを含む。「1」は、第2のノードが方法2又は方法3における方式で第2のPSKを生成してもよいことを示すためにフィールドで使用される。「0」は、「無意味」を示すためにフィールドで使用される。
ステップS504:第2のノードは第2のPSKを取得する。
具体的には、PSKは第1のノード及び第2のノードで共有される秘密値である。PSKは、第2のノードからのフレッシュパラメータ及び第1のノードからのフレッシュパラメータに基づいて生成されてもよく、或いは、第1のノード及び第2のノードに事前構成されてもよい。説明を容易にするために、この出願の実施形態では、第2のノードに存在する第2のノードと第1のノードとの間の事前共有鍵は第2のPSKと呼ばれ、第2のPSKを生成するために使用される第2のノードからのフレッシュパラメータは第2のフレッシュパラメータと呼ばれ、第1のPSKを生成するために使用される第1のノードからのフレッシュパラメータは第3のフレッシュパラメータと呼ばれる。第2のノードからのフレッシュパラメータは第1の関連付け要求メッセージ内の第1のフレッシュパラメータでもよく、或いは、第1の関連付け要求メッセージの前の第2のノードからのフレッシュパラメータでもよい。同様に、第1のノードからのフレッシュパラメータは、第1の認証要求メッセージ内の第4のフレッシュパラメータでもよく、或いは、第1の認証要求メッセージの前の第2のノードからのフレッシュパラメータでもよい。
第2のPSKは第1のノードのアイデンティティに対応する。第1のノードのアイデンティティはまた、第1のノードのデバイス識別子とも呼ばれ、第1のノードのアイデンティティは、第1のノードのID、媒体アクセス制御(media access control, MAC)アドレス、ドメイン名、ドメインアドレス又は他のユーザ定義識別子でもよい。
第2のPSKを取得する前に、第2のノードは最初に第1のノードのアイデンティティを取得してもよい。第2のノードが第1のノードのアイデンティティを取得する少なくとも以下の3つの解決策が存在する。
解決策1:第1のノードのアイデンティティは、第1のノードのブロードキャストメッセージを使用することにより取得される。具体的には、第1のノードは、第1のノードのアイデンティティを搬送するためにブロードキャストメッセージを使用し、第2のノードは第1のノードのブロードキャストメッセージを受信することにより第1のノードのアイデンティティを取得してもよい。
解決策2:第1の認証要求メッセージは第1のノードのアイデンティティを更に含む。具体的には、第1のノードは、第1のノードのアイデンティティを搬送するために第1の認証要求メッセージを使用してもよい。第2のノードは、第1のノードから第1の認証要求メッセージを受信し、それにより、第1のノードのアイデンティティを取得するようにする。
解決策3:第2のノードは、入力された第1のノードのアイデンティティを受信する。具体的には、ユーザは第1のノードのアイデンティティを入力することにより、第1のノードにアクセスすることを要求する。第2のノードは、ユーザにより入力された第1のノードのアイデンティティを受信し、それにより、第2のノードが第1のノードのアイデンティティを取得するようにする。
第2のノードが第2のPSKを取得する少なくとも以下の3つの方法が存在する。
方法1:第2のノードは第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得する。対応関係は、第2のノードに事前構成されてもよく、或いは、第2のPSKが生成された後に記憶されてもよい。第2のノードが対応関係を記憶する形式は、対応関係セット、データテーブル、データベース等のうち1つ以上でもよい。これはこの出願では限定されない。例えば、表2は、この出願の実施形態による第2のPSKと第1のノードのアイデンティティとの間の可能な対応関係のセットである。対応関係セットは、複数のノードのアイデンティティ、対応するPSK及びPSKタイプを含む。例えば、アイデンティティが「ID4」であるノードについて、ノードに対応するPSKは「PSK4」であり、PSKのタイプは「事前構成」である。他の例では、アイデンティティが「ID5」であるノードについて、ノードに対応するPSKは「PSK5」であり、PSKのタイプは「生成」である。具体的には、PSK5は第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成される。説明を容易にするために、この出願のこの実施形態では、第2のノードに記憶された対応関係セットは第2の対応関係セットと呼ばれる。
第2のPSKと第1のノードのアイデンティティとの間の対応関係は、第2のノードに存在することが理解され得る。これは、第1のノードが以前に第2のノードに関連付けられていること、又は第1のノードのアイデンティティに対応する第2のPSKが第2のノードに事前構成されていることを示してもよい。したがって、第2のノードは、対応関係に基づいて第2のPSKを取得してもよい。
方法2:第2のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成し、第2のPSKは第1のノードのアイデンティティを検証するために使用される。例えば、第2のノードが最初に第1のノードに関連付けられるとき、又は第2のノードが対応関係を削除したとき、第1のノードのアイデンティティに対応する第2のPSKは第2のノードに存在しない。したがって、第2のノードは、第1のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第2のPSKを生成してもよい。さらに、以下の実現方式では、第2のノードは、第1のフレッシュパラメータ及び第1のノードからの第4のフレッシュパラメータに基づいて第2のPSKを決定してもよい。
実現方式9:第2のノードは、KDFを使用することにより、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成する。例えば、第1のフレッシュパラメータはNONCEeであり、第4のフレッシュパラメータはNONCEaである。生成された第2のPSKは、第2のPSK=KDF(NONCEe,NONCEa)を満たす。
実現方式10:第2のノードは、入力された第1のパスワードを使用することにより第1のノードにアクセスする。したがって、第2のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成してもよい。例えば、第2のノードは、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1のパスワードpassword1に基づいて第2のPSKを生成し、すなわち、第2のPSK=KDF(NONCEe,NONCEa,password1)である。
実現方式11:第2のノードは、入力された第1のパスワードを使用することにより第1のノードにアクセスする。したがって、第2のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成してもよい。例えば、第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1のパスワードpassword1に基づいて第2のPSK生成し、すなわち、第2のPSK=KDF(Ida,Ide,NONCEe,NONCEa,password1)である。
方法3:第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを含み、第2のノードは第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成する。さらに、第2のノードは、以下の実現方式において、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成してもよい。
実現方式12:第2のノードは、KDFを使用することにより、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成する。例えば、第1のフレッシュパラメータはNONCEeであり、第4のフレッシュパラメータはNONCEaであり、第2の鍵合意アルゴリズムパラメータはKEaである。KDFを使用することにより生成される第2のPSKは第2のPSK=KDF(NONCEe,NONCEa,KEa)のようになる。
第2の鍵合意アルゴリズムパラメータKEaは、鍵合意プロセスにおいて生成されるアルゴリズムパラメータである。DHアルゴリズムが例として使用される。第1のノードは、gb mod Pによって生成された値B(すなわち、B=gb mod pであり、値Bは第2の鍵合意アルゴリズムパラメータKEaと考えられてもよい)を第1のノードに送信する。第2のノードは乱数aを提供する(乱数aは第2のノードの秘密鍵であり、説明を容易にするために第4の鍵合意アルゴリズムパラメータと呼ばれる)。DHアルゴリズムでは、第2のノードは、受信値Bに対してa次累乗演算を実行することにより、鍵合意の秘密値を取得してもよい。言い換えると、合意によって取得された秘密値はBa mod pである。秘密値は、第2のPSKを生成することに関与するために使用されてもよい。第2のノードは、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1、値B及び乱数aに基づいて、第2のPSKを生成し、すなわち、第2のPSK=KDF(NONCEe,NONCEa,password1,Ba mod p)である。
さらに、第2のノードは、第1の鍵合意アルゴリズムパラメータA(すなわち、KEe)を搬送するために第1の関連付け要求メッセージ又は他のメッセージを使用してもよく、第1の鍵合意アルゴリズムパラメータは、第4の鍵合意アルゴリズムパラメータaに基づいて生成される。第1のノードは、受信した第1の鍵合意アルゴリズムパラメータAに対してb次累乗演算を実行することにより、鍵合意の秘密値を取得してもよい。言い換えると、合意によって取得された秘密値はAb mod pであり、bは第1のノードの秘密鍵である。Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、鍵合意によって第1のノード及び第2のノードにより取得された秘密値は同じである。したがって、生成された第2のPSK及び実現方式4において生成された第1のPSKは同じ値を有する。
実現方式13:第2のノードは、入力された第1のパスワードを使用することにより第1のノードにアクセスする。第2のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成してもよい。例えば、第2のノードは、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第2の鍵合意アルゴリズムパラメータKEaに基づいて第2のPSKを生成し、すなわち、第2のPSK=KDF(NONCEe,NONCEa,password1,KEa)である。
実現方式14:第2のノードは、入力された第1のパスワードを使用することにより第1のノードにアクセスする。第2のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成してもよい。例えば、第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第2の鍵合意アルゴリズムパラメータKEaに基づいて第2のPSKを生成し、すなわち、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KEa)である。
実現方式15:第2のノードは、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第2のPSKを生成してもよい。中間鍵は、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて生成される。例えば、第2のノードは、最初に第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第2の鍵合意アルゴリズムパラメータKEaに基づいて中間鍵Kmidを生成し、すなわち、Kmid=F(NONCEe,NONCEa,KEa)であり、Fは中間鍵を生成するための暗号化アルゴリズムである。次いで、第2のノードは、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び中間鍵Kmidに基づいて第2のPSKを生成し、すなわち、第2のPSK=KDF(NONCEe,NONCEa,password1,Kmid)である。明らかに、実際の処理では、上記のプロセスは代替として1つのステップを使用することにより完了してもよく、中間鍵Kmidは単なる中間結果である。言い換えると、第2のPSKを生成するための方式は、第2のPSK=KDF(NONCEe,NONCEa,password1,F(NONCEe,NONCEa,KEa))を満たす。
実現方式16:第2のノードは、入力された第1のパスワードを使用することにより第1のノードにアクセスする。第2のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵(又は第2の中間鍵)に基づいて第2のPSKを生成する。具体的には、例えば、第1のノードと第2のノードとの間の鍵合意アルゴリズムはDHアルゴリズムである。第2のノードは最初に第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータ(すなわち、第2のノードの秘密鍵)に基づいて第1の中間鍵を計算する。例えば、上記のDHアルゴリズムが例として使用される。第2の鍵合意アルゴリズムパラメータB及び第4の鍵合意アルゴリズムパラメータaに基づいて第2のノードにより生成された第1の中間鍵Kdhは、Kdh=Ba mod pのようになる。第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の中間鍵Kdhに基づいて第2のPSKを生成し、すなわち、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kdh)である。
さらに、第2のノードは、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1の中間鍵Kdhに基づいて第2の中間鍵を決定してもよい。言い換えると、第2の中間鍵Kgtは、Kgt=KDF(NONCEe,NONCEa.Kdh)のようになる。第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第2の中間鍵Kgtに基づいて、第2のPSKを生成し、すなわち、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kgt)である。
ここで解決策をより明確に説明するために、どのように第1のPSKを取得するかが複数のステップの方式で説明される点に留意すべきである。実際の処理では、上記のプロセスは代替として1つのステップで完了してもよく、第1の中間鍵Kdh又は第2の中間鍵Kgtは単なる中間結果である。言い換えると、第2のPSKを決定するための方式は、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Kdh))を満たすか、或いは、第2のPSKを決定するための方式は、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Ab mod p))を満たす。さらに、任意選択で、第2のノードは、第1の中間鍵Kdh又は第2の中間鍵Kgtに基づいて他の中間鍵を推定(又は導出)し、次いで、導出された他の中間鍵に基づいて第2のPSKを生成することに関与してもよい。
通常では、第1のノードが特定の実現方式に示す方法を使用することにより第1のPSKを生成するとき、対応して、第2のノードは、対応する実現方式に示す方法を使用することにより第2のPSKを生成する。したがって、第1のノードにより生成された第1のPSKは、第2のノードにより生成された第2のPSKと同じである。これは、ピアノードのアイデンティティに対する検証を容易にする。
任意選択で、第2のPSKを生成する前に、第2のノードは第3の確認応答指示情報を取得し、第3の確認応答指示情報は第2のPSKの生成が許可されることを示す。具体的には、第3の確認応答指示情報は、ユーザにより入力された確認応答操作に基づいて取得された指示情報であり、確認応答操作は出力プロンプト情報についての確認応答でもよい。例えば、第2のノードは、新たなノードがアクセスされる必要があることをユーザに通知するために、第3のプロンプト情報を出力してもよい。ユーザの確認応答操作を受信して第3の確認応答指示情報を取得した後に、第2のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成する。このように、攻撃者が第2のノードに接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが第2のノードに存在しないので、第2のノードは、新たなノードが関連付けを要求していることをユーザに通知してもよく、ユーザは新たなノードのアイデンティティを検証する。したがって、第2のノードと信頼できないノードとの間の関連付けが回避でき、第2のノードの通信セキュリティが確保できる。
任意選択で、第2のPSKを生成した後に、第2のノードは第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶してもよい。次に第1のノードに関連付けられるとき、第2のノードは第2のPSKを再生成せずに、対応関係に基づいて第2のPSKを決定してもよい。任意選択で、第2のノードが第1のパスワードを使用することにより第1のノードにアクセスするとき、又は第2のPSKが第1のパスワードの関与によって生成されるとき、第1のパスワードが更新された場合、第2のノードは第2のPSKと第1のノードのアイデンティティとの間の対応関係を削除してもよい。
任意選択で、この出願のこの実施形態における鍵取得方法は、図8におけるステップS801、又はステップS801及びステップS802を更に含んでもよい。ステップS801及びステップS802は具体的には以下の通りである。
ステップS801:第2のPSK及び第1のフレッシュパラメータに基づいて第2のノードにより第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第2のノードは、第1の認証応答メッセージを第1のノードに送信する。
具体的には、第1の認証要求メッセージは第1のアイデンティティ認証情報を更に含み、第1のアイデンティティ認証情報は第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより生成される。例えば、第1のノードは、KDFを使用することにより、第1のPSK及び第1のフレッシュパラメータNONCEeに基づいて第1のアイデンティティ認証情報AUTHaを生成し、すなわち、AUTHa=KDF(第1のPSK,NONCEe)である。任意選択で、実際の処理では、第1のアイデンティティ認証情報を生成するために第1のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第1のアイデンティティ認証情報AUTHaは、AUTHa=KDF(第1のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージは、第1のフレッシュパラメータNONCEeを含む。他の例では、生成された第1のアイデンティティ認証情報AUTHaは、代替としてAUTHa=KDF(第1のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成されるので、第2のノードは、第2のPSK及び第1のフレッシュパラメータに基づいて、第1のアイデンティティ認証情報が正しいか否かを検証してもよい。任意選択の解決策では、プロトコル仕様に従って、第1のノードが第1のアイデンティティ認証情報を生成するために特定のパラメータを使用する場合、第2のノードもまた検査情報を生成するために同じパラメータを使用するべきである。検査情報が第1のアイデンティティ認証情報と同じである場合、検証が成功したと考えられる。例えば、第1のアイデンティティ認証情報はKDFを使用することにより生成される。したがって、第2のノードは、検査情報を生成するためにKDFを使用してもよく、検査情報はまた検査値check1とも呼ばれる。次いで、第2のノードは、検査情報を使用することにより、第1のアイデンティティ認証情報が正しいか否かを検証する。以下に、説明のために例を使用する。
例えば、第1のアイデンティティ認証情報AUTHaがKDF(第1のPSK,NONCEe)である場合、第2のノードは、KDFを使用することにより、第2のPSK及び第1のフレッシュパラメータに基づいて、検査値check1=KDF(第2のPSK,NONCEe)を習得する。検査値check1がAUTHaと同じである場合、検証は成功する。
第1のアイデンティティ認証情報に対する検証が成功した場合、第2のノードは第1の認証応答メッセージを第1のノードに送信する。第2の認証応答メッセージは第2のアイデンティティ認証情報を含む。任意選択で、第2のアイデンティティ認証情報は、第2のノードのアイデンティティを検証するために第1のノードにより使用される。第2のアイデンティティ認証情報は、第2のPSK及び第4のフレッシュパラメータに基づいて生成される。例えば、第2のノードは、KDFを使用することにより、第2のPSK及び第4のフレッシュパラメータNONCEaに基づいて第2のアイデンティティ認証情報AUTHeを生成し、すなわち、AUTHe=KDF(第2のPSK,NONCEa)である。任意選択で、実際の処理では、第2のアイデンティティ認証情報を生成するために第2のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第2のアイデンティティ認証情報AUTHeは、AUTHe=KDF(第2のPSK,第1の認証要求メッセージ)を満たしてもよく、第1の認証要求メッセージは第4のフレッシュパラメータNONCEaを含む。他の例では、生成された第2のアイデンティティ認証情報AUTHeは、代替としてAUTHe=KDF(第2のPSK,NONCEe,第1の認証要求メッセージ)を満たしてもよく、NONCEeは第1のフレッシュパラメータである。
任意選択で、第1のアイデンティティ認証情報に対する検証が失敗した場合、第2のノードは、方法2又は方法3に記載の方法を使用することにより新たな第2のPSKを生成してもよい。説明を容易にするために、生成された新たな第2のPSKは第4のPSKと呼ばれる。第2のノードは、第4のPSK及び第1のフレッシュパラメータを使用することにより、第1のアイデンティティ認証情報を再び検証する。検証が成功した場合、第2のノードは第1の認証応答メッセージを第1のノードに送信する。第2の応答メッセージは第2のアイデンティティ認証情報を含む。第2のアイデンティティ認証情報は、第4のPSK及び第4のフレッシュパラメータに基づいて生成され、第2のノードのアイデンティティを検証するために第1のノードにより使用される。
任意選択で、第4のPSKを生成する前に、第2のノードは第4の確認応答指示情報を取得し、第4の確認応答指示情報は、第4のPSKの生成が許可されることを示す。具体的には、第4の確認応答指示情報は、ユーザにより入力された確認応答操作に基づいて取得された指示情報であり、確認応答操作は出力プロンプト情報についての確認応答でもよい。例えば、第2のノードは、第4のPSKが第1のノードについて生成される必要があることをユーザに通知するために、第4のプロンプト情報を出力してもよい。ユーザの確認応答操作を受信して第4の確認応答指示情報を取得した後に、第2のノードは、方法2又は方法3に記載の方法を使用することにより、第4のPSKを生成する。このように、ユーザは第1のノードのアイデンティティを検証し、それにより、第2のノードが信頼できないノードと関連付けられるのを防止できるようにする。これは、第2のノードの通信セキュリティを確保する。
任意選択で、第1のアイデンティティ認証情報に対する検証が失敗した場合、第2のノードは第1のノードのアイデンティティに対応する第2のPSKを削除してもよい。さらに、第2のノードは新たなフレッシュパラメータを再決定し、新たな関連付け要求メッセージを再開してもよい。説明を容易にするために、再決定されたフレッシュパラメータは第5のフレッシュパラメータと呼ばれ、再開された新たな関連付け要求メッセージは第2の関連付け要求メッセージと呼ばれる。これはPSKを再取得するのに役立つ。
任意選択で、第1のアイデンティティ認証情報に対する検証が失敗し、第1のノードのアイデンティティに対応するPSKが第2のノードに事前に記憶されていない場合(言い換えると、第2のPSKは方法2又は方法3を使用することにより取得される)、第2のノードは、第1のノードに記憶され且つ第2のノードのアイデンティティに対応するPSKを削除するようにユーザに指示してもよい。第2のノードがユーザにより入力された確認応答指示情報を取得した後に、第2のノードは、第2の関連付け要求メッセージを第1のノードに送信し、PSKを再取得する。
任意選択で、第1の認証応答メッセージはメッセージ認証コード(message authentication code, MAC)を更に含んでもよい。MACは、対称鍵及び整合性保護アルゴリズムに基づいて生成されたメッセージ認証コードであり、第1の認証要求メッセージの整合性を保護するために使用される。対称鍵及び/又は整合性保護アルゴリズムは、他のメッセージを使用することにより第1のノードと第2のノードとの間で合意されてもよく、或いは、既存のパラメータに基づいて生成されてもよい。例えば、実現方式8において第1のノードにより生成された第1の中間鍵Kdh=Ba mod p、及び実現方式16において第2のノードにより生成された第1の中間鍵Kdh=Ab mod pについて、Ab mod p=Ba mod pであるので、第1の中間鍵Kdhもまた第1のノードと第2のノードとの間の対称鍵として使用されてもよく、第1の認証要求メッセージに対して整合性保護を実行するために使用されてもよい。
ステップS802:第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは、第1の関連付け応答メッセージを第2のノードに送信する。
具体的には、第2のアイデンティティ認証情報は、第2のPSK及び第4のフレッシュパラメータに基づいて第2のノードにより生成されるので、第1のノードは、第1のPSK及び第4のフレッシュパラメータに基づいて、第2のアイデンティティ認証情報が正しいか否かを検証してもよい。
任意選択の解決策では、プロトコル仕様に従って、第2のノードが第2のアイデンティティ認証情報を生成するために特定のパラメータを使用する場合、第1のノードもまた検査情報を生成するために同じパラメータを使用するべきである。検査情報が第2のアイデンティティ認証情報と同じである場合、検証が成功したと考えられる。例えば、第2のアイデンティティ認証情報はKDFを使用することにより生成される。したがって、第1のノードは、検査情報を生成するためにKDFを使用してもよく、検査情報はまた検査値check2とも呼ばれる。次いで、第1のノードは、検査情報を使用することにより、第2のアイデンティティ認証情報が正しいか否かを検証する。以下に、説明のために例を使用する。
例えば、第2のアイデンティティ認証情報AUTHeがKDF(第2のPSK,NONCEa)である場合、第1のノードは、KDFを使用することにより、第1のPSK及び第4のフレッシュパラメータに基づいて、検査値check2=KDF(第1のPSK,NONCEa)を習得する。検査値check2がAUTHeと同じである場合、検証は成功する。
第2のアイデンティティ認証情報に対する検証が成功した場合、第1のノードは第1の関連付け応答メッセージを第2のノードに送信する。第1の関連付け応答メッセージは、第1のノードと第2のノードとの間の通信が許可されることを示してもよい。対応して、第2のノードは第1の関連付け応答メッセージを受信し、第1のノードと通信し始めてもよい。任意選択で、可能な解決策では、代替として第1の関連付け応答メッセージが送信されなくてもよい。例えば、第2のアイデンティティ認証情報に対する検証が成功した後に、第1のノードは第2のノードとのデータ伝送を直接実行し始める。任意選択で、第1のノードは一時IDを第2のノードに割り当ててもよく、それにより、第2のノードは一時IDを使用することにより第1のノードと通信するようにする。
任意選択で、第2のアイデンティティ認証情報に対する検証が失敗し、第1のノードが場合1に示す方法を使用することにより第1のPSKを取得した場合、第1のノードは場合2又は場合3に示す方法を使用することにより新たな第1のPSKを生成してもよい。説明を容易にするために、生成された新たな第1のPSKは第3のPSKと呼ばれる。次いで、第1のノードは、生成された第3のPSK及び第1のフレッシュパラメータに基づいて新たなアイデンティティ認証情報を生成する。説明を容易にするために、新たなアイデンティティ認証情報は第3のアイデンティティ認証情報と呼ばれる。さらに、第1のノードは、第2のアイデンティティ認証要求メッセージを第1のノードに再送信する。第2のアイデンティティ認証要求メッセージは第3のアイデンティティ認証メッセージ及び第4のフレッシュパラメータを含む。対応して、第2のノードは第1のノードから第2のアイデンティティ認証情報を受信する。検証が成功した後に、第2のノードは第2のアイデンティティ応答メッセージを第1のノードに送信してもよい。第2のアイデンティティ認証応答メッセージは第2のノードのアイデンティティ認証情報を含む。対応して、第2のノードのアイデンティティ認証情報に対する検証に成功した後に、第1のノードは第2のノードとの通信を許可する。
任意選択で、第3のPSKを生成する前に、第1のノードは第2の確認応答指示情報を取得し、第2の確認応答指示情報は、第3のPSKの生成が許可されることを示す。具体的には、第2の確認応答指示情報は、ユーザにより入力された確認応答操作に基づいて取得された指示情報であり、確認応答操作は出力プロンプト情報についての確認応答でもよい。例えば、第1のノードは、第3のPSKが第2のノードについて生成される必要があることをユーザに通知するために、第2のプロンプト情報を出力してもよい。ユーザの確認応答操作を受信して第2の確認応答指示情報を取得した後に、第1のノードは、場合2又は場合3に記載の方法を使用することにより、第3のPSKを生成する。このように、ユーザは第2のノードのアイデンティティを検証し、それにより、第1のノードが信頼できないノードと関連付けられるのを防止できるようにする。これは、第1のノードの通信セキュリティを確保する。
任意選択で、第1の認証応答メッセージはメッセージ認証コード(message authentication code, MAC)を更に含んでもよい。MACは、対称鍵及び整合性保護アルゴリズムに基づいて生成されたメッセージ認証コードであり、第1の認証要求メッセージの整合性を保護するために使用される。対称鍵及び/又は整合性保護アルゴリズムは、他のメッセージを使用することにより第1のノードと第2のノードとの間で合意されてもよく、或いは、既存のパラメータに基づいて生成されてもよい。例えば、実現方式8における第1の中間鍵又は第2の中間鍵は、第1のノードと第2のノードの間の対称鍵として使用されてもよい。図5に記載の方法では、PSKは第1のノード及び第2のノードにより共有される秘密値である。第1のノード及び第2のノードはそれぞれ、第2のノードからの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータを使用することによりPSKを生成し、ピアノードのアイデンティティに対応させるためにPSKを使用し、ピアノードのアイデンティティを検証する。このように、攻撃者が関連付けを要求するためにノードのアイデンティティを偽造したいと思う場合、PSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータが第1の関連付け要求メッセージの前に取得されてもよく、例えば、第1のノードが最初に第2のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックすることが困難であるので、攻撃者はPSKを偽造できず、したがって、攻撃者に対して第1のノードにより実行されるアイデンティティ認証は成功できない。これは、第1のノードが信頼できないノードに接続されるのを防止し、第1のノードの通信セキュリティを改善する。
図5又は図8に示す上記の方法の実施形態は、多くの可能な実現方式を含む。以下に、図9、図10及び図11を参照した例を使用することにより、実現方式のいくつかを別々に説明する。図9、図10又は図11で説明されていない関連する概念若しくは動作又は論理関係については、図5又は図8に示す実施形態における対応する説明を参照する点に留意すべきである。したがって、詳細は再び説明しない。
図9は、この出願の実施形態による他の鍵取得方法を示す。当該方法は少なくとも以下のステップを含む。
ステップS901:第2のノードは第1の関連付け要求メッセージを第1のノードに送信する。
具体的には、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む。第1のフレッシュパラメータは、ナンス(number once, NONCE)、カウント(counter)、シーケンス番号(number)等のうち少なくとも1つを含んでもよく、異なる時点でのフレッシュパラメータは通常では異なる。
対応して、第1のノードは第2のノードから第1の関連付け要求メッセージを受信する。
ステップS902:第1のノードは第4のフレッシュパラメータを取得する。
具体的には、第4のフレッシュパラメータは、乱数、カウンタ値、シーケンス番号等でもよい。第4のフレッシュパラメータは、第1のノードにより生成(又は生成)されてもよい。例えば、第1のノードは乱数生成器を使用することにより乱数を生成し、乱数を第4のフレッシュパラメータとして使用する。代替として、第4のフレッシュパラメータは、第1のノードにより取得されたカウンタ値、シーケンス番号等でもよい。例えば、第1のノードはPDCP COUNTを記録し、第1のノードは記録されたPDCP COUNTを取得して、PDCP COUNTを第4のフレッシュパラメータとして使用してもよい。
ステップS903:第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のパスワード、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成する。
具体的には、第1のノードは第1のパスワードをアクセスパスワード(password)として使用する。第1のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1のパスワードpassword1に基づいて第1のPSKを生成してもよく、すなわち、PSK=KDF(IDa,IDe,NONCEe,NONCEa,password1)である。
任意選択で、第1のPSKを生成する前に、第1のノードは第1のプロンプト情報を出力する。第1のプロンプト情報は、第2のノードとの関連付けが許可されるか否か、又は第1のPSKの生成が許可されるか否かを促すために使用される。さらに、第1のノードは、ユーザの確認応答操作に基づいて第1の確認応答指示情報を取得し、第1の確認応答指示情報は、第2のノードとの関連付けが許可されること、又は第1のPSKの生成が許可されることを示す。このように、第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のパスワード、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成する。
ステップS904:第1のノードは第1の認証要求メッセージを第2のノードに送信する。
具体的には、第1の認証要求メッセージは、第4のフレッシュパラメータ及び第1のアイデンティティ認証情報を含む。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成される。例えば、第1のノードは、KDFを使用することにより、第1のPSK及び第1のフレッシュパラメータNONCEeに基づいて第1のアイデンティティ認証情報AUTHaを生成し、すなわち、AUTHa=KDF(第1のPSK,NONCEe)である。任意選択で、実際の処理では、第1のアイデンティティ認証情報を生成するために第1のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第1のアイデンティティ認証情報AUTHaは、AUTHa=KDF(第1のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージは、第1のフレッシュパラメータNONCEeを含む。他の例では、生成された第1のアイデンティティ認証情報AUTHaは、代替としてAUTHa=KDF(第1のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
第1のノードは第1の認証要求メッセージを第2のノードに送信し、対応して、第2のノードは第1のノードから第1の認証要求メッセージを受信する。
ステップS905:第2のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のパスワード、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成する。
具体的には、第2のノードは第1のパスワードを使用することにより第1のノードにアクセスする。第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1のパスワードpassword1に基づいて第2のPSKを生成してもよく、すなわち、PSK=KDF(IDa,IDe,NONCEe,NONCEa,password1)である。
任意選択で、第2のPSKを生成する前に、第2のノードは第3のプロンプト情報を出力し、第3のプロンプト情報は、第2のPSKの生成が許可されるか否かを促すために使用される。さらに、第2のノードはユーザの確認応答操作に基づいて第3の確認応答指示情報を取得し、第3の確認応答指示情報は第3のPSKの生成が許可されることを示す。このように、第2のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のパスワード、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成する。
ステップS906:第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第2のノードは第1の認証応答メッセージを第1のノードに送信する。
具体的には、第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて生成されるので、第2のノードは、第2のPSK及び第1のフレッシュパラメータに基づいて、第1のアイデンティティ認証情報が正しいか否かを検証してもよい。通常では、第1のノードが第1のアイデンティティ認証情報を生成するために特定のパラメータを使用する場合、第2のノードもまた検査情報を生成するために同じパラメータを使用するべきである。検査情報が第1のアイデンティティ認証情報と同じである場合、検証が成功したと考えられる。例えば、第1のアイデンティティ認証情報AUTHaがKDF(第1のPSK,NONCEe)である場合、第2のノードは、KDFを使用することにより、第2のPSK及び第1のフレッシュパラメータに基づいて、検査値check1=KDF(第2のPSK,NONCEe)を習得する。検査値check1がAUTHaと同じである場合、検証は成功する。
第1のアイデンティティ認証情報に対する検証が成功した場合、第2のノードは第1の認証応答メッセージを第1のノードに送信する。第1の認証応答メッセージは第2のアイデンティティ認証情報を含む。第2のアイデンティティ認証情報は、第2のPSK及び第4のフレッシュパラメータに基づいて第2のノードにより生成され、第2のノードのアイデンティティを検証するために第1のノードにより使用される。任意選択で、実際の処理では、第2のアイデンティティ認証情報を生成するために第2のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第2のアイデンティティ認証情報AUTHeは、AUTHe=KDF(第2のPSK,第1の認証要求メッセージ)を満たしてもよく、第1の認証要求メッセージは第4のフレッシュパラメータNONCEaを含む。他の例では、生成された第2のアイデンティティ認証情報AUTHeは、代替としてAUTHe=KDF(第1のPSK,NONCEe,第2の認証要求メッセージ)を満たしてもよく、NONCEeは第1のフレッシュパラメータである。
第1のノードは第1の認証要求メッセージを第2のノードに送信し、対応して、第2のノードは第1のノードから第1の認証要求メッセージを受信する。
ステップS907:第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは第1の関連付け応答メッセージを第2のノードに送信する。
具体的には、第2のアイデンティティ認証情報は、第2のPSK及び第4のフレッシュパラメータに基づいて生成されるので、第1のノードは、第1のPSK及び第4のフレッシュパラメータに基づいて、第2のアイデンティティ認証情報を検証してもよい。通常では、第2のノードが第2のアイデンティティ認証情報を生成するために特定のパラメータを使用する場合、第1のノードもまた検査情報を生成するために同じパラメータを使用するべきである。検査情報が第2のアイデンティティ認証情報と同じである場合、検証が成功したと考えられる。例えば、第2のアイデンティティ認証情報AUTHeがKDF(第2のPSK,NONCEa)である場合、第1のノードは、KDFを使用することにより、第1のPSK及び第4のフレッシュパラメータに基づいて、検査値check2=KDF(第1のPSK,NONCEa)を習得する。検査値check2がAUTHeと同じである場合、検証は成功する。
第1のアイデンティティ認証情報に対する検証が成功した場合、第2のノードは第1の関連付け応答メッセージを第1のノードに送信する。関連付け応答メッセージは、第1のノードと第2のノードとの間の通信が許可されることを示す。
任意選択で、この出願のこの実施形態は、ステップS908を更に含んでもよく、或いは、ステップS908及びステップS909を更に含んでもよい。ステップS908及びステップS909は具体的には以下の通りである。
ステップS908:第1のノードは、第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶する。
具体的には、第1のノードは、PSKとノードのアイデンティティとの間の第1の対応セットを記憶し、第1のノードは、第1のPSKと第2のノードのアイデンティティとの間の対応関係を第1の対応関係セットに追加する。
ステップS909:第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶する。
具体的には、第2のノードは、PSKとノードのアイデンティティとの間の第2の対応関係セットを記憶し、第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係を第2の対応関係セットに追加する。
図9に示す実施形態では、PSKは第1のノード及び第2のノードにより共有される秘密値であるので、通常では、第1のノード内の第1のPSKは第2のノード内の第2のPSKと同じ値を有する。第1のノードは、第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報を生成し、それにより、第2のノードは第2のPSKに基づいて第1のノードのアイデンティティを検証できるようにする。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの間の関連付けが回避でき、第2のノードの通信セキュリティが改善できる。対応して、第1のノードはまた第2のノードのアイデンティティを検証してもよく、それにより、第1のノードが信頼できないノードと関連付けられるのを防止でき、第1のノードの通信セキュリティが改善できる。
図10は、この出願の実施形態による他の鍵取得方法を示す。当該方法は少なくとも以下のステップを含む。
ステップS1001:第2のノードは第1の関連付け要求メッセージを第1のノードに送信する。
具体的には、第1の関連付け要求メッセージは、第1のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータを含み、第1の鍵合意アルゴリズムパラメータは、第1の鍵合意アルゴリズム及び第4の鍵合意アルゴリズムパラメータに基づいて第2のノードにより生成され、第4の鍵合意アルゴリズムは第2のノードの秘密鍵である。例えば、DHアルゴリズムが例として使用される。第1のノード及び第2のノードは、値が比較的大きい同じ素数p及び同じ乱数gを使用することにより鍵合意を実行する。第2のノードは、乱数a(すなわち、第2のノードの秘密鍵、すなわち、第4の鍵合意アルゴリズムパラメータ)を決定する。第2のノードは、ga mod Pによって生成された値A、すなわち、A=ga mod pを第1のノードに送信し、値Aは第1の鍵合意アルゴリズムパラメータである。
任意選択で、第1のノードは、第1のノードによりサポートされる1つ以上の鍵合意アルゴリズムをブロードキャストしてもよい。1つ以上の鍵合意アルゴリズムを受信した後に、第2のノードは、第1の鍵合意アルゴリズムに基づいて決定された第1の鍵合意アルゴリズムパラメータを搬送するために、第1の関連付け要求メッセージを使用する(任意選択で、複数の鍵合意アルゴリズムがサポートされるとき、第1の鍵合意アルゴリズムの識別子情報が更に搬送されてもよい)。対応して、第1のノードは、第2のノードから第1の関連付け要求メッセージを受信してもよい。
ステップS1002:第1のノードは、第4のフレッシュパラメータ及び第3の鍵合意アルゴリズムパラメータを取得する。
具体的には、第4のフレッシュパラメータは、乱数、カウンタ値、シーケンス番号等でもよい。第4のフレッシュパラメータは、第1のノードにより生成(又は生成)されてもよい。例えば、第1のノードは乱数生成器を使用することにより乱数を生成し、乱数を第4のフレッシュパラメータとして使用する。代替として、第4のフレッシュパラメータは、第1のノードにより取得されたカウンタ値、シーケンス番号等でもよい。例えば、第1のノードはPDCP COUNTを記録し、第1のノードは記録されたPDCP COUNTを取得して、PDCP COUNTを第4のフレッシュパラメータとして使用してもよい。
第1のノードにより取得された第3の鍵合意アルゴリズムパラメータはまた、第1のノードの秘密鍵と呼ばれてもよく、通常では比較的大きい値を有する乱数でもよい。
ステップS1003:第1のノードは、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定する。
具体的には、第1のノードは、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて、鍵合意によって取得された秘密値を決定してもよく、秘密値は第1の中間鍵と考えられてもよい。例えば、DHアルゴリズムが例として使用される。第1のノードは、第1の鍵合意アルゴリズムパラメータA及び第3の鍵合意アルゴリズムパラメータbに基づいて、第1の中間鍵KdhがKdh=Ab mod pであると決定してもよい。
任意選択で、第1の中間鍵は、第1のノードと第2のノードとの間の共有鍵として使用されてもよく、メッセージを暗号化するため或いは整合性保護を実行するために使用される。
ステップS1004:第1のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成する。
具体的には、第1のノードは第1のパスワードをアクセスパスワード(password)として使用する。第1のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティID2、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の中間鍵Kdhに基づいて第1のPSKを生成し、すなわち、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kdh)である。
任意選択で、第1のノードは、最初に、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1の中間鍵Kdhに基づいて第2の中間鍵Kgtを決定してもよく、すなわち、Kgt=KDF(NONCEe,NONCEa.Kdh)である。次いで、第1のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティID2、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第2の中間鍵Kgtに基づいて、第1のPSKを生成し、すなわち、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kgt)である。
ここで解決策をより明確に説明するために、どのように第1のPSKを取得するかが複数のステップの方式で説明される点に留意すべきである。実際の処理では、上記のプロセスは代替として1つのステップで完了してもよく、第1の中間鍵Kdh又は第2の中間鍵Kgtは単なる中間結果である。言い換えると、第1のPSKを決定するための方式は、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Kdh))を満たすか、或いは、第1のPSKを決定するための方式は、第1のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Ab mod p))を満たす。
任意選択で、第1のPSKを生成する前に、第1のノードは第1のプロンプト情報を出力する。第1のプロンプト情報は、第1のPSKの生成が許可されるか否かを促すために使用される。さらに、第1のノードは、ユーザの確認応答操作に基づいて第1の確認応答指示情報を取得し、第1の確認応答指示情報は、第1のPSKの生成が許可されることを示す。
ステップS1005:第1のノードは第1の認証要求メッセージを第2のノードに送信する。
具体的には、第1の認証要求メッセージは、第4のフレッシュパラメータ、第2の鍵合意アルゴリズムパラメータ及び第1のアイデンティティ認証情報を含む。第2の鍵合意アルゴリズムパラメータは、第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズム(すなわち、第1のノードの秘密鍵)に基づいて第1のノードにより決定されたパラメータである。例えば、DHアルゴリズムが例として使用される。第1のノードは、gb mod Pによって生成された値B、すなわち、B=gb mod pを第2のノードに送信し、値Bは第2の鍵合意アルゴリズムパラメータと考えられてもよい。
第1のアイデンティティ認証情報は第1のPSK及び第4のフレッシュパラメータに基づいて第1のノードにより生成され、第1のノードのアイデンティティを検証するために第2のノードにより使用される。例えば、第1のノードは、KDFを使用することにより、第1のPSK及び第1のフレッシュパラメータNONCEeに基づいて第1のアイデンティティ認証情報AUTHaを生成し、すなわち、AUTHa=KDF(第1のPSK,NONCEe)である。任意選択で、実際の処理では、第1のアイデンティティ認証情報を生成するために第1のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第1のアイデンティティ認証情報AUTHaは、AUTHa=KDF(第1のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージは、第1のフレッシュパラメータNONCEeを含む。他の例では、生成された第1のアイデンティティ認証情報AUTHaは、代替としてAUTHa=KDF(第1のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
任意選択で、第1の認証要求メッセージはメッセージ認証コードMACを更に含んでもよく、メッセージ認証コードMACは、第1の中間鍵に基づいて生成されたメッセージ認証コードであり、第1の認証要求メッセージの整合性を保護するために使用される。
第1のノードは第1の認証要求メッセージを第2のノードに送信し、対応して、第2のノードは第1のノードから第1の認証要求メッセージを受信する。
ステップS1006:第2のノードは、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定する。
具体的には、第2のノードは、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータ(すなわち、第2のノードの秘密鍵)に基づいて、鍵合意によって取得された秘密値を決定してもよい。例えば、DHアルゴリズムが例として使用される。受信した第2の鍵合意アルゴリズムパラメータB及び第4の鍵合意アルゴリズムパラメータaに基づいて第2のノードにより決定された第1の中間鍵KdhはKdh=Ba mod pを満たす。Kdh=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、第1のノードにより決定された第1の中間鍵と、第2のノードにより決定された第1の中間鍵とは同じ値を有する。
ステップS1007:第2のノードは、第1のノードのアイデンティティ、第2のノードのアイデンティティ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成する。
具体的には、第2のノードは第1のパスワードを使用することにより第1のノードにアクセスする。第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティIDe、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第1の中間鍵Kdhに基づいて第2のPSKを生成し、すなわち、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kdh)である。
任意選択で、第2のノードは、最初に、KDFを使用することにより、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa及び第1の中間鍵Kdhに基づいて第2の中間鍵Kgtを決定してもよく、すなわち、Kgt=KDF(NONCEe,NONCEa.Kdh)である。次いで、第2のノードは、KDFを使用することにより、第1のノードのアイデンティティIDa、第2のノードのアイデンティティID2、第1のフレッシュパラメータNONCEe、第4のフレッシュパラメータNONCEa、第1のパスワードpassword1及び第2の中間鍵Kgtに基づいて、第2のPSKを生成し、すなわち、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,Kgt)である。
ここで解決策をより明確に説明するために、どのように第2のPSKを取得するかが複数のステップの方式で説明される点に留意すべきである。実際の処理では、上記のプロセスは代替として1つのステップで完了してもよく、第1の中間鍵Kdh又は第2の中間鍵Kgtは単なる中間結果である。言い換えると、第2のPSKを決定するための方式は、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Kdh))を満たすか、或いは、第2のPSKを決定するための方式は、第2のPSK=KDF(IDa,IDe,NONCEe,NONCEa,password1,KDF(NONCEe,NONCEa,Ab mod p))を満たす。
任意選択で、第2のPSKを生成する前に、第2のノードは第3のプロンプト情報を出力し、第3のプロンプト情報は、第2のPSKの生成が許可されるか否かを促すために使用される。さらに、第2のノードは、ユーザの確認応答操作に基づいて第3の確認応答指示情報を取得し、第3の確認応答指示情報は、第3のPSKの生成が許可されることを示し、それにより、第2のノードが第2のPSKを生成するようにする。
ステップS1008:第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第2のノードは第1の認証応答メッセージを第1のノードに送信する。
具体的な説明については、ステップS906を参照する。
ステップS1009:第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは第1の関連付け応答メッセージを第2のノードに送信する。
具体的な説明については、ステップS907を参照する。
任意選択で、この出願のこの実施形態は、ステップS1010を更に含んでもよく、或いは、ステップS1010及びステップS1011を更に含んでもよい。ステップS1010及びステップS1011は具体的には以下の通りである。
ステップS1010:第1のノードは、第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶する。
具体的には、第1のノードは、PSKとノードのアイデンティティとの間の第1の対応セットを記憶し、第1のノードは、第1のPSKと第2のノードのアイデンティティとの間の対応関係を第1の対応関係セットに追加する。
ステップS1011:第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶する。
具体的には、第2のノードは、PSKとノードのアイデンティティとの間の第2の対応関係セットを記憶し、第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係を第2の対応関係セットに追加する。
図10に示す実施形態では、第2のノードは、第1の鍵合意アルゴリズムパラメータを搬送するために第1の関連付け要求メッセージを使用し、第1のノードは第2の鍵合意アルゴリズムパラメータを提供する。第1のPSKは、双方の当事者により提供された鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて決定される。このように、攻撃者がその後に第2のノードのアイデンティティ情報を偽造し、第1のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は第1のノードと通信できない。これは、第1のノードの通信セキュリティを改善する。対応して、攻撃者がその後に第1のノードのアイデンティティ情報を偽造し、第2のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は第2のノードと通信できない。これは、第1のノードの通信セキュリティを改善する。
図11は、この出願の実施形態による他の鍵取得方法を示す。当該方法は、第1のPSKが第1のノードに存在せず且つ第2のPSKが第2のノードに存在する場合、例えば、第1のノード内のデータがフォーマットにより失われた場合、又はPSKとノードのアイデンティティとの間の対応関係が第1のノードから削除された場合に適用されてもよい。当該方法は少なくとも以下のステップを含む。
ステップS1101:第2のノードは第1の関連付け要求メッセージを第1のノードに送信する。
具体的には、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む。対応して、第1のノードは第2のノードから第1の関連付け要求メッセージを受信してもよい。
ステップS1102:第1のノードは第4のフレッシュパラメータを取得する。
具体的には、第4のフレッシュパラメータは、乱数、カウンタ値、シーケンス番号等でもよい。第4のフレッシュパラメータは、第1のノードにより生成(又は生成)されてもよい。例えば、第1のノードは乱数生成器を使用することにより乱数を生成し、乱数を第4のフレッシュパラメータとして使用する。代替として、第4のフレッシュパラメータは、第1のノードにより取得されたカウンタ値、シーケンス番号等でもよい。例えば、第1のノードはPDCP COUNTを記録し、第1のノードは記録されたPDCP COUNTを取得して、PDCP COUNTを第4のフレッシュパラメータとして使用してもよい。
ステップS1103:第1のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成する。
具体的には、詳細な説明については、ステップS502における場合2及び場合3の詳細な説明を参照する。
ステップS1104:第1のノードは第1の認証要求メッセージを第2のノードに送信する。
具体的には、第1の認証要求メッセージは、第4のフレッシュパラメータ及び第1のアイデンティティ認証情報を含む。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成され、第1のノードのアイデンティティを検証するために第2のノードにより使用される。任意選択で、実際の処理では、第1のアイデンティティ認証情報を生成するために第1のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第1のアイデンティティ認証情報AUTHaは、AUTHa=KDF(第1のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージは、第1のフレッシュパラメータNONCEeを含む。他の例では、生成された第1のアイデンティティ認証情報AUTHaは、代替としてAUTHa=KDF(第1のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
ステップS1105:第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを決定する。
具体的には、詳細な説明については、ステップS504における方法1の詳細な説明を参照する。
ステップS1106:第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成する。
具体的には、第2のPSKは、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて決定される。第2のPSK及び第1のフレッシュパラメータに基づく第1のアイデンティティ認証情報に対する検証が失敗した場合、考えられる理由は、新たな第1のPSKが第1のノードにおいて生成され、その結果、検証が失敗したことでもよい。したがって、第2のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成し、第4のPSK及び第1のフレッシュパラメータを使用することにより第2のノードのアイデンティティを検証する。
ステップS1107:第4のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第2のノードは、第1の認証応答メッセージを第1のノードに送信する。
具体的には、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第4のPSK及び第4のフレッシュパラメータに基づいて生成される。任意選択で、実際の処理では、第2のアイデンティティ認証情報を生成するために第2のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第2のアイデンティティ認証情報AUTHeは、AUTHe=KDF(第4のPSK,第1の認証要求メッセージ)を満たしてもよく、第1の認証要求メッセージはNONCEaを含む。他の例では、生成された第2のアイデンティティ認証情報AUTHeは、代替としてAUTHe=KDF(第4のPSK,NONCEe,第1の認証要求メッセージ)を満たしてもよく、NONCEeは第1のフレッシュパラメータである。
ステップS1108:第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは、第1の関連付け応答メッセージを第2のノードに送信する。
具体的には、第1の関連付け応答メッセージは、第1のノードと第2のノードとの間の通信が許可されることを示す。対応して、第2のノードは、第1のノードから第1の関連付け応答メッセージを受信する。
任意選択で、この出願のこの実施形態は、ステップS1109を更に含んでもよく、或いは、ステップS1109及びステップS1110を更に含んでもよい。ステップS1109及びステップS1110は具体的には以下の通りである。
ステップS1109:第1のノードは、第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶する。
ステップS1110:第2のノードは、第4のPSKと第2のノードのアイデンティティとの間の対応関係を記憶する。
図11に示す実施形態では、第2のノードが対応関係に基づいて第2のPSKを取得するとき、第1のアイデンティティ認証情報に対して第2のノードにより実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよい。したがって、第2のノードもまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第4のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
図12は、この出願の実施形態による他の鍵取得方法を示す。当該方法は、第1のPSKが第1のノードに存在せず且つ第2のPSKが第2のノードに存在する場合、例えば、第1のノード内のデータがフォーマットにより失われた場合、又はPSKとノードのアイデンティティとの間の対応関係が第1のノードから削除された場合に適用されてもよい。当該方法は少なくとも以下のステップを含む。
ステップS1201:第2のノードは第1の関連付け要求メッセージを第1のノードに送信する。
具体的には、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む。対応して、第1のノードは第2のノードから第1の関連付け要求メッセージを受信してもよい。
ステップS1202:第1のノードは第4のフレッシュパラメータを取得する。
具体的には、第4のフレッシュパラメータは、乱数、カウンタ値、シーケンス番号等でもよい。第4のフレッシュパラメータは、第1のノードにより生成(又は生成)されてもよい。例えば、第1のノードは乱数生成器を使用することにより乱数を生成し、乱数を第4のフレッシュパラメータとして使用する。代替として、第4のフレッシュパラメータは、第1のノードにより取得されたカウンタ値、シーケンス番号等でもよい。例えば、第1のノードはPDCP COUNTを記録し、第1のノードは記録されたPDCP COUNTを取得して、PDCP COUNTを第4のフレッシュパラメータとして使用してもよい。ステップS1203:第1のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成する。
具体的には、詳細な説明については、ステップS502における場合2及び場合3の詳細な説明を参照する。
ステップS1204:第1のノードは第1の認証要求メッセージを第2のノードに送信する。
具体的には、第1の認証要求メッセージは、第4のフレッシュパラメータ及び第1のアイデンティティ認証情報を含む。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成され、第1のノードのアイデンティティを検証するために第2のノードにより使用される。任意選択で、実際の処理では、第1のアイデンティティ認証情報を生成するために第1のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第1のアイデンティティ認証情報AUTHaは、AUTHa=KDF(第1のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージは、第1のフレッシュパラメータNONCEeを含む。他の例では、生成された第1のアイデンティティ認証情報AUTHaは、代替としてAUTHa=KDF(第1のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
ステップS1205:第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを決定する。
具体的には、詳細な説明については、ステップS504における方法1の詳細な説明を参照する。
ステップS1206:第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードは、第2のPSKを削除する。
具体的には、第2のノードは第2のPSKを削除してもよく、或いは、第2のPSKと第1のノードのアイデンティティとの間の対応関係を削除してもよい。
ステップS1207:第2のノードは、第2の関連付け要求メッセージを第1のノードに送信する。
具体的には、第2の関連付け要求メッセージは第5のフレッシュパラメータを含む。第2の関連付け要求メッセージは、第2のノードが関連付け要求手順を再開することを示す。
図12に示す実施形態では、第2のノードが対応関係に基づいて第2のPSKを取得するとき、第1のアイデンティティ認証情報に対して第2のノードにより実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよい。したがって、第2のノードは第2のPSKを削除し、それにより、第1のノードにアクセスすることを再要求して新たなPSKに同意するためにアクセス手順を再開する。
図13A及び図13Bは、この出願の実施形態による他の鍵取得方法を示す。当該方法は、第1のPSKが第1のノードに存在し且つ第2のPSKが第2のノードに存在しない場合、例えば、第2のノード内のデータがフォーマットにより失われた場合、又はPSKとノードのアイデンティティとの間の対応関係が第2のノードから削除された場合に適用されてもよい。当該方法は少なくとも以下のステップを含む。
ステップS1301:第2のノードは第1の関連付け要求メッセージを第1のノードに送信する。
具体的には、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む。対応して、第1のノードは第2のノードから第1の関連付け要求メッセージを受信してもよい。
ステップS1302:第1のノードは第4のフレッシュパラメータを取得する。
具体的には、第4のフレッシュパラメータは、乱数、カウンタ値、シーケンス番号等でもよい。第4のフレッシュパラメータは、第1のノードにより生成(又は生成)されてもよい。例えば、第1のノードは乱数生成器を使用することにより乱数を生成し、乱数を第4のフレッシュパラメータとして使用する。代替として、第4のフレッシュパラメータは、第1のノードにより取得されたカウンタ値、シーケンス番号等でもよい。例えば、第1のノードはPDCP COUNTを記録し、第1のノードは記録されたPDCP COUNTを取得して、PDCP COUNTを第4のフレッシュパラメータとして使用してもよい。ステップS1303:第1のノードは、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを決定する。
具体的には、詳細な説明については、ステップS502における場合1の詳細な説明を参照する。
ステップS1304:第1のノードは第1の認証要求メッセージを第2のノードに送信する。
具体的には、第1の認証要求メッセージは、第4のフレッシュパラメータ及び第1のアイデンティティ認証情報を含む。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成され、第1のノードのアイデンティティを検証するために第2のノードにより使用される。任意選択で、実際の処理では、第1のアイデンティティ認証情報を生成するために第1のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第1のアイデンティティ認証情報AUTHaは、AUTHa=KDF(第1のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージは、第1のフレッシュパラメータNONCEeを含む。他の例では、生成された第1のアイデンティティ認証情報AUTHaは、代替としてAUTHa=KDF(第1のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
ステップS1305:第2のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成する。
具体的には、詳細な説明については、ステップS504における方法2又は方法3の詳細な説明を参照する。
ステップS1306:第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のノードは、第1の認証応答メッセージを第1のノードに送信する。
具体的には、第2のPSKは第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて生成される。第2のPSK及び第1のフレッシュパラメータに基づく第1のアイデンティティ認証情報に対する検証が失敗した場合、これは、第1のノードのPSKが第2のノードのPSKと異なることを示す。したがって、第2のノードは第1の認証応答メッセージを第1のノードに送信してもよい。第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成される。第1のノードが第2のアイデンティティ認証情報を受信した後に、検証が失敗した場合、第1のPSKが再決定されてもよい。
任意選択で、第2のノードは、更新指示情報を第1の認証応答メッセージに追加して、PSKを更新するように第1のノードに通知し、第1のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止してもよく、それにより、第1のノードによりアイデンティティ認証情報を検証する際の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにする。さらに、任意選択で、更新指示情報は、第1の認証応答メッセージ内の文字又は文字列でもよい。例えば、第1の認証応答メッセージは「更新」フィールドを含む。「1」は、PSKを更新するように第1のノードに指示するためにフィールドで使用され、「0」は、「無意味」を示すためにフィールドで使用される。
ステップS1307:第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のノードは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成する。
任意選択で、第3のPSKを生成する前に、第1のノードは第2の確認応答指示情報を取得し、第2の確認応答指示情報は、第3のPSKの生成が許可されることを示す。具体的には、第2の確認応答指示情報は、ユーザにより入力された確認応答操作に基づいて取得された指示情報であり、確認応答操作は出力プロンプト情報についての確認応答でもよい。例えば、第1のノードは、第3のPSKが第2のノードについて生成される必要があることをユーザに通知するために、第2のプロンプト情報を出力してもよい。ユーザの確認応答操作を受信して第2の確認応答指示情報を取得した後に、第1のノードは、場合2又は場合3に記載の方法を使用することにより、第3のPSKを生成する。このように、ユーザは第2のノードのアイデンティティを検証し、それにより、第1のノードが信頼できないノードと関連付けられるのを防止できるようにする。これは、第1のノードの通信セキュリティを確保する。
ステップS1308:第1のノードは第2の認証要求メッセージを第2のノードに送信する。
具体的には、第3のPSKを生成した後に、第1のノードは第2の認証要求メッセージを第2のノードに送信する。第2の認証要求メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第3のPSK及び第1のフレッシュパラメータに基づいて生成される。任意選択で、実際の処理では、第3のアイデンティティ認証情報を生成するために第2のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第3のアイデンティティ認証情報AUTHtは、AUTHt=KDF(第3のPSK,第1の関連付け要求メッセージ)を満たしてもよく、第1の関連付け要求メッセージはNONCEaを含む。他の例では、生成された第3のアイデンティティ認証情報AUTHtは、代替としてAUTHt=KDF(第3のPSK,NONCEa,第1の関連付け要求メッセージ)を満たしてもよく、NONCEaは第4のフレッシュパラメータである。
ステップS1309:第2のPSK及び第1のフレッシュパラメータに基づいて第3のアイデンティティ認証情報に対して実行された検証が成功した場合、第2の認証応答メッセージを第1のノードに送信する。
具体的には、第2の認証応答メッセージは第4のアイデンティティ認証情報を含み、第4のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成される。任意選択で、実際の処理では、第2のアイデンティティ認証情報を生成するために第2のノードにより使用されるパラメータは、他の情報を更に含んでもよい。例えば、生成された第4のアイデンティティ認証情報AUTHfは、AUTHf=KDF(第2のPSK,第2の認証要求メッセージ)を満たしてもよく、第1の認証要求メッセージはNONCEaを含む。他の例では、生成された第2のアイデンティティ認証情報AUTHfは、代替としてAUTHf=KDF(第1のPSK,NONCEe,第2の認証要求メッセージ)を満たしてもよく、NONCEeは第1のフレッシュパラメータである。
ステップS1310:第3のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1のノードは、第1の認証応答メッセージを第2のノードに送信する。
具体的には、第1の認証応答メッセージは、第1のノードと第2のノードとの間の通信が許可されることを示す。対応して、第2のノードは第1のノードから第1の認証応答メッセージを受信する。
任意選択で、この出願のこの実施形態は、ステップS1311を更に含んでもよく、或いは、ステップS1311及びステップS1312を更に含んでもよい。ステップS1311及びステップS1312は具体的には以下の通りである。
ステップS1311:第1のノードは、第3のPSKと第2のノードのアイデンティティとの間の対応関係を記憶する。
ステップS1312:第2のノードは、第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶する。
図13A及び図13Bに示す実施形態では、第1のノードが対応関係に基づいて第1のPSKを取得するとき、第2のアイデンティティ認証情報に対して第1のノードにより実行された検証が失敗した場合、考えられる理由は、第2のノードが第2のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよい。したがって、第1のノードもまた認証手順を再開するために新たに生成されたPSKを使用し、新たなPSKに同意し、システム安定性を改善する。
上記に、この出願の実施形態における方法について詳細に説明した。以下に、この出願の実施形態における装置を提供する。
図14は、この出願の実施形態による装置140の概略構造図である。装置140は、ノードでもよく、或いは、データ送信及び受信能力を有する電子デバイス内のチップ又は集積回路のようなコンポーネントでもよい。装置140は、受信ユニット1401及び処理ユニット1402を含んでもよい。ユニットの説明は以下の通りである。
受信ユニット1401は、第2のノードから第1の関連付け要求メッセージを受信するように構成され、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む。
処理ユニット1402は、第1の事前共有鍵PSKを取得するように構成され、第1のPSKは第2のノードのアイデンティティに対応し、第1のPSKは第2のノードからの第2のフレッシュパラメータ及び当該装置140からの第3のフレッシュパラメータに基づいて生成されたPSKであり、第1のPSKは第2のノードのアイデンティティを検証するために使用される。
PSKは当該装置140及び第2のノードにより共有される秘密値であることが分かる。当該装置140は、第2のノードからの第2のフレッシュパラメータ及び当該装置140からの第3のフレッシュパラメータを使用することにより第1のPSKを生成し、第2のノードのアイデンティティに対応させ、第2のノードのアイデンティティを検証するために第1のPSKを使用する(例えば、第2のノードはPSKに基づいてアイデンティティ認証情報を生成し、第1のノードは第1のPSKを使用することにより第2のノードのアイデンティティ認証情報を検証してもよく、他の例では、第2のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第1のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置に関連付けるために第2のノードのアイデンティティを偽造したいと思う場合、第1のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置140が最初に第2のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置140により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置140が信頼できないノードに接続されるのを防止し、当該装置140の通信セキュリティを改善する。
ここで上記の複数のユニットへの分割は単に機能に基づく論理的な分割であり、当該装置140の特定の構造に対する限定として使用されない点に留意すべきである。特定の実現方式では、いくつかの機能モジュールがより小さい機能モジュールに細分されてもよく、或いは、いくつかの機能モジュールが1つの機能モジュールに組み合わされてもよい。しかし、これらの機能モジュールが細分されるか組み合わされるかにかかわらず、鍵取得プロセスにおいて当該装置140により実行される手順は概ね同じである。例えば、複数のユニットは代替として通信ユニット及び処理ユニットに変換されてもよく、通信ユニットは受信ユニット1401の機能を実現するように構成される。通常では、各ユニットは当該ユニットのプログラムコード(すなわち、プログラム命令)に対応する。ユニットに対応するプログラムコードがプロセッサ上で実行されたとき、ユニットは対応する手順を実行して対応する機能を実現することが可能になる。
可能な実現方式では、当該装置140は、
第1の認証要求メッセージを第2のノードに送信するように構成された送信ユニット1403であり、第1の認証要求メッセージは第1のアイデンティティ認証情報及び第4のフレッシュパラメータを含み、第1のアイデンティティ認証情報は第1のPSK及び第1のフレッシュパラメータに基づいて生成される、送信ユニット1403を更に含む。
PSKは当該装置140及び第2のノードにより共有される秘密値であるので、通常では、当該装置140内の第1のPSKは第2のノード内の第2のPSKと同じ値を有することが分かる。当該装置140は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報を生成し、それにより、第2のノードは第2のPSKに基づいて当該装置140のアイデンティティを検証できるようにする。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、当該装置のアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの関連付けが回避でき、第2のノードの通信セキュリティが改善できる。
他の可能な実現方式では、受信ユニット1401は、第2のノードから第1の認証応答メッセージを受信するように更に構成され、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、
送信ユニット1403は、第1のPSK及び第4のフレッシュパラメータ(NONCEa)に基づいて当該装置140により第2のアイデンティティ認証情報に対して実行された検証が成功した場合、第1の関連付け応答メッセージを第2のノードに送信するように更に構成される。
当該装置140が第2のノードと通信する前に、当該装置140及び第2のノードは、最初にアイデンティティ認証情報を使用することにより双方の当事者のアイデンティティを決定することが分かる。通信は、アイデンティティ認証が成功した後にのみ許可される。これは、信頼できないノードのアクセスを回避し、ノードの通信セキュリティを改善する。
他の可能な実現方式では、処理ユニット1402は、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
第1のPSKと第2のノードのアイデンティティとの間の対応関係は、当該装置140に存在することが分かる。これは、第2のノードが以前に当該装置140に関連付けられていること、又は第2のノードのアイデンティティに対応する第1のPSKが当該装置140に事前構成されていることを示してもよい。したがって、当該装置140は、対応関係に基づいて第1のPSKを取得してもよい。
他の可能な実現方式では、処理ユニット1402は、第1の対応関係セットを使用することにより、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
当該装置140は、対応関係セットの形式で第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
他の可能な実現方式では、処理ユニット1402は、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第1のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び当該装置140からの第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置140が最初に第2のノードに関連付けられるとき、又は当該装置140が対応関係を削除したとき、第2のノードのアイデンティティに対応するPSKは当該装置140に存在しない。したがって、当該装置140は、第2のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第1のPSKを生成してもよい。
他の可能な実現方式では、処理ユニット1402は、第1の確認応答指示情報を取得するように更に構成され、第1の確認応答指示情報は第2のノードと当該装置140との間の関連付けが許可されることを示す。
新たな第1のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置140に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置140に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第1のPSKは、第1の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置140と信頼できないノードとの関連付けが回避され、当該装置140の通信セキュリティが確保される。
他の可能な実現方式では、処理ユニット1402は、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードは当該装置にアクセスするためのパスワードである。
第1のパスワードが当該装置140にアクセスするためのパスワードであるとき、第2のノードは、入力された第1のパスワードを使用することにより当該装置140に接続されることが分かる。したがって、第1のパスワードは第1のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第1のPSKをクラックできないようにする。このように、当該装置140は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、処理ユニット1402は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成するように具体的に構成される。
第2のノードは第1の鍵合意アルゴリズムパラメータを搬送するために第1の関連付け要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置140は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを決定してもよい。このように、攻撃者がその後に第2のノードのアイデンティティ情報を偽造し、第1のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者は第1のPSKをクラックできない。したがって、攻撃者は当該装置140と通信できない。これは、当該装置140の通信セキュリティを改善する。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、処理ユニット1402は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて生成される。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、処理ユニット1402は、
第3の鍵合意アルゴリズムパラメータを決定し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
第2のノードから第1の鍵合意アルゴリズムパラメータを受信した後に、当該装置140は第3の鍵合意アルゴリズムパラメータ(すなわち、当該装置140の秘密鍵)を決定することが分かる。当該装置140は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、次いで、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成する。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、処理ユニット1402は、
第3の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
他の可能な実現方式では、処理ユニット1402は、第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶するように更に構成される。
第1のPSKを生成した後に、当該装置140が第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶することが分かる。その後、第2のノードから関連付け要求を再び受信したとき、当該装置は第1のPSKを再生成せずに、対応関係に基づいて第1のPSKを取得してもよい。
他の可能な実現方式では、処理ユニット1402は、第1のパスワードが更新された場合、第2のノードのアイデンティティと第1のPSKとの間の対応関係を削除するように更に構成される。
他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成した後に、当該装置140は、第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、PSKを更新するように第2のノードに通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
他の可能な実現方式では、処理ユニット1402は、第1のPSK及び第4のフレッシュパラメータに基づいて当該装置140により第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成するように更に構成され、
送信ユニット1403は、第2の認証要求メッセージを第2のノードに送信するように更に構成され、第2の認証要求メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第3のPSK及び第1のフレッシュパラメータに基づいて生成される。
当該装置140が対応関係に基づいて第1のPSKを取得するとき、当該装置140により第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第2のノードが第2のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置140はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第3のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
他の可能な実現方式では、処理ユニット1402は、第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2の確認応答指示情報を取得するように更に構成され、第2の確認応答指示情報は第3のPSKの生成が許可されることを示し、
処理ユニット1402は、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成するように更に構成される。
他の可能な実現方式では、受信ユニット1401は、第2のノードから第2の認証応答メッセージを受信するように更に構成され、第2の認証応答メッセージは第4のアイデンティティ認証情報を含み、
送信ユニット1403は、第3のPSK及び第4のフレッシュパラメータに基づいて第4のアイデンティティ認証情報に対して実行された検証が成功した場合、第2の関連付け応答メッセージを第2のノードに送信するように更に構成される。
新たなPSKに基づいて認証を再開した後に、当該装置140が第2のノードにより送信された第4のアイデンティティ認証情報を受信することが分かる。第4のアイデンティティ認証情報に対して実行された検証が成功した場合、これは、第2のノードのアイデンティティが信頼できることを示す。したがって、第2のノードとの通信が許可できる。
各ユニットの実現方式については、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における対応する説明を参照する点に留意すべきである。装置140は、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第1のノードでもよい。
図15は、この出願の実施形態による装置150の概略構造図である。装置150は、データ送信及び受信能力を有する電子デバイスでもよく、或いは、データ送信及び受信能力を有する電子デバイス内のチップ又は集積回路のようなコンポーネントでもよい。装置150は、送信ユニット1501、受信ユニット1502及び処理ユニット1503を含んでもよい。ユニットの説明は以下の通りである。
送信ユニット1501は、第1の関連付け要求メッセージを第1のノードに送信するように構成され、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む。
受信ユニット1502は、第1のノードから第1の認証要求メッセージを受信するように構成され、第1の認証要求メッセージは第4のフレッシュパラメータを含む。
処理ユニット1503は、第2のPSKを取得するように構成され、第2のPSKは第1のノードのアイデンティティに対応し、第2のPSKは当該装置150からの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成されたPSKであり、第2のPSKは第1のノードのアイデンティティを検証するために使用される。
PSKは当該装置150及び第1のノードにより共有される秘密値であることが分かる。当該装置150は、当該装置150からの第3のフレッシュパラメータ及び第2のフレッシュパラメータを使用することにより第2のPSKを生成し、第1のノードのアイデンティティに対応させ、第1のノードのアイデンティティを検証するために第2のPSKを使用する(例えば、第1のノードはPSKに基づいてアイデンティティ認証情報を生成し、第2のノードは第2のPSKを使用することにより第1のノードのアイデンティティ認証情報を検証してもよく、他の例では、第1のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第2のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置150に関連付けるために第1のノードのアイデンティティを偽造したいと思う場合、第2のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置150が最初に第1のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置150により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置150が信頼できないノードと関連付けられるのを防止し、当該装置150の通信セキュリティを改善する。
ここで上記の複数のユニットへの分割は単に機能に基づく論理的な分割であり、当該装置150の特定の構造に対する限定として使用されない点に留意すべきである。特定の実現方式では、いくつかの機能モジュールがより小さい機能モジュールに細分されてもよく、或いは、いくつかの機能モジュールが1つの機能モジュールに組み合わされてもよい。しかし、これらの機能モジュールが細分されるか組み合わされるかにかかわらず、鍵取得プロセスにおいて当該装置150により実行される手順は概ね同じである。例えば、複数のユニットは代替として通信ユニット及び処理ユニットに変換されてもよく、通信ユニットは送信ユニット1501及び受信ユニット1502の機能を実現するように構成される。通常では、各ユニットは当該ユニットのプログラムコード(すなわち、プログラム命令)に対応する。ユニットに対応するプログラムコードがプロセッサ上で実行されたとき、ユニットは対応する手順を実行して対応する機能を実現することが可能になる。
可能な実現方式では、送信ユニット1501は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、第1の認証応答メッセージを第1のノードに送信するように更に構成され、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成され、
受信ユニット1502は、第1のノードから第1の関連付け応答メッセージを受信するように更に構成される。
PSKは当該装置150及び第1のノードにより共有される秘密値であるので、通常では、当該装置150内の第2のPSKは第1のノード内の第1のPSKと同じ値を有することが分かる。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成される。したがって、当該装置150は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のノードのアイデンティティ認証情報を検証してもよい。当該装置150に記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、当該装置150と信頼できないノードとの間の関連付けが回避でき、当該装置150の通信セキュリティが改善できる。対応して、当該装置150は、第2のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報を生成し、第2のアイデンティティ認証情報は、当該装置150のアイデンティティを検証するために第1のノードにより使用される。ピアノードとの通信は、双方の当事者のアイデンティティ認証が成功した後にのみ許可される。これはノードの通信セキュリティを改善する。
他の可能な実現方式では、処理ユニット1503は、第1のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
第2のPSKと第1のノードのアイデンティティとの間の対応関係は、当該装置150に存在することが分かる。これは、当該装置150が以前に第1のノードに関連付けられていること、又は第1のノードのアイデンティティに対応する第2のPSKが第2のノードに事前構成されていることを示してもよい。したがって、当該装置150は、対応関係に基づいて第2のPSKを取得してもよい。
他の可能な実現方式では、処理ユニット1503は、第2の対応関係セットを使用することにより、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
当該装置150は、対応関係セットの形式で第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
他の可能な実現方式では、処理ユニットは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第2のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び第1の認証要求メッセージ内の第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置150が最初に第1のノードに関連付けられるとき、又は当該装置150が対応関係を削除したとき、第1のノードのアイデンティティに対応する第2のPSKは当該装置150に存在しない。したがって、当該装置150は、第1のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第2のPSKを生成してもよい。
他の可能な実現方式では、処理ユニット1503は、第3の確認応答指示情報を取得するように更に構成され、第3の確認応答指示情報は第2のPSKの生成が許可されることを示す。
新たな第2のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置150に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置150に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第2のPSKは、第3の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置150と信頼できないノードとの関連付けが回避され、当該装置150の通信セキュリティが確保される。
他の可能な実現方式では、処理ユニット1503は、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードは第1のノードにアクセスするためのパスワードである。
第1のパスワードが第1のノードにアクセスするためのパスワードであるとき、当該装置150は、入力された第1のパスワードを使用することにより第1のノードに接続されることが分かる。したがって、第1のパスワードは第2のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第2のPSKをクラックできないようにする。このように、当該装置150は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
他の可能な実現方式では、処理ユニット1503は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成するように具体的に構成される。
第1のノードは第2の鍵合意アルゴリズムパラメータを搬送するために第1の認証要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置150は、第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを決定してもよい。このように、攻撃者がその後に第1のノードのアイデンティティ情報を偽造し、第2のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は当該装置150と通信できない。これは、当該装置の通信セキュリティを改善する。
他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、処理ユニット1503は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて生成される。他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第4の鍵合意アルゴリズムパラメータに基づいて決定され、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムパラメータに基づいて第1のノードにより決定され、処理ユニット1503は、
第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
第1の関連付け要求メッセージ内の第1の鍵合意アルゴリズムパラメータは、当該装置150の秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて生成されることが分かる。当該装置150が第1のノードから第2の鍵合意アルゴリズムパラメータを受信した後に、第2のノードは第2の鍵合意アルゴリズムパラメータ及び当該装置150の秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて第1の中間鍵を決定する。第1の中間鍵は、第1のノードと当該装置との間の鍵合意によって取得される秘密値である。次いで、当該装置150は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成する。
他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、処理ユニット1503は、
第4の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
他の可能な実現方式では、処理ユニット1503は、第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶するように更に構成される。
第2のPSKを生成した後に、当該装置150が第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶することが分かる。その後、第1のノードに再び関連付けられるとき、当該装置はPSKを再生成せずに、対応関係に基づいて第2のPSKを取得してもよい。
他の可能な実現方式では、処理ユニット1503は、第1のパスワードが更新された場合、第1のノードのアイデンティティと第2のPSKとの間の対応関係を削除するように更に構成される。
他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第2のPSKが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて生成された後に、第1のノードは、更新指示情報を使用することにより当該装置150がアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、第2のPSKを更新するように当該装置150に通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
他の可能な実現方式では、処理ユニットは、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成するように更に構成され、
送信ユニット1501は、第3の認証応答メッセージを第1のノードに送信するように更に構成され、第3の認証応答メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第4のPSK及び第4のフレッシュパラメータに基づいて生成される。
当該装置150が対応関係に基づいて第2のPSKを取得するとき、当該装置150により第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置150はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第4のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
他の可能な実現方式では、受信ユニット1502は、第1のノードから第3の関連付け応答メッセージを受信するように更に構成される。
他の可能な実現方式では、処理ユニットは、第2のPSKに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第4の確認応答指示情報を取得するように更に構成され、第4の確認応答指示情報は第4のPSKの生成が許可されることを示し、
処理ユニットは、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成するように更に構成される。
他の可能な実現方式では、処理ユニット1503は、第2のPSK及び第1のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のPSKを削除するように更に構成され、
送信ユニット1501は、第2の関連付け要求メッセージを第1のノードに送信するように更に構成され、第2の関連付け要求メッセージは第5のフレッシュパラメータを含む。
各ユニットの実現方式については、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における対応する説明を参照する点に留意すべきである。装置150は、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第2のノードである。
図16は、この出願の実施形態による装置160の概略構造図である。装置160は、データ送信及び受信能力を有する電子デバイスでもよく、或いは、データ送信及び受信能力を有する電子デバイス内のチップ又は集積回路のようなコンポーネントでもよい。装置160は、少なくとも1つのメモリ1601、少なくとも1つのプロセッサ1602及び通信インタフェース1603を含んでもよい。さらに、任意選択でバス1604が含まれてもよい。メモリ1601、プロセッサ1602及び通信インタフェース1603は、バス1604を使用することにより接続される。
メモリ1601は記憶空間を提供するように構成され、記憶空間はオペレーティングシステム及びコンピュータプログラムのようなデータを記憶してもよい。メモリ1601は、ランダムアクセスメモリ(random access memory, RAM),)、読み取り専用メモリ(read-only memory, ROM)、消去可能プログラム可能読み取り専用メモリ(erasable programmable read-only memory, EPROM)又はコンパクトディスク読み取り専用メモリ(compact disc read-only memory, CD-ROM)を含むが、これらに限定されない。
プロセッサ1602は、算術演算及び/又は論理演算を実行するモジュールであり、具体的には、中央処理装置(central processing unit, CPU)、グラフィックス処理装置(graphics processing unit, GPU)、マイクロプロセッサユニット(microprocessor unit, MPU)、特定用途向け集積回路(Application-Specific Integrated Circuit, ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array, FPGA)及び複合プログラマブルロジックデバイス(Complex programmable logic device, CPLD)のような処理モジュールの1つ又は組み合わせでもよい。
通信インタフェース1603は、外部から送信されたデータを受信するように、及び/又は、データを外部に送信するように構成され、イーサネットケーブルのような有線リンクのインタフェースでもよく、或いは、無線リンク(Wi-Fi、ブルートゥース等)インタフェースでもよい。任意選択で、通信インタフェース1603は、インタフェースに結合された送信機(例えば、無線周波数送信機又はアンテナ)、受信機等を更に含んでもよい。
装置160内のプロセッサ1602は、メモリ1601に記憶されたコンピュータプログラムを読み取り、上記の鍵取得方法、例えば、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態に記載の鍵取得方法を実行するように構成される。
例えば、装置160内のプロセッサ1602は、メモリ1601に記憶されたコンピュータプログラムを読み取り、以下の動作、すなわち、
通信インタフェース1603によって、第2のノードから第1の関連付け要求メッセージを受信する動作であり、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む、動作と、
第1の事前共有鍵PSKを取得する動作であり、第1のPSKは第2のノードのアイデンティティに対応し、第1のPSKは第2のノードからの第2のフレッシュパラメータ及び当該装置160からの第3のフレッシュパラメータに基づいて生成されたPSKであり、第1のPSKは第2のノードのアイデンティティを検証するために使用される、動作と
を実行するように構成される。
PSKは当該装置160及び第2のノードにより共有される秘密値であることが分かる。当該装置160は、第2のノードからの第2のフレッシュパラメータ及び当該装置160からの第3のフレッシュパラメータを使用することにより第1のPSKを生成し、第2のノードのアイデンティティに対応させ、第2のノードのアイデンティティを検証するために第1のPSKを使用する(例えば、第2のノードはPSKに基づいてアイデンティティ認証情報を生成し、第1のノードは第1のPSKを使用することにより第2のノードのアイデンティティ認証情報を検証してもよく、他の例では、第2のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第1のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置160に関連付けるために第2のノードのアイデンティティを偽造したいと思う場合、第1のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置160が最初に第2のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置160により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置160が信頼できないノードに接続されるのを防止し、当該装置160の通信セキュリティを改善する。
可能な実現方式では、プロセッサ1602は、
第1の認証要求メッセージを第2のノードに送信するように更に構成され、第1の認証要求メッセージは第1のアイデンティティ認証情報及び第4のフレッシュパラメータを含み、第1のアイデンティティ認証情報は第1のPSK及び第1のフレッシュパラメータに基づいて生成される。
PSKは当該装置160及び第2のノードにより共有される秘密値であるので、通常では、当該装置160内の第1のPSKは第2のノード内の第2のPSKと同じ値を有することが分かる。当該装置160は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報を生成し、それにより、第2のノードは第2のPSKに基づいて当該装置160のアイデンティティを検証できるようにする。第2のノードに記憶された第2のPSKに基づく検証が成功できない場合、これは、当該装置のアイデンティティが信頼できないことを示す。したがって、第2のノードと信頼できないノードとの関連付けが回避でき、第2のノードの通信セキュリティが改善できる。
他の可能な実現方式では、プロセッサ1602は、通信インタフェース1603によって、第2のノードから第1の認証応答メッセージを受信し、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、
第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が成功した場合、通信インタフェース1603によって、第1の関連付け応答メッセージを第2のノードに送信する、ように更に構成される。
当該装置160が第2のノードと通信する前に、当該装置160及び第2のノードは、最初にアイデンティティ認証情報を使用することにより双方の当事者のアイデンティティを決定することが分かる。通信は、アイデンティティ認証が成功した後にのみ許可される。これは、信頼できないノードのアクセスを回避し、ノードの通信セキュリティを改善する。
他の可能な実現方式では、プロセッサ1602は、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
第1のPSKと第2のノードのアイデンティティとの間の対応関係は、当該装置160に存在することが分かる。これは、第2のノードが以前に当該装置160に関連付けられていること、又は第2のノードのアイデンティティに対応する第1のPSKが当該装置160に事前構成されていることを示してもよい。したがって、当該装置160は、対応関係に基づいて第1のPSKを取得してもよい。
他の可能な実現方式では、第1の対応関係セットはメモリ1601に存在し、プロセッサ1602は、第1の対応関係セットを使用することにより、第1のPSKと第2のノードのアイデンティティとの間の対応関係に基づいて第1のPSKを取得するように具体的に構成される。
当該装置160は、対応関係セットの形式で第1のPSKと第2のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
他の可能な実現方式では、プロセッサ1602は、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第1のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び当該装置160からの第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置160が最初に第2のノードに関連付けられるとき、又は当該装置160が対応関係を削除したとき、第2のノードのアイデンティティに対応するPSKは当該装置160に存在しない。したがって、当該装置160は、第2のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第1のPSKを生成してもよい。
他の可能な実現方式では、当該装置は入力モジュール1605を更に含み、プロセッサ1602は、入力モジュール1605によって、第1の確認応答指示情報を取得するように更に構成され、第1の確認応答指示情報は第2のノードと当該装置160との間の関連付けが許可されることを示す。
新たな第1のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置160に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第1のPSKは、第1の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置160と信頼できないノードとの関連付けが回避され、当該装置160の通信セキュリティが確保される。
他の可能な実現方式では、プロセッサ1602は、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードは当該装置160にアクセスするためのパスワードである。
第1のパスワードが当該装置160にアクセスするためのパスワードであるとき、第2のノードは、入力された第1のパスワードを使用することにより当該装置160に接続されることが分かる。したがって、第1のパスワードは第1のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第1のPSKをクラックできないようにする。このように、当該装置160は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、プロセッサ1602は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の鍵合意アルゴリズムパラメータに基づいて第1のPSKを生成するように具体的に構成される。
第2のノードは第1の鍵合意アルゴリズムパラメータを搬送するために第1の関連付け要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置160は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第1のPSKを決定してもよい。このように、攻撃者がその後に第2のノードのアイデンティティ情報を偽造し、第1のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者は第1のPSKをクラックできない。したがって、攻撃者は当該装置160と通信できない。これは、当該装置160の通信セキュリティを改善する。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、プロセッサ1602は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第1のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の鍵合意アルゴリズムパラメータに基づいて生成される。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、プロセッサ1602は、
第3の鍵合意アルゴリズムパラメータを決定し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
第2のノードから第1の鍵合意アルゴリズムパラメータを受信した後に、当該装置160は第3の鍵合意アルゴリズムパラメータ(すなわち、当該装置160の秘密鍵)を決定することが分かる。当該装置160は、第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、次いで、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第1のPSKを生成する。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、プロセッサ1602は、
第3の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第1の鍵合意アルゴリズムパラメータ及び第3の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第1のPSKを生成するように具体的に構成される。
他の可能な実現方式では、プロセッサ1602は、第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶するように更に構成される。
第1のPSKを生成した後に、当該装置160が第2のノードのアイデンティティと第1のPSKとの間の対応関係を記憶することが分かる。その後、第2のノードから関連付け要求を再び受信したとき、当該装置は第1のPSKを再生成せずに、対応関係に基づいて第1のPSKを取得してもよい。
他の可能な実現方式では、プロセッサ1602は、第1のパスワードが更新された場合、第2のノードのアイデンティティと第1のPSKとの間の対応関係を削除するように更に構成される。
他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第1のPSKを生成した後に、当該装置160は、第2のノードがアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、PSKを更新するように第2のノードに通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
他の可能な実現方式では、プロセッサ1602は、第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成し、
通信インタフェースに1603よって、第2の認証要求メッセージを第2のノードに送信するように更に構成され、第2の認証要求メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第3のPSK及び第1のフレッシュパラメータに基づいて生成される。
当該装置160が対応関係に基づいて第1のPSKを取得するとき、当該装置160により第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第2のノードが第2のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置160はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第3のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
他の可能な実現方式では、プロセッサ1602は、第1のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、通信インタフェース1603によって、第2の確認応答指示情報を取得し、第2の確認応答指示情報は第3のPSKの生成が許可されることを示し、
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第3のPSKを生成する、ように具体的に構成される。
他の可能な実現方式では、プロセッサ1602は、通信インタフェース1603によって、第2のノードから第2の認証応答メッセージを受信し、第2の認証応答メッセージは第4のアイデンティティ認証情報を含み、
通信インタフェース1603によって、第3のPSK及び第4のフレッシュパラメータに基づいて第4のアイデンティティ認証情報に対して実行された検証が成功した場合、第2の関連付け応答メッセージを第2のノードに送信する、ように更に構成される。
新たなPSKに基づいて認証を再開した後に、当該装置160が第2のノードにより送信された第4のアイデンティティ認証情報を受信することが分かる。第4のアイデンティティ認証情報に対して実行された検証が成功した場合、これは、第2のノードのアイデンティティが信頼できることを示す。したがって、第2のノードとの通信が許可できる。
各モジュールの実現方式については、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における対応する説明を参照する点に留意すべきである。装置160は、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第1のノードである。
図17は、この出願の実施形態による装置170の概略構造図である。装置170は、データ送信及び受信能力を有する電子デバイスでもよく、或いは、データ送信及び受信能力を有する電子デバイス内のチップ又は集積回路のようなコンポーネントでもよい。装置170は、少なくとも1つのメモリ1701、少なくとも1つのプロセッサ1702及び通信インタフェース1703を含んでもよい。さらに、任意選択でバス1704が含まれてもよい。メモリ1701、プロセッサ1702及び通信インタフェース1703は、バス1704を使用することにより接続される。
メモリ1701は記憶空間を提供するように構成され、記憶空間はオペレーティングシステム及びコンピュータプログラムのようなデータを記憶してもよい。メモリ1701は、ランダムアクセスメモリ(random access memory, RAM),)、読み取り専用メモリ(read-only memory, ROM)、消去可能プログラム可能読み取り専用メモリ(erasable programmable read-only memory, EPROM)又はコンパクトディスク読み取り専用メモリ(compact disc read-only memory, CD-ROM)を含むが、これらに限定されない。
プロセッサ1702は、算術演算及び/又は論理演算を実行するモジュールであり、具体的には、CPU、GPU、MPU、ASIC、FPGA及びCPLDのような処理モジュールの1つ又は組み合わせでもよい。
通信インタフェース1703は、外部から送信されたデータを受信するように、及び/又は、データを外部に送信するように構成され、イーサネットケーブルのような有線リンクのインタフェースでもよく、或いは、無線リンク(Wi-Fi、ブルートゥース等)インタフェースでもよい。任意選択で、通信インタフェース1703は、インタフェースに結合された送信機(例えば、無線周波数送信機又はアンテナ)、受信機等を更に含んでもよい。
装置170内のプロセッサ1702は、メモリ1701に記憶されたコンピュータプログラムを読み取り、上記の鍵取得方法、例えば、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態に記載の鍵取得方法を実行するように構成される。
例えば、装置170内のプロセッサ1702は、メモリ1701に記憶されたコンピュータプログラムを読み取り、以下の動作、すなわち、
通信インタフェース703によって、第1の関連付け要求メッセージを第1のノードに送信する動作であり、第1の関連付け要求メッセージは第1のフレッシュパラメータを含む、動作と、
通信インタフェース1703によって、第1のノードから第1の認証要求メッセージを受信する動作であり、第1の認証要求メッセージは第4のフレッシュパラメータを含む、動作と、
第2のPSKを取得する動作であり、第2のPSKは第1のノードのアイデンティティに対応し、第2のPSKは当該装置170からの第2のフレッシュパラメータ及び第1のノードからの第3のフレッシュパラメータに基づいて生成されたPSKであり、第2のPSKは第1のノードのアイデンティティを検証するために使用される、動作と
を実行するように構成される。
PSKは当該装置170及び第1のノードにより共有される秘密値であることが分かる。当該装置170は、当該装置170からの第3のフレッシュパラメータ及び第2のフレッシュパラメータを使用することにより第2のPSKを生成し、第1のノードのアイデンティティに対応させ、第1のノードのアイデンティティを検証するために第2のPSKを使用する(例えば、第1のノードはPSKに基づいてアイデンティティ認証情報を生成し、第2のノードは第2のPSKを使用することにより第1のノードのアイデンティティ認証情報を検証してもよく、他の例では、第1のノードはPSK(又はPSKに基づいて導出された鍵)を使用することによりメッセージ内容に対して暗号化又は整合性保護を実行し、第2のノードは第1のPSKを使用することにより第2のノードからメッセージ内容を取得してもよい)。このように、攻撃者が当該装置170に関連付けるために第1のノードのアイデンティティを偽造したいと思う場合、第2のPSKを生成するために使用される第2のフレッシュパラメータ及び第3のフレッシュパラメータは第1の関連付け要求メッセージの前に取得されてもよく、例えば、当該装置170が最初に第1のノードに関連付けられるときに取得されてもよく、以前に取得されたデータは通常ではクラックするのが困難であるので、攻撃者はPSKを偽造できず、したがって、当該装置170により攻撃者に対して実行されたアイデンティティ認証は成功できない。これは、当該装置170が信頼できないノードと関連付けられるのを防止し、当該装置170の通信セキュリティを改善する。
可能な実現方式では、プロセッサ1702は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が成功した場合、通信インタフェース1703によって、第1の認証応答メッセージを第1のノードに送信し、第1の認証応答メッセージは第2のアイデンティティ認証情報を含み、第2のアイデンティティ認証情報は第2のPSK及び第4のフレッシュパラメータに基づいて生成され、
通信インタフェース1703によって、第1のノードから第1の関連付け応答メッセージを受信する、ように更に構成される。
PSKは当該装置170及び第1のノードにより共有される秘密値であるので、通常では、当該装置170内の第2のPSKは第1のノード内の第1のPSKと同じ値を有することが分かる。第1のアイデンティティ認証情報は、第1のPSK及び第1のフレッシュパラメータに基づいて第1のノードにより生成される。したがって、当該装置170は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のノードのアイデンティティ認証情報を検証してもよい。当該装置170に記憶された第2のPSKに基づく検証が成功できない場合、これは、第1のノードのアイデンティティが信頼できないことを示す。したがって、当該装置170と信頼できないノードとの間の関連付けが回避でき、当該装置170の通信セキュリティが改善できる。対応して、当該装置170は、第2のPSK及び第4のフレッシュパラメータに基づいて第2のアイデンティティ認証情報を生成し、第2のアイデンティティ認証情報は、当該装置170のアイデンティティを検証するために第1のノードにより使用される。ピアノードとの通信は、双方の当事者のアイデンティティ認証が成功した後にのみ許可される。これはノードの通信セキュリティを改善する。
他の可能な実現方式では、プロセッサ1702は、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
第2のPSKと第1のノードのアイデンティティとの間の対応関係は、当該装置170に存在することが分かる。これは、当該装置170が以前に第1のノードに関連付けられていること、又は第1のノードのアイデンティティに対応する第2のPSKが第2のノードに事前構成されていることを示してもよい。したがって、当該装置170は、対応関係に基づいて第2のPSKを取得してもよい。
他の可能な実現方式では、第2の対応関係セットはメモリに記憶され、プロセッサ1702は、第2の対応関係セットを使用することにより、第2のPSKと第1のノードのアイデンティティとの間の対応関係に基づいて第2のPSKを取得するように具体的に構成される。
当該装置170は、対応関係セットの形式で第2のPSKと第1のノードのアイデンティティとの間の対応関係を記憶してもよいことが分かる。
他の可能な実現方式では、プロセッサ1702は、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第2のPSKを生成するように具体的に構成され、第1のフレッシュパラメータは第2のフレッシュパラメータであり、第4のフレッシュパラメータは第3のフレッシュパラメータである。
第2のPSKは、第1の関連付け要求メッセージ内の第1のフレッシュパラメータ及び第1の認証要求メッセージ内の第4のフレッシュパラメータに基づいて生成されることが分かる。通常では、当該装置170が最初に第1のノードに関連付けられるとき、又は当該装置170が対応関係を削除したとき、第1のノードのアイデンティティに対応する第2のPSKは当該装置170に存在しない。したがって、当該装置170は、第1のノードのアイデンティティを検証するために、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たな第2のPSKを生成してもよい。
他の可能な実現方式では、当該装置170は入力モジュール1705を更に含み、プロセッサ1702は、入力モジュール1705によって、第3の確認応答指示情報を取得するように更に構成され、第3の確認応答指示情報は第2のPSKの生成が許可されることを示す。
新たな第2のPSKが生成されるとき、ユーザの確認応答が必要であることが分かる。このように、攻撃者が当該装置170に接続するために攻撃者のアイデンティティを使用するとき、攻撃者のアイデンティティに対応するPSKが当該装置170に存在しないので、ユーザは新たなノードのアイデンティティを検証してもよい。第2のPSKは、第3の確認応答指示情報が取得された後にのみ生成される。したがって、当該装置170と信頼できないノードとの関連付けが回避され、当該装置170の通信セキュリティが確保される。
他の可能な実現方式では、プロセッサ1702は、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードは当該装置にアクセスするためのパスワードである。
第1のパスワードが第1のノードにアクセスするためのパスワードであるとき、当該装置170は、入力された第1のパスワードを使用することにより第1のノードに接続されることが分かる。したがって、第1のパスワードは第2のPSKを生成することに関与するために使用され、それにより、第1のパスワードを取得しない攻撃者は第2のPSKをクラックできないようにする。このように、当該装置170は、第1のパスワードを取得しない攻撃者に関連付けられるのを防止できる。
他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、プロセッサ1702は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の鍵合意アルゴリズムパラメータに基づいて第2のPSKを生成するように具体的に構成される。
第1のノードは第2の鍵合意アルゴリズムパラメータを搬送するために第1の認証要求メッセージを使用し、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定されることが分かる。当該装置170は、第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ、第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1のパスワードに基づいて第2のPSKを決定してもよい。このように、攻撃者がその後に第1のノードのアイデンティティ情報を偽造し、第2のPSKを生成するために使用される第1のフレッシュパラメータ及び第4のフレッシュパラメータを取得した場合であっても、攻撃者はPSKをクラックできない。したがって、攻撃者は当該装置170と通信できない。これは、当該装置170の通信セキュリティを改善する。
他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、プロセッサ1702は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び中間鍵に基づいて第2のPSKを生成するように具体的に構成され、第1のパスワードはアクセスパスワードであり、中間鍵は第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第2の鍵合意アルゴリズムパラメータに基づいて生成される。
他の可能な実現方式では、第1の関連付け要求メッセージは第1の鍵合意アルゴリズムパラメータを更に含み、第1の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第4の鍵合意アルゴリズムパラメータに基づいて決定され、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズム及び第3の鍵合意アルゴリズムパラメータに基づいて第1のノードにより決定され、プロセッサ1702は、
第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
第1の関連付け要求メッセージ内の第1の鍵合意アルゴリズムパラメータは、第2のノードの秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて生成されることが分かる。当該装置170が第1のノードから第2の鍵合意アルゴリズムパラメータを受信した後に、当該装置は第2の鍵合意アルゴリズムパラメータ及び当該装置170の秘密鍵(すなわち、第4の鍵合意アルゴリズムパラメータ)に基づいて第1の中間鍵を決定する。第1の中間鍵は、第1のノードと当該装置との間の鍵合意によって取得される秘密値である。次いで、当該装置170は、第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第1の中間鍵に基づいて第2のPSKを生成する。
他の可能な実現方式では、第1の認証要求メッセージは第2の鍵合意アルゴリズムパラメータを更に含み、第2の鍵合意アルゴリズムパラメータは第1の鍵合意アルゴリズムに基づいて決定され、プロセッサ1702は、
第4の鍵合意アルゴリズムパラメータを取得し、
第1の鍵合意アルゴリズム、第2の鍵合意アルゴリズムパラメータ及び第4の鍵合意アルゴリズムパラメータに基づいて第1の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ及び第1の中間鍵に基づいて第2の中間鍵を決定し、
第1のフレッシュパラメータ、第4のフレッシュパラメータ、第1のパスワード及び第2の中間鍵に基づいて第2のPSKを生成するように具体的に構成される。
他の可能な実現方式では、プロセッサ1702は、第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶するように更に構成される。
第2のPSKを生成した後に、当該装置170が第1のノードのアイデンティティと第2のPSKとの間の対応関係を記憶することが分かる。その後、第1のノードに再び関連付けられるとき、当該装置はPSKを再生成せずに、対応関係に基づいて第2のPSKを取得してもよい。
他の可能な実現方式では、プロセッサ1702は、第1のパスワードが更新された場合、第1のノードのアイデンティティと第2のPSKとの間の対応関係を削除するように更に構成される。
他の可能な実現方式では、第1の認証要求メッセージは更新指示情報を更に含み、更新指示情報はPSK更新を示すために使用される。
第2のPSKが第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて生成された後に、第1のノードは、更新指示情報を使用することにより当該装置170がアイデンティティ認証情報を検証するために以前の古いPSKを使用するのを防止するために、第2のPSKを更新するように当該装置170に通知してもよく、それにより、検証の失敗を回避し、ユーザ体感に影響を与えるのを回避するようにすることが分かる。
他の可能な実現方式では、プロセッサ1702は、第2のPSK及び第1のフレッシュパラメータに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成し、
通信インタフェース1703によって、第3の認証応答メッセージを第1のノードに送信するように更に構成され、第3の認証応答メッセージは第3のアイデンティティ認証情報を含み、第3のアイデンティティ認証情報は第4のPSK及び第4のフレッシュパラメータに基づいて生成される。
当該装置170が対応関係に基づいて第2のPSKを取得するとき、当該装置170により第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、考えられる理由は、第1のノードが第1のアイデンティティ認証情報を生成するために新たに生成されたPSKを使用したことでもよいことが分かる。したがって、当該装置170はまた、第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて新たなPSK(すなわち、第4のPSK)を生成し、新たなPSKに基づいて認証を再開する。これは、システム安定性を改善できる。
他の可能な実現方式では、プロセッサ1702は、通信インタフェース1703によって、第1のノードから第3の関連付け応答メッセージを受信するように更に構成される。
他の可能な実現方式では、当該装置170は入力モジュール1705を更に含み、プロセッサ1702は、第2のPSKに基づいて第1のアイデンティティ認証情報に対して実行された検証が失敗した場合、入力モジュール1705によって、第4の確認応答指示情報を取得し、第4の確認応答指示情報は第4のPSKの生成が許可されることを示し、
第1のフレッシュパラメータ及び第4のフレッシュパラメータに基づいて第4のPSKを生成する、ように更に構成される。
他の可能な実現方式では、プロセッサ1702は、第1のPSK及び第1のフレッシュパラメータに基づいて第2のアイデンティティ認証情報に対して実行された検証が失敗した場合、第2のPSKを削除し、
通信インタフェース1703によって、第2の関連付け要求メッセージを第1のノードに送信するように更に構成され、第2の関連付け要求メッセージは第5のフレッシュパラメータを含む。
各モジュールの実現方式については、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における対応する説明を参照する点に留意すべきである。装置170は、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第2のノードである。
図18は、この出願の実施形態による鍵取得システムを示す。鍵取得システムは、図3に示すアーキテクチャに基づいて実現されてもよい。鍵取得システムは、第1のノード301及び第2のノード302を含む。第1のノードは、装置140又は装置160でもよい。第2のノードは、装置150又は装置170でもよい。第1のノード301は、第2のノード302のアイデンティティに対応する第1のPSKを記憶し、第1のPSKは第1のノード301に事前構成される。
第2のノード302が第3のノード1801に変更された場合、第1のノード301は、図5、図8、図9又は図10に示すいずれかの実施形態における第2のノード側の方法を使用することにより、第3のノード1801と関連付けることを要求してもよい。
例えば、車両のCDCが第1のノードであり、車両の古いマイクロフォンが第2のノード302であるとき、車両の古いマイクロフォン302が新たなマイクロフォン1801に変更された場合、古いマイクロフォン302とCDCとの間のPSKが事前構成されており、新たなマイクロフォン1801がユーザの操作命令を受信できないので、CDCは図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれの実施形態における第2のノード側の方法に従って新たなPSKを取得してもよい。さらに、新たなマイクロフォン1801が第2のパスワードを有する場合、CDCは、最初に第2のパスワードを使用することにより新たなマイクロフォン1801にアクセスし、次いで、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第2のノード側の方法に従って新たなPSKを取得してもよい。
他の可能な実現方式では、第1のノード301がCDCであるとき、第2のノード302が第3のノード1801に変更され、第3のノード1801が第2のパスワードを有する場合、CDCは第3のノードにアクセスするためにユーザにより入力された第2のパスワードを取得してもよい。第3のノードは、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第2のノード側の方法を使用することにより新たなPSKを取得してもよい。
図19は、この出願の実施形態による他の鍵取得システムを示す。鍵取得システムは、図3に示すアーキテクチャに基づいて実現されてもよい。鍵取得システムは、第1のノード301及び第2のノード302を含む。第1のノードは、装置140又は装置160でもよい。第2のノードは、装置150又は装置170でもよい。第1のノード301は、第2のノード302のアイデンティティと第1のPSKとの間の対応関係を記憶し、第1のPSKは第1のノード301に事前構成される。第1のノード301が第4のノード1901に変更された場合、第4のノード1901は、第1のノード301内の対応関係を取得してもよく、それにより、第2のノード302のアイデンティティに対応する第2のPSKを取得するようにする。
例えば、車両のCDCが第1のノード301であるとき、車両のCDCが変更された場合、古いCDCに記憶されている第2のノード302のアイデンティティと第1のPSKとの間の対応関係は新たなCDC1901に構成されてもよい。構成方式は、コンピュータ記憶媒体を使用することにより古いCDCから新たなCDCに対応関係をコピーすること、又は新たなCDCを使用することにより古いCDCから対応関係を受信することでもよい。
任意選択で、第1のノード301のデバイス識別子と第2のPSKとの間の対応関係が第2のノード302に存在し、第2のPSKが第2のノード302に事前構成される場合、第1のノード301が第4のノード1901に変更された後に、第2のノードは管理インタフェースを使用することにより対応関係を更新し、第2のPSKに対応させるために第4のノード1901のアイデンティティを使用してもよい。
例えば、第1のノード301は車両のCDCであり、第2のノード302は車両のスピーカであり、スピーカはCDC301のアイデンティティと第2のPSKとの間の対応関係を記憶する。車両のCDCが変更された場合、第2のノード302内の対応関係はオンボード診断(On Board Diagnostics, OBD)によって更新されてもよく、第2のPSKは新たなCDC1901に対応させるために使用される。
他の例では、第1のノード301は車両のCDCであり、第2のノード302は車両の電子鍵であり、電子鍵はCDC301のアイデンティティと第2のPSKとの間の対応関係を記憶する。車両のCDCが新たなCDC1901に変更された場合、第2のノード302は、無線(Over The Air, OTA)によって第2のノード302内の対応関係を更新し、新たなCDC1901に対応させるために第2のPSKを使用してもよい。OTAは、ノードに対する遠隔管理が移動通信のエアインタフェースを使用することにより実現される技術である。
この出願の実施形態は、コンピュータ読み取り可能記憶媒体を更に提供する。コンピュータ読み取り可能記憶媒体は、コンピュータプログラムを記憶する媒体である。コンピュータプログラムが1つ以上のプロセッサ上で実行したとき、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における方法が実行される。
この出願の実施形態は、チップシステムを更に提供する。チップシステムは、少なくとも1つのプロセッサ、メモリ及びインタフェース回路を含む。インタフェース回路は、少なくとも1つのプロセッサのための情報入力/出力を提供するように構成され、少なくとも1つのメモリはコンピュータプログラムを記憶する。コンピュータプログラムが1つ以上のプロセッサ上で実行したとき、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における鍵取得方法が実行される。
この出願の実施形態は、スマートコックピット製品を更に提供する。スマートコックピット製品は第1のノード(例えば、車両コックピットドメインコントローラCDC)を含む。第1のノードは、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第1のノードである。さらに、スマートコックピット製品は第2のノード(例えば、カメラ、スクリーン、マイクロフォン、スピーカ、レーダー、電子鍵、パッシブエントリ・パッシブスタート・システムコントローラのようなモジュールのうち少なくとも1つ)を含む。第2のノードは、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第2のノードである。
この出願の実施形態は、車両を更に提供する。車両は第1のノード(例えば、車両コックピットドメインコントローラCDC)を含む。さらに、車両は第2のノード(例えば、カメラ、スクリーン、マイクロフォン、スピーカ、レーダー、電子鍵、パッシブエントリ・パッシブスタート・システムコントローラのようなモジュールのうち少なくとも1つ)を含む。第1のノードは、図5、図6、図7又は図8に示すいずれかの実施形態における第1のノードである。第2のノードは、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における第2のノードである。この出願の実施形態は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品が1つ以上のプロセッサ上で実行したとき、図5、図8、図9、図10、図11、図12又は図13A及び図13Bに示すいずれかの実施形態における鍵更新方法が実行されてもよい。代替として、車両はドローン若しくはロボットのようなインテリジェント端末又は輸送車両に置き換えられてもよい。
上記の実施形態の全部又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はこれらのいずれかの組み合わせを使用することにより実現されてもよい。ソフトウェアが実施形態を実現するために使用されるとき、実施形態は完全に或いは部分的にコンピュータプログラム製品の形式で実現されてもよい。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されたとき、この出願の実施形態による手順又は機能が全部或いは部分的に実現される。コンピュータは、汎用コンピュータ、特殊用途コンピュータ、コンピュータネットワーク又は他のプログラム可能装置でもよい。コンピュータ命令は、コンピュータ読み取り可能記憶媒体に記憶されてもよく、或いは、コンピュータ読み取り可能記憶媒体を使用することにより伝送されてもよい。コンピュータ読み取り可能記憶媒体は、コンピュータによりアクセス可能ないずれかの使用可能媒体、又は1つ以上の使用可能媒体を統合したサーバ又はデータセンタのようなデータ記憶デバイスでもよい。使用可能媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク又は磁気テープ)、光媒体(例えばDVD)、半導体媒体(例えば、ソリッドステートディスク(solid-state disk, SSD))等でもよい。
順序の調整、組み合わせ又は削除が、実際の要件に基づいて、この出願の方法の実施形態におけるステップに対して実行されてもよい。
この出願の装置実施形態におけるモジュールは、実際の要件に基づいて結合、分割又は削除されてもよい。
上記の説明は、単なるこの出願の具体的な実現方式であり、この出願の保護範囲はこれに限定されない。この出願に開示された技術的範囲内で当業者により容易に理解できるいずれかの変形又は置換は、この出願の保護範囲に含まれるものとする。