人大金仓数据库KingbaseES scram-sm3认证原理

关键字:

KingbaseES、scram-sm3

1.什么是scram-sm3

Kingbase支持scram-sm3算法认证。scram是指包含服务器和客户端双向确认的用户认证体系,配合信道加密可以比较好地抵御中间人、拖库、伪造等攻击。Kingbase原本支持scram-sha-256认证,sha256是国际标准,为符合国密标准,kingbase使用sm3 hmac算法完成scram认证流程。

2.scram-sm3的认证流程

2.1客户端发起认证流程

首先由客户端发起认证流程,并将用户名、IP等基本信息发送给服务器。服务器接收到客户端发起的连接请求后,会根据保存的数据判断应该使用scram-sm3认证,并将这一消息发送给客户端,告知即将开始scram-sm3认证流程。

2.2客户端开始scram-sm3认证流程

1)客户端生成一个客户端的nonce并发送给服务器。、

2)服务器接收到客户端nonce,同时会生成一个服务器nonce与客户端nonce拼接到一起,同时生成加密用的salt。将salt、iteration、nonce等信息发送给客户端。

3)客户端接收到服务器的信息,会通过nonce来验证该消息来自目标服务器,然后开始根据iteration,使用sm3 hmac算法迭代计算密码加密后的结果proof,并将proof连同nonce等信息发送给服务器。

4)服务器也会通过nonce验证消息来源,然后使用同样的方式验算客户端发来的加密结果,若客户端与服务器的计算结果相同,则会认为客户端认证通过,并向客户端发送最后一条认证消息。

5)客户端对服务器进行最后的认证完成后,完成scram-sm3认证流程。

3.配置scram-sm3认证方式

使用initdb初始化数据库时,可以使用-A指定认证方式。

file

查看文件夹中的sys_hba.conf可以看出认证方式已被设置为scram-sm3

file

启动并登陆数据库,可以使用show password_encryption 查看当前数据库使用的加密方式,查看sys_authid表中用户的密码也可以看到对应的加密方式。

file

更多信息,参见https://help.kingbase.com.cn/v8/index.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值