功能描述
创建一个列加密密钥,该密钥可用于加密表中指定列。
注意事项
本语法属于全密态数据库特有语法。
当使用gsql 连接数据库服务器时,需使用‘-C’参数,打开全密态数据库的开关,才能使
用本语法。
由该语法创建CEK 对象可用于列级加密。
在定义表中列字段时,
可指定一个CEK 对象,
用于加密该列。
语法格式
CREATE COLUMN ENCRYPTION KEY column_encryption_key_name
[WITH] [VALUES] ( ['CLIENT_MASTER_KEY' , 'ALGORITHM'] );
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
852
参数说明
column_encryption_key_name
该参数作为密钥对象名,在同一命名空间下,需满足命名唯一性约束。
取值范围:字符串,要符合标识符的命名规范。
CLIENT_MASTER_KEY
指定用于加密本CEK 的CMK,
取值为:
CMK 对象名,
该CMK 对象由CREATE CLIENT
MASTER KEY 语法创建。
ALGORITHM
指定该CEK 将用于何种加密算法,取值范围为:
AEAD_AES_256_CBC_HMAC_SHA256、AEAD_AES_128_CBC_HMAC_SHA256 和
SM4_SM3;
须知:国密算法约束:由于SM2、SM3、SM4 等算法属于中国国家密码标准算
法,为规避法律风险,需配套使用。即如果将CEK 用于SM4_SM3 算法,则仅能使用SM2
算法来对该CEK 进行加密。
示例
--创建列加密密钥(CEK)
gbase=> CREATE COLUMN ENCRYPTION KEY a_cek WITH VALUES
(CLIENT_MASTER_KEY = a_cmk, ALGORITHM
=
AEAD_AES_256_CBC_HMAC_SHA256);
CREATE COLUMN ENCRYPTION KEY
gbase=> CREATE COLUMN ENCRYPTION KEY another_cek WITH VALUES
(CLIENT_MASTER_KEY = a_cmk, ALGORITHM
= SM4_SM3);
CREATE COLUMN ENCRYPTION KEY
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
853