Rompere un protocollo di autenticazione basato su una chiave simmetrica pre-condivisa


13

Considera il seguente protocollo, inteso per autenticare (Alice) in B (Bob) e viceversa.AB

AB:“I'm Alice”,RABA:E(RA,K)AB:E(RA+1,PA,K)
  • è un nonce casuale.R
  • è una chiave simmetrica pre-condivisa.K
  • è un certo carico utile.P
  • mezzi m cifrati con K .E(m,K)mK
  • mezzi m 1 assemblato con m 2 in un modo che può essere decodificato senza ambiguità.m1,m2m1m2
  • Partiamo dal presupposto che gli algoritmi crittografici sono sicuri e implementati correttamente.

Un attaccante (Trudy) vuole convincere Bob ad accettare il suo payload come proveniente da Alice (al posto di P A ). Trudy può così impersonare Alice? Come?PTPA

Questo è leggermente modificato dall'esercizio 9.6 in Sicurezza delle informazioni: principi e pratica di Mark Stamp . Nella versione del libro, non c'è , l'ultimo messaggio è solo E ( R A + 1 , K ) e il requisito è per Trudy di "convincere Bob di essere Alice". Mark Stamp ci chiede di trovare due attacchi, e le due ho trovato permettono Trudy forgiare E ( R + 1 , K ), ma non E ( R , P T, K )PAE(RA+1,K)E(R+1,K)E(R,PT,K).


Vedi la discussione sulla crittografia / tag di sicurezza in meta
Ran G.

Risposte:


5

Questo protocollo sembra essere insicuro a causa del fatto che Bob invia E(RUN,K). Questo può essere utilizzato da Trudy per "generare" crittografie diE(RUN+1,PT,K) che verrà successivamente utilizzato per completare il protocollo di autenticazione.

In particolare, considera il seguente attacco:

Trudy sceglie casualmente R1 ed esegue il protocollo con Bob nel modo seguente:

TB:"Sono Alice",R1+1,PTBT:E(R1+1,PT,K)
e poi Trudy taglia il protocollo nel mezzo (dal momento che non sa come rispondere). Partiamo dal presupposto che sia Trudy che Bob abbiano abortito.

Ora Trudy avvia un'altra istanza del protocollo:

TB:"Sono Alice",R1BT:E(R1,K)TB:E(R1+1,PT,K)
Come ha fatto Trudy a completare il protocollo questa volta senza saperlo K? è facile! Bob ha effettivamente eseguito la crittografia per lei in prima istanza.

Lezione appresa: in un protocollo crittografico, è bene che ogni messaggio o frammento separabile contenga un tag univoco che ne impedisce il riutilizzo come qualche altro messaggio nel protocollo. Se la risposta di Bob fosseE(1,RUN) e il terzo messaggio era E(2,RUN+1,P), questo attacco non funzionerebbe.

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.