数据库加密
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 概念:数据库加密是指存储于数据库中的数据,尤其是敏感数据,以密态方式进行存储。
数据类型分为两种:一是非结构化数据:文档图片;二是结构化数据:也就时数据库中的数据。
2.数据库透明加密:指对库内数据的加解密,对于数据库的访问控制是完全无感知的。
对于一个应用程序,不需要任何修改和编译,就可以直接应用在加密库上。
(与其对应的是在应用系统中先加密数据再存储在数据库中,严格的说这并不是数据库加密!)
3.实现方式:
全盘加密:将数据库中的文件所在的磁盘扇区进行加密,数据库访问磁盘扇区时,再对加密扇区进行解密。
(感觉应该是一种对加密框架)数据库管理系统感知不到加解密的过程,因此对数据库自身来说就是透明化的。
该方式工作于存储区。
文件加密:在操作系统文件驱动层将数据库的存储文件经过加密后存储在磁盘上没数据看访问存储文件时在进行解密。
数据库感知不到加解密的存在。
可以防止磁盘丢失和文件被复制导致的数据泄露。
数据库自带加密:数据库自身提供加密机制,在数据库内核实现存储的加密。
库内扩展加密(国内主流):通过使用视图、触发器、扩展索引等机制,实现透明加密。
仅能较好的支持Oracle数据库。
数据库加密网关或加密驱动:通过对数据库前端部署数据库加密网关,或者通过扩展数据库访问驱动(如JDBC驱动)实现数据库加密。
理论上支持所有的数据库,是一种通用的数据库加密,且安全性更高。
应用加密网关:在应用系统之前放置加密网关,进一步将数据加密的位置提前,在数据进入应用系统之前进行加密,这种加密方式可以控制液压系统的用户对数据的访问权限,且真实数据对所有用户都是不可见的,安全性最高,但是难度也较大。
实际上具体的加密与数据库无关,对立与数据库的。
4.数据库加密系统很复杂,必须考虑加密引擎在哪,它如何加密数据以及加密那些数据,那些数据不需要加密,怎样提供密钥等。
数据库加密密钥量很大,而且组织和存储工作比较复杂,需要一个密钥管理系统来保护密钥,管理员不能讲密钥存储在数据库中,也不能将密钥存放在磁盘上。