(57)【要約】【課題】自動販売機による商品の販売を遠隔管理できるようにする技術を提供する。【解決手段】本発明は、自動販売機に実装され、端末装置から送られてきた暗号化データに基づいて前記自動販売機のロックを解除するセンサユニット５００であって、公開鍵と秘密鍵を生成し、開錠コードを公開鍵により暗号化する暗号化処理部５０１ｄと、少なくともセンサＩＤとセンサの位置情報を含むセンサ情報を、ハッシュ関数によりハッシュ化し、ハッシュ値を出力するハッシュ生成部５０１ｅと、少なくとも公開鍵とハッシュ値を対応付けて記憶部５０３に記憶し管理する管理部５０１ｇと、端末装置から送られてきた暗号化データの成否を判定し、暗号化データが、暗号化処理部が生成する暗号化データと合致する場合には、自動販売機のロックを解除するロック解除部５０１ｆとを備える。【選択図】図１４
2020080139.tif 000002
【特許請求の範囲】
【請求項１】
端末装置が、自動販売機に付された二次元コードを撮像して販売機ＩＤを取得し、位置情報を取得し、前記販売機ＩＤと前記位置情報を第１サーバ装置に送信することで、前記自動販売機のロック解除に関わる暗号化データの取得を要求する第１のステップと、
第１サーバ装置が、前記販売機ＩＤと位置情報とが、記憶している情報に合致するかを判定し、合致する場合には、商品情報を前記端末装置に送信する第２のステップと、
第２のサーバ装置が、前記端末装置からの決済要求を受け、決済処理を実行し、決済トークンを前記第１サーバ装置に送信する第３のステップと、
第１サーバ装置が、前記決済トークンを受信し、センサ情報をハッシュ関数によりハッシュ化したハッシュ値を生成し、前記端末装置に送信する第４のステップと、
前記端末装置が、前記ハッシュ値により、ハッシュプールを実現する仮想サーバ装置群に対して検索要求を行う第５のステップと、
前記仮想サーバ装置群が、前記検索要求を受け、ハッシュ値の存在を確認し、存在する場合には、公開鍵を第３サーバ装置に送信する第６のステップと、
前記第３サーバ装置が、開錠コードを生成し、前記開錠コードを前記公開鍵により暗号化し、暗号化データを前記端末装置に送信する第７のステップと、
前記端末装置が、前記暗号化データを前記自動販売機のセンサユニットに送信することで、前記自動販売機のロック解除を要求する第８のステップと、
前記センサユニットが、前記暗号化データの成否を判断し、正しいと判断された場合には、前記自動販売機のロックを解除する第９のステップと、を有する
通信方法。
【請求項２】
前記第９のステップにおいて、前記センサユニットでは、開錠コードを生成し、前記開錠コードを暗号化し、暗号化データを、前記端末装置から送られてきた暗号化データと比較することで、暗号化データの成否を判断する
請求項１に記載の通信方法。
【請求項３】
前記開錠コードとは、変動数開錠コードである
請求項１又は請求項２に記載の通信方法。
【請求項４】
自動販売機に付された二次元コードを撮像して販売機ＩＤを取得し、撮像時の位置情報を取得し、前記販売機ＩＤと前記位置情報を第１サーバ装置に送信すると共に、第１サーバ装置より送られてきたハッシュ値によりハッシュプールを実現する仮想サーバ装置群に対して検索要求を行い、更には、第３サーバ装置から送られてきた暗号化データを前記自動販売機のセンサユニットに送信することで、前記自動販売機のロック解除を要求する端末装置と、
前記販売機ＩＤと位置情報とが、記憶している情報に合致するかを判定し、合致する場合には、商品情報を前記端末装置に送信すると共に、決済トークンを受信すると、記憶しているセンサ情報をハッシュ関数によりハッシュ化した前記ハッシュ値を生成し、前記端末装置に送信する第１サーバ装置と、
前記端末装置から前記ハッシュ値による検索要求を受けると、前記ハッシュ値の存在を確認し、存在する場合には公開鍵を第３サーバ装置に送信する仮想サーバ装置群と、
開錠コードを生成し、前記開錠コードを前記公開鍵により暗号化し、暗号化データを前記端末装置に送信する第３サーバ装置と、
前記公開鍵を生成して前記仮想サーバ装置群に送信すると共に、前記端末装置から前記暗号化データを受信すると前記暗号化データの成否を判断し、正しいと判断された場合には、前記自動販売機のロックを解除するセンサユニットと、を有する
通信システム。
【請求項５】
前記センサユニットでは、開錠コードを生成し、前記開錠コードを暗号化し、暗号化データを、前記端末装置から送られてきた暗号化データと比較することで、暗号化データの成否を判断する
請求項４に記載の通信システム。
【請求項６】
前記開錠コードとは、変動数開錠コードである
請求項４又は請求項５に記載の通信システム。
【請求項７】
自動販売機に実装され、端末装置から送られてきた暗号化データに基づいて前記自動販売機のロックを解除するセンサユニットであって、
公開鍵と秘密鍵を生成し、開錠コードを公開鍵により暗号化する暗号化処理部と、
少なくともセンサＩＤとセンサの位置情報を含むセンサ情報を、ハッシュ関数によりハッシュ化し、ハッシュ値を出力するハッシュ生成部と、
少なくとも前記暗号化処理部が生成した前記公開鍵と前記ハッシュ生成部が生成した前記ハッシュ値を対応付けて記憶部に記憶し管理する管理部と、
前記端末装置から送られてきた暗号化データの成否を判定し、前記暗号化データが、前記暗号化処理部が生成する暗号化データと合致する場合には、前記自動販売機のロックを解除するロック解除部と、を備えた
センサユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、およびセンサユニットに関する。
【背景技術】
【０００２】
インターネットなどの電気通信回線を利用したゲームの中には、特別なゲーム内アイテムやゲームキャラクタなどを得るための仕組みとして「ガチャ」と呼ばれる仕組みが採用されているものがある。「ガチャ」とは、硬貨を入れてハンドルひねると、玩具の入ったカプセルが出てくる自動販売機（所謂「ガチャガチャ」或いは「ガチャポン」：特許文献１参照）を模した仮想自動販売機である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１４８３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ガチャを利用したゲームでは、有料または無料で配布される仮想コインをガチャに投入することでアイテム等が得られる。この種のゲームにおいて有料のコインを購入することは課金と呼ばれる。有料のコインを必要とするガチャでは、一回数百円の課金で通常では得られない(或いは得難い)強力なアイテムや希少なキャラクタを入手することができる場合がある。このため、所望のアイテム等が得られるまで多額の課金を行い、その支払いに難儀するユーザもいる。これは、仮想自動販売機による商品販売に限らず、「ガチャガチャ」等を含む自動販売機による商品販売に共通の問題である。商品の売り手が買い手に直接応対する対面販売とは異なり、自動販売機による商品販売では売り手側が買い手に注意を促すことはできないからである。以下、本明細書では、「ガチャガチャ」などの実体のある自動販売機と仮想自動販売機の両方を含めて「自動販売機」と呼ぶ。
【０００５】
本発明は上述した事情に鑑みてなされたものであり、自動販売機による商品の販売を遠隔管理できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１態様に係る通信方法は、端末装置が、自動販売機に付された二次元コードを撮像して販売機ＩＤを取得し、位置情報を取得し、前記販売機ＩＤと前記位置情報を第１サーバ装置に送信することで、前記自動販売機のロック解除に関わる暗号化データの取得を要求する第１のステップと、第１サーバ装置が、前記販売機ＩＤと位置情報とが、記憶している情報に合致するかを判定し、合致する場合には、商品情報を前記端末装置に送信する第２のステップと、第２のサーバ装置が、前記端末装置からの決済要求を受け、決済処理を実行し、決済トークンを前記第１サーバ装置に送信する第３のステップと、第１サーバ装置が、前記決済トークンを受信し、センサ情報をハッシュ関数によりハッシュ化したハッシュ値を生成し、前記端末装置に送信する第４のステップと、前記端末装置が、前記ハッシュ値により、ハッシュプールを実現する仮想サーバ装置群に対して検索要求を行う第５のステップと、前記仮想サーバ装置群が、前記検索要求を受け、ハッシュ値の存在を確認し、存在する場合には、公開鍵を第３サーバ装置に送信する第６のステップと、前記第３サーバ装置が、開錠コードを生成し、前記開錠コードを前記公開鍵により暗号化し、暗号化データを前記端末装置に送信する第７のステップと、前記端末装置が、前記暗号化データを前記自動販売機のセンサユニットに送信することで、前記自動販売機のロック解除を要求する第８のステップと、前記センサユニットが、前記暗号化データの成否を判断し、正しいと判断された場合には、前記自動販売機のロックを解除する第９のステップと、を有する。
【０００７】
そして、本発明の第２態様に係る通信システムは、自動販売機に付された二次元コードを撮像して販売機ＩＤを取得し、撮像時の位置情報を取得し、前記販売機ＩＤと前記位置情報を第１サーバ装置に送信すると共に、第１サーバ装置より送られてきたハッシュ値によりハッシュプールを実現する仮想サーバ装置群に対して検索要求を行い、更には、第３サーバ装置から送られてきた暗号化データを前記自動販売機のセンサユニットに送信することで、前記自動販売機のロック解除を要求する端末装置と、前記販売機ＩＤと位置情報とが、記憶している情報に合致するかを判定し、合致する場合には、商品情報を前記端末装置に送信すると共に、決済トークンを受信すると、記憶しているセンサ情報をハッシュ関数によりハッシュ化した前記ハッシュ値を生成し、前記端末装置に送信する第１サーバ装置と、前記端末装置から前記ハッシュ値による検索要求を受けると、前記ハッシュ値の存在を確認し、存在する場合には公開鍵を第３サーバ装置に送信する仮想サーバ装置群と、開錠コードを生成し、前記開錠コードを前記公開鍵により暗号化し、暗号化データを前記端末装置に送信する第３サーバ装置と、前記公開鍵を生成して前記仮想サーバ装置群に送信すると共に、前記端末装置から前記暗号化データを受信すると前記暗号化データの成否を判断し、正しいと判断された場合には、前記自動販売機のロックを解除するセンサユニットとを有する。
【０００８】
さらに、本発明の第３態様に係るセンサユニットは、自動販売機に実装され、端末装置から送られてきた暗号化データに基づいて前記自動販売機のロックを解除するセンサユニットであって、公開鍵と秘密鍵を生成し、開錠コードを公開鍵により暗号化する暗号化処理部と、少なくともセンサＩＤとセンサの位置情報を含むセンサ情報を、ハッシュ関数によりハッシュ化し、ハッシュ値を出力するハッシュ生成部と、少なくとも前記暗号化処理部が生成した前記公開鍵と前記ハッシュ生成部が生成した前記ハッシュ値を対応付けて記憶部に記憶し管理する管理部と、前記端末装置から送られてきた暗号化データの成否を判定し、前記暗号化データが、前記暗号化処理部が生成する暗号化データと合致する場合には、前記自動販売機のロックを解除するロック解除部とを備える。
【発明の効果】
【０００９】
本発明によれば、自動販売機による商品の販売を遠隔管理できるようにする技術を提供することができる。特に、センサユニットは、ガチャ等の既存の自動販売機等に後付けで実装することが可能であり、その場合、既存の自動販売機等の販売を遠隔管理することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態による無線通信システム１の構成例を示すブロック図である。
【図２】無線通信端末１０と近距離無線通信する自動販売機３０の正面図である。
【図３】無線通信端末１０の構成例を示すブロック図である。
【図４】無線通信端末１０の表示部１１０ａに表示される画面Ｇ０１の一例を示す図である。
【図５】無線通信端末１０の表示部１１０ａに表示される検索結果画面Ｇ０２の一例を示す図である。
【図６】無線通信端末１０の表示部１１０ａに表示される決済手段選択画面Ｇ０３の一例を示す図である。
【図７】無線通信端末１０の制御部１００が購入支援プログラム１４４ａにしたがって実行するロック解除処理の流れを示すフローチャートである。
【図８】本発明の第２実施形態に係る通信システムの構成図である。
【図９】同システムよる処理手順を示す概念図である。
【図１０】第１サーバ装置の構成図である。
【図１１】第２サーバ装置の構成図である。
【図１２】第３サーバ装置の構成図である。
【図１３】端末装置の構成図である。
【図１４】センサユニットの構成図である。
【図１５】同システムによる処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ本発明の実施形態を説明する。
【００１２】
＜第１実施形態＞
【００１３】
図１は、本発明の第１実施形態による無線通信システム１の構成例を示すブロック図である。図１に示すように、無線通信システム１は、無線通信端末１０と、無線通信網２０に接続されたサーバ装置４０とを含む。図１では詳細な図示を省略したが、無線通信網２０には有線通信網が含まれ、サーバ装置４０は当該有線通信網に接続されている。
【００１４】
無線通信端末１０は例えばスマートフォンである。無線通信端末１０は無線通信網２０に収容され、所定の無線通信規格（本実施形態ではＷＩ−ＦＩ、但し、これには限定されない）にしたがって無線通信を行う。また、無線通信端末１０は、上記無線通信規格とは異なる無線通信規格にしたがって他の装置と近距離無線通信を行う機能を備えている。以下では、後者の無線通信規格を「第１の無線通信規格」と呼び、前者の無線通信規格を「第２の無線通信規格」と呼ぶ。前述したように第２の無線通信規格の具体例はＷＩ−ＦＩである。一方、第１の無線通信規格の具体例としては、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＩｒＤＡが挙げられる。本実施形態では、第１の無線通信規格としてＢｌｕｅｔｏｏｔｈ（登録商標）が採用されている。
【００１５】
図１における自動販売機３０は、前述した「ガチャガチャ」である。自動販売機３０は、第１の無線通信規格にしたがって無線通信端末１０と近距離無線通信を行う機能を備えている。図１では、自動販売機３０が１つだけ図示されているが、自動販売機３０の数は２以上であってもよい。図２は、自動販売機３０の正面図である。自動販売機３０では、商品代金の投入（本実施形態では、仮想コインの入力）が行われた後にハンドル３２が矢印方向に捻られると、玩具の入ったカプセルＣが取出し口３４から１つ出てくる。取出し口３４の近傍には、自動販売機３０を一意に示す識別子（例えば所定の文字数の英数文字よりなる文字列）に対応するマトリクス型二次元コードが印刷された印刷物３６が貼り付けられている。
【００１６】
自動販売機３０では、商品の販売禁止を解除するセキュリティコードを近距離無線通信により受信するまで商品の販売が禁止されたロック状態となっており、セキュリティコードを未受信の状態でハンドル３２が捻られてもカプセルＣは出てこない。セキュリティコードはサーバ装置４０によってランダムに生成される２５６バイトの１タイムデータである。サーバ装置４０は、自動販売機３０を一意に示す識別子を受信する毎に、その識別子に対応するセキュリティコードを発行し、当該識別子の送信元へ返信する。
【００１７】
サーバ装置４０は、図１に示すように、ユーザＤＢと自動販売機管理ＤＢとを有するコンピュータ装置であり、セキュリティコード発行および仮想コインの発行の他に、仮想コインの発行代金の決済（換言すれば、商品代金の決済）を行う。自動販売機管理ＤＢには、自動販売機３０の識別子に対応付けて、当該自動販売機３０の設置場所を示す位置情報（例えば、設置場所の緯度および経度を示す情報）、セキュリティコードを発行するための情報が格納されている。セキュリティコードを所定の疑似乱数発生アルゴリズムにしたがって生成する場合、セキュリティコードを発行するための情報の具体例としては当該アルゴリズムにおける初期値（所謂疑似乱数のシード）や直近に発行したセキュリティコードが挙げられる。
【００１８】
ユーザＤＢは、無線通信システム１を利用して自動販売機３０による商品の販売を解禁し、商品を購入しようとするユーザを管理するためのデータベースである。ユーザＤＢにはユーザを一意に示す識別子に対応付けて当該ユーザによる商品の購入履歴や商品代金の決済履歴を示す情報が格納されている。ユーザを一意に識別する識別子の具体例としては、無線通信システム１によるサービスの利用契約締結時にユーザに割り振られたユーザＩＤが挙げられる。
【００１９】
本実施形態における商品代金の決済には、ブロックチェーンと呼ばれる分散型台帳技術が利用されている。ブロックチェーンとは、ブロックと呼ばれる順序付けられたレコードの連続的に増加するリストを持つデータベースである。本実施形態では、ブロックチェーンにおける各ブロックが１つの決済に対応し、各ブロックには決済に関する情報と決済の実行された時刻を示すタイムスタンプと、一つ前のブロックへのリンクとが含まれている。
【００２０】
前述したように自動販売機３０の取出し口３４の近傍には、自動販売機３０の一意に示す識別子に対応するマトリクス型二次元コードの印刷された印刷物３６が貼り付けられている。無線通信端末１０のユーザは、無線通信端末１０を用いて上記マトリクス型二次元コードを読み取り、当該コードから得られた識別子をサーバ装置４０へ送信することで、自動販売機３０のロック状態を解除すること（すなわち、商品の販売を解禁すること）ができる。以下、自動販売機３０による商品の販売を解禁する際に中心的な役割を果たす無線通信端末１０について説明する。
【００２１】
図３は、無線通信端末１０の構成例を示すブロック図である。図３に示すように、無線通信端末１０は、制御部１００、ユーザインタフェース部１１０、第１無線通信部１２０、第２無線通信部１３０、記憶部１４０、およびこれら構成要素間のデータ授受を仲介するバス１５０を有する。なお、図３では、ユーザインタフェース部は「ＵＩ部」と略記されている。以下、本明細書においても同様に略記する。
【００２２】
制御部１００は、例えばＣＰＵ（Central Processing Unit）などのコンピュータである。制御部１００は、記憶部１４０（より正確には不揮発性記憶部１４４）に格納されているプログラムを実行し、無線通信端末１０の制御中枢として機能する。
【００２３】
ＵＩ部１１０は、無線通信端末１０をユーザに利用させるためのユーザインタフェースを提供する装置の集合体である。図１に示すように、ＵＩ部１１０は、表示部１１０ａ、操作部１１０ｂ、および撮像部１１０ｃを含む。ＵＩ部１１０は、これら各部の他にユーザの音声の収音および音声データの表す音声の出力を行う音声入出力部を含んでいるが、本発明との関連が薄いため音声入出力部の図示および詳細な説明は省略する。
【００２４】
表示部１１０ａは、例えば液晶ディスプレイとその駆動回路である。表示部１１０ａは、制御部１００による制御の下、無線通信端末１０の利用をユーザに促す各種画面の画像を表示する。撮像部１１０ｃは例えばイメージセンサである。撮像部１１０ｃは、撮像視野内の画像を撮像し、その撮像結果を表す画像データを制御部１００へ出力する。操作部１１０ｂは、表示部１１０ａの表示領域を覆うように設けられた透明なシート状のタッチセンサである。操作部１１０ｂは、表示部１１０ａとともに所謂タッチパネルを形成する。無線通信端末１０のユーザは、操作部１１０ｂに対するタッチ操作或いはフリック操作により各種入力を行うことができる。操作部１１０ｂに対してユーザがタッチ操作或いはフリック操作等を行うと、操作部１１０ｂは、ユーザの操作内容を表すデータを制御部１００へ出力する。これにより、ユーザの行った操作が制御部１００に伝達される。
【００２５】
第１無線通信部１２０は、第１の無線通信規格に準拠した無線通信を行う通信回路である。第１無線通信部１２０は、第１の無線通信規格に準拠した無線通信の相手装置から送信されてくるデータを受信して制御部１００へ引き渡す一方、制御部１００から引き渡されたデータを相手装置へ送信する。第２無線通信部１３０は、無線通信網２０の基地局と第２の無線通信規格に準拠した無線通信を行う。第２無線通信部１３０は、制御部１００から与えられたデータを無線通信網２０へ送出するとともに、無線通信網２０から送られてくるデータを受信し、受信したデータを制御部１００へ引き渡す。
【００２６】
記憶部１４０は、揮発性記憶部１４２と不揮発性記憶部１４４とを含む。揮発性記憶部１４２は、例えばＲＡＭ（Random Access Memory）である。揮発性記憶部１４２は、プログラムを実行する際のワークエリアとして制御部１００によって利用される。不揮発性記憶部１４４は、例えばフラッシュＲＯＭ（Read Only Memory）である。不揮発性記憶部１４４には、各種プログラムと各種データとが記憶されている。不揮発性記憶部１４４に記憶されているプログラムの具体例としては、制御部１００にＯＳ（Operating System）を実現させるカーネルプログラム、ｗｅｂブラウザや電子メールクライアントの各種アプリケーションプログラム、本発明の特徴を顕著に示すロック解除処理を制御部１００に実行させる購入支援プログラム１４４ａが挙げられる。
【００２７】
不揮発性記憶部１４４に記憶されているプログラムのうち、購入支援プログラム１４４ａ以外のプログラムについては一般的なスマートフォンにインストールされているものと特段に変わるところは無い。例えば、制御部１００は、無線通信端末１０の電源（図３では図示略）の投入を契機としてカーネルプログラムを不揮発性記憶部１４４から揮発性記憶部１４２へ読み出し、その実行を開始する。カーネルプログラムに従って作動し、ＯＳを実現している状態の制御部１００は、操作部１１０ｂに対する操作により入力された指示に応じて、購入支援プログラム１４４ａや他のアプリケーションプログラムを実行することやＵＩ部１１０等の制御部１００以外の構成要素の作動制御を行うことができる。このように、購入支援プログラム１４４ａ以外のプログラムについては一般的なスマートフォンにインストールされているものと特段に変わるところは無いため詳細な説明は省略し、以下では購入支援プログラム１４４ａを中心に説明する。
【００２８】
操作部１１０ｂに対する操作により購入支援プログラム１４４ａの実行を指示された制御部１００は、購入支援プログラム１４４ａを不揮発性記憶部１４４から揮発性記憶部１４２へ読み出し、その実行を開始する。購入支援プログラム１４４ａにしたがって作動している制御部１００は、図４に示す画面Ｇ０１を表示部１１０ａに表示させる。
【００２９】
画面Ｇ０１における仮想操作子Ｂ０１は、自動販売機３０の設置場所を検索するための仮想操作子である。仮想操作子Ｂ０１に対するタッチ操作が為されると、制御部１００は、無線通信端末１０の現在位置を示す位置情報をサーバ装置４０へ送信する。なお、無線通信端末１０の現在位置についてはＧＰＳ等の既存技術を用いて特定すればよい。
【００３０】
サーバ装置４０は、無線通信端末１０から受信した位置情報の示す位置を中心とする所定範囲（例えば、半径１００メートルの範囲）に設置されている自動販売機３０を、自動販売機管理ＤＢを参照して特定する。そして、サーバ装置４０は、特定した自動販売機３０の設置場所を示す位置情報を無線通信端末１０へ返信する。
【００３１】
サーバ装置４０から返信されてくる位置情報を受信すると、制御部１００は、図５に示す検索結果画面Ｇ０２を表示部１１０ａに表示する。検索結果画面Ｇ０２の画像は、上記所定範囲の地図の画像に、現在位置を示すアイコン（図５では、星印のアイコン）と自動販売機３０に対応するアイコン（図５では黒丸印のアイコン）をプロットして得られる画像である。検索結果画面Ｇ０２を視認したユーザは、検索結果画面Ｇ０２に表示された情報を参考に最寄りの自動販売機３０の設置場所まで赴くことができる。
【００３２】
画面Ｇ０１における仮想操作子Ｂ０２に対するタッチ操作が行われると、制御部１００は表示部１１０ａの表示画像を、図６に示す決済手段選択画面Ｇ０３に遷移させる。決済手段選択画面Ｇ０３は、商品を購入するための仮想コインの決済に用いる決済手段（クレジットカード等）をユーザに選択させるための画面である。操作部１１０ｂに対する操作により決済手段の選択が為されると、制御部１００は、選択された決済手段を示す情報を揮発性記憶部１４２に書き込み、表示部１１０ａの表示画像を画面Ｇ０１に遷移させる。
【００３３】
画面Ｇ０１における領域Ａ０１には、撮像部１１０ｃによる撮像画像が表示される。無線通信端末１０のユーザは、自動販売機３０の識別子に対応するマトリクス型二次元コードの全体が領域Ａ０１に表示されるように、無線通信端末１０を自動販売機３０の取出し口３４の近傍にかざしつつその姿勢を調整し、当該マトリクス型二次元コードの画像を撮像する。制御部１００は、撮像された画像を解析することで自動販売機３０の識別子を取得する。
【００３４】
自動販売機３０の識別子を取得すると、制御部１００は、ロック解除処理を開始する。図７は、ロック解除処理の流れを示すフローチャートである。図７に示すように、制御部１００は、まず、上記の要領で取得した識別子と、決済手段選択画面Ｇ０３にて選択された決済手段を示す情報とを第２無線通信部１３０によりサーバ装置４０へ送信する（ステップＳＡ１００）。
【００３５】
サーバ装置４０は、無線通信端末１０から送信された識別子および決済手段を示す情報を受信すると、自動販売機管理ＤＢの格納内容を参照して当該識別子に対応するセキュリティコードを発行するとともに、商品購入のための仮想コインを発行して上記受信した情報の示す決済手段により商品代金の決済を行う。そして、サーバ装置４０は、発行したセキュリティコードおよび仮想コインを、上記識別子の送信元へ返信する。
【００３６】
制御部１００は、サーバ装置４０から返信されてくるセキュリティコードおよび仮想コインを受信すると、受信したセキュリティコードおよび仮想コインを第１無線通信部１２０により自動販売機３０へ送信する（ステップＳＡ１１０）。
【００３７】
自動販売機３０は、無線通信端末１０から送信されてくるセキュリティコードおよび仮想コインを受信すると、商品の販売を解禁する。これにより、自動販売機３０により販売される商品の購入（本実施形態では、ガチャガチャの実行）が可能となる。自動販売機３０は、無線通信端末１０のユーザによる商品の購入が完了すると、再びロック状態に戻る。
【００３８】
以上説明したように第１実施形態によれば、セキュリティコードの発行により、自動販売機による商品の販売を遠隔管理することが可能になる。例えば、所定の期間（例えば一か月）における商品購入代金の総額が予め定められた上限値に達した以降は当該期間が経過するまで新たなセキュリティコードの発行を差し止めることで、ガチャガチャに課金しすぎることを防ぐことができる。
【００３９】
以上本発明の第１実施形態について説明したが、この実施形態に以下の変形を加えても勿論よい。
（１）上記実施形態における自動販売機３０は「ガチャガチャ」であったが、清涼飲料水やアルコール飲料、食品、書籍、煙草などに自動販売機であっても勿論よく、また、コンピュータゲームにおける「ガチャ」等の仮想自動販売機であってもよい。つまり、自動販売機３０により販売される商品は玩具等の実体のある物には限定されず、ゲーム内アイテムやゲームキャラクタのデータ等のデータであってもよい。また、上記実施形態では、商品の販売代金の決済に仮想コインを介在させたが、仮想コインを介在させず、従来のガチャガチャと同様に現実の貨幣のみで決済を行ってもよく、この場合、サーバ装置４０にはセキュリティコードのみを返信させるようにすればよい。
【００４０】
（２）上記実施形態における自動販売機３０には、自動販売機３０を一意に示す識別子に対応するマトリクス型二次元コードが印刷された印刷物３６が貼り付けられていたが、当該識別子を表す文字列の印刷された印刷物が貼り付けられていてもよい。識別子を表す文字列の印刷された印刷物を撮像部１１０ｃで撮像し、その撮像画像に文字認識を施すことで上記識別子を取得することができるからである。また、上記印刷物に印刷された文字列を視認したユーザが操作部１１０ｂに対する操作（例えば、仮想キーボードに対する操作）により、当該文字列を構成する文字を１つずつ入力してもよく、この場合、撮像部１１０ｃは省略可能である。
【００４１】
（３）上記実施形態では、無線通信端末１０を含む無線通信システム１について説明したが、無線通信端末１０を単体で製造または販売してもよい。また、上記実施形態における無線通信端末１０はスマートフォンであったが、タブレット端末やノート型パーソナルコンピュータ、或いはウェアラブルコンピュータなどのであってもよい。
【００４２】
要は、制御部と、第１の無線通信規格にしたがって近距離無線通信を行う第１無線通信部と、前記第１の無線通信規格とは異なる第２の無線通信規格にしたがった通信を行う第２無線通信部と、を備え、前記制御部は、前記第１の無線通信規格にしたがって他の装置と近距離無線通信を行う自動販売機であって、商品の販売禁止を解除するセキュリティコードを受信するまで商品の販売が禁止されている自動販売機を一意に識別するために当該自動販売機に付与されている識別子の入力を契機として、前記第２の無線通信規格にしたがった通信により前記識別子を受信したことを契機として前記セキュリティコードを発行し前記識別子の送信元へ返信するサーバ装置へ宛てて、入力された識別子を前記第２無線通信部により送信し、前記サーバ装置から返信されてくるセキュリティコードを前記第２無線通信部により受信し、受信したセキュリティコードを前記第１無線通信部により前記自動販売機へ送信することを特徴とする無線通信端末、を提供すればよい。
【００４３】
（４）上記実施形態では、無線通信端末１０の不揮発性記憶部１４４に本発明の特徴を顕著に示すロック解除処理を制御部１００に実行させる購入支援プログラム１４４ａが予めインストールされていたが、購入支援プログラム１４４ａを単体で製造または販売してもよい。要は、コンピュータに、第１の無線通信規格にしたがって他の装置と近距離無線通信を行う自動販売機であって、商品の販売禁止を解除するセキュリティコードを受信するまで商品の販売が禁止されている自動販売機を一意に識別するために当該自動販売機に付与されている識別子の入力を契機として、前記第１の無線通信規格とは異なる第２の無線通信規格にしたがった通信により前記識別子を受信したことを契機として前記セキュリティコードを発行し前記識別子の送信元へ返信するサーバ装置へ宛てて、入力された識別子を前記第２の無線通信規格にしたがって送信する第１のステップと、前記サーバ装置から返信されてくるセキュリティコードを受信し、受信したセキュリティコードを第１の無線通信規格にしたがって前記自動販売機へ送信する第２のステップと、を実行させることを特徴とするプログラムを提供すればよい。
【００４４】
従来の無線通信端末に上記プログラムをインストールし、当該無線通信端末の制御部（コンピュータ）を当該プログラムにしたがって作動させることで、当該無線通信端末を上記実施形態の無線通信端末１０として機能させることが可能になるからである。なお、上記プログラムの具体的な提供態様としては、フラッシュＲＯＭなどのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【００４５】
＜第２実施形態＞
本発明の第２実施形態に係る通信システム、通信方法、及びセンサユニットによればガチャ等の自動販売機の販売に係るロックを、決済を完了したユーザの端末装置により解除し、商品を購入することができるようになる。特に、センサユニットは、既存の自動販売機に、後付けで実装することができ、その場合、当該自動販売機について、ユーザの端末装置によるロック解除、商品購入が可能となる。尚、ディジタルの仮想自動販売機においては、センサユニットに相当する機能をプラグインにより後付けで実装することが可能である。以下、詳述する。
【００４６】
図８には、本発明の第２実施形態に係る通信システムの構成を示し説明する。
【００４７】
同図に示されるように、本実施形態に係る通信システムは、データベースサーバ装置等からなる第１サーバ装置２００と、決済手段を実装した第２サーバ装置３００と、第３サーバ装置４００と、自動販売機８００Ａ乃至８００Ｃ…（以下、総称するときは符号８００を用いる）と、それら自動販売機８００Ａ乃至８００Ｃ…に実装されたセンサユニット５００Ａ乃至５００Ｃ…（以下、総称するときは符号５００を用いる）と、ユーザの端末装置６００と、ハッシュプールを実現する仮想サーバ装置群７００とで構成されている。これら構成の一部の任意の組み合わせにより、通信システムを実現する場合もある。ユーザの端末装置６００としては、スマートフォンやタブレット端末、ノード型パーソナルコンピュータ等、各種のものを採用することが可能である。
【００４８】
以下、図９の概念図を参照して、無線通信システムよる処理手順を説明する。これは本実施形態に係る通信方法にも相当する。
【００４９】
ユーザの端末装置６００は、自動販売機８００に付された二次元コードを撮像し、自動販売機のＩＤを取得し、撮像時の位置情報を取得し、これら情報を第１サーバ装置２００に送信することで、自動販売機８００のロック解除に関わる暗号化データの取得を要求する。第１サーバ装置２００は、取得した自動販売機のＩＤと位置情報とが、記録されている情報に合致するかを判定し、合致する場合には、当該自動販売機の取扱商品に関する商品情報を端末装置６００に送信する。ユーザの端末装置６００では、この商品情報が選択可能に表示され、所望とする商品が特定され、決済手続を進めることになる。
【００５０】
ユーザの端末装置６００からの決済要求は、選択された決済手段を実現する第２サーバ装置３００に送られ、当該第２サーバ装置３００にて決済処理が実行された後、決済トークンが第１サーバ装置２００に送られる。第２サーバ装置２００は、この決済トークンを受信すると、センサ情報をハッシュ関数によりハッシュ化したハッシュ値を生成し、ユーザの端末装置６００に送信する。ユーザの端末装置６００は、このハッシュ値を受信すると、ハッシュプールを実現する仮想サーバ装置群７００に対して、受信したハッシュ値に基づく検索要求を行う。仮想サーバ装置群７００は、この検索要求を受けると、ハッシュ値の存在を確認し、存在する場合には、公開鍵を第３サーバ装置４００に送信する。第３サーバ装置４００は、開錠コードを生成し、当該開錠コードを公開鍵により暗号化し、暗号化データを端末装置６００に送信する。
【００５１】
こうして、端末装置６００は、自動販売機８００のセンサユニット５００とＢｌｕｅｔｏｏｔｈ（登録商標）等の無線手段により、無線通信を行い、暗号化データをセンサユニット５００に送信することで、自動販売機のロック解除をリクエストする。自動販売機側では、センサユニット５００が、この暗号化データの成否を判断し、正しいと判断された場合には、自動販売機８００のロックを解除する。こうして、ユーザは、自動販売機８００より商品を取得する。
【００５２】
ここで、図１０には、第１サーバ装置の構成を示し説明する。第１サーバ装置は、例えばデータベースサーバ装置等が、これにあたる。
【００５３】
同図に示されるように、第１サーバ装置２００は、制御部２０１と通信部２０２と記憶部２０３とを有する。制御部２０１と、通信部２０２と、記憶部２０３とは、バスを介して通信可能に接続されている。これら構成のほか、キーボードやマウス等の入力部や各種表示を行う液晶ディスプレイ等の表示部を有してもよい。
【００５４】
通信部２０２は、例えば、ネットワークインタフェースカード（NIC；Network Interface Card）等により実現されるもので、インターネット等の通信網９００と有線又は無線で接続され、端末装置６００等との間で通信を行う通信インタフェースである。
【００５５】
そして、記憶部２０３は、例えば、ＲＡＭ（Random Access Memory）やフラッシュメモリ（Flash Memory）等の半導体メモリ素子、ハードディスクドライブ（HDD；Hard Disc Drive）、または光ディスク装置等で実現されるもので、制御部２０１で実行されるプログラムを予め記憶している。また、記憶部２０３は、販売機情報記憶部２０４、商品情報記憶部２０５、及びセンサ情報記憶部２０６を有する。
【００５６】
より詳細には、販売機情報記憶部２０４は、販売機ＩＤと、販売機の設置場所に係る位置情報と、取扱商品の商品ＩＤ等を紐づけて記憶している。商品情報記憶部２０５は、商品ＩＤと、商品に関わる詳細情報（型名、単価、数量等）を対応付けて記憶している。そして、センサ情報記憶部２０は、センサユニット５００のセンサＩＤと、位置情報（ロケーション）、実装されている自動販売機の販売機ＩＤ等を紐づけて記憶している。
【００５７】
制御部２０１は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等で実現され、記憶部２０３に記憶されているプログラムを実行することで、送信部２０１ａ、受信部２０１ｂ、商品情報特定部２０１ｃ、及びハッシュ生成部２０１ｄとして機能する。尚、制御部２０１は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Array）等の集積回路で構成されてよい。
【００５８】
送信部２０１ａは、例えば、商品情報記憶部２０５の商品情報や、ハッシュ生成部２０１ｄにより生成されたハッシュ値等を、通信部２０２を介してユーザの端末装置６００に送信する。受信部２０１ｂは、ユーザの端末装置６００から送られてきた販売機ＩＤや位置情報、第２サーバ装置３００から送られてきた決済トークン等を、通信部２０２を介して受信する。そして、商品情報特定部２０１ｃは、ユーザの端末装置６００から送られてきた販売機ＩＤに基づいて販売機情報記憶部２０４を参照して取扱商品の商品ＩＤを特定し、当該商品ＩＤに基づいて商品情報記憶部２０５を参照して商品情報を特定する。ハッシュ生成部２０１ｄは、センサ情報記憶部２０６に記憶されているセンサ情報をハッシュ関数によりハッシュ化し、ハッシュ値を生成する。
【００５９】
図１１には、第２サーバ装置の構成を示し説明する。
【００６０】
同図に示されるように、第２サーバ装置３００は、制御部３０１と通信部３０２と記憶部３０３とを有する。制御部３０１と、通信部３０２と、記憶部２０３とは、バスを介して通信可能に接続されている。これら構成のほか、キーボードやマウス等の入力部や各種表示を行う液晶ディスプレイ等の表示部を有してもよい。
【００６１】
通信部３０２は、例えば、ＮＩＣ等により実現されるもので、インターネット等の通信網９００と有線又は無線で接続され、端末装置６００等との間で通信を行う通信インタフェースである。記憶部３０３は、例えば、ＲＡＭやフラッシュメモリ等の半導体メモリ素子、ＨＤＤ、または光ディスク装置等で実現されるもので、制御部３０１で実行されるプログラムを予め記憶している。さらに、記憶部３０３は、決済情報を記憶している。制御部３０１は、ＣＰＵやＭＰＵ等で実現され、記憶部３０３に記憶されているプログラムを実行することで、送信部３０１ａ、受信部３０１ｂ、及び決済処理部３０１ｃとして機能する。制御部３０１は、ＡＳＩＣやＦＰＧＡ等の集積回路で構成されてよい。
【００６２】
送信部３０１ａは、例えば、決済トークンを、通信部３０２を介して第１サーバ装置２００に送信する。受信部３０１ｂは、ユーザの端末装置６００から送られてきた決済要求を、通信部３０２を介して受信する。決済処理部３０１ｃは、決済要求に基づいて決済処理を行う。決済処理の結果は、記憶部３０３に決済情報として記憶される。
【００６３】
図１２には、第３サーバ装置の構成を示し説明する。
【００６４】
同図に示されるように、第３サーバ装置４００は、制御部４０１と通信部４０２と記憶部４０３とを有する。制御部４０１と、通信部４０２と、記憶部４０３とは、バスを介して通信可能に接続されている。これら構成のほか、キーボードやマウス等の入力部や各種表示を行う液晶ディスプレイ等の表示部を有してもよい。
【００６５】
通信部４０２は、例えば、ＮＩＣ等により実現されるもので、インターネット等の通信網９００と有線又は無線で接続され、端末装置６００等との間で通信を行う通信インタフェースである。記憶部４０３は、例えば、ＲＡＭやフラッシュメモリ等の半導体メモリ素子、ＨＤＤ、または光ディスク装置等で実現されるもので、制御部４０１で実行されるプログラムを予め記憶している。制御部４０１は、ＣＰＵやＭＰＵ等で実現され、記憶部４０３のプログラムを実行することで、送信部４０１ａ、受信部４０１ｂ、コード生成部４０１ｃ、及び暗号化処理部４０１ｄとして機能する。制御部４０１は、ＡＳＩＣやＦＰＧＡ等の集積回路で構成されてよい。
【００６６】
送信部４０１ａは、例えば、暗号化処理部４０１ｄで生成される暗号化データを、通信部４０２を介してユーザの端末装置６００に送信する。受信部４０１ｂは、仮想サーバ装置群７００から送られてきた公開鍵を、通信部４０２を介して受信する。コード生成部４０１ｃは、開錠コードを生成する。そして、暗号化処理部４０１ｄは、公開鍵により開錠コードを暗号化し、暗号化データを生成する。
【００６７】
図１３には、端末装置の構成を示し説明する。
【００６８】
同図に示されるように、端末装置６００は、制御部６０１と、通信部６０２と、操作部６０３と、表示部６０４と、撮像部６０５と、記憶部６０６とを有する。各部６０１〜６０６は、制御バスを介して通信自在に接続されている。通信部６０２は、例えば、ＮＩＣ等により実現されるもので、インターネット等の通信網４と有線又は無線で接続され、第１サーバ装置２００等との間で通信を行う通信インタフェースである。
【００６９】
操作部６０３は、マウスやキーボード等で実現され、ユーザによる各種操作入力を受け付ける。表示部６０４は、液晶ディスプレイ等により実現され、各種表示を行う。尚、操作部６０３と表示部６０４とをタッチパネルとして一体に構成してもよい。撮像部６０５は、販売機８００に付された二次元コード等を撮像する。記憶部６０６は、例えば、ＲＡＭやフラッシュメモリ等の半導体メモリ素子、ＨＤＤ、または光ディスク装置等で実現されるもので、制御部６０１で実行されるプログラムを記憶している。
【００７０】
制御部６０１は、ＣＰＵやＭＰＵ等で実現され、記憶部６０６に記憶されているプログラムを実行することで、送信部６０１ａ、受信部６０１ｂ、コード解析部６０１ｃ、位置情報取得部６０１ｄ、及び要求部６０１ｅとして機能する。なお、制御部１１は、ＡＳＩＣやＦＰＧＡ等の集積回路で構成されてよい。
【００７１】
より詳細には、送信部６０１ａは、撮像部６０５による販売機８００に付された二次元コードの撮像、更にはコード解析部６０１ｃによる解析で得られた販売機ＩＤと、位置情報取得６０１ｄにより得られた位置情報を、通信部６０２を介して、第１サーバ装置２００に送信する。受信部６０１ｂは、第３サーバ装置４００から送られてきた暗号化データ等を、通信部６０２を介して受信する。コード解析部６０１ｃは、撮像部６０５により撮像された二次元コードを解析し、販売機ＩＤを取得する。位置情報取得部６０１ｄは、ＧＰＳ（Global Positioning System）やＢＬＥ（Bluetooth（登録商標） Low Energy）などの手段により、撮像時点での端末装置６００（または、販売機８００）の位置情報を取得する。そして、要求部６０１ｅは、センサユニット５００に対して、ロック解除に係る要求等を、操作部６０３の操作に基づいて行う。
【００７２】
図１４には、センサユニットの構成を示し説明する。このセンサユニットは、自動販売機８００に実装されるモジュールである。
【００７３】
同図に示されるように、自動販売機８００に実装されるセンサユニット５００は、全体の制御を司る制御部５０１と、通信部５０２と、記憶部５０３とを有する。通信部５０２は、例えば、インターネット等の通信網４と有線又は無線で接続され、或いは、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信により、ユーザの端末装置６００や、第１サーバ装置２００等との間で通信を行う通信インタフェースである。記憶部５０３は、例えば、ＲＡＭやフラッシュメモリ等の半導体メモリ素子で実現されるもので、制御部５０１で実行されるプログラムを記憶している。更に、記憶部５０３は、生成されたコードや暗号化された暗号化データ、生成されたハッシュ等を記憶している。
【００７４】
制御部５０１は、ＣＰＵ等で実現され、記憶部５０３に記憶されているプログラムを実行することで、送信部５０１ａ、受信部５０１ｂ、コード生成部５０１ｃ、暗号化処理部５０１ｄ、ハッシュ生成部５０１ｅ、ロック解除部５０１ｆ、及び管理部５０１ｇ等として機能することになる。
【００７５】
送信部５０１ａは、生成された公開鍵を、通信部５０２を介して、ハッシュプールを実現する仮想サーバ装置群７００に送信する。受信部５０１ｂは、ユーザの端末装置６００から送信された暗号化データを、通信部５０２を介して受信する。コード生成部５０１ｃは、変動数開錠コードを生成する。ここで、変動数とは、所定のアルゴリズムにより生成されるコードが都度変更されることを意味する。
【００７６】
暗号化処理部５０１ｄは、例えば公開鍵暗号方式（Public-key cryptography）に基づいて、公開鍵と秘密鍵を生成し、必要に応じて、後述するハッシュ値を公開鍵とを対応付ける。更に、必要に応じて、変動数開錠コードを公開鍵により暗号化する。ここで、一般に公開鍵暗号方式では、公開鍵を公開し、受信者は、公開鍵と対になる秘密鍵を保持し、必要に応じて受信内容を秘密鍵で復号するが、本実施形態では、センサユニット５００が送信者でもあり受信者でもあることになる。なお、公開鍵暗号方式には、鍵生成アルゴリズム、暗号化アルゴリズム、及び復号アルゴリズムの３つのアルゴリズムがあり、これらに基づいて、鍵生成、暗号化、及び復号を行う。
【００７７】
より詳細には、鍵生成アルゴリズムでは、公開鍵秘密鍵ペアを生成し、出力する。暗号化アルゴリズムでは、公開鍵と平文（この例では、変動数開錠コード）と呼ばれるビット列の入力を受け、暗号文（暗号化データ）を生成し、出力する。そして、復号アルゴリズムでは、秘密鍵と暗号文（暗号化データ）の入力を受け、平文（この例では、変動数開錠コード）を生成し、出力する。
【００７８】
ハッシュ生成部５０１ｅは、センサ情報（センサＩＤ、位置情報等）をハッシュ関数によりハッシュ化し、ハッシュ値を出力する。ロック解除部５０１ｇは、ユーザの端末装置６００から送られてきた暗号化データの成否を判定し、暗号化データが保有している暗号化データ（又は変動数開錠コード）と合致する場合には、ロックを解除（アンロック）する。ここで、ロックの解除とは、例えば、自動販売機がガチャである場合には、商品搬出に係る駆動系のロックを解除し、商品を搬出することをいう。管理部５０１ｈは、暗号化処理部５０１ｄが生成した公開鍵とハッシュ生成部５０１ｅが生成したハッシュ値を対応付けて記憶部５０３に記憶し、管理する。
【００７９】
以下、図１５のフローチャートを参照して、無線通信システムによる処理手順を詳細に説明する。これは、本実施形態に係る通信方法にも相当する。
【００８０】
ユーザの端末装置６００は、自動販売機８００に付されている二次元コードを撮像部６０５で撮像し、コード解析部６０１ｃが画像を解析することで自動販売機の販売機ＩＤを取得し（Ｓ１）、位置情報取得部６０１ｄがＧＰＳやＧＬＥなどの手段により撮像時の位置情報を取得し（Ｓ２）、送信部６０１ａが、通信部６０２を介して、販売機ＩＤと位置情報を第１サーバ装置に送信することで、自動販売機８００のロック解除に関わる暗号化されたデータの取得を要求する（Ｓ３）。
【００８１】
第１サーバ装置２００は、通信部２０２を介して、受信部２０１ｂが、これら販売機ＩＤと位置情報を受信し（Ｓ４）、商品情報特定部２０１ｃが、取得した販売機ＩＤと位置情報とが、販売機情報記憶部２０４に記録されている情報に合致するかを判定し、合致する場合には、当該自動販売機の取扱商品に関する商品情報を商品情報記憶部２０５から読み出し（Ｓ５）、送信部２０１ａが、通信部２０２を介して、商品情報をＨＴＭＬ型式等でユーザの端末装置６００に送信する（Ｓ６）。
【００８２】
ユーザの端末装置６００では、通信部６０２を介して、受信部６０１ｂが商品情報を受信すると（Ｓ７）、表示部６０４に商品情報が決済手段と共に選択可能に表示され、操作部６０３の操作により所望とする商品が特定されると、要求部６０１ｅが、通信部６０２を介して、第２サーバ装置３００に対して決済要求を行う（Ｓ８）。
【００８３】
第２サーバ装置３００は、通信部３０２を介して、受信部３０１ｂが決済要求を受信すると（Ｓ９）、決済処理部３０１ｃが電子決済に係る決済処理を行い（Ｓ１０）、送信部３０１ａが、通信部３０２を介して、電子決済が完了したことを証明する決済トークンを第１サーバ装置２００に送信する（Ｓ１１）。
【００８４】
第１サーバ装置２００は、通信部２０２を介して、受信部２０１ｂが決済トークンを受信すると（Ｓ１２）、ハッシュ生成部２０１ｄが、センサ情報記憶部２０６に記憶されているセンサ情報（センサＩＤやセンサロケーション等）をハッシュ関数によりハッシュ化したハッシュ値を生成し、送信部２０１ａが、通信部２０２を介して、ユーザの端末装置６００に送信する（Ｓ１３）。なお、ハッシュ生成部２０１ｄが、ハッシュ化に用いるハッシュ関数は、センサユニット５０１のハッシュ生成部５０１ｅで用いるハッシュ関数と同じであり、ハッシュ化の対象となるセンサ情報も同じであるので、センサユニット５０１側と同じハッシュ値を生成することが可能となっている。
【００８５】
ユーザの端末装置６００は、通信部６０２を介して、受信部６０１ｂが、ハッシュ値を受信すると（Ｓ１４）、要求部６０１ｅが、通信部６０２を介して、ハッシュプールを実現する仮想サーバ装置群７００に対して、受信したハッシュ値に基づく検索要求を行う（ＳＳ１５）。仮想サーバ装置群７００は、この検索要求を受けると、ハッシュ値の存在を確認し、存在する場合には、公開鍵を第３サーバ装置４００に送信する（Ｓ１６）。
【００８６】
第３サーバ装置４００は、通信部４０２を介して、受信部４０１ｂが公開鍵を受信すると（Ｓ１７）、コード生成部４０１ｃが変動数開錠コードを生成し、暗号化処理部４０１ｄが暗号化ロジックに基づいて開錠コードを公開鍵により暗号化し、送信部４０１ａが、通信部４０２を介して、暗号化データを端末装置６００に送信する（Ｓ１８）。なお、第３サーバ装置４００で暗号化処理に用いる暗号化ロジックは、センサユニット５００で用いる暗号化ロジックと同じである。また、コード生成部４０１ｃで用いられるコード生成ロジックも、センサユニット５００で用いるものと同じである。
【００８７】
ユーザの端末装置６００は、受信部６０１ｂが、通信部６０２を介して、暗号化データを受信すると（Ｓ１９）、要求部６０１ｅが、通信部６０２を介して、自動販売機８００に実装されるセンサユニット５００と、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信により、暗号化データを送信することで、センサアンロック要求を行う（Ｓ２０）。
【００８８】
自動販売機側８００では、センサユニット５００の送信部５０１ａが、通信部５０２を介して、暗号化データを受信し（Ｓ２１）、ロック解除部５０１ｆが、暗号化データの成否を判断し、暗号化データが正しいと判断された場合には、自動販売機８００のロックを解除する（Ｓ２２）。こうして、ユーザは、自動販売機８００より商品を取得する。
【００８９】
なお、暗号化データの成否については、センサユニット５００で、コード生成部５０１ｃにより変動数開錠コードを生成し、暗号化処理部５０１ｄで暗号化ロジックにより暗号化した暗号化データと、受信した暗号化データとを比較することで判断してもよい。あるいは、受信した暗号化データを、暗号化処理部５０１ｄの復号ロジックにより復号し、変動数開錠コードを得て、それをコード生成部５０１ｃにより生成した変動数開錠コードと比較することで判断するようにしてもよい。
【００９０】
以上説明したように第２実施形態によれば、ユーザの端末装置には、センサ情報に基づき生成されたハッシュ値と暗号化データのみが与えられるにすぎないので、変動数開錠コードがＷｅｂ上に流出することを防止でき、よりセキュアな取引が実現される。
【００９１】
また、データベースサーバ等からなる第１サーバ装置、暗号化データを生成する第３サーバ装置では、ハッシュ生成、暗号化データ生成にあたり、センサユニットと同じロジックを用いているので、変動数開錠コードやハッシュの送受を行う必要がなく、その点でもよりセキュアな取引が実現される。
【００９２】
また、暗号化データは、ハッシュプールから公開鍵を受け取った第３サーバ装置が、変動数開錠コードを当該公開鍵で暗号化することで生成されるので、暗号化データの漏えいを防止することができる。すなわち、暗号化データの漏えい事故の抑止に対する優位性を確保することが可能となる。
【００９３】
さらに、ハッシュ値は第１サーバ装置で生成されユーザの端末装置に送られ、暗号化データは第３サーバ装置で生成されユーザの端末装置に送られるなど、情報分散化により攻撃対象を拡大しているので、攻撃の抑止にもつながる。
【００９４】
そして、公開鍵を管理しているのが、ハッシュプールであることから、攻撃を受けた場合には、即座にエリアを移して再建することが可能であるので、公開鍵をより安全に管理することが可能となる。
【００９５】
さらに、第３サーバ装置で生成される暗号化データは、短時間で更新されるので、攻撃を受けた場合でも、その解読の可能性は確率的にはゼロに等しい。
【００９６】
また、ハッシュ管理を基礎としているので、確率上、システムが増大すればするほど安全性はより高まっていくといえる。
【００９７】
仮に、自動販売機に実装されたセンサユニットが物理的攻撃を受けた場合でも、その被害は当該自動販売機だけにおよび、他には影響を与えないので、即座に対処することが可能となる。
【００９８】
以上、本発明の第２実施形態について説明したが、本実施形態は、これに限定されず種々の改良、変更が可能である。例えば、各自動販売機に実装されたセンサユニットが所定単位でセンサネットワークを形成し、ハッシュプールへの公開鍵のアップロード等を、電源残量に余裕のあるセンサユニットが統括して行うようにして、省電力化を実現するようにしてもよいことは勿論である。
【符号の説明】
【００９９】
１…無線通信システム、１０…無線通信端末、２０…無線通信網、３０…自動販売機、４０…サーバ装置。１００…制御部、１１０…ＵＩ部，１１０ａ…表示部、１１０ｂ…操作部、１１０ｃ…撮像部、１２０…第１無線通信部、１３０…第２無線通信部、１４０…記憶部、１４２…揮発性記憶部、１４４…不揮発性記憶部、１４４ａ…購入支援プログラム、１５０…バス、２００…第１サーバ装置、３００…第２サーバ装置、４００…第３サーバ装置、５００…センサユニット、６００…端末装置、７００…仮想サーバ装置群、８００…自動販売機。
【図１】
2020080139.tif 000003
【図２】
2020080139.tif 000004
【図３】
2020080139.tif 000005
【図４】
2020080139.tif 000006
【図５】
2020080139.tif 000007
【図６】
2020080139.tif 000008
【図７】
2020080139.tif 000009
【図８】
2020080139.tif 000010
【図９】
2020080139.tif 000011
【図１０】
2020080139.tif 000012
【図１１】
2020080139.tif 000013
【図１２】
2020080139.tif 000014
【図１３】
2020080139.tif 000015
【図１４】
2020080139.tif 000016
【図１５】
2020080139.tif 000017