php – 在MySQL中使用/存储加密密钥的最佳方法是什么?
我打算使用
MySQL,它内置加密功能来加密/解密某些表中的某些列.我所关心的是我需要将密钥存储在某个地方.我可以将密钥存储在文件中,并控制该文件的权限以及访问该文件的应用程序的权限,但这是否足够?我也可以创建一个Web服务来获取关键或某些东西.
我在一个小商店,我将是唯一一个(可能是另一个人),可以访问应用程序所在的机器.编辑:我应该补充说,面向Web应用程序的Web部分将需要解密数据,除非我添加了一个层次. 我看起来很恶心,但没有人似乎有一个防弹的答案. 这些问题是您必须解决的问题之一吗?鉴于我使用MySQL和PHP(可能是Python)有没有更好的方法来处理?
我不知道如果使用MySQL构建加密将是您的问题的最佳解决方案.
PHP的M_CRYPT软件包被认为是非常好的,它可以灵活地选择最适合您需求的算法. 将密钥存储在其他服务器上有一个很大的优点:密钥与加密数据不在同一台机器上).所以只要攻击者对受攻击的机器没有足够的控制权,就无法得到钥匙. 然而,将密钥从一台机器传输到另一台机器打开了需要保护的整个新区域.可能涉及更多密钥和更多加密层,从而增加错误的机会. *)另一个选项是在网络服务器启动时输入密码,并将其保存在内存中. 可能的解决方案 >在用户创建时,为新用户分配一个长随机密钥. 这种方法的优点是: 然而:如果攻击者掌握了主密码并对用户表进行了读取访问,则整个系统再次被破坏. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |