nonce、ランダムに生成されたトークン
nonce (ランダム・ストリング) は、ランダムに生成された暗号トークンで、 SOAP メッセージで使用されるユーザー名トークンの窃盗を防止するために使用されます。 nonce は、基本認証 (BasicAuth) メソッドで使用します。
nonce を使用しない場合に、非セキュア・トランスポート (HTTP など) を使用して UsernameToken がマシン間で受け渡されると、トークンがインターセプトされて、リプレイ・アタックで使用されることがあります。 クライアントとサーバーの間でユーザー名トークンが伝送されると、 同じ鍵が再使用される場合があります。 そのため、アタックされる危険にさらされたままになります。 ユーザー名トークンは、XML デジタル署名と XML 暗号化を使用しても 盗まれる可能性があります。
これらのリプレイ・アタックを排除するために、<wsse: usernameToken> エレメント内に <wsse:Nonce> および <wsu:Created> エレメントが生成され、メッセージの妥当性検査に使用されます。 要求受信側または応答受信側は、 メッセージの存続期間を検査して、 メッセージの作成時刻と現在時刻との差が指定された時間範囲内であることを確認します。 また、WebSphere® Application Server は、 指定された時間範囲内に受信側がトークンを処理していないことを確認します。これら 2 つのフィーチャーは、 ユーザー名トークンがリプレイ・アタックに使用される可能性を少なくするために使用されます。