php – 将敏感数据安全地存储在数据库中
我目前正在为养老院建立一个网站.
我已经设计了一个在我的数据库中存储私人数据的方案,但我想对你有所了解. 基本上,我有一个表患者,存储有关患者的公共(=非敏感)信息.其他一些信息(如姓名,地址)是私人信息,需要安全存储.我使用由PHP OpenSSL生成并由网站管理员发送的公钥/私钥对.只有被允许访问私人数据的人(基本上是医疗保健提供者)才知道密码. 我的patient_secure_data表看起来像这样: id INT AUTO_INCREMENT patient_id INT (FOREIGN KEY to patient.id) key VARCHAR(63) data BLOB env BLOB 它是一个键值表,其值由 第三个(也是最后一个)问题,它是一个安全的数据库架构吗?我的意思是,我可以保证没有密码短语的人可以看到私人数据吗? 注意:我还将使用相同的密钥对来加密存储在磁盘上的文件.但是数据库或文件,我看不出有关安全性的任何差异. 问候, 纪尧姆. 对不起,如果我的语言不完美,我不是母语为英语的人……我希望自己能说清楚. 解决方法
1 – BLOB是我的首选,因为将它编码为base64会增加空间和处理时间(因为你必须在解密之前解码base64)
2 – openssl_seal不会为您提供用于加密数据的密钥. env_keys的目的是存储生成的密钥的加密形式.当你调用openssl_open时,你给它这个信封密钥和解密信封密钥所需的私钥.私钥需要与用于生成信封密钥的公钥匹配. 3-如果您的私钥需要密码,那么从技术上讲,您的数据相对安全.即使他们有信封密钥和私钥,他们也无法使用它……但是你的密码有多安全?有一点需要注意的是,你几乎永远无法保证一个完全安全的方案,但你绝对可以让黑客更难对付.在这里运用你的想象力.顺便说一下,你的代码中的明文密码是什么? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |