(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-24
(45)【発行日】2024-06-03
(54)【発明の名称】二次元コード配布システム及び二次元コード配布方法
(51)【国際特許分類】
G06K 17/00 20060101AFI20240527BHJP
G06K 19/06 20060101ALI20240527BHJP
【FI】
G06K17/00 022
G06K19/06 037
G06K19/06 112
(21)【出願番号】P 2023210613
(22)【出願日】2023-12-13
【審査請求日】2023-12-13
【早期審査対象出願】
(73)【特許権者】
【識別番号】523469814
【氏名又は名称】株式会社フォリオ
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】西窪 洋平
【審査官】北村 学
(56)【参考文献】
【文献】特開2020-106927(JP,A)
【文献】特開2014-229147(JP,A)
【文献】特開2019-192212(JP,A)
【文献】特開2015-093061(JP,A)
【文献】特開2007-241903(JP,A)
【文献】特開2012-181645(JP,A)
【文献】特開2020-021140(JP,A)
【文献】中国特許出願公開第110677261(CN,A)
【文献】中国特許出願公開第111104685(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06K 17/00
G06K 7/00 - 7/14
G06K 19/00 - 19/18
G06F 21/10
G06F 21/60 - 21/88
(57)【特許請求の範囲】
【請求項1】
二次元コード映像出力装置とサーバ装置とを備え、
前記二次元コード映像出力装置は、
互いに異なる文字列である複数の固有文字列を生成し、前記
複数の固有文字列
のそれぞれに、前記固有文字列の出所の正当性確認のための配布者識別子を含む文字列を
組み合わせたものを暗号化することで、複数の暗号化文字列を生成する暗号化文字列生成部と、
前記
複数の暗号化文字列
のそれぞれからURIを生成し、前記URIを二次元コードに変換する
ことで、複数の二次元コードを生成する二次元コード変換部と、
生成された
複数の前記二次元コードを
1秒間に複数回の処理レートで差替えつつ、利用者端末に取得させるために映像信号として出力する二次元コード映像出力部と、を有し、
前記サーバ装置は、
ネットワークを介して、利用者端末からの前記URIへのアクセスにより、前記暗号化文字列を受信し復号して復号化データを生成する復号化データ生成部と、
前記復号化データに含まれる前記固有文字列が、登録済でないかどうかを判定し、登録済でない場合には、前記利用者端末に有効である旨の通知を行うと共に、前記固有文字列を登録
し、登録済であると判定した場合には、前記利用者端末に、二次元コードの再取得を促す表示を行わせる通知を送信する復号化データ判定部と、を有
する、二次元コード配布システム。
【請求項2】
前記復号化データ生成部は、前記暗号化文字列を復号できない場合には、前記利用者端末にエラーを通知する、請求項
1に記載の二次元コード配布システム。
【請求項3】
前記復号化データ判定部は、更に、前記配布者識別子が予め登録されたものであるかどうか、及び/又は復号時に使用した鍵と前記配布者識別子の組み合わせが適切かどうかを判定し、適切でない場合には、前記利用者端末にエラーを通知する、請求項
1に記載の二次元コード配布システム。
【請求項4】
前記処理レートは、1秒間に5回以上である、請求項1に記載の二次元コード
配布システム。
【請求項5】
前記処理レートは、表示装置のリフレッシュレートと同じ又はリフレッシュレート未満である、請求項1に記載の二次元コード
配布システム。
【請求項6】
情報処理装置が、互いに異なる文字列である複数の固有文字列を生成し、前記
複数の固有文字列
のそれぞれに、前記固有文字列の出所の正当性確認のための配布者識別子を含む文字列を
組み合わせたものを暗号化することで、複数の暗号化文字列を生成する暗号化文字列生成工程と、
前記情報処理装置が、前記複数の暗号化文字列
のそれぞれからURIを生成し、前記URIを二次元コードに変換する
ことで、複数の二次元コードを生成する二次元コード変換工程と、
前記情報処理装置が、生成された
複数の前記二次元コードを
1秒間に複数回の処理レートで差替えつつ、利用者端末に取得させるために映像信号として出力する二次元コード映像出力工程と、
サーバ装置が、ネットワークを介して、利用者端末からの前記URIへのアクセスにより、前記暗号化文字列を受信し復号して復号化データを生成する復号化データ生成工程と、
前記サーバ装置が、前記復号化データに含まれる前記固有文字列が、登録済でないかどうかを判定し、登録済でない場合には、前記利用者端末に有効である旨の通知を行うと共に、前記固有文字列を登録し、登録済であると判定した場合には、前記利用者端末に、二次元コードの再取得を促す表示を行わせる通知を送信する復号化データ判定工程と、を備える二次元コード
配布方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二次元コード映像出力装置、二次元コード配布システム、二次元コード映像出力方法、二次元コード表示方法及び二次元コード映像出力プログラムに関する。
【背景技術】
【0002】
近年QRコード(登録商標)と呼ばれる二次元コードが広く利用されている。二次元のパターンとして符号化したバーコードの一種であり、バーコード等の一次元コードよりも多くの情報を格納できる。URI(Uniform Resource Identifier)やテキスト、連絡先情報など様々なデータを含めることができ、広告、決済、情報共有など様々な分野で利用されている。
【0003】
特許文献1には、複数の決済サービスに対応し、物品又は役務の対価を支払うユーザのユーザ装置を用いて読み取り可能な複数の二次元コードに関する管理情報を取得する取得部と、前記管理情報に基づいて、前記複数の二次元コードのうち、前記ユーザが利用を希望する決済サービスに対応する一の二次元コードを選択させるための画像を表示装置に表示させる表示制御部と、を備える店舗装置について開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
二次元コードは、訪問者や顧客が、所有する端末からインターネットを介してアクセスしてもらうためのURIを配布するために利用されることがある。例えば、店舗イベントのように来店者のみに特典がある場合において、店舗内のスクリーン等に特典を得るための二次元コードを表示しておけば、来店者は、各自の端末で二次元コードを撮影し、示されたURIにアクセスして特典を得るための情報にアクセスできる。
【0006】
しかしながら、このような二次元コードの配布方法では、二次元コードや二次元コードが示すURIは複製が可能であるため、複製したものではアクセスできないように、1回限り有効な互いに異なるURI(又は二次元コード)を各来店者に対して個別に紙等で配布することも考えられるが、店舗側のオペレーションの負担や来店者側の混雑を考慮すると現実的とはいえなかった。
【0007】
本発明は上記事情に鑑みてなされたものであり、同じ時間帯において互いに異なる二次元コードをそれぞれの端末に配布可能な二次元コード映像出力装置、二次元コード配布システム、二次元コード映像出力方法、二次元コード表示方法及び二次元コード映像出力プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の二次元コード映像出力装置は、固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成部と、前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換部と、生成された前記二次元コードを映像信号として出力する二次元コード映像出力部と、を備え、前記二次元コード映像出力部による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード映像出力装置である。
【0009】
本開示の二次元コード配布システムは、二次元コード映像出力装置とサーバ装置とを備え、前記二次元コード映像出力装置は、固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成部と、前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換部と、生成された前記二次元コードを映像信号として出力する二次元コード映像出力部と、を有し、前記サーバ装置は、ネットワークを介して、利用者端末からの前記URIへのアクセスにより、前記暗号化文字列を受信し復号して復号化データを生成する復号化データ生成部と、前記復号化データに含まれる前記固有文字列が、登録済でないかどうかを判定し、登録済でない場合には、前記利用者端末に有効である旨の通知を行うと共に、前記固有文字列を登録する復号化データ判定部と、を有し、前記二次元コード映像出力部による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード配布システムである。
【0010】
本開示の二次元コード映像出力方法は、固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成工程と、前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換工程と、生成された前記二次元コードを映像信号として出力する二次元コード映像出力工程と、を備え、前記二次元コード映像出力工程による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード映像出力方法である。
【0011】
本開示の二次元コード表示方法は、互いに異なる二次元コードを1秒間に複数回の処理レートで表示する二次元コード表示方法である。
【0012】
本開示の二次元コード映像出力プログラムは、固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成工程と、前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換工程と、生成された前記二次元コードを映像信号として出力する二次元コード映像出力工程と、をコンピュータに実行させための二次元コード映像出力プログラムであり、前記二次元コード映像出力工程による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード映像出力プログラムである。
【発明の効果】
【0013】
本開示の二次元コード映像出力装置、二次元コード配布システム、二次元コード映像出力方法、二次元コード表示方法及び二次元コード映像出力プログラムによれば、同じ時間帯において互いに異なる二次元コードをそれぞれの端末に配布することができる。
【図面の簡単な説明】
【0014】
【
図1】本開示の一実施形態に係る二次元コード映像出力装置を利用した二次元コード配布システムの構成について説明するための図である。
【
図2】サーバ装置のハードウェア構成の一例について示す図である。
【
図3】二次元コード映像出力装置のハードウェア構成の一例について示す図である。
【
図4】二次元コード映像出力装置の機能構成の一例について示すブロック図である。
【
図5】サーバ装置の機能構成の一例について示すブロック図である。
【
図6】二次元コード配布システムにおける二次元コード配布処理の例について示すシーケンス図である。
【
図7】二次元コード映像出力処理の例について示すフローチャートである。
【発明を実施するための形態】
【0015】
本開示の形態に係る二次元コード映像出力装置、二次元コード配布システム及び二次元コード映像出力プログラムについて図面を参照して説明する。説明において同様の要素には同一の符号を付して、重複する説明を適宜省略する。なお、本開示においては、URIの語は、URL(Uniform Resource Locator)の意味を含む語として用いられる。
【0016】
図1は、本開示の一実施形態に係る二次元コード映像出力装置4を利用した二次元コード配布システム1の構成について説明するための図である。
図1に示されるように、二次元コード配布システム1は、通信ネットワーク3に接続されたサーバ装置2と、通信ネットワーク3を介してサーバ装置2に接続される二次元コード映像出力装置4、利用者端末5及び表示装置6を有している。ここで、二次元コード映像出力装置4は、運用時においては通信ネットワーク3に接続されていなくてもよい。また表示装置6は二次元コード映像出力装置4に含まれる構成であってもよい。
【0017】
なお、
図1においては、利用者端末5の数を、利用者端末5a~5cの3つとしているが1つであっても、3以外の複数であってもよい。また、二次元コード映像出力装置4の数も任意の数とすることができる。通信ネットワーク3は、インターネットを含むネットワークとすることができる。サーバ装置2は、例えば、クラウドサーバやエッジコンピューティングのサーバとすることができる。利用者端末5は、例えば、スマートフォン、パーソナルコンピュータ、タブレット端末及びウェアラブル端末等とすることができる。以下、複数の利用者端末5a~5cを単に利用者端末5として参照するが、利用者端末5は、同様の動作を行う複数の端末として置き換えることができる。表示装置6は、液晶表示装置、有機EL(Electro Luminescence)表示装置やプロジェクタその他の表示装置を含む。
【0018】
図2は、サーバ装置2のハードウェア構成の一例について示す図である。この図に示されるように、サーバ装置2は、主に半導体回路素子を用いた電子回路で構成された、いわゆる情報処理装置とすることができる。例えば、CPU(Central Processing Unit)21、RAM(Random Access Memory)等の揮発性記憶部22、フラッシュメモリやハードディスク等の不揮発性記憶部23、及び通信ネットワーク3に接続して通信を行う通信部24を有することができる。なお、サーバ装置2は、複数台のサーバ装置により構成されていてもよいし、バーチャルシステムとして同様の構成を有しているものであってもよい。
【0019】
図3は、二次元コード映像出力装置4のハードウェア構成の一例について示す図である。
図2のサーバ装置2と同様に、いわゆる情報処理装置とすることができる。例えば、サーバ装置2と同様に、CPU41、揮発性記憶部42、不揮発性記憶部43、及び通信部44を備え、更に映像信号を出力する映像信号出力部45を有している。ここで、二次元コード映像出力装置4は表示装置6を含み、映像信号出力部45から出力される映像信号が直接表示装置6に入力される構成であってもよい。また、キーボード、タッチパネル等の入力部46を有していてもよい。利用者端末5のハードウェア構成は、二次元コードを撮影して取得するためのカメラを有している他は、二次元コード映像出力装置4と同様とすることができるため、重複する説明を省略する。
【0020】
以下、二次元コード配布システム1の具体的な処理について説明する。二次元コード配布システム1を構成するサーバ装置2、二次元コード映像出力装置4及び利用者端末5により行われる処理は、上述のハードウェアを動作させるソフトウェアによって実現されるものとすることができる。
【0021】
図4は、二次元コード映像出力装置4の機能構成の一例について示すブロック図である。
図4に示される機能構成の各機能は、
図3に示されるハードウェアが、揮発性記憶部42及び不揮発性記憶部43に保存されたプログラムやデータと連関して動作することにより実現されている。二次元コード映像出力装置4は、暗号化文字列生成部401、二次元コード変換部402、及び二次元コード映像出力部403を有している。これらの機能の具体的な処理については、後述する、
図6のシーケンス図の説明、及び
図7のフローチャートの説明で詳述する。
【0022】
図5は、サーバ装置2の機能構成の一例について示すブロック図である。
図5に示される機能構成の各機能は、
図2に示されるハードウェアが、揮発性記憶部22及び不揮発性記憶部23に保存されたプログラムやデータと連関して動作することにより実現されている。サーバ装置2は、復号化データ生成部201及び復号化データ判定部202を有している。これらの機能の具体的な処理については、後述する、
図6のシーケンス図の説明で詳述する。
【0023】
図6は、二次元コード配布システム1における二次元コード配布処理S100の例について示すシーケンス図である。
図6のシーケンス図に示されるように、まず、サーバ装置2において、ステップS111において、サーバ秘密鍵及びサーバ公開鍵を生成し、ステップS112において、サーバ公開鍵を二次元コード映像出力装置4に送付する。二次元コード映像出力装置4では、ステップS113において、配布者識別子をサーバ公開鍵で暗号化し、ステップS114において、暗号化された配布者識別子をサーバ装置2に送付する。暗号化された配布者識別子を受信したサーバ装置2では、ステップS115において配布者識別子を復号して登録する。ここで、本シーケンスでは、サーバ装置2で鍵を生成して、二次元コード映像出力装置4にサーバ装置2の公開鍵を送付することとしているが、二次元コード映像出力装置4で鍵を生成して、サーバ装置2に二次元コード映像出力装置4の公開鍵を送付することとしてもよい。また、鍵の生成及び受け渡しは、二次元コード映像出力装置4において暗号化鍵を有し、サーバ装置2において復号化鍵を有する構成となるのであれば、どのような構成であってもよい。
【0024】
続いて、二次元コード映像出力処理S200について説明する。
図7には、二次元コード映像出力処理S200の例について示すフローチャートが示されている。まず、ステップS201において、時間の計測を開始する。次に、暗号化文字列生成部401が、ステップS202において、固有文字列を生成し、ステップS203において、その固有文字列を含む文字列を暗号化した暗号化文字列を生成する。本フローチャートにおいては、配布者識別子と固有文字列を組み合わせて暗号化することとするが、配布者識別子はなくてもよい。また、本フローチャートでは、サーバ装置2の公開鍵で暗号化することとしているが、二次元コード映像出力装置4の秘密鍵等サーバ装置2に保存されたペアの鍵で暗号化することができる。また、「固有文字列」は、所定の処理レートで繰り返し生成されるそれぞれの文字列が、互いに異なっていることを意味する。ここで、固有文字列は、所定以上の確率で互いに異なっていればよく、例えば、ソフトウェア言語のライブラリに含まれるランダム関数等を使用して生成される文字列とすることができる。また、ランダムな文字列に限らず、固有文字列であれば、時刻情報等を含む互いに異なる文字列としてもよい。
【0025】
引き続き、二次元コード変換部402が、ステップS204において、暗号化文字列を含むURIを生成し、URIを二次元コードに変換する。次にステップS201で開始した時間の計測において、映像出力タイミングが到来しているかどうかを判定する。最初の映像出力の場合には、単に現在の計測時間を記録することとし、ステップS206に移行することとしてもよい。二回目以降の場合には、記録された前回の計測時間からの差分を用いて、映像出力(表示切替)タイミングが到来しているかどうかを判定することができる。映像出力タイミングが到来していない場合には(ステップS205:No)、ステップS205の処理を繰り返す。映像出力タイミングが到来している場合には(ステップS205:Yes)、ステップS206に移行し、二次元コード映像出力部403が生成された二次元コードを映像信号出力部45において映像出力する。以前映像出力した二次元コードが映像出力されている場合には、新しい二次元コードに差替えて映像出力する。映像出力タイミングは、前回の映像出力タイミングからの時間で定められるが、設定時においては、1秒間に複数回の処理レートとして定めることとしてもよい。例えば処理レートが5回/秒であれば、0.2秒が前回の映像出力タイミングからの時間である。
【0026】
次に、ステップS207において、終了指示があったかどうかを判定し、終了指示があった場合には(ステップS207:Yes)、ステップS208において時間計測を終了し、二次元コード映像出力処理S200を終了する。終了指示がない場合には(ステップS207:No)、ステップS202に戻り、処理を繰り返す。このように、暗号化文字列生成部401による暗号化文字列の生成、二次元コード変換部402による二次元コードの変換及び二次元コード映像出力部403による二次元コードの映像出力を、1秒間に複数回の処理レートで繰り返し行うことができる。
【0027】
処理レートは、例えば、映像出力装置の能力により決定することができる。また、処理レートは、例えば、同じ1秒の間に、二次元コード映像出力装置4に映像出力された二次元コードの検出処理を実行させている端末の想定数により、決定することができる。例えば、同じ二次元コード映像出力装置4に対して、2人が同じ1秒の間に二次元コードの検出処理を実行させている可能性が想定されるとすると、処理レートを10回/sec以上とすることで、9割以上の確率で互いに異なる二次元コードを取得することができる。更に処理レートを上げることにより、より多くの人が同時にアクセスしてもそれぞれ異なる二次元コードを取得することができる。このように、二次元コード映像出力装置4では、複数の利用者端末5が、同じ二次元コード映像出力装置4に対して同じ時間帯に、二次元コードを取得するための撮影を行っていたとしても、各利用者端末5の画面内における二次元コードの位置、角度及びピント並びにソフトウェアの違いにより、ほとんどの場合において二次元コードを取得するタイミングが異なることを利用して、これらの複数の利用者端末5に対して互いに異なる二次元コードを配布可能としている。
【0028】
なお、本実施形態においては、ステップS202の固有文字列の生成から、ステップS204の二次元コードの生成までを、ステップS206の映像信号出力と同じループで実行することとしているが、映像信号の出力の処理レートを1秒間に複数回とすれば、ステップS202の固有文字列の生成から、ステップS204の二次元コードの生成までは別ループであってもよいし、予め実行して二次元コードを複数生成しておいてもよい。
【0029】
なお、「配布者識別子」は、二次元コード映像出力装置4毎に固有のものとしてもよいし、同様のサービスを提供する複数の二次元コード映像出力装置4で共通の配布者識別子を利用することができる。配布者識別子を含ませることにより、復号時に使用した鍵と配布者識別子の組み合わせが適切かどうかを確認することができ、更に固有文字列の出所の正当性を確認することができる。この場合には、鍵は、二次元コード映像出力装置4で生成された鍵を使用するか、サーバ装置2において、二次元コード映像出力装置4毎に生成された鍵を使用することにより、復号可能な鍵に基づいて二次元コード映像出力装置4を特定することができ、配布者識別子が示す範囲と一致するかどうかを判定することができる。
【0030】
また、処理レートは、1秒間に5回以上とすることができる。1秒間に5回以上とすることにより、複数の利用者端末5で同じ時間帯に撮影しても高い確率で異なる二次元コードを配布することができる。また、処理レートは、表示装置6のリフレッシュレートの1/2又はリフレッシュレートの1/2未満とすることができる。リフレッシュレートの1/2に近い処理レートとすることにより、より多くの人数で同じ時間帯に撮影しても、高い確率で互いに異なる二次元コードを配布することができる。更に、処理レートは、表示装置6のリフレッシュレートと同じ又はリフレッシュレート未満とすることができる。処理レートは、表示装置6のリフレッシュレートとすることは、表示装置6において互いに異なる二次元コードを表示する最大の処理レートであり、より多くの人数で同じ時間帯に撮影しても、高い確率で異なる二次元コードを配布することができる。
【0031】
図6に戻り、二次元コード映像出力装置4により映像出力された二次元コードは、ステップS121において表示装置6に入力され、表示装置6は、入力された、互いに異なる二次元コードを1秒間に複数回の処理レートで表示する。利用者端末5は、ステップS122において撮影により、二次元コードを取得し、ステップS125において、取得した二次元コードから得られるURIに、通信ネットワーク3を介してアクセスする。ここで、URIには、二次元コード映像出力装置4において生成された暗号化文字列が含まれている。なお、本実施形態においては、二次元コード映像出力処理S200において映像出力された二次元コードが直接表示装置6に入力されるものとしているが、例えば、映像出力された信号を記録(録画)して、後に表示装置6により表示されるような、映像信号の生成と表示に時間差があるような構成であってもよい。
【0032】
なお、ステップS122において、利用者端末5は、二次元コードを複数取得することとしてもよい。この場合には、表示装置6により、1秒間に複数回の処理レートで連続して表示される互いに異なる二次元コードのうち、利用者の一度の操作で、複数を取得しておくことができるように構成されることができる。
【0033】
サーバ装置2の復号化データ生成部201は、利用者端末5からのURIへのアクセスにより、暗号化文字列を受信し、ステップS126において、受信した暗号化文字列を復号して復号化データを生成する。ここで暗号化文字列を復号できない場合には(ステップS127:No)、復号化データ生成部201は、ステップS128において、利用者端末5にエラーを通知することとしてもよい。
【0034】
また、固有文字列を含む文字列に配布者識別子が含まれる場合には、復号化データ判定部202は、ステップS129において、配布者識別子が予め登録されたものであるかどうかを判定することとしてもよい。また、この判定を行わずに、又はこの判定に加えて、ステップS129において、復号時に使用した鍵と配布者識別子の組み合わせが適切かどうかを判定することとしてもよい。ステップS129の判定において、配布者識別子が登録されたものでない、又は適切でないと判定された場合には、復号化データ生成部201は、ステップS130において、利用者端末5にエラーを通知することができる。ステップS128又はS130においてエラーを通知された利用者端末5では、ステップS131においてエラーを表示して処理を終了することができる。ここで処理を終了せずに、二次元コードの再取得や、後述する2つ目以降の二次元コードから得られるURIにアクセスする処理を行うようにしてもよい。
【0035】
このように、復号化データ生成部201は、復号時において、復号可能である場合には、鍵の組み合わせが適切であることが確認できるため、暗号化文字列の出所の正当性を確認することができる。また、更に、配布者識別子を含んでいる場合には、配布者識別子が予め登録されたものであるかどうかを判定や、復号時に使用した鍵と配布者識別子の組み合わせが適切かどうかの判定等を行うことにより、更に二重三重の認証処理で、暗号化文字列の出所の正当性を確認することができる。
【0036】
上述のステップS127又はS129の処理において、正当性が確認された場合には、復号化データ判定部202は、ステップS141において、復号化データに含まれる固有文字列が、登録済でないかどうかを判定する。登録済である場合には(ステップS141:Yes)、復号化データ判定部202は、ステップS142において、利用者端末5に、二次元コードの再取得を促す表示を行わせる通知である登録済通知を送信し、登録済通知を受信した利用者端末5は、ステップS143において、既に他の端末により取得され、アクセスされた二次元コードであるため、二次元コードの再取得を促す表示を行うことができる。これにより、たとえ他の端末と同じ二次元コードを取得していたとしても、URIアクセスにより、取得した二次元コードが有効であるかどうかすぐに確認することができるため、二次元コードの再取得により有効な二次元コードを取得することができる。
【0037】
ここで、ステップS122において、利用者端末5において、二次元コードが複数取得されている場合には、ステップS143において、再取得表示を行うことなく、ステップS125に戻り、2つ目以降の二次元コードから得られるURIに、通信ネットワーク3を介してアクセスすることとして、これらの処理を繰り返してもよい。この場合には、サーバ装置2の復号化データ判定部202は、ステップS142において、利用者端末5に、他の二次元コードによるアクセスを行わせる通知としての登録済通知を送信することとしてもよい。
【0038】
固定文字列が登録済でない場合には(ステップS141:No)、ステップS151において固有文字列を登録し、ステップS152において、利用者端末5に対して、二次元コードが有効である旨の通知(二次元コード認証OK)を行う。これにより、固有文字列が既に使用されていない場合にのみ、有効である旨の通知を行うことができるため、二次元コードを一度きりの利用とすることができる。このため、二次元コードが再配布等されたとしても、利用できないものとすることができる。ここで「有効である旨の通知」は、例えばサーバ装置2等において、有効である場合に行う処理を行った際に送信される通知であってもよい。
【0039】
なお、暗号化復号化は、二次元コード映像出力装置4において、サーバ装置2の公開鍵で暗号化し、サーバ装置2において、サーバ装置2の秘密鍵で復号化してもよいし、二次元コード映像出力装置4において、二次元コード映像出力装置4の秘密鍵で暗号化し、サーバ装置2において、二次元コード映像出力装置4の公開鍵で復号化してもよい。このように、本実施形態の二次元コード映像出力装置4によれば、サーバ装置2にペアとなる鍵が保存されているため、認証可能な二次元コードをいくつでも連続で発行することができる。また、固有文字列を暗号化しているため、復号を行うサーバ装置2等では、復号化が可能かどうかを確認することにより、固有文字列の出所の正当性を確認することができる。
【0040】
以上説明したように、本開示の二次元コード映像出力装置4、二次元コード配布システム1及び二次元コード映像出力プログラムによれば、複数の端末が同じ期間に同じ画面の二次元コードを取得することとしても、互いに異なる二次元コードが取得されるため、効率的に二次元コードを配布することができる。また、たとえ複数の利用者端末5で同じ二次元コードが取得されたとしても、URIを介してサーバ装置2にアクセスすることにより、有効な二次元コードかどうかをすぐに確認することができ、有効でない場合には、再度取得したり、別に取得した二次元コードでアクセスするようにすることで、希望するすべての参加者や訪問者等に互いに異なる二次元コードを配布することができる。
【0041】
したがって、本開示の二次元コード映像出力装置4、二次元コード配布システム1及び二次元コード映像出力プログラムによれば、同じ時間帯において互いに異なる二次元コードをそれぞれの端末に配布することができる。
【0042】
上述の実施形態における動作フロー及び動作例は、必ずしもフロー図又はシーケンス図に記載された順序に沿って時系列に実行されなくてよい。例えば、動作におけるステップは、フロー図又はシーケンス図として記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、動作におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。また、上述の実施形態における動作フロー及び動作例は、別個独立に実施してもよいし、2以上の動作フロー及び動作例を組み合わせて実施してもよい。例えば、1つの動作フローの一部のステップを他の動作フローに追加してもよいし、1つの動作フローの一部のステップを他の動作フローの一部のステップと置換してもよい。
【0043】
上述の実施形態に係る動作をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0044】
本開示で使用する「に基づいて」、「に応じて」という記載は、別段に明記されていない限り、「のみに基づいて」、「のみに応じて」を意味しない。「に基づいて」という記載は、「のみに基づいて」及び「に少なくとも部分的に基づいて」の両方を意味する。同様に、「に応じて」という記載は、「のみに応じて」及び「に少なくとも部分的に応じて」の両方を意味する。また、「含む(include)」、「備える(comprise)」、及びそれらの変形の用語は、列挙する項目のみを含むことを意味せず、列挙する項目のみを含んでもよいし、列挙する項目に加えてさらなる項目を含んでもよいことを意味する。また、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。本開示において、例えば、英語でのa,an,及びtheのように、翻訳により冠詞が追加された場合、これらの冠詞は、文脈から明らかにそうではないことが示されていなければ、複数のものを含むものとする。
【0045】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0046】
上述の実施形態に関する特徴について付記する。
【0047】
(付記1)
固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成部(401)と、
前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換部(402)と、
生成された前記二次元コードを映像信号として出力する二次元コード映像出力部(403)と、を備え、
前記二次元コード映像出力部による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード映像出力装置。
【0048】
(付記2)
前記固有文字列を含む文字列は、更に配布者識別子を含んでいる、付記1に記載の二次元コード映像出力装置。
【0049】
(付記3)
前記処理レートは、1秒間に5回以上である、付記1に記載の二次元コード映像出力装置。
【0050】
(付記4)
前記処理レートは、表示装置のリフレッシュレートと同じ又はリフレッシュレート未満である、付記1に記載の二次元コード映像出力装置。
【0051】
(付記5)
二次元コード映像出力装置とサーバ装置とを備え、
前記二次元コード映像出力装置は、
固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成部と、
前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換部と、
生成された前記二次元コードを映像信号として出力する二次元コード映像出力部と、を有し、
前記サーバ装置は、
ネットワークを介して、利用者端末からの前記URIへのアクセスにより、前記暗号化文字列を受信し復号して復号化データを生成する復号化データ生成部(201)と、
前記復号化データに含まれる前記固有文字列が、登録済でないかどうかを判定し、登録済でない場合には、前記利用者端末に有効である旨の通知を行うと共に、前記固有文字列を登録する復号化データ判定部(202)と、を有し、
前記二次元コード映像出力部による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード配布システム。
【0052】
(付記6)
前記復号化データ判定部は、登録済でないかどうかを判定において、登録済であると判定した場合には、前記利用者端末に、二次元コードの再取得を促す映像出力を行わせる通知を送信する、付記5に記載の二次元コード配布システム。
【0053】
(付記7)
前記復号化データ生成部は、前記暗号化文字列を復号できない場合には、前記利用者端末にエラーを通知する、付記5に記載の二次元コード配布システム。
【0054】
(付記8)
前記固有文字列を含む文字列は、配布者識別子を更に含み、
前記復号化データ判定部は、更に、前記配布者識別子が予め登録されたものであるかどうか、及び/又は復号時に使用した鍵と前記配布者識別子の組み合わせが適切かどうかを判定し、適切でない場合には、前記利用者端末にエラーを通知する、付記5に記載の二次元コード配布システム。
【0055】
(付記9)
固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成工程と、
前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換工程と、
生成された前記二次元コードを映像信号として出力する二次元コード映像出力工程と、を備え、
前記二次元コード映像出力工程による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード映像出力方法。
【0056】
(付記10)
互いに異なる二次元コードを1秒間に複数回の処理レートで表示する、二次元コード表示方法。
【0057】
(付記11)
付記9に記載の二次元コード映像出力方法により出力された映像信号を入力することにより、互いに異なる二次元コードを1秒間に複数回の処理レートで表示する、付記10に記載の二次元コード表示方法。
【0058】
(付記12)
固有文字列を生成し、前記固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成工程と、
前記暗号化文字列を含むURIを生成し、前記URIを二次元コードに変換する二次元コード変換工程と、
生成された前記二次元コードを映像信号として出力する二次元コード映像出力工程と、をコンピュータに実行させための二次元コード映像出力プログラムであり、
前記二次元コード映像出力工程による前記二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる、二次元コード映像出力プログラム。
【符号の説明】
【0059】
1 二次元コード配布システム
2 サーバ装置
21 CPU
22 揮発性記憶部
23 不揮発性記憶部
24 通信部
201 復号化データ生成部
202 復号化データ判定部
3 通信ネットワーク
4 二次元コード映像出力装置
41 CPU
42 揮発性記憶部
43 不揮発性記憶部
44 通信部
45 映像信号出力部
46 入力部
401 暗号化文字列生成部
402 二次元コード変換部
403 二次元コード映像出力部
5 利用者端末
【要約】
【課題】同じ時間帯において互いに異なる二次元コードをそれぞれの端末に配布可能な二次元コード映像出力装置を提供する。
【解決手段】二次元コード映像出力装置は、固有文字列を生成し、固有文字列を含む文字列を暗号化した暗号化文字列を生成する暗号化文字列生成部401と、暗号化文字列を含むURIを生成し、URIを二次元コードに変換する二次元コード変換部402と、生成された二次元コードを映像信号として出力する二次元コード映像出力部403と、を備え、二次元コード映像出力部による二次元コードの映像出力は、1秒間に複数回の処理レートで繰り返し行われる。
【選択図】
図1