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


11

この FAQエントリ(およびRFC自体)には、事前認証が、Kerberosの初期実装の脆弱性に対処しており、オフライン辞書攻撃に対して脆弱であることを示しています。

FAQの状態:

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

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


私はパーティーに少し遅れています:)。この質問では、攻撃者が元のタイムスタンプを持っていると仮定するのは正しくないと思います。これは「既知の平文」攻撃ではなく「既知の暗号文」攻撃です。攻撃者はアルゴリズムも知っているので、攻撃者が平文と暗号文の両方を持っていると想定することはできません。または多分私はここに何かを見逃しています
...-アシュカン

前回のコメントの完了時に、問題を再考した後、攻撃を「既知のプレーンテキスト」攻撃(攻撃者が正確なタイムスタンプを知っていることを意味する)であると想定する場合、あなたは正しい、という事前の認証ステップ安全でないパスワードを試してキーを見つけることができるため、追加のセキュリティを提供しません。だから、これはどのタイプの攻撃になるのだろうか?
アシュカン

回答:


16

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

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

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

この問題の軽減策には、長いパスワードと適切なパスワードローテーションポリシーを使用してオフラインで総当たり攻撃を実行できないようにするか、PKINIT(http://www.ietf.org/rfc/rfc4556.txt)を使用することが含まれます。


+1アクティブな攻撃者とパッシブな攻撃者の違いを指摘してくれてありがとう。
ハーベイクォック

注、ここでは2014年にこの詳細が表示されますと記事全文:social.technet.microsoft.com/wiki/contents/articles/...
マーティン・セラーノ

5

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.