菜鸟教程小白 发表于 2022-12-12 18:55:38

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


                                            <p><p>我注意到社交网络中大多数主要参与者的一些教程都有示例,其中与您的帐户相关联的 APIkey (通常在计划文本中)嵌入到源代码中。例如,<a href="https://developers.google.com/maps/premium/ios-get-started#get_an_api_key_from_the_console_name" rel="noreferrer noopener nofollow">Google Maps APIs Premium Plan</a> .此 key 用于向您的公司收费。</p>

<p>我在 <a href="https://stackoverflow.com/questions/35496050/is-it-safe-to-put-private-api-keys-in-your-m-files-when-exporting-to-the-appsto]" rel="noreferrer noopener nofollow">Is it safe to put private API keys in your .m files when exporting to the appstore?</a> 中发现了一个类似的问题<a href="https://developers.google.com/maps/premium/ios-get-started#get_an_api_key_from_the_console_name" rel="noreferrer noopener nofollow">1</a> - 值得注意的是,<strong>任何拥有越狱手机的人都可以看到未加密的可执行文件</strong>。</p>

<p>这种做法实际上是否安全,如果是,为什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在应用程序中嵌入 APIkey 并不安全,通常也不是一个好的做法,但确实需要大量的工作因素才能获得它们,这并非易事。除了操作系统执行之外,没有工具可以解密可执行文件。</p>

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

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

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

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

<p>将 APIkey 放在源中可能会满足安全需求。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 为什么将 key 放入 iOS 二进制文件是安全的,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35978943/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35978943/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 为什么将 key 放入 iOS 二进制文件是安全的