(57)【要約】  システムは複数のパケットを暗号化するために利用される第１の一時鍵を生成する一時鍵モジュールと、第１の一時鍵に基づいて暗号化される各パケットのノンスを生成するノンスモジュールであって、各ノンスは、ノンスモジュールが生成する他のノンスに関連付けられているパケット番号とは異なるパケット番号を含むノンスモジュールと、ノンスモジュールが生成したノンスに含まれるパケット番号が所定の閾値以上であると、その旨を判断するセキュリティモジュールとを備える。【選択図】図１
2013504255.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケットを暗号化するために利用される第１の一時鍵を生成する一時鍵モジュールと、
前記第１の一時鍵に基づいて暗号化される各パケットのノンスを生成するノンスモジュールであって、各ノンスは、前記ノンスモジュールが生成する他のノンスに関連付けられているパケット番号とは異なるパケット番号を含むノンスモジュールと、
前記ノンスモジュールが生成した前記ノンスに含まれる前記パケット番号が所定の閾値以上であると、その旨を判断するセキュリティモジュールと
を備えるシステム。
【請求項２】
各パケット番号はＮビット長であり、
前記所定の閾値は２Ｎ以下である請求項１に記載のシステム。
【請求項３】
前記所定の閾値は、暗号化されたパケットをリンクパートナーに送信するレートに基づいている請求項１に記載のシステム。
【請求項４】
ガロア／カウンターモード（ＧＣＭ）暗号化を利用して、前記第１の一時鍵と、前記パケットに対応する前記ノンスとに基づいて、前記複数のパケットのうちの各パケットを暗号化する暗号化モジュールをさらに備える請求項１に記載のシステム。
【請求項５】
前記ノンスモジュールが生成する前記ノンスに含まれる前記パケット番号が前記所定の閾値以上である場合、
前記一時鍵モジュールは、第２の一時鍵を生成して、
前記セキュリティモジュールは、前記第２の一時鍵に関連付けられた鍵識別子をメッセージ中に含め、前記メッセージをリンクパートナーに送信する請求項１に記載のシステム。
【請求項６】
前記セキュリティモジュールは、前記第１の一時鍵と、前記所定の閾値より大きい前記パケット番号を有する前記ノンスのうちのいずれかと、を利用して、前記メッセージを暗号化して、前記メッセージには、ディソシエーションフレームまたはロバストなセキュリティネットワークアソシエーション（ＲＳＮＡ）フレームのうち少なくとも一方が含まれる請求項５に記載のシステム。
【請求項７】
前記一時鍵モジュールは、前記鍵識別子に基づいて前記第２の一時鍵を生成し、
前記セキュリティモジュールは、２Ｎ個のパケットまたは閾値の数のパケットが暗号化されたら前記パケット番号をリセットして、前記第２の一時鍵と前記ノンスのいずれかと、に基づいて、（２Ｎ＋１）番目のパケットまたは（閾値＋１）番目のパケットを暗号化する請求項５に記載のシステム。
【請求項８】
メディアアクセス制御（ＭＡＣ）モジュールをさらに備え、
前記メディアアクセス制御（ＭＡＣ）モジュールは、
前記パケット番号が前記所定の閾値以上である場合にはプリミティブを生成し、前記第１の一時鍵を利用してリンクパートナーとの間に構築したセキュリティアソシエーションをティアダウンし、前記セキュリティアソシエーションと前記第１の一時鍵とを削除する請求項１に記載のシステム。
【請求項９】
前記ノンスモジュールが生成する前記ノンスに含まれる前記パケット番号が前記所定の閾値以上である場合、
前記セキュリティモジュールは、暗号化されたパケットを送信するために利用する制御ポートをブロックし、リンクパートナーとの間のセキュリティアソシエーションをティアダウンすることなく前記第１の一時鍵を削除し、第２の一時鍵を生成するために、ハンドシェークを開始する、または、前記リンクパートナーに前記ハンドシェークを開始するよう要求する請求項１に記載のシステム。
【請求項１０】
前記ノンスモジュールが生成する前記ノンスに含まれる前記パケット番号が前記所定の閾値以上である場合、前記セキュリティモジュールは、リンクパートナーから、第２の一時鍵を生成せよと要求するメッセージを受信する請求項１に記載のシステム。
【請求項１１】
前記一時鍵モジュールは、前記第１の一時鍵に基づいて前記第２の一時鍵を生成する請求項５に記載のシステム。
【請求項１２】
暗号化されたパケットのヘッダを生成するヘッダモジュールをさらに備え、
前記ヘッダは、前記第１の一時鍵に関連付けられた鍵識別子および前記パケット番号を含み、
前記鍵識別子の長さは、２ビットから１６ビットまでの範囲である請求項１に記載のシステム。
【請求項１３】
請求項１に記載のシステムと、
暗号化されたパケットを、６０ＧＨｚ帯域、２．４ＧＨｚ帯域、または５ＧＨｚ帯域で送信する物理層（ＰＨＹ）モジュールと
を備える無線ネットワークデバイス。
【請求項１４】
前記システムは、暗号化ブロック鎖（ＣＢＣ）メディアアクセス制御（ＭＡＣ）プロトコルを持つカウンターモード（ＣＴＲ）を暗号化に利用する無線ネットワークデバイスに実装される請求項１に記載のシステム。
【請求項１５】
各ノンスは、
メディアアクセス制御（ＭＡＣ）アドレス用の第１の４８ビットフィールドと、
プライオリティ・サブフィールドと複数のパケット番号サブフィールドとを含ませる第２の４８ビットのフィールドとを含み、
前記複数のパケット番号サブフィールドの１つには、複数のビットが添付され、
前記ノンスモジュールは、前記複数のビットを破棄することで各ノンスを生成する請求項１に記載のシステム。
【請求項１６】
各ノンスは、
メディアアクセス制御（ＭＡＣ）アドレス用の第１の４８ビットフィールドと、
前記パケット番号を含ませる第２の４８ビットのフィールドとを含む請求項１に記載のシステム。
【請求項１７】
ネットワークデバイスからリンクパートナーに送信される複数のパケットを暗号化するための第１の一時鍵を生成する段階と、
前記複数のパケットのうちの各パケットを暗号化するためのノンスを生成する段階であって、前記ノンスは、前記複数のパケットのうちの他のパケットを暗号化するために生成される他のノンスに関連付けられているパケット番号とは異なるパケット番号を含む段階と、
前記ノンスに含まれる前記パケット番号が所定の閾値以上であると、その旨を判断する段階と
を備える方法。
【請求項１８】
前記第１の一時鍵と、前記パケットに対応する前記ノンスとに基づいて前記複数のパケットのうちの各パケットを暗号化する段階をさらに備え、
各パケット番号がＮビット長であり、
前記所定の閾値は２Ｎ以下であり、
前記所定の閾値は、暗号化されたパケットを前記リンクパートナーに送信するレートに基づいている請求項１７に記載の方法。
【請求項１９】
前記ノンスに含まれる前記パケット番号が前記所定の閾値以上である場合、
第２の一時鍵を生成する段階と、
前記第２の一時鍵に関連付けられた鍵識別子をメッセージ中に含め、前記メッセージをリンクパートナーに送信する段階と、
前記第１の一時鍵と、前記所定の閾値より大きい前記パケット番号を有する前記ノンスのうちのいずれかと、を利用して、前記メッセージを暗号化する段階と
をさらに備え、
前記メッセージには、ディソシエーションフレームまたはロバストなセキュリティネットワークアソシエーション（ＲＳＮＡ）フレームのうち少なくとも一方が含まれる請求項１７に記載の方法。
【請求項２０】
前記鍵識別子に基づいて前記第２の一時鍵を生成する段階と、
２Ｎ個のパケットまたは閾値の数のパケットが暗号化されたら前記パケット番号をリセットする段階と、
前記第２の一時鍵と前記ノンスのいずれかと、に基づいて、（２Ｎ＋１）番目のパケットまたは（閾値＋１）番目のパケットを暗号化する段階と
をさらに備える請求項１９に記載の方法。
【請求項２１】
前記パケット番号が前記所定の閾値以上である場合にはプリミティブを生成する段階と、
前記第１の一時鍵を利用して前記リンクパートナーとの間に構築したセキュリティアソシエーションをティアダウンする段階と、
前記セキュリティアソシエーションと前記第１の一時鍵とを削除する段階と
をさらに備える請求項１７に記載の方法。
【請求項２２】
前記ノンスに含まれる前記パケット番号が前記所定の閾値以上である場合、
暗号化されたパケットを送信するために利用する制御ポートをブロックする段階と、
前記リンクパートナーとの間のセキュリティアソシエーションをティアダウンすることなく前記第１の一時鍵を削除する段階と、
第２の一時鍵を生成するために、ハンドシェークを開始する、または、前記リンクパートナーに前記ハンドシェークを開始するよう要求する段階と
をさらに備える請求項１７に記載の方法。
【請求項２３】
前記ノンスに含まれる前記パケット番号が前記所定の閾値以上である場合、前記リンクパートナーから、第２の一時鍵を生成せよと要求するメッセージを受信する段階をさらに備える請求項１７に記載の方法。
【請求項２４】
前記第１の一時鍵に基づいて前記第２の一時鍵を生成する段階をさらに備える請求項１９に記載の方法。
【請求項２５】
暗号化されたパケットのヘッダを生成する段階をさらに備え、
前記ヘッダは、前記第１の一時鍵に関連付けられた鍵識別子および前記パケット番号を含み、
前記鍵識別子の長さは、２ビットから１６ビットまでの範囲である請求項１７に記載の方法。
【請求項２６】
各ノンスは、
メディアアクセス制御（ＭＡＣ）アドレス用の第１の４８ビットフィールドと、
プライオリティ・サブフィールドと複数のパケット番号サブフィールドとを含ませる第２の４８ビットのフィールドとを含み、
前記複数のパケット番号サブフィールドの１つには、複数のビットが添付され、
前記複数のビットを破棄することで各ノンスが生成される請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１０年８月１８日提出の米国出願第１２／８５８，９５０号明細書の優先権を主張しており、２００９年９月２日提出の米国仮出願第６１／２３９，２９５号明細書、２００９年９月１７日提出の米国仮出願第６１／２４３，２７２号明細書、２００９年９月２２日提出の米国仮出願第６１／２４４，７８７号明細書の恩恵を主張している。
【０００２】
本願は、２０１０年５月２０日提出の米国出願第１２／７８４，０５０号明細書に関連している。
【０００３】
上述した出願書類の開示内容全体を、ここに参照の目的で組み込む。
【０００４】
本開示は、概して無線通信に係り、特に無線通信のセキュリティに係る。
【背景技術】
【０００５】
背景技術セクションの開示は、本開示の文客を提示する意図を有する。現在の発明者の、記載されていなければ出願時の先行技術とならないような、背景技術セクションに開示されている内容および記述の側面はいずれも、本開示に対する明示的または暗示的な自認した先行技術とはならないので留意されたい。
【０００６】
アイトリプルイー（ＩＥＥＥ）は、無線通信デバイスが従うべきセキュリティプロトコルを定義する幾つかの８０２．１Ｘ仕様を開発している。無線通信デバイスは、セキュリティプロトコルを利用してデバイス間の通信を認証することでデータをセキュアに交換することができる。
【発明の概要】
【０００７】
システムは複数のパケットを暗号化するために利用される第１の一時鍵を生成する一時鍵モジュールと、第１の一時鍵に基づいて暗号化される各パケットのノンスを生成するノンスモジュールであって、各ノンスは、ノンスモジュールが生成する他のノンスに関連付けられているパケット番号とは異なるパケット番号を含むノンスモジュールと、ノンスモジュールが生成したノンスに含まれるパケット番号が所定の閾値以上であると、その旨を判断するセキュリティモジュールとを備える。
【０００８】
他の特徴としては、方法は、ネットワークデバイスからリンクパートナーに送信される複数のパケットを暗号化するための第１の一時鍵を生成する段階と、複数のパケットのうちの各パケットのノンスを生成する段階であって、ノンスは、複数のパケットのうちのパケットを暗号化するために生成される他のノンスに関連付けられているパケット番号とは異なるパケット番号を含む段階と、ノンスに含まれるパケット番号が所定の閾値以上であると、その旨を判断する段階とを備える。
【０００９】
また別の特徴としては、上述したシステムおよび方法は、１以上のプロセッサが実行するコンピュータプログラムにより実装されてもよい。コンピュータプログラムは、これらに限られないがメモリ、不揮発性データストレージ等の有形のコンピュータ可読媒体、および／または、その他の適切な有形の格納媒体に常駐していてよい。
【００１０】
本開示のさらなる用途は、以下の詳細な記述、請求項、および図面から明らかになる。詳細な記述よび具体例は、例示のみを目的としており、本開示の範囲を制限する意図はない。
【００１１】
本開示は、以下の詳細な記述を、以下で簡単に説明する添付図面とともに読むことで理解が深まる。
【図面の簡単な説明】
【００１２】
【図１】ガロア／カウンターモードプロトコル（ＧＣＭＰ）暗号化を利用する無線デバイスの機能ブロック図である。
【００１３】
【図２Ａ】ノンスモジュールを示す図１の無線デバイスの機能ブロック図である。
【００１４】
【図２Ｂ】図２Ａのノンスモジュールが生成するＧＣＭＰノンスの概略図である。
【００１５】
【図３Ａ】図２ＡのノンスモジュールがＧＣＭＰノンスを生成することのできる方法を示す。
【図３Ｂ】図２ＡのノンスモジュールがＧＣＭＰノンスを生成することのできる方法を示す。
【図３Ｃ】図２ＡのノンスモジュールがＧＣＭＰノンスを生成することのできる方法を示す。
【図３Ｄ】図２ＡのノンスモジュールがＧＣＭＰノンスを生成することのできる方法を示す。
【図３Ｅ】図２ＡのノンスモジュールがＧＣＭＰノンスを生成することのできる方法を示す。
【図３Ｆ】図２ＡのノンスモジュールがＧＣＭＰノンスを生成することのできる方法を示す。
【００１６】
【図４】パケット数を使い切った後の一時鍵（ＴＫ）リキーイング（TK rekeying）中に送信されるプリミティブで利用される鍵記述子を示す。
【００１７】
【図５Ａ】ＴＫリキーイングに新たな一時鍵（ＴＫ）に関連付けられる新たな鍵ＩＤを含めるために利用することのできるＥＡＰＯＬフレームを示す。
【００１８】
【図５Ｂ】ＴＫリキーイングに新たな一時鍵（ＴＫ）に関連付けられる新たな鍵ＩＤを含めるために利用することのできる鍵情報フィールドを示す。
【００１９】
【図６】４ウェイのハンドシェークを示す。
【００２０】
【図７Ａ】ＧＣＭＰ暗号化モジュールを示す図１の無線デバイスの機能ブロック図である。
【００２１】
【図７Ｂ】ＧＣＭＰヘッダを示す。
【００２２】
【図７Ｃ】ＧＧＭＰヘッダを示す。
【００２３】
【図８】図１の無線デバイスの暗号化モジュールの機能ブロック図である。
【００２４】
【図９Ａ】ロバストなセキュリティネットワーク（ＲＳＮ）機能フィールドを示す。
【００２５】
【図９Ｂ】リプレイカウンターの用途を示す。
【００２６】
【図１０】キュー制御モジュールを含む送信デバイスと、リプレイ制御モジュールを含む受信デバイスとを示す。
【発明を実施するための形態】
【００２７】
以下の記載はその性質上例示であり、本開示、その用途または利用を制限する意図はない。明瞭性のために、同じ参照番号は図面間で繰り返し利用して、同様の部材であることを示す場合がある。また、Ａ、Ｂ、およびＣの少なくとも１つ、という言い回しは、非排他的論理和を利用して論理（ＡまたはＢまたはＣ）の意味とする。方法における段階は、本開示の原理を変更しない限りにおいて、異なる順序で実行することもできる。
【００２８】
ここで利用されるモジュールという用語は、１以上のソフトウェアまたはファームウェアイプログラムを実行する特定用途向け集積回路（ＡＳＩＣ）、電子回路、プロセッサ（共有、専用、またはグループ）、および／または、メモリ（共有、専用、またはグループ）、統合型論理回路、および／または、記載する機能を提供するその他の適切なコンポーネントの一部であっても、それらを含んだものであってもよい。
【００２９】
ガロア／カウンターモード（ＧＣＭ）と称される暗号化アルゴリズムは、データを暗号するのに利用される高度暗号化規格（ＡＥＳ）アルゴリズムの処理方法の１つである。暗号化されていないデータにメッセージ認証コード（Message Authentication Code）を生成するために利用されるＧＣＭの変形版は、ＧＭＡＣと称される。ＧＣＭおよびＧＭＡＣは、１２８ビットのブロックサイズを有する対称鍵ブロック暗号化に基づいている。ＧＭＡＣを有するＧＣＭプロトコルは、ＧＧＭプロトコル（ＧＧＭＰ）と称される。以後、ＧＣＭおよびＧＧＭプロトコルは、ＧＣＭプロトコル（ＧＣＭＰ）と総称する。
【００３０】
図１は無線デバイス１００を示している。一実装例では、無線デバイス１００は、無線ギガビットアライアンス（ＷＧＡ）が定義する仕様に従って６０ＧＨｚ帯域で通信する。無線デバイス１００は、ＰＨＹモジュール１０２、メディアアクセス制御（ＭＡＣ）モジュール１０４、およびセキュリティモジュール１０８を含む。
【００３１】
ＰＨＹモジュール１０２は、６０ＧＨｚ帯域で無線デバイス１００を無線通信媒体へと、１以上のアンテナ（不図示）を介してインタフェースする。ＭＡＣモジュール１０４は、６０ＧＨｚ帯域における無線デバイス１００の無線通信媒体へのアクセスを制御する。セキュリティモジュール１０８は、無線通信媒体を介して無線デバイス１００が通信するデータのセキュリティを管理する。
【００３２】
ＭＡＣモジュール１０４は、暗号化モジュール１１０、制御されているポート１１２、および制御されていないポート１１４を含む。暗号化モジュール１１０は、ガロア／カウンターモードプロトコル（ＧＣＭＰ）を利用して送信されるデータを暗号化する。制御されているポート１１２は、暗号化を利用する場合に、暗号化されたデータをセキュアにトランスポートするために利用される。制御されていないポート１１４は、暗号化されていないデータをトランスポートするために利用される。
【００３３】
セキュリティモジュール１０８は、認証モジュール１１６および鍵管理モジュール１１８を含む。認証モジュール１１６は、無線デバイス１００とリンクパートナー（例えばクライアントステーションまたはアクセスポイント）との間の通信を認証する。鍵管理モジュール１１８は、暗号化モジュール１１０がデータを暗号化するために利用する鍵（例えば一時鍵）を生成する。
【００３４】
認証モジュール１１６は、マスター鍵モジュール１２０を含む。マスター鍵モジュール１２０は、６０ＧＨｚで無線デバイス１００とリンクパートナーとの間の通信セッション要のペアワイズマスター鍵（ＰＭＫ）を生成する。鍵管理モジュール１１８は一時鍵モジュール１２２を含む。一時鍵モジュール１２２は、ペアワイズマスター鍵（ＰＭＫ）に基づき一時鍵（例えばペアワイズ一時鍵（ＰＴＫ））を生成する。暗号化モジュール１１０は、一時鍵を利用して送信するデータ（例えば平文ＭＡＣプロトコルデータユニット（ＭＰＤＵ））を暗号化する。
【００３５】
具体的には、暗号化モジュール１１０は、初期化ベクトル（ＩＶ）を利用して暗号化を呼び出す（invoke encryption）。初期化ベクトルは本質的にノンスであり、ＭＰＤＵを暗号化するために一時鍵とともに利用される数値である。暗号化モジュール１１０は、ある一時鍵について、各ＭＰＤＵを暗号化するためにそれぞれ異なる初期化ベクトルを利用する。つまり、ある一時鍵において、１つのＭＰＤＵを暗号化するために利用した初期化ベクトルは、別のＭＰＤＵを暗号化するために再利用はされない、ということである。
【００３６】
通常、初期化ベクトルは、９６ビットの決定論的な構成を有する（９６ビットＩＶと称する）。初期化ベクトルは、９６ビット長よりも長くても短くてもよい（この場合、非９６ビットＩＶと称する）。９６ビットＩＶは、固定フィールドと呼び出しフィールドとを含む。固定フィールドは暗号化デバイス（例えば無線デバイス１００）を識別する。例えば固定フィールドは、暗号化デバイスのＭＡＣアドレスを含んでよい。
【００３７】
呼び出しフィールドは、暗号化する各ＭＰＤＵを識別する。例えば、呼び出しフィールドは、暗号化するＭＰＤＵのパケット番号（ＰＮ）を含んでよい。パケット番号は、１つＭＰＤＵを暗号化するごとに増分される。従ってある一時鍵において、呼び出しフィールドは、暗号化するＭＰＤＵ毎に異なる。
【００３８】
９６ビットＩＶの場合、ｉビットの呼び出しフィールド（例えばパケット番号）は、ある一時鍵を利用して暗号化することができるＭＰＤＵの数（つまり、呼び出しの数）を、２ｉに制限される。さらに、（９６−ｉ）ビットの固定フィールド（例えばＭＡＣアドレス）が、同じ一時鍵を利用することができるデバイスの数を、２９６−ｉに制限される。
【００３９】
従って９６ビットＩＶの場合、ｉ＞３２の場合、呼び出し数２ｉが２３２より大きくなりうる。つまり、ある一時鍵において、ｉビットの呼び出しフィールドを利用して暗号化することができるＭＰＤＵの数が、ｉ＞３２の場合に、２３２より大きくなる場合がある、ということである。
【００４０】
２ｉ回の呼び出しの後に（ある一時鍵を利用して２ｉ個のＭＰＤＵが暗号化された後に）、初期化ベクトルが１にリセットされると、新たな一時鍵を利用しない限りは、２ｉ回目以降の呼び出しには、ある一時鍵に既に利用された初期化ベクトルを再利用せざるをえなくなり、セキュリティが脅かされる。
【００４１】
従って、９６ビットＩＶを利用する場合には、セキュリティが脅かされないようにするために、ある一時鍵についての呼び出しの総数が２ｉ回を超えないようにする。
【００４２】
非９６ビットＩＶを利用する場合には、ＧＣＭアルゴリズムは上記とは異なり、初期化ベクトル＞９６でありｉ＞３２である場合であっても、呼び出し数が２３２を超えないように設計する。
【００４３】
さらに暗号化デバイスは、各暗号化されたＭＰＤＵについてメッセージ整合性コード（ＭＩＣ）を生成する。メッセージ整合性コードは、暗号化されたＭＰＤＵを送信するときに、暗号化されたＭＰＤＵに添付される。この暗号化されたＭＰＤＵを受信する受信デバイスは、このメッセージ整合性コードに基づいて暗号化デバイスの身元を検証する。受信デバイスは、暗号化されたＭＰＤＵを復号化しつつ、同時に、暗号化デバイスの身元を検証する。目下のところＧＣＭＰでは、メッセージ整合性コードは、６４ビットＭＩＣについて呼び出し数が２３２回を超えない（最大パケットサイズ２１５バイト）ように制限を課している。
【００４４】
各ＭＰＤＵは異なる初期化ベクトルで暗号化されるので、非９６ビットＩＶを利用する場合には、呼び出し数に対する制約は、１つの一時鍵を利用して２３２個以上はＭＰＤＵを暗号化しない、ということに等しくなる。６０ＧＨｚ帯域（または他の非常に高いレートの通信システム）の送信に利用されるデータレートおよびパケットサイズにもよるが、呼び出し数に対する制約は、２３２個のＭＰＤＵを暗号化してしまうと一時鍵が使い切られてしまう（exhausted）、ということを意味する。よって、後続する呼び出しにおいては新たな一時鍵を利用することで、初期化ベクトルが同じ一時鍵に対して再利用されないようにする。
【００４５】
非９６ビットＩＶを利用する場合の呼び出し数に対する制約に起因する新たな一時鍵を生成するオーバヘッドは、新たな初期化ベクトル（ここではＧＣＭＰノンスと称する）を以下のように構築することで軽減することができる。ＧＣＭＰノンスは、９６ビット長とする（つまり９６ビットＩＶ）。ＧＣＭＰノンスに、ある一時鍵を利用した２３２個を越える数のＭＰＤＵの暗号化を可能とするために、３２ビット長より長い呼び出しフィールドを含ませる。この一時鍵を利用することで、この一時鍵を利用して暗号化されるどのＭＰＤＵについてもＧＣＭＰの値を繰り返すことなく、２３２個を越える数のＭＰＤＵを暗号化することができるようになる。
【００４６】
さらにＧＣＭＰノンスは、暗号化ブロック鎖（ＣＢＣ）メディアアクセス制御（ＭＡＣ）プロトコル（ＣＣＭＰ）ノンスを持つカウンターモード（ＣＴＲ）から構築することができる。従って既存のＣＣＭＰアーキテクチャを活用、利用して、ＧＣＭＰノンスを生成することができることになる。ＧＣＭＰ暗号化は、ＣＣＭＰ暗号化を採用しているデバイス（例えば２．４／５ＧＨｚ帯域で動作するデバイス）に実装することもできる。
【００４７】
例えば１２８ビットの一時鍵の場合、ＣＣＭＰは、１０４ビット（１３オクテット）および６４ビットのＭＩＣのＩＶ／ノンス（ここではＣＣＭＰノンスと称する）を利用する。しかしＧＣＭＰでは、９６ビットのＧＣＭＰノンス（１２オクテット）および１２８ビットのメッセージ整合性コードを推奨している。従って９６ビットのＧＣＭＰノンスは、ＣＣＭＰ  ＩＶ／ノンスの長さを１オクテット減らして、１０４ビットのＣＣＭＰノンスから構築することができる。そして、ＧＣＭＰメッセージ整合性コードは、ＣＣＭＰメッセージ整合性コードを６４ビットから１２８ビットへ長くすることで生成する。
【００４８】
図２Ａおよび図２Ｂに示すように、暗号化モジュール１１０はノンスモジュール２００を含み、ノンスモジュール２００はＧＣＭＰノンスを以下のように生成する図２Ａでは、暗号化モジュール１１０は、暗号化すべき平文ＭＰＤＵをＭＡＣモジュール１０４から受信する。また、暗号化モジュール１１０は、平文ＭＰＤＵを暗号化するための一時鍵（ＴＫ）をセキュリティモジュール１０８から受信する。
【００４９】
ノンスモジュール２００は、無線デバイス１００のＭＡＣアドレスをＭＡＣモジュール１０４から受信する。加えて、暗号化するべき各平文ＭＰＤＵについて、ノンスモジュール２００は、ＭＡＣモジュール１０４からパケット番号（ＰＮ）を受信する。例えばＭＡＣモジュール１０４は、暗号化のために暗号化モジュール１１０に入力される平文ＭＰＤＵの数をカウントするＰＮカウンターモジュール２０２を含んでよい。ＰＮカウンターモジュール２０２は、ノンスモジュール２００にＰＮカウントを出力する。一部の実装例では、ＭＡＣモジュール１０４の代わりに、セキュリティモジュール１０８がＰＮカウンターモジュール２０２を含んでもよい。
【００５０】
ノンスモジュール２００は、ＭＡＣアドレスおよびＰＮカウントに基づいて９６ビットのＧＣＭＰノンスを生成する。暗号化モジュール１１０はさらに、セキュリティモジュール１０８から受信する一時鍵（ＴＫ）およびＧＣＭＰノンスを利用して平文ＭＰＤＵを暗号化し、さらに、ＭＰＤＵのメッセージ整合性コードを生成するＧＣＭモジュール２０４をも含む。
【００５１】
図２Ｂでは、ＧＣＭＰノンスは２つのフィールドを含む。第１のフィールドは、６０ＧＨｚ帯域の無線デバイス１００のＭＡＣアドレスを含む。このＭＡＣアドレスは、一時鍵（例えばペアワイズ一時鍵、またの名称をＰＴＫ）を生成するために利用される。第１のフィールドは通常４８ビット長（つまり６オクテット）である。第２のフィールドはパケット番号を含む。ＧＣＭＰノンスの長さは９６ビットなので、第２のフィールドは４８ビット長（つまり６オクテット）である。
【００５２】
４８ビットのパケット番号によって、ある一時鍵について２４８回の呼び出しが可能となる。つまり、暗号化モジュール１１０は、ある一時鍵を利用して、２４８個のＭＰＤＵを、２４８個の異なるパケット番号で暗号化することができる、ということである。１つの一時鍵について、どの２４８個のパケット番号も繰り返されることがないので、セキュリティが脅かされない。
【００５３】
図３Ａから図３Ｆを参照すると、ノンスモジュール２００が、ＧＣＭＰノンスを生成するために様々に異なる方法を採用している様子が描かれている。図３Ａでは、ノンスモジュール２００は、１０４ビットのＣＣＭＰノンスからプライオリティ・オクテットを削除することにより、１０４ビットのＣＣＭＰノンスからＧＣＭＰノンスを構築している。一部の実装例では、ノンスモジュール２００は、ＧＣＭＰノンス同様にプライオリティ・オクテットを含む１０４ビットのＣＣＭＰノンスを利用することもできる。
【００５４】
図３Ｂでは、１０４ビットのＣＣＭＰノンスからプライオリティ・オクテットを削除する代わりに、ノンスモジュール２００はパケット番号の長さを１バイト減らすことで（つまり４８ビットから４０ビットへ減らすことで）、２４０回の呼び出しを可能としている。一部の実装例では、ノンスモジュール２００は、パケット番号の長さからの減少量は８ビットより大きくても小さくてもよい。加えて一部の実装例では、ノンスモジュール２００は、リザーブされている８ビットのうち４ビット（ビットｂ４からｂ７）をプライオリティ・オクテットからパケット番号に移動させることで４４ビットのパケット番号を提供して、２４４回の呼び出しを可能とすることもできる。
【００５５】
図３Ｃから図３Ｅでは、２つのフレームが同じノンスを利用しないようにするために、２つのフレームにそれぞれ異なるプライオリティ・フィールド値、異なる管理フィールド値、異なるＭＡＣアドレス、または異なるパケット番号を含ませている。図３Ｃでは、ノンスモジュール２００は、ＧＣＭＰノンス内にプライオリティ・フィールドを含むことで、異なる種類のデータに対しては別のパケット番号を利用するようにしている。
【００５６】
４４ビットのパケット番号を利用する場合には、データのタイプによって、異なるサービス品質（ＱｏＳ）を提供することができるように、プライオリティ・フィールドが、あるフレーム内のデータのタイプを示す４ビットのトラフィック識別子（ＴＩＤ）を含んでいる。例えば、ビデオデータを搬送しているフレームには、インターネットデータを搬送しているフレームとは異なるトラフィック識別子を利用することができる。４ビットのプライオリティ・フィールドを利用することで、異なるタイプのデータに対してそれぞれ別のパケット番号（例えばＰＮ０、ＰＮ１、…、およびＰＮ５）を利用することができる。プライオリティ・フィールド内の他の４ビットは、４４ビットのパケット番号を作成するためにパケット番号に再割り当てされる。
【００５７】
８オクテットのＧＧＭＰヘッダ（現在利用されているＣＣＭＰヘッダと同じサイズ／フォーマット）を維持しつつ４４ビットのパケット番号を利用するために、ノンスモジュール２００は、ＰＮ５に４個のゼロビット（またはその他の無視可能なビット数）をパディングまたは添付する。つまり、ＰＮ５は、４つの有用なビットと４つのパディングビットとを有する。ＧＣＭＰノンスを構築するときに、ノンスモジュール２００は４ビットのパッドをＰＮ５から外す。ノンスモジュール２００は、ＰＮ５のＰＮ０−ＰＮ４および４つの有用なビットを利用して４４ビットのパケット番号を生成することで、２４４回の呼び出しを可能とする。
【００５８】
プライオリティ・フィールドがＧＣＭＰノンスに含まれている場合、異なるトラフィック識別子を有する２つのフレームでは、同じノンスの再利用をしなくても同じパケット番号値を利用することができる。つまり、異なるプライオリティ／ＴＩＤフレームキュー同士が、パケット番号を再利用することなく、それぞれ独立したＰＮカウンターを利用することができる、ということである。利用可能なＰＮカウンターの数は、プライオリティ・フィールドのサイズにより決定される。例えば４ビットのプライオリティ・フィールドであれば、２４個のＰＮカウンターが利用可能である。プライオリティ・フィールドがＧＣＭＰノンスに含まれていない場合には、異なるトラフィック識別子を有するフレームキュー同士間で同じＰＮカウンターを共有する。
【００５９】
図３Ｄのノンスモジュール２００は、ＧＣＭＰノンスのノンスフラグフィールドにプライオリティ・フィールドを含んでいる。ノンスフラグフィールドは、ノンスフラグフィールドが、プライオリティ・オクテットからの１つのリザーブビットを利用してＭＰＤＵが管理フレームであるかデータフレームであるかを示している以外は、図３Ａのプライオリティ・オクテットフィールドと同じである。つまり、ノンスフラグフィールドは、ＭＰＤＵが管理フレームであるかデータフレームであるかを示す管理フィールド（例えばリザーブビット）を含んでいる。管理フィールドがＧＣＭＰノンスに含まれている場合には、管理フレームキューとデータフレームキューとは、それぞれ独立したＰＮカウンターを利用することができる。管理フレームフィールドがＧＣＭＰノンスに含まれていない場合には、管理フレームキューとデータフレームキューとが同じＰＮカウンターを共有する。
【００６０】
図３Ｄのノンスモジュール２００は、１オクテットのノンスフラグフィールドを含み、６オクテットのＭＡＣアドレスを含む９６ビットのＧＣＭＰノンスを生成する。ノンスフラグ不イールドは、４つのプライオリティ・ビットｂ０−ｂ３、管理ビットｂ４、および３つのリザーブビットｂ５−ｂ７を含む。ノンスモジュール２００は、４３ビットのＰＮを、残りの５オクテットと、３つのリザーブビットｂ５−ｂ７を利用して生成して、２４３回の呼び出しを可能とする。
【００６１】
図３Ｅではプライオリティ・フィールドが削除されている。ノンスモジュール２００は、１オクテットのノンスフラグフィールドを含み、６オクテットのＭＡＣアドレスを含む９６ビットのＧＣＭＰノンスを生成する。ノンスフラグフィールドは、１つの管理ビットｂ０と７つのリザーブビットｂ１−ｂ７とを含む。ノンスモジュール２００は、４７ビットのパケット番号を、残りの５オクテットと７つのリザーブビットｂ１−ｂ７とを利用して生成して、２４７回の呼び出しを可能とする。
【００６２】
ＧＣＭＰ暗号化はカウンター前ブロック（Ｊ０）を利用する。通常、カウンター前ブロックは１２８ビット長であり、９６ビットのノンスと、「０」ビットを３１個、「１」ビットを１個含み、これによりノンスを９６個に制限している。つまり、Ｊ０＝ノンス９６‖０３１‖１となる。この代わりに、カウンター前ブロックＪ０のフォーマットを以下のように変更することもできる。つまり、カウンター前ブロックＪ０に１０４ビットのノンス、「０」ビットを２３個、および「１」ビットを１個含ませることで、ＣＣＭＰノンスフォーマットに準じて１０４ビットのノンスの利用を可能とすることもできる。この場合には、Ｊ０＝ノンス１０４‖０２３‖１となる。
【００６３】
図３Ｆは、１２８ビット長でありＧＣＭＰ暗号化で再利用することのできるＣＣＭＰ暗号化で利用されるＣＣＭＰカウンター前ブロックを示している。ＣＣＭＰカウンター前ブロックは、８ビットフラグ（リザーブビット）、１０４ビットのノンス、および、１６ビットの制御フィールド（全て「０」である）を含む。ＣＣＭＰカウンター前ブロックの１０４ビットのノンスは、ＧＣＭＰカウンター前ブロックＪ０を生成するために再利用することができる。例えば暗号化モジュール１１０がＧＣＭＰカウンター前ブロックＪ０を生成してよい。
【００６４】
図３Ａから図３Ｆは、ＧＣＭＰノンスを生成する方法の例を示す。これら方法によって、同じパケット番号を再利用することなく、１つの一時鍵で２３２個を超える数のＭＰＤＵを暗号化することができる。同じパケット番号を再利用することなく、１つの一時鍵で２３２個を超える数のＭＰＤＵを暗号化することができるＧＣＭ生成方法には、この他の方法もある。
【００６５】
１つの一時鍵については、有限期間中にパケット番号を全て利用してしまう（つまり使い切る）場合がある。有限期間の長さは、データレートとパケット番号の長さに応じて決まる。例えばＳビットのパケット番号は、２Ｓ回の呼び出しで使い切られる（つまり、１つの一時鍵で２Ｓ個のＭＰＤＵを暗号化すると使い切られる）。さらにパケット番号は、より高いデータレートではより速く使い切られる。
【００６６】
ある一時鍵について同じパケット番号を繰り返すことはできないので、セキュリティモジュール１０８は、各一時鍵のパケット番号をモニタしている。セキュリティモジュール１０８は、１つの一時鍵でリンクパートナーとの間に構築される各ペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）中に、そのパケット番号をモニタする。パケット番号が使い切られると、セキュリティモジュール１０８は、この一時鍵を利用してリンクパートナーとの間に構築されたＰＴＫＳＡを部分的に終了する。
【００６７】
加えて、セキュリティモジュール１０８は、リンクパートナーに、ＰＴＫＳＡのパケット番号が使い切られたことを通知する。例えばセキュリティモジュール１０８は、ロバストなセキュリティネットワークアソシエーション（ＲＳＮＡ）フレームまたはＴＫＳＡ終了フレームを、リンクパートナーに送信する。リンクパートナーはＲＳＮＡ終了フレームまたはＰＴＫＳＡ終了フレームを受信すると、現在のＰＴＫＳＡを削除する。
【００６８】
クライアントステーション（ＳＴＡ）対間のＲＳＮＡ／ＴＫＳＡが、パケット番号の使い切りにより終了すると、ＳＴＡ対は、ＲＳＮＡ／ＴＫＳＡを再度構築して、新たな一時鍵を生成する。例えば、ＳＴＡ対が、ペアワイズマスター鍵（ＰＭＫ）を保持しており、この同じＰＭＫを利用することで、新たな一時鍵（ＰＴＫ）を生成する。ＳＴＡ対は４ウェイハンドシェークを利用して新たなＰＴＫを生成する。例えば送信ＳＴＡのセキュリティモジュール（無線デバイス１００のセキュリティモジュール１０８）と受信ＳＴＡのセキュリティモジュールとが、４ウェイハンドシェークを行う。
【００６９】
別の方法として、セキュリティモジュール１０８がパケット番号をモニタして、パケット番号が使い切られるときが近づくと、その旨を判断するようにしてもよい。例えばセキュリティモジュール１０８は、パケット番号が所定の閾値以上になったときを判断してよい。所定の閾値は、パケット番号の長さおよびデータレートに応じて決定することができる。
【００７０】
パケット番号が使い切られるときが近づくと（つまり、パケット番号が所定の閾値以上になると）、セキュリティモジュール１０８は、４ウェイハンドシェークを開始して、パケット番号が使い切られる前に新たな一時鍵を生成することができる。別の方法としては、パケット番号が所定の閾値以上になると、セキュリティモジュール１０８がピアＳＴＡに対して、４ウェイハンドシェークを開始してパケット番号が使い切られる前に新たな一時鍵を生成するよう要請することもできる。
【００７１】
具体的には、セキュリティモジュール１０８は、４ウェイハンドシェークメッセージに、新たな一時鍵に関連付けて新たな鍵ＩＤを含める。この新たな鍵ＩＤは、新たな一時鍵を生成するために利用される。例えば、一時鍵モジュール１２２（図１参照）が新たな鍵ＩＤを生成することができる。新たな鍵ＩＤに関連付けられている新たな一時鍵に基づいて、新たなペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）がＳＴＡ対の間に構築される。ＰＮカウンターモジュール２０２は、新たな一時鍵を利用して暗号化が始まるとリセットされる。
【００７２】
新たな一時鍵をインストールする前は（つまり暗号化モジュール１１０に格納する前は）、現在の一時鍵がまだ使い切られていない間は、ＳＴＡ対はまだ現在の一時鍵を利用してデータを暗号化することができる。新たな一時鍵が生成されインストールされると、ＳＴＡ対はこの新たな一時鍵（新たな鍵ＩＤに関連付けられたもの）を利用してデータを暗号化することができるようになる。
【００７３】
図４は、パケット番号の使い切りについて詳しく説明している。パケット番号が所定の閾値以上となると、送信ＳＴＡのＭＡＣモジュール（例えば図１に示す無線デバイス１００のＭＡＣモジュール１０４）はプリミティブを生成する。プリミティブはＭＬＭＥ−ＰＮ−使いきり．示唆プリミティブ（MLME-PN-Exhaustion.indication primitive）と称され、ＭＬＭＥが、送信ＳＴＡのＭＡＣサブレイヤ管理エンティティを示している。図４は、ＭＬＭＥ−ＰＮ−使いきり．示唆プリミティブで利用される鍵記述子を示している。
【００７４】
４８ビットのパケット番号の場合には、所定の閾値は２４８未満であり、セキュリティモジュール１０８は、後述するように、残りのパケット番号を利用してＴＫＳＡ／ＲＳＮＡティアダウンメッセージを送信することができる。例えば所定の閾値は、２４７および２４８の間であり、パケット番号は４８ビット長である。
【００７５】
ＭＬＭＥ−ＰＮ−使いきり．示唆プリミティブを受信すると、ＳＴＡの局管理エンティティ（ＳＭＥ）（例えばセキュリティモジュール）は、ＴＫＳＡ／ＲＳＮＡ／アソシエーション／ＳＴＳＬティアダウンプロセスを呼び出す。ＳＴＡのＳＭＥは、現在のペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）と、現在のＰＴＫＳＡに関連付けられている一時鍵とを削除する。
【００７６】
別の方法としては、パケット番号が使い切られると、送信ＳＴＡのＳＭＥ（例えば無線デバイス１００のセキュリティモジュール１０８）が、制御されているポート（図１に示す制御されているポート１１２）をブロックする、というものもある。さらに、送信ＳＴＡのＳＭＥが、現在利用されている一時鍵を削除する。さらに送信ＳＴＡのＳＭＥは、４ウェイハンドシェークを開始して（またはピアＳＴＡに４ウェイハンドシェークの開始を要求して）、新たな一時鍵を生成してインストールすることができる。この方法を利用するときには、既存のＲＳＮＡおよびアソシエーション／ＳＴＳＬはティアダウンされない。
【００７７】
受信ＳＴＡが第１のハンドシェークメッセージまたはハンドシェーク要求を受信すると、この受信ＳＴＡは、さらに自身の制御されているポートをブロックすることができる。加えて、受信ＳＴＡのＳＭＥは、現在利用されている一時鍵を削除することができる。また、受信ＳＴＡは、新たな一時鍵がインストールされるまでの間は、古い一時鍵を使い続けることもできる（受信ＳＴＡのパケット番号が使い切られていない限りにおいて）。
【００７８】
より詳しくは、パケット番号が使い切られると、送信ＳＴＡのＭＡＣモジュール１０４は、ＭＬＭＥ−ＰＮ−使いきり．示唆プリミティブを生成する。セキュリティモジュール１０８（送信ＳＴＡのＳＭＥ）は、現在のＰＴＫＳＡを削除して、ＭＬＭＥディソシエーションプリミティブと称されるプリミティブを呼び出す。セキュリティモジュール１０８は、ピアＳＴＡにディソシエーションフレームを送信する。ディソシエーションフレームを受信すると、ピアＳＴＡは現在のＰＴＫＳＡを削除する。
【００７９】
加えて、セキュリティモジュール１０８（つまり送信ＳＴＡのＳＭＥ）は、グループ一時鍵セキュリティアソシエーション（ＧＴＫＳＡ）を削除する。さらにセキュリティモジュール１０８は、局から局へのリンク（ＳＴＳＬ）一時鍵セキュリティアソシエーション（ＳＴＫＳＡ）を削除する。セキュリティモジュール１０８は、さらに、ＳＴＫＳＡのためにＳＴＳＬアプリケーションティアダウンプロシージャを呼び出すことができる。ピアＳＴＡがＳＴＳＬティアダウンメッセージを受信すると、ピアＳＴＡのＳＭＥは対応するＳＴＫＳＡを削除する。
【００８０】
パケット番号の使い切りは、他の方法で処理することもできる。例えば送信ＳＴＡのＳＭＥ（例えばセキュリティモジュール１０８）は、ディソシエーションを呼び出すことなく、対応するロバストなセキュリティネットワークアソシエーション（ＲＳＮＡ）をティアダウンすることができる。または、ＲＳＮＡティアダウンメッセージをピアＳＴＡに送り、このピアＳＴＡにＲＳＮＡをティアダウンさせることもできる。ピアＳＴＡのＳＭＥは、ペアワイズマスター鍵セキュリティアソシエーション（ＰＭＫＳＡ）およびペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）をティアダウンすることができる。
【００８１】
送信ＳＴＡのＳＭＥ（例えばセキュリティモジュール１０８）は、ＲＳＮＡおよびアソシエーションを終了することなくＰＴＫＳＡのみを削除することもできる。ＰＴＫＳＡ削除メッセージをピアＳＴＡに送って、ピアＳＴＡに対応するＰＴＫＳＡを削除させることもできる。
【００８２】
送信ＳＴＡのＳＭＥ（例えばセキュリティモジュール１０８）は、ＳＴＳＬティアダウンを呼び出すことなく対応するＲＳＮＡをティアダウンすることもできる。ＲＳＮＡティアダウンメッセージをピアＳＴＡに送り、このピアＳＴＡにＲＳＮＡをティアダウンさせることもできる。ピアＳＴＡは、ＳＴＳＬ一時鍵セキュリティアソシエーション（ＳＴＫＳＡ）および／またはＳＴＳＬマスター鍵セキュリティアソシエーション（ＳＭＫＳＡ）をティアダウンすることもできる。
【００８３】
送信ＳＴＡのＳＭＥ（例えばセキュリティモジュール１０８）は、ＲＳＮＡおよびＳＴＳＬを終了することなくＳＴＫＳＡのみを削除することもできる。ＳＴＫＳＡ削除メッセージをピアＳＴＡに送って、ピアＳＴＡに対応するＳＴＫＳＡを削除させることもできる。
【００８４】
このように、パケット番号が所定の閾値より大きい場合に、送信ＳＴＡは、一時鍵を利用して受信ＳＴＡとの間に構築したＲＳＮＡをティアダウンして、ＲＳＮＡおよび一時鍵を削除することができる。または、パケット番号が所定の閾値より大きい場合、送信ＳＴＡは、一時鍵を即座に削除して、および／または、ＲＳＮＡを削除して、および／または、アソシエーションを削除して、受信ＳＴＡに対して、一時鍵、ＲＳＮＡ、よびアソシエーションを削除するよう通知することもできる。一部の実装例では、送信ＳＴＡおよび受信ＳＴＡはさらに、一時鍵およびＲＳＮＡを削除して、アソシエーションだけは維持しておいたり、または、一時鍵を削除して、ＲＳＮＡとアソシエーションとは維持しておいたりすることもできる。
【００８５】
さらにパケット番号が所定の閾値より大きい場合、送信ＳＴＡは、一時鍵を削除することができるが、受信ＳＴＡのパケット番号が所定の閾値よりまだ小さい場合には、新たな一時鍵の構築までは、受信ＳＴＡから受信する暗号化されたデータの復号化にこの一時鍵を使い続けることもできる。または、パケット番号が該所定の閾値より小さい別の閾値より小さいときに送信ＳＴＡが４ウェイハンドシェークを開始して、新たな一時鍵を構築しながら、同時に現在の一時鍵はまだ削除せず維持しておくこともできる。新たな一時鍵が構築されインストールされてから、送信ＳＴＡおよび受信ＳＴＡは現在の一時鍵を削除する。
【００８６】
所定の閾値より大きいパケット番号の利用は、ＭＰＤＵの暗号化に限定はされない。所定の閾値より大きいパケット番号は、他のフレームの暗号化に利用することもできる。例えば所定の閾値より大きいパケット番号は、ＲＳＮＡティアダウンフレーム、ディソシエーションフレーム等の暗号化に利用することもできる。
【００８７】
パケットが使い切られた後のティアダウン後に２つのデバイス間にセキュリティアソシエーションを再度構築することを、一時鍵（ＴＫ）リキーイングと称する。２つのデバイスの局管理エンティティ（ＳＭＥ）（つまりセキュリティモジュール）は、ＴＫリキーイングを以下のように実行する。２つのデバイスは、ＳＴＡ対、または、ＳＴＡおよびアクセスポイント（ＡＰ）を含んでよい。またはデバイスのうち一方が個人基本サービスセット（ＰＢＳＳ）制御ポイント（ＰＣＰ）であり、他方が非ＰＣＰ  ＳＴＡであってよい。
【００８８】
ＰＣＰ／ＡＰと非ＰＣＰ／ＡＰ  ＳＴＡとの間のペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）が、パケット番号の使い切りにより削除されると、非ＰＣＰ／ＡＰ  ＳＴＡは、ＰＣＰ／ＡＰと再度アソシエーションを結びなおすことができ、および／または、ＰＣＰ／ＡＰと新たなＲＳＮＡを構築することができる。非ＰＣＰ／ＡＰ  ＳＴＡは、１以上のペアワイズマスター鍵セキュリティアソシエーション（ＰＭＫＳＡ）をキャッシングすることができる。非ＰＣＰ／ＡＰ  ＳＴＡが１以上のＰＭＫＳＡをキャッシングした場合には、非ＰＣＰ／ＡＰ  ＳＴＡはＰＭＫＳＡを再度構築する必要がない。代わりに、非ＰＣＰ／ＡＰ  ＳＴＡは、ＰＭＫＳＡ構築を省いて、４ウェイハンドシェークを利用して新たなペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）を生成することができる。
【００８９】
グループ一時鍵セキュリティアソシエーション（ＧＴＫＳＡ）が、パケット番号の使い切りによって削除された場合には、配信元ＳＴＡは、４ウェイハンドシェークまたはグループ鍵ハンドシェークを利用して新たなＧＴＫＳＡを作成してよい。配信元ＳＴＡは、イニシエータＳＴＡ（あるいはＳＴＡ＿Ｉ）と称される場合がある。ピアＳＴＡはＳＴＡ＿Ｐと称される場合がある。
【００９０】
局から局へのリンク（ＳＴＳＬ）一時鍵セキュリティアソシエーション（ＳＴＫＳＡ）が、パケット番号の使い切りによって削除された場合には、ＳＴＡ＿Ｉは、新たなＳＴＳＬをＳＴＡ＿Ｐとの間に構築することができる。ＳＴＡ対の間（つまりＳＴＡ＿ＩとＳＴＡ＿Ｐとの間）のＳＴＳＬマスター鍵（ＳＭＫ）が期限切れになっていない場合には、ＳＴＡ＿Ｉは、ＳＴＡ＿Ｐとの間で４ウェアイハンドシェークを開始して、新たなＳＴＫＳＡを生成することができる。ＳＭＫが期限切れになっている場合には、ＳＴＡ＿Ｉは、新たなＳＴＳＬマスター鍵セキュリティアソシエーション（ＳＭＫＳＡ）および新たなＳＴＳＬ一時鍵セキュリティアソシエーション（ＳＴＫＳＡ）を、ＳＴＡ＿Ｐとの間に生成する。
【００９１】
または、一時鍵（ＴＫ）リキーイングを以下のように実行することもできる。例えばロバストなセキュリティネットワークアソシエーション（ＲＳＮＡ）が、ディソシエーションなしに、または、ＳＴＳＬティアダウンなしに終了した場合、ＳＴＡは新たなＲＳＮＡを開始することができ、または、新たなＲＳＮＡを開始するようピアＳＴＡに要求することができる。別の例としてペアワイズマスター鍵（ＰＭＫ）／ＳＴＳＬマスター鍵（ＳＭＫ）がキャッシングされている場合には、ペアワイズマスター鍵セキュリティアソシエーション（ＰＭＫＳＡ）／ＳＴＳＬマスター鍵セキュリティアソシエーション（ＳＭＫＳＡ）を省くことができる。
【００９２】
ペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）／ＳＴＳＬ一時鍵セキュリティアソシエーション（ＳＴＫＳＡ）のみが削除されている場合には、ＳＴＡは、４ウェイハンドシェークを開始して、新たなＰＴＫＳＡ／ＳＴＫＳＡを生成することができる（マスター鍵が有効期限切れになっていないことを条件に）。または、ＳＴＡはピアＳＴＡに４ウェイハンドシェークの開始を要求して、新たなＰＴＫＳＡ／ＳＴＫＳＡを生成させることもできる（マスター鍵が有効期限切れになっていないことを条件に）。
【００９３】
一部の実装例では、送信ＳＴＡは、ある一時鍵について、パケット番号が使い切られる状態に近づくと（例えばＰＮ≧所定の閾値である場合）、一時鍵を更新することができる。パケット番号が使い切られる状態に近づき、送信ＳＴＡが認証器である場合、送信ＳＴＡは４ウェイハンドシェークをサプリカントＳＴＡとの間で開始して、新たな一時鍵を生成することができる。
【００９４】
パケット番号が使い切られる状態に近づき、送信ＳＴＡがサプリカントである場合には、送信ＳＴＡは、ローカルエリアネットワーク経由の拡張可能認証プロトコル（ＥＡＰＯＬ）要求メッセージを認証側のＳＴＡ（受信ＳＴＡ）に送信することができる。認証側のＳＴＡは、４ウェイハンドシェークを開始して新たな一時鍵を生成することができる。ピアツーピアセキュリティアソシエーション（Ｐ２ＰＳＡ）では、より低位のＭＡＣアドレスを有するＳＴＡが認証器であり、より高位のＭＡＣアドレスを有するＳＴＡがサプリカントであってよい。
【００９５】
パケット番号が使い切られると、送信ＳＴＡは、データ暗号化のために新たな一時鍵が構築されるまで、セキュアなデータの送信を中断する。しかし送信ＳＴＡは、ピアＳＴＡからのセキュアなデータの受信は続けることができる。新たな一時鍵がパケット番号の使い切りの前にインストールされない場合には（一実装例では）、送信ＳＴＡは、新たな一次鍵の生成およびインストールまでの間、制御されているポート（例えば図１に示す制御されているポート１１２）をブロックすることができる。
【００９６】
受信ＳＴＡは、送信デバイスのパケット番号が使い切られており、対応するＴＫが更新されていないうちは、送信ＳＴＡから受信したＭＳＤＵを破棄する。受信ＳＴＡが送信ＳＴＡのパケット番号が使い切られていること、または、所定の閾値以上であることを検知すると、受信ＳＴＡは、対応するペアワイズ一時セキュリティ鍵アソシエーション（ＰＴＫＳＡ）を削除してよい。受信ＳＴＡは、送信ＳＴＡに対して、ＲＳＮＡ終了フレームまたはＰＴＫＳＡ終了フレームを送信してよい。
【００９７】
送信者が開始するリキーイング（つまり、送信ＳＴＡが開始したＴＫリキーイング）では、パケット番号が使い切られる状態に近づくと、送信ＳＴＡは、４ウェイハンドシェークを受信ＳＴＡとの間で開始して、新たな一時鍵を生成する。セキュリティアソシエーション対のうちのいずれかのＳＴＡが、自身のパケット番号の利用状況に応じてＴＫリキーイングを開始することができる。ＳＴＡが両方とも同時にリキーイングを開始する場合には（一実装例では）、より低位のＭＡＣアドレスを有するＳＴＡ（認証器）がリキーイングを続行して、より高位のＭＡＣアドレスを有するＳＴＡ（サプリカント）がリキーイングを終了する。
【００９８】
受信者が開始するリキーイング（つまり、受信ＳＴＡが開始したＴＫリキーイング）では、受信ＳＴＡが送信ＳＴＡのＰＮが所定の閾値以上になったことを検知すると、受信ＳＴＡは、ＴＫリキーイングを開始してよい（受信ＳＴＡが認証器である場合）。また、受信ＳＴＡは、ローカルエリアネットワーク経由の拡張可能認証プロトコル（ＥＡＰＯＬ）要求メッセージを、送信ＳＴＡ（受信ＳＴＡ）に送信して、ＴＫリキーイングを要求することができる。
【００９９】
図５Ａおよび図５Ｂには、ＴＫリキーイングにおいて、新たな一時鍵に関連付けられている新たな鍵ＩＤが、ＥＡＰＯＬ−鍵フレームの強調されているフィールドのいずれかに含まれる旨が示されている。例えば図５Ａでは、セキュリティモジュール１０８は、鍵ＩＤ鍵データカプセル化（ＫＤＥ）を定義しており、ＥＡＰＯＬ鍵フレームの鍵データフィールド（強調表示されている）に鍵ＩＤ  ＫＤＥを含んでよい。または、リザーブされているオクテットの１つ（強調表示されている）を、鍵ＩＤフィールドとして利用することができる。または、一部の実装例では、図５Ｂに示す鍵情報フィールドのように、２つのリザーブされているビット（強調表示されている）を利用することもできる。
【０１００】
図６は、新たな一時鍵と関連付けられている新たな鍵ＩＤが、４ウェイハンドシェークのメッセージに含まれている様子を示している。例えばセキュリティモジュール１０８は、４ウェイハンドシェークメッセージ全てに、または、メッセージ１、２、および３に、または、メッセージ１および２に、またはメッセージ３および４に、鍵ＩＤを含むことができる。
【０１０１】
図６を参照すると、ＳＴＡ１（サプリカント）とＳＴＡ２（認証器）との間の４ウェイハンドシェークが示されている。サプリカントおよび認証器は、それぞれが図１に示されている無線デバイス１００であってよい。サプリカントおよび認証器のセキュリティモジュールは４ウェイハンドシェークを実行する。
【０１０２】
４ウェイハンドシェークは、ＳＴＡ１およびＳＴＡ２それぞれが、互いに同じマスター鍵（例えば同じ予め共有されている鍵またはＰＳＫ）を有していることを検証する、という２つの目的を達成することができる。加えて、同じマスター鍵（ＰＳＫ）を利用して、同一の一時鍵（たとえばペアワイズ一次鍵（ＰＴＫ））をそれぞれのＳＴＡ内に生成することができる。
【０１０３】
４ウェイハンドシェークは、認証器が乱数であるノンス（ＡＮｏｎｃｅ）をメッセージ１でサプリカントに送信することで開始される。サプリカントはＡＮｏｎｃｅに基づいてＳＮｏｎｃｅを生成する。サプリカントは、マスター鍵、ＡＮｏｎｃｅ、ＳＮｏｎｃｅ、並びに、認証器およびサプリカントのＭＡＣアドレスの組み合わせを利用して、一時鍵（ＰＴＫ）を生成する。サプリカントはさらに、ＰＴＫを利用してメッセージ整合性コードを生成する。
【０１０４】
サプリカントは、ＳＮｏｎｃｅおよびメッセージ整合性コードのそれぞれをメッセージ２で認証器に送信する。サプリカントは、ＰＴＫの一部を利用してメッセージ２を保護する。認証器はＡｎｏｎｃｅ、ＳＮｏｎｃｅ、およびＭＡＣアドレスを利用して、一時鍵（ＰＴＫ）を生成する。認証器は、認証器が生成したＰＴＫを利用してメッセージ整合性コードを生成する。認証器が生成したメッセージ整合性コードが、サプリカントが生成したメッセージ整合性コードと整合すると、認証器は、サプリカントが、一時鍵生成に、認証器と同じマスター鍵を生成していると判断することができる。
【０１０５】
認証器は、認証器が生成するメッセージ整合性コードをメッセージ３でサプリカントに送信する。サプリカントが、認証器が生成したメッセージ整合性コードが、サプリカントが生成したメッセージ整合性コードと同じであると判断する場合、サプリカントは、認証器が、一時鍵生成に、サプリカントと同じマスター鍵を利用していると判断することができる。加えて、認証器が生成したメッセージ整合性コードが、サプリカントが生成したメッセージ整合性コードと同じである場合には、サプリカントは、認証器が生成した一時鍵が、サプリカントが生成した一時鍵と同じであると判断する。サプリカントは、認証器にメッセージ４で受信確認を送信する。
【０１０６】
次いで、生成された一時鍵は、それぞれの暗号化モジュールにインストールされ、送信するデータを新たな一時鍵を利用して暗号化する。４ウェイハンドシェークは、パケット番号が使い切られていたり、使い切られた状態に近づいていたりするときに実行される。各４ウェイハンドシェーク中にメッセージ１に異なる乱数を利用して、異なる一時鍵を生成する。加えて、メッセージ３に新たな鍵ＩＤを含めることで、前の一時鍵から新たな一時鍵を区別する。次いで、新たな鍵ＩＤを新たな一時鍵とともに利用してデータを暗号化する。
【０１０７】
一部の実装例では、４ウェイハンドシェークを利用する代わりに、前の一時鍵を利用して新たな一時鍵を生成することもできる。具体的には、現在利用されている一時鍵に関連付けられているパケット番号が使い切られると、または使い切られた状態に近づくと、ピアＳＴＡの一時鍵モジュール（例えば図１に示す無線デバイス１００の一時鍵モジュール１２２）は、現在利用されている一時鍵（および／または古いほうの一時鍵）および新たな一時鍵の鍵ＩＤに基づいて新たな一時鍵を生成することができる。（つまり、ＴＫ（ｉ＋１）＝Ｆ｛ＴＫ（ｉ），ｉ＋１，…｝）
【０１０８】
より詳しくは、あるＳＴＡの現在利用されている一時鍵のパケット番号が使い切られた状態に近づくと、ＳＴＡは一時鍵更新（つまりＴＫリキーイング）をトリガする。ＳＴＡは、新たな一時鍵の鍵ＩＤでセキュリティヘッダの鍵ＩＤフィールドを更新して、現在利用されている鍵および新しい鍵ＩＤに基づいて新たな一時鍵を導出する。新たな一時鍵をインストールした後は、ＳＴＡは新たなＴＫを利用してデータを暗号化する。
【０１０９】
ピアＳＴＡは、新たな一時鍵を利用して暗号化されたフレームを受信すると、新たな一時鍵の前に利用されている一時鍵と、新たなＴＫの鍵ＩＤとに基づいて、新たな一時鍵を導出する。ピアＳＴＡはさらに、新たな一時鍵をインストールして、この新たな一時鍵を利用してデータを暗号化し始める。
【０１１０】
一部の実装例では、ＳＴＡは、予め２以上の一時鍵を導出しておくことで、一時鍵導出に関する遅延が生じないようにすることができる。ＳＴＡ双方が同時に一時鍵を更新する場合には、より高位のＭＡＣアドレスを有するＳＴＡが、より低位のＭＡＣアドレスを有するＳＴＡから受信した新たな一時鍵に従うようにしてよい。一方のＳＴＡが認証器であり、他方のＳＴＡがサプリカントである場合には、サプリカントがＴＫリキーイング要求を認証者に送りＴＫリキーイングをトリガすると、認証器がＴＫリキーイングを開始する、としてよい。
【０１１１】
図７Ａの暗号化モジュール１１０はさらに、ヘッダモジュール２１０とＭＰＤＵモジュール２１２とを含む。ヘッダモジュール２１０はそれぞれ図７Ｂおよび図７Ｃで示すＧＣＭＰヘッダおよびＧＧＭＰヘッダを、各暗号化されたＭＡＣプロトコルデータユニット（ＭＰＤＵ）に対して生成する。ＧＣＭモジュール２０４は、図７Ｂおよび図７Ｃに示されるＭＩＣを生成するＭＩＣモジュール２０６を含む。ＭＰＤＵモジュール２１２は、ＧＣＭモジュール２０４から受信した暗号化されているデータと、ＭＩＣモジュール２０６が生成するＭＩＣとに基づいて、暗号化されたＭＰＤＵを生成する。
【０１１２】
図７Ｂは、ＧＣＭＰ  ＭＰＤＵパケットのフォーマットの一例を示す。このＧＣＭＰ  ＭＰＤＵパケットはＭＡＣヘッダ、ＧＣＭＰヘッダ、データ、ＭＩＣ、および、フレームチェックシーケンス（ＦＣＳ）を含む。ヘッダモジュール２１０が生成するＧＣＭＰヘッダ（強調表示されている）は、８オクテット長であり、パケット番号フィールドと鍵ＩＤフィールドとを含む。パケット番号フィールドは、ＰＮカウンターモジュール２０２が生成するパケット番号を含む。鍵ＩＤフィールドは、セキュリティモジュール１０８が生成する鍵ＩＤを含む。ＧＣＭＰヘッダには追加ビットをリザーブしておいて、２ビットを超える鍵ＩＤを格納する。従って、ＧＣＭＰヘッダは、鍵ＩＤを格納するために総計で２オクテットを含むことになる。さらに、ＭＩＣモジュール２０６が生成するメッセージ整合性コードは１６オクテット長である。
【０１１３】
図７ＣはＧＧＭＰ  ＭＰＤＵフォーマットを示しており、ＧＣＭＰノンスを生成するために利用されるパケット番号は、４８ビット未満の長さを有する（例えば４４ビット）。ＧＣＭＰヘッダを構築するときには、４４ビットパケット番号を６オクテット（ＰＮ０からＰＮ５）に格納して、ＰＮ５のオクテットは、ゼロに設定された４ビットで（またはその他の値で）パディングされる。受信ＳＴＡは、ＰＮ５から４ビットのパディングを外して、ＰＮ０−ＰＮ４、および、残りのＰＮ５の部分を利用して、パケット番号を構築して、パケット番号を利用してＧＣＭＰノンスを生成する。
【０１１４】
図８の暗号化モジュール１１０は、図２Ａおよび図７Ａに示すモジュールを含んでいる。加えて、暗号化モジュール１１０は、ＰＮカウンターモジュール２０２、ＭＡＣヘッダモジュール２２０、ＭＡＣアドレスモジュール２２２、ペイロードモジュール２２４、および、さらなる認証データ（ＡＡＤ）モジュール２２６を含む。図２Ａおよび図７Ａに示すモジュールに関する説明は繰り返さないこととする。
【０１１５】
ＭＡＣヘッダモジュール２２０、ＭＡＣアドレスモジュール２２２、およびペイロードモジュール２２４は、暗号化する平文ＭＰＤＵを受信する。ＭＡＣヘッダモジュール２２０は、各平文ＭＰＤＵからＭＡＣヘッダを抽出して、抽出したＭＡＣヘッダをＡＡＤモジュール２２６に出力する。ＭＡＣアドレスモジュール２２２は、各平文ＭＰＤＵからＭＡＣアドレスを抽出して、抽出したＭＡＣアドレスをノンスモジュール２００に出力する。ペイロードモジュール２２４は、各平文ＭＰＤＵからペイロードデータを抽出して、抽出したデータをＧＣＭモジュール２０４に出力する。
【０１１６】
ＡＡＤモジュール２２６は、ＭＡＣヘッダに基づいてさらなる認証データ（ＡＡＤ）を生成して、生成したＡＡＤをＧＣＭモジュール２０４に出力する。ＧＣＭモジュール２０４はＡＡＤ、ノンス、ペイロードデータ、および一時鍵を受信して、暗号化されたデータとメッセージ整合性コードとを生成する。ＭＰＤＵモジュール２１２は、ＭＡＣヘッダ、暗号化されたデータ、メッセージ整合性コード、およいｂ、ＧＣＭＰヘッダを受信して、暗号化されたＭＰＤＵを生成する。
【０１１７】
図８に示す暗号化モジュール１１０は、ＣＣＭＰアーキテクチャを若干修正することで実装することができる。この修正には、例えば、ＣＣＭＰアーキテクチャとは異なるように、ＧＣＭＰノンス、ＧＣＭＰヘッダ、およびＧＣＭＰメッセージ整合性コードを生成することが含まれてよい。さらに修正には、本開示に記載されるような、パケット番号の使い切りの処理およびＴＫリキーイングが含まれていてもよい。従ってＣＣＭＰアーキテクチャを修正した後のＣＣＭＰ暗号化を利用するデバイスは、ＧＣＭＰ暗号化も利用することができる。
【０１１８】
一実装例では、通常は６０ＧＨｚ帯域幅で動作するデバイスが利用するＧＣＭＰ暗号化を、６０ＧＨｚ帯域以外の帯域で動作するデバイスに利用させることもできる。さらに、本開示のＧＣＭＰに関して記載したパケット番号の使い切りの処理およびＴＫリキーイングを、ＣＣＭＰ暗号化を利用するデバイス（例えば、２．４／５ＧＨｚ帯域で動作するデバイス）におけるパケット番号の使い切りの処理およびＴＫリキーイングに利用することもできる。
【０１１９】
図９Ａおよび図９Ｂでは、送信デバイスがＭＰＤＵを暗号化するとき、暗号化中に利用される一時鍵について、連続して暗号化されたＭＰＤＵのパケット番号は連続して増分している。受信デバイスが、暗号化されているＭＰＤＵを受信するとき、暗号化デバイスは、暗号化されているＭＰＤＵのパケット番号が増分しているかを判断する。一実装例では、受信された、暗号化されているＭＰＤＵのパケット番号が増分していない場合、暗号化デバイスは、リプレイアタック（つまり、パケット番号が再利用された、またはある一時鍵について繰り返された、ということ）を宣言する。
【０１２０】
例えば、受信された、暗号化されているＭＰＤＵのパケット番号が、前に受信された、暗号化されているＭＰＤＵのパケット番号以下である場合、受信デバイスはリプレイアタックを宣言する。リプレイアタックが検知されると、受信デバイスは、受信した、暗号化されているＭＰＤＵを破棄する。
【０１２１】
送信デバイスは、暗号化されたＭＰＤＵを送信する前に、複数の送信キュー内の暗号化されているＭＰＤＵを待ち行列に入れることができる。送信デバイスがＮ個の送信キューを利用する場合、受信デバイスは、Ｎ個のリプレイカウンターを利用する場合（つまり、１つの送信キューにつき１つのリプレイカウンターを利用する場合）、受信した、暗号化されたＭＰＤＵのパケット番号をトラッキングすることができる。
【０１２２】
送信デバイスは、各ペアワイズ一時鍵セキュリティアソシエーション（ＰＴＫＳＡ）、グループ一時鍵セキュリティアソシエーション（ＧＴＫＳＡ）、およびＳＴＳＬ一時かぎセキュリティアソシエーション（ＳＴＫＳＡ）について単一のパケット番号カウンターを利用する。加えて、送信デバイスは、ロバストなセキュリティネットワーク（ＲＳＮ）ケイパビリティフィールドのＰＴＫＳＡ／ＧＴＫＳＡ／ＳＴＫＳＡそれぞれについて、サポートされているＭＡＣサービスデータユニット（ＭＳＤＵ）特性の数を含んでよい。ＲＳＮケイパビリティフィールドは、セキュリティ構築中に（例えば４ウェイハンドシェークを介して）受信デバイスに通信される。
【０１２３】
受信デバイスは、各ＰＴＫＳＡ、ＧＴＫＳＡ、およびＳＴＫＳＡに１以上のリプレイカウンターを利用して、受信した、暗号化されているＭＰＤＵのパケット番号をトラッキングする。受信デバイスは、ＰＴＫＳＡ／ＧＴＫＳＡ／ＳＴＫＳＡそれぞれについて同じ数のリプレイカウンターを送信デバイスのＭＳＤＵプライオリティの数として利用することができる、または、受信デバイスが、ＭＳＤＵプライオリティの最大数に等しい数のリプレイカウンター（ＰＴＫＳＡ／ＧＴＫＳＡ／ＳＴＫＳＡそれぞれについて）を維持することができる。例えば図９Ｂは、受信デバイスが利用可能なリプレイカウンターの数を示している。
【０１２４】
一部の実装例では、受信デバイスは、各可能性のあるＭＳＤＵプライオリティについてのＰＴＫＳＡ／ＧＴＫＳＡ／ＳＴＫＳＡごとに別のリプレイカウンターを利用することができる。送信デバイスは、セキュリティ構築中に受信デバイスが適切な数のリプレイカウンターをサポートしていることを確かめた後に、ＭＳＤＵプライオリティを利用する。
【０１２５】
または、送信デバイスは、セキュリティ構築中に、ＭＳＤＵプライオリティの数が、受信デバイスが利用するリプレイカウンター数を越えると判断してもよい。パケット番号が増えている最中にパケット番号チェックに合格するためには、１つのパケット番号カウンターが処理するフレームが、同じ送信キューからのものである必要がある。従って、送信デバイスは、複数のＭＳＤＵプライオリティに属しているフレームを１つの送信キューに配置することで、送信キューの数をリプレイカウンターの数に等しく保つことができる。送信デバイスは、マッピング情報（つまり、送信キュー／リプレイカウンターへのＭＳＤＵプライオリティのマッピング）を受信デバイスに送信する。
【０１２６】
例えば送信デバイスが４つのプライオリティ（つまり４つのトラフィック識別子）を有し、受信デバイスが２つのリプレイカウンターＲ１およびＲ２のみを有する場合を想定する。送信デバイスは、リプレイカウンターＲ１およびＲ２に対応する２つのキューＱ１およびＱ２のみを利用して、ＴＩＤ１およびＴＩＤ２をＱ１／Ｒ１にマッピングしてよい。加えて、送信デバイスはＴＩＤ３およびＴＩＤ４をＱ２／Ｒ２にマッピングしてよい。
【０１２７】
マッピング情報に基づいて、リプレイカウンターは、異なるトラフィック識別子に属する暗号化されたＭＰＤＵが同じキューから送信された場合に、受信した、暗号化されているＭＰＤＵのパケット番号を正確にトラッキングすることができる。暗号化されたＭＰＤＵは、トラフィック識別子情報を含むが、暗号化されたＭＰＤＵは、送信キュー情報は含まない。従って受信デバイスは、トラフィック識別子と送信キューとの間のマッピングを知る必要がある（送信キューが受信デバイスにおいてパケット番号カウンターに１対１でマッピングされているもの）。受信デバイスは、ＭＳＤＵプライオリティとリプレイカウンターとの間の好適なマッピングを要求してよい。
【０１２８】
マッピングを利用する代わりに、送信デバイスが、暗号化されたＭＰＤＵが複数の送信キュー内で待っている場合に、暗号化されたＭＰＤＵそれぞれにトラフィック識別子（ＴＩＤ）を含むようにしてもよい。例えば、送信キューの数がＭであり、リプレイカウンターの数がＮである場合には、送信キューの数Ｍは、受信デバイスのリプレイカウンターの数と同じ（またはこれより少ない）必要がある。
【０１２９】
トラフィック識別子の数が送信キュー／リプレイカウンターの数（Ｎ）より大きい場合には、トラフィック識別子をリセットして、送信キューの数に合わせることができる。例えば、暗号化されたＭＰＤＵがＭ個のプライオリティ（またはトラフィック識別子）を有する場合（Ｍ＞Ｎ）、トラフィック識別子は、Ｎ個の送信キューからのみ、暗号化されたＭＰＤＵが送信されたことを示すようにリセットすることができる。トラフィック識別子に基づいて、Ｎ個のリプレイカウンターは、受信した、暗号化されているＭＰＤＵのパケット番号をトラッキングすることができる。例えば８個のトラフィック識別子があるが４つの送信キュー／リプレイカウンターしかない場合には、ＴＩＤ５およびＴＩＤ６のフレームを送信キューに入れる前に、これらフレームのＴＩＤをＴＩＤ３にリセットする。加えて、ＴＩＤ７よびＴＩＤ８のフレームを送信キューに入れる前に、これらフレームのＴＩＤをＴＩＤ４にリセットする。受信デバイスがリセットされたＩＤのフレームを受信すると、受信デバイスは、このフレームを対応するリプレイカウンターにマッピングすることができる。
【０１３０】
図１０は、送信デバイス３００および受信デバイス４００を示す。送信デバイス３００および受信デバイス４００はそれぞれ、図１に示す無線デバイス１００に対応する無線デバイスであってよい。送信デバイス３００は、ＰＨＹモジュール３０２、ＭＡＣモジュール３０４、およびセキュリティモジュール３０８を含む。受信デバイス４００は、ＰＨＹモジュール４０２、ＭＡＣモジュール４０４、およびセキュリティモジュール４０８を含む。ＰＨＹモジュール３０２、４０２およびセキュリティモジュール３０８、４０８は、図１に示す無線デバイス１００のＰＨＹモジュール１０２およびセキュリティモジュール１０８にそれぞれ類似している。
【０１３１】
送信デバイス３００では、ＭＡＣモジュール３０４が、無線デバイス１００のＭＡＣモジュール１０４が含むモジュールを含む。例えばＭＡＣモジュール３０４は、図１の示す暗号化モジュール１１０に類似した暗号化モジュール３１０を含む。加えて、ＭＡＣモジュール３０４は、Ｍ個の送信キュー３３０（Ｑ１，Ｑ２，…等）を制御するキュー制御モジュール３２０を含む。キュー制御モジュール３２０は、マッピングモジュール３２２とＴＩＤモジュール３２４とを含む。
【０１３２】
セキュリティ構築中に、セキュリティモジュール３０８、４０８は、ロバストなセキュリティネットワーク（ＲＳＮ）ケイパビリティフィールド、リプレイカウンター数等を含む情報を交換する。マッピングモジュール３２２は、交換された情報に基づいてマッピング情報を生成する。または、ＴＩＤモジュール３２４が、リプレイカウンターの数に基づいて、トラフィック識別子をリセット／変更する。セキュリティモジュール３０８、４０８は、マッピング情報および／またはトラフィック識別子を交換する。
【０１３３】
暗号化されたＭＰＤＵを送信するときに、暗号化モジュール３１０は、暗号化されたＭＰＤＵをキュー制御モジュール３２０に出力する。キュー制御モジュール３２０は、マッピング情報に従って、Ｍ個の送信キュー３３０に、暗号化されたＭＰＤＵを待たせる。または、キュー制御モジュール３２０は、暗号化されたＭＰＤＵにトラフィック識別子をシード（または配置）して、暗号化されたＭＰＤＵをＭ個の送信キュー３３０に出力する。ＰＨＹモジュール３０２は、暗号化されたＭＰＤＵをＭ個の送信キュー３３０から送信する。
【０１３４】
受信デバイス４００では、ＭＡＣモジュール４０４が、無線デバイス１００のＭＡＣモジュール１０４が含むモジュールを含む。例えばＭＡＣモジュール４０４は、図１の示す暗号化モジュール１１０に類似した暗号化モジュール４１０を含む。
【０１３５】
または、ＭＡＣモジュール４０４は、Ｎ個のリプレイカウンター４３０（Ｒ１，Ｒ２，…等）を制御するリプレイ制御モジュール４２０を含む。リプレイ制御モジュール４２０は、マッピングモジュール４２２とＴＩＤモジュール４２４とを含む。マッピングモジュール４２２は、セキュリティモジュール４０８からマッピング情報を受信する。ＴＩＤモジュール４２４は、トラフィック識別子を利用する場合、セキュリティモジュール４０８からトラフィック識別子を受信する。
【０１３６】
ＰＨＹモジュール４０２は、送信デバイス３００が送信する、暗号化されたＭＰＤＵを受信する。マッピング情報および／またはトラフィック識別子に基づいて、Ｎ個のリプレイカウンター４３０が、それぞれ受信した暗号化されているＭＰＤＵの送信元である送信キューを判断する。このようして、Ｎ個のリプレイカウンター４３０は、受信した暗号化されているＭＰＤＵのパケット番号をトラッキングすることができる。
【０１３７】
リプレイ制御モジュール４２０は、受信した暗号化されているＭＰＤＵのパケット番号が、前に受信した暗号化されているＭＰＤＵのパケット番号以下であると、その旨を判断する。一実装例では、リプレイ制御モジュール４２０は、受信した暗号化されているＭＰＤＵのパケット番号が、前に受信した暗号化されているＭＰＤＵのパケット番号以下である場合、リプレイアタックを宣言する。
【０１３８】
リプレイアタックが検知されると、リプレイ制御モジュール４２０は、受信した暗号化されているＭＰＤＵを破棄する。ここで記載した、送信キューおよびリプレイカウンターのマッピング、および、暗号化されているＭＰＤＵへのトラフィック識別子のシードは、ＣＣＭＰを利用するデバイスにも利用することができる（例えば２．４／５ＧＨｚ帯域で動作するデバイス）。
【０１３９】
本開示の教示は、６０ＧＨｚ帯域その他の帯域で動作可能なマルチバンドデバイスに実装することができる。例えば他の帯域には、２．４／５ＧＨｚ帯域等が含まれる。
【０１４０】
本開示の広義の教示は、様々な形態で実装することができる。従って本開示は特定の例を挙げているかもしれないが、他の変形例も、図面、明細書、および以下の請求項から明らかとなるので、本開示の真の範囲はこれらの例に限定はされない。
【図１】
2013504255.tif 000003
【図２Ａ】
2013504255.tif 000004
【図２Ｂ】
2013504255.tif 000005
【図３Ａ】
2013504255.tif 000006
【図３Ｂ】
2013504255.tif 000007
【図３Ｃ】
2013504255.tif 000008
【図３Ｄ】
2013504255.tif 000009
【図３Ｅ】
2013504255.tif 000010
【図３Ｆ】
2013504255.tif 000011
【図４】
2013504255.tif 000012
【図５Ａ】
2013504255.tif 000013
【図５Ｂ】
2013504255.tif 000014
【図６】
2013504255.tif 000015
【図７Ａ】
2013504255.tif 000016
【図７Ｂ】
2013504255.tif 000017
【図７Ｃ】
2013504255.tif 000018
【図８】
2013504255.tif 000019
【図９Ａ】
2013504255.tif 000020
【図９Ｂ】
2013504255.tif 000021
【図１０】
2013504255.tif 000022
【国際調査報告】
2013504255.tif 000023
2013504255.tif 000024