【課題を解決するための手段】
【0009】
この発明は、
認証サーバとユーザ端末とを用いた認証方法であって、
前記認証サーバと、ユーザIDを有する前記ユーザ端末とが、ユーザIDごとの同期された認証履歴を共有した認証履歴データベースを有し、
前記認証サーバは、認証要求に対してワンタイムパスを生成して送信し、
前記ユーザ端末は、前記ワンタイムパスと前記認証履歴データベースのハッシュ値と前記ユーザIDとを含む認証情報を生成して前記認証サーバへ送信し、
前記認証サーバは、前記認証情報に含まれる前記ユーザIDに対応する前記認証履歴データベースのハッシュ値と、前記認証情報に含まれるハッシュ値とが一致する場合に、前記認証情報に含まれる前記ワンタイムパスに対応した前記認証要求に対して認証し、その認証結果を送信し、
前記認証の結果を含む認証履歴変更情報を前記ユーザ端末へ送信するとともに、前記認証の結果を前記認証サーバ側の前記認証履歴データベースに記録し、
前記ユーザ端末は、前記認証の結果を受信して、前記ユーザ端末側の前記認証履歴データベースに記録して、前記認証履歴データベース同士の同期を実現する、
ユーザ端末を用いた認証方法により上記の課題を解決したのである。
【0010】
前記認証方法は、さらに、認証を受けて操作を行う操作端末を用い、
前記認証要求は前記操作端末から前記認証サーバへ送信するものであり、
前記認証サーバは前記ワンタイムパスとともにセッションIDを生成して、前記ワンタイムパス及びセッションIDを前記操作端末である認証要求元情報とともに発行履歴データベースに登録し、
前記ワンタイムパスを送信する際には、前記認証サーバへの接続を可能とする接続情報とともにコード画像として、前記操作端末へ送信し、
前記操作端末は送信された前記コード画像を表示し、
前記ユーザ端末は前記操作端末に表示された前記コード画像をカメラによって撮影した上で解析して前記ワンタイムパス及び前記接続情報を取得し、
前記ユーザ端末は、前記認証情報を前記認証サーバへ送信するにあたり、接続先のアドレスを前記接続情報から取得し、
前記認証サーバは、前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションIDを前記発行履歴データベースから取得し、前記セッションIDに対応する前記セッションIDに紐付けられた前記認証要求元情報に対して前記認証結果を送信する、
実施形態を採用することができる。
【0011】
この発明にかかる認証方法を実行する認証サーバは、
ユーザIDごとに、当該ユーザIDで認証に用いられるユーザ端末との間で、認証履歴が同期されたサーバ側認証履歴データベースを有し、
送信された認証要求に対してワンタイムパスを生成するワンタイムパス生成部と、
前記ワンタイムパスを含む情報を前記ユーザ端末へ送信するワンタイムパス送信部と、
前記ユーザ端末から送信された認証情報に含まれるワンタイムパスとユーザIDと、前記ユーザ端末側の前記認証履歴データベースに含まれる認証履歴のハッシュ値とを取得する認証情報受信部と、
前記認証情報に含まれる取得した前記ユーザIDに対応する前記認証履歴データベースに含まれる前記認証履歴のハッシュ値を生成するサーバ側ハッシュ生成部と、
前記認証情報に含まれる前記認証履歴のハッシュ値と、前記認証サーバが生成した前記認証履歴のハッシュ値とを比較して、同一であれば認証する認証情報解析部と、
前記認証の結果である認証結果を前記認証サーバ側の認証履歴データベースに記録するサーバ側認証履歴更新部と、
前記認証結果を前記認証要求の送信元へ送信し、かつ前記認証結果を含む認証履歴変更情報を前記ユーザ端末へ送信して、前記認証履歴データベース同士の同期をさせる、認証結果送信部と、
を実行する。
【0012】
前記認証サーバは、さらに、前記認証要求を送信してきた操作端末から受信し、
前記ワンタイムパスとともにセッションIDを生成して、前記ワンタイムパス及びセッションIDを前記操作端末である認証要求元情報とともに発行履歴データベースに登録する発行履歴登録部と、
前記ワンタイムパスを、前記認証サーバへの接続を可能とする接続情報とともにコード画像とするコード画像生成部と、
を実行し、
前記ワンタイムパス送信部で送信する前記ワンタイムパスを含む情報として前記コード画像を前記操作端末へ送信し、
前記認証結果送信部で前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションIDを前記発行履歴データベースから取得した上で、前記セッションIDに対応する前記セッションIDに紐付けられた前記認証要求元情報が示す前記操作端末に対して前記認証結果を送信する、
実施形態を採用することができる。
【0013】
この発明にかかる認証方法を実行するユーザ端末は、
認証サーバにおける識別符号であるユーザIDと、前記認証サーバが前記ユーザIDごとに有する認証履歴データベースとの間で同期された認証履歴とを有し、
認証サーバが生成したワンタイムパスと接続情報とを含むコード画像を読み取る画像取得部と、
前記コード情報を解析して前記ワンタイムパスと前記接続情報とを取得する画像解析部と、
前記認証履歴のハッシュ値を求める端末側ハッシュ生成部と、
前記ワンタイムパスと前記ハッシュ値と前記ユーザIDとから認証情報を生成する認証情報生成部と、
前記接続情報から特定される接続先へ、前記認証情報を送信する認証情報送信部と、
前記認証サーバから送信されてきた認証の結果を受信して、前記認証履歴データベースに記録する端末側認証履歴更新部と、
を実行する。
【発明の効果】
【0014】
この発明にかかる認証方法及び認証システムは、前記認証サーバ及び前記ユーザ端末との間で認証履歴データベースを同期し、その認証履歴データベースの認証履歴のハッシュ値同士を比較して認証に用いる。このため、ある時点での認証履歴がどちらかから流出したとしても、その認証履歴を利用して第三者が認証しようとしても、その後に同期している認証履歴が変更されていれば、認証がされないことになるため、固有の値を用いるよりも高いセキュリティを発揮する。昨今のスマートフォン用ソフトウェアはリバースエンジニアリングが容易であるため、ユーザ認証に固有の値を利用すると容易に成りすましを可能としてしまうが、この発明にかかる認証方法ではそれを防ぐことができる。
【0015】
単純に認証の度に異なる認証コードを使用するだけならば認証の度にサーバから新たな認証コードを配信しなければならないが、そのたびに盗聴されるリスクがある。これに比べてこの発明にかかる認証方法では、前記認証サーバと前記ユーザ端末とが認証しようとする段階で既に共有している情報を用いて認証するため、前記認証サーバから配信する認証コードが盗聴されるおそれがなく、認証の度に異なる値を利用したセキュリティの高い認証が可能となる。
【0016】
また、操作端末やユーザ端末から認証要求を認証サーバに送り、認証サーバがそれに対する返信として操作端末やユーザ端末へ情報を送るので、認証サーバは操作端末やユーザ端末のアドレスなどを予め把握しておく必要はない。操作端末を介する場合でもコード画像をユーザ端末のカメラで読み取ることで、ワンタイムパスや接続情報などの情報をユーザ端末が取得して、認証サーバへ必要な情報を送ることができる。
【0017】
さらに、操作端末にはカードリーダなどの専用装置を備え付ける必要がなく、ディスプレイへの表示でユーザ端末へ情報を中継した認証が可能となる。また、操作端末にIDなどを入力する必要がないため、操作端末が共有するPCなどである場合に、webブラウザなどに個人情報が残ってしまうリスクを防ぐことができる。
【0018】
ユーザ端末としてはwebブラウザを経由する方法以外に、専用のアプリケーションを用いてこの発明の認証方法を利用させるようにすることができる。これにより、他のビジネスに必要とする機能を当該アプリケーションに併せて持たせることで、サービス配信企業はユーザにさらなるサービスを提供させるプラットフォームとすることができる。