次に、本発明の実施の形態について、図面を参照しつつ説明する。以下の各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
[第1の実施形態]
図1は、本実施形態に係るユーザ認証方法の全体スキームを説明するための概略図である。同図に示すように、利用対象システム11は、通信回線を介して認証サーバ12に接続されている。ここでは、利用対象システム11が、インターネットを介して認証サーバ12に接続されている例を示している。利用対象システム11は、ユーザの利用に際して、ユーザ認証を要求するシステムである。利用対象システム11は、後述するユーザ認証処理により正当であると判断されたユーザに対して利用を許可する。利用対象システム11の適用例としては、典型的には、セキュリティルームの鍵開閉システムやクレジットカード決済端末装置があげられるが、仮想空間として実現されるようなインターネット上の会員向けのサイトであってもよい。
このような利用対象システム11は、固有のシステムID(システム識別情報)を内部のROMに記憶している。また、利用対象システム11は、ユーザに対話的な操作環境を提供するためのユーザインターフェースを備えていることが好ましい。ユーザインターフェースは、例えば、テンキーと、それに対応したディスプレイとによって構成される。利用対象システム11は、ユーザインターフェースを介して、ユーザから「利用開始」の指示を受け付けて、ユーザにシステムIDを提示し、また、ユーザからパスワードの入力を受け付けて、ユーザ認証の結果を提示する。
無線端末装置13は、無線通信機能を備えた携帯型の情報端末装置であり、典型的には、携帯電話機やPDAが相当する。ここでは、携帯電話機を例にして説明する。携帯電話機13は、パケット通信網からゲートウェイを介してインターネット上のさまざまなノード(例えば認証サーバ12)に接続することができる。この携帯電話機13は、利用対象システム11の利用に際して、ユーザ認証に必要なパスワードを導き出すための参照情報をユーザに提供するために用いられる。
認証サーバ12は、利用対象システム11を利用しようとするユーザに対する認証を行って、その認証結果を利用対象システム11に通知する。認証サーバ12は、ユーザから予め受け付けた、ユーザ認証に必要な登録データを管理する認証データベース14を備えている。認証データベース14は、利用対象システム11を利用可能なユーザに関する情報と、そのユーザによって登録されたある種のパスワード導出ルールに関する情報とを登録データとして管理している。パスワード導出ルールに関する情報とは、パスワード導出パターンおよび変換法則として後述される。認証サーバ12には、ユーザから登録データをオンラインで受け付けるため、Webサーバ機能が実装されている。
認証サーバ12および認証データベース14は、典型的には、汎用のコンピュータシステムによって実現することができる。認証サーバ12は、通信回線を介して個々の利用対象システム11と通信可能なように接続されている。この場合、セキュアな通信が確保されることが好ましい。本実施形態のように、インターネットを介して利用対象システム11と認証サーバ12とが接続される場合には、SSL通信等のセキュリティ通信技術を適用することによって、実用的にセキュアな通信を確保することができる。なお、インターネットを介するのではなく、これらは専用回線により接続されてもよい。
パーソナルコンピュータ15は、ユーザが認証データベース14にパスワード導出パターンを登録するために用いる端末装置である。このパーソナルコンピュータ15はインターネットに接続可能に構成され、Webクライアント機能が実装されている。ユーザは、ユーザ認証に必要な登録データを認証データベース14に登録するために、Webブラウザを用いて認証サーバ12にアクセスする。
なお、ユーザが認証データベース14にパスワード導出パターンを登録するために、パーソナルコンピュータ15の代わりに、携帯電話機13を用いることもできる。本実施形態で、パーソナルコンピュータ15を採用している主な理由は、一般に、携帯電話機13よりもパーソナルコンピュータ15の方がユーザインターフェースの点で機能的に優れているからである。携帯電話機13のユーザインターフェースを用いてパスワード導出パターンを登録する例は、他の実施形態で説明される。
パスワード導出パターンとは、ある全体パターンを構成する要素群の中から、ユーザによって任意に選択された特定の要素群を示したものである。より具体的に説明すれば、全体パターンであるマトリックス中のどの要素群がどのように選択されたかを示した配列パターンないしは配列規則である。ここで注意すべきことは、パスワード導出パターンは、全体パターン中の特定の要素に割り当てられた具体的な値そのものをいうのではなく、あくまでもどの要素をどのように選択したかという情報を表しているにすぎないということである。
図2は、パスワード導出パターンを説明するための図である。図2(a)は、4行12列のマトリックスが全体パターンである例を示す図である。図2において、選択された要素にハッチングがなされ、また、選択された順番にその要素内に数字が付されている。従って、この場合のパスワード導出パターンは、マトリックス表現を用いれば、“(3,2)−(0,5)−(3,7)−(0,10)”と表すことができる。
図2(b)は、4行4列のマトリックスが全体パターンである例を示す図である。この場合のパスワード導出パターンは、マトリックス表現を用いれば、“(0,0)−(1,2)−(2,1)−(3,2)”と表すことができる。
パスワード導出パターンは、利用対象システム11に対するユーザ認証を行うために用いられ、そのためユーザが記憶すべきものである。その意味で、パスワード導出パターンは、ある種のパスワードということができる。パスワード導出パターンを構成する要素の数、配列は任意であり、ユーザ認証におけるセキュリティレベルに応じて適宜設定される。
パスワードがJ桁の数字列である場合、全体パターンは、以下の条件を満たすようなK行L列のマトリックスであることが好ましい。
10^J < (K*L)*(K*L−1)・・(K*L−J+1)
・・・式(1)
従来の認証方法では、パスワードがJ桁の数字列である場合、パスワードの組み合わせは、10のJ乗通りある。一方、本実施形態における認証方法によれば、全体パターンがK行L列のマトリックスである場合、パスワード導出パターンの組み合わせは、(K*L)*(K*L−1)・・(K*L−J+1)通りある。従って、上記(1)式を満たすように全体パターンを構成することにより、従来の認証方法より組み合わせ数を増やし、セキュリティレベルを上げることができる。すなわち、本実施形態によれば、利用対象システム11に対して入力すべきパスワードの桁数が、従来の認証方法と同じ場合であっても、マトリックスの構成を変えるだけで、従来の認証方法よりもセキュリティレベルを容易に上げることができる。
図1に戻り、本実施形態に係るユーザ認証方法の処理の流れを概略的に説明する。
まず、ユーザは、パーソナルコンピュータ15を用いて、利用対象システム11に対する自身のパスワード導出パターンを認証データベース14に予め登録しておく(図中(1))。ユーザは、利用対象システム11を実際に利用しようとする場合、そのシステムIDを取得するため、利用対象システム11のユーザインターフェースを操作して、システムIDを表示させる(図中(2))。
次に、ユーザは、そのシステムIDを携帯電話機13に入力し、認証サーバ12に送信する(図中(3))。認証サーバ12は、これを受けて、乱数表を生成し、これを提示用パターンとしてユーザの携帯電話機13に送信する(図中(4))。ユーザは、携帯電話機13上に表示される提示用パターンを参照して、利用対象システム11に対して、自身のパスワード導出パターンに割り当てられた要素値のシーケンス(数字列)をパスワードとして入力する。これにより、利用対象システム11は認証サーバ12にパスワードを送信する(図中(5))。
認証サーバ12は、利用対象システム11からパスワードを受け付けると、すでに登録してあるそのユーザのパスワード導出パターンと生成した提示用パターンとから得られる数字列と、利用対象システム11から送信されたパスワードとを比較して、これらが一致しているか否かを判断する。認証サーバ12は、一致していると判断する場合には認証成功の通知を、そうでない場合には認証失敗の通知を、システムIDで示される利用対象システム11に送信する(図中(6))。利用対象システム11は、認証サーバ12から認証成功の通知を受け付けると、そのユーザに対する利用を許可する。
このように、ユーザが入力すべきパスワードは、ユーザ認証の都度、生成された乱数表から、予め登録しておいたパスワード導出パターンに従って決定される一過性のものである。従って、仮に、入力したパスワードが第三者に漏洩したとしても、そのパスワード自体は、次回のユーザ認証においては全く意味をなさないため、不正アクセスは有効に防止されることになる。また、ユーザが記憶すべきこのようなパスワード導出パターンは、従来のような「具体的な数字」でなく、パターンという「概念的・図形的なもの」であり、従って、ユーザにとって覚えやすく、忘れにくいという特質を有し、パスワード管理に適したものである。
次に、ユーザ認証に用いられる登録データについて説明する。ユーザが利用対象システム11を利用するためには、その利用に先立って、ユーザはその利用対象システム11に対するユーザアカウント(ユーザ名)を取得するとともに、そのユーザ名に対するパスワード導出パターンを登録しなければならない。このため、認証データベース14は、どの利用対象システム11がどのようなユーザに利用権限を与え、利用権限が与えられた個々のユーザがどのようなパスワード導出ルールを登録しているかを登録データとして管理している。
利用対象システム11に対するユーザアカウントの登録においては、典型的には、利用対象システム11の管理者がユーザからの申請を受けて行う形態と、ユーザ自身が行う形態とが考えられる。どのような形態でユーザアカウントを登録するかは、その利用対象システム11の運用ポリシーに応じて適宜に採用することができ、また、その実現手段は、既存のさまざまな技術を適用することができる。以下では、利用対象システム11に対するユーザアカウントについては、その管理者によって認証データベース14に登録されたものとして、ユーザによるパスワード導出パターンの登録手順について説明する。
図3は、パーソナルコンピュータ15上に表示されたパスワード導出パターン登録画面の一例を示している。このような登録画面は、HTML等のページ記述言語に従って記述されるページデータにより構成される。ユーザは、Webブラウザを操作して認証サーバ12にアクセスすることで、パーソナルコンピュータ15上にこのような登録画面を表示させる。例えば、利用対象システム11に対するユーザアカウントを登録した時点で、管理者はこのような登録画面を構成するページデータのURLを含むメールコンテンツを、そのユーザのメールアドレスに対してメールで送信し、これを受信したユーザがそのメールコンテンツ中のURLを選択するという方法で、このような登録画面をユーザに提供する。
同図において、ユーザ名入力フィールド31は、利用対象システム11を利用するユーザの名前(ユーザアカウント)を入力するためのフィールドである。ユーザアカウントは、管理者においてすでに登録されているので、ユーザに改めて入力させるのでなく、ユーザ名入力フィールド31に予め埋め込まれるように構成してもよい。
グループ名入力フィールド32は、そのユーザが属するグループの名前を入力するためのフィールドである。ただし、本実施形態では、説明を簡単にするため、グループ名の入力は要しないものとする。
携帯電話番号入力フィールド33は、利用対象システム11の利用に際してユーザ認証に用いる携帯電話機13を特定するための個体識別情報を入力するためのフィールドである。本実施形態では、ユーザが所有する携帯電話機13に割り当てられた携帯電話番号をそのまま用いるものとする。なお、この携帯電話番号についても、管理者において登録し、携帯電話番号入力フィールド33に予め埋め込まれるように構成してもよい。
全体パターン34は、4行12列のマトリックス状に配置された48個の要素群としてのボタンオブジェクトによって構成されている。それぞれの要素には、個々の要素を識別するために、要素名として1から48の一連の番号が付されている。
位置指定入力フィールド35は、全体パターン34の中から選択される1以上の特定の要素をその要素名で指定して入力するためのフィールドである。本例では、要素“1”,“17”,“33”および“48”が入力されている。複数の要素が入力される場合には、個々の要素はデリミタ(例えばカンマ)で区切られるものとする。また、同じ要素の入力がされてもよい。ここで、入力された要素のシーケンスがパスワード導出パターンとなる。要素のシーケンスには、ダミー“*”を含めることができる。ユーザがダミー“*”を入力した場合、任意の文字の設定要求として扱われる。これは、以下に示す変換法則とともに、パスワード導出パターンが第三者に類推されるのを防止するためのものである。つまり、パスワード導出パターンは、ユーザにとって覚えやすいパターンになる傾向があるため、実際のパスワードを構成する文字の間に無意味な文字を挿入することによって類推を防止している。例えば、最初の4要素分をダミーとした8要素からなるシーケンスでは、ユーザは最初の4桁については無意味な数字を入力することができる。なお、ユーザが、位置指定入力フィールド35に“F”のみを入力した場合、これは固定パスワードの設定要求として扱われ、この場合には、固定パスワード入力フィールド37に所定桁の数字を入力する。
変換法則入力フィールド36は、ユーザが提示用パターンを参照して実際にパスワードを入力する際に、パスワード導出パターンから導き出される要素値に対してさらに変換法則を与えることを希望する場合に、その変換法則を入力するためのフィールドである。つまり、パスワード導出パターンから導き出される要素値に対してさらに変換法則を施して得られた結果が入力すべき真のパスワードになる。変換法則には、例えば、パスワード導出パターンから導き出される要素値に対する四則演算操作が定義されている。より具体的には、この変換法則入力フィールド36に、単に“+1”と入力した場合、パスワード導出パターンから導き出される要素値に対してそれぞれ1を加算した結果が、ユーザが入力すべき真のパスワードとなる。また、この変換法則入力フィールド36に、“+1,+2,+3,+4”というようにカンマで区切って、位置指定入力フィールド35に入力された要素のシーケンスに対応するように演算式を入力した場合、パスワード導出パターンから導き出されるそれぞれの要素値に対してそれぞれの演算式を施した結果が、ユーザが入力すべき真のパスワードとなる。
なお、入力した演算式によっては、要素値に演算を施した結果、繰り上がり(または繰り下がり)が生じる場合がある。このような場合には、1の位を採用するというように定義しておけば、パスワードの桁数(文字数)が変動することなく、固定長にすることができる。また、要素値に演算を施した結果をそのまま用いるというように定義して、可変長のパスワードにすることもできる。
このような登録画面において、ユーザは、キーボードを用いて直接的に要素(要素名)をカンマで区切りながら順番に入力してもよいが、標準的なグラフィカルユーザインターフェースを用いることによっても、同様に、入力することができる。このようなグラフィカルユーザインターフェースでは、ユーザが、所望の要素にマウスカーソルを当てて、その上で選択(クリック)すると、位置指定入力フィールド35にその要素がデリミタで区切られて表示される。選択された要素は、例えば、画面上、視覚的に区別して表示されることが好ましい。
なお、候補ボタン38は、選択すべき要素のシーケンスを自動的に生成させるためのものである。すなわち、ユーザがこの候補ボタン38にマウスカーソルを当てて、その上で選択すると、例えば予め登録された要素のシーケンスを位置指定入力フィールド35にランダムに入力、表示する。これは、ユーザがパスワード導出パターンを設定する場合、隣り合った要素ボタンを選択する傾向があり、類推されやすいため、このような状況を回避すべく、補助的に設けられている。
ユーザが所定の入力フィールドに必要な情報を入力した後、設定の確認ボタン39を選択すると、Webブラウザは、入力された情報を含んだ登録要求を認証サーバ12に送信する。認証サーバ12は、受信した登録要求に基づいて、ユーザのパスワード導出パターンを登録データとして仮登録して、設定の確認画面をWebブラウザに表示させる。
設定の確認画面は、ユーザが設定したパスワード導出パターンに従ってユーザに実際にパスワードを入力させることで、パスワード導出パターンを確認させる画面である。図4は、パーソナルコンピュータ15上に表示された設定の確認画面の一例を示している。ただし、パーソナルコンピュータ15の代わりに、ユーザの携帯電話機13上に設定の確認画面を表示させて、そこから設定の確認を行わせるようにしてもよい。この場合には、利用対象システム11の利用に際してユーザが使用する携帯電話機13を併せて確認することができる。
同図に示すように、設定の確認画面には、認証サーバ12によって生成された、全体パターン34の要素群のそれぞれにランダムな数字を割り当てた提示用パターン41が表示される。ユーザは、提示用パターンのうち、先に設定したパスワード導出パターンに対応する要素に割り当てられた数字(要素値)をパスワード入力フィールド42にパスワードとして入力する。ユーザがパスワード入力フィールド42にパスワードを入力した後、Goボタン43を選択すると、Webブラウザは、入力されたパスワードを含んだ確認要求を認証サーバ12に送信する。認証サーバ12は、受信した確認要求に含まれるパスワードが、生成した提示用パターンと先に仮登録したパスワード導出パターンとから導き出される数字列に一致するか否かを判断し、一致する場合には、認証データベース14にユーザのパスワード導出パターンを登録データとして正式に登録する。
なお、認証サーバ12は、パーソナルコンピュータ15を用いたこのようなパスワード導出パターンの登録手続きにおいて、ユーザが所有する携帯電話機13を確認するため、受け付けた携帯電話番号に対して、所定のメッセージを送信し、ユーザにそのメッセージに対する返信を要求することが好ましい。
図5は、認証データベース14のデータ構造の一例を示す図である。同図に示すように、認証データベース14における1つのレコードは、システムIDフィールド51と、ユーザアカウントフィールド52と、ユーザIDフィールド53と、パスワード導出パターンフィールド54および変換法則フィールド55とから構成されている。本例では、ユーザ“ogawa”は、システムID“36578979”および“36578980”で示されるそれぞれの利用対象システム11に利用可能なユーザとして登録されている。また、ユーザ“ogawa”がユーザ認証に用いる携帯電話機13として、ユーザID“090xxxx1234”で示される携帯電話機13が設定されている。さらに、システムID“36578979”で示される利用対象システム11に登録されたユーザ“ogawa”のパスワード導出パターンとして、“1,17,33,48”が設定され、変換法則には“+1”が設定されている。
次に、利用対象システム11の利用の際のユーザ認証方法の処理の流れの詳細について説明する。ユーザは、利用対象システム11を実際に利用しようとする場合、そのシステムIDを取得するため、利用対象システム11のユーザインターフェースを操作して、システムIDを表示させる。例えば、利用対象システム11のユーザインターフェースには「利用開始」ボタンが設けられており、ユーザがその「利用開始」ボタンを操作すると、利用対象システム11は、ユーザインターフェースに図6に示すような受付画面を表示して、ユーザにシステムIDを提示するとともに、ユーザIDの入力をユーザに促す。
ユーザは、携帯電話機13を操作して、いわゆるブックマークとして登録されているURLを指定し、認証サーバ12にアクセスして、図7に示すようなメニュー画面を表示させた後、認証手続開始を選択し、図8に示すような認証手続開始画面を表示させる。ユーザは、この認証手続開始画面に対してシステムIDを入力し、「OK」ボタンを選択する。なお、本実施形態のように、固定のシステムIDが利用される場合には、入力されるシステムIDを携帯電話機13に登録できるように構成してもよい。
これにより、携帯電話機13は、システムIDをパラメータに含む認証手続開始メッセージを認証サーバ12に送信する。このとき、携帯電話機13は、ユーザを識別するユーザ識別情報の一例であるユーザIDを認証サーバ12に送信する。ユーザIDは、ユーザ自身を識別する情報であってもよく、また、ユーザが所有又は使用する、例えば携帯電話などの端末を識別する情報であってもよい。本実施形態において、携帯電話機13は、当該携帯電話機13を識別する情報の一例である携帯電話番号をユーザIDとして、認証サーバ12に送信する。ユーザIDは、認証手続開始メッセージにパラメータとして含めて送信してもよいし、システムレベルで送信するようにしてもよい。
図9および図14は、本実施形態に係る認証サーバ12における処理の流れを説明するためのフローチャートである。以下のフローチャートでは、処理の流れをシーケンシャルに説明しているが、特にこれにこだわるものではない。従って、処理の動作・結果に矛盾が生じない限り、処理の順序を入れ替えまたは並行処理するように構成しても良い。
図9に示すように、認証サーバ12は、携帯電話機13が送信した認証手続開始メッセージを受け付けると、そこからシステムIDおよびユーザIDを抽出する(STEP901)。続いて、認証サーバ12は、抽出したシステムIDで示される利用対象システム11からのユーザ認証要求待ちのため、イベントIDを発行して、図10に示すようなユーザ認証要求待ちテーブルに、抽出したシステムIDおよびユーザIDを登録し、図14に示す処理を実行するためのプロセスを起動する(STEP902)。ユーザ認証要求待ちテーブルは、例えば、認証データベース14に登録される。
次に、認証サーバ12は、所定の乱数発生関数を呼び出して、ランダムな数字を発生させて提示用パターンを生成する(STEP903)。提示用パターンは、セキュリティリスクを考慮すれば、ユーザ認証の都度、毎回、その要素値が異なる乱数表のようなものが好ましいが、要素値が固定的なものであってもよく、それが排除される趣旨のものではない。認証サーバ12は、提示用パターンを生成すると、これを上述したユーザ認証要求待ちテーブルに登録し(STEP904)、ユーザIDとともに携帯電話機13に送信する(STEP905)。これにより、携帯電話機13は、図11に示すような乱数表提示画面を表示する。
ユーザは、携帯電話機13にこのような乱数表提示画面が表示されると、図6に示した利用対象システム11の受付画面に対して、ユーザIDを入力する。図12は、ユーザIDが入力された状態の受付画面を示しており、ユーザがエンターキーを押下すると、利用対象システム11は、図13に示すようなパスワード入力画面を表示する。これに対して、ユーザは、すでに登録しておいたパスワード導出パターンから導き出されるパスワードを入力する。例えば、ユーザのパスワード導出パターンは、図3に示したパスワード導出パターン登録画面で登録されたパスワード導出パターンであるとする。この場合、図11に示された乱数表提示画面によれば、“5910”が導き出され、これにさらに変換法則“+1”を適用することによって、パスワードは“6021”が導き出される。このようにして導き出したパスワードをユーザが入力し、エンターキーを押下すると、利用対象システム11は入力されたパスワード(以下、「入力パスワード」という。)を自身のシステムIDとともにユーザ認証要求として認証サーバ12に送信する。
利用対象システム11から送信されるパスワードは、図14に示すフローチャートに従って、認証サーバ12によりユーザ認証が行われる。すなわち、ユーザ認証要求待ちの状態の認証サーバ12は、利用対象システム11からユーザ認証要求を受け付けると(STEP1401のYes)、図10に示したユーザ認証要求待ちテーブルを参照して、ユーザIDを特定する(STEP1402)。ユーザ認証要求待ちテーブルに対する登録は、携帯電話機13からの認証手続開始メッセージが必要であるため、ここに登録されていない利用対象システム11からのユーザ認証要求は、不正なものとして排除することができる。認証サーバ12は、ユーザIDを特定すると、認証データベース14を参照し、そのユーザIDに対するパスワード導出パターンおよび変換法則を特定する(STEP1403)。続いて、認証サーバ12は、特定したパスワード導出パターンおよび変換法則に基づいて、ユーザ認証要求待ちテーブルに登録されている提示用パターンからパスワード(以下、「システム内パスワード」という。)を導き出す(STEP1404)。具体的には、認証サーバ12は、提示用パターンを構成する要素群について、パスワード導出パターンを構成している要素のシーケンスに対応する要素値を取得し、さらに、変換法則が定義されていれば、その要素値に対して変換法則を適用して、システム内パスワードを導き出す。次に、認証サーバ12は、送信されてきた入力パスワードとシステム内パスワードとが一致しているか否かの判断を行う(STEP1405)。そして、認証サーバ12は、これらが一致していると判断する場合には、システムIDで示される利用対象システム11に認証成功である旨を通知する一方(STEP1406)、一致していないと判断する場合には、認証失敗である旨を通知する(STEP1407)。利用対象システム11は、認証サーバ12から通知される認証結果に基づいて、それに応じた処理を行う。
以上のように、本実施形態によれば、以下のような利点を奏する。すなわち、ユーザが利用対象システム11を利用する際に入力すべきパスワードは、ユーザ認証の都度、毎回、ランダムに生成される提示用パターンから、予め登録しておいたパスワード導出パターンに従って決定される一過性のものである。従って、仮に、ユーザが入力したパスワードが第三者に漏洩したとしても、そのパスワード自体は、次回のユーザ認証においては全く意味をなさないため、不正なアクセスを効果的に防止することができるようになる。この場合、ユーザは、従来のような「具体的な数字」でなく、パスワード導出パターンという「概念的・図形的なもの」を「パスワード」として記憶すればよいため、覚えやすく、忘れにくくなり、パスワード管理が容易になる。
また、ユーザは、このようなパスワード導出パターンに対して変換法則を与えることができるため、より高いセキュリティを追求することができるようになる。
さらに、認証サーバ12は、ユーザの携帯電話機13からの認証手続開始メッセージを受け付けることで、そこで指定された利用対象システム11からのユーザ認証要求を受け付けることになるので、利用対象システム11単体からの不正なアクセスを排除することができるようになる。
なお、本実施形態では、利用対象システム11は、そのユーザインターフェース上に受付画面(図6)を提示して、ユーザにユーザIDの入力を促すように構成したが、特にこれにこだわるものでない。例えば、利用対象システム11は、認証サーバ12に対して利用可能なユーザの一覧情報を取得して、それをプルダウンメニュー形式でユーザに提示し、入力を促すように構成してもよい。
また、本実施形態において、システムIDは、利用対象システム11に固有のシステムID(固有システムID)としているが、システムIDは、複数の利用対象システム11に共通する共通システムIDであってもよい。すなわち、複数の利用対象システム11が、同一のシステムIDを有してもよい。これにより、利用対象システム11は、当該利用対象システム11の固有システムIDを、後述する認証データベース14に登録することなく、共通システムIDを用いて認証サーバ12に対して認証要求することができるため、ユーザ認証システムを簡易に利用することができる。
認証サーバ12は、利用対象システム11が共通システムIDを用いて認証要求した場合、当該利用対象システム11に、固有システムIDを有する利用対象システム11に対するサービスと異なるサービスを提供してもよい。これにより、認証サーバ12は、固有システムIDを用いて認証要求した利用対象システム11に対しては、ユーザの個人情報を送信するが、共通システムIDを用いて認証要求をした利用対象システム11に対しては、ユーザの個人情報を送信しないなど、固有システムIDを利用する利用対象システム11と、共通システムIDを利用する利用対象システム11との間に提供するサービスに差を設けることができる。
[第2の実施形態]
本実施形態は、第1の実施形態の変形であり、ユーザ認証のためのパスワードを、利用対象システム11に代えて、携帯電話機13から入力することを特徴としている。また、本実施形態では、固定的なシステムIDに代えて、利用対象システム11の利用の都度、新たに生成した利用IDを用いた例を併せて説明する。
図15は、本実施形態に係るユーザ認証方法の全体スキームを説明するための概略図である。
まず、ユーザは、パーソナルコンピュータ15を用いて、利用対象システム11に対する自身のパスワード導出パターンを認証データベース14に予め登録しておく(図中(1))。ユーザは、利用対象システム11を実際に利用しようとする場合、その利用IDを取得するため、利用対象システム11のユーザインターフェースを操作して、利用IDを表示させる(図中(2))。利用対象システム11は、例えば、操作された時刻情報を取得して、これを乱数発生関数に与えて、ランダムに利用IDを生成し、表示する。このとき、利用対象システム11は、生成した利用IDを自身のシステムIDとともに認証サーバ12に送信する(図中(3))。
次に、ユーザは、その利用IDを携帯電話機13に入力し、認証サーバ12に送信する(図中(4))。認証サーバ12は、これを受けて、利用対象システム11を特定するとともに、乱数表を生成し、これを提示用パターンとしてユーザの携帯電話機13に送信する(図中(5))。ユーザは、携帯電話機13上に表示される提示用パターンを参照して、自身のパスワード導出パターンに割り当てられた要素値のシーケンス(数字列)をパスワードとして入力する。これにより、携帯電話機13から認証サーバ12にパスワードが送信される(図中(6))。
認証サーバ12は、これを受けて、先に登録してあるユーザのパスワード導出パターンと生成した提示用パターンとから得られる数字列と、携帯電話機13から送信された数字列とを比較して、これらが一致しているか否かを判断する。認証サーバ12は、一致していると判断する場合には認証成功の通知を、そうでない場合には認証失敗の通知を、特定した利用対象システム11に送信する(図中(7))。利用対象システム11は、認証サーバ12から認証成功の通知を受け付けると、そのユーザに対してアクセスを許可する。
以上のように、本実施形態によれば、第1の実施形態と同様の利点を奏するとともに、さらに以下の利点を奏する。すなわち、利用対象システム11からパスワードを入力する必要がないので、利用対象システム11のユーザインターフェースをシンプルな構成にすることができるようになる。また、利用対象システム11の利用の都度、毎回新たな利用IDを生成しているので、この利用IDが漏洩しても何ら問題なく、より高いセキュリティを追求することができる。
[第3の実施形態]
本実施形態は、携帯電話機13を用いたパスワード導出パターンの登録方法に関するものであり、認証サーバ12がパスワード導出パターンの候補を携帯電話機13に提示し、提示されたパスワード導出パターンの候補の中からユーザが選択することを特徴としている。
図16は、携帯電話機13上に表示されたパスワード導出パターン登録画面の一例を示している。上記実施形態と同様に、例えば、利用対象システム11に対するユーザアカウントが登録された時点で、認証サーバ12は、この登録画面を構成するページデータのURLを含むメールコンテンツをユーザの携帯電話機13に対してメールで送信し、これを受信したユーザが携帯電話機13上に表示されたメールコンテンツ中のURLを選択することにより、このような登録画面をユーザの携帯電話機13に提供する。
すなわち、認証サーバ12は、ユーザの携帯電話機13からパスワード導出パターンの登録手続要求を受け付けると、予め登録されたパスワード導出パターン群の中から一のパスワード導出パターンを登録候補として選択し、これを携帯電話機13に送信する。これにより、ユーザの携帯電話機13には、同図(a)に示すようなパスワード導出パターン候補を含む登録画面が表示される。ユーザは、この登録画面に表示されたパスワード導出パターン候補を自身のパスワード導出パターンとして登録しようとする場合には、「登録」ボタン161を選択し、一方、他のパスワード導出パターン候補を参照したい場合には、「次」ボタン162を選択する。ユーザが「次」ボタン162を選択した場合、認証サーバ12は、他の候補ボタン候補を携帯電話機13に送信し、携帯電話機13上には同図(b)に示すように他のパスワード導出パターン候補を含む登録画面が表示される。なお、前のパスワード導出パターン候補がある場合に、ユーザは、それを参照したい場合には、「戻る」ボタン163を選択する。
例えば、同図(b)に示した登録画面において、ユーザが「登録」ボタン161を選択した場合、携帯電話機13は、登録要求を認証サーバ12に送信する。認証サーバ12は、受信した登録要求に基づいて、認証データベース14にユーザのパスワード導出パターンを登録データとして仮登録して、設定の確認画面を携帯電話機13に送信する。図17は、このときの設定の確認画面の一例を示す図である。ユーザは、この設定の確認画面に対して、先に設定したパスワード導出パターンに対応する要素に割り当てられた数字(要素値)をパスワード入力フィールド171に入力した後、「OK」ボタン172を選択する。これにより、携帯電話機13は、入力されたパスワードを含んだ確認要求を認証サーバ12に送信する。認証サーバ12は、受信した確認要求に含まれるパスワードが、生成した提示用パターンと先に仮登録したパスワード導出パターンとから導き出される数字列に一致するか否かを判断し、一致する場合には、認証データベース14にユーザのパスワード導出パターンを登録データとして正式に登録し、登録が完了した旨を携帯電話機13に送信する。
以上のように、本実施形態によれば、認証サーバ12から提示されるパスワード導出パターン候補の中から所望のパスワード導出パターンを選択するので、携帯電話機13のようにユーザインターフェースが十分でない場合であっても、きわめて簡単に、パスワード導出パターンを登録することができる。また、認証サーバ12がパスワード導出パターン候補を提示することによって、隣り合った要素を選択するというような、類推されやすいパスワード導出パターンをユーザがパスワード導出パターンを登録してしまうという事態を回避することができるようになる。
[第4の実施形態]
本実施形態は、携帯電話機13を用いたパスワード導出パターンの登録方法に関するものであり、提示される提示用パターンに対して、ユーザが意図したパスワード導出パターンに対応する要素値の入力を繰り返すことによって、そのパスワード導出パターンを特定していくことを特徴としている。
図18は、本実施形態に係るパスワード導出パターンの登録方法の処理の流れを説明するためのフローチャートである。このような処理は、携帯電話機13と認証サーバ12とによるクライアント/サーバモデルにおけるそれぞれのプログラムによって実現することができるが、本実施形態では、このような処理を実現するための所定のプログラムを含むページデータを認証サーバ12から携帯電話機13に送信し、携帯電話機13においてこれを実行することにより実現している。
上記実施形態と同様に、例えば、利用対象システム11に対するユーザアカウントが登録された時点で、認証サーバ12は、この登録画面を構成するページデータのURLを含むメールコンテンツをユーザの携帯電話機13に対してメールで送信し、これを受信したユーザが携帯電話機13上に表示されたメールコンテンツ中のURLを選択する。これにより、認証サーバ12は、所定のプログラムを含むページデータを携帯電話機13に送信する。
ページデータを受信した携帯電話機13は、そのページデータを解釈して、そこに含まれる所定のプログラムに従って図18に示す処理を実行し、登録画面を表示する。すなわち、携帯電話機13は、まず、全体パターン34の要素群のすべてに対して、乱数発生関数により発生させた乱数をそれぞれ割り当てて提示用パターンを生成し、他の画面要素と相まってパスワード導出パターン登録画面として表示して、ユーザに入力を促す(STEP1801)。ユーザは、この登録画面に対して、登録しようとするパスワード導出パターンの要素に割り当てられた数字を入力する。携帯電話機13は、ユーザから要素のシーケンスを受け付けると(STEP1802)、提示した提示用パターンのうち、入力された要素値を持つ要素を該当要素として抽出し、その数を保持しておく(STEP1803)。次に、携帯電話機13、抽出した該当要素の数が入力された要素数と等しいか否かを判断し(STEP1804)、等しくないと判断する場合には、要素の絞り込みを行うため、全体パターン34中の該当要素のみに乱数を割り当てて提示用パターンを生成し、同様に、登録画面として表示して、ユーザに入力を促す(STEP1805)。一方、抽出した該当要素の数が入力された要素数と等しいと判断する場合、携帯電話機は、要素の絞り込みができたものとして、登録確認画面を提示して、ユーザに確認を促す(STEP1806)。そして、ユーザによって例えば「OK」ボタンが選択された場合には(STEP1807のYes)、携帯電話機13は、要素のシーケンスをパスワード導出パターンとして登録するため、登録要求を認証サーバ12に送信し(STEP1806)、処理を終了する。
このようにして、登録しようとするパスワード導出パターンに対応する要素値の入力を繰り返すことによって提示用パターンの要素を絞り込んでいき、ユーザが意図しているパスワード導出パターンを特定する。
図19および図20は、パスワード導出パターンの登録方法を説明する画面例である。まず、図19(a)に示す画面が携帯電話機13上に表示されたとする。ここで、この画20面に対して、ユーザが“9893”と入力すると、携帯電話機13は、入力された要素のシーケンスに基づいて、新たな提示用パターンを生成する。すなわち、携帯電話機13は、先の提示用パターンの各要素のうち、その値が“9”,“8”または“3”であった要素を該当要素として抽出するが、この場合、該当要素の数は入力した要素の数にまで絞り込まれていないので、携帯電話機13は、該当要素に乱数を割り当てた新たな提示用パターンを生成し、図19(b)に示すような登録画面を表示する。
ユーザは、この画面に対して、登録しようとするパスワード導出パターンの要素に割り当てられた数字を、再度、入力して、該当要素を絞り込む作業を行う。この場合、ユーザが入力すべき数字は“6541”となる。携帯電話機13は、該当要素を絞り込むことができない場合には、新たな提示用パターンを生成し、図19(c)に示すような登録画面を表示し、ユーザに入力を促す。そこで、ユーザは、この画面に対して、登録しようとするパスワード導出パターンの要素に割り当てられた数字“8501”を入力する。
この入力によって、携帯電話機13は、該当要素を絞り込むことができたため、図20に示すような登録確認画面を提示して、ユーザに確認を促す(STEP1806)。この5画面に対して、ユーザが「OK」ボタン201を選択すると、携帯電話機13は、要素のシーケンスをパスワード導出パターンとして認証サーバ12に送信する。一方、ユーザが「やり直し」ボタン202を選択すると、携帯電話機13は、パスワード導出パターンの登録処理を最初からやり直す。
以上のように、本実施形態によれば、提示用パターンの提示と、登録しようとするパスワード導出パターンに対応する要素値の入力とを繰り返すことによって、提示用パターンの要素を絞り込んでいくことができるので、ユーザが意図しているパスワード導出パターンを特定することができるようになる。従って、携帯電話機13のようにユーザインターフェースが十分でない場合であっても、きわめて簡単に、パスワード導出パターンを登録することができる。
また、本実施形態によれば、パスワード導出パターンの登録操作は、実際のパスワードの入力操作と同じ手順で行われるので、パスワード入力の練習を兼ねることができ、ユーザにパスワード導出パターンを早く、確実に覚えさせることができる。
なお、本実施形態では、ランダムに提示用パターンを生成して、ユーザが意図している該当要素を絞り込むようにしているため、生成された提示用パターンの組み合わせによっては3回以上の絞り込み作業を要する場合がある。このような事態を避けるため、2回の絞り込み作業で必ず完了する固定の提示用パターンの組み合わせを用いるようにしてもよい。
[第5の実施形態]
本実施形態は、ユーザ認証のための固定的なユーザIDに代えて、一時的にユーザを識別する一時識別情報を生成することを特徴としている。
図21は、本実施形態に係るユーザ認証方法の全体スキームを説明するための概略図である。まず、ユーザは、パーソナルコンピュータ15を用いて、利用対象システム11に対する自身のパスワード導出パターンを認証データベース14に予め登録しておく(図中(1))。ユーザは、利用対象システム11を実際に利用しようとする場合には、そのシステムIDを取得するため、利用対象システム11のユーザインターフェースを操作して、システムIDを表示させる(図中(2))。
次に、ユーザは、そのシステムIDを携帯電話機13に入力し、認証サーバ12に送信する(図中(3))。認証サーバ12は、これを受けて、乱数表(本実施形態では4行4列または4行12列のマトリックス状の乱数情報)を生成し、これを提示用パターンとしてユーザの携帯電話機13に送信するとともに、ユーザIDに対応づけられた、当該ユーザを一時的に識別する一時識別情報を生成し、ユーザの携帯電話機13に送信する(図中(4))。ユーザは、携帯電話機13上に表示される一時識別情報および提示用パターンを参照して、利用対象システム11に対して、一時識別情報、およびパスワードとして自身のパスワード導出パターンに割り当てられた要素値のシーケンス(数字列)を入力する。これにより、利用対象システム11は認証サーバ12に、一時識別情報およびパスワードを送信する(図中(5))。
認証サーバ12は、利用対象システム11から一時識別情報およびパスワードを受け付けると、一時識別情報からユーザを特定し、すでに登録してあるそのユーザのパスワード導出パターンと生成した提示用パターンとから得られる数字列と、利用対象システム11から送信されたパスワードとを比較して、これらが一致しているか否かを判断する。認証サーバ12は、一致していると判断する場合には認証成功の通知および後述するシステム別ユーザ識別情報を、そうでない場合には認証失敗の通知を、システムIDで示される利用対象システム11に送信する(図中(6))。利用対象システム11は、認証サーバ12か20ら認証成功の通知を受け付けると、そのユーザに対する当該利用対象システム11の利用を許可する。
図22は、認証データベース14のデータ構造の一例を示す図である。同図に示すように、認証データベース14における1つのレコードは、システムIDフィールド51と、ユーザアカウントフィールド52と、ユーザIDフィールド53と、パスワード導出パタ25一ンフィールド54と、一時識別情報フィールド56と、システム別ユーザ識別情報フィールド57とを含む。本例では、ユーザ“ogawa”は、システムID“36578979”、“36578980”、および“36578981”で示されるそれぞれの利用対象システム11に利用可能なユーザとして登録されている。また、ユーザ“ogawa”がユーザ認証に用いる携帯電話機13として、ユーザID”090xxxx1234”で示される携帯電話機13が設定されている。さらに、例えばシステムID“36578979”で示される利用対象システム11に登録されたユーザ“ogawa”のパスワード導出パターンとして、“1,17,33,48,”が設定されている。
図23は、ユーザ認証要求待ちテーブル(第1の実施形態参照)の一例を示す図である。本実施形態においてユーザ認証要求待ちテーブルは、イベントIDフィールド100と、システムIDフィールド101と、ユーザIDフィールド102と、提示用パターンフィールド103と、一時識別情報フィールド104とを含む。
図24から26は、本実施形態に係る認証サーバ12における処理の流れを説明するためのフローチャートである。以下のフローチャートでは、処理の流れをシーケンシャルに説明しているが、特にこの処理の流れに限定されるものではない。従って、処理の順序を入れ替えまたは並行処理するように、処理の流れを構成してもよい。
図24に示すように、認証サーバ12は、携帯電話機13が送信した認証手続開始メッセージを受け付けると、そこからシステムIDおよびユーザIDを抽出する(STEP2000)。続いて、認証サーバ12は、抽出したシステムIDで示される利用対象システム11からのユーザ認証要求待ちのため、イベントIDを発行して、図23に示すようなユーザ認証要求待ちテーブルに、抽出したシステムIDおよびユーザIDを登録する。
次に、認証サーバ12は、ユーザが利用対象システム11を利用するにあたり、一時識別情報が必要か否かを判断する(STEP2002)。認証サーバ12は、ユーザからの要求に基づいて、一時識別情報を生成するか否かを判断するのが好ましい。例えば、認証サーバ12は、ユーザの携帯電話機13に通知することにより、当該ユーザが利用対象システム13において一時識別情報を使用するか否かの情報を要求する。そして、認証サーバ12は、ユーザから携帯電話機13を介して受け付けた情報に基づいて、一時識別情報を生成するか否かを判断する。
また、認証サーバ12は、ユーザが利用する利用対象システム11について、一時識別情報を使用するか否かを示す情報を予め登録しておいてもよい。この場合、認証サーバ12は、予め登録された当該情報、システムID、およびユーザIDに基づいて、一時識別情報を生成するか否かを判断する。一時識別情報を使用するか否かを示す情報は、例えば、ユーザ登録時に予め登録してもよく、また、ユーザ登録後に随時登録してもよい。
認証サーバ12は、利用対象システム11について一時識別情報が必要でないと判断した場合(STEP2002のNo)、所定の乱数発生関数を呼び出して、ランダムな数字を発生させて提示用パターンを生成する(STEP2012)。認証サーバ12は、提示用パターンを生成すると、これを上述したユーザ認証要求待ちテーブルに登録する(STEP2014)。続いて、認証サーバ12は、提示用パターンを、ユーザの携帯電話機13に送信する(STEP2018)。
認証サーバ12は、利用対象システム11について一時識別情報が必要であると判断した場合(STEP2002のYes)、利用対象システム11について一時識別情報がすでに登録されているか否かを判断する(STEP2004)。そして、認証サーバ12は、一時識別情報が登録されていないと判断した場合(STEP2004のNo)、新たに一時識別情報を生成する(STEP2010)。一時識別情報は、例えば乱数関数により生成された、ユーザIDとの関連性が少ない情報であることが望ましい。
認証サーバ12は、一時識別情報がすでに登録されていると判断した場合(STEP2004のYes)、当該一時識別情報の生成後の経過時間や当該一時識別情報のサーバ12における受付回数などに基づいて、当該一時識別情報が有効か否かを判断する(STEP2006)。そして、認証サーバ12は、一時識別情報が有効でないと判断した場合15(STEP2006のNo)、一時識別情報を抹消し(STEP2008)、新たに一時識別情報を生成する(STEP2010)。続いて、認証サーバ12は、新たに生成した一時識別情報を、認証データベース14および認証要求待ちテーブルに登録する(STEP2011)。本実施形態において、認証サーバ12は、ユーザID“090xxxx1234”に対応する一時識別情報として“6584”を生成し、認証データベース14および認証要求待ちテーブルに登録する(図22および23参照)。
次に、認証サーバ12は、所定の乱数発生関数を呼び出して、ランダムな数字を発生させて提示用パターンを生成する(STEP2012)。認証サーバ12は、提示用パターンを生成すると、これを上述したユーザ認証要求待ちテーブルに登録する(STEP2014)。続いて、認証サーバ12は、一時識別情報および提示用パターンを、ユーザの携帯電話機13に送信する(STEP2016)。一時識別情報および提示用パターンを携帯電話13に送信すると、認証サーバ12は、利用対象システム11からのユーザ認証要求を待つ。
本実施形態において、認証サーバ12は、ユーザからの認証開始メッセージに応じて、すでに登録されている一時識別情報の有効性を、当該一時識別情報の生成後の経過時間や当該一時識別情報のサーバ12における受付回数などに基づいて判断しているが、認証サーバ12は、本図において説明した処理フローとは別に一時識別情報の有効性を判断してもよい。
図25に示すように、ユーザ認証要求待ち状態の認証サーバ12は、利用対象システム11からユーザ認証要求を受け付けると(STEP2100のYes)、一時識別情報およびシステムIDに基づいて、図23に示したユーザ認証待ち要求テーブルを参照し、ユーザIDを特定する(STEP2102)。認証サーバ12は、ユーザIDを特定すると、認証データベース14を参照し、そのユーザIDに対するパスワード導出パターンに基づいて、提示用パターンからシステム内パスワードを導き出す(STEP2104)。この場合、認証サーバ12は、第1の実施形態と同様に所定の変換法則に基づいて、提示用パターンからシステム内パスワードを導き出してよい。
次に、認証サーバ12は、送信された入力パスワードとシステム内パスワードとが一致しているか否かの判断を行う(STEP2106)。そして、認証サーバ12は、これらが一致していると判断する場合には、システムIDで示される利用対象システム11に認証成功である旨を通知する一方(STEP2108)、一致していないと判断する場合には、認証失敗である旨を通知する(STEP2110)。利用対象システム11は、認証サーバ12から通知される認証結果に基づいて、それに応じた処理を行う。
本実施形態において、ユーザIDに代えて一時識別情報を使用することにより、ユーザIDが、例えば携帯電話番号などのユーザ本人を特定し得るような情報を含むような場合であっても、当該情報を利用対象システム11に漏洩することなくユーザ認証処理を構成することができる。これにより、ユーザは、例えば信頼性や安全性の低い利用対象システム11、または、例えばアンケートなどのユーザを特定する必要のない、もしくは個人情報を知らせたくない利用対象システム11などを利用する場合でも、匿名性を確保して安心して利用することができる。
図26は、認証サーバ12が、利用対象システム11に、システム別ユーザ識別情報を送信する処理を示すフローチャートである。ユーザが、一時識別情報を利用対象システム11に入力することにより、利用対象システム11が当該ユーザに対する利用を許可する場合、認証サーバ12は、利用対象システム11に、ユーザIDおよび当該利用対象システム11(システムID)に対応づけられた、システム別ユーザ識別情報を送信する。この場合、システム別ユーザ識別情報は、利用対象システム11ごとにそれぞれのユーザを識別する固定された情報であることが望ましい。
認証サーバ12は、利用対象システム11からシステム別ユーザ識別情報の要求を受け付ける(STEP2200)。そして、利用対象システム11からシステム別ユーザ識別情報の要求を受け付けた場合(STEP2200Yes)、認証サーバ12は、利用対象システム11についてのシステム別ユーザ識別情報が、認証データベース14に登録されているか確認する(STEP2202)。そして、当該利用対象システム11についてのシステム別ユーザ識別情報が、認証データベース14に登録されていない場合には、認証サーバ12は、当該利用対象システム11についてのシステム別ユーザ識別情報を生成し(STEP2204)、認証データベース14に登録する(STEP2206)。本実施形態において、認証サーバ12は、ユーザ(ユーザID“090xxxx1234”)の利用対象システム11(システムID“36578980”)に対するシステム別ユーザ識別情報として“125897”を生成し、認証データベース14に登録する。なお、システムID“36578979”および“36578981”に対するシステム別ユーザ識別情報として、それぞれ“125896”および“12515898”が、予め認証データベース14に登録されている。
次に、認証サーバ12は、利用対象システム11に対して、システム別ユーザ識別情報を送信する(STEP2208)。この場合、認証サーバ12は、認証サーバ12において、例えばユーザの利用対象システム11の利用頻度といった、当該利用対象システム11についてのユーザの情報を有する場合には、当該情報を併せて送信してもよい。また、本実施形態においては、認証サーバ12は、利用対象システム11に対してシステム別ユーザ識別情報を送信するが、これに代えて、一時識別情報をシステム別ユーザ識別情報として、利用対象システム11に送信してもよい。
本実施形態において、認証サーバ12が利用対象システム11に対してシステム別ユーザ識別情報を提供することにより、利用対象システム11は、利用対象システム11を利用するユーザを特定することができる。すなわち、利用対象システム11は、ユーザが一時識別情報を使用する場合であっても、ユーザの同一性を判断することができる。これにより、利用対象システム11は、当該ユーザが以前に利用対象システム11を利用したユーザであるか等の情報を持つことができる。すなわち、利用対象システム11は、システム別ユーザ識別情報に基づいて、利用対象システム11において、ユーザの情報についてのデータを構築することができ、それぞれのユーザに合わせたサービスを提供することができる。
図27は、システム別ユーザ識別情報を生成する処理(図26のS2204)を示すフローチャートである。まず、認証サーバ12は、乱数変換テーブルを生成する(STEP2300)。乱数変換テーブルは、生成されるシステム別ユーザ識別情報に含まれる、文字や数字等のキャラクタに応じて生成されるのが好ましい。例えば、システム別ユーザ識別情報がM桁の数字列(Mは自然数)により構成される場合には、乱数変換テーブルは、M桁の数字列を、当該数字列と異なるM桁の数字列(乱数)に1対1変換する乱数テーブルであってよい。すなわち、M桁の数字列(10のM乗個)のそれぞれを、互いに異なるM桁の数字列(10のM乗個)に変換する乱数テーブルである。本実施形態において、生成されるシステム別ユーザ識別情報は6桁の数字列から構成されており、それぞれ1対1に対応する、100万通りの変換パターンを含む乱数テーブルが生成される。サーバ12は、それぞれのユーザに対して、同一の乱数テーブルを用いることが好ましい。すなわち、当該乱数テーブルがすでに生成されている場合には、本ステップを省略してもよい。
システム別ユーザ識別情報は、ユーザIDと同じ桁数の数字列により構成されてもよく、また、異なる桁数の数字列により構成されてもよい。また、乱数変換テーブルは、認証データベース14に登録されるのが好ましい。
次に、認証サーバ12は、それぞれのユーザIDについて、認証サーバ12内で当該ユーザを識別するユーザ別内部識別IDを生成する。ユーザ別内部識別IDは、ユーザおよび利用対象システム11に対して通知されないのが好ましい。本実施形態において、ユーザ別内部識別IDは、ユーザIDと同じ桁数を有する数字列としているが、ユーザIDと異なる桁数を有する数字列としてもよい。ユーザ別内部識別IDは、認証データベース14に登録されるのが好ましい。
次に、認証サーバ12は、それぞれの利用対象システム11について、システム別変換テーブルを生成する(STEP2304)。システム別変換テーブルは、ユーザおよび利用対象システム11に対して通知されないのが好ましい。システム別変換テーブルは、所定の数字列に含まれる所定の数字を他の数字に変換する数字変換テーブルや、所定の桁数を有する数字列における、所定の桁の数字と他の桁の数字とを入れ替える桁位置変換テーブルや、所定の桁数を有する数字列における、所定の桁の数字を削除又は所定の桁に数字を挿入することにより、当該数字列の桁数を変換する桁数変換テーブルであってよい。この場合、少なくとも同一の利用対象システム13内で桁数変換の変換結果が重複しないように変換するのが望ましい。システム別変換テーブルは、認証データベース14に登録されるのが好ましい。
次に、認証サーバ12は、それぞれの利用対象システム11について、認証サーバ12内で当該利用対象システム11を識別するシステム別内部識別IDを生成する(STEP2306)。システム別内部識別IDは、ユーザおよび利用対象システム11に通知されないのが好ましい。本実施形態において、システム別内部識別IDは、ユーザIDと同じ桁数を有する数字列としているが、ユーザIDと異なる桁数を有する数字列としてもよい。システム別内部識別IDは、認証データベース14に登録されるのが好ましい。
次に、認証サーバ12は、ユーザ別内部識別IDにシステム別内部識別IDを加算する(STEP2308)。ユーザごとに生成された内部識別IDと、利用対象システム11ごとに生成された内部識別IDとを加算することにより、セキュリティレベルを上げることができる。認証サーバ12は、ユーザ別内部識別IDの所定の桁における数字と、システム別内部識別IDの所定の桁における数字とを加算することにより、当該所定の桁における数字が繰り上がる場合には、繰り上がりの桁における数字を削除することにより、加算後の数字列の桁数が、ユーザ別内部識別IDおよびシステム別内部識別IDの桁数を越えないように処理してもよい。また、認証サーバ12は、ユーザ別内部識別IDとシステム別内部識別IDとを加算することにより、ユーザ別内部識別IDおよび/またはシステム別内部識別IDと異なる桁数を有する数字列を算出してもよい。認証サーバ12は、ユーザ別内部識別IDとシステム別識別IDとを減算、乗算、除算その他の演算方法により演算してもよい。
次に、認証サーバ12は、上述したシステム別変換テーブルにより、STEP2308における演算結果を変換する(STEP2310)。本実施形態において、認証サーバ12は、STEP2308における加算結果を、桁位置変換テーブルにより変換する。そして、認証サーバ12は、桁位置を変換した加算結果を、桁数変換テーブルにより、乱数変換テーブルに含まれる数字列の桁数である6桁の数字列に変換する。
次に、認証サーバ12は、上述した乱数変換テーブルにより、STEP2310における変換結果をさらに変換する(STEP2312)。本実施形態において、認証サーバ12は、STEP2310における変換結果を、当該変換結果と同じ桁数である6桁の数字列(乱数)に変換する。乱数変換テーブルを用いて変換することにより、変換結果の解析が困難になるため、セキュリティレベルをさらに上げることができる。
次に、認証サーバ12は、上述したシステム別変換テーブルにより、STEP2312における変換結果をさらに変換する(STEP2314)。本実施形態において、認証サーバ12は、STEP2312における変換結果を、数字変換テーブルにより変換することにより、システム別ユーザ識別情報を得る。これにより、セキュリティレベルをさらに上げることができる。
本実施形態によれば、ユーザごと、利用対象システム11ごとに、内部識別IDや、変換テーブルを用意し、これに基づき変換するため、セキュリティレベルを上げることができる。特に、本実施形態では、乱数変換テーブルに基づき変換しているため、変換結果から変換前の情報を特定するのはきわめて困難である。すなわち、変換結果からユーザの個人情報を特定することはきわめて困難であるため、セキュリティレベルをさらに高くすることができる。また、これにより、それぞれの利用対象システム11について異なるシステム別ユーザ識別情報を生成することができる。さらに、所定のユーザに対して利用対象システム11毎に識別情報(システム別ユーザ識別情報)を生成することにより、複数の利用対象システム11間で、認証サーバ12から送信された情報に基づいてユーザの情報をつき合わせる等、利用対象システム11間で情報を共有するのを防ぐことができる。
[第6の実施形態]
本実施形態は、利用対象システム11から入力されたパスワードの認証方法に関するものである。以下、利用対象システム11に入力されたパスワードが、システム内パスワードの予め定められた桁において、予め定められた数字を含む数字列と一致する場合を例に、本実施形態におけるパスワードの認証方法を説明する。
図28は、パスワードの認証方法を示すフローチャートである。まず、認証サーバ12は、利用対象システム11から入力されたパスワードを受け付けた場合(STEP2400のYes)、入力されたパスワードとシステム内パスワードとを比較する(STEP2402)。入力されたパスワードとシステム内パスワードが一致する場合(STEP2404のYes)、認証サーバ12は、利用対象システム11に、認証が成功したことを通知する(STEP2406)。
入力されたパスワードとシステム内パスワードが一致しない場合(STEP2404のNo)、認証サーバ12は、入力されたパスワードとシステム内パスワードとを比較する(STEP2408)。本実施形態において、認証サーバ12は、入力されたパスワードの桁数とシステム内パスワードの桁数とを比較する(STEP2410)。そして、入力5されたパスワードの桁数とシステム内パスワードの桁数が一致する場合(STEP2410のNo)、認証サーバ12は、認証が失敗したことを、利用対象システム11に通知する(STEP2412)。
本実施形態において例示している入力されたパスワードは“45871”であり、システム内パスワードは“4587”である。すなわち、認証サーバ12は、入力されたパスワードとシステム内パスワードは一致しないと判断し、また、桁数もそれぞれ異なると判断する。
入力されたパスワードの桁数とシステム内パスワードの桁数とが異なる場合(STEP2410のYes)、認証サーバ12は、入力されたパスワードにおける予め定められた位置である指定位置に含まれるキャラクタを削除する(STEP2414)。本実施形態において、予め定められた位置は“1”の桁、すなわち一番右の桁であり、認証サーバ12は、入力されたパスワード“45871”の“1”の桁から、数字“1”を削除することにより、“4587”を得る。すなわち、入力された、5桁の桁数を有するパスワードから、予め定められた数字を削除することにより、4桁のパスワードを生成する。
パスワードにおける指定位置は、予め認証データベース14に登録されるのが好ましい。指定位置は、それぞれの利用対象システム11に対応づけて定められてもよい。本実施形態において、パスワードにおける指定位置は、予め認証データベース14に登録されており、認証サーバ12は、認証データベース14から、指定位置として“1”の桁を読み出し、入力されたパスワードの“1”の桁における数字を削除する。
次に、認証サーバ12は、予め定められた数字を削除した、入力されたパスワードと、システム内パスワードとが一致するか否かを判断する(STEP2416)。そして、一致しないと判断した場合(STEP2416のNo)、認証サーバ12は、認証が失敗したことを、利用対象システム12に通知する(STEP2412)。
認証サーバ12が、予め定められた数字を削除した、入力されたパスワードと、システム内パスワードとが一致すると判断した場合(STEP2416のYes)、認証サーバ12は、利用対象システム11に、認証が成功したことおよび予め定められた処理をすることを通知する(STEP2418)。以下において、認証サーバ12が、利用対象システム11に通知すべき処理を判断する方法について説明する。
図29は、利用対象システム11に通知する処理と、所定のキャラクタからなる、当該処理に対応した機能コードとを対応づけた機能コードデータベースを示す図である。このように、認証サーバ12は、認証データベース14に対し、入力されたパスワードの指定位置に含まれるべき機能コードと、利用対象システム11に通知すべき処理とを対応づけて予め登録する。そして、認証サーバ12は、入力されたパスワードの指定位置に含まれる、削除されたキャラクタに基づいて、利用対象システム11に通知すべき処理を機能コードデータベースから抽出し、利用対象システム11に通知する。指定位置は、1つのパスワードに対して複数指定してもよい。また、機能コードは複数桁の数字であってもよく、文字や絵文字などのキャラクタであってもよい。
例えば、削除されたキャラクタが“0”である場合には、認証サーバ12は、利用対象システム11に、練習用であることを通知する。そして、利用対象システム11は、練習用のサービスをユーザに提供する。また、削除されたキャラクタが“2”である場合には、認証サーバ12は、利用対象システム11に、緊急事態が発生したことを通知する。そして、利用対象システム11は、例えば、警察などに通報する、ユーザID、一時識別情報、およびシステム別ユーザ識別情報をロックする、などの処理を行う。また、利用対象システム11が銀行のシステムであり、ユーザが所定の口座に振込みをすべくユーザ認証を行った場合には、当該口座に振り込み額としてゼロ円振り込んだり、ユーザから指定された金額を振り込んだように見せかけるべく利用対象システム11の画面にダミー画面を表示したりしてもよい。これにより、例えばユーザが脅迫されて利用対象システム11を利用する場合であっても、ユーザは緊急事態が発生したことを、他人に気付かれることなく、認証サーバ12および利用対象システム11に通知することができる。
また、削除されたキャラクタが“9”である場合には、認証サーバ12は、機能コードデータベースを参照して、削除されたキャラクタがダミーであると判断し、利用対象システム11に、ユーザ認証が成功したことを通知する。この場合、認証サーバ12は、利用対象システム11に、機能コードとしてダミーが含まれていたことを併せて通知してもよい。
本実施形態において入力されたパスワードは“45871”であり、システム内パスワードは“4587”であるため、認証サーバ12は削除されたキャラクタとして数字の“1”を抽出する。そして、認証サーバ12は、認証データベース14に含まれる機能コードデータベースを参照して、利用対象システム11に、認証が成功したこと、および読み取り専用であることを通知する。そして、利用対象システム11は、ユーザに対して、読み取り専用のサービスを提供する。読み取り専用のサービスは、例えば、銀行口座の残高照会や、掲示板の閲覧などのサービスである。これにより、ユーザは、ユーザ認証の都度生成される、例えば残高照会のみ可能なパスワードなどといった読み取り専用のパスワードを得ることができ、かっ、当該パスワードが読み取り専用であることを他人に知られることなく、当該パスワードを使って他人に残高照会などを依頼することができる。
本実施形態によれば、パスワードに所定のキャラクタを含ませることにより、ユーザは、他人に知られることなく、認証サーバ12および/または利用対象システム11に所定の処理をするよう要求することができる。また、パスワードに所定のキャラクタを含ませることにより、パスワードを入力するだけで、認証サーバ12および/または利用対象システム11に対して、複数の処理をするよう要求することができる。また、本実施形態によれば、パスワードに所定のキャラクタを含ませることにより、入力パスワードの桁数が増えるため、パスワードのセキュリティレベルをさらに上げることができる。
[第7の実施形態]
本実施形態は、ユーザ以外の者が、利用対象システム11からパスワードを入力することにより、当該ユーザを認証する認証方法に関するものである。
図30は、本実施形態に係るユーザ認証方法の全体スキームを説明するための概略図である。まず、ユーザは、パーソナルコンピュータ15を用いて、利用対象システム11に対する自身のパスワード導出パターン、および利用対象システム11の利用に必要な個人情報を認証データベース14に予め登録しておく(図中(1))。ユーザは、利用対象システム11を利用してユーザの本人確認をしょうとする確認者から、利用対象システム11のシステムIDを取得する(図中(2))。例えば、ユーザは、テレビ、ラジオ、雑誌その他の情報メディアを通じて、確認者の利用対象システム11についてのシステムIDを取得する。
次に、ユーザは、そのシステムIDを携帯電話機13に入力し、認証サーバ12に送信する(図中(3))。認証サーバ12は、これを受けて、乱数表を生成し、これを提示用パターンとしてユーザの携帯電話機13に送信する(図中(4))。このとき、認証サーバ12は、ユーザの携帯電話13に、一時識別情報を送信してもよい。ユーザは、携帯電話機13上に表示される提示用パターンを参照して、自身のパスワード導出パターンに割り当てられた要素値のシーケンス(パスワード)を導き出し、これを確認者に通知する((図中(5))。
例えば、ユーザは、電話や電子メールなどの情報伝達手段により、パスワードを確認者に通知する。このとき、ユーザは、確認者に一時識別情報を併せて通知してもよい。確認者は、利用対象システム11に、ユーザから通知されたパスワードおよび/または一時識別情報を入力する。これにより、利用対象システム11は、入力されたパスワードおよび/または一時識別情報を、認証サーバ12に送信する(図中(6))。
認証サーバ12は、利用対象システム11からパスワードを受け付けると、すでに登録してあるそのユーザのパスワード導出パターンおよび生成した提示用パターンから得られる数字列と、利用対象システム11から送信されたパスワードとを比較して、これらが一致しているか否かを判断する。認証サーバ12は、一致していると判断する場合には認証成功の通知を、そうでない場合には認証失敗の通知を、システムIDで示される利用対象システム11に送信する(図中(7))。そして、確認者は、ユーザの認証が成功した場合、利用対象システム11を利用して、ユーザについて必要な個人情報を認証サーバ12から受け取る。
本実施形態において、確認者は、例えば、テレフォンショッピング会社、宿泊予約を受ける宿泊業者、賃貸申し込みを受ける不動産業者、各種証明書を発行する発行者、与信や決済を行う信用会社、医療相談を受ける医師などである。また、必要な個人情報とは、例えば、ユーザの住所、電話番号、クレジットカード番号、預金口座、疾病記録、カルテ、経歴、勤務先などの、ユーザに関する情報である。ユーザは、利用対象システム11を利用する確認者に開示される個人情報を制限してもよい。例えば、ユーザは、携帯電話機13から認証サーバ12にシステムIDを送信する際に、個人情報の開示を制限するコードを携帯電話機13に入力し、認証サーバ12に送信する。
本発明によれば、システムに対する第三者の不正アクセスを有効に防止する新たなユーザ認証方法およびこれを実現するシステムを提供することができる。
また、本発明によれば、既存のシステムインフラストラクチャを最大限活用しているので、余分なコスト負担をかけることなく、とのようなユーザ認証方法およびこれを実現するシステムを提供することができる。
さらに、本発明によれば、システムに対する不正アクセスを有効に防止しつつ、一方で、ユーザによるパスワード管理を容易にして、あらゆるユーザにとって使い勝手のよいユーザ認証方法およびこれを実現するシステムを提供することができるようになる。