(57)【要約】【課題】ユーザがパスワードを入力し、電子証明書等を使用することなくユーザ認証を実現し、同時にサーバの真贋を自動的に確認できる相互認証方法を提供すること。【解決手段】サーバ１０は、前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶しておき、生成した第６の暗号化認証データ（ｏＡ’）と、受信した第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認することができる。更に、第１の暗号化認証データ（ｗＡ）乃至前記第６の暗号化認証データ（ｏＡ’）は通信ネットワーク上を暗号化した状態で送受信されるため、前記通信ネットワーク上における盗聴等を抑止することができる。【選択図】図３
2008186260.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して端末と接続可能なサーバがユーザを認証する方法であって、
前記サーバは、前記ユーザのユーザ識別データと、ユーザパスワードデータから計算される認証用比較データと、を予め関連付けて記憶しておき、
前記サーバが、前記ユーザのユーザ識別データの送信を要求するデータを前記端末に送信するステップと、
前記端末から、ユーザ識別データと前記端末が生成した第１の暗号化認証データを受信するステップと、
受信した前記ユーザ識別データの有効性を、記憶した前記ユーザ識別データと比較することにより確認し、有効であると確認した場合に、前記第１の暗号化認証データと、前記サーバのサーバ識別データと、記憶した前記ユーザ識別データに関連付けられた認証用比較データと、に基づいて第２の暗号化認証データを生成して前記端末に送信するステップと、
前記端末が前記ユーザからの入力を受け付けたユーザパスワードデータと、生成した前記第１の暗号化認証データと、受信した前記第２の暗号化認証データと、に基づいて生成した第３の暗号化認証データに基づいて、更に生成した第４の暗号化認証データを受信するステップと、
記憶した前記認証用比較データと、受信した前記第１の暗号化認証データと、生成した前記第２の暗号化認証データと、に基づいて生成した第５の暗号化認証データに基づいて、更に生成した第６の暗号化認証データと、受信した前記第４の暗号化認証データと、を比較して一致した場合に、ユーザ認証が成立したことを確認するステップと、を含む方法。
【請求項２】
前記サーバが、ユーザ認証が成立したことを確認した場合に、受信した前記第１の暗号化認証データと、生成した前記第２の暗号化認証データと、生成した前記第５の暗号化認証データと、に基づいて、第７の暗号化認証データを生成して前記端末に送信するステップを更に含み、
前記端末が、生成した前記第１の暗号化認証データと、受信した前記第２の暗号化認証データと、生成した第３の暗号化認証データと、に基づいて生成した第８の暗号化認証データと、受信した前記第７の暗号化認証データと、を比較して一致した場合に、サーバ認証が成立したことを確認するステップと、を更に含む請求項１に記載の方法。
【請求項３】
前記サーバ識別データとして接続先ホスト名を用いる請求項１又は請求項２に記載の方法。
【請求項４】
前記端末は、前記端末のＷｅｂブラウザに予め組み込まれて実行するプログラムにより表示する入力受付欄において前記ユーザ識別データの入力を受け付ける請求項１から請求項３のいずれかに記載の方法。
【請求項５】
前記サーバは、生成した前記第５の暗号化認証データに基づいて、更に生成した第１のキーパラメータを記憶するステップを更に含み、
前記端末は、生成した第３の暗号化認証データに基づいて、更に生成した第２のキーパラメータを記憶するステップを更に含む、請求項１から請求項４のいずれかに記載の方法。
【請求項６】
前記サーバ及び前記端末は、前記認証用比較データ及び第１の暗号化認証データ乃至第８の暗号化認証データを一方向性ハッシュ関数演算と整数上に規定される剰余群上の演算により生成する請求項２から請求項５のいずれかに記載の方法。
【請求項７】
前記サーバ及び前記端末は、前記認証用比較データ及び第１の暗号化認証データ乃至第８の暗号化認証データを一方向性ハッシュ関数演算と楕円曲線上に規定される有理点群上の演算により生成する請求項２から請求項５のいずれかに記載の方法。
【請求項８】
通信ネットワークを介して端末と接続可能であり、ユーザを認証するサーバであって、
前記ユーザのユーザ識別データと、ユーザパスワードデータから計算される認証用比較データと、を予め関連付けて記憶する手段と、
前記ユーザのユーザ識別データの送信を要求するデータを前記端末に送信する手段と、
前記端末から、ユーザ識別データと前記端末が生成した第１の暗号化認証データを受信する手段と、
受信した前記ユーザ識別データの有効性を、記憶した前記ユーザ識別データと比較することにより確認し、有効であると確認した場合に、前記第１の暗号化認証データと、前記サーバのサーバ識別データと、記憶した前記ユーザ識別データに関連付けられた認証用比較データと、に基づいて第２の暗号化認証データを生成して前記端末に送信する手段と、
前記端末が前記ユーザからの入力を受け付けたユーザパスワードデータと、生成した前記第１の暗号化認証データと、受信した前記第２の暗号化認証データと、に基づいて生成した第３の暗号化認証データに基づいて、更に生成した第４の暗号化認証データを受信する手段と、
前記記憶する手段から読み出した前記認証用比較データと、受信した前記第１の暗号化認証データと、生成した前記第２の暗号化認証データと、に基づいて生成した第５の暗号化認証データに基づいて、更に生成した第６の暗号化認証データと、受信した前記第４の暗号化認証データと、を比較して一致した場合に、ユーザ認証が成立したことを確認する手段と、を備えるサーバ。
【請求項９】
通信ネットワークを介してユーザを認証するサーバと接続可能な端末であって、
前記ユーザのユーザ識別データと、ユーザパスワードデータから計算される認証用比較データと、を予め関連付けて記憶している前記サーバから、前記ユーザのユーザ識別データの送信を要求するデータを受信して、前記ユーザに前記ユーザ識別データの入力を促す手段と、
前記ユーザからの入力を受け付けたユーザ識別データと、生成した第１の暗号化認証データと、を前記サーバに送信する手段と、
前記第１の暗号化認証データと、前記サーバのサーバ識別データと、記憶した前記ユーザ識別データに関連付けられた認証用比較データと、に基づいて前記サーバが生成した第２の暗号化認証データを受信する手段と、
前記ユーザからの入力を受け付けたユーザパスワードデータと、生成した前記第１の暗号化認証データと、受信した前記第２の暗号化認証データと、に基づいて生成した第３の暗号化認証データに基づいて、第４の暗号化認証データを更に生成して前記サーバに送信する手段と、を備える端末。
【請求項１０】
通信ネットワークを介してユーザを認証するサーバと接続可能な端末に、
前記ユーザのユーザ識別データと、ユーザパスワードデータから計算される認証用比較データと、を予め関連付けて記憶している前記サーバから、前記ユーザのユーザ識別データの送信を要求するデータを受信して、前記ユーザに前記ユーザ識別データの入力を促すステップと、
前記ユーザからの入力を受け付けたユーザ識別データと、生成した第１の暗号化認証データと、を前記サーバに送信するステップと、
前記第１の暗号化認証データと、前記サーバのサーバ識別データと、記憶した前記ユーザ識別データに関連付けられた認証用比較データと、に基づいて前記サーバが生成した第２の暗号化認証データを受信するステップと、
前記ユーザからの入力を受け付けたユーザパスワードデータと、生成した前記第１の暗号化認証データと、受信した前記第２の暗号化認証データと、に基づいて生成した第３の暗号化認証データに基づいて、第４の暗号化認証データを更に生成して前記サーバに送信するステップと、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザを認証する方法及びサーバに関する。
【背景技術】
【０００２】
従来、通信ネットワークを介してサーバと接続可能な端末のユーザを認証する様々な技術が提案されてきた。
【０００３】
特に、ｈｔｔｐ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等で構成するＷｅｂネットワーク上では、電子商取引やネットオークション等、様々な商取引が行われるようになっており、ユーザを認証する技術はますます重要なものとなっている。
【０００４】
具体的には、例えば、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）は、トランスポート層に位置するプロトコル（ソケット・ライブラリ）で、端末がユーザからＩＤ、パスワードの入力を受け付けて当該データをサーバに送信することでユーザを認証し、更に当該データを暗号化して送受信することによって盗聴等から保護してセキュリティを高めている。また、ＳＳＬ３．０のバージョンアップ版にあたるＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）もＲＦＣ  ２２４６においてＴＬＳ  １．０として規定されている。
【０００５】
更に特許文献１には、これらの技術を使って、ユーザ管理データをサーバ側の様々なサービスプログラムの権限範囲に反映させる技術が開示されている。
【０００６】
一方、データの暗号化のための実装技術として、パスワード（Ｗｅａｋ  Ｓｅｃｒｅｔｓ）の照合によるものが提案されている（非特許文献１）。非特許文献１において、パスワード認証の実装技術として、離散対数によるもの（ＪＤＬ）、及び、楕円曲線によるもの（ＪＥＣ）が例示されている。即ち、
【数１】
2008186260.tif 000003
ここで、
Ｈは一方向性ハッシュ関数（例えばＳＨＡ−１）
πはパスワード（Ｗｅａｋ  Ｓｅｃｒｅｔｓ）
ＢＳ２Ｉはビット列を整数に変換する関数を表す。
【０００７】
更に、楕円曲線によるもの（ＪＥＣ）も例示されている。
【数２】
2008186260.tif 000004
ここで、
Ｈは一方向性ハッシュ関数（例えばＳＨＡ−１）
πはパスワード（Ｗｅａｋ  Ｓｅｃｒｅｔｓ）
ＢＳ２Ｉはビット列を整数に変換する関数を表す。
【特許文献１】特開平１１−２６５３４９号公報
【非特許文献１】ＩＳＯ／ＩＥＣ  １１７７０−４：２００６（Ｅ）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のＳＳＬ／ＴＬＳや特許文献１に開示された技術は、セキュリティを確保するための環境を提供することはできても、これらの技術が通信に利用されているか否かはユーザ自身が判断しなければならない。即ち、これらの技術で実際にセキュリティを確保するには、ユーザがサーバの真贋を見分けてＩＤ、パスワードを入力する必要がある。
【０００９】
実際に、ユーザがサーバの真贋を確認し難いようにデザインされたＷｅｂサイト（いわゆるフィッシングサイト等）が存在しており、悪意の第三者が会員制ウェブサイトや有名企業を装い、「ユーザーアカウントの有効期限が近付いています」等のメッセージと共に、本物のウェブサイトを装った偽のＷｅｂサイトへのＵＲＬを画面に表示させる電子メールをユーザに送信し、当該偽のＷｅｂサイトにおいてクレジットカード番号等の個人情報や、銀行預金口座を含む各種サービスのＩＤやパスワードを獲得することが行われている。
【００１０】
具体的には、例えば、フィッシングサイト（ｗｒｏｎｇｈｏｓｔ．ｃｏｍ）の偽サーバ１０Ｗは、これは、図９に示すように、ユーザを正当なサイト（ｈｏｓｔ．ｃｏｍ）のサーバ１０にアクセスしていると勘違いさせた上で、当該ユーザの入力を受け付けることによってユーザＩＤやパスワードの情報を獲得する。
【００１１】
一方で、ユーザ認証を更に確実に行うために電子証明書を予め端末に導入する方法も提案されているが、予め電子証明書を配布する手間が必要であるため、利便性の面で改善の余地がある。
【００１２】
そこで、本発明は、非特許文献１に提示されたパスワードの照合を利用したユーザ・サーバ間の相互認証技術を、フィッシング防止機能を有するユーザ認証を目的として発展的に活用し、ユーザがサーバの真贋を確認する必要がなく、また電子証明書等の配布を伴うことなくユーザ認証を実現することができる方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、具体的には次のようなものを提供する。
【００１４】
（１）  通信ネットワークを介して端末と接続可能なサーバがユーザを認証する方法であって、
前記サーバは、前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶しておき、
前記サーバが、前記ユーザのユーザ識別データ（ｕｉｄ）の送信を要求するデータを前記端末に送信するステップと、
前記端末から、ユーザ識別データ（ｕｉｄ）と前記端末が生成した第１の暗号化認証データ（ｗＡ）を受信するステップと、
受信した前記ユーザ識別データ（ｕｉｄ）の有効性を、記憶した前記ユーザ識別データ（ｕｉｄ）と比較することにより確認し、有効であると確認した場合に、前記第１の暗号化認証データ（ｗＡ）と、前記サーバのサーバ識別データ（ｈｏｓｔ）と、記憶した前記ユーザ識別データ（ｕｉｄ）に関連付けられた認証用比較データ（ＪＤＬ又はＪＥＣ）と、に基づいて第２の暗号化認証データを生成して前記端末に送信するステップと、
前記端末が前記ユーザからの入力を受け付けたユーザパスワードデータ（π）と、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第３の暗号化認証データ（ｚｃ）に基づいて、更に生成した第４の暗号化認証データ（ｏＡ）を受信するステップと、
前記記憶した前記認証用比較データ（ＪＤＬ又はＪＥＣ）と、受信した前記第１の暗号化認証データ（ｗＡ）と、生成した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第５の暗号化認証データ（ｚＳ）に基づいて、更に生成した第６の暗号化認証データ（ｏＡ’）と、受信した前記第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認するステップと、を含む方法。
【００１５】
（１）の構成を備えることにより、前記サーバは、前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶しておき、
前記サーバが、前記ユーザのユーザ識別データの送信を要求するデータを前記端末に送信し、
前記端末から、ユーザ識別データと前記端末が生成した第１の暗号化認証データ（ｗＡ）を受信し、
受信した前記ユーザ識別データの有効性を、記憶した前記ユーザ識別データ（ｕｉｄ）と比較することにより確認し、有効であると確認した場合に、前記第１の暗号化認証データ（ｗＡ）と、前記サーバのサーバ識別データ（ｈｏｓｔ）と、記憶した前記ユーザ識別データ（ｕｉｄ）に関連付けられた認証用比較データ（ＪＤＬ又はＪＥＣ）と、に基づいて第２の暗号化認証データを生成して前記端末に送信し、
前記端末が前記ユーザからの入力を受け付けたユーザパスワードデータ（π）と、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第３の暗号化認証データ（ｚｃ）に基づいて、更に生成した第４の暗号化認証データ（ｏＡ）を受信し、
前記記憶した前記認証用比較データ（ＪＤＬ又はＪＥＣ）と、受信した前記第１の暗号化認証データ（ｗＡ）と、生成した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第５の暗号化認証データ（ｚＳ）に基づいて、更に生成した第６の暗号化認証データ（ｏＡ’）と、受信した前記第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認する。
【００１６】
このことにより、前記サーバは、前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶しておき、生成した第６の暗号化認証データ（ｏＡ’）と、受信した前記第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認することができる。
【００１７】
更に、前記第１の暗号化認証データ（ｗＡ）乃至前記第６の暗号化認証データ（ｏＡ’）は前記通信ネットワーク上を暗号化した状態で送受信されるため、前記通信ネットワーク上における盗聴等を抑止することができる。
【００１８】
（２）  前記サーバが、ユーザ認証が成立したことを確認した場合に、受信した前記第１の暗号化認証データ（ｗＡ）と、生成した前記第２の暗号化認証データ（ｗＢ）と、生成した前記第５の暗号化認証データ（ｚＳ）と、に基づいて、第７の暗号化認証データ（ｏＢ）を生成して前記端末に送信するステップを更に含み、
前記端末が、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、生成した第３の暗号化認証データ（ｚｃ）と、に基づいて生成した第８の暗号化認証データ（ｏＢ’）と、受信した前記第７の暗号化認証データ（ｏＢ）と、を比較して一致した場合に、サーバ認証が成立したことを確認するステップと、を更に含む（１）に記載の方法。
【００１９】
（２）の構成を備えることにより、前記サーバは、ユーザ認証が成立したことを確認した場合に、受信した前記第１の暗号化認証データ（ｗＡ）と、生成した前記第２の暗号化認証データ（ｗＢ）と、生成した前記第５の暗号化認証データ（ｚＳ）と、に基づいて、第７の暗号化認証データ（ｏＢ）を生成して前記端末に送信し、
前記端末が、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、生成した第３の暗号化認証データ（ｚｃ）と、に基づいて生成した第８の暗号化認証データ（ｏＢ’）と、受信した前記第７の暗号化認証データ（ｏＢ）と、を比較して一致した場合に、サーバ認証が成立したことを確認する。
【００２０】
このことにより、前記端末及び前記サーバは、相互認証を行うことができる。
【００２１】
（３）  前記サーバ識別データとして接続先ホスト名を用いる（１）又は（２）に記載の方法。
【００２２】
（３）の構成を備えることにより、前記端末及び前記サーバは、前記サーバ識別データとして接続先ホスト名を用いる。
【００２３】
このことにより、Ｗｅｂ上のユーザ認証において、前記端末は、いわゆるフィッシングサイトのホストが偽のＷｅｂページを真正なＷｅｂページのように偽装して前記ユーザにユーザパスワードデータ（π）を入力させ、前記端末がユーザパスワードデータ（π）を送信させた場合においても、相互認証が失敗することにより、パスワードデータの窃取及び、前記ユーザが認証成功したと誤認することを抑制することができる
【００２４】
（４）  前記端末は、前記端末のＷｅｂブラウザに予め組み込まれて実行するプログラムにより表示する入力受付欄において前記ユーザ識別データの入力を受け付ける（３）に記載の方法。
【００２５】
（４）の構成を備えることにより、前記端末は、前記端末のＷｅｂブラウザに予め組み込まれて実行するプログラムにより表示する入力受付欄において前記ユーザ識別データ（ｕｉｄ）及び前記ユーザパスワードデータ（π）の入力を受け付ける。
【００２６】
このことにより、例えば、前記ユーザ識別データ及び前記ユーザパスワードデータ（π）の入力受付欄を、前記サーバのサーバ識別データとしての接続先ホスト名（ｈｏｓｔ）の表示欄の近傍に表示することによって、いわゆるフィッシングサイトが本認証の真正な入力欄を模倣したユーザインターフェイスの画面を作りにくくすることができる。更に、一旦ユーザ認証が成立した後は、端末のＷｅｂブラウザが認証状態を表示するように構成すれば、ユーザは、常に認証状態を視認することが可能となり、より好適である。
【００２７】
（５）  前記サーバは、生成した前記第５の暗号化認証データ（ｚＳ）に基づいて、更に生成した第１のキーパラメータ（ＫｉＳ）を記憶するステップを更に含み、
前記端末は、生成した第３の暗号化認証データ（ｚＣ）に基づいて、更に生成した第２のキーパラメータ（ＫｉＣ）を記憶するステップを更に含む、（１）から（４）のいずれかに記載の方法。
【００２８】
（５）の構成を備えることにより、前記サーバは、生成した前記第５の暗号化認証データ（ｚＳ）に基づいて、更に生成した第１のキーパラメータ（ＫｉＳ）を記憶し、前記端末は、生成した第３の暗号化認証データ（ｚＣ）に基づいて、更に生成した第２のキーパラメータ（ＫｉＣ）を記憶する。
【００２９】
このことにより、前記サーバ及び前記端末は、一旦ユーザ認証及びサーバ認証（即ちユーザ及びサーバの相互認証）が成立した場合に、前記第１のキーパラメータ（ＫｉＳ）及び前記第２のキーパラメータ（ＫｉＣ）を、その後のデータの送受信の際に読み出して使用することができる。
【００３０】
このことにより、前記サーバ及び前記端末は、一旦ユーザ認証が成立した相手方との間で、その後の通信セッションの暗号化通信に使用したり、セッションを維持したり、送受信するデータの完全性チェックを行ったりすることができる。
【００３１】
（６）  前記サーバ及び前記端末は、前記認証用比較データ及び第１の暗号化認証データ乃至第８の暗号化認証データを一方向性ハッシュ関数演算と整数上に規定される剰余群上の演算により生成する（２）から（５）のいずれかに記載の方法。
に記載の方法。
【００３２】
（６）の構成を備えることにより、前記サーバ及び前記端末は、前記認証用比較データ及び第１の暗号化認証データ乃至第８の暗号化認証データを一方向性ハッシュ関数演算と整数上に規定される剰余群上の演算により生成する。
【００３３】
このことにより、前記サーバ及び前記端末は、前記認証用比較データ及び前記第１の暗号化認証データ乃至第８の暗号化認証データが前記通信ネットワーク上で第三者のコンピュータ等に盗聴された場合においても、前記ユーザパスワードデータ（π）が漏洩するのを抑制することができる。
【００３４】
このことにより、前記サーバ及び前記端末は、より安全に通信を行うことができる。
【００３５】
（７）  前記サーバ及び前記端末は、前記認証用比較データ及び第１の暗号化認証データ乃至第８の暗号化認証データを一方向性ハッシュ関数演算と楕円曲線上に規定される有理点群上の演算により生成する（１）から（５）のいずれかに記載の方法。
【００３６】
（７）の構成を備えることにより、前記サーバ及び前記端末は、前記認証用比較データ及び第１の暗号化認証データ乃至第８の暗号化認証データを一方向性ハッシュ関数演算と楕円曲線上に規定される有理点群上の演算により生成する。
【００３７】
このことにより、前記サーバ及び前記端末は、（６）の構成に比べて、同等の安全性を得るのにより小さな桁数で前記認証用比較データ及び前記第１の暗号化認証データ乃至第８の暗号化認証データを生成することができる。従って、前記サーバ及び前記端末の演算負荷を抑制することができる。
【００３８】
（８）  通信ネットワークを介して端末と接続可能であり、ユーザを認証するサーバであって、
前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶する手段と、
前記ユーザのユーザ識別データ（ｕｉｄ）の送信を要求するデータを前記端末に送信する手段と、
前記端末から、ユーザ識別データ（ｕｉｄ）と前記端末が生成した第１の暗号化認証データ（ｗＡ）を受信する手段と、
受信した前記ユーザ識別データ（ｕｉｄ）の有効性を、記憶した前記ユーザ識別データ（ｕｉｄ）と比較することにより確認し、有効であると確認した場合に、前記第１の暗号化認証データ（ｗＡ）と、前記サーバのサーバ識別データ（ｈｏｓｔ）と、記憶した前記ユーザ識別データ（ｕｉｄ）に関連付けられた認証用比較データ（ＪＤＬ又はＪＥＣ）と、に基づいて第２の暗号化認証データ（ｗＢ）を生成して前記端末に送信する手段と、
前記端末が前記ユーザからの入力を受け付けたユーザパスワードデータ（π）と、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第３の暗号化認証データ（ｚｃ）に基づいて、更に生成した第４の暗号化認証データ（ｏＡ）を受信する手段と、
前記記憶する手段から読み出した前記認証用比較データ（ＪＤＬ又はＪＥＣ）と、受信した前記第１の暗号化認証データ（ｗＡ）と、生成した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第５の暗号化認証データ（ｚＳ）に基づいて、更に生成した第６の暗号化認証データ（ｏＡ’）と、受信した前記第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認する手段と、を備えるサーバ。
【００３９】
（８）の構成を備えることにより、前記サーバは、（１）と同様の作用が期待できる。
【００４０】
（９）  通信ネットワークを介してユーザを認証するサーバと接続可能な端末であって、
前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶している前記サーバから、前記ユーザのユーザ識別データ（ｕｉｄ）の送信を要求するデータを受信する手段と、
前記ユーザからの入力を受け付けたユーザ識別データ（ｕｉｄ）と、生成した第１の暗号化認証データ（ｗＡ）と、を前記サーバに送信する手段と、
前記第１の暗号化認証データ（ｗＡ）と、前記サーバのサーバ識別データ（ｈｏｓｔ）と、記憶した前記ユーザ識別データ（ｕｉｄ）に関連付けられた認証用比較データ（ＪＤＬ又はＪＥＣ）と、に基づいて前記サーバが生成した第２の暗号化認証データ（ｗＢ）を受信する手段と、
前記ユーザからの入力を受け付けたユーザパスワードデータ（π）と、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第３の暗号化認証データ（ｚｃ）に基づいて、第４の暗号化認証データ（ｏＡ）を更に生成して前記サーバに送信する手段と、を備える端末。
【００４１】
（９）の構成を備えることにより、前記端末は、（１）と同様の作用が期待できる。
【００４２】
（１０）  通信ネットワークを介してユーザを認証するサーバと接続可能な端末に、
前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶している前記サーバから、前記ユーザのユーザ識別データ（ｕｉｄ）の送信を要求するデータを受信して、前記ユーザに前記ユーザ識別データ（ｕｉｄ）の入力を促すステップと、
前記ユーザからの入力を受け付けたユーザ識別データ（ｕｉｄ）と、生成した第１の暗号化認証データ（ｗＡ）と、を前記サーバに送信するステップと、
前記第１の暗号化認証データ（ｗＡ）と、前記サーバのサーバ識別データ（ｈｏｓｔ）と、記憶した前記ユーザ識別データ（ｕｉｄ）に関連付けられた認証用比較データ（ＪＤＬ又はＪＥＣ）と、に基づいて前記サーバが生成した第２の暗号化認証データ（ｗＢ）を受信するステップと、
前記ユーザからの入力を受け付けたユーザパスワードデータ（π）と、生成した前記第１の暗号化認証データ（ｗＡ）と、受信した前記第２の暗号化認証データ（ｗＢ）と、に基づいて生成した第３の暗号化認証データ（ｚｃ）に基づいて、第４の暗号化認証データ（ｏＡ）を更に生成して前記サーバに送信するステップと、を実行させるプログラム。
【００４３】
（１０）の構成を備えることにより、前記端末は、（１）と同様の作用が期待できる。
【発明の効果】
【００４４】
本発明によれば、前記サーバは、前記ユーザのユーザ識別データ（ｕｉｄ）と、ユーザパスワードデータ（π）から計算される認証用比較データ（ＪＤＬ又はＪＥＣ）と、を予め関連付けて記憶しておき、生成した第６の暗号化認証データ（ｏＡ’）と、受信した前記第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認することができる。更に、前記第１の暗号化認証データ（ｗＡ）乃至前記第６の暗号化認証データ（ｏＡ’）は前記通信ネットワーク上を暗号化した状態で送受信されるため、前記通信ネットワーク上における盗聴等を抑止することができる。また、前記端末は、生成した第８の暗号化認証データ（ｏＢ’）と、受信した前記第７の暗号化認証データ（ｏＢ）と、を比較して一致した場合に、サーバ認証が成立したことを確認できる。また、仮に、いわゆるフィッシングサイトのホストが偽のＷｅｂページを真正なＷｅｂページのように偽装して前記ユーザにユーザパスワードデータ（π）を入力させ、前記端末がユーザパスワードデータ（π）を送信させた場合においても、相互認証が失敗するため、前記ユーザに認証失敗したと確認させることができる。
【発明を実施するための最良の形態】
【００４５】
以下、図面を参照しながら本発明の最良の実施形態の一例について述べる。
【００４６】
図１は、本発明の好適な実施形態の一例に係るシステム１の全体構成を示す図である。図２は、本発明の好適な実施形態の一例に係るサーバ１０及び端末２０の構成を示す図である。図３は、本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理を示すシーケンス図である。図４は本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理におけるユーザ識別データテーブルを示す図である。図５は、本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理における有効セッションテーブルを示す図である。図６は、本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理におけるユーザ識別データの入力画面を示す図である。図７は、本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理におけるユーザ認証結果を通知する画面を示す図である。図８は、従来の技術に係るユーザ認証処理における悪意の第三者によるユーザ識別データのフィッシング行為について説明する図である。
【００４７】
［システムの全体構成］
【００４８】
図１は、本発明の好適な実施形態の一例に係るシステム１の全体構成を示す図である。
【００４９】
サーバ１０は、通信ネットワーク３０を介して、ユーザの端末２０と接続可能である。
【００５０】
また、ユーザの端末２０とサーバ１０とを結ぶ通信ネットワーク３０は、有線により実現するものだけではなく、携帯電話等のように、基地局を介して一部を無線により実現するもの、アクセスポイントを介して無線ＬＡＮにより実現するもの等、本発明の技術的思想に合致するものであれば様々な通信ネットワークにより実現してよい。
【００５１】
［サーバ１０のハードウェア構成］
【００５２】
図２は、図１で説明した本発明の好適な実施形態の一例に係るサーバ１０のハードウェア構成の一例を示す図である。サーバ１０は、制御部１０１を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０（マルチプロセッサ構成ではＣＰＵ１０１２等複数のＣＰＵが追加されてもよい）、バスライン１００５、通信Ｉ／Ｆ１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、ＵＳＢポート１０９０、Ｉ／Ｏコントローラ１０７０、並びにキーボード及びマウス１１００等の入力手段や表示装置１０２２を備える。
【００５３】
Ｉ／Ｏコントローラ１０７０には、テープドライブ１０７２、ハードディスク１０７４、光ディスクドライブ１０７６、半導体メモリ１０７８、等の記憶手段を接続することができる。
【００５４】
ＢＩＯＳ１０６０は、サーバ１０の起動時にＣＰＵ１０１０が実行するブートプログラムや、サーバ１０のハードウェアに依存するプログラム等を格納する。
【００５５】
記憶部１０７を構成するハードディスク１０７４は、サーバ１０がサーバとして機能するための各種プログラム及び本発明の機能を実行するプログラムを記憶しており、更に必要に応じて各種データベースを構成可能である。
【００５６】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この場合は各ドライブに対応した光ディスク１０７７を使用する。光ディスク１０７７から光ディスクドライブ１０７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハードディスク１０７４に提供することもできる。また、同様にテープドライブ１０７２に対応したテープメディア１０７１を主としてバックアップのために使用することもできる。
【００５７】
サーバ１０に提供されるプログラムは、ハードディスク１０７４、光ディスク１０７７、又はメモリーカード等の記録媒体に格納されて提供される。このプログラムは、Ｉ／Ｏコントローラ１０７０を介して、記録媒体から読み出され、又は通信Ｉ／Ｆ１０４０を介してダウンロードされることによって、サーバ１０にインストールされ実行されてもよい。
【００５８】
前述のプログラムは、内部又は外部の記憶媒体に格納されてもよい。ここで、記憶部１０７を構成する記憶媒体としては、ハードディスク１０７４、光ディスク１０７７、又はメモリーカードの他に、ＭＤ等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハードディスク１０７４又は光ディスクライブラリー等の記憶装置を記録媒体として使用し、通信回線を介してプログラムをサーバ１０に提供してもよい。
【００５９】
ここで、表示装置１０２２は、ユーザにデータの入力を受け付ける画面を表示したり、サーバ１０による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００６０】
ここで、入力手段は、ユーザによる入力の受け付けを行うものであり、キーボード及びマウス１１００等により構成してよい。
【００６１】
また、通信Ｉ／Ｆ１０４０は、サーバ１０を専用ネットワーク又は公共ネットワークを介して端末と接続できるようにするためのネットワーク・アダプタである。通信Ｉ／Ｆ１０４０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００６２】
以上の例は、サーバ１０について主に説明したが、コンピュータに、プログラムをインストールして、そのコンピュータをサーバ装置として動作させることにより上記で説明した機能を実現することもできる。従って、本発明において一実施形態として説明したサーバにより実現される機能は、上述の方法を当該コンピュータにより実行することにより、或いは、上述のプログラムを当該コンピュータに導入して実行することによっても実現可能である。
［ユーザの端末２０のハードウェア構成］
【００６３】
ここでユーザの端末２０は、上述のサーバ１０と同様の構成を備えてよい。なお、ユーザの端末２０は携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）等、いわゆる汎用コンピュータ（ＰＣ）以外の通信端末として実現してもよい。
［ユーザ認証処理］
【００６４】
サーバ１０は、図３に示すようにユーザ認証処理行う。ここで、前提として、サーバ１０は、ユーザのユーザパスワードデータ（ユーザパスワード；π）及びサーバ識別データ（ｈｏｓｔ）に基づいて、認証用比較データとして、離散対数によるパスワード認証用関数の実装を行い、
【数３】
2008186260.tif 000005
を計算してユーザ識別データ（ユーザＩＤ；ｕｉｄ）と関連付けて予め記憶部１０７に記憶しておく。
【００６５】
ここでＨは一方向性ハッシュ関数（例えばＳＨＡ−１）であり、｜｜はデータの連接（ｃｏｎｃａｔｅｎａｔｉｏｎ）を表す。
【００６６】
ここで、ＪＤＬの代わりに楕円曲線上に実装したパスワード認証用関数ＪＥＣを計算して記憶部１０７に記憶しておいてもよい。即ち、
【数４】
2008186260.tif 000006
【００６７】
図４は、サーバ１０の記憶部１０７に記憶するユーザ識別データテーブルの一例を示す。この例では、ユーザＩＤ（ｕｉｄ）：ＡＢＣ００１に対して、認証用比較データ（ＪＤＬ）：ＸＹＺが関連付けられて記憶されている。
【００６８】
まず、ユーザの端末２０の制御部２０１は、ユーザからのページ要求操作を受け付ける（ステップＳ１０１）。具体的には、例えば、ユーザの端末２０に組み込まれたＷｅｂブラウザソフトウェアが動作することにより、ユーザからのＵＲＬのクリック操作やボタン操作等を受け付ける。
【００６９】
次に、ユーザの端末２０の制御部２０１は、当該受け付けたページ要求を、通信ネットワーク３０を介してサーバ１０に送信する（ステップＳ１０２）。具体的には、例えば、ユーザの端末２０に組み込まれたＷｅｂブラウザソフトウェアが動作し、ｈｔｔｐのＧｅｔコマンドを送信することにより、当該ページ要求をサーバ１０に送信する。
【００７０】
次に、サーバ１０の制御部１０１は、受信したページ要求を確認し、ユーザ認証が必要かどうか判断し（ステップＳ１０３）、必要に応じてセッションＩＤ（ＳＩＤ）と共に認証要求画面をユーザの端末２０に送信する（ステップＳ１０４）。
【００７１】
次に、ユーザの端末２０の制御部２０１は、受信した認証要求画面を表示装置２０２２に表示する（ステップＳ１０５）。具体的には、例えば、図６に示すような画面を表示する。図６の例では、ユーザの端末２０の制御部２０１が、Ｗｅｂブラウザに予め組み込まれて実行するプログラム（アドオンツールバー）により表示装置２０２２に表示する入力受付欄において認証要求画面を表示し、ユーザ認証データとしてユーザ識別データ（ユーザＩＤ；ｕｉｄ）及びユーザパスワードデータ（ユーザパスワードデータ；π）の入力を受け付けている。
【００７２】
次に、ユーザの端末２０の制御部２０１は、表示装置２０２２に表示した認証要求画面に対して、ユーザから、ユーザ認証データとしてのユーザ識別データ（ユーザＩＤ；ｕｉｄ）及びユーザパスワードデータ（ユーザパスワードデータ；π）の入力をキーボード／マウス２１００等により受け付ける（ステップＳ１０６）。
【００７３】
次に、ユーザの端末２０の制御部２０１は、第１の暗号化認証データ（ｗＡ）を生成する（ステップＳ１０７）。なお、ｗＡは、ランダムに選択した整数ＳＡただし、
【数５】
2008186260.tif 000007
を用いて
【数６】
2008186260.tif 000008
或いは、
【数７】
2008186260.tif 000009
を計算することにより生成する。
【００７４】
このように、暗号化認証データの計算においても、以下では説明を省略するが、上述のパスワード認証関数の実装と同様、離散対数によるものと楕円曲線によるものの双方を実装することができる。
【００７５】
次に、ユーザの端末２０の制御部２０１は、計算した第１の暗号化認証データ（ｗＡ）をユーザ識別データ（ユーザＩＤ；ｕｉｄ）及びセッションＩＤ（ＳＩＤ）と共にサーバ１０に送信する（ステップＳ１０８）。
【００７６】
次に、サーバ１０の制御部１０１は、端末２０から受信した第１の暗号化認証データ（ｗＡ）の形を検証し、送信されたユーザ識別データ（ユーザＩＤ；ｕｉｄ）を、予め記憶部１０７に記憶した（ユーザＩＤ；ｕｉｄ）と比較することにより確認する。確認できた場合に、第１の暗号化認証データ（ｗＡ）と、サーバ１０のサーバ識別データ（ｈｏｓｔ）及び記憶部１０７から読み出したユーザパスワードデータ（ユーザパスワードデータ；π）と、に基づいて第２の暗号化認証データ（ｗＢ）を生成する（ステップＳ１０９）。即ち、
【数８】
2008186260.tif 000010
ここで、
【数９】
2008186260.tif 000011
を計算する。
【００７７】
次に、サーバ１０の制御部１０１は、生成した第２の暗号化認証データ（ｗＢ）をセッションＩＤ（ＳＩＤ）と共にユーザの端末２０に送信する（ステップＳ１１０）。
【００７８】
ここで、サーバ１０の制御部１０１は、引き続き、記憶部１０７から読み出したユーザパスワードデータ（ユーザパスワードデータ；π）と、受信した第１の暗号化認証データ（ｗＡ）と、生成した第２の暗号化認証データ（ｗＢ）と、に基づいて第５の暗号化認証データ（ｚＳ）を生成し、更に第６の暗号化認証データ（ｏＡ’）を生成する（ステップ１１３）。即ち、
【数１０】
2008186260.tif 000012
ここで、
【数１１】
2008186260.tif 000013
従って、
【数１２】
2008186260.tif 000014
ここで、
【数１３】
2008186260.tif 000015
となる。
【００７９】
また、
【数１４】
2008186260.tif 000016
となる。
【００８０】
次に、ユーザの端末２０の制御部２０１は、第２の暗号化認証データ（ｗＢ）の有効性をユーザからの入力を受け付けたユーザパスワードデータ（ユーザパスワードデータ；π）及びユーザの端末２０の記憶部２０７が記憶しているアクセス先のサーバ１０のサーバ識別データ（ｈｏｓｔ）と比較することにより確認し、有効であると確認した場合に、ユーザからの入力を受け付けたユーザパスワードデータ（ユーザパスワードデータ；π）と、生成した第１の暗号化認証データ（ｗＡ）と、受信した第２の暗号化認証データ（ｗＢ）と、に基づいて第３の暗号化認証データ（ｚｃ）を生成し、更に第４の暗号化認証データ（ｏＡ）を生成する（ステップＳ１１１）。即ち、
【数１５】
2008186260.tif 000017
ここで、
【数１６】
2008186260.tif 000018
【００８１】
従って、
【数１７】
2008186260.tif 000019
ここで、
【数１８】
2008186260.tif 000020
となる。
【００８２】
また、
【数１９】
2008186260.tif 000021
となる。
【００８３】
次に、ユーザの端末２０の制御部２０１は、生成した第４の暗号化認証データ（ｏＡ）をセッションＩＤ（ＳＩＤ）と共にサーバ１０に送信する（ステップＳ１１２）。
【００８４】
次に、サーバ１０の制御部１０１は、生成した第６の暗号化認証データ（ｏＡ’）と、受信した第４の暗号化認証データ（ｏＡ）と、を比較して一致した場合に、ユーザ認証が成立したことを確認する（ステップＳ１１４）。
【００８５】
次に、サーバ１０の制御部１０１は、ユーザ認証が成立したことを確認した場合に、受信した第１の暗号化認証データ（ｗＡ）と、生成した第２の暗号化認証データ（ｗＢ）と、生成した第５の暗号化認証データ（ｚＳ）と、に基づいて、第７の暗号化認証データ（ｏＢ）を生成してセッションＩＤ（ＳＩＤ）と共に端末２０に送信する（ステップＳ１１５）。即ち、
【数２０】
2008186260.tif 000022
を生成して送信する。
【００８６】
次に、ユーザの端末２０の制御部２０１は、生成した第１の暗号化認証データ（ｗＡ）と、受信した第２の暗号化認証データ（ｗＢ）と、生成した第３の暗号化認証データ（ｚＣ）と、に基づいて生成した第８の暗号化認証データ（ｏＢ’）と、受信した第７の暗号化認証データ（ｏＢ）と、を比較して一致した場合に、サーバ認証が成立したことを確認する（ステップＳ１１６）。即ち、
【数２１】
2008186260.tif 000023
を生成してｏＢと比較する。
【００８７】
次に、ユーザの端末２０の制御部２０１は、図７のような画面を表示装置２０２２に表示する。
【００８８】
上述のようなプロセスを経て、ユーザ認証が成立したユーザの端末２０とサーバ１０との間では、例えば、所定の期間有効なセッションを確立し、その後の端末２０とサーバ１０との間の通信オーバーヘッドを抑制してもよい。例えば、サーバ１０の記憶部１０７には、図５に示すような、有効セッションテーブルを記憶しておく。この例では、セッションＩＤ（ＳＩＤ）：Ａ１５Ｂ３１を持つセッションは、ユーザＩＤ（ｕｉｄ）：ＡＢＣ００１を持つユーザに対して有効なものとして与えられており、ｗＡ：ｗＡ００１、ｗＢ：ｗＢ００１、ｚｉ：ｚｉ００１、ｏＡ：ｏＡ００１、ｏＢ：ｏＢ００１、キーパラメータＫｉ：Ｋｉ００１がそれぞれ関連付けて記憶されており、これらのパラメータを使用して２００６年１１月１日１３時１０分００秒までこの有効なセッションが維持されることになる。具体的には、例えば、キーパラメータＫｉｓ：Ｋｉｓ００１をサーバ１０の記憶部１０７が記憶し、キーパラメータＫｉｃ：Ｋｉｃ００１をユーザの端末２０の記憶部２０７が記憶することによって、その後のデータの送受信の際にこれらのキーパラメータを読み出して参照することができ、セッションの維持やデータの完全性のチェックを行う。
【００８９】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【００９０】
【図１】本発明の好適な実施形態の一例に係るシステム１の全体構成を示す図である。
【図２】本発明の好適な実施形態の一例に係るサーバ１０及び端末２０の構成を示す図である。
【図３】本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理を示すシーケンス図である。
【図４】本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理におけるユーザ識別データテーブルを示す図である。
【図５】本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理における有効セッションテーブルを示す図である。
【図６】本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理におけるユーザ識別データの入力画面を示す図である。
【図７】本発明の好適な実施形態の一例に係るサーバ１０によるユーザ認証処理におけるユーザ認証結果を通知する画面を示す図である。
【図８】従来の技術に係るユーザ認証処理における悪意の第三者によるユーザ識別データのフィッシング行為について説明する図である。
【符号の説明】
【００９１】
１  システム
１０  サーバ
２０  端末
３０  通信ネットワーク
【図１】
2008186260.tif 000024
【図２】
2008186260.tif 000025
【図３】
2008186260.tif 000026
【図４】
2008186260.tif 000027
【図５】
2008186260.tif 000028
【図６】
2008186260.tif 000029
【図７】
2008186260.tif 000030
【図８】
2008186260.tif 000031