我正在尝试非常安全地为客户端保存数据,并将使用GnuPG。 Web服务器正在运行Apache / PHP,并将使用私钥加密数据,在验证后构建SQL语句,等等,然后将其发送到数据库服务器。
数据库服务器仅在内部网络上可用,并且仅通过Web服务器连接。与Web服务器上的PK相匹配的公钥将位于数据库服务器上。到目前为止,一切都很好。
现在,问题。我宁愿不在数据库服务器上运行Apache / PHP,但没有其他方法可以检索数据。我没有找到有关使用MySQL实现PG / GnuPG的文档,但是我可能忽略了一些东西。如果我做一个简单的select语句来检索数据,它将被加密并且公共密钥必须驻留在Web服务器上,这当然使使用GnuPG毫无用处。
别人可以分享的任何想法或经验都将有所帮助。
谢谢!
布赖恩
最佳答案
我在这里有点困惑...我还没有听说过使用GnuPG在数据库中存储数据。
您是否正在寻找在数据库服务器上基于mysql之上的东西,并解密/加密进出数据库的数据?
我使用GnuPG发送加密的电子邮件,这非常有用。我根本不在Web服务器上保留私钥,因为我从不解密。只有公共密钥,这是加密所需的全部。
对于您正在做的事情,GnuPG似乎并不是正确的工具。基本上,您将必须将专用密钥和公用密钥保留在Web服务器上,使用公用密钥对进入数据库的所有数据进行加密,并对使用专用密钥输出的所有数据进行解密。这比其他任何加密方法都不安全,因为您将私钥存储在Web服务器上。
数据库服务器的安全性是这里的问题吗?我认为任何简单的密码加密算法都将比GnuPG高效得多,并且同样安全,因为您仍然必须存储密码。
现在,当您遇到诸如从Web服务器表单通过电子邮件将信用卡数据发送到电子邮件帐户的情况时,GnuPG确实变得很有用。
关于mysql - GnuPG与MySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7875849/