我有点蠢,我有一个服务器应用程序需要登录用户的邮件服务器。
用户给我mailserver用户名/密码,服务器应用程序将登录邮件服务器,并以一定的间隔进行操作。
这意味着我确实需要普通密码,因此我无法使用安全措施来安全地存储密码。
从研究来看,我似乎需要使用2路加密(服务器可以加密但也可以解密)。使用加密密钥完成加密。
处理/存储此加密密钥的最佳方法是什么?
我想到的一件事是将加密密钥存储在另一台服务器上,因此如果我的应用程序服务器和数据库被黑客攻击,他们仍然没有加密密钥。虽然如果应用程序服务器可以访问其他服务器,黑客可以在我的应用程序服务器上模拟(反编译,编译)我的应用程序,并以这种方式获取加密密钥。
这是一个难题!
答案 0 :(得分:1)
这是一个好的解决方案的开始。
在第二台服务器(加密服务器)上进行加密和解密。将密码传递给加密服务器进行加密,并返回加密密码以存储在数据库中。需要密码时,将加密密码传递给加密服务器进行解密。
让加密服务器监控请求活动,如果收到异常数量的请求,则发出警报,并在极端情况下停止处理请求。
使第二台服务器非常安全。无法访问Internet,访问帐户最少,双因素身份验证。
加密服务器成为穷人的HSM(硬件加密模块)。