説明

3ウェイ・ハンドシェイク・プロトコルの方法

一種の3ウェイ・ハンドシェイク・プロトコルの方法において、開始者が返答者に対してメッセージ1を送信するステップ1と、返答者がメッセージ1を受信後、開始者に対してメッセージ2を送信するステップ2と、開始者がメッセージ2を受信後、返答者にメッセージ3を送信するステップ3と、 返答者がメッセージ3を受信後、開始者に対してメッセージ4を送信するステップ4と、開始者がメッセージ4を受信後、それぞれと対応するペア暫定キー(PTK)とキー確認キー(KCK)を取得するステップ5とを含む。本発明がPTK更新に利用される際、送信者が直接に前回のPTKネゴシエーション過程で発生・保存されたランダム数(I−Nonce)を利用してメッセージ1を構造し、又、返答者に送信し、同時に3ウェイ・ハンドシェイク・プロトコルにより交換されるメッセージに対して暗号化する必要がなく、ECMA386規格における3ウェイ・ハンドシェイク・プロトコルと比較すれば、メッセージの再送を防止できるだけではなく、リソースに制限のある応用に対して更に利点がある。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は2008年12月9日に、中国特許局に提出した、出願番号が200810184137.1で、発明名称が「一種の3ウェイ・ハンドシェイク・プロトコルの方法」である中国特許出願の優先権を要求し、当該出願の全ての内容を参照することにより本出願に組み込まれている。
【0002】
本発明はネットワーク安全技術領域に関し、特に、一種の3ウェイ・ハンドシェイク・プロトコルの方法に関わっている。
【背景技術】
【0003】
(ヨーロッパ電子計算機工業会European Computer Manufacturers Association、ECMAと略称する)が2005年にECMA368という超広帯域UWB(Ultra wide band)物理層とMAC層規格を定義する標準をリリースした。超広帯域UWBは一種のキャリアレス通信技術であり、ナノ秒更にマイクロ秒程の正弦波ナロウパルスを利用してデータを伝送する。ECMA368標準において、一種の4ウェイ・ハンドシェイク・プロトコル(4 way handshake)が設計され、超広帯域UWB設備間のペア暫定キーPTK( Pairwise Temporal Key )の作成・更新に利用される。当該4ウェイ・ハンドシェイク・プロトコルは以下のように、
1)開始者が返答者に対してメッセージ1: MN||SC||PTKID||MKID||I−Nonce||PTK-MICを送信し、そのうち、メッセージシリアル番号MNが1とし、状態コードSCが0とし、プロトコルが正常状態であることを表示し、ペア暫定キー標識PTKIDは開始者がランダムに選択した値であり(ローカルに格納されている、或いは実行中の4ウェイ・ハンドシェイク・プロトコルにおいて利用される暫定きー標識TKID( Temporal Key Identifier )、又はペア暫定キーGTK(Group Temporal Key)配送プロトコルにおいて利用される暫定キー標識TKIDとは異なる)、マスターキー標識MKIDはペア・マスター・キーPMKのマークであり、I−Nonceは開始者がランダム数発生関数で計算・発生したランダム数であり、ペア暫定キーメッセージ完全性コードPTK−MICは0とし、ペア暫定キーメッセージ完全性コードPTK−MICを計算していないことを表示し、
2)返答者がメッセージ1を受信した後、メッセージシリアル番号MNが1で、状態コードSCが0で、且つペア暫定キーメッセージ完全性コードPTK−MICが0であることを満足しない場合、当該メッセージを廃棄し、逆の場合、マスターキー標識MKIDが開始者と返答者が予め共用しているペア・マスター・キーPMKの標識であるかどうかを検証し、そうでない場合、当該メッセージを廃棄し、逆の場合、当該マスターキー標識MKIDを利用していて、実行中の4ウェイ・ハンドシェイク・プロトコルが存在するかどうかを検証し、存在する場合、当該メッセージを廃棄し、又、状態コードSCを2に設定し (当該マスターキー標識MKIDを利用していて、実行中の4ウェイ・ハンドシェイク・プロトコルが存在することを表示する)、開始者にプロトコル状態を報告し、逆の場合、ペア暫定キー標識PTKIDを検証し、ペア暫定キー標識PTKIDがローカルに格納されている暫定キー標識TKID、又は、実行中の4ウェイ・ハンドシェイク・プロトコル、又はペア暫定キーGTK配送プロトコルにおいて利用される暫定キー標識TKIDと同じである場合、当該メッセージを廃棄し、又、状態コードSCを3に設定し(当該ペア暫定キー標識PTKIDがローカルに格納されている暫定キー標識TKID、又は、実行中の4ウェイ・ハンドシェイク・プロトコル又はペア暫定キーGTK配送プロトコルにおいて利用される暫定キー標識TKIDと同じであることを表示する)、開始者にプロトコル状態を報告し、逆の場合、ランダム数R−Nonceを発生し、又、拡張関数を利用してペア・マスター・キーPMK、I−Nonce、 R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、ペア暫定キーPTKとキー確認キーKCK(Key Confirmation Key)を取得し、そして、開始者に対してメッセージ2=MN||SC||PTKID||MKID||R−Nonce||PTK−MICを送信し、そのうち、メッセージシリアル番号MNが2とし、 状態コードSCが0とし、ペア暫定キー標識PTKIDとマスターキー標識MKIDがメッセージ1おける対応する値と同じで、ペア暫定キーメッセージ完全性コードPTK−MICは、ローカルキー確認キーKCKを利用してメッセージ2(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMIC( Message Integrity Code )であり、
3)開始者がメッセージ2を受信し、メッセージシリアル番号MNが2で、状態コードSCが0で、ペア暫定キー標識PTKIDとマスターキー標識MKIDがメッセージ1における対応する値と同じであることを満足しない場合、当該メッセージを廃棄し、逆の場合、拡張関数を利用し、ペア・マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、ペア暫定キーPTKとキー確認キーKCKを取得し、そして、ローカルキー確認キーKCKを利用し、メッセージ2(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのメッセージ完全性コードMICを再計算し、メッセージ2におけるペア暫定キーメッセージ完全性コードPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、又、状態コードSCを1に設定し(安全検証を通れなかったことを表示する)、返答者にプロトコル状態を報告し、逆の場合、返答者に対してメッセージ3: MN||SC||PTKID||MKID||I−Nonce||PTK−MICを送信し、そのうち、メッセージシリアル番号MNが3とし、 状態コードSCが0とし、ペア暫定キー標識PTKIDとマスターキー標識MKIDがメッセージ2における対応する値と同じで、ペア暫定キーメッセージ完全性コードPTK−MICは、ローカルキー確認キーKCKを利用してメッセージ3(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
4)返答者がメッセージ3を受信し、メッセージシリアル番号MNが3で、状態コードSCが0で、ペア暫定キー標識PTKIDとマスターキー標識MKIDがメッセージ2における対応する値と同じであることを満足しない場合、当該メッセージを廃棄し、逆の場合、ローカルキー確認キーKCKを利用し、メッセージ3(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのメッセージ完全性コードMICを再計算し、又、メッセージ3におけるペア暫定キーメッセージ完全性コードPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、又、状態コードSCを1に設定し(安全検証を通れなかったことを表示する)、返答者にプロトコル状態を報告し、逆の場合、開始者に対してメッセージ4:MN||SC||PTKID||MKID||R−Nonce||PTK−MICを送信し、そのうち、メッセージシリアル番号MNが4とし、状態コードSCが0とし、ペア暫定キー標識PTKIDとマスターキー標識MKIDがメッセージ3における対応する値と同じで、ペア暫定キーメッセージ完全性コードPTK−MICはローカルキー確認キーKCKを利用してメッセージ4 (ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
5)開始者がメッセージ4を受信し、メッセージシリアル番号MNが4で、状態コードSCが0で、ペア暫定キー標識PTKIDとマスターキー標識MKIDがメッセージ3における対応する値と同じであることを満足しない場合、当該メッセージを廃棄し、逆の場合、ローカルキー確認キーKCKを利用してメッセージ4(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのメッセージ完全性コードMICを再計算し、又、メッセージ4におけるペア暫定キーメッセージ完全性コードPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、逆の場合、開始者と返答者が4ウェイ・ハンドシェイク・プロトコルの実行に成功し、それぞれと対応するペア暫定キーPTKとキー確認キーKCKを取得することになる。
【0004】
開始者と返答者が上述4ウェイ・ハンドシェイク・プロトコルを完成後、ペア暫定キーPTKを利用して二者の間のユニキャスト・サービス・データを保護する。
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述4ウェイ・ハンドシェイク・プロトコルから見出したように、従来、ペア暫定キーPTKを更新する度に、開始者と返答者が使用中のペア暫定キーPTKを利用して4ウェイ・ハンドシェイク・プロトコルの暗号化処理を行う必要があり、又、開始者が再計算して新しいランダム数I−Nonceを発生する必要がある。しかし、低消費電力(電池式)の設備を利用した一部の超広帯域UWB通信ネットワーク応用に対して、エネルギー、通信と計算などのリソースが厳しく制限されるため、ペア暫定キーPTKを更新する際、始終、リソースが制限されるという問題に悩まれていた。
【課題を解決するための手段】
【0006】
本発明は背景技術における上述問題点を解決するため、更に計算リソースを節約でき、超広帯域ネットワークに適する3ウェイ・ハンドシェイク・プロトコルの方法を提案した。
【0007】
本発明に係る技術案は次のように説明する。
【0008】
1、一種の3ウェイ・ハンドシェイク・プロトコルの方法において、以下のステップを含み、
・ 開始者が返答者に対して、ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UD及びランダム数I−Nonceを含むメッセージ1を送信し、そのうち、PTKIDは開始者がランダムに選択した値で、当該PTKIDがローカルに格納されている暫定キー標識TKID、又は、実行中の3ウェイ・ハンドシェイク・プロトコル或いはペア暫定キーGTK配送プロトコルにおいて利用される暫定キー標識TKIDとは異なり、MKIDはペア・マスター・キーPMKのマークであり、UDはペア暫定キーPMKの更新過程であるかどうかを表示し、I−Nonceは開始者が発生したランダム数であり、
・ 返答者がメッセージ1を受信後、MKIDとPTKIDに対して検証し、又、前記MKID、PTKIDが検証を通った後、ステップa1)を実行し、
a1)UDがPTK更新過程であるかどうかを検証し、そうでない場合、ステップa2)を実行し、そうである場合、I−Nonceがローカルに格納された前回のPTKネゴシエーションが成功した後に開始者と返答者の間でネゴシエートされたI−Nonce値と同じであるかどうかを確認し、同じでない場合、当該メッセージを廃棄し、同じである場合、ステップa2)を実行し、
a2)ランダム数発生関数を利用して、ランダム数R−Nonceを計算・発生し、又、拡張関数を利用してペアマスターキーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、PTK、キー確認キーKCK及び次回のPTKネゴシエーション過程のI−Nonceの種を取得し、そして、当該種に対して拡張関数を利用し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存し、そして、開始者に対してPTKID、MKID、UD、R−Nonceとペア暫定キーメッセージ完全性コードPTK−MICを含むメッセージ2を送信し、そのうち、PTKID、MKIDとUDがメッセージ1における対応する値と同じで、PTK−MICはローカルKCKを利用し、メッセージ2におけるPTK−MIC以外の他のパラメータ、メッセージ1におけるI−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
3)開始者がメッセージ2を受信し、メッセージ2とメッセージ1における対応するパラメータが同じであるかどうかを比較し、同じでない場合、当該メッセージを廃棄し、逆の場合、マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存し、ローカルKCKを利用してMICを再計算し、又、メッセージ3におけるPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、逆の場合、開始者に対してPTKID、MKID、UD、R−Nonce、PTK−MICを含むメッセージ3を送信し、
4)返答者がメッセージ3を受信し、メッセージ3とメッセージ2における対応するパラメータが同じであるかどうかを比較し、同じでない場合、当該メッセージを廃棄し、逆の場合、ローカルKCKを利用してMICを再計算し、又、メッセージ3におけるPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、同じである場合、3ウェイ・ハンドシェイク・プロトコル過程を終了する。
【0009】
前記ステップl )において、初めてPTKを作成する際、I−Nonceは開始者がランダム数発生関数で発生した値であり、PTKを更新する際、I−Nonceは前回のPTKネゴシエーション過程が成功した後に開始者と返答者との間でネゴシエートされた値である。
【0010】
前述ステップ4)の後、又、ステップ5)とステップ6)を含み、具体的なステップは以下のようになる。
5)返答者が開始者に対して、PTKID、MKID、UD、I−Nonce、PTK−MIC等を含むメッセージ4を送信し、そのうち、PTKID、MKID、UDとI−Nonceがメッセージ1における対応する値と同じで、PTK−MICは、ローカルKCKを利用し、メッセージ4におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたMICであり、
6)開始者がメッセージ4を受信後、次の処理を行い、
6.1)PTKID、MKID、UD及びI−Nonceがメッセージ1における対応する値と同じでない場合、当該メッセージを廃棄し、同じである場合、6.2)の操作を実行し、
6.2)ローカルKCKを利用し、メッセージ4 におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのMICを再計算し、又、メッセージ4におけるPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、同じである場合、開始者と返答者が4ウェイ・ハンドシェイク・プロトコルの実行に成功し、それぞれと対応するPTKキー、確認キーKCKと両者の次回のPTK更新に利用されるI−Nonceを取得することになる。
【0011】
MKID、PTKIDに対して検証することは、
2.1)MKIDが開始者と返答者が予め共用しているペア・マスター・キーPMKの標識であるかどうかを検証し、そうでない場合、当該メッセージを廃棄し、そうである場合、ステップ2.2)を実行し、
2.2)当該MKIDを利用していて、実行中の3ウェイ・ハンドシェイク・プロトコルが存在するかどうかを検証し、存在する場合、当該メッセージを廃棄し、存在しない場合、ステップ2.3)を実行し、
2.3)PTKIDを検証し、PTKIDがローカルに格納されている暫定キー標識TKID、又は、実行中の3ウェイ・ハンドシェイク・プロトコル又はペア暫定キーGTK配送プロトコルにおいて利用されるTKIDと同じである場合、当該メッセージを廃棄し、同じでない場合、ステップ2.4)を実行する、
ことを含む。
【0012】
前記メッセージ2とメッセージ1における対応するパラメータが同じであるかどうかを比較することは、
メッセージ2におけるPTKID、MKID、UDとI−Nonceがメッセージ1における対応する値と同じであるかどうかを比較することを含む。
【0013】
前記マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存することは、
拡張関数を利用し、ペア・マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、PTK、KCKと次回のPTKネゴシエーション過程のI−Nonceの種を取得し、
当該種に対して拡張関数を利用し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存することを含む。
【0014】
前記開始者がローカルKCKを利用してMICを再計算することは、
ローカルKCKを利用し、メッセージ2におけるPTK−MIC以外の他のパラメータ、メッセージ1におけるI−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのMICを再計算することを含む。
【0015】
前記メッセージ3はPTKID、MKID、UD、R−Nonce、PTK−MICを含み、 そのうち、PTKID、MKID、UDとランダム数R−Nonceが、メッセージ2における対応する値と同じで、PTK−MICはローカルKCKを利用し、メッセージ3におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたMICである。
【0016】
前記メッセージ3とメッセージ2における対応するパラメータが同じであるかどうかを比較することは、
メッセージ3におけるPTKID、MKID、UDとランダム数R−Nonceがメッセージ2における対応する値と同じであるかどうかを比較することを含む。
【0017】
前記返答者がローカルKCKを利用し、MICを再計算することは、
ローカルKCKを利用し、メッセージ3におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのMICを再計算することを含む。
【発明の効果】
【0018】
本発明は超広帯域ネットワークに適する3ウェイ・ハンドシェイク・プロトコルの方法を提供し、ペア暫定キーPTKが更新する際、送信者が直接に前回のペア暫定キーPTKネゴシエーション過程で発生・保存されたI−Nonceにより、メッセージ1を構造して返答者に送信し、同時に3ウェイ・ハンドシェイク・プロトコルにより交換されるメッセージに対して暗号化する必要がないため、ECMA386の4ウェイ・ハンドシェイク・プロトコルと比較すれば、メッセージの再送を防止できるだけではなく、リソースに制限のある応用に更に利点がある。
【発明を実施するための形態】
【0019】
本発明の具体的な実現方法は以下のように、
1)開始者が返答者に対してPTKID、MKID、UD、I−Nonce等を含むメッセージ1を送信し、そのうち、ペア暫定キー標識PTKIDは開始者がランダムに選択した値であり(ローカルに格納されている暫定キー標識TKID、又は、実行中の3ウェイ・ハンドシェイク・プロトコル又はペア暫定キーGTK配送プロトコルにおいて利用される暫定キー標識TKIDと異なる)、マスターキー標識MKIDはペア・マスター・キーPMKのマークであり、更新標識UDはペア暫定キーPTKの更新過程であるかどうかを表示し、I−Nonceは開始者が発生したランダム数であり(初めてペア暫定キーPTKを作成する際、I−Nonceは開始者がランダム数発生関数で発生した値であり、ペア暫定キーPTKを更新する際、I−Nonceは前回のペア暫定キーPTKネゴシエーションが成功した後に開始者と返答者の間でネゴシエートされた値である)、
2)返答者がメッセージ1を受信後、次の処理を行い、
2.1)マスターキー標識MKIDが開始者と返答者が予め共用しているペア・マスター・キーPMKの標識であるかどうかを検証し、そうでない場合、当該メッセージを廃棄し、そうである場合、ステップ2.2)を実行し、
2.2)当該マスターキー標識MKIDを利用していて、実行中の3ウェイ・ハンドシェイク・プロトコルが存在するかどうかを検証し、存在する場合、当該メッセージを廃棄し、存在しない場合、ステップ2.3)を実行し、
2.3)ペア暫定キー標識PTKIDを検証し、ペア暫定キー標識PTKIDがローカルに格納されている暫定キー標識TKID、又は、実行中の3ウェイ・ハンドシェイク・プロトコル又はペア暫定キーGTK配送プロトコルにおいて利用される暫定キー標識TKIDと同じである場合、当該メッセージを廃棄し、同じでない場合、ステップ2.4)を実行し、
2.4)更新標識UDがペア暫定キーPTK更新過程であるかどうかを検証し、そうでない場合、ステップ2.5)を実行し、そうである場合、I−Nonceがローカルに格納された、前回のペア暫定キーPTKネゴシエーションが成功した後に開始者と返答者の間でネゴシエートされたI−Nonce値と同じであるかどうかを検証し、同じでない場合、当該メッセージを廃棄し、同じである場合、ステップ2.5)を実行し、
2.5)ランダム数発生関数を利用してランダム数R−Nonceを発生し、又、拡張関数を利用してペア・マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、ペア暫定キーPTK、キー確認キーKCK及び次回のペア暫定キーPTKネゴシエーション過程のI−Nonceの種を取得し、そして、当該種に対して拡張関数を利用し、次回のペア暫定キーPTKネゴシエーション過程のI−Nonceを計算・保存し、又、開始者に対してPTKID、MKID、UD、R−Nonce、PTK−MIC等を含むメッセージ2を送信し、そのうち、ペア暫定キー標識PTKID、マスターキー標識MKIDと更新標識UDはメッセージ1における対応する値と同じで、ペア暫定キーメッセージ完全性コードPTK−MICはローカルキー確認キーKCKを利用し、メッセージ2(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、メッセージ1におけるランダム数I−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
3)開始者がメッセージ2を受信後、次の処理を行い、
3.1)ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UDとランダム数I−Nonceがメッセージ1における対応する値と異なる場合、当該メッセージを廃棄し、同じである場合、ステップ3.2)を実行し、
3.2)拡張関数を利用し、ペア・マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、ペア暫定キーPTK、キー確認キーKCK及び次回のペア暫定キーPTKネゴシエーション過程のI−Nonce種を取得し、そして、当該種に対して拡張関数を利用し、次回のペア暫定キーPTKネゴシエーション過程のI−Nonceを計算・保存し、ローカルキー確認キーKCKを利用し、メッセージ2(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、メッセージ1におけるランダム数I−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのメッセージ完全性コードMICを再計算し、メッセージ2におけるペア暫定キーメッセージ完全性コードPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、逆の場合、開始者に対してPTKID、MKID、UD、R−Nonce、PTK−MIC等を含むメッセージ3を送信し、そのうち、ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UDとランダム数R−Nonceはメッセージ2における対応する値と同じで、ペア暫定キーメッセージ完全性コードPTK−MICは、ローカルキー確認キーKCKを利用し、メッセージ3(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
4)返答者がメッセージ3を受信後、次の処理を行い
4.1)ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UDとランダム数R−Nonceがメッセージ2における対応する値と異なる場合、当該メッセージを廃棄し、同じである場合、4.2)の操作を実行し、
4.2)ローカルキー確認キーKCKを利用してメッセージ3(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのメッセージ完全性コードMICを再計算し、又、メッセージ3におけるペア暫定キーメッセージ完全性コードPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、同じである場合、開始者と返答者が3ウェイ・ハンドシェイク・プロトコルの実行に成功し、それぞれと対応するペア暫定キーPTKキー、確認キーKCKと次回の両者のペア暫定キーPTKの更新に利用されるI−Nonceを取得する。
【0020】
ペア暫定キーPTKをインストールすることを簡易にさせ、又、返答者がペア暫定キーPTKのネゴシエーションに成功することを開始者に通知するため、返答者がメッセージ3を受信後、更に開始者に対してメッセージ4を送信でき、即ち、上述ステップ4)の後、次のステップ5)と6)を実行する。
【0021】
5)返答者が開始者に対してPTKID、MKID、UD、I−Nonce、PTK−MIC等を含むメッセージ4を送信し、そのうち、ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UDとランダム数I−Nonceはメッセージ1における対応する値と同じであり、ペア暫定キーメッセージ完全性コードPTK−MICはローカルキー確認キーKCKを利用して、メッセージ4(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
6)開始者がメッセージ4を受信後、次の処理を行い、
6.1)ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UDとランダム数I−Nonceがメッセージ1における対応する値と異なる場合、当該メッセージを廃棄し、同じである場合、6.2)の操作を実行する。
【0022】
6.2)ローカルキー確認キーKCKを利用してメッセージ4(ペア暫定キーメッセージ完全性コードPTK−MIC以外の他のパラメータ)、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのメッセージ完全性コードMICを再計算し、又、メッセージ4におけるペア暫定キーメッセージ完全性コードPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、同じである場合、開始者と返答者が4ウェイ・ハンドシェイク・プロトコルの実行に成功し、それぞれと対応するペア暫定キーPTKキー、確認キーKCKと次回の両者のペア暫定キーPTKの更新に利用されるI−Nonceを取得することになる。
【0023】
前記の実施形態は本発明の技術的な解決手段の説明だけであり、当業者により、上述した実施形態に記述された技術的な解決手段を改造し、またはその中の一部の技術要素を置換することもできる。そのような改造と置換は本発明の実施形態の技術の範囲から逸脱するとは見なされない。

