龙蜥操作系统上玩转铜锁密码库 原创

龙蜥社区OpenAnolis
发布于 2024-1-5 17:42
浏览
0收藏

编者按:龙蜥操作系统 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 + Anolis OS + 铜锁

配置 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/

铜锁代码仓库

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

——完——

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