查看原文
其他

Tongsuo | 全球首个商用密码产品认证的密码学开源项目

杨洋、张成龙 金融级分布式架构 2023-11-30



文|杨洋(花名:凯申 )

铜锁开源密码库创始人蚂蚁集团高级技术专家

文|张成龙(花名:刻一)

蚂蚁集团技术专家

本文 2275 字 阅读 8 分钟



近日,铜锁开源密码库(原 BabaSSL)获得了国家密码管理局商用密码检测中心颁发的商用密码产品认证证书,符合 GM/T 0028《密码模块安全技术要求》安全一级。至此,铜锁成为全球首个通过商用密码产品认证的密码学开源项目,助力用户在国密改造、密评、等保等过程中,更加严谨地满足我国商用密码技术合规的要求。铜锁在手,合规无忧。




什么是铜锁/Tongsuo?


铜锁(Tongsuo)是一个提供现代密码学算法和安全通信协议的开源基础密码库,为存储、网络、密钥管理、隐私计算等诸多业务场景提供底层的密码学基础能力,实现数据在传输、使用、存储等过程中的私密性、完整性和可认证性,为数据生命周期中的隐私和安全提供保护能力。


铜锁诞生于蚂蚁集团并广泛的应用在蚂蚁集团内部以及外部的多种业务当中,提供了 TLS、数据存储、国密合规等关键的密码学相关能力,确保了各项业务平稳、安全、合规的运行。


铜锁同时还在前沿密码学领域进行了支持,包括隐私计算场景下所需的多种半同态加密算法以及为了应对量子计算而产生的后量子密码学算法等。



铜锁做为国内稀缺的密码学开源项目,填补了相关领域产品的空白,是我国建设国产密码学开源大生态、解决密码学技术和产品供应“卡脖子”问题、发展前沿密码学技术的关键一环。同时基于支付宝海量的用户场景,其性能和稳定性也达到了互联网生产级别。


铜锁开源项目的前身是 BabaSSL 开源密码库。2022 年, BabaSSL 更名为铜锁,详见:《你好,我的新名字叫“铜锁/Tongsuo”》。


铜锁项目于 2022 年通过开放原子开源基金会技术委员会 TOC 的答辩,目前正处于向开放原子开源基金会的捐赠流程中。

关于商用密码技术和产品认证


密码学是一种通过编码、加密等手段来对内容进行保密处理、防止信息泄露的科学。密码技术则是基于密码学相关理论而形成的、一种工程化的应用技术手段。密码技术目前广泛的应用在各行业信息化流程中,为数据的存储、传输等环节提供最基本的安全能力。


因此,密码技术是整个信息安全的基石。


我国于 2020 年实施了《中华人民共和国密码法》(以下简称密码法),标志着密码技术的应用进入了依法管理的时代。《密码法》规定,我国的密码实行分类管理,即核心密码、普通密码和商用密码。


核心密码和普通密码用于保护国家秘密信息,而商用密码则用于保护不属于国家秘密的信息,可以被公民、法人和其他组织依法使用,保护网络和信息安全。由此可见,商用密码是我国密码行业体系中使用场景最多、应用范围最广的一种密码技术。具体来说,我们日常所提到的商用密码技术,大体是指由国家密码管理机构和密码行业技术标准化机构发布的一系列涵盖密码学算法、安全通信协议、产品技术要求、安全技术要求、管理办法等文件和技术标准。


我们常见的 SM 系列算法,如 SM2 数字签名算法,其中的 SM 就是汉语拼音 ShangMi 的缩写。为了和国际密码技术相区分,目前行业内也习惯性的将我国的商用密码技术简称为“国密”。


关于商用密码的一个重要事宜就是商用密码产品的检测和认证工作,由商用密码检测机构来完成,例如国家密码管理局商用密码检测中心。检测机构针对生产厂家提交的商用密码产品,按照不同产品类别的相关要求,进行技术合规方面的多重检测。检测通过后,由检测机构为商用密码产品颁发《商用密码产品认证证书》,其中注明是基于何种产品标准和技术要求进行的检测,例如对于密码模块类型的商用密码产品,则需要符合 GM/T 0028《密码模块安全技术要求》的各项规范。


《商用密码产品认证证书》是一种资质,表明了获得证书的商用密码产品在经过相关检测机构严格的测试后,在技术正确性、兼容性等方面是符合规范要求的,因此可以为使用该商用密码产品的用户提供更加严谨和正式的监管合规支撑,例如在密评、等保等认证体系中,均对密码相关产品或服务提出了相关资质的要求。


由于业内对于商用密码通常简称为“国密”,因此《商用密码产品认证证书》也俗称为“国密资质”。

铜锁的商用密码产品认证情况


铜锁作为提供我国商用密码技术的开源密码学基础库,严格按照商用密码的相关国家标准和行业标准进行了密码学算法和安全通信协议的实现。


铜锁密码库以密码模块的形态,将其商用密码能力输送到蚂蚁集团内部的各种应用场景中,也在开源社区中得到了较为广泛的应用。基于铜锁用户对于商用密码技术合规的需求日益增加,还处于 BabaSSL 时代的铜锁就已经开始了关于商用密码产品认证的工作,先后共提交了涵盖 Android,iOS 和 Linux 等平台的软件密码模块检测和认证的申请。


2022 年 12 月初,铜锁获得了第一个《商用密码产品认证证书》,即 “BabaSSL 移动端软件密码模块”8.2.1 版本。



由于历史的原因,此资质的产品认证名称还保留了申请时的项目名称 BabaSSL ,而对应通过检测的代码也依然会保留 BabaSSL 的名字。实际上铜锁更名后,原有的 BabaSSL 已发布版本也没有重新命名,依然保留了 BabaSSL 的原始名称,以提供更大的兼容性。至此,铜锁成为全球首个通过商用密码产品认证的密码学开源项目,助力用户在国密改造、密评、等保等过程中,更加严谨的满足我国商用密码技术合规的要求。铜锁在手,合规无忧。


接下来,铜锁开源项目将继续按照《中华人民共和国密码法》的法律规定,坚持党管密码并严格遵守国家密码管理部门的管理要求,持续加强自身能力建设和技术提升,为用户提供高安全、高稳定、高性能的自主可控开源密码学基础库,为建设我国国产密码大生态、解决密码学技术卡脖子问题、发展前沿密码学技术等方面贡献力量。


钉钉用户交流群群号:44810299

钉钉交流群二维码👇



 了解更多...

铜锁/Tongsuo Star 一下✨:
https://github.com/Tongsuo-Project/Tongsuo




   本周推荐阅读  



你好,我的新名字叫“铜锁/Tongsuo”












BabaSSL:支持半同态加密算法 EC-ElGamal





Tongsuo 支持半同态加密算法 Paillier


开源项目文档社区化!Tongsuo/铜锁实践


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存