Puncte:0

Protocolul de schimb de chei autentificate prin parolă

drapel ru

Această problemă a apărut într-o lucrare de examen trecută.

În protocoalele PAKE (schimb de chei autentificate prin parolă), $A$ și $B$ autentificați fiecare alta prin cunoașterea unei parole partajate care este prea slabă pentru a permite unui atacator să încerce ghiciri repetate pentru a încerca să-l găsească știind cum era un singur mesaj al protocolului construit. Nu există nicio semnătură criptografică sau un secret alternativ partajat sau de încredere terță parte pe care o pot folosi. Un astfel de protocol funcționează de obicei după cum urmează:

⢠Faza 1: $A$ și $B$ schimbă datele pe care le-au creat pentru această sesiune și valori au calculat din aceasta și propria lor valoare asumată pentru parolă $p_{AB}$. Rețineți că dacă sunt A și B, ambii vor ști la fel $p_{AB}$ dar dacă unul sau ambii falsifică valorile pe care le presupun că probabil vor fi diferite. Din aceste calcule obțin amândoi o cheie $k_A$ sau $k_B$, care va fi la fel dacă lor valorile parolei au fost aceleași.

⢠Faza 2: Se compară $k_A$ și $k_B$ printr-un schimb de mesaje care le permit pentru a vedea dacă sunt de acord, dar nu dezvăluie $k_A$ sau $k_B$ pentru lume, și nici nu permiteți parte să creadă că sunt de acord atunci când nu.

De ce ar trebui $A$ nu trimite, ca parte a acestui protocol, $hash(p_{AB}, N)$, Unde $N$ este un nonce cunoscut la $B$ până când ea este sigură că $B$ nu este un impostor și chiar știe $p_{AB}$? Extindeți acest lucru la îndrumări generale despre ce mesaje de forma hash($X$) nu trebuie trimis de la $A$ la $B$ Unde $X$ implică $p_{AB}$ în construcția sa.

Acum gândiți-vă la implementarea numai a fazei 2. Cum ați putea folosi hashingul pentru a obține obiectivul Fazei 2, în așa fel încât dacă $A$ sau $B$ a vorbit de fapt cu un impostor cu o parolă diferită în faza 1, impostorul nu poate manipula mesajele către fă-o să creadă că protocolul s-a încheiat cu succes.

Incercarea mea:

A) $A$ nu ar trebui să trimită, $hash(p_{AB}, N)$ ca un impostor $I_B$ poate refolosi același nonce și trimite $hash(p_{AB}, N)$ înapoi la A, pretinzând că știe parola $p_{AB}$

b) $X$ nu ar trebui să fie $p_{AB}$ (pe cont propriu). Ar trebui să conțină, de asemenea, un fel de identificare pentru fiecare utilizator, unică pentru ceea ce trimite celălalt utilizator, adică. dacă Alice trimite $hash(X_1)$ iar Bob trimite $hash(X_2)$, $X_1 \neq X_2$. Este suficient? Nu mă pot gândi la altceva.

c) Pentru implementarea fazei 2, faceți Alice să trimită $hash(E_{k_A}(Alice|k_A))$ iar Bob trimite $hash(E_{k_B}(Bob|k_B))$. Unde $E_k$ este o funcție de criptare, criptată folosind cheia $k$. Este corect?

drapel us
Care este intrebarea ta? Vrei să notăm acest examen de practică pentru tine?
drapel ru
Nu eram sigur de aproape toată această întrebare și am inclus și încercarea mea de a o face.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.