以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
図1は、本実施の形態に係る通信システムの構成例を示す。本実施の形態の通信システムは、本実施の形態に係る無線通信装置100および無線通信装置200を備える。無線通信装置100および無線通信装置200の適用先は、スマートフォン、タブレット、パソコン、ブルーレイディスクレコーダ、テレビ、ゲーム機、音楽プレーヤ、ドングル、アクセスポイント、ルータ、などが挙げられる。なお、ドングルは、例えば、USB(Universal Serial Bus)などのインターフェースにより所定の装置に着脱可能なデバイスである。
また、無線通信装置100と無線通信装置200はそれぞれ、Wi−Fiを用いた通信(以下、適宜「Wi−Fi通信」という)、および、WiGigを用いた通信(以下、適宜「WiGig通信」という)の両方の通信方式を搭載する。よって、無線通信装置100と無線通信装置200は、それぞれ、「Wi−Fi通信」、および、「WiGig通信」のいずれかにより無線通信を行うことができる。例えば、無線通信装置100と無線通信装置200のそれぞれにおいて、ユーザは、用途に応じてWi−Fi通信とWiGig通信とを切り替えて使用することができる。
以下では、無線通信装置100が、無線通信装置200との間で、Wi−Fi通信を行うために、通信設定としてWPSを行う場合を、一例として説明する。Wi−Fiは、2.4GHz帯の802.11b/g/nを例とする。また、この場合の例は、ユーザ2名がそれぞれ所有する2台の無線通信装置の間で、Wi−Fi通信を用いて動画や写真などのデータの送受信を行う際、無線接続のための通信設定を事前に行う、といった場面が挙げられる。
<無線通信装置100の構成>
図1において、無線通信装置100は、演算部102、記憶部103、通信部104、表示部105、および操作部106を有する。
演算部102は、例えば、電源、マザーボード、CPU(Central Processing Unit)、制御プログラムを格納したROM(Read Only Memory)などの記録媒体、およびRAM(Random Access Memory)などの作業用メモリなどで構成される。
そして、本実施の形態において、演算部102は、設定開始部107、機器探索部109、接続部110、通信設定判断部111、秘密鍵共有部112、設定情報交換部113、および切断部114を有する。これら各部の機能は、CPUが制御プログラムを実行することにより実現される。各部の詳細は後述する。
なお、演算部102は、SoC(System on a Chip)のように、1つの半導体チップ上に集積した集積回路で構成されてもよい。その場合、演算部102の各部は、個別に1チップ化してもよいし、複数で1チップ化してもよい。集積回路は、集積度の違いにより、LSI(Large Scale Integration)、IC(Integrated Circuit)、システムLSI、スーパーLSI、またはウルトラLSI等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現するものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、または、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。さらに、演算部102の各部は、半導体技術の進歩または派生する別技術に応じて、LSIに置き換わる他の集積回路化の技術(例えばバイオ技術)により集積化されたものにより実現されてもよい。
記憶部103は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどの不揮発性の記憶媒体である。記憶部103は、オペレーティングシステムおよびアプリケーションなどのソフトウェア、ならびに、パラメータとしての各種情報を記憶している。なお、上記ソフトウェアは、演算部102のメモリにロードされ、CPUで演算処理されることで、起動、動作する。
そして、本実施の形態において、記憶部103は、設定情報115および自装置情報116を有する。これらの情報の詳細は後述する。
通信部104は、無線通信装置200との間で、Wi−Fi通信およびWiGig通信を実現するためのインターフェースである。上述した通り、通信部104は、Wi−Fi通信とWiGig通信を切り替えることができる。また、通信部104は、無線通信装置200との間で、WPSおよびWPA(WPA2も含む)を実現するためのインターフェースでもある。WPA2とは、Wi−Fiアライアンスが定めた無線LANの暗号化方式の規格であり、WPAより強力な暗号に対応している。
表示部105は、例えば、液晶ディスプレイなどの表示用デバイスである。なお、この表示部105は、必須の構成でなくてもよい。
操作部106は、例えば、キーボード、マウス、ハードウェアのボタン、タッチパネルなどの、ユーザの操作を受け付ける入力用デバイスである。
ここで、演算部102が備える、設定開始部107、機器探索部109、接続部110、通信設定判断部111、秘密鍵共有部112、設定情報交換部113、および切断部114について、それぞれ説明する。
設定開始部107は、操作部106から通信設定開始要求を入力する。なお、操作部106は、ユーザから通信設定の開始を要求する操作を受け付けると、通信設定開始要求を生成し、設定開始部107へ出力する。通信設定は、この通信設定開始要求の出力をトリガとして、開始する。
設定開始部107は、通信設定開始要求の入力をトリガとして、記憶部103から設定情報115および自装置情報116を読み出す。「設定情報115」は、後述する設定情報115aおよび設定情報115bの少なくとも一方を含むことを意味する呼称である。設定情報115および自装置情報116の詳細は後述する。
設定開始部107は、読み出した設定情報115および自装置情報116を機器探索部109へ出力する。
機器探索部109は、設定開始部107から、設定情報115および自装置情報116を入力する。
<STA動作の説明>
ここで、まず、無線通信装置100がSTAである場合の動作について説明する。この場合、機器探索部109は、周辺のAPが送信するビーコンを探すためのスキャンを行う。このビーコンは、WPS用と識別できるビーコン(以下、WPS用ビーコンという)である。なお、WPS用ビーコンの詳細については、図7を用いて後述する。
スキャンの結果、一定期間にWPS用ビーコンを受信しなかった場合、機器探索部109は、再度スキャンを実行する。
一方、スキャンの結果、一定期間にWPS用ビーコンを受信した場合、機器探索部109は、まず、WPS用ビーコンに含まれているパラメータに基づいて、WPS用ビーコンの送信元である通信相手の相手装置情報を生成する。この相手装置情報は、例えば、SSID(Service Set Identifier)、Wi−Fi用MAC(Media Access Control)アドレス、WiGig用MACアドレス、Device Password ID、通信周波数帯、およびロール情報を含む。例えば、WPS用ビーコンの送信元である通信相手が無線通信装置200である場合、相手装置情報は、無線通信装置200に関する内容となる。そして、機器探索部109は、生成した相手装置情報、設定情報115、および自装置情報116を、接続部110へ出力する。
<AP動作の説明>
次に、無線通信装置100がAPである場合の動作について説明する。この場合、機器探索部109は、通信部104を介して、WPS用ビーコンを周囲に送信する。そして、機器探索部109は、設定情報115および自装置情報116を、接続部110へ出力する。
接続部110は、無線通信装置100がSTAである場合とAPである場合とでそれぞれ、以下のように動作する。
<STA動作の説明>
接続部110は、無線通信装置100がSTAである場合、以下のように動作する。まず、接続部110は、機器探索部109から、相手装置情報、設定情報115、および自装置情報116を入力する。そして、接続部110は、通信部104を介して、接続要求であるProbe requestを無線通信装置200へ送信し、その応答であるProbe responseを無線通信装置200から受信する。次に、接続部110は、通信部104を介して、Authentication requestを無線通信装置200へ送信し、無線通信装置200からAuthentication responseを受信する。次に、接続部110は、通信部104を介して、Association requestを無線通信装置200へ送信し、無線通信装置200からAssociation responseを受信する。このようにして、接続部110は、通信設定を行うための接続処理を完了する。
<AP動作の説明>
接続部110は、無線通信装置100がAPである場合、以下のように動作する。まず、接続部110は、機器探索部109から、設定情報115および自装置情報116を入力する。そして、接続部110は、通信部104を介して、一定期間にProbe requestを受信しなかった場合、WPS用ビーコンの送信を再試行させる制御信号を、機器探索部109へ出力する。
一方、一定期間にProbe requestを受信した場合、接続部110は、Probe requestに含まれているパラメータに基づいて、Probe requestの送信元である通信相手の相手装置情報を生成する。この相手装置情報は、例えば、Wi−Fi用MACアドレス、WiGig用MACアドレス、Device Password ID、通信周波数帯、およびロール情報を含む。例えば、Probe requestの送信元である通信相手が無線通信装置200である場合、相手装置情報は、無線通信装置200に関する内容となる。そして、接続部110は、Probe responseを生成し、通信部104を介して、無線通信装置200へ送信する。次に、接続部110は、通信部104を介して、無線通信装置200からAuthentication requestを受信し、Authentication responseを無線通信装置200へ送信する。次に、接続部110は、通信部104を介して、無線通信装置200からAssociation requestを受信し、Association responseを無線通信装置200へ送信する。このようにして、接続部110は、通信設定を行うための接続処理を完了する。
上述したように、通信相手との接続処理が完了すると、接続部110は、相手装置情報、設定情報115、および自装置情報116を、通信設定判断部111へ出力する。相手装置情報は、上述した通り、少なくとも、Wi−Fi用MACアドレス、WiGig用MACアドレス、および通信周波数帯を含む。なお、通信相手がAPである場合は、そのSSIDも含む。なお、上記接続処理の完了は、無線通信装置100と無線通信装置200の接続が成功することを意味する。以下では、この接続が成功した場合を前提として説明をするが、接続が失敗する場合もありうる。接続が失敗した場合、接続部110は、上記接続処理の再試行を行う。
通信設定判断部111は、接続部110から、相手装置情報、設定情報115、および自装置情報116を入力する。
通信設定判断部111は、相手装置情報および設定情報115に基づいて、無線通信装置200との間で、実行を指示された通信設定以外に、未設定の通信設定があるか否かを判断する。例えば、通信設定判断部111は、Wi−Fi通信の通信設定およびWiGig通信の通信設定のうち、実行を指示された通信設定以外に、未設定の通信設定があるか否かを判断する。そして、通信設定判断部111は、無線通信装置200との間で、実行を指示された通信設定以外に、未設定の通信設定があると判断した場合、設定フラグを立てる。一方、通信設定判断部111は、無線通信装置200との間で、実行を指示された通信設定以外に、未設定の通信設定がない(全ての通信設定が設定済み)と判断した場合、設定フラグを立てない。
設定フラグが立つということは、通信設定判断部111が、無線通信装置100と無線通信装置200との間で、実行を指示された通信設定以外に、未設定の通信設定を行う必要があると判断した、ことを意味する。
また、通信設定判断部111は、設定フラグを立てた場合、その設定フラグに付随する情報として、付随情報を生成する。付随情報は、例えば、どの装置からどの装置に対して、設定情報115のパラメータのうちのどのパラメータを送るのかを示す内容である。
通信設定判断部111は、相手装置情報、設定情報115、および自装置情報116を秘密鍵共有部112へ出力する。また、通信設定判断部111は、設定フラグを設定情報交換部113へ出力する。なお、この設定フラグは、上述したように、フラグが立った場合、付随情報を含む。
秘密鍵共有部112は、通信設定判断部111から、相手装置情報、設定情報115、および自装置情報116を入力する。次に、秘密鍵共有部112は、接続相手である無線通信装置200との間で、Diffie-Hellman鍵共有方法(DH法)を用いて、秘密鍵を作成し、通信部104を介して共有する。そして、秘密鍵共有部112は、秘密鍵、相手装置情報、設定情報115、および自装置情報116を、設定情報交換部113へ出力する。
設定情報交換部113は、秘密鍵共有部112から、秘密鍵、相手装置情報、設定情報115、および自装置情報116を入力する。また、設定情報交換部113は、通信設定判断部111から、設定フラグを入力する。
次に、設定情報交換部113は、設定フラグが立っているか否かを判断する。設定情報交換部113は、判断の結果に基づいて、自装置が保持する設定情報115を無線通信装置200へ送信、および、無線通信装置200が保持する設定情報215を無線通信装置200から受信、の少なくとも一方を行う。なお、設定情報115の送信及び設定情報215の受信の両方を行うことは、「設定情報の交換」という。以下、設定情報交換部113の動作について、4つのケースに分けて説明する。
<STA動作の説明>
まず、1つ目のケースとして、無線通信装置100がSTAであり、かつ、設定フラグが立っていない場合、設定情報交換部113は、以下のように動作する。
設定情報交換部113は、APである無線通信装置200が保持する設定情報[2]を、通信部104を介して受信し、秘密鍵で復号する。設定情報[2]は、例えば、無線通信装置200がAPであり、Wi−Fi通信を実現可能な、Wi−Fi通信用設定情報(第2設定情報の一例)である。設定情報[2]は、例えば、SSID、認証方法、暗号化方法、認証鍵、Wi−Fi用MACアドレスを含む。これらのパラメータは、例えば、図2を用いて後述する、設定情報215aの313〜317である。
そして、設定情報交換部113は、通信方式毎およびSSID毎に、設定情報[2]を、設定情報115として記憶部103に保存する。この保存された設定情報115は、例えば、図2を用いて後述する、相手AP設定情報302である。この保存により、無線通信装置100をSTA、無線通信装置200をAPとするWi−Fi通信の通信設定が完了する。
次に、2つ目のケースとして、無線通信装置100がSTAであり、かつ、設定フラグが立っている場合、設定情報交換部113は、以下のように動作する。
設定情報交換部113は、付随情報に基づいて、自装置が保持する設定情報[1]を秘密鍵で暗号化する。ここで暗号化の対象となるのは、付随情報で指定されたパラメータである。設定情報[1]は、無線通信装置100をPCPとしたWiGig通信を実現可能な、WiGig通信用設定情報(第1設定情報の一例)である。設定情報[1]は、SSID、認証方法、暗号化方法、認証鍵、WiGig用MACアドレスを含む。これらのパラメータは、例えば、図3を用いて後述する、設定情報115bの413〜417である。
そして、設定情報交換部113は、暗号化した設定情報[1]を、通信部104を介して、APである無線通信装置200へ送信する。この後、無線通信装置200は、設定情報[1]を、通信方式毎およびSSID毎に、設定情報215として記憶部203に保存する。この保存された設定情報215は、例えば、図3を用いて後述する、相手PCP設定情報412である。この保存により、無線通信装置100をPCP、無線通信装置200をSTAとするWiGig通信の通信設定が完了する。
その後、設定情報交換部113は、無線通信装置200が保持する設定情報[2]を、通信部104を介して受信し、秘密鍵で復号する。そして、設定情報交換部113は、通信方式毎およびSSID毎に、設定情報[2]を、設定情報115として記憶部103に保存する。この保存された設定情報115は、例えば、図2を用いて後述する、相手AP設定情報302である。この保存により、無線通信装置100をSTA、無線通信装置200をAPとするWi−Fi通信の通信設定が完了する。
<AP動作の説明>
次に、3つ目のケースとして、無線通信装置100がAPであり、かつ、設定フラグが立っていない場合、設定情報交換部113は、以下のように動作する。
設定情報交換部113は、自装置が保持する設定情報[3]を秘密鍵で暗号化する。設定情報[3]は、例えば、無線通信装置100をAPとしたWi−Fi通信を実現可能な、Wi−Fi通信用設定情報(第3設定情報の一例)である。設定情報[3]は、例えば、SSID、認証方法、暗号化方法、認証鍵、Wi−Fi用MACアドレスを含む。これらのパラメータは、例えば、図2を用いて後述する、設定情報215aの313〜317と同様である。
そして、設定情報交換部113は、暗号化した設定情報[3]を、通信部104を介して、STAである無線通信装置200へ送信する。この後、無線通信装置200は、設定情報[3]を、通信方式毎およびSSID毎に、設定情報215として記憶部203に保存する。この保存された設定情報215は、例えば、図2を用いて後述する、相手AP設定情報302と同様である。この保存により、無線通信装置100をAP、無線通信装置200をSTAとするWi−Fi通信の通信設定が完了する。
次に、4つ目のケースとして、無線通信装置100がAPであり、かつ、設定フラグが立っている場合、設定情報交換部113は、以下のように動作する。
設定情報交換部113は、STAである無線通信装置200が保持する設定情報[4]を、通信部104を介して受信し、秘密鍵で復号する。設定情報[4]は、無線通信装置200をPCPとしたWiGig通信を実現可能な、WiGig通信用設定情報(第4設定情報の一例)である。設定情報[4]は、SSID、認証方法、暗号化方法、認証鍵、WiGig用MACアドレスを含む。これらのパラメータは、例えば、図3を用いて後述する、設定情報115bの413〜417と同様である。
そして、設定情報交換部113は、通信方式毎およびSSID毎に、設定情報[4]を、設定情報115として記憶部103に保存する。この保存された設定情報115は、例えば、図3を用いて後述する、相手AP設定情報412と同様である。この保存により、無線通信装置200をPCP、無線通信装置100をSTAとするWiGig通信の通信設定が完了する。
その後、設定情報交換部113は、自装置が保持する設定情報[3]を秘密鍵で暗号化する。そして、設定情報交換部113は、暗号化した設定情報[3]を、通信部104を介して無線通信装置200へ送信する。この送信後、設定情報[3]は無線通信装置200に保存される。この保存により、無線通信装置100をAP、無線通信装置200をSTAとするWi−Fi通信の通信設定が完了する。
上述したように、設定情報の送信、受信、または交換が終了すると、設定情報交換部113は、通信結果を切断部114へ出力する。通信結果は、設定情報の送信、受信、または交換に成功したかあるいは失敗したかを示す情報である。
切断部114は、設定情報交換部113から通信結果を入力する。そして、切断部114は、接続相手である無線通信装置200との間で、切断のためのメッセージを送受信する。その後、切断部114は、WPS処理結果を、例えば表示部105へ出力する。WPS処理結果は、WPSが成功したかまたは失敗したかを示す情報である。
以上で、演算部102が備える各部についての説明を終える。
続いて、記憶部103が備える、設定情報115および自装置情報116について、それぞれ説明する。
<Wi−Fi通信用設定情報の説明>
まず、図2を用いて、2.4GHz帯のWi−Fi通信を実現するための設定情報115aについて説明する。この設定情報115aは、Wi−Fi通信用設定情報ということもできる。図2は、設定情報115aのフォーマット例を示す図である。なお、図2では、設定情報215aについても図示をしているが、これについては後述する。
設定情報115aは、自機AP設定情報301と、相手AP設定情報302とで構成される。
自機AP設定情報301は、無線通信装置100がAPである場合のWPA実行時に用いられるパラメータ群である。自機AP設定情報301は、図示していないが、後述の相手AP設定情報302と同様に、パラメータとして、SSID、認証方法、暗号化方法、認証鍵、MACアドレス、および設定済みMACアドレスを含む。なお、図2では、自機AP設定情報301が未登録である場合を例としているため、パラメータ群は図示していない。
相手AP設定情報302は、無線通信装置100の通信相手がAPである場合のWPA実行時に用いられるパラメータ群である。相手AP設定情報302は、パラメータとして、SSID303、認証方法304、暗号化方法305、認証鍵306、およびMACアドレス307を含む。なお、相手AP設定情報302は、無線通信装置100との間でWPSが完了している通信相手毎に存在する。すなわち、無線通信装置100が複数の無線通信装置との間でWPSを完了している場合には、記憶部103は、無線通信装置毎に相手AP設定情報302をそれぞれ持つ。
ここで、自機AP設定情報301および相手AP設定情報302の各パラメータについて以下に説明する。なお、自機AP設定情報301の各パラメータは、図示を省略しているため、自機AP設定情報311のパラメータの符号を代用して説明する。
SSID303は、APとして動作する通信相手の識別子である。SSID313は、APとして動作する自装置の識別子である。
認証方法304、314は、WPAを行う際のプロトコルを指定する項目であり、さまざまな種類がある。図2では、例として、WPA2-personalが指定されている。
暗号化方法305、315は、WPA完了後に通信するデータを暗号化する方法を指定する項目であり、さまざまな種類がある。図2では、例として、AES−CCMPが指定されている。
認証鍵306、316は、WPA実行時の鍵認証の際に、AP側で一致を確認するデータ列である。このデータ列は、例えば、16進数である。なお、認証鍵306、316は、AP毎に異なるデータ列にするのが一般的である。
MACアドレス307、317は、無線通信装置を識別するための識別子であり、自装置や通信相手の識別および指定に用いられる。すなわち、MACアドレス307は、通信相手の識別子であり、MACアドレス317は、自装置の識別子である。
設定済みMACアドレス318は、自機AP設定情報311だけに記載される。この設定済みMACアドレス318は、自装置との間で通信設定(WPS)が済んでいる通信相手の識別子である。なお、図2において、設定済みMACアドレス318は、1つだけ図示しているが、複数の通信相手とWPSが完了している場合、設定済みMACアドレス318は複数記載される。すなわち、設定済みMACアドレス318は、新たな通信相手とWPSが完了する度に、その通信相手のMACアドレスが設定済みMACアドレス318に追加される。
このような設定情報115aは、例えば、ユーザが無線設定用アプリケーションを起動してパラメータごとに値を入力することで作成される。あるいは、設定情報115aは、例えば、WPSを実行することで得た認証鍵などを保存することで作成される。
<WiGig通信用設定情報の説明>
次に、図3を用いて、60GHz帯のWiGig通信を実現するための設定情報115bについて説明する。この設定情報115bは、WiGig通信用設定情報ということもできる。図3は、設定情報115bのフォーマット例を示す図である。なお、図3では、設定情報215bについても図示をしているが、これについては後述する。
設定情報115bは、自機PCP設定情報401と、相手PCP設定情報402とで構成される。
自機PCP設定情報401は、無線通信装置100がPCPである場合、WPA実行時に用いられるパラメータ群である。自機PCP設定情報401は、パラメータとして、SSID413、認証方法414、暗号化方法415、認証鍵416、MACアドレス417、および設定済みMACアドレス418を含む。
相手PCP設定情報402は、無線通信装置100の通信相手がPCPである場合、WPA実行時に用いられるパラメータ群である。相手PCP設定情報402は、図示していないが、後述の相手PCP設定情報412と同様に、パラメータとして、SSID、認証方法、暗号化方法、認証鍵、およびMACアドレスを含む。なお、図3では、相手PCP設定情報402が未登録である場合を例としているため、パラメータ群は図示していない。また、相手PCP設定情報402は、無線通信装置100との間でWPSが完了している通信相手毎に存在する。すなわち、無線通信装置100が複数の無線通信装置との間でWPSを完了している場合、記憶部103は、無線通信装置毎に相手PCP設定情報402をそれぞれ持つ。
ここで、自機PCP設定情報401および相手PCP設定情報402の各パラメータについて以下に説明する。なお、相手PCP設定情報402の各パラメータは、図示を省略しているため、相手PCP設定情報412のパラメータの符号を代用して説明する。
SSID413は、PCPとして動作する自装置の識別子である。SSID423は、PCPとして動作する通信相手の識別子である。
認証方法414、424は、WPAを行う際のプロトコルを指定する項目であり、さまざまな種類がある。図3では、例として、WPA2-personalが指定されている。
暗号化方法415、425は、WPA完了後に通信するデータを暗号化する方法を指定する項目であり、さまざまな種類がある。図3では、例としてAES−GCMPが指定されている。
認証鍵416、426は、WPA実行時の鍵認証の際に、PCP側で一致を確認するデータ列である。このデータ列は、例えば、16進数である。なお、認証鍵416、426は、PCP毎に異なるデータ列にするのが一般的である。
MACアドレス417、427は、無線通信装置を識別するための識別子であり、自装置や通信相手の識別および指定に用いられる。すなわち、MACアドレス417は、自装置の識別子であり、MACアドレス427は、通信相手の識別子である。
設定済みMACアドレス418は、自機PCP設定情報401だけに記載される。この設定済みMACアドレス418は、自装置との間で通信設定(WPS)が済んでいる通信相手の識別子である。なお、図3において、設定済みMACアドレス418は、1つだけ図示しているが、複数の通信相手とWPSが完了している場合、設定済みMACアドレス418は複数記載される。すなわち、設定済みMACアドレス418は、新たな通信相手とWPSが完了する度に、その通信相手のMACアドレスが設定済みMACアドレス418に追加される。
このような設定情報115bは、例えば、ユーザが無線設定用アプリケーションを起動してパラメータごとに値を入力することで作成される。あるいは、設定情報115bは、例えば、WPSを実行することで得た認証鍵などを保存することで作成される。
<自装置情報の説明>
次に、図4を用いて、自装置情報116について説明する。図4は、自装置情報116のフォーマット例を示す図である。なお、図4では、自装置情報216についても図示をしているが、これについては後述する。
自装置情報116は、自装置、すなわち無線通信装置100の無線通信の能力に関する情報である。図4の例では、自装置情報116は、無線通信の能力を示すパラメータとして、通信周波数帯1001、ロール情報1002、およびMACアドレス1005を含む。なお、このような自装置情報の構成については、Wi−FiおよびWiGigには規定はされていない。
通信周波数帯(RF Bands)1001は、無線通信装置100が、通信部104を用いて通信可能な周波数帯を示す。例えば、無線通信装置100がWi−Fiを用いて通信可能である場合、通信周波数帯は、「2.4GHz」や「5GHz」という記載である。また、例えば、無線通信装置100がWiGigを用いて通信可能である場合、通信周波数帯は、「60GHz」という記載である。図4の例では、通信周波数帯1001が「2.4GHz、60GHz」という記載である。よって、無線通信装置100は、Wi−FiおよびWiGigの両方を搭載しており、Wi−Fi通信およびWiGig通信のいずれかで通信を行うことができる。
ロール情報1002は、無線通信装置100が、Wi−Fi通信とWiGig通信のそれぞれにおいて、どのロールで動作可能であるかを示す。図4の例において、「Wi−Fi:STA動作可」という記載であるので、無線通信装置100は、Wi−Fi通信の場合、STAのみで動作する。また、図4の例において、「WiGig:PCP動作可」という記載であるので、無線通信装置100は、WiGig通信の場合、PCPのみで動作する。このように、ロール情報1002の内容を変更することで、自装置のロールは、限定することができる。
MACアドレス1005は、無線通信装置100が、Wi−Fi通信とWiGig通信のそれぞれにおいて用いるMACアドレスを示す。図4に示すように、無線通信装置100は、通信方式毎に異なるMACアドレスを使用する。Wi−Fi通信に用いるMACアドレスは、「Wi−Fi用MACアドレス」という。また、WiGig通信に用いるMACアドレスは「WiGig用MACアドレス」という。
このような自装置情報116は、ユーザが無線設定用アプリケーションを起動してパラメータごとに値を入力することで作成される。あるいは、自装置情報116は、無線デバイスのドライバやミドルウェアなどのソフトウェアをインストールすることで、自装置の記憶部に保存される。
以上で、記憶部103が備える各情報についての説明を終える。
このような無線通信装置100において、通信設定判断部111は、無線通信装置200との間で、実行を指示された通信設定以外に未設定の通信設定がある場合に、設定フラグを立てる。そして、設定情報交換部113は、設定フラグが立った場合、未設定の通信設定に関する設定情報を共有する。これにより、無線通信装置100と無線通信装置200は、実行を指示された通信設定の実行に伴って、それ以外の未設定の通信設定を実行することが可能となる。その結果、ユーザは、1つの通信設定の実行を指示するだけで、その通信設定とともに、その他の通信設定についても実行することができる。
<無線通信装置200の構成>
図1において、無線通信装置200は、演算部202、記憶部203、通信部204、表示部205、および操作部206を有する。これら各機能部は、順に、無線通信装置100の、演算部102、記憶部103、通信部104、表示部105、および操作部106と同一の機能を有する。
また、演算部202は、設定開始部207、機器探索部209、接続部210、通信設定判断部211、秘密鍵共有部212、設定情報交換部213、および切断部214を有する。これら各機能部は、順に、無線通信装置100の、設定開始部107、機器探索部109、接続部110、通信設定判断部111、秘密鍵共有部112、設定情報交換部113、および切断部114と同一の機能を有する。
したがって、無線通信装置200の構成は、無線通信装置100の構成と同一である。このため、無線通信装置200の構成についての説明は、省略する。
また、記憶部203は、設定情報215および自装置情報216を有する。これらの各情報は、順に、無線通信装置100の設定情報115および自装置情報116と同じ構成である。
すなわち、図2において、自機AP設定情報301と自機AP設定情報311のパラメータは、同一の構成である。同様に、相手AP設定情報302と相手AP設定情報312のパラメータは、同一の構成である。
また、図3において、自機PCP設定情報401と自機PCP設定情報411のパラメータは、同一の構成である。同様に、相手PCP設定情報402と相手PCP設定情報412のパラメータは、同一の構成である。
また、図4において、自装置情報116と自装置情報216のパラメータは、同一の構成である。
したがって、設定情報215および自装置情報216の構成についての説明は、省略する。
このような無線通信装置200は、無線通信装置100と同様の効果を得ることができる。つまり、通信設定判断部211は、無線通信装置100との間で、実行を指示された通信設定以外に未設定の通信設定がある場合に、設定フラグを立てる。そして、設定情報交換部213は、設定フラグが立った場合、未設定の通信設定に関する設定情報を共有する。これにより、無線通信装置200と無線通信装置100は、実行を指示された通信設定の実行に伴って、それ以外の未設定の通信設定を実行することが可能となる。その結果、ユーザは、1つの通信設定の実行を指示するだけで、その通信設定とともに、その他の通信設定についても実行することができる。
<通信システムの動作>
以下、本実施の形態に係る通信システム、すなわち無線通信装置100および無線通信装置200間で行われる通信設定の動作例を、図5および図6を用いて説明する。
図5は、無線通信装置100と無線通信装置200で行う通信設定の動作の一例を示すフローチャートである。図6は、図5に示す動作に対応する、無線通信装置間のメッセージの送受信例を示すシーケンス図である。
ステップS501、S521において、無線通信装置100および無線通信装置200は、それぞれ、Wi−Fi通信の通信設定としてWPSを開始する。なお以下では、WPS開始時において、無線通信装置100のロールはSTAであり、無線通信装置200のロールはAPであるとして、説明を進める。また、このステップの時点において、無線通信装置100および無線通信装置200は、WiGig通信のWPSも未設定である。
上記WPSの開始は、例えば、以下の操作をトリガとする。まず、ユーザは、無線通信装置100と無線通信装置200とを向き合わせる。次に、ユーザは、無線通信装置100および無線通信装置200のそれぞれにおいて、Wi−Fi通信を行うためのアプリケーションを起動する。そして、ユーザは、無線通信装置100および無線通信装置200のそれぞれにおいて、起動したアプリケーションの設定画面から「WPS開始」のメニューを選択する。これにより、無線通信装置100および無線通信装置200は、無線通信装置200をAPとしたWi−Fi通信のWPS(後述する「通信設定b」に相当)の実行が指示される。
上記「WPS開始」を選択する操作は、操作部106、206がそれぞれ受け付ける。そして、操作部106、206は、それぞれ、上述した通信設定開始要求を生成し、設定開始部107、207へ出力する。この通信設定開始要求を受けた設定開始部107、207は、それぞれ、設定情報115、215および自装置情報116、216を、記憶部103、203から読み出す。ここで、設定情報115は、設定情報115aおよび設定情報115bの両方である。同様に、設定情報215は、設定情報215aおよび設定情報215bの両方である。なお、ここでいう読み出しの時点において、図2に示す設定情報115aの相手AP設定情報302は、未登録であり、かつ、図3に示す設定情報215bの相手PCP設定情報412は、未登録である。
そして、設定開始部107は、読み出した設定情報115および自装置情報116を、機器探索部109に出力する。一方、設定開始部207は、読み出した設定情報215および自装置情報216を、機器探索部209に出力する。
なお、上記ステップS501、S521は、それぞれ、図6のステップS601、S602に相当する。
ステップS503において、機器探索部109は、設定情報115および自装置情報116を入力すると、通信部104を介して、周囲をスキャンし、WPS用ビーコンを探す。
機器探索部109は、一定期間の間にWPS用ビーコンを受信しなかった場合は(S503:受信無し)、通信相手の探索に失敗したと判断し、スキャンを止める。そして、機器探索部109は、スキャンの再試行を行う。
一方、機器探索部109は、一定期間の間にWPS用ビーコンを受信した場合、通信相手の探索に成功したと判断し、WPS用ビーコンに含まれるパラメータに基づいて、相手装置情報を生成する。この相手装置情報は、少なくとも、Wi−Fi用MACアドレス、WiGig用MACアドレス、および通信周波数帯を含む。ここでは、例として、相手装置情報は、無線通信装置200に関する内容とする。そして、機器探索部109は、生成した相手装置情報、設定情報115、および自装置情報116を、接続部110へ出力する。
ステップS523において、機器探索部209は、設定情報215および自装置情報216を入力する。次に、機器探索部209は、設定情報215aからSSID313およびMACアドレス317を抽出し、自装置情報216から通信周波数帯1003およびロール情報1004を抽出する。次に、機器探索部209は、Wi−Fi、WiGig、WSCのビーコンのフォーマットに従って、抽出した上記各パラメータをMACフレームのボディ領域に記載する。そして、機器探索部209は、各パラメータを含んだWPS用ビーコンを、通信部204を介して無線送信する。このステップS523は、図6のステップS603に相当する。
WPS用ビーコンの無線送信後、機器探索部209は、設定情報215および自装置情報216を、接続部210へ出力する。
ここで、上記WPS用ビーコンのフォーマット例について説明する。図7は、WPS用ビーコンのフォーマットの一例を示す図である。
図7に示すように、WPS用ビーコンは、パラメータとして、SSID701、Device Password ID702、通信周波数帯703、Wi−Fi用MACアドレス704、WiGig用MACアドレス705を含む。これらのパラメータは、上述した通り、MACフレームのボディ領域に記載される。
例えば、機器探索部209は、通信周波数帯1003の値を用いて、通信周波数帯703に「2.4GHz、60GHz」と記載する。これにより、無線通信装置200は、Wi−Fi通信およびWiGig通信のいずれかを可能とすることが示される。
また、例えば、機器探索部209は、ロール情報1004の値を用いて、上記通信周波数帯703の記載にロール情報を加えて「2.4GHz(AP動作可)、60GHz(STA動作可)」と記載する。これにより、無線通信装置200は、Wi−Fi通信のときにはAPとして動作し、WiGig通信のときにはSTAとして動作することが示される。
Device Password ID702は、WPS用のビーコンであるか否かを識別可能なパラメータである。例えば、図7に示すように、Device Password ID702は、「0x0004」と記載されている。この場合、ビーコンを受信した無線通信装置100は、Push Button Configuration(PBC)というWPSのモードであることが識別できる。
SSID701は、APとして動作する自装置(ここでは、無線通信装置200)の識別子である。
以上で、WPS用ビーコンのフォーマット例についての説明を終える。
ステップS504において、接続部110は、無線通信装置200との間で、接続要求であるProbe requestの送信および応答であるProbe responseの受信を行う。このステップの詳細は、以下に説明する。
まず、接続部110は、相手装置情報、自装置情報116、および設定情報115を入力する。次に、接続部110は、自装置情報116および設定情報115に基づいて、接続要求であるProbe requestを生成し、無線通信装置200へ送信する。このProbe requestの送信は、図6のステップS604に相当する。なお、Probe requestの詳細は、後述する。
その後、接続部110は、無線通信装置200から、Probe requestに対する応答としてProbe responseを受信する(図6のステップS605に相当)。次に、接続部110は、Authentication requestを生成して無線通信装置200へ送信する(図6のステップS625に相当)。そして、接続部110は、Authentication requestに対する応答として、Authentication responseを無線通信装置200から受信する(図6のステップS626に相当)。そして、接続部110は、Association requestを生成して無線通信装置200へ送信する(図6のステップS606に相当)。
接続部110は、無線通信装置200からAssociation responseを受信すると(図6のステップS607に相当)、無線通信装置100と無線通信装置200との間の接続が完了する。そして、接続部110は、相手装置情報、自装置情報116、および設定情報115を、通信設定判断部111へ出力する。
ステップS524において、接続部210は、無線通信装置100との間で、接続要求であるProbe requestの受信およびその応答であるProbe responseの送信を行う。このステップの詳細は、以下に説明する。
まず、接続部210は、設定情報215および自装置情報216を入力する。次に、接続部210は、一定期間の間に周辺からProbe requestを受信しない場合(S524:応答無し)、WPS用ビーコンの送信を再試行させる制御信号を、機器探索部109へ出力する。これにより、機器探索部209は、再び、WPS用ビーコンの送信を行う。
一方で、一定期間に周囲からProbe requestを受信した場合、接続部210は、Probe requestに含まれているパラメータに基づいて、相手装置情報を生成する。この相手装置情報は、少なくとも、Wi−Fi用MACアドレス、WiGig用MACアドレス、および通信周波数帯を含む。ここでは、例として、相手装置情報は、無線通信装置100に関する内容とする。
その後、Probe requestを受信した接続部210は、Probe requestに対する応答であるProbe responseを生成し、無線通信装置100へ送信する(図6のS605に相当)。次に、接続部210は、無線通信装置100からAuthentication requestを受信する(図6のステップS625に相当)。そして、接続部210は、Authentication responseを生成して無線通信装置100へ送信する(図6のステップS626に相当)。そして、接続部210は、無線通信装置100からAssociation requestを受信する(図6のS606に相当)。そして、接続部210は、Association responseを生成して無線通信装置100へ送信する(図6のS607に相当)。
無線通信装置100がAssociation responseを受信すると、無線通信装置100と無線通信装置200との間の接続は、完了する。その後、接続部210は、生成した相手装置情報、自装置情報216、設定情報215を、通信設定判断部211へ出力する。
ここで、上記Probe requestのフォーマット例について説明する。図8は、Probe requestのフォーマットの一例を示す図である。
接続部110は、自装置情報116に基づいてProbe requestを生成する。例えば、接続部110は、自装置情報116からMACアドレス1005を抽出し、それに基づいてWi−Fi用MACアドレス801およびWiGig用MACアドレス804を記載する。また、接続部110は、自装置情報116から通信周波数帯1001およびロール情報1002を抽出し、それに基づいて通信周波数帯803を記載する。この結果、図8に示すように、Probe requestは、パラメータとして、Wi−Fi用MACアドレス801、Device Password ID802、通信周波数帯803、WiGig用MACアドレス804を含む。また、接続部110は、Device Password ID802を記載する。なお、Device Password ID802は、図7で説明したDevice Password ID702と同じである。
以上で、Probe requestのフォーマット例についての説明を終える。
ステップS505において、通信設定判断部111は、相手装置情報、自装置情報116、設定情報115を入力した後、無線通信装置200との間で、実行を指示された通信設定以外に未設定の通信設定があるか否かを判断する。この判断(以下、適宜「未設定判断」という)の詳細は、以下に説明する。
まず、通信設定判断部111は、無線通信装置200とのWi−Fi通信において、未設定の通信設定があるか否かを判断する。ここで判断の対象となるWi−Fi通信の通信設定は、以下の2つである。1つは、無線通信装置100がAPで、無線通信装置200がSTAである場合の通信設定(以下「通信設定a」という)である。もう1つは、無線通信装置200がAPで、無線通信装置100がSTAである場合の通信設定(以下「通信設定b」という)である。すなわち、通信設定判断部111は、通信設定aおよび通信設定bについて、未設定であるか否かを判断する。
通信設定aについての未設定判断は、以下の動作となる。通信設定判断部111は、相手装置情報に含まれるWi−Fi用MACアドレスが、設定情報115aの自機AP設定情報301において、設定済みMACアドレス318として登録されているか否かを判定する。
ここで、図2に示すように、自機AP設定情報301自体が未登録である場合、通信設定判断部111は、相手装置情報のWi−Fi用MACアドレスが、自機AP設定情報301に登録されていないと判定する。この結果、通信設定判断部111は、通信設定aが未設定であると判断する。
一方で、図2に示す自機AP設定情報311と同様に、自機AP設定情報301自体は、登録されているものの、相手装置情報のWi−Fi用MACアドレスが設定済みMACアドレス318として未登録である場合、以下の判定となる。すなわち、通信設定判断部111は、相手装置情報のWi−Fi用MACアドレスが、自機AP設定情報301に登録されていないと判定する。この結果、通信設定判断部111は、通信設定aが未設定であると判断する。
通信設定bについての未設定判断は、以下の動作となる。通信設定判断部111は、相手装置情報に含まれるWi−Fi用MACアドレスが、設定情報115aの相手AP設定情報302に、MACアドレス307として登録されているか否かを判定する。
ここで、図2に示す相手AP設定情報312と同様に、相手AP設定情報302自体が未登録である場合、通信設定判断部111は、相手装置情報のWi−Fi用MACアドレスが、相手AP設定情報302に登録されていないと判定する。この結果、通信設定判断部111は、通信設定bが未設定であると判断する。
一方で、図2に示すように、相手AP設定情報302自体は登録されているものの、相手装置情報のWi−Fi用MACアドレスがMACアドレス307として未登録である場合、以下の判定となる。すなわち、通信設定判断部111は、相手装置情報のWi−Fi用MACアドレスが、相手AP設定情報302に登録されていないと判定する。この結果、通信設定判断部111は、通信設定bが未設定であると判断する。
以上の動作により、通信設定判断部111は、無線通信装置200とのWi−Fi通信において、未設定の通信設定があるか否かを判断する。なお、上述した通り、本実施形態において、通信設定bは、ユーザにより実行を指示された通信設定である。したがって、通信設定判断部111は、通信設定bについては上記未設定判断を行わず、通信設定aについてのみ未設定判断を行う。通信設定bは、指示を受けたことで実行されるWi−Fi通信のWPS(これは従来の方法である)により設定されるので、未設定判断が不要となる。
なお、上記説明において、通信設定判断部111は、未設定判断を行う際にMACアドレスだけを用いる例としたが、これに限定されない。例えば、通信設定判断部111は、MACアドレスを参照する前に、相手装置情報に含まれるロール情報に基づいて、未設定判断に用いる設定情報を絞り込んでもよい。すなわち、相手装置情報のロール情報が、例えば、「Wi−Fi通信のときはAP動作」といった、ロールを限定する内容である場合、通信設定判断部111は、自装置がAPにならないと判断する。そして、通信設定判断部111は、自機AP設定情報301を用いずに、相手AP設定情報302だけを未設定判断に用いるようにする。よって、上記説明の場合、通信設定判断部111は、通信設定aについては未設定判断を行わず、通信設定bについてだけ未設定判断を行う。このように、本実施の形態は、ロール情報に基づいた判断を追加することで、ロールの限定により成立しない通信設定について未設定判断を行うことを防止できる。
上述したWi−Fi通信の未設定判断に続いて、通信設定判断部111は、WiGig通信の未設定判断を行う。つまり、通信設定判断部111は、無線通信装置200とのWiGig通信において、未設定の通信設定があるか否かを判断する。ここで判断の対象となるWiGig通信の通信設定は、以下の2つである。1つは、無線通信装置100がPCPで無線通信装置200がSTAである場合の通信設定(以下「通信設定c」という)である。もう1つは、無線通信装置200がAPで無線通信装置100がSTAである場合の通信設定(以下「通信設定d」という)である。すなわち、通信設定判断部111は、通信設定cおよび通信設定dについて、未設定であるか否かを判断する。このWiGig通信の未設定判断の詳細については、上述したWi−Fi通信の未設定判断と同様であるので、ここでの説明は省略する。なお、通信設定判断部111は、Wi−Fi通信を行っているときにWiGig通信の未設定判断を行う場合、通信設定cおよび通信設定dの両方について、未設定であるか否かを判断する。また、通信設定判断部111は、WiGig通信を行っている場合、通信設定a、b、c、または通信設定a、b、dについて、未設定であるか否かを判断する。
上述した通り、本実施形態において、ユーザにより実行を指示された通信設定は、通信設定bである。よって、WiGig通信の未設定判断において、通信設定判断部111は、通信設定c、dの両方について未設定判断を行う。
Wi−Fi通信およびWiGig通信についての未設定判断の結果、通信設定判断部111は、以下の動作を行う。
まず、実行を指示された通信設定b以外の通信設定a、c、dが全て設定済みである場合、通信設定判断部111は、実行を指示された通信設定b以外に未設定の通信設定はないと判断し(S505:NO)、ステップS507へ進む。よって、通信設定判断部111は、設定フラグを変更せずにFalseのままとし、フラグが立っていない状態としておく。なお、設定フラグは、例えば、演算部102のメモリまたは記憶部103に保持されており、デフォルトの状態はFalseである。そして、通信設定判断部111は、相手装置情報、設定情報115、および自装置情報116を、秘密鍵共有部112へ出力する。また、通信設定判断部111は、設定フラグ(False)を設定情報交換部113へ出力する。
一方、実行を指示された通信設定b以外の通信設定a、c、dの少なくとも1つが未設定である場合(S505:YES)、通信設定判断部111は、実行を指示された通信設定b以外に未設定の通信設定があると判断する。そして、通信設定判断部111は、ステップS506へ進む。
ステップS506において、通信設定判断部111は、設定フラグをTrueに変更し、フラグが立った状態にする。そして、通信設定判断部111は、どの装置からどの装置に対して、設定情報115のパラメータのうちのどのパラメータを送るのかを示す付随情報を生成する。ここで、付随情報の生成例として、通信設定cが未設定であった場合を説明する。上述した通り、通信設定cは、無線通信装置100がPCPで無線通信装置200がSTAである場合のWiGig通信の通信設定である。よって、通信設定判断部111は、自機PCP設定情報401の413〜417のパラメータを、無線通信装置100から無線通信装置200へ送信する旨を示す付随情報を生成する。
付随情報の生成後、通信設定判断部111は、相手装置情報、設定情報115、および、自装置情報116を、秘密鍵共有部112へ出力する。また、通信設定判断部111は、設定フラグ(True)とともに付随情報を設定情報交換部113へ出力する。
ステップS525およびS526は、上述したステップS505およびS506と同じであるので、ここでの説明は省略する。
ステップS507において、秘密鍵共有部112は、相手装置情報、自装置情報116、および設定情報115を入力する。そして、秘密鍵共有部112は、秘密鍵を生成し、生成した秘密鍵を無線通信装置200との間で共有する。同様に、ステップS527において、秘密鍵共有部212は、相手装置情報、自装置情報216、および設定情報215を入力する。そして、秘密鍵共有部212は、秘密鍵を生成し、生成した秘密鍵を無線通信装置100との間で共有する。
上記秘密鍵は、認証鍵を暗号化するための鍵である。また、秘密鍵を生成し共有する方法は、例えば、WSCに準拠した手順で、DH(Diffie-Hellman)鍵共有プロトコルを用いる。このDH鍵共有プロトコルを用いた送受信は、図6のステップS608からS618までに相当する。なお、ステップS608〜S617は、秘密鍵共有部112および秘密鍵共有部212が行う。一方で、ステップS618は、後述するが、認証情報交換部113および設定情報交換部213が行う。
秘密鍵共有部112は、生成した秘密鍵、相手装置情報、自装置情報116、および設定情報115を、設定情報交換部113に出力する。同様に、秘密鍵共有部212は、生成した秘密鍵、相手装置情報、自装置情報216、および設定情報215を、設定情報交換部213に出力する。
ステップS508において、設定情報交換部113は、秘密鍵、相手装置情報、自装置情報116、設定情報115、および設定フラグを入力すると、設定フラグが立っているか否かを判断する。
判断の結果、設定フラグが立っておらず(False)、付随情報の入力がない場合(S508:NO)、設定情報交換部113は、ステップS511へ進む。
一方、判断の結果、設定フラグが立っており(True)、付随情報の入力がある場合(S508:YES)、設定情報交換部113は、ステップS509へ進む。ステップS509以降では、通信設定cが未設定であった場合を例として説明を進める。
ステップS509において、認証情報交換部113は、秘密鍵を用いて、付随情報が示すパラメータを暗号化する。上述したように、例えば、付随情報が、自機PCP設定情報401の413〜417の各パラメータを示す場合、認証情報交換部113は、自機PCP設定情報401の413〜417の各パラメータを暗号化する。413〜417の各パラメータは、上述した通り、設定情報[1]という。設定情報[1]は、上述した通り、無線通信装置100をPCPとしたWiGig通信を実現可能な設定情報である。
ステップS510において、認証情報交換部113は、暗号化した設定情報[1]を、通信部104を介して無線通信装置200へ送信する。ここでの送信は、図6のステップS618に相当する。設定情報[1]の送信後、認証情報交換部113は、相手装置情報に含まれるWiGig用MACアドレスを、自機PCP設定情報401の設定済みMACアドレス418に追加する。
ステップS528は、上述したステップS508と同じであるので、ここでの説明は省略する。ステップS529以降では、通信設定cが未設定であった場合を例として説明を進める。
ステップS529において、設定情報交換部213は、無線通信装置100から、通信部204を介して、暗号化された設定情報[1]を受信する。ここでの受信は、図6のステップS618に相当する。その後、認証情報交換部213は、秘密鍵を用い、設定情報[1]を復号する。
ステップS530において、設定情報交換部213は、通信方式毎およびSSID毎に、復号した設定情報[1]を記憶部203に保存する。このようにして保存された情報は、設定情報215bの相手PCP設定所情報412として扱われることになる。このステップは、図6のステップS619に相当する。なお、MACアドレス417の保存は、必須ではない。
すなわち、ステップS509、S510、S529、およびS530により、通信設定cが完了する。
ステップS531において、設定情報交換部213は、秘密鍵を用いて、自機AP設定情報311の313〜317の各パラメータを暗号化する。313〜317の各パラメータは、上述した通り、設定情報[2]という。設定情報[2]は、上述した通り、無線通信装置200をAPとしたWi−Fi通信を実現可能な設定情報である。なお、設定情報[2]は、WiGig通信用設定情報のパラメータを含む場合もある。
ステップS532において、設定情報交換部213は、暗号化した設定情報[2]を、通信部204を介して無線通信装置100へ送信する。ここでの送信は、図6のステップS620に相当する。設定情報[2]の送信後、認証情報交換部213は、相手装置情報に含まれるWi−Fi用MACアドレスを、自機AP設定情報311の設定済みMACアドレス318に追加する。そして、設定情報交換部213は、通信結果(成功)を切断部214に出力する。
ステップS511において、設定情報交換部113は、通信部104を介して、暗号化された設定情報[2]を受信する。ここでの受信は、図6のステップS620に相当する。その後、認証情報交換部113は、秘密鍵を用い、設定情報[2]を復号する。
ステップS512において、設定情報交換部113は、通信方式毎およびSSID毎に、復号した設定情報[2]を記憶部103に保存する。このようにして保存された情報は、設定情報115aの相手AP設定所情報302として扱われることになる。なお、設定情報[2]にWiGig通信用設定情報のパラメータを含む場合は、設定情報115bの相手PCP設定情報402にも保存される。このステップは、図6のステップS621に相当する。なお、MACアドレス307の保存は、必須ではない。また、このステップは、WPS後のタイミングで実行されてもよい。そして、設定情報交換部113は、通信結果(成功)を切断部114に出力する。
すなわち、ステップS531、S532、S511、およびS512により、通信設定bが完了する。
ステップS513において、切断部114は、通信結果(成功)を入力すると、通信部104を介して、無線通信装置200の切断部214との間で、切断のためのメッセージを送受信し、通信を切断する。同様に、ステップS533において、切断部214は、通信結果(成功)を入力すると、通信部204を介して、無線通信装置100の切断部114との間で、切断のためのメッセージを送受信し、通信を切断する。これらステップS513およびS533は、図6のステップS622、S623、S624に相当する。
ステップS514において、無線通信装置100は、Wi−Fi通信のWPSを終了する。同様に、ステップS534において、無線通信装置200は、Wi−Fi通信のWPSを終了する。
このような動作により、無線通信装置100において、通信設定判断部111は、無線通信装置200との間で、実行を指示された通信設定以外に未設定の通信設定がある場合に、設定フラグを立てる。そして、設定情報交換部113は、設定フラグが立った場合、未設定の通信設定に関する設定情報を共有する。これにより、無線通信装置100と無線通信装置200は、実行を指示された通信設定の実行に伴って、それ以外の未設定の通信設定を実行することが可能となる。その結果、ユーザは、1つの通信設定の実行を指示するだけで、その通信設定とともに、その他の通信設定についても実行することができる。
<実施の形態1の変形例>
以上、本実施の形態について説明したが、上記説明は、一例であり、種々の変形が可能である。以下、変形例について説明する。
上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連係において、ソフトウェアでも実現することも可能である。図9は、この構成例を示す。
図9の構成例1は、無線通信装置100が、WiGig通信を可能とする通信デバイス300と接続可能な構成である。無線通信装置100は、ミドルウェア130およびドライバ140を備えており、ミドルウェア130に通信設定制御部131を備えている。この通信設定制御部131は、図1に示す演算部102が備える各部を含む。すなわち、構成例1では、演算部102の各部はミドルウェア130として実現される。通信設定制御部131は、ドライバ140を介して、通信デバイス300の通信部301を制御し、WiGig通信を行う。なお、ミドルウェア130は、アプリケーションであってもよい。また、通信設定制御部131は、ドライバ140に備えてもよい。
図9の構成例2は、無線通信装置100が、WiGig通信を可能とする通信デバイス300と接続可能な構成である。ただし、構成例2の通信設定制御部131は、通信デバイス300側に備えられている点が構成例1と異なる。通信設定制御部131は、ドライバ140を介してミドルウェア130からの要求を受け、通信部301を制御して、WiGig通信を行う。なお、ミドルウェア130は、アプリケーションであってもよい。
なお、図9に示す各構成例は、後述する実施の形態2、3にも適用できる。
また、上記実施の形態では、Wi−Fi通信およびWiGig通信を例としたが、本発明が適用する通信方式はこれらに限定されない。本発明は、例えば、Bluetooth(登録商標)などの近距離無線通信を適用してもよい。
また、上記実施の形態では、Wi−Fi通信の例を2.4GHz帯としたが、本発明が適用するWi−Fi通信の周波数帯はこれに限定されない。本発明は、例えば、5GHz帯のWi−Fi通信を適用してもよい。また、無線通信装置100は、2.4GHzまたは5GHzのいずれかを選択してWi−Fi通信をできるようにしてもよい。その場合、2.4GHzと5GHzとは、別々の設定情報としてもよいし、1つにまとめた設定情報としてもよい。さらに、設定情報は、2.4GHzと5GHzに、60GHzを合わせて、1つにまとめた設定情報としてもよい。また、2.4GHzと5GHzと60GHzとで設定情報が異なる場合、無線通信装置100は、2.4GHz、5GHz、60GHzのいずれかで通信する。そして、無線通信装置100は、2.4GHzと5GHzと60GHzのそれぞれの設定情報を設定情報[1]、設定情報[2]で送信し、設定を行ってもよい。
また、上記実施の形態において、通信設定判断部111は、未設定判断の結果に基づいて、設定フラグを立てて付随情報を生成したが、本発明はこれに限定されない。例えば、ユーザが、操作部106から、実行したい通信設定を複数指定した場合、通信設定判断部111は、その指定に基づいて、設定フラグを立てて付随情報を生成するようにしてもよい。
また、上記実施の形態で説明した、未設定判断(図5のS505、S525)のタイミング、および、設定情報の交換(図4のS510、S532)のタイミングは、図5に限定されない。
未設定判断は、下記を満たす範囲のタイミングで実行可能である。
・未設定判断は、通信相手の識別が可能になった後であれば可能である。すなわち、未設定判断は、WPS用ビーコンの受信、接続要求(Probe request)の受信より後のタイミングで可能である。
・未設定判断は、データの送信が可能な間、可能である。すなわち、未設定判断は、通信の切断より前であれば可能である。
・未設定判断は、STAである無線通信装置からAPである無線通信装置への認証鍵の配布前であれば可能である。
設定情報の交換は、下記を満たす範囲のタイミングで実行可能である。
・設定情報の交換は、秘密鍵を共有した後であれば可能である。
・設定情報の交換は、終了パケットの送信前であれば可能である。なお、終了パケットは、例えば、図6のS622〜S624に示す、切断のためのメッセージが挙げられる。
また、上記実施の形態では、無線通信装置100から無線通信装置200への設定情報の送信が先に行われる例(図5のS510)について説明した。なお、本実施の形態では、無線通信装置200から無線通信装置100への設定情報の送信(図5のS532)が先に行われてもよい。
また、上記実施の形態では、既存のWPSのプロトコルにメッセージを追加しない場合、STAである無線通信装置100から、APである無線通信装置200への設定情報の送信を、図6に示すM7のメッセージにより先に行ってもよい。
(実施の形態2)
上記実施の形態1において、無線通信装置100、200は、Wi−Fi通信の通信設定に伴って、WiGig通信の通信設定を行う例について説明した。本実施の形態では、WiGig通信の通信設定に伴って、Wi−Fi通信の通信設定を行う例について説明する。
図10は、本実施の形態に係る通信システムの構成例を示す。本実施の形態の通信システムは、本実施の形態に係る無線通信装置100および無線通信装置200を備える。無線通信装置100と無線通信装置200はそれぞれ、Wi−FiおよびWiGigの両方の通信方式を搭載する。
図1に示す構成との違いは、無線通信装置100、200がそれぞれ、ロール決定部108、208を備えている点である。以下、ロール決定部108について説明する。なお、ロール決定部208は、ロール決定部108と同様であるので、説明は省略する。
ロール決定部108は、設定開始部107から設定情報115と自装置情報116、および、機器探索部109または接続部110から機器探索結果を入力する。機器探索結果は、通信相手となる無線通信装置を探索した結果を示す情報である。また、機器探索結果は、自装置のロールがSTAのときは機器探索部109から出力される一方で、自装置のロールがPCPのときは接続部110から出力される。ここでロール決定部108へ入力される機器探索結果は、探索の結果が失敗である旨を示す情報である。
ロール決定部108は、自装置情報116、および、機器探索結果に基づいて、無線通信装置100のロールをSTAまたはPCPのいずれかに決定する。この決定結果、すなわちSTAまたはPCPを示す情報は、以下「ロール決定結果」という。なお、ロール決定部108は、入力した設定情報115を、ロールの決定には用いず、次の機器探索部109へ送る。
上記ロールの決定は、任意の方法が採用できる。例えば、ロール決定部108は、初回のロール決定時に、自装置のロールをSTAに決定するように予め定められている。その後、機器探索結果が失敗だった場合、ロール決定部108は、自装置のロールをPCPに変更する。なお、このようにロールの変更が行われる場合は、自装置がSTAまたはPCPのいずれの機能も有し、自装置情報116に、自装置がSTAまたはPCPのいずれにもなりうる旨が設定されていることが前提となる。
ロール決定部108は、ロール決定結果、設定情報115、および自装置情報116を機器探索部109へ出力する。
その後、機器探索部109は、ロール決定結果がSTAである場合、実施の形態1で説明した、無線通信装置100がSTAである場合と同じ動作を行う。ただし、機器探索部109は、一定期間に、WPS用と識別できるビーコンを受信しなかった場合、上述したように、探索の結果が失敗である旨を示す機器探索結果をロール決定部108へ出力する。これにより、ロール決定部108は、ロールの決定を再試行する。
また、機器探索部109は、ロール決定結果がPCPである場合、実施の形態1で説明した、無線通信装置100がAPである場合と同じ動作を行う。ただし、その後において、接続部110が、一定期間に、接続要求であるProbe requestを受信しなかった場合、上述したように、探索の結果が失敗である旨を示す機器探索結果をロール決定部108へ出力する。これにより、ロール決定部108は、ロールの決定を再試行する。
上述したロール決定部108の動作は、実施の形態1で説明した図5のフローにおいて、ステップS501とステップS503の間に行われる。これ以外のステップについては、図5のフローと同じであるので、本実施の形態の無線通信装置100および無線通信装置200の動作はここでの説明を省略する。ただし、ステップS504において、無線通信装置100によるAuthentication requestの送信(図6のステップS625に相当)は、行われない。同様に、S524において、無線通信装置200によるAuthentication responseの送信(図6のステップS626に相当)は、行われない。
以上説明したように、本実施の形態の無線通信装置100および無線通信装置200は、WiGig通信の通信設定の実行に伴って、Wi−Fi通信の通信設定を行うことができる。すなわち、本実施の形態の無線通信装置100および無線通信装置200は、上述した実施の形態1と同様の効果を得ることができる。
(実施の形態3)
上記実施の形態1では、設定フラグおよび付随情報を用いて、指示された通信設定以外の未設定の通信設定を実行する場合について説明した。本実施の形態では、設定フラグおよび付随情報を用いずに、指示された通信設定以外の未設定の通信設定を順次実行する場合について説明する。
以下、本実施の形態にかかる通信システム、すなわち無線通信装置100および無線通信装置200間の通信設定の動作の例を、図11を用いて説明する。図11は、無線通信装置100と無線通信装置200で行う通信設定の動作の一例を示すフローチャートである。
以下の例において、無線通信装置100および無線通信装置200は、2.4GHz帯のWi−Fi通信、および、WiGig通信が可能であるとする。そして、実施の形態1と同様に、通信設定a、b、c、dの4種類が可能であるとする。
ステップS901、S911において、無線通信装置100および無線通信装置200は、それぞれ、実施の形態1で説明したように、ユーザが行う操作をトリガとしてWPSを開始する。このWPSは、ユーザにより実行を指示された通信設定bであるとする。通信設定bは、無線通信装置200をAPとし、無線通信装置100をSTAとしたWi−Fi通信の通信設定である。
ステップS902、S912において、無線通信装置100および無線通信装置200は、それぞれ、自装置情報を交換する。自装置情報は、例えば、図4に示す各パラメータを含む。自装置情報の交換は、例えば、以下の通りである。まず、無線通信装置100は、自装置情報116を含むProbe requestを無線通信装置200へ送信する。無線通信装置200は、Probe requestを受信すると、自装置情報216を含むProbe responseを無線通信装置100へ送信する。
ステップS903、S913において、無線通信装置100および200は、それぞれ、交換した自装置情報に基づいて、未設定判断を行う。ここでの未設定判断は、通信設定a、c、dが未設定であるか否かの判断である。
未設定判断の結果、未設定の通信設定がない場合(S903:NO)、無線通信装置100および200は、それぞれ、ステップS904、S914へ進む。未設定の通信設定がない場合とは、通信設定a、c、dの全てが設定済みである場合である。
ステップS904、S914において、無線通信装置100および無線通信装置200は、それぞれ、通信設定bであるWPSを行う。ここでのWPSは、従来公知のWPSである。すなわち、無線通信装置200は、Wi−Fi通信用設定情報を無線通信装置100へ送信する。そして、無線通信装置100は、受信したWi−Fi通信用設定情報を自装置に保存する。この保存により、無線通信装置100は、通信設定bであるWPSが完了する。なお、ここでいうWi−Fi通信用設定情報は、例えば、上述した設定情報[2]である。
ステップS905、S915において、無線通信装置100および無線通信装置200は、それぞれ、ユーザにより実行を指示されたWPSを終了する。
未設定判断の結果、未設定の通信設定がある場合(S903:YES)、無線通信装置100および200は、それぞれ、ステップS906、S907へ進む。未設定の通信設定がある場合とは、通信設定a、c、dの少なくとも1つが未設定である場合である。以下では、例として、通信設定cが未設定であるとして、説明を進める。通信設定cは、無線通信装置100をPCPとし、無線通信装置200をSTAとしたWiGig通信の通信設定である。
ステップS906、S916において、無線通信装置100および無線通信装置200は、それぞれ、通信設定bであるWPSを行う。ここでのWPSは、ステップS904、S914で行われるWPSと同じである。よって、ここでのWPSの説明は省略する。
ステップS907、S917において、無線通信装置100および無線通信装置200は、それぞれ、通信設定cであるWPSを行う。ここでのWPSは、従来公知のWPSである。すなわち、無線通信装置100は、WiGig通信用設定情報を無線通信装置200へ送信する。そして、無線通信装置200は、受信したWiGig通信用設定情報を自装置に保存する。この保存により、無線通信装置100は、通信設定cであるWPSが完了する。なお、ここでいうWiGig通信用設定情報は、例えば、上述した設定情報[1]である。
ステップS908、S918において、無線通信装置100および無線通信装置200は、それぞれ、通信設定bであるWPSを終了する。
以上、本実施の形態の無線通信装置100は、無線通信装置200との間で、指示された通信設定以外に未設定の通信設定がある場合、実行を指示された通信設定を実行した後で、未設定の通信設定を実行する。これにより、無線通信装置100と無線通信装置200は、実行を指示された通信設定の実行に伴って、それ以外の未設定の通信設定を実行することが可能となる。その結果、ユーザは、1つの通信設定の実行を指示するだけで、その通信設定とともに、その他の通信設定についても実行することができる。
以上、本実施の形態の無線通信装置は、他の無線通信装置との間で無線通信を行うための通信設定を複数行うことができる無線通信装置であって、前記通信設定を複数実行するか否かを示す設定フラグを出力する通信設定判断部と、前記設定フラグに基づいて、前記他の無線通信装置との間で、前記通信設定に関する設定情報の交換を行う設定情報交換部と、を備える、ものである。
また、本実施の形態の無線通信装置は、前記通信設定判断部が、設定済みの通信設定に関する設定情報、および、前記他の無線通信装置が行う無線通信に関する相手装置情報に基づいて、前記他の無線通信装置との間で未設定の通信設定が複数あるか否かを判断した結果を、前記設定フラグとして出力する、ものである。
また、本実施の形態の無線通信装置は、前記通信設定判断部が、前記相手装置情報に含まれるMACアドレスが、前記設定済みの通信設定に関する設定情報に含まれていない場合、前記未設定の通信設定が複数あると判断し、その判断の結果を示す前記設定フラグを出力し、前記設定情報交換部が、前記設定フラグに基づいて、前記他の無線通信装置との間で、前記未設定の通信設定に関する設定情報の交換を行う、ものである。
また、本実施の形態の無線通信装置は、前記通信設定判断部が、前記相手装置情報に含まれる、前記他の無線通信装置のロールを示すロール情報に基づいて、前記判断に用いる設定情報を絞り込む、ものである。
また、本実施の形態の無線通信装置は、前記通信設定が、通信方式毎および自装置のロール毎に存在する、ものである。