0

我目前正在规划一个涉及无登录服务的项目。

用户将通过在客户端 (ios) 上创建的唯一设备 ID 来识别。

有哪些安全问题?防止攻击的常见模式是什么?

  • 套接字将用 ssl 包裹
  • 创建一个私有证书来验证客户端?(如果有人反编译二进制文件并获得它呢?)

任何想法表示赞赏

4

1 回答 1

0

谁是这个场景中的“攻击者”?您是在保护您的用户免受攻击,还是将您的用户视为攻击者?任何将用户视为攻击者的方案都是 DRM 方案,而不是安全方案。安全和 DRM 有完全不同的问题,DRM 问题是无解的。它只能通过不断的努力和补丁来缓解。

在 iOS 中创建唯一 id 很简单(请参阅 参考资料CFUUIDCreate),但它只与特定的安装相关,而不是与设备相关。如果用户删除了程序并且您没有将 UUID 保存在其他地方(例如 iCloud),那么下次您创建 UUID 时,它会有所不同。

可以对用户进行身份验证。他们有他们心中的秘密。无法以授权用户无法伪造的方式对 iPHone 等通用设​​备进行身份验证。这是一种非常复杂的说法,即越狱问题是无法解决的,如果你不是苹果公司,不值得花很多钱去解决。(他们在阻止越狱上花费的钱比你整个开发预算中可能花费的钱多得多,而且他们无法阻止越狱;你将无法更好地分层。)

有一些方法可以弱识别设备。特别是您可以使用 MAC 地址。苹果很有可能在未来将其拿走。他们取消了唯一标识设备的其他方法,因为它们太容易被滥用而无法监视用户。

创建一个私有证书来验证用户是很棒的。验证程序?这只是混淆,如果你的程序值得麻烦,它会很快被拉出来。

这个一般性话题已经在 SO 上讨论过很多次。有关几个讨论的链接,请参见以下内容。如果您有以前未涵盖的更具体的问题,请告诉我们。

iOS 应用程序安全性的最佳实践

于 2012-07-26T00:18:11.077 回答