以下、本発明の一実施形態について、図面を参照して説明する。図1を参照し、通信システム1について説明する。通信システム1は、無線LAN親機(以下、「無線親機」という。)2、無線LAN子機(以下、「無線子機」という。)3、情報端末4、および通話端末5を備える。無線親機2は、IP(Internet Protocol)網11およびPSTN(Public Switched Telephone Networks)網12に接続する。情報端末4は、IP網11を介して無線親機2と接続する。通話端末5は、PSTN網12を介して無線親機2と接続する。無線親機2、情報端末4、および通話端末5は、同一の施設10内に設けられる。なお施設10とは、敷地や建物に限定されず、例えば、本社−支社や本社−工場のように距離的に離れた拠点を結ぶ広域通信網を介して通信を行うことが可能な領域を含む。情報端末4および通話端末5は、施設10に属する社員17が所有する。一方、無線子機3は、施設10に来訪する来訪者16が所有する情報機器である。以下、情報端末4および通話端末5を総称し、「通信端末6」ともいう。IP網11およびPSTN網12を総称し、「通信網13」ともいう。
無線親機2は、無線LAN規格に基づき無線子機3との間で無線通信を行うことによって、構内に敷設されたIP網11に接続するサーバ(図示外)およびデータベース(図示外)と無線子機3とを相互に接続する。無線子機3は、無線LAN規格に基づき無線親機2と無線通信を行うことによって、IP網11に接続するサーバおよびデータベースを使用することが可能になる。情報端末4は、IP網11を介して無線親機2とデータ通信を行う。通話端末5は、PSTN網12を介して無線親機2と通話のための通信を行う。以下、IP網11に接続するサーバおよびデータベースを使用することを、「IP網11を使用する」という。無線親機2の例として、アクセスポイントが挙げられる。無線子機3の例として、周知の無線LANクライアントが挙げられる。情報端末4の例として、PCが挙げられる。通話端末5の例として、アナログ電話やPHSが挙げられる。
なお図1の通信システム1では、情報端末4はIP網11を介して無線親機2と接続する。これに対して情報端末4は、無線LAN規格に基づき無線親機2と無線通信を行なってもよい。即ち情報端末4は、無線親機2の無線LANクライアント(無線子機)であってもよい。また通話端末5は、IP網11を介してデータ通信を行うことが可能なデジタル通話端末であってもよい。例えば通話端末5はSIP(Session Initiation Protocol)端末であってもよい。
無線親機2の電気的構成について説明する。無線親機2は、無線親機2の制御を司るCPU21を備える。CPU21は、ROM22、RAM23、フラッシュメモリ24、無線インタフェース(以下、無線I/Fという。)25、LANインタフェース(以下、LAN I/Fという。)26、およびForeign Exchange Officeインタフェース(以下、FXO I/Fという。)27と電気的に接続する。ROM22は、書き換え可能な不揮発性メモリである。ROM22には、ブートプログラム、BIOS、OS等が記憶される。RAM23には、タイマやカウンタ、一時的なデータが記憶される。フラッシュメモリ24には、CPU21の制御プログラムが記憶される。またフラッシュメモリ24には、第一テーブル241(図4参照)、および第二テーブル242(図10参照)が記憶される。またフラッシュメモリ24には、無線親機2を識別するSSID(Service Set Identifier)が記憶される。無線I/F25は、無線子機3と無線通信を行うためのインタフェースである。LAN I/F26は、情報端末4とIP網11を介して通信を行うためのインタフェースである。FXO I/F27は、通話端末5とPSTN網12を介して通信を行うためのインタフェースである。FXO I/F27は、アナログ信号をデジタル信号に変換する機能、およびデジタル信号をアナログ信号に変換する機能を備える。
なお以下では、フラッシュメモリ24に一のSSIDが記憶されることを想定する。無線親機2には一のSSIDが設定されていることになる。なお本発明では、フラッシュメモリ24に複数のSSIDが記憶されてもよい。無線親機2に複数のSSIDが設定されてもよい。
無線親機2と無線子機3との間で実行される無線通信の概要について説明する。無線親機2は、パスワードに基づいて認証を行うことによって、無線通信を行う無線子機3を制限する。従って、無線子機3が無線親機2と無線通信を行い、IP網11を使用するためには、無線子機3にパスワードが設定される必要がある。しかながらパスワードは、通常、施設10の社員17に対してのみ発行される。理由は、社員17の使用する無線子機(図示せず)に対してのみ無線親機2との通信を許可し、来訪者16が所有する無線子機3がIP網11を使用することを制限することによって、IP網11のセキュリティを高めるためである。このため原則は、来訪者16に対してパスワードが発行されないことになるので、無線子機3は無線親機2と無線通信を行うことができず、施設10への来訪時であってもIP網11を使用できない。
しかしながら社員17が、施設10に一時的に来訪する来訪者16に対して、無線子機3による通信網13の使用を時限的に許可したい場合もある。このような場合に無線親機2は、有効期間の限定されたパスワードを生成し、来訪者16に発行する。このパスワードは、社員17に対して発行されるパスワードとは異なり、有効期間の経過後は無効となる。来訪者16が複数である場合、対応する有効期間はそれぞれ異なるので、無線親機2は、有効期間の異なるパスワードを来訪者16毎に生成し、発行する。
本実施形態において、無線親機2は、生成した一以上のパスワードを、無線親機2に設定された一のSSIDに対応付けて管理する。このため従来の無線LAN親機のように、複数のパスワードに対応付ける複数のSSIDを予め設定しておく必要がない。無線親機2は、設定されたSSID毎に周波数チャネルを割り当てるので、無線親機2に対して設定されるSSIDの数が少ない程、使用される周波数チャネルの数も少なくなる。このため、一のSSIDのみ設定された無線親機2では、他の無線親機2との間で周波数チャネルが重なり難くなる。結果、他の無線親機との間の周波数チャネルの干渉は生じ難くなるので、無線親機は、無線通信の信頼性を良好な状態で維持できる。以下詳説する。
図2および図3を参照し、無線子機3によるIP網11の使用が可能となるまでの通信シーケンスについて説明する。はじめに図2を参照し、社員17が情報端末4を使用することによって、無線子機3によるIP網11の使用権限を無線親機2に対して要求する場合について説明する。
来訪者16が、施設10(図1参照)への来訪時、IP網11の使用を希望していたとする。来訪者16は、施設10への来訪前又は来訪時に、無線親機3によるIP網11の使用を希望する旨を、社員17に対して連絡する(S205)。なお、IP網11の使用を希望する旨の連絡の方法は特に限定されない。例えば来訪者16は、社員17の通話端末5に対して電話をかけ、IP網11の使用を希望する旨を連絡してもよい。また例えば来訪者16は、IP網11の使用を希望する旨の電子メールを、社員17の情報端末4に対して送信してもよい。また例えば来訪者16は、社員17に対して口頭で、IP網11の使用を希望する旨を連絡してもよい。
IP網11の使用を希望する旨の連絡を受けた社員17は、情報端末4に対してログイン操作を行う(S207)。ログイン操作では、無線親機2のユーザ名およびパスワードが情報端末4に入力される。入力操作を受け付けた情報端末4は、IP網11を介して無線親機2に対して、IP網11の使用権限を要求する権限要求を送信する。情報端末4は、入力されたユーザ名およびパスワードを、権限要求とともに無線親機2に対して送信する。無線親機2は、権限要求、ユーザ名、およびパスワードを受信する(S209)。
無線親機2は、権限要求とともに受信したユーザ名及びパスワードが、無線親機2のユーザ名およびパスワードと一致するかを判断する。ユーザ名およびパスワードが一致した場合、無線親機2は、情報端末4から送信された権限要求に応じ、IP網11の使用権限を与える。一方、受信したユーザ名およびパスワードが、無線親機2のユーザ名およびパスワードと一致しない場合、無線親機2は、情報端末4から送信された権限要求に応じず、IP網11の使用権限を与えない。なお、「使用権限を与える」とは、認証用のパスワード(詳細後述)の発行を、無線子機3に対して認めることを意味する。従って、使用権限が与えられても、認証用のパスワードによって認証されなければ、無線子機3はIP網11を使用できるようにならない。詳細は後述する。
なお、ログインの方法は上述の方法に限定されない。例えば情報端末4に対して、情報端末4に予め割り当てられたアカウントおよびパスワードが入力されてもよい。また無線親機2は、IP網11の使用権限を与える情報端末4のアカウントおよびパスワードを、予めフラッシュメモリ24に記憶しておいてもよい。無線親機2は、受け付けたアカウント及びパスワードが、フラッシュメモリ24に記憶されている場合に、情報端末4が社員17によって使用されていると判断し、情報端末4に対してIP網11の使用権限を与えてもよい。このように無線親機2は、アカウントおよびパスワードに基づいて情報端末4からの権限要求が有効であるかを判断してもよい。
無線親機2は、IP網11の使用権限を与える場合、認証用のパスワードを次のようにして生成する。はじめに無線親機2は、パスワードを生成するために必要な情報を入力可能な画面のデータを、IP網11を介して情報端末4に送信する(S211)。無線親機2がパスワードを生成するために必要な情報は、端末数、有効期間、および電話番号である。端末数は、使用権限を要求する無線子機3の数を示す。有効期間は、使用権限が有効な期間を示す。電話番号は、権限要求を送信した情報端末4を使用する社員17が、情報端末4とともに使用する通話端末5の電話番号を示す。なお通話端末5は、社員17が有効期限を延長する場合に使用される。詳細は後述する。
情報端末4は、画面のデータを受信する(S211)。情報端末4は、受信した画面のデータに基づき、ディスプレイに画面を表示する。社員17は、端末数、有効期間、および電話番号を入力することが可能な状態になる。社員17は、使用権限を要求する無線子機3の端末数、有効期間、および電話番号の入力操作を、情報端末4に対して行う(S213)。情報端末4は、入力された端末数、有効期間、および電話番号を、IP網11を介して無線親機2に対して送信する。無線親機2は、端末数、有効期間、および電話番号を受信する(S215)。無線親機2は、認証用のパスワードとしてPSK(Pre-Shared Key)を生成する(S217)。無線親機2は、生成したPSK、S215で受信した有効期間および電話番号を対応付けて、第一テーブル241(図4参照)に記憶する(S219)。
図4を参照し、第一テーブル241について説明する。第一テーブル241には、PSK、PMK(Pairwise Master Key)、MACアドレス、フラグ情報、有効期間、および電話番号が記憶される。PSKは、S217(図2参照)で生成されたPSKである。PMKは、PSKに基づいて生成される暗号化鍵である。MACアドレスは、無線子機3のMACアドレスである。フラグ情報は、対応するMACアドレスが第一テーブル241に記憶されているかを示す情報である。対応するMACアドレスが第一テーブル241に記憶されていない場合、フラグ情報として0が記憶される。対応するMACアドレスが第一テーブル241に記憶されている場合、フラグ情報として1が記憶される。有効期間および電話番号は、S215(図2参照)で受信した有効期間および電話番号である。なお第一テーブル241のうちPSK0は、S209において受信したユーザ名及びパスワードが、無線親機2のユーザ名およびパスワードと一致する情報端末、すなわち社員17の情報端末4により使用されるPSKである。なおPSK0は、MACアドレス、有効期間、および電話番号が対応付けられず、S205における使用要求の処理以前に、情報端末4、および無線親機2に記憶される。
なお第一テーブル241は、無線親機2に対して設定されるSSID毎に設けられる。本実施形態では、フラッシュメモリ24(図1参照)に一のSSIDが記憶されることによって、無線親機2に一のSSIDが設定されている。従って、一のSSIDに対応する一の第一テーブル241がフラッシュメモリ24に記憶される。なお本実施形態とは異なり、複数のSSIDが無線親機2に設定される場合、SSIDの数分の第一テーブル241がフラッシュメモリ24に記憶されることになる。図4で示されるように、無線親機2は、PSKを複数生成し、第一テーブル241に記憶することができる。これによって無線親機2は、複数の無線子機3を認証し、複数の無線子機3と同時期に無線通信を行うことが可能となる。
S219(図2参照)では、S217(図2参照)で生成されたPSK、PSKに基づいて生成されたPMK、S215(図2参照)で受信された有効期間および電話番号、およびフラグ情報が、第一テーブル241に記憶される。S215で受信した端末数が二以上である場合、S217で生成されたPSKは、第一テーブル241に端末数分記憶される。例えば、受信された端末数が3台の場合、図4に示すように、第一テーブル241に対してPSK3が3つ記憶される。無線子機3のMACアドレスは、この時点では第一テーブル241に記憶されていないので、フラグ情報として0が記憶される。なお、PMKおよびMACアドレスは、認証通信時(S229参照、後述)に記憶される。
無線親機2は、図4で示されるように、複数のPSK(PSK0、PSK1、・・・)をSSID(0001)に対応付けて第一テーブル241に記憶する。このため、PSKによって無線通信の認証を行う無線子機3が複数存在する場合でも、無線親機2には一のSSIDが設定されていればよいことになる。このため、無線親機2と無線子機3との間で無線通信が実行される場合に使用される周波数チャネルであって、SSID毎に割り当てられる周波数チャネルの数が増加することを防止できる。従って、周波数チャネルの増加に伴い、他の無線親機2との間で周波数チャネルの干渉が発生し、無線親機2と無線子機3との間の無線通信の信頼性が低下することを抑止できる。なお来訪者16は、共通のPSKを二以上の無線子機3に設定することによって、複数の無線子機3による通信網13の使用を可能とすることができる。
図2に示すように、無線親機2は、S217で生成したPSKを通知するPSK通知を、権限要求を送信した情報端末4に対して送信する(S221)。情報端末4はPSK通知を受信する。情報端末4は、受信したPSK通知に基づき、PSKをディスプレイに表示する。社員17は、無線親機2によって生成されたPSKを認識する。社員17は、ディスプレイに表示されたPSKを、通信網13の使用を希望する来訪者16に対して連絡する(S223)。なお、PSKの連絡の方法は特に限定されない。例えば社員17は、PSKを含む電子メールを、来訪者16の無線子機3に対して送信してもよい。また例えば社員17は、来訪者16に対して口頭で、PSKを連絡してもよい。また、S213においてメールアドレスなどの無線子機3の連絡先が無線親機2に送信され、S221の処理で、無線子機3にPSK通知が送信されても良い。
PSKの連絡を受けた来訪者16は、PSKを設定するための入力操作を、無線子機3に対して行う(S225)。無線子機3を所有する来訪者16が施設10に来訪し、無線親機2との無線通信が可能な領域に、無線子機3が入ったとする。無線子機3は、無線親機2との間の無線通信の開始を要求する開始要求を、無線親機2に対して送信する。無線親機2は開始要求を受信する(S227)。無線親機2と無線子機3との間で、認証通信が実行される(S229)。認証通信では、S217で生成されたPSKに基づき、無線親機2が無線子機3を認証する。認証通信の詳細は、図6を参照して後述する。無線親機2が無線子機3の認証に成功した場合、無線親機2と無線子機3との間で無線通信が開始される。無線子機3は、無線親機2との間で無線通信を実行することによって(S231)、通信網13が使用できるようになる。
なお、無線親機2と無線子機3との間で無線通信が可能となり、無線子機3がIP網11を使用可能な状態になった後も、無線親機2と無線子機3との間で認証通信は周期的に実行される(S233)。これによって無線親機2は、無線子機3以外の他の無線子機によってIP網11が使用されることを防止し、IP網11のセキュリティを維持する。
無線子機3がIP網11を使用できる状態は、原則として、生成されたPSKが第一テーブル241に記憶(S219参照)されてからの経過時間Tが有効期間内である間、継続する。PSKが第一テーブル241に記憶されてからの経過時間Tが有効期間を超えた場合、無線親機2は、有効期間が延長された(図5参照、後述)場合を除き、使用権限を無効にする。具体的には、無線親機2は、第一テーブル241に記憶された情報のうち、使用権限を無効にするPSK、およびこのPSKに対応付けられた情報を削除する。これによって無線子機3は、無線親機2との間の無線通信ができなくなる。無線親機2と無線子機3との間の無線通信は終了し(S235)、無線子機3はIP網11を使用できなくなる。このように無線親機2は、無線子機3との間の無線通信を時限的に許可することができる。これによって無線親機2は、IP網11の安全性を良好に維持している。
次に図3を参照し、社員17が通話端末5を使用することによって、無線子機3によるIP網11の使用権限を無線親機2に対して要求する場合について説明する。図2の通信シーケンスと同一又は類似する処理部分については、説明を省略しまたは簡略化する。
通話端末5は、PSTN網12(図1参照)を介して無線親機2に発呼することによって、無線親機2との間の回線を接続する。無線親機2は、例えば自動音声応答機能(IVR、Interactive Voice Response)で応答し、通話端末5に登録要求の案内をする。通話端末5は、接続した回線を使用し、通話端末5の電話番号を示すDual Tone Multi-Frequency(DTMF)信号を、無線親機2に対して送信する。送信されるDTMF信号は、電話番号の登録を要求する登録要求に相当する。無線親機2は登録要求を受信する(S231)。無線親機2は、受信した登録要求に基づき、通話端末5のIDと電話番号とを対応付け、フラッシュメモリ24に記憶する。これによって無線親機2は、通話端末5を登録する(S233)。通話端末5はオンフックし、無線親機2と通話端末5との間の回線は切断する。
通信網13の使用を希望する旨を、来訪者16が社員17に対して連絡したとする(S235)。連絡を受けた社員17は、無線親機2の電話番号の入力操作を通話端末5に対して行う(S237)。入力操作を受け付けた通話端末5は、PSTN網12を介して無線親機2に発呼する(S239)。通話端末5と無線親機2との間の回線は接続する。無線親機2は、例えばIVR応答し、通話端末5に、通信網13の使用権限を要求する権限要求の案内をする。通話端末5は、権限要求を示すDTMF信号を、接続された回線を使用して無線親機2に送信する。無線親機2はDTMF信号を受信する(S239)。
無線親機2は、権限要求を示すDTMF信号を送信した通話端末5の電話番号が、フラッシュメモリ24に記憶されているかを判断する。通話端末5の電話番号がフラッシュメモリ24に記憶されている場合、無線親機2は、通話端末5から送信された権限要求を示すDTMF信号に応じ、通信網13の使用権限を与える。
無線親機2は、通信網13の使用権限を与える場合、認証用のパスワードを次のようにして生成する。無線親機2は、IVRを使用し、通話端末5に対して所定音声データを自動送信する(S241)。なお以下、IVRを使用して所定音声データを自動送信することを、「IVRを送信する。」といい、自動送信された所定音声データを受信することを、「IVRを受信する。」という。所定音声データは、通話端末5を使用する社員17に対して、端末数の入力操作を促す音声のデータである。所定音声は、例えば「使用権限を要求する無線LAN子機の台数を押してください。」である。通話端末5はIVRを受信する。通話端末5は、受信したIVRに基づき、所定音声をスピーカから出力する。社員17は、使用権限を要求する無線子機3の端末数に相当する番号を、通話端末5に対して入力する(S243)。通話端末5は、入力された番号を通知するためのDTMF信号を、無線親機2に対して送信する。無線親機2はDTMF信号を受信し(S245)、端末数を取得する。
次に無線親機2は、通話端末5に対してIVRを送信する(S247)。IVRによって送信される所定音声データは、通話端末5を使用する社員17に対して、使用権限の有効期間の入力操作を促す音声のデータである。所定音声は、例えば「希望される有効期間を押してください」である。通話端末5は、IVRを受信する。通話端末5は、受信したIVRに基づき、所定音声をスピーカから出力する。社員17は、有効期間を示す番号を、通話端末5に対して入力する(S249)。通話端末5は、入力された番号を通知するためのDTMF信号を、無線親機2に対して送信する。無線親機2はDTMF信号を受信し(S251)、有効期間を取得する。
無線親機2は、認証用のパスワードとしてPSKを生成する(S253)。無線親機2は、生成したPSK、S251で受信したDTMF信号に基づいて取得した有効期間、および、S233で登録した通話端末5の電話番号を対応付けて、第一テーブル241(図4参照)に記憶する。S241で受信したDTMF信号に基づいて取得した端末数が二以上である場合、S253で生成されたPSKは、第一テーブル241に端末数分記憶される。(S254)。
無線親機2は、通話端末5に対してIVRを送信する(S255)。IVRによって送信される所定音声データは、S253で生成したPSKを通知する音声のデータである。所定音声は、例えば「発行されたパスワードは、○○○○です。」である。通話端末5は、IVRを受信する。通話端末5は、受信したIVRに基づき、所定音声をスピーカから出力する。社員17は、無線親機2によって生成されたPSKを認識する。無線親機2は、オンフックする。無線親機2と通話端末5との間の回線は切断する。S223、S225、S227、S229、S231、S233、および、S235の処理は、図2の場合と同一であるので、説明を省略する。
図5を参照し、無線子機3に与えられた使用権限の有効期間を延長するための通信シーケンスについて説明する。無線親機2は、第一テーブル241の有効期間の値を取得し、RAM23に記憶する。無線親機2は、生成したPSKを第一テーブル241(図4参照)に記憶した時点(S219、図2参照)(S254、図3参照)からの経過時間Tを、RAM23に記憶した有効期間の値と比較する処理を開始する。経過時間Tが、RAM23に記憶した有効期間を超えた場合、無線親機2は、PSTN網12を介して通話端末5に発呼する(S271)。なお、通話端末5の電話番号は、第一テーブル241のうち、RAM23に記憶した有効期間に対応する電話番号を抽出することによって特定される。通話端末5は着信音を鳴らす。通話端末5を使用する社員17がオフフックする操作を行った場合(S273)、無線親機2と通話端末5との間の回線は接続する。
無線親機2は、通話端末5に対してIVRを送信する(S275)。IVRによって送信される所定音声データは、有効期間の延長の要否を社員17に問い合わせる音声のデータである。所定音声は、例えば「有効期間の延長を希望される場合は、○○を押してください」である。通話端末5は、IVRを受信する。通話端末5は、受信したIVRに基づき、所定音声をスピーカから出力する。社員17は、有効期間の延長の要否を示す番号を、通話端末5に対して入力する(S279)。例えば社員17が来訪者16に問合せ、来訪者16から有効期間の延長を希望する旨の連絡を受けた場合、社員17は、有効期間の延長を要求する旨を示す番号を入力する。通話端末5は、入力された番号を通知するためのDTMF信号を、無線親機2に対して送信する。無線親機2はDTMF信号を受信し(S281)、社員17が有効期間の延長を要求しているか否かを判断する。
社員17が有効期間の延長を要求している場合、無線親機2は、通話端末5に対してIVRを送信する(S283)。IVRによって送信される所定音声データは、有効期間を延長する場合の延長期間を社員17に問い合わせる音声のデータである。所定音声は、例えば「延長期間を入力してください」である。通話端末5は、IVRを受信する。通話端末5は、受信したIVRに基づき、所定音声をスピーカから出力する。社員17は、延長期間を示す番号を、通話端末5に対して入力する(S285)。通話端末5は、入力された延長期間を通知するためのDTMF信号を、無線親機2に対して送信する。無線親機2はDTMF信号を受信し(S287)、延長期間を取得する。
無線親機2は、第一テーブル241のうち期限切れとなった有効期間を、取得した延長期間によって更新する(S289)。無線親機2は、通話端末5に対してIVRを送信する(S291)。IVRによって送信される所定音声データは、有効期間が延長されたことを通知する音声のデータである。所定音声は、例えば「有効期間が延長されました」である。通話端末5は、IVRを受信する。通話端末5は、受信したIVRに基づき、所定音声をスピーカから出力する。無線親機2は、オンフックする(S293)。無線親機2と通話端末5との間の回線は切断し、無線親機2と通話端末5との間の通信は終了する(S295)。
以上のように、無線親機2は、有効期間が満了した旨、および、有効期間の延長の要否を無線子機3に問い合わせることによって、必要に応じて有効期間を延長することができる。これによって、来訪者16が無線子機3を介して通信網13を使用する場合の利便性は向上する。
図6を参照し、無線親機2のCPU21によって実行される認証処理について説明する。この認証処理は、4-way HandShakeと呼ばれる認証技術を応用している。認証処理は、フラッシュメモリ24に記憶されたプログラムに従って、CPU21が実行する。CPU21は、無線子機3との間で認証通信を実行するタイミングで、認証処理を開始する。認証通信は、無線子機3から開始要求を受信した場合(S227、図2、図3参照)に実行される(S229、図2、図3参照)。また認証通信は、無線子機3との間で無線通信が実行された状態(S231、図2、図3参照)で周期的に実行される(S233、図2、図3参照)。
CPU21はAnonceを生成する。Anonceは、周知のアルゴリズムに基づいて生成される乱数である。CPU21は、無線子機3に対してAnonceを送信する(S21)。無線子機3は、Anonceを受信する。
無線子機3のCPU(図示せず)は、受信したAnonceの送信元MACアドレスである無線親機2のMACアドレスを取得する。無線子機3のCPUは、PMKおよびSnonceを生成する。PMKは、S225(図2、図3参照)で来訪者16によって設定されたPSKに基づいて生成される暗号化鍵である。Snonceは、周知のアルゴリズムに基づいて生成される乱数である。無線子機のCPUは、Anonce、Snonce、PMK、無線親機2のMACアドレス、および無線子機3のMACアドレスに基づいて、PTK(Pairwise Transient Key)を生成する。PTKは暗号化鍵である。なお無線親機2のCPU21は、無線親機2のCPU21によって生成されるPTKが、無線子機3のCPUによって生成されるPTKと一致する場合、無線子機3を認証する。詳細は後述する。無線子機3のCPUは、生成したPMKを暗号化することによって、MIC(Message Integrity Code)を生成する。無線子機3のCPUは、SnonceおよびMICを無線親機2に対して送信する。無線親機2のCPU21は、SnonceおよびMICを受信する(S23)。
CPU21は、第一テーブル241に記憶されたPSKに基づき、PMKを生成する。生成されたPMKは、生成の際に使用したPSKに対応付けられ、第一テーブル241に記憶される。CPU21は、S23で受信したSnonceおよびMICの送信元MACアドレスを取得する。CPU21は、取得したMACアドレスに対応するPMKを、第一テーブル241(図4参照)から検索する(S25)。なお、S229(図2、図3参照)で認証通信がはじめて実行される場合、取得されたMACアドレス、即ち、無線子機3のMACアドレスは第一テーブル241に記憶されていない。このため、S25では対応するPMKを検出することができない(S27:NO)。この場合、CPU21は、フラグ情報 0に対応するPMKを第一テーブル241から検索する(S31)。フラグ情報 0に対応するPMKが第一テーブル241に記憶されており、検出することが可能である場合(S27:YES)、CPU21は、フラグ情報 0に対応するPMKを抽出する(S29)。またCPU21は、抽出したPMKの総数を取得する(S33)。処理はS35に進む。なお、図4に示すように、第一テーブル241には社員17が使用する情報端末4に割り当てるPSK0が記憶されている。PSK0にMACアドレスは対応付けられないので、PSK0に対応付けられるフラグ情報は常に0となる。このためS27では、常にPSK0に対応するPMK0が検索される(S27:YES)。
一方、S233(図2、図3参照)で二回目以降の認証通信が実行される場合、S23で受信したSnonceおよびMICの送信元MACアドレスは、第一テーブル241に記憶されている(S43、後述)。この場合、MACアドレスに対応するPMKを第一テーブル241から検出可能であるため(S27:YES)、CPU21は、第一テーブル241のうち、S23で受信したSnonceおよびMICの送信元MACアドレス、即ち、無線子機3のMACアドレスに対応付けられているPMKを抽出する(S29)。またCPU21は、抽出したPMKの総数を取得する(S33)。処理はS35に進む。
以上のようにCPU21は、第一テーブル241のうちフラグ情報およびMACアドレスを参照することによって、無線子機3の認証を短時間で迅速に実行できる。
CPU21は、変数iに0を代入し、初期化する(S35)。CPU21は、S21で送信したAnonce、S23で受信したSnonce、S23で受信したMICを復号することによって取得したPMK、無線親機2のMACアドレス、および無線子機3のMACアドレスに基づいて、PTK(以下、「子機側PTK」という。)を生成する。またCPU21は、S29で抽出したPMKのうち、i番目のPMKを選択する。CPU21は、S21で送信したAnonce、S23で受信したSnonce、選択したPMK、無線親機2のMACアドレス、および無線子機3のMACアドレスに基づき、PTK(以下、「親機側PTK」という。)を生成する(S37)。
CPU21は、親機側PTKと子機側PTKとが一致するか判断する(S41)。親機側PTKと子機側PTKとが相違する場合(S41:NO)、CPU21は、iに1を加算して更新する(S49)。CPU21は、更新したiが、S33で取得した総数と等しいか判断する(S51)。更新したiが、S33で取得した総数よりも小さい場合(S51:NO)、S29で抽出されたPMKのうち、親機PTKの生成に使用されていないPMKが残っていることになる。CPU21は、S29で抽出したPMKのうち、更新されたi番目のPMKを選択し、親機PTKを生成して子機PTKと比較するために、処理はS37に戻る。一方、更新されたiが、S33で取得した総数と等しくなった場合(S51:YES)、S29で抽出されたPMKのすべてが親機PTKの生成に使用されたものの、子機側PTKと一致する親機側PTKは生成されなかったことになる。この場合、無線子機3の認証は失敗したことになるので、無線親機2は、無線子機3に対してIP網11の使用権限を与えない。また、無線親機2および無線子機3が既に無線通信を行い、無線子機3がIP網11を使用している場合、無線親機2は、無線子機3によるIP網11の使用を禁止する。認証処理は終了する。
一方、親機側PTKと子機側PTKとが一致した場合(S41;YES)、無線親機2による無線子機3の認証は成功したことになる。CPU21は、子機側PTKと一致する親機側PTKを生成するために使用したPMKに対応付けて、S23で受信したSnonceおよびMICを送信した無線子機3のMACアドレスを、第一テーブル241に記憶する(S43)。CPU21は、対応するフラグ情報として1を記憶する。CPU21は、無線子機3に対してGTK(Group Transient Key)およびMICを送信する(S45)。これによってCPU21は、無線子機3によるIP網11の使用を可能とする。CPU21は、無線子機3と無線通信を行うことが可能なように、GTKおよび親機側PTKの設定処理を行う(S47)。認証処理は終了する。
無線子機3のCPUは、受信したGTKおよびMICを使用して無線親機2と無線通信を行うことが可能なように、GTKおよび子機側PTKの設定処理を行う。以上の認証通信の結果、無線子機3は無線親機2との間で無線通信を開始する(S231、図2、図3参照)。無線子機3は、IP網11を使用可能な状態になる。
図7から図9を参照し、無線親機2のCPU21によって実行されるチェック処理について説明する。チェック処理は、フラッシュメモリ24に記憶されたプログラムに従って、CPU21が実行する。CPU21は、無線親機2による無線子機3の認証が成功し(S229、図2、図3参照)、無線親機2と無線子機3との無線子機3との間で無線通信が開始された場合(S231、図2、図3参照)に、チェック処理を開始する。チェック処理では、無線子機3に対して通知されたパスワードであるPSKの有効期間がチェックされ、必要に応じて、有効期間の延長処理が実行される。以下詳説する。
CPU21は、第一テーブル241の有効期間の値を取得し、RAM23に記憶する。CPU21は、S219(図2参照)で第一テーブル241(図4参照)に有効期間を記憶した時点(S219、図2参照)、または、S254(図3参照)で第一テーブル241に有効期間を記憶した時点(S254、図3参照)からの経過時間Tを、RAM23に記憶した有効期間の値と比較する処理を開始する。これによってCPU21は、無線子機3に対して送信されたパスワードであるPSKの有効期間の監視を開始する(S60)。
CPU21は、RAM23に記憶された有効期間のうち、経過時間T以下となる有効時間があるか判断する(S61)。有効期間のいずれも、経過時間よりも大きい場合(S61:NO)、有効期間は未だ経過していないことになる。処理はS61に戻る。
一方、S61で、経過時間T以下となる有効時間が、RAM23に記憶されていたとする(S61:YES)。この場合、第一テーブル241のうち該当する有効期間に対応するMACアドレスを有する無線子機3(以下、「対象子機」という。)に対して送信されたパスワードであるPSKの有効期間が満了したことになる。CPU21は、無線親機2が通話中であるかを判断する(S63)。無線親機2が通話中でない場合(S63:NO)、CPU21は、通話端末5を介して社員17に問い合わせ、必要に応じて有効期間の延長処理を行うために、延長処理(図9参照)を実行する(S65)。
図9を参照し、延長処理について説明する。CPU21は、第一テーブル241に基づいて取得した通話端末5の電話番号宛に、PSTN網12を介して発呼する(S111)(S271、図5参照)。CPU21は、通話端末5との間の回線の接続状態の監視を開始する(S113)。回線が1分以上接続しない場合(S113:NO)、CPU21は、対象子機との間の無線通信を終了するために、処理はS129(後述)に進む。
通話端末5は、無線親機2による発呼に応じて着信音を鳴らす。通話端末5を所有する社員17がオフフックする操作を行った場合(S273、図5参照)、無線親機2と通話端末5との間の回線は接続する。CPU21は、回線の接続を検出した場合(S113:YES)、通話端末5に対してIVRを送信する(S115)(S275、図5参照)。IVRによって送信される所定音声データは、有効期間の延長の要否を社員17に問い合わせる音声のデータである。
通話端末5は、IVRを受信し(S275、図5参照)、所定音声をスピーカから出力する。社員17は、有効期間の延長の要否を示す番号を入力する(S279、図5参照)。通話端末5は、有効期間の延長の要否を示すDTMF信号を、無線親機2に対して送信する。CPU21はDTMF信号を受信する(S281、図5参照)。
CPU21は、受信したDTMF信号に基づき、有効期間の延長の要否を判断する(S117)。有効期間の延長が不要であることを示すDTMF信号であった場合(S117:NO)、社員17は有効期間の延長を望んでいないことになる。CPU21は、対象子機との間の無線通信を終了する(S129)。CPU21は、第一テーブル241のうち、対象子機のMACアドレスに対応する情報(PSKを含む)を削除し(S131)、対象子機に与えたIP網11の使用権限を無効にする。CPU21は、対象子機との間の無線回線を切断する(S133)。延長処理は終了し、処理はチェック処理(図7参照)に戻る。図7に示すように、延長処理(S65)の終了後、処理はS61に戻る。
図9に示すように、S117で、有効期間の延長が必要であることを示すDTMF信号であると判断した場合(S117:YES)、社員17は有効期間の延長を望んでいることになる。CPU21は、通話端末5に対してIVRを送信する(S119)(S283、図5参照)。IVRによって送信される所定音声データは、有効期間の延長期間を社員17に問い合わせる音声のデータである。
通話端末5は、IVRを受信し(S283、図5参照)、所定音声をスピーカから出力する。社員17は、延長期間を示す番号を入力する(S285、図5参照)。通話端末5は、延長期間を通知するためのDTMF信号を、無線親機2に対して送信する。CPU21はDTMF信号を受信し(S287、図5参照)、延長期間を取得する(S121)。CPU21は、取得した延長期間を、対象子機のMACアドレスに対応する有効期間として、第一テーブル241に記憶する(S123)。CPU21は、第一テーブル241の有効期間の値を取得し、RAM23に記憶する。CPU21は、第一テーブル241に有効期間を記憶した時点からの経過時間Tを、RAM23に記憶した有効期間の値と比較する処理を開始する(S125)。これによってCPU21は、対象子機に対して送信したパスワードであるPSKの有効期間の監視を再開する。
CPU21は、オンフックすることによって、通話端末5との間の回線を切断する(S127)(S293、図5参照)。無線親機2と通話端末5との間の通信は終了する(S295、図5参照)。延長処理は終了し、処理はチェック処理(図7参照)に戻る。図7に示すように、延長処理(S65)の終了後、処理はS61に戻る。
一方、図7のS63で、無線親機2が通話中であると判断した場合(S63:YES)、CPU21は、通話端末5と通話を行い、社員17に有効期間の延長の要否を問い合わせることができない。この場合、CPU21は、無線親機2の通話状態が終了した後、社員17に有効期間の延長の要否を問い合わせるために、現時点での時刻を保存時刻として第二テーブル242(図10参照、後述)に記憶する(S69)。このようにCPU21は、有効期間の延長の可否の問い合わせを、無線親機2の通話状態に応じて適切に実行することができる。
図10を参照し、第二テーブル242について説明する。第二テーブル242には、PSK、MACアドレス、電話番号、および保存時刻が記憶される。PSKは、対象子機に対応するパスワードとして、S217(図2参照)またはS253(図3参照)で生成されたPSKである。MACアドレスは、対象子機のMACアドレスである。電話番号は、対象子機がIP網11を使用するための使用権限を要求した場合におけるS215(図2参照)で受信した電話番号、又は、S233(図3参照)で登録された電話番号である。CPU21は、S69(図7参照)で保存時刻を第二テーブル242に記憶する場合、対応するPSK、MACアドレス、および電話番号を第一テーブル241(図4参照)から読み出し、保存時刻に対応付けて第二テーブル242に記憶する。
図7に示すように、CPU21は、無線親機2の通話が終了したかを判断する(S71)。無線親機2の通話が終了していない場合(S71:NO)、S60で監視を開始するためにRAM23に記憶した有効期間のうち、経過時間T以下となる有効期間があるか判断する(S101)。有効期間のいずれも、経過時間よりも大きい場合(S101:NO)、有効期間は未だ経過していないことになるので、有効時間の経過を継続して監視するために、処理はS71に戻る。一方、経過時間以下となる有効時間が、RAM23に記憶されている場合(S101:YES)、処理はS69に戻る。CPU21は、無線親機2の通話状態が終了した後、社員17に有効期間の延長の要否を問い合わせるために、現時点での時刻を保存時刻として第二テーブル242(図10参照、後述)に記憶する。
無線親機2の通話が終了した場合(S71:YES)、図8に示すように、CPU21は、第二テーブル242を検索し(S75)、記憶されている保存時刻を、保存時刻の古い順に一つ取得する。保存時刻を取得した場合(S77:YES)、CPU21は、取得した保存時刻と現在時刻とを比較し、その差分が第一時間(例えば10分)以内であるかを判断する(S79)。差分が第一時間以内である場合(S79:YES)、通話が終了した無線親機2を介して社員17に問い合わせ、必要に応じて有効期間の延長処理を行うために、延長処理(図9参照)を実行する(S81)。延長処理は、S65の延長処理と同一であるので、説明を省略する。延長処理の終了後、CPU21は、第二テーブル242に記憶された保存時刻を削除する(S83)。第二テーブル242に記憶された保存時刻のうち、S77で未だ取得されていない保存時刻に対する処理を実行するために、処理はS71(図7参照)に戻る。なお、処理されていない保存時刻が残っている場合、図8で示した処理が繰り返されることによって、第二テーブル242のうち保存時刻の古い順に、保存時刻が処理される。
一方、取得した保存時刻と現在時刻との差分が第一時間を超えている場合(S79:NO)、CPU21は、対象子機との間の無線通信を終了する(S85)。CPU21は、第一テーブル241のうち、対象子機のMACアドレスに対応する情報(PSK含む)を削除し(S87)、対象子機に与えたIP網11の使用権限を無効にする。CPU21は、対象子機との間の無線回線を切断する(S89)。第二テーブル242に記憶された保存時刻のうち、S77で未だ取得されていない保存時刻に対する処理を実行するために、処理はS71(図7参照)に戻る。なお、処理されていない保存時刻が残っている場合、図8で示した処理が繰り返されることによって、第二テーブル242のうち保存時刻の古い順に、保存時刻が処理される。またCPU21は、S77で保存時刻を取得できない場合(S77:NO)、満了したすべての有効期間に対する延長処理が終了したことになるので、延長処理は終了し、処理はチェック処理(図7参照)に戻る。
以上のように、無線親機2は、無線通信が第一時間以上中断した対象子機に対応する第一テーブル241の情報(PSKを含む)を削除することによって、対象子機との間の無線通信を終了させる。無線親機2は、対象子機との間の無線通信が不要に継続することを抑止することによって、IP網11の安全性を良好に維持する。
図11を参照し、無線親機2のCPU21によって実行される状態判断処理について説明する。状態判断処理は、フラッシュメモリ24に記憶されたプログラムに従って、CPU21が実行する。CPU21は、無線親機2の電源が投入された場合に、状態判断処理を開始する。
CPU21は、認証に成功した(S229、図2、図3参照)無線子機3との無線通信が中断したか判断する(S91)。無線通信が中断していない場合(S91:NO)、処理はS91に戻る。一方、無線子機3との無線通信が中断した場合(S91:YES)、CPU21は、無線通信が中断した時間(以下、「中断時刻」という。)をRAM23に記憶する(S93)。CPU21は、無線通信が所定の第二時間(例えば5分)以上連続して中断したかを、RAM23に記憶した中断時刻に基づいて判断する(S95)。無線通信が第二時間以上連続して中断していない場合(S95:NO)、無線通信が中断した時間を継続して監視するために、処理はS91に戻る。無線通信が中断した状態が第二時間以上連続する前に、無線通信が再開した場合(S91:NO)、処理はS91に戻る。
無線通信が第二時間以上連続して中断した場合(S95:YES)、CPU21は、第一テーブル241のうち、第二時間以上中断した無線子機3に対応する情報(PSKを含む)を削除し(S97)、無線子機3に与えたIP網11の使用権限を無効にする。CPU21は、無線子機3との間の無線回線を切断する(S99)。処理はS91に戻る。
以上のようにCPU21は、無線通信が第二時間以上中断した無線子機3に対応する第一テーブル241の情報(PSKを含む)を削除することによって、無線子機3との間の無線回線を切断し、無線通信を終了させる。CPU21は、無線通信が中断した無線子機3との間の無線回線が不要に継続することを抑止することによって、IP網11の安全性を良好に維持することができる。
なお、S209およびS239で権限要求を受信する処理を行うCPU21が本発明の「第一受信手段」に相当する。S217およびS253でPSKを生成する処理を行うCPU21が本発明の「生成手段」に相当する。生成されるPSKが本発明の「認証キー」に相当する。S219およびS254で、生成したPSKを第一テーブル241に記憶する処理を行うCPU21が本発明の「第一制御手段」に相当する。第一テーブル241が本発明の「記憶手段」に相当する。S221およびS255で、PSKを送信する処理を行うCPU21が本発明の「第一送信手段」に相当する。S227で開始要求を受信する処理を行うCPU21が本発明の「第二受信手段」に相当する。S229で認証通信を行うCPU21が本発明の「判断手段」に相当する。S231で無線通信を行うCPU21が本発明の「通信手段」に相当する。S115の処理を行うCPU21が本発明の「第二送信手段」に相当する。S121の処理を行うCPU21が本発明の「第三受信手段」に相当する。S123の処理を行うCPU21が本発明の「延長手段」に相当する。S99の処理を行うCPU21が本発明の「終了手段」に相当する。S43の処理を行うCPU21が本発明の「第二制御手段」に相当する。S85、S87、S89の処理を行うCPU21が本発明の「禁止手段」に相当する。S225でPSKの入力を受け付ける処理を行う無線子機3のCPUが本発明の「受付手段」に相当する。S227で、開始要求を送信する処理、および、S229で認証通信を行う場合において、SnonceおよびMICを認証情報として無線親機2に送信する処理を行う無線子機3のCPUが本発明の「第三送信手段」に相当する。
なお本発明は上述の実施形態に限定されず、種々の変更が可能である。上述の実施形態では、S215(図2参照)又はS245(図3参照)で二以上の端末数を受信した場合、CPU21は、第一テーブル241に共通のPSKを端末数分記憶した。この場合、来訪者16の所有する二以上の無線子機3に対して、共通のPSKが設定されることになる。これに対してCPU21は、二以上の端末数を受信した場合、それぞれに対応する別々のPSKを生成し、第二テーブルに記憶してもよい。この場合、来訪者16の所有する二以上の無線子機3に対して、別々のPSKが設定されることになる。これによって無線親機2は、複数の無線子機3を別々に認証し、複数の無線子機3と同時期に無線通信を行うことが可能となる。従って、無線子機3によって使用される通信網13のセキュリティを更に高めることができる。
上述において、CPU21は、PSKごとに有効期間を定め、有効期間を管理することによって、無線子機3によるIP網11の使用を制限した。これに対し、有効期間は、無線子機3のMACアドレスごとに定めてもよい。CPU21は、無線子機3のMACアドレスごとに定めた有効期間を管理することによって、無線子機3によるIP網11の使用を制限してもよい。これによってCPU21は、無線子機3によるIP網11の使用をより細かく管理することができる。
上述においてCPU21は、通話端末5を介して社員17に対して、有効期間の延長の要否を問い合わせた。これに対してCPU21は、情報端末4に電子メール等を送信することによって、有効期間の延長の要否を問い合わせてもよい。上述において、無線親機2には一のSSIDが設定されていた。これに対し、複数のSSIDを無線親機2に対して設定してもよい。そして、設定された複数のSSIDのそれぞれに対し、複数のPSKが対応付けられてもよい。
上述においてCPU21は、有効期間の延長の要否を問い合わせる場合において、通話端末5が通話中である状態が第一時間以上継続した場合、対象子機との間の無線回線を切断し、無線通信を終了した。これに対してCPU21は、無線親機2が通話中である状態の時間に依らず、通話が終了した時点で、有効期間の延長の要否を通話端末5を介して問い合わせてもよい。またCPU21は、無線親機2と無線子機3との間の無線通信が第二時間以上中断した場合、無線子機3との間の無線回線を切断した。これに対してCPU21は、無線親機2と無線子機3との間の無線通信の中断時間に関わらず、無線通信を許可してもよい。
無線親機2は、Foreign eXchange Station(FXS)インタフェースを備えていてもよい。無線親機2は、FXSインタフェースを介し、通信端末5と接続されてもよい。
上述においてCPU21は、情報端末4または通話端末5から有効時間を受信し(S215、S251)、第一テーブル241に記憶した。これに対して、来訪者16に対して許可する有効時間が、予めフラッシュメモリ24に記憶されていてもよい。CPU21は、情報端末4または通話端末5から権限要求を受信した場合、フラッシュメモリ24に記憶されている有効時間を読み出し、第一テーブル241に記憶してもよい。
第一テーブル241はフラッシュメモリ24に記憶されていなくてもよい。例えば第二テーブル241は、IP網11に接続したデータベースに記憶されていてもよい。CPU21は、IP網11を介してデータベースと通信を行うことによって、第一テーブル241を取得してもよい。
上述においてCPU21は、無線子機3に対応する有効期間が期限切れとなった場合、第一テーブル241に記憶されたPSKを削除することによって、無線子機3に与えたIP網11の使用権限を無効とした。これに対してCPU21は、第一テーブル241のうち、有効期限が期限切れとなったPSKに対応する情報として、PSKが無効であることを示すフラグ情報を対応付けて記憶してもよい。CPU21は、第一テーブル241のPSKにフラグ情報が対応付けられている場合、対応する無線子機3を認証せず、IP網11の使用を禁止してもよい。