"La funzione MAC deve resistere alla falsificazione esistenziale con attacchi di testo in chiaro scelti", cosa significa?

5

Durante la lettura di MAC (Codice di autenticazione del messaggio) ho affrontato questa frase:

MAC function must resist existential forgery under chosen-plaintext attacks

ma mi sono confuso. Che cosa significa resist existential e cosa significa chosen-plaintext attacks ? Sono nuovo in questo campo e ho bisogno del tuo aiuto, quindi qualcuno potrebbe spiegare e semplificare questi due termini?

Sarebbe gradita la spiegazione con esempi.

    
posta user3260672 11.08.2015 - 22:43
fonte

1 risposta

6

Una falsificazione esistenziale di un testo in chiaro scelto sta avendo l'abilità di un utente malintenzionato di ottenere un MAC valido per un testo in chiaro del tuo abbinamento, senza conoscere la chiave richiesta per generare un MAC corretto.

Un vettore comune per questo è un attacco di temporizzazione, e funzionerebbe così:

  1. L'attaccante invia un messaggio e un HMAC (in realtà solo una sequenza di byte della stessa lunghezza dell'HMAC) e le volte la risposta dal sistema di decrittografia.

  2. L'utente malintenzionato invia quindi lo stesso messaggio ripetutamente e lo stesso pseudo-HMAC, con l'eccezione che ora esegue iterazioni anche se ogni (256) valore possibile per il primo byte dell'HMAC.

  3. Se il sistema di decrittografia restituisce immediatamente un errore nel trovare una mancata corrispondenza tra i byte, una di queste iterazioni (quella con lo stesso valore del primo byte calcolato dal sistema di decrittografia) dovrebbe richiedere un tempo leggermente più lungo per essere restituita. Se l'utente malintenzionato può rilevare tale differenza, ora conosce il primo byte corretto per l'HMAC corretto per il messaggio, data la chiave HMAC del sistema di decrittografia.

  4. L'attaccante invia lo stesso messaggio e HMAC, questa volta con il primo byte corretto noto, iterando sul secondo byte, fino a quando non trova di nuovo il byte che fa sì che il sistema di decrittografia impieghi un po 'più tempo a rispondere con un errore. L'hacker ora conosce il secondo byte dell'HMAC corretto.

  5. Risciacquare e ripetere per ogni byte successivo nell'HMAC, fino a quando non è stato derivato un HMAC valido per il messaggio scelto dall'aggressore, sans key.

Questo è il motivo per cui il confronto HMAC deve essere costante, confrontando tutti i byte dell'HMAC inviato all'HMAC calcolato prima di restituire una risposta. In questo modo, indipendentemente dalla posizione di eventuali byte errati, il tempo di errore sarà sempre uguale. L'utente malintenzionato non ha più modo di dire cosa o dove sono i byte errati.

E la maggior parte di questa risposta viene copiata direttamente dalla mia risposta a: Attacco di tempo contro HMAC nella crittografia autenticata? quindi i riferimenti a HMAC in particolare.

    
risposta data 11.08.2015 - 23:17
fonte

Leggi altre domande sui tag