(57)【特許請求の範囲】
【請求項１】
既存のメッシュネットワークを介した通信のための方法であって、
前記既存のメッシュネットワークの複数のメンバーデバイスのそれぞれによってブロードキャストされるサービスの広告のブロードキャストを検出するステップと、
前記ブロードキャストを検出するステップの後、前記既存のメッシュネットワークの前記複数のメンバーデバイスから前記メンバーデバイスのうちの1つを識別するステップと、
単一の認証手続きに関与するために識別された前記メンバーデバイスと通信するステップであって、前記メンバーデバイスは、前記単一の認証手続きにおいて、前記複数のメンバーデバイスのうちの別のメンバーデバイスと通信しない、ステップと、
前記単一の認証手続きを正常に完了すると、前記既存のメッシュネットワークに加わるために前記複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証手続きも必要とすることなく、前記既存のメッシュネットワークに加わるステップであって
前記加わるステップが、前記既存のメッシュネットワークの前記複数のメンバーデバイスから識別された前記メンバーデバイスから、前記既存のメッシュネットワークの前記複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを受信するステップを含む、ステップと
を含む方法。
【請求項２】
前記共通グループキーを使用してメッセージを暗号化するステップと、
前記既存のメッシュネットワークを介して前記複数のメンバーデバイスのうちのいずれかに前記暗号化されたメッセージを送るステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記既存のメッシュネットワークを介して前記複数のメンバーデバイスのうちのいずれかから暗号化されたメッセージを受信するステップと、
前記共通グループキーを使用して前記受信された暗号化されたメッセージを解読するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記単一の認証手続きに関与するために識別された前記メンバーデバイスと通信する前記ステップが、
識別された前記メンバーデバイスに第1のパブリック値を含む認証要求を送るステップであり、前記第1のパブリック値が、パスワード要素および第1のナンスを使用して生成され、前記パスワード要素が、識別された前記メンバーデバイスと共通のパスワードから生成される、ステップと、
識別された前記メンバーデバイスから第2のパブリック値を含む認証応答を受信するステップであり、前記第2のパブリック値が、前記パスワード要素および第2のナンスを使用して生成され、前記パスワード要素が、共通の前記パスワードから生成される、ステップと、
前記第1および第2のパブリック値を使用してペアワイズ共有キー(PMK)を生成するステップと、
前記生成されたPMKを使用してペアワイズ一時キー(PTK)を生成するステップと
を含む、請求項1に記載の方法。
【請求項５】
前記単一の認証手続きに関与するために識別された前記メンバーデバイスと通信する前記ステップが、
識別された前記メンバーデバイスに、メッセージ完全性コード(MIC)を含む関連付け要求を送るステップであり、前記MICが前記生成されたPTKを使用して生成される、ステップと、
前記既存のメッシュネットワークの前記複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを含む関連付け応答を受信するステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記関連付け要求に含まれる前記MICが正しい場合のみ、前記共通グループキーを含む前記関連付け応答が受信される、請求項5に記載の方法。
【請求項７】
前記受信された関連付け応答に含まれる前記共通グループキーが、前記PTKを使用して暗号化される、請求項5に記載の方法。
【請求項８】
前記関連付け要求および前記関連付け応答反応が前記PTKによって保護される、請求項5に記載の方法。
【請求項９】
前記関連付け要求とともにインターネットプロトコル(IP)アドレス要求を送るステップ
をさらに含む、請求項5に記載の方法。
【請求項１０】
既存のメッシュネットワークを介した通信のための装置であって、
前記既存のメッシュネットワークの複数のメンバーデバイスのそれぞれによってブロードキャストされるサービスの広告のブロードキャストを検出する手段と、
前記ブロードキャストを検出するための手段の後、前記既存のメッシュネットワークの前記複数のメンバーデバイスから前記メンバーデバイスのうちの１つを識別するための手段と、
単一の認証手続きに関与するために識別された前記メンバーデバイスと通信するための手段であって、前記メンバーデバイスは、前記単一の認証手続きにおいて、前記複数のメンバーデバイスのうちの別のメンバーデバイスと通信しない、手段と、
前記単一の認証手続きを正常に完了すると、前記既存のメッシュネットワークに加わるために前記複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証手続きも必要とすることなく、前記既存のメッシュネットワークに加わるための手段であって、
前記加わるための手段が、前記既存のメッシュネットワークの前記複数のメンバーデバイスから識別された前記メンバーデバイスから、前記既存のメッシュネットワークの前記複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを受信するための手段を含む、手段と
を含む装置。
【請求項１１】
前記共通グループキーを使用してメッセージを暗号化するための手段と、
前記既存のメッシュネットワークを介して前記複数のメンバーデバイスのうちのいずれかに前記暗号化されたメッセージを送るための手段と
をさらに含む、請求項10に記載の装置。
【請求項１２】
前記単一の認証手続きに関与するために識別された前記メンバーデバイスと通信するための前記手段が、
識別された前記メンバーデバイスに第1のパブリック値を含む認証要求を送り、前記第1のパブリック値が、パスワード要素および第1のナンスを使用して生成され、前記パスワード要素が、識別された前記メンバーデバイスと共通のパスワードから生成され、
識別された前記メンバーデバイスから第2のパブリック値を含む認証応答を受信し、前記第2のパブリック値が、前記パスワード要素および第2のナンスを使用して生成され、前記パスワード要素が、共通の前記パスワードから生成され、
前記第1および第2のパブリック値を使用してペアワイズ共有キー(PMK)を生成し、
前記生成されたPMKを使用してペアワイズ一時キー(PTK)を生成する
ように構成される、請求項10に記載の装置。
【請求項１３】
コンピュータで実行されたときに、請求項1乃至9の何れか1項に記載の方法を実施するための命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
相互参照
本特許出願は、2014年3月27日に出願され、本出願の譲受人に譲渡された、Patilらによる「Secure and Simplified Procedure for Joining a Social Wi-Fi Mesh Network」という名称の米国特許出願第14/227,872号の優先権を主張する。
【背景技術】
【０００２】
以下は、一般に、ワイヤレス通信に関し、より詳細には、メッシュネットワークを介したワイヤレス通信に関する。音声、ビデオ、パケットデータ、メッセージング、ブロードキャストなどの、様々なタイプの通信コンテンツを提供するために、ワイヤレス通信システムが広く配備されている。これらのシステムは、利用可能なシステムリソース(たとえば、時間、周波数、および電力)を共有することによって複数のユーザとの通信をサポートすることが可能な多元接続システムであり得る。そのような多元接続システムの例は、符号分割多元接続(CDMA)システム、時分割多元接続(TDMA)システム、周波数分割多元接続(FDMA)システム、および直交周波数分割多元接続(OFDMA)システムを含む。
【０００３】
モバイルデバイス(および他のワイヤレス通信デバイス)は、基地局またはモバイルデバイス自体以外の機器のないネットワークを形成し得る。そのようなネットワークの一例は、メッシュネットワークとして知られている。デバイスがメッシュネットワークに加わるために、デバイスは、メッシュネットワークのメンバーデバイスと「ピアリング」しなければならない。デバイス(ピア)は、「Simultaneous Authentication of Equals」(SAE)と呼ばれる安全なパスワードベースの認証および鍵設定プロトコルを使用し得る。加わることを望むデバイスおよびメンバーデバイスの各々が互いに発見する(および、セキュリティが有効にされる)と、加わることを望むデバイスは、メンバーデバイスの各々との個別のSAE交換を実行する。SAEが正常に完了した場合、各ピアは、相手方がメッシュパスワードを所有していることを知っており、SAE交換の副産物として、加わることを望むデバイスは、メンバーデバイスの各々との暗号学的に強い鍵を設定する。安全なピアリングを確立し、ルーティングトラフィックを含むメッシュトラフィックを保護するためにセッションキーを導出するために、この鍵は、「Authenticated Mesh Peering Exchange」(AMPE)で使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、メッシュネットワークの問題は、そのような従来の安全なピアリングに起因する。第1に、従来のピアリングは、ネットワークに加わるために、ネットワークの各個々のメンバーデバイスとの多くのメッセージの交換を伴う。メッシュネットワークにおけるピアごとの状態情報を維持することと関連したオーバーヘッドは、ネットワークにおけるデバイスの全体的な性能も低減し得る。
【課題を解決するための手段】
【０００５】
説明する特徴は一般に、メッシュネットワークを介した通信のための1つまたは複数の改善されたシステム、方法、および/または装置に関する。一般に、この手法は、メッシュネットワークに加わるためのピアリングを簡略化することである。この手法は、ワイヤレス通信デバイスが既存のメッシュネットワークに加わるための単一の認証手続きを伴い得る。ワイヤレス通信デバイスがひとたび既存のメッシュネットワークのメンバーデバイスを識別すると、ワイヤレス通信デバイスは、認証手続きを実行するために識別されたメンバーデバイスと通信し得る。認証手続きを正常に完了すると、ワイヤレス通信デバイスは、たとえば既存のメッシュネットワークの別のメンバーデバイスとのいかなる追加の認証手続きも必要とすることなく、既存のメッシュネットワークに加わることができる。
【０００６】
別の態様は、メッシュネットワークにおける全グループアドレストラフィック(group addressed traffic)を暗号化するための単一の共通グループキーの使用である。また別の態様は、共通グループキーの管理を伴う。
【０００７】
別の態様は、メッシュネットワーキングにおける断片化の可能性に対処するための手法を伴う。この手法は、たとえば、1つまたは複数の同じサービスを提供するなど、いくつかの二重の(断片化された)メッシュネットワークを低減するのを助け得る。たとえば、この手法は、断片化されたメッシュネットワークがマージできるようにすることができる。
【０００８】
メッシュネットワークを介した通信のための方法について説明する。一構成では、この方法は、既存のメッシュネットワークの複数のメンバーデバイスから1つのメンバーデバイスを識別するステップと、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するステップとを伴い得る。単一の認証手続きを正常に完了すると、既存のメッシュネットワークに加わるために複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証も必要とせずに、既存のメッシュネットワークに加わることができる。
【０００９】
いくつかの実施形態では、既存のメッシュネットワークに加わることは、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを受信することを伴い得る。そのような実施形態では、この方法は、共通グループキーを使用してメッセージを暗号化するステップと、メッシュネットワークを介して複数のメンバーデバイスのうちのいずれかに暗号化されたメッセージを送るステップとを伴い得る。また、この方法は、メッシュネットワークを介して複数のメンバーデバイスのうちのいずれかから暗号化されたメッセージを受信するステップと、共通グループキーを使用して受信された暗号化されたメッセージを解読するステップとを伴い得る。
【００１０】
いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するステップは、識別されたメンバーデバイスに第1のパブリック値を含む認証要求を送るステップを伴い得る。第1のパブリック値は、パスワード要素および第1のナンスを使用して生成され得る。パスワード要素は、識別されたメンバーデバイスと共通のパスワードから生成され得る。
【００１１】
いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するステップは、識別されたメンバーデバイスから第2のパブリック値を含む認証応答を受信するステップも伴い得る。第2のパブリック値は、パスワード要素および第2のナンスを使用して生成され得る。パスワード要素は、共通のパスワードから生成され得る。
【００１２】
いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するステップは、第1および第2のパブリック値を使用してペアワイズ共有キー(PMK)を生成するステップも伴い得る。ペアワイズ一時キー(PTK)は、生成されたPMKを使用して生成され得る。
【００１３】
さらに、いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するステップは、識別されたメンバーデバイスにメッセージ完全性コード(MIC)を含む関連付け要求を送るステップを伴い得る。MICは、生成されたPTKを使用して生成され得る。そのような実施形態では、この方法は、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを含む関連付け応答を受信するステップを伴い得る。
【００１４】
いくつかの実施形態では、関連付け要求に含まれるMICが正しい場合のみ、共通グループキーを含む関連付け応答が受信され得る。いくつかの実施形態では、受信された関連付け応答に含まれる共通グループキーは、PTKを使用して暗号化され得る。代替または追加として、関連付け要求および関連付け応答は、PTKによって保護され得る。
【００１５】
さらに、いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するステップは、関連付け要求とともにインターネットプロトコル(IP)アドレス要求を送るステップを伴い得る。そのような実施形態では、この方法は、関連付け応答とともにIPアドレス応答を受信するステップを伴い得る。IPアドレス応答は、IPアドレスを割り当てることができる。
【００１６】
いくつかの実施形態では、この方法は、Wi-Fiデバイスがサービス発見およびメッシュパラメータ交換のために共通発見ウィンドウに同期できるようにするソーシャルWi-Fiメッシュネットワークを伴い得る。
【００１７】
いくつかの実施形態では、この方法は、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキー、現在のナンス、およびあらかじめ決定されたテキストを受信するステップを伴い得る。そのような実施形態では、この方法は、共通グループキー、現在のナンス、およびあらかじめ決定されたテキストを使用してメッシュキーを生成するステップを伴い得る。いくつかの実施形態では、この方法は、現在のナンスに対する更新を受信するステップも伴い得る。そのような場合、メッシュキーを生成するステップは、共通グループキー、現在のナンスに対する更新、およびあらかじめ決定されたテキストを使用して実行され得る。代替または追加として、この方法は、共通グループキーに対する更新を受信するステップを伴い得る。そのような場合、メッシュキーを生成するステップは、共通グループキーに対する更新、現在のナンス、およびあらかじめ決定されたテキストを使用して実行され得る。
【００１８】
いくつかの実施形態では、この方法は、1つまたは複数の隣接したデバイスからメッシュキーを含む発見メッセージを受信するステップを伴い得る。そのような実施形態では、この方法は、生成されたメッシュキーを発見メッセージに含まれるメッシュキーと比較するステップを伴い得る。比較の結果に基づいて、既存のメッシュネットワークと同じサービスを提供するための別のメッシュネットワークが存在するかどうかが決定され得る。
【００１９】
いくつかの実施形態では、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーは、満了時間値を含み得る。そのような実施形態では、この方法は、乱数からあらかじめ決定された数までのカウントダウンを開始するステップを伴い得る。そのような場合、カウントダウンは、共通グループキーの満了時間値に達する前に開始され得る。あらかじめ決定された数に達すると、新しい共通グループキーが生成され得る。新しい共通グループキーは、メッシュネットワークを介して複数のメンバーデバイスに安全な方法で送られ得る。
【００２０】
いくつかの実施形態では、この方法は、あらかじめ決定された数に達する前にメッシュネットワークを介して確実に第1の新しい共通グループキーを受信するステップも伴い得る。第1の新しい共通グループキーを受信すると、カウントダウンが中止され得る。そのような実施形態では、この方法は、第1の新しい共通グループキーを受信するあらかじめ決定された時間内にメッシュネットワークを介して確実に第2の新しい共通グループキーを受信するステップを伴い得る。そのような場合、この方法は、1つまたは複数の抑制基準を使用して、第1および第2の新しい共通グループキーのうちどちらが有効であるかを決定するステップを伴い得る。
【００２１】
メッシュネットワークを介したワイヤレス通信デバイスによる通信のための装置について説明する。一構成では、この装置は、既存のメッシュネットワークの複数のメンバーデバイスから1つのメンバーデバイスを識別するように構成された第1の処理モジュールと、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するように構成された第2の処理モジュールと、単一の認証手続きを正常に完了すると、既存のメッシュネットワークに加わるために複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証手続きも必要とせずに、ワイヤレス通信デバイスが既存のメッシュネットワークに加わるようにするように構成される通信管理モジュールとを含み得る。
【００２２】
いくつかの実施形態では、通信管理モジュールは、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを受信するように構成され得る。
【００２３】
いくつかの実施形態では、第2の処理モジュールは、識別されたメンバーデバイスに第1のパブリック値を含む認証要求を送り、第1のパブリック値が、パスワード要素および第1のナンスを使用して生成され、パスワード要素が、識別されたメンバーデバイスと共通のパスワードから生成され、識別されたメンバーデバイスから第2のパブリック値を含む認証応答を受信し、第2のパブリック値が、パスワード要素および第2のナンスを使用して生成され、パスワード要素が、共通のパスワードから生成され、第1および第2のパブリック値を使用してペアワイズ共有キー(PMK)を生成し、生成されたPMKを使用してペアワイズ一時キー(PTK)を生成するように構成され得る。第2の処理モジュールは、識別されたメンバーデバイスに、メッセージ完全性コード(MIC)を含む関連付け要求を送り、MICが生成されたPTKを使用して生成され、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを含む関連付け応答を受信するようにも構成され得る。そのような実施形態では、関連付け要求に含まれるMICが正しい場合のみ、共通グループキーを含む関連付け応答が受信され得る。
【００２４】
メッシュネットワークを介した通信のための装置について説明する。一実施形態では、この装置は、既存のメッシュネットワークの複数のメンバーデバイスから1つのメンバーデバイスを識別するための手段を含み得る。この装置は、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するための手段も含み得る。この装置は、単一の認証手続きを正常に完了すると、既存のメッシュネットワークに加わるための手段をさらに含み得る。これは、既存のメッシュネットワークに加わるために複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証も必要としない可能性がある。
【００２５】
いくつかの実施形態では、既存のメッシュネットワークに加わるための手段は、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを受信するための手段を含み得る。そのような実施形態では、この装置は、共通グループキーを使用してメッセージを暗号化するための手段と、メッシュネットワークを介して複数のメンバーデバイスのうちのいずれかに暗号化されたメッセージを送るための手段とを含み得る。代替または追加として、この装置は、メッシュネットワークを介して複数のメンバーデバイスのうちのいずれかから暗号化されたメッセージを受信するための手段と、共通グループキーを使用して受信された暗号化されたメッセージを解読するための手段とを含み得る。
【００２６】
いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するための手段は、識別されたメンバーデバイスに第1のパブリック値を含む認証要求を送るように構成され得る。第1のパブリック値は、パスワード要素および第1のナンスを使用して生成され得る。パスワード要素は、識別されたメンバーデバイスと共通のパスワードから生成され得る。
【００２７】
通信するための手段は、さらに、識別されたメンバーデバイスから第2のパブリック値を含む認証応答を受信するように構成され得る。第2のパブリック値は、パスワード要素および第2のナンスを使用して生成され得る。パスワード要素は、共通のパスワードから生成され得る。
【００２８】
通信するための手段は、さらに、第1および第2のパブリック値を使用してペアワイズ共有キー(PMK)を生成し、生成されたPMKを使用してペアワイズ一時キー(PTK)を生成するように構成され得る。
【００２９】
いくつかの実施形態では、単一の認証手続きに関与するために識別されたメンバーデバイスと通信するための手段は、識別されたメンバーデバイスにメッセージ完全性コード(MIC)を含む関連付け要求を送るように構成され得る。MICは、生成されたPTKを使用して生成され得る。そのような実施形態では、通信するための手段は、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを含む関連付け応答を受信するように構成され得る。いくつかの実施形態では、関連付け要求に含まれるMICが正しい場合のみ、共通グループキーを含む関連付け応答が受信され得る。いくつかの実施形態では、受信された関連付け応答に含まれる共通グループキーは、PTKを使用して暗号化され得る。代替または追加として、関連付け要求および関連付け応答は、PTKによって保護され得る。
【００３０】
いくつかの実施形態では、この装置は、関連付け要求とともにインターネットプロトコル(IP)アドレス要求を送るための手段を含み得る。そのような実施形態では、この装置は、関連付け応答とともにIPアドレス応答を受信するための手段を含み得る。そのような場合、IPアドレス応答は、IPアドレスを割り当てることができる。
【００３１】
いくつかの実施形態では、メッシュネットワークは、Wi-Fiデバイスがサービス発見およびメッシュパラメータ交換のために共通発見ウィンドウに同期できるようにするソーシャルWi-Fiメッシュネットワークであり得る。
【００３２】
いくつかの実施形態では、この装置は、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキー、現在のナンス、およびあらかじめ決定されたテキストを受信するための手段を含み得る。そのような実施形態では、この装置は、共通グループキー、現在のナンス、およびあらかじめ決定されたテキストを使用してメッシュキーを生成するための手段を含み得る。この装置は、現在のナンスに対する更新を受信するための手段も含み得る。そのような場合、メッシュキーを生成することは、共通グループキー、現在のナンスに対する更新、およびあらかじめ決定されたテキストを使用して実行され得る。代替または追加として、この装置は、共通グループキーに対する更新を受信するための手段を含み得る。そのような場合、メッシュキーを生成することは、共通グループキーに対する更新、現在のナンス、およびあらかじめ決定されたテキストを使用して実行され得る。
【００３３】
いくつかの実施形態では、この装置は、1つまたは複数の隣接したデバイスからメッシュキーを含むサービス発見メッセージを受信するための手段を含み得る。そのような実施形態では、この装置は、生成されたメッシュキーをサービス発見メッセージに含まれるメッシュキーと比較するための手段を含み得る。そのような場合、この装置は、少なくとも部分的に比較の結果に基づいて、既存のメッシュネットワークと同じサービスを提供するための別のメッシュネットワークが存在するかどうかを決定するための手段も含み得る。
【００３４】
いくつかの実施形態では、この装置は、既存のメッシュネットワークの複数のメンバーデバイスのうちのいずれかと通信するための共通グループキーを受信するための手段を含み得る。共通グループキーは、満了時間値を含み得る。そのような実施形態では、この装置は、乱数からあらかじめ決定された数までのカウントダウンを開始するための手段を含み得る。カウントダウンは、共通グループキーの満了時間値に達する前に開始され得る。この装置は、あらかじめ決定された数に達すると、新しい共通グループキーを生成するための手段と、メッシュネットワークを介して複数のメンバーデバイスに安全な方法で新しい共通グループキーを送るための手段とを含み得る。
【００３５】
さらに、そのような実施形態では、この装置は、あらかじめ決定された数に達する前にメッシュネットワークを介して確実に第1の新しい共通グループキーを受信するための手段を含み得る。そのような場合、この装置は、第1の新しい共通グループキーを受信すると、カウントダウンを中止するための手段も含み得る。代替または追加として、この装置は、第1の新しい共通グループキーを受信するあらかじめ決定された時間内にメッシュネットワークを介して確実に第2の新しい共通グループキーを受信するための手段を含み得る。そのような場合、この装置は、1つまたは複数の抑制基準を使用して、第1および第2の新しい共通グループキーのうちどちらが有効であるかを決定するための手段を含み得る。
【００３６】
メッシュネットワークを介した通信のための装置の別の構成は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと電子通信するメモリとを含み得る。メモリは、既存のメッシュネットワークの複数のメンバーデバイスから1つのメンバーデバイスを識別し、単一の認証手続きに関与するために識別されたメンバーデバイスと通信し、単一の認証手続きを正常に完了すると、既存のメッシュネットワークに加わるために複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証手続きも必要とせずに、既存のメッシュネットワークに加わるために少なくとも1つのプロセッサによって実行可能であり得る命令を組み込み得る。様々な実施形態では、この装置は、上で説明した、ならびに/あるいは本明細書で説明する本方法の機能および/または動作のうちのいくつかもしくはすべてを実行するために少なくとも1つのプロセッサによって実行可能な命令を含み得る。
【００３７】
コンピュータプログラム製品についても説明する。コンピュータプログラム製品は、命令を記憶する非一時的コンピュータ可読記憶媒体とすることができ、非一時的コンピュータ可読記憶媒体は、既存のメッシュネットワークの複数のメンバーデバイスから1つのメンバーデバイスを識別し、単一の認証手続きに関与するために識別されたメンバーデバイスと通信し、単一の認証手続きを正常に完了すると、既存のメッシュネットワークに加わるために複数のメンバーデバイスのうちの別のメンバーデバイスとのいかなる追加の認証手続きも必要とせずに、既存のメッシュネットワークに加わるために実行可能であり得る。様々な実施形態では、コンピュータプログラム製品は、上で説明した、ならびに/あるいは本明細書で説明する本方法の機能および/または動作のうちのいくつかもしくはすべてを実行するためにプロセッサによって実行可能な命令を含み得る。
【００３８】
説明する方法および装置の適用可能性のさらなる範囲は、以下の発明を実施するための形態、特許請求の範囲、および図面から明らかとなろう。説明の趣旨および範囲内の様々な変更および修正が当業者に明らかとなるので、発明を実施するための形態および具体的な例は、例示として与えられるものにすぎない。
【００３９】
本発明の性質および利点のさらなる理解は、以下の図面の参照によって実現され得る。添付の図において、同様の構成要素または特徴は同じ参照ラベルを有し得る。さらに、同一タイプの様々な構成要素は、ダッシュによる参照ラベルと、同様の構成要素の間で区別する第2のラベルとを続けることによって区別される場合がある。第1の参照ラベルのみが本明細書で使用される場合、説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様の構成要素のうちのいずれか1つに適用可能である。
【図面の簡単な説明】
【００４０】
【図１】近接している個別のワイヤレス通信デバイスとのメッシュネットワークを示すブロック図である。
【図２Ａ】様々な実施形態によるワイヤレス通信デバイスの一例を示すブロック図である。
【図２Ｂ】ワイヤレス通信デバイスのさらなる実施形態を示すブロック図である。
【図２Ｃ】ワイヤレス通信デバイスの別の実施形態を示すブロック図である。
【図２Ｄ】ワイヤレス通信デバイスのまた別の実施形態を示すブロック図である。
【図２Ｅ】ワイヤレス通信デバイスのさらに別の実施形態を示すブロック図である。
【図３】ワイヤレス通信デバイスの一構成のブロック図である。
【図４】様々な実施形態による、シーカーデバイス(seeker device)と広告主との間の通信のフローを示すメッセージフロー図である。
【図５】メッシュネットワークを介した通信のための方法の一実施形態を示すフローチャートである。
【図６】メッシュネットワークを介した通信のための方法のさらなる実施形態を示すフローチャートである。
【図７】メッシュネットワークを介した通信のための方法の別の実施形態を示すフローチャートである。
【図８】メッシュネットワークを介した通信のための方法のまた別の実施形態を示すフローチャートである。
【発明を実施するための形態】
【００４１】
メッシュネットワークは、各メンバーデバイスがネットワークの他のすべてのデバイスとの接続を有するフルメッシュネットワークであり得る。また、メッシュネットワークは、いくつかのメンバーデバイスがフルメッシュ方式で接続され得るが、他のメンバーデバイスが、ネットワークのメンバーデバイスのすべてではなく、デバイスの1つまたは複数にのみ接続されている部分的なメッシュネットワークでもよい。さらに、ソーシャルWi-Fiメッシュネットワークは、参加しているデバイスがコンテンツ配信のためにメッシュ接続を確立できるようにするためのソーシャルWi-Fiフレームワークの能力を拡張し得る。メッシュネットワークは、他のデバイスから1つのデバイスに1つまたは複数のサービスを提供するために、1つのデバイスと1つまたは複数の他のデバイスとの間で形成され得る。そのような通信のためにメッシュネットワークを確立するために、デバイス(シーカーデバイス)は、所望のサービスを提供する他のデバイスを発見し得る、またはさもなければそれに気づき得る。これらの他のデバイスは、メンバーデバイスおよび/または広告主デバイスと呼ばれ得る。
【００４２】
他のデバイスが1つのみ発見された場合、サービスを求めるデバイスは、メッシュネットワークを形成するために他の装置と交渉することができる。一方、デバイスが既存のメッシュネットワークに属する1つまたは複数のデバイスを発見した場合、デバイスは、既存のメッシュネットワークに加わることができる。上述したように、IEEE802.11s規格による従来の安全なピアリングは、ネットワークの各個々のデバイスがネットワークに加わるために繰り返されなければならない多くのメッセージ(たとえば、8つ)を伴い得る。
【００４３】
この既知のピアリングに関する問題を解決するための手法の一例では、ワイヤレス通信デバイスは、既存のメッシュネットワークに加わるために、単一の認証手続きを実行するだけであり得る。ワイヤレス通信デバイスは、既存のメッシュネットワークのメンバーデバイスを識別し得る。ワイヤレス通信デバイスは、単一の認証手続きを実行するために、識別されたメンバーデバイスと通信し得る。単一の認証手続きを正常に完了すると、ワイヤレス通信デバイスは、たとえば既存のメッシュネットワークの別のメンバーデバイスとのいかなる追加の認証手続きも必要とすることなく、既存のメッシュネットワークに加わることができる。その結果、既存のメッシュネットワークに加わるためのピアリングのためのプロセスが簡略化される。
【００４４】
最初に図1を参照すると、確立されたメッシュネットワーク110を含む構成100が示される。メッシュネットワーク110は、メッシュネットワーク110の「ノード」115と呼ばれ得る様々な固定および/またはモバイルデバイスのワイヤードまたはワイヤレス通信ネットワークとして実装され得る。ノードデバイス115の各々は、たとえば大学キャンパス、メトロポリタンエリア、コミュニティネットワーク全体にわたる、および他の地理的エリアにわたるなど、メッシュネットワーク全体にわたってデータを受信し、通信することができる。ノードデバイス115は、メッシュネットワーク内のあるノードから別のノードにデータをルーティングするように機能することもできる。加えて、各ノードは、一般に、冗長な通信リンクおよび信頼性が高い通信システムを提供する、ネットワークの他のノードへの、および/またはからの複数の通信リンクを有している。
【００４５】
ワイヤレスメッシュネットワーク110は、データパケットルーティングプロトコルを利用するワイヤレス通信のために実装される様々なノードデバイス115を含み得る。ワイヤレスメッシュネットワーク110は、別のワイヤレスネットワーク、ワイヤードネットワーク、ワイドエリアネットワーク(WAN)など、メッシュネットワーク110に通信可能にリンクされた他のネットワークとのデータ通信のためにも実装され得る。
【００４６】
ワイヤレスメッシュネットワーク110において、通信リンク120は、ネットワークの様々なノード115の間に形成され得る。ネットワークにおけるワイヤレス通信のためのデータパケットは、一般に、マルチホップワイヤレスメッシュネットワークにおける「ホップ」と呼ばれる中間ノードを介してソースノード(たとえば、送信デバイス)から宛先ノード(たとえば、受信デバイス)に転送またはルーティングされ得る。
【００４７】
一構成では、ワイヤレス通信デバイス105は、メッシュネットワーク110の近傍にあり得る。前述のように、メッシュネットワーク110は、ワイヤレス通信デバイスであり得る複数のノード115を含み得る。図1に示すように、メッシュネットワーク110は、ノードの各々が、一部は直接的に、一部は間接的に、メッシュネットワーク110の他のノードのすべてと通信することができるように、接続または通信リンク120がノード115-a〜115-iの間に確立される、部分的なメッシュネットワークである。一構成では、メッシュネットワーク110のノード115は、本明細書では、メンバーデバイスおよび/または広告主デバイスと呼ばれ得る。一般に、特定のサービスのソースであるノードは、プロバイダと呼ばれ得、特定のサービスを使用するノードは、加入者と呼ばれ得、プロバイダの代わりにサービスを広告するノードは、プロキシと呼ばれ得る。
【００４８】
メッシュネットワーク110は、外部ネットワーク125との接続または通信リンク120を確立するメンバーデバイスのうちの1つまたは複数(たとえば、この例ではデバイス115-i)によって、たとえばインターネットなど、外部ネットワーク125に接続され得る。図示されていないが、デバイス115-iは、外部ネットワーク125にアクセスする基地局とのその接続を確立し得る。
【００４９】
個別のワイヤレス通信デバイス105は、シーカーデバイスと呼ばれ得る。デバイス105は、メッシュネットワーク110のメンバーデバイス115によって提供される1つまたは複数のサービスを取得するために、既存のメッシュネットワーク110に加わることを「求め」得る。メンバーデバイス115は、メッシュネットワーク110が提供するサービスをブロードキャスト(広告)し得る広告主と呼ばれ得る。シーカーデバイス105は、ブロードキャストを介して所望のサービス(ならびに広告主デバイス115および既存のメッシュネットワーク110)を見つけることができる。次いで、デバイス105は、所望のサービスを取得するために、既存のメッシュネットワーク110に加わり得る。
【００５０】
シーカーデバイス105およびメンバーデバイス115は、メッシュネットワーク110全体に分散され、各デバイスは固定されていてもまたは移動式であってもよい。シーカーデバイス105およびメンバーデバイス115はまた、当業者によって、移動局、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、ユーザ機器、モバイルクライアント、クライアントと呼ばれるか、またはいくつかの他の適切な用語で呼ばれ得る。シーカーデバイス105およびメンバーデバイス115は、携帯電話、携帯情報端末(PDA)、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、タブレットコンピュータ、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ(WLL)局などであり得る。
【００５１】
さらに後述するように、ワイヤレス通信デバイス105は、たとえばメンバーデバイス115-aなど、識別されたデバイスとの簡略化されたピアリングプロセスを実行し得る。複数のデバイス115がワイヤレス通信デバイス105によって識別された場合、簡略化されたピアリングプロセスは、識別されたデバイス115のうちの1つのみで実行され得る。したがって、本明細書で説明するように、ワイヤレス通信デバイス105は、全メッシュネットワーク110とピアリングし、それに加わるための単一の認証手続きを実行するだけである。単一の認証手続きを正常に完了すると、ワイヤレス通信デバイス105は、既存のメッシュネットワーク110に加わり、メンバーデバイスになる。たとえば既存のメッシュネットワークの別のメンバーデバイスとの追加の認証手続きは必要ない。
【００５２】
次に図2Aを参照すると、ブロック図200-aは、様々な実施形態によるシーカーデバイス105-aを示す。シーカーデバイス105-aは、図1を参照して説明したワイヤレス通信デバイス105の1つまたは複数の態様の一例であり得る。シーカーデバイス105-aは、(たとえば、単一の認証手続きを実行するためにワイヤレス通信デバイス105と協力することができる)図1に関して説明したワイヤレス通信デバイス115の1つまたは複数の態様の一例であり得る。デバイス105-aはプロセッサでもあり得る。デバイス105-aは、受信機モジュール205、通信管理モジュール210、および送信機モジュール215を含み得る。これらの構成要素の各々は、互いに通信してもよい。
【００５３】
デバイス105-aの構成要素は、個別にまたは集合的に、適用可能な機能の一部または全部をハードウェアで実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、それらの機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実行され得る。他の実施形態では、当技術分野で知られている任意の方法でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ中に記憶された命令を用いて実装され得る。
【００５４】
送信機モジュール215は、シーカーデバイス105-aから、たとえば図1に示されるメッシュネットワーク110のメンバーデバイス115-aなど、他のデバイスに、信号208を介して通信を送り得る。そのような通信を送ることは、単一の認証手続きを実行するためのメッセージを含み得る。さらに、シーカーデバイス105-aがひとたびメンバーデバイス115-aを発見/識別すると、送信機モジュール215は、メンバーデバイス115-aに直接(アドレス指定された)通信を送信することによって通信を送ることができる。通信管理モジュール210は、シーカーデバイス105-aによって送られたそのような通信を管理し得る。
【００５５】
受信機モジュール205は、単一の認証手続きの一部としてメンバーデバイス115-aから信号202を介して通信を受信し得る。受信機モジュール205は、メンバーデバイス115-aから送信された有向の(アドレス指定された)メッセージを介して認証手続きのためのメッセージを受信し得る。通信管理モジュール210は、信号204(たとえば、制御および/またはデータ)を介してシーカーデバイス105-aによって受信されたそのような通信を管理し得る。加えて、既存のメッシュネットワーク110に加わると、通信管理モジュール210は、メッシュネットワーク110のメンバーデバイス115のうちの1つまたは複数との接続を確立し、そのような接続を介して信号206(たとえば、制御および/またはデータ)を介して通信を管理し得る。通信管理モジュール210に関するさらなる詳細については、以下で説明する。
【００５６】
図2Bは、様々な実施形態による、シーカーデバイス105-bを示すブロック図200-bである。シーカーデバイス105-bは、図1および/または図2Aを参照して説明したワイヤレス通信デバイス105ならびにメンバーデバイス115の1つまたは複数の態様の一例であり得る。デバイス105-bはプロセッサでもあり得る。デバイス105-bは、受信機モジュール205-a、通信管理モジュール210-a、および送信機モジュール215-aを含み得る。これらの構成要素の各々は、互いに通信してもよい。
【００５７】
デバイス105-bの構成要素は、個別にまたは集合的に、適用可能な機能の一部または全部をハードウェアで実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、それらの機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実行され得る。他の実施形態では、当技術分野で知られている任意の方法でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ中に記憶された命令を用いて実装され得る。
【００５８】
受信機モジュール205-aおよび送信機モジュール215-aは、図2Aを参照して前に説明したように(たとえば、それぞれ信号212および218を介して)動作を実行するように構成され得る。通信管理モジュール210-aは、デバイス識別モジュール220、認証モジュール225、および暗号化/解読モジュール230を含み得る。
【００５９】
通信管理モジュール210-aは、図2Aに関して上で説明された様々な機能を実行するように構成され得る。この例では、通信管理モジュール210-aは、シーカーデバイス105-bが望む1つまたは複数のサービスを提供するメッシュネットワーク110を識別するために、発見/識別プロセスを管理し得る(内部信号(図示せず)を介して)。シーカーデバイス105-bまたは通信管理モジュール210-aは、そのような機能を実行するためのプロセッサを含み得る。
【００６０】
デバイス識別モジュール220は、所望のサービスを提供する他のデバイスを発見する、またはさもなければそれに気づくために、たとえば、信号216-aを介してデータを送信機モジュール215-aに提供する、信号214-aを介して受信機モジュール205-aからデータを取得するなど、様々な動作を実行するように構成され得る。その結果、デバイス識別モジュール220は、通信管理モジュール210-a(またはその他の構成要素)、受信機モジュール205-a、および送信機モジュール215-aとその動作を実施することについて協力することによってメンバーデバイス115-aの発見を容易にし得る。
【００６１】
通信管理モジュール210-aは、シーカーデバイス105-bがメッシュネットワーク110に加わることができるようにするために、認証手続きを管理し得る(内部信号(図示せず)を介して)。シーカーデバイス105-bまたは通信管理モジュール210-aは、そのような機能を実行するためのプロセッサを含み得る。
【００６２】
認証モジュール225は、本明細書で説明する単一の認証手続きに関与するために様々な動作を実行するように構成され得る。いくつかの実施形態では、認証モジュール225は、単一の認証手続きに関与するメンバーデバイス115-aに信号218を介して送信されるように、メッセージを生成し、信号216-bを介して送信機モジュール215-aに提供することができる。さらに、認証モジュール225は、認証手続きの一部としてメンバーデバイス115-aから信号212を介して受信された、受信機モジュール205-aから信号214-bを介して取得されたメッセージを処理するように構成され得る。したがって、認証モジュール225は、通信管理モジュール210-a(またはその他の構成要素)、受信機モジュール205-a、および送信機モジュール215-aとその動作を実施することについて協力し得る。
【００６３】
通信管理モジュール210-aは、シーカーデバイス105-bのセキュリティを管理することができる(内部信号(図示せず)を介して)。シーカーデバイス105-bまたは通信管理モジュール210-aは、そのような機能を実行するためのプロセッサを含み得る。
【００６４】
暗号化/解読モジュール230は、暗号化および解読動作を含むセキュリティ動作を実行するように構成され得る。安全でなければならない単一の認証手続きに関して、暗号化/解読モジュール230は、認証モジュール225と交換される信号219を介して、認証モジュール225によって生成されるメッセージを暗号化し、メンバーデバイス115-aから受信されたメッセージを解読することができる。
【００６５】
暗号化/解読モジュール230は、ひとたびデバイス105-bがメッシュネットワークに加わると、シーカーデバイス105-bとメンバーデバイス115のうちの1つまたは複数との間の通信のためにセキュリティ動作を実行するようにも構成され得る。メッシュネットワーク110内の通信は、安全でなければならない。したがって、暗号化/解読モジュール230は、デバイス105-bから送信されるべきメッセージを暗号化し得、メッシュネットワーク110内の通信の一部として他のメンバーデバイス115から受信されたメッセージを解読し得る。したがって、暗号化/解読モジュール230は、通信管理モジュール210-a(またはその他の構成要素)、受信機モジュール205-a、および送信機モジュール215-aとそのような動作を実施することについて協力し得る。
【００６６】
図2Cは、様々な実施形態による、シーカーデバイス105-cを示すブロック図200-cである。シーカーデバイス105-cは、図1、図2A、および/または図2Bを参照して説明したワイヤレス通信デバイス105、ならびにメンバーデバイス115の1つまたは複数の態様の一例であり得る。デバイス105-cはプロセッサでもあり得る。デバイス105-cは、受信機モジュール205-b、通信管理モジュール210-b、および送信機モジュール215-bを含み得る。これらの構成要素の各々は、互いに通信してもよい。
【００６７】
デバイス105-cの構成要素は、個別にまたは集合的に、適用可能な機能の一部または全部をハードウェアで実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、それらの機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実行され得る。他の実施形態では、当技術分野で知られている任意の方法でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ中に記憶された命令を用いて実装され得る。
【００６８】
受信機モジュール205-bおよび送信機モジュール215-bは、図2Aおよび/または図2Bを参照して前に説明したように(たとえば、それぞれ信号222および228を介して)動作を実行するように構成され得る。通信管理モジュール210-bは、デバイス識別モジュール220-a、認証モジュール225-a、および暗号化/解読モジュール230-aを含み得る。デバイス識別モジュール220-aおよび暗号化/解読モジュール230-aは、図2Aおよび/または図2Bを参照しながら前に説明したように、動作を実行するように構成され得る。
【００６９】
通信管理モジュール210-bは、図2Aおよび/または図2Bに関して上記で説明した様々な動作/機能を実行するように構成され得る。上記のように、通信管理モジュール210-bは、シーカーデバイス105-cが望む1つまたは複数のサービスについての発見/識別プロセスを管理し得る(内部信号(図示せず)を介して)。さらに、シーカーデバイス105-cまたは通信管理モジュール210-bは、そのような機能を実行するためのプロセッサを含み得る。デバイス識別モジュール220-aは、(たとえば、信号224-aおよび226-aを介して)図2Aおよび/または図2Bに関して上記で説明した動作を実行するように構成され得る。
【００７０】
通信管理モジュール210-bは、シーカーデバイス105-cがメッシュネットワーク110に加わることができるようにするために、認証手続きを管理し得る(内部信号(図示せず)を介して)。シーカーデバイス105-cまたは通信管理モジュール210-aは、そのような機能を実行するためのプロセッサを含み得る。
【００７１】
認証モジュール225-aは、(たとえば、信号224-bおよび226-bを介して)図2Aおよび/または図2Bを参照しながら上記で説明した動作を実行するように構成され得る。認証モジュール225-aは、ナンス生成器235、パブリック値生成器240、パスワード要素生成器245、PMK(ペアワイズマスターキー)生成器250、PTK(ペアワイズ一時キー)生成器255、MIC(メッセージ完全性コード)生成器260、および/またはMICチェッカ265を含み得る。これらのモジュールの各々は、その間に信号を運ぶバス270を介して相互接続され得、認証モジュール225-aによって制御され得る。認証モジュール225-aは、したがって、後述するように追加の機能を提供し得る。
【００７２】
いくつかの実施形態では、単一の認証手続きは、4ウェイハンドシェイクを含み得る。4ウェイハンドシェイクが開始する前に、ワイヤレス通信デバイス105-cおよびメンバーデバイス115-aが互いを見つけ、認証手続きを続行することに同意したと仮定される。したがって、4ウェイハンドシェイクによって、ワイヤレス通信デバイス105-cは、単一の認証(ピアリング)手続きを介して既存のネットワークに加わることができる。4ウェイハンドシェイクは、以下でさらに説明するように、認証および関連付けを提供する。
【００７３】
この手法によれば、シーカーデバイス105-cおよびメンバーデバイス115-aは、共通の秘密のパスワードを有する。たとえば、シーカーデバイス105-cおよびメンバーデバイス115-aは、共通のパスワードがプロビジョニングされ得る。パスワード要素生成器245は、共通のパスワードを使用してパスワード要素(P)を生成し得る。ナンス生成器235は、ランダムなナンス(一度のみ使用される任意の数)Naを生成することができる。ナンスNaを使用して、パブリック値生成器240は、そのディフィーヘルマン(DH)パブリック値PNaを生成する。第1のメッセージで、シーカーデバイス105-cは、パブリック値PNaをメンバーデバイス115-aに送る。
【００７４】
メンバーデバイス115-aは、それ自体のランダムなナンスを生成し、そのDHパブリック値PNbを生成する。第2のメッセージで、シーカーデバイス105-cは、メンバーデバイス115-aからパブリック値PNbを受信する。この時点で、PMK生成器250は、シーカーデバイス105-aのためのペアワイズマスターキー(PMK)を生成する。メンバーデバイス115-aもペアワイズマスターキー(PMK)を生成する。
【００７５】
PTK生成器255は、PMK生成器250によって生成されたPMKを使用してペアワイズ一時キー(PTK)を生成する。次いで、シーカーデバイス105-cは、メンバーデバイス115-aに関連付け要求メッセージ(第3のメッセージ)を送る。いくつかの実施形態では、シーカーデバイス105-cは、関連付け要求メッセージとともに、IPアドレス要求を送り得る。MIC生成器260は、PTKを使用して関連付け要求のメッセージ完全性コード(MIC)を作成する。シーカーデバイス105-cは、生成されたMICを関連付け要求に含む。
【００７６】
関連付け要求を受信すると、メンバーデバイス115-aは、受信されたMICを検証しようと試みる。MICが正しい(検証された)場合、デバイス105-cは、メンバーデバイス115-aから共通グループキー(設定されたPTKを使用して暗号化され得る)を有する関連付け応答メッセージ(第4のメッセージ)を受信する。いくつかの実施形態では、デバイス105-cは、(たとえば、デバイス105-cのIPアドレスを提供する)IPアドレス要求に対する応答を関連付け応答メッセージとともに受信し得る。メンバーデバイス115-aは、PTKを使用して関連付け応答のMICを作成し、そのMICを関連付け応答メッセージに含む。
【００７７】
両方のデバイスが同じパスワードを有することを確認し、DH鍵交換の結果として、同じキー(PMKおよびPTK)を導出するために、MICの各々が使用される。PMKがDH鍵交換の結果であるので、PTKを導出するためにさらなるDHは必要ない。PTKの導出のためにナンス交換は必要とされない可能性があるが、しかしながら、ナンス交換は、関連付け(たとえば、関連付け要求メッセージおよび/または関連付け応答メッセージ)の間、鍵の確認のために使用され得る。
【００７８】
認証および鍵導出は、たとえば、IEEE802.11規格に記載されるように、SAE(simultaneous authentication of equals)に基づき得る。以下に、その簡略版について説明する。
【００７９】
シーカーデバイス105-c(およびメンバーデバイス115-a)は、以下を導出する。
P = F1(pw, MAC-A, MAC-STA-B)                    式1
式中、Pは、パスワード要素(PWE)である。MAC-Aはシーカーデバイス105-cの媒体アクセス制御(MAC)アドレスであり、MAC-Bはメンバーデバイス115-aのMACアドレスであり、F1はIEEE802.11に記載されるようにPを導出する関数である。
【００８０】
この手法によれば、シーカーデバイス105-cは、Naをランダムに選び(すなわち、ANonce)、PNaを計算し、PNaをメンバーデバイス115-aに送る(第1のメッセージ)。メンバーデバイス115-aは、Nbをランダムに選び(すなわち、BNonce)、keyseedAB = PNaNbを計算する。次いで、メンバーデバイス115-aは、PNbを計算し、PNbをシーカーデバイス105-cに送る(第2のメッセージ)。シーカーデバイス105-cは、keyseedAB = PNaNbを計算する。
【００８１】
keyseedABを使用して、以下が導出され得る。
KCK||PMK = F2(keyseedAB)                    式2
式中、F2は、KCKおよびPMKを導出する関数である。さらなる詳細は、IEEE 802.11において提供されている。KCKは、認証メッセージの信頼性を提供するためにMIC生成に使用される鍵確認鍵である。KCK||PMKは、第2のメッセージ(認証応答)を受信することなく、第1のメッセージのためにデバイス105-cによって導出することができないので、第2のメッセージのみがMICを運ぶ。しかしながら、両方のデバイスは、PTKを生成するために、KCKおよびPMKを導出する。
【００８２】
通信管理モジュール210-bは、シーカーデバイス105-cのセキュリティを管理することができる(内部信号(図示せず)を介して)。シーカーデバイス105-cまたは通信管理モジュール210-bは、そのような機能を実行するためのプロセッサを含み得る。
【００８３】
暗号化/解読モジュール230-aは、ひとたびデバイス105-cがメッシュネットワークに加わると、シーカーデバイス105-cとメンバーデバイス115のうちの1つまたは複数との間の通信のためにセキュリティ動作を実行するように構成され得る。メッシュネットワーク110内の通信は、安全でなければならない。したがって、暗号化/解読モジュール230-aは、デバイス105-cから送信されるべきメッセージを暗号化し得、メッシュネットワーク110内の通信の一部として他のメンバーデバイス115から受信されたメッセージを解読し得る。したがって、暗号化/解読モジュール230-aは、通信管理モジュール210-b(またはその他の構成要素)、受信機モジュール205-b、および送信機モジュール215-bとそのような動作を実施することについて協力し得る。
【００８４】
図2Dは、様々な実施形態による、シーカーデバイス105-dを示すブロック図200-dである。シーカーデバイス105-dは、図1、図2A、図2B、および/または図2Cを参照しながら説明したワイヤレス通信デバイス105ならびにメンバーデバイス115の1つもしくは複数の態様の一例であり得る。シーカーデバイス105-dはプロセッサでもあり得る。デバイス105-dは、受信機モジュール205-c、通信管理モジュール210-c、および送信機モジュール215-cを含み得る。これらの構成要素の各々は、互いに通信してもよい。
【００８５】
シーカーデバイス105-dの構成要素は、個別にまたは集合的に、適用可能な機能の一部または全部をハードウェアで実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、それらの機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実行され得る。他の実施形態では、当技術分野で知られている任意の方法でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ中に記憶された命令を用いて実装され得る。
【００８６】
受信機モジュール205-cおよび送信機モジュール215-cは、(たとえば、それぞれ信号232および238を介して)図2A、図2B、および/または図2Cを参照しながら前に説明した動作を実行するように構成され得る。通信管理モジュール210-cは、デバイス識別モジュール220-b、認証モジュール225-b、および暗号化/解読モジュール230-bを含み得る。デバイス識別モジュール220-bおよび暗号化/解読モジュール230-bは、図2A、図2B、および/または図2Cを参照しながら前に説明した動作を実行するように構成され得る。
【００８７】
通信管理モジュール210-cは、図2A、図2B、および/または図2Cを参照しながら上記で説明した様々な動作/機能を実行するように構成され得る。上記のように、通信管理モジュール210-cは、シーカーデバイス105-dが望む1つまたは複数のサービスについての発見プロセスを管理し得る(内部信号(図示せず)を介して)。さらに、シーカーデバイス105-dまたは通信管理モジュール210-cは、そのような機能を実行するためのプロセッサを含み得る。デバイス識別モジュール220-bは、(たとえば、信号234-aおよび236-aを介して)図2A、図2B、および/または図2Cを参照しながら上記で説明した動作を実行するように構成され得る。
【００８８】
認証モジュール225-bは、(たとえば、信号234-bおよび236-bを介して)図2A、図2B、および/または図2Cを参照しながら上記で説明した動作を実行するように構成され得る。認証モジュール225-bは、メッシュキーパラメータ生成器270および/またはメッシュキーコンパレータ275を含み得る。認証モジュール225-bは、後述するように追加の機能を提供し得る。
【００８９】
メッシュネットワーキングにおける断片化(複数のプロバイダデバイスによる同じサービスのための個別のメッシュネットワークの作成)の可能性は、デバイスをデバイスシーカー105-dとして構成することによって対処され得る。メッシュキーパラメータ生成器270およびメッシュキーコンパレータ275は、認証モジュール225-bの一部として示されているが、これらの構成要素は、それら自体のモジュールの一部でもよく、または個別のモジュールでもよい。いくつかの既存のデバイスが発見動作および/または暗号化/解読を実行するための機能をすでに含む場合がある。したがって、そのようなデバイスは、本明細書で説明する様々な態様を実施するための新しいモジュールを含むように変更され得る。したがって、メッシュキーパラメータ生成器270およびメッシュキーコンパレータ275は、一例として認証モジュール225-bの一部として示される。
【００９０】
メッシュキーパラメータ生成器270およびメッシュキーコンパレータ275は、デバイス105-dが同じサービスを提供している複数のメッシュネットワークの存在を認識できるように構成され得る。したがって、メッシュキーパラメータ生成器270およびメッシュキーコンパレータ275は、そのような重複のメッシュネットワークの合併(断片化解消)を可能にするまたは容易にするために使用され得る。
【００９１】
メッシュキーは、既存のメッシュネットワークのメンバーであるデバイスからブロードキャストされる、またはさもなければ送信される発見広告(たとえば、NAN(隣接認識ネットワーク)チャネル上のサービス発見メッセージ)に含まれ得る。発見広告に含まれ得る追加のパラメータは、特定のメッシュネットワークを識別するメッシュID、特定のメッシュネットワークと通信するために使用され得るチャネルを識別するメッシュチャネル、およびページウィンドウオフセットを含み得る。
【００９２】
シーカーデバイス105-dのメッシュキーパラメータ生成器270は、メッシュキー、ならびにデバイス105-dが加わった特定のメッシュネットワークの他のパラメータ(たとえば上記)を生成し得る。メッシュキーコンパレータ275は、信号232を介して受信機モジュール205-cによって受信される発見広告に含まれ、信号234-bを介してメッシュキーコンパレータ275に提供されるメッシュキーを、メッシュキーパラメータ生成器270によって生成され、信号239を介してメッシュキーコンパレータに提供されるメッシュキーと比較し得る。比較が2つのメッシュキーの間に不一致があることを決定した場合、シーカーデバイス105-dは、発見広告を送ったデバイスが同じサービスを提供している異なるメッシュネットワークのメンバーであることを決定し得る。
【００９３】
そのような決定に応答して、シーカーデバイス105-dは、同じサービスを提供しているその現在のメッシュネットワークを離れ(たとえば、関連付けを解除する)、受信された広告に対応する異なるメッシュネットワークに加わることを決め得る。この決定は、任意の適した基準(たとえば、演繹的に)に基づき得る。シーカーデバイス105-dの現在のメッシュネットワークの他のメンバーデバイスが同様に構成され、同じ基準を適用する場合、現在のメッシュネットワークのデバイスのすべては、異なるメッシュネットワークを離れ、それに加わることを最終的に決め得る。代替的に、現在のメッシュネットワークのメンバーからの広告に応答して、異なるメッシュネットワークのメンバーデバイスのすべては、シーカーデバイス105-dの現在のメッシュネットワークを離れ、それに加わることを最終的に決め得る。いずれの場合も、断片化(同じサービスを提供する重複のメッシュネットワークの数)は、そのような合併によって低減され得る。
【００９４】
共通グループキーを使用する実施形態では、メッシュキーは、共通グループキー、現在のナンス、およびあらかじめ決定されたテキストを使用して生成され得る。時間とともに、シーカーデバイス105-dは、現在のナンスに対する更新を受信し得る。そのような場合、更新されたメッシュキーは、共通グループキー、現在のナンスに対する更新、およびあらかじめ決定されたテキストを使用して生成され得る。さらに、デバイス105-dは、共通グループキーに対する更新を受信し得る。そのような場合、更新されたメッシュキーは、共通グループキーに対する更新、現在のナンス、およびあらかじめ決定されたテキストを使用して生成され得る。
【００９５】
図2Eは、様々な実施形態による、シーカーデバイス105-eを示すブロック図200-eである。シーカーデバイス105-eは、図1、図2A、図2B、図2C、および/または図2Dを参照しながら説明したワイヤレス通信デバイス105ならびにメンバーデバイス115のうちの1つもしくは複数の態様の一例であり得る。デバイス105-eはプロセッサでもあり得る。デバイス105-eは、受信機モジュール205-d、通信管理モジュール210-d、および送信機モジュール215-dを含み得る。これらの構成要素の各々は、互いに通信してもよい。
【００９６】
デバイス105-eの構成要素は、個別にまたは集合的に、適用可能な機能の一部または全部をハードウェアで実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、それらの機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実行され得る。他の実施形態では、当技術分野で知られている任意の方法でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ中に記憶された命令を用いて実装され得る。
【００９７】
受信機モジュール205-dおよび送信機モジュール215-dは、(たとえば、それぞれ信号242および248を介して)図2A、図2B、図2C、および/または図2Dを参照しながら前に説明した動作を実行するように構成され得る。通信管理モジュール210-dは、デバイス識別モジュール220-c、認証モジュール225-c、および暗号化/解読モジュール230-cを含み得る。
【００９８】
通信管理モジュール210-dは、(たとえば、信号242、244、246および248、ならびに内部信号(図示せず)を介して)図2A、図2B、図2C、および/または図2Dを参照しながら上記で説明した様々な動作/機能を実行するように構成され得る。さらに、シーカーデバイス105-eまたは通信管理モジュール210-dは、そのような機能を実行するためのプロセッサを含み得る。デバイス識別モジュール220-c(たとえば、信号244-aおよび246-aを介して)および暗号化/解読モジュール230-c(内部信号(図示せず)を介して)も、図2A、図2B、図2C、および/または図2Dを参照しながら上記で説明した動作を実行するように構成され得る。
【００９９】
また、認証モジュール225-cは、(たとえば、信号244-bおよび246-bを介して)図2A、図2B、図2C、および/または図2Dを参照しながら上記で説明した動作を実行するように構成され得る。認証モジュール225-cは、乱数生成器280、カウンタ285、共通グループキー生成器290、および/または共通グループキー決定サブモジュール295を含み得る。これらのモジュールの各々は、その間に信号を運ぶバス275を介して相互接続され得、認証モジュール225-cによって制御され得る。認証モジュール225-aは、したがって、後述するように追加の機能を提供し得る。
【０１００】
上述のように、シーカーデバイス105-eは、単一の認証手続きの一部として共通グループキーを(信号224-bを介して)受信し得る。共通グループキーは、既存のメッシュネットワーク110のすべてのメンバーデバイス115によって所有される。したがって、シーカーデバイス105-eが既存のメッシュネットワーク110に加わったとき、デバイス105-eおよび他のメンバーデバイス115-a〜115-iのすべては、メッシュネットワーク110内の安全な通信のために共通グループキーを使用し得る。
【０１０１】
いくつかの実施形態では、共通グループキーは、有効期限値を含み得る。これは、(たとえば、メッシュネットワークの非メンバーが応答アタックによって共通グループキーを発見する可能性を低減することによって)メッシュネットワーク110の向上したセキュリティを提供するのを助け得る。共通グループキーが期限切れになるので、たとえば、その有効期限の直前に、既存の共通グループキーを交換するために、新しい共通グループキー(同じくある時点で期限切れになる)が生成されなければならない。したがって、メッシュネットワーク110の共通グループキーの管理は、この特徴を実装するために必要である。次に、そのような管理の一例について説明する。
【０１０２】
共通グループキーの有効期限値に達する前に、デバイス105-eは、乱数からあらかじめ決定された数までのカウントダウンを開始し得る。したがって、有効期限前に、乱数生成器280は、カウントダウンのための乱数を生成するよう乱数生成器に指示する信号を、バス275を介して認証モジュール225-cから受信し得る。カウンタ285は、バス275を介して生成された乱数を受信し、次いで、生成された乱数からカウントダウンを実行し得る。カウンタがあらかじめ決定された数に達すると、認証モジュール225-cは、共通グループキー生成器に新しい共通グループキーを生成させる旨の指示をバス275を介して送り得る。次いで、デバイス105-eは、メッシュネットワーク110を介して他のメンバーデバイス115に安全な方法で新しい共通グループキーを送り得る。
【０１０３】
同様に、メッシュネットワーク110の他のメンバーデバイス115は、乱数からあらかじめ決定された数までのカウントダウンを開始し得る。カウントダウンの開始の数字は、各個々のメンバーデバイス115ごとにランダムに生成されるので、各メンバーデバイスは、異なるカウントダウン時間を有する可能性が最も高い。目的は、メッシュネットワーク110のデバイスのうちの1つによって生成され、メッシュネットワークのすべての他のデバイスに安全に配布される新しい共通グループキーを1つのみ有することであり得る。したがって、ひとたびデバイスのうちの1つが新しい共通グループキーを生成すると、他のデバイスは、(たとえば、それらのカウントダウンを中止することによって)配布のためにそれら自体の新しい共通グループキーを生成するプロセスをやめ得る。
【０１０４】
たとえば、メンバーデバイスのうちの1つまたは複数のカウントダウン時間がシーカーデバイス105-eのカウントダウン時間未満である場合、シーカーデバイス105-eは、デバイス105-eのカウンタ285があらかじめ決定された数に達する前に、おそらくメンバーデバイス115のうちの1つから新しい共通グループキーを(信号242を介して)受信する。そのような場合、信号244-bを介して新しい共通グループキーを受信すると、認証モジュール225-cは、カウンタ285に、カウントダウンを中止させる旨の指示をバス275を介して送り得る。したがって、共通グループキー生成器は、新しい共通グループキーを生成するように指示されない場合がある。次いで、デバイス105-eは、現在の共通グループキーを受信された新しい共通グループキーと置き換え得る。
【０１０５】
しかしながら、メッセージが届く伝搬時間の差が存在し得るので(たとえば、遅延により)、メンバーデバイス115のうちの1つからデバイス105-eに新しい共通グループキーを提供するメッセージは、実際は、生成された第1の新しい共通グループキーではない可能性がある。そのような場合、デバイス105-eは、異なるメンバーデバイス115から、別の新しい共通グループキーを受信し得る。第2の(または第3、第4など)新しい共通グループキーのそのような受信は、第2の(または第3、第4など)新しい共通グループキーが第1の新しい共通グループキーを受信するあらかじめ決定された時間内に受信されることを要求することによって制限され得る。
【０１０６】
デバイス105-eが第1の新しい共通グループキーを受信するあらかじめ決定された時間内に、第2の(または第3、第4など)新しい共通グループキーがシーカーデバイス105-eによって受信される場合、共通グループキー決定サブモジュール295は、バス275を介して両方のキーを受信し、受信された新しい共通グループキーのうちどちらが有効か(および、現在の共通グループキーを置き換えるために使用されるべきか)を決定し得る。たとえば、共通グループキー決定サブモジュール295は、1つまたは複数の抑制基準を使用してその決定を行うことができる。抑制基準は、たとえば、対応する生成デバイスの、より高いMACアドレス、メッシュネットワーク110におけるセキュリティなど、1つの要因または複数の要因の組合せに基づき得る。メッシュネットワーク110のすべてのデバイスは、同じ抑制基準を適用するように構成され得る。
【０１０７】
新しい共通グループキーが、メッシュネットワーク110全体にわたって安全に配布されるために、メンバーデバイスは、本明細書で説明する認証手続きの1つまたは複数の態様を使用するように構成され得る。新しい共通グループキーを生成したメンバーデバイスは、まもなく期限切れになる現在の共通グループキーを使用して保護されるメッセージを介して、その隣接するデバイス(たとえば、シングルホップ内)に通知することができる。各隣接するデバイスは、このメンバーデバイスに関する認証を単独で実行し、認証が成功すると、新しい共通グループキーを受信し得る。依然として送信中であり得るまもなく期限切れになる共通グループキー(たとえば、メッセージ、ビデオなど)を利用した任意のトラフィックの配信を可能にするために、新しい共通グループキーを受信した後でさえ、まもなく期限切れになる共通グループキーは、メッシュネットワーク110の各デバイスで有効なままであり得る。
【０１０８】
図3は、様々な実施形態によるデバイス105-fを示すブロック図300である。デバイス105-fは、デバイス105-fの実際の使用に応じて、本明細書で説明するように、シーカーデバイスとして、またはメンバーデバイスとして動作し得る。一構成では、メンバーデバイス115は、広告主デバイスと呼ばれ得る。シーカーデバイス105-fは、メッシュネットワーキングを介して所望のサービスを取得するための発見プロセスに関与するように構成され得る。したがって、デバイス105-fは、それぞれ図1、図2A、図2B、図2C、図2D、および/または図2Eのシーカーデバイス105および/または広告主デバイス115とすることができる。デバイス105-fは、パーソナルコンピュータ(たとえば、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータなど)、セルラー電話、PDA、デジタルビデオレコーダ(DVR)、インターネットアプライアンス、ゲームコンソール、電子リーダーなど、様々な構成のいずれかを有し得る。デバイス105-fは、モバイル動作を容易にするために、小型バッテリなどの内部電源(図示せず)を有し得る。
【０１０９】
図示した構成では、デバイス105-fは、1つまたは複数のアンテナ310と、トランシーバモジュール315と、通信管理モジュール320と、メモリ325と、プロセッサモジュール335と、デバイス識別モジュール340と、認証モジュール345と、暗号化/解読モジュール350とを含み、各々は(たとえば、1つまたは複数のバス355を介して)互いに直接または間接的に通信中であり得る。トランシーバモジュール315は、上述のように、アンテナ310に送られ、それから受信される信号312を介して双方向に通信するように構成される。たとえば、トランシーバモジュール315は、図1、図2A、図2B、図2C、図2D、および/または図2Eの他のデバイス105および/または115と双方向に通信するように構成され得る。トランシーバモジュール315は、前に説明したように、図2A、図2B、図2C、図2D、および/または図2Eの受信機モジュール205および送信機モジュール215を含み得る。一実施形態では、トランシーバモジュール315は、パケットを変調し、変調されたパケットを送信のためにアンテナ310に与え、アンテナ310から受信されたパケットを復調するように構成されたモデムをさらに含み得る。デバイス105-fは単一のアンテナを含み得るが、通常、複数のリンクのための複数のアンテナ310を含む。
【０１１０】
メモリ325は、ランダムアクセスメモリ(RAM)と読出し専用メモリ(ROM)とを含んでもよい。メモリ325は、実行されると、本明細書で説明する様々な機能(たとえば、音声および/またはビデオストリーム、グラフィックリソース、および/またはレンダリング命令の識別/決定/取得、受信、送信など)をプロセッサモジュール335に実行させるように構成される命令を含む、コンピュータ可読のコンピュータ実行可能ソフトウェアコード330を記憶してよい。あるいは、ソフトウェア330は、プロセッサモジュール335によって直接実行可能ではなくてもよいが、たとえばコンパイルされ実行されるときに、本明細書で説明された機能をコンピュータに実行させるように構成されてもよい。
【０１１１】
プロセッサモジュール335は、インテリジェントハードウェアデバイス、たとえば、中央処理装置(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などを含み得る。プロセッサモジュール335は、マイクロフォンを介して音声を受信し、音声を、受信音声を表すパケット(たとえば、長さ30ms)に変換し、音声パケットをトランシーバモジュール315に供給し、ユーザが話しているかどうかの指示を供給するように構成された、音声エンコーダ(図示せず)を含み得る。代替的に、エンコーダは、トランシーバモジュール315にパケットを供給するのみでもよく、パケットの供給または保留/抑制自体が、ユーザが話しているかどうかの指示を供給する。
【０１１２】
通信管理モジュール320は、バス355を通じてデバイス105-fの他の構成要素の一部またはすべてと通信している、デバイス105-fの構成要素であり得る。代替的には、通信管理モジュール320の機能は、トランシーバモジュール315の構成要素として、コンピュータプログラム製品として、および/またはプロセッサモジュール335の1つもしくは複数のコントローラ要素として実装され得る。通信管理モジュール320は、図2A、図2B、図2C、図2D、および/または図2Eを参照しながら説明した通信管理モジュール210のうちの1つの1つまたは複数の態様の一例であり得る。
【０１１３】
デバイス識別モジュール340、認証モジュール345、および暗号化/解読モジュール350は、図2A、図2B、図2C、図2D、および/または図2Eを参照しながら説明したそれぞれのモジュール220、225および230のうちの1つの1つまたは複数の態様の一例であり得る。したがって、これらのモジュールは、様々な動作のいずれかを実行する、または本明細書で説明する機能を提供するように構成され得る。
【０１１４】
デバイス105-fの構成要素は、個別にまたは集合的に、適用可能な機能の一部または全部をハードウェアで実行するように適合された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、それらの機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実行され得る。他の実施形態では、当技術分野で知られている任意の方法でプログラムされ得る他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的または部分的に、1つもしくは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリ内で具体化された命令を用いて実装され得る。言及されたモジュールの各々は、本明細書で説明したようにデバイス105-fの動作に関係する1つまたは複数の機能を実行するための手段であり得る。
【０１１５】
図4は、図1を参照しながら上記で説明したように、シーカーデバイス、たとえばワイヤレス通信デバイス105-gと、広告主デバイス115-a(すなわち、メンバーデバイス)との間の通信の一例を示すメッセージ流れ図400である。シーカーデバイス105-gも、図2A、図2B、図2C、図2D、図2E、および/または図3のデバイス105の一例であり得る。広告主デバイス115は、図2A、図2B、図2C、図2D、図2E、および/または図3に示すデバイス115の一例であり得る。
【０１１６】
一構成では、シーカーデバイス105-gおよび広告主デバイス115-aは、図4に405で示されるように、シーカーデバイス105-gによって望まれるサービスおよび既存のメッシュネットワーク110(広告主デバイス115-aを含む)が見つかるように通信し得る。シーカーデバイス105-gおよび広告主デバイス115-aは、図4に410で示されるように、認証手続きに関与することに同意し得る。認証手続き410は、本明細書で説明する4ウェイハンドシェイクの実装形態であり得る。したがって、図示のように、認証手続き410は、第1のメッセージ415、第2のメッセージ420、第3のメッセージ425、および第4のメッセージ430を含み得、その各々は、4ウェイハンドシェイクの対応するメッセージの態様を伴い得る。認証手続き410が正常に完了すると、シーカーデバイス105-gは、既存のメッシュネットワーク110に加わり、デバイス105-gがメッシュネットワーク110を介して通信435を送受信できるようにするための共通グループキーを所有し得る。認証手続き410を続行するための合意に達するために、多数のメッセージがシーカーデバイス105-gと広告主デバイス115-aとの間の交渉に関与していること、および405が実際に行われ得る通信の代表にすぎないことを、当業者は諒解されよう。
【０１１７】
図5は、たとえばそれによって1つまたは複数のサービスを取得するために、メッシュネットワークを介した通信のためにシーカーデバイス105によって実行される方法500の一実施形態を示すフローチャートである。明快のために、方法500について、図1に示される構成100に関して、ならびに/または図1、図2A、図2B、図2C、図2D、図2E、図3、および/または図4を参照しながら説明したシーカーデバイス105のうちの1つ、およびメンバーデバイス115のうちの1つに関して以下で説明する。一実装形態では、図2A、図2B、図2C、図2D、図2E、および/または図3を参照しながら説明した通信管理モジュール210は、以下で説明する機能を実行するために、シーカーデバイス105の機能要素を制御するための1つまたは複数のコードのセットを実行し得る。
【０１１８】
一実施形態では、ブロック505で、デバイス105は、既存のメッシュネットワーク110の複数のメンバーデバイス115から1つのメンバーデバイスを識別し得る。識別されたメンバーデバイスは、デバイス105が所望のサービスを見つけるのを助けたメンバーデバイスでもよい。ブロック510で、デバイス105は、単一の認証手続きに関与するために識別されたメンバーデバイス115-aと通信し得る。単一の認証手続きが正常に完了した場合、デバイス105は、既存のメッシュネットワーク110に加わるために、別のメンバーデバイス115とのいかなる追加の認証手続きも必要とすることなく、既存のメッシュネットワーク110に加わり得る。
【０１１９】
したがって、方法500は、デバイスが既存のメッシュネットワークに加わるためのピアリングを簡略化するために使用され得る。上述したように、既存のメッシュネットワークのデバイスとのピアリングのために交換されるメッセージの数が低減し得る。さらに、既存のメッシュネットワークの個々のメンバーデバイスの各々とのピアリングは、デバイスが加わるために必要でない。方法500は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【０１２０】
図6は、たとえばそれによって1つまたは複数のサービスを取得するために、メッシュネットワークを介した通信のためにシーカーデバイスによって実行される方法600の別の実施形態を示すフローチャートである。明快のために、方法500について、図1に示される構成100に関して、ならびに/または図1、図2A、図2B、図2C、図2D、図2E、図3、および/または図4を参照しながら説明したシーカーデバイス105のうちの1つ、および/もしくはメンバーデバイス115のうちの1つに関して以下で説明する。一実装形態では、図2A、図2B、図2C、図2D、図2E、および/または図3を参照しながら説明した通信管理モジュール210は、以下で説明する機能を実行するために、シーカーデバイス105の機能要素を制御するための1つまたは複数のコードのセットを実行し得る。
【０１２１】
一実施形態では、ブロック605で、デバイス105は、既存のメッシュネットワーク110の前に識別されたデバイス115に、認証要求を送り得る。ブロック610で、デバイス105は、前に識別されたメンバーデバイス115-aから認証応答を受信し得る。次に、ブロック615で、PMKが生成され得る。次いで、ブロック625で、PTKが生成され得る。次に、ブロック625で、デバイス105は、関連付け要求をメンバーデバイス115-aに送り得る。上述したように、関連付け要求は、デバイス105によって生成されたMICを含み得る。ブロック630でMICが正しくない(たとえば、認証手続きの一部としてメンバーデバイス115によって生成されたMICに一致しない)場合、方法600は、ブロック635に進み、デバイス105は、関連付け拒否メッセージを受信し得る。したがって、MICが正しくない場合、デバイス105は、既存のメッシュネットワーク110に加わることができない場合がある。
【０１２２】
一方、デバイス105によって生成されたMICが正しい(たとえば、メンバーデバイス115によって生成されたMICに一致する)場合、方法600は、ブロック640にジャンプすることができ、デバイス105は、共通グループキーを含む関連付け応答を受信し得る。したがって、MICが正しい場合、デバイス105は、メッシュネットワーク110の他のメンバーデバイスとのピアリング、またはそれに関する任意の追加の認証を実行することなく、既存のメッシュネットワーク110に加わり得る。
【０１２３】
したがって、方法600は、デバイスが既存のメッシュネットワークに加わるためのピアリングを簡略化するために使用され得る。方法600は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【０１２４】
図7は、たとえばそれによって1つまたは複数のサービスを取得するために、メッシュネットワークを介した通信のためにシーカーデバイスによって実行される方法700の一実施形態を示すフローチャートである。明快のために、方法700について、図1に示される構成100に関して、ならびに/または図1、図2A、図2B、図2C、図2D、図2E、図3、および/または図4を参照しながら説明したシーカーデバイス105のうちの1つ、および/もしくはメンバーデバイス115のうちの1つに関して以下で説明する。一実装形態では、図2A、図2B、図2C、図2D、図2E、および/または図3を参照しながら説明した通信管理モジュール210は、以下で説明する機能を実行するために、シーカーデバイス105の機能要素を制御するための1つまたは複数のコードのセットを実行し得る。
【０１２５】
一実施形態では、ブロック705で、デバイス105は、共通グループキーを受信し得る。ブロック710で、デバイス105は、たとえば、共通グループキー、現在のナンス、およびあらかじめ決定されたテキストを使用してメッシュキーを生成し得る。デバイス105がブロック715で情報の更新を受信した場合、方法700は、ブロック720に進み得、デバイス105は、更新情報を使用して更新を実行し得る。いくつかの実施形態では、受信された更新情報は、現在のナンスに対する更新を含み得る。そのような場合、デバイス105は、共通グループキー、現在のナンスに対する更新、およびあらかじめ決定されたテキストを使用して、更新されたメッシュキーを生成し得る。代替または追加として、受信された更新情報は、共通グループキーに対する更新を含み得る。そのような場合、デバイス105は、共通グループキーに対する更新、現在のナンス、およびあらかじめ決定されたテキストを使用して、更新されたメッシュキーを生成し得る。ブロック715および720での動作は随意であり、特定の実装では含まれない可能性があることを理解されたい。
【０１２６】
デバイス105が更新を完了した後(ブロック715および720が含まれるとき)、方法は、(ブロック715および720が含まれないとき、ブロック710から直接)ブロック725に進み得る。また、デバイス105がブロック715で情報の更新を受信しない場合、方法700は、ブロック725にジャンプし得る。ブロック725で、デバイス105は、隣接したデバイス(たとえば、範囲内のデバイス)からメッシュキーを含む発見メッセージを受信し得る。次に、ブロック730で、デバイス105は、生成されたメッシュキーを発見メッセージに含まれるメッシュキーと比較し得る。次いで、比較の結果に基づいて、デバイス105は、既存のメッシュネットワークと同じサービスを提供するための別のメッシュネットワークが存在するかどうかを決定し得る。たとえば、デバイス105は、隣接したデバイスが、(デバイス105がメンバーである)既存のメッシュネットワーク110が提供する1つまたは複数のサービスを提供する異なるメッシュネットワークの一部であることを決定し得る。
【０１２７】
上述したように、そのような決定に基づいて、デバイス105は、その現在のメッシュネットワークを離れ(たとえば、関連付けを解除する)、異なるメッシュネットワークに加わり得る。上記で説明したように、方法700は、そのような合併によって断片化を低減する影響を有し得る(時間とともに)。したがって、方法700は、メッシュネットワーキングにおける断片化に対処するために使用され得る。方法700は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【０１２８】
図8は、たとえばそれによって1つまたは複数のサービスを取得する(または提供する)ために、メッシュネットワークを介した通信のためにデバイスによって実行される方法800の別の実施形態を示すフローチャートである。明快のために、方法800について、図1に示される構成100に関して、ならびに/または図1、図2A、図2B、図2C、図2D、図2E、図3、および/または図4を参照しながら説明したシーカーデバイス105のうちの1つ、および/もしくはメンバーデバイス115のうちの1つに関して以下で説明する。一実装形態では、図2A、図2B、図2C、図2D、図2E、および/または図3を参照しながら説明した通信管理モジュール210は、以下で説明する機能を実行するために、シーカーデバイス105の機能要素を制御するための1つまたは複数のコードのセットを実行し得る。
【０１２９】
一実施形態では、ブロック805で、デバイス105は、共通グループキーを受信し得る。この例では、共通グループキーは、有効期限値を含む。したがって、ある時点で、または、一定の時間間隔の経過後、共通グループキーは期限切れになる。次に、ブロック810で、デバイス105は、共通グループキーの有効期限が近付くにつれて、カウントダウンを開始し得る。上述したように、カウントダウンは、乱数からあらかじめ決定された数までであり得る。
【０１３０】
ブロック815で、デバイスは、それがメッシュネットワーク110の別のデバイス115から新しい共通グループキーを受信したかどうかを決定し得る。そうでない場合、デバイス105は、ブロック820で、あらかじめ決定された数に達したかどうかを決定し得る。そうでない場合、方法はブロック815に戻り得る。そうである場合、デバイス105は、ブロック825で、新しい共通グループキーを生成し得る。次いで、ブロック830で、デバイスは、メッシュネットワークを介してメッシュネットワーク110の他のメンバーデバイスに安全な方法でその新しい共通グループキーを送り得る。
【０１３１】
デバイス105がメッシュネットワーク110の別の装置115から新しい共通グループキー(たとえば、第1の)を受信した場合、方法800は、ブロック815からブロック835にジャンプし得る。ブロック835で、デバイス105は、デバイス105が新しい共通グループキー(第1の受信された新しい共通グループキー)を受信したとき以来、あらかじめ決定された時間が経過したかどうかを決定し得る。そうである場合、方法800はブロック840に進み得、デバイス105はそのカウントダウンを停止/中止し得る。次いで、ブロック845で、デバイス105は、新しい共通グループキー(第1のおよび唯一受信された)に対する更新を行うことができる。
【０１３２】
あらかじめ決定された時間が経過しなかった場合、方法800は、ブロック835からブロック850にジャンプし得る。ブロック850で、デバイス105は、それがメッシュネットワーク110の別のデバイス115から新しい共通グループキー(たとえば、第2の)を受信したかどうかを決定し得る。そうでない場合、方法800は、ブロック835に戻り得る。そうである場合、方法800はブロック855に進み得、デバイス105は、デバイス105が新しい共通グループキー(第1の受信された新しい共通グループキー)を受信したとき以来、あらかじめ決定された時間が経過したかどうかを再度決定し得る。そうでない場合、方法はブロック850に戻り得る。そうである場合、方法800はブロック860に進み得、デバイス105は、それが受信した新しい共通グループキーのうちどちらが有効であるか(たとえば、1つまたは複数の抑制基準を使用して)を決定する。次いで、ブロック865で、デバイス105は、有効な新しい共通グループキーに対する更新を行うことができる。
【０１３３】
図示されていないが、方法800が、デバイス105がその新しい共通グループキーを生成した、または送ったとき以来、あらかじめ決定された時間が経過する前に、デバイス105によって受信された1つまたは複数の新しい共通グループキーとそれ自体の生成された新しい共通グループキーとの間の評価を含み得ることを理解されたい。
【０１３４】
したがって、方法800は、共通グループキーが有効期限を含むメッシュネットワークの共通グループキーを管理するために使用され得る。方法800は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【０１３５】
上記の方法が相互排他的でなく、所望の実装形態を達成するために適切または望ましいように互いに結合され得る(部分的に、または全体的に)ことを理解されたい。
【０１３６】
上記の説明は例を提供するものであり、特許請求の範囲に記載した範囲、適用可能性、または構成を限定するものではない。本開示の趣旨および範囲から逸脱することなく、論じられる要素の機能および構成において変更を行うことができる。種々の実施形態は、種々の手続きまたは構成要素を必要に応じて省略、置換、または追加することができる。たとえば、説明される方法は、説明される順序とは異なる順序において実行することができ、種々のステップを追加するか、省略するか、または組み合わせることができる。また、いくつかの実施形態に関して説明される特徴は、他の実施形態において組み合わせることができる。以下の説明は、DTXおよび間欠送信という用語を交換可能に使用する。
【０１３７】
添付の図面に関連して上述した詳細な説明は、例示的な実施形態を説明し、特許請求の範囲内で実装され得る、または特許請求の範囲内にある実施形態のみを表してはいない。この明細書全体にわたって使用される「例示的」という用語は、「例、事例、または例示として機能すること」を意味し、「好ましい」または「他の実施形態よりも有利である」ことを意味しない。詳細な説明は、説明した技術の理解を提供する目的のための具体的な詳細を含む。しかしながら、これらの技法は、これらの具体的な詳細を伴わずに実践され得る。場合によっては、説明した実施形態の概念を曖昧にするのを回避するために、よく知られている構造およびデバイスはブロック図の形態で示されている。
【０１３８】
様々な異なる技術および技法のうちのいずれかを使用して、情報および信号が表されてもよい。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、記号、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光粒子、またはそれらの任意の組合せによって表されることがある。
【０１３９】
本明細書における開示に関連して説明した様々な例示的なブロックおよびモジュールは、本明細書で説明した機能を実行するように設計された、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア要素、またはそれらの組合せを用いて実装または実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せとして、たとえば、DPSとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されてもよい。
【０１４０】
本明細書に記載の機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装されてもよい。機能は、プロセッサによって実行されるソフトウェアに実装される場合、コンピュータ可読媒体上に記憶されても、あるいは1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に送信されてもよい。他の例および実装形態は、本開示および添付の特許請求の範囲の範囲および要旨内にある。たとえば、ソフトウェアの性質に起因して、上記で説明した機能は、プロセッサによって実行されるソフトウェア、ハードウェア、ファームウェア、ハード配線、またはそれらのいずれかの組合せを使用して実装される場合がある。機能を実装する特徴はまた、機能の一部が異なる物理的ロケーションで実装されるように分散された状態を含め、様々な位置に物理的に位置していてもよい。また、特許請求の範囲を含めて本明細書で使用する場合、「のうちの少なくとも1つ」によって先行される項目の列挙で用いられる「または」は、たとえば、「A、B、またはCのうちの少なくとも1つ」という列挙が、AまたはBまたはCまたはABまたはACまたはBCまたはABC(すなわち、AおよびBおよびC)を意味するように、選言的な列挙を示す。
【０１４１】
コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムの1つの場所から別の場所への転送を容易にする任意の媒体を含む通信媒体の両方を含む。ストレージ媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であってもよい。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態の所望のプログラムコード手段を搬送もしくは記憶するために使用することが可能であり、かつ汎用もしくは専用コンピュータまたは汎用もしくは専用プロセッサによってアクセスすることが可能である、任意の他の媒体を備えることができる。また、任意の接続をコンピュータ可読媒体と呼んで問題ない。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合には、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ディスク(disk)およびディスク(disc)は、本明細書において使用されるときに、コンパクトディスク(disc)(「CD」)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フレキシブルディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
【０１４２】
本開示の上記の説明は、当業者が本開示を製作または使用することを可能にするために提供される。本開示に対する様々な修正は、当業者には容易に明らかになり、本明細書で定義された一般的な原理は、本開示の要旨または範囲から逸脱することなく他の変形形態に適用されてもよい。本開示全体にわたって、「例」または「例示的」という用語は、例または事例を示すものであり、述べられた例に対する選好を何ら暗示せず、または要求しない。したがって、本開示は、本明細書で説明した例および設計に限定されず、本明細書で開示した原理および新規な特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【０１４３】
100  構成
105  シーカーデバイス
110  メッシュネットワーク
115  ノードデバイス
120  通信リンク
125  外部ネットワーク
205  受信機モジュール
206  信号
208  信号
210  通信管理モジュール
215  送信機モジュール
220  デバイス識別モジュール
225  認証モジュール
230  暗号化/解読モジュール
235  ナンス生成器
240  パブリック値生成器
245  パスワード要素生成器
250  PMK(ペアワイズマスターキー)生成器
255  PTK(ペアワイズ一時キー)生成器
260  MIC(メッセージ完全性コード)生成器
265  MICチェッカ
270  バス
270  メッシュキーパラメータ生成器
275  メッシュキーコンパレータ
280  乱数生成器
285  カウンタ
290  共通グループキー生成器
295  共通グループキー決定サブモジュール
310  アンテナ
315  トランシーバモジュール
320  通信管理モジュール
325  メモリ
330  ソフトウェア
335  プロセッサモジュール
340  デバイス識別モジュール
345  認証モジュール
350  暗号化/解読モジュール
355  バス
410  認証手順
415  第1のメッセージ
420  第2のメッセージ
425  第3のメッセージ
430  第4のメッセージ
435  通信
【図１】
0006571676.tif 000002
【図２Ａ】
0006571676.tif 000003
【図２Ｂ】
0006571676.tif 000004
【図２Ｃ】
0006571676.tif 000005
【図２Ｄ】
0006571676.tif 000006
【図２Ｅ】
0006571676.tif 000007
【図３】
0006571676.tif 000008
【図４】
0006571676.tif 000009
【図５】
0006571676.tif 000010
【図６】
0006571676.tif 000011
【図７】
0006571676.tif 000012
【図８】
0006571676.tif 000013