JP5978325B2 - ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム - Google Patents

ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム Download PDF

Info

Publication number
JP5978325B2
JP5978325B2 JP2015011061A JP2015011061A JP5978325B2 JP 5978325 B2 JP5978325 B2 JP 5978325B2 JP 2015011061 A JP2015011061 A JP 2015011061A JP 2015011061 A JP2015011061 A JP 2015011061A JP 5978325 B2 JP5978325 B2 JP 5978325B2
Authority
JP
Japan
Prior art keywords
authentication
time
code
time code
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015011061A
Other languages
English (en)
Other versions
JP2016136664A (ja
Inventor
敏昭 平田
敏昭 平田
直紀 深谷
直紀 深谷
高山 博和
博和 高山
Original Assignee
ソフトバンク・ペイメント・サービス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソフトバンク・ペイメント・サービス株式会社 filed Critical ソフトバンク・ペイメント・サービス株式会社
Priority to JP2015011061A priority Critical patent/JP5978325B2/ja
Publication of JP2016136664A publication Critical patent/JP2016136664A/ja
Application granted granted Critical
Publication of JP5978325B2 publication Critical patent/JP5978325B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラムに関する。
従来、Webサービスへのログイン処理など、インターネット上のアカウント管理では、IDやパスワードなどによりユーザーのアクセス権を認証する認証システムが用いられている。このユーザー認証システムにおいて、固定的に用いられる固定パスワードよりもセキュリティを高める方式として、セッション毎にパスワードを変更して認証処理を行うワンタイムパスワードを使用するシステムが知られている(例えば、特許文献1)。
この特許文献1には、オンラインサービスサーバーと情報端末と携帯情報端末と携帯情報端末会社メールサーバーとがインターネットを介して接続された構成において、情報端末からの認証要求に対し、オンラインサービスサーバーが認証要求に対して一定時間且つ一度しか使用することができないワンタイムパスワードを生成し、生成したワンタイムパスワードを記載したメールを作成し、当該メールを、携帯情報端末会社メールサーバーを介して利用者の携帯情報端末に送信し、利用者が受信したメールに記載されたワンタイムパスワードを従来の固定パスワードに代わって情報端末に入力し、情報端末がオンラインサービスサーバーにワンタイムパスワードを送信することで、認証を行う技術が開示されている。
特開2005−209083号公報
しかしながら、特許文献1に開示されたような通信ネットワーク上のサーバー装置と通信処理を行うことで認証を行う技術では、ユーザー端末が通信可能エリア外に位置したり、通信障害などが発生したりなど、サーバー装置と通信ができない場合には、サーバー装置からユーザー端末に対して、今回使用するためのワンタイムパスワードを送信することができないため、認証処理を行うことができなかった。
そこで、本発明は、上記のような問題を解決するものであり、ユーザー端末と認証サーバーとが直接通信できない状況下であっても、認証処理を確立することができるワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラムを提供することを目的とする。
上記課題を解決するために、本発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムであって、
ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証サーバーにおいて、第1のワンタイムコード及び第2のワンタイムコードを取得し、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、前記ユーザー端末側で、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、前記認証サーバーにおいて前記ユーザー端末から、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理部と、
前記認証サーバーにおいて、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択部と、
前記認証サーバーにおいて、前記認証管理部が取得した前記ワンタイムパスワードに対して、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完部と、
前記認証サーバーにおいて、前記認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証処理を行う認証部と
を備える。
また、他の発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証方法であって、
(1)ユーザー端末側において、ワンタイムコード作成部が、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成するとともに、次世代乱数を発生させる前に発生させた前世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成するワンタイムコード作成ステップと、
(2)認証サーバーにおいて、第1のワンタイムコード及び第2のワンタイムコードを取得し、認証用コード保存部が、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザーに固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
(3)ユーザー端末の選択部が、認証時に、通信ネットワークの通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
(4)認証管理部が、選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、ユーザー端末から、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理ステップと、
(5)認証用コード選択部が、通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択ステップと、
(6)認証管理部が取得した第2のワンタイムコードに対して、低減回数補完部が、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
(7)認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証処理を行う認証ステップと
を備える。
ここで、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれる。そして、本発明における「第1のワンタイムコード」とは、次回の認証時に用いられる認証情報であり、「第2のワンタイムコード」とは、今回の認証時に用いられる認証情報である。また、「通信ネットワーク」とは、電話回線やISDN回線、ADSL回線、光回線などの公衆回線、専用回線、3G回線や、Wifi(登録商標)、Bluetooth(登録商標)などの無線通信回線などの種々の通信回線を相互に接続して構築される通信網であり、インターネットなどの通信プロトコルTCP/IPを用いたIP網が含まれ、このIP網には、10BASE−Tや100BASE−TX等によるイントラネット(企業内ネットワーク)や家庭内ネットワークなどのLANなども含まれる。「認証用通信経路」とは、認証情報を認証サーバーとの間で安定して送受信するための通信経路であり、上記通信ネットワークと異なる経路やプロトコルでもよく、上記通信ネットワークに一部又は全部の通信経路が含まれていてもよい。この認証用通信経路としては、例えば、店舗に設置されたPOS端末などを、ユーザー端末と認証サーバーの間に介在させた経路とすることができ、ユーザー端末とPOS端末とは、リーダライタ装置やバーコードリーダ装置のような非接触通信によって接続されるものでよい。
さらに、「ユーザーに固有のユーザー特定情報」とは、シリアルナンバーやMACアドレスその他のユーザー端末の製造時に付与された1つのユーザー端末に固有且つ単一の端末固有識別子でもよく、ユーザー毎に付与されるユーザー固有のユーザー識別子や、アプリケーションに固有のID、サービスに固有のID、又はこれらを組み合わせて定められるユニークな値など、1つの端末に複数付与される識別子としてもよい。そして、これらのユーザー特定情報は、ユーザーが操作して入力するものでもよく、自動的に入力又は送信されるものであってもよい。
これらのような本発明によれば、ユーザー端末が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末側では、ユーザー側一方向性関数を用いて暗号化(ハッシュ化)され、サーバー側で取得されたワンタイムコードは、サーバー側一方向性関数により暗号化(ハッシュ化)されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。
詳述すると、本発明では、認証サーバーとユーザー端末との通信状態に応じて、今回の認証時に用いられるワンタイムパスワードの元となるワンタイムコード(第1のワンタイムコード又は第2のワンタイムコード)を選択している。例えば、認証サーバーとユーザー端末とが通信可能である場合には、前回送信した第1のワンタイムコードに用いられた乱数を確認し、今回の認証時に生成するワンタイムパスワードを、前回生成した次世代乱数に基づいて生成する。すなわち、通信可能な状態下では、常に新規な次世代乱数が生成され、ハッシュ回数は初期値にリセットされる。一方、認証サーバーとユーザー端末とが通信不通である場合には、前回生成した乱数と同世代の乱数に基づいて、前回のハッシュ回数よりも低減されたハッシュ回数により、今回認証時に生成するワンタイムパスワードを生成する。
その結果、本発明によれば、認証サーバーでは、取得したワンタイムコードをハッシュ関数で一方向の処理を加えているので、通信内容を隠蔽することができる。このように、本発明によれば、通信経路及び認証サーバーに保存される認証コードを盗聴・盗難しても、実際に認証するためのコードは生成できないため、不正利用を防ぐことができる。さらに、本発明によれば、ユーザー端末で生成するワンタイムコードは、乱数によってランダムに生成され、ワンタイムコードそのものは、ユーザー端末にも保存しないので、ユーザー端末上のデータ、通信経路上のデータ、認証サーバー上のデータは、正規のユーザー端末が生成したワンタイムコードによってのみ紐づけられることとなり、セキュリティを高めることができる。
上記発明において、ユーザー端末は、コード化された第1のワンタイムコード又はコード化された第2のワンタイムコードをワンタイムパスワードとして表示する表示部を有し、認証用通信経路は、表示部に表示されたワンタイムパスワードを読み取る読取装置に接続され、認証管理部は、読取装置を介して、ワンタイムパスワードをユーザー端末から取得することが好ましい。
この場合には、認証用通信経路は、ユーザー端末の表示部に表示されたワンタイムパスワードを読み取る読取装置に接続され、認証管理部は、読取装置を介して、ワンタイムパスワードをユーザー端末から取得しているので、ユーザー端末が通信可能エリア外に位置して直接認証サーバーと通信ができない場合でも、ワンタイムパスワードを取得して認証することができる。
上記発明において、通信ネットワーク上には、認証サーバーとユーザー端末とを接続する連携用通信経路が構築され、認証用コード保存部は、連携用通信経路を通じて、ユーザー端末上において初回に生成された第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、第1の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて保存することが好ましい。
ここで、「連携用通信経路」とは、上記の認証用通信経路とは異なる通信経路であり、上記通信ネットワーク上に構築され、特に3G回線やWifi、Bluetooth(登録商標)などの無線通信回線を含み、ユーザー端末と認証サーバーとが直接接続され、一定のセキュリティが確保された通信経路である。このような本発明によれば、ユーザー端末で初回に生成した第2のワンタイムコードを認証サーバーに送信することで、次回以降の認証において、2つの異なる乱数を用いたワンタイム認証処理を実行することができる。
上記発明において、認証用通信経路は、店舗に設置される店舗端末を介して、ユーザー端末と接続され、店舗端末では、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部は、第1のワンタイムコード又は第2のワンタイムコードとともに、購買情報を取得し、この購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積することが好ましい。
ここで、「消費行動に関する情報」とは、いわゆるPOSデータが含まれ、購入した商品名、商品コード、購入日時、店舗名、数量などであり、電子クーポンやポイントの使用情報も含まれる。この場合には、ユーザーの消費行動に関する情報を購買情報として、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果とともに蓄積しているので、各ユーザーの消費行動を解析し、マーケティングに活用することができる。この際、購買情報と認証用に用いたワンタイムコード(乱数やハッシュ値を含む。)とを関連付けて管理するため、ユーザーを特定することなく解析を行うことができ、個人情報の保護を向上させつつ、マーケティングに必要な情報を取り扱うことができる。
上記発明において、認証サーバーは、ユーザーに付与される価値情報を管理する価値情報管理サーバーと、ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーとを有し、価値情報管理サーバー及び決済サーバーは、認証用コード保存部に保存された情報を共有可能であり、決済サーバーは、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行することが好ましい。
ここで、「価値情報」とは、店舗におけるサービスの提供を保証する情報であり、ポイントや電子クーポン、割引サービス等が含まれる。この場合、価値情報管理サーバー及び決済サーバーは、認証用コード保存部に保存された情報を共有可能であり、決済サーバーは、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行するので、認証処理と同時に価値情報有効性の判定と、決済処理とを、複数のサーバー装置、ひいては複数のサービス事業者で協働して行うことできる。また、これにより、ユーザー側にとっては認証処理のための操作と、電子クーポンやポイントを利用するための操作と、決済するための操作を簡略化することができる。
さらに、他の発明は、上記ワンタイム認証システム及びワンタイム認証方法で利用可能な認証サーバーである。具体的に、この本発明に係る認証サーバーは、通信ネットワーク上に配置され、ユーザーが使用するユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う認証サーバーであって、
ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対してユーザー側一方向性関数による演算を繰り返して生成された第2のワンタイムコードとを、認証サーバーにおいて取得する連携管理部と、
第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、通信ネットワークの通信状態に応じて選択された第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してユーザー端末において生成されたワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理部と、
通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択部と、
認証管理部が取得したワンタイムパスワードに対して、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完部と、
認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証処理を行う認証部とを備える。
なお、上記発明に係るワンタイム認証システム及び認証サーバーは、複数のサーバー装置で構成することも可能であり、また、装置や機器等のハードウェアのみならず、その機能を持ったソフトウェア、又はこれらの組み合わせなどによっても構成することができる。また、データベースも単一のデータベース装置の他、リレーションシップ機能により連携される複数のデータベース群で構成することもできる。
また、他の発明は、上記ワンタイム認証システム及びワンタイム認証方法で利用可能な携帯端末である。具体的に、この本発明に係る携帯端末は、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証サーバーに対し、第1のワンタイムコード及び第2のワンタイムコードを送信する送信部と、
認証時において、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成し、当該ワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして、認証サーバーに対して送出する認証処理部と、
通信ネットワークの通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得部とを備える。
上記発明において、ユーザー端末は、コード化された第1のワンタイムコード又はコード化された第2のワンタイムコードをワンタイムパスワードとして表示する表示部を有し、認証用通信経路は、表示部に表示されたワンタイムパスワードを読み取る読取装置に接続され、認証管理部は、読取装置を介して、ワンタイムパスワードをユーザー端末から取得することが好ましい。
上記発明において、通信ネットワーク上には、認証サーバーとユーザー端末とを接続する連携用通信経路が構築され、認証用コード保存部は、連携用通信経路を通じて、ユーザー端末上において初回に生成された第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、第1の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて保存することが好ましい。
上記発明において、認証用通信経路は、店舗に設置される店舗端末を介して、ユーザー端末と接続され、店舗端末では、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部は、第1のワンタイムコード又は第2のワンタイムコードとともに、購買情報を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積することが好ましい。
上記発明において、認証サーバーは、ユーザーに付与される価値情報を管理する価値情報管理サーバーと、ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーとを有し、価値情報管理サーバー及び決済サーバーは、認証用コード保存部に保存された情報を共有可能であり、決済サーバーは、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行することが好ましい。
また、上述した本発明に係る認証サーバー、及び携帯端末は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。
すなわち、本発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、認証サーバーに、
(1)ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第2のワンタイムコードとを取得する管理ステップと、
(2)認証用コード保存部が、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
(3)認証時において、通信ネットワークの通信状態に応じて選択された第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してユーザー端末において生成されたワンタイムコードを、認証管理部が、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理ステップと、
(4)認証用コード選択部が、通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択ステップと、
(5)認証管理部が取得した第2のワンタイムコードに対して、低減回数補完部が、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
(6)認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証部が、認証処理を行う認証ステップと
を含む処理を実行させる。
また、他の発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、ユーザー端末に、
(1)次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成ステップと、
(2)次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成ステップと、
(3)認証サーバーに対して第1のワンタイムコード及び第2のワンタイムコードを送信する送信ステップと、
(4)認証時において、通信ネットワークの通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
(5)選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成して、認証用通信経路を通じてワンタイムパスワードとして、認証サーバーに対して送出する認証処理ステップと、
(6)通信ネットワークの通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得ステップと
を含む処理を実行させる。
このようなプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステム、方法、サーバー、及び装置を容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、また、汎用コンピューターで読み取り可能な記録媒体に記録することにより、スタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。記録媒体として、具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはCD−ROMやDVD−ROM等の光ディスクの他、RAMカードなど、種々の記録媒体に記録することができる。そして、このプログラムを記録したコンピューター読み取り可能な記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、方法、サーバー、及び装置を簡便に実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
以上述べたように、この発明によれば、ユーザー端末と認証サーバーとが直接通信できない状況下であっても、認証処理を確立することができる。
第1実施形態に係るシステムの全体構成を示す概念図である。 第1実施形態に係るユーザー端末の内部構成を示すブロック図である。 第1実施形態に係る店舗側端末及びPOSサーバーの内部構成を示すブロック図である。 第1実施形態に係る管理サーバー、クーポンサーバー、及びポイントサーバーの内部構成を示すブロック図である。 (a)〜(c)は、第1実施形態に係る乱数とハッシュ回数との組み合わせによって生成されるハッシュ値を示す表である。 第1実施形態に係る認証処理のアルゴリズム概要を説明するシーケンス図である。 第1実施形態に係る認証機能の初期化処理を示すシーケンス図である。 第1実施形態に係る通信可能時の認証処理を示すシーケンス図である。 第1実施形態に係る通信不通時の認証処理を示すシーケンス図である。 第1実施形態に係るエラー発生時の認証処理を示すシーケンス図である。 第1実施形態に係る方法の全体動作を示すフローチャート図である。 第2実施形態に係るユーザー端末の内部構成を示すブロック図である。 第2実施形態に係る生成されるハッシュ値の遷移を示す表である。 第3実施形態に係るユーザー端末の内部構成を示すブロック図である。 第3実施形態に係る実施形態に係る店舗側端末の内部構成を示すブロック図である。 第3実施形態に係るユーザー端末の表示部に表示される動的コード情報を示す説明図である。 第3実施形態に係る有効性判定の判定処理を示すタイムチャート図である。 第3実施形態に係る動的認証方法を示すフローチャート図である。
[第1実施形態]
(システムの概要)
以下に添付図面を参照して、本発明に係るシステムの実施形態を詳細に説明する。図1は、第1実施形態に係るシステムの全体構成を示す概念図である。
図1に示すように、本実施形態に係るシステムは、通信ネットワーク5上に配置される認証サーバー2と、ユーザーが使用し、認証サーバー2に通信ネットワーク5を通じて接続可能なユーザー端末1との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムである。具体的に、本システムでは、ユーザー端末1において、ユーザーに付与される価値情報を管理する価値情報管理サーバー群を構成するクーポンサーバー3及びポイントサーバー4から電子クーポン情報及びポイント情報を取得するとともに、これらの情報に認証情報(「ワンタイムコード)及び決済情報を含めたワンタイムパスワードを生成し、当該ワンタイムパスワードをコード化して画面上に表示させるようになっている。
そして、当該ワンタイムパスワードを店舗側端末7aに読み取らせることで、ワンタイムパスワードに応じた認証を行うとともに、電子クーポン又はポイントによる各種サービスを提供するものである。なお、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれる。また、「価値情報」とは、店舗におけるサービスの提供を保証する情報であり、ポイントや電子クーポン、割引サービス等が含まれる。
このような本システムでは、通信回線を相互に接続して構築される通信ネットワーク5上に、決済サーバー6と、認証サーバー2と、ポイントサーバー4と、クーポンサーバー3と、POSサーバー7と、無線基地局8と、無線基地局8を通じて無線通信が可能なユーザー端末1とを備えている。
通信ネットワーク5は、電話回線やISDN回線、ADSL回線、光回線などの公衆回線、専用回線、3G回線や、Wifi(登録商標)、Bluetooth(登録商標)などの無線通信回線などの種々の通信回線を相互に接続して構築される通信網であり、インターネットなどの通信プロトコルTCP/IPを用いたIP網が含まれ、このIP網には、10BASE−Tや100BASE−TX等によるイントラネット(企業内ネットワーク)や家庭内ネットワークなどのLANなども含まれる。
本実施形態において、ユーザー端末1と認証サーバー2とを接続する通信ネットワーク5の通信経路には、連携用通信経路と認証用通信経路という異なる経路が含まれている。ここで、「認証用通信経路」とは、認証情報を認証サーバーとの間で安定して送受信するための通信経路であり、上記通信ネットワークと異なる経路やプロトコルでもよく、上記通信ネットワークに一部又は全部の通信経路が含まれていてもよい。この認証用通信経路としては、例えば、店舗に設置されたPOS端末などを、ユーザー端末と認証サーバーの間に介在させた経路とすることができ、ユーザー端末とPOS端末とは、リーダライタ装置やバーコードリーダ装置のような非接触通信によって接続されるものでよい。一方、「連携用通信経路」とは、上記の認証用通信経路とは異なる通信経路であり、上記通信ネットワーク上に構築され、特に3G回線やWifi、Bluetooth(登録商標)などの無線通信回線を含み、ユーザー端末と認証サーバーとが直接接続され、一定のセキュリティが確保された通信経路である。無線基地局8は、図示しないゲートウェイ装置を通じて通信ネットワーク5に接続され、ユーザー端末1との間で無線通信接続を確立し、ユーザー端末1による通話やデータ通信を提供する装置である。
認証サーバー2は、通信ネットワーク5上に配置され、ユーザーが使用するユーザー端末1との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うサーバー装置であり、本実施形態では、通信ネットワーク5を通じて、ユーザー端末1側からそれぞれ記憶保持する各認証情報を取得して照合し、その一致又は不一致に基づいて認証処理を行う認証部としての機能と、ポイントサーバー4及びクーポンサーバー3に対して、クーポン情報及びポイント情報についての利用可否の問い合せ、更新処理を実行させたり、決済サーバー6に対して、決済の利用可否の決済実行を指示したりするなど、本システム全体を管理する管理部としての機能とを有する。
店舗側端末7aは、コード化された各種情報を取得する装置であり、店舗側端末7aには、ユーザー端末1表示部13aに表示されたコード情報を光学的に読み取る読取手段が接続されており、認証用通信経路は、読取手段に接続されている。ここで「コード情報」とは、各データをコード化した情報であって、数字や文字等のテキストの組み合わせでもよく、バーコードや、QRコード(登録商標)等の二次元コードのように、文字列等の情報がコード化され、コードに対応した図形情報により示されるものが含まれる。本実施形態において、このコード情報には、認証情報であるワンタイムコードのほか、電子クーポン情報、ポイント情報、決済情報などの購買情報が含まれ、QRコード(登録商標)として表示されるものとする。そして、店舗側端末7aは、ユーザー端末1の表示画面に表示されたコード情報を光学的に読み取り、読み取ったコード情報に基づくサービス内容を画面上に表示するとともに、読み取ったコード情報をPOSサーバーに送信している。
なお、この店舗側端末7aとしては、例えば現金の管理を行うレジスター装置であり、利用者の利用代金を計算したり、金銭の管理をする機能を備えていてもよい。また、店舗側端末7aは、レジスター装置と接続可能な読取装置のみであってもよく、この場合には、演算処理機能及び無線通信機能を有した携帯可能なモバイルコンピューターやPDA(Personal Digital Assistance)、スマートフォン、タブレットPC等を用いることができる。
POSサーバー7は、各店舗を統括的に管理する本部側に設置されるサーバー装置であり、通信ネットワーク5を通じて認証サーバー2と接続されており、店舗側端末7aによって読み取った認証情報を認証サーバー2に送信する。また、このPOSサーバー7は、店舗側端末7aとPOSサーバー7との間で所定のデータを送受信する機能や、店舗側端末7aから送られる売上情報等をデータベースに格納し、集計分析処理を行う機能などを備える 。なお、店舗は、例えば、コンビニエンスストアや飲食店等の対面により販売サービスを提供する施設であり、店員がレジスター等の決済処理を担当している。
決済サーバー6は、ユーザーに対して提供された商品又はサービスに関する決済処理を実行するサーバー装置であり、例えば、銀行や、クレジット会社などの課金処理に伴う料金の決済を行う金融機関が運営している。この決済サーバー6には、決済データベースが接続されており、決済データベース内には、ユーザー登録している各ユーザーに関する詳細な情報(氏名、住所、電話番号、メールアドレス、年齢、勤務先、商品の送付先(住所と異なる場合)、決済情報(クレジットカード番号、引落し口座番号等)が登録されている。この決済データベース内の情報に登録された決済情報に従って、業者は購入した商品に関して、クレジットカードによる販売代金の回収等の決済業務等を遂行する。
ポイントサーバー4は、金銭換算が可能となされた所定のポイントを付与すると共にそのポイントを管理するサーバー装置であり、DRAMやハードディスクなどに顧客固有の所有ポイントを記憶しており、顧客のアクセスに応じてポイント情報をユーザー端末1に配信するとともに、顧客のサービス対価や商品購入代金の支払いなどに応じて、顧客固有の所有ポイントを更新する。
クーポンサーバー3は、商品購入の際に特典をユーザーに提供する電子クーポンの発行や、電子クーポンの管理(利用状況の収集、データ更新等)を行うサービス提供者が運用するサーバー装置であり、DRAMやハードディスクなどに各種クーポン情報を記憶しており、顧客のアクセスに応じて電子クーポン情報をユーザー端末1に配信するとともに、配信した電子クーポンの利用に応じて記憶されている電子クーポンの情報を更新(消し込み等)を実行する。
なお、各種のサーバーは、単一のサーバー装置の他、Webサーバーやデータベースサーバーなど複数種のサーバー群から構成されることも可能であり、また、装置や機器等のハードウェアのみならず、その機能を持ったソフトウェア、又はこれらの組み合わせなどによっても構成することができる。また、データベースも単一のデータベース装置の他、リレーションシップ機能により連携される複数のデータベース群で構成することもできる。本実施形態において、各サーバー装置同士及びユーザー端末1とは、図示しない通信インターフェースを介して各種のデータを送受しているものとする。
ユーザー端末1は、ユーザーが使用し、通信ネットワーク5上に配置される認証サーバー2との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、具体的には、CPUを備えた演算処理装置であり、無線通信機能を有した携帯可能なモバイルコンピューターやPDA(Personal Digital Assistance)、携帯電話機、スマートフォン、タブレットPC等である。このユーザー端末1は、基地局等の中継点と無線で通信し、通話やデータ通信等の通信サービスを移動しつつ受けることができる。ユーザー端末1の通信方式としては、例えば、FDMA方式、TDMA方式、CDMA方式、W−CDMAの他、PHS(Personal Handyphone System)方式等が挙げられる。また、このユーザー端末1は、デジタルカメラ機能、アプリケーションソフトの実行機能、或いはGPS機能等の機能が搭載されている。
このユーザー端末1は、ワンタイム認証プログラム(SDK)が蓄積されており、このワンタイム認証プログラムをアプリケーション実行部14によって起動させることで、認証情報であるワンタイムコードを生成するとともに、クーポンサーバー3及びポイントサーバー4から取得した電子クーポン情報及びポイント情報、決済情報、及び認証情報等を含めたワンタイムパスワードを生成し、画面上に表示させるようになっている。なお、このワンタイム認証プログラムは、認証サーバー2などインターネット側からダウンロードしたり、他の媒体を通じてインストールしたりすることで、ユーザー端末1に実装することができる。
(各装置の内部構造)
次いで、上述したシステムを構成する各装置の内部構造について説明する。図2は、第1実施形態に係るユーザー端末1の内部構成を示すブロック図であり、図3は、本実施形態に係る店舗側端末及びPOSサーバーの内部構成を示すブロック図である。また、図4は、第1実施形態に係る認証サーバー2、クーポンサーバー3、ポイントサーバー4の内部構成を示すブロック図であり、図5(a)〜(c)は、本実施形態に係る乱数及びハッシュ回数に応じて生成されるハッシュ値を示す表である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
(1)ユーザー端末1
先ず、ユーザー端末1の内部構成について説明する。図2に示すように、ユーザー端末1は、無線インターフェース11、メモリ15と、アプリケーション実行部14と、出力インターフェース13と、入力インターフェース12とを備えている。無線インターフェース11は、通話を行うための移動通信用のプロトコルによる無線通信と、例えば無線LAN等のデータ通信用のプロトコルによる無線通信とを実行する機能を備えている。無線インターフェース11は、無線LAN接続を行うためにIEEE 802.11bに準拠した送受信装置であり、モバイルコンピューターやPDAにおいては、無線LANアダプタ等により実現することができる。本実施形態において、無線インターフェース11は、連携用通信経路に接続されており、クーポンサーバー3及びポイントサーバー4から電子クーポン情報及びポイント情報を取得したり、認証サーバー2と認証処理に関する各データを送受するようになっている。
入力インターフェース12は、操作ボタンやタッチパネルなどユーザー操作を入力するデバイスである。また、出力インターフェース13は、ディスプレイやスピーカーなど、映像や音響を出力するデバイスである。特に、この出力インターフェース13には、液晶ディスプレイなどの表示部13aが含まれている。
メモリ15は、OS(Operating System)や各種のアプリケーション用のプログラム(ワンタイムパスワード生成ソフトウェア等)、その他のデータ等などを記憶する記憶装置であり、このメモリ15には、デバイス情報などのユーザー端末1に固有の端末固有識別子、ワンタイムコード生成に用いられる認証情報、電子クーポン情報、ポイント情報などが生成されたファイル内にシリアライズして保存される。ここで、ワンタイムパスコード生成に用いられるデータには、SHA1等のユーザー側一方向性関数(以下、ハッシュ関数Hと称する。)、ハッシュ関数Hを適用する各世代の乱数H〜乱数Hn、及びハッシュ関数の適用回数を保持しており、これらの組み合わせによって、図5(a)に示すように、各ハッシュ値Eを生成可能となっている。
なお、ここでの端末固有識別子は、ユーザーに固有のユーザー特定情報の1つであり、シリアルナンバーやMACアドレスその他のユーザー端末の製造時に付与された1つのユーザー端末に固有且つ単一の端末識別子である。なお、端末固有識別子に代わるユーザー特定情報としては、ユーザー毎に付与されるユーザー固有のユーザー識別子や、アプリケーションに固有のID、サービスに固有のID、又はこれらを組み合わせて定められるユニークな値など、1つの端末に複数付与される識別子を用いることもできる。そして、これらのユーザー特定情報は、ユーザーが操作して入力するものでもよく、自動的に入力又は送信されるものであってもよい。
また、乱数Hは、例えば、英数(アルファベット文字は、大文字、小文字を区別している)を組み合わせた文字列であり、本実施形態では、例えば40桁の文字列で構成される。なお、ワンタイムコードの生成に利用される乱数などの認証情報は、安全のため暗号化した上で保存され、本アプリケーションを削除した場合には、これらのデータも削除されるようになっている。なお、メモリ15には、前回までの認証に用いられた第1及び第2のワンタイムコードに関する乱数とハッシュ回数とを記憶しているものとする。
アプリケーション実行部14は、一般のOSやブラウザソフトなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。このアプリケーション実行部14において、本発明のワンタイム認証プログラムが実行されることで、ワンタイムパスワード作成部14aと、連携処理部14bと、価値情報取得部14cと、認証結果取得部14dとが仮想的に構築される。
連携処理部14bは、連携用通信経路を通じて認証サーバー2と通信処理を行うモジュールであり、連携用通信経路を通じて、会員登録処理やワンタイムパスワードの初期設定処理を実行する。会員登録処理とは、少なくとも認証サーバーに対して、ユーザー特定情報と、連携時に必要なパスワードを登録するものであり、初期設定処理とは、認証処理に用いる乱数とハッシュ回数とをユーザー端末1及び認証サーバー2の相互において設定する処理である。そして、連携処理部14bでは、初期設定処理時において、ワンタイムパスワード作成部14aで生成されたワンタイムコードによりハッシュ化されたハッシュ値を送出する。
価値情報取得部14cは、クーポンサーバー3及びポイントサーバー4から自身が所持する電子クーポン情報及びポイント情報を取得するモジュールである。このクーポンサーバー3及びポイントサーバー4との通信は、認証用通信経路は用いられず、連携用通信経路などの通常の通信経路を通じて行われる。
ワンタイムパスワード作成部14aは、認証サーバー2に対するアクセス用に発行される一度限り有効なワンタイムパスワードを生成するモジュールであり、次回認証用コード作成部144と、今回認証用コード作成部143と、認証環境確認部141と、乱数選択部142とを備えている。そして、これらの各モジュールが実行されることで、第1及び第2のワンタイムコードを生成するとともに、この第1及び第2のワンタイムコードに購買情報(電子クーポン情報及びポイント情報、決済情報等)を含めたコード情報を生成し、そのコード情報をワンタイムパスワードとして画面上に表示させるようになっている。
ここで、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれ、本実施形態では、ハッシュ関数Hを用いて作成されるハッシュ値である。具体的には、図5(a)に示すように、各世代の乱数H〜乱数Hnと、ハッシュ関数の適用回数とを用いてハッシュ値を生成する。特に本実施形態において、ワンタイムパスワード作成部14aは、1度の認証処理において、次回認証用コード作成部144と、今回認証用コード作成部143とを実行させ、異なる2つのハッシュ値を生成する。ここでは、2つのハッシュ値のうち、一方のハッシュ値を次回認証用のハッシュ値(以下、第1のワンタイムコードと称する。)として用い、他方のハッシュ値を今回認証用のハッシュ値(以下、第2のワンタイムコードと称する。)として用いる。
次回認証用コード作成部144は、次世代乱数を発生させ、この次世代乱数に対してハッシュ関数Hによる演算を所定回数だけ繰り返して次回認証用ハッシュ値である第1のワンタイムコードを生成するモジュールである。ここで「次世代乱数」とは、前回までのワンタイムコード生成に用いられていない新たな乱数であり、次回認証用コード作成部144は、常時、新しい次世代乱数を用いて第1のワンタイムコードを生成する。
一方、今回認証用コード作成部143は、次世代乱数を発生させる前に発生させた前世代乱数に対して、ハッシュ関数Hによる演算を所定回数だけ繰り返して今回認証用のハッシュ値である第2のワンタイムコードを生成するモジュールである。ここで、「次世代乱数を発生させる前に発生させた前世代乱数」とは、前回以前の認証時において第2のワンタイムコードを生成する際に用いられた乱数、又は前回の認証時において第1のワンタイムコードを生成する際に用いられた乱数のいずれかである。
また、ワンタイムパスワード作成部14aは、認証環境確認部141を有している。認証環境確認部141は、ユーザー端末1と認証サーバー2との認証環境を確認するモジュールである。ここで、認証環境とは、認証処理を行うための環境であって、例えば、ユーザー端末1と認証サーバー2との連携用通信経路による通信状態や、エラー発生時(例えば、所定の処理段階において、不具合が発生し、認証サーバー2が保持する認証情報と、ユーザー端末1が保持する認証情報が一致しない場合など)が含まれる。
ここで、連携用通信経路による通信状態とは、ユーザー端末が通信可能エリア内に位置しており、連携用通信経路を通じて両者が接続されている状態と、ユーザー端末が通信可能エリア外に位置したり、通信障害などが発生したりなど連携用通信経路を通じて接続されていない状態とが含まれる。
そして、連携用通信経路で両者が接続されている場合には、ユーザー端末1から認証サーバー2に対して、次回認証用の情報である認証結果の確認要求を行い、認証サーバー2から認証結果が返信される。ここで、確認される「認証結果」には、認証の可否の他、認証サーバー2のワンタイムコードデータベース2aに現在保存されている第2のワンタイムコードに係る乱数の世代及びハッシュ回数などを含めることができる。なお、第2のワンタイムコードを認証結果として返信するのは、第1のワンタイムコードのハッシュ値は常にMAX値であり認証されたか否かが不明であるのに対し、前回認証時に用いられる第2のワンタイムコードのハッシュ値は減少しているので、確実に認証されたか否かを確認できるからである。この際、認証環境確認部141は、認証サーバー2に対して、端末固有識別子などのユーザー特定情報を送信する。
一方、連携用通信経路で両者が接続されていない場合には、ユーザー端末からの確認要求は受信されず、認証結果は返信されない。そして、認証環境確認部141は、各認証環境の確認結果に応じて、その確認結果を乱数選択部142に送信したり、連携処理部14bに送信したりする。
そして、ワンタイムパスワード作成部14aの各モジュールでは、ユーザー端末1と認証サーバー2との認証環境に応じて、ワンタイムパスワードの生成及び認証処理の方法を変更している。具体的に、乱数選択部142は、認証時において、通信ネットワーク5の通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択するモジュールである。ここでは、連携用通信経路が通信可能であって認証結果を取得した場合には、前回作成した第1のワンタイムコードに用いられた次世代乱数を選択する。一方、連携用通信経路が不通であり、認証結果を取得できない場合には、前回作成した第2のワンタイムコードに用いられた前世代乱数を選択する。
そして、今回認証用コード作成部143は、乱数選択部142において選択された次世代乱数又は前世代乱数に対して、ハッシュ関数Hによる演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して、今回認証用に用いるワンタイムスタンプとして、第2のワンタイムコードを生成する。
そして、ワンタイムパスワード作成部14aは、この第2のワンタイムコード及び第1のワンタイムコードに、購買情報、決済情報、及びユーザー情報を含めたコード情報を生成し、コード化されたコード情報をワンタイムパスワードとして表示部13a上に表示する。このように、ワンタイムパスワード作成部14aでは、認証環境に応じて生成するワンタイムコードを変更させ、認証サーバー2では、変更されたワンタイムコードに基づいて、ワンタイムパスワードを生成して認証処理を行うようになっている。なお、このワンタイムスタンプの生成及びこのワンタイムパスワードを用いた具体的な認証処理については後述する。認証結果取得部14dは、通信ネットワーク5の通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得するモジュールである。
(2)POSサーバー及び店舗側端末
次いで、POSサーバー及び店舗側端末の内部構成について説明する。図3は、POSサーバー及び店舗側端末の内部構成を示すブロック図である。店舗側端末7aは、読取手段76と、制御部74と、メモリ75と、通信インターフェース71と、入力インターフェース72と、出力インターフェース73とを備えている。読取手段76は、ユーザー端末1で表示したコード情報を読み取るためのリーダ装置であり、ユーザー端末1の液晶画面に表示されたQRコード(登録商標)を読取可能となっている。
制御部74は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、各部の動作制御、ユーザー操作に対する種々の処理を行っている。この制御部74は利用するクーポン情報及びポイント情報を表示部73aに表示したり、読取手段76で読み取ったコード情報をPOSサーバー7に送信する。また、店舗側端末7aがレジスター端末である場合、制御部74は、現金決済処理機能を備えている。
通信インターフェース71は、データをパケットとして送受信するモジュールであり、入力インターフェース72は、テンキーや会計実行キーなどユーザー操作を入力するデバイスである。また、出力インターフェース73は、ディスプレイやスピーカーなど映像や音響を出力するデバイスである。特に、この出力インターフェース73には、液晶ディスプレイなどの表示部73aが含まれ、読取手段76で読み取ったコード情報に基づいた、ポイント情報やクーポン情報を表示させている。メモリ75は、OS(Operating System)や会計処理プログラム、その他のデータ等などを記憶する記憶装置である。
一方、POSサーバー7には、通信インターフェース70aと、制御部70bと、POS情報データベース70cとを備えている。通信インターフェース70aは、データをパケットとして送受信するモジュールである。本実施形態では、この通信インターフェース70aを介して、店舗側端末7aからコード情報を取得するとともに、取得したコード情報を認証サーバー2に送信する。また、認証サーバー2から認証結果を受信し、店舗側端末7aに送信する。
制御部70bは、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、実店舗から送信される実店舗に関する情報を集計して、売上や商品管理など一般的な商品売上処理を実行する。また、制御部70bは、ユーザー端末1から読み取ったワンタイムパスワードを、認証用経路を通じて認証サーバー2に送信する。なお、ここでは、店舗側端末7aが取得したワンタイムパスワードを、POSサーバー7を経由させて認証サーバー2に送信したが、例えば、店舗側端末7aから直接認証サーバー2に送信してもよい。また、制御部70bは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得する機能も有し、POS情報データベース70cに蓄積するとともに、ワンタイムパスワードとともに認証サーバー2に送信する。ここで、「消費行動に関する情報」とは、いわゆるPOSデータが含まれ、購入した商品名、商品コード、購入日時、店舗名、数量などであり、電子クーポンやポイントの使用情報も含まれる。
POS情報データベース70cは、POSシステムに用いられる各種のデータを蓄積するデータベース群であり、例えば、実店舗を識別する実店舗IDに、実店舗の位置や売上及び在庫商品などの実店舗に関する情報を関連付けて蓄積したり、各商品を識別する商品コードにその商品の販売価格を関連付けて記憶する。また、電子クーポンの情報に基づいたサービス内容などについても記憶している。さらに、このデータベース70cには、顧客を識別するアカウントIDに、顧客の購入履歴情報(購入した商品、実店舗情報、購入金額、購入日時等)、ポイント情報、顧客の個人情報(氏名、住所、電話番号、メールアドレス、性別、年齢など)を蓄積することもできる。
(3)認証サーバー2の内部構成
認証サーバー2には、図4に示すように、ワンタイムコードデータベース2aと、購買履歴情報蓄積部2bとが接続されている。ワンタイムコードデータベース2aは、認証処理に関する情報を蓄積するデータベースであり、本実施形態では、ユーザー特定情報に、パスワード、本ワンタイム認証プログラムを含むアプリケーションのID、認証処理に関する情報、クーポンサーバー3及びポイントサーバー4でユーザーを識別するアカウントID、決済処理に用いられるトランザクションIDなどが関連付けて蓄積されている。
なお、認証サーバー2に蓄積されるユーザー特定情報としては、シリアルナンバーやMACアドレスその他のユーザー端末の製造時に付与された1つのユーザー端末に固有且つ単一のデバイスIDのほか、ユーザー毎に付与されるユーザー固有のユーザーIDや、アプリケーションに固有のAPPID、サービスに対するアクセス権限に固有のアクセスID、又はこれらを組み合わせて定められるユニークな値など、1つの端末に複数付与される識別子が含まれる。
ここで、認証処理に関する情報とは、サーバー側一方向性関数であるハッシュ関数H、ハッシュ関数Hが適用された各世代の乱数H(nは第1世代〜第n世代)と、ハッシュ関数の適用回数、ハッシュ関数Hが含まれる。なお、認証処理に関する情報には、トークン情報及びトークン情報の有効期限が蓄積される。これらの情報は、ユーザー特定情報に関連付けられて蓄積されている。また、前回使用された第2のワンタイムコードに、購買情報が関連付けられて蓄積されている。ここで、購買情報には、ポイント情報、電子クーポン情報、決済情報など、認証処理に関係するユーザーの消費行動に関する情報である。なお、この情報は、認証用コード保存部26でデータベース内に保存された、ユーザー特定情報とは関連付けされることなく保存される。これにより、認証用のワンタイムコードとユーザー特定情報とを紐付けるデータはないので、購買情報とユーザーとを紐付けることできず、個人情報を保護することができる。
また、ワンタイムコードデータベース2aには、決済処理に関するトランザクション情報が含まれており、このトランザクション情報には、トランザクションを識別するトランザクションIDに、使用されたワンタイムパスワード、支払い総額、使用日時、アカウントIDが関連付けて記憶されている。さらに、ワンタイムコードデータベース2aには、使用履歴情報が含まれており、使用履歴情報には、店舗で支払時に生成されたレシートを識別するレシートIDに、アカウントID、支払い金額、レシート内容、受領日時、利用ポイント、利用クーポンが蓄積されている。このようなワンタイムコードデータベース2aに蓄積される情報は、必要に応じて外部からの問い合せに対応可能であるものとする。
購買履歴情報蓄積部2bは、購買情報を、第1又は第2の認証用ワンタイムコード及び認証処理の結果と関連付けてデータベースであり、認証管理部20において、コード情報に含まれる購買情報が取得され、この購買情報を、第1又は第2の認証用ワンタイムコード及び認証処理の結果と関連付けて蓄積している。
一方、認証サーバー2には、認証管理部20と連携部20aとを備えている。認証管理部20は、認証処理全体を管理するモジュール群であり、ユーザー端末1から、認証用通信経路(読取手段76)を介して、第1のワンタイムコード及び第2のワンタイムコード等を含むワンタイムパスワード取得して認証処理を実行したり、連携用通信経路を通じて初期設定処理及び連携処理等を行う。具体的に、認証管理部20には、連携処理部21と、初期化処理部22と、認証用コード選択部23と、低減回数補完部24と、認証部25と、認証用コード保存部26とを備えている。
連携処理部21は、連携用通信経路を通じてユーザー端末1からのログイン等の連携開始処理を受け付けるモジュールであり、本実施形態では、会員登録処理又は初期設定処理時においてユーザー特定情報及びパスワードの入力を受け付けてログインの認証を行う。なお、連携処理部21は、最初にユーザー端末1からアクセスがあった場合には、会員登録処理を行い、ユーザー特定情報及びパスワードを取得する。取得したユーザー特定情報及びパスワードは、ハッシュ関数Hとともにワンタイムコードデータベース2aに蓄積される。
初期化処理部22は、連携用通信経路を通じて、認証処理に用いる乱数及びハッシュ回数を初期化するモジュールである。ユーザー端末1から初期化の操作が行われると、使用される各世代の乱数H(nは第1世代〜第n世代)と、所定ハッシュ回数とを新たに決定する。この際、初期化処理部22では、ユーザー端末1の次回認証用コード作成部144で初回に生成された第1のワンタイムコードをユーザー特定情報とともに取得して、ワンタイムコードデータベース2aに蓄積する。
認証用コード保存部26は、ユーザー端末1から送信されたワンタイムコードをワンタイムコードデータベース2a内に保存するモジュールであり、認証用通信経路及び連携用通信経路を通じて取得したデータを保存する。ここで、連携用通信経路を通じて、ユーザー端末1上において初回に生成された第1のワンタイムコードを取得すると、認証用コード保存部26は、この第1のワンタイムコードを用いて、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコードを生成し、認証用第1のワンタイムコードと、ユーザー特定情報と関連付けて保存する。
また、認証用通信経路を通じて、第1のワンタイムコード及び第2のワンタイムコードを取得すると、認証用コード保存部26は、第1のワンタイムコードを用いて、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、ハッシュ関数Hを用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザー特定情報と関連付けてワンタイムコードデータベース2a内に保存する。
認証用コード選択部23は、ユーザー端末1から認証用通信経路を通じて取得したワンタイムパスワードの認証を行う際、通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部26から取得するモジュールである。ここで、認証用コード選択部23は、ワンタイムパスワードが送信される前に、認証結果の確認が連携用認証経路を通じてユーザー端末1から送信されているか否かに応じて通信状態を判別しており、認証結果の確認を取得している場合には、連携用通信経路での通信が可能と判断し、認証結果の確認を取得していない場合には、連携用通信経路での通信が不通であると判断する。
そして、認証用コード選択部23では、連携用通信経路での通信が可能である場合には、認証用第1のワンタイムコードを選択し、連携用通信経路での通信が不通である場合には、認証サーバー2と同期が確認できている最終世代のワンタイムコード、すなわち、認証用第2のワンタイムコードを選択する。
低減回数補完部24は、認証管理部20が取得したワンタイムパスワードのうち第2のワンタイムコードに対して、低減回数分のハッシュ関数Hによる演算を実行するモジュールである。ここでの低減回数分とはハッシュ回数1回分である。
認証部25は、認証用コード選択部23が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部24で演算を実行した第2のワンタイムコードとに基づいて、認証処理を行うモジュールである。なお、認証管理部20は、ユーザー端末1に対して認証結果を送信する機能を有している。また、認証管理部20は、コード情報に含まれる購買情報を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部2bに蓄積する。購買履歴情報蓄積部2bは、購買情報を、第1又は第2の認証用ワンタイムコード及び認証処理の結果と関連付けてデータベースである。
連携部20aは、通信ネットワーク5を通じてクーポンサーバー3、ポイントサーバー4、及び決済サーバー6と連携を取り、決済完了するまでの各処理を実行するモジュールである。具体的に、クーポンサーバー3及びポイントサーバー4は、認証用コード保存部26に保存された情報を、必要に応じて問い合せることが可能であり、連携部20aは、クーポンサーバー3及びポイントサーバー4と連携を取り、クーポン及びポイントの利用可否を判断したり、認証処理後にクーポン及びポイントの消し込み処理を実行させたりする。また、連携部20aは、認証処理の後、決済サーバー6に対して、支払い金額などの各種決済情報を送信する。決済サーバー6は、認証用コード保存部26に保存された情報を、必要に応じて問い合わせることが可能であり、決済サーバー6は、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行する。
(4)クーポンサーバー3の内部構成
このクーポンサーバー3には、クーポンデータベース3aが接続されている。クーポンデータベース3aには、電子クーポン情報を蓄積するデータベースであり、本実施形態では、クーポン識別情報に、電子クーポンの内容、電子クーポンの条件、割引率、割引額、有効期限、及び商品コードなどが関連付けて記憶されているとともに、ユーザーを識別するユーザー特定情報とは異なるアカウント情報と利用日時情報が紐付けられる。
一方、クーポンサーバー3には、クーポン取得部31と、利用可否確認部32と、利用状況更新部33と、クーポン追加部34とを備えている。クーポン取得部31は、ユーザー端末1から電子クーポン情報の取得操作があった場合に、クーポンデータベース3a内から当該ユーザーが所持している電子クーポン情報をユーザー端末1に送信するモジュールであり、クーポンデータベース3a内の当該クーポン識別情報にアカウント情報を付加する。
利用可否確認部32は、認証サーバー2から送信された電子クーポン情報に応じて、クーポンデータベース3a内の電子クーポン情報を参照し、当該電子クーポン情報が利用可能か否かを判別するモジュールである。この判別処理とは、例えば、利用する電子クーポンがデータベース内に蓄積されているか否かや、電子クーポン情報の利用期限を超過していないか否かなどである。
利用状況更新部33は、利用された電子クーポン情報に基づいて、クーポンデータベース3a内の電子クーポン情報を更新するモジュールである。具体的に、利用状況更新部33は、使用済みの電子クーポン情報を識別するクーポン識別情報に基づいて、データベース3a内の電子クーポン情報を消し込む処理を行う。クーポン追加部34は、クーポンサーバーの管理者の操作に応じて電子クーポン情報をクーポンデータベース3a内に追加するモジュールであり、例えば、商品又はサービスを識別する識別情報に、割引率、有効期限等を設定する。
(5)ポイントサーバー4の内部構成
このポイントサーバー4には、ポイントデータベース4aが接続されている。ポイントデータベース4aは、ポイント情報を蓄積するデータベースであり、本実施形態では、ユーザーを識別するアカウント情報に、利用可能なポイント数、各ポイントの利用期限情報、更新日時等が関連付けて記憶されている。
一方、ポイントサーバー4には、ポイント取得部41と、利用可否確認部42と、利用状況更新部43と、ポイント追加部44とを備えている。ポイント取得部41は、ユーザー端末1からポイント情報の取得操作があった場合に、ポイントデータベース4a内から当該ユーザーが所持しているポイント数をポイント情報としてユーザー端末1に送信するモジュールである。
利用可否確認部42は、認証サーバー2から送信されたポイント情報に応じて、ポイントデータベース4a内のポイント情報を参照し、当該ポイント情報が利用可能か否かを判別するモジュールである。この判別処理とは、例えば、利用するポイント数がデータベース内に蓄積されているポイント数より少ないか否かや、ポイント数の利用期限を超過していないか否かなどである。
利用状況更新部43は、利用されたポイント情報に基づいて、ポイントデータベース4a内のポイント情報を更新するモジュールである。具体的に利用状況更新部43は、認証サーバー2から利用されたポイント情報を取得すると、データベース4aに記録されているポイント数から、利用されたポイント数を減算する。
ポイント追加部44は、ポイント管理者の操作に応じてポイントデータベース4a内のポイント情報を追加するモジュールである。ポイント情報を追加する場合とは、例えば、商品購入時の支払い金額に対して所定の割合を乗じた数値をポイントとして還元してもよく、また、単にポイント購入として支払われた金額に応じてポイントを追加してもよい。このポイント情報は、アカウント情報と関連付けて記憶される。
(ワンタイムパスワードを用いた認証処理のアルゴリズム)
次いで、ワンタイムパスワード認証のアルゴリズムの概要について詳述する。図6は、本実施形態に係る認証処理のアルゴリズムを説明するシーケンス図である。なお、ここでは、認証環境に応じた選択処理は行われないものとする。
次回認証用コード作成部144は、先ず、認証実行の前提として、認証サーバー2に記憶させる初回の第1のワンタイムコードを作成する。具体的に、図5(a)に示すように、最初の乱数Hを発生させ(S101)、この乱数Hをユーザー端末1のハッシュ関数Hでハッシュ化して、以下のようにハッシュ値Eを算出する(S102)。
次いで、次回認証用コード作成部144は、下記のように、算出したハッシュ値Eに対し、ハッシュ関数Hによる演算を所定回数(M)だけ繰り返して第1のワンタイムコード(ハッシュ値E )を算出する(S103)。

その後、ワンタイムパスワード作成部14aは、M回ハッシュ化した第1のワンタイムコードとユーザー特定情報とを認証サーバー2に送信する(S104)。
認証サーバー2の初期化処理部22では、第1のワンタイムコード(ハッシュ値EM0)を取得すると(S105)、以下のように、ハッシュ値E に対してハッシュ関数Hを用いた演算により、認証用第1のワンタイムコード(ハッシュ値E’ )を算出する(S106)。

その後、初期化処理部22では、認証用第1のワンタイムコードをユーザー特定情報と関連付けてワンタイムコードデータベース2aに保存する(S107)。
次いで、ユーザー端末1側では、電子クーポン又はポイントを決済する場合、ワンタイムパスワードを生成する。この際、ワンタイムパスワード作成部14aは、次回認証用のワンタイムコードを生成する。次回認証用コード作成部144では、図5(a)に示すように、最初の乱数Hとは異なる新しい世代の乱数Hを抽出し、次世代の乱数Hをユーザー端末1のハッシュ関数Hでハッシュ化して以下のようにハッシュ値Eを算出する。
次いで、次回認証用コード作成部144は、算出したハッシュ値Eに対しハッシュ関数Hによる演算を所定回数(M回)だけ繰り返して、以下のように次回認証用の第1のワンタイムコード(ハッシュ値E )を算出する。
次いで、今回認証用コード作成部143は、今回認証用のワンタイムスタンプとして、第2のワンタイムコードを生成する。ここでは、前回の通信時に、第1のワンタイムコード生成に用いた乱数に対し、所定回数よりも低減回数分(マイナス1回分)だけ少ない回数を繰り返したハッシュ値を生成する。ここでは、ハッシュ値E0をM−1回ハッシュ化し、第2のワンタイムコード(ハッシュ値E M−1)を算出する(S109)。
このように生成された第2のワンタイムコード(ハッシュ値E M−1)と第1のワンタイムコード(ハッシュ値E )とがワンタイムパスワードとなる。そして、ワンタイムパスワード作成部14aでは、ワンタイムパスワードに、ユーザー特定情報及び購買情報(クーポン情報及びポイント情報、及び決済情報)を含めたコード情報を生成し、店舗側端末7aの読取手段を用いて、コード情報を読み取らせ、ワンタイムパスワードを認証サーバー2に送信する(S110)。
ここで、第2のワンタイムコード(ハッシュ値E M−1)はサーバーに一度も送っていないデータなので正しいユーザー端末以外は知り得ないデータである。また、ハッシュ関数の性質から、第2のワンタイムコード(ハッシュ値E M−1)は、ステップS104で送信した初回の第1のワンタイムコード(ハッシュ値E )からも、ワンタイムコードデータベース2aに蓄積されている認証用第1のワンタイムコード(ハッシュ値E’ )からも求めることはできない。さらに、今回生成された第1のワンタイムコード(ハッシュ値E )は、新しい乱数Hから生成されたものであるため、これも予測することができない。
認証サーバー2の認証管理部20では、これら第2のワンタイムコード(ハッシュ値E M−1)と第1のワンタイムコード(ハッシュ値E )との情報を取得すると(S111)、以下のように、第2のワンタイムコード(ハッシュ値E M−1)に対して低減回数分のハッシュ関数Hによる演算を行いハッシュ値E’ M−1を生成し、さらに、サーバー側のハッシュ関数Hによる演算によりハッシュ値E’0 を算出する(S112)。
なお、ハッシュ値E’ M−1を生成できるのは、ハッシュ関数Hを知っている認証サーバー2だけである。そして、認証部25は、算出されたハッシュ値と、ワンタイムコードデータベース2aに保存されている認証用第1のワンタイムコード(ハッシュ値E’ )とを比較して認証処理を行う(S113)。ハッシュ値が異なる場合(S114における“N”)は、認証が失敗した旨の認証結果をPOSサーバーに送信する(S119)。一方、ハッシュ値がどちらも同一のハッシュ値である場合にはユーザーの認証は成功される(S114における“Y”)。ここでは、どちらのワンタイムコードもハッシュ値E’ となるため、認証は成功する。
認証が成功すると認証部25は、第1のワンタイムコード(ハッシュ値E )に対して、ハッシュ関数Hを用いた演算を行い、次回の認証用第1のワンタイムコード(ハッシュ値E’ )を以下のように算出する(S115)。
そして、算出した認証用第1のワンタイムコード(ハッシュ値E’ )はユーザー特定情報に関連付けて上書き保存をする(S116)。なお、今回認証用として用いた第2のワンタイムコード(ハッシュ値E M−1)も、ハッシュ関数Hを用いた演算を行い、次回の認証用第2のワンタイムコード(ハッシュ値E’ M−1)を算出し、ユーザー特定情報に関連付けてワンタイムコードデータベース2aに保存する(S117)。その理由は後述する。また、認証部25は、購買情報を、今回認証用に用いた認証用第1のワンタイムコード(ハッシュ値E’ )と関連付けて保存する(S118)。これにより、ワンタイムコードデータベース2aには、認証用第1のワンタイムコード(ハッシュ値E’ )とユーザー特定情報とを紐付けるデータはないため、ユーザーを特定することはできなくなる。
また、ステップS115で算出した新たな認証用第1のワンタイムコード(ハッシュ値E’ )と、保存された認証用第1のワンタイムコード(ハッシュ値E’ )とは、異なる乱数を用いているため何ら関係性はない。さらに、ワンタイムコードデータベース2aには、第2のワンタイムコード(ハッシュ値E M−1)を記憶しているが、ハッシュ関数の性質により、認証用第1のワンタイムコード(ハッシュ値E’ )と第2のワンタイムコード(ハッシュ値E M−1)とは、どちらもいずれかのハッシュ値から他方を求めることは困難である。その後、認証管理部20は、ユーザー端末1又は店舗側端末7aに認証結果を送信し(S119)、POSサーバーの画面上には認証結果が表示される(S120)。
(ワンタイムパスワードを用いた認証機能の各処理について)
次いで、上述したワンタイムパスワードのアルゴリズムを本システム上で動作させた場合の各処理について説明する。
(1)ワンタイムパスワードの初期化処理
初めに、ワンタイムパスワードの初期化処理について説明する。図7は、本実施形態に係る認証機能の初期化処理を示すシーケンス図である。初期化処理とは、ユーザー端末1及び認証サーバー2において、使用する乱数及びハッシュ回数を設定するものであり、この処理は、ワンタイム認証プログラムを最初に実行した場合や、ユーザー操作によって実行される。
具体的に、ワンタイムパスワード作成部14aにおいて、ワンタイム認証プログラムが実行されると、ユーザー端末1の画面上において、ユーザーIDやパスワードを入力させる入力欄が表示される。なお、この入力欄における入力としては、ユーザーIDの他、端末IDやAPPIDなどのユーザー特定情報が含まれ、これらのIDは、ユーザーが手操作で入力する他、端末側から自動的に入力或いは送信される場合が含まれる。そして、ユーザー操作又は自動入力によって、ユーザー特定情報及びパスワードが入力されると、これらのデータが認証サーバー2に送信される(S201)。ここで認証サーバー2側では、会員登録処理は実行されており、ワンタイムコードデータベース2a内には予めユーザー特定情報(ユーザーIDやデバイス情報等)とパスワードが登録されているものとする。
そして、認証サーバー2の連携処理部21では、ワンタイムコードデータベース2aに記録されているユーザー特定情報(ユーザーIDやデバイス情報等)及びパスワードに基づいてパスワード認証を行う(S202)。その後、認証サーバー2では、パスワード認証が成功した場合には、ユニークなデータであるトークンを発行して、ユーザー端末1に送信する(S203)。
ユーザー端末1のワンタイムパスワード作成部14aでは、取得したトークンに基づいて認証サーバー2にアクセスし、認証サーバー2では、ワンタイムパスワードの初期化が行われる(S204)。ここでは、使用される各世代の乱数H(nは第1世代〜第n世代)と、所定ハッシュ回数とを新たに決定する。その後、認証サーバー2は、認証結果をユーザー端末1に送信する(S205)。
なお、ワンタイム認証プログラムを最初に実行した場合には、ワンタイム認証プログラムは、新規登録処理を行うために、認証サーバー2にアクセスする。そして、ユーザー端末1の画面上において、ユーザー特定情報(デバイス情報)及びパスワードの設定が行われ、これらのデータが認証サーバー2のワンタイムコードデータベース2aに登録される。この際、ユーザーの個人情報(氏名、年齢、性別等)の他、決済情報(クレジットカード番号等)なども登録される。
(2)認証環境に応じた認証処理について
次いで、認証環境に応じたユーザー端末1と認証サーバー2の認証処理について説明する。図8は、本実施形態に係る通信可能時における処理を示すシーケンス図である。また、図9は、本実施形態に係る通信不通時における処理を示すシーケンス図であり、図10は、本実施形態に係るエラー発生時における処理を示すシーケンス図である。
なお、ここでは、どのようなハッシュ値が生成されるかを図5(b)及び(c)を用いて説明するものとし、以下の説明において、前回の認証処理では、今回認証のタイムスタンプとしての第2のワンタイムコード(ハッシュ値E M−1)が送信され、次回認証用として第1のワンタイムコード(ハッシュ値E )が送信されたものとする。そして、認証用コード保存部26では、第1のワンタイムコード及び第2のワンタイムコードに対し、ハッシュ関数Hを用いた演算を行い、認証用第1のワンタイムコード(ハッシュ値E’ )、認証用第2のワンタイムコード(ハッシュ値E’ M−1)を生成し、これら第1及び第2の認証用ワンタイムコード(ハッシュ値E’ M−1)と、ユーザー特定情報とが関連付けて保存されているものとする。そして、ここでは、第2のワンタイムコード(ハッシュ値E M−1)を第2のワンタイムコードαと称し、第1のワンタイムコード(ハッシュ値E )を第1のワンタイムコードβと称する。また、今回の認証処理において生成され、ワンタイムコードとなる第2のワンタイムコードをα1と称し、第1のワンタイムコードをβ1と称するものとする。
(A)通信可能状態にある場合の処理
先ず、ユーザー端末1と認証サーバー2とが通信可能である場合の処理について説明する。図8に示すように、ユーザー端末1は、認証結果の確認を行うため、連携用通信経路を通じて、認証サーバーにアクセスする。ここでは、通信可能であり、ユーザー特定情報(端末固有識別子)を認証サーバー2に送信する(S301)。認証サーバー2の認証管理部20では、認証結果の情報を送信する(S302)。この際、認証管理部20は、前回使用されたワンタイムパスワード(各ハッシュ値)は送信しないようにする。ユーザー端末1の認証環境確認部141では、認証結果の情報を取得すると、通信環境があると判断し、その結果を乱数選択部142及び今回認証用コード作成部143に送信する。これにより、ワンタイムパスワード作成部14aでは、認証結果の情報が得られ、通信環境がある場合に応じた第2のワンタイムコードα1及び次回認証用ハッシュ値β1が作成される(S303)。
具体的に、乱数選択部142では、通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数のいずれか選択する。ここでは、通信可能であるため、乱数選択部142は、前回送信された、第1のワンタイムコードに用いられた乱数(ここでは、乱数H)を選択する。そして、今回認証用コード作成部143では、この乱数Hに対し、ハッシュ関数Hによる演算を、選択された乱数に対する所定回数(M回)よりも低減回数分(1回分)だけ少ない回数を繰り返して第2のワンタイムコードα1を生成する。ここでは、図5(b)に示すように、前回送信した第1のワンタイムコードβよりハッシュ回数を1つ減らしたハッシュ値E M−1を第2のワンタイムコードα1として生成する。
次に、次回認証用コード作成部144は、第1のワンタイムコードβ1を生成する。次回認証用コード作成部144は、第2のワンタイムコードα1に用いる乱数とは異なる次世代の乱数(ここでは、乱数H)を発生させ、この次世代乱数に対して、上記の式4及び式5のように、ハッシュ関数Hによる演算を所定回数(M回)だけ繰り返してハッシュ値E を生成する。そして、ワンタイムパスワード作成部14aは、これら第2のワンタイムコードα1と第1のワンタイムコードβ1とをワンタイムパスワードとして生成する。
そして、生成された第2のワンタイムコードα1と第1のワンタイムコードβ1とに、購買情報(ポイント情報及びクーポン情報等)及びユーザー特定情報を含めてワンタイムパスワードとし、そのワンタイムパスワードのコード情報を作成して画面上に表示させ、店舗側端末7aの読取手段76にコード情報を読み取らせる。店舗側端末7aでは、読取手段によってコード情報の読み取り操作を行い(S304)、コード情報を取得する(S305)。店舗側端末7aでは、このコード情報に基づいて、画面上にポイント情報、及び電子クーポン情報を表示させる。その後、店舗側端末7aでは、通信ネットワーク5を通じて、認証サーバー2にコード情報を送信する。
認証サーバー2の認証管理部20では、コード情報に含まれたワンタイムパスワード(第2のワンタイムコードα1及び第1のワンタイムコードβ1)を受信し(S306)、認証部25では、これらのワンタイムパスワードに基づいて認証処理を行う。この認証処理は、上述したステップS112〜ステップS113と同様である。具体的には、低減回数補完部24は、上記式6のように、取得した第2のワンタイムコードα1(ハッシュ値E M−1)を低減回数分のハッシュ関数Hによる演算を実行するとともに、サーバー側のハッシュ間数でハッシュ化してハッシュ値E’ 1を算出する。一方、認証用コード選択部23では、通信状態に応じて、認証用の第1のワンタイムコードβ又は認証用の第2のワンタイムコードαのいずれかを選択して認証用コード保存部26から取得する。ここでは、通信環境があるので、認証用第1のワンタイムコードβを選択する。
そして、認証部25は、算出された第2のワンタイムコードα1(ハッシュ値E’ )と、ワンタイムコードデータベース2aに保存されている認証用第1のワンタイムコードβとを比較して認証処理を行う。ここで、保存されている認証用第1のワンタイムコードβは、図5(b)に示すように、前回認証時に保存したハッシュ値E を、上記式3のようにサーバー側のハッシュ関数Hでハッシュ化したものでハッシュ値E’ となっている。このように、今回認証用のハッシュ値と保存されたハッシュ値とは、互いにハッシュ値E’ となっていることから、ワンタイムパスワードは一致して認証は成功する。
その後、認証が成功した場合には、上記ステップS115〜ステップS118までの処理を行う。ここでは、今回取得した第1のワンタイムコードβ1を、上記式7のようにサーバー側のハッシュ関数Hでハッシュ化して、認証用第1のワンタイムコードβ1(ハッシュ値E’ )としてユーザー特定情報(ユーザーID等)と関連付けて記憶しておくとともに、第2のワンタイムコードα1についても、上記式7のようにサーバー側のハッシュ関数Hでハッシュ化し、認証用第2のワンタイムコードα1(ハッシュ値E’ M−1)として保存しておく。また、購買情報は、今回認証に用いたハッシュ値E’ と関連付けて記憶される。その後、認証管理部は、認証結果を店舗側端末7aに送信して(S307)、店舗側端末7aの表示部73aではその認証結果を表示させる。
(B)通信不通状態にある場合
次いで、ユーザー端末1と認証サーバー2との通信ができない場合の処理について説明する。図9に示すように、ユーザー端末1は、認証結果の確認として、ユーザー特定情報を送信する(S401)。ここでは、ユーザー端末1が通信エリア外に滞在したり、通信障害が起きているため、認証結果の確認は認証サーバー2に届かず、認証結果を得ることができない。この際、認証環境確認部141では、通信サービス不可などの返信結果を取得すると(S402)、この情報を乱数選択部142及び今回認証用コード作成部143に送信する。これにより、認証結果の情報が得られない場合に応じた第2のワンタイムコードα1及び第1のワンタイムコードβ1が作成される(S403)。
具体的に、乱数選択部142では、通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数のいずれか選択する。ここでは、通信不通であるため、サーバー同期が確認できている最終世代の乱数、すなわち、前回送信された第2のワンタイムコードに用いられた乱数(ここでは、乱数H)を選択する。そして、今回認証用コード作成部143では、この乱数Hに対し、ハッシュ関数Hによる演算を、選択された乱数に対する所定回数(M回)よりも低減回数分(1回分)だけ少ない回数を繰り返して第2のワンタイムコードα1を生成する。ここでは、図5(c)に示すように、前回送信された第2のワンタイムコードαは、乱数Hを用いたハッシュ値E M−1であるから、今回の第2のワンタイムコードα1は、乱数Hを用いたハッシュ値E をM−2回ハッシュ化したハッシュ値E M−2となる。
また、次回認証用コード作成部144は、第1のワンタイムコードβ1を、前回までに使用された乱数よりも次世代の乱数を用いて生成する。ここでは、図5(c)に示すように,前回送信された第1のワンタイムコードβに用いられた乱数Hの次世代である乱数Hを用い、その乱数Hに対しハッシュ関数Hを用いた演算を行いハッシュ値Eを算出し、その算出されたハッシュ値Eを所定回数(M回)ハッシュ化して、次第1のワンタイムコードβ1(ハッシュ値E )を生成する。
そして、生成された第2のワンタイムコードα1(ハッシュ値E M−2)と第1のワンタイムコードβ1(ハッシュ値E )とに、購買情報及びユーザー特定情報を含めたコード情報を作成して画面上に表示させ、店舗側端末7aの読取手段にコード情報を読み取らせる。店舗側端末7aでは、読取手段によってコード情報の読み取り操作を行い(S404)、コード情報を取得する(S405)。
店舗側端末7aでは、このコード情報に基づいて、ポイント情報、及び電子クーポン情報を表示させる。その後、店舗側端末7aでは、通信ネットワーク5を通じて、認証サーバー2にコード情報を送信する。認証サーバー2の認証部25では、コード情報に含まれたワンタイムパスワード(第2のワンタイムコードα1と第1のワンタイムコードβ1)を受信し(S406)、認証部25では、これらのワンタイムパスワードに基づいて、認証処理を行う。
ここで、ワンタイムコードデータベース2aには、前回の認証処理時に取得した第1のワンタイムコードβ(ハッシュ値E )に対して、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコード(ハッシュ値E’ )が蓄積されるとともに、前回認証用に用いられた第2のワンタイムコードα(ハッシュ値E M−1)に対して、ハッシュ関数Hを用いた演算により認証用第2のワンタイムコード(ハッシュ値E’ M−1)が蓄積されている。そして、認証用コード選択部23では、通信状態に応じて、認証用の第1のワンタイムコードβ又は認証用の第2のワンタイムコードαのいずれかを選択して認証用コード保存部26から取得する。ここでは、ユーザー端末1から認証確認の要求が送られていない状態でコード情報を取得したので、通信不通時の処理を行うと判別し、前回認証用に用いられた認証用第2のワンタイムコード(ハッシュ値E’ M−1)を認証用として選択する。
また、低減回数補完部24は、取得した第2のワンタイムコードα1(ハッシュ値E M−2)をクライアントのハッシュ関数Hでハッシュした後、サーバー側のハッシュ関数Hでハッシュ化してハッシュ値E’ M−1を算出する。そして、認証部25は、算出された第2のワンタイムコードα1(ハッシュ値E’ M−1)と、ワンタイムコードデータベース2aに保存され、認証用第2のワンタイムコード(ハッシュ値E’ M−1)とを比較して認証処理を行う。このように、互いのハッシュ値は、ハッシュ値E’ M−1となっていることから、ワンタイムパスワードは一致して認証は成功する。
その後、認証が成功した場合には、ステップS115〜ステップS118までの処理を行う。ここでは、今回取得した第1のワンタイムコードβ1(ハッシュ値E )も、同様に、サーバー側のハッシュ関数Hを用いた演算を行い、ハッシュ化した認証用第1のワンタイムパスワード(ハッシュ値E’ )をユーザー特定情報と関連付けて記憶しておく。また、第2のワンタイムコードα1(ハッシュ値E M−2)もハッシュ関数Hを用いた演算を行い、認証用第2のワンタイムパスワード(ハッシュ値E’ M−2)をユーザー特定情報と関連付けて記憶しておく。その後、認証管理部20は、認証結果を店舗側端末7aに送信して(S407)、店舗側端末7aの表示部73aではその認証結果を表示させる。
(C)エラー発生時の処理
さらに、本実施形態では、所定の処理段階においてエラーが発生し、認証サーバー2から返却された認証結果の情報がユーザー端末1上のものと整合しない場合においても自動で正常化処理を行う機能を有している。
先ず、ユーザー端末1は、図10に示すように、認証結果の確認として、連携用通信経路を通じて、ユーザー特定情報を送信する(S501)。認証サーバー2の連携処理部21では、ユーザー特定情報に基づいて第1のワンタイムコードに係る乱数の世代及びハッシュ回数を送信する(S502)。ここでは、所定の処理段階においてエラーが発生しているため、返却された第1のワンタイムコードに係る乱数の世代及びハッシュ回数と、ユーザー端末1に蓄積された第1のワンタイムコードに係る乱数の世代及びハッシュ回数とが整合しない。
この際、アプリケーション実行部14では、ログイン要求処理を行い(S503)、ユーザー特定情報及びパスワードを入力させ、ユーザー特定情報及びパスワードをログイン情報として認証サーバー2に送信する(S504)。認証サーバー2の連携処理部21では、このログイン情報を取得すると、ユーザー特定情報及びパスワードに基づいて、ユーザーを特定した後、ユニークなデータであるトークンを発行して、ユーザー端末1に送信する(S505)。その後は、上記の初期設定処理と同様、ユーザー端末1のワンタイムパスワード作成部14aでは、取得したトークンに基づいて、ワンタイムパスワードの初期化を行う。ワンタイムパスワードの初期化後は、初期化後のワンタイムパスワードに基づいて認証処理が実行される。ここでも、通信状態に応じて、上記(A)又は(B)の処理のいずれかが実行される。
(ワンタイム認証方法)
以上の構成を有するシステムを動作させることで、本発明のワンタイム認証方法を実施することができる。図11は、本実施形態に係るワンタイム認証方法を示すフローチャート図である。なお、ここでは、予めワンタイムパスワードの初期化処理は完了しているものとする。
先ず、ユーザー端末1は、図11に示すように、クーポンサーバー3にアクセスして、画面上に表示されたクーポン情報から希望する電子クーポンを取得する操作を行う(S601)。クーポンサーバー3のクーポン取得部31は、ユーザー操作に応じて電子クーポン情報をユーザー端末1に送信する(S602)。電子クーポン情報は、ユーザー端末1のメモリ15に蓄積される。また、ユーザー端末1は、ポイントサーバー4にアクセスして、自身が所有するポイント情報を取得する操作を行う(S603)。ポイントサーバー4のポイント取得部41は、ユーザー操作に応じてポイント情報を送信する(S604)。ポイント情報は、ユーザー端末1のメモリ15に蓄積される。
その後、ユーザーが店舗に出向き、電子クーポン及びポイントを用いたサービスを利用する場合、先ず、ワンタイムパスワード作成部14aでは、認証サーバー2との認証環境を確認する(S605)。そして、ワンタイムパスワード作成部14aでは、認証環境に応じたワンタイムパスワードを作成するとともに、購買情報等を含んだコード情報を生成する(S606)。この認証環境に基づくワンタイムパスワードの生成処理は、上記(A)〜(C)のいずれかが行われる。
アプリケーション実行部14において生成されたコード情報は、表示部13a上に表示される。店舗側端末7aの読取手段は、このコード情報を読み取り(S607)、画面上に電子クーポン情報及びポイント情報を表示させて、ユーザーは内容を確認する。その後、店員による操作によって、認証処理の実行がされると、コード情報は認証サーバー2に送信される(S608)。
認証サーバー2の認証管理部20では、コード情報内のワンタイムパスワードに基づいて認証処理を行う(S609)。この認証処理も各認証環境に応じて上記(A)又は(B)の認証処理が行われる。認証が成功すると、連携部20aでは、ワンタイムコードデータベース2a内のアカウント情報に基づいて、ポイントサーバー4にポイント利用可否の問い合せを送信する(S610)。ポイントサーバー4の利用可否確認部42では、アカウント情報に基づいて、ポイントデータベース4a内に記録されたユーザーのポイント数や有効期限情報を参照して、利用可否を判別し、判別結果を連携部20aに送信する(S611)。
また、連携部20aでは、アカウント情報に基づいて、クーポンサーバー3に電子クーポン利用可否の問い合せを送信する(S612)。クーポンサーバー3の利用可否確認部32では、アカウント情報に基づいて、クーポンデータベース3a内に記録されたユーザーの電子クーポン情報や有効期限情報を参照して利用可否を判別し、判別結果を連携部20aに送信する(S613)。さらに、連携部20aでは、各判別結果に応じた決済処理を行うとともに、決済サーバー6に決済処理によって算出された決済情報(ポイント及び電子クーポン利用後の購入代金情報等)を送信する(S614)。決済サーバー6では、決済情報に基づいて決済処理を行い、決済結果情報を連携部20aに送信する(S615)。
その後、連携部20aでは、決済が完了した情報を取得すると、アカウント情報に基づいて、クーポンサーバー3に対してクーポン消し込み要求(ユーザー識別情報、電子クーポンを識別するクーポン識別情報を含む。)を送信する(S616)。クーポンサーバー3の利用状況更新部33では、消し込み要求に応じて、クーポンデータベース3aの電子クーポン情報を消し込み処理し、その消込結果を連携部20aに送信する(S617)。
また、連携部20aでは、アカウント情報に基づいて、ポイントサーバー4に対してポイント更新要求(ユーザー識別情報、使用されたポイント数情報を含む。)を送信する(S618)。ポイントサーバー4の利用状況更新部43では、更新要求に応じて、ポイントデータベース4aのポイント情報を更新処理し、その更新結果を連携部20aに送信する(S619)。ユーザー端末1から、結果確認によるアクセスがあった場合(S620)、連携部20aは、消込結果及び更新結果をユーザー端末1に対して送信する(S621)。
(ワンタイム認証プログラム)
上述した第1実施形態に係るワンタイム認証システム、携帯端末、認証サーバー、及びワンタイム認証方法は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。すなわち、このプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このようなプログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、装置、サーバー、及びオブジェクト制御方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
(作用・効果)
このような本実施形態によれば、ユーザー端末1が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末1側では、ハッシュ関数Hを用いて暗号化(ハッシュ化)され、サーバー側で取得されたワンタイムコードは、ハッシュ関数Hにより暗号化(ハッシュ化)されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。
詳述すると、本発明では、認証サーバーとユーザー端末との通信状態に応じて、今回の認証時に用いられるワンタイムパスワードの元となるワンタイムコード(第1のワンタイムコード又は第2のワンタイムコード)を選択している。例えば、認証サーバーとユーザー端末とが通信可能である場合には、前回送信した第1のワンタイムコードに用いられた乱数を確認し、今回の認証時に生成するワンタイムパスワードを、前回生成した次世代乱数に基づいて生成する。すなわち、通信可能な状態下では、常に新規な次世代乱数が生成され、ハッシュ回数は初期値にリセットされる。一方、認証サーバーとユーザー端末とが通信不通である場合には、前回生成した乱数と同世代の乱数に基づいて、前回のハッシュ回数よりも低減されたハッシュ回数により、今回認証時に生成するワンタイムパスワードを生成する。
その結果、本実施形態によれば、認証サーバー2では、取得したワンタイムコードをハッシュ関数で一方向の処理を加えているので、通信内容を隠蔽することができる。このように、本実施形態によれば、通信経路及び認証サーバーに保存される認証コードを盗聴・盗難しても、実際に認証するためのコードは生成できないため、不正利用を防ぐことができる。さらに、本実施形態によれば、ユーザー端末で生成するワンタイムコードは、乱数によってランダムに生成され、ワンタイムコードそのものは、ユーザー端末にも保存しないので、ユーザー端末上のデータ、通信経路上のデータ、認証サーバー上のデータは、正規のユーザー端末が生成したワンタイムコードによってのみ紐づけられることとなり、セキュリティを高めることができる。
また、本実施形態において、認証用通信経路は、ユーザー端末1の表示部13aに表示されたワンタイムパスワードを読み取る読取手段76に接続され、認証管理部20は、読取手段76を介して、ワンタイムパスワードをユーザー端末1から取得しているので、ユーザー端末1が通信可能エリア外に位置している場合でも、ワンタイムパスワードを取得して認証することができる。
また、通信ネットワーク5上には、認証サーバー2とユーザー端末1とを接続する連携用通信経路が構築され、認証用コード保存部26は、連携用通信経路を通じて、ユーザー端末1上において初回に生成された第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、第1の認証用ワンタイムコードと、ユーザー特定情報と関連付けて保存しているので、次回以降の認証において、2つの異なる乱数を用いたワンタイム認証処理を実行することができる。
さらに、本実施形態において、認証サーバー2は、ユーザーに付与される電子クーポン又はポイントを管理するクーポンサーバー3及びポイントサーバー4と、決済サーバー6とを有し、クーポンサーバー3、ポイントサーバー4及び決済サーバー6は、認証用コード保存部26によりデータベース2aに保存された情報を共有可能である。これにより、クーポンサーバー3、ポイントサーバー4、及び決済サーバーは、認証用コード保存部26に保存された情報を共有可能であり、決済サーバー6は、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行するので、認証処理と同時に価値情報有効性の判定と、決済処理とを、複数のサーバー装置、ひいては複数のサービス事業者で協働して行うことできる。
また、本実施形態では、画面上に表示させるコード情報に、ポイント情報、クーポン情報、及び決済情報などの全ての情報が含まれている。ここで、従来のクーポンシステム又はポイントシステムでは、決済処理とは別のシステムで管理されていることから、特に店頭では、利用者はクーポンやポイントを事前に提示した上で、適用後に支払いを行うこととなり、利用時の手順が煩雑であるという問題がある。しかしながら、本実施形態によれば、画面上に表示させるコード情報に、ポイント情報、クーポン情報、及び決済情報などの全ての情報が含まれているので、1度コード情報を店舗側端末7aに読み取らせることで、クーポン又はポイントの利用可否判定から決済完了までの処理を一連で行うことができるため、ポイントやクーポンの利用時の手順を簡略化することができる。
また、本実施形態では、クーポンやポイントの支払い前に、ユーザー操作でポイントやクーポンの選択を行うようになっているので、支払い時の手順を簡略化できる。また、クーポンやポイントの利用可否は、認証サーバー2で行っているため、店舗側の担当者は、クーポンやポイントの利用が無い場合と同様の手順で決済を行うことができる。さらに、決済サーバー6は、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行する。
このように、本実施形態では、認証処理と同時に価値情報有効性の判定と、決済処理とを一度の通信接続で行うことでき、ユーザー側にとっては認証処理のための操作と、電子クーポンやポイントを利用するための操作と、決済処理とための操作を簡略化することができる。
さらに、店舗側端末7aでは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部20は、第1のワンタイムコード又は第2のワンタイムコードとともに、購買情報(クーポンやポイントの利用履歴と決済情報)を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部2bに蓄積しているので、効果の高いクーポンやポイントを用いたマーケティング施策に活用できる。なお、本実施形態では、認証サーバー2に、各システムのサーバー装置を接続させ、認証サーバー2を経由することでクーポンやポイントを提供しているので、クーポンやポイントを提供する異なる事業者であっても、シームレスに利用できる。
[第2実施形態]
次いで、本発明の第2実施形態について説明する。本実施形態では、コード情報内に時刻情報をタイムスタンプとして追加し、タイムスタンプに基づいてコード情報を一定期間のみ表示させることを要旨とする。図12は、第2実施形態に係るユーザー端末の内部構成を示すブロック図である。
第2実施形態において、ユーザー端末1には、図12に示すように、クライアント計時部16を備える。クライアント計時部16は、現在時刻を取得するモジュールであり、取得する時刻としては、ユーザー端末1のシステム時刻を取得してもよく、また、タイムサーバーなどにより提供される絶対時刻を取得してもよい。
そして、ユーザー端末1のワンタイムパスワード作成部14aは、認証サーバー2に対して、認証結果の確認を行った後、第1実施形態と同様に、今回認証用コード作成部143で第2のワンタイムコードを生成し、次回認証用コード作成部144で第1のワンタイムコードを生成するとともに、第1及び第2のワンタイムコードと、購買情報と、端末固有端子を含めたコード情報を生成する。この際、ワンタイムパスワード作成部14aは、クライアント計時部16から取得した時刻情報をタイムスタンプとして含めてコード情報を生成し、そのコード情報を画面上に表示させる。すなわち、コード情報には、ワンタイムパスワードと、購買情報(電子クーポン情報及びポイント情報、決済情報等)と、ユーザー特定情報の他、タイムスタンプが含まれる。
さらに、ワンタイムパスワード作成部14aは、タイムスタンプが含まれたコード情報を生成した後、クライアント計時部16から随時時刻情報を取得し、予め定められた所定間隔が経過したか否かを判断し、所定間隔が経過した後には、表示させたコード情報を破棄して、再度コード情報を表示する場合は、新たなコード情報を生成するようになっている。なお、この所定間隔は、様々な時間幅を設定することができるが、好ましくは約1分である。
ここで、新たなコード情報を生成する際、ワンタイムパスワード作成部14aでは、前回ワンタイムパスワード生成時に使用した第1及び第2のワンタイムコードを変更して、変更した第1及び第2のワンタイムコードに基づいてコード情報を生成する。具体的に、第2のワンタイムコードとしては、前回表示のみ行い、破棄した第2のワンタイムコードを再利用するものとし、同じハッシュ値を用いる。一方、第1のワンタイムコードは、前回生成した第1のワンタイムコードの乱数とは異なる次世代の乱数を用いて生成する。
一方、認証サーバー2の認証部25では、取得したコード情報からタイムスタンプを抽出し、タイムスタンプの時刻情報と現在時刻情報とを比較し、その差分が1分以上である場合には、そのコード情報は使用不可として以後の認証処理を実行しないようにする。このようなタイムスタンプが含まれたワンタイムパスワードを用いた認証処理の具体例を説明する。図13は、第2実施形態に係る生成されるハッシュ値の遷移を示す表である。なお、図13では、設定された当初のハッシュ回数Mは5000回であるものとする。
図13に示すように、先ず、1段階目として初期状態では、次回認証用ハッシュ値として、第1世代の乱数Hを用いて、第1のワンタイムコード(ハッシュ値E)を生成して認証サーバー2に送信する。認証サーバー2では、この第1のワンタイムコードに対し、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコードを生成する。
その後、次の処理が行われる。ここでは、認証結果の確認を行った結果認証サーバー2と通信が可能でネットワーク環境有りの状態であるものとする。そうすると、今回認証用コード作成部143は、今回認証用として、第1世代の乱数Hから生成したハッシュ値をM−1回ハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。また、次回認証用コード作成部144は、次回認証用として、第1世代の次世代である第2世代の乱数Hから第2のワンタイムコード(ハッシュ値E )を生成する。さらに、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得する。そして、ワンタイムパスワード作成部14aは、ワンタイムパスワードと、購買情報と、ユーザー特定情報と、タイムスタンプとに基づいてコード情報を生成し、表示する。
ワンタイムパスワード作成部14aは、タイムスタンプが含まれたコード情報を生成した後、クライアント計時部16から随時時刻情報を取得し、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、表示されたコード情報が店舗側端末7aに読み取られ、認証が行われたものとする。
その後、次の処理が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が可能でネットワーク環境有りの状態であるものとする。この場合、今回認証用コード作成部143は、第1実施形態と同様、今回認証用として、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して第2のワンタイムコードを生成する。ここでは、第2世代の乱数Hから生成したハッシュ値をM−1回ハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。また、次回認証用コード作成部144は、次回認証用として、第3世代の乱数Hに対して、ハッシュ関数Hによる演算を所定回数だけ繰り返して次回認証用ハッシュ値E を生成する。
そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、コード情報が表示されてから、所定間隔が経過してしまい、表示させたコード情報を破棄し、画面上からコード情報を消去したものとする。
その後、ユーザー端末1にて再度認証を行うための操作が行われると、ワンタイムパスワード作成部14aは、新たなコード情報を生成するようになっている。具体的には、再度認証結果の確認を行い、その確認結果に応じたワンタイムパスワードを生成する。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が可能でネットワーク環境有りの状態であるので、サーバー側に保存され、使用された乱数Hの世代及びハッシュ回数を問い合せて同期することで、前回までのワンタイムパスワードが読み取られたか否かを判断する。ここでは、前回のワンタイムパスワードは読み取られていないので、ワンタイムパスワード作成部14aは、前回生成したワンタイムコードのうち、今回認証用として用いる第2のワンタイムコードをそのまま利用する。具体的には、第2世代の乱数Hから生成したハッシュ値をM−1回ハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。一方、次回認証用としては、前回生成し、破棄した次回認証用ハッシュ値の乱数とは異なる次世代の乱数を用いて生成する。具体的には、第3世代の乱数Hは利用されているため、次世代である第4世代の乱数Hに対して、ハッシュ関数Hによる演算を所定回数だけ繰り返して次回認証用ハッシュ値E を生成する。
そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。なお、ここでは、前回生成された第2のワンタイムコードを再利用したが、実際のQRコード(登録商標)では、タイムスタンプが含まれるため、QRコード(登録商標)のパターンは異なったものとなっている。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。
次いで、ユーザー端末1において、次の処理が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が不通でネットワーク環境無しの状態であるものとする。この場合、今回認証用コード作成部143は、第1実施形態と同様、前回送信した第2のワンタイムコード(ハッシュ値E M−1)よりも、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−2)を生成する。一方、次回認証用コード作成部144は、次回認証用として、前回送信した第1のワンタイムコードの次世代である第5世代の乱数Hから第1のワンタイムコード(ハッシュ値E )を生成する。
そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。
次いで、ユーザー端末1において、次の処理が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が不通でネットワーク環境無の状態であるものとする。この場合、今回認証用コード作成部143は、第1実施形態と同様、前回ワンタイムパスワードとして送信した、前回送信した第2のワンタイムコード(ハッシュ値E M−2)よりも、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−3)を生成する。一方、次回認証用コード作成部144は、次回認証用として、前回送信した第1のワンタイムコードの次世代である第6世代の乱数Hから第1のワンタイムコード(ハッシュ値E )を生成する。
そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、コード情報が表示されてから、所定間隔が経過してしまい、表示させたコード情報を破棄し、画面上からコード情報を消去したものとする。
その後、ユーザー端末1において、再度認証を行うための操作が行われると、今回認証用コード作成部143は、は、新たなコード情報を生成するようになっている。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が不通でネットワーク環境無の状態であるものとする。この場合、認証サーバー側では、その生成されたコード情報が読み取られたのか否かが不明であるので、一度でも表示に利用されたハッシュ回数は使用しないようにする。そのため、今回認証用コード作成部143は、第1実施形態と同様、前回ワンタイムパスワードとして送信した、第2のワンタイムコード(ハッシュ値E M−3)よりも、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−4)を生成する。
なお、本実施形態では、生成したコード情報が表示のみされて使用されず消去された場合、その生成されたコード情報を、次回の認証時における通信環境に応じて再利用している。具体的に、通信可能である場合には前回利用したハッシュ回数を用い、通信不能である場合には前回利用したハッシュ回数を用いない構成とした。しかしながら、本発明は、これに限定するものではなく、通信環境に関係なく、一度表示されたハッシュ回数は、使用されたか否かに関わらず再利用せずに新たなハッシュ回数を利用してもよく、また、表示のみされ使用されなかったコード情報は、一度使用したハッシュ回数を再利用してもよい。
一方、次回認証用コード作成部144は、次回認証用として、前回送信した第1のワンタイムコード次世代である第7世代の乱数Hに対してハッシュ関数Hによる演算を所定回数だけ繰り返して第1のワンタイムコード(ハッシュ値E )を生成する。そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。
その後、次のユーザー操作が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が可能でネットワーク環境有りの状態であるものとする。この場合、今回認証用コード作成部143は、前回送信した第1のワンタイムコード(ハッシュ値E )に用いた乱数Hと同世代である乱数Hに対し、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。また、次回認証用コード作成部144は、次回認証用として、前回送信した次回認証用ハッシュ値の次世代である第8世代の乱数Hに対してハッシュ関数Hによる演算を所定回数だけ繰り返して第1のワンタイムコード(ハッシュ値E )を生成する。そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。
以後の処理も、上記と同様、通信環境や前回生成されたワンタイムパスワードの利用有無に応じて、今回認証用ハッシュ値及び次回認証用ハッシュ値の生成処理が変更される。そして、このように生成されたコード情報に基づいて認証処理が行われる。
(作用・効果)
このような本実施形態によれば、ワンタイムコードに短時間の有効期限を設定し、盗聴・盗難時の不正利用を防止することができる。すなわち、本実施形態では、ユーザー端末上での表示時間を一定時間(1分)以内に制限し、制限時間を超えるとコード情報は非表示となるとともにコード情報は再生成が必要なので、店舗のレジ等で支払いを行う直前に生成、表示されたコード情報のみで認証が成功されることとなる。
これにより、例えば、不正使用者がユーザー端末上で表示したコード情報をカメラ等で撮影し、その画面上のコード情報を用いて、正規の利用者より先に使用されてしまうという不正利用を防止することができる。なお、コード情報は生成したが利用されない場合、認証IDは再利用されるが、実際のコード情報はタイムスタンプが付加されるため、コード情報のパターンは異なったものとなっているので、以前撮影された画像では、もはや認証を受けることができない。
[第3実施形態]
次いで、本発明の第3実施形態について説明する。本実施形態では、認証情報を動的に提示するユーザー端末1と、提示された認証情報を読み取る店舗側端末7aとを備え、極めて短い時間にコード情報の生成と破棄とを繰り返し行い、動的に変化させたコード情報に基づいて動的認証を行うことを要旨とする。
図14は、本実施形態に係るユーザー端末の内部構成を示すブロック図であり、図15は、本実施形態に係る店舗側端末の内部構成を示すブロック図である。また、図16は、ユーザー端末の表示部に表示される動的コード情報を示す説明図であり、図17は、本実施形態に係る有効性判定の判定処理を示すタイムチャート図である。
第3実施形態において、ユーザー端末1には、第2実施形態と同様、図12に示すように、クライアント計時部16を備えている。クライアント計時部16は、現在時刻を取得するモジュールであり、取得する時刻としては、ユーザー端末1のシステム時刻を取得する。また、ユーザー端末1のアプリケーション実行部14には、認証情報を動的に提示する機能モジュールとして、表示情報生成部14eと動的情報提示部14fとを備えている。
表示情報生成部14eとは、所定の認証情報に、当該ユーザー端末1上の現在時刻を示す時間情報を組み合わせて、少なくとも2つの表示情報を生成するモジュールである。ここで、所定の動的情報とは、上述した第1実施形態で生成される第1のワンタイムコード及び第2のワンタイムコードである。すなわち、表示情報生成部14eは、ワンタイムパスワード作成部14aの今回認証用コード作成部143と次回認証用コード作成部144で生成された第1のワンタイムコード及び第2のワンタイムコードに現在時刻を示す時間情報を組み合わせてコード情報を作成する。なお、このコード情報には、ユーザー特定情報、決済情報、及び購買情報が含まれている。
動的情報提示部14fは、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示するモジュールである。すなわち、動的情報提示部14fは、所定の時刻におけるコード情報を生成した後、クライアント計時部16から随時時刻情報Tcを取得し、予め定められた所定間隔(例えば、1秒未満)が経過したか否かを判断し、所定間隔が経過した後には、再度コード情報を再生成する。具体的には、現在表示しているコード情報を破棄し、現在時刻の時刻情報Tcをタイムスタンプとして含めてコード情報を再生成し画面上に表示させる。ワンタイムパスワード作成部14aは、以後、所定間隔毎にこの処理を繰り返す。
このように、表示情報生成部14e及び動的情報提示部14fは、所定間隔毎にコード情報を生成、表示、破棄、再生成を繰り返し、表示部13a上には、図16に示すように、画面上には、異なるコード情報(図16中のコード情報C_1〜C_4)が時間経過毎(図16中の時間Tc_1〜Tc_4)に随時変更されつつ動的に表示されるようになっている。なお、この際、一連で表示される複数のコード情報に含まれるワンタイムパスワードは、全て同じワンタイムパスワードが使用されており、タイムスタンプのみが変更されることで、コード情報の表示形態は変更される。なお、ワンタイムパスワードの生成方法としては、上述した第1実施形態又は第2実施形態と同様である。
一方、店舗側端末7aでは、読取手段76において動的情報提示部14fによって表示部13a上に表示された少なくとも2つの表示情報を、順次、光学的に読み取っており、制御部74内に送信する。本実施形態において、読取手段76は、随時表示されているコード情報のうち、連続する2つのコード情報を読み取る。
制御部74では、この読み取った2つの表示情報に基づいて、その表示情報が認証処理として利用可能か否かを判断している。具体的に、制御部74内には、図15に示すように、計時記録部741と、有効性判断部742と、情報抽出部743と、正当性判断部744とを備えている。
計時記録部741は、読取手段76で読み取られた各表示情報の、それぞれの読取時刻を測定し記録するモジュールであり、店舗側端末7aに備えられた店舗側計時部77から読取時刻を測定して記録する。ここで、店舗側計時部77が取得する時刻としては、店舗側端末7aのシステム時刻を取得してもよく、また、タイムサーバーなどにより提供される絶対時刻を取得してもよい。
そして、計時記録部741は、読み取ったコード情報に読み取った時点の時刻情報Tpをそれぞれ付加する。なお、ここでは、図17に示すように、最初に読み取ったコード情報を第1のコード情報X1とし、次に読み取ったコード情報を第2のコード情報X2とする。さらに、コード情報X1に付加される時刻情報を時刻情報Tp_1とし、コード情報X2に付加される時刻情報を時刻情報Tp_2とする。
有効性判断部742は、一定の時間間隔から求められる有効期限と、それぞれの読取時刻の時間差とに基づいて、表示情報の有効性を判断するモジュールである。ここで、本実施形態では、図17に示すように、連続する2つのコード情報X1,X2は所定間隔Lを空けて表示させていることから、例えば、読み取った2つのコード情報X1,X2が正規のコード情報である場合、第1のコード情報X1を読み取ってから、第2のコード情報X2が読み取り可能な最大時間は時間2Lである。
そこで、有効性判断部742は、第1のコード情報X1の時刻情報Tp_1と第2のコード情報X2の時刻情報Tp_2との差分が、0より大きく、且つ時間2L未満であることを検証する。そして、第1のコード情報X1と第2のコード情報X2の差分が、0より大きく、且つ時間2L未満である場合には、そのコード情報X1及びX2は有効期限内であると判断し、POSサーバー7を介して、第2のコード情報X2を認証サーバー2に送信する。その後は、第1実施形態と同様、第2のコード情報に含まれたワンタイムパスワードによって認証処理等が行われる。一方、第1のコード情報X1と第2のコード情報X2の差分が0以下であったり、時間2L以上である場合には、有効期限が過ぎたコード情報としてエラー表示を行う。
また、制御部74では、2つのコード情報X1及びX2の差分から、有効期限の判断を行う前提として、2つのコード情報X1及びX2が、同一のワンタイムコードに基づいて生成されたコード情報であるか否かも判断する機能を有しており、同一のワンタイムパスワードに基づいて生成されたコード情報のみ、有効期限の有無の判定を行っている。具体的に制御部74には、情報抽出部743と正当性判断部744とを有している。
情報抽出部743は、読取手段76で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出するモジュールである。ここで抽出される所定の認証情報とは、今回認証用コード作成部143と次回認証用コード作成部144で生成された第1のワンタイムコード及び第2のワンタイムコードである。そして、情報抽出部743では、この第1のワンタイムコード及び第2のワンタイムコードを正当性判断部744に送信する。
正当性判断部744は、情報抽出部743が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断するモジュールである。ここで、比較される認証情報は、第1のワンタイムコード又は第2のワンタイムコードのいずれかであってもよく、また、第1のワンタイムコード及び第2のワンタイムコードの両方を比較してもよい。
(有効性判定方法)
次いで、第3実施形態における有効性判定方法について説明する。図18は、本実施形態に係る動的認証方法を示すフローチャート図である。
先ず、表示情報生成部14eでは、ワンタイムパスワード作成部14aで作成されたワンタイムパスワードを取得すると、クライアント計時部16から現在時刻Tc_1を取得し、この現在時刻Tc_1をタイムスタンプとして、ワンタイムパスワードに追加して、第1のコード情報X1を生成する(S701)。第1のコード情報X1は、画面上に表示され、店舗側端末7aの読取手段76によって読み取られる(S702)。この際、計時記録部741では、読取手段76で読み取られた表示情報の読取時刻Tp_1を測定しメモリ15に記録する。
一方、ユーザー端末1の動的情報提示部14fでは、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する。具体的には、クライアント計時部16から随時時刻情報を取得するとともに、1第のコード情報X1から所定間隔Lが経過したか否かを判断する(S703)。ここで、所定間隔Lが経過していない場合には(S703における“N”)、時刻情報を取得しつつ、所定間隔Lが経過するまで処理を繰り返す。
所定間隔Lが経過した場合には(S703における“Y”)、表示情報生成部14e及びワンタイムパスワード作成部14aに対して、再度コード情報再生の指示を行う。表示情報生成部14eは、ワンタイムパスワード作成部14aで再作成されたワンタイムパスワードを取得すると、その時点の時刻情報Tc_2をクライアント計時部16から取得して、第2のコード情報X2を生成する(S704)。そして、表示情報生成部14eは、第1のコード情報X1を破棄し、第2のコード情報X2を画面上に表示させる。第2のコード情報X2が、画面上に表示されると、店舗側端末7aの読取手段76は、第2のコード情報X2を読み取る(S705)。この際、計時記録部741では、読取手段76で読み取られた表示情報の読取時刻Tp_2を測定し、第2のコード情報X2とともにメモリ15に記録する。
そして、店舗側端末7aの有効性判断部742では、第1のコード情報X1及び第2のコード情報X2に基づいて、コード情報の有効期限が有効か否かを判定する(S706)。具体的に、情報抽出部743は、読取手段76で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する。具体的には、第1のコード情報X1及び第2のコード情報X2に関する第1のワンタイムコード及び第2のワンタイムコードを抽出する。そして、正当性判断部744は、情報抽出部743が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する。ここで、両者のワンタイムコードが同一でない場合には(S706における“N”)、店舗側端末7aの表示部73aにエラーを表示させる。なお、この情報はユーザー端末1に送信してユーザー端末1の表示部13a上に表示させてもよい。
一方、両者のワンタイムコードが同一である場合は、次に、第1のコード情報X1に付加された時刻情報Tp_1と、第1のコード情報X1に付加された時刻情報Tp_2との差分が、0より大きく、且つ時間2L未満であることを検証する。第1のコード情報X1と第2のコード情報X2の差分が0以下であったり、時間2L以上である場合には(S706における“N”)、有効期限が過ぎたコード情報としてエラー表示を行う(S709)。
第1のコード情報X1と第2のコード情報X2の差分が、0より大きく、且つ時間2L未満である場合には(S706における“Y”)、そのコード情報X1及びX2は有効期限内であると判断し、POSサーバー7を介して、第2のコード情報X2を認証サーバー2に送信する。その後は、第1実施形態と同様、第2のコード情報に含まれたワンタイムパスワードによって認証処理等が行われる。
(作用・効果)
このような第3実施形態によれば、コード情報の有効期限を1秒未満の極めて短い時間に設定することで、盗難や盗聴された場合でも、不正利用されることを防止することができる。また、本実施形態では、認証のために2つのコード情報を用いているので、例えば、不正利用者がユーザー端末1の画面上に表示されているコード情報をカメラで撮影したとしても、その撮影された画像からは認証を行うことができないため、不正をより防止することができる。
なお、コード情報は極めて短い時間(1秒未満)で再生成を繰り返していることから、認証処理を行う側との時刻誤差が生じる可能性がある。すなわち、ユーザー端末1で計時されるシステム時刻と、認証サーバー2内で計時される時刻とが一致していない場合、正規者が利用した場合でも認証ができない場合がある。
本実施形態では、複数のコード情報からタイムスタンプの時刻情報Tp_1と、店舗側端末7a側で読み取った時刻情報Tp_2を取得し、ユーザー端末と店舗側端末7aの時刻のずれを補正でき、各利用端末がタイムサーバーなどで時刻補正を行うことなく、正常に認証処理を行うことができる。すなわち、本実施形態では、2つの異なるタイムスタンプを有するコード情報データから、ユーザー端末の時刻を推定するとともに、コード情報の有効期限を再生成間隔に基づいて設定しているので、時刻誤差による処理誤りは解消される。
[変更例]
なお、上述した各実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能である。以下に、本発明の変更例について説明する。
例えば、上述した第3実施形態において、コード情報の有効期限の有無判定は、連続して表示される2つのコード情報に基づいて判定したが、例えば、2以上のコード情報を読み取った場合に、その一連のコード情報のうち、連続しない任意の2つコード情報Xi、コード情報Xj(j>i)を読み取って有効性を検証してもよい。この場合は、第1のコード情報Xiを読み取ってから、n回目に再生成されるコード情報を抽出するかを既知として店舗側端末7aに記憶させ、上記所定間隔2Lを所定間隔nLに変更するのみで、上記と同処理で有効性を検証することができる。
また、例えば、上述した第3実施形態において、コード情報の有効期限の有無は、店舗側端末7aの有効性判断部742で処理したが、例えば、認証サーバー2の連携部20aにおいて実行してもよい。この場合、有効性判断部742の機能モジュールは、連携部20aに備えており、店舗側端末7aは、読み取った第1のコード情報X1及び第2のコード情報X2をそのまま認証サーバー2に送信する。なお、この際、コード情報X1及びX2が同一のワンタイムパスワードに基づいて生成されたコード情報か否かの判断は、有効性判断部742で行ってもよく、また、連携部20aにおいて実行してもよい。
1…ユーザー端末
2…認証サーバー
2a…ワンタイムコードデータベース
2b…購買履歴情報蓄積部
3…クーポンサーバー
3a…クーポンデータベース
4…ポイントサーバー
4a…ポイントデータベース
5…通信ネットワーク
6…決済サーバー
7…POSサーバー
7a…店舗側端末
8…無線基地局
11…無線インターフェース
13a…表示部
14…アプリケーション実行部
14a…ワンタイムパスワード作成部
14b…連携処理部
14c…価値情報取得部
14d…認証結果取得部
14e…表示情報生成部
14f…動的情報提示部
15…メモリ
16…クライアント計時部
20…認証管理部
20a…連携部
21…連携処理部
22…初期化処理部
23…認証用コード選択部
24…低減回数補完部
25…認証部
26…認証用コード保存部
31…クーポン取得部
32…利用可否確認部
33…利用状況更新部
34…クーポン追加部
41…ポイント取得部
42…利用可否確認部
43…利用状況更新部
44…ポイント追加部
70a…通信インターフェース
70b…制御部
70c…POS情報データベース
74…制御部
75…メモリ
76…読取手段
77…店舗側計時部
141…認証環境確認部
142…乱数選択部
143…今回認証用コード作成部
144…次回認証用コード作成部
741…計時記録部
742…有効性判断部
743…情報抽出部
744…正当性判断部

