我正在使用用户客户端TLS证书(来自智能卡)在web程序上进行身份验证。用户将数据存储在服务器上,如果数据库受到破坏,我将对存储的数据进行加密以保护信息。我不想用明文存储数据。
对静止数据进行加密或保护的推荐方法是什么?我不相信我可以使用智能卡私钥来解密数据,因为它被卡在客户端,服务器无法访问。用户唯一的身份验证方法是通过智能卡进行的,因此我不能使用普通的“用户密码”作为加密密钥。我使用Go作为web服务器,但是任何语言中的解决方案都是好的。
更新:我正在考虑的妥协类型是攻击者获得一个完整的数据库转储。我想在密钥/值存储的“值”级别加密Redis数据库中的数据。例如,使用用户的密码(如果我使用密码)加密某些敏感数据,这样只有用户提供的密码才能成功地解密数据。
我不寻找操作系统或数据库范围的加密,因为数据库是由第三方托管的。用户通过HTTPS访问web应用程序,web应用程序与数据库通信。我知道IE有S/MIME插件,允许使用客户端智能卡解密Outlook online中的电子邮件,但这基本上是一个客户端程序。
有什么建议吗?
用户平台的目标是Windows、OS、Linux
用户浏览器的目标是IE、Chrome
发布于 2017-10-28 04:29:21
一种简单的方法是在Linux中启用BitLocker、FileVault和等效程序。如果有人偷了你的机器或磁盘,数据就会被加密。这是在OS级别完成的,因此您不需要对应用程序进行任何更改。
这是非常有效的,尤指。使用遗留数据库、文件存储和应用程序。
如果您关心的是已经解锁和运行的计算机上的数据库受到远程破坏,那么应用程序也会发生同样的情况。因此,您需要建立威胁模型,并弄清楚为什么攻击者不能危害您的应用程序并使用它以解密形式获取数据。
https://security.stackexchange.com/questions/172345
复制相似问题