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 dvs. sunt criptate cu o cheie aleatorie. Doar modelul, fraza de recuperare sau amprenta dvs. pot debloca acea cheie.
- Noi, dezvoltatorii, nu avem niciodată modelul, 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, folosind cel puțin 6 puncte, fără a trece de două ori prin același punct. 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. Aplicația verifică un model încercând să deblocheze cheia.
- După 5 modele greșite la rând, trebuie să așteptați 30 de secunde. Așteptarea se dublează după fiecare nouă greșeală, până la 16 minute.
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
- Când creați un seif, 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 este stocată pe telefon, criptată de două ori: o dată cu cheia principală și o dată cu o cheie Android Keystore. O puteți vedea în Setări după ce desenați din nou modelul.
- Când schimbați modelul sau folosiți fraza pentru a intra din nou, primiți o frază nouă. Cea veche nu mai funcționează.
Amprenta
Deblocarea cu amprenta este opțională. 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 două 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 pe care o aveați atunci. - 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 și primiți o frază de recuperare nouă.
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”.
- Seif gol la model greșit. Un model care nu deschide niciun seif afișează un seif gol în loc de o eroare, astfel încât cine vă obligă să deschideți aplicația nu poate ști ce mai există. Încercările greșite se numără în continuare, fotografiile intrușilor se fac în continuare, iar timpii de așteptare se aplică în continuare. Puteți dezactiva acest lucru din Setări > Securitate > Seif gol la model greșit.
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. Indicatorul de putere avertizează în privința formelor comune. Model + PIN adaugă un PIN de 4–6 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.
Cât ar putea dura ghicirea
În aplicație, fiecare încercare durează aproximativ o secundă, iar așteptările cresc după 5 greșeli. Î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ă.
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.
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ă. În plus, după 5 modele greșite aplicația vă pune să așteptați, ceea ce arată că modelele de dinainte nu au deschis nimic.
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.
Fotografii ale intrușilor
Aplicația nu redă sunetul declanșatorului, dar telefoanele vândute în unele țări, cum ar fi Japonia și Coreea, îl redau întotdeauna. Nu se face nicio fotografie dacă altă aplicație folosește camera sau dacă nu există cameră frontală. Până când deblocați primul seif creat, fotografiile sunt sigilate cu o cheie Android Keystore.
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.
Dacă le pierdeți pe amândouă, nimeni nu vă poate ajuta
Dacă pierdeți atât modelul, cât și fraza de recuperare, nimeni nu vă poate recupera fișierele. Nici măcar noi.