(57)【要約】【課題】端末装置で読み取るコードが差し替えられ、本来の支払先とは異なる不正な支払先への支払いが行われる可能性があった。【解決手段】生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部と、生成コードを出力する出力装置によって出力された出力コードを撮影する撮影装置から、出力コードを撮影した画像または画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部と、生成コード格納部に格納されている格納コード情報と、出力コード受信部が受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する判断部と、判断部による判断の結果に関する判断結果情報を端末装置に送信する判断結果送信部とを具備するサーバ装置により、コードの差し替えによる不正な支払先への支払いを防止できる。【選択図】図１
2020173664.tif 000002
【特許請求の範囲】
【請求項１】
生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部と、
前記生成コードを出力する出力装置によって出力された出力コードを撮影する撮影装置から、当該出力コードを撮影した画像または当該画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部と、
前記生成コード格納部に格納されている格納コード情報と、前記出力コード受信部が受信した出力コード情報とを用いて、前記出力コードが前記生成コードと一致するか否かを判断する判断部と、
前記判断部による判断の結果に関する判断結果情報を端末装置に送信する判断結果送信部とを具備するサーバ装置。
【請求項２】
コードを生成するコード生成サーバから前記生成コード情報を受信する生成コード受信部と、
前記生成コード受信部が受信した生成コード情報を前記生成コード格納部に蓄積する蓄積部とをさらに具備する請求項１記載のサーバ装置。
【請求項３】
前記出力装置は、前記生成コードを表示器に表示し、
前記撮影装置は、前記表示器に表示されているコードを撮影し、
前記端末装置は、前記出力コードを用いて決済のための処理を行う請求項１または請求項２記載のサーバ装置。
【請求項４】
前記出力装置は、店舗の端末である店舗端末であり、
前記表示器は、前記店舗端末が有するディスプレイであり、
前記端末装置は、ユーザの端末であるユーザ端末である請求項３記載のサーバ装置。
【請求項５】
前記撮影装置は、前記ディスプレイに表示されている出力コードを監視する監視カメラである請求項４記載のサーバ装置。
【請求項６】
前記監視カメラは、前記ディスプレイに表示されている出力コードを定期的または不定期に撮影し、撮影した画像をメモリに蓄積し、当該撮影した画像がメモリに格納されている画像に対して変化したか否かを判断し、当該撮影した画像がメモリに格納されている画像に対して変化したと判断した場合に、当該撮影した画像を有する出力コード情報を送信し、
前記出力コード受信部が前記監視カメラから出力コード情報を受信したことに応じて、当該出力コード情報が有する画像から出力コードを抽出する抽出部をさらに具備し、
前記判断部は、
前記生成コード格納部に格納されている格納コード情報と、前記抽出部が抽出した出力コードとを用いて、当該出力コードが前記生成コードと一致するか否かを判断する請求項５記載のサーバ装置。
【請求項７】
前記撮影装置は、前記ユーザ端末が有するカメラである請求項３記載のサーバ装置。
【請求項８】
前記ユーザ端末は、前記ディスプレイに表示されている出力コードを前記カメラで撮影した画像から出力コードを抽出し、抽出した出力コードを用いて前記決済のための処理を行う前に、当該抽出した出力コードを有する出力コード情報を送信し、
前記判断部は、
前記生成コード格納部に格納されている生成コード情報と、前記出力コード受信部が前記ユーザ端末から受信した出力コード情報が有する出力コードとを用いて、当該出力コードが前記生成コードと一致するか否かを判断する請求項７記載のサーバ装置。
【請求項９】
前記生成コード格納部は、
一の生成コードに対応する３以上の生成コード情報が格納されるべき３以上の格納手段を含み、
前記判断部は、
前記３以上の格納手段に格納されている３以上の格納コード情報を用いて、当該３以上の格納コード情報に対応する３以上の格納コードの中に、一致する２以上の格納コードの組が１組以上存在するか否かを判断する第一判断手段と、
前記第一判断手段が前記３以上の格納コードの中に前記組が１組以上存在すると判断した場合に、一の組を構成する格納コードであり、他のどの組を構成する格納コードよりも数が多い格納コードである最多数格納コードが唯一つ存在するか否かを判断する第二判断手段と、
前記第二判断手段が前記最多数格納コードが唯一つ存在すると判断した場合に、当該最多数格納コードを前記生成コードに決定する決定手段と、
前記決定手段が決定した生成コードと、前記出力コード受信部が受信した出力コード情報とを用いて、前記出力コードが前記生成コードと一致するか否かを判断する第三判断手段とを含む請求項１から請求項８いずれか一項に記載のサーバ装置。
【請求項１０】
前記判断結果送信部は、
前記第一判断手段が前記組が存在しないと判断した場合、または前記第二判断手段が前記最多数格納コードが２以上存在すると判断した場合、または前記第三判断手段が前記出力コードが前記生成コードと一致しないと判断した場合に、否定的な判断結果を示す判断結果情報を前記端末装置に送信する請求項９記載のサーバ装置。
【請求項１１】
生成された生成コードを出力する出力装置と、
前記出力装置によって出力された出力コードを撮影する撮影装置と、
サーバ装置と、
端末装置とを含み、
前記サーバ装置は、
生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部と、
前記撮影装置から、前記出力コードを撮影した画像または当該画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部と、
前記生成コード格納部に格納されている格納コード情報と、前記出力コード受信部が受信した出力コード情報とを用いて、前記出力コードが前記生成コードと一致するか否かを判断する判断部と、
前記判断部による判断の結果に関する判断結果情報を前記端末装置に送信する判断結果送信部とを具備する情報システム。
【請求項１２】
生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部、出力コード受信部、判断部、および判断結果送信部によって実現される情報処理方法であって、
前記出力コード受信部が、前記生成コードを出力する出力装置によって出力された出力コードを撮影する撮影装置から、当該出力コードを撮影した画像または当該画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信ステップと、
前記判断部が、前記生成コード格納部に格納されている格納コード情報と、前記出力コード受信部が受信した出力コード情報とを用いて、前記出力コードが前記生成コードと一致するか否かを判断する判断ステップと、
前記判断結果送信部が、前記判断部による判断の結果に関する判断結果情報を端末装置に送信する判断結果送信ステップとを含む情報処理方法。
【請求項１３】
コンピュータがアクセス可能な記録媒体は、
生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部を具備し、
前記コンピュータを、
前記生成コードを出力する出力装置によって出力された出力コードを撮影する撮影装置から、当該出力コードを撮影した画像または当該画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部と、
前記生成コード格納部に格納されている格納コード情報と、前記出力コード受信部が受信した出力コード情報とを用いて、前記出力コードが前記生成コードと一致するか否かを判断する判断部と、
前記判断部による判断の結果に関する判断結果情報を端末装置に送信する判断結果送信部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＱＲコード（登録商標：以下同様）等のコードを用いて決済のための処理を行う情報システムにおいて、コードの差し替えを検知するサーバ装置等に関するものである。
【背景技術】
【０００２】
従来、業者端末で、請求金額を入力して二次元コードをディスプレイに表示し、ユーザ携帯端末で、二次元コードを撮影して請求金額をディスプレイに表示し、これを承認した時、カード指定情報とユーザ特定ＩＤを運用会社サーバに送信し、運用会社サーバで、ユーザ特定情報に基づきユーザ携帯端末のセキュリティチェックをした後、カード指定情報に基づき取得したカード情報に基づいて金融機関との間で決済手続をする、決済システムが存在した（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開ＷＯ２０１７/０２９８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、正規のＱＲコードが、犯罪者グループによって偽物のＱＲコードに差し替えられ、犯罪者グループの口座に代金が振り込まれてしまう事件が発生した。
【０００５】
上記のような従来の決済システムにおいても、端末装置で読み取るコードが差し替えられ、本来の支払先とは異なる不正な支払先への支払いが行われる可能性があった。
【０００６】
なお、以下で差し替えとは、通常、読み取られるコードを別のコードに変更することであるが、例えば、コードの一部または全部に変更を加えること（いわゆる改ざん）でもよい。差し替えは、読み取られるコードの少なくとも一部が、結果として変化するものであればよく、その態様は問わない。
【課題を解決するための手段】
【０００７】
本第一の発明のサーバ装置は、生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部と、生成コードを出力する出力装置によって出力された出力コードを撮影する撮影装置から、出力コードを撮影した画像または画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部と、生成コード格納部に格納されている格納コード情報と、出力コード受信部が受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する判断部と、判断部による判断の結果に関する判断結果情報を端末装置に送信する判断結果送信部とを具備するサーバ装置である。
【０００８】
なお、生成コード格納部には、生成コード情報が格納されるべきであり、生成コード格納部に格納されている生成コード情報が不正なコード情報に差し替えられることは、通常、ない。
【０００９】
かかる構成により、コードの差し替えを検知できる。
【００１０】
また、本第二の発明のサーバ装置は、第一の発明に対して、コードを生成するコード生成サーバから生成コード情報を受信する生成コード受信部と、生成コード受信部が受信した生成コード情報を生成コード格納部に蓄積する蓄積部とをさらに具備するサーバ装置である。
【００１１】
かかる構成により、コード生成サーバから生成コード情報を受信し、サーバ装置内に蓄積することで、可変的なコードの差し替えも検知できる。
【００１２】
なお、第二の発明において、コードは、可変的なコードであり、出力コード受信部は、コード生成サーバによって新たなコードが生成される度に、当該新たなコードに関する生成コード情報を受信し、蓄積部は、生成コード受信部が新たなコードに関する生成コード情報を受信したことに応じて、生成コード格納部に格納されている格納コード情報を、受信された生成コード情報で更新してもよい。
【００１３】
かかる構成により、生成コード格納部の容量を削減できる。
【００１４】
また、本第三の発明のサーバ装置は、第一または第二の発明に対して、出力装置は、生成コードを表示器に表示し、撮影装置は、表示器に表示されているコードを撮影し、端末装置は、出力コードを用いて決済のための処理を行うサーバ装置である。
【００１５】
かかる構成により、表示器に表示されているコードを用いて決済を行う場合に、コードの差し替えによる不正な支払先への支払いを防止できる。
【００１６】
また、本第四の発明のサーバ装置は、第三の発明に対して、出力装置は、店舗の端末である店舗端末であり、表示器は、店舗端末が有するディスプレイであり、端末装置は、ユーザの端末であるユーザ端末である。
【００１７】
かかる構成により、店舗端末が有するディスプレイに表示されているコードを用いて、ユーザ端末で決済を行う場合に、コードの差し替えによる不正な支払先への支払いを防止できる。
【００１８】
また、本第五の発明のサーバ装置は、第四の発明に対して、撮影装置は、ディスプレイに表示されている出力コードを監視する監視カメラであるサーバ装置である。
【００１９】
かかる構成により、店舗のディスプレイに表示されているコードを用いて、ユーザ端末で決済を行う場合に、表示されているコードを監視カメラで監視することで、コードの差し替えによる不正な支払先への支払いを防止できる。
【００２０】
また、本第六の発明のサーバ装置は、第五の発明に対して、監視カメラは、ディスプレイに表示されている出力コードを定期的または不定期に撮影し、撮影した画像をメモリに蓄積し、撮影した画像がメモリに格納されている画像に対して変化したか否かを判断し、撮影した画像がメモリに格納されている画像に対して変化したと判断した場合に、撮影した画像を有する出力コード情報を送信し、出力コード受信部が監視カメラから出力コード情報を受信したことに応じて、出力コード情報が有する画像から出力コードを抽出する抽出部をさらに具備し、判断部は、生成コード格納部に格納されている格納コード情報と、抽出部が抽出した出力コードとを用いて、出力コードが生成コードと一致するか否かを判断するサーバ装置である。
【００２１】
かかる構成により、監視カメラで撮影された画像が変化した場合にだけ、画像を有する出力コード情報を受信し、画像が変化していない場合には出力コード情報を受信しないので、監視カメラから受信する出力コード情報のデータ量を抑制しつつ、コードの差し替えによる不正な支払先への支払いを防止できる。
【００２２】
また、本第七の発明のサーバ装置は、第三の発明に対して、撮影装置は、ユーザ端末が有するカメラであるサーバ装置である。
【００２３】
かかる構成により、店舗のディスプレイに表示されているコードを用いて、ユーザ端末で決済を行う場合に、表示されているコードを当該ユーザ端末が有するカメラで撮影することにより、簡単な構成で、コードの差し替えによる不正な支払先への支払いを防止できる。
【００２４】
また、本第八の発明のサーバ装置は、第七の発明に対して、ユーザ端末は、ディスプレイに表示されている出力コードをカメラで撮影した画像から出力コードを抽出し、抽出した出力コードを用いて決済のための処理を行う前に、抽出した出力コードを有する出力コード情報を送信し、判断部は、生成コード格納部に格納されている生成コード情報と、出力コード受信部がユーザ端末から受信した出力コード情報が有する出力コードとを用いて、出力コードが生成コードと一致するか否かを判断するサーバ装置である。
【００２５】
かかる構成により、ユーザ端末がカメラで撮影した画像から抽出した出力コードを用いた決済を行う前に、その抽出された出力コードを有する出力コード情報をユーザ端末から受信し、出力コードが生成コードと一致するか否かを判断するので、ユーザ端末から受信する出力コード情報のデータ量を抑制しつつ、コードの差し替えによる不正な支払先への支払いを防止できる。
【００２６】
また、本第九の発明のサーバ装置は、第一から第八いずれか１つの発明に対して、生成コード格納部は、一の生成コードに対応する３以上の生成コード情報が格納されるべき３以上の格納手段を含み、判断部は、３以上の格納手段に格納されている３以上の格納コード情報を用いて、３以上の格納コード情報に対応する３以上の格納コードの中に、一致する２以上の格納コードの組が１組以上存在するか否かを判断する第一判断手段と、第一判断手段が３以上の格納コードの中に組が１組以上存在すると判断した場合に、一の組を構成する格納コードであり、他のどの組を構成する格納コードよりも数が多い格納コードである最多数格納コードが唯一つ存在するか否かを判断する第二判断手段と、第二判断手段が最多数格納コードが唯一つ存在すると判断した場合に、当該最多数格納コードを生成コードに決定する決定手段と、決定手段が決定した生成コードと、出力コード受信部が受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する第三判断手段とを含むサーバ装置である。
【００２７】
かかる構成により、一の生成コードに対応する３以上の生成コード情報を３以上の格納手段に格納しておくことで、例えば、３以上の格納手段に格納されている３以上の格納コード情報のいずれかが不正な情報に差し替えられた場合でも、多数決により、３以上の格納コードのうち最多数の格納コードを生成コードとみなし、出力コードが生成コードと一致するか否かの判断を行うことができる。
【００２８】
従って、生成コード格納部に格納されている生成コード情報が不正なコード情報に差し替えられる可能性がある場合でも、コードの差し替えを検知できる。
【００２９】
また、本第十の発明のサーバ装置は、第九の発明に対して、判断結果送信部は、第一判断手段が組が存在しないと判断した場合、または第二判断手段が最多数格納コードが２以上存在すると判断した場合、または第三判断手段が出力コードが生成コードと一致しないと判断した場合に、否定的な判断結果を示す判断結果情報を送信するサーバ装置である。
【００３０】
かかる構成により、生成コードと出力コードとの不一致を通知できる。
【００３１】
なお、第一から第十いずれか１つの発明において、否定的な判断結果を示す判断結果情報は、コードが差し替えられている可能性についての警告を有し、端末装置は、判断結果情報を受信し、否定的な判断結果を示す判断結果情報を受信した場合に、当該判断結果情報が有する警告を出力してもよい。
【００３２】
かかる構成により、コードが差し替えられている可能性を、端末装置の操作者に警告できる。特に、例えば、端末装置がコードを用いて決済のための処理を行う場合に、端末装置を操作するユーザまたは店員に警告することで、不正な支払先への支払いを効果的に防止できる。
【００３３】
また、第三から第十いずれか１つの発明において、端末装置は、サーバ装置から否定的な判断結果を示す判断結果情報を受信した場合に、決済のための処理の実行を抑制してもよい。
【００３４】
かかる構成により、コードの差し替えによる不正な支払先への支払いをより効果的に防止できる。
【００３５】
また、本第十一の発明の情報システムは、生成される又は生成された生成コードを出力する出力装置と、出力装置によって出力された出力コードを撮影する撮影装置と、サーバ装置と、端末装置とを含み、サーバ装置は、生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部と、撮影装置から、出力コードを撮影した画像または画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部と、生成コード格納部に格納されている格納コード情報と、出力コード受信部が受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する判断部と、判断部による判断の結果に関する判断結果情報を端末装置に送信する判断結果送信部とを具備する情報システムである。
【００３６】
かかる構成により、コードの差し替えを検知できる。
【発明の効果】
【００３７】
本発明によれば、コードの差し替えを検知できる。その結果、例えば、コードの差し替えによる不正な支払先への支払いを防止できる。
【図面の簡単な説明】
【００３８】
【図１】実施の形態における情報システムのブロック図
【図２】同サーバ装置の動作を説明するフローチャート
【図３】同判断処理を説明するフローチャート
【図４】同端末装置の動作を説明するフローチャート
【図５】同生成コード格納部の内容を示す図
【図６】同端末装置の画面の一例を示す図
【図７】同端末装置の画面の他の例を示す図
【図８】変形例１における判断処理を説明するフローチャート
【図９】コンピュータシステムの外観図
【図１０】コンピュータシステムの内部構成の一例を示す図
【発明を実施するための形態】
【００３９】
以下、サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００４０】
図１は、本実施の形態における情報システムのブロック図である。情報システムは、サーバ装置１、コード生成サーバ２、１または２以上の出力装置３、１または２以上の撮影装置４、および１または２以上の端末装置５を備える。
【００４１】
サーバ装置１は、例えば、ＬＡＮやインターネット等のネットワーク、無線または有線の通信回線などを介して、コード生成サーバ２、１以上の出力装置３、１以上の撮影装置４、および１以上の端末装置５の各々と、通信可能に接続される。なお、サーバ装置１とコード生成サーバ２とは、例えば、専用の通信回線を介して接続されることは好適である。
【００４２】
サーバ装置１は、コードの差し替えを検知するサーバである。詳しくは、サーバ装置１は、コード生成サーバ２によって生成されたコードと、出力装置３から出力されたコードとを用いて、コードが差し替えられているか否かを判断し、判断結果に関する情報（以下、判断結果情報と記す場合がある）を端末装置５に送信する。
【００４３】
サーバ装置１は、例えば、情報システムを運営する企業や団体等の組織のサーバであるが、クラウドサーバやＡＳＰサーバ等でもよく、そのタイプや所在は問わない。
【００４４】
コード生成サーバ２は、コードを生成するサーバである。コードとは、例えば、情報を表現する符号である、といってもよい。情報とは、コードを生成する元データである、といってもよい。情報は、例えば、ＵＲＬ、決済情報等であるが、その種類は問わない。なお、決済情報とは、決済に関する情報である。決済情報は、例えば、金額に関する金額情報、支払先に関する支払先情報（例えば、口座番号、名義人名等）などであるが、決済に関する情報であれば何でもよい。
【００４５】
コードは、例えば、情報を埋め込んだ図柄である。この種のコードは、例えば、ＱＲコードであるが、ＱＲコード以外の二次元コードでもよいし、バーコード等の一次元コードでも構わない。ＱＲコード以外の二次元コードとは、例えば、ＳＰコードやＣＰコード等であるが、その種類は問わない。ただし、コードは、例えば、情報を表現する又は情報に対応付いた１または２以上の文字や記号等の配列でもよく、その種類は問わない。
【００４６】
コードは、例えば、可変的なコードであることは好適である。可変的なコードとは、変化し得るコードである。可変的なコードは、例えば、定期的または不定期に変化するコードであるが、一の決済にのみ使えるワンタイムコードでもよい。可変的なコードは、通常、ディスプレイ等の表示器に表示されるが、変化する度に、用紙やシールや商品等の表面（以下、「紙面等」）に印刷されてもよい。
【００４７】
ただし、コードは、固定的なコードでもよい。固定的なコードとは、変化しないコードである。固定的なコードは、例えば、紙面等に印刷されるが、表示器に表示されてもよい。
【００４８】
コード生成サーバ２は、例えば、上記組織のサーバであるが、別の組織のサーバでもよいし、クラウドサーバ等でもよく、そのタイプや所在は問わない。ただし、コード生成サーバ２は、必須ではない。例えば、予め生成されたコードを用いる場合、情報システムは、コード生成サーバ２を備えていなくてもよい。
【００４９】
出力装置３は、コードを出力する装置である。出力装置３は、通常、コード生成サーバ２によって生成されたコード（以下、生成コードと記す場合がある）を出力するが、予め生成されたコードを出力してもよい。なお、生成コードは、正規のコードであり、正規のコードは、真のコードといってもよい。また、出力装置３による出力は、通常、表示器への表示であるが、プリンタでの印刷でもよい。
【００５０】
本実施の形態における表示器は、店舗端末が有するディスプレイである。店舗端末とは、店舗の端末である。店舗とは、商品またはサービスの購入が可能な場所である、といってもよい。店舗は、例えば、百貨店、ショッピングモール、各種の商店、飲食店、宿泊施設等であるが、その種類は問わない。
【００５１】
店舗端末は、例えば、店舗のレジに設置されたレジ端末であるが、店員の携帯端末などでもよく、そのタイプは問わない。携帯端末とは、携帯可能な端末である。なお、携帯端末は、例えば、タブレット端末、スマートフォン、ノートＰＣ、携帯電話機等であるが、その種類は問わない。
【００５２】
店舗端末は、例えば、定期的または不定期に、店舗識別子を送信する。店舗識別子とは、店舗を識別する情報である。店舗識別子は、例えば、固定電話番号、メールアドレス、ＩＤなどであるが、店舗を識別し得る情報であれば何でもよい。ただし、店舗端末は、例えば、ユーザ端末からの要求に応じて店舗識別子を送信してもよく、店舗識別子の送信のタイミングやトリガは問わない。または、店舗識別子は、例えば、監視カメラである撮影装置４から送信されてもよく、店舗内の装置であれば、その送信元も問わない。
【００５３】
撮影装置４は、出力装置３によって出力されたコード（以下、出力コード）を撮影する装置である。なお、出力コードは、通常、生成コードと同一であるが、第三者によって差し替えられた不正なコードである可能性がある。不正なコードは、偽のコードといってもよい。
【００５４】
撮影装置４は、通常、表示器に表示されている出力コードを撮影するが、例えば、紙面等に印刷されたコードを撮影してもよい。なお、後者の場合、コードが印刷された紙面等は、店舗内の適宜な場所（例えば、レジ、陳列棚、商品等）に貼り付けられる。撮影装置４は、出力コードを撮影し、出力コード情報を、通常、装置識別子と対に、サーバ装置１に送信する。出力コード情報とは、出力コードに関する情報である。出力コード情報は、例えば、出力コードを撮影した画像であるが、画像から抽出された出力コードでもよい。
【００５５】
装置識別子とは、撮影装置４を識別する情報である。装置識別子は、例えば、ＭＡＣアドレスやＩＰアドレス等のアドレスであるが、店舗識別子、ＩＤなどでもよく、撮影装置４を識別し得る情報であれば何でもよい。なお、本実施の形態において、装置識別子は、店舗識別子であるとする。
【００５６】
本実施の形態における撮影装置４は、通常、監視カメラである。監視カメラは、店舗端末が有するディスプレイに表示されている出力コードを監視するカメラである。監視カメラは、ディスプレイに表示されている出力コードを撮影し、撮影した画像を有する出力コード情報をサーバ装置１に送信する。
【００５７】
監視カメラは、例えば、表示されている出力コードを定期的または不定期に撮影し、撮影した２以上の画像に対応する２以上の出力コード情報をサーバ装置１に送信してもよい。
【００５８】
または、監視カメラは、表示されている出力コードを定期的または不定期に撮影し、撮影した２以上の画像における変化を検知し、変化前の１または２以上の画像に対応する１または２以上の出力コード情報を送信せず、変化後の１または２以上の画像に対応する１または２以上の出力コード情報のみを送信することは好適である。これによって、監視カメラから送信される出力コード情報のデータ量を抑制できる。
【００５９】
具体的には、監視カメラは、例えば、店舗端末のディスプレイに表示されている出力コードを定期的または不定期に撮影し、撮影した画像をメモリに蓄積しつつ、当該撮影した画像が、メモリに格納されている１または２以上の画像に対して変化したか否かを判断し、変化したと判断した場合に、当該撮影した画像を有する出力コード情報を送信してもよい。これによって、監視カメラから送信される出力コード情報のデータ量を一層抑制できる。
【００６０】
ただし、撮影装置４は、例えば、店舗の店員の携帯端末でもよい。店舗の店員の携帯端末である撮影装置４は、同じく店舗の店員の携帯端末である出力装置３のディスプレイに表示されている出力コードを撮影する。つまり、出力装置３と撮影装置４とは、店舗の店員が保有する一の携帯端末によっても実現可能である。この携帯端末は、例えば、当該携帯端末自身のディスプレイに表示されている画面を仮想カメラで撮影し、出力コードを含む画面のキャプチャ画像（スナップショットといってもよい）を取得する、と考えてもよい。
【００６１】
端末装置５は、例えば、出力装置３によって出力された出力コードを用いて、予め決められた処理を行う装置である。予め決められた処理は、例えば、決済のための処理である。決済のための処理とは、例えば、図示しない決済サーバへの決済情報の送信であるが、決済でもよい。または、決済のための処理は、例えば、決済を行う前のユーザ登録、決済が完了した旨の通知の受信などでもよい。このように、決済のための処理は、結果として決済が完了する処理であればよいが、決済に必要な処理、決済に付随する処理なども含んでよく、その種類や内容は問わない。
【００６２】
端末装置５は、サーバ装置１から判断結果情報を受信し、受信した判断結果情報が否定的な判断結果を示す場合に、決済のための処理の実行を抑制する処理（以下、抑制処理）を行う。なお、抑制処理については後述する。
【００６３】
または、端末装置５は、サーバ装置１から受信した判断結果情報が否定的な判断結果を示す場合に、出力コードを用いて、決済のための処理を行ってもよい。
【００６４】
ただし、予め決められた処理は、例えば、ウェブページを表示する処理などでもよく、コードを用いた処理であれば何でもよい。なお、ＱＲコード等のコードを用いてウェブページを表示する処理は公知であり、説明を省略する。
【００６５】
本実施の形態における端末装置５は、例えば、ユーザ端末である。ユーザ端末とは、ユーザの端末である。ユーザ端末は、通常、特定のユーザの携帯端末であるが、例えば、店舗で買い物をする客である不特定のユーザが利用可能な端末でもよい。
【００６６】
ただし、端末装置５は、例えば、上記組織の職員によって操作される端末でもよく、そのタイプや所在は問わない。この種の端末装置５は、例えば、サーバ装置１から判断結果情報を受信し、受信した判断結果情報を出力する。職員は、否定的な判断結果情報が出力された場合に、例えば、コードが差し替えられた可能性がある旨を、店舗や金融機関などに連絡し、コードを用いた決済の実行を回避させてもよい。
【００６７】
サーバ装置１は、格納部１１、受付部１２、受信部１３、処理部１４、および送信部１５を備える。格納部１１は、生成コード格納部１１１を備える。受信部１３は、出力コード受信部１３１、および生成コード受信部１３２を備える。処理部１４は、判断部１４１、抽出部１４２、および蓄積部１４３を備える。送信部１５は、判断結果送信部１５１を備える。
【００６８】
端末装置５は、端末格納部５１、端末受付部５２、端末処理部５３、端末送信部５４、端末受信部５５、および端末出力部５６を備える。
【００６９】
サーバ装置１を構成する格納部１１は、各種の情報を格納し得る。各種の情報とは、例えば、生成コード情報である。なお、その他の情報については、適時説明する。
【００７０】
生成コード格納部１１１には、生成コード情報が格納される。本実施の形態において、生成コード格納部１１１には、例えば、店舗識別子に対応付けて、２以上の生成コード情報が格納される。
【００７１】
生成コード情報とは、生成コードに関する情報である。生成コードとは、生成される又は生成されたコードである。生成コードは、例えば、コード生成サーバ２によって生成される又は生成されたコードである。生成コード情報は、通常、生成されたコードを有するが、コードを生成する元データ（前述）を有していてもよい。
【００７２】
または、生成コード情報は、例えば、元データから取得される値を有していてもよい。元データから取得される値とは、例えば、元データを関数に代入することにより計算される値である。関数は、例えば、ハッシュ関数であり、元データから取得される値は、元データをハッシュ関数に代入することにより計算されるハッシュ値でもよい。ただし、関数の種類や関数で計算される値は問わない。
【００７３】
なお、生成コード情報は、例えば、予め生成コード格納部１１１に格納されていてもよい。または、生成コード情報は、例えば、受付部１２によって受け付けられ又は生成コード受信部１３２によって受信され、処理部１４によって生成コード格納部１１１に蓄積されてもよい。
【００７４】
具体的には、例えば、元データが受け付けられ又は受信され、処理部１４は、その元データからハッシュ関数を用いてハッシュ値を取得し、取得したハッシュ値を、生成コード格納部１１１に蓄積してもよい。
【００７５】
または、例えば、格納部１１に、元データと値との対の集合である対応情報が格納されており、処理部１４は、この対応情報を用いて、元データに対応する値を取得してもよく、元データから値を取得する手法は問わない。
【００７６】
なお、コード識別子と生成コード情報との対もまた、例えば、予め生成コード格納部１１１に格納されていてもよいし、受付部１２によって受け付けられ又は生成コード受信部１３２によって受信され、処理部１４によって生成コード格納部１１１に蓄積されてもよい。
【００７７】
受付部１２は、各種の情報を受け付ける。各種の情報とは、例えば、元データである。受付部１２は、通常、キーボードやタッチパネル等の入力デバイスを介して入力された情報を受け付けるが、例えば、ネットワークまたは通信回線を介して送信された情報を受信してもよいし、ディスクや半導体メモリなどの記録媒体から読み出された情報を受け付けてもよく、受け付けの態様は問わない。なお、かかる事項は、後述する端末受付部５２についても当てはまる。
【００７８】
ただし、元データは、例えば、後述する端末受付部５２によって受け付けられてもよい。また、サーバ装置１は、受付部１２を備えていなくてもよい。
【００７９】
受信部１３は、各種の情報を受信する。各種の情報とは、出力コード情報、生成コード情報などである。また、受信部１３は、例えば、端末装置５から問合せを受信する。問い合わせとは、コードが差し替えられているか否かの判断結果に関する問い合わせである。問い合わせは、例えば、店舗識別子とユーザ識別子とを有する。
【００８０】
出力コード受信部１３１は、撮影装置４から送信される出力コード情報を受信する。受信される出力コード情報は、前述したように、通常、出力コードを撮影した画像を有するが、画像から抽出された出力コードを有していてもよい。なお、後者の場合、撮影装置４は、撮影した画像から出力コードを抽出する機能を有する。
【００８１】
出力コード受信部１３１は、通常、撮影装置４から店舗識別子と対に送信される出力コード情報を受信する。
【００８２】
生成コード受信部１３２は、コード生成サーバ２から生成コード情報を受信する。生成コード受信部１３２は、例えば、店舗識別子と対に、生成コード情報を受信してもよい。受信される生成コード情報は、例えば、生成コードを有するが、生成コードに代えて、またはこれに加えて、生成コードの元データ、または生成コードから取得される値のうち１種類以上の情報を有していてもよい。
【００８３】
なお、コードが可変的なコードである場合、生成コード受信部１３２は、コード生成サーバ２によって新たなコードが生成される度に、当該新たなコードに関する生成コード情報をコード生成サーバ２から受信してもよい。
【００８４】
処理部１４は、各種の処理を行う。各種の処理とは、例えば、判断部１４１、抽出部１４２、蓄積部１４３などの処理である。また、処理部１４は、例えば、フローチャートで説明する各種の判断なども行う。なお、その他の処理については、適時説明する。
【００８５】
判断部１４１は、生成コード格納部１１１に格納されている格納コード情報と、出力コード受信部１３１が受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する。
【００８６】
本実施の形態において、格納コード情報は、生成コード情報である。つまり、生成コード格納部１１１には、コード生成サーバ２によって生成された正規のコードまたはその元データ等が格納されており、正規なコードまたはその元データ等の、不正なコードまたはその元データ等への差し替えは、困難であるとする。
【００８７】
また、本実施の形態では、前述したように、通常、画像を有する出力コード情報が受信される。この場合、例えば、後述する抽出部１４２が、受信された出力コード情報が有する画像から出力コードを抽出し、判断部１４１は、格納されている格納コード情報と、抽出された出力コードとを用いて、出力コードが生成コードと一致するか否かを判断する。
【００８８】
なお、出力コードを有する出力コード情報が受信される場合には、判断部１４１は、格納されている格納コード情報と、受信された出力コード情報が有する出力コードとを用いて、出力コードが生成コードと一致するか否かを判断すればよい。
【００８９】
他方、格納コード情報は、前述したように、通常、生成コードであるが、生成コードの元データでもよいし、元データから取得される値でもよい。
【００９０】
例えば、格納コード情報が生成コードであり、画像を有する出力コード情報が受信される場合、判断部１４１は、生成コード格納部１１１に格納されている生成コードと、後述する抽出部１４２が、受信された画像から抽出した出力コードとを照合して、出力コードが生成コードと一致するか否かを判断する。
【００９１】
なお、格納コード情報が生成コードの元データであり、画像を有する出力コード情報が受信される場合、例えば、処理部１４が、生成コード格納部１１１に格納されている元データから生成コードを生成し、判断部１４１は、生成された生成コードと、画像から抽出された出力コードとを照合して、出力コードが生成コードと一致するか否かを判断する。
【００９２】
または、格納コード情報が生成コードの元データから取得された値であり、画像を有する出力コード情報が受信される場合、例えば、処理部１４が、格納されている値から元データを計算し、計算した元データから生成コードを生成する。判断部１４１は、生成された生成コードと、画像から抽出された出力コードとを照合して、出力コードが生成コードと一致するか否かを判断する。
【００９３】
抽出部１４２は、出力コード受信部１３１が受信した出力コード情報が有する画像から出力コードを抽出する。抽出部１４２は、例えば、受信された画像に対し、二値化による輪郭線検出を行うことにより、出力コードを抽出する。なお、画像からのコード抽出は公知技術であり、詳しい説明は省略する。
【００９４】
蓄積部１４３は、生成コード受信部１３２が受信した生成コード情報を生成コード格納部１１１に蓄積する。蓄積部１４３は、例えば、生成コード受信部１３２が店舗識別子と対に受信した生成コード情報を、店舗識別子に対応付けて、生成コード格納部１１１に蓄積する。
【００９５】
なお、例えば、コードが可変的なコードである場合、蓄積部１４３は、生成コード受信部１３２が新たなコードに関する生成コード情報を受信したことに応じて、生成コード格納部１１１に格納されている格納コード情報を、受信された生成コード情報で更新してもよい。それによって、可変的なコードを用いて決済を行う場合に、コードの差し替えによる不正な支払先への支払いを防止できる。
【００９６】
送信部１５は、各種の情報を送信する。各種の情報とは、例えば、判断結果情報である。
【００９７】
判断結果送信部１５１は、判断部１４１による判断の結果に関する判断結果情報を端末装置５に送信する。
【００９８】
判断結果送信部１５１は、例えば、受信部１３が端末装置５から問い合わせを受信したことに応じて、当該問い合わせが有する店舗識別子に対応する格納コード情報に関する判断結果情報を、当該問い合わせが有するユーザ識別子に対応する端末装置５に送信してもよい。なお、端末装置５からの問い合わせに応じた処理については、フローチャートで説明する。
【００９９】
端末装置５を構成する端末格納部５１には、各種の情報が格納される。各種の情報とは、例えば、端末識別子、警告情報などである。端末識別子とは、端末装置５を識別する情報である。端末識別子は、例えば、ＭＡＣアドレスやＩＰアドレス等のアドレスであるが、ユーザ識別子、ＩＤなどでもよく、端末装置５を識別し得る情報であれば何でもよい。ユーザ識別子とは、端末装置５のユーザを識別する情報である。ユーザ識別子は、例えば、携帯電話番号、メールアドレス、住所・氏名などであるが、ユーザを識別し得る情報であれば何でもよい。なお、本実施の形態において、端末識別子は、ユーザ識別子であるとする。
【０１００】
警告情報とは、コードが差し替えられている可能性について、端末装置５のユーザに警告する情報である。警告情報は、例えば、“コードが差し替えられている可能性があります”等の文字列であるが、コードの差し替えを示唆するマークでもよいし、単なる警告音の音声データなどでもよく、その種類は問わない。
【０１０１】
端末受付部５２は、各種の情報や各種の指示を受け付ける。各種の情報とは、例えば、元データである。各種の指示とは、例えば、決済指示、キャンセル指示などである。決済指示とは、コードを用いた決済のための処理を実行する指示である。キャンセル指示と、コードを用いた決済のための処理をキャンセルする指示である。
【０１０２】
端末処理部５３は、各種の処理を行う。各種の処理とは、例えば、出力コードの読み取り、決済のための処理などである。また、端末処理部５３は、例えば、フローチャートで説明する各種の判別なども行う。
【０１０３】
端末処理部５３は、例えば、店舗端末のディスプレイに表示されている出力コードを内蔵カメラで読み取る。詳しくは、端末処理部５３は、表示されている出力コードを内蔵カメラで撮影し、撮影した又は撮影中の画像から出力コードを抽出する。そして、出力コードの読み取りの後、端末受付部５２が決済指示を受け付けたことに応じて、端末処理部５３は、当該出力コードを用いて決済のための処理を行う。
【０１０４】
また、端末処理部５３は、例えば、撮影した又は撮影中の画像から出力コードを抽出し、さらに、店舗端末である出力装置３から店舗識別子を受信したことに応じて、受信した店舗識別子と、端末格納部５１に格納されているユーザ識別子とを有する問合せを、端末送信部５４を介してサーバ装置１に送信する。
【０１０５】
また、端末処理部５３は、例えば、上記のような問い合わせの送信に応じて、端末受信部５５がサーバ装置１から否定的な判断結果を示す判断結果情報を受信した場合に、抑制処理を実行する。抑制処理とは、決済のための処理の実行を抑制する処理である。抑制処理は、例えば、コードが差し替えられている可能性についての警告を、端末格納部５１に格納されている警告情報を用いて、端末出力部５６を介して出力する処理である。
【０１０６】
または、抑制処理は、例えば、受信された判断結果情報を出力することでもよい。なお、出力される判断結果情報は、受信された判断結果情報と同じでなくてもよい。出力される判断結果情報は、例えば、“表示されているコードは正規のコードと一致しません”または“表示されているコードは正規のコードと一致します”などであるが、その表現形式は問わない。
【０１０７】
または、抑制処理は、例えば、決済のための処理を行わないことでもよい。詳しくは、例えば、端末受信部５５がサーバ装置１から否定的な判断結果を示す判断結果情報を受信した場合、端末処理部５３は、端末受付部５２が決済指示を受け付けても、決済のための処理を行わなくてもよい。
【０１０８】
または、抑制処理は、例えば、決済指示を受け付けないことでもよい。詳しくは、端末処理部５３は、例えば、端末受信部５５がサーバ装置１から肯定的な判断結果を示す判断結果情報を受信した場合にだけ、端末受付部５２を介して入力された決済指示を受け付け、否定的な判断結果を示す判断結果情報を受信した場合には、決済指示の受け付けを行わなくてもよい。
【０１０９】
このように、抑制処理は、サーバ装置１から否定的な判断結果を示す判断結果情報が受信された場合に、決済のための処理の実行が、結果として抑制されるような処理であれば、どのような処理でもよい。
【０１１０】
端末送信部５４は、端末受付部５２が受け付けた各種の情報や各種の指示をサーバ装置１に送信する。端末送信部５４は、受け付けられた各種の情報や各種の指示を、例えば、端末格納部５１に格納されている端末識別子と対に、サーバ装置１に送信してもよい。
【０１１１】
端末受信部５５は、サーバ装置１から判断結果情報を受信する。また、端末受信部５５は、例えば、店舗端末である出力装置３から店舗識別子を受信する。
【０１１２】
端末出力部５６は、各種の情報を出力する。各種の情報とは、例えば、内蔵カメラで撮影された画像または当該画像から抽出された出力コード、警告、判断結果情報などである。
【０１１３】
端末出力部５６は、例えば、端末受信部５５がサーバ装置１から否定的な判断結果を示す判断結果情報を受信した場合に、端末格納部５１に格納されている警告情報に基づく警告を出力する。
【０１１４】
格納部１１、生成コード格納部１１１、および端末格納部５１は、例えば、ハードディスクやフラッシュメモリといった不揮発性の記録媒体が好適であるが、ＲＡＭなど揮発性の記録媒体でも実現可能である。
【０１１５】
なお、格納部１１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部１１等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が格納部１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部１１等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル等、何でもよい。
【０１１６】
受付部１２、および端末受付部５２は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部１２等は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。
【０１１７】
受信部１３、出力コード受信部１３１、生成コード受信部１３２、および端末受信部５５は、通常、有線または無線の通信手段（例えば、ＮＩＣ(Network interface controller)やモデム等の通信モジュール）で実現されるが、放送を受信する手段（例えば、放送受信モジュール）で実現されてもよい。
【０１１８】
処理部１４、判断部１４１、蓄積部１４３、および端末処理部５３は、通常、ＭＰＵやメモリ等から実現され得る。処理部１４等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。ただし、処理手順は、ハードウェア（専用回路）で実現してもよい。
【０１１９】
送信部１５、判断結果送信部１５１、および端末送信部５４は、通常、有線または無線の通信手段で実現されるが、放送手段（例えば、放送モジュール）で実現されてもよい。
【０１２０】
端末出力部５６は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。端末出力部５６は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。
【０１２１】
次に、情報システムの動作について、図２〜図４のフローチャートを用いて説明する。なお、図２〜図４のフローチャートには、生成コードの元データから取得される値が生成コード格納部１１１に格納されており、撮影装置４から画像を有する出力コード情報が送信される場合の処理が示されている。
【０１２２】
図２は、本実施の形態におけるサーバ装置１の動作を説明するフローチャートである。
【０１２３】
（ステップＳ２０１）処理部１４は、出力コード受信部１３１が出力コード情報を店舗識別子と対に受信したか否かを判別する。出力コード受信部１３１が出力コード情報を店舗識別子と対に受信したと判別されるとステップＳ２０２に進み、受信していないと判別されるとステップＳ２０７に進む。
【０１２４】
（ステップＳ２０２）抽出部１４２は、ステップＳ２０１で受信された出力コード情報が有する画像から出力コードを抽出する。
【０１２５】
（ステップＳ２０３）判断部１４１等は、ステップＳ２０２で抽出された出力コードが生成コードと一致するか否かを判断する判断処理を行う。なお、この判断処理については、図３のフローチャートを用いて説明する。
【０１２６】
（ステップＳ２０４）処理部１４は、ステップＳ２０３の判断結果が肯定的か否かを、後述する変数を用いて判別する。ステップＳ２０３の判断結果が肯定的である場合はステップＳ２０５に進み、否定的である場合はステップＳ２０６に進む。
【０１２７】
（ステップＳ２０５）処理部１４は、肯定的な判断結果を示す判断結果情報を、ステップＳ２０１で受信された店舗識別子に対応付けて格納部１１に蓄積する。その後、ステップＳ２０１に戻る。
【０１２８】
（ステップＳ２０６）処理部１４は、否定的な判断結果を示す判断結果情報を、ステップＳ２０１で受信された店舗識別子に対応付けて格納部１１に蓄積する。その後、ステップＳ２０１に戻る。
【０１２９】
（ステップＳ２０７）処理部１４は、生成コード受信部１３２が生成コード情報を店舗識別子と対に受信したか否かを判別する。生成コード受信部１３２が生成コード情報を店舗識別子と対に受信したと判別された場合はステップＳ２０８に進み、受信していないと判別された場合はステップＳ２０９に進む。
【０１３０】
（ステップＳ２０８）蓄積部１４３は、ステップＳ２０７で店舗識別子と対に受信された生成コード情報を、当該店舗識別子に対応付けて生成コード格納部１１１に蓄積する。その後、ステップＳ２０１に戻る。
【０１３１】
（ステップＳ２０９）処理部１４は、受信部１３が問い合わせを受信したか否かを判別する。受信部１３が問い合わせを受信したと判別された場合はステップＳ２１０に進み、受信していないと判別された場合はステップＳ２０１に戻る。
【０１３２】
（ステップＳ２１０）処理部１４は、ステップＳ２０９で受信された問い合わせが有する店舗識別子に対応する判断結果情報を、格納部１１から取得する。
【０１３３】
（ステップＳ２１１）判断結果送信部１５１は、ステップＳ２１０で取得された判断結果情報を、ステップＳ２０９で受信された問い合わせが有するユーザ識別子で識別される端末装置５に送信する。なお、送信される判断結果情報は、ステップＳ２１０で取得された判断結果情報と同じでなくてもよい。例えば、処理部１３が、ステップＳ２１０で取得した判断結果情報のフォーマットを、送信用のフォーマットに変換する処理を行い、判断結果送信部１５１は、変換後の判断結果情報を送信してもよい。その後、ステップＳ２０１に戻る。
【０１３４】
なお、図２のフローチャートにおいて、サーバ装置１の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。
【０１３５】
図３は、ステップＳ２０３の判断処理を説明するフローチャートである。
【０１３６】
（ステップＳ３０１）処理部１４は、生成コード格納部１１１に格納されている１以上の生成コード情報のうち、ステップＳ２０１で受信された店舗識別子に対応する格納コード情報を参照する。
【０１３７】
（ステップＳ３０２）処理部１４は、ステップＳ３０１で参照した生成コード情報から値を取得する。
【０１３８】
（ステップＳ３０３）処理部１４は、ステップＳ３０２で取得した値から元データを取得する。
【０１３９】
（ステップＳ３０４）処理部１４は、ステップＳ３０３で取得した元データから生成コードを生成する。
【０１４０】
（ステップＳ３０５）判断部１４１は、ステップＳ２０２で抽出された出力コードが、ステップＳ３０４で再構成された生成コードと一致するか否かを判断する。出力コードが生成コードと一致すると判断された場合はステップＳ３０６に進み、一致しないと判断された場合はステップＳ３０７に進む。
【０１４１】
（ステップＳ３０６）判断部１４１は、判断結果を示す変数に“肯定的”をセットする。その後、上位の処理にリターンする。
【０１４２】
（ステップＳ３０７）判断部１４１は、上記変数に“否定的”をセットする。その後、上位の処理にリターンする。
【０１４３】
図４は、本実施の形態における端末装置５の動作を説明するフローチャートである。ユーザの携帯端末である端末装置５の内蔵カメラが、出力装置３０のディスプレイに向けられており、端末処理部５３は、ディスプレイに表示されている出力コードを撮影している。
【０１４４】
（ステップＳ４０１）端末処理部５３は、撮影中の画像から出力コードを抽出したか否かを判別する。撮影中の画像から出力コードを抽出したと判別されるとステップＳ４０２に進み、抽出していないと判別されるとステップＳ４０１に戻る。
【０１４５】
（ステップＳ４０２）端末処理部５３は、端末受信部５５が店舗識別子を受信したか否かを判別する。端末受信部５５が店舗識別子を受信したと判別されるとステップＳ４０３に進み、受信していないと判別されるとステップＳ４０１に戻る。
【０１４６】
（ステップＳ４０３）端末送信部５４は、ステップＳ４０２で受信した店舗識別子と、端末格納部５１に格納されているユーザ識別子とを有する問い合わせをサーバ装置１に送信する。
【０１４７】
（ステップＳ４０４）端末処理部５３は、端末受信部５５が判断結果情報を受信したか否かを判別する。端末受信部５５が判断結果情報を受信したと判別されるとステップＳ４０５に進み、受信していないと判別されるとステップＳ４０４に戻る。
【０１４８】
（ステップＳ４０５）端末処理部５３は、ステップＳ４０４で受信された判断結果情報が否定的な判断結果を示すか否かを判別する。受信された判断結果情報が、否定的な判断結果を示すと判別された場合はステップＳ４０６に進み、肯定的な判断結果を示すと判別された場合はステップＳ４０７に進む。
【０１４９】
（ステップＳ４０６）端末出力部５６は、コードが差し替えられている可能性についての警告を出力する。
【０１５０】
（ステップＳ４０７）端末処理部５３は、端末受付部５２が決済指示を受け付けたか否かを判別する。端末受付部５２が決済指示を受け付けたと判別された場合はステップＳ４０８に進み、受け付けていないと判別された場合はステップＳ４０９に進む。
【０１５１】
（ステップＳ４０８）端末処理部５３は、ステップＳ４０１で抽出した出力コードを用いて決済のための処理を実行する。その後、ステップＳ４０１に戻る。
【０１５２】
（ステップＳ４０９）端末処理部５３は、端末受付部５２がキャンセル指示を受け付けたか否かを判別する。端末受付部５２がキャンセル指示を受け付けたと判別された場合はステップＳ４０１に戻り、受け付けていないと判別された場合はステップＳ４０７に戻る。
【０１５３】
なお、図４のフローチャートにおいて、端末装置５の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。
【０１５４】
以下、本実施の形態における情報システムの具体的な動作例について説明する。なお、以下の説明は、種々の変更が可能であり、本発明の範囲を何ら制限するものではない。
【０１５５】
本例における情報システムは、サーバ装置１、コード生成サーバ２、２以上の出力装置３、２以上の撮影装置４、および２以上の端末装置５を備える。
【０１５６】
２以上の出力装置３のうち１つ（以下、出力装置３Ｘ）は、店舗Ｘのレジ端末であり、当該レジ端末が有するディスプレイに、店舗Ｘ用のコードを表示する。２以上の出力装置３のうち他の１つ（以下、出力装置３Ｙ）は、店舗Ｙの店員の携帯端末であり、当該携帯端末が有するディスプレイに、店舗Ｙ用のコードを表示する。
【０１５７】
なお、出力装置３Ｘからは、店舗識別子“Ｘ”が、出力装置３Ｙからは、店舗識別子“Ｙ”が、それぞれ定期的に送信されている。
【０１５８】
２以上の撮影装置４のうち１つ（以下、撮影装置４Ｘ）は、店舗Ｘの監視カメラであり、店舗Ｘのレジ端末である出力装置３Ｘのディスプレイに表示されているコードを定期的に撮影している。
【０１５９】
２以上の撮影装置４のうち他の１つ（以下、撮影装置４Ｙ）は、店舗Ｙの店員の携帯端末であり、同じく店舗Ｙの店員の携帯端末である出力装置３Ｙのディスプレイに表示されているコードを定期的に撮影している。つまり、出力装置３Ｙと撮影装置４Ｙとは、店舗Ｙの店員が保有する一の携帯端末で実現され、この携帯端末は、当該携帯端末自身のディスプレイに表示されている画面であり、コードを含む画面を、仮想カメラで定期的に撮影している。
【０１６０】
２以上の端末装置５のうち、１つ（以下、端末装置５Ａ）は、ユーザＡの携帯端末であり、他の１つ（以下、端末装置５Ｂ）は、ユーザＢの携帯端末である。
【０１６１】
格納部１１には、例えば、画面構成情報が格納される。画面構成情報とは、画面を構成するための情報である。画面構成情報は、例えば、１または２以上のオブジェクト、およびレイアウト情報などを有する。オブジェクトとは、画面を構成する要素である。オブジェクトは、例えば、画像である。画像は、例えば、ボタンの画像である。ボタンは、例えば、決済指示を入力するための“決済する”ボタンである。または、オブジェクトは、文字列でもよい。文字列は、例えば、警告文である。レイアウト情報とは、画面内における１以上のオブジェクトの配置を示す情報である。レイアウト情報は、例えば、１以上の各オブジェクトの画面内における位置を示す情報（例えば、座標）の集合であるが、そのデータ構造は問わない。
【０１６２】
格納部１１には、例えば、図５に示すような、店舗識別子と生成コード情報との対の集合が格納されている。店舗識別子と生成コード情報の対とは、例えば、店舗識別子“Ｘ”と生成コード情報“ａａａａ”との対、店舗識別子“Ｙ”と生成コード情報“ｂｂｂｂ”との対などである。
【０１６３】
生成コード情報“ａａａａ”は、コード生成サーバ２が店舗Ｘ用に生成したコードの元データからハッシュ関数で計算されたハッシュ値である。生成コード情報“ｂｂｂｂ”は、コード生成サーバ２が店舗Ｙ用に生成したコードの元データからハッシュ関数で計算されたハッシュ値である。従って、生成コード情報“ａａａａ”および生成コード情報“ｂｂｂｂ”は、いずれも正規の生成コード情報である。
【０１６４】
端末装置５Ａの端末格納部５１には、ユーザ識別子“Ａ”が、端末装置５Ｂの端末格納部５１には、ユーザ識別子“Ｂ”が、それぞれ格納されている。
【０１６５】
店舗Ｘにおいて、レジ端末である出力装置３Ｘのディスプレイに、コードが表示されており、監視カメラである撮影装置４Ｘは、ディスプレイに表示されているコードを定期的に撮影している。撮影装置４Ｘは、コードを撮影する度に、撮影した画像を有する出力コード情報を、店舗識別子“Ｘ”と対にサーバ装置１に送信する。
【０１６６】
サーバ装置１において、出力コード受信部１３１が上記出力コード情報を店舗識別子“Ｘ”と対に受信し、抽出部１４２は、受信された出力コード情報が有する画像から出力コードを抽出する。
【０１６７】
処理部１４は、生成コード格納部１１１に格納されている２以上の生成コード情報のうち、受信された店舗識別子“Ｘ”に対応する生成コード情報を参照する。そして、当該生成コード情報からハッシュ値“ａａａａ”を取得し、取得したハッシュ値からハッシュ関数を用いて元データを算出し、算出した元データからコードを生成する。
【０１６８】
判断部１４１は、画像から抽出された出力コードが、生成コード情報を基に生成された生成コードと一致するか否かを判断する。ここでは、出力コードが生成コードと一致すると判断され、処理部１４は、肯定的な判断結果を示す判断結果情報を、店舗識別子“Ｘ”に対応付けて格納部１１に蓄積する。
【０１６９】
なお、店舗Ｙについても、上記と同様の処理が行われ、肯定的な判断結果を示す判断結果情報が、店舗識別子“Ｙ”に対応付けて格納部１１に蓄積される。
【０１７０】
ユーザＡは、店舗Ｘで買い物をし、コードを用いて決済を行おうとしている。ユーザＡは、自分の携帯端末である端末装置５Ａの内蔵カメラを出力装置３Ｘのディスプレイに向け、表示されているコードを撮影する。
【０１７１】
端末装置５Ａにおいて、端末処理部５３が、撮影中の画像からコードを抽出し、さらに、端末受信部５５が、出力装置３Ｘから店舗識別子“Ｘ”を受信すると、端末送信部５４は、受信した店舗識別子“Ｘ”と、端末格納部５１に格納されているユーザ識別子“Ａ”とを有する問い合わせを、サーバ装置１に送信する。
【０１７２】
サーバ装置１において、受信部１３が上記問い合わせを受信し、処理部１４は、受信された問い合わせが有する店舗識別子“Ｘ”に対応する判断結果情報を格納部１１から取得する。判断結果送信部１５１は、取得された判断結果情報を、受信された問い合わせが有するユーザ識別子“Ａ”で識別される端末装置５Ａに送信する。
【０１７３】
端末装置５Ａにおいて、端末受信部５５が上記判断結果情報を受信し、端末処理部５３は、受信された判断結果情報が肯定的な判断結果を示すことから、決済指示を行うための“決済する”ボタンを有する画面を構成する。端末出力部５６は、構成された画面を、ディスプレイを介して出力する。
【０１７４】
これにより、端末装置５Ａのディスプレイには、例えば、図６に示すような、“決済する”ボタンを有する画面が表示される。ユーザＡが“決済する”ボタンを押下すると、端末受付部５２は、決済指示を受け付け、端末処理部５３は、抽出した出力コードを用いて決済のための処理を実行する。
【０１７５】
なお、生成コード情報が不正なコードに差し替えられた場合の動作は、以下のようになる。例えば、店舗Ｙの出力装置３Ｙから出力される出力コードが、第三者によって不正なコードに差し替えられたとすると、店舗Ｙにおいて、店員の携帯端末である出力装置３Ｙのディスプレイには、それまで表示されていた正規のコードに代えて、不正なコードが表示される。
【０１７６】
同じ店員の携帯端末である撮影装置４Ｙは、不正なコードを含む画面のキャプチャ画像取得し、取得したキャプチャ画像を有する出力コード情報を、店舗識別子“Ｙ”と対にサーバ装置１に送信する。
【０１７７】
サーバ装置１において、出力コード受信部１３１が上記出力コード情報を店舗識別子“Ｙ”と対に受信し、抽出部１４２は、受信された出力コード情報が有するキャプチャ画像から出力コードを抽出する。処理部１４は、受信された店舗識別子“Ｙ”に対応する生成コード情報を参照して、当該生成コード情報からハッシュ値“ｂｂｂｂ”を取得し、取得したハッシュ値からハッシュ関数を用いて元データを算出し、算出した元データから生成コードを生成する。
【０１７８】
ここでは、判断部１４１によって、出力コードが生成コードと一致しないと判断され、処理部１４は、否定的な判断結果を示す判断結果情報を、店舗識別子“Ｙ”に対応付けて格納部１１に蓄積する。
【０１７９】
ユーザＢは、店舗Ｙで買い物をした後、自分の携帯端末である端末装置５Ｂの内蔵カメラを、店員の携帯端末である出力装置３Ｙのディスプレイに向け、表示されているコードを撮影する。
【０１８０】
端末装置５Ｂにおいて、端末処理部５３が撮影中の画像からコードを抽出し、端末受信部５５が出力装置３Ｙから店舗識別子“Ｙ”を受信すると、端末送信部５４は、受信された店舗識別子“Ｙ”と、端末格納部５１のユーザ識別子“Ｂ”とを有する問い合わせをサーバ装置１に送信する。
【０１８１】
サーバ装置１において、受信部１３が上記問い合わせを受信し、処理部１４は、当該問い合わせが有する店舗識別子“Ｙ”に対応する判断結果情報を取得し、判断結果送信部１５１は、取得された判断結果情報を、当該問い合わせが有するユーザ識別子“Ｂ”で識別される端末装置５Ｂに送信する。
【０１８２】
端末装置５Ｂにおいて、端末受信部５５が上記判断結果情報を受信し、端末処理部５３は、当該判断結果情報が否定的な判断結果を示すことから、コードが差し替えられている可能性についての警告を有する画面を構成する。端末出力部５６は、構成された画面を、ディスプレイを介して出力する。
【０１８３】
これにより、端末装置５Ｂのディスプレイには、例えば、図７に示すような、警告文“ＱＲコードが不正なコードに差し替えられた可能性があります。別の方法で決済を行って下さい”を有する画面が表示される。例えば、ユーザＢがホームボタンの押下を行うと、キャンセル操作が受け付けられ、コードを用いた決済はキャンセルされる。
【０１８４】
（変形例１）
【０１８５】
実施の形態では、生成コード格納部１１１に格納されている格納コード情報は、正規のコードに関する情報であり、不正なコードに差し替えられることはなかったが、本変形例１では、格納コード情報も、不正なコードに関する情報に差し替えられる可能性がある。
【０１８６】
本変形例１において、生成コード格納部１１１は、図示しない３以上の格納手段を含む。なお、３以上の格納手段は、例えば、３以上の記録媒体で実現されることは好適であるが、１つまたは２つの記録媒体で実現されてもよい。
【０１８７】
生成コード格納部１１１を構成する３以上の格納手段には、一の生成コードに対応する３以上の生成コード情報が格納される。３以上の格納手段には、２以上の各店舗識別子ごとに、生成コードに対応する３以上の生成コード情報が格納されてもよい。例えば、コード生成サーバ２によって、一の店舗識別子に対応するコードが生成されると、処理部１４は、生成されたコードに関する３以上の格納コード情報を構成し、当該端末識別子に対応付けて３以上の格納手段に蓄積する。なお、以下では、生成コード情報は、生成コードであるとする。
【０１８８】
一の店舗識別子に対応付けて３以上の格納手段に格納されている３以上の生成コード情報は、通常、どれも正規のコードに関する情報であるが、そのうち１つ又は２つ以上が、第三者によって不正なコードに差し替えられる可能性がある。
【０１８９】
変形例１において、生成コード格納部１１１を構成する格納手段の数は、通常、３である。格納手段の数が２であると、一の格納コード情報が差し替えられた場合に、２つの格納コード情報のどちらが真のコードか判断することは容易でない。これに対して、格納手段の数が３であれば、一の格納コード情報が差し替えられても、他の２つの格納コード情報が同じであることから、これら２つの格納コード情報が最多数（過半数といってもよい）であり、真のコードであることを容易に判断にできる。
【０１９０】
ただし、格納手段の数は、４以上でもよい。その場合でも、格納手段の数は、奇数（例えば、５、７等）であることは好適である。格納手段の数が２ｍ（例えば、ｍ＝２）であると、ｍ個の格納コード情報が同じ不正なコード情報に差し替えられた場合に、差し替えられていないｍ個の格納コード情報の組と、差し替えられたｍ個のコード情報の組のどちらが真のコードの組かを判断することは困難となる。これに対して、格納手段の数が２ｍ＋１であれば、ｍ個の格納コードの格納コード情報が差し替えられた場合に、残りのｍ＋１個の格納コード情報が同じであることから、これらｍ＋１の格納コード情報が最多数であり、真のコードであることを容易に判断にできる。
【０１９１】
なお、例えば、格納手段の数が３ｍ（例えば、ｍ＝２）である場合、ｍ個の格納コード情報が同じ第一の不正なコード情報に差し替えられ、他のｍ個の格納コード情報が同じ第二の不正なコード情報に差し替えられた場合に、差し替えられていないｍ個の格納コード情報の組と、第一の不正なコード情報に差し替えられたｍ個のコード情報の組と、第二の不正なコード情報に差し替えられたｍ個のコード情報の組とは、それを構成する格納コード情報の数が同数なので、最多数の格納コードである最多数格納コードは一意に決まらず、どの組の格納コード情報が真のコードかを判断することは困難となる。
【０１９２】
これに対して、格納手段の数が３ｍ＋１であれば、ｍ個の格納手段の格納コード情報が同じ第一の不正なコード情報に差し替えられ、他のｍ個の格納手段の格納コード情報が同じ第二の不正なコード情報に差し替えられた場合に、その他のｍ＋１個の格納コード情報が最多数であることから、最多数格納コードが一意に決まり、真のコードを容易に判断にできる。
【０１９３】
このように、格納手段の数が３以上の奇数であれば、２以上の偶数の場合と比べ、最多数格納コードが一意に決まる可能性が高まり、真のコードを容易に判断にできる。
【０１９４】
判断部１４１を構成する第一判断手段は、３以上の格納手段に格納されている３以上の格納コード情報を用いて、３以上の格納コード情報に対応する３以上の格納コードの中に、一致する２以上の格納コードの組が１組以上存在するか否かを判断する。
【０１９５】
第二判断手段は、第一判断手段が３以上の格納コードの中に、上記のような組が１組以上存在すると判断した場合に、一の組を構成する格納コードであり、他のどの組を構成する格納コードよりも数が多い格納コードである最多数格納コードが唯一つ存在するか否かを判断する。
【０１９６】
決定手段は、第二判断手段が最多数格納コードが唯一つ存在すると判断した場合に、最多数格納コードを生成コードに決定する。
【０１９７】
第三判断手段は、決定手段が決定した生成コードと、出力コード受信部１３１が受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する。
【０１９８】
例えば、３つの生成コード情報が格納され、それらに対応する３つの格納コードの中に、一致する２以上の格納コードの組が存在する場合は、当該組を構成する格納コードが、最も数が多い格納コードであるため、生成コードに決定される。
（２ｎ＋１）個の生成コード情報が格納され、対応する（２ｎ＋１）個の格納コードの中に、一致する２以上の格納コードの組が１組だけ存在する場合は、当該組を構成する格納コードが、最も数が多い格納コードであるため、生成コードに決定される。
対応する（２ｎ＋１）個の格納コードの中に、一致する２以上の格納コードの組が２組〜ｎ組存在する場合は、一の組を構成する格納コードであり、他のどの組を構成する格納コードよりも数が多い最多数格納コードが、生成コードに決定される。なお、２以上の組の間で、格納コードの数が同数の場合は、その数が最多でも、最多数格納コードは存在しないと判断される。
【０１９９】
判断結果送信部１５１は、例えば、第一判断手段が上記組が存在しないと判断した場合、または第二判断手段が最多数格納コードが存在しないと判断した場合、または第三判断手段が出力コードが生成コードと一致しないと判断した場合に、コードが差し替えられている可能性についての警告を有する判断結果情報を送信する。
【０２００】
また、判断結果送信部１５１は、例えば、第三判断手段が出力コードが生成コードと一致すると判断した場合に、出力コードを用いて決済のための処理を行うことを許容する情報を送信してもよい。
【０２０１】
本変形例１における情報システムの動作は、ステップＳ２０３の判断処理、およびステップＳ２０８の蓄積処理を除いて、実施の形態と同様である。
【０２０２】
ステップＳ２０８では、受信された生成コード情報と同じ３以上の生成コード情報を構成し、店舗識別子に対応付けて３以上の格納手段に蓄積する。
【０２０３】
図８は、本変形例１におけるステップＳ２０３の判断処理を説明するフローチャートである。
【０２０４】
（ステップＳ８０１）処理部１４は、生成コード格納部１１１を構成する３以上の格納手段から、ステップＳ２０１で受信された店舗識別子に対応する３以上の格納コード情報を取得する。
【０２０５】
（ステップＳ８０２）判断部１４１を構成する第一判断手段は、３以上の格納手段に格納されている３以上の格納コード情報を用いて、３以上の格納コード情報に対応する３以上の格納コードの中に、一致する２以上の格納コードの組が１組以上存在するか否かを判断する。一致する２以上の格納コードの組が、１組以上存在すると判断された場合はステップＳ８０３に進み、１組も存在しないと判断された場合はステップＳ８０７に進む。
【０２０６】
（ステップＳ８０３）第二判断手段は、上記１以上の組のうち、一の組を構成する格納コードであり、他のどの組を構成する格納コードよりも数が多い格納コードである最多数格納コードが唯一つ存在するか否かを判断する。最多数格納コードが、唯一つ存在すると判断された場合はステップＳ８０４に進み、２つ以上存在すると判断された場合はステップＳ８０７に進む。
【０２０７】
（ステップＳ８０４）決定手段は、ステップＳ８０４で唯一つ存在すると判断された最多数格納コードを生成コードに決定する。
【０２０８】
（ステップＳ８０５）第三判断手段は、ステップＳ２０２で抽出された出力コードが、ステップＳ８０４で決定された生成コードと一致するか否かを判断する。出力コードが生成コードと一致すると判断された場合はステップＳ８０６に進み、一致しないと判断された場合はステップＳ８０７に進む。
【０２０９】
（ステップＳ８０６）第三判断手段は、判断結果を示す変数に“肯定的”をセットする。その後、上位の処理にリターンする。
【０２１０】
（ステップＳ８０７）第三判断手段は、上記変数に“否定的”をセットする。その後、上位の処理にリターンする。
【０２１１】
（変形例２）
【０２１２】
実施の形態では、出力装置３は、店舗端末（例えば、レジ端末または店員の携帯端末）であり、端末装置５は、ユーザ端末（例えば、ユーザの携帯端末）であったが、本変形例２では、例えば、ユーザの携帯端末が出力装置３であり、レジ端末または店員の携帯端末が端末装置５である。
【０２１３】
従って、本変形例２において、装置識別子は、ユーザ識別子であり、端末識別子は、店舗識別子である。表示器は、例えば、ユーザの携帯端末が有するディスプレイであり、撮影装置４は、例えば、レジ端末が有するスキャナ、または店員の携帯端末が有する内蔵カメラなどである。生成コードは、ユーザの携帯端末が有するディスプレイに表示され、レジ端末が有するスキャナ、または店員の携帯端末が有する内蔵カメラで撮影される。そして、撮影された画像を有する出力コード情報が、サーバ装置１に送信される。なお、サーバ装置１の動作は、実施の形態と同様である。
【０２１４】
サーバ装置１から送信された判断結果情報が、レジ端末または店員の携帯端末によって受信され、レジ端末または店員の携帯端末は、受信した判断結果情報が否定的な判断結果を示す場合に、抑制処理を行う。
【０２１５】
ユーザの携帯端末は、レジ端末等のディスプレイに表示されている出力コードをカメラで撮影した画像から出力コードを抽出し、抽出した出力コードを用いて決済のための処理を行う前に、抽出した出力コードを有する出力コード情報をサーバ装置１に送信する。
【０２１６】
サーバ装置１を構成する出力コード受信部１３１は、ユーザ端末から送信された出力コード情報を受信し、判断部１４１は、生成コード格納部１１１に格納されている生成コード情報と、受信された出力コード情報が有する出力コードとを用いて、出力コードが生成コードと一致するか否かを判断する。
【０２１７】
なお、情報システムのフローチャートは、実施の形態ではレジ端末または店員の携帯端末であった出力装置３が、本変形例３ではユーザの携帯端末であり、実施の形態ではユーザの携帯端末であった端末装置５が、本変形例３ではレジ端末または店員の携帯端末である点を除いて、図２〜図４と同様である。具体例も、実施の形態の具体例において、出力装置３をレジ端末または店員の携帯端末からユーザの携帯端末に変更し、端末装置５をユーザの携帯端末からレジ端末または店員の携帯端末に変更すればよい。
【０２１８】
（変形例３）
【０２１９】
実施の形態における撮影装置４は、監視カメラ、または店員の携帯端末が有する内蔵カメラであったが、本変形例３における撮影装置４は、ユーザの携帯端末が有する内蔵カメラである。
【０２２０】
他の要素は、実施の形態と同様でよい。すなわち、出力装置３は、例えば、店舗端末（例えば、レジ端末、またはユーザの携帯端末）であり、表示器は、例えば、店舗端末が有するディスプレイであり、端末装置５は、例えば、ユーザの携帯端末である。つまり、本変形例３において、撮影装置４および端末装置５は、ユーザが保有する一の携帯端末によって実現される。従って、本変形例３において、装置識別子および端末識別子は、いずれもユーザ識別子である。
【０２２１】
かかる端末装置５を構成する端末処理部５３は、例えば、店舗端末が有するディスプレイに表示されている出力コードを内蔵カメラで撮影し、撮影した画像から出力コードを抽出し、抽出した出力コードを用いて決済のための処理を行う前に、当該抽出した出力コードを有する出力コード情報をサーバ装置１に端末出力部５６を介して送信する。そして、端末処理部５３は、サーバ装置１からの判断結果情報を端末送信部５４を介して受信し、受信した判断結果情報が否定的な判断結果を示す場合に、抑制処理を行うことは好適である。
【０２２２】
従って、本変形例３では、図４のステップＳ４０１が、下記ステップＳ４０１ａに置き換えられる。
【０２２３】
（ステップＳ４０２ａ）端末送信部５４は、ステップＳ４０１で抽出した出力コードを、ステップＳ４０２で受信した店舗識別子、および端末格納部５１に格納されているユーザ識別子と対に、サーバ装置１に送信する。
【０２２４】
サーバ装置１の動作は、画像からの出力コードの抽出が不要である点を除いて、実施の形態と同様である。従って、本変形例３では、図２のフローチャートから、ステップＳ２０２が削除される。
【０２２５】
以上、本実施の形態によれば、生成コード格納部１１１に、生成される又は生成された生成コードに関する生成コード情報が格納されるべきであり、サーバ装置１は、生成コードを出力する出力装置３によって出力された出力コードを撮影する撮影装置４から、出力コードを撮影した画像または画像から抽出された出力コードを有する出力コード情報を受信し、生成コード格納部１１１に格納されている格納コード情報と、受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断し、判断の結果に関する判断結果情報を端末装置に送信することにより、コードの差し替えを検知できる。
【０２２６】
また、サーバ装置１は、コードを生成するコード生成サーバ２から生成コード情報を受信し、受信した生成コード情報を生成コード格納部１１１に蓄積することにより、可変的なコードの差し替えも検知できる。
【０２２７】
なお、上記構成において、コードは、可変的なコードであり、サーバ装置１は、コード生成サーバ２によって新たなコードが生成される度に、当該新たなコードに関する生成コード情報を受信し、新たなコードに関する生成コード情報を受信したことに応じて、生成コード格納部１１１に格納されている格納コード情報を、受信された生成コード情報で更新してもよく、これによって、生成コード格納部１１１の容量を削減できる。
【０２２８】
また、上記構成において、出力装置３は、生成コードを表示器に表示し、撮影装置４は、表示器に表示されているコードを撮影し、端末装置５は、出力コードを用いて決済のための処理を行うことにより、端末装置５が表示器に表示されているコードを用いて決済を行う場合に、サーバ装置１は、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２２９】
また、上記構成において、出力装置３は、店舗の端末である店舗端末であり、表示器は、店舗端末が有するディスプレイであり、端末装置５は、ユーザの端末であるユーザ端末であることにより、店舗端末が有するディスプレイに表示されているコードを用いて、ユーザ端末で決済を行う場合に、サーバ装置１は、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２３０】
また、上記構成において、撮影装置４は、ディスプレイに表示されている出力コードを監視する監視カメラであることにより、店舗のディスプレイに表示されているコードを用いて、ユーザ端末で決済を行う場合に、表示されているコードを監視カメラで監視することで、サーバ装置１は、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２３１】
また、上記構成において、監視カメラは、ディスプレイに表示されている出力コードを定期的または不定期に撮影し、撮影した画像をメモリに蓄積し、撮影した画像がメモリに格納されている画像に対して変化したか否かを判断し、撮影した画像がメモリに格納されている画像に対して変化したと判断した場合に、撮影した画像を有する出力コード情報を送信し、サーバ装置１は、監視カメラから出力コード情報を受信したことに応じて、出力コード情報が有する画像から出力コードを抽出し、生成コード格納部１１１に格納されている格納コード情報と、抽出した出力コードとを用いて、出力コードが生成コードと一致するか否かを判断する。こうして、監視カメラで撮影された画像が変化した場合にだけ、サーバ装置１は、画像を有する出力コード情報を受信し、画像が変化していない場合には出力コード情報を受信しないので、監視カメラから受信する出力コード情報のデータ量を抑制しつつ、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２３２】
また、上記構成において、撮影装置４は、ユーザ端末が有するカメラであることにより、店舗のディスプレイに表示されているコードを用いて、ユーザ端末で決済を行う場合に、サーバ装置１は、簡単な構成で、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２３３】
また、上記構成において、ユーザ端末は、ディスプレイに表示されている出力コードをカメラで撮影した画像から出力コードを抽出し、抽出した出力コードを用いて決済のための処理を行う前に、抽出した出力コードを有する出力コード情報を送信し、サーバ装置１は、生成コード格納部１１１に格納されている生成コード情報と、ユーザ端末から受信した出力コード情報が有する出力コードとを用いて、出力コードが生成コードと一致するか否かを判断することにより、ユーザ端末から受信する出力コード情報のデータ量を抑制しつつ、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２３４】
また、上記構成において、生成コード格納部１１１は、一の生成コードに対応する３以上の生成コード情報が格納されるべき３以上の格納手段を含み、サーバ装置１は、３以上の格納手段に格納されている３以上の格納コード情報を用いて、３以上の格納コード情報に対応する３以上の格納コードの中に、一致する２以上の格納コードの組が１組以上存在するか否かを判断し、３以上の格納コードの中に組が１組以上存在すると判断した場合に、一の組を構成する格納コードであり、他のどの組を構成する格納コードよりも数が多い格納コードである最多数格納コードが唯一つ存在するか否かを判断し、最多数格納コードが唯一つ存在すると判断した場合に、当該最多数格納コードを生成コードに決定し、決定した生成コードと、受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断する。
【０２３５】
こうして、一の生成コードに対応する３以上の生成コード情報を３以上の格納手段に格納しておくことにより、３以上の格納手段に格納されている３以上の格納コード情報のいずれかが不正なコード情報に差し替えられた場合でも、サーバ装置１は、多数決により、３以上の格納コードのうち最多数の格納コードを生成コードとみなし、出力コードが生成コードと一致するか否かの判断を行うことができる。
【０２３６】
従って、生成コード格納部１１１に格納されている生成コード情報が差し替えられる可能性がある場合でも、コードの差し替えを検知できる。
【０２３７】
また、サーバ装置１は、上記組が存在しないと判断した場合、または最多数格納コードが２以上存在すると判断した場合、または出力コードが生成コードと一致しないと判断した場合に、否定的な判断結果を示す判断結果情報を送信することにより、生成コードと出力コードとの不一致を通知できる。
【０２３８】
なお、上記構成において、否定的な判断結果を示す判断結果情報は、コードが差し替えられている可能性についての警告を有し、端末装置５は、判断結果情報を受信し、否定的な判断結果情報を受信した場合に、当該判断結果情報が有する警告を出力することにより、コードが差し替えられている可能性を、端末装置５の操作者に警告できる。例えば、コードを用いて決済のための処理を行う端末装置５を操作するユーザまたは店員に警告することで、不正な支払先への支払いを効果的に防止できる。
【０２３９】
また、コードを用いて決済のための処理を行う端末装置５は、否定的な判断結果を示す判断結果情報を受信した場合に、決済のための処理の実行を抑制することにより、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２４０】
また、情報システムは、生成された生成コードを出力する出力装置３と、出力装置３によって出力された出力コードを撮影する撮影装置４と、サーバ装置１と、端末装置５とを含み、生成コード格納部１１１には、生成される又は生成された生成コードに関する生成コード情報が格納されるべきであり、サーバ装置１は、撮影装置４から、出力コードを撮影した画像または画像から抽出された出力コードを有する出力コード情報を受信し、生成コード格納部１１１に格納されている格納コード情報と、受信した出力コード情報とを用いて、出力コードが生成コードと一致するか否かを判断し、判断の結果に関する判断結果情報を端末装置５に送信することにより、コードの差し替えを検知できる。その結果、例えば、コードの差し替えによる不正な支払先への支払いを防止できる。
【０２４１】
さらに、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布してもよい。
【０２４２】
本実施の形態におけるサーバ装置１を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、コンピュータがアクセス可能な記録媒体は、生成される又は生成された生成コードに関する生成コード情報が格納されるべき生成コード格納部１１１を具備し、このプログラムは、前記コンピュータを、前記生成コードを出力する出力装置３によって出力された出力コードを撮影する撮影装置４から、当該出力コードを撮影した画像または当該画像から抽出された出力コードを有する出力コード情報を受信する出力コード受信部１３１と、前記生成コード格納部１１１に格納されている格納コード情報と、前記出力コード受信部１３１が受信した出力コード情報とを用いて、前記出力コードが前記生成コードと一致するか否かを判断する判断部１４１と、前記判断部１４１による判断の結果に関する判断結果情報を端末装置５に送信する判断結果送信部１５１として機能させるためのプログラムである。
【０２４３】
なお、端末装置５を実現するソフトウェアは、例えば、以下のようなプログラムであってもよい。つまり、このプログラムは、コンピュータを、上記サーバ装置１から前記判断結果情報を受信する端末受信部５５と、前記端末受信部５５が受信した判断結果情報を出力する端末出力部５６として機能させるためのプログラムである。
【０２４４】
また、上記構成において、否定的な判断結果を示す判断結果情報は、コードが差し替えられている可能性についての警告を有し、前記端末出力部５６は、前記端末受信部５５が否定的な判断結果を示す判断結果情報を受信した場合に、当該判断結果情報が有する警告を出力するプログラムである。
【０２４５】
また、上記プログラムは、前記コンピュータを、前記出力装置３によって出力された出力コードを用いて決済のための処理を行う端末処理部５３としてさらに機能させ、前記端末処理部５３は、前記端末受信部５５が否定的な判断結果を示す判断結果情報を受信した場合に、前記決済のための処理の実行を抑制するプログラムである。
【０２４６】
図９は、本実施の形態におけるプログラムを実行して、サーバ装置１等を実現するコンピュータシステム９００の外観図である。本実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。図９において、コンピュータシステム９００は、ディスクドライブ９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、ディスプレイ９０４とを備える。なお、キーボード９０２やマウス９０３やディスプレイ９０４をも含むシステム全体をコンピュータと呼んでもよい。
【０２４７】
図１０は、コンピュータシステム９００の内部構成の一例を示す図である。図１０において、コンピュータ９０１は、ディスクドライブ９０５に加えて、ＭＰＵ９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ９１３と、アプリケーションプログラム、システムプログラム、およびデータを記憶するストレージ９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５と、外部ネットワークや内部ネットワーク等のネットワークへの接続を提供するネットワークカード９１６と、を備える。ストレージ９１４は、例えば、ハードディスク、ＳＳＤ、フラッシュメモリなどである。
【０２４８】
コンピュータシステム９００に、サーバ装置１等の機能を実行させるプログラムは、例えば、ＤＶＤ、ＣＤ−ＲＯＭ等のディスク９２１に記憶されて、ディスクドライブ９０５に挿入され、ストレージ９１４に転送されてもよい。これに代えて、そのプログラムは、ネットワークを介してコンピュータ９０１に送信され、ストレージ９１４に記憶されてもよい。プログラムは、実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ディスク９２１、またはネットワークから直接、ロードされてもよい。また、ディスク９２１に代えて他の着脱可能な記録媒体（例えば、ＤＶＤやメモリカード等）を介して、プログラムがコンピュータシステム９００に読み込まれてもよい。
【０２４９】
プログラムは、コンピュータの詳細を示す９０１に、サーバ装置１等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０２５０】
なお、上述したコンピュータシステム９００は、サーバまたは据え置き型のＰＣであるが、端末装置５は、例えば、タブレット端末やスマートフォンやノートＰＣといった、携帯端末で実現されてもよい。この場合、例えば、キーボード９０２およびマウス９０３はタッチパネルに、ディスクドライブ９０５はメモリカードスロットに、ディスク９２１はメモリカードに、それぞれ置き換えられることが望ましい。出力装置３や撮影装置４のコンピュータも、基本的なハードウェア構成は、図１０のコンピュータ９０１と同様でよい。ただし、以上は例示であり、サーバ装置１等を実現するコンピュータのハードウェア構成は問わない。
【０２５１】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０２５２】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、一のコンピュータが集中処理を行ってもよく、あるいは複数のコンピュータが分散処理を行ってもよい。
【０２５３】
また、上記実施の形態において、一の装置に存在する２以上の通信手段（受信部１３、および送信部１５など）は、物理的に一の媒体で実現されてもよいことは言うまでもない。
【０２５４】
また、上記実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０２５５】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２５６】
以上のように、本発明にかかるサーバ装置は、コードの差し替えを検知できるという効果を有し、サーバ装置等として有用である。
【符号の説明】
【０２５７】
１  サーバ装置
２  コード生成サーバ
３  出力装置
４  撮影装置
５  端末装置
１１  格納部
１２  受付部
１３  受信部
１４  処理部
１５  送信部
５１  端末格納部
５２  端末受付部
５３  端末処理部
５４  端末送信部
５５  端末受信部
５６  端末出力部
１１１  生成コード格納部
１３１  出力コード受信部
１３２  生成コード受信部
１４１  判断部
１４２  抽出部
１４３  蓄積部
１５１  判断結果送信部
【図１】
2020173664.tif 000003
【図２】
2020173664.tif 000004
【図３】
2020173664.tif 000005
【図４】
2020173664.tif 000006
【図５】
2020173664.tif 000007
【図６】
2020173664.tif 000008
【図７】
2020173664.tif 000009
【図８】
2020173664.tif 000010
【図９】
2020173664.tif 000011
【図１０】
2020173664.tif 000012