Sicurezza
Crittografia di livello bancario per la tua vita digitale
Architettura Zero-Knowledge
ByteGuard è costruito su un modello di sicurezza Zero-Knowledge. Non vediamo, accediamo né archiviamo mai le tue chiavi di crittografia.
- Password principale: La tua chiave personale per sbloccare l'app. Mai trasmessa, mai archiviata da remoto.
- Chiave segreta (Secret Key): Una frase di recupero di 12 parole (BIP39) generata quando crei il tuo vault. Combinata con la password principale per la massima sicurezza.
- Derivazione chiavi locale: Argon2id con costo di memoria di 64 MB e 3 iterazioni deriva la chiave master localmente. HKDF-SHA256 crea la gerarchia delle chiavi.
- Nessuna backdoor: Se perdi sia la password principale che la chiave segreta, non possiamo recuperare i tuoi dati. Questo è intenzionale.
Dettagli crittografia
Più livelli di crittografia proteggono ogni dato sensibile.
- Crittografia a livello di campo: Ogni campo sensibile (password, numeri di carta, chiavi API) è crittografato individualmente con AES-256-GCM.
- Gerarchia delle chiavi: Chiave master → Chiave di crittografia delle chiavi (KEK) → Chiave di crittografia dei dati (DEK). Ogni elemento ha la propria DEK.
- IV unici: Ogni operazione di crittografia utilizza un vettore di inizializzazione unico, garantendo che lo stesso testo in chiaro produca testo cifrato diverso.
Archiviazione dati
I tuoi dati restano sul tuo dispositivo. La sincronizzazione cloud è opzionale e sempre crittografata.
- Prima locale: Tutti i dati sono archiviati in un database locale crittografato sul tuo dispositivo.
- Sincronizzazione iCloud opzionale: Quando attivata, i dati vengono crittografati sul dispositivo prima di essere caricati nel tuo container iCloud privato tramite CloudKit.
- Protezione biometrica: Face ID e Touch ID tramite Secure Enclave. I dati biometrici sono gestiti da iOS, mai accessibili dall'app.
Cosa non possiamo fare
La nostra architettura Zero-Knowledge significa:
- Non possiamo vedere, accedere o decrittare i tuoi dati archiviati
- Non possiamo reimpostare la tua password principale
- Non possiamo recuperare il tuo vault senza la chiave segreta
- Non possiamo condividere i tuoi dati con nessuno — incluse le forze dell'ordine
- Non possiamo inserire backdoor nella crittografia
Compatibilità sicurezza del dispositivo
ByteGuard è progettato per funzionare perfettamente con le funzionalità di sicurezza integrate di Apple.
- Apple Lockdown Mode: Completamente compatibile con la protezione di sicurezza più elevata di Apple. Tutte le funzionalità — inclusi AutoFill, sincronizzazione iCloud e widget — funzionano normalmente quando la modalità di isolamento è attiva.
- Nessuna dipendenza da WebView: ByteGuard non utilizza alcun motore di rendering web. I dati della cassaforte non vengono mai elaborati tramite WebKit, eliminando un'intera classe di vettori di attacco basati sul browser.
- Integrazione Secure Enclave: L'autenticazione biometrica è gestita interamente dal Secure Enclave di iOS. ByteGuard non accede né memorizza mai dati biometrici.
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.
Scarica su App Store