(58)【調査した分野】(Int.Cl.,DB名)
携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムであって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、
前記1以上の無線装置が、訪問確認サービスが利用可能であることを通知するサービス通知を送信し、
前記携帯端末装置が、前記サービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信し、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信し、
前記携帯端末装置が、前記タスク通知に基づいてタスクを実行し、
前記携帯端末装置が、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信し、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記タスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信し、
前記携帯端末装置が、前記解答要求を受信すると、前記タスクの解答を含む解答通知を送信し、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置から送信された解答通知を受信し、
前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する、
システム。
前記訪問確認要求の正当性を判定することは、時間的密度正当性判定のための所定時間内に前記1以上の無線装置によって受信された前記ユーザ識別子に紐付けられたトークンを含むタスク完了通知の数が所定の範囲内であるか否かにも基づいて行われる、
請求項1に記載のシステム。
前記訪問確認要求の正当性を判定することは、前記1以上の無線装置のうち、前記ユーザ識別子に紐付けられたトークンを含むタスク完了通知を受信した無線装置が空間的密度正当性判定のための所定期間内に受信したタスク完了通知の数が、空間的密度上限値を超えないか否かにも基づいて行われる、
請求項1または2に記載のシステム。
携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムのための一組のプログラムであって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、前記一組のプログラムは、
前記1以上の無線装置に、訪問確認サービスが利用可能であることを通知するサービス通知を送信する段階と、
前記携帯端末装置に、前記サービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置に、前記訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する段階と、
前記携帯端末装置に、前記タスク通知に基づいてタスクを実行する段階と、
前記携帯端末装置に、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置に、前記タスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信する段階と、
前記携帯端末装置に、前記解答要求を受信すると、前記タスクの解答を含む解答通知を送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置に、前記携帯端末装置から送信された解答通知を受信する段階と、
前記制御装置に、前記解答通知に基づいて前記訪問確認要求の正当性を判定する段階と、
を実行させる一組のプログラム。
携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムによって実行される方法であって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、前記方法は、
前記1以上の無線装置が、訪問確認サービスが利用可能であることを通知するサービス通知を送信する段階と、
前記携帯端末装置が、前記サービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する段階と、
前記携帯端末装置が、前記タスク通知に基づいてタスクを実行する段階と、
前記携帯端末装置が、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記タスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信する段階と、
前記携帯端末装置が、前記解答要求を受信すると、前記タスクの解答を含む解答通知を送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置から送信された解答通知を受信する段階と、
前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する段階と、
を含む方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
所定の場所を訪れたユーザに対して店舗やゲーム等の特典を与えるチェックインサービスを提供する際に、GPSを用いてユーザ等の位置を特定するシステムを採用した場合、悪意のある者が位置情報を改竄することによって、実際には所定の場所を訪れていないにもかかわらず、そこを訪れたと偽って特典を不正に取得されるおそれがある。
【0005】
近距離型の無線通信(NFC(Near Field Radio Communication))を用いて、所定の場所にユーザが訪問したことを検知することも可能である。NFCは、偽造防止や暗号化のための仕組みが設計当初から組み込まれており、NFCを搭載する携帯端末装置と、NFCリーダとの間においてセキュアな通信セッションをアドホックに確立する。これにより、ペアリング等の追加処理なくNFCリーダに携帯端末を近づけるだけで、所定位置でのチェックインを実行する機能を容易に実現することができる。しかし、NFCの通信可能範囲は10cm程度以下と狭く、また、指向性も比較的強いため、NFCリーダに携帯端末をかざす必要がある。そのため、ある特定のエリアに集まった大量のユーザ群を、同時にチェックインさせることはできない。
【0006】
大量のユーザ群を同時にチェックインさせる方式としては、BLE(Bluetooth(登録商標) Low Energy)ビーコンや2次元コードを用いる方式が考えられる。BLEビーコンを用いた方式においては、BLEビーコンと呼ばれる超小型デバイスが、UUIDやURLを埋め込んだBLEのアドバタイジングパケットを周囲にブロードキャストし、これを受信した携帯端末装置に現在位置に応じた動作を取らせることが可能である。しかしながら、この方式では、不正なアプリケーションを用いてビーコンを受信することができ、そのビーコンをネットワーク上に転送するスニッフィングにより、1台のデバイスが複数のデバイスの代理を行い、遠隔地に存在するユーザのための認証を得ることができる。
【0007】
また、2次元コードは、例えば代表的な2次元コードであるQRコード(登録商標)であれば、バイナリで最大2,953バイトまでを、印刷物の上にエンコードすることができるため、ネットワーク識別子となるURLなどを格納し、チェックインのためのエントリーポイントとすることができる。しかしながら、2次元コードは、単純な印刷物であるため、カメラで撮影し、画像として保存するだけで、容易に複製可能である。したがって、ネットワーク上に2次元コードが不正に流通することを防止することはできない。
【0008】
このように、不正を防止する耐タンパ性を有しつつ、大量のユーザの所定の場所への訪問を同時に確認できるスケーラビリティを有するチェックインサービスを提供するためシステムは実現されていない。
【課題を解決するための手段】
【0009】
本発明は上記の課題に鑑みてなされたものであり、以下のような特徴を有している。すなわち、本発明の一実施態様におけるシステムは、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムであって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、前記1以上の無線装置が、訪問確認サービスが利用可能であることを通知するサービス通知を送信し、前記携帯端末装置が、前記サービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信し、前記携帯端末装置が、前記タスク通知に基づいてタスクを実行し、前記携帯端末装置が、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記タスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信し、前記携帯端末装置が、前記解答要求を受信すると、前記タスクの解答を含む解答通知を送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置から送信された解答通知を受信し、前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する。
【0010】
前記訪問確認要求の正当性を判定することは、時間的密度正当性判定のための所定時間内に前記1以上の無線装置によって受信された前記ユーザ識別子に紐付けられたトークンを含むタスク完了通知の数が所定の範囲内であるか否かにも基づいて行われてもよい。
【0011】
前記訪問確認要求の正当性を判定することは、前記1以上の無線装置のうち、前記ユーザ識別子に紐付けられたトークンを含むタスク完了通知を受信した無線装置が空間的密度正当性判定のための所定期間内に受信したタスク完了通知の数が、空間的密度上限値を超えないか否かにも基づいて行われてもよい。
【0012】
前記タスクを前記トークンに紐付けられた合成数の素因数分解とすることができ、前記解答通知は、前記合成数の素因数分解の実行によって得られた素数を含むこともできる。
【0013】
本発明の一実施態様におけるサーバは、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるサーバであって、当該サーバは制御装置及び1以上の無線装置を含み、前記1以上の無線装置が、訪問確認サービスが利用可能であることを通知するサービス通知を送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置が、携帯端末装置から送信されたユーザ識別子を含む訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置からタスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置から送信された解答通知を受信し、前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する。
【0014】
本発明の一実施態様における携帯端末装置は、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用される携帯端末装置であって、1以上の無線装置から送信されたサービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信し、前記1以上の無線装置のうちの少なくとも1つの無線装置から受信された、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知に基づいてタスクを実行し、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信し、前記携帯端末装置が、前記1以上の無線装置のうちの少なくとも1つの無線装置から解答要求を受信すると、タスクの解答を含む解答通知を送信する。
【0015】
また、本発明の一つの実施態様における一組のプログラムは、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムのための一組のプログラムであって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、前記一組のプログラムは、前記1以上の無線装置に、訪問確認サービスが利用可能であることを通知するサービス通知を送信する段階と、前記携帯端末装置に、前記サービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置に、前記訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する段階と、前記携帯端末装置に、前記タスク通知に基づいてタスクを実行する段階と、前記携帯端末装置に、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置に、前記タスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信する段階と、前記携帯端末装置に、前記解答要求を受信すると、前記タスクの解答を含む解答通知を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置に、前記携帯端末装置から送信された解答通知を受信する段階と、前記制御装置に、前記解答通知に基づいて前記訪問確認要求の正当性を判定する段階と、を実行させる。
【0016】
また、本発明の一実施態様におけるプログラムは、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるプログラムであって、前記プログラムは、制御装置及び1以上の無線装置を含むサーバに、訪問確認サービスが利用可能であることを通知するサービス通知を送信する段階と、携帯端末装置から送信されたユーザ識別子を含む訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置が、タスクの出力である解答を要求する解答要求を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置からタスク完了通知が繰り返し送信されたことを確認すると、前記携帯端末装置から送信された解答通知を受信する段階と、前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する段階と、を実行させる。
【0017】
本発明の一実施態様におけるプログラムは、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるプログラムであって、前記プログラムは携帯端末装置に、1以上の無線装置から送信されたサービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置から受信された、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知に基づいてタスクを実行する段階と、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信する段階と、前記携帯端末装置が、前記1以上の無線装置のうちの少なくとも1つの無線装置から解答要求を受信すると、タスクの解答を含む解答通知を送信する段階と、を実行させる。
【0018】
本発明の一つの実施態様における方法は、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムによって実行される方法であって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、前記方法は、前記1以上の無線装置が、訪問確認サービスが利用可能であることを通知するサービス通知を送信する段階と、前記携帯端末装置が、前記サービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信する段階と、
前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する段階と、前記携帯端末装置が、前記タスク通知に基づいてタスクを実行する段階と、前記携帯端末装置が、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記タスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信する段階と、前記携帯端末装置が、前記解答要求を受信すると、前記タスクの解答を含む解答通知を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置から送信された解答通知を受信する段階と、前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する段階と、を含む。
【0019】
また、本発明の一つの実施態様における方法は、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用され、制御装置と1以上の無線装置を備えるサーバによって実行される方法であって、訪問確認サービスが利用可能であることを通知するサービス通知を送信する段階と、携帯端末装置から送信されたユーザ識別子を含む訪問確認要求を受信し、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置からタスク完了通知が繰り返し送信されたことを確認すると、タスクの出力である解答を要求する解答要求を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置が、前記携帯端末装置から送信された解答通知を受信する段階と、前記制御装置が、前記解答通知に基づいて前記訪問確認要求の正当性を判定する段階と、を含む。
【0020】
本発明の一つの実施態様における方法は、携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用される携帯端末装置によって実行される方法であって、サーバに含まれる1以上の無線装置から送信されたサービス通知を受信すると、当該携帯端末装置のユーザを識別するユーザ識別子を含む訪問確認要求を送信する段階と、前記1以上の無線装置のうちの少なくとも1つの無線装置から受信された、前記ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知に基づいてタスクを実行する段階と、前記タスクを完了すると、前記トークンを含むタスク完了通知を繰り返し送信する段階と、前記携帯端末装置が、前記1以上の無線装置のうちの少なくとも1つの無線装置から解答要求を受信すると、タスクの解答を含む解答通知を送信する段階と、を含む。
【発明の効果】
【0021】
本発明によれば、悪意のある利用者が不正に認証を得ることを防止しつつ、大量のユーザが所定の場所を訪問したことを実質的に同時に確認可能な訪問確認システムを実現することができる。
【発明を実施するための形態】
【0023】
以下、図面を参照して、本発明の一つの実施形態を説明する。本実施形態に係る訪問確認システム100は、
図1に示すように、サーバ101と1以上の携帯端末装置104とを備えるシステムによって実現することができる。サーバ101は制御装置102と1以上の無線装置103を含む。サーバ101は無線装置103を介して携帯端末装置104と無線通信を行うことができる。
【0024】
本実施形態におけるサーバ101は、携帯端末装置104のユーザからの訪問確認要求を受け付けて、正当であるか否かを判定する装置であり、
図2に示すように、制御装置102及び1つ以上の無線装置103を備える。制御装置102は、処理装置201、表示装置202、入力装置203、記憶装置204、通信装置205及びバス210を備える。記憶装置204はサーバ用プログラム206を格納する。通信装置205は1以上の無線装置103と接続される。通信装置205と無線装置103との間の接続はいかなる形態であってもかまわない。例えば、有線LANや無線LANによって接続することができる。無線装置103は携帯端末装置104と無線接続することができる。本実施形態においては、通信方式はBLE(Bluetooth(登録商標) Low Energy)とするが、その他の方式であってもかまわない。
【0025】
処理装置201は、プログラム206、入力装置203からの入力データまたは通信装置205を介して無線装置103から受信したデータ等に基づいて、各種の処理を行う。処理装置201は、サーバ101が備える各装置を制御するプロセッサを備えており、プロセッサが含むレジスタや記憶装置204をワーク領域として各種処理を行う。これらの各構成部はバス210によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。表示装置(ディスプレイ)202は、処理装置201の制御に従って管理用アプリケーション画面等を表示する。
【0026】
本実施形態におけるサーバ101は、例えば、インターネットに接続されたサーバコンピュータとインターネットを介してサーバコンピュータに接続されたBLEサーバによって実現することができる。サーバコンピュータが処理装置201として動作し、BLEサーバが無線装置103として動作する。BLEサーバは、Centralモード及びScanningモードのBLEの2系統のBLEチップを搭載することで無線装置103を実現してもよい。さらに、BLEサーバの処理装置が、サーバコンピュータの処理装置と協働して、サーバ101の処理装置201を実現してもよい。
【0027】
本実施形態における携帯端末装置104は、無線通信によって訪問確認要求をサーバ101へ送信して、オンラインゲーム等のアカウントとその所定の場所を訪問したユーザとの紐付けを行うチェックインを行うための装置である。携帯端末装置104は、例えば、携帯電話機、スマートフォン、タブレット端末、携帯ゲーム機等の携帯型装置とすることができる。携帯端末装置104は、
図3に示すように、処理装置301、表示装置302、入力装置303、記憶装置304、通信装置305及びバス310を備える。記憶装置304は携帯端末用プログラム306を格納する。
【0028】
処理装置301は、プログラム306、入力装置303からの入力データまたは通信装置305から受信したデータ等に基づいて、訪問確認用アプリケーションやウェブブラウザ等のアプリケーションの実行、画像処理などの各種の処理を行う。処理装置301は、携帯端末装置104が備える各装置を制御するプロセッサを備えており、プロセッサが含むレジスタや記憶装置304をワーク領域として各種処理を行う。これらの各構成部はバス310によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【0029】
記憶装置204及び304は、ハードディスク、メインメモリ、及びバッファメモリを含む。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージまたは不揮発性メモリであってもよく、着脱可能なものであってもかまわない。記憶装置204及び304には、プログラム206及び306やこれらのプログラムの実行に伴って参照されうる各種のデータが記憶される。
【0030】
図4は本発明のサーバ101の機能ブロック図の一例を示す。サーバ101は、サーバ制御部401、サーバ表示部402、サーバ入力部403、サーバ記憶部404及び1つ以上の無線部408を備える。
【0031】
サーバ表示部402はサーバのユーザに提示するために情報を表示する。サーバ入力部403はユーザからの入力を受け付ける。サーバ記憶部404は、サーバ制御部401によって実行される情報処理に必要な情報を格納する。サーバ制御部401は、DB1(405)及びDB2(406)を備える。DB1は訪問確認要求を送信した携帯端末装置104のユーザを識別するユーザ識別子をトークンとタスクに紐付けて記憶する。トークンは当該ユーザIDに訪問確認要求が正当であるかを判定するために一時的に割り当てられた識別子であり、タスクは訪問確認要求の正当性を確認するために携帯端末装置104に与えられるものである。制御部401は1以上の無線部408を介して、訪問確認サービスが利用可能であることを通知するサービス通知を送信し、携帯端末装置104から送信されるユーザ識別子を含む訪問確認要求を受信し、当該ユーザ識別子に紐付けられたトークン及びタスクを通知するタスク通知を送信する。制御部401は、少なくとも1つの無線部408を介してタスクを完了した携帯端末装置104から繰り返しタスク完了通知を受信すると、無線部408からタスクの出力である解答を要求する解答要求を送信し、携帯端末装置104から送信された解答通知を受信し、解答通知に基づいて訪問確認要求の正当性を判定する。
【0032】
本実施形態においてサーバ制御部401は、
図2に記載されたハードウェア構成に含まれるサーバ用プログラム206が処理装置201によって実行されることにより実現されるが、集積回路等を用意することによっても実現できる。また、サーバ表示部402、サーバ入力部403、サーバ記憶部404及び無線部408はそれぞれ
図2に記載した表示装置202、入力装置203、記憶装置204及び無線装置103の各ハードウェアによって実現されるが、サーバ用プログラム206が処理装置201等によって実行され、各ハードウェアと協働することによって実現されてもよい。
【0033】
図5は本発明の携帯端末装置104の機能ブロック図の一例を示す。携帯端末装置104は、携帯端末制御部501、携帯端末表示部502、携帯端末入力部503、携帯端末記憶部504及び携帯端末通信部505を備える。携帯端末表示部502はユーザに提示するための情報を表示する。携帯端末入力部503はユーザからの入力を受け付ける。携帯端末記憶部504は携帯端末制御部501によって実行される情報処理に必要な情報を格納する。
【0034】
携帯端末の制御部501は、携帯端末通信部505を介して、サーバ101から送信された訪問確認サービスが利用可能であることを通知するサービス通知を受信し、携帯端末装置104のユーザを識別するユーザ識別子を含む訪問確認要求を送信し、これに応答してサーバ101から送信されたトークンを含むタスク通知を受信する。さらに、制御部501は、受信したタスク通知に基づいてタスクを実行し、タスクが完了すると、通信部505を介してトークンを含むタスク完了通知を繰り返し送信する。その後、制御部501は通信部505を介して、タスクの出力である解答を要求する解答要求をサーバ101から受信すると、タスクの解答を含む解答通知を送信する。
【0035】
本実施形態において携帯端末制御部501は、
図3に記載されたハードウェア構成に含まれる携帯端末用プログラム306が処理装置301によって実行されることにより実現されるが、集積回路等を用意することによっても実現できる。また、携帯端末表示部502、携帯端末入力部503、携帯端末記憶部504及び携帯端末通信部505はそれぞれ
図3に記載した表示装置302、入力装置303、記憶装置304及び通信装置305の各ハードウェアによって実現されるが、プログラム306が処理装置301等によって実行され、各ハードウェアと協働することによって実現されてもよい。
【0036】
次に、本実施形態におけるサーバ101及び携帯端末装置104の動作のフローチャートを
図6に示した。本実施形態においては、携帯端末装置104であるスマートフォンのユーザが所定の場所を訪問したことを判定し、オンラインゲームにおけるアイテム等の特典を付与する場合を例にとって説明する。本実施形態においては、訪問確認が正当であると判定されたユーザ、すなわち実際に所定の場所を訪問したと認証されたユーザとオンラインゲームのアカウントとを紐付ける「チェックイン」を行い、チェックインがなされたアカウントに対して特典が付与される。
【0037】
所定の場所は狭い空間に限定されず、例えば、オンラインゲームに関連するイベントを行っている広いイベント会場とすることができる。ユーザは、イベント会場を実際に訪れ、訪問確認用アプリケーションで訪問確認要求を行って認証がなされると、実際にその場所を訪問したとみなされて、このユーザのゲームアカウントに対して特典が配布される。
【0038】
本実施形態において、サーバ101の無線装置103が所定の場所である会場に設置される。ここでは、無線装置103としてBLEサーバの無線装置を用い、無線部408を実現する。BLEサーバは、会場全体をカバーできるように例えば数メートル間隔で設置される。BLEサーバは、Peripheralモード(アドバタイジングモード)のBLEと、Centralモード(Scanningモード)のBLEの2系統のBLEチップを搭載し、有線または無線LANを経由して、制御装置102に接続され、全体としてサーバ101を実現する。本実施形態においては、広いイベント会場を想定し、複数の無線装置103を設置するものとしたが、十分に狭いイベント会場であれば無線装置103は1つであってもよいし、広いイベント会場であったとしても、1つの無線装置でカバーできる範囲を訪問することを要求することで、本発明を実現することができる。
【0039】
本実施形態におけるシステムが起動されると、まず、サーバ101の無線部408は、訪問確認サービスが利用可能であることを通知するサービスのアドバタイズ(サービス通知の送信)を継続的に行う(S601)。本実施形態においては無線部408を実現するBLEサーバがPeripheralモードで起動し、固定UUIDでサービスをアドバタイズする。当該UUIDは訪問確認サービスが利用可能であることを示すものであるため、すべてのBLEサーバで共通のUUIDを使用してサービスのアドバタイズを行う。BLEのアドバタイジングパケットは、20ms毎にブロードキャストされる。
【0040】
ユーザは携帯端末用プログラム306として訪問確認用アプリケーションを携帯端末装置104にダウンロードしてインストールした後、会場を訪れて訪問確認用アプリケーションを起動すると、携帯端末装置104がサービスのアドバタイズメントを受信する(S602)。訪問確認用アプリケーションをダウンロードせずに、訪問確認用ウェブページにアクセスして、当該ウェブページを携帯端末装置104で表示して、当該ウェブページを介してBLE通信を行うこともできる。携帯端末装置104は、サービスのアドバタイズメントの受信により訪問確認サービスが利用可能な領域にいると判定し、チェックインを受けるために、訪問確認要求処理を開始する。この際、サービスのアドバタイズメントを受信したら自動的に、処理を開始してもよいし、訪問確認サービスが利用可能であることを表示部502を介してユーザに提示し、ユーザの開始指示を入力部503から受け付けてから、開始してもよい。携帯端末装置104がユーザIDを含む訪問確認要求をサーバ101へ送信する(S603)。ユーザIDは当該携帯端末装置104のユーザに固有の識別子である。
【0041】
本実施形態において、携帯端末装置104はBLE通信機能を有し、まず、CentralモードでBLEを起動する。そして、無線部408が固定UUIDでアドバタイズするサービスのアドバタイズメントを受信してサービスを発見すると、訪問確認要求処理を開始するために、BLEにおける一般的な接続処理を行い、無線部408を介したサーバ101とのコネクションを確立する。その後、携帯端末装置104は、ユーザIDを含む訪問確認要求を無線部408へ送信する。無線部408が受け付ける同時コネクション数を制限するために、一定数以上のコネクションが成立した場合は、サービスのアドバタイジングパケットの送出を停止してよい。
【0042】
サーバ101の無線部408が訪問確認要求を受信すると(S604)、サーバ101の制御部401はトークン及びタスクを生成し、当該トークン及びタスク情報をタスク通知に含めて無線部408を介して送信してコネクションを終了する(S605)。タスク情報は、携帯端末装置104において実行されるべきタスクを示すものである。タスク実行前にコネクションを切断することにより、一度に大量の訪問確認要求が発生した場合においても、特定の携帯端末装置が無線リソース(BLE接続)を継続的に占有し続けることがなくなるため、自動的かつ強制的な負荷分散が実現される。
【0043】
トークンは、訪問確認要求を送信してきたユーザを識別する一時的なIDであり、ユーザIDと紐付けられる。本実施形態においては、トークンをタスク通知におけるUUIDとして送信する。本実施形態においてタスクは、与えられた合成数を素因数分解し、得られた素数の組を解答として送信することである。ここでは、タスク情報は素因数分解するための合成数である。合成数は、2以上の素数の積で表すことのできる正の整数である。サーバ101は訪問確認要求を受信するとタスクである素因数分解の対象となる合成数を生成し、無線部408を介して生成された合成数をタスク情報としてタスク通知に含めて携帯端末装置104へ送信する。
【0044】
タスクは、素因数分解に限らず、解答の生成に携帯端末装置の多くのリソースを使用し、一定以上の時間を要するものであればどのようなものであってもよい。例えば、素因数分解に代えて、固有値分解や暗号学的ハッシュ関数を用いて生成したハッシュ値から元になった値を逆生成する問題とすることもできるし、複数種類のタスクから選択的に与えられたり、組み合わせて与えられたりすることもできる。素因数分解をタスクとした場合、合成数は、記憶部に格納した素数のリストから2以上の素数を選択して乗算することで容易に生成できる。また、素数を大きくすればするほど素因数分解には時間を要するから、携帯端末装置が費やすべき時間に基づいて合成数を決定することができる。暗号学的ハッシュ関数を用いて生成したハッシュ値から元になった値を逆生成する問題は、例えば、ハッシュ関数のSHA1に文字列(例えば、"The quick brown fox jumps over the lazy dog")を入力して計算されたハッシュ値(例えば、"2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12")から、元の文字列("The quick brown fox jumps over the lazy dog")を復元するタスクである。
【0045】
制御部401はユーザIDをトークン及びタスクと紐付けてデータベースDB1(405)に格納する(S606)。本実施形態におけるDB1に格納するデータのデータ構造Pは次のとおりである。
【数1】
【0046】
UserIDはユーザIDであり、UUIDはユーザIDに紐付けられたトークン、Taskは携帯端末装置104において実行されるべきタスクであり、本実施形態においては合成数である。TimestampはユーザIDとUUID(トークン)との紐付けが行われた時間を示すタイムスタンプ、Valid_Untilは紐付けの有効期限を示す。この有効期限をトークンの有効期限または訪問確認要求の有効期限とすることができる。DB1は、サーバ101が新たなトークンの紐付けを行うたびに、ユーザIDとUUIDとを紐付けて格納する。また、訪問確認要求の正当性判定処理が終了した場合や紐付けの有効期限を過ぎた場合等、データを保持する必要がなくなったときに、紐付けの解除、すなわち、データの削除を行う。
【0047】
携帯端末装置104は、タスク通知を受信すると(S607)、タスク通知に含まれるタスク情報に基づいてタスクを実行する(S608)。本実施形態においては、タスク情報として与えられた合成数を素因数分解するというタスクを実行する。大きな整数の素因数分解には高速な解法が存在せず、素数一つずつで割り切れるかを試み続ける必要があるため、携帯端末装置104が次の処理に移行するために強制的な待ち時間を与えることになる。これにより、一つの携帯端末装置104を使用して、複数のアカウントのための訪問確認処理を同時並行的に実行する不正行為を防止することを可能とする。本実施形態においては、携帯端末装置104は記憶部504に素数リストを記憶し、ここから一つずつ読み出した素数で合成数を除算することで、素因数分解を実行する。
【0048】
携帯端末装置104が素因数分解を完了すると、携帯端末装置104はPeripheralモードへ移行し、タスク通知に含まれたトークンをUUIDとしたアドバタイジングパケットによってタスク完了通知を繰り返し送信する(S609)。BLEのアドバタイジングパケットは、20ms毎にブロードキャストされる。タスク完了通知の送信をブロードキャストとすることにより、不特定の無線部408がこれを受信することを可能とする。ユーザはチェックイン処理を携帯端末装置104に実行させつつ、会場内を移動することが想定される。したがって、タスク完了通知を送信する際には、携帯端末装置104が受信したサービスのアドバタイズメントを送信した無線部408のカバレッジを離れて、他の無線部408のカバレッジ内に移動している場合がある。タスク完了通知がブロードキャストされれば、タスク完了通知をいずれかの無線部408が受信できればよいから、ユーザの移動を許容する、より利便性の高いシステムを提供することが可能となる。
【0049】
サーバ101の複数の無線部408のうちの少なくとも一つが、タスク完了通知を繰り返し受信する(S610)。制御部401は、DB1を参照して、タスク完了通知に含まれるトークンに紐付いたユーザIDを特定し、特定されたユーザIDに紐付けて、当該トークン、トークンの受信時間、トークンを受信した無線部408(BLEサーバ)のIDをDB2にタスク完了通知履歴情報格納する(S611)。本実施形態における、DB2に格納されるタスク完了通知履歴情報Rのデータ構造は次のとおりである。
【数2】
【0050】
ここで、UserIDは訪問確認要求を行っているユーザのユーザID、UUIDはユーザIDに紐付けられたトークン、Timestampは完了通知であるアドバタイジングパケットを受信した時刻を示すタイムスタンプ、BLE_Serverは当該アドバタイジングパケットを受信した無線部408を実現するBLEサーバのIDである。
【0051】
一定期間、タスク完了通知が繰り返し受信されると、サーバ101はタスクの出力である解答を要求する解答要求を送信する(S612)。本実施形態においては、5分間、20ms間隔でタスク完了通知がアドバタイズされる。携帯端末装置104に一定期間、タスク完了通知を繰り返し送信させることにより、携帯端末装置104の無線リソースを消費させ、複数のチェックイン処理を同時並行的に実行することを防止することができる。
【0052】
タスク完了通知の受信は一定期間とせずに、所定回数受信された場合とすることもできる。また、タスク完了通知の受信時間または回数は、一つの無線部408によって受信されたタスク完了通知に限定してもよいし、すべての無線部408によって受信されたタスク完了通知を含めてもよい。すべての無線部408によって受信されたタスク完了通知を考慮する場合には、例えば、受信時間に基づいて、同じ時間に携帯端末装置104から送信されたタスク完了通知は1回の受信とすることが好ましい。タスク完了通知の送信中にユーザの移動を許容するためには、複数の無線部408によって受信されたタスク完了通知を考慮する態様とすることが好ましい。
【0053】
携帯端末装置104は、タスク解答要求を受信すると(S613)、タスクを実行して得られた解答、本実施形態においては、素因数分解によって得られた素数をタスク解答通知に含めて送信する(S614)。解答通知に含めて送信すべき解答は、タスクを実行したことを示すことできる情報であれば、どのようなものであってもよい。
【0054】
本実施形態においては、サーバ101の無線部408は、Peripheralモードで動作可能であるとともに、常時Centralモードで起動している。無線部408を介してサーバ101が携帯端末装置104がアドバタイズするサービスを発見すると、一定期間、タスク完了通知であるアドバタイジングパケットを受信する(S610)。一定期間過後、携帯端末装置104がアドバタイズを継続している場合は、通常のBLEコネクションとして、携帯端末装置104へ接続して、タスク解答要求を送信する(S612)。一定期間経過後とせず、一定回数繰り返し送信されていることが確認された後に、タスク回答要求を送信することとしてもよい。Peripheralモードの携帯端末装置104は、接続を受け付けてタスク解答要求を受信すると(S613)、接続先の無線部408を介して、計算した素因数分解結果を含んだタスク解答通知をサーバ101へ送信する(S614)。タスク解答通知はトークンをUUIDとして送信する。
【0055】
サーバ101は、タスク解答通知を受信すると(S615)、訪問確認要求の正当性判定処理を実行する(S616)。
【0056】
本実施形態における正当性判定処理のフローチャートを
図7に示した。サーバ101の制御部401は、まず、タスク解答通知に含まれる解答の数学的正当性を検証する(S701)。受信されたタスク解答通知に含まれたトークンに基づいて、当該トークンに紐付けられたユーザID及び合成数をDB1から読み出し、受信されたタスク解答通知に含まれた素因数分解結果である素数を乗算することにより得られた値と比較する。両者が一致した場合には数学的正当性ありと判定され、一致しない場合には数学的正当性なしと判定される。DB1に合成数ではなく、合成数を作成した素数を格納しておき、DB1に格納された素数とタスク解答通知に含まれる素数とを比較することによって、数学的正当性を検証してもよい。数学的正当性なしと判定された場合には、訪問確認要求は不当と判定されて(S702)、正当性判定処理は終了する。
【0057】
数学的正当性ありと判定された場合には、次にタスク完了通知の時間的密度の正当性を検証する(S703)。時間的密度とは、タスク完了通知の受信が、ある程度の間隔で行われていることを確認するものである。もし、時間的密度が有意に低い場合は、携帯端末装置104が複数の訪問確認要求処理を同時並行的に、不正に実行している可能性があるため、不正と判定する。サーバ101が所定の範囲内の時間的密度でタスク完了通知を受信した場合、時間的密度が正当なタスク完了通知であると判定する。時間的密度の正当性なしと判定された場合には、訪問確認要求は不当と判定されて(S702)、正当性判定処理は終了する。
【0058】
本実施形態においては、携帯端末装置104はタスク完了通知を5分間、20ms毎にブロードキャストする。すべての無線部408によって受信されたタスク完了通知の数が所定の範囲内にあるときに、サーバ101は、携帯端末装置104からのタスク完了通知は時間的密度が正当であると判定する。例えば、タスク完了通知の受信数が5分間に14000〜15000である場合には正当であるとする。タスク完了通知の受信数に所定の許容範囲を持たせることにより、無線通信の影響等によって、不正ではないにもかかわらずタスク完了通知がサーバ101において受信できなかった場合にもこれを許容して、正当な確認要求を不正と判定することを防止することを可能とする。
【0059】
本実施形態では、制御部401が解答通知に含まれるトークンに基づいてDB2(406)から当該トークンに紐付けられたタスク完了通知のTimestampをすべて読み出し、時間的密度の正当性を判定する。具体的には、最初に受信したタスク完了通知から5分間に受信されたタスク完了通知の数をカウントして、タスク完了通知の総数が14000〜15000である場合には正当であると判定する。
【0060】
さらに、タイムスタンプの間隔が所定の範囲の間隔でなければ不当と判定してもよい。例えば、タスク完了通知のTimestampから、タスク完了通知の受信間隔を算出し、すべての受信間隔が所定の範囲の間隔(例えば、15ms〜45ms)で送信されていない場合には、不当なタスク完了通知であると判定することもできる。これにより、タスク解答通知の必要数を短時間でバースト的に送信することで、一つの携帯端末装置によって同時並列的に複数のチェックイン処理を実行する不正行為を防止することができる。
【0061】
時間的密度が正当性ありと判定された場合には、さらに、空間的密度の正当性判定を行う(S704)。空間的密度とは、1つの無線部408が、ある単位時間内に受信するタスク完了通知の数を意味する。この空間的密度が、1つの無線部のカバレッジの広さやイベント会場への来場者数等との比較において過剰である場合は、1人が大量のデバイスを持ち込んでチェックインを試みる不正行為が行われている可能性があると判定する。
【0062】
本実施形態においては、制御部401がDB2(406)を参照し、当該タスク完了通知を受信した無線部408が所定の時間内に受信した、全てのトークンに紐付けられたタスク完了通知の数が空間的密度上限値以下であるか否かを判定し、上限値以下であれば空間的密度は正当であると判定し、上限値を超えている場合には不当であると判定し(S702)、正当性判定処理は終了する。数学的密度の正当性は、一つのUUIDに紐付けられたタスク完了通知について検証したが、空間的密度の正当性は他のUUIDを含むすべてのUUIDに紐付けられたタスク完了通知について検証する。
【0063】
例えば、本実施形態においては、無線装置は数メートル間隔で配置するから、一つの無線部408のカバレッジ(半径数メートル)に存在し得るユーザの数は20人を超えることはないと考えられる。そこで、タスク完了通知受信数のための空間的密度上限値を500×20人=10000/秒とすることができる。空間的密度の正当性は、タスク完了通知数に限らず、例えば、訪問確認要求やタスク解答通知の受信数に基づいて判定することもできる。本実施形態において、無線部408が受信したタスク完了通知は、DB2に格納されたタスク完了通知を無線部408の識別子(BLE_Server)でソートすることにより得られる。
【0064】
空間的密度の正当性ありと判定されると(S704)、訪問確認要求は正当であると判定されて(S705)、正当性判定処理が終了し、訪問確認要求処理も終了する。
【0065】
さらに、本実施形態においては、訪問確認要求が正当であると判定された場合には、サーバ101は、オンラインゲームのアカウントと会場を訪問したユーザとの紐付け(チェックイン)を実行し、オンラインゲームにおけるアカウントに当該オンラインゲーム内で利用可能な仮想アイテム等の特典を付与する処理を実行する。チェックインが正常に終了したことを通知する情報を携帯端末装置104へ送信してもよい。一方、訪問確認要求が不当であると判定されたときは、当該携帯端末装置104についての訪問確認要求処理はS605に戻り、新たなトークン及び合成数を割り当てて送信し、不正でないことが確定するまで繰り返しタスクの実行を要求する。他の実施形態においては、不正であると判定された場合には、携帯端末装置104へその旨を表示するための通知を送信して、訪問確認要求処理をいったん終了し、再度、初めから訪問確認要求処理を開始してもよい。
【0066】
本実施形態では、サーバ側の負荷を小さくすることができる一方で、1回の訪問確認要求処理に携帯端末装置側のCPU時間とBluetooth帯域を大きく消費するため、1デバイスが訪問確認要求の有効期間内に認証を得てチェックインできる回数を、改造されたプログラムを用いても1回程度に限定することができる。したがって、不正を行うためには、現地にアカウントの数分だけのBluetoothデバイスを用意するか、あるいは、不正を行うアカウントの数倍の時間だけ、現地に滞在し続ける必要があり、大規模な不正を効果的に防止することができる。
【0067】
本実施形態においては、数学的正当性、時間的密度正当性及び空間的密度正当性のすべてにおいて正当であると判定された場合に、訪問確認要求が正当であると判定される形態について説明した。時間的密度正当性判定により、携帯端末装置が並列して複数の訪問確認要求処理を実行していないことを確認し、さらに、空間的密度正当性判定により携帯端末装置の総量を確認することにより、一人が多数のデバイスを持ち込んでいないこと、ユーザの携帯端末装置が確かにその場に存在し、かつ、正当な挙動を行う正規のアプリケーションを利用した携帯端末装置であることを確認できる。
【0068】
他の実施形態として、S704を省略して、数学的正当性と時間的密度の正当性のみを判定する形態とすることもできる。BLEパケットを観測し、他のネットワークへリレーするスニファリングツールを用いて一つのBLEデバイスから複数のユーザが遠隔チェックインすることを防止することができる。また、更に他の実施形態として、S703を省略して、数学的正当性と空間的正当性のみを判定する形態とすることもできる。この場合には、小型デバイスを大量に持ち込む不正なチェックインを防止することができる。
【0069】
本実施形態においては、BLEサーバに含まれる無線装置で無線部408を実現するものとした。BLEサーバは無線部408の機能にとどまらず、制御部201の機能、例えば、タスク通知生成機能、DB1及びDB2への情報格納処理やタスク解答要求機能等を実現してもよい。各BLEサーバで実行可能な処理を各BLEサーバに実行させることにより負荷を分散することができる。
【0070】
以上に説明した処理または動作において、矛盾が生じない限りにおいて、処理または動作を自由に変更することができる。また以上に説明してきた各実施形態は、本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【解決手段】携帯端末装置のユーザが所定の場所を訪れたことを確認するために使用されるシステムであって、前記システムは携帯端末装置及びサーバを備え、当該サーバは制御装置及び1以上の無線装置を含み、1以上の無線装置がサービス通知を送信し、携帯端末装置が訪問確認要求を送信し、少なくとも1つの無線装置がタスク通知を送信し、携帯端末装置がタスク通知に基づいてタスクを実行し、タスク完了通知を繰り返し送信し、少なくとも1つの無線装置が解答要求を送信し、携帯端末装置が解答通知を送信し、少なくとも1つの無線装置が携帯端末装置から送信された解答通知を受信し、制御装置が解答通知に基づいて訪問確認要求の正当性を判定する、システム。