Confidențialitate și criptare
Aceste cuvinte sunt folosite vag în descrierile aplicațiilor, iar diferențele dintre ele sunt exact acolo unde stă valoarea. Ascuns nu înseamnă blocat. Blocat nu înseamnă criptat. Și o cheie pe care o deține altcineva nu e cu adevărat a ta.
-
ChaCha20-Poly1305
-
Un algoritm modern de criptare care ascunde datele și detectează manipularea lor. Rapid pe telefoane, care nu au întotdeauna accelerare hardware pentru alternativa mai veche.
ChaCha20 face criptarea; Poly1305 produce o etichetă care verifică dacă datele n-au fost alterate. Împreună se numesc criptare autentificată — decriptarea eșuează zgomotos pe un fișier modificat, în loc să producă un rezultat plauzibil, dar greșit.
E aceeași construcție folosită în TLS și în mesageria securizată modernă. Pe hardware fără accelerare AES e semnificativ mai rapid decât AES, motiv pentru care telefoanele tind să-l prefere.
-
Împachetare de chei
criptarea plicului -
Criptarea fișierelor cu o singură cheie și apoi criptarea acelei chei separat pentru fiecare cod de acces. Schimbarea unui cod de acces reîmpachetează o cheie mică, nu recriptează totul.
Fișierele sunt criptate o singură dată, cu o cheie generată pe dispozitiv. Acea cheie e apoi împachetată — criptată — cu codul de acces, și împachetată din nou cu codul de recuperare. Două plicuri, câte o cheie în fiecare.
Consecințele sunt toate practice. O schimbare de cod de acces rescrie câteva sute de bytes în loc de o sută de gigabytes. Deblocarea biometrică e o altă copie împachetată, nu un al doilea model de securitate. Iar pierderea tuturor plicurilor pierde cheia, pentru că ea nu există nicăieri altundeva.
Vezi și: Cod de recuperareChaCha20-Poly1305
-
Cod de recuperare
-
Un șir unic care poate desface cheia principală atunci când parola e uitată. Nimeni nu-l poate reemite, pentru că nimeni altcineva nu l-a avut vreodată, inclusiv cei care au scris aplicația.
E afișat o singură dată, la configurare, și e a doua dintre cele două uși. Notat și păstrat altundeva decât pe dispozitiv, transformă un cod de acces uitat într-un inconvenient.
Dacă parola e uitată și codul de recuperare e pierdut, fișierele nu mai pot fi decriptate de nimeni. Nu e o politică de suport care poate fi contestată; e ce înseamnă să n-ai nicio copie a cheii. Păstrează-l cu tot atâta grijă cât merită fișierele tale.
Vezi și: Împachetare de cheiZero-cunoaștere
-
Seiful momeală
negare plauzibilă -
O a doua parolă care deschide un alt seif, inofensiv. Cineva forțat să-ți deblocheze aplicația poate, iar ce se deschide nu e lucrul pe care-l căuta.
Ambele parole sunt reale și ambele deschid un seif real. Nimic pe ecran nu indică faptul că mai există unul, iar aplicația nu poate fi întrebată care dintre ele o arată.
Există pentru situația în care refuzul de a debloca nu e o opțiune — o graniță, o cerere, cineva stând deasupra ta. Criptarea singură nu ajută acolo, pentru că problema nu e cheia, ci faptul că ești constrâns s-o folosești.
Vezi și: Cod de recuperareAscuns vs criptat
-
Breloc de chei
-
Depozitul protejat al sistemului pentru mici secrete, susținut de hardware-ul de securitate al dispozitivului. Aici ajung cheile și jetoanele, și e locul unde nimic mare n-ar trebui să meargă.
Elementele din el pot purta condiții: citibile doar când dispozitivul e deblocat, doar pe acest dispozitiv, doar după confirmare biometrică sau prin cod. Acele condiții sunt impuse de hardware, nu de aplicația care cere politicos.
Stochează secrete, nu date. Cheile, jetoanele și materialul împachetat ajung acolo; fișierele criptate în sine stau pe disc, unde dimensiunea nu e o problemă.
-
În repaus vs în tranzit
-
Criptat în repaus înseamnă imposibil de citit pe disc. Criptat în tranzit înseamnă imposibil de citit în rețea. Sunt protecții separate, iar un produs poate pretinde sincer una fără s-o facă pe cealaltă.
HTTPS e criptare în tranzit: în siguranță de oricine urmărește rețeaua, și complet lizibil de server odată ajuns la celălalt capăt. Criptarea în repaus privește copia stocată, ceea ce contează dacă un dispozitiv se pierde sau un disc e clonat.
Citirea atentă a unei afirmații despre confidențialitate înseamnă de obicei să-ți dai seama despre care dintre cele două e vorba. „Datele tale sunt criptate” fără niciunul dintre cele două cuvinte atașate e o propoziție aleasă tocmai ca să nu spună nimic.
Vezi și: ChaCha20-Poly1305Zero-cunoaștere
-
Zero-cunoaștere
-
Un design în care operatorul nu poate citi ce stochează, pentru că cheile nu părăsesc niciodată dispozitivele utilizatorului. Testul e simplu: îți pot reseta parola și tot îți pot da datele înapoi?
Dacă un serviciu poate restaura accesul după ce ai uitat totul, înseamnă că deține ceva ce-ți poate debloca datele — ceea ce înseamnă că poate fi constrâns s-o folosească, și că oricine încalcă serviciul moștenește aceeași capacitate.
Compromisul e real și ar trebui spus clar, nu vândut ca beneficiu pur: zero-cunoaștere autentică înseamnă pierderea reală a accesului când ultima cheie e pierdută. Nu există o a treia opțiune în care operatorul te poate salva, dar nimeni altcineva nu poate.
-
Biometrie
Face ID, Touch ID -
Dispozitivul, nu aplicația, confirmă că ești tu; aplicația primește doar da sau nu. Nicio amprentă sau date faciale nu ajung vreodată la o aplicație, și niciuna dintre ele nu e o parolă.
Deblocarea biometrică e o comoditate învelită în jurul unui secret, nu un înlocuitor pentru unul. Ce protejează e o cheie stocată, motiv pentru care există mereu un cod de acces în spate — biometricul poate eșua, iar soluția de rezervă trebuie să fie ceva ce știi.
Comparația se întâmplă în interiorul unui hardware dedicat, iar șabloanele nu ies niciodată din el. O aplicație care oferă Face ID pune o întrebare sistemului, nu colectează nimic.
Vezi și: Breloc de cheiÎmpachetare de chei
-
Analiză anonimă
-
Numărarea evenimentelor fără a înregistra cine le-a făcut. Valoarea afirmației depinde în întregime de ce e atașat fiecărui eveniment — iar numele fișierelor, căile și adresele URL sunt locul unde astfel de promisiuni se încalcă de obicei.
Să știi că un ecran a fost deschis e o numărătoare. Să știi ce fișier a fost redat e o descriere a unei persoane. Linia dintre cele două nu e cuvântul „anonim”; sunt câmpurile pe care le poartă evenimentul.
O afirmație care merită încredere spune ce *nu* e trimis la fel de specific ca ce e trimis: fără nume de fișiere, fără căi, fără URL-uri, fără credențiale, fără identificator care supraviețuiește între sesiuni — și oferă o modalitate de a opri totul.
Vezi și: În repaus vs în tranzit