关于数据加密的原理,可以参考《[数据安全]谈谈密码学的数学原理》http://blog.youkuaiyun.com/u010415792/article/details/9007931。如何加密的技术都源自这里,在了解具体即时之前,一定要先了解公钥密钥的原理,知其然,也要知其所以然。
Oracle TDE的全称是Transparent Data Encryption 透明数据加密,从10gr2开始支持基于列的加密,从11g开始支持基于表空间的加密。它的优点是对应用透明,管理简便,无需应用设置,但它也有如下限制:
– 只能使用B-Tree索引
– 加密的列无法对索引进行rang scan操作。
– 外部对象
– 可传输表空间
– exp/imp操作
TDE - 基于列的加密
由于有了Oracle的TDE-基于列的加密,你所要做的只是定义需要加密的列,Oracle将为包含加密列的表创建一个私密的安全加密密钥,然后采用你指定的加密算法加密指定列的明文数据。
TDE支持的加密算法有:
3DES168 AES128 AES192 AES256
下面看一个具体的例子:
1)保证数据库兼容版本高于10gr2
SQL> show parameter compatible
NA