您的私密时刻。严格仅供您查看。
FaceID锁定 • 仅设备 • 军用级加密
安全区域
生物识别身份验证
加密保险库
密钥
256位
云
无云
存储
设备
NUDEFNDR专业版包含
加密管道
源代码
import CryptoKit
final class VaultCrypto {
/// 使用ChaCha20-Poly1305 AEAD加密照片数据
static func encryptData(_ data: Data, key: SymmetricKey) throws -> Data {
// ChaCha20-Poly1305提供:
// - 机密性(加密)
// - 真实性(HMAC)
// - 完整性(篡改检测)
let sealedBox = try ChaChaPoly.seal(data, using: key)
return sealedBox.combined // Nonce + 密文 + Tag
}
/// 解密保险库照片
static func decryptData(_ encryptedData: Data, key: SymmetricKey) throws -> Data {
let sealedBox = try ChaChaPoly.SealedBox(combined: encryptedData)
// 自动验证身份验证标签
// 如果数据被篡改则抛出错误
let decryptedData = try ChaChaPoly.open(sealedBox, using: key)
return decryptedData
}
/// 生成具有熵验证的保险库加密密钥
static func generateVaultKey() throws -> SymmetricKey {
let key = SymmetricKey(size: .bits256)
// 验证熵符合NIST SP 800-90B标准
let keyData = key.withUnsafeBytes { Data($0) }
let entropy = calculateEntropy(keyData)
guard entropy >= 7.5 else {
throw CryptoError.insufficientEntropy
}
return key
}
}
ChaCha20-Poly1305提供经过身份验证的加密。与WireGuard、TLS 1.3和Signal协议使用的标准相同。
每次打开保险库都需要FaceID/Touch ID。即使手机已解锁,保险库仍保持锁定。
安全模型
**如果您丢失设备、更换手机或重新安装NuDefndr,保险库数据无法恢复。**这是故意的——这是保证真正安全的唯一方法。
加密密钥硬件绑定到您设备的安全区域。没有物理设备,保险库内容永久无法访问——即使对我们也是如此。