KMS加密
功能描述
Vastbase支持使用KMS加密保护数据安全。KMS模式支持SWS-KMS-SM4(三未信安)算法和TAS-KMS-SM4(江南天安)算法。
- 支持使用gs_encrypt进行KMS加密。
- 支持使用gs_decrypt进行KMS解密。
- vb_dump/vb_dumpall支持使用KMS加密。
vsql支持使用KMS加密连接。
当使用TAS-KMS-SM4(江南天安)算法时,vsql支持使用KMS解密导入的加密文件。
前提条件
SWS-KMS-SM4(三未信安)算法:KMS相关配置已完成,添加业务用户、密钥、密钥服务。
TAS-KMS-SM4(江南天安)算法:无业务用户,需要部署好加密机并创建密钥。
注意事项
仅Vastbase G100 V2.2(Build 10)及以上版本支持此功能。
示例
前置步骤
1、初始化配置存储加密数据库实例。
SWS-KMS-SM4(三未信安)算法:
vb_initdb -D encdata --keyname=tde_1 --userpin='username:password' --algorithm=SWS-KMS-SM4 --nodename=test
TAS-KMS-SM4(江南天安)算法:
vb_initdb -D encdata --algorithm=TAS-KMS-SM4 --nodename=test
2、在新实例配置文件postgresql.conf中配置数据库端口号。
port=9944
3、启动实例。启动过程中,需要输入KMS的业务用户名和口令,格式同样以冒号隔开。
vb_ctl - D encdata/ start
当使用TAS-KMS-SM4(江南天安)算法时,启动实例时不需要输入用户名和口令。
示例1: 使用gs_encrypt和gs_decrypt加解密。
- SWS-KMS-SM4(三未信安)算法
1、连接数据库。
vsql -d vastbase -p 9944 -r
2、执行加密语句。
select gs_encrypt('abc','tde_1','kms');
结果显示如下:
gs_encrypt
------------------------------
BdM5xmJ68pWU9SI7DMPEdsViLQ==
(1 row)
3、执行解密语句。
select gs_decrypt('BdM5xmJ68pWU9SI7DMPEdsViLQ==','tde_1','kms');
结果显示如下:
gs_decrypt
--------------
abc
(1 row)
- TAS-KMS-SM4(江南天安)算法
1、连接数据库。
vsql -d vastbase -p 9944 -r
2、执行加密语句。
select gs_encrypt('abc', 1 , 'ta-kms');
3、执行解密语句。
select gs_decrypt('BdM5xmJ68pWU9SI7DMPEdsViLQ==', 1 , 'ta-kms');
gs_encrypt、gs_decrypt的第二个参数为密钥索引,取值范围:1~2048。
示例2: vb_dump导出数据使用KMS加密。
- SWS-KMS-SM4(三未信安)算法
1、导出数据。
vb_dump vastbase -Fp -p 9944 --with-encryption=SM4 --with-key='tde_1' --with-userpin='username:password' -f /home/$username/backup1.sql
2、导入数据。
vsql -d back -p 9944 -f /home/$username/backup1.sql --with-decryption=SM4 --with-key='tde_1' --with-userpin='username:password'
- TAS-KMS-SM4(江南天安)算法
1、导出数据。
vb_dump vastbase -Fp -p 9944 --with-encryption=TAS-KMS-SM4 --with-key=1 -f /home/$username/backup1.sql
2、导入数据。
vsql -d back -p 9944 -f /home/$username/backup1.sql --with-decryption=TAS-KMS-SM4 --with-key=1
示例3:vsql使用KMS连接数据库。
SWS-KMS-SM4(三未信安)算法:
vsql -d vastbase -p 9944 -r --with-decryption=SM4 --with-key='test_key2' --with-userpin='username:password'
TAS-KMS-SM4(江南天安)算法:
vsql -d vastbase -p 9944 -r --with-decryption=TAS-KMS-SM4 --with-key=1