説明

セキュリティ・プロトコルの最初のメッセージの保護方法

【解決手段】本発明はセキュリティ・プロトコルの最初のメッセージの保護方法に関し、初期化ステップ1、開始者が最初のメッセージを送信するステップ2、および返答者が最初のメッセージを受信するステップ3を含む。本発明に係るセキュリティ・プロトコルの最初のメッセージの保護方法を利用すれば、1)メッセージ完全性コードMICまたはメッセージ認証コードMAC計算関数により、開始者と返答者があらかじめ共有している事前共有マスター・キーPSMKを最初のメッセージに含まれた安全パラメータにバインディングでき、セキュリティ・プロトコルの最初のメッセージに対する偽造攻撃を有効的に防止し、2)最初のメッセージのメッセージ完全性コードMICまたはメッセージ認証コードMACを計算する際、事前共有マスター・キーPSMKと最初のメッセージに含まれた安全パラメータのみを選択して計算し、開始者と返答者の計算規模を有効的に減少し、計算リソースを節約できることになる。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2008年12月18日に中国特許局に提出した中国特許出願、出願番号第200810190610.7号、発明名称「セキュリティ・プロトコルの最初のメッセージの保護方法」に基づく優先権を主張するものであり、その出願のすべての内容は、参照により、本出願に組み込まれている。
【0002】
本発明は、セキュリティ・プロトコルの最初のメッセージの保護方法に関する。
【背景技術】
【0003】
通信ネットワークの急速な進化に伴い、セキュリティ・プロトコルが、どこでも必要な技術となってきている。しかし、研究者たちは、セキュリティ・プロトコルを設計する際、通常、最初のメッセージの安全性を考慮しないため、攻撃者は、最初のメッセージを任意に偽造・再送をして、セキュリティ・プロトコルを攻撃することができる。現実問題として、大多数の通信ネットワーク環境において、最初のメッセージの安全性を無視しても大きな影響を被ることはなく、多少のリソース浪費になるに過ぎない。しかし、一部の特殊な通信ネットワーク環境、たとえば、一種のキャリアレス通信技術であってナノ秒さらにはマイクロ秒程の正弦波短パルスを利用してデータを伝送する超広帯域(Ultra wideband、UWBと略称する)ネットワークでは、多くの設備が低電力・低消耗(バッテリーを利用して給電する)であり、エネルギー・通信およびストレージ面のリソースが極めて貴重で、そのような設備に対応するセキュリティ・プロトコルを設計する際には、最初のメッセージの安全性も考慮すべきある。
【0004】
従来、セキュリティ・プロトコルの最初のメッセージの安全性を確保する主な方法としては、あらかじめ共有した私的情報を利用し、セキュリティ・プロトコルの最初のメッセージに対して1つのメッセージ完全性コード(Message
Integrity Code、MICと略称する)またはメッセージ認証コード(Message Authentication Code、MACと略称する)を計算する方法があり、どちらも、最初のメッセージの偽造を防止できる。しかし、本願発明者は、従来技術から少なくとも以下の技術欠陥を発見し、本発明を実現するに至った。すなわち、事前共有した私的情報を利用し、セキュリティ・プロトコルの最初のメッセージに含まれる全てのパラメータに対してMICまたはMACを計算する従来の方法は、計算規模が大きく、計算リソースの浪費をもたらしていた。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記の背景技術における課題を解決し、セキュリティ・プロトコルの最初のメッセージの保護方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、セキュリティ・プロトコルの最初のメッセージを保護する方法であり、以下のステップを含むことを特徴とする;
【0007】
1)初期化ステップ
開始者と返答者とに私的情報として1つの事前共有マスター・キー(Pre−Shared Master Key、PSMKと略称する)をあらかじめ共有させ、開始者と返答者とに事前共有マスター・キーを特定するための同じマスター・キー識別子(Master Key Identifier、MKIDと略称する)を与え、開始者と返答者とを同じメッセージ完全性コードMIC計算関数またはメッセージ認証コードMAC計算関数に対応させておき;
【0008】
2)開始者が最初のメッセージ送信するステップ
開始者がまず、メッセージ完全性コードMIC計算関数またはメッセージ認証コードMAC計算関数を利用し、事前共有マスター・キーPSMKと最初のメッセージとにより、これから送信される安全パラメータを計算して、メッセージ完全性コードMICまたはメッセージ認証コードMACを取得し、そして、返答者に対して、安全パラメータ、非安全パラメータ、前記マスター・キー識別子、および前記メッセージ完全性コードまたはメッセージ認証コードを含む最初のメッセージを送信し;
【0009】
3)返答者が最初のメッセージを受信するステップ
返答者が最初のメッセージを受信後、まず、最初のメッセージに含まれている非安全パラメータの合法性を検証し、合法でなければ、最初のメッセージを廃棄し、かつ1つの状態コードを設定して開始者に通知、またはリンクを切断し、合法であれば、最初のメッセージに含まれている安全パラメータとローカルに格納されている事前共有マスター・キーPSMKとを利用して、メッセージ完全性コードMICまたはメッセージ認証コードMACを計算し、受信されたメッセージ完全性コードMICまたはメッセージ認証コードMACと比較し、同じでない場合、最初のメッセージを廃棄し、1つの状態コードを設定して開始者に通知、またはリンクを切断し、同じである場合には、さらに最初のメッセージに含まれている安全パラメータの合法性を検証し、安全パラメータに不正な値が存在する場合には、最初のメッセージを廃棄し、かつ1つの状態コードを設定して開始者に通知、またはリンクを切断する。
【0010】
上述のステップ1におけるメッセージ完全性コードMIC計算関数またメッセージ認証コードMAC計算関数は、一方向性拡張関数
【数1】

であり、ここで、xは、拡張に利用されるキー値であり、yは、拡張に利用される安全パラメータであり、strは、拡張に利用されるパティング文字列であり、x,yとstrとの間の記号は、文字列の連結を表す。
【0011】
上述のステップ2において、最初のメッセージは、
【数2】

であり、ここで、
I−MACとR−MACは、それぞれと開始者と返答者のMACアドレスであり、メッセージ・シリアル番号MN=1とし、状態コードSC=0とし、PTKIDは、ペア暫定キー識別子であって、開始者がランダムに選択した値で、ローカルに格納されている暫定キー識別子TKID、または実行中のペア暫定キーPTKネゴシエーション・プロトコルまたはグループ暫定キーGTK配送プロトコルにおいて利用される暫定キー識別子TKIDとは異なる識別子であり、I−Nonceは、開始者より発生されたランダム数であり、
【数3】

は、開始者が計算したメッセージ完全性コードMICまたはメッセージ認証コードMACであり、strは、拡張に利用されるパティング文字列である。
【0012】
上述のステップ3において、返答者が最初のメッセージを受信後、ローカルに格納されているマスター・キー識別子が最初のメッセージに含まれたマスター・キー識別子と同じであるかどうかを検証し、同じでない場合、最初のメッセージを廃棄し、逆の場合、返答者がローカルに当該マスター・キー識別子MKIDを利用していて、実行中のペア暫定キーPTKネゴシエーション・プロトコルが存在するかどうかを検証し、存在する場合、最初のメッセージを廃棄し、かつ状態コードSC=2を設定して開始者に通知、またはリンクを切断し、存在しない場合、ローカルに格納されているI−MACとR−MACにより上述の[数3]と同じ計算を行って、受信したものと比較し、同じでない場合、最初のメッセージを廃棄し、状態コードSC=1を設定して開始者に通知、またはリンクを切断し、同じである場合、ペア暫定キー識別子PTKIDがローカルに格納されているTKID、または実行中のペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルまたはグループ暫定キーGTK配送プロトコルにおいて利用される暫定キー識別子TKIDと同じかどうかを検証し、同じである場合、最初のメッセージを廃棄し、かつ状態コードSC=3を設定して開始者に通知、またはリンクを切断し、同じでない場合、返答者が状態コードSC=0を設定し、第2のメッセージを作成して開始者に送信し、当該ペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルを継続して実行する。
【0013】
安全パラメータは、最初のメッセージの安全に関連するパラメータであり、全ての変数パラメータと一部の非変数パラメータとを含む。たとえば、一部の非変数パラメータは、開始者と返答者のMACアドレスのカスケード値であっても良い。
【0014】
変数パラメータは、返答者が検証する際、唯一基準値を使用しなくて判定されたパラメータを指し、たとえば、最初のメッセージに含まれる開始者によりランダムに発生されたペア暫定キー標識PTKIDと、開始者より発生されたランダム数I−Nonceを含む。
【0015】
非変数パラメータは、返答者が検証する際、唯一基準値を使用して判定されたパラメータを指す。たとえば、最初のメッセージに含まれるMN=1、SC=0とMKIDは、開始者と返答者との間の事前共有マスター・キーPSMKのマスター・キー識別子である。
【0016】
事前共有マスター・キーPSMKが二つ以上の複数の設備に共用される場合、開始者と返答者のMACアドレス・カスケード値は変数パラメータであり、事前共有マスター・キーPSMKが二つの設備に共用される場合、開始者と返答者のMACアドレス・カスケード値は、非変数パラメータである。
【0017】
本発明に係るセキュリティ・プロトコルの最初のメッセージの保護方法において、セキュリティ・プロトコルの開始者と返答者は、私的情報を事前に共有し、かつ同様なメッセージ完全性コードMICまたはメッセージ認証コードMAC計算関数を持ち、開始者がセキュリティ・プロトコルの最初のメッセージを送信する前、まず、メッセージ完全性コードMICまたはメッセージ認証コードMAC計算関数を利用し、事前共有私的情報と最初のメッセージに含まれる安全パラメータに対して計算し、そして非安全パラメータ、安全パラメータ、および計算されたメッセージ完全性コードMICまたはメッセージ認証コードMACを含む最初のメッセージを返答者に送信する。返答者が当該メッセージを受信後、まず、最初のメッセージに含まれた非安全パラメータを検証し、検証を通らない場合、当該メッセージを廃棄し、1つの状態コードを設定して開始者に通知し、またはリンクを切断し、逆の場合、ローカルにメッセージ完全性コードMICまたはメッセージ認証コードMACを再度に計算し、また、受信されたメッセージ完全性コードMICまたはメッセージ認証コードMACと比較し、二者が同じでない場合、当該メッセージを廃棄し、1つの状態コードを設定して開始者に通知し、またはリンクを切断し、逆の場合、最初のメッセージに含まれた安全パラメータを検証し、検証を通らない場合、当該メッセージを廃棄し、一つの状態コードを設定して開始者に通知し、またはリンクを切断し、逆の場合、当該セキュリティ・プロトコルを継続して実行する。
【発明の効果】
【0018】
本発明は次の優位性を有する。
【0019】
第1に、メッセージ完全性コードMICまたメッセージ認証コードMAC計算関数を利用して、開始者と返答者が事前に共有している事前共有マスター・キーPSMKを、最初のメッセージに含まれた安全パラメータとバインディングし、セキュリティ・プロトコルの最初のメッセージに対する偽造攻撃を有効的に防止できるようになる。
【0020】
第2に、最初のメッセージのメッセージ完全性コードMICまたはメッセージ認証コードMACを計算する際、事前共有マスター・キーPSMKと最初のメッセージに含まれる安全パラメータのみを選択して計算するため、開始者と返答者の計算規模を有効的に低減し、計算リソースを節約できるようになる。
【発明を実施するための形態】
【0021】
本発明の具体な実施形態を以下に示す。
【0022】
1)初期化ステップ
開始者(送信側端末)と返答者(受信側端末)とが、私的情報として1つの事前共有マスター・キーPSMKをあらかじめ共有し、かつ、同様なマスター・キー識別子NKIDを有する。すなわち、開始者がMKIDを持ち、返答者もMKIDを持つ。当該MKIDは、事前共用マスター・キーPSMKに対応しており、PSMKをインデックスするために利用される。開始者と返答者は、同じメッセージ完全性コードMICまたはメッセージ認証コードMAC計算関数に対応する。たとえば、メッセージ完全性コードMICまたはメッセージ認証コードMACの計算関数として、一方向性拡張関数
【数4】

を用いることができる。ここで、xは拡張に利用されるキー値で、yは拡張に利用される安全パラメータで、strは拡張に利用されるパティング文字列で、x,yとstrとの間の記号は、文字列の連結を示す。
【0023】
2)開始者が最初のメッセージ送信するステップ
開始者は、まず、メッセージ完全性コードMICまたはメッセージ認証コードMAC計算関数を利用し、事前共有マスター・キーPSMKと最初のメッセージとにより、これから送信される安全パラメータを計算し、そして返答者に対して非安全パラメータ、安全パラメータ、およびマスター・キー識別子MKIDと、計算されたメッセージ完全性コードMICまたはメッセージ認証コードMACとを含む第一メッセージを送信する。たとえば、当該方法によりECMA368基準におけるペア暫定キーPTK4ウェイ・ハンドシェイク・プロトコル(ヨーロッパ電子計算機工業会、European Computer Manufacturers Association、ECMAと略称する)を改善したい場合、最初のメッセージとして、
【数5】

を用いることができる。ここで、I−MACとR−MACはそれぞれと開始者と返答者のMACアドレスであり、メッセージ・シリアル番号MN=1とし、状態コードSC=0とし、ペア暫定キー識別子PTKIDは開始者がランダムに選択した値(ローカルに格納されている暫定キー識別子TKID、または実行中のペア暫定キーPTK4ウェイ・ハンド・シェイク・プロトコルまたはグループ暫定キーGTK配送プロトコルにおいて利用される暫定キー識別子TKIDとは異なる)であり、I−Nonceは開始者より発生されたランダム数であり、
【数6】

