(本開示にかかる実施の形態の概要)
本開示の実施形態の説明に先立って、本開示にかかる実施の形態の概要について説明する。図1は、本開示の実施の形態にかかる通信システム1の概要を示す図である。通信システム1は、通信装置10と、キーデバイス22と、通信端末24とを有する。
通信端末24は、ユーザによって携帯され使用される通信機器であって、例えばスマートフォン又はタブレット端末等である。通信装置10は、例えばアクセスポイント装置又はモバイルルータ等であって、通信端末24をインターネット等のネットワークに接続させるための処理を行う。キーデバイス22は、通信端末24のユーザによって所持されるデバイスである。キーデバイス22は、通信端末24が通信装置10と接続する際に通信端末24の認証を行うために使用される。通信装置10及び通信端末24は、例えばコンピュータである。
通信装置10は、キーデバイス通信部12と、識別情報取得部14と、フィルタ機能部16と、端末通信部18とを有する。キーデバイス通信部12は、キーデバイス通信手段として機能する。識別情報取得部14は、識別情報取得手段として機能する。フィルタ機能部16は、フィルタ機能手段として機能する。端末通信部18は、端末通信手段として機能する。これらの構成要素の動作について、図2を用いて説明する。
図2は、本開示の実施の形態にかかる通信装置10によって実行される通信方法の概要を示すフローチャートである。キーデバイス通信部12は、キーデバイス22と通信を行って、キーデバイス22の識別情報であるキーデバイス識別情報(第1の識別情報)を受信する(ステップS12)。識別情報取得部14は、キーデバイス識別情報と予め対応付けられている通信端末24の識別情報である端末識別情報(第2の識別情報)を取得する(ステップS14)。フィルタ機能部16は、S14の処理で取得された端末識別情報に対応する通信端末24との接続のみを許可するように制御を行う(ステップS16)。端末通信部18は、接続を許可された通信端末24と通信を行う(ステップS18)。
本開示の実施の形態にかかる通信装置10は、上記のように構成されているので、認証の際に、通信端末24が特別な処理を行う必要はない。また、キーデバイス識別情報を用いて認証(フィルタリング)が行われるので、通信端末24において端末識別情報を改ざんするだけでは、不正なアクセスを行うことは困難である。また、キーデバイス識別情報が通信端末24に記憶されているわけではないので、通信端末24に対してクラッキングが行われたとしても、不正なアクセスを行うことは困難である。
したがって、本開示の実施の形態にかかる通信装置10は、簡単な構成によってセキュリティを確実に確保することが可能となる。なお、通信システム1を用いても、簡単な構成によってセキュリティを確実に確保することが可能となる。また、通信装置10で実行される通信方法、及び通信方法を実行するプログラムを用いても、簡単な構成によってセキュリティを確実に確保することが可能となる。
(実施の形態1)
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
図3は、実施の形態1にかかる通信システム100を示す図である。実施の形態1にかかる通信システム100は、キーデバイス102と、子機デバイス104と、管理サーバ110と、アクセスポイント装置200とを有する。通信システム100は、図1に示した通信システム1に対応する。キーデバイス102、子機デバイス104、管理サーバ110及びアクセスポイント装置200は、コンピュータとしての機能を有し得る。
キーデバイス102は、図1に示したキーデバイス22に対応する。子機デバイス104は、図1に示した通信端末24に対応する。アクセスポイント装置200は、図1に示した通信装置10に対応する。管理サーバ110は、キーデバイス識別情報と端末識別情報とを予め対応付けている。子機デバイス104は、ユーザによって使用されるデバイスである。ここで、キーデバイス102は、子機デバイス104に対応しているとする。
子機デバイス104に対応しているキーデバイス102は、アクセスポイント装置200と通信を行う。キーデバイス102は、認証用機器であって、アクセスポイント装置200の使用を許可されたユーザに配布され得る。キーデバイス102は、キーデバイス識別情報を記憶している。
アクセスポイント装置200は、キーデバイス102から、キーデバイス102の識別情報(キーデバイス識別情報)を受信する。アクセスポイント装置200は、管理サーバ110へ問い合わせを行い、受信されたキーデバイス識別情報に対応する子機デバイス104の識別情報(端末識別情報)を取得する。ここで、端末識別情報は、例えばMACアドレス(Media Access Control address)であるが、これに限られない。
アクセスポイント装置200は、取得した端末識別情報を、自己に接続可能な子機デバイス104を制限するフィルタとして使用する。そして、取得された端末識別情報に対応する子機デバイス104は、アクセスポイント装置200と無線接続を行って、アクセスポイント装置200と通信を行う。
図4は、実施の形態1にかかる通信システム100の構成を示す機能ブロック図である。キーデバイス102は、アクセスポイント装置200と、Bluetooth(登録商標)等の近距離無線通信によって通信を行う。子機デバイス104は、アクセスポイント装置200と、Wi-Fi(登録商標)等の無線LAN(Local Area Network)によって通信を行う。
管理サーバ110は、アクセスポイント装置200とLANによって通信を行う。管理サーバ110は、アドレス参照テーブル112を格納している。アドレス参照テーブル112は、キーデバイス識別情報と端末識別情報とを予め対応付けている。なお、本実施の形態では、管理サーバ110がアドレス参照テーブル112を有しているとしたが、このような構成に限られない。アクセスポイント装置200がアドレス参照テーブルを有してもよい。
図5は、実施の形態1にかかるアドレス参照テーブル112を例示する図である。図5に示す例では、キーデバイス識別情報(キーデバイスID)と、MACアドレスとが対応付けられている。例えば、キーデバイス#1は、MAC#1,MAC#2,MAC#3と対応付けられている。キーデバイス#2は、MAC#4,MAC#5と対応付けられている。アドレス参照テーブル112は、管理者等によって予め登録(生成)されている。
アクセスポイント装置200(図4)は、無線LAN通信部202と、ルータ機能部204と、MACアドレス取得部206と、MACアドレスフィルタ機能部210と、Bluetooth通信部220とを有する。無線LAN通信部202は、図1に示した端末通信部18に対応する。MACアドレス取得部206は、図1に示した識別情報取得部14に対応する。MACアドレスフィルタ機能部210は、図1に示したフィルタ機能部16に対応する。Bluetooth通信部220は、図1に示したキーデバイス通信部12に対応する。
無線LAN通信部202は、一般的な、Wi-Fi等の無線LANによって通信を行うための機能を有する。無線LAN通信部202は、無線LANによって子機デバイス104と通信を行うための処理を行う。ルータ機能部204は、一般的な無線ルータ機能を有する。ルータ機能部204は、無線LAN通信部202に接続された子機デバイス104とネットワーク(インターネット等)との中継処理を行う。
Bluetooth通信部220(BT通信部)は、一般的な、Bluetooth等の近距離無線通信によって通信を行うための機能を有する。以下の説明では、Bluetooth通信部220は、Bluetoothによって通信を行うための機能を有するとする。Bluetooth通信部220は、Bluetoothによってキーデバイス102と通信を行うための処理を行う。Bluetooth通信部220は、Bluetoothによって、キーデバイス102からキーデバイス識別情報を受信する。なお、Bluetooth通信部220は、Bluetooth Low Energy(BLE)機能に対応したBluetooth通信を行ってもよい。この場合、キーデバイス102は、BLE機能を有してもよい。
MACアドレス取得部206は、管理サーバ110から、Bluetooth通信部220によって受信されたキーデバイス識別情報に対応する端末識別情報(MACアドレス等)を取得する。例えば、図5に示した例では、受信されたキーデバイス識別情報が「キーデバイス#1」である場合、MACアドレス取得部206は、MACアドレス「MAC#1,MAC#2,MAC#3」を取得する。
MACアドレスフィルタ機能部210は、MACアドレス取得部206によって取得されたMACアドレスを用いてフィルタリングを行う。MACアドレスフィルタ機能部210は、許可リストを格納する許可リスト格納部212(リスト格納手段)を有する。許可リストは、接続が許可された1つ以上の子機デバイス104に関する1つ以上の端末識別情報(MACアドレス)のリストである。MACアドレスフィルタ機能部210は、許可リストに含まれているMACアドレスに対応する子機デバイス104の接続を許可する。一方、MACアドレスフィルタ機能部210は、許可リストに含まれていないMACアドレスに対応する子機デバイス104の接続を遮断する。なお、許可リストは、MACアドレス取得部206がMACアドレスを取得するごとに、更新され得る。
MACアドレスフィルタ機能部210の制御によって、無線LAN通信部202は、許可リストに含まれているMACアドレスに対応する子機デバイス104のみと通信を行う。なお、Bluetooth通信部220による認証を先に行うので、無線LAN通信部202は、1台も子機デバイス104が接続されていない場合は、機能を停止してもよい。これにより、省電力化を図ることができる。
図6は、実施の形態1にかかるアクセスポイント装置200によって実行される通信方法を示すフローチャートである。まず、ユーザによって、キーデバイス102が、Bluetoothによって、アクセスポイント装置200に接続される。これにより、Bluetooth通信部220は、キーデバイス102と接続する(ステップS100)。これにより、Bluetooth通信部220は、キーデバイス102から、キーデバイス識別情報を受信する。
MACアドレス取得部206は、受信されたキーデバイス識別情報を元に、管理サーバ110に問い合わせる(ステップS102)。これにより、MACアドレス取得部206は、アドレス参照テーブル112においてキーデバイス識別情報と対応付けられた、接続を許可すべき子機デバイス104のMACアドレスの取得を試みる。
MACアドレス取得部206が管理サーバ110からMACアドレスを取得できなかった場合(ステップS104のNO)、Bluetooth通信部220は、キーデバイス102との通信を終了し、接続の待ち受け状態に移行する(ステップS106)。一方、MACアドレス取得部206が管理サーバ110からMACアドレスを取得できた場合(S104のYES)、MACアドレスフィルタ機能部210は、許可リスト格納部212に格納された許可リストを更新する(ステップS108)。具体的には、MACアドレスフィルタ機能部210は、取得されたMACアドレスを、許可リストに追加(登録)する。
図7は、実施の形態1にかかる許可リストの更新を説明するための図である。キーデバイス102からキーデバイス識別情報が受信される前では、許可リストは、許可リスト214Aのように、MACアドレスが登録されていない状態となっている。そして、S102の処理によってMACアドレスが取得された場合に、許可リスト214Bのように、許可リストには、MACアドレスが登録されている。なお、図7は、S100の処理で、図5の例におけるキーデバイス#1が受信された場合を示している。したがって、許可リスト214Bは、MACアドレス「MAC#1,MAC#2,MAC#3」を含む。
無線LAN通信部202は、Wi-Fi通信の待ち受けを開始する(図6のステップS110)。具体的には、無線LAN通信部202は、Wi-Fi通信を行うためのビーコン信号の発信を開始する。この状態で、一定時間が経過しない間に(ステップS112のNO)、無線LAN通信部202が子機デバイス104との接続を確立すると(ステップS114のYES)、無線LAN通信部202は、子機デバイス104と通信を開始する(ステップS116)。これにより、無線LAN通信部202は、許可リストに従って、子機デバイス104とWi-Fiにより通信を行う。図7の例では、無線LAN通信部202は、MACアドレスがMAC#1、MAC#2又はMAC#3である子機デバイス104と通信を行う。そして、ルータ機能部204は、子機デバイス104とネットワークとの中継処理を行う。
一方、無線LAN通信部202は、子機デバイス104との接続を確立できない場合(S114のNO)、Wi-Fi通信の待ち受け状態を継続する。そして、Wi-Fi通信の待ち受け開始から一定時間が経過しても子機デバイス104が無線LAN通信部202と接続しない場合(S112のYES)、MACアドレスフィルタ機能部210は、許可リストを更新する(ステップS118)。具体的には、MACアドレスフィルタ機能部210は、許可リストからMACアドレスを削除する。図7の例では、許可リスト214Bの状態から、許可リスト214Aの状態に戻る。そして、Bluetooth通信部220は、Bluetooth通信を終了し、Bluetooth通信の待ち受け状態に移行する(ステップS120)。
図8は、実施の形態1にかかるアクセスポイント装置200によって実行される、子機デバイス104との通信の切断の際の処理を示すフローチャートである。子機デバイス104がアクセスポイント装置200と通信を行っている際に(ステップS132)、子機デバイス104とのWi-Fi通信が切断されたとする(ステップS134のYES)。この場合、無線LAN通信部202は、子機デバイス104との再接続待ち状態に移行する(ステップS136)。
そして、一定時間が経過しない間に(ステップS138のNO)、無線LAN通信部202が子機デバイス104との接続を確立すると(ステップS140のYES)、無線LAN通信部202は、子機デバイス104と通信を再開する(ステップS142)。一方、無線LAN通信部202は、子機デバイス104との接続を確立できない場合(S140のNO)、再接続待ち状態を継続する。そして、再接続待ち状態に移行してから一定時間が経過しても子機デバイス104が無線LAN通信部202と接続しない場合(S138のYES)、MACアドレスフィルタ機能部210は、許可リストを更新する(ステップS144)。このとき、MACアドレスフィルタ機能部210は、S118の処理と同様に、許可リストからMACアドレスを削除する。そして、Bluetooth通信部220は、Bluetooth通信を終了し、Bluetooth通信の待ち受け状態に移行する(ステップS146)。なお、許可リストに1台も子機デバイス104(MACアドレス)が登録されていない場合、無線LAN通信部202は、ビーコン信号の送信を停止して、その機能を停止してもよい。これにより、省電力化を図ることができる。
(本実施の形態にかかる効果)
通信端末(子機デバイス)が通信装置(アクセスポイント装置)にアクセスする際にセキュアな認証を実現するために、特定の状況でのみの認証を可能とし、不特定多数のデバイスからの認証を制限することでセキュリティを向上させる方法がある。認証方法については、MACアドレスフィルタを利用した接続制限、認証キーデバイスを用いたログイン、又は生体認証等が知られている。
ここで、MACアドレスを用いる方法については、一般的なルータ(アクセスポイント)においては登録数に限りがあり、多くのMACアドレスを一度に登録できない。さらに、悪意あるユーザが接続子機(通信端末)のMACアドレスを改変することも可能である。また、認証キーデバイスを用いる方法については、ユーザが認証キーデバイスを紛失した際に他者にその認証キーデバイスを利用されてしまうおそれがある。また、生体認証を用いる方法については、ユーザのコンディションによる認識率の低下、及び、専用の認証用インタフェースが必要となることといった問題がある。
これに対し、本実施の形態にかかるアクセスポイント装置200は、上記の構成により、セキュリティ性を高くすることができる(第1の効果)。本実施の形態にかかる方法は、キーデバイス102による認証プロセスを含むため、悪意あるユーザによるMACアドレスの改ざん(詐称)だけではアクセスポイント装置200にかかるセキュリティを突破することが困難である。したがって、本実施の形態にかかるアクセスポイント装置200は、一般的なMACアドレスフィルタリング機能と比較して、よりセキュアである。
また、ユーザがキーデバイス102を紛失した場合であっても、そのキーデバイス102のみを使用するだけではアクセスポイント装置200に接続することはできず、キーデバイス102に対応する子機デバイス104が必要である。したがって、本実施の形態にかかるアクセスポイント装置200は、キーデバイス102を紛失した場合であってもセキュアである。
また、キーデバイス102に対応する子機デバイス104のMACアドレスは、アクセスポイント装置200によって管理されている。したがって、アクセスポイント装置200は、キーデバイス102との通信において、無線通信経路へ、そのキーデバイス102に対応する子機デバイス104のMACアドレスを送信することはない。同様に、キーデバイス識別情報とMACアドレスとを対応付けるアドレス参照テーブル112は管理サーバ110によって管理されている。したがって、アクセスポイント装置200は、子機デバイス104との通信において、無線通信経路へ、その子機デバイス104に対応するキーデバイス102の識別情報を送信することはない。したがって、外部からは、キーデバイス102と子機デバイス104との対応を示すペア情報を特定することは困難である。よって、MACアドレスの改ざんは困難である。さらに、本実施の形態にかかる方法は、認証プロセスとして、キーデバイス識別情報とMACアドレスとを用いた2段階認証となるため、WPA2(Wi-Fi Protected Access 2)における脆弱性などに関する、片方の接続方式に対するゼロデイ攻撃に効果的である。
また、本実施の形態にかかるアクセスポイント装置200は、多数のユーザに対応することが可能である(第2の効果)。一般的に、MACアドレスフィルタ機能に対し、同時に設定可能なMACアドレスの数は限られる。例えば、大企業の社員全員に接続許可を与えるといった機能を実現することは、MACアドレスフィルタ機能では困難である。
これに対し、本実施の形態にかかるアクセスポイント装置200は、キーデバイスと接続するごとに許可リストを動的に更新するように構成されている。したがって、アクセスポイント装置200は、大量の接続可能な子機デバイスのうち、現在接続しようとしている子機デバイスに絞って動的に許可を与えることで、擬似的に多数の接続許可ユーザを登録しているような振る舞いを行うことができる。なお、動的に登録可能なデバイス数は、アクセスポイント装置200の性能により制限があり得る。しかしながら、一般的には、Wi-Fiにおいて同時に接続可能なセッション数は、許可リストに登録可能なMACアドレス数以下となり得る。したがって、同時に多数のユーザに接続の許可を与えることができないことについては問題とならない可能性が高い。
また、本実施の形態にかかるアクセスポイント装置200は、上記の構成により、Wi-Fi通信の未使用時の省電力化を容易に図ることができる(第3の効果)。一般的に、アクセスポイント装置200は、Wi-Fi通信の接続の待ち受けとして、常にビーコン信号を発信する必要がある。これに対し、アクセスポイント装置200は、接続待ち受け処理を、BLE機能を有するBluetooth通信部220が行う。そして、Bluetooth通信における消費電力の方が、Wi-Fi通信における消費電力よりも小さい。したがって、無線LAN通信部202が常にビーコン信号を発信している場合と比較して、省電力化となった待ち受け状態を実現することが可能となる。
また、本実施の形態にかかるアクセスポイント装置200は、安価で容易に実現可能である(第4の効果)。本実施の形態において、キーデバイス102は、BLEに対応した通信機能をもつデバイスであれば実現可能である。したがって、キーデバイス102として、一般的なBluetoothボタンデバイスを使用可能である。また、子機デバイス104は、Wi-Fi通信が可能であれば基本的にMACアドレスを有する。したがって、子機デバイス104として、一般的なWi-Fi子機を使用可能である。また、アクセスポイント装置200についても、一般的なBluetooth通信及びWi-Fi通信が可能であれば特別なインタフェースを別途用意する必要はない。したがって、ハードウェア構成として安価にアクセスポイント装置200を実現可能である。
また、本実施の形態においては、省電力化のため、接続方式として、キーデバイスとの間の(BLE機能対応の)Bluetooth通信及び子機デバイスとの間のWi-Fi通信を使用している。また、本実施の形態においては、動的な設定変更の容易さという観点により、接続可能な子機デバイス104の制限方法として、MACアドレスフィルタを用いている。しかしながら、本実施の形態にかかる効果の取捨選択により、他の通信方式及び他の制限方法を用いてもよい。
また、本実施の形態においては、管理サーバ110がアドレス参照テーブル112を格納している。しかしながら、アクセスポイント装置200が、アドレス参照テーブル112を格納してもよい。しかしながら、アクセスポイント装置200にアドレス参照テーブル112が格納されている場合と比較して、アドレス参照テーブル112における対応付けの情報の漏えいをより確実に抑制することが可能となる。
(実施の形態2)
次に、実施の形態2について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
図9は、実施の形態2にかかる通信システム100を示す図である。実施の形態2にかかる通信システム100は、キーデバイス102と、子機デバイス104と、管理サーバ110と、複数のアクセスポイント装置200-1~200-3とを有する。なお、キーデバイス102、子機デバイス104、管理サーバ110及び各アクセスポイント装置200の構成は、基本的には、実施の形態1にかかるものと実質的に同様である。
複数のアクセスポイント装置200-1~200-3は、Bluetoothメッシュによって相互に接続されている。したがって、各アクセスポイント装置200のBluetooth通信部220は、Bluetoothメッシュ機能に対応した通信を行う。また、キーデバイス102も、Bluetoothメッシュ機能に対応した機能を有する。
なお、管理サーバ110に格納されているアドレス参照テーブル112(図4)は、各アクセスポイント装置200に格納されていてもよい。あるいは、アドレス参照テーブル112は、代表となるアクセスポイント装置200(例えばアクセスポイント装置200-1)に格納されていてもよい。この場合、各アクセスポイント装置200が相互に問い合わせを行うようにしてもよい。
図10は、実施の形態2にかかるアクセスポイント装置200によって実行される通信方法を示すフローチャートである。まず、ユーザによって、キーデバイス102が、Bluetoothによって、アクセスポイント装置200-1~200-3のいずれかに接続される(ステップS200)。具体的には、実施の形態1と同様に、アクセスポイント装置200-1~200-3のいずれかのBluetooth通信部220は、キーデバイス102と接続する。これにより、キーデバイス102と接続されたアクセスポイント装置200のBluetooth通信部220は、キーデバイス102から、キーデバイス識別情報を受信する。以下の説明では、アクセスポイント装置200-1が、キーデバイス102と接続し、キーデバイス識別情報を受信するとする。
アクセスポイント装置200-1は、Bluetoothメッシュ機能を使用して、各アクセスポイント装置200に対して、キーデバイス識別情報をブロードキャスト送信する(ステップS202)。具体的には、アクセスポイント装置200-1のBluetooth通信部220は、受信されたキーデバイス識別情報を、アクセスポイント装置200-2,200-3に転送する。これにより、アクセスポイント装置200-1は、各アクセスポイント装置200に、Bluetooth通信によるキーデバイス102の接続を通知する。
このように、キーデバイス102が接続されたアクセスポイント装置200は、他のアクセスポイント装置200にキーデバイス識別情報をブロードキャスト送信するので、キーデバイス102は、どのアクセスポイント装置200に接続してもよい。各アクセスポイント装置200がBluetoothメッシュにおけるリレーノードとしてブロードキャスト送信を中継することにより、各アクセスポイント装置200は、メッシュ内の各アクセスポイント装置200におけるキーデバイス102の接続を認識する。アクセスポイント装置200-1は、ブロードキャスト送信後、キーデバイス102との通信を切断する(ステップS204)。
アクセスポイント装置200-1~200-3は、それぞれ、自身のWi-Fi通信にかかる接続台数に空きがあるか否かを判定する(ステップS206)。具体的には、各アクセスポイント装置200は、キーデバイス識別情報が転送されてきた場合に、自身のアクセスポイント装置200と接続している子機デバイス104の接続台数が、接続可能な許容台数未満であるか否かを判定する。この判定は、例えば無線LAN通信部202によって実行され得る。各アクセスポイント装置200は、自身の接続台数に空きがない場合(S206のNO)、キーデバイス102の接続待ち状態に移行する(ステップS208)。
一方、各アクセスポイント装置200は、接続台数に空きがある場合(S206のYES)、キーデバイス識別情報を元に管理サーバ110に問い合わせ、キーデバイス識別情報に対応する子機デバイス104のMACアドレスを取得する(ステップS210)。具体的には、接続台数に空きがあるアクセスポイント装置200のMACアドレス取得部206は、受信されたキーデバイス識別情報を元に、管理サーバ110に問い合わせる。これにより、MACアドレス取得部206は、アドレス参照テーブル112においてキーデバイス識別情報と対応付けられた、接続を許可すべき子機デバイス104のMACアドレスを取得する。
なお、アクセスポイント装置200-1と他の全てのアクセスポイント装置200とが直接Bluetoothメッシュによって接続されていない場合、以下のようにしてもよい。アクセスポイント装置200-2,200-3は、アクセスポイント装置200-1からキーデバイス識別情報がブロードキャスト送信された場合に、自身のWi-Fi通信にかかる接続台数に空きがあるか否かを判定する。そして、各アクセスポイント装置200は、自身の接続台数に空きがない場合に、他のアクセスポイント装置200に対して、キーデバイス識別情報をブロードキャスト送信する。これにより、アクセスポイント装置200-2,200-3は、他のアクセスポイント装置200にBluetooth通信によるキーデバイス102の接続を通知する。なお、アクセスポイント装置200-2,200-3は、自身のWi-Fi通信にかかる接続台数に空きがある場合に、他のアクセスポイント装置200に対してキーデバイス識別情報をブロードキャスト送信しなくてもよい。
MACアドレスを取得したアクセスポイント装置200は、自身の許可リスト格納部212に格納された許可リストを更新する(ステップS212)。具体的には、MACアドレスを取得したアクセスポイント装置200のMACアドレスフィルタ機能部210は、取得されたMACアドレスを、許可リストに追加(登録)する。なお、MACアドレス取得部206が管理サーバ110からMACアドレスを取得できなかった場合、アクセスポイント装置200は、特に何もせず、接続の待ち受け状態に移行してもよい。
MACアドレスを取得したアクセスポイント装置200は、Wi-Fi通信の待ち受けを開始する(ステップS214)。具体的には、MACアドレスを取得したアクセスポイント装置200の無線LAN通信部202は、Wi-Fi通信を行うためのビーコン信号の発信を開始する。そして、ユーザによって、子機デバイス104が、そのアクセスポイント装置200にWi-Fi通信によって接続する。これにより、そのアクセスポイント装置200は、子機デバイス104と通信を行う(ステップS216~ステップS224)。なお、S216~S224の処理は、それぞれ、図6に示したS112~S120の処理と実質的に同様であるので、説明を省略する。
以下、アクセスポイント装置200-2,200-3の接続台数に空きがあり、アクセスポイント装置200-2に子機デバイス104が接続する例について説明する。アクセスポイント装置200-1の接続台数に空きがないので、アクセスポイント装置200-1のMACアドレスフィルタ機能部210の許可リストには、子機デバイス104のMACアドレスが登録されない。したがって、子機デバイス104は、アクセスポイント装置200-1に接続できない。
アクセスポイント装置200-2の接続台数に空きがあるので、アクセスポイント装置200-2のMACアドレスフィルタ機能部210の許可リストには、子機デバイス104のMACアドレスが登録される(S212)。したがって、子機デバイス104は、アクセスポイント装置200-2に接続可能となる。そして、アクセスポイント装置200-2は、子機デバイス104とWi-Fi通信を開始する。
アクセスポイント装置200-3の接続台数に空きがあるので、アクセスポイント装置200-3のMACアドレスフィルタ機能部210の許可リストには、子機デバイス104のMACアドレスが登録される(S212)。したがって、子機デバイス104は、アクセスポイント装置200-3に接続可能となる。しかしながら、子機デバイス104は、アクセスポイント装置200-2と既に接続しているので、アクセスポイント装置200-3に対してWi-Fi通信による接続はなされない。この場合、アクセスポイント装置200-3は、一定時間以内に子機デバイス104と接続状態にならないので(S216のYES)、許可リストから子機デバイス104のMACアドレスを削除する(S222)。
図11は、実施の形態2にかかるアクセスポイント装置200によって実行される、子機デバイス104との通信の切断の際の処理を示すフローチャートである。以下の説明では、アクセスポイント装置200-2が子機デバイス104との通信を切断する場合について例示する。
子機デバイス104がアクセスポイント装置200-2と通信を行っている際に(ステップS232)、子機デバイス104とのWi-Fi通信が切断されたとする(ステップS234のYES)。この場合、アクセスポイント装置200-2(無線LAN通信部202)は、子機デバイス104との再接続待ち状態に移行する(ステップS236)。
一定時間が経過しない間に(ステップS238のNO)、アクセスポイント装置200-2が子機デバイス104との接続を確立するとする(ステップS240のYES)。この場合、アクセスポイント装置200-2は、子機デバイス104と通信を再開する(ステップS242)。一方、アクセスポイント装置200-2は、子機デバイス104との接続を確立できない場合(S240のNO)、再接続待ち状態を継続する。そして、再接続待ち状態に移行してから一定時間が経過しても子機デバイス104がアクセスポイント装置200-2と接続しないとする(S238のYES)。この場合、アクセスポイント装置200-2(MACアドレスフィルタ機能部210)は、許可リストを更新する(ステップS244)。このとき、MACアドレスフィルタ機能部210は、S118(S144)の処理と同様に、許可リストからMACアドレスを削除する。そして、アクセスポイント装置200-2(Bluetooth通信部220)は、Bluetooth通信を終了し、キーデバイス102の待ち受け状態に移行する(ステップS246)。なお、アクセスポイント装置200-2において子機デバイス104の再接続待ち状態の終了後(S238のYES)に、再度、子機デバイス104を接続させるためには、キーデバイス102の接続(S200)からやり直す必要がある。
実施の形態2にかかるアクセスポイント装置200において、Bluetooth通信部220は、キーデバイス識別情報が受信された場合に、キーデバイス識別情報を他の1つ以上のアクセスポイント装置200に転送する。また、キーデバイス識別情報報がアクセスポイント装置200に転送されてきた場合、このアクセスポイント装置200は、子機デバイス104と接続可能であるか否かを判定する。そして、子機デバイス104と接続可能である(接続台数に空きがある等)ときに、そのアクセスポイント装置200のMACアドレス取得部206は、MACアドレスを取得する。
実施の形態2にかかる通信システム100は、上記のように構成されていることにより、ユーザは、複数のアクセスポイント装置200を意識せずに使い分けることができる。つまり、ユーザが自己の子機デバイス104をアクセスポイント装置200に接続させたい場合に、子機デバイス104は、そのときに接続可能なアクセスポイント装置200に、自動的に接続することができる。また、このような構成を採用することで、同時に多くの子機デバイス104を、アクセスポイント装置200(Bluetoothメッシュ)に接続させることが可能となる。なお、上記の例では、アクセスポイント装置200は、接続台数に空きがあるときに子機デバイス104と接続可能であるとしたが、このような構成に限られない。例えば、帯域使用状況に空きがある場合に、アクセスポイント装置200は、子機デバイス104と接続可能であるとしてもよい。
また、アクセスポイント装置200間で、双方向通信を行ってもよい。これにより、各アクセスポイント装置200で、接続台数及び帯域使用状況を共有することができる。そして、接続台数及び帯域使用状況に空きがあるアクセスポイント装置200が接続許可を行うことで、負荷分散を行うことが可能である。
(実施の形態3)
次に、実施の形態3について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
図12は、実施の形態3にかかる通信システム100を示す図である。実施の形態3にかかる通信システム100は、複数のキーデバイス102A,102Bと、複数の子機デバイス104A,104Bと、管理サーバ110と、アクセスポイント装置200とを有する。なお、キーデバイス102A,102Bの構成は、キーデバイス102の構成と実質的に同様である。同様に、子機デバイス104A,104Bの構成は、子機デバイス104の構成と実質的に同様である。なお、キーデバイス102(102A,102B)、子機デバイス104(104A,104B)、管理サーバ110及び各アクセスポイント装置200の構成は、基本的には、実施の形態1にかかるものと実質的に同様である。
実施の形態3においては、キーデバイス102A(キーデバイスA)に対応する子機デバイス104が複数あるとする。つまり、キーデバイス102Aは、対応する子機デバイス群Aを有する。同様に、キーデバイス102B(キーデバイスB)に対応する子機デバイス104が複数あるとする。つまり、キーデバイス102Bは、対応する子機デバイス群Bを有する。そして、アドレス参照テーブル112は、キーデバイス102Aのキーデバイス識別情報と、子機デバイス群Aを構成する複数の子機デバイス104のMACアドレスとを対応付ける。同様に、アドレス参照テーブル112は、キーデバイス102Bのキーデバイス識別情報と、子機デバイス群Bを構成する複数の子機デバイス104のMACアドレスとを対応付ける。
ユーザAが所有する子機デバイス104A(子機デバイスA)は、キーデバイス102A(キーデバイスA)に対応する。したがって、子機デバイス104Aは、子機デバイス群Aに属する。また、ユーザBが所有する子機デバイス104B(子機デバイスB)は、キーデバイス102B(キーデバイスB)に対応する。したがって、子機デバイス104Bは、子機デバイス群Bに属する。
図13は、実施の形態3にかかるアクセスポイント装置200によって実行される通信方法を示すフローチャートである。まず、ユーザによって、キーデバイス102が、Bluetoothによって、アクセスポイント装置200に接続される。これにより、Bluetooth通信部220は、キーデバイス102と接続する(ステップS300)。これにより、Bluetooth通信部220は、キーデバイス102から、キーデバイス識別情報を受信する。
例えば、ユーザAによって、キーデバイス102Aがアクセスポイント装置200に接続されると、Bluetooth通信部220は、キーデバイス102Aと接続する(S300)。これにより、Bluetooth通信部220は、キーデバイス102Aから、キーデバイス識別情報A(キーデバイスID_A)を受信する。また、ユーザBによって、キーデバイス102Bがアクセスポイント装置200に接続されると、Bluetooth通信部220は、キーデバイス102Bと接続する(S300)。これにより、Bluetooth通信部220は、キーデバイス102Bから、キーデバイス識別情報B(キーデバイスID_B)を受信する。
アクセスポイント装置200のMACアドレス取得部206は、受信されたキーデバイス識別情報を元に、管理サーバ110に問い合わせる(ステップS302)。これにより、MACアドレス取得部206は、アドレス参照テーブル112においてキーデバイス識別情報と対応付けられた、接続を許可すべき子機デバイス104のMACアドレスの取得を試みる。受信されたキーデバイス識別情報がキーデバイス識別情報Aである場合(ステップS304の「キーデバイスID_A」)、MACアドレス取得部206は、子機デバイス104Aを含む子機デバイス群AのMACアドレスを取得する(ステップS306A)。一方、受信されたキーデバイス識別情報がキーデバイス識別情報Bである場合(S304の「キーデバイスID_B」)、MACアドレス取得部206は、子機デバイス104Bを含む子機デバイス群BのMACアドレスを取得する(ステップS306B)。
MACアドレスの取得に成功すると、MACアドレスフィルタ機能部210は、許可リスト格納部212に格納された許可リストを更新する(ステップS308)。具体的には、MACアドレスフィルタ機能部210は、取得されたMACアドレスを、許可リストに追加(登録)する。S306Aのケースでは、MACアドレスフィルタ機能部210は、子機デバイス群AのMACアドレスを許可リストに追加する。S306Bのケースでは、MACアドレスフィルタ機能部210は、子機デバイス群BのMACアドレスを許可リストに追加する。
無線LAN通信部202は、許可リストに登録されたMACアドレスに関する子機デバイス104と、Wi-Fiにより通信を行う(ステップS310)。具体的には、無線LAN通信部202は、図6に示したS110~S120の処理を行って、子機デバイス104と通信を行う。
なお、図12の例では、アクセスポイント装置200は、キーデバイス102Aからキーデバイス識別情報Aを受信し、子機デバイス群AのMACアドレスを登録している。この場合、アクセスポイント装置200は、子機デバイス群AのMACアドレスを登録済みであるので子機デバイス104Aとの接続を行うことができる。この場合において、ユーザBが、子機デバイス104Bをアクセスポイント装置200に接続させようとしたとする。このとき、アクセスポイント装置200は、子機デバイス群BのMACアドレスを登録していないので、アクセスポイント装置200は、子機デバイス104Bとの接続を行うことができない。
逆に、アクセスポイント装置200が、キーデバイス102Bからキーデバイス識別情報Bを受信し、子機デバイス群BのMACアドレスを登録しているとする。この場合、アクセスポイント装置200は、子機デバイス群BのMACアドレスを登録済みであるので子機デバイス104Bとの接続を行うことができる。この場合において、ユーザAが、子機デバイス104Aをアクセスポイント装置200に接続させようとしたとする。このとき、アクセスポイント装置200は、子機デバイス群AのMACアドレスを登録していないので、アクセスポイント装置200は、子機デバイス104Aとの接続を行うことができない。
アクセスポイント装置200は、キーデバイス102(102A又は102B)との通信が切断されると(ステップS320)、許可リストから、対応する子機デバイス群のMACアドレスを削除する(ステップS334)。これにより、アクセスポイント装置200は、子機デバイス104(104A又は104B)との通信を切断する(ステップS344)。そして、アクセスポイント装置200は、Bluetooth通信の待ち受け状態に移行する(ステップS346)。
なお、実施の形態3においては、アクセスポイント装置200は、ある子機デバイス群の子機デバイス104と通信を行っているときに、別の子機デバイス群の子機デバイス104との通信を許可しないようにしてもよい。そのためには、例えば、Bluetooth通信部220は、あるキーデバイス102(例えばキーデバイス102A)と接続しているときに、他のキーデバイス102(例えばキーデバイス102B)との接続を禁止してもよい。
実施の形態3にかかるアクセスポイント装置200は、上記のように構成されているので、アクセスポイント装置200に接続される子機デバイス104の属性を制御することができる。実施の形態3において、Bluetooth通信部220とキーデバイス102との接続が切断されたときに、MACアドレスフィルタ機能部210は、このキーデバイス102のキーデバイス識別情報に対応するMACアドレスを削除する。このような構成によって、例えば管理者がキーデバイス102を所持している場合等で、その管理者がネットワークの利用を監視しているときのみに、ユーザは、子機デバイス104をアクセスポイント装置200に接続させることができる。言い換えると、管理者がネットワークの利用を監視していないときは、アクセスポイント装置200はキーデバイス102と接続できないので、子機デバイス104はアクセスポイント装置200に接続できない。
また、実施の形態3において、Bluetooth通信部220は、あるキーデバイス102と接続しているときに、他のキーデバイス102との接続を禁止する。このような構成によって、ある子機デバイス群に関するグループがアクセスポイント装置200を使用している場合に、他のグループがアクセスポイント装置200を使用することを制限することができる。例えば、多数のグループが所属する研究施設では、複数のグループが1つのアクセスポイント装置200を利用していることがある。この場合、通信はグループ内で秘匿し、複数のグループを跨いだ通信を禁止することが所望されることがある。このようなケースにおいて、子機デバイス群Aに関するグループAがキーデバイス102Aを用いて子機デバイス104Aをアクセスポイント装置200に接続させているとする。この場合、子機デバイス群Bに関するグループBがキーデバイス102Bを用いて子機デバイス104Bをアクセスポイント装置200に接続させようとしても、その接続は禁止される。したがって、キーデバイス102の接続の切り替えによって、アクセスポイント装置200の利用制限を動的に切り替えることにより、複数のグループが1つのアクセスポイント装置200を使用することができる。
(ハードウェア構成例)
図14は、本実施の形態にかかる通信システム100を構成する各装置のハードウェア構成を例示する図である。各装置(キーデバイス102、子機デバイス104、管理サーバ110及びアクセスポイント装置200)は、情報処理装置70によって実現され得る。情報処理装置70は、制御部72と、入力部73と、表示部74と、記憶部76と、通信部78とを有する。情報処理装置70(各装置)は、これらの構成要素により、コンピュータとしての機能を有する。
制御部72は、例えばCPU等の演算処理装置(プロセッサ)である。制御部72は、情報処理装置70の動作を制御する。制御部72は、入力部73、表示部74、記憶部76及び通信部78の動作を制御する。また、制御部72は、入力部73によって受け付けられた操作に応じて、必要な処理を行う。また、制御部72は、表示部74に必要な情報を表示させるように制御を行う。また、制御部72は、通信部78によって受信された情報及び信号に応じて、必要な処理を行う。さらに、制御部72は、記憶部76に格納されたプログラムを実行し得る。これにより、アクセスポイント装置200の各構成要素が実現され得る。
入力部73及び表示部74は、ユーザインタフェースである。入力部73は、タッチパネル、キーボード又はマウス等を備えて実現し得る。表示部74は、タッチパネル又はLCD(Liquid Crystal Display)等の表示装置、又はプリンタ等を備えて実現することができる。また、入力部73及び表示部74は、タッチパネル等によって、物理的に一体として構成され得る。
記憶部76は、例えばメモリ又はハードディスク等の記憶装置である。記憶部76は、各種プログラム及び各種情報を記憶する。通信部78は、有線又は無線によって、キーデバイス102、子機デバイス104又は管理サーバ110と通信を行うために必要な処理を行う機器である。
なお、アクセスポイント装置200の各構成要素は、プログラムによるソフトウェアで実現することに限られない。アクセスポイント装置200の各構成要素の少なくとも1つは、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、アクセスポイント装置200の各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン等の、使用者がプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した各実施の形態は、相互に適用可能である。つまり、実施の形態3は、実施の形態2にも適用可能である。
また、例えば、上述したフローチャートにおいて、各処理(ステップ)の順序は、適宜、変更可能である。また、複数ある処理(ステップ)のうちの1つ以上は、省略されてもよい。例えば、図6において、S104,S106,S112,S118,S120の処理は省略されてもよい。
また、上述した実施の形態において、キーデバイス102はBluetoothによってアクセスポイント装置200と接続するとしたが、このような構成に限られない。キーデバイス102は、他の近距離無線通信規格によってアクセスポイント装置200と接続してもよい。また、子機デバイス104は、アクセスポイント装置200と、Wi-Fiによって通信を行うとしたが、このような構成に限られない。子機デバイス104は、他の無線通信規格によってアクセスポイント装置200と通信を行ってもよい。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
キーデバイスと通信を行って当該キーデバイスの識別情報である第1の識別情報を受信するキーデバイス通信手段と、
前記第1の識別情報と予め対応付けられている通信端末の識別情報である第2の識別情報を取得する識別情報取得手段と、
前記第2の識別情報に対応する前記通信端末との接続のみを許可するように制御を行うフィルタ機能手段と、
接続を許可された前記通信端末と通信を行う端末通信手段と
を有する通信装置。
(付記2)
接続が許可された前記通信端末に関する前記第2の識別情報のリストである許可リストを格納するリスト格納手段
をさらに有し、
前記フィルタ機能手段は、前記第2の識別情報が取得されたときに前記許可リストを更新し、
前記端末通信手段は、前記許可リストに含まれる前記第2の識別情報に対応する通信端末と通信を行う
付記1に記載の通信装置。
(付記3)
前記第2の識別情報が取得されたときに、前記端末通信手段は、前記通信端末と接続を行うための信号の発信を開始する
付記1又は2に記載の通信装置。
(付記4)
前記キーデバイス通信手段は、前記第1の識別情報が受信された場合に、前記第1の識別情報を他の1つ以上の通信装置に転送し、
前記第1の識別情報が当該通信装置に転送されてきた場合であって、当該通信装置が前記通信端末と接続可能であるときに、前記識別情報取得手段は、前記第2の識別情報を取得する
付記1~3のいずれか1項に記載の通信装置。
(付記5)
前記キーデバイス通信手段と前記キーデバイスとの接続が切断されたときに、前記フィルタ機能手段は、当該キーデバイスに関する前記第1の識別情報に対応する前記第2の識別情報を削除する
付記1~3のいずれか1項に記載の通信装置。
(付記6)
前記キーデバイス通信手段は、ある前記キーデバイスと接続しているときに、他の前記キーデバイスとの接続を禁止する
付記1~3のいずれか1項に記載の通信装置。
(付記7)
前記識別情報取得手段は、前記第1の識別情報と前記第2の識別情報とを予め対応付ける管理サーバから、前記第2の識別情報を取得する
付記1~6のいずれか1項に記載の通信装置。
(付記8)
前記第2の識別情報は、MACアドレスである
付記1~7のいずれか1項に記載の通信装置。
(付記9)
付記1~8のいずれか1項に記載の前記通信装置と、
前記キーデバイスと、
前記通信端末と
を有する通信システム。
(付記10)
前記第1の識別情報と前記第2の識別情報とを予め対応付ける管理サーバ
をさらに有し、
前記識別情報取得手段は、前記管理サーバから、前記第2の識別情報を取得する
付記9に記載の通信システム。
(付記11)
キーデバイスと通信を行って当該キーデバイスの識別情報である第1の識別情報を受信し、
前記第1の識別情報と予め対応付けられている通信端末の識別情報である第2の識別情報を取得し、
前記第2の識別情報に対応する前記通信端末との接続のみを許可するように制御を行い、
接続を許可された前記通信端末と通信を行う
通信方法。
(付記12)
前記第2の識別情報が取得されたときに、接続が許可された前記通信端末に関する前記第2の識別情報のリストである許可リストを更新し、
前記許可リストに含まれる前記第2の識別情報に対応する通信端末と通信を行う
付記11に記載の通信方法。
(付記13)
前記第2の識別情報が取得されたときに、前記通信端末と接続を行うための信号の発信を開始する
付記11又は12に記載の通信方法。
(付記14)
前記第1の識別情報が受信された場合に、前記第1の識別情報を他の1つ以上の通信装置に転送し、
前記第1の識別情報が当該通信装置に転送されてきた場合であって、当該通信装置が前記通信端末と接続可能であるときに、前記第2の識別情報を取得する
付記11~13のいずれか1項に記載の通信方法。
(付記15)
前記キーデバイスとの接続が切断されたときに、当該キーデバイスに関する前記第1の識別情報に対応する前記第2の識別情報を削除する
付記11~13のいずれか1項に記載の通信方法。
(付記16)
ある前記キーデバイスと接続しているときに、他の前記キーデバイスとの接続を禁止する
付記11~13のいずれか1項に記載の通信方法。
(付記17)
前記第1の識別情報と前記第2の識別情報とを予め対応付ける管理サーバから、前記第2の識別情報を取得する
付記11~16のいずれか1項に記載の通信方法。
(付記18)
前記第2の識別情報は、MACアドレスである
付記11~17のいずれか1項に記載の通信方法。
(付記19)
キーデバイスと通信を行って当該キーデバイスの識別情報である第1の識別情報を受信する機能と、
前記第1の識別情報と予め対応付けられている通信端末の識別情報である第2の識別情報を取得する機能と、
前記第2の識別情報に対応する前記通信端末との接続のみを許可するように制御を行う機能と、
接続を許可された前記通信端末と通信を行う機能と
をコンピュータに実現させるためのプログラム。