gpt4 book ai didi

ios - swift 安全地保存敏感数据

转载 作者:行者123 更新时间:2023-11-28 05:52:54 25 4
gpt4 key购买 nike

我正在制作一个应用程序,我需要在其中保存一个 [Card] 类型的数组,其中 card 是结构:

struct Card : {
var image : UIImage? = nil
var name : String = ""
var titles : [String] = []
var data : [String] = []
}

考虑到该数组包含信用卡号等数据,最好的持久化方法是什么?

在 XCode 的 Capabilities 选项卡下启用 Data Protection 就足够了吗?目前我正在使用 Codable 进行储蓄。

最佳答案

这个问题没有正确答案,但这是了解一个人对 iOS 安全性深入研究的好方法。如果你正在面试一家银行,我几乎肯定希望有人对此有所了解,但所有公司都需要认真对待安全问题,因此以下是我希望在回答中听到的理想主题列表:

  • 如果数据极其敏感,则绝不应将其离线存储在设备上,因为所有设备都是可破解的。
  • 钥匙串(keychain)是安全存储数据的一种选择。然而,它的加密是基于设备的密码。用户不会被迫设置密码,因此在某些情况下,数据甚至可能不会被加密。此外,用户密码可能很容易被破解。
  • 更好的解决方案是使用像 SQLCipher 这样的东西,它是一个完全加密的 SQLite 数据库。加密 key 可以由应用程序强制执行,并与用户的 pin 代码分开。其他安全最佳做法是:
  • 仅通过 SSL/HTTPS 与远程服务器通信。
  • 如果可能,在应用程序中实现证书锁定以防止对公共(public) WiFi 的中间人攻击。
  • 通过覆盖清除内存中的敏感数据。
  • 确保提交数据的所有验证也在服务器端运行。

关于ios - swift 安全地保存敏感数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52276570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com