JP6697355B2 - 送信機、通信システム、送信方法及びプログラム - Google Patents

送信機、通信システム、送信方法及びプログラム Download PDF

Info

Publication number
JP6697355B2
JP6697355B2 JP2016170124A JP2016170124A JP6697355B2 JP 6697355 B2 JP6697355 B2 JP 6697355B2 JP 2016170124 A JP2016170124 A JP 2016170124A JP 2016170124 A JP2016170124 A JP 2016170124A JP 6697355 B2 JP6697355 B2 JP 6697355B2
Authority
JP
Japan
Prior art keywords
encryption
advertising packet
transmitter
key number
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016170124A
Other languages
English (en)
Other versions
JP2018037898A (ja
Inventor
賀章 勝間田
賀章 勝間田
正之 中山
正之 中山
大啓 伊藤
大啓 伊藤
Original Assignee
株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ
株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ, 株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ filed Critical 株式会社エヌ・ティ・ティ ピー・シー コミュニケーションズ
Priority to JP2016170124A priority Critical patent/JP6697355B2/ja
Publication of JP2018037898A publication Critical patent/JP2018037898A/ja
Application granted granted Critical
Publication of JP6697355B2 publication Critical patent/JP6697355B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、送信機、通信システム、送信方法及びプログラムに関する。
近距離無線通信技術であるBluetooth(登録商標)を拡張した技術であり、極めて省電力での通信が可能であるBLE(Bluetooth(登録商標) Low Energy)と呼ばれる技術が知られている。BLEでは、送信機から、ビーコンと呼ばれるアドバタイジングパケットを送信することで、不特定多数のユーザに対して情報配信等のサービスを提供することが可能である。なお、BLEを利用した従来技術として、例えば、特許文献1に開示された技術がある。
特開2015−195433号公報
ビーコンを用いたサービスを行うためには、受信機側で、どの送信機から送信されたビーコンであるのかを識別可能にする必要がある。そのため、送信機は、送信機自身のIDやサービスを提供する店舗を識別する識別子などをビーコンに含めて送信することが一般的に行われている。
しかしながら、ビーコンは不特定多数のユーザが受信可能であることから、ビーコンに含まれる識別子から、ビーコンを送信する送信機の所有者が特定される可能性があるという問題がある。
本発明は上記に鑑みてなされたものであって、ビーコンを送信する送信機の所有者の特定を困難にすることが可能な技術を提供することを目的とする。
本発明の実施の形態に係る送信機は、BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機であって、
暗号化に用いる複数の鍵と、該複数の鍵の各々に対応する鍵番号とを含む鍵情報を記憶する記憶手段と、
時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定し、前記暗号化用の鍵番号に対応する鍵を用いて前記送信機を特定可能な識別子を暗号化する暗号化手段と、
前記暗号化用の鍵番号と前記暗号化手段により暗号化された識別子とを含むアドバタイジングパケットを送信する送信手段と、を有し、
前記アドバタイジングパケットには、前記アドバタイジングパケットを受信した受信機が、受信した前記アドバタイジングパケットをサーバに送信するべきか否かを判定するために用いられる判定情報が含まれ、
前記判定情報は、BLEで規定される企業ID、又は、前記鍵番号を所定の計算式に代入することで出力される値である
本発明よれば、ビーコンを送信する送信機の所有者の特定を困難にすることが可能な技術が提供される。
実施の形態に係る通信システムの構成例を示す図である。 実施の形態に係る送信機、受信機及びサーバのハードウェア構成例を示す図である。 実施の形態に係る送信機の機能構成例を示す図である。 実施の形態に係る受信機の機能構成例を示す図である。 実施の形態に係るサーバの機能構成例を示す図である。 鍵情報の一例を示す図である。 実施の形態に係る受信機の機能構成例(変形例)を示す図である。 実施の形態に係る通信システムが行う処理手順の一例を示すシーケンス図である。 実施の形態に係る通信システムが行う処理手順(変形例)の一例を示すシーケンス図である。 アドバタイジングパケットのフォーマットを説明するための図である。 独自フォーマットを使用したアドバタイジングパケットの一例を示す図である。 iビーコンで規定されるフォーマットを流用したアドバタイジングパケットの一例を示す図である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
<システム構成、概要>
図1は、実施の形態に係る通信システムの構成例を示す図である。本通信システムは、BLEのアドバタイジングパケット(advertising packets)を送信する送信機10、アドバタイジングパケットを受信する受信機20、及び、アドバタイジングパケットの収集を行うサーバ30を有する。受信機20とサーバ30は無線又は有線で接続され、相互に通信することが可能である。図1には、送信機10及び受信機20が1つずつ図示されているが、送信機10及び受信機20はそれぞれ複数であってもよい。
送信機10は、例えば、BLEビーコン、BLEタグ等であり、周期的にアドバタイジングパケットを送信する。送信機10が送信するアドバタイジングパケットには、送信機10を特定可能な識別子(以下、「ビーコン識別子」と呼ぶ)が含まれている。ビーコン識別子は、送信機10及びサーバ30が共通に保持している鍵を用いて暗号化される。ビーコン識別子は、例えば、送信機10のID(Identifier)、サービスを提供する店舗を特定する識別子など、送信機10の所有者を特定又は推定可能な識別子である。本実施の形態では、ビーコン識別子は、データ長が16オクテット(128ビット)であるUUID(Universally Unique Identifier)、又は、データ長が6オクテット(48ビット)であるBD(Bluetooth(登録商標) Device)アドレスである前提で説明するが、これに限定されるものではなく、本実施の形態では、あらゆる識別子を利用することが可能である。なお、UUIDとは、RFC4122で規定されているIDであり、全てのスペース及び全ての時間においてユニークなIDと定義されている。BDアドレスとは、Bluetooth(登録商標)仕様で規定されており、Bluetooth(登録商標)デバイスを特定するために用いられる。BDアドレスは、Bluetooth(登録商標)仕様ではBD_ADDRとも呼ばれる。
受信機20は、アドバタイジングパケットを受信し、受信したアドバタイジングパケットをサーバに送信(転送)する。ここで、受信機20が受信するアドバタイジングパケットの中には、本通信システムとは無関係なビーコンから送信されるアドバタイジングパケットも含まれる。そのため、受信機20は、受信した全てのアドバタイジングパケットをサーバに送信(転送)するのではなく、本通信システムの送信機10から送信されたアドバタイジングパケットをスクリーニング(選別)してサーバに送信(転送)するようにしてもよい。受信機20は、例えば、スマートフォン、タブレット、携帯電話等の端末である。
サーバ30は、受信機20から受信したアドバタイジングパケットに含まれるビーコン識別子を復号し、復号したビーコン識別子を用いて送信機10を特定することで所定の処理を行う。所定の処理はどのような処理であってもよいが、例えば、特定した送信機10に対応する情報(例えば送信機10が設置されている店舗のクーポン等)を受信機20に配信するといった処理を想定している。
<ハードウェア構成>
続いて、送信機10、受信機20及びサーバ30のハードウェア構成について説明する。
図2は、実施の形態に係る送信機、受信機及びサーバのハードウェア構成例を示す図である。送信機10、受信機20及びサーバ30は、CPU11と、メモリ12と、通信IF13と、入力部14と、出力部15とを有する。また、送信機10、受信機20及びサーバ30は、記憶媒体16を接続可能であってもよい。
CPU11は、送信機10、受信機20及びサーバ30の全体制御を行うプロセッサである。CPU11は、メモリ12に記憶されたプログラムを実行し、送信機10、受信機20又はサーバ30の各種機能を実現する。メモリ12には、各種のプログラムやプログラムによって利用されるデータ等が記憶される。また、メモリ12は、記憶媒体16からプログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等としても用いられる。通信IF13は、無線又は有線によりデータの送受信を行うための通信インターフェースである。入力部14は、ユーザからの入力を受け付けるためのハードウェア、又は、ユーザからの入力を受け付けるためのハードウェアを接続可能なインターフェースである。出力部15は、ユーザに向けた表示等を行うハードウェア、又は、ユーザに向けた表示等を行うハードウェアを接続可能なインターフェースである。なお、記憶媒体16とは、非一時的(non-transitory)な記憶媒体を言う。記憶媒体16の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
<機能構成>
続いて、送信機10、受信機20及びサーバ30の機能構成について説明する。
(送信機)
図3は、実施の形態に係る送信機の機能構成例を示す図である。図3に示すように、送信機10は、暗号化部101と、生成部102と、送信部103と、記憶部104とを有する。これら各機能部は、送信機10にインストールされた1以上のプログラムが、CPU11に実行させる処理により実現され得る。記憶部104は、メモリ12を用いて実現可能である。
暗号化部101は、記憶部104に記憶されている鍵情報から、ビーコン識別子の暗号化に用いる鍵を取得し、取得した鍵を用いてビーコン識別子を暗号化する機能を有する。ここで、鍵情報には、暗号化に用いる複数の鍵と、該複数の鍵の各々に対応する鍵番号とが対応づけて記憶されている。暗号化部101は、時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定し、鍵情報から、決定した暗号化用の鍵番号に対応する鍵を取り出してビーコン識別子を暗号化する。
生成部102は、Bluetooth(登録商標)規格で定められているアドバタイジングパケットのフォーマットに従い、暗号化されたビーコン識別子を含むアドバタイジングパケットを生成する機能を有する。また、生成部102は、アドバタイジングパケットを受信機20からサーバ30に送信(転送)すべきか否かの判定に用いられる情報(以下、「スクリーニング情報」と言う)を、アドバタイジングパケットに含めるようにしてもよい。
送信部103は、生成部102で生成されたアドバタイジングパケットを送信する機能を有する。記憶部104は、鍵情報を記憶する。図6は、鍵情報の一例を示す図である。図6の例では、「鍵番号」は2オクテット(0番〜255番)であり、「鍵」の長さは128ビット(16オクテット)であるが、あくまで一例であり、これに限定されるものではない。「鍵番号」は3オクテット以上であってもよいし、「鍵」の長さも、128ビット以外(80ビット、192ビット等)であってもよい。
(受信機)
図4は、実施の形態に係る受信機の機能構成例を示す図である。図4に示すように、受信機20は、受信部201と、スクリーニング部202と、送信部203とを有する。これら各機能部は、受信機20にインストールされた1以上のプログラムが、CPU11に実行させる処理により実現され得る。
受信部201は、送信機10から送信されるアドバタイジングパケットを受信する機能を有する。
スクリーニング部202は、アドバタイジングパケットに含まれるスクリーニング情報が所定の条件を満たす情報であるか否かを判定することでスクリーニング処理を行う機能を有する。
送信部203は、スクリーニング部202において、スクリーニング情報が所定の条件を満たす情報であると判定されたアドバタイジングパケットをサーバ30に送信する機能を有する。
(サーバ)
図5は、実施の形態に係るサーバの機能構成例を示す図である。図5に示すように、サーバ30は、受信部301と、復号部302と、記憶部303とを有する。これら各機能部は、サーバ30にインストールされた1以上のプログラムが、CPU11に実行させる処理により実現され得る。記憶部303は、メモリ12又はサーバ30にネットワークを介して接続される記憶装置等を用いて実現可能である。
受信部301は、受信機20から送信(転送)されるアドバタイジングパケットを受信する機能を有する。
復号部302は、受信部301で受信したアドバタイジングパケットに含まれるビーコン識別子を、記憶部303に記憶されている鍵情報を用いて復号する機能を有する。より具体的には、復号部302は、受信したアドバタイジングパケットに含まれる鍵番号に対応する鍵を鍵情報から取得し、取得した鍵を用いて、受信したアドバタイジングパケットに含まれるビーコン識別子を復号する。
記憶部303は、鍵情報を記憶する。記憶部303に記憶される鍵情報は、送信機10に記憶されている鍵情報と同一である。
受信部301と、復号部302と、記憶部303とは、1つのコンピューターを用いて実現されてもよいし、異なるコンピューターを用いて実現されていてもよいし、細かい単位でコンピューターが分散されていてもよい。すなわち、サーバ30は、1又は複数のコンピューターを用いて実現されていてもよい。また、当該1又は複数のコンピューターは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
以上、送信機10、受信機20及びサーバ30の機能構成について説明したが、アドバタイジングパケットに含まれる暗号化されたビーコン識別子の復号を、サーバ30ではなく受信機20で行うようにしてもよい。すなわち、サーバ30の復号部302及び記憶部303を受信機20内に備える構成とし、サーバ30は、単にアドバタイジングパケットの収集等を行うサーバとして機能するようにしてもよい。復号機能を有する受信機20及び復号機能を有するサーバ30は、復号装置と呼ばれてもよい。その場合の受信機20の機能構成例を図7に示す。図7に示すように、受信機20は、受信部201と、スクリーニング部202と、送信部203と、復号部204と、記憶部205を有する。受信部201と、スクリーニング部202と、送信部203とは、図4と同一であるため説明は省略する。
復号部204は、受信部201で受信したアドバタイジングパケットに含まれるビーコン識別子を、記憶部205に記憶されている鍵情報を用いて復号する機能を有する。より具体的には、復号部204は、受信したアドバタイジングパケットに含まれる鍵番号に対応する鍵を鍵情報から取得し、取得した鍵を用いて、受信したアドバタイジングパケットに含まれるビーコン識別子を復号する。また、復号部204は、復号されたビーコン識別子が格納されたアドバタイジングパケットをスクリーニング部202に渡す。
記憶部205は、鍵情報を記憶する。記憶部205に記憶される鍵情報は、送信機10に記憶されている鍵情報と同一である。
<処理手順>
図8は、実施の形態に係る通信システムが行う処理手順の一例を示すシーケンス図である。図8の例は、ビーコン識別子の復号をサーバ30側で行う場合の処理手順を示している。
ステップS11において、送信機10の暗号化部101は、アドバタイジングパケットに含めるべきビーコン識別子を暗号化する。まず、暗号化部101は、「時間の経過と共に変化する値」に基づいて暗号化用の鍵番号を決定する。「時間の経過と共に変化する値」は、例えば、送信機10が備えるクロック(例えば水晶発振器のベースクロック)に基づいてカウントアップする正の整数のカウンター値であってもよいし、初期値として現在時刻が設定された乱数生成器から出力される正の整数の乱数であってもよい。時間の経過と共に変化する値は、少なくともアドバタイジングパケットの送信周期よりも短い周期で変化する値であることが好適である。
続いて、暗号化部101は、「時間の経過と共に変化する値」に基づいて暗号化に用いる鍵の鍵番号を決定する。暗号化部101は、例えば、「時間の経過と共に変化する値」を256で割った"余り"を鍵番号としてもよい。
続いて、暗号化部101は、鍵情報から、決定した鍵番号に対応する鍵を取り出してビーコン識別子を暗号化する。暗号化部101は、暗号化方式として、例えば、ストリーム暗号方式を利用するようにしてもよいし、ブロック暗号方式を利用するようにしてもよい。
ストリーム暗号方式を利用する場合、暗号化されたビーコン識別子は、暗号化前のビーコン識別子と同一のサイズになる。つまり、ビーコン識別子がUUID(16オクテット)である場合、暗号化されたビーコン識別子のサイズも16オクテットになり、ビーコン識別子がBDアドレス(6オクテット)である場合、暗号化されたビーコン識別子のサイズも6オクテットになる。
ブロック暗号方式を利用する場合、暗号化されたビーコン識別子は、ブロック長の整数倍になる。そこで、ブロック暗号方式を利用する場合、本実施の形態では、アドバタイジングパケットに格納可能なデータサイズを考慮し、ブロック長が128ビットであるブロック暗号方式(例えばAES(Advanced Encryption Standard)など)を利用する。ここで、ブロック長が128ビットであるブロック暗号アルゴリズムに入力する平文は128ビット(16オクテット)にする必要があるが、ビーコン識別子がBDアドレス(6オクテット)である場合、10オクテット分が不足する。そこで、ビーコン識別子がBDアドレスである場合、暗号化部101は、不足する10オクテットを、例えばRFC1423で規定されているPKCS#5 Paddingを利用してパディングするようにしてもよい。また、暗号化部101は、送信機10が備える各種のセンサ等の出力データ(電池残量、温度、湿度など)をBDアドレスの後に10オクテット分加えるようにしてもよい。これにより、アドバタイジングパケットを利用して、送信機10から出力されるデータをサーバ30に通知することができる。なお、上述したストリーム暗号方式を利用する場合であっても、暗号化部101は、BDアドレス(6オクテット)の後に送信機10が備える各種センサ等の出力データ(電池残量、温度、湿度など)を加えてから暗号化を行うようにしてもよい。
また、ブロック暗号方式を利用する場合、暗号モードによっては、初期化ベクトル(IV:Initialization Vector)が必要になる。例えば、CBCモード(Cipher Block Chaining)、CFBモード(Cipher Feedback Mode)、OFBモード(Output Feedback Mode)では、暗号化に用いる鍵の他に初期化ベクトルが必要になる。そこで、本実施の形態では、暗号化部101は、初期化ベクトルが必要な暗号モードを利用する場合、予め定められた値を初期化ベクトルに使用するようにしてもよいし、鍵番号を初期化ベクトルに利用するようにしてもよい。
ステップS12において、送信機10の生成部102は、アドバタイジングパケットを生成する。ここで、図10を用いて、Bluetooth(登録商標)規格で定められているアドバタイジングパケットのフォーマットについて説明する。アドバタイジングパケットは、「Preamble」、「Access Address」、「PDU」及び「CRC」の各フィールドから構成されており、「Access Address」には固定値(0x8e89bed6)が設定される。「PDU」は更に「Header」及び「Payload」に分けられる。「Header」の先頭には「PDU Type」が含まれており、本実施の形態では、「PDU Type」にADV_NONCONN_INDを示すビット(0010)を設定してもよい。なお、ADV_NONCONN_INDとは、不特定多数のデバイスから接続不可能(つまり、コネクションの接続を受け付けない)なアドバタイジングイベントを意味する。
「Payload」は更に、「AdvA」及び「AdvData」に分けられる。「AdvA」には、アドバタイザー(Advertiser)のパブリック又はランダムなデバイスアドレスが設定される。より具体的には、「Header」内において「TxADD=0」である場合、「AdvA」にはパブリックなデバイスアドレスが設定され、「TxADD=1」である場合、「AdvA」にはランダムなデバイスアドレスが設定される。本実施の形態では、「TxADD=1」とすることで「AdvA」にランダムなデバイスアドレスが設定されるようにしてもよい。
「AdvData」には、1以上の「AD Structure」を設定可能である。各「AD Structure」は更に、「Length」、「AD Type」及び「AD Data」の各フィールドに分けられる。「Length」は「AD Structure」の長さ(オクテット)を示す。「AD Type」は、AD Dataに設定されるデータのタイプを示す。「AD Data」には、アドバタイジングする実際のデータが格納される。
ここで、生成部102は、独自フォーマットを使用したアドバタイジングパケットを生成するようにしてもよいし、iビーコンで規定されるフォーマットを流用したアドバタイジングパケットを生成するようにしてもよい。
図11は、独自フォーマットを使用したアドバタイジングパケットの一例を示す図である。図11の例では、「AD Type」に、「AD Data」が独自フォーマット(製品専用のフォーマット)であることを示す0xFF(Manufacture Specific)を設定する。なお、「AD Type=0xFF」の場合、「AD Data」の先頭の2オクテットには、Bluetooth(登録商標) SIG(Bluetooth(登録商標) Special Interest Group)に登録された「Company ID」を設定する必要がある。本実施の形態では、「Company ID」に所定の企業IDを設定する。
「AD Data」には更に、2オクテットの「鍵番号」と、2オクテットの「スクリーニング情報」と、「暗号化ビーコン識別子」とが格納される。ビーコン識別子がBDアドレスであり、かつ、ストリーム暗号方式を利用して暗号化された場合は、「暗号化ビーコン識別子」は6オクテットになる。ビーコン識別子がUUIDである場合は、及び、ビーコン識別子がBDアドレスであっても128ビットのブロック暗号方式を利用して暗号化された場合は、「暗号化ビーコン識別子」は16オクテットになる。なお、「鍵番号」、「スクリーニング情報」及び「暗号化ビーコン識別子」の並び順は一例であり、これに限定されない。また、「AD Data」のフィールドに空きがある場合、送信機10が備える各種センサ等の出力データが含まれるようにしてもよい。
図12は、iビーコンで規定されるフォーマットを流用したアドバタイジングパケットの一例を示す図である。図12に示すように、iビーコンで規定されるフォーマットには、「AdvData」には2つの「AD Structure」が設定され、2つ目の「AD Structure」には、16オクテットの「UUID」と、2オクテットの「Major」と、2オクテットの「Minor」とを格納するフィールドが存在する。生成部102は、暗号化されたビーコン識別子を「UUID」に格納し、鍵番号を「Major」に格納し、スクリーニング情報を「Minor」に格納する。ここで、「UUID」フィールドは16オクテットであると定められている。そのため、暗号化部101は、ビーコン識別子がBDアドレスである場合、前述したように、BDアドレスにパディングを行うか、又は、BDアドレスに各種センサ等の出力データを加えることで、暗号化後のビーコン識別子が16オクテットになるように調整する必要がある。
なお、生成部102は、「Minor」に鍵番号を格納し、「Major」にスクリーニング情報を格納するようにしてもよい。また、生成部102は、「Major」及び「Minor」を結合した4オクテットのフィールドのうち任意のフィールドに鍵番号及びスクリーニング情報を格納するようにしてもよい。例えば、「Major」及び「Minor」を結合した4オクテットのフィールドのうち最初の1オクテットと最後の1オクテットに鍵番号を格納し、中心の2オクテットにスクリーニング情報を格納するようにしてもよい。図6に戻り説明を続ける。
ステップS13において、送信機10の送信部103は、ステップS12の処理手順で生成されたアドバタイジングパケットを、BLEの信号として送信する。受信機20の受信部201は、送信機10から送信されたアドバタイジングパケットを受信する。
ステップS14において、受信機20のスクリーニング部202は、受信したアドバタイジングパケットに含まれる「スクリーニング情報」が所定の条件を満たす情報であるか否かを判定する。
ここで、スクリーニング情報は、例えは、アドバタイジングパケットに含まれる情報を所定の関数に入力することで出力された情報であってもよい。例えば、送信機10の生成部102は、「鍵番号」を所定の関数に入力することで出力された情報を「スクリーニング情報」に予め格納しておく。受信機20のスクリーニング部202は、アドバタイジングパケットに含まれる「鍵番号」を当該所定の関数に入力することで出力された情報が、アドバタイジングパケットに含まれる「スクリーニング情報」と一致した場合に、「スクリーニング情報」が所定の条件を満たす情報であると判定する。
所定の関数とは、例えば、入力値をビット反転させる関数であってもよい。この場合、受信機20のスクリーニング部202は、アドバタイジングパケットに含まれる「スクリーニング情報」をビット反転させた情報が、アドバタイジングパケットに含まれる「鍵番号」と一致した場合(又は、「鍵番号」及び「スクリーニング情報」の合計が0xFFFFになる場合)に、「スクリーニング情報」が所定の条件を満たす情報であると判定する。
また、アドバタイジングパケットが図11に示す独自フォーマットである場合、受信機20のスクリーニング部202は「Company ID」をスクリーニング情報とみなすようにしてもよい。この場合、スクリーニング部202は、「Company ID」に所定の企業IDが設定されている場合に、スクリーニング情報が所定の条件を満たす情報であると判定する。なお、この場合、図11に示すアドバタイジングパケットには「スクリーニング情報」が含まれていなくてもよい。
ステップS15において、受信機20の送信部203は、スクリーニング情報が所定の条件を満たす情報であると判定されたアドバタイジングパケットをサーバ30に送信する。サーバ30の受信部301は、アドバタイジングパケットを受信する。なお、送信部203は、アドバタイジングパケットと一緒に、受信機20がGPS等を用いて測定した位置情報、及び/又は、アドバタイジングパケットを送信する時刻(又はアドバタイジングパケットを受信した時刻)などをサーバ30に送信するようにしてもよい。アドバタイジングパケットが図11に示す独自フォーマットである場合で、かつ「AD Data」のフィールドに空きがある場合、受信機20の送信部203は、位置情報及び/又は時刻などを「AD Data」に格納してサーバ30に送信するようにしてもよい。
ステップS16において、サーバ30の復号部302は、送信機10の暗号化部101が行った処理と逆の処理を行うことで、アドバタイジングパケットに含まれるビーコン識別子を復号する。なお、ビーコン識別子がBDアドレスであり、ステップS12で説明した方法によりパディングが行われている場合、サーバ30の復号部302は、復号したビーコン識別子のうちパディング部分を破棄する。
なお、ステップS11乃至ステップS16の処理手順は、アドバタイジングパケットの送信周期ごとに繰り返し行われる。
以上、ビーコン識別子の復号をサーバ30側で行う場合の処理手順について説明した。
続いて、ビーコン識別子の復号を受信機20側で行う場合の処理手順について説明する。図9は、実施の形態に係る通信システムが行う処理手順(変形例)の一例を示すシーケンス図である。図9において、図8と同一の処理手順については同一の符号を付して説明は省略する。
ステップS21で、受信機20の復号部204は、ステップS13の処理手順で受信したアドバタイジングパケットに含まれる「鍵番号」及び「ビーコン識別子」を抽出し、送信機10の暗号化部101が行った処理と逆の処理を行うことでビーコン識別子を復号する。また、復号部204は、復号後のビーコン識別子をアドバタイジングパケットの「ビーコン識別子」のフィールドに格納してスクリーニング部202に渡す。以上、ビーコン識別子の復号を受信機20側で行う場合の処理手順について説明した。
以上説明した実施の形態によれば、アドバタイジングパケットに含まれるビーコン識別子が暗号化されるため、アドバタイジングパケットを受信した第三者は、ビーコン識別子を把握することができなくなる。これにより、第三者は、ビーコン識別子に基づいて、送信機10の所有者の特定することが困難になる。
また、実施の形態によれば、アドバタイジングパケットに含まれるビーコン識別子は、アドバタイジングパケットの送信周期ごとに異なる鍵を用いて暗号化されることになる。つまり、第三者からは、アドバタイジングパケットの送信周期ごとにビーコン識別子が変化するように見えるため、送信機10の所有者の特定することが更に困難になる。
また、実施の形態によれば、128ビットのブロック暗号方式を利用し、かつ、鍵番号を初期化ベクトルに利用することで、iビーコンで規定されるフォーマットにおける各フィールドのサイズを変更することなくアドバタイジングパケットを送信することが可能である。これにより、送信機10及び受信機20は、iビーコンで規定されるフォーマットを流用した実装を行うことができ、送信機10及び受信機20のソフトウェア開発コストを抑制することが可能になる。また、iビーコンで規定されるフォーマットは広く一般的に利用されていることから、iビーコンで規定されるフォーマットを流用することで、独自フォーマットを利用する場合と比較して送信機10の所有者の特定が更に困難になる。
また、実施の形態によれば、受信機20は、受信した全てのアドバタイジングパケットをサーバに送信(転送)するのではなく、受信したアドバタイジングパケットをスクリーニング(選別)してサーバに送信(転送)するようにした。これにより、大量のアドバタイジングパケットがサーバ30に送信されることを抑止することができ、サーバ30の処理負荷を軽減させることができる。
<実施形態の補足>
以上、本発明の実施の形態を説明してきたが、開示される発明はそのような実施形態に限定されず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。発明の理解を促すため具体的な数値例を用いて説明がなされたが、特に断りのない限り、それらの数値は単なる一例に過ぎず適切な如何なる値が使用されてもよい。機能構成図における機能部又は処理部の境界は必ずしも物理的な部品の境界に対応するとは限らない。複数の機能部の動作が物理的には1つの部品で行われてもよいし、あるいは1つの機能部の動作が物理的には複数の部品により行われてもよい。実施の形態で述べたシーケンスは、矛盾の無い限り順序を入れ替えてもよい。処理説明の便宜上、送信機10、受信機20及びサーバ30は機能構成図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。
実施の形態におけるスクリーニング情報は、判定情報の一例である。ビーコン識別子は、所定の識別子の一例である。
(第1項)
BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機であって、
暗号化に用いる複数の鍵と、該複数の鍵の各々に対応する鍵番号とを含む鍵情報を記憶する記憶手段と、
時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定し、前記暗号化用の鍵番号に対応する鍵を用いて所定の識別子を暗号化する暗号化手段と、
前記暗号化用の鍵番号と前記暗号化手段により暗号化された識別子とを含むアドバタイジングパケットを送信する送信手段と、
を有する送信機。
(第2項)
前記アドバタイジングパケットには、前記アドバタイジングパケットを受信した受信機が、受信した前記アドバタイジングパケットをサーバに送信するべきか否かを判定するために用いられる判定情報が含まれる、第1項に記載の送信機。
(第3項)
前記判定情報は、BLEで規定される企業ID、又は、前記鍵番号を所定の計算式に代入することで出力される値である、第2項に記載の送信機。
(第4項)
前記判定情報は、前記鍵番号をビット反転させることで出力される値である、第3項に記載の送信機。
(第5項)
前記暗号化手段は、ブロック暗号方式を用いて前記所定の識別子を暗号化し、該ブロック暗号方式に使用する初期化ベクトルとして前記暗号化用の鍵番号を使用する、第1項乃至第4項のいずれか一項に記載の送信機。
(第6項)
前記アドバタイジングパケットは、
ADタイプフィールドに、ADデータフィールドが製品専用のフォーマットであることを示す値が格納され、
ADデータフィールドに、企業IDと、前記暗号化用の鍵番号と、前記暗号化された識別子とが格納される、
第1項乃至第5項のいずれか一項に記載の送信機。
(第7項)
前記アドバタイジングパケットのADデータフィールドは、企業IDと、UUIDフィールドと、Majorフィールドと、Minorフィールドとを含み、
前記UUIDフィールドに、前記暗号化された識別子が格納され、
前記Majorフィールド又は前記Minorフィールドに、前記暗号化用の鍵番号が格納される、
第1項乃至第5項のいずれか一項に記載の送信機。
(第8項)
BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機と、該アドバタイジングパケットを受信する受信機と、該受信機と通信するサーバとを含む通信システムであって、
前記送信機は、
暗号化に用いる複数の鍵と、該複数の鍵の各々に対応する鍵番号とを含む鍵情報を記憶する記憶手段と、
時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定し、前記暗号化用の鍵番号に対応する鍵を用いて所定の識別子を暗号化する暗号化手段と、
前記暗号化用の鍵番号と、前記暗号化手段により暗号化された識別子と、前記受信機がアドバタイジングパケットを前記サーバに送信するべきか否かを判定するために用いられる判定情報と、を含むアドバタイジングパケットを送信する送信手段と、
を有し、
前記受信機は、
前記送信機から送信されたアドバタイジングパケットを受信する受信手段と、
前記受信手段で受信されたアドバタイジングパケットに含まれる判定情報が所定の条件を満たす場合に、前記受信手段で受信されたアドバタイジングパケットを前記サーバに送信する送信手段と、
を有し、
前記サーバは、
前記鍵情報を記憶する記憶手段と、
前記受信機から受信したアドバタイジングパケットに含まれる前記暗号化用の鍵番号に対応する鍵を前記鍵情報から取得し、取得した鍵を用いて、前記受信機から受信したアドバタイジングパケットに含まれる前記暗号化された識別子を復号する復号手段と、
を有する、通信システム。
(第9項)
BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機が実行する送信方法であって、
時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定するステップと、
暗号化に用いる複数の鍵と該複数の鍵の各々に対応する鍵番号とを含む鍵情報を参照することで、前記暗号化用の鍵番号に対応する鍵を取得するステップと、
取得された前記暗号化用の鍵番号に対応する鍵を用いて当該送信機を特定する識別子を暗号化するステップと、
前記暗号化用の鍵番号と暗号化された識別子とを含むアドバタイジングパケットを送信するステップと、
を有する送信方法。
(第10項)
コンピューターを、第1項乃至第7項のいずれか一項に記載の送信機の各手段として機能させるプログラム。
10 送信機
20 受信機
30 サーバ
101 暗号化部
102 生成部
103 送信部
104 記憶部
201 受信部
202 スクリーニング部
203 送信部
204 復号部
205 記憶部
301 受信部
302 復号部
303 記憶部

Claims (8)

  1. BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機であって、
    暗号化に用いる複数の鍵と、該複数の鍵の各々に対応する鍵番号とを含む鍵情報を記憶する記憶手段と、
    時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定し、前記暗号化用の鍵番号に対応する鍵を用いて前記送信機を特定可能な識別子を暗号化する暗号化手段と、
    前記暗号化用の鍵番号と前記暗号化手段により暗号化された識別子とを含むアドバタイジングパケットを送信する送信手段と、を有し、
    前記アドバタイジングパケットには、前記アドバタイジングパケットを受信した受信機が、受信した前記アドバタイジングパケットをサーバに送信するべきか否かを判定するために用いられる判定情報が含まれ、
    前記判定情報は、BLEで規定される企業ID、又は、前記鍵番号を所定の計算式に代入することで出力される値である、
    送信機。
  2. 前記判定情報は、前記鍵番号をビット反転させることで出力される値である、請求項に記載の送信機。
  3. 前記暗号化手段は、ブロック暗号方式を用いて前記所定の識別子を暗号化し、該ブロック暗号方式に使用する初期化ベクトルとして前記暗号化用の鍵番号を使用する、請求項1又は2に記載の送信機。
  4. 前記アドバタイジングパケットは、
    ADタイプフィールドに、ADデータフィールドが製品専用のフォーマットであることを示す値が格納され、
    ADデータフィールドに、企業IDと、前記暗号化用の鍵番号と、前記暗号化された識別子とが格納される、
    請求項1乃至のいずれか一項に記載の送信機。
  5. 前記アドバタイジングパケットのADデータフィールドは、企業IDと、UUIDフィールドと、Majorフィールドと、Minorフィールドとを含み、
    前記UUIDフィールドに、前記暗号化された識別子が格納され、
    前記Majorフィールド又は前記Minorフィールドに、前記暗号化用の鍵番号が格納される、
    請求項1乃至のいずれか一項に記載の送信機。
  6. BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機と、該アドバタイジングパケットを受信する受信機と、該受信機と通信するサーバとを含む通信システムであって、
    前記送信機は、
    暗号化に用いる複数の鍵と、該複数の鍵の各々に対応する鍵番号とを含む鍵情報を記憶する記憶手段と、
    時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定し、前記暗号化用の鍵番号に対応する鍵を用いて前記送信機を特定可能な識別子を暗号化する暗号化手段と、
    前記暗号化用の鍵番号と、前記暗号化手段により暗号化された識別子と、前記受信機がアドバタイジングパケットを前記サーバに送信するべきか否かを判定するために用いられる判定情報と、を含むアドバタイジングパケットを送信する送信手段と、
    を有し、
    前記判定情報は、BLEで規定される企業ID、又は、前記鍵番号を所定の計算式に代入することで出力される値であり、
    前記受信機は、
    前記送信機から送信されたアドバタイジングパケットを受信する受信手段と、
    前記受信手段で受信されたアドバタイジングパケットに含まれる判定情報が所定の条件を満たす場合に、前記受信手段で受信されたアドバタイジングパケットを前記サーバに送信すると判定し、前記受信手段で受信されたアドバタイジングパケットを前記サーバに送信する送信手段と、
    を有し、
    前記サーバは、
    前記鍵情報を記憶する記憶手段と、
    前記受信機から受信したアドバタイジングパケットに含まれる前記暗号化用の鍵番号に対応する鍵を前記鍵情報から取得し、取得した鍵を用いて、前記受信機から受信したアドバタイジングパケットに含まれる前記暗号化された識別子を復号する復号手段と、
    を有する、通信システム。
  7. BLE(Bluetooth(登録商標) Low Energy)のアドバタイジングパケットを送信する送信機が実行する送信方法であって、
    時間の経過と共に変化する値に基づいて暗号化用の鍵番号を決定するステップと、
    暗号化に用いる複数の鍵と該複数の鍵の各々に対応する鍵番号とを含む鍵情報を参照することで、前記暗号化用の鍵番号に対応する鍵を取得するステップと、
    取得された前記暗号化用の鍵番号に対応する鍵を用いて当該送信機を特定する識別子を暗号化するステップと、
    前記暗号化用の鍵番号と暗号化された識別子とを含むアドバタイジングパケットを送信するステップと、を有し、
    前記アドバタイジングパケットには、前記アドバタイジングパケットを受信した受信機が、受信した前記アドバタイジングパケットをサーバに送信するべきか否かを判定するために用いられる判定情報が含まれ、
    前記判定情報は、BLEで規定される企業ID、又は、前記鍵番号を所定の計算式に代入することで出力される値である、
    送信方法。
  8. コンピューターを、請求項1乃至のいずれか一項に記載の送信機の各手段として機能させるプログラム。
JP2016170124A 2016-08-31 2016-08-31 送信機、通信システム、送信方法及びプログラム Active JP6697355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016170124A JP6697355B2 (ja) 2016-08-31 2016-08-31 送信機、通信システム、送信方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016170124A JP6697355B2 (ja) 2016-08-31 2016-08-31 送信機、通信システム、送信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018037898A JP2018037898A (ja) 2018-03-08
JP6697355B2 true JP6697355B2 (ja) 2020-05-20

Family

ID=61566163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016170124A Active JP6697355B2 (ja) 2016-08-31 2016-08-31 送信機、通信システム、送信方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6697355B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401426B (zh) * 2021-12-31 2023-05-05 珠海迈科智能科技股份有限公司 一种动态密钥的生成方法及其系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2689383B2 (ja) * 1988-02-18 1997-12-10 株式会社 日立製作所 暗号化通信システム
JP2003101528A (ja) * 2001-09-19 2003-04-04 Nagano Fujitsu Component Kk 暗号化データ送受信方法及びその方法を行うためのシステム、送信機
JP4153375B2 (ja) * 2003-06-19 2008-09-24 日本電信電話株式会社 共通鍵同期方法および共通鍵同期装置
JP2006019975A (ja) * 2004-06-30 2006-01-19 Matsushita Electric Ind Co Ltd 暗号パケット通信システム、これに備えられる受信装置、送信装置、及びこれらに適用される暗号パケット通信方法、受信方法、送信方法、受信プログラム、送信プログラム
KR20160057442A (ko) * 2013-09-17 2016-05-23 퀄컴 인코포레이티드 검출능력 및 보안의 개선을 위한 통지 패킷들의 인터리빙
JP2015220630A (ja) * 2014-05-19 2015-12-07 アプリックスIpホールディングス株式会社 無線通信システム、ビーコン装置及び無線通信方法
US20160048827A1 (en) * 2014-08-18 2016-02-18 Doorga Inc. Method, system, and device for enabling micro-proximity location, detection and services
KR102349605B1 (ko) * 2014-11-17 2022-01-11 삼성전자 주식회사 사용자 기기의 식별자에 기반하여 서비스를 제공하는 방법 및 장치
JP2016116130A (ja) * 2014-12-16 2016-06-23 株式会社電通国際情報サービス 送受信システム

Also Published As

Publication number Publication date
JP2018037898A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
US11575660B2 (en) End-to-end encryption for personal communication nodes
CN109995513B (zh) 一种低延迟的量子密钥移动服务方法
CN104221412B (zh) 安全通信系统和方法
CN112398651B (zh) 一种量子保密通信方法、装置、电子设备以及存储介质
Boakye-Boateng et al. Encryption protocol for resource-constrained devices in fog-based IoT using one-time pads
CN105164968A (zh) 由至少一个服务器执行的用于处理从第一计算装置到第二计算装置的数据分组以允许端到端加密通信的方法
CN102131188A (zh) 用户身份信息传输的方法、用户设备、网络侧设备及系统
US8014523B2 (en) Key management
CN102057615A (zh) 通过串接与安全关联相关联的多个连接分组减小加密开销的系统和方法
CN111192050B (zh) 一种数字资产私钥存储提取方法及装置
JP6697355B2 (ja) 送信機、通信システム、送信方法及びプログラム
WO2018213875A1 (en) Asymmetric cryptography and authentication
CN110495153A (zh) 在预关联的状态中加密数据
JP2017147507A (ja) 識別情報伝送システムおよび識別情報復号方法
JP5361970B2 (ja) 通信システム、第一通信装置、第二通信装置、暗号化通信方法及びプログラム
Liao et al. A location-dependent data encryption approach for enhancing mobile information system security
CN105704122B (zh) 一种路由加密系统
JP2007507146A (ja) データ暗号化方法及び装置
US11943367B1 (en) Generic cryptography wrapper
JP6161392B2 (ja) 認証システム及び認証方法
WO2017059282A1 (en) System and method for privacy enabled discovery of wireless devices and their location
WO2019028780A1 (zh) 数据处理方法及装置
KR20210056817A (ko) IoT 디바이스 통신시 데이터 보안 및 HMAC 인증 방법
AU2011232817A1 (en) Method and device for data encryption and decryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200424

R150 Certificate of patent or registration of utility model

Ref document number: 6697355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250