Šifriranje uzorkom: kako nacrtani oblik štiti vaše datoteke

Prstom nacrtate uzorak. PBKDF2 tu kretnju pretvara u ključ trezora, a on otključava zaseban nasumični ključ koji vaše datoteke štiti algoritmom AES-256-GCM. Bez polja za lozinku, bez kratkog PIN-a. Samo vaš uzorak i namjerno slojevita hijerarhija ključeva.

Vaultaire serijalizira oblik nacrtan na mreži 5×5 i obrađuje ga funkcijom PBKDF2-HMAC-SHA512 kroz 600.000 iteracija, sa soli zajedničkom cijelom uređaju pohranjenom u iOS Keychainu. 256-bitni rezultat je ključ trezora: šifrira indeks trezora i otpakirava zaseban nasumični glavni ključ kojim AES-256-GCM šifrira sadržaj i metapodatke datoteka.

Što je šifriranje uzorkom?

Većina aplikacija trezora skriva se iza PIN-a ili lozinke. Upišete četiri znamenke i pojave se vaše fotografije. Zvuči dovoljno sigurno, zar ne?

Problem je sljedeći: četveroznamenkasti PIN ima točno 10.000 mogućih kombinacija. Računalo ih sve može isprobati za manje od sekunde. Šest znamenki? Milijun kombinacija. I dalje trivijalno brzo za suvremeni hardver. Čak i lozinka od osam znakova, ako koristi samo mala slova, daje oko 200 milijardi mogućnosti. To zvuči puno dok ne saznate da običan prijenosnik može testirati milijarde sažetaka lozinki u sekundi.

Šifriranje uzorkom temelji se na bitno drukčijem pristupu. Umjesto da upisujete znakove u polje, crtate geometrijski oblik preko mreže točaka. Točan put koji povučete, odnosno koje točke dodirnete, kojim redom i u kojem obliku, postaje ulaz za funkciju izvođenja ključa iz lozinke. Rezultat sučelje ne samo provjerava: on mora otključati autentificirani šifrirani indeks i nasumični glavni ključ u njemu.

Ta razlika je važna. Kad u nekim aplikacijama unesete PIN, aplikacija samo provjerava jeste li upisali ispravan broj. Ako jeste, otvara se, iako datoteke mogu biti zaštićene uglavnom kontrolom pristupa. Vaultaire umjesto toga nacrtani uzorak predaje funkciji PBKDF2 kako bi izveo 256-bitni ključ trezora. Taj ključ mora autentificirati i dešifrirati indeks trezora prije nego što može otpakirati nasumični glavni ključ kojim su šifrirane datoteke. Neprepoznati uzorak prikazuje se kao prazan trezor, ali autentikacija AES-GCM ispod toga i dalje razlikuje ispravan ključ od neispravnog.

Ključna razlika

Pristup zaštićen PIN-om može biti poput zaključanih vrata ispred inače čitljivih datoteka. Vaultaireov uzorak bliži je kombinaciji trezora: iz njega nastaje ključ koji otvara šifrirani indeks, a indeks zatim oslobađa zaseban ključ koji štiti sadržaj. Sučelje taj kriptografski lanac ne može jednostavno zaobići.

Kako funkcionira, korak po korak

Evo što se događa od trenutka kad vaš prst dotakne zaslon do trenutka kad vaše datoteke postanu nečitljive svima ostalima.

Korak 1: nacrtate svoj uzorak

Vaultaire prikazuje mrežu od 5×5 točaka. Nacrtate neprekinut put koji povezuje najmanje 6 točaka i barem jednom mijenja smjer. Aplikacija bilježi točno koje ste točke posjetili i kojim redom. Taj niz je vaš uzorak.

Mreža uzorka 5×5

Za razliku od mreža 3×3 uobičajenih na zaslonima za zaključavanje Androida, Vaultaire koristi mrežu 5×5. To nije kozmetički odabir. Dvadeset pet položaja omogućuje mnogo više putova, križanja, preskakanja i promjena smjera od devet položaja. Veći teorijski prostor pomaže, ali stvarna sigurnost i dalje ovisi o nepredvidivosti puta koji odaberete. Poznato slovo ili jednostavan oblik ostaje lako pogoditi čak i kad mreža može izraziti milijarde alternativa.

Korak 2: iz uzorka nastaje ključ trezora

Vaš nacrtani uzorak serijalizira se zajedno s veličinom mreže i predaje funkciji PBKDF2 (Password-Based Key Derivation Function 2) s HMAC-SHA512, 600.000 iteracija i nasumičnom soli zajedničkom cijelom uređaju. Sol je vrijednost koja nije tajna i pohranjena je u iOS Keychainu kao stavka WhenUnlockedThisDeviceOnly. Veže lokalno izvođenje uz uređaj; nije jedinstvena za svaki trezor i ne dodaje entropiju uzorku koji je odabrao čovjek.

