我正在研究用一种访问Google API的解释语言创建一个桌面应用程序。据我所知,这里有一个安全漏洞。客户端秘密将在代码中公开,即使我用C++或Java创建了应用程序,也可以对代码进行反编译\分解,理论上也可以找到这个秘密。除了混淆代码之外,还有什么别的吗?我希望能够将代码分发给其他人使用。
发布于 2013-12-24 07:36:20
OAuth 2.0威胁模型与安全考虑(Rfc6819)已将获取客户端秘密列为威胁。
正如使用用于安装应用程序的OAuth 2.0的Google所说:
这些应用程序被分发到单独的机器上,并且假定这些应用程序不能保存机密。
所以事实上没有客户的“秘密”。在安装的应用程序中试图混淆一个秘密是徒劳的,因为可以使用大量的反向工程和调试工具来恢复秘密。
当然,你应该尽你最大的努力来保护秘密,但是最后,一个高度激励的黑客总是可以在一个安装的应用程序中得到它。这就是提取的秘密与困难的价值所在。客户端秘密的值是模拟应用程序。它不允许访问任何用户数据。
我的建议是:冒险去做,把它弄糊涂。或者可以考虑使用代理模式(将秘密移到充当API代理的web服务器上。)。
https://stackoverflow.com/questions/20725062
复制相似问题