【发布时间】:2010-12-31 22:26:19
【问题描述】:
我的应用必须从第三方读取 SSL url。如何最好地将第三方凭据存储在我自己的数据库中,从而保护第三方凭据不被泄露?考虑绝对安全性和实用性。单向散列凭据没有用,因为我必须将凭据还原为 SSL 调用的纯文本。我在谷歌应用引擎上使用 python,我的应用使用谷歌凭据进行身份验证。
- 使用例如加密凭证AES 并将加密密钥保存在其他地方(只是移动问题),或derive it from the credentials and keep the algorithm secret(只是移动问题)
- 使用synchronous stream cipher 加密凭据,从凭据和keep the algorithm secret 导出(非)熵(只是解决问题)
- 在专门用于存储第三方凭据的单独 Web 应用程序上,提供 SSL url 以接收第三方凭据,此 url 使用 google 凭据访问(与我的应用程序相同),并且可以使用 authsub 或其他东西将授权转移到其他网络应用程序。这听起来更安全,因为破解一个非常简单的 web 应用程序更难,而且如果我的复杂主应用程序被泄露,第三方凭据也不会暴露。
您如何看待所有方法?
【问题讨论】:
-
不清楚您在问什么? SSL URL 用于加密通过它发送的凭据。
-
我害怕将外部凭据存储在我的数据库中
-
我看不出第三种方法也没有解决问题。它只是将其移动到不同的应用程序,而不是同一个应用程序。
-
同意,但它将危险的东西沙箱化到一个简单的应用程序中,比我复杂且有缺陷的应用程序更难破解......我正在寻找一个合理的折衷方案
标签: python security google-app-engine authentication passwords