當(dāng)前位置:首頁 > 公眾號(hào)精選 > Linux閱碼場(chǎng)
[導(dǎo)讀]Anolis OS 國(guó)密是社區(qū)在 Anolis OS 上做的國(guó)密技術(shù)解決方案,非常歡迎業(yè)界有興趣的開發(fā)者能夠參與到 OpenAnolis 社區(qū),為國(guó)內(nèi)的基礎(chǔ)軟件生態(tài)添磚加瓦。

編者注:本文系兩位演講者整理,他們?cè)?021年阿里云開發(fā)者大會(huì)的「開源操作系統(tǒng)社區(qū)和生態(tài)分論壇」上帶了分享,演講主題為《國(guó)密技術(shù)開發(fā)與實(shí)踐》Anolis OS 國(guó)密是社區(qū)在 Anolis OS 上做的國(guó)密技術(shù)解決方案,非常歡迎業(yè)界有興趣的開發(fā)者能夠參與到 OpenAnolis 社區(qū),為國(guó)內(nèi)的基礎(chǔ)軟件生態(tài)添磚加瓦。
作者分別是阿里云技術(shù)專家張?zhí)旒?/span>螞蟻集團(tuán)高級(jí)技術(shù)專家楊洋。張?zhí)旒阎饕?fù)責(zé)Anolis OS上國(guó)密技術(shù)的開發(fā)和應(yīng)用,參與實(shí)現(xiàn)了 libgcrypt 中的國(guó)密算法和 linux內(nèi)核中的 SM2 算法;楊洋則主導(dǎo)開發(fā)了 BabaSSL,也是國(guó)內(nèi)唯一的一個(gè) OpenSSL maintainer,參與起草并推動(dòng) RFC8998 標(biāo)準(zhǔn)國(guó)際化。相信兩位技術(shù)人的干貨分享,能給開發(fā)者們帶來一定的思考。以下為技術(shù)內(nèi)容解析:國(guó)密——密碼算法的國(guó)產(chǎn)化
說到密碼算法,大家一定很熟悉 MD5,AES,RSA 這些通用的國(guó)際標(biāo)準(zhǔn)算法,這也是目前我們普遍采用的密碼學(xué)算法,它們?cè)跀?shù)據(jù)安全、通信、區(qū)塊鏈等眾多領(lǐng)域都有著廣泛的應(yīng)用。
眾所周知,這些算法標(biāo)準(zhǔn)都是國(guó)外制定的,在某些情況下這會(huì)對(duì)國(guó)內(nèi)信息安全有不利影響。當(dāng)下有實(shí)力的國(guó)家,甚至有些大公司都制定了自己的算法標(biāo)準(zhǔn)。
顧名思義,國(guó)密就是密碼算法的國(guó)產(chǎn)化,跟其它領(lǐng)域一樣,密碼算法的國(guó)產(chǎn)化已經(jīng)勢(shì)不可擋,這也是我們必須要做的事情。中國(guó)的國(guó)密算法為我們提供了一個(gè)新的選擇,在必要的場(chǎng)合中可以選擇替代那些國(guó)際主流算法,尤其是當(dāng)下國(guó)際貿(mào)易沖突,技術(shù)封鎖不可忽視的大環(huán)境下,大規(guī)模推廣和采用國(guó)密算法將為國(guó)內(nèi)重要的網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供可靠的數(shù)據(jù)安全保障。
國(guó)密是什么?
我是誰,從哪里來?
國(guó)密是一個(gè)口語化的稱呼,官方名稱是國(guó)家商用密碼,簡(jiǎn)稱商密,拼音縮寫是SM,這也是國(guó)密標(biāo)準(zhǔn)中具體算法名字的來源。國(guó)密是用于商用的、不涉及國(guó)家秘密的密碼技術(shù)。
國(guó)密標(biāo)準(zhǔn)完全由中國(guó)密碼管理局制定,主要的技術(shù)實(shí)現(xiàn)也基本是國(guó)內(nèi)開發(fā)人員完成的,這對(duì)擺脫國(guó)外的密碼技術(shù)和產(chǎn)品依賴是非常有利的。
到哪里去?
自2012 以來,SM2/3/4 的國(guó)密標(biāo)準(zhǔn)陸續(xù)公布,目前國(guó)密技術(shù)生態(tài)基本處于一個(gè)正在逐步走向成熟的階段,但國(guó)內(nèi)密碼基礎(chǔ)軟件在采用國(guó)密算法方面仍處于碎片化的狀態(tài),比如我們經(jīng)??梢钥吹礁鞣N個(gè)人或組織名義開源的支持國(guó)密算法的庫(kù);此外這些開源項(xiàng)目的安全更新和社區(qū)活躍也都做的不好。國(guó)密的推廣仍然需要我們中國(guó)基礎(chǔ)軟件的開發(fā)者和用戶共同努力。
2020年1月1日,《中華人民共和國(guó)密碼法》正式實(shí)施,從法律層面規(guī)范了國(guó)家商用密碼的應(yīng)用和管理,這也為推廣和應(yīng)用國(guó)密提供了必要的法律保障。
與國(guó)際算法的對(duì)比
這里是國(guó)密算法和國(guó)際通用算法的一個(gè)對(duì)比,可以直觀地看到國(guó)密的一個(gè)基本情況:
針對(duì)各種常用的國(guó)際能用算法類型,比如對(duì)稱算法,公鑰算法和消息摘要算法,國(guó)密標(biāo)準(zhǔn)都定義了對(duì)應(yīng)的相同功能的國(guó)密算法,比如 SM4 提供了與 AES 同樣的加密強(qiáng)度,并且支持各種加密模式;SM2 是基于橢圓曲線的公鑰算法,同時(shí)定義了非對(duì)稱加解密,數(shù)字簽名和密鑰交換標(biāo)準(zhǔn),相對(duì)于 RSA,SM2 的密鑰更短,但支持的加密強(qiáng)度卻更高;SM3 是國(guó)密定義的消息摘要算法標(biāo)準(zhǔn),摘要長(zhǎng)度是固定的256位,強(qiáng)度等同于 SHA256。
除了基礎(chǔ)的算法,國(guó)密標(biāo)準(zhǔn)也定義了TLCP國(guó)密雙證書協(xié)議,用以支持國(guó)內(nèi)的傳輸層安全協(xié)議。這里還有一個(gè)好消息,今年三月份,TLS1.3 國(guó)密單證書協(xié)議正式被國(guó)際標(biāo)準(zhǔn)所承認(rèn),并且以 RFC8998 標(biāo)準(zhǔn)發(fā)布,這意味著我們可以選擇在TLS1.3協(xié)議中使用完整的國(guó)密套件,目前我們也在聯(lián)系正規(guī)瀏覽器廠商支持這個(gè)標(biāo)準(zhǔn)的實(shí)施和應(yīng)用。
同時(shí)國(guó)密也定義了使用國(guó)密算法的 X509 證書,使用 SM3 哈希算法,SM2 算法作為數(shù)字簽名,證書類型是 SM2-with-SM3。
對(duì)開發(fā)者來說,國(guó)密提供了一個(gè)選擇,可以選擇從國(guó)際通用算法平滑遷移過來。除此之外,國(guó)密還有其它一些算法標(biāo)準(zhǔn),是不太常用的,比如 SM9,ZUC 算法等。
BabaSSL 的前世今生
BabaSSL主打國(guó)密的密碼算法庫(kù),與 OpenSSL 1.1.1 保持兼容,作為國(guó)密的密碼算法解決方案而誕生。
BabaSSL 是基于之前螞蟻集團(tuán)和阿里集團(tuán)內(nèi)部的 OpenSSL 版本合并而來,并首次進(jìn)行了開源。BabaSSL 的含義是:靈巧、輕快且靠譜的密碼學(xué)和 SSL/TLS 工具庫(kù)。
BabaSSL 的綠色商標(biāo),是基于阿里的橙色和螞蟻的藍(lán)色混合而來,也意味著我們希望將 BabaSSL 打造成一個(gè)靈活、小巧并且健壯的基礎(chǔ)密碼學(xué)庫(kù)。
BabaSSL 目前在阿里集團(tuán)和螞蟻集團(tuán)內(nèi)部得到了非常廣泛的使用。從具體場(chǎng)景來看,有如下三個(gè)方面,分別是存儲(chǔ)、網(wǎng)絡(luò)端上的設(shè)備。其中網(wǎng)絡(luò)服務(wù)的場(chǎng)景,是BabaSSL 最大的支撐場(chǎng)景,例如淘寶、天貓、阿里云等各種涉及到鏈路加密的服務(wù)器端。此外移動(dòng)端 App,例如支付寶手機(jī) App 中集成了 BabaSSL 來實(shí)現(xiàn)多種密碼學(xué)的能力。
開源
BabaSSL 已經(jīng)在去年的10月份進(jìn)行了開源,目前代碼是托管在 OpenAnolis 上,當(dāng)前開源的版本是 8.2.0,也是我們目前最新的穩(wěn)定版本。目前 BabaSSL 在阿里內(nèi)部使用的版本和開源版本之間存在一定的差異,我們目前正在逐步把內(nèi)部版本的功能特性遷移到開源版本上進(jìn)行開源,最終變成一個(gè)統(tǒng)一的開源版本,那么屆時(shí)阿里內(nèi)部也完全依賴于這個(gè)開源的版本,而不會(huì)再保留內(nèi)部的閉源版本。
特色功能以下是 BabaSSL 當(dāng)前最新穩(wěn)定版本 8.2.0 的主要特色功能特性:
  • 基于 OpenSSL 1.1.1,具備 OpenSSL 1.1.1的全部能力并且保持兼容
  • 支持國(guó)密 SM2,  SM3和 SM4,并對(duì) OpenSSL 1.1.1中所欠缺的 SM2 能力,比如 X509 證書的簽發(fā)和驗(yàn)證功能進(jìn)行了補(bǔ)全
  • GM/T 0024 和 TLCP 國(guó)密雙證書TLS協(xié)議
  • 支持 RFC 8998:TLS 1.3 國(guó)密單證書
  • 提供了對(duì) IETF 正在標(biāo)準(zhǔn)化過程中的 Delegated Credentials
  • 支持 IETF QUIC API 底層密碼學(xué)能力
  • 更加完善的 SM2 算法支持,比如 X.509 證書簽發(fā)、驗(yàn)簽的支持
  • 正在申請(qǐng)軟件密碼模塊一級(jí)資質(zhì)
