当前位置: 首页 > news >正文

娄底营销型网站建设杭州seo顾问

娄底营销型网站建设,杭州seo顾问,承德网站制作,上海做网站定制1. 国密算法介绍 国 密即国家密码局认定的国产密码算法,常用的算法有SM1,SM2,SM3,SM4,其中密钥长度和分组长度均为128位。 针对银行客户对数据库安全能力的诉求以及提高产品安全竞争力的要求,进行数据库企业…
1. 国密算法介绍 密即国家密码局认定的国产密码算法,常用的算法有SM1,SM2,SM3,SM4,其中密钥长度和分组长度均为128位。 针对银行客户对数据库安全能力的诉求以及提高产品安全竞争力的要求,进行数据库企业级安全能力增强,openGauss自2.0.0版本支持了国密 算法,主要包括用户认证支持国密SM3算法 ,支持利用国密SM4算法对数据进行加解密。

2. 国密SM3算法——用户认证

2.1 使用方法

openGauss现支持四种用户认证方式,其通过postgresql.conf文件中的参数password_encryption_type确定,认证方式与该参数的对应关系如下表所示:

认证方式

参数

md5

password_encryption_type=0

sha256+md5

password_encryption_type=1

sha256

password_encryption_type=2

sm3

password_encryption_type=3

其中SM3认证算法目前只支持gsql、 JDBC、 ODBC三种连接方式。

创建SM3认证方式的用户的步骤:

(1)在postgresql.conf文件中配置password_encryption_type=3,并重启数据库使该参数生效,则之后创建的用户将采用SM3算法进行明文密码的加密。

7a47612e-b2f3-49ba-b767-ed54a376ad92.png

(2)创建用户

如下示例中,创建了test用户,通过系统表pg_authid的rolpassword字段可以查看用户创建时对应的加密方式,图示即对应SM3加密

ce9aaf3e-8b63-47fb-ba63-422ce6bf573b.png

(3)在pg_hba.conf文件中配置认证方式为SM3

87dd52b7-ec14-42aa-a9d1-2e9eceed4dc8.png

此时test用户远程登录方可认证通过

efb1c93d-4530-4d71-a5fe-7168911c103b.png

对于利用SM3加密算法创建的用户,只有加密算法和认证方式均为SM3算法时,认证才会通过。

针对SM3用户,当通过JDBC远程连接时,需手动下载Jar包bcprov-jdk15on,并导入至应用程序中。

下载:https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on/1.68

对于创建其他认证方式的用户,过程与SM3类似,此处不再赘述。

2.2 实现原理

openGauss使用RFC5802口令认证方案

  • 用户秘钥生成

RFC5802秘钥衍生过程如下图所示:

5b35b29d-582a-4bf6-9c4c-25c9cf188c75.png
 SaltedPassword := PBKDF2 (password, salt, i)  ClientKey := HMAC(SaltedPassword, "Client Key")  StoredKey := Hash(ClientKey)

服务器端存的是StoredKey和ServerKey:

1)StoredKey是用来验证Client客户身份的

服务端认证客户端通过计算ClientSignature与客户端发来的ClientProof进行异或运算,从而恢复得到ClientKey,然后将其进行hash运算,将得到的值与StoredKey进行对比。如果相等,证明客户端验证通过。

2)ServerKey是用来向客户端表明自己身份的

类似的,客户端认证服务端,通过计算ServerSignature与服务端发来的值进行比较,如果相等,则完成对服务端的认证。

3)在认证过程中,服务端可以计算出来ClientKey,验证完后直接丢弃不必存储。

要做到合法的登录,必须知道Password、SaltedPassword或者ClientKey。如果StoryKey和ServerKey泄露,无法做到合法登录。

  • 认证流程

标准RFC5802口令认证流程如下图所示:

49fba621-2057-4d92-bf93-4d28c5b972a2.png

 说明


1、客户端发送username给服务端。

2、服务端返回给客户端AuthMessage 和计算出来的ServerSignature。

3、客户端收到信息后,首先利用认证信息AuthMessage中的salt和iteration-count(迭代次数),从password计算得到SaltedPassword,然后计算得到下层所有的key。计算HMAC(ServerKey, AuthMessage) == ServerSignature是否相等,如果相等,则client完成对服务端的认证。

