06.11.2014 Views

ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)

ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)

ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

iordinamento dei messaggi). Come si può notare la<br />

derivazione della chiave K è stata spostata come ultima<br />

azione del protocollo e la verifica dei valori M 1<br />

e M 2 coinvolge direttamente S e non più K: questa<br />

scelta non compromette in alcun modo la sicurezza<br />

del protocollo, anzi, mortifica ulteriormente eventuali<br />

attacchi con forza bruta su M 1 M 2 per l’ottenimento<br />

di S. Infatti, il valore di S, a differenza di K, ha un numero<br />

di bit variabile, limitato superiormente solo dai<br />

bit con cui è rappresentato n (tipicamente di almeno<br />

1024 bit): questo rende praticamente impossibile un<br />

attacco con forza bruta.<br />

Inoltre, la differenza per la derivazione di K, risparmia<br />

risorse di calcolo nel caso in cui l’autenticazione<br />

del client fallisca e sembra che questo meccanismo<br />

sia più adatto per l’integrazione di <strong>SRP</strong> con<br />

protocolli come TLS.<br />

Client<br />

1.<br />

−→<br />

2. x = H(s,I,P)<br />

n,g,s<br />

←−<br />

3. A = g a A<br />

−→<br />

I<br />

Server<br />

ricerca (I,s,v)<br />

B = kv + g b<br />

4. u = H(A,B) ←− u = H(A,B)<br />

5. S = (B − kg x ) a+ux S = (Av u ) b<br />

6. M 1 = H(A,B,S)<br />

B<br />

M 1 −→<br />

verifica M1<br />

7. verifica M 2<br />

M<br />

←−<br />

2<br />

M2 = H(A,M 1 ,S)<br />

8. K = H(S) K = H(S)<br />

Tabella 11: Il protocollo <strong>SRP</strong>-6.<br />

Teorema 6.1 (Simmetria della chiave in <strong>SRP</strong>-6)<br />

Se la password P è simmetrica, allora anche la<br />

chiave di sessione K è simmetrica.<br />

Dimostrazione:<br />

Si procede analogamente al teorema 4.1.<br />

S = (B − kg x ) a+ux =<br />

= ((kv + g b ) − kg x ) a+ux = ((kv + g b ) − kv) a+ux =<br />

= (g b ) a+ux = (g b ) a (g b ) ux = (g a ) b (g b ) ux =<br />

(A) b (g ux ) b =<br />

= (A) b ((g x ) u ) b = (A) b (v u ) b =<br />

= (Av u ) b = S<br />

□<br />

6.4 Resistenza agli attacchi<br />

Poichè <strong>SRP</strong>-6 è completamente basato sulla struttura<br />

delle precedenti versioni, continuano a valere le considerazioni<br />

già fatte nei paragrafi 4.3 e 4.4 per quanto<br />

riguarda la resistenza agli attacchi passivi ed attivi.<br />

La sicurezza della chiave di sessione è stata ulteriormente<br />

rafforzata, poichè un attacco con forza bruta<br />

sui valori M 1 o M 2 per ottenere K adesso dipende<br />

dalla dimensione di S, solitamente molto più grande.<br />

7 Sicurezza<br />

L’analisi della sicurezza di un qualunque protocollo<br />

non é semplice se si vogliono utilizzare dei metodi<br />

formali. Ad esempio, il Dolev-Yao model [6] si puó<br />

applicare con certi requisiti, tuttavia si é dimostrato<br />

[17] che non e’ adeguato quando si trattano primitive<br />

come l’esponenziazione discreta. Inoltre la sicurezza<br />

di un protocollo puó diventare indecidibile con<br />

modelli piú generali [10], poiché l’insieme di stati da<br />

considerare puó essere troppo grande o infinito.<br />

In questi ultimi anni ’e stato mostrato un certo interesse<br />

per provare formalmente la sicurezza dei protocolli<br />

password-based utilizzando un ideal-cipher<br />

model [1], per il quale sono state date prove della<br />

sua applicabilitá [2] anche per <strong>SRP</strong>. Sfortunatamente<br />

é stato dimostrato [23] che la dimostrazione formale<br />

della sicurezza di un protocollo secondo lo idealcipher<br />

model non significa che valga anche per l’<br />

istanziazione del protocollo stesso. Di conseguenza<br />

si puó affermare che ancora non si é stati in grado<br />

di provare formalmente la sicurezza di un protocollo<br />

password-based.<br />

Nonostate questa limitazione formale, il protocollo<br />

<strong>SRP</strong> viene considerato inerentemente sicuro, poiché<br />

la sua struttura matematica puó essere ridotta al<br />

ben noto schema di Diffie-Hellman [5]. Quindi é possibile<br />

dimostrare la sicurezza di <strong>SRP</strong> considerando<br />

la resistenza agli attacchi passivi ed attivi conosciuti,<br />

proprio come illustrato nei paragrafi precedenti.<br />

8 Implementazioni<br />

La Stanford University supporta attivamente un<br />

progetto Open Source 4 che raccoglie un ampia documentazione<br />

ed i sorgenti di varie implementazioni per<br />

<strong>SRP</strong>.<br />

Il protocollo viene gia’ usato in diverse applicazioni<br />

di rete, tra cui SSH, Telnet e TLS; da evidenziare<br />

il progetto GnuTLS 5 che offre un insieme di applicazioni<br />

e librerie dove <strong>SRP</strong> è stato integrato con<br />

TLS.<br />

4 The Stanford <strong>SRP</strong> Authentication Project, http://<br />

srp.stanford.edu/<br />

5 Transport Layer Security Library for the GNU system,<br />

www.gnutls.org<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!