SASL 認証では、特定のクライアントとサーバー間のメッセージは接続するたびに同じになりますか?

SASL 認証では、特定のクライアントとサーバー間のメッセージは接続するたびに同じになりますか?

Cyrus SASL ライブラリを使用してテスト クライアントとサーバーを作成し、手動でメカニズムとして GSSAPI を選択するように強制しています。デバッグ中に、両者間で渡される各メッセージの md5sum を出力しました。接続するたびにシーケンスが同じであるように見えることに気付きました。つまり、最初のネゴシエーションでのメッセージ シーケンスが clientMessage1、serverResponse1、clientMessage2 などであり、認証が成功した場合、クライアントを再起動すると、同じ clientMessage1、serverResponse2、clientMessage2 などのシーケンスが繰り返されます。

セキュリティ上の懸念があるように思えます。これは正しい動作でしょうか。もし正しい場合、これらの通信を TLS などでラップする必要がありますか?

答え1

GSSAPI は、任意の数の基盤プロトコルを使用できます。ただし、おっしゃるとおり、同じメッセージを繰り返すとリプレイ攻撃が発生する可能性があります。

GSSAPI で使用された低レベルプロトコルが何であるかご存知ですか?

関連情報