大家好,欢迎来到IT知识分享网。
一、前置条件
1.1 权限
需要拥有以下权限才能 配置 TDE原生加密
需要拥有以下权限才能 使用 TDE原生加密
经过对 Oracle11g 的实机操作,确定出 11g 所需要的权限为
必须要使用 sysdba 权限的用户才能进行原生加密操作
1.2 版本
Oracle 的 TDE 原生加密官方文档中的版本支持情况
列加密需要 Oracle 10g的第二个版本(10.2)以后才能正常使用
表空间加密需要 Oracle 11g 的第一个版本(11.1)以后才能正常使用
下面是官方文档的地址
Oracle11g 官方文档
二、加密原理
2.1 列加密原理
Oracle原生加密一共有两个密钥(一个TDE主加密密钥,一个TDE表密钥),主加密密钥存储在外部的安全模块中,这个安全模块可以是Oracle密钥保管库、KMS等,只有被授予适当权限的用户才能访问主加密密钥。
主要用于保护一张表的某几个敏感列,如果要对整张表进行加密保护还是选择表空间加密更好一点。
主加密密钥对TDE表密钥进行加解密,TDE表密钥对表中的数据进行加解密。
2.2 表空间加密原理
表空间加密能够加密整个表空间。在加密表空间中创建的所有对象都会自动加密。
主要用于保护整个表而不仅仅是单个列,无需对每一列进行粒度分析。
使用了表空间加密之后,加密前表空间中存在的数据也会被自动加密。
对于有权限的用户,表空间加密是透明的,但是数据文件是以加密格式存储在服务器上的,如果数据文件被盗,文件中的数据也不会泄露。
与上面的列加密一样,表空间加密也是两层密钥,主加密密钥用于加解密TDE表空间加密密钥,TDE表空间加密密钥用于加解密表空间中的数据。
2.3 Oracle官方文档中支持的加密算法
三、11g2版本加解密实机操作流程
3.1 配置TDE
3.1.1 在配置文件中配置 wallet 钱夹的位置
配置文件的路径为
$ORACLE_HOME/network/admin/sqlnet.ora
修改内容为:
ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE)(METHOD_DATA= (DIRECTORY=/data/oracle/product/11.2.0/network/admin/wallets)))
请确保设置的路径都是存在的,没有相关文件夹需要及时创建并赋予相关权限
注意:上方设置的路径的文件夹都需要以Oracle用户的身份创建,Oracle需要对其有最高的权限。
3.1.2 设置主加密密钥
<
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/158016.html