Sigurnost

Enkripcija bankovne razine za vaš digitalni život

Zero-Knowledge arhitektura

ByteGuard je izgrađen na Zero-Knowledge sigurnosnom modelu. Nikada ne vidimo, ne pristupamo niti pohranjujemo vaše enkripcijske ključeve.

  • Glavna lozinka: Vaš osobni ključ za otključavanje aplikacije. Nikada se ne prenosi, nikada se ne pohranjuje na daljinu.
  • Tajni ključ (Secret Key): Fraza za oporavak od 12 riječi (BIP39) generirana pri stvaranju vašeg trezora. Kombinirana s glavnom lozinkom za maksimalnu sigurnost.
  • Lokalno izvođenje ključeva: Argon2id s troškovima memorije od 64 MB i 3 iteracije izvodi master ključ lokalno. HKDF-SHA256 stvara hijerarhiju ključeva.
  • Bez stražnjih vrata: Ako izgubite i glavnu lozinku i tajni ključ, ne možemo oporaviti vaše podatke. To je namjerno dizajnirano.

Detalji enkripcije

Višestruki slojevi enkripcije štite svaki osjetljivi podatak.

  • Enkripcija na razini polja: Svako osjetljivo polje (lozinke, brojevi kartica, API ključevi) enkriptirano je pojedinačno s AES-256-GCM.
  • Hijerarhija ključeva: Master ključ → Ključ za enkripciju ključeva (KEK) → Ključ za enkripciju podataka (DEK). Svaka stavka ima svoj DEK.
  • Jedinstveni IV-ovi: Svaka operacija enkripcije koristi jedinstveni inicijalizacijski vektor, osiguravajući da isti otvoreni tekst proizvodi različiti šifrirani tekst.

Pohrana podataka

Vaši podaci ostaju na vašem uređaju. Sinkronizacija u oblaku je opcionalna i uvijek enkriptirana.

  • Lokalno prvo: Svi podaci pohranjeni su u enkriptiranoj lokalnoj bazi podataka na vašem uređaju.
  • Opcionalna iCloud sinkronizacija: Kada je aktivirana, podaci se enkriptiraju na uređaju prije učitavanja u vaš privatni iCloud spremnik putem CloudKit-a.
  • Biometrijska zaštita: Face ID i Touch ID putem Secure Enclave. Biometrijske podatke obrađuje iOS, aplikacija im nikada ne pristupa.

Što ne možemo učiniti

Naša Zero-Knowledge arhitektura znači:

  • Ne možemo vidjeti, pristupiti niti dekriptirati vaše pohranjene podatke
  • Ne možemo resetirati vašu glavnu lozinku
  • Ne možemo oporaviti vaš trezor bez vašeg tajnog ključa
  • Ne možemo dijeliti vaše podatke ni s kim — uključujući tijela za provedbu zakona
  • Ne možemo umetnuti stražnja vrata u enkripciju

Kompatibilnost sigurnosti uređaja

ByteGuard je dizajniran za besprijekoran rad s ugrađenim sigurnosnim značajkama Applea.

  • Apple Lockdown Mode: Potpuno kompatibilan s Appleovom najvišom razinom zaštite. Sve značajke — uključujući AutoFill, iCloud sinkronizaciju i widgete — rade normalno kada je način zaključavanja omogućen.
  • Bez ovisnosti o WebView: ByteGuard ne koristi nijedan web rendering engine. Podaci vašeg trezora nikada se ne obrađuju putem WebKita, čime se eliminira cijela klasa vektora napada temeljenih na pregledniku.
  • Integracija Secure Enclave: Biometrijska autentifikacija u potpunosti se obrađuje putem iOS Secure Enclavea. ByteGuard nikada ne pristupa biometrijskim podacima niti ih pohranjuje.

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.
Preuzmi na App Store