外行问个数据库存储用明文还是秘文的问题
- netzerg非程序员!
尝试抄着网上的代码写了个病例数据库,完成了个雏形。
突然想到安全问题。
数据都是明文存储在数据库中的,肯定很不安全。但是如果每个内容都加密后再存储,那么使用数据库的查询语句应该就没法直接查询了吧?
难道要每条记录读取-->解密-->比较?这样也太麻烦了吧。
我好像也没搜索到简单的解决方法。搜到的都是介绍加密算法的,太深奥了 - hans_marke以前连密码都有用明文的
- lumi用户密码加密而且是加盐的,其它都是明文,金融领域这种安全性高的数据库我没接触过,没法回答,但一般都有开审计。数据库所在的主机安全等级反而更高些
- netzerg
- qhy15有要求的数据字段 密文存。比如身份信息这种。
另外数据库数据不能随便看呀,要申请审批才能看到几条,涉密字段申请也看不到。 iSO fly ~ - funcc一般数据都是明文存储。普通人不要有数据库权限就可以了。见过第三方支付机构,手机号,银行卡号,身份证号之类隐私数据,一个值存储到3个字段(星号打码,hash,密文)
- lumi
- 河之南这个贴子有意思
- songco设计上符合行业要求就行,没必要过度设计……做好审计日志够用了
另外还是多专注下操作系统安全,数据库系统安全,还有两个系统的访问控制,一般出问题的都是权限控制混乱导致的,有些公司甚至一些大厂都有大家都是生产环境管理员的情况
iOS fly ~ - lumicsdn数据库以前存的用户名密码都是明文,结果被爆库了,我至今还收着一个几百兆的用户密码文件。所以密码加密并且加盐很重要
- flyingforce你还是相信没有数据库的用户名密码,没有办法查询到数据库内容,来得简单。
现代数据库系统已经发展了好多年,大多数的数据库应该你把存储内容拿出来,你不启动数据库引擎是没办法看懂那些内容的。更何况有些数据库连文件系统都是自己管理的,你连一般理解上的不通过数据库引擎把内容拿出来都做不到
仔细看你所想的,“数据明文存在数据库,肯定不安全” 这个想法是不正确的,不安全的是人管理数据库密码的方式,或者数据库权限设置的方式,但是从没听说过信息内容存在数据库后,在没有数据库权限的情况下,内容被泄露了;虽然理论上是做得到的。 - znm本质存储都是明文
磁盘可以加密,硬盘丢了没事
传输加密,网络层盗不走
内容加密也要密码和你访问数据库的密码没区别,泄漏了都一样
访问上严格限制client ip
监控访问日志
大概就这么定义吧 iOS fly ~ - netzerg谢谢以上各位的解答,看来是我想多了。
- jo123若干年前,工行某地的一块存储阵列里的硬盘流出,上面的大量用户数据泄露。后来阵列也引入了硬件加密功能,保证写到盘上的都是密文,就算别人拿到也无法解密。
数据库存储肯定是明文,否则性能太差,而加密工作交给硬件加密卡,对上层透明。 - 屋大维加密user单独存表,病例无所谓吧
iOS fly ~
- qile
- 黑桃酒我不懂啊 我想问
如果查询加密数据库
你把查询的内容也过一次加密过程再查不就行了?反正加密算法是一样的
查出来后再解密结果查看 这样大数据库还是加密的不就安全了吗 - netzerg
- netzerg
- lesgle可以了解下“同态加密”,高隐私数据,尤其是基因数据等都会利用这种加密形式处理。
同态加密(英语:Homomorphic encryption)是一种加密形式,它允许人们对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。其意义在于,真正从根本上解决将数据及其操作委托给第三方时的保密问题,例如对于各种云计算的应用。 - wflove病例的隐私保护,楼主可以搜一下HIPAA法案和HIPAA合规
- flyingforce这个复杂度太高了,不是楼主这种业务需求所需要的;简单的加法同态和乘法同态在使用中都得想清楚场景,估计一个用不好就挂了;全同态真的用到数据库上要想不影响性能是不太可能的,而且好像到现在也没有哪个数据库真用了这个
数据库物理上就在楼主附近的时候,真要解决别人获得了硬盘直接读取数据的问题,就是如楼上所说用硬件加密卡;但是如果要没有密码直接读取数据,得把数据库引擎黑了,这个大多数人都做不了,而能做这个事情的人,估计也没啥可能性去为了楼主的数据干这个 - ifsn21L说得对 按法律法规来处理数据
存储来说应该算是明文吧 不过也不是说 用记事本打开就能看懂里面的内容那类 - ljy1005国内大多数是md5 所以一定要设置的复杂点
- netzerg参考楼上各位的意见,我觉得需要做好以下几点:
1,用户权限分级
2,按权限显示内容
3,数据库操作记录及审计
以下两点根据情况再加:
1,同一个用户账户同时登录限一个
2,个人隐私相关数据秘文存储 - iorlkyok
- mijuu两个事情
数据库被黑客拖库前的数据安全,这个是内部管理的事情,和加密无关,看谁能接触到数据和密钥,你能向用户展示明文,那必定有内部人员可以获得数据,做好内审是要点。
数据库被拖库之后的安全,密码可以加盐哈希防止反推明文,其他必要的敏感数据可以存脱敏用于查询,再存密文用于还原,密钥存到非数据库的物理设备或硬件卡,即使单一拖库也无法拿到真实数据。