Hogyan védi a LifeVeil a fájljaidat
Ez az oldal egyszerű szavakkal elmagyarázza, mit csinál a LifeVeil, és azt is, mire nem képes. Jobb, ha ismered a korlátokat, mint ha egy túl nagy ígéretben bíznál.
Röviden
- Minden titkosítás a telefonodon történik. Nincs LifeVeil-szerver, és nincs fiók.
- A fájljaid egy véletlenszerű kulccsal vannak titkosítva. Ezt a kulcsot csak a mintád, a helyreállító kifejezésed vagy az ujjlenyomatod oldhatja fel.
- Mi, a fejlesztők, soha nem ismerjük a mintádat, a kifejezésedet vagy a kulcsaidat. Nem tudjuk megnyitni a fájljaidat, és a mintádat sem tudjuk visszaállítani.
- Az Androidba épített titkosítást és a jól ismert libsodium könyvtárat használjuk. Nem saját titkosítást írtunk.
- A LifeVeil még nem esett át független biztonsági auditon.
A mintától a kulcsig
Egy 5×5-ös rácson rajzolsz mintát, legalább 6 ponttal, és egyik pontot sem érintheted kétszer. A LifeVeil a mintát az Argon2id segítségével alakítja kulccsá, amely a libsodium része (Androidon az 1.0.20-as verzió).
- Beállítások: 64 MiB memória, 3 menet, 1 sáv, 256 bites kulcs.
- Az Argon2id szándékosan lassú, és minden próbálkozáshoz sok memóriát igényel. Ez sokkal drágábbá teszi a videokártyás találgatást.
- A tesztelésre használt telefonjainkon egy feloldás körülbelül 0,6–0,9 másodpercig tart.
- A minta egy véletlenszerű, 16 bájtos eszközsóval keveredik. A só az alkalmazásban van tárolva, egy olyan kulccsal titkosítva, amelyet az Android Keystore őriz, és amely nem másolható le a telefonról.
- A mintáról nem készül tárolt másolat. Az alkalmazás úgy ellenőrzi a mintát, hogy megpróbálja vele feloldani a kulcsot.
- 5 egymást követő hibás minta után 30 másodpercet kell várnod. A várakozási idő minden további hiba után megduplázódik, legfeljebb 16 percig.
Hogyan titkosítja a fájlokat
- Minden trezornak van egy véletlenszerű, 256 bites mesterkulcsa. A mintádból és a helyreállító kifejezésből készült kulcs csak „becsomagolja” (titkosítja) ezt a mesterkulcsot.
- A fájlok, a bélyegképek és az elemeid listája (eredeti fájlnevek, dátumok, méretek) AES-256-GCM titkosítással védettek, az Android beépített titkosításával. A GCM azt is észleli, ha egy fájlt módosítottak vagy kicseréltek.
- Az alkalmazásban lévő fájlok véletlenszerű nevet kapnak. A nagy fájlok 1 MiB-os darabokban vannak titkosítva, így a videók lejátszhatók anélkül, hogy titkosítatlan másolat kerülne a tárhelyre.
- A JPEG fotóknál a rejtett adatok (EXIF, például a fényképezőgép és a dátum) külön, szintén titkosítva vannak tárolva.
- Amikor az alkalmazás zárol, nullákkal írja felül a memóriában tartott kulcsokat.
Helyreállító kifejezés
- Trezor létrehozásakor a telefon biztonságos véletlenszám-generátora 9 angol szót választ. A szavak két, egyenként 1024 gyakori szót tartalmazó listából származnak, 4 rögzített sorrend egyikében. Ez 92 bit véletlenszerűséget jelent. A szavak az alkalmazás minden nyelvén angolok.
- A kifejezés ugyanazokkal az Argon2id-beállításokkal kerül feldolgozásra, és önmagában is feloldja a mesterkulcsot. Nincs szüksége az eszközsóra, így akkor is működik, ha a minta már nem.
- A kifejezés egy másolata a telefonon van tárolva, kétszeresen titkosítva: egyszer a mesterkulccsal, egyszer pedig egy Android Keystore-kulccsal. A Beállításokban megtekintheted, miután újra lerajzoltad a mintádat.
- Ha módosítod a mintádat, vagy a kifejezéssel jutsz vissza, új kifejezést kapsz. A régi megszűnik működni.
Ujjlenyomat
Az ujjlenyomatos feloldás nem kötelező. Az ujjlenyomatot az Android ellenőrzi, nem a LifeVeil; az alkalmazás soha nem kapja meg az ujjlenyomatodat. A mesterkulcsot egy olyan Android Keystore-kulcs oldja fel, amely csak közvetlenül egy erős biometrikus ellenőrzés után működik. Ha valaki új ujjlenyomatot ad hozzá a telefonhoz, ez a kulcs megszűnik működni, és ismét a mintádat kell használnod.
Mentési fájl
- A mentés egyetlen
.lvbfájl. Az elemeidet pontosan úgy tartalmazza, ahogy már titkosítva vannak, valamint a mesterkulcs két becsomagolt másolatát: egyet a mentés készítésekor lerajzolt mintához, egyet pedig az akkori helyreállító kifejezéshez. - A mintához tartozó másolat minden mentésnél új, véletlenszerű sót használ, nem az eszközsót. Ez teszi lehetővé, hogy a mentést új telefonon is megnyisd.
- A fájl fejléce védett, így a módosítások vagy a kicserélt részek kiderülnek.
- Azt, hogy hová mented, az Android saját mentési képernyőjén választod ki. A fájl soha nem halad át rajtunk.
- Visszaállításkor a fájlt a hozzá tartozó mintával vagy kifejezéssel nyithatod meg. Ezután új mintát rajzolsz, és új helyreállító kifejezést kapsz.
További védelmek az alkalmazásban
- A képernyőképek, a képernyőrögzítés és a legutóbbi alkalmazások listájában megjelenő előnézet minden képernyőn le van tiltva.
- Alapértelmezés szerint az alkalmazás azonnal zárol, amint kilépsz belőle. Helyette 30 másodpercet vagy 1 percet is választhatsz.
- Az Android saját felhőalapú biztonsági mentése és a telefonok közötti átvitel nem tartalmazza a LifeVeil adatait. Használd helyette a mentési fájlt.
- Az alkalmazás nem kér hozzáférést a helyadatokhoz, a névjegyekhez vagy az „összes fájlhoz”.
- Üres széf hibás mintánál. Ha egy minta egyik széfet sem nyitja meg, hibaüzenet helyett egy üres széf nyílik meg, így aki az alkalmazás megnyitására kényszeríti, nem tudja meg, mi van még benne. A hibás próbálkozásokat továbbra is számolja, a betolakodóról továbbra is fénykép készül, és a várakozási idők is érvényesek maradnak. Ezt itt kapcsolhatja ki: Beállítások > Biztonság > Üres széf hibás mintánál.
A mesterséges intelligencia és a minta kitalálása
- A mesterséges intelligencia nem kerülheti meg a matematikát. Minden próbálkozásnak továbbra is le kell futtatnia az Argon2id-t 64 MiB memóriával. A mesterséges intelligencia nem töri fel az Argon2id-t vagy az AES-t, így egyetlen próbálkozás sem lesz olcsóbb.
- A mesterséges intelligencia a próbálkozások sorrendjén változtat. Megtanulhatja, milyen alakzatokat kedvelnek az emberek (betűket, négyzeteket, kedvelt kezdősarkokat), és ezeket próbálhatja először. Abban is segíthet, hogy a mintát kiolvassák egy a vállad fölött készült videóból vagy a képernyőn lévő ujjnyomokból.
- A védekezés ezért a mintáról szól, nem a matematikáról. Az erősségmérő figyelmeztet a gyakori alakzatokra. A Minta + PIN egy 4–6 számjegyű PIN-kódot ad hozzá, így a videón látott minta önmagában nem elég. A Mintavonal elrejtése nem hagy lefilmezhető vonalat. Az Android Keystore-ban tárolt eszközsó megakadályozza a telefonon kívüli találgatást.
Korlátok, amelyekről tudnod kell
Egyetlen alkalmazás sem véd meg mindentől. Ezek a LifeVeil őszinte korlátai.
Az egyszerű minták kitalálhatók
A rövid vagy gyakori alakzatok (egy L, egy Z, egy egyenes vonal) kitalálhatók, ha valaki figyel közben, a képernyőn lévő ujjnyomokból, vagy néhány próbálkozással. A valódi mintákat sokkal könnyebb kitalálni, mint azt a lehetséges minták száma sugallja. Használj több pontot és több fordulatot. Az alkalmazás figyelmeztet a nagyon egyszerű mintákra.
Mennyi ideig tarthat a találgatás
Az alkalmazásban minden próbálkozás körülbelül egy másodpercig tart, és 5 hiba után egyre hosszabb a várakozás. Aki viszont megszerzi a mentési fájlodat, vagy egy rootolt telefonról kinyeri az eszközsót, az számítógépen is találgathat, várakozás nélkül. Az Argon2id ezt lelassítja, de egy mintának sokkal kevesebb lehetősége van, mint egy hosszú jelszónak. Durva becslések egyetlen csúcskategóriás videokártyára (RTX 4090 kategória), másodpercenként körülbelül 1000 próbálkozással:
| Mit találgatnak | Lehetőségek | Idő egy videokártyával |
|---|---|---|
| A 10 000 leggyakoribb minta | 104 | körülbelül 10 másodperc |
| Minden 6 pontos minta | 1,28 × 108 | körülbelül 1,5 nap |
| Minden 7 pontos minta | 2,42 × 109 | körülbelül 28 nap |
| Minden 8 pontos minta | 4,36 × 1010 | körülbelül 1,4 év |
| Helyreállító kifejezés (92 bit) | 4,95 × 1027 | körülbelül 1,6 × 1017 év |
Ezek becslések, nem mérések. A mintaszámok felső határok; a valódi minták jóval kevesebben vannak. Több vagy gyorsabb hardverrel a találgatás arányosan gyorsabb.
Tartsd titokban a mentési fájlt
A mentési fájl nem tartalmazza az eszközsót, így aki megszerzi, offline próbálgathatja a mintákat, ahogy fent látható. Csak olyan helyen tárold, amelyhez egyedül te férsz hozzá, például a saját felhőfiókodban, és használj hosszabb mintát.
Rootolt vagy fertőzött telefonok
Ha valaki az alkalmazás jogosultságaival tud kódot futtatni (például egy rootolt telefonon, vagy teljes irányítást szerzett kártevővel), feloldhatja az eszközsót, és offline találgathat. Amíg a trezor nyitva van, a kulcsok a memóriában vannak, és root-hozzáféréssel vagy hibakeresővel kiolvashatók. Az Android és a Flutter által belül készített egyes másolatok, valamint a képernyőn megjelenített fotók nem törölhetők azonnal a memóriából.
Néhány információ látható
Az alkalmazás tárhelyén lévő titkosított fájlok száma, hozzávetőleges mérete, valamint létrehozásuk és módosításuk ideje nincs elrejtve. Az sem, hogy a LifeVeil telepítve van.
Az üres széf csak a képernyőt téveszti meg
Aki el tudja olvasni az alkalmazás fájljait (például rootolt telefonon), megszámolhatja a széfek mappáit, és láthatja, hogy ez a beállítás be van kapcsolva. Ráadásul 5 hibás minta után várni kell, ami elárulja, hogy a korábbi minták semmit sem nyitottak meg.
Az álcázás csak a kezdőképernyőt változtatja meg
- Csak az indítóikon és a név változik meg. A telefon Beállítások > Alkalmazások listája, az alkalmazásinformációk és a tárhelyképernyők továbbra is a LifeVeil nevet mutatják.
- A képernyőolvasók továbbra is kimondhatják a „LifeVeil” nevet. A Samsung One UI indítója például a valódi alkalmazásnevet adja át a TalkBacknek, és ezen az alkalmazás nem tud változtatni.
- Az Android megosztási menüje mindig a valódi alkalmazásnevet mutatja, ezért a LifeVeil az ikon váltásakor eltűnik onnan. Ezt visszakapcsolhatod.
- Az Android engedélykérései a valódi nevet mutatják, ezért az alkalmazás az ikon váltása előtt kéri el az engedélyeket.
- Amíg az ikon módosítva van, az alkalmazás nem küld értesítéseket.
- Az álcakód (4–8 számjegy) csak a zárolási képernyőt jeleníti meg. A fájljaidat nem nyitja meg. Sózott hash-ként van tárolva, de ilyen kevés lehetőség mellett könnyen kideríthető, ha valaki megszerzi a fájlt.
Az ujjlenyomat gyengébb út
Az ujjlenyomatos feloldás kihagyja az Argon2id-t. Az erőssége a telefonod ujjlenyomat-érzékelőjétől és az Android Keystore-tól függ. A Beállításokban bármikor kikapcsolhatod.
Betolakodófotók
Az alkalmazás nem ad ki zárhangot, de egyes országokban, például Japánban és Koreában forgalmazott telefonok mindig lejátszanak egyet. Nem készül fotó, ha egy másik alkalmazás használja a kamerát, vagy nincs elülső kamera. Amíg fel nem oldod az elsőként létrehozott trezort, a fotókat egy Android Keystore-kulcs zárja le.
Fotóadatok
- HEIC, PNG és WebP fotóknál a rejtett adatok (EXIF) a fájlon belül maradnak. A teljes fájl ettől még titkosítva van.
- Android 10 és újabb rendszeren az Android eltávolítja a GPS-helyadatot a LifeVeil által beolvasott fotókból, mert az alkalmazás nem kér hozzáférést a helyadatokhoz. Ha az eredetit törlöd a galériából, ez a helyadat elvész.
- Az Android fotóválasztójával hozzáadott fotók dátumon alapuló új nevet kapnak, mert a választó nem adja át az eredeti nevet.
A zárolás szünetel a rendszerképernyők alatt
Amíg egy rendszerképernyő nyitva van (engedélykérés, törlés megerősítése, fotó- vagy fájlválasztó, ujjlenyomat-kérés), és amíg importálás vagy exportálás fut, az alkalmazás vár a zárolással. Ha közben kiléptél az alkalmazásból, ezek befejezése után 2 másodperccel zárol.
A trezorok egy közös eszközsót használnak
Egy telefonon minden trezor ugyanazt az eszközsót használja. Ha valaki megszerzi ezt a sót, egyetlen próbálkozással egyszerre az összes trezort tesztelheti. Egyetlen trezor támadásának költsége ugyanannyi marad.
Amit egyetlen alkalmazás sem tud megakadályozni
Ha valaki figyeli, ahogy a mintádat rajzolod, vagy egy kamera filmezi a képernyődet.
Ha mindkettőt elveszíted, senki sem tud segíteni
Ha a mintádat és a helyreállító kifejezést is elveszíted, senki sem tudja visszaállítani a fájljaidat. Még mi sem.