《openHiTLS:密碼開源生態研究報告(2024年)(64頁).pdf》由會員分享,可在線閱讀,更多相關《openHiTLS:密碼開源生態研究報告(2024年)(64頁).pdf(64頁珍藏版)》請在三個皮匠報告上搜索。
1、密碼開源生態研究報告(2024年)“密碼+”應用推進計劃2024 年 11月密碼開源生態研究報告(2024年)I版權聲明版權聲明本報告版權屬于“密碼+”應用推進計劃,并受法律保護。轉載、摘編或利用其它方式使用本報告文字或者觀點的,應注明“來源:“密碼+”應用推進計劃”。違反上述聲明者,將追究其相關法律責任。本報告版權屬于“密碼+”應用推進計劃,并受法律保護。轉載、摘編或利用其它方式使用本報告文字或者觀點的,應注明“來源:“密碼+”應用推進計劃”。違反上述聲明者,將追究其相關法律責任。密碼開源生態研究報告(2024年)II編寫委員會 編寫單位編寫單位(排名不分先后):“密碼+”應用推進計劃、中國
2、信息通信研究院云計算與大數據研究所、華為技術有限公司、京東科技信息技術有限公司、北京大學、中國科學院信息工程研究所、北京航空航天大學、北京信安世紀科技股份有限公司、西安電子科技大學、上海市數字證書認證中心有限公司、中電科網絡安全科技股份有限公司、北京豪密科技有限公司、西安安盟智能科技股份有限公司、北京江南天安科技有限公司、寧夏大學 編寫人員編寫人員(排名不分先后):趙欣怡、徐秀、馬聰、何陽、陸永健、朱麗斌、彭華、陳文靜、劉旭、關志、賈世杰、李冰雨、何逸飛、焦靖偉、程珂、?,撴?、張志金童、張岳熙、楊晶、徐松泉、付長春、張華、趙鋒、溫旭杰、張釗、劉政杰、馮曄、馬自強密碼開源生態研究報告(2024年
3、)III前言前言隨著信息技術的飛速發展,密碼技術作為保障信息安全的核心技術,其重要性日益凸顯。密碼開源作為一種新型的軟件開發協作模式,正逐漸受到業界的廣泛關注。然而,密碼開源生態的復雜性和多樣性也帶來了諸多問題和挑戰,如何構建健康、可持續的密碼開源生態,成為當前信息安全領域亟待解決的重要問題。本研究報告旨在全面剖析密碼開源生態發展現狀、面臨的問題和挑戰,并探索未來發展趨勢與建議。報告首先從密碼開源生態概念入手,詳細介紹了密碼開源生態架構,跟蹤了密碼開源生態發展特點,提出了構建密碼開源生態對于促進技術創新、提高安全性、降低開發成本、促進產業生態繁榮、促進人才培養、提升國際競爭力等方面具有重要意義
4、。在此基礎上,報告對密碼開源生態發展現狀進行了深入剖析,包括相關政策、典型項目、商業模式及生態產業鏈,為深入理解密碼開源生態提供了豐富的數據和案例支持。另外,報告指出,當前密碼開源生態面臨著發展緩慢、標準體系匱乏、供應鏈安全風險、技術安全風險、知識產權及法律風險及人才建設不足等多重挑戰,嚴重制約了密碼開源生態發展。最后,本研究報告從深化密碼開源生態發展、推動密碼開源標準體系建設、加強密碼開源供應鏈安全管理、加強密碼開源技術研發、推動密碼開源知識產權保護、健全密碼開源人才隊伍等方面給出了密碼開源生態發展建議。密碼開源生態研究報告(2024年)IV目錄目錄1.密碼開源生態概述.31.1 密碼開源的
5、概念.31.2 密碼開源生態架構.51.3 密碼開源生態發展特點.71.4 構建密碼開源生態的意義.132.密碼開源生態發展現狀.142.1 密碼開源相關政策.142.2 典型密碼開源項目.172.3 密碼開源商業模式.302.4 密碼開源生態產業鏈.323.密碼開源生態面臨的問題和挑戰.353.1 密碼開源生態發展較為緩慢.353.2 密碼開源標準體系待制定.363.3 密碼開源面臨供應鏈安全風險.373.4 密碼開源面臨技術安全風險.403.5 密碼開源面臨知識產權及法律風險.463.6 密碼開源人才建設仍存在不足.484.密碼開源生態發展趨勢與建議.504.1 密碼開源生態未來發展趨勢.
6、504.2 密碼開源生態發展建議.51參考文獻.57密碼開源生態研究報告(2024年)1縮 略 語JCEJava Cryptography ExtensionJava加密擴展OSIOpen Source Initiative開放源代碼促進會SBOMSoftware Bill of Materials軟件物料清單密碼開源生態研究報告(2024年)2圖表目錄圖表 1 密碼開源生態架構圖.5圖表 2 NIST 密碼模塊產品認證數據及占比統計.11圖表 3 Github 平臺密碼開源項目類型統計圖.18圖表 4 典型國外開源密碼庫.19圖表 5 典型國內開源密碼庫.24圖表 6 密碼開源生態產業鏈.3
7、3圖表 7 開源密碼軟件供應鏈相關漏洞事件.37圖表 8 開源密碼庫安全漏洞占比.40密碼開源生態研究報告(2024年)31.密碼開源生態概述密碼開源生態概述1.1 密碼開源的概念密碼開源的概念開源作為一種協作模式,推動了軟件行業的發展。開源形態最早起源于上世紀 60 年代,軟件作為硬件附屬品進行自由分發,并提供源代碼。1983 年,Richard Matthew Stallman 發起了 GNU 項目,標志著自由軟件運動的開始,通過允許用戶自由地使用、修改和分發軟件源代碼以促進軟件行業分工協作和創新發展。開源軟件的明確定義由 OSI 于 1998 年提出,主要強調了開放源碼和開源許可證,即開
8、源軟件允許用戶在遵循特定許可協議的前提下,對軟件的源代碼進行查看、修改、傳播等操作,但其源代碼的所有權仍屬于版權所有者。開源軟件一般都具有以下特點:源代碼開放透明源代碼開放透明:開源軟件的源代碼對所有用戶可見,任何人都可以查看并修改程序,提高軟件的透明度和信任度;自由分發與派生自由分發與派生:用戶可自由地復制和重新分發開源軟件,同時還可以修改開源軟件的源代碼,并基于修改后的版本創建新的軟件產品;協作與創新協作與創新:開源軟件通常由一個社區驅動,社區成員可以是開發者、用戶、測試者或文檔編寫者,開源軟件的開發模式鼓勵協作與創新,有助于軟件更快地發展并適應不斷變化的需求;具備許可條款具備許可條款:開
9、源軟件分發時通常伴隨著一個開源許可證,如 GNU 通用公共許可證、Apache 許可證、MIT 許可證等,這些許密碼開源生態研究報告(2024年)4可證定義了軟件的使用、修改和分發的條款。開源軟件的出現和發展,對計算機軟件行業產生了深遠影響,促進了軟件的創新和發展,并通過知識和資源的共享降低了軟件開發成本,提升了軟件質量和安全。另外,開源協作模式推動了全球范圍內的技術交流和合作,促進了技術的普及和應用。如 Linux 系統開源使得全球開發者可以共同查看和改進代碼,加速了漏洞的發現和修復,增強了系統的安全性和穩定性。新技術發展驅動密碼行業軟件化發展趨勢,基于開源方式的密碼軟件開發愈發流行新技術發
10、展驅動密碼行業軟件化發展趨勢,基于開源方式的密碼軟件開發愈發流行。當前,各國通過立法、管理條例等加速了密碼技術的應用和發展,美國、歐盟等國的國家戰略及我國相關法律中均涉及了密碼應用的要求,圍繞密碼體系構建的安全技術戰略成為支撐各國數字主權建設的重要組成部分。同時,由于云計算等技術的普及,通過軟件提供密碼能力相比硬件具有部署靈活、可快速擴展、成本更低等天然優勢,密碼逐漸朝著軟件化的趨勢發展通過軟件提供密碼能力相比硬件具有部署靈活、可快速擴展、成本更低等天然優勢,密碼逐漸朝著軟件化的趨勢發展。伴隨著產業發展,現代軟件開發模式已進入規?;瘏f作模式,推動密碼軟件相關行業逐漸形成開源的開發模式。密碼開源
11、主要是指對密碼類安全軟件源代碼進行公開發行,允許用戶進行查看、使用、修改和分發密碼開源主要是指對密碼類安全軟件源代碼進行公開發行,允許用戶進行查看、使用、修改和分發。密碼開源與傳統的軟件開源相比主要是開源的對象不同,密碼開源的對象主要是與密碼學和安全性相關的算法庫和應用軟件(以下簡稱為開源密碼庫和開源密碼軟件),這些開源密碼庫和開源密碼軟件通常包含豐富的密碼學功能,如對稱加密、非對稱加密、雜湊函數、隨機數生成等,能夠滿足不同應用場景下的安全需求,密碼開源生態研究報告(2024年)5廣泛應用于 Web 服務器、電子郵件服務器、VPN、區塊鏈、物聯網等多個領域。1.2 密碼開源生態架構密碼開源生態
12、架構密碼開源生態是圍繞開源密碼技術形成的一個多層次、多角色的生態組織,通過組織內部的協作和共享,推動密碼技術的發展和普及,助力密碼安全產業良性發展密碼開源生態是圍繞開源密碼技術形成的一個多層次、多角色的生態組織,通過組織內部的協作和共享,推動密碼技術的發展和普及,助力密碼安全產業良性發展。密碼開源生態涉及密碼標準、密碼實現、密碼接口、密碼應用等多個層次以及使用者、貢獻者、運營者等多個角色,密碼開源生態架構圖如下圖所示:圖表 1 密碼開源生態架構圖密碼開源生態研究報告(2024年)6密碼開源生態架構圖各個層次說明如下:密碼標準層密碼標準層主要涉及密碼算法的研究和制定,算法類別包括對稱算法、非對稱
13、算法、雜湊算法、消息認證碼等,主流的國際算法和國密算法包括 AES、RSA、ECC、SHA-1、SM2、SM3、SM4、SM9等。密碼實現層密碼實現層主要涉及對密碼算法和協議的實現,通過將各種算法組合成一個標準的密碼學組件或工具庫,對業務層提供統一的調用接 口。主流的 密碼 算法 庫包括 OpenSSL、Bouncy Castle、mbedTLS、wolfSSL等。密碼接口層密碼接口層主要涉及密碼算法接口標準制定,根據不同的軟硬件及使用場景定義不同的算法接口標準以提升密碼軟件的兼容性和易用性,使得上層業務應用基于標準接口使用密碼算法庫時可以輕松替換算法庫的不同實現。常見的密碼算法接口包括 PK
14、CS#11、JCE、GB/T 36322等。密碼應用層密碼應用層主要涉及基于密碼算法庫開發的用于實現具體業務功能或解決實際用戶需求的各種功能軟件。例如瀏覽器軟件都實現了 Https 協議,用戶可通過 SSL 安全協議瀏覽各種網站;又例如遠程運維軟件 Xshell 基于 SSH 協議實現了登錄用戶的身份認證及數據加密傳輸,用戶可通過 Xshell進行遠程機器運維。最上層的是密碼開源生態各參與方密碼開源生態各參與方,包括使用者、貢獻者和運營者多個角色。使用者包括企事業單位、公眾用戶、學術機構等;貢獻者包括個人開發者、企業開發者、學術研究人員等;運營者包密碼開源生態研究報告(2024年)7括密碼開源
15、社區志愿者、原始開發團隊及個人、開源基金會等。1.3 密碼開源生態發展特點密碼開源生態發展特點密碼開源生態伴隨著密碼學技術的不斷進步和開源文化的日益普及而逐步壯大,為信息安全領域的發展注入新的活力。密碼開源生態架構主要圍繞開源密碼庫和開源密碼軟件兩個核心方面展開,通過相互促進,共同推動了密碼學技術的發展與應用。1.3.1 開源密碼庫日趨豐富開源密碼庫日趨豐富在密碼開源生態架構中,密碼實現層扮演著將密碼標準層所定義的各類密碼算法轉化為具體可操作的密碼學組件或工具庫的關鍵角色在密碼開源生態架構中,密碼實現層扮演著將密碼標準層所定義的各類密碼算法轉化為具體可操作的密碼學組件或工具庫的關鍵角色。密碼實
16、現層不僅將復雜的密碼算法進行高效且安全的實現,還通過提供統一的接口使得業務層能夠便捷地調用密碼學功能,基于密碼實現層的這一重要作用,眾多開源密碼庫應運而生。開源密碼庫不僅極大地豐富了密碼學的應用場景,還通過開源的方式促進了密碼學技術的交流與進步。開源密碼庫為開發者提供了強大且靈活的密碼學工具,使得構建安全、可靠的應用系統變得更加容易。隨著密碼學技術的不斷進步,開源密碼庫也在不斷更新完善并且日趨豐富。開源密碼庫日趨豐富,不僅體現在種類和功能多樣化上,還包括對多種密碼算法的支持、合規性提升以及社區支持和持續更新。開源密碼庫日趨豐富,不僅體現在種類和功能多樣化上,還包括對多種密碼算法的支持、合規性提
17、升以及社區支持和持續更新。開源密碼庫的發展歷程是一個從起源、快速發展、多樣化發展、創新探索的過程,大致分為以下幾個階段:(1)起源階段()起源階段(1970 年代末年代末-1990 年代初)年代初)密碼開源生態研究報告(2024年)8密碼學開始從封閉的軍事和政府領域走向公眾,隨著計算機科學的發展,密碼學應用變得更加廣泛和實用,誕生了一些早期的密碼庫和加密工具,為后續的加密技術發展奠定了基礎。代表項目代表項目:SSLeay:一個早期的 SSL 庫,提供了一系列的加密功能,包括SSL(安全套接層)和 TLS(傳輸層安全性)協議的實現,以及其他多種加密算法和工具,后來發展成為 OpenSSL。PGP
18、:一個用于加密和解密電子郵件通信、文件存儲、數據傳輸等的早期開源項目,于 1991 年發布。(2)成長階段)成長階段(1990 年代中期年代中期-2000 年代中期年代中期)Internet 的普及促進了對網絡安全的需求,加密技術變得越來越重要,開源密碼庫開始形成規模,并且得到了廣泛的認可和使用。代表項目代表項目:OpenSSL:1998 年發布,基于 SSLeay 發展而來,提供了SSL/TLS 協議的實現以及其他加密算法和工具,是目前最流行的開源密碼庫,廣泛用于各種應用程序和系統中。GnuTLS:2001 年左右開始開發,作為 GNU 項目的一部分,提供了一個易于使用的 SSL/TLS 庫
19、。項目致力于提供安全的通信后端,使用簡單并與其他基本 Linux 庫集成。后端設計為開箱即用且安全,避免了 TLS 和 PKI 的復雜性。(3)多樣化發展階段()多樣化發展階段(2000 年代中期年代中期-2020 年代初)年代初)隨著互聯網、大數據、云計算等技術的加速創新,新型業務不密碼開源生態研究報告(2024年)9斷涌現,對密碼庫的需求也發生了顯著變化,如更廣泛的應用場景(物聯網、移動設備等)、更高的性能、更先進的功能、更好的兼容性和互操作性,從而涌現出更多種類的開源密碼庫。代表項目代表項目:Bouncy Castle:用于 Java 平臺的輕量級密碼庫,支持大量的密碼學算法,提供 JC
20、E 的實現。由于其輕量級和跨平臺特性,常用于移動設備、嵌入式系統等資源受限的環境中,也適用于需要進行快速加密和解密操作的場景。國密國密 OpenSSL 衍生版本衍生版本:為了滿足特定的安全需求和政策要求,促進國產密碼算法的應用,在 OpenSSL 基礎上實現對商密算法和協議的支持,衍生出國密 OpenSSL分支版本,如江南天安 TASSL、北京大學 GmSSL2.0、螞蟻集團 Tongsuo 密碼庫等。mbedTLS(前身是(前身是 polarSSL):由 ARM 公司開源并維護的輕量級 SSL/TLS 庫,mbedTLS 以其代碼緊湊、高效且易于集成到資源受限的嵌入式設備中而著稱。mbedT
21、LS 注重跨平臺兼容性,無需外部依賴,為無線通信、物聯網等場景提供了安全可靠的數據傳輸保障。wolfSSL:以其卓越的性能、小巧的體積和全面的 TLS 版本支持而備受青睞。它不僅提供了從 SSL 3.0 到 TLS 1.3 的廣泛支持,還引入了包括 ChaCha20、Curve25519 等前沿密碼算法,以及后量子TLS 1.3 組,為智能電網、工業自動化、汽車行業等對安全性要求極高的領域提供了強有力的安全保障。密碼開源生態研究報告(2024年)10(4)創新與探索階段()創新與探索階段(2020 年代初年代初-至今)至今)隨著量子計算等新技術的發展,對密碼學帶來了新的挑戰。開源密碼庫也在不斷
22、探索和研究后量子密碼學等前沿技術,以應對可能的安全威脅。同時,在隱私計算、區塊鏈等新興領域,開源密碼庫也在為其提供密碼學基礎能力方面發揮著作用。代表項目代表項目:OQS(Open Quantum Safe):旨在通過提供后量子密碼學解決方案來應對量子計算對傳統加密算法的潛在威脅,liboqs 是其一個開源 C 庫,提供了量子安全密鑰封裝機制和數字簽名算法的集合。OQS 項目通過 OpenSSL 和 OpenSSH 將 liboqs 原型集成到 TLS 和SSH中,使得這些廣泛使用的網絡協議能夠支持后量子密碼算法。openHiTLS:面向全場景的全面自研密碼庫,提供主流國際及國密算法和協議。架構
23、上提供密碼原語級靈活裁剪,可滿足嵌入式、云化、終端等全場景需求,降低企業同時維護多款開源密碼庫帶來的開發和漏洞修復成本。社區重點圍繞后量子等先進算法進行演進,通過敏捷算法框架,實現后量子等新型算法快速遷移以及老舊算法快速下線。1.3.2 密碼應用軟件產品日趨增多密碼應用軟件產品日趨增多密碼應用軟件產品主要指用于實現密碼學功能(包括加密、解密、密鑰管理、證書管理等)的軟件,涉及開源及商業閉源的密碼軟件。目前,隨著信息安全需求的不斷增長,密碼應用軟件產品總體數量也呈現不斷上升趨勢隨著信息安全需求的不斷增長,密碼應用軟件產品總體數量也呈現不斷上升趨勢,我國國家密碼管理局官網和美國 NIST密碼開源生
24、態研究報告(2024年)11官網查詢的數據顯示,在獲得安全級別認證的軟硬件安全產品中,純軟件類型的密碼應用產品所占比例近年來不斷增長。從 NIST 官方網站查詢到的數據顯示,截止到 2024 年 10 月 31日,共有 4850 件產品獲得了 FIPS140-1、FIPS140-2 或 FIPS140-3 的安全級別認證,其中有 1024件處于有效狀態。所有產品可按照固件、混合固件、硬件、軟件、混合軟件進行分類。處于有效狀態的各類型密碼模塊認證產品數量數據如下表所示:圖表 2 NIST 密碼模塊認證產品數據及占比統計分類固件混合固件硬件軟件混合軟件總數密碼模塊產品數量(有效狀態)3223475
25、454401024占比3.13%2.25%46.39%44.34%3.91%-根據上述數據可以得出,處于純軟件類型的認證產品,在有效狀態的密碼模塊認證產品中所占的比例達到 44.34%。近年來,我國前后出臺了兩批共 28 類密碼產品的商用密碼產品認證規范與檢測要求,同時要求政務、金融、能源等關鍵基礎設施采用的密碼軟硬件產品必須在 28 類商用密碼產品清單中且通過二級安全檢測。從商用密碼認證業務網查詢到的數據顯示,截至 2024 年10 月 31 日,通過國家密碼管理局審批的商用密碼通用產品共有5224 件,其中軟件形態的產品占比,大約為 5%至 10%,我國軟件密碼產品也在日趨增多,逐漸縮小與
26、國際的差距。密碼開源生態研究報告(2024年)121.3.3 密碼應用供給模式的變化密碼應用供給模式的變化隨著創新產業進入高速發展階段,對密碼應用的創新提出了更高要求,我國密碼應用的供給模式,正經歷從傳統外掛式密碼供給模式向內生密碼供給模式轉變的過程我國密碼應用的供給模式,正經歷從傳統外掛式密碼供給模式向內生密碼供給模式轉變的過程。傳統外掛式密碼供給模式主要依賴專用的密碼設備(如密碼機、簽名驗簽服務器、時間戳服務器等安全產品)提供密碼服務,這種模式具有較高的安全性,能夠防止密鑰和敏感數據不被泄露,且可以根據業務需求靈活增加或減少密碼設備的數量,滿足不同規模的業務需求,但存在資源利用效率低、設備
27、管理復雜、可擴展性差、分布式算力需求難以滿足等缺點。創新產業的發展需要新型的密碼算力,也促進了密碼內生安全持續發展創新產業的發展需要新型的密碼算力,也促進了密碼內生安全持續發展。內生密碼供給模式即密碼算法內生于芯片的可信執行環境中,通過在 CPU 上引入密碼運算協處理器以提供底層的密碼運算能力,同時操作系統層基于密碼協處理器給上層提供統一的密碼運算接口,上層的各種應用可以基于操作系統提供的密碼算法接口使用協處理器提供的密碼運算能力。內生密碼供給模式可在設備內部集成密碼功能,實現密碼能力與系統軟硬件的深度融合,減少對外部專用設備的依賴,實現密碼算法的彈性擴展,提高資源利用率,降低系統建設的整體成
28、本。云計算、邊緣計算、工業物聯網等新的應用場景,對密碼軟件供給提出了新的要求,創新的內生密碼算力供給模式具備內生、分布式、敏捷、輕量化的特點,是未來密碼算力發展的趨勢。開源生態是國際軟件產業實踐的智慧結晶,密碼軟件開源將大力促進內生開源生態是國際軟件產業實踐的智慧結晶,密碼軟件開源將大力促進內生密碼開源生態研究報告(2024年)13密碼供給模式創新變革密碼供給模式創新變革。1.4 構建密碼開源生態的意義構建密碼開源生態的意義隨著信息化的快速發展,密碼技術已成為全面支撐網絡空間安全的核心基石和關鍵力量。2019 年中華人民共和國密碼法的頒布,標志著密碼發展進入了有法可依的時代。隨著政策和需求的雙
29、輪驅動,密碼產業正邁向創新、開放和高質量發展的道路隨著政策和需求的雙輪驅動,密碼產業正邁向創新、開放和高質量發展的道路。由于國內密碼行業起步較晚,當前我國密碼行業在創新能力、生態建設、產業協同等方面仍然存在不足,在此背景下,構建一個健康的密碼開源生態對于推動密碼行業創新發展尤為重要。構建密碼開源生態具有多方面的積極意義構建密碼開源生態具有多方面的積極意義。首先,構建密碼開源生態可以匯聚全行業的智慧,推動密碼技術的創新和發展。其次,開源密碼項目可以通過廣泛的審查發現和修復潛在安全漏洞,提升密碼系統整體安全性,并且降低了重復開發的成本和時間,極大降低了技術門檻。另外,密碼開源生態構建有助于推動產業
30、發展與商業化,能夠提升企業的競爭力,培養密碼開源文化和人才。最后,構建密碼開源生態有助于推動國際技術交流與合作,提升我國在密碼開源領域的國際影響力和競爭力。綜上所述,構建我國密碼開源生態對于促進技術創新、提高安全性、降低開發成本、促進產業生態繁榮、促進人才培養、提升國際競爭力等方面具有重要意義。同時,構建密碼開源生態有助于充分釋放密碼對數字經濟的安全保障能力,為實現密碼強國、數字中國貢獻力量構建密碼開源生態有助于充分釋放密碼對數字經濟的安全保障能力,為實現密碼強國、數字中國貢獻力量。密碼開源生態研究報告(2024年)142.密碼開源生態發展現狀密碼開源生態發展現狀2.1 密碼開源相關政策密碼開
31、源相關政策我國開源政策逐步完善,推動開源生態建設并規范開源技術應用與發展。在頂層規劃方面我國開源政策逐步完善,推動開源生態建設并規范開源技術應用與發展。在頂層規劃方面,2021 年國務院發布知識產權強國建設綱要(20212035 年)和中華人民共和國國民經濟和社會發展第十四個五年規劃和 2035 年遠景目標綱要,明確指出“完善開源知識產權和法律體系”,并提出“支持數字技術開源社區等創新聯合體發展,完善開源知識產權和法律體系,鼓勵企業開放軟件源代碼、硬件設計和應用服務”,旨在通過政策引導為開源生態建設提供法律保障和發展方向。2021 年國務院印發的“十四五”數字經濟發展規劃的通知中再次明確“支持
32、具有自主核心技術的開源社區、開源平臺、開源項目發展,推動創新資源共建共享”,同時“鼓勵開源社區、開發者平臺等新型協作平臺發展,培育大中小企業和社會開發者開放協作的數字產業創新生態”,從頂層規劃方面看,開源技術的重要價值日漸凸顯。在行業規劃方面在行業規劃方面,2021 年工信部發布“十四五”軟件和信息技術服務業發展規劃,規劃提出“繁榮國內開源生態建設,加快開源基礎設施建設;健全開源協作體系,賦能產業轉型升級;提升開源治理水平,支持開源規范有效開展;優化開源發展環境,推動開源人才培養”。2024 年工信部等七部門聯合發布關于推動未來產業創新發展的實施意見,提出“推廣開源技術,建設開源社區,密碼開源
33、生態研究報告(2024年)15構建開源生態體系”,旨在通過跨部門協作,共同推動開源技術在未來產業中的廣泛應用和生態體系建設。在應用規范方面在應用規范方面,2021 年中國人民銀行等五部門發布關于規范金融業開源技術應用與發展的意見,明確指出要“規范金融機構合理應用開源技術,提高應用水平和自主可控能力”,并通過發布 JR/T 0290-2024金融業開源軟件應用管理指南、JR/T 0291-2024金融業開源軟件應用評估規范等金融行業標準,為金融機構建立完善的開源管理和開源軟件應用評估體系提供指導。我國密碼領域出臺多項政策,為密碼開源提供法治保障與政策支持,促進了密碼開源技術創新和應用。我國密碼領
34、域出臺多項政策,為密碼開源提供法治保障與政策支持,促進了密碼開源技術創新和應用。2019 年頒布的中華人民共和國密碼法(以下簡稱密碼法)和 2023 年修訂的商用密碼管理條例(以下簡稱商密條例)通過鼓勵密碼科技創新與產業發展、推動檢測認證體系建設、促進密碼開源與國際合作等途徑,為密碼開源提供有力支持和保障。鼓勵密碼科技創新與產業發展方面鼓勵密碼科技創新與產業發展方面,密碼法第九條、商密條例第七條和第八條中提出“鼓勵和支持密碼科學技術研究和應用,依法保護密碼領域的知識產權”、“健全商用密碼科學技術創新促進機制,支持商用密碼科學技術自主創新”、“鼓勵和支持商用密碼科學技術成果轉化和產業化應用”,為
35、密碼開源提供了市場空間和政策支持,有助于激發開源社區及個人的活力。推動檢測認證體系建設方面推動檢測認證體系建設方面,密碼法第二十五條、商密條例第三章提出“國家推進商用密碼檢測認證體系建設,制定商密碼開源生態研究報告(2024年)16用密碼檢測認證技術規范、規則,鼓勵商用密碼從業單位自愿接受商用密碼檢測認證”,為密碼開源技術的安全性和可靠性提供了認證機制,使其更容易獲得市場的認可和信任,推動了密碼開源技術的廣泛應用和發展。促進密碼開源與國際合作方面促進密碼開源與國際合作方面,密碼法第二十一條、第二十三條、商密條例第七條、第十條、第三十一條提出“國家鼓勵在外商投資過程中基于自愿原則和商業規則開展商
36、用密碼技術合作”、“國家推動參與商用密碼國際標準化活動,參與制定商用密碼國際標準,鼓勵企業、社會團體和教育、科研機構等參與商用密碼國際標準化活動”、“涉及國家安全、社會公共利益且具有加密保護功能的商用密碼,列入商用密碼進口許可清單,實施進口許可”,為密碼開源技術提供了標準化的路徑,促進了技術的規范化和互操作性,并且為密碼開源技術的國際交流和合作提供了法律框架,促進了技術的全球流通和應用,有助于提升我國密碼開源項目的國際影響力和競爭力。針對商密產業高質量發展方面針對商密產業高質量發展方面,2021 年國家密碼管理局聯合中央網信辦等十部委聯合發布促進商用密碼產業高質量發展的若干措施(以下簡稱若干措
37、施),通過深化需求牽引、創新驅動提升全鏈條、支持平臺建設和完善發展環境四個方面,加快推動商用密碼產業高質量發展。針對密碼開源發展,若干措施提出“建設商用密碼開源生態,制定出臺密碼融入信息產業技術體系行動計劃,規范信息技術產品、服務的密碼應用與檢測評估,推動商密碼開源生態研究報告(2024年)17用密碼產業發展逐步由產品交付向服務交付轉變”,通過政策和需求的雙輪驅動,推動密碼產業邁向創新、開放、高質量發展。2.2 典型密碼開源項目典型密碼開源項目密碼開源項目主要包括開源密碼庫和開源密碼軟件,目前主流密碼算法庫及大型企業自身密碼算法庫均進行了開源,通過開源可以被廣大的開發者使用和改進,構建國際公信
38、力,消減用戶對私有技術實現的顧慮。一方面開源推動了密碼庫的規?;褂?,另一方面開源密碼軟件產品能夠快速適應新的安全威脅和挑戰,保持與時俱進,推動了密碼技術的創新和發展。2.2.1 密碼開源項目分類密碼開源項目分類針對全球最大開源代碼托管平臺 Github 上的國外開源密碼項目數據進行調查,選取了 Github 平臺上相對具有一定知名度(標準為Star 數量不少于 1.3k)的 94 個密碼項目(包含開源密碼庫與開源密碼軟件),并對其功能等進行了分類統計,劃分的類別包括:(1)密碼應用:使用密碼學工具或與密碼學相關的具有完整架構的應用,如分布式匿名網絡的內核或分布式文件系統等;(2)密碼工具箱:
39、提供完整的密碼學工具,通常包括對稱加密、非對稱加密、數字簽名等功能,如 OpenSSL等;(3)算法庫:基于密碼學實現某個特定算法/協議,例如高效雜湊算法庫、針對用戶層面簡便接口的加密算法庫等;密碼開源生態研究報告(2024年)18(4)數據/文件加密:能夠實現數據/文件加密的小工具,如跨平臺端到端的云存儲加密或在本地瀏覽器上的文件加密等;(5)區塊鏈/加密貨幣:與區塊鏈或加密貨幣相關或者其上的應用/協議,如 Bitcoin 等;(6)密碼庫測試/攻擊:實現針對傳統密碼算法的正確性測試或攻擊的工具,如針對 RSA的攻擊工具或針對各類密碼學算法的正確性測試工具等;(7)同態加密:該類倉庫是基于同
40、態加密的協議/算法的工具,如 HElib,seal。(8)SSH:該類倉庫是實現 SSH的應用,例如在本地或遠程系統上使用特定密鑰作為硬件安全密鑰來進行 SSH 身份驗證的工具等。圖表 3 Github平臺密碼開源項目類型統計圖按開源密碼項目的功能進行分類,提供特定類型算法(包括同態加密等算法)的算法庫和提供多種類完備密碼方案的算法庫(圖例中以“密碼工具箱”表示)各占約 1/4,其他項目則涉及密碼安全單位:個密碼開源生態研究報告(2024年)19攻擊、密碼測試等不同的安全問題,或將密碼算法應用于具體場景或解決特定問題。2.2.2 典型開源密碼庫(典型開源密碼庫(1)典型國外開源密碼庫)典型國外
41、開源密碼庫以下為目前國際上一些主流的開源密碼庫。圖表 4 典型國外開源密碼庫序號序號項目名稱項目名稱實現源碼實現源碼定位定位1OpenSSLC提供通用性密碼模塊基礎加解密、協議、證書等功能2Bouncy CastleJava、C#提供廣泛密碼學功能的開源庫,特別是在 Java和.NET 平臺上3mbedTLSC嵌入式設備、IoT 設備以及其他需要輕量級 SSL/TLS 解決方案的項目4wolfSSLC致力于為嵌入式和資源受限環境提供高性能和可靠的安全解決方案5LibgcryptC開源加密軟件 GnuPG的底層庫6JPBCJava專注于基于配對的加密技術7OpenFHEC+開源全同態加密庫,主要
42、應用在需要隱私保護應用場景8blockchain-crypto-mpcC+主要應用于區塊鏈和多方安全計算場景9liboqsC主要應用于抗量子安全加密場景OpenSSL 是目前全球應用最廣泛的開源密碼庫之一,提供了豐富的密碼算法和安全協議實現,廣泛應用于各種網絡安全和加密需求。它源自 Eric A.Young 和 Tim J.Hudson 的 SSLeay 項目,SSLeay在 1998 年停止開發后,OpenSSL 作為一個分支項目繼續發展,并迅速成為互聯網上安全通信的標準工具。在通信協議方面,OpenSSL支持多個版本的 SSL 和 TLS 協議,能夠為服務器和客戶端提供 API接口,支持雙
43、向認證。在加密算法方面,OpenSSL 支持主流的對稱密碼開源生態研究報告(2024年)20加密算法、非對稱加密算法以及多種雜湊函數。此外,OpenSSL 還提供了生成和管理 X.509 證書的功能,支持自簽名證書和 CA 簽名證書,以及證書請求的生成、簽名和驗證。OpenSSL 支持多種操作系統,包括 Linux、Windows 和 macOS 等。OpenSSL 廣泛應用于各種場景,包括 Web 服務器(如 Apache 和 Nginx)、郵件服務器(如Postfix 和 Sendmail)、VPN(如 OpenVPN)和客戶端應用(如curl)。OpenSSL憑借其廣泛的功能和活躍的社區
44、支持,至今仍然是實現安全應用的首選解決方案之一。Bouncy Castle 是一個廣泛使用的開源密碼庫,支持多種編程語言和平臺,主要用于 Java 和 C#語言環境。最初該開源密碼項目是為了填補 Java 平臺上缺少強大且靈活的加密工具的空白,后期擴展到了 C#等其他語言,并被廣泛應用于各種企業級和開源項目中。Bouncy Castle 提供了全面的加密算法和協議實現,支持包括主流的對稱加密算法、非對稱加密算法、雜湊函數、數字簽名算法,并支持包括 SSL/TLS、PGP、S/MIME等加密協議,廣泛應用于各種安全通信和數據保護任務。此外,Bouncy Castle 提供全面的 X.509 證書
45、支持,包括證書生成、簽名、驗證和撤銷功能,以及 CRL(證書吊銷列表)和 OCSP(在線證書狀態協議)等證書管理機制。BouncyCastle 被廣泛應用于各種領域和項目中,包括金融服務(用于安全交易和數據保護)、電子郵件安全(用于加密和簽名電子郵件)、Web 安全(用于實現 HTTPS 和其他安全通信協議),以及區塊鏈和加密貨幣(用于生成和管理加密密鑰和數字簽名)。密碼開源生態研究報告(2024年)21mbedTLS 是一個開源、輕量級的加密庫,專為嵌入式系統和資源受限的環境設計。mbedTLS 采用 C 語言實現,提供了多種加密算法和協議,技術特點包括輕量級、高速度、可移植性、安全性和靈活
46、性。它的代碼非常緊湊,可以在很小的內存空間中運行,同時采用了多種優化策略,可以提高加解密速度和傳輸效率。mbedTLS 可以運行在多種操作系統和硬件平臺上,包括 Windows、Linux、ARM 等。它采用了先進的加密算法和安全協議,可以保護數據的機密性和完整性。此外,mbedTLS 提供了多種 API 接口和配置選項,可以根據應用需求進行靈活定制。mbedTLS可以應用于嵌入式設備、服務器、客戶端等各種場景,包括無線通信、云計算、物聯網、移動應用和電子商務等安全通信場景。wolfSSL 是一個輕量級、快速且可移植的開源密碼庫,專為嵌入式設備、實時操作系統和資源受限環境設計。主要使用 C 語
47、言編寫,適用于多種平臺和操作系統,包括但不限于 Linux、macOS 和Windows。wolfSSL 提供了全面的加密算法和協議實現,支持最新的TLS 1.3和 DTLS 1.3 協議。wolfSSL的特點在于其輕量級和高效性,在資源受限的環境中表現出色,被廣泛應用于嵌入式系統、物聯網、金融服務、web 安全以及區塊鏈和加密貨幣領域。Libgcrypt 是一個用于加密、雜湊和其他密碼學操作的開源密碼庫,作為 GnuPG(GNU Privacy Guard)項目的一部分進行開發和維護,具有較高的質量和安全性。Libgcrypt 支持多種加密算法,包括對稱加密算法(如 AES、DES、3DES
48、、Blowfish、CAST5、Twofish、密碼開源生態研究報告(2024年)22Serpent 等)、非對稱加密算法(如 RSA、DSA、ElGamal 和 ECC等)、流加密算法(如 ARCFOUR 和 Salsa20 等)。同時,還提供多種雜湊函數(如 MD5、SHA-1、SHA-256、SHA-512、RIPEMD-160、Tiger 等)和消息認證碼(MAC)算法(如 HMAC 和GMAC)。Libgcrypt 廣泛應用于各種需要密碼學支持的應用程序和協議中,例如電子郵件加密(如 GnuPG 和其他電子郵件加密軟件)、文件加密工具、網絡安全協議(如 VPN、SSL/TLS)和數字
49、簽名(用于確保軟件包、文檔和其他數據的完整性和真實性)。Libgcrypt 設計為高度可移植的庫,支持多種操作系統和硬件平臺,包括 Linux、Windows、macOS 和各種 Unix 系統。JPBC(Java Pairing-Based Cryptography Library)是一個專注于基于配對的加密技術的開源密碼庫,配對加密是一種使用橢圓曲線加密的擴展,允許復雜的加密協議,如身份認證和安全多方計算。JPBC 主要支持包括身份基加密(IBE)、簽名算法(支持基于配對的簽名系統,提供如群簽名、盲簽名等功能)、密鑰協議、安全多方計算、零知識證明、配對操作(各類橢圓曲線和配合函數實現)。J
50、PBC廣泛應用于安全通信(如高度安全通信系統,提供身份基加密和安全的密鑰交換協議)、電子投票系統(保障投票的匿名性和不可否認性,防止選票篡改和重復投票)、數字身份驗證系統、智能合約平臺等相關應用場景。OpenFHE 是一個開源的全同態加密庫,提供多種高效的 FHE方案實現,旨在為開發者和研究人員構建安全的云環境并為隱私保密碼開源生態研究報告(2024年)23護應用提供便利。OpenFHE 支持所有常用的全同態方案的有效實現,包括:用于整數算術的 Brakerski/Fan-Vercauteren(BFV)方案、用于整數算術的 Brakerski-Gentry-Vaikuntanathan(BG
51、V)方案、用于實數算術的 Cheon-Kim-Kim-Song(CKKS)方案(包括近似的引導)、用于布爾電路評估的 Ducas-Micciancio(DM/FHEW)和Chillotti-Gama-Georgieva-Izabachene(CGGI/TFHE)方案。OpenFHE主要應用在諸如數據加密存儲、大數據分析、醫療健康、金融交易等涉及數據隱私場合,在不泄露用戶數據的同時對數據進行處理。Blockchain-crypto-mpc 是一個用于區塊鏈和密碼學多方計算(MPC)的開源密碼算法庫,旨在通過多方安全計算技術增強區塊鏈應用的安全性和隱私性。該算法庫提供了兩方 ECDSAsecp25
52、6k1、兩方 EdDSA ed25519、兩方 BIP32(基于 BIP32 規范)、密鑰份額刷新、零知識密鑰備份等功能,主要應用于移動錢包服務和多設備等特殊場景,并為密鑰提供安全性。liboqs 是一個提供抗量子安全加密算法的開源算法庫,旨在為量子安全密碼學算法的測試和部署提供框架和工具集。支持多種抗量子密碼算法,包括:密鑰封裝機制(KEMs):如 Kyber、Saber、NTRU 等,數字簽名算法:如 Dilithium、Falcon、Picnic和 Rainbow,實 驗 性 密 碼 學 算 法:如 SIKE(Supersingular Isogeny KeyEncapsulation)
53、。liboqs 主要應用于云存儲和傳輸場景以抵御未來的量子攻擊,或集成到現有的通信協議(如 TLS)中以實現量子安全的通信。密碼開源生態研究報告(2024年)24(2)典型國內開源密碼庫)典型國內開源密碼庫以下為目前國內一些主流的開源密碼軟件庫。圖表 5 典型國內開源密碼庫序號序號項目名稱項目名稱實現源碼實現源碼定位定位1TongsuoC提供存儲、網絡、密鑰管理、隱私計算等多場景底層密碼學基礎能力,具有二級密碼模塊資質。2GMSSLC具有輕量化、跨平臺、安全合規特性3TASSLC具有高安全性、跨平臺兼容和易用性4openHiTLSC/C+具有輕量化、可剪裁、高安全性特點,可滿足多場景下業務需求
54、、資源優化和成本控制5KonaJava具有良好的跨平臺兼容性Tongsuo 前身為 BabaSSL,是一個由螞蟻集團開發的提供現代密碼學算法和安全通信協議的開源基礎密碼庫,為存儲、網絡、密鑰管理、隱私計算等諸多業務場景提供底層的密碼學基礎能力,實現數據在傳輸、使用、存儲等過程中的私密性、完整性和可認證性,為數據生命周期中的隱私和安全提供保護能力。在密碼算法方面,Tongsuo 支持主流的國產密碼算法及國際密碼算法,另外還支持包括 EC-ElGamal 和 Paillier 在內的同態加密算法以及包括 Kyber 和Dilithium 在內的后量子密碼算法。在通信協議方面,Tongsuo 支持了
55、包括 GB/T 38636-2020 TLCP 標準、RFC 8998(TLS 1.3+國密單證書)和 QUIC API 等,以實現數據在傳輸過程中的安全性和可靠性。Tongsuo 還支持零知識證明技術(ZKP),包括 Bulletproofsrange 和 Bulletproofs R1CS,為隱私計算提供了強有力的支持。Tongsuo目前已廣泛的應用在互聯網、金融、司法、電信等諸多領域中,為存儲、網絡、密鑰管理、隱私計算、區塊鏈、IoT 等諸多業密碼開源生態研究報告(2024年)25務場景提供底層的密碼學基礎能力。GmSSL 項目是由北京大學自主開發的國產商用開源密碼庫,支持全部已公開國密
56、算法,并全面覆蓋了國密標準和安全通信協議,旨在為政府、金融、通信和其他需要高安全性標準的行業提供可靠的加密解決方案。GmSSL 支持包括移動端在內的主流操作系統和處理器,并支持密碼鑰匙、密碼卡等典型國產密碼硬件,同時提供了豐富的命令行工具和多種編程語言接口,使其易于集成和使用。GmSSL 從 3.0 版本開始重構了代碼,在去除對 OpenSSL 依賴的同時大幅度降低了內存需求和二進制代碼體積,適用于無操作系統的低功耗嵌入式環境(如 MCU 和 SOC),使得開發者可以輕松地將國密算法和 SSL 協議嵌入到現有項目中,具有輕量化、跨平臺、安全合規等優秀特性。GmSSL 提供了一個符合國密標準的高
57、性能、安全的密碼解決方案,適用于各種行業和應用場景。TASSL 是由江南天安推出的國密 OpenSSL 開源密碼庫,TASSL 同時支持 GM/T 0024-2014 以及 GB/T 38636-2020。支持原生Nginx,TASSL 可與原生 Nginx 實現國密 SSL 的 web server/反向代理;支持原生 Apache,TASSL 可與原生 Apache 實現國密 SSL 的web server/反向代理;在使用原生 Nginx 和 Apache 時支持使用江南天安硬件產品(密碼機/密碼卡)存儲 SSL 長期密鑰,以保證密鑰安全性,且不需要對 Nginx和 Apache做任何代
58、碼改造。TASSL在保障安全性的同時,提供了良好的跨平臺兼容性和易用性,適用于HTTPS、VPN、安全電子郵件和金融系統等需要安全傳輸和數據保密碼開源生態研究報告(2024年)26護的場景。openHiTLS 是由西安電子科技大學、山東大學、上海交通大學、華為等十三家產學研機構共同發布的一款全面自研密碼套件,通過輕量級、可剪裁的軟件技術架構,滿足各行業不同場景的多樣化要求,同時探索后量子等先進算法創新實踐,構建密碼前沿技術底座。在架構設計方面,openHiTLS 允許分層分級解耦,將密碼模塊內的協議、證書、算法、調度功能解耦,通過高內聚低耦合的模塊化設計實現按需組合和裁剪,支持最小裁剪粒度達到
59、 20KB,確保了在各種應用場景下的資源優化和成本控制。在軟件優化和硬件加速方面,openHiTLS 利用代數優化、指令優化和硬件加速技術,顯著提升了算法效率。openHiTLS 密碼算法敏捷架構支持快速應用遷移和算法演進,通過統一接口和算法插件化管理框架,確保了應用的快速適配和更新。在安全性方面,openHiTLS 通過內存安全形式化驗證手段以及主要模塊的側信道檢測手段,使軟件可快速迭代,持續測試,確保其安全可靠。Kona 是騰訊公司推出的基于 Java 開發的開源密碼套件,通過集成基礎算法、公鑰基礎設施和安全通信協議,實現了全鏈路國密特性。在密碼算法方面,Kona 國密套件實現了國密基礎算
60、法簇,在公鑰基礎設施方面,該套件能夠解析國密證書、驗證國密證書鏈,并處理包含國密證書的密鑰庫文件。在安全通信協議方面,Kona 國密套件實現了 GB/T 38636-2020 TLCP 標準,支持認證證書與加密證書分離的雙證書模式,并實現了 IETF 制定的 RFC 8998 規范,將國密碼開源生態研究報告(2024年)27密算法應用于 TLS 1.3 安全通信協議。Kona 國密套件具有良好的跨平臺兼容性,支持任何可以運行 JDK的操作系統平臺。Kona國密套件可廣泛應用于各種網絡通信場景,包括 Web 安全、移動應用、物聯網、云計算等領域,為不同行業和領域的應用提供安全保障。2.2.3 典
61、型開源密碼軟件典型開源密碼軟件針對全球最大開源代碼托管平臺 Github 上開源密碼軟件進行調研,選取了部分典型的開源密碼軟件,根據功能類別進行劃分并對各軟件進行簡述。(1)密鑰管理)密鑰管理Strongbox:一款適用于 iOS 和 OSX 的個人密碼管理器,使用開源加密算法(如 TwoFish、Argon2d、ChaCha20、Aes、Salsa20)和其他各種加密技術(如 SHA256、HMAC、CSPRNG)來存儲組和條目,同時可以在 KeePass 格式的保險箱中存儲文件附件,并且支持 YubiKey。MinTOTP:一款 Python 工具,可用于從密鑰生成 TOTP(Time-B
62、ased One-Time Password,基于時間的一次性密碼),同時還為 Python 開發人員提供了模塊級函數功能。Ockam:一套開源編程庫和命令行工具,用于大規模協調端到端加密、相互驗證、密鑰管理、憑證管理和授權策略執行。該工具可以為應用程序提供端到端的數據真實性、完整性和保密性保證,并對每個信任和訪問決策進行細粒度控制。(2)證書管理)證書管理密碼開源生態研究報告(2024年)28PKI.js:一個 JavaScript 密碼應用,用于實現 PKI 應用程序中使用的格式(簽名、加密、證書請求、OCSP 和 TSP 請求/響應),基于 WebCrypto(Web Cryptogra
63、phy API)構建的,無需其他插件,旨在為每個人制作與 PKI 相關的應用程序提供幫助,方便構建可與現有 X.509 解決方案互操作的現代網絡應用程序。Jsrsasign:RSA-Sign JavaScript,一個開源密碼庫,支持純JavaScript 的RSA/RSAPSS/ECDSA/DSA 簽 名/驗 證、ASN.1、PKCS#1/5/8 私 鑰/公 鑰、X.509 證 書、CRL、OCSP、CMSSignedData、TimeStamp、CAdES JSON Web 簽名/令牌/密鑰。Forge:一套開源密碼軟件,包含 TLS 協議在 JavaScript 中的完全本地實現,也是一
64、套用于開發使用多種網絡資源的網絡應用程序的工具,使用 CommonJS 模塊結構和瀏覽器捆綁包的構建流程。(3)多方計算)多方計算fhe-toolkit-linux:一款軟件開發工具包(SDK),是基于Linux 的 Docker 容器,使用完全同態加密數據實用高效地執行加密工作負載。Fully Homomorphic Encryption:基于 C+的 FHE 編譯器,可將 C+轉換為可在加密輸入上運行的 FHE-C+,包含對加密數據集 執 行 全 同 態 加 密(FHE)操 作 的 開 源 庫 和 工 具。FullyHomomorphic Encryption 采用模塊化架構,允許更改底層
65、 FHE 庫、高級程序描述和輸出語言。Sodium:一個易于使用的開源密碼軟件,用于加密、解密、簽密碼開源生態研究報告(2024年)29名、密碼散列等。它是 NaCl 的一個可移植、可交叉編譯、可安裝、可打包的分叉,具有兼容的 API 和擴展 API,以進一步提高可用性。其目標是提供構建更高級密碼工具所需的所有核心操作。Sodium 支持各種編譯器和操作系統,包括 Windows(使用 MingW 或 VisualStudio,x86 和 x64)、iOS、Android 以及 Javascript 和 Webassembly。(4)隱私計算)隱私計算RISC Zero:基于 zk-STARK
66、 和 RISC-V 微體系結構的零知識可驗證通用計算平臺。在 RISC Zero 的情況下,證明者可以證明他們正確執行了某些代碼,同時只向驗證者透露代碼的輸出,而不透露代碼的任何輸入或執行過程中的任何狀態。這些代碼在一個特殊的虛擬機 zkVM 中運行。RISC Zero zkVM 可模擬小型 RISC-V 計算機,只要有針對 RISC-V 的編譯器工具鏈,它就能運行任何語言的任意代碼。目前,SDK 支持 Rust、C 和 C+。Vuvuzela:一個保護信息內容和信息元數據隱私的信息傳遞系統,使用高效加密技術(NaCl)盡可能多地隱藏元數據,并為無法高效加密的元數據添加噪音。Vuvuzela
67、是第一個能在擴展到數百萬用戶的同時提供強大元數據隱私保護的系統。(5)區塊鏈)區塊鏈/加密貨幣加密貨幣Monero:一種私人、安全、不可追蹤、去中心化的數字貨幣。Monero 采用加密系統,允許發送和接收資金,而不會輕易在區塊鏈上泄露交易信息。利用分布式點對點共識網絡的力量,網絡上的每筆交易都是加密安全的。通過利用環簽名,Monero 能夠確保交易不密碼開源生態研究報告(2024年)30僅不可追蹤,而且具有可選的模糊性,從而確保交易無法輕易追溯到單個用戶或計算機。Mimblewimble:一個區塊鏈格式和協議,依托于健壯的加密原語,提供非常好的可擴展性、隱私和可替代性。Grin 是一個實現Mi
68、mblewimble 區塊鏈的開源軟件項目,并填補了(Mimblewimble協議所缺失的)實現一個完整的區塊鏈和加密貨幣必需的部分內容。2.3 密碼開源商業模式密碼開源商業模式開源是一種開放共享的開發模式,推動了創新資源的共建共享,但開源與商業化并不沖突,而是可以相互促進、相互融合,協同發展的。開源密碼軟件作為開源軟件的一種,典型的商業模式與開源軟件基本相同,但開源密碼軟件市場與開源軟件市場相比,還處于早期發展階段,市場規模遠不能與開源軟件相比。目前主流的開源商業模式,包括專業服務模式、雙重許可模式、托管服務模式、開源核心功能模式、市場平臺模式、軟硬件集成模式、捐贈和贊助模式、生態流量變現模
69、式、商業引流模式、合規驅動模式等。專業服務模式:專業服務模式:軟件完全開源,企業或組織通過提供開源軟件的技術支持、培訓、咨詢以及定制開發來獲得收入。這種商業模式的典型代表是 RedHat。雙重許可模式:雙重許可模式:企業將開源軟件分成開源版本和商業版本,分別采用不同的授權許可模式。開源版本可以免費使用,但使用開源版本的同時,產品通常需遵循 GLP 協議保持代碼開源。如果用戶需密碼開源生態研究報告(2024年)31要實現軟件閉源,則需購買商業許可證。同時,商業版本也會有更豐富的功能特性或更高的性能表現。MySQL 在被 Oracle收購前采用這種模式。托管服務模式:托管服務模式:企業通過提供開源
70、軟件的 SaaS服務來獲得收入,這種模式滿足了客戶擺脫復雜的開源軟件管理工作的需求。一些大型云廠商如微軟云、亞馬遜云、阿里云等通過將開源軟件部署在云上,企業用戶付費使用架構在云端的開源服務,無需搭建軟件使用環境,通過這種云服務收費模式獲取利潤。如 Red Hat 的 OpenShift和 Confluent 的 Kafka 服務都是典型案例,數據庫管理系統如MongoDB 也通過提供云服務來獲得收入。開源核心功能模式:開源核心功能模式:一些科技企業如 redhat 通過將社區版軟件進行開源,并在其基礎上進行功能擴充、適配、封裝、測試后形成新的企業發行版本提供給用戶付費使用,通過這種模式構建差異
71、化服務,從中獲取利益。市場平臺模式:市場平臺模式:企業建立一個平臺,匯集多個開源項目和相關服務,從中抽取傭金,GitHub的市場就是典型案例。軟硬件集成模式:軟硬件集成模式:通過銷售與開源項目相關的硬件或附加產品來獲得收入,例如,提供專門優化的硬件設備來運行開源軟件。典型案例如華為鴻蒙,從 2020 年開源以來,OpenHarmony 支持了近600 款軟硬件產品,搭載 HarmonyOS 的設備數量已突破 8 億臺,升級用戶迅速增長。捐贈和贊助模式:捐贈和贊助模式:開源項目可以通過接受捐贈或贊助來獲得資密碼開源生態研究報告(2024年)32金支持,這種方式依賴于社區和用戶對項目的認可和支持,
72、很多GitHub上的項目都依賴于這種模式。生態流量變現模式:生態流量變現模式:一些具有高價值開源項目的科技巨頭如谷歌等,通過在開源軟件中售賣廣告資源獲取利潤。商業引流模式商業引流模式:通過開源項目提升捐贈公司的聲譽,引流使用過開源軟件的公司及個人去購買捐贈公司的其他產品。合規驅動模式合規驅動模式:開源項目有利于受眾公司低成本使用,當受眾公司有合規需求時,通過購買可以與開源軟件無縫集成的合規硬件來達到合規目的。通過以上幾種開源商業模式可以看出,開源商業化的崛起將改變軟件市場的競爭格局,為互聯網生態系統帶來新的活力和機遇。2.4 密碼開源生態產業鏈密碼開源生態產業鏈密碼開源生態產業鏈由多個關鍵參與
73、者組成,共同推動了密碼技術的發展和應用,主要包括開源基金會、開源社區(包括代碼托管平臺)、開源貢獻者、開源使用者等產業各方。密碼開源生態研究報告(2024年)33圖表 6 密碼開源生態產業鏈開源基金會在密碼開源技術的推廣和標準化方面起著關鍵作用開源基金會在密碼開源技術的推廣和標準化方面起著關鍵作用。開源基金會是一種非營利組織,通過技術服務和項目孵化支持和促進開源項目的健康發展。通過提供資金、法律支持和基礎設施,基金會確保了項目的持續發展和維護。例如 OpenSSL Foundation 是一個典型的例子,支持 OpenSSL項目,為全球網絡安全提供基礎設施。例如開放原子開源基金會為我國首家開源
74、基金會,致力于推動開源產業發展,為各類開源項目提供知識產權托管、咨詢等服務,目前包 括 Tongsuo、Openkona、HSMC(hardware security moduleconnector)等開源密碼項目已入駐開放原子開源基金會。開源社區是創新和知識交流的中心。開源社區是創新和知識交流的中心。開源社區主要分為幾類,包括項目型社區(聚焦特定開源項目)、用戶型社區(開源愛好者自發形成的小型社區)、開發者社區、服務型社區(具備開源代碼、項目孵化、開源治理、媒體等多種服務功能的社區)。如 Tongsuo開源社區、openHiTLS 開源社區均為聚焦開源密碼的項目型社區,Github、Gite
75、e、Gitcode 均為服務型社區。開源社區作為開發者交流密碼開源生態研究報告(2024年)34的平臺,在推動技術創新和應用方面的巨大潛力。開源貢獻者是密碼開源生態健康發展的關鍵開源貢獻者是密碼開源生態健康發展的關鍵。開源貢獻者在開源社區中發起開源項目,軟件源代碼將無償在社區發布,供任何人查看、使用、修改和分發。此后二次開發者和開源使用者可作為貢獻方參與到項目的迭代中,根據自己的需求、興趣對代碼進行修改、擴展和優化,并將改進后的版本重新發布到社區中。社區中的其他機構提供法律、行業發展等服務和指導,達到技術交流或商業目的。開源運營和治理環節,無論是由企業主導還是由基金會主導,在整個開源項目過程中
76、都處于關鍵位置,包含軟件開發和發行、市場推廣、版本迭代更新、版權管理和安全管理等內容。密碼開源生態產業鏈中的各方通過開放、透明的協作模式,推動密碼技術的創新與應用,為數字世界的安全提供了堅實基礎。密碼開源生態研究報告(2024年)353.密碼開源生態面臨的問題和挑戰密碼開源生態面臨的問題和挑戰3.1 密碼開源生態發展較為緩慢密碼開源生態發展較為緩慢首先,密碼開源生態較為分散,缺乏一個統一的、具有領導性的力量來協調和推動整個生態的發展首先,密碼開源生態較為分散,缺乏一個統一的、具有領導性的力量來協調和推動整個生態的發展。當前,雖然存在多個密碼開源項目和社區,但它們之間往往孤立運作,缺乏統一的標準
77、和規劃,這種分散狀態不僅導致資源重復投入和浪費,也使得整個生態難以形成合力,推動技術進步和應用推廣。其次,密碼開源政策支持力度不夠,制約了密碼開源生態發展其次,密碼開源政策支持力度不夠,制約了密碼開源生態發展。盡管近年來國家出臺了一系列有關密碼的法律法規,但在開源治理、知識產權保護、人才培養等方面的具體規范和細則仍顯不足,導致密碼開源生態發展不夠規范,影響了密碼開源生態快速發展。另外,密碼開源生態人才缺乏且人才培養體系尚未健全,制約了密碼開源生態發展另外,密碼開源生態人才缺乏且人才培養體系尚未健全,制約了密碼開源生態發展。由于密碼技術具有一定專業性,一定程度上限制了更廣泛人群的參與,且高校相關
78、專業設置和教學內容不夠完善,缺乏高水平的開源人才培養師資,導致開源人才供給不足,難以滿足密碼開源生態發展需求。最后,由于缺乏足夠的商業支持和密碼開源生態整合,導致密碼開源項目的商業化應用和推廣受到限制最后,由于缺乏足夠的商業支持和密碼開源生態整合,導致密碼開源項目的商業化應用和推廣受到限制。商業支持是推動開源生態發展的重要力量,由于目前缺乏成熟的密碼開源商業模式和盈利途徑,導致開發者缺乏持續投入的動力,難以形成良性發展生態;并且開源密碼技術缺乏與其他開源項目或商業產品的有效整合,限密碼開源生態研究報告(2024年)36制了開源密碼技術的應用場景和范圍。3.2 密碼開源標準體系待制定密碼開源標準
79、體系待制定首先,在開源領域缺乏統一的、被廣泛認可的密碼開源標準體系,導致開發者在設計和實現時缺乏統一的指導和參考首先,在開源領域缺乏統一的、被廣泛認可的密碼開源標準體系,導致開發者在設計和實現時缺乏統一的指導和參考。標準體系的缺乏不僅增加了開發的難度,同時也影響了密碼技術的推廣和應用效率。其次,目前大量國際協議標準及軟件均不支持我國商密算法,限制了國產密碼技術的發展其次,目前大量國際協議標準及軟件均不支持我國商密算法,限制了國產密碼技術的發展。由于歷史原因和技術壁壘等多種因素,目前大量國際協議標準未采用商密算法,大量開源軟件也不支持商密算法,且部分商密算法和協議未被主流開源密碼套件接納,導致密
80、碼算法和套件生態存在割裂現象。這不僅增加了技術集成的難度和成本,也降低了整個生態的安全性和穩定性。最后,開源密碼實現尚缺乏相關的合規性檢測標準,增加了密碼誤用的風險,制約了開源密碼應用的推廣最后,開源密碼實現尚缺乏相關的合規性檢測標準,增加了密碼誤用的風險,制約了開源密碼應用的推廣。信息系統開發人員由于對密碼應用缺乏技能和經驗,不了解密碼算法類型、協議參與方角色要求、關鍵參數類型等基本知識,錯誤調用密碼技術(如密碼應用程序接口 API),導致產生密碼應用安全缺陷/漏洞,而目前尚缺乏針對開源算法實現的合規性認定規范,導致開發者和用戶難以評估開源密碼實現是否符合特定法律法規要求,限制了開源密碼軟件
81、推廣和應用。密碼開源生態研究報告(2024年)373.3 密碼開源面臨供應鏈安全風險密碼開源面臨供應鏈安全風險密碼開源的廣泛應用同時伴隨著一系列供應鏈安全風險,根據參考文獻統計顯示,開源密碼軟件供應鏈的漏洞事件普遍存在。如下圖所示開源密碼軟件供應鏈相關漏洞事件的發展趨勢,2008 年之前針對密碼軟件的攻擊目標主要還是以傳統密碼算法為主,而當前開源密碼軟件供應鏈的上下游產品已成為攻擊的目標當前開源密碼軟件供應鏈的上下游產品已成為攻擊的目標。圖表 7 開源密碼軟件供應鏈相關漏洞事件密碼開源面臨的供應鏈風險不容忽視,主要集中在供應鏈斷供風險、供應鏈依賴風險以及供應鏈惡意預留后門風險幾個方面。3.3.
82、1 供應鏈依賴風險供應鏈依賴風險開源密碼軟件的供應鏈通常包含多個環節,從代碼編寫、測試、發布到集成應用,每一個環節都可能引入安全風險。由于開源軟件的高度復用性,一個項目中可能集成了多個第三方庫和組件,這些組件之間的依賴關系錯綜復雜由于開源軟件的高度復用性,一個項目中可能集成了多個第三方庫和組件,這些組件之間的依賴關系錯綜復雜。一旦某個組件存在安全漏洞或不穩定因素,就可能通過依賴鏈傳播到整個項目中,甚至影響到整個供應鏈。此外,由于開源軟件的開放性和透明度,攻擊者可能更容易由于開源軟件的開放性和透明度,攻擊者可能更容易密碼開源生態研究報告(2024年)38找到并利用這些漏洞進行攻擊,進一步加劇了供
83、應鏈依賴風險找到并利用這些漏洞進行攻擊,進一步加劇了供應鏈依賴風險。如BIGNUM 作為多精度算術庫,廣泛應用于開源密碼庫和安全協議,該算術庫二進制文件的分發工具被第三方惡意占用,用戶在安裝BIGNUM 的同時,也下載惡意二進制文件,這些惡意軟件會從用戶計算機中竊取數據,BIGNUM 作為 OpenSSL 軟件依賴組件之一,該惡意代碼存在通過密碼軟件依賴、向上游產品傳播的風險。3.3.2 供應鏈斷供風險供應鏈斷供風險在當前復雜的國際政治環境下,供應鏈斷供風險成為密碼開源生態面臨的重大挑戰。首先,由于國際制裁、政治沖突、貿易限制等原因可能導致關鍵技術及軟件被限制或禁止出口,從而導致開源項目無法獲
84、取必要的更新或支持首先,由于國際制裁、政治沖突、貿易限制等原因可能導致關鍵技術及軟件被限制或禁止出口,從而導致開源項目無法獲取必要的更新或支持,一旦發生供應鏈斷供,可能導致項目停滯、業務中斷,甚至整個生態系統的崩潰。如目前 OpenSSL 作為目前全球最廣泛使用的開源密碼庫之一,為眾多應用程序和系統提供加解密功能,如果因為制裁等原因無法繼續使用,將對依賴該庫的眾多應用和服務造成嚴重影響。脫離 OpenSSL 后,開發者需要尋找替代方案并進行大量的代碼重構和測試,這不僅增加了開發成本,還可能引入新的安全漏洞。此外,代碼托管平臺的訪問問題也是供應鏈斷供風險中不容忽視的問題此外,代碼托管平臺的訪問問
85、題也是供應鏈斷供風險中不容忽視的問題。目前許多開源項目都托管在 Github、Gitlab 等國外開源代碼托管平臺上,這些平臺為開發者提供了代碼托管、版本控制、協作開發等功能,如果這些平臺由于政治壓力、法律問題等原因而密碼開源生態研究報告(2024年)39無法訪問,則開源項目的開發和維護都可能受到嚴重影響。國內密碼開源社區已經認識到這個問題的嚴重性,已經開始將存儲于國外的代碼轉移到國內平臺。另外,如果代碼托管平臺的安全性不足,可能會導致源代碼泄露或被惡意篡改,從而影響整個供應鏈的安全。3.3.3 供應鏈惡意預留后門風險供應鏈惡意預留后門風險開源密碼軟件因開放性和廣泛使用的特點,面臨著被惡意預留
86、后門的風險,攻擊者可能通過貢獻代碼的方式在開源項目中預留后門,利用植入的后門進行攻擊開源密碼軟件因開放性和廣泛使用的特點,面臨著被惡意預留后門的風險,攻擊者可能通過貢獻代碼的方式在開源項目中預留后門,利用植入的后門進行攻擊。尤其是在開源項目的代碼審查不夠嚴格或開發者安全意識不足的情況下,后門代碼可能長期未被發現,一旦后門被激活,可能會使攻擊者能夠繞過正常的安全措施,獲取敏感數據或控制系統。例如,XZ 庫的供應鏈安全事件(CVE-2024-3094)就是一個典型案例,揭示了供應鏈惡意預留后門的嚴重性。目前,開源密碼軟件供應鏈惡意預留后門風險主要分為主觀故意和客觀約束兩方面目前,開源密碼軟件供應鏈
87、惡意預留后門風險主要分為主觀故意和客觀約束兩方面。主觀故意即開發人員出于經濟利益、間諜活動或其他惡意目的在軟件開發階段有意設置后門漏洞,將其作為繞過安全控制以獲取對系統訪問權限的手段;客觀約束即開發人員由于技術限制、資源限制等原因而導致后門風險,這可能包括開發者在不知情的情況下引入了安全漏洞,或者由于缺乏足夠的安全測試和審計,未能及時發現和修復潛在的安全問題。目前客觀約束和主觀故意行為之間的界限仍非常模糊,難以明確進行定義,因此較難通過法律法規對該類漏洞進行規范,為了有效應對這類風險,需要采取全面的安全措施,包括加強代碼審查、密碼開源生態研究報告(2024年)40實施嚴格安全測試流程、提升開發
88、者安全意識等措施以提升開源密碼軟件供應鏈安全。3.4 密碼開源面臨技術安全風險密碼開源面臨技術安全風險3.4.1 密碼開源安全漏洞匯總密碼開源安全漏洞匯總密碼開源作為一種促進技術共享和創新的手段,近年來在得到快速發展的同時相關安全漏洞事件依舊普遍存在。通過對 OpenSSL、wolfssl、mbedTLS、GnuTLS 和 Bouncy Castle 這幾個目前應用較為廣泛的開源密碼庫的安全漏洞情況進行分析,可以觀察到,OpenSSL 漏洞數量最多。下圖展現了以上幾個開源密碼庫漏洞占比情況,相關統計數據來源于以上幾個開源密碼庫對應的漏洞公布平臺,通過對自 2020 年至今的開源漏洞進行統計,共
89、統計已公開開源漏洞 103 個。圖表 8 開源密碼庫安全漏洞占比單位:個密碼開源生態研究報告(2024年)41通過對已發現漏洞按照 CWE 漏洞類型進行分類,所有漏洞共統計為 28類 CWE 問題,其中排名 TOP 10 問題出現頻率從高到低依次為:1)CWE-203:Observable Discrepancy,是一種針對敏感數據的信息泄露漏洞,通常發生在應用程序中,當應用程序未正確處理敏感數據(如密碼、信用卡號碼、社會安全號碼等)時,可能導致這些數據被泄露。攻擊者可以利用這些泄露的敏感信息進行身份盜竊、欺詐等違法活動。2)CWE-295:Improper Certificate Valid
90、ation,是一種證書安全相關的漏洞,也稱為“不正確的證書驗證”,指在進行 SSL/TLS通信時,未正確驗證證書的真實性和有效性,導致惡意攻擊者可以偽造證書并冒充合法的網站或服務器,從而竊取用戶的敏感信息或進行其他惡意行為。3)CWE-476:NULL Pointer Dereference,空指針解引用。當程序試圖引用一個空指針時,會發生空指針解引用,通常是由于忘記初始化指針或者在釋放指針后仍然引用指針導致的。攻擊者可以利用這種漏洞來執行惡意代碼或者導致程序崩潰,從而造成系統安全問題。4)CWE-125:Out-of-bounds Read,越界讀取。指的是軟件在處理內存時,可能會讀取超出其
91、分配的內存區域的字節,可能是由于程序邏輯錯誤導致的,比如數組越界訪問或者不正確的指針操作。當程序試圖訪問未分配或未授權的內存區域時,密碼開源生態研究報告(2024年)42可能會讀取一些隨機的數據,這可能導致程序行為不確定,甚至導致安全漏洞。例如,如果緩沖區沒有被正確地初始化和限制其大小,程序可能會讀取并處理超出其預期范圍的數據,從而可能導致信息泄露或程序崩潰。5)CWE-835:Loop with Unreachable Exit Condition,循環退出條件不可達。指的是程序中的循環結構(如 for、while 或 do-while 循環)存在無法達到的退出條件。這種情況下,程序會進入無
92、限循環或死循環,導致程序崩潰或資源耗盡。6)CWE-787:Out-of-bounds Write,越界寫入。指的是程序在寫入數據時越過了預分配的內存區域邊界,導致數據寫入到了不該被寫入的內存區域,從而可能破壞了程序的執行環境,引發安全漏洞。這種漏洞通常由于未正確計算內存分配的大小或者未正確處理邊界條件而引發。攻擊者可以利用這種漏洞來執行任意代碼、篡改數據或者拒絕服務等攻擊。7)CWE-120:Buffer Copy without Checking Size of Input,未檢查輸入大小的緩沖區復制。在軟件執行緩沖區拷貝操作時,沒有對輸入的大小進行檢查,可能導致緩沖區溢出,攻擊者可以利用
93、這種漏洞來執行惡意代碼,或者破壞系統的穩定性。緩沖區溢出通常發生在對輸入緩沖區進行拷貝時,如果輸入的大小超過了緩沖區實際可用的空間,多余的字節就會覆蓋相鄰的內存區域。8)CWE-416:Use After Free,使用后未釋放內存。當程序在釋密碼開源生態研究報告(2024年)43放后嘗試訪問內存位置時發生,可能會導致意外行為、崩潰甚至安全漏洞,因為攻擊者可能會操縱釋放的內存來執行任意代碼。該漏洞通常發生在程序釋放內存塊,但不更新對該內存的所有引用時,如果程序稍后試圖訪問釋放的內存,它可能會訪問無效甚至惡意的數據。9)CWE-327:Use of a Broken or Risky Crypt
94、ographicAlgorithm,使用已被破譯或有風險的加密算法,這可能導致系統的安全漏洞。加密算法用于保護數據和通信的安全,使用弱或破壞的算法可以使攻擊者更容易獲得敏感信息的訪問。一些被破壞或有風險的加密算法的例子包括 MD5 和 SHA-1,它們已被發現容易受到攻擊。10)CWE-78:Improper Neutralization of Special Elements used inan OS Command,OS 命令注入。當應用程序未正確驗證或整理傳遞給命令解釋器的用戶輸入時,會發生此漏洞。這可能允許攻擊者向命令中注入惡意代碼,從而導致執行未經授權的命令或其他惡意活動。從以上關于
95、開源密碼庫的安全漏洞統計情況可以看出,目前主要漏洞問題涵蓋信息泄露、證書安全、內存訪問錯誤、緩沖區操作不當、加密算法風險等問題,不僅涉及了程序設計的缺陷,還包括安全配置的錯誤,強調了在開源密碼庫開發過程中加強安全意識和采取有效防護措施的重要性。密碼開源生態研究報告(2024年)443.4.2 密碼開源安全風險分析密碼開源安全風險分析通過對開源密碼庫安全漏洞進行分析,密碼開源安全風險主要來源于外部和內部兩個方面,其中外部風險主要來源于敵手在軟件中有意設置漏洞,內部風險主要來源于使用者在密碼應用過程中的誤用風險密碼開源安全風險主要來源于外部和內部兩個方面,其中外部風險主要來源于敵手在軟件中有意設置
96、漏洞,內部風險主要來源于使用者在密碼應用過程中的誤用風險。相關風險主要包括以下內容:偽隨機數風險。偽隨機數風險。偽隨機數生成器(PRNG)在密碼學中扮演著至關重要的角色,用于生成隨機數、加密密鑰和鹽值等。偽隨機數生成器的安全性直接影響到整個密碼系統的安全性,若偽隨機數生成器的輸出可預測,攻擊者便能推測出密鑰等敏感信息,從而破壞系統安全。例如 Debian 弱密鑰漏洞,在 2006 年到 2008 年期間,Debian OpenSSL 包中存在一個缺陷,導致了 OpenSSL生成隨機數時可以預測,使得 Debian Linux 操作系統及其衍生版本(如 Ubuntu)生成的 RSA密鑰易受到攻擊
97、者的破解。數字證書應用風險。數字證書應用風險。數字證書用于確認網絡活動中的主體身份,確保信息傳輸的安全性和完整性。然而,數字證書也存在著證書偽造、證書管理不當和惡意使用等問題,例如 CVE-2020-0601 漏洞,攻擊者可以利用 ECC 算法的漏洞偽造可信任的簽名或證書;證書的私鑰若被泄露或管理不當,可能導致未經授權的訪問和數據泄露。側信道攻擊風險。側信道攻擊風險。側信道攻擊利用密碼系統實現過程中的物理泄露信息(如執行時間、功耗、電磁輻射等)來推測敏感數據。根據攻擊方式分類可以分為被動攻擊(利用設備泄露的如電磁輻射、工號、聲音等進行非侵入式分析)和主動攻擊(通過注入故障、改密碼開源生態研究報
98、告(2024年)45變環境參數等方式創造泄露信息,通過直接對設備進行物理干擾來獲取信息)。常見的側信道攻擊風險主要包括:時間攻擊、功耗攻擊、緩存攻擊、電磁攻擊等。例如谷歌于 2018 年發布的名為“Titan”的 U 盾,其中內置了 NXP 公司的一款密碼芯片。2021 年,法國研究人員通過采集和分析 Titan U 盾執行數字簽名過程中輻射出的電磁信息,精準定位了電磁波中的泄露時刻,并準確地獲得了部分密鑰信息,最后結合一些數學分析手段成功恢復了 Titan U盾的完整密鑰。內存泄漏風險。內存泄漏風險。內存泄漏是指程序在運行過程中未能正確釋放不再使用的內存,導致內存資源逐漸耗盡無法被其他程序或
99、同一程序中的其他部分再次使用,最終可能導致系統性能下降甚至崩潰。常見的內存泄漏原因包括未關閉的資源、對象引用未釋放和靜態集合的異常使用等。緩沖區溢出風險。緩沖區溢出風險。當向緩沖區寫入超出其邊界的數據時,可能會覆蓋相鄰內存區域,導致程序崩潰或被惡意利用。攻擊者可能利用緩沖區溢出漏洞讀取或篡改存儲在內存中的敏感數據,如加密密鑰、用戶密碼等。在某些情況下,攻擊者也可以通過精心構造的輸入數據,將惡意代碼注入到溢出的緩沖區中,從而控制受影響的系統。例如 OpenSSL 的 Heartbleed 漏洞,由于服務器沒有對有效載荷長度進行充分的驗證,攻擊者可以發送一個惡意構造的心跳請求,越界讀取服務器緩沖區
100、,獲取內存中的其他信息,可能造成敏感數據泄露。參數設置風險。參數設置風險。密碼學算法和協議的安全性在很大程度上依賴密碼開源生態研究報告(2024年)46于參數的正確設置,不當的參數設置可能導致安全漏洞。比如密鑰長度不足,密鑰長度較短意味著密鑰空間較小,攻擊者可以通過嘗試所有可能的密鑰來找到正確的密鑰。又比如數學結構簡化,可能會導致加密輪數不足,大幅降低密碼算法原有的安全性保障,以及某些開源密碼庫可能默認使用不安全的參數配置,都會導致安全風險。例如,針對工作系數為 5 的 bcrypt 算法,在 1999 年暴力破解的速率為 62.5 個/秒,在 2022 年使用達到了 18.4 萬個/秒,隨著
101、計算能力的發展,密碼學算法的安全參數應當得到及時的更新。弱密碼算法風險。弱密碼算法風險。弱密碼算法指的是那些安全性較低、容易被破解或存在已知漏洞的加密算法。使用弱密碼算法會導致加密數據的安全性大大降低,攻擊者可以通過各種手段破解加密數據,從而獲取敏感信息。例如 MD5 是早期開發的雜湊函數,王小云教授及其團隊在 2004 年發現并展示了 MD5 算法中存在的碰撞問題,由于MD5 的碰撞問題,攻擊者可能偽造文檔并通過生成相同的哈希值來通過驗證。開源密碼庫在提供高透明度和協作性的同時,也面臨多種技術安全風險。開發者和用戶需高度重視這些風險,采取相應的防范措施以確保系統的安全性。3.5 密碼開源面臨
102、知識產權及法律風險密碼開源面臨知識產權及法律風險在密碼開源生態中,知識產權及法律風險直接關系到開源項目的可持續性、用戶使用的合規性以及整個生態的健康發展。相關風險主要聚焦在以下幾個方面:密碼開源生態研究報告(2024年)47首先,存在違反開源許可證條款的風險首先,存在違反開源許可證條款的風險。開源許可證是開源項目授權使用其代碼和資源的法律框架,它規定了使用者在使用、修改、分發開源軟件時必須遵守的條件和限制。若開源軟件使用者未依照相應的開源許可證來使用開源軟件,將可能侵犯開源軟件的作者或權利人的知識產權。其次,存在因版權和許可聲明缺失而導致的相關風險其次,存在因版權和許可聲明缺失而導致的相關風險
103、。在開源項目中,版權和許可聲明是保護作者權益、明確代碼使用規則的重要組成部分。然而,一些開源項目可能由于疏忽或故意而未能提供完整的版權和許可聲明,這不僅使得項目的合法性和合規性受到質疑,也給使用者帶來了不確定性和風險。此外,存在專利權風險此外,存在專利權風險。開源軟件通常通過許可證來管理版權和使用權,但專利權是獨立于版權之外的另一種知識產權形式。開源密碼軟件中可能包含了受專利保護的算法和技術,如果密碼開源項目中使用了受專利保護的算法或技術,而項目本身又未能獲得相關專利權人的許可或授權,則使用者在使用這些開源代碼時就可能面臨專利權侵權的風險。最后,存在著作權風險最后,存在著作權風險。著作權是保護
104、原創作品的重要法律手段,它涵蓋了作品的復制、發行、表演、展示、改編等多種權利。在密碼開源項目中,源代碼、文檔、界面設計等都可能構成著作權法保護的對象,部分開發者可能未經許可就復制、分發或修改他人作品,導致侵犯原作者的著作權。密碼開源生態研究報告(2024年)483.6 密碼開源人才建設仍存在不足密碼開源人才建設仍存在不足2023 年修訂的商用密碼管理條例規定“國家加強商用密碼人才培養,建立健全商用密碼人才發展體制機制和人才評價制度,鼓勵和支持密碼相關學科和專業建設”。然而,我國密碼開源人才規模仍不能滿足信息化和數字經濟安全的迫切需要我國密碼開源人才規模仍不能滿足信息化和數字經濟安全的迫切需要。
105、首先,規?;艽a開源人才培養生態有待發展首先,規?;艽a開源人才培養生態有待發展。近年來,我國高度重視密碼職業人才培養,逐步完善密碼職業人才評價體系。2021 年 2 月,教育部發布普通高等學校本科專業目錄,增設密碼科學與技術本科專業。2021 年 3 月,教育部發布職業教育專業目錄(2021 年),在高等職業教育專業中增加了“密碼技術應用”專業,同年 3 月,人社部會同市場監管總局、國家統計局發布 18 個新職業信息,其中密碼技術應用員確定為新職業。2022 年 7 月,人社部向社會公示中華人民共和國職業分類大典(2022 年版),較2015 年版大典相比,增加密碼技術應用員和密碼工程技術人
106、員職業。密碼專業學科設立及密碼職業的設立將有效帶動密碼職業人才培養評價,促進密碼科技創新和產業發展。然而,由于目前開設密碼專業的院校數量有限且開設時間較晚,因此現有人才培養的數量和質量仍難以滿足行業需求。據不完全統計,現階段我國對密碼人才需求人數 30 萬人左右,實際人才缺口 20 萬人,隨著 5G、數據中心等“新基建”工程建設提速,2025 年我國密碼人才需求將達到 110 萬人左右。其次,密碼開源教育資源缺乏且不完善其次,密碼開源教育資源缺乏且不完善。密碼開源人才除了需密碼開源生態研究報告(2024年)49要掌握密碼學基礎知識、密碼算法與協議實現,還需要了解密碼產品、密鑰管理以及密碼技術應
107、用等方面的知識和技能。高質量的密碼開源教育資源是培養密碼開源人才的基礎,然而當前密碼開源教育資源有限且存在缺陷。一方面,當前密碼開源教育資源相對匱乏,如密碼開源教程、實踐案例及實訓平臺,且在內容、形式和更新速度等方面存在不足。另一方面,現有教育資源往往側重于理論知識的傳授,忽略了實踐操作和問題解決能力的培養,導致難以將理論知識有效轉化為實際應用能力。另外,頂尖密碼開源人才匱乏另外,頂尖密碼開源人才匱乏。在密碼開源生態中,頂尖人才是推動技術創新和生態發展的關鍵力量。2022 年 9 月,國務院學位委員會、教育部聯合發布研究生教育學科專業目錄,在交叉學科門類增設密碼碩士專業學位,為培養密碼領域高層
108、次人才開辟了道路。然而,由于培養周期較長、門檻高以及市場需求與供給不匹配等原因,導致目前密碼開源領域高層次人才的數量遠遠不能滿足市場需求,影響了密碼開源技術的創新速度,限制其在關鍵領域的深入應用。最后,企業對密碼開源人才培養成本投入少最后,企業對密碼開源人才培養成本投入少。企業在密碼開源生態中扮演著重要角色,但由于部分企業對密碼開源生態的價值認識不足或出于成本和收益考量,導致部分企業在密碼開源人才培養方面的投入仍存在不足,限制了密碼開源技術的創新和應用。密碼開源生態研究報告(2024年)504.密碼開源生態發展趨勢與建議密碼開源生態發展趨勢與建議4.1 密碼開源生態未來發展趨勢密碼開源生態未來
109、發展趨勢隨著數字經濟的蓬勃發展和網絡安全形勢的日趨嚴峻,密碼技術作為保障信息安全的核心支柱,其重要性日益凸顯。在此背景下,密碼開源生態必將迎來新的發展機遇和挑戰。綜合分析國內外形勢,預計未來一段時期,密碼開源生態發展主要有以下幾大趨勢:與前沿技術加速融合。與前沿技術加速融合。密碼技術將與人工智能、量子計算、區塊鏈、云計算等新興技術加速融合,催生出更多創新應用場景。以量子計算為例,面對其帶來的“量子霸權”挑戰,后量子密碼學的研究和開源實現備受關注,有望成為新的增長點。產業生態更加完善。產業生態更加完善。伴隨數字經濟發展和新興技術演進,密碼開源軟硬件、測評認證、教育培訓等產業鏈條將更加完善?!爱a學
110、研用”協同創新機制將進一步健全,推動科研成果加速向現實生產力轉化。人才培養更加多元。人才培養更加多元。高校、科研院所將進一步完善密碼學學科建設,優化人才培養方案。企業、社區也將通過在線教育、實訓項目等方式,培養更多既懂密碼技術又熟悉開源文化的復合型人才。應用場景更加豐富。應用場景更加豐富。隨著 5G、工業互聯網、智慧城市等新型基礎設施建設提速,以及遠程辦公、在線教育、數字醫療等應用的快速普及,對密碼技術的需求將更加旺盛。密碼開源解決方案在金融、電信、能源、交通等關鍵行業領域的應用將更加深入。密碼開源生態研究報告(2024年)51安全風險防控更加智能。安全風險防控更加智能。針對密碼開源項目的供應
111、鏈安全風險,業界將加強對開源組件的全生命周期管理,運用大數據、人工智能等新技術,對項目代碼進行智能化分析和風險評估,及時發現并修復漏洞,構建更加安全可信的開源生態。4.2 密碼開源生態發展建議密碼開源生態發展建議4.2.1 深化密碼開源生態發展深化密碼開源生態發展加大對密碼開源項目和企業的投入與扶持。加大對密碼開源項目和企業的投入與扶持。政府和相關機構應通過提供資金支持、稅收優惠、研發補貼等措施,鼓勵企業和個人參與密碼開源項目。鼓勵社會資本、風險投資機構等參與密碼開源項目的投資,形成政府引導、市場主導的多元化融資體系。通過舉辦密碼開源項目路演、創投對接會等活動,為優秀項目搭建展示平臺,吸引更多
112、資金注入,推動密碼開源項目的研發和應用。推動密碼開源產業上下游對接和合作。推動密碼開源產業上下游對接和合作。建立和完善密碼開源產業的上下游對接機制,促進產業鏈上下游企業、科研機構、高效等各方間緊密合作。鼓勵企業、高校和科研機構圍繞密碼開源技術開展聯合研發,推動技術創新與成果轉化。引導密碼開源技術向關鍵領域和行業滲透,拓展應用場景和市場空間。加強國際交流與合作。加強國際交流與合作。積極參與國際密碼開源項目和社區建設,共同推動密碼技術的創新和發展,促進全球密碼學開源生態的協同發展。加強與國際組織的合作,提升我國密碼開源生態的國際影響力和競爭力。密碼開源生態研究報告(2024年)524.2.2 推動
113、密碼開源標準體系建設推動密碼開源標準體系建設構建完善的密碼開源標準體系,是引領密碼開源技術健康有序發展的重要基礎。當前,我國密碼開源標準化工作還存在不足,亟需借鑒國外先進經驗,加強頂層設計,健全標準體系,提升國際影響力和話語權。制定密碼開源標準化發展戰略。制定密碼開源標準化發展戰略。立足國家網絡安全和信息化發展大局,研究制定密碼開源標準化中長期發展規劃和路線圖,明確標準化工作的目標、重點領域和實施路徑,為密碼開源生態建設提供標準引領和支撐。健全密碼開源標準體系框架。健全密碼開源標準體系框架。以密碼算法、協議、接口、安全性評估等為重點,構建科學合理、層次分明、覆蓋全面的密碼開源標準體系框架。加強
114、不同技術領域標準之間的協調配套,提高標準的系統性和一致性。積極參與國際標準化活動。積極參與國際標準化活動。鼓勵國內企業、高校、科研機構等積極參與國際密碼標準化組織的標準制定工作。加強與國際主流開源社區的交流互鑒,提出自有方案,爭取更多話語權,推動我國自主密碼技術成為國際標準。加快國內密碼開源標準研制。加快國內密碼開源標準研制。圍繞密碼技術發展和應用需求,開展密碼算法、協議、接口、安全性評估等關鍵標準研制。支持社區參與標準草案研討和試驗驗證,提高標準質量和可操作性。鼓勵更多機構和個人參與密碼開源標準化工作,營造政府引導、市場驅動、社會參與的標準化工作新局面。密碼開源生態研究報告(2024年)53
115、4.2.3 加強密碼開源供應鏈安全管理加強密碼開源供應鏈安全管理加強開源密碼軟件供應鏈管理。加強開源密碼軟件供應鏈管理。首先,應推動建立軟件物料清單(SBOM)管理機制,對開源密碼項目中使用的所有組件進行清晰、準確地記錄和管理,便于后續的安全審計和漏洞修復工作,并確保軟件組件的來源可靠、版本可控、更新及時。另外,還應加強與供應商的合作與溝通,共同維護供應鏈的安全穩定。研究制定開源密碼軟件斷供風險方案。研究制定開源密碼軟件斷供風險方案。針對開源密碼軟件可能面臨的斷供風險,應制定相應的應對方案。建立多元化的供應鏈體系,減少對單一供應商或項目的依賴。加強對關鍵開源軟件的自主可控研發能力,提升國內開源
116、密碼軟件的替代性和競爭力。建立應急響應機制,一旦發生斷供事件,能夠迅速啟動備用方案,保障業務連續性和安全性。加強密碼開源社區治理。加強密碼開源社區治理。建立和完善密碼開源社區治理機制,包括社區決策流程、貢獻者管理、代碼提交和審查流程等。通過設立明確的社區規則和行為準則,促進健康、積極的社區文化。加強與國際密碼開源社區的交流和合作,通過借鑒先進經驗,提升我國密碼開源社區的治理水平。4.2.4 加強密碼開源技術研發加強密碼開源技術研發加強開源軟件密碼漏洞檢測工具研發。加強開源軟件密碼漏洞檢測工具研發。開發人員在調用密碼軟件接口時,可能因為對密碼技術不夠熟練從而出現密碼誤用,這種錯誤使用可能會導致密
117、碼算法無法達到預期的安全目標,進而引發密碼開源生態研究報告(2024年)54系統安全風險。密碼漏洞檢測工具能夠彌補這一缺陷,它能夠在密碼軟件開發過程中輔助開發者安全地調用密碼軟件接口,從而提高密碼軟件二次開發過程中系統的安全性。加強對密碼開源項目的代碼審查及安全審計力度。加強對密碼開源項目的代碼審查及安全審計力度。首先,建立并執行嚴格的代碼審查制度,開展定期和持續的審查工作,以及時發現和修復潛在的安全漏洞和缺陷。同時,通過開展安全審計對項目的安全性進行評估,確保密碼開源項目能夠抵御各種安全威脅。此外,還應加強與第三方檢測機構的合作,引入專業的安全檢測和評估服務,提升項目的整體安全水平。引入軟件
118、簽名技術提升密碼開源軟件開發過程的完整性保護。引入軟件簽名技術提升密碼開源軟件開發過程的完整性保護。當基于密碼軟件進行二次開發時,在密碼軟件從軟件倉庫分發至用戶的傳輸過程中可能因信道受攻擊而導致其完整性被破壞。攻擊者可能利用此方法向用戶的設備分發惡意軟件,例如,當利用中間人攻擊破壞傳輸過程時,攻擊者可以肆意篡改傳輸的軟件。軟件簽名技術基于密碼學基本假設,在傳輸信道不可靠的情況下可有效地保障所傳輸軟件的完整性。采用透明化技術提升針對密碼開源項目供應鏈攻擊的溯源審計能力。采用透明化技術提升針對密碼開源項目供應鏈攻擊的溯源審計能力。透明化被視為一種有效緩解軟件供應鏈攻擊的手段,由SBOM結合透明化日
119、志,為軟件組成及來源提供透明可審計的依據。SBOM 由開發者主動提供,其中包含開發者對軟件組成的聲明,透明化日志則要求軟件開發者在發布軟件時必須向日志提供軟件簽名信息,為軟件來源提供了不可否認的特性。結合 SBOM 和透明化日密碼開源生態研究報告(2024年)55志有利于增強對供應鏈攻擊的對抗能力,增強開源社區治理能力。4.2.5 推動密碼開源知識產權保護推動密碼開源知識產權保護完善密碼開源知識產權及法律法規保護。完善密碼開源知識產權及法律法規保護。加強對密碼開源知識產權保護的立法工作,明確界定密碼開源知識產權歸屬、使用權限及侵權責任,加強對密碼開源項目的專利、著作權、商標等知識產權的保護力度
120、,為密碼開源知識產權保護提供堅實法律基礎。開展密碼開源知識產權宣傳教育開展密碼開源知識產權宣傳教育。通過媒體宣傳、教育引導等方式,提高公眾對密碼開源知識產權保護的認識和重視程度。組織針對密碼開源開發者和使用者的專業培訓,提升知識產權意識和能力。強化密碼開源社區自律強化密碼開源社區自律。制定密碼開源社區行為規范,引導開發者尊重和保護知識產權。建立密碼開源項目審核制度,確保項目合規性和知識產權清晰,鼓勵開源項目采用國際通行開源許可證,降低知識產權風險。4.2.6 健全密碼開源人才隊伍健全密碼開源人才隊伍加強密碼開源創新人才培養。加強密碼開源創新人才培養。在高校和科研機構中設立密碼開源技術課程,培養
121、具備扎實理論基礎和實踐能力的復合型人才。通過建立校企合作機制,鼓勵學生參與實際密碼開源項目,提升技術能力和項目管理能力。通過舉辦各類密碼開源技術競賽,如在中國密碼學會舉辦的全國密碼技術競賽中增加密碼開源技術內容或者增設密碼開源技術賽道,激發學生和密碼從業人員開源熱情,挖掘并密碼開源生態研究報告(2024年)56培養具有潛力的創新人才。鼓勵密碼開源產業和教育融合。鼓勵密碼開源產業和教育融合。推動產業界與教育機構深度合作,通過實習、聯合研發項目等方式,為學生提供接觸行業前沿技術和需求的機會。推進教育課程內容與行業需求相匹配,以反映最新的技術趨勢和實踐。建立密碼開源人才實訓基地,通過產學研用的緊密結
122、合,加速理論到實踐的轉化過程,實現人才培養與產業發展的雙贏。加強密碼開源知識庫和資源庫建設。加強密碼開源知識庫和資源庫建設。建設高質量的密碼開源知識庫和資源庫,為密碼開源人才提供豐富的學習資源和信息支持。建立開源項目展示與交流平臺,促進知識共享和傳播。加強與國際密碼開源社區的交流和合作,引進先進的教育理念和教學資源,不斷提升我國密碼開源人才隊伍的整體水平。密碼開源生態研究報告(2024年)57參考文獻1OpenSSL 漏洞公布地址:https:/OpenSSL-library.org/news/vulnerabilities/2 Mbedtls漏洞公布地址:https:/mbed-tls.re
123、adthedocs.io/en/latest/security-advisories/3Wolfssl漏洞公布地址:https:/ Details:https:/ DATABASE:https:/nvd.nist.gov/8Blessing,Jenny,MichaelA.Specter,and Daniel J.Weitzner.Cryptography in the Wild:An EmpiricalAnalysis of Vulnerabilities inCryptographic Libraries.Proceedings of the 19thACMAsia Conferenceon
124、 Computer and Communications Security.2024.9 Heartbleed Bug:https:/ https:/ Veytsman,How to take over the computer of any Java(orClojure or Scala)developer,https:/puter/blog/how-to-take-over-the-computer-of-any-java-or-clojure-or-scala-developer/,2014.13Newman Z,Meyers J S,Torres-Arias S.Sigstore:So
125、ftware signingfor everybodyC/Proceedings of the 2022ACM SIGSAC Conference onComputer and Communications Security.2022:2353-2367.14Bello,Luciano,Maximiliano Bertacchini,and Black Hat.Predictable PRNG in the vulnerable Debian OpenSSL package:the whatand the how.the 2nd DEF CON Hacking Conference.2008.
126、15Durumeric,Zakir,et al.The matter of heartbleed.Proceedings ofthe 2014 conference on internet measurement conference.2014.16Niels Provos.2023.Bcrypt at 25:ARetrospective on PasswordSecurity.USENIX Association.(2023).密碼開源生態研究報告(2024年)58https:/www.usenix.org/publications/loginonline/bcrypt-25-retrosp
127、ective-password-security17Wang,Xiaoyun,and Hongbo Yu.How to break MD5 and other hashfunctions.Annual international conference on the theory andapplications of cryptographic techniques.Berlin,Heidelberg:SpringerBerlin Heidelberg,2005.18商用密碼認證業務網.https:/ 年),中國信息通信研究院。21榮景峰,劉新榮,賈培養,葛平原,陳穎,司喜絹,孫承一,張玉清(2023).開源密碼軟件供應鏈安全綜述。密碼學報,10(5),966-985.https:/doi.org/10.13868/ki.jcr.000651。22中國商用密碼行業現狀研究與發展前景分析報告(2023-2030年),觀研天下(北京)信息咨詢有限公司。密碼開源生態研究報告(2024年)59聯系方式:聯系方式:中國信息通信研究院 云計算與大數據研究所地址:北京市海淀區花園北路 52號郵編:100191郵箱:網址: