In che modo la preautenticazione di Kerberos aumenta la sicurezza?


11

Questa voce FAQ (e la stessa RFC ) afferma che la pre-autenticazione risolve un punto debole delle implementazioni iniziali di Kerberos che lo rendeva vulnerabile agli attacchi del dizionario offline.

Lo stato FAQ:

La forma più semplice di preautenticazione è nota come PA-ENC-TIMESTAMP. Questo è semplicemente il timestamp corrente crittografato con la chiave dell'utente.

Se un utente malintenzionato riesce ad annusare un pacchetto contenente questi dati di preautenticazione, non è anche vulnerabile a un attacco del dizionario? Ho il testo cifrato, conosco il timestamp originale - in che modo questo scenario è diverso?


Sono un po 'in ritardo per la festa :). Penso che supporre che l'attaccante abbia il timestamp originale non è vero in questa domanda. Questo è un attacco "noto testo cifrato" non un attacco "noto testo in chiaro", altrimenti sarebbe divertente. Non possiamo supporre che l'attaccante abbia sia testo in chiaro che testo cifrato, perché conosce anche l'algoritmo, quindi qual è la sfida qui ?? O forse mi manca qualcosa qui ...
Ashkan,

A completamento del mio commento precedente, dopo aver riconsiderato la questione, mi è venuta l'idea che se assumiamo l'attacco come attacco "in chiaro" (ovvero l'attaccante conosce il timestamp esatto) allora hai ragione, il passaggio di pre-autenticazione fa non fornisce ulteriore sicurezza perché può provare possibili password scelte in modo non sicuro e trovare la chiave, altrimenti lo fa. Quindi mi chiedo che tipo di attacco sarebbe?
Ashkan,

Risposte:


16

Quando non si applica la pre-autenticazione, l'utente malintenzionato può inviare direttamente una richiesta fittizia per l'autenticazione. Il KDC restituirà un TGT crittografato e l'aggressore può forzarlo brutalmente offline. Non vedrai nulla nei registri KDC tranne una singola richiesta per un TGT.

Quando imponi la pre-autenticazione data / ora, l'attaccante non può chiedere direttamente ai KDC il materiale crittografato per forzare la forza offline. L'attaccante deve crittografare un timestamp con una password e offrirlo al KDC. Sì, può farlo più e più volte, ma vedrai una voce di registro KDC ogni volta che fallisce preauth.

Pertanto, la pre-autenticazione data / ora impedisce a un utente malintenzionato attivo. Non impedisce a un utente malintenzionato passivo di sniffare il messaggio di data / ora crittografato del client sul KDC. Se l'attaccante può annusare quel pacchetto completo, può forzarlo bruscamente offline.

Le mitigazioni a questo problema includono l'uso di password lunghe e una buona politica di rotazione delle password per rendere impossibile la forza bruta offline o l'utilizzo di PKINIT ( http://www.ietf.org/rfc/rfc4556.txt )


+1 Grazie per aver sottolineato la differenza tra attaccante attivo e attaccante passivo.
Harvey Kwok,

Nota, un articolo completo con questo dettaglio appare nel 2014 qui: social.technet.microsoft.com/wiki/contents/articles/…
Martin Serrano,

5

Ho trovato un documento ( Estrarre le password Kerberos attraverso l'analisi del tipo di crittografia RC4-HMAC ) su IEEE Xplore che è in qualche modo rilevante per questo. Sembrano implicare che se un pacchetto di pre-autenticazione viene acquisito, non è diverso.

Se un utente malintenzionato è in grado di acquisire i pacchetti di preautenticazione e desidera acquisire l'identità di un utente valido, l'utente malintenzionato dovrà eseguire le procedure eseguite dal KDC. L'utente malintenzionato dovrà utilizzare la procedura di decrittografia nel tipo di crittografia concordato e provare a eseguire password diverse rispetto ai dati acquisiti. Se ha esito positivo, l'attaccante ha la password dell'utente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.