Безбедност

Енкрипција банкарског нивоа за ваш дигитални живот

Zero-Knowledge архитектура

ByteGuard је изграђен на Zero-Knowledge безбедносном моделу. Никада не видимо, не приступамо нити чувамо ваше кључеве за енкрипцију.

  • Главна лозинка: Ваш лични кључ за откључавање апликације. Никада се не преноси, никада се не чува на даљину.
  • Тајни кључ (Secret Key): Фраза за опоравак од 12 речи (BIP39) генерисана при креирању вашег трезора. Комбинована са главном лозинком за максималну безбедност.
  • Локално извођење кључева: Argon2id са трошковима меморије од 64 MB и 3 итерације изводи мастер кључ локално. HKDF-SHA256 креира хијерархију кључева.
  • Без задњих врата: Ако изгубите и главну лозинку и тајни кључ, не можемо опоравити ваше податке. То је намерно дизајнирано.

Детаљи енкрипције

Вишеструки слојеви енкрипције штите сваки осетљиви податак.

  • Енкрипција на нивоу поља: Свако осетљиво поље (лозинке, бројеви картица, API кључеви) је индивидуално енкриптовано са AES-256-GCM.
  • Хијерархија кључева: Мастер кључ → Кључ за енкрипцију кључева (KEK) → Кључ за енкрипцију података (DEK). Свака ставка има свој DEK.
  • Јединствени IV-ови: Свака операција енкрипције користи јединствени иницијализациони вектор, обезбеђујући да исти отворени текст производи различити шифровани текст.

Чување података

Ваши подаци остају на вашем уређају. Синхронизација у облаку је опциона и увек енкриптована.

  • Локално прво: Сви подаци се чувају у енкриптованој локалној бази података на вашем уређају.
  • Опциона iCloud синхронизација: Када је активирана, подаци се енкриптују на уређају пре отпремања у ваш приватни iCloud контејнер путем CloudKit-а.
  • Биометријска заштита: Face ID и Touch ID путем Secure Enclave. Биометријске податке обрађује iOS, апликација им никада не приступа.

Шта не можемо учинити

Наша Zero-Knowledge архитектура значи:

  • Не можемо видети, приступити нити декриптовати ваше сачуване податке
  • Не можемо ресетовати вашу главну лозинку
  • Не можемо опоравити ваш трезор без вашег тајног кључа
  • Не можемо делити ваше податке ни са ким — укључујући органе за спровођење закона
  • Не можемо уметнути задња врата у енкрипцију

Компатибилност безбедности уређаја

ByteGuard је дизајниран за беспрекоран рад са уграђеним безбедносним функцијама Apple-а.

  • Apple Lockdown Mode: Потпуно компатибилан са највишим нивоом заштите Apple-а. Све функције — укључујући AutoFill, iCloud синхронизацију и виџете — раде нормално када је режим закључавања омогућен.
  • Без зависности од WebView: ByteGuard не користи ниједан веб мотор за приказивање. Подаци вашег трезора никада се не обрађују преко WebKit-а, чиме се елиминише цела класа вектора напада заснованих на прегледачу.
  • Интеграција Secure Enclave: Биометријска аутентификација се у потпуности обрађује преко iOS Secure Enclave-а. ByteGuard никада не приступа биометријским подацима нити их чува.

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.
Преузми на App Store