gpt4 book ai didi

java - android中,开发sdk时如何保护敏感数据或如何对请求进行鉴权

转载 作者:行者123 更新时间:2023-11-30 03:25:03 28 4
gpt4 key购买 nike

我正在开发供第三方应用使用的 sdk,我需要在我的服务器上对来自 sdk 的请求进行身份验证。

现在我通过在 sdk 中硬编码一个私有(private) secret 来解决这个问题,然后 sdk 使用这个 secret 来哈希(md5)它的请求参数作为一个标志,它与其他参数一起发送到服务器。然后服务器可以检查签名,看它是否由正确的私有(private) secret 签名,因此,我开发了sdk。

问题是:

  • 我如何保护这个私有(private) secret 免受逆向工程的侵害?
  • 我可以通过在android NDK中封装请求过程来保护隐私吗?
  • 是否有其他更好的方法来实现我的根本目的:验证我的 sdk 请求?那里的其他 SDK 表现如何?

谢谢。

最佳答案

如果您试图阻止第三方使用他们自己的软件而不是您提供的软件,it's not possible .

您需要确保安全功能由您的 API 提供,并且您不依赖于 SDK 中存在的控件。例如,不要通过您的 API 公开敏感数据,因为 SDK 根本没有可调用的命令;在服务器端使用速率限制,而不仅仅是在 SDK 上;等等。这与网站和客户端 javascript 出现的情况相同:您根本不能相信客户端脚本的完整性,并且无论如何都要确保您的网站是安全的。

限制 API 使用的正常方式有两个:

  1. 用户身份验证 - 每个想要使用您的服务的用户都会创建一个用户帐户,并且必须建立经过身份验证的 session 才能使用它。
  2. API key - 每个想要访问您的 API 的第三方开发人员都被授予一个 API key ,他们有责任保护自己的 key 。 API key 用于验证请求,例如 appending a MAC over the request .

关于java - android中,开发sdk时如何保护敏感数据或如何对请求进行鉴权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18370177/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com