OpenSSL對(duì)比接下來是大家很關(guān)心的 BabaSSL 和 OpenSSL 這種老牌的密碼算法庫(kù)之間的區(qū)別:
從圖上可以看到一些主要區(qū)別:
  • 對(duì)于一些新的密碼學(xué)技術(shù)標(biāo)準(zhǔn),BabaSSL 會(huì)采取一種相對(duì)激進(jìn)的策略快速跟進(jìn),比如在 IETF 中一些正在標(biāo)準(zhǔn)化流程中的技術(shù)方案,例如 delegated credentials, compact TLS 等,會(huì)進(jìn)行原型的實(shí)現(xiàn)和快速跟進(jìn),而 OpenSSL則是相對(duì)保守,因?yàn)?OpenSSL 社區(qū)的策略是原則上只實(shí)現(xiàn)已經(jīng)發(fā)布了的國(guó)際標(biāo)準(zhǔn)和國(guó)家標(biāo)準(zhǔn)。
  • 在對(duì)于國(guó)密算法、國(guó)密協(xié)議、國(guó)密的監(jiān)管合規(guī)、云計(jì)算廠商的深度集成、以及國(guó)產(chǎn)化硬件等方面,BabaSSL 會(huì)進(jìn)行更加深度和廣泛的支持,而 OpenSSL 則支持的比較有限。
  • 對(duì)于API的易用程度,由于沒有歷史包袱,所以 BabaSSL 可以提供更加簡(jiǎn)單易用的 API,而 OpenSSL 的 API 則相對(duì)復(fù)雜。對(duì)于資源受限的嵌入式設(shè)備,BabaSSL 會(huì)進(jìn)行體積裁剪和內(nèi)存使用量的規(guī)劃,OpenSSL 則明確表示沒有相關(guān)的計(jì)劃。
