説明

ユーザ認証装置、ユーザ認証方法およびユーザ認証プログラム

【課題】クライアント側での負荷を増大させることなく、より容易にワンタイムパスワード方式を用いたユーザ認証を行う。
【解決手段】ユーザ認証装置であって、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成手段と、前記生成したクイズを前記端末に送信する送信手段と、前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付手段と、前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出手段と、前記回答受付手段が受け付けたクイズの回答と、前記算出手段が算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの正当性を認証するユーザ認証技術に関する。
【背景技術】
【0002】
近年、フィッシング詐欺に代表される、インターネット上でのユーザIDおよびパスワードの詐取・盗難(identity theft)が問題となっている。そのため、より高いセキュリティを確保する技術の1つに、ワンタイムパスワード(One Time Password)がある。ワンタイムパスワードは、認証のために1回しか使えない「使い捨てのパスワード」である。なお、特許文献1には、クライアントが、記録媒体に記憶されたパラメータと、サーバから送信されたパラメータとを用いてユーザ認証コード(ワンタイムパスワード)を生成するユーザ認証システムが記載されている。
【特許文献1】特開平11−41230
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、特許文献1では、クライアントおよびサーバが、それぞれワンタイムパスワードを生成し、連携してユーザ認証を行っている。しかしながら、インターネットに接続された不特定多数のクライアントに、ワンタイムパスワードを生成する機能を追加することは、システム面およびコスト面において負荷が増大し、困難である。また、サーバ側においても、多数のクライアント各々が生成したワンタイムパスワードを認証することは、システム面での負荷が大きい。
【0004】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、クライアント側での負荷を増大させることなく、より容易にワンタイムパスワード方式を用いたユーザ認証を行うことにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明は、例えば、ユーザ認証装置であって、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成手段と、前記生成したクイズを前記端末に送信する送信手段と、前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付手段と、前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出手段と、前記回答受付手段が受け付けたクイズの回答と、前記算出手段が算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別手段と、を有する。
【発明の効果】
【0006】
本発明では、クライアント側での負荷を増大させることなく、より容易にワンタイムパスワード方式を用いたユーザ認証を行うことができる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の実施の形態について説明する。
【0008】
図1は、本発明の一実施形態が適用された認証システムの全体構成図である。本実施形態の認証システムは、少なくとも1つのクライアント1と、サーバ2とを有する。そして、各クライアント1とサーバ2とは、インターネットなどのネットワーク3により接続されている。
【0009】
クライアント1は、ネットワーク3を介してサーバ2にアクセスして、サーバ2が提供する各種サービスを要求する。クライアント1は、図示するように、表示部11と、指示受付部12とを有する。表示部11は、一般的なWebブラウザと同様の機能を有し、サーバ2から受信した情報を解析して出力装置(不図示)に表示する。指示受付部12は、クライアント1を操作するユーザの指示を受け付ける。
【0010】
サーバ2は、クライアント1を使用するユーザを認証し、認証に成功した場合に各種のサービスを提供する。サーバ2は、図示するように、ログイン画面生成部21と、クイズ生成部22と、認証部23と、サービス提供部24と、認証DB26と、パラメータテーブル27と、を有する。
【0011】
ログイン画面生成部21は、クライアント1からのログイン要求(アクセス要求)を受け付けて、後述するログイン画面を生成する。クイズ生成部22は、ログイン画面に表示するクイズ(問題)を動的に生成する。認証部23は、ユーザID、パスワードおよびクイズの回答を受信し、ユーザ認証を行う。サービス提供部24は、各種のサービスをクライアント1に提供する。認証DB26は、ユーザ毎に、ユーザ認証に必要な認証情報が記憶されたデータベースである。パラメータテーブル27は、クイズに用いられる認証情報のパラメータが記憶されたテーブルである。
【0012】
次に、サーバ2の認証DB26およびパラメータテーブル27について説明する。
【0013】
図2は、認証DB26の一例を示した図である。認証DB26は、ユーザ認証に必要な認証情報を、個人情報DB(不図示)から抽出したデータベースである。なお、サーバ2は、各ユーザの個人情報(氏名、住所、電話番号など)を記憶した個人情報DBを有するものとする。
【0014】
図示する認証DB26は、ユーザ毎に、ユーザID261と、パスワード262と、郵便番号263と、自宅電話番号264と、携帯電話番号265と、生年月日266とを有する。本実施形態では、各種の個人情報の中から、所定の番号体系(桁数)を有する数字の個人情報を認証情報263〜266として抽出し、クイズに用いるものとする。なお、認証情報263〜266は、それぞれ1桁づつ列(カラム)を区切って認証DB26に登録する。
【0015】
なお、図示する認証情報263〜266以外に、例えば、自家用車のナンバー(4桁)または運転免許証番号(12桁)などを用いることとしてもよい。
【0016】
図3は、パラメータテーブル27の一例を示した図である。パラメータテーブル27は、認証情報271毎に、クイズで使用可能な桁(先頭からの位置)272が設定されたテーブルである。具体的には、郵便番号は7桁であって、「000−0001」から「999−8531」まで比較的広く使用されている。このため、郵便番号の使用可能な桁272には「1」〜「7」を設定する。これにより、後述するクイズ生成処理において、1桁目から7桁目までのいずれかの桁を選択することができる。
【0017】
また、自宅電話番号(固定電話)は10桁であるが、市外局番の先頭(先頭から1桁目)は「0」であって、その次の番号(先頭から2桁目)も一部使用されていない数字が存在する。このため、1桁目と2桁目を除外し、自宅電話番号の使用可能な桁272には「3」〜「10」を設定する。これにより、後述するクイズ生成処理において、3桁目から10桁目までのいずれかの桁を選択することができる。
【0018】
また、携帯電話番号は11桁であって、現在、先頭の3桁は「090」または「080」等に固定されている。このため、1桁目から3桁目を除外し、携帯電話番号の使用可能な桁272には「4」〜「11」を設定する。これにより、後述するクイズ生成処理において、4桁目から11桁目までのいずれかの桁を選択することができる。
【0019】
また、生年月日は、西暦(4桁)と、月(2桁)と、日(2桁)の8桁である。そして、インターネットの利用者は当面1900年代生まれと推測されるため、西暦の最初の2桁(先頭から1桁目と2桁目)は、使用しないこととする。また、月の10の位(先頭から5桁目)は、「0」または「1」である。また、日の10の位(先頭から7桁目)も、「0」から「3」のいずれかの数字である。このため、生年月日の使用可能な桁272には、「3」、「4」、「6」、「8」を設定する。これにより、後述するクイズ生成処理において、3桁目、4桁目、6桁目および8桁目のいずれかの桁を選択することができる。
【0020】
上記説明した、クライアント1およびサーバ2は、いずれも、例えば図4に示すようなCPU901と、メモリ902と、HDD等の外部記憶装置903と、キーボードやマウスなどの入力装置904と、ディスプレイやプリンタなどの出力装置905と、ネットワークと接続するための通信制御装置906と、を備えた汎用的なコンピュータシステムを
用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902
上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。
【0021】
例えば、クライアント1およびサーバ2の各機能は、クライアント1用のプログラムの
場合はクライアント1のCPU901が、そして、サーバ2用のプログラムの場合はサー
バ2のCPU901が、それぞれ実行することにより実現される。なお、サーバ2の認証DB26およびパラメータテーブル27には、サーバ2のメモリ902または外部記憶装置903が用いられるものとする。また、入力装置904および出力装置905については、各装置が必要に応じて備えるものとする。
【0022】
次に、クライアント1の出力装置に表示されるログイン画面について説明する。
【0023】
図5は、ログイン画面の一例を示す図である。図示するログイン画面は、ユーザID入力欄51と、パスワード入力欄52と、少なくとも1つのクイズ表示欄53a、53b、53cと、クイズ表示欄53に対応するクイズの回答入力欄54と、送信ボタン55とを有する。なお、本実施形態のログイン画面では、3個のクイズ表示欄53a、53b、53cを有するものとする。また、各クイズ表示欄53a、53b、53cには、クイズの本文と、計算方法の例示が併せて表示されているものとする。
【0024】
なお、ログイン画面に表示(出題)されるクイズの数が多ければ多いほど、ユーザ認証の強度が高くなる。すなわち、当て推量、および、なりすましが困難になる。そのため、ログイン画面に表示するクイズの数は3個に限定されるものではない。
【0025】
また、本実施形態のクイズは、1桁の数字をユーザに回答させるものとする。そのため、各回答入力欄54は、「0」から「9」の数字を選択可能なセレクトボックス(プルダウン形式)により所定の数字を選択させるものとする。
【0026】
次に、本実施形態の認証システムの処理について説明する。
【0027】
図6は、認証システムの処理概要を示した処理フロー図である。
【0028】
まず、クライアント1の指示受付部12は、ユーザの指示を受け付けて、サーバ2にアクセスしログイン画面を要求する(S11)。サーバ2は、クライアント1からの要求を受け付けて、クイズを含むログイン画面を動的に生成し、要求元のクライアント1に送信する(S12)。
【0029】
そして、クライアント1の表示部11は、サーバから受信したログイン画面を出力装置に表示する(S13)。そして、クライアント1の指示受付部12は、ユーザが入力したユーザID、パスワードおよびクイズの回答を受け付けて、サーバ2に送信する(S14)。サーバ2は、クライアント1から受信したユーザID等を用いて、ユーザ認証を行う(S15)。そして、サーバ2は、ユーザ認証の結果に応じて、認証成功画面または認証エラー画面をクライアント1に送信する。そして、クライアント1の表示部11は、サーバから受信した認証成功画面または認証エラー画面を出力装置に表示する(S16)。
【0030】
次に、図6に示すログイン画面の生成処理(S12)について、詳しく説明する。
【0031】
図7は、サーバ2のログイン画面の生成処理フロー図である。なお、サーバ2のログイン画面生成部21は、HTML(HyperText Markup Language)またはXML(eXtensible Markup Language)などのマークアップ言語を用いて、図5に示すようなログイン画面を生成するものとする。
【0032】
まず、ログイン画面生成部21は、ユーザID入力欄およびパスワード入力欄の部分の画面情報を生成する(S21)。そして、ログイン画面生成部21は、ログイン画面に表示するクイズの数だけ、S23からS25の処理を繰り返し行う(S22、S26)。なお、本実施形態では、ログイン画面に3つのクイズを表示するため、n=3として3回の繰り返し処理(ループ処理)を行うものとする。
【0033】
繰り返し処理では、ログイン画面生成部21は、クイズのパターンを選択するための乱数を生成する(S23)。なお、本実施形態のクイズは、クイズを回答するユーザが、暗算または電卓を使用して簡単に答えを算出できるように、足し算パターンと、引き算パターンと、掛け算パターンの3種類の演算パターンを用いるものとする。したがって、図示する例では、ログイン画面生成部21は、所定のアルゴリズムにより、「1」(足し算パターン)、「2」(引き算パターン)および「3」(掛け算パターン)のいずれかの乱数を生成する。
【0034】
そして、ログイン画面生成部21は、S23で生成したクイズのパターンの乱数を引数として、クイズ生成関数を呼び出す(S24)。なお、クイズ生成関数については後述する。
【0035】
そして、ログイン画面生成部21は、クイズ生成関数により生成されたクイズの本文と当該クイズの計算例と取得し、クイズ表示欄を生成する。また、ログイン画面生成部21は、クイズの回答入力欄を生成する(S25)。なお本実施形態のクイズ解答欄は、「0」から「9」の数字を選択可能なセレクトボックスを用いるものとする。
【0036】
また、ログイン画面生成部21は、生成されたクイズを識別するためのクイズ識別情報(クイズ識別コード)を隠しデータ(入力フォームの「hidden属性」)として、または、クッキー情報としてログイン画面に設定する。これにより、ログイン画面生成部21は、ログイン画面とともにクイズ識別情報をクライアント1に送信し、クイズの回答とともに当該クイズ識別情報をクライアント1から受信することができる。なお、クイズ識別情報には、S23で生成したクイズのパターン、および、クイズ生成関数から取得する変数(パラメータ)が含まれる。
【0037】
そして、所定の回数(3回)の繰り返し処理を終了後(S26)、ログイン画面生成部21は、送信ボタンなどを生成してログイン画面を完成させる。そして、ログイン画面生成部21は、生成したログイン画面をクライアントに送信する(S27)。なお、クライアント1の表示部11は、HTMLなどで記述されたログイン画面を解析し、出力装置にログイン画面(図5参照)を出力する。
【0038】
次に、クイズ生成関数の処理(図7:S24)について説明する。
【0039】
図8はクイズ生成関数の処理フロー図である。まず、クイズ生成部22は、引数として設定されたクイズのパターンが、「1」であるか否かを判別する(S31)。クイズのパターンが「1」の場合(S31:YES)、クイズ生成部22は、後述する足し算クイズ生成関数を呼び出す(S32)。
【0040】
また、クイズのパターンが「1」でない場合(S31:NO)、クイズ生成部22は、クイズのパターンが「2」であるか否かを、さらに判別する(S33)。クイズのパターンが「2」の場合(S33:YES)、クイズ生成部22は、後述する引き算クイズ生成関数を呼び出す(S34)。また、クイズのパターンが「2」でない場合、すなわち「3」の場合(S33:NO)、クイズ生成部22は、後述する掛け算クイズ生成関数を呼び出す(S35)。そして、クイズ生成部22は、各関数で生成されたクイズの本文および計算例と、クイズ識別情報とを取得する(S36)。
【0041】
次に、足し算クイズ生成関数、引き算クイズ生成関数、および、掛け算クイズ生成関数の処理について説明する。
【0042】
図9は、足し算クイズ生成関数の処理フロー図である。
【0043】
クイズ生成部22は、クイズに使用する郵便番号の桁(先頭からの位置)を選択するための乱数を生成する(S41)。すなわち、クイズ生成部22は、パラメータテーブル27を参照し、郵便番号の使用可能な桁(数字)の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【0044】
そして、クイズ生成部22は、クイズに使用する自宅電話番号の桁を選択するための乱数を生成する(S42)。すなわち、クイズ生成部22は、パラメータテーブル27を参照し、自宅電話番号の使用可能な桁の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【0045】
そして、クイズ生成部22は、クイズに使用する携帯電話番号の桁を選択するための乱数を生成する(S43)。すなわち、クイズ生成部22は、パラメータテーブル27を参照し、携帯電話番号の使用可能な桁の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【0046】
そして、クイズ生成部22は、クイズに使用する生年月日の桁を選択するための乱数を生成する(S44)。すなわち、クイズ生成部22は、パラメータテーブル27を参照し、生年月日の使用可能な桁の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【0047】
そして、クイズ生成部22は、S41からS44で選択した数字を用いて、足し算クイズの本文を生成する(S45)。足し算クイズの本文としては、例えば図5のログイン画面(クイズ表示欄53a)に示すように、「あなたの住所郵便番号のn(S41で生成した数字)桁目と、自宅電話番号のn(S42で生成した数字)桁目と、携帯電話番号のn(S43で生成した数字)桁目と、生年月日のn(S44で生成した数字)桁目とを全て足し算し、その結果の1の位の数字をお答え下さい。」などが考えられる。なお、上述の本文の「n」は変数である。
【0048】
そして、クイズ生成部22は、クイズの計算例を生成する(S46)。クイズの計算例は、例えば図5のログイン画面(クイズ表示欄53a)に示すように、各項目毎に当該項目の番号体系に適合する所定の番号を設定し、設定した番号の変数部分に下線を引く。そして、下線部分の数値を加算する計算式を生成することが考えられる。
【0049】
そして、クイズ生成部22は、生成したクイズの本文と、計算例と、クイズ識別情報(S41からS44で生成した各変数)とを、クイズ生成関数(図8:S36)に返す(S47)。
【0050】
図10は、引き算クイズ生成関数の処理フロー図である。
【0051】
クイズ生成部22は、図9のS41からS44と同様に、郵便番号、自宅電話番号、携帯電話番号および生年月日の桁を選択するための乱数を生成する(S51〜S54)。そして、クイズ生成部22は、図9のS45と同様に引き算クイズの本文を生成する(S55)。なお、引き算クイズの本文としては、例えば図5のログイン画面(クイズ表示欄53b)に示すように、「あなたの住所郵便番号のn桁目から、自宅電話番号のn桁目と、携帯電話番号のn桁目と、生年月日のn桁目とを全て引き算し、その結果の1の位の数字をお答え下さい。計算結果がマイナスの場合でも、1の位の数字をお答え下さい。」などが考えられる。
【0052】
そして、クイズ生成部22は、例えば図5のログイン画面(クイズ表示欄53b)に示すようなクイズの計算例を生成する(S56)。そして、クイズ生成部22は、生成したクイズの本文と、計算例と、クイズ識別情報(S51からS54で生成した各変数)とを、クイズ生成関数(図8:S36)に返す(S57)。
【0053】
図11は、掛け算クイズ生成関数の処理フロー図である。
【0054】
クイズ生成部22は、図9のS41からS44と同様に、郵便番号、自宅電話番号、携帯電話番号および生年月日の桁を選択するための乱数を生成する(S61〜S64)。そして、クイズ生成部22は、図9のS45と同様に掛け算クイズの本文を生成する(S65)。なお、掛け算クイズの本文としては、例えば図5のログイン画面(クイズ表示欄53c)に示すように、「あなたの住所郵便番号のn桁目と、自宅電話番号のn桁目と、携帯電話番号のn桁目と、生年月日のn桁目とを全て掛け算し、その結果の1の位の数字をお答え下さい。ただし、「0」が選択された場合には、「0」を「1」に読み替えて計算して下さい。」などが考えられる。
【0055】
そして、クイズ生成部22は、例えば図5のログイン画面(クイズ表示欄53c)に示すようなクイズの計算例を生成する(S66)。そして、クイズ生成部22は、生成したクイズの本文と、計算例と、クイズ識別情報(S61からS64で生成した各変数)とを、クイズ生成関数(図8:S36)に返す(S67)。
【0056】
次に、図6に示すユーザ認証処理(S15)について、詳しく説明する。
【0057】
図12および図13は、サーバ2のユーザ認証処理の処理フロー図である。図12に示すように、認証部23は、ユーザID、パスワード、クイズの回答およびクイズ識別情報を、クライアント1から受信する(S71)。クイズ識別情報は、隠しデータ(hidden属性)として、または、またはクッキー情報として、入力情報(ユーザID、パスワード、クイズの回答)とともに、サーバ2に送信される。
【0058】
そして、認証部23は、認証DB26に受信したユーザIDが存在するか否かを判別する(S72)。認証DB26に受信したユーザIDが存在しない場合(S72:NO)、認証部23は、図14(a)に示すような認証エラー画面をクライアント1に送信する(S74)。なお、図示する認証エラー画面は、ログイン画面にリンク(遷移)するためのURLが埋め込まれている。
【0059】
また、認証DB26に受信したユーザIDが存在する場合(S72:YES)、認証部23は、認証DB26に記憶された当該ユーザIDのパスワードと、受信したパスワードとが一致するか否かを判別する(S73)。パスワードが一致しない場合(S73:NO)、認証部23は、図14(a)に示すような認証エラー画面をクライアント1に送信する。なお、認証部23は、同じユーザIDで、所定の回数を超えて認証エラーとなった場合は、アカウントロックアウト処理(当該ユーザIDでのログインを拒否する処理)を行うこととしてもよい。
【0060】
また、パスワードが一致した場合(S73:YES)、認証部23は、図13の処理を行う。すなわち、認証部23は、ログイン画面に表示されたクイズの数だけ、S76からS85の処理を繰り返し行う(S75、S87)。なお、本実施形態では、ログイン画面に3つのクイズを表示するため、n=3として3回の繰り返し処理(ループ処理)を行うものとする。
【0061】
まず、認証部23は、S71で受信した情報の中から、所定のクイズ(i問目のクイズ)の回答(answer(i))と、クイズ識別情報とを特定する(S76)。そして、認証部23は、認証DB26を参照し、受信したユーザIDのレコードを特定する。そして、認証部23は、認証情報(郵便番号、自宅電話番号、携帯電話番号、生年月日)毎に、クイズ識別情報の変数部分(n桁目)に設定された数字(数値)を、特定したレコードから抽出する(S77)。
【0062】
そして、認証部23は、クイズ識別情報に含まれるクイズのパターンが、「1」であるか否かを判別する(S78)。クイズのパターンが「1」の場合(S78:YES)、認証部23は、S77で抽出した各数字を全て加算し、算出結果の1の位の数字を算出値(result(i))とする(S79)。
【0063】
また、クイズのパターンが「1」でない場合(S78:NO)、認証部23は、クイズのパターンが「2」であるか否かを、さらに判別する(S80)。クイズのパターンが「2」の場合(S80:YES)、認証部23は、S77で抽出した各数字を順に減算し、算出結果の1の位の数字を算出値(result(i))とする(S81)。
【0064】
また、クイズのパターンが「2」でない場合、すなわち「3」の場合(S80:NO)、認証部23は、S77で抽出した各数字の中に「0」が存在するか否かを判別する(S82)。「0」が存在する場合(S82:YES)、認証部23は、「0」を「1」に置換する(S83)。そして、認証部23は、S77で抽出した各数字(または、置換した「1」)を全て乗算し、算出結果の1の位の数字を算出値(result(i))とする(S84)。
【0065】
そして、認証部23は、クイズの回答(answer(i))と、算出値(result(i))とが一致するか否かを判別する(S85)。クイズの回答と算出値とが一致しない場合(S85:NO)、認証部23は、図14(a)に示すような認証エラー画面をクライアント1に送信する(S86)。なお、認証部23は、必要に応じてアカウントロックアウト処理を行うこととしてもよい。
【0066】
クイズの回答と算出値とが一致する場合(S85:YES)、認証部23は、所定の回数(3回)の繰り返し処理(S87)を行う。そして、全てのクイズの回答が一致する場合、認証部23は、図14(b)に示すような認証に成功したことを示す認証成功画面をクライアント1に送信する(S88)。なお、HTTP(HyperText Transfer Protocol)またはHTTPS(Hypertext Transfer Protocol Security)上で商取引等を行うために必要な「セッション管理」機構などが、認証部23の認証後(認証に成功した後)、認証成功画面以降へのアクセスを許可するものとする。また、図示する認証成功画面は、各種サービスのメニューが表示されたメニュー画面にリンク(遷移)するためのURLが埋め込まれている。メニュー画面に遷移した後、サーバ2のサービス提供部24は、クライアントから指示されたサービスを提供する。
【0067】
以上、本発明の一実施形態を説明した。
【0068】
本実施形態では、ログイン要求時に個人情報に含まれる数字を用いたクイズを生成し、ユーザに回答させる。これにより、クライアント側にユーザ認証のための機能を実装することなく、より容易にユーザ認証を行うことができる。
【0069】
また、サーバ2は、足し算、引き算などのクイズパターンの中からランダムに所定のクイズパターンを選択する。また、サーバ2は、クイズに用いる各個人情報(認証情報)の所定の桁(先頭からの位置)を変数(パラメータ)としてランダムに選択する。このように、クイズパターンと変数とを、ログイン要求に動的に選択することにより、簡易なワンタイムパスワード方式を用いたユーザ認証を実現することができる。
【0070】
また、クイズパターンと変数とを、ログイン要求時にランダムに変更することにより、総当り攻撃(brute force attack)に対する耐性を確保することができる。
【0071】
また、本実施形態では、個人情報そのものを用いることなく、複数の個人情報を組み合わせてクイズ形式でユーザ認証を行う。これにより、悪意のある第三者が1つの個人情報(例えば、携帯電話番号)だけを知っている場合であっても、正しい答えを回答することができない。また、クイズの回答から個人情報を導出できないため、個人情報の漏洩を防止することができる。
【0072】
また、本実施形態では、パラメータテーブル27を有し、個人情報(認証情報)毎にクイズに不適切な桁(先頭からの位置)を除外している。これにより、解空間が小さくなる危険性を防止することができる。すなわち、本人以外の人に、容易に正解を推測される危険性を防止することができる。
【0073】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態では、サーバ2が認証DB26およびパラメータテーブル27を有することとした。しかしながら、本発明はこれに限定されず、ネットワークを介してサーバ2と接続された他サーバ(不図示)が、認証DB26およびパラメータテーブル27を有することとしてもよい。この場合、サーバ2は、ネットワークを介して、他サーバの認証DB26およびパラメータテーブル27にアクセスするものとする。
【0074】
また、上記実施形態では、ユーザID、パスワードおよびクイズを用いてユーザ認証を行うこととした。しかしながら、本発明はこれに限定されず、クッキー情報を発行する際にクイズを用いて、より高度なユーザ認証を行うこととしてもよい。クッキー情報は、サーバ2とクライアント1(Webブラウザ)間で送受信されるユーザ情報である。なお、ここでいうクッキー情報は、本質的にステートレスなHTTP(S)プロトコル上で商取引等を行うために必要な「セッション管理」機構を実現するためのものではなく、特定のユーザ及びクライアント1(Webブラウザ)が、既に本発明のクイズ形式による認証に成功している証しとして用いられるものである。
【0075】
図15は、クッキー情報の発行時にクイズを用いた場合のサーバ2の処理フロー図である。なお、図示する処理の場合、認証DB26(図2参照)は、クッキー情報を記憶するクッキー情報設定欄と、クッキー情報の有効期限とをさらに有するものとする。
【0076】
まず、サーバ2は、クライアント1からユーザIDおよびパスワードを受信する(S91)。すなわち、クライアント1は、ユーザIDおよびパスワードの入力を受け付けるログイン画面を出力装置に表示し、ユーザが入力したユーザIDおよびパスワードをサーバ2に送信する。
【0077】
そして、サーバ2は、受信したユーザIDおよびパスワードが、認証DB26に存在するか否かを判別する(S92)。認証DB26に存在しない場合(S92:NO)、サーバ2は、認証エラー画面(図14(a)参照)をクライアント1に送信する(S99)。一方、認証DB26に存在する場合(S92:YES)、サーバ2は、受信したユーザIDおよびパスワードにクッキー情報が付加されているか否かを判別する(S93)。
【0078】
クッキー情報が付加されていない場合(S93:NO)、サーバ2は、ユーザ認証の強度を上げるため、上記実施形態(図7〜図11参照)で説明したクイズを生成し、クライアント1に送信する(S94)。なお、クッキー情報が付加されていない場合としては、初回のログイン時の場合、クッキー情報の有効期限を過ぎた場合、正当なユーザが異なるクライアント(例えば、自宅(会社)のパソコン)からログインした場合、または、悪意のある第三者によるなりすましの場合などが考えられる。
【0079】
そして、サーバ2は、クライアント1からクイズの回答を受信する(S95)。なお、クライアント1は、サーバ2から送信されたクイズを出力装置に表示し、ユーザが入力したクイズの回答を受け付ける。そして、クライアント1は、受け付けたクイズの回答をサーバ2に送信する。
【0080】
そして、サーバ2は、上記実施形態(図12、図13参照)で説明したように、受信したクイズの回答が正しいか否かを判別する(S96)。クイズの回答が正しくない場合(S96:NO)、サーバ2は、認証エラー画面(図14(a)参照)をクライアント1に送信する(S99)。
【0081】
一方、クイズの回答が正しい場合(S96:YES)、サーバ2は、正当なユーザであると判別し、クッキー情報を生成する(S97)。そして、サーバ2は、認証DB26の当該ユーザIDのクッキー情報設定欄に、生成したクッキー情報を設定する。なお、クッキー情報の有効期限を過ぎている場合には、生成したクッキー情報をクッキー情報設定欄に上書きする。また、正当なユーザが異なるクライアントからログインした場合には、当該ユーザ(クライアント)の新たなレコードを認証DBに追加して、生成したクッキー情報を設定する。
【0082】
そして、サーバ2は、生成したクッキー情報を付加した認証成功画面(図14(b)参照)をクライアント1に送信する(S98)。なお、セキュリティをより強化するために、サーバ2は、クッキー情報を発行するためのURL(ワンタイムURL)が記載されたメールを、当該クライアント宛てに送信することとしてもよい。そして、メールを受信したクライアント1のユーザは、メールに記述されたURLをクリックして、当該URLからクッキー情報を発行させることが考えられる。
【0083】
また、クッキー情報が付加されている場合(S93:YES)、付加されたクッキー情報と、認証DB26に設定された対応するクッキー情報とが一致するか否かを判別する(S100)。クッキー情報が一致しない場合(S100:NO)、サーバ2は、S94に進み、クイズを生成し、クライアント1に送信する。一方、クッキー情報が一致する場合(S100:YES)、サーバ2は、クイズを生成することなく、認証成功画面をクライアント1に送信する(S98)。
【0084】
以上説明した処理により、クッキー情報を発行する際に、クイズを用いてより高度なユーザ認証を行い、高いセキュリティを確保することができる。また、以上説明した処理では、クッキー情報とクイズとを絡めて認証処理を行う。これにより、クッキー情報を発行する場合にのみクイズを出題するため、認証の強度は維持しつつ、ユーザの利便性を高めることができる。
【0085】
また、以上説明した処理により、フィッシング詐欺による被害を防止することができる。すなわち、フィッシング詐欺においては、本物のサイトと類似するドメイン名で偽装サイトを立ち上げ、ユーザID/パスワード等の認証情報、または個人情報を詐取する手法が一般的である。この場合、静的なユーザID/パスワード等を詐取されただけでは、成りすましが行われないように動的なワンタイムパスワードの導入により認証を強化する対策が考えられている。しかしながら、最近では偽装サイトに入力されたワンタイムパスワードを、即座に本物のサイトへ転送することで認証を成功させ、その直後に本人に成りすました詐欺行為を行うような事例も報告されている。クッキー情報は、基本的にクッキー情報を発行した本物のサーバやドメイン以外に返送されない性質を持つため、上記のようなフィッシング詐欺に対しても有効である。
【図面の簡単な説明】
【0086】
【図1】本発明の一実施形態が適用された認証システムの全体構成を示す図である。
【図2】認証DBの一例を示す図である。
【図3】パラメータテーブルの一例を示す図である。
【図4】各装置のハードウェア構成例を示す図である。
【図5】ログイン画面の一例を示す図である。
【図6】認証システムの全体処理フロー図である。
【図7】ログイン画面の生成処理フロー図である。
【図8】クイズ生成関数の処理フロー図である。
【図9】足し算クイズ生成関数の処理フロー図である。
【図10】引き算クイズ生成関数の処理フロー図である。
【図11】掛け算クイズ生成関数の処理フロー図である。
【図12】ユーザ認証処理の処理フロー図である。
【図13】ユーザ認証処理の処理フロー図である。
【図14】認証エラー画面および認証成功画面の一例を示す図である。
【図15】クッキー情報の発行時にクイズを生成する場合の処理フロー図である。
【符号の説明】
【0087】
1:クライアント、11:表示部、12:指示受付部、2:サーバ、21:ログイン画面生成部、22:クイズ生成部、23:認証部、24:サービス提供部、26:認証DB、27:パラメータテーブル、3:ネットワーク

