如何通过 SecureEnclave 持久存储加密数据
Posted
技术标签:
【中文标题】如何通过 SecureEnclave 持久存储加密数据【英文标题】:How to store encrypted data by SecureEnclave persistently 【发布时间】:2020-07-28 05:12:42 【问题描述】:我听说过 Secure Enclave。其中密钥生成后,可以通过 SecKeyCreateEncryptedData 方法对数据进行加密。
我的用例:我想永久存储一些敏感数据。出于安全考虑,我使用 Secure Enclave 通过上述方法对数据进行了加密。
现在只想知道将加密数据存储在 NSUserDefaults 或 Keychain 中是否合法。或者还有其他事情要做。
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:由于数据已加密,因此您可以随意存储。如果没有 Secure Enclave 中的密钥,数据将毫无价值。
您可以采用多种方法:将其保存到 UserDefaults、在文档目录中创建 JSON 等。
假设您要将其保存到 UserDefaults 然后查看此链接: How can I use UserDefaults in Swift?
关于安全飞地和加密套件的有价值的文章: https://www.andyibanez.com/posts/cryptokit-secure-enclave/
【讨论】:
以上是关于如何通过 SecureEnclave 持久存储加密数据的主要内容,如果未能解决你的问题,请参考以下文章
在 iphone/ipad 的持久存储上加密数据的最安全方法是啥?