【特許請求の範囲】
【請求項1】
一種の3ウェイ・ハンドシェイク・プロトコルの方法において、
1)開始者が返答者に対して、ペア暫定キー標識PTKID、マスターキー標識MKID、更新標識UD及びランダム数I−Nonceを含むメッセージ1を送信し、そのうち、PTKIDは開始者がランダムに選択した値で、当該PTKIDはローカルに格納されている暫定キー標識TKID、又は、実行中の3ウェイ・ハンドシェイク・プロトコル又はペア暫定キーGTK配送プロトコルにおいて利用される暫定キー標識TKIDと異なり、MKIDはペア・マスター・キーPMKのマークであり、UDはペア暫定キーPTKの更新過程であるかどうかを表示し、I−Nonceは開始者が発生したランダム数であり、
2)返答者がメッセージ1を受信後、MKID、PTKIDに対して検証し、又、前記MKID、PTKIDが検証を通った後、ステップa1)を実行し、
a1)UDがPTK更新過程であるかどうかを検証し、そうでない場合、ステップa2)を実行し、そうである場合、I−Nonceがローカルに格納された前回のPTKネゴシエーションが成功した後に開始者と返答者の間でネゴシエートされたI−Nonce値と同じであるかどうかを確認し、同じでない場合、当該メッセージを廃棄し、同じである場合、ステップa2)を実行し、
a2)ランダム数発生関数を利用して、ランダム数R−Nonceを発生し、又、拡張関数を利用してペア・マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、PTK、キー確認キーKCKと次回のPTKネゴシエーション過程のI−Nonceの種を取得し、そして、当該種に対して拡張関数を利用し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存し、又、開始者に対してPTKID、MKID、UD、R−Nonceとペア暫定キーメッセージ完全性コードPTK−MICを含むメッセージ2を送信し、そのうち、PTKID、MKIDとUDがメッセージ1における対応する値と同じで、PTK−MICはローカルKCKを利用し、メッセージ2におけるPTK−MIC以外の他のパラメータ、メッセージ1におけるI−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたメッセージ完全性コードMICであり、
3)開始者がメッセージ2を受信後、メッセージ2とメッセージ1における対応するパラメータが同じであるかどうかを比較し、同じでない場合、当該メッセージを廃棄し、逆の場合、マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存し、ローカルKCKを利用してMICを再計算し、又、メッセージ3におけるPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、逆の場合、開始者に対してPTKID、MKID、UD、R−Nonce、PTK−MICを含むメッセージ3を送信し、
4)返答者がメッセージ3を受信後、メッセージ3とメッセージ2における対応するパラメータが同じであるかどうかを比較し、同じでない場合、当該メッセージを廃棄し、逆の場合、ローカルKCKを利用してMICを再計算し、又、メッセージ3におけるPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、同じである場合、3ウェイ・ハンドシェイク・プロトコル過程を終了する、
ステップを含むことを特徴とする3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項2】
前記ステップl )において、始めてPTKを作成する際、I−Nonceは開始者がランダム数発生関数で発生した値であり、PTKを更新する際、I−Nonceは前回のPTKネゴシエーションが成功した後に開始者と返答者の間でネゴシエートされた値である、ことを特徴とする請求項1 記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項3】
前記ステップ4)の後は、又、ステップ5)とステップ6)を含み、
5)返答者が開始者に対して、PTKID、MKID、UD、I−Nonce、PTK−MIC等を含むメッセージ4を送信し、そのうち、PTKID、MKID、UDとI−Nonceがメッセージ1における対応する値と同じで、PTK−MICはローカルKCKを利用し、メッセージ4におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたMICであり、
6)開始者がメッセージ4を受信後、次の処理を行い、
6.1 )PTKID、MKID、UDとI−Nonceがメッセージ1における対応する値と異なる場合、当該メッセージを廃棄し、同じである場合、6.2)の操作を実行し、
6.2)ローカルKCKを利用し、メッセージ4 におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのMICを再計算し、又、メッセージ4 におけるPTK−MICと比較し、二者が同じでない場合、当該メッセージを廃棄し、同じである場合、開始者と返答者が4ウェイ・ハンドシェイク・プロトコルの実行に成功し、それぞれと対応するPTKキー、確認キーKCKと両者の次回のPTK更新に利用されるI−Nonceを取得することになる、
ことを含むことを特徴とする請求項1 記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項4】
MKID、PTKIDに対して検証することは、
2.1)MKIDが開始者と返答者が予め共用しているペア・マスター・キーPMKの標識であるかどうかを検証し、そうでない場合、当該メッセージを廃棄し、そうである場合、ステップ2.2)を実行し、
2.2)当該MKIDを利用していて、実行中の3ウェイ・ハンドシェイク・プロトコルが存在するかどうかを検証し、存在する場合、当該メッセージを廃棄し、存在しない場合、ステップ2.3)を実行し、
2.3)PTKIDを検証し、PTKIDがローカルに格納されている暫定キー標識TKID、又は、実行中の3ウェイ・ハンドシェイク・プロトコル又はペア暫定キーGTK配送プロトコルにおいて利用されるTKIDと同じである場合、当該メッセージを廃棄し、同じでない場合、ステップ2.4)を実行する、
ことを含むことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項5】
前記メッセージ2とメッセージ1における対応するパラメータが同じであるかどうかを比較することは、
メッセージ2におけるPTKID、MKID、UDとI−Nonceがメッセージ1における対応する値と同じであるかどうかを比較する、ことを含むことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項6】
前記マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存することは、
拡張関数を利用し、ペア・マスター・キーPMK、I−Nonce、R−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算してPTK、KCKと次回のPTKネゴシエーション過程のI−Nonceの種を取得し、
当該種に対して拡張関数を利用し、次回のPTKネゴシエーション過程のI−Nonceを計算・保存する、
ことを含むことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項7】
前記開始者がローカルKCKを利用し、MICを再計算することは、
ローカルKCKを利用し、メッセージ2におけるPTK−MIC以外の他のパラメータ、メッセージ1におけるI−Nonce、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのMICを再計算する、
ことを含むことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項8】
前記メッセージ3がPTKID、MKID、UD、R−NonceとPTK−MICを含み、そのうち、PTKID、MKID、UDとランダム数R−Nonceがメッセージ2における対応する値と同じで、PTK- MICはローカルKCKを利用し、メッセージ3におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACに対して計算されたMICである、
ことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項9】
前記メッセージ3とメッセージ2における対応するパラメータが同じであるかどうかを比較することは、
メッセージ3におけるPTMD、MKID、UDとランダム数R−Nonceがメッセージ2における対応する値と同じであるかどうかを比較する、
ことを含むことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。
【請求項10】
前記返答者がローカルKCKを利用し、MICを再計算することは、
ローカルKCKを利用し、メッセージ3におけるPTK−MIC以外の他のパラメータ、開始者のMACアドレスI−MAC及び返答者のMACアドレスR−MACのMICを再計算する、
ことを含むことを特徴とする請求項1〜3の何れに記載の3ウェイ・ハンドシェイク・プロトコルの方法。

【公表番号】特表2012−511289(P2012−511289A)
【公表日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2011−539880(P2011−539880)
【出願日】平成21年12月8日(2009.12.8)
【国際出願番号】PCT/CN2009/075381
【国際公開番号】WO2010/066186
【国際公開日】平成22年6月17日(2010.6.17)
【出願人】(505164405)西安西▲電▼捷通▲無▼綫▲網▼絡通信股▲分▼有限公司 (19)
【氏名又は名称原語表記】CHINA IWNCOMM CO., LTD.
【Fターム(参考)】