ios - iOS App 的安全设计

标签 ios web-services security post

我无法确定以下情况的最佳方法。

  • 我的应用程序 POST 到我的网络服务。
  • POST URL 包含多个参数,包括设备信息 + 共享 key
  • 设备存储在我的数据库中如果共享 key 正确

目前,此共享 secret 已硬编码在应用程序中,并且通过 SSL 连接到我的 Web 服务。

这显然限制了人们发现共享 secret 和滥用我的网络服务。

但是这种方法并不像我希望的那样安全,因为有可能解码我的应用程序等并获取 secret 。

有没有比共享 secret 方法更好的方法?

最佳答案

使用本地 key ,几乎所有安全方法都可能被某些人以某种方式泄露。这当然意味着我们根本不需要付出任何努力。 如果人们下载您的应用程序,则可以通过 reengineering and or refactoring 进一步调查代码

但是,如果除了将 key 放入您的应用程序二进制文件之外别无他法,您将剩下一个(较弱)替代方案,通常称为 security through obscurity

有很多方法可以做到这一点,您可能会在互联网上找到很多关于这个主题的讨论,所以这里只是一些想法:

  • 将 key 拆分到多个类并遍及您的代码
  • 将您的 key 伪装成可以在您的应用中以正常方式使用的字符串
  • 在启动时散列一些数据或代码段并将它们包含在您的 key 中
  • 同时使用上面提到的所有方法

甚至还有一些框架,比如 UAObfuscatedString 这可能会帮助您实现您的逻辑。

请记住,最好的方法始终是不要在您的应用程序二进制文件中对 key 进行硬编码,而是以某种方式从您的服务器“加载” key ,例如计算 key ……

关于ios - iOS App 的安全设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24392989/

相关文章:

Java:获取给定叶证书的证书颁发者链的 API?

ios - 我需要做什么才能让 UIImagePickerController 在横向模式下使用 swift?

javascript - 我可以修复手机上相对于屏幕的背景吗? (注: not window)

java - Android Rest Web 服务调用,连接拒绝问题

java - 使用 Spring MVC 创建 Spring Rest Web 服务来处理大型请求和响应

html - Iframe 和同源策略以及反向代理黑客

ios - SceneKit:使 block 更逼真或更像 3D

ios - UIView 如何在 View 之间转换点?

java - Spring-WS WSDL生成问题

asp.net - 根据角色要求某些用户使用更强的密码