【实践】基于云峦KeyarchOS的国密技术与实践

本文将解析云峦KeyarchOS中nettle、gnutls、qemu、openssl、cryptography等基础密码组件对国密算法的支持情况。

背景

国密标准已出台多年,国密技术生态处于一个逐步走向成熟的阶段,但许多基础密码组件在支持国密算法方面仍然不理想,导致操作系统的应用在计算、存储、网络传输等场景下的国密算法使用存在障碍。

为了解决上述问题,云峦KeyarchOS在nettle、gnutls、qemu、openssl、cryptography等基础密码组件上实现国密算法支持,支持SM2、SM3、SM4国密算法。

  1. Nettle

Nettle是一个开源的底层加密库,主要用于实现各种加密算法、散列函数、随机数生成等功能,具备良好的灵活性和可移植性,这使得加解密功能能够轻松地应用到各种环境中。云峦KeyarchOS中的Nettle组件支持SM2、SM3、SM4国密算法,其国密算法的应用举例如下:

  1. 使用nettle的sample程序进行SM3、SM4国密算法验证,其中SM4加解密的填充算法为PKCS7。

  1. Gnutls

Gnutls是一个开源的安全通讯库,专注于实现安全的网络通信协议,如SSL、TLS等,操作系统部分上层应用的网络通信是基于Gnutls实现的。云峦KeyarchOS中的Gnutls组件支持 TLSv1.2协议使用国密算法,并支持使用Gnutls的certtool工具生成国密证书。Gnutls使用国密算法进行TLS三次握手并建立链接的应用举例如下:

  1. 启动gnutls-serv程序,监听TLS访问请求,并指定使用国密证书(包括CA证书sm2-ca.pem,服务端证书sm2-server.key、sm2-server.pem)和国密加密套件。

  1. 启动gnutls-cli程序,对gnutls-serv发起连接请求,并指定使用的国密证书(包括CA证书sm2-ca.pem,客户端证书sm2-client.key、sm2-client.pem)和国密加密套件,gnutls-cli与gnutls-serv使用国密算法完成三次握手,建立链接。

  1. QEMU

qemu-img是qemu项目中的一个命令行工具,主要用于创建、转换、管理和操作磁盘镜像文件。在qemu-img中,可以使用对称加密算法、Hash算法等技术创建加密磁盘镜像,以保护磁盘上的数据,云峦KeyarchOS使用libgcrypt作为后端加密库,实现qemu-img应用国密算法创建加密磁盘,其应用举例如下:

  1. qemu-img创建加密磁盘镜像gm.img,对称加密算法为SM4,散列算法为SM3。并使用qemu-img info命令查看磁盘镜像信息。

  1. 使用virt-install创建虚拟机,磁盘镜像使用gm.img,虚拟机创建成功

  1. 使用virsh查看创建的虚拟机状态

  1. OpenSSL

OpenSSL是一个开放源代码的软件库,专注于提供安全套接字层(SSL)和传输层安全(TLS)协议的实现,以及一系列广泛的加密工具和函数库。它是互联网安全通信领域中的一个关键组件,广泛应用于各种操作系统和平台上。社区版本OpenSSL在国密算法的支持上存在缺陷,云峦KeyarchOS在OpenSSL1.1.1w版本上完善了国密算法的实现,其应用举例如下:

  1. 使用OpenSSL,进行SM3散列计算、SM4加解密验证

  1. 使用OpenSSL,生成SM2非对称算法密钥对

  1. 使用OpenSSL和生成的SM2非对称算法密钥对文件进行签名验签及加解密验证

  1. 也可以指定hash算法sm3对文件计算hash值,再对hash值做签名和验签

  1. Cryptography

Cryptography是一个功能强大、易于使用的加解密原语库,专为Python开发者设计,旨在提供安全的加解密处理能力。云峦KeyarchOS在Cryptography上支持了SM2国密算法,其应用举例如下:

  1. 使用cryptography的sample程序使用SM2算法进行加解密及签名验签

总结

国密算法的应用愈加广泛,云峦KeyarchOS的基础密码组件已经支持国密算法,这为云峦KeyarchOS用户提供了有效的国密应用支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值