【特許請求の範囲】
【請求項1】
ユーザ認証装置であって、
ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、
前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成手段と、
前記生成したクイズを前記端末に送信する送信手段と、
前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付手段と、
前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出手段と、
前記回答受付手段が受け付けたクイズの回答と、前記算出手段が算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別手段と、を有すること
を特徴とするユーザ認証装置。
【請求項2】
請求項1記載のユーザ認証装置であって、
前記認証データベースには、複数の前記認証情報が記憶され、
前記認証情報各々は、所定の番号体系を有する数字項目であって、
前記クイズ生成手段は、前記認証情報各々の所定の位置をランダムに選択し、前記選択した各位置に設定された数字を演算するクイズを生成すること
を特徴とするユーザ認証装置。
【請求項3】
請求項2記載のユーザ認証装置であって、
前記クイズ生成手段は、前記選択した各位置に設定された各数字を加算する足し算クイズ、前記選択した各位置に設定された各数字を減算する引き算クイズ、および、前記選択した各位置に設定された各数字を乗算する掛け算クイズのいずれかのパターンのクイズを生成すること
を特徴とするユーザ認証装置。
【請求項4】
請求項2記載のユーザ認証装置であって、
前記認証情報毎に、前記クイズ生成手段が選択可能な当該認証情報の位置を少なくとも1つ記憶したパラメータ記憶手段を、さらに有し、
前記クイズ生成手段は、前記パラメータ記憶手段を読み出し、前記認証情報毎に、前記選択可能な位置の中から所定の位置をランダムに選択し、前記選択した各位置に設定された数字を演算するクイズを生成すること
を特徴とするユーザ認証装置。
【請求項5】
情報処理装置が行うユーザ認証方法であって、
前記情報処理装置は、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、処理部と、を有し、
前記処理部は、
前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成ステップと、
前記生成したクイズを前記端末に送信する送信ステップと、
前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付ステップと、
前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出ステップと、
前記回答受付ステップで受け付けたクイズの回答と、前記算出ステップで算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別ステップと、を行うこと
を特徴とするユーザ認証方法。
【請求項6】
情報処理装置が実行するユーザ認証プログラムであって、
前記情報処理装置は、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、処理部と、を有し、
前記処理部に、
前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成ステップと、
前記生成したクイズを前記端末に送信する送信ステップと、
前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付ステップと、
前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出ステップと、
前記回答受付ステップで受け付けたクイズの回答と、前記算出ステップで算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別ステップと、を実行させること
を特徴とするユーザ認証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2006−318317(P2006−318317A)
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願番号】特願2005−141945(P2005−141945)
【出願日】平成17年5月13日(2005.5.13)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】