Puncte:1

Securitatea schimbului McCallum-Relyea

drapel in

Am aflat recent despre schimbul McCallum-Relyea, care permite o metodă de păstrare a cheii fără a transmite efectiv cheia.

A fost dezvoltat la RedHat și este folosit de tang și capulă utilități (și descrise în continuare Aici) pentru a permite decriptarea automată, în special pentru o partiție rădăcină criptată pentru mașinile Linux. Deci, o mașină client ar putea porni și decripta discul doar dacă se află într-o rețea în care poate accesa mașina server.

Nu am găsit nicio analiză a acestui protocol, așa că mă întrebam ce nivel de securitate oferă în comparație cu o metodă mai convențională, cum ar fi serverul care stochează cheia și o transmite pe un canal TLS și, de asemenea, dacă există defecte în schimb care ar putea fi exploatat.


Schimbul este o versiune modificată/extinsă a ECDH care funcționează după cum urmează:

Partea server generează mai întâi o pereche de chei EC de lungă durată cu cheie privată $s$ și cheie publică $S = [s]G$.

Clientul, dorind să protejeze un mesaj $M$, generează cheia privată $c$ și cheie publică $C = [c]G$. Clientul solicită apoi o cheie de la server printr-un canal de text simplu. Serverul răspunde cu $S$ semnat cu $s$. Utilizatorul din partea clientului validează cheia serverului printr-o metodă în afara benzii și înregistrează hash-ul cheii serverului. Clientul efectuează apoi jumătate dintr-un schimb ECDH pentru a ceda $K = [c]S = [cs]G$. $K$ este apoi folosit (direct sau indirect) pentru a cripta $M$ printr-un cifru simetric, după care clientul renunță $K$ și $c$ și păstrează numai $C$. În acest moment, clientul nu poate decripta $M$ fara server.

Când clientul dorește să decripteze $M$, creează o pereche de taste efemeră $e$ și $E = [e]G$, apoi calculează $X = C + E$ si trimite $X$ la server. Serverul efectuează apoi jumătate dintr-un schimb ECDH cu $X$ și $s$ a genera $Y = [s]X$ si transmite $Y$ înapoi la client, folosind $S$ pentru a semna mesajul.

După ce a primit $Y$ de pe server și validând semnătura serverului, clientul efectuează apoi o altă jumătate ECDH cu $S$ și $e$ a calcula $Z = [e]S$. Clientul calculează apoi:

Y - Z = sX - eS 
      = s(C + E) - eS 
      = sC + sE - eS 
      = scG + seG - esG
      = scG
      = K

A recupera $K$ și decriptează $M$.

kelalaka avatar
drapel in
Și, întrebarea este analiza furnizată de securitate? Atunci întrebați cine este adversarul și de ce sunt capabili? Acest lucru este important deoarece, pentru un adversar cuantic, nu există securitate.
drapel in
@kelalaka Editat pentru a adăuga mai multe detalii: în mod specific în comparație cu TLS sau dacă există defecte exploatabile în schimb.
kelalaka avatar
drapel in
Ciudat este că $C$ este public, atunci oricine are acest lucru, poate solicita decriptarea oricărei criptări efectuate de proprietarul cheii publice inițiale a $C$. Bănuiesc că ați spune că este protejat de niște mecanisme? Luați-vă în considerare și trimiteți $X = C + E$ la server cu $E = [e]G$ pentru un $e$ aleatoriu.
drapel in
@kelalaka $C$ este necesar pentru a prelua $K$ și este partea publică a unei perechi de chei, deși nu este „publică” în sensul că este transmisă oriunde. $C$ trebuie păstrat local pentru client și protejat ca o cheie privată. Cred că scopul este de a permite clientului să recupereze $K$ numai dacă serverul este accesibil. Deci, dacă mașina client a fost eliminată fizic și plasată într-o rețea care nu a putut accesa serverul, atunci clientul nu a putut decripta $M$.
kelalaka avatar
drapel in
De asemenea, clientul poate trimite un punct de comandă mic $X$ pentru a obține câteva informații despre secretul $s$ al serverului.
kelalaka avatar
drapel in
Atunci care este întrebarea dacă serverul păstrează criptarea unui fișier cu o cheie de la ieșirea ECDH efemer-efemer? Parcă cu ani în urmă, am configurat o casetă Linux cu un nume de utilizator, apoi am accesat fișierele utilizatorului din sistem...
kelalaka avatar
drapel in
Dacă serverul are cheia, atunci nu există confidențialitate pentru fișierele dvs. Schimbul este sigur atâta timp cât $C$ este sigur.
kelalaka avatar
drapel in
De asemenea, ideea este greșită în stocare, dimensiunea cheii publice este mai mare decât cheia privată, chiar și punctul public este comprimat.
Puncte:2
drapel ru

Interesant este că confidențialitatea schemei este la fel de puternică ca și confidențialitatea $C$ independent de ipotezele de duritate (în afară de puterea cifrului simetric și ștergerea sigură a $K$, $c$ și text simplu). În contrast, modelul de stocare și transmitere pe partea serverului prin TLS se bazează pe duritatea mecanismului de stabilire a cheii TLS și pe autentificarea acestuia.

Dacă $e$ atunci este selectat uniform la întâmplare $X$ conține zero informații despre $C$. Rețineți că transmisia de $X$ este singura comunicare a clientului în întregul protocol și, prin urmare, reprezintă singura oportunitate pentru un atacator Dolaev-Yao de a accesa informații despre valorile confidențiale ale clientului. Uniformitatea $X$ înseamnă, de asemenea, că este imposibil ca un serviciu să verifice dacă un client solicită escrow pentru o cheie la care are acces în mod legitim și, prin urmare, oricine reușește să cunoască $C$ poate folosi protocolul pentru a recupera $K$.

Decriptarea fără cooperarea serverului de escrow este împiedicată de confidențialitatea $s$ ȘI puterea protocolului de calcul Diffie-Hellman pentru curba eliptică în cauză (care poate fi compromisă de un atacator cuantic, parametrizare slabă sau o varietate de alte mijloace) ȘI, de asemenea, puterea schemei de autentificare utilizată pentru validarea mesajelor serverului. Aceasta înseamnă că eșecul oricăreia dintre aceste trei protecții permite decriptarea fără server.

Mecanismul de escrow poate fi invocat de mai multe ori fără re-criptare ca multiplu $X$ transmisiile încă nu vor conține informații despre $C$.

Nu există nerepudiere în sistem pentru utilizatorii legitimi. Daca fac o intrebare $X$ iar mai târziu susțin că este asociat cu un anume $C$ valoare, această afirmație nu poate fi validată. Chiar dacă este necesar să dezvăluie $e$, creați un secundar $C$ valoare $C'=C+dG$, caz în care perechea $(C,e)$ generează o $X$ care ar putea fi, de asemenea, generat de $(C',d+e)$.

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.