人大金仓数据库KingbaseES 表空间加密

本文介绍了金仓数据库KingbaseES的表空间加密功能,它在写入磁盘时自动加密数据,无需修改应用,加密解密对用户透明。支持SM4和RC4算法,且允许自定义加密。通过注册加密设备接口和创建加密对象,实现表空间加密的使用。
摘要由CSDN通过智能技术生成

金仓数据库KingbaseES表空间加密

关键字:

KingbaseES、表空间加密、安全特性、人大金仓、KingbaseES、

什么是表空间加密?

KingbaseES 实现了数据在写到磁盘上时对其进行加密,当授权用户重新读取数据时再对其进行解密。无需对应用程序进行修改,授权用户甚至不会注意到数据已经在存储介质上加密,加密解密过程对用户都是透明的。

表空间加密使您能够加密表空间中存储的所有数据。表空间加密在读取和写入操作期间对数据进行加密或解密。表空间是对整个表空间数据加密,所以不受表加密的相关限制,对数据类型、约束和索引都没有要求。

表空间加密方式目前采用的是页面级的块加密和块解密。对于块加密,分组加密算法需要的待加密数据的长度应为算法数据对齐长度的整数倍,对于流加密算法的待加密数据的长度并没有对齐的要求。块加密是在数据页面需要同步到外存时进行加密操作;从外存读取数据页面到缓冲区时,首先进行解密操作。内存中的数据都是解密后的数据。

支持的加密算法

加密框架目前支持内置 SM4 和 RC4 算法对数据进行加密。在加密框架下也可以支持用户自定义扩展的加密算法,首先根据数据库提供的 API 函数编译封装好用户自己的设备库,然后把设备库和设备库所调用的算法库一同放到数据库的 LIB 目录下。初始化时指定自己的加密方式,包括指定设备库名称,算法库名称,密钥最大长度以及算法对齐长度。对于算法对齐长度,分组加密算法对齐长度是不为 0 的偶数。对于流加密算法,算法对齐长度指定为0。

加密设备的使用

1. 注册加密设备接口

load_encrypt_device(encmethod text, device text, driver text, maxkeylen int4, algintype int4)

参数说明

encmethod 加密设备名

device 加密设备库

driver 加密算法库

mankeylen 设备密钥的最大长度

algintype 设备使用算法的对齐方式(分组或流)

2. 删除加密设备接口

load_encrypt_device(encmethod text)

encmethod 加密设备名

  1. 加密设备使用

通过创建加密对象时指定加密设备来使用,支持对表加密和表空间加密。

create tablespace xxx location ‘xxx’ with (encryption = true, enckey = ‘xxx’, encmethod = ‘xxx’);

encryption 当前表空间是否是加密

enckey 用户可自己指定的密钥

encmethod 加密对象的加密方式(设备或算法)

  1. 创建表空间加密

需要在表空间的定义最后加上 encrypted 关键字,可以用“by“指定密钥或者使用随机密钥。如下所示:

CREATE TABLESPACE tablesspacename LOCATION '@tablespace@' with(encryption = true [, enckey = encryptkey ]

[, encmethod = encryptmethod ]);

encryption 标识当前表空间是否为加密表空间,true 为是,false 为否。

enckey 用户自定义的表空间加密密钥,最大有效长度 16 字节,超出长度会被截断。默认不指定。

encmethod 加密对象的加密方式(设备或算法)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值