资讯专栏INFORMATION COLUMN

oracle 数据安全组件TDE介绍

IT那活儿 / 2566人阅读
oracle 数据安全组件TDE介绍
最近数据泄露案例频繁发生,数据安全越来越被各大公司和企业所重视,不但要从管理上进行防范,从技术层面也需要严格控制。我研究了下与oracle相关的数据安全的产品和功能,归类如下:

本文主要介绍TDE(Transparent Data Encryption)

一. Oracle TDE简介

TDE透明数据加密允许用户对各个表列或整个表空间进行加密。当用户向加密的列中插入数据时,透明数据加密会自动对该数据加密。当用户选择该列时,数据将自动解密。选择完毕后,数据将重新加密。
  1. TDE不需要额外安装
  2. 所有步骤可以使用SQL命令或者图形界面完成。
  3. 对数据库功相关能透明(rman、压缩等),不需要额外操作。

二. Oracle TDE配置步骤

1. 创建“wallet”目录以及指定位置
默认情况下,钱夹创建于ORACLE_BASE/admin/ORACLE_SID/wallett目录下。如果没有,则手工创建。也可以修改该目录路径,但需要在sqlnet.ora文件进行配置。
2. 设置wallet密码
3. 打开wallet钱夹
可以看到,设置完wallet密码后,wallet默认就是打开的。需要注意的是wallet的密码一旦生成之后,每次数据库重启之后,都必须使用命令显式打开。并且wallet一旦打开之后,在数据库实例关闭之前会一直处于打开状况,除非显式的通过close命令关闭。

三. Oracle TDE加密列使用

1. 加密列方法

举例测试,有一张表ttt上有个字段已经加密。
关闭wallet,包含加密列的查询失败。
但如果查询不包含加密列,可以成功。
open wallet后,加密列可以查询。
2. 加密列常见修改方式
增加一加密的列
ALTER TABLE ttt ADD (aaa VARCHAR2(128) ENCRYPT);
修改普通列为加密列
ALTER TABLE ttt MODIFY (USER_ID ENCRYPT);
取消加密列
ALTER TABLE ttt MODIFY (USER_ID DECRYPT);
4. 加密列支持的字段类型
Oracle官方支持列加密的字段类型有如下几种:
• BINARY_DOUBLE • BINARY_FLOAT • CHAR • DATE • INTERVAL DAY TO SECOND • INTERVAL YEAR TO MONTH • LOBs (Internal LOBs and SECUREFILE LOBs Only) • NCHAR • NUMBER • NVARCHAR2 • RAW • TIMESTAMP (includes TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE) • VARCHAR2

四. Oracle TDE加密表空间使用

1. 当列加密的字段类型不在支持范围内,可以使用表空间加密。

在加密表空间内创建的表都具备加密特性。
2. 在加密表空间内创建表
字段上没有加密属性。
3. 验证表是否加密
关闭wallet,无法查询加密表。
打开wallet后,可以查询加密表。

五. Wallet密码修改

wallet密码可以通过orapki命令进行修改

orapki wallet change_pwd -wallet wallet_location[-oldpwd password ] [-newpwd password]
示例:
wallet密码也可以通过图形界面修改,不做示例了。

六. wallet自动登录

使用SQL 创建的wallet 的问题是不能自动登陆,这样我们在关闭wallet或者重启实例后,都需要手动的来open wallet。不过Oracle 提供了wallet 自动登陆功能,可以在创建后使用owm(Oracle wallet manager)来修改。

在oracle用户终端输入own命令调出gui界面,使用owm工具修改。
这个功能对运维人员来说相当实用。

七. TDE小结

TDE可以对也可以对expdp,rman,compress等功能适用,这里就不一一测试了。使用场景更偏向于数据的安全。隐藏敏感数据,不被人知晓,更多的时候是防止数据库上的数据文件以及备份被”偷窃“之后的数据泄密。

使用场景,可以对一些敏感数据进行加密(信用卡和帐户号码、地址、姓名和个人身份号码(驾驶证,身份证)),或者对关键数据进行加密,如薪水、研究结果、客户信息等。
如需要对外键列中的数据进行加密,或者需要除 B-TREE 树外的索引,又或者需要对列级TDE 不支持的数据类型进行加密,可选择表空间级别加密。

END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129794.html

相关文章

  • MSSQL实践-数据库备份加密

    摘要:本期月报我们分享使用证书做数据库备份加密的最佳实践。加密差异备份数据库差异备份加密,备份操作前,我们插入一条数据,以供后续的测试数据校验。因为数据库备份文件已经加密。 摘要 在SQL Server安全系列专题月报分享中,我们已经分享了:如何使用对称密钥实现SQL Server列加密技术、使用非对称密钥实现SQL Server列加密、使用混合密钥实现SQL Server列加密技术、列加密...

    CatalpaFlat 评论0 收藏0
  • 2021年11月国产数据库排行榜:openGauss闯入前三,Kingbase流行度与日俱增,TDe

    摘要:年月国产数据库流行度排行榜前名达梦本月分数下跌,总分,位于榜单第二位。人大金仓保持增长态势,本月分数大幅上涨,总分,位于榜单第九位。达梦入选其中,位列总榜第国产数据库第。月日,人大金仓与天津科大正式签订联合人才培养协议。2021年11月国产数据库流行度排行榜前15名   达梦本月分数下跌10.88,总分467.45,位于榜单第二位。作为具有完全自主知识产权的国产数据库厂商,今年达梦的...

    waruqi 评论0 收藏0
  • zhilizhili-ui 2016始动 开始做个样例站吧 (一)

    摘要:使用,开发者用来表示异步数据流,通过操作符来查询异步数据量,并使用来参数化异步数据流中的并发。在中,你可以表述多个异步数据流,并且使用对象订阅事件流。因为序列是数据流,你可以使用由扩展方法实现的标准查询操作符来查询它们。 对 我又挖坑了 不过其实也不算挖坑 因为ui构建中就会有填坑的文章 之前一直在写《编写大型web页面 结合现有前端形势思考未来前端》这是一篇巨难写的文章 估计要到年中...

    hzc 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<