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