Tijek šifriranja
Vaš uzorak
Put na mreži 5×5
→
PBKDF2 + sol
Izvođenje ključa
→
256-bitni ključ trezora
Indeks + omatanje ključa
→
Nasumični glavni ključ
Datoteke AES-256-GCM

Postupak izvođenja ključa namjerno je skup. PBKDF2 za svaki kandidatski uzorak izvodi 600.000 iteracija HMAC-SHA512, što poskupljuje napad pogađanjem. To uzorak s niskom entropijom ne pretvara u 256 bitova sigurnosti, a trajanje napada ovisi o hardveru napadača. Svrha je uža i mjerljiva: svaki pokušaj učiniti znatno skupljim od jednostavnog sažetka.

Korak 3: vaše datoteke se šifriraju

Kad se trezor prvi put izradi, Vaultaire generira nasumični 256-bitni glavni ključ. Ključ trezora izveden iz uzorka šifrira indeks i omata taj glavni ključ; ne šifrira izravno svaku datoteku. Glavni ključ koristi se s algoritmom AES-256-GCM za zaglavlja datoteka, sadržaj, sličice i povezane metapodatke. Nove jednokratne vrijednosti osiguravaju da isti otvoreni tekst pod istim ključem ne daje isti šifrirani tekst.

Način GCM dodaje važan sloj: autentikaciju. Ne samo da miješa vaše podatke, nego stvara i oznaku koja otkriva svaku izmjenu. Ako se promijeni i jedan bit šifrirane datoteke, dešifriranje neće uspjeti. Nitko ne može neprimjetno izmijeniti vaše datoteke.

Korak 4: aktivno stanje ključeva se briše

Kad se Vaultaire zaključa, briše aktivno stanje ključa trezora i glavnog ključa i traži novo otključavanje prije nego što ponovno prikaže datoteke. Dok je trezor otvoren, bajtovi tih simetričnih ključeva nužno postoje u procesu aplikacije kako bi CryptoKit mogao izvoditi operacije AES-GCM. Vaultaire podatke za oporavak, uključujući uzorak i omotnicu za oporavak šifriranu frazom, drži u bazi podataka šifriranoj algoritmom AES-GCM i pohranjenoj u iOS Keychainu. To je bitno drukčije od tvrdnje da uzorak i sve kopije ključeva nisu nigdje pohranjeni.

Matematika iza toga (jednostavnim riječima)

Ne treba vam diploma iz računarstva da biste razumjeli zašto ovo radi. Sigurnost se svodi na tri broja: koliko je uzoraka moguće, koliko traje svaki pokušaj i koliko pokušaja napadač može izvesti.

2256
Prostor ključeva AES-a
5×5
Veličina mreže
Milijarde
Mogućih uzoraka

Entropija: mjera nepredvidivosti

Entropija je složena riječ za „koliko je ovo teško pogoditi“. Bacanje novčića ima 1 bit entropije (dva ishoda). Četveroznamenkasti PIN ima oko 13 bitova entropije (10.000 ishoda). Dobro odabran uzorak na mreži 5×5 koji povezuje 8 ili više točaka može premašiti 30 bitova entropije, odnosno više od milijardu mogućih uzoraka.

Entropija uzorka određuje gornju granicu za napad pogađanjem. PBKDF2 ne može stvoriti entropiju koju kretnja ne sadrži, ali može svaki kandidat učiniti mnogo skupljim za testiranje.

Izvođenje ključa: skupi pokušaji

PBKDF2 uzima serijalizirani uzorak i izvodi 600.000 krugova HMAC-SHA512. Procjene napada moraju se temeljiti na izmjerenom trošku na hardveru koji pogađa: uz točno jednu milisekundu po cijelom kandidatu, milijardu kandidata na jednom radnom procesu trajalo bi milijun sekundi, odnosno oko 11,6 dana. Sporiji izmjereni trošak po kandidatu produljuje to vrijeme, a paralelni hardver ga skraćuje. Duljina izlaza od 256 bitova ne mijenja veličinu prostora pretraživanja uzoraka.

Sol zajednička cijelom uređaju pohranjena je u Keychainu i nije zamišljena kao tajna. Keychain i iOS zaštita podataka mogu otežati izvlačenje pri oduzimanju uređaja, ali kriptografska analiza mora pretpostaviti da forenzičar koji pribavi šifrirane datoteke može pribaviti i sol. Sol sprječava unaprijed izračunate napade na više uređaja; nije zamjena za jak uzorak.

AES-256: javan, dobro proučen standard

AES-256 je snažna standardna šifra koju je NIST objavio kao FIPS 197. Broj „256“ označava duljinu ključa u bitovima. 256-bitni ključ ima 2256 mogućih vrijednosti, previše da bi se isprobale grubom silom. Napadač zato napada uzorak, pa ga Vaultaire rasteže kroz 600.000 iteracija funkcije PBKDF2.

Sigurnost AES-256 ne ovisi o tajnosti algoritma. No cijeli sustav ne štiti samo prostor ključeva AES-a: praktičnu granicu pogađanja određuju entropija uzorka, radni faktor PBKDF2 i zaštita soli uređaja i šifrirane pohrane. AES-256-GCM pruža snažno autentificirano šifriranje nakon što se otključa ispravan nasumični glavni ključ.

Što bi napad morao svladati

Razmotrimo glavne načine na koje bi netko mogao pokušati pristupiti vašim šifriranim datotekama, što Vaultaire čini da poveća trošak i gdje su granice.

Gruba sila: isprobavanje svakog uzorka

PBKDF2 za svakog kandidata uzorka zahtijeva 600.000 iteracija HMAC-SHA512. To je značajna obrana, ali ne i obećanje određenog broja godina: rezultat ovisi o odabiru uzorka, izmjerenoj brzini izvođenja, paralelizmu i tome je li forenzičar pribavio sol uređaja. Dulji i manje predvidivi putovi važni su jer PBKDF2 povećava trošak pokušaja, a ne stvara novu entropiju.

Napadi mrljama: čitanje vašeg zaslona

Na mreži 3×3 mrlje na zaslonu mogu znatno suziti moguće uzorke. Na mreži 5×5 trag mrlja otkriva koje su točke dodirnute, ali ne i redoslijed, smjer ni veze među njima. Zbog kombinatorne eksplozije takav pristup nije praktičan.

Gledanje preko ramena: praćenje crtanja

Uzorke brzo nacrtane na malom zaslonu telefona vrlo je teško zapamtiti promatranjem, osobito na mreži 5×5. Istraživanja pokazuju da promatrači mnogo teže ponavljaju složene uzorke nego što zapamte PIN ili lozinku izgovorenu naglas.

Oduzimanje uređaja: uzimanje vašeg telefona

Ako vam netko uzme telefon, sadržaj Vaultaireovih datoteka i indeksi ostaju šifrirani tekst AES-GCM dok potrebni ključevi ne postanu dostupni. Aplikacija ne pohranjuje uobičajeni zapis za provjeru lozinke, ali to ne uklanja izvanmrežnu provjeru. Naziv datoteke svakog šifriranog indeksa trezora sadrži skraćeni sažetak ključa trezora, a autentificirano dešifriranje AES-GCM za kandidatski ključ također uspije ili ne uspije. Zato zaštita uređaja i jačina uzorka ostaju dio modela prijetnji.

Autentificirana provjera

Za testiranje pokušaja na autentificiranom šifriranom tekstu nije potreban zaseban sažetak lozinke. Vaultaireove oznake AES-GCM daju pouzdan rezultat uspjeha ili neuspjeha, a naziv datoteke indeksa omogućuje jeftiniju preliminarnu provjeru. Obranu čine trošak i nepredvidivost vjerodajnice te iOS zaštita lokalnog materijala, a ne nepostojanje načina provjere.

Odabir jakog uzorka

Šifriranje je jako onoliko koliko je jak uzorak koji odaberete. Evo kako uz malo truda postići najveću sigurnost.

Što čini uzorak jakim

  • Koristite više točaka. Povežite najmanje 8 od 25 dostupnih točaka. Svaka dodatna točka umnožava broj mogućih uzoraka.
  • Prekrižite vlastiti put. Uzorke koji se vraćaju, preskaču točke ili neočekivano mijenjaju smjer mnogo je teže ponoviti iz sjećanja ili promatranja.
  • Izbjegavajte očite oblike. Slova (L, Z, S), jednostavni geometrijski oblici (kvadrati, trokuti) i ravne crte prvo su što bi napadač isprobao.
  • Koristite cijelu mrežu. Uzorci koji ostaju u jednom kutu ili uz jedan rub gube dostupnu entropiju. Raširite se.

Što izbjegavati

  • Uzorke najmanje duljine. Vaultaire traži najmanje 6 točaka i jednu promjenu smjera, ali ispunjavanje minimuma ne čini put nepredvidivim. Koristite veći dio mreže i promijenite smjer nekoliko puta ako rezultat možete pouzdano zapamtiti.
  • Jednostavne geometrijske oblike. Oblik slova L, cik-cak ili ravna dijagonala uzorci su ekvivalentni lozinki „password123“.
  • Početak uvijek iz istog kuta. Istraživanja uzoraka za zaključavanje na Androidu pokazuju da većina ljudi počinje od gornje lijeve točke. Napadači to znaju.

