国密算法是国家商用密码算法的简称,由国家密码管理局管理和发布标准。 别慌,目前已经有国密算法的开源实现,这个项目就是GmSSL。该项目有一个官方网站: http://gmssl.org/ 里面有许多对于程序员而言非常有用的信息。 (国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用 集成国密算法到产品。国密算法只是一套算法标准,其作用还要体现在具体产品中。要推广国密算法,客户端(如浏览器、邮件客户端、加密卡等)和服务器端(如 Web 服务器、邮件服务器等)都需要推进。 国密算法标准,更多的像是自上而下的政治任务,而不是从产品的实际需求出发,不可避免的带有一些中国特色。
国密改造是指政企单位按照《GB/T 39786-2021 信息安全技术 信息系统密码应用基本要求》进行的信息系统密码应用改造。 《密码法》及相关法律法规明确了商用密码应用与安全性评估的法定要求,为确保信息系统合规,各行业需依照GB/T39786的技术要求推动信息系统的国密改造。 国密SSL证书在国密改造中起什么作用呢? 沃通国密SSL证书采用国家密码管理局公布的SM2算法体系,支持国产密码算法及国密SSL安全协议,实现国密HTTPS加密通信以及服务器身份认证。 沃通CA提供国密SSL证书、国密客户端证书等国密数字证书产品,结合支持国密算法的国密浏览器(客户端)、国密网关(服务器端)、国密Ukey构成“国密四要素”,通过“国密四要素”的应用实现HTTPS国密通信加密 沃通国密SSL证书配置“双证书”服务模式,目前已经在十几个省市国密改造项目中成熟应用。
个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。
最近听到项目中要推动使用国密算法,所以来了解一下,以备不时之需~ 国密简介 国密算法是国家商用密码管理办公室制定的一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法 在终端设备上通常需要使用内嵌国密算法的安全芯片配合使用,倚靠安全芯片的安全性来实现密钥的存储和安全防护。 经过多年的发展这些国密算法在国内各行各业都有了广泛的应用,为国内各行业的信息安全提供了可靠的保障。 )算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用 常用国密算法概述 国密算法的密钥长度和分组长度均为128位。 SM1算法: 对称加密算法其加密强度与AES相当。该算法不公开,仅以IP核的形式存在于芯片中。需要通过加密芯片的接口进行调用。
本文旨在使用有 SMx(中国加密库)的“OpenSSL”库 的 BabaSSL,加上 MySQL的TLS设置,提供使用国密的算法的 MySQL。 BabaSSL不是唯一采用 MySQL 的中国加密标准, 来自其他的中国加密供应商/开源的/兼容的/最新的 OpenSSL 库, 也会支持类似的方式来实现MySQL国密TLS加密。 disable mysql sudo dnf install mysql-server 启动mysqld服务,修改密码并查看连接信息 这个时候的TLS连接时使用操作系统上的OpenSSL (=没开通的国密
算法分类 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。 数字签名算法,密钥交换协议以及公钥加密算法都使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器。数字签名算法,密钥交换协议以及公钥加密算法根据总则来选取有限域和椭圆曲线,并生成密钥对。 解密算法:SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密铝的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
环境说明 HTTPS 国密证书配置在JumpServer前端的Nginx服务器,用户通过本地的国密支持的浏览器访问到Nginx服务器,此链路为国密HTTPS加密链路,Nginx服务器进行HTTPS解密, GMSSL提供一个国密版OpenSSL,支持Nginx,支持单向/双向认证,支持标准SSL/国密SSL自适应。 国密OpenSSL库基于OpenSSL实现,OpenSSL的许可协议是Apache License V2.0。 File=gmssl_openssl_1.1_b4.tar.gz 加密证书: 访问GMSSL - 国密SSL实验室申请,填写相关信息后,点击“提交”,便自动下载所有证书。 SSL协议,如360安全浏览器、奇安信可信浏览器、密信浏览器; 以360安全浏览器为例,需在设置中打开“启用国密SSL协议支持” 点击证书显示:您与192.168.186.147之间连接采用国密加密套件进行了加密
国密Nginx容器实战 1.背景 目前国密SSL(TLCP)已经逐步开始推广并实际使用,国密SSL实验室,提供了国密版OpenSSL,并且可以与Nginx集成,可以比较方便的搭建国密SSL反向代理或者国密 国密SSL实验室并没有提供Docker的样例,考虑到Docker的广泛性,本文描述了在Docker里面部署国密SSL的Nginx的的完整构建过程,仅供学习和参考之用。 8.使用国密浏览器访问 下载奇安信国密浏览器(参见资源与下载) 。 导入国密根证书:打开浏览器>设置>高级设置>证书管理>导入证书。 go=CA 4)奇安信国密浏览器下载:https://www.gmssl.cn/gmssl/Tool_Down? File=qaxbrowser_1.1.32574.52_gmssl.exe 5)国密Nginx容器下载: docker pull keyaas2021/gmssl_nginx:v1.0
国密即国家密码局认定的国产密码算法,即商用密码。 国密算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。 截止目前,国密门禁系统的升级的案例也逐渐增多,基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。 这些厂商是全国推广的国密门禁产品的先驱者,使“御”系列CPU卡门禁系统广泛应用于政府、监狱、司法、军工企业和大型公共智能建筑等高安全领域。 安全是智能卡的核心,而算法是安全的基础。 国密算法由国家密码局发布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;国际算法由美国的安全局发布,是现今最通用的商用算法。 我们就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法的区别。
下面就说说我在开发支持国密的浏览器产品中使用到的一些技巧。 单步调试 单步调试,这也能算是调试技巧吗? 但是国密为SSL版本号定义了一个非常坑爹的值:0x0101,而大多数软件包对0x0300以下的值都会被认为是一个无效的版本号,所以如果使用标准版的wireshark抓国密SSL包,结果是这样的: ? 支持国密版wireshark抓包 这个支持国密的wireshark项目地址为:https://github.com/pengtianabc/wireshark-gm 这个项目的release中有Windows 而在国密SSL通信中,主要调试建立国密SSL连接过程,在这个过程中,建立连接的几个阶段,分别发送了和接收了什么数据。 有了对国密SSL协议的支持,看起来就清楚多了,否则还需要自己对照协议,一部分一部分的分析数据。 好了,关于国密开发的两点调试技巧就介绍到这里,希望对你有帮助。谢谢!
在比原链主网中,交易的签名和验证使用的是 Ed25519签名算法,而在国密测试网中,使用 SM2算法替代。 为了完成这个目标,在国密测试网上使用国密密码学加密标准不仅仅是保障资产安全的重要措施,也是比原链满足政策要求的重要举措。 开发者体验国密测试网方式: 下载国密测试网源码: $ git clone ne https://github.com/bytom/bytom-gm.git $GO $GOPATH/src/rc/github.com 国密测试网的操作体验与主网类似,但是主网的地址前缀为bm,而国密测试网的地址前缀为gm。 目前,比原链正在按照原有计划执行,技术开发每周都发布一个稳定的迭代版本。 可以说,比原链的项目进展伴随着国密测试网的发布更上一层楼。
1 背景 Java自身通过JCE和JSSE支持标准的SSL协议,但并不支持国密SSL协议。 本文描述了Java使用国密JCE和国密JSSE开发一个简单的客户端程序,连接国密Web网站,发送HTTP请求,并接收HTTP应答。 2 环境 JRE是jre8。 国密JCE和国密JSSE。下载参https://www.gmssl.cn/gmssl/index.jsp? JCE和国密JSSE,Java很容易编程来使用国密SSL连接国密Web网站。 gmssl.cn提供了全部免费的测试组件,并且支持双向国密SSL,可供学习和测试。
1 背景 Tomcat自身支持标准的SSL协议,但并不支持国密SSL协议。本文描述了Tomcat配置的国密SSL协议(单向)的完整过程,仅供学习和参考之用。 浏览器是360安全浏览器(支持国密)。 3 国密双证书 1) 生成国密双证书 访问https://www.gmssl.cn,可生成免费的测试国密双证书。 -9.0.37.tar.gz 3) 部署Java版本国密SSL组件 下载国密SSL组件 gmssl.cn1.png 其中gmjce.jar和gmjsse.jar放到/usr/java/jre1.8.0 6 小结 通过使用国密SSL组件,使得Tomcat自身不做任何编译修改,即可比较简单的支持国密SSL协议,满足等保等政策合规,确实是一个简单可操作的方法。 www.gmssl.cn提供了全部免费的测试组件,并且支持双向国密SSL,支持国密SSL/标准 SSL自适应,也支持Nginx和Apache,值得推荐和试用。
国密SSL协议之Nginx集成 1 背景 Nginx自身支持标准的SSL协议,但并不支持国密SSL协议。 浏览器是360安全浏览器(支持国密)。 3 安装方法一:源码编译 GMSSL.cn提供一个OpenSSL的国密版库,可与nginx编译,生成的nginx即支持国密SSL协议。 nginx目录 5 国密双证书 1)生成国密双证书 访问https://www.gmssl.cn/gmssl/index.jsp? go=ca,可生成免费的测试国密双证书。 www.gmssl.cn提供了全部免费的测试组件,并且支持双向国密SSL,支持国密SSL/标准 SSL自适应,也支持Tomcat和Apache,值得推荐和试用。
1 背景 国密SSL在实际上线和使用过程中,性能就是一个必须面对的问题。 国密SSL和标准SSL相比,算一个新生事物,没有完善齐备的性能测试工具。 SSL协议,或者支持国密SSL插件。 www.gmssl.cn提供一个国密SSL性能测试的“黑”科技软件gmkb,能够通过一个客户端压力机就可以简单评估出服务器/网关的国密SSL的CPS性能。 go=down 5 国密SSL性能测试结果 5.1 Web服务器 通过gmab和gmcb,我们简单测试了www.gmssl.cn的nginx国密SSL性能和tomcat的国密SSL性能。 KGS2500性能: 新建:5w 吞吐:2GBps(字节/秒) 并发:300w 6 国密SSL性能测试小结 本文涉及了国密SSL性能的方方面面,并且给出了www.gmssl.cn的国密nginx和国密tomcat
1 背景 Apache httpd自身支持标准的SSL协议,但并不支持国密SSL协议。本文描述了Apache httpd配置的国密SSL协议(单向)的完整过程,仅供学习和参考之用。 浏览器是360安全浏览器(支持国密)。 3 安装方法一:源码编译 GMSSL.cn提供一个OpenSSL的国密版库,可与Apache httpd编译,生成的Apache httpd即支持国密SSL协议。 go=ca,可生成免费的测试国密双证书。 ,开启极速模式 gmssl1.png 4)访问国密SSL成功 gmssl.png 8 小结 通过使用国密SSL组件,使得Apache httpd自身不做任何编译修改,即可比较简单的支持国密
在当前的形势下,各种国产技术的需求,比以往都要紧迫,借鉴徐老师的这篇文章《国密算法 + MySQL》,学习创建使用国密算法的MySQL数据库。 本文旨在使用有SMx(中国加密库)的“OpenSSL”库的BabaSSL,加上 MySQL的TLS设置,提供使用国密算法的MySQL。 BabaSSL不是唯一采用 MySQL 的中国加密标准, 来自其他的中国加密供应商/开源的/兼容的/最新的 OpenSSL 库,也会支持类似的方式来实现MySQL国密TLS加密。 这个时候的TLS连接时使用操作系统上的OpenSSL (=没开通的国密TLS), sudo systemctl start mysqld 查看root的临时密码,以临时密码登陆的是不可以使用正常SQL命令
在前面一篇文章《搭建国密SSL开发测试环境》中,我们制作了一个自签名证书。通常情况下,用作调试简单的客户端/服务器端通信,足够了。 比如从网上找到的国密证书价格,一年好几千元到几万的都有: ? 国密证书参考价格 那有没有办法自己制作证书呢?答案是可以的。 本文将探讨使用GmSSL制作国密证书,包括制作自签名根证书,并使用根证书签发证书。这样在开发中可以调试证书链的处理流程。 关于国密SSL环境,请参考: 搭建国密SSL开发测试环境 现实世界的CA是分级管理的,层级可以有多层。
图片2.国密curl是什么图片curl自身不支持国密SSL协议(TLCP)。程序员说:要有国密版curl,于是就有了国密版curl,哈哈,程序员就是软件世界的上帝啊。 国密版curl,简称gmcurl,由国密SSL实验室(www.gmssl.cn)移植,并提供免费下载和使用。3.国密curl使用(单向国密SSL)3.1 简单执行[root@206test ~]# . --key, use sm2 sig pem key--cert2, use sm2 enc pem cert--key2, use sm2 enc pem key注释:1)--gmssl表示启用国密 /gmcurl --gmssl -k --trace ssl.log https://ebssec.boc.cn4.国密curl使用(双向国密SSL)4.1 生成用户国密双证书图片4.2 使用用户国密双证书访问 SSL,不带客户端证书也可以访问,但页面不显示客户端证书信息5.国密curl下载1) XP/Win7/Win10https://www.gmssl.cn/gmssl/down/gmcurl.exe 2)
图片 2.国密wget是什么 wget自身不支持国密SSL协议(TLCP)。国密SSL实验室(www.gmssl.cn)做了国密适配,生成了一个国密版wget,简称gmwget。 图片 3.国密wget使用(单向国密SSL) 3.1 简单执行 [root@206test ~]# . -KB/s in 0s 2022-08-11 14:40:19 (33.0 MB/s) - ‘index.html’ saved [156/156] 注释: 1)--gmssl表示启用国密 (51.5 MB/s) - ‘index.html’ saved [156/156] 注释: 1)-d可以看到SSL信息 2)可以看到协议GMSSLv1.1和算法ECC-SM4-CBC-SM3 4.国密 wget使用(双向国密SSL) 4.1生成用户国密双证书 图片 4.2 使用用户国密双证书访问 [root@206test ~]# .
国密 什么是国密算法? 国密就是一个口头上简称,官方名称是国家商用密码,使用拼音缩写 SM,它是用于商用的、不涉及国家秘密的密码技术。 而国密其实就是这些国际算法国产化的代替方案,与国际算法对应关系如下: 这次国密改造项目使用的就是 SM2 国密算法。 软件加密方案,Bouncy Castle 库封装的工具类,已经大大降低国密开发的难度。 SM2 算法联调测试的时候,这一点比较头疼,下面讲下这次国密改造中碰到一些问题。 建议大家开发之前可以先了解一下国密 SM2 相关国标规范,不需要很深入了解整个原理,但是需要知道国密 SM2 与 RSA 的区别点。
腾讯云为您提供SSL证书(服务器证书)的一站式服务,包括免费SSL证书、付费SSL证书的申请、管理及部署功能以及与顶级的数字证书授权(CA)机构和代理商合作,为您的网站、移动应用提供 HTTPS 解决方案……
扫码关注腾讯云开发者
领取腾讯云代金券