IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 楽天株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-14
(45)【発行日】2023-11-22
(54)【発明の名称】情報処理システム及び情報処理方法
(51)【国際特許分類】
   G06F 21/36 20130101AFI20231115BHJP
   G06K 19/06 20060101ALI20231115BHJP
   G06K 7/14 20060101ALI20231115BHJP
   G06F 21/64 20130101ALI20231115BHJP
【FI】
G06F21/36
G06K19/06 037
G06K19/06 103
G06K7/14 017
G06F21/64
【請求項の数】 7
(21)【出願番号】P 2022072214
(22)【出願日】2022-04-26
(62)【分割の表示】P 2020543651の分割
【原出願日】2019-07-22
(65)【公開番号】P2022115892
(43)【公開日】2022-08-09
【審査請求日】2022-05-23
【前置審査】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(72)【発明者】
【氏名】中澤 満
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2012-216155(JP,A)
【文献】特開2018-136916(JP,A)
【文献】特開2015-084162(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/36
G06K 19/06
G06K 7/14
G06F 21/64
(57)【特許請求の範囲】
【請求項1】
光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得手段と、
前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得手段と、
前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較手段と、
前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御手段であって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記決済処理を実行させない制御手段と、
を備えることを特徴とする情報処理システム。
【請求項2】
光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に
用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得手段と、
前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得手段と、
前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較手段と、
前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御手段であって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記比較の結果に基づく通知をユーザに提示させ、前記ユーザによる選択に応じて、前記決済処理を実行させるか否かを決定する制御手段と、
を備えることを特徴とする情報処理システム。
【請求項3】
前記第1クラス情報取得手段は、前記取得された決済用情報を変換することにより、前記第1クラス情報を生成し、
前記第2クラス情報取得手段は、前記情報コードと前記第2視覚情報とを撮影することで得られた写真画像に対して画像分類を行うことにより、前記第2クラス情報を取得することを特徴とする請求項1又は2に記載の情報処理システム。
【請求項4】
前記第1クラス情報取得手段は、前記決済用情報から前記情報コードを生成するためのエンコード方法とは異なる方法を用いて、前記決済用情報から前記第1クラス情報を生成することを特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記取得された決済用情報に基づいて、前記情報コードが表示されるべき場所の位置を示す第1位置情報を取得する第1位置情報取得手段と、
前記情報コードと前記第2視覚情報とが撮影された場所の位置を示す第2位置情報を取得する第2位置情報取得手段と、
を更に備え、
前記比較手段は、前記取得された第1位置情報と前記取得された第2位置情報とを更に比較し、
前記制御手段は、前記第1クラス情報と前記第2クラス情報との比較結果、及び前記第1位置情報と前記第2位置情報との比較結果に基づいて、前記決済処理の実行を制御することを特徴とする請求項1乃至4の何れか一項に記載の情報処理システム。
【請求項6】
コンピュータにより実行される情報処理方法において、
光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得ステップと、
前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得ステップと、
前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較ステップと、
前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御ステップであって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記決済処理を実行させない制御ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
コンピュータにより実行される情報処理方法において、
光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得ステップと、
前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得ステップと、
前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較ステップと、
前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御ステップであって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記比較の結果に基づく通知をユーザに提示させ、前記ユーザによる選択に応じて、前記決済処理を実行させるか否かを決定する制御ステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光学的読み取り可能に情報が表現された情報コードに関する不正を検出するためのシステムに関する。
【背景技術】
【0002】
従来、QRコード(登録商標)(ISO/IEC 18004)やバーコード等の情報コードが広く利用されている。情報コードには、例えば、その情報コードが貼付されたオブジェクトや、その情報コードが表示された場所で提供される何かに関連する情報がエンコードされている。エンコードされる元の情報は、例えばユーザに提供される情報そのものであったり、ユーザに提供される情報へアクセスするためのURL(Uniform Resource Locator)であったりする。ユーザは、例えばデジタルカメラを備える携帯端末等の端末装置で情報コードを読み取ることにより、元の情報を得ることができる。
【0003】
このような情報コードに関する不正を検知するための技術も開発されている。例えば、特許文献1には、所定の情報と、不正を検出するための検知用情報と、を情報コードにエンコードする不正検知システムが開示されている。このシステムは、情報コードが読み取られたときに、その情報コードをデコードして得られた検知用情報とデータベースに記録された照合用情報とを照合することにより、その情報コードに関する不正があるか否かを判定する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-029659号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述したような技術であっても、情報コードに関する不正の全てを検出することができるわけではなかった。例えば、情報コードを生成するためのアプリケーション等が広く提供された場合、誰もが情報コードを正規に生成することが可能となる。この場合、不正な情報を検知用情報とともにエンコードして情報コードを生成し、この検知用情報に合致する照合用情報を正規にデータベースに記録させることができる。このように生成された情報コードについては不正を検出することができない。
【0006】
ところで、情報コードは、一般的には線、四角形等の多数の幾何学的図形が配置されることによって構成されている。そのため、人間が、情報コードから目視で元の情報を認識することは通常不可能である。また、或る情報コードが別の情報コードにすり替えられた場合に、情報コードがすり替えられたことに気付くことも人間にとっては難しい。
【0007】
本願発明は以上の点に鑑みてなされてものであり、情報コードがすり替えられたか否かを人間が判断しやすくなることを可能にする情報処理システム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の一の態様は、光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得手段と、前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得手段と、前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較手段と、前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御手段であって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記決済処理を実行させない制御手段と、を備えることを特徴とする情報処理システムである。
【0009】
この態様によれば、表示されている情報コード(以下、第1情報コードと称する)とともに、或る対象を視覚的に表す第2視覚情報が撮影される。第2視覚情報は、第1情報コードとともに実際に表示されている視覚情報である。第1情報コードがデコードされることにより、元の情報が取得される。この元の情報に基づいて、第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報が取得される。第1視覚情報は、第1情報コードとともに表示されるべき視覚情報である。その一方で、第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報が取得される。そして、第1クラス情報と第2クラス情報との比較の結果に基づいて、元の情報を用いた所定処理の実行が制御される。第2クラス情報が第1クラス情報と異なる場合、第1情報コードは、第2視覚情報とともに表示されるべき第2の情報コードではない。従って、第2視覚情報とともに表示されていた第2情報コードが、第1視覚情報にすり替えられたおそれがある。この場合、比較の結果に基づいて、所定処理の実行を拒絶することができる。一方、第2視覚情報が第1視覚情報と一致する場合であっても、情報コードがすり替えられた可能性はある。具体的に、元々表示されていた第3の情報コードと、この第3情報コードとともに表示されるべき第3の視覚情報との組み合わせが、第1情報コードと第1視覚情報(第2視覚情報)との組み合わせにすり替えられることが考えられる。ここで、人間は、各視覚情報が、如何なるクラスに分類される対象を表しているかを視覚を通じて認識することができる。そのため、その人間は、以前に視覚情報を見ていた場合、その視覚情報により表される対象が分類されるクラスと、現在表示されている第1視覚情報により表される対象が分類されるクラスとを、その人間の記憶及び視覚に基づいて比較することができる。比較の結果、その人間は、情報コードがすり替えられたか否かを判断することができる。情報コードがすり替えられたと人間が判断した場合、その人間は、現在表示されている第1情報コードの読み取りを止めさせることができる。その結果、所定処理は実行されない。こうして、情報コードに関する不正が抑止される。
また、この態様によれば、情報コードがすり替えられた場合、不正に所定処理が実行されることが防止される。
発明の別の態様は、光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得手段と、前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得手段と、前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較手段と、前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御手段であって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記比較の結果に基づく通知をユーザに提示させ、前記ユーザによる選択に応じて、前記決済処理を実行させるか否かを決定する制御手段と、を備えることを特徴とする情報処理システムである。
この態様によれば、表示されている情報コード(以下、第1情報コードと称する)とともに、或る対象を視覚的に表す第2視覚情報が撮影される。第2視覚情報は、第1情報コードとともに実際に表示されている視覚情報である。第1情報コードがデコードされることにより、元の情報が取得される。この元の情報に基づいて、第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報が取得される。第1視覚情報は、第1情報コードとともに表示されるべき視覚情報である。その一方で、第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報が取得される。そして、第1クラス情報と第2クラス情報との比較の結果に基づいて、元の情報を用いた所定処理の実行が制御される。第2クラス情報が第1クラス情報と異なる場合、第1情報コードは、第2視覚情報とともに表示されるべき第2の情報コードではない。従って、第2視覚情報とともに表示されていた第2情報コードが、第1視覚情報にすり替えられたおそれがある。この場合、比較の結果に基づいて、所定処理の実行を拒絶することができる。一方、第2視覚情報が第1視覚情報と一致する場合であっても、情報コードがすり替えられた可能性はある。具体的に、元々表示されていた第3の情報コードと、この第3情報コードとともに表示されるべき第3の視覚情報との組み合わせが、第1情報コードと第1視覚情報(第2視覚情報)との組み合わせにすり替えられることが考えられる。ここで、人間は、各視覚情報が、如何なるクラスに分類される対象を表しているかを視覚を通じて認識することができる。そのため、その人間は、以前に視覚情報を見ていた場合、その視覚情報により表される対象が分類されるクラスと、現在表示されている第1視覚情報により表される対象が分類されるクラスとを、その人間の記憶及び視覚に基づいて比較することができる。比較の結果、その人間は、情報コードがすり替えられたか否かを判断することができる。情報コードがすり替えられたと人間が判断した場合、その人間は、現在表示されている第1情報コードの読み取りを止めさせることができる。その結果、所定処理は実行されない。こうして、情報コードに関する不正が抑止される。
また、この態様によれば、情報コードがすり替えられたおそれがあることをユーザが認識することができる。
更に、この態様によれば、情報コードがすり替えられたおそれがあることをユーザが認識した上で、ユーザの責任で所定処理を実行することができる。
【0010】
本発明の更に別の態様は、前記第1クラス情報取得手段は、前記取得された決済用情報を変換することにより、前記第1クラス情報を生成し、前記第2クラス情報取得手段は、前記情報コードと前記第2視覚情報とを撮影することで得られた写真画像に対して画像分類を行うことにより、前記第2クラス情報を取得することを特徴とする情報処理システムである。
【0011】
この態様によれば、元の情報と第1クラス情報とが関連付けて予め記憶されていなくとも、第1クラス情報の取得が可能となる。また、第2視覚情報から視覚を通じて人間が認識する傾向があるクラスと同じクラスを示す第2クラス情報を取得することができる。
【0012】
本発明の更に別の態様は、前記第1クラス情報取得手段は、前記決済用情報から前記情報コードを生成するためのエンコード方法とは異なる方法を用いて、前記決済用情報から前記第1クラス情報を生成することを特徴とする情報処理システムである。
【0013】
この態様によれば、情報コードとは異なる第1クラス情報が変換によって生成される。
【0014】
本発明の更に別の態様は、前記取得された決済用情報に基づいて、前記情報コードが表示されるべき場所の位置を示す第1位置情報を取得する第1位置情報取得手段と、前記情報コードと前記第2視覚情報とが撮影された場所の位置を示す第2位置情報を取得する第2位置情報取得手段と、を更に備え、前記比較手段は、前記取得された第1位置情報と前記取得された第2位置情報とを更に比較し、前記制御手段は、前記第1クラス情報と前記第2クラス情報との比較結果、及び前記第1位置情報と前記第2位置情報との比較結果に基づいて、前記決済処理の実行を制御することを特徴とする情報処理システムである
【0015】
この態様によれば、撮影された第1情報コードが表示されるべき第1の場所と、第1情報コードが実際に表示されている第2の場所との間の距離が比較的に遠い場合、第2の場所に表示されるべき別の情報コードが第1情報コードにすり替えられたおそれがある。この場合、たとえ第1クラス情報と第2クラス情報とが一致したとしても、第1位置情報と第2位置情報との比較結果に基づいて、所定処理を拒絶することができる。
【0038】
本発明の更に別の態様は、コンピュータにより実行される情報処理方法において、光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得ステップと、前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得ステップと、前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較ステップと、前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御ステップであって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記決済処理を実行させない制御ステップと、を含むことを特徴とする。
本発明の更に別の態様は、コンピュータにより実行される情報処理方法において、光学的に読み取り可能な情報コードを撮影してデコードすることにより取得された決済用情報であって、商品及びサービスのうち何れか一方である取引対象の代金の決済処理に用いられる決済用情報に基づいて、前記情報コードとともに表示されるべき第1視覚情報により視覚的に表される対象が分類されるクラスを示す第1クラス情報を取得する第1クラス情報取得ステップと、前記情報コードとともに表示されているために該情報コードとともに撮影された第2視覚情報により視覚的に表される対象が分類されるクラスを示す第2クラス情報を取得する第2クラス情報取得ステップと、前記取得された第1クラス情報と前記取得された第2クラス情報との比較を行う比較ステップと、前記比較の結果に基づいて、前記取得された決済用情報を用いた前記決済処理の実行を制御する制御ステップであって、前記比較の結果が所定条件を満たす場合、前記決済処理を実行させ、前記比較の結果が前記所定条件を満たさない場合、前記比較の結果に基づく通知をユーザに提示させ、前記ユーザによる選択に応じて、前記決済処理を実行させるか否かを決定する制御ステップと、を含むことを特徴とする。
【発明の効果】
【0040】
本発明によれば、情報コードがすり替えられたか否かを人間が判断しやすくなる。
【図面の簡単な説明】
【0041】
図1】一実施形態に係る電子決済システムSの概要構成の一例を示す図である。
図2】一実施形態に係る決済管理サーバ1の概要構成の一例を示すブロック図である。
図3A】拡張情報コード200の例を示す図である。
図3B】拡張情報コード200の例を示す図である。
図3C】拡張情報コード200の例を示す図である。
図4】一実施形態に係る決済管理サーバ1のシステム制御部11における機能ブロックの一例を示す図である。
図5】拡張情報コード200を発行する場合のデータの流れの一例を示す図である。
図6】拡張情報コード200をチェックする場合のデータの流れの一例を示す図である。
図7A】情報コードに関する不正の判断例を示す図である。
図7B】情報コードに関する不正の判断例を示す図である。
図7C】情報コードに関する不正の判断例を示す図である。
図8】決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。
図9】決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。
図10】チェックコードDB14aに記憶される情報の例を示す図である。
図11】決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。
図12】決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。
図13】チェックコードDB14aに記憶される情報の例を示す図である。
図14】拡張情報コード200の生成例を示す図である。
図15】位置情報を比較するためのデータの流れの一例を示す図である。
図16】決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。
図17】決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。
図18】拡張コード200の生成時におけるデータの流れの一例を示す図である。
図19】拡張情報コードのチェック時におけるデータの流れの一例を示す図である。
図20】決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。
図21】決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0042】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態のうちの幾つかは、情報コードを端末装置が読み取ることに基づいて、商品の購入代金やサービスの利用料金を決済するための電子決済システムに対して本発明を適用した場合の実施形態である。読み取られた決済用の情報コードをデコードすることにより、決済用の情報が得られる。電子決済システムにより、決済用情報から、決済代金及びこの代金の支払先である店舗の預金口座が特定される。
【0043】
決済用の情報コードは、端末装置のディスプレイに表示されることもあるものの、シール等の所定物に印刷される場合がある。例えば、情報コードが印刷されたシールは店舗内に貼付される。悪意ある第三者は、このシールを剥がして、別の情報コードが印刷されたシールを貼付するかもしれない。或いは、この第三者は、元のシールの上に別のシールを貼付するかもしれない。この場合、例えばその店舗で商品を購入しようとする客が、シール上の情報コードを見ただけで、情報コードがすり替えられたことに気付くことは困難である。また、人間が情報コードを記憶することは極めて困難であるため、その店舗の従業員であっても、情報コードがすり替えられたことに気付くことは困難である。そのまま情報コードが読み取られて決済処理が行われると、悪意ある第三者の口座へ代金が支払われてしまう。情報コードを用いた電子決済が普及している中、こうした不正を防止することが望まれる。
【0044】
[1.第1実施形態]
[1-1.行動分析システムの構成]
先ず、第1実施形態に係る電子決済システムSの構成について、図1を用いて説明する。図1は、本実施形態に係る電子決済システムSの概要構成の一例を示す図である。
【0045】
図1に示すように、電子決済システムSは、決済管理サーバ1と、プリンタ2と、複数の店舗端末3と、複数のユーザ端末4と、を含んで構成される。決済管理サーバ1と、各店舗端末3と、各ユーザ端末4は、ネットワークNWに接続される。ネットワークNWは、例えばインターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0046】
決済管理サーバ1は、決済用情報をエンコードして得られる情報コードであって、後述する視覚情報と組み合わせられた情報コードを発行する。情報コードと視覚情報との組み合わせを、拡張情報コードという。店舗が提供する各商品又は各サービスについて情報コードの発行が可能である。また、決済管理サーバ1は、ユーザ端末4により読み取られた拡張情報コードにおける情報コードをデコードすることにより得られる決済用情報に基づいて、電子決済を実行する。このとき、決済管理サーバ1は、情報コードに付加された視覚情報に基づいて、情報コードに関する不正が行われたか否かを判定する(情報コードをチェックする)。決済管理サーバ1により判断される不正の例を以下に示す。
【0047】
(1)拡張情報コードが非正規な情報コードを含む。
(2)拡張情報コードは正規な情報コードを含むが、その拡張コードに元々含まれていた情報コード及び視覚情報のうち、情報コードのみがすり替えられた。
【0048】
本実施形態においては、決済管理サーバ1により発行された情報コードを、正規な情報コードと称する。なお、情報コードを発行する装置と、電子決済を行う装置とが別々の装置であってもよい。また、電子決済を行う装置と、情報コードをチェックする装置とが別々の装置であってもよい。
【0049】
プリンタ2は、決済管理サーバ1に接続されている。或いは、決済管理サーバ1がプリンタ2を備えてもよい。プリンタ2は、決済管理サーバ1による制御に基づいて、拡張情報コードを所定物に印刷する。所定物の例として、シール、紙、プラスティックプレート等が挙げられる。情報コードが印刷された所定物は、例えば、その情報コードが対応する商品又はサービスを提供する店舗に郵送されてもよい。
【0050】
各店舗端末3は、商品を販売又はサービスを提供する店舗に設置される端末装置である。店舗端末3の例として、パーソナルコンピュータ、タブレット式コンピュータ、スマートフォン、携帯電話機、PDA(Personal Digital Assistant)等が挙げられる。各店舗端末には、拡張情報コードも発行を要求するためのアプリケーションプログラムがインストールされている。店舗端末3は、店舗の従業員の操作に基づいて、拡張情報コードの発行を決済管理サーバ1に要求する。この要求に応じて、決済管理サーバ1は新たな拡張情報コードを発行する。
【0051】
各ユーザ端末4は、消費者としてのユーザにより利用される端末装置である。ユーザ端末4の例として、スマートフォン、タブレット式コンピュータ、携帯電話機、PDA等が挙げられる。各ユーザ端末4には、電子決済用のアプリケーションプログラムがインストールされている。各ユーザ端末4は、デジタルカメラを備える。ユーザは、このデジタルカメラにより、所定物に表示された拡張情報コードを撮影する。ユーザ端末4は、例えば撮影によって得られた拡張情報コードの写真画像を決済管理サーバ1へ送信する。決済管理サーバ1は、この写真画像に基づいて、情報コードのチェック及び決済処理を実行する。
【0052】
[1-2.決済管理サーバの構成]
次に、決済管理サーバ1の構成について、図2を用いて説明する。図2は、本実施形態に係る決済管理サーバ1の概要構成の一例を示すブロック図である。図2に示すように、決済管理サーバ1は、システム制御部11と、システムバス12と、入出力インターフェース13と、記憶部14と、通信部15と、を備えている。システム制御部11と入出力インターフェース13とは、システムバス12を介して接続されている。
【0053】
システム制御部11は、CPU(Central Processing Unit)11a、ROM(Read Only Memory)11b、RAM(Random Access Memory)11c等により構成されている。
【0054】
入出力インターフェース13は、記憶部14及び通信部15とシステム制御部11との間のインターフェース処理を行う。
【0055】
記憶部14は、例えば、ハードディスクドライブ等により構成されている。この記憶部14には、種々のデータベースが記憶されている。記憶部14に記憶されるデータベースの例として、電子決済システムSに登録されている店舗に関するデータベース、電子決済システムSに登録されているユーザに関するデータベース、情報コードが発行された商品やサービスに関するデータベース等が挙げられる。また、記憶部14には、オペレーティングシステム、DBMS(Database Management System)、サーバプログラム等の各種プログラムが記憶されている。サーバプログラムは、情報コードの発行、情報コードをチェック及び決済処理をシステム制御部11に実行させるプログラムである。サーバプログラムは、例えば、他の装置からネットワークNWを介して取得されるようにしてもよい。或いはサーバプログラムは、磁気テープ、光ディスク、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
【0056】
通信部15は、ネットワークNWを介して、店舗端末3やユーザ端末4と接続し、これらの装置との通信状態を制御する。
【0057】
[1-3.拡張情報コードの構成]
次に、図3A乃至図3Cを用いて、電子決済システムSにおいて発行される拡張情報コードの構成について説明する。図3A乃至図3Cは、拡張情報コード200の例を示す図である。図3Aに示すように、拡張情報コード200は、情報コード210と、視覚情報220とを含む。
【0058】
情報コード210は、光学的に読み取り可能である。光学的に読み取り可能な情報コードとは、例えばCCD(Charge-Coupled Device)センサ、CMOS(Complementary Metal Oxide Semiconductor)センサ、その他の光センサ又はレーザセンサ等のデバイスを用いることによって検出可能なコードである。本実施形態においては、デジタルカメラが用いられる。情報コード210は、例えば複数の幾何学的図形を含む。幾何学的図形の例として、矩形、三角形、円、線(細い矩形)等が挙げられる。このような基本的な幾何学的な図形が複数結合して形成される図形も、幾何学的図形として認識される。通常、情報コード210を見ることによっては、エンコードされた元の情報を人間が特定することは極めて困難である。生成される情報コード210は、例えば2次元コードであってもよいし、1次元のバーコードであってもよい。情報コード210の規格は特に限定はされない。2次元コードの例として、QRコード(登録商標)、データマトリックスコード、マキシコード等が挙げられる。バーコードの規格の例として、JAN(Japanese Article Number)、EAN(European Article Number)、UPC(Universal Product Code)等が挙げられる。
【0059】
視覚情報220は、何らかの対象を視覚的に表す情報である。対象の種類は特に限定されない。対象の例として、動物、架空のキャラクタ、乗り物、道具、スポーツ、数字、文字、記号等が挙げられる。視覚情報220は、人間が視覚を通じてその対象のクラスを認識可能にその対象を表す。対象が動物の場合、クラスの例として、犬、猫、猿等が挙げられる。スポーツの場合、クラスの例として、サッカー、野球、テニス等が挙げられる。数字の場合、クラスの例として、「0」、「1」、「2」等が挙げられる。文字の場合、クラスの例として、「A」、「B」、「C」等が挙げられる。視覚を通じて人間が認識可能である限りにおいては、クラスの定義は如何様に行われてもよい。
【0060】
正規に発行された各情報コード210には、特定の一の視覚情報220が関連付けられる。従って、特定の情報コード210とともに表示されるべき視覚情報220は一つのみである。現在表示されている情報コード210を見ることのみで、情報コード210がすり替えられたか否かを人間が判断することは困難である。その一方で、過去に見た視覚情報220と、現在見ている視覚情報220とが一致するか否かを判断することができれば、視覚情報220とともに表示される情報コード210がすり替えられたか否かを人間が判断することが可能となる。そのため、視覚情報220を見ることによって、その視覚情報220により表される対象のクラスを人間が容易に記憶可能となるように、視覚情報220により対象が表されることが望ましい。例えば、視覚情報220は、絵、数字、文字及び記号のうち少なくとも一つを含む。絵の例として、イラスト、写真等が挙げられる。図3Aに示される視覚情報220は、動物のイラスト221、222及び223を含む。イラスト221~223は、視覚情報220の構成要素である。イラスト221は、羊のイラストである。イラスト222は、犬のイラストである。イラスト223は、猫のイラストである。
【0061】
図3Bに示される拡張情報コード200において、視覚情報220は、文字224、225、226及び227を含む。文字224~227は、視覚情報220の構成要素である。文字224は「F」を示す。文字225は「2」を示す。文字226は、「v」を示す。文字227は、「9」を示す。
【0062】
図3A及び図3Bにおいては、情報コード210の外側に視覚情報220が配置されている。情報コード210の上下左右何れの場所に視覚情報220が配置されてもよい。図3Cに示すように、視覚コード210の内側に視覚情報220が配置されてもよい。
【0063】
[1-4.システム制御部の機能概要]
次に、図4乃至図7Cを用いて、決済管理サーバ1のシステム制御部11の機能概要について説明する。図4は、本実施形態に係る決済管理サーバ1のシステム制御部11における機能ブロックの一例を示す図である。システム制御部11は、CPU11aが、サーバプログラムに含まれる各種プログラムコードを読み出し実行することにより、図4に示すように、情報コード生成部111、チェックコード生成部112、コード出力部113、情報コードデコード部114、チェックコード取得部115、視覚情報認識部116、チェックコード比較部117、情報処理部118等として機能する。
【0064】
[1-4-1.拡張情報コードの発行]
図5は、拡張情報コード200を発行する場合のデータの流れの一例を示す図である。情報コード生成部111は、情報コード210を生成する元となる情報を取得する。本実施形態において、元の情報は、図5に示す決済用情報310である。決済用情報310は、例えば、購入代金が決済される商品又は利用料金が決済されるサービスを識別する情報を含む。決済用情報のフォーマットは特に限定されるものではないが、例えば決済用情報はURLで表されてもよい。システム制御部11は、例えば、店舗端末3から決済管理サーバに送信される、拡張情報コード200の発行要求に応じて、新しい決済用情報310を生成してもよい。
【0065】
情報コード生成部111は、元の情報である決済用情報310をエンコードして情報コード210を生成する。情報コード210の規格に対応するエンコード方法を用いて、決済用情報310がエンコードされる。エンコード方法は、公知の方法であってもよい。
【0066】
チェックコード生成部112は、元の情報である決済用情報310に基づいて、視覚的に表されることが可能な対象が分類されるクラスを示す情報を生成する。生成される情報は、図5に示すチェックコード320である。チェックコード320は、後に生成される視覚情報220により表される対象が分類されるクラスを示すものである。チェックコード320は、1又は複数のコード要素で構成される。各コード要素は、視覚的に表されることが可能な対象が分類されるクラスを示す数値、文字又は文字列等である。図5に示す例では、チェックコード320は「羊、犬、猫」を示す。前述したように、情報コード210がすり替えられたか否かの人間による判断が可能なように、特定の情報コード210とともに表示されるべき視覚情報220は特定の視覚情報220のみである。従って、たとえ状況や時間等が変化したとしても、特定の決済用情報310からは特定のチェックコード320が生成されることが必要となる。なお、別々の情報コード210に対して同一のチェックコード320が生成されることがあってもよい。但し、そのような事態が起きる確率が低ければ低いほどよい。
【0067】
人間が視覚情報220を記憶するためには、視覚情報220を構成する要素の数が少ない方が望ましい。その一方で、構成要素の数が少ないほど、複数の情報コード210の間で、関連付けられる視覚情報220が一致する確率が高くなる。拡張情報コード200がすり替えられたとしても、視覚情報220に変化がなければ、人間が情報コード210のすり替えに気付くことができない。そのため、視覚情報220は、或る程度の数の要素で構成されることが望ましい。例えば、人間が短期記憶で記憶することができる数字は4桁程度であるといわれている。そこで、チェックコード320として数字列が用いられる場合、チェックコード320の桁数は4桁以下であってもよい。
【0068】
チェックコード生成部112は、例えば、所定の変換方法(アルゴリズム)により決済用情報310をチェックコード320に変換してもよい。この場合、チェックコード生成部112は、決済用情報310から情報コード210を生成するためのエンコード方法とは異なる方法を用いて、決済用情報310を変換してチェックコード320を生成する。従って、必然的にチェックコード320は情報コード210と異なる。決済用情報310の変換方法は特に限定されない。用いられる変換方法は、可逆変換であってもよいし、不可逆変換であってもよい。例えば、チェックコード生成部112は、決済用情報310をハッシュ化することにより、チェックコード320を生成してもよい。
【0069】
コード出力部113は、情報コード生成部111により生成された情報コード210と、 チェックコード生成部112により生成されたチェックコード320により示されるクラスに分類される対象を視覚的に表す視覚情報220と、を関連付けて、拡張情報コード200として出力する。例えば、視覚情報220が絵を含む場合、記憶部14には、クラスごとに、そのクラスに分類される対象を表す画像データが予め記憶されている。視覚情報220が数字、文字又は記号を含む場合、記憶部14には、クラスごとに、そのクラスに分類される数字、文字又は記号の画像データ又はフォントデータが予め記憶されている。コード出力部113は、画像データ(またはフォントデータ)に基づいて、視覚情報220を生成する。コード出力部113は、例えば、情報コード210と視覚情報220とを含む画像を出力する。コード出力部113は、プリンタ2により、情報コード210と視覚情報220とを所定物400に印刷させてもよい。情報コード210と視覚情報220とを関連付けて出力するとは、情報コード210と視覚情報220とが関連付けられていると人間が視覚を通じて認識可能な態様で、情報コード210と視覚情報220とを出力することをいう。例えば同一の所定物400に情報コード210と視覚情報220とが表示されていれば、人間はそれらの情報コード210と視覚情報220とが関連付けられていると認識することができる。
【0070】
[1-4-2.拡張情報コードのチェック]
図6は、拡張情報コード200をチェックする場合のデータの流れの一例を示す図である。図6に示すように、或る所定物400に拡張情報コード200が表示されている。この拡張情報コード200は、正規に発行されたものであるかもしれないし、そうではないかもしれない。或いは、正規に発行された情報コード200が印刷された所定物400が、正規に発行された別の情報コード200が印刷された別の所定物400にすり替えられた可能性もある。或いは、拡張情報コード200のうち、情報コード210のみがすり替えられた可能性もある。
【0071】
商品の購入代金又はサービスの利用料金を決済するために、ユーザは、ユーザ端末4に備えられるデジタルカメラにより、拡張情報コード200を撮影する。これにより、拡張情報コード200の写真画像330が得られる。ユーザ端末4は、写真画像330を決済管理サーバ1へ送信する。
【0072】
情報コードデコード部114は、ユーザ端末4から受信した写真画像330に基づいて、写真画像330に含まれる情報コード210をデコードして、元の情報である決済用情報340を生成する。
【0073】
チェックコード取得部115は、情報コード210を撮影して情報コードデコード部114がデコードすることにより取得された決済用情報340に基づいて、情報コード210とともに表示されるべき視覚情報により視覚的に表される対象が分類されるクラスを示す情報であるチェックコード350を取得する。情報コード210とともに表示されるべき視覚情報とは、コード出力部113により、その情報コード210に関連付けて正規に出力された視覚情報(正規に発行された拡張情報コードにおいて、その情報コード210に関連付けられている視覚情報)である。本実施形態においては、拡張情報コード200の発行時に、チェックコード生成部112は、決済用情報310を変換することにより、チェックコード320を生成する。従って、チェックコード取得部115は、同一の方法で、決済用情報340を変換することにより、チェックコード350を生成する。この場合、チェックコード生成部112は、チェックコード取得部115を兼ねてもよい。
【0074】
視覚情報認識部116は、情報コード210とともに表示されているためにその情報コード210とともに撮影された視覚情報220により視覚的に表される対象が分類されるクラスを示すチェックコード360を取得する。情報コード210とともに撮影された視覚情報220は、実際に情報コード210とともに表示されている視覚情報220である。実際に表示されている視覚情報220は、その情報コード210に関連付けて正規に出力された視覚情報であるかもしれないし、そうではないかもしれない。前述したように、拡張情報コード200において、情報コード210のみがすり替えられた場合、視覚情報220は、ともに表示されている情報コード210には対応していない。視覚情報認識部116による対象の分類結果が、人間による視覚を通じた分類結果の傾向と一致することが望ましい。視覚情報認識部116は、例えば写真画像330に対して画像分類を行うことにより、チェックコード360を取得してもよい。画像分類の方法として、例えばパターンマッチングが用いられてもよい。例えば、視覚情報認識部116は、写真画像から視覚情報220を特定し、視覚情報220の画像を、構成要素ごとの画像に分ける。視覚情報認識部116は、記憶部14にクラスごとに記憶されている画像データと、構成要素ごとの画像との類似度を計算する。視覚情報認識部116は、構成要素ごとに、類似度が最も高い画像データに対応するクラスを決定して、チェックコード360を生成する。或いは、画像分類の方法として、機械学習が用いられてもよい。例えば、記憶部14に記憶されている画像データに基づいて、所定のニューラルネットワークモデルが予め訓練される。一クラスにつき一の画像データが訓練に用いられれば十分である。視覚情報認識部116は、訓練されたモデルに各構成要素の画像を入力して、各構成要素のクラスを示す情報を出力させる。視覚情報認識部116は、出力された情報を結合して、チェックコード360を生成する。なお、チェックコード350の生成とチェックコード360の生成のどちらが先に実行されても問題はない。
【0075】
チェックコード比較部117は、チェックコード取得部115により取得されたチェックコード350と、視覚情報認識部116により取得されたチェックコード360と、を比較する。特に、チェックコード比較部117は、チェックコード350とチェックコード360との比較結果が、所定条件を満たすか否かを判定する。例えば、チェックコード比較部117は、チェックコード350とチェックコード360とが一致するか否かを判定する。
【0076】
情報処理部118は、チェックコード比較部117によるチェックコード350とチェックコード360との比較結果に基づいて、情報コードデコード部114により取得された決済用情報340を用いた所定処理の実行を制御する。本実施形態において、所定処理は決済処理である。比較結果が所定条件を満たす場合、情報処理部118は、決済処理を実行させる。一方、比較結果が所定条件を満たさない場合、情報処理部118は、決済処理を実行させない(決済処理の実行を拒絶する)。或いは、比較結果が所定条件を満たさない場合、情報処理部118は、比較結果に基づく通知をユーザに提示させてもよい。例えば、情報処理部118は、「この情報コードは不正な情報コードである可能性があります。」等の通知をユーザ端末4により表示させてもよい。情報処理部118は、通知を提示させた後、ユーザによる選択に応じて、決済処理を実行するか否かを決定してもよい。例えば、情報処理部118は、更に「決済を行いますか?」等のメッセージをユーザの端末4に表示させる。ユーザが、ユーザ端末4を操作して決済の承認を選択した場合、情報処理部118は、決済処理を実行させる。ユーザが、決済の非承認を選択した場合、情報処理部118は、決済処理を実行させない。
【0077】
図7A乃至図7Cは、情報コードに関する不正の判断例を示す図である。例えば、決済管理サーバ1は、店舗Xが販売する商品Aについて、決済用情報「AAAAA」を生成した。そして、図7Aに示すように、決済管理サーバ1は、決済用情報「AAAAA」をエンコードすることにより、情報コード210-1を生成した。また、決済管理サーバ1は、決済用情報「AAAAA」に基づいて、視覚情報220-1を生成した。視覚情報220-1は、数字列「8545」である。決済管理サーバ1は、情報コード210-1及び視覚情報220-1をシール410に印刷した。その後、シール410は、店舗X内に貼付された。店舗Xに訪れた人物500は、シール410を見ることにより、視覚情報220-1としての数字列「8545」を容易に記憶することができる。人物500は、例えば店舗Xの店員であってもよいし、店舗Xの客であってもよい。
【0078】
その後、例えば店舗Xとは無関係な悪意ある人物Yの商品Bについて、決済用情報「BBBBB」が生成された。商品Bは、架空の商品であるかもしれない。そして、図7Bに示すように、決済用情報「BBBBB」をエンコードすることにより、情報コード210-2が生成された。情報コード210-2は、シール420に印刷された。情報コード210-2は、人物Y自身が発行したのかもしれないし、人物Yからの要求に応じて、決済管理サーバ1が情報コード210-2を含む拡張情報コードを発行したのかもしれない。人物Yは、店舗Xに訪れて、シール410に印刷されている情報コード210-1の上に、シール420をこっそり貼り付けた。すなわち、情報コード210-1が情報コード210-2にすり替えられた。視覚情報220-1はすり替わっていないので、人物500は、情報コード210-1のすり替えに気が付かない可能性がある。或るユーザが商品Aを購入しようとして、情報コード210-2を視覚情報220-1とともに撮影する。撮影によって得られた写真画像はユーザ端末4から決済管理サーバ1へ送信される。決済管理サーバ1は、写真画像に含まれる情報コード210-2をデコードして、決済用情報「BBBBB」を生成する。そして、決済管理サーバ1は、決済用情報「BBBBB」に基づいて、チェックコードを取得する。決済用情報「BBBBB」は決済用情報「AAAAA」と異なるので、決済用情報「BBBBB」から生成されたチェックコードが、「8545」と異なる確率は極めて高い。例えば、チェックコード「2150」が生成される。決済管理サーバ1は、一方で写真画像に含まれる視覚情報220-1を画像認識して、チェックコード「8545」を生成する。チェックコード「2150」とチェックコード「8545」とは異なるので、決済管理サーバ1は、商品Bに対する決済処理の実行を拒否する。これによって、商品Aを購入したユーザや店舗Xが損害を被る事態を避けけることができる。
【0079】
或いは、図7Cに示すように、決済用情報「BBBBB」をエンコードすることにより、情報コード210-2が生成され、また決済用情報「BBBBB」に基づいて、視覚情報220-2が生成される。視覚情報220-2は、数字列「2150」である。情報コード210-2及び視覚情報220-2がシール430に印刷された。人物Yはシール420の上に、シール430をこっそり貼り付けた。すなわち、情報コード210-1と視覚情報220-1との組み合わせが、情報コード210-2と視覚情報220-2との組み合わせにすり替えられた。その後、シール430に印刷された視覚情報220-2を見た人物500が、その視覚情報220-2は数字列「2150」であると容易に認識することができる。数字列「2150」は、人物500が記憶している数字列「8545」と異なる。従って、人物500は、情報コード210-1がすり替えられたことに気付くことができる。これにより、誰かが商品Aを購入するために情報コード210-1を撮影する前に、人物500等がシール430を剥がす等の対処を行うことができる。このように、情報コードがすり替えられたか否かを人間が判断しやすくなる。これによって、情報コードに関する不正の防止が強化される。
【0080】
[1-5.電子決済システムの動作]
次に、電子決済システムSの動作について、図8及び図9を用いて説明する。図8は、決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。決済管理サーバ1が、店舗端末3から情報コードの発行要求を受信したときに、システム制御部11は、サーバプログラムに含まれるプログラムコードに従って情報コード発行処理を実行する。
【0081】
図8に示すように、システム制御部11は、発行要求に応じて新たな決済用情報310を生成する(ステップS101)。次いで、情報コード生成部111は、生成された決済用情報310をエンコードして、新たな情報コード210を生成する(ステップS102)。次いで、チェックコード生成部112は、所定のハッシュ関数を用いてハッシュ化を行う等、決済用情報310を変換することにより、チェックコード320を生成する(ステップS103)。次いで、コード出力部113は、生成されたチェックコード320に対応する視覚情報220を生成する(ステップS104)。例えば、コード出力部113は、チェックコード320により示される各クラスに対応する画像データを記憶部14から取得する。コード出力部113は、取得された画像データを、チェックコード320により示されるクラスの順序に従って結合して、視覚情報220の画像データを生成する。コード出力部113は、生成された情報コード210と視覚情報220を関連付けて出力する(ステップS105)。例えば、コード出力部113は、情報コード210の画像データと視覚情報220の画像データを結合して、拡張情報コード200の画像データを生成する。コード出力部113は、生成された画像データをプリンタ2に送信して、プリンタ2により、拡張情報コード200を印刷させる。ステップS105が終わると、情報コード発行処理が終了する。
【0082】
図9は、決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。所定物に表示された拡張情報コード200を、ユーザがユーザ端末4で撮影する。すると、ユーザ端末4は、拡張情報コード200の写真画像330を決済管理サーバ1へ送信する。決済管理サーバ1が、ユーザ端末4から写真画像330を受信したときに、システム制御部11は、サーバプログラムに含まれるプログラムコードに従って情報コード利用制御処理を実行する。
【0083】
図9に示すように、システム制御部11は、ユーザ端末4から送信されてきた写真画像330を、通信部15を介して取得する(ステップS201)。次いで、情報コードデコード部114は、写真画像330に含まれる情報コードをデコードして、決済用情報340を生成する(ステップS202)。次いで、チェックコード取得部115は、図8に示す情報コード発行処理におけるステップS103と同様の方法で決済用情報340を変換することにより、チェックコード350を生成する(ステップS203)。次いで、視覚情報認識部116は、写真画像330に対して画像分類を行うことにより、視覚情報220により表される対象のクラスを示すチェックコード360を取得する(ステップS204)。例えば、視覚情報認識部116は、写真画像330に含まれる視覚情報220を構成する各構成要素により表される対象が分類されるクラスを特定する。視覚情報認識部116は、特定されたクラスを示す情報を、構成要素の配列に従って結合することにより、チェックコード360を生成する。
【0084】
次いで、チェックコード比較部117は、チェックコード350とチェックコード360とが一致するか否かを判定する(ステップS205)。チェックコード350とチェックコード360とが一致すると判定された場合(ステップS205:YES)、処理はステップS206に進む。ステップS206において、情報処理部118は、決済処理を実行する(ステップS206)。例えば、情報処理部118は、写真画像330を送信してきたユーザ端末4を利用するユーザのクレジットカードの情報を、記憶部14に記憶されたデータベースから取得する。また、情報処理部118は、決済用情報340に基づいて、支払い代金及び支払先の店舗を特定する。情報処理部118は、取得された情報に基づき、図示せぬ信販会社のサーバ装置と協働して、ユーザから店舗へ代金を決済するための処理を実行する。次いで、情報処理部118は、電子決済が完了した旨を示すメッセージをユーザ端末4へ送信する(ステップS207)。一方、チェックコード350とチェックコード360とが一致しないと判定された場合(ステップS205:NO)、処理はステップS208に進む。ステップS208において、情報処理部118は、エラーメッセージをユーザ端末4へ送信する(ステップS208)。これにより、ユーザ端末4は、例えば「情報コードが不正であるため決済が拒否されました」等のエラーメッセージを表示する。ステップS207又はS208が終わると、情報コード利用制御処理が終了する。
【0085】
[1-6.変形例]
拡張情報コード200の発行に関する処理の一部又は全部を、各店舗端末3が実行してもよい。この場合、例えば各店舗端末3がプリンタを備えてもよい。各店舗端末3に備えられるCPUは、情報コード生成部111、チェックコード生成部112及びコード出力部113のうち少なくとも一つとして機能する。例えば、決済管理サーバ1は、拡張情報コード200を生成すると、この拡張情報コード200を店舗端末3へ送信してもよい。そして、店舗端末3は、拡張情報コード200を印刷してもよい。或いは、情報コード210の生成は店舗端末3が行い、視覚情報220の生成は決済管理サーバ1が行ってもよい。そして、店舗端末3は、情報コード210と視覚情報220とを結合して、拡張情報コード200を生成してもよい。或いは、店舗端末3が情報コード210と視覚情報220との両方を生成してもよい。但し、セキュリティの観点から、決済用情報310を変換してチェックコードを生成する方法を秘匿することが重要である場合、視覚情報220の生成は決済管理サーバ1が行うことが望ましい。
【0086】
拡張情報コード200のチェックに関する処理の一部又は全部を、各ユーザ端末4が実行してもよい。この場合、各ユーザ端末4に備えられるCPUは、情報コードデコード部114、チェックコード取得部115、視覚情報認識部116、チェックコード比較部117及び情報処理部118のうち少なくとも一つとして機能する。例えば、ユーザ端末4は、情報コード210をデコードして、決済用情報340を生成してもよい。ユーザ端末4は、この決済用情報340と写真画像330を決済管理サーバ1へ送信してもよい。この場合、決済管理サーバ1は、チェックコード350及び360の生成及び比較を行う。ユーザ端末4は、更に写真画像330から視覚情報220を認識して、チェックコード350を生成してもよい。そして、ユーザ端末4は、このチェックコード350と決済用情報340とを決済管理サーバ1へ送信してもよい。この場合、決済管理サーバ1は、チェックコード360を生成して、チェックコード350とチェックコード360とを比較する。ユーザ端末4は、更に決済用情報340を変換してチェックコード360を生成してもよい。この場合、ユーザ端末4は、チェックコード350とチェックコード360との比較も行う。チェックコード350とチェックコード360とが一致する場合、ユーザ端末4は決済用情報340を決済管理サーバ1へ送信する。チェックコード350とチェックコード360とが異なる場合、ユーザ端末4は決済用情報340の送信を拒絶する。これにより、ユーザ端末4は、決済管理サーバ1による決済処理の実行を制御する。決済管理サーバ1は、ユーザ端末4から決済用情報340を受信した場合に限り、決済処理を実行する。なお、前述と同様に、セキュリティの観点から、チェックコード360の生成は決済管理サーバ1が行うことが望ましい。
【0087】
以上説明したように、本実施形態によれば、情報コード生成部111が、決済用情報340をエンコードして、光学的に読み取り可能な情報コード210を生成する。また、チェックコード生成部112が、決済用情報340に基づいて、視覚的に表されることが可能な対象が分類されるクラスを示すチェックコード320を取得する。また、コード出力部113が、生成された情報コード210と、生成されたチェックコード320により示されるクラスに分類される対象を視覚的に表す視覚情報220と、を関連付けて出力する。従って、情報コード210がすり替えられたか否かを人間が判断しやすくなる。情報コード210がすり替えられたと人間が判断した場合、その人間は、現在表示されている情報コード210の読み取りを止めさせることができる。その結果、所定処理は実行されない。このように、情報コード210に関する不正が抑止される。
【0088】
また、チェックコード生成部112が、決済用情報340から情報コード210を生成するためのエンコード方法とは異なる方法を用いて、決済用情報340を変換してチェックコード320を生成してもよい。この態様によれば、情報コード210とは異なるチェックコード320が変換によって生成される。
【0089】
また、視覚情報220は、人間の視覚を通じてクラスの認識が可能に対象を表してもよい。また、視覚情報は、絵、数字、文字及び記号のうち少なくとも一つを含んでもよい。また、情報コード210は、複数の幾何学的図形を含んでもよい。
【0090】
また、コード出力部113が、情報コード210の外側に視覚情報220が配置された画像を出力してもよい。また、コード出力部113が、情報コード210の内側に視覚情報220が配置された画像を出力してもよい。
【0091】
また、チェックコード取得部115が、光学的に読み取り可能な情報コード210を撮影してデコードすることにより取得された決済用情報340に基づいて、情報コード210とともに表示されるべき視覚情報220により視覚的に表される対象が分類されるクラスを示すチェックコード350を取得する。また、視覚情報認識部116が、情報コード210とともに表示されているためにその情報コード210とともに撮影された視覚情報220により視覚的に表される対象が分類されるクラスを示すチェックコード360を取得する。また、チェックコード比較部117が、取得されたチェックコード350と取得されたチェックコード360との比較を行う。また、情報処理部118が、比較の結果に基づいて、取得された決済用情報340を用いた所定処理の実行を制御する。従って、情報コード210がすり替えられたか否かを人間が判断しやすくなる。情報コード210がすり替えられたと人間が判断した場合、その人間は、現在表示されている情報コード210の読み取りを止めさせることができる。その結果、所定処理は実行されない。このように、情報コード210に関する不正が抑止される。
【0092】
また、チェックコード取得部115が、取得された決済用情報340を変換することにより、チェックコード350を生成してもよい。また、視覚情報認識部116が、情報コード210と視覚情報220とを撮影することで得られた写真画像330に対して画像分類を行うことにより、チェックコード360を取得してもよい。この態様によれば、決済用情報340とチェックコード350とが関連付けて予め記憶されていなくとも、チェックコード350の取得が可能となる。また、視覚情報220から視覚を通じて人間が認識する傾向があるクラスと同じクラスを示すチェックコード360を取得することができる。
【0093】
また、チェックコード取得部115が、決済用情報340から情報コード210を生成するためのエンコード方法とは異なる方法を用いて、決済用情報340からチェックコード350を生成してもよい。この態様によれば、情報コード210とは異なるチェックコード350が変換によって生成される。
【0094】
また、情報処理部118が、チェックコード350とチェックコード360との比較の結果が所定条件を満たす場合、所定処理を実行させ、比較の結果が所定条件を満たさない場合、所定処理を実行させなくてもよい。この態様によれば、情報コード210がすり替えられた場合、不正に所定処理が実行されることが防止される。
【0095】
また、情報処理部118が、比較の結果が所定条件を満たす場合、所定処理を実行させ、比較の結果が所定条件を満たさない場合、比較の結果に基づく通知をユーザに提示させてもよい。この態様によれば、情報コード210がすり替えられたおそれがあることをユーザが認識することができる。
【0096】
また、情報処理部118が、比較の結果が所定条件を満たさない場合、ユーザによる選択に応じて、所定処理を実行させるか否かを決定してもよい。この態様によれば、情報コード210がすり替えられたおそれがあることをユーザが認識した上で、ユーザの責任で所定処理を実行することができる。
【0097】
[2.第2実施形態]
次に、図10乃至図12を用いて、第2実施形態について説明する。以下で説明する点を除き、本実施形態は第1実施形態と同じである。本実施形態においては、決済用情報を変換する以外の方法で、又は決済用情報とは無関係にチェックコードが取得される。
【0098】
図10は、チェックコードDB14aに記憶される情報の例を示す図である。本実施形態において、決済管理サーバ1の記憶部14には、チェックコードDB14aが記憶される。「DB」は、データベースの略語である。チェックコードDB14aには、電子決済システムSにおいて生成されたチェックコード320に関する情報が記憶される。例えば、チェックコードDB14aには、発行された情報コード210ごとに、店舗ID、決済用情報310及びチェックコード320が関連付けて記憶される。店舗IDは、店舗を識別する情報である。チェックコードDB14aにおける店舗IDは、情報コード210の発行を要求した店舗を示す。決済用情報310は、発行された情報コード210の元となる情報である。チェックコード320は、発行された情報コード210に関連付けられる視覚情報220に対応する。
【0099】
図11は、決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。図11において、図8と同様のステップについては同様の符号が付されている。図11に示すように、先ずステップS101及びS102が実行される。次いで、チェックコード生成部112は、所定のアルゴリズムに従って新たなチェックコード320を生成する(ステップS121)。例えば、チェックコード生成部112は、ランダムにチェックコード320を決定してもよい。或いは、チェックコード生成部112は、所定の順序通りにチェックコード320を決定してもよい。次いで、チェックコード生成部112は、決済用情報310とチェックコード320とを関連付けてチェックコードDB14aに記憶させる(ステップS122)。その後、ステップS104及びS105が実行されて、情報コード発行処理が終了する。
【0100】
図12は、決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。図12において、図9と同様のステップについては同様の符号が付されている。図12に示すように、先ずステップS201及びS202が実行される。次いで、チェックコード取得部115は、ステップS202で生成された決済用情報340と一致する決済用情報340がチェックコードDB14aに記憶されているか否かを判定する(ステップS221)。決済用情報340がチェックコードDB14aに記憶されていないと判定された場合(ステップS221:NO)、情報処理部118は、エラーメッセージをユーザ端末4へ送信する(ステップS208)。この判定結果は、ユーザ端末4により読み取られた情報コード210が、電子決済システムSにより正規に発行されたものではないことを示す。一方、決済用情報340がチェックコードDB14aに記憶されていると判定された場合(ステップS221:YES)、処理はステップS222に進む。ステップS222において、チェックコード取得部115は、決済用情報340に関連付けられたチェックコード350を、チェックコードDB14aから取得する。次いで、ステップS204及びS205が実行される。ステップS205において、チェックコードDB14aから取得されたチェックコード350とチェックコード360とが一致するか否かが判定される。この判定の結果に応じて、ステップS206及びS207が実行され、又はステップS208が実行される。
【0101】
以上説明したように、本実施形態においても、第1実施形態の場合と同様に、拡張情報コード200の発行に関する処理の一部又は全部を、各店舗端末3が実行してもよい。また、拡張情報コード200のチェックに関する処理の一部又は全部を、各ユーザ端末4が実行してもよい。但し、チェックコードDB14aは決済管理サーバ1に備えられている必要がある。
【0102】
以上説明したように、本実施形態によっても、情報コード210がすり替えられたか否かを人間が判断しやすくなる。
【0103】
[3.第3実施形態]
次に、図13乃至図17を用いて、第3実施形態について説明する。以下で説明する点を除き、本実施形態は第2実施形態と同じである。本実施形態においては、情報コードの発行時におけるチェックコードの生成に位置情報が用いられ、また情報コードのチェックに位置情報が用いられる。
【0104】
図13は、チェックコードDB14aに記憶される情報の例を示す図である。本実施形態において、チェックコードDB14aには、発行された情報コード210ごとに、店舗ID、決済用情報310、チェックコード320及び店舗位置情報360が関連付けて記憶される。店舗位置情報は、発行された情報コード210が表示されるべき場所の位置を示す。すなわち、店舗位置情報は、拡張情報コード200を表示する所定物400が置かれるべき場所を示す。情報コード210が表示されるべき場所は、通常、情報コード210の発行を要求した店舗である。しかしながら、情報コード210の発行要求の際に、店舗の従業員が、情報コード210が表示されるべき場所として、店舗と異なる場所(商品が販売される場所又はサービスが提供される場所)を指定可能であってもよい。情報コード210が表示されるべき場所の位置は、例えば経緯度で示されてもよいし、住所で示されてもよい。
【0105】
本実施形態における情報コード210の発行時、チェックコード生成部112は、情報コードが表示されるべき場所の位置を示す位置情報を取得する。この位置情報は、例えば店舗位置情報である。そして、チェックコード生成部112は、取得された位置情報により示される場所から所定距離以内の場所で表示されるべき他の情報コードのために生成済のチェックコードとは異なるチェックコード320を生成する。これにより、表示されるべき場所が比較的に近い拡張情報コード200の間で、視覚情報220が互いに異なることが担保される。従って、或る場所で表示されていた拡張情報コード200が、その近くの場所で表示されるべき拡張情報コード200にすり替えられた場合に、店舗の従業員等がすり替えに気が付くことができる。
【0106】
図14は、拡張情報コード200の生成例を示す図である。図14に示すように、例えば店舗610に対して新たな拡張コード200-7を発行するものとする。領域700は、店舗610から所定半径の円で囲まれる領域である。領域700内には、店舗610に加えて、店舗620~640がある。店舗610に対しては既に拡張情報コード200-1が発行されている。店舗620に対しては拡張情報コード200-2が発行されている。店舗630に対しては拡張情報コード200-3が発行されている。店舗640に対しては拡張情報コード200-4及び200-5が発行されている。拡張情報コード200-1~200-5に含まれる視覚情報220は、それぞれ「2411」、「6114」、「0264」、「8339」及び「8973」である。そこで、新たに発行される拡張情報コード200-7に含まれる視覚情報220は、これらの何れとも異なる例えば「2072」である。領域700外には、店舗650がある。店舗650に対しては拡張情報コード200-6が発行されている。拡張情報コード200-6に含まれる視覚情報220は「3625」である。ここで、新たに発行される拡張情報コード200-7に含まれる視覚情報220が、たとえ「3625」になってしまったとしても、後述する理由により問題はない。
【0107】
チェックコード生成部112は、所定距離以内の場所で表示されるべき他の情報コードのための生成済チェックコードと異なる複数のチェックコードのうち、生成済チェックコードと重複する度合いが相対的に小さいチェックコードを生成してもよい。すなわち、チェックコード生成部112は、生成済チェックコードとは重複する度合いが極力小さいチェックコード320を生成する。チェックコード生成部112は、例えば生成済チェックコードと異なるチェックコードのうち、重複度が最も小さいチェックコード320を生成してもよい。本実施形態においては、チェックコードは、視覚的に表されることが可能な対象が分類されるクラスをそれぞれ示すコード要素で構成される。重複度は、例えば、チェックコード320を構成するコード要素のうち、生成済チェックコードを構成するコード要素との間で、値及び位置が一致するコード要素の数に対応してもよい。例えば、重複度を示す情報としてハミング距離が用いられてもよい。この場合、ハミング距離が長いほど重複度が小さい。例えば、数字列「1563」と「4581」との間のハミング距離は3である。また、チェックコード生成部112は、位置は異なるが、値が同一である構成要素がある場合、より大きい重複度を決定してもよい。例えば、数字列「1623」と「1929」との間のハミング距離は2であり、数字列「1623」と「1329」との間のハミング距離も2である。数字列「1929」の「9」は、数字列「1623」に含まれていないのに対し、数字列「1329」の「3」は、数字列「1623」に含まれている。従って、数字列「1929」の方が「1329」よりも重複度が小さい。
【0108】
相対的に重複度が小さいチェックコード320が生成されて視覚情報220が生成されることにより、視覚情報220に変化があったか否かを人間が判断しやすくなる。生成された視覚情報220と別の視覚情報220との間における重複度が小さいほど、視覚情報220と別の視覚情報220との間の類似性が低いので、人間は視覚情報の見分けが付きやすい。人間が過去に見た視覚情報220の記憶が曖昧であった場合、その人間が現在見ている視覚情報220と過去に見た視覚情報220とが一致するか否かを容易に判断することができない場合がある。しかしながら、現在見ている視覚情報220と過去に見た視覚情報220とが見分けやすければ、記憶が曖昧であったとしても、その人間はこれらが異なることを容易に判断することができる。
【0109】
図15は、拡張コードのチェック時において位置情報を比較するためのデータの流れの一例を示す図である。本実施形態において、各ユーザ端末4は、そのユーザ端末4の位置を示す端末位置情報を取得する機能を有する。例えば、GPS(Global Positioning System)等の全球測位衛星システムを利用して、端末位置情報として経緯度が計算されてもよい。また例えば、移動体通信事業者により、基地局を利用した位置情報がユーザ端末4に提供されてもよい。この場合、ユーザ端末4は、そのユーザ端末4の近くにある基地局の位置に対応した経緯度又は住所を、端末位置情報として取得する。ユーザ端末4は、拡張コード200を撮影すると、図15に示すように、拡張コード200の写真画像330とともに、そのときの端末位置情報370を決済管理サーバ1へ送信してもよい。
【0110】
拡張情報コード200のチェック時、チェックコード比較部117は、拡張情報コード200が撮影された場所の位置を示す位置情報を取得する。この位置情報は、例えば、ユーザ端末4から送信されてきた端末位置情報370である。また、チェックコード比較部117は、情報コードデコード部114により生成された決済用情報340に基づいて、情報コード210が表示されるべき場所の位置を示す位置情報を取得する。この位置情報は、例えば店舗位置情報380である。例えば、チェックコード比較部117は、決済用情報340に関連付けられた店舗位置情報380を、チェックコードDB14aから取得する。チェックコード比較部117は、取得された店舗位置情報380と取得された端末位置情報370とを更に比較する。
【0111】
情報処理部118は、チェックコード350とチェックコード360との比較結果、及び店舗位置情報380と端末位置情報370との比較結果に基づいて、決済用情報340を用いた所定処理の実行を制御する。具体的に、情報処理部118は、チェックコード350とチェックコード360とが一致し、且つ、店舗位置情報380により示される位置と端末位置情報370により示される位置との間の距離が所定の閾値未満である場合、決済処理を実行する。一方、情報処理部118は、チェックコード350とチェックコード360とが一致したとしても、店舗位置情報380により示される位置と端末位置情報370により示される位置との距離が閾値を超える場合、決済処理の実行を拒否する。これにより、或る場所で表示されていた拡張情報コード200が、その場所から比較的遠くの場所で表示されるべき拡張情報コード200にすり替えられた場合に、決済管理サーバ1は、決済処理を拒絶することができる。なお、距離の閾値は、前述の所定距離と同一であってもよいし、所定距離とは異なってもよい。
【0112】
図14に示す例において、店舗610に表示された拡張情報コード200-7が、拡張情報コード200-2~200-5の何れかにすり替えられたとする。しかしながら、拡張情報コード200-2~200-5それぞれに含まれる視覚情報220の何れも、拡張情報コード200-7に含まれる視覚情報220と異なる。従って、店舗610の従業員等は、拡張情報コード200-7がすり替えられたことに気が付く蓋然性が高い。もし、視覚情報220が「3625」である拡張情報コード200-7が発行されたとする。拡張情報コード200-7が拡張情報コード200-6にすり替えられた場合、視覚情報220に変化がないため、従業員等はすり替えに気が付かないかもしれない。しかしながら、拡張情報コード200-7が表示されるべき店舗610と拡張情報コード200-6が表示されるべき店舗650との間の距離は閾値を超える。従って、店舗610でユーザ端末4が拡張情報コード200-6を読み取ったとしても、決済管理サーバ1における店舗位置情報380と端末位置情報370との比較により、決済処理は拒絶される。
【0113】
人間による視覚情報220の記憶しやすさを鑑みると、視覚情報220のパターン数は少ない方がよい。例えば、視覚情報220が4桁の数字列で構成される場合、視覚情報220のパターン数は1万である。その一方で、視覚情報220のパターン数が少ないほど、多数の拡張情報コード200が発行されていくにつれて、拡張情報コード200間で、視覚情報220が互いに一致する確率が高くなる。しかしながら、本実施形態においては、所定距離の範囲内では、視覚情報220が異なることが担保される。そのため、情報コード210がすり替えられたか否かを人間が判断しやすい状況を維持しつつ、視覚情報220のパターン数を少なくすることができる。
【0114】
なお、拡張情報コード200の発行時における位置情報を用いたチェックコードの生成及び拡張情報コード200のチェック時における位置情報の比較の両方が実施されてもよいし、何れか一方のみが実施されてもよい。
【0115】
図16は、決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。図16において、図11と同様のステップについては同様の符号が付されている。図16に示すように、先ずステップS101及びS102が実行される。次いで、チェックコード生成部112は、情報コードが表示されるべき場所の位置として、情報コード210の発行要求を送信してきた店舗端末3が設置された店舗の位置を示す店舗位置情報を取得する(ステップS141)。例えば、チェックコード生成部112は、記憶部14に記憶されて店舗の住所のデータベースから、発行要求元の店舗の住所を店舗位置情報として取得してもよい。
【0116】
次いで、チェックコード生成部112は、発行要求元の店舗の店舗位置情報により示される位置と、チェックコードDB14aに既に記憶されている各店舗位置情報により示される位置との距離を計算する。チェックコード生成部112は、チェックコードDB14aに記憶されている店舗位置情報のうち、計算された距離が所定距離以下である店舗位置情報を特定する。チェックコード生成部112は、特定された各店舗位置情報に関連付けてチェックコードDB14aに記憶されているチェックコードを、除外生成済チェックコードとして取得する(ステップS142)。
【0117】
次いで、チェックコード生成部112は、取得された何れの除外生成済チェックコードとも異なるチェックコード320を、所定のアルゴリズムに従って生成する。例えば、チェックコード生成部112は、ランダムにチェックコード320を決定してもよいし、所定の順序通りにチェックコード320を決定してもよい。何れの場合であっても、最終的にチェックコード320が除外生成済チェックコードと異なればよい。この後、生成されたチェックコード320に基づいて視覚情報220が生成されて、拡張情報コード200が出力される(ステップS104、S105)。
【0118】
図17は、決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。図17において、図12と同様のステップについては同様の符号が付されている。図17に示すように、先ずステップS201が実行される。次いで、チェックコード比較部117は、ユーザ端末4から写真画像330とともに送信されてきた端末位置情報370を、通信部15を介して取得する(ステップS241)。次いで、ステップS202、S221、S204及びS205が実行される。S205において、チェックコード350とチェックコード360とが一致しないと判定された場合(ステップS205:NO)、ステップS208が実行される。一方、チェックコード350とチェックコード360とが一致すると判定された場合(ステップS205:YES)、処理はステップS242に進む。
【0119】
ステップS242において、チェックコード比較部117は、ステップS202で生成された決済用情報340に関連付けられた店舗位置情報380を、チェックコードDB14aから取得する。次いで、チェックコード比較部117は、店舗位置情報380と端末位置情報370との差が閾値未満であるか否かを判定する(ステップS243)。店舗位置情報380と端末位置情報370との差が閾値未満であると判定された場合(ステップS243:YES)、ステップS206及びS207が実行される。一方、店舗位置情報380と端末位置情報370との差が閾値未満ではないと判定された場合(ステップS243:NO)、ステップS208が実行される。
【0120】
以上説明したように、本実施形態によれば、チェックコード生成部112が、情報コード210が表示されるべき場所の位置を示す店舗位置情報を取得する。また、チェックコード生成部112が、取得された店舗位置情報により示される場所から所定距離以内の場所で表示されるべき他の情報コード210のために生成された生成済チェックコードとは異なるチェックコード320を生成する。従って、情報コード210と視覚情報との組み合わせが、比較的に近い場所で表示されるべき他の情報コード210と視覚情報との組み合わせにすり替えられた場合に、人間は、視覚情報を見ることにより、情報コード210がすり替わったか否かを判断することができる。
【0121】
また、チェックコード生成部112は、生成済チェックコードと異なるチェックコード320のうち、生成済チェックコードとの間で重複する度合いが相対的に小さいチェックコード320を生成してもよい。この態様によれば、以前に見た視覚情報の記憶が曖昧であっても、人間は情報コード210がすり替わったか否かを容易に判断することができる。
【0122】
また、チェックコード比較部117が、取得された決済用情報340に基づいて、情報コード210が表示されるべき場所の位置を示す店舗位置情報を取得する。また、チェックコード比較部117が、情報コード210と視覚情報220とが撮影された場所の位置を示す端末位置情報を取得する。また、チェックコード比較部117が、取得された店舗位置情報と取得された端末位置情報とを更に比較する。また、情報処理部118が、チェックコード350とチェックコード360との比較結果、及び店舗位置情報と端末位置情報との比較結果に基づいて、所定処理の実行を制御する。従って、たとえチェックコード350とチェックコード360とが一致したとしても、店舗位置情報と端末位置情報との比較結果に基づいて、所定処理が不正に実行されることを抑止することができる。
【0123】
[4.第4実施形態]
次に、図18乃至図21用いて、第4実施形態について説明する。以下で説明する点を除き、本実施形態は第1実施形態と同じである。本実施形態においては、決済用情報220の変換仕様が、互いに異なる複数の変換仕様の中から決定される。複数の変換仕様は予め定められている。各変換仕様は、例えば、変換方法及び変換に用いられる固定パラメータの少なくとも一つを示す。複数の変換仕様の間で、変換方法及び固定パラメータの少なくとも何れか一方が異なってもよい。例えば、複数の変換仕様それぞれに対応した複数のハッシュ関数が予め記憶部14に記憶されてもよい。
【0124】
図18は、拡張コード200の生成時におけるデータの流れの一例を示す図である。拡張情報コード200の発行時、チェックコード生成部112は、決済用情報310を変換してチェックコード320を生成するために用いることが可能な互いに異なる複数の変換仕様のうち何れの変換仕様を用いるかを、生成される情報コード210ごとに決定する。チェックコード生成部112は、決定された変換仕様に従ってチェックコード320を生成する。ここで、複数の変換仕様それぞれの選択確率が一様となるようなアルゴリズムで、変換仕様の決定が行われることが望ましい。例えば、チェックコード生成部112は、変換に用いる変換仕様を、ランダムに決定してもよいし、所定の順序通りに決定してもよい。或いは、チェックコード生成部112は、別の何らかの情報を用いて変換仕様を決定してもよい。例えば、チェックコード生成部112は、拡張情報コード200の発行日に基づいて、変換に用いる変換仕様を決定してもよい。発行日は、拡張情報コード200が出力される日付である。発行日に対応して一つの変換仕様が決定されるのであれば、変換仕様の決定方法が如何様であってもよい。変換仕様の決定に用いられる情報は、拡張情報コード200の発行日以外の情報であってもよい。但し、変換仕様の決定に用いられた情報の特定が第三者にとって困難な情報が用いられることが望ましい。
【0125】
例えば、図18に示すように、ハッシュ関数600-1~600-Nが記憶部14に記憶されている(Nは、N>1を満たす自然数)。発行日である今日の日付は2019年3月19日である。ここで、例えば発行日情報710が生成される。発行日情報710は、「0319」である。ハッシュ関数600-1~600-Nの中から、「0319」に対応して例えばハッシュ関数600-11が決定される。ハッシュ関数600-11を用いて、決済用情報310が変換されて、チェックコード320が生成される。
【0126】
情報コード生成部111は、決済用情報310と、複数の変換仕様のうちチェックコード320の生成に用いられた変換仕様を示す仕様情報と、をエンコードして、情報コード200を生成する。仕様情報は、例えば変換仕様の識別情報であってもよい。拡張情報コード200の発行日に基づいて変換仕様が選択された場合、仕様情報は、発行日情報710であってもよい。例えば、図18に示すように、決済用情報310と発行日情報710とが結合されて、拡張決済用情報720が生成される。拡張決済用情報720がエンコードされて、情報コード210が生成される。そして、この情報コード210と視覚情報220を含む拡張情報コード200が生成される。
【0127】
図19は、拡張情報コードのチェック時におけるデータの流れの一例を示す図である。情報コードデコード部114は、情報コード210をデコードして、決済用情報340及び仕様情報を生成する。この仕様情報は、拡張情報コード200の発行時にチェックコード320の生成に用いられた変換仕様を示す。チェックコード取得部115は、情報コード210をデコードすることにより決済用情報340及び仕様情報が生成された場合、複数の変換仕様のうち仕様情報により示される変換仕様に従って、チェックコード350を生成する。例えば、図19に示すように、情報コード210がデコードされて、拡張決済用情報730が生成される。拡張決済用情報730は、決済用情報340及び発行日情報740を含む。発行日情報740は「0319」であるので、ハッシュ関数600-1~600-Nの中からハッシュ関数600-11が選択される。ハッシュ関数600-11を用いて、決済用情報310が変換されて、チェックコード350が生成される。そして、チェックコード350とチェックコード360とが比較される。
【0128】
如何なる拡張情報コード200に対して如何なる変換仕様が用いられているかが、視覚情報220を見ただけで特定することは困難となる。そのため、悪意ある人物が、拡張コード200のチェックをパスする視覚情報220を生成することが困難となる。
【0129】
図20は、決済管理サーバ1のシステム制御部11による情報コード発行処理の一例を示すフローチャートである。図20において、図8と同様のステップについては同様の符号が付されている。図20に示すように、先ずステップS101が実行される。次いで、チェックコード生成部112は、発行日情報710を取得する(ステップS161)。例えば、チェックコード生成部112は、今日の日付を発行日情報710として取得してもよい。次いで、情報コード生成部111は、決済用情報310と発行日情報710とを結合して、拡張決済用情報720を生成する(ステップS162)。次いで、情報コード生成部111は、生成された拡張決済用情報720をエンコードして、新たな情報コード210を生成する(ステップS163)。次いで、チェックコード生成部112は、複数の変換仕様の中から、発行日情報710に対応する変換仕様を選択する(ステップS164)。例えば、チェックコード生成部112は、発行日情報710のハッシュ値を計算することにより、選択する変換仕様の識別情報を生成してもよい。次いで、チェックコード生成部112は、選択された変換仕様に従って、決済用情報310を変換して、チェックコード320を生成する(ステップS165)。その後、ステップS104及びS105が実行される。
【0130】
図21は、決済管理サーバ1のシステム制御部11による情報コード利用制御処理の一例を示すフローチャートである。図21において、図9と同様のステップについては同様の符号が付されている。図21に示すように、先ずステップS201が実行される。次いで、情報コードデコード部114は、情報コード210をデコードして、拡張決済用情報730を生成する(ステップS261)。次いで、チェックコード取得部115は、生成された拡張決済用情報730が発行日情報を含むか否かを判定する(ステップS262)。拡張決済用情報730が発行日情報を含まないと判定された場合(ステップS262:NO)、ステップS208が実行される。一方、拡張決済用情報730が発行日情報を含むと判定された場合(ステップS262:YES)、処理はステップS263に進む。
【0131】
ステップS263において、チェックコード取得部115は、拡張決済用情報730を、決済用情報340と発行日情報740とに分離する。次いで、チェックコード取得部115は、複数の変換仕様の中から、発行日情報740に対応する変換仕様を選択する(ステップS264)。次いで、チェックコード取得部115は、選択された変換仕様に従って、決済用情報340を変換して、チェックコード350を生成する(ステップS265)。次いで、ステップS204及びS205が実行される。ステップS205において、ステップS265で生成されたチェックコード350とチェックコード360とが一致するか否かが判定される。この判定の結果に応じて、ステップS206及びS207が実行され、又はステップS208が実行される。
【0132】
以上説明したように、本実施形態によれば、チェックコード生成部112が、決済用情報340を変換してチェックコード320を生成するために用いることが可能な互いに異なる複数の変換仕様のうち何れの変換仕様を用いるかを、生成される情報ごとに決定する。また、チェックコード生成部112が、決定された変換仕様に従って、チェックコード320を生成する。また、情報コード生成部111が、決済用情報340と、複数の変換仕様のうち決定された変換仕様を示す仕様情報と、をエンコードして、情報コード210を生成する。従って、視覚情報が、如何なる変換仕様を用いて生成されたかを特定することが困難となる。そのため、悪意ある第三者が不正な情報コード210とともに表示されるべき正しい視覚情報を生成することを抑止することができる。
【0133】
また、チェックコード生成部112が、複数の変換仕様のうち、拡張コード200が出力される発行日に対応する変換仕様に従って、チェックコード320を生成してもよい。また、情報コード生成部111が、決済用情報340と発行日情報710とをエンコードして、情報コード210を生成してもよい。
【0134】
[5.他の実施形態]
本発明が適用可能なシステムは電子決済システムに限定されない。本発明は、情報コードをデコードすることにより得られる元の情報を用いて何からの処理が実行されるあらゆるシステムに対して適用可能である。例えば、ウェブサイトに自動的にアクセスするためのシステムに本発明が適用されてもよい。この場合、例えばURLが元の情報である。ユーザ端末4は、情報コードをデコードすることにより得られたURLに従って、ウェブサイトにアクセスする。ユーザ端末4は、例えばアクセスしたウェブサイトのページを表示してもよいし、アクセス先のウェブサーバとの間で何らかの処理を自動的に実行してもよい。また例えば、自動的に電話を掛けるシステムに本発明が適用されてもよい。この場合、電話番号が元の情報である。ユーザ端末4は、情報コードをデコードすることにより得られた電話番号を用いて電話を掛ける。
【0135】
システムによっては、決済管理サーバ1のように、情報コードを用いて所定処理を実行するためのサーバ装置が不要な場合がある。例えば、店舗端末3のような各端末装置が、元の情報を変換することによって情報コード及び視覚情報の両方を生成して拡張情報コードを印刷し、且つ各ユーザ端末4が所定処理を実行する場合、サーバ装置は不要である。
【符号の説明】
【0136】
1 決済管理サーバ
2 プリンタ
3 店舗端末
4 ユーザ端末
11 システム制御部
12 システムバス
13 入出力インターフェース
14 記憶部
14a チェックコードDB
111 情報コード生成部
112 チェックコード生成部
113 コード出力部
114 情報コードデコード部
115 チェックコード取得部
116 視覚情報認識部
117 チェックコード比較部
118 情報処理部
NW ネットワーク
S 電子決済システム
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7A
図7B
図7C
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21