Claims (26)

  1. 通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムであって、
    前記ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
    前記ユーザー端末側において、前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
    前記認証サーバーにおいて、前記第1のワンタイムコード及び第2のワンタイムコードを取得し、前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
    認証時において、前記ユーザー端末側で、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
    選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、前記認証サーバーにおいて前記ユーザー端末から、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理部と、
    前記認証サーバーにおいて、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択部と、
    前記認証サーバーにおいて、前記認証管理部が取得した前記ワンタイムパスワードに対して、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完部と、
    前記認証サーバーにおいて、前記認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証処理を行う認証部と
    を備えることを特徴とするワンタイム認証システム。
  2. 前記ユーザー端末は、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示する表示部を有し、
    前記認証用通信経路は、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置に接続され、
    前記認証管理部は、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
    ことを特徴とする請求項1に記載のワンタイム認証システム。
  3. 前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
    前記認証用コード保存部は、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
    ことを特徴とする請求項1に記載のワンタイム認証システム。
  4. 前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
    前記店舗端末では、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得し、
    前記認証管理部は、前記第1のワンタイムコード又は前記第2のワンタイムコードとともに、前記購買情報を取得し、この購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積する
    ことを特徴とする請求項1に記載のワンタイム認証システム。
  5. 前記認証サーバーは、
    前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
    前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
    を有し、
    前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
    前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
    ことを特徴とする請求項1に記載のワンタイム認証システム。
  6. 通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証方法であって、
    前記ユーザー端末側において、ワンタイムコード作成部が、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成するとともに、前記次世代乱数を発生させる前に発生させた前世代乱数に対して前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成するワンタイムコード作成ステップと、
    前記認証サーバーにおいて、前記第1のワンタイムコード及び第2のワンタイムコードを取得し、認証用コード保存部が、前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
    前記ユーザー端末の選択部が、認証時に、前記通信ネットワークの通信状態に応じて、前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
    認証管理部が、選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、前記ユーザー端末から、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理ステップと、
    認証用コード選択部が、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択ステップと、
    前記認証管理部が取得した前記第2のワンタイムコードに対して、低減回数補完部が、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
    前記認証用コード選択部が選択した前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証部が認証処理を行う認証ステップと
    を備えることを特徴とするワンタイム認証方法。
  7. 前記認証管理ステップでは、前記ユーザー端末が、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示し、
    前記認証用通信経路には、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置が接続され、前記認証管理ステップでは、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
    ことを特徴とする請求項6に記載のワンタイム認証方法。
  8. 前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
    前記認証用コード保存ステップにおいて、認証用コード保存部が、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
    ことを特徴とする請求項6に記載のワンタイム認証方法。
  9. 前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
    前記認証管理ステップにおいて、前記店舗端末は、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得するとともに、前記第1のワンタイムコード又は前記第2のワンタイムコードを取得し、前記購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と、関連付けて購買履歴情報蓄積部に蓄積する
    ことを特徴とする請求項6に記載のワンタイム認証方法。
  10. 前記認証サーバーは、
    前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
    前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
    を有し、
    前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
    前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
    ことを特徴とする請求項6に記載のワンタイム認証方法。
  11. 通信ネットワーク上に配置され、ユーザーが使用するユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う認証サーバーであって、
    前記ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、前記ユーザー端末側において、前記次世代乱数を発生させる前に発生させた前世代乱数に対して前記ユーザー側一方向性関数による演算を繰り返して生成された第2のワンタイムコードとを、前記認証サーバーにおいて取得する連携管理部と、
    前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
    認証時において、前記通信ネットワークの通信状態に応じて選択された前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた、前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して前記ユーザー端末において生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理部と、
    前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択部と、
    前記認証管理部が取得した前記ワンタイムパスワードに対して、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完部と、
    前記認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証処理を行う認証部と
    を備えることを特徴とする認証サーバー。
  12. 前記ユーザー端末は、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示する表示部を有し、
    前記認証用通信経路は、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置に接続され、
    前記認証管理部は、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
    ことを特徴とする請求項11に記載の認証サーバー。
  13. 前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
    前記認証用コード保存部は、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
    ことを特徴とする請求項11に記載の認証サーバー。
  14. 前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
    前記店舗端末では、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得し、
    前記認証管理部は、前記第1のワンタイムコード又は前記第2のワンタイムコードとともに、前記購買情報を取得し、この購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積する
    ことを特徴とする請求項11に記載の認証サーバー。
  15. 前記認証サーバーは、
    前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
    前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
    を有し、
    前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
    前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
    ことを特徴とする請求項11に記載の認証サーバー。
  16. ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、
    次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
    前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
    前記認証サーバーに対し、前記第1のワンタイムコード及び第2のワンタイムコードを送信する送信部と、
    認証時において、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
    選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成し、当該ワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして、前記認証サーバーに対して送出する認証処理部と、
    前記通信ネットワークの通信状態に応じて選択され、生成された前記ワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得部と
    を備えることを特徴とする携帯端末。
  17. コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示する表示部
    をさらに備えることを特徴とする請求項16に記載の携帯端末。
  18. 前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
    前記送信部は、前記連携用通信経路を通じて、初回に生成された前記第1のワンタイムコードを送出する
    ことを特徴とする請求項16に記載の携帯端末。
  19. 通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、前記認証サーバーに、
    前記ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、前記ユーザー端末側において、前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第2のワンタイムコードとを取得する連携管理ステップと、
    認証用コード保存部が、前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
    認証時において、前記通信ネットワークの通信状態に応じて選択された前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して前記ユーザー端末において生成されたワンタイムコードを、認証管理部が、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理ステップと、
    認証用コード選択部が、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択ステップと、
    前記認証管理部が取得した前記第2のワンタイムコードに対して、低減回数補完部が、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
    前記認証用コード選択部が選択した前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証部が、認証処理を行う認証ステップと
    を含む処理を実行させることを特徴とするワンタイム認証プログラム。
  20. 前記認証管理ステップでは、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードが、前記ユーザー端末の表示部に、前記ワンタイムパスワードとして表示され、
    前記認証用通信経路には、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置が接続され、前記認証管理ステップでは、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
    ことを特徴とする請求項19に記載のワンタイム認証プログラム。
  21. 前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
    前記認証用コード保存ステップにおいて、認証用コード保存部は、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
    ことを特徴とする請求項19に記載のワンタイム認証プログラム。
  22. 前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
    前記認証管理ステップでは、前記店舗端末が、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得するとともに、前記第1のワンタイムコード又は前記第2のワンタイムコードを取得し、前記認証管理部は、前記購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積する
    ことを特徴とする請求項19に記載のワンタイム認証プログラム。
  23. 前記認証サーバーは、
    前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
    前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
    を有し、
    前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
    前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
    ことを特徴とする請求項19に記載のワンタイム認証プログラム。
  24. 通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、前記ユーザー端末に、
    次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成ステップと、
    前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成ステップと、
    前記認証サーバーに対して前記第1のワンタイムコード及び第2のワンタイムコードを送信する送信ステップと、
    認証時において、前記通信ネットワークの通信状態に応じて、前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
    選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成して、認証用通信経路を通じて前記ワンタイムパスワードとして、前記認証サーバーに対して送出する認証処理ステップと、
    前記通信ネットワークの通信状態に応じて選択され、生成された前記ワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得ステップと
    を含む処理を実行させることを特徴とするワンタイム認証プログラム。
  25. コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示部に表示する表示ステップ
    をさらに備えることを特徴とする請求項24に記載のワンタイム認証プログラム。
  26. 前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
    前記送信部は、前記連携用通信経路を通じて、初回に生成された前記第1のワンタイムコードを送出する
    ことを特徴とする請求項24に記載のワンタイム認証プログラム。
