Oracle原生加密(TDE)实现流程(11g)

一、前置条件

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 设置主加密密钥

使用 SYSDBA 用户登录到 Oracle 中
使用 SQLPlus :

sqlplu
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值