将我的用户登录到其他服务,如何存储他们的密码?

时间:2010-11-13 05:57:25

标签: passwords

我正在为我学校的学生开设一项服务,要求他们向我提供我们学校网络系统的用户帐户信息,这样我就可以为他们自动完成一些恼人的任务。我将使用CURL记录它们,但我无法确定如何以安全的方法存储密码。对于大多数Web服务,密码是加密的,然后存储,登录时,我们只比较加密的密码。但这有很大的不同。由于我将通过HTTP请求发送密码,因此我需要能够将其密码解密回原始文本。您如何建议我存储和检索它们?

1 个答案:

答案 0 :(得分:1)

这可能不是您正在寻找的答案,但如果您要为第三方服务存储用户的凭据,则无法仅使用软件来保护存储。正如您自己提到的那样,您的应用程序需要能够从该存储中检索原始凭据,以便模拟用户。如果您的应用程序可以执行此操作,则该框上运行的任何其他代码也可以执行此操作。

因此,唯一真正的解决方案是确保只有您的软件在盒子上运行。这通过关闭所有不必要的服务来假设物理安全,有限的机器访问,全面审计和尽可能降低攻击面。

另外,如果学校服务支持访问授权(例如通过OAuth),您应该考虑使用该路由,并退出凭证存储业务。