商密软件栈SIG :基于 Anolis OS,在整个系统软件层面(包括硬件,固件,bootloader,内核以及 OS)实现以国密算法为主的全栈国密操作系统,结束一直以来国密算法生态碎片化的状况,在技术方面打造社区和生态,在资质合规方面致力于为行业提供基于国密的信息安全标准。

作者:张天佳,商密软件栈 SIG Maintainer。

欢迎更多开发者加入商密软件栈SIG(SIG网址和邮件列表链接见龙蜥社区公众号2022年3月7日相同推送)

SIG 近况摘要

1、商密 SM3/4 算法在 arm64 平台的指令集加速取得突破性进展,Arm 中国、蚂蚁BabaSSL、龙蜥商密软件栈 SIG 通力合作,SM4 性能最高达 4364Mb/s

2、统信软件与商密软件栈 SIG 深度合作,助力统信 UOS 在商密应用高速发展

3、SM4 aarch64 平台的 NEON 和 CE 指令集优化正式合入到 libgcrypt 社区,性能分别提升 260% 和 4050%

4、Linux 内核 x86 平台上 SM3 AVX 指令集优化经过四个版本迭代,已经进入 cryptodev subtree,会在下个合并窗口进入社区上游主线,性能提升最高达到 37%

5、BabaSSL 8.3.0 正式版发布

SIG 动态

1、Arm 公司贡献商密软件栈 SIG,助力 SM4 性能提升 40 倍

来自 Arm 的开发者为商密软件栈贡献了aarch64 平台 Crypto Extensions 指令集优化补丁,对商密 SM3、SM4 算法在 Armv8 架构上进行了深度优化,经过在平头哥倚天 710 机型上测试,数据非常亮眼。SM3 取得最高 74% 的性能提升,而 SM4 更是取得高达 40 倍的性能提升,从绝对性能数据来看,速率高达 4364Mb/s,从此性能不再是商密算法的瓶颈,这也将会大幅降低商密的产业化成本,使得大规模商用变得可能。

2、统信软件与商密软件栈 SIG 深度合作,助力统信 UOS 在商密应用高速发展

统信软件深度参与龙蜥社区商密软件栈 SIG,共同推动中国商用密码算法在基础软硬件环境的开发、优化及安全保障的体系化生态建设。统信 UOS 基于龙蜥社区商密软件栈,利用 BabaSSL 商密算法及社区内核国密支持能力,完成了 UOS 系统中 IMA 和内核模块签名两个场景的商密化实践,为 UOS 系统又添加了一层内核级安全保障。后续商密软件栈 SIG 的共建与发展中,统信软件会以龙蜥操作系统作为 UOS 系统的 upstream,以商密软件栈为基础,继续完善操作系统的商用密码生态。

未来,统信软件和商密软件栈 SIG 将在以下方面开展深度合作:

  • 统信 UOS 积极参与贡献龙蜥社区商密软件栈 SIG,并借助社区 SIG,反哺完善自己的商密特性功能。

  • BabaSSL 项目共建:龙蜥社区的开源项目 BabaSSL 很好地补充了 OpenSSL 中所欠缺的国密能力(如 SM2 的签名和验签支持、国密 X509 证书的签发和验证),比较全面地支持了商密算法以及基于商密的安全协议。

  • 体系化生态建设:通过更多的基础软件中支持和开发商用密码算法,并提供主要算法的优化加速,真正完成从无到有,从普通到卓越的商用密码生态。

3、libgcrypt 合入 SM4 arm64 架构 NEON 和 CE 优化,性能分别提升 260% 和 4050%

鉴于普通 ARMv8 架构 CPU 只有通用的 SIMD NEON 指令集,龙蜥商密软件栈也为 NEON 指令集实现了 SM4 的 8-way 并行优化,支持 CBC/CFB/CTR/GCM/OCB 模式,相比于纯软件纯软件实现,性能提升了 260%,这在一定程度上也缓解了没有 SM4 CE 指令集平台 CPU 应用商密的门槛,同时联合 CE 的优化同步贡献到了 libgcrypt 上游社区。

SIG 其他进展

除此之外,商密软件栈 SIG 还有以下的开发和贡献:

  • Linux 内核 x86平台上 SM3 AVX 指令集优化经过四个版本迭代,已经进入 cryptodev subtree,会在下个合并窗口进入社区上游主线,性能提升最高达到 37%(代码查看链接见文末)

  • SIG 开发者已向 nettle 社区提交了 SM4 算法实现,目前社区已经参与了一轮 review,整体给出了肯定的意见

  • 上游社区报告了内核 SM2 证书验签中一处潜在的缺陷,原因是引用了签名中的信息做为输入,而签名是可以被恶意攻击者控制的,另外社区也吐槽了 SM2 的不兼容的 Za 设计,给出了可选配置 Za 的建议,这是后续需要改进的方向

当前商密软件栈的整体支持情况

当前相关的主要开源软件栈对国密的支持情况以及社区回馈统计:

链接地址列表(见龙蜥社区公众号2022年3月7日相同推送):

  • 商密软件栈SIG地址

  • 上游社区链接地址

  • Linux 内核  x86 平台上 SM3代码链接地址

致谢

衷心感谢为社区做出贡献的所有成员以及各方参与人员:

  • Arm 公司:方明、Daniel Hu、袁志昌

  • 统信 UOS:曹佩庆、唐逸群

  • 蚂蚁集团:杨洋、刻一、金九

—— 完 ——

 

Logo

欢迎加入龙蜥社区,参与开源活动即刻有好礼相送!

更多推荐