(57)【要約】【課題】認証サーバによって認証されている認証クライアントが、その認証の効果を強化して、新しい通信パスワードを実施するための方法を提供する。【解決手段】認証クライアントは、新しいパスワードをそのユーザから得る。新しいパスワードからおよび認証サーバによって提供された情報から、「パスワードベリファイヤ」を導出する。パスワードベリファイヤは、認証サーバと共有される。新しいパスワード自体は認証サーバに送信されず、新しいパスワードをパスワードベリファイヤから導出することは基本的に不可能である。認証クライアントおよび認証サーバは、それぞれ、新しいパスワードからおよびパスワードベリファイヤから、新しい認証および暗号化セキュリティキーの組を並行して導出する。いずれかの特定のセキュリティキーの組を使用して送信されるデータ量を制限するために、このプロセスを繰り返すことができる。【選択図】　　　　図４
2004030611.tif 000002
【特許請求の範囲】
【請求項１】
認証クライアントと認証サーバとを有するコンピューティング環境であって、前記認証クライアントは前記認証サーバに対して認証されており、前記認証クライアントの前記認証は、前記認証クライアントに周知の元のパスワードと、前記認証サーバに周知の元のパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知のユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および元のソルトとに基づくコンピューティング環境において、新しいパスワードを実施するための方法であって、
前記認証サーバが、前記認証クライアントがそのパスワードを変更することを要求するステップと、
前記認証サーバが前記認証クライアントに対して、新しいソルトをアクセス可能にするステップと、
前記認証クライアント上で、前記認証クライアントのユーザから新しいパスワードを要求し受信するステップと、
前記認証クライアント上で新しいパスワードベリファイヤを計算し、前記新しいソルトおよび前記ユーザ名を、前記計算するステップへの入力として渡すステップと、
前記認証クライアントが前記認証サーバに対して前記新しいパスワードベリファイヤをアクセス可能にするステップと、
前記認証サーバ上で、前記ユーザ名、新しいパスワードベリファイヤ、および新しいソルトを格納するステップとを備えることを特徴とする方法。
【請求項２】
前記認証クライアントがそのパスワードを変更することを要求するステップは、ＥＡＰ−ＳＲＰ（Ｅｘｔｅｎｓｉｂｌｅ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ−Ｓｅｃｕｒｅ　Ｒｅｍｏｔｅ　Ｐａｓｓｗｏｒｄ）サーバ変更パスワードメッセージを送信するステップを含み、前記新しいパスワードベリファイヤをアクセス可能にするステップは、ＥＡＰ−ＳＲＰクライアント変更パスワードメッセージを送信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記認証クライアントがそのパスワードを変更することを要求するステップは、ＥＡＰ−ＳＲＰベンダ特有の変更パスワード要求メッセージを送信するステップを含み、前記新しいパスワードベリファイヤをアクセス可能にするステップは、ＥＡＰ−ＳＲＰベンダ特有の変更パスワード応答メッセージを送信するステップを含むことを特徴とする請求項１に記載の方法
【請求項４】
前記新しいソルトは前記元のソルトと同じであり、前記新しいソルトをアクセス可能にするステップは、前記認証クライアントがそのパスワードを変更することを要求する前に、前記認証サーバが前記認証クライアントと前記新しいソルトを共有するステップを含むことを特徴とする請求項１に記載の方法
【請求項５】
前記新しいソルトは前記元のソルトと同じではなく、前記新しいソルトをアクセス可能にするステップは、前記認証サーバが、前記新しいソルトを有する前記認証クライアントにメッセージを送信すること、前記認証サーバおよび前記認証クライアントへアクセス可能な場所に前記新しいソルトを書き込むこと、および前記認証クライアントがそのパスワードを変更することを要求する前に、前記新しいソルトを前記認証クライアントと共有することからなる群から選択される技術を使用するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
新しいソルトをアクセス可能にするステップは、
前記認証サーバが前記新しいソルトを扱う第１のＭＡＣを計算するステップであって、前記第１のＭＡＣは前記認証クライアントの前記認証中に導出された認証クライアントから認証サーバへの認証キーに基づくステップと、
前記認証サーバが前記認証クライアントに対して前記第１のＭＡＣをアクセス可能にするステップと、
前記認証クライアント上で、前記新しいソルトを扱う第２のＭＡＣを計算するステップであって、前記第２のＭＡＣは前記認証クライアントから認証サーバへの認証キーに基づくステップとをさらに含み、
新しいパスワードを要求し受信するステップ、ならびに新しいパスワードベリファイヤを計算するステップ、アクセス可能にするステップ、および格納するステップは、前記第１のＭＡＣが前記第２のＭＡＣに一致した場合にのみ実施されることを特徴とする請求項５に記載の方法。
【請求項７】
前記元のプライムモジュラスおよび前記元のプライムモジュラスの前記元のジェネレータを、前記計算するステップへのさらなる入力として渡すステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
新しいパスワードベリファイヤを計算するステップは、前記認証クライアント上で、
ハッシュ関数を実行した結果を第１の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記ユーザ名および前記新しいパスワードを有するステップと、
ハッシュ関数を実行した結果を第２の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記新しいソルトおよび前記第１の中間値を有するステップと、
前記第２の中間値に累乗した前記元のジェネレータを第３の中間値に割り当てるステップと、
前記元のプライムモジュラスを法とする前記第３の中間値を前記新しいパスワードベリファイヤに割り当てるステップとを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記新しいパスワードベリファイヤをアクセス可能にするステップは、
前記認証クライアントの前記認証中に導出された認証サーバから認証クライアントへの暗号化キーを使用して、前記認証クライアント上で前記新しいパスワードベリファイヤを暗号化するステップと、
前記認証クライアントが前記認証サーバに対して前記暗号化された新しいパスワードベリファイヤをアクセス可能にするステップと、
前記認証サーバから認証クライアントへの暗号化キーを使用して、前記認証サーバ上で、前記暗号化された新しいパスワードベリファイヤを解読するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記新しいパスワードベリファイヤをアクセス可能にするステップは、
前記認証クライアント上で、前記暗号化された新しいパスワードベリファイヤを扱う第１のＭＡＣを計算するステップであって、前記第１のＭＡＣは前記認証クライアントの前記認証中に導出された認証サーバから認証クライアントへの認証キーに基づくステップと、
前記認証クライアントが前記認証サーバに対して前記第１のＭＡＣをアクセス可能にするステップと、
前記認証サーバ上で、前記暗号化された新しいパスワードベリファイヤを扱う第２のＭＡＣを計算するステップであって、前記第２のＭＡＣは前記認証サーバから認証クライアントへの認証キーに基づくステップとをさらに含み、
前記ユーザ名、新しいパスワードベリファイヤ、および新しいソルトを格納するステップは、前記第１のＭＡＣが前記第２のＭＡＣに一致した場合にのみ実施されることを特徴とする請求項９に記載の方法。
【請求項１１】
前記認証サーバ上で、前記認証クライアントがそのパスワードを変更することを前記要求するステップにタイマを関連付けるステップと、
前記タイマの期限切れ時に、新しいパスワードベリファイヤが前記認証クライアントによってアクセス可能になっていない場合は、前記認証サーバ上で、前記認証クライアントがそのパスワードを変更することを前記要求するステップを繰り返すステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
２回目に前記認証クライアントを前記認証サーバに対して認証するステップであって、前記２回目の認証は、前記認証クライアントに周知の前記新しいパスワードと、前記認証サーバに周知の前記新しいパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の、前記ユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および新しいソルトとに基づくステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１３】
前記認証サーバが前記認証クライアントに対して新しいプライムモジュラスおよび前記新しいプライムモジュラスの新しいジェネレータをアクセス可能にするステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１４】
新しいソルト、新しいプライムモジュラス、および前記新しいプライムモジュラスの新しいジェネレータをアクセス可能にするステップは、
前記認証サーバ上で、前記新しいソルト、前記新しいプライムモジュラス、および前記新しいジェネレータを扱う第１のＭＡＣを計算するステップであって、前記第１のＭＡＣは前記認証クライアントの前記認証中に導出された認証クライアントから認証サーバへの認証キーに基づくステップと、
前記認証サーバが前記認証クライアントに対して前記第１のＭＡＣをアクセス可能にするステップと、
前記認証クライアント上で、前記新しいソルト、前記新しいプライムモジュラス、および前記新しいジェネレータを扱う第２のＭＡＣを計算するステップであって、前記第２のＭＡＣは前記認証クライアントから認証サーバへの認証キーに基づくステップとを含み、
新しいパスワードを要求し受信するステップ、ならびに新しいパスワードベリファイヤを計算するステップ、アクセス可能にするステップ、および格納するステップは、前記第１のＭＡＣが前記第２のＭＡＣに一致した場合にのみ実施されることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記新しいプライムモジュラスおよび前記新しいジェネレータを、前記計算するステップへのさらなる入力として渡すステップをさらに備えることを特徴とする請求項１３に記載の方法。
【請求項１６】
新しいパスワードベリファイヤを計算するステップは、前記認証クライアント上で、
ハッシュ関数を実行した結果を第１の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記ユーザ名および前記新しいパスワードを有するステップと、
ハッシュ関数を実行した結果を第２の中間値に割り当てるステップを含み、前記ハッシュ関数への前記入力は、前記新しいソルトおよび前記第１の中間値を有するステップと、
前記第２の中間値に累乗した前記新しいジェネレータを第３の中間値に割り当てるステップと、
前記新しいプライムモジュラスを法とする前記第３の中間値を前記新しいパスワードベリファイヤに割り当てるステップとを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
２回目に前記認証クライアントを前記認証サーバに対して認証するステップであって、前記２回目の認証は、前記認証クライアントに周知の前記新しいパスワードと、前記認証サーバに周知の前記新しいパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の前記ユーザ名、新しいプライムモジュラス、前記新しいプライムモジュラスの新しいジェネレータ、および新しいソルトとに基づくステップをさらに備えることを特徴とする請求項１３に記載の方法。
【請求項１８】
新しいパスワードを実施するための方法を実施するための命令を有するコンピュータ読取り可能媒体であって、認証クライアントは認証サーバに対して認証されており、前記認証クライアントの前記認証は、前記認証クライアントに周知の元のパスワードと、前記認証サーバに周知の元のパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知のユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および元のソルトとに基づいており、前記方法は、
前記認証サーバが、前記認証クライアントがそのパスワードを変更することを要求するステップと、
前記認証サーバが前記認証クライアントに対して新しいソルトをアクセス可能にするステップと、
前記認証クライアント上で、前記認証クライアントのユーザから新しいパスワードを要求し受信するステップと、
前記認証クライアント上で新しいパスワードベリファイヤを計算し、前記新しいソルトおよび前記ユーザ名を、前記計算するステップへの入力として渡すステップと、
前記認証クライアントが前記認証サーバに対して前記新しいパスワードベリファイヤをアクセス可能にするステップと、
前記認証サーバ上で、前記ユーザ名、新しいパスワードベリファイヤ、および新しいソルトを格納するステップとを備えることを特徴とするコンピュータ読取り可能媒体。
【請求項１９】
認証クライアントと認証サーバとを有するコンピューティング環境であって、前記認証クライアントは前記認証サーバに対して認証されており、前記認証クライアントの前記認証は、前記認証クライアントに周知の元のパスワードと、前記認証サーバに周知の元のパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知のユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および元のソルトとに基づくコンピューティング環境において、前記認証サーバが前記認証クライアントに新しいパスワードを実施させるようにするための方法であって、
前記認証クライアントがそのパスワードを変更することを要求するステップと、
新しいソルトを前記認証クライアントに対してアクセス可能にするステップと、
前記認証クライアントから新しいパスワードベリファイヤを受信するステップと、
前記ユーザ名、前記新しいパスワードベリファイヤ、および前記新しいソルトを格納するステップとを備えることを特徴とする方法。
【請求項２０】
前記認証クライアントがそのパスワードを変更することを要求するステップは、ＥＡＰ−ＳＲＰサーバ変更パスワードメッセージを送信するステップを含み、新しいパスワードベリファイヤを前記認証クライアントから受信するステップは、ＥＡＰ−ＳＲＰクライアント変更パスワードメッセージを受信するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記認証クライアントがそのパスワードを変更することを要求するステップは、ＥＡＰ−ＳＲＰベンダ特有の変更パスワード要求メッセージを送信するステップを含み、新しいパスワードベリファイヤを前記認証クライアントから受信するステップは、ＥＡＰ−ＳＲＰベンダ特有の変更パスワード応答メッセージを受信するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記新しいソルトは前記元のソルトと同じであり、前記新しいソルトを前記認証クライアントに対してアクセス可能にするステップは、前記認証クライアントがそのパスワードを変更することを要求する前に、前記認証クライアントと前記新しいソルトを共有するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２３】
前記新しいソルトは前記元のソルトと同じではなく、前記新しいソルトを前記認証クライアントに対してアクセス可能にするステップは、前記新しいソルトを有する前記認証クライアントにメッセージを送信すること、前記認証サーバおよび前記認証クライアントへアクセス可能な場所に前記新しいソルトを書き込むこと、および前記認証クライアントがそのパスワードを変更することを要求する前に、前記新しいソルトを前記認証クライアントと共有することからなる群から選択される技術を使用するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２４】
新しいソルトを前記認証クライアントに対してアクセス可能にするステップは、
前記新しいソルトを扱うメッセージ認証コード（ＭＡＣ）を計算するステップであって、前記ＭＡＣは前記認証クライアントの前記認証中に導出された認証クライアントから認証サーバへの認証キーに基づくステップと、
前記認証クライアントに対して前記ＭＡＣをアクセス可能にするステップとをさらに含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記認証クライアントから新しいパスワードベリファイヤを受信するステップは、
前記認証クライアントから暗号化された新しいパスワードベリファイヤを受信するステップと、
前記認証クライアントの前記認証中に導出された認証サーバから認証クライアントへの暗号化キーを使用して、前記暗号化された新しいパスワードベリファイヤを解読するステップとを含むことを特徴とする請求項１９に記載の方法。
【請求項２６】
前記認証クライアントから新しいパスワードベリファイヤを受信するステップは、
前記認証クライアントからＭＡＣを受信するステップと、
前記暗号化された新しいパスワードベリファイヤを扱うＭＡＣを計算するステップであって、前記ＭＡＣは前記認証クライアントの前記認証中に導出された認証サーバから認証クライアントへの暗号化キーに基づくステップとをさらに含み、
前記ユーザ名、前記新しいパスワードベリファイヤ、および前記新しいソルトを格納するステップは、前記受信されたＭＡＣが前記計算されたＭＡＣに一致した場合にのみ実施されることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記認証クライアントがそのパスワードを変更することを前記要求するステップにタイマを関連付けるステップと、
前記タイマの期限切れ時に、新しいパスワードベリファイヤが前記認証クライアントから受信されない場合は、前記認証クライアントがそのパスワードを変更することを前記要求するステップを繰り返すステップとをさらに備えることを特徴とする請求項１９に記載の方法。
【請求項２８】
２回目に前記認証クライアントを前記認証サーバに対して認証するステップであって、前記２回目の認証は、前記認証クライアントに周知の前記新しいパスワードと、前記認証サーバに周知の前記新しいパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の前記ユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および新しいソルトとに基づくステップをさらに備えることを特徴とする請求項１９に記載の方法。
【請求項２９】
前記認証クライアントに対して、新しいプライムモジュラスおよび前記新しいプライムモジュラスの新しいジェネレータをアクセス可能にするステップをさらに備えることを特徴とする請求項１９に記載の方法。
【請求項３０】
新しいソルト、新しいプライムモジュラス、および前記新しいプライムモジュラスの新しいジェネレータを前記認証クライアントに対してアクセス可能にするステップは、
前記新しいソルト、前記新しいプライムモジュラス、および前記新しいジェネレータを扱うＭＡＣを計算するステップであって、前記ＭＡＣは前記認証クライアントの前記認証中に導出された認証クライアントから認証サーバへの認証キーに基づくステップと、
前記認証クライアントに対して前記ＭＡＣをアクセス可能にするステップとを含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
２回目に前記認証クライアントを前記認証サーバに対して認証するステップであって、前記２回目の認証は、前記認証クライアントに周知の前記新しいパスワードと、前記認証サーバに周知の前記新しいパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の前記ユーザ名、新しいプライムモジュラス、および前記新しいプライムモジュラスの新しいジェネレータ、および新しいソルトとに基づくステップをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３２】
認証サーバが認証クライアントに新しいパスワードを実施させるための方法を実施するための命令を有するコンピュータ読取り可能媒体であって、前記認証クライアントは認証サーバに対して認証されており、前記認証クライアントの前記認証は、前記認証クライアントに周知の元のパスワードと、前記認証サーバに周知の元のパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知のユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および元のソルトとに基づいており、前記方法は、
前記認証クライアントがそのパスワードを変更することを要求するステップと、
前記認証クライアントに対して新しいソルトをアクセス可能にするステップと、
前記認証クライアントから新しいパスワードベリファイヤを受信するステップと、
前記ユーザ名、前記新しいパスワードベリファイヤ、および前記新しいソルトを格納するステップとを備えることを特徴とするコンピュータ読取り可能媒体。
【請求項３３】
認証クライアントと認証サーバとを有するコンピューティング環境であって、前記認証クライアントは前記認証サーバに対して認証されており、前記認証クライアントの前記認証は、前記認証クライアントに周知の元のパスワードと、前記認証サーバに周知の元のパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の、ユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および元のソルトとに基づくコンピューティング環境において、前記認証クライアントが新しいパスワードを実施するための方法であって、
前記認証クライアントがそのパスワードを変更することの要求を前記認証サーバから受信するステップと、
新しいソルトを前記認証サーバから受信するステップと、
前記認証クライアントのユーザから新しいパスワードを要求し受信するステップと、
新しいパスワードベリファイヤを計算し、前記新しいソルトおよび前記ユーザ名を、前記計算するステップへの入力として渡すステップと、
前記新しいパスワードベリファイヤを前記認証サーバに対してアクセス可能にするステップとを備えることを特徴とする方法。
【請求項３４】
前記認証クライアントがそのパスワードを変更することの要求を受信するステップは、ＥＡＰ−ＳＲＰサーバ変更パスワードメッセージを受信するステップを含み、前記認証サーバに対して前記新しいパスワードベリファイヤをアクセス可能にするステップは、ＥＡＰ−ＳＲＰクライアント変更パスワードメッセージを送信するステップを含むことを特徴とする請求項３３に記載の方法。
【請求項３５】
前記認証クライアントがそのパスワードを変更することの要求を受信するステップは、ＥＡＰ−ＳＲＰベンダ特有の変更パスワード要求メッセージを受信するステップを含み、前記認証サーバに対して前記新しいパスワードベリファイヤをアクセス可能にするステップは、ＥＡＰ−ＳＲＰベンダ特有の変更パスワード応答メッセージを送信するステップを含むことを特徴とする請求項３３に記載の方法。
【請求項３６】
前記新しいソルトは前記元のソルトと同じであり、前記認証サーバから前記新しいソルトを受信するステップは、前記認証クライアントがそのパスワードを変更することの前記要求を受信する前に、前記新しいソルトを前記認証サーバと共有するステップを含むことを特徴とする請求項３３に記載の方法。
【請求項３７】
前記新しいソルトは前記元のソルトと同じではなく、前記認証サーバから前記新しいソルトを受信するステップは、前記新しいソルトを有する前記認証サーバからメッセージを受信すること、前記認証サーバおよび前記認証クライアントへアクセス可能な場所に前記新しいソルトをアクセスすること、および前記認証クライアントがそのパスワードを変更することの前記要求を受信する前に、前記新しいソルトを前記認証サーバと共有することからなる群から選択される技術を使用するステップを含むことを特徴とする請求項３３に記載の方法。
【請求項３８】
前記認証サーバから新しいソルトを受信するステップは、
前記認証サーバからＭＡＣを受信するステップと、
前記新しいソルトを扱うＭＡＣを計算するステップであって、前記ＭＡＣは、前記認証クライアントの前記認証中に導出された認証クライアントから認証サーバへの暗号化キーに基づくステップとをさらに含み、
前記新しいパスワードベリファイヤを計算するステップおよび前記認証サーバに対してアクセス可能にするステップは、前記受信されたＭＡＣが前記計算されたＭＡＣに一致した場合にのみ実施されることを特徴とする請求項３７に記載の方法。
【請求項３９】
前記元のプライムモジュラスおよび前記元のプライムモジュラスの前記元のジェネレータを、前記計算するステップへのさらなる入力として渡すステップをさらに備えることを特徴とする請求項３３に記載の方法。
【請求項４０】
新しいパスワードベリファイヤを計算するステップは、
ハッシュ関数を実行した結果を第１の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記ユーザ名および前記新しいパスワードを有するステップと、
ハッシュ関数を実行した結果を第２の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記新しいソルトおよび前記第１の中間値を有するステップと、
前記第２の中間値に累乗した前記元のジェネレータを第３の中間値に割り当てるステップと、
前記元のプライムモジュラスを法とする前記第３の中間値を前記新しいパスワードベリファイヤに割り当てるステップとを含むことを特徴とする請求項３９に記載の方法。
【請求項４１】
前記新しいパスワードベリファイヤを前記認証サーバに対してアクセス可能にするステップは、
前記認証クライアントの前記認証中に導出された認証サーバから認証クライアントへの暗号化キーを使用して、前記新しいパスワードベリファイヤを暗号化するステップと、
前記暗号化された新しいパスワードベリファイヤを前記認証サーバに対してアクセス可能にするステップとを含むことを特徴とする請求項３３に記載の方法。
【請求項４２】
前記新しいパスワードベリファイヤを前記認証サーバに対してアクセス可能にするステップは、
前記暗号化された新しいパスワードベリファイヤを扱うＭＡＣを計算するステップであって、前記ＭＡＣは前記認証クライアントの前記認証中に導出された認証サーバから認証クライアントへの認証キーに基づくステップと、
前記ＭＡＣを前記認証サーバに対してアクセス可能にするステップとをさらに含むことを特徴とする請求項４１に記載の方法。
【請求項４３】
２回目に前記認証クライアントを前記認証サーバに対して認証するステップであって、前記２回目の認証は、前記認証クライアントに周知の前記新しいパスワードと、前記認証サーバに周知の前記新しいパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の前記ユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および新しいソルトとに基づくステップをさらに備えることを特徴とする請求項３３に記載の方法。
【請求項４４】
前記認証サーバから新しいプライムモジュラスおよび前記新しいプライムモジュラスの新しいジェネレータを受信するステップをさらに備えることを特徴とする請求項３３に記載の方法。
【請求項４５】
前記認証サーバから新しいソルト、新しいプライムモジュラス、および前記新しいプライムモジュラスの新しいジェネレータを受信するステップは、
前記認証サーバからＭＡＣを受信するステップと、
前記新しいソルト、前記新しいプライムモジュラス、および前記新しいジェネレータを扱うＭＡＣを計算するステップであって、前記ＭＡＣは前記認証クライアントの前記認証中に導出された認証クライアントから認証サーバへの暗号化キーに基づくステップとを含み、
前記新しいパスワードベリファイヤを計算するステップおよび前記認証サーバに対してアクセス可能にするステップは、前記受信されたＭＡＣが前記計算されたＭＡＣに一致した場合にのみ実施されることを特徴とする請求項４４に記載の方法。
【請求項４６】
前記新しいプライムモジュラスおよび前記新しいジェネレータを、前記計算するステップへのさらなる入力として渡すステップをさらに備えることを特徴とする請求項４４に記載の方法。
【請求項４７】
新しいパスワードベリファイヤを計算するステップは、
ハッシュ関数を実行した結果を第１の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記ユーザ名および前記新しいパスワードを有するステップと、
ハッシュ関数を実行した結果を第２の中間値に割り当てるステップであって、前記ハッシュ関数への前記入力は、前記新しいソルトおよび前記第１の中間値を有するステップと、
前記第２の中間値に累乗した前記新しいジェネレータを第３の中間値に割り当てるステップと、
前記新しいプライムモジュラスを法とする前記第３の中間値を前記新しいパスワードベリファイヤに割り当てるステップとを含むことを特徴とする請求項４６に記載の方法。
【請求項４８】
２回目に前記認証クライアントを前記認証サーバに対して認証するステップであって、前記２回目の認証は、前記認証クライアントに周知の前記新しいパスワードと、前記認証サーバに周知の前記新しいパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知の前記ユーザ名、新しいプライムモジュラス、前記新しいプライムモジュラスの新しいジェネレータ、および新しいソルトとに基づくステップをさらに備えることを特徴とする請求項４４に記載の方法。
【請求項４９】
認証クライアントが新しいパスワードを実施するための方法を実施するための命令を有するコンピュータ読取り可能媒体であって、前記認証クライアントは前記認証サーバに対して認証されており、前記認証クライアントの前記認証は、前記認証クライアントに周知の元のパスワードと、前記認証サーバに周知の元のパスワードベリファイヤと、前記認証クライアントおよび前記認証サーバの両方に周知のユーザ名、元のプライムモジュラス、前記元のプライムモジュラスの元のジェネレータ、および元のソルトとに基づいており、前記方法は、
前記認証クライアントがそのパスワードを変更することの要求を前記認証サーバから受信するステップと、
新しいソルトを前記認証サーバから受信するステップと、
前記認証クライアントのユーザから新しいパスワードを要求し受信するステップと、
新しいパスワードベリファイヤを計算し、前記新しいソルトおよび前記ユーザ名を前記計算するステップへの入力として渡すステップと、
前記新しいパスワードベリファイヤを前記認証サーバに対してアクセス可能にするステップとを備えることを特徴とするコンピュータ読取り可能媒体。
【請求項５０】
変更パスワード要求データ構造を格納したコンピュータ読取り可能媒体であって、前記変更パスワード要求データ構造は、
ソルトを表すデータを有する第１のデータフィールドと、
プライムモジュラスを表すデータを有する第２のデータフィールドと、
前記プライムモジュラスのジェネレータを表すデータを有する第３のデータフィールドと、
前記ソルト、前記プライムモジュラス、および前記ジェネレータを扱うＭＡＣを表すデータを有する第４のデータフィールドとを有することを特徴とするコンピュータ読取り可能媒体。
【請求項５１】
前記ソルト、プライムモジュラス、ジェネレータ、およびＭＡＣは、ＥＡＰ−ＳＲＰサーバ変更パスワードメッセージとＥＡＰ−ＳＲＰベンダ特有の変更パスワード要求メッセージとからなる群から選択されるメッセージの一部としてフォーマット化されることを特徴とする請求項５０に記載の変更パスワード要求データ構造。
【請求項５２】
変更パスワード応答データ構造を格納したコンピュータ読取り可能媒体であって、前記変更パスワード応答データ構造は、
パスワードベリファイヤを表すデータを有する第１のデータフィールドと、
前記パスワードベリファイヤを扱うＭＡＣを表すデータを有する第２のデータフィールドとを備えることを特徴とするコンピュータ読取り可能媒体。
【請求項５３】
前記パスワードベリファイヤおよび前記ＭＡＣは、ＥＡＰ−ＳＲＰクライアント変更パスワードメッセージとＥＡＰ−ＳＲＰベンダ特有の変更パスワード応答メッセージとからなる群から選択されるメッセージの一部としてフォーマット化されることを特徴とする請求項５２に記載の変更パスワード応答データ構造。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にコンピュータ通信に関し、より詳細には、パスワードベースのセキュリティをコンピュータ通信セッションに提供することに関する。
【０００２】
【従来の技術】
コンピュータネットワークが拡大の一途を辿っており、より機密性の高い情報を運ぶようになってきている。セキュリティ上の理由から、ネットワークを使用する計算デバイスが、そのアイデンティティを他のデバイスに対して証明（「認証」）し、他の認証されたデバイスとしか機密情報を通信しないことがしばしばである。しかし、大多数の認証された通信は、まだセキュリティ攻撃に脆弱である。セキュリティ攻撃の１つの形に、攻撃者が、恐らく正当なデバイスを偽装することにより、誤って認証されてしまうことがある。いったん認証されると、攻撃者は、正当に認証されたデバイスのためのみのはずの情報へのアクセスを有することになる。攻撃の第２の形に、攻撃者は認証されないが、セキュリティコードを得るために、認証されたデバイス間の通信を盗聴することがある。これらのセキュリティコードを掌中に収めると、盗聴者は、認証されたデバイスによって送信された機密情報にアクセスできる。これらのセキュリティ攻撃は、それらの通信への物理アクセスを制限することが困難または不可能であるために、無線技術を介して通信するデバイスに対して特に問題である。
【０００３】
これらの２つの形のセキュリティ攻撃は、通信セキュリティの２つの主要な態様によって解決される。まず最初に、違法攻撃者による使用を予防するための認証技術がますます高度になってきている。代表的な通信環境には、認証を得ることを試みる場合に、（「認証クライアント」と呼ぶ）すべての計算デバイスと通信する認証サーバが含まれている。認証を得るためには、認証クライアントは、通常、いくつかの認証資格証明（ａｕｔｈｅｎｔｉｃａｔｉｏｎ　ｃｒｅｄｅｎｔｉａｌ）についての知識を証明しなければならない。場合によっては、認証資格証明は、認証クライアントと認証サーバとの間で共有される秘密通信パスワードを含む。他の場合には、認証資格証明は、公開／私用キーの対およびセキュリティ証明書に基づくことがある。いずれの場合においても、認証資格証明についての知識を証明した場合にのみ、認証クライアントは認証サーバに対し認証される。認証プロセスは通常相互に行われ、認証サーバもまた、認証クライアントに対しそのアイデンティティを証明する。
【０００４】
通信セキュリティの第２の態様においては、認証された計算デバイス間で送信される情報が暗号化される。代表的な暗号化方法では、情報の送信側および受信側が、まず最初に情報符号化スキームについて同意する。符号化スキームは、しばしばだが必ずしも常にではなく送信側と受信側との間で共有されている、秘密セキュリティキーに基づく。秘密セキュリティキーは、認証のために使用されるものと同じ通信パスワードに基づくことができる。送信側は、同意された符号化スキームを使用して情報を暗号化し、次いで、暗号化された情報を受信側に送信する。それを受信すると、受信側は、同意された符号化スキームを使用して情報を解読する。暗号化された情報が盗聴される可能性はやはりあるが、盗聴者は、セキュリティキーについての知識を持たずに元の情報を得ることができない。
【０００５】
しかし、認証および暗号化が、常に十分な保護を提供するわけではない。例えば、暗号化された情報が、統計的攻撃（ｓｔａｔｉｓｔｉｃａｌ　ａｔｔａｃｋ）を含む、いくつかの攻撃にやはりさらされやすい。統計的攻撃では、盗聴者が、送信側および受信側によって同意されたセキュリティスキームに関連するパターンを何とか引き出すために、１組の暗号化されたメッセージを分析する。そのパターンから、盗聴者は、同意されたセキュリティスキームの基礎となるセキュリティキーを見つけ、それを使用して、暗号化された情報を解読することができる。
【０００６】
攻撃のこの方法の統計的な性質により、分析されるメッセージの数が増えるに従って、その精度が向上する。したがって、統計的攻撃を阻止するための１つのアプローチが、いずれか１つのセキュリティスキームを使用して送信される情報量を制限することである。これを行うために、同意されたセキュリティスキームの基礎となるセキュリティキーを頻繁に変更する場合がある。相互認証プロセスは、認証クライアントによりおよび認証サーバにより使用されるセキュリティキーを変更する。しかし、認証により、新しいセキュリティキーがやはり変更されていない通信パスワードに基づくという事実が変わるわけではない。時間が経つにつれて、そのパスワードが漏洩する可能性が増すので、それも頻繁に変更すべきである。このことは、最初に見えてくるように単純なことではない。有用であるためには、新しいパスワード（またはそれから導出される情報）が、認証クライアントおよび認証サーバの両方で使用可能である必要がある。単に認証クライアント上で新しいパスワードを設定し、次いでそれを通信リンクを介して認証サーバに送信することは、あまり安全ではない。新しいパスワードを送信する「帯域外」方法（コンピュータ通信リンクを使用しない方法）は、相当安全ではあるが、特に認証サーバが認証クライアントから離れた場所にある場合には厄介なことになり、したがって頻繁なパスワード変更が妨げられることになる。
【０００７】
【非特許文献１】
ＩＥＴＦ　ＲＦＣ　（Ｉｎｔｅｒｎｅｔ　Ｅｎｇｉｎｅｅｒｉｎｇ　Ｔａｓｋ　Ｆｏｒｃｅ　Ｒｅｑｕｅｓｔ　ｆｏｒ　Ｃｏｍｍｅｎｔｓ）　２９４５，　”Ｔｈｅ　ＳＲＰ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　ａｎｄ　Ｋｅｙ　Ｅｘｃｈａｎｇｅ　Ｓｙｓｔｅｍ”
【０００８】
【非特許文献２】
ＩＥＴＦ　ＲＦＣ２２４６，　”Ｔｈｅ　ＴＬＳ　Ｐｒｏｔｏｃｏｌ”
【０００９】
【非特許文献３】
ＩＥＴＦ　ＲＦＣ２１０４，　”ＨＭＡＣ：Ｋｅｙｅｄ−Ｈａｓｈｉｎｇ　Ｆｏｒ　Ｍｅｓｓａｇｅ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ”
【００１０】
【発明が解決しようとする課題】
本発明の目的は、認証クライアントおよび認証サーバが、通信リンクを介して新しいパスワードを明示的に送信することなく、新しい通信パスワードを実施するための厄介でない方法を提供することである。
【００１１】
【課題を解決するための手段】
上記から、本発明は、認証サーバによって認証されている認証クライアントが、認証の効果を強化して、新しい通信パスワードを実施するのための方法を提供する。認証サーバは、認証クライアントが新しいパスワードを実施することを要求する。認証クライアントは、新しいパスワードをそのユーザから得る。新しいパスワードからおよび認証サーバによって提供された情報から、認証クライアントは「パスワードベリファイヤ」を導出する。次いで、パスワードベリファイヤは、認証サーバと共有される。新しいパスワードを実施するプロセス中、認証クライアントと認証サーバとの間の通信が、前のパスワードから導出されたセキュリテキーを使用して保護される。新しいパスワード自体は、決して認証サーバに送信されず、パスワードベリファイヤから新しいパスワードを導出することは、基本的に不可能である。将来の再認証については、パスワードベリファイヤについての認証サーバの知識および新しいパスワード自体についての認証クライアントの知識が、認証資格証明として使われる。
【００１２】
認証クライアントおよび認証サーバは、認証資格証明のそれぞれについての知識から新しいセキュリティキーの組を並行して導出する。新しいセキュリティキーは、プロセスが繰り返されて、より新しいセキュリティキーの組がより新しいパスワードから導出されるまで、認証および暗号化のために使用される。このプロセスを所望のままにしばしば繰り返して、ある特定のセキュリティキーの組を使用して送信されるデータ量を制限し、したがって統計的攻撃者の有効性を制限することができる。
【００１３】
本発明の別の態様においては、認証サーバがいつ現在の通信パスワードを変更すべきかを判断するが、その判断は恐らく、時間の経過または現在のパスワードを使用して送信されたデータ量に基づく。
【００１４】
頭記の特許請求の範囲に本発明の特徴を詳細に記載してあるが、本発明は、その目的および利点とともに、添付図面と合わせて以下の詳細な説明から最も良く理解できるであろう。
【００１５】
【発明の実施の形態】
次に図面を参照するが、ここで同様の参照符号は同様の要素を指し、本発明は、適切なコンピューティング環境内で実施されるものとして例示してある。以下の記述は、本発明の実施形態に基づくものであり、本明細書に明示的に記述していない代替実施形態に関して本発明を限定するものと解釈すべきではない。
【００１６】
以下の記述では、それ以外の記述がない限り、１つまたは複数の計算デバイスによって実施される作用およびオペレーションの象徴的表現を参照しながら本発明を記述する。したがって、ときにコンピュータ実行（ｃｏｍｐｕｔｅｒ−ｅｘｅｃｕｔｅｄ）と呼ぶこのような作用およびオペレーションには、構造化形式（ｓｔｒｕｃｔｕｒｅｄ　ｆｏｒｍ）でデータを表す電気信号の計算デバイスの処理ユニットによる操作が含まれることを理解されるであろう。この操作により、データが変換され、または計算デバイスのメモリシステム内の複数の場所にそれらが保持され、当業者に周知の方式でデバイスのオペレーションが再構成されるかまたは変更される。データが保持されているデータ構造は、データのフォーマットによって定義された特定のプロパティを有するメモリの物理的な場所である。しかし、上述の状況において本発明を説明しているが、何ら限定的なものではなく、本明細書の以下に記述したさまざまな作用およびオペレーションがハードウェア内でも実施できることは当業者なら理解されるであろう。
【００１７】
図１のネットワーク環境１００においては、認証クライアント１０２のアイデンティティが、認証サーバ１０６に対して証明され（「認証され」）ている。これを行うために、認証クライアント１０２は、そのアイデンティティを認証クライアント１０２が主張しているエンティティに対してのみ恐らく周知である秘密情報を保有していることを認証サーバ１０６に対して証明した。この秘密情報を、認証クライアント１０２の「認証資格証明」と呼ぶ。
【００１８】
いくつかの環境１００においては、特に無線ネットワークにおいては、認証クライアント１０２は、ローカルアクセスサーバ１０４と直接に通信できる。アクセスサーバ１０４は、リモートにあっても良く、かついくつかの、恐らく数百のネットワーク１００に供することのできる、認証クライアント１０２と認証サーバ１０６との間の通信を通過させる。アクセスサーバ１０４が存在するかどうかについては、本発明についての説明に影響を及ぼさず、これ以上記述しないこととする。
【００１９】
認証が成功裡に完了すると、認証クライアント１０２および認証サーバ１０６は、それらの間で渡されるメッセージを暗号化し認証する際に使用できる１組のセキュリティキーを導出する。セキュリティキーは、一部、認証クライアント１０２の認証資格証明から導出される。暗号化および認証は、ネットワーク１００内を通過するすべてのメッセージが悪意ある盗聴者１０８による傍受を受けやすいために必要なものである。盗聴者１０８は、メッセージを保護するために使用されているセキュリティキーを見つけようとして、メッセージを傍受し、統計的方法をそれらに適用する。この攻撃の統計的な性質により、分析されるメッセージの数が増えるに従って、その精度が向上する。この統計的攻撃を阻止するために、認証クライアント１０２および認証サーバ１０６は、盗聴者１０８がこれらのセキュリティキーを見つけるための十分なメッセージを傍受できるようになる前に、素早くセキュリティキーを変更すべきである。
【００２０】
セキュリティキーを変更するために周知の方法が存在する。例えば、それぞれの認証中に、ランダム値やタイムスタンプなどの「生存性（ｌｉｖｅｎｅｓｓ）」情報が生成される。セキュリティキーの導出の際に認証資格証明とともに生存性情報を含むことにより、成功裡に行われた認証のそれぞれについて、異なるセキュリティキーの組が導出される。しかし、それぞれのセキュリティキーの組が、同じ認証資格証明からやはり導出される。これらの資格証明が弱められる場合、セキュリティキーはやはり攻撃に脆弱である。これを防ぐためには、認証資格証明から導出されたセキュリティキーを頻繁に変更するのと同じように、認証資格証明を周期的に変更するべきである。
【００２１】
認証クライアント１０２の認証資格証明を変更することは、最初に見えてくるように単純なものではない。認証資格証明は、認証クライアント１０２上で容易に変更できるが、有用であるためには、その変更を認証サーバ１０６と調整しなければならない。そうでない場合は、認証サーバ１０６はやはり、元の認証資格証明についての認証クライアント１０２の知識の証明を求めるであろう。（以下に説明するが、認証サーバ１０６は、これらの認証資格証明を実際に認識している必要はない。認証サーバ１０６は、これらの資格証明自体を認識することなく、認証資格証明についての認証クライアント１０２の知識を検証できる。）その変更を調整する１つの簡単な方法が、通信リンクを介して認証サーバ１０６に認証資格証明を送信することである。しかし、盗聴者１０８の存在の可能性がある場合には、この方法は余り安全ではない。変更を調整する他の周知の方法が、通常、「帯域外」通信（コンピュータ通信リンクを使用しない方法）を伴うものである。帯域外方法は、相当安全ではあるが、認証サーバ１０６が認証クライアント１０２から離れた場所にある場合には特にかなり厄介であり、認証資格証明を頻繁に変更することを妨げる。本発明は、認証クライアント１０２および認証サーバ１０６が新しい認証資格証明の実施を調整するための、安全だが厄介でない方法を提供する。
【００２２】
図１の認証クライアント１０２は、どのようなアーキテクチャのものでも良い。図２は、本発明をサポートするコンピュータシステムの例を一般的に示すブロック図である。図２のコンピュータシステムは、適切な環境の一例にすぎず、本発明の使用や機能の範囲を限定するものではない。認証クライアント１０２についてもまた、図２に例示した構成要素のうちのいずれか１つまたはそれらの組み合わせに対する従属性または要件を有すると解釈すべきではない。本発明は、他のさまざまな汎用または専用コンピューティング環境または構成とともに動作可能である。本発明とともに使用するために適切な周知の計算システム、環境、構成の例には、パーソナルコンピュータ、サーバ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルな家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上述したシステムやデバイスのいずれかを含む分散型コンピューティング環境が含まれるが、それらに限定されるものではない。その最も基本的な構成においては、認証クライアント１０２は、通常、少なくとも１つの処理ユニット２００およびメモリ２０２を備える。メモリ２０２は、（ＲＡＭなどの）揮発性、（ＲＯＭやフラッシュメモリなどの）不揮発性、あるいはこの２つのある組み合わせとすることができる。この最も基本的な構成が、図２に破線２０４で例示してある。認証クライアント１０２は、追加の特徴および機能を有することができる。例えば、認証クライアント１０２は、磁気および光学ディスクおよびテープを含むがそれらに限定されない追加の記憶装置（取り外し可能および取り外し不可能）を備えることができる。このような追加の記憶装置が、取り外し可能記憶装置２０６および取り外し不可能記憶装置２０８で図２に例示してある。コンピュータ記憶媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、他のデータなどの、情報を格納するためのどのような方法または技術によっても実施される、揮発性および不揮発性、取り外し可能および取り外し不可能の媒体が含まれる。メモリ２０２、取り外し可能記憶装置２０６、取り外し不可能記憶装置２０８は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、所望の情報を格納し、認証クライアント１０２からアクセスできる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク、他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、他の磁気記憶装置デバイス、他のどのような媒体も含むが、それらに限定されるものではない。このようなコンピュータ記憶装置媒体のいずれも、認証クライアント１０２の一部であり得る。認証クライアント１０２は、デバイスが他のデバイスと通信することを可能にする通信チャネル２１０を含むこともできる。通信チャネル２１０は、通信媒体の例である。通信媒体は、通常、搬送波や他のトランスポートメカニズムなどの変調データ信号内に、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを包含し、どのような情報配信媒体をも含む。用語「変調データ信号」とは、信号内の情報を符号化する方式で設定または変更されたその特性の組の１つまたは複数を有する信号である。例示として、通信媒体には、光学媒体、有線ネットワークや直接有線接続などの有線媒体、音響、ＲＦ、赤外線、他の無線媒体などの無線媒体が含まれるが、それらに限定されるものではない。用語「コンピュータ読取り可能媒体」は、本明細書で使用する場合、記憶媒体および通信媒体の両方を含む。認証クライアント１０２はまた、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス２１２も備えることができる。ディスプレイ、スピーカ、プリンタなどの出力デバイス２１４も備えることができる。これらのすべてのデバイスは、当技術分野で周知であり、ここで詳細に説明する必要はない。
【００２３】
図３ａから３ｃのデータフロー図は、本発明を行うための方法の一例を示す図である。ステップ３００から３０８が、ステージを設定する。ステップ３００および３０２で、認証クライアント１０２および認証サーバ１０６は、周知の認証技術を使用して互いに認証する。適切な認証技術の一例を考察されたい（例えば、非特許文献１参照）。ステップ３００および３０２では相互認証について記述しているが、ここでは主に、一方向の認証で使用される認証資格証明を更新することについて記述する。以下の例では主に、認証サーバ１０６に対して認証クライアント１０２を認証することについて記述する。本発明の方法が、認証クライアント１０２に対して認証サーバ１０６を認証することにも同様に適用可能であるために、その方向の認証について、さらに説明する必要はない。
【００２４】
ステップ３００で認証クライアント１０２によって使用される認証資格証明は、秘密パスワードを含む。そのパスワードの値は、恐らく認証クライアント１０２上には格納されないが、ユーザが認証サーバ１０６によって認証されることを望む場合に、ユーザ名とともに認証クライアント１０２のユーザによって入力される。セキュリティ上の理由から、認証サーバ１０６は、秘密パスワードの値を認識しない。しかし、秘密パスワードから導出された「パスワードベリファイヤ」の値を認識する。認証サーバ１０６は、ユーザ名に関連するパスワードベリファイヤを格納する。（パスワードベリファイヤは、認証クライアント１０２の識別子に関連してではなくユーザ名に関連して格納されるので、認証クライアント１０２が認証されると言うよりむしろ、ユーザ名が認証されると言う方がより適切であろう。例えば、ユーザが異なるクライアントに移動し、同じユーザ名およびパスワードを使用する場合は、その認証方法は前と同様に機能する。しかし、説明を簡単にするために、ここでは、そのまま認証サーバ１０６に対し認証クライアント１０２を認証することについて説明していくこととする。）
【００２５】
どのようにパスワードベリファイヤをパスワードから導出できるのかについての一例を、図３ｂのステップ３１６を参照しながら以下に説明する。ここでの説明では、導出が、「限定的（ｄｅｔｅｒｍｉｎａｔｉｖｅ）」でありかつ「不可逆的」であることを知っているだけで十分である。限定的とは、導出自体にランダム性がないことであり、つまりいったん導出への入力（パスワードを含むが他の値も含むことができる）が周知となると、出力（パスワードベリファイヤ）は完全に判断される。導出が不可逆的であるとは、導出の出力を認識することによって入力を判断できないということである。それよりも重要なことは、ある人がパスワードを除くパスワードベリファイヤおよび導出に対するすべての入力を認識していた場合でも、その人はやはりパスワードを判断できない。これらの特性から、認証プロセスの方法を使用すると、パスワード自体を認識している人のみが、認証クライアント１０２であることを成功裡に主張できるということが示唆される。認証プロセス中、認証サーバ１０６は、パスワードベリファイヤについての知識を使用して、パスワードについての認証クライアント１０２の知識をテストする。
【００２６】
パスワードからのパスワードベリファイヤの導出に対する他の入力が、認証クライアント１０２と認証サーバ１０６との間で共有される。パスワード自体についての知識を持たずにパスワードベリファイヤを再作成するためには、これらの他の値についての知識では不充分であるために、認証プロセスが開始する前にこれらの他の値が公開でき、公開標準認証プロトコル内にパラメータとして設定することさえもできる。
【００２７】
認証プロセスの１つの結果として、認証クライアント１０２はステップ３０４で、および認証サーバ１０６はステップ３０６で、並行して１組のセキュリティキーを導出する。認証クライアント１０２はセキュリティキーを秘密パスワードから導出し、認証サーバ１０６はそれらをパスワードベリファイヤから導出する。成功裡に行われた認証プロセスにより、２つのデバイス上で導出されたセキュリティキーが同じであることが確かめられる。認証プロセスによりこのことがどのように確かめられるか、およびセキュリティキーがどのように導出されるかの両方についての一例を参照されたい（例えば、非特許文献２参照）。
【００２８】
セキュリティキーの導出には、認証クライアント１０２と認証サーバ１０６との間で共有される生存性情報も必要である。導出で共有される生存性情報を使用することにより、認証クライアント１０２が認証サーバ１０６に対して自身を認証する度に、セキュリティキーが異なるものとなる。そうでない場合は、認証クライアント１０２は、毎回の認証後も、同じセキュリティキーを使用することとなる。このことを認識したうえで、盗聴者１０８は、毎回認証クライアント１０２が認証されると、その統計的攻撃を再開して、新しく傍受したメッセージを、認証クライアント１０２の以前のセッション中に傍受したメッセージの分析に追加できる。
【００２９】
１組のセキュリティキーは、通常、暗号化キー（共有されているかまたは１対の片方向キーのいずれかであり得る）および認証キーの両方を含む。いったんキーが認証クライアント１０２によっておよび認証サーバ１０６によって導出されると、これらの２つのデバイスは、ステップ３０８でそれらの通信を保護するためにキーを使用できる。セキュリティキーの使用の例を、図３ｂのステップ３１２および３１８を参照しながら以下に説明する。もちろん、認証クライアント１０２および認証サーバ１０６が、ステップ３０８でセキュリティキーを使用して通信を開始するので、盗聴者１０８もまた、セキュリティキーを見つけようとして、通信の傍受を開始し、それらに統計的攻撃を行うことになる（図示せず）。
【００３０】
ステップ３１０で、認証サーバ１０６は、新しい秘密パスワードを実施することを決定する。この決定の理由には、通常、現在のパスワードが使用された時間量、現在のパスワードで送信された情報量、ネットワーク１００の固有セキュリティが含まれる。無線ネットワークでは、通常、盗聴に対してオープンであるために、これらのネットワーク上で使用されるパスワードを周期的に変更すべきである。いずれに場合においても、認証クライアント１０２のパスワードを変更すべきであると判断すると、認証サーバ１０６は、ステップ３１２でその旨の要求（ｒｅｑｕｅｓｔ）を送信する。認証クライアント１０２がパスワードを変更することによって応答しない場合は、認証クライアント１０６は恐らく現在のパスワードを使用禁止にし、認証クライアント１０２を認証することから防ぐというこの状況下においては、「要求」という語は、恐らく婉曲表現であろうことに留意されたい。
【００３１】
ステップ３００および３０２の認証プロセスを参照しながら上記に説明したように、新しいパスワードベリファイヤを導出するプロセスは、新しいパスワード自体に加えて、他の入力をとることができる。認証サーバ１０６は、変更パスワード要求とともにこれらの他の入力のための新しい値を送信することを選択できる。新しいパスワードベリファイヤが、新しいパスワードからおよび前回パスワードが変更された時に使用された他の入力の同じ値から導出できるので、このことは必ずしも必要なものではない。しかし、これらの入力の少なくともいくつかを変更することによって、セキュリティが向上する。ステップ３１２に列挙してある入力の具体例（プライムモジュラス、ジェネレータ、ソルト）を、ステップ３１６を参照しながら以下に説明する。セキュリティを追加するために、ステップ３０６で導出されたセキュリティキーを使用して、これらの値を暗号化できる。変更パスワード要求がこれらの他の入力のいずれかを含む場合は、新しい入力をカバーする（扱う）ＭＡＣ（メッセージ認証コード）も送信できる。ＭＡＣは、入力の不可逆的ハッシュであり、変更パスワード要求の内容が認証サーバ１０６によって変更なく受信されたかどうかをチェックするために、認証クライアント１０２によって使用できる。例えば、非特許文献３には、ＭＡＣを生成するための方法の一例がある。
【００３２】
認証クライアント１０２は、新しい入力値を伴う変更パスワード要求があればこれを受信する。新しい入力値がある場合には、ＭＡＣは検証される。検証結果が不合格であると、変更パスワード要求は無視される。そうでない場合は、それらを暗号化するために使用されるものと同じセキュリティキーを使用して、新しい値が解読され、それらの値は、後に使用するために格納される。ステップ３１４で、認証クライアント３１４は、そのユーザに新しいパスワードの入力を促す。例えば、ステップ３１４は、ユーザが認証には元のパスワードを入力し、次いで確認のために新しいパスワードを２回入力しなければならないという周知のプロセスの形をとることができる。いくつかの実施形態では、新しいパスワードは、さまざまな基準に照らしてチェックされた後に、受理されることとなる。これらの基準は、良く知られている「少なくとも８文字の長さでなければならない」、「英字および数字の両方を含んでいなければならない」、「標準的な辞書で見つけられるものであってはならない」、「最近使用したパスワードの並べ替えであってはならない」、「配偶者またはペットの名前であってはならない」などを含むことができる。
【００３３】
ユーザが認証クライアント１０２の課すことのできるどのようなテストにも合格する新しいパスワードを作成すると、認証クライアント１０２は、ステップ３１６で、新しいパスワードベリファイヤを新しいパスワードから導出する。上述したように、導出は、限定的でありかつ不可逆的であるべきである。ＩＥＴＦ　ＲＦＣ２９４５では、両方の要件を満たす以下に示した導出の方法を提示している。
【００３４】
Ｐａｓｓｗｏｒｄ　Ｖｅｒｉｆｉｅｒ　＝Ｇ＾ＳＨＡ（ｓａｌｔ｜ＳＨＡ（ｕｓｅｒｎａｍｅ｜”：”｜ｐａｓｓｗｏｒｄ））％Ｐ
上式で、
ＳＨＡ（Ｓｅｃｕｒｅ　Ｈａｓｈ　Ａｌｇｏｒｉｔｈｍ）は、当業界で周知のハッシュ関数である。
ソルト（ｓａｌｔ）は、認証サーバ１０６と共有されるランダム値である。
｜は、文字列連結演算子（ｓｔｒｉｎｇ　ｃｏｎｃａｔｅｎａｔｉｏｎ　ｏｐｅｒａｔｏｒ）である。
ユーザ名およびパスワードは、認証クライアント１０２のユーザによって入力される。
“：”は、コロン文字から構成される文字列である。
＾は、べき乗演算子である。
％は、法（ｍｏｄｕｌｏ）（整数剰余）演算子である。
Ｐは、「プライムモジュラス（ｐｒｉｍｅ　ｍｏｄｕｌｕｓ）」、つまり認証サーバ１０６と共有される、（セキュリティ上の理由から、少なくとも５１２ビットの）大きい素数（ｐｒｉｍｅ　ｎｕｍｂｅｒ）である。
Ｇは、認証サーバ１０６と共有されるＰのジェネレータ、つまりＰ未満の任意の自然数Ａに対して、Ｇ＾Ｂ％Ｐ＝Ａなどの別の数Ｂが存在する。
【００３５】
認証サーバ１０６が、ステップ３１２で、プライムモジュラス、ジェネレータ、またはソルトのための新しい値を送信すると、これらの新しい値がパスワードベリファイヤの導出で使用される。
【００３６】
認証クライアント１０２は、新しいパスワードベリファイヤを獲得し、ステップ３０６で導出されたセキュリティキーでそれを暗号化し、ＭＡＣを用いてそれをカバーし、それをステップ３１８で認証サーバ１０６に送信する。パスワードベリファイヤが成功裡に送信された後、認証クライアント１０２上のその存在は、それ以上の目的を持たなくなるので破棄できることとなる。認証サーバ１０６は、ＭＡＣを検証し、それを暗号化するために使用された同じセキュリティキーで新しいパスワードベリファイヤを解読し、ユーザ名および変更された導出プロセスへの他の入力に関連する新しいパスワードベリファイヤを格納する。いくつかの実施形態では、プライムモジュラスおよびジェネレータは、たとえ変更されることがあったとしてもまれであるが、新しいソルトは、毎回パスワードが変更される毎に作成される。
【００３７】
一定時間の後、認証サーバ１０６が変更パスワード要求に対する応答を受信しない場合は、再び要求を送信することがある。上述したように、パスワードを変更する試みに繰り返して失敗した後に、認証サーバ１０６は、現在のパスワードを使用禁止にする決定を行うことができる。
【００３８】
認証資格証明の変更を調整するプロセスが完了した。セキュリティ上の理由から、認証クライアント１０２は、ステップ３２０で認証サーバ１０６に対して自身を再認証することにより、ただちに新しい資格証明を使用することが推奨される。再認証が成功した場合は、ステップ３０４および３０６と並行して、ステップ３２４および３２６で、認証クライアント１０２および認証サーバ１０６は、それぞれ、新しい認証資格証明に基づく新しいセキュリティキーの組を導出する。ステップ３２８で、新しいセキュリティキーが、通信を保護するために使用される。新しいパスワードおよび新しいパスワードベリファイヤは、再びパスワードを変更することを決定することにより認証サーバ１０６がステップ３１０に戻るまで、認証資格証明としてそのまま使用される。
【００３９】
本発明の方法により、認証クライアント１０２と認証サーバ１０６との間の通信に割り込まずに、認証資格証明が変更できるようになることに留意されたい。これらの２つのデバイスは、新しいキーの組が新しい認証資格証明に基づいて導出されるまで、元のセキュリティキーを使用し続ける。
【００４０】
認証クライアント１０２と認証サーバ１０６との間で使用される通信プロトコルは、ステップ３１２および３１８で情報を送信するために使用される実際のフォーマットを判断できる。図４は、２つのデータ構造の例、変更パスワード要求メッセージのためのアイテム４００および変更パスワード応答メッセージのためのアイテム４０２を示す。図４は、使用される通信プロトコルがヘッダおよびトレーラをこれらのデータフィールドに追加できるというメッセージの例のデータフィールドのみを示す。これらの２つのメッセージは、例えば、２つの新しいＥＡＰ−ＳＲＰ（Ｅｘｔｅｎｓｉｂｌｅ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ−Ｓｅｃｕｒｅ　Ｒｅｍｏｔｅ　Ｐａｓｓｗｏｒｄ）メッセージとして包含できる。ＥＡＰ−ＳＲＰはまた、これらのデータフィールドを運ぶために使用できるベンダ特有のメッセージも定義する。他の通信プロトコルも同様の機構を提供する。
【００４１】
本発明の原理を適用できる多くの可能な実施形態について、図面に関して本明細書に記述した実施形態は単に例示のためであって、本発明の範囲を限定するものと解釈すべきでないことを理解されたい。データフィールドサイズやメッセージフォーマットなどの、いくつかの実施の詳細事項は、特定の状況のために選ばれたプロトコルによって決まり、公開されている標準で見つけることができることは、当業者なら理解されるであろう。ソフトウェアモジュールまたは構成要素、いくつかのプロセス、特に暗号化の方法に関して、本発明を記述してきたが、本発明は、ハードウェア構成要素によっても同様に実施できる。したがって、本明細書に記述した本発明は、頭記の特許請求の範囲およびそれの均等物の範囲内に含まれる実施形態のすべてを想定する。
【図面の簡単な説明】
【図１】認証クライアント、認証サーバ、盗聴者を有する通信環境の例を示すブロック図である。
【図２】本発明をサポートする計算システムの例を一般的に示す概略図である。
【図３ａ】本発明の一実施形態に従って、認証クライアントおよび認証サーバが互いに相互に認証し、次いで新しい通信パスワードを実施した場合に、渡される情報および実行されるオペレーションを一般的に示すデータフロー図である。
【図３ｂ】本発明の一実施形態に従って、認証クライアントおよび認証サーバが互いに相互に認証し、次いで新しい通信パスワードを実施した場合に、渡される情報および実行されるオペレーションを一般的に示すデータフロー図である。
【図３ｃ】本発明の一実施形態に従って、認証クライアントおよび認証サーバが互いに相互に認証し、次いで新しい通信パスワードを実施した場合に、渡される情報および実行されるオペレーションを一般的に示すデータフロー図である。
【図４】新しい通信パスワードを実施するプロセス中に使用される可能なメッセージを示すデータ構造図である。
【符号の説明】
１００　ネットワーク環境
１０２　認証クライアント
１０４　ローカルアクセスサーバ
１０６　認証サーバ
１０８　盗聴者
２００　処理ユニット
２０２　メモリ
２０４　破線
２０６　取り外し可能記憶装置
２０８　取り外し不可能記憶装置
２１０　通信チャネル
２１２　入力デバイス
２１４　出力デバイス
【図１】
2004030611.tif 000003
【図２】
2004030611.tif 000004
【図３ａ】
2004030611.tif 000005
【図３ｂ】
2004030611.tif 000006
【図３ｃ】
2004030611.tif 000007
【図４】
2004030611.tif 000008