Puncte:1

PAKE anonim folosind calculul cu două părți

drapel us

Să presupunem că partea clientului are o parolă secretă $\pi$. Serverul are o serie de indici $0..n-1$ și o valoare asociată sării $s_i$ pentru toți $i \in \{0,n-1\}$ numiți-o set $S=\{s_i | i \in \{0,n-1\}\}$ pentru fiecare client. Clientul dorește să calculeze o funcție OPRF $f(\pi,s)$ astfel încât să nu învețe $s$ iar serverul nu invata nimic. Pentru asta face OPAQUE $f(\pi,s)=H(\pi,H'(\pi)^s)$ Unde $H'$ hashuri la un element de subgrup.Pentru că serverul îi vede doar pe cei orbiți $H'(\pi)$ care este un element de grup aleatoriu, își poate simula vizualizarea și indiferent de câte interogări face clientul, nu învață niciodată $s$.

Dar trebuie să fac un pas mai departe și să cer ca acesta să permită conectarea anonimă. Adică am nevoie de o funcție $g(i,\pi,S)=f(\pi,s_i)$ astfel încât serverul nu învață nimic despre nici unul $i$ sau $\pi$ iar clientul nu învață nimic altceva despre $S$ sau despre orice alte elemente din $S$. Cel puțin nu $f(\pi,s_j)$ pentru altul $j$ care vă permite să vizați mai multe conturi în același timp cu atacuri de forță brută/dicționar.

O modalitate de a face acest lucru pentru aceeași funcție ca și în OPAQUE este utilizarea OPAQUE împreună cu transferul neglijent. Clientul nu trebuie să trimită multe valori în același timp, dar pur și simplu folosirea OT aici înseamnă că serverul trebuie să efectueze sfârșitul calculului $f(\pi,s_i)$ pentru fiecare $i$ adică $n$ exponențiații/înmulțiri scalare și necesită a trimite $n$ cifrează textele de fiecare dată când un client încearcă să se autentifice. Și acest lucru este în afara calculelor implicate cu OT în sine. La urma urmei, OT poate fi folosit pentru a transfera mesaje arbitrare, nu doar pentru a calcula unele funcții $n$ textele cifrate în general este justificată. Dar acest lucru nu ar fi practic aici.

Deci, știe cineva vreo lucrare în acest sens sau face ceva care poate realiza acest lucru mai eficient în timp constant sau cel puțin subliniar al numărului de clienți pentru a fi practic. Poate fi ceva care folosește un acumulator în $S$ care poate fi precalculat sau ceva. Nu trebuie să fie aceeași funcție ca în OPAQUE, orice cu proprietățile de mai sus funcționează.

EDIT: Nu sugerez să efectuați complet OPAQUE în mod anonim, care, deoarece deține ID-ul clientului criptat, cheia DH privată și cheia publică DH a serverului necesită ca OT să funcționeze în mod anonim. Dar faceți doar calculul OPRF în mod anonim și efectuați restul schimbului de chei separat.

Puncte:1
drapel my

Deci, știe cineva vreo lucrare în acest sens sau face ceva care poate realiza acest lucru mai eficient în timp constant sau cel puțin subliniar al numărului de clienți pentru a fi practic.

Ei bine, cu sugestia dvs. bazată pe OPAQUE, nu aveți nevoie de toate garanțiile de securitate ale OT; nu-ți pasă dacă clientul află despre încărcăturile utile criptate pentru alți clienți. Prin urmare, Private Information Retrieval (PIR) este suficientă, deoarece vă oferă singura garanție de securitate la care vă interesează (serverul nu știe ce sarcină criptată client preia clientul). Acum, nu știm cum să facem PIR în timp subliniar (fără comunicare prealabilă cu clientul - asta nu este posibil în acest caz și fără a presupune mai multe servere unde cel puțin unul este de încredere); cu toate acestea, cred că constanta de proporționalitate pe mecanismele PIR existente este suficient de mică pentru a face acest lucru practic.

Pe de altă parte, dacă nu vă deranjează să scurgeți o limită superioară a numărului de clienți, o soluție practică poate să plasați lista tuturor sarcinilor utile de client criptate pe un server public (semnat de cheia publică a serverului, desigur); oricine îl poate descărca oricând fără costuri pentru server.

Manish Adhikari avatar
drapel us
Da, mă înțeleg despre recuperarea încărcăturii utile criptate de client, anonimatul poate fi păstrat separându-l de calculul $f$. Dar întrebarea mea principală a fost despre calculul OPRF care necesită garanții de securitate precum OT, nu vreau ca un atacator să poată sonda mai multe conturi pentru o singură parolă în același timp. La fel ca PIR, dacă este practic chiar și cu timp liniar și comunicare, nu mă deranjează să folosesc OT aici. Dacă nu știm cum să o facem în timp subliniar, poate că sacrificarea unui anumit anonimat (OT pentru un subset de clienți) pentru caracter practic ar putea fi o soluție.
poncho avatar
drapel my
@ManishAdhikari: cel mai simplu mod de a preveni pe cineva să verifice mai multe conturi simultan este să faci ca parola pe care o dai lui Opaque să includă numele de utilizator, ca în „poncho@my_password”. Deoarece Opaque vă oferă proprietatea că vă permite să testați o singură parolă pe schimb, inclusiv numele de utilizator înseamnă că nu putem testa mai mulți utilizatori cu un singur schimb.
Manish Adhikari avatar
drapel us
Aceasta este o modalitate bună. Mulțumiri

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.