以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本発明は、その趣旨を逸脱しない範囲で種々変形(例えば各実施形態を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
[第1の実施形態]
本実施形態は、従前は想定されていない比較的長い時間周期で同期して更新されるワンタイムパスワードを用いたユーザ認証方法及びこれを実現するシステムに関する。とりわけ、本実施形態は、ユーザの情報通信端末装置に関わる使用環境に応じて、タイムシンクロナス・ワンタイムパスワードの更新周期を変更し得るユーザ認証方法及びこれを実現するシステムに関する。
図1は、本発明の一実施形態に係るユーザ認証方法を実現するためのコンピューティングシステムを説明するための図である。同図に示すように、本開示のコンピューティングシステム1は、通信ネットワーク10を介して、相互に通信可能に接続される、情報通信端末装置20と、利用対象システム30と、認証システム40とを含み、さらに、参照端末装置50を含む。参照端末装置50は、本開示におけるユーザ認証方法を実行する場合においては、通信ネットワーク10を介した通信機能を有する必要はないが、これは、参照端末装置50が通信ネットワーク10を介して他のシステムと通信し得ることを排除する趣旨ではない。
通信ネットワーク10は、典型的には、IPベースのコンピュータネットワーク12を含む。ここでは、コンピュータネットワーク12は、相互に接続されたIPネットワークによって構築されたインターネット("the Internet")を含む広い概念のものを指すがIPネットワークに限らず、ノード間通信を可能とするあらゆるプロトコルのネットワークが適用可能である。また、コンピュータネットワーク12は、図示されていない無線基地局(例えばWi−Fi)によって構築される無線ネットワークを含んでも良い。また、通信ネットワーク10は、携帯電話機やスマートフォン等に対するキャリアネットワーク14を含んでも良い。
情報通信端末装置20は、典型的には、ユーザが所有するコンピューティングデバイスであり、例えば、パーソナルコンピュータや、携帯電話機、PDA、スマートフォン、タブレットコンピュータ及びその他のインテリジェントデバイスが該当するが、これらに限られない。情報通信端末20は、典型的には、CPU及びメモリを含む制御モジュールと通信モジュールとを含んで構成されるが、そのハードウェア構成は既知であるので、ここでは省略する。情報通信端末装置20は、例えば、図示しない有線LANやWi−Fiネットワークを介して、コンピュータネットワーク12に通信接続することができ、あるいはキャリアネットワーク14を介してコンピュータネットワーク12に通信接続することができる。これにより、情報通信端末装置20は、通信ネットワーク10上の様々なノード(例えばWebサーバやクラウドサーバ)にアクセスすることができる。本開示では、情報通信端末装置20は、アプリケーションの一つとしてブラウザを実装し、該ブラウザを介して、利用対象システム30にアクセス可能に構成される。つまり、情報通信端末装置20のプロセッサは、ブラウザプログラムを実行することにより、情報通信端末装置20上にブラウザ機能を実現する。
利用対象システム30は、ユーザが利用しようとするサービスを提供するシステムであり、典型的には、ユーザの利用に際して、ユーザ認証を要求する。利用対象システム30は、例えば、Webサイトを形成するWebサーバやクラウドサービスを提供するクラウドサーバであり得る。ユーザは、情報通信端末装置20上のブラウザを用いて、このようなサーバにアクセスし得る。他の例として、利用対象システム30は、ユーザの情報通信端末装置10そのものであっても良い。つまり、この場合の利用対象システム30は、情報通信端末装置10においてアプリケーションプログラムを実行することにより実現される機能乃至はアプリケーションの一つと見ることができる。
認証システム40は、利用対象システム30を利用しようとするユーザに対する認証を行うシステムである。認証システム40は、例えば、認証サーバ42と、認証データベース44と、セキュリティトークン管理サーバ(以下「トークン管理サーバ」という。)46とを含んで構成される。認証システム40は、例えば、1以上の汎用のコンピューティングデバイスによって実現され得る。このようなコンピューティングデバイスのハードウェア構成は、図21に例示的に示されるが、既知であるため、その詳細な説明は省略する。認証システム40は、例えば、SSL等のセキュアな通信技術を利用することによって、通信ネットワーク10を介して、情報通信端末装置20及び利用対象システム30との通信セッションを構築する。
認証サーバ42は、認証データベース44及びトークン管理サーバ46と協働し、ユーザ認証処理を統括的に制御するためのサーバコンピュータである。認証データベース44は、利用対象システム30を利用するユーザごとに、ユーザ認証に必要なユーザに関する情報(以下「ユーザ情報」という。)を記憶し、管理するデータベースシステムである。ユーザ情報は、例えば、ユーザID及びパスワード、セキュリティトークンに関するトークン情報、及び後述する情報通信端末装置20に関わる使用環境に関する情報(以下「使用環境情報」という。)を含む。認証データベース44は、例えば、ユーザ情報を暗号化したデータの形式で保持する。
図2は、本発明の一実施形態に係るユーザ認証方法において使用される認証データベースのデータ構造の一例を示す図である。認証データベース44は、例えば、各利用対象システム30について、ユーザごとのユーザ情報を1つのレコードとして管理する。
すなわち、同図に示すように、認証データベース44における各レコードは、例えば、システムID、ユーザID、パスワード、トークン情報、使用環境情報、及び更新間隔情報の各フィールドを含んで構成される。システムIDは、各ユーザが利用する利用対象システム30を識別するためのIDである。ユーザIDは、ユーザごとに割り当てられた利用対象システム30におけるユーザ識別名である。本例では、ユーザIDとして、ユーザが有するメールアドレスが、ユーザIDとして用いられている。パスワードは、該ユーザIDに対するパスワードである。トークン情報は、後述するユーザのセキュリティトークンに割り当てられたトークンIDである。使用環境情報は、例えば、装置ID(製造番号)や装置構成情報等のシステム情報、IPアドレス、ドメイン情報、及びSSID等のネットワーク情報、クッキー等の通信セッション情報の少なくともいずれかを含む。IPアドレスは、例えば、ユーザの勤務先の企業が有するホストアドレス乃至はIPアドレス群、及び/又はユーザの自宅のIPアドレスを含む。更新周期情報は、セキュリティトークンに設定される更新周期であり、本例では、短い更新周期又は長い更新周期のいずれかに設定される。短い更新周期は、利用対象システムへの1回の認証に、事実上、1回限りのパスワードとなる周期であり、例えば、30秒、1分、2分、3分又はそれらの間の時間の周期である。また、長い更新周期は、利用対象システムへの1回の認証によるログインに基づく利用時間を超える周期であり、例えば、1週間、2週間、30日或いは1か月、2か月、3か月、5か月、6か月又はそれらの間の日にちの周期であり得る。なお、更新周期情報は、利用対象システム30ごとに関連付けられるのではなく、ユーザIDごとに関連付けられても良い。
同図では、ユーザID“ogawa@xxx.yyy.co.jp”で示されるユーザは、システムID“36578979”及び“36578980”で示されるそれぞれの利用対象システム30を利用可能なユーザとして登録され、また、該ユーザのセキュリティトークンとして、トークンID“05:3A:xx:yy:zz:00”が登録されていることが示されている。また、該ユーザの情報通信端末装置20の使用環境情報として、“2B0EFE5−60…”で示されるクッキーが記憶され、更新周期情報として、長い更新周期“1か月”が設定されていることが示されている。
図1に戻り、トークン管理サーバ46は、ユーザごとのセキュリティトークンのトークンIDに対応するパスワード生成アルゴリズムに従い、シードに基づくタイムベース・パスワード(以下「TP」という。)を生成するためのサーバコンピュータである。タイムベース・パスワードは、ユーザのセキュリティトークンが生成するトークンコードと時間同期するトークンコードである。トークン管理サーバ46は、例えば、設定された更新周期ごとに更新されるパラメータに基づくシードに基づいて、TPを生成する。TPは、単に、数字のみを個々の構成要素とするものであっても良いが、これに限られない。TPは、例えば、数字、文字、記号及び/又はその他の識別可能な図柄を個々の要素として構成され得る。また、TPを構成する要素の個数は、固定であっても良いし、可変であっても良い。要は、TPは、トークン管理サーバ46とユーザのセキュリティトークンとが時間同期しているものであれば良い。
本開示において、トークン管理サーバ46は、TPの更新周期を管理し、認証サーバ42の制御の下、該更新周期を変更可能に構成される。更新周期は、低いセキュリティレベルが許容される状況下では、比較的長い周期、例えば、1か月に設定され、又はそれ以上の日数の周期に設定される。これに対して、高いセキュリティレベルが要求される状況下では、短い周期、例えば、60秒に設定される。トークン管理サーバ46は、例えば、ユーザからログイン要求を受けた認証サーバ42によるTP発行要求に応答し、該ユーザのセキュリティトークンが生成するトークンコードと時間同期したトークンコードを生成し、これをTPとして認証サーバ42に提供する。なお、実際上は、ユーザによる入力時間等を考慮した上で、トークンコードが時間同期しているものとみなされるように、時間の調整が行われる。
パスワード生成アルゴリズムには、既知のものを利用することができ、例えば、あるシードからハッシュ関数のような数学的アルゴリズムを用いてトークンコードが生成される。シードは、例えば、所定の更新周期ごとに更新されるパラメータに基づいて、決定される。また、これに加えて、前回生成したトークンコードやユーザの情報に由来する値等(例えばユーザ名やユーザの誕生日、メールアドレス又はこれらの組み合わせ等)を用いても良い。
なお、認証サーバ42は、認証データベース44及びトークン管理サーバ46の機能を備え、1つのコンピューティングデバイスとして構成されても良い。すなわち、認証システム40が、機能的又は論理的にどのように構成されるかは任意である。
また、本例では、利用対象システム30と認証システム40とは、それぞれ運用主体が異なり、物理的に離れたコンピュータシステムを想定しているが、これに限られるものではない。また、例えば、同一の事業者が利用対象システム30及び認証システム40の両方を運用するものであっても良く、これらが1つ又は複数のコンピュータシステムで構成されるものであっても良い。この場合、利用対象システム30が認証システム40の機能を含むように(又はその逆に)構成されても良い。
参照端末装置50は、利用対象システム30を利用しようとするユーザに対する認証において、追加的な認証のためのセキュリティコード(すなわち、TP)をユーザに提供するためのデバイスである。例えば、参照端末装置50は、スマートフォン等のコンピューティングデバイスであり得る。本例では、参照端末装置50は、タッチパネル機能を備えたスマートフォンであるものとする。参照端末装置50は、TPを生成し、これをユーザインターフェース上に表示するためのセキュリティトークンを実装している。セキュリティトークンは、例えば、ユーザごとに固有のトークンIDが割り当てられる。
セキュリティトークンは、本例では、セキュリティトークン機能を実現するためのセキュリティトークンプログラムによって実現されるソフトウェアトークンであり、トークン管理サーバ46が管理する同一のパスワード生成アルゴリズムに適応されている。これにより、参照端末装置50は、プロセッサの制御の下、セキュリティトークンプログラムを実行することにより、トークン管理サーバ46が生成するトークンコードと時間同期したトークンコード(すなわちTP)を生成することができる。他の例として、参照端末装置50が、それ自体がセキュリティトークンであるハードウェアトークンであっても良い。なお、参照端末装置50が提供するセキュリティコードは、TOTP以外の他のコードを含んでいても良い。
参照端末装置50のセキュリティトークンは、トークン管理サーバ46と共通のシード及びパスワード生成アルゴリズムにより、TPを生成することができる。参照端末装置50は、生成したTPを、例えば、そのユーザインターフェース上にそのまま表示する。あるいは、他の実施形態において示されるように、参照端末装置50は、生成したTPを所定の配列ルールに従って暗証表に埋め込み、該暗証表をユーザインターフェース上に表示しても良い。
参照端末装置50は、通信ネットワーク10に必ずしも接続されることを要しないが、接続可能であってもよい。例えば、参照端末装置50は、通信ネットワーク10を介して、情報通信端末装置20に接続しても良い。あるいは、参照端末装置50は、USBインターフェース等を介して、情報通信端末装置20に接続されても良いし、Bluetooth(登録商標)やNFC(Near Field radio Communication)等の近距離無線通信を介して、情報通信端末装置20に接続されても良い。また、参照端末装置50は、通信ネットワーク10を介して、利用対象システム30又は認証システム40に接続しても良い。
図3は、本発明の一実施形態に係るユーザ認証方法を説明するためのシーケンス図であり、具体的には、ユーザ認証方法におけるユーザ情報の登録処理のシーケンスを示している。
まず、ユーザは、ユーザ認証を要求する利用対象システム30の利用に先立ち、利用対象システム30へのユーザ登録が要求される。ユーザ登録は、典型的なユーザID及びパスワードの登録に加え、ユーザと該ユーザの参照端末装置50上のセキュリティトークンとを関連付けることを含む。
すなわち、ユーザは、例えば、情報通信端末装置20上のブラウザを介して、利用対象システム30の認証画面(ログイン画面)にアクセスしたが、利用対象システム30に対してユーザ登録を未だ行っていない場合、該認証画面からユーザ登録画面に誘導される。例えば、ユーザは、認証画面に設けられたユーザ登録ボタンを選択すると、情報通信端末装置20は、ユーザ登録の手続きを開始するためのユーザ登録開始要求を利用対象システム30に送信し(S301)、これに応答して、利用対象システム30は、ユーザ登録画面構成データを情報通信端末装置20に送信する(S302)。これを受けて、情報通信端末装置20は、ブラウザ上にユーザ登録画面を表示し、ユーザは、ユーザ登録画面に対してユーザ情報を入力する(S303)。ユーザ情報は、典型的には、ユーザID(及び/又はメールアドレス)及びパスワードを含み、また、例えば、ユーザのプロフィールに関する情報を含み得る。
ユーザによるユーザ情報の入力中、又は入力後、情報通信端末装置20は、使用環境情報を収集し、これをユーザ情報に関連付け乃至は統合する(S304)。使用環境情報の収集は、他の実施形態において説明されるように、例えば、情報通信端末装置20上のブラウザが、画面構成データに含まれるJavascript(登録商標)等を実行するより、実現される。情報通信端末装置20は、統合したユーザ情報を含むユーザ登録要求を利用対象システム30に送信し(S305)、これを受けて、利用対象システム30は、ユーザ登録要求を認証システム40に送信する(S306)。認証システム40は、受信したユーザ登録要求に含まれるユーザ情報を認証データベース44に登録する(S307)。使用環境情報は、例えばプロトコル通信の下、受信側のシステムが受動的に収集することができる情報を追加的に含んでいても良い。本例では、情報通信端末装置20が、利用対象システム30を介して、ユーザ情報を認証システム40に送信しているが、情報通信端末装置20が、ユーザ情報を含むユーザ登録要求を直接的に認証システム40に送信しても良い。
加えて、ユーザは、参照端末装置50上のセキュリティトークンのアクティベーションを行う。例えば、上述したユーザ情報の登録の際、認証システム40は、トークン管理サーバ46の制御の下、トークンIDを発行して認証データベース44に登録し(S308)、該トークンIDをユーザのメールアドレスとともに利用対象システム30に送信する(S309)。これを受けて、利用対象システム30は、トークンIDを含むメールを作成し、ユーザの登録されたメールアドレスに送信する(S310)。ユーザは、該メールを、例えば情報通信端末装置20上のメールクライアントで受信し、これをユーザインターフェース上に表示させる(S311)。
ユーザは、参照端末装置50上で起動したセキュリティトークンの登録画面に、表示されたトークンIDを入力する(S312)。これにより、認証システム40におけるユーザのトークンIDと参照端末装置50上のセキュリティトークンのトークンIDとが関連付けられ、TPの利用が可能になる。
以上のようにして、利用対象システム30を利用するためのユーザ情報は、認証システム40に登録され、ユーザは、情報通信端末装置20及び参照端末装置50を用いて、利用対象システム30を利用することができるようになる。
図4A及び4Bは、本発明の一実施形態に係るユーザ認証方法を説明するためのシーケンス図であり、具体的には、ユーザ認証方法におけるユーザ認証処理のシーケンスを示している。
ユーザ登録を終えたユーザは、図4Aに示すように、利用対象システム30を利用するために、情報通信端末装置20上のブラウザを操作すると、情報通信端末装置20は、利用開始要求を利用対象システム30に送信する(S401)。これに応答して、利用対象システム30は、第1の認証画面構成データを情報通信端末装置20に送信する(S402)。このような認証画面構成データは、例えば、Javascript(登録商標)等のスクリプト乃至はプログラムを含み得る。これを受けて、情報通信端末装置20は、例えば、図5に示すような第1の認証画面500をブラウザ上に表示し、ユーザは、第1の認証画面500におけるユーザID入力フィールド501及びパスワード入力フィールド502にユーザID及びパスワードを入力して、認証ボタン503を選択する(S403)。このとき、情報通信端末装置30は、収集される使用環境情報の認証データベース44への登録を有効にするか否かを選択するためのダイアログボックスを表示し、ユーザに有効にするか否かを選択させるようにしても良い。また、情報通信端末装置20は、ブラウザに、例えば、ユーザの指示の下、入力されたユーザID及びパスワードを記憶させても良い。
次に、情報通信端末装置20は、使用環境情報を収集する(S404)。使用環境情報の収集は、例えば、情報通信端末装置20上のブラウザが、第1の認証画面構成データに含まれるスクリプトを実行するより、実現される。続いて、情報通信端末装置20は、入力されたユーザID及びパスワード並びに収集した使用環境情報に基づいて、第1の認証要求を生成し、これを利用対象システム30に送信する(S405)。これを受けて、利用対象システム30は、第1の認証要求を認証システム40に送信する(S406)。このとき、利用対象システム30は、例えばプロトコル通信の下で収集し得る情報(例えばプロキシーのIPアドレス等)を使用環境情報として追加的に収集し、これを第1の認証要求に関連付け乃至は統合して送信しても良い。
認証システム40は、認証データベース44を参照し、受信した第1の認証要求に基づいて、該ユーザに対する第1の認証を行う(S407)。認証システム40は、第1の認証を承認する場合には、さらに、受信した使用環境情報に基づいて、要求するセキュリティレベル、すなわち、TPの更新周期を指定する(S408)。これにより、トークン管理サーバ46は、該ユーザに対するTPの更新周期を、指定された更新周期に設定する。
例えば、認証システム40は、今回受信した使用環境情報が、認証データベース44に記憶されている使用環境情報と同一であると判断する場合、低いセキュリティレベルによる認証を許可し、長い更新周期(例えば1か月)を指定する。
一方、認証システム40は、今回受信した使用環境情報に基づいて、認証データベース44に記憶されている使用環境と異なると判断する場合、高いセキュリティレベルによる認証を実行するため、短い更新周期(例えば60秒)を指定する。
認証システム40は、該ユーザの使用環境に応じたセキュリティレベルのTPを要求するために、TPの更新周期を指定するメッセージ(以下「更新周期指定メッセージ」という。)を利用対象システム30に送信し(S409)、これにより、利用対象システム30は、更新周期指定メッセージを含む第2の認証画面構成データを情報通信端末装置20に送信する(S410)。これを受けて、情報通信端末装置20は、更新周期指定メッセージを含む第2の認証画面をブラウザ上に表示する(図4BのS411)。図6は、第2の認証画面600の一例を示す図である。これにより、ユーザは、指定した更新周期のTPを入力するよう促される。ユーザが、参照端末装置50のセキュリティトークンを操作して、TPの更新周期を指定された更新周期に設定すると、参照端末装置50は、設定された更新周期に従ったTPを生成し、これをユーザインターフェース上に表示する(S412)。ユーザは、参照端末装置50のユーザインターフェースに表示されたTPを確認し、これをブラウザ上に表示された第2の認証画面600に入力する(S413)。
図7は、本発明の一実施形態に係るユーザ認証方法における参照端末装置のユーザインターフェースに表示されたTP提示画面の一例を示す図である。同図に示すように、TP提示画面700は、2種類の更新周期指定ボタン、すなわち、更新周期指定ボタン701A及び701Bと、TP表示領域702とを含む。本例では、ユーザによって長い更新周期を指定するボタン701Aが選択され、それに従って生成されたTP“91753683”が示されている。ユーザは、表示されたTPを図6に示した情報通信端末装置20上の第2の認証画面600のTP入力フィールド601に入力し、認証ボタン602を選択する。情報通信端末装置20は、ブラウザに、例えば、ユーザの指示の下、TPを記憶させても良い。
例えば、長い更新周期のTPが指定された場合、ユーザの利用対象システム30へのアクセス頻度によっては、過去のTPをそのまま使用することができ、ユーザは、これを考慮してTPをブラウザに記憶させていることもある。したがって、ユーザは、長い更新周期(例えば1か月周期)のTPが指定されていることを確認した場合、参照端末装置50を操作することなく、ブラウザに記憶されたTPをそのまま第2の被認証画面への入力に再使用することができる。あるいは、ユーザが過去に認証の承認を受けた際にブラウザにTPを記憶させいた場合に、ブラウザは、例えば、クッキー等に従って、第2の認証画面のTP入力フィールドに601に自動的に割り当て、入力された状態でユーザに提示しても良い。
一方、短い更新周期のTP(すなわち、この場合はTOTPを意味する。)が指定された場合、過去のTPがブラウザに記憶させていたとしても、該TPはもはや無効であるため、ユーザは、必ず参照端末装置50を操作することが要求される。
図4Bに戻り、ユーザが第2の認証画面にTPを入力すると、情報通信端末装置20は、入力されたTPに基づく第2の認証要求を利用対象システム30に送信し(S414)、これを受けて、利用対象システム30は、第2の認証要求を認証システム40に送信する(S415)。
第2の認証要求を受け取った認証システム40は、トークン管理サーバ46の制御の下、指定した更新周期のTPを生成し(S416)、生成したTPと第2の認証要求とに基づいて、第2の認証を行う(S417)。認証システム40は、第2の認証を承認する場合には、ユーザ認証を最終的に承認し、その認証結果を利用対象システム30に送信する(S418)。また、ユーザが使用環境情報の登録を有効にしていた場合(図5参照)、認証システム40は、受信した使用環境情報に基づいて、認証データベース44に登録されている使用環境情報を更新する。
認証結果を受信した利用対象システム30は、該認証結果を情報通信端末装置20に送信し、次の処理に進むことになる(S419)。例えば、認証結果が認証の不承認である場合、ユーザはログインできなかったことが通知される。一方、認証の承認である場合、ログインを受け付けて、利用対象システム30を利用することができることになる。
図8は、本発明の一実施形態に係る認証システムにおける認証処理を説明するためのフローチャートである。
同図に示すように、認証システム40の認証サーバ42は、利用対象システム30を介して、ユーザの情報通信端末装置20から認証要求を受信するまで待機している(S801のNo)。認証サーバ42は、ユーザの情報通信端末装置20から認証要求を受信すると(S801のYes)、該ユーザの認証要求が第1の認証要求であるか否かを判断し(S802)、該認証要求が第1の認証要求であると判断する場合には(S802のYes)、第1の認証処理を行う(S803)。これに対して、認証サーバ42は、該認証要求が第1の認証要求でない、すなわち第2の認証要求であると判断する場合には、(S802のNo)、第2の認証処理を行う(S804)。第1の認証処理及び第2の認証処理の詳細については、図9及び図10を参照してそれぞれ説明される。認証サーバ42は、第1の認証処理又は第2の認証処理を終えると、再び、認証要求の受信待ちの状態になる(S801)。
図9は、本発明の一実施形態に係る認証システムにおける認証処理を説明するためのフローチャートであり、具体的には、図8における第1の認証処理(S803)の詳細を示している。
すなわち、認証サーバ42は、受信した第1の認証要求に含まれるユーザID及びパスワードを抽出し(S901)、認証データベース44を参照して、受信したパスワードと登録されているパスワードとが一致するか否かを判断する(S902)。認証サーバ42は、パスワードが一致しないと判断する場合(S902のNo)、認証を承認しないとする判定結果を、利用対象システム30を介して、ユーザの情報通信端末装置20に送信する(S903)。これに対して、認証サーバ42は、パスワードが一致すると判断する場合(S902のYes)、続いて、第1の認証要求に含まれる又はそれに関連付けられた使用環境情報を取得する(S904)。
次に、認証サーバ42は、ユーザの情報通信端末装置20の使用環境が以前と同じであるか否かを判断するため、認証データベース44を参照して、取得した使用環境情報と登録されている使用環境情報とが一致するか否かを判断する(S905)。一致するか否かは、完全一致ではなく、例えば、所定のルールに従って算出される類似度に基づいて、判断されても良い。例えば、IPアドレスが一致しない場合であっても、装置ID及びクッキーが一致する場合には、認証サーバ42は、類似度が高いとして、使用環境が同一であると判断し得る。或いは、類似度は、使用環境情報を構成する各パラメータの重み値に基づいて算出され、所定の閾値との比較によって、同一性が判断されても良い。
また、認証サーバ42は、2種類の更新周期のいずれかを指定するのではなく、例えば、使用環境の類似度に応じて、更新周期を任意の長さに決定するようにしても良い。
認証サーバ42は、使用環境が同一であると判断する場合(S905のYes)、TOTPの更新周期に長い更新周期を指定する一方(S906)、使用環境が同一でないと判断する場合(S905のNo)、短い更新周期を指定する(S907)。これにより、トークン管理サーバ46は、指定された更新周期でTOTPを生成するように、動作する。続いて、認証サーバ42は、ユーザに対して指定した更新周期のTOTPを用いた認証を要求するため、利用対象システム30に更新周期通知メッセージを送信する(S908)。
利用対象システム30は、認証サーバ42から更新周期通知メッセージを受信すると、該メッセージを含む第2の認証画面構成データを生成し、これをユーザの情報通信端末装置20に送信する。情報通信端末装置20は、第2の認証画面構成データに基づいて、例えば、図6示したような第2の認証画面600を表示する。本例では、ユーザに長い更新周期を指定するよう促すメッセージが表示されている。ユーザは、かかるメッセージに従って、参照端末装置50のセキュリティトークンを操作する。これにより、参照端末装置50は、図7に示したようなTP提示画面を表示する。ユーザは、表示されたTPを第2の認証画面600のTP入力フィールド601に入力し、認証ボタン602を選択する。これにより、情報通信端末装置20は、入力されたTPを含む第2の認証要求を認証サーバ42に送信する。
ユーザが更新周期を指定するためのユーザインターフェースは、上記に限られず、例えば、ユーザが、指定された更新周期を、複数のラジオボタン或いはオプションボタン、又はスライドバーによって選択するように、構成されても良い。
図10は、本発明の一実施形態に係る認証システムにおける認証処理を説明するためのフローチャートであり、具体的には、図8における第2の認証処理(S804)の詳細を示している。
すなわち、同図に示すように、認証サーバ42は、受信した第2の認証要求からユーザID及びTPを抽出する(S1001)。次に、認証サーバ42は、認証データベース44を参照し、抽出したユーザIDに基づいてトークンIDを特定する(S1002)。認証サーバ42は、トークン管理サーバ46と協働し、特定したトークンIDに基づいて、ユーザのセキュリティトークンに対応するTPを生成する(S1003)。
認証サーバ42は、受信したTPと生成したTPとが一致するか否かを判断する(S1004)。認証サーバ42は、TPが一致すると判断する場合(S1004のYes)、ユーザに対する第2の認証を承認し(S1005)、取得した使用環境情報に基づいて、認証データベース44に登録されている使用環境情報を更新する(S1006)。一方、認証サーバ42は、TPが一致しないと判断する場合(S1004のNo)、ユーザに対する第2の認証を承認しない(S1007)。例えば、TPが時間同期していない場合や関連付けられていないセキュリティトークンが使用された場合、TPは一致しない。認証サーバ42は、TPに基づく第2の認証に従った最終的な認証結果を利用対象システム30に送信する(S1008)。これを受けて、利用対象システム30は、該認証結果を情報通信端末装置20に送信し、次の処理に進むことになる。例えば、認証結果が認証の不承認である場合、ユーザは、ログインできなかったことが通知される。一方、認証の承認である場合、ユーザは、ログインに成功し、その結果、利用対象システム30を利用することができることになる。
以上のように、本実施形態によれば、従前は想定されていない長い時間周期で同期して更新されるタイムベース・パスワード(TP)を用いたユーザ認証を行うことができる。また、本実施形態によれば、ユーザの情報通信端末装置20の使用環境に変化があった場合には、短い更新周期のTP(すなわち、この場合は、TOTPを意味することになる。)を用いてユーザ認証が行われるため、セキュリティレベルの低下を回避することができる。
また、本実施形態によれば、ユーザは、過去のTPをブラウザに記憶させておけば、長い更新周期のTPを用いる場合に、その過去のTPをそのまま再使用することができ、セキュリティトークンの操作及び入力を省略することができるようになる。
[第2の実施形態]
本実施形態は、第1の認証画面(ログイン画面)において、ユーザID及びパスワードの入力に加え、TPの入力を行えるようにした、ユーザ認証方法及びこれを実現するシステムに関する。つまり、情報通信端末装置の使用環境に変化がないことを認識するユーザは、未だ更新されていないであろう長い更新周期のTPを、第1の認証画面において予め入力することにより、ユーザ認証手続の簡素化を図ることができる。
図11は、本発明の一実施形態に係るユーザ認証方法における情報通信端末装置上に表示された第1の認証画面の一例を示す図である。ユーザは、上述したように、利用対象システム30にアクセスすることにより、このような第1の認証画面の提示を受ける。同図に示す例では、情報通信端末装置20のブラウザは、例えばクッキーに従って、記憶しておいたユーザの認証情報を入力した状態で、第1の認証画面1100を表示する。すなわち、同図に示すように、ブラウザは、第1の認証画面1100のユーザID入力フィールド1101、パスワード入力フィールド1102、及びTP入力フィールド1103に、記憶していたユーザの認証情報を、ユーザによる入力を介在させることなく、自動的に補完入力して、表示する。
図12A及び図12Bは、本発明の一実施形態に係る認証システムにおける認証処理を説明するためのフローチャートである。
同図に示すように、認証サーバ42は、認証サーバ42は、ユーザの情報通信端末装置20から第1の認証要求を受信すると、受信した第1の認証要求に含まれるユーザID、パスワード、及びTPを抽出し(S1201)、認証データベース44を参照して、受信したパスワードと登録されているパスワードとが一致するか否かを判断する(S1202)。認証サーバ42は、パスワードが一致しないと判断する場合(S1202のNo)、認証を承認しないとする判定結果を、利用対象システム30を介して、ユーザの情報通信端末装置20に送信する(S1203)。これに対して、認証サーバ42は、パスワードが一致すると判断する場合(S1202のYes)、続いて、第1の認証要求に含まれる又はそれに関連付けられた使用環境情報を取得する(S1204)。
次に、認証サーバ42は、ユーザの情報通信端末装置20の使用環境が以前と同じであるか否かを判断するため、認証データベース44を参照して、特定した使用環境情報と登録されている使用環境情報とが一致するか否かを判断する(S1205)。上述したように、一致するか否かは、完全一致ではなく、例えば、所定のルールに従って算出される類似度に基づいて、判断されても良い。
認証サーバ42は、使用環境が同一であると判断する場合(S1205のYes)、TPの更新周期に長い更新周期を指定する一方(S1206)、使用環境が異なると判断する場合(S1205のNo)、短い更新周期を指定する(S1207)。これにより、トークン管理サーバ46は、指定された更新周期でTPを生成するように、動作する。
次に、認証サーバ42は、認証データベース44を参照し、抽出したユーザIDに基づいてトークンIDを特定する(S1208)。続いて、認証サーバ42は、トークン管理サーバ46と協働し、特定したトークンIDに基づいて、ユーザのセキュリティトークンに対応するTPを生成する(S1209)。
認証サーバ42は、受信したTPと生成したTPとが一致するか否かを判断する(S1210)。認証サーバ42は、TPが一致すると判断する場合(S1210のYes)、ユーザに対する第1の認証を承認し(S1211)、取得した使用環境情報に基づいて、認証データベース44に登録されている使用環境情報を更新する(S1212)。その後、認証サーバ42は、認証結果を利用対象システム30に送信する(S1213)。つまり、この場合、パスワード及びTPのそれぞれに基づいて承認されたことになるため、第1の認証の結果が、最終的な認証結果になる。
一方、認証サーバ42は、最初のTPが一致しないと判断する場合(S1210のNo)、ユーザに対して短い更新周期のTPを用いた第2の認証を要求するため、利用対象システム30に更新周期指定メッセージを送信する(S1214)。利用対象システム30は、認証サーバ42から更新周期指定メッセージを受信すると、該メッセージを含む第2の認証画面構成データを生成し、これをユーザの情報通信端末装置20に送信する。以降は、ユーザは、第2の認証画面において、指定された短い更新周期のTPを入力して、第2の認証を受けることになるが、上述した処理と同じであるため、説明を省略する。
以上のように、本実施形態によれば、ユーザは、1つの認証画面において、ユーザID及びパスワードとともにTPを入力するので、ユーザ認証の手続の簡素化を図ることができる。さらに、情報通信端末装置20の使用環境に変化がないことを認識するユーザは、ブラウザに記憶させておいた長い更新周期のTPをそのまま用いることができ、入力の手間を省略することができる。一方で、情報通信端末装置20の使用環境に変化があった場合には、ユーザには改めてTPが要求されるため、長い更新周期のTPを用いることによるセキュリティレベルの低下を回避し、実用性に耐え得るセキュリティレベルの認証を行うことができる。
[第3の実施形態]
本実施形態は、利用対象システムが、ユーザの情報通信端末装置から利用開始要求を受信する際に取得し得る使用環境情報に基づいて、ユーザに、適切な認証画面を提示するようにしたユーザ認証方法及びこれを実現するシステムに関する。つまり、ユーザによる利用開始のアクセスに基づいて、情報通信端末装置の使用環境に変化がないと判断される場合に、ユーザは、第1の認証画面においてユーザID及びTPのみを入力することにより、ユーザ認証手続の簡素化を図ることができる。
本実施形態において、ユーザは、直近に、利用対象システム30に対して認証され、長い更新周期のTPによる認証を許容されているものとする。また、ユーザによる今回の利用対象システム30へのアクセスが、前回の認証から更新周期内に行われたものとする。
上述したように、ユーザが、利用対象システム30を利用するために、情報通信端末装置20上のブラウザを操作することにより、情報通信端末装置20は、利用開始要求を利用対象システム30に送信する。利用対象システム30は、例えばプロトコル通信の下で収集し得る使用環境情報(例えば情報通信端末装置20のIPアドレスやクッキー等)を取得して、該取得した使用環境情報に基づいて、情報通信端末装置20の使用環境が同一か否かを判断する。利用対象システム30は、情報通信端末装置20の使用環境が同一であると判断する場合には、例えば、図13に示すような認証画面1300を構成する第1の認証画面構成データを情報通信端末装置20に送信する。これにより、情報通信端末装置20のブラウザは、クッキー等に基づいて、記憶していたユーザID及びTPがユーザID入力フィールド1301及びTP入力フィールド1302にそれぞれ入力された状態で認証画面1300を表示する。ユーザは、このような認証画面1300においてユーザID及びTPが入力されていることを確認すると、認証ボタン133を選択する。これにより、情報通信端末装置20は、ユーザID及びTPを含む認証要求を利用対象システム30に送信し、利用対象システム30は、受信した認証要求を認証システム40に送信する。認証システム40は、受信した認証要求に含まれるユーザID及びTPに基づいて、TPが一致するか否かによる認証を行い、その認証の結果を利用対象システム30に送信する。
一方、利用対象システム30は、取得した使用環境情報に基づいて、情報通信端末装置20の使用環境が異なると判断する場合には、ユーザに例えば図5に示した第1の認証画面500を提示する。つまり、この場合、利用対象システム30は、ユーザに、上述したように、第1の認証及び第2の認証を要求する。あるいは、利用対象システム30は、第1の認証を省略し、短い更新周期のTPによる第2の認証を要求するように構成されても良い。
以上のように、本実施形態によれば、利用対象システム30が、ユーザの情報通信端末装置20の使用環境に変化がないと判断する場合には、従来のパスワードに代えて、TPを要求するため、ユーザは、入力のブラウザに記憶させておいた長い更新周期のTPをそのまま用いることができ、入力の手間を省略することができる。一方で、情報通信端末装置20の使用環境に変化があった場合には、ユーザには改めて第1の認証及び第2の認証が要求されるため、少なくとも従前どおりのセキュリティレベルを確保し、実用性に耐え得るセキュリティレベルの認証を行うことができる。
[第4の実施形態]
本実施形態は、ユーザの情報通信端末装置の使用環境に応じて指定された更新周期で生成されたTPを、所定のルールに従って暗証表に埋め込んで、該暗証表をユーザに提示するようにしたユーザ認証方法及びこれを実現するシステムに関する。
すなわち、本実施形態の参照端末装置50は、生成したTPが予め登録されたパスワード導出パターンに従って埋め込まれた暗証表を表示するように構成される。パスワード導出パターンとは、ある幾何学的なパターンを構成するセル(要素)群の中から、ユーザによって任意の順序で選択された特定のセル群の配列パターン及びその選択順序を定義したものである。言い換えれば、パスワード導出パターンは、幾何学的パターンにおけるどのセル群がどのような順番で選択されるかを示す配列ルールである。ここで注意すべき点は、パスワード導出パターンは、幾何学的パターン中の特定のセルに割り当てられた具体的な値そのものをいうのではなく、どのセルをどのような順番で選択したかという情報を表しているということである。ユーザは、パスワード導出パターンの各セルに割り当てられた数字等を、所定の順番で抜き出すことによって、自身のパスワード(又はトークンコード)を再現する。
図14は、本発明の一実施形態に係るユーザ認証方法において使用されるパスワード導出パターンを説明するための図である。
すなわち、同図(a)は、例えば5行5列の格子状に構成された幾何学的パターン1410におけるパスワード導出パターンの例を示している。同図では、ユーザによって選択されたセル1412は、視覚的に区別されるよう、ハッチングがなされ、また、選択された順番にそのセル内に番号が付されている。このように、幾何学的パターン1410の中からユーザによって順番に選択された1つ以上のセル1412が、パスワード導出パターンとなる。各セルの位置は、例えば、“(行,列)”で特定される。したがって、本例のパスワード導出パターンは、例えば“(0,1),(3,2),(3,4),(4,4)”として特定される。或いは、一番左上のセル1412を“1”番として横方向にシーケンシャル番号を割り当てたとすると、パスワード導出パターンは“2,12,14,19”として特定される。
また、同図(b)は、ライン形式の幾何学的パターンの例である。本例では、ユーザが、選択したセル1412の位置を確認しやすいように、幾何学的パターン1210は、5個ずつのセル1412のブロックによって構成されている。
幾何学的パターン1410の形状及びこれを構成するセル1412の数、並びに選択されるべきセル1412の数及びその順番は任意であり、ユーザ認証におけるセキュリティレベルに応じて適宜設定される。なお、パスワード導出パターンの概念については、特許文献1に詳述されている。
図15は、本発明の一実施形態に係るユーザ認証方法におけるパスワード導出パターン登録画面を説明するための図であり、参照端末装置50のユーザインターフェース上に表示されたパスワード導出パターン登録画面の一例を示している。本実施形態では、このような登録画面は、参照端末装置50にインストールされたセキュリティトークンプログラムの機能によって実現されるが、これに限られない。他の実施形態では、登録画面は、ページ記述言語(例えばHTML5等)に従って記述される画面構成プログラムにより構成され、管理者側のコンピューティングシステム(例えば利用対象システム30や認証サーバ42)にアクセスすることにより提供され得る。
同図に示すように、パスワード導出パターン登録画面1500は、例えば、パスワード導出パターン指定領域1510及び設定保存ボタン1520を含む。
パスワード導出パターン指定領域1510は、5×5個のセル1412群からなる幾何学的パターン1410を含んで構成され、ユーザが所定の数(例えば4つ)のセル1412を順番に指定するための領域である。すなわち、ユーザは、幾何学的パターン1410のうち、登録したいパスワード導出パターンに対応するセル1412を順番に所定の数だけタップすることにより選択する。セル1412が選択されるごとに、該セル1412が視覚的に区別されるよう、例えば所定の色でハイライトされ、さらに、選択された順番を示す番号が該セル1412内に表示される。このように、幾何学的パターン1410に対して選択されたセル1412の位置及びその順番がパスワード導出パターンに相当する。
パスワード導出パターンの登録において、例えば、同じセル1412が2回以上選択されても良い。例えば、2回選択された要素は、別の色でハイライトされ、2個の番号が表示される。この場合、重なり合って視認できなくなることを防止するため、例えば、吹き出しを使って各番号を表示しても良い。また、要素が選択された順番は、番号に代え、或いはそれに加えて、幾何学的パターン1410上に選択されたセル1412同士を結ぶ軌跡によって示されても良い。
また、各セル1412の選択は、タップに代え、一筆書きの要領で、幾何学的パターン上を、ドラッグを行うことでなされても良い。すなわち、ユーザは、選択した最初の要素を起点として、ドラッグしながら略直線の軌跡を引き、選択する要素上で一旦停止しながら、所定の数だけ要素を選択していく。参照端末装置50は、例えば、登録画面内の指が接触した位置及び接触時間に基づいて、タップ、ドラッグ又はスワイプ等の操作アクションを特定しながら、入力情報を受け付ける。
設定保存ボタン1520は、選択した一連のセル1412を保存するためのボタンである。例えば、ユーザがセル1412を順番に選択し、所定の数に達した場合に、設定保存ボタン1520が有効化される。ユーザが、設定保存ボタン1520をタップすることにより、参照端末装置50は、選択された一連のセルに基づくパスワード導出パターンを登録する。
パスワード導出パターンの登録は、本明細書で説明される以外の方法によっても行うことができる。例えば、上記特許文献1に開示されたパスワード導出パターンの登録方法も本発明に適用することができる。
上述したように、本実施形態の参照端末装置50は、指定された更新周期で生成したTOTPを、暗証表を介して、ユーザに提示するように動作する。つまり、参照端末装置50は、指定された更新周期で生成したTPを、所定のルールに従って、暗証表に埋め込んで、そのようなTPが埋め込まれた暗証表をユーザに提示する。
図16は、本発明の一実施形態に係るユーザ認証方法における参照端末装置の処理を説明するためのフローチャートである。かかる処理は、例えば、参照端末装置50上で実行されるセキュリティトークンにより実現される。
同図に示すように、参照端末装置50は、セキュリティトークンの起動により、まず、ユーザによるTPの更新周期の指定を受け付ける(S1601)。次に、参照端末装置50は、保存されているユーザのパスワード導出パターンを読み出すとともに(S1602)、トークン管理サーバ46が生成するトークンコードと時間同期したトークンコード、すなわち、TPを生成する(S1603)。次に、参照端末装置50は、生成したTPを構成する数字等を先頭から順番に、暗証表におけるパスワード導出パターンを構成する各セルに割り当てる(S1604)。続いて、参照端末装置50は、暗証表の残りの各セルに、ランダムに生成した数字等を割り当てて(S1605)、暗証表を完成させる。参照端末装置50は、暗証表を生成すると、これを含む参照画面を表示する(S1606)。
図17は、本発明の一実施形態に係るユーザ認証方法における参照端末装置のユーザインターフェース上に表示された参照画面の一例を示す図である。同図に示すように、参照画面1700は、更新周期指定ボタン701A及び701Bと、暗証表1710を含む。暗証表1710は、例えば、幾何学的パターンの各セル1412に、一見するとランダムな数字等が割り当てられた表である。ユーザは、暗証表1710を参照し、自身のパスワード導出パターンに対応する各セル1412に割り当てられた数字等を順番に抜き出す。ユーザは、順番に抜き出した数字等を、TPとして、第2の認証画面に入力する。例えば、図15に示したパスワード導出パターンに従えば、暗証表1710からは数字“91753683”が抜き出されることになる。ユーザは、上述したような、情報通信端末装置20上のブラウザに表示された第2の認証画面に、抜き出したTPを入力する。
このように、本実施形態によれば、参照端末装置50が、生成したTPをそのまま表示するのではなく、暗証表に埋め込んで表示するので、さらにセキュリティレベルを高めることができる。例えば、ユーザが、参照端末装置50を紛失し、参照端末装置50を拾得した第三者が不正アクセスの意図を持ってTPの生成の操作することができたとしても、パスワード導出パターンを知らなければ、TPを抜き出すことができず、不正アクセスを防ぐことができる。
[第5の実施形態]
本実施形態は、ユーザ認証のための制限時間を設けつつ、ユーザの情報通信端末装置の使用環境に応じてTPの更新周期を変更し得る、ユーザ認証方法及びこれを実現するシステムに関する。
すなわち、ユーザは、利用対象システム30を利用するためにアクセスして、情報通信端末装置20を操作して、ブラウザに第1の認証画面を表示させる。ユーザからアクセスを受けた利用対象システム30は、認証システム40に、近い将来に認証要求する予定にあることを事前に通知するための認証要求の事前通知を送信する。認証システム40は、認証要求の事前通知を受信すると、所定の時間以内に受信した認証要求についてのみ、認証を行うように動作する。言い換えれば、認証システム40における認証処理は、通常は、ロック乃至はプロテクトがかかっており、認証システム40は、認証要求の事前通知(ロック解除要求)を受信した場合に、所定の時間だけロックを解除し、認証要求を受け入れる状態になる。
図18A及び18Bは、本発明の一実施形態に係るユーザ認証方法を説明するためのフローチャートである。具体的には、同図Aは、認証システム40における認証要求の事前通知の受信処理を示し、同図Bは、認証システム40における認証要求に基づく処理を示している。
まず、同図Aに示すように、認証システム40の認証サーバ42は、通信ネットワーク10を介して、認証要求の事前通知を受信したか否かを監視する(S1801A)。認証サーバ42は、利用対象システム30から認証要求の事前通知を受信したと判断する場合(S1801AのYes)、認証要求の事前通知を送信したユーザ(すなわち、ユーザの情報通信端末20)に対するセッションを生成し、保持する(S1802A)。続いて、認証サーバ42は、生成したセッションに対する認証要求フラグの値を、有効を示す値に書き換えて(S1803A)、計時を開始する(S1804A)。そして、認証サーバ42は、計測している時間が所定の時間を経過したか否かを監視する(S1805A)。これは、続くユーザ認証要求が所定の時間内に到着したか否かを判断するためである。認証サーバ42は、計測している時間が所定の時間を経過したと判断する場合に(S1805AのYes)、該認証要求フラグの値を、無効を示す値に書き換えて(S1806A)、認証要求の事前通知の監視に戻る(S1801A)。
また、認証サーバ42は、同図Bに示されるように、保持しているセッションを介して、利用対象システム30からユーザ認証要求を受信したか否かを監視する(S1801B)。認証サーバ42は、例えば利用対象システム30から該セッションを介して第1の認証要求を受信したと判断する場合(S1801BのYes)、続いて、認証サーバ42は、該第1の認証要求に基づくユーザに対する認証要求フラグの値が有効を示す値であるか否かをチェックする(S1802B)。認証サーバ42は、該認証要求フラグの値が有効を示す値であると判断する場合(S1802BのYes)、該ユーザの認証要求が第1の認証要求であるか否かを判断し(S1803)、該認証要求が第1の認証要求であると判断する場合には(S1803のYes)、第1の認証処理を行う(S1804)。これに対して、認証サーバ42は、該認証要求が第1の認証要求でない、すなわち第2の認証要求であると判断する場合には、(S1803のNo)、第2の認証処理を行う(S1805)。第1の認証処理及び第2の認証処理については、図9及び図10を参照して説明したものと同じで、その説明を省略する。認証サーバ42は、第1の認証処理又は第2の認証処理を終えると、再び、認証要求の受信待ちの状態になる(S1801B)。
認証サーバ42は、該認証要求フラグの値が無効を示す値であると判断する場合(S1802BのNo)、認証要求の事前通知を受信していないか、又は認証要求の事前通知を受信したがタイムアウトであると判断し、該ユーザ認証要求は無効であると判断し(S1809B)、該判定の結果をユーザ認証要求元の利用対象システム30に送信する(S1810B)。
なお、認証サーバ42は、第1の認証要求に対する第1の認証を承認する場合、制限時間を所定の時間だけ延長するようにしても良い。つまり、第1の認証及び第2の認証に対してそれぞれ制限時間が設けられても良い。
あるいは、ユーザ認証のための制限時間は、参照端末装置50のセキュリティトークンを操作した時点から計時されるようにしても良い。このような例では、参照端末装置50は、通信ネットワーク10を介して、利用対象システム30等と接続可能に構成される。つまり、ユーザが、参照端末装置50のセキュリティトークンを操作して、例えば、予め短い更新周期を指定し、これによって生成されたTPが埋め込まれた暗証表を表示させると、参照端末装置50は、認証要求の事前通知(ロック解除要求)を、利用対象システム30を介して、認証システム40に送信する。これを受けて、認証システム40は、所定の時間だけロックを解除し、認証要求を受け入れる状態になる。
[第6の実施形態]
本実施形態は、ユーザが、参照端末装置を操作しTPの更新周期指定メッセージを直接的に参照端末装置のセキュリティトークンに送信するようにした、ユーザ認証方法及びこれを実現するシステムに関する。本実施形態では、参照端末装置50は、通信ネットワーク10を介して、利用対象システム30等と接続可能に構成されるとともに、参照端末装置50のセキュリティトークンが認証システムと通信可能に構成される。
すなわち、認証サーバ42は、例えば、図9に示した処理に従って、使用環境情報に基づいて更新周期を指定すると、更新周期指定メッセージを参照端末装置50のセキュリティトークンに送信するとともに、利用対象システム30に対しては第1の認証結果を送信する。これを受けて、利用対象システム30は、第2の認証画面構成データを情報通信端末装置20に送信する。その他の処理は、上記実施形態と同じであるため、説明を省略する。
図19は、本発明の一実施形態に係るユーザ認証方法における参照端末装置50のセキュリティトークンの処理を説明するためのフローチャートである。
同図に示すように、参照端末装置50は、利用対象システム30を介して、認証サーバ42から更新周期指定メッセージを受信するまで待機している(S1901)。参照端末装置50は、認証サーバ42から更新周期指定メッセージを受信すると(S1901のYes)、例えば、そこに指定された更新周期に従ったTPを生成し(S1902)、生成したTPをユーザインターフェース上に表示する(S1903)。参照端末装置50は、更新周期指定メッセージを受信した場合、ダイアログボックスを介して、ユーザに対して処理を実行すべきか否かを確認させるようにしても良い。また、参照端末装置50は、TPをそのまま表示するのではなく、これを埋め込んだ暗証表を表示するようにしても良い。
[第7の実施形態]
本実施形態は、情報通信端末装置が、情報通信端末装置を操作するユーザの挙動(ユーザの操作挙動)を使用環境情報の一部として収集し、該ユーザの操作挙動に基づいて、情報通信端末装置の使用環境が変化したか否かを判断するユーザ認証方法及びこれを実現するシステムに関する。
図20は、本発明の一実施形態に係るユーザ認証方法における認証画面構成データを説明するための図である。同図に示すように、認証画面構成データ2000は、例えば、入力フォームデータ2010、使用環境情報収集スクリプト2020、及び操作挙動監視スクリプト2030を含み得る。認証画面構成データ2000は、例えば、HTML5等のWebページ記述言語に従って記述されたデータセットである。ここでいう認証画面構成データ2000は、上述した第1の認証画面及び/又は第2の認証画面を構成する画面構成データであり得る。
入力フォームデータ2010は、例えば、タイムベース・パスワード(TP)を入力するためのテキスト入力フィールドやコンボフィールド等を構成するデータである。使用環境情報収集スクリプト2020は、上述したように、例えば、装置ID(製造番号)や装置構成情報等のシステム情報、IPアドレス、ドメイン情報、及びSSID等のネットワーク情報、クッキー等の通信セッション情報を収集するためのスクリプトである。使用環境情報収集スクリプト2020は、例えば、認証(送信)ボタン等の選択アクションにより、実行され得る。操作挙動監視スクリプト2030は、例えば、テキスト入力フィールドに対する入力イベントを監視し、入力態様を特定するためのスクリプトである。
具体的には、操作挙動監視スクリプト2030を実行するブラウザは、キー入力イベント及び/又はフォーカス移動イベントを監視し、入力フィールドに対する入力が、ユーザのキーボード操作等により手入力されたものであるか、ブラウザの自動補完入力機能によって入力されたものであるかを判定する。一例として、ブラウザは、カーソルが図11に示したようなTP入力フィールド1103に移動した後、TPを構成する数字等のキー入力を検出した場合、該入力は手入力であると判定する。ブラウザは、TP入力フィールド1103に対するキー入力の時間間隔にばらつきがあったり、編集キー等による操作があったりした場合も、該入力は手入力であるあると判定しても良い。他の例として、ブラウザは、カーソルがTP入力フィールド1103に移動した時点から認証ボタン1104が選択されるまでの時間が所定の時間よりも短い場合、該入力は自動補完入力機能による自動入力であると判定し得る。さらに他の例として、ブラウザが、クリップボードに保持されたデータを、TP入力フィールド1103にペースト入力した場合には、自動入力であると判定しても良い。このようなユーザの操作挙動の判定結果は、収集される使用環境情報に統合される。
認証システム40は、情報通信端末装置20から送信されるユーザ認証要求に含まれる使用環境情報におけるユーザの操作挙動に従って、情報通信端末装置20の使用環境に変化があったか否かを判断する。例えば、認証システム40は、使用環境情報が手入力であることを示す場合、情報通信端末装置20の使用環境に変化があったと判断する一方、使用環境情報が自動入力であることを示す場合、情報通信端末装置20の使用環境に変化がないと判断し、上述したように、該判断に従って、TPの更新周期を決定する。
以上のように、本実施形態によれば、情報通信端末装置20上のユーザの操作挙動に基づいて、情報通信端末装置20の使用環境が変化したか否かを判断することができる。
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、様々な形態で実施することができる。
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちの幾つかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしてもよく、また、他のステップ、動作又は機能を追加してもよい。
また、本明細書では、様々な実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を、適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。