金仓数据库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,在读取数据发现页面错误时,服务器将页面初始化为初始状态,继续处理。这个设置适用于对数据一致性要求不高,允许数据部分丢失的场合。

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值