Cum vă protejează LifeVeil fișierele
Această pagină explică pe înțeles ce face LifeVeil și, de asemenea, ce nu poate face. Preferăm să cunoașteți limitele decât să vă încredeți într-o promisiune prea mare.
Pe scurt
- Toată criptarea are loc pe telefon. Nu există niciun server LifeVeil și niciun cont.
- Fișierele fiecărui seif sunt criptate cu o cheie aleatorie. Doar modelul acelui seif (împreună cu PIN-ul său la nivelul maxim), fraza sa de recuperare, dacă ați adăugat una, sau amprenta dvs., dacă ați activat-o, pot debloca acea cheie.
- Fiecare model deschide un seif. Un model care nu corespunde niciunui seif salvat deschide unul gol și nu se scrie nimic până nu adăugați un fișier în el.
- Noi, dezvoltatorii, nu avem niciodată modelul, PIN-ul, fraza sau cheile dvs. Nu vă putem deschide fișierele și nu vă putem reseta modelul.
- Folosim criptarea integrată în Android și binecunoscuta bibliotecă libsodium. Nu ne-am scris propria criptare.
- LifeVeil nu a trecut încă printr-un audit de securitate independent.
De la model la cheie
Desenați un model pe o grilă de 5×5, fără a trece de două ori prin același punct. Un model nou pe care îl setați are nevoie de cel puțin 6 puncte. LifeVeil transformă modelul într-o cheie cu Argon2id, din libsodium (versiunea 1.0.20 pe Android).
- Parametri: 64 MiB de memorie, 3 treceri, 1 bandă, cheie de 256 de biți.
- Argon2id este lent intenționat și are nevoie de multă memorie pentru fiecare încercare. Astfel, ghicirea cu plăci grafice devine mult mai costisitoare.
- Pe telefoanele noastre de test, o deblocare durează între aproximativ 0,6 și 0,9 secunde.
- Modelul este combinat cu o sare a dispozitivului aleatorie de 16 octeți. Sarea este stocată în aplicație, criptată cu o cheie păstrată în Android Keystore, care nu poate fi copiată de pe telefon.
- Nu se stochează nicio copie a modelului, cu excepția celei păstrate împreună cu o frază de recuperare (vedeți mai jos). Aplicația verifică un model încercând să deblocheze cheia.
- Orice introduceți în caseta PIN de deasupra punctelor intră în aceeași derivare a cheii ca modelul. O casetă goală înseamnă doar modelul.
Niveluri de securitate
Fiecare seif are un singur nivel. Îl alegeți la început și îl puteți schimba mai târziu din Setări > Seif > Nivel de securitate, după ce desenați din nou modelul.
- Securitate maximă (Ultra): modelul și un PIN de 6 până la 8 cifre, amândouă doar în mintea dvs. Sigur chiar și împotriva ghicirii cu IA. Dacă uitați oricare dintre ele, seiful nu poate fi recuperat.
- Nivelul 1 (recomandat): doar modelul. Sigur dacă evitați formele comune. Dacă îl uitați, seiful nu poate fi recuperat.
- Nivelul 2: modelul și o frază de recuperare scrisă pe hârtie. Puteți intra din nou dacă uitați modelul, dar oricine găsește hârtia poate deschide și el seiful.
- Nivelul 3: modelul și amprenta. Cel mai comod, dar cineva v-ar putea forța degetul pe senzor. Amprenta funcționează pentru un singur seif.
Cum sunt criptate fișierele
- Fiecare seif are o cheie principală aleatorie de 256 de biți. Cheia modelului și cheia de recuperare doar „împachetează” (criptează) această cheie principală.
- Fișierele, miniaturile și lista elementelor dvs. (numele originale ale fișierelor, datele, dimensiunile) sunt criptate cu AES-256-GCM, folosind criptarea integrată în Android. GCM detectează și dacă un fișier a fost modificat sau înlocuit.
- Fișierele din aplicație au nume aleatorii. Fișierele mari sunt criptate în bucăți de 1 MiB, astfel încât videoclipurile sunt redate fără ca vreo copie necriptată să fie scrisă vreodată în spațiul de stocare.
- Pentru fotografiile JPEG, detaliile ascunse (EXIF, cum ar fi camera și data) sunt stocate separat, tot criptate.
- Când aplicația se blochează, suprascrie cu zerouri cheile pe care le păstrează în memorie.
Fraza de recuperare
- Fraza de recuperare este opțională. Un seif primește una doar când alegeți Nivelul 2, iar aceasta este salvată după ce treceți un scurt test.
- Generatorul securizat de numere aleatorii al telefonului alege 9 cuvinte în engleză. Acestea provin din două liste de 1.024 de cuvinte uzuale, într-una dintre 4 ordini fixe. Asta înseamnă 92 de biți aleatorii. Cuvintele sunt în engleză în toate limbile aplicației.
- Fraza trece prin aceiași parametri Argon2id și deblochează singură cheia principală. Nu are nevoie de sarea dispozitivului, așa că funcționează chiar și atunci când modelul nu mai funcționează.
- O copie a frazei și o copie a modelului seifului (și a PIN-ului) sunt stocate pe telefon, fiecare criptată de două ori: o dată cu cheia principală și o dată cu o cheie Android Keystore. Când fraza deschide seiful, aplicația afișează modelul o singură dată. Acesta este uitat când aplicația se blochează.
- Fraza rămâne aceeași când schimbați modelul. Un seif fără frază nu are nicio cale de întoarcere dacă modelul este uitat.
Amprenta
Deblocarea cu amprenta este opțională și funcționează pentru un singur seif. Amprenta este verificată de Android, nu de LifeVeil; aplicația nu primește niciodată amprenta dvs. Cheia principală este deblocată de o cheie din Android Keystore care funcționează doar imediat după o verificare biometrică puternică. Dacă cineva adaugă o amprentă nouă pe telefon, această cheie nu mai funcționează și trebuie să folosiți din nou modelul.
Fișierul de backup
- Un backup este un singur fișier
.lvb. Acesta conține elementele dvs. exact așa cum sunt deja criptate, plus copii împachetate ale cheii principale: una pentru modelul pe care l-ați desenat când ați făcut backupul și una pentru fraza de recuperare, dacă seiful avea una. - Copia pentru model folosește o sare aleatorie nouă pentru fiecare backup, nu sarea dispozitivului. Datorită acestui lucru puteți deschide backupul pe un telefon nou.
- Antetul fișierului este protejat, astfel încât modificările sau părțile înlocuite sunt detectate.
- Alegeți unde să salvați fișierul cu ecranul de salvare al Android. Fișierul nu trece niciodată prin noi.
- Pentru restaurare, deschideți fișierul cu modelul sau cu fraza acestuia. Apoi desenați un model nou. Seiful restaurat începe fără frază de recuperare.
Alte protecții din aplicație
- Capturile de ecran, înregistrarea ecranului și previzualizarea din lista aplicațiilor recente sunt blocate pe toate ecranele.
- În mod implicit, aplicația se blochează imediat ce o părăsiți. Puteți alege în schimb 30 de secunde sau 1 minut.
- Backupul în cloud și transferul de pe un telefon pe altul oferite de Android nu includ datele LifeVeil. Folosiți în schimb fișierul de backup.
- Aplicația nu solicită acces la locație, la persoanele de contact sau la „toate fișierele”.
- Un seif gol pentru fiecare model nou. Un seif fără fișiere arată la fel, fie că a fost salvat, fie că nu, astfel încât cine vă obligă să deschideți aplicația nu poate ști ce mai există. Puteți dezactiva acest lucru din Setări > Securitate, iar atunci un model care nu deschide nimic afișează o eroare.
Încetinirea ghicirii
Deoarece fiecare model deschide un seif, ghicirea arată ca deschiderea multor seifuri goale. LifeVeil încetinește acest lucru fără să afișeze ceva pe ecran, iar așteptarea este aceeași pentru orice model, inclusiv pentru cel corect.
- În decurs de 24 de ore, 10 deschideri de seifuri fără fișiere adaugă 10 secunde la fiecare deblocare, 20 adaugă 60 de secunde, iar 30 adaugă 5 minute, maximul.
- Semnele de automatizare duc direct la maxim: modele terminate la mai puțin de 2 secunde unul de altul de trei ori la rând sau atingeri care provin de la servicii de accesibilitate ori de la intrări injectate, nu de la un deget.
- Fiecare perioadă de 24 de ore fără deschiderea unui seif gol reduce încetinirea cu un pas. Dacă dați ceasul telefonului înapoi, aceasta nu se scurtează.
- Acest lucru funcționează doar în aplicație. Nu încetinește ghicirea pe un computer cu un fișier copiat (vedeți limitele de mai jos).
IA și ghicirea modelului
- IA nu poate sări peste calcule. Fiecare încercare trebuie să ruleze în continuare Argon2id cu 64 MiB de memorie. IA nu sparge Argon2id sau AES, așa că nicio încercare nu devine mai ieftină.
- Ce schimbă IA este ordinea încercărilor. Poate învăța formele preferate de oameni (litere, pătrate, colțurile de start preferate) și le poate încerca pe acestea mai întâi. De asemenea, poate ajuta la citirea unui model dintr-un videoclip filmat peste umărul dvs. sau din urmele de pe ecran.
- Așadar, protecția ține de model, nu de calcule. Aplicația avertizează în privința formelor comune. Nivelul maxim de securitate adaugă un PIN de 6 până la 8 cifre, astfel încât un model văzut pe video nu este suficient. Ascundeți linia modelului nu lasă nicio linie de filmat. Sarea dispozitivului din Android Keystore împiedică ghicirea în afara telefonului.
Limite pe care ar trebui să le cunoașteți
Nicio aplicație nu vă poate proteja de orice. Acestea sunt limitele reale ale LifeVeil.
Modelele simple pot fi ghicite
Formele scurte sau comune (un L, un Z, o linie dreaptă) pot fi ghicite de cineva care vă urmărește, după urmele de pe ecran sau din câteva încercări. Modelele reale sunt mult mai ușor de ghicit decât sugerează numărul de modele posibile. Folosiți mai multe puncte și mai multe schimbări de direcție. Aplicația vă avertizează în privința modelelor foarte simple, precum și înainte de a salva un seif al cărui model are mai puțin de 6 puncte.
Cât ar putea dura ghicirea
În aplicație, fiecare încercare durează aproximativ o secundă, iar ghicirea repetată încetinește fiecare deblocare, până la 5 minute. Însă cineva care are fișierul dvs. de backup sau care a extras sarea dispozitivului de pe un telefon rootat poate ghici în schimb pe un computer, fără așteptări. Argon2id încetinește acest proces, dar un model are mult mai puține posibilități decât o parolă lungă. Estimări aproximative pentru o singură placă grafică de top (clasa RTX 4090), la aproximativ 1.000 de încercări pe secundă:
| Ce se ghicește | Posibilități | Timp, o placă grafică |
|---|---|---|
| Cele mai comune 10.000 de modele | 104 | aproximativ 10 secunde |
| Toate modelele cu 6 puncte | 1,28 × 108 | aproximativ 1,5 zile |
| Toate modelele cu 7 puncte | 2,42 × 109 | aproximativ 28 de zile |
| Toate modelele cu 8 puncte | 4,36 × 1010 | aproximativ 1,4 ani |
| Fraza de recuperare (92 de biți) | 4,95 × 1027 | aproximativ 1,6 × 1017 ani |
Acestea sunt estimări, nu măsurători. Numărul de modele este o limită superioară; modelele reale sunt mult mai puține. Mai mult hardware sau hardware mai rapid face ghicirea proporțional mai rapidă. Un PIN la nivelul maxim înmulțește aceste cifre cu până la 108.
Păstrați fișierul de backup doar pentru dvs.
Fișierul de backup nu conține sarea dispozitivului, așa că oricine îl obține poate încerca modele offline, așa cum se arată mai sus. Păstrați-l doar acolo unde numai dvs. aveți acces, de exemplu în propriul cont de cloud, și folosiți un model mai lung.
Fraza de recuperare arată și modelul
Oricine are fraza de recuperare a unui seif poate deschide acel seif, iar aplicația îi arată apoi modelul și PIN-ul acestuia. Dacă folosiți același model și în altă parte, de exemplu pentru blocarea ecranului telefonului, află și acest lucru. Păstrați hârtia la fel de bine ca fișierele înseși.
Telefoane rootate sau infectate
Dacă cineva poate rula cod cu permisiunile aplicației (de exemplu, pe un telefon rootat sau cu un program rău intenționat care are control total), poate debloca sarea dispozitivului și poate ghici offline. Cât timp seiful este deschis, cheile se află în memorie și pot fi citite cu acces root sau cu un depanator. Unele copii făcute în Android și Flutter, precum și fotografiile afișate pe ecran, nu pot fi șterse imediat din memorie.
Unele informații sunt vizibile
Numărul fișierelor criptate din spațiul de stocare al aplicației, dimensiunile lor aproximative și momentul în care au fost create sau modificate nu sunt ascunse. Nici faptul că LifeVeil este instalată.
Seiful gol păcălește doar ecranul
Cine poate citi fișierele aplicației (de exemplu, pe un telefon cu root) poate număra folderele seifurilor și poate vedea că această setare este activată. Încetinirea numără la fel seifurile goale salvate și nesalvate, așa că așteptarea în sine nu le deosebește.
Deghizarea schimbă doar ecranul de pornire
- Se schimbă doar pictograma și numele din lansator. Lista Setări > Aplicații a telefonului, informațiile despre aplicație și ecranele de stocare afișează în continuare LifeVeil.
- Cititoarele de ecran pot spune în continuare „LifeVeil”. De exemplu, lansatorul Samsung One UI transmite către TalkBack numele real al aplicației, iar aplicația nu poate schimba acest lucru.
- Meniul de partajare din Android afișează întotdeauna numele real al aplicației, așa că LifeVeil se retrage din el când schimbați pictograma. Îl puteți reactiva.
- Solicitările de permisiune din Android afișează numele real, așa că aplicația cere permisiunile înainte să schimbați pictograma.
- Cât timp pictograma este schimbată, aplicația nu trimite notificări.
- Codul de deghizare (de 4 până la 8 cifre) afișează doar ecranul de blocare. Nu vă deschide fișierele. Este stocat ca hash cu sare, dar, având atât de puține posibilități, este ușor de aflat dacă cineva obține fișierul.
Amprenta este o cale mai slabă
Deblocarea cu amprenta ocolește Argon2id. Siguranța ei depinde de senzorul de amprentă al telefonului și de Android Keystore. O puteți dezactiva oricând din Setări.
Detaliile fotografiilor
- Pentru fotografiile HEIC, PNG și WebP, detaliile ascunse (EXIF) rămân în fișier. Întregul fișier este totuși criptat.
- Pe Android 10 și versiunile ulterioare, Android elimină locația GPS din fotografiile citite de LifeVeil, deoarece aplicația nu solicită acces la locație. Când originalul este șters din galerie, locația respectivă dispare.
- Fotografiile adăugate prin selectorul de fotografii Android primesc nume noi bazate pe dată, deoarece selectorul nu furnizează numele original.
Blocarea este amânată în timpul ecranelor de sistem
Cât timp este deschis un ecran de sistem (solicitare de permisiune, confirmare de ștergere, selector de fotografii sau de fișiere, solicitare de amprentă) și cât timp rulează un import sau un export, aplicația amână blocarea. Dacă ați părăsit aplicația, aceasta se blochează la 2 secunde după ce se încheie.
Seifurile au aceeași sare a dispozitivului
Toate seifurile de pe un telefon folosesc aceeași sare a dispozitivului. Dacă cineva are această sare, o singură încercare testează toate seifurile deodată. Costul atacării unui singur seif rămâne același.
Lucruri pe care nicio aplicație nu le poate împiedica
Cineva care vă privește când desenați modelul sau o cameră care vă filmează ecranul.
Fără frază, nimeni nu vă poate ajuta
Dacă uitați modelul unui seif fără frază de recuperare sau pierdeți atât modelul, cât și fraza, nimeni nu îi poate recupera fișierele. Nici măcar noi.