は、開始者が計算したメッセージ完全性コードMICまたはメッセージ認証コードMACであり、strはパティング文字列である。
【0024】
3)返答者が最初のメッセージを受信するステップ
返答者が最初のメッセージを受信後、まず、最初のメッセージに含まれている非安全パラメータの合法性を検証する。合法でなければ、最初のメッセージを廃棄し、かつ1つの状態コードを設定して開始者に通知、またはリンクを切断する。合法であれば、最初のメッセージに含まれている安全パラメータとローカルに格納されている事前共有マスター・キーPSMKとを利用して、メッセージ完全性コードMICまたはメッセージ認証コードMACを計算し、受信されたメッセージ完全性コードMICまたはメッセージ認証コードMACと比較する。これらのコードが同じでない場合、最初のメッセージを廃棄し、1つの状態コードを設定して開始者に通知、またはリンクを切断する。同じである場合には、さらに、最初のメッセージに含まれている安全パラメータの合法性を検証し、安全パラメータに不正な値が存在する場合には、最初のメッセージを廃棄し、かつ1つの状態コードを設定して開始者に通知、またはリンクを切断する。たとえば、この方法を利用してECMA368基準におけるペア暫定キーPTK4ウェイ・ハンドシェイク・プロトコルを改善したい場合、返答者が最初のメッセージを受信後、マスター・キー識別子MKIDがあらかじめ共有している事前共有マスター・キーPSMKの識別子と同じであるかどうかを検証する。同じでない場合、最初のメッセージを廃棄する。同じである場合には、当該マスター・キー識別子MKIDを利用していて、実行中のペア暫定キーPTK4ウェイ・ハンドシェイク・プロトコルが存在するかどうかを検証する。そのようなプロトコルが存在する場合、当該メッセージを廃棄し、状態コードSC=2を設定して開始者に通知する。そのようなプロトコルが存在しない場合には、ローカルにおいてI−MACとR−MACを利用し、
【数7】

を計算し、受信した
【数8】

