אבטחה
הצפנה ברמה בנקאית לחיים הדיגיטליים שלכם
ארכיטקטורת 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: אימות ביומטרי מטופל במלואו על ידי Secure Enclave של iOS. 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