次に、本発明の実施の形態について、図面を参照しつつ説明する。
[第1の実施形態]
(概要)
本実施形態は、情報通信端末が、予め登録されたユーザのパスワード導出パターンを構成する各要素(セル)に認証システム側と時刻同期して生成されたトークンコードを構成する数字及び/又は文字(以下、「数字等」という。)を割り当てるとともに、他の要素にランダムに生成された数字等を割り当てた暗証表をユーザインターフェース上に表示し、ユーザは、該暗証表を参照して、自身のパスワード導出パターンを構成する各要素に割り当てられた数字等を抜き出してパスワード(パスコード)として入力し、認証システムは、該生成した時刻同期のトークンコードに基づいて、入力されたパスワードに対する認証判定を行うユーザ認証方法及びこれを実現するシステムを開示する。
図1は、本発明の一実施形態に係るユーザ認証方法の概略スキームを説明するための概略である。同図に示すように、かかるスキームにおいて、ユーザは、インターネット10に接続可能な情報通信端末20を所持しており、また、ユーザが利用しようとする対象システム30(以下、「利用対象システム30」という。)及び認証システム40がインターネット10に接続されている。本例では、インターネットを用いて説明するが、IPネットワークに限らず、ノード間通信を可能とするあらゆるプロトコルのネットワークが適用可能である。認証システム40は、例えば、認証サーバ42、認証データベース44及び同期サーバ46を含んで構成される。
情報通信端末20は、典型的には、ユーザが所有するコンピューティングデバイスであり、例えば、パーソナルコンピュータや、携帯電話機、PDA、フィーチャーフォン(スマートフォン)、タブレットコンピュータ及びその他のインテリジェントデバイスが該当するが、これらに限られるものではない。ここでは、情報通信端末20は、タッチパネルを備えたスマートフォンであるものとする。情報通信端末20は、例えば、図示しないWiFiネットワークを介して、IPネットワークによって構築されたインターネット10に通信接続することができ、或いはキャリアネットワーク12からゲートウェイ14を介してインターネットに通信接続することができる。これにより、情報通信端末20は、インターネット10上のさまざまなノード(例えばWebサーバやクラウドサーバ)にアクセスすることができる。情報通信端末20のハードウェア構成は既知であるので、ここでは省略する。なお、本明細書に開示された他の実施形態から明らかなように、情報通信端末20は、通信機能を必須としておらず、単なる情報端末に置換することができる。
本実施形態では、情報通信端末20は、例えばソフトウェアトークン22aを含んで構成される。即ち、情報通信端末20には、セキュリティトークン機能(タイムシンクロナス機能)を実現するアプリケーションプログラム(以下、「セキュリティトークンプログラム」という。)がインストールされ、情報通信端末20は、プロセッサの制御の下、セキュリティトークンプログラムを実行することにより、同期サーバ46と時刻同期したトークンコードを生成することができるように構成されている。トークンコードは、所定の時間間隔毎に変化することから、ワンタイムパスワード(OTP)と呼ばれることもある。より具体的には、情報通信端末20と同期サーバ46とは、同じパスワード生成アルゴリズムを有するセキュリティトークンプログラムを実装する。従って、情報通信端末20と同期サーバ46とは、同じシードを用いることによって、時刻同期の同じトークンコードを生成することができる。同期サーバ46は、例えば、セキュリティトークンプログラム毎に割り当てられたトークンIDに従ってパスワード生成アルゴリズムを特定する。
パスワード生成アルゴリズムには、既知のものを利用することができ、例えば、あるシードからハッシュ関数のような数学的アルゴリズムを用いてトークンコードが生成される。シードは、例えば、現在時刻を使用するのであっても良いし、前回生成したパスワードを使用するものであっても良いし、又はこれらの組み合わせであっても良い。或いは、ソフトウェアトークン22a毎に割り当てられたトークンIDやユーザの情報に由来する値等(例えばユーザ名やユーザの誕生日、メールアドレス又はこれらの組み合わせ等)を用いても良い。例えば、セキュリティトークンプログラムは、トークンIDに対して所定の変換アルゴリズムを用いてシードを生成する。セキュリティトークンプログラムは、所定の時間毎(例えば1分毎)にトークンコードを生成するように構成されても良いし、ユーザのログイン時といったイベント時にそれを生成するように構成されても良い。
なお、ソフトウェアトークン22aの代わりに、他の実施形態で示されるような物理デバイスとしてのセキュリティトークン(ハードウェアトークン22b)が用いられても良い(図16参照)。ハードウェアトークン22bは、例えば、USBインターフェース等を介して情報通信端末20に接続される。即ち、ハードウェアトークン22bは情報通信端末20に接続されると、その内部でトークンコードを生成し、これを情報通信端末20に提供する。或いは、ユーザは、ハードウェアトークン22bのディスプレイに表示されたトークンコードを情報通信端末20に入力する。以下では、ソフトウェアトークン22aとハードウェアトークン22bとを区別することなく、単に、セキュリティトークン22と呼ぶことがある。
また、情報通信端末20は、後述するように、パスワード導出パターンに関する情報を記憶する。パスワード導出パターンに関する情報は、後述するパスワード導出パターン(パスワード抜き出しパターン)及び導出ルールを含む。
パスワード導出パターンとは、ある幾何学的なパターンを構成するセル(要素)群の中から、ユーザによって任意の順序で選択された特定の要素群の配列パターン及びその選択順序を定義したものである。言い換えれば、パスワード導出パターンは、幾何学的パターンにおけるどの要素群がどのような順番で選択されたかを示した配列ルールである。ここで注意すべきことは、パスワード導出パターンは、幾何学的パターン中の特定の要素に割り当てられた具体的な値そのものをいうのではなく、あくまでも、どの要素をどのような順番で選択したかという情報を表しているということである。
利用対象システム30は、ユーザが利用しようとするシステムであり、典型的には、ユーザによる利用に際してユーザ認証を要求するシステムである。利用対象システム30は、例えば、Webサイトを形成するWebサーバであっても良いし、クラウドサービスを提供するクラウドサーバであっても良い。このような場合には、典型的には、ユーザは、情報通信端末20を介してこのようなサーバにアクセスすることになる。他の例として、利用対象システム30は、ユーザのパーソナルコンピュータであっても良い。さらに他の例として、利用対象システム30は、自動ロッカー(コインロッカー)やセキュリティルームの鍵開閉システム、現金自動預払機(ATM)等であっても良い。さらに他の例として、利用対象システム30は、情報通信端末20においてアプリケーションプログラムが実行されることにより実現される仮想マシンであっても良い。
認証システム40は、利用対象システム30を利用しようとするユーザの認証を行うコンピュータシステムである。認証システム40は、例えば、認証サーバ42、認証データベース44、及び同期サーバ46等を含んで構成される。認証システム40は、例えば、1以上の汎用のコンピューティングデバイスによって実現することができる。コンピューティングデバイスのハードウェア構成は既知であるが、図33に概略的に示される。
認証サーバ42は、認証データベース44及び同期サーバ46の機能を備え、1つのコンピューティングデバイスで構成されても良い。認証システム40が、機能的又は論理的にどのように構成されるかは任意である。認証システム40は、例えば、SSL等のセキュアな通信技術を利用することによって、インターネット10を介して、利用対象システム30と通信可能に接続される。
認証サーバ42は、認証データベース44及び同期サーバ46と協働し、ユーザ認証処理を統括的に制御するためのサーバコンピュータである。認証データベース44は、個々のユーザによって予め登録された、ユーザ認証に必要なユーザアカウント情報を管理するデータベースである。認証データベース44は、例えば、利用対象システム30を利用可能なユーザに関する情報及びユーザ毎のセキュリティトークン22に関する情報をユーザアカウント情報として管理する。
同期サーバ46は、ユーザ毎のセキュリティトークン22に関する情報及びシードを用いて、対応するパスワード生成アルゴリズムに従って、特定のユーザのセキュリティトークン22と時刻同期したトークンコードを生成するためのサーバコンピュータである。シードは、例えば、セキュリティトークン22に関する情報(例えばトークンID)から所定の変換アルゴリズムを用いて生成され、図示しないデータベースにユーザ毎に管理される。同期サーバ46は、例えば、認証サーバ42からの問い合わせ要求に応答し、特定のユーザのセキュリティトークン22と時刻同期したトークンコードを認証サーバ42に提供する。
なお、本例では、利用対象システム30と認証システム40とは、それぞれ運用主体が異なり、物理的に離れたコンピュータシステムを想定しているが、これに限られるものではない。例えば、同一の事業者が利用対象システム30及び認証システム40の両方を運用するものであっても良く、これらが1つ又は複数のコンピュータシステムで構成されるものであっても良い。従って、利用対象システム30が認証システム40の機能を含むように(又はその逆に)構成されても良い。
以上のような構成において、本実施形態に係るユーザ認証方法は、以下のように実現される。
ユーザ認証を要求する利用対象システム30の利用に先立ち、ユーザは、まず、利用対象システムへのユーザ登録、ソフトウェアトークンの設定及び情報通信端末20へのパスワード導出パターンの登録を行う。(図中(1)及び(1)')
即ち、ユーザは、情報通信端末20を用いて、利用対象システム30に対する自身のユーザアカウント情報を認証システム40の認証データベース44に予め登録する。例えば、ユーザが、利用対象システム30を利用するためのアプリケーションプログラムを情報通信端末20にインストールし、未だ、そのユーザアカウントを持っていない場合、ユーザは、情報通信端末20のユーザインターフェースを介してユーザアカウント登録画面に誘導され、ユーザアカウント情報を登録することになる。ユーザアカウント情報の登録は、情報通信端末20に代えて、例えばパーソナルコンピュータによって行われても良い。ユーザが既にユーザアカウントを持っており、ユーザアカウント情報が認証データベース44に登録されている場合、このようなステップは省略される。
また、ユーザは、情報通信端末20にセキュリティトークンプログラムがインストールされていない場合には、これをインストールし、該セキュリティトークンプログラムに割り当てられたトークンIDを認証データベース44に登録する。トークンIDの登録は、上記のユーザアカウント情報の登録処理の中で行われても良い。
さらに、ユーザは、情報通信端末20にパスワード導出パターンを登録する。例えば、ユーザは、情報通信端末20にインストールされたアプリケーションプログラムを実行し、これにより実現される登録処理に従って、パスワード導出パターンの登録を行う。登録されたパスワード導出パターンは、該アプリケーションプログラムが参照するデータとして、情報通信端末20内に例えば暗号化された状態で保持される。即ち、本実施形態では、パスワード導出パターンは、認証データベース44に記憶されるのではなく、情報通信端末20の中に記憶される。パスワード導出パターンの登録は、同様に、上記のユーザアカウント情報の登録処理の中で行われても良い。
ユーザは、利用対象システム30を利用するため、情報通信端末20を用いて、対応するアプリケーションプログラムを起動すると、例えば情報通信端末20は、そのユーザインターフェース上にログイン画面(被認証情報入力画面)を表示し、ユーザにユーザ名及びパスワード等の被認証情報の入力を促す(図中(2))。被認証情報は、認証システム40による認証を受ける情報である。ユーザアカウント登録画面に誘導されユーザアカウント情報の登録を終えたユーザは、そのままログイン画面に誘導されても良い。図示されていないが、アプリケーションプログラムは、起動時に、情報通信端末20が利用対象システム30にアクセスして、実行に必要なリソースを取得するように、構成されても良い。ログイン画面は、後述するように、幾何学的パターンを構成する複数の要素のそれぞれに一見するとランダムな数字等が割り当てられた暗証表を含む。本実施形態では、暗証表中、該ユーザのパスワード導出パターンを構成する各要素には、情報通信端末20のセキュリティトークンプログラムによって生成されたトークンコードを構成する数字等のそれぞれが割り当てられ、残りの各要素にはランダムな数字等が割り当てられる。つまり、本実施形態の暗証表は、認証システム40と時刻同期したトークンコードがパスワード導出パターンに対応する各要素に埋め込まれて構成される。言い換えれば、該ユーザのパスワード導出パターンに対応する各要素以外の要素に割り当てられた数字等は、パスワード導出パターンに対応する各要素に割り当てられた数字等をカムフラージュするためにユーザに提示される。なお、本明細書では、被認証情報入力画面をログイン画面として説明しているが、これに限られるものではない。例えば、利用対象システム30が提供するサービスによっては、ログイン後にさらに第2暗証を要求する場合もあり、このための画面もまた被認証情報入力画面でありうる。
次に、ユーザは、表示された暗証表から、自身のパスワード導出パターンを構成する各要素に割り当てられた数字等を順番に抜き出して、パスワードとして入力する。ユーザは、パスワードを入力した後、例えばログインボタンを選択すると、入力されたパスワードを含むログイン要求が利用対象システム30に送信される(図中(3))。
利用対象システム30は、ログイン要求を情報通信端末20から受け付けると、ユーザ認証を行うため、ログイン要求に基づくユーザ認証要求を認証サーバ42に送信する(図中(4))。この場合、利用対象システム30は、自身のシステムIDをユーザ認証要求に
含めて認証サーバ42に送信しても良い。これによって、認証サーバ42は、異なる利用対象システム30からのユーザ認証要求に応じることができる。なお、ユーザから見れば、情報通信端末20によるログイン要求もある種のユーザ認証要求とみなすことができる。
認証サーバ42は、ユーザ認証要求を受け付けると、認証データベース44を参照し、該ユーザのトークンIDを特定する(図中(5))。続いて、認証サーバ42は、トークン
IDに基づいて、ユーザのセキュリティトークンと時刻同期したトークンコードを同期サーバ46に問い合わせて、同期サーバ46から該ユーザのトークンコードを取得する(図中(6))。認証サーバ42は、ユーザのトークンコードを取得すると、これをユーザから
送信されたパスワードと比較照合することによって認証判定を行い、該認証判定の結果を利用対象システム30に送信する(図中(7))。
利用対象システム30は、認証サーバ42による認証判定の結果をユーザに返答し、該認証判定の結果に応じて次の処理に進むことになる(図中(8))。例えば、認証判定の結
果が認証不成立である場合、ユーザはログインできなかったことが通知され、又は、認証成立の場合はログインを受け付けて、ユーザは、例えば所定の処理結果を与えられ、又はサービスを受けられることになる。
(パスワード導出パターンの説明)
図2は、本発明の一実施形態に係るユーザ認証方法において使用されるパスワード導出パターンを説明するための図である。
即ち、図2(a)は、4行12列のマトリックスで構成された幾何学的パターンの一例を示す図である。本例では、幾何学的パターンは、ユーザが視認しやすいよう、4行4列毎のブロックに区切られている。同図(a)において、ユーザによって選択された要素は、視覚的に区別されるよう、ハッチングがなされ、また、選択された順番にその要素内に番号が付されている。幾何学的パターンの中からユーザによって選択された要素が、パスワード導出パターンとなる。各要素は、例えば、“(行番号,列番号)”で特定される。従って、本例のパスワード導出パターンは、例えば“(3,2),(0,5),(3,7),(0,10)”と表わされる。或いは、一番左のブロックの左上の要素を“0”番として順番にシーケンシャル番号を割り当てたとすると、パスワード導出パターンは“14,17,31,34”と表わされる。
また、図2(b)は、4行4列のマトリックスで構成された幾何学的パターンの例を示す図である。この場合のパスワード導出パターンは、例えば“(0,0),(3,2),(2,1),(2,3)”と表わされる。或いは、シーケンシャル番号を用いて、“0,14,9,7”と表される。
パスワード導出パターンは、ユーザ認証を行うために用いられもので、ユーザが記憶すべき要素の配列ルールである。その意味で、パスワード導出パターンは、ある種のパスワードとみなすことができる。幾何学的パターン及びその中のパスワード導出パターンを構成する要素の数(例えば6個)、その配列構造は任意であり、ユーザ認証におけるセキュリティレベルに応じて適宜設定される。なお、パスワード導出パターンの概念については、特許文献1に詳述されている。
図3Aは、本発明の一実施形態に係るユーザ認証方法におけるパスワード導出パターンの登録画面の一例を示す図である。本実施形態では、このような登録画面は、情報通信端末20にインストールされたアプリケーションプログラムの機能によって実現されるが、これに限られない。他の実施形態では、このような登録画面は、ページ記述言語(例えばHTML5等)に従って記述される画面構成プログラムにより構成され、管理者側のコンピュータシステム(例えば利用対象システム30や認証サーバ42)にアクセスすることにより提供される。
図3Aを参照して、パスワード導出パターン登録画面は、例えば、ユーザ名入力フィールド301、携帯電話番号入力フィールド302、及びパスワード導出パターン入力フィールド303を含む。
ユーザ名入力フィールド301は、利用対象システム30を利用するユーザの名前を入力するためのフィールドである。ユーザ名は、利用対象システム30において一意に識別される文字列等であれば良く、例えば、ユーザのメールアドレスが用いられても良い。例えば、ユーザが、ユーザ名入力フィールド301をタップすると、ソフトウェアキーボードが表示され、これを用いて文字列等を入力する。タップは、例えば、ユーザの指又はスタイラスによりなされる。
携帯電話番号入力フィールド302は、利用対象システム30の利用に際してユーザ認証に用いる情報通信端末20を特定するための個体識別情報を入力するためのフィールドである。本実施形態では、ユーザが所有する情報通信端末20に割り当てられた携帯電話番号をそのまま用いるものとするが、これに限られるものでなく、例えば、MACアドレス等の機器IDを用いても良い。なお、携帯電話番号入力フィールド302は、省略されても良い。例えば、利用対象システム30が、アプリケーションプログラムの実行により実現されるシステムである場合、携帯電話番号入力フィールド302は省略される。
パスワード導出パターン入力フィールド303は、例えば、4行12列のマトリックス状に配置された48個の要素群からなる幾何学的パターンを含んで構成される。本例では幾何学的パターンは、4行4列毎のブロックに区切られている。ユーザは、幾何学的パターンのうち、登録したいパスワード導出パターンに対応する要素を順次に所定の数だけタップして選択する。タップされ選択された要素は、視覚的に区別されるよう、例えば所定の色でハイライトされ、さらに、選択された順番を示す番号が要素内に表示される。同図では、“(3,2)”の要素が最初に選択されている様子が示されている。ここで選択された要素のシーケンスがパスワード導出パターンに相当する。
パスワード導出パターン入力フィールド303は、情報通信端末20の画面サイズ及び表示内容を考慮して、例えば、図3Bに示すように、幾何学的パターンの少なくとも一部(例えば1つブロック)を仮想的に表示するように構成されても良い。この場合、ユーザは、パスワード導出パターン入力フィールド303内を横方向にスワイプ乃至はフリックすることにより、該フィールド303内をスクロールさせて画面外の見えていない部分を画面内に表示させながら、表示された部分の個々の要素をタップすることで選択することができる。或いは、ユーザが情報通信端末20を横向きに持った場合、情報通信端末20はこれを検知し、画面内の表示内容を90度回転させることで、幾何学的パターンの要素群全てが表示されるようにしても良い。
パスワード導出パターンの登録において、例えば、同じ要素が2回以上選択されても良い。例えば、2回選択された要素は、他の色でハイライトされ、2個の番号が表示される。この場合、重なり合って視認できなくなることを防止するため、例えば、吹き出しを使って各番号を表示しても良い。また、要素が選択された順番は、番号に代え、或いはそれに加えて、幾何学的パターン上、選択された要素同士を結ぶ軌跡によって示されても良い。
また、各要素の選択は、タップに代え、一筆書きの要領で、幾何学的パターン上をドラッグすることでなされても良い。即ち、ユーザは、選択した最初の要素を起点として、ドラッグしながら略直線の軌跡を引き、選択する要素上で一旦停止しながら、所定の数だけ要素を選択していく。情報通信端末20は、例えば、登録画面内の指が接触した位置及び接触時間に基づいて、タップ、ドラッグ又はスワイプ等の操作アクションを特定しながら、入力情報を受け付ける。
ユーザが各入力フィールド301〜303に必要な情報を入力した後、設定確認ボタン304をタップすると、情報通信端末20は、入力情報に基づくパスワード導出パターンを登録データとして仮登録し、続いて、設定確認画面を情報通信端末20のユーザインターフェースに表示させる。
設定確認画面は、再度、パスワード導出パターンの各要素をユーザに選択させることで、パスワード導出パターンの確認を行うための画面である。図4Aは、情報通信端末20のユーザインターフェース上に表示された設定確認画面の一例を示す図である。また、図4Bは、図3Bに示した登録画面に対応する設定確認画面の一例を示す図である。
即ち、同図に示すように、設定確認画面は、幾何学的パターンを含むパスワード入力フィールド401を含む。ユーザは、幾何学的パターンのうち、先に仮登録したパスワード導出パターンに対応する各要素を同じ順番で選択する。ユーザがパスワード入力フィールド401の幾何学的パターンの所定の要素を選択した後、OKボタン402を選択すると、情報通信端末20は、先に仮登録したパスワード導出パターンと今回のパスワード導出パターンとが一致するか否かを判断し、一致すると判断する場合には、該パスワード導出パターンをアプリケーションプログラムが参照するデータとして正式に登録する。
なお、本例では、設定確認画面がユーザに1回のみ提供されるものとしたが、これに限られるものでなく、複数回反復して提供されるようにしても良い。反復は、例えば、ユーザの意思で反復ボタン(図示せず)を選択させることにより、或いは、入力時の時間に応じて(例えば入力に時間がかかる場合等)強制的に行わせるようにしても良い。このような反復により、ユーザに自身のパスワード導出パターンの記憶の定着を促進させることができる。
パスワード導出パターンの登録は、本明細書で説明される他の方法によっても行うことができる。例えば、上記特許文献1に開示されたパスワード導出パターンの登録方法も本発明に適用することができる。
(認証データベースの説明)
図5は、本発明の一実施形態に係るユーザ認証方法において使用される認証データベースのデータ構造の一例を示す図である。認証データベース44は、例えば、各利用対象システム30について、ユーザ毎のユーザアカウント情報を1つのレコードとして管理する。
即ち、同図に示すように、認証データベース44における1つのレコードは、システムID、ユーザ名、端末ID、及びトークンIDの各フィールドから構成されている。本実施形態では、認証データベース44におけるユーザアカウント情報にはパスワード導出パターンが含まれなくても良い。システムIDは、各ユーザが利用可能な利用対象システム30を識別するためのIDである。ユーザ名は、ユーザ毎に割り当てられたシステム上のユーザ名である。端末IDは、各ユーザがユーザ認証に用いるために用いる情報通信端末20に割り当てられた固有のデバイスIDである。端末IDは、例えばMACアドレスを用いることができる。トークンIDは、各ユーザの情報通信端末20にインストールされたセキュリティトークンプログラムに割り当てられた固有のIDである。トークンIDは、利用対象システム30毎に異なるものが用いられても良い。
本例では、ユーザ“ogawa”は、システムID“36578979”および“36578980”で示されるそれぞれの利用対象システム30に利用可能なユーザとして登録されている。また、ユーザ“ogawa”がユーザ認証に用いる情報通信端末20として、端末ID“090xxxx1234”で示される情報通信端末20が設定され、ソフトウェアトークンとして、トークンID“05:3A:xx:yy:zz:00”が登録されている。
(情報通信端末の説明)
図6A及び6Bは、本発明の一実施形態に係るユーザ認証方法における情報通信端末の処理を説明するためのフローチャートである。かかる処理は、例えば、情報通信端末20が、プロセッサの制御の下、所定のアプリケーションプログラムを実行することにより、実現される。かかる処理は、シーケンシャルに実行されても良いし、処理の結果に矛盾を生じない限り、並列又は並行に実行されても良い。
同図Aに示すように、まず、情報通信端末20は、アプリケーションプログラムの実行を開始すると、ユーザインターフェース上にログイン情報を入力するためのログイン画面を表示するため、暗証表を生成する(S601A)。即ち、情報通信端末20は、同図Bに示すように、ユーザのパスワード導出パターンを読み出すとともに(S601B)、セキュリティトークンプログラムを呼び出し、同期サーバ46と時刻同期のトークンコードを生成する(S602B)。次に、情報通信端末20は、生成したトークンコードを構成する数字等を先頭から順番に、暗証表(幾何学的パターン)におけるパスワード導出パターンを構成する各要素に割り当てる(S603B)。続いて、情報通信端末20は、暗証表の残りの各要素に、ランダムに生成した数字等を割り当てて(S604B)、暗証表を完成させる。情報通信端末20は、暗証表を生成すると、これを含むログイン画面を表示する(同図AのS602A)。
図7は、情報通信端末20のユーザインターフェース上に表示されたログイン画面の一例を示す図である。同図に示すようにログイン画面は、例えば、ユーザ名入力フィールド701、暗証表702及びパスワードを入力するためのパスワード入力フィールド703を含む。ユーザ名入力フィールド701は、ユーザがユーザアカウント情報として登録したユーザ名を入力するためのフィールドである。暗証表702は、幾何学的パターンの各要素に、一見するとランダムな数字が割り当てられた表である。ユーザは、暗証表702を参照し、自身のパスワード導出パターンに対応する各要素に割り当てられた数字を抜き出して、パスワード入力フィールド703に入力する。同図においては、例えば図2に示したパスワード導出パターンを用いて、暗証表702から抜き出された数字“5460”が、パスワード入力フィールド703に入力された様子を示している。
図6Aに戻り、ユーザは、ログイン画面に対して、必要なログイン情報(被認証情報)を入力し、例えばログインボタン704を選択すると、情報通信端末20は、該ログイン情報を含むログイン要求を利用対象システム30に送信する(S603A)。利用対象システム30は、ログイン要求を受け付けると、該ログイン情報を含むユーザ認証要求を認証サーバ42に送信し、該ユーザの認証判定を受ける。利用対象システム30は、認証判定の結果を認証サーバから受信し、情報通信端末20に送信する。これにより、情報通信端末20は、ログイン要求に対する認証判定の結果を受信する(S604A)。
なお、情報通信端末20は、ログイン要求を利用対象システム30に送信するのではなく、直接、認証システム40(例えば認証サーバ42)に送信し、認証判定の結果を受信するように構成されても良い。
また、本例では、パスワード導出パターンが4個の要素から構成されているが、これに限られるものではない。例えば、6個の要素により構成されるものであっても良い。また、各要素には1個(1桁)の数字が割り当てられたが、これに限られるものではなく、1個以上の数字であっても良い。或いは、1個以上の文字であっても良いし、そのような数字と文字との混在であっても良い。また、各要素に割り当てられる桁数(文字数)を増やす代わりに、パスワード導出パターンを構成する要素数を減らしても良い。情報通信端末20は、内部的に生成された数値(トークンコード及び乱数値)を文字コード表に照らして、1個以上の数字又は文字に変換し、要素に割り当てる。
(認証サーバの説明)
次に、本実施形態の認証システム40の機能的構成を説明する。図8は、本発明の一実施形態に係る認証システムの機能的構成を示すブロックダイアグラムである。
同図を参照し、ユーザ認証要求受信部801は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付ける。ユーザ認証要求受信部801は、受け付けたユーザ認証要求におけるログイン情報をセキュリティトークン管理部802及びユーザ認証判定部803のそれぞれに送出する。なお、ログイン情報は、その全てが各部に通知されても良いし、各部の処理において必要な一部の情報が送出されても良い。
セキュリティトークン管理部802は、例えば、セキュリティトークン特定部8021と、トークンコード生成部8022とを含む。セキュリティトークン特定部8021は、認証データベース44を参照し、ログイン情報が示すユーザの情報通信端末20にインストールされているセキュリティトークンプログラムのトークンIDをトークンコード生成部8022に送出する。トークンコード生成部8022は、トークンIDで識別されるセキュリティトークンプログラムと時刻同期で同一のトークンコード(ワンタイムパスワード)を生成する。即ち、トークンコード生成部8022は、ユーザのセキュリティトークンプログラム毎に、例えば、同一のシード及び数学的アルゴリズムを用いることによって、該ユーザのセキュリティトークンプログラムによって生成されるトークンコードと同一のトークンコードを時刻同期で生成するように構成される。数学的アルゴリズムは、例えば、ハッシュ関数のような既知のものを用いることができる。セキュリティトークン管理部802は、トークンコード生成部8022によって生成されたトークンコードをユーザ認証判定部803に送出する。
ユーザ認証判定部803は、ユーザ認証要求受信部801から送出されたログイン情報と、セキュリティトークン管理部802のトークンコード生成部8022から送出されたトークンコードとに基づいて、該ユーザの認証判定を行う。即ち、ユーザ認証判定部803は、ログイン情報に含まれるパスワードと、生成したトークンコードとを比較して、これらが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。ユーザ認証判定部803は、認証判定の結果を認証判定結果送信部804に送出する。認証判定結果送信部804は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する。
図9は、本発明の一実施形態に係るユーザ認証方法における認証システムにおける処理を説明するためのフローチャートである。かかる処理は、例えば、認証システム40を構成する1つ又はそれ以上のコンピューティングデバイスが、プロセッサの制御の下、所定のプログラムを実行することにより実現される。かかる処理は、シーケンシャルに実行されても良いし、処理の結果に矛盾を生じない限り、並列に又は並行に実行されても良い。
即ち、同図に示すように、認証サーバ42は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付けると(S901)、認証データベース44を参照し、ユーザの情報通信端末20にインストールされたセキュリティトークンプログラム(即ち、トークンID)を特定する(S902)。認証サーバ42は、該特定したセキュリティトークンプログラムと時刻同期した同一のトークンコードを取得するために、トークンIDを用いて同期サーバ46に問い合わせる(S903)。これを受けて、同期サーバ46は、該トークンIDからユーザのシードを特定し、所定のパスワード生成アルゴリズムを用いて、情報通信端末20のセキュリティトークンプログラムと時刻同期した同一のトークンコードを生成し、該生成したトークンコードを認証サーバ42に返す。これにより、認証サーバ42は、該ユーザが所持するセキュリティトークン22が生成したトークンコードと同一のトークンコードを取得する(S904)。
次に、認証サーバ42は、利用対象システム30から送出されたログイン情報に含まれるパスワードと取得したトークンコードとに基づいて、該ユーザの認証判定を行う(S905)。認証サーバ42は、ログイン情報に含まれるパスワードと取得したトークンコードとが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。認証サーバ42は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する(S906)。
以上のように、本実施形態によれば、情報通信端末20が、パスワード導出パターンを保持し、セキュリティトークン機能を有することにより、認証システム40からチャレンジを受けることなく、ユーザ認証を行うことができるようになる。
なお、本実施形態では、情報通信端末20と利用対象システム30及び認証システム40とはインターネット10を介して通信可能に接続された構成を示したが、これに限られるものではない。情報通信端末20と利用対象システム30とは、Bluetooth(登録商標)等の近距離通信によって接続されても良い。また、例えば、利用対象システム30がセキュリティルームの鍵開閉システムである場合、情報通信端末20のユーザインターフェース上のログイン画面に表示される暗証表(図7参照)に従って、利用対象システム30に設けられたユーザインターフェースにパスワードを入力する構成を採用することができる。この例によれば、情報通信端末20の通信機能が有効でない状況であっても、ユーザ認証を行うことができるという利点がある。
なお、認証システム40は、別の実施形態で説明されるユーザ認証要求の事前通知を受け、これに対応するユーザ認証要求のみを、一定時間の間だけ、受け付けるように構成されても良い。このような構成により、認証システム40は、事前通告を受けた場合のみ、これに対応するユーザ認証要求を受け付ければ良いので、悪意ある第三者からのアタックに晒されるリスクを低減することができ、よりセキュアなユーザ認証方法及びシステムを提供することができるようになる。
[第2の実施形態]
(概要)
本実施形態は、情報通信端末が、認証システムと時刻同期で生成されたトークンコードを幾何学的パターンの各要素に割り当てて構成した暗証表をユーザインターフェース上に表示し、ユーザは、表示された暗証表を参照し、自身のパスワード導出パターンに対応する各要素に割り当てられた数字等を抜き出してパスワードとして入力し、認証システムは、情報通信端末と時刻同期で生成された同じ暗証表(即ち、トークンコード)及び予め登録されたユーザのパスワード導出パターンに基づいて、入力されたパスワードに対する認証判定を行うユーザ認証方法及びこれを実現するシステムを開示する。
本実施形態は、暗証表の全ての要素に認証システムと時刻同期した数字等が割り当てられ、また、認証システムにパスワード導出パターンが登録されている点で、上記第1の実施形態と異なる。以下では、第1の実施形態と重複するものについては、適宜、省略して説明する。
図10は、本発明の一実施形態に係るユーザ認証方法の概略スキームを説明するための概略である。同図に示すように、かかるスキームにおいて、ユーザは、インターネット10に接続可能な情報通信端末20を所持しており、また、利用対象システム30及び認証システム40がインターネット10に接続されている。認証システム30は、例えば、認証サーバ42、認証データベース44’及び同期サーバ46を含んで構成される。情報通信端末20は、上記第1の実施形態と同様に、例えばソフトウェアトークン22aを含んで構成される。
認証サーバ42は、認証データベース44’及び同期サーバ46と協働し、ユーザ認証処理を統括的に制御するためのサーバコンピュータである。本実施形態の認証データベース44’は、個々のユーザによって予め登録された、ユーザ認証に必要なユーザアカウント情報を管理するデータベースである。認証データベース44’は、例えば、利用対象システム30を利用可能なユーザに関する情報、ユーザ毎のセキュリティトークンに関する情報、及びパスワード導出ルールに関する情報をユーザアカウント情報として管理する。
本実施形態では、ユーザ認証を要求する利用対象システム30の利用に先立ち、ユーザは、まず、利用対象システム30に対するユーザ登録(パスワード導出パターンの登録を含む。)及びソフトウェアトークン22aの設定を行う(図中(1)及び(1)')。
即ち、ユーザは、情報通信端末20を用いて、利用対象システム30に対する自身のユーザアカウント情報を認証システム40の認証データベース44’に予め登録する。このような登録処理は、例えば、上述したように、ユーザは、情報通信端末20において利用対象システム30を利用するためのアプリケーションプログラムを実行することにより、行われる。本実施形態では、ユーザのパスワード導出パターンは、ユーザアカウント情報の一部として、認証データベース44’に登録される。
また、ユーザは、情報通信端末20にセキュリティトークンプログラムに割り当てられたトークンIDを認証データベース44’に登録する。トークンIDの登録は、上記のユーザアカウント情報の登録処理の中で行われても良い。
ユーザは、利用対象システム30を利用するため、情報通信端末20を用いて、対応するアプリケーションプログラムを起動すると、例えば情報通信端末20のユーザインターフェース上にログイン画面が表示されて、ユーザ名及びパスワードの入力を促される(図中(2))。ログイン画面は、幾何学的パターンを構成する複数の要素のそれぞれに一見す
るとランダムな数字等が割り当てられた暗証表を含んで構成される。本実施形態では、暗証表中の全ての要素のそれぞれに、情報通信端末20のセキュリティトークンプログラムによって生成されたトークンコードが割り当てられる。
次に、ユーザは、表示された暗証表から、自身のパスワード導出パターンを構成する各要素に割り当てられた数字等を順番に抜き出して、パスワードとして入力する。ユーザは、パスワードを入力した後、例えばログインボタンを選択すると、入力されたパスワードを含むログイン要求が利用対象システム30に送信される(図中(3))。
利用対象システム30は、ログイン要求を情報通信端末20から受け付けると、ユーザ認証を行うため、ログイン要求に基づくユーザ認証要求を認証サーバ42に送信する(図中(4))。認証サーバ42は、ユーザ認証要求を受け付けると、認証データベース44’
を参照し、該ユーザのパスワード導出パターン及びトークンIDを特定する(図中(5))
。続いて、認証サーバ42は、トークンIDに基づいて、該ユーザのセキュリティトークンと時刻同期した同一のトークンコードを同期サーバ46に問い合わせて、同期サーバ46から該ユーザの暗号表を構成するためのトークンコードを取得する(図中(6))。認証
サーバ42は、次に、ユーザのパスワード導出パターンに従って、対応する要素から数字等を抽出してパスワードを特定し、これをユーザから送信されたパスワードと比較照合することによって認証判定を行い、該認証判定の結果を利用対象システム30に送信する(図中(7))。
利用対象システム30は、該認証判定の結果をユーザに返答し、該認証判定の結果に応じて次の処理に進むことになる(図中(8))。例えば、認証判定の結果が認証不成立であ
る場合、ユーザはログインできなかったことが通知され、また、認証成立の場合はログインを受け付けて、ユーザは、例えば所定の処理結果を与えられ、又はサービスを受けられることになる。
(パスワード導出パターンの登録)
ユーザは、例えば、既述の図3Aに示したパスワード導出パターンの登録画面を用いて登録する。このような登録画面は、例えば、ページ記述言語に従って記述される画面構成プログラムにより構成される。本実施形態では、管理者側のコンピュータシステム(例えば利用対象システム30や認証サーバ42)が、このような登録画面を構成する画面構成プログラムをユーザの情報通信端末20に送信することにより、情報通信端末20のユーザインターフェース上に登録画面を表示させる。ユーザは、幾何学的パターンのうち、登録したいパスワード導出パターンに対応する要素を順次に所定の数だけタップして選択する。
ユーザが各入力フィールドに必要な情報を入力した後、設定確認ボタン304をタップすると、情報通信端末20は、入力情報を含んだ登録要求を認証サーバ42に送信する。認証サーバ42は、受信した登録要求に基づいて、ユーザのパスワード導出パターンを登録データとして仮登録して、既述の図4Aに示した設定の確認画面を情報通信端末20のユーザインターフェースに表示させる。
ユーザがパスワード入力フィールド401における幾何学的パターンの所定の要素を選択した後、OKボタン402を選択すると、情報通信端末20は、選択されたパスワード導出パターンを含む確認要求を認証サーバ42に送信する。
認証サーバ42は、受信した確認要求に含まれるパスワード導出パターンが、先に仮登録したパスワード導出パターンと一致するか否かを判断し、一致すると判断する場合には、認証データベース44’に、パスワード導出パターンを含むユーザアカウント情報を正式に登録する。
なお、情報通信端末20は、仮登録すべきパスワード導出パターンを認証サーバ42に送信するのではなく、情報通信端末20が、仮登録のパスワード導出パターンを内部に保持しておき、2回目に入力されたパスワード導出パターンとの一致確認を行った後に、登録すべきパスワード導出パターンを認証サーバ42に送信するように構成しても良い。
(情報通信端末の説明)
本実施形態では、情報通信端末20における暗証表の生成処理が、第1の実施形態と異なるので、図6Bに代わる図11を用いて、かかる処理を説明する。
即ち、情報通信端末20は、セキュリティトークンプログラムを呼び出し、同期サーバ46と時刻同期のトークンコードを生成する(S1101)。本実施形態では、トークンコードを構成する数字等は、暗証表(幾何学的パターン)を構成する要素の数だけ生成される。また、既述したように、各要素には、1個又はそれ以上の数字等が割り当てられる。次に、情報通信端末20は、生成したトークンコードを構成する数字等を先頭から順番に、幾何学的パターンの各要素に割り当てていき、暗号表を完成させる(S1102)。
上述したように、情報通信端末20は、暗証表を生成すると、これを含むログイン画面(図7参照)を表示し、ユーザに、該暗号表に従うパスワードの入力を促す(図6AのS602A)。ユーザは、暗証表702を参照し、自身のパスワード導出パターンに対応する各要素に割り当てられた数字等を抜き出して、パスワード入力フィールド703に入力する。ユーザが、ログイン画面に対して必要なログイン情報(被認証情報)を入力し、例えばログインボタン704を選択すると、情報通信端末20は、該ログイン情報を含むログイン要求を利用対象システム30に送信する(S603A)。利用対象システム30は、ログイン要求を受け付けると、該ログイン情報を含むユーザ認証要求を認証サーバ42に送信し、該ユーザの認証判定を受ける。利用対象システム30は、認証判定の結果を認証サーバから受信し、情報通信端末20に送信する。これにより、情報通信端末20は、ログイン要求に対する認証判定の結果を受信する(S604A)。
なお、情報通信端末20は、ログイン要求を利用対象システム30に送信するのではなく、直接、認証システム40(例えば認証サーバ42)に送信し、認証判定の結果を受信するように構成されても良い。
また、本例では、被認証情報には入力されたパスワードが含まれる構成となっているが、例えば、別の実施形態で説明されるように、入力されたパスワードを暗証表のうちのパスワード導出パターンに対応する各要素に割り当て、これを被認証情報に含めても良い。この場合には、認証システム40は、登録されたパスワード導出パターンに従い、被認証情報からパスワードを抜き出すことになる。
(認証データベースの説明)
図12は、本発明の一実施形態に係るユーザ認証方法において使用される認証データベースのデータ構造の一例を示す図である。認証データベース44’は、例えば、各利用対象システム30について、ユーザ毎のユーザアカウント情報を1つのレコードとして管理する。
即ち、同図に示すように、認証データベース44’における1つのレコードは、システムID、ユーザ名、端末ID、トークンID、及びパスワード導出パターンの各フィールドから構成されている。即ち、本実施形態の認証データベース44’にはパスワード導出パターンが登録される。パスワード導出パターンは、各ユーザが登録したパスワード導出パターンであって、ユーザが選択した要素の配列及びその選択順序を示す。
本例では、ユーザ“ogawa”は、システムID“36578979”および“36578980”で示されるそれぞれの利用対象システム30に利用可能なユーザとして登録されている。また、ユーザ“ogawa”がユーザ認証に用いる情報通信端末20として、端末ID“090xxxx1234”で示される情報通信端末が設定され、ソフトウェアトークンとして、トークンID“05:3A:xx:yy:zz:00”が登録されている。さらに、システムID”36578979”で示される利用対象システム30に登録されたユーザ“ogawa”のパスワード導出パターンとして、“(3,2),(0,5),(3,7),(0,10)”が登録されている。
(認証サーバの説明)
次に、本実施形態の認証システム40の機能的構成を説明する。図13は、本発明の一実施形態に係る認証システムの機能的構成を示すブロックダイアグラムである。同図において、図8に示した構成要素と同一の構成要素には、同一の符号を付している。
同図を参照し、ユーザ認証要求受信部801は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付ける。ユーザ認証要求受信部801は、受け付けたユーザ認証要求におけるログイン情報をセキュリティトークン管理部802、パスワード導出パターン特定部1301及びユーザ認証判定部803のそれぞれに送出する。なお、ログイン情報は、その全てが各部に通知されても良いし、各部の処理において必要な一部の情報が送出されても良い。
セキュリティトークン管理部802は、例えば、セキュリティトークン特定部8021と、トークンコード生成部8022とを含む。セキュリティトークン特定部8021は、認証データベース44’を参照し、ログイン情報が示すユーザの情報通信端末20にインストールされているセキュリティトークンプログラムのトークンIDをトークンコード生成部8022に送出する。トークンコード生成部8022は、トークンIDで識別されるセキュリティトークンプログラムと時刻同期する同一のトークンコードを生成する。トークンコードは、暗証表(幾何学的パターン)を構成する要素の数に対応する数字等から構成される。セキュリティトークン管理部802は、トークンコード生成部8022によって生成されたトークンコードをパスワード特定部1302に送出する。
一方、ユーザ認証要求受信部801から送出されたログイン情報を受けたパスワード導出パターン特定部1301は、認証データベース44’を参照し、ログイン情報が示すユーザのパスワード導出パターンを特定する。即ち、パスワード導出パターン特定部1301は、所定の幾何学的パターンの要素群のうちのユーザが選択した要素の配列パターン及び選択順序を示すパスワード導出パターンを特定する。パスワード導出パターン特定部1301は、特定したパスワード導出パターンをパスワード特定部1302に送出する。
パスワード特定部1302は、トークンコード生成部8022によって生成されたトークンコードと、パスワード導出パターン特定部1301によって特定されたパスワード導出パターンとに基づいて、該ユーザの認証判定に必要なパスワードを特定する。即ち、パスワード特定部1302は、トークンコードの中からパスワード導出パターンを構成する各要素に対応する数字等を順番に抽出してパスワードを特定する。パスワード特定部1302は、特定したパスワードをユーザ認証判定部803に送出する。
例えば、トークンコード生成部8022が、図14に示すような、48個の数字列からなるトークンコードを生成したとする。本例では、トークンコードは、一連の16個の数字が1つのブロックに対応する。また、登録されたユーザのパスワード導出パターンは、図2(a)に示したパターンであるとする。従って、この場合、パスワード特定部1302は、“0460”をユーザのパスワードとして抽出することになる。
ユーザ認証判定部803は、ユーザ認証要求受信部801から送出されたログイン情報と、パスワード特定部1302によって特定されたパスワードとに基づいて、該ユーザの認証判定を行う。即ち、ユーザ認証判定部803は、ログイン情報に含まれるパスワードと、生成したトークンコード及びパスワード導出パターンから特定されるパスワードとを比較して、これらが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。ユーザ認証判定部803は、認証判定の結果を認証判定結果送信部804に送出する。認証判定結果送信部804は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する。
図15は、本発明の一実施形態に係るユーザ認証方法における認証システムによる処理を説明するためのフローチャートである。かかる処理は、例えば、認証システム40を構成する1つ又はそれ以上のコンピューティングデバイスが、プロセッサの制御の下、所定のプログラムを実行することにより実現される。かかる処理は、シーケンシャルに実行されても良いし、処理の結果に矛盾を生じない限り、並列に又は並行に実行されても良い。
即ち、同図に示すように、認証サーバ42は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付けると(S1501)、認証データベース44’を参照し、該ユーザのパスワード導出パターンを特定する(S1502)。
さらに、認証サーバ42は、認証データベース44’を参照し、ユーザの情報通信端末20にインストールされたセキュリティトークンプログラム(即ち、トークンID)を特定する(S1503)。認証サーバ42は、該特定したセキュリティトークンプログラムと時刻同期したトークンコードを取得するために、同期サーバ46にトークンIDを用いてトークンコードを問い合わせる(S1504)。これを受けて、同期サーバ46は、該トークンIDからユーザのシードを特定し、所定のパスワード生成アルゴリズムを用いて、情報通信端末20のセキュリティトークンプログラムと時刻同期した同一のトークンコードを生成し、該生成したトークンコードを認証サーバ42に返す。これにより、認証サーバ42は、該ユーザが所持するセキュリティトークンが生成したトークンコードと時刻同期した同一のトークンコードを取得する(S1505)。
ユーザのパスワード導出パターン及びトークンコードを特定した認証サーバ42は、これらを用いて、該ユーザのパスワードを特定する(S1506)。即ち、上述したように、認証サーバ42は、特定したトークンコードを構成する数字等を順番にパスワード導出パターンの各要素に割り当てていくことで、ユーザのパスワードを特定する。
次に、認証サーバ42は、利用対象システム30から送出されたログイン情報に含まれるパスワードと取得したトークンコードとに基づいて、該ユーザの認証判定を行う(S1507)。認証サーバ42は、ログイン情報に含まれるパスワードと取得したトークンコードとが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。認証サーバ42は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する(S1508)。
以上のように、本実施形態によれば、上記第1の実施形態と同様の利点を得ることができる。特に、本実施形態では、認証システムがパスワード導出パターン及びセキュリティトークンを管理することで、情報通信端末がパスワード導出パターンを保持せずに、パスワード導出パターンを用いたユーザ認証を行うことができるようになる。
なお、認証システム40は、別の実施形態で説明される、ユーザ認証要求の事前通知を受け、これに対応するユーザ認証要求のみを受け付けるように構成されても良い。このような構成により、認証システム40は、事前通告を受けた場合のみ、これに対応するユーザ認証要求を受け付ければ良いので、悪意ある第三者からのアタックに晒されるリスクを低減することができ、よりセキュアなユーザ認証方法及びシステムを提供することができるようになる。
[第3の実施形態]
(概要)
本実施形態は、ユーザが、情報通信端末のユーザインターフェース上に表示された幾何学的パターンに対して、認証システム側と時刻同期で生成されたトークンコードを構成する数字等を自身のパスワード導出パターンに対応する各要素に順番に割り当てることでパスワード情報を入力し、認証システムは、情報通信端末と時刻同期で生成されたトークンコードに基づいて、入力されたパスワード情報に対する認証判定を行うユーザ認証方法及びこれを実現するシステムを開示する。なお、本実施形態のパスワード情報は、トークンコードが各要素に割り当てられたパスワード導出パターンを含む。以下の説明では、第1の実施形態と重複するものについては、適宜、省略する。
図16は、本発明の一実施形態に係るユーザ認証方法の概略スキームを説明するための概略である。同図に示すように、かかるスキームにおいて、ユーザは、インターネット10に接続可能な情報通信端末20及びセキュリティトークン22(ハードウェアトークン22b)を所持しており、ユーザが利用しようとする利用対象システム30及び認証システム40がインターネット10に接続されている。認証システム40は、例えば、認証サーバ42、認証データベース44’及び同期サーバ46を含んで構成される。本実施形態の認証データベース44’は、上記第2の実施形態と同様に、利用対象システム30を利用可能なユーザに関する情報、並びにユーザ毎のセキュリティトークンに関する情報及びパスワード導出ルールに関する情報をユーザアカウント情報として管理する。なお、上記実施形態で示されたように、ハードウェアトークン22bの代わりにソフトウェアトークン22aが用いられても良い。
本実施形態では、ユーザ認証を要求する利用対象システム30の利用に先立ち、ユーザは、まず、利用対象システム30に対するユーザ登録(パスワード導出パターンの登録を含む。)及びハードウェアトークン22bの設定を行う(図中(1)及び(1)')。
即ち、ユーザは、情報通信端末20を用いて、利用対象システム30に対する自身のユーザアカウント情報を認証システム40の認証データベース44’に予め登録する。このような登録処理は、例えば、上述したように、ユーザは、情報通信端末20において利用対象システム30を利用するためのアプリケーションプログラムを実行することにより、行われる。本実施形態では、ユーザのパスワード導出パターンは、ユーザアカウント情報の一部として、認証データベース44’に登録される。
また、ユーザは、ハードウェアトークン22bに割り当てられたトークンIDを認証データベース44’に登録する。トークンIDは、上記のユーザアカウント情報の登録処理の中で行われても良い。
ユーザは、情報通信端末20を用いて、利用対象システム30にアクセスすると(図中(2))、例えば情報通信端末20のユーザインターフェース上にログイン画面(被認証情
報入力画面)が表示され、ユーザアカウント及びパスワードの入力を促される(図中(3)
)。情報通信端末20のユーザインターフェース上に表示されるこのような画面は、例えば、ページ記述言語(HTML5等)に従った画面構成プログラム及び/又はデータ(以下、単に「画面構成プログラム」という。)により記述され、構成される。ログイン画面を構成する画面構成プログラムは、例えば、利用対象システム30から直接的に送信されても良いし、認証サーバ42から送信されても良い。後者の場合、例えば、利用対象システム30は、ユーザからのアクセス要求に対して、これを認証サーバ42にリダイレクトし、認証サーバ42が、利用対象システムに30代わって、パスワードの入力を受け付ける。パスワード入力画面は、後述するように、幾何学的パターンを含み、幾何学的パターンの各要素に任意の数字等を入力できるように構成されている。
次に、ユーザは、所持するハードウェアトークン22bを操作してトークンコードを表示させ、表示されたトークンコードを情報通信端末20上のログイン入力画面に入力する(図中(4))。この場合、ユーザは、自身のパスワード導出パターンに従って、表示され
たトークンコードを先頭から順番に、幾何学的パターンの対応する要素に入力していくことになる。ユーザは、ログイン画面にトークンコードを入力し、例えばログインボタンを選択すると、入力されたログイン情報(被認証情報)が利用対象システム30に送信される(図中(5))。
利用対象システム30は、ログイン画面に対するログイン情報を情報通信端末20から受け付けると、ユーザ認証を行うため、ログイン情報を含むユーザ認証要求を認証サーバ42に送信する(図中(6))。この場合、利用対象システム30は、自身のシステムID
をユーザ認証要求に含めて認証サーバ42に送信しても良い。これによって、認証サーバ144は、個々の利用対象システム30からのユーザ認証要求を行うことができるようになる。
認証サーバ42は、ログイン情報を含むユーザ認証要求を受け付けると、認証データベース44’を参照し、該ユーザのパスワード導出パターンを特定するとともに(図中(7)
)、該ユーザのハードウェアトークン22bに対応するトークンコードを同期サーバ46に問い合わせて、同期サーバ46から該ユーザのトークンコードを取得する(図中(8))
。認証サーバ42は、該ユーザのパスワード導出パターンを特定し、また、トークンコードを取得すると、これらをユーザから送信されたログイン情報と比較照合することによって認証判定を行い、該認証判定の結果を利用対象システム30に送信する(図中(9))。
利用対象システム30は、該認証判定の結果をユーザに返答し、該認証判定の結果に応じて次の処理に進むことになる(図中(9))。例えば、認証判定の結果が認証不成立である
場合、ユーザはログインできなかったことが通知され、また、認証成立の場合はログインを受け付けて、ユーザは、例えば会員ユーザ向けのサービスを受けられることになる。
(セキュリティトークンの登録)
ユーザは、利用対象システム30の利用に先立ち、自身が所持するハードウェアトークン22に関する情報を、認証データベース44’に登録する必要がある。例えば、ユーザは、ハードウェアトークン22の利用申し込み時に、ユーザアカウント情報(例えばユーザ名及び/又は端末ID)を利用対象システム30の管理者に通知することにより、管理者は、ユーザにハードウェアトークン22を譲渡又は貸与するとともに、そのトークンIDをユーザ名及び/又は端末IDに関連付けて、認証データベース44’のユーザアカウント情報を更新する。この結果、同期サーバは、トークンIDを認識することにより、該トークンIDによって識別されるハードウェアトークン22が生成するトークンコードと同一のトークンコードを生成することができる。
或いは、上述のパスワード導出パターンの登録画面を用いて、ユーザがパスワード導出パターンとともにハードウェアトークン22のトークンIDを登録できるようにしても良い。例えば、登録画面は、トークンID入力フィールドを含み、ユーザは、そこに自身のハードウェアトークン22のトークンIDを入力する。
(パスワード導出パターンの登録)
ユーザは、例えば、既述の図3Aや図3Bに示したパスワード導出パターンの登録画面を用いて登録する。このような登録画面は、ページ記述言語(例えばHTML5)に従って記述される画面構成プログラムにより構成され、管理者側のコンピュータシステム(例えば利用対象システム30や認証サーバ42)から提供される。典型的には、例えば、認証サーバ42は、ユーザの情報通信端末20に画面構成プログラムを送信することにより、情報通信端末20のユーザインターフェース上に該画面構成プログラムに従った登録画面を表示させる。例えば、ユーザが、利用対象システム30に対するユーザアカウントの登録を希望する場合、利用対象システム30は、該ユーザのメールアドレスに対して、登録画面のURLを含むメールを送信し、これを受けたユーザが、該メール中のURLを選択するという方法で、このような登録画面がユーザに提供されることになる。或いは、認証サーバ42に代え、利用対象システム30が、登録画面をユーザの情報通信端末20に提供し、該情報通信端末20から送信される登録要求を認証サーバ42に送信するように構成しても良い。
ユーザが各入力フィールドに必要な情報を入力した後、設定の確認ボタンをタップすると、情報通信端末20は、入力情報を含んだ登録要求を認証サーバ42に送信する。認証サーバ42は、受信した登録要求に基づいて、ユーザのパスワード導出パターンを仮登録して、設定の確認画面を情報通信端末20のユーザインターフェースに表示させる。
設定の確認画面は、ユーザが設定したパスワード導出パターンに従ってユーザに実際にトークンコード(ワンタイムパスワード)を入力させることで、パスワード導出パターンを確認させる画面である。図17は、情報通信端末20のユーザインターフェース上に表示された設定の確認画面の一例を示す図である。
即ち、同図に示すように、設定の確認画面は、確認用のトークンコード及び幾何学的パターンを含むパスワード入力フィールド1701を含む。ユーザは、幾何学的パターンのうち、先に入力したパスワード導出パターンに対応する要素を選択し、続いて、確認用のトークンコードの文字列を先頭から順番に入力する。例えば、パスワード導出パターンが図2(a)に示したパターンであり、確認用のトークンコードが“8463”であったとする。この場合、ユーザは、図2(a)に示した番号“1”の要素に対応する要素を選択して“8”を入力し、次に、番号“2”の要素に対応する要素を選択して“4”を入力し、…というように、登録されている全ての要素にトークンコードを順番に入力する。
なお、確認用のトークンコードが設定の確認画面に表示されるではなく、ハードウェアトークン22bの画面にトークンコードを表示させ、これを用いるように構成しても良い。
ユーザがパスワード入力フィールド1701の幾何学的パターンの所定の要素にトークンコードを入力した後、OKボタン1702を選択すると、情報通信端末20は、選択された要素及び入力されたトークンコードからなるパスワード情報を含む確認要求を認証サーバ42に送信する。
認証サーバ42は、受信した確認要求に含まれるパスワード情報が、先に仮登録したパスワード導出パターンと確認用のトークンコードとから導き出されるパスワード情報に一致するか否かを判断し、一致すると判断する場合には、認証データベース44’に、パスワード導出パターンを含むユーザアカウント情報を正式に登録する。
(認証データベースの説明)
本実施形態の認証データベース44’は、上記第2の実施形態と同一のものを用いることができるため、説明を省略する。
(利用対象システムの説明)
図18は、本発明の一実施形態に係るユーザ認証方法における利用対象システムの処理を説明するためのフローチャートである。かかる処理は、例えば、利用対象システム30を構成する1つ又はそれ以上のコンピューティングデバイスが、プロセッサの制御の下、所定のプログラムを実行することにより、実現される。かかる処理は、シーケンシャルに実行されても良いし、処理の結果に矛盾を生じない限り、並列又は並行に実行されても良い。
同図に示すように、まず、利用対象システム30は、情報通信端末20から利用要求を受信すると(S1801)、情報通信端末20のユーザインターフェース上にログイン画面(被認証情報入力画面)を表示させるため、該ログイン画面を構成するための画面構成プログラムを情報通信端末20に送信する(S1802)。これを受けて、情報通信端末20は、そのユーザインターフェース上にログイン画面を表示する。
図19は、情報通信端末20のユーザインターフェース上に表示されたログイン画面の一例を示す図である。同図に示すようにログイン画面は、例えば、ユーザアカウントを入力するためのユーザ名入力フィールド1901及びパスワード導出パターンに従ったパスワード情報を入力するためのパスワード入力フィールド1902を含む。パスワード入力フィールド1902は、複数の要素からなる幾何学的パターンを含み、ユーザが任意の要素に任意の数字等を入力できるように構成される。任意の数字等は、例えば、情報通信端末20のユーザインターフェース上にオーバーラップ表示されるソフトウェアキーボードにより入力される。ユーザは、別に操作することによってハードウェアトークン22に表示されたトークンコードを、自身のパスワード導出パターンに対応する各要素に順番に入力する。つまり、ログイン画面のパスワード入力フィールド1902に入力されたパスワード情報は、幾何学的パターンにおける位置情報とトークンコードとの組み合わせからなる情報である。
図20は、ハードウェアトークン22のディスプレイ画面の表示例を示す図である。ユーザが例えばハードウェアトークン22の図示しないスイッチを操作すると、ハードウェアトークン22は、ディスプレイ画面に、トークンコードを表示する。本例では、トークンコードとして、“5703”が表示されている。ユーザは、表示されたトークンコードを左から順番に、自身のパスワード導出パターンに対応する各セルに当て嵌めて入力する。つまり、図19は、ユーザがパスワード入力フィールド1902にトークンコードを2桁目まで入力した様子を示している。
ユーザは、ログイン画面に対して、ログインに必要なログイン情報(被認証情報)を入力し、例えばログインボタン1903を選択すると、情報通信端末20は、該ログイン情報を含むログイン要求を利用対象システム30に送信する。図21は、ログイン要求の一例を示す図である。ログイン要求におけるパスワード情報は、同図Aに示すように、パスワード導出パターンにおける位置情報にトークンコードが関連付けられている。
なお、パスワード情報は、本例のように、パスワード導出パターンにおける位置情報及びトークンコードにより構成されるのではなく、同図Bに示すように、暗証表を利用するものであっても良い。即ち、情報通信端末20は、暗証表のうちのパスワード導出パターンに対応する各要素に、ユーザにより入力されたトークンコードを割り当ててパスワード情報を生成する。理解のため、図中、ユーザにより入力されたトークンコードに矢印を付している。これにより、たとえ通信内容を盗聴されたとしても、パスワード導出パターン及び入力されたトークンコードは第三者に認識されないので、これらの漏洩を有効に防止することができる。
図18に戻り、利用対象システム30は、情報通信端末20から送信されるログイン要求を受信すると(S1803)、ログイン要求に基づくユーザ認証要求を認証サーバ42に送信する(S1804)。例えば、利用対象システム30は、ログイン要求に自身のシステムIDを付加する。
認証サーバ42は、これを受けて、後述するユーザ認証判定処理を行い、その認証判定の結果を利用対象システム30に送信する。これを受けて、利用対象システム30は、認証判定の結果を受信し(S1805)、認証結果に応じた処理を行う(S1806)。
なお、上述したように、ログイン画面は、利用対象システム30ではなく、認証システム40(例えば認証サーバ42)によって提供されても良い。この場合、例えば、利用対象システム30は、ユーザからの利用要求を受信すると、これを認証サーバ42にリダイレクトし、認証サーバ42から認証結果が送信されて来るのを待つことになる。
(認証サーバの説明)
次に、本実施形態の認証システム40の機能的構成を説明する。図22Aは、本発明の一実施形態に係る認証システムの機能的構成を示すブロックダイアグラムである。同図において、図8及び13に示した構成要素と同一の構成要素には、同一の符号を付している。なお、認証システム40が図21Bに示したログイン要求に基づくユーザ認証要求を受け付ける場合には、図22Bに示す機能的構成に従って説明される。
同図を参照し、ユーザ認証要求受信部801は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付ける。ユーザ認証要求受信部801は、受け付けたユーザ認証要求におけるログイン情報をセキュリティトークン管理部802、パスワード導出パターン特定部1301及びユーザ認証判定部803のそれぞれに送出する。なお、ログイン情報は、その全てが各部に通知されても良いし、各部の処理において必要な一部の情報が送出されても良い。
セキュリティトークン管理部802は、例えば、セキュリティトークン特定部8021と、トークンコード生成部8022とを含む。セキュリティトークン特定部8021は、認証データベース44’を参照し、ログイン情報が示すユーザの情報通信端末20にインストールされているセキュリティトークンプログラムのトークンIDをトークンコード生成部8022に送出する。トークンコード生成部8022は、トークンIDで識別されるセキュリティトークンプログラムと時刻同期する同一のトークンコードを生成する。トークンコードは、暗証表(幾何学的パターン)を構成する要素の数に対応する数字等から構成される。セキュリティトークン管理部802は、トークンコード生成部8022によって生成されたトークンコードをパスワード情報特定部2201に送出する。
一方、ユーザ認証要求受信部801から送出されたログイン情報を受けたパスワード導出パターン特定部1301は、認証データベース44’を参照し、ログイン情報が示すユーザのパスワード導出パターンを特定する。即ち、パスワード導出パターン特定部1301は、所定の幾何学的パターンの要素群のうちのユーザが選択した要素の配列パターン及び選択順序を示すパスワード導出パターンを特定する。パスワード導出パターン特定部1301は、特定したパスワード導出パターンをパスワード情報特定部2201に送出する。
パスワード情報特定部2201は、トークンコード生成部8022によって生成されたトークンコードと、パスワード導出パターン特定部1301によって特定されたパスワード導出パターンとに基づいて、該ユーザの認証判定に必要なパスワード情報を特定する。即ち、ここでいうパスワード情報は、幾何学的パターンにおける位置情報とトークンコードとを含む。パスワード情報特定部2201は、特定したパスワード情報をユーザ認証判定部803に送出する。
ユーザ認証判定部803は、ユーザ認証要求受信部801から送出されたログイン情報と、パスワード情報特定部2201から送出されたパスワード情報とに基づいて、該ユーザの認証判定を行う。即ち、ユーザ認証判定部803は、ログイン情報に含まれるパスワード情報と、パスワード情報特定部2201から送出されたパスワード情報とを比較して、これらが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。ユーザ認証判定部803は、認証判定の結果を認証判定結果送信部804に送出する。認証判定結果送信部804は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する。
図23は、本発明の一実施形態に係るユーザ認証方法における認証システムによる処理を説明するためのフローチャートである。かかる処理は、例えば、認証システム40を構成する1つ又はそれ以上のコンピューティングデバイスが、プロセッサの制御の下、所定のプログラムを実行することにより、実現される。かかる処理は、シーケンシャルに実行されても良いし、処理の結果に矛盾を生じない限り、並列に又は並行に実行されても良い。
即ち、同図に示すように、認証サーバ42は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付けると(S2301)、認証データベース44’を参照し、該ユーザのパスワード導出パターンを特定する(S2302)。
さらに、認証サーバ42は、認証データベース44’を参照し、ユーザの情報通信端末20にインストールされたセキュリティトークンプログラム(トークンID)を特定する(S2303)。認証サーバ42は、該特定したセキュリティトークンプログラムと時刻同期したトークンコードを取得するために、同期サーバ46にトークンIDを用いてトークンコードを問い合わせる(S2304)。これを受けて、同期サーバ46は、該トークンIDからユーザのシードを特定し、所定のパスワード生成アルゴリズムを用いて、情報通信端末20のセキュリティトークンプログラムと時刻同期した同一のトークンコードを生成し、該生成したトークンコードを認証サーバ42に返す。これにより、認証サーバ42は、該ユーザが所持するセキュリティトークンが生成したトークンコードと時刻同期した同一のトークンコードを取得する(S2305)。
ユーザのトークンコード及びパスワード導出パターンを特定した認証サーバ42は、これらを用いて、該ユーザのパスワード情報を特定する(S2306)。つまり、認証サーバ42は、特定したトークンコードを構成する文字列等を先頭から順番にパスワード導出パターンの要素の選択順序に従って各要素に割り当てていくことで、ユーザのパスワード情報を特定する。
次に、認証サーバ42は、利用対象システム30から送出されたログイン情報と特定したパスワード情報とに基づいて、該ユーザの認証判定を行う(S2307)。認証サーバ42は、ログイン情報に含まれるパスワード情報と特定したパスワード情報とが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。認証サーバ42は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する(S2308)。
図22Bは、本実施形態に係る認証システムの機能的構成の他の例を示すブロックダイアグラムである。即ち、同図は、図21Bに示したユーザ認証要求に対応した認証システム40の機能的構成を示している。同図において、既述した図に示した構成要素と同一の構成要素には、同一の符号を付している。
同図を参照して、ユーザ認証要求受信部801は、例えば利用対象システム30からログイン情報を含むユーザ認証要求を受け付ける。ユーザ認証要求受信部801は、受け付けたユーザ認証要求におけるログイン情報をセキュリティトークン管理部802、パスワード導出パターン特定部1301及びパスワード抽出部2202のそれぞれに送出する。なお、ログイン情報は、その全てが各部に通知されても良いし、各部の処理において必要な一部の情報が送出されても良い。
既述したように、ユーザ認証要求受信部801から送出されたログイン情報を受け付けたパスワード導出パターン特定部1301は、認証データベース44’を参照し、ログイン情報が示すユーザのパスワード導出パターンを特定する。パスワード導出パターン特定部1301は、特定したパスワード導出パターンをパスワード抽出部2202に送出する。
また、既述したように、セキュリティトークン管理部802は、認証データベース44’を参照し、ログイン情報が示すユーザの情報通信端末20にインストールされているセキュリティトークンプログラムのトークンIDに基づいて、該セキュリティトークンプログラムと時刻同期する同一のトークンコードを生成する。本実施形態では、ここで生成されたトークンコードがパスワードとなる。セキュリティトークン管理部802は、生成したトークンコードをユーザ認証判定部803に送出する。
一方、ユーザ認証要求受信部801から送出されたログイン情報を受けたパスワード抽出部2202は、パスワード導出パターン特定部1301によって特定されたパスワード導出パターンに基づいて、ユーザ認証要求におけるパスワード情報から該ユーザの認証判定に必要なパスワードを抽出する。
ユーザ認証判定部803は、セキュリティトークン管理部802から送出されたトークンコードと、パスワード抽出部2202から送出されたパスワードとに基づいて、該ユーザの認証判定を行う。即ち、ユーザ認証判定部803は、セキュリティトークン管理部802から送出されたトークンコードと、ログイン情報から抽出されたパスワードとを比較して、これらが一致すると判断する場合、認証成立であると判定し、一致しない場合、認証不成立であると判定する。ユーザ認証判定部803は、認証判定の結果を認証判定結果送信部804に送出する。認証判定結果送信部804は、認証判定の結果をユーザ認証要求元の利用対象システム30に送信する。
以上のように、本実施形態によれば、上記各実施形態と同様の利点を得ることができる。特に、本実施形態によれば、パスワード導出パターンとトークンコードとを有機的に関連付けたパスワード情報を用いてユーザ認証判定を行うことができるようになる。
なお、認証システム40は、他の実施形態で説明されるユーザ認証要求の事前通知を受け、これに対応するユーザ認証要求のみを受け付けるように構成されても良い。このような構成により、認証システム40は、事前通告を受けた場合のみ、これに対応するユーザ認証要求を受け付ければ良いので、悪意ある第三者からのアタックに晒されるリスクを低減することができ、よりセキュアなユーザ認証方法及びシステムを提供することができるようになる。
[第4の実施形態]
(概要)
本実施形態は、上記実施形態で示されたいずれかのユーザ認証方法を、ユーザが置かれた所定の環境乃至は条件に従って、切り替えるようにしたユーザ認証方法を開示する。以下では、第1の実施形態で示されたユーザ認証方法(以下、「第1のユーザ認証方法」という。)又は第2の実施形態で示されたユーザ認証方法(以下、「第2のユーザ認証方法」という。)のいずれかに切り替える例で説明する。
本例では、利用対象システム30は、自動ロッカーやセキュリティルームの鍵開閉システム、現金自動預払機(ATM)等であるものとする。典型的には、このような利用対象システム30は、ユーザから、直接、パスワードやPIN等を受け付けるように構成される。また、利用対象システム30は、第1のユーザ認証方法を実現するため、認証システム40の機能をその内部に含んで構成されても良い。即ち、利用対象システム30は、物理的に離れた認証システム40と通信することなく、時刻同期のトークンコードを用いて、ユーザによって入力されたパスワードに対する認証判定を行うことができるように構成されても良い。なお、これは、利用対象システム30が、認証システム40と通信可能に接続される構成を排除する趣旨ではない。認証システム40は、第2のユーザ認証方法を実現するため、パスワード導出パターンを記憶する認証データベース44’を備える。
図24A及び図24Bは、本発明の一実施形態に係るユーザ認証方法の概略スキームを説明するための概略である。即ち、図24Aは、第1のユーザ認証方法が用いられる場合のスキームの一例を示し、図24Bは、第2のユーザ認証法が用いられる場合のスキームの一例を示している。
同図に示すように、ユーザは、インターネット10に接続可能な情報通信端末20を所持しており、利用対象システム30を直接的に操作できる環境下にいる。また、利用対象システム30と認証システム40とはインターネット10に接続されている。なお、同図では、ユーザ登録等の事前ステップについては省略されている。
まず、ユーザの情報通信端末20が、例えば無線LANやキャリアネットワークに接続できず、従って、インターネット10に接続できない環境に置かれている場合について、同図Aを用いて説明する。
ユーザは、情報通信端末20を用いて、利用対象システム30を利用するためのアプリケーションプログラムを起動する。情報通信端末20は、ネットワーク通信ができないため、ソフトウェアトークン22aを用いて認証システム40と時刻同期したトークンコードを生成し、内部に登録されているパスワード導出パターンを構成する各要素に該トークンコードを割り当てるとともに、他の要素にランダムに生成した数字等を割り当てて暗証表を生成し、ユーザインターフェース上にこれを表示する(図中(1))。ユーザは、表示
された暗証表を参照し、パスワード導出パターンを構成する各要素に割り当てられた数字等を抜き出して、利用対象システム30のユーザインターフェースにこれをパスワードとして入力する(図中(2))。
利用対象システム30は、入力されたパスワードを受け付けると、これを含むユーザ認証要求を認証システム40に送信する(図中(3))。認証システム40は、ユーザ認証シ
ステムを受信すると、上述した第1のユーザ認証方法で、入力されたパスワードに対する認証判定を行う。即ち、認証システム40は、情報通信端末20と時刻同期で生成されたトークンコードと入力されたパスワードとを比較照合し、認証判定を行い、該認証判定の結果を利用対象システム30に送信する(図中(4))。なお、認証システム40は、後述
するユーザ認証要求の事前通知の有無に関する情報を該認証判定の結果に含めて利用対象システム30に通知するようにしても良い。
利用対象システム30は、認証判定の結果を受けて、所定の処理を実行する。即ち、利用対象システム30は、認証不成立である場合、ユーザインターフェース上に、ログインできなかったことを示す画面を表示し、又は、認証成立の場合はログインを受け付けて、所定のサービスを提供する。
次に、ユーザの情報通信端末20が、インターネット10に接続できる環境に置かれている場合について、同図Bを用いて説明する。このような環境では、認証システム40は、セキュリティの観点から、後述するユーザ認証要求の事前通知を受け、これに対応するユーザ認証要求のみを受け付けるように構成されている。
ユーザは、情報通信端末20を用いて、利用対象システム30を利用するためのアプリケーションプログラムを起動する。情報通信端末20は、ネットワーク通信ができる環境にいるため、ソフトウェアトークンを用いて認証システムと時刻同期したトークンコードを幾何学的パターンの各要素に割り当てて構成した暗証表をユーザインターフェース上に表示する(図中(1))。
このとき、情報通信端末20は、アプリケーションプログラムが起動され、ユーザ認証手続きが起こりうることを示すユーザ認証要求の事前通知を認証システム40に送信する(図中(2))。ユーザ認証要求の事前通知は、利用対象システム30を介して認証システ
ム40に送信されても良いし、認証システム40に直接送信されても良い。認証システム40は、該事前通知を受けた場合、ユーザ認証判定処理に第2のユーザ認証方法を用いるよう制御する。また、認証システム40は、該事前通知を受けて、例えば、該ユーザに対するユーザ認証要求を、所定の時間だけ受信できるように、制御する。さらに、認証システム40は、該事前通知があったことをこのタイミングで(即ち、認証判定の結果を通知する前に)利用対象システム30に通知しても良い。
ユーザは、表示された暗証表を参照し、パスワード導出パターンを構成する各要素に割り当てられた数字等を抜き出して、利用対象システム30のユーザインターフェースにこれをパスワードとして入力する(図中(3))。
利用対象システム30は、入力されたパスワードを受け付けると、これを含むユーザ認証要求を認証システム40に送信する(図中(4))。認証システム40は、例えば、ユー
ザ認証要求の事前通知を受信してから所定の時間内にユーザ認証要求が到着した場合のみ、受信を許可するように構成される。認証システム40は、ユーザ認証要求を受信すると、上述した第2のユーザ認証方法で、入力されたパスワードに対する認証判定を行う。即ち、認証システム40は、情報通信端末20と時刻同期で生成されたトークンコードのうち、パスワード導出パターンを構成する各要素の数字等を抽出し、該抽出した数字列等と入力されたパスワードとを比較照合し、認証判定を行い、該認証判定の結果を利用対象システム30に送信する(図中(5))。認証システム40は、ユーザ認証要求の事前通知の有無に関する情報を先に通知するのに代えて、認証判定の結果にそれを含めるようにしても良い。
利用対象システム30は、認証判定の結果を受けて、同様に、所定の処理を実行する。なお、利用対象システム30は、認証システム40から与えられる事前通知の有無に関する情報に基づいて、ユーザに提供するサービスの種類乃至はレベルを変更するように制御しても良い。
(情報通信端末における処理の説明)
図25は、本発明の一実施形態に係るユーザ認証方法における情報通信端末の処理を説明するためのフローチャートである。
同図に示すように、情報通信端末20は、アプリケーションプログラムの実行を開始すると、ネットワーク通信が可能であるか否かを判断する(S2501)。情報通信端末20は、ネットワーク通信が可能でないと判断すると(S2501のNo)、第1のユーザ認証方法に従う暗証表を生成し(S2502)、これをユーザインターフェース上に表示する(S2503)。即ち、第1のユーザ認証方法に従う暗証表は、図6Bに示した方法によって生成される。
これに対して、情報通信端末20は、ネットワーク通信が可能であると判断すると(S2501のYes)、第2のユーザ認証方法に従う暗証表を生成し(S2504)、これをユーザインターフェース上に表示する(S2503)。即ち、第2のユーザ認証方法に従う暗証表は、図11に示した方法によって生成される。
ユーザは、表示された暗証表を参照し、パスワード導出パターンを構成する各要素に割り当てられた数字等を抜き出して、利用対象システム30のユーザインターフェースにこれをパスワードとして入力する。このことから明らかなように、情報通信端末20のユーザインターフェース上に表示される暗証表は、その生成方法が異なるのみであり、ユーザは、いずれの方法で生成されたかによって数字等の抜き出し方法を変える等を意識する必要はない。
(認証サーバの説明)
図26は、本発明の一実施形態に係るユーザ認証方法における認証システムによる処理を説明するためのフローチャートである。なお、以下では、認証システム40による処理として説明するが、上記実施形態と同様に、認証サーバ42が、認証データベース44’及び同期サーバ46と協働して、処理を行うものと考えることができる。
即ち、同図に示すように、認証システム40は、利用対象システム30から所定のメッセージを受信するまで待機する(S2601)。認証システム40は、所定のメッセージを受信した場合(S2601のYes)、ユーザ認証要求の事前通知に関するフラグがONであるか否かを判断する(S2602)。
認証システム40は、ユーザ認証要求の事前通知に関するフラグがONでないと判断する場合(S2602のNo)、該所定のメッセージがユーザ認証要求の事前通知であるか否かを判断する(S2603)。認証システム40は、該所定のメッセージがユーザ認証要求の事前通知でないと判断する場合(S2603のNo)、続いて、それがユーザ認証要求であるか否かを判断する(S2604)。
認証システム40は、利用対象システム30から受信した所定のメッセージが事前通知でなく、かつ、ユーザ認証要求でないと判断する場合(S2604のNo)、S2601の判断処理に制御を戻して、受信待ちの状態になる。これに対して、認証システム40は、利用対象システム30から受信した所定のメッセージが事前通知でなく、かつ、ユーザ認証要求であると判断する場合(S2604のYes)、第1のユーザ認証方法による認証判定を行う(S2605)。即ち、認証システム40は、情報通信端末20と時刻同期で生成されたトークンコードとユーザ認証要求に含まれるパスワードとを比較照合し、認証判定を行い、該認証判定の結果を利用対象システム30に送信する。
一方、認証システム40は、利用対象システム30から受信した所定のメッセージがユーザ認証要求の事前通知であると判断する場合(S2603のYes)、ユーザ認証要求の事前通知に関するフラグをONにセットして、タイマーによる計時を開始する(S2606)、S2601の判断処理に制御を戻す。
S2602の判断処理において、認証システム40は、ユーザ認証要求の事前通知に関するフラグがONであると判断する場合(S2602のYes)、続いて、タイマーによる計時が一定時間経過したか否かを判断する(S2607)。認証システム40は、一定時間経過していると判断する場合(S2607のYes)、ユーザ認証要求の事前通知に関するフラグをOFFにセットして、タイマーをリセットする(S2608)。
認証システム40は、タイマーによる計時が一定時間経過していないと判断する場合(S2607のNo)、続いて、所定のメッセージがユーザ認証要求であるか否かを判断する(S2609)。認証システム40は、該所定のメッセージがユーザ認証要求であると判断する場合(S2609のYes)、第2のユーザ認証方法による認証判定を行う(S2605)。即ち、情報通信端末20と時刻同期で生成されたトークンコードのうち、パスワード導出パターンを構成する各要素の数字等を抽出し、該抽出した数字列等と入力されたパスワードとを比較照合し、認証判定を行い、該認証判定の結果を利用対象システム30に送信する。
図27A及び27Bは、認証システムによる処理の別の例を示すフローチャートである。即ち、本例は、情報通信端末20が、ユーザ認証要求の事前通知を、直接、認証システム40に送信する場合の処理を示している。
即ち、同図Aに示すように、認証システム40は、情報通信端末20からユーザ認証要求の事前通知を受信するまで待機する(S2701A)。認証システム40は、情報通信端末20からユーザ認証要求の事前通知を受信すると(S2701AのYes)、ユーザ認証要求の事前通知に関するフラグをONにセットして(S2702A)、タイマーによる計時を開始する(S2703A)。続いて、認証システム40は、ユーザ認証要求の事前通知があったことを示す通知を利用対象システム30に送信する(S2704A)。なお、S2704Aのステップを省略し、該通知を、既述したように、認証判定の結果に含めるようにしても良い。
一方、認証システム40は、利用対象システム30からのユーザ認証要求を受信するまで待機する(S2701B)。認証システム40は、ユーザ認証要求を受信すると(S2701BのYes)、続いて、ユーザ認証要求の事前通知に関するフラグがONであるか否かを判断する(S2702B)。
認証システム40は、ユーザ認証要求の事前通知に関するフラグがONでないと判断する場合(S2702BのNo)、第1のユーザ認証方法による認証判定を行う(S2703B)。即ち、認証システム40は、情報通信端末20と時刻同期で生成されたトークンコードとユーザ認証要求に含まれるパスワードとを比較照合し、認証判定を行い、該認証判定の結果を利用対象システム30に送信する。
これに対して、認証システム40は、ユーザ認証要求の事前通知に関するフラグがONであると判断する場合(S2702BのYes)、続いて、タイマーによる計時が一定時間経過したか否かを判断する(S2704B)。認証システム40は、一定時間経過していると判断する場合(S2704BのYes)、ユーザ認証要求の事前通知に関するフラグをOFFにセットして、タイマーをリセットする(S2705B)。
S2704Bのステップにおいて、一定時間経過していないと判断する場合(S2704BのNo)、認証システム40は、第2のユーザ認証方法による認証判定を行う(S2706B)。即ち、情報通信端末20と時刻同期で生成されたトークンコードのうち、パスワード導出パターンを構成する各要素の数字等を抽出し、該抽出した数字列等と入力されたパスワードとを比較照合し、認証判定を行い、該認証判定の結果を利用対象システム30に送信する。
以上のように、本実施形態によれば、上記実施形態と同様の利点を得ることができることに加え、ユーザの情報通信端末20がネットワーク通信環境にいるか否かにより、適切なユーザ認証方法を切り替えることができるようになる。
なお、本実施形態では、第1のユーザ認証方法と第2のユーザ認証とを組み合わせた例が示されたが、これに限られず、第3の実施形態で説明されたユーザ認証方法を用いても良い。
[その他の実施形態]
上記実施形態では、情報通信端末20は、暗証表を生成し、該暗証表に基づく認証情報入力画面をそのユーザインターフェースに表示するように構成されているが、例えば、利用対象システム30が認証情報入力画面を表示し、ユーザによるパスワードの入力を受け付けるように構成されても良い。即ち、情報通信端末20が暗証表を生成し、これをそのユーザインターフェースに表示する一方、例えばユーザの所定の操作をトリガとして利用対象システム30は被認証情報入力画面を表示する。ユーザは、情報通信端末20のユーザインターフェースを参照して、認証情報入力画面にパスワードを入力すると、利用対象システム30は、これを受けて、ユーザ認証要求を認証システム40に送信する。このようにしても、上記実施形態と同様の利点を奏することができる。
また、情報通信端末20のユーザインターフェースを用いて、パスワード導出パターンの対応するセル(要素)にトークンコードを入力する方法を例示する。
図28に示す例は、ユーザが、画面内に表示された数字タイル2801から所望の数字アイコンをタップし、幾何学的パターンにおけるパスワード導出パターンに対応する要素までドラッグして、数字を入力する方法である。ユーザが数字アイコンを所定の要素上でドロップすることで、当該要素に数字が入力される。
図29に示す例は、ユーザが、画面内に表示された幾何学的パターンにおけるパスワード導出パターンに対応する要素に対して、該当する数字に対応する回数分タップして、数字を入力する方法である。例えば、要素に対する最初のタップにより当該要素に“0”が入力されるものとする。例えば、3行5列の要素に“7”を入力する場合、ユーザは、所定のタップスピードで8回タップする。情報通信端末20は、一定時間、タップがないとタップ入力終了であると判断する。
図30A及び30Bは、タップした要素にテンキーが表示される例である。本例では、幾何学的パターンの全ての要素に予め“0”が与えられている。即ち、図30Aに示すように、ユーザは、画面内に表示された幾何学的パターンにおけるパスワード導出パターンに対応する一の要素をタップする。これにより、タップされたことが視覚的に区別されるように、当該要素は、ハイライトされた後、当該要素の直上に、図30Bに示すようなテンキーがオーバーラップ表示される。ユーザが、テンキーに対してさらに所望の数字をタップすることで、当該要素に数字が入力される。なお、表示されたテンキーに対してユーザによる入力が一定時間何もないと、当該選択された要素に予め与えられている“0”が入力されることになる。
図31A及び31Bは、幾何学的パターン上を一筆書きの要領でなぞることにより所望の要素を選択する例である。即ち、図31Aに示すように、ユーザは、最初の要素をタップして選択すると、該要素を起点として、ドラッグしながら略直線の軌跡を引き、選択する要素上で一旦停止しながら、所定の数だけ要素を選択していく。ユーザが、ドラッグした指を離すことで、要素の選択が終了する。これにより、選択されたことが視覚的に区別されるように、当該要素は、ハイライトされる。次に、ユーザは、選択した要素に対して順番に、数字タイルの数字を選択して、トークンコードを入力する。
図32は、本発明の一実施形態に係るコンピューティングデバイスの概略的なハードウェア構成を示すブロックダイアグラムである。同図に示すように、コンピューティングデバイスは、典型的には、1又は2以上のプロセッサモジュール3201、チップセット3202、メモリモジュール3203、ストレージデバイス3204、I/Oコントローラ3205、各種のペリフェラルインターフェース3206を含むが、これらに限られるものではない。
プロセッサモジュール3201は、例えば、プロセッサコア、マイクロコントローラ、デジタル信号プロセッサ及び/又はこれらの組み合わせを含むが、これらに限られるものではない。ここでは、「プロセッサコア」という用語は、メインプロセッサを意味するプロセッサやCPU、MPU等と同義のものとして扱われる。プロセッサモジュールは、1次又はそれ以上のレベルのキャッシュ機構を含んでも良い。
チップセット3202は、プロセッサモジュール3201、メモリモジュール3203、ストレージデバイス3204及びI/Oコントローラ3205等を接続するバスとのブリッジや、コンピューティングデバイスを構成するために必要な他のコンポーネントを集積した回路からなる。チップセット3202は、例えば、プロセッサモジュール3201によって制御される。
メモリモジュール3203は、典型的には、揮発性メモリ(例えばRAM)、不揮発性メモリ(例えばROMやフラッシュメモリ等)及び/又はこれらの組み合わせからなる1次記憶装置である。メモリモジュール3203は、典型的には、デバイスドライバ、オペレーティングシステム(OS)プログラム、1又は2以上のアプリケーションプログラム及びプログラムデータ等の全部又は一部を保持し、プロセッサコアの利用に供される。
ストレージデバイス3204は、典型的には、ハードディスクドライブ(HDD)や光学式ディスクドライブ、ソリッドステートデバイス(SSD)等からなる。ストレージデバイスは、プロセッサモジュールの2次記憶装置として機能し、OS、アプリケーションプログラム、プログラムデータ及び各種のデータベースを記憶する。これらのプログラム及びデータの全部又は一部は、外部記憶装置3207に記憶されても良い。
なお、情報通信端末20としてのコンピューティングデバイスは、例えば、無線通信を実現する各種のコンポーネント(例えば、アンテナ、無線通信用チップ、マイク及びスピーカ等)やユーザインターフェースを実現するコンポーネント(例えば、タッチパネル等)を含んで構成される。
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしてもよく、また、他のステップ、動作又は機能を追加してもよい。
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を、適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。