(57)【要約】【課題】使用する携帯端末を事前登録するような手間を省いて利用することができ、なおかつ認証に用いる値が漏洩することで成りすましが行われるセキュリティ上の問題を解消して、より利便性及び安全性の高い認証システムを提供する。【解決手段】認証サーバ１１とユーザ端末１２とが、同期された認証履歴データベース２５，６１を有し、それぞれの認証履歴データベースのハッシュ値を比較して同一の場合に認証する。【選択図】図１
2020135377.tif 000002
【特許請求の範囲】
【請求項１】
認証サーバとユーザ端末とが、同期された認証履歴データベースを有し、それぞれの認証履歴データベースのハッシュ値を比較して同一の場合に認証する認証方法。
【請求項２】
認証サーバとユーザ端末とを用いた認証方法であって、
前記認証サーバと、ユーザＩＤを有する前記ユーザ端末とが、ユーザＩＤごとに同期された認証履歴を共有する認証履歴データベースを有し、
前記認証サーバは、認証要求に対してワンタイムパスを生成して送信し、
前記ユーザ端末は、前記ワンタイムパスと前記認証履歴データベースのハッシュ値と前記ユーザＩＤとを含む認証情報を生成して前記認証サーバへ送信し、
前記認証サーバは、前記認証情報に含まれる前記ユーザＩＤに対応する前記認証履歴データベースのハッシュ値と、前記認証情報に含まれるハッシュ値とが一致する場合に、前記認証情報に含まれる前記ワンタイムパスに対応した前記認証要求に対して認証し、その認証結果を送信し、
前記認証結果を含む認証履歴変更情報を前記ユーザ端末へ送信するとともに、前記認証結果を前記認証サーバ側の前記認証履歴データベースに記録し、
前記ユーザ端末は、前記認証結果を受信して、前記ユーザ端末側の前記認証履歴データベースに記録して、前記認証履歴データベース同士の同期を実現する、
ユーザ端末を用いた認証方法。
【請求項３】
さらに、認証を受けて操作を行う操作端末を用い、
前記認証要求は前記操作端末から前記認証サーバへ送信するものであり、
前記認証サーバは前記ワンタイムパスとともにセッションＩＤを生成して、前記ワンタイムパス及びセッションＩＤを前記操作端末である認証要求元情報とともに発行履歴データベースに登録し、
前記ワンタイムパスを送信する際には、前記認証サーバへの接続を可能とする接続情報とともにコード画像として、前記操作端末へ送信し、
前記操作端末は送信された前記コード画像を表示し、
前記ユーザ端末は前記操作端末に表示された前記コード画像をカメラによって撮影した上で解析して前記ワンタイムパス及び前記接続情報を取得し、
前記ユーザ端末は、前記認証情報を前記認証サーバへ送信するにあたり、接続先のアドレスを前記接続情報から取得し、
前記認証サーバは、前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションＩＤを前記発行履歴データベースから取得し、前記セッションＩＤに対応する前記セッションＩＤに紐付けられた前記認証要求元情報に対して前記認証結果を送信する、
請求項２に記載の認証方法。
【請求項４】
ユーザＩＤごとに、当該ユーザＩＤで認証に用いられるユーザ端末との間で、認証履歴が同期されたサーバ側認証履歴データベースを有し、
送信された認証要求に対してワンタイムパスを生成するワンタイムパス生成部と、
前記ワンタイムパスを含む情報を前記ユーザ端末へ送信するワンタイムパス送信部と、
前記ユーザ端末から送信された認証情報に含まれるワンタイムパスとユーザＩＤと、前記ユーザ端末側の前記認証履歴データベースに含まれる認証履歴のハッシュ値とを取得する認証情報受信部と、
前記認証情報に含まれる取得した前記ユーザＩＤに対応する前記認証履歴データベースに含まれる前記認証履歴のハッシュ値を生成するサーバ側ハッシュ生成部と、
前記認証情報に含まれる前記認証履歴のハッシュ値と、前記認証サーバが生成した前記認証履歴のハッシュ値とを比較して、同一であれば認証する認証情報解析部と、
前記認証の結果である認証結果を前記認証サーバ側の認証履歴データベースに記録するサーバ側認証履歴更新部と、
前記認証結果を前記認証要求の送信元へ送信し、かつ前記認証結果を含む認証履歴変更情報を前記ユーザ端末へ送信して、前記認証履歴データベース同士の同期をさせる、認証結果送信部と、
を実行する認証サーバ。
【請求項５】
前記認証サーバは、さらに、前記認証要求を送信してきた操作端末から受信し、
前記ワンタイムパスとともにセッションＩＤを生成して、前記ワンタイムパス及びセッションＩＤを前記操作端末である認証要求元情報とともに発行履歴データベースに登録する発行履歴登録部と、
前記ワンタイムパスを、前記認証サーバへの接続を可能とする接続情報とともにコード画像とするコード画像生成部と、
を実行し、
前記ワンタイムパス送信部で送信する前記ワンタイムパスを含む情報として前記コード画像を前記操作端末へ送信し、
前記認証結果送信部で前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションＩＤを前記発行履歴データベースから取得した上で、前記セッションＩＤに対応する前記セッションＩＤに紐付けられた前記認証要求元情報が示す前記操作端末に対して前記認証結果を送信する、
請求項４に記載の認証サーバ。
【請求項６】
コンピュータを請求項４又は５に記載の認証サーバとして動作させるためのプログラム。
【請求項７】
認証サーバにおける識別符号であるユーザＩＤと、前記認証サーバが前記ユーザＩＤごとに有する認証履歴データベースとの間で同期された認証履歴とを有し、
前記認証サーバが生成したワンタイムパスと接続情報とを含むコード画像を読み取る画像取得部と、
前記コード画像を解析して前記ワンタイムパスと前記接続情報とを取得する画像解析部と、
前記認証履歴のハッシュ値を求める端末側ハッシュ生成部と、
前記ワンタイムパスと前記ハッシュ値と前記ユーザＩＤとから認証情報を生成する認証情報生成部と、
前記接続情報から特定される接続先へ、前記認証情報を送信する認証情報送信部と、
前記認証サーバから送信されてきた認証結果を受信して、前記認証履歴データベースに記録する端末側認証履歴更新部と、
を実行するユーザ端末。
【請求項８】
コンピュータを請求項７に記載のユーザ端末として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、カードリーダを必要としない認証に関する。
【背景技術】
【０００２】
システムへの認証方法には、ＩＤやパスワードなどの「本人しか知らない情報」を利用するＷＹＫ（What You Know）認証が広く利用されている。一方、それとは別に、ＩＣカードやＵＳＢトークンなどの「本人しか持っていないもの」を利用するＷＹＨ（What You Have）認証がある。ＷＹＨ認証はＷＹＫ認証に比べて、現物が必要とされる分、セキュリティ強度が高い。一方で、端末ごとにカードリーダなどの読取装置を必要とするため、初期投資コストやメンテナンスコストが上がる、という問題がある。
【０００３】
これに対して、普及の進んだスマートフォンを用いるＷＹＨ認証が検討されている。スマートフォンはカメラ及びＱＲコード（登録商標）認識ソフトを有するものが大半であり、リーダーとして必要なハードウェア及びソフトウェアを備えている。また、個々人が保有する物であるため、「本人しか持っていないもの」として十分な識別力を有する。
【０００４】
このような認証システムはいくつか出願されている。特許文献１には、操作端末に表示されたＱＲコードを、ユーザが所有している携帯電話で読み取ることで、前記操作端末と携帯電話とのペアリングを実施し、当該携帯電話から認証サーバに対してワンタイムパスを送信し、当該携帯電話の固有識別番号とワンタイムパスとの組み合わせによりユーザの特定を行う手法が提案されている。
【０００５】
また、特許文献２には、ユーザが所有しているスマートフォンと一回限りのランダムキー（ワンタイムパス）とを利用した認証方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２３８０３６号公報
【特許文献２】特表２０１７−５１５３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方式では端末の固有識別番号という固有の値を認証に利用しているため、この値が漏洩すると容易に成りすましが可能になってしまうというセキュリティ上の問題があった。また、特許文献２の方式では、認証装置側からランダムキーをユーザのスマートフォンに送信するので、その送信先となる認証対象のユーザやユーザが所有しているスマートフォンを事前に把握していなければならず、事前にスマートフォンを登録しなければ使えなかった。
【０００８】
そこでこの発明は、使用する携帯端末を事前登録するような手間を省いて利用することができ、なおかつ認証に用いる値が漏洩することで成りすましが行われるセキュリティ上の問題を解消して、より利便性及び安全性の高い認証システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明は、
認証サーバとユーザ端末とを用いた認証方法であって、
前記認証サーバと、ユーザＩＤを有する前記ユーザ端末とが、ユーザＩＤごとの同期された認証履歴を共有した認証履歴データベースを有し、
前記認証サーバは、認証要求に対してワンタイムパスを生成して送信し、
前記ユーザ端末は、前記ワンタイムパスと前記認証履歴データベースのハッシュ値と前記ユーザＩＤとを含む認証情報を生成して前記認証サーバへ送信し、
前記認証サーバは、前記認証情報に含まれる前記ユーザＩＤに対応する前記認証履歴データベースのハッシュ値と、前記認証情報に含まれるハッシュ値とが一致する場合に、前記認証情報に含まれる前記ワンタイムパスに対応した前記認証要求に対して認証し、その認証結果を送信し、
前記認証の結果を含む認証履歴変更情報を前記ユーザ端末へ送信するとともに、前記認証の結果を前記認証サーバ側の前記認証履歴データベースに記録し、
前記ユーザ端末は、前記認証の結果を受信して、前記ユーザ端末側の前記認証履歴データベースに記録して、前記認証履歴データベース同士の同期を実現する、
ユーザ端末を用いた認証方法により上記の課題を解決したのである。
【００１０】
前記認証方法は、さらに、認証を受けて操作を行う操作端末を用い、
前記認証要求は前記操作端末から前記認証サーバへ送信するものであり、
前記認証サーバは前記ワンタイムパスとともにセッションＩＤを生成して、前記ワンタイムパス及びセッションＩＤを前記操作端末である認証要求元情報とともに発行履歴データベースに登録し、
前記ワンタイムパスを送信する際には、前記認証サーバへの接続を可能とする接続情報とともにコード画像として、前記操作端末へ送信し、
前記操作端末は送信された前記コード画像を表示し、
前記ユーザ端末は前記操作端末に表示された前記コード画像をカメラによって撮影した上で解析して前記ワンタイムパス及び前記接続情報を取得し、
前記ユーザ端末は、前記認証情報を前記認証サーバへ送信するにあたり、接続先のアドレスを前記接続情報から取得し、
前記認証サーバは、前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションＩＤを前記発行履歴データベースから取得し、前記セッションＩＤに対応する前記セッションＩＤに紐付けられた前記認証要求元情報に対して前記認証結果を送信する、
実施形態を採用することができる。
【００１１】
この発明にかかる認証方法を実行する認証サーバは、
ユーザＩＤごとに、当該ユーザＩＤで認証に用いられるユーザ端末との間で、認証履歴が同期されたサーバ側認証履歴データベースを有し、
送信された認証要求に対してワンタイムパスを生成するワンタイムパス生成部と、
前記ワンタイムパスを含む情報を前記ユーザ端末へ送信するワンタイムパス送信部と、
前記ユーザ端末から送信された認証情報に含まれるワンタイムパスとユーザＩＤと、前記ユーザ端末側の前記認証履歴データベースに含まれる認証履歴のハッシュ値とを取得する認証情報受信部と、
前記認証情報に含まれる取得した前記ユーザＩＤに対応する前記認証履歴データベースに含まれる前記認証履歴のハッシュ値を生成するサーバ側ハッシュ生成部と、
前記認証情報に含まれる前記認証履歴のハッシュ値と、前記認証サーバが生成した前記認証履歴のハッシュ値とを比較して、同一であれば認証する認証情報解析部と、
前記認証の結果である認証結果を前記認証サーバ側の認証履歴データベースに記録するサーバ側認証履歴更新部と、
前記認証結果を前記認証要求の送信元へ送信し、かつ前記認証結果を含む認証履歴変更情報を前記ユーザ端末へ送信して、前記認証履歴データベース同士の同期をさせる、認証結果送信部と、
を実行する。
【００１２】
前記認証サーバは、さらに、前記認証要求を送信してきた操作端末から受信し、
前記ワンタイムパスとともにセッションＩＤを生成して、前記ワンタイムパス及びセッションＩＤを前記操作端末である認証要求元情報とともに発行履歴データベースに登録する発行履歴登録部と、
前記ワンタイムパスを、前記認証サーバへの接続を可能とする接続情報とともにコード画像とするコード画像生成部と、
を実行し、
前記ワンタイムパス送信部で送信する前記ワンタイムパスを含む情報として前記コード画像を前記操作端末へ送信し、
前記認証結果送信部で前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションＩＤを前記発行履歴データベースから取得した上で、前記セッションＩＤに対応する前記セッションＩＤに紐付けられた前記認証要求元情報が示す前記操作端末に対して前記認証結果を送信する、
実施形態を採用することができる。
【００１３】
この発明にかかる認証方法を実行するユーザ端末は、
認証サーバにおける識別符号であるユーザＩＤと、前記認証サーバが前記ユーザＩＤごとに有する認証履歴データベースとの間で同期された認証履歴とを有し、
認証サーバが生成したワンタイムパスと接続情報とを含むコード画像を読み取る画像取得部と、
前記コード情報を解析して前記ワンタイムパスと前記接続情報とを取得する画像解析部と、
前記認証履歴のハッシュ値を求める端末側ハッシュ生成部と、
前記ワンタイムパスと前記ハッシュ値と前記ユーザＩＤとから認証情報を生成する認証情報生成部と、
前記接続情報から特定される接続先へ、前記認証情報を送信する認証情報送信部と、
前記認証サーバから送信されてきた認証の結果を受信して、前記認証履歴データベースに記録する端末側認証履歴更新部と、
を実行する。
【発明の効果】
【００１４】
この発明にかかる認証方法及び認証システムは、前記認証サーバ及び前記ユーザ端末との間で認証履歴データベースを同期し、その認証履歴データベースの認証履歴のハッシュ値同士を比較して認証に用いる。このため、ある時点での認証履歴がどちらかから流出したとしても、その認証履歴を利用して第三者が認証しようとしても、その後に同期している認証履歴が変更されていれば、認証がされないことになるため、固有の値を用いるよりも高いセキュリティを発揮する。昨今のスマートフォン用ソフトウェアはリバースエンジニアリングが容易であるため、ユーザ認証に固有の値を利用すると容易に成りすましを可能としてしまうが、この発明にかかる認証方法ではそれを防ぐことができる。
【００１５】
単純に認証の度に異なる認証コードを使用するだけならば認証の度にサーバから新たな認証コードを配信しなければならないが、そのたびに盗聴されるリスクがある。これに比べてこの発明にかかる認証方法では、前記認証サーバと前記ユーザ端末とが認証しようとする段階で既に共有している情報を用いて認証するため、前記認証サーバから配信する認証コードが盗聴されるおそれがなく、認証の度に異なる値を利用したセキュリティの高い認証が可能となる。
【００１６】
また、操作端末やユーザ端末から認証要求を認証サーバに送り、認証サーバがそれに対する返信として操作端末やユーザ端末へ情報を送るので、認証サーバは操作端末やユーザ端末のアドレスなどを予め把握しておく必要はない。操作端末を介する場合でもコード画像をユーザ端末のカメラで読み取ることで、ワンタイムパスや接続情報などの情報をユーザ端末が取得して、認証サーバへ必要な情報を送ることができる。
【００１７】
さらに、操作端末にはカードリーダなどの専用装置を備え付ける必要がなく、ディスプレイへの表示でユーザ端末へ情報を中継した認証が可能となる。また、操作端末にＩＤなどを入力する必要がないため、操作端末が共有するＰＣなどである場合に、ｗｅｂブラウザなどに個人情報が残ってしまうリスクを防ぐことができる。
【００１８】
ユーザ端末としてはｗｅｂブラウザを経由する方法以外に、専用のアプリケーションを用いてこの発明の認証方法を利用させるようにすることができる。これにより、他のビジネスに必要とする機能を当該アプリケーションに併せて持たせることで、サービス配信企業はユーザにさらなるサービスを提供させるプラットフォームとすることができる。
【図面の簡単な説明】
【００１９】
【図１】この発明にかかる認証方法を実施するシステムの第一の実施形態例の機能ブロック図
【図２】第一の実施形態例におけるユーザ情報データベースの例を示すテーブル
【図３】第一の実施形態例におけるサーバ側認証履歴データベースの例を示すテーブル
【図４】第一の実施形態例における発行履歴データベースの例を示すテーブル
【図５】第一の実施形態例における端末側認証履歴データベースの例を示すテーブル
【図６】第一の実施形態例における処理フロー例の前半
【図７】第一の実施形態例における処理フロー例の後半
【図８】この発明にかかる認証方法を実施するシステムの第二の実施形態例の機能ブロック図
【図９】第二の実施形態例における処理フロー例の前半
【図１０】第二の実施形態例における処理フロー例の後半
【発明を実施するための形態】
【００２０】
以下、この発明について詳細に説明する。この発明は、ユーザが所有するユーザ端末を用いて認証を行うＷＹＨ認証の認証方法、それを実現する認証システム、及びそれを構成する認証サーバ、ユーザ端末、それらとしてコンピュータを実行させるためのプログラムである。
【００２１】
前記認証サーバは、単独のサーバでもよいし、複数のサーバからなるものでもよい。この発明にかかる認証サーバとしての機能のみを有するものでもよいし、他のサーバとしての機能を並行して処理するものでもよい。サーバとして外部ネットワークに接続されていることが必要であり、インターネットに接続されていることが望ましい。また、サーバとして記憶装置や演算装置を備える。後述する部やデータベースは、これらの記憶装置に記録されている情報、演算装置によって実行されるプログラム、又はそれらの両方である。
【００２２】
前記ユーザ端末は、個人が保有するネットワーク対応端末である。移動体通信網に対してデータ通信できる携帯電話であると好ましい。また、カメラを有するとともに、一次元又は二次元コードを読み取るソフトウェアを有していると好ましい。以上のことから、ソフトウェアをインストール可能なスマートフォンが好適に用いられる。
【００２３】
この発明にかかる認証方法は、前記ユーザ端末で行う認証に用いてもよいし、前記ユーザ端末とは別に設けられている操作端末で行う認証に用いてもよい。このような操作端末としては、前記認証サーバと連携して使用可能になるオフィス用の共有型クライアントや、公共スペースに設置され料金従量制であったり時限制限つきであったりして利用可能になっている共有パソコンなどが挙げられる。また、銀行その他のＡＴＭや、ポイントサービスなどの会員制サービスのための発行機などでもよい。これらの端末は認証されることでその端末を使用可能となる。いずれにしても、前記操作端末はディスプレイを有していることが望ましい。ディスプレイを通じてユーザ端末にコード画像を認識させることができる。また、その他にユーザ端末に対して近距離無線通信などの形で情報を伝達できる装置を有していてもよい。認証サーバから受け取った情報を、ユーザ端末に受け渡すことができれば、方式は特に限定されない。ただし、その中でもディスプレイを介して情報を受け渡すと、ユーザ端末には直接接続されないためセキュリティ上好ましい。
【００２４】
なお、一つの前記操作端末から接続する認証サーバは、一つに限定されない。例えば、デパートに設置されている前記操作端末で、テナントの利用者が共有で利用するものである場合、テナントを管理する会社ごとに異なる前記認証サーバを用意しているケースが考えられる。逆に、特定の銀行用の操作端末などの場合、接続先である認証サーバは一つに固定される。
【００２５】
また、前記ユーザ端末として、共用ではなく個人が管理するコンピュータにおいて、ｗｅｂブラウザや専用アプリケーション、ゲームクライアントソフトなどを起動し、それらのソフトウェアを介して特定のサービスを受ける際の認証においてこの発明にかかる認証方法を適用してもよい。
【００２６】
この発明にかかる認証方法を実行する認証システムの第一の実施形態例について図１の機能ブロック図とともに説明する。
【００２７】
認証サーバ１１は、ユーザ情報データベース２１（以下、図中ではデータベースを「ＤＢ」と略記する。他のデータベースも同様。）を有する。ユーザ情報データベース２１は、この発明にかかる認証方法を利用するユーザを登録するものである。個々のユーザを識別するために、ユーザＩＤを有することが必要となる。このユーザＩＤは認証サーバ１１又は認証システム全体で、ユニークなキーである。また、ユーザＩＤと連携して連絡先のメールアドレスや、ユーザ端末１２による認証の可否を登録してあるものでもよい。このユーザ情報データベース２１の例を図２に示す。
【００２８】
認証サーバ１１は、サーバ側認証履歴データベース２５を有する。このサーバ側認証履歴データベース２５はそれぞれのユーザＩＤごとの過去の認証履歴を記録している。過去の全ての認証結果を認証履歴として保存している必要はないが、複数回数分に亘って保存しておりそれを利用可能としておくとセキュリティ上好ましい。保存する情報は、認証履歴として識別力のある情報である必要がある。そのサーバ側認証履歴データベース２５に保存された認証履歴のテーブルの例を図３に示す。ユーザＩＤごとに、ログインに使用したワンタイムパスと認証時刻とを記録している。これらの情報は、ユーザＩＤごとに、当該ユーザＩＤのユーザが保持するユーザ端末１２に記録された後述する端末側認証履歴データベース６１との間で、同期される。
【００２９】
認証サーバ１１は、接続情報２２を有する。この接続情報は認証サーバ１１のＦＱＤＮ（Fully Qualified Domain Name）などの、操作端末１３やユーザ端末１２がネットワーク経由で接続するためのアドレスを含む。その他に、認証サーバ１１へのアクセスを許可するための情報など、その他の情報が含まれていてもよい。ただし、認証方法全体で利用する認証サーバ１１が固定され、ユーザ端末１２の送信先が固定されている場合には、この接続情報２２を後述するコード画像に含める必要がなくなる。
【００３０】
認証サーバ１１は、発行履歴データベース２３を有する。発行履歴データベース２３は、操作端末１３やユーザ端末１２から認証要求があった際に、生成するワンタイムパスやセッションＩＤを一時的に記録し、認証作業中の端末であることを認証サーバ１１が識別するための情報を保有する。この発行履歴データベース２３の例を図４に示す。セッションＩＤ及びワンタイムパスは認証サーバ１１又は認証システム全体で、ユニークなキーである。有効期限は、当該認証要求に応じた一連の認証処理を受け付ける期限である。認証サーバ１１とユーザ端末１２との間でデータが往復するため、通常の認証の有効期限より長い時間を確保させてもよい。
【００３１】
操作端末１３は、上記の通り、ハードウェアとして画像を表示するディスプレイ５１を有する。このディスプレイ５１は操作端末１３を利用する際に用いられるモニタなどの画面そのままでもよいし、何らかのサブディスプレイであってもよい。また、認証サーバ１１とネットワーク経由で接続されており、認証サーバ１１に対して情報を送信し、また受信することができる。さらに、認証サーバ１１から認証のための情報を受ける以外に、操作端末１３を使用して受けるサービスを実行できるものである必要がある。操作端末１３を用いてなんらかの作業を行うために認証を行うからである。このため、図示しないが認証サーバ１１以外のその他のサーバと接続されていてよい。また、認証サーバ１１が前記のサービスを提供するその他の機能を有していても良い。
【００３２】
ユーザ端末１２は、ユーザＩＤ６２を有する。これはユーザ端末１２を保有するユーザが、利用しようとする認証サーバ１１に対して個人を識別するための符号となるもので、上記のユーザ情報データベース２１に記録されているものに対応する。ユーザ端末１２の記憶装置内に記録されており、適宜必要に応じて読み出し可能であるとよい。
【００３３】
ユーザ端末１２は、端末側認証履歴データベース６１を有する。この端末側認証履歴データベース６１は、ユーザＩＤごとにサーバ側認証履歴データベース２５に記録された認証履歴と同期された情報が記録されている。後述するハッシュ値を算出するものであるため、サーバ側認証履歴データベース２５に記録されている情報のうち、ユーザ端末１２の利用者の該当するユーザＩＤを除く、当該ユーザＩＤに関する情報と一致するように、後述するタイミングで同期が図られている。この端末側認証履歴データベース６１が保有するテーブルの例を図５に示す。
【００３４】
ユーザ端末１２は、画像取得部６３を有する。具体的にはカメラであってよい。操作端末１３のディスプレイ５１に表示されたコード画像を読み取るための装置である。読み取ったコード画像は、一次元のバーコードや二次元コードとして、コード化された情報を解析して取り出し、ユーザ端末１２で利用する。
【００３５】
以上のハードウェアからなる認証システムにより認証方法を実行する際のフロー例を図６及び図７に示す。このフロー例を用いてそれぞれの処理部について説明する。
【００３６】
まず、ユーザは操作端末１３を操作して、操作端末１３でサービスを受けるために、認証の処理を開始する（Ｓ１０１）。ログインのための画面は最初から開いていてもよいし、操作に応じて開かれるものでもよい（Ｓ１０２）。操作端末１３が複数のサービスを利用可能である場合には、ここで利用しようとするサービスを選択するとよい。複数の認証サーバ１１に繋がる設定である場合、そのサービスに応じて、接続先である認証サーバ１１が選択される。もちろん、一つの認証サーバ１１に対して固定的に接続されるものでもよい。いずれにしても操作端末１３の認証要求送信部５２から、認証サーバ１１へ認証要求が送信される（Ｓ１０３）。
【００３７】
認証サーバ１１では、操作端末１３から送信された認証要求を認証要求受信部３１にて受信する（Ｓ１１１）。認証要求を受信した認証サーバ１１は、セッションＩＤ生成部３２とワンタイムパス生成部３３とを実行する。セッションＩＤ生成部３２では、当該認証要求と紐づくセッションＩＤを生成させる（Ｓ１１２）。これは認証の完了又は拒否までの一連のセッションを識別するための符号である。ワンタイムパス生成部３３では、ワンタイムパスを生成させる（Ｓ１１３）。ワンタイムパスは、操作端末１３，ユーザ端末１２に送信し、後述する認証情報受信部４１で受信する情報との紐付けに用いる識別のための符号である。
【００３８】
認証サーバ１１は、生成したワンタイムパスとセッションＩＤとを発行履歴データベース２３に登録する発行履歴登録部３４を実行する（Ｓ１１４）。この登録したレコードは後のＳ１５６で認証を求めた操作端末１３を突き止める際に用いられる。このため、セッションＩＤとともに、認証要求を送信してきた認証要求元情報として操作端末１３のアドレスも登録しておくことが望ましい。このアドレスは、セッションを示すＩＰアドレスやポート番号であってよい。
【００３９】
また、認証サーバ１１は、発行履歴登録部３４と前後して又は並行して、前記接続情報と前記ワンタイムパスとを含めたコード画像を生成するコード画像生成部３５を実行する（Ｓ１１５）。生成したコード画像は、規格に沿って読み取ることで、前記接続情報と前記ワンタイムパスとをデコードできる。また、前記接続情報及び前記ワンタイムパス以外の情報を含めてコード画像を生成させてもよい。なお、ユーザ端末１２の接続先となる認証サーバ１１が固定されている場合には、ここで前記接続情報をコード画像に含めることなく、ユーザ端末１２が予め把握してある接続情報を利用する実施形態としてよい。
【００４０】
認証サーバ１１は、操作端末１３へワンタイムパスを送信するワンタイムパス送信部として、前記のコード画像の画像データを操作端末１３へ送信するコード画像送信部３６を実行する（Ｓ１１６）。具体的には、認証サーバ１１が有するｗｅｂサーバ機能などによって、前記認証要求に対するレスポンスとして前記画像データ及び前記画像データを表示するドキュメント等その他の情報を送信する形態が挙げられる。ただし、操作端末１３の設定や用途により適宜選択可能であり、画像データを送信する際のプロトコルや随伴するデータは特に限定されない。
【００４１】
操作端末１３はコード画像受信部５３で前記コード画像を受信する（Ｓ１２１）。受信したコード画像は、画像の形式に従ってディスプレイ５１で表示させる（Ｓ１２２）。これにより、認証を受けようとするユーザは必要な情報を受信したことが確認できる。
【００４２】
認証を受けようとするユーザが保有するユーザ端末１２は、カメラである画像取得部６３で前記コード画像が表示されたディスプレイ５１を撮影する（Ｓ１３１）。取得した前記コード画像を解析して前記ワンタイムパスと前記接続情報とを取得する画像解析部６４を実行する（Ｓ１３２）。また、それら以外の情報が前記コード画像に含まれている場合にはその情報も同時に取得する。
【００４３】
ユーザ端末１２は、前記の取得された情報のうち、前記ワンタイムパスから認証情報を作成するが、その前に、端末側認証履歴データベース６１から認証履歴のハッシュ値を生成する端末側ハッシュ生成部６５を実行する（Ｓ１３４）。このハッシュ値は、後述するサーバ側ハッシュ生成部４４で算出される当該ユーザのユーザＩＤについての認証履歴のハッシュ値と一致することによって認証がされる。すなわち、ユーザＩＤとならぶ認証のための識別情報であるが、利用の度に更新される認証履歴のハッシュ値を用いることで、やり取りされ照合される値が変化し続けることになるため、この発明にかかる認証方法は高いセキュリティを有する。なお、認証履歴の全部のハッシュ値であってもよいし、認証履歴の一部のハッシュ値であってもよいが、一部の場合は、認証サーバ１１側とユーザ端末１２側とで、どこまでの履歴を使用するかの設定を統一しておく必要がある。
【００４４】
ユーザ端末１２は、前記の認証履歴のハッシュ値と、画像解析部６４で取得した前記ワンタイムパスと、ユーザ端末１２が保持しているユーザＩＤ６２とから、認証情報を生成する認証情報生成部６６を実行する（Ｓ１３５）。ここで認証情報は、それらのハッシュ値、ワンタイムパス、ユーザＩＤを取り出すことが出来る形式で保存されている。それらのデータをそのままで送ることもできるが、ユーザＩＤが含まれており、何らかの形でエンコードして送ることが望ましい。
【００４５】
また、ユーザ端末１２は、前記の取得された情報のうち、前記接続情報から、接続先である認証サーバ１１のアドレスを取得する接続先判定部６７を実行する（Ｓ１３３）。また、アドレス以外に必要なポート番号やその他の情報が前記接続情報に含まれている場合には、それらの情報を反映させて接続先や接続のためのコマンド、設定値等を決定する。
【００４６】
ユーザ端末１２は、接続先判定部６７で取得した前記接続先に対して、認証情報生成部６６で生成した前記認証情報を送信する認証情報送信部６８を実行する（Ｓ１３６）。ユーザ端末１２として携帯電話（スマートフォンを含む）である場合、携帯電話回線を通じた送信でもよいし、無線ＬＡＮ機能による送信でもよく、基本的にはインターネット網を介して認証サーバ１１に接続するのであれば通信経路は特に限定されない。一方で、インターネットを介することなく、閉域網のみを経由して閉域網に設けられた認証サーバ１１に接続する実施形態としてもよい。
【００４７】
認証サーバ１１は、前記認証情報を受信して（Ｓ１４１）、前記認証情報に含まれた前記認証履歴のハッシュ値、前記ワンタイムパス、前記ユーザＩＤを取得する認証情報受信部４１を実行する（Ｓ１４２）。基本的にはネットワークインターフェースを通じてインターネット等を介して受信する。サーバとして、送信されてきた情報を受け付け、自動的に解読する。この段階では前記認証情報は個別に送られてきた情報であり、まだ前記セッションＩＤとは結びついていない。
【００４８】
認証サーバ１１は、受信した前記認証情報に含まれた情報を解析して認証を行う、認証情報解析部４２を実行する。これは複数の段階の処理からなる。まず、前記認証情報に含まれたユーザＩＤが、有効なユーザＩＤとしてユーザ情報データベース２１に登録されているか否かを判定する（Ｓ１５１）。登録されていなければ（Ｓ１５１→Ｎｏ）不正なユーザによる認証であると判定して認証を拒否する（Ｓ１５５）。なお、前記認証情報として受信した情報の中にそもそもユーザＩＤに該当する情報が含まれていない場合も、同様に認証を拒否する。
【００４９】
有効なユーザＩＤとしてユーザ情報データベース２１に登録されていれば（Ｓ１５１→Ｙｅｓ）、認証サーバ１１は、前記認証情報に含まれた前記ワンタイムパスが、発行履歴データベース２３に存在しているか否かを判定する（Ｓ１５２）。前記ワンタイムパスが存在していなければ（Ｓ１５２→Ｎｏ）、認証を拒否する。認証サーバ１１はワンタイムパスによってどの操作端末１３から要求された認証要求であるかを判定するため、一致するワンタイムパスが無いとそもそも認証不可能となる。前記ユーザＩＤと前記ワンタイムパスが存在していることがわかれば（Ｓ１５２→Ｙｅｓ）、存在するユーザによる先にされた認証要求に続く処理であると判定できることになる。そこで、認証サーバ１１は、存在することが確認された当該ユーザＩＤについて、サーバ側認証履歴データベース２５に記録された認証履歴のハッシュ値を生成するサーバ側ハッシュ生成部４４を実行する（Ｓ１５３）。このとき、当該ユーザＩＤ以外の認証履歴についてはハッシュ値の計算に含めない。認証を要求するユーザＩＤのみの認証履歴についてハッシュ値を求める。認証サーバ１１とユーザ端末１２とで認証履歴が同期されていれば、同一である認証履歴の値について、そのハッシュ値同士も同一になることを利用し、ハッシュ値同士を比較して一致するか否かを判定する（Ｓ１５４）。このハッシュ値同士が一致しなければ（Ｓ１５４→Ｎｏ）、認証失敗となる（Ｓ１５５）。
【００５０】
認証サーバ１１の認証情報解析部４２は、前記ユーザＩＤが存在し（Ｓ１５１→Ｙｅｓ）、前記ワンタイムパスが発行履歴データベース２３に存在し（Ｓ１５２→Ｙｅｓ）、認証サーバ１１側の認証履歴のハッシュ値とユーザ端末１２側の認証履歴のハッシュ値とが一致すれば（Ｓ１５４→Ｙｅｓ）、認証は成功したと処理する。その場合、前記ワンタイムパスに対応するセッションＩＤを発行履歴データベース２３から取得し（Ｓ１５６）、当該セッションＩＤに紐付けられた認証要求元情報に対応する操作端末１３に対して、認証結果を送信する認証結果送信部４５を実行する（Ｓ１５７）。操作端末１３は、認証成功である認証結果を受信したら、操作端末１３によって提供させるサービス等の認証がされたと判断して、サービスの提供を開始させる認証結果受信部５４を実行する（Ｓ１６１）。
【００５１】
また、認証サーバ１１は、認証結果を送信する認証結果送信部４５として、ユーザ端末１２にも認証結果を送信する（Ｓ１５８）。図１の実施形態ではＳ１６１と同じ認証結果送信部４５により実行されているが、別個に送信するものであってもよい。ここで、認証結果としては、認証に成功したという事実とともに、履歴として必要な情報を送信する。この例では、双方の認証履歴データベースで同期させるべき情報として、認証時刻を認証結果とともに送信している。
【００５２】
ユーザ端末１２は、この認証結果及び認証時刻を受信する認証結果受信部７１を実行する（Ｓ１７１）。この受信した認証時刻とともに、認証に用いた前記ワンタイムパスを端末側認証履歴データベース６１に登録する端末側認証履歴更新部７２を実行する（Ｓ１７２）。この作業と並行して、認証サーバ１１では、当該ユーザＩＤについて、認証した際に用いたワンタイムパスと認証時刻とを、サーバ側認証履歴データベース２５に登録するサーバ側認証履歴更新部４３を実行する。これらを並行して行うことによって、認証履歴データベース同士の同期が実現され、次に認証を行う際にはそれぞれのハッシュ生成部（４４，６５）で生成するハッシュ値が同一となり、認証が引き続いて可能となる。
【００５３】
なお、ユーザがユーザ端末１２を用いて最初に認証する際には、認証サーバ１１側もユーザ端末１２側も、当該ユーザのユーザＩＤについての認証履歴データベースはどちらも認証履歴の無い状態である。従って、ユーザ端末１２からハッシュ値を含まない情報が送られてきた場合、認証サーバ１１は初期設定を行うようにするとよい。初期設定としては初期設定用のその他の認証情報を課している既存の手法を利用できる。ただし、初期設定が完了した段階で認証履歴データベース（２５，６１）同士が新たに設定したユーザのユーザＩＤについては同期されていることが必要となる。
【００５４】
この発明にかかる認証方法は、同期される端末側認証履歴データベース６１を有するユーザ端末１２とは別の操作端末１３の認証に用いるだけでなく、ユーザ端末１２自体で認証が必要なサービスを受けようとする際にも用いることができる。その場合の実施形態例の機能ブロック図を図８に、フローチャートを図９及び図１０に示す。この第二の実施形態例は、第一の実施形態例に比べて、次のように変更される。操作端末１３はなく、ユーザ端末１２にて認証要求送信部８１が実行される（Ｓ１０１ａ〜Ｓ１０３ａ）。ユーザ端末１２から直接に認証要求が来るため、この段階でユーザ端末１２は認証サーバ１１の接続情報を保有しており、認証サーバ１１では、接続情報２２が不要となっている。また、コード画像を介して情報を伝達するのではなく、直接のレスポンスとしてワンタイムパスをユーザ端末１２に返答すればよいため、コード画像生成部３５及びコード画像送信部３６（Ｓ１１５，Ｓ１１６）の代わりに、ワンタイムパスをユーザ端末１２へ送信するワンタイムパス送信部３９が実行される（Ｓ１１６ａ）。ユーザ端末１２はこのワンタイムパスを受信するワンタイムパス受信部８２を実行し（Ｓ１３２ａ）、画像取得部６３及び画像解析部６４は実行しない。また、接続情報をコード画像から取り出すことなく接続先である認証サーバ１１のアドレスは把握されているため、接続先判定部６７（Ｓ１３３）は不要となる。認証の際にそれぞれの認証履歴データベースのハッシュ値を比較する点は変わらない（Ｓ１３４ａ〜Ｓ１３６ａ）。ただし、認証結果送信部４５が認証結果を送信する先はユーザ端末１２のみとなり、応答先となる認証要求元は発行履歴データベース２３から取得することなく判明しているため、Ｓ１５６は不要となり、ユーザ端末１２へそのまま認証結果を送信して認証を踏まえたサービスを提供可能にする（Ｓ１５７ａ、Ｓ１７０）。ただし、セッションの管理上、発行履歴データベース２３は管理されていると好ましい。また、認証結果を受けたサービスを開始することと並行して、認証履歴データベースの同期は第一の実施形態例と同様に行う。
【００５５】
なお、この発明において認証が成功した場合、引き続いて認証サーバ１１と同一又は連携しているサーバからサービスを受ける場合はそのままサービスを受けることができるが、認証サーバ１１とは別個のサーバからサービスを受けるために認証を受ける場合には、認証サーバ１１は認証結果をその別個のサーバに対しても通知するとよい。
【符号の説明】
【００５６】
１１  認証サーバ
１２  ユーザ端末
１３  操作端末
２１  ユーザ情報データベース
２２  接続情報
２３  発行履歴データベース
２５  サーバ側認証履歴データベース
３１  認証要求受信部
３２  セッションＩＤ生成部
３３  ワンタイムパス生成部
３４  発行履歴登録部
３５  コード画像生成部
３６  コード画像送信部
３９  ワンタイムパス送信部
４１  認証情報受信部
４２  認証情報解析部
４３  サーバ側認証履歴更新部
４４  サーバ側ハッシュ生成部
４５  認証結果送信部
５１  ディスプレイ
５２  認証要求送信部
５３  コード画像受信部
５４  認証結果受信部
６１  端末側認証履歴データベース
６２  ユーザＩＤ
６３  画像取得部
６４  画像解析部
６５  端末側ハッシュ生成部
６６  認証情報生成部
６７  接続先判定部
６８  認証情報送信部
７１  認証結果受信部
７２  端末側認証履歴更新部
８１  認証要求送信部
８２  ワンタイムパス受信部
【図１】
2020135377.tif 000003
【図２】
2020135377.tif 000004
【図３】
2020135377.tif 000005
【図４】
2020135377.tif 000006
【図５】
2020135377.tif 000007
【図６】
2020135377.tif 000008
【図７】
2020135377.tif 000009
【図８】
2020135377.tif 000010
【図９】
2020135377.tif 000011
【図１０】
2020135377.tif 000012
【手続補正書】
【提出日】令和2年4月2日(2020.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
認証サーバとユーザ端末とを用いた認証方法であって、
前記認証サーバと、ユーザＩＤを有する前記ユーザ端末とが、ユーザＩＤごとに同期された認証履歴を共有する認証履歴データベースを有し、
前記認証サーバは、認証要求に対してワンタイムパスを生成して送信し、
前記ユーザ端末は、前記ワンタイムパスと前記認証履歴データベースのハッシュ値と前記ユーザＩＤとを含む認証情報を生成して前記認証サーバへ送信し、
前記認証サーバは、前記認証情報に含まれる前記ユーザＩＤに対応する前記認証履歴データベースのハッシュ値と、前記認証情報に含まれるハッシュ値とが一致する場合に、前記認証情報に含まれる前記ワンタイムパスに対応した前記認証要求に対して認証し、その認証結果を送信し、
前記認証結果を含む認証履歴変更情報を前記ユーザ端末へ送信するとともに、前記認証結果を前記認証サーバ側の前記認証履歴データベースに記録し、
前記ユーザ端末は、前記認証結果を受信して、前記ユーザ端末側の前記認証履歴データベースに記録して、前記認証履歴データベース同士の同期を実現する、
ユーザ端末を用いた認証方法。
【請求項２】
さらに、認証を受けて操作を行う操作端末を用い、
前記認証要求は前記操作端末から前記認証サーバへ送信するものであり、
前記認証サーバは前記ワンタイムパスとともにセッションＩＤを生成して、前記ワンタイムパス及びセッションＩＤを前記操作端末である認証要求元情報とともに発行履歴データベースに登録し、
前記ワンタイムパスを送信する際には、前記認証サーバへの接続を可能とする接続情報とともにコード画像として、前記操作端末へ送信し、
前記操作端末は送信された前記コード画像を表示し、
前記ユーザ端末は前記操作端末に表示された前記コード画像をカメラによって撮影した上で解析して前記ワンタイムパス及び前記接続情報を取得し、
前記ユーザ端末は、前記認証情報を前記認証サーバへ送信するにあたり、接続先のアドレスを前記接続情報から取得し、
前記認証サーバは、前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションＩＤを前記発行履歴データベースから取得し、前記セッションＩＤに対応する前記セッションＩＤに紐付けられた前記認証要求元情報に対して前記認証結果を送信する、
請求項１に記載の認証方法。
【請求項３】
ユーザＩＤごとに、当該ユーザＩＤで認証に用いられるユーザ端末との間で、認証履歴が同期されたサーバ側認証履歴データベースを有し、
送信された認証要求に対してワンタイムパスを生成するワンタイムパス生成部と、
前記ワンタイムパスを含む情報を前記ユーザ端末へ送信するワンタイムパス送信部と、
前記ユーザ端末から送信された認証情報に含まれるワンタイムパスとユーザＩＤと、前記ユーザ端末側の端末側認証履歴データベースに含まれる認証履歴のハッシュ値とを取得する認証情報受信部と、
前記認証情報に含まれる取得した前記ユーザＩＤに対応する前記サーバ側認証履歴データベースに含まれる前記認証履歴のハッシュ値を生成するサーバ側ハッシュ生成部と、
前記認証情報に含まれる前記認証履歴のハッシュ値と、前記の生成した前記認証履歴のハッシュ値とを比較して、同一であれば認証する認証情報解析部と、
前記認証の結果である認証結果を前記サーバ側認証履歴データベースに記録するサーバ側認証履歴更新部と、
前記認証結果を前記認証要求の送信元へ送信し、かつ前記認証結果を含む認証履歴変更情報を前記ユーザ端末へ送信して、前記認証履歴データベース同士の同期をさせる、認証結果送信部と、
を実行する認証サーバであって、
前記認証サーバは、さらに、前記認証要求を送信してきた操作端末から受信し、
前記ワンタイムパスとともにセッションＩＤを生成して、前記ワンタイムパス及びセッションＩＤを前記操作端末である認証要求元情報とともに発行履歴データベースに登録する発行履歴登録部と、
前記ワンタイムパスを、前記認証サーバへの接続を可能とする接続情報とともにコード画像とするコード画像生成部と、
を実行し、
前記ワンタイムパス送信部で送信する前記ワンタイムパスを含む情報として前記コード画像を前記操作端末へ送信し、
前記認証結果送信部で前記認証結果を送信するにあたり、前記ワンタイムパスに対応する前記セッションＩＤを前記発行履歴データベースから取得した上で、前記セッションＩＤに対応する前記セッションＩＤに紐付けられた前記認証要求元情報が示す前記操作端末に対して前記認証結果を送信する、
認証サーバ。
【請求項４】
コンピュータを請求項３に記載の認証サーバとして動作させるためのプログラム。