编者按:龙蜥操作系统 Anolis OS 支持多计算架构,也面向云端场景优化,兼容 CentOS 软件生态,旨在为广大开发者和运维人员提供稳定、高性能、安全、可靠、开源的操作系统服务。本文为龙蜥社区理事单位蚂蚁集团技术专家张成龙,以阿里云 ECS 为例,在 Anolis OS 8.8 系统上,安装铜锁并演示国密功能。
在 2023 年上半年铜锁项目已经正式捐赠给了开放原子开源基金会,目前正处于孵化期。铜锁项目作为开源的基础密码库,希望能够助力开源操作系统,为用户提供密码学基础能力,解决密码合规等问题。为方便在龙蜥操作系统上的用户使用铜锁密码库,目前已经基于 Tongsuo-8.3.3 源代码构建 RPM 包,发布到龙蜥软件包仓库,支持的架构包括 x86_64 和 Arm64。Tongsuo-8.3.3 主要包括以下更新:
支持 SM4-NI 优化
修复未检查 OPENSSL_memdup 返回值问题
修复多个 CVE 安全漏洞
SSL_connection_is_ntls 改成使用预读方式判断是否为 NTLS
下面以阿里云 ECS 为例,在 Anolis OS 8.8 系统上,安装铜锁并演示国密功能。
配置 ECS 操作系统时,选择 Anoils OS 8.8,示例如下。
登录 ECS 后,安装铜锁,步骤如下。
yum?-y?--enablerepo?Plus?install?tongsuo
铜锁安装目录为/opt/tongsuo/,安装成功后,可以查看铜锁版本号:
/opt/tongsuo/bin/openssl?version
铜锁支持国密安全传输协议 TLCP,使用铜锁提供的客户端程序,可以访问支持 TLCP 协议的网站,如下所示:
/opt/tongsuo/bin/openssl?s_client?-connect?ebssec.boc.cn:443?-ntls?-enable_ntls
通过日志可以看到握手成功,对应协议版本为 NTLSv1.1(即 TLCP 1.1),密码套件为 ECC-SM2-SM4-CBC-SM3,截图如下所示。
铜锁支持基于 SM3 算法的软件随机数发生器,符合密码行业标准《GM/T 0105—2021 软件随机数发生器设计指南》,通过铜锁命令行生成随机数,如下所示。
/opt/tongsuo/bin/openssl?rand?-drbg_type?sm3?-hex?128
相关链接:
铜锁帮助文档:https://www.yuque.com/tsdoc
铜锁官网:https://www.tongsuo.net/
铜锁代码仓库
atomgit:https://atomgit.com/tongsuo/Tongsuo
GitHub:https://github.com/Tongsuo-Project/Tongsuo
铜锁(Tongsuo)是一个提供现代密码学算法和安全通信协议的开源基础密码库,为存储、网络、密钥管理、隐私计算、区块链等诸多业务场景提供底层的密码学基础能力,实现数据在传输、使用、存储等过程中的私密性、完整性和可认证性,为数据生命周期中的隐私和安全提供保护能力。
——完——