JP2015011061A 2015-01-23 2015-01-23 ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム Active JP5978325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015011061A JP5978325B2 (ja) 2015-01-23 2015-01-23 ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015011061A JP5978325B2 (ja) 2015-01-23 2015-01-23 ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム

Publications (2)

Publication Number Publication Date
JP2016136664A JP2016136664A (ja) 2016-07-28
JP5978325B2 true JP5978325B2 (ja) 2016-08-24

Family

ID=56512679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015011061A Active JP5978325B2 (ja) 2015-01-23 2015-01-23 ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム

Country Status (1)

Country Link
JP (1) JP5978325B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6644037B2 (ja) 2017-09-08 2020-02-12 株式会社東芝 通信制御システム
JP7042853B2 (ja) * 2020-01-06 2022-03-28 株式会社東芝 クライアント側通信制御装置、およびサーバ側通信制御装置
JP6986108B2 (ja) * 2020-03-31 2021-12-22 Kddi株式会社 決済処理方法
JP6937860B1 (ja) * 2020-03-31 2021-09-22 Kddi株式会社 決済処理方法及び決済処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4259021B2 (ja) * 2002-01-31 2009-04-30 日本電気株式会社 認証システム、認証方法、及びプログラム
JP4463497B2 (ja) * 2003-05-19 2010-05-19 株式会社ユニバーサルエンターテインメント ポイント管理システム
US8683564B2 (en) * 2010-06-27 2014-03-25 King Saud University One-time password authentication with infinite nested hash claims

Also Published As

Publication number Publication date
JP2016136664A (ja) 2016-07-28

Similar Documents

Publication Publication Date Title
JP5978326B2 (ja) 動的認証システム、動的認証方法、動的認証用読取装置、ユーザー端末装置、及び動的認証プログラム
CN110945554B (zh) 注册表区块链架构
CN113014400B (zh) 用户和移动装置的安全认证
US8826019B2 (en) Centralized authentication system with safe private data storage and method
US20120330769A1 (en) Electronic transaction techniques implemented over a computer network
US20120124656A1 (en) Method and system for mobile device based authentication
KR20140125449A (ko) 거래 프로세싱 시스템 및 방법
CN103679457A (zh) 支付方法、执行该支付方法的支付服务器和支付系统
WO2014164228A1 (en) Consumer device based point-of-sale
US20150052062A1 (en) E-commerce shopping and payment process
JP2020057433A (ja) 決済システム
JP2014512058A (ja) ディジタルトークン生成器、ディジタルトークンを記録するためのサーバ、およびディジタルトークンを発行するための方法
US20200097937A1 (en) Token-based open-loop stored-value card network
CN101291217A (zh) 网络身份认证方法
JP5978325B2 (ja) ワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラム
KR20170058950A (ko) 전자결제를 위한 시스템 및 방법
JP4588529B2 (ja) サービスシステムおよび最適サービス提供方法
JPWO2006082913A1 (ja) ネットワーク決済カード、ネットワーク決済プログラム、認証サーバ、及びショッピングシステムと決済方法
KR102574524B1 (ko) 원격 거래 시스템, 방법 및 포스단말기
JP2013171496A (ja) 特典付与サービス管理システム
KR101122032B1 (ko) 전자거래를 수행하는 방법
JP5430847B2 (ja) ポイント利用支援装置、ポイント利用支援方法およびポイント利用支援プログラム
JP7072111B1 (ja) サービス提供装置、サービス提供方法、およびプログラム
KR101315802B1 (ko) 모바일 디바이스를 이용하여 스탬프/마일리지를 처리하기 위한 시스템 및 그 방법
JP2020046925A (ja) 認証システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5978325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250