天天看點

商密軟體棧SIG 7月份營運月報|龍蜥SIG

商密軟體棧SIG是以國密算法為主的系統元件,在固件、bootloader、核心以及基礎應用中支援國密算法,基于Anolis OS發行版建構國密技術棧及解決方案生态,緻力于為行業提供基于國密的資訊安全标準。(往期文章參考: 技術解析:一文看懂 Anolis OS 國密生态|龍蜥專場

歡迎更多開發者加入商密軟體棧SIG:

網址:

https://openanolis.cn/sig/crypto 郵件清單:[email protected]
商密軟體棧SIG 7月份營運月報|龍蜥SIG

以下為「商密軟體棧SIG」 7月份的營運情況:

SIG目标

基于龍蜥作業系統(Anolis OS),在整個系統軟體層面(包括硬體、固件、bootloader、核心以及OS)實作以商密算法為主的作業系統,結束一直以來商密算法生态碎片化的狀況,在技術方面打造社群和生态,在資質合規方面緻力于為行業提供基于商密的資訊安全标準。

本月進展

  • IMA場景的國密化技術支援已經全部被upstream社群合入,包括核心的支援和使用者态工具ima-evm-utils
  • Linux SM4 的AVX指令集優化實作已經合入上遊社群
  • SM4 GCM/CCM,RFC8998技術調研
  • 第一版國密鏡像,正在按計劃使用BabaSSl替代OpenSSL,經過一些移植和驗證,替換後BaseOS運作正常,目前沒有發現大的問題,ima-evm-utils的國密支援還在進行backport工作

SIG長期規劃

商密軟體棧涉及到衆多的上下遊元件,團隊,外部合作夥伴,上遊社群,要盡可能團結其它團隊的力量,消除不必要的重複開發,擴大推廣和影響力,成為商密事實上的标準技術實作。全棧國密要求先具備從boot到業務運作環節各安全鍊路上所需的國密算法,有了通用的算法實作後,再針對各子產品或者平台做針對性的優化,擴大社群版本技術影響力。幫助BabaSSL申請國密一級資質,為應用系統提供必要的合規屬性,也為有合規需求的使用者可以遷移到這個系統上來。

目前規劃支援的國密場景:

  • IMA場景下使用國密算法替代國際算法
  • 核心子產品簽名認證流程的國密化支援
  • Web場景下的RFC 8998協定支援,即TLS v1.3協定中支援使用國密算法套件
  • 使用國密算法支援luks,dm-crypt場景
  • SecureBoot中使用國密算法替換國際算法
  • 核心SM4算法的指令集加速實作
  • coreutils 支援sm3sum工具
  • SM2優化,類似于NIST,主要優化點是SM2所用曲線的快速取模算法
  • 內建intel QAT方案,大量雜湊演算法加速daemon
  • 內建AMD,Hygon CCP加速方案
  • 積極參與openssl 3.0.0 dev開發,加速release
  • coreboot等未來可能替代UEFI的固件支援SM系統算法

Milestone

8月提供第一版全棧國密OS鏡像,提供預設國密算法的系統基礎元件:

  • 使用BabaSSL替換系統預設的OpenSSL1.1.1,提供國密的系統運作支援,也提供給開發者無門檻的國密應用二次開發體驗
  • 内置sm3sum工具,用于計算檔案SM3雜湊演算法,提供與md5sum,sha256sum一緻的使用者體驗
  • IMA全場景支援國密算法,包括ima-evm-utils使用國密算法簽名,核心使用相應算法認證簽名的合法性
  • 核心子產品簽名支援使用國密算法

12月第二版本國密OS鏡像:

  • 基于5.10核心的國密鏡像
  • 核心支援SM4的avx/avx2加速實作,性能是純軟體實作的五倍左右,為商用提供必要支援
  • Web場景支援RFC 8998協定,在TLS v1.3中支援使用國密套件,以及提供給使用者最佳實踐,可以在國密OS上開發自己的國密應用
  • 争取更多的自研patch進入上遊社群,減少由此導緻的自定義rpm數量

目前國密軟體棧的整體支援情況

目前相關的主要開源軟體棧對國密的支援情況以及社群回饋統計:

開源軟體名稱 SM2 SM3 SM4 SM4-AVX PKCS#7 x509 commit數量 修改行數
gnulib - 5 -5/+1046
libgcrypt Y 13 -64/+1630
linux 開發中 20 -259/+5810
coreutils
RustCrypto 1 -0/+851
openssl 3 -25/+97
ima-evm-utils -13/+97
  • ✅ 表示由OpenAnolis開發并已經貢獻到開源軟體中的特性
  • “開發中”表示由OpenAnolis開發中的、或是開源軟體正在進行review的特性
  • “Y”表示開源軟體已經支援且不是由OpenAnolis開發的
  • ❌ 表示開源軟體尚未支援
  • “-”表示開源軟體無需支援

主要成果

  • gnulib庫中實作了SM3算法的基礎實作,gnulib是GNU軟體棧中一個通用的基礎庫
  • 實作了libgcrypt中基礎的商密算法SM2/3/4
  • 實作了Linux核心裡SM2算法,以及支援了使用SM2/3算法的pkcs#7簽名,X509證書
  • 使用x86 avx指令集對核心的SM4算法加速,相比于純軟體實作,性能提升了4倍
  • IMA場景支援使用SM2/3算法組合,包括核心和使用者态工具ima-evm-utils的支援
  • 在Rust生态中主流算法庫RustCrypto中實作了SM3算法
  • 修複了OpenSSL商密實作上的一些Bug

預告:下周将推出【跟蹤診斷技術SIG】7月營運月報,敬請期待。歡迎更多開發者盆友、使用者加入龍蜥社群( 官網:

openanolis.cn

關于龍蜥社群SIG

SIG是開放的,并争取讓傳遞成果成為社群發行的一部分,由組核心心成員主導治理,可通過郵件清單群組内的成員進行交流。龍蜥社群目前有近20個SIG,包括商密軟體棧、高性能存儲技術SIG、Java語言與虛拟機SIG、跟蹤診斷技術SIG、Cloud Kernel、OceanBase SIG等。

商密軟體棧SIG 7月份營運月報|龍蜥SIG
https://openanolis.cn/sig

加入龍蜥社群

加入微信群:添加社群助理-龍蜥社群小龍(微信:openanolis_assis),備注【龍蜥】拉你入群;加入釘釘群:掃描下方釘釘群二維碼或搜尋釘釘群号(33311793)。歡迎開發者/使用者加入龍蜥OpenAnolis社群交流,共同推進龍蜥社群的發展。加入我們,一起打造一個活躍的、健康的開源作業系統生态!

商密軟體棧SIG 7月份營運月報|龍蜥SIG
商密軟體棧SIG 7月份營運月報|龍蜥SIG

龍蜥社群釘釘交流群 商密軟體棧SIG交流群