以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分には同一符号を付してその説明は原則的には繰り返さないものとする。
[実施の形態1]
<通信システムの全体構成>
図1は、実施の形態1に係る通信システム1の全体構成を模式的に示す図である。以下では、一例として、実施の形態1に係る通信システム1が船舶に適用される場合を例にして説明する。通信システム1は、船舶内における乗員の位置および乗員の状態を管理するためのシステムである。
通信システム1は、複数のビーコン装置10(ビーコン装置10−1,10−2,…)と、複数の受信装置20(受信装置20−1,20−2,…)と、管理装置30と、通信ケーブル40とを備える。受信装置20−1,20−2,…の各々は、管理装置30と通信ケーブル40を介して通信可能に接続されている。なお、ビーコン装置10−1,10−2,…の各々は、「第1装置」の一例に相当する。また、受信装置20−1,20−2,…の各々は、「第2装置」の一例に相当する。また、管理装置30は、「第3装置」の一例に相当する。
ビーコン装置10−1,10−2,…は、乗員(船員)2−1,2−2,…にそれぞれ携帯される。以下では、ビーコン装置10−1,10−2,…を特に区別しない場合、ビーコン装置10−1,10−2,…の各々を「ビーコン装置10」とも称する。また、乗員2−1,2−2,…を特に区別しない場合、乗員2−1,2−2,…の各々を「乗員2」とも称する。
ビーコン装置10は、充電可能なバッテリを動力源とする携帯型のビーコン装置である。ビーコン装置10は、Bluetooth(登録商標) Low Energy(BLE)規格におけるアドバタイズパケット(アドバタイジングパケットともいう)を電波60によってブロードキャスト送信する。後述するように、ビーコン装置10は、乗員2の生体情報を検知する生体センサを含み、生体センサによって検知された生体情報をアドバタイズパケットに付加する。また、アドバタイズパケットには、ビーコン装置10を識別する装置IDの情報が含まれる。
受信装置20−1,20−2,…は、たとえば、船舶内の壁等によって区切られた区画毎に設置されている。受信装置20−1,20−2,…には、個々を識別するための受信装置IDがそれぞれ割り振られている。以下では、受信装置20−1,20−2,…を特に区別しない場合、受信装置20−1,20−2,…の各々を「受信装置20」とも称する。
受信装置20は、ビーコン装置10から送信されるアドバタイズパケットを受信可能に構成される。受信装置20は、アドバタイズパケットを受信すると、アドバタイズパケットの受信強度を示す受信強度情報と、受信時刻を示す受信時刻情報と、受信装置IDの情報と、装置IDの情報と、生体情報とを管理装置30に送信する。
管理装置30は、受信装置20から受けた受信強度情報、受信時刻情報、受信装置IDの情報、装置IDの情報および生体情報に基づいて、乗員2を管理する。具体的には、管理装置30は、装置IDの情報から乗員2を特定する。管理装置30は、受信強度情報、受信時刻情報および受信装置IDの情報から、乗員2の位置を推定する。また、管理装置30は、乗員2の生体情報から乗員2の状態を推定する。すなわち、管理装置30は、乗員2の位置および乗員2の状態を管理する。
ここで、上述のように、ビーコン装置10から送信されるアドバタイズパケットには、乗員2の生体情報、すなわち乗員2の個人情報が含まれる。そのため、仮にアドバタイズパケットが意図しない者に傍受されたとしても、生体情報の漏洩を防止することが望ましい。実施の形態1に係る通信システム1では、ビーコン装置10は、セキュリティ対策のために共通鍵を用いて生体情報を暗号化する。そして、暗号化した生体情報をアドバタイズパケットに付加して送信する。これにより、アドバタイズパケットが意図しない者に傍受されたとしても、生体情報の漏洩を防止できる。
共通鍵は、管理装置30によって生成される。管理装置30によって生成された共通鍵は、ビーコン装置10において生体情報の暗号化に用いられ、受信装置20において暗号化された生体情報の復号に用いられる。具体的には、図1に示す例において、ビーコン装置10は、生体センサによって検出された生体情報を、共通鍵50を用いて暗号化して、アドバタイズパケットに付加する。アドバタイズパケットを受信した受信装置20は、共通鍵50を用いて生体情報を復号する。
ここで、意図しない者に共通鍵が漏洩することが起こり得る。このような場合においても、通信システム1のセキュリティを担保するために、実施の形態1に係る通信システム1では、共通鍵の更新を行なう。
具体的には、管理装置30は、所定周期毎に新たに共通鍵(図1に示す例における共通鍵51)を生成する。そして、管理装置30は生成した共通鍵51を通信ケーブル40を介して受信装置20に送信する。
受信装置20は、管理装置30から共通鍵51を受信すると、共通鍵51を記憶する。なお、詳細は後述するが、この場合において、受信装置20は、管理装置30から共通鍵50を削除する指示を受けるまで、共通鍵50および共通鍵51の両方を保持する。管理装置30から共通鍵50を削除する指示を受けると、受信装置20は、共通鍵50を削除する。
ビーコン装置10は、受信装置20を介して新たな共通鍵51を取得する。具体的には、実施の形態1に係るビーコン装置10は、通信モードを単方向通信する第1モードと双方向通信する第2モードとに切り替え可能に構成される。ビーコン装置10は、共通鍵を更新する場合に、通信モードを第2モードに切り替えて、受信装置との間で双方向通信し、電波61(図2)によって受信装置20から共通鍵51を取得する。これによって、ビーコン装置10の共通鍵が、共通鍵50から共通鍵51に更新される。通信システム1の共通鍵が更新されることによって、意図しない者に共通鍵が漏洩したとしても、セキュリティ上の問題を一時的なものとすることができる。
通信モードの切り替えが行なわれる上記の「共通鍵を更新する場合」とは、たとえば、ビーコン装置10が充電器に接続された場合である。図2に示されるように、ビーコン装置10は、充電器80に接続された場合に、単方向通信と双方向通信とを切り替える。
バッテリを動力源とする携帯型のビーコン装置10においては、ビーコン装置10の連続駆動時間は重要な関心事である。双方向通信する第2モードが選択されている場合は、単方向通信する第1モードが選択されている場合よりも消費電力が大きい。そこで、実施の形態1に係るビーコン装置10は、双方向通信が必要な共通鍵の更新時に限って、通信モードを第2モードにする。これによって、新たな共通鍵の取得を可能にしつつも、通信モードを常に第2モードにしておく場合に比べてビーコン装置10の消費電力を抑制することができる。実施の形態1に係る通信システム1によれば、所定周期毎に共通鍵を更新してセキュリティを向上させつつ、ビーコン装置10の消費電力を抑制することができる。
以下、通信システム1に含まれる、ビーコン装置10、受信装置20および管理装置30の各構成について順に説明する。
<ビーコン装置の構成>
図3は、実施の形態1に係るビーコン装置10の構成を示すブロック図である。図3を参照して、ビーコン装置10は、CPU(Central Processing Unit)11と、記憶装置12と、RAM(Random Access Memory)13と、通信装置14と、生体センサ15と、バッテリ16とを含む。
記憶装置12は、たとえばROM(Read Only Memory)等の書き換え可能な不揮発性メモリを含む。記憶装置12は、ハードディスクドライブおよびSSD(Solid State Drive)の少なくとも一方を含んでもよい。記憶装置12は、CPU11で実行される各種プログラムを記憶する。CPU11により読み出された各種プログラムは、RAM13に展開される。RAM13は、CPU11によって処理されるデータを一時的に記憶する作業用メモリとして機能する。また、記憶装置12は、共通鍵を記憶する。
通信装置14は、通信モードとして、単方向通信する第1モード、および双方向通信する第2モードを有する。通信装置14は、CPU11からの指令に従って、第1モードおよび第2モードを切り替えるように構成される。
第1モードにおいて、通信装置14は、CPU11からの指令に従って、アドバタイズパケットを設定された周期でブロードキャスト送信する。上記の周期は、BLE規格で定められており、20ms〜10.24sの範囲で0.625msの整数倍である。通信装置14は、たとえば約1sごとにアドバタイズパケットを送信する。
アドバタイズパケットは、ビーコン装置10を識別する装置IDの情報、および、コネクション可否を示す情報を含む。コネクション可否を示す情報が「コネクション可」に設定されていると、当該アドバタイズパケットを受信した受信装置20から接続要求が出力され、ビーコン装置10と受信装置20との間で双方向通信が確立される。一方、コネクション可否を示す情報が「コネクション否」に設定されていると、当該アドバタイズパケットを受信した受信装置20から接続要求が出力されず、ビーコン装置10と受信装置20との間で双方向通信は確立されない。通信モードが第1モードである場合には、通信装置14は、コネクション可否を示す情報を、コネクション否に設定する。
第2モードにおいて、通信装置14は、第1モードと同様の上記の周期でアドバタイズパケットをブロードキャスト送信する。通信モードが第2モードである場合には、通信装置14は、アドバタイズパケット中のコネクション可否を示す情報を、コネクション可に設定する。そして、受信装置20から接続要求を受信した場合には、通信装置14は、当該受信装置20と双方向通信を確立する。双方向通信を確立した後には、通信装置14は、アドバタイズパケットの送信を停止して、受信装置20との間でデータの送受信を行なう。
ここで、ビーコン装置10(ビーコン装置10−1,10−2,…)の各々と、受信装置20(受信装置20−1,20−2,…)の各々とは、BLE規格におけるペアリングを予め行なっておくことができる。予めペアリングを行なっておけば、ビーコン装置10と受信装置20との双方向通信が確立される際に、ペアリングが行なわれた際に生成されたリンクキーによる相互認証が行なわれる。そして、双方向通信において、リンクキーを用いた情報の暗号化および復号が行なわれる。これによって、双方向通信において、セキュアな通信を行なうことができる。
生体センサ15は、ビーコン装置10が装着された乗員2の生体情報(たとえば脈拍、心拍、体温など)を出力する。生体センサ15は、たとえば脈拍、心拍、体温などの値を計測し、計測した値を生体情報として出力してもよいし、計測した値に基づいて乗員2の状態を評価し、評価結果を生体情報として出力してもよい。
生体情報は、CPU11によって、共通鍵を用いて暗号化されてアドバタイズパケットに付加される。アドバタイズパケットのフォーマットには、たとえば、Bluetooth SIG(Special Interest Group)が管理しているBluetooth(登録商標)仕様に基づくフォーマットを利用することができる。あるいは、Apple(登録商標)社が公開している「iBeacon(登録商標)」、またはGoogle(登録商標)社が公開している「Eddystone(登録商標)」等の汎用性の高いフォーマットを利用してもよい。なお、いずれのフォーマットが利用される場合においても、アドバタイズパケットに付加される情報は、生体情報に限られるものではなく、任意の情報を暗号化して格納することが可能である。
バッテリ16は、動力源としてビーコン装置10に搭載される。バッテリ16は、たとえば、ニッケル水素電池、リチウムイオン電池等の二次電池である。バッテリ16は、充電器80から給電を受けて充電される。CPU11は、バッテリ16の充電状態を監視し、たとえばバッテリ16のSOC(State Of Charge)が所定SOCに達すると、充電器80に指令を送信して、給電を停止させる。
CPU11は、記憶装置12に格納された各種プログラムを実行することでビーコン装置の各種の処理を制御する。具体的な一例としては、各種プログラムを実行することによりCPU11は、通信切替部111、暗号化部112、生成部113および更新部114として機能する。
通信切替部111は、通信装置14を制御して、ビーコン装置10が単方向通信するか、双方向通信するかを制御する。具体的には、通信切替部111は、ビーコン装置10の共通鍵を更新する場合に、通信装置14の通信モードを第1モードから第2モードに切り替える。すなわち、ビーコン装置10の「共通鍵を更新する場合」を条件として、条件が成立した際に、通信モードが第1モードから第2モードに切り替えられる。実施の形態1に係る条件は、上述したとおり、ビーコン装置10が充電器80に接続されたことである。また、通信切替部111は、ビーコン装置10の共通鍵の更新が完了すると、通信装置14の通信モードを第2モードから第1モードに切り替える。なお、条件は上記に限られるものではなく、たとえば、更新間隔を予め定めておき、ビーコン装置10の共通鍵が前回更新されてから、所定時間が経過したこと等であってもよい。条件は、通信システム1が適用される対象に応じて適切に設定することができる。
暗号化部112は、記憶装置12に記憶された共通鍵を用いて、生体センサ15から出力された生体情報を暗号化する。
生成部113は、BLE規格におけるアドバタイズパケットを生成する。生成部113は、暗号化部112によって暗号化された生体情報をアドバタイズパケットに付加する処理を行なう。
更新部114は、通信装置14を介して受信装置20から共通鍵を受信すると、記憶装置12に記憶されている共通鍵を更新する。具体的な一例として、受信装置20から新たに共通鍵51を受信すると、更新部114は、記憶されている共通鍵50を共通鍵51に更新する。この場合において、更新部114は、共通鍵50を削除するとともに、共通鍵51を記憶する。あるいは、更新部114は、共通鍵50を共通鍵51に上書きしてもよい。
<受信装置の構成>
図4は、実施の形態1に係る受信装置20の構成を示すブロック図である。図4を参照して、受信装置20は、CPU21と、記憶装置22と、RAM23と、第1通信装置24と、第2通信装置25とを含む。
記憶装置22は、たとえばROM等の書き換え可能な不揮発性メモリを含む。記憶装置22は、ハードディスクドライブおよびSSDの少なくとも一方を含んでもよい。記憶装置22は、CPU21で実行される各種プログラムを記憶する。CPU21により読み出された各種プログラムは、RAM23に展開される。RAM23は、CPU21によって処理されるデータを一時的に記憶する作業用メモリとして機能する。
また、記憶装置22は、管理装置30から受信した共通鍵を記憶する。記憶装置22は、管理装置30から新たな共通鍵51を受信した場合、管理装置30から現行の共通鍵50を削除する指示を受けるまで、共通鍵50および共通鍵51の両方を記憶する。新たな共通鍵51を受信した場合にも、共通鍵50を保持するのは、以下の理由による。
管理装置30が新たに共通鍵51を生成すると、まず受信装置20に共通鍵51が送られる。そして、その後に、ビーコン装置10が充電器80に接続されたタイミングで、受信装置20からビーコン装置10に共通鍵51が送られて、ビーコン装置10の共通鍵が共通鍵50から共通鍵51に更新される。つまり、受信装置20が共通鍵51を記憶してから、ビーコン装置10の共通鍵が共通鍵51に更新されるまでには時間差が生じ得る。そのため、管理装置30から新たな共通鍵51を受信したときに、受信装置20が共通鍵50を削除してしまうと、ビーコン装置10の共通鍵の更新が完了するまでの間において、ビーコン装置10から送信された生体情報(共通鍵50で暗号化した生体情報)を受信装置20で復号できなくなってしまう。そうすると、受信装置20が共通鍵51を記憶してから、ビーコン装置10の共通鍵が共通鍵51に更新されるまでの間における情報が欠落してしまう。そこで、受信装置20が共通鍵51を記憶してから、ビーコン装置10の共通鍵が共通鍵51に更新されるまでの間における情報の欠落を抑制するために、受信装置20は、管理装置30から共通鍵50を削除する指令を受けるまでの間、共通鍵50および共通鍵51の両方を記憶する。
また、上述のように、ビーコン装置10が充電器80に接続されたタイミングでビーコン装置10の共通鍵の更新が行なわれる。そのため、複数のビーコン装置10の共通鍵の更新タイミングは、必ずしも一斉に行なわれるわけではない。つまり、複数のビーコン装置10の共通鍵の更新タイミングは、個々で異なることが想定される。そのため、共通鍵50を有するビーコン装置と、共通鍵51を有するビーコン装置が混在する期間が生じ得る。受信装置20は、管理装置30から共通鍵50を削除する指令を受けるまでの間、共通鍵50および共通鍵51の両方を記憶することで、共通鍵50を有するビーコン装置の生体情報と、共通鍵51を有するビーコン装置の生体情報との両方を復号することができる。
第1通信装置24には、通信ケーブル40(図1参照)が接続されている。第1通信装置24は、通信ケーブル40を介して、管理装置30との間でデータの送受信を行なう。
第2通信装置25は、ビーコン装置10からアドバタイズパケットを受信する。第2通信装置25は、受信したアドバタイズパケット中のコネクション可否を示す情報がコネクション可に設定されている場合、アドバタイズパケットに含まれる装置IDから特定されるビーコン装置10に対して、接続要求を送信する。
第2通信装置25は、ビーコン装置10との間で双方向通信が確立された後には、ビーコン装置10との間でデータの送受信を行なう。具体的には、双方向通信が確立されると、第2通信装置25は、ビーコン装置10に対して、共通鍵のバージョン情報の送信を要求し、その応答としてビーコン装置10から、ビーコン装置10の保持する共通鍵のバージョン情報を受信する。ビーコン装置10の共通鍵のバージョン情報は、ビーコン装置10に対して、共通鍵を送信する必要があるか否かを判断するために用いられる。また、第2通信装置25は、ビーコン装置10に共通鍵を送信可能に構成される。
CPU21は、記憶装置22に格納された各種プログラムを実行することで受信装置の各種の処理を制御する。具体的な一例として、各種プログラムを実行することによりCPU21は、特定部211、復号部212、更新部213、照合部214および送信部215として機能する。
特定部211は、受信したアドバタイズパケットに含まれている装置IDからビーコン装置10を特定する。
復号部212は、受信したアドバタイズパケットに含まれている生体情報を、記憶装置22に記憶されている共通鍵を用いて復号する。記憶装置22に共通鍵50および共通鍵51の両方が記憶されている場合には、復号部212は、共通鍵50を用いて生体情報を復号する処理と、共通鍵51を用いて生体情報を復号する処理とを行なう。
なお、受信したアドバタイズパケットは共通鍵50または共通鍵51のいずれか一方で暗号化されている。そのため、共通鍵50で復号した情報または共通鍵51で復号した情報のいずれか一方の情報は正しく復号された情報ではない。そこで、復号部212は、正しく復号されていない情報を破棄する。正しく復号された情報であるか否かは、たとえば復号した情報に含まれるチェックサム等で判定することができる。
更新部213は、第1通信装置24を介して管理装置30から共通鍵を受信すると、記憶装置22に共通鍵を記憶する。具体的な一例として、管理装置30から新たに共通鍵51を受信すると、更新部213は、共通鍵50に加えて、最新の共通鍵として共通鍵51を記憶装置22に記憶する。更新部213は、管理装置30から共通鍵50を削除する指令を受けるまでの間、共通鍵50および共通鍵51の両方が記憶されるようにする。更新部213は、管理装置30から共通鍵50を削除する指令を受けると、記憶装置22から共通鍵50を削除する。
照合部214は、ビーコン装置10との双方向通信が確立された際に、ビーコン装置10の共通鍵のバージョンが最新であるか否かを照合する。具体的には、ビーコン装置10との双方向通信が確立された際に、照合部214は、第2通信装置25を介して取得した、ビーコン装置10の共通鍵のバージョン情報を、記憶装置22に記憶されている最新の共通鍵のバージョン情報と照合させる。
照合部214は、ビーコン装置10の共通鍵のバージョンが記憶装置22に記憶されている最新の共通鍵のバージョンと同じである場合には、ビーコン装置10の共通鍵が最新であると判定する。一方、照合部214は、ビーコン装置10の共通鍵のバージョンが記憶装置22に記憶されている最新の共通鍵のバージョンと異なっている場合には、ビーコン装置10の共通鍵が最新でなく、共通鍵の更新が必要であると判定する。
送信部215は、照合部214によってビーコン装置10の共通鍵の更新が必要であると判定された場合に、第2通信装置25を介して、ビーコン装置10に共通鍵を送信する。
また、送信部215は、ビーコン装置10に共通鍵を送信すると、ビーコン装置10の共通鍵を更新したことを示す情報を、第1通信装置24を介して、管理装置30に送信する。ビーコン装置10の共通鍵を更新したことを示す情報には、ビーコン装置10の装置IDの情報、および当該ビーコン装置10に送信した共通鍵のバージョン情報が含まれる。なお、ビーコン装置10は、受信装置20から共通鍵を受信した場合に、共通鍵を更新すると、共通鍵を更新した旨の応答を受信装置20に送信するように構成されてもよい。この場合には、送信部215は、当該応答に基づいて、ビーコン装置10の共通鍵を更新したことを示す情報を管理装置30に送信すればよい。
<管理装置の構成>
図5は、実施の形態1に係る管理装置30の構成を示すブロック図である。図5を参照して、管理装置30は、CPU31と、記憶装置32と、RAM33と、ネットワーク通信装置34と、通信インターフェース35と、ディスプレイ36とを含む。
記憶装置32は、たとえばROM等の書き換え可能な不揮発性メモリを含む。記憶装置32は、ハードディスクドライブおよびSSDの少なくとも一方を含んでもよい。記憶装置32は、CPU31で実行される各種プログラムを記憶する。CPU31により読み出された各種プログラムは、RAM33に展開される。RAM33は、CPU31によって処理されるデータを一時的に記憶する作業用メモリとして機能する。また、記憶装置32は、受信装置20の各々が設置されている位置情報を記憶する。
また、記憶装置32は、ビーコン装置10および受信装置20の共通鍵の更新状況を示す管理情報を記憶する。管理情報の詳細については、後述する。
ネットワーク通信装置34には、通信ケーブル40(図1参照)が接続されている。ネットワーク通信装置34は、通信ケーブル40を介して、受信装置20の各々との間でデータの送受信を行なう。
通信インターフェース35は、たとえば、USB(Universal Serial Bus)ポートやNFC(Near Field Communication)リーダライタ等で構成される。たとえば、通信インターフェース35がUSBポートである場合には、ビーコン装置10をUSBポートに接続することによって、管理装置30とビーコン装置10との通信が可能となる。たとえば、通信インターフェース35がNFCリーダライタである場合には、ビーコン装置10をNFCリーダライタにかざすことにより、電磁誘導または電磁結合を用いて、NFCリーダライタとビーコン装置10との間で通信が行なわれる。すなわち、管理装置30とビーコン装置10との通信が可能となる。通信インターフェース35は、後述する救済処理を実行する場合に用いられる。
ディスプレイ36は、たとえば、液晶ディスプレイである。ディスプレイ36には、最新の共通鍵のバージョンや、ビーコン装置10および受信装置20の共通鍵の更新状況等の各種の情報が表示される。
CPU31は、記憶装置32に格納された各種プログラムを実行することで管理装置の各種の処理を制御する。具体的な一例として、各種プログラムを実行することによりCPU31は、乗員管理部311、鍵生成部312、送信部313および更新管理部314として機能する。
乗員管理部311は、受信装置20から取得した装置IDの情報から乗員を特定する。乗員管理部311は、受信装置20から取得した受信強度情報、受信時刻情報、受信装置IDの情報から乗員2の位置を推定する。また、乗員管理部311は、受信装置20から取得した生体情報から乗員2の状態を推定する。
鍵生成部312は、更新周期毎に新たに共通鍵を生成する。更新周期は、通信システム1が適用される対象に応じて適宜設定することが可能である。実施の形態1における更新周期は、たとえば、1週間や1ヶ月等に設定される。また、更新周期は、ビーコン装置10のバッテリの連続駆動時間を考慮して定められてもよい。たとえば、更新周期の間隔は、ビーコン装置10の通信モードが第1モードである場合における仕様上の消費電力に基づいて、ビーコン装置10が第1モードで連続使用された場合に、バッテリのSOCが満充電(SOC100%)から閾SOCまで減少する時間よりも、長くなるように設定してもよい。
送信部313は、新たに共通鍵が生成された場合に、ネットワーク通信装置34を介して、受信装置20の各々に生成された共通鍵を送信する。共通鍵の送信には、たとえば、SSH(Secure Shell)を用いたSFTP(SSH File Transfer Protocol)通信、またはSCP(Secure Copy Protocol)通信が適用される。
更新管理部314は、ビーコン装置10および受信装置20の共通鍵の更新状況を管理する。更新管理部314は、ビーコン装置10および受信装置20の共通鍵の更新状況を管理情報として管理し、たとえば、当該管理情報を更新管理表としてディスプレイ36に表示させる。図6は、更新管理表の一例を説明するための図である。
図6を参照して、更新管理表5には、ビーコン装置10の装置IDと、装置IDに対応するビーコン装置10に記憶された共通鍵のバージョン情報とが示されている。具体的には、ビーコン装置10−1(装置ID:10−1)は共通鍵51を記憶しており、ビーコン装置10−2(装置ID:10−2)は、共通鍵50を記憶していることが示されている。また、更新管理表5には、受信装置20の受信装置IDと、受信装置IDに対応する受信装置20に記憶された共通鍵のバージョン情報とが示されている。具体的には、受信装置20−1(受信装置ID:20−1)および受信装置20−2(受信装置ID:20−2)は、共通鍵として共通鍵50,51を記憶していることが示されている。
具体的な一例として、新たに生成された共通鍵51が、送信部313によって受信装置20の各々に送信されると、更新管理部314は、受信装置20の管理情報を更新する。より具体的には、更新管理部314は、受信装置20の各々が保持している共通鍵のバージョン情報を「共通鍵50」から「共通鍵50,51」に更新する。なお、受信装置20の各々は、管理装置30から共通鍵51を受信した場合において、共通鍵51を記憶すると、共通鍵51を記憶したことの応答を管理装置30に送信するように構成されてもよい。この場合には、管理装置30は、当該応答に基づいて、受信装置20の各々の管理情報を更新してもよい。
また、更新管理部314は、受信装置20からビーコン装置10の共通鍵を更新したことを示す情報を受信すると、対象のビーコン装置10の管理情報を更新する。
更新管理部314は、鍵生成部312が共通鍵51を生成してから閾時間が経過した場合には、受信装置20に対して共通鍵50を削除する指示を送信する。当該指示を受けた受信装置20は、共通鍵50を削除する。共通鍵50の削除に関する詳細については、後述する。なお、更新管理部314は、送信部313によって共通鍵51が受信装置20の各々に送信されてから閾時間が経過した場合に、受信装置20に対して共通鍵50を削除する指示を送信してもよい。
なお、管理装置30は、共通鍵を管理する機能と、乗員の位置および状態を管理する機能とを有するものとして説明した。しかしながら、共通鍵を管理する機能と、乗員の位置および状態を管理する機能とは、別個の装置にもたせてもよい。すなわち、管理装置30に代えて、共通鍵を管理する機能を有する装置と、乗員の位置および状態を管理する機能を有する装置とが通信システム1に含まれてもよい。
<共通鍵の更新処理の手順>
<<受信装置への共通鍵の送信>>
図7は、受信装置20および管理装置30で実行される共通鍵の更新の手順を示すフローチャートである。まず、管理装置30は、所定周期が到来したか否かを判定する(ステップ1、以下ステップを「S」と略す)。具体的には、管理装置30は、前回、共通鍵を更新してから予め設定された設定時間が経過したか否かを判定する。所定周期が到来していない場合(S1においてNO)、管理装置30は、処理をS1に戻す。
所定周期が到来した場合(S1においてYES)、管理装置30は、共通鍵を生成する(S2)。具体的な一例としては、所定周期が到来した場合、管理装置30は、新たに共通鍵51を生成する。そして、管理装置30は、共通鍵51を最新の共通鍵として管理する。
次いで、管理装置30は、生成した共通鍵51を受信装置20に送信する(S3)。生成した共通鍵51を送信すると、管理装置30は、共通鍵の管理情報を更新する(S4)。具体的には、受信装置20に記憶されている共通鍵の情報を、共通鍵50から共通鍵50,51に更新する。
共通鍵51を受信すると、受信装置20は、共通鍵51を新たに記憶する(S9)。具体的には、受信装置20は、受信した共通鍵51を最新の共通鍵として記憶する。また、受信装置20は、現行の共通鍵である共通鍵50も保持する。
なお、受信装置20は、共通鍵51を記憶した場合に、共通鍵51を記憶したことの応答を管理装置30に送信するようにしてもよい。この場合には、管理装置30は、受信装置20から受けた応答に基づいて、S4の処理を実行する。
<<ビーコン装置の共通鍵の更新>>
図8は、ビーコン装置10、受信装置20および管理装置30で実行される共通鍵の更新の手順を示すフローチャートである。当該フローチャートは、ビーコン装置10が充電器80に接続された場合に開始される。
充電器80に接続されると、ビーコン装置10は、通信モードを第1モードから第2モードに切り替える(S11)。具体的には、ビーコン装置10は、通信モードを第2モードに切り替えて、アドバタイズパケット中のコネクション可否を示す情報を、コネクション可に変更する。そして、ビーコン装置10は、コネクション可否を示す情報を変更したアドバタイズパケットを送信する(S12)。
受信装置20は、アドバタイズパケットを受信したか否かを判定する(S20)。受信装置20は、アドバタイズパケットを受信すると(S20においてYES)、アドバタイズパケット中のコネクション可否を示す情報がコネクション可に設定されているか否かを判定する(S21)。受信装置20は、コネクション可否を示す情報がコネクション否に設定されている場合(S21においてNO)、当該処理を終了させる。なお、この場合には、図示はしないが、受信装置20は、アドバタイズパケットに含まれている生体情報を復号する処理を開始する。
受信装置20は、コネクション可否を示す情報がコネクション可に設定されている場合(S21においてYES)、アドバタイズパケットに含まれる端末IDの情報に基づいて、ビーコン装置10を特定する。そして、受信装置20は、特定したビーコン装置10に接続要求を送信する(S22)。
ビーコン装置10は、接続要求を受信すると(S13においてYES)、受信装置20との接続を確立させる(S14,S23)。すなわち、ビーコン装置10と受信装置20との双方向通信が確立される。
ビーコン装置10と受信装置20との双方向通信が確立されると、ビーコン装置10の共通鍵のバージョンの確認が行なわれる(S15,S24)。具体的には、受信装置20は、ビーコン装置10から共通鍵のバージョン情報を取得し、取得したバージョン情報と、自身の記憶装置22に記憶されている最新の共通鍵のバージョン情報とを照合する(S25)。
受信装置20は、ビーコン装置10の共通鍵のバージョン情報と、自身の記憶装置22に記憶されている共通鍵のバージョン情報とが一致しない場合には(S25においてNO)、記憶装置22に記憶されている最新の共通鍵をビーコン装置10に送信する(S26)。ビーコン装置10の共通鍵のバージョン情報と、自身の記憶装置22に記憶されている共通鍵のバージョン情報とが一致する場合には(S25においてYES)、受信装置20は、S26およびS27の処理をスキップする。
受信装置20から共通鍵を受信すると、ビーコン装置10は、共通鍵を更新する。たとえば、受信装置20から共通鍵51を受信すると、ビーコン装置10は、記憶装置12に記憶されている共通鍵50を削除するとともに、共通鍵51を記憶する。
ビーコン装置10は、共通鍵を更新すると、通信モードを第1モードに切り替えて、再びアドバタイズパケットをブロードキャスト送信する(S17)。なお、以降においてビーコン装置10は、共通鍵51を用いて暗号化した生体情報をアドバタイズパケットに付加する。
ビーコン装置10に共通鍵を送信すると、受信装置20は、ビーコン装置10の共通鍵を更新したことを示す情報を管理装置30に送信する(S27)。上記情報には、ビーコン装置10の装置IDの情報および共通鍵のバージョン情報が含まれる。なお、ビーコン装置10は、共通鍵を更新すると、共通鍵を更新した旨の応答を受信装置20に送信するように構成されてもよい。この場合には、受信装置20は、当該応答に基づいて、ビーコン装置10の共通鍵を更新したことを示す情報を管理装置30に送信すればよい。
管理装置30は、受信装置20からビーコン装置10の共通鍵を更新したことを示す情報を取得すると、取得した情報に基づいて、管理情報を更新する(S31)。管理装置30は、たとえば、更新した管理情報を、ディスプレイ36に更新管理表5として表示させる。
なお、受信装置20は、ビーコン装置10に対して接続要求を送信する前に、ビーコン装置10に共通鍵のバージョン情報を要求するスキャン要求を送信するようにしてもよい。スキャン要求が送信されると、ビーコン装置10は、共通鍵のバージョンをスキャン応答として受信装置20に送信する。仮に、この時点で、ビーコン装置10の共通鍵のバージョンが最新であれば、ビーコン装置10の共通鍵を更新する必要がないため、双方向通信を確立させない。スキャン要求を送信することによって、双方向通信を確立する前に、ビーコン装置10の共通鍵のバージョンを確認し、共通鍵の更新が不要である場合には、双方向通信を確立しないようにすることができる。これにより、ビーコン装置10および受信装置20の消費をさらに抑制することができる。また、双方向通信を確立する前に、受信装置20が管理装置30に対して、ビーコン装置10の共通鍵のバージョン情報を問い合わせてもよい。この場合において、管理装置30から通知されたビーコン装置10の共通鍵のバージョン情報が最新である場合には、受信装置20は、ビーコン装置10の共通鍵の更新が不要であると判断して双方向通信を確立しないようにすることができる。これによっても、ビーコン装置10および受信装置20の消費をさらに抑制することができる。
<<共通鍵の削除>>
図9は、受信装置20および管理装置30で実行される、共通鍵の削除の手順を示すフローチャートである。図9では、管理装置30が新たに共通鍵51を生成してから、閾時間が経過した場合に、現行の共通鍵50が削除される例について説明する。
管理装置30は、共通鍵51を生成してから閾時間が経過したか否かを判定する(S41)。閾時間は、たとえば、数日程度に設定される。実施の形態1においては、ビーコン装置10が充電器80に接続される毎に、ビーコン装置10の共通鍵を更新するための処理が実行される。たとえば、ビーコン装置10は、乗員2の勤務時間終了後や休憩時等に充電されることが想定される。上記場合には、乗員2に携帯されているビーコン装置10の共通鍵は、管理装置30が共通鍵51を生成してから数日程度で、共通鍵51に更新されることが想定される。上記に基づいて、閾時間が数日程度に設定される。なお、閾時間は、数日程度に限定されるものではなく、通信システム1が適用される対象に応じて、適宜設定することができる。
管理装置30は、共通鍵51を生成してから閾時間が経過していない場合(S41においてNO)、処理をS41に戻す。管理装置30は、共通鍵51を生成してから閾時間が経過した場合(S41においてYES)、現行の共通鍵50を削除する指令を、受信装置20に送信する(S43)。
受信装置20は、管理装置30から共通鍵50を削除する指令を受信すると、共通鍵50を削除する(S51)。S51以降では、受信装置20は、アドバタイズパケットを受信すると、アドバタイズパケットに含まれている生体情報を、共通鍵51を用いて復号する。
以降において、通信システム1では、次に新たな共通鍵が生成されるまでの間、共通鍵51のみが用いられることとなる。上記のようにして、通信システム1の共通鍵が、共通鍵50から共通鍵51に更新される。
<救済処理>
ビーコン装置10の中には、何らかの原因によって閾時間内に共通鍵が更新されない場合も想定され得る。また、たとえば故障時の代替品として船内にストックされているビーコン装置10も存在し得る。ストックされているビーコン装置10は、電源が切られて保管されていることが大半であるため、共通鍵の更新が行なわれない。以下においては、閾時間内に共通鍵の更新ができなかったビーコン装置10、およびストックされているビーコン装置10を「特定ビーコン装置」とも称する。
特定ビーコン装置を使用したい場合には、共通鍵を、最新の共通鍵に更新する必要がある。そこで、管理装置30が備える通信インターフェース35が用いられる。通信インターフェース35は、本発明に係る「通信手段」の一例に相当する。たとえば、通信インターフェース35がUSBポートである場合には、特定ビーコン装置をUSBポートに接続することによって、管理装置30と特定ビーコン装置との通信が可能となる。そして、たとえば、管理装置30の管理者(図示せず)の操作によって、管理装置30から特定ビーコン装置に共通鍵が送信される。これによって、特定ビーコン装置の共通鍵が更新される。
また、通信インターフェース35がNFCリーダライタである場合には、たとえば、管理者あるいは乗員2が特定ビーコン装置をNFCリーダライタにかざすことにより、電磁誘導または電磁結合を用いて、NFCリーダライタと特定ビーコン装置との間で通信が行なわれる。すなわち、管理装置30と特定ビーコン装置との通信が可能となる。そして、NFCリーダライタから特定ビーコン装置に共通鍵が送信される。これによって、特定ビーコン装置の共通鍵が更新される。
上記のようにして、特定ビーコン装置の共通鍵を通信システム1で使用されている最新の共通鍵に更新することによって、通信システム1において、特定ビーコン装置を使用できる状態にすることができる。
<利点>
以上のように、実施の形態1に係る通信システム1においては、管理装置30が新たに共通鍵を生成すると、管理装置30から受信装置20の各々に新たな共通鍵が送信される。管理装置30から新たな共通鍵を取得した受信装置20は、新たな共通鍵を記憶する。そして、ビーコン装置10が充電器80に接続されると、ビーコン装置10は、通信モードを第1モードから第2モードに切り替える。すなわち、充電器80に接続されると、ビーコン装置10は、通信モードを単方向通信から双方向通信に切り替える。これにより、ビーコン装置10と受信装置20との間で双方向通信が行なわれ、受信装置20からビーコン装置10に新たな共通鍵が送信される。これにより、ビーコン装置10の共通鍵が新たな共通鍵に更新される。共通鍵の更新が完了すると、ビーコン装置10は、通信モードを第2モードから第1モードに切り替えて、アドバタイズパケットをブロードキャスト送信する。換言すれば、ビーコン装置10は、共通鍵を更新する場合に限り、通信モードを第1モードから第2モードに切り替える。
双方向通信する第2モードが選択されている場合は、単方向通信する第1モードが選択されている場合よりも消費電力が大きい。ビーコン装置10は、双方向通信が必要な共通鍵の更新時に限って、通信モードを第2モードにする。これによって、新たな共通鍵の取得を可能にしつつも、通信モードを常に第2モードにしておく場合に比べてビーコン装置10の消費電力を抑制することができる。実施の形態1に係る通信システム1によれば、所定周期毎に共通鍵を更新してセキュリティを向上させつつ、ビーコン装置10の消費電力を抑制することができる。
また、ビーコン装置10と受信装置20とは、予めペアリングがされている。これによって、ビーコン装置10と受信装置20との双方向通信において、セキュアな通信を行なうことができる。ゆえに、受信装置20からビーコン装置10に共通鍵が送信される際のセキュリティを高めることができる。
また、実施の形態1に係る通信システム1において、受信装置20は、新たに生成した共通鍵51を管理装置30から受信した場合に、最新の共通鍵を共通鍵51に更新するとともに、管理装置30から現行の共通鍵50を削除する指令を受けるまでの間、共通鍵50および共通鍵51の両方を保持する。これによって、受信装置20が共通鍵51を記憶してから、ビーコン装置10の共通鍵が共通鍵51に更新されるまでの間においても、受信装置20は、ビーコン装置10から送信されるアドバタイズパケットに含まれる生体情報を共通鍵50を用いて復号することができる。すなわち、受信装置20が共通鍵51を記憶してから、ビーコン装置10の共通鍵が共通鍵51に更新されるまでの間における情報の欠落を抑制することができる。
また、実施の形態1に係る通信システム1においては、所定周期毎に管理装置30によって新たな共通鍵が生成される。管理装置30が新たに共通鍵51を生成してから、閾時間が経過した場合に、現行の共通鍵50が削除される。以降においては、通信システム1において共通鍵50が使用できなくなり、通信システム1の共通鍵50が共通鍵51に更新される。このように、通信システム1の共通鍵が更新されることによって、仮に意図しない者に共通鍵が漏洩したとしても、セキュリティ上の問題を一時的なものとすることができ、通信システム1のセキュリティを担保することができる。
また、実施の形態1に係る通信システム1においては、管理装置30は、特定ビーコン装置に対して救済処理を実行するための通信インターフェース35を備える。通信インターフェース35を介して、通信システム1における最新の共通鍵が特定ビーコン装置に送信されることによって、特定ビーコン装置の共通鍵を最新の共通鍵に更新することができる。これによって、通信システム1において、特定ビーコン装置を使用できる状態にすることができる。
なお、実施の形態1では、受信装置20が共通鍵を用いて、アドバタイズパケットに含まれる生体情報を復号するものとした。しかしながら、管理装置30がアドバタイズパケットに含まれる生体情報を復号するものとしてもよい。この場合には、ビーコン装置10からアドバタイズパケットを受信すると、受信装置20は、当該受信したアドバタイズパケット、受信強度情報、受信時刻情報および受信装置IDの情報を管理装置30に送信する。アドバタイズパケットを受信した管理装置30は、アドバタイズパケットに含まれる暗号化された生体情報を共通鍵を用いて復号する。このように構成されても、乗員2の位置および乗員2の状態を管理装置30が適切に管理することができる。
また、実施の形態1では、通信システム1において、ビーコン装置10と受信装置20との間の通信には、BLE規格に従う通信プロトコルが用いられる例について説明したが、BLE規格に従う通信プロトコルに代えて、他の通信プロトコルが用いられてもよい。
[変形例1]
実施の形態1においては、管理装置30が新たに共通鍵51を生成してから閾時間が経過した場合に、受信装置20が保持している現行の共通鍵50が削除される例について説明した。変形例1においては、受信装置20が保持している現行の共通鍵50は、乗員2が携帯しているすべてのビーコン装置10(ビーコン装置10−1,10−2,…)の共通鍵が更新された場合に削除される例について説明する。なお、上記でいう「すべてのビーコン装置10」とは、乗員2によって使用されているビーコン装置を意味し、上述のストックされているようなビーコン装置は除かれる。
図10は、変形例1に係る受信装置20および管理装置30で実行される、共通鍵の削除の手順を示すフローチャートである。
管理装置30は、すべてのビーコン装置10の共通鍵の更新が完了したか否かを判定する(S61)。具体的には、管理装置30は、管理情報に基づいて、すべてのビーコン装置10の共通鍵が共通鍵51に更新できているか否かを判定する。すべてのビーコン装置10の共通鍵の更新が完了していない場合(S61においてNO)、管理装置30は、処理をS61に戻す。
すべてのビーコン装置10の共通鍵の更新が完了した場合(S61においてYES)、管理装置30は、現行の共通鍵50を削除する指令を、受信装置20に送信する(S63)。
受信装置20は、管理装置30から共通鍵50を削除する指令を受信すると、共通鍵50を削除する(S71)。共通鍵50を削除するのは、すべてのビーコン装置10の共通鍵が共通鍵51に更新されたため、共通鍵50は不要であるためである。
以上のように、変形例1においては、乗員2が携帯しているすべてのビーコン装置10の共通鍵が更新された場合に、受信装置20が保持している現行の共通鍵50が削除される。変形例1では、すべてのビーコン装置10の共通鍵が共通鍵51に更新された場合に、受信装置20が保持している共通鍵50が削除されるため、ビーコン装置10の共通鍵の更新の漏れを抑制することができる。また、仮に意図しない者に共通鍵50が漏洩したとしても、すべてのビーコン装置10の共通鍵の更新が完了すると、通信システム1において共通鍵50が使用できなくなる。すなわち、実施の形態1と同様に、通信システム1のセキュリティを担保することができる。
[変形例2]
実施の形態1および変形例1においては、ビーコン装置10は、受信装置20から共通鍵を取得する例について説明した。変形例2においては、ビーコン装置10は、充電器から共通鍵を取得する例について説明する。
図11は、変形例2に係るビーコン装置10の共通鍵の更新を説明するための図である。図11を参照して、充電器81は、通信ケーブル40に接続されている。すなわち、充電器81は、通信ケーブル40を介して、管理装置30との通信が可能に構成されている。
管理装置30は、新たに共通鍵51を生成した場合、生成した共通鍵51を、通信ケーブル40を介して、受信装置20および充電器81に送信する。
充電器81は、通信インターフェース82を含む。通信インターフェース82は、たとえば、USBポートやNFCリーダライタ等で構成される。たとえば、通信インターフェース82がUSBポートである場合には、ビーコン装置10をUSBポートに接続することによって、ビーコン装置10の充電が開始されるとともに、ビーコン装置10と充電器81との通信が可能となる。ビーコン装置10と充電器81との通信が可能となると、充電器81は、ビーコン装置10から装置IDの情報を取得する。そして、充電器81は、ビーコン装置10に共通鍵51を送信する。これによって、ビーコン装置10は、共通鍵を共通鍵50から共通鍵51に更新することができる。
また、たとえば、通信インターフェース82がNFCリーダライタである場合には、ビーコン装置10をNFCリーダライタに接触させることにより、ビーコン装置10から充電器81に装置IDの情報が送信されるとともに、充電器81からビーコン装置10に共通鍵51が送信される。たとえば、充電器81は、充電端子とNFCリーダライタとが近接するように構成される。ビーコン装置10を充電端子に接続すると、ビーコン装置10がNFCリーダライタに近接あるいは接触する。つまり、ビーコン装置10が充電されるとともに、ビーコン装置10の共通鍵の更新が行なわれる。充電器81が非接触式の充電器である場合には、ビーコン装置10を充電器81に載置した際に、ビーコン装置10とNFCリーダライタとが近接あるいは接触するように、NFCリーダライタが配置されればよい。
充電器81は、ビーコン装置10に共通鍵51を送信すると、ビーコン装置10の装置IDの情報および共通鍵51のバージョン情報を含めた更新情報を管理装置30に送信する。
充電器81から更新情報を取得した管理装置30は、ビーコン装置10および受信装置20の共通鍵の管理情報を更新する。
以上のように、ビーコン装置10が充電器81を介して共通鍵を取得することによっても、所定周期毎に共通鍵を更新してセキュリティを担保しつつ、ビーコン装置10の消費電力を抑制することができる。
[実施の形態2]
実施の形態1においては、管理装置30が新たに共通鍵51を生成してから閾時間が経過すると、受信装置20が保持する現行の共通鍵50が削除された。つまり、管理装置30が新たに共通鍵を生成してから閾時間が経過するまでに共通鍵を更新できなかったビーコン装置10は、通信システム1において使用ができなくなった。実施の形態2においては、管理装置30が新たに共通鍵51を生成してから閾時間が経過するまでの間に、未だ共通鍵の更新が完了していないビーコン装置10を携帯している乗員2、および管理装置30の管理者に対して、通知をする例について説明する。
図12は、実施の形態2に係る通信システム1Aの全体構成を模式的に示す図である。通信システム1Aは、実施の形態1に係る通信システム1に対して、複数の携帯端末90(携帯端末90−1,90−2,…)、および管理者用携帯端末95をさらに含む点で相違する。
複数の携帯端末90(携帯端末90−1,90−2,…)および管理者用携帯端末95は、たとえば、携帯電話、スマートフォンおよびタブレット等である。管理者用携帯端末95は、管理装置30に対応付けられている。
複数の携帯端末90(携帯端末90−1,90−2,…)は、複数のビーコン装置10(ビーコン装置10−1,10−2,…)とそれぞれ対応付けられている。以下では、携帯端末90−1,90−2,…を特に区別しない場合、携帯端末90−1,90−2,…の各々を「携帯端末90」とも称する。
管理装置30は、共通鍵51を生成してから第1時間(<閾時間)が経過すると、この時点で共通鍵の更新が完了していないビーコン装置10を保持している乗員2に対して、通知をする。具体的には、管理装置30は、ビーコン装置10に対応付けられた携帯端末90に警告を送信する。送信される警告は、たとえば、電子メールであってもよいし、携帯端末90にポップアップ表示されるメッセージであってもよいし、携帯端末90に警告音を鳴らすための指令であってもよい。
第1時間は、閾時間よりも短い時間である。第1時間は、通信システム1Aが適用される対象に応じて、閾時間よりも短い範囲内で適切に設定することができる。
複数の携帯端末90(携帯端末90−1,90−2,…)と、複数のビーコン装置10(ビーコン装置10−1,10−2,…)との対応付けは、管理情報として管理装置30に管理されている。管理情報は、たとえば、管理装置30のディスプレイ36に更新管理表として表示される。
図13は、実施の形態2に係る更新管理表6の一例を説明するための図である。図6に示される更新管理表6では、ビーコン装置10の共通鍵の管理情報が管理装置30のディスプレイ36に表示される一例が示されており、受信装置20の共通鍵の管理情報は割愛されている。
図13を参照して、更新管理表6には、乗員IDと、ビーコン装置10の装置IDと、装置IDに対応する共通鍵のバージョン情報と、装置IDに対応付けられた携帯端末のIDとが示されている。具体的には、乗員2−1(乗員ID:2−1)は、ビーコン装置10−1(装置ID:10−1)および携帯端末90−1(携帯端末ID:90−1)を携帯しており、ビーコン装置10−1の共通鍵のバージョンは、共通鍵51であることが示されている。また、乗員2−2(乗員ID:2−2)は、ビーコン装置10−2(装置ID:10−2)および携帯端末90−2(携帯端末ID:90−2)を携帯しており、ビーコン装置10−2の共通鍵のバージョンは、共通鍵50であることが示されている。つまり、ビーコン装置10−2の共通鍵の更新が未だ完了されていない。
図13の例においては、携帯端末90−2に対して、管理装置30から警告が送信される。これによって、乗員2−2は、ビーコン装置10−2の共通鍵の更新をする必要があることを認識することができる。すなわち、ビーコン装置10−2の更新忘れを防止することが可能となる。
さらに、管理装置30は、共通鍵51を生成してから第2時間(第1時間<第2時間<閾時間)が経過した場合に、この時点で共通鍵の更新が完了していないビーコン装置10が存在するときには、管理者に対して、通知をする。具体的には、管理装置30は、管理者用携帯端末95に警告を送信する。警告は、電子メールであってもよいし、管理者用携帯端末95にポップアップ表示されるメッセージであってもよいし、管理者用携帯端末95に警告音を鳴らすための指令であってもよい。
第2時間は、第1時間よりも長く、かつ、閾時間よりも短い時間である。第2時間は、通信システム1Aが適用される対象に応じて、第1時間よりも長く、かつ、閾時間よりも短い範囲内で適切に設定することができる。
警告を受けた管理者は、管理装置30によって共通鍵51が生成されてから第2時間を経過しても未だ共通鍵の更新が完了していないビーコン装置10があることを認識することができる。これにより、管理者は、未だ共通鍵の更新が完了していないビーコン装置10、あるいは、当該ビーコン装置10を携帯している乗員2に、何らかの異常が発生しているかもしれないことを予見することができる。
また、管理装置30は、新たに共通鍵51を生成して、当該共通鍵51を受信装置20に送信した場合に、携帯端末90および管理者用携帯端末95に通知をしてもよい。これによって、乗員2および管理者は、新たな共通鍵が生成されたことを認識することができる。これは、ビーコン装置10の共通鍵の更新忘れの予防となる。
なお、第1時間および第2時間は、管理装置30が共通鍵を生成してから計時されたものとしたが、計時を開始するタイミングが、たとえば、生成された共通鍵が管理装置30から受信装置20に送信されたタイミングであってもよいし、受信装置20から共通鍵を記憶したことの応答があったタイミングであってもよい。
<管理装置で実行される処理>
図14は、実施の形態2に係る管理装置30で実行される処理の手順を示すフローチャートである。
管理装置30は、新たに共通鍵を生成すると、計時を開始する(S81)。管理装置30は、計時を開始してから第1時間が経過するのを待つ(S82においてNO)。計時を開始してから第1時間が経過すると(S82においてYES)、管理装置30は、この時点で共通鍵の更新が完了していないビーコン装置10があるか否かを判定する(S83)。S83の判定は、管理情報に基づいて行なわれる。
すべてのビーコン装置10の共通鍵の更新が完了している場合(S83においてNO)、管理装置30は、以降の処理をスキップして、処理を終了させる。共通鍵の更新が完了していないビーコン装置10がある場合(S83においてYES)、管理装置30は、当該ビーコン装置10に対応付けられた携帯端末90に通知をする(S84)。
次いで、管理装置30は、計時を開始してから第2時間が経過するのを待つ(S85においてNO)。計時を開始してから第2時間が経過すると(S85においてYES)、管理装置30は、この時点で共通鍵の更新が完了していないビーコン装置10があるか否かを判定する(S86)。S86の判定は、管理情報に基づいて行なわれる。
すべてのビーコン装置10の共通鍵の更新が完了している場合(S86においてNO)、管理装置30は、以降の処理をスキップして、処理を終了させる。共通鍵の更新が完了していないビーコン装置10がある場合(S86においてYES)、管理装置30は、管理者用携帯端末95に通知をする(S87)。
[変形例3]
携帯端末90は、対応付けられたビーコン装置10からアドバタイズパケットを受信可能に構成されてもよい。そして、ビーコン装置10は、バッテリ16のSOCが閾SOCを下回った場合に、バッテリ16のSOCが閾SOCを下回ったことを示す警告情報をアドバタイズパケットに含めて、アドバタイズパケットを送信してもよい。
携帯端末90は、当該アドバタイズパケットをビーコン装置10から受信すると、充電が必要であることを報知する。報知の態様は、たとえば、携帯端末90のディスプレイ(図示せず)にメッセージを表示させてもよいし、警告音を発してもよいし、音声による報知であってもよい。これによって、乗員2は、ビーコン装置10を充電することが必要であることを認識することができる。ゆえに、ビーコン装置10のバッテリ切れを抑制し、かつ、ビーコン装置10の共通鍵の更新忘れを予防することができる。
また、上記アドバタイズパケットを受信した受信装置20も、ビーコン装置10の充電が必要であることを認識することが可能である。この場合、受信装置20は、当該ビーコン装置10の装置IDの情報、および充電が必要である情報を管理装置30に送信する。そして、管理装置30から当該ビーコン装置10に対応付けられた携帯端末90に、メッセージを送信してもよい。これによっても、乗員2は、ビーコン装置10を充電することが必要であることを認識することができる。ゆえに、ビーコン装置10のバッテリ切れを抑制し、かつ、ビーコン装置10の共通鍵の更新忘れを予防することができる。
[実施の形態3]
実施の形態1および実施の形態2においては、通信システム1,1Aに含まれるすべてのビーコン装置10(ビーコン装置10−1,10−2,…)で同じ共通鍵が用いられる例について説明した。実施の形態3においては、ビーコン装置10の各々において、異なる共通鍵が用いられる例について説明する。
図15は、実施の形態3に係る通信システム1Bの全体構成を模式的に示す図である。通信システム1Bは、実施の形態1に係る通信システム1に対して、管理装置30がビーコン装置10と、ビーコン装置10に用いられる共通鍵との対応リストを管理している点で相違する。また、通信システム1Bは、実施の形態1に係る通信システム1に対して、受信装置20の各々が、すべてのビーコン装置10において用いられる共通鍵50−1,50−2,…を記憶している点で相違する。
図16は、対応リストの一例を説明するための図である。対応リストには、ビーコン装置10の装置IDと、共通鍵のバージョン情報とが示されている。図16を参照して、ビーコン装置10−1(装置ID:10−1)には、現行の共通鍵として共通鍵50−1が記憶されている。また、ビーコン装置10−2(装置ID:10−2)には、現行の共通鍵として共通鍵50−2が記憶されている。
対応リストは、ビーコン装置10の共通鍵の更新に合わせて、管理装置30によって更新される。管理装置30は、対応リストを更新する毎に、受信装置20に対応リストの情報を送信する。
受信装置20は、対応リストの情報を受信すると、記憶装置22に記憶させる。受信装置20は、ビーコン装置10がブロードキャスト送信しているアドバタイズパケットを受信すると、アドバタイズパケットに含まれる装置IDを読み出す。そして、受信装置20は、読み出した装置IDを対応リストに照合させる。これによって、受信装置20は、アドバタイズパケットに含まれる生体情報を復号するための共通鍵を認識する。そして、受信装置20は、認識した共通鍵を用いて、生体情報を復号する。
管理装置30は、更新周期が到来すると新たに共通鍵51−1,51−2,…を生成する。共通鍵51−1,51−2,…は、それぞれビーコン装置10−1,10−2,…に対応付けられている。具体的には、たとえば、共通鍵51−1は、ビーコン装置10−1に用いられ、共通鍵51−2は、ビーコン装置10−2に用いられる。たとえば、共通鍵51−1,51−2,…は、ビーコン装置10−1,10−2,…の装置IDにそれぞれ紐付けられている。管理装置30は、生成した共通鍵51−1,51−2,…を受信装置20に送信する。受信装置20の各々は、すべてのビーコン装置10に対応する共通鍵51−1,51−2,…を受信する。
受信装置20は、管理装置30から取得した共通鍵51−1,51−2,…を記憶装置22に記憶する。この時点において、受信装置20は、共通鍵50−1,50−2,…および共通鍵51−1,51−2,…を保持している。
たとえば、ビーコン装置10−1が充電器80(図2参照)に接続されて、ビーコン装置10−1と受信装置20との双方向通信が確立されると、受信装置20は、双方向通信が確立されたビーコン装置10−1の装置IDに紐付けられた共通鍵51−1をビーコン装置10−1に送信する。
ビーコン装置10−1は、共通鍵を共通鍵50−1から共通鍵51−1に更新し、以降においては、生体情報の暗号化に共通鍵51−1を用いる。
受信装置20は、ビーコン装置10−1に共通鍵51−1を送信すると、管理装置30にビーコン装置10−1の共通鍵を共通鍵51−1に更新したことを示す情報を送信する。
管理装置30は、上記情報を受けると、管理情報を更新するとともに、対応リストを更新する。そして、管理装置30は、対応リストを受信装置20の各々に送信する。
なお、上記では、管理装置30は、すべてのビーコン装置10−1,10−2,…に用いられる共通鍵を同一のタイミングで生成した。しかしながら、管理装置30は、ビーコン装置10−1,10−2,…に用いられる共通鍵の各々を、異なるタイミングで生成してもよい。
以上のように、実施の形態3に係る通信システム1Bにおいては、ビーコン装置10−1,10−2,…の各々において、異なる共通鍵が用いられる。この場合においても、ビーコン装置10は、共通鍵を更新する場合に限り双方向通信を確立するため、通信システム1のセキュリティを向上させつつも、ビーコン装置の消費電力を抑制することができる。
今回開示された実施の形態がすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。