(57)【要約】【課題】  正当なユーザ以外の人間が正当なユーザとして認証されてしまうことを防ぐ。【解決手段】  サーバ（１３）は、各ユーザのユーザ任意のコード変換規則を記憶した記憶域（１７）を参照し、当該ユーザに対応したコード変換規則を特定する。サーバは、コード群を生成し、当該ユーザに提示し、提示したコード群とは別の、当該ユーザから入力されたコード群を受ける。サーバは、生成されたコード群と特定されたコード変換規則に基づいて、受けた別のコード群が、特定されたコード変換規則に従って上記生成されたコード群を変換したものであるか否かを判断し、その判断によって肯定的な判断結果が得られた場合に当該ユーザを認証する。【選択図】図５
2007058807.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザのユーザ任意のコード変換規則を記憶した記憶域を参照し、認証するか否かの判断の対象である当該ユーザに対応したコード変換規則を特定する手段と、
コード群を生成する手段と、
前記生成されたコード群を前記当該ユーザに提示する手段と、
前記提示したコード群とは別の、前記当該ユーザから入力されたコード群を受ける手段と、
前記生成されたコード群と前記特定されたコード変換規則に基づいて、前記受けた別のコード群が、前記特定されたコード変換規則に従って前記生成されたコード群を変換したものであるか否かを判断する手段と
を備え、前記判断によって肯定的な判断結果が得られた場合に前記当該ユーザを認証する、
認証システム。
【請求項２】
前記特定する手段は、各ユーザの認証用コード群及びユーザ任意のパスワード構成規則を記憶した前記記憶域を参照して、前記当該ユーザに対応する認証用コード群及びパスワード構成規則を特定し、
前記生成する手段は、認証用コード群とは違うコード群である偽コード群を生成し、
前記提示する手段は、前記生成された偽コード群を前記当該ユーザに提示し、
前記別のコード群を受ける手段は、前記提示した偽コード群を構成するコードと前記認証用コード群を構成するコードとが混在したコード群である混合パスワードを受け、
前記判断する手段は、前記生成した偽コード群と、前記特定された認証用コード群及びパスワード構成規則とに基づいて、前記受けた混合パスワードが、前記特定されたパスワード構成規則に従って前記特定された認証用コード群のコードと前記偽コード群のコードとが正しく混在されたものであるか否かを判断する、
請求項１記載の認証システム。
【請求項３】
前記生成する手段は、同一のユーザに対して提示されるコード群であっても、ユーザ認証の都度に異なるコード群を生成する、
請求項１記載の認証システム。
【請求項４】
前記生成する手段は、同一のユーザに対して提示される偽コード群であっても、ユーザ認証の都度に異なる偽コード群を生成し、且つ、その偽コード群を、前記特定された認証用コード群及び／又は前記パスワード構成規則に基づいて生成する、
請求項２記載の認証システム。
【請求項５】
前記生成する手段は、複数のコード群を生成し、
前記提示する手段は、前記生成された複数のコード群を提示し、
前記受けた別コード群は、前記提示された複数のコード群の中から前記当該ユーザに選択されたコード群が変換されたものである、
請求項１記載の認証システム。
【請求項６】
前記ユーザが使用する装置であるユーザ装置に通信可能に接続され、
同一のユーザであってもユーザ認証の都度に中身の異なる電子的な鍵を生成する手段と、
前記生成された鍵を前記ユーザ装置に提供する手段と、
前記ユーザ装置から受けた、前記提供された鍵で前記別のコード群が暗号化されたものを、前記鍵で復号化する手段と
を備え、
前記判断する手段は、前記鍵での復号化によって得られた別のコード群の正否を判断する、
請求項１記載の認証システム。
【請求項７】
各ユーザのユーザ任意のコード変換規則を記憶した記憶域を参照し、認証するか否かの判断の対象である当該ユーザに対応したコード変換規則を特定するステップと、
コード群を生成するステップと、
前記生成されたコード群を前記当該ユーザに提示するステップと、
前記提示したコード群とは別の、前記当該ユーザから入力されたコード群を受けるステップと、
前記生成されたコード群と前記特定されたコード変換規則に基づいて、前記受けた別のコード群が、前記特定されたコード変換規則に従って前記生成されたコード群を変換したものであるか否かを判断するステップと
を備え、前記判断によって肯定的な判断結果が得られた場合に前記当該ユーザを認証する、
認証方法。
【請求項８】
各ユーザのユーザ任意のコード変換規則を記憶した記憶域を参照し、認証するか否かの判断の対象である当該ユーザに対応したコード変換規則を特定するステップと、
コード群を生成するステップと、
前記生成されたコード群を前記当該ユーザに提示するステップと、
前記提示したコード群とは別の、前記当該ユーザから入力されたコード群を受けるステップと、
前記生成されたコード群と前記特定されたコード変換規則に基づいて、前記受けた別のコード群が、前記特定されたコード変換規則に従って前記生成されたコード群を変換したものであるか否かを判断するステップと
前記判断によって肯定的な判断結果が得られた場合に前記ユーザを認証するステップと
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザを認証するための技術に関する。
【背景技術】
【０００２】
認証技術として、例えば、以下の特許文献１乃至特許文献４に開示されている技術がある。
【０００３】
【特許文献１】特開２００５−８５０７１号公報
【特許文献２】特開２００２−２４５２４４号公報
【特許文献３】特開２００３−３３７７９９号公報
【特許文献４】特許第２９９３２７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、一般に、サーバクライアントシステムでは、サーバマシンが、ユーザがクライアントマシンに入力したパスワードを受信して、そのパスワードが正当か否かを判断し、正当であると判断した場合に、ユーザを正当な者と認証するものがある。
【０００５】
この種の認証技術では、クライアントマシンにパスワードがそのまま入力される。このため、キーロガー等の入力監視機能が不正にクライアントマシンに仕掛けられていると、容易にパスワードが不特定の人間に盗まれてしまう。
【０００６】
また、この種の認証技術では、入力されたパスワードがクライアントマシンによって暗号化されてから送信されることがある。しかし、上記の通り、パスワードがそのまま入力されるため、暗号化されたとしても、暗号化されたパスワード（以下、暗号パスワード）が不特定の人間に盗まれ、盗まれた暗号パスワードがその不特定の人間によってサーバに送信されてしまえば、その不特定の人間がサーバで正当な者として認証されてしまう。
【０００７】
以上のような問題点は、他種の認証技術にも存在し得る。
【０００８】
従って、本発明の目的は、正当なユーザ以外の人間が正当なユーザであると認証されてしまうことを防ぐことにある。
【０００９】
本発明の他の目的は、後の説明から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本発明に従う認証システムは、当該ユーザのユーザＩＤを受ける手段と、各ユーザのユーザＩＤ及びユーザ任意のコード変換規則を記憶した記憶域を参照し、前記受けたユーザＩＤに対応したコード変換規則を特定する手段と、コード群を生成する手段と、前記生成されたコード群を前記当該ユーザに提示する手段と、前記提示したコード群とは別の、前記当該ユーザから入力されたコード群を受ける手段と、前記生成されたコード群と前記特定されたコード変換規則に基づいて、前記受けた別のコード群が、前記特定されたコード変換規則に従って前記生成されたコード群を変換したものであるか否かを判断する手段とを備え、前記判断によって肯定的な判断結果が得られた場合に前記当該ユーザを認証する。
【００１１】
なお、コードとしては、文字、符号、数字等の種々の記号を採用することができる。また、前記記憶域は、前記認証システムに備えられても良いし、前記認証システムの外に、前記認証システムと通信可能に存在しても良い。また、ユーザ任意のコード変換規則は、ユーザによって定義された規則であっても良いし、予め用意されている複数のコード変換規則の中からユーザに選択された規則であっても良い。また、ユーザＩＤは、ユーザを識別するための情報であればどのようなものであっても良い（例えば、コード列、或いはユーザの生体（例えば指紋）の情報であっても良い）。
【００１２】
本発明の第一の態様では、前記特定する手段は、各ユーザのユーザＩＤ、認証用コード群及びユーザ任意のパスワード構成規則を記憶した前記記憶域を参照して、前記入力されたユーザＩＤに対応する認証用コード群及びパスワード構成規則を特定することができる。前記生成する手段は、認証用コード群とは違うコード群である偽コード群を生成することができる。前記提示する手段は、前記生成された偽コード群を前記当該ユーザに提示することができる。前記別のコード群を受ける手段は、前記提示した偽コード群を構成するコードと前記認証用コード群を構成するコードとが混在したコード群である混合パスワードを受けることができる。前記判断する手段は、前記生成した偽コード群と、前記特定された認証用コード群及びパスワード構成規則とに基づいて、前記受けた混合パスワードが、前記特定されたパスワード構成規則に従って前記特定された認証用コード群のコードと前記偽コード群のコードとが正しく混在されたものであるか否かを判断することができる。
【００１３】
本発明の第二の態様では、前記生成する手段は、同一のユーザに対して提示されるコード群であっても、ユーザ認証の都度に異なるコード群を生成することができる。
【００１４】
本発明の第三の態様では、前記生成する手段は、同一のユーザに対して提示される偽コード群であっても、ユーザ認証の都度に異なる偽コード群を生成し、且つ、その偽コード群を、前記特定された認証用コード群及び／又は前記パスワード構成規則に基づいて生成することができる。
【００１５】
本発明の第四の態様では、前記生成する手段は、複数のコード群を生成することができる。前記提示する手段は、前記生成された複数のコード群を提示することができる。前記受けた別コード群は、前記提示された複数のコード群の中から前記当該ユーザに選択されたコード群が変換されたものである。
【００１６】
本発明の第五の態様では、認証システムには、前記ユーザが使用する装置であるユーザ装置に通信可能に接続されている。認証システムは、同一のユーザであってもユーザ認証の都度に中身の異なる電子的な鍵を生成する手段と、前記生成された鍵を前記ユーザ装置に提供する手段と、前記ユーザ装置から受けた、前記提供された鍵で前記別のコード群が暗号化されたものを、前記鍵で復号化する手段とを備えることができる。この場合、前記判断する手段は、前記鍵での復号化によって得られた別のコード群の正否を判断することができる。
【００１７】
前記認証システムは、一台のコンピュータマシンであっても良いし、複数台のコンピュータマシンにより構築されたコンピュータシステムであっても良い。前記認証システムは、例えば、サーバクライアントシステムのサーバに適用されても良いし、他のシステムに適用されてもよい。
【００１８】
また、前記認証システムの各手段は、ハードウェア、コンピュータプログラム又はそれらの組み合わせにより実現することができる。そのコンピュータプログラムが、例えば、ＣＤ−ＲＯＭ等の記憶媒体からコンピュータにインストールされることにより、或いは、通信ネットワークを介してコンピュータにダウンロードされることにより、前記認証システムが構築されても良い。
【発明の効果】
【００１９】
本発明によれば、正当なユーザ以外の人間が正当なユーザであると認証されてしまうことを防ぐことができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の一実施形態について説明する。
【００２１】
図１は、本発明の一実施形態に係る認証システムが適用されたＷＥＢサーバを有するシステム全体のハードウェア構成を示す。
【００２２】
例えば、ＷＥＢサーバ１３は、通信ネットワーク（例えばインターネット）５１を介して、ユーザが使用する各ユーザ端末（別の言い方をすればクライアントマシン）１００と通信することができる。ユーザ端末１００は、ＣＰＵやメモリ等を備えた据置型の或いはモバイル型のコンピュータマシンであり、具体的には、例えば、パーソナルコンピュータ、携帯電話機などである。ＷＥＢサーバ１３は、データベース（例えばデータベースサーバ）１７にも通信可能に接続することができる。データベース１７には、後述するユーザテーブル３１を格納することができる。
【００２３】
ＷＥＢサーバ１３は、例えば、通信ネットワーク５１を介した通信を行うためのインターフェース装置（以下、「Ｉ／Ｆ」と略記）７や、データベース１７と通信を行うためのＩ／Ｆ５を備える。また、ＷＥＢサーバ１３は、プロセッサ９や、メモリ１１及び／又はメディアドライブ（例えばハードディスクドライブ）３等の記憶資源を備える。記憶資源には、複数種類のソフトウェア（コンピュータプログラム）が記憶され、各種ソフトウェアが適宜にプロセッサ９に読み込まれて実行される。
【００２４】
図１Ｂは、ＷＥＢサーバ１３におけるソフトウェアアーキテクチャの概要の一例を示す。
【００２５】
ＷＥＢサーバ１３では、ウィンドウズ（登録商標）等のオペレーティングシステム（ＯＳ）２１上で、アプリケーションプログラムの一種として認証プログラム２３が実行される。認証プログラム２３には、複数のプログラムモジュールが含まれている。複数のプログラムモジュールとしては、例えば、後述する隠蔽用コード群を生成するための隠蔽用コード群生成モジュール２５と、電子的な鍵を生成するための鍵生成モジュール２６と、生成された鍵を用いた復号化を行うための復号化モジュール２７とがある。認証プログラム２３は、これらのモジュール２５、２６及び２７を適宜に利用して種々の処理を実行することができる。勿論、認証プログラム２３は、これらのモジュール２５、２６及び２７以外のモジュールを備えることもできる。
【００２６】
図２は、ユーザテーブル３１の構成例を示す。
【００２７】
ユーザテーブル３１には、ユーザがＷＥＢサーバ１３にログインするために必要な情報が登録される。具体的には、例えば、ユーザテーブル３１には、各ユーザ毎に、ユーザＩＤ、パスワード及び変換方式情報が登録される。変換方式情報とは、変換方式を表す情報である。認証プログラム２３を読み込んで実行するプロセッサ９は（以下、「認証プログラム２３は」と言う）、この変換方式情報を参照することで、どんな変換方式が登録されているかを理解することができる（変換方式についての説明は後に行う）。
【００２８】
以下、図３以降を参照して、本実施形態で行われる処理の流れを説明する。
【００２９】
図３は、ユーザ登録処理の流れの一例を示す。
【００３０】
ユーザ端末１００とＷＥＢサーバ（以下、単に「サーバ」と言う）１３とが所定のやり取りを行うことにより、サーバ１３が、ユーザＩＤ登録欄４３、パスワード登録欄４５、変換方式登録欄４７及び複数の変換方式選択肢を記載した電子的な画面（以下、ユーザ登録画面）４１を準備し、そのユーザ登録画面４１をユーザ端末１００に提供する（ステップＳ１）。これにより、ユーザ登録画面４１が、ユーザ端末１００のディスプレイ画面に表示される。
【００３１】
ここで、変換方式とは、ユーザの認証を行うためにユーザがパスワードを入力する場合に、どのような規則に従ってパスワードを構成するかということを意味する。より詳細に言うと、パスワードと、後述する隠蔽用コード群を構成する各コード（以下、隠蔽コード）とを、どのような規則に従って混在させるかという意味である。つまり、ここでは、パスワードを後述する混合パスワードに変換することとして「変換方式」という言葉を用いている。この実施形態では、変換方式として、例えば、「反転」、「インサート」及び「反転＋インサート」の三種類が用意されている。
【００３２】
「反転」とは、隠蔽用コード群を反転し、反転後の隠蔽用コード群の前又は後ろに、パスワードを結合することを意味する。例えば、隠蔽用コード群が"１２３"であり、パスワードが"６７８"である場合では、変換方式「反転」に従うと、反転後の隠蔽用コード群は"３２１"となるので、"３２１６７８"又は"６７８３２１"が入力されることになる（このような、隠蔽コードとパスワードとが混在したコード群を、以下、「混合パスワード」と言うことにする）。なお、隠蔽用コード群とは、ユーザのパスワードを不特定の人間に特定されないようにするために、パスワードと共に入力される、パスワードを構成しない偽のコード（例えば乱数）の集合である。隠蔽用コード群を構成する隠蔽コードは、一つであっても複数であっても良い。
【００３３】
「インサート」とは、隠蔽用コード群のユーザ任意の場所にパスワードを挿入することを意味する。例えば、隠蔽用コード群が"１２３"であり、パスワードが"６７８"である場合では、変換方式「インサート」に従うと、入力される混合パスワードは、"１２３６７８"、"１２６７８３"、"１６７８２３"又は"６７８１２３"である。
【００３４】
「反転＋インサート」とは、反転後の隠蔽用コード群のユーザ任意の場所にパスワードを挿入することを意味する。例えば、隠蔽用コード群が"１２３"であり、パスワードが"６７８"である場合では、変換方式「反転＋インサート」に従うと、入力される混合パスワードは、"３２１６７８"、"３２６７８１"、"３６７８２１"又は"６７８３２１"である。
【００３５】
ユーザは、ユーザ登録画面４１に、任意のユーザＩＤ、任意のパスワード、及び複数の変換方式選択肢から選択した選択肢を表す変換方式情報（例えば、「反転」であれば（Ａ）という記号）を、それぞれの登録欄４３、４５及び４７に入力することができる（変換方式登録欄４７は、プルアップ或いはプルダウンのメニューになっていても良い）。
【００３６】
ユーザ端末１００は、ユーザ登録画面４１を介して、ユーザＩＤ、パスワード及び変換方式情報の入力を受け（Ｓ２）、入力されたユーザＩＤ、パスワード及び変換方式情報と、ユーザ登録要求とをサーバ１３に送信する。
【００３７】
サーバ１３は、ユーザＩＤ、パスワード及び変換方式情報と、ユーザ登録要求とを受信し（Ｓ４）、ユーザ登録要求に従い、ユーザＩＤ、パスワード及び変換方式情報を、データベース（以下、ＤＢ）１７内のユーザテーブル３１に登録する（Ｓ５）。その後、サーバ１３は、登録完了通知を、ユーザ登録要求送信元のユーザ端末１００に送信する（Ｓ６）。ユーザ端末１００がその通知を受領することにより（Ｓ７）、ユーザ登録の終了となる。
【００３８】
図４及び図５は、ログイン処理の流れの一例を示す。
【００３９】
サーバ１３が、ユーザＩＤ入力欄５３を有した電子的な画面（以下、ユーザＩＤ入力画面）５１をユーザ端末１００に提供する（Ｓ１１）。それにより、ユーザＩＤ入力画面５１が、ユーザ端末１００のディスプレイ画面に表示される。
【００４０】
ユーザ端末１００は、ユーザＩＤ入力欄５３を介して、ユーザＩＤの入力を受け、入力されたユーザＩＤとログイン要求とをサーバ１３に送信する（Ｓ１２）。
【００４１】
サーバ１３は、ユーザＩＤ及びログイン要求を受信する（Ｓ１３）。認証プログラム２３は、ログイン要求に応答して、以下の処理を実行する。
【００４２】
すなわち、認証プログラム２３は、Ｓ１３で受信したユーザＩＤに対応するパスワード及び変換方式情報を、ＤＢ１７内のユーザテーブル１３から取得する（Ｓ１４）。
【００４３】
そして、認証プログラム２３は、所定の規則（例えばアルゴリズム）に基づいて、隠蔽用コード群生成モジュール２５及び鍵生成モジュール２６により、複数の隠蔽用コード群と電子的な鍵（以下、単に「鍵」と言う）を生成する（Ｓ１５）。
【００４４】
なお、このＳ１５では、例えば、隠蔽用コード群生成モジュール２５は、Ｓ１４で取得されたパスワード及び／又は変換方式情報に基づいて、複数の隠蔽用コード群（例えば、パスワードを構成するコード（以下、ＰＷコード）と重複しない隠蔽コードから成るコード群）を生成することができる。隠蔽用コード群は、例えば、同一のユーザＩＤに対応したパスワードや変換方式情報を基に生成されたものであったとしても、ログイン処理の都度に異なるコード群とすることができる（すなわち、一旦ログアウトされた後に再びログイン処理が行われる場合には、前回と今回のログイン処理では異なる隠蔽用コード群が生成される）。
【００４５】
また、このＳ１５では、鍵生成モジュール２６は、例えば、電子的な鍵として、Ｓ１３で受信されたユーザＩＤを用いて乱数を生成することができる。
【００４６】
さて、次に、認証プログラム２３は、パスワード、変換方式情報、複数の隠蔽用コード群及び鍵を、メモリ１１（例えば、メモリ１１に展開されたセッション管理用のテーブル）に書く（Ｓ１６）。
【００４７】
認証プログラム２３は、複数の隠蔽用コード群と混合パスワード入力欄５７とを有した電子的な画面（以下、パスワード入力画面）５５を生成し、生成したパスワード入力画面５５と、Ｓ１５で生成した鍵とを、ユーザ端末１００に提供する（Ｓ１７）。これにより、パスワード入力画面５５が、ユーザ端末１００のディスプレイ画面に表示される。
【００４８】
ユーザは、図５に示すように、パスワード入力画面５５のパスワード入力欄５７に、ユーザ登録時に選択した変換方式に従い、パスワード入力画面５５に表示されている複数の隠蔽用コード群の中から黙視で選択した隠蔽用コード群と、パスワードとから構成される混合パスワードを入力することができる。例えば、パスワードが"１９１２"であり、選択された隠蔽用コード群が"５４４３"であり、変換方式が「反転＋インサート」である場合、正しい混合パスワードの一例としては、図示の通り、"３４１９１２４５"がある。
【００４９】
ユーザ端末１００は、パスワード入力画面５５を介して混合パスワードの入力を受け、入力された混合パスワードを、パスワード入力画面５５と共に受けた鍵で暗号化し、暗号化された混合パスワード（以下、暗号混合パスワード）を、サーバ１３に送信する（Ｓ１９）。なお、ここでの暗号化は、例えば、ユーザ端末１００に備えられている図示しない暗号化プログラム（例えば、図示しないＷＷＷブラウザにプラグインされている）により、行われる。
【００５０】
サーバ１３で暗号混合パスワードが受信された場合（Ｓ２０）、認証プログラム２３は、暗号混合パスワードを、復号化モジュール２７により、メモリ１１に記憶されている鍵で復号化する（Ｓ２１）。なお、この復号化に失敗した場合、認証プログラム２３は、ユーザ端末１００にエラー報告をしてもよい。
【００５１】
認証プログラム２３は、復号化によって得られた混合パスワードの正当性を、メモリ１１に記憶されているパスワード、変換方式情報及び複数の隠蔽用コード群に基づいて、チェックする（Ｓ２２）。このチェックのための処理流れとしては、種々の方法を採用することができる。一例としては、認証プログラム２３は、以下の（１）及び（２）の判断、
（１）メモリ１１に記憶されているパスワードが混合パスワードの中に含まれているか否かの判断、
（２）（１）の判断の結果、含まれているならば、混合パスワードにおけるパスワード以外の残りの全てのコードによって、メモリ１１に記憶されている複数の隠蔽用コード群のうちの一つの隠蔽用コード群を構成することができるか否かの判断、
を実行し、（１）及び（２）の判断のうちの一つでも否定的な判断結果を得たならば、混合パスワードが不当であるとし（Ｓ２３でＮＯ）、一方、（１）及び（２）の判断の全てにおいて肯定的な判断結果を得たならば、混合パスワードが正当であるとすることができる（Ｓ２３でＹＥＳ）。
【００５２】
認証プログラムは、混合パスワードが不当であるとした場合には、ログインを拒否し（Ｓ２４）、一方、混合パスワードが正当であるとした場合には、ログインを許可する（Ｓ２５）。
【００５３】
以上、上述した実施形態によれば、以下のことが行われる。すなわち、サーバ１３が、複数の隠蔽用コード群を生成してユーザに提示し、ユーザが、所望の隠蔽用コード群を決めて、ユーザ登録時に決定した変換方式に従い、隠蔽用コード群とパスワードとを含んだ混合パスワードを入力する。サーバ１３は、パスワード、変換方式及び生成した隠蔽用コード群に基づいて、混合パスワードの正当性を判断する。生成された隠蔽用コード群はログイン処理の都度に異なるコード群となる。従って、入力される混合パスワードが毎回異なるので、サーバ１３に送信されるコード群が毎回異なる。このため、万一、サーバ１３への送信の際やキー入力された際に、混合パスワードが不特定の人間に盗られたとしても、盗られた混合パスワードから真のパスワードが知られる危険性は低い。
【００５４】
また、上述した実施形態によれば、生成されて提示される隠蔽用コード群は複数個あるので、上記の危険性をより抑えることができる。
【００５５】
さらに、上述した実施形態によれば、サーバ１３で鍵が生成され、生成された鍵がユーザ端末１００に送られ、ユーザ端末１００が、その鍵で、入力された混合パスワードを暗号化してから送信するようになっているが、その鍵は、ログイン処理の都度に異なる値である。これにより、暗号混合パスワードが盗聴されて別のログイン処理でログインされてしまうといったことを防ぐことができる。
【００５６】
また、上述した実施形態によれば、隠蔽用コード群は、ユーザ登録されたパスワード及び／又は変換方式に基づいて生成される。これにより、混合パスワードから正しくパスワードと隠蔽用コード群とを分離できるような（或いは、分離し易いような）隠蔽化コード群を生成することができる。
【００５７】
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【００５８】
例えば、混合パスワード中では、パスワードを構成するＰＷコードが、ばらばらに存在してもよい。具体的には、例えば、図５の例では、正しい混合パスワードの一つとして、"３４１９１２４５"のように、パスワード"１９１２"が塊りとして存在するが、それに代えて、例えば、"３１４９１４５２"のように、ＰＷコードが連続していなくても良い。ただし、その際、ＰＷコードの順序は、パスワード内での並び順になっていた方が好ましいと考えられる。例えば、上記の例で言えば、ＰＷコードがどのようにばらついたとしても、"１９１２"といった並び順を維持し、違う順序（一例として、"３１４９２１４５"ように、後半二桁の並び順が逆になる）なら、混合パスワードが不当であると判断してもよい。
【００５９】
また、例えば、隠蔽用コード群とパスワードの両方に同じコードが含まれていてもよい。その場合、例えば、混合パスワード中に同じコードが存在する数や並び順序等から、混合パスワードの正当性を判断することができる。
【００６０】
また、例えば、変換方式の種類は、上述した三種類に限らず、二種類以下或いは四種類以上であっても良い。
【００６１】
また、例えば、ユーザに選択された隠蔽用コード群に適用される変換方式に代えて又は加えて、パスワードに適用される変換方式があってもよい。具体的には、例えば、ユーザに選択された隠蔽用コード群に代えて又は加えて、パスワードそれ自体の反転が行われても良い。
【００６２】
また、例えば、ユーザテーブル３１には、変換規則が登録されていれば、必ずしもパスワードが登録されなくても良い。この場合、ユーザは、ログイン処理において、パスワードとして、選択した隠蔽用コード群を予め指定してある変換方式に従って変換したものを入力することになる。具体的には、例えば、選択した隠蔽用コード群が"１２３４"であり、ユーザ登録時に指定した変換方式が「反転した後の値に５を加算する」であれば、パスワードとして、反転後の値"４３２１"に５を加算した値"４３２６"を入力する。認証プログラム２３は、入力されたパスワード"４３２６"が、生成して提示した隠蔽用コード群が上記変換方式に従って変換されたものであるか否かを判断する。具体的には、例えば、認証プログラム２３は、自分が生成した各隠蔽用コード群を、ログイン要求したユーザに対応した変換方式に従って変換し、変換後の各コード群と入力されたパスワードとが一致するか否かを判断する。その判断の結果、一致が得られれば、認証プログラム２３は、入力されたパスワードが正しいものとして、ユーザを認証することができる。
【図面の簡単な説明】
【００６３】
【図１】図１は、本発明の一実施形態に係る認証システムが適用されたＷＥＢサーバを有するシステム全体のハードウェア構成を示す。図１Ｂは、ＷＥＢサーバ１３におけるソフトウェアアーキテクチャの概要の一例を示す。
【図２】図２は、ユーザテーブル３１の構成例を示す。
【図３】図３は、本発明の一実施形態におけるユーザ登録処理の流れの一例を示す。
【図４】図４は、本発明の一実施形態におけるログイン処理の流れの一例の一部を示す。
【図５】図５は、本発明の一実施形態におけるログイン処理の流れの一例の残りの一部を示す。
【符号の説明】
【００６４】
１１…メモリ  １３…ＷＥＢサーバ  １７…データベース  ２３…認証プログラム  ２５…隠蔽用コード群生成モジュール  ２６…鍵生成モジュール  ２７…復号化モジュール
【図１】
2007058807.tif 000003
【図２】
2007058807.tif 000004
【図３】
2007058807.tif 000005
【図４】
2007058807.tif 000006
【図５】
2007058807.tif 000007