金仓数据库KingbaseES安全指南--5.2. 数据完整性保护

5.2. 数据完整性保护

5.2.1. 传输完整性保护

数据库通过SSL通信进行传输完整性保护,配置方法同SSL传输加密。

5.2.2. 用户数据完整性保护

通过在每个数据块头增加"数据水印",KingbaseES实现了数据存储过程中的完整性校验和保护。每次读磁盘时,自动进行数据水印校验。每次写磁盘时,自动更新数据水印。

数据校验支持CRC、SM3、SM3_HMAC算法,可以在初始化数据目录时指定使用的校验算法。此外,KingbaseES还支持国密算法校验。

initdb -a sm3 -D datadir

也可以使用 sys_checksums 工具来启用或切换使用的校验算法。

sys_checksums -d -D datadir
sys_checksums -e -a sm3 -D datadir

使用 sys_controldata 工具可查看已指定的校验算法。

sys_controldata -D datadir

输出 Data page checksum version 信息标识当前使用的算法。可能取值为0、1、2、3。 0表示未开启完整性保护功能,非0表示已开启功能。1表示使用CRC校验,2表示使用SM3校验,3表示SM3_HMAC校验。

KingbaseES 提供配置参数zero_damaged_pages,若设置为true,在读取数据发现页面错误时,服务器将页面初始化为初始状态,继续处理。这个设置适用于对数据一致性要求不高,允许数据部分丢失的场合。

对于在透明加密需要做校验的情况下,写出数据时会先判断页面所属的表空间是否加密,如果表空间是加密的那么会先加密数据然后对加密完成后的数据计算校验值并写出,非加密表空间则直接计算校验值并写出。读入数据时也是先对读进来的页面判断所属表空间是否加密,如果表空间是加密的先计算校验值,校验通过后再解密数据,表空间非加密则跳过解密过程。

你可能感兴趣的:(KingbaseES产品手册,数据库,安全,服务器)