您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [“密码+”应用推进计划]:密码开源生态研究报告(2024年) - 发现报告

密码开源生态研究报告(2024年)

信息技术 2024-11-30 - “密码+”应用推进计划 付瑶瑶瑶瑶瑶瑶瑶瑶瑶瑶瑶瑶瑶
报告封面

“密码+”应用推进计划 2024年11月 版权声明 本报告版权属于“密码+”应用推进计划,并受法律保护。转载、摘编或利用其它方式使用本报告文字或者观点的,应注明“来源:“密码+”应用推进计划”。违反上述声明者,将追究其相关法律责任。 编写委员会 ❖编写单位(排名不分先后): “密码+”应用推进计划、中国信息通信研究院云计算与大数据研究所、华为技术有限公司、京东科技信息技术有限公司、北京大学、中国科学院信息工程研究所、北京航空航天大学、北京信安世纪科技股份有限公司、西安电子科技大学、上海市数字证书认证中心有限公司、中电科网络安全科技股份有限公司、北京豪密科技有限公司、西安安盟智能科技股份有限公司、北京江南天安科技有限公司、宁夏大学 ❖编写人员(排名不分先后):赵欣怡、徐秀、马聪、何阳、陆永健、朱丽斌、彭华、陈文静、刘旭、关志、贾世杰、李冰雨、何逸飞、焦靖伟、程珂、牛莹姣、张志金童、张岳熙、杨晶、徐松泉、付长春、张华、赵锋、温旭杰、张钊、刘政杰、冯晔、马自强 前言 随着信息技术的飞速发展,密码技术作为保障信息安全的核心技术,其重要性日益凸显。密码开源作为一种新型的软件开发协作模式,正逐渐受到业界的广泛关注。然而,密码开源生态的复杂性和多样性也带来了诸多问题和挑战,如何构建健康、可持续的密码开源生态,成为当前信息安全领域亟待解决的重要问题。 本研究报告旨在全面剖析密码开源生态发展现状、面临的问题和挑战,并探索未来发展趋势与建议。报告首先从密码开源生态概念入手,详细介绍了密码开源生态架构,跟踪了密码开源生态发展特点,提出了构建密码开源生态对于促进技术创新、提高安全性、降低开发成本、促进产业生态繁荣、促进人才培养、提升国际竞争力等方面具有重要意义。 在此基础上,报告对密码开源生态发展现状进行了深入剖析,包括相关政策、典型项目、商业模式及生态产业链,为深入理解密码开源生态提供了丰富的数据和案例支持。另外,报告指出,当前密码开源生态面临着发展缓慢、标准体系匮乏、供应链安全风险、技术安全风险、知识产权及法律风险及人才建设不足等多重挑战,严重制约了密码开源生态发展。 最后,本研究报告从深化密码开源生态发展、推动密码开源标准体系建设、加强密码开源供应链安全管理、加强密码开源技术研发、推动密码开源知识产权保护、健全密码开源人才队伍等方面给出了密码开源生态发展建议。 目录 1.密码开源生态概述..........................................................................3 1.1密码开源的概念...................................................................31.2密码开源生态架构...............................................................51.3密码开源生态发展特点.......................................................71.4构建密码开源生态的意义.................................................13 2.密码开源生态发展现状................................................................14 2.1密码开源相关政策.............................................................142.2典型密码开源项目.............................................................172.3密码开源商业模式.............................................................302.4密码开源生态产业链.........................................................32 3.密码开源生态面临的问题和挑战..............................................35 3.1密码开源生态发展较为缓慢.............................................353.2密码开源标准体系待制定.................................................363.3密码开源面临供应链安全风险........................................373.4密码开源面临技术安全风险.............................................403.5密码开源面临知识产权及法律风险................................463.6密码开源人才建设仍存在不足........................................48 4.密码开源生态发展趋势与建议...................................................50 4.1密码开源生态未来发展趋势.............................................504.2密码开源生态发展建议.....................................................51 参考文献...........................................................................................57 缩略语 JCEJavaCryptographyExtensionJava加密扩展OSIOpenSourceInitiative开放源代码促进会SBOMSoftwareBillofMaterials软件物料清单 图表目录 图表1密码开源生态架构图..........................................................5图表2 NIST密码模块产品认证数据及占比统计......................11图表3Github平台密码开源项目类型统计图.............................18图表4典型国外开源密码库..........................................................19图表5典型国内开源密码库..........................................................24图表6密码开源生态产业链..........................................................33图表7开源密码软件供应链相关漏洞事件.................................37图表8开源密码库安全漏洞占比.................................................40 1.密码开源生态概述 1.1密码开源的概念 开源作为一种协作模式,推动了软件行业的发展。开源形态最早起源于上世纪60年代,软件作为硬件附属品进行自由分发,并提供源代码。1983年,RichardMatthewStallman发起了GNU项目,标志着自由软件运动的开始,通过允许用户自由地使用、修改和分发软件源代码以促进软件行业分工协作和创新发展。开源软件的明确定义由OSI于1998年提出,主要强调了开放源码和开源许可证,即开源软件允许用户在遵循特定许可协议的前提下,对软件的源代码进行查看、修改、传播等操作,但其源代码的所有权仍属于版权所有者。开源软件一般都具有以下特点: 源代码开放透明:开源软件的源代码对所有用户可见,任何人都可以查看并修改程序,提高软件的透明度和信任度; 自由分发与派生:用户可自由地复制和重新分发开源软件,同时还可以修改开源软件的源代码,并基于修改后的版本创建新的软件产品; 协作与创新:开源软件通常由一个社区驱动,社区成员可以是开发者、用户、测试者或文档编写者,开源软件的开发模式鼓励协作与创新,有助于软件更快地发展并适应不断变化的需求; 具备许可条款:开源软件分发时通常伴随着一个开源许可证,如GNU通用公共许可证、Apache许可证、MIT许可证等,这些许 可证定义了软件的使用、修改和分发的条款。 开源软件的出现和发展,对计算机软件行业产生了深远影响,促进了软件的创新和发展,并通过知识和资源的共享降低了软件开发成本,提升了软件质量和安全。另外,开源协作模式推动了全球范围内的技术交流和合作,促进了技术的普及和应用。如Linux系统开源使得全球开发者可以共同查看和改进代码,加速了漏洞的发现和修复,增强了系统的安全性和稳定性。 新技术发展驱动密码行业软件化发展趋势,基于开源方式的密码软件开发愈发流行。当前,各国通过立法、管理条例等加速了密码技术的应用和发展,美国、欧盟等国的国家战略及我国相关法律中均涉及了密码应用的要求,围绕密码体系构建的安全技术战略成为支撑各国数字主权建设的重要组成部分。同时,由于云计算等技术的普及,通过软件提供密码能力相比硬件具有部署灵活、可快速扩展、成本更低等天然优势,密码逐渐朝着软件化的趋势发展。伴随着产业发展,现代软件开发模式已进入规模化协作模式,推动密码软件相关行业逐渐形成开源的开发模式。密码开源主要是指对密码类安全软件源代码进行公开发行,允许用户进行查看、使用、修改和分发。密码开源与传统的软件开源相比主要是开源的对象不同,密码开源的对象主要是与密码学和安全性相关的算法库和应用软件(以下简称为开源密码库和开源密码软件),这些开源密码库和开源密码软件通常包含丰富的密码学功能,如对称加密、非对称加密、杂凑函数、随机数生成等,能够满足不同应用场景下的安全需求, 广泛应用于Web服务器、电子邮件服务器、VPN、区块链、物联网等多个领域。 1.2密码开源生态架构 密码开源生态是围绕开源密码技术形成的一个多层次、多角色的生态组织,通过组织内部的协作和共享,推动密码技术的发展和普及,助力密码安全产业良性发展。密码开源生态涉及密码标准、密码实现、密码接口、密码应用等多个层次以及使用者、贡献者、运营者等多个角色,密码开源生态架构图如下图所示: 密码开源生态架构图各个层次说明如下: 密码标准层主要涉及密码算法的研究和制定,算法类别包括对称算法、非对称算法、杂凑算法、消息认证码等,主流的国际算法和国密算法包括AES、RSA、ECC、SHA-1、SM2、SM3、SM4、SM9等。 密码实现层主要涉及对密码算法和协议的实现,通过将各种算法组合成一个标准的密码学组件或工具库,对业务层提供统一的调用 接 口 。 主 流 的 密 码 算 法 库 包 括OpenSSL、BouncyCastle、mbedTLS、wolfSSL等。 密码接口层主要涉及密码算法接口标准制定,根据不同的软硬件及使用场景定义不同的算法接口标准以提升密码软件的兼容性和易用性,使得上层业务应用基于标准接口使用密码算法库时可以轻松替换算法库的不同实现。常见的密码算法接口包括PKCS#11、JCE、GB/T36322等。 密码应用层主要涉及基于密码算法库开发的用于实现具体业务功能或解决实际用户需求的各种功能软件。例如浏览器软件都实现了Https协议,用户可通过SSL安全协议浏览各种网站;又例如远程运维软件Xshell基于SSH协议实现了登录用户的身份认证及数据加密传输,用户可通过Xshell进行远程机器运维。 最上层的