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.
- Vaše súbory sú zašifrované náhodným kľúčom. Tento kľúč dokáže odomknúť iba váš vzor, vaša fráza na obnovenie alebo váš odtlačok prsta.
- My, vývojári, nikdy nemáme váš vzor, 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, spájate aspoň 6 bodov a žiadny bod nepoužijete dvakrát. 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á. Aplikácia overí vzor tak, že sa ním pokúsi odomknúť kľúč.
- Po 5 nesprávnych vzoroch za sebou musíte počkať 30 sekúnd. Po každej ďalšej chybe sa čakanie zdvojnásobí, až na 16 minút.
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
- Keď vytvoríte trezor, 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 je uložená v telefóne, zašifrovaná dvakrát: raz hlavným kľúčom a raz kľúčom z Android Keystore. Môžete si ju pozrieť v Nastaveniach po opätovnom nakreslení vzoru.
- Keď zmeníte vzor alebo sa vrátite do aplikácie pomocou frázy, dostanete novú frázu. Stará prestane fungovať.
Odtlačok prsta
Odomykanie odtlačkom prsta je voliteľné. 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 dve 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, ktorú ste vtedy mali. - 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 a dostanete novú frázu 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 pri nesprávnom vzore. Vzor, ktorý neotvorí žiadny trezor, namiesto chyby otvorí prázdny trezor, takže ten, kto vás núti aplikáciu otvoriť, nezistí, čo v nej ešte je. Neúspešné pokusy sa ďalej počítajú, fotky narušiteľa sa ďalej robia a čakacie doby ďalej platia. Vypnúť to môžete v Nastavenia > Zabezpečenie > Prázdny trezor pri nesprávnom vzore.
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. Ukazovateľ sily upozorňuje na bežné tvary. Vzor + PIN pridáva 4- až 6-ciferný 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 na veľmi jednoduché vzory upozorní.
Ako dlho by hádanie mohlo trvať
V aplikácii trvá každý pokus asi sekundu a po 5 chybách sa čakanie predlžuje. 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.
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.
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é. A po 5 nesprávnych vzoroch vás aplikácia nechá čakať, z čoho vidno, že predchádzajúce vzory nič neotvorili.
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úť.
Fotky narušiteľov
Aplikácia neprehráva zvuk uzávierky, ale telefóny predávané v niektorých krajinách, napríklad v Japonsku a Kórei, ho prehrávajú vždy. Fotka sa neurobí, ak kameru používa iná aplikácia alebo ak telefón nemá prednú kameru. Kým neodomknete prvý trezor, ktorý ste vytvorili, fotky sú zapečatené kľúčom z Android Keystore.
Ú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.
Ak stratíte oboje, nikto vám nepomôže
Ak stratíte vzor aj frázu na obnovenie, vaše súbory nedokáže obnoviť nikto. Ani my.