首页 > 解决方案 > 最佳实践:如果用户上传密钥文件会(更)安全吗?

问题描述

现在,存储在我的(MariaDB-)数据库中的用户数据是加密的(AES)。每当用户发布或编辑数据时,数据都会被加密;40 位以上的加密密钥是使用用户帐户随机创建的,然后存储在由 .htaccess 文件保护的额外文件夹中的文件中。因此,即使数据库被泄露,攻击者也不应该看到任何明文数据——除非攻击者还获得了对存储在同一服务器上的密钥文件的控制权。

我的问题是:如果用户每次登录后都必须上传密钥文件进行加密,会不会更安全?最后一个文件路径可以存储并在输入字段中使用,因此这样做时至少有基本的舒适度。

应该是这样的: 1. 用户 -> 登录 2. 如果登录确认:下一步将密钥文件从本地计算机上传到服务器 3. 服务器 -> 确认密钥文件 4. 确认的密钥文件将被临时加密加密密钥并存储在 $_SESSION 变量中,该变量将在 30 分钟不活动后过期。

当然,这种方法不如只登录那么舒服,但我认为万一服务器出现安全漏洞(?)会更安全。

标签: phpsqlsecurity

解决方案


推荐阅读