Sigurnosna arhitektura: Cjelovita tehnička osnova
Vaultaire nije samo aplikacija s lozinkom. To je višeslojni kriptografski sustav osmišljen da bude sigurniji što više vremena prođe i što više pozornosti dobije. Svaki sloj rješava drugačiji vektor napada. Zajedno čine sustav koji je teži za napad od prijenosa.
Vaultaire koristi AES-256-GCM za provjerenu enkripciju preko indeksa trezora, omotanih ključeva, zaglavlja datoteka, sadržaja, minijatura i metapodataka. PBKDF2-HMAC-SHA512 izvodi lokalni ključ trezora iz uzorka i za cijeli uređaj Keychain sol. Taj ključ trezora obavija zasebni nasumični 256-bitni glavni ključ, koji izvodi enkripciju datoteke putem CryptoKit u procesu aplikacije.
Sloj 1: AES-256-GCM enkripcija datoteka
Svaka datoteka u Vaultaire trezoru zasebno se šifrira pomoću AES-256-GCM. AES (Advanced Encryption Standard) je svjetski standard za simetričnu enkripciju, odobren od strane NIST-a i FIPS 197 standardiziran za vladine i vojne aplikacije. Varijanta s 256-bitnim ključem koristi 14 rundi transformacije u usporedbi s 10 rundi za AES-128, što pruža znatno veće margine sigurnosti.
GCM (Galois/Counter Mode) dodaje autentificirano šifriranje, što znači da svaka datoteka sadrži kriptografsku provjeru integriteta. Ako bi netko modificirao šifrirane podatke, čak i za jedan bit, autentifikacijska provjera bi odmah zatajila pri dekripciji. To sprečava ne samo čitanje vaših datoteka bez ključa, nego i njihovo tiho mijenjanje.
Vaultaire ne šifrira cijeli trezor kao jedan veliki blob. Svaka datoteka ima vlastiti kriptografski kontejner s vlastitim nasumičnim IV-om. Kompromitacija enkripcije jedne datoteke ne kompromitira ostale datoteke, niti otkriva strukturu ili veličine ostatka trezora.
Sloj 2: PBKDF2 izvođenje ključa
Vaultaire izvodi različite ključeve za različite poslove. Uzorak i cijeli uređaj Keychain slana hrana PBKDF2-HMAC-SHA512 za 600.000 ponavljanja za izradu ključa lokalnog trezora. Izvođenje determinističkog uzorka proizvodi zasebni ključ sigurnosne kopije u oblaku. Normalizirana fraza oporavka ide kroz 800.000 PBKDF2 ponavljanja za izradu ključa za omotnicu za oporavak. Nijedna od tih derivacija ne pretvara ljudsku vjerodajnicu u 256 bita entropije samo zato što je izlaz dug 256 bita.
Svaka fotografija, video i dokument pohranjen u Vaultaireu šifrirani su AES-256-GCM — napredni standard šifriranja s 256-bitnim ključem Galois/Counter Mode. Vaultaire također koristi AES-GCM za indekse trezora, zaglavlja datoteka, sličice i omotnice ključeva. Algoritam i veličina ključa su standardizirani; Vaultaireova sigurnost i dalje ovisi o nonce rukovanju, upravljanju ključevima, snazi vjerodajnica i ispravnosti implementacije.
Sol po trezoru
Izvođenje lokalnog uzorka koristi jednu kriptografski nasumično odabranu sol za uređaj, pohranjenu kao Keychain stavku klase dostupnosti WhenUnlockedThisDeviceOnly. Sol nije tajna i dijele je trezori na tom uređaju. Sprječava izravnu primjenu tablice izgrađene za jedan uređaj na drugi uređaj s drugom soli, ali ne prisiljava napadača da počne iznova za svaki trezor na istom uređaju.
AES-256-GCM: Zaštita metapodataka
AES-256-GCM štiti sadržaj datoteka. No što je s metapodacima o tim datotekama: nazivi, veličine, datumi izmjene, struktura mapa? Ti podaci mogu otkriti puno čak i bez pristupa sadržaju.
Vaultaire štiti metapodatke zasebno pomoću ChaCha20 toka šifre. ChaCha20 odabran je za metapodatke zbog izvrsnih performansi na platformama bez hardverskog ubrzanja AES-a i zbog toga što su sigurnosne karakteristike dobro proučene neovisno o AES-u. Korištenje drugačijeg algoritma za metapodatke znači da bi hipotetska ranjivost koja utječe na jedan algoritam automatski ne kompromitirala drugi sloj.
Keychain i granica aplikacije i procesa
Vaultaire ne upravlja računom ili uslugom pohrane koja prima vaš uzorak, tajnu frazu, ključeve za dešifriranje ili čitljiv sadržaj trezora. Šifriranje i dešifriranje događa se u procesu aplikacije na vašem uređaju. kada iCloud sigurnosno kopiranje omogućeno, aplikacija šalje ovjereni šifrirani tekst u vaš privatni CloudKit bazu podataka, a ne uslugu trezora koju kontrolira Vaultaire.
Ako agencija za provedbu zakona uruči Vaultaireu sudski poziv koji zahtijeva otvoreni tekst trezora, tvrtka ne posjeduje obrazac, frazu za oporavak, ključ trezora, rezervni ključ ili glavni ključ potreban za dešifriranje. Šifrirano iCloud zapisi žive u korisnikovom CloudKit privatna baza podataka. Međutim, na uređaju se materijal za oporavak čuva u šifriranom obliku Keychain baza podataka, a simetrični ključevi postoje u memoriji aplikacije dok CryptoKit šifrira ili dekriptira otvoreni trezor.
Sloj 5: IV po datoteci i kriptografska izolacija
Appleov Secure Enclave može zaštititi podržane privatne ključeve i sudjeluje u dijelovima sigurnosne arhitekture platforme, ali njegovi javni API-ji ne prihvaćaju proizvoljne PBKDF2-izvedeni simetrični ključ i izvesti Vaultaireov AES-GCM operacije datoteka unutar koprocesora. Vaultaire stoga ne opisuje svoju šifru trezora kao Secure Enclave AES.
Kada nacrtate uzorak, CommonCrypto izvodi ključ trezora u procesu aplikacije. CryptoKit i Vaultaireov CryptoEngine zatim koriste bajtove simetričnog ključa u tom procesu za provjeru autentičnosti i dešifriranje indeksa, odmatanje glavnog ključa i obradu datoteka. Aplikacija briše aktivno stanje kada se zaključa, ali dovoljno privilegirani napadač koji promatra otključanu sesiju ima drugačiju priliku od ispitivača koji drži samo šifrirani tekst zaključanog uređaja.
Sloj 6: Dizajn nultog znanja
Jailbreakiran ili na drugi način ugrožen operativni sustav može ciljati unos uzorka, memoriju aplikacije, dešifrirane preglede, izvoze ili zaslon. Vaultaire preporučuje trenutni, bez jailbreak-a iPhone jer se dizajn oslanja na iOS izolacija procesa, Keychain, i Zaštita podataka. Ne tvrdi da root kompromis ostavlja simetrične ključeve otvorenog trezora nedostupnima.
Nonce se pohranjuju sa šifriranim tekstom i nisu tajne; njihov sigurnosni zahtjev je jedinstvenost pod danim ključem. Vaultaire zahtijeva 96-bitne nonce od Appleovog kriptografskog generatora nasumičnog odabira za single-shot enkripciju i bilježi osnovnu nonce u zaglavlju strujanja. Rizik od sudara reguliran je brojem enkripcija pod jednim ključem, tako da implementacija generira novu vrijednost umjesto predstavljanja 96-bitne veličine kao fiksne jedan-u-296 doživotno jamstvo.
Sloj 7: Zaštita od forenzike i memorije
Ista šifra ne znači da se isti ključ ili nonce ponovno koristi slijepo. Ključ trezora štiti indeks i omotava nasumični glavni ključ; glavni ključ štiti materijal datoteke. CryptoKit stvara autentificirane zapečaćene kutije sa svježim nonce-ovima, dok Vaultaireov format strujanja izvodi različiti nonce za svaki naručeni dio. Relevantna jamstva proizlaze iz odvajanja ključeva, nonce discipline i autentifikacije, a ne iz druge šifre metapodataka.
Ovaj pristup brisanja ključeva iz memorije znači da nema sigurnog stanja u aplikaciji. Ili su ključevi u memoriji i trezor je dostupan, ili ih nema i trezor je hermetički zatvoren.
Često postavljana pitanja
Je li AES-256 zaista neprobojan?
AES-256 je standardizirana, temeljito analizirana blok šifra. Nema praktičnog napada na ispravno provedeno AES-256-GCM s nasumičnim 256-bitnim ključem je javno poznat, ali to ne čini cijeli trezor neraskidivim. vjerodajna entropija, PBKDF2 trošak, jednokratno rukovanje, čuvanje ključa, oporavak, stanje uređaja i nedostaci u implementaciji ostaju putevi napada.
Zašto se PBKDF2 koristi za izvođenje ključa?
Vaultaire koristi PBKDF2-HMAC-SHA512 kroz CommonCrypto: 600.000 ponavljanja za obrasce i 800.000 za fraze za oporavak. Izvođenje lokalnog uzorka koristi jednu slučajnu sol koja je pohranjena na cijelom uređaju Keychain. PBKDF2 povećava cijenu svakog pogađanja, ali ne dodaje entropiju uzorku, tako da vrijeme napada ovisi o snazi vjerodajnice, izmjerenoj brzini hardvera i paralelizmu.
Kako se šifriraju metapodaci trezora?
Vaultaire koristi AES-256-GCM i za metapodatke trezora, a ne ChaCha20. Nazivi datoteka i MIME vrste nalaze se u šifriranim zaglavljima, dok šifrirani indeks štiti zapise, datume, veličine, raspored pohrane i omotani glavni ključ.
Kako Apple Secure Enclave poboljšava sigurnost?
Jailbreak materijalno slabi granicu uređaja. Vaultaireov AES-GCM operacije se izvode u procesu aplikacije CryptoKit, tako da simetrični ključni bajtovi postoje u memoriji aplikacije dok je trezor otvoren. Kompromis na korijenskoj razini može ciljati ulaz, memoriju, snimke zaslona ili dešifrirani izlaz. Keychain i Data Protection i dalje stvaraju prepreke dok je uređaj zaključan, ali Vaultaire ne tvrdi da njegovi AES ključevi ostaju izolirani unutra Secure Enclave.
Kako su metapodaci šifrirani?
Vaultaire ne koristi ChaCha20 za metapodatke trezora. imena datoteka, MIME vrste, vremenske oznake, podaci sličica, struktura trezora i omotani glavni ključ zaštićeni su unutar AES-256-GCM ovjereni šifrirani tekst. Korištenje jedne provjerene konstrukcije održava provjere povjerljivosti i integriteta dosljednima u cijelom formatu pohrane.
Može li Vaultaire biti prisljen dati stražnja vrata?
iOS vraća prekinuti proces, a sljedeće pokretanje zahtijeva novo otključavanje prije nego što Vaultaire vrati aktivno stanje ključa. Vaultaire ne stvara opseg sesije Secure Enclave AES reference. Dok njegovi omotači ključeva čiste svoje međuspremnike pri dealokaciji i stazama zaključavanja ispuštaju aktivno stanje, Swift i iOS ne opravdavaju jamstvo da je svaka prolazna kopija prebrisana prije rušenja.
Sigurnost izgrađena od temelja
Svaki sloj zaštite u Vaultaireu postoji iz razloga. Preuzmi i uvjerite se sami.
Preuzmi Vaultaire besplatno