nonce なしでは、ユーザー名トークンが HTTP などの非セキュア・トランスポートを使用して、あるマシンから別のマシンに渡されると、トークンは傍受され、リプレイ・アタックで使用されることがあります。 ユーザー名トークンがクライアントとサーバー間を伝送されると、同じパスワードが再使用されることがあり、アタックに対してぜい弱になります。 ユーザー名トークンは、XML デジタル・シグニチャーや XML 暗号化を使用していても盗まれる可能性があります。
これらのリプレイ・アタックを排除するために、<wsse:Nonce> および<wsu:Created> 要素が <wsse:UsernameToken> 要素内で生成され、メッセージを検証するために使用されます。 サーバーは、<wsu:Created> 要素によって指定される nonce 作成時刻と現在時刻との差が指定された時間範囲内であることを確認することによって、メッセージの存続期間を確認します また、サーバーは、使用された nonce のキャッシュを確認し、 受信した Simple Object Access Protocol (SOAP) メッセージのユーザー名トークンが指定された時間内に処理されなかったことを検証します。 これらの 2 つの機能が使用され、ユーザー名トークンがリプレイ・アタックに使用される可能性を低減します。
ユーザー名トークンに nonce を追加するには、ユーザー名トークンのトークン生成プログラムで指定することができます。 ユーザー名トークンに nonce を組み込みたい場合、ユーザー名トークンのトークン生成プログラムが指定されると、 「nonce の追加」オプションを選択することができます。