Ce face o dovadă cu cunoștințe zero
De obicei, a dovedi ceva înseamnă a arăta dovada: introduci o parolă sau predai un act de identitate. Asta poate dezvălui mai mult decât are nevoie să știe cealaltă persoană.
O dovadă cu cunoștințe zero este o metodă criptografică care schimbă asta. O persoană, demonstratorul, arată o afirmație precisă alteia, verificatorul, fără să dezvăluie secretul care face acea afirmație adevărată. Verificatorul află răspunsul de care are nevoie — de exemplu, că îndeplinești o condiție de vârstă — dar nu data nașterii, adresa sau numărul actului tău.
Nu este o promisiune vagă de confidențialitate. O dovadă trebuie concepută pentru o singură afirmație exactă, iar un design bun face ca înșelăciunea să fie extrem de improbabilă.
Exemplul peșterii
Imaginează-ți o peșteră cu două cărări care se întâlnesc în spatele unei uși încuiate. Ușa se deschide doar cu un cuvânt secret. Spui că îl știi, dar nu vrei să-l rostești cu voce tare.
Intri pe oricare dintre cărări, în timp ce prietenul tău așteaptă afară. Apoi, prietenul tău strigă pe care cărare vrea să te întorci. Dacă știi cuvântul, poți deschide ușa din interiorul peșterii și te poți întoarce pe oricare cărare. Dacă ghicești, ai doar șanse de cincizeci la sută să fii pe partea cerută.
Repeți testul de mai multe ori, de fiecare dată cu o alegere nouă și imprevizibilă. Zece runde reușite lasă unui bluf doar aproximativ o șansă la 1.000 de a avea noroc. Prietenul tău capătă dovezi solide că știi cuvântul, dar nu îl aude niciodată.
De la povestea peșterii la software real
Dovezile reale folosesc matematica, nu o peșteră, dar scopul de confidențialitate rămâne același. Pot arăta că o tranzacție respectă regulile fără să expună toate detaliile ei. De asemenea, pot lăsa o singură dovadă mică să înlocuiască un lot mare de verificări, ceea ce poate face unele sisteme mai rapid de verificat.
Acreditările digitale sunt o altă utilizare practică. În loc să încarci un act de identitate întreg la fiecare serviciu, o acreditare bine concepută ar putea răspunde doar la întrebarea pusă: „Are această persoană peste 18 ani?” sau „Deține această calificare?”
Detaliile contează. O dovadă protejează doar informația pentru care a fost creată. Aplicația din jur poate totuși să colecteze date, să te identifice sau să facă alegeri de securitate proaste în altă parte.
Dovadă cu cunoștințe zero vs. criptare cu cunoștințe zero
Expresia „zero-knowledge” este folosită și în stocarea în cloud. Este o idee diferită. Criptarea cu cunoștințe zero înseamnă că furnizorul de stocare nu îți poate citi fișierele, pentru că nu are cheile de decriptare.
O dovadă cu cunoștințe zero răspunde la o întrebare fără să dezvăluie secretul din spatele răspunsului. O criptare cu cunoștințe zero păstrează fișierele stocate necitibile pentru un furnizor. Amândouă pot îmbunătăți confidențialitatea, dar nu sunt interschimbabile.
O lecție practică despre confidențialitate
Dovezile cu cunoștințe zero sunt o reamintire utilă să împărtășești doar informația minimă necesară pentru o sarcină. Nu te fac anonim și nu securizează fiecare parte a unei aplicații. Un serviciu poate ști în continuare că te-ai conectat, când ai făcut-o și alte date din afara dovezii.
Sealby nu are nevoie de dovezi cu cunoștințe zero, pentru că nu are niciun cont sau server care să-ți ceară să dovedești ceva. Fișierele sunt criptate pe iPhone-ul tău. Pentru confidențialitatea de zi cu zi, întrebarea practică e simplă: ce trebuie de fapt să știe acest serviciu — și poate funcționa cu mai puțin?