(57)【要約】【課題】  ユーザの作業性と利便性を向上させたワンタイムパスワード認証システム及び認証方法、及び、アクセス権の一時貸与に適したワンタイムパスワード認証システム及び認証方法を提供すること。【解決手段】  ワンタイムキー生成用携帯通信端末と、該ワンタイムキー生成用携帯通信端末と通信により相互認証するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、該ログイン用通信端末と通信により認証してログインとコンテンツ配信をするログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システム。【選択図】    図１
2006004020.tif 000002
【特許請求の範囲】
【請求項１】
ワンタイムキー生成用携帯通信端末と、該ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、該ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
ワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
ワンタイムキー生成用認証サーバ手段は、ワンタイムキー生成用携帯通信端末との相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用通信端末は、ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用認証サーバ手段は、ワンタイムキー生成用認証サーバ手段から上記ワンタイムキーを受信する手段と、ログイン用通信端末から上記ワンタイムキーを受信する手段と、受信したこれらのワンタイムキーを比較判断して一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システム。
【請求項２】
第１のワンタイムキー生成用携帯通信端末と、第２のワンタイムキー生成用携帯通信端末と、ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
第１のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
第２のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
ワンタイムキー生成用認証サーバ手段は、第１のワンタイムキー生成用携帯通信端末との相互認証手段と、第２のワンタイムキー生成用携帯通信端末との相互認証手段と、各ワンタイムキーの生成手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用通信端末は、各ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用認証サーバ手段は、
ワンタイムキー生成用認証サーバ手段から上記各ワンタイムキーを受信する手段と、
第１のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第１のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
第２のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第２のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
各ワンタイムキーの組の比較が全て一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システム。
【請求項３】
ワンタイムキー生成用携帯通信端末は、生成するワンタイムキーの有効時間として任意の有効時間の値を入力又は選択する手段と、入力又は選択された有効時間の値を、通信による相互認証においてワンタイムキー生成用認証サーバ手段に送信する手段とを有し、
ワンタイムキー生成用認証サーバ手段は、前記有効時間の値を通信による相互認証においてワンタイムキー生成用携帯通信端末から受信する手段と、ログイン用認証サーバ手段にワンタイムキーを送信する際に該ワンタイムキーの生成された時刻の値と前記有効時間の値とを関連づけて送信する手段とを有し、
ログイン用認証サーバ手段は、
ワンタイムキー生成用認証サーバ手段から前記関連づけられたワンタイムキーとワンタイムキーの生成された時刻の値と有効時間の値とを受信する手段と、
ログイン用通信端末から受信したワンタイムキーとワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較判断して一致する場合において、ログイン用通信端末から受信した各ワンタイムキーの受信時刻がそのワンタイムキーの有効時間内であるかどうかをさらに比較判断して、有効時間内でない場合には、ログインを許可しない比較判断手段とを有する請求項１又は請求項２に記載のワンタイムパスワード型認証システム。
【請求項４】
前記ログイン用認証サーバ手段が、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作する手段を備えた請求項１〜３のいずれかに記載のワンタイムパスワード型認証システム。
【請求項５】
前記ワンタイムキー生成用携帯通信端末として、携帯電話端末を使用する請求項１〜４のいずれかに記載のワンタイムパスワード型認証システム。
【請求項６】
前記ログイン用通信端末として、携帯電話端末を使用する請求項１〜５のいずれかに記載のワンタイムパスワード型認証システム。
【請求項７】
ワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、該ワンタイムキー生成用携帯通信端末及び該ログイン用通信端末と通信する認証サーバとを使用するワンタイムパスワード型認証方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理、初回登録完了後の第ｉ回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理、及び初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
ワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０が秘密通信路で送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１を、上記セッション用乱数Ｒ０とユーザーの秘密情報文字列Ｓとの２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０を、上記ユーザーの秘密情報文字列Ｓ及び上記共有使い捨て鍵Ｋ−１と、上記セッション用乱数Ｒ０との３者からハッシュ関数による計算処理によって生成して保存するステップと、
ワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１及びＫ０が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１及びＫ０を保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理として、
ワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉと、セッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者から生成された上記ハッシュ値とが送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉと、ワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１及びＫｉとの３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
ワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、ワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
ワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉが検証されたものと判断して認証処理を継続するステップと、
ワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉを生成するステップと、
ワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’を生成するステップと、
認証サーバが、ワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉと、認証サーバにより生成された上記セッション用認証子Ｐｉ’とを比較判断して、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
認証サーバから上記接続許可が送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、
ワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法。
【請求項８】
第１のワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、第２のワンタイムキー生成用携帯通信端末と、該第１のワンタイムキー生成用携帯通信端末、該ログイン用通信端末及び該第２のワンタイムキー生成用携帯通信端末に接続する認証サーバとを使用するワンタイムパスワード型認証方法であり、
携帯端末を使用する初回登録処理、初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理、及び初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
第１のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０が秘密通信路で送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１を、上記セッション用乱数Ｒ０とユーザーの秘密情報文字列Ｓとの２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０を、上記ユーザーの秘密情報文字列Ｓ及び上記共有使い捨て鍵Ｋ−１と、上記セッション用乱数Ｒ０との３者からハッシュ関数による計算処理によって生成して保存するステップと、
第１のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１及びＫ０が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１及びＫ０を保存するステップと、
第２のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０’’が秘密通信路で送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１’’を、上記セッション用乱数Ｒ０’’とユーザーの秘密情報文字列Ｓ’’との２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０’’を、上記ユーザーの秘密情報文字列Ｓ’’及び上記共有使い捨て鍵Ｋ−１’’と、上記セッション用乱数Ｒ０’’との３者からハッシュ関数による計算処理によって生成して保存するステップと、
第２のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１’’及びＫ０’’が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１’’及びＫ０’’を保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理として、
第１のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉと、セッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者から生成された上記ハッシュ値とが送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉと、第１のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１及びＫｉとの３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第１のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第１のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第１のワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉが検証されたものと判断して認証処理を継続するステップと、
第１のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉを生成するステップと、
第１のワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’を生成するステップと、
認証サーバが、第１のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉと、認証サーバにより生成された上記セッション用認証子Ｐｉ’とを比較判断して、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
第２のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ’’、共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’の３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉ’’と、セッション用乱数Ｒｉ’’、共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’の３者から生成された上記ハッシュ値とが送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉ’’と、第２のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’との３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第２のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第２のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第２のワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉ’’が検証されたものと判断して認証処理を継続するステップと、
第２のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉ’’と上記共有使い捨て鍵Ｋｉ’’との２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’’を生成するステップと、
第２のワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉ’’が送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉ’’と上記共有使い捨て鍵Ｋｉ’’との２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’’’を生成するステップと、
認証サーバが、第２のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉ’’と、認証サーバにより生成された上記セッション用認証子Ｐｉ’’’とを比較判断して、セッション用認証子Ｐｉ’’とセッション用認証子Ｐｉ’’’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ’’及び上記共有使い捨て鍵Ｋｉ’’と、上記セッション用認証子Ｐｉ’’との３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１’’を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ’’及び上記共有使い捨て鍵Ｋｉ’’と、上記セッション用認証子Ｐｉ’’との３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１’’を計算して保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、
第１のワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第１のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップと、
第２のワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ’’、上記共有使い捨て鍵Ｋｉ’’及びＫｉ＋１’’の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第２のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ’’、上記共有使い捨て鍵Ｋｉ’’及びＫｉ＋１’’の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第２のワンタイムキー生成用携帯通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
第２のワンタイムキー生成用携帯通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法。
【請求項９】
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合により、接続許可と判断して以後の通信を可能とするステップが、入力されるべき全てのワンタイムキーについて行われた後に、
認証サーバが、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作するステップが行われる、請求項７又は請求項８に記載のワンタイムパスワード型認証方法。
【請求項１０】
初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップが行われる、請求項７〜９のいずれかに記載のワンタイムパスワード型認証方法。
【請求項１１】
初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップを含み、且つ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理において、上記有効時間を任意に設定した場合にワンタイムキー生成用携帯通信端末に表示されるワンタイムキーの文字列の所定の一部の長さを、設定した有効時間の長さに対応させて長くして、その後の表示、入力、送信、比較判断の各ステップに使用する請求項７〜１０のいずれかに記載のワンタイムパスワード型認証方法。
【請求項１２】
前記ワンタイムキー生成用携帯通信端末として、携帯電話端末を使用する請求項７〜１１のいずれかに記載のワンタイムパスワード型認証方法。
【請求項１３】
前記ログイン用通信端末として、携帯電話端末を使用する請求項７〜１２のいずれかに記載のワンタイムパスワード型認証方法。
【請求項１４】
請求項７〜１３のいずれかに記載のワンタイムパスワード型認証方法を行うことを特徴とするワンタイムパスワード型認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークにおけるワンタイムパスワード型認証システム及び認証方法に関する。
【背景技術】
【０００２】
いわゆるインターネット等の安全でない通信路を用いて情報通信を行う際に、通信相手を認証することは必要不可欠である。認証方式には様々なものがあるが、公開鍵暗号を用いる方式と共通鍵暗号や一方向性ハッシュ関数を用いる方式が広く普及している。公開鍵暗号を用いる方式は安全性が高い方式であるが、非常に多くの計算量を必要とするという問題点がある。そして、計算能力の低い端末での認証には、必要な計算量が公開鍵暗号に比べて格段に低い共通鍵暗号や一方向性ハッシュ関数を用いる方式が適している。共通鍵暗号や一方向性ハッシュ関数を用いる方式として一般的なものはパスワードを用いる認証方式である。パスワードを用いる認証方式において、固定のパスワードを用いると通信路上での盗聴によってパスワードが盗まれてしまうという問題点がある。この問題を回避すべく、各認証セッションごとにパスワードが変化するワンタイムパスワード型認証システムが実用されている。
【０００３】
ワンタイムパスワード型認証システムにおいては、ユーザ側及びサーバ側とがどのようにしてワンタイムパスワードを共有するかが問題となる。これに対して幾つかの解決の方式が提示されている。
【０００４】
代表的な方式としては、時間同期方式、及びチャレンジアンドレスポンス方式がある。いずれも通常、ユーザは小型のワンタイムパスワード発生器を保持し、これにより発生させたパスワードとユーザＩＤを手元のコンピュータに打ち込み、手元のコンピュータからリモートにあるコンピュータ（サーバ）にログインする。
【０００５】
時間同期方式は、認証サーバとワンタイムパスワード発生器が共通の暗号鍵を保持し、ワンタイムパスワード発生器はパスワードを発生させるときの時刻を共通の暗号鍵により暗号化し、これをパスワードとするものである。認証サーバ側でもログイン要求があったときの時刻を共通の暗号鍵により暗号化し、送られてきたパスワードと比較して認証を行う。パスワード発生器と認証サーバ側の時計のずれを考慮して、時刻は分までを暗号化する。また、認征サーバでは認証サーバの時刻、１分前後の時刻或は数分前後内の時刻をすべて分間隔で暗号化し、この内のどれかと一致すれば有効なパスワードとする。例えば、特許文献１（特開平１１−３１６７４０号公報）は、安全性向上のために「秒」の単位までを使用する時刻同期方式ワンタイムパスワード認証システムを開示している。
【０００６】
チャレンジアンドレスポンス方式も同様に、認証サーバとワンタイムパスワード発生器が共通の暗号鍵を保持する。認証要求があると認証サーバはチャレンジコードと呼ばれる乱数を発生させ、これをユーザの手元にあるコンピュータに送る。ユーザはこのチャレンジコードをパスワード発生器に打ち込み、パスワード発生器はチャレンジコードを共通の暗号鍵で暗号化し、これをパスワードとする。認証サーバでもチャレンジコードを共通の暗号鍵で暗号化し、送られてきたパスワードと比較することで認証を行う。
【０００７】
【特許文献１】特開平１１−３１６７４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記の時間同期方式では認証サーバとワンタイムパスワード発生器とが相互に通信することがなく、ワンタイムパスワードが有効となるのは、認証サーバ側にあらかじめ設定された所定の時間、通常はわずか１分程度の間と決められているために、ユーザーが短時間で正確にそのワンタイムパスワードを打ち込みことが必要であり、作業性や利便性に問題があった。
【０００９】
また、上記のチャレンジアンドレスポンス方式では、ユーザがワンタイムパスワードを打ち込むに先立って、このチャレンジコードを正確にパスワード発生器に打ち込む作業が必要であり、ユーザの負担は大きく、やはりこの点で作業性や利便性に問題があった。
【００１０】
そして、いずれの方式でも、専用のパスワード発生器を持ち運んで使用することが必要であり、この点でもユーザの感じる不便さと紛失等によるセキュリティ上の不安は無視できないものであった。
【００１１】
従来の方式によるワンタイムパスワード認証システムは、上記のように、ユーザにとっての作業性と利便性に問題があった。
【００１２】
さらに、ワンタイムパスワードとは一度のみ有効であるパスワードであるので、これを他人に伝えることによって、アクセス権を一時的に貸与できれば、非常に便利である。しかし、従来の方式によるワンタイムパスワード認証システムは、上記のような作業性と利便性に問題があり、そのような用途を全く想定することができないほどであった。
【００１３】
すなわち、ワンタイムパスワードの有効期間が、わずか１〜２分程度では、それを他人に伝えてアクセス権を貸与することは現実的には不可能であるほどに短い。かといって、その有効期間を一律に長くしてしまうと、ワンタイムパスワードの漏洩や、全数探索攻撃に対して極めて脆弱になり、安全性の点で問題がある。
【００１４】
さらに、現実の社会の組織においては、アクセス権の貸与といった許可は、唯一人の権限によって行われるものではなく、所属の部門の責任者、さらにその部門を統括するより上位の部門の責任者、といった複数の人物からの許可を得て、初めて可能となるような仕組みとなっている。しかし、上述のような従来のワンタイムパスワード認証システムは、そのような社会の仕組みを反映して、簡易に使用することができるものではなかった。
【００１５】
従って、本発明の目的は、従来の方式によるワンタイムパスワード認証システムに比較して、ユーザにとっての作業性と利便性を向上させた新規なワンタイムパスワード認証システム及び認証方法を提供することにある。
【００１６】
さらに、本発明の目的は、ワンタイムパスワードを他人に伝えることによりアクセス権を一時的に貸与するために適した新規なワンタイムパスワード認証システム及び認証方法を提供することにもある。
【課題を解決するための手段】
【００１７】
本発明者等は、上記目的が、
ワンタイムキー生成用携帯通信端末と、該ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、該ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
ワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
ワンタイムキー生成用認証サーバ手段は、ワンタイムキー生成用携帯通信端末との相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用通信端末は、ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用認証サーバ手段は、ワンタイムキー生成用認証サーバ手段から上記ワンタイムキーを受信する手段と、ログイン用通信端末から上記ワンタイムキーを受信する手段と、受信したこれらのワンタイムキーを比較判断して一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システムによって達成されることを見いだした。
【００１８】
さらに、上記目的が、
第１のワンタイムキー生成用携帯通信端末と、第２のワンタイムキー生成用携帯通信端末と、ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
第１のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
第２のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
ワンタイムキー生成用認証サーバ手段は、第１のワンタイムキー生成用携帯通信端末との相互認証手段と、第２のワンタイムキー生成用携帯通信端末との相互認証手段と、各ワンタイムキーの生成手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用通信端末は、各ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用認証サーバ手段は、
ワンタイムキー生成用認証サーバ手段から上記各ワンタイムキーを受信する手段と、
第１のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第１のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
第２のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第２のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
各ワンタイムキーの組の比較が全て一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システムによって達成されることを見いだした。
【００１９】
上記のシステムは、携帯端末を使用することにより、別途専用のワンタイムパスワード発生器を持ち運ぶことなく、ユーザがワンタイムキーを入手することを可能にしている。これによりユーザの感じる不便さと紛失等によるセキュリティ上の不安を軽減している。さらに、ワンタイムキーの生成のために通信端末を使用して相互認証を行う結果、ユーザはチャレンジコードを目視して正確に打ち込む等の負担から解放されており、ユーザにとっての作業性と利便性が極めて向上している。
【００２０】
そして上記のシステムは、ログイン用通信端末とログイン用認証サーバ手段とのワンタイムキーによる認証に先立って、ワンタイムキー生成用携帯通信端末とワンタイムキー生成用認証サーバ手段との相互認証が行われるために、いわば扉に対してあらかじめ二重に鍵をかけておき、そのうちの内鍵を開けた後に、残った外鍵を開けることに相当するような手順とすることができる。
【００２１】
すなわち、本来のアクセス権を有するユーザが、まず自ら内鍵を開けることに相当する作業、すなわちログイン用通信端末とログイン用認証サーバ手段との相互認証を行った後に、そのユーザが一時的にアクセス権を貸与しようとする他人へと外鍵を開けるために必要な鍵を渡して、その他人にその一度に限って外鍵を開けさせることに相当する作業、すなわちワンタイムキーによるログイン用通信端末とログイン用認証サーバ手段との認証を許すことができる。これによってユーザは安心して、アクセス権の一時的な貸与をすることができる。従って、上記のシステムは、ワンタイムパスワード（ワンタイムキー）を他人に伝えることによりアクセス権を一時的に貸与するために適したものとなっている。
【００２２】
さらに、複数のワンタイムキー生成用携帯通信端末を使用する場合においては、それぞれのワンタイムキー生成用携帯通信端末を使用した相互認証よってワンタイムキーを生成する権限を有するユーザは、それぞれ異なるユーザとすることが当然に可能である。
【００２３】
すなわち、この場合には、ワンタイムキーの生成の権限を有するユーザの両方から、それぞれワンタイムキーを得て初めて、第ログイン用通信端末とログイン用認証サーバ手段とのワンタイムキーによる認証が可能となるシステムとすることができる。これによって例えば、会社のような組織において、部長と課長の両方からワンタイムキーを得て初めて、重要書類の閲覧を可能とするようなシステムとすることができる。従って、上記のシステムは、ワンタイムパスワードを他人に伝えることによりアクセス権を一時的に貸与する場合において、権限ある複数のユーザがワンタイムキーを一人の他人に伝えることにより、アクセス権を一時的に貸与するために特に適したものとなっている。
【００２４】
また、本発明のシステムは、ワンタイムキー生成用携帯通信端末を、さらに付加してゆくことにより、それに応じてワンタイムキーの生成の権限を有するユーザをさらに多く参加させることができるシステムとすることが可能である。原理的には、そのようなワンタイムキーの生成の権限を有するユーザの数に上限を設けることなく、システムを設置することが可能である。これにより、アクセス許可の権限が多人数にわたっているような組織であっても、それに対応したアクセス許可を可能とするシステムを設置することができる。
【００２５】
またこのワンタイムキー生成用携帯通信端末とは、本発明においてワンタイムキーの生成のための通信による相互認証のために使用される端末であるが、このワンタイムキー生成用携帯通信端末としては、通信機能を有するＰＤＡ等をも含む種々の携帯端末を使用することができるが、携帯電話端末、特にＪＡＶＡ（登録商標）搭載携帯電話端末を使用することが好ましい。現在の生活では常に身近に置いている携帯電話を使用することによって、ユーザの感じる不便さやストレスを最小限にすることができ、また別途専用のワンタイムパスワード発生器を用意するよりも低い費用でこのシステムを構築することができる。
【００２６】
また、このログイン用通信端末とは、本発明において生成されたワンタイムキーを入力することによる認証でその後の通信接続によるコンテンツ受信を可能とすること、すなわちいわゆるログインのために使用される端末であるが、このログイン用通信端末としては、種々の端末を使用することができ、一般にはパーソナルコンピュータ（ＰＣ）端末を使用することができるが、インターネット接続機能を備えた携帯電話端末を使用することも本発明の好適な実施の態様である。
【００２７】
上記のワンタイムキー生成用携帯通信端末が備えたワンタイムキー生成用認証サーバ手段との通信による相互認証手段は、ワンタイムパスワードを使用した相互認証であることが好ましい。なお、上記ワンタイムキーとは、ワンタイムパスワードのうちで、ログイン用通信端末とログイン用認証サーバ手段との間で使用されるものを意味している。
【００２８】
上記のログイン用認証サーバ手段は、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作する手段を備えていることが好ましい。ログイン用認証サーバ手段がプロキシとして動作することによって、ログイン用通信端末のコンテンツへのアクセスを制御することが可能となる。
【００２９】
また、ワンタイムキー生成用認証サーバ手段とログイン用認証サーバ手段とは、それぞれ別個のサーバのなかに備えることも可能であるが、これらを備えた１個の認証サーバによりシステムを構築することが好ましく、これにより管理を容易にすることができる。
【００３０】
ワンタイムキー生成用携帯通信端末は、生成するワンタイムキーの有効時間として任意の有効時間の値を入力又は選択する手段と、入力又は選択された有効時間の値を、通信による相互認証においてワンタイムキー生成用認証サーバ手段に送信する手段とを有し、
ワンタイムキー生成用認証サーバ手段は、前記有効時間の値を通信による相互認証においてワンタイムキー生成用携帯通信端末から受信する手段と、ログイン用認証サーバ手段にワンタイムキーを送信する際に該ワンタイムキーの生成された時刻の値と前記有効時間の値とを関連づけて送信する手段とを有し、
ログイン用認証サーバ手段は、
ワンタイムキー生成用認証サーバ手段から前記関連づけられたワンタイムキーとワンタイムキーの生成された時刻の値と有効時間の値とを受信する手段と、
ログイン用通信端末から受信したワンタイムキーとワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較判断して一致する場合において、ログイン用通信端末から受信した各ワンタイムキーの受信時刻がそのワンタイムキーの有効時間内であるかどうかをさらに比較判断して、有効時間内でない場合には、ログインを許可しない比較判断手段とを有するワンタイムパスワード型認証システムが好ましい。
【００３１】
すなわち、ワンタイムキー生成用携帯通信端末が、認証サーバとの通信による相互認証によって、生成するワンタイムキーの有効時間を任意に設定する手段を備えたものとすることが好ましい。この有効時間は任意の時間を入力するものとすることも所定の候補時間から選択するものとすることも可能である。この有効時間は、ワンタイムキーの生成された時刻と関連づけられて以後の処理に用いられ、ログイン用通信端末から受信した各ワンタイムキーの受信時刻と比較されるが、この関連づけには種々の方式があり、例えば有効時間とワンタイムキー生成時刻とを１組の値とする方式、ワンタイムキーの生成時刻に有効時間を加算して、ワンタイムキーの有効時間の終了時刻を算出してその値を用いる方式等を使用することができる。
【００３２】
このようにしてワンタイムキーを生成する権限を有するユーザの意思によって、生成するワンタイムキーの有効時間を任意に設定することができる。
【００３３】
また、通常の時間同期方式等を使用したワンタイムパスワードシステムでは、認証サーバ側の事前の設定でワンタイムパスワードの有効時間は決定されてしまい、これをユーザ側で変更することはできない。しかし、ワンタイムパスワード（ワンタイムキー）を他人に伝えることによりアクセス権を一時的に貸与しようとする場合には、その有効時間があまりに短くても長くても不便である。そして、他人の信用やその貸与の目的等に応じて、ワンタイムキーの生成権限を有するユーザの意思で、これを変更できれば非常に便利である。すなわち、第２通信端末を除く上記通信端末の１個以上が、認証サーバとの通信による相互認証によって、生成するワンタイムキーの有効時間を任意に設定する手段を備えたものとすることによって、本発明のワンタイムパスワード型認証システムを、ワンタイムパスワード（ワンタイムキー）を他人に伝えることによりアクセス権を一時的に貸与するために特に適したものとすることができる。
【００３４】
また、本発明は、
ワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、該ワンタイムキー生成用携帯通信端末及び該ログイン用通信端末と通信する認証サーバとを使用するワンタイムパスワード型認証方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理、初回登録完了後の第ｉ回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理、及び初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
ワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０が秘密通信路で送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１を、上記セッション用乱数Ｒ０とユーザーの秘密情報文字列Ｓとの２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０を、上記ユーザーの秘密情報文字列Ｓ及び上記共有使い捨て鍵Ｋ−１と、上記セッション用乱数Ｒ０との３者からハッシュ関数による計算処理によって生成して保存するステップと、
ワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１及びＫ０が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１及びＫ０を保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理として、
ワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉと、セッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者から生成された上記ハッシュ値とが送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉと、ワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１及びＫｉとの３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
ワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、ワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
ワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉが検証されたものと判断して認証処理を継続するステップと、
ワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉを生成するステップと、
ワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’を生成するステップと、
認証サーバが、ワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉと、認証サーバにより生成された上記セッション用認証子Ｐｉ’とを比較判断して、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
認証サーバから上記接続許可が送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、
ワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法にある。
【００３５】
さらに本発明は、
第１のワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、第２のワンタイムキー生成用携帯通信端末と、該第１のワンタイムキー生成用携帯通信端末、該ログイン用通信端末及び該第２のワンタイムキー生成用携帯通信端末に接続する認証サーバとを使用するワンタイムパスワード型認証方法であり、
携帯端末を使用する初回登録処理、初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理、及び初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
第１のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０が秘密通信路で送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１を、上記セッション用乱数Ｒ０とユーザーの秘密情報文字列Ｓとの２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０を、上記ユーザーの秘密情報文字列Ｓ及び上記共有使い捨て鍵Ｋ−１と、上記セッション用乱数Ｒ０との３者からハッシュ関数による計算処理によって生成して保存するステップと、
第１のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１及びＫ０が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１及びＫ０を保存するステップと、
第２のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０’’が秘密通信路で送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１’’を、上記セッション用乱数Ｒ０’’とユーザーの秘密情報文字列Ｓ’’との２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０’’を、上記ユーザーの秘密情報文字列Ｓ’’及び上記共有使い捨て鍵Ｋ−１’’と、上記セッション用乱数Ｒ０’’との３者からハッシュ関数による計算処理によって生成して保存するステップと、
第２のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１’’及びＫ０’’が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１’’及びＫ０’’を保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理として、
第１のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉと、セッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者から生成された上記ハッシュ値とが送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉと、第１のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１及びＫｉとの３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第１のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第１のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第１のワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉが検証されたものと判断して認証処理を継続するステップと、
第１のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉを生成するステップと、
第１のワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’を生成するステップと、
認証サーバが、第１のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉと、認証サーバにより生成された上記セッション用認証子Ｐｉ’とを比較判断して、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
第２のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ’’、共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’の３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉ’’と、セッション用乱数Ｒｉ’’、共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’の３者から生成された上記ハッシュ値とが送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉ’’と、第２のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’との３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第２のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第２のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第２のワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉ’’が検証されたものと判断して認証処理を継続するステップと、
第２のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉ’’と上記共有使い捨て鍵Ｋｉ’’との２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’’を生成するステップと、
第２のワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉ’’が送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉ’’と上記共有使い捨て鍵Ｋｉ’’との２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’’’を生成するステップと、
認証サーバが、第２のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉ’’と、認証サーバにより生成された上記セッション用認証子Ｐｉ’’’とを比較判断して、セッション用認証子Ｐｉ’’とセッション用認証子Ｐｉ’’’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ’’及び上記共有使い捨て鍵Ｋｉ’’と、上記セッション用認証子Ｐｉ’’との３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１’’を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ’’及び上記共有使い捨て鍵Ｋｉ’’と、上記セッション用認証子Ｐｉ’’との３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１’’を計算して保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、
第１のワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第１のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップと、
第２のワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ’’、上記共有使い捨て鍵Ｋｉ’’及びＫｉ＋１’’の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第２のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ’’、上記共有使い捨て鍵Ｋｉ’’及びＫｉ＋１’’の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第２のワンタイムキー生成用携帯通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
第２のワンタイムキー生成用携帯通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法にもある。
【００３６】
上記のワンタイムパスワード型認証方法は、本発明のワンタイムパスワード型認証システムにおいて実施されることが特に好適な方法である。
【００３７】
上記方法は、ユーザの秘密情報ではなく、各セッションごとに更新される使い捨ての秘密鍵を用いて認証子を作成する。そしてユーザの秘密情報は、はじめに使い捨ての秘密鍵を作成するためだけに用いられるため、本質的にはユーザとサーバの端末上に残らずネットワーク上を流れることもない。そのために秘密情報に関する安全性を最大限に確保すると同時に、携帯端末の紛失等に対するユーザの不安を最小限にすることができる。また、例えばアクセス権を他人に貸与するためにワンタイムキーを生成するための相互認証の通信を、その他人の目前で行うことにより認証のための通信をしている事実を知られてしまい、それによって通信を傍受する機会を与えてしまったとしても、その他人はユーザの秘密情報を知ることはできず、新たなワンタイムキーの生成のための情報を得ることもできないため、本発明の方法は他人にアクセス権を一時的に貸与するためには特に便利で安全である。
【００３８】
上記方法は、本発明のシステムにおいて実施されることが特に好適な方法であるため、本発明のシステムの種々の態様に対応した態様とすることが可能であり、対応する利点を有する。
【００３９】
すなわち、上記方法は、ワンタイムパスワード（ワンタイムキー）を他人に伝えることによりアクセス権を一時的に貸与するために適したものとなっており、さらに、複数のワンタイムキー生成用携帯通信端末を使用する場合には、権限ある２人のユーザがワンタイムキーを一人の他人に伝えることにより、アクセス権を一時的に貸与するために特に適したものとなっている。さらに通信端末を付加してゆくことにより、それに応じてワンタイムキーの生成の権限を有するユーザをさらに多く参加させることができる方法とすることが可能である。
【００４０】
また、上記方法は、初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合により、接続許可と判断して以後の通信を可能とするステップが、入力されるべき全てのワンタイムキーについて行われた後に、
認証サーバが、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作するステップが行われる方法とすることが好ましい。コンテンツへのアクセス制御を容易にするためである。
【００４１】
また、上記方法は、初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップが行われる方法とすることが好ましい。その他人に信用や貸与の目的等に応じて、ワンタイムキーの有効時間を任意に設定できれば、ワンタイムパスワード（ワンタイムキー）を他人に伝えることによりアクセス権を一時的に貸与するために特に適したものとすることができるからである。
【００４２】
また、上記方法は、初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップを含み、且つ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理において、上記有効時間を任意に設定した場合にワンタイムキー生成用携帯通信端末に表示されるワンタイムキーの文字列の所定の一部の長さを、設定した有効時間の長さに対応させて長くして、その後の表示、入力、送信、比較判断の各ステップに使用する方法とすることが好ましい。
【００４３】
ワンタイムキーの文字列はもともとは長い文字列となる。しかしワンタイムキーの文字列は短いほうが、記憶、伝達、入力に便利である。そのために本来得られたワンタイムキーの一部の文字列を端末に表示して、ユーザはその一部の文字列のみをその後の処理に使用する方式を用いることが便利である。本発明のシステム及び方法においても、その方式を使用することが可能である。しかしその一方で、ワンタイムキーの文字列が短くなると、全数探索攻撃に対する安全性は低下する。そして、ワンタイムキーの有効時間は短い方が全数探索攻撃に対しては安全である。そこで、本来得られたワンタイムキーの一部の文字列を端末に表示してその後の処理に使用する方式を用いる場合において、利便性と安全性を両立しうるように、設定したワンタイムキーの有効時間を長くする場合には、それに応じて使用するワンタイムキーの文字列の一部の長さを、より長いものとすることが好ましい。表示されるワンタイムキーの文字列の長さと有効時間との両方をユーザに任意に設定させることも可能ではあるが、ワンタイムキーの有効時間に対して、表示されるワンタイムキーの文字列の長さを自動的に対応させて表示することにより、上記利便性と安全性のバランスをユーザがその都度判断しなくてもすむようにできる。
【００４４】
上記ワンタイムキー生成用携帯通信端末として、通信機能を有するＰＤＡ等をも含む種々の携帯端末を使用することができるが、携帯電話端末、特にＪＡＶＡ（登録商標）搭載携帯電話端末を使用することが好ましい。ログイン用通信端末として、種々の端末を使用することができ、一般にはパーソナルコンピュータ（ＰＣ）端末を使用することができるが、インターネット接続機能を備えた携帯電話端末を使用することも本発明の好適な実施の態様である。
【００４５】
さらに本発明は、上記ワンタイムパスワード型認証方法を行うことを特徴とするワンタイムパスワード型認証システムにもある。
【発明の効果】
【００４６】
本発明のワンタイムパスワード認証システム及び認証方法は、従来の方式によるワンタイムパスワード認証システムに比較して、ユーザにとっての作業性と利便性とを大幅に向上させている。すなわち、複雑なチャレンジコードを打ち込んだりする必要がなく、別途専用のワンタイムパスワード発生器を持ち運ぶ必要もない。
【００４７】
さらに、種々の態様によりユーザにとっての作業性と利便性とを大幅に向上させた結果、本発明のワンタイムパスワード認証システム及び認証方法を使用すれば、アクセス権限を有するユーザがワンタイムパスワード（ワンタイムキー）を他人に伝えることによりアクセス権を一時的に貸与するという従来ではほとんど想定できなかったワンタイムパスワードの用途を容易に実現することができる。
【００４８】
また、本発明のワンタイムパスワード認証システム及び認証方法は、あたかも部屋の扉に対してあらかじめ二重に鍵をかけておき、そのうちの内鍵を自らが開けた後に、残った外鍵を他人に開けさせることに相当するような手順とすることができ、アクセス権を一時的に貸与することを前提とするコンテンツ配信においても、外鍵が攻撃されても内鍵がかかっていれば大丈夫であるという安心感のある認証システム及び認証方法となっている。
【発明を実施するための最良の形態】
【００４９】
本発明をその実施の態様を用いて、以下に詳細に説明する。本発明はその具体的実施の態様に限定されるものではない。本発明は以下の説明でシステムとして説明される場合にも、方法として説明される場合にも、システム及び方法の両方にある。
【００５０】
［システム概要］
ワンタイムパスワードを用いた相互認証システム(以下、本システム) の概要を説明する。本システムは例えば一般のWebサーバに対する通信に際して、ワンタイムパスワードによる認証と、通信路暗号化の２つの機能を付加的に実現することができる。
【００５１】
本システムは例えば携帯端末と認証サーバからなるものとすることができる。ユーザは携帯端末から認証サーバにアクセスすることでワンタイムパスワードによる相互認証を行う。その後、携帯端末上に表示されるパスワード（ワンタイムキー）をパーソナルコンピュータなどのブラウザ上で入力することにより目的のコンテンツにアクセスすることができる。本システムでは携帯端末をいわゆる認証トークンとして用いるため、出張先などからでもワンタイムパスワードを用い
て相互認証を行うことができる。
【００５２】
図１に本システムのシステム構成の一例を示す。
【００５３】
［開発環境］
本システムは種々の開発環境で実現することが可能である。例えば好ましい一例として、携帯端末での処理を行うi アプリ、サーバ側での処理を行うJava（登録商標） サーブレット、認証情報の管理を行うデータベースからなるものとすることができる。本システムの開発環境の好ましい一例を次に示す。
【００５４】
開発環境
OS   ：  Linux 系列
Web サーバ  ：  Apache1.3
Java（登録商標）   ：  J2SDK1.4.1
i アプリ  ：  DoJa3.0(505i シリーズ対応)
Servlet コンテナ  ：  Tomcat3.2(Servlet API2.2)
RDBMS   ：  PostgreSQL7.2.3
【００５５】
［認証処理］
以下に携帯端末とサーバ間での相互認証処理について説明する。相互認証処理は例えばユーザの携帯端末(i アプリ) と認証サーバ(Java（登録商標） サーブレット) との通信によって実現される。以下では認証を行うサーブレットを認証サーブレットと表記する。認証処理はサーバ認証機能を有するワンタイムパスワード方式を用いて行われることが好ましい。
【００５６】
以下にさらに具体的な処理の流れを説明する。
【００５７】
［初回登録処理］
ユーザが最初に本システムを使用する際には、まず初回登録処理を行うことが必要である。例えば、初めてi アプリを起動したときは初回登録処理を行う。ユーザは初回登録としてユーザ名と認証用パスワードを入力し、ブラウザ入力用パスワードであるワンタイムキーの有効時間を選択する。有効時間は任意の値を御入力するものとすることもできるが、幾つかの選択肢から選択するものとすることが便利である。この有効時間の選択は、いったんこの初回登録処理の入力の際に行うこととされるが、その後のワンタイムキーの生成の際に新たに別な有効時間を選択し直すことは当然に可能としている。上記のユーザ名と認証用パスワードはあらかじめユーザとサーバで共有しておく必要がある。認証用パスワードがユーザの秘密情報であり、これを元に認証プロトコルのK-1，K0 が生成される。ここで入力された情報は初回登録時に、所定の記憶領域、例えばスクラッチパッドに保存されるものとすることができる。あるいはさらに初回登録が完了したことを示す情報がスクラッチパッドに保存される。以降はこれらの情報を用いて認証を行う。
【００５８】
図１を使用して、この初回登録処理をさらに説明する。
【００５９】
携帯電話には、ユーザ名と認証用パスワードを入力する手段が備えられている。認証サーバは、ワンタイムキーの生成のための認証サーバ手段として認証サーブレットと認証データベース（認証ＤＢ）を有し、またログイン用認証サーバ手段としてコンテンツ配信サーブレットとワンタイムキーデータベース（ワンタイムキーＤＢ）を有している。認証サーブレットは、以下のステップを行うための計算手段と、携帯電話との通信手段と、乱数発生手段と、認証ＤＢにアクセスして情報を保存及び呼び出しする手段と、ワンタイムキーＤＢに情報を送信する手段を有している。認証ＤＢは、ユーザの秘密情報である文字列、例えば初回登録のための認証用パスワードの文字列、及び次々に生成されてゆく共有使い捨て鍵の文字列を認証サーブレットから受信して保存し、認証サーブレットの要求によりこれを呼び出して認証サーブレットへ送信する手段を有している。ワンタイムキーＤＢは、次々に生成されてゆくワンタイムキーの文字列、及びこれと関連づけられた有効時間情報、例えばワンタイムキーの生成時刻と設定された有効時間又はワンタイムキーの有効時間の終了時刻とを認証サーブレットから受信して保存する手段を有している。図１のそれぞれの手段は、上記に加えてさらに以降に説明するそれぞれのステップを行う手段を備えている。
【００６０】
そして、まず初回登録のための認証処理のために、ワンタイムキー生成用携帯通信端末である携帯電話と、認証サーバとが無線通信、好ましくはｉ−モード等のパケット通信が行われ、通常の通信接続を確立するステップが行われる。通信は、秘密通信路とすることが好ましく、これには例えばＳＳＬなどを使用することができる。次に携帯電話から認証サーバの認証サーブレットへ登録要求が送信されるステップが行われる。この登録要求により初回登録処理として行われる相互認証が開始される。
【００６１】
例えば、携帯電話から入力されたユーザ名が、認証サーバの認証サーブレットへ送信されるステップが登録要求として行われる。登録要求が認証サーブレットにより受信されると、認証サーブレットで生成されたセッション用乱数Ｒ０が秘密通信路で送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
携帯電話が、共有使い捨て鍵Ｋ−１を、上記セッション用乱数Ｒ０とあらかじめユーザによって入力されたユーザーの秘密情報文字列Ｓとの２者からハッシュ関数による計算処理によって生成して記憶領域に保存し、共有使い捨て鍵Ｋ０を、上記ユーザーの秘密情報文字列Ｓ及び上記共有使い捨て鍵Ｋ−１と、上記セッション用乱数Ｒ０との３者からハッシュ関数による計算処理によって生成して記憶領域に保存するステップと、
携帯電話から上記共有使い捨て鍵Ｋ−１及びＫ０が秘密通信路で送信されて認証サーブレットによって受信されるステップと、
認証サーブレットが上記受信した共有使い捨て鍵Ｋ−１及びＫ０を認証ＤＢへ保存するステップとが行われる。
【００６２】
［認証処理］
初回登録が完了すれば、以後はログインに必要な認証処理を行うことが可能になる。認証は、1. 認証要求、2. サーバ認証、3. ユーザ認証、4. ワンタイムキー生成、という手順で行うことができる。
【００６３】
［認証要求］
ユーザ端末は認証要求として、例えば認証サーブレットにPOST データとして[Request = ユーザ名] を送信する。認証要求を受け取った認証サーブレットは疑似乱数Ri を生成し、Ri の認証子h(Ri||Ki-1||Ki) を計算する。その後、Riを一時領域に保存しRi， h(Ri||Ki-1||Ki) をユーザ端末に送信する。
【００６４】
図１を使用して、初回登録処理の説明に続けてさらにこの認証要求処理を説明する。
【００６５】
携帯電話にはユーザ名を入力し、認証サーブレットへと送信する手段が備えられている。この場合に、ユーザ名を携帯電話の記憶する手段を備えてこの記憶領域にユーザ名を保存しておけば、毎回の入力の手間を省くことができて便利である。
【００６６】
そして例えば、携帯電話から認証要求としてユーザ名が送信されて認証サーバによって受信されるステップと、
認証サーブレットが、認証サーブレットの有する乱数発生手段によってセッション用乱数Ｒｉを生成して、初回登録処理の際に生成した共有使い捨て鍵Ｋｉ−１及びＫｉを認証ＤＢから呼び出して受信し、このセッション用乱数Ｒｉ、有使い捨て鍵Ｋｉ−１及びＫｉの３者からハッシュ関数による計算処理を行うことによってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉと、セッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者から生成された上記ハッシュ値とが送信されて携帯電話によって受信されるステップとが行われる。
【００６７】
［サーバ認証］
Ri とRi の認証子を受け取ったユーザ端末は、記憶領域例えばスクラッチパッドからKi-1，Ki を読み込み、Ri，Ki-1，Ki を連結して一方向性ハッシュ関数にかける。得られたハッシュ値とRi の認証子を比較することでサーバ認証を行う。
【００６８】
図１を使用して、認証要求処理の説明に続けてさらにこのサーバ認証処理を説明する。
【００６９】
例えば、携帯電話によって、上記受信したセッション用乱数Ｒｉと、携帯電話の記憶領域に保存されていた共有使い捨て鍵Ｋｉ−１及びＫｉとの３者から、認証サーブレットが使用したものと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
携帯電話が、認証サーブレットから受信した上記ハッシュ値と、携帯電話で生成した上記ハッシュ値とを比較判断するステップと、
携帯電話が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーブレットから受信した上記セッション用乱数Ｒｉが検証されたものと判断して認証処理を継続するステップと、
携帯電話が、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉを生成するステップと、
携帯電話から上記セッション用認証子Ｐｉが送信されて認証サーブレットによって受信されるステップとが行われる。
【００７０】
この処理によってサーバ認証がなされたこととなる。なお、上記の比較判断により２者のハッシュ値が一致していない場合には、認証サーブレットから受信した上記セッション用乱数Ｒｉが検証されないものと判断して、サーバ認証処理は中断される。
【００７１】
［ユーザ認証］
サーバ認証に成功するとユーザ端末はセッションの認証子(ワンタイムパスワード) Pi を生成し、例えばPOST データとして[Auth = ユーザ名， Pi] をサーバに送信する。サーバは受け取ったPi を検証することでユーザ認証を行う。ユーザ認証に成功するとサーバはユーザ端末に認証成功を通知する。
【００７２】
図１を使用して、サーバ認証処理の説明に続けてさらにこのユーザ認証処理を説明する。
【００７３】
例えば、認証サーブレットが、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’を生成するステップと、
認証サーブレットが、携帯電話から受信した上記セッション用認証子Ｐｉと、認証サーブレットにより生成された上記セッション用認証子Ｐｉ’とを比較判断して、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーブレットが、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して算出し、これが認証ＤＢに送信され、認証ＤＢにより受信され保存されるステップと、
認証サーブレットから上記接続許可が送信されて携帯電話によって受信されるステップとが行われる。
【００７４】
この処理によってユーザ認証がなされたこととなる。なお、上記の比較判断により、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していない場合には、接続不許可と判断して、ユーザ認証処理は中断される。
【００７５】
［ワンタイムキー生成］
相互認証に成功するとユーザ端末、サーバ共にワンタイムパスワードからワンタイムキーを計算する。ワンタイムキーの計算式は次のようになる。
【００７６】
ワンタイムキー= h(Pi||Ki||Ki+1)
得られたワンタイムキーは例えば128bit であるが、これがアルファベット大文字小文字52 文字に数字10 文字、*、@ の2 文字をあわせた合計64 文字によって64 進数として表現される。つまりこの場合には、1 文字は6bit を表すことになる。ユーザ側の携帯端末では、求めたワンタイムキーのうちから、適切な長さの文字列を選んで表示することが適切である。例えば、始めの4 文字もしくは8 文字が携帯端末に表示されることとできる。
【００７７】
図１を使用して、ユーザ認証処理の説明に続けてさらにこのワンタイムキー生成証処理を説明する。
【００７８】
例えば、携帯電話が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して記憶領域に保存するステップが行われる。
【００７９】
そしてさらに、携帯電話が上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
携帯電話の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップとが行われる。上述のように、ワンタイムキーの文字列の全部を表示することとするのではやや長すぎて不便でもあるために、例えば、始めの4 文字もしくは8 文字が表示されるステップとすることが好ましい。
【００８０】
ユーザはこの携帯電話の表示部に表示されたワンタイムキーを視認して、以後のログインに使用することとなる。このワンタイムキーは、使い捨てのものであり、アクセス権の一時貸与のためにユーザが他人に知らせることができるものである。
【００８１】
また、このワンタイムキーの生成は、認証サーバ側でも行われており、例えば認証サーブレットが、上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成し、これをワンタイムキーＤＢに送信して、ワンタイムキーＤＢが記憶領域にこのワンタイムキーの文字列を保存するステップが行われる。
【００８２】
ここまでのワンタイムキーの生成によってあたかも、部屋の扉にかけた内鍵と外鍵の二重の鍵のうちで、内鍵が開かれて、その外鍵を他人に渡す準備ができた状態ということができる。
【００８３】
［ワンタイムキーの有効時間］
得られたワンタイムキーは上述のように、例えば64 進数4 文字もしくは8 文字で表現されるため、その場合にはサイズは24bit もしくは48bit である。これは全数探索で十分に推測し得る長さである。そこで、ワンタイムキーに有効期限を設けることで全数探索に対する安全性を確保することが好ましい。有効時間はその適切な一例として、30 秒、60 秒、3 分、1 時間、1 日から選択可能なものとすることができる。この場合には、例えば有効時間とワンタイムキー長は、30 秒、60 秒、3 分の場合には、4 文字の長さ、1 時間、1 日の場合には、8 文字の長さという関係を持つようにすると安全性と利便性のバランスが適切である。有効時間は初回登録時に設定することもできるが、以降も有効時間変更画面で変更可能とすることが好ましい。
【００８４】
図１を使用して、ワンタイムキー生成証処理の説明に続けてさらにこのワンタイムキーの有効時間に関して説明する。
【００８５】
なお、図１のユーザＰＣ（パーソナルコンピュータ）は、ワンタイムキーを使用した認証、すなわちいわゆるログインに使用する端末である。ユーザはこのＰＣ端末を使用して、コンテンツ配信サーブレットと通信して、ログインし、認証されてた後に種々のコンテンツの配信を受ける。従って、ユーザＰＣは、ログインのためのワンタイムキーの入力手段、コンテンツ配信サーブレットとの通信手段、配信コンテンツの受信及び表示手段等を有している。また、ログイン用認証サーバ手段とは、ワンタイムキーＤＢとコンテンツ配信サーブレットとを備えたものである。
【００８６】
例えばこのような場合には、携帯電話は、生成するワンタイムキーの有効時間として任意の有効時間の値を入力又は選択する手段と、入力又は選択された有効時間の値を、通信による相互認証において認証サーブレットに送信する手段とを有し、これによってユーザの入力又は選択した有効時間情報を認証サーブレットへ送信し、
認証サーブレットは、前記有効時間の値を通信による相互認証において携帯電話から受信する手段と、コンテンツ配信サーブレットにワンタイムキーを送信する際に該ワンタイムキーの生成された時刻の値と前記有効時間の値とを関連づけて送信する手段とを有し、これによってユーザの入力又は選択した有効時間情報をログイン用認証サーバ手段へと送信し、
ログイン用認証サーバ手段では、備えられたワンタイムキーＤＢは、認証サーブレットから前記関連づけられたワンタイムキーと、ワンタイムキーの生成された時刻の値及び有効時間の値とを受信して保存し、すなわちこれによってユーザの入力又は選択した有効時間情報を保存し、さらにコンテンツ配信サーブレットの要求によりこれをコンテンツ配信サーブレットへ送信する手段を有し、
さらにログイン用認証サーバ手段では、備えられたコンテンツ配信サーブレットは、ワンタイムキーＤＢから上記関連づけられたワンタイムキーと、ワンタイムキーの生成された時刻の値及び有効時間の値を受信し、ユーザＰＣから受信したワンタイムキーとワンタイムキーＤＢから受信したワンタイムキーとを比較判断して一致する場合において、ユーザＰＣから受信したワンタイムキーの受信時刻がそのワンタイムキーの有効時間内であるかどうかをさらに比較判断して、有効時間内でない場合にはワンタイムキーの文字列が一致する場合であってもログインを許可しないこととし、全てのワンタイムキーが文字列として一致して且つ全てのワンタイムキーが有効時間内である場合にはログインを許可することとする比較判断手段とを有するワンタイムパスワード型認証システムとすることで適切な実施が可能である。
【００８７】
すなわち、携帯電話が、認証サーブレットとの通信による相互認証によって、生成するワンタイムキーの有効時間を任意に設定する手段を備えたものであり、この有効時間は任意の時間を入力するものとすることも所定の候補時間から選択するものとすることも可能である。この有効時間は、ワンタイムキーの生成された時刻と関連づけられて以後の処理に用いられ、ユーザＰＣから受信した各ワンタイムキーの受信時刻と比較されるが、この関連づけには種々の方式があり、例えば有効時間とワンタイムキー生成時刻とを１組の値としてワンタイムキーＤＢに保存しておき、コンテンツ配信サーブレットのワンタイムキー受信時刻が、ワンタイムキー生成時刻から有効時間内であるかどうかをその都度判断する方式、あるいは、ワンタイムキーの生成時刻に有効時間を加算して算出した時刻をワンタイムキーの有効時間の終了時刻としてワンタイムキーＤＢに保存しておき、コンテンツ配信サーブレットのワンタイムキー受信時刻がその有効時間の終了時刻以前の時刻であるかどうかを判断する方式等を使用することができる。
【００８８】
［コンテンツ配信処理］
さらに以下に実際にユーザ端末からコンテンツサーバへ接続する処理を例として説明する。
【００８９】
コンテンツの配信はユーザのＰＣ端末等が直接コンテンツサーバにアクセスするのではなく、認証サーバ内のコンテンツ配信サーブレットを介して行うことが適切である。コンテンツサーバにおいて認証を必要とする領域へは、コンテンツ配信サーブレットからの通信のみを受け付けるようにする。
【００９０】
上述のように携帯電話での認証に成功すると適切な長さと有効時間のワンタイムキーが表示される。コンテンツサーバへログインするためにユーザのＰＣ端末等は、まず認証サーバのログインページにアクセスする。ログインページで入力フォームにワンタイムキーが入力されると、コンテンツ配信サーブレットが呼び出され、コンテンツサーバへのアクセスが可能となる。さらに以下にコンテンツ配信サーブレットの動作を説明する。
【００９１】
図１を使用して、ワンタイムキーの有効時間に関する説明に続けてさらにこのコンテンツ配信処理について説明する。
【００９２】
コンテンツ配信処理の最初の段階としてのユーザのログインは、ユーザＰＣにワンタイムキーを入力することにより行われ、すなわち、携帯電話に上記表示されたワンタイムキーの文字列が入力されるステップと、
携帯電話から上記入力されたワンタイムキーの文字列が送信されてコンテンツ配信サーブレットによって受信されるステップと、
コンテンツ配信サーブレットが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とし、この２者が一致していない場合には、接続不許可と判断して以後の通信を不可能とするステップとが行われる。これにより、既に述べた内鍵と外鍵の両方の鍵が開いた状態となり、すなわちログインされ、以後のコンテンツ配信を受けることが可能となる。なお、ワンタイムキーが不一致である場合、あるいはワンタイムキーが一致しても、上述のような有効時間情報の比較の結果、有効時間内のものではない場合には、接続不許可と判断して、ログインはなされず、以後のコンテンツ配信を受けることはできない。
【００９３】
これらの通信もさらにＳＳＬ等を使用すると安全性の点から好ましい。
【００９４】
［コンテンツ配信サーブレット］
コンテンツ配信サーブレットの役割はプロキシとしてコンテンツサーバの代役を行うことである。コンテンツ配信サーブレットの処理は初期処理と通常の転送処理に分けられる。ユーザ端末と認証サーバ間のセッションを維持するためにワンタイムキーが用いられる。通常、ワンタイムキーは例えばCookie に格納されて送受信されるが、初回だけはユーザが手動で入力する必要がある。そこで初期処理用にログインページとしてワンタイムキーの入力フォームを用意すると便利である。図2 に上述のワンタイムキーを使用した初期処理の流れを示す。図3 に初期処理以降の通常のコンテンツ閲覧時の転送処理の流れを示す。
【００９５】
図１を使用して、コンテンツ配信処理の説明に続けてさらにこのコンテンツ配信サーブレットによる処理についてより詳細に説明する。
【００９６】
図１では、ユーザＰＣはコンテンツサーバと直接に通信してそのコンテンツ、例えばＨＴＴＰファイルの配信を受けることはできない構成となっている。すなわち、ユーザＰＣが直接に通信できるのは、コンテンツ配信サーブレットのみであり、このコンテンツ配信サーブレットがユーザＰＣからのＨＴＴＰリクエストをコンテンツサーバに送信し、コンテンツサーバからのＨＴＴＰレスポンスをユーザＰＣに送信することによってのみ、ユーザＰＣはＨＴＴＰファイルの配信を受けることができる。そして、コンテンツ配信サーブレットは、ワンタイムキーを入力したログインによる認証の後でなければ、上記の取り次ぎの動作、すなわちプロキシとしての動作を行わない。このような構成によって、ワンタイムキーによりログイン後したユーザＰＣのみが、コンテンツの配信を受けることができるようになっている。
【００９７】
図２は、ワンタイムキーによるログイン時の初期処理の流れを示す説明図である。認証サーバとしてはログインに使用される手段のみを記載している。ログインにあたってはフォームを備えたログインページを設置して、使用するようしている。この初期処理においてワンタイムキーはフォームに入力して送信するようにしている。
【００９８】
図３は、ログイン後の通常の転送処理の流れを示す説明図である。認証サーバとしてはログイン後に使用される手段のみを記載している。この場合にはワンタイムキーはCookie に格納して自動的にユーザＰＣから送信されてコンテンツ配信サーブレットに受信されるようにしている。ただし、この場合にもコンテンツ配信サーブレットは、受信したワンタイムキーの一致と有効時間は常に検証しており、ログイン時と同様にワンタイムキーＤＢからワンタイムキーの文字列及び有効時間情報を受信して、認証に使用している。従って、ユーザＰＣがアクセス権を一時的に貸与された他人によって継続的に使用されていたとしても、その使用中にワンタイムキーの有効時間が過ぎれば、コンテンツの配信を受けることはできない。
【００９９】
［暗号化処理］
ユーザ端末と認証サーバ間、および認証サーバとコンテンツサーバ間は暗号化して通信を行うことが適切である。通信の暗号化には例えばSSL を用いる。ここで、SSL は通信データの暗号化のためだけに用いるのであり、認証機能は必要としない。
【０１００】
［ハイパーリンクの管理］
上述のように本システムではユーザ端末とコンテンツサーバ間にプロキシとして認証サーバを挟む構成になっている。そのため、ユーザ端末側からのコンテンツサーバへのアクセスは全て認証サーバが受ける必要がある。ここで、コンテンツサーバ側で自サーバ内へハイパーリンクが張られていた場合、コンテンツサーバを介さずにアクセスすることになってしまう。この対策法として、コンテンツサーバからのHTTP レスポンス(HTML) をユーザ端末に転送する前に認証サーバでリンクを張り変えることが考えられる。つまり、コンテンツサーバ内に張られているハイパーリンクを全て認証サーバへのアクセスへと書き換える。そして、ユーザ端末からのアクセスを受けた認証サーバがコンテンツサーバへとリクエストを転送する。こうすることでコンテンツサーバ内に置かれているファイル自体は書き換えずにリンクを辿ることができる。
【０１０１】
［コンテンツサーバの設定］
コンテンツサーバは一般に公開する領域は従来通りでよいが、認証および暗号化を適用したい領域はアクセス制限をかけておく必要がある。認証、および暗号化を行う領域へのアクセスは認証サーバのみ可能であるように設定する。
【０１０２】
［本発明の異なる実施の形態］
以下に本発明の異なる実施の形態を説明する。
【０１０３】
本発明のシステム及び方法では、ワンタイムキー生成用携帯通信端末を複数使用して、実施することが可能である。原理的には使用できるワンタイムキー生成用携帯通信端末の台数には上限はなく実施することが可能であり、それぞれのワンタイムキー生成用携帯通信端末は、本質的には同じ相互認証をワンタイムキー生成用認証サーバ手段との間で行って、ワンタイムキーを生成することができ、その場合には、生成したワンタイムキーの数に対応した数のワンタイムキーをユーザＰＣから送信して、ログイン用認証サーバ手段との間で認証をすればよい。ログイン後のコンテンツの配信についても、本質的にはワンタイムキー生成用携帯通信端末が１台である場合と異なるところがない。
【０１０４】
例えば、携帯端末を２台使用して実施することが可能であり、これについて以下、実施の形態を説明する。以下の説明でシステムとして説明される場合にも、方法として説明される場合にも、本発明はシステム及び方法の両方にあり、本発明は以下の実施の形態によって限定されるものではない。
【０１０５】
すなわち、第１のワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、第２のワンタイムキー生成用携帯通信端末と、該第１のワンタイムキー生成用携帯通信端末、該ログイン用通信端末及び該第２のワンタイムキー生成用携帯通信端末に接続する認証サーバとを使用するワンタイムパスワード型認証方法であり、
携帯端末を使用する初回登録処理、初回登録完了後の第ｉ回目のログインのために携帯端末を使用する認証処理、及び初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
第１のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０が秘密通信路で送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１を、上記セッション用乱数Ｒ０とユーザーの秘密情報文字列Ｓとの２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０を、上記ユーザーの秘密情報文字列Ｓ及び上記共有使い捨て鍵Ｋ−１と、上記セッション用乱数Ｒ０との３者からハッシュ関数による計算処理によって生成して保存するステップと、
第１のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１及びＫ０が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１及びＫ０を保存するステップと、
第２のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Ｒ０’’が秘密通信路で送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵Ｋ−１’’を、上記セッション用乱数Ｒ０’’とユーザーの秘密情報文字列Ｓ’’との２者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Ｋ０’’を、上記ユーザーの秘密情報文字列Ｓ’’及び上記共有使い捨て鍵Ｋ−１’’と、上記セッション用乱数Ｒ０’’との３者からハッシュ関数による計算処理によって生成して保存するステップと、
第２のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵Ｋ−１’’及びＫ０’’が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵Ｋ−１’’及びＫ０’’を保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理として、
第１のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉと、セッション用乱数Ｒｉ、共有使い捨て鍵Ｋｉ−１及びＫｉの３者から生成された上記ハッシュ値とが送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉと、第１のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１及びＫｉとの３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第１のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第１のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第１のワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉが検証されたものと判断して認証処理を継続するステップと、
第１のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉを生成するステップと、
第１のワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉと上記共有使い捨て鍵Ｋｉとの２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’を生成するステップと、
認証サーバが、第１のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉと、認証サーバにより生成された上記セッション用認証子Ｐｉ’とを比較判断して、セッション用認証子Ｐｉとセッション用認証子Ｐｉ’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第１のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第１のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ及び上記共有使い捨て鍵Ｋｉと、上記セッション用認証子Ｐｉとの３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１を計算して保存するステップと、
第２のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数Ｒｉ’’、共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’の３者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第ｉ番目のセッション用乱数Ｒｉ’’と、セッション用乱数Ｒｉ’’、共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’の３者から生成された上記ハッシュ値とが送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Ｒｉ’’と、第２のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ｋｉ−１’’及びＫｉ’’との３者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第２のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第２のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第２のワンタイムキー生成用携帯通信端末が、上記比較判断により２者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Ｒｉ’’が検証されたものと判断して認証処理を継続するステップと、
第２のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Ｒｉ’’と上記共有使い捨て鍵Ｋｉ’’との２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’’を生成するステップと、
第２のワンタイムキー生成用携帯通信端末から上記セッション用認証子Ｐｉ’’が送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Ｒｉ’’と上記共有使い捨て鍵Ｋｉ’’との２者からハッシュ関数による計算処理によって第ｉ番目のセッション用認証子Ｐｉ’’’を生成するステップと、
認証サーバが、第２のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Ｐｉ’’と、認証サーバにより生成された上記セッション用認証子Ｐｉ’’’とを比較判断して、セッション用認証子Ｐｉ’’とセッション用認証子Ｐｉ’’’との２者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数Ｒｉ’’及び上記共有使い捨て鍵Ｋｉ’’と、上記セッション用認証子Ｐｉ’’との３者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１’’を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第２のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第２のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ｒｉ’’及び上記共有使い捨て鍵Ｋｉ’’と、上記セッション用認証子Ｐｉ’’との３者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ｋｉ＋１’’を計算して保存するステップとが行われ、
初回登録完了後の第ｉ回目のログインのためにログイン用通信端末を使用する認証処理として、
第１のワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第１のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ、上記共有使い捨て鍵Ｋｉ及びＫｉ＋１の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップと、
第２のワンタイムキー生成用携帯通信端末が上記セッション用認証子Ｐｉ’’、上記共有使い捨て鍵Ｋｉ’’及びＫｉ＋１’’の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第２のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子Ｐｉ’’、上記共有使い捨て鍵Ｋｉ’’及びＫｉ＋１’’の３者からハッシュ関数による計算処理によって第ｉ回目のログインのためのワンタイムキーの文字列を生成するステップと、
第２のワンタイムキー生成用携帯通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
第２のワンタイムキー生成用携帯通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この２者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることによって、本発明を実施することができる。
【実施例】
【０１０６】
本発明の実施において、特に好適である「サーバ認証機能を有するワンタイムパスワード方式」について、その理論的背景と理論的検証の実施を、学術的提案の形式で以下に説明する。本発明の内容は以下の説明によって限定されるものではない。以下の説明でしようする用語及び記号は、以下の説明中において整合するように記載されている。
【０１０７】
［序］
ワンタイムパスワード方式としてLamport 方式、CINON、PERM、SAS、OSPA、SAS-2 などがある。Lamport 方式 はあらかじめ一方向性ハッシュ関数を複数回適用したデータをサーバ側に保存しておき、ユーザがハッシュ関数の適用とは逆順にデータをサーバに示すことで認証される方式である。Lamport 方式にはあらかじめ登録されていた認証情報を使い切るたびに再設定する必要があることや、ユーザ側で必要とされる計算量が多いことなどの問題点があった。清水らは認証情報の再設定が必要なく、ユーザ側での計算量も少ないCINON (Chained One-Way Data Verification Method)を提案した。しかし、Lamport 方式、CINON ともにユーザ側で何らかの認証情報を保持しておく記憶媒体が必要であり、特にCINON はユーザ側で擬似乱数を生成できる必要があった。そこで、清水らはユーザ端末側に記憶媒体や擬似乱数生成装置がない状況での認証を実現する方式としてPERM (Privacy Enhanced informationReading and writing Management method) を提案した。上記のLamport 方式、CINON、PERM はいずれもMan in the Middle attack などの通信回線への能動的な攻撃には対応できない方式であった。そこでMan in the Middle attack への耐性を持った認証方式としてSAS(Simple And Secure password authenticationprotocol) が提案された。SAS はMan in the Middleattack への耐性を持ち、ユーザ側で必要とされる計算量もCINON やPERM よりも低い方式であるが、PERMとは違いユーザ側で擬似乱数を生成する必要があった。さらに、Replay attack やDenial of Service attack が成立することが示された。その報告ではReplay attackとDenial of Service attack に耐性のある認証方式としてOSPA (Optimal Strong-Password Authentication) が提案されている。OSPA はユーザ側で必要とされる計算量がSAS と同程度であり、ユーザ側に擬似乱数生成装置や記憶領域を必要としない方式であるが、Impersonationattack が成立することが示された。また、上記の各種攻撃法に耐性があり、サーバ認証が可能である方式としてSAS-2 が提案されている。本稿では、サーバ認証が可能であり、各種攻撃法に耐性のある新しい認証方式を提案する。提案方式はユーザの秘密情報ではなく、各セッションごとに更新される使い捨ての秘密鍵を用いて認証子を作成する。ユーザの秘密情報は、はじめに使い捨ての秘密鍵を作成するためだけに用いられるため、ユーザとサーバの端末上に残らずネットワーク上を流れることもない。
【０１０８】
［記号の定義］
以下の説明で用いる記号を次のように定義する。
【０１０９】
【数１】
2006004020.tif 000003
【０１１０】
［提案方式］
提案方式はサーバ認証機能を有するワンタイムパスワード認証方式である。提案方式ではサーバの送信する情報をクライアント側で認証し、クライアントの送信する情報をサーバ側で認証する。また、提案方式ではセッションごとに更新される使い捨て鍵を用いて認証が行われる。ユーザの秘密情報は登録フェーズにおいて使い捨て鍵を生成するためだけに用いられ、即座に削除されるためユーザ端末やサーバ上に残らず、ネットワーク上を流れることもない。
【０１１１】
［プロトコル］
プロトコル提案プロトコルは登録フェーズと認証フェーズに分けられる。登録フェーズは初めに一度だけ行われる。認証フェーズはユーザがログインする度に毎回行われる。登録フェーズの手順を図４、認証フェーズの手順を図５ に示す。
【０１１２】
［登録フェーズ］
A は次のように初回登録を行う。
【０１１３】
【数２】
2006004020.tif 000004
【０１１４】
［認証フェーズ］
A のi 回目のログインに対して次のように認証を行う。
【０１１５】
【数３】
2006004020.tif 000005
【０１１６】
［安全性の評価］
代表的な攻撃手法であるMan in the Middle attack、Replay attack、Denial of Service attack、Impersonationattack についての耐性を考察することで提案方式の安全性を評価する。
【０１１７】
［Man in the Middle attack］
Man in the Middle (MIM) attack とは、攻撃者E が通信する2 者の間に割り込み、通信データの盗聴や改ざんを行う攻撃である。
【０１１８】
提案方式に対してMIM attack を適用することを考える。このとき、E はH の送信するRi を改ざんして偽のデータをA に送り、それに対するA の返答を搾取して正しい返答をH に送信する必要がある。しかし、提案方式ではA は受信したRi を毎回検証するため、E の改ざんを検知できる。また、A の返答はA とH しか知らない使い捨て鍵を用いて生成されるため、E は正しい返答を生成することができない。以上より、提案方式はMIM attack に対して安全であると言える。
【０１１９】
［Replay attack］
Replay attack とは過去の認証セッションの通信データをE が盗聴し、再利用することでなりすましを行う攻撃である。提案方式にReplay attack を適用する場合、i 回目のセッションでE が盗聴できる通信データは次の通りである。
【０１２０】
Ri， h(Ri||Ki-1||Ki)
Pi = h(Ri||Ki)
これらのデータからi 回目以降のセッションの通信データや使い捨て鍵が作成できれば攻撃は成功であると言える。仮にE が各セッションにおける乱数を自由に選択できるとする。例えばRj = 0， j = 0， 1， 2，:::とする。このとき使い捨て鍵の更新は次のように表せる。
【０１２１】
Ki+1 = h2(Pi||Ki)
E はPi は知り得るが、Ki を知ることができないため、Ki+1 を作成することはできない。また、i + 1 回目の通信データは次のように表される。
【０１２２】
0， h(Ki||Ki+1)
Pi+1 = h(Ki+1)
E はKi+1 が作成できないため、h(Ki||Ki+1) とPi+1 =h(Ki+1) を作成することもできない。以上より、たとえE が自由に乱数を決定できたとしても提案方式はReplayattack に対して安全であると言える。
【０１２３】
［Denial of Service attack］
Denial of Service (DoS) attack とはE が通信する2者の正規の認証を不可能にする攻撃である。DoS attackの実現方法として、E がA もしくはH に偽の認証情報を受理させることで誤った認証情報を登録させ、以降の認証セッションを不可能にする方法がある。提案方式に対してDoS attack を適用するには、E がA もしくはH に偽の認証情報を受理させる必要がある。しかし、提案方式ではH からA に送られるRi はh(Ri||Ki-1||Ki) によって検証され、A からH に送られ
るPi はP'i = h(Ri||Ki) によって検証される。Ki を知らないE はh(Ri||Ki-1||Ki)，Pi ともに作ることができず、偽の認証情報を受理させることができない。以上より、提案方式はDoS attack に対して安全であると言える。
【０１２４】
［既存方式との比較］
以下に既存方式との比較を行う。
【０１２５】
［SAS-2 との性能比較］
必要とされる計算量、記憶容量、通信回数、通信量について提案方式とSAS-2 との比較を行う。比較結果を表1 に示す。
【０１２６】
【表１】
2006004020.tif 000006
【０１２７】
必要とされる計算量の大部分はハッシュ関数の処理が占めるため、ハッシュ回数を用いて計算量を評価する。計算量や記憶容量が問われるのは処理能力の低いユーザ側である。ユーザ側での性能に着目すると、提案方式、SAS-2 共にハッシュ回数は4 回で同じである。記憶容量に関しては、0 でない限りは何らかの記憶装置が必要となる。提案方式は一般にSAS-2 より必要とされる記憶容量は大きいが、携帯端末などに実装する場合はその差は問題にはならないと考えられる。通信回数については提案方式では4 回の通信を行っているが、実際に認証用データの通信を行うのは2 回であり、残りの2 回はセッション確立のリクエストや認証成功の通知が行われるのみである。通信量に関しては両方式ともほぼ同じ値になっている。結論として、提案方式はSAS-2 と同程度の性能であると言える。加えて、提案方式は次節に示すようにセッション鍵の更新を行うため、安全性が高い方式であると言える。
【０１２８】
［セッションごとの鍵の更新］
Lamport 方式、CINON、PERM、SAS、OSPA、SAS-2 の各方式はいずれも固定の秘密情報を一方向性関数で変換したものを用いて認証子の作成を行っていた。そのため、定期的に秘密情報を更新しなければ同じ秘密情報を長期に渡って使用することになり、時間の経過と共に危険性が高まるという問題点があった。提案方式では認証にユーザの秘密情報を用いるのではなく、各セッションごとに更新される使い捨ての秘密鍵を用いている。秘密情報は登録フェーズにおいて初回の使い捨て鍵を生成するためだけに用いられるため、ユーザやサーバの端末上に残らず、ネットワーク上を流れることもない。提案方式ではネットワーク上を流れる認証子のみならず、ユーザとサーバの各端末で保持されている秘密の情報も各セッションごとに更新されるため、既存方式に比べてより安全性が高い方式であると言える。
【０１２９】
［まとめ］
以上のようにサーバ認証機能を有するワンタイムパスワード認証方式を提案した。提案方式では各セッションごとに使い捨て鍵を用いるため、ユーザの秘密情報がユーザやサーバの端末上に残らず、ネットワーク上を流れることもない。また、代表的な攻撃手法であるMIM attack、Replay attack、DoS attack、Imperson ation attack についての耐性を考察し、提案方式がこれらの攻撃に対して安全であることを示した。さらに、SAS-2 との性能の比較を行うことで提案方式がSAS-2 と同程度の性能で、より安全性が高い方式であることを示した。
【図面の簡単な説明】
【０１３０】
【図１】図１は、本発明のシステム構成の一例を示す説明図である。
【図２】図２は、本発明における初期処理の一例を示す説明図である。
【図３】図３は、本発明におけるログイン後の通常の転送処理の一例を示す説明図である。
【図４】図４は、本発明の登録フェーズの理論的な一例を示す説明図である。
【図５】図５は、本発明の認証フェーズの理論的な一例を示す説明図である。
【図１】
2006004020.tif 000007
【図２】
2006004020.tif 000008
【図３】
2006004020.tif 000009
【図４】
2006004020.tif 000010
【図５】
2006004020.tif 000011