Securitate
Criptare de nivel bancar pentru viața ta digitală
Arhitectură Zero-Knowledge
ByteGuard este construit pe un model de securitate Zero-Knowledge. Nu vedem, nu accesăm și nu stocăm niciodată cheile tale de criptare.
- Parola principală: Cheia ta personală pentru deblocarea aplicației. Nu este niciodată transmisă, niciodată stocată la distanță.
- Cheia secretă (Secret Key): O frază de recuperare de 12 cuvinte (BIP39) generată la crearea seifului. Combinată cu parola principală pentru securitate maximă.
- Derivarea cheilor locale: Argon2id cu cost de memorie de 64 MB și 3 iterații derivă cheia master local. HKDF-SHA256 creează ierarhia cheilor.
- Fără uși ascunse: Dacă pierzi atât parola principală, cât și cheia secretă, nu putem recupera datele tale. Aceasta este prin design.
Detalii criptare
Multiple straturi de criptare protejează fiecare element de date sensibile.
- Criptare la nivel de câmp: Fiecare câmp sensibil (parole, numere de card, chei API) este criptat individual cu AES-256-GCM.
- Ierarhia cheilor: Cheia master → Cheia de criptare a cheilor (KEK) → Cheia de criptare a datelor (DEK). Fiecare element are propria DEK.
- IV-uri unice: Fiecare operațiune de criptare folosește un vector de inițializare unic, asigurând că același text simplu produce text cifrat diferit.
Stocarea datelor
Datele tale rămân pe dispozitivul tău. Sincronizarea cloud este opțională și mereu criptată.
- Local întâi: Toate datele sunt stocate într-o bază de date locală criptată pe dispozitiv.
- Sincronizare iCloud opțională: Când este activată, datele sunt criptate pe dispozitiv înainte de a fi încărcate în containerul tău iCloud privat prin CloudKit.
- Protecție biometrică: Face ID și Touch ID prin Secure Enclave. Datele biometrice sunt gestionate de iOS, nu sunt accesate de aplicație.
Ce nu putem face
Arhitectura noastră Zero-Knowledge înseamnă:
- Nu putem vedea, accesa sau decripta datele tale stocate
- Nu putem reseta parola ta principală
- Nu putem recupera seiful fără cheia ta secretă
- Nu putem partaja datele tale cu nimeni — inclusiv forțele de ordine
- Nu putem insera uși ascunse în criptare
Compatibilitate securitate dispozitiv
ByteGuard este conceput pentru a funcționa perfect cu funcțiile de securitate integrate ale Apple.
- Apple Lockdown Mode: Complet compatibil cu cel mai înalt nivel de protecție al Apple. Toate funcțiile — inclusiv AutoFill, sincronizarea iCloud și widget-urile — funcționează normal când Modul de izolare este activat.
- Fără dependență de WebView: ByteGuard nu folosește niciun motor de randare web. Datele seifului dvs. nu sunt niciodată procesate prin WebKit, eliminând o întreagă clasă de vectori de atac bazați pe browser.
- Integrare Secure Enclave: Autentificarea biometrică este gestionată în întregime de Secure Enclave al iOS. ByteGuard nu accesează și nu stochează niciodată date biometrice.
Device-Level Protection
The biometric quick-unlock boundary is maintained jointly by iOS Keychain and Secure Enclave. The application never holds any Face ID/Touch ID-derived key.
- iOS Keychain ACL: A copy of the Vault DEK is stored in Keychain with kSecAttrAccessibleWhenUnlockedThisDeviceOnly + kSecAccessControlBiometryCurrentSet. Unreadable when the device is locked or Face ID has not authenticated.
- Secure Enclave Takes Over: The Keychain entry is encrypted by a device key inside Secure Enclave. When the app calls SecItemCopyMatching, iOS triggers Face ID; on success SE decrypts and returns the plaintext DEK — the app never touches any SE key.
- Auto-Invalidation on Face ID Re-enrollment: biometryCurrentSet semantics: when the user removes/re-enrolls Face ID in system settings, iOS automatically deletes the Keychain entry. ByteGuard detects the invalidation at launch and forces Master Password re-entry.
- Strict Mode (No Fallback): If biometryCurrentSet is unavailable (simulators, no enrolled biometrics), the DEK cache simply fails — never falls back to a less-protected Keychain entry. Fallback would be weaker than not enabling Face ID at all and would violate user intent.
- Memory Zeroing (Vault DEK): On lock, suspension, or vault switch, the Vault DEK is overwritten three times (zero → random → zero) with a memory barrier defeating compiler optimization. Master Key / KEK are local variables inside the unlock function, released by Swift ARC (not explicitly zeroed). Argon2 internal buffers are zeroed by libsodium via sodium_memzero.
Descarcă din App Store