と比較する。同じでない場合、当該メッセージを廃棄し、かつ、状態コードSC=1を設定して開始者に通知する。同じである場合、ペア暫定キー識別子PTKIDがローカルに格納されている暫定キー識別子TKID、または実行中のペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルまたはグループ暫定キーGTK配送プロトコルにおいて利用される暫定キー識別子TKIDと同じであるかどうかを検証する。同じである場合、当該メッセージを廃棄し、かつ状態コードSC=3を設定して開始者に通知する。同じでない場合には、返答者が状態コードSC=0を設定し、また、第2のメッセージを作成して開始者に送信し、継続して当該ペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルを実行する。
【0025】
本発明の実施の形態に係る方法では、メッセージ完全性コードMICまたはメッセージ認証コードMAC計算関数を利用し、開始者と返答者があらかじめ共有している事前共有マスター・キーPSMKを、最初のメッセージに含まれる安全パラメータにバインディングする。これにより、セキュリティ・プロトコルの最初のメッセージに対する偽造・攻撃を有効的に防止し、かつ、最初のメッセージのメッセージ完全性コードMICまたはメッセージ認証コードMACを計算する際、事前共有マスター・キーPSMKと最初のメッセージに含まれた安全パラメータのみを選択して計算し、開始者と返答者の計算規模を有効的に削減し、計算リソースを節約できる。
【0026】
最後に注意すべきことは、上述の実施の形態は、本発明の技術的な解決手段を説明するだけのものであり、技術上の制限となるものではない。以上では実施の形態を参照して本発明を詳しく説明したが、当業者であれば、上述した実施の形態に記述された技術的な解決手段を改造し、またはその中の一部の技術要素を置換することができる。そのような改造と置換は、本発明の実施の形態の技術範囲から逸脱するとみなされるものではない。

【特許請求の範囲】
【請求項1】
セキュリティ・プロトコルの最初のメッセージの保護方法において、
初期化ステップと、開始者が最初のメッセージ送信するステップと、返答者が最初のメッセージを受信するステップを有し、
1)前記初期化ステップでは、前記開始者と前記返答者とに私的情報として1つの事前共有マスター・キーをあらかじめ共有させ、前記開始者と前記返答者とに前記事前共有マスター・キーを特定するための同じマスター・キー識別子を与え、前記開始者と前記返答者とを同じメッセージ完全性コード計算関数またはメッセージ認証コード計算関数に対応させておき、
2)前記最初のメッセージ送信するステップでは、前記開始者がまず、メッセージ完全性コード計算関数またはメッセージ認証コード計算関数を利用し、前記事前共有マスター・キーと最初のメッセージとにより、これから送信される安全パラメータを計算して、メッセージ完全性コードまたはメッセージ認証コードを取得し、そして、前記返答者に対して、非安全パラメータ、前記安全パラメータ、前記マスター・キー識別子、および前記メッセージ完全性コードまたはメッセージ認証コードを含む最初のメッセージを送信し、
3)前記返答者が最初のメッセージを受信するステップでは、
前記返答者が最初のメッセージを受信後、まず、前記最初のメッセージに含まれている非安全パラメータの合法性を検証し、
合法でなければ、前記最初のメッセージを廃棄し、かつ1つの状態コードを設定して開始者に通知、またはリンクを切断し、合法であれば、前記最初のメッセージに含まれている安全パラメータとローカルに格納されている事前共有マスター・キーとを利用して、メッセージ完全性コードまたはメッセージ認証コードを計算し、受信されたメッセージ完全性コードまたはメッセージ認証コードと比較し、
同じでない場合、前記最初のメッセージを廃棄し、1つの状態コードを設定して開始者に通知、またはリンクを切断し、同じである場合には、さらに前記最初のメッセージに含まれている安全パラメータの合法性を検証し、
前記安全パラメータに不正な値が存在する場合には、前記最初のメッセージを廃棄し、かつ1つの状態コードを設定して開始者に通知、またはリンクを切断する
ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。
【請求項2】
請求項1に記載のセキュリティ・プロトコルの最初のメッセージの保護方法において、
前記初期化ステップにおけるメッセージ完全性コード計算関数またメッセージ認証コード計算関数は、一方向性拡張関数
【数1】

であり、ここで、
xは、拡張に利用されるキー値であり、
yは、拡張に利用される安全パラメータであり、
strは、拡張に利用されるパティング文字列であり、
x,yとstrとの間の記号は、文字列の連結を表す
ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。
【請求項3】
請求項2に記載のセキュリティ・プロトコルの最初のメッセージの保護方法において、
前記最初のメッセージを送信するステップにおける最初のメッセージは、
【数2】

