mysql加密tde_数据加密-TDE透明数据加密原理 ⾸先需要确定你需要加密的列,Oracle 10g数据库将为包含加密列的表创建⼀个私密的安全加密密钥(表秘钥), 然后采⽤你指定的加密算法(AES或3DES)加密指定列的明⽂数据。此时,保护表的加密密钥(表密钥)就⾮常重要了。
灭火
Oracle 10g通过⼀个master密钥来对表密钥进⾏加密。master密钥保存在⼀个叫做“钱夹(wallet)”的安全的地⽅,钱夹可以是数据库服务器上的⼀个⽂件,加密的表密钥保存在数据字典中。
当⽤户插⼊数据到需要加密的列中的时候,Oracle 10g从钱夹中获取master密钥,⽤master密钥解密数据字典中的表密钥,
然后⽤解密后的表密钥加密输⼊数据,再将加密后的数据保存在数据库中。如下图所⽰:洗洁精技术
中长波辐射器你可以加密表的部分或者所有列,例如⼀个表有4列,如上图所⽰,第2列和第3列被加密,但Oracle只会⽣成 can总线电路⼀个表级的加密密钥,然后⽤这个密钥加密所有的加密列。在磁盘上,第1列和第4列是明⽂存储的,第2列和第3列是
加密存储的。由于数据是加密存储的,所有后续的组建例如备份和归档⽇志,都是加密的格式。
混凝土模板
当⽤户查询⼀个加密列的时候,Oracle 10g透明的将加密的表密钥从数据字典中取出,再取出master密钥,
拉深模具
然后解密表密钥,再⽤解密后的表密钥来解密磁盘上加密的数据,最后返回明⽂给⽤户。
通过这种加密数据的⽅式,即使保存在磁盘上的数据被盗,由于master密钥并没有被盗,没有master密钥的情况下,
数据⽆法被获取。即使“钱夹(wallet)”被盗,如果没有钱夹密码master密钥还是⽆法获取。因此,即使窃贼盗取了
磁盘或者数据⽂件的拷贝,也⽆法解密数据。这样做满⾜了很多规则和指南的要求,⽽所有的这些并不需要修改应⽤程序或
者编写复杂的加密和密钥管理系统。
注意:
TDE涉及3个密码,⼀个是钱夹密码,⽤来启动钱夹;⼀个是master密钥,⽤来加解密表密钥;⼀个是表密钥,⽤来加解密数据,钱夹密码是⽤户⼿⼯输⼊的,master密钥和表密钥是系统管理的
⽬前只有Oracle和微软的SQL Server⽀持TDE