以下、本発明の各実施形態に係る通信装置について、図面を参照しながら詳細に説明する。なお、以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた場合について説明するが、通信形態は必ずしもIEEE802.11準拠の無線LANシステムを用いた場合に限定されない。
1.通信装置のハードウェア構成
はじめに本実施形態に係る通信装置のハードウェア構成について説明する。図1は本発明の一実施形態に係る通信装置(提供装置または受信装置)の構成の一例を表すブロック図である。
101は通信装置全体を示す。102は、記憶部103に記憶されるコンピュータプログラムを実行することにより通信装置全体を制御する制御部である。制御部102は、他の通信装置との間で通信パラメータの設定制御も行う。
103は制御部102が実行するコンピュータプログラムと、通信パラメータ等の各種情報とを記憶する記憶部である。通信装置における後述する各種処理は、記憶部103に記憶されたコンピュータプログラムを制御部102が実行することにより実現される。
104は無線通信を行うための無線部である。105は各種表示を行うための表示部でありLCDやLEDのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力を行う機能を有する。
106は通信パラメータ設定処理を開始するトリガ(開始指示)を与える設定ボタンである。制御部102は、ユーザによる設定ボタン106の操作を検出すると、後述する処理を実行する。
107はアンテナ制御部であり、108はアンテナである。109は、ユーザが各種入力を行うための入力部である。
2.通信装置の機能ブロック
図2は、後述する通信パラメータの自動設定処理において、各通信装置が実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。
201は通信装置全体を示している。202は通信パラメータの自動設定機能ブロックである。本実施形態では、当該機能ブロックが動作することで、ネットワーク識別子としてのSSID、暗号方式、暗号鍵、認証方式、認証鍵等、無線通信を行うための通信パラメータの自動設定処理が行われる。
203は各種通信に関わるパケットを受信するためのパケット受信部である。ビーコン(報知信号)の受信は、パケット受信部203によって行われる。204は各種通信に関わるパケットを送信するためのパケット送信部である。ビーコンの送信は、パケット送信部204によって行われる。なおビーコンには、送信元の通信装置の各種情報(自己情報)が付加されているものとする。
205はプローブリクエストなどの検索信号の送信を制御する検索信号送信部である。なお、プローブリクエストは、所望のネットワークを検索するためのネットワーク検索信号ということもできる。プローブリクエストの送信は、検索信号送信部205により行われる。また、受信したプローブリクエストに対する検索応答信号であるプローブレスポンスの送信も検索信号送信部205により行われる。
206は他の通信装置からのプローブリクエストなどの検索信号の受信を制御する検索信号受信部である。プローブリクエストの受信は、検索信号受信部206により行われる。また、プローブレスポンスの送信も検索信号受信部206により行われる。なお検索信号、及び検索応答信号には、送信元の通信装置の各種情報(自己情報)が付加されているものとする。
207は、ネットワークへの通信接続処理を制御するネットワーク制御部である。無線LANアドホックネットワークへの無線通信接続処理などは、ネットワーク制御部207により実施される。
通信パラメータの自動設定機能ブロック202において、208は、通信パラメータ自動設定処理における各種プロトコルを制御する自動設定制御部である。
209は他の通信装置に通信パラメータを提供する通信パラメータ提供部である。後述する通信パラメータの自動設定処理のうち、通信パラメータ提供処理は、自動設定制御部208による制御のもと、通信パラメータ提供部209によって行われる。
210は他の通信装置より通信パラメータを受信する通信パラメータ受信部である。後述する通信パラメータの自動設定処理のうち、通信パラメータ受信処理は、自動設定制御部208による制御のもと、通信パラメータ受信部210によって行われる。
また、通信パラメータの自動設定処理が開始されてからの経過時間が、通信パラメータ自動設定処理の制限時間を越えたか否かの判定も、自動設定制御部208によって行われる。また、当該制限時間を超えたと判定した場合には、自動設定制御部208による制御のもとで、自動設定処理が中止される。
211は、通信パラメータの自動設定処理における役割を決定する役割決定部である。
212は、通信パラメータの自動設定処理の開始と終了の通知に関する処理を制御する設定通知制御部である。後述する提供装置における開始通知メッセージおよび完了通知メッセージの送受信処理は、設定通知制御部212によって行われる。
213はビーコン制御部であり、ビーコン(報知信号)の送信タイミングを制御する。ここで、IEEE802.11無線LANのアドホックネットワークにおけるビーコンの送信アルゴリズムについて説明する。
アドホックネットワークにおけるビーコンの送信は、ネットワークを構成する全ての通信装置間で自律分散的に行われる。ビーコンの送信間隔(ビーコン周期)は、アドホックネットワークを最初に作成した通信装置が決定することになっており、通常は100ms程度の間隔でいずれかの通信装置からビーコンが送信される。なお、アドホックネットワークではいずれか1つの通信装置がビーコンの送信を開始することにより、ネットワークが形成される。
ビーコンを送信するタイミングはコンテンションウィンドウ(乱数発生範囲、以下CW)と呼ばれるパラメータにより制御される。ネットワーク内の各通信装置は、ビーコンを送信する時間になると0からCWの中からランダムなある値(CWrand)を求める。このCWrandに、予め定められた一定の間隔(スロットタイム)を掛けた時間をビーコン送信までの待ち時間(バックオフ時間)とする。
次に、当該ビーコン送信までの待ち時間をスロットタイムでデクリメントしていき、待ち時間が0になったときにビーコンを送信する。もし、自通信装置がビーコンを送信する前に他の通信装置からのビーコンを受信した場合には、ビーコンを送信する処理を中止する。
このように構成することにより、各通信装置から送信されるビーコンの衝突を防ぐことができる。アドホックネットワーク上の各通信装置は、0からCWの間の乱数を選択するため、ネットワークを構成している通信装置のうち、もっとも小さいCWrandを選択した通信装置がビーコンを送信することになる。
例えば、各通信装置に初期値として同一のCWが設定されている場合には、各通信装置によるビーコンの送信確率は同じになり、その結果として、各通信装置による単位時間当たりのビーコンの送信回数はほぼ同じになる。言い換えれば、各通信装置によるビーコンの送信頻度(送信割合)は同じになる。
一方で、ネットワーク上の1つの通信装置が、CWを初期値よりも小さい値に設定すると、当該通信装置が他の通信装置よりもビーコンを送信する確率は高くなる。つまり、CWはビーコンの送信確率を決定するためのパラメータ、又は、ビーコンの単位時間当たりの送信回数を決定するためのパラメータということができる。あるいは、各通信装置が送信するビーコンの送信割合を決定するためのパラメータということもできる。
更に、CWはビーコンを送信するタイミングを決定するためのパラメータ、ビーコンの送信までの待ち時間を決定するためのパラメータと言い換えることもできる。
なお、CWの値は、CWmin(最小値)からCWmax(最大値)までの範囲で変更することが可能であり、CWminに設定すると単位時間当たりのビーコンの送信回数が最大になる。各通信装置には、初期値としてCWinit(>CWmin)が設定されており、通信パラメータの自動設定処理が実行されていない間は、初期値を用いてビーコンの送信が行われる。
3.通信パラメータの自動設定処理の説明(その1)
次に通信パラメータの自動設定処理の詳細について説明する。
3.1 ネットワークの構成
はじめに、通信パラメータの自動設定処理が実行されるネットワークの構成について説明する。
図3は、本実施形態に係る通信装置である、通信装置A300(以下、装置A)及び通信装置B301(以下、装置B)を示した図である。これらの通信装置は、先に説明した図1及び図2のハードウェア構成ならびに機能構成を有しているものとする。
また、装置Aと装置Bは共に、通信パラメータの提供装置として動作するか、受信装置として動作するかが決められておらず、各々、ネットワークA302(以下、ネットワークA)とネットワークB303(以下、ネットワークB)を作成しているものとする。
そして、装置Aと装置Bは、それぞれの通信装置を相互に発見し、どちらの通信装置が提供装置となるかを決定する。これにより、提供装置となった通信装置から受信装置となった通信装置に対して通信パラメータの提供が行われることとなる。
なお、ネットワークAおよびネットワークBは、それぞれ、装置Aと装置Bにより作成されるアドホックネットワークであるとする。アドホックネットワークは、IBSS(Independ Basic Service Set)と呼ばれ、各ネットワークはネットワーク識別子であるBSSIDにより区別されている。
ここで、BSSIDとはネットワークを作成する通信装置が生成するランダムな値のネットワーク識別子である。なお、SSIDは通信装置に予め設定しておくことも、ユーザが任意の値を設定することも可能なネットワーク識別子であり、BSSIDとは異なるものである。また、上記説明で明らかなように、BSSIDは、通信パラメータの自動設定処理によって提供装置から受信装置へ提供される通信パラメータではない。
3.2 通信パラメータの自動設定処理の処理シーケンス
図4は、装置Aと装置Bにおいて、設定ボタン106が押下されることで、装置Aと装置Bの間で実施される通信パラメータの自動設定処理の処理シーケンスの一例を示した図である。
装置Aと装置Bそれぞれにおいて、設定ボタン106が押下されると、装置AはユニークなネットワークAを作成し(F401)、装置BもユニークなネットワークBを作成する(F402)。なお、ここでは装置Bの設定ボタン106が先に押され、装置Bのネットワークが先に作成されるものとする。
装置Aと装置Bには、その動作役割(以下、役割)が提供装置にも受信装置にも決定されていないことを示す「提供装置候補」が設定される(F403、F404)。そして、装置Aと装置Bは、役割を決定するまでの時間であるタイマT1を開始する(F405、F406)。
装置Aおよび装置Bは、作成したネットワークにおいて、通信パラメータの自動設定処理機能を有していることを示す情報要素(Information Element)を含むビーコン(報知信号)を送信する(F407、F408)。あるいは自動設定処理中であることを通知する情報要素を含むビーコン(報知信号)を送信する(F407、F408)。なお、ビーコンには、現時点の役割である「提供装置候補」を示す情報要素が更に含まれていてもよい。
ビーコン(F407、F408)には、ネットワークAとネットワークBとで異なるBSSIDが含まれるため、該ビーコンを受信した通信装置では、いずれのネットワークに属する通信装置から送信されたビーコンであるかを認識することができる。
次に、装置Bは、検索信号Bを送信する(F409)。検索信号Bにもビーコン同様に、通信パラメータの自動設定処理機能を有していることを示す情報要素が含まれているものとする。また、自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素も含まれているものとする。
装置Aでは、装置Bから送信された検索信号B(F409)を受信すると、検索応答信号A(F410)を装置Bに対して送信する。なお、検索応答信号A(F410)にも、ビーコンや検索信号Bと同様に、通信パラメータの自動設定処理機能を有していることを示す情報要素が含まれているものとする。また、自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれているものとする。
ここで、装置Bにおいて提供装置を検出できないままタイマT1が満了すると(F411)、装置Bは自身の役割を提供装置に設定する(F412)。
続いて、装置Aは、検索信号A(F413)を送信する。装置Aから送信される検索信号A(F413)にも、通信パラメータの自動設定処理機能を有していることを示す情報要素が含まれているものとする。また、自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれているものとする。
装置Bでは、装置Aから送信された検索信号A(F413)を受信すると、検索応答信号B(F414)を装置Aに対して送信する。なお、検索応答信号B(F414)にも、ビーコンや検索応答信号Aと同様に、通信パラメータの自動設定処理機能を有していることを示す情報要素が含まれているものとする。また、自動設定処理中であることを示す情報要素や現時点の役割を示す情報要素が含まれているものとする。
なお、この時点では、装置Bの役割が「提供装置」に決定されているため、検索応答信号Bには、現時点の役割として「提供装置」を示す情報要素が含まれることとなる。ただし、「提供装置」を示す情報要素に加えて、通信パラメータを提供可能な状態であることを示す情報要素が付加されていてもよい。
装置Aでは、装置Bから送信された検索応答信号B(F414)を受信すると、装置Bの役割が提供装置であり、通信パラメータを提供可能な状態であることを確認する。
そこで、装置Aでは、タイマT1を停止して(F415)、自身の役割を受信装置に設定し(F416)、装置Bが作成したネットワークBへ参加する(F417)。
これによって、装置Aと装置Bの間では、通信パラメータの自動設定プロトコル処理で交わされる通信メッセージ(プロトコルメッセージ)を相互に送受信することが可能な状態となる。この結果、装置Bでは、通信パラメータ提供処理Iが開始され、装置Aでは、通信パラメータ受信処理が開始される(F418、F419)。
ここで、自動設定プロトコル処理とは、提供装置から受信装置へ通信パラメータを提供するために予め定められた各種通信メッセージの送受信を行う処理のことをいう。なお、WPSでは上記プロトコル処理のことをRegistrationプロトコルと呼んでいる(非特許文献1参照)。
本実施形態では説明を簡単にするため、受信装置から提供装置に対して通信パラメータ提供起動のメッセージ(F420)を送信し、該メッセージ(F420)に応じて提供装置が受信装置に対する通信パラメータの提供処理を行うものとする(F421)。そして、提供が完了したら通信パラメータ提供完了のメッセージ(F422)を送信するものとする。
なお、装置AがネットワークBに参加した時点(F417)では、装置Aには、暗号鍵、認証鍵等の通信パラメータが設定されていないため、装置Aは装置Bとの間で暗号、認証を用いた通信を行うことはできない。
また、上記説明では、装置Aと装置Bとの間で、役割を決定するにあたっては、検索信号と検索応答信号とを用いることとした。しかし、あえて検索信号や検索応答信号の送受信を行わず、相互に送受信するビーコンに含まれる情報要素を用いて役割を決定するようにしてもよい。
図4に戻る。装置Aでは、装置Bが作成していたネットワークに参加し(F417)、通信パラメータ受信処理Iを開始すると(F419)、装置Bに対して通信パラメータ提供起動のメッセージを送信する(F420)。また、提供装置である装置Bでは、通信パラメータ提供起動のメッセージを受信すると、装置Aに対して通信パラメータの提供処理を行う(F421)。通信パラメータの提供処理が完了すると、装置Bは装置Aに対して通信パラメータ提供完了のメッセージを送信する(F422)。これにより通信パラメータ提供処理I及び通信パラメータ受信処理が完了し(F423、F424)、装置Aと装置Bの間で通信パラメータが共有される。
この結果、装置Aと装置Bでは、共有した通信パラメータを用いて通信接続処理を行うことが可能となる。
なお、通信パラメータ提供処理Iの終了と同時に通信接続処理の開始を行うことで、ユーザに操作を強いることなく装置Aと装置Bとの通信が可能となる。その場合、通信装置は、通信接続処理を開始したことを明示的に表す接続要求信号を送信してもよい。
アドホックモードでは、インフラストラクチャモードのようなアソシエーション処理が行われないが、接続要求信号の受信により、接続要求をしてきた通信装置を即座に認識することができる。
例えば、本実施形態では、装置Bが装置Aに対してネットワークBの通信パラメータを送信し、当該通信パラメータを用いて通信接続処理を行うこととしている。この場合、装置Aが装置Bに対して接続要求信号を送信することにより、装置Bでは、装置AがネットワークBに参加してきたことを知ることができ、参加台数の把握も容易になる。
また、通信接続処理の開始前にユーザに通信接続処理開始を確認するようにし、ユーザからの操作に応じて通信接続処理を開始するように構成してもよい。例えば、通信パラメータ提供処理Iが終了すると、表示部105にて、通信接続処理を開始するか否かの選択を促す表示を行い、ユーザが入力部109を介して入力を行った場合に、通信接続処理を開始するようにしてもよい。
また、装置Bが装置Aに対して、ネットワークBと異なるネットワークを示す通信パラメータを送信するように構成してもよい。例えば、ネットワークCで通信を行うための通信パラメータを装置Bから装置Aに対して提供し、提供後に装置A、B共にネットワークCで通信するように構成してもよい。その場合、装置Aまたは装置BはネットワークC上で他方の通信装置を検出したことをトリガに通信接続処理を開始するように構成されることとなる。
3.3 各通信装置における通信制御処理の流れ
次に、通信パラメータの自動設定処理を実施する場合の、各通信装置における通信制御処理の流れについて説明する。
図5は、通信パラメータの自動設定処理を実施する場合の各通信装置における通信制御処理の流れを示したフローチャートである。
以下、本フローチャートに沿って各通信装置が実行する通信制御処理について説明する。
まず、通信パラメータの自動設定処理の開始を指示するための設定ボタン106が押されると、通信装置ではこれを認識する(ステップS501)。
設定ボタン106が押下された通信装置では、自身が現在すでにネットワークに参加しているかどうかを調べる(ステップS502)。ここで、ネットワークに参加している場合とは、例えば既に他の通信装置との間で行った通信パラメータの自動設定処理によって共有した通信パラメータを用いてネットワークを構成している場合をいう。なお、ネットワークに参加している場合の処理については図7等を用いて後述する。
ステップS502において、ネットワークに参加していないと判断された場合には、役割を決定するために、自らネットワークを作成する(ステップS503)。そして、役割を提供装置候補に設定した上で(ステップS504)、タイマT1を開始する(ステップS505)。
更に、ステップS506では、ビーコン送信を開始する。なお、このとき送信するビーコンには、現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。
そして、提供装置が見つかるか、タイマT1が満了するまで、提供装置の検索処理を行う(ステップS507〜ステップS512)。
具体的には、タイマT1が満了でない場合(ステップS507においてNo)、各通信装置は、他の通信装置からの検索信号(プローブリクエスト)を受信したか否かを判定する(ステップS508)。そして、他の通信装置からの検索信号を受信したと判定した場合には、これに応答し、検索応答信号(プローブレスポンス)を送信する(ステップS509)。
また、自身も、検索信号(プローブリクエスト)を送信し(ステップS510)、検索応答信号(プローブレスポンス)の受信を待つ(ステップS511)。
そして、検索応答信号を受信した場合には(ステップS511においてYes)、受信した検索応答信号に含まれる情報要素が示す他の通信装置の役割が、提供装置であるか否かを判定する(ステップS512)。そして、他の通信装置の役割が提供装置であると判定された場合には、タイマT1を停止するとともに、自身の役割を受信装置に設定する(ステップS513、ステップS514)。
更に、受信装置に設定された通信装置では、提供装置が作成したネットワークへ参加し(ステップS515)、ビーコンに、自身の役割が「受信装置」であることを示す情報要素を含めて送信する(ステップS516)。
なお、この時点では提供装置から通信パラメータの提供を受けていないため、参加したネットワークにて暗号、認証を用いた通信を行うことはできない。ネットワークに参加した受信装置では、通信パラメータ受信処理(ステップS517)を開始する。なお、通信パラメータ受信処理の詳細は後述する。
ステップS517において通信パラメータの受信処理が完了すると、通信接続処理が可能な状態となる。
以降、通信装置では、開始通知を受信したか否かを判定し(ステップS518)、開始通知を受信した場合には、代理応答処理(ステップS519)を実施する。なお、ステップS518、S519における処理の詳細は、ステップS525〜ステップS532の処理(自通信装置がネットワークに参加中の場合の処理)とあわせて、図7等を用いて後述する。
一方、ステップS507において、タイマT1が満了するまでに、役割が提供装置である通信装置を発見できなかったと判定された場合には、自身の役割を提供装置に設定する(ステップS520)。
そして、ビーコンに、自身の役割が「提供装置」であることを示す情報要素を含めて送信する(ステップS521)。また、他の通信装置からの検索信号を受信したか否かを判定し(ステップS522)、他の通信装置からの検索信号を受信したと判定された場合には、これに応答し、検索応答信号を送信する(ステップS523)。
更に、提供装置に設定された通信装置では、通信パラメータ提供処理I(ステップS524)を開始する。なお、通信パラメータ提供処理I(ステップS524)の詳細については後述する。
ステップS524において通信パラメータ提供処理が完了すると、通信装置では、ステップS518に進む。
なお、ステップS508〜S512では、検索信号(プローブリクエスト)に対する検索応答信号(プローブレスポンス)の受信を待機することにより、提供装置を検索する方法(アクティブスキャン)を説明した。しかしながら、本発明はこれに限られない。
上述したように、提供装置は、通信パラメータの自動設定処理中であることを示す情報要素が付加されたビーコンを送信するため、一定時間、当該ビーコンが送信されてくるのを受信装置が待つ方法(パッシブスキャン)を用いるようにしてもよい。
3.4 通信パラメータ提供処理Iの流れ
次に、通信パラメータ提供処理I(ステップS524)の詳細について説明する。図6Aは、通信パラメータ提供処理I(ステップS524)の詳細を示すフローチャートである。
受信装置から、通信パラメータ提供起動のメッセージを受信すると(ステップS601においてYes)、提供装置では、通信パラメータの提供を開始する(ステップS602)。なお、このとき提供される通信パラメータは、ステップS503で作成したネットワークの通信パラメータである。
ステップS603では、通信パラメータの提供が完了したか否かを判定する。ステップS603において、通信パラメータの提供が完了したと判定された場合には、ステップS606に進み、通信パラメータの提供完了のメッセージを受信装置に送信する。
更に、ステップS607において、通信パラメータの自動設定処理が成功したことを示す表示を行う。
具体的には、表示部105でLCDにメッセージを表示したり、LEDの点滅・点灯・色や音などでユーザが識別可能なように、通信パラメータの自動設定処理が成功したことを示す表示を行う。
一方、ステップS603において、エラーが発生した場合には、ステップS604に進み、通信パラメータの自動設定処理においてエラーが発生したことを示す表示を行う。
具体的には、表示部105でLCDにメッセージを表示したり、LEDの点滅・点灯・色や音などでユーザが識別可能なように、通信パラメータの自動設定処理においてエラーが発生したことを示す表示を行う。
3.5 通信パラメータ受信処理の流れ
次に、通信パラメータ受信処理(ステップS517)の詳細について説明する。図6Bは、通信パラメータ受信処理(ステップS517)の詳細を示すフローチャートである。
受信装置では、通信パラメータの提供を要求するために、提供装置に対して、通信パラメータ提供起動のメッセージを送信し(ステップS611)、提供装置からの通信パラメータの受信処理を開始する(ステップS612)。
ステップS613では、通信パラメータの受信が完了したか否かを判定する。ステップS613において、通信パラメータの受信が完了したと判定された場合には、ステップS616に進み、通信パラメータの受信が完了したことを示す表示を行う。
具体的には、表示部105でLCDにメッセージを表示したり、LEDの点滅・点灯・色や音などでユーザが識別可能なように、通信パラメータの受信が成功したことを示す表示を行う。
一方、ステップS614において、エラーが発生した場合には、ステップS615に進み、通信パラメータの受信処理においてエラーが発生したことを示す表示を行う。
具体的には、表示部105でLCDにメッセージを表示したり、LEDの点滅・点灯・色や音などでユーザが識別可能なように、通信パラメータの受信処理においてエラーが発生したことを示す表示を行う。
4.通信パラメータの自動設定処理の説明(その2)
次に、構築済みのアドホックネットワークへ新たに通信装置が参加する場合の通信パラメータの自動設定処理について説明する。なお、構築済みのアドホックネットワークとは、通信パラメータの自動設定処理を行った通信装置間で共有された通信パラメータにより複数の通信装置で構成されたアドホックネットワークのことを指すものとする。
4.1 ネットワークの構成
図7は、第2の通信装置A300(以下、装置A)及び第1の通信装置B301(以下、装置B)、第3の通信装置C700(以下、装置C)、およびネットワークBを示した図である。なお、装置A、装置B、および装置Cは先に説明した図1及び図2のハードウェア構成ならびに機能構成を有しているものとする。
ここで、装置Aと装置Bから構成されるネットワークBへ装置Cが参加する際に、装置Bと装置Cの設定ボタン106が押下された場合の通信パラメータの自動設定処理について以下に説明する。
4.2 通信パラメータの自動設定処理の処理シーケンス
図8は、装置Aと装置BとによりネットワークBが構成された状態において、装置Bと装置Cの設定ボタン106が押下されることで実施される通信パラメータの自動設定処理の処理シーケンスの一例を示した図である。
なお、装置Aは、通信パラメータの自動設定処理により装置Bから通信パラメータの提供を受け、該通信パラメータにより通信を行うネットワークBに既に参加しているものとする(F421、F422)。また、装置Cは、まだ通信パラメータの提供を受けていないものとする。
装置Bは、通信パラメータの自動設定処理により既に装置Aとの間で共有された通信パラメータを用いることによりネットワークBへ参加している。そして、ユーザにより装置Bの設定ボタン106が押されると、装置Bでは、自身の役割を提供装置に設定する(F801)。
続いて、装置Bでは、通知処理を起動する(F802)。通知処理を起動後、装置Bは開始通知メッセージ(F803)を送信し、ビーコンの単位時間当たりの送信頻度(送信割合、送信回数)を増加させる。
開始通知メッセージ(F803)を受信した装置Aでは、代理応答処理を起動し(F804)、ビーコンの送信頻度を削減する。
このように、装置Bがビーコンの送信頻度を増加し、装置Aがビーコンの送信頻度を削減することで、新たに参加する装置Cは、提供装置である装置Bをより短時間に検出することが可能となる。
一方、ユーザにより装置Cの設定ボタン106が操作されると、装置CはユニークなネットワークCを作成し、役割を「提供装置候補」に設定した後、タイマT1を開始し、ビーコン送信を開始する。なお、図8ではこれらの処理の記載は省略して記載してある。
装置Cでは、更に提供装置を検出するために検索信号Cを送信する(F805)。装置Cから送信された検索信号C(F805)に対して、ネットワークBの装置A及び装置Bでは、検索応答信号A、Bを返信する(F806、F807)。また、検索応答信号B(F806)を返信した装置Bでは、通信パラメータ提供処理II(F811)を開始する。
ここで、装置Aが検索応答信号A(F807)を返信する場合には、装置Aは提供装置である装置Bの識別情報(MACアドレス)を検索応答信号に格納して返信するものとする。
また、装置Bが検索応答信号B(F806)を返信する場合には、装置Bは自身が提供装置であることを示す情報要素を検索応答信号B(F806)に格納して返信するものとする。これにより、装置Cでは、ネットワークBのどの通信装置から検索応答信号を受信した場合でも、提供装置である装置Bを確実に検出することが可能となる。
装置Cでは、提供装置の存在を検出すると、自身の役割を受信装置に設定する(F808)。そして、ネットワークBに参加し(F809)、提供装置である装置BからネットワークBでの通信に必要な通信パラメータの受信処理を開始する(F810)。
そして、装置Cでは、通信パラメータ提供起動のメッセージを送信し(F812)、提供装置である装置Bでは、受信装置である装置Cに対して通信パラメータの提供処理を行う(F813)。通信パラメータの提供処理が完了すると、装置Bでは、装置Cに対して通信パラメータ提供完了のメッセージを送信する(F814)。更に、装置Aへ完了通知メッセージを送信する(F815)。
これにより、通信パラメータ提供処理II及び通信パラメータ受信処理が完了し(F816、F817)、装置Cと装置B(及び装置A)の間で通信パラメータが共有される。
また、装置Bでは、更に、増加させたビーコンの送信頻度を元に戻し、通知処理を終了する(F819)。
装置Bより完了通知メッセージを受信した装置Aでは、削減したビーコンの送信頻度を元に戻し、代理応答処理を終了する(F818)。
このように、ユーザは設定ボタン106の操作を行うのみで、自動的に装置CをネットワークBへ参加させることが可能となる。
なお、図8の説明では装置Bの設定ボタン106が操作された場合について説明したが、装置Aの設定ボタン106が操作されることも考えられる。装置Aの設定ボタン106が操作された場合であっても、同様に、装置Aが提供装置となることで、図8のように装置CをネットワークAに参加させることができる。
4.3 通信装置における通信制御処理の流れ
次に、装置Aと装置BとによりネットワークBが構成された状態において、装置Bと装置Cの設定ボタン106が押下されることで通信パラメータの自動設定処理を実施する場合の、各通信装置における通信制御処理について図5を用いて説明する。
はじめに装置Bにおける通信制御処理について説明する。装置Bの設定ボタンが押下されると、装置Bではこれを認識する(ステップS501)。
設定ボタン106が押下された装置Bでは、自身が現在すでにネットワークに参加中であると判断し(ステップS502においてYes)、役割を提供装置に設定する(ステップS525)。そして、ビーコンに、自身の役割が「提供装置」であることを示す情報要素及び自動設定処理中であることを示す情報要素を含めて送信する(ステップS526)。
続いて、装置Bでは、通知処理を開始する。具体的には、ステップS527において、ビーコンの単位時間当たりの送信頻度(送信割合、送信回数)を増加させる(第1の変更工程)。
なお、IEEE802.11無線LANのアドホックネットワークにおいては、検索応答信号(プローブレスポンス)を返信する通信装置は、検索信号(プローブリクエスト)を受信する直前にビーコンを送信した通信装置であることが規定されている。
そこで、ステップS527では、CWを初期値よりも小さな値に設定する。これにより、提供装置(ここでは、装置B)による単位時間当たりのビーコンの送信回数が、ネットワークに参加中の他の通信装置(ここでは、装置A)よりも多くなる。
この結果、新規に参加する装置Cによる提供装置の検索処理(図5のステップS510〜S512)において、提供装置からの検索応答信号(プローブレスポンス)を短時間で検出することが可能となる。
このように、提供装置のビーコンの送信頻度を高くすることで、新規に参加する装置Cが提供装置を検索する場合に、提供装置からの検索応答信号(プローブレスポンス)を受信する確率が高くなる。また、新規に参加する装置Cがパッシブスキャンにより提供装置を検索する場合であっても、提供装置からのビーコンを受信する確率が上がる。
その結果、新規に参加する装置Cが提供装置を検出できないまま通信パラメータ提供処理の制限時間を経過してしまう確率を下げることが可能となる。また、新規に参加する装置Cが提供装置を短時間で検出することができれば、通信パラメータの提供処理が完了するまでの時間も短縮することができる。
図5に戻る。ステップS528において、装置Bは、通信パラメータの提供処理が開始されることを通知する開始通知メッセージをブロードキャスト送信する。なお、開始通知メッセージは、ネットワークに参加している各通信装置に対して、ユニキャスト送信するようにしてもよい。また、開始通知メッセージは、装置Bが提供装置としての動作を開始したことを通知するメッセージと言い換えることもできる。
ステップS529では、ネットワークへ新たに参加しようとしている装置Cからの検索信号を受信したか否かを判定し、検索信号を受信したと判定された場合には、これに応答し、検索応答信号を装置Cに対して送信する(ステップS530)。
更に、提供装置に決定された通信装置では、通信パラメータ提供処理II(ステップS531)を開始する。なお、通信パラメータ提供処理II(ステップS531)の詳細については後述する。
ステップS531において通信パラメータ提供処理IIが完了すると、装置Bでは、CWを初期値に再設定することで(ステップS532)、ステップS527において増加させたビーコン送信頻度を元に戻し、通知処理を終了する。
なお、CWの初期値への再設定は、通信パラメータ提供処理IIの開始後であれば、処理開始直後でも、提供処理完了後でも、エラー発生後のいつであってもよい。
処理開始直後に再設定した場合、ビーコンを送信する頻度(回数)が低くなるので、ビーコン送信による消費電力をより効率的に低減させることができる。また、ステップS528にて送信した開始通知メッセージは、通信パラメータ提供処理IIがエラー終了するか、または受信装置への通信パラメータの提供処理が完了するまで、繰り返し送信されるものとする。
続いて、装置Cにおける通信制御処理について説明する。装置Bの設定ボタンが押されると、装置Bではこれを認識する(ステップS501)。
設定ボタン106が押下された装置Bでは、ネットワークに参加していないと判断し(ステップS503においてYes)、役割を提供装置候補に設定した上で(ステップS504)、タイマT1を開始する(ステップS505)。更に、ステップS506では、ビーコン送信を開始する。
更に、タイマT1が満了でない場合(ステップS507においてNo)、検索信号を送信し(ステップS509)、検索応答信号の受信を待つ(ステップS511)。そして、検索応答信号に含まれる情報要素が示す他の通信装置の役割(装置Bの役割)が、提供装置であると判断すると、タイマT1を停止し、自身の役割を受信装置に設定する(ステップS513、S514)。
更に、提供装置である装置Bが作成したネットワークへ参加し(ステップS515)、ビーコンに、自身の役割が「受信装置」であることを示す情報要素を含めて送信する(ステップS516)。ネットワークに参加した装置Cでは、通信パラメータ受信処理(ステップS517)を開始する。なお、通信パラメータ受信処理の詳細は既に説明済みであるため、ここでは説明を省略する。
続いて、装置Aにおける通信制御処理について説明する。装置Aでは、装置Bとの間で、通信パラメータの自動設定処理が実行され、通信パラメータ受信処理(ステップS517)が完了した状態にある。
そこで、ステップS518において、装置Bより開始通知メッセージを受信したか否かを判定し、開始通知メッセージを受信した場合には、代理応答処理(ステップS519)を実施する。なお、代理応答処理(ステップS519)の詳細な流れは後述する。
以上の通信制御処理を実行することによって通信装置間で簡単に通信パラメータを共有することが可能となる。
上述した通り、装置Bと装置Cとで設定ボタン106が操作されるだけで、装置Bと装置Cとの間で通信接続処理を行い、ネットワークBを構成することとなる。
なお、通信接続処理は、上述した通り、通信パラメータ提供処理完了後に自動で開始しても良いし、設定ボタン106の再押下や、入力部109による接続コマンド投入などによって開始しても良い。なお、通信接続処理は、共有された通信パラメータである、認証方式および暗号方式によって異なる。
4.4 通信パラメータ提供処理IIの流れ
次に、通信パラメータ提供処理II(ステップS531)の詳細について説明する。図9Aは、通信パラメータ提供処理II(ステップS531)の詳細を示すフローチャートである。
受信装置から、通信パラメータ提供起動のメッセージを受信すると(ステップS901においてYes)、提供装置では、通信パラメータの提供を開始する(ステップS902)。なお、このとき提供される通信パラメータは、ステップS503で作成したネットワークの通信パラメータである。
ステップS903では、通信パラメータの提供処理が完了したか否かを判定する。ステップS903において、通信パラメータの提供処理が完了したと判定された場合には、ステップS907に進み、通信パラメータの提供完了のメッセージを受信装置に送信する。
更に、ステップS908において、受信装置への通信パラメータの提供処理が完了したことを示す完了通知メッセージをブロードキャスト送信する。なお、完了通知メッセージをネットワークに参加している通信装置(ここでは、装置A)にユニキャスト送信してもよい。
更に、ステップS909において、通信パラメータの自動設定処理が成功したことを示す表示を行う。
具体的には、表示部105でLCDにメッセージを表示したり、LEDの点滅・点灯・色や音などでユーザが識別可能なように、通信パラメータの自動設定処理が成功したことを示す表示を行う。
一方、ステップS904において、エラーが発生した場合には、ステップS905に進み、エラー通知メッセージをブロードキャスト送信する。なお、エラー通知メッセージは、ネットワークに参加している通信装置(ここでは、装置A)にユニキャスト送信してもよい。
更に、ステップS906では、通信パラメータの自動設定処理においてエラーが発生したことを示す表示を行う。
具体的には、表示部105でLCDにメッセージを表示したり、LEDの点滅・点灯・色や音などでユーザが識別可能なように、通信パラメータの自動設定処理においてエラーが発生したことを示す表示を行う。
4.5 代理応答処理の流れ
次に、代理応答処理(ステップS519)の詳細について説明する。図9Bは、代理応答処理(ステップS519)の詳細を示すフローチャートである。
装置Aが開始通知メッセージを受信すると(ステップS518においてYes)、図9Bの代理応答処理が開始される。
装置Aの自動設定制御部208では、開始通知メッセージの受信を検出すると、ステップS912〜S919において実行される処理についての制限時間を経過したか否かを判定するタイマを起動する(ステップS911)。
次に自動設定制御部208は、送信するビーコンおよび検索応答信号(プローブレスポンス)に含める情報要素の内容を変更する(ステップS912)。
具体的には、自動設定制御部208は、送信するビーコンおよび検索応答信号に、提供装置(装置B)を一意に識別する識別情報を付加する。識別情報としては、例えば提供装置のMACアドレス情報を格納する。これにより、検索信号に対して提供装置ではない装置Aが検索応答信号を返信した場合でも、検索信号の送信元の通信装置(装置C)は提供装置の存在を検出することが可能となる。
そして、ビーコン制御部213は、ステップS913において、CWを初期値より大きい値に変更して設定することで、ビーコンの送信頻度(送信割合)を削減する(第2の変更工程)。
これにより、ネットワークに参加中の提供装置以外の通信装置(装置A)による単位時間当たりのビーコンの送信回数が、提供装置(装置B)よりも少なくなる。この結果、新規に参加する通信装置(装置C)による提供装置の検索処理(図5のステップS509〜S512)において、提供装置からの検索応答信号(プローブレスポンス)を短時間で検出することが可能となる。
その後、装置Aは提供装置(装置B)から送信される完了通知メッセージまたはエラー通知メッセージを待ち受ける(ステップS916、ステップS917)。
通知メッセージを受信すると、装置Aのビーコン制御部213はCWを初期値に再設定し、ステップS913にて削減したビーコンの送信頻度を元に戻す(ステップS918)。
更に自動設定制御部208は、送信するビーコンおよび検索応答信号に含める情報要素の内容を、ステップS912で行った変更前の内容に戻す(ステップS919)。すなわち、送信するビーコンおよび検索応答信号に付加された、提供装置(装置B)を一意に識別するための識別情報を、ビーコンおよび検索応答信号から除去する。
なお、ステップS911にて設定したタイマが満了すると、受信装置(装置A)はステップS912〜S919の処理を中止する。なお、タイマ満了時にステップS912、ステップS913の処理が既に行われていた場合には、ステップS918、ステップS919と同様の再設定処理を行う。
5.認証方式及び暗号方式の説明
次に認証方式及び暗号方式について説明する。本実施形態において、認証方式および暗号方式として採用される組み合わせは、例えば図10のとおりとなる。
Open認証とは、IEEE802.11規格において、Open System Authenticationとして定義されている認証方式であり、詳細はIEEE802.11規格を参照されたい。Shared認証とは、IEEE802.11およびIEEE802.11i規格にて、Shared Key Authenticationとして定義されている認証方式であり、暗号方式としてWEPを使用する。
なお、WEPは、Wired Equivalent Privacyの略であり、詳細についてIEEE802.11もしくはIEEE802.11i規格を参照されたい。またWPA認証方式、WPA−PSK認証方式、WPA2認証方式、およびWPA2−PSK認証方式は、Wi−Fiアライアンスが規定する暗号化方式の規格である。これらは、IEEE802.11i規格におけるRSNA(Robust Security Network Association)をベースとしている。
そして、TKIPは、Temporal Key Integrity Protocolの略である。CCMPは、CTRwith CBC−MAC Protocolの略であり、暗号方式にはAESを利用するものである。AESは、Advanced Encryption Standardの略である。
いずれについても詳細についてはWi−Fiアライアンスの仕様書またはテスト仕様書を参照されたい。WPA−PSK認証方式およびWPA2−PSK認証方式は、事前共有鍵による認証方式である。WPA認証方式およびWPA2認証方式は、別途用意した認証サーバによりユーザ認証を行い、認証サーバより通信経路の暗号鍵を取得する方式である。どちらも、詳細については、IEEE802.11i規格を参照されたい。
通信接続処理の方法は、認証方式によって異なる。現状採りうる認証方式としては、表にあるとおり、Open認証、Shared認証、WPA認証、WPA−PSK認証、WPA2認証、WPA2−PSK認証の6通りがある。このうち、WPA認証とWPA2認証、およびWPA−PSK認証とWPA2−PSK認証は、本質的には同一の認証方法である。このため、以下の説明ではWPAとWPA2およびWPA−PSKとWPA2−PSKは同一とみなし、4通り(OPEN、Shared、WPA、WPA−PSK)の認証方式について説明していく。
ただし、WPA認証については、別途認証サーバを外部に設置し、該認証サーバとの間で認証処理を行うため、本実施形態のように全ての通信装置が対等な立場で動作する場合には煩雑な処理となるため、ここでの説明は割愛する。
そこで、本実施形態においては、Open認証、Shared認証、WPA−PSK認証のそれぞれについて説明を行う。
6.認証方式の詳細
(1)Open認証
まず、Open認証について説明する。Open認証においては、互いの通信装置において、通信パラメータ自動設定処理において共有した通信パラメータを設定し、お互いを検索してIBSSネットワークを構成する。
(2)Shared認証
次に、Shared認証について説明する。Shared認証の詳細な説明についてはIEEE802.11およびIEEE802.11iの仕様書に記述があるため詳細は省略するが、Shared認証を実施する場合は、RequesterとResponderを決定する必要がある。
インフラストラクチャモードにおいて、STA(ステーション)はRequesterとして動作し、AP(アクセスポイント)はResponderとして動作する。一方、アドホックモードでは、APが存在しない。このため、IBSSでShared Key Authenticationを実現するためには、STAにResponder機能の実装および、Requester/Responder役割決定アルゴリズムを実装する必要がある。
このRequester/Responder役割決定アルゴリズムは後述のWPA−PSK認証におけるSupplicant/Authenticator役割決定と同様の手法をとってもよい。例えば、通信パラメータ自動設定処理における通信パラメータの提供装置がResponderとなって、通信パラメータの受信装置がRequesterとなってもよい。
(3)WPA−PSK認証
最後に、WPA−PSK認証について説明する。WPA−PSK認証は、IEEE802.11iおよび、WPAにて規格化されており、IBSSでの動作方法にも規定がある。図12にIEEE802.11iで規定されているシーケンスを記載する。詳細はIEEE802.11i規格を参照していただくとして、ここでは概要について説明をする。
まず、通信パラメータ自動設定処理が終了した装置Aと装置Bが存在するとする。通信パラメータ自動設定処理が完了した後、自動的あるいは、ユーザ操作によって、自動設定された通信パラメータを用いて、通信接続処理が実行される。
まず、装置Aと装置Bは互いに相手を検索する(F1201)。互いが認識できた場合は、装置Aと装置BのうちMACアドレスの大きなものがAuthenticatorとなり、他方がSupplicantとなる。そして、一度目の4ウェイハンドシェイクおよびグループキーハンドシェイクを実行する(F1202〜F1203)。
4ウェイハンドシェイクとは、AuthenticatorとSupplicantとの間で乱数のやり取りを行い、事前共有鍵に基づいてペアワイズ鍵と呼ばれるユニキャストパケットの暗号鍵をセッション毎に生成する仕組みである。グループキーハンドシェイクは、Authenticatorが保有しているマルチキャストパケットやブロードキャストパケットの暗号鍵を送付する仕組みである。
その後、AuthenticatorとSupplicantの役割を交換して、再度4ウェイハンドシェイクとグループキーハンドシェイクを実施する(F1204〜F1205)。以上により装置Aと装置Bとの間で暗号化通信が可能となる。
7.処理時間の改善の方法
このようにIEEE802.11i仕様完全準拠では、4ウェイハンドシェイクおよびグループキーハンドシェイクが複数回行われるため、処理が冗長となる。冗長な処理の実施および、役割決定アルゴリズムの実行のために、接続完了までに時間がかかる。よって、冗長な処理の削減や処理時間の改善のための手法をとることも可能である。
その手法としては、いくつか考えられるが、ここでは、
第一の方法:4ウェイハンドシェイクを1回に統合
第二の方法:グループ鍵をネットワークで1つに統合
第三の方法:グループ鍵およびペアワイズ鍵を全て1つに統合
第四の方法:通信パラメータ自動設定処理のなかで鍵交換もあわせて実施
の以上4つについて説明する。
前述の4つの方法による鍵交換シーケンスの回数の差異および、保有するペアワイズ鍵並びにグループ鍵の個数について図11に示す。
まず、保有する鍵の数について説明する。n個の通信装置からなるアドホックのIBSSネットワークでは、IEEE802.11iに完全準拠した場合は、ペアワイズ鍵は対向の通信装置分のn−1個必要である。また、グループ鍵は対向の通信装置分に加えて、自身の現在のグループ鍵と一つ前のグループ鍵の計2つが必要であり、合算するとn+1個が必要となる。自身のグループ鍵が2つ必要な理由は、グループキーハンドシェイクの進行状況によっては、同一ネットワークでは異なるグループ鍵を持つものが過渡期としては存在するからである。
第一の方法では、シーケンスを減らすだけであり、所有する鍵の数は変わらない。
第二の方法では、ペアワイズ鍵は同様にn−1個必要であるが、グループ鍵は全体で1個でよい。
第三の方法では、ペアワイズ鍵としてグループ鍵をそのまま利用するため、ペアワイズ鍵は0個となり、グループ鍵のみ1個持つこととなる。
第四の方法では、ペアワイズ鍵は同様にn−1個必要である。グループ鍵は、それぞれ所有しても良いし、全体で1つとしても良いため、場合によってn+1個持つ場合もあるし、1個だけ持つ場合もある。
次に、対向の装置1台当たりに実施される鍵交換の数について説明する。IEEE802.11iに完全に準拠した場合は、既に図12を用いて説明した通り、4ウェイハンドシェイクを2回、グループキーハンドシェイクを2回それぞれ実施する。
第一の方法では、冗長であった4ウェイハンドシェイクを削減するため、4ウェイハンドシェイクの実施回数が1回となる。グループキーハンドシェイクについては変わらず2回の実施となる。
第二の方法では、グループ鍵がネットワークで1つに統合されるため、常に新規端末に配布するだけとなり、グループキーハンドシェイクは1回となる。4ウェイハンドシェイクの実施回数については、第一の方法に準じて1回の実施でも良いし、IEEE802.11i規格に準拠して2回双方向で実施してもよい。
第三の方法では、予め設定した1つの鍵をペアワイズ鍵およびグループ鍵として利用するため、鍵交換シーケンスは行わない。
第四の方法では、WPSの通信パラメータ自動設定処理シーケンスで鍵交換処理相当を行ってしまうため、独立した4ウェイハンドシェイクは実施しない。グループキーハンドシェイクについては、任意の実行回数となる。
以上、図11を参照して説明したように、これらの方法は、先に述べたIEEE802.11i仕様に完全準拠したものに比べ、鍵交換シーケンス数および保有する鍵の数において有利となっている。
引き続き、前述の4つの手法についてシーケンス図を用いて詳細な説明を行う。
7.1 各方法の説明
(1)第一の方法
第一の方法について、図13を用いて説明する。
まず、通信パラメータ自動設定処理が終了した装置Aと装置Bが存在するとする。通信パラメータ自動設定処理が完了した後、自動的あるいは、ユーザ操作によって、自動設定された通信パラメータを用いて、通信接続処理が実行される。
まず、装置Aと装置Bは互いに相手を検索する(F1301)。互いが認識できた場合は、装置Aと装置BのうちMACアドレスの大きなものがAuthenticatorとなり、他方がSupplicantとなる。そして、4ウェイハンドシェイクおよび一度目のグループキーハンドシェイクを実行する(F1302〜F1303)。
その後、AuthenticatorとSupplicantの役割を交換して、再度グループキーハンドシェイクを実施する(F1304)。以上により通信が可能となる。
このように第一の方法では、IEEE802.11i仕様では一組の通信装置について2回実施される4ウェイハンドシェイク処理を1回に削減する。
4ウェイハンドシェイクは4ウェイハンドシェイクを実行している通信装置間でペアワイズ鍵を共有するための処理であるため、連続して2回実施してもセキュリティ向上にはならず、冗長なだけである。よって、第一の方法においては、従来方向を変えて2回実施していた4ウェイハンドシェイクを1回に削減することで、通常の通信接続処理に要する時間を短縮することができる。
(2)第二の方法
第二の方法について、図14を用いて説明する。まず、通信パラメータ自動設定処理が終了した装置Aと装置Bが存在するとする。通信パラメータ自動設定処理が完了した後、自動的あるいは、ユーザ操作によって、自動設定された通信パラメータを用いて、通信接続処理が実行される。
まず、装置Aと装置Bは互いに相手を検索する(F1401)。互いが認識できた場合は、装置Aと装置BのうちMACアドレスの大きなものがAuthenticatorとなり、他方がSupplicantとなり、4ウェイハンドシェイクおよびグループキーハンドシェイクを実行する(F1402〜F1403)。以上により通信が可能となる。
IEEE802.11i仕様では、通信装置ごとに異なるグループ鍵が設定されているが、第二の方法でば、グループ鍵をネットワークとして1つに統合する。
ペアワイズ鍵は通信経路毎に用意するがグループ鍵はネットワークとして共通の1つを使いまわす。これによりグループキーハンドシェイク処理もIEEE802.11i準拠では2回実施しなければいけないところを、1回に削減できる。また、グループ鍵を1つだけ設定することにより、ブロードキャストパケット及びマルチキャストパケットの暗号・復号処理を送信した通信装置毎に異なる鍵を保持する必要がなく、簡潔になるという利点がある。
(3)第三の方法
第三の方法は、非特許文献2に記載されているWPA−None(Optional IBSS Global Pre−Shared Key System)と同様である。
WPA−Noneの詳細については前述した文献に記載されているため詳細については割愛する。通常のWPAでは、4ウェイハンドシェイクにより、ペアワイズ鍵の元となる要素に乱数を作用させ、セッション鍵を生成する。一方、WPA−Noneでは、ペアワイズ鍵の元となる要素をそのままセッション鍵として適用する。
すなわち、第三の方法の大きな特徴は、鍵交換処理が実施されないことである。よって接続のたびにセッション鍵が生成される通常のWPA接続処理よりもセキュリティは低下する。そこで、本方法をとる場合は、接続の都度、通信パラメータ自動設定処理を起動して、そこで共有される通信パラメータの通信鍵を毎回ランダムにすることでセキュリティを向上できる。
(4)第四の方法
第四の方法について、図15を用いて説明する。まず、図4の説明で述べたように、通信パラメータ自動設定処理における、他の通信装置の検索および役割の決定が実施される(F1501)。引き続き、通信パラメータ自動設定処理により、通信パラメータが通信パラメータの提供装置から通信パラメータの受信装置へ転送される(F1502)。このF1502の処理の中で、従来は実施していなかった鍵交換処理を通信パラメータ提供処理と同時実行する。
ここで、同時実行にあたっては、通信パラメータ提供処理のメッセージ交換処理で利用される乱数を鍵交換処理の乱数で利用するなどがある。よってF1502終了時点で装置Aと装置Bとでペアワイズ鍵が共有されている。通信パラメータ自動設定処理終了後、グループ鍵交換処理を実施する(F1503)。このように第四の方法は、通信パラメータの自動設定処理のなかで鍵交換もあわせて実施することを特徴としている。
第四の方法であれば、同一のネットワークであっても装置間のペアワイズ鍵はそれぞれ異なるためセキュリティが向上する。また通信パラメータ自動設定処理内で4ウェイハンドシェイク相当の処理を実施することにより、トータルの接続時間を短縮することが可能となる。
また、この説明ではグループ鍵交換は別途実施するとしたが、グループ鍵交換までも通信パラメータ自動設定処理内で実施すれば、さらにトータルの接続時間を短縮することが可能となる。
以上で説明した、IEEE802.11i準拠の方法とあわせて5つの方法については、システムとしてどれか1つを選んでも良いし、どの方法を使用するかの情報を通信パラメータに含めて提供するようにしてもよい。また、通信パラメータ自動設定処理のモードによって動的に切り替えを実施しても良い。
7.2 各方式の切り替え
ここでは、通信パラメータ自動設定処理のモードによって動的に切り替えを実施する場合について、図16を用いて説明を行う。
通信パラメータ自動設定処理によって通信パラメータとして鍵交換が必要なWPA−PSKまたはWPA2−PSK等が選択されたとする。この場合、既にネットワークで利用されている鍵交換方式を判定する(ステップS1601)。この判定処理により、既に何らかの鍵交換方式が選択されている場合は(ステップS1601−2のYes)、その方式をそのまま使用する。特に選択されていない場合については(ステップS1601−2のNo)、引き続き通信パラメータ自動設定処理の処理モードを判定する(ステップS1602)。
ここで述べる処理モードとは、例えば通信パラメータ自動設定処理によって設定された通信パラメータを恒久的に使用するか、一時的なセッション情報として使用するかなどがある。例えば、設定された通信パラメータを恒久的に使用する処理モード(電源を一度オフした後に再度無線通信を行うときも同一の通信パラメータを用いるモード)であれば、セキュリティの高い方式(第一、第四の方法等)を選択する。そして、一時的なセッション情報として使用するモード(一度電源をオフすると設定した通信パラメータを消去、もしくは使用不可能とするモード)であれば、セキュリティよりも処理負荷を優先した方式(第二、第三の方法等)を選択するようにしてもよい。
処理モードによっても、どの鍵交換方式を利用するかが確定しない場合は(ステップS1602−2のNo)、引き続き同一ネットワークに存在する通信装置の台数を判定する(ステップS1603)。そして、通信装置の台数によって好適な鍵交換方式を選択する。たとえば、通信装置が2台の場合には、IEEE802.11iに完全準拠、もしくは第一の方法、第四の方法を選択し、通信装置が3台以上の場合には、第二の方法、第三の方法を選択するようにしてもよい。
このように本実施形態によれば、ネットワークに参加中の通信装置の設定ボタンが操作された場合に、当該通信装置が提供装置となって通信パラメータの提供処理を実行する。また、提供装置として動作を開始すると、ネットワークに参加中の他の装置へ開始通知メッセージを送信する。そして、該開始通知メッセージを受信した装置は、新規にネットワークに参加しようとする装置からの検索信号を受信した際に、提供装置として動作を開始した装置の情報を含めた応答信号を送信する。また、提供装置として動作を開始した装置はビーコンの送信頻度を増加させ、開始通知メッセージを受信した装置はビーコンの送信頻度を低減する。このため、ネットワークに新たに参加しようとする装置は、提供装置からのビーコン又は検索応答信号を受信する確率が高くなる。この結果、ユーザはネットワークに参加中の通信装置の中から提供装置、受信装置を意識することなく、任意の通信装置を選択すれば、通信パラメータの提供を受けることが可能となる。
つまり、提供装置を選択すること無く、任意の通信装置の設定ボタンを操作することで、ネットワークへ新規に通信装置を追加することが可能となる。また、提供処理の終了後、増加させていたビーコンの送信頻度を元に戻すことにより、ビーコン送信による消費電力を低減することができる。なお、通信パラメータの提供処理開始直後にビーコンの送信頻度を元に戻せば、ビーコン送信による消費電力をより効率的に低減することができる。
そして通信パラメータを簡単に安全に提供した後に、ネットワークへ新規追加する際に、鍵交換アルゴリズムについての選択肢を広げ、それを自動的に判定して設定することにより、ネットワークを形成する際のユーザのストレスを低減させることができる。また、安全・簡単・短時間にネットワークを形成することができる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態のみに限定する趣旨ではない。本発明の要旨を逸脱しない範囲で、実施形態は種々に変形することが可能である。
上記各実施形態では、提供装置による単位時間当たりのビーコンの送信回数を他の通信装置よりも多くするために、CWの値を変更する例について説明した。しかしながら、本発明はこれに限定されず、提供装置が他の通信装置よりもビーコンの送信回数を多くできるのであれば、他のパラメータを用いてもよい。例えば、ビーコンの送信間隔(ビーコン周期)を変更できるのであれば、提供装置においてビーコンの送信間隔を小さくすることによって、単位時間当たりにビーコンの送信回数を多くすることができる。
上記説明では、CWの変更は初期値より大きくする、又は小さくすると説明した。この変更は、各通信装置のCWの初期値が同一とは限らないため、変更可能な範囲内での最小値(CWmin)又は最大値(CWmax)に変更すれば、ビーコンの送信頻度(回数)をより確実に変更できる。また、開始通知メッセージは、通信パラメータの自動設定処理が開始されたことを通知するメッセージとして説明した。
しかしながら、開始通知メッセージは、設定ボタン106が操作されたことを通知するメッセージ、提供装置が他の受信装置に通信パラメータを提供できるようにするためのメッセージと言い換えることもできる。
また、上記説明はIEEE802.11準拠の無線LANを例に説明した。しかしながら、本発明は、ワイヤレスUSB、MBOA、Bluetooth(登録商標)、UWB、ZigBee等の他の無線媒体において実施してもよい。また、有線LAN等の有線通信媒体において実施してもよい。
ここで、MBOAは、Multi Band OFDM Allianceの略である。また、UWBには、ワイヤレスUSB、ワイヤレス1394、WINETなどが含まれる。
また、通信パラメータとしてネットワーク識別子、暗号方式、暗号鍵、認証方式、認証鍵を例にしたが、他の情報であってもよいし、他の情報も通信パラメータには含まれるようにしてもよいことは言うまでも無い。
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読取可能な記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。