國內首家商密OS——Anolis商密版OS重磅釋出

2021-09-27 11:00:16

金秋九月,繼龍蜥作業系統(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
郵寄清單:[email protected]

—— 完 ——

展開閱讀全文