Idealna mjera

Uzorak koji povezuje 8 do 12 točaka s nekoliko promjena smjera teže je pogoditi, a vama ga je i dalje lako zapamtiti mišićnom memorijom. Ne morate ga pamtiti kao lozinku: vaša ruka pamti pokret, kao što pamti kako se potpisujete.

Zašto se možete osjećati sigurno

Šifriranje uzorkom u Vaultaireu nije samo ljepša tipkovnica za PIN. Kretnju obrađuje prava funkcija izvođenja ključa i ona mora otključati autentificirane šifrirane podatke. Njezina snaga i dalje ovisi o kretnji koju odaberete, pa Vaultaire veću mrežu spaja s visokim radnim faktorom PBKDF2, umjesto da duljinu izlaza od 256 bitova predstavlja kao 256 bitova ljudske tajne entropije.

Vaš uzorak i lokalni ključ trezora ne šalju se Vaultaireu. Dok je sigurnosna kopija uključena, a uključena je prema zadanim postavkama, zaseban ključ sigurnosne kopije izveden iz uzorka šifrira zapise u CloudKitu, a šifrirani manifest za oporavak omogućuje da fraza za oporavak vrati ključ trezora i ključ sigurnosne kopije. Vaultaire nema ključ pružatelja koji dešifrira te zapise, ali uređaj i vjerodajnice za oporavak ostaju sigurnosno ključni dijelovi dizajna.

Nacrtate oblik. Taj oblik štiti vaše datoteke. Ostatak obavlja matematika.

Često postavljana pitanja

Što ako zaboravim svoj uzorak?

Kad izradite trezor, Vaultaire generira prilagođenu rečenicu za oporavak od devet riječi. PBKDF2 iz te rečenice izvodi ključ za oporavak, koji otvara šifriranu omotnicu s ključem trezora. Ako izgubite i uzorak i frazu za oporavak, Vaultaire nema ključ na poslužitelju kojim bi mogao vratiti trezor.

Je li uzorak zaista sigurniji od lozinke?

Dobro odabran uzorak na mreži 5×5 može dosegnuti ili premašiti entropiju tipične lozinke. Prednost je upotrebljivost: ljudi biraju slabe lozinke jer je jake teško zapamtiti. Uzorci se oslanjaju na mišićnu memoriju, pa je prirodno koristiti složen uzorak bez svjesnog pamćenja.

Može li netko snimiti zaslon ili zabilježiti moj uzorak?

Vaultaire na mrežu uzorka primjenjuje zaštitu od snimki zaslona koliko je to moguće i reagira kad iOS javi da je snimanje zaslona u tijeku. iOS ne nudi javnu oznaku sigurnog zaslona za proizvoljan sadržaj aplikacije, pa te mjere smanjuju slučajno snimanje, ali ne mogu jamčiti da je blokiran svaki način snimanja.

Koji algoritam šifriranja Vaultaire koristi?

Vaultaire koristi PBKDF2-HMAC-SHA512 s 600.000 iteracija kako bi iz uzorka i soli iz Keychaina zajedničke cijelom uređaju izveo ključ trezora. Taj ključ trezora šifrira indeks trezora i omata nasumični 256-bitni glavni ključ. AES-256-GCM pod glavnim ključem autentificiranim šifriranjem štiti sadržaj datoteka, zaglavlja, metapodatke i sličice.

Je li uzorak pohranjen na mojem uređaju?

Vaultaire podatke za oporavak, uključujući uzorak, pohranjuje u bazi za oporavak šifriranoj algoritmom AES-GCM koja se nalazi u iOS Keychainu. Uzorak se ne šalje Vaultaireu niti se pohranjuje u datotekama s otvorenim tekstom. Dok je trezor otvoren, bajtovi ključeva postoje u procesu aplikacije; zaključavanje briše Vaultaireovo aktivno stanje ključeva.

Može li Vaultaire pristupiti mojim šifriranim datotekama?

Vaultaire ne vodi uslugu koja prima vaš uzorak, frazu za oporavak, ključeve za dešifriranje ili čitljiv sadržaj trezora. Šifrirane iCloud sigurnosne kopije ostaju u vašoj privatnoj bazi CloudKit. Ta granica prema pružatelju ne štiti otvoreni trezor od kompromitirane verzije aplikacije, operacijskog sustava ili uređaja.

Isprobajte šifriranje uzorkom

Nacrtajte svoj prvi uzorak i osjetite kako je kad su vaše datoteke stvarno zaštićene.

Preuzmite Vaultaire besplatno