向移动应用分发 API 密钥

信息安全 移动的 密钥管理 IOS
2021-08-23 08:05:44

我目前正在开发一个使用多个 API 的移动应用程序(最初基于 iOS)。目前,我们将 API 密钥作为字符串存储在前缀头文件中,并在应用加载时初始化大部分 API。我们想到,从根设备上的可执行文件中额外添加 API 密钥是非常容易的。此外,如果我们的 API 密钥之一被泄露并且我们被迫更改它,我们就会通过在可执行文件中硬编码这些值来给自己戴上手铐。

存储这些 API 密钥的最安全方式是什么,以及通过无线方式分发它们(即使用远程配置模式)的最安全方式是什么?

1个回答

您想使用苹果钥匙串绑定存储它们并通过 SSL 分发它们。这是钥匙串绑定的一个很好的包装器

https://github.com/carlbrown/PDKeychainBindingsController

编辑 - 最初,我以为您担心有人窃取您的用户密钥。我看到您担心自己的开发 api 密钥。只需将密钥保存在您自己的服务器上,并通过您自己的后端设置管道传输 api 内容。这样 API 密钥总是安全的。