Oracle安全之TDE

      Oracle的数据保存在物理的数据文件中,而各种备份文件中同时包含了宝贵的数据,Oracle默认以明文的方式将数据保存在数据文件。此时,利用UE打开数据文件,可以查找到插入的字符串,或者利用ORACLE的工具能直接识别数据文件中的数据,给安全带来隐患。

 

      在ORACLE 10G R2中强调了TDE(Transparent Data Encryption)的出现,用于将数据以加密的方式存储在数据文件中,即使别人获取了数据文件,也无法读取数据,但这需要经过配置才能实现,如下:

 

      1. 创建用于保存密钥的WALLET

可以采用Wallet Manager或者使用命令行

采用命令行时,先在SQLNET.ORA中配置

WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=F:\oracle\admin\ora10g\wallet)))

 

确定目录后即可创建并打开wallet

alter system set encryption key authenticated by "oracle123";

 

(这里需注意相应目录下是否存在wallet目录及目录中是否已经存在文件,同时若采用图形界面创建过wallet,则最好重启数据库来消除影响)

 

      2. 设置普通列和加密列

创建一个测试表空间

create tablespace app_data

datafile 'F:\oracle\oradata\ora10g\app_data01.dbf' size 10m;

 

conn scott/tiger

 

create  table t1(

v1    varchar2(50),

v2    varchar2(50) encrypt using 'AES128')

tablespace app_data;

 

insert into t1 values('hello', 'world');

insert into t1 values('good','morning');

commit;

 

--确保数据写入数据文件

conn / as sysdba

alter system checkpoint;

alter system switch logfile;

 

 

      3. 通过UE查看进行对比

以UE打开app_data01.dbf,可以看到许多数字

按CTRL+H,此时CTRL+F分别进行查找非加密和加密的列

这里体现加密的区别

 

你可能感兴趣的:(oracle,F#)