国内首家商密OS重磅发布,Anolis商密版OS为用户数据保驾护航


国内首家商密OS重磅发布,Anolis商密版OS为用户数据保驾护航
文章图片

文章图片
金秋九月,继龙蜥操作系统(Anolis OS)之后,Anolis 商密 Beta 版正式出炉,Anolis 商密版 OS 是国内首家从操作系统层面提供商用密码的 OS 解决方案 。
【国内首家商密OS重磅发布,Anolis商密版OS为用户数据保驾护航】商用密码是由国家密码管理局组织制定的密码标准,作为中国自主研发可控的密码算法,对于保护国内数据和网络安全是至关重要的 。密码算法是保障信息和数据安全的核心技术,随着近年来外部的国际贸易冲突和技术封锁,内部互联网的快速发展,我们不能单一依赖国外的的技术标准和产品,增强我国行业信息系统的安全可信显得尤为必要和迫切 。商用密码算法给我们提供了一个新的选择,使得我们可以完全使用商密技术来构建网络和数据安全环境 。
为此,Anolis 社区开发了支持商用密码的 OS 镜像,支持开箱可用的商用密码基础设施和应用开发工具包,同时支持了诸多商用密码的应用场景,对安全合规,数据机密性,以及安全性要求较高的用户可以基于这个商密生态开发出丰富的符合自身需求的商密应用 。
Anolis 商密版 OS 镜像发布
Anolis 商密版 OS 同时支持 x86_64 和 aarch64 架构,提供 ISO 镜像,虚拟机镜像以及 repo 源 。由于内核需要支持商用密码算法,目前 Anolis 商密版 OS 只支持 ANCK 内核,镜像缺省 sudo 用户是 anuser,对应的登录密码是 anolisos 。
Anolis 商密版在 100% 兼容普通 Anolis OS 的基础上,从内核到应用层基础算法库的全链路上完整支持了商密算法,以及基于商密算法的安全认证机制 。除此之外,对于业界领先的 QUIC API 底层密码学能力也做了支持 。Anolis 商密版 OS 支持以下主要的特色功能:
使用 BabaSSL 替代 OpenSSL 作为系统默认的基础密码算法库
linux kernel 支持完整的 SM2/3/4 算法以及使用商密算法的 PKCS#7 签名和 X509 证书
提供给开发者 SM2/3/4 商密算法基础库以及使用商密算法的 X509 证书以及 SM2 签名能力
提供 GM/T 0024 和 TLCP 国密双证书协议基础库
支持 RFC 8998 协议开发,在 TLS 1.3 中使用商密算法套件
商密化改造三大典型场景
基于 Linux 内核和 BabaSSL 提供的通用的商密技术方案,可以开发出各种使用商密的产品和应用,以下几个场景是我们做的商密化改造的典型场景 。
IMA 架构使用商密算法
IMA 是 linux 内核提供一个文件完整性度量架构,提供了非常严格的文件访问控制,在 enforce 模式下只允许经过认证的程序在系统上运行,这个认证就是通过数字签名来完成的,IMA 的签名数据是放在文件特定的扩展属性里,通常情况下,这个数字签名由国际算法来实现,比如 SHA256 和 RSA 。
现在我们使用商密 SM2/3 算法来构建这个签名数据,SM3 计算文件哈希,使用 SM2 算法签名,同样的,在内核里使用商密算法来验证签名是否合法 。为了使用商密算法替代国际算法,我们为 Linux 内核实现了商密的公钥密码算法 SM2,以及在内核支持解析使用了 SM2-with-SM3 算法的 X509 证书,在应用层,通过 BabaSSL 密码算法库提供基础的商密算法和签名支持,对应的,IMA 签名工具 ima-evm-utils 软件包也做了相应修改,支持使用 SM2/3 算法生成签名 。
通过对这些软件栈的改造,可以平滑迁移到商密算法,并且完全基于商密算法构建出 IMA 的安全机制,而这些机制在以前都是由国际标准的算法来保证的 。
内核模块签名使用商密算法
Linux 支持只加载通过认证的内核模块,开启这个功能时,可以阻止来源不明的和没有认证的内核模块加载到内核,用以保护系统的安全性,这个认证也是通过数字签名来保证的,不同于 IMA 的签名,Linux 内核模块的签名是以特定的数据格式追加在文件结尾的,使用算法通常也是国际算法 。涉及到签名的场景就可以使用商密算法来替换掉国际算法,要使内核模块签名支持使用商密算法,也需对签名工具和内核本身做修改,签名工具和内核同时需要支持解析使用商密算法的 PKCS#7 数字签名,同样的,应用层商密基础能力由 BabaSSL 提供,sign-file 调用 BabaSSL 完成使用商密算法的签名 。