【发布时间】:2011-07-03 06:14:28
【问题描述】:
可能重复:
PHP 2-way encryption: I need to store passwords that can be retrieved
我知道存储用户密码的最佳做法是只存储密码的不可逆哈希。
但是,我正在开发一个应用程序,我需要在其中存储另一个 Web 服务的用户登录信息——我需要定期让他们登录并执行一些维护任务。不幸的是,该服务不提供授权令牌,因此我(非常担心)必须以可以访问其纯文本值的方式存储密码。我不拥有或控制我正在对其进行身份验证的服务,唯一的方法是“借用”用户的用户名和密码并进行身份验证。
我计划对数据库中的密码进行 AES_ENCRYPT,这意味着如果有人能够以某种方式访问数据库,他们将无法获得明文。但是,我的代码需要访问密钥才能对其进行解密,因此,如果整个服务器遭到破坏,则没有保护措施,并且密码将被泄露。
除了上述加密之外,我是否可以采取任何最佳做法或步骤来尽可能安全地执行此操作?
编辑
我知道无论我做什么,最终密码都必须以明文形式访问,因此受感染的服务器意味着密码将被泄露,但我想知道我可以采取哪些步骤来降低风险。例如。在数据库受到威胁但不是整个服务器的情况下,加密数据库可以保护我。其他类似的缓解措施将不胜感激。
【问题讨论】:
-
哇...这是一个非常不幸的情况!
-
什么操作系统?在 Windows 上,推荐使用 API 来存储敏感数据。
-
将存储在mysql数据库中,在CentOS服务器上运行,代码是python,理想情况下只依赖python/mysql而不是操作系统。
-
PHP 2-way encryption: I need to store passwords that can be retrieved 的可能重复项 - 这已在本网站上多次讨论。请搜索。如果您对所讨论的内容有疑问,请提及。但是这个问题总体上已经讨论过很多次了……
-
我不明白为什么人们投票结束这个问题,这不是提到的问题的重复,它更加具体和有针对性,我需要在用户不在时访问密码' t 在那里,所以我不能只给每个用户一个私钥。此外,从点赞和收藏的数量来看,有很多人对这个问题的答案感兴趣,所以我不同意@ircmaxwell 的论点,即这个答案是可用的或已被广泛覆盖。
标签: security encryption passwords