我目前正在开发一个使用多个 API 的移动应用程序(最初基于 iOS)。目前,我们将 API 密钥作为字符串存储在前缀头文件中,并在应用加载时初始化大部分 API。我们想到,从根设备上的可执行文件中额外添加 API 密钥是非常容易的。此外,如果我们的 API 密钥之一被泄露并且我们被迫更改它,我们就会通过在可执行文件中硬编码这些值来给自己戴上手铐。
存储这些 API 密钥的最安全方式是什么,以及通过无线方式分发它们(即使用远程配置模式)的最安全方式是什么?
我目前正在开发一个使用多个 API 的移动应用程序(最初基于 iOS)。目前,我们将 API 密钥作为字符串存储在前缀头文件中,并在应用加载时初始化大部分 API。我们想到,从根设备上的可执行文件中额外添加 API 密钥是非常容易的。此外,如果我们的 API 密钥之一被泄露并且我们被迫更改它,我们就会通过在可执行文件中硬编码这些值来给自己戴上手铐。
存储这些 API 密钥的最安全方式是什么,以及通过无线方式分发它们(即使用远程配置模式)的最安全方式是什么?
您想使用苹果钥匙串绑定存储它们并通过 SSL 分发它们。这是钥匙串绑定的一个很好的包装器
编辑 - 最初,我以为您担心有人窃取您的用户密钥。我看到您担心自己的开发 api 密钥。只需将密钥保存在您自己的服务器上,并通过您自己的后端设置管道传输 api 内容。这样 API 密钥总是安全的。