(57)【要約】【課題】クライアント側での負荷を増大させることなく、より容易にワンタイムパスワード方式を用いたユーザ認証を行う。【解決手段】ユーザ認証装置であって、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成手段と、前記生成したクイズを前記端末に送信する送信手段と、前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付手段と、前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出手段と、前記回答受付手段が受け付けたクイズの回答と、前記算出手段が算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別手段と、を有する。【選択図】図１
2006318317.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ認証装置であって、
ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、
前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成手段と、
前記生成したクイズを前記端末に送信する送信手段と、
前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付手段と、
前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出手段と、
前記回答受付手段が受け付けたクイズの回答と、前記算出手段が算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別手段と、を有すること
を特徴とするユーザ認証装置。
【請求項２】
請求項１記載のユーザ認証装置であって、
前記認証データベースには、複数の前記認証情報が記憶され、
前記認証情報各々は、所定の番号体系を有する数字項目であって、
前記クイズ生成手段は、前記認証情報各々の所定の位置をランダムに選択し、前記選択した各位置に設定された数字を演算するクイズを生成すること
を特徴とするユーザ認証装置。
【請求項３】
請求項２記載のユーザ認証装置であって、
前記クイズ生成手段は、前記選択した各位置に設定された各数字を加算する足し算クイズ、前記選択した各位置に設定された各数字を減算する引き算クイズ、および、前記選択した各位置に設定された各数字を乗算する掛け算クイズのいずれかのパターンのクイズを生成すること
を特徴とするユーザ認証装置。
【請求項４】
請求項２記載のユーザ認証装置であって、
前記認証情報毎に、前記クイズ生成手段が選択可能な当該認証情報の位置を少なくとも１つ記憶したパラメータ記憶手段を、さらに有し、
前記クイズ生成手段は、前記パラメータ記憶手段を読み出し、前記認証情報毎に、前記選択可能な位置の中から所定の位置をランダムに選択し、前記選択した各位置に設定された数字を演算するクイズを生成すること
を特徴とするユーザ認証装置。
【請求項５】
情報処理装置が行うユーザ認証方法であって、
前記情報処理装置は、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、処理部と、を有し、
前記処理部は、
前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成ステップと、
前記生成したクイズを前記端末に送信する送信ステップと、
前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付ステップと、
前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出ステップと、
前記回答受付ステップで受け付けたクイズの回答と、前記算出ステップで算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別ステップと、を行うこと
を特徴とするユーザ認証方法。
【請求項６】
情報処理装置が実行するユーザ認証プログラムであって、
前記情報処理装置は、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、処理部と、を有し、
前記処理部に、
前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成ステップと、
前記生成したクイズを前記端末に送信する送信ステップと、
前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付ステップと、
前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出ステップと、
前記回答受付ステップで受け付けたクイズの回答と、前記算出ステップで算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別ステップと、を実行させること
を特徴とするユーザ認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの正当性を認証するユーザ認証技術に関する。
【背景技術】
【０００２】
近年、フィッシング詐欺に代表される、インターネット上でのユーザＩＤおよびパスワードの詐取・盗難（identity theft）が問題となっている。そのため、より高いセキュリティを確保する技術の１つに、ワンタイムパスワード（One Time Password）がある。ワンタイムパスワードは、認証のために１回しか使えない「使い捨てのパスワード」である。なお、特許文献１には、クライアントが、記録媒体に記憶されたパラメータと、サーバから送信されたパラメータとを用いてユーザ認証コード（ワンタイムパスワード）を生成するユーザ認証システムが記載されている。
【特許文献１】特開平１１−４１２３０
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１では、クライアントおよびサーバが、それぞれワンタイムパスワードを生成し、連携してユーザ認証を行っている。しかしながら、インターネットに接続された不特定多数のクライアントに、ワンタイムパスワードを生成する機能を追加することは、システム面およびコスト面において負荷が増大し、困難である。また、サーバ側においても、多数のクライアント各々が生成したワンタイムパスワードを認証することは、システム面での負荷が大きい。
【０００４】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、クライアント側での負荷を増大させることなく、より容易にワンタイムパスワード方式を用いたユーザ認証を行うことにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、例えば、ユーザ認証装置であって、ユーザ毎に、当該ユーザの認証情報が記憶された認証データベースと、前記ユーザが使用する端末からアクセス要求を受け付けて、前記認証情報を用いたクイズを生成するクイズ生成手段と、前記生成したクイズを前記端末に送信する送信手段と、前記端末からユーザ識別情報と前記生成したクイズの回答とを受け付ける回答受付手段と、前記認証データベースから前記ユーザ識別情報に対応する認証情報を特定し、前記生成したクイズに前記特定した認証情報を当てはめてクイズの回答を算出する算出手段と、前記回答受付手段が受け付けたクイズの回答と、前記算出手段が算出したクイズの回答とが一致する場合、正当なユーザからのアクセス要求であると判別する判別手段と、を有する。
【発明の効果】
【０００６】
本発明では、クライアント側での負荷を増大させることなく、より容易にワンタイムパスワード方式を用いたユーザ認証を行うことができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について説明する。
【０００８】
図１は、本発明の一実施形態が適用された認証システムの全体構成図である。本実施形態の認証システムは、少なくとも１つのクライアント１と、サーバ２とを有する。そして、各クライアント１とサーバ２とは、インターネットなどのネットワーク３により接続されている。
【０００９】
クライアント１は、ネットワーク３を介してサーバ２にアクセスして、サーバ２が提供する各種サービスを要求する。クライアント１は、図示するように、表示部１１と、指示受付部１２とを有する。表示部１１は、一般的なＷｅｂブラウザと同様の機能を有し、サーバ２から受信した情報を解析して出力装置（不図示）に表示する。指示受付部１２は、クライアント１を操作するユーザの指示を受け付ける。
【００１０】
サーバ２は、クライアント１を使用するユーザを認証し、認証に成功した場合に各種のサービスを提供する。サーバ２は、図示するように、ログイン画面生成部２１と、クイズ生成部２２と、認証部２３と、サービス提供部２４と、認証ＤＢ２６と、パラメータテーブル２７と、を有する。
【００１１】
ログイン画面生成部２１は、クライアント１からのログイン要求（アクセス要求）を受け付けて、後述するログイン画面を生成する。クイズ生成部２２は、ログイン画面に表示するクイズ（問題）を動的に生成する。認証部２３は、ユーザＩＤ、パスワードおよびクイズの回答を受信し、ユーザ認証を行う。サービス提供部２４は、各種のサービスをクライアント１に提供する。認証ＤＢ２６は、ユーザ毎に、ユーザ認証に必要な認証情報が記憶されたデータベースである。パラメータテーブル２７は、クイズに用いられる認証情報のパラメータが記憶されたテーブルである。
【００１２】
次に、サーバ２の認証ＤＢ２６およびパラメータテーブル２７について説明する。
【００１３】
図２は、認証ＤＢ２６の一例を示した図である。認証ＤＢ２６は、ユーザ認証に必要な認証情報を、個人情報ＤＢ（不図示）から抽出したデータベースである。なお、サーバ２は、各ユーザの個人情報（氏名、住所、電話番号など）を記憶した個人情報ＤＢを有するものとする。
【００１４】
図示する認証ＤＢ２６は、ユーザ毎に、ユーザＩＤ２６１と、パスワード２６２と、郵便番号２６３と、自宅電話番号２６４と、携帯電話番号２６５と、生年月日２６６とを有する。本実施形態では、各種の個人情報の中から、所定の番号体系（桁数）を有する数字の個人情報を認証情報２６３〜２６６として抽出し、クイズに用いるものとする。なお、認証情報２６３〜２６６は、それぞれ１桁づつ列（カラム）を区切って認証ＤＢ２６に登録する。
【００１５】
なお、図示する認証情報２６３〜２６６以外に、例えば、自家用車のナンバー（４桁）または運転免許証番号（１２桁）などを用いることとしてもよい。
【００１６】
図３は、パラメータテーブル２７の一例を示した図である。パラメータテーブル２７は、認証情報２７１毎に、クイズで使用可能な桁（先頭からの位置）２７２が設定されたテーブルである。具体的には、郵便番号は７桁であって、「０００−０００１」から「９９９−８５３１」まで比較的広く使用されている。このため、郵便番号の使用可能な桁２７２には「１」〜「７」を設定する。これにより、後述するクイズ生成処理において、１桁目から７桁目までのいずれかの桁を選択することができる。
【００１７】
また、自宅電話番号（固定電話）は１０桁であるが、市外局番の先頭（先頭から１桁目）は「０」であって、その次の番号（先頭から２桁目）も一部使用されていない数字が存在する。このため、１桁目と２桁目を除外し、自宅電話番号の使用可能な桁２７２には「３」〜「１０」を設定する。これにより、後述するクイズ生成処理において、３桁目から１０桁目までのいずれかの桁を選択することができる。
【００１８】
また、携帯電話番号は１１桁であって、現在、先頭の３桁は「０９０」または「０８０」等に固定されている。このため、１桁目から３桁目を除外し、携帯電話番号の使用可能な桁２７２には「４」〜「１１」を設定する。これにより、後述するクイズ生成処理において、４桁目から１１桁目までのいずれかの桁を選択することができる。
【００１９】
また、生年月日は、西暦（４桁）と、月（２桁）と、日（２桁）の８桁である。そして、インターネットの利用者は当面１９００年代生まれと推測されるため、西暦の最初の２桁（先頭から１桁目と２桁目）は、使用しないこととする。また、月の１０の位（先頭から５桁目）は、「０」または「１」である。また、日の１０の位（先頭から７桁目）も、「０」から「３」のいずれかの数字である。このため、生年月日の使用可能な桁２７２には、「３」、「４」、「６」、「８」を設定する。これにより、後述するクイズ生成処理において、３桁目、４桁目、６桁目および８桁目のいずれかの桁を選択することができる。
【００２０】
上記説明した、クライアント１およびサーバ２は、いずれも、例えば図４に示すようなＣＰＵ９０１と、メモリ９０２と、ＨＤＤ等の外部記憶装置９０３と、キーボードやマウスなどの入力装置９０４と、ディスプレイやプリンタなどの出力装置９０５と、ネットワークと接続するための通信制御装置９０６と、を備えた汎用的なコンピュータシステムを
用いることができる。このコンピュータシステムにおいて、ＣＰＵ９０１がメモリ９０２
上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。
【００２１】
例えば、クライアント１およびサーバ２の各機能は、クライアント１用のプログラムの
場合はクライアント１のＣＰＵ９０１が、そして、サーバ２用のプログラムの場合はサー
バ２のＣＰＵ９０１が、それぞれ実行することにより実現される。なお、サーバ２の認証ＤＢ２６およびパラメータテーブル２７には、サーバ２のメモリ９０２または外部記憶装置９０３が用いられるものとする。また、入力装置９０４および出力装置９０５については、各装置が必要に応じて備えるものとする。
【００２２】
次に、クライアント１の出力装置に表示されるログイン画面について説明する。
【００２３】
図５は、ログイン画面の一例を示す図である。図示するログイン画面は、ユーザＩＤ入力欄５１と、パスワード入力欄５２と、少なくとも１つのクイズ表示欄５３ａ、５３ｂ、５３ｃと、クイズ表示欄５３に対応するクイズの回答入力欄５４と、送信ボタン５５とを有する。なお、本実施形態のログイン画面では、３個のクイズ表示欄５３ａ、５３ｂ、５３ｃを有するものとする。また、各クイズ表示欄５３ａ、５３ｂ、５３ｃには、クイズの本文と、計算方法の例示が併せて表示されているものとする。
【００２４】
なお、ログイン画面に表示（出題）されるクイズの数が多ければ多いほど、ユーザ認証の強度が高くなる。すなわち、当て推量、および、なりすましが困難になる。そのため、ログイン画面に表示するクイズの数は３個に限定されるものではない。
【００２５】
また、本実施形態のクイズは、１桁の数字をユーザに回答させるものとする。そのため、各回答入力欄５４は、「０」から「９」の数字を選択可能なセレクトボックス（プルダウン形式）により所定の数字を選択させるものとする。
【００２６】
次に、本実施形態の認証システムの処理について説明する。
【００２７】
図６は、認証システムの処理概要を示した処理フロー図である。
【００２８】
まず、クライアント１の指示受付部１２は、ユーザの指示を受け付けて、サーバ２にアクセスしログイン画面を要求する（Ｓ１１）。サーバ２は、クライアント１からの要求を受け付けて、クイズを含むログイン画面を動的に生成し、要求元のクライアント１に送信する（Ｓ１２）。
【００２９】
そして、クライアント１の表示部１１は、サーバから受信したログイン画面を出力装置に表示する（Ｓ１３）。そして、クライアント１の指示受付部１２は、ユーザが入力したユーザＩＤ、パスワードおよびクイズの回答を受け付けて、サーバ２に送信する（Ｓ１４）。サーバ２は、クライアント１から受信したユーザＩＤ等を用いて、ユーザ認証を行う（Ｓ１５）。そして、サーバ２は、ユーザ認証の結果に応じて、認証成功画面または認証エラー画面をクライアント１に送信する。そして、クライアント１の表示部１１は、サーバから受信した認証成功画面または認証エラー画面を出力装置に表示する（Ｓ１６）。
【００３０】
次に、図６に示すログイン画面の生成処理（Ｓ１２）について、詳しく説明する。
【００３１】
図７は、サーバ２のログイン画面の生成処理フロー図である。なお、サーバ２のログイン画面生成部２１は、ＨＴＭＬ（HyperText Markup Language）またはＸＭＬ（eXtensible Markup Language）などのマークアップ言語を用いて、図５に示すようなログイン画面を生成するものとする。
【００３２】
まず、ログイン画面生成部２１は、ユーザＩＤ入力欄およびパスワード入力欄の部分の画面情報を生成する（Ｓ２１）。そして、ログイン画面生成部２１は、ログイン画面に表示するクイズの数だけ、Ｓ２３からＳ２５の処理を繰り返し行う（Ｓ２２、Ｓ２６）。なお、本実施形態では、ログイン画面に３つのクイズを表示するため、ｎ＝３として３回の繰り返し処理（ループ処理）を行うものとする。
【００３３】
繰り返し処理では、ログイン画面生成部２１は、クイズのパターンを選択するための乱数を生成する（Ｓ２３）。なお、本実施形態のクイズは、クイズを回答するユーザが、暗算または電卓を使用して簡単に答えを算出できるように、足し算パターンと、引き算パターンと、掛け算パターンの３種類の演算パターンを用いるものとする。したがって、図示する例では、ログイン画面生成部２１は、所定のアルゴリズムにより、「１」（足し算パターン）、「２」（引き算パターン）および「３」（掛け算パターン）のいずれかの乱数を生成する。
【００３４】
そして、ログイン画面生成部２１は、Ｓ２３で生成したクイズのパターンの乱数を引数として、クイズ生成関数を呼び出す（Ｓ２４）。なお、クイズ生成関数については後述する。
【００３５】
そして、ログイン画面生成部２１は、クイズ生成関数により生成されたクイズの本文と当該クイズの計算例と取得し、クイズ表示欄を生成する。また、ログイン画面生成部２１は、クイズの回答入力欄を生成する（Ｓ２５）。なお本実施形態のクイズ解答欄は、「０」から「９」の数字を選択可能なセレクトボックスを用いるものとする。
【００３６】
また、ログイン画面生成部２１は、生成されたクイズを識別するためのクイズ識別情報（クイズ識別コード）を隠しデータ（入力フォームの「ｈｉｄｄｅｎ属性」）として、または、クッキー情報としてログイン画面に設定する。これにより、ログイン画面生成部２１は、ログイン画面とともにクイズ識別情報をクライアント１に送信し、クイズの回答とともに当該クイズ識別情報をクライアント１から受信することができる。なお、クイズ識別情報には、Ｓ２３で生成したクイズのパターン、および、クイズ生成関数から取得する変数（パラメータ）が含まれる。
【００３７】
そして、所定の回数（３回）の繰り返し処理を終了後（Ｓ２６）、ログイン画面生成部２１は、送信ボタンなどを生成してログイン画面を完成させる。そして、ログイン画面生成部２１は、生成したログイン画面をクライアントに送信する（Ｓ２７）。なお、クライアント１の表示部１１は、ＨＴＭＬなどで記述されたログイン画面を解析し、出力装置にログイン画面（図５参照）を出力する。
【００３８】
次に、クイズ生成関数の処理（図７：Ｓ２４）について説明する。
【００３９】
図８はクイズ生成関数の処理フロー図である。まず、クイズ生成部２２は、引数として設定されたクイズのパターンが、「１」であるか否かを判別する（Ｓ３１）。クイズのパターンが「１」の場合（Ｓ３１：ＹＥＳ）、クイズ生成部２２は、後述する足し算クイズ生成関数を呼び出す（Ｓ３２）。
【００４０】
また、クイズのパターンが「１」でない場合（Ｓ３１：ＮＯ）、クイズ生成部２２は、クイズのパターンが「２」であるか否かを、さらに判別する（Ｓ３３）。クイズのパターンが「２」の場合（Ｓ３３：ＹＥＳ）、クイズ生成部２２は、後述する引き算クイズ生成関数を呼び出す（Ｓ３４）。また、クイズのパターンが「２」でない場合、すなわち「３」の場合（Ｓ３３：ＮＯ）、クイズ生成部２２は、後述する掛け算クイズ生成関数を呼び出す（Ｓ３５）。そして、クイズ生成部２２は、各関数で生成されたクイズの本文および計算例と、クイズ識別情報とを取得する（Ｓ３６）。
【００４１】
次に、足し算クイズ生成関数、引き算クイズ生成関数、および、掛け算クイズ生成関数の処理について説明する。
【００４２】
図９は、足し算クイズ生成関数の処理フロー図である。
【００４３】
クイズ生成部２２は、クイズに使用する郵便番号の桁（先頭からの位置）を選択するための乱数を生成する（Ｓ４１）。すなわち、クイズ生成部２２は、パラメータテーブル２７を参照し、郵便番号の使用可能な桁（数字）の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【００４４】
そして、クイズ生成部２２は、クイズに使用する自宅電話番号の桁を選択するための乱数を生成する（Ｓ４２）。すなわち、クイズ生成部２２は、パラメータテーブル２７を参照し、自宅電話番号の使用可能な桁の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【００４５】
そして、クイズ生成部２２は、クイズに使用する携帯電話番号の桁を選択するための乱数を生成する（Ｓ４３）。すなわち、クイズ生成部２２は、パラメータテーブル２７を参照し、携帯電話番号の使用可能な桁の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【００４６】
そして、クイズ生成部２２は、クイズに使用する生年月日の桁を選択するための乱数を生成する（Ｓ４４）。すなわち、クイズ生成部２２は、パラメータテーブル２７を参照し、生年月日の使用可能な桁の中からいずれかの数字を所定のアルゴリズムによりランダムに選択する。
【００４７】
そして、クイズ生成部２２は、Ｓ４１からＳ４４で選択した数字を用いて、足し算クイズの本文を生成する（Ｓ４５）。足し算クイズの本文としては、例えば図５のログイン画面（クイズ表示欄５３ａ）に示すように、「あなたの住所郵便番号のｎ（Ｓ４１で生成した数字）桁目と、自宅電話番号のｎ（Ｓ４２で生成した数字）桁目と、携帯電話番号のｎ（Ｓ４３で生成した数字）桁目と、生年月日のｎ（Ｓ４４で生成した数字）桁目とを全て足し算し、その結果の１の位の数字をお答え下さい。」などが考えられる。なお、上述の本文の「ｎ」は変数である。
【００４８】
そして、クイズ生成部２２は、クイズの計算例を生成する（Ｓ４６）。クイズの計算例は、例えば図５のログイン画面（クイズ表示欄５３ａ）に示すように、各項目毎に当該項目の番号体系に適合する所定の番号を設定し、設定した番号の変数部分に下線を引く。そして、下線部分の数値を加算する計算式を生成することが考えられる。
【００４９】
そして、クイズ生成部２２は、生成したクイズの本文と、計算例と、クイズ識別情報（Ｓ４１からＳ４４で生成した各変数）とを、クイズ生成関数（図８：Ｓ３６）に返す（Ｓ４７）。
【００５０】
図１０は、引き算クイズ生成関数の処理フロー図である。
【００５１】
クイズ生成部２２は、図９のＳ４１からＳ４４と同様に、郵便番号、自宅電話番号、携帯電話番号および生年月日の桁を選択するための乱数を生成する（Ｓ５１〜Ｓ５４）。そして、クイズ生成部２２は、図９のＳ４５と同様に引き算クイズの本文を生成する（Ｓ５５）。なお、引き算クイズの本文としては、例えば図５のログイン画面（クイズ表示欄５３ｂ）に示すように、「あなたの住所郵便番号のｎ桁目から、自宅電話番号のｎ桁目と、携帯電話番号のｎ桁目と、生年月日のｎ桁目とを全て引き算し、その結果の１の位の数字をお答え下さい。計算結果がマイナスの場合でも、１の位の数字をお答え下さい。」などが考えられる。
【００５２】
そして、クイズ生成部２２は、例えば図５のログイン画面（クイズ表示欄５３ｂ）に示すようなクイズの計算例を生成する（Ｓ５６）。そして、クイズ生成部２２は、生成したクイズの本文と、計算例と、クイズ識別情報（Ｓ５１からＳ５４で生成した各変数）とを、クイズ生成関数（図８：Ｓ３６）に返す（Ｓ５７）。
【００５３】
図１１は、掛け算クイズ生成関数の処理フロー図である。
【００５４】
クイズ生成部２２は、図９のＳ４１からＳ４４と同様に、郵便番号、自宅電話番号、携帯電話番号および生年月日の桁を選択するための乱数を生成する（Ｓ６１〜Ｓ６４）。そして、クイズ生成部２２は、図９のＳ４５と同様に掛け算クイズの本文を生成する（Ｓ６５）。なお、掛け算クイズの本文としては、例えば図５のログイン画面（クイズ表示欄５３ｃ）に示すように、「あなたの住所郵便番号のｎ桁目と、自宅電話番号のｎ桁目と、携帯電話番号のｎ桁目と、生年月日のｎ桁目とを全て掛け算し、その結果の１の位の数字をお答え下さい。ただし、「０」が選択された場合には、「０」を「１」に読み替えて計算して下さい。」などが考えられる。
【００５５】
そして、クイズ生成部２２は、例えば図５のログイン画面（クイズ表示欄５３ｃ）に示すようなクイズの計算例を生成する（Ｓ６６）。そして、クイズ生成部２２は、生成したクイズの本文と、計算例と、クイズ識別情報（Ｓ６１からＳ６４で生成した各変数）とを、クイズ生成関数（図８：Ｓ３６）に返す（Ｓ６７）。
【００５６】
次に、図６に示すユーザ認証処理（Ｓ１５）について、詳しく説明する。
【００５７】
図１２および図１３は、サーバ２のユーザ認証処理の処理フロー図である。図１２に示すように、認証部２３は、ユーザＩＤ、パスワード、クイズの回答およびクイズ識別情報を、クライアント１から受信する（Ｓ７１）。クイズ識別情報は、隠しデータ（ｈｉｄｄｅｎ属性）として、または、またはクッキー情報として、入力情報（ユーザＩＤ、パスワード、クイズの回答）とともに、サーバ２に送信される。
【００５８】
そして、認証部２３は、認証ＤＢ２６に受信したユーザＩＤが存在するか否かを判別する（Ｓ７２）。認証ＤＢ２６に受信したユーザＩＤが存在しない場合（Ｓ７２：ＮＯ）、認証部２３は、図１４（ａ）に示すような認証エラー画面をクライアント１に送信する（Ｓ７４）。なお、図示する認証エラー画面は、ログイン画面にリンク（遷移）するためのＵＲＬが埋め込まれている。
【００５９】
また、認証ＤＢ２６に受信したユーザＩＤが存在する場合（Ｓ７２：ＹＥＳ）、認証部２３は、認証ＤＢ２６に記憶された当該ユーザＩＤのパスワードと、受信したパスワードとが一致するか否かを判別する（Ｓ７３）。パスワードが一致しない場合（Ｓ７３：ＮＯ）、認証部２３は、図１４（ａ）に示すような認証エラー画面をクライアント１に送信する。なお、認証部２３は、同じユーザＩＤで、所定の回数を超えて認証エラーとなった場合は、アカウントロックアウト処理（当該ユーザＩＤでのログインを拒否する処理）を行うこととしてもよい。
【００６０】
また、パスワードが一致した場合（Ｓ７３：ＹＥＳ）、認証部２３は、図１３の処理を行う。すなわち、認証部２３は、ログイン画面に表示されたクイズの数だけ、Ｓ７６からＳ８５の処理を繰り返し行う（Ｓ７５、Ｓ８７）。なお、本実施形態では、ログイン画面に３つのクイズを表示するため、ｎ＝３として３回の繰り返し処理（ループ処理）を行うものとする。
【００６１】
まず、認証部２３は、Ｓ７１で受信した情報の中から、所定のクイズ（ｉ問目のクイズ）の回答（answer（ｉ））と、クイズ識別情報とを特定する（Ｓ７６）。そして、認証部２３は、認証ＤＢ２６を参照し、受信したユーザＩＤのレコードを特定する。そして、認証部２３は、認証情報（郵便番号、自宅電話番号、携帯電話番号、生年月日）毎に、クイズ識別情報の変数部分（ｎ桁目）に設定された数字（数値）を、特定したレコードから抽出する（Ｓ７７）。
【００６２】
そして、認証部２３は、クイズ識別情報に含まれるクイズのパターンが、「１」であるか否かを判別する（Ｓ７８）。クイズのパターンが「１」の場合（Ｓ７８：ＹＥＳ）、認証部２３は、Ｓ７７で抽出した各数字を全て加算し、算出結果の１の位の数字を算出値（result(i)）とする（Ｓ７９）。
【００６３】
また、クイズのパターンが「１」でない場合（Ｓ７８：ＮＯ）、認証部２３は、クイズのパターンが「２」であるか否かを、さらに判別する（Ｓ８０）。クイズのパターンが「２」の場合（Ｓ８０：ＹＥＳ）、認証部２３は、Ｓ７７で抽出した各数字を順に減算し、算出結果の１の位の数字を算出値（result(i)）とする（Ｓ８１）。
【００６４】
また、クイズのパターンが「２」でない場合、すなわち「３」の場合（Ｓ８０：ＮＯ）、認証部２３は、Ｓ７７で抽出した各数字の中に「０」が存在するか否かを判別する（Ｓ８２）。「０」が存在する場合（Ｓ８２：ＹＥＳ）、認証部２３は、「０」を「１」に置換する（Ｓ８３）。そして、認証部２３は、Ｓ７７で抽出した各数字（または、置換した「１」）を全て乗算し、算出結果の１の位の数字を算出値（result(i)）とする（Ｓ８４）。
【００６５】
そして、認証部２３は、クイズの回答（answer(i)）と、算出値（result(i)）とが一致するか否かを判別する（Ｓ８５）。クイズの回答と算出値とが一致しない場合（Ｓ８５：ＮＯ）、認証部２３は、図１４（ａ）に示すような認証エラー画面をクライアント１に送信する（Ｓ８６）。なお、認証部２３は、必要に応じてアカウントロックアウト処理を行うこととしてもよい。
【００６６】
クイズの回答と算出値とが一致する場合（Ｓ８５：ＹＥＳ）、認証部２３は、所定の回数（３回）の繰り返し処理（Ｓ８７）を行う。そして、全てのクイズの回答が一致する場合、認証部２３は、図１４（ｂ）に示すような認証に成功したことを示す認証成功画面をクライアント１に送信する（Ｓ８８）。なお、ＨＴＴＰ（HyperText Transfer Protocol）またはＨＴＴＰＳ（Hypertext Transfer Protocol Security）上で商取引等を行うために必要な「セッション管理」機構などが、認証部２３の認証後（認証に成功した後）、認証成功画面以降へのアクセスを許可するものとする。また、図示する認証成功画面は、各種サービスのメニューが表示されたメニュー画面にリンク（遷移）するためのＵＲＬが埋め込まれている。メニュー画面に遷移した後、サーバ２のサービス提供部２４は、クライアントから指示されたサービスを提供する。
【００６７】
以上、本発明の一実施形態を説明した。
【００６８】
本実施形態では、ログイン要求時に個人情報に含まれる数字を用いたクイズを生成し、ユーザに回答させる。これにより、クライアント側にユーザ認証のための機能を実装することなく、より容易にユーザ認証を行うことができる。
【００６９】
また、サーバ２は、足し算、引き算などのクイズパターンの中からランダムに所定のクイズパターンを選択する。また、サーバ２は、クイズに用いる各個人情報（認証情報）の所定の桁（先頭からの位置）を変数（パラメータ）としてランダムに選択する。このように、クイズパターンと変数とを、ログイン要求に動的に選択することにより、簡易なワンタイムパスワード方式を用いたユーザ認証を実現することができる。
【００７０】
また、クイズパターンと変数とを、ログイン要求時にランダムに変更することにより、総当り攻撃（brute force attack）に対する耐性を確保することができる。
【００７１】
また、本実施形態では、個人情報そのものを用いることなく、複数の個人情報を組み合わせてクイズ形式でユーザ認証を行う。これにより、悪意のある第三者が１つの個人情報（例えば、携帯電話番号）だけを知っている場合であっても、正しい答えを回答することができない。また、クイズの回答から個人情報を導出できないため、個人情報の漏洩を防止することができる。
【００７２】
また、本実施形態では、パラメータテーブル２７を有し、個人情報（認証情報）毎にクイズに不適切な桁（先頭からの位置）を除外している。これにより、解空間が小さくなる危険性を防止することができる。すなわち、本人以外の人に、容易に正解を推測される危険性を防止することができる。
【００７３】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態では、サーバ２が認証ＤＢ２６およびパラメータテーブル２７を有することとした。しかしながら、本発明はこれに限定されず、ネットワークを介してサーバ２と接続された他サーバ（不図示）が、認証ＤＢ２６およびパラメータテーブル２７を有することとしてもよい。この場合、サーバ２は、ネットワークを介して、他サーバの認証ＤＢ２６およびパラメータテーブル２７にアクセスするものとする。
【００７４】
また、上記実施形態では、ユーザＩＤ、パスワードおよびクイズを用いてユーザ認証を行うこととした。しかしながら、本発明はこれに限定されず、クッキー情報を発行する際にクイズを用いて、より高度なユーザ認証を行うこととしてもよい。クッキー情報は、サーバ２とクライアント１（Ｗｅｂブラウザ）間で送受信されるユーザ情報である。なお、ここでいうクッキー情報は、本質的にステートレスなＨＴＴＰ（Ｓ）プロトコル上で商取引等を行うために必要な「セッション管理」機構を実現するためのものではなく、特定のユーザ及びクライアント１（Ｗｅｂブラウザ）が、既に本発明のクイズ形式による認証に成功している証しとして用いられるものである。
【００７５】
図１５は、クッキー情報の発行時にクイズを用いた場合のサーバ２の処理フロー図である。なお、図示する処理の場合、認証ＤＢ２６（図２参照）は、クッキー情報を記憶するクッキー情報設定欄と、クッキー情報の有効期限とをさらに有するものとする。
【００７６】
まず、サーバ２は、クライアント１からユーザＩＤおよびパスワードを受信する（Ｓ９１）。すなわち、クライアント１は、ユーザＩＤおよびパスワードの入力を受け付けるログイン画面を出力装置に表示し、ユーザが入力したユーザＩＤおよびパスワードをサーバ２に送信する。
【００７７】
そして、サーバ２は、受信したユーザＩＤおよびパスワードが、認証ＤＢ２６に存在するか否かを判別する（Ｓ９２）。認証ＤＢ２６に存在しない場合（Ｓ９２：ＮＯ）、サーバ２は、認証エラー画面（図１４（ａ）参照）をクライアント１に送信する（Ｓ９９）。一方、認証ＤＢ２６に存在する場合（Ｓ９２：ＹＥＳ）、サーバ２は、受信したユーザＩＤおよびパスワードにクッキー情報が付加されているか否かを判別する（Ｓ９３）。
【００７８】
クッキー情報が付加されていない場合（Ｓ９３：ＮＯ）、サーバ２は、ユーザ認証の強度を上げるため、上記実施形態（図７〜図１１参照）で説明したクイズを生成し、クライアント１に送信する（Ｓ９４）。なお、クッキー情報が付加されていない場合としては、初回のログイン時の場合、クッキー情報の有効期限を過ぎた場合、正当なユーザが異なるクライアント（例えば、自宅（会社）のパソコン）からログインした場合、または、悪意のある第三者によるなりすましの場合などが考えられる。
【００７９】
そして、サーバ２は、クライアント１からクイズの回答を受信する（Ｓ９５）。なお、クライアント１は、サーバ２から送信されたクイズを出力装置に表示し、ユーザが入力したクイズの回答を受け付ける。そして、クライアント１は、受け付けたクイズの回答をサーバ２に送信する。
【００８０】
そして、サーバ２は、上記実施形態（図１２、図１３参照）で説明したように、受信したクイズの回答が正しいか否かを判別する（Ｓ９６）。クイズの回答が正しくない場合（Ｓ９６：ＮＯ）、サーバ２は、認証エラー画面（図１４（ａ）参照）をクライアント１に送信する（Ｓ９９）。
【００８１】
一方、クイズの回答が正しい場合（Ｓ９６：ＹＥＳ）、サーバ２は、正当なユーザであると判別し、クッキー情報を生成する（Ｓ９７）。そして、サーバ２は、認証ＤＢ２６の当該ユーザＩＤのクッキー情報設定欄に、生成したクッキー情報を設定する。なお、クッキー情報の有効期限を過ぎている場合には、生成したクッキー情報をクッキー情報設定欄に上書きする。また、正当なユーザが異なるクライアントからログインした場合には、当該ユーザ（クライアント）の新たなレコードを認証ＤＢに追加して、生成したクッキー情報を設定する。
【００８２】
そして、サーバ２は、生成したクッキー情報を付加した認証成功画面（図１４（ｂ）参照）をクライアント１に送信する（Ｓ９８）。なお、セキュリティをより強化するために、サーバ２は、クッキー情報を発行するためのＵＲＬ（ワンタイムＵＲＬ）が記載されたメールを、当該クライアント宛てに送信することとしてもよい。そして、メールを受信したクライアント１のユーザは、メールに記述されたＵＲＬをクリックして、当該ＵＲＬからクッキー情報を発行させることが考えられる。
【００８３】
また、クッキー情報が付加されている場合（Ｓ９３：ＹＥＳ）、付加されたクッキー情報と、認証ＤＢ２６に設定された対応するクッキー情報とが一致するか否かを判別する（Ｓ１００）。クッキー情報が一致しない場合（Ｓ１００：ＮＯ）、サーバ２は、Ｓ９４に進み、クイズを生成し、クライアント１に送信する。一方、クッキー情報が一致する場合（Ｓ１００：ＹＥＳ）、サーバ２は、クイズを生成することなく、認証成功画面をクライアント１に送信する（Ｓ９８）。
【００８４】
以上説明した処理により、クッキー情報を発行する際に、クイズを用いてより高度なユーザ認証を行い、高いセキュリティを確保することができる。また、以上説明した処理では、クッキー情報とクイズとを絡めて認証処理を行う。これにより、クッキー情報を発行する場合にのみクイズを出題するため、認証の強度は維持しつつ、ユーザの利便性を高めることができる。
【００８５】
また、以上説明した処理により、フィッシング詐欺による被害を防止することができる。すなわち、フィッシング詐欺においては、本物のサイトと類似するドメイン名で偽装サイトを立ち上げ、ユーザＩＤ／パスワード等の認証情報、または個人情報を詐取する手法が一般的である。この場合、静的なユーザＩＤ／パスワード等を詐取されただけでは、成りすましが行われないように動的なワンタイムパスワードの導入により認証を強化する対策が考えられている。しかしながら、最近では偽装サイトに入力されたワンタイムパスワードを、即座に本物のサイトへ転送することで認証を成功させ、その直後に本人に成りすました詐欺行為を行うような事例も報告されている。クッキー情報は、基本的にクッキー情報を発行した本物のサーバやドメイン以外に返送されない性質を持つため、上記のようなフィッシング詐欺に対しても有効である。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態が適用された認証システムの全体構成を示す図である。
【図２】認証ＤＢの一例を示す図である。
【図３】パラメータテーブルの一例を示す図である。
【図４】各装置のハードウェア構成例を示す図である。
【図５】ログイン画面の一例を示す図である。
【図６】認証システムの全体処理フロー図である。
【図７】ログイン画面の生成処理フロー図である。
【図８】クイズ生成関数の処理フロー図である。
【図９】足し算クイズ生成関数の処理フロー図である。
【図１０】引き算クイズ生成関数の処理フロー図である。
【図１１】掛け算クイズ生成関数の処理フロー図である。
【図１２】ユーザ認証処理の処理フロー図である。
【図１３】ユーザ認証処理の処理フロー図である。
【図１４】認証エラー画面および認証成功画面の一例を示す図である。
【図１５】クッキー情報の発行時にクイズを生成する場合の処理フロー図である。
【符号の説明】
【００８７】
１：クライアント、１１：表示部、１２：指示受付部、２：サーバ、２１：ログイン画面生成部、２２：クイズ生成部、２３：認証部、２４：サービス提供部、２６：認証ＤＢ、２７：パラメータテーブル、３：ネットワーク
【図１】
2006318317.tif 000003
【図２】
2006318317.tif 000004
【図３】
2006318317.tif 000005
【図４】
2006318317.tif 000006
【図５】
2006318317.tif 000007
【図６】
2006318317.tif 000008
【図７】
2006318317.tif 000009
【図８】
2006318317.tif 000010
【図９】
2006318317.tif 000011
【図１０】
2006318317.tif 000012
【図１１】
2006318317.tif 000013
【図１２】
2006318317.tif 000014
【図１３】
2006318317.tif 000015
【図１４】
2006318317.tif 000016
【図１５】
2006318317.tif 000017