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

01/04 20:00
阅读数 13
编者按 :龙蜥操作系统 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/

铜锁代码仓库

  • atomgit:https://atomgit.com/tongsuo/Tongsuo

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

本文分享自微信公众号 - OpenAnolis龙蜥(OpenAnolis)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部