【发布时间】:2012-06-04 21:48:15
【问题描述】:
我需要在 iPhone 应用程序中存储信用卡号。如何安全地存储数据。我看过钥匙扣。除此之外,还有什么可以用的吗?
【问题讨论】:
-
可以使用plist加密,看这个stackoverflow.com/questions/1465271/…
-
如果您要参与接受付款,您需要熟悉PCI(支付卡行业)的要求。这些要求并非微不足道。
我需要在 iPhone 应用程序中存储信用卡号。如何安全地存储数据。我看过钥匙扣。除此之外,还有什么可以用的吗?
【问题讨论】:
如上所述,您应该首先调查其合法性,尤其是在 Apple 对应用商店中的内容进行限制的情况下。
也就是说,我之前不得不加密敏感信息,因此决定使用 AES-256 加密。由于用户名、密码和个人数据是通过网络发送的,因此这是必要的。我为此使用了 FBEncrypt - 它是 CCCrypt 的一个很好的包装器。
https://github.com/dev5tec/FBEncryptor
这将允许您进行 base-64 编码和 AES-256 编码等,非常方便。如果您真的需要,请查看它!
【讨论】:
如前所述,这个问题很难回答。由需求的作者决定所需的安全级别。他们可能希望就泄露数据可能产生的责任(如果有的话)获得一些法律建议。
了解适当的保护级别后,您就可以开始评估解决方案了。钥匙串很好,但有很多可用的加密选项。
除了如何存储号码之外,您可能希望得到答案的问题包括:
如果您想认真保护信息(任何信息),您需要做一些认真的设计工作。
【讨论】:
您需要对此进行非常认真的研究,并且在未经您彻底研究和确认的情况下,不一定接受本网站上的人所说的话。
存储信用卡信息之类的信息不是您应该仅根据该网站 IMO 上的响应实施的操作。
如果你是认真的,你需要阅读、理解和应用“黑客和保护 iOS 应用程序”一书中的材料,以了解危险是什么以及如何减轻它们,以及人们所说的技术如何真正安全并不像您想象的那么安全。
【讨论】:
对于这种情况,加密和 SSL/HTTPS 的使用似乎已经足够了。如果您是该主题的新手,这里有很好的一般指南:Mobile App Development Tips: How to Ensure Data Security
有很多实现,例如你可以使用上面提到的AES256算法:
【讨论】: