(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023073803
(43)【公開日】2023-05-26
(54)【発明の名称】情報処理システム、情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 21/36 20130101AFI20230519BHJP
G06F 21/64 20130101ALI20230519BHJP
【FI】
G06F21/36
G06F21/64
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021186493
(22)【出願日】2021-11-16
(71)【出願人】
【識別番号】593092482
【氏名又は名称】JR東日本メカトロニクス株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】大槻 達男
(72)【発明者】
【氏名】渡部 泰匡
(72)【発明者】
【氏名】信定 俊英
(72)【発明者】
【氏名】田作 大輔
(72)【発明者】
【氏名】相原 朋治
(72)【発明者】
【氏名】原田 祐希
(72)【発明者】
【氏名】田島 和司
(57)【要約】
【課題】オフライン状態となり得る状況下においても、コードが盗用されることで他者に悪用される事態の発生をより好適な態様で防止する。
【解決手段】端末装置と、読取機器とを含む情報処理システムであって、前記端末装置は、認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化手段と、前記認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御手段と、を備え、前記読取機器は、前記出力部から複数回に分けて出力される前記符号化情報を順次読み取る読取手段と、読み取られた前記符号化情報に対して前記符号化方式に基づき復号処理を施すことで前記認証情報を復号する復号手段と、復号された前記認証情報に基づき所定の認証を行う認証手段と、を備える、情報処理システム。
【選択図】
図7
【特許請求の範囲】
【請求項1】
端末装置と、読取機器とを含む情報処理システムであって、
前記端末装置は、
認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化手段と、
前記認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御手段と、
を備え、
前記読取機器は、
前記出力部から複数回に分けて出力される前記符号化情報を順次読み取る読取手段と、
読み取られた前記符号化情報に対して前記符号化方式に基づき復号処理を施すことで前記認証情報を復号する復号手段と、
復号された前記認証情報に基づき所定の認証を行う認証手段と、
を備える、
情報処理システム。
【請求項2】
前記符号化手段は、前記認証情報に対して前記符号化処理を施すことで光学的に読み取り可能な前記符号化情報を生成し、
前記出力制御手段は、前記符号化情報を複数回に分けて前記出力部に表示させ、
前記読取手段は、前記出力部に表示された前記符号化情報を光学的に読み取る、
請求項1に記載の情報処理システム。
【請求項3】
前記符号化手段は、前記認証情報を複数のパケットに分けて、当該複数のパケットそれぞれに対して前記符号化処理を施すことで複数の符号化情報を生成し、
前記出力制御手段は、生成された前記複数の符号化情報を前記出力部に順次出力させ、
前記読取手段は、前記出力部に順次出力される前記複数の符号化情報それぞれを読み取り、
前記復号手段は、順次読み取られた前記複数の符号化情報それぞれに対して前記復号処理を施すことで前記複数のパケットを復号し、当該複数のパケットに基づき前記認証情報を再構成する、
請求項1または2に記載の情報処理システム。
【請求項4】
前記複数のパケットのうち少なくとも一部のパケットには、当該複数のパケットの数を示す情報が含まれ、
前記読取手段は、前記複数の符号化情報のうち既に読み取られた符号化情報から復号されたパケットに含まれる前記複数のパケットの数を示す情報に基づき、読み取りの対象となる当該複数の符号化情報の数を認識する、
請求項3に記載の情報処理システム。
【請求項5】
前記出力制御手段は、前記符号化情報に対して当該符号化情報の一部を遮蔽するマスクを重畳させた画像を、前記符号化情報の遮蔽される部分が逐次切り替わるように重畳させる前記マスクを切り替えながら、前記符号化情報の各部が少なくとも1度は前記マスクが重畳されていない状態で提示されるように、前記出力部に順次表示させ、
前記読取手段は、前記出力部に順次表示される前記画像を読み取り、
前記復号手段は、順次読み取られた一連の前記画像それぞれから前記符号化情報のうち前記マスクが重畳されていない部分の部分画像を抽出し、抽出された一連の前記部分画像を結合することで前記符号化情報を再構成して、当該符号化情報に前記復号処理を施すことで前記認証情報を復号する、
請求項2に記載の情報処理システム。
【請求項6】
前記読取手段は、既に読み取られた一連の前記画像それぞれから抽出された前記部分画像に基づき前記符号化情報が再構成された場合に、前記画像の読み取りに係る処理を終了する、
請求項5に記載の情報処理システム。
【請求項7】
前記端末装置は、第1の計時手段を備え、
前記読取機器は、第2の計時手段を備え、
前記認証情報は、前記第1の計時手段による計時結果に応じた第1のタイムスタンプを含み、
前記認証手段は、復号された前記認証情報に含まれる前記第1のタイムスタンプと、前記第2の計時手段による計時結果に応じた第2のタイムスタンプと、を比較し、当該比較の結果を前記認証に利用する、
請求項1~6のいずれか1項に記載の情報処理システム。
【請求項8】
前記認証手段は、前記第1のタイムスタンプと前記第2のタイムスタンプとの差が所定の期間に含まれるか否かを判定し、当該判定の結果を前記認証に利用する、
請求項7に記載の情報処理システム。
【請求項9】
前記認証情報は、所定の登録先にあらかじめ登録された識別情報から所定のロジックに従い算出された第1の符号に対して秘密鍵により暗号化が施されることで生成された電子署名と、前記端末装置に保持された前記識別情報から前記ロジックに従い算出された第2の符号と、を含み、
前記復号手段は、復号された前記認証情報に含まれる前記電子署名に対して前記秘密鍵に対応する共通鍵に基づき復号処理を施すことで前記第1の符号を抽出し、
前記認証手段は、抽出された前記第1の符号と、復号された前記認証情報に含まれる前記第2の符号と、を照合し、当該照合の結果を前記認証に利用する、
請求項1~8のいずれか1項に記載の情報処理システム。
【請求項10】
前記識別情報は、前記端末装置を識別するための識別情報を少なくとも含む、
請求項9に記載の情報処理システム。
【請求項11】
前記符号化手段は、前記認証情報と、当該認証情報から所定のロジックに従い算出された第3の符号と、に対して前記符号化処理を施すことで前記符号化情報を生成し、
前記復号手段は、読み取られた前記符号化情報に対して前記復号処理を施すことで、前記認証情報と、前記第3の符号と、を復号し、
前記認証手段は、復号された前記第3の符号と、復号された前記認証情報から前記ロジックに従い算出された第4の符号と、を照合し、当該照合の結果を前記認証に利用する、
請求項1~10のいずれか1項に記載の情報処理システム。
【請求項12】
前記出力制御手段が前記符号化情報を複数回に分けて前記出力部に出力させる場合における各情報が出力される第1の期間は、前記読取手段が当該出力部から複数回に分けて出力される当該符号化情報を順次読み取る場合における各情報の読み取りに係る第2の期間よりも長くなるように設定される、
請求項1~11のいずれか1項に記載の情報処理システム。
【請求項13】
認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化手段と、
前記認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御手段と、
を備え、
前記出力部から複数回に分けて出力された前記符号化情報は、読取機器により順次読み取られ、前記符号化方式に基づき復号処理が施され、
復号された前記認証情報に基づき所定の認証が行われる、
情報処理装置。
【請求項14】
所定の出力部から複数回に分けて出力される、認証情報に対して所定の符号化方式に基づき符号化処理が施されることで生成された符号化情報を、順次読み取る読取手段と、
読み取られた前記符号化情報に対して前記符号化方式に基づき復号処理を施すことで前記認証情報を復号する復号手段と、
復号された前記認証情報に基づき所定の認証を行う認証手段と、
を備える、情報処理装置。
【請求項15】
情報処理装置により実行される情報処理方法であって、
認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化ステップと、
前記認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御ステップと、
を含み、
前記出力部から複数回に分けて出力された前記符号化情報は、読取機器により順次読み取られ、前記符号化方式に基づき復号処理が施され、
復号された前記認証情報に基づき所定の認証が行われる、
情報処理方法。
【請求項16】
情報処理装置により実行される情報処理方法であって、
所定の出力部から複数回に分けて出力される、認証情報に対して所定の符号化方式に基づき符号化処理が施されることで生成された符号化情報を、順次読み取る読取ステップと、
読み取られた前記符号化情報に対して前記符号化方式に基づき復号処理を施すことで前記認証情報を復号する復号ステップと、
復号された前記認証情報に基づき所定の認証を行う認証ステップと、
を含む、情報処理方法。
【請求項17】
情報処理装置に、
認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化ステップと、
前記認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御ステップと、
を実行させ、
前記出力部から複数回に分けて出力された前記符号化情報は、読取機器により順次読み取られ、前記符号化方式に基づき復号処理が施され、
復号された前記認証情報に基づき所定の認証が行われる、
プログラム。
【請求項18】
情報処理装置に、
所定の出力部から複数回に分けて出力される、認証情報に対して所定の符号化方式に基づき符号化処理が施されることで生成された符号化情報を、順次読み取る読取ステップと、
読み取られた前記符号化情報に対して前記符号化方式に基づき復号処理を施すことで前記認証情報を復号する復号ステップと、
復号された前記認証情報に基づき所定の認証を行う認証ステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年では、利用者のアカウントIDやその利用期限等の情報をサーバ装置等で電子的に管理するアカウントベース方式のチケッティングシステムが各種提案されており、サービスの利用に伴う料金の決済に係る所謂ペイメントシステムでも採用されている。このようなシステムでは、例えば、サーバ装置で発行された情報に基づきスマートフォン等の端末装置に二次元コード等のコードを表示させて読取機器に読み取らせることで、アカウントIDや利用期限等の情報の確認や決済等の手続きが行われる。
【0003】
また、上記に例示したシステムのように、端末装置に表示されるコードを読取機器に読み取らせることで手続きが行われるシステムでは、当該コードの盗用に伴うなりすましや偽造の防止が課題となり、同課題を解決するための技術も各種提案されている。例えば、特許文献1には、定期的に二次元コードを更新し、当該二次元コードの読み取り結果に応じた情報をサーバ装置に保持された情報と照合することで、二次元コードの盗用に伴うなりすましや偽造を防止する技術の一例が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
一方で、端末装置や読取機器がサーバ装置との間で常に通信が確立されたオンライン状態を維持できるとは限らない場合がある。例えば、バス等の公共交通機関の利用に伴う運賃の決済にアカウントベース方式のチケッティングシステムが利用される状況下では、トンネルの通過等に伴い、一時的に端末装置や読取機器とサーバ装置との間の通信が切断されたオフライン状態となる場合がある。このような場合には、サーバ装置との通信を前提としたコードの盗用に伴うなりすましや偽造を防止する仕組みを利用することが困難となる。
【0006】
本発明は上記の問題を鑑み、オフライン状態となり得る状況下においても、コードが盗用されることで他者に悪用される事態の発生をより好適な態様で防止することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る情報処理システムは、端末装置と、読取機器とを含む情報処理システムであって、前記端末装置は、認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化手段と、前記認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御手段と、を備え、前記読取機器は、前記出力部から複数回に分けて出力される前記符号化情報を順次読み取る読取手段と、読み取られた前記符号化情報に対して前記符号化方式に基づき復号処理を施すことで前記認証情報を復号する復号手段と、復号された前記認証情報に基づき所定の認証を行う認証手段と、を備える。
【発明の効果】
【0008】
本発明によれば、オフライン状態となり得る状況下においても、コードが盗用されることで他者に悪用される事態の発生をより好適な態様で防止することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】情報処理システムのシステム構成の一例を示した図である。
【
図2】情報処理装置のハードウェア構成の一例を示した図である。
【
図3】読取機器のハードウェア構成の一例を示した図である。
【
図4】コードの偽造やなりすましの防止に係る技術の一例を示した図である。
【
図5】情報処理システムの機能構成の一例を示した機能ブロック図である。
【
図6】コードの生成及び出力に係る処理の一例を示した図である。
【
図7】コードの表示に係る処理の一例について示した図である。
【
図8】コードの表示に係る処理の他の一例について示した図である。
【
図9】コードの読み取り及びデータの複合に係る処理の一例を示した図である。
【発明を実施するための形態】
【0010】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0011】
<概要>
本開示の一実施形態に係る情報処理システムについて概要を以下に説明する。本実施形態に係る情報処理システムは、所謂アカウントベース方式のチケッティングシステムであり、利用者のアカウントIDやその利用期限等の情報を電子的に管理し、これらの情報をユーザへの各種サービスの提供に利用するための仕組みを提供する。
具体的な一例として、本実施形態に係る情報処理システムは、サービスの利用に伴う料金の決済等のような各種手続き(例えば、公共交通機関の利用に伴う運賃の決済やイベント等への入場に係る手続き等)に利用される。この場合には、例えば、ユーザは、自身が保持する端末装置(例えば、スマートフォン)に決済等の手続きのためのコード(例えば、QRコード(登録商標)等の二次元コード)を表示させ、所定の読取機器に読み取らせることで当該手続きを行う。読取機器は、読み取ったコードに対して復号処理を施すことで情報を復号し、復号された当該情報に基づき認証を行ったうえで、決済等の手続きに係る処理を実行する。
そこで、以降の説明では、本実施形態に係る情報処理システムの特徴をより分かりやすくするために、端末装置のディスプレイに表示されたQRコード等の二次元コードが読取機器により光学的に読み取られることで、決済等の各種手続きが行われるものとする。
【0012】
ここで、
図1を参照して、本実施形態に係る情報処理システムのシステム構成の一例について説明する。本実施形態に係る情報処理システム1は、情報処理装置100と、1以上の読取機器200と、1以上の端末装置300とを含む。
【0013】
情報処理装置100と端末装置300とは、ネットワークN1を介して通信可能に接続されている。また、情報処理装置100と読取機器200とは、ネットワークN2を介して通信可能に接続されている。
ネットワークN1については、情報処理装置100と端末装置300との間で無線の通信経路を介して相互に情報を送受信可能であれば、その種別は特に限定はされない。同様に、ネットワークN2については、情報処理装置100と読取機器200との間で無線の通信経路を介して相互に情報を送受信可能であれば、その種別は特に限定はされない。
具体的な一例として、ネットワークN1及びN2として、LTEや5G等のような無線通信の規格に準拠したネットワークが適用されてもよい。また、ネットワークN1及びN2としては、物理的または論理的に互いに異なるネットワークが適用されてもよいし、物理的または論理的に共通のネットワークが適用されてもよい。
また、ネットワークN1及びN2のうち少なくともいずれかが、複数のネットワークにより実現されてもよい。この場合には、当該複数のネットワークに、互いに種別の異なる2以上のネットワークが含まれてもよく、一部のネットワークが有線のネットワークにより実現されてもよい。
また、情報処理装置100と端末装置300と間の通信が、他の通信装置により仲介されてもよい。これは、情報処理装置100と読取機器200との間の通信についても同様である。
【0014】
端末装置300は、ユーザu1が、情報処理システム1を利用するためのインターフェースとして使用する端末装置を模式的に示している。端末装置300は、例えば、スマートフォンやタブレット端末等のように、無線の通信経路を介して他の装置(例えば、情報処理装置100等)と通信が可能な情報処理装置により実現され得る。具体的な一例として、端末装置300に対して所定のアプリケーションがインストールされることで、ユーザu1は、情報処理システム1が提供する各種機能を、当該端末装置300を介して利用することが可能となる。
また、端末装置300は、読取機器200に各種情報を読み取らせるためのコードの出力に係る処理を実行する。具体的な一例として、端末装置300は、後述する情報処理装置100からQRコード等のコードとして読取機器200に読み取らせる情報をデータとしてあらかじめダウンロードして保持し、各種手続きの際に、当該データに基づき画面等に当該コードを表示させる。これにより、読取機器200は、端末装置300の画面等に表示されたコード(例えば、QRコード)を光学的に読み取り、当該コードの読み取り結果に基づき、当該コードの生成元となる上記データを復元することが可能となる。すなわち、読取機器200は、コードの読み取り結果に基づき復元した上記データに含まれる情報を利用して、決済等の各種手続きに係る処理や当該手続きに係る認証のための処理を実行することが可能となる。なお、同処理については、詳細を別途後述する。
【0015】
情報処理装置100は、ユーザごとに当該ユーザに割り当てられたアカウントIDに関連付けて、当該ユーザに関する情報(以下、利用者情報とも称する)や当該ユーザへのサービスの提供に係る情報(例えば、チケット情報等)等のような各種情報を管理する。また、情報処理装置100は、管理対象となる情報のうち少なくとも一部の情報に対して、所定の秘密鍵で暗号化を施すことで電子署名を生成する。そのうえで、情報処理装置100は、少なくとも電子署名の生成元となった情報を含めた、管理対象となる情報のうちの少なくとも一部の情報と、生成した上記電子署名と、を含むデータを、端末装置300に送信する。これにより、端末装置300は、決済等の各種手続きや当該手続きに係る認証を行うために、当該データに基づきQRコードを生成して、当該QRコードを読取機器200に読み取らせることが可能となる。
【0016】
読取機器200は、端末装置300から出力されるコードを読み取り、当該コードの読み取り結果に応じて決済等の各種手続きや当該手続きに係る認証に係る処理を実行する。具体的な一例として、読取機器200は、端末装置300の画面に表示されたコード(例えば、QRコード)を光学的に読み取ることで、当該コードから各種情報(例えば、情報処理装置100で管理されている情報)を復号し、当該情報に基づき各種手続きに係る処理や当該手続きのための認証に係る処理を実行してもよい。また、この際に、読取機器200は、復号された情報に情報処理装置100により生成された電子署名が含まれる場合に、当該電子署名の生成に利用された秘密鍵に対応する共通鍵を利用して、電子署名の対象となる情報の正当性を確認してもよい。
【0017】
以上、本開示の一実施形態に係る情報処理システムについて概要を説明した。
【0018】
<ハードウェア構成>
図2及び
図3を参照して、
図1に示した本実施形態に係る情報処理システム1を構成する各種情報処理装置(例えば、情報処理装置100、読取機器200、及び端末装置300)として適用可能な情報処理装置のハードウェア構成の一例について以下に説明する。
【0019】
まず、
図2を参照して、情報処理装置100及び端末装置300として適用可能な情報処理装置900のハードウェア構成の一例について説明する。情報処理装置900は、CPU(Central Processing Unit)901と、通信インターフェース装置902と、HD(Hard Disk)903と、ROM(Read Only Memory)908と、RAM(Random Access Memory)909とを備える。また、情報処理装置900は、入力装置904と、出力装置905と、のうちの少なくともいずれかを備えてもよい。また、情報処理装置900は、記録媒体ドライブ装置906を備えてもよい。
【0020】
CPU901は、情報処理装置900の各種動作を制御する。ROM908は、CPU901で実行可能な制御プログラムやブートプログラム等を記憶する。RAM909は、CPU901の主記憶メモリであり、ワークエリアまたは各種プログラムを展開するための一時記憶領域として用いられる。HD903は、各種データや各種プログラムを記憶する。
CPU901は、HD903に記憶されているプログラムを読み出してRAM909に展開し、当該プログラムを実行する。これにより、
図5を参照して後述する各機能や、
図6~
図9を参照して後述する処理が実現される。
なお、HD903に替えて、またはHD903とともに、SSD(Solid State Drive)に代表される不揮発性メモリ等のような、HD903以外の他の記憶装置が利用されてもよい。
【0021】
通信インターフェース装置902は、情報処理装置900をネットワークN1等のような各種ネットワークに接続するインターフェースである。通信インターフェース装置902として適用されるデバイスは、ネットワークN1の種別や適用される通信方式に応じて適宜変更されてもよい。具体的な一例として、ネットワークN1が有線のネットワークの場合には、通信インターフェース装置902は、伝送路として利用されるケーブルを接続するコネクタ、当該ケーブルを介したデータの受信に係るデバイス、及び当該ケーブルを介したデータの送信に係るデバイス等を含み得る。また、他の一例として、ネットワークN1が無線のネットワークの場合には、通信インターフェース装置902は、アンテナ装置やRF回路等のような無線通信を実現するための各種デバイスを含み得る。
【0022】
入力装置904は、情報処理装置900の管理者からの指示を受け付けるための装置である。入力装置904は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー、及びペダル等の操作デバイスにより実現され得る。また、入力装置904として適用されるデバイスは、情報処理装置900に対してユーザが指示を行う方法(換言すると、情報処理装置900の操作方法)に応じて適宜変更されてもよい。例えば、情報処理装置900が、音声入力によりユーザからの指示を受け付ける場合には、入力装置904は、マイクロフォン等のような音声の入力を受け付ける集音デバイスにより実現され得る。
【0023】
出力装置905は、情報処理装置900のユーザに対して各種情報を提示するための装置である。出力装置905は、例えば、ディスプレイ等のように、各種表示情報や画面等を表示することでユーザに情報を提示する表示デバイスにより実現され得る。また、出力装置905として適用されるデバイスは、ユーザに対して情報を提示する方法に応じて適宜変更されてもよい。例えば、音声や電子音等の音響によりユーザに対する情報の提示が行われる場合には、出力装置905は、スピーカ等のような音響を出力する音響出力デバイスにより実現され得る。
【0024】
情報処理装置900のプログラムは、例えば、CD-ROM、DVD-ROM、及びICカードメモリ等の記録媒体907によって情報処理装置900に提供されるか、またはネットワーク等を介してダウンロードされる。記録媒体907によって情報処理装置900のプログラムが提供される場合には、記録媒体907が記録媒体ドライブ装置906にセットされることで、当該記録媒体907に記録されたプログラムが記録媒体ドライブ装置906を介してHD903にインストールされる。
【0025】
次いで、
図3を参照して、読取機器200として適用可能な情報処理装置950のハードウェア構成の一例について説明する。情報処理装置950は、CPU951と、ROM952と、RAM953と、HD954と、通信インターフェース装置955と、読取インターフェース装置956とを備える。また、情報処理装置950は、入力装置957と、出力装置958とのうち少なくともいずれかを備えてもよい。なお、CPU951、ROM952、RAM953、HD954、入力装置957、及び出力装置958は、
図3に示すCPU901、ROM908、RAM909、HD903、入力装置904、及び出力装置905と実質的に同様のため詳細な説明は省略する。
【0026】
通信インターフェース装置955は、情報処理装置950をネットワークN2等のような各種ネットワークに接続するインターフェースである。なお、通信インターフェース装置955として適用されるデバイスは、ネットワークN2の種別や適用される通信方式に応じて適宜変更されてもよい。これは、通信インターフェース装置902として適用されるデバイスが、ネットワークN1の種別や適用される通信方式に応じて適宜変更されてもよいことと実質的に同様であるため、詳細な説明は省略する。
【0027】
読取インターフェース装置956は、情報処理装置950が端末装置300等の情報処理装置を介して提示される各種情報を読み取るためのインターフェースである。なお、読取インターフェース装置956として適用されるデバイスは、端末装置300等の情報処理装置が各種情報を提示する方法に応じて適宜変更されてもよい。具体的な一例として、各種情報が光学的に読み取り可能なコード(例えば、二次元コード)として画面等に表示させて提示される場合には、読取インターフェース装置956は、撮像装置のように当該コードを光学的に読み取るためのデバイスを含み得る。また、他の一例として、各種情報が所謂非接触通信により送信されることで提示される場合には、読取インターフェース装置956は、アンテナ装置やRF回路等のような当該非接触通信を実現するためのデバイスを含み得る。
【0028】
なお、
図2及び
図3に示す構成はあくまで一例であり、必ずしも本実施形態に係る情報処理システム1を構成する情報処理装置のハードウェア構成を限定するものではない。具体的な一例として、情報処理装置900において、入力装置904や出力装置905等のような一部の構成が含まれていなくてもよい。また、他の一例として、情報処理装置900が実現する機能に応じた構成が適宜追加されてもよい。これは、情報処理装置950についても同様である。
【0029】
以上、
図2及び
図3を参照して、
図1に示した本実施形態に係る情報処理システム1を構成する各種情報処理装置として適用可能な情報処理装置のハードウェア構成の一例について以下に説明する。
【0030】
<比較例>
ここで、本実施形態に係る情報処理システムの特徴をより分かりやすくするために、比較例として、
図4を参照して、QRコードを利用した手続きに際して、当該QRコードの盗用に伴う偽造やなりすましを防止するための技術の一例について説明する。
【0031】
図4に示す例では、サーバ等の情報処理装置を含むシステムに対して、ネットワークを介して、ユーザが保持する端末装置(スマートフォン等)と、コードの読み取りを行い認証や決済等の各種手続きに係る処理を実行する読取機器と、が接続されている。
システムは、所定の期間ごとに定期的に、決済や認証等の各種手続きに利用されるQRコード用データを生成する。すなわち、システムで生成されたQRコード用データには有効期間が設けられており、当該有効期間が経過した場合には当該QRコード用データは無効となり、システムが新たにQRコード用データを生成する。
端末装置は、システムからQRコード用データをダウンロードしたうえで、当該データに基づき画面にQRコードを表示させる。この状態でユーザが端末装置の画面に表示されたQRコードを読取機器の検知範囲にかざすと、当該読取機器により当該QRコードの読み取りが行われる。そのうえで、読取機器により読み取られたQRコードのデータは、システムに保持されているQRコード用データとの照合により、有効なデータであるか否かの判定が行われる。
【0032】
例えば、
図4に示す例では、システムにて生成されたQRコードAのデータが端末装置にダウンロードされ、当該データに基づき端末装置の画面にQRコードAが表示されており、読取機器により当該QRコードAの読み取りが行われている。この際に、QRコードAの有効期間内であれば、システム側にはQRコードAのデータが保持されているため、読取機器に読み取られたQRコードAのデータが、システム側に保持されたQRコードのデータとの照合により有効であると判定される。すなわち、この場合には、決済や認証等が正しく行われることとなる。
一方で、QRコードAの有効期間が経過した後は、システム側にて当該QRコードAのデータが無効となる。そのため、この場合には、決済や認証等の各種手続きのためにQRコードAが利用されたとしても、読取機器に読み取られたQRコードAのデータが、システム側に保持されたQRコードのデータとの照合により無効であると判定されることとなる。
【0033】
図4に示す例では、上述した仕組みにより、例えば、端末装置の画面に表示されたQRコードが、盗み撮り等により盗用されたとしても、当該QRコードの画像の悪用による偽造やなりすましの事態の発生を防止している。
具体的には、
図4に示す例では、端末装置に表示されたQRコードAが、悪意ある他者による盗み撮りにより盗用され、当該QRコードAの画像が、当該他者により偽造やなりすましに悪用されている。
しかしながら、QRコードAの有効期間が経過した後であれば、読取機器に読み取られたQRコードAのデータが、システム側に保持されたQRコードのデータとの照合により無効であると判定されることとなる。例えば、
図4に示す例では、QRコードAの有効期間が経過することで、システム側に保持されたデータが、QRコードBのデータに更新されている。そのため、読取機器に読み取られたQRコードAのデータと、システム側に保持されたQRコードBのデータとが一致せず、読取機器により読み取られたQRコードAが無効であると判定される。すなわち、盗用されたQRコードAの画像が他者により偽造やなりすましに悪用される事態の発生を防止することが可能となる。
【0034】
一方で、
図4に示す例は、端末装置及び読取機器のそれぞれが、QRコード用データを生成するシステム(例えば、サーバ装置)との間で常に通信が確立されたオンライン状態であることが前提となっている。これに対して、ユースケースによっては、端末装置や読取機器がサーバ装置との間で常に通信が確立されたオンライン状態を維持できるとは限らない場合がある。例えば、バス等の公共交通機関の利用に伴う運賃の決済にアカウントベース方式のチケッティングシステムが利用される状況下では、トンネルの通過等に伴い、一時的に端末装置や読取機器とサーバ装置との間の通信が切断されたオフライン状態となる場合がある。このような状況下では、
図4に例示したような、端末装置や読取機器がサーバ装置との間で常に通信が確立されたオンライン状態であることを前提とした仕組みを利用することが困難となる。
このような状況を鑑み、本実施形態では、端末装置や読取機器がオフライン状態となり得る状況下においても、コードが盗用されることで他者に悪用される事態の発生をより好適な態様で防止するための技術を提案する。そこで、以降では、本実施形態に係る情報処理システムの技術的特徴についてより詳しく説明する。
【0035】
<機能構成>
図5を参照して、本実施形態に係る情報処理システムの機能構成の一例について、情報処理装置100、読取機器200、及び端末装置300それぞれについて説明する。
【0036】
まず、情報処理装置100の構成について説明する。情報処理装置100は、制御部110と、通信部120と、記憶部130とを含む。また、制御部110は、管理部111と、符号化処理部112と、署名処理部113と、データ生成部114とを含む。
【0037】
通信部120は、情報処理装置100の各構成要素が、ネットワークN1を介した端末装置300との各種情報の送受信や、ネットワークN2を介した読取機器200との各種情報の送受信を行うためのインターフェースである。なお、以降の説明では、情報処理装置100の各構成要素が、ネットワークN1を介して端末装置300との間で情報の送受信を行う場合には、特に説明がない限りは、通信部120を介して当該情報の送受信が行われるものとする。これは、ネットワークN2を介した読取機器200との間での情報の送受信についても同様である。
【0038】
記憶部130は、各種データを記憶するための記憶領域を模式的に示している。例えば、記憶部130は、情報処理装置100の構成要素が処理を実行するためのデータやプログラムを記憶してもよい。
また、記憶部130は、情報処理装置100が管理対象として各種情報を記憶してもよい。具体的な一例として、記憶部130は、利用者として登録されたユーザに関する各種情報を、当該ユーザに対して発行されたアカウントIDに関連付けて記憶してもよい。また、記憶部130は、利用者として登録されたユーザが決済等の各種手続きに利用するために登録した端末装置300を識別するための識別情報(以下、端末識別情報とも称する)を、当該ユーザのアカウントIDに関連付けて記憶してもよい。
【0039】
管理部111は、各種情報を記憶部130にデータとして記憶させることで管理する。例えば、管理部111は、利用者として登録されたユーザに関する各種情報を、当該ユーザに対して発行されたアカウントIDに関連付けて管理する。管理対象となる情報としては、例えば、対象となるユーザの利用者情報(例えば、氏名、年齢、住所、メールアドレス等)や、当該ユーザへのサービスの提供に係る情報(例えば、チケット情報等)等が挙げられる。また、管理部111は、ユーザが決済等の各種手続きに利用するために登録した端末装置300の端末識別情報を、当該ユーザのアカウントIDに関連付けて管理してもよい。
また、管理部111は、管理対象となる情報のうち少なくとも一部の情報について有効期限の管理を行ってもよい。具体的な一例として、管理部111は、ユーザが所定のサービスを介して購入したチケットの有効期限の管理を行ってもよい。
【0040】
符号化処理部112は、各種情報に対して所定の符号化方式に基づき符号化処理を施す。例えば、符号化処理部112は、管理部111が管理対象とする情報のうち少なくとも一部の情報(例えば、利用者情報や端末識別情報等)を対象として、当該情報の正当性を確認するための符号(例えば、ハッシュ値)を所定のロジックに従い算出してもよい。
【0041】
署名処理部113は、対象となる情報の正当性を確認するための電子署名を、所定の方式に従い生成する。例えば、署名処理部113は、所謂公開鍵暗号方式に従い電子署名を生成してもよい。具体的には、署名処理部113は、対象となる情報について符号化処理部112により生成された当該情報の正当性を確認するための上記符号に対して、あらかじめ所定の認証局により発行された秘密鍵に基づき暗号化を施すことで電子署名を生成してもよい。このようにして生成された電子署名は、上記秘密鍵に対応する共通鍵を利用することで復号処理を施すことが可能であり、当該復号処理の結果として上記対象となる情報の正当性を確認するための符号が復号される。
【0042】
データ生成部114は、端末装置300が決済等の各種手続きや当該手続きに係る認証を行うために読取機器200に読み取らせるコード(例えば、二次元コード等)の生成元となるデータ(以下、コード用データとも称する)を生成する。具体的には、データ生成部114は、管理部111が管理対象とする、対象となるユーザに対応する一連の情報のうち、認証や決済等の手続きに利用される情報と、当該情報の正当性の確認に利用される電子署名とを含む、コード用データを生成してもよい。そして、データ生成部114は、対象となるユーザが利用する端末装置300との通信が確立されているタイミングで、当該ユーザについて生成した上記コード用データを当該端末装置300に送信する。
【0043】
次いで、端末装置300の構成について説明する。端末装置300は、制御部310
と、通信部320と、記憶部330と、出力部340と、入力部350とを含む。
【0044】
通信部320は、端末装置300の各構成要素が、ネットワークN1を介した情報処理装置100との各種情報の送受信を行うためのインターフェースである。なお、以降の説明では、端末装置300の各構成要素が、ネットワークN1を介して情報処理装置100との間で情報の送受信を行う場合には、特に説明がない限りは、通信部320を介して当該情報の送受信が行われるものとする。
【0045】
記憶部330は、各種データを記憶するための記憶領域を模式的に示している。例えば、記憶部330は、端末装置300の構成要素が処理を実行するためのデータやプログラムを記憶してもよい。
また、記憶部330は、情報処理装置100との通信が確立されているタイミングで当該情報処理装置100から送信されたコード用データを記憶してもよい。これにより、後述する符号化処理部311が、決済等の各種手続きや当該手続きに係る認証を行うために読取機器200に読み取らせるコード(例えば、二次元コード等)を、当該コード用データに基づき生成することが可能となる。
【0046】
入力部350は、制御部310が、ユーザから各種指示を受け付けるための入力インターフェースを模式的に示している。具体的な一例として、スマートフォン等の端末装置300が備えるタッチパネル、ボタン、及びスイッチ等は、入力部350の一例に相当する。入力部350は、例えば、入力装置904により実現され得る。
【0047】
出力部340は、制御部310が、ユーザに対して各種情報を提示するための出力インターフェースを模式的に示している。具体的な一例として、スマートフォン等の端末装置300が備えるディスプレイ及びスピーカ等は、出力部340の一例に相当する。出力部3340は、例えば、出力装置905により実現され得る。
また、出力部340は、読取機器200に読み取らせるためのコードの出力に利用されてもよい。具体的な一例として、後述する符号化処理部311により生成されたコードが、後述する表示制御部312からの指示に基づき、ディスプレイとして構成された出力部340の画面(換言すると、表示領域)に表示されてもよい。これにより、読取機器200は、出力部340の画面に表示されたコードを光学的に読み取ることが可能となる。
【0048】
制御部310は、端末装置300が提供する機能の実現に係る各種処理の制御を行う。制御部310は、符号化処理部311と、表示制御部312とを含む。
【0049】
符号化処理部311は、対象となるデータに対して所定の符号化方式に基づき符号化処理を施すことで、当該データに対応する所定の形式のコードを生成する。具体的な一例として、符号化処理部311は、記憶部130に記憶されたコード用データに基づき、決済等の各種手続きや当該手続きに係る認証を行うために読取機器200に読み取らせるコードを生成してもよい。また、この際に、符号化処理部311は、端末装置300に保持された情報(例えば、端末装置300の端末識別情報等)を、コードの生成対象とするデータに含めてもよい。生成されるコードとしては、例えば、読取機器200が光学的に読み取り可能なQRコードに代表される二次元コードやバーコード等が挙げられる。なお、符号化処理部311が生成するコードについては、読取機器200がコードを読み取るための読み取り方式に応じて適宜変更されてもよい。また、符号化処理部311により生成されたデータに含まれる一連の情報のうち、後述する認証処理部212による認証に利用される情報が「認証情報」の一例に相当する。
【0050】
表示制御部312は、ディスプレイ等のように対象となる情報を視覚的に識別可能に表示するように構成された出力部340を介した、各種情報の出力(換言すると、画面等の表示領域への情報の表示)に係る処理を実行する。具体的な一例として、表示制御部312は、符号化処理部311により生成されたコードを、画面等の所定の表示領域に画像として表示させてもよい。これにより、読取機器200は、上記表示領域に画像として表示された上記コードを光学的に読み取ることが可能となる。
なお、本実施形態に係る表示制御部312は、符号化処理部311により生成されたコードを、複数回に分けて出力部340に順次出力させる。このような制御が適用されることで、例えば、順次出力されるコードのうちの一部が悪意あるユーザに盗用されたとしても、盗用されたコードの一部のみからでは、当該コードの生成元となる情報を復号することが困難となる。すなわち、他者によりコードが盗用されることで、当該コードの生成元となる情報が悪用される事態の発生を防止することが可能となる。同処理については、
図6~
図8を参照して詳細を別途後述する。
【0051】
次いで、読取機器200の構成について説明する。読取機器200は、制御部210と、通信部220と、読取部230と、記憶部240とを含む。また、読取機器200は、出力部250と、入力部260とのうち少なくとも一部を含んでもよい。
【0052】
通信部220は、読取機器200の各構成要素が、ネットワークN2を介した情報処理装置100との各種情報の送受信を行うためのインターフェースである。なお、以降の説明では、読取機器200の各構成要素が、ネットワークN2を介して情報処理装置100との間で情報の送受信を行う場合には、特に説明がない限りは、通信部220を介して当該情報の送受信が行われるものとする。
【0053】
記憶部240は、各種データを記憶するための記憶領域を模式的に示している。例えば、記憶部240は、読取機器200の構成要素が処理を実行するためのデータやプログラムを記憶してもよい。
また、記憶部240は、後述する復号処理部211が、後述する読取部230により読み取られたコードに対して復号処理を適用することで、当該コード生成元となるデータを復号するための鍵情報を記憶してもよい。当該鍵情報としては、情報処理装置100に保持された秘密鍵に対応する共通鍵が該当し得る。当該限情報については、記憶部240にあらかじめ記憶されていてもよい。また、他の一例として、当該鍵情報は、情報処理装置100との通信が確立されているタイミングで当該情報処理装置100からダウンロードされ、記憶部240に記憶されてもよい。
【0054】
入力部260は、制御部210が、ユーザ(例えば、読取機器200の管理者)から各種指示を受け付けるための入力インターフェースを模式的に示している。具体的な一例として、タッチパネル、ボタン、及びスイッチ等は、入力部260の一例に相当する。入力部260は、例えば、入力装置957により実現され得る。
【0055】
出力部250は、制御部210が、ユーザ(例えば、読取機器200の管理者や、サービスの提供を受けるユーザ)に対して各種情報を提示するための出力インターフェースを模式的に示している。具体的な一例として、読取機器200が備えるディスプレイやスピーカ等は、出力部250の一例に相当する。出力部250は、例えば、出力装置958により実現され得る。
【0056】
読取部230は、外部装置(例えば、端末装置300)から所定の形式で出力されたコードの読み取りを行う。具体的な一例として、読取部230は、読み取り範囲内に位置する端末装置300の画面に画像として表示されたコードを光学的に読み取ってもよい。なお、コードを光学的に読み取ることが可能であれば、そのための構成や方法については特に限定はされない。具体的な一例として、端末装置300は、撮像装置により端末装置300の画面に画像として表示されたコードを撮像することで、当該コードを光学的に読み取ってもよい。
また、光学的な方法に限らず、外部装置から出力されるコードを読取部230が読み取ることが可能であれば、当該読み取りの方法については、当該コードの種別に応じて適宜変更されてもよい。
なお、本実施形態に係る読取部230は、端末装置300から複数回に分けて出力されるコードを順次読み取ってもよい。同処理については、
図6~
図8を参照して詳細を別途後述する。
そして、読取部230は、コードの読み取り結果に応じた情報を制御部210に出力する。
【0057】
制御部210は、読取機器200が提供する機能の実現に係る各種処理の制御を行う。また、制御部210は、ユーザに対する各種サービスの提供に係る処理を実行してもよい。制御部210は、復号処理部211と、認証処理部212とを含む。
【0058】
復号処理部211は、読取部230による読み取られたコードに対して所定の符号化方式に基づき復号処理を施すことで、当該コードの生成元となるデータを復号する。
また、復号処理部211は、復号されたデータに含まれる情報に対して、記憶部240に記憶された鍵情報(例えば、情報処理装置100に保持された秘密鍵に対応する共通鍵)に基づき復号処理を施してもよい。これにより、例えば、コードから復号されたデータに含まれる電子署名から、当該電子署名の生成元となる符号、すなわち復号されたデータに含まれる情報の正当性を検証するための符号(例えば、ハッシュ値等)を復号することが可能となる。なお、復号処理部211の処理については、
図6を参照して詳細を別途後述する。
【0059】
認証処理部212は、復号処理部211により復号されたデータに基づき各種認証に係る処理を実行する。具体的な一例として、認証処理部212は、復号されたデータに含まれる、情報処理装置100から端末装置300に送信された情報(前述したコード生成用データに含まれる情報)と、端末装置300に保持されていた情報とを照合してもよい。この際に、認証処理部212は、情報処理装置100から端末装置300に送信された情報から所定のロジックに基づき算出される符号と、電子署名から復号された符号とを照合することで、当該情報の正当性を検証してもよい。このような仕組みにより、端末装置300に保持された情報が、情報処理装置100に登録された当該情報と一致するか否かに応じて、当該端末装置300(ひいては、当該端末装置300を保持するユーザ)の認証を行うことが可能となる。なお、認証処理部212により実行される認証処理については、
図6~
図8を参照して詳細を別途後述する。
【0060】
以上、
図5を参照して、本実施形態に係る情報処理システムの機能構成の一例について、特に、
図1に示す情報処理システム1の場合を例として、情報処理装置100、読取機器200、及び端末装置300の構成に着目して説明した。
なお、上述した構成はあくまで一例であり、必ずしも本実施形態に係る情報処理システムの機能構成を限定するものではない。例えば、情報処理装置100、読取機器200、及び端末装置300のうち少なくとも一部の装置の一連の構成要素が、複数の装置が協働することで実現されてもよい。具体的な一例として、情報処理装置100の一連の構成要素のうち、一部の構成要素が当該情報処理装置100に対して外付けされていてもよい。また、他の一例として、情報処理装置100の一連の構成要素のうち、少なくとも一部の構成要素の処理に係る負荷が、複数の装置に分散されてもよい。これらについては、読取機器200や端末装置300についても同様である。
【0061】
<処理>
図6~
図9を参照して、本実施形態に係る情報処理システムの処理の一例について、特に、決済等の各種手続きを行うための認証に係る処理に着目して説明する。
まず、
図6を参照して、端末装置300が、各種手続きを行うための認証に利用されるコードを生成し、当該コードを読取機器200に読み取らせるために所定の方式で出力する処理について説明する。なお、
図6に示す例では、端末装置300が、読取機器200に読み取らせるコードとして、当該読取機器200が光学的に読み取り可能なQRコードを生成し、当該QRコードを画面に表示させることで当該読取機器200に読み取らせるものとする。
【0062】
まず、認証に使用される情報を読取機器200に読み取らせるためのQRコードの生成に使用されるQRコード用データが、端末装置300と情報処理装置100との間の通信が確立されているタイミングで、事前に当該端末装置300にダウンロードされる。なお、
図6に示す例では、便宜上、対象となるユーザの利用者情報D111(アカウントID等)と、当該ユーザが決済等の各種手続きに利用するために登録した端末装置300の端末識別情報D112とが後述する認証に利用されるものとする。
情報処理装置100は、端末識別情報D112に対して所定のロジックに基づき符号化処理を施すことでハッシュ値D113を算出する。そのうえで、情報処理装置100は、算出したハッシュ値D113に対して、システムの管理元となる発行事業者の秘密鍵に基づき暗号化処理を施すことで電子署名D114を生成する。なお、本説明では、端末識別情報D112について電子署名を生成しているが、利用者情報D111等の他の情報についても同様に電子署名が生成されてもよい。
そして、情報処理装置100は、利用者情報D111と、端末識別情報D112と、生成した電子署名D114とを含むQRコード用データD115を生成する。
なお、QRコード用データD115の生成に利用される情報については、読取機器200が認証に利用する情報であれば特に限定はされない。具体的な一例として、情報処理装置100が管理対象としている利用者情報D111及び端末識別情報D112以外の他の情報や、これらの情報の有効期限に関する情報等が、QRコード用データD115に含まれてもよい。
【0063】
情報処理装置100は、端末装置300との接続が確立した場合に、当該端末装置300が保持する端末識別情報と、対象となるユーザのアカウントIDに関連付けられた端末識別情報とを照合する。これにより、情報処理装置100は、上記端末装置300が、対象となるユーザについて登録された端末装置か否かを判定する。そして、情報処理装置100は、接続が確立された端末装置300が、対象となるユーザについて登録された端末装置と判定した場合には、当該ユーザについて生成したQRコード用データD115を当該端末装置300に送信する。
端末装置300は、情報処理装置100から送信されたQRコード用データD115を所定の記憶領域に記憶させることで保持する。このようにして保持されたQRコード用データD115は、決済等の手続きに際して読取機器200が当該QRコード用データD115に含まれる情報を認証に利用するために、当該読取機器200に読み取らせるQRコードの生成に使用される。
【0064】
次いで、決済等の手続きに際して端末装置300が、読取機器200に読み取らせるためのQRコードを生成し、当該QRコードを表示することで読取機器200に読み取らせるまでの処理の一例について説明する。
【0065】
端末装置300は、情報処理装置100から事前にダウンロードして保持しているQRコード用データD115と、所定の記憶領域に保持された情報と、タイムスタンプD117とを、含む一連のデータに基づきQRコードを生成する。なお、
図6に示す例では、当該所定の記憶領域に保持された情報として、端末装置300が保持する自身の端末識別情報D116が、QRコードの生成に利用されるものとする。また、タイムスタンプD117は、所定の計時部(例えば、端末装置300が備える計時部)による計時結果に応じた情報であり、QRコードの生成時に当該計時部から取得される。
【0066】
端末装置300は、QRコードの生成対象となるデータを符号化したQRコードから当該データが復号された際に、当該データが正しく復号されているかや、当該データが改ざんされていないかを検査するために利用する符号を、当該データに基づき生成する。具体的な一例として、
図6に示す例では、端末装置300は、対象となるデータ(例えば、QRコード用データD115、端末識別情報D116、及びタイムスタンプD117)から、所定のロジックに従いCRC(巡回冗長検査)値D118を計算する。そして、端末装置300は、CRC値D118の計算結果に基づき、上記データの検査に利用されるチェックディジットD119を生成する。
【0067】
次いで、端末装置300は、QRコード用データD115と、端末識別情報D116と、タイムスタンプD117と、生成したチェックディジットD119とを少なくとも含む一連のデータを、QRコード表示用データD120とする。
そして、端末装置300は、S150の処理として、QRコード表示用データD120に基づきQRコードを生成して、当該QRコードを表示するための処理を実行する。なお、本実施形態では、端末装置300は、読取機器200に読み取らされるためのコード(例えば、QRコード等)を、複数回に分けて所定の出力部(例えば、ディスプレイ等)に順次出力させる。例えば、
図6に示す例では、端末装置300は、QRコード表示用データD120に対して所定の符号化方式に基づき符号化処理を施すことで生成されるQRコードを複数回に分けて画面に表示させる(以降では、フラッシュQR表示とも称する)。また、QRコード表示用データD120のうち、読取機器200による各種認証に利用される情報(例えば、QRコード用データD115に含まれる各種情報、端末識別情報D116、タイムスタンプD117等)が、「認証情報」の一例に相当する。
【0068】
ここで、
図7及び
図8を参照して、本実施形態に係る端末装置300によるQRコードの表示に係る処理(すなわち、フラッシュQR表示に係る処理)の一例について説明する。
【0069】
まず、
図7に示す例について説明する。
図7に示す例では、対象となるデータを複数のパケットに分割したうえで、各パケットについてQRコードが表示される。
具体的には、端末装置300は、QRコード表示用データD120を複数のパケットに分割する。例えば、
図7に示す例では、端末装置300は、QRコード表示用データD120からN個のパケットを生成している。各パケットには、当該パケットを識別するための識別情報(例えば、シーケンス番号)と、分割されたパケットの総数を示す情報と、QRコード表示用データD120から分割されたデータとが含まれる。
また、端末装置300は、生成したパケットにスクランブルを施してもよい。例えば、
図7に示す例では、端末装置300は、QRコード表示用データD120を複数のパケットにスクランブルを施すことで、パケットの順序を入れ替えている。
そのうえで、端末装置300は、各パケットに対して所定の符号化方式に基づき符号化処理を施すことで、パケットごとにQRコードを生成し、一連のパケットそれぞれについて生成したQRコードを所定の間隔で順次画面に表示させる。端末装置300が画面に順次表示させた各QRコードは、読取機器200により順次読み取られたうえで復号処理が施されることとなる。なお、この際に、個々のQRコードが表示される期間は、読取機器200が各情報(例えば、QRコード)を光学的に読み取るために要する期間よりも長くなる条件を満たす範囲で、より短くなるように設定されるとよい。読取機器200側の処理については、詳細を別途後述する。
なお、
図7に示す例については、QRコードのように対象となるコードが光学的に読み取られる場合に着目して説明を行っているが、光学的な方法に限らず、他の方法によりコードの読み取りが行われる場合についても適用可能である。その場合には、読取機器200がコードを読み取る方法に応じて、パケットごとに生成されるコードの種別を適宜変更すればよい。
【0070】
次いで、
図8に示す例について説明する。
図8に示す例では、対象となるデータに基づきQRコードが生成され、当該QRコードに対して一部を遮蔽するマスクを重畳させた画像が、遮蔽される部分が逐次切り替わるように当該マスクを切り替えながら順次表示される。
具体的には、端末装置300は、QRコード表示用データD120に対して所定の符号化方式に基づき符号化処理を施すことでQRコードを生成する。そのうえで、端末装置300は、生成したQRコードに対して、当該QRコードの一部を遮蔽するマスクを重畳させた画像を生成する。例えば、
図8に示す例では、端末装置300は、階層構造を利用して、下位の階層1にQRコードを表示させたうえで、上位の階層2にマスクを表示させることで、当該QRコードに当該マスクを重畳させた画像を生成している。
そして、端末装置300は、遮蔽される部分が逐次切り替わるように階層2に評させるマスクを切り替えながら、QRコードに対してマスク(すなわち、逐次切り替えられたマスク)が重畳された画像を所定の間隔で順次画面に表示させる。以上のようにして、端末装置300は、QRコードの各部が少なくとも1度はマスクが重畳されていない状態で表示されるまで、マスクの切り替えと、QRコードに当該マスクが重畳された画像の表示とを繰り返し実行する。端末装置300が画面に順次表示させた各画像は、読取機器200により順次読み取られたうえで合成処理により上記QRコードが復元され、当該QRコードに対して復号処理が施されることとなる。なお、この際に、QRコードにマスクが重畳された各画像が表示される期間は、
図7に示す例と同様に、読取機器200が各情報を光学的に読み取るために要する期間よりも長くなる条件を満たす範囲で、より短くなるように設定されるとよい。また、読取機器200側の処理については、
図7に示す例の場合と合わせて詳細を別途後述する。
【0071】
続いて、
図9を参照して、読取機器200が、端末装置300から出力されたコードを読み取り、当該コードに対して復号処理を施すことでデータを復号したうえで、当該データに基づき各種手続きのための認証を行う処理について説明する。なお、
図9に示す例では、
図6に示す例に対応するように、読取機器200が、端末装置300の画面に表示されたQRコードを光学的に読み取り、当該QRコードに復号処理を施すことでデータを復号したうえで、当該データに基づき認証に係る処理を実行するものとする。
【0072】
まず、読取機器200は、端末装置300の画面に所定の間隔で逐次表示される各画像(例えば、QRコード)を順次読み取り、S201の処理として、当該画像の読み取り結果に対して復号処理を施すことでデータを復元する。
【0073】
例えば、
図7に示す例の場合には、読取機器200は、パケットごとに生成されたQRコードを順次読み取り、少なくとも一部のQRコードから復号されるパケットに含まれた情報からパケットの数を認識する。そのうえで、読取機器200は、パケット数分のQRコードの読み取りが完了したら、上記QRコードの読み取りに係る処理を終了する。読取機器200は、読み取った一連のQRコードそれぞれに対して所定の符号化方式に基づき復号処理を施すことで各パケットを復号し、復号された一連のパケットを結合することでQRコード表示用データD120を復元する。なお、この際に読取機器200は、一連のパケットに対してスクランブル処理が施されている場合には、当該一連のパケットに対して当該スクランブル処理に対応するデスクランブル処理を施したうえで、パケットの結合を行えばよい。
【0074】
また、他の一例として、
図8に示す例の場合には、読取機器200は、QRコードの一部がマスクにより遮蔽された画像を順次読み取り、当該画像からマスクにより遮蔽されていないQRコードの一部を抽出して逐次結合することでQRコードの復元を行う。そして、読取機器200は、QRコードの復元が完了したら、上記画像の読み取りに係る処理を終了する。読取機器200は、復元したQRコードに対して所定の符号化方式に基づき復号処理を施すことでQRコード表示用データD120を復元する。
【0075】
以上のようにして、読取機器200は、端末装置300により提示されたQRコードの読み取り結果からQRコード表示用データD120を復元し、S202以降の処理において、復元されたデータの検証や、各種認証に係る処理を実行する。S202以降の各処理の詳細について以下に説明する。
【0076】
S202において、読取機器200は、チェックディジットによる復元されたデータの正当性の検証を行う。
具体的には、読取機器200は、QRコード表示用データD120に含まれる一連のデータのうちの検証の対象となるデータから所定のロジックに基づきCRC値を算出し、当該CRC値に基づきチェックディジットを作成する。この際に、CRC値の算出に適用されるロジックや、当該CRC値に基づきチェックディジットを作成する方法については、
図7に示す例において端末装置300がチェックディジットD119を生成する場合と同様のロジックや方法が適用される。そして、読取機器200は、生成したチェックディジットと、QRコード表示用データD120に含まれるチェックディジットD119とを照合することで、対象となるデータの正当性を検証する。
なお、この際に、読み取られたQRコードや、当該QRコードの生成元となるデータに異常が生じている場合には、生成されたチェックディジットと、復元されたデータに含まれるチェックディジットとが一致しないこととなる。すなわち、QRコードや当該QRコードの生成元となるデータが偽造されていた場合においても、上記したチェックディジットの照合により、データの偽造が行われていることを検出することが可能となる。
【0077】
S203において、読取機器200は、復元されたQRコード表示用データD120に含まれるタイムスタンプD117を抽出し、当該タイムスタンプD117を、所定の計時部による計時結果に応じたタイムスタンプと照合する。この際に、QRコード表示用データD120に含まれるタイムスタンプD117と、計時結果に応じたタイムスタンプとの差が所定の期間に含まれない場合には、QRコード表示用データD120が生成されてから所定の期間以上の時間が経過していることとなる。そのため、読取機器200は、上記タイムスタンプ間の比較結果が所定の期間に含まれない場合、すなわちQRコード表示用データD120が生成されてから経過した期間が許容範囲外の場合には、なりすましの可能性があるものと判定し、エラーとして処理する。
【0078】
S204において、読取機器200は、復元されたQRコード表示用データD120の生成元となる端末装置300が、対象となるユーザが各種手続きに利用するために情報処理装置100に登録した端末装置300と一致するか否かを判定する。
具体的には、読取機器200は、QRコード表示用データD120に含まれるQRコード用データD115を抽出し、当該QRコード用データD115に含まれる電子署名D114に対して、所定の共通鍵に基づき復号処理を施すことでハッシュ値D113を復号する。この共通鍵は、ハッシュ値D113から電子署名D114を生成する際に使用された秘密鍵に対応する共通鍵である。また、読取機器200は、QRコード表示用データD120に含まれる端末識別情報D116(すなわち、端末装置300が保持していた端末識別情報)に対して、所定のロジックに基づき符号化処理を施すことでハッシュ値を算出する。この際に適用される符号化処理は、ハッシュ値D113の算出に際して、端末識別情報D112に適用された符号化処理と同様のロジックに基づく符号化処理である。そして、読取機器200は、QRコード表示用データD120に含まれる端末識別情報D116から算出されたハッシュ値と、電子署名D114から復号されたハッシュ値D113とを照合する。読取機器200は、この照合結果に基づき、QRコード表示用データD120の生成元となる端末装置300が、対象となるユーザが各種手続きに利用するために情報処理装置100に登録した端末装置300と一致するか否かを判定する。
この際に、端末識別情報D116から算出されたハッシュ値と、電子署名D114から復号されたハッシュ値D113と一致しない場合には、QRコードを提示した端末装置300が、情報処理装置100に登録された端末装置300とは異なる端末装置となる。すなわち、この場合には、読取機器200は、なりすましの可能性があるものと判定し、エラーとして処理する。
【0079】
S205において、読取機器200は、復元されたQRコード表示用データD120に含まれる情報(例えば、利用者情報や有効期限に関する情報等)を利用して、所定の方式に基づき認証を行う。
具体的な一例として、読取機器200は、S204において端末装置300の正当性を確認する場合と同様の手法に基づき、利用者情報D111を利用することで、対象となるユーザが情報処理装置100に管理対象として登録されたユーザか否かを判定してもよい。この場合には、例えば、情報処理装置100は、QRコード用データD115の生成に際して、利用者情報D111からハッシュ値を算出したうえで当該ハッシュ値を基に電子署名を生成して、当該QRコード用データD115に当該電子署名を含める。また、端末装置300は、QRコード表示用データD120の生成に際して、当該QRコード表示用データD120に自身が保持する利用者情報(例えば、アカウントID等の利用者情報D111に相当する情報)を含める。読取機器200は、復元されたQRコード表示用データD120に含まれるQRコード表示用データD120から上記電子署名を抽出し、当該電子署名を共通鍵に基づき復号することで利用者情報D111から算出されたハッシュ値を復号する。また、読取機器200は、QRコード表示用データD120に含まれた利用者情報(端末装置300に保持された利用者情報)に対して、所定のロジック(利用者情報D111からハッシュ値を算出する際と同様のロジック)に基づき符号化処理を施すことでハッシュ値を算出する。そのうえで、読取機器200は、算出したハッシュ値と、電子署名から復元されたハッシュ値とを照合することで、対象となるユーザの認証(例えば、正当性の検証)を行ってもよい。
また、読取機器200は、復元されたQRコード表示用データD120に有効期限を示す情報が含まれる場合には、当該有効期限に対応する情報が有効期限内か否かを判定してもよい。また、この際に、読取機器200は、当該有効期限を示す情報ついても、上記した利用者情報の場合と同様の手法に基づき、正当性の検証を行ってもよい。
もちろん、上記はあくまで一例であり、復元されたQRコード表示用データD120に含まれる情報に基づき所望の認証を行うことが可能であれば、当該認証に利用される情報の種別や、当該認証の方法については特に限定はされない。
【0080】
以上、
図6~
図9を参照して、本実施形態に係る情報処理システムの処理の一例について、特に、決済等の各種手続きを行うための認証に係る処理に着目して説明した。
【0081】
<むすび>
以上、説明したように、本実施形態に係る情報処理システムは、端末装置と、読取機器とを含む。端末装置は、認証情報に対して所定の符号化方式に基づき符号化処理を施すことで符号化情報を生成する符号化手段と、当該認証情報から生成された符号化情報を複数回に分けて所定の出力部に順次出力させる出力制御手段と、を備える。また、読取機器は、出力部から複数回に分けて出力される符号化情報を順次読み取る読取手段と、読み取られた符号化情報に対して上記符号化方式に基づき復号処理を施すことで認証情報を復号する復号手段と、復号された認証情報に基づき所定の認証を行う認証手段と、を備える。
このように、本実施形態に係る情報処理システムでは、端末装置300は、読取機器200に読み取らせる符号化情報(換言すると、2次元コード等のコード)を複数回に分けて順次出力することで、読取機器200に当該符号化情報を順次読み取らせる。そのため、例えば、複数回に分けて順次出力される符号化情報のうち、一部が悪意あるユーザに盗用されたとしても、当該符号化情報から、生成元となる情報を復元することは困難である。すなわち、盗用された符号化情報が、悪意あるユーザにより偽造やなりすましに悪用される事態の発生を防止することが可能となる。
また、上述のように、本実施形態に係る情報処理システムにおいては、読取機器200が端末装置300から出力された符号化情報に基づき認証を行う際に、端末装置300や読取機器200が情報処理装置100との通信を行う必要がない。すなわち、端末装置300や読取機器200がオフライン状態となり得る状況下においても、決済等の各種手続きのための認証を行うことが可能となる。
以上のように、本実施形態に係る情報処理システムに依れば、盗用されることで他者に悪用される事態の発生をより好適な態様で防止することが可能となる。
【0082】
なお、上記では、決済等の各種手続きに際して、QRコードに代表される二次元コードを読取機器200に読み取らせる場合に着目して特徴的な構成や処理について説明したが、必ずしも本実施形態に係るシステムの適用対象を限定するものではない。
具体的な一例として、二次元コードに限らず、読取機器200に所望の情報を光学的に読み取らせることが可能であれば、そのために使用される情報の種別は特に限定はされない。例えば、二次元コードに替えてバーコードが利用されてもよい。
また、他の一例として、読取機器200がコードを読み取る方法や、当該読み取り方法に応じて端末装置300から出力される当該コードの種別についても特に限定はされない。具体的には、端末装置300が読取機器200に読み取らせるために対象となるコードを出力する際に、当該コードが悪意ある他のユーザに盗用され得る状況下であれば、上述した本実施形態に係る技術を応用することが可能な場合がある。この場合には、対象となるコードを複数回に分けて順次出力して読取機器200に読み取らせることで、一部のコードが盗用されたとして、当該一部のコードが、悪意あるユーザにより偽造やなりすましに悪用される事態の発生を防止する効果が期待できる。
【0083】
以上、本発明を上述した実施形態と共に説明したが、本発明は上述した実施形態にのみ限定されるものではなく、本発明の技術思想を逸脱しない範囲内で変更等が可能である。
また、本発明には、上述した実施形態の機能を実現するプログラム、および、該プログラムを格納したコンピュータが読み取り可能な記録媒体が含まれる。
【符号の説明】
【0084】
1 情報処理システム、100 情報処理装置、110 制御部、111 管理部、112 符号化処理部、113 署名処理部、114 データ生成部、120 通信部、130 記憶部、200 読取機器、210 制御部、211 復号処理部、212 認証処理部、220 通信部、230 読取部、240 記憶部、250 出力部、260 入力部、300 端末装置、310 制御部、311 符号化処理部、312 表示制御部、320 通信部、330 記憶部、340 出力部、350 入力部