数据加密概述
GBase 8a 数据加密是提供对数据库落地数据的软加密功能,用来满足用户的安全需
求,提高系统的安全性。数据加密按照 seg 文件中的 DC 为最小单位进行,可以实
现表级或者列级不同粒度的加密要求。数据库中所有加密数据都使用同一个密钥,
系统启动时会自动读取已创建的密钥文件内容。数据使用密钥文件内容加解密后,
密钥文件内容就不能再改变。下图是数据加密功能原理图:
图:数据加密功能原理图
数据加密概述
GBase 8a 数据加密是提供对数据库落地数据的软加密功能,用来满足用户的安全需
求,提高系统的安全性。数据加密按照 seg 文件中的 DC 为最小单位进行,可以实
现表级或者列级不同粒度的加密要求。数据库中所有加密数据都使用同一个密钥,
系统启动时会自动读取已创建的密钥文件内容。数据使用密钥文件内容加解密后,
密钥文件内容就不能再改变。下图是数据加密功能原理图:
图 5-5 数据加密功能原理图
数据加密支持的操作如下:
支持加密关键字 encrypt 建表;
支持表级或者列级不同粒度的加密要求;
支持表加密属性的查询;
支持密钥证书管理包括密钥证书的创建、打开、关闭、口令修改、密钥转换
操作
支持密钥类型转换,即从明文密钥转换到密文密钥,或从密文密钥转换到明
文密钥:
明文密钥:无须用户口令,可随机生成也可手动输入;
密文密钥:须用户输入口令,根据口令对随机生成的密钥加密存储;
支持查询当前密钥证书状态;
支持行存列加密。
数据加密操作
创建加密表和列
用户通过建表命令 create table 和 encrypt 关键字创建带 encrypt 属性的表或者列,
也可以通过 create table like 命令建表。但是不支持 alter 命令修改。
示例
创建加密表示例如下:
create table t1 (a int, b varchar(5)) encrypt;
创建加密列示例如下:
create table t1 (a int, b varchar(5) encrypt);