Fără capacități clar definite de atacator și nici garanții de securitate ale diferitelor componente (criptare cu cheie publică, funcție hash etc.). Nu este ușor de spus dacă acest protocol este sau nu „atașabil”.
Având în vedere că ni se oferă „cartă blanche”, voi arăta două atacuri PITM bazate pe diferite modele de securitate și atacatori.
Modelul general al atacatorului: presupun un atacator cu control deplin al rețelei, acesta poate injecta, reordona, modifica și în alt mod șterge mesajele. Mai mult, atacatorului i se permite să „înregistreze” noi utilizatori oricând.
Atacul 1: legarea greșită a identității și necesitatea unui PKE securizat mai mult decât CPA
După cum este scris, se pare că protocolul ar trebui să fie sigur atâta timp cât este utilizată o schemă PKE „securizată”. Cu toate acestea, noțiunea de bază de securitate ca și în securitatea semantică nu este suficientă. La un nivel înalt, la sfârșitul atacului, $A$ crede că vorbesc cu $B$, in timp ce $B$ crede că vorbesc cu atacatorul spune $E$.
Pentru a face acest lucru, vom prezenta un PKE securizat CPA pentru care atacul este posibil. Lăsa $\matematic E$ să fie o schemă PKE „hibridă” (în rest, bazată) pe o funcție de trapă. Unde criptarea mesajului $m$ sub $pk$, constă aproximativ în generarea unei valori aleatorii $s$ apoi generați o cheie de criptare simetrică $k = H(s)$. $k$ este apoi folosit pentru a cripta mesajul cu un algoritm de tip stream cipher, creând un text cifrat $c$. Textul cifrat final din schema PKE este $$\{m\}_{pk} = (enc_{PKE}(pk, s), c)$$
Atacul funcționează după cum urmează.
- $ A\rightarrow B: c_1 = \{N_A,A\}_{pk(B)} $
- Atacatorul interceptează acest mesaj, creează un nou utilizator $E$, modifică textul cifrat la o valoare $c_1'$ astfel încât să decripteze la $N_A, E$. Acest lucru este posibil, deoarece folosim un cifru de flux. (De asemenea, presupunem, de exemplu, că nonce și identitățile sunt de lungimi fixe etc...)
- $B$ decriptează mesajul și pare $E's$ identitate, prin urmare, al doilea mesaj este trimis $E$
- $B \rightarrow E: c_2 = \{N_A. N_B\}_{pk_E}$.
- $E$ decriptează $c_2$, și primește non-urile.
- $E \rightarrow A: c_2' = \{N_A, N_B\}_{pk_A}$
- $A \rightarrow B: c_3 = H(N_B, A, B)$
- $E$ intercpetă dropbs $c_3$ si trimite $c_3' = H(N_B, E, B)$
Din fluxul de deasupra, priveliștea $A$ este la fel ca și cum ar interacționa cu $B$, în timp ce vederea de $B$ este ca și cum ar interacționa cu $E$.
Atacul 2: Expunerea secretă pe termen lung și integritatea compromisului cheie
Aici capacitățile atacatorului sunt consolidate și permitem compromisul cheilor secrete pe termen lung. Acum, evident, dacă $sk_A$ este compromisă (și $A$ încă nu știe) atacatorul poate imprima $A$ după plac; totusi pare normal sa ne asteptam ca daca $A$ conduce o sesiune cu un onest $B$, $A$ ar trebui să aibă siguranța cu cine a vorbit. Cu toate acestea, în acest atac, compromis de $sk_A$ implică faptul că atacatorul poate imprima pe oricine $A$.
Ideea de bază ca mai sus este că, un atacator PITM va putea decripta al doilea mesaj $\{N_A, N_B\}_{pk_A}$. Atacatorul poate încheia acum interacțiunea cu $A$ și „tăiați firul” spre B. În consecință, $A$ crede că vorbesc $B$ în timp ce vorbea de fapt cu B.