Corso di Internet e Sicurezza dei Sistemi

Re: [ISS] Possibile attacco


Cronologico Percorso di conversazione 
  • From: Giuseppe Bianchi < >
  • To: , "samys1" < >, "iss" < >
  • Subject: Re: [ISS] Possibile attacco
  • Date: Mon, 15 Dec 2008 09:48:34 +0100

Con questa email sollevi un problema fondamentale, ovvero l'avere a disposizione generatori di numeri random adeguati (oltre che generare numeri random di dimensione adeguata al fine di rendere praticamente impossibile avere "collisioni" - ad esempio il problema che tu racconti nella email).

Ne riparleremo a lezione.

Nel frattempo pero' un esempio. Se usassimo challenge di 16 bytes (128) bit, la probailita' che due challenge estratti a caso (= VERAMENTE A CASO, ovvero da generatori casuali perfetti) siano uguali e' di

1/2^128 = 1/340282366920938463463374607431768211456

La probabilita' di fare 6 al superenalotto, sicuramente un esempio che capite molto bene ;-), e'

1/ coefficientebinomiale(90,6) = 1/622614630

Ovvero, la probabilita' di avere due challenge UGUALI e' la STESSA probabilita' di VINCERE CONSECUTIVAMENTE a TUTTE LE 3 (?) ESTRAZIONI SETTIMANALI PER OGNI SETTIMANA DELL'ANNO del superenalotto per piu' di 10^27 anni, ovvero un miliardo di miliardi di volte la vita residua del nostro Sole.

Questo per capire che e' vero che i protocolli basati su numeri random hanno delle eccezioni, ma che la probabilita' che cio' accada e' praticamente zero.

At 10.02 14/12/2008, samys1 wrote:
Buongiorno Professore,
l’ultima volta avevamo visto quel protocollo che concatenava con ordine diverso le challenge nella funzione hash.

Un possibile attacco potrebbe essere il seguente:

l’attaccante (A) invia un primo messaggio a Flavia (F) fingendo di essere il Boss (B)
B, C1
Flavia risponde:
F, C2, H(segreto, C1, C2)
L’attaccante manda un messaggio al boss del tipo:
F, C1
Il Boss risponde:
B, C2, H(segreto, C2, C1)
A questo punto l’attaccante ha la risposta alla challenge di F.

Le ho allegato un grafico contenente due possibili configurazioni dello stesso attacco.

E’ chiaro che questo attacco non si può fare se siamo sicuri che F e B non scelgano la stessa challenge C2, infatti la challenge, non a caso, è un numero aleatorio, però, dato che questi valori in realtà sono pseudo aleatori, perché vengono sempre calcolati con un algoritmo, ed è impensabile che ci sia un algoritmo diverso per ogni utente, vuol dire che nel calcolo delle challenge si considera in ingresso qualcosa che cambia continuamente (tipo il timestamp)?

Più semplicemente la domanda è: come facciamo a “randomizzare” in modo diverso la scelta delle due challenge?

Saluti.
Saverio Scopelliti.




No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.176 / Virus Database: 270.9.17/1847 - Release Date: 13/12/2008 16.56





Archivio con motore MhonArc 2.6.16.

§