Mintaalapú titkosítás: hogyan védi egy rajzolt alakzat a fájljaidat
Az ujjaddal megrajzolsz egy mintát. A PBKDF2 ebből a mozdulatból széfkulcsot készít, amely feloldja a fájljaidat AES-256-GCM-mel védő, külön véletlenszerű kulcsot. Nincs jelszómező, nincs rövid PIN. Csak a mintád és egy tudatosan rétegzett kulcshierarchia.
A Vaultaire sorosítja az 5×5-ös rácson rajzolt alakzatot, és PBKDF2-HMAC-SHA512-vel dolgozza fel 600 000 iterációval és egy, az iOS-kulcskarikában tárolt, az egész eszközre érvényes sóval. A 256 bites eredmény a széfkulcs: ez titkosítja a széfindexet, és kicsomagolja azt a külön véletlenszerű mesterkulcsot, amelyet az AES-256-GCM a fájltartalomhoz és a metaadatokhoz használ.
Mi a mintaalapú titkosítás?
A legtöbb széfalkalmazás PIN-kód vagy jelszó mögé bújik. Beírsz négy számjegyet, és megjelennek a fotóid. Elég biztonságosnak hangzik, nem?
A gond az, hogy egy négyjegyű PIN-kódnak pontosan 10 000 lehetséges kombinációja van. Egy számítógép egy másodpercen belül mindegyiket kipróbálja. Hat számjegy? Egymillió kombináció. A modern hardvernek ez is gyerekjáték. Még egy nyolckarakteres, csak kisbetűket használó jelszó is csak nagyjából 200 milliárd lehetőséget ad. Ez soknak tűnik, amíg meg nem tudod, hogy egy átlagos laptop másodpercenként milliárdnyi jelszóhasht tud ellenőrizni.
A mintaalapú titkosítás alapvetően más megközelítés. Karakterek beírása helyett geometriai alakzatot rajzolsz egy ponthálón. Az általad bejárt útvonal — mely pontokat érinted, milyen sorrendben, milyen geometriával — egy jelszóalapú kulcsszármaztató függvény bemenete lesz. Az eredményt nem csak a felület ellenőrzi: fel kell oldania egy hitelesített, titkosított indexet és a benne lévő véletlenszerű mesterkulcsot.
A különbség lényeges. Ha egyes alkalmazásokban PIN-kódot adsz meg, az alkalmazás csak azt ellenőrzi, jó számot írtál-e be. Ha igen, megnyílik, pedig a fájlokat lehet, hogy főleg csak hozzáférés-szabályozás védi. A Vaultaire ezzel szemben a rajzolt mintát a PBKDF2-be táplálja, és 256 bites széfkulcsot származtat. Ennek a kulcsnak hitelesítenie és visszafejtenie kell a széfindexet, mielőtt kicsomagolhatja a fájlokhoz használt véletlenszerű mesterkulcsot. Egy ismeretlen minta üres széfként jelenik meg, de az AES-GCM-hitelesítés a háttérben továbbra is megkülönbözteti a helyes kulcsot a helytelentől.
Egy PIN-alapú hozzáférési kapu olyan lehet, mint egy zárt ajtó egyébként olvasható fájlok előtt. A Vaultaire mintája inkább egy széf számkombinációjához hasonlít: abból származik a kulcs, amely megnyit egy titkosított indexet, az pedig kiadja a tartalmat védő külön kulcsot. A felület nem tudja egyszerűen megkerülni ezt a kriptográfiai láncot.
Így működik, lépésről lépésre
Így halad a folyamat attól a pillanattól, hogy az ujjad megérinti a képernyőt, addig, amíg a fájljaid mindenki más számára olvashatatlanná válnak.
1. lépés: megrajzolod a mintádat
A Vaultaire egy 5×5-ös ponthálót mutat. Egy folyamatos útvonalat rajzolsz, amely legalább 6 pontot köt össze, és legalább egyszer irányt vált. Az alkalmazás pontosan rögzíti, mely pontokat érintetted, és milyen sorrendben. Ez a sorozat a mintád.
Az Android-zárképernyőkön megszokott 3×3-as rácsokkal szemben a Vaultaire 5×5-ös rácsot használ. Ez nem esztétikai döntés. Huszonöt pozíció sokkal több útvonalat, keresztezést, átugrást és irányváltást enged, mint kilenc. A nagyobb elméleti tér segít, de a tényleges biztonság továbbra is attól függ, mennyire kiszámíthatatlan az általad választott útvonal. Egy ismerős betű vagy egyszerű alakzat akkor is kitalálható, ha a rács milliárdnyi alternatívát tud kifejezni.
2. lépés: a mintából széfkulcs származik
A rajzolt mintádat a rácsmérettel együtt sorosítja az alkalmazás, majd a PBKDF2 (Password-Based Key Derivation Function 2, jelszóalapú kulcsszármaztató függvény) dolgozza fel HMAC-SHA512-vel, 600 000 iterációval és egy véletlenszerű, az egész eszközre érvényes sóval. A só nem titkos érték, és az iOS-kulcskarikában tárolódik WhenUnlockedThisDeviceOnly elemként. Ez az eszközhöz köti a helyi származtatást; nem egyedi minden széfhez, és nem ad entrópiát egy ember által választott mintához.
A kulcsszármaztatás szándékosan költséges. A PBKDF2 minden jelölt mintára 600 000 HMAC-SHA512-iterációt futtat, ami megdrágítja a találgatásos támadást. Ettől egy alacsony entrópiájú minta nem lesz 256 bitnyi biztonság, és a támadás ideje a támadó hardverén múlik. A célja szűkebb és mérhető: minden tipp lényegesen drágább legyen egy egyszerű hashnél.
3. lépés: a fájljaid titkosítva lesznek
A széf létrehozásakor a Vaultaire véletlenszerű, 256 bites mesterkulcsot generál. A mintából származtatott széfkulcs titkosítja az indexet, és becsomagolja ezt a mesterkulcsot; nem titkosít közvetlenül minden fájlt. A mesterkulcsot az AES-256-GCM használja a fájlfejlécekhez, a tartalomhoz, a bélyegképekhez és a kapcsolódó metaadatokhoz. A friss nonce-ok miatt az ismétlődő nyílt szöveg ugyanazzal a kulccsal sem ad ismétlődő titkosított szöveget.
A GCM-mód fontos réteget ad hozzá: a hitelesítést. Nem csak összekeveri az adataidat — egy címkét is létrehoz, amely minden manipulációt észlel. Ha a titkosított fájl akár egyetlen bitje is módosul, a visszafejtés meghiúsul. Senki sem módosíthatja a fájljaidat úgy, hogy te ne tudj róla.
4. lépés: az aktív kulcsállapot törlődik
Amikor a Vaultaire zárol, törli az aktív széf- és mesterkulcs-állapotát, és újabb feloldást kér, mielőtt ismét megmutatná a fájlokat. Amíg a széf nyitva van, ezek a szimmetrikus kulcsbájtok szükségszerűen jelen vannak az alkalmazás folyamatában, hogy a CryptoKit elvégezhesse az AES-GCM-műveleteket. A Vaultaire a helyreállítási adatokat is megőrzi, köztük a mintát és a kifejezéssel titkosított helyreállítási borítékot, egy AES-GCM-mel titkosított adatbázisban az iOS-kulcskarikában. Ez lényegesen más, mint azt állítani, hogy a minta és a kulcsok egyetlen példánya sincs sehol tárolva.
A matematika mögötte (közérthetően)
Nem kell informatikusi diploma ahhoz, hogy megértsd, miért működik. A biztonság három számon múlik: hány minta lehetséges, mennyi ideig tart egy tipp, és hány tippet tehet egy támadó.
Entrópia: a kiszámíthatatlanság mértéke
Az entrópia divatos szó arra, hogy „mennyire nehéz kitalálni”. Egy pénzfeldobás 1 bit entrópiájú (két kimenet). Egy négyjegyű PIN-kód nagyjából 13 bit entrópiájú (10 000 kimenet). Egy jól megválasztott, 8 vagy több pontot összekötő minta az 5×5-ös rácson meghaladhatja a 30 bit entrópiát — ez több mint egymilliárd lehetséges minta.
A minta entrópiája szabja meg a találgatásos támadás felső határát. A PBKDF2 nem tud olyan entrópiát létrehozni, amely nincs meg a mozdulatban, de minden jelölt ellenőrzését sokkal drágábbá teheti.
Kulcsszármaztatás: drága tippek
A PBKDF2 a sorosított mintán 600 000 HMAC-SHA512-kört futtat. A támadási becsléseknek a találgatást végző hardveren mért költséggel kell számolniuk: pontosan egy ezredmásodperc jelöltenkénti költséggel egymilliárd jelölt egymillió másodpercig, azaz nagyjából 11,6 napig tartana egyetlen feldolgozón. Lassabb mért költség ezt az időt növeli, a párhuzamos hardver csökkenti. A 256 bites kimeneti hossz nem változtat a minták keresési terének méretén.
Az egész eszközre érvényes só a kulcskarikában tárolódik, és nem titkosnak készült. A kulcskarika és az iOS adatvédelme megnehezítheti a kinyerését egy eszközlefoglalás során, de a kriptográfiai elemzésnek abból kell kiindulnia, hogy aki megszerzi a titkosított fájlokat, a sót is megszerezheti. A só megakadályozza az eszközökön átívelő előszámítást; nem helyettesíti az erős mintát.
AES-256: nyilvános, alaposan vizsgált szabvány
Az AES-256 erős, szabványos rejtjel, amelyet a NIST FIPS 197 néven tett közzé. A „256” a kulcs bitben mért hossza. Egy 256 bites kulcsnak 2256 lehetséges értéke van, messze túl sok ahhoz, hogy nyers erővel végigpróbálják. A támadó ezért inkább a mintát támadja, és ezért nyújtja meg a Vaultaire 600 000 PBKDF2-iterációval.
Az AES-256 biztonsága nem az algoritmus titokban tartásán múlik. A teljes rendszert azonban nem csak az AES kulcstere védi: a gyakorlati találgatási határt a minta entrópiája, a PBKDF2 munkaigénye, valamint az eszközsó és a titkosított tárhely védelme adja. Amint a helyes véletlenszerű mesterkulcs feloldódott, az AES-256-GCM erős, hitelesített titkosítást nyújt.
Mit kellene legyőznie egy támadásnak?
Nézzük meg a fő módokat, ahogyan valaki megpróbálhat hozzáférni a titkosított fájljaidhoz, mit tesz a Vaultaire a költségük növeléséért, és hol maradnak korlátok.
Nyers erő: minden minta kipróbálása
A PBKDF2 miatt minden jelölt mintának 600 000 HMAC-SHA512-iterációt kell kifizetnie. Ez érdemi védelem, de nem ígéret egy rögzített évszámra: az eredmény a mintaválasztástól, a mért származtatási sebességtől, a párhuzamosítástól és attól függ, megszerezte-e a vizsgáló az eszközsót. A hosszabb, kevésbé kiszámítható útvonalak azért számítanak, mert a PBKDF2 a tippek költségét növeli, nem új entrópiát teremt.
Ujjlenyomatnyom-támadás: a képernyő leolvasása
Egy 3×3-as rácson a képernyőn maradt ujjnyomok jelentősen szűkíthetik a lehetséges mintákat. Egy 5×5-ös rácson a nyomok azt árulják el, mely pontokat érintették, de a sorrendet, az irányt és a kapcsolatokat nem. A kombinációk robbanásszerű száma miatt ez a módszer gyakorlatilag használhatatlan.
Vállfeletti leskelődés: amikor figyelik, ahogy rajzolsz
Egy kis telefonképernyőn gyorsan rajzolt mintát megfigyeléssel rendkívül nehéz megjegyezni, különösen egy 5×5-ös rácson. Kutatások szerint a megfigyelők sokkal nehezebben ismételnek meg összetett mintákat, mint egy hangosan kimondott PIN-kódot vagy jelszót.
Eszközlefoglalás: elveszik a telefonodat
Ha valaki elveszi a telefonodat, a Vaultaire fájltartalma és indexei AES-GCM-mel titkosított szövegek maradnak, amíg a szükséges kulcsok nem állnak rendelkezésre. Az alkalmazás nem tárol hagyományos jelszó-ellenőrző rekordot, de ez nem szünteti meg az offline ellenőrzés lehetőségét. Minden titkosított széfindex fájlneve tartalmazza a széfkulcs csonkolt hashét, és az AES-GCM hitelesített visszafejtése is sikerrel vagy hibával zárul egy jelölt kulcsra. Az eszközvédelem és a minta erőssége ezért a fenyegetési modell része marad.
Egy tipp hitelesített titkosított szöveggel szembeni ellenőrzéséhez nem kell külön jelszóhash. A Vaultaire AES-GCM-címkéi nagy biztonsággal jelzik a sikert vagy a kudarcot, az indexfájlnév pedig olcsóbb előzetes ellenőrzést ad. A védelmet a hitelesítő adat költsége és kiszámíthatatlansága, valamint a helyi anyag iOS-védelme adja, nem egy ellenőrzési lehetőség hiánya.
Erős minta választása
A titkosítás csak annyira erős, amennyire az általad választott minta. Így növelheted a biztonságodat minimális erőfeszítéssel.
Mitől erős egy minta?
- Használj több pontot. Köss össze legalább 8-at a 25 elérhető pontból. Minden további pont megsokszorozza a lehetséges minták számát.
- Keresztezd a saját útvonaladat. A visszakanyarodó, pontokat átugró vagy váratlanul irányt váltó mintákat sokkal nehezebb emlékezetből vagy megfigyelés alapján megismételni.
- Kerüld a nyilvánvaló alakzatokat. A betűket (L, Z, S), az egyszerű geometriai formákat (négyzetek, háromszögek) és az egyenes vonalakat próbálja ki először egy támadó.
- Használd az egész rácsot. Az egy sarokban vagy egy él mentén maradó minták elpazarolják a rendelkezésre álló entrópiát. Terjeszkedj.
Mit kerülj?
- Minimális hosszúságú minták. A Vaultaire legalább 6 pontot és egy irányváltást kér, de a minimum teljesítése nem teszi kiszámíthatatlanná az útvonalat. Használd a rács nagyobb részét, és válts többször irányt, ha az eredményt megbízhatóan meg tudod jegyezni.
- Egyszerű geometriai alakzatok. Egy L alak, egy cikcakk vagy egy egyenes átló a minták „jelszo123”-ja.
- Mindig ugyanabból a sarokból indulni. Az Android-zármintákról szóló kutatások szerint a legtöbben a bal felső pontból indulnak. A támadók ezt tudják.
Az ideális mérték
A 8–12 pontot összekötő, többször irányt váltó mintát nehezebb kitalálni, neked viszont az izommemória révén könnyű megjegyezni. Nem kell jelszóként bemagolnod — a kezed emlékszik a mozdulatra, ugyanúgy, ahogy az aláírásodra is.
Miért érezheted magad biztonságban?
A Vaultaire mintaalapú titkosítása nem csak egy csinosabb PIN-billentyűzet. A mozdulatot egy valódi kulcsszármaztató függvény dolgozza fel, és hitelesített, titkosított adatot kell feloldania. Az erőssége továbbra is az általad választott mozdulaton múlik, ezért a Vaultaire a nagyobb rácsot magas PBKDF2-munkaigénnyel kombinálja, ahelyett hogy a 256 bites kimeneti hosszt 256 bitnyi emberi titokentrópiaként tüntetné fel.
A mintád és a helyi széfkulcsod nem kerül a Vaultaire-hez. Amíg a mentés be van kapcsolva, ami az alapértelmezés, egy külön, mintából származtatott mentési kulcs titkosítja a CloudKit-rekordokat, és egy titkosított helyreállítási jegyzék lehetővé teszi, hogy a helyreállítási kifejezés visszaállítsa a széf- és mentési kulcsokat. A Vaultaire nem tart olyan szolgáltatói kulcsot, amely visszafejtené ezeket a rekordokat, de az eszköz és a helyreállítási hitelesítő adatok a kialakítás biztonságkritikus részei maradnak.
Rajzolsz egy alakzatot. Az alakzat védi a fájljaidat. A többit elvégzi a matematika.
Gyakran ismételt kérdések
Mi történik, ha elfelejtem a mintámat?
Széf létrehozásakor a Vaultaire saját, kilencszavas helyreállítási mondatot generál. A PBKDF2 ebből helyreállítási kulcsot származtat, amely megnyit egy titkosított borítékot, benne a széfkulccsal. Ha a mintát és a helyreállítási kifejezést is elveszíted, a Vaultaire-nek nincs szerveroldali kulcsa, amellyel visszaállíthatná a széfet.
Tényleg biztonságosabb a minta, mint a jelszó?
Egy jól megválasztott minta az 5×5-ös rácson elérheti vagy meghaladhatja egy tipikus jelszó entrópiáját. Az előny a használhatóság: az emberek gyenge jelszavakat választanak, mert az erőseket nehéz megjegyezni. A minták az izommemóriára építenek, így természetes egy összetett minta használata tudatos memorizálás nélkül.
Készíthet valaki képernyőképet vagy felvételt a mintámról?
A Vaultaire legjobb tudása szerint védi a mintarácsot a képernyőképektől, és reagál, amikor az iOS aktív képernyőrögzítést jelez. Az iOS nem ad nyilvános, biztonságos képernyőt jelző beállítást tetszőleges alkalmazástartalomhoz, így ezek a védelmek csökkentik a véletlen rögzítést, de nem garantálják, hogy minden rögzítési mód le van tiltva.
Milyen titkosítási algoritmust használ a Vaultaire?
A Vaultaire PBKDF2-HMAC-SHA512-t használ 600 000 iterációval, hogy a mintából és egy, az egész eszközre érvényes kulcskarika-sóból széfkulcsot származtasson. Ez a széfkulcs titkosítja a széfindexet, és becsomagol egy véletlenszerű, 256 bites mesterkulcsot. A mesterkulccsal működő AES-256-GCM hitelesített titkosítással védi a fájltartalmat, a fejléceket, a metaadatokat és a bélyegképeket.
Tárolódik a minta az eszközömön?
A Vaultaire a helyreállítási adatokat, köztük a mintát, egy AES-GCM-mel titkosított helyreállítási adatbázisban tárolja az iOS-kulcskarikában. A minta nem kerül a Vaultaire-hez, és nem tárolódik nyílt szöveges fájlokban. Amíg egy széf nyitva van, a kulcsbájtok jelen vannak az alkalmazás folyamatában; zároláskor a Vaultaire eldobja az aktív kulcsállapotot.
Hozzáfér a Vaultaire a titkosított fájljaimhoz?
A Vaultaire nem üzemeltet olyan szolgáltatást, amely megkapná a mintádat, a helyreállítási kifejezésedet, a visszafejtő kulcsaidat vagy a széfed olvasható tartalmát. A titkosított iCloud-mentések a privát CloudKit-adatbázisodban maradnak. Ez a szolgáltatói határ nem véd meg egy nyitott széfet egy kompromittált alkalmazásbuildtől, operációs rendszertől vagy eszköztől.
Próbáld ki a mintaalapú titkosítást
Rajzold meg az első mintádat, és érezd, milyen, amikor a fájljaid valóban védve vannak.
Töltsd le ingyen a Vaultaire-t