Kerberosの最後のステップで、クライアントはターゲットサーバーにチケットと authenticator を送信します。オーセンティケーターの部分の1つはタイムスタンプです。サーバーはメッセージが新しいこと、およびメッセージが(キャッシュを使用して)1回だけ送信されたことを確認できるため、タイムスタンプはリプレイ攻撃を防止すると言われています。これはすべて明らかです。私が得られないのは、そもそもリプレイ攻撃の目的です。もちろん、タイムスタンプがなければ、攻撃者は正当な認証メッセージを再送信できます。しかし セッションキー がないと、とにかくサーバーとさらに通信する方法はありません。
そのため、リプレイ攻撃が可能であり、攻撃者がサーバーをだまして、正当なユーザーであると考えることができます。攻撃者がセッションキーを保持していない場合、作成されたセッション内でどのように操作できますか?
このようなリプレイ攻撃の例を示す this PDF を読むことをお勧めします。実際には、中間者攻撃であるため、リプレイ攻撃ではありません。とはいえ、タイムスタンプとキャッシュを用意する理由の1つは、攻撃者がそのようなリプレイ攻撃を実行するのをより困難にすることです。代わりに、実際にはより難しいMITMを実行する必要があります。オーセンティケーターを使用できるようにするには、要求を積極的にブロックする必要があります。
セッションキー、私が理解している限り、そして私が間違っている可能性がある限り、リソースにアクセスできるトークンを取得したら、実際には必要ありません。繰り返しますが、私はそれについてもっと詳しく読むのがよくわかりません。
あなたの質問がどこから来ているのか理解できたと思います。今日も同じ質問がありました。
おそらく、クライアントとサーバー間で共有されるセッションキーを使用して、パーティ間のさらなる通信のための機密性と整合性を提供することを検討していました。そして、この点でリプレイ攻撃は実際に役に立たない:セッションキーがなければ、攻撃者も妥協することはできない。
しかし、チケット(およびオーセンティケーター)を含むメッセージを再生してサーバーを攻撃者に認証させることでプレーンテキストの通信チャネルが開かれるユースケースを想像してみてください。これは、リプレイ攻撃を防ぐ必要がある場合です。
リプレイ攻撃には別の問題もあります。これらは、サービス拒否攻撃を仕掛けるためのメカニズムとして使用でき、基本的にサーバーにチケットとオーセンティケーターを何度も復号化するよう強制します。公開鍵暗号を処理する場合は重要ですが、対称暗号化はCPUの拒否を引き起こすほど高価ではないため、この場合は重要ではないと思います。