Gbase 8a数据加密功能使用

数据加密,指用户创建存储密钥数据的证书,创建有加密属性的表或列,算法使用密钥对表数据进行加密。

参数_gbase_encrypt_new_mode 可以设置加密算法:0,1 代表 aes(默认),2 代表 sm4,如果切换,则原有密钥不能使用新算法进行正确解密数据。
8a 中数据加密只对进入到 seg 文件中的数据进行加密处理,按照 DC 为最小单位进行。
支持密钥证书的创建,打开,关闭,查看状态,口令修改,密钥转换操作。删除需要进到证书文件的目录手动删除。

创建证书
create encryption certificate identified by ‘password’ content ‘content'.
#
口今
#密钥关键字
Content:密钥关键字。不指定 content 创建证书时是系统自动生成密钥;指定 content,使用用户输入的内容作为关键字生成密钥。
Password:口令。password 为空,创建的是明文证书;password 不为空,创建的是密文证书,根据口令对密钥加密存储(与数据加密使用的算法相同);如果开启了密码安全参数 password_format_option, password_min_length,口令会受到密码检测;打开密文证书时需要口令。
注意:所有的数据都使用一个密钥,证书只能创建一次,重复创建报错。数据使用密钥文件内容加解密后,密钥文件内容就不能再改变。证书文件存放位置:集群层和单机层的 config 目录下encryption.crt

打开/关闭证书
alter encryption certificate open identified by 1111';

alter encryption certificate close;
创建的为密文密钥证书时,证书为打开状态才能对加密列做 dml 操作,否则报错
明文证书从创建后一直为打开状态,不能执行打开/关闭

 


修改证书口令
alter encryption certificate identitied by old pwd to new pwd;
修改口令不会改变加密密钥,只是使用新口令对原有密钥重新加密生成新证书

 

明文、密文密钥转换
明文密钥转换为密文密钥
alter encryption certiticate identitied by " to ‘pwd’;
密文密钥转换为明文密钥
alter encryption certificate identified by 'pwd' to ";
通过口令将明文密钥加密作为密文密钥证书,数据加密所用密钥不变。
通过口令将密文密钥解密获取到的密钥作为明文密钥,数据加密所用密钥不变。

显示证书状态
SELECT * FROM INFORMATION_SCHEMA.ENCRYPTION_CERTIFICATE_STATUS;

SELECT * FROM INFORMATION_ SCHEMA.ALL_ENCRYPTION_ CERTIFICATE_STATUS;

创建加密表/加密列

(不支持 alter 给表或列增加 encrypt 属性)

create table t1 (a int, b varchar(5)) encrypt);

create table t1 (a int, b varchar(5) encrypt);

需要创建加密证书后,再创建加密表或加密列,否则报错

表的加密属性会传递给列,列的加密属性不会影响表

查看加密属性

show create table

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值