ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)
ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)
ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Client Attaccante Server<br />
K S1 = (Ω AB ) a<br />
A<br />
−→<br />
Ω<br />
←−<br />
AB<br />
Ω AB = g i<br />
K S1 = A i<br />
K S2 = B i<br />
Ω AB<br />
−→<br />
B<br />
←−<br />
K S2 = (Ω AB ) b<br />
Tabella 2: Man-in-the-middle attack nel Diffie-Hellman Key Exchange: le operazioni si intendono modulo n.<br />
Clogging Attacks Un altro problema dello schema<br />
Diffie-Hellman è la vulnerabilità ai cosiddetti Clogging<br />
Attacks, ovvero i casi in cui un attaccante sommerga<br />
una delle parti con richieste contenenti i valori<br />
A ′ o B ′ ottenuti da esponenziazione discreta. In questo<br />
modo il ricevente è costretto a rispondere, calcolando<br />
la chiave di sessione per ogni richiesta, sprecando<br />
risorse di calcolo.<br />
Replay Attacks Così come è definito, lo schema<br />
Diffie-Hellman non offre protezione da attacchi di tipo<br />
Replay, ovvero in cui un attaccante utilizzi i dati<br />
di una precedente comunicazione tra client e Server<br />
per tentare successivamente di impersonare una delle<br />
parti.<br />
2.3 Sicurezza dei parametri<br />
L’utilizzo della funzione di esponenziazione discreta<br />
in sistemi basati sullo schema Diffie-Hellman pone<br />
degli interrogativi sulla corretta scelta dei parametri,<br />
in particolare di g ed n. Si parla in questo caso di sicurezza,<br />
poichè, senza un controllo sulle caratteristiche<br />
dei valori, si rende praticabile ad un attaccante la possibilità<br />
di ottenere la chiave simmetrica [9, Chapter<br />
12].<br />
2.3.1 Requisiti matematici<br />
Il primo aspetto legato alla sicurezza di un protocollo<br />
basato sullo schema DH è che le parti in comunicazione<br />
possano verificare l’aderenza ai requisiti<br />
matematici di n e g, ovvero:<br />
• la primalità di n;<br />
• che n verifichi le proprietá di safe prime 1 ;<br />
• che g sia effettivamente una radice primitiva per<br />
n.<br />
1 Cioé che n sia un numero primo sufficientemente<br />
grande e nella forma 2q + 1, con q anch’esso primo.<br />
Questi tipi di test sono peró computazionalmente<br />
molto onerosi, di conseguenza, nell’utilizzo pratico,<br />
si pone come requisito l’appartenenza ad un insieme<br />
predefinito di valori che già verificano le proprietà<br />
richieste. Si veda ad esempio [13].<br />
2.3.2 Dimensione di n<br />
Il secondo aspetto è quanto grande debba essere n e,<br />
di conseguenza, il numero di bit con cui lo si andrà<br />
a rappresentare. Si è visto, infatti, che l’esponenziazione<br />
discreta fonda la sua one-wayness sull’impraticabilità<br />
di effettuare i tentativi necessari per calcolare<br />
il logaritmo discreto (si veda l’esempio al paragrafo<br />
2.1): questo è fortemente dipendente dalla grandezza<br />
di n che, ai fini pratici, si lega al numero di bit che lo<br />
rappresentano.<br />
Le usuali stime di sicurezza sulla lunghezza delle<br />
chiavi crittografiche simmetriche (tipicamente di 128<br />
o 256 bit) non si possono applicare a questo contesto,<br />
in quanto le operazioni di esponenziazione sono<br />
molto più lente per un calcolatore rispetto a quelle di<br />
encryption. Infatti, obbligare un attaccante a 2 128 tentativi<br />
per attaccare lo schema Diffie-Hellman richiede<br />
circa 6800 bit per n [9].<br />
Una autorevole pubblicazione in cui si affronta<br />
questo problema è [15], dalla cui lettura ci si può convincere<br />
che una dimensione di 2048 bit dovrebbe essere<br />
il minimo assoluto e che l’utilizzo di 4096 bit<br />
offra un adeguato livello di sicurezza.<br />
3 Schema generale di <strong>SRP</strong><br />
<strong>SRP</strong> si ispira ad un schema pubblicato in [3] e<br />
formalmente noto come EKE (Encrypted Key Exchange).<br />
Da questo schema sono stati derivati poi<br />
principalmente il protocollo DH-EKE (Diffie Hellman<br />
EKE), e lo schema AKE (Asymmetric Key<br />
Exchange), che è una generalizzazione di <strong>SRP</strong>.<br />
In <strong>SRP</strong> viene adottata una forma del Diffie-<br />
Hellman Key Exchange a cui si aggiunge un mecca-<br />
4