(57)【要約】【課題】パスワードの初期化の際に、本人確認に使用する時限パスワードの安全性を高めた認証サーバを提供する。【解決手段】ユーザ端末１から認証サーバ１０に時限パスワードの発行が要求されると、認証サーバ１０は、サーバ・パスワード、ユーザＩＤ、時刻情報（例えば、分単位）から暗号ハッシュ関数みより時限パスワードを生成し、ユーザ端末１に送信する。ユーザは、受け取った時限パスワードとユーザＩＤを用いてパスワードの再設定要求を認証サーバ１０に送信する。認証サーバ１０は、パスワードの再設定要求を受信すると、ユーザＩＤと現在時刻とサーバ・パスワードから暗号ハッシュ関数により時限パスワードを再生成すると共に、現在時刻から１分ずつ遡った時刻情報により時限パスワードを再生成し、ユーザ端末１から送信された時限パスワードと一致するものがあるかどうかをチェックする。【選択図】図１
2006311529.tif 000002
【特許請求の範囲】
【請求項１】
認証サーバとパスワード発行サーバとを備え、ユーザ端末に入力されたユーザＩＤおよびパスワードを、該ユーザ端末から受信してユーザの正当性を判定する認証システムであって、
前記パスワード発行サーバが、
ユーザＩＤと、認証サーバ自身の固有な情報である種情報を記憶する記憶部と、
ユーザ端末から、一時的に使用されるパスワードである時限パスワードの送信要求をユーザＩＤと共に受信する時限パスワード要求受信手段と、
前記ユーザ端末から時限パスワードの送信要求を受信した場合に、前記記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により時限パスワードを生成する時限パスワード生成手段と、
前記時限パスワード生成手段により生成した時限パスワードをユーザ端末に送信する時限パスワード送信手段と、を備え、
前記認証サーバが、
前記ユーザ端末から、ユーザＩＤと前記ユーザ端末に送信した時限パスワードとを含む認証要求を受信する認証要求受信手段と、
前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成手段と、
前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定手段と、
前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認手段と、を備える
ことを特徴とする認証システム。
【請求項２】
前記パスワード発行サーバの時限パスワード生成手段における時限パスワードを生成、および前記認証サーバの時限パスワード再生成手段における時限パスワードを再生で使用される時刻情報の時間単位が、秒単位、分単位、時単位のいずれかである
ことを特徴とする請求項１に記載の認証システム。
【請求項３】
前記認証サーバの時限パスワード再生成手段は、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワード再生成する場合に、最大Ｎ時間単位（Ｎ：整数）までを有効時間として時限パスワードを再生成し、
前記認証サーバの時限パスワード判定手段は、前記ユーザ端末から受信した時限パスワードを、前記有効時間の範囲内で再生成された時限パスワードとだけ比較することにより、ユーザ端末から受信した時限パスワードが前記有効時間を過ぎている場合には、本人確認失敗と判定すること
を特徴とする請求項１または請求項２に記載の認証システム。
【請求項４】
再発行されるパスワードは暗号ハッシュ関数により暗号化されて前記パスワード発行サーバの記憶部に保存されること
を特徴とする請求項１から３のいずれかに記載の認証システム。
【請求項５】
認証サーバとパスワード発行サーバとを備え、ユーザ端末に入力されたユーザＩＤおよびパスワードを、該ユーザ端末から受信してユーザの正当性を判定する認証システムにおける認証方法であって、
前記パスワード発行サーバの記憶部が、ユーザＩＤと、認証サーバ自身の固有な情報である種情報を記憶し、
前記パスワード発行サーバの時限パスワード要求受信手段が、ユーザ端末から、一時的に使用されるパスワードである時限パスワードの送信要求をユーザＩＤと共に受信し、
前記パスワード発行サーバの時限パスワード生成手段が、前記ユーザ端末から時限パスワードの送信要求を受信した場合に、前記記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により時限パスワードを生成し、
前記パスワード発行サーバの時限パスワード送信手段が、前記時限パスワード生成手段により生成した時限パスワードをユーザ端末に送信し、
前記認証サーバの認証要求受信手段が、前記ユーザ端末から、ユーザＩＤと前記ユーザ端末に送信した時限パスワードとを含む認証要求を受信し、
前記認証サーバの時限パスワード再生成手段が、前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成し、
前記認証サーバの時限パスワード判定手段が、前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定し、
前記認証サーバの本人確認手段が、前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する
ことを特徴とする認証方法。
【請求項６】
認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、ユーザ端末より受信する認証要求受信手段と、
前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成手段と、
前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定手段と、
前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認手段と、
を備えることを特徴とする認証サーバ。
【請求項７】
ユーザの正当性を判定する認証サーバの認証方法であって、
認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、前記認証サーバの認証要求受信手段がユーザ端末より受信し、
前記ユーザ端末から認証要求を受信した場合に、前記認証サーバの時限パスワード再生成手段が、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成し、
前記認証サーバの時限パスワード判定手段が、前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定し、
前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、前記認証サーバの本人確認手段が、本人確認成功と判定する
ことを特徴とする認証方法。
【請求項８】
ユーザの正当性を判定する認証サーバのコンピュータに実行させるプログラムであって、
認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、ユーザ端末より受信する認証要求受信処理と、
前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成処理と、
前記時限パスワード再生成処理により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定処理と、
前記時限パスワード判定処理により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認処理と、
をコンピュータに実行させるプログラム。
【請求項９】
ユーザの正当性を判定する認証サーバのコンピュータに実行させるプログラムを記憶する記録媒体であって、
認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、ユーザ端末より受信する認証要求受信処理と、
前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成処理と、
前記時限パスワード再生成処理により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定処理と、
前記時限パスワード判定処理により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認処理と、
をコンピュータに実行させるプログラムを記憶する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワードの初期化（パスワードの再発行）の際に、確実に本人確認が行なうことができ、また、本人確認のために一時的に発行されるパスワード（時限パスワード）の安全性を高め、さらにパスワード初期化のプロセスを自動化できる、認証システムおよびその認証方法、認証サーバおよびその認証方法、記録媒体、プログラムに関するものである。
【背景技術】
【０００２】
アクセスに際してパスワード認証が必要となるサービスにおいては、ユーザがパスワードを忘れてしまった場合の対処法を用意しておかなければならない。セキュリティ面を考慮した認証システムの場合、パスワードを暗号ハッシュ関数に掛けた値を保存するなど、パスワードそのものを保存する仕組みにはなっていないため、パスワードを思い出させるというアプローチは通用しない。したがって、問題の生じたアカウントのパスワードをランダムなものに再設定して、ユーザに通知するという対処法が一般的となっており、このプロセスは「パスワード初期化」と呼ばれる。
【０００３】
パスワード初期化には、１つの課題がある。ユーザはパスワードを忘れたことをきっかけに、システムに対して初期化要求を送信するが、システムはどうやってその初期化要求が、本当にユーザ本人からのものであるかどうかを判定すればよいかが問題となる。ユーザはパスワードを忘れているわけだから、通常の本人認証（本人確認）を行うことはできない。パスワード認証を封じられた状況であっても、悪意の第三者が他人のパスワードを勝手に初期化できないように、最低限の本人確認ができる仕組みが必要となる。
【０００４】
パスワード認証が使えない非常時の本人確認の方法としてよく使われている従来の技術として、秘密の質問による本人確認の方法がある。この方式では、ユーザ本人にしか答えられないような質問とその回答をあらかじめ認証サーバに登録しておく。そして、パスワード初期化要求があった際にその質問を出題し正しく回答できれば本人であると確認する。
【０００５】
図６は、秘密の質問による本人確認の方法について説明するための図である。図６を参照して、ユーザがパスワードを忘れたこときっかけに、ユーザ端末から認証サーバにパスワード初期化要求を送信する（ステップＳ３１）。認証サーバは、初期化要求を行なったユーザ（依頼者）に対応した秘密の質問をデータベース内の質問表から取り出して依頼者のユーザ端末に送信する（ステップＳ３２）。パスワードの初期化を要求した依頼者は、ユーザ端末から秘密の質問の回答を認証サーバに送信する（ステップＳ３３）。認証サーバは、依頼者の回答とデータベースに登録された回答を照合し正しければ依頼者を本人であると判定（確認）し、パスワード初期化を実行し、ランダムに決定した初期パスワードを依頼したユーザのパスワードとして書き換える（ステップＳ３４）。そして、認証サーバは、初期化したパスワードをユーザ端末に電子メールにより送信し、ユーザ端末は初期化パスワードを取得する（ステップＳ３５）。
【０００６】
秘密の質問方式には、いくつかの問題点がある。まず、ユーザが他人には推測できないような質問を考えなければならないという点である。例えば、「飼っているペットの名前は？」という質問は、家族や友人にでもすぐに分かる可能性がある。また、まったくの他人であっても、数回の推測による回答の試行で正解を得られる可能性がる。したがって、ユーザは登録する秘密の質問を慎重に選択しなければならないのである。また、ユーザは、他人に推測されないような質問を意識しすぎて、当の本人が答えられなくなるような質問を選択し認証サーバに登録してしまうこともある。また、認証サーバでは、ユーザの数だけ秘密の質問を登録しなければならないため、その分必要なリソースは増加する。さらに、秘密の質問はユーザ１人１人のプライベート情報とも言えるので、それを管理する認証サーバ側の責任も増えてしまうという問題がある。
【０００７】
なお、従来技術としてパスワードの安全を高めたパスワードシステムが提案されている（例えば、特許文献１参照）。このパスワードシステムは、パスワードを入力する電子端末機と、ランダムなパスワードを生成するパスワード生成装置とで構成され、電子端末機は、パスワード生成の要求をパスワード生成装置に送信し、パスワード生成装置は、パスワードの生成要求に応じてパスワードを生成し電子端末機に送信する。この場合に、パスワードは有効時間経過後、無効になって使い捨てられるようになっている。しかしながら、パスワードの使い捨ての方式であっても、本人確認時に照合するため認証サーバ側でユーザごとのパスワードを保存しておく必要があり、この情報が漏洩してしまうと本人確認の仕組みが破綻してしまうので、パスワード情報の保護も重大な課題となる。
【特許文献１】特開２００１−２０９６１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
パスワード初期化の際の本人確認について、秘密の質問方式の場合は、ユーザが他人には推測できないような質問を考えなければならないという問題や、認証サーバにユーザの数だけ秘密の質問を登録しなければならないため、その分必要なリソースは増加する問題があった。また、秘密の質問はユーザ１人１人のプライベート情報とも言えるので、それを記憶する認証サーバ側の責任も増えてしまうという問題があった。
【０００９】
また、パスワードの使い捨ての方式であっても、本人確認時に照合するため認証サーバ側でユーザごとのパスワードを保存しておく必要があり、この情報が漏洩してしまうと本人確認の仕組みが破綻してしまうという問題があった。
【００１０】
本発明はこのような問題を解決するためになされたもので、その目的は、パスワードの初期化（パスワードの再発行）の際に、確実に本人確認が行なうことができ、また、本人確認に使用する一時的に発行されるパスワード（時限パスワード）の安全性を高め、さらにパスワード初期化のプロセスを自動化できる、認証システムおよびその認証方法、認証サーバおよびその認証方法、記録媒体、プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明は上記課題を解決するためになされたものであり、認証サーバとパスワード発行サーバとを備え、ユーザ端末に入力されたユーザＩＤおよびパスワードを、該ユーザ端末から受信してユーザの正当性を判定する認証システムであって、前記パスワード発行サーバが、ユーザＩＤと、認証サーバ自身の固有な情報である種情報を記憶する記憶部と、ユーザ端末から、一時的に使用されるパスワードである時限パスワードの送信要求をユーザＩＤと共に受信する時限パスワード要求受信手段と、前記ユーザ端末から時限パスワードの送信要求を受信した場合に、前記記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により時限パスワードを生成する時限パスワード生成手段と、前記時限パスワード生成手段により生成した時限パスワードをユーザ端末に送信する時限パスワード送信手段と、を備え、前記認証サーバが、前記ユーザ端末から、ユーザＩＤと前記ユーザ端末に送信した時限パスワードとを含む認証要求を受信する認証要求受信手段と、前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成手段と、前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定手段と、
前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認手段と、を備えることを特徴とする認証システム。
このような構成であれば、パスワードを忘れたユーザのユーザ端末からパスワード発行サーバに対して時限パスワードの発行を要求し、パスワード発行サーバは、種情報、ユーザＩＤ、タイムスタンプ情報（例えば、分単位）を入力として、暗号ハッシュ関数を使用して時限パスワードを生成し、ユーザ端末に送信する。ユーザは、受け取った時限パスワードとユーザＩＤを用いて認証要求を認証サーバに送信する。認証サーバはユーザ端末から認証要求を受信すると、ユーザＩＤと種情報と現在時刻から暗号ハッシュ関数により時限パスワードを再生成すると共に、時間単位を例えば分単位と設定した場合、現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとの時限パスワードを再生成する。そして、認証サーバは、ユーザ端末から送信された時限パスワードと再生成した時限パスワードとを比較し、一致するものがあるかどうかを判定する。一致するものがあれば、本人確認成功として認証を行うことができる。
これにより、ユーザが提示してきた時限パスワードの正当性確認（本人確認）は、ユーザＩＤと時刻情報と種情報を入力とした暗号ハッシュ関数により生成された時限パスワードにより行うことができるので、時限パスワードの安全性を高めた本人確認を行なえる。また、認証サーバ側では時限パスワードを保存しておく必要がないので、リソースの節約が図れるとともに、認証サーバ側のセキュリティ管理の基準をその分軽減することができ、これによりハード面、ソフト面での負担を軽減することができる。
【００１２】
また、本発明の認証システムにおいて、前記パスワード発行サーバの時限パスワード生成手段における時限パスワードを生成、および前記認証サーバの時限パスワード再生成手段における時限パスワードを再生で使用される時刻情報の時間単位が、秒単位、分単位、時単位のいずれかであることを特徴とする。
このような構成であれば、ユーザＩＤと、種情報と、タイムスタンプの時刻情報を入力として、暗号ハッシュ関数により時限パスワードを生成する際に、時刻情報の単位として、秒単位、分単位、時単位のいずれかを使用する。
これにより、アプリケーションの種類や、システムの構成に応じて、時限パスワードの生成に使用する時刻情報の時間単位を選択使用できる。このため、例えば、時単位を選択することができれば、秒単位や分単位を選択する場合と比較して、時限パスワードを再生成する処理と、時限パスワードを判定する処理の負荷が低減できる。
【００１３】
また、本発明の認証システムにおいて、認証サーバの時限パスワード再生成手段は、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワード再生成する場合に、最大Ｎ時間単位（Ｎ：整数）までを有効時間として時限パスワードを再生成し、前記認証サーバの時限パスワード判定手段は、前記ユーザ端末から受信した時限パスワードを、前記有効時間の範囲内で再生成された時限パスワードとだけ比較することにより、ユーザ端末から受信した時限パスワードが前記有効時間を過ぎている場合には、本人確認失敗と判定することを特徴とする。
このような構成であれば、時限パスワードの有効時間として、例えば時間単位を分とし、有効時間を５分（Ｎ＝５）と決めた場合に、現在時刻から５分前までの有効時間の範囲内で時限パスワードを再生成して、ユーザ端末から送信された時限パスワードと一致するものがあるかどうかを判定する。
これにより、時限パスワードについて、有効時間を過ぎたものは認証サーバが受け付けないようにできる。この時限機能によって、時限パスワードの再利用を防ぎ、さらに安全性を向上させことができる。
【００１４】
また、本発明の認証システムにおいて、再発行されるパスワードは暗号ハッシュ関数により暗号化されて前記パスワード発行サーバの記憶部に保存されることを特徴とする。
このような構成であれば、認証サーバで再発行したパスワードを暗号ハッシュ関数により暗号化して記憶部に記憶する。
これにより、パスワードそのものを認証サーバに保存する必要がなく、パスワードの安全性を高めることができる。
【００１５】
また本発明は、認証サーバとパスワード発行サーバとを備え、ユーザ端末に入力されたユーザＩＤおよびパスワードを、該ユーザ端末から受信してユーザの正当性を判定する認証システムにおける認証方法であって、前記パスワード発行サーバの記憶部が、ユーザＩＤと、認証サーバ自身の固有な情報である種情報を記憶し、前記パスワード発行サーバの時限パスワード要求受信手段が、ユーザ端末から、一時的に使用されるパスワードである時限パスワードの送信要求をユーザＩＤと共に受信し、前記パスワード発行サーバの時限パスワード生成手段が、前記ユーザ端末から時限パスワードの送信要求を受信した場合に、前記記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により時限パスワードを生成し、前記パスワード発行サーバの時限パスワード送信手段が、前記時限パスワード生成手段により生成した時限パスワードをユーザ端末に送信し、前記認証サーバの認証要求受信手段が、前記ユーザ端末から、ユーザＩＤと前記ユーザ端末に送信した時限パスワードとを含む認証要求を受信し、前記認証サーバの時限パスワード再生成手段が、前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成し、前記認証サーバの時限パスワード判定手段が、前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定し、前記認証サーバの本人確認手段が、前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定することを特徴とする認証方法である。
【００１６】
また本発明は、認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、ユーザ端末より受信する認証要求受信手段と、前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成手段と、前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定手段と、前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認手段と、を備えることを特徴とする認証サーバである。
【００１７】
また本発明は、ユーザの正当性を判定する認証サーバの認証方法であって、認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、前記認証サーバの認証要求受信手段がユーザ端末より受信し、前記ユーザ端末から認証要求を受信した場合に、前記認証サーバの時限パスワード再生成手段が、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成し、前記認証サーバの時限パスワード判定手段が、前記時限パスワード再生成手段により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定し、前記時限パスワード判定手段により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、前記認証サーバの本人確認手段が、本人確認成功と判定することを特徴とする認証方法である。
【００１８】
また本発明は、ユーザの正当性を判定する認証サーバのコンピュータに実行させるプログラムであって、認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、ユーザ端末より受信する認証要求受信処理と、前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成処理と、前記時限パスワード再生成処理により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定処理と、前記時限パスワード判定処理により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認処理と、をコンピュータに実行させるプログラムである。
【００１９】
また本発明は、ユーザの正当性を判定する認証サーバのコンピュータに実行させるプログラムを記憶する記録媒体であって、認証要求に含まれる時限パスワードであって、パスワード発行サーバが、記憶部に記憶した種情報を読み出し、該種情報と、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により生成した時限パスワードを、ユーザ端末より受信する認証要求受信処理と、前記ユーザ端末から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、種情報とを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、前記現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードを再生成する時限パスワード再生成処理と、前記時限パスワード再生成処理により再生成した時限パスワードのいずれかと、ユーザ端末から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する時限パスワード判定処理と、前記時限パスワード判定処理により、再生成した時限パスワードのいずれかとユーザ端末から受信した時限パスワードとが一致すると判定された場合に、本人確認成功と判定する本人確認処理と、をコンピュータに実行させるプログラムを記憶する記録媒体である。
【発明を実施するための最良の形態】
【００２０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２１】
図１は、本発明の認証サーバの概要について説明するための図である。本発明の認証サーバにおいては、パスワードの初期化の際に、ユーザ端末１と認証サーバ１０との間で、一時的なパスワード（時限パスワード）を一種の「合言葉」としてやり取りし、本人確認を行なう。以下、図１を参照して、認証サーバ１０における大まかな処理の流れについて説明する。
【００２２】
ユーザはパスワードを忘れたことをきっかけに、ユーザ端末１から認証サーバ１０に対して時限パスワードの発行要求を送信する（ステップＳ１）。認証サーバ１０は、認証サーバ１０に固有な秘匿情報であるサーバ・パスワード（種情報）、ユーザＩＤ、タイムスタンプの情報を入力として、暗号ハッシュ関数を使用して時限パスワードを生成し（ステップＳ２）、ユーザ端末１に電子メールにより送信する。なお時限パスワードの生成は、認証サーバでなく、パスワード発行サーバなどの他のサーバで行うようにしても良い。その場合、サーバ・パスワードは予めパスワード発行サーバから認証サーバに通知されている。なお、本実施形態においては、パスワード生成サーバの機能が認証サーバ内に備えられているものとして説明する。ユーザは、電子メールで受け取った時限パスワードを用いて認証要求を認証サーバ１０に送信する（ステップＳ３）。そして、認証サーバ１０は時限パスワードの正当性を判定して、ユーザの認証を行う（ステップＳ４）。
【００２３】
時限パスワードの生成に使用する暗号ハッシュ関数は逆変換が不可能であるという性質を持つため、時限パスワードからインプットの値を逆変換で得ることはできない。また、認証サーバ１０が秘匿しておくサーバ・パスワードをインプットの1つとして採用するので、時限パスワードを生成できるのは、サーバ・パスワードを知っている認証サーバ１０に限られる。したがって、時限パスワード通知メールが漏洩しない限り、悪意の第三者が認証サーバ１０に対して、不正にパスワードの再登録を行うことはできない。
【００２４】
本発明の認証サーバ１０おける本人確認の方法は、ユーザが電子メールを受け取れるかどうかというポイントだけに絞っている。これは、秘密の質問のような余分なデータを認証サーバ１０に記憶させ負担を掛けることを避けるためである。時限パスワードは、サーバ・パスワードを知っている認証サーバ１０に限って再生成可能なので、認証サーバ１０側で記憶しておく必要はない。
【００２５】
タイムスタンプの時刻情報は、秒単位・分単位・時単位と自由に選択できる。例えば、認証サーバ１０は現在時刻を分単位で取得して時限パスワードを生成する。そして、時限パスワードの有効時間を５分と設定した場合、ユーザから提示された時限パスワードが５分以内に生成されたものかどうか判定する。具体的には、１分ずつ５分までさかのぼったタイムスタンプで時限パスワードを再生成して、ユーザが提示したものと一致するかどうかを判定する。たとえ認証サーバ１０が生成した時限パスワードであっても、有効時間を過ぎたものは受け付けない。この時限機能によって、時限パスワードの再利用を防ぎ安全性を向上させことができる。
【００２６】
このように、本発明の認証サーバにおいては、ユーザが提示してきた時限パスワードの正当性の判定（本人確認）は、ユーザＩＤと時刻情報とサーバ・パスワードを入力とした暗号ハッシュ関数により生成された時限パスワードにより行うので、安全性を高めた本人確認を行なえる。また、認証サーバ側で時限パスワードを保存しておく必要がなく、時限パスワードの安全性を高めるとともに、リソースの節約が図れる。また、時限パスワードとしては、有効時間を過ぎたものは受け付けないようにし、この時限機能によって、時限パスワードの再利用を防ぎさらに安全性を向上させる。
【００２７】
また、図２は本発明の認証サーバの構成例を示す機能ブロック図であり、本発明に直接関係する部分について示したものである。
図２に示すように、本発明の認証サーバ１０は、認証サーバ１０の全体を統括制御する制御部１１と、インターネット２等の通信ネットワークと認証サーバ１０とを通信接続する通信用インターフェイス１２と、認証サーバ１０に必要な各種の処理を行なう処理プログラム部２０と、認証サーバ１０での処理に必要な各種のデータを記憶するデータベース（記憶部）１３とで構成されている。
【００２８】
また、処理プログラム部２０には、以下に示す処理部が含まれている。
時限パスワード要求受信処理部（時限パスワード要求受信手段）２１は、パスワードを忘れたユーザのユーザ端末１から、時限パスワードの送信要求（ユーザＩＤを含む）を受信する処理部である。
時限パスワード生成処理部（時限パスワード生成手段）２２は、データベース１３に記憶したサーバ・パスワードを読み出し、該サーバ・パスワードと、ユーザＩＤと、現在時刻のタイムスタンプの時刻情報とを入力として、暗号ハッシュ関数により時限パスワードを生成する処理部である。
【００２９】
電子メールアドレス抽出処理部（電子メールアドレス抽出手段）２３は、ユーザＩＤを指標にしてデータベース１３を参照し、当該ユーザＩＤに対応する電子メールアドレスを抽出する処理部である。
時限パスワード送信処理部（時限パスワード送信手段）２４は、時限パスワード生成処理部２２により生成した時限パスワードを、電子メールによりユーザ端末１に送信する処理部である。
認証要求受信処理部（認証要求受信手段）２５は、ユーザ端末１から、ユーザＩＤとユーザ端末１に送信した時限パスワードとを含む認証要求を受信する処理部である。
【００３０】
時限パスワード再生成処理部（時限パスワード再生成手段）２６は、認証要求受信処理部２５によりユーザ端末１から認証要求を受信した場合に、現在時刻と、ユーザＩＤと、サーバ・パスワードとを入力として、暗号ハッシュ関数により時限パスワードを再生成すると共に、現在時刻から所定の時間単位（例えば、分単位）ずつ順次時間を遡った時刻ごとに時限パスワードを再生成する処理部である。この時限パスワードの再生成処理は、予め決めて認証サーバ１０内に記憶された有効時間（例えば、１０分）まで行なわれる。なお時限パスワードの再生成は、現在時刻から所定の時間遡った時刻の範囲における所定の時刻ごとに時限パスワードが再生成されるようにすればよい。例えば、現在時刻から有効時間１０分遡った時刻から、現在時刻までの、所定の時間単位の間隔での時刻ごとに、時限パスワードを再生成するようにしてもよい。
【００３１】
時限パスワード判定処理部（時限パスワード判定手段）２７は、時限パスワード再生成処理部２６により再生成された時限パスワードのいずれかと、ユーザ端末１から受信した時限パスワードとを比較し、一致するものがあるかどうかを判定する処理部である。一致するものがある場合には、本人確認成功と判定する。
【００３２】
また、データベース１３には、認証サーバに固有のサーバ・パスワードと、ユーザＩＤと、該ユーザＩＤに対応する電子メールアドレス（その他のユーザの属性情報を含む場合もある）と、暗号ハッシュ関数等により暗号化されたパスワード、時限パスワードの有効時間等が記録されている。
【００３３】
なお、図３は、認証サーバのハードウェア構成例を示す図である。この図が示すように、認証サーバ１０は、図３に示すようなハードウェア構成を有している。ハードウェア構成として、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）／ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、Ｉ／Ｆ（Interface）などである。そして、認証サーバ１０は、ＣＰＵがＲＡＭ／ＲＯＭやＨＤＤに記録されているプログラムを読み取って、図２に示す処理プログラム部２０内の各処理部２１〜２９の各機能の処理を行なう。またデータベース１３はＨＤＤにより構成されている。
そして、本願発明の認証サーバの各処理部はＣＰＵがプログラムを読み込んで実行することにより、図２の機能ブロック図で示した各処理部の処理を行なう。
【００３４】
また、図４は、時限パスワードを生成するプログラムの実装例を示す図である。時限パスワードの生成プログラムは、図４に示すようなJａｖａ（登録商標）のＣｌａｓｓとして実装されている。時限パスワードクラスTimeLimitPasswordは、インスタンス変数としてサーバ・パスワードbasePassword_を持つ。時限パスワードの生成には、メソッドgeneratePassword（）を使用する。
【００３５】
引数にユーザＩＤを渡すことで、サーバ・パスワードと現在時刻のタイムスタンプを用いて時限パスワードを生成して返す。時限パスワードの確認にはメソッドconfirmPassword（）を使用する。引数としてユーザから提示されたパスワード、ユーザＩＤ、有効時間を渡すことで、時限パスワードの有効性を確認する。
【００３６】
図５は、認証サーバにおける処理手順を示すフローチャートである。以下、図５を参照して、その処理の流れについて説明する。
【００３７】
最初に、パスワードを忘れたユーザが、ユーザ端末１から認証サーバ１０に、ユーザＩＤを送信する（ステップＳ１１）。認証サーバ１０は、ユーザ端末１から送信されたユーザＩＤを受信する（ステップＳ１２）。
【００３８】
認証サーバ１０では、データベース１３に記憶されたサーバ・パスワード読み出し、このサーバ・パスワードと、ユーザＩＤと、タイムスタンプの現在時刻情報（この例では何時何分と分単位の時刻）を入力として、暗号ハッシュ関数に掛けて、時限パスワードを生成する（ステップＳ１３）。
【００３９】
また、ユーザＩＤを指標にしてデータベース１３を参照し、当該ユーザＩＤに対応する電子メールアドレスを抽出し、生成した時限パスワードを電子メールにより送信する（ステップＳ１４）。
【００４０】
ユーザ端末１では、電子メールにより認証サーバ１０から時限パスワードを受信し（ステップＳ１５）、この時限パスワードとユーザＩＤとを含む認証要求を、データベース１３内に記憶された予め決められた有効時間内（この例では、１０分などの分単位の時間とする）に認証サーバ１０に送信する（ステップＳ１６）。
【００４１】
認証サーバ１０は、ユーザ端末１からユーザＩＤと時限パスワードを含む認証要求を受信し（ステップＳ１７）、最初に現在時刻（分単位）と、ユーザＩＤと、サーバ・パスワードを暗号ハッシュ関数に掛け、時限パスワードを再生成する。次に、現在時刻から１分を引いた時刻（1分だけ時間を遡った時刻）に対応する時限パスワードを再生成する。同様にして、２分、３分、・・・・Ｎ分と、有効時間Ｎ分まで時間を遡り、これらの時刻に対応する時限パスワードを再生成する。なお、有効時間Ｎ分は例えば１０分などと予め決めてデータベース１３に書き込んでおく（ステップＳ１８）。
【００４２】
次に、再生成した時限パスワードと、ユーザ端末１から受信した元の時限パスワードとを比較し、一致するものがあるかどうかを判定する（ステップＳ１９）。その結果、一致するものがあれば、本人確認成功と判定し（ステップＳ２０）、一致しなければ本人確認の失敗とし、本人確認エラーを出してプロセスを終了する（ステップＳ２１）。なお、上記有効時間Ｎ分の情報は、予めデータベースに記憶してこれを読み取る方法以外に、プログラム内部に直接記述したり、データベース以外の設定ファイルから読み取るなどの方法がある。
【００４３】
なお、上述した例では、時限パスワードを生成する際に、分単位の時刻情報を使用したが、これに限らず、秒単位または時単位であってもよい。また、上述した例では、再生成する時限パスワードを、０分、１分、２分、・・・・Ｎ分と予め決められたＮ分までの全ての時刻に対して生成した後に、再生成した時限パスワードのそれぞれをユーザ端末１から受信した元の時限パスワードと比較する例について示したが、これに限らず、時限パスワードを生成する度に、元の時限パスワードと比較するようにしてもよい。
【００４４】
以上、説明した処理手順により、ユーザが提示してきた時限パスワードの正当性の判定（本人確認）を、ユーザＩＤと、サーバ・パスワードと、時刻情報から暗号ハッシュ関数により再生成した時限パスワードにより行うことができる。従って、認証サーバ側で時限パスワードを保存しておく必要はない。時限パスワードは保存不要なので、当然保護の必要もなくなる。そして、最初に登録されて認証サーバに記録されたメールアドレスが正常であれば、他人に時限パスワードが送信される危険性もなくなるため、ユーザは例えばパスワードなどを忘れた際に、上記処理を行う認証サーバから配信された時限パスワードによって、認証を行うことができる。
またユーザがパスワードを忘れたことにより、上述の認証サーバの処理によりユーザの認証が行われた後には、再度、自動またはユーザの処理に基づいて、パスワードを生成し、送信するようにしてもよい。
【００４５】
なお、図３に示したように、本発明の認証サーバ１０は内部にコンピュータシステムを有している。そして、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【００４６】
すなわち、図２に示す処理プログラム部２０における、各処理は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００４７】
以上、本発明の実施の形態について説明したが、本発明の認証サーバは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００４８】
【図１】本発明の認証サーバの概要について説明するための図。
【図２】本発明の認証サーバの構成例を示す機能ブロック図。
【図３】本発明の認証サーバのハードウェア構成例を示す図。
【図４】時限パスワード生成のプログラム実装例を示す図。
【図５】本発明の認証サーバの処理手順を示すフローチャート。
【図６】秘密の質問による本人確認の方法について説明するための図。
【符号の説明】
【００４９】
１  ユーザ端末、  ２  インターネット、  １０  認証サーバ、  １１  制御部
１２  通信用インターフェイス、  １３  データベース、  ２０  処理プログラム部
２１  時限パスワード要求受信処理部、  ２２  時限パスワード生成処理部
２３  電子メールアドレス抽出処理部、  ２４  時限パスワード送信処理部
２５  認証要求受信処理部、  ２６  時限パスワード再生成処理部
２７  時限パスワード判定処理部
【図１】
2006311529.tif 000003
【図２】
2006311529.tif 000004
【図３】
2006311529.tif 000005
【図４】
2006311529.tif 000006
【図５】
2006311529.tif 000007
【図６】
2006311529.tif 000008