将敏感数据添加到iOS应用程序的最佳做法是什么? 对于敏感数据,我指的是与某个外部服务器通信的密钥或令牌。
我们可以在应用程序中编译证书吗?iOS可以在安装时将其删除吗?
我觉得我们不能真正100%保证它的安全性,但我们可以添加的最佳实践层是什么。
答案 0 :(得分:0)
没有任何机制可以确保服务器只允许您的应用程序与之通信。所以,如果这是你的目标,那么它是无法解决的。这已经被SO谈到了死亡。只是几个:
(以及这些帖子中的许多其他链接。)
其他地方:
您无法验证设备或软件。您只能验证用户身份。这意味着登录。如果没有部分存储在用户大脑中的登录(或者至少与iPhone分开存储),那只是混淆。
现在,这并不意味着混淆是无用的。事实并非如此。您可以从简单的身份验证令牌(如客户端密钥)中获得一些里程数,但不要指望它能够在攻击中幸存下来。这并不意味着你不应该这样做;它只是意味着你不应该花很多时间/金钱,因为它会很快失败。
在任何情况下,您都不应该实施能够吸引付费客户的东西。读取上面链接的几个线程(以及从这些线程链接的几个线程)。如果在那之后,你仍然需要一个解决方案,那么你需要雇用一个人来跟踪裂缝,并在每次出现新的时候修复它们。它永远不会停止。