资源描述
Oracle 11g新特性: 表空间级数据透明加密介绍(一)
引言
保护个人身份信息、知识产权、财务数据及其他敏感信息的安全是所有组织的首要任务。大学、医疗保健组织和零售商拥有大量的敏感数据,这些数据包括身份证号码、个人健康信息、信用卡号等等;不仅仅是这些组织,还有更多其他组织也是这样。
事实上,收集和传输敏感数据的数量一直在显著地增加,并且,随着各种组织努力提高效率、消费者日益接纳基于互联网的电子商务,这一数量还将继续增加。
同时,对于那些企图实施身份盗窃及其他类型欺诈活动的犯罪份子来说,敏感数据的价值也在不断增加。过去四年中所报告的数据侵犯的数量在持续增加,造成的损失达数千万美元。因此,已经制定了许多隐私侵犯通知法,这些法律要求利用加密技术提供对敏感数据的防御盾牌。
2003 年,美国加利福尼亚州通过了首个此类法律,称作 Senate Bill 1386。自 2003 以来,已经制定了许多类似的法律,并且预计还将有更多要求使用更严格加密技术的法律将会生效,其中包括美国马萨诸塞州计划于 2010 年初生效的新法律。支付卡行业数据安全标准 (PCI-DSS) 是一个行业驱动的活动,该活动要求使用加密技术对零售商存储的信用卡数据提供保护。
Oracle Advanced Security 提供了透明的、基于标准的安全性,它通过静止数据加密、网络加密和强身份验证服务对数据提供保护。
Oracle 透明数据加密(TDE)
Oracle Advanced Security 透明数据加密 (TDE) 提供了业界最先进的数据库加密解决方案。TDE 自动对 Oracle 数据库写入到存储的数据进行加密,并在请求用户通过了 Oracle 数据库的身份验证,并通过了由 Oracle Database Vault、Oracle Label Security 和其他虚拟专用数据库执行的所有访问控制检查后再自动解密这些数据。数据库备份的数据仍然是加密数据,这就为备份介质提供了保护。对于逻辑备用数据库和物理备用数据库均可以配置 TDE,从而为高可用性体系结构中的敏感数据提供全面保护。
图 1. Oracle Advanced Security 透明数据加密
Oracle Advanced Security TDE 既可以对像信用卡号和社会保险号这样的个别应用程序表列进行加密,也可以加密整个表空间。TDE 表空间加密无需识别和加密个别列,因此实现了更加高效的性能。升级到 Oracle Database 11g 的用户都可以使用新的 TDE 表空间加密功能来保护整个应用程序。存储在被加密表空间中的所有数据都将自动加密。备份数据库时,加密的文件在目标介质上仍保持其加密状态,这样,即使备份介质丢失或被盗,仍然能保护其上的信息不会外泄。TDE 表空间加密可以无缝地与 Oracle Streams、Oracle Compression 和 Oracle Exadata Smart Scans 协同工作。由于压缩而实现的存储节省将维持不变,因为压缩过程完成后才对数据进行加密。
11g 表空间级透明数据加密的功能提升
相对于10g版本的列级TDE,表空间级TDE提供了更多的灵活性和更好的性能。
下列表格是10g列级TDE和11g 表空间级TDE的比较。
列级TDE
表空间级TDE
加密完成在
PGA
Data Block 层
在SGA中加密数据的状态
加密的
解密的
支持的索引类型
只支持b-tree索引
支持所有类型索引
支持外键?
不知道外键加密(因为不同的表用不通的key)
支持外键
支持的索引search方式
支持等值search,不知道范围扫描
支持所有类型的search
支持的数据类型
部分
所有
执行计划是否改变
可能
不改变
是否需要增加存储的占用
是
否
实施11g 表空间级透明数据加密
配置TDE环境
l 创建存放wallet的目录,例如:/etc/ORCLE/WALLETS/orcl
l 修改配置文件$ORACLE_HOME/network/sqlnet.ora指定wallet文件位置:
ENCRYPTION_WALLET_LOCATION =
(SOURCE = (METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /etc/ORACLE/WALLETS/orcl)))
l 用SQL*PLUS发命令创建wallet和master key:
SQL> alter system set encryption key identified by “<password>”;
创建加密表空间
例如:
CREATE TABLESPACE encryptedtbs
DATAFILE ‘/u01/app/oracle/oradata/d1v11201/encryptedtbs01.dbf’ SIZE 100M
ENCRYPTION USING ‘AES256’ --指定算法
DEFAULT STORAGE(ENCRYPT); --加密的表空间
加密数据
l 保证wallet是打开的。
l 直接将需要加密的表移动到加密的表空间,系统自动完成加密,例如:
alter table tde_table1 move tablespace encryptedtbs;
l 索引需要重建,例如:
alter table tde_table1_index1 rebuild tablespace encryptedtbs;
l 将表从加密的表空间move到普通表空间,就完成了解密。
展开阅读全文