• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 为什么将 key 放入 iOS 二进制文件是安全的

[复制链接]
菜鸟教程小白 发表于 2022-12-12 18:55:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我注意到社交网络中大多数主要参与者的一些教程都有示例,其中与您的帐户相关联的 API key (通常在计划文本中)嵌入到源代码中。例如,Google Maps APIs Premium Plan .此 key 用于向您的公司收费。

我在 Is it safe to put private API keys in your .m files when exporting to the appstore? 中发现了一个类似的问题1 - 值得注意的是,任何拥有越狱手机的人都可以看到未加密的可执行文件

这种做法实际上是否安全,如果是,为什么?



Best Answer-推荐答案


在应用程序中嵌入 API key 并不安全,通常也不是一个好的做法,但确实需要大量的工作因素才能获得它们,这并非易事。除了操作系统执行之外,没有工具可以解密可执行文件。

RE:“任何拥有越狱手机的人都可以看到未加密的可执行文件。”不是真的。只是越狱不会解密应用程序二进制文件,它只是在二进制文件加载到 RAM 中执行并且 key 不可用时解密,它在 DMA 路径中的硬件中解密。需要添加调试工具,并在二进制加载到内存后捕获执行。

您需要确定攻击者是谁、攻击者将花费多少技能和时间以及对您造成的损失。

没有 100% 安全的解决方案,只会增加工作系数。 另一种方法是在登录服务器时第一次运行时获取 API key ,然后将它们移动到钥匙串(keychain)。但这也只是增加了工作因素,因为如上所述,可执行文件在发送到服务时可以在运行时进行检查。

只要 key 在执行的任何部分都必须在应用内存中,它就很容易受到攻击。

将 API key 放在源中可能会满足安全需求。

关于ios - 为什么将 key 放入 iOS 二进制文件是安全的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35978943/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap