• ORACLE 透明加密(TDE)


    /*

    author:CH

    date:2015

    theme:oracle TDE test

    */

    一透明加密(TDE, Transparent Data Encryption)

    参考:

    http://www.oracle.com/technetwork/cn/tutorials/tde-096772-zhs.html#t3

    http://www.eygle.com/archives/2011/09/oracle_transparent_data_encryption.html

    http://blog.itpub.net/17203031/viewspace-681825/

    作用:防止丢失介质后会被别人读取到数据。在wallet打开的情况下,使用sql语句查询实际上是没有限制的。

    二、操作

    操作开始,测试于192.168.8.126(ORACLE_SID=db),使用oracle用户登录电脑。

    # su – oracle

    1. 修改 sqlnet.ora,确认加密文件放在哪里

    # cd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/

    # vim sqlnet.ora

    /*

    ENCRYPTION_WALLET_LOCATION=

    (SOURCE=(METHOD=FILE)(METHOD_DATA= (DIRECTORY=/u01/app/oracle/product/11.2.0/dbhome_1)))   --红色的是路径

    */

    2. 打开钱夹,创建密密钥

    # sqlplus

    (1)必须以dba身份登录

    (2)打开wallet修改密钥,有两种选择,一种“万能”,一种“钱夹”(wallet)

    --万能密钥

    SQL> alter system set key identified by "test123456";

    --钱夹密钥(当前未使用)

    SQL> alter system set wallet open identified by "test123456";

    打开wallet,设置好密钥之后,完成基础设置。

    --关闭

    SQL> alter system set encryption wallet close identified by "test123456";

    加密文件,路径

    3. 要确认启用了透明数据加密,一般而言都是开了的

    若是没开,可以到em去开启

    4.对表中的列进行加密

    --对value1进行加密(在126上面有这个表,有几条数据)

    create table test2

    (

      id int ENCRYPT NO SALT,

      value1 number ENCRYPT ,

      value2 int

    );

    create index idx1_test2 on test2(ID);

    --若是关闭了wallet,查询会报错

    SQL> alter system set encryption wallet close identified by "test123456";

    select value1 from test2;

    select * from test2;

    ORA-28365: Wallet 未打开

    5.可以对表空间进行加密

    6.查看透明加密情况:

    l         dba_encrypted_columns:记录所有的加密字段;

    l         all_encrypted_columns:记录当前用户所能访问到的所有加密字段;

    l         user_encrypted_columns:记录当前用户自身Schema所有的加密字段;

    7.取消加密

    可以在em中管理

     

    8.Salt参数

    (1)在加密列时,存在两个选项:Salt和No Salt。
    Salt在加密前对数据增加随即字符串,增加破解的难度,使得同样的字符串加密结果不同;而对于NO Salt,则同样字符串可以获得同样的加密输出,其安全性相对略低。
    (2)在加密列上,如果使用Salt方式,则不能创建索引,Salt加密和索引两种属性互斥,不能同时设置。

    (3)默认Salt.

    9.TDE的缺点

    (1)使用TDE的情况下,数据库文件中保存的数据值是进行过加密的。加密过的列值一般要长于原始数据值,所以使用TDE之后数据表要比不使用大。

    (2)TDE的加解密操作完全是建立在自动加解密基础上。插入数据、修改数据的时候会自动将数据加密后存放在数据表中;选择数据时会自动的将加密过的列值进行解密。这种操作无形中是增加了数据操作的成本

    (3)TDE是不负责数据传输阶段加密的。数据从DBMS传出后,还是以明文方式传输到应用。

  • 相关阅读:
    有关TSQL的10个好习惯
    jQuery操作Select
    SQL Server 高性能写入的一些总结
    如何限制文本框只能输入数字,小数点,英文,汉字等各类代码(转载)
    补码、条件跳转指令
    Windows获取进程完整路径
    NumPy库
    WS_窗口风格常量
    C语言核心技术第一章
    Ubuntu安装搜狗输入法
  • 原文地址:https://www.cnblogs.com/zihuancc/p/4548257.html
Copyright © 2020-2023  润新知