(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-22
(54)【発明の名称】分散コンピューティングを使用したEAPOLハンドシェイクのためのキー照合
(51)【国際特許分類】
H04W 12/069 20210101AFI20230914BHJP
H04W 84/12 20090101ALI20230914BHJP
H04W 12/041 20210101ALI20230914BHJP
H04W 12/0431 20210101ALI20230914BHJP
H04L 9/08 20060101ALI20230914BHJP
【FI】
H04W12/069
H04W84/12
H04W12/041
H04W12/0431
H04L9/08 C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023513888
(86)(22)【出願日】2021-08-24
(85)【翻訳文提出日】2023-03-28
(86)【国際出願番号】 US2021047386
(87)【国際公開番号】W WO2022046798
(87)【国際公開日】2022-03-03
(32)【優先日】2020-08-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523067012
【氏名又は名称】イレブン ソフトウェア インコーポレイテッド
【氏名又は名称原語表記】ELEVEN SOFTWARE INC.
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】ハーディング, ミューア リー
(72)【発明者】
【氏名】コーリス, ベンジャミン
(72)【発明者】
【氏名】ニルパルク, ソラウィス
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA30
5K067AA32
5K067DD17
5K067EE02
5K067EE10
5K067EE16
(57)【要約】
本明細書の実施形態は、通信の分野に関するものであり、より詳細には、本明細書の実施形態は、分散コンピューティングを使用した拡張認証プロトコルオーバーローカルエリアネットワーク(EAPOL:extensible authentication protocol over local area network)ハンドシェイクのためのキー照合に関するものである。また、上記以外の実施形態が説明され、特許請求の範囲において請求されることもありうる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
命令を記憶した1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体であって、
前記命令は、
1つ又は複数のプロセッサによって実行された場合に、コンピューティングデバイスに、
ローカルエリアネットワーク(LAN)のアクセスポイントからクライアントデバイスに関連する拡張認証プロトコルオーバーLAN(EAPOL)プロセスの一部として照合要求を受信することであって、前記照合要求が、前記クライアントデバイスによって提供された提示されたキーと、前記クライアントデバイスによって生成されたステーションノンス(SNonce)値と、前記アクセスポイントによって生成されたアクセスポイントノンス(ANonce)値と、を含む、当該受信することと、
前記LANとの認証に有効な可能性のあるキーの数を決定することと、
前記キーの数に基づいてインデキシング情報を決定することであって、前記インデキシング情報が、前記それぞれのキーの一部分に基づいて前記キーを複数のパーティションに割り当てるためのものである、当該決定することと、
キーの前記それぞれのパーティションとの照合を実行するために、前記提示されたキー、前記それぞれのパーティションの前記インデキシング情報、前記SNonce値、及び前記ANonce値を複数の計算要素に送信することと、
前記複数の計算要素のうちの第1の計算要素から、一致の通知を受信することと、
を実行させる命令である、
1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項2】
前記インデキシング情報が、前記複数の計算要素の計算容量にさらに基づいて決定される、請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項3】
前記それぞれのキーの前記部分が、前記それぞれのキーのプレフィックスである、請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項4】
前記記録媒体は、
前記コンピューティングデバイスに、前記キーの数に基づいて前記キーの前記部分のサイズを決定させる命令、
をさらに記憶している、請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項5】
前記記録媒体は、
前記コンピューティングデバイスに、
前記キーの数に基づいて前記照合を実行するために必要な計算要素の最小数を決定することと、
前記最小数の底Nの対数関数に基づいて前記キーの前記部分のサイズを決定することであって、Nが前記キーの前記部分の個々の要素の可能な値の数である、当該決定することと、
を実行させる命令、
をさらに記憶している、請求項4に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項6】
個々の要素がビットであり、Nが2である、請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項7】
前記SNonce値及び前記ANonce値が、前記提示されたキーを生成するために使用されるキー情報に含まれ、
前記キー情報が、前記アクセスポイントのメディアアクセス制御(MAC)アドレス、前記クライアントデバイスのMACアドレス、および、前記LANのサービスセット識別子(SSID)のうち、1つ又は複数をさらに含む、請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項8】
前記キーがペアワイズマスターキー(PMK)若しくは事前共有キー(PSK)であり、
前記PMKが同じSSID及び異なるPSKに関連する、
又は、
前記一致の前記通知は一致したPSK若しくはPMKを含む、
請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項9】
前記記録媒体は、
前記コンピューティングデバイスに、前記一致の前記通知に基づいて前記アクセスポイントに照合結果を提供させる命令、
をさらに記憶している、請求項1に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項10】
前記記録媒体は、
前記コンピューティングデバイスに、仮想ローカルエリアネットワーク(VLAN)に関連付けられた値を決定させる命令、
をさらに記憶し、
前記VLANに関連付けられた前記値が前記照合結果に含められる、
請求項9に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項11】
前記VLANに関連付けられた前記値を決定することが、
キーに現在割り当てられているVLANがないと判定することと、
後続のキー照合要求のためにプールからVLANを前記キーに割り当てることと、
を含む、請求項10に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項12】
前記VLANに関連付けられた前記値を決定することが、
キーに現在割り当てられているVLANを識別すること、
を含む、請求項10に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項13】
命令を記憶した1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体であって、
前記命令は、
1つ又は複数のプロセッサによって実行された場合に、コンピューティングデバイスに、
スコープ情報及びサービスセット識別子(SSID)情報を含むメッセージのバッチを受信することと、
前記スコープ情報及びSSID情報に基づいて、検索される事前共有キー(PSK)の最大数を決定することと、
前記PSKに関連付けられたキーパーティションプレフィックスを決定することと、
前記PSKを検索するために、前記メッセージのバッチ及び前記キーパーティションプレフィックスを照合ワーカーのセットに送信することと、
前記照合ワーカーのセットから、前記PSKに関連付けられた一致したキーのセットを受信することと、
を実行させる命令である、
1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項14】
前記PSKが共通のスコープ及びSSIDを有する、請求項13に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項15】
前記メッセージのバッチが複数のアクセスポイントから発信される、請求項13に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項16】
前記メッセージのバッチがユーザデータグラムプロトコルレイヤ(UDPレイヤ)から受信される、請求項13に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項17】
前記非一時的コンピュータ読み取り可能な記録媒体は、
前記コンピューティングデバイスに、前記PSKに関連付けられた前記一致したキーのセットを前記UDPレイヤに送信させるための命令、
をさらに記憶している、請求項16に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項18】
命令を記憶した1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体であって、
前記命令は、
1つ又は複数のプロセッサによって実行された場合に、1つ又は複数の計算要素に、
キー照合マネージャからキーパーティションの同時処理の要求を受信することと、
前記同時処理の要求に基づいて、前記同時処理の要求に関連付けられた1つ又は複数の事前共有キー(PSK)に関連する追加情報を決定することと、
前記追加情報に基づいて、予め定められた閾値を超える一致の可能性を有する前記同時処理の要求に関連付けられたPSKのサブセットを識別することと、
キーストレージサーバから前記PSKのサブセットを取り出すことと、
前記PSKのサブセットの照合結果を決定することと、
を実行させる命令である、
1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項19】
前記追加情報は、
ハイパーテキスト転送プロトコル(HTTP)ヘッダ、属性値ペア(AVP)、又はベンダ固有の属性(VSA)、のいずれかに含まれている前記同時処理の要求に関連付けられた通信プロトコルに関連する情報、
を含む、請求項18に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項20】
前記追加情報は、アクセスポイントに関連付けられた基本サービスセット識別子(BSSID)を含む、請求項18に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項21】
前記PSKのサブセットを識別することは、
それぞれのPSK内のそれぞれの属性を前記追加情報と比較すること、
を含む、請求項18に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項22】
前記PSKのサブセットの前記照合結果を決定することは、
前記PSKのサブセット内で少なくとも1つの一致を見つけたこと、
を含む、請求項18に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【請求項23】
前記PSKのサブセットの前記照合結果を決定することは、前記PSKのサブセット内で一致が見つからなかったこと、を含み、
前記非一時的コンピュータ読み取り可能な記録媒体は、
前記1つ又は複数の計算要素に、
前記キーストレージサーバから残りのPSKを取り出すことと、
前記残りのPSKの照合結果を決定することと、
を実行させる命令、をさらに記憶している、請求項18に記載の1つ又は複数の非一時的コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0002]本明細書の実施形態は通信の分野に関し、より詳細には、分散コンピューティングを使用した拡張認証プロトコルオーバーローカルエリアネットワーク(EAPOL:extensible authentication protocol over local area network)ハンドシェイクのためのキー照合に関する。
【0002】
[0001]本出願は、2020年8月24日に出願され、「KEY MATCHING FOR EAPOL HANDSHAKE USING DISTRIBUTED COMPUTING」と題された米国仮特許出願第63/069,553号に対する優先権を主張し、その開示全体が参照により組み込まれている。
【背景技術】
【0003】
[0003]無線ローカルエリアネットワーク(WLAN)及び/又は有線LANを含む、ローカルエリアネットワーク(LAN)では、クライアントデバイス(たとえば、サプリカントと呼ばれる)は、拡張認証プロトコルオーバーLAN(EAPOL)4ウェイハンドシェイクプロセスを使用してアクセスポイントと認証を行う。
【発明の概要】
【0004】
[0004]実施形態は、添付の図面及び添付の特許請求の範囲と併せて以下の詳細な説明によって容易に理解されよう。実施形態は、添付の図面の図において限定ではなく例として示している。
【図面の簡単な説明】
【0005】
【
図1】様々な実施形態によるEAPOLの4ウェイハンドシェイクプロセスの一例を示す図である。
【
図2A】様々な実施形態による分散型のキー照合プロセスの例を示す図である。
【
図2B】様々な実施形態による分散型のキー照合プロセスの例を示す図である。
【
図2C】様々な実施形態による分散型のキー照合プロセスの例を示す図である。
【
図3】本開示の様々な態様を実装するための例示的なコンピューティングデバイスを示す図である。
【
図4】本明細書で論じる方法論のうちのいずれか1つ又は複数を実行するためのコンピュータ可読記憶媒体及びプログラミング命令を示すブロック図である。
【
図5A】様々な実施形態による処理の例を示す図である。
【
図5B】様々な実施形態による処理の例を示す図である。
【
図5C】様々な実施形態による処理の例を示す図である。
【発明を実施するための形態】
【0006】
[0010]以下の詳細な説明では、本明細書の一部を形成し、実施され得る実施形態を例として示す添付の図面を参照する。本発明の範囲から逸脱することなく、他の実施形態が利用されてもよく構造的又は論理的な変更が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。
【0007】
[0011]実施形態を理解するのに役立ち得るように、様々な動作を複数の個別の動作として順番に説明する場合があるが、説明の順序は、これらの動作が順序に依存することを示唆するものと解釈されるべきではない。
【0008】
[0012]本説明では、上(up)/下(down)、後(back)/前(front)、及び上(top)/下(bottom)など、視点ベースの説明を使用する場合がある。そのような説明は、議論を容易にするためだけに使用しており、開示した実施形態の適用を制限することを意図するものではない。
【0009】
[0013]「結合された(coupled)」及び「接続された(connected)」という用語並びにそれらの派生語を使用する場合がある。これらの用語は互いに同義語であることを意図しているわけではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は、2つ以上の要素が互いに直接物理的又は電気的に接触していることを示すために使用する場合がある。「結合された」は、2つ以上の要素が直接物理的又は電気的に接触していることを意味する場合がある。しかしながら、「結合された」は、2つ以上の要素が互いに直接接触していないが、それでもなお互いに連携又は相互作用することを意味する場合もある。
【0010】
[0014]説明の目的で、「A/B」の形式又は「A及び/又はB」の形式の語句は、(A)、(B)、又は(A及びB)を意味する。説明の目的で、「A、B、及びCのうちの少なくとも1つ」の形式の語句は、(A)、(B)、(C)、(A及びB)、(A及びC)、(B及びC)、又は(A、B及びC)を意味する。説明の目的で、「(A)B」の形式の語句は、(B)又は(AB)を意味し、すなわち、Aは任意選択的な要素である。
【0011】
[0015]本明細書では、「実施形態(embodiment)」又は「実施形態(embodiments)」という用語を使用する場合があり、これらはそれぞれ、同じ又は異なる実施形態のうちの1つ又は複数を指す場合がある。さらに、実施形態に関して使用する「備える(comprising)」、「含む(including)」、「有する(having)」などの用語は同義語であり、一般に「オープンな」用語であることを意図している(たとえば、「含む」という用語は、「~を含むがこれに限定されない」と解釈されるべきであり、「有する」という用語は「少なくとも~を有する」と解釈されるべきであり、「含む(includes)」という用語は「~を含むがこれに限定されない」と解釈されるべきである、など)。
【0012】
[0016]本明細書における任意の複数形及び/又は単数形の用語の使用に関して、当業者は、文脈及び/又は用途に適するように、複数形から単数形へ、及び/又は単数形から複数形へ読み替えることができる。明確にするために、本明細書では、様々な単数形/複数形の置き換えを明示的に示す場合がある。
【0013】
[0017]本明細書の実施形態は、複数の計算要素(たとえば、1つ又は複数のプロセッサを含む)による分散型のキー照合のための技術を提供する。実施形態では、キー照合マネージャは、ローカルエリアネットワーク(LAN)のアクセスポイントからクライアントデバイスに関連する拡張認証プロトコルオーバーLAN(EAPOL)プロセスの一部として照合要求を受信してもよい。照合要求は、クライアントデバイスによって提供された提示されたキー(offered key)と、提示されたキーを生成するために使用されたキー情報(たとえば、クライアントデバイスによって生成されたステーションノンス(SNonce)値、アクセスポイントによって生成されたアクセスポイントノンス(ANonce)値、クライアントデバイスのメディアアクセス制御(MAC)アドレス、アクセスポイントのMACアドレス、LAN及び/又はアクセスポイントのサービスセット識別子(SSID:service set identifier)並びに/或いは他の情報)と、を含んでもよい。
【0014】
[0018]キー照合マネージャは、LANとの認証に有効な可能性のあるキーの数を決定してもよい。たとえば、キー照合マネージャは、有効なキーの数をサービスエリア情報サーバに要求してもよい。キー照合マネージャは、キーの数に基づいてインデキシング情報を決定してもよく、インデキシング情報は、それぞれのキーの一部分(たとえば、プレフィックス)に基づいてキーを複数のパーティションに割り当てるためのものである。いくつかの実施形態では、インデキシング情報に使用されるキーの部分のサイズ(たとえば、ビット単位)がキー照合マネージャによって決定されて、それぞれのパーティションに割り当てられてもよい所望のサイズのサブグループにキーが分けられてもよい。たとえば、キーの一部分のサイズは、有効なキーの数に基づいて決定されてもよい。
【0015】
[0019]様々な実施形態では、それぞれのパーティションが提示されたキーとの照合のために異なる計算要素に割り当てられてもよい。いくつかの実施形態では、インデキシング情報は、計算要素の計算容量に基づいて決定されてもよい。したがって、それぞれの計算容量に応じて、異なる計算要素に異なる数の有効なキーが割り当てられてもよく及び/又は異なる数の計算要素が照合プロセスに用いられてもよい。
【0016】
[0020]様々な実施形態では、キー照合マネージャは、提示されたキー、それぞれのパーティションのインデキシング情報、及びキー情報(たとえば、SNonce値、ANonce値など)を計算要素に送信して、キーのそれぞれのパーティションとの照合を実行してもよい。一致の発見に成功した場合、キー照合マネージャは、一致の発見に成功した計算要素から一致の通知(たとえば、一致したキーを含む)を受信してもよい。
【0017】
[0021]本明細書ではEAPOLの4ステップハンドシェイクプロセスを参照して実施形態を説明するが、本明細書に記載の技術は、特に、有効なキーのセットがランダムに分散した値(たとえば、ビット列)を有する場合の、他のプロセス又はコンテキストでのキー照合に使用されてもよい。
【0018】
[0022]
図1は、様々な実施形態によるEAPOLの4ウェイハンドシェイクプロセス100(以下、「プロセス100」)の一例を示している。プロセス100は、クライアントデバイス102(たとえば、サプリカント)及びアクセスポイント104によって実行されてもよい。様々な実施形態では、プロセス100は、以下でさらに論じるように、キー照合をオフロードするためのキー照合サービス106をさらに含んでもよい。キー照合サービス106の一例については、
図2Aに関してさらに詳細に論じる。
【0019】
[0023]クライアントデバイス102には、アクセスポイント104との接続を確立するための事前共有キー(PSK:pre-shared key)が提供されてもよい。アクセスポイント104は、(たとえば、同じSSID用の)複数のPSKをサポートしてもよい。たとえば、アクセスポイント104のネットワークにアクセスするために、異なるクライアントデバイス102及び/又はクライアントデバイス102のグループによって、異なるPSKが使用されてもよい。いくつかの実施形態では、PSKを使用してペアワイズマスターキー(PMK:pairwise master key)を生成してもよい。たとえば、PMKは、PSK及びアクセスポイント104のSSIDに基づいて生成されてもよい。
【0020】
[0024]プロセス100の108において、クライアントデバイス102は、第1のランダムシーケンス(たとえば、ステーションノンス(SNonce)と呼ばれる)を生成してもよい。プロセス100の110において、アクセスポイント104は、第2のランダムシーケンス(たとえば、アクセスポイントノンス(ANonce)と呼ばれる)を生成してもよい。プロセス100の112において、アクセスポイント104は、第1のフレーム(フレーム1)をクライアントデバイス102に送信してもよい。フレーム1は、アクセスポイント104によって生成されたANonce値を含んでもよい。
【0021】
[0025]クライアントデバイス102は、SNonce、ANonce、及びPMK(これはPSK及びSSIDに基づいて生成されてもよい)に基づいて、ペアワイズトランジェントキー(PTK:pairwise transient key)を生成してもよい。いくつかの実施形態では、PTKは、クライアントデバイス102のMACアドレス及び/又はアクセスポイント104のMACアドレスにさらに基づいて生成されてもよい。たとえば、PTKは、SNonce、ANonce、PMK、クライアントデバイス102のMACアドレス、及びアクセスポイント104のMACアドレスの疑似ランダム関数(たとえば、ハッシュ関数)であってもよい。クライアントデバイス102は、メッセージ完全性チェック(MIC:message integrity check)をさらに生成してもよい。MICは、たとえば、PTKを使用してフレーム2メッセージのチェックサムに基づいて生成されてもよい。
【0022】
[0026]プロセス100の114において、クライアントデバイス102は、第2のフレーム(フレーム2)をアクセスポイント104に送信してもよい。フレーム2は、クライアントデバイス102によって生成されたSNonceを含んでもよい。いくつかの実施形態では、フレーム2は、MIC及び/又は他の情報、たとえば、プロトコル、リプレイカウンタ、拡張データ、及び/又はキー情報をさらに含んでもよい。
【0023】
[0027]プロセス100の116において、アクセスポイント104は、キー照合サービス106に照合要求を送信してもよい。照合要求は、キー照合サービス106に向けて、ANonce値と、フレーム2の内容の一部又は全部(たとえば、SNonce値)とを含んでもよい。照合要求は、アクセスポイント104のMACアドレス、クライアントデバイス102のMACアドレス、及び/又はLANのSSIDをさらに含んでもよい。キー照合サービス106は、この情報を使用して各PMK及び/又はPSKのMICを生成し、生成したMICを、認証に有効である有効なキーのセットと照合してもよい。
図2Aに関してさらに説明するように、キー照合サービス106は、有効なキーを複数の計算要素の間で割り当てて、ANonce値、フレーム2情報、及び/又は他の情報(たとえば、アクセスポイント104及び/又はクライアントデバイス102のMACアドレス、並びに/或いはLANのSSID)から生成されたPMK及び/又はPSKとの一致を検索してもよい。
【0024】
[0028]プロセス100の118において、キー照合サービス106は、照合結果、たとえば、有効なキーの中でPMK及び/又はPSKの一致の発見に成功したか否かの通知をアクセスポイント104に送信してもよい。したがって、アクセスポイント104は、計算集約的な照合プロセスを自身で実行する必要がない。いくつかの実施形態では、118での照合結果は、PMK及び/又はPSK、並びに/或いはPMK及び/又はPSKを識別するための他の情報をさらに含んでもよい。したがって、アクセスポイント104は、ANonce値及びSNonce値からPMK及び/又はPSKを自身で計算する必要がない場合がある。
【0025】
[0029]プロセス100の120において、アクセスポイント104は、結果メッセージ(たとえば、フレーム3と呼ばれる)をクライアントデバイス102に送信してもよい。結果メッセージは、照合に成功したか否かを示してもよい。照合に成功した場合、結果メッセージはさらなる情報、たとえば、グループマスターキー(GMK:group master key)に基づいて生成されてもよいグループ一時キー(GTK:group temporal key)などを含んでもよい。
【0026】
[0030]プロセス100の122において、クライアントデバイス102は、結果メッセージの確認応答(たとえば、フレーム4と呼ばれる)を送信してもよい。照合に成功した場合、クライアントデバイス102はプロセス100によって認証され、その後、(たとえば、プロセス100の一部として生成された1つ又は複数のキーを使用して)アクセスポイント104を介してネットワークサービスにアクセスすることができる。
【0027】
[0031]
図2Aは、様々な実施形態による、分散型のキー照合を実行するためのプロセス200及び関連するアーキテクチャを示している。プロセス200は、
図1のキー照合サービス106によって実行されてもよい。キー照合アーキテクチャは、たとえば、キー照合マネージャ202、サービスエリア情報サーバ204、キーストレージサーバ206、及び/又は分散計算要素208を含んでもよい。キー照合マネージャ202は、たとえば、アプリケーションプログラミングインターフェース(API)を含んでもよい。分散計算要素208は、それぞれが1つ又は複数のプロセッサを含む複数の別個の計算要素を含んでもよい。いくつかの実施形態では、計算要素208の少なくとも一部は、クラウドベースであってもよい。
【0028】
[0032]サービスエリア情報サーバ204は、LANに関連する情報、たとえば、LANのSSIDに関連付けられたキーの数を記憶してもよい。いくつかの実施形態では、サービスエリア情報サーバ204は、キー照合マネージャ202と結合されてもよく、又は別個のデバイス/エンティティに含められてもよい。サービスエリア情報サーバ204は、EAPOL照合サービスの利用が許可されているサイトに関する情報と、それらのサイトの設定とを記憶してもよい。SSID及びキーカウントに加えて、他のタグ及び/又は属性(たとえば、メタデータ)がサイト情報と共に記憶されてもよい。
【0029】
[0033]キーストレージサーバ206は、SSID/アクセスポイント用の有効なキー(たとえば、PSK及び/又はPMK)を記憶してもよい。いくつかの実施形態では、キーストレージサーバ206は、PMKプレフィックスによって階層的に編成されてもよい。
【0030】
[0034]プロセス200の210において、キー照合マネージャ202は、照合要求を受信してもよい。照合要求は、LANのアクセスポイントから受信されてもよい。たとえば、照合要求は、プロセス100の116における照合要求に対応してもよい。照合要求は、アクセスポイントによって生成されたANonce値と、クライアントデバイスから提供されたフレーム2情報(たとえば、SNonce値及び/又は他のフレーム2情報)とを含んでもよい。照合要求は、クライアントデバイスのMACアドレス及び/又はアクセスポイントのMACアドレスなど、PTK、PMK、及び/又はPSKを決定するために必要な他の情報をさらに含んでもよい。
【0031】
[0035]プロセス200の212において、キー照合マネージャ202は、LANに関連する情報の要求をサービスエリア情報サーバ204に送信してもよい。要求はLANの識別子、たとえば、LANのSSIDなどを含んでもよい。
【0032】
[0036]プロセス200の214において、サービスエリア情報サーバ204は、要求への応答をキー照合マネージャ202に送信してもよい。応答はLAN/SSIDの有効なキーの数を含んでもよい。いくつかの実施形態では、応答はさらなる情報、たとえば、LANのステータス(たとえば、サイトが見つかったか否かの通知、及び/又は照合要求の処理若しくは(一致したキーに加えた)要求への応答内容に影響を及ぼすことを目的としたメタデータ)、並びに/或いはLANに関連するメタデータなどを含んでもよい。
【0033】
[0037]プロセス200の216において、キー照合マネージャ202は、キーの数に基づいてインデキシング情報を決定してもよい。インデキシング情報は、キーのプレフィックス(たとえば、キーの最初の1つ又は複数のビット及び/又はバイト)に基づいて、キーを複数のパーティションに割り当ててもよい。本明細書ではキーのプレフィックスに関してプロセス200を説明するが、キーの別の部分を代わりに使用してキーを分割してもよいことは理解されよう。
【0034】
[0038]様々な実施形態では、キー照合マネージャ202は、キー自体を有したり、受信したりしなくてもよい。しかしながら、PMKの値は、それらを生成する暗号化操作によってランダムに分散される。したがって、キー照合マネージャ202は、PMKのこの特性を使用して、キーのプレフィックスに基づいてPMKをパーティションに分散させる。
【0035】
[0039]いくつかの実施形態では、インデキシング情報は、分散計算要素の計算容量にさらに基づいて、キーをパーティションに割り当ててもよい。たとえば、キー照合マネージャ202は、個々の計算要素が、照合結果の提供に関する待ち時間要件を満たしながら、照合プロセスのために処理できるキーの最大数を決定してもよい。いくつかの実施形態では、キーの最大数は、(たとえば、計算要素の構成及び/又は照合システムの他のパラメータに基づく)事前定義された値であってもよい。いくつかの実施形態では、計算要素は、同じ計算容量(たとえば、待ち時間要件内で処理され得るキーの最大数)を有してもよい。キー照合マネージャ202は、有効なキーの数と、各計算要素によって処理され得るキーの最大数とに基づいて、提示されたキーを照合するために使用され得る計算要素の最小数を決定してもよい。キー照合マネージャ202は、決定された計算要素の最小数に基づいて、有効なキーを分割するために使用されるプレフィックスのサイズを決定してもよい。たとえば、必要な計算要素の最小数は、有効なキーの数を各計算要素で処理され得るキーの最大数で除算して、次の整数に切り上げることによって決定されてもよい。たとえば、150個の有効なキーがあり、各計算要素によって処理されるキーの最大数が50個である場合、3つの計算要素が必要になる。しかしながら、有効なキーが151個(又は152~200個)ある場合は、4つの計算要素が必要になる。
【0036】
[0040]いくつかの実施形態では、決定されたプレフィックスのサイズは、必要とされる計算要素の最小数よりも多くの可能な値の最低数を有するビットシーケンスに対応してもよい。たとえば、4つの計算要素が必要であると判定された場合、2ビットのプレフィックス(4つの可能な値を有する)を使用して、有効なキーを4つの計算要素によって処理される4つのパーティションに分割してもよい。5つの計算要素(又は6つ、7つ、若しくは8つの計算要素)が必要であると判定された場合、3ビットのプレフィックス(8つの可能な値を有する)を使用して、有効なキーを8つの計算要素で処理される8つのパーティションに分割してもよい。
【0037】
[0041]たとえば、プレフィックスのサイズは、必要な計算要素の最小数の底Nの対数関数に基づいて決定されてもよい。Nの値は、プレフィックスの各要素(たとえば、ビット)の異なる値の数に対応してもよい(たとえば、2進数のキーの場合はN=2)。プレフィックスのサイズを決定するために、底Nの対数関数の結果は次の整数に切り上げられてもよい。
【0038】
[0042]或いは、いくつかの実施形態では、異なる分散計算要素は、(たとえば、計算要素の構成及び/又は計算要素の現在の処理負荷に基づく)異なる計算容量を有してもよい。キー照合マネージャ202は、処理負荷のバランスを取るように、たとえば、全体のスループット/待ち時間を最適化するように、キーをパーティションに割り当ててもよい。
【0039】
[0043]キー照合マネージャ202は、個々の計算要素208に関連するトラフィック監視情報及び/又は能力情報に基づいて、分散計算要素の計算容量を決定してもよい。計算容量は、ネットワークパフォーマンスメトリック(複数可)、呼び出し待ち時間、及び/又は処理容量/能力などの1つ又は複数のパラメータを含んでもよい。
【0040】
[0044]様々な実施形態では、キー照合マネージャ202は、キーの数及び/又は分散計算要素の計算容量に基づいて、キーを分割するために使用されるプレフィックスの長さを決定してもよい。プレフィックスの長さによって、対応するキーがグループに割り当てられ得る粒度(たとえば、1つ又は複数のキーの数)が決まる。したがって、キー照合マネージャ202は、いくつかの計算要素208のそれぞれによって検索される有効なキーの分散の所望の粒度を決定し、所望の粒度に基づいてプレフィックスの長さを決定してもよい。計算要素の計算容量が同じである場合(たとえば、計算容量が事前定義されている場合)、プレフィックスの各値が異なる計算要素に割り当てられてもよい。しかしながら、計算容量が計算要素間で異なる、及び/又は動的に決定されるいくつかの実施形態では、1つ又は複数の計算要素に2つ以上のプレフィックス値が割り当てられてもよい。
【0041】
[0045]様々な実施形態において、キー照合マネージャ202は、各パーティション(ひいては異なる計算要素208)に割り当てられる1つ又は複数のプレフィックス値(たとえば、決定された長さを有する)を含むインデキシング情報を生成してもよい。たとえば、インデキシング情報は、それぞれの計算要素208に割り当てられる1つ又は複数のプレフィックスのリスト及び/又はプレフィックスの範囲を含んでもよい。
【0042】
[0046]プロセス200の218において、キー照合マネージャ202は、複数の計算要素208に照合命令(たとえば、キーパーティションの同時処理の要求)を送信してもよい。照合命令は、照合されるクライアントデバイスによって提示されたキー(たとえば、PMK及び/又はPSK)、並びに/或いは個々の計算要素208が照合されるキーを決定できるようにする情報を含んでもよい。たとえば、照合命令は、ANonce値、SNonce値、LANのSSID、クライアントデバイスのMACアドレス(STA MAC)及び/又はアクセスポイントのMACアドレス(AP MAC)、並びに/或いは照合されるキーを決定するために必要な他の情報を含んでもよい。個々の計算要素208は、照合命令内の情報に基づいて、照合される提示されたキーを決定してもよい。
【0043】
[0047]様々な実施形態では、照合命令は、計算要素208が提示されたキーとの照合を試みる有効なキー(たとえば、PMK及び/又はPSK)のパーティションを各計算要素208に示すためのインデキシング情報をさらに含んでもよい。たとえば、上記で論じたように、インデキシング情報は、それぞれのパーティションの有効なキーの1つ又は複数のプレフィックスのリスト及び/又は範囲を示してもよい。
【0044】
[0048]プロセス200の220において、個々の計算要素208は、それぞれのパーティションのキーをキーストレージサーバ206に要求してもよい。要求は、関連付けられたキーが要求される1つ又は複数のプレフィックス(たとえば、リスト又は範囲)を示してもよい。要求は、LANに関連付けられた識別情報(たとえば、SSID、アクセスポイント情報、サイト情報、及び/又はロケーション情報)をさらに含んでもよい。キーストレージサーバ206は、プロセス200の222において、要求されたキーをそれぞれの計算要素208に提供してもよい。
【0045】
[0049]様々な実施形態において、キーストレージサーバ206は、スコープ(たとえば、アクセスポイント、サイト、及び/又はロケーション)並びにプレフィックスによってキーを効率的に取り出せるようにしてもよい。たとえば、キーストレージサーバ206は、リレーショナルデータベース管理ストレージ(RDBMS)、非リレーショナルテーブルストレージ、及び/又は階層オブジェクトストレージを実装してもよい。いくつかの実施形態では、キーストレージサーバ206は、文字列のキーから文字列の値への順序付きマッピングを提供してもよい。
【0046】
[0050]プロセス200の224において、個々の計算要素208のそれぞれは、提示されたキーをそれぞれの計算要素に割り当てられた有効なキーのパーティションと照合することを試みてもよい。照合は、たとえば、提示されたキーのチェックサムを計算して個々の有効なキーのチェックサムと比較するなどの暗号学的テストプロセスによって実行されてもよい。提示されたキーのチェックサムが有効なキーのチェックサムと一致する場合、計算要素208は一致が存在すると判定する。
【0047】
[0051]プロセス200の226において、計算要素208のうちの1つ又は複数は、照合情報をキー照合マネージャ202に提供してもよい。たとえば、一致の発見に成功した計算要素208は、照合に成功したことを示す照合情報を送信してもよい。照合情報は、一致したキー(たとえば、PMK及び/又は関連するPSK)並びに/或いはキー照合マネージャ202及び/又はアクセスポイントが一致したキーを決定できるようにする他の情報をさらに含んでもよい。(残りのキーの検索を続行してから照合情報を送信するのではなく)一致が見つかったときに、照合情報が提供されてもよい。これにより、照合プロセスの応答時間が改善され得る。
【0048】
[0052]いくつかの実施形態では、提示されたキーの一致の発見に成功しなかった計算要素208は、照合に失敗したことを示す照合情報をキー照合マネージャ202に送信してもよい。
【0049】
[0053]プロセス200の228において、キー照合マネージャ202は、照合結果を(たとえば、アクセスポイントに)送信してもよい。照合結果は、プロセス100の118においてキー照合サービス106によってアクセスポイント104に提供される照合情報に対応してもよい。照合結果は、一致の発見に成功した計算要素208によって提供された照合情報の一部又は全部(たとえば、一致したキー及び/又は一致したキーを決定できるようにする他の情報)を含んでもよい。
【0050】
[0054]したがって、プロセス100及び/又は200並びに関連するアーキテクチャは、アクセスポイントからキー照合をオフロードすることによって、アクセスポイントの必要な複雑性/コストを削減し得る。さらに、複数の計算要素間に照合を分散させることにより、暗号計算を並行して実行することが可能になり、これにより、同じ処理リソースを使用して提示されたキーを全ての有効なキーと照合するシステムと比較して、応答時間が大幅に改善される。さらに、各パーティション内のキーの数、パーティションの数、及び/又は異なるパーティション間のキーの分散は、パフォーマンスを最適化するように、及び/又は特定のメトリック(たとえば、照合プロセスの待ち時間)を満たすように決定されてもよい。プロセス100及び/又は200並びに関連するアーキテクチャは、従来のシステムと比較して、パフォーマンス(たとえば、待ち時間)を改善し得、及び/又は使用される有効なキーの数を増やすことを可能にし得る。
【0051】
エンドツーエンドのバッチ処理
[0055]いくつかの実施形態では、ネットワーキングハードウェア(アクセスポイント又はコントローラ)は、UDPプロトコルであるRADIUSを介してキー照合サービスとやりとりしてもよい。本開示の実施形態はまた、他のUDPプロトコル又は他の適切な通信プロトコルに関連して動作してもよい。RADIUSの性質は、認証要求(別名、アクセス要求)が非同期のスタンドアロンメッセージとして受信されるようなものである。これらのメッセージは、認証が(たとえば、クラウド内に)集中化されている場合に非常に高いレートで到着する場合があり、これはいくつかの実施形態に当てはまる場合がある。
【0052】
[0056]既存のRADIUSサーバソフトウェア(たとえば、FreeRADIUS及びMicrosoft社のNPS/IAS)は、多種多様なRADIUS機能を実装している。それらの機能の一部はステートフルなメッセージ処理を必要とするので、順番に処理されるシリアル化されたメッセージのキューを含み、各応答が送信されてから次のメッセージの処理が始まる実装へとつながった。EAP-TLSのような複雑なプロトコルの変形をサポートするには効率的で有用であるが、この「一度に1つずつ」のメッセージ処理は、不要な場合には経済性及び拡張性の制約を課す。
【0053】
[0057]本開示の実施形態は、メッセージのバッチを非同期的に処理してシリアル処理によって課される制約を緩和することによって、これら及び他の問題に対処する。とりわけ、いくつかの実施形態による複数のメッセージを処理することにより、計算リソース(たとえば、メモリ、ネットワーク、及びCPU)を再利用することによって実現されるスケールメリットが提供される。全体的な結果としては、システムの各レイヤ(たとえば、
図2Bでは、RADIUSレイヤ234、キー照合API202、及び同時照合ワーカー240)に対してより少ない要求が行われ、結果として使用される計算容量及びメモリは、バッチのサイズに比例して減少する。場合によっては、これにより、「一度に1つずつ」メッセージ処理に基づく同様のシステムよりも最大で99%のコストを削減することができる。
【0054】
[0058]
図2Bは、様々な実施形態によるバッチ処理を利用したキー照合プロセス230の一例を示している。この例では、242において、UDPメッセージがUDPプロキシレイヤ232によって受信される。UDPプロキシレイヤ232は、複数のアクセスポイントから個々のメッセージを受信し、事前設定されたメッセージ数(又は予め定められた経過時間)に達するまで、それらを内部的にバッファリングしてもよい。次いで、バッファリングされたメッセージは、244においてRADIUSレイヤ234に単一の「バッチ」として渡される。
【0055】
[0059]介在するRADIUSレイヤ234は、バイナリのUDPパケットデータをセマンティックなRADIUSメッセージ内容に変換する。無効なメッセージはバッチから削除され、既知の応答が存在する(キャッシュされている、又は予め準備されている)メッセージも削除される。残りの変換されたメッセージは246において照合APIレイヤ202に送信され、264において応答がUDPレイヤに返される。
【0056】
[0060]照合APIレイヤ202は(248、250、252、及び254において)、スコープ及びSSIDのペア、別個のスコープ/SSIDのペア、設定情報(たとえば、設定サーバ236からのもの)、並びに要求のバッチ内に表されたパーティションプレフィックスに基づいて検索されるPSKの最大数を決定する。次いで、照合APIレイヤ202は256において、その数のキーを設計された(設定された)時間内に検索するために必要な同時照合ワーカー240のセットにメッセージ及び適切なキーパーティションプレフィックスを送信する。
【0057】
[0061]258において、各照合ワーカーインスタンスは、自身に割り当てられたプレフィックスに一致するPSKのセットをキーストレージ238から取り出す。次いで、260において、バッチ内の各キーがその一致候補のセットと比較され、これは(262及び264において)コーディネータ(キー照合API202)、RADIUSレイヤ、そして最後にUDPレイヤに返され、UDPレイヤは応答をアクセスポイントに返す。
【0058】
[0062]本開示の実施形態は、キーストレージサービス238におけるキー(PSK)のセグメント化の知識に基づいて効果的なバッチ処理を提供することができる。本開示の実施形態によって取られるキー分割のアプローチ(スコープ+ssid+計算されたプレフィックスでの照合)により、スコープ及びSSIDに基づいて要求をセットにグループ化することが可能になる。
【0059】
属性ベースのヒンティング
[0063]いくつかの実施形態では、非常に多数のPSKが関与するユースケースの中には、大規模な広く分散したネットワークが関与するケースがあり、この場合、関連付けられ得るデバイスの母集団も同様に広く分散している。換言すれば、非常に多数の潜在的なクライアントを有するネットワークは地理的に分散している。同様に、物理的な制限のために、単一のアクセスポイントに接続し得るデバイスの数も比較的少ない。本開示の実施形態は、多数のPSKをより良好にサポートするのを助けるために、最初の接続で一致する可能性が最も高いPSKの小さなセットを識別することによって、これに対処し得る。
【0060】
[0064]
図2Cは、上述の多数のPSKが関与するユースケースをサポートするために属性ベースの「ヒンティング」を利用するキー照合プロセス280の一例を示している。この例では、コンポーネントは
図2Aを参照して上記で説明したとおりであるが、いくつかの注目すべき改良が加えられている。たとえば、いくつかの実施形態では、キーストレージサービスは、任意の文字列のタグ(たとえば、単一の名前付きのラベル)並びに属性(たとえば、キー/値ペア)を記憶できるように改良されてもよい。これらのデータ項目は、PSKがストレージに追加されたとき、又は既存のPSKに対して追加/更新/削除が行われたときに提供されてもよい。
【0061】
[0065]いくつかの実施形態では、照合要求が行われたときに、一致したPSKに関連付けられたタグ及び属性が応答に含められる。とりわけ、これらのデータ項目は、VLAN、帯域幅制限、セッション時間などのPSK固有の接続プロパティを設定する方法を提供するのに役立つだけでなく、アプリケーション固有のデータをPSKと共に記憶して外部システムで使用できるようにするのに役立つ。
【0062】
[0066]照合要求(たとえば、プロセス280におけるキーパーティションの同時処理の要求)は、前述のコア照合メカニズムでは利用されない任意の「追加」情報を含んでもよい。この追加情報は、サービスとの通信に使用されるプロトコルに固有のもの(IPアドレス、ポートなど)であってもよく、又はメッセージの内容物(HTTPヘッダ、RADIUS AVP及びVSA)にエンコードされてもよい。
【0063】
[0067]いくつかの実施形態では、キー照合APIを
図2Aから強化して、PSKに関して記憶された属性に「追加」情報をマッピングすることを可能にするルールを設定できるようにしてもよい。
【0064】
[0068]1つ又は複数の分散計算要素によって照合要求を受信すると、マッピングを使用して、「追加」データの値を識別された属性の値と比較することによって、一致する「可能性が最も高い」(たとえば、予め定められた閾値を超える可能性又は確率を有する)PSKを識別するためのクエリフィルタを形成してもよい。「あいまい一致(fuzzy match)」を比較に使用してPSKの優先順位付けを提供してもよく、「完全一致(exact match)」を使用して一致する可能性のあるPSKのフィルタリングを提供してもよい。282において、一致する可能性が最も高いこのPSKのサブセットが取り出され、最初に検索される。一致が見つからなかった場合、284において残りのPSKが取り出され、検索される。
【0065】
[0069]このように、本開示の実施形態は、一致する可能性が高いPSKを最初に検索して一致を見つける時間を短縮する順序一致比較(order matching comparisons)を提供する。さらに、本開示の実施形態は、PSKをフィルタリングして、検索する必要がある全体数を減らすのに役立つ。
【0066】
[0070]ある特定の例では、RADIUSを介したキー照合サービスとの統合において、要求はアクセスポイントのネットワークID(BSSID)を含む。ヒントを利用するために、属性がPSKに追加され、使用される可能性が最も高いBSSIDの値を保持し得る(場合によっては「ホームAP」と呼ばれる)。次いで、RADIUS要求内のBSSIDはPSKの「ホームAP」属性にマッピングされているはずであるという「ヒント」を有するように照合サービスを構成することができる。照合要求が受信されると、キーストレージサービスへのクエリは、「ホームAP」がAPのBSSIDと一致するPSKを最初に識別し、それらの中で一致が見つからなかった場合にのみ他のキーを検索するように変更される。
【0067】
アクティブVLAN管理
[0071]いくつかの実施形態では、再び
図1及び
図2Aを参照すると、キー照合サービスは、キー照合要求に肯定応答で(たとえば、一致したキーを要求元のデバイス又はサービスに返すことによって)応答するときに、そうするように構成されている場合は、応答にVLAN(仮想LAN)値を含めてもよい。次いで、キー照合を要求したシステムは、供給されたVLAN値を、当該WPA-2キーを使用して生成された全てのネットワークトラフィックに適用して、各キー又はキーのグループからネットワーク上のトラフィックを個別の仮想ネットワークへと分離する。
【0068】
[0072]IEEE802.1Qは、所与のイーサネット(登録商標)ネットワーク上のVLANの最大数が4,094個であることを規定している。本開示のいくつかの実施形態は、別個のVLANがネットワークの各ユーザに割り当てられる、クラウドベースのネットワークへのアクセス管理を提供してもよい。ユーザには1つ又は複数のWPA-2キーが割り当てられてもよく、システム構成に応じて、各キーは独自の一意のVLANを有してもよく、キーの一部又は全部が同じVLANを共有してもよい。
【0069】
[0073]したがって、ネットワークユーザがオンボード及びオフボードになったときのVLANの利用可能性を管理することは、本開示の実施形態の1つの課題である。従来、VLANを管理するには2つの主な方法があり、すなわち、1)静的マッピング、2)プールからの動的な割り当てがある。静的マッピングの方法では、ネットワークはアパートメントなどの論理的な「ユニット」に分けられ、利用可能な全てのユニットに静的マップ内でVLAN値が割り当てられる。次いで、各ネットワークユーザは論理的なユニットに割り当てられ、そのユニット内のユーザに対して生成された又は割り当てられたあらゆるキーは、マップ内でそのユニットにマッピングされたVLAN値を使用する。動的プールの方法では、マップは存在しない。代わりに、ネットワークの各ユーザには、定義された利用可能な値のプールからVLAN値が割り当てられる(これはVLANの総数4094個を超えることはできない)。ユーザがオンボードになると、プールからのVLANがユーザに割り当てられる(そして、EKMSキー照合応答に含められる)、そのVLANは他のユーザには割り当て不可能になる。ユーザがオフボードになると(及びキーが無効化されると)、ユーザに割り当てられていたVLANは解放されてプールに戻り、再び別のネットワークユーザに割り当て可能になる。VLANとネットワークユーザとの間のこの1:1の関係により、ネットワークにオンボードできるユーザの数が、プール内の利用可能なVLANの数に制限される。
【0070】
[0074]本開示の実施形態は、上記の問題に対処するのに役立つ。たとえば、いくつかの実施形態では、動的プールの方法をキー照合システムと共に使用する場合、デバイスをネットワークに接続するためにアクティブに使用されていないキーにVLANを割り当てたままにしておく必要はない。したがって、システムは、キーがアクティブになったときにのみプールからVLANをキーに割り当て、そしてキーが非アクティブになったときにVLANを解放してプールに戻してもよい。これにより、利用可能なVLANよりも多くのアクティブなユーザが存在しない限り、利用可能なVLANよりも多くのネットワークユーザが存在することが可能になる。
【0071】
[0075]いくつかの実施形態では、ユーザがネットワークにオンボードになると、ユーザがデバイスを接続することを決断したが、VLAN値が割り当てられていない場合に、一意のキーが生成されてキー照合サービスに追加され、照合に利用可能になる。デバイスがユーザのキーを使用してネットワークに接続すると、キー照合要求がキー照合サービスに送信される。キー照合サービスが一致を見つけると、以下の方法のうちのいずれかで処理を進める。
【0072】
[0076](1)VLANがキーに割り当てられていない場合、システムはプールからVLANを割り当て、後続のキー照合要求で使用するためにVLANを記憶し、一致したキー及びVLAN属性を使用して要求元のサービスに応答する。
【0073】
[0077](2)VLANが以前にキーに割り当てられており、将来の使用のために記憶されている場合、EKMSは一致したキー及び以前に割り当てられたVLAN値を使用して要求元のサービスに応答する。
【0074】
[0078]このように、キー照合サービスは以前に割り当てられたVLAN(存在する場合)を使用して後続のキー照合要求に応答するので、ユーザのアクティブな全てのデバイスからのネットワークトラフィックは、アクティブな間、同じVLANでタグ付けされる。
【0075】
[0079]キーが非アクティブになると、システムはそのキーのVLAN割り当てを削除してプールに戻すことによって、VLANを解放してネットワークの別のユーザに割り当てられるようにしてもよい。非アクティブな期間の後に、ネットワークに参加するためにキーが再び使用される場合、システムは利用可能なVLANのプールからVLANを再び割り当てて、将来の要求のために記憶する。
【0076】
[0080]キーがアクティブなときにVLANをキーに割り当て、非アクティブになったときに解放してプールに戻すというサイクルは、キーがキー照合サービスでの照合に有効である限り継続してもよい。
【0077】
[0081]
図3は、本明細書に記載のコンポーネント及び動作フロー/アルゴリズム構造を含む、本開示の様々な態様を実装するための例示的なコンピューティングデバイスを示している。様々な実施形態では、コンピューティングデバイス300は、クライアントデバイス102、アクセスポイント104、及び/又は
図1に関して図示及び説明したキー照合サービス106の1つ又は複数のコンポーネントとして実装されてもよい。コンピューティングデバイス300は、さらに又は代わりに、
図2A及び
図2Cに関して図示及び説明したキー照合マネージャ202、サービスエリア情報サーバ204、キーストレージサーバ206、及び/又は分散計算要素208、並びに
図2Bに示した任意の適切なコンポーネントとして実装されてもよい。
【0078】
[0082]コンピューティングデバイス300は、1つ又は複数のプロセッサ302及びメモリ304を含んでもよい。本出願の目的上、特許請求の範囲を含めて、「プロセッサ」及び「プロセッサコア」という用語は、文脈上明確に別段の要求がない限り、同義語と見なされる場合がある。
【0079】
[0083]メモリ304は、揮発性及び不揮発性メモリの任意の組合せを含んでもよい。たとえば、メモリ304は、ランダムアクセスメモリ(たとえば、ダイナミックランダムアクセスメモリ、同期ダイナミックランダムアクセスメモリ、スタティックランダムアクセスメモリ、不揮発性ランダムアクセスメモリなど)、読み取り専用メモリ(たとえば、マスク読み取り専用メモリ、プログラム可能読み取り専用メモリ、消去可能プログラム可能読み取り専用メモリ、電気的消去可能プログラム可能読み取り専用メモリ、フラッシュメモリなど)、キャッシュなどを含んでもよい。メモリ304の一部の要素、たとえば、大容量ストレージは、コンピューティングデバイス300から物理的に分離していてもよく、又はリモートであってもよい。
【0080】
[0084]メモリ304は、説明したコンポーネント(たとえば、クライアントデバイス102、アクセスポイント104、キー照合サービス106、キー照合マネージャ202、サービスエリア情報サーバ204、キーストレージサーバ206、及び/又は分散計算要素208)に関連する動作を実装するための、プログラミング命令のワーキングコピー又はパーマネントコピーなどを含む、コンポーネント論理322を記憶するために用いられてもよい。計算論理322の様々な要素は、プロセッサ(複数可)302によってサポートされるアセンブラ命令、若しくはCなどの高水準言語、及び/又はそのような命令にコンパイルすることができる他の任意の適切な高水準言語によって実装されてもよい。
【0081】
[0085]プログラミング命令のパーマネントコピーは、たとえば、有形の配布媒体(図示せず)を介して、又は通信インターフェース310を介して(配信サーバ(図示せず)から)、工場又は現場で永続的な記憶デバイス内に入れられてもよい。すなわち、本明細書に記載の動作フロー/アルゴリズム構造の実装を有する1つ又は複数の配布媒体を用いて、プログラミング命令を配布し、様々なコンピューティングデバイスをプログラムしてもよい。
【0082】
[0086]プロセッサ302は、本明細書に記載の実施形態の様々な態様を実装するためにメモリ304からの計算論理322を実行するための処理回路の任意の組合せを含んでもよい。プロセッサ302は、中央処理装置、グラフィックス処理装置、デジタル信号プロセッサ、アクセラレータなどを含んでもよい。プロセッサ302は、共通のマザーボード、専用カードなどに実装されてもよい。プロセッサ302は、特定の処理タスク専用の様々なユニット、たとえば、限定はしないが、電力管理ユニット、バスインターフェース、メモリコントローラ、デバイスドライバ、ディスプレイインターフェース、コンピューティング/グラフィックスアレイ、レジスタ、組合せ論理などをさらに含んでもよい。
【0083】
[0087]コンピューティングデバイス300は、入力/出力(I/O)デバイス308(たとえば、ディスプレイ、キーボード、カーソルコントローラ、リモートコントローラ、ゲームコントローラ、イメージキャプチャデバイスなど)をさらに含んでもよい。
【0084】
[0088]コンピューティングデバイス300は、コンピューティングデバイス300が他のデバイス(たとえば、
図1、
図2A、
図2B、および
図2Cに関して図示及び説明したデバイス)と通信できるようにする1つ又は複数のハードウェアデバイスを含む通信インターフェース(複数可)310をさらに含んでもよい。実施形態では、通信インターフェース310のそれぞれは、特定の無線通信プロトコル(たとえば、Wi-Fi及び/又はIEEE802.11プロトコル)、セルラー通信プロトコル(たとえば、ロングタームエボリューション(LTE)、5Gなど)、無線パーソナルエリアネットワーク(WPAN:wireless personal area network)プロトコル(たとえば、IEEE802.15.4~802.15.5プロトコル、Bluetooth(登録商標)、又はBluetooth(登録商標)ローエナジー(BLE)など)、或いは有線通信プロトコル(たとえば、イーサネット(登録商標)、ファイバ分散データインターフェース(FDDI:Fiber Distributed Data Interface)、ポイントツーポイント(PPP:Point-to-Point)など)専用の1つ又は複数のプロセッサ(たとえば、ベースバンドプロセッサなど)を含んでもよい。通信インターフェース310はまた、変調された電磁放射を使用して固体又は非固体媒体を介して無線/有線ネットワーク及び/又は他のコンピューティングデバイスと通信することを可能にするハードウェアデバイスを含んでもよい。そのようなハードウェアデバイスには、1つ又は複数の他のデバイスにデータを送信するための電波を生成するか又は別の方法で作り出し、受信した信号を、コンピューティングデバイス300の1つ又は複数の他のコンポーネントに提供され得るデジタルデータなどの使用可能な情報に変換することによって、無線又は有線での通信を容易にするためのスイッチ、フィルタ、増幅器、アンテナ要素、プラグ/コネクタを受けるレセプタクル/ポート、及び/又は同様のものが含まれてもよい。
【0085】
[0089]コンピューティングデバイス300の要素は、1つ又は複数のバス又は他の接続を表してもよい内部接続インターフェース316を介して互いに結合されてもよい。複数のバスがある場合、それらは1つ又は複数のバスブリッジ(図示せず)によってブリッジされてもよい。
【0086】
[0090]コンピューティングデバイス300の要素の数、能力及び/又は容量は、たとえば、コンピューティングデバイス300の使用方法に応じて変更されてもよい。それらの構成は別の方法で知られているので、さらに説明しない。
【0087】
[0091]
図4は、本明細書に記載の技術に関連する動作のうちの全て又は選択されたものを実施するように構成される命令を有する少なくとも1つのコンピュータ可読記憶媒体404の一例を示している。図示のように、少なくとも1つのコンピュータ可読記憶媒体404は、多数のプログラミング命令408を含んでもよい。プログラミング命令408は、コンピューティングデバイス300などのデバイスが、プログラミング命令の実行に応答して、プロセス100及び/又はプロセス200の様々な動作などを実行できるように構成されてもよい。代替的な実施形態では、プログラミング命令408は、代わりに複数のコンピュータ可読記憶媒体404上に配置されてもよい。
【0088】
[0092]上述の技術を実行するためのコンピュータ読み取り可能な記録媒体(少なくとも1つのコンピュータ読み取り可能な記録媒体を含む)、方法、装置、システム、及びデバイスは、本明細書で開示した実施形態の説明用の例である。さらに、上述の相互作用における他のデバイスは、開示した様々な技術を実行するように構成されてもよい。
【0089】
[0093]本明細書では特定の実施形態を図示及び説明したが、本発明の範囲を逸脱することなく、同じ目的を達成するために計算された多種多様な代替及び/又は同等の実施形態又は実装が、図示及び説明した実施形態の代わりに使用されてもよいということは当業者には理解されよう。実施形態が極めて多種多様な方法で実施され得ることを当業者は容易に理解するであろう。本出願では、本明細書で論じた実施形態のあらゆる適合又は変形を包含することを意図している。したがって、実施形態が特許請求の範囲及びその均等物によってのみ限定されることを明確に意図している。
【国際調査報告】