であり、ここで、
I−MACとR−MACは、それぞれと開始者と返答者のMACアドレスであり、
メッセージ・シリアル番号MN=1とし、
状態コードSC=0とし、
PTKIDは、ペア暫定キー識別子であって、開始者がランダムに選択した値で、ローカルに格納されている暫定キー識別子、または実行中のペア暫定キー・ネゴシエーション・プロトコルまたはグループ暫定キー配送プロトコルにおいて利用される暫定キー識別子とは異なる識別子であり、
I−Nonceは、前記開始者より発生されたランダム数であり、
【数3】

は、前記メッセージ完全性コードまたはメッセージ認証コードであり、
strは、拡張に利用されるパティング文字列である
ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。
【請求項4】
請求項3に記載のセキュリティ・プロトコルの最初のメッセージの保護方法において、
前記返答者が最初のメッセージを受信するステップでは、
前記返答者が前記最初のメッセージを受信後、ローカルに格納されているマスター・キー識別子が前記最初のメッセージに含まれたマスター・キー識別子と同じであるかどうかを検証し、
同じでない場合、前記最初のメッセージを廃棄し、逆の場合、前記返答者がローカルに当該マスター・キー識別子を利用していて、実行中のペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルが存在するかどうかを検証し、
存在する場合、前記最初のメッセージを廃棄し、かつ状態コードSC=2を設定して前記開始者に通知、またはリンクを切断し、存在しない場合、ローカルに格納されているI−MACとR−MACにより前記[数3]と同じ計算を行って、受信した前記メッセージ完全性コードまたはメッセージ認証コードと比較し、
同じでない場合、前記最初のメッセージを廃棄し、状態コードSC=1を設定して開始者に通知、またはリンクを切断し、同じである場合、ペア暫定キー識別子PTKIDがローカルに格納されているTKID、または実行中のペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルまたはグループ暫定キーGTK配送プロトコルにおいて利用される暫定キー識別子TKIDと同じかどうかを検証し、
同じである場合、前記最初のメッセージを廃棄し、かつ状態コードSC=3を設定して開始者に通知、またはリンクを切断し、同じでない場合、前記返答者が状態コードSC=0を設定し、第2のメッセージを作成して開始者に送信し、当該ペア暫定キーPTKネゴシエーション・ハンドシェイク・プロトコルを継続して実行する
ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。
【請求項5】
請求項1から4のいずれか1項に記載のセキュリティ・プロトコルの最初のメッセージの保護方法において、前記安全パラメータは、最初のメッセージの安全に関連するパラメータであり、全ての変数パラメータと一部の非変数パラメータとを含む、ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。
【請求項6】
請求項5に記載のセキュリティ・プロトコルの最初のメッセージの保護方法において、前記変数パラメータは、返答者が検証する際、唯一基準値を使用しなくて判定されたパラメータを指す、ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。
【請求項7】
請求項5に記載のセキュリティ・プロトコルの最初のメッセージの保護方法において、前記非変数パラメータは、返答者が検証する際、唯一基準値を使用して判定されたパラメータを指す、ことを特徴とするセキュリティ・プロトコルの最初のメッセージの保護方法。

【公表番号】特表2012−512577(P2012−512577A)
【公表日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2011−541067(P2011−541067)
【出願日】平成21年12月7日(2009.12.7)
【国際出願番号】PCT/CN2009/075366
【国際公開番号】WO2010/069233
【国際公開日】平成22年6月24日(2010.6.24)
【出願人】(510138969)西安西電捷通無線網絡通信股▲ふん▼有限公司 (7)
【氏名又は名称原語表記】CHINA IWNCOMM CO.,LTD.
【住所又は居所原語表記】A201,QinFeng Ge,X’an Software Park,No.68 KeJi 2nd Road,Xi’an Hi−Tech Industrial Development Zone,Shaanxi,710075,P.R.China
【Fターム(参考)】