php gmssl,GmSSL是什么

GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具。

GmSSL 是一个开源的密码工具箱,支持 SM2/SM3/SM4/SM9/ZUC 等国密(国家商用密码)算法、SM2 国密数字证书及基于 SM2 证书的 SSL/TLS 安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建 PKI/CA、安全通信、数据加密等符合国密标准的安全应用。GmSSL 项目是 OpenSSL 项目的分支,并与 OpenSSL 保持接口兼容。因此 GmSSL 可以替代应用中的 OpenSSL 组件,并使应用自动具备基于国密的安全能力。GmSSL 项目采用对商业应用友好的类 BSD 开源许可证,开源且可以用于闭源的商业应用。

5637be47a217249ba866aead5140bdb7.png

GmSSL 项目由北京大学关志副研究员的密码学研究组开发维护,项目源码托管于 GitHub。自 2014 年发布以来,GmSSL 已经在多个项目和产品中获得部署与应用,并获得 2015 年度“一铭杯”中国 Linux 软件大赛二等奖(年度最高奖项)与开源中国密码类推荐项目。GmSSL 项目的核心目标是通过开源的密码技术推动国内网络空间安全建设。

关键特性支持 SM2/SM3/SM4/SM9/ZUC 等全部已公开国密算法

支持国密 SM2 双证书 SSL 套件和国密 SM9 标识密码套件

高效实现在主流处理器上可完成 4.5 万次 SM2 签名[^注 1]

支持动态接入具备 SKF/SDF 接口的硬件密码模块[^注 2]

支持门限签名、秘密共享和白盒密码等高级安全特性[^注 2]

支持 Java、Go、PHP 等多语言接口绑定和 REST 服务接口

路线图

更快、更小、更安全是下一个大版本升级(GmSSL v3.0)的主要目标,我们将从下列方向进行改进:采用 CMake 替代目前基于 Perl 的构建系统

支持 Linux/Windows/macOS/Android/iOS 等主流操作系统,移除对嵌入式 OS 等其他系统的支持

支持 X86/ARM/RISC-V,针对上述平台 64 位指令集做汇编层面的优化

将 C 语言标准由目前的 C89 更新为最新的 C99 或 C11,及部分 GCC 特性,移除对 Perl 的依赖

移除不安全的算法和协议,仅支持国密算法和主流国际算法,提升对 AEAD、TLS 1.3 等新标准的默认支持力度

提升密码算法抗木马、抗侧信道攻击的安全性

降低运行时堆内存的使用量,降低总体二进制代码体积

提供特定于国密算法和协议的统一的多语言(支持 Rust/Java/Go/PHP)封装

保持和 OpenSSL 最新版本的兼容性,实现 GmSSL 和 OpenSSL 在同一个软件中的共存

国密算法

国密算法是国家商用密码算法的简称。自 2012 年以来,国家密码管理局以《中华人民共和国密码行业标准》的方式,陆续公布了 SM2/SM3/SM4 等密码算法标准及其应用规范。其中“SM”代表“商密”,即用于商用的、不涉及国家秘密的密码技术。其中 SM2 为基于椭圆曲线密码的公钥密码算法标准,包含数字签名、密钥交换和公钥加密,用于替换 RSA/Diffie-Hellman/ECDSA/ECDH 等国际算法;SM3 为密码哈希算法,用于替代 MD5/SHA-1/SHA-256 等国际算法;SM4 为分组密码,用于替代 DES/AES 等国际算法;SM9 为基于身份的密码算法,可以替代基于数字证书的 PKI/CA 体系。通过部署国密算法,可以降低由弱密码和错误实现带来的安全风险和部署 PKI/CA 带来的开销。

子项目

本项目包括一些相对独立的子项目:国密浏览器:基于 Chromium 的支持国密 SSL 和证书的通用浏览器

SDF ENGINE:支持提供 SDF 接口的 PCI-E 密码卡和服务器密码机

SKF ENGINE:支持提供 SKF 接口的 USB-KEY、TF 卡等智能密码钥匙

SM9 密钥服务:为个人用户提供基于电子邮件地址的 SM9 标识密钥服务

自助 CA 服务:提供自助式的网站 DV 证书服务和 S/MIME 邮件证书服务

国密标准文本:提供全面的国密 GM/T 系列标准文本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值