国内首家商密OS——Anolis商密版OS重磅发布
金秋九月,继龙蜥操作系统(Anolis OS)之后,Anolis 商密 Beta 版正式出炉,Anolis 商密版 OS 是国内首家从操作系统层面提供商用密码的 OS 解决方案。
商用密码是由国家密码管理局组织制定的密码标准,作为中国自主研发可控的密码算法,对于保护国内数据和网络安全是至关重要的。密码算法是保障信息和数据安全的核心技术,随着近年来外部的国际贸易冲突和技术封锁,内部互联网的快速发展,我们不能单一依赖国外的的技术标准和产品,增强我国行业信息系统的安全可信显得尤为必要和迫切。商用密码算法给我们提供了一个新的选择,使得我们可以完全使用商密技术来构建网络和数据安全环境。
为此,Anolis 社区开发了支持商用密码的 OS 镜像,支持开箱可用的商用密码基础设施和应用开发工具包,同时支持了诸多商用密码的应用场景,对安全合规,数据机密性,以及安全性要求较高的用户可以基于这个商密生态开发出丰富的符合自身需求的商密应用。
Anolis 商密版 OS 镜像发布
Anolis 商密版 OS 同时支持 x86_64 和 aarch64 架构,提供 ISO 镜像,虚拟机镜像以及 repo 源。
由于内核需要支持商用密码算法,目前 Anolis 商密版 OS 只支持 ANCK 内核,镜像缺省 sudo 用户是 anuser,对应的登录密码是 anolisos。
-
社区网站:
https://mirrors.openanolis.cn/anolis/8.2/isos/ShangMi/
Anolis 额外提供了名为 ShangMi 的 yum 源提供与商密相关的软件包,其 yum 源地址为:https://mirrors.openanolis.cn/anolis/8.2/ShangMi/
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 完成使用商密算法的签名。
商密 SM3 哈希基础工具
在一般的场景中,用户习惯于使用 md5sum、sha256sum 这类基础工具来计算文件的哈希值,这是一组 coreutils 软件包中提供的基础工具集,由 GNU 开发。
在商密场景下,sm3sum 工具支持计算文件的 SM3 哈希值,sm3sum 提供与计算其它哈希算法工具同样的参数语义,相比于用 openSSL 工具计算哈希也更方便,提供给用户一个零门槛的使用体验。
结语
Anolis 商密版 OS 在完全兼容普通版 Anolis OS 的基础上,完整内置了全链路的商用密码基础设施,整合国内碎片化的技术实现,降低了商密的使用门槛,并提供与国际主流算法一致的用户体验,使用户和开发者可以如丝般顺滑的从国际算法迁移到商用密码算法上来。以中国自主研发可控的密码算法为载体,推动国内数据和网络安全迈向更高水平。
商密软件栈SIG :基于 Anolis OS,在整个系统软件层面(包括硬件,固件,bootloader,内核以及 OS)实现以国密算法为主的全栈国密操作系统,结束一直以来国密算法生态碎片化的状况,在技术方面打造社区和生态,在资质合规方面致力于为行业提供基于国密的信息安全标准。
作者:张天佳,商密软件栈SIG负责人。
欢迎更多开发者加入商密软件栈SIG:
网址:https://openanolis.cn/sig/crypto
邮件列表:tc@lists.openanolis.cn
—— 完 ——
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Chrome 开始测试三位数用户代理,以检查网站兼容性
在上个月,我们曾报道了 Mozilla 开始在 Firefox 上测试 "Firefox/100.0" 用户代理,以避免 Firefox 浏览器在明年 3 月从现有的两位数版本号升级至三位数时,可能出现的网站加载异常情况的发生(点击查看此前报道)。 Chrome 目前最新的稳定版版本号已更新至 94,比 Firefox 目前的版本号(92)更加高。Chrome 作为目前用户最多、市场占有率最高的浏览器,如果没有经过严谨的测试,在 Chrome 升级至 100 版本后,对用户的影响范围也会更加大。 近日,Google 正式开始测试将 Chrome 浏览器的用户代理改为三位数的 "Chrome/100" 后,是否会导致那些只能将用户代理解析为两位数的网站出现网站功能异常。 用户代理是网络浏览器使用的一个字符串,其中包括关于该软件的信息,例如名称、版本和使用的技术概要。当一个浏览器发布新版本的时候,开发者也会增加用户代理字符串中的版本号。 以之前报道的 Mozilla Firefox 为例,它的用户代理将会如下显示: Mozilla/5.0 (Windows NT 10.0; Win64...
- 下一篇
百胜中国使用 Rainbond 实现云原生落地的实践
关于百胜中国 自从1987年第一家餐厅开业以来,截至2021年第二季度,百胜中国在中国大陆的足迹遍布所有省市自治区,在1500多座城镇经营着11023家餐厅,员工人数超过40万。旗下有知名品牌肯德基、必胜客等多个品牌。 选择Rainbond 百胜中国技术团队一直在寻求一款可以简化K8s操作的图形化工具,可以摆脱K8s复杂的使用方式,并将应用运维和资源运维解耦。这样可以让技术团队专注于应用系统本身,极大降低整个部门的成本投入。通过InfoQ上的文章,百胜中国技术团队了解到了 Rainbond 这款产品,文章中对 Rainbond 的介绍非常契合他们的需求。 在对比过 Rancher、青云等产品后,百胜中国企业应用团队最终选择了 Rainbond 作为企业应用管理平台。最终打动百胜中国企业应用团队的,是Rainbond非常易用,容易上手。 Rainbond和Rancher各司其职 在实践过程中,技术团队将 Rainbond 与 Rancher 两款产品充分融合使用,Rancher 和 Rainbond 本身并不冲突,或者说是相辅相成的,这两个工具共同解决了企业应用团队内部不同纬度的运维需...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Red5直播服务器,属于Java语言的直播服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16