金秋九月,繼龍蜥操作系統(Anolis OS)之后,Anolis 商密 Beta 版正式出爐,Anolis 商密版 OS 是國內首家從操作系統層面提供商用密碼的 OS 解決方案。
商用密碼是由國家密碼管理局組織制定的密碼標準,作為中國自主研發可控的密碼算法,對于保護國內數據和網絡安全是至關重要的。密碼算法是保障信息和數據安全的核心技術,隨著近年來外部的國際貿易沖突和技術封鎖,內部互聯網的快速發展,我們不能單一依賴國外的的技術標準和產品,增強我國行業信息系統的安全可信顯得尤為必要和迫切。商用密碼算法給我們提供了一個新的選擇,使得我們可以完全使用商密技術來構建網絡和數據安全環境。
為此,Anolis 社區開發了支持商用密碼的 OS 鏡像,支持開箱可用的商用密碼基礎設施和應用開發工具包,同時支持了諸多商用密碼的應用場景,對安全合規,數據機密性,以及安全性要求較高的用戶可以基于這個商密生態開發出豐富的符合自身需求的商密應用。
Anolis 商密版 OS 鏡像發布
Anolis 商密版 OS 同時支持 x86_64 和 aarch64 架構,提供 ISO 鏡像,虛擬機鏡像以及 repo 源。由于內核需要支持商用密碼算法,目前 Anolis 商密版 OS 只支持 ANCK 內核,鏡像缺省 sudo 用戶是 anuser,對應的登錄密碼是 anolisos。
· 社區網站:
Anolis 額外提供了名為 ShangMi 的 yum 源提供與商密相關的軟件包,其 yum 源地址為:
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: