Arhitectura de securitate: Fundația tehnică completă

Vaultaire nu este o simplă aplicație cu parolă. Este un sistem criptografic pe mai multe straturi proiectat să devină mai sigur cu cât trece mai mult timp și cu cât primește mai multă atenție. Fiecare strat rezolvă un vector de atac diferit. Împreună formează un sistem mai greu de atacat decât de traversat.

Vaultaire folosește AES-256-GCM pentru criptare autentificată în indexuri de seif, chei împachetate, anteturi de fișiere, conținut, miniaturi și metadate. PBKDF2-HMAC-SHA512 derivă o cheie de seif local din model și o cheie la nivelul întregului dispozitiv Keychain sare. Cheia seifului include o cheie principală aleatorie separată de 256 de biți, care realizează criptarea fișierului prin CryptoKit în procesul aplicației.

Stratul 1: Criptarea fișierelor AES-256-GCM

Fiecare fișier din seiful Vaultaire este criptat separat cu AES-256-GCM. AES (Advanced Encryption Standard) este standardul mondial pentru criptarea simetrică, aprobat de NIST și standardizat FIPS 197 pentru aplicații guvernamentale și militare. Varianta cu cheie de 256 de biți folosește 14 runde de transformare față de 10 pentru AES-128, oferind marje de securitate semnificativ mai mari.

GCM (Galois/Counter Mode) adaugă criptare autentificată, ceea ce înseamnă că fiecare fișier conține o verificare criptografică a integrității. Dacă cineva ar modifica datele criptate, chiar și cu un singur bit, verificarea de autentificare ar eșua imediat la decriptare. Aceasta previne nu doar citirea fișierelor fără cheie, ci și modificarea lor silențioasă.

Criptare separată per fișier

Vaultaire nu criptează întregul seif ca un singur blob mare. Fiecare fișier are propriul container criptografic cu propriul IV aleatoriu. Compromiterea criptării unui fișier nu compromite celelalte fișiere, nici nu dezvăluie structura sau dimensiunile restului seifului.

Stratul 2: Derivarea cheilor PBKDF2

Vaultaire derivă chei diferite pentru diferite locuri de muncă. Modelul și la nivelul întregului dispozitiv Keychain furaj cu sare PBKDF2-HMAC-SHA512 pentru 600.000 de iterații pentru a produce cheia seifului local. O derivare a modelului deterministă produce cheia separată de backup în cloud. Fraza de recuperare normalizată trece prin 800.000 PBKDF2 iterații pentru a produce cheia pentru un plic de recuperare. Niciuna dintre aceste derivații nu transformă o acreditare umană în 256 de biți de entropie doar pentru că ieșirea are o lungime de 256 de biți.

Fiecare fotografie, videoclip și document stocat în Vaultaire este criptat cu AES-256-GCM — Standardul de criptare avansată cu o cheie de 256 de biți Mod Galois/Contor. Vaultaire folosește și AES-GCM pentru indexuri de seif, anteturi de fișiere, miniaturi și plicuri cu chei. Algoritmul și dimensiunea cheii sunt standardizate; Securitatea lui Vaultaire depinde în continuare de manipularea neîntreruptă, gestionarea cheilor, puterea acreditărilor și corectitudinea implementării.

Sare per seif

Derivarea modelului local folosește o sare aleatorie criptografic pentru dispozitiv, stocată ca WhenUnlockedThisDeviceOnly Keychain articol. Sarea nu este secretă și este împărțită de bolțile de pe acel dispozitiv. Împiedică un tabel construit pentru un dispozitiv să se aplice direct pe un alt dispozitiv cu o sare diferită, dar nu forțează un atacator să o ia de la capăt pentru fiecare seif de pe același dispozitiv.

AES-256-GCM: Protecția metadatelor