未來規(guī)劃 這個(gè)是一個(gè)后續(xù) BabaSSL 未來的版本規(guī)劃和特性支持,基本上是每半年一個(gè)版本,涵蓋了多種新的密碼領(lǐng)域技術(shù)的支持,包括對(duì)IETF的幾個(gè) RFC 草稿的實(shí)現(xiàn)、國(guó)產(chǎn)化硬件的支持以及未來對(duì)于后量子密碼學(xué)以及同態(tài)加密等前沿技術(shù)的支持:
  • 支持 MPK
  • Encrypted SNI
  • Compressed Certificate
  • Compact TLS
  • SM算法優(yōu)化
  • 支持國(guó)產(chǎn)化 CPU 的國(guó)密算法指令集
  • 體積裁剪,內(nèi)存使用量?jī)?yōu)化
  • Tink API
  • ZUC,SM9
  • PQC
  • 同態(tài)加密算法
國(guó)密生態(tài)架構(gòu)萬事俱備,有了基礎(chǔ)國(guó)密算法支持,我們便可以構(gòu)建出一個(gè)圍繞國(guó)密算法展開的基礎(chǔ)軟件生態(tài)。這是一個(gè)國(guó)密生態(tài)的垂直場(chǎng)景,也是我們?cè)?Anolis OS 上的國(guó)密生態(tài)架構(gòu),同時(shí)它也是一個(gè)全棧國(guó)密解決方案:從底層固件,內(nèi)核,到基礎(chǔ)密碼學(xué)庫(kù),在主要鏈路上做國(guó)密改造,最終形成一個(gè)完整的基于國(guó)密的安全信任鏈條圖上右邊是一些垂直的國(guó)密應(yīng)用場(chǎng)景,比如 SecureBoot,IMA,內(nèi)核模塊簽名,文件完整性校驗(yàn)等。
到目前為止,我們已經(jīng)在 linux 內(nèi)核,BabaSSL,libgcrypt,gnulib 等主流的基礎(chǔ)組件中支持了國(guó)密算法,這部分的工作都已經(jīng)回饋到了上游開源社區(qū),有興趣的開發(fā)者可以直接拿來使用或者作為參考,這些特性功能之后也會(huì)率先在 Anolis OS 上輸出,達(dá)到一個(gè)開箱即用的原生支持國(guó)密的 OS。
從中也能看到,國(guó)密生態(tài)涉及到的軟件棧非常多,形態(tài)也是各種各樣,要逐步完善這個(gè)生態(tài),還有很長(zhǎng)的路要走。近幾年的國(guó)際技術(shù)封鎖也給了我們做這件事的決心和動(dòng)力。
目前我們已經(jīng)和統(tǒng)信、海光等廠商有一些合作,也非常歡迎業(yè)界有興趣的開發(fā)者能夠參與到社區(qū),一起來做這個(gè)事情,之后我們的工作都會(huì)在 Anolis 龍蜥社區(qū)以開源方式運(yùn)作,秉著開放包容態(tài)度,繼續(xù)補(bǔ)充完善這個(gè)生態(tài),最終達(dá)到的一個(gè)目標(biāo)是:整個(gè)安全信任鏈?zhǔn)峭耆⒃趪?guó)密算法之上。
國(guó)密在 IMA 和 modsign 的應(yīng)用
我們知道,密碼學(xué)算法從來就是為安全服務(wù)的,我們來看兩個(gè)在安全領(lǐng)域具體國(guó)密改造的例子。
IMA 是 linux 內(nèi)核提供一個(gè)文件完整性度量架構(gòu),用于檢測(cè)文件是否被惡意篡改,內(nèi)核模塊簽名的目的是類似的,用于檢測(cè)模塊的發(fā)行源頭是否可信。它們都提供了自己的簽名工具,簽名工具依賴 BabaSSL 提供的 SM2 簽名文件的能力,用于在用戶態(tài)做簽名。
文件簽名的驗(yàn)證是在內(nèi)核里完成的,由于內(nèi)核不能直接使用應(yīng)用層的庫(kù),為了支持在Linux內(nèi)核里驗(yàn)證文件簽名,我們?cè)趦?nèi)核里實(shí)現(xiàn)了國(guó)密 SM2/3/4 算法以及國(guó)密證書的支持,用來驗(yàn)證簽名是否合法。
通過對(duì)相應(yīng)軟件棧的改造,我們完全基于國(guó)密算法構(gòu)建了IMA和內(nèi)核模塊簽名的安全機(jī)制,而這些之前都是由國(guó)際算法來保證的。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