(57)【要約】  認証情報漏洩の危険性を減少させた二要素認証のマトリクス認証システムを提供する。  提示パターンに含まれる特定の位置の要素に適用することによりワンタイムパスワードを生成するためのルールをパスワードとし、ユーザが使用するクライアントの識別情報を認証のためにさらに使用する二要素ユーザ認証システムであって、認証サーバは、クライアント識別情報と組み合わされて提示パターンをユニークに決定する値であるパターンシード値を発生させて認証要求クライアントに送信し、認証要求クライアントは、そこから取得したクライアント識別情報と受信したパターンシード値とに基づいて提示パターンを生成して表示させ、ユーザからその提示パターンに基づいたワンタイムパスワードの入力を受け付ける。
2012046304.tif 000002
【特許請求の範囲】
【請求項１】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用する二要素ユーザ認証システムであって、
前記ユーザの認証を行う認証サーバと、
前記認証サーバとネットワークで接続された、前記ユーザが認証を要求する端末である認証要求クライアントと、を有し、
前記認証サーバは、
前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと当該ユーザが使用する前記認証要求クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶するパスワード記憶部と、
前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するパターンシード値発生手段と、
認証を受けようとするユーザのユーザＩＤを前記認証要求クライアントから受信するユーザＩＤ受信手段と、
発生させられた前記パターンシード値を、認証を受けようとするユーザの前記認証要求クライアントに送信するパターンシード値送信手段と、
を有し、
前記認証要求クライアントは、
前記ユーザから前記ユーザＩＤの入力を受け付けるユーザＩＤ入力手段と、
入力された前記ユーザＩＤを前記認証サーバに送信するユーザＩＤ送信手段と、
前記認証サーバから送信された前記パターンシード値を受信するパターンシード値受信手段と、
認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別するクライアント識別情報を取得するクライアント識別情報取得手段と、
取得された前記クライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するパターン要素列生成手段と、
生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるパターン表示手段と、
前記ユーザから、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けるワンタイムパスワード入力手段と、
入力された前記ワンタイムパスワードを前記認証サーバに送信するワンタイムパスワード送信手段と、
を有し、
前記認証サーバは、
前記ワンタイムパスワードを受信するワンタイムパスワード受信手段と、
受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成する検証コード生成手段と、
受信した前記ワンタイムパスワードと生成された前記検証コードとを比較し、それらが等しい場合に前記ユーザＩＤに対応するユーザの認証を成功させるユーザ認証手段と、
をさらに有することを特徴とする二要素ユーザ認証システム。
【請求項２】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記パスワード記憶部は、あらかじめ前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと当該ユーザが使用する前記認証要求クライアントをそれぞれ識別する複数のクライアント識別情報とをお互いに関連付けて記憶するものであり、
前記パターンシード値発生手段は、前記複数のクライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するものであり、
前記クライアント識別情報取得手段は、認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別する前記複数のクライアント識別情報を取得するものであり、
前記パターン要素列生成手段は、取得された前記複数のクライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するものであり、
前記検証コード生成手段は、受信した前記ユーザＩＤに関連付けられた前記複数のクライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成するものであることを特徴とする二要素ユーザ認証システム
【請求項３】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記パターンシード値発生手段は、前記ユーザＩＤおよび前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するものであり、
前記パターン要素列生成手段は、入力された前記ユーザＩＤと認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別する前記クライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するものであり、
前記検証コード生成手段は、受信した前記ユーザＩＤ、受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに対応する前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成するものである二要素ユーザ認証システム。
【請求項４】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントのハードウェアに内蔵された識別情報を取得する二要素ユーザ認証システム。
【請求項５】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントのＯＳのＩＤ情報を取得する二要素ユーザ認証システム。
【請求項６】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントに設定されたネットワークにおけるアドレス情報を取得する二要素ユーザ認証システム。
【請求項７】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントのインターフェースを通じて外部機器の識別情報を取得する二要素ユーザ認証システム。
【請求項８】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、認証を受けようとするユーザの生体識別情報を取得する二要素ユーザ認証システム。
【請求項９】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用することによって、前記ユーザが認証を要求する端末である認証要求クライアントからの認証要求に応答して、当該認証要求クライアントとネットワークで接続された認証サーバが前記ユーザの認証を行う二要素ユーザ認証方法であって、
前記認証サーバが、前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと前記認証要求クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶するステップと、
前記認証要求クライアントが、認証を受けようとするユーザのユーザＩＤの入力を受け付けるステップと、
前記認証要求クライアントが、入力された前記ユーザＩＤを前記認証サーバに送信するステップと、
前記認証サーバが、前記認証要求クライアントから送信された認証を受けようとするユーザのユーザＩＤを受信するステップと、
前記認証サーバが、前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するステップと、
前記認証サーバが、発生させられた前記パターンシード値を認証を受けようとするユーザの前記認証要求クライアントに送信するステップと、
前記認証要求クライアントが、前記認証サーバから送信された前記パターンシード値を受信するステップと、
前記認証要求クライアントが、認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別するクライアント識別情報を取得するステップと、
前記認証要求クライアントが、取得された前記クライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するステップと、
前記認証要求クライアントが、生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるステップと、
前記認証要求クライアントが、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を前記ユーザから受け付けるステップと、
前記認証要求クライアントが、入力された前記ワンタイムパスワードを前記認証サーバに送信するステップと、
前記認証サーバが、前記ワンタイムパスワードを前記認証要求クライアントから受信するステップと、
前記認証サーバが、受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成するステップと、
前記認証サーバが、受信した前記ワンタイムパスワードと生成された前記検証コードとを比較し、それらが等しい場合に前記ユーザＩＤに対応するユーザの認証を成功させるステップと、
を有することを特徴とする二要素ユーザ認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユーザ認証システムに関し、より詳しくは、所定パターンに配列した複数のパターン要素を認証を受けるユーザのクライアント装置に提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとし、クライアント装置のハードウェア等の識別情報を認証のためにさらに使用する二要素ユーザ認証システムに関する。
【背景技術】
【０００２】
ユーザ認証システムにおいて、固定パスワードより高いセキュリティを有する方式として、ユーザ認証のために１回しか使用することができない使い捨てパスワードであるワンタイムパスワードを使用するシステムが多く使用されるようになってきた。ワンタイムパスワードには、認証サーバと同期したワンタイムパスワード発生ルールによりワンタイムパスワードを生成するトークンを使用する方式や、認証サーバからクライアントに毎回変化するチャレンジという値が送られ、クライアントがそれに対してパスワードを所定のルールで適用したレスポンスを返すチャレンジ・レスポンス方式などがある。トークンは、それを手元の有しているユーザを確実に特定できるが、トークンを持ち歩く必要があり、またトークンの費用や、トークンを紛失した際の安全性に問題がある。一方、チャレンジ・レスポンス方式においては、トークンを使用する必要がないという簡便さはあるものの、類推されやすい固定パスワードを使用してワンタイムパスワードを発生させるので、パスワード入力時の盗み見などに弱いという問題や、クライアントにレスポンスを発生させるための専用のソフトウェアを導入する必要があるという問題などがある。【０００３】
近年、そのような従来のチャレンジ・レスポンス方式の問題を改善した方式として、いわゆるマトリクス認証（登録商標）方式のユーザ認証システムが開発された。マトリクス認証においては、乱数を所定パターンに配列したマトリクス状の提示パターンを認証を受けようとするユーザに提示し、当該提示パターンに含まれるパターン要素（それぞれの乱数の数字）に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールが当該ユーザのパスワードとされる。そして、サーバとクライアントで同じ提示パターンを共有し、クライアントにおいてパスワードであるワンタイムパスワード導出ルールを提示パターンに適用した結果であるワンタイムパスワードと、サーバにおいてパスワードであるワンタイムパスワード導出ルールを提示パターンに適用した結果である検証コードとを比較することによって、パスワードを直接比較することなく、ユーザ認証が実施される。マトリクス認証においては、パスワードであるワンタイムパスワード導出ルールは、マトリクス上で選択される要素の位置と順番であって、イメージとして記憶しやすいものであり、また、パスワード入力時に盗み見されてもパスワードを特定することはできないという特徴がある。【０００４】
さらに、マトリクス認証において、他の情報と組み合わせて提示パターンを生成するパターンシード値を用いることにより、悪意の第三者によってパターンシード値がネットワーク盗聴などされても、提示パターンを特定されることのないシステムも開発された（例えば、特許文献１）。その認証システムでは、認証サーバが提示パターンを生成するパターンシード値を生成して認証要求クライアントに送信し、認証要求クライアントはパターンシード値を使用して提示パターンを表示し、それに基づいて入力されたワンタイムパスワードを認証サーバに送って検証することによりユーザの認証を実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６４８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来のマトリクス認証システムにおいては、ユーザのパスワードというユーザが知っている情報を使用した一要素の認証しか行うことができなかった。従って、ユーザのパスワードが漏洩した場合、それを用いた不正認証を防止することができず、セキュリティに限界があった。このように、よりセキュリティを高めるために、パスワード以外の情報を認証のための第２の要素とした二要素ユーザ認証（Two-factor user authentication）の必要性が高まっていた。すなわち、本人が知っている情報であるパスワード以外に、ある機器を保有していることを表わす情報や、認証を受けようとする者が本人であることを表わす情報などを、認証のための新たな要素とすることが求められていた。しかし、認証に必要な情報としてパスワード以外の情報を単に追加しただけでは、その情報がネットワーク盗聴などで漏洩する可能性があるため、セキュリティの向上は限定的である。ワンタイムパスワードトークンを使用してそのようなパスワード以外の情報を生成することとすると、ネットワーク盗聴による漏洩を防止することはできるが、専用のワンタイムパスワードトークンを導入するコストや手間がかかるし、また、認証時にワンタイムパスワードトークンを携帯していなくてはいけないという不便さも生じる。
【課題を解決するための手段】
【０００７】
本発明は上記の課題に鑑みてなされたものであり、以下のような特徴を有している。すなわち本発明は、所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用する二要素ユーザ認証システムであって、認証サーバと認証要求クライアントとを有し、認証サーバは、ユーザのユーザＩＤとワンタイムパスワード導出ルールと当該ユーザが使用する認証要求クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶し、クライアント識別情報と組み合わされて提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生させて認証要求クライアントに送信し、認証要求クライアントは、認証を受けようとするユーザが使用している認証要求クライアントを識別するクライアント識別情報を取得し、取得したクライアント識別情報と受信したパターンシード値とに基づいて、所定のパターン要素列生成規則により提示パターンを生成して表示させ、ユーザから、提示パターンに含まれるパターン要素にワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けて認証サーバに送信し、認証サーバは、受信したユーザＩＤに関連付けられたクライアント識別情報および送信したパターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に当該ユーザＩＤに関連付けられたワンタイムパスワード導出ルールを適用した結果である検証コードを生成し、受信したワンタイムパスワードと検証コードとを比較することによってユーザの認証を実行することを特徴とする。【０００８】
本発明は、提示パターンをパターンシード値に基づいて生成する際に、複数のクライアント識別情報に基づいてそれを生成するように構成できる。【０００９】
本発明は、提示パターンをパターンシード値に基づいて生成する際に、クライアント識別情報に加えて、ユーザのユーザＩＤを組み合わせるように構成できる。【００１０】
本発明は、クライアント識別情報として、認証要求クライアントのハードウェアに内蔵された識別情報を取得するように構成できる。【００１１】
本発明は、クライアント識別情報として、認証要求クライアントのインターフェースを通じて外部機器の識別情報を取得するように構成できる。【００１２】
本発明は、クライアント識別情報として、認証要求クライアントのＯＳのＩＤ情報を取得するように構成できる。【００１３】
本発明は、クライアント識別情報として、認証要求クライアントに設定されたネットワークにおけるアドレス情報を取得するように構成できる。【００１４】
本発明は、クライアント識別情報として、認証を受けようとするユーザの生体識別情報を取得するように構成できる。【００１５】
上記あるいは特許請求の範囲に記載の発明において、サーバ、クライアントなどの用語は、装置の具体的形態や具体的呼称を限定するものではなく、その一般的な機能を備えた装置を表わすためのものである。１つの構成要素が有する機能が２つ以上の物理的構成によって実現されてもよく、２つ以上の構成要素が有する機能が１つの物理的構成によって実現されてもよい。システムの発明は、それぞれの構成要素の有する機能が逐次的に実行される方法の発明として把握することもできるし、その逆も成り立つ。方法の発明においては、各ステップは記載された順序に実行されるものに限定されるものではなく、全体としての機能が矛盾なく実行され得る限りにおいて、自由な順序でそれを実行することができる。これらの発明は、所定のハードウェアと協働して所定の機能を実現させるプログラムとしても成立し、それを記録した記録媒体としても成立する。
【発明の効果】
【００１６】
本発明は、認証を受けるユーザに提示パターンを提示し、それに含まれる特定の位置の要素に適用することによりワンタイムパスワードを生成するための導出ルールをパスワードとし、ユーザが使用するクライアントを識別する情報を認証のためにさらに使用する二要素ユーザ認証システムであって、認証サーバは、ユーザが使用する認証要求クライアントを識別するクライアント識別情報と組み合わされて提示パターンをユニークに決定する値であるパターンシード値を発生させて認証要求クライアントに送信し、認証要求クライアントは、認証を受けようとするユーザが使用している認証要求クライアントを識別するクライアント識別情報を取得し、取得したクライアント識別情報と受信したパターンシード値とに基づいて、所定のパターン要素列生成規則により提示パターンを生成して表示させ、ユーザからワンタイムパスワードの入力を受け付けて認証サーバに送信し、認証サーバは、提示パターンを再現して検証コードを生成し、それとワンタイムパスワードとを比較してユーザ認証を行うので、ユーザのパスワードというユーザが知っている情報に加えて、クライアント識別情報という第２の要素を認証のために使用することができるため、クライアント識別情報を出力する機器を物理的に保有していることが認証の際の追加的な検証のための条件である二要素認証を実現することができる。さらに、クライアント識別情報そのものを認証の際に検証するものではないため、認証の際のワンタイムパスワードがネットワーク盗聴されたとしても、それからクライアント識別情報が漏洩することはない。そのため、認証の際のワンタイムパスワードがネットワーク盗聴された場合でも、提示パターンやワンタイムパスワードの生成ルールの推定が不可能であり、強固なセキュリティが得られる。クライアント識別情報を出力する機器として、オフライン認証クライアント自身を含む幅広い機器を使用できるため、導入のコストや手間を最小にでき、また、クライアント識別情報を出力する機器を携帯する負担を最小にできる。【００１７】
さらに本発明は、提示パターンをパターンシード値に基づいて生成する際に、複数のクライアント識別情報に基づいてそれを生成するように構成できるため、認証のための要素の数を実質的に三要素以上の多要素に拡張することができ、さらに強固なセキュリティが得られる。【００１８】
さらに本発明は、提示パターンをパターンシード値に基づいて生成する際に、クライアント識別情報に加えて、ユーザのユーザＩＤを組み合わせるように構成できるため、パターンシード値がネットワーク盗聴された場合でも、パターンシード値から提示パターンを推定することが一層困難であり、さらに強固なセキュリティが得られる。【００１９】
さらに本発明は、クライアント識別情報として、認証要求クライアントのハードウェアに内蔵された識別情報や認証要求クライアントのＯＳのＩＤ情報や認証要求クライアントに設定されたネットワークにおけるアドレス情報などを取得するように構成できるため、認証要求クライアントを物理的に保有していることに基づく情報が認証の際の追加的な検証のための条件となってセキュリティが向上する。またさらに本発明は、クライアント識別情報として、認証要求クライアントのインターフェースを通じて外部機器の識別情報を取得するように構成できるため、その外部機器を物理的に保有していることが認証の際の追加的な検証のための条件となってセキュリティが向上する。またさらに本発明は、クライアント識別情報として、認証を受けようとするユーザの生体識別情報を取得するように構成できるため、本人であることを表わす生体情報が認証の際の追加的な検証のための条件となってセキュリティが向上する。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る二要素ユーザ認証システム１００のハードウェア構成図である。
【図２】本発明の一実施形態に係る二要素ユーザ認証システム１００のブロック図である。
【図３】本発明の一実施形態に係る二要素ユーザ認証システム１００の動作フロー図である。
【図４】本発明の一実施形態に係る二要素ユーザ認証システム１００の動作フロー図であり、図３に示した動作フローの続きである。
【図５】本発明の一実施形態に係る二要素ユーザ認証システム１００における提示パターンの生成方法の概念図である。
【図６】マトリクス認証方式におけるワンタイムパスワード導出ルールの概念図である。
【図７】マトリクス認証方式におけるワンタイムパスワード入力方法の概念図である。
【図８】二要素ユーザ認証システム１００におけるＷｉｎｄｏｗｓログオン認証画面のイメージ図である。
【発明を実施するための形態】
【００２１】
これから発明の実施形態の説明を行う。まず、マトリクス認証に特有の技術についての説明をする。マトリクス認証は、所定パターンに配列した複数のパターン要素（パターン要素列１９０）を認証を受けるユーザが使用するクライアント装置に提示パターン１９１として提示し、当該提示パターン１９１に含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルール１０２ｂを当該ユーザのパスワードとするものである。
【００２２】
［提示パターンとパターン要素］
提示パターン１９１とは、パターン要素を所定パターンに配列したものである。所定パターンとしては、縦ｍ個×横ｎ個のそれぞれの位置に全体が方形を形成するように配置したマトリクス、そのようなマトリクスを複数並べたもの、などが典型的であるが、その他に任意の図形の形状とすることができる。本明細書では、そのような典型的なマトリクス形状以外の形状の提示パターンを使用した場合も、マトリクス認証方式と呼ぶことにする。所定パターンとしては、規則的な形状や印象的な形状が、ユーザの記憶に残りやすく、従ってユーザがパスワードであるワンタイムパスワード導出ルール１０２ｂを記憶しやすいために好適である。
【００２３】
パターン要素とは、提示パターン内において所定パターンを構成するように所定位置に配置される要素であり、好適には０から９までの１桁の数字であるが、他に、アルファベット、記号、などの任意のキャラクターとすることができる。なお、記号としては、ＰＣの標準のキーボードに割り当てられている「＋」、「−」、「＊」、「＝」、「＿」、「！」、「？」、「＃」、「＄」、「＆」などの記号が特に好適である。キャラクターとして、図形、イラスト、写真などの図柄を使用することもできる。好適には、同じパターン要素は、提示パターン内において、複数個表示される。このようにすると、パスワードであるワンタイムパスワード導出ルール１０２ｂと、ワンタイムパスワード導出ルール１０２ｂを提示パターンに適用した結果であるワンタイムパスワード１９２とは多対１の対応となり、ワンタイムパスワード１９２の入力時に自動的にハッシュ化がなされることになる。すなわち、ワンタイムパスワード１９２の入力時に、自動的にハッシュ関数演算と同様の処理がなされることになり、そのため、１つのワンタイムパスワード１９２だけからは、提示パターンが特定されていたとしても、ワンタイムパスワード導出ルール１０２ｂを特定することはできない。
【００２４】
本実施例では、図７などに示すような、０から９までの１桁の数字をパターン要素とし、それぞれのパターン要素を４つの４×４のマトリクスからなる所定パターン１９１ｐに配列したものを提示パターン１９１とする。なお、携帯電話機などのように画面の面積が小さい場合は、４×４のマトリクスの数を３つなどに減少させた提示パターンを使用すると好適である。
【００２５】
［パターン要素列］
パターン要素列１９０は、提示パターン１９１を生成するために所定パターン１９１ｐに配置する要素の内容を表わすデータであり、典型的には、その提示パターン１９１に含まれるすべてのパターン要素を順番に並べたものである。パターン要素列１９０は、提示パターン１９１が生成される前に生成される。なお、パターン要素列１９０は、パターン要素が順番に並べられた１つの文字列でなければならないというものではなく、１つの提示パターン１９１に含まれるすべてのパターン要素の情報を含むデータを意味するものである。従って、パターン要素列１９０に含まれるそれぞれのパターン要素を提示パターン内のそれぞれの位置に対応付けられる限り、パターン要素列１９０に含まれるパターン要素の順番は自由である。またパターン要素列１９０は、複数のデータに分割されていても構わない。本発明に係るユーザ認証システム１００は、大きく、ユーザの認証を行う認証サーバ１０１と、その認証サーバとネットワークで接続された、ユーザが認証を要求する端末である認証要求クライアント１５１とから構成される。ユーザ認証システム１００においては、パターン要素列１９０は、認証要求クライアント１５１の内部で生成されて、その中で提示パターン１９１の生成に使用されるが、パターン要素列１９０がそのままの形態でネットワークを通じて認証サーバ１０１に送信されることはない。
【００２６】
［ワンタイムパスワード導出ルール］
ワンタイムパスワード導出ルール１０２ｂは、提示パターン１９１に含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワード１９２を生成するためのルールであり、ユーザのパスワードとして機能するデータである。パターン要素に対して適用するルールとは、典型的には、どの位置のパターン要素をどの順番で選択するのかということである。この場合、ワンタイムパスワード導出ルール１０２ｂは、提示パターン１９１に含まれる選択されるパターン要素のそれぞれの位置と、当該それぞれのパターン要素が選択される順番との組み合わせの情報である。またワンタイムパスワード導出ルール１０２ｂは、提示パターン１９１に基づかないで入力される固定の数字などのキャラクターの情報を含んでいてもよく、この場合、ワンタイムパスワード導出ルール１０２ｂは、提示パターン１９１に含まれる選択されるパターン要素のそれぞれの位置および当該提示パターン１９１に基づかないで入力される固定のキャラクターのそれぞれと、当該それぞれのパターン要素の位置および当該それぞれのキャラクターが選択あるいは入力される順番との組み合わせの情報である。
【００２７】
図６に典型的なワンタイムパスワード導出ルール１０２ｂの構造を示す。本実施例では、０から９までの１桁の数字をパターン要素とし、それぞれのパターン要素を４つの４×４のマトリクスからなる所定パターン１９１ｐのそれぞれの要素の位置に配置した提示パターン１９１に対するワンタイムパスワード導出ルール１０２ｂが例示されている。図６においては、所定パターン１９１ｐのそれぞれの要素の位置は、０１から６４までの数字で区別されて表示されている。提示パターン１９１が認証を受けようとするユーザに対して表示されるときには、所定パターン１９１ｐのそれぞれの要素の位置には０から９までの１桁の数字が表示される。
【００２８】
入力されるワンタイムパスワード１９２は、好適には、提示パターン１９１に基づく数字と、それに基づかないで入力される固定の数字とを使用するものである。提示パターン１９１に含まれるパターン要素の数は６４個であるため、提示パターン１９１に含まれるパターン要素のそれぞれの位置が選択されたことは、それぞれの位置に割り当てられた０１から６４までの２桁の数字によって表わされる。そして、提示パターン１９１に基づかないで入力される固定の数字については、最初にそのような固定の数字であることを示す「９」の数字が割り当てられ、次に入力される１桁の数字が割り当てられた、２桁の数字によって表わされる。図６の例では、ワンタイムパスワード１９２の最初の４つの数字は、提示パターン１９１の特定の位置のパターン要素を選択することによって入力されるものである。ワンタイムパスワード導出ルール１０２ｂのそれらに対応する部分として、それらの位置を表わす数字である「０１」、「１６」、「２９」、「２０」がその順番に配置される。選択されたパターン要素は、キーボード１９６などによって入力される。ワンタイムパスワード１９２のその次の２つの数字は、提示パターン１９１に基づかないで、キーボード１９６などから入力されるものである。ワンタイムパスワード導出ルール１０２ｂのそれらに対応する部分として、直接入力を表わす「９」の数字の後に、入力される数字である「２」および「９」がそれぞれ付加された「９２」、「９９」が続いてその順番に配置される。ワンタイムパスワード１９２のその次の１つの最後の数字は、提示パターン１９１の特定の位置のパターン要素を選択することによって入力されるものである。ワンタイムパスワード導出ルール１０２ｂのそれに対応する部分として、それの位置を表わす数字である「３３」が続いて配置され、ワンタイムパスワード導出ルール１０２ｂはここで終了する。ワンタイムパスワード導出ルール１０２ｂには、それの終了点をユニークに特定するエンドマーク、例えば「００」などの数字をその最後にさらに付加してもよいし、あるいは、ワンタイムパスワード導出ルール１０２ｂの全体の長さを示す数値をそれに関連付けていてもよい。
【００２９】
［パターンシード値］
パターンシード値１８３は、所定の変換規則により変換されることによって、１つの提示パターン１９１に含まれるパターン要素をユニークに決定する値である。パターンシード値１８３そのものは、所定の発生規則により所定の範囲内において発生されられる。後述するが、本発明のパターンシード値１８３は、所定の変換規則を適用して１つの提示パターン１９１に含まれるパターン要素を生成する際に、さらに他の要素の情報と組み合わせられる点が重要な特徴である。
【００３０】
認証サーバ１０１が、認証要求クライアント１５１で入力されたワンタイムパスワードが正しいかどうかを検証するためには、認証要求クライアント１５１において表示される提示パターン１９１を知る必要がある。しかし、提示パターン１９１をそのまま認証サーバ１０１から認証要求クライアント１５１に送ったのでは、それがネットワーク盗聴などにより悪意の第三者に取得されると、パスワードが推測される可能性が生じる。その一方で、提示パターン１９１を認証サーバ１０１と認証要求クライアント１５１との間で共有しなければ、認証サーバ１０１においてワンタイムパスワード１９２の検証を行うことができない。パターンシード値１８３は、このような相反する要求を解決するものであり、所定の変換規則を適用することにより提示パターン１９１をユニークに決定するが、パターン要素列１９０そのものではない情報である。認証サーバ１０１から認証要求クライアント１５１へは、パターン要素列１９０そのものは送信されず、それに代えてパターンシード値１８３が送信される。認証要求クライアント１５１は、認証サーバ１０１から受信したパターンシード値１８３に所定の変換規則を適用することにより提示パターン１９１を生成することができる。所定の変換規則とは、例えばハッシュ関数演算などが考えられる。このように、パターン要素列１９０そのものがネットワーク上を流れないため、パターンシード値１８３を使用することにより、セキュリティが向上する。
【００３１】
そして本発明においては、パターンシード値１８３は、所定の変換規則により１つの提示パターン１９１に含まれるパターン要素を生成する際に、さらに他の要素の情報と組み合わされる。他の要素の情報としては、認証を受けようとするユーザが使用している認証要求クライアント１５１を識別するクライアント識別情報１０２ｃが使用される。このようにすると、クライアント識別情報１０２ｃを出力する機器を保有していることが認証の際の追加的な検証のための条件となり、セキュリティが向上する。パターンシード値１８３は、クライアント識別情報１０２ｃと組み合わされて１つの提示パターン１９１に含まれるパターン要素をユニークに決定する。このようにすることによって、提示パターン１９１は、パターンシード値１８３だけでなく、クライアント識別情報１０２ｃの情報も組み込んだものとなるため、ワンタイムパスワード１９２が正しいクライアント識別情報１０２ｃが使用された提示パターン１９１に基づいて入力されたものであるかどうかを検証することが可能となる。そして、本発明においては、提示パターン１９１を、認証要求クライアント１５１を識別するクライアント識別情報１０２ｃを使用して攪乱することによって、提示パターン１９１にはクライアント識別情報１０２ｃの情報も組み込まれることになる。そしてワンタイムパスワード１９２は、そのようにして生成された提示パターン１９１に、ユーザに関連付けられたワンタイムパスワード導出ルール１０２ｂを適用したものである。このように、本発明においては、ワンタイムパスワード１９２が、正しいワンタイムパスワード導出ルール１０２ｂに基づいた正しいユーザによって入力されたものであるかどうかということと、正しいユーザが有する正しいクライアント識別情報１０２ｃを有する認証要求クライアント１５１から入力されたものであるかどうかということという、２つの要素に基づく認証の成否を規定する情報を含むことになる。このようにして、二要素認証を行うことができるようになるため、セキュリティが劇的に向上する。
【００３２】
さらに本発明においては、クライアント識別情報１０２ｃという第２の要素を使用した認証を行うにもかかわらず、ユーザ認証に際してクライアント識別情報１０２ｃそのものを検証するものではないことが大きな特徴である。すなわち、認証の際のワンタイムパスワードがネットワーク盗聴されたとしても、それからクライアント識別情報が漏洩することはない。そのため、認証の際のワンタイムパスワードがネットワーク盗聴された場合でも、提示パターンやワンタイムパスワードの生成ルールの推定が不可能であり、強固なセキュリティが得られる。このように、第２の要素であるクライアント識別情報１０２ｃが漏洩する可能性を発生させることなく、その第２の要素を認証のために使用する要素として追加することが可能となる。
【００３３】
また、提示パターン１９１を生成する際に、複数のクライアント識別情報１０２ｃを同時に使用することも可能である。この場合は、それらの複数のクライアント識別情報１０２ｃとパターンシード値１８３とを組み合わせることによって提示パターン１９１に含まれるパターン要素を決定することになる。それらの複数のクライアント識別情報１０２ｃが異なるソースに由来するものであれば、それらが同じ認証要求クライアント１５１に関連付けられたものであるとしても、認証のための要素の数が実質的に三要素以上の多要素に拡張されることになり、さらに強固なセキュリティが得られる。
【００３４】
なお、提示パターン１９１を生成する際に、他の情報をさらに使用して提示パターン１９１をさらに攪乱することも有用である。そのような他の情報としては、例えば、ユーザＩＤ  １０２ａを使用することが可能である。この場合、パターンシード値１８３は、ユーザＩＤ  １０２ａおよびクライアント識別情報１０２ｃと組み合わされて１つの提示パターン１９１に含まれるパターン要素をユニークに決定することになる。ユーザＩＤ  １０２ａはユーザに由来する情報であるため、そのような処理は認証のための要素を増加させるものとは言えない。しかし、パターンシード値１８３から提示パターン１９１を生成するためには、さらにユーザＩＤ  １０２ａを使用した演算が必要になるため、ワンタイムパスワード１９２から提示パターン１９１を類推することが一層困難になる。したがって、ユーザＩＤ  １０２ａを提示パターン１９１の生成のためにさらに使用することによって、セキュリティをさらに向上させることができる。
【００３５】
パターンシード値１８３は、典型的には、乱数発生アルゴリズムによって発生させられた所定の範囲内の数値である。パターンシード値１８３は、所定の範囲内の数値であれば、乱数発生アルゴリズム以外の発生規則、例えば、所定の初期値からの所定値ごとのカウントアップやカウントダウンで発生させられてもよい。
【００３６】
［ワンタイムパスワード］
ワンタイムパスワード１９２は、認証を受けようとするユーザが提示パターン１９１に対して自己のワンタイムパスワード導出ルール１０２ｂを適用することによって生成・入力される使い捨てのパスワードである。図７は、マトリクス認証方式におけるワンタイムパスワード入力方法の概念図である。ユーザは、提示パターン１９１に対してワンタイムパスワード導出ルール１０２ｂを適用することによって、マトリクス上の所定の位置に表示された数字を順番に抽出してワンタイムパスワード１９２を生成し、それを認証要求クライアント１５１に入力する。また、提示パターン１９１に基づかない固定の数字を含めて入力することも可能である。すなわち、固定パスワードをワンタイムパスワードに含めることもできる。図７において破線で示した矢印と丸は、提示パターン１９１に基づくワンタイムパスワードをキーボード１９６から入力することを表わしている。図７の例では、提示パターン１９１に基づいて「２５０４」を入力し、次に提示パターン１９１に基づかない固定の数字として「２９」を入力し、次に提示パターン１９１に基づいて「０」を入力することによって、ワンタイムパスワード１９２として「２５０４２９０」が入力されている。
【００３７】
［本発明に係るユーザ認証方法］
これから図面を参照して本発明の実施形態に係るユーザ認証システム１００の説明を行う図１はハードウェア構成図、図２はブロック図、図３および４は動作フロー図である。まず、本発明に係るユーザ認証方法の概要について説明する。本発明に係るユーザ認証方法は、上述したような、チャレンジ・レスポンス方式の認証方法の一種であるマトリクス認証である。本発明に係るユーザ認証方法では、所定パターンに配列した複数のパターン要素（チャレンジコードに相当）を認証要求クライアント１５１において認証を受けるユーザに提示パターン１９１として提示し、当該提示パターン１９１に含まれる特定の位置のパターン要素に対してユーザが適用することによりワンタイムパスワード１９２（レスポンスに相当）を生成するためのワンタイムパスワード導出ルール１０２ｂを当該ユーザのパスワードとするものである。認証要求クライアント１５１においてユーザに提示される提示パターン１９１を生成する際に使用される情報であるパターンシード値１８３は、認証サーバ１０１において生成され、認証要求クライアント１５１に送信される。提示パターン１９１は、パターンシード値１８３とクライアント識別情報１０２ｃとに基づいて生成される。認証要求クライアント１５１において、ユーザが提示パターン１９１に基づいて入力したワンタイムパスワード１９２は、認証要求クライアント１５１から認証サーバ１０１に送信される。認証サーバ１０１は、当該ユーザのユーザＩＤに関連付けられたクライアント識別情報１０２ｃと受信したパターンシード値１８３とに基づいて提示パターンを再現し、それに当該ユーザのパスワードであるワンタイムパスワード導出ルール１０２ｂを適用することによって検証コード１９３を生成する。そして認証サーバ１０１は、認証要求クライアント１５１から送信されたワンタイムパスワード１９２と検証コード１９３とを比較し、それらが等しければ当該ユーザに対する認証が成功したものと判定し、認証成功時の所定の動作を開始させる。
【００３８】
［二要素ユーザ認証システム１００のハードウェア構成］
次に、二要素ユーザ認証システム１００の構成の説明をする。図１は、本発明の一実施形態に係る二要素ユーザ認証システム１００のハードウェア構成図である。図１を参照すると、ユーザ認証システム１００は、大きく、認証サーバ１０１と認証要求クライアント１５１とから構成される。認証サーバ１０１は、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂ、記憶装置１０１ｃ、ユーザインターフェース（Ｉ／Ｆ）１０１ｄ、ネットワークインターフェース（Ｉ／Ｆ）１０１ｅから構成され、それらがバスを通じて接続されている。記憶装置１０１ｃは、その記憶領域にＯＳ１０１ｃ１、ユーザ認証アプリケーション１０１ｃ２を記憶し、またその記憶領域にパスワード記憶部１０２を含む。パスワード記憶部１０２は、ユーザＩＤ１０２ａ、ワンタイムパスワード導出ルール１０２ｂ、クライアント識別情報１０２ｃをお互いに関連付けて記憶する。認証要求クライアント１５１は、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、記憶装置１５１ｃ、ユーザインターフェース（Ｉ／Ｆ）１５１ｄ、ネットワークインターフェース（Ｉ／Ｆ）１５１ｅから構成され、それらがバスを通じて接続されている。記憶装置１５１ｃは、その記憶領域にＯＳ１５１ｃ１、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４を記憶する。
【００３９】
認証サーバ１０１は、二要素ユーザ認証システム１００において、認証要求クライアント１５１からのユーザ認証要求に応答して、ユーザの認証を行う構成要素である。認証サーバ１０１は、ＯＳ１０１ｃ１、ユーザ認証アプリケーション１０１ｃ２などがインストールされた、サーバとしてのコンピュータなどの形態である。また、認証サーバ１０１は、ＳＳＬ−ＶＰＮゲートウェイのようなインターネット上に仮想専用線ネットワークを提供するためのゲートウェイ装置などにおけるユーザ認証を提供するハードウェアの形態とすることもできる。ＣＰＵ１０１ａは、ユーザ認証アプリケーション１０１ｃ２などをＯＳ１０１ｃ１上で実行してユーザ認証に関する情報処理を行うプロセッサである。ＲＡＭ１０１ｂは、記憶装置１０１ｃに記憶されたソフトウェアがその上に読み込まれるメモリ空間と、読み込まれたソフトウェアがＣＰＵ１０１ａによって実行される際に必要となるワークエリア等を提供するメモリである。記憶装置１０１ｃは、ソフトウェアやデータなどの情報を記憶・管理する構成要素であり、典型的にはハードディスクドライブなどの形態である。記憶装置１０１ｃは、好適には、ＯＳ１０１ｃ１、ユーザ認証アプリケーション１０１ｃ２のプログラムのファイルを記憶しており、それらのプログラムはＲＡＭ１０１ｂ上に読み出されて実行される。記憶装置１０１ｃは、ＯＳ１０１ｃ１、ユーザ認証アプリケーション１０１ｃ２のプログラムに関しては、それをＲＯＭに記憶した形態であってもよい。この場合、そのようなＲＯＭはＣＰＵ１０１ａなどのプログラム実行要素とともにファームウェアを構成することになる。ユーザＩ／Ｆ１０１ｄは、ユーザとの間でデータの入出力を行うための構成要素であり、典型的にはキーボード１９６、ソフトウェアキーボードなどのキー入力手段と、画面に情報を表示するディスプレイなどの出力手段と、それらとの間のハードウェアＩ／Ｆとから構成される。キーボード１９６は、テンキー、標準のフルキーボードなど、ワンタイムパスワードを構成するパターン要素の入力ができる限り、任意の形態のものを使用できる。ソフトウェアキーボードは、ディスプレイの画面上にキーボードのシンボルを表示させ、タッチパネル、マウス、トラックボールなどのポインティングデバイスを使用してキーのシンボルを選択させることによりキー入力を受け付ける。ネットワークＩ／Ｆ１０１ｅは、ネットワークに接続して情報の入出力を行うためのＩ／Ｆである。
【００４０】
ＯＳ１０１ｃ１、ユーザ認証アプリケーション１０１ｃ２は、それらが組み合わされて形式的には一体のプログラムの形態となっていてもよい。例えば、ＯＳ１０１ｃ１がユーザ認証アプリケーション１０１ｃ２の機能を包含していてもよい。また、ユーザ認証アプリケーション１０１ｃ２が、他のアプリケーションに組み込まれていてもよい。また、それらがそれぞれ複数のプログラムに分割されていてもよい。
【００４１】
認証サーバ１０１と認証要求クライアント１５１とはネットワークで接続される。ネットワークは、好適には、ＴＣＰ／ＩＰベースのプロトコルで動作するインターネットあるいはイントラネットである。イントラネットにおいて、認証要求クライアント１５１がクライアント用Ｗｉｎｄｏｗｓ（登録商標。以下、同じ）  ＯＳで動作している場合には、ネットワークはＴＣＰ／ＩＰベースのプロトコルで動作するＷｉｎｄｏｗｓのドメインネットワークとすることができる。なお、本明細書ではＯＳとしてＷｉｎｄｏｗｓを例示して説明しているが、他のＯＳ、例えば、Ｍａｃ  ＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）などを使用することも可能である。
【００４２】
本発明に係る認証方法は、少なくとも以下の２つの利用形態で実施することが可能である。１つの利用形態は、Ｗｅｂサービスの提供を受ける際の認証を行うものである。例えば、認証要求クライアント１５１をネットワーク上のＷｅｂサービスに接続した状態で、ＷｅｂブラウザなどによってＷｅｂ上のコンテンツ、ＳＳＬ−ＶＰＮサービス、アプリケーションを使用する際の、当該ユーザに対する使用許可のための認証の形態である。この場合、認証サーバ１０１は、典型的には、インターネットまたはイントラネットなどのネットワーク上に配置され、当該ネットワークを通じてアクセスしてきた認証要求クライアント１５１に対してユーザ認証のためのＷｅｂページを提供し、それを通じてユーザ認証のためのデータの送受信を行うようなＷｅｂサーバの形態や、ＲＡＤＩＵＳサーバと連携して認証・アカウンティング管理を実施する、ＳＳＬ−ＶＰＮゲートウェイのようなインターネット上に仮想専用線ネットワークを提供する装置の形態である。
【００４３】
もう１つの利用形態は、ＯＳに管理されたネットワーク環境に接続する際の認証を行うものである。例えば、ユーザが認証要求クライアント１５１を使用して、認証サーバ１０１と同じＷｉｎｄｏｗｓのドメインネットワークに適正なネットワークユーザとして接続する際の、当該ユーザのそのネットワークへのログオン認証の形態である。この場合、認証サーバ１０１は、典型的には、認証のためのリソースをネットワーク上に提供しており、それによって、ユーザからの認証要求クライアント１５１を使用したＷｉｎｄｏｗｓのドメインネットワークへのログオン認証要求に応答してユーザ認証を実行し、その認証結果を当該Ｗｉｎｄｏｗｓのドメインネットワークのネットワークユーザの権限を管理するドメインコントローラに伝達する。
【００４４】
ＯＳ１０１ｃ１は、認証サーバ１０１のハードウェアに密接な基本的な情報処理を行うオペレーティングシステムである。ユーザ認証アプリケーション１０１ｃ２は、ＯＳ１０１ｃ１上で動作するユーザ認証のためのアプリケーションソフトウェアである。認証サーバ１０１がＷｅｂサーバの形態である場合、ユーザ認証アプリケーション１０１ｃ２は、典型的には、ＣＧＩで呼び出される形態かサーブレットの形態の認証プログラムを備えた、認証のためのＷｅｂページまたはリソースをインターネットまたはイントラネットのＷｅｂ上に提供するＷｅｂサーバプログラムである。パスワード記憶部１０２は、典型的にはハードディスクドライブなどの一領域であり、好適にはデータは暗号化ファイルとしてパスワード記憶部１０２に記憶される。ユーザＩＤ１０２ａは、ユーザをユニークに識別するためのデータである。ユーザＩＤ１０２ａは、任意の文字列を使用することができる。ワンタイムパスワード導出ルール１０２ｂは、上述したように、提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのルールであり、ユーザのパスワードとして機能するデータである。クライアント識別情報１０２ｃは、認証を受けようとするユーザが使用している認証要求クライアント１５１を識別するためのデータであり、提示パターンを生成する際に、パターンシード値に組み合わされて使用されるデータである。
【００４５】
認証要求クライアント１５１は、二要素ユーザ認証システム１００において、ユーザが認証サーバ１０１に対して認証を要求する構成要素であり、ＯＳ１５１ｃ１、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４などがインストールされた端末であり、具体的には、ＰＣ、携帯電話機、ＰＤＡなどの形態である。ＣＰＵ１５１ａは、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４などをＯＳ１５１ｃ１上で実行して、ユーザ認証要求に関する情報処理を行うプロセッサである。ＲＡＭ１５１ｂは、記憶装置１５１ｃに記憶されたソフトウェアがその上に読み込まれるメモリ空間と、読み込まれたソフトウェアがＣＰＵ１５１ａによって実行される際に必要となるワークエリア等を提供するメモリである。記憶装置１５１ｃは、ソフトウェアやデータなどの情報を記憶・管理する構成要素であり、典型的にはハードディスクドライブなどの形態である。記憶装置１５１ｃは、好適には、ＯＳ１５１ｃ１、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４のプログラムのファイルを記憶しており、それらのプログラムはＲＡＭ１５１ｂ上に読み出されて実行される。なお、記憶装置１５１ｃは、ＯＳ１５１ｃ１、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４に関しては、そのプログラムをＲＯＭに記憶した形態であってもよい。この場合、そのようなＲＯＭはＣＰＵ１５１ａなどのプログラム実行要素とともにファームウェアを構成することになる。ユーザＩ／Ｆ１５１ｄは、ユーザとの間でデータの入出力を行うための構成要素であり、典型的には、図示していないが、キーボード１９６やソフトウェアキーボードなどのキー入力手段と、画面に情報を表示するディスプレイなどの出力手段と、それらとの間のハードウェアＩ／Ｆとから構成される。外部／ネットワークＩ／Ｆ１５１ｅは、外部通信インターフェースを搭載した外部機器や、ネットワークに接続して情報の入出力を行うためのＩ／Ｆである。外部／ネットワークＩ／Ｆ１５１ｅを通じて、外部通信インターフェースを搭載した外部機器からはクライアント識別情報を取得することができる。また、外部／ネットワークＩ／Ｆ１５１ｅを通じて、ネットワークを経由して認証サーバ１０１と接続することができる。外部通信インターフェースとしては、ＵＳＢ、ＢｌｕｅＴｏｏｔｈ（登録商標）、無線ＬＡＮ、赤外線通信、Ｆｅｌｉｃａ（登録商標）やＲＦＩＤの非接触通信、などの各種の通信インターフェースを使用することができ、接続される外部機器としては、ＵＳＢメモリ、無線通信用データカード（ＵＳＢ接続、ＰＣカード接続、Ｅｘｐｒｅｓｓ  Ｃａｒｄ接続、など）、ＦｅｌｉｃａやＲＦＩＤなどのＩＣカード、携帯電話機、生体認証情報（指紋、虹彩、静脈など）読み取り機などを使用することができる。
【００４６】
なお、認証要求クライアント１５１は、ユーザが使用する認証要求クライアント１５１に関連付けられたクライアント識別情報１０２ｃを記憶したクライアント識別情報記憶部１７２と接続されている。なお、本発明の認証要求クライアント１５１は、クライアント識別情報１０２ｃを取得することができればよく、クライアント識別情報記憶部１７２を備えている必要はない。クライアント識別情報記憶部１７２が認証要求クライアント１５１と同じ筐体内に存在することもあり得るが、本発明の認証要求クライアント１５１は、何らかの手段によりクライアント識別情報１０２ｃを取得できれば十分であり、そのようなクライアント識別情報記憶部１７２を必須の構成としては含まない概念である。
【００４７】
クライアント識別情報１０２ｃとしては、ユーザが使用する認証要求クライアント１５１のハードウェアに内蔵された情報（ハードウェア関連情報）、ユーザが使用する認証要求クライアント１５１のソフトウェアに付随する情報(ソフトウェア関連情報）、ユーザが使用する認証要求クライアント１５１に接続された外部機器から取得される情報(外部機器関連情報）、ユーザが使用する認証要求クライアント１５１に内蔵または接続された生体認証情報読み取り器から取得されるユーザの生体情報(生体認証情報）などを使用することができる。
【００４８】
ハードウェア関連情報については、ＣＰＵ等のハードウェア構成要素シリアル番号、ネットワークインターフェースカードのＭＡＣアドレス、ハードディスクのシリアル番号、などをクライアント識別情報１０２ｃとして使用することができる。この場合、クライアント識別情報記憶部１７２は、ＣＰＵ等のハードウェア構成要素内のシリアル番号ＩＤの記録領域、ネットワークインターフェースカードのＭＡＣアドレスの記憶領域、ハードディスクのシリアル番号の記憶領域、などとなる。ハードウェア関連情報は、そのハードウェアに対して適切な読み出し操作を行うことにより、それを記憶したハードウェアからバスを通じて取得される。
【００４９】
ソフトウェア関連情報については、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳのＧＵＩＤ（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  ＩＤｅｎｔｉｆｉｅｒ）やプロダクトＩＤやプロダクトキー、ＴＣＰ／ＩＰネットワークのＩＰアドレス、などをクライアント識別情報１０２ｃとして使用することができる。この場合、クライアント識別情報記憶部１７２は、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳのＧＵＩＤの情報を記憶したハードディスク上のファイルやメモリ上の領域、Ｗｉｎｄｏｗｓ  ＯＳのプロダクトＩＤとプロダクトキーの情報を記憶したハードディスク上のファイルやメモリ上の領域、ＴＣＰ／ＩＰネットワークのＩＰアドレスの設定情報を記憶したハードディスク上のファイルやメモリ上の領域、などとなる。ソフトウェア関連情報は、ＯＳのコマンドを使用することにより、それを記憶したハードディスク上のファイルやメモリ上の領域から取得される。
【００５０】
外部機器関連情報については、ＵＳＢメモリのシリアル番号、無線通信用データカードや携帯電話機のシリアル番号や契約者ＩＤや電話番号、Ｂｌｕｅｔｏｏｔｈや無線ＬＡＮ搭載各種機器のシリアル番号、ＦｅｌｉｃａやＲＦＩＤなどのＩＣカードのＩＤ番号（シリアル番号）、などをクライアント識別情報１０２ｃとして使用することができる。この場合、クライアント識別情報記憶部１７２は、ＵＳＢメモリのシリアル番号の記憶領域、無線通信用データカードや携帯電話機のシリアル番号や契約者番号や電話番号の記憶領域、Ｂｌｕｅｔｏｏｔｈや無線ＬＡＮ搭載各種機器のシリアル番号の記憶領域、ＦｅｌｉｃａやＲＦＩＤなどのＩＣカードのＩＤ番号（シリアル番号）の記憶領域、などとなる。外部機器関連情報は、その外部機器に対して適切な読み出しコマンドを送信することにより、それを記憶した外部機器から外部／ネットワークＩ／Ｆ  １５１ｅを通じて取得される。
【００５１】
生体認証情報については、指紋、虹彩、静脈などの本人確認に適した所定の生体のパターンを生体認証情報読み取り機によって読み取ることによって出力される生体認証情報をクライアント識別情報１０２ｃとして使用することができる。この場合、クライアント識別情報記憶部１７２は、ユーザの所定の生体のパターンを読み取って生体認証情報を出力している際の、生体認証情報読み取り機における情報処理手段となる。すなわち、固定的なユーザの所定の生体のパターンを生体認証情報に変換することが、クライアント識別情報１０２ｃをクライアント識別情報記憶部１７２から読み出すことに相当する。生体認証情報は、生体認証情報読み取り機に対して適切な読み取りコマンドを送信することにより、ユーザの所定の生体のパターンを読み取っている生体認証情報読み取り機から、バス（生体認証情報読み取り機が内蔵の場合）または外部／ネットワークＩ／Ｆ  １５１ｅ（生体認証情報読み取り機が外部に接続されている場合）を通じて取得される。
【００５２】
ＯＳ１５１ｃ１、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４は、それらの一部または全部が組み合わされて形式的には一体のプログラムの形態となっていてもよい。例えば、ブラウザアプリケーション１５１ｃ２が提示パターン生成モジュール１５１ｃ３やクライアント識別情報取得モジュール１５１ｃ４の機能を包含していてもよく、ＯＳ１５１ｃ１がブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３及びクライアント識別情報取得モジュール１５１ｃ４の機能を包含していてもよい。また、それらが他のアプリケーションに組み込まれていてもよい。また、それらがそれぞれ複数のプログラムに分割されていてもよい。
【００５３】
ＯＳ１５１ｃ１は、認証要求クライアント１５１のハードウェアに密接な基本的な情報処理を行うオペレーティングシステムであり、認証要求クライアント１５１のハードウェアに応じた基本プログラムである。ＯＳ１５１ｃ１は、プラットフォームに準じたアーキテクチャのファームウェアの形態であってもよい。ブラウザアプリケーション１５１ｃ２は、ＯＳ１５１ｃ１上で動作する、ネットワーク上に提供されている情報にアクセスして表示させ、さらにユーザからのデータの入力を受け付けるためのブラウザの機能を実現させるソフトウェアであり、典型的には、インターネットまたはイントラネット上のＷｅｂページにアクセスするためのＷｅｂブラウザアプリケーションの形態である。なお、ブラウザアプリケーション１５１ｃ２は、Ｗｅｂブラウザアプリケーションに限られることはなく、サーバがネットワーク上に提供するユーザ認証用の画面にアクセスすることができるアプリケーションであれば、どのようなアプリケーションであってもよい。ブラウザアプリケーション１５１ｃ２は、他のアプリケーションが認証を実施する際の画面表示のためのＡＰＩを提供するプラットフォームに準じたアーキテクチャのファームウェアの形態であってもよい。提示パターン生成モジュール１５１ｃ３は、ブラウザアプリケーション１５１ｃ２に組み込まれて実行される、提示パターンを生成してブラウザに表示させるためのプログラムであり、認証要求クライアント１５１がＰＣの場合、典型的には、Ｊａｖａ（登録商標）アプレット、ＡｃｔｉｖｅＸ（登録商標）、Ｆｌａｓｈ（登録商標）などの形態である。認証要求クライアント１５１が、携帯電話機、ＰＤＡなどの場合であっても、近い将来にはブラウザアプリケーション１５１ｃ２にモジュールを組み込むことが可能になると見込まれており、提示パターン生成モジュール１５１ｃ３は、そのようなモジュールの形態として機能することになる。提示パターン生成モジュール１５１ｃ３は、他のアプリケーションが認証を実施するためのＡＰＩを提供するプラットフォームに準じたアーキテクチャのファームウェアの形態であってもよい。クライアント識別情報取得モジュール１５１ｃ４は、ブラウザアプリケーション１５１ｃ２に組み込まれて実行される、ユーザが使用している認証要求クライアント１５１からクライアント識別情報１０２ｃを取得するためのプログラムであり、提示パターン生成モジュール１５１ｃ３と同様の形態のモジュールである。
【００５４】
認証サーバ１０１がＷｉｎｄｏｗｓのドメインネットワークへのログオン認証を実施する場合には、認証のためのブラウザアプリケーション１５１ｃ２および提示パターン生成モジュール１５１ｃ３は、クライアント用Ｗｉｎｄｏｗｓ  ＯＳとしてのＯＳ１５１ｃ１に組み込まれており、認証要求クライアント１５１のＷｉｎｄｏｗｓのドメインネットワークへのログオン認証画面に提示パターン１９１を表示させ、本願発明に係る認証方法に基づいた認証手続をユーザに要求する。
【００５５】
標準のＷｉｎｄｏｗｓのログオン認証画面の変更は、具体的には以下のようにして実施する。ここでは、Ｗｉｎｄｏｗｓ  ＸＰを例にして説明する。まず、ブラウザアプリケーション１５１ｃ２、提示パターン生成モジュール１５１ｃ３、及びクライアント識別情報取得モジュール１５１ｃ４の機能を実施するプログラムであるログオン認証モジュールをＷｉｎｄｏｗｓ用のＤＬＬファイルとして作成する。ここでは、「SmxGina.dll」という名前のＤＬＬファイルを作成する。ここで、Ｗｉｎｄｏｗｓのログオン認証画面のプログラムは、以下に示すレジストリのロケーションにおいて「GinaDLL」という名前のキーのデータとして指定されている。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
標準のログオン認証のモジュールは「msgina.dll」というＤＬＬファイルであり、それが前述した「GinaDLL」という名前のキーのデータに設定されている。当該キーのデータを「SmxGina.dll」に書き換えると、本願発明に係る認証方法を実施するログオン認証モジュールがログオンなどの認証時に呼び出されることになる。
【００５６】
図８は、二要素ユーザ認証システム１００におけるログオン認証画面１９７Ａおよび１９７Ｂのイメージ図である。Ｗｉｎｄｏｗｓのログオン時にログオン認証モジュール「SmxGinaDLL」が起動させられることによって、まず、ログオン認証画面１９７Ａが表示させられる。ログオン認証画面１９７Ａには、ユーザ名入力フィールド、ログオン先入力フィールドが表示される。ログオン先にネットワーク名を入力することによってオンラインで使用するためにＷｉｎｄｏｗｓのドメインネットワークへのログオン認証を行わせることができる。ユーザがログオン認証画面１９７Ａのユーザ名入力フィールドに自己のユーザＩＤを入力ユーザＩＤ１８１として入力すると、当該認証モジュールは認証サーバ１０１に入力ユーザＩＤ１８１を伝達してそれに基づいて提示パターン１９１を生成させる。そして、提示パターン１９１を含むログオン認証画面１９７Ｂが表示される。ログオン認証画面１９７Ｂにはパスワード入力フィールドがあり、キーボード１９６などによってワンタイムパスワードとして数字などのキャラクターが入力されると、それに応答して「＊」が１つずつ表示される。ワンタイムパスワード１９２の入力が完了すると、当該認証モジュールは、認証サーバ１０１にワンタイムパスワード１９２を伝達してユーザ認証を実行させ、その認証結果をドメインコントローラに伝達する。
【００５７】
［二要素ユーザ認証システム１００の機能ブロック構成］
図２は、本発明の一実施形態に係る二要素ユーザ認証システム１００のブロック図である。図２は、図１に示したハードウェア構成の二要素ユーザ認証システム１００を、ソフトウェアとハードウェア資源とが協働して実施される情報処理の観点から表現した図であり、当該情報処理を機能ブロックの単位で表わした図である。図２において、認証サーバ１０１は、パスワード記憶部１０２、認証要求受信手段１０３、検証コード生成手段１０６、ワンタイムパスワード受信手段１２１、ユーザ認証手段１２２、パターンシード値発生手段１０４、パターンシード値送信手段１０５から構成される。これらの機能ブロックは、ユーザ認証アプリケーション１０１ｃ２の必要部分がＯＳ１０１ｃ１の必要部分とともに記憶装置１０１ｃからＲＡＭ１０１ｂ上に読み込まれ、それらのソフトウェアがＣＰＵ１０１ａによって実行されることによって、ＲＡＭ１０１ｂ、記憶装置１０１ｃ、ユーザＩ／Ｆ１０１ｄ、ネットワークＩ／Ｆ１０１ｅなどのハードウェア要素とも適宜協働して実現されるものである。
【００５８】
パスワード記憶部１０２は、それぞれのユーザに関して、ユーザＩＤ１０２ａと、当該ユーザのパスワードであるワンタイムパスワード導出ルール１０２ｂと、クライアント識別情報１０２ｃとをお互いに関連付けてあらかじめ記憶する構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂ、記憶装置１０１ｃなどがソフトウェアと協働することによって実現される機能ブロックである。認証要求受信手段１０３は、認証要求クライアント１５１から、そこで入力された入力ユーザＩＤ１８１を含んだ認証要求を受信する構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂ、ネットワークＩ／Ｆ１０１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。パターンシード値発生手段１０４は、クライアント識別情報１０２ｃとともに提示パターンを規定する値であるパターンシード値１８３を所定の発生規則により発生する構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂなどがソフトウェアと協働することによって実現される機能ブロックである。パターンシード値送信手段１０５は、発生させられたパターンシード値１８３を認証要求クライアント１５１に送信する構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂ、ネットワークＩ／Ｆ１０１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。検証コード生成手段１０６は、認証を受けようとしているユーザのパスワードであるワンタイムパスワード導出ルール１０２ｂを、認証要求クライアント１５１に表示されている提示パターン１９１に適用した結果である検証コード１９３を生成する構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂなどがソフトウェアと協働することによって実現される機能ブロックである。検証コード１９３は、正しいワンタイムパスワード導出ルール１０２ｂが正しい提示パターンに適用された結果である正しいワンタイムパスワード１９２と同じ値である。ワンタイムパスワード受信手段１２１は、認証要求クライアント１５１から、そこで入力されたワンタイムパスワード１９２を受信する構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂ、ネットワークＩ／Ｆ１０１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。ユーザ認証手段１２２は、ワンタイムパスワード１９２と検証コード１９３とを比較して、それらが等しいときにユーザ認証を成功させる構成要素であり、ＣＰＵ１０１ａ、ＲＡＭ１０１ｂなどがソフトウェアと協働することによって実現される機能ブロックである。
【００５９】
認証要求クライアント１５１は、ユーザＩＤ入力手段１５２、認証要求送信手段１５３、パターンシード値受信手段１５４、パターン要素列生成手段１５５、パターン表示手段１５６、ワンタイムパスワード入力手段１５７、ワンタイムパスワード送信手段１５８から構成される。これらの機能ブロックは、ブラウザアプリケーション１０１ｃ２の必要部分、提示パターン生成モジュール１５１ｃ３、クライアント識別情報取得モジュール１５１ｃ４などがＯＳ１５１ｃ１の必要部分とともに記憶装置１５１ｃからＲＡＭ１５１ｂ上に読み込まれ、それらのソフトウェアがＣＰＵ１５１ａによって実行されることによって、ＲＡＭ１５１ｂ、記憶装置１５１ｃ、ユーザＩ／Ｆ１５１ｄ、外部／ネットワークＩ／Ｆ１５１ｅなどのハードウェア要素とも適宜協働して実現されるものである。
【００６０】
ユーザＩＤ入力手段１５２は、認証を受けようとするユーザのユーザＩＤを入力ユーザＩＤ１８１として入力を受け付ける構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、ユーザＩ／Ｆ１５１ｄなどがソフトウェアと協働することによって実現される機能ブロックである。認証要求送信手段１５３は、入力された入力ユーザＩＤ１８１を認証サーバ１０１に送信する構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、外部／ネットワークＩ／Ｆ１５１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。パターンシード値受信手段１５４は、認証サーバ１０１から、パターンシード値１８３を受信する構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、外部／ネットワークＩ／Ｆ１５１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。パターン要素列生成手段１５５は、認証要求クライアント１５１で取得したクライアント識別情報１０２ｃおよび認証サーバ１０１から受信したパターンシード値１８３に基づいて、所定のパターン要素列生成規則により提示パターンに含まれるパターン要素を生成する構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂなどがソフトウェアと協働することによって実現される機能ブロックである。パターン表示手段１５６は、パターン要素列生成手段１５５によって生成されたパターン要素列１９０のパターン要素を所定パターン１９１ｐに配列して提示パターンを生成し、それを画面に表示させる構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、ユーザＩ／Ｆ１５１ｄなどがソフトウェアと協働することによって実現される機能ブロックである。ワンタイムパスワード入力手段１５７は、画面に表示させた提示パターンなどを通じてワンタイムパスワード１９２のユーザからの入力を受け付ける構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、ユーザＩ／Ｆ１５１ｄなどがソフトウェアと協働することによって実現される機能ブロックである。ワンタイムパスワード送信手段１５８は、入力されたワンタイムパスワード１９２を認証サーバ１０１に送信する構成要素であり、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、外部／ネットワークＩ／Ｆ１５１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。クライアント識別情報取得手段１７１は、認証を受けようとするユーザが使用する認証要求クライアント１５１を識別するクライアント識別情報１０２ｃを取得する構成要素であり、クライアント識別情報１０２ｃがハードウェア関連情報またはソフトウェア関連情報の場合は、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂなどがソフトウェアと協働することによって実現される機能ブロックであり、クライアント識別情報１０２ｃが外部機器関連情報の場合は、ＣＰＵ１５１ａ、ＲＡＭ１５１ｂ、外部／ネットワークＩ／Ｆ１５１ｅなどがソフトウェアと協働することによって実現される機能ブロックである。
【００６１】
［二要素ユーザ認証システム１００の動作］
これから、二要素ユーザ認証システム１００の動作について説明する。図３および４は、二要素ユーザ認証システム１００の動作フロー図である。まず、二要素ユーザ認証システム１００で認証を受けることになるユーザは、そのユーザＩＤ１０２ａと、パスワードであるワンタイムパスワード導出ルール１０２ｂと、そのユーザが認証を受ける際に使用する認証要求クライアント１５１を識別するクライアント識別情報１０２ｃをあらかじめ認証サーバ１０１に入力して登録する。パスワード記憶部１０２は、そのユーザのユーザＩＤ１０２ａとワンタイムパスワード導出ルール１０２ｂとクライアント識別情報１０２ｃとをお互いに関連付けてユーザの認証に先立ってあらかじめ記憶する（ステップＳ１０１）。認証サーバ１０１は、好適にはインターネットまたはイントラネットのＷｅｂ上にユーザＩＤとパスワードとクライアント識別情報１０２ｃの登録のための初期登録Ｗｅｂページなどを提供しており、ユーザは、認証要求クライアント１５１などの端末からその初期登録Ｗｅｂページを通じて認証サーバ１０１にアクセスする。それによって、認証要求クライアント１５１には、ユーザＩＤ入力のための入力フィールドと、０から９までの数字を乱数的にパターン要素として配置した提示パターン１９１が表示される（図示せず）。ユーザは入力フィールドに自分が登録したいユーザＩＤ１０２ａを入力する。ユーザは次に、自分が登録しようとするワンタイムパスワード導出ルール１０２ｂに従って、提示パターン１９１に含まれるパターン要素の位置の選択または当該提示パターン１９１に基づかない固定の数字などのキャラクターの入力を行う。認証サーバ１０１は、入力されたユーザＩＤ１０２ａをそのユーザのユーザＩＤとしてパスワード記憶部１０２に記憶させる。一方、選択または入力された数字の列は、それだけではワンタイムパスワード導出ルール１０２ｂを特定することができない。従って、認証サーバ１０１は、異なる提示パターン１９１を表示してパスワード導出ルール１０２ｂに従った２回目の数字の選択または入力を行わせ、選択または入力された数字の列を１回目のものと比較して、ワンタイムパスワード導出ルール１０２ｂを特定する。２回目の提示パターン１９１を、１回目の提示パターン１９１と大きく異なるように工夫して発生させると、通常、２回の提示パターン１９１の提示によってワンタイムパスワード導出ルール１０２ｂを特定することが可能である。２回の提示パターン１９１の提示でワンタイムパスワード導出ルール１０２ｂの特定ができなかった場合は、それが特定できるまで、提示パターン１９１の内容を変えてそれの提示を繰り返す。これによって、提示パターン１９１に含まれるパターン要素の内で選択されたもののそれぞれの位置および当該提示パターン１９１に基づかない固定のキャラクターのそれぞれと、当該それぞれのパターン要素の位置および当該それぞれの固定のキャラクターが選択あるいは入力される順番との組み合わせであるワンタイムパスワード導出ルール１０２ｂが特定される。特定されたワンタイムパスワード導出ルール１０２ｂは、当該ユーザのユーザＩＤ１０２ａと関連付けられてパスワード記憶部１０２に記憶される。なお、初期登録Ｗｅｂページから、提示パターン生成モジュール１５１ｃ３やクライアント識別情報取得モジュール１５１ｃ４などの、認証要求クライアント１５１に必要なソフトウェアをダウンロードすることができるように構成すると好適である。これによって、その初期登録Ｗｅｂページにアクセスしてきた任意のＰＣの中にパターン要素列生成手段１５５やクライアント識別情報取得手段１７１を形成させ、それを認証要求クライアント１５１として動作できるようにすることができる。
【００６２】
認証要求クライアント１５１が、ユーザＩＤ１０２ａとワンタイムパスワード導出ルール１０２ｂの登録のために認証サーバ１０１にアクセスしたときに、クライアント識別情報取得手段１７１が動作することにより認証要求クライアント１５１が取得可能なクライアント識別情報１０２ｃを取得して、認証サーバ１０１に送信する。これは、ユーザＩＤ１０２ａとワンタイムパスワード導出ルール１０２ｂの登録の前でも後でもよい。このとき、初期登録Ｗｅｂページが、各種のクライアント識別情報１０２ｃの取得先（ＣＰＵ、ＭＡＣアドレス、ハードディスク、Ｗｉｎｄｏｗｓ  ＯＳのＧＵＩＤやプロダクトＩＤやプロダクトキー、ＩＰアドレス、ＵＳＢメモリ、無線通信用データカード、携帯電話機、Ｂｌｕｅｔｏｏｔｈや無線ＬＡＮ搭載各種機器、Ｆｅｌｉｃａ、ＲＦＩＤ、生体認証情報読み取り機、などのクライアント識別情報記憶部１７２を有するもの）を選択のために表示する。ここで、クライアント識別情報取得手段１７１が取得可能なクライアント識別情報１０２ｃをバスや外部／ネットワークＩ／Ｆを通じて走査して確認し、クライアント識別情報１０２ｃを取得可能な取得先だけを表示させるようにすると好適である。なお、二要素ユーザ認証システム１００の管理者が、１つあるいは複数のクライアント識別情報１０２ｃの取得先をあらかじめ設定しておき、ユーザが取得先を選択しないようにも構成できる。ユーザが、表示された取得先のいずれかを選択すると、選択された取得先からクライアント識別情報１０２ｃがクライアント識別情報取得手段１７１によって読み出される。なお、ユーザは複数の取得先を選択することも可能である。この場合、それらの複数のクライアント識別情報１０２ｃを同時にパターンシード値１８３と組み合わせて提示パターン１９１を生成するようにすることもでき、認証のための要素の数を実質的に三要素以上の多要素に拡張することもできる。読み出されたクライアント識別情報１０２ｃは、認証サーバ１０１に送信され、認証サーバ１０１は、受信したクライアント識別情報１０２ｃを、ユーザＩＤ１０２ａ及びワンタイムパスワード導出ルール１０２ｂと関連付けてパスワード記憶部１０２に記憶することによって登録する。これらの登録の操作が完了すると、そのユーザは、二要素ユーザ認証システム１００による認証を受けることができるようになる。なお、クライアント識別情報１０２ｃを登録する際に、その取得先の情報をいずれかの場所に記憶させておくと好適である。そのようにすると、ユーザが認証を受ける際に、記憶された取得先の情報を使用して、クライアント識別情報１０２ｃの取得先を自動的に設定することが可能となるからである。取得先の情報は、認証要求クライアント１５１の記憶装置１５１ｃ内に所定の記憶領域を設けて、そこにユーザＩＤ１０２ａと関連付けて記憶させることができる。また、取得先の情報をクライアント識別情報１０２ｃとともに認証サーバ１０１に記憶させ、ユーザの認証の際に取得先の情報を認証サーバ１０１から認証要求クライアント１５１に送信するように構成することもできる。
【００６３】
次に、認証を受けようとするユーザは、認証要求クライアント１５１において、ユーザＩＤ入力手段１５２により自分のユーザＩＤを入力ユーザＩＤ１８１として入力する（ステップＳ１０３）。典型的には、ユーザは認証要求クライアント１５１上で動作しているブラウザアプリケーション１５１ｃ２を使用して、認証サーバ１０１が提供するユーザ認証Ｗｅｂページにアクセスし、そこに表示されるユーザＩＤ入力のための入力フィールドに自己のユーザＩＤを入力する。Ｗｉｎｄｏｗｓのドメインネットワークへのログイン認証の場合は、図８に示されたログオン認証画面１９７Ａにおいて、ユーザー名フィールドに自己のユーザＩＤを入力し、ログオン先にログオンしようとするネットワーク名を入力する。次に、認証要求クライアント１５１は、認証要求送信手段１５３により、入力された入力ユーザＩＤ１８１を含む認証要求を認証サーバ１０１に送信する（ステップＳ１０５）。典型的には、認証要求クライアント１５１上で動作しているブラウザアプリケーション１５１ｃ２が、入力フィールドに入力された入力ユーザＩＤ１８１をインターネットまたはイントラネットを通じて認証サーバ１０１に送信する。Ｗｉｎｄｏｗｓのドメインネットワークへのログイン認証の場合は、ログオン認証モジュール「SmxGinaDLL」が入力ユーザＩＤ１８１を含む認証要求を認証サーバ１０１に送信する。次に、認証サーバ１０１は、認証要求受信手段１０３により、認証要求クライアント１５１から送信された入力ユーザＩＤ１８１を含む認証要求を受信する（ステップＳ１０７）。典型的には、認証サーバ１０１は、ユーザ認証アプリケーション１０１ｃ２を動作させ、それによって入力ユーザＩＤ１８１を含む認証要求を受信する。次に、認証サーバ１０１は、パターンシード値発生手段１０４により、パターンシード値１８３を所定の発生規則によって発生させる（ステップＳ１０９）。所定の発生規則は、典型的には、所定の範囲内の乱数を発生させることである。図５には、パターンシード値１８３として、１６進数で表わした「２８４Ｅ１７・・・３９Ｄ０」が例示されている。パターンシード値１８３は、例えば、１６バイトのような所定のビット長の数字列で表わすことができ、この場合、当該所定の範囲とは、１６進数で「００００００００００００００００」から「ＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦ」の範囲となる。従って、当該所定の範囲の任意の数字列をパターンシード値１８３とすることができるため、最大で当該所定の範囲の数だけ異なる提示パターン１９１を生成することが可能となる。
【００６４】
次に、認証サーバ１０１は、パターンシード値送信手段１０５により、発生したパターンシード値１８３を認証要求クライアント１５１に送信する（ステップＳ１１１）。典型的には、認証サーバ１０１は、ユーザ認証アプリケーション１０１ｃ２を動作させ、それによってパターンシード値１８３を認証要求クライアント１５１に送信する。次に、認証要求クライアント１５１は、パターンシード値受信手段１５４により、認証サーバ１０１から送信されたパターンシード値１８３を受信する（ステップＳ１１３）。典型的には、認証要求クライアント１５１上で動作しているブラウザアプリケーション１５１ｃ２またはログオン認証モジュール「SmxGinaDLL」が、パターンシード値１８３を受信する。次に、認証要求クライアント１５１は、ユーザにクライアント識別情報１０２ｃの取得先を選択させ、選択された取得先からクライアント識別情報取得手段１７１によりクライアント識別情報１０２ｃを取得する（ステップＳ１１５）。なお、クライアント識別情報１０２ｃの登録時における取得先が記憶装置１５１ｃ内の所定領域に記憶されている場合には、その取得先の情報を使用することによって、認証要求クライアント１５１においてクライアント識別情報１０２ｃの取得先は自動的に設定されることになる。また、クライアント識別情報１０２ｃの登録時における取得先が認証サーバ１０１に記憶されている場合には、その取得先の情報が認証サーバ１０１から認証要求クライアント１５１に送信され、その取得先の情報を使用することによって、認証要求クライアント１５１においてクライアント識別情報１０２ｃの取得先は自動的に設定されることになる。これらの場合、ユーザによるクライアント識別情報１０２ｃの取得先の選択は不要である。次に、認証要求クライアント１５１は、パターン要素列生成手段１５５により、ステップＳ１１５で取得したクライアント識別情報１０２ｃと、ステップＳ１１３で受信したパターンシード値１８３とに基づいて所定のパターン要素列生成規則により提示パターン１９１を構成するパターン要素列１９０を生成する（ステップＳ１１７）。所定のパターン要素列生成規則とは、クライアント識別情報１０２ｃとパターンシード値１８３との組み合わせに対してユニークに決定されるパターン要素列であって、そのパターン要素列だけからは元のクライアント識別情報１０２ｃとパターンシード値１８３とを推定することが極めて困難なものを発生させる規則であって、典型的には、以下に述べるような、クライアント識別情報１０２ｃとパターンシード値１８３との組み合わせを一種の初期値とした暗号化演算によるものである。図５は、提示パターン１９１の生成方法の概念図である。ここでは、「Ｃ８Ｅ３０Ｂ１７８４２２」というクライアント識別情報１０２ｃと「２８４Ｅ１７・・・３９Ｄ０」というパターンシード値１８３とに基づいてパターン要素列１９０が生成される。そのために、まず、クライアント識別情報１０２ｃとパターンシード値１８３の組み合わせから、所定の数字列を一意的に生成する。図５の第１段及び第２段に示した例では、それぞれ１６進数で表わしたクライアント識別情報１０２ｃとパターンシード値１８３とを結合して所定の数��列を生成している。クライアント識別情報１０２ｃとパターンシード値１８３との組み合わせ方としては、他には、加算、減算、排他的論理和、などのあらゆる演算を使用して組み合わせることができる。次に、その所定の数字列に対して暗号化演算を実施して、所定のビット長のビット列１８４を生成する。ここでは、所定のビット長は、６４の数字からなる提示パターン１９１を生成するために十分な情報量である２５６ビットである。暗号化演算としては、演算結果から元の数字列を求めることが事実上不可能なものであればよく、ハッシュ関数演算、共通鍵暗号化演算、などを使用することができる。例えば、ハッシュ関数としてＳＨＡ２５６を使用して、その所定の数字列を暗号化すると、２５６ビットのビット列１８４を生成することができる。また、共通鍵暗号化演算としてＡＥＳを使用して、その所定の数字列から鍵を生成し、その鍵によってあらかじめ適当に設定した２５６ビットの数字列を暗号化すると、２５６ビットのビット列１８４を生成することができる。また、それらのハッシュ関数演算と共通鍵暗号化演算とを組み合わせることもできる。なお、図５に示したビット列１８４「０１１１００１０１１００１１０１・・・１１０１０」の値は説明のための例示であり、正確なＳＨＡ２５６演算の結果を示したものではない。次に、２５６ビットのビット列１８４を７７桁の十進数に変換し、そこから６４桁の数字を抽出してパターン要素列１９０とする。なお、図５に示したパターン要素列１９０「３８０６４６５５・・・１０１７」の値は説明のための例示であり、正確な変換・抽出の結果を示したものではない。６４桁の数字の抽出は、不要な上位ビット列の削除、不要な下位ビット列の削除、割算などのあらゆる演算を使用することができる。次に、認証要求クライアント１５１は、パターン表示手段１５６により、パターン要素列１９０のそれぞれのパターン要素を４つの４×４のマトリクスからなるパターンのそれぞれの要素の位置に配置した提示パターン１９１を表わす画像を生成し、それを認証要求クライアント１５１の画面に表示させる（ステップＳ１１９）。Ｗｉｎｄｏｗｓのドメインネットワークへのログイン認証の場合は、図８に示されるように、ログオン認証画面１９７Ａに続いて、提示パターン１９１を含むログオン認証画面１９７Ｂが表示させられる。
【００６５】
次に、認証を受けようとするユーザは、認証要求クライアント１５１の画面に表示された提示パターン１９１の特定の位置に表示されたパターン要素（０から９のいずれかの数字）を選択したり、提示パターン１９１に基づかない固定の数字などのキャラクターを入力したりすることを順番に実施することによって、自分のワンタイムパスワード導出ルール１０２ｂを提示パターン１９１に適用した結果であるワンタイムパスワード１９２を認証要求クライアント１５１に入力する。認証要求クライアント１５１は、ワンタイムパスワード入力手段１５７により、ワンタイムパスワード１９２の入力を受け付ける（ステップＳ１２１）。次に、認証要求クライアント１５１は、ワンタイムパスワード送信手段１５８により、入力されたワンタイムパスワード１９２を認証サーバ１０１に送信する（ステップＳ１２３）。次に、認証サーバ１０１は、ワンタイムパスワード受信手段１２１により、認証要求クライアント１５１から送信されたワンタイムパスワード１９２を受信する（ステップＳ１２５）。
【００６６】
次に、認証サーバ１０１は、検証コード生成手段１０６により、認証要求クライアント１５１から受信した入力ユーザＩＤ１８１および認証要求クライアント１５１に送信したパターンシード値１８３に基づいて、所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに、当該入力ユーザＩＤ１８１に対応するワンタイムパスワード導出ルール１０２ｂを適用した結果である検証コード１９３を生成する（ステップＳ１２７）。ここでの所定のパターン要素列生成規則は、認証要求クライアント１５１において、ステップＳ１１７でパターン要素列生成手段１５５がパターン要素列を発生させたパターン要素列生成規則と全く同じ規則である。従って、検証コード１９３は、入力ユーザＩＤ１８１のユーザに関連付けられた正しいワンタイムパスワード導出ルール１０２ｂが、そのユーザに関連付けられた正しいクライアント識別情報１０２ｃと正しいパターンシード値１８３とに基づく正しい提示パターン１９１に適用された結果である正しいワンタイムパスワード１９２と同じ値となる。次に、認証サーバ１０１は、ユーザ認証手段１２２により、受信したワンタイムパスワード１９２と生成した検証コード１９３とを比較し、それらが等しければ、当該ユーザのユーザ認証が成功したものと判定する（ステップＳ１２９）。認証が成功すると、以下のように、ユーザ認証の利用形態に応じたサービスが許可されることになる。Ｗｅｂ上のコンテンツ等の使用許可のためのユーザ認証の場合は、コンテンツへのアクセスが許可されたり、アプリケーションの利用が許可されたりする。Ｗｉｎｄｏｗｓのドメインネットワークへのログオン認証の場合は、認証サーバ１０１は、認証結果をＷｉｎｄｏｗｓのドメインコントローラに伝達し、Ｗｉｎｄｏｗｓネットワークへの参加を認めさせる。認証サーバ１０１が、ＳＳＬ−ＶＰＮゲートウェイの形態であれば、当該ＳＳＬ−ＶＰＮへのアクセスが許可される。
【００６７】
なお、認証のための要素の数を実質的に三要素以上の多要素に拡張することを目的として、複数のクライアント識別情報１０２ｃを同時にパターンシード値１８３と組み合わせて提示パターン１９１を生成するように構成するためには、クライアント識別情報１０２ｃを扱う手段やステップにおいて、複数のクライアント識別情報１０２ｃを使用するように本発明を構成すればいい。具体的には、パスワード記憶部１０２は、ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと当該ユーザが使用する認証要求クライアントをそれぞれ識別する複数のクライアント識別情報とをお互いに関連付けてあらかじめ記憶するものであり、パターンシード値発生手段１０４は、複数のクライアント識別情報と組み合わされて提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するものであり、クライアント識別情報取得手段１７１は、認証を受けようとするユーザが使用している認証要求クライアント１５１を識別する複数のクライアント識別情報１０２ｃを取得するものであり、パターン要素列生成手段１５５は、取得された複数のクライアント識別情報１０２ｃと受信したパターンシード値１８３とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するものであり、検証コード生成手段１０６は、受信したユーザＩＤに関連付けられた複数のクライアント識別情報および送信したパターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信したユーザＩＤに関連付けられたワンタイムパスワード導出ルールを適用した結果である検証コードを生成するものであるように構成するとよい。
【００６８】
以上に説明した動作フローにおいて、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの動作フロー上の矛盾が生じない限りにおいて、動作フローを自由に変更することができる。例えば、ステップＳ１２７の認証サーバ１０１における検証コード１９３の生成などは、入力ユーザＩＤ１８１とパターンシード値１８３が利用できるようになるステップＳ１０９の直後で実行されてもよい。
【００６９】
以上に説明してきた各実施形態は、本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００７０】
１００  二要素ユーザ認証システム
１０１  認証サーバ
１０１ａ  ＣＰＵ
１０１ｂ  ＲＡＭ
１０１ｃ  記憶装置
１０１ｃ１  ＯＳ
１０１ｃ２  ユーザ認証アプリケーション
１０１ｄ  ユーザインターフェース（Ｉ／Ｆ）
１０１ｅ  ネットワークインターフェース（Ｉ／Ｆ）
１０２  パスワード記憶部
１０２ａ  ユーザＩＤ
１０２ｂ  ワンタイムパスワード導出ルール
１０２ｃ  クライアント識別情報
１０３  認証要求受信手段
１０４  パターンシード値発生手段
１０５  パターンシード値送信手段
１０６  検証コード生成手段
１２１  ワンタイムパスワード受信手段
１２２  ユーザ認証手段
１５１  認証要求クライアント
１５１ａ  ＣＰＵ
１５１ｂ  ＲＡＭ
１５１ｃ  記憶装置
１５１ｃ１  ＯＳ
１５１ｃ２  ブラウザアプリケーション
１５１ｃ３  提示パターン生成モジュール
１５１ｃ４  クライアント識別情報取得モジュール
１５１ｄ  ユーザインターフェース（Ｉ／Ｆ）
１５１ｅ  ネットワークインターフェース（Ｉ／Ｆ）
１５２  ユーザＩＤ入力手段
１５３  認証要求送信手段
１５６  パターン表示手段
１５７  ワンタイムパスワード入力手段
１５８  ワンタイムパスワード送信手段
１５４  パターンシード値受信手段
１５５  パターン要素列生成手段
１７１  クライアント識別情報取得手段
１７２  クライアント識別情報記憶部
１８１  入力ユーザＩＤ
１８３  パターンシード値
１８４  ビット列
１９０  パターン要素列
１９１  提示パターン
１９１ｐ  所定パターン
１９２  ワンタイムパスワード
１９３  検証コード
１９６  キーボード
１９７Ａ  ログオン認証画面
１９７Ｂ  ログオン認証画面
【図１】
2012046304.tif 000003
【図２】
2012046304.tif 000004
【図３】
2012046304.tif 000005
【図４】
2012046304.tif 000006
【図５】
2012046304.tif 000007
【図６】
2012046304.tif 000008
【図７】
2012046304.tif 000009
【図８】
2012046304.tif 000010
【手続補正書】
【提出日】平成23年2月21日(2011.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用する二要素ユーザ認証システムであって、
前記ユーザの認証を行う認証サーバと、
前記認証サーバとネットワークで接続された、前記ユーザが認証を要求する端末である認証要求クライアントと、を有し、
前記認証サーバは、
前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと当該ユーザが使用する前記認証要求クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶するパスワード記憶部と、
前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するパターンシード値発生手段と、
認証を受けようとするユーザのユーザＩＤを前記認証要求クライアントから受信するユーザＩＤ受信手段と、
発生させられた前記パターンシード値を、認証を受けようとするユーザの前記認証要求クライアントに送信するパターンシード値送信手段と、
を有し、
前記認証要求クライアントは、
前記ユーザから前記ユーザＩＤの入力を受け付けるユーザＩＤ入力手段と、
入力された前記ユーザＩＤを前記認証サーバに送信するユーザＩＤ送信手段と、
前記認証サーバから送信された前記パターンシード値を受信するパターンシード値受信手段と、
認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別するクライアント識別情報を取得するクライアント識別情報取得手段と、
取得された前記クライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するパターン要素列生成手段と、
生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるパターン表示手段と、
前記ユーザから、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けるワンタイムパスワード入力手段と、
入力された前記ワンタイムパスワードを前記認証サーバに送信するワンタイムパスワード送信手段と、
を有し、
前記認証サーバは、
前記ワンタイムパスワードを受信するワンタイムパスワード受信手段と、
受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成する検証コード生成手段と、
受信した前記ワンタイムパスワードと生成された前記検証コードとを比較し、それらが等しい場合に前記ユーザＩＤに対応するユーザの認証を成功させるユーザ認証手段と、
をさらに有することを特徴とする二要素ユーザ認証システム。
【請求項２】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記パスワード記憶部は、あらかじめ前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと当該ユーザが使用する前記認証要求クライアントをそれぞれ識別する複数のクライアント識別情報とをお互いに関連付けて記憶するものであり、
前記パターンシード値発生手段は、前記複数のクライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するものであり、
前記クライアント識別情報取得手段は、認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別する前記複数のクライアント識別情報を取得するものであり、
前記パターン要素列生成手段は、取得された前記複数のクライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するものであり、
前記検証コード生成手段は、受信した前記ユーザＩＤに関連付けられた前記複数のクライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成するものであることを特徴とする二要素ユーザ認証システム
【請求項３】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記パターンシード値発生手段は、前記ユーザＩＤおよび前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するものであり、
前記パターン要素列生成手段は、入力された前記ユーザＩＤと認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別する前記クライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するものであり、
前記検証コード生成手段は、受信した前記ユーザＩＤ、受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに対応する前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成するものである二要素ユーザ認証システム。
【請求項４】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントのハードウェアに内蔵された識別情報を取得する二要素ユーザ認証システム。
【請求項５】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントのＯＳのＩＤ情報を取得する二要素ユーザ認証システム。
【請求項６】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントに設定されたネットワークにおけるアドレス情報を取得する二要素ユーザ認証システム。
【請求項７】
請求項１に記載の二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記認証要求クライアントのインターフェースを通じて外部機器の識別情報を取得する二要素ユーザ認証システム。
【請求項８】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用することによって、前記ユーザが認証を要求する端末である認証要求クライアントからの認証要求に応答して、当該認証要求クライアントとネットワークで接続された認証サーバが前記ユーザの認証を行う二要素ユーザ認証方法であって、
前記認証サーバが、前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと前記認証要求クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶するステップと、
前記認証要求クライアントが、認証を受けようとするユーザのユーザＩＤの入力を受け付けるステップと、
前記認証要求クライアントが、入力された前記ユーザＩＤを前記認証サーバに送信するステップと、
前記認証サーバが、前記認証要求クライアントから送信された認証を受けようとするユーザのユーザＩＤを受信するステップと、
前記認証サーバが、前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するステップと、
前記認証サーバが、発生させられた前記パターンシード値を認証を受けようとするユーザの前記認証要求クライアントに送信するステップと、
前記認証要求クライアントが、前記認証サーバから送信された前記パターンシード値を受信するステップと、
前記認証要求クライアントが、認証を受けようとする前記ユーザが使用している前記認証要求クライアントを識別するクライアント識別情報を取得するステップと、
前記認証要求クライアントが、取得された前記クライアント識別情報と受信した前記パターンシード値とに基づいて、所定のパターン要素列生成規則により前記提示パターンを構成するパターン要素の集合であるパターン要素列を生成するステップと、
前記認証要求クライアントが、生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるステップと、
前記認証要求クライアントが、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を前記ユーザから受け付けるステップと、
前記認証要求クライアントが、入力された前記ワンタイムパスワードを前記認証サーバに送信するステップと、
前記認証サーバが、前記ワンタイムパスワードを前記認証要求クライアントから受信するステップと、
前記認証サーバが、受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および送信した前記パターンシード値に基づいて前記所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンに含まれるパターン要素に受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果である検証コードを生成するステップと、
前記認証サーバが、受信した前記ワンタイムパスワードと生成された前記検証コードとを比較し、それらが等しい場合に前記ユーザＩＤに対応するユーザの認証を成功させるステップと、
を有することを特徴とする二要素ユーザ認証方法。
【国際調査報告】
2012046304.tif 000011
2012046304.tif 000012
2012046304.tif 000013
2012046304.tif 000014