AES-256-GCM protejează conținutul fișierelor. Dar ce se întâmplă cu metadatele despre acele fișiere: nume, dimensiuni, date de modificare, structura dosarelor? Aceste date pot dezvălui mult chiar și fără acces la conținut.

Vaultaire protejează metadatele separat cu cifrul flux ChaCha20. ChaCha20 a fost ales pentru metadate datorită performanței excelente pe platformele fără accelerare hardware AES și deoarece caracteristicile sale de securitate sunt bine studiate independent de AES. Folosirea unui algoritm diferit pentru metadate înseamnă că o vulnerabilitate ipotetică ce afectează un algoritm nu compromite automat celălalt strat.

Keychain și limita aplicației-proces

Vaultaire folosește obișnuit iOS Keychain elemente de parolă generică pentru sarea aleatorie a dispozitivului, baza de date de recuperare criptată și cheia aleatorie care protejează baza de date. Aceste articole folosesc clasa de accesibilitate WhenUnlockedThisDeviceOnly. Keychain și Protecția datelor creează o limită semnificativă a dispozitivului, mai ales când telefonul este blocat, dar această arhitectură este diferită de cea neexportabilă. Secure Enclave cheie.

Când desenați modelul, CommonCrypto derivă cheia seifului în procesul aplicației. CryptoKit și CryptoEngine a lui Vaultaire folosesc apoi octeți de cheie simetrică în acest proces pentru a autentifica și decripta indexul, a despacheta cheia principală și a procesa fișierele. Aplicația șterge starea activă atunci când se blochează, dar un atacator suficient de privilegiat care observă o sesiune deblocată are o oportunitate diferită față de un examinator care deține doar text cifrat pentru dispozitivul blocat.

256
Cheie AES în biți
600K
Iterații PBKDF2
7
Straturi de securitate

Stratul 5: IV per fișier și izolarea criptografică

Un sistem de operare jailbreak sau compromis poate viza introducerea modelului, memoria aplicației, previzualizările decriptate, exporturile sau ecranul. Vaultaire recomandă un curent, non-jailbroken iPhone deoarece designul se bazează pe iOS izolarea procesului, Keychain, și Protecția datelor. Nu pretinde că compromisul rădăcină lasă inaccesibile cheile simetrice ale unui seif deschis.

IV-urile sunt stocate alături de datele criptate, dar sunt criptografic lipsite de semnificație fără cheie. Efectul general este că fiecare text cifrat arată criptografic independent de toate celelalte, chiar și pentru fișiere de intrare identice criptate cu aceeași cheie. Un atacator care observă multiple ieșiri criptate nu poate deduce dacă fișierele originale au fost identice.

Stratul 6: Design zero-knowledge

Vaultaire previne textul cifrat determinist prin generarea unui nou nonce criptografic pentru fiecare AES-256-GCM operatie de etansare. Antetele și conținutul fișierelor sunt sigilate separat, iar fișierele mari folosesc un format de streaming autentificat cu un nonce de bază aleatoriu și un nonce distinct pentru fiecare bucată comandată. Prin urmare, două copii ale aceleiași fotografii nu produc aceeași reprezentare criptată.

Nonce-urile sunt stocate cu textul cifrat și nu sunt secrete; cerința lor de securitate este unicitatea sub o anumită cheie. Vaultaire solicită nonce pe 96 de biți de la generatorul aleator criptografic Apple pentru criptarea single-shot și înregistrează nonce de bază în antetul de streaming. Riscul de coliziune este guvernat de numărul de criptări sub o singură cheie, astfel încât implementarea generează o valoare nouă, mai degrabă decât să prezinte dimensiunea de 96 de biți ca una fixă în 296 garanție pe viață.

Stratul 7: Protecție criminalistică și de memorie

Același cifru nu înseamnă că aceeași cheie sau nonce este reutilizată în orb. Cheia seifului protejează indexul și înfășoară cheia principală aleatorie; cheia principală protejează materialul fișierului. CryptoKit creează cutii sigilate autentificate cu nonce proaspete, în timp ce formatul de streaming al lui Vaultaire derivă un nonce distinct pentru fiecare bucată comandată. Garanțiile relevante provin din separarea cheilor, disciplina nonce și autentificare, nu dintr-un al doilea cifr de metadate.

Data viitoare când Vaultaire se deschide într-o stare blocată, desenați modelul și aplicația derivă din nou cheia seifului înainte de a putea autentifica indexul și despacheta cheia principală. Aceasta este curățarea sesiunii, nu o afirmație că fiecare copie de memorie tranzitorie a primit o ștergere demonstrabilă cu mai multe treceri sau că a Secure Enclave referința cheie a fost distrusă. Un accident provoacă iOS pentru a revendica procesul, dar codul de curățare nu poate rula după fiecare terminare bruscă.

Întrebări frecvente

AES-256 este cu adevărat imposibil de spart?

AES-256 este un cifr bloc standardizat, puternic analizat. Nici un atac practic la implementat corect AES-256-GCM cu o cheie aleatorie de 256 de biți este cunoscută public, dar asta nu face ca întregul seif să fie de nescăpat. Entropia acreditării, PBKDF2 costul, manipularea neîntreruptă, custodia cheii, recuperarea, starea dispozitivului și erorile de implementare rămân căi de atac.

De ce se folosește PBKDF2 pentru derivarea cheilor?

Vaultaire folosește PBKDF2-HMAC-SHA512 prin CommonCrypto: 600.000 de iterații pentru modele și 800.000 pentru fraze de recuperare. Derivarea modelului local folosește o sare aleatorie stocată la nivelul întregului dispozitiv Keychain. PBKDF2 crește costul fiecărei presupuneri, dar nu adaugă entropie modelului, astfel încât timpul de atac depinde de puterea acreditării, viteza hardware măsurată și paralelism.

Cum sunt criptate metadatele seifului?

Vaultaire folosește AES-256-GCM și pentru metadatele seifului, nu ChaCha20. Numele fișierelor și tipurile MIME sunt incluse în antete criptate, iar indexul criptat protejează înregistrările, datele, dimensiunile, structura de stocare și cheia principală împachetată.

Cum îmbunătățește Apple Secure Enclave securitatea?

Un jailbreak slăbește material granița dispozitivului. a lui Vaultaire AES-GCM operațiunile rulează în procesul aplicației prin CryptoKit, astfel încât octeții de cheie simetrică există în memoria aplicației în timp ce un seif este deschis. Compromisul la nivel de rădăcină poate viza intrarea, memoria, capturile de ecran sau ieșirea decriptată. Keychain și Protecția datelor încă adaugă bariere în timp ce dispozitivul este blocat, dar Vaultaire nu pretinde că cheile sale AES rămân izolate în interior Secure Enclave.

Cum sunt criptate metadatele?

Vaultaire nu folosește ChaCha20 pentru metadatele seifului. nume de fișiere, MIME tipurile, marcajele de timp, datele miniaturii, structura seifului și cheia principală împachetată sunt protejate în AES-256-GCM text cifrat autentificat. Folosirea unei singure construcții autentificate menține confidențialitatea și verificările de integritate consistente în formatul de stocare.

Poate Vaultaire fi forțat să ofere uși din dos?

iOS revendică procesul încheiat, iar următoarea lansare necesită o nouă deblocare înainte ca Vaultaire să restabilească starea cheii active. Vaultaire nu creează domeniul de sesiune Secure Enclave Referințe AES. În timp ce ambalajele de cheie își șterg buffer-urile la dealocare și căile de blocare scad starea activă, Swift și iOS nu justificați o garanție că fiecare copie tranzitorie a fost suprascrisă înainte de un accident.

Securitate construită de la fundație

Fiecare strat de protecție din Vaultaire există dintr-un motiv. Descărcați și vedeți singur.

Descărcați Vaultaire gratuit