Ako LifeVeil chráni vaše súbory
Táto stránka jednoduchými slovami vysvetľuje, čo LifeVeil robí, a aj to, čo nedokáže. Chceme, aby ste radšej poznali obmedzenia, než aby ste verili príliš veľkému sľubu.
V skratke
- Všetko šifrovanie prebieha vo vašom telefóne. LifeVeil nemá žiadny server ani účet.
- Súbory každého trezoru sú zašifrované náhodným kľúčom. Tento kľúč dokáže odomknúť iba vzor daného trezoru (na najvyššej úrovni spolu s jeho PIN), jeho fráza na obnovenie, ak ste ju pridali, alebo váš odtlačok prsta, ak ste ho zapli.
- Každý vzor otvorí trezor. Vzor, ktorý nezodpovedá žiadnemu uloženému trezoru, otvorí prázdny trezor a nič sa nezapíše, kým doň nepridáte súbor.
- My, vývojári, nikdy nemáme váš vzor, váš PIN, vašu frázu ani vaše kľúče. Vaše súbory nedokážeme otvoriť a váš vzor nedokážeme resetovať.
- Používame šifrovanie zabudované v Androide a známu knižnicu libsodium. Vlastné šifrovanie sme nepísali.
- LifeVeil zatiaľ neprešiel nezávislým bezpečnostným auditom.
Od vzoru ku kľúču
Vzor kreslíte na mriežke 5×5 a žiadny bod nepoužijete dvakrát. Nový vzor, ktorý nastavujete, musí spájať aspoň 6 bodov. LifeVeil zmení vzor na kľúč pomocou funkcie Argon2id z knižnice libsodium (v Androide verzia 1.0.20).
- Nastavenia: 64 MiB pamäte, 3 prechody, 1 vlákno, 256-bitový kľúč.
- Argon2id je zámerne pomalý a pri každom pokuse potrebuje veľa pamäte. Vďaka tomu je hádanie pomocou grafických kariet oveľa drahšie.
- Na našich testovacích telefónoch trvá jedno odomknutie asi 0,6 až 0,9 sekundy.
- Vzor sa zmieša s náhodnou 16-bajtovou soľou zariadenia. Soľ je uložená v aplikácii, zašifrovaná kľúčom uloženým v Android Keystore, ktorý sa nedá skopírovať z telefónu.
- Žiadna kópia vzoru sa neukladá, okrem kópie uloženej spolu s frázou na obnovenie (pozri nižšie). Aplikácia overí vzor tak, že sa ním pokúsi odomknúť kľúč.
- Čokoľvek zadáte do poľa PIN nad bodmi, vstupuje do rovnakého odvodenia kľúča ako vzor. Prázdne pole znamená iba vzor.
Úrovne zabezpečenia
Každý trezor má jednu úroveň. Vyberiete ju na začiatku a neskôr ju môžete zmeniť v Nastavenia > Trezor > Úroveň zabezpečenia, keď znova nakreslíte vzor.
- Najvyššie zabezpečenie (Ultra): vzor a PIN so 6 až 8 číslicami, oboje iba vo vašej hlave. Bezpečné aj proti hádaniu pomocou AI. Ak zabudnete jedno z nich, trezor sa nedá obnoviť.
- Úroveň 1 (odporúčaná): iba vzor. Bezpečné, ak sa vyhnete bežným tvarom. Ak ho zabudnete, trezor sa nedá obnoviť.
- Úroveň 2: vzor a fráza na obnovenie zapísaná na papieri. Ak zabudnete vzor, dostanete sa späť, ale kto nájde papier, otvorí trezor tiež.
- Úroveň 3: vzor a odtlačok prsta. Najpohodlnejšie, ale niekto vás môže prinútiť priložiť prst na snímač. Odtlačok prsta funguje iba pre jeden trezor.
Ako sa súbory šifrujú
- Každý trezor má náhodný 256-bitový hlavný kľúč. Kľúč zo vzoru a kľúč na obnovenie tento hlavný kľúč iba „zabaľujú“ (šifrujú).
- Súbory, miniatúry a zoznam vašich položiek (pôvodné názvy súborov, dátumy, veľkosti) sú zašifrované pomocou AES-256-GCM so šifrovaním zabudovaným v Androide. GCM tiež zistí, či bol súbor zmenený alebo zamenený.
- Súbory v aplikácii majú náhodné názvy. Veľké súbory sa šifrujú po častiach s veľkosťou 1 MiB, takže videá sa prehrávajú bez toho, aby sa do úložiska niekedy zapísala nezašifrovaná kópia.
- Pri fotkách JPEG sa skryté údaje (EXIF, napríklad fotoaparát a dátum) ukladajú oddelene, tiež zašifrované.
- Keď sa aplikácia uzamkne, prepíše kľúče, ktoré má v pamäti, nulami.
Fráza na obnovenie
- Fráza na obnovenie je voliteľná. Trezor ju dostane iba vtedy, keď zvolíte Úroveň 2, a uloží sa, keď prejdete krátkym kvízom.
- Bezpečný generátor náhodných čísel v telefóne vyberie 9 anglických slov. Pochádzajú z dvoch zoznamov po 1 024 bežných slovách, v jednom zo 4 pevných poradí. To je 92 bitov náhodnosti. Slová sú anglické vo všetkých jazykoch aplikácie.
- Fráza prechádza rovnakými nastaveniami Argon2id a sama osebe odomkne hlavný kľúč. Nepotrebuje soľ zariadenia, takže funguje, aj keď vzor už nefunguje.
- Kópia frázy a kópia vzoru trezoru (a PIN) sú uložené v telefóne, každá zašifrovaná dvakrát: raz hlavným kľúčom a raz kľúčom z Android Keystore. Keď fráza otvorí trezor, aplikácia raz zobrazí vzor. Po uzamknutí aplikácie sa zabudne.
- Pri zmene vzoru zostáva fráza rovnaká. Trezor bez frázy nemá žiadnu cestu späť, ak sa vzor zabudne.
Odtlačok prsta
Odomykanie odtlačkom prsta je voliteľné a funguje pre jeden trezor. Odtlačok overuje Android, nie LifeVeil; aplikácia váš odtlačok nikdy nedostane. Kľúč v Android Keystore, ktorý funguje iba hneď po silnom biometrickom overení, odomyká hlavný kľúč. Ak niekto do telefónu pridá nový odtlačok prsta, tento kľúč prestane fungovať a musíte znova použiť vzor.
Záložný súbor
- Záloha je jeden súbor
.lvb. Obsahuje vaše položky presne tak, ako sú už zašifrované, a k tomu zabalené kópie hlavného kľúča: jednu pre vzor, ktorý ste nakreslili pri vytváraní zálohy, a jednu pre frázu na obnovenie, ak ju trezor mal. - Kópia pre vzor používa pri každej zálohe novú náhodnú soľ, nie soľ zariadenia. Vďaka tomu môžete zálohu otvoriť v novom telefóne.
- Hlavička súboru je chránená tak, aby sa zistili zmeny alebo zamenené časti.
- Kam ju uložíte, vyberiete na vlastnej obrazovke ukladania v Androide. Nikdy neprechádza cez nás.
- Pri obnovení otvoríte súbor jeho vzorom alebo jeho frázou. Potom nakreslíte nový vzor. Obnovený trezor začína bez frázy na obnovenie.
Ďalšia ochrana v aplikácii
- Snímky obrazovky, nahrávanie obrazovky a náhľad v zozname nedávnych aplikácií sú zablokované na každej obrazovke.
- Predvolene sa aplikácia uzamkne hneď, ako ju opustíte. Namiesto toho môžete zvoliť 30 sekúnd alebo 1 minútu.
- Vlastná cloudová záloha Androidu ani prenos z telefónu do telefónu nezahŕňajú údaje LifeVeil. Namiesto nich použite záložný súbor.
- Aplikácia nežiada prístup k polohe, kontaktom ani ku „všetkým súborom“.
- Prázdny trezor pre každý nový vzor. Trezor bez súborov vyzerá rovnako, či už bol uložený, alebo nie, takže ten, kto vás núti aplikáciu otvoriť, nezistí, čo v nej ešte je. Vypnúť to môžete v Nastavenia > Zabezpečenie a potom vzor, ktorý nič neotvorí, namiesto toho zobrazí chybu.
Spomalenie hádania
Keďže každý vzor otvorí trezor, hádanie vyzerá ako otváranie mnohých prázdnych trezorov. LifeVeil ho spomalí bez akéhokoľvek oznámenia na obrazovke a čakanie je rovnaké pre každý vzor, aj pre ten správny.
- V priebehu 24 hodín pridá 10 otvorení trezorov bez súborov ku každému odomknutiu 10 sekúnd, 20 otvorení 60 sekúnd a 30 otvorení 5 minút, čo je maximum.
- Známky automatizácie vedú rovno k maximu: vzory dokončené s odstupom menej ako 2 sekundy trikrát za sebou alebo dotyky, ktoré pochádzajú zo služieb dostupnosti alebo z vloženého vstupu namiesto prsta.
- Každých 24 hodín bez otvorenia prázdneho trezoru ho zmierni o jeden stupeň. Posunutie hodín v telefóne späť ho neskráti.
- Funguje to iba v aplikácii. Nespomalí hádanie na počítači so skopírovaným súborom (pozri obmedzenia nižšie).
AI a hádanie vzoru
- AI nedokáže preskočiť matematiku. Každý pokus musí stále prejsť cez Argon2id so 64 MiB pamäte. AI neprelomí Argon2id ani AES, takže žiadny jednotlivý pokus nezlacnie.
- AI mení poradie pokusov. Dokáže sa naučiť tvary, ktoré ľudia majú radi (písmená, štvorce, obľúbené začiatočné rohy), a skúsiť ich ako prvé. Môže tiež pomôcť vyčítať vzor z videa natočeného ponad vaše plece alebo zo šmúh na obrazovke.
- Preto sa ochrana týka vzoru, nie matematiky. Aplikácia upozorňuje na bežné tvary. Najvyššia úroveň zabezpečenia pridáva 6- až 8-miestny PIN, takže vzor zachytený na videu nestačí. Skryť čiaru vzoru nenechá žiadnu čiaru, ktorá by sa dala natočiť. Soľ zariadenia v Android Keystore zabraňuje hádaniu mimo telefónu.
Obmedzenia, ktoré by ste mali poznať
Žiadna aplikácia nedokáže chrániť pred všetkým. Toto sú úprimné obmedzenia LifeVeil.
Jednoduché vzory sa dajú uhádnuť
Krátke alebo bežné tvary (L, Z, rovná čiara) sa dajú uhádnuť, keď vás niekto pozoruje, podľa šmúh na obrazovke alebo na pár pokusov. Skutočné vzory sa hádajú oveľa ľahšie, než by naznačoval počet možných vzorov. Použite viac bodov a viac zalomení. Aplikácia vás upozorní na veľmi jednoduché vzory a tiež predtým, ako uloží trezor, ktorého vzor má menej ako 6 bodov.
Ako dlho by hádanie mohlo trvať
V aplikácii trvá každý pokus asi sekundu a opakované hádanie spomalí každé odomknutie, až o 5 minút. Niekto, kto má váš záložný súbor alebo kto získal soľ zariadenia z telefónu s rootom, však môže hádať na počítači, bez čakania. Argon2id to spomaľuje, ale vzor má oveľa menej možností ako dlhé heslo. Približné odhady pre jednu výkonnú grafickú kartu (trieda RTX 4090) pri asi 1 000 pokusoch za sekundu:
| Čo sa háda | Možnosti | Čas, jedna grafická karta |
|---|---|---|
| 10 000 najbežnejších vzorov | 104 | asi 10 sekúnd |
| Všetky vzory so 6 bodmi | 1,28 × 108 | asi 1,5 dňa |
| Všetky vzory so 7 bodmi | 2,42 × 109 | asi 28 dní |
| Všetky vzory s 8 bodmi | 4,36 × 1010 | asi 1,4 roka |
| Fráza na obnovenie (92 bitov) | 4,95 × 1027 | asi 1,6 × 1017 rokov |
Ide o odhady, nie merania. Počty vzorov sú horné hranice; skutočných vzorov je oveľa menej. Viac alebo rýchlejšieho hardvéru úmerne zrýchľuje hádanie. PIN na najvyššej úrovni tieto čísla znásobí až 108-krát.
Záložný súbor si nechajte pre seba
Záložný súbor neobsahuje soľ zariadenia, takže ktokoľvek, kto ho získa, môže skúšať vzory offline, ako je uvedené vyššie. Ukladajte ho iba tam, kam máte prístup len vy, napríklad do vlastného cloudového účtu, a použite dlhší vzor.
Fráza na obnovenie ukáže aj vzor
Kto má frázu na obnovenie trezoru, môže tento trezor otvoriť a aplikácia mu potom ukáže jeho vzor a PIN. Ak rovnaký vzor používate aj inde, napríklad na zámku obrazovky telefónu, zistí aj ten. Papier chráňte rovnako dobre ako samotné súbory.
Telefóny s rootom alebo napadnuté telefóny
Ak niekto dokáže spustiť kód s oprávneniami aplikácie (napríklad v telefóne s rootom alebo pomocou malvéru, ktorý má úplnú kontrolu), môže odomknúť soľ zariadenia a hádať offline. Kým je trezor otvorený, kľúče sú v pamäti a dajú sa prečítať s prístupom root alebo pomocou debuggera. Niektoré kópie vytvorené v Androide a Flutteri a fotky zobrazené na obrazovke sa nedajú z pamäte vymazať okamžite.
Niektoré informácie sú viditeľné
Počet zašifrovaných súborov v úložisku aplikácie, ich približná veľkosť a čas ich vytvorenia alebo zmeny nie sú skryté. Rovnako nie je skryté ani to, že je LifeVeil nainštalovaný.
Prázdny trezor oklame len obrazovku
Kto dokáže čítať súbory aplikácie (napríklad na telefóne s rootom), môže spočítať priečinky trezorov a vidieť, že je toto nastavenie zapnuté. Spomalenie počíta uložené aj neuložené prázdne trezory rovnako, takže samotné čakanie ich od seba nerozlíši.
Maskovanie mení iba plochu
- Mení sa iba ikona a názov v spúšťači. Zoznam Nastavenia > Aplikácie v telefóne, informácie o aplikácii a obrazovky úložiska stále zobrazujú LifeVeil.
- Čítačky obrazovky môžu stále hovoriť „LifeVeil“. Napríklad spúšťač Samsung One UI odovzdáva TalkBacku skutočný názov aplikácie a aplikácia to nemôže zmeniť.
- Ponuka zdieľania v Androide vždy zobrazuje skutočný názov aplikácie, preto z nej LifeVeil pri zmene ikony zmizne. Zobrazovanie v nej môžete znova zapnúť.
- Žiadosti o povolenie v Androide zobrazujú skutočný názov, preto aplikácia žiada o povolenia ešte pred zmenou ikony.
- Kým je ikona zmenená, aplikácia neposiela upozornenia.
- Kód maskovania (4 až 8 číslic) iba zobrazí obrazovku uzamknutia. Vaše súbory neotvorí. Je uložený ako osolený hash, ale pri takom malom počte možností sa dá ľahko zistiť, ak niekto získa súbor.
Odtlačok prsta je slabšia cesta
Odomykanie odtlačkom prsta obchádza Argon2id. Jeho sila závisí od snímača odtlačkov prstov vo vašom telefóne a od Android Keystore. V Nastaveniach ho môžete kedykoľvek vypnúť.
Údaje o fotkách
- Pri fotkách HEIC, PNG a WebP zostávajú skryté údaje (EXIF) vnútri súboru. Celý súbor je aj tak zašifrovaný.
- V Androide 10 a novšom Android odstraňuje polohu GPS z fotiek, ktoré LifeVeil načíta, pretože aplikácia nežiada prístup k polohe. Keď sa originál odstráni z galérie, táto poloha zanikne.
- Fotky pridané cez výber fotiek v Androide dostanú nové názvy podľa dátumu, pretože výber neposkytuje pôvodný názov.
Počas systémových obrazoviek sa uzamykanie pozastaví
Kým je otvorená systémová obrazovka (žiadosť o povolenie, potvrdenie odstránenia, výber fotiek alebo súborov, výzva na odtlačok prsta) a kým prebieha import alebo export, aplikácia s uzamknutím počká. Ak ste aplikáciu opustili, uzamkne sa 2 sekundy potom, ako sa to skončí.
Trezory zdieľajú jednu soľ zariadenia
Všetky trezory v telefóne používajú rovnakú soľ zariadenia. Ak niekto túto soľ má, jedným pokusom otestuje všetky trezory naraz. Náklady na útok na jeden trezor sú rovnaké.
Čo nedokáže zastaviť žiadna aplikácia
Niekoho, kto vás sleduje pri kreslení vzoru, alebo kameru, ktorá natáča vašu obrazovku.
Bez frázy vám nikto nepomôže
Ak zabudnete vzor trezoru, ktorý nemá frázu na obnovenie, alebo stratíte vzor aj frázu, jeho súbory nedokáže obnoviť nikto. Ani my.