我*必须*将第三方凭据存储在我的数据库中。最好的办法?

【字号: 日期:2024-03-08浏览:29作者:雯心
如何解决我*必须*将第三方凭据存储在我的数据库中。最好的办法??

这是一项艰巨的任务,没有任何方法可以避免麻烦,以确保没有薄弱环节。对于初学者来说,我不知道在Google上托管是否是最好的方法,因为您将失去控制权(我真的不知道AppEngine在设计时是否考虑了所需的安全级别,您应该发现),并且可能无法进行渗透测试(您应该这样做)。

拥有一个单独的小型应用程序可能是一个好主意,但这并不能使您不必在此小型应用程序中加密一种或另一种凭据本身。它只是为您提供了简单性,从而使事情更易于分析。

我个人将尝试设计该应用程序,以便每次使用后密钥都会随机更改,采用一种一次性的方法。您没有指定足够详细的应用程序以查看这是否可行。

解决方法

我的应用程序必须从第三方读取SSL网址。如何最好地将第三方凭据存储在自己的数据库中,以保护第三方凭据免遭泄露?同时考虑绝对安全性和实用性。单向对凭据进行哈希处理没有用,因为对于SSL调用,我必须将凭据还原为纯文本。我在GoogleApp Engine上使用python,我的应用程序使用Google凭据进行身份验证。

使用AES加密凭据,并将加密密钥保存在其他位置(仅解决问题),或从凭据中获取加密密钥并将算法保密(仅解决问题)使用同步流密码对凭据进行加密,从凭据中导出(非)熵,并将算法保密(仅解决问题)在专门用于存储第三方凭据的单独的Web应用程序上,提供一个SSL URL来接收第三方凭据,使用google凭据(与我的应用程序相同)访问此URL,并且可以使用authsub或其他方式将授权转移到另一个Web应用程序。这听起来更安全,因为更难破解一个简单的Web应用程序,而且如果我复杂的主应用程序遭到入侵,则不会公开第三方凭据。

您如何看待所有方法?

相关文章: