安全
为你的每一个数字身份提供 AES-256-GCM 加密
零知识架构
ByteGuard 基于零知识安全模型构建。我永远无法查看、访问或存储您的加密密钥。
- 主密码: 您的专属解锁密钥。永不传输,永不远程存储。
- 恢复密钥(Secret Key): 创建密码库时生成的 12 个单词恢复短语(BIP39)。与主密码结合使用,提供最高安全性。
- 本地密钥派生: 使用 64MB 内存成本和 3 次迭代的 Argon2id 在本地派生主密钥。HKDF-SHA256 构建密钥层级。
- 无后门: 如果您同时丢失主密码和恢复密钥,我无法恢复您的数据。这是设计使然。
加密详情
五层密钥层级,从主密码到字段密文,每一层都有明确的隔离边界。
- Master Key(主密钥): Argon2id(主密码 ‖ Secret Key, salt) 在本地派生。OWASP 推荐参数:64MB 内存 × 3 次迭代,足以抵御 GPU 暴力破解。永不离开设备。
- Auth Hash(验证哈希): HKDF-SHA256(Master Key, info="vault-auth-v1") 派生,仅用于密码验证。常量时间比较防止时序攻击。
- KEK(密钥加密密钥): HKDF-SHA256(Master Key, info="vault-kek-v1") 派生。专职解封 Vault DEK,不直接接触用户数据。
- Vault DEK(数据加密密钥,全库唯一): 随机生成的 256-bit 密钥。**明文 DEK 永不离开设备 RAM**;wrapped DEK(KEK 用 AES-256-GCM 包裹后的密文)随 vault 元数据存储,启用 iCloud 时通过 CloudKit Private DB 同步——离开设备的始终是密文。改主密码时只需重派生 KEK 重新包裹 DEK,全库无需重加密。
- Item Key(条目专用密钥): HKDF-SHA256(Vault DEK, info="type-{T}-item-{ID}-v1") 按类型 + 条目 ID 派生。每条记录使用独立密钥,单个泄露不影响其他条目。
- 字段密文: AES-256-GCM(Item Key, plaintext) 按类型加密敏感字段:登录条目的密码、备用密码、PIN、安全问题答案、自定义机密字段,以及银行卡的卡号(PAN)。账户名、用户名、URL、过期日、标签等以明文形式存储以便搜索和索引。每次加密使用唯一 IV,相同明文产生不同密文。
设备级保护
生物识别快速解锁的安全边界由 iOS Keychain 与 Secure Enclave 共同维护,应用层不持有任何 Face ID/Touch ID 派生的密钥。
- iOS Keychain ACL: Vault DEK 的副本存入 Keychain,访问控制设为 kSecAttrAccessibleWhenUnlockedThisDeviceOnly + kSecAccessControlBiometryCurrentSet。设备未解锁、Face ID 未通过时无法读取。
- Secure Enclave 自动接管: Keychain 条目由 Secure Enclave 内的 device key 加密。应用调用 SecItemCopyMatching 时由 iOS 触发 Face ID,验证通过后 SE 解密并返回明文 DEK,全过程应用层不接触 SE 密钥。
- Face ID 重录自动失效: biometryCurrentSet 语义:用户在系统设置中删除/重录 Face ID 时,iOS 自动删除该 Keychain 条目。应用启动时检测到失效会强制要求重新输入主密码。
- 严格模式(无降级): biometryCurrentSet 不可用时(模拟器、未注册生物识别),DEK 缓存直接抛错,绝不降级到无生物保护的普通 Keychain 存储。fallback 比未启用 Face ID 更弱,违背用户心智。
- 内存清零(Vault DEK): 锁屏、应用挂起、密码库切换时对 Vault DEK 执行三次覆写(zero → random → zero)+ 内存屏障防编译器优化。Master Key / KEK 是解锁函数内 local 变量,由 Swift ARC 自动释放(不显式覆写)。Argon2 内部缓冲由 libsodium 自行 sodium_memzero。
数据存储
您的数据保留在您的设备上。云同步是可选的,且始终加密。
- 本地优先: 所有数据存储在设备上的加密本地数据库中。
- 可选 iCloud 同步: 启用后,数据在设备上加密后通过 CloudKit 上传到您的私有 iCloud 容器。
- 生物识别保护: 通过 Secure Enclave 支持 Face ID 和 Touch ID。生物识别数据由 iOS 处理,应用无法访问。
我做不到的事
我的零知识架构意味着:
- 我无法查看、访问或解密您存储的数据
- 我无法重置您的主密码
- 没有恢复密钥,我无法恢复您的密码库
- 依架构设计,我和任何第三方(包括执法机构)都无法在缺少你的主密码的情况下解密你的数据
- 我无法在加密中植入后门
设备安全兼容性
ByteGuard 与 Apple 内置安全功能无缝协作。
- Apple Lockdown Mode: 兼容 iOS 锁定模式。开启锁定模式后,自动填充、iCloud 同步和小组件等所有功能均正常运行。
- 无 WebView 依赖: ByteGuard 不使用任何网页渲染引擎。您的密码库数据从不经过 WebKit 处理,从根本上杜绝了基于浏览器的攻击向量。
- 安全隔区集成: 生物识别认证完全由 iOS 安全隔区(Secure Enclave)处理。ByteGuard 从不访问或存储生物识别数据。
在 App Store 下载