需要在其他服务的mysql中存储密码。哈希不起作用,我需要解密密码。如何安全地做到这一点?我只认为安全的方法是将硬件令牌与解密密钥一起使用?还有其他问题吗?对不起,我的英语不好。
您会问如何以一种可以自动解密的方式安全地将加密数据存储在MySQL中。
事情就是这样:加密和解密本身很容易。Php提供了mcrypt软件包。http://php.net/manual/en/mcrypt.examples.php
但是,这种过程的安全性取决于安全的密钥管理。如果您与MySQL一起使用的应用程序能够解密数据,并且可以使用密钥,那么侵入您系统的网络罪犯将可以访问它。网络罪犯可以阅读您的php代码,了解如何解密这些数据,并自己完成。因此,此过程的安全性取决于对手获取钥匙的难易程度。
我想您可以创建一个接受加密数据并返回解密数据的Web服务。该Web服务可以在其中保存密钥。您可以通过以下几种方式保护它:
另一种可能性是做客户端方面的事情。名为Keepass http://keepass.info/的开源密码保险箱是一个很好的例子,Bruce Schneier的密码管理器也是一个很好的例子。https://www.schneier.com/blog/archives/2014/09/security_of_pas.html
单向密码哈希(http://php.net/manual/en/book.password.php)可以防止解密,但仍允许密码验证。窃取单向散列的密码要困难得多。
相对而言,如果密码保护了宝贵的资产,那么这对于没有经验的人来说是不合适的项目。网络犯罪分子遥遥领先于我们其他人。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句