首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kahuna API -密钥/API密钥应该保密吗?

Kahuna API -密钥/API密钥应该保密吗?
EN

Stack Overflow用户
提问于 2018-11-28 13:08:08
回答 1查看 50关注 0票数 0

我正在尝试为我的iOS应用程序设置Kahuna,但还没有找到明确的答案-文档上说密钥是用于验证请求的API密钥,但我找不到任何明确说明其中任何一个应该保密/不在源代码中的东西。这些代码放在我的代码里安全吗,还是应该放在服务器端?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-12-12 02:11:07

这些代码放在我的代码里是安全的,还是应该放在服务器端?

简短的回答是,不能让它们留在移动应用程序代码上,可以让它们留在服务器端。

为什么?

因为它们将是移动应用程序代码中的静态秘密,因此可以使用任何反向工程工具轻松提取它们,比如使用Mobile Security Framewrok对应用程序二进制文件进行反编译。

替代方案-

你可以尝试代码混淆,在移动应用程序中动态生成秘密,或者将秘密存储在iOS密钥链中,但再次可以在运行时使用MSF工具对其进行逆向工程。

可能的解决方案-

最好的方法是使用移动应用程序认证服务来保护移动应用程序和API服务器之间的连接,这将在运行时保证您的应用程序不会被中间人攻击,不会被篡改,不会在根设备或监狱破解设备上运行,并且与上传到应用程序商店的原始应用程序相同。通过使用集成在App中的SDK和在云中运行的服务,可以在后台完成此操作,而不会影响用户体验。

有了这个保证,我们不再需要在移动应用程序中存储用于身份验证、真实性和完整性目的的秘密,因此现在可以将对应用程序中的第三方服务的任何访问委派给API服务器,该服务器将能够更好地保护访问第三方服务的所有必要秘密,比如将它们存储在保险库中。

您可以在Approov(我在这里工作)中找到一个移动应用程序认证服务,该服务为包括iOS在内的多个平台提供SDK。集成还需要在API服务器代码中进行一次小检查,以验证JWT令牌。为了使API服务器能够决定为哪些请求提供服务以及拒绝哪些请求,此检查是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53512512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档