(57)【要約】【課題】ビーコンデータを送信するビーコン装置の正当性を検証でき、かつ、テレメトリデータを効率的に送信できる技術を提供する。【解決手段】サーバ装置は、１つ以上のビーコン装置のそれぞれについて、識別データを求めるためのパラメータデータを保持する保持手段と、ユーザ装置から第１ビーコンデータを受信すると、第１ビーコンデータの受信時刻と、１つ以上のビーコン装置それぞれのパラメータデータと、に基づき、１つ以上のビーコン装置それぞれが送信した識別データの予測値を示す予測データを求める演算手段と、第１ビーコンデータのうちの、送信データとの論理演算の対象ではない第１部分と、１つ以上のビーコン装置それぞれの予測データの第１部分に対応する第２部分との比較により、第１ビーコンデータの送信元ビーコン装置を特定する特定手段と、を備えている。【選択図】図３
2018157481.tif 000002
【特許請求の範囲】
【請求項１】
ビーコンデータを送信する１つ以上のビーコン装置と、ユーザ装置を介して、前記１つ以上のビーコン装置のうちの１つのビーコン装置が送信したビーコンデータを受信すると、受信したビーコンデータに基づき当該ビーコンデータの送信元ビーコン装置を特定するサーバ装置と、を含むシステムの前記サーバ装置であって、
前記１つ以上のビーコン装置のそれぞれは、時間の経過により変化する識別データと、テレメトリデータを含み、前記識別データよりビット長の短い送信データとのビット毎の論理演算により送信するビーコンデータを生成し、
前記サーバ装置は、
前記１つ以上のビーコン装置のそれぞれについて、前記識別データを求めるためのパラメータデータを保持する保持手段と、
前記ユーザ装置から第１ビーコンデータを受信すると、前記第１ビーコンデータの受信時刻と、前記１つ以上のビーコン装置それぞれのパラメータデータと、に基づき、前記１つ以上のビーコン装置それぞれが送信した識別データの予測値を示す予測データを求める演算手段と、
前記第１ビーコンデータのうちの、前記送信データとの前記論理演算の対象ではない第１部分と、前記１つ以上のビーコン装置それぞれの予測データの前記第１部分に対応する第２部分との比較により、前記第１ビーコンデータの送信元ビーコン装置を特定する特定手段と、
を備えていることを特徴とするサーバ装置。
【請求項２】
前記特定手段は、前記第１部分に一致する第２部分を有する予測データが１つであると、当該１つの予測データに対応するビーコン装置を前記送信元ビーコン装置として特定することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記送信データは、テレメトリデータと、前記テレメトリデータの誤り検査データと、を含み、
前記特定手段は、前記第１部分に一致する第２部分を有する予測データが１つであると、前記第１ビーコンデータのうちの、前記第１部分以外の第３部分と、当該１つの予測データの前記第３部分に対応する第４部分との前記論理演算を行って前記送信データに対応する受信データを取得し、前記受信データの前記テレメトリデータに対応する部分の誤りが無いことを、前記受信データの前記誤り検査データに対応する部分が示していると、当該１つの予測データに対応するビーコン装置を前記送信元ビーコン装置として特定することを特徴とする請求項１に記載のサーバ装置。
【請求項４】
前記特定手段は、前記第１部分に一致する第２部分を有する予測データが複数あると、前記第３部分と、当該複数の予測データそれぞれの前記第４部分との前記論理演算を行って、当該複数の予測データそれぞれの前記受信データを取得し、前記受信データの前記テレメトリデータに対応する部分の誤りがないことが前記誤り検査データに対応する部分により示されている予測データが１つであると、当該１つの予測データに対応するビーコン装置を前記送信元ビーコン装置として特定することを特徴とする請求項３に記載のサーバ装置。
【請求項５】
前記保持手段は、前記１つ以上のビーコン装置それぞれについての装置固有データを保持しており、
前記サーバ装置は、
前記特定手段が、前記第１ビーコンデータの送信元ビーコン装置を特定すると、当該送信元ビーコン装置の装置固有データを前記ユーザ装置に送信する送信手段をさらに備えていることを特徴とする請求項１から４のいずれか１項に記載のサーバ装置。
【請求項６】
前記テレメトリデータは、ビーコン装置の運用状態に関する情報を示す、請求項１から５のいずれか１項に記載のサーバ装置。
【請求項７】
前記パラメータデータは、ビーコン装置に固有の値と、ビーコン装置がカウント値を増加させる期間と、を含むことを特徴とする請求項１から６のいずれか１項に記載のサーバ装置。
【請求項８】
前記演算手段は、ビーコン装置の前記パラメータデータから得られる値のハッシュ演算により前記予測データを求めることを特徴とする請求項７に記載のサーバ装置。
【請求項９】
前記演算手段は、前記第１ビーコンデータを受信すると、当該受信時刻を含む所定時間範囲内の前記カウント値を前記１つ以上のビーコン装置それぞれについて求め、前記所定時間範囲内に異なるカウント値を有するビーコン装置があると、当該ビーコン装置については、前記異なるカウント値それぞれを使用して得られる値に対して前記予測データを求めることを特徴とする請求項７又は８に記載のサーバ装置。
【請求項１０】
ビーコンデータを送信する１つ以上のビーコン装置と、ユーザ装置を介して、前記１つ以上のビーコン装置のうちの１つのビーコン装置が送信したビーコンデータを受信すると、受信したビーコンデータに基づき当該ビーコンデータの送信元ビーコン装置を特定するサーバ装置と、を含むシステムの前記ビーコン装置であって、
ビーコン装置毎に異なり、かつ、時間の経過により変化する値を生成するためのパラメータデータを保持する保持手段と、
前記サーバ装置に送信するテレメトリデータの誤り検査データを求め、前記テレメトリデータと前記検査データを含む送信データを生成する第１生成手段と、
前記パラメータデータに基づき生成した値のハッシュ値であり、前記送信データよりビット長の長い識別データを求める演算手段と、
前記識別データと、前記送信データとのビット毎の論理演算により、送信するビーコンデータを生成する第２生成手段と、
を備えていることを特徴とするビーコン装置。
【請求項１１】
前記パラメータデータは、ビーコン装置に固有の値と、ビーコン装置がカウント値を増加させる期間と、を含むことを特徴とする請求項１０に記載のビーコン装置。
【請求項１２】
請求項１から９のいずれか１項に記載のサーバ装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ装置が、ビーコン装置からビーコン信号を受信すると、当該ビーコン装置に関連付けられた動作を行うシステムに関する。
【背景技術】
【０００２】
図７に示す様に、１つ以上のビーコン装置１０が、各ビーコン装置１０に固有のビーコン信号を繰り返し送信し、ユーザ装置２０が、受信したビーコン信号に応じた所定動作を行うシステムを考える。一例として、ビーコン装置１０を百貨店や、ショッピングモールの入り口付近に配置し、ビーコン装置１０に、当該百貨店や、当該ショッピングモールの店で使用できる割引クーポンを配布しているウェブサイトのＵＲＬに対応するビーコンデータを含むビーコン信号を送信させる。この場合、ユーザ装置２０が、あるビーコン装置１０からのビーコン信号を受信すると、ユーザ装置２０にインストールされたアプリケーションは、ビーコンデータが示すＵＲＬにアクセスして割引クーポンを取得することができる。また、他の例として、各駅にビーコン装置１０を配置し、各駅のビーコン装置１０に、その駅の時刻表を提供しているウェブサイトのＵＲＬに対応するビーコンデータを含むビーコン信号を送信させる。この場合、ユーザ装置２０が、ある駅のビーコン装置１０からのビーコンデータを受信すると、ユーザ装置２０にインストールされたアプリケーションは、当該ビーコンデータが示すＵＲＬにアクセスして、その駅の時刻表を取得することができる。なお、ビーコン装置１０は、ＵＲＬ以外の任意のデータをビーコンデータとして含むビーコン信号を送信することができ、ユーザ装置２０のアプリケーションは、受信したビーコンデータの値に基づき、あらかじめ決められた動作を行うことができる。
【０００３】
この様なシステムにおいては、ビーコン装置１０が送信するビーコン信号を誰でも受信できるため、システムは、様々な攻撃の対象になり得る。たとえば、悪意を持った者が、偽のビーコン装置を設置し、正当なビーコン装置１０が送信しているＵＲＬとは異なるＵＲＬを送信することができる。この場合、ユーザ装置２０は、悪意を持った者が意図するＵＲＬにアクセスさせられてしまう。
【０００４】
このため、たとえば、ビーコン装置１０が送信するビーコン信号に含まれるビーコンデータを時間とともに変化させる構成を考えることができる。たとえば、ビーコン装置１０があるＵＲＬの文字列を示すデータを、所定の規則に基づき周期的に変化させてビーコンデータとして送信する。この場合、ユーザ装置２０は、受信したビーコンデータを所定の規則に従い変換して、ビーコン装置１０が送信しようとしていた元のデータを復元し、復元したデータに応じた所定の動作を行う。
【０００５】
非特許文献１は、ビーコン装置１０が、識別鍵と所定タイミングでカウントするカウント値に基づき変換したビーコンデータを含むビーコン信号を送信し、ユーザ装置２０は、受信したビーコンデータを認証サーバに送信し、認証サーバが、受信したビーコンデータから、当該ビーコンデータが正当なビーコン装置１０により送信されたものであることを認証し、認証が成功すると、当該ビーコン装置１０に対応する、例えば、ＵＲＬ等のユーザ装置２０が使用するデータをユーザ装置２０に送信する構成を開示している。識別鍵は、ビーコン装置１０の秘密鍵及び公開鍵と、認証サーバの秘密鍵及び公開鍵に基づき生成される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】[Ｏｎｌｉｎe]  、[平成２９年２月１０日検索]、インターネット、＜ＵＲＬ：ｈｔｔｐｓ：／／ｇｉｔｈｕｂ．ｃｏｍ／ｇｏｏｇｌｅ／ｅｄｄｙｓｔｏｎｅ／ｂｌｏｂ／ｍａｓｔｅｒ／ｅｄｄｙｓｔｏｎｅ―ｅｉｄ／ｅｉｄ―ｃｏｍｐｕｔａｔｉｏｎ．ｍｄ＞
【非特許文献２】[Ｏｎｌｉｎe]  、[平成２９年２月１０日検索]、インターネット、＜ＵＲＬ：ｈｔｔｐｓ：／／ｇｉｔｈｕｂ.ｃｏｍ／ｇｏｏｇｌｅ／ｅｄｄｙｓｔｏｎｅ／ｂｌｏｂ／ｍａｓｔｅｒ／ｅｄ：ｄｙｓｔｏｎｅ−ｔｌｍ／ｔｌｍ−ｐｌａｉｎ.ｍｄ＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１の方法は、ビーコン装置１０の秘密鍵及び公開鍵と、認証サーバの秘密鍵及び公開鍵に基づき識別鍵を生成する必要があり、処理が複雑となる。また、ビーコン装置１０は、様々な場所に配置されるが、ビーコン装置１０の管理者は、ビーコン装置１０の運用状態に関する情報（以下、テレメトリデータ）を、ビーコン装置１０の管理のために必要とする。このため、ビーコン装置１０は、非特許文献２の方法によって、管理者に通知すべきテレメトリデータもビーコンデータとして送信する。しかしながら、ビーコンデータ長の制約により、非特許文献１及び非特許文献２に記載の構成では、ユーザ装置２０に所定の情報ヘアクセスさせるためのビーコンデータと、テレメトリデータとしてのビーコンデータを個別に送信する必要があるため、送信効率が損なわれる。
【０００８】
本発明は、ビーコンデータを送信するビーコン装置の正当性を検証でき、かつ、テレメトリデータを効率的に送信できる技術を提供するものである。
【課題を解決するための手段】
【０００９】
本発明の一態様によると、ビーコンデータを送信する１つ以上のビーコン装置と、ユーザ装置を介して、前記１つ以上のビーコン装置のうちの１つのビーコン装置が送信したビーコンデータを受信すると、受信したビーコンデータに基づき当該ビーコンデータの送信元ビーコン装置を特定するサーバ装置と、を含むシステムの前記サーバ装置であって、前記１つ以上のビーコン装置のそれぞれは、時間の経過により変化する識別データと、テレメトリデータを含み、前記識別データよりビット長の短い送信データとのビット毎の論理演算により送信するビーコンデータを生成し、前記サーバ装置は、前記１つ以上のビーコン装置のそれぞれについて、前記識別データを求めるためのパラメータデータを保持する保持手段と、前記ユーザ装置から第１ビーコンデータを受信すると、前記第１ビーコンデータの受信時刻と、前記１つ以上のビーコン装置それぞれのパラメータデータと、に基づき、前記１つ以上のビーコン装置それぞれが送信した識別データの予測値を示す予測データを求める演算手段と、前記第１ビーコンデータのうちの、前記送信データとの前記論理演算の対象ではない第１部分と、前記１つ以上のビーコン装置それぞれの予測データの前記第１部分に対応する第２部分との比較により、前記第１ビーコンデータの送信元ビーコン装置を特定する特定手段と、を備えていることを特徴とする。
【発明の効果】
【００１０】
本発明によると、ビーコンデータを送信するビーコン装置の正当性を検証でき、かつ、テレメトリを効率的に送信することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態によるシステムの構成図。
【図２】一実施形態による装置固有データを示す図。
【図３】一実施形態によるビーコンデータ生成方法の説明図。
【図４】一実施形態によるビーコンデータ送信元の特定方法の説明図。
【図５】一実施形態によるサーバ装置の構成図。
【図６】一実施形態によるビーコン装置の構成図。
【図７】ビーコン装置を含むシステムの説明図。
【発明を実施するための形態】
【００１２】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【００１３】
図１は、本実施形態によるシステムの構成図である。本実施形態では、システムの運用者（管理者）は、１つ以上のビーコン装置１０−１、１０−２と、サーバ装置３０と、を設置する。サーバ装置３０は、例えば、インターネットといったネットワーク４０に接続している。サーバ装置３０は、図２に示す様に、各ビーコン装置１０に対応する装置固有データを保持している。ユーザ装置２０は、例えば、ビーコン装置１０−１からビーコンデータを含むビーコン信号を受信すると、当該ビーコンデータを、ネットワーク４０を介してサーバ装置３０に送信する。サーバ装置３０は、ユーザ装置２０から受信したビーコンデータに基づき、当該ビーコンデータを送信したビーコン装置の特定と、その正当性の検証を行えるかを判定する。サーバ装置３０は、ビーコンデータを送信したビーコン装置を特定でき、かつ、その正当性を検証できると、特定したビーコン装置に対応する装置固有データ、つまり、図２では、ＵＲＬを送信し、ユーザ装置２０は、このＵＲＬにアクセスする。なお、図２では、ＵＲＬをユーザ装置２０に送信するものとしているが、ユーザ装置２０に送信する装置固有データは任意のデータであり、ユーザ装置２０のアプリケーションは、サーバ装置３０から受信する装置固有データの値に応じた所定の動作を行う。
【００１４】
以下では、ビーコン装置１０−１及び１０−２を区別する必要のない場合、ビーコン装置１０と表記する。まず、ビーコン装置１０が送信するビーコンデータの生成について説明する。本実施形態において、ビーコン装置１０が送信するビーコンデータを周期的に変更する。このため、ビーコン装置１０には、設置時、パラメータデータを設定する。本実施形態において、パラメータデータは、識別子ｊと、定数Ｋｊと、除数Ｌと、カウントアップ期間Ｄｊと、送信間隔Ｓｊと、初期カウント値Ｃｊ（０）と、を含む。なお、識別子ｊは、ビーコン装置１０固有の値、つまり、ビーコン装置１０毎に異なる値とする。定数Ｋｊは、所謂、ソルト（ｓａｌｔ）であり、各ビーコン装置１０に対してランダムに選択した値である。さらに、ビーコン装置１０には、認証を行うサーバ装置３０のＵＲＬのホスト部を設定する。本例において、サーバ装置３０のホスト部を"ｗｗｗ．ｓｅｖｅｒ３０．ｃо．ｊｐ"とする。ビーコン装置１０は、電源投入後、カウントアップ期間Ｄｊが経過する度に、ｎを１だけ増加させる。なお、ｎの初期値（電源投入時）は０である。
【００１５】
ビーコン装置１０は、送信間隔Ｓｊ毎にビーコンデータを含むビーコン信号を送信するが、その時、以下の式によりカウント値Ｃｊを計算する。
Ｃｊ（ｎ）＝Ｃｊ（０）＋ｎ／Ｓｊ        （１）
なお、Ｃｊ（０）は任意の初期値であり、ｎ／Ｓｊの小数点以下は切り捨てる。なお、Ｃｊ（０）を使用しない構成であっても良い。また、式（１）から明らかなように、カウント値Ｃｊは、Ｓｊ・Ｄｊの周期でカウントアップする。
【００１６】
続いて、ビーコン装置１０は、以下の式によりビーコン装置１０を識別するための識別データであるハッシュ値ｈｊ（ｎ）を求める。
ｈｊ（ｎ）＝ｈ（Ｋｊ｜｜ｊ｜｜Ｃｊ（ｎ））ｍоｄ  １０Ｌ      （２）
式（２）において、ｍоｄは剰余算である。つまり、ｈｊ（ｎ）は、定数Ｋｊと、識別子ｊと、ビーコンデータ送信時のカウント値Ｃｊを連結した値のハッシュ値を、所定数（本例では、１０Ｌ）で除した余りである。よって、識別データであるハッシュ値ｈｊ（ｎ）の長さは除数Ｌにより決定される。続いて、ビーコン装置１０は、サーバ装置３０に送信すべきテレメトリデータｔｊ（ｎ）と、その誤り検査符号(誤り検査データ)ｐｊ（ｎ）の連結値を送信データとし、この送信データと、ハッシュ値ｈｊ（ｎ）との排他的論理和を求めて、ビーコンデータｂｊ（ｎ）を生成する。ここで、テレメトリデータｔｊ（ｎ）は、ビーコン装置１０のバッテリ残量や、ビーコン装置１０の環境温度・湿度など、ビーコン装置１０の運用状態に関する情報を示すデータであり、システムを運用しているものが各ビーコン装置１０から収集したい任意のデータである。また、誤り検査符号ｐｊ（ｎ）は、例えば、巡回冗長検査（ＣＲＣ）符号等の、任意の誤り検出符号である。
【００１７】
図３は、ビーコンデータｂｊ（ｎ）生成の説明図である。まず、本実施形態では、誤り検査符号ｐｊ（ｎ）とテレメトリデータｔｊ（ｎ）とを連結した送信データの長さが、ハッシュ値ｈｊ（ｎ）を示すデータの長さより短くなるように、ハッシュ値ｈｊ（ｎ）のデータ長を設定する。そして、図３に示す様に、誤り検査符号ｐｊ（ｎ）とテレメトリデータｔｊ（ｎ）とを連結したデータに、０を付加してハッシュ値ｈｊ（ｎ）を示すデータの長さと等しくする。そして、ビット毎の排他的論理和を計算することでビーコンデータｂｊ（ｎ）を生成する。つまり、ビーコンデータｂｊ（ｎ）は、排他的論理和の演算対象ではなく、ハッシュ値ｈｊ（ｎ）と同じ第１部分と、誤り検査符号ｐｊ（ｎ）及びテレメトリデータｔｊ（ｎ）との排他的論理和の演算対象であり、よって、通常は、元のハッシュ値ｈｊ（ｎ）とは異なる第２部分とを含んでいる。
【００１８】
ビーコン装置１０は、ホスト部がサーバ装置３０を示し、ディレクトリ部がこのビーコンデータｂｊ（ｎ）を示すＵＲＬをビーコン信号として無線で送信する。なお、本発明は、ＵＲＬを示すビーコン信号に限定されず、サーバ装置３０のＩＰアドレスなど、サーバ装置３０を示す情報と、ビーコンデータｂｊ（ｎ）を含み、ユーザ装置２０がサーバ装置３０と、ビーコンデータｂｊ（ｎ）を認識できれば、任意の形式のビーコン信号とすることができる。
【００１９】
例えば、ユーザ装置２０が、ビーコン装置１０−１により送信されたビーコンデータｂｊ（ｎ）を含むビーコン信号を受信すると、当該ユーザ装置２０は、ビーコン信号が示すＵＲＬのホスト部に基づきサーバ装置３０にアクセスし、サーバ装置３０は、そのディレクトリ部、つまり、ビーコンデータｂｊ（ｎ）を取得する。
【００２０】
また、ビーコン装置１０を設置すると、サーバ装置３０には、当該ビーコン装置１０についてのパラメータデータを設定する。具体的には、サーバ装置３０に、識別子ｊと、定数Ｋｊと、除数Ｌと、カウントアップ期間Ｄｊと、データ送信間隔Ｓｊと、初期カウント値Ｃｊ（０）と、を設定しておく。さらに、ビーコン装置１０の電源投入時刻Ｔｊもパラメータデータとしてサーバ装置３０に設定しておく。サーバ装置３０は、ユーザ装置２０から時刻Ｔでビーコンデータｂｊ（ｎ）を受信すると、サーバ装置３０が管理している総てのビーコン装置１０について、以下の式によりカウント値Ｃｊ（ｎ）を計算する。
Ｃｊ（ｎ）＝Ｃｊ（０）＋（Ｔ−Ｔｊ）／（Ｄｊ・Ｓｊ）      （３）
なお、（Ｔ−Ｔｊ）／（Ｄｊ・Ｓｊ）の小数点以下は切り捨てる。
【００２１】
式（３）の（Ｔ−Ｔｊ）／Ｄｊは、ビーコン装置１０でカウントしているｎに対応する。よって、式（３）は式（１）と同じである。さらに、サーバ装置３０は、サーバ装置３０が管理している総てのビーコン装置１０について、式（２）によりハッシュ値ｈ´ｊ（ｎ）を求める。そして、サーバ装置３０は、図４に示す様に、ユーザ装置２０から受信したビーコンデータｂｊ（ｎ）の第１部分（排他的論理和の演算対象ではない部分）と、各ビーコン装置１０について求めたハッシュ値ｈ´ｊ（ｎ）の第１部分に対応する第１´部分とを比較し、一致しているものがあるかを判定する。
【００２２】
第１部分に一致する第１´部分が１つもない場合、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元を特定できないと判定する。一方、第１部分に一致する第１´部分が１つである場合、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元が、この一致した第１´部分を有するハッシュ値ｈ´ｊ（ｎ）に対応するビーコン装置１０であると判定することができる。また、第１部分に一致する第１´部分が１つである場合、サーバ装置３０は、受信したビーコンデータｂｊ（ｎ）と、一致した第１´部分を有するハッシュ値ｈ´ｊ（ｎ）とに基づき送信データを受信データとして復元し、受信データのテレメトリデータｔｊ（ｎ）に対応する部分に誤りが無いことを、受信データの誤り検査符号ｐｊ（ｎ）に対応する部分が示していると、ビーコンデータｂｊ（ｎ）の送信元が、この一致したビーコン装置１０であると判定することができる。具体的には、サーバ装置３０は、受信したビーコンデータｂｊ（ｎ）の第２部分と、第１´部分が第１部分に一致したハッシュ値ｈ´ｊ（ｎ）の第２部分に対応する第２´部分との排他的論理和を計算することで、受信データを取得する。そして、第２´部分の誤り検査符号ｐｊ（ｎ）に対応する部分に基づき、第２´部分のテレメトリデータｔｊ（ｎ）に対応する部分に誤りがあるか否かを判定する。そして、誤りが無い場合、ビーコンデータｂｊ（ｎ）の送信元が、第１´部分が第１部分に一致したハッシュ値ｈ´ｊ（ｎ）に対応するビーコン装置１０であると判定することができる。一方、テレメトリデータｔｊ（ｎ）に誤りがあると、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元を特定できないと判定する。そして、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元のビーコン装置１０−１を特定できると、ユーザ装置２０に、ビーコン装置１０−１に対応する装置固有データを送信する。一方、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元のビーコン装置を特定できないと、ユーザ装置２０に装置固有データを送信しない。
【００２３】
また、受信したビーコンデータｂｊ（ｎ）の第１部分に一致する第１´部分を有するハッシュ値ｈ´ｊ（ｎ）が複数ある場合、サーバ装置３０は、これら一致したハッシュ値ｈ´ｊ（ｎ）に対応するビーコン装置１０それぞれについて、上述したのと同様に受信データを取得する。そして、受信データのテレメトリデータｔｊ（ｎ）に対応する部分に誤りが無いことを、受信データの誤り検査符号ｐｊ（ｎ）に対応する部分が示しているハッシュ値ｈ´ｊ（ｎ）が１つであると、サーバ装置３０は、このハッシュ値ｈ´ｊ（ｎ）に対応するビーコン装置１０を、ビーコンデータｂｊ（ｎ）の送信元として特定する。一方、受信データのテレメトリデータｔｊ（ｎ）に対応する部分に誤りが無いものがない場合や、誤りが無いものが複数ある場合、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元を特定できないとして、ユーザ装置２０に装置固有データを送信しない。
【００２４】
また、サーバ装置３０は、ビーコンデータｂｊ（ｎ）の送信元を特定でき、かつ、受信データに含まれるテレメトリデータｔｊ（ｎ）に誤りがないと、当該テレメトリデータｔｊ（ｎ）を、送信元として特定したビーコン装置１０の運用状態を示すデータとして保存する。
【００２５】
なお、本実施形態において、サーバ装置３０は、時刻ＴでＵＲＬを受信すると式（３）により、各ビーコン装置１０のカウント値を求め、これにより各ビーコン装置１０についての時刻Ｔにおけるハッシュ値ｈ´ｊ（ｎ）を求めていた。しかしながら、ビーコン装置１０が送信したビーコンデータｂｊ（ｎ）をサーバ装置３０が受信するまでの遅延や、時刻のずれ等を考慮し、（Ｔ−Ｔｊ）／（Ｄｊ）で求められるｎについてのハッシュ値ｈ´ｊ（ｎ）のみを求めるのではなく、ハッシュ値ｈ´ｊ（ｎ−ｉ）〜ハッシュ値ｈ´ｊ（ｎ＋ｋ）まで求めて比較する構成とすることができる。つまり、ビーコンデータｂｊ（ｎ）の受信時刻Ｔを基準にしたある時間範囲内の各ビーコン装置１０のカウント値をそれぞれ求め、カウント値に変化があるビーコン装置１０が存在すると、当該ビーコン装置１０につては、各カウント値それぞれについてハッシュ値ｈ´ｊを求めてビーコンデータｂｊ（ｎ）と比較する構成とすることができる。
【００２６】
図５は、本実施形態によるサーバ装置３０の構成図である。保持部３０１は、管理する１つ以上のビーコン装置１０のそれぞれのパラメータデータを保持している。なお、ビーコン装置１０のパラメータデータとは、当該ビーコン装置１０についてハッシュ値ｈ´（識別データ）を求めるためのデータである。さらに、保持部３０１は、管理する１つ以上のビーコン装置１０それぞれについての装置固有データを保持している。さらに、保持部３０１は、各ビーコン装置１０から受信するテレメトリデータも保持する。
【００２７】
通信部３０３は、ネットワーク４０との通信処理を行う。通信部３０３は、ユーザ装置からビーコンデータを受信すると、その受信時刻Ｔを演算部３０２に通知するとともに、特定部３０４に受信したビーコンデータを出力する。演算部３０２は、受信時刻Ｔが通知されると、保持部３０１が保持するパラメータデータと、受信時刻Ｔとに基づき、各ビーコン装置１０についてハッシュ値ｈ´（予測データ）を求める。なお、受信時刻Ｔにおけるハッシュ値ｈ´のみを求めるのではなく、受信時刻Ｔを含む所定時間範囲内の各ハッシュ値ｈ´を、各ビーコン装置１０について求める構成であっても良い。
【００２８】
特定部３０４は、演算部３０２が求めた各ハッシュ値ｈ´と、受信したビーコンデータとを上述した様に比較することで、受信したビーコンデータの送信元のビーコン装置１０を特定する。そして、特定したビーコン装置１０の装置固有データを、通信部３０３を介して、受信したビーコンデータの送信元であるユーザ装置２０に送信する。なお、送信元のビーコン装置１０を特定できない場合、特定部３０４は、装置固有データをユーザ装置２０に送信しない。また、特定部３０４は、ビーコンデータの送信元のビーコン装置１０を特定できると、上述した様に、復元した誤りの無いテレメトリデータを保持部３０１に保持する。
【００２９】
図６は、本実施形態によるビーコン装置１０の構成図である。保持部１０１は、ハッシュ値ｈを計算するためのパラメータデータを保持する。このパラメータデータは、ビーコン装置１０毎に異なり、時間の経過により変化する。このため、パラメータデータは、少なくとも、ビーコン装置１０に固有の識別子と、時間とともに増加するカウント値を増加させる期間についての情報を含んでいる。送信データ生成部１０４は、ビーコン信号の送信時、テレメトリデータを取得し、当該テレメトリデータの誤り検査符号を生成し、これらを含む送信データを識別データ生成部１０２に出力する。識別データ生成部１０２は、ビーコン信号の送信時、保持部１０１が保持するパラメータデータに基づき識別データを生成する。上述した様に、識別データは、ビーコン信号の送信時点におけるパラメータデータから生成される値のハッシュ値ｈであり、送信データより長いビット長である。識別データ生成部１０２は、送信データと識別データとのビット毎の排他的論理和演算によりビーコンデータを生成する。送信部１０３は、サーバ装置３０を示す情報と、ビーコンデータとを含むビーコン信号を送信する。
【００３０】
以上、ビーコン装置１０は、装置毎に異なり、かつ、時間と共に変化するパラメータデータのハッシュ値である識別データと送信データとのビット毎の排他的論理和演算によりビーコンデータを生成する。このビーコンデータは、識別データと同じ部分と、送信データとの排他的論理和演算の対象である部分とを含む。そして、サーバ装置３０には、各ビーコン装置１０で生成する識別データを生成できるパラメータデータをあらかじめ保存しておく。ハッシュ値を予測することは難しいため成りすまし等の攻撃を防ぐことができる。また、ハッシュ値を予測することは難しいため、サーバ装置３０は、自装置で生成したハッシュ値に基づき、ビーコン装置１０の送信元と、その正当性を検証することができる。さらに、本実施形態では、送信データを識別データに重畳させてサーバ装置３０に送信する。したがって、効率的にサーバ装置３０に、ビーコン装置１０の状態を示す情報を送信することができる。さらに、本実施形態では、非特許文献１に記載の構成の様な暗号化技術を使用することなく、軽量な計算負荷でビーコン装置１０の正当性を検証できる。
【００３１】
なお、本発明によるサーバ装置３０は、コンピュータを上記サーバ装置３０として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【００３２】
３０１：保持部、３０２：演算部、３０３：通信部、３０４：特定部、１０１：保持部、１０２：識別データ生成部、１０３：送信部、１０４：送信データ生成部
【図１】
2018157481.tif 000003
【図２】
2018157481.tif 000004
【図３】
2018157481.tif 000005
【図４】
2018157481.tif 000006
【図５】
2018157481.tif 000007
【図６】
2018157481.tif 000008
【図７】
2018157481.tif 000009