我正在开发一个小应用程序,它将帮助用户通过删除isp帐户页面,轻松地从isp提供商那里获取信息。为了使这成为可能,我需要他们的用户名和密码存储在我的数据库中。为了保护他们的密码安全,我将在我的数据库中使用openssl公钥进行编码,并在我的scraper登录到他们的帐户页面之前使用私钥对其进行解码。
我想知道我的私钥放在哪里,这样即使有人控制了我的web服务器,密码也是安全的?因为将私钥留在web服务器上是完全不合适的…
tks
发布于 2011-04-28 20:09:52
如果有人完全控制了你的服务器,并且对这些密码感兴趣,他就会成功。在这种情况下,一定要考虑到这一点,并制定计划。
现在,为了让它尽可能地困难和不可能实现这一点,我建议将密钥(或者更好的是,密码)存储在某种内存表中:就像Ramdisk一样,一个脚本每分钟只给出一个密码,如果调用超过这个密码,就会自动删除,等等。
我在这里看不到使用公钥加密的任何积极影响,无论您使用什么,解密的密钥都必须存储在服务器上。您可能会查找描述https证书问题的Howtos,它们应该由密码短语保护,并且必须在服务器启动时读取-问题是相关的。
也许一个好的解决方案是登录到服务器,将密码文件存储在内存磁盘中,然后注销。在服务器重新启动、崩溃或更改密码时重复此步骤。
https://stackoverflow.com/questions/5746257
复制相似问题