クライアントでナンスを生成して共有シークレットで署名するのはセキュリティの問題ですか?クライアントはnonceの安全性が低いですか?
つまり
サーバAとBが通信します。 両方とも、共有された秘密 "$ ECRET"を知っています
サーバAは、ナンスとしてUUIDを生成し、その秘密を使用して残りのペイロードと一緒に署名します。
次に、要求をサーバーBに送信します。サーバーBは、共有キーを使用して要求の有効性を確認します。 BはノンスをDBに保存し、既存のノンスと比較してリプレイ攻撃を防ぎます。
これは、サーバーBが事前に個別に要求することによって提供されるノンスと比べて安全ではないと言われました。
しかし、秘密が強いと仮定すれば、これがはるかに安全な方法はわかりません。