web-dev-qa-db-ja.com

Kerberosの事前認証はどのようにセキュリティを向上させますか?

This FAQ entry(and [〜#〜] rfc [〜#〜] 自体)は、事前認証が弱点に対処していることを示していますKerberosの初期実装では、オフライン辞書攻撃に対して脆弱になりました。

FAQ状態:

事前認証の最も単純な形式は、PA-ENC-TIMESTAMPとして知られています。これは、単にユーザーのキーで暗号化された現在のタイムスタンプです。

攻撃者がこの事前認証データを含むパケットを盗聴することに成功した場合、これも辞書攻撃に対して脆弱ではありませんか?私は暗号文を持っています、私は元のタイムスタンプを知っています-このシナリオはどのように異なりますか?

11
Sedate Alien

事前認証を強制しない場合、攻撃者は認証のためにダミーの要求を直接送信できます。 KDCは暗号化されたTGTを返し、攻撃者はそれをブルートフォースオフラインにすることができます。 TGTの単一の要求を除いて、KDCログには何も表示されません。

タイムスタンプの事前認証を実施すると、攻撃者はKDCに暗号化された素材を直接要求してブルートフォースオフラインにすることはできません。攻撃者は、タイムスタンプをパスワードで暗号化し、KDCに提供する必要があります。はい、彼はこれを何度も行うことができますが、事前認証に失敗するたびにKDCログエントリが表示されます。

したがって、タイムスタンプの事前認証は、アクティブな攻撃者を防ぎます。受動的な攻撃者がクライアントの暗号化されたタイムスタンプメッセージをKDCに盗聴するのを防ぐことはできません。攻撃者がその完全なパケットをスニッフィングできる場合、ブルートフォースでオフラインにすることができます。

この問題の緩和策には、長いパスワードと適切なパスワードローテーションポリシーを使用してオフラインブルートフォーシングを実行不可能にすること、またはPKINITを使用することが含まれます( http://www.ietf.org/rfc/rfc4556.txt

16
anonymous

これにいくらか関連するIEEEXploreに関する論文( RC4-HMAC暗号化タイプ分析によるKerberosパスワードの抽出 )を見つけました。それらは、事前認証パケットがキャプチャされた場合、それは同じであることを暗示しているようです。

攻撃者が事前認証パケットをキャプチャでき、有効なユーザーのIDを取得したい場合、攻撃者はKDCが実行する手順を実行する必要があります。攻撃者は、合意された暗号化タイプで復号化手順を使用し、キャプチャされたデータに対して異なるパスワードを実行する必要があります。成功した場合、攻撃者はユーザーのパスワードを持っています。

5
Sedate Alien