(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-28
(45)【発行日】2023-07-06
(54)【発明の名称】通信装置、通信方法および集積回路
(51)【国際特許分類】
H04W 52/02 20090101AFI20230629BHJP
H04W 84/12 20090101ALI20230629BHJP
H04W 12/106 20210101ALI20230629BHJP
【FI】
H04W52/02
H04W84/12
H04W12/106
(21)【出願番号】P 2022040468
(22)【出願日】2022-03-15
(62)【分割の表示】P 2019558800の分割
【原出願日】2018-04-19
【審査請求日】2022-03-15
(32)【優先日】2017-06-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】P 2017212884
(32)【優先日】2017-11-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】チトラカール ロジャン
(72)【発明者】
【氏名】ホァン レイ
(72)【発明者】
【氏名】浦部 嘉夫
【審査官】伊東 和重
(56)【参考文献】
【文献】米国特許出願公開第2012/0184205(US,A1)
【文献】特開2008-135969(JP,A)
【文献】Minyoung Park et.al.,Proposal for Wake-Up Receiver (WUR) Study Group,IEEE 802.11-16/0722r1,IEEE,2016年05月18日,p.12
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24-7/26
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
通信装置であって、
ウェイクアップ無線(WUR)フレームを受信する、受信機と、
前記受信されたWURフレームに含まれる
P-TSF(Time Synchronization Function)タイマーと
前記通信装置によりローカル
に維持されるP-TSFタイマーに基づいて、前記受信されたWURフレームのメッセージ完全性を検証する、回路と、
を備える通信装置。
【請求項2】
前記WURフレームはメッセージ完全性コード(MIC)を含み、
前記回路は、前記MICに基づいて、前記受信されたWURフレームのメッセージ完全性を検証する、
請求項1に記載の通信装置。
【請求項3】
前記MICは、WUR一時鍵と前記WURフレームに含まれる
P-TSFタイマーに基づいて計算される、
請求項2に記載の通信装置。
【請求項4】
前記WUR一時鍵は、WUR完全性グループ一時鍵であり、
前記WURフレームは、ブロードキャスト用または、グループ宛てである、
請求項3に記載の通信装置。
【請求項5】
前記WURフレームは、前記通信装置を起動する、
請求項1に記載の通信装置。
【請求項6】
前記MICは、前記WURフレームを送信するアクセスポイントのアドレスを使用して計算される、
請求項2に記載の通信装置。
【請求項7】
前記MICは、前記WURフレームのフレームチェックシーケンス(FCS)フィールドに含まれる、
請求項2に記載の通信装置。
【請求項8】
前記MICは、前記WURフレームのIDフィールドから計算される、
請求項2に記載の通信装置。
【請求項9】
通信装置により実行される通信方法であって、
ウェイクアップ無線(WUR)フレームを受信する、工程と、
前記受信されたWURフレームに含まれる
P-TSFタイマーと
前記通信装置によりローカル
に維持されるP-TSFタイマーに基づいて、前記受信されたWURフレームのメッセージ完全性を検証する、工程と、を含む、
通信方法。
【請求項10】
通信装置に搭載される集積回路であって、
ウェイクアップ無線(WUR)フレームを受信する、処理と、
前記受信されたWURフレームに含まれる
P-TSFタイマーと
前記通信装置によりローカル
に維持されるP-TSFタイマーに基づいて、前記受信されたWURフレームのメッセージ完全性を検証する、処理と、を制御する、
集積回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、通信装置および通信方法に関する。
【背景技術】
【0002】
IEEE(電気電子技術者協会:Institute of Electrical and Electronics Engineers)802.11baタスクグループは、現在、ウェイクアップ無線(WUR:wake-up radio)装置の動作に関連する無線通信技術を標準化する過程にある。WUR装置は、主接続無線(PCR:primary connectivity radio)装置と対になる無線装置であり、PCRと同じ周波数帯域で動作することもあれば、異なる周波数帯域で動作することもある。PCRは、既存の主流のIEEE 802.11の修正(802.11a、802.11g、802.11n、または802.11ac)のいずれかであってよく、またはその他の適用可能な将来の修正(例えば、802.11ax)であってもよい。WUR装置の目的は、PCRが主無線通信として使用されるときに、有効なウェイクアップパケット(WUR PHYプロトコルデータユニット(PPDU:PHY Protocol Data Unit)とも呼ばれる)の受信時にPCR装置のスリープからの移行をトリガすることである。PCR装置は、アクティブ通信中にのみオンになり、アイドルリスニングの期間中には、PCR装置がオフになり、WUR装置のみが動作している。WUR装置は、1ミリワット未満の動作中の受信機消費電力を有することが期待されており、この消費電力は、PCR装置の動作中の受信機消費電力と比較して、はるかに少ない。WUR装置を備えるデバイスは、WURデバイスと呼ばれることがあり、WURモードは、PCRがオフになっておりWURのみが動作している動作モードを指すことがあり、PCRモードは、PCR装置がオンになっている動作を指すことがある。
【0003】
IEEE 802.11baの修正は、通信デバイスが通常はバッテリによって駆動される用途やモノのインターネット(IOT:Internet-of-Things)の使用事例を対象にしており、相応な低遅延を維持しながら、バッテリ寿命を延ばすことが非常に望ましい。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許出願公開第2017/0099662号明細書 - Pascal Thubert et. al., "Dynamically hashed MAC address for transmission in a network"
【非特許文献】
【0005】
【文献】IEEE Std 802.11-2016
【文献】IEEE 802.11-17/0575r2, Specification Framework for TGba, July 2017
【文献】IEEE 802.11-16/0722r1, "Proposal for Wake-Up Receiver (WUR) Study Group"
【文献】IEEE 802.11-17/0660r0, "WUR Security Proposal"
【文献】Ching-Tsung Hsueh et. al., "A Secure Scheme Against Power Exhausting Attacks in Hierarchical Wireless Sensor Networks"
【発明の概要】
【発明が解決しようとする課題】
【0006】
WURデバイスに関する省電力の多くが、このデバイスが主要なPCR装置をオフにし、長期間、WURモードを維持することの結果であると期待されているため、PCRモードへの不要な切り替えは、デバイスのバッテリ寿命に悪影響を与える。WURモードで通信に使用できる低いデータ速度のため、WUR信号は、PCR信号と比較して、はるかに単純で短いことが期待される。その結果、WUR信号は、隠された動機のために悪意あるデバイスによって極めて容易に捕捉され、複製される。これは特に、WURデバイスを、リプレイ攻撃を受けやすくする。攻撃者は、WURデバイスをウェイクアップするために中央コントローラによって使用される本物のWUR信号を捕捉し、バッテリの放電を引き起こす目的で、それらのWUR信号を将来使用して、WURデバイスを不正にウェイクアップする。そのような攻撃は、電力消耗攻撃またはスリープ妨害攻撃(denial of sleep attacks)と呼ばれることもある。
【0007】
本開示の1つの非限定的な実施形態例は、セキュリティ保護されたWUR信号の送信および受信のための手段を提供し、WURデバイスに対する前述した悪意ある攻撃を防ぐ。
【課題を解決するための手段】
【0008】
1つの一般的な態様では、本明細書で開示された技術は、動作中に、共有暗号秘密鍵(shared cryptographic secret Key)および暗号ソルトを使用して、ウェイクアップ無線(WUR)フレームのアドレスフィールドに対して計算された、暗号によってエンコードされたメッセージ完全性コード(MIC:Message Integrity Code)を生成する、暗号回路と、動作中に、WURフレームのアドレスフィールドをMICに置き換えることによって、セキュリティ保護されたWUR信号を生成する、送信信号発生器と、動作中に、セキュリティ保護されたWUR信号を送信する、送信機と、を備える、通信装置を特徴とする。
【0009】
一般的な実施形態または特定の実施形態が、システム、方法、集積回路、コンピュータプログラム、記憶媒体、またはこれらの任意の選択的組み合わせとして実装されてよいことに留意されたい。
【0010】
本開示において説明される通信装置および通信方法は、セキュリティ保護されたWUR信号の送信および受信のための手段を提供し、WURデバイスに対する悪意ある攻撃の結果としての不正なウェイクアップを防ぐ。
【0011】
開示される実施形態のその他の利益および優位性が、本明細書および図面から明らかになるであろう。それらの利益および/または優位性は、本明細書および図面のさまざまな実施形態および特徴によって個別に得られてよく、それらの実施形態および特徴は、そのような利益および/または優位性のうちの1つまたは複数を得るために、すべて提供される必要はない。
【図面の簡単な説明】
【0012】
【
図1】本物のWUR対応デバイスおよび悪意あるWUR対応デバイスが混在する、例示的な異機種環境の802.11無線ネットワークを示す図である。
【
図2】802.11baタスクグループにおいて検討されているWUR PPDUのフォーマットを示す図である。
【
図3】悪意ある攻撃の例を示している、フレーム送信シーケンスを示す図である。
【
図4】第1の実施形態によるWURモードをネゴシエート/開始するために使用されるフレーム送信シーケンスを示す図である。
【
図5】第1の実施形態によるWURモードのネゴシエーション/開始に使用されるWURアクションフレーム(WUR Action frame)のフォーマットを示す図である。
【
図6】セキュリティ保護された送信において使用される秘密鍵を取得するために使用される4ウェイハンドシェイクを示す図である。
【
図7】第1の実施形態に従う、WURセキュリティエレメント(WUR security element)内の暗号スイートフィールドのエンコーディングの表である。
【
図8】第1の実施形態によるセキュリティ保護されたWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図9A】第1の実施形態によるセキュリティ保護されたWURフレーム用に提案される別のフレームフォーマットを示す図である。
【
図9B】第1の実施形態による暗号ソルト値の通知に使用されるWURアクションフレームのフォーマットを示す図である。
【
図10A】第2の実施形態によるセキュリティ保護されたWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図10B】第2の実施形態によるMICの通知に使用されるWURアクションフレームのフォーマットを示す図である。
【
図11A】第3の実施形態によるセキュリティ保護されたWUR送信において使用される第1のフレーム送信シーケンスを示す図である。
【
図11B】第3の実施形態によるセキュリティ保護されたWUR送信において使用される第2のフレーム送信シーケンスを示す図である。
【
図12】第4の実施形態によるセキュリティ保護されたWUR送信において使用されるフレーム送信シーケンスを示す図である。
【
図13】第5の実施形態による暗号ソルトの範囲の通知に使用されるWURアクションフレームのフォーマットを示す図である。
【
図14】第5の実施形態に従う例示的なMIC値の表である。
【
図15】第5の実施形態によるセキュリティ保護されたWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図16】第5の実施形態によるセキュリティ保護されたマルチキャストWURフレーム(multicast WUR frames)用に提案されるフレームフォーマットを示す図である。
【
図17】第6の実施形態によるタイミング同期機能(TSF:Timing Synchronization Function)フィールドのフォーマットを示す図である。
【
図18】第6の実施形態によるセキュリティ保護されたWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図19】P-TSFが時間同期に使用された場合に発生することがある例示的なクロック変動問題の表である。
【
図20】第6の実施形態によるWUR認証モジュール(WUR authentication module)への入力用のTSFフィールドを作成する中間プロセスを示す図である。
【
図21】第6の実施形態による送信機側でセキュリティ保護されたWURフレームを作成するための例示的なプロセスを示す図である。
【
図22】第6の実施形態による受信機側でセキュリティ保護されたWURフレームを検証するための例示的なプロセスを示す図である。
【
図23】第6の実施形態によるセキュリティ保護されたマルチキャストWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図24】第6の実施形態によるセキュリティ保護されたマルチキャストWURフレーム用に提案される別のフレームフォーマットを示す図である。
【
図25】第6の実施形態によるセキュリティ保護されていないWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図26】第7の実施形態によるパケット番号(PN:Packet Number)フィールドのフォーマットを示す図である。
【
図27】第7の実施形態によるセキュリティ保護されたWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図28】第7の実施形態によるPNフィールドを更新するために提案されるフレームフォーマットを示す図である。
【
図29】第8の実施形態によるセキュリティ保護されたWURフレーム用に提案されるフレームフォーマットを示す図である。
【
図30】開示された送信方式を実装する例示的なAPの簡略化されたブロック図である。
【
図31】開示された送信方式を実装する例示的なAPの詳細なブロック図である。
【
図32】開示された送信方式を実装する例示的なWUR STAの簡略化されたブロック図である。
【
図33】開示された送信方式を実装する例示的なWUR STAの詳細なブロック図である。
【発明を実施するための形態】
【0013】
本開示は、以下の図および実施形態を用いてより良く理解され得る。本明細書に記載された実施形態は、本質的に単なる例であり、本開示の可能性のある適用および使用の一部を説明するために使用されており、本明細書において明示的に説明されていない別の実施形態に関して本開示を制限していると受け取られるべきではない。
【0014】
図1は、本開示が適用されてよい無線通信ネットワーク100の例を示している。無線通信は、IEEE.802.11などの一般的な無線規格に基づいてよい。無線通信ネットワーク100は、1つのアクセスポイント(AP:Access Point)110およびAP110に関連付けられた3つの基地局(STA:stations)120、130、および140を含んでよい。AP110は、802.11の波形(例えば、直交周波数分割多重(OFDM:Orthogonal Frequency Division Multiplexing))で無線信号を送信および受信することができ、ウェイクアップ無線(WUR)の波形(例えば、オンオフキーイング(OOK:On-Off Keying))で無線信号を送信することができる主接続無線(PCR)装置(以下では、単に「PCR」と呼ぶ)112を備える。STA120、130、および140は、WUR対応STAであり、PCR122、132、および142をそれぞれ備えており、さらにウェイクアップ無線受信機(WURx:Wake-up radio receivers)装置(以下では、単に「WURx」と呼ぶ)124、134、および144をそれぞれ備える。STA130および140は、802.11の信号を送信および受信することができ、WUR信号を受信することもできる。PCR132および142は、アクティブ通信中にのみオンになってよく(PCRモード)、アイドルリスニングの期間中には、PCRがオフになってよく、WURx134および144のみが動作していてよい(WURモード)。しかし、STA120は、WUR対応STAのすべての機能を有し、加えて、PCR122も、ウェイクアップ無線(WUR)の波形(OOK)で無線信号を送信する能力を有する、カスタムメイドのデバイスであってよい。またはSTA120は、単にWUR APの機能およびWUR STAの機能の両方を備えるデバイスであってよい。AP110は、WURモードで動作しているSTAと通信する必要がある場合、各PCRをオンにしてWURxをオフにすることによってPCRモードに移行するようにSTAに指示するために、ウェイクアップ信号を最初に送信してよい。その後、APおよびSTAは、PCRを経由して通信を実行してよい。通信が終了した後に、STAは、PCRをオフにしてWURxをオンにすることによって、WURモードに再び切り替わってよい。
【0015】
図2は、IEEE 802.11baタスクグループにおいて検討されているウェイクアップ信号送信方式を示している。ウェイクアップ信号は、WUR PHYプロトコルデータユニット(PPDU)200として表されてよい。WUR PPDU200は、2つの個別の部分で構成される。第1の部分は、レガシーの20MHz(non-high-throughput(HT)とも呼ばれる)の802.11のプリアンブル210および1つの追加のOFDMシンボルであるWURマーク218を含んでおり、これらは、20MHzのチャネル全体を経由して802.11のOFDM波形で送信される。第2の部分は、ウェイクアップパケット(WUP:wake-up packet)ペイロード220であり、20MHzのチャネル内のより狭いサブチャネル(例えば、4MHzのサブチャネル)内をWUR OOK波形で送信される。
図2では単一のWUPペイロード220のみが示されているが、2つ以上(例えば、3つ)のWUPペイロードが、20MHzのチャネル内の異なる重複しないサブチャネル上を送信されることも可能である。
【0016】
レガシーの802.11のプリアンブル210は、WUR信号を理解しないレガシーの802.11のSTAとの共存を可能にする。プリアンブル210は、non-HTショートトレーニングフィールド(L-STF)212、non-HTロングトレーニングフィールド(L-LTF)214、およびnon-HTシグナルフィールド(L-SIG)216をさらに含む。L-SIG216は、WUPペイロード220の長さに関する情報を含み、レガシーの802.11のデバイスが、正しい期間の間、送信を延期できるようにする。二相変位変調(BPSK:Binary Phase Shift Keying)で変調された4マイクロ秒の期間のWURマーク218が、L-SIG216の直後に送信され、802.11nのデバイスがWUR PPDU200を802.11nのパケットであるとして誤ってデコードするのを防ぐ。
【0017】
WUPペイロード220は、実際のウェイクアップ信号を含み、ウェイクアッププリアンブル(wake-up preamble)222およびWURフレーム230を含む。ウェイクアッププリアンブル222は、自動利得制御(AGC:automatic gain control)、タイミング同期、パケット検出などに使用され、WURフレーム230は、制御情報を含む。WURフレーム230は、WUR MACプロトコルデータユニット(MPDU:MAC Protocol Data Unit)と呼ばれることもあり、MACヘッダ240、フレームチェックシーケンス(FCS:Frame check sequence)252、および任意選択のフレームボディフィールド250などの、さまざまなサブフィールドでさらに構成されてよい。MACヘッダ240は、さらに、フレームタイプやフレーム長などを指定するフレーム制御フィールド242及び、送信機のアドレスまたは受信機のアドレスのうちのいずれか1つあるいはその両方を含むことができるアドレスフィールド244を含んでよい。フレームタイプに応じて、TD制御フィールド246に、その他の制御情報が含まれてよい。例えば、WURビーコンフレーム(WUR beacon frames)には、TD制御フィールド246はタイムスタンプフィールドを含んでよく、ユニキャストWURフレーム(unicast WUR frames)には、TD制御フィールド246はパケット番号などを含んでよい。
【0018】
図3は、
図1の無線通信ネットワーク100内で攻撃者によって開始された例示的なリプレイ攻撃を示すフレーム送信シーケンス300を示している。攻撃者は、
図1のSTA120であってよく、APおよびSTAは、それぞれ
図1のAP110およびSTA130であってよい。STA130は、AP110とのWURモードのネゴシエーションを済ませていてよく、PCR132がオフになっている間、動作中のWURx134のみを使用して、WURモードで動作していてよい。一方、攻撃者STA120は、WURx124およびPCR122の両方がオンにされており、AP110とSTA130の間のトラフィックを監視していてよい。AP110は、STA130宛のデータを上層のプロトコルから取得した場合、データフレームをバッファに保存し、WUR PPDU310を送信してSTA130をウェイクアップする。STA130は、WUR PPDU310を受信したときに、このPPDUの宛先がSTA130であることを検証し、次にSTA130のPCR132をオンにし、PSポールフレーム312をAP110に送信する。その間、攻撃者STA120のWURx124もWUR PPDU310を受信し、今後使用するためにメモリに保存する。AP110は、バッファされたデータフレーム314をSTA130に送信することによって、PSポールフレーム312に応答する。STA130は、確認応答(ACK)フレーム316をAP110に送信することによって、データフレーム314の受信を確認し、PCR無線132をオフにすることによって、WURモードに進んでよい。後のある時点で、攻撃者STA120は、捕捉したWUR PPDU310を使用して、WUR PPDU310をSTA130に再送信することによって、STA130に対するリプレイ攻撃を開始し、STA130をPCRモードに移行させることができる。WUR PPDU320は、過去にAP110によって送信された有効なWUR PPDUのリプレイであるため、STA130には有効なWUR PPDUであるように見え、次にSTA130は、別のPSポールフレーム322を送信することがあり、AP110がデータフレームをSTA130に送信するのを待つことがある。結局、STA130がAPから何もフレームを受信しなかった場合、STA130はPCRモードをタイムアウトすることができ、WURモードに戻るが、不必要にPCRモードに移行して、ある程度の電力をすでに失ってしまっているであろう。このような攻撃を軽減するための対策が実施されない場合、攻撃者STA120は、STA130が完全にバッテリを使い果たすまでリプレイ攻撃を繰り返すことができる。
【0019】
後のセクションでは、本開示を詳細に説明するために、複数の実施形態例が詳細に説明される。以下のセクションでは、本開示による悪意ある不正なウェイクアップ攻撃を軽減するためのさまざまな実施形態が詳細に説明される。
【0020】
<第1の実施形態>
図4は、WURモード中に使用されるパラメータをAPとネゴシエートするためにWUR STAによって使用されるフレーム交換シーケンス400を示している。フレーム交換シーケンス400は、WUR STAが最初にWURモードに移行する前に、完了する必要がある。その後、フレーム交換シーケンス400は、WURモードに関連するパラメータを変更するために使用されてもよく、あるいはWURモードに移行するか、またはWURモードを終了するために使用されてもよい。
図5のWURアクションフレーム500が、WURモードのネゴシエーションに使用されてよい。WUR STAは、WURモード要求フレーム410を送信することによって、WURモードのネゴシエーションを開始し、WURモード要求フレーム410は、WURモードエレメント510内のWURモード要求/応答フィールド512がWURモード要求に設定された、WURアクションフレーム500の変形であってよい。あるいは、WURモード要求指示がWURアクションフィールド502に含まれてもよい。いずれの場合も、WURモード要求フレームは、WURモード要求の指示を含むWURアクションフレームのことを指している。
図5に示されていないが、WURモードエレメントは、デューティサイクルパラメータなどの、WURモード動作に関連するその他のパラメータを含んでもよい。第1の実施形態による、WURモードエレメントは、セキュリティフィールド514も含み、セキュリティフィールド514は、WUR PPDUの今後の送信のためにセキュリティ保護された送信モードを有効化するようにAPに要求するために、WUR STAによって1に設定されてよい。セキュリティ保護されたWUR送信は、最初からWUR STAによって要求されてもよく、またはWUR STAが攻撃を受けていることを検出したときにのみ、要求されてもよい。WUR STAは、1回または2回の不正なウェイクアップだけからは攻撃を検出できないことがあるが、STAが、特定のしきい値を超えて(例えば、5回)、後続のダウンリンクフレームをAPから何も受信せずにウェイクアップされ続けている場合、STAは、それ自体が攻撃を受けていると見なし、セキュリティを有効化することを要求してよい。APは、WURモード要求フレーム410を受信したときに、WURモード応答フレーム420を使用して応答する。WURモード応答フレーム420は、WURモードエレメント510内のWURモード要求/応答フィールド512がWURモード応答に設定された、
図5のWURアクションフレーム500の別の変形である。あるいは、WURモード応答指示がWURアクションフィールド502に含まれてもよい。いずれの場合も、WURモード応答フレームは、WURモード応答の指示を含むWURアクションフレームのことを指している。WUR STAがWUR送信でセキュリティを有効化することを要求した場合、APは、WUR STAのWURモードの動作に必要なパラメータの他に、セキュリティ保護されたWUR通信に必要なパラメータを含む
図5のWURセキュリティエレメント520も、WURモード応答フレーム420に含める。一旦セキュリティパラメータが通知された後は、APは、WUR STAをウェイクアップする必要があるときに、セキュリティ保護されたWUR PPDU430を使用する。
【0021】
図5のWURセキュリティエレメント520は、セキュリティ保護されたWUR PPDUを受信するためにWUR STAによって使用される秘密鍵に関する情報を含む、WURセキュリティパラメータ530を含む。WUR STAは、IEEE 802.11のデバイスでもあるため、STAが既存の802.11のセキュリティフレームワークをできるだけ再利用するのは理にかなっている。ロバストセキュリティネットワークアソシエーション(RSNA:Robust security network association)が、IEEE 802.11のデバイスによって使用される既定のセキュリティプロトコルである。RSNA内には、暗号ブロック連鎖メッセージ認証コードプロトコル(CCMP:cipher-block chaining message authentication code protocol)、ガロア/カウンタモード(GCM:Galois/counter mode)プロトコル(GCMP:Galois/counter mode protocol)、ブロードキャスト/マルチキャスト完全性プロトコル(BIP:broadcast/multicast integrity protocol)などを使用するカウンタモードなどの、複数のセキュリティアルゴリズム、ならびに複数のハッシュアルゴリズムが存在するが、これらのアルゴリズムが使用する秘密鍵は、ペアワイズ鍵またはグループ鍵のいずれかとして大まかに分類されてよい。ペアワイズ鍵は、デバイスの対間のユニキャスト通信に使用され、グループ鍵は、ブロードキャスト通信またはマルチキャスト通信に使用される。ペアワイズ暗号スイートフィールド540は、ユニキャストWUR PPDUに使用される暗号スイートを示し、組織的に一意な識別子(OUI:organizationally unique identifier)フィールド542およびスイートタイプフィールド544によって識別される。ペアワイズ鍵IDフィールド545は、2つ以上のペアワイズ鍵がAPとWUR STAの間でネゴシエートされた場合に、WUR PPDUに使用されるペアワイズ鍵の識別子を示す。グループ鍵数548は、そのエレメントに含まれているグループ鍵の数を示す。同じグループ鍵が、すべてのWURのブロードキャストPPDUおよびマルチキャストPPDUに使用される場合、1つのグループ鍵のみが必要であるが、APが、異なるグループ鍵をブロードキャストWUR PPDUおよびマルチキャストWUR PPDUに使用することを決定した場合は、2つ以上のグループ鍵がエレメントに含められてよい。グループ暗号スイートフィールドド550は、長さにおいて可変であり、グループ鍵に関する情報を含む。含まれているそれぞれのグループ鍵について、グループ暗号スイートフィールド550は、ブロードキャストWUR PPDUまたはマルチキャストWUR PPDUに使用される暗号スイートを示し、組織的に一意な識別子(OUI:organizationally unique identifier)フィールド552およびスイートタイプフィールド554によって識別される。グループ鍵情報フィールド560は、グループ鍵およびその用途を識別する。鍵IDフィールド562は、2つ以上の鍵がAPとWUR STAの間でネゴシエートされた場合にWUR PPDUに使用されるグループ鍵の識別子を示し、GTK/IGTKフィールド564は、グループ鍵がグループ一時鍵(GTK:Group Temporal Key)または完全性グループ一時鍵(IGTK:Integrity Group Temporal Key)のいずれであるかを示し、ブロードキャスト/マルチキャストフィールド566は、グループ鍵がブロードキャストWUR PPDUまたはマルチキャストWUR PPDUのいずれに使用されるかを示す。グループIDフィールド568は、グループ鍵が関連付けられた特定のマルチキャストグループを指定するために使用されてよいが、このフィールドは、ブロードキャスト/マルチキャストフィールド566がマルチキャストとして設定されている場合にのみ、設定される。鍵長(Key Len)フィールド570は、ラップ鍵(Wrapped Key)フィールド580の長さを示し、ラップ鍵フィールド580がエレメントに含まれていない場合、0に設定されてよい。鍵IDフィールドが、WUR PPDUに使用されるグループ鍵がPCRで使用するためにネゴシエートされたグループ鍵と同じであることを示す場合、ラップ鍵フィールド580が省略され、そうでない場合、ラップ鍵フィールド580が、WUR PPDUに使用される暗号化されたGTK鍵またはIGTK鍵を含む。
【0022】
図6は、APおよびWUR STAが、WUR PPDUに排他的に使用される別々の秘密鍵をネゴシエートする、WURモードのネゴシエーションプロセス600を示している。WUR STAが対応機能を有する場合、PCR通信に使用される秘密鍵と同じ秘密鍵をWUR PPDUに再利用することが可能であるが、APは、WUR STAとの別の4ウェイハンドシェイクプロセス620を開始し、WUR PPDU専用に使用されるPTKおよびGTK/IGTKを取得してもよい。PCRモードの動作とWURモードの動作は互いに非常に異なっており、STAは一度にいずれか1つのモードのみで動作してよいため、WUR PPDU専用に使用される別々の秘密鍵を生成することは有益であることがある。これは、セキュリティ上のリスクが各動作モードに分離され、秘密鍵に対して暗号ソルトが繰り返されるリスクが最小限に抑えられるためである。加えて、PCRに使用されるグループ鍵の再ネゴシエーションがWUR PPDUに使用されるグループ鍵に影響を与えなくて済む。APは、WURモード要求手順610において、WUR PPDUでセキュリティを有効化するよう要求するWURモード要求フレーム410をSTAから受信したときに、4ウェイハンドシェイク620を開始して、WUR PPDUのエンコード/デコードに使用される別々の秘密鍵を導出することを選択してよい。点線のボックス内に示された4ウェイハンドシェイク620は、セキュリティ保護されたセッションに使用されるペアワイズトランジェント鍵(PTK:Pairwise Transient Key)およびグループ鍵(GTKおよびIGTK)をネゴシエートするためにSTAがAPにアソシエートするときにRSNAにおいて使用される手順と同じであるが、秘密鍵がWUR PPDU専用に使用されるものである点が異なる。それゆえ、PCR通信中に使用される秘密鍵と区別するために、秘密鍵をW-PTK、W-GTK、およびW-IGTKと呼んでもよい。APは、WUR STAに必要な他のパラメータを含むWURモード応答フレーム420を送信し、WURモード応答手順630でWURモードに移行することによって、WURモードのネゴシエーションを終了する。この場合、WURモード応答フレーム420は、
図5に示されているラップ鍵フィールド580を含まない。しかし、WUR STAがWURモードである間にグループ鍵が変更された場合、APは、ラップ鍵フィールド580を含む
図5の自発的WURモード応答(unsolicited WUR Response)フレーム500を、将来のある時点でWUR STAに送信し、グループ鍵を更新することを選択してよい。
【0023】
図7は、WURセキュリティエレメントで使用されるOUIおよびスイートタイプのエンコーディングの表700であり、セキュリティ保護されたWUR PPDUに使用されるセキュリティアルゴリズムを識別するために使用される。APは、STAの対応機能などの要因に基づいて、使用する適切なアルゴリズム選択してよい。例えば、リソースが極めて制限されたWUR STAの場合、APは、SHA1-128またはSHA-256などの単純なハッシュ関数を選択してよく、より高い処理能力を有するWUR STAの場合、APは、CCMP-128暗号スイートを選択してよい。APが、ペアワイズ暗号スイートに「グループ暗号スイートを使用する」ことを示した場合、PTKはWUR PPDUに使用されず、グループ鍵のみが使用される。ユニキャストWUR PPDUにはペアワイズ暗号スイートの使用が推奨されるが、特定の状況下では、APは、グループ暗号スイートをすべてのWUR PPDUに使用することを決定してもよい。
【0024】
図8は、相手の受信機WUR STAがフレームの送信機の正当性を明確に認証するのに役立つ、暗号によってエンコードされたMICフィールド816を含むセキュリティ保護されたWURフレーム800を示している。セキュリティ保護されたWURフレームをセキュリティ保護されていないWURフレームと区別するために、APは、フレーム制御フィールド812内のセキュリティビット814を1に設定する。セキュリティビット814は、WURフレーム内のMICフィールド816の存在を、受信側WUR STAに対して知らせる。前述したように、WUR PPDUの送信に使用される信号が比較的単純であるため、攻撃者が、強制的にSTAを不必要にウェイクアップさせることによって、このWUR STAのバッテリ電力の消耗を引き起こすという悪意を持って、以前のWUR PPDUをリプレイすることはそれほど困難ではなく、または偽造されたWURフレームを生成することさえ、それほど困難ではない。WURフレームが、共有秘密鍵を使用して信頼できる送信機のみによって生成することができ、同じ秘密鍵を使用して相手のWUR STAによって検証することができる、何らかのフィールドを含む場合、そのような試みを阻止することができる。そのようなフィールドは、通常、メッセージ認証コード(MAC:Message Authentication Codes)またはメッセージ完全性コード(MIC)と呼ばれる。APは、SHA-1-128、SHA-256、SHA-384、またはMD5などの、IEEE 802.11のデバイスにおいてもよく使用されている一般的な暗号ハッシュ関数を使用して、MICフィールド816を生成してよい。またはAPは、暗号ブロック連鎖メッセージ認証コード(CBC-MAC:Cipher Block Chaining Message Authentication Codes)などのブロック暗号アルゴリズムを使用してMICフィールド816を生成することを選択してもよく、さらにこのブロック暗号アルゴリズムは、AES-128-CMACまたはAES-256-CMACなどの高度暗号化標準(AES:Advanced Encryption Standard)に基づいてよい。MICフィールド816の生成に使用するためのAPの暗号アルゴリズムの選択は、STAの対応機能などの要因に基づいてよく、例えば、リソースが極めて制限されたWUR STAの場合、APは、SHA1-128またはSHA-256などの単純なハッシュ関数を選択してよく、より高い処理能力を有するWUR STAの場合、APは、AESに基づくCCMP-128を選択してよい。MACまたはMICを使用してセキュリティを提供することにおいて重要な仮定は、秘密鍵を所有していない攻撃者は、同じMICを生成することができないか、またはMICに基づいて秘密鍵をリバースエンジニアリングするには計算コストが高すぎることである。しかし、攻撃者が本物のセキュリティ保護されたWUR PPDUをかぎつけ、将来のある時点でそれを使用してリプレイ攻撃を開始することは、依然として可能である。そのようなリプレイ攻撃を防ぐには、特定の秘密鍵について、セキュリティ保護されたWUR PPDUごとに異なる一意の入力(または乱数)を各MICの計算で使用することを、送信機が保証しなければならない。そのような一意の入力は、通常、「ソルト」または「ノンス」と呼ばれる。
【0025】
IEEE 802.11baタスクグループでは、複数のタイプのWURフレームが検討されており、
図2の汎用のWURフレーム230に示されているように、各フレームのフォーマットが類似しているとしても、フレームのフィールドの内容は、フレームタイプに応じてわずかに異なることがある。宛先が1つのWUR STAであるWURフレームは、ユニキャストWURフレームと呼ばれることがあり、宛先がWUR STAのグループであるWURフレームは、マルチキャストWURフレームと呼ばれることがあり、宛先がAPに関連付けられたすべてのWUR STAであるWURフレームは、ブロードキャストWURフレームと呼ばれることがある。ユニキャストWURフレームは、受信機アドレス(RA:Receiver Address)および送信機アドレス(TA:Transmitter Address)の両方をアドレスフィールド244内に含んでよく、TD制御フィールド246は、タイムスタンプフィールドまたはパケット番号を含んでよく、フレームボディフィールド250は、存在しなくてもよい。同様に、単に時間同期に使用される(すなわち、WUR STAのウェイクアップに使用されない)WURビーコンなどのブロードキャストWURフレームは、送信機アドレス(TA)のみをアドレスフィールド244内に含んでよく、TD制御フィールド246は、時間同期に使用されるタイムスタンプフィールドを含んでよく、フレームボディフィールド250は、存在しなくてもよい。一方、マルチキャストWURフレームは、送信機アドレスをアドレスフィールド244に、タイムスタンプまたはパケット番号をTD制御フィールドに含んでよく、フレームボディフィールド250は、マルチキャストフレームによってウェイクアップする対象になるWUR STAのリストを含んでよい。
【0026】
再び
図8を参照すると、WURフレームが、WURフレームごとに異なる一意の数値(例えば、部分TSF(P-TSF:Partial-TSF)フィールド818)を含む場合、この数値は、ソルトとして暗号関数に使用されてよい。P-TSFフィールドは、APによって維持される時間同期機能(TSF:Time Synchronization Function)の何らかの選択されたビットを表してよい。WURフレームがユニキャストフレームである場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵(pairwise secret Key)PTKまたはW-PTKの一時鍵(TK:Temporal Key)部分)、送信機アドレス(TA)および受信機アドレス(RA)、ならびにP-TSFフィールドを、暗号アルゴリズムへの入力として使用して、MICを取得する。通常、標準的な暗号関数の出力は、WUR PPDUで直接使用するには長すぎることがあり、WURフレームの限られたサイズに合わせて切り詰める必要があることがある。例えば、APがSHA-256を使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate-L(SHA-256(TK || TA || RA || P-TSF))
TK=ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分
その長さは、4ウェイハンドシェイク中に選択された暗号スイートによって決まり、例えばCCMP-128などの場合は、128ビットである。
TA=送信機アドレス(APのMACアドレス=BSSの基本サービスセット識別子(BSSID:Basic Service Set Identifier))
RA=宛先STAに割り当てられた受信機アドレスまたはWUR ID(WID)(例えば、受信側WUR STAのAID12)
Truncate-L=SHA-256関数(128ビット)の出力をLビットに切り詰めるための関数
L=アドレスフィールド244のビット数
x || y=xとyの連結
【0027】
あるいは、APがAES-128-CMACを使用してMICを生成した場合、TK、TA、RA、およびP-TSFが入力としてAESエンジンに供給され、AESエンジンが128ビットの数値をMICとして返し、その後、この数値がLビットに切り詰められる。
【0028】
最後に、APが、
図2のアドレスフィールド244をMICフィールド816に置き換え、セキュリティビット814を1に設定し、WURフレーム800全体に対してFCS830を計算し、WURフレーム800を含むセキュリティ保護されたWUR PPDUを送信する。
【0029】
WURフレーム800を受信する受信側WUR STAに関しては、受信側WUR STAは、FCSフィールド830をチェックすることによって、フレームにエラーがないことを最初に検証する。セキュリティビット814は、WURフレーム800がセキュリティ保護されたフレームであり、そのアドレスフィールドがMICフィールド816によって置き換えられていることをSTAに知らせ、フレームタイプフィールド813は、このフレームがユニキャストWURフレームであることを示す。STAは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分)、送信機アドレス(TA’)としてのBSSのBSSIDおよび受信機アドレス(RA’)としてSTAに割り当てられたWUR ID(WID)(例えば、STAのAID12)、ならびにP-TSFフィールド818を、暗号アルゴリズムへの入力として使用して、MICを取得する。例えば、APが、WURモード応答フレーム内で、ペアワイズ通信に使用するための暗号スイートとしてSHA-256が使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate-L(SHA-256(TK’ || TA’ || RA’ || P-TSF))
【0030】
TAおよびRAの両方がMIC計算への入力として使用されたため、計算されたMIC’がMICフィールド816に一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下す。WUR STAは、それ自体をリプレイ攻撃からさらに保護するために、P-TSFフィールドに基づく追加チェックを実行してよく、例えばSTAは、P-TSF値が過去に受信されたWURフレームのP-TSF値より大きいことをチェックしてよく、受信されたWURフレーム内のP-TSF値とローカルに維持されているP-TSFとの間の差が、ローカルのP-TSF値からの特定の許容値以内(例えば、予想される最大クロック変動未満)であることをチェックしてもよい。P-TSFのチェックが失敗した場合、WUR STAはそのフレームを破棄し、成功した場合、STAは、WURフレームの内容に基づいて期待される動作(例えば、WURフレーム800がユニキャストWURフレームである場合、PCRのウェイクアップ)の実行を開始する。P-TSFフィールドに割り当てられたビットの数が少なく、P-TSF値が最大に達した後にロールオーバーすることがあり、それによって、本物のWURフレームがリプレイされたWURフレームとして誤って分類されることを引き起こすのを防ぐために、APは、P-TSF値がロールオーバーするたびに秘密鍵が変更されることを保証する必要がある。第三者のWUR STAに関しては、暗号関数への入力のいずれか(例えば、秘密鍵またはRA)が異なる場合、MIC’計算が、WURフレームに含まれるMICフィールドに一致せず、WUR STAはそのようなフレームを安全に破棄することができる。
【0031】
上記の例は、WURフレームのアドレスフィールド244内のTAおよびRAの両方の存在を仮定した。しかし、保護されるWURフレームがTAのみを含む場合(例えば、WURビーコンフレーム)、MICは、グループ鍵GTKまたはW-GTKの一時鍵(TK)部分、送信機アドレス(TA)としてのBSSのBSSID、およびP-TSFフィールドを、暗号アルゴリズムへの入力として使用して計算される。
MIC = Truncate-L(SHA-256(TK || TA || P-TSF))
【0032】
同じグループ鍵を所有するすべてのWUR STAは、MICを検証することができ、ブロードキャストWURビーコンを正しく受信し、受信されたフレームのP-TSFフィールドに基づいて、ローカルのP-TSFを同期させることができる。
【0033】
図9Aを参照すると、ソルトとして暗号計算に使用することができる一意の数値を含まないWURフレーム900が示されている。そのようなフレームがMICフィールドを含む場合でも、暗号計算が、送信機と受信機の両方に知られた一意のソルト値を含んでいなければ、受信機は依然としてリプレイ攻撃に対して脆弱である。ソルト値がないと、暗号計算は、フレームの内容が同じままである場合に、特定のWURフレームに対して同じMICを出力するであろう。そのような状況を克服するために、WURモードのネゴシエーション中に、セキュリティ保護されたWURモードをAPとネゴシエートするWUR STAごとに、APは、ソルトとして暗号計算に使用できる一意の数値を含まないWURフレームタイプ用の暗号ソルトを生成するために、基本数として使用する基本乱数を提供してよい。
図9BのWURアクションフレーム950が、APによってこの目的に使用されてよい。WURアクションフレームのこの変形では、アクションフレームがWUR STAからの要求フレームであるか、またはAPからの応答フレームであるかの指示が、WURアクションフィールドに含まれてよい。WURアクションフレームが、暗号ソルトを含むために使用される場合、WURアクションフィールドがWURモード応答として設定される。図に示されていないが、WURセキュリティエレメント520が存在してもよい。加えて、APは、暗号ソルトに使用する基本数を提供するために、暗号ソルトエレメント960を含んでもよい。2つ以上のWURフレームタイプが別々の暗号ソルトを必要とする可能性があるため、APは、1つまたは複数の暗号ソルトパラメータフィールド962を暗号ソルトエレメント960内に含んでもよい。各暗号ソルトパラメータフィールド962は、この暗号ソルトが適用されるWURフレームタイプを指定するフレームタイプフィールド964、および示されたWURフレームタイプのソルトとして使用するための開始数値を指定する暗号ソルトベース(Crypto Salt Base)フィールド966を含む。WURフレームタイプフィールド964のエンコーディングは、
図8のフレームタイプフィールド813と同じである。そのような暗号ソルトを必要とするユニキャストWURフレームタイプまたはマルチキャストWURフレームタイプの場合、APは、セキュリティ保護されたWUR送信をネゴシエートしたWUR STAごと、またはマルチキャストグループごとに、1つのフレームタイプにつき1つの一意の数値を維持する。セキュリティ保護されたWUR送信をネゴシエートした各WUR STAも、ユニキャストの1つのフレームタイプにつき1つの一意の数値、およびそのWUR STAが属するマルチキャストグループごとの1つのフレームタイプにつき1つの一意の数値を維持する。デフォルトでは、初期化中に暗号ソルトベースが0に設定されてよく、またはAPが、異なるランダムな値を開始数値として選択してもよい。セキュリティ保護されたWURフレームの正常な各送信の後に、APは、そのWURフレームに関連付けられた暗号ソルトの値を1だけインクリメントする。同様に、そのようなセキュリティ保護されたWURフレームを正常に受信したWUR STAも、そのWURフレームに関連付けられた暗号ソルトの値を1だけインクリメントする。r_STAが、WUR STAの特定のフレームタイプに対してAPによって維持されている暗号ソルトの現在の値を表す場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSIDおよび受信機アドレス(RA)、ならびにr_STAを、暗号アルゴリズムへの入力として使用して、MICを取得する。例えば、APがSHA-384を使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate-L(SHA-384(TK || BSSID || RA || r_STA))
L=RAフィールド914のビット数より少ないアドレスフィールド244のビット数
【0034】
APは、
図2のアドレスフィールド244のTA部分をMICフィールド916に置き換え、フレーム制御912内のセキュリティビットを1に設定し、WURフレーム900全体に対してFCS930を計算し、セキュリティ保護されたWURフレーム900を送信する。
【0035】
受信側WUR STAでは、最初にRAフィールド914をそれ自体のWUR IDと比較し、一致が存在する場合、次にMICフィールド916を比較する。r_STA’が、特定のフレームタイプに対してSTAによって維持されている暗号ソルトの現在の値を表す場合、STAは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分)、BSSのBSSIDおよび受信機アドレス(RA’)としてSTAに割り当てられたWUR ID(WID)(例えば、STAのAID12)、ならびにr_STA’を、暗号アルゴリズムへの入力として使用して、MIC’を取得する。例えば、APが、WURモード応答フレーム内で、ペアワイズ通信に使用するための暗号スイートとしてSHA-384が使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate-L(SHA-384(TK’ || BSSID’ || RA’ || r_STA’))
【0036】
計算されたMIC’がMICフィールド916に一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下す。同時に、STAは、特定のフレームタイプに対してSTAによって維持されている暗号ソルトを1だけインクリメントし、次にPCRをウェイクアップする。APも、WUR STAから応答フレームを受信したときに、WUR STAの特定のフレームタイプに対してAPによって維持されている暗号ソルトを1だけインクリメントする。この場合、正常な各WUR送信の後に、暗号ソルト値がATおよびSTAの両方によって常にインクリメントされるため、リプレイされたWUR PPDUはMICチェックに合格することができず、したがってリプレイ攻撃が阻止される。
【0037】
APおよびSTAが同期を失い、暗号ソルトの異なる値を持っている状態から回復するために、次のいくつかの選択肢が採用され得る。
【0038】
1.APは、r_STAの過去の1つまたは複数の値を保存することができる。r_STAの特定の値を使用して繰り返されたWURフレームの送信に対して、STAがウェイクアップしない場合、APは、過去のr_STAの保存された値を再利用して、WURフレームで送信されるMICを生成することができる。
【0039】
2.暗号ソルトベースに加えて、APは、非常用/バックアップ用に、別の一意の乱数e_STAを各WUR STAに提供する。STAは、e_STAをメモリに保存する。APは、STAが、r_STAに基づくMICを含む繰り返されたWURフレームに応答しない場合に、e_STAを暗号ソルトとして使用してMICを生成する。STAは、WURフレームを受信したときに、WURフレーム内のMICを、r_STAおよびe_STAの両方を使用して生成されたMICと比較する。いずれかの値が一致する場合、WURフレームは本物であると見なされる。特定のe_STAが使用された後に、新しいe_STAが、APとSTAの間でネゴシエートされる。
【0040】
わずかな変形として、MIC’の値は、STAがPCRモードである間に、暗号ソルトの最新の値を使用してWUR STAによって事前に計算され、PCRおよびWURの両方がアクセスできる共有メモリに保存されてもよい。STAは、セキュリティ保護されたWURフレームを受信したときに、受信されたフレーム内のMICフィールドをメモリに保存されているMIC’と単に比較し、受信されたWURフレームの信頼性を決定する。この選択肢は、APによってより強力な計算を要する暗号スイートが選択された場合に、好ましいことがある。WURモードと比較して、PCRモードの間にはWUR STAがより強力なCPUにアクセスすることができ、ある程度の省電力につながるためである。
【0041】
前述したように、WUR PPDUの送信に使用できると期待されるデータ速度が相対的に低いため、WURフレームの長さをできるだけ短くするのは有益である。TAフィールドまたはTAフィールドとRAフィールドの両方をMICに置き換えることは、セキュリティ保護されたWURフレームの長さの増加を最小限に抑えるという追加の利点がある。加えて、暗号計算用の入力フィールドの長さは大きな問題ではないため、RAのAID12の12ビットまたはTAとしてのBSSカラー(ネットワーク識別子)の12ビットなどの短縮されたアドレスフィールドを使用する代わりに、48ビット長の完全なMACアドレスが、RAおよびTAとしてMIC計算に使用されてよい。これにより、例えば同じBSSカラーを使用する隣接するOBSSに起因する、MICの意図されない誤検出の可能性をさらに減らす。一例として、
図2のアドレスフィールド244が16ビット長であると仮定すると、このアドレスフィールドが、
図8に示されているように、MICフィールド816によって置き換えられた場合、セキュリティ保護されたWURフレームの長さは、セキュリティ保護されていないWURフレームと同じままである。
【0042】
<第2の実施形態>
図10Aを参照すると、ソルトとして暗号計算に使用することができる一意の数値を含まないWURフレームの別の解決策が示されている。WURモードのネゴシエーション中に、セキュリティ保護されたWURモードをAPとネゴシエートする各WUR STAについて、そのような暗号ソルトを必要とするユニキャストWURフレームタイプまたはマルチキャストWURフレームタイプごとに、APは、WUR STAごとまたはマルチキャストグループごとに、1つのフレームタイプにつき、そのフレームタイプ用の暗号ソルトを生成するための基本数として、1つの一意の数値を維持する。デフォルトでは、初期化中に基本数が0に設定されてよく、またはAPが、異なるランダムな値を開始数値として選択してもよい。APは、STAがWURモードに移行する前に、基本数の現在の値を暗号ソルトとして使用して、WUR STAごとにMICを計算し、そのMICを、PCRを使用してWUR STAに送信する。r_STAが、WUR STAの特定のフレームタイプに対してAPによって維持されている基本数の現在の値を表す場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSIDおよび受信機アドレス(RA)、ならびにr_STAを、暗号アルゴリズムへの入力として使用して、MICを取得する。例えば、APがHMAC-MD5を使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = HMAC-MD5(TK || BSSID || RA || r_STA)
【0043】
モード指示がWURモード応答に設定されている
図10BのWURアクションフレーム1050が、APによって、MICをWUR STAに送信するために使用されてよい。APは、1つまたは複数のMICパラメータフィールド1062をMICエレメント1060内に含んでよい。各MICパラメータフィールド1062は、このMICが適用されるフレームタイプを指定するフレームタイプフィールド1064、および示されたWURフレームタイプの検証に使用されるMICを含むMICフィールド1066を含む。MICフィールド1066の長さは、MICの計算に使用される暗号スイートによって決まる。WURフレームタイプフィールド1064のエンコーディングは、
図8のフレームタイプフィールド813と同じである。セキュリティ保護されたWUR送信をネゴシエートした各WUR STAは、ユニキャストの1つのフレームタイプにつき1つの一意のMIC、およびそのWUR STAが属するマルチキャストグループごとの1つのフレームタイプにつき1つの一意のMICを受信して保存する。その後、APは、別々の暗号ソルトを必要とするセキュリティ保護されたWURフレームを、WURモードにあるWUR STAに送信する必要がある場合、
図2のアドレスフィールド244をr_STA1014(WUR STAに対して維持される基本数の現在の値)に置き換えるWURフレーム1000を送信する。そのため、基本数に使用されるビット数は、
図2のアドレスフィールド244に割り当てられたビット数によって制限される。
【0044】
受信側WUR STAでは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分)、BSSのBSSIDおよび受信機アドレス(RA’)としてSTAに割り当てられたWUR ID(WID)(例えば、STAのAID12)、ならびにWURフレーム1000で受信されたr_STAを、暗号アルゴリズムへの入力として使用して、MIC’を取得する。例えば、APが、最初のWURモードのネゴシエーション中に、ペアワイズ通信に使用するための暗号スイートとしてHMAC-MD5が使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = HMAC-MD5 (TK’ || BSSID’ || RA’ || r_STA))
【0045】
計算されたMIC’がフレームタイプの保存されたMICに一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下す。APは、セキュリティ保護されたWURフレームの正常な各送信の後に、WURフレームに関連付けられた基本数の値を1だけインクリメントし、この基本数を使用してMICを再計算し、STAがWURモードに戻る前のPCRセッション中に、このMICをWUR STAに提供する。この方法を使用することの1つの利点は、MICを切り詰める必要がなく、完全な長さのMICが、WURフレームの信頼性を検証するために使用されることであるが、各PCRセッション中に、MICの余分な送信が存在する。この方法は、WURフレームが送信される頻度が低いが、より高度なセキュリティが期待される場合に、適していることがある。
【0046】
<第3の実施形態>
図11Aを参照すると、ソルトとして暗号計算に使用することができる一意の数値を含まないWURフレームのさらに別の解決策が示されている。暗号ソルトとして使用するための乱数を明示的に提供する代わりに、WUR STAは、暗号ソルトとして使用するための数値を、PCRセッション中に交換されたフレームから非明示的に受信してもよい。ユニキャストWURフレームの場合、WUR STAによって正常に受信された、APからの最新のユニキャストデータフレームまたはユニキャスト管理フレームのMACヘッダのシーケンス制御フィールドに含まれるシーケンス番号が、暗号ソルトとして使用されてよい。例えばSNが、直前に送信されたデータフレーム1110のシーケンス番号の現在の値を表す場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSIDおよび受信機アドレス(RA)、ならびにSNを、暗号アルゴリズムへの入力として使用して、MICを取得する。例えば、APがSHA-256を使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate -L(SHA-256(TK || BSSID || RA || SN))
L=アドレスフィールド244のビット数
【0047】
APは、ユニキャストWUR PPDU1120のアドレスフィールドを生成されたMICに置き換え、セキュリティビットを1に設定し、WUR PPDUに含まれるWURフレーム全体に対してFCSを計算し、セキュリティ保護されたユニキャストWUR PPDU1120を送信する。
【0048】
受信側WUR STAでは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分)、BSSのBSSIDおよび受信機アドレス(RA’)としてSTAに割り当てられたWUR ID(WID)(例えば、STAのAID12)、ならびに直前に受信されたデータフレーム1110のシーケンス番号SN’を、暗号アルゴリズムへの入力として使用して、MIC’を取得する。例えば、APが、最初のWURモードのネゴシエーション中に、ペアワイズ通信に使用するための暗号スイートとしてSHA-256が使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate -L(SHA-256(TK’ || TA’ || RA’ || SN’))
【0049】
計算されたMIC’がWUR PPDU1120のMICフィールドに一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。
【0050】
マルチキャストWUR PPDUに関しては、2つ以上のWUR STAがWUR PPDUを認証できる必要があるため、非明示的な暗号ソルトは、マルチキャストWUR PPDUの意図される受信者であるすべてのSTAで同じでなければならない。最新の802.11のビーコンフレームに含まれるタイムスタンプフィールドは、マルチキャストWUR PPDUの非明示的な暗号ソルトとして使用されてよい。例えばTSFが、直前に送信されたビーコンフレーム1130のタイムスタンプフィールドの現在の値を表す場合、APは、マルチキャストグループ用のネゴシエートされた秘密グループ鍵(例えば、グループ鍵GTK、IGTK、またはW-GTKの一時鍵(TK)部分)、BSSIDおよび受信者マルチキャストグループのグループID(GID)、ならびにTSFを、暗号アルゴリズムへの入力として使用して、MICを取得する。例えば、APがAES-128-CMACを使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate-L(AES-128-CMAC (TK || BSSID || GID || TSF))
【0051】
ここで、AES-128-CMAC (TK || BSSID || GID || TSF)は、TK、BSSID、GID、およびTSFを入力として受け取るAES-128-CMACアルゴリズムの出力を表すために使用される。
【0052】
APは、マルチキャストWUR PPDU1140のアドレスフィールドを生成されたMICに置き換え、セキュリティビットを1に設定し、WUR PPDUに含まれるWURフレーム全体に対してFCSを計算し、セキュリティ保護されたマルチキャストWUR PPDU1140を送信する。
【0053】
受信側WUR STAでは、ビーコンフレームをAPから受信するたびに、直前に受信されたビーコンフレーム1130に含まれるタイムスタンプフィールドを、TSFとしてメモリに保存する。その後、STAがセキュリティ保護されたWURフレームを受信したときに、受信されたWURフレームのフレームタイプがマルチキャストフレームを示している場合、かつSTAがマルチキャストグループに属している場合、STAは、そのグループ鍵GTK、IGTK、またはW-GTK、BSSのBSSID、およびSTAが属しているマルチキャストグループのグループID(GID’)、ならびに保存されたタイムスタンプTSF’を、暗号アルゴリズムへの入力として使用して、MIC’を取得する。例えば、APが、最初のWURモードのネゴシエーション中に、ペアワイズ通信に使用するための暗号スイートとしてAES-128-CMACが使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate-L(AES-128-CMAC (TK’ || BSSID || GID’ || TSF’))
【0054】
計算されたMIC’がWUR PPDU1140のMICフィールドに一致する場合、WUR STAは、このマルチキャストWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。
【0055】
WUR STAが非常に長い時間にわたってWURモードで動作しており、ウェイクアップする必要のある頻度が極めて低いことが、可能であることがある。そのような場合、WUR STAは、あまり頻繁にPCRモードに切り替わらない可能性がある。しかし、そのようなWUR STAは、APとの時間同期を維持するために、依然としてWURビーコンフレームを定期的に受信している。そのようなWUR STAの場合、APは、最新のWURビーコンフレームに含まれるP-TSFを代わりに使用してよく、このWUR STAは、宛先がこのSTAである次のセキュリティ保護されたWURフレーム用の暗号ソルトとして、このP-TSFを受信していることが、知られている。例えば、APは、WUR STAのデューティサイクルなどの情報に基づいて、WUR STAが受信しているWURビーコンフレームを認識してよい。1つの例が、フレーム交換シーケンス1150に示されている。APが、WUR STAがWURビーコン1160を受信することを認識している場合、かつP-TSFがWURビーコンフレーム1160のP-TSFフィールドの値を表す場合、APはこのP-TSF値をメモリに保存する。その後、APがSTAをウェイクアップする必要がある場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSID、および受信側WUR STAの受信機アドレス(RA)、ならびに保存されたP-TSFを、暗号アルゴリズムへの入力として使用して、MICを取得する。例えば、APがAES-256-CMACを使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate-L(AES-256-CMAC(TK || BSSID || RA || P-TSF))
【0056】
APは、WUR PPDU1170のアドレスフィールドを生成されたMICに置き換え、セキュリティビットを1に設定し、WUR PPDUに含まれるWURフレーム全体に対してFCSを計算し、セキュリティ保護されたマルチキャストWUR PPDU1170を送信する。
【0057】
受信側WUR STAでは、WURビーコンフレーム(例えば、WURビーコン1160)をAPから受信するたびに、WURビーコンに含まれるP-TSFフィールドをP-TSF’としてメモリに保存する。その後、STAは、セキュリティ保護されたWURフレームを受信したときに、その秘密鍵、BSSのBSSID、およびRAとしてのWID、ならびに保存されたP-TSF’を、暗号アルゴリズムへの入力として使用して、MIC’を取得する。例えば、APが、最初のWURモードのネゴシエーション中に、ペアワイズ通信に使用するための暗号スイートとしてAES-256-CMACが使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate-L(AES-256-CMAC(TK’ || BSSID || RA’ || P-TSF’))
【0058】
計算されたMIC’がWUR PPDU1170によって運ばれるセキュリティ保護されたWURフレームのMICフィールドに一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。
【0059】
WURビーコンフレームが、単調増加するWURビーコン番号も含む場合、P-TSFを暗号ソルトとして使用する代わりに、WURビーコン番号が、APおよびWUR STAによって暗号ソルトとしてMIC計算に使用されてもよい。
【0060】
WUR STAの一部が非常に低いデューティサイクルを有する場合、または他のWUR STAと一致しないデューティサイクルを有する場合、そのようなWUR STAが最新のPCRビーコンフレームまたは最新のWURビーコンフレームのTSFまたはP-TSFをそれぞれ受信していることを保証するのは、困難である。そのような場合、APおよびWUR STAは、WUR STAごとに、ターゲットWURビーコン送信時間(TWBTT:Target WUR Beacon Transmit Time)のシーケンス番号を記録してよい。WURビーコン間隔(APがWURビーコンを送信する定期的な間隔)が、すべてのWUR STAに知られているため、WURビーコンを受信しなくても、WUR STAは、最新のTWBTTのシーケンス番号を記録することができる。その後、このシーケンス番号が、暗号ソルトとしてMIC計算に使用されてよい。
【0061】
<第4の実施形態>
HMACまたはCMACなどの暗号関数が、無線通信システムにおいて広く使用されており、多くの他の暗号関数より非常に単純であると考えられているが、リソースが極めて制約された特定の配置では、それでも、WUR STAがWURモードで動作しているときに、ハッシュ計算がWUR STAのリソースを大幅に消費することがある。そのような場合、APは、セキュリティ保護されたWURフレームの定義を緩和し、APとWUR STAの両方に知られている何らかの秘密の情報の共通の知識に頼ってWURフレームを保護することが、必要になることがある。一例として、各PCRセッション中に、APは、ランダムに生成された秘密の数値r_STAを、暗号化されたWURアクションフレーム1210内でWUR STAに提供する。WURアクションフレーム1210は、MICエレメントがMICの代わりに乱数r_STAを含むことを除き、
図10Bのフレーム1050に類似してよい。WUR STAは、乱数をr_STA’としてメモリに保存する。その後、APがWUR STAをウェイクアップする必要がある場合、APは、WUR PPDU1220のアドレスフィールドを生成されたMICに置き換え、セキュリティビットを1に設定し、WUR PPDUに含まれるWURフレーム全体に対してFCSを計算し、セキュリティ保護されたWUR PPDU1220を送信する。受信側WUR STAがアドレスフィールド244を保存されたr_STA’と比較し、一致が存在する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下す。WUR STAは、アドレスフィールド244に含まれている乱数が過去に使用されていないことをチェックすることによって、リプレイ攻撃についてもチェックし、真である場合は、次にそのPCRをウェイクアップする。APは、暗号化されたWURアクションフレームを使用して、次のセキュリティ保護されたWURフレームなどに使用される、以前に使用されていない新しい乱数をSTAに再び提供する。
【0062】
<第5の実施形態>
第1の実施形態では、セキュリティ保護されたWURモードをAPとネゴシエートするWUR STAごとに、APが、ソルトとして暗号計算に使用できる一意の数値を含まないWURフレームタイプ用の暗号ソルトを生成するために、基本数として使用する乱数を提供してよいことを述べた。APおよびWUR STAの両方が、それらの各基本数をインクリメントすることによって、次のWURフレームに使用される暗号ソルトを非明示的に生成する。代替として、APとWUR STAの間の暗号ソルトの同期を失うリスクを減らすために、APは、暗号ソルトとして使用するための数値の範囲をWUR STAに提供する。APは、フレームタイプフィールド1364によって示されているような特定のWURフレームタイプに使用するために、WURアクションフレーム1350を使用して、暗号ソルトベース1366および暗号ソルト範囲指数(Crypto Salt Range Exponent)1368を提供してよい。一例として、S_SNが暗号ソルトベース1366の値を表し、NUM_SNが暗号ソルト範囲指数1368の値を表す場合、APは、範囲[S_SN, S_SN + 2
NUM_SN - 1]内の数値を示してよい。WUR STAは、暗号ソルトの範囲を受信し、指定された暗号アルゴリズムを使用するときに、その秘密ペアワイズ鍵、BSSのBSSID、およびRAとしてのWIDを入力として使用して、この範囲内の暗号ソルトごとのMIC値を事前計算し、それらのMIC値を、WURモード中に今後使用するために、メモリに保存してよい。
図14の表1400は、S_SN=100およびNUM_SN=8を使用してWUR STAによって計算されたMIC値の例示的な表を示している。ここで、MIC値は16ビットに切り詰められている。APがWUR STAをウェイクアップする必要がある場合、APは、その秘密ペアワイズ鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSID、受信側WUR STAの受信機アドレス(RA)、および、シリーズ内の第1のCSNから開始して暗号ソルトとしたものを、暗号アルゴリズムへの入力として、MICを計算する。APは、
図15のセキュリティ保護されたWURフレーム1500のTAフィールドを生成されたMIC1516に置き換え、セキュリティビットを1に設定し、WURフレーム1500全体に対してFCSを計算し、WURフレーム1500を含むセキュリティ保護されたWUR PPDUを送信する。
【0063】
その後、WUR STAは、セキュリティ保護されたWURフレーム1500を受信したときに、最初にRAフィールド1514をそれ自体のWUR IDと比較し、一致が存在する場合、次にWURフレームタイプを比較し、そのフレームタイプのMIC表がメモリ内に存在する場合、STAは、MICフィールド1516を、最後に使用されたMIC値から開始して、格納されているMIC値と昇順に比較し、一致が存在する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。APは、指定された範囲内のすべての暗号ソルトを使い果たしたら、その後のセキュリティ保護されたWURフレームを検証するために使用する暗号ソルトの新しい範囲をWUR STAに提供する。
【0064】
セキュリティ保護されたマルチキャストWURフレームのプロセスは、非常に類似している。APは、セキュリティ保護されたマルチキャストWURフレームを検証するための暗号ソルトの別の範囲を、WUR STAに提供する。WUR STAは、暗号ソルトの範囲を受信し、指定された暗号アルゴリズムを使用するときに、その秘密グループ鍵、BSSのBSSID、およびこのWUR STAが属しているRAとしてのマルチキャストグループのグループIDを入力として使用して、この範囲内の暗号ソルトごとのMIC値を事前計算し、それらのMIC値を、WURモード中に今後使用するために、メモリに保存してよい。APがWUR STAのグループをウェイクアップする必要がある場合、APは、そのグループ鍵(例えば、グループ鍵GTK、IGTK、またはW-GTKの一時鍵(TK)部分)、BSSID、受信側マルチキャストグループのグループID、および、シリーズ内の第1のCSNから開始して暗号ソルトとしたものを、暗号アルゴリズムへの入力として、MICを計算する。APは、
図16のセキュリティ保護されたマルチキャストWURフレーム1600のTAフィールドを生成されたMIC1616に置き換え、セキュリティビットを1に設定し、WURフレーム1600全体に対してFCSを計算し、マルチキャストWURフレーム1600を含むセキュリティ保護されたWUR PPDUを送信する。
【0065】
セキュリティ保護されたマルチキャストWURフレーム1600を受信する各WUR STAは、WURフレームタイプを比較し、そのフレームタイプのMIC表がメモリ内に存在する場合、STAは、MICフィールド1616を、最後に使用されたMIC値から開始して、格納されているMIC値と昇順に比較し、一致が存在する場合、WUR STAは、このマルチキャストWURフレーム1600の受信機のうちの1つであるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。APは、指定された範囲内のすべての暗号ソルトを使い果たしたら、その後のセキュリティ保護されたマルチキャストWURフレームを検証するために使用する暗号ソルトの新しい範囲をWUR STAのグループに提供する。
【0066】
<第6の実施形態>
最近のIEEE 802.11baの提案であるIEEE 802.11-17/1004r01は、メッセージ完全性チェック(MIC:Message Integrity Check)フィールドをWURフレームに追加することによってセキュリティ保護されたWURフレームを作成する、類似するアイデアを提案している。通常はAPの送信機アドレス(TA)として使用されるBSSIDフィールドならびにAPおよびSTAによって維持されるタイミング同期機能(TSF)が、MIC計算の入力として使用される。MICは、秘密グループ鍵(例えば、IGTK)を使用してWURフレーム全体に対して計算され、FCSフィールドが、計算されたMICフィールドに置き換えられる。送信中のWURフレーム内のどのエラーも、受信機でのMIC検証の失敗をもたらし、それによって、FCSフィールドの機能を実行する。しかし、この提案は、以下で説明されているようないくつかの欠点を抱えている。
【0067】
(a)本開示において以下で詳述されているように、TSFをMIC計算の入力として使用するには、セキュリティ保護されたWURフレームの送信機(AP)および受信機(WUR STA)の両方で、何らかの前処理が必要になる。
【0068】
(b)グループ鍵は、ブロードキャスト/マルチキャスト送信に使用されるよう意図されており、関連付けられているすべてのSTAに知られていることがある。IGTK/GTKまたは任意のその他のグループ鍵は、「インサイダー攻撃」、すなわち、同じAPに関連付けられているデバイスによる攻撃の影響を受けやすい。そのデバイスがIGTK/GTKを知っているためである。「内部の攻撃者」は、IGTKを知っているため、有効なMICを含む偽造されたセキュリティ保護されたWUR PPDUを容易に作成できる。
【0069】
図17は、インフラストラクチャモードで動作しているIEEE 802.11のデバイスによって維持されるTSF1700のフォーマットを示している。TSF1700は、1マイクロ秒の時間分解能を有する64ビット長のカウンタであり、BSS内のすべての802.11のデバイスがAPとの時間同期を維持するのを支援する。APは、ビーコンフレームのタイムスタンプフィールドを使用して、TSFの現在の値を定期的にブロードキャストする。STAが関連付けられているAPからビーコンフレームを受信する各STAは、受信機の処理遅延を調整した後に、ローカルのTSFを受信されたタイムスタンプに置き換える。参照を簡単にするために、TSF1700は、
図17に示されているように、ビット0から開始して、TSF-0~TSF-7の8つのオクテットに分割されてよい。
【0070】
図18は、第6の実施形態によるセキュリティ保護されたWURフレーム1800のフレームフォーマットを示している。WURフレーム1800のMACヘッダ1810は、フレーム制御フィールド1812、受信機アドレス(RA)フィールド1814、および部分TSF(P-TSF)フィールド1816を含む。フレーム制御フィールドは、
図8のフレーム制御フィールド812と同じフォーマットに従う。セキュリティ保護されたWURフレームをセキュリティ保護されていないWURフレームと区別するために、APは、フレーム制御フィールド812内のセキュリティビットを1に設定する。セキュリティビットは、WURフレーム内のMICフィールドの存在を、受信側WUR STAに対して知らせる。RAフィールド1814は、受信側WUR STAの割り当てられたWUR ID(WID)(例えば、AID12)に設定されてよい。P-TSFフィールド1816は、WURモード中に時間同期に使用され、APは、
図17のTSF1700のTSF-1オクテットをP-TSFとして送信することを選択してよい。フレームボディフィールド1820は、任意選択であり、特定のフレームタイプのみに存在してよい。APは、セキュリティ保護されたWURフレームを作成するために、事前にネゴシエートされた暗号関数を使用し、TSFを暗号ソルトとして使用して、WURフレーム全体に対してMICを計算する。APのTA(BSSID)も、MIC計算のための追加入力として使用される。フレームのFCSフィールドは、計算されたMICフィールド1830に置き換えられ、認証タグとして機能すると同時に、WURフレーム内のエラーの検出にも役立つ。
【0071】
しかし、ローカルのTSFをMIC計算に直接使用することは、下で説明されるように同期を喪失する問題のため、実現不可能である。
図17のTSF1700のTSF-1オクテットをP-TSFとして使用することによって、256μSの分解能および65536μSのロールオーバー期間の部分タイムスタンプが得られる。P-TSFとして使用されるTSFのビットの選択は、WURの配置状況によって決まってよく、最初のWURのネゴシエーション段階の間に、APとWUR STAの間でネゴシエートされていてよい。TSF-1オクテットがP-TSFとして使用される場合、APおよびSTAのTSF-0フィールドが同期していることは期待できない。そのため、P-TSFより小さいTSFビットが、MIC計算において使用されるべきではない。加えて、WURモードで動作しているWUR STAは、あまり定期的に802.11のビーコンフレームを受信しないかもしれないため、WUR STAによって維持されるローカルのTSFは、APのTSFとそれほど緊密に同期しないことがある。WUR STAは、WURビーコンなどのブロードキャストWURフレーム内のP-TSFフィールドに含まれる部分タイムスタンプを使用して、ローカルのTSFの対応するビットの同期を保つが、P-TSFフィールドに使用できるビット数が限られているため、部分タイムスタンプが定期的にロールオーバーし、TSFのより高いオクテットをインクリメントすることが必要になる。ハードウェアの制限に起因して、APおよびWUR STAの両方のクロックは、±ppm(百万分率)として表されるある程度のクロック変動を含むと予想される。通常、WUR STAは、APと比較して極めて安価なハードウェアコンポーネントを使用して実装されることがあり、非常に大きいクロック変動が発生すると予想される。
図19の表1900は、APが
図17のTSF1700のTSF-1オクテットをP-TSFとして送信することを選択したときに、クロック変動誤差に起因して発生することがあるタイミング同期問題の例を示している。この例では、APとWUR STAの間での±200ppmの合計クロック変動(すなわち、APおよびWUR STAのクロックが100万単位ごとに200単位異なること)を仮定している。表1900の上半分は、STAのクロックがAPのクロックよりも速く動作している場合を示しており、下半分は、その反対の場合を示している。簡潔にするために、TSFのTSF-1オクテット(8:15ビット)およびTSF-2オクテット(16:23ビット)のみが示されている。WURビーコンが10秒ごとに1回送信されると仮定すると、最後のWURビーコンが受信されてから10秒の期間の終了時に、WUR STAのクロックは、この時間の間に前方に約2000μS変動していると推定され、行1910に示されているように、APのTSF-1:TSF-2がまだ249:200であるときに、WUR STAのTSF-1:TSF-2が0:201にロールオーバーすることがある。APおよびWUR STAのTSF-2は、さらに7単位後に、行1919でようやく201に再び同期する。同様に、WUR STAのクロックが、1つのWURビーコン間隔の間に後方に約2000μS変動していると推定される逆の場合では、行1930に示されているように、APのTSF-1:TSF-2がすでに0:201にロールオーバーしているときに、WUR STAのTSF-1:TSF-2がまだ248:200であることがある。APおよびWUR STAのTSF-2は、さらに8単位後に、行1940でようやく201に再び同期する。これは、WUR STAが1つのWURビーコンを逃した場合に、約4000μSの「TSFミスアラインメントウィンドウ(TSF misalignment window)」が存在し、この間、APおよびSTAのTSFがずれることを示している。STAが、さらに多くのWURビーコンを逃した場合、「TSFミスアラインメントウィンドウ」が単に大きくなる。一般に、スキップされてもWUR STAがまだTSFの同期を回復できる、WURビーコンの最大数nは、次式によって決定される。
【0072】
n個のWURビーコンを逃すことによる最大変動≦(ロールオーバー期間)/2
ロールオーバー期間は、P-TSFフィールドに使用されるビットの数およびその分解能によって決定され、2l*rとして計算され、lはP-TSFに使用されるビットの数、rはP-TSFの分解能である。MICを正しく検証するには、WUR STAが、APによって使用されるのと正確に同じTSFの値を使用する必要があるため、APとWUR STAの両方が、TSFをMIC計算の入力として使用する前に、クロック変動の影響を考慮に入れるように、各ローカルのTSFを前処理する必要がある。一般に、次のステップを実行して、「TSFミスアラインメントウィンドウ」の間のTSFのずれを修正することができる。
【0073】
・受信されたWURフレーム内のP-TSFが、STFの対応するTSFビットよりも(ロールオーバー期間)/2単位を超えて大きい場合、STAは、STAのクロックの方が速く、ロールオーバーがSTAで発生したことを仮定することができ、より高いTSFオクテットを1だけデクリメントすることによって調整できる。
【0074】
同様に、受信されたWURフレーム内のP-TSFが、STAの対応するTSFビットよりも(ロールオーバー期間)/2単位以上小さい場合、STAは、STAのクロックの方が遅く、ロールオーバーがAPで発生したことを仮定することができ、より高いTSFオクテットを1だけインクリメントすることによって調整できる。本明細書の例の場合、
図17のTSF1700のTSF-1オクテットをP-TSFとして使用すると、ロールオーバー期間は、2
8*256μS=65536μSというように計算できる。したがって、逃すことができるWURビーコンの最大数は、16であると計算することができ、この値は、256μSのP-TSFの分解能で、32000μS=125単位の最大「TSFミスアラインメントウィンドウ」に変換される。次のステップを実行して、「TSFミスアラインメントウィンドウ」の間のTSFのずれを修正することができる。
【0075】
・受信されたWURフレーム内のP-TSFが、STFのTSF-1オクテットよりも125単位を超えて大きい場合、STAは、STAのクロックの方が速く、ロールオーバーがSTAで発生したことを仮定することができ、より高いTSFオクテットを1だけデクリメントすることによって調整できる。
【0076】
・同様に、受信されたWURフレーム内のP-TSFが、STAのTSF-1オクテットよりも125単位を超えて小さい場合、STAは、STAのクロックの方が遅く、ロールオーバーがAPで発生したことを仮定することができ、より高いTSFオクテットを1だけインクリメントすることによって調整できる。
【0077】
図20を参照すると、TSFの前述した前処理が概略的に示されている。2010は、APによって維持されるローカルのTSF(TSF)またはWUR STAによって維持されるローカルのTSF(TSF’)を表している。2020は、前処理が実行された後のローカルのTSFのコピー(TSF
*)を表している。TSF-1がAPによってP-TSFフィールドとして使用される場合、APで、TSF-0ビットがマスクされてすべて0になってTSF
*を形成し、TSF-1オクテットが、
図18のP-TSFフィールド1816にコピーされる。次に、TSF
*が、暗号ソルトとしてMIC計算に使用され、WURフレーム1800のFCSフィールドが、計算されたMIC1830に置き換えられる。受信側WUR STAでは、コピーTSF
*は、ローカルのTSF’から作られており、TSF-0オクテット2022はマスクされてすべて0になる。次に、TSF-1オクテット2024がP-TSFフィールド1816に置き換えられる。
【0078】
図18のWURフレーム1800がユニキャストフレームである場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSID、および前処理されたTSF
*を、暗号アルゴリズムへの入力として使用し、FCSフィールドを除くWURフレーム全体(すなわち、MACヘッダ1810、および存在する場合は、任意選択のフレームボディフィールド1820)に対してMICを計算する。通常、標準的な暗号関数の出力は、WUR PPDUで直接使用するには長すぎることがあり、WURフレームの限られたサイズに合わせて切り詰める必要があることがある。
【0079】
例えば、APが暗号ハッシュ関数SHA-256を使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate-L(SHA-256(TK || WUR Frame* || BSSID || TSF*))
TK=ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分
その長さは、4ウェイハンドシェイク中に選択された暗号スイートによって決まり、例えばCCMP-128などの場合は、128ビットである。
WUR Frame*=MACヘッダ1810および任意選択のフレームボディフィールド1820
BSSID=BSSの基本サービスセット識別子(BSSID)=APのMACアドレス
Truncate-L=SHA-256関数(128ビット)の出力をLビットに切り詰めるための関数
L=FCSフィールド252のビット数
x || y=xとyの連結
【0080】
APは、WURフレーム1800のFCSフィールドを、生成されたMIC1830に置き換え、セキュリティ保護されたWURフレーム1800を送信する。
【0081】
受信側WUR STAで、セキュリティ保護されたWURフレーム1800を受信したときに、このフレームがユニキャストWURフレームであると決定した後に、RAフィールド1814がSTAのWIDに一致することを確認する。RAが一致する場合、STAは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分)、そのBSSID’、および前処理されたTSF*を、暗号アルゴリズムへの入力として、FCSフィールドを除くWURフレーム全体(すなわち、MACヘッダ1810、および存在する場合は、任意選択のフレームボディフィールド1820)に対して使用し、MIC’を取得する。例えば、APが、最初のWURモードのネゴシエーション中に、ペアワイズ通信に使用するための暗号スイートとしてSHA-256が使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate-L(SHA-256(TK’ || WUR Frame* || BSSID’ || TSF*))
【0082】
計算されたMIC’がWURフレーム1800によって運ばれるセキュリティ保護されたWURフレームのMICフィールドに一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。
【0083】
図21を参照すると、802.11のCCMP暗号カプセル化(CCMP cryptographic encapsulation)を再利用することによってセキュリティ保護されたWURフレームを生成する代替方法2100が示されている。単純な暗号ハッシュ関数を使用して、WURフレームの認証用のMICを生成できるが、APは、PCR送信の暗号化に使用されたIEEE 802.11のCCMP暗号カプセル化を再利用してMICフィールド1830を生成することを選択してもよい。IEEE 802.11のCCMP暗号カプセル化は、PCRの間に、データフレームおよび管理フレームを暗号化するために使用されるが、MACヘッダの内容を認証するためのMICも生成する。WURフレームが暗号化される必要はないとはいえ、IEEE 802.11のCCMP暗号カプセル化を再利用して、WURフレームの認証に使用されるMICを生成できる。APは、
図5のWURセキュリティエレメント520で、
図7の表700内のCCMP-128が暗号スイートとして使用されることを指定することによって、WURモードのネゴシエーション中に、CCMPがMICの生成に使用されることを指定できる。セキュリティ保護されたWURフレームは、次のステップに従ってCCMPを使用して生成される。
【0084】
(a)コピーTSF*を作成し、TSF*のn最下位ビット(LSB:least significant bits)をマスクして0にすることによって、TSF2122が前述したように前処理される。nはP-TSFのLSBのビットインデックスである。例えば、TSF-1がP-TSFとして使用される場合、n=8であり、TSFの8LSB(すなわち、ビット0~ビット7)がマスクされて0になる。
【0085】
(b)
図8のフレーム制御フィールド812内のセキュリティビット814を設定することによって、セキュリティ保護されていないWURフレーム2110がセキュリティ保護されたWURフレームとしてマーク付けされ、WURフレーム全体(存在する場合は、
図18の任意選択のフレームボディフィールド1820を含む)が、追加認証データ(AAD:Additional Authentication Data)2116として使用される。
【0086】
(c)CCMノンスブロック2118が、BSSID2120およびTSF*2114から構築される。
【0087】
(d)AAD2116、ノンスブロック2118、およびAPの一時鍵(TK)2124が暗号回路2130(この場合、MIC2132を取得するためのCCM暗号化モジュール)に供給される。
【0088】
(e)次に、生成されたMIC2132が、
図2のFCSフィールド252に合わせて切り詰められる。
【0089】
(f)最後に、MIC2132をMACヘッダおよびフレームボディ2112に追加することによって、セキュリティ保護されたWURフレーム2150が形成される。
【0090】
CCMP暗号関数を使用して受信側WUR STAでセキュリティ保護されたWURフレームを認証する手順が、
図22に示されている。WUR STAは、次のステップに従ってセキュリティ保護されたWURフレームを認証する。
【0091】
(a)MACヘッダおよびフレームボディ2212、P-TSF2214、ならびにMICフィールド2216を分離するために、セキュリティ保護されたWURフレーム2210が構文解析される。
【0092】
(b)MACヘッダおよびフレームボディ2212が、追加認証データ(AAD)2230として使用される。
【0093】
(c)コピーTSF*を作成し、TSF*のn最下位ビット(LSB)をマスクして0にすることによって、ローカルのTSF’2220が前述したように前処理される。nはP-TSFのLSBのビットインデックスである。例えば、TSF-1がP-TSFとして使用される場合、n=8であり、TSFの8LSB(すなわち、ビット0~ビット7)がマスクされて0になる。P-TSFフィールドに対応するビットがP-TSF2214に置き換えられ、TSF*のより高いビットが、前述したようにクロック変動(TSFのずれ)に関して調整され、前処理されたTSF*2232を形成する。
【0094】
(d)CCMノンスブロック2234が、BSSID2222およびTSF*2232から構築される。
【0095】
(e)AAD2230、ノンスブロック2234、およびSTAの一時鍵(TK)2224が暗号回路2250(この場合、MICを取得するためのCCM暗号化モジュール)に供給される。
【0096】
(f)生成されたMICが、
図2のFCSフィールド252の長さに切り詰められ、MIC’2252を形成する。このMIC’がセキュリティ保護されたWURフレーム2210からのMIC2216と比較され、これら2つが同じである場合、MIC検証に合格し、WURフレームが本物であると見なされる。MIC検証は、WURフレームにエラーがないことも保証する。
【0097】
(g)TSFがMICの計算において使用されるため、MIC検証は、非明示的なリプレイチェックとしても機能する。しかし、追加されたリプレイ防御手段として、ローカルのTSF’および処理されたTSF*が、例えば、TSF’とTSF*の間の差がP-TSFのロールオーバー期間未満であることを確認することによって、さらにリプレイチェックを受けてよい。リプレイチェック2244に合格した場合、MACヘッダおよびフレームボディ2212が、さらに処理するために、本物のセキュリティ保護されていないWURフレーム2260として渡される。このとき、ローカルのTSF’が、処理されたTSF*に更新されてもよく、暗号検証プロセス中に遅延が存在する場合は、その遅延を考慮した上で更新する。
【0098】
図23を参照すると、セキュリティ保護されたマルチキャストフレーム2300の1つの選択肢が示されている。前述したように、マルチキャストWURフレームの宛先がWUR STAのグループであるため、マルチキャストグループのすべてのSTAに知られているグループ鍵が、セキュリティ保護されたマルチキャストフレームの作成に使用される必要がある。通常、1つのインフラストラクチャBSS内では、一度に1つのGTKおよび1つのIGTKのみが生成され、セキュリティ保護された送信をAPとネゴシエートしたBSS内のすべてのSTAが、APからグループ鍵を受信している。しかし、グループ鍵の使用は、「インサイダー攻撃」、すなわち、同じAPに関連付けられている別のデバイスによる攻撃に対する脆弱性につながる。そのデバイスがIGTK/GTK知っているためである。「内部の攻撃者」は、GTK/IGTKを知っているため、有効なMICを含む偽造されたセキュリティ保護されたWUR PPDUを容易に作成できる。いわゆる「インサイダー攻撃」のリスクを軽減するために、新しいマルチキャストグループが形成されるたびに、APは、この特定のマルチキャストグループに関連付けられたグループ鍵(GTKまたはIGTKのいずれか)の新しいセットを導出し、このマルチキャストグループにはグループIDが割り当てられる。WURセキュリティエレメント520は、グループ鍵をマルチキャストグループの各メンバーに伝達するために使用されてよい。この場合、グループIDフィールド568は、マルチキャストグループに割り当てられたグループIDとして設定され、暗号化されたグループ鍵がラップ鍵フィールド580に含まれる。APは、セキュリティ保護されたユニキャストWURフレームを作成するのと同じ方法で、セキュリティ保護されたマルチキャストWURフレーム2300を作成するが、RAフィールド2314がマルチキャストグループのグループIDに設定され、MICフィールド2330が、ブロードキャストフレームに使用される共通のグループ鍵を使用する代わりに、特定のマルチキャストグループに割り当てられたグループ鍵を使用して計算されるという点が異なる。受信側WUR STAでは、セキュリティ保護されたマルチキャストWURフレームのRAフィールド2314が、STAが属しているマルチキャストグループのグループIDに一致する場合、STAは、このマルチキャストグループに関連付けられたグループ鍵を使用してMICを比較し、マルチキャストWURフレームを認証する。MIC検証に合格した場合にのみ、マルチキャストWURフレームが処理され、次にSTAがそのPCRをウェイクアップすることができる。異なるグループ鍵を異なるマルチキャストグループに使用することによって、「インサイダー攻撃」の範囲を特定のマルチキャストグループに制限する。これは、あるマルチキャストグループに属している攻撃者は、別のマルチキャストグループのグループ鍵を所有しておらず、したがって「インサイダー攻撃」を開始できないためである。
【0099】
図24を参照すると、セキュリティ保護されたマルチキャストフレーム2400の代替の選択肢が示されている。この選択肢は、マルチキャストグループにグループIDが割り当てられず、マルチキャストWURフレームの対象になる受信者が、グループメンバーSTAのRAのページ化リストを含めることによって識別される場合、またはマルチキャストフレームの宛先が、あるマルチキャストグループ内の少数のSTAのみである場合に、適用できる。マルチキャストフレームのRAフィールドは、マルチキャストグループIDが割り当てられている場合、そのマルチキャストグループIDに設定されてよく、そうでない場合、マルチキャストグループのメンバーSTAのうちの1つのRAとして設定されてよい。この場合、WURフレームはフレームボディを含み、このことが、
図8の長さフィールド815で0以外の値を使用して示される。フレームボディは、フレームの宛先になる他のマルチキャストSTAのRAのリストを含む。そのようなマルチキャストフレームフォーマットの場合、2段階認証が、次を使用して、APでのセキュリティ保護されたマルチキャストWURフレームの作成に使用されてよい。
【0100】
(a)第一に、APと各STAの間でネゴシエートされるペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分を使用することによって、宛先になるSTAのRAごとに、ハッシュ値が作成される。例えば、RA1がSTAのRAを表し、前述したようにTSF
*が処理されたTSFを表す場合、SHA-256がハッシュ関数として使用されると仮定すると、ハッシュRAは、APで次のように作成されてよい。
RA = Truncate-L(SHA-256(TK || RA1 || BSSID || TSF
*))
L=
図2のアドレスフィールド244のビット数
【0101】
(b)セキュリティ保護されていないマルチキャストWURフレームのRAフィールドの各々が、対応する計算されたハッシュ値2414、2422、…、2424に置き換えられ、フレーム制御フィールド2412内のセキュリティビットが1に設定される。
【0102】
(c)第二に、前述した手順と同様に、FCSフィールドを除くWURフレーム2400全体に対してグループ鍵を使用してMICが計算され、FCSフィールドが、生成されたMIC2430に置き換えられる。
【0103】
受信側WUR STAで、STAがマルチキャストグループに属している場合、前述した手順と同様に、FCSフィールドを除くWURフレーム2400全体に対してグループ鍵を使用してMIC’が計算される。計算されたMIC’がMICフィールド2430に一致する場合、STAは、APとSTAの間でネゴシエートされたペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分を使用することによって、WIDのハッシュ値を作成する。例えば、RA1がSTAのWIDを表し、前述したようにTSF
*が処理されたTSFを表す場合、SHA-256がハッシュ関数として使用されると仮定すると、ハッシュされたRAは、STAで次のように作成されてよい。
RA = Truncate-L(SHA-256(TK’ || RA1 || BSSID’ || TSF
*))
L=
図2のアドレスフィールド244のビット数
【0104】
次にSTAは、マルチキャストWURフレーム2400内の各RAフィールドをハッシュされたRAと比較し、一致が存在する場合、WUR STAは、このマルチキャストWURフレームの受信機のうちの1つであるとして自分自身を非明示的に識別し、次にこのフレームをさらに処理する(例えば、そのPCRをウェイクアップする)。
【0105】
図25を参照すると、セキュリティ保護されていないWURフレーム2500のフレームフォーマットが示されている。セキュリティ保護されていないWURフレームは、構造においてセキュリティ保護されたWURフレームに類似しているが、TD制御フィールド2516にP-TSFを含む必要がない。また、FCSフィールドが、巡回冗長検査(CRC:Cyclic Redundancy Check)2530を含むために使用され、CRC2530は、送信中のエラーを検出するために、WURフレーム全体に対して計算される。WURフレームが比較的短いため、8~12ビットのCRCで十分なはずであり、そのため、セキュリティ保護されていないWURフレームのFCSフィールドは、MICを含むセキュリティ保護されたWURフレーム内のFCSフィールドより短くなることができる。例えば、12ビットのP-TSFフィールド、12ビット長のCRCフィールド、および16ビット長のMICを仮定すると、セキュリティ保護されていないWURフレームは、セキュリティ保護されたWURフレームよりも16ビットだけ短くなることができる。セキュリティが大きな問題ではない非公開の用途では、セキュリティ保護されたWURフレームおよびセキュリティ保護されていないWURフレームのサイズが異なることは、セキュリティ保護されていないWURフレームの長さが短いため、WUR STAの節電に役立つことがある。
【0106】
<第7の実施形態>
タイムスタンプをリプレイ防御として使用する代わりに、単調増加するシーケンス番号またはパケット番号を使用してリプレイ防御を実現することも可能である。
図26は、WUR PPDUのリプレイ防御を実現するために使用できる48ビット長のパケット番号(PN)を示している。参照を簡単にするために、PNは、6オクテットに分割され、PN-0、PN-1、PN-2、PN-3、PN-4、およびPN-5と呼ばれてよく、PN-0が最低のオクテットであり、PN-5が最高のオクテットである。PNの数値空間のロールオーバーを心配することなく一意の数値をWUR PPDUに提供するには、PNは、48ビットで十分である。APは、セキュリティ保護されたWUR PPDUの送信に関してネゴシエートする秘密鍵ごとに、一意のPNを維持し、特定の秘密鍵について、WUR PPDUの送信中にPNが繰り返されないことを確認する。WUR PPDUで使用するために、別々の秘密鍵が排他的にネゴシエートされる場合、WUR PPDUのために維持されるPNは、PCRの間に使用されるPNとは異なる。WUR PPDUの、パケット番号を運ぶために使用できるビットの数が限られているため、PNの一部のみがWUR PPDUによって運ばれ、PNの残りのビットはローカルに維持される。WUR PPDUによって運ばれるPNの一部は、部分PN(P-PN)と呼ばれてよい。例えば、PN-0オクテットのみがWUR PPDUに含まれてよく、他のPNオクテットは送信されない。セキュリティ保護されたWUR PPDUをネゴシエートした各WUR STAは、ローカルのPNを維持し、有効なセキュリティ保護されたWUR PPDUが受信されるたびに、WUR STAは、PNの対応するビットをWUR PPDUで受信されたP-PNに置き換える。WUR PPDUで使用するために、別々の秘密鍵が排他的にネゴシエートされる場合、WUR PPDUのために維持されるPNは、PCRの間に使用されるPNとは異なる。受信されたP-PNの値がPNの対応するビットの値より小さい場合、P-PNビットのロールオーバーを考慮するために、PNのより高いビットが1だけインクリメントされる。
【0107】
図27は、第7の実施形態によるセキュリティ保護されたWURフレーム2700のフレームフォーマットを示している。WURフレーム2700のMACヘッダ2710は、フレーム制御フィールド2712、受信機アドレス(RA)フィールド2714、および部分PN(P-PN)フィールド2716で構成される。フレーム制御フィールドは、
図8のフレーム制御フィールド812と同じフォーマットに従う。セキュリティ保護されたWURフレームをセキュリティ保護されていないWURフレームと区別するために、APは、フレーム制御フィールド2712内のセキュリティビットを1に設定する。セキュリティビットは、WURフレーム内のMICフィールドの存在を、受信側WUR STAに対して知らせる。RAフィールド2714は、受信側WUR STAの割り当てられたWUR ID(WID)(例えば、AID12)に設定されてよい。P-PNフィールド1816は、部分パケット番号として使用され、APは、
図26のPN2600のPN-0オクテットをP-PNとして送信することを選択してよい。フレームボディフィールド2720は、任意選択であり、特定のフレームタイプのみに存在してよい。APは、セキュリティ保護されたWURフレームを作成するために、事前にネゴシエートされた暗号関数を使用し、MIC計算に使用される秘密鍵に関連付けられたPNを暗号ソルトとして使用して、WURフレーム全体に対してMICを計算する。APのTA(BSSID)も、MIC計算のための追加入力として使用される。フレームのFCSフィールドは、計算されたMICフィールド2730に置き換えられ、認証タグとして機能すると同時に、WURフレーム内のエラーの検出にも役立つ。
【0108】
図27のWURフレーム2700がユニキャストフレームである場合、APは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分)、BSSID、およびペアワイズ秘密鍵に関連付けられたPNを、暗号アルゴリズムへの入力として使用し、FCSフィールドを除くWURフレーム全体(すなわち、MACヘッダ2710、および存在する場合は、任意選択のフレームボディ2720)に対してMICを計算する。
【0109】
例えば、APが暗号ハッシュ関数SHA-256を使用してMICを生成する場合、APでの暗号プロセスは、次のように要約されてよい。
MIC = Truncate-L(SHA-256(TK || WUR Frame* || BSSID || PN))
TK=ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK)部分
その長さは、4ウェイハンドシェイク中に選択された暗号スイートによって決まり、例えばCCMP-128などの場合は、128ビットである。
WUR Frame*=MACヘッダ1810および任意選択のフレームボディフィールド1820
BSSID=BSSの基本サービスセット識別子(BSSID)=APのMACアドレス
Truncate-L=SHA-256関数(128ビット)の出力をLビットに切り詰めるための関数
L=FCSフィールド252のビット数
x || y=xとyの連結
【0110】
APは、WURフレーム2700のFCSフィールドを、生成されたMIC2730に置き換え、セキュリティ保護されたWURフレーム2700を送信する。
【0111】
受信側WUR STAで、セキュリティ保護されたWURフレーム2700を受信したときに、このフレームがユニキャストWURフレームであると決定した後に、RAフィールド2714がSTAのWIDに一致することを確認する。RAが一致する場合、STAは、その秘密鍵(例えば、ペアワイズ秘密鍵PTKまたはW-PTKの一時鍵(TK’)部分)、そのBSSID’、および(受信されたP-PN2716で更新した後の)ローカルのPN’を、暗号アルゴリズムへの入力として、FCSフィールドを除くWURフレーム全体(すなわち、MACヘッダ2710、および存在する場合は、任意選択のフレームボディ2720)に対して使用し、MIC’を取得する。例えば、APが、最初のWURモードのネゴシエーション中に、ペアワイズ通信に使用するための暗号スイートとしてSHA-256が使用されることを示した場合、STAでの暗号プロセスは次のように要約されてよい。
MIC’ = Truncate-L(SHA-256(TK’ || WUR Frame* || BSSID’ || PN’))
【0112】
計算されたMIC’がWURフレーム2700によって運ばれるセキュリティ保護されたWURフレームのMICフィールドに一致する場合、WUR STAは、このWURフレームの受信機であるとして自分自身を非明示的に識別し、このフレームがAPによって送信された本物のフレームであるという結論も下し、次にそのPCRをウェイクアップする。
【0113】
WUR STAが、そのローカルのPNをAPのPNと同期した状態に保とうとしていても、それらの2つのPNは、時々同期しなくなることがある。これがWUR STAでのMIC検証の失敗につながり、MICが破損したWUR PPDUがSTAに生じるであろう。WUR STAは、そのWIDに一致するRAフィールドを含むWUR PPDUを受信し続けているが、MIC検証が失敗し続けているときに、PNの同期問題を検出することができる。そのようなPNの同期問題から回復するために、WUR STAは、
図28のWURアクションフレーム2800をAPに送信し、PNの更新を要求してよい。WURアクションフレーム2800は、
図5のWURアクションフレーム500にPN更新エレメント2810を追加したものと同じである。WUR STAは、PN更新フィールド2820内の要求/応答ビット2822を要求に設定し、PN更新を要求する。STAは、ユニキャストビット2823、マルチキャストビット2824、またはブロードキャストビット2826も設定し、どのPN更新を要求しているかを示す。APは、PN更新の要求を受信したときに、応答に設定されたPN更新フィールド2820内の要求/応答ビット2822と、対応する鍵(ユニキャスト、マルチキャスト、またはブロードキャスト)用のAPによって維持されているPNの値を運ぶPNフィールド2828とを含むWURアクションフレーム2800を、送信する。WUR STAは、PN更新エレメントを受信したときに、そのローカルのPNをPNフィールド2828に置き換える。
【0114】
<第8の実施形態>
図29を参照すると、ソルトとして暗号計算に使用することができる一意の数値を含まないWURフレームのセキュリティ保護された送信のためのハイブリッド解決策が示されている。セキュリティ保護されたWURフレーム2900は、2ステップのプロセスとして作成されてよい。第1のステップでは、MACヘッダ2910のRAフィールド2914が暗号ハッシュ値に置き換えられる。このハッシュ値は、APとWUR STAの両方に知られているランダムな暗号ソルトを使用して、RAフィールドに対して暗号関数を実行することによって計算されてよいが、その暗号ソルトはWURフレーム2900内で送信されない。ランダムな暗号ソルトは、第1、第3、または第5の実施形態において開示されたように、APとWUR STAの間で共有されてよい。第2のステップでは、MICフィールド2930が、第6および第7の実施形態において開示されたように、FCSフィールドを除くWURフレーム全体に対して計算される。次に、FCSフィールドがMICフィールド2930に置き換えられる。受信側WUR STAで、最初に、MICフィールド2930が有効であることが検証され、有効である場合、ハッシュされたRAフィールド2914が、ローカルに計算されたハッシュ値と比較される。それら2つのハッシュ値が同一である場合、STAは、WURフレーム2900の受信者であるとして自分自身を識別し、次にそのPCRをウェイクアップすることができる。一意の暗号ソルトがハッシュされたRAフィールド2914の計算に使用されている限り、MICフィールド2930がWURフレームごとに異なることを保証することができ、したがって、リプレイ攻撃を阻止することができる。
【0115】
<アクセスポイントの構成>
図30は、本開示において説明されたセキュリティ保護された送信方式を実装する例示的なAPのPCR3000のブロック図である。APは、
図1のAP110であってよい。PCR3000はアンテナ3002に接続され、802.11の信号の送信および受信に使用され、ウェイクアップ信号の送信にも使用される。PCR3000は、RF/アナログフロントエンド3010と、PHY処理ユニット3020と、暗号回路3040に接続されたMAC処理ユニット3030とを含む。
【0116】
RF/アナログフロントエンド3010は、アンテナ3002との間でのアナログ信号の伝達の責任を負い、自動利得制御(AGC:Automatic Gain Control)、ローパスフィルタ(LPF:Low Pass Filter)、アナログ/デジタルコンバータ(ADC:Analog-to-Digital Converter)などのサブコンポーネントを含んでよい。
【0117】
PHY処理ユニット3020は、PHYレイヤ信号の処理の責任を負い、OFDM変調器/復調器3022をさらに含む。OFDM変調器/復調器3022は、送信信号のOFDM変調または受信されたOFDM信号の復調の責任を負う。送信側では、OFDM変調を802.11のPPDUに適用することに加えて、選択されたOFDMサブキャリアにデータを投入することによって、OFDM変調器/復調器3022が、WUR信号(例えば、OOK)の生成にも使用される。
【0118】
MAC処理ユニット3030は、再送信、フラグメンテーション、アグリゲーションなどの、さまざまなMAC関連の処理の責任を負う。加えて、MAC処理ユニット3030は、WURペイロード生成器3032も組み込み、WURペイロード生成器3032は、APによって送信されるWURパケットに含まれるペイロードの内容を生成する責任を負う。
【0119】
暗号回路3040は、セキュリティ保護されたWUR PPDUを作成するための暗号計算に使用される。APは、暗号回路3040を使用して、セキュリティ保護されたWUR PPDU内で使用されるメッセージ完全性コード(MIC)を生成する。暗号回路3040は、PCRモード中に、保護された802.11のフレームの暗号化および暗号解読に使用されてもよい。
【0120】
図31は、セキュリティ保護されたWUR PPDUを送信できる例示的なAP3100のより詳細なブロック図であり、AP3100は、
図1のAP110であってよい。AP3100は、メモリ3120に結合された中央処理装置(CPU:Central Processing Unit)3130、二次ストレージ3140、1つまたは複数の無線通信インタフェース3150、およびその他の有線通信インタフェース3170を含む。二次ストレージ3140は、関連する命令コード、データなどを永続的に格納するために使用される不揮発性コンピュータ可読記憶媒体であってよい。
【0121】
CPU3130は、ウェイクアップの時点で、命令コードおよび関連するデータを、実行のために揮発性メモリ3120にコピーしてよい。命令コードは、AP3100の動作に必要な、オペレーティングシステム、ユーザアプリケーション、デバイスドライバ、実行コードなどであってよい。命令コードのサイズ、したがって二次ストレージ3140およびのメモリ3120の両方のストレージ容量は、
図33のSTA3300のストレージ容量より大幅に大きくてよい。
【0122】
AP3100は、電源3110を備えてもよく、電源3110は、ほとんどの場合、商用電源であってよいが、場合によっては、ある種の大容量バッテリ(例えば自動車用バッテリ)であってもよい。有線通信インタフェース3170は、イーサネット(登録商標)インタフェース、または電力線インタフェース、または電話線インタフェースなどであってよい。
【0123】
無線通信インタフェース3150は、セルラー通信用のインタフェース、またはZigbeeなどの短距離通信プロトコル用のインタフェースを含んでよく、あるいはWLANインタフェースであってよい。無線通信インタフェース3150は、MACモジュール3152およびPHYモジュール3160をさらに備えてよい。APのMACモジュール3152は、
図33のSTA3300のMACモジュールより大幅に複雑であることがあり、多くのサブモジュールを備えることがある。サブモジュールの中でも特に、MACモジュール3152は、WURペイロード生成器3158、PCRペイロード生成器3154、およびパケットスケジューラ3156を含んでよい。PHYモジュール3160は、送信/受信信号との間でのMACモジュールのデータの変換の責任を負い、OFDM変調器/復調器3162をさらに含む。暗号回路3164は、セキュリティ保護されたWUR PPDUを作成するために暗号計算に使用され、PCRモード中に、保護された802.11のフレームの暗号化および暗号解読に使用されてもよい。無線インタフェースは、PHYモジュールを介して1つまたは複数のアンテナ3102に結合されてもよく、アンテナ3102は、無線媒体との間での無線通信信号の実際の送信/受信の責任を負う。
【0124】
APは、本開示によれば、明確にするために
図30および
図31に示されていない多くのその他のコンポーネントを備えてよい。本開示に最も関連するコンポーネントのみが、示されている。
【0125】
<STAの構成>
図32は、セキュリティ保護されたWUR PPDUを受信することができ、2つの別々の無線機(802.11のOFDM信号を送信および受信するためのPCR3220、ならびにWUR信号を受信するためのWUR3210)を備える、WUR STA3200を示している。
【0126】
WUR3210は、アナログ無線信号をアンテナ3202から受信する責任を負うRF/アナログフロントエンド3212、ウェイクアップ信号のプリアンブル部分を検出してデコードする責任を負うWURプリアンブル検出モジュール3214、およびウェイクアップ信号のペイロード部分をデコードして処理する責任を負うWURパケットデコーディング/処理モジュール3216などの複数のサブコンポーネントを、さらに含む。
【0127】
PCR3220は、RF/アナログフロントエンド3222と、PHY処理ユニット3224と、MAC処理ユニット3226とを含む。RF/アナログフロントエンド3222は、アンテナ3202との間でのアナログ信号の伝達の責任を負い、自動利得制御(AGC)、ローパスフィルタ(LPF)、アナログ/デジタルコンバータ(ADC)などのサブコンポーネントを含んでよい。PHY処理ユニット3224は、PHYレイヤ信号の処理の責任を負い、送信OFDM信号の変調または受信されたOFDM信号の復調の責任を負うOFDM変調器/復調器3232をさらに含む。
【0128】
暗号回路3230は、セキュリティ保護されたWUR PPDUを検証するための暗号計算に使用される。STAは、暗号回路3230を使用して、セキュリティ保護されたWUR PPDUに含まれるMICと比較するために使用されるメッセージ完全性コード(MIC)を生成する。暗号回路3230は、PCRモード中に、保護された802.11のフレームの暗号化および暗号解読に使用されてもよい。
【0129】
図33は、本開示において説明されているように、セキュリティ保護されたWUR PPDUを受信できる、例示的なSTA3300の詳細なブロック図であり、STA3300は
図1のSTA130またはSTA140であってよい。STA3300は、メモリ3320に結合された中央処理装置(CPU)3330、二次ストレージ3340、1つまたは複数のPCRインタフェース3350、およびWURインタフェース3360を含む。PCRインタフェース3350およびWURインタフェース3360の両方が、同じアンテナ3302に接続されている。二次ストレージ3340は、関連する命令コード、データなどを永続的に格納するために使用される不揮発性コンピュータ可読記憶媒体であってよい。
【0130】
CPU3330は、ウェイクアップの時点で、命令コードおよび関連するデータを、実行のために揮発性メモリ3320にコピーしてよい。命令コードは、STA3300の動作に必要な、オペレーティングシステム、ユーザアプリケーション、デバイスドライバ、実行コードなどであってよい。STA3300は、電源3310(例えば、リチウムイオンバッテリまたはコイン電池バッテリなど、または商用電源であってもよい)を備えてもよい。PCRインタフェース3350は、セルラー通信用のインタフェース、またはZigbeeなどの短距離通信プロトコル用のインタフェースを含んでよく、あるいはWLANインタフェースであってよい。
【0131】
PCRインタフェース3350は、MACモジュール3352と、OFDM変調器/復調器3358をさらに含むPHYモジュール3354とを含む。
【0132】
WURインタフェース3360は、アナログ無線信号をアンテナ3302から受信する責任を負うRF/アナログフロントエンド3362、ウェイクアップ信号のプリアンブル部分を検出してデコードする責任を負うWURプリアンブル検出モジュール3364、WURフレームをデコードして処理する責任を負うWURパケットデコーディング/処理モジュール3366(セキュリティ保護されたWURフレームの検証を含んでよい)などの複数のサブコンポーネントを含む。WURインタフェース3360は、セキュリティ保護されたWUR PPDUの検証のための暗号計算に使用される専用の秘密鍵3370を格納してもよい。WURインタフェース3360は、リプレイ攻撃を検出するために使用される独立したWURリプレイカウンタ3372を維持してもよい。どの時点でも、無線インタフェースのうちの1つのみ(PCRインタフェース3350またはWURインタフェース3360のいずれか)が動作中であることが期待される。
【0133】
暗号回路3380は、セキュリティ保護されたWUR PPDUを検証するために暗号計算に使用され、PCRモード中に、保護された802.11のフレームの暗号化および暗号解読に使用されてもよい。
【0134】
STAは、本開示によれば、明確にするために
図32または
図33に示されていない多くのその他のコンポーネントを備えてよい。本開示に最も関連するコンポーネントのみが、示されている。
【0135】
前述の実施形態では、本開示は、例としてハードウェアを使用して構成されるが、ハードウェアと連携するソフトウェアによって提供されてもよい。
【0136】
加えて、実施形態の説明において使用される機能ブロックは、通常、LSIデバイス(集積回路)として実装される。それらの機能ブロックは、個別のチップとして形成されてよく、それらの機能ブロックの一部または全部が、単一のチップに統合されてよい。本明細書では「LSI」という用語が使用されているが、統合のレベルに応じて、「IC」、「システムLSI」、「スーパーLSI」、または「ウルトラLSI」という用語が使用されてもよい。
【0137】
加えて、回路の統合は、LSIに限定されず、LSI以外の専用回路または汎用プロセッサによって実現されてよい。LSIの製造後に、プログラム可能なフィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、またはLSI内の回路セルの接続および設定の再構成を可能にするリコンフィギュラブルプロセッサが使用されてよい。
【0138】
LSIに置き換わる回路統合技術が、半導体技術またはこの技術から派生したその他の技術における進歩の結果として出現した場合、機能ブロックは、そのような技術を使用して統合され得る。別の可能性は、バイオ技術および/または同様のものの適用である。
【産業上の利用可能性】
【0139】
本開示は、受信機の動作中の無線の状態が送信機の記録と異なっている状態の不一致から回復するために、無線装置に適用することができる。
【符号の説明】
【0140】
110、2200 AP
120、130、140、3300 WUR STA
112、122、132、142、3000、3150、3220、3350 PCR
124、134、144、3210、3360 WURx
3002、3102、3202、3302 アンテナ
3010、3222、3362 RF/アナログフロントエンド
3020、3160、3224、3354 PHY処理回路
3022、3162、3228、3358 OFDM変調器/復調器
3040、3164、3230、3380 暗号回路
3032、3158 WURペイロード生成器
3030、3152、3226、3352 MAC処理回路
3154 PCRペイロード生成器
3156 パケットスケジューラ
3110、3310 電源
3120、3320 メモリ
3130、3330 CPU
3140、3340 二次ストレージ
3150 無線I/F
3170 有線通信I/F
3214、3364 WURプリアンブル検出
3216、3366 WURパケットデコーディング/処理モジュール
3370 秘密鍵
3372 WURリプレイカウンタ
(略語)
AP: アクセスポイント
CRC: 巡回冗長コード
FCS: フレームチェックシーケンス
GMK: グループマスター鍵
GTK: グループ一時鍵
IGTK: 完全性グループ一時鍵
MAC: 媒体アクセス制御
MIC: メッセージ完全性コード
OOK: オンオフキーイング
OBSS: 重複基本サービスセット
OFDM: 直交周波数分割多重
PCR: 主接続無線
PHY: 物理レイヤ
PMK: ペアワイズマスター鍵
PN: パケット番号
PPN: 部分パケット番号
PTK: ペアワイズ一時鍵
PTSF: 部分タイミング同期機能(TSF)
RA: 受信機アドレス
RSNA: ロバストセキュリティネットワークアソシエーション
STA: 基地局
TA: 送信機アドレス
TSF: タイミング同期機能
TK: 一時鍵
WUP: ウェイクアップパケット
WUR: ウェイクアップ無線
WURx: ウェイクアップ受信機