我正在研究以訪問Google API的解釋型語言創建桌面應用程序。據我所知,有一個安全漏洞。客戶端密碼將暴露在代碼中,即使我使用C++或Java創建了應用程序,代碼也可以反編譯和拆解,理論上可以找到祕密。除了混淆代碼之外,還有其他什麼嗎?我希望能夠分發其他人使用的代碼。OAuth祕密和桌面應用程序
4
A
回答
2
OAuth 2.0 Threat Model and Security Considerations(rfc6819)已列出獲取客戶機密作爲威脅。
而作爲谷歌文檔使用OAuth 2.0 for Installed Applications說:
這些應用程序分發到個人計算機,並假定這些應用程序不能保守祕密。
所以事實上沒有客戶「祕密」。試圖在安裝的應用程序中混淆祕密是徒勞無益的,因爲使用大量逆向工程和調試工具可以隨時恢復機密。
當然,你應該盡最大努力保護祕密,但最終,一個高度積極的黑客總是可以在安裝的應用程序中獲得它。所以這是祕密與難度提取的價值。客戶端祕密的價值是冒充應用程序。它不給任何用戶數據的訪問權限。
我的建議: 只要冒險繼續並將其混淆即可。或者你可以考慮使用 代理模式(move the secret to a web server acting as an API proxy)。
相關問題
- 1. OAuth的桌面應用程序
- 2. OAuth與桌面應用程序
- 3. Facebook的Python OAuth桌面應用程序
- 4. Vimeo桌面應用程序OAuth
- 5. 我可以獲得intuit oauth訪問令牌和桌面應用程序的祕密嗎?
- 6. Facebook應用程序ID和祕密
- 7. 適用於桌面和移動應用程序的OAuth 2.0
- 8. 創建OAuth API時的應用程序令牌/祕密
- 9. Twitter OAUTH和Win32 EXE桌面應用程序
- 10. 放在哪裏的OAuth應用祕密
- 11. 谷歌的OAuth 2.0安裝的應用程序和客戶端祕密不是祕密
- 12. 桌面應用的OAuth?
- 13. OAuth用戶代理流程與C#桌面應用程序
- 14. Android的開發應用程序密鑰和應用程序的祕密
- 15. 帶桌面應用程序的java桌面應用程序
- 16. Facebook應用程序ID和祕密密鑰的用途
- 17. 谷歌oauth和變量ClientId和祕密
- 18. 谷歌應用程序引擎,OpenID的+ OAuth的桌面應用程序
- 19. 爲簡單的單用戶桌面應用程序設置oauth
- 20. 應用程序的祕密在哪裏?
- 21. Flask,html和javascript桌面應用程序
- 22. Winform桌面應用程序和觸摸
- 23. HTML,JS和CSS桌面應用程序
- 24. DotNetOpenAuth和C#桌面應用程序
- 25. 臉譜和Windows桌面應用程序
- 26. Java桌面應用程序和Java EE?
- 27. MySQL和.NET桌面應用程序
- 28. Android和桌面應用程序
- 29. 網絡和桌面應用程序
- 30. OpenID和桌面應用程序