以下、本発明のさらに具体的な実施の形態のいくつかを図面に基づいて詳細に説明する。
図1には、本発明の一実施形態に従う無線LAN用アクセスポイント(以下、「AP」と略称する。)10を有する無線LANシステム12のハードウェア構成が斜視図で示されている。
<無線LANの構成>
この無線LANシステム12においては、AP10を介して複数台の端末(無線端末)20,22,24が相互に無線接続され、それにより、無線LAN30が構築されている。この無線LAN30は、後述のように、ルータ32を介して、WAN(Wide Area Network)またはグローバルネットワークとしてのインターネット34に接続されている。
<APの機能>
AP10は、よく知られているように、無線基地局であり、親機とも称される。AP10は、よく知られているように、AP10が属する無線LAN30において各端末20,22,24が他の端末と無線通信するためのアクセス権限をコントロールする機能や、暗号鍵(例えば、WEPキー、TKIPキー、AESキー)を利用した暗号化無線通信のためのセキュリティレベル(暗号化強度)をコントロールする機能を有する。
<端末の機能>
各端末20,22,24は、同じ無線LAN30に属する他の端末との間において無線通信する機能を有し、同じ無線LAN30に属するAP10との関係においてステーション(各図においては、「STA」と略称する。)または子機と称される。各端末20,22,24は、種々の方式を採用することが可能であり、例えば、パーソナルコンピュータPCとしたり、携帯情報端末PDAとしたり、コンピュータを組み込んだ情報処理装置とすることが可能である。
<APのハードウエア構成>
図1に示すように、AP10は、ハウジング40を備えている。このハウジング40内に種々のハードウエア部品が収容される。図2には、AP10のハードウエア構成がブロック図で概念的に表されている。図2に示すように、AP10は、コンピュータを主体として構成されている。そのコンピュータは、よく知られているように、CPU50と、ROM52と、RAM54と、ハードディスク等、データを不揮発的に記憶することが可能な記憶装置56とが、バス58によって相互に電気的に接続されることによって構成されている。
図2に示すように、AP10は、さらに、各端末20,22,24との無線接続のための無線通信インタフェース60と、WAN(例えば、インターネット34)との接続のためのWANポート62と、図示しない有線LANとの接続のためのLANポート64とを、それぞれがバス58に接続された状態で備えている。
無線通信インタフェース60には、電波を送信する送信機66と、電波を受信する受信機68とが接続されている。それら送信機66および受信機68は、外部への電波の送信や外部からの電波の受信が可能な状態で、AP10に内蔵されている。
AP10は、さらに、ユーザからの情報の入出力を可能にする入出力コントローラ70と、ユーザへの情報の表示を可能にするディスプレイコントローラ72とを、それぞれがバス58に接続された状態で備えている。
入出力コントローラ70には、プッシュ式のワンタッチ登録ボタン80が接続されている。このワンタッチ登録ボタン80は、図3(a)に示すように、AP10のハウジング40の表面において露出した操作部81を有するようにハウジング40に取り付けられている。このワンタッチ登録ボタン80の機能は後述するが、このワンタッチ登録ボタン80の押下げ状態が、入出力コントローラ70を介して、CPU50によって検出可能となっている。図3(a)において、符号82は、送信機66と受信機68とに使用されるアンテナを示す。
これに対し、図2に示すように、ディスプレイコントローラ72には、無線LAN30の接続状態や通信状態を点灯・点滅等によって表示する各種の表示ランプ84が接続されている。
図1に示すように、AP10のWANポート62には、モデムを内蔵したルータ32がケーブル33を介して接続されている。ルータ32は、各端末20,22,24に予め割り当てられたMACアドレスにより、各端末20,22,24を識別することができる。
各端末20,22,24のユーザは、自己の端末をAP10および、ユーザが契約したプロバイダ90を通じてインターネット34に接続し、そのインターネット34上のサーバ92から、所望のウェブコンテンツ等の種々の情報を取得することができる。
<MACの仮想的多重化>
AP10は、後に詳述するが、無線LAN30上で通信される信号についての複数の暗号化方式であってそれぞれ互いに異なる複数のセキュリティレベルを有するものに対応することが可能であるように設計されている。
そのため、AP10においては、CPU50によって実行されるべき、MAC(Media Access Control)実現のためのソフトウエア(プログラム)がROM52に記憶されることにより、図4に概念的にブロック図で表すように、ハードウエア部品としてのMAC100が実現されている。
図4に示すように、本実施形態においては、そのMAC100は、物理的には1個しか存在しないがそれぞれ互いに異なる複数のセキュリティレベルでの暗号化通信を時分割的に行うことが可能な複数の仮想的なMAC(図4に示す例においては、仮想的なMACの数は3個であり、以下、「MAC1」,「MAC2」および「MAC3」と称する。)として機能する。それら仮想的なMAC1ないし3は、CPU50により、実質的に並列的に動作させられる。ハウジング40が、それら仮想的なMAC1ないし3に共通に設けられていることはもちろんである。
したがって、AP10は、図4に示すように、上述のMAC実現用ソフトウエアの実装により、みかけ上、互いに独立して動作する複数の仮想的なサブアクセスポイント(以下、「サブAP」という。)として動作するように設計されている。すなわち、本実施形態においては、AP10が、各端末20,22,24との実質的な通信を行うために、暗号化方式の種類を差別化することが可能な複数個のサブAPとして仮想的に多重化されているのである。
それらサブAPの数(図4に示す例においては、3個であり、以下、「サブAP1」,「サブAP2」および「サブAP3」と称する。)は、上述の仮想的なMAC1ないし3と同数である。
さらに、本実施形態においては、後述のように、暗号化方式を各サブAPごとに選択するために必要な情報を取得するために、その選択に先立ち、各端末20,22,24とAP10との間においてセキュリティレベルに関する情報が交換される。
そのセキュリティレベル情報を交換するためには、同じ端末から見えるアクセスポイントの数が単一である方が好都合であるため、本実施形態においては、セキュリティレベル情報交換(鍵交換)に専用の1つのサブAPが鍵交換用特殊サブAPZとして追加的に用いられる。この鍵交換用特殊サブAPZは、複数のサブAP1ないし3のための鍵交換手続に共通に使用される。この鍵交換用特殊サブAPZは、図示しない仮想的なMACZによって動作させられる。
<暗号化方式の個別的選択>
図4に示すように、各サブAPごとに、固有の識別番号であるSSID(Service Set ID)が予め割り当てられている。さらに、各サブAPごとに、各サブAPが採用する暗号化方式の種類(図4においては、「SecType」で表す。)と、各サブAPが採用する暗号鍵の値(図4においては、「SecKey」で表す。)とが関連付けられる。同様に、各端末ごとに、各端末20,22,24が利用すべきサブAPのSSIDと、各端末20,22,24が採用する暗号化方式の種類と、各端末が採用する暗号鍵の値とが関連付けられる。
図4に示す一例においては、仮想MAC1を利用するサブAP1が、1台の端末No.1に割り当てられ、仮想MAC2を利用するサブAP2が、1台の端末No.2に割り当てられ、仮想MAC3を利用するサブAP3が、互いに異なるセキュリティレベルを有する2台の端末No.3およびNo.4に割り当てられている。
AP10は、後に詳述するが、各サブAPごとに(すなわち、各仮想MACごとに)、各端末20,22,24との無線LAN通信の確立に先立ち、各端末20,22,24が対応可能な暗号化方式に適合するように、各仮想MAC1,2,3が採用する暗号化方式を選択するように設計されている。
具体的には、各仮想MAC1,2,3が、選択可能な複数の暗号化方式であってセキュリティレベルが互いに異なるものを有し、最終的に採用される暗号化方式のセキュリティレベルに関して選択的であることを前提にして、AP10は、各サブAPごとに(すなわち、各仮想MACごとに)、前記複数の暗号化方式のうちのいずれかを、各仮想MAC1,2,3に無線接続されようとする端末が対応可能な暗号化方式のセキュリティレベルに応じて選択するように設計されている。
それら複数の暗号化方式として、例えば、いずれも規格IEEE802.11において定義されるAESと、TKIPと、WEP128と、WEP64とが使用される。いずれの暗号化方式も、秘密鍵暗号方式(データの暗号化と暗号化されたデータの復号化とに共通する暗号鍵を使用する方式)の暗号化技術である。それら4種類の暗号化方式は、その列記された順序でセキュリティレベルが低下するように定義されている。すなわち、WEP64に近づくほど、送受信されるデータの脆弱性が増加し、逆に、AESに近づくほど、送受信されるデータの機密性が向上するように定義されているのである。
本実施形態においては、複数のサブAP1ないし3に、各サブAPごとにセキュリティレベルが最高である暗号化方式の種類がそれらサブAP間において互いに異なるように、対応可能な暗号化方式が予め割り当てられている。
一例においては、図5に示すように、サブAP1には、対応可能な暗号化方式としてAES(最高セキュリティレベルの暗号化方式)のみが、サブAP2には、対応可能な暗号化方式としてTKIP(最高セキュリティレベルの暗号化方式)のみが、サブAP3には、暗号化方式としてWEP128およびWEP64の2種類(WEP128が、最高セキュリティレベルの暗号化方式)が、それぞれ予め割り当てられる。
このように、図5に示す例においては、サブAP1ないし3に、各サブAPごとにセキュリティレベルが最高である暗号化方式の種類がそれらサブAP1ないし3の間において互いに異なるように、対応可能な暗号化方式が予め割り当てられている。
ただし、複数のサブAPに対する暗号化方式の割り当て手法は、これに限定されず、例えば、それらサブAP1ないし3のうちの一部である複数のサブAPに共通に、セキュリティレベルが互いに異なる複数の暗号化方式(例えば、AES,TKIP,WEP128およびWEP64)のセットを、対応可能な暗号化方式として予め割り当てることが可能である。
図5に示す例においては、AP10に無線接続されるべき4台の端末が上から下に向かって、暗号化能力が低下する順に並べられ、その順序に従って、暗号化能力が順に低下する3つのサブAPにそれぞれ割り当てられる。この割り当ては、本実施形態においては、ユーザによって行われるが、CPU50が特定のプログラムを実行することによって自動的に行われるようにしてもよい。
具体的には、最も高い暗号化能力を有する端末No.1は、最も高い暗号化能力を有するサブAP1に割り当てられ、2番目に高い暗号化能力を有する端末No.2は、2番目に高い暗号化能力を有するサブAP2に割り当てられ、3番目に高い暗号化能力を有する端末No.3および最も低い暗号化能力を有する端末No.4はいずれも、最も低い暗号化能力を有するサブAP3に割り当てられる。
図5に示す例においては、端末No.1が最終的に採用することになるセキュリティレベル(図5においては、四角の枠で囲まれている。)は、他の端末No.2ないしNo.4がそれぞれ対応可能なセキュリティレベルとは無関係に決まり、また、端末No.2が最終的に採用することになるセキュリティレベルも、同様に、他の端末No.1、No.3およびNo.4がそれぞれ対応可能なセキュリティレベルとは無関係に決まる。なぜなら、それら端末No.1およびNo.2はいずれも、他の端末と共に、同じサブAPを共有するわけではないからである。
これに対し、図5に示すように、端末No.3が最終的に採用することになるセキュリティレベルは、端末No.1およびNo.2がそれぞれ対応可能なセキュリティレベルとは無関係に決まるが、端末No.4が対応可能なセキュリティレベルを考慮して決めなければならない。
同様に、端末No.4が最終的に採用することになるセキュリティレベルは、端末No.1およびNo.2がそれぞれ対応可能なセキュリティレベルとは無関係に決まるが、端末No.3が対応可能なセキュリティレベルを考慮して決めなければならない。なぜなら、それら端末No.3およびNo.4は、同じサブAPを共有し、かつ、そのサブAPは、対応可能な暗号化方式を2種類有するからである。
各端末20,22,24につき、最終的に採用されることになるセキュリティレベルを決定する手法のいくつかの具体例が日本国の公開公報である特開2005−175524号公報および特開2005−311653号公報に詳細に開示されている。したがって、ここではその手法につき、重複した説明を省略する。それら公報は、引用により、その全体が本明細書に合体させられる。
<APのソフトウエア構成>
図2に示すROM52には、無線LAN30内の端末20,22,24との通信や、インターネット34との接続に関する各種のプログラムと、そのプログラムの実行に必要なデータとが予め格納されている。
具体的には、ROM52に予め格納されているプログラムは、(a)前述のMAC実現用プログラム(図示しない)と、(b)各端末20,22,24との接続を確立するためにCPU50によって実行される接続確立プログラム(図6参照)と、(c)各端末20,22,24に予め割り当てられたMACアドレスを各サブAPごとに登録するためにCPU50によって実行されるMACアドレス登録プログラム(図示しない)とを有する。
図6に示す接続確立プログラムは、後に詳述するが、(a)上述のようにして暗号化方式を各サブAPごとに選択するためにCPU50によって実行される暗号化方式選択モジュールと、(b)最終的に採用されることになる暗号鍵を各サブAPごとに設定するためにCPU50によって実行される暗号鍵設定モジュールと、(c)各サブAPの起動・停止を制御するためにCPU50によって実行される起動・停止モジュールとを有する。
<端末のハードウエア構成>
各端末20,22,24は、図3(c)に示すように、よく知られているように、コンピュータ108を主体として構成されている。そのコンピュータ108は、よく知られているように、CPU110,ROM112およびRAM114がバス116によって互いに接続されて構成されている。各端末20,22,24は、さらに、記憶装置118としてのハードディスクやCD−ROMドライブ等を備えている。
各端末20,22,24には、図1および、1台の端末20のみを代表的に示す図3(b)に示すように、AP10との間での電波の送受信を可能にする無線LAN接続用デバイスとして、無線LANアダプタ120,122,124が着脱可能に装着されている。
各無線LANアダプタ120,122,124のデバイスドライバが、対応する端末20,22,24にインストールされ、それにより、各端末20,22,24は、装着された無線LANアダプタ120,122,124を認識し、無線LANアダプタ120,122,124を制御することが可能となる。無線LANアダプタ120,122,124にはそれぞれ、固有の識別番号であるMACアドレスが予め割り当てられている。
各無線LANアダプタ120,122,124には、図3(b)に示すように、ワンタッチ登録ボタン130,132,134が取り付けられている。各ワンタッチ登録ボタン130,132,134の機能は後述するが、それぞれの押下げ状態が、対応する端末20,22,24のCPU110によって検出可能となっている。
<端末のソフトウエア構成>
各端末20,22,24のROM112には、無線LAN30の使用に先立って特定のユーティリティプログラムがインストールされる。そのユーティリティプログラムは、(a)対応可能な複数の暗号化方式の中から、最終的に採用されることになる暗号化方式を選択するためにCPU110によって実行される暗号化方式選択モジュールと、(b)最終的に採用されることになる暗号鍵を設定するためにCPU110によって実行される暗号鍵設定モジュールとを有する。
次に、図6(a)および(b)にそれぞれ示す2つのフローチャートを参照することにより、AP10と各端末20,22,24との間において接続を確立するためにAP10と各端末20,22,24とにおいてそれぞれ実行される処理を詳細に説明する。
図6(a)に示すフローチャートは、各端末20,22,24において実行される接続処理であり、これは、各端末20,22,24のCPU110が前記暗号化方式選択モジュールと前記暗号鍵設定モジュールとを実行する処理に相当する。これに対し、図6(b)に示すフローチャートは、AP10において実行される接続処理であり、これは、AP10のCPU50が前記暗号化方式選択モジュールと前記暗号鍵設定モジュールと前記起動・停止モジュールとを実行する処理に相当する。
各端末20,22,24のユーザは、AP10との接続を希望する場合には、その接続に先立ち、AP10のワンタッチ登録ボタン80と、複数個のワンタッチ登録ボタン130,132,134のうち、自己の端末(以下、「対象端末」という。)に装着されている無線LANアダプタ120,122,124に対応するものとを一緒に操作する。
図6に示すステップS100において、対象端末のCPU110が、対応するワンタッチ登録ボタン130,132,134のユーザによる操作を検出すると、次に、ステップS101において、ワンタッチ登録モードが開始される。
ワンタッチ登録モードが開始されると、対象端末は、対応する無線LANアダプタ120,122,124のMACアドレスを特定し、無線LAN30に参加することを要求するデータに、そのMACアドレスをヘッダ情報として付加してなるパケットを、接続可能にアクセスポイントに向けて送信する。そのMACアドレスを受信したアクセスポイントは、そのMACアドレスを登録する。
続いて、ステップS102において、ステップS101の実行終了時から所定時間が経過したか否かが判定される。今回は、所定時間が経過していないと仮定すれば、その判定がNOとなり、ステップS103において、ワンタッチ登録モードに移行したアクセスポイントが探索される。
対象端末と通信可能なアクセスポイントが、今回は、AP10のみであると仮定すると、このステップS103においては、結局、AP10がワンタッチ登録モードに移行したか否かが判定されることになる。ただし、本実施形態においては、AP10が仮想的に1つの鍵交換用特殊サブAPZとして機能し、その鍵交換用特殊サブAPZは、特定のビーコンを送出する。
その送出されたビーコンを対象端末が受信すると、その対象端末は、ワンタッチ登録モードに移行したアクセスポイント(今回は、AP10(=鍵交換用特殊サブAPZ))が存在すると判定し、ステップS103の判定がYESとなる。このステップS103の判定がNOであると、ステップS102に戻る。ステップS101の実行終了時からの経過時間が前記所定時間を超えないうちにステップS103の判定がYESとなれば、ステップS104に進むが、そうではない場合には、ステップS112に進み、ワンタッチ登録モードが中断される。この場合には、以上で、今回の接続処理が終了する。
ステップS104においては、対象端末が、ワンタッチ登録モードに移行したAP10に対して接続を試行する。その後、ステップS105において、その接続の試行回数が所定回数を超えたために再試行を終了させるべきであるか否かが判定される。その試行回数が所定回数を超えた場合には、ステップS105の判定がYESとなり、ステップS102の判定がNOである場合と同様に、ステップS112において、ワンタッチ登録モードが中断される。
試行回数が前記所定回数を超えることなく、対象端末が、ワンタッチ登録モードに移行したAP10との接続に成功すると、ステップS105の判定がYESとなり、ステップS106に移行する。
このステップS106においては、後に詳述するが、対象端末が、AP10(正確には、鍵交換用特殊サブAPZ)との間において、セキュリティレベルに関する情報を表すパケット同士の交換を行う。すなわち、対象端末が、AP10との間において、暗号化方式の種類すなわち暗号化能力に関するネゴシエーションを行うのである。
続いて、ステップS107において、一連のパケット交換処理が完了したか否かが判定され、完了していなければ、ステップS106に戻り、完了したならば、ステップS108に進む。したがって、ステップS106の反復的実行が必要回数行われることにより、一連のパケット交換処理が完了する。
ところで、対象端末のユーザは、その対象端末のワンタッチ登録ボタン130,132,134を操作する時期とほぼ同じ時期に、AP10のワンタッチ登録ボタン80を操作するため、そのAP10においても、接続処理が開始される。
この際、ユーザは、図示しない操作部を操作することにより、AP10が多重的に仮想化された複数のサブAPのうちのいずれかを対象サブAPとして選択したうえで、ワンタッチ登録ボタン80を操作すると、ユーザは、その対象サブAPに対し、一度に1台の端末20,22または24のみとの接続を要求することができる。
したがって、同じ対象サブAPに結果的に複数台の端末20,22,24を接続することが必要である場合には、ユーザがワンタッチ登録ボタン80と、複数台の端末20,22,24のうちユーザによって選択された1台の端末のワンタッチ登録ボタン130との両方を操作するごとに、同じ対象サブAPに1台ずつ、その選択された端末20,22または24が接続されることになる。
ただし、ワンタッチ登録ボタン80を操作すると、ユーザは、対象サブAPに対し、一度に複数台の端末20,22,24との接続を要求することができる態様で本発明を実施することが可能である。
なお付言するに、本実施形態においては、前述のように、複数のサブAPに、各サブAPごとにセキュリティレベルが最高である暗号化方式の種類がそれらサブAP間において互いに異なるように、対応可能な暗号化方式が予め割り当てられている。したがって、ユーザは、例えば図5に示す例の如き手法に従い、対象端末に適合するセキュリティレベル、すなわち、対象端末の暗号化能力を踏まえて、それらサブAPのうちのいずれかを対象サブAPとして選択することになる。
上記接続処理においては、具体的には、まず、ステップS200において、AP10のCPU50が、ユーザによるワンタッチ登録ボタン80の操作を検出すると、次に、ステップS201において、ワンタッチ登録モードが開始される。
ワンタッチ登録モードが開始されると、図7に示すように、ステップS601において、鍵交換用特殊サブAPZの動作が開始される。具体的には、鍵交換用特殊サブAPZが有効にされるとともに、鍵交換用特殊サブAPZが前述の特定のビーコンを送出し、さらに、鍵交換用特殊サブAPZが、対象端末から、それのMACアドレスを含むパケットを受信し、その受信したパケットを登録する。
続いて、図6(b)に示すステップS202において、ステップS101の実行終了時から所定時間が経過したか否かが判定される。今回は、所定時間が経過していないと仮定すれば、その判定がNOとなり、ステップS203が、ステップS106とほぼ同じ時期に実行される。これに対し、今回は、ステップS101の実行終了時からの経過時間が前記所定時間を経過したと仮定すれば、ステップS202の判定がNOとなり、ステップS208に進み、ワンタッチ登録モードが中断される。この場合には、以上で、今回の接続処理が終了する。
ステップS203においては、後に詳述するが、AP10(正確には、鍵交換用特殊サブAPZ)が、対象端末との間において、セキュリティレベルに関する情報を表すパケット同士の交換を行う。すなわち、AP10が、対象端末との間において、AP10が対応可能な暗号化方式の種類すなわち暗号化能力に関するネゴシエーションを行うのである。
続いて、ステップS204において、一連のパケット交換処理が完了したか否かが判定され、完了していなければ、ステップS202に戻り、完了したならば、ステップS205に進む。したがって、ステップS203の反復的実行が必要回数行われることにより、一連のパケット交換処理が完了する。
以上説明したように、ステップS106およびS203が、対象端末およびAP10(正確には、鍵交換用特殊サブAPZ)においてそれぞれ、互いにほぼ同じ時期に実行されることにより、それら対象端末とAP10との間において、セキュリティレベルに関する情報を表すパケット同士の交換が行われる。
<セキュリティレベルに関する情報の交換>
ここで、それらステップS106およびS203において、セキュリティレベルに関する情報を対象端末とAP10との間において交換するために実行されるパケット交換処理を時系列的にさらに詳細に説明する。ステップS106の詳細は図8(a)、ステップS203の詳細は図8(b)にそれぞれフローチャートで表されている。
サブステップ1
まず、対象端末から、AP10に向けて、セキュリティ情報を作成することをAP10に要求するためのリクエストを送出する。
サブステップ2
次に、AP10から、対象端末に向けて、上記リクエストに対するレスポンスを表すリプライを送出する。このとき、AP10は、最初に、セキュリティ情報の作成リクエストを受領した時点で、各サブAPごとに、その使用中にAP10が対応可能である複数の暗号化方式のすべてにつき、個々に、暗号化方式の種類であるSecTypeと、暗号鍵の値であるSecKeyとを決定する。これにより、セキュリティ情報、すなわち、対応可能な暗号化方式の種類に関する情報が作成される。
本実施形態においては、AP10が、前述のように、各端末20,22,24との実質的な通信を行うために、暗号化方式の種類を差別化することが可能な複数のサブAPとして仮想的に多重化されている。すなわち、AP10は、マルチAPモードとして動作可能であるように設計されているのである。
サブステップ3
続いて、対象端末から、AP10に向けて、その対象端末が対応可能である少なくとも1つの暗号化方式の種類を表すデータを送出する。例えば、対象端末が、図5において端末No.1で示すように、AESと、TKIPと、WEP124と、WEP64とに対応可能である場合には、それら4つの暗号化方式の種類を表すデータをAP10に対して送出する。
サブステップ4
その後、AP10は、受信したデータに基づき、対象端末が対応可能である暗号化方式を特定し、それを踏まえて、AP10が、各サブAPごとに、対応可能な暗号化方式を絞り込む。
具体的には、図5に示すように、今回のサブAPが対応可能である暗号化方式がAESのみであり、かつ、対象端末が、図5において端末No.1で示すように、AESとTKIPとWEP168とWEP64とに対応可能である場合には、対象サブAPと対象端末とが、互いに共通して対応可能である暗号化方式が、AESのみとなる。よって、この場合には、対象端末の都合により、対象サブAPが対応可能である暗号化方式がAESのみに絞り込まれる。
また、図5に示すように、今回のサブAPが対応可能である暗号化方式がTKIPとWEP128とWEP64との3種類であり、かつ、対象端末が、図5において端末No.3で示すように、TKIPとWEP168とWEP64とに対応可能である端末と、端末No.4で示すように、WEP128とWEP64とに対応可能である端末とを含む場合には、対象サブAPとそれら2台の対象端末とが、互いに共通して対応可能である暗号化方式が、WEP128とWEP64との2種類となる。よって、この場合には、対象端末の都合により、対象サブAPが対応可能である暗号化方式が、WEP128およびWEP64の2種類に絞り込まれる。
以上説明した処理が、対象端末におけるステップS106とAP10におけるステップS203とが実行されることによって行われるセキュリティ情報パケットの交換処理である。このパケット交換処理中は、対象端末とAP10とは、相手側MACアドレスを特定した上で暗号化を行って互いに交信している。
一連のパケット交換処理が完了すると、AP10は、図6(b)に示すように、ステップS205において、複数のサブAPのうち、対象端末に接続される予定のもの(以下、「対象サブAP」という。)について、セキュリティレベルに関する情報が設定される。
このステップS205においては、図8(b)に詳細に示すように、まず、ステップS401において、AP10(正確には、対象サブAP)が、対象端末から通知された暗号化方式の種類の中からセキュリティレベルが最高であるものを、最終的に採用する暗号化方式の候補である候補暗号化方式として選択する。
このステップS401が実行されると、例えば、対象端末から、暗号化方式としてAESとTKIPとWEP128とWEP64とが通知された場合には、セキュリティレベルが最高である暗号化方式は、AESであり、これが、候補暗号化方式として選択される。
その後、ステップS402において、対象サブAPは、ステップS401において選択された候補暗号化方式のセキュリティレベルと、現在の最高セキュリティレベルとを互いに比較する。ここで、「現在の最高セキュリティレベル」とは、対象サブAPが対応可能である少なくとも1つの暗号化方式を、上述のようにして、対象端末が対応可能な暗号化方式をもとに絞り込んだ暗号化方式の中でセキュリティレベルが最も高いものを意味する。
なお付言するに、対象端末が、対象サブAPが最初にセキュリティ情報パケットの交換処理を行った端末である場合には、その交換処理の時点では、対象サブAPが採用する暗号化方式が、その対象端末から通知された暗号化方式の中のセキュリティレベルが最高のものと一致する。
しかし、対象端末が、対象サブAPが最初にセキュリティ情報パケットの交換処理を行った端末ではない場合には、その交換処理の時点では、対象サブAPが採用する暗号化方式が、過去に無線接続された別の端末が対応可能な暗号化方式のもとにセキュリティレベルが低下させられている可能性があるため、対象端末から通知された暗号化方式の中のセキュリティレベルが最高のものと一致するとは限らない。
今回は、候補暗号化方式のセキュリティレベルが、現在の最高セキュリティレベルより高いと仮定すると、ステップS402の判定がYESとなり、ステップS403において、対象サブAPが採用する暗号化方式がこれまでと同じものに維持され、その結果、対象サブAPのセキュリティレベルが、現在の最高セキュリティレベルに維持される。
これに対して、今回は、候補暗号化方式のセキュリティレベルが、現在の最高セキュリティレベルと一致するかまたはそれより低いと仮定すると、ステップS402の判定がNOとなり、ステップS404において、候補暗号化方式が、対象サブAPが採用する暗号化方式として採用される。
なお付言するに、それらステップS402ないしS404の実行内容は、ユーザがセキュリティレベルを設定する際のポリシーの一例を反映するものであるから、これに限定されない。
AP10の側におけるセキュリティ情報のパケット交換処理を終了すると、図6に示すように、ステップS205において、ステップS203の実行結果が反映されるようにセキュリティ情報が設定される。
具体的には、図8に示すステップS403またはS404の実行によって決定された暗号化方式の種類が、(a)対象サブAPと対象端末との間の暗号化通信において最終的に採用することになる暗号化方式の種類であることと、(b)その種類の暗号化方式に対応する対象端末のID(すなわち、ステーションID)と暗号鍵の値とが、その後の無線通信のための暗号化と復号化とに採用される旨の情報が設定される。
その後、図6に示すステップS206において、各サブAPごとに、動作の開始または停止が行われる。
このステップS206の詳細が、図9にフローチャートで概念的に表されている。このステップS206においては、まず、ステップS501において、サブAP1に接続可能な端末の情報が存在するか否かが判定される。存在する場合には、ステップS502において、サブAP1の動作が開始されるが、存在しない場合には、ステップS503において、サブAP1の動作が停止させられる。
いずれの場合にも、その後、ステップS504において、サブAP2に接続可能な端末の情報が存在するか否かが判定される。存在する場合には、ステップS505において、サブAP2の動作が開始されるが、存在しない場合には、ステップS506において、サブAP2の動作が停止させられる。
いずれの場合にも、その後、ステップS507において、サブAP3に接続可能な端末の情報が存在するか否かが判定される。存在する場合には、ステップS508において、サブAP3の動作が開始されるが、存在しない場合には、ステップS509において、サブAP3の動作が停止させられる。
以上のようにして図6に示すステップS206の実行が終了すると、続いて、ステップS207において、動作中の各サブAPにつき、AP10の動作モードがワンタッチ登録モードから通常の無線交信モードに切り替えられる。ステップS202の判定がYESとなった場合にも、同様に、ステップS208において、ワンタッチ登録モードが終了させられるが、この場合には、パケット通信もセキュリティレベルの登録も完了していない状態でワンタッチ登録モードが終了させられる。
これに対し、対象端末の側においては、一連のパケット交換が完了すると、ステップS108において、ステップS107の判定がYESとなった時期からの経過時間が所定時間を超えたか否かが判定される。今回は、所定時間を超えていないと仮定すると、ステップS109において、AP10から受信したセキュリティ情報から、動作中のサブAPであって無線交信モードにあるものが発見されたか否かが判定される。
具体的には、まず、対象端末は、アクセス可能なサブAPのSSIDを取得する。この手続は、規格IEEE802.11に規定された通信に関する仕様に従って実行されるものであり、対象端末においては、サブAPから送出された特定のビーコンを受信することにより、現在アクセス可能なサブAPのSSIDを取得することができる。なぜなら、その特定のビーコンに、サブAPのSSIDが埋め込まれているからである。さらに、その取得されたサブAPのSSIDと、先に受信したセキュリティ情報とが互いに比較される。その比較により、サブAPが、対象端末との通信(暗号化および復号化)のために採用する暗号化方式と暗号鍵の値とが特定される。
ステップS107の判定がYESとなった時期からの経過時間が前記所定時間を超えないうちに、動作中のサブAPであって無線交信モードにあるものを発見することができなかった場合には、ステップS109の判定がNOとなった後にステップS108がYES
となり、その後、ステップS112において、今回のワンタッチ登録モードが中断される。
これに対し、ステップS107の判定がYESとなった時期からの経過時間が前記所定時間を超えないうちに、動作中のサブAPであって無線交信モードにあるものを発見することができた場合には、ステップS108の判定がYESとなる前にステップS109の判定がYESとなり、その結果、ステップS110に進む。
このステップS110においては、発見されたサブAPの状態に合わせて、そのサブAPから受信したセキュリティ情報が対象端末内に設定される。その結果、対象端末においては、サブAPから受信したセキュリティ情報に含まれる暗号化方式の種類と暗号鍵の値とが、対象端末において、その後の暗号化と復号化とに利用される。
その後、ステップS111において、対象端末が、発見されたサブAPに接続される。対象端末は、続いて、そのサブAPとの接続状態を定期的に監視するために接続監視モードを開始する。
対象端末が、AP10との接続状態を定期的に監視する手法のいくつかの具体例が日本国の公開公報である特開2005−175524号公報および特開2005−311653号公報に詳細に開示されている。したがって、ここではその手法につき、重複した説明を省略する。それら公報は、引用により、その全体が本明細書に合体させられる。
<初期設定後におけるサブAPの停止>
本実施形態においては、AP10が、ワンタッチ登録ボタン80の初回の操作に応答して少なくとも1つの端末20,22,24との接続が確立された後、すなわち、それぞれが採用すべき暗号化方式の種類に関する初回のネゴシエーションの終了後に、各サブAPごとに、各端末20,22,24との接続状態を定期的に監視するように設計されている。AP10は、さらに、その接続監視中、いずれの端末20,22,24とも接続されていないサブAPについては、その動作を停止させるように設計されている。
そのために、サブAP停止プログラムがAP10のCPU50によって実行される。そのサブAP停止プログラムは、ROM52に予め格納されている。
図10には、そのサブAP停止プログラムがフローチャートで概念的に表されている。このサブAP停止プログラムが起動すると、まず、ステップS601において、サブAP1に少なくとも1つの端末20,22,24が接続中であるか否かが判定される。今回は、サブAP1にいずれの端末20,22,24も接続されていないと仮定すると、ステップS601の判定がNOとなり、ステップS602において、サブAP1の動作が停止させられる。
これに対し、今回は、サブAP1に少なくとも1つの端末20,22,24が接続中であると仮定すれば、ステップS601の判定がYESとなり、ステップS602がスキップされた後、ステップS603に移行する。
このステップS603においては、サブAP2に少なくとも1つの端末20,22,24が接続中であるか否かが判定される。今回は、サブAP2にいずれの端末20,22,24も接続されていないと仮定すれば、ステップS603の判定がNOとなり、ステップS604において、サブAP2の動作が停止させられる。
これに対し、今回は、サブAP2に少なくとも1つの端末20,22,24が接続中であると仮定すれば、ステップS603の判定がYESとなり、ステップS604がスキップされた後、ステップS605に移行する。
このステップS605においては、サブAP3に少なくとも1つの端末20,22,24が接続中であるか否かが判定される。今回は、サブAP3にいずれの端末20,22,24も接続されていないと仮定すれば、ステップS605の判定がNOとなり、ステップS606において、サブAP3の動作が停止させられる。
これに対し、今回は、サブAP3に少なくとも1つの端末20,22,24が接続中であると仮定すれば、ステップS605の判定がYESとなり、ステップS606がスキップされた後、ステップS607に移行する。
このステップS607においては、一定時間が経過するのが待たれる。その後、ステップS601ないしS606の2回目の実行が行われる。それらステップS601ないしS607の実行は、AP10の電源がオフにされるまで、反復され、その結果、各サブAPごとに、各端末20,22,24との接続状態が定期的に監視される。
このサブAP停止プログラムが実行されるおかげで、ワンタッチ登録ボタン80の初回の操作に応答してAP10と複数の端末20,22,24との間に接続が確立された後に少なくとも1つの端末20,22,24が無線LAN30から脱退し、かつ、その脱退に伴って動作不要となったサブAPが出現した場合に、そのサブAPが無駄に動作状態に維持されてしまうことが防止される。一方、動作不要となったサブAPを停止させることは、AP10のセキュリティを向上させる観点や、AP10を動作させるためにAP10に課される負荷を低減させる観点から望ましい。
<初期設定後におけるサブAPの起動>
本実施形態においては、AP10が、ワンタッチ登録ボタン80の初回の操作に応答して少なくとも1つの端末20,22,24との接続が確立された後、すなわち、それぞれが採用すべき暗号化方式の種類に関する初回のネゴシエーションの終了後に、ワンタッチ登録ボタン80がユーザによって再度操作されるごとに、またはワンタッチ登録ボタン80とは別の操作部材がユーザによって操作されるごとに、各操作に応答して、すべてのサブAPの動作を開始するように設計されている。
そのために、サブAP開始プログラムがAP10のCPU50によって実行される。そのサブAP開始プログラムは、ROM52に予め格納されている。
図11には、そのサブAP開始プログラムがフローチャートで概念的に表されている。このサブAP開始プログラムが起動すると、ステップS701において、すべてのサブAP、すなわち、本実施形態においては、サブAP1ないし3の動作が開始される。
このサブAP開始プログラムが実行されるおかげで、ワンタッチ登録ボタン80の初回の操作に応答してAP10と少なくとも1つの端末20,22,24との接続が確立された後に別の端末が無線LAN30に加入しようとし、かつ、その加入に伴って動作が必要となったサブAPが出現した場合に、そのサブAPが停止状態に維持されて無線LAN30のリソースの全体を効率よく利用できない事態の発生が防止される。
本実施形態においては、複数のサブAPおよび複数の端末20,22,24がそれぞれ採用すべき暗号化方式の種類を決定するための初回のネゴシエーションの終了後に、ワンタッチ登録ボタン80がユーザによって再度操作される(前記(6)項における「第2のリクエスト」の一例)か、またはワンタッチ登録ボタン80とは別の操作部材がユーザによって操作される(前記(6)項における「第2のリクエスト」の別の例)と、サブAP開始プログラムの実行により、すべてのサブAPの動作が開始される。
なお付言するに、本実施形態においては、ユーザがAP10に対して上記「第1のリクエスト」および「第2のリクエスト」をそれぞれ行うために、物理的存在としてのワンタッチ登録ボタン80またはそれとは別の操作部材が使用されるが、それらワンタッチ登録ボタン80および別の操作部材は、同じネットワークに接続されたPCの画面上に表示される仮想的なボタンに変更し、そのボタンの操作に応答してそのPCから送信される特定の信号をAP10が受信することに応答して、AP10が、対応する動作を開始するようにしてもよい。すなわち、AP10に特定の動作を行わせるために物理的存在としてのワンタッチ登録ボタン80または別の操作部材を用意することは本発明を実施するために不可欠なことではないのである。
その後、それらサブAPと、それらサブAPに現に接続されているかまたはこれから接続されようとしている端末20,22,24との間における暗号化方式の種類を決定するための再度のネゴシエーションが、図6に表されるような手順で行われる。その結果、各サブAPごとに、各端末20,22,24が採用すべき暗号化方式の種類が改めて決定される。すなわち、各サブAPと端末との間における最新の接続状態が反映されるように、そのサブAPに採用される暗号化方式のセキュリティレベルが更新されるのである。
以上の説明から明らかなように、本実施形態においては、AP10が、対応可能なセキュリティレベルに関して多重化された複数のサブAPに仮想化されており、しかも、それら複数のサブAPが、それぞれが対応可能なセキュリティレベルの設定に関して互いに独立している。
したがって、本実施形態によれば、互いに異なる複数のサブAPにそれぞれ接続される複数の端末が、それぞれが対応可能なセキュリティレベルに関して互いに異なる場合に、あるサブAPに属する端末が最終的に採用することになるセキュリティレベルが、他のサブAPに属する端末が対応可能なセキュリティレベルに依存せずに済む。
その結果、例えば、あるサブAPに属する端末が最終的に採用することになるセキュリティレベルを決定する際に、他のサブAPに属する端末が対応可能なセキュリティレベルが低いことが原因で、そのあるサブAPに属する端末が最終的に採用することになるセキュリティレベルが低い側に引っ張られてしまうことが防止される。
ところで、従来においては、AP10と各端末とに共通に採用される最適な暗号化方式を選択するためにそれらAP10と各端末との間において暗号鍵交換が行われる際には、データ通信に使用されるAP10のSSIDとは異なるSSIDが使用される。SSIDの切替えが必要なのであり、そのため、暗号鍵交換の実行が原因でデータ通信が一時的に途切れてしまう。
これに対し、本実施形態においては、複数のサブAPが、動作上、互いに独立しており、しかも、各端末とのデータ通信のためのサブAPと、各端末との暗号鍵交換のためのサブAPとが互いに分離している。したがって、暗号鍵交換の実行が原因でデータ通信が一時的に途切れてしまう事態の発生が回避される。
以上の説明から明らかなように、本実施形態においては、説明の便宜上、サブAP1ないし3がそれぞれ、前記(1)項における「通常サブアクセスポイント」の一例を構成し、AP10の前記コンピュータのうち、図8に示すステップS401ないし404を実行する部分が、前記(2)項における「セレクタ」の一例を構成していると考えることが可能である。
さらに、本実施形態においては、説明の便宜上、鍵交換用特殊サブAPZが前記(3)項における「特殊サブアクセスポイント」の一例を構成し、AP10の前記コンピュータのうち、図6に示すステップS206(図9参照)を実行する部分が、前記(4)項における「起動・停止手段」の一例を構成していると考えることが可能である。
さらに、本実施形態においては、説明の便宜上、AP10の前記コンピュータのうち、図10に示すサブAP停止プログラムを実行する部分が、前記(5)項における「停止手段」の一例を構成し、AP10の前記コンピュータのうち、図11に示すサブAP開始プログラムを実行する部分が、前記(6)項における「起動手段」の一例を構成していると考えることが可能である。
さらに、本実施形態においては、説明の便宜上、MAC100が、前記(7)項における「1つの物理MAC」の一例を構成し、各仮想MAC1,2,3が、同項における「仮想MAC」の一例を構成し、各仮想MAC1,2,3のSSIDが、同項における「識別子」の一例を構成していると考えることが可能である。
なお付言するに、本実施形態においては、前記(1)項における「複数のサブアクセスポイント」が、物理的には1つしか存在しないが論理的には複数存在する仮想的なサブAPとして具体化されているが、これに限定されることなく、例えば、ハウジング40内に収容された複数の物理的存在であるサブアクセスポイントとして具体化してもよい。この場合、それら複数の物理的なサブアクセスポイントはそれぞれ、対応する物理的なMACを有するように構成されることになる。
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。