web-dev-qa-db-ja.com

Kerberosはリプレイ攻撃からどのように保護しますか?

私はKerberosについて読んでいて、交換されるメッセージと、一部のメッセージを保護するために対称暗号化を使用することを理解しています。しかし、それはリプレイ攻撃からどのように保護しますか?たとえば、私が知っている限り、クライアントからKDCへの最初のメッセージは暗号化されません。暗号化されていても、後で再生することができます。さらに、Kerberosのクロックには最大で5分の差がある可能性があることを読みました。同様に、サーバーも同様の攻撃を防ぐために、受信したチケットの一部をキャッシュに保持していると思いますよね?

4
typos

Kerberosは、クライアントとサーバー間で行われるプロトコル交換中に「オーセンティケーター」を使用します。チケットの有効期間や最も重要なクライアントのタイムスタンプなどの追加の認証データを保持します。

サーバー側のKerberosが認証メッセージを検証するとき、認証側のタイムスタンプをチェックします。タイムスタンプが5分以内に受信した以前のオーセンティケータと同じかそれよりも古い場合、パケットはリプレイアタックとして扱われ、ユーザー認証が失敗するため、パケットは拒否されます。

サーバー側のKerberosはさらに、オーセンティケーターのタイムスタンプをサーバーの時刻と比較します。オーセンティケーターのタイムスタンプがサーバーの時刻から5分以内でない場合、パケットも拒否されます。

5分は、クライアントとサーバー間で許容できる最大の差ですが、この値はウィンドウでグループポリシーを使用して変更できます。

簡単に言えば、重要な部分は「オーセンティケーター」の時間検証です。

5
Lester T.