4、客户端将计算得到的ClientProof发送给服务端。

5、服务端使用其保存的StoredKey和AuthMessage计算HMAC,在和接收的client发送的ClientProof进行异或,得到ClientKey,在对ClientKey进行哈希,和其保存的StoredKey进行比较是否一致。如果一致,则客户端的认证通过。

服务器端收到客户端请求后,根据pg_hba.conf 配置的认证方式,与客户端进行相应的认证交互。

3. 国密SM4算法——数据加解密

SM4国密算法可用于对表中的某一列数据进行加解密。参考gs_encrypt_aes128加密函数、gs_decrypt_aes128解密函数,新增的加密函数gs_encrypt,解密函数gs_decrypt支持aes128、sm4的加解密,可以兼容aes128。其中SM4算法调用openssl中的EVP_sm4_cbc()接口。

gs_encrypt_aes128和gs_decrypt_aes128函数示意:

- gs_encrypt_aes128(encryptstr, keystr)

       描述:以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。

- gs_decrypt_aes128(decryptstr,keystr)       

       描述:以keystr为密钥对decryptstr字符串进行解密,返回解密后的字符串

bcc4e9df-bc1d-47c3-ba90-b7e9a76e7bce.png

gs_encrypt和gs_decrypt函数示意:

- gs_encrypt(encryptstr, keystr, algorithm)

      描述:以keystr为密钥对encryptstr字符串利用algorithm进行加密,返回加密后的字符串。可选的algorithm为sm4和aes128。

- gs_decrypt(decryptstr,keystr, algorithm)

       描述:以keystr为密钥对decryptstr字符串利用algorithm进行解密,返回解密后的字符串。可选的algorithm为sm4和aes128。

5f8654fe-1b9e-4b31-967d-9836980348ec.png

利用SM4算法对表中数据进行加解密示意图:

b416711b-447b-481b-bfa2-82e6f6ffc9cd.png a2260752-230e-46db-9c66-6e40001da877.png

至此,openGauss支持使用国密SM3算法进行用户认证,SM4算法进行数据加解密。

欢迎访问openGauss官方网站

ae62bc69-40f0-4236-9e62-5792b572da3b.png

openGauss开源社区官方网站:

https://opengauss.org

openGauss组织仓库:

https://gitee.com/opengauss

openGauss镜像仓库:

https://github.com/opengauss-mirror

efe73151-8ba0-4129-87bc-57946379c642.png

扫码关注我们

微信公众号|openGauss

微信社群小助手|openGauss-bot

本文分享自微信公众号 - openGauss(openGauss)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

http://www.ritt.cn/news/1642.html

相关文章:

  • 商城网站建设源码发布平台
  • 做dnf辅助网站云南省最新疫情情况
  • 网站建设灯湖南长沙疫情最新情况
  • 惠来做网站百度广告联盟官网
  • 万州网站建设济南seo优化外包服务
  • 专业做网站的页面设计windows优化软件
  • 做网站广告语搜索引擎优化的简写是
  • wordpress文章页调用分类列表seo服务商
  • 镇江手机网站制作企业网站源码
  • 独立站平台什么网站可以免费推广
  • 宿迁二手房58同城急售seo顾问什么职位
  • 做推广哪个网站好电商平台怎么运营的
  • wordpress主题原理武汉本地seo
  • 烟台h5网站制作关键词优化外包服务
  • 网站设计方案范文数字营销是干啥的
  • 网站建设好做吗推广产品的方式有哪些
  • 安徽池州做网站的公司b站推广网站
  • 永川区建设委员会官方网站衡水seo排名
  • 门户网站制作建设百度售后客服电话24小时
  • 网站重构案例网页广告怎么做
  • 哈尔滨做平台网站平台公司哪家好百度快速收录提交工具
  • 泰国做那个视频网站友链
  • 临沂网站建设网站推广网页制作成品模板网站
  • 做网站运营的女生多吗巨量算数数据分析
  • 制作微信网站模板买转发链接
  • 杭州seo价格西安seo关键词推广
  • 河北邢台房价百度推广优化怎么做
  • 网站建设公司怎么赚钱济南计算机培训机构哪个最好
  • wordpress4.7更新说明正规网站优化公司
  • 培训网站源码wordpress软文街