(57)【要約】  認証情報漏洩の危険性を減少させたオフラインでの二要素認証のマトリクス認証を実現する。  提示パターンに含まれる特定の位置の要素に適用することによりワンタイムパスワードを生成するための導出ルールをパスワードとし、ユーザが使用するクライアントの識別情報を認証のためにさらに使用する二要素ユーザ認証システムであって、オフライン認証クライアント内に、クライアント識別情報と組み合わされて提示パターンをユニークに決定する値である複数のパターンシード値と、そのそれぞれに対応する複数の検証コードをクライアントに記憶させ、クライアント識別情報と選択された１つのパターンシード値に基づいて提示パターンを生成し、入力されたワンタイムパスワードを対応する検証コードに基づいて検証することによって認証を実施する。
2012046303.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」が起動して、まず、ログオン認証画面１９７Ａが表示される。オフライン二要素認証クライアント１５１がドメインネットワークに接続されている状態で、ログオン認証画面１９７Ａにおいてログオン先にドメイン名を指定してネットワークへの認証が要求された場合には、続いてログオン認証画面１９７Ｂが表示され、従来のオンラインでのユーザ認証システムで実施されていたものと同様のユーザ認証が実行されるとともに、当該ネットワークへのログオン認証が成功すると、オフライン二要素認証クライアント１５１からオフライン認証支援サーバ１０１に対して検証データ要求が送信され、オフライン二要素認証クライアント１５１はオフライン認証支援サーバ１０１からオンラインで検証データ１９４をあらかじめ取得して記憶する。オフライン二要素認証クライアント１５１がドメインネットワークに接続されていない状態で、ログオン認証画面１９７Ａにおいてログオン先にドメイン名またはコンピュータ名を指定してコンピュータへの認証が要求された場合には、続いてログオン認証画面１９７Ｂが表示され、あらかじめ記憶していた検証データ１９４に基づいて、本発明に係るオフラインユーザ認証が実施される。
【００６９】
［オフライン二要素ユーザ認証システム１００の動作］
これから、オフライン二要素ユーザ認証システム１００の動作について説明する。オフライン二要素ユーザ認証システム１００の動作は、大きく２つの段階に分けることができる。１つの段階は、オフライン二要素認証クライアント１５１が、ユーザ認証を受けることになるユーザのための検証データ１９４をオフライン認証支援サーバ１０１に生成させて、それをあらかじめ取得して記憶する段階である。もう１つの段階は、ユーザ認証を受けようとするユーザに対して、オフライン二要素認証クライアント１５１が、あらかじめ記憶した検証データ１９４に基づいてオフラインでユーザ認証を実施する段階である。
【００７０】
［オフライン二要素ユーザ認証システム１００の動作（１）−検証データ取得］
まず、検証データ１９４を取得する動作フローについて説明する。図３は、オフライン二要素ユーザ認証システム１００の検証データ取得の動作フロー図である。まず、オフライン二要素ユーザ認証システム１００で認証を受けることになるユーザは、そのユーザＩＤ１０２ａと、パスワードであるワンタイムパスワード導出ルール１０２ｂと、そのユーザが認証を受ける際に使用するオフライン二要素認証クライアント１５１を識別するクライアント識別情報１０２ｃとをあらかじめオフライン認証支援サーバ１０１に入力して登録しておく。パスワード記憶部１０２は、そのユーザのユーザＩＤ１０２ａとワンタイムパスワード導出ルール１０２ｂとクライアント識別情報１０２ｃとをお互いに関連付けてユーザの認証に先立ってあらかじめ記憶する（ステップＳ１０１）。オフライン認証支援サーバ１０１は、好適にはインターネットまたはイントラネットのＷｅｂ上にユーザＩＤとパスワードとクライアント識別情報１０２ｃの登録のための初期登録Ｗｅｂページなどを提供しており、ユーザは、オフライン二要素認証クライアント１５１などの端末からその初期登録Ｗｅｂページを通じてオフライン認証支援サーバ１０１にアクセスする。それによって、オフライン二要素認証クライアント１５１には、ユーザＩＤ入力のための入力フィールドと、０から９までの数字を乱数的にパターン要素として配置した提示パターン１９１が表示される（図示せず）。ユーザは入力フィールドに自分が登録したいユーザＩＤ１０２ａを入力する。ユーザは次に、自分が登録しようとするワンタイムパスワード導出ルール１０２ｂに従って、提示パターン１９１に含まれるパターン要素の位置の選択または当該提示パターン１９１に基づかない固定の数字などのキャラクターの入力を行う。オフライン認証支援サーバ１０１は、入力されたユーザＩＤ１０２ａをそのユーザのユーザＩＤとしてパスワード記憶部１０２に記憶させる。一方、選択または入力された数字の列は、それだけではワンタイムパスワード導出ルール１０２ｂを特定することができない。従って、オフライン認証支援サーバ１０１は、異なる提示パターン１９１を表示してパスワード導出ルール１０２ｂに従った数字などのキャラクターの２回目の選択または入力を行わせ、選択または入力された数字などのキャラクターの列を１回目のものと比較して、ワンタイムパスワード導出ルール１０２ｂを特定する。２回目の提示パターン１９１を、１回目の提示パターン１９１と大きく異なるように工夫して発生させると、通常、２回の提示パターン１９１の提示によってワンタイムパスワード導出ルール１９２ｂを特定することが可能である。２回の提示パターン１９１の提示でワンタイムパスワード導出ルール１０２ｂの特定ができなかった場合は、それが特定できるまで、提示パターン１９１の内容を変えてそれの提示を繰り返す。これによって、提示パターン１９１に含まれるパターン要素の内で選択されたもののそれぞれの位置および当該提示パターン１９１に基づかない固定のキャラクターのそれぞれと、当該それぞれのパターン要素の位置および当該それぞれの固定のキャラクターが選択あるいは入力される順番との組み合わせであるワンタイムパスワード導出ルール１０２ｂが特定される。特定されたワンタイムパスワード導出ルール１０２ｂは、当該ユーザのユーザＩＤ１０２ａと関連付けられてパスワード記憶部１０２に記憶される。なお、初期登録Ｗｅｂページから、シード値選択・パターン生成モジュール１５１ｃ３や検証コード特定・認証モジュールやクライアント識別情報取得モジュール１５１ｃ５などの、オフライン二要素認求クライアント１５１に必要なソフトウェアをダウンロードすることができるように構成すると好適である。これによって、その初期登録Ｗｅｂページにアクセスしてきた任意のＰＣの中にパターン要素列生成手段１５５やクライアント識別情報取得手段１７１を形成させ、それをオフライン二要素認証クライアント１５１として動作できるようにすることができる。
【００７１】
オフライン二要素認証クライアント１５１が、ユーザＩＤ１０２ａとワンタイムパスワード導出ルール１０２ｂの登録のためにオフライン認証支援サーバ１０１にアクセスしたときに、クライアント識別情報取得手段１７１が動作することによりオフライン二要素認証クライアント１５１が取得可能なクライアント識別情報１０２ｃを取得して、オフライン認証支援サーバ１０１に送信する。これは、ユーザＩＤ１０２ａとワンタイムパスワード導出ルール１０２ｂの登録の前でも後でもよい。このとき、初期登録Ｗｅｂページが、各種のクライアント識別情報１０２ｃの取得先（ＣＰＵ、ＭＡＣアドレス、ハードディスク、Ｗｉｎｄｏｗｓ  ＯＳのＧＵＩＤやプロダクトＩＤやプロダクトキー、ＩＰアドレス、ＵＳＢメモリ、無線通信用データカード、携帯電話機、Ｂｌｕｅｔｏｏｔｈや無線ＬＡＮ搭載各種機器、Ｆｅｌｉｃａ、ＲＦＩＤ、生体認証情報読み取り機、などのクライアント識別情報記憶部１７２を有するもの）を選択のために表示する。ここで、クライアント識別情報取得手段１７１が取得可能なクライアント識別情報１０２ｃをバスや外部／ネットワークＩ／Ｆを通じて走査して確認し、クライアント識別情報１０２ｃを取得可能な取得先だけを表示させるようにすると好適である。なお、オフライン二要素ユーザ認証システム１００の管理者が、１つあるいは複数のクライアント識別情報１０２ｃの取得先をあらかじめ設定しておき、ユーザが取得先を選択しないようにも構成できる。ユーザが、表示された取得先のいずれかを選択すると、選択された取得先からクライアント識別情報１０２ｃがクライアント識別情報取得手段１７１によって読み出される。なお、ユーザは複数の取得先を選択することも可能である。この場合、それらの複数のクライアント識別情報１０２ｃを同時にパターンシード値１８３と組み合わせて提示パターン１９１を生成するようにすることもでき、認証のための要素の数を実質的に三要素以上の多要素に拡張することもできる。読み出されたクライアント識別情報１０２ｃは、オフライン認証支援サーバ１０１に送信され、オフライン認証支援サーバ１０１は、受信したクライアント識別情報１０２ｃを、ユーザＩＤ１０２ａ及びワンタイムパスワード導出ルール１０２ｂと関連付けてパスワード記憶部１０２に記憶することによって登録する。これらの登録の操作が完了すると、オフライン認証支援サーバ１０１は、そのユーザに対する認証のための検証データ１９４を生成することができるようになり、そのユーザは、オフライン二要素ユーザ認証システム１００による認証を受けることができるようになる。なお、クライアント識別情報１０２ｃを登録する際に、その取得先の情報をいずれかの場所に記憶させておくと好適である。そのようにすると、ユーザが認証を受ける際に、記憶された取得先の情報を使用して、クライアント識別情報１０２ｃの取得先を自動的に設定することが可能となるからである。例えば、取得先の情報は、オフライン二要素認証クライアント１５１の記憶装置１５１ｃ内に所定の記憶領域を設けて、そこにユーザＩＤ１０２ａと関連付けて記憶させることができる。
【００７２】
次に、認証を受けようとするユーザは、オフライン二要素認証クライアント１５１において、ユーザＩＤ入力手段１５２により自分のユーザＩＤを入力ユーザＩＤ１８１として入力する（ステップＳ１０３）。ユーザは、典型的には、オフライン二要素認証クライアント１５１がドメインネットワークに接続された状態で、オフライン二要素認証クライアント１５１のＷｉｎｄｏｗｓのログオン認証画面１９７Ａにおいて、ユーザー名フィールドに自己のユーザＩＤを入力し、ログオン先としてドメイン名を入力したユーザ認証の要求を行う。これによって、入力ユーザＩＤ１８１がオフライン認証クライアント１５１に入力される。続いて、ログオン認証画面１９７Ｂが表示され、従来のユーザ認証方法と同様の方法によってユーザ認証が実施される。ユーザ認証が成功すると、次に、オフライン二要素認証クライアント１５１は、検証データ要求手段１５３により、入力された入力ユーザＩＤ１８１を伴う検証データ１９４の生成と出力の要求をオフライン認証支援サーバ１０１に送信する（ステップＳ１０５）。典型的には、ログオン認証画面１９７Ａおよび１９７Ｂを表示させているログオン認証モジュール「SmxGinaDLL」が、オフライン認証支援サーバ１０１がネットワーク上に提供している検証データ１９４の出力のためのリソースにアクセスして、入力ユーザＩＤ１８１の情報を含む、検証データ要求のデータを伝達する。当該リソースは、典型的には、ＨＴＴＰＳプロトコルでアクセス可能なＪａｖａ（登録商標）サーブレットの形態である。次に、オフライン認証支援サーバ１０１は、要求受付手段１０３により、オフライン二要素認証クライアント１５１から送信された入力ユーザＩＤ１８１を伴う検証データ要求を受信する（ステップＳ１０７）。典型的には、オフライン認証支援サーバ１０１は、ユーザ認証支援アプリケーション１０１ｃ２を動作させ、それによって入力ユーザＩＤ１８１を伴う検証データ要求を受信する。次に、オフライン認証支援サーバ１０１は、パターンシード値発生手段１０４により、パターンシード値１８３を所定の発生規則によって複数発生させる（ステップＳ１０９）。所定の発生規則は、典型的には、所定の範囲内の乱数を発生させることである。図５には、パターンシード値１８３として、１６進数で表わした「２８４Ｅ１７・・・３９Ｄ０」などが例示されている。パターンシード値１８３は、例えば、１６バイトのような所定のビット長の数字列で表わすことができ、この場合、当該所定の範囲とは、１６進数で「００００００００００００００００」から「ＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦ」の範囲となる。従って、当該所定の範囲の任意の数字列をパターンシード値１８３とすることができるため、最大で当該所定の範囲の数だけ異なる提示パターン１９１を生成することが可能となる。
【００７３】
次に、オフライン認証支援サーバ１０１は、検証コード生成手段１０６により、クライアント識別情報１０２ｃおよび発生させられたそれぞれのパターンシード値１８３に基づいて所定のパターン要素列生成規則により生成されるパターン要素列１９０から構成される提示パターン１９１のそれぞれに対応させて、当該入力ユーザＩＤ１８１に関連付けられたワンタイムパスワード導出ルール１０２ｂをそれぞれの提示パターン１９１に含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コード１９３を複数生成する。（ステップＳ１１１）。ここで、所定のパターン要素列生成規則とは、クライアント識別情報１０２ｃとパターンシード値１８３との組み合わせに対してユニークに決定されるパターン要素列であって、そのパターン要素列だけからは元のクライアント識別情報１０２ｃとパターンシード値１８３とを推定することが極めて困難なものを発生させる規則であって、典型的には、以下に述べるような、クライアント識別情報１０２ｃとパターンシード値１８３との組み合わせを一種の初期値とした暗号化演算によるものである。図６は、提示パターン１９１の生成方法の概念図である。ここでは、「Ｃ８Ｅ３０Ｂ１７８４２２」というクライアント識別情報１０２ｃと「２８４Ｅ１７・・・３９Ｄ０」というパターンシード値１８３とに基づいてパターン要素列１９０が生成される。そのために、まず、クライアント識別情報１０２ｃとパターンシード値１８３の組み合わせから、所定の数字列を一意的に生成する。図６の第１段及び第２段に示した例では、それぞれ１６進数で表わしたクライアント識別情報１０２ｃとパターンシード値１８３とを結合して所定の数字列を生成している。クライアント識別情報１０２ｃとパターンシード値１８３との組み合わせ方としては、他には、加算、減算、排他的論理和、などのあらゆる演算を使用して組み合わせることができる。次に、その所定の数字列に対して暗号化演算を実施して、所定のビット長のビット列１８４を生成する。ここでは、所定のビット長は、６４の数字からなる提示パターン１９１を生成するために十分な情報量である２５６ビットである。暗号化演算としては、演算結果から元の数字列を求めることが事実上不可能なものであればよく、ハッシュ関数演算、共通鍵暗号化演算、などを使用することができる。例えば、ハッシュ関数としてＳＨＡ２５６を使用して、その所定の数字列を暗号化すると、２５６ビットのビット列１８４を生成することができる。また、共通鍵暗号化演算としてＡＥＳを使用して、その所定の数字列から鍵を生成し、その鍵によってあらかじめ適当に設定した２５６ビットの数字列を暗号化すると、２５６ビットのビット列１８４を生成することができる。また、それらのハッシュ関数演算と共通鍵暗号化演算とを組み合わせることもできる。なお、図６に示したビット列１８４「０１１１００１０１１００１１０１・・・１１０１０」の値は説明のための例示であり、正確なＳＨＡ２５６演算の結果を示したものではない。次に、２５６ビットのビット列１８４を７７桁の十進数に変換し、そこから６４桁の数字を抽出してパターン要素列１９０とする。なお、図６に示したパターン要素列１９０「３８０６４６５５・・・１０１７」の値は説明のための例示であり、正確な変換・抽出の結果を示したものではない。６４桁の数字の抽出は、不要な上位ビット列の削除、不要な下位ビット列の削除、割算などのあらゆる演算を使用することができる。このような所定のパターン要素列生成規則によって生成されたパターン要素列１９０から構成される提示パターン１９１のそれぞれに含まれるパターン要素に対して、ワンタイムパスワード導出ルール１０２ｂを適用して正しいワンタイムパスワードを生成し、そのワンタイムパスワードに一方向関数演算を実施することにより、検証コード１９３が生成される。
次に、オフライン認証支援サーバ１０１は、パターンシード値送信手段１０５により、発生した複数のパターンシード値１８３をオフライン二要素認証クライアント１５１に送信する（ステップＳ１１３）。典型的には、オフライン認証支援サーバ１０１は、ユーザ認証支援アプリケーション１０１ｃ２を動作させ、それによって複数のパターンシード値１８３をオフライン二要素認証クライアント１５１に送信する。次に、オフライン二要素認証クライアント１５１は、パターンシード値受信手段１５４により、オフライン認証支援サーバ１０１から送信された複数のパターンシード値１８３を受信し、それを入力ユーザＩＤ１８１と関連付けて検証データ記憶部１６１に記憶する（ステップＳ１１５）。典型的には、オフライン二要素認証クライアント１５１上で動作しているログオン認証モジュール「SmxGinaDLL」が、複数のパターンシード値１８３を受信して記憶させる。次に、オフライン認証支援サーバ１０１は、検証コード送信手段１１１により、発生した複数の検証コード１９３をオフライン二要素認証クライアント１５１に送信する（ステップＳ１１７）。典型的には、オフライン認証支援サーバ１０１は、ユーザ認証支援アプリケーション１０１ｃ２を動作させ、それによって複数の検証コード１９３をオフライン二要素認証クライアントに送信する。次に、オフライン二要素認証クライアント１５１は、検証コード受信手段１６２により、オフライン認証支援サーバ１０１から送信された複数の検証コード１９３を受信し、それを対応するパターンシード値１８３と関連付けて検証データ記憶部１６１に記憶する（ステップＳ１１９）。典型的には、オフライン二要素認証クライアント１５１上で動作しているログオン認証モジュール「SmxGinaDLL」が、複数の検証コード１９３を受信して記憶させる。以上の動作によって、入力ユーザＩＤ１８１に対応した検証データ１９４がオフライン二要素認証クライアント１５１に記憶され、オフラインユーザ認証の準備が完了したことになる。
【００７４】
なお、検証データ要求は、オフライン認証支援サーバ１０１にネットワークを介さずに直接入力することもできる。この場合、オフライン認証支援サーバ１０１に入力ユーザＩＤ１８１を伴う検証データ要求を入力し、それに対応する検証データ１９４を記憶媒体などに出力させる。オフライン二要素認証クライアント１５１は、当該記憶媒体から検証データ１９４を読み込んで記憶する。
【００７５】
［オフラインユーザ認証システム１００の動作（２）−ユーザ認証］
次に、オフラインでのユーザ認証の動作フローについて説明する。図４は、オフライン二要素ユーザ認証システム１００のオフラインユーザ認証の動作フロー図である。まず、認証を受けようとするユーザは、ユーザＩＤ入力手段１５２を通じて、そのユーザＩＤをオフライン二要素認証クライアント１５１に入力する（ステップＳ１５１）。ユーザは、典型的には、オフライン二要素認証クライアント１５１がドメインネットワークに接続されていない状態で、オフライン二要素認証クライアント１５１のＷｉｎｄｏｗｓのログオン認証画面１９７Ａにおいて、ユーザー名フィールドに自己のユーザＩＤを入力し、ログオン先としてドメイン名またはコンピュータ名を指定したユーザ認証の要求を行うことによって、入力ユーザＩＤ１８１を入力する。次に、オフライン二要素認証クライアント１５１は、パターンシード値選択手段１６３により、入力ユーザＩＤ１８１が、検証データ記憶部１６１に記憶されているユーザＩＤ１０２ａに含まれていることを確認する（ステップＳ１５３）。これによって、認証を受けようとするユーザに関連付けられた検証データ１９４が記憶されており、オフラインユーザ認証を行うことができることを確認する。次に、オフライン認証クライアント１５１は、パターンシード値選択手段１６３により、入力ユーザＩＤ１８１に関連付けられた複数のパターンシード値１８３の中から、所定の規則により１つのパターンシード値１８３を選択する（ステップＳ１５５）。選択されるパターンシード値１８３としては、好適には、次にオフライン認証支援サーバ１０１から検証データ１９４を新しく取得して記憶するまでは、記憶された複数のパターンシード値１８３のうち、当該ユーザの認証に使用するためにすでに選択されたものは選択されない。このようにすることによって、１回のオフラインユーザ認証ごとに、異なる提示パターン１９１を表示させることができ、総当り攻撃を排除できるため、よりセキュリティを向上させることができる。パターンシード値１８３が例えば１００個記憶されている場合は、新しく検証データ１９４を取得するまでの間、連続して１００回、オフラインユーザ認証を実施することができることになる。選択されていないパターンシード値１８３が少なくなってくると、その旨の警告が表示される。すべてのパターンシード値１８３が選択されてしまうと、それ以上の新しいユーザ認証はできない。次に、オフライン認証クライアント１５１は、検証コード特定手段１６４により、入力ユーザＩＤ１８１に関連付けられた複数の検証コード１９３の中から、ステップＳ１５５で選択されたパターンシード値１８３に対応する検証コードを特定する（ステップＳ１５７）。次に、オフライン認証クライアント１５１は、ユーザにクライアント識別情報１０２ｃの取得先を選択させ、選択された取得先からクライアント識別情報取得手段１７１によりクライアント識別情報１０２ｃを取得する（ステップＳ１５９）。なお、クライアント識別情報１０２ｃの登録時における取得先が記憶装置１５１ｃ内の所定領域に記憶されている場合には、その取得先の情報を使用することによって、オフライン認証クライアント１５１においてクライアント識別情報１０２ｃの取得先は自動的に設定されることになる。この場合、ユーザによるクライアント識別情報１０２ｃの取得先の選択は不要である。次に、オフライン認証クライアント１５１は、パターン要素列生成手段１５５により、ステップＳ１５９で取得されたクライアント識別情報１０２ｃと、ステップＳ１５７で選択されたパターンシード値１８３とに基づいて所定のパターン要素列生成規則により提示パターン１９１を構成するパターン要素列１９０を生成する（ステップＳ１６１）。この所定のパターン要素列生成規則は、ステップＳ１１１において説明したものと全く同じものである。次に、オフライン二要素認証クライアント１５１は、パターン表示手段１５６により、生成されたパターン要素列１９０のそれぞれのパターン要素を４つの４×４のマトリクスからなるパターンのそれぞれの要素の位置に配置した提示パターン１９１を表わす画像を生成し、それをオフライン二要素認証クライアント１５１の画面に表示させる（ステップＳ１６３）。典型的には、図９に示されるように、ログオン認証画面１９７Ａに続いて、提示パターン１９１を含むログオン認証画面１９７Ｂが表示させられる。
【００７６】
次に、認証を受けようとするユーザは、オフライン二要素認証クライアント１５１の画面に表示された提示パターン１９１の特定の位置に表示されたパターン要素（０から９のいずれかの数字）を選択したり、提示パターン１９１に基づかない固定の数字などのキャラクターを入力したりすることを順番に実施することによって、自分のワンタイムパスワード導出ルール１０２ｂを提示パターン１９１に適用した結果であるワンタイムパスワード１９２をオフライン二要素認証クライアント１５１に入力する。オフライン二要素認証クライアント１５１は、ワンタイムパスワード入力手段１５７により、ワンタイムパスワード１９２の入力を受け付ける（ステップＳ１６５）。
【００７７】
次に、オフライン二要素認証クライアント１５１は、ユーザ認証手段１６５により、入力されたワンタイムパスワード１９２に検証コード１９３の生成時に使用したものと同じ一方向関数演算を実施したものと、特定された検証コード１９３とを比較し、それらが等しければ、当該ユーザのユーザ認証が成功したものと判定する（ステップＳ１６７）。認証が成功すると、以下のように、ユーザ認証の利用形態に応じたサービスが許可されることになる。すなわち、Ｗｉｎｄｏｗｓのログオン認証の場合には、Ｗｉｎｄｏｗｓが起動してそのユーザに対応する環境が提供される。
【００７８】
なお、認証のための要素の数を実質的に三要素以上の多要素に拡張することを目的として、複数のクライアント識別情報１０２ｃを同時にパターンシード値１８３と組み合わせて提示パターン１９１を生成するように構成するためには、クライアント識別情報１０２ｃを扱う手段やステップにおいて、複数のクライアント識別情報１０２ｃを使用するように本発明を構成すればいい。具体的には、パスワード記憶部１０２は、ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと当該ユーザが使用するオフライン二要素認証クライアント１５１をそれぞれ識別する複数のクライアント識別情報１０２ｃとをお互いに関連付けてあらかじめ記憶するものであり、パターンシード値発生手段１０４は、複数のクライアント識別情報と組み合わされて提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により発生するものであり、クライアント識別情報取得手段１７１は、認証を受けようとするユーザが使用しているオフライン認証クライアント１５１を識別する複数のクライアント識別情報１０２ｃを取得するものであり、パターン要素列生成手段１５５は、取得された複数のクライアント識別情報と選択されたパターンシード値１８３とに基づいて、所定のパターン要素列生成規則によりパターン要素列１９０を生成するものであり、検証コード生成手段１０６は、受信したユーザＩＤに関連付けられた複数のクライアント識別情報１０２ｃおよび発生させられたそれぞれのパターンシード値１８３に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させて、受信したユーザＩＤに関連付けられたワンタイムパスワード導出ルールをそれぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードを生成するものであるように構成するとよい。
【００７９】
なお、以上に説明した動作フローにおいて、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの動作フロー上の矛盾が生じない限りにおいて、動作フローを自由に変更することができる。
【００８０】
以上に説明してきた各実施形態は、本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００８１】
１００  オフライン二要素ユーザ認証システム
１０１  オフライン認証支援サーバ
１０１ａ  ＣＰＵ
１０１ｂ  ＲＡＭ
１０１ｃ  記憶装置
１０１ｃ１  ＯＳ
１０１ｃ２  ユーザ認証支援アプリケーション
１０１ｄ  ユーザインターフェース（Ｉ／Ｆ）
１０１ｅ  外部／ネットワークインターフェース（Ｉ／Ｆ）
１０２  パスワード記憶部
１０２ａ  ユーザＩＤ
１０２ｂ  ワンタイムパスワード導出ルール
１０２ｃ  クライアント識別情報
１０３  要求受付手段
１０４  パターンシード値発生手段
１０５  パターンシード値送信手段
１０６  検証コード生成手段
１１１  検証コード送信手段
１５１  オフライン二要素認証クライアント
１５１ａ  ＣＰＵ
１５１ｂ  ＲＡＭ
１５１ｃ  記憶装置
１５１ｃ１  ＯＳ
１５１ｃ２  検証データ要求モジュール
１５１ｃ３  シード値選択・パターン生成モジュール
１５１ｃ４  検証コード特定・認証モジュール
１５１ｃ５  クライアント識別情報取得モジュール
１５１ｄ  ユーザインターフェース（Ｉ／Ｆ）
１５１ｅ  外部／ネットワークインターフェース（Ｉ／Ｆ）
１５２  ユーザＩＤ入力手段
１５３  検証データ要求手段
１５４  パターンシード値受信手段
１５５  パターン要素列生成手段
１５６  パターン表示手段
１５７  ワンタイムパスワード入力手段
１６１  検証データ記憶部
１６２  検証コード受信手段
１６３  パターンシード値選択手段
１６４  検証コード特定手段
１６５  ユーザ認証手段
１７１  クライアント識別情報取得手段
１７２  クライアント識別情報記憶部
１８１  入力ユーザＩＤ
１８３  パターンシード値
１８４  ビット列
１９０  パターン要素列
１９１  提示パターン
１９１ｐ  所定パターン
１９２  ワンタイムパスワード
１９３  検証コード
１９４  検証データ
１９６  キーボード
１９７Ａ  ログオン認証画面
１９７Ｂ  ログオン認証画面
【図１】
2012046303.tif 000003
【図２】
2012046303.tif 000004
【図３】
2012046303.tif 000005
【図４】
2012046303.tif 000006
【図５】
2012046303.tif 000007
【図６】
2012046303.tif 000008
【図７】
2012046303.tif 000009
【図８】
2012046303.tif 000010
【図９】
2012046303.tif 000011
【手続補正書】
【提出日】平成23年2月21日(2011.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのオフラインでのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用するオフライン二要素ユーザ認証システムであって、
前記ユーザのオフラインでの認証を支援するオフライン認証支援サーバと、
前記オフライン認証支援サーバとネットワークで接続可能であるがネットワーク非接続状態であるオフラインで前記ユーザの認証を行える端末であるオフライン二要素認証クライアントと、を有し、
前記オフライン二要素認証クライアントは、
前記ユーザから前記ユーザＩＤの入力を受け付けるユーザＩＤ入力手段と、
入力された前記ユーザＩＤを前記オフライン認証支援サーバに送信するユーザＩＤ送信手段と、
を有し、
前記オフライン認証支援サーバは、
前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと前記ユーザが使用する前記オフライン二要素認証クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶するパスワード記憶部と、
前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により複数発生するパターンシード値発生手段と、
認証を受けることになるユーザのユーザＩＤを前記オフライン二要素認証クライアントから受信するユーザＩＤ受信手段と、
受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させて、受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードを複数生成する検証コード生成手段と、
発生させられた複数の前記パターンシード値を、認証を受けることになるユーザのオフライン二要素認証クライアントに送信するパターンシード値送信手段と、
生成された複数の前記検証コードを、認証を受けるユーザのオフライン二要素認証クライアントに送信する検証コード送信手段と、
を有し、
前記オフライン二要素認証クライアントは、
前記オフライン認証支援サーバから送信された複数の前記パターンシード値を受信するパターンシード値受信手段と、
受信した複数の前記パターンシード値を記憶するパターンシード値記憶部と、
前記オフライン認証支援サーバから送信された複数の前記検証コードを受信する検証コード受信手段と、
受信した複数の前記検証コードをそれと対応するパターンシード値と関連付けて記憶する検証コード記憶部と、
前記パターンシード値記憶部が記憶する複数の前記パターンシード値のうちの１つのパターンシード値を前記ユーザの認証に使用するために選択するパターンシード値選択手段と、
選択された前記パターンシード値に対応する検証コードを特定する検証コード特定手段と、
認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記クライアント識別情報を取得するクライアント識別情報取得手段と、
取得された前記クライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するパターン要素列生成手段と、
生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるパターン表示手段と、
前記ユーザから、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けるワンタイムパスワード入力手段と、
入力された前記ワンタイムパスワードに前記一方向関数演算を実施したものと特定された前記検証コードとを比較し、それらが等しい場合に前記ユーザの認証が成功したものとオフラインで判定するユーザ認証手段と、
をさらに有することを特徴とするオフライン二要素ユーザ認証システム。
【請求項２】
請求項１に記載のオフライン二要素ユーザ認証システムにおいて、
前記パスワード記憶部は、前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと前記ユーザが使用する前記オフライン二要素認証クライアントをそれぞれ識別する複数のクライアント識別情報とをお互いに関連付けてあらかじめ記憶するものであり、
前記パターンシード値発生手段は、前記複数のクライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により複数発生するものであり、
前記検証コード生成手段は、受信した前記ユーザＩＤに関連付けられた前記複数のクライアント識別情報および発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させて、受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードを複数生成するものであり、
前記クライアント識別情報取得手段は、認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記複数のクライアント識別情報を取得するものであり、
前記パターン要素列生成手段は、取得された前記複数のクライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するものであることを特徴とするオフライン二要素ユーザ認証システム
【請求項３】
請求項１に記載のオフライン二要素ユーザ認証システムにおいて、
前記パターンシード値発生手段は、前記ユーザＩＤおよび前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により複数発生するものであり、
前記検証コード生成手段は、受信した前記ユーザＩＤ、受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報、および発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させて、当該ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードを複数生成するものであり、
前記パターン要素列生成手段は、入力された前記ユーザＩＤと認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記クライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するものであるオフライン二要素ユーザ認証システム。
【請求項４】
請求項１に記載のオフライン二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記オフライン二要素認証クライアントのハードウェアに内蔵された識別情報を取得するオフライン二要素ユーザ認証システム。
【請求項５】
請求項１に記載のオフライン二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記オフライン二要素認証クライアントのＯＳのＩＤ情報を取得するオフライン二要素ユーザ認証システム。
【請求項６】
請求項１に記載のオフライン二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記オフライン二要素認証クライアントに設定されたネットワークにおけるアドレス情報を取得するオフライン二要素ユーザ認証システム。
【請求項７】
請求項１に記載のオフライン二要素ユーザ認証システムにおいて、
前記クライアント識別情報取得手段は、前記オフライン二要素認証クライアントのインターフェースを通じて外部機器の識別情報を取得するオフライン二要素ユーザ認証システム。
【請求項８】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのオフラインでのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用することによって、前記ユーザのオフラインでの認証を支援するオフライン認証支援サーバとネットワークで接続可能であるオフライン二要素認証クライアントにおいて、ネットワーク非接続状態であるオフラインで前記ユーザの認証を行うオフライン二要素ユーザ認証方法であって、
前記オフライン認証支援サーバが、前記ユーザのユーザＩＤと当該ユーザのワンタイムパスワード導出ルールと前記ユーザが使用する前記オフライン二要素認証クライアントを識別するクライアント識別情報とをお互いに関連付けてあらかじめ記憶するステップと、
前記オフライン二要素認証クライアントが、認証を受けることになるユーザのユーザＩＤの入力を受け付けるステップと、
前記オフライン二要素認証クライアントが、入力された前記ユーザＩＤを前記オフライン認証支援サーバに送信するステップと、
前記オフライン認証支援サーバが、前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値を所定の発生規則により複数発生するステップと、
前記オフライン認証支援サーバが、認証を受けることになるユーザのユーザＩＤを前記オフライン二要素認証クライアントから受信するステップと、
前記オフライン認証支援サーバが、受信した前記ユーザＩＤに関連付けられた前記クライアント識別情報および発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させて、受信した前記ユーザＩＤに関連付けられた前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に前記一方向関数演算を実施したものである検証コードを複数生成するステップと、
前記オフライン認証支援サーバが、発生させられた複数の前記パターンシード値を、認証を受けることになるユーザのオフライン二要素認証クライアントに送信するステップと、
前記オフライン認証支援サーバが、生成された複数の前記検証コードを、認証を受けることになるユーザのオフライン二要素認証クライアントに送信するステップと、
前記オフライン二要素認証クライアントが、前記オフライン認証支援サーバから送信された複数の前記パターンシード値を受信するステップと、
前記オフライン二要素認証クライアントが、受信した複数の前記パターンシード値を記憶するステップと、
前記オフライン二要素認証クライアントが、前記オフライン認証支援サーバから送信された複数の前記検証コードを受信するステップと、
前記オフライン二要素認証クライアントが、受信した複数の前記検証コードをそれと対応するパターンシード値と関連付けて記憶するステップと、
前記オフライン二要素認証クライアントが、記憶された複数の前記パターンシード値のうちの１つのパターンシード値を前記ユーザの認証に使用するために選択するステップと、
前記オフライン二要素認証クライアントが、選択された前記パターンシード値に対応する検証コードを特定するステップと、
前記オフライン二要素認証クライアントが、認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記クライアント識別情報を取得するステップと、
前記オフライン二要素認証クライアントが、取得された前記クライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するステップと、
前記オフライン二要素認証クライアントが、生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるステップと、
前記オフライン二要素認証クライアントが、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を前記ユーザから受け付けるステップと、
前記オフライン二要素認証クライアントが、入力された前記ワンタイムパスワードに前記一方向関数演算を実施したものと特定された前記検証コードとを比較し、それらが等しい場合に前記ユーザの認証が成功したものとオフラインで判定するステップと、
を有することを特徴とするオフライン二要素ユーザ認証方法。
【請求項９】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのオフラインでのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用するオフライン二要素ユーザ認証システムにおける、オフラインで前記ユーザの認証を行う端末であるオフライン二要素認証クライアントであって、
所定の発生規則によりあらかじめ複数発生させられた、前記オフライン二要素認証クライアントを識別するクライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値の入力をあらかじめ受け付けるパターンシード値入力手段と、
入力された複数の前記パターンシード値をあらかじめ記憶するパターンシード値記憶部と、
認証を受けることになるユーザのユーザＩＤに関連付けられた前記クライアント識別情報、および前記あらかじめ発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させてあらかじめ複数生成された、当該認証を受けることになるユーザに関連付けられたパスワードである前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードの入力をあらかじめ受け付ける検証コード入力手段と、
入力された複数の前記検証コードをあらかじめ記憶する検証コード記憶部と、
認証を受けようとするユーザから前記ユーザＩＤの入力を受け付けるユーザＩＤ入力手段と、
前記パターンシード値記憶部があらかじめ記憶している複数の前記パターンシード値のうちの１つのパターンシード値を前記ユーザの認証に使用するために選択するパターンシード値選択手段と、
選択された前記パターンシード値に対応する検証コードを特定する検証コード特定手段と、
認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記クライアント識別情報を取得するクライアント識別情報取得手段と、
取得された前記クライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するパターン要素列生成手段と、
生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるパターン表示手段と、
前記ユーザから、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けるワンタイムパスワード入力手段と、
入力された前記ワンタイムパスワードに前記一方向関数演算を実施したものと特定された前記検証コードとを比較し、それらが等しい場合に前記ユーザの認証が成功したものとオフラインで判定するユーザ認証手段と、
を有することを特徴とするオフライン二要素認証クライアント。
【請求項１０】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのオフラインでのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用するオフライン二要素ユーザ認証システムにおける、オフラインで前記ユーザの認証を行う端末であるオフライン二要素認証クライアントで認証を行うオフライン二要素ユーザ認証方法であって、
所定の発生規則によりあらかじめ複数発生させられた、前記オフライン二要素認証クライアントを識別するクライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値の入力をあらかじめ受け付けるステップと、
入力された複数の前記パターンシード値をあらかじめ記憶するステップと、
認証を受けることになるユーザのユーザＩＤに関連付けられた前記クライアント識別情報、および前記あらかじめ発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させてあらかじめ複数生成された、当該認証を受けることになるユーザに関連付けられたパスワードである前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードの入力をあらかじめ受け付けるステップと、
入力された複数の前記検証コードをあらかじめ記憶するステップと、
認証を受けようとするユーザから前記ユーザＩＤの入力を受け付けるステップと、
あらかじめ記憶された複数の前記パターンシード値のうちの１つのパターンシード値を前記ユーザの認証に使用するために選択するステップと、
選択された前記パターンシード値に対応する検証コードを特定するステップと、
認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記クライアント識別情報を取得するステップと、
取得された前記クライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するステップと、
生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるステップと、
前記ユーザから、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けるステップと、
入力された前記ワンタイムパスワードに前記一方向関数演算を実施したものと特定された前記検証コードとを比較し、それらが等しい場合に前記ユーザの認証が成功したものとオフラインで判定するステップと、
を有することを特徴とするオフライン二要素ユーザ認証方法。
【請求項１１】
所定パターンに配列した複数のパターン要素を認証を受けるユーザが使用するクライアントに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのオフラインでのパスワードとし、前記ユーザが使用する前記クライアントを識別する情報を前記認証のためにさらに使用するオフライン二要素ユーザ認証システムにおいて、オフラインのオフライン二要素認証クライアントにオフライン二要素ユーザ認証方法を実行させるオフライン二要素ユーザ認証プログラムであって、
前記オフライン二要素ユーザ認証方法は、
所定の発生規則によりあらかじめ複数発生させられた、前記クライアント識別情報と組み合わされて前記提示パターンをユニークに決定する値であるパターンシード値の入力をあらかじめ受け付けるステップと、
入力された複数の前記パターンシード値をあらかじめ記憶するステップと、
認証を受けることになるユーザのユーザＩＤに関連付けられた前記クライアント識別情報、および前記あらかじめ発生させられたそれぞれの前記パターンシード値に基づいて所定のパターン要素列生成規則により生成されるパターン要素列から構成される提示パターンのそれぞれに対応させてあらかじめ複数生成された、当該認証を受けることになるユーザに関連付けられたパスワードである前記ワンタイムパスワード導出ルールを前記それぞれの提示パターンに含まれるパターン要素に適用した結果に一方向関数演算を実施したものである検証コードの入力をあらかじめ受け付けるステップと、
入力された複数の前記検証コードをあらかじめ記憶するステップと、
認証を受けようとするユーザから前記ユーザＩＤの入力を受け付けるステップと、
あらかじめ記憶された複数の前記パターンシード値のうちの１つのパターンシード値を前記ユーザの認証に使用するために選択するステップと、
選択された前記パターンシード値に対応する検証コードを特定するステップと、
認証を受けようとする前記ユーザが使用している前記オフライン二要素認証クライアントを識別する前記クライアント識別情報を取得するステップと、
取得された前記クライアント識別情報と選択された前記パターンシード値とに基づいて、前記所定のパターン要素列生成規則によりパターン要素列を生成するステップと、
生成された前記パターン要素列に含まれるそれぞれのパターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるステップと、
前記ユーザから、前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードの入力を受け付けるステップと、
入力された前記ワンタイムパスワードに前記一方向関数演算を実施したものと特定された前記検証コードとを比較し、それらが等しい場合に前記ユーザの認証が成功したものとオフラインで判定するステップと、
を有することを特徴とするオフライン二要素ユーザ認証プログラム。
【請求項１２】
請求項１１に記載のオフライン二要素ユーザ認証プログラムにおいて、
当該オフラインユーザ認証プログラムは、ＯＳの起動時に当該ＯＳの設定により呼び出されるログオン認証プログラムの形態であるオフライン二要素ユーザ認証プログラム。
【国際調査報告】
2012046303.tif 000012
2012046303.tif 000013
2012046303.tif 000014
2012046303.tif 000015