《网络安全技术 软件物料清单数据格式.docx》由会员分享,可在线阅读,更多相关《网络安全技术 软件物料清单数据格式.docx(32页珍藏版)》请在优知文库上搜索。
1、35.030ICSCCS1.80e目中华人民共和国家标准GB/TXXXXX-XXXX网络安全技术软件物料清单数据格式Cybersecuritytechnology-Softwarebillofmaterialsdataformat征求意见稿2024-04-26在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上。XXXX-XX-XX发布XXXX-XX-XX实施国家市场监督管理总局国家标准化管理委员会目次前言II弓I言III1范围42规范性引用文件43术语和定义44缩略语55软件物料清单组成56清单文件格式要求67软件物料清单元素6附录A(资料性)软件物料清单必要字段21附录B(资料性)
2、软件物料清单实例参考23参考文献32本文件按照GB/T1.1-2020标准化工作导则第1部分:标准化文件的结构和起草规则的规定起草。本文件由全国网络安全标准化技术委员会(SAC/TC260)提出并归口。本文件起草单位:水利部信息中心、国家能源局信息中心、中国科学院信息工程研究所、中国信息通信研究院、南方电网数字电网集团有限公司、西安交通大学、中国铁道科学研究院集团有限公司电子计算技术研究所、杭州默安科技有限公司。本文件主要起草人:付静、詹全忠、张潮、沈智镇、邹希、栗蔚、郭雪、吴江伟、吴桐、刘玉岭、姜政伟、姚叶鹏、范子静、刘家豪、王定波、关声涛、王海军、刘炫、晋武侠、杨立鹏、张维伦、何娟、沈锡铺
3、、孟瑾、满弘鹏。软件物料清单描述了软件组成信息,以提升软件产品的成分透明度,为软件的供应链安全管理提供支撑。本文件提出了软件物料清单数据格式,以实现相关信息在软件生产、销售和使用各相关方之间的交换和使用。软件物料清单数据格式描述软件的内部组成和内外部依赖,包括构成软件的组件、文件、代码片段及其依赖关系,软件运行依赖的基础环境和外部网络服务,以及软件生产依赖的开发工具,并且提供必要的安全信息,为软件物料清单信息的生成、共享和使用提供参考。网络安全技术软件物料清单数据格式1范围本文件规定了软件物料清单数据格式,包括软件物料清单组成、软件物料清单文件格式要求和软件物料清单元素,以及软件物料清单中各元
4、素的属性和属性值格式等信息。本文件适用于指导软件供应链相关方之间进行软件物料清单信息的生成、共享和使用。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T11457-2006信息技术软件工程术语GB/T25069-2022信息安全技术术语GB/T36475-2018软件产品分类3术语和定义GB/T25069-2022中界定的以及下列术语和定义适用于本文件。?1软件产品softwareproduct向用户提供的计算机软件、信息系统或设备中嵌
5、入的软件或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。注1:本文件中软件产品简称为软件。来源:GB/T364752018,3.1.1,有修改软件物料清单softwarebillofmaterials描述软件产品的组成成分、内外部依赖关系、来源信息以及潜在的安全风险信息的清单。注1.本文件中清单为软件物料清单的简称。外部网络服务externaIservice通过网络为软件运行提供必要功能的非软件自身具备的应用服务,例如:域名服务、CDN服务、邮件发送、短信发送、消息推送、支付接口等。制品artifact由某一种软件开发过程所使用的或所产生的一种信息的文件。制品的实例有模型、源
6、文件、文本和二进制可执行文件。来源:GB/T11457-2006,2.76,有修改4缩略语CPE:通用平台枚举(COmmonPlatformEnumeration)HTTP:超文本传输协议(HypertextTransferProtocol)JSON:JaVaSCriPt对象标记语言(JavaScriptObjectNotation)PUR1.:包统一资源定位符(PackageUniformResource1.ocators)RPC:远程过程调用协议(RemoteProcedureCallProtocol)RTP:实时传输协议(ReaI-TinleTransportProtocol)SBOMD
7、F:软件物料清单数据格式(SoftwareBillofMaterialsDataFormat)SMTP:简单邮件传输协议(SinlPIeMailTransferProtocol)UR1.:统一资源定位符(UniformResource1.ocator)UUID:通用唯一识别码(UniversallyUniqueIdentifier)5软件物料清单组成特定版本的软件应有一份对应的软件物料清单。软件物料清单由基本信息、软件组成信息、外部依赖信息、安全信息、扩展信息和签名信息六大类信息组成,每类信息包括若干清单元素(简称“元索”)。本文件对每个清单元素所涉及的字段进行了规定。图1给出了软件物料清单的
8、组成,其中:a)基本信息:描述软件和软件物料清单的标识、来源等基本信息,包括:软件信息和清单信息;b)软件组成信息:描述软件组成成分、成分来源及其依赖关系的信息,包括:组件信息、文件信息、代码片段信息和内部依赖信息;c)外部依赖信息:描述软件开发、部署、运行、更新所依赖的外部工具、运行环境、网络服务等必需条件及其来源的信息,包括:外部网络服务信息、基础环境信息和开发工具信息;注:外部指不包含在软件中的功能、服务、特性等。d)安全信息:描述软件自身安全和供应链安全管理相关的信息,包括网络服务接口信息、补丁信息、许可证信息、安全漏洞、配置风险和生命周期维护中断风险信息;e)扩展信息:描述本文件中未
9、定义的其他软件物料信息;f)签名信息:描述用于验证清单完整性的数字证书和签名信息,应使用符合国家或行业规定的机构签发的数字证书。软件物料清单基本信息软件信息清单信息软件组成信息组件信息(文件信息代码片段信息Il内部依赖信息外部依赖信息外部网络服务信息基础环境信息11开发工具信息网络服务接口信息补丁信息安全信息配置风险生命周期维护中断风险许可证信息安全漏洞扩展信息签名信息图1软件物料清单组成示意图在不同的使用场景中,并非所有元素和元素字段都是必要信息,本文件规定了支持清单基本功能的最小元素集,包括软件信息、清单信息、组件信息、内部依赖信息和签名信息等元素。最小元素集的必要字段详见附录A。6清单文
10、件格式要求软件物料清单文件为承载软件物料清单信息的一个或一组文本文件,清单文件格式应满足以下要求:a)应支持人类容易理解和解释的格式;b)应支持自动化工具解析处理;c)应支持独立于编程语言的通用格式,包括JSON、XM1.等;d)清单文件的命名应以SBOM)F为后缀,例如:*.SBOMDF.json”。7软件物料清单元素71概述本章按照软件物料清单信息类别,对每一类别所涉及的清单元素和元素字段的进行描述,每一字段的描述包含字段名、字段描述、字段类型、字段必要性,具体描述规范详见表1。本章所涉及数据格式描述以JSON格式为例,其他格式可参照转换。表1清单信息字段描述属性属性描述字段名字段命名,应
11、采用无缝连写的英文词汇或词汇组;单词汇采用小写,例如:“signature”;多词汇采用驼峰命名法,即首个词汇小写,后续词汇依次首字母大写,例如:SoftwarcName。字段描述字段的中文名称及其含义解释。字段类型字段对应数据类型,应为如下类型中的一类:string(字符串)、ObjeCt(对象)、number(数字)、array(数组)、enum(枚举)、boolean(布尔)。字段必要性字段必要性应为如下三种情况之一:a)必选项:清单中必须包含该字段,并为该字段生成至少一个数据实体。b)可选项:清单中可根据实际情况选择性的包含该字段。C)条件必选:某些条件下必须包含该字段,包括: 当选用
12、另一个字段时,此字段为必选; 当另一个字段选择了一个特定值时,此字段为必选。79基本信息类别7. 2.1类别概述基本信息类别应包括如下元素:a)软件信息:包含软件所涉及的标识、供应商、来源、授权、完整性等信息;b)清单信息:包含软件物料清单所涉及的版本、标识、创建、获取等信息。8. 2.2软件信息软件信息包括如下字段:a)软件名称:软件的名称,用于标识和区分软件;b)软件版本:软件的版本编号;c)杂凑算法:对软件的制品进行完整性保护的杂凑算法名称;d)消息摘要:对软件的制品通过杂凑运算获取的摘要值;e)软件产品的供应商列表,每个供应商包括如下字段:1)供应商:软件供应商的注册名称;2)供应商类
13、型:软件供应商的类别,包括:-integrator:集成商-developer:开发商-agent:代理商-other:其他3)所属区域:软件供应商注册地所属国家省市名称,格式为“国家-省-市,最小区域至城市,例如:“中国-北京”和“中国-广东-深圳”;4)原始供应商:编写软件的人员或组织的名称,供应商类型为集成商或代理商时.,本字段为必选项;f)获取途径:获取开源软件的渠道,包括:-CodeHostingPlatform:代码托管平台-thirdPartyDownIoadSite:第三方下载站点-openSourceCommunity:开源社区g)许可证名称:列出软件的许可证名称,许可证名称
14、(及其简称)遵循ISO/IEC5962-2021中关于许可证名称和缩略名的规定,如果许可证未在ISO/IEC5962-2021中定义,可以自定义名称;清单中所列出的许可证名称,可在清单安全类别信息(见7.5节)中找到对应的许可证信息(见7.5.4节)。h)授权期限:软件授权使用的截止日期,日期格式为“YYYYTM-DD”,如为永久有效,取值为“permanent”。软件信息的各字段描述见表2。表2软件信息字段描述字段名字段描述字段类型字段必要性SoftwareName软件名称string必选项SoftwareVersion软件版本string必选项integrityhashAlg杂凑算法str
15、ing必选项messageDigest消息摘要string必选项supplierSupplierName供应商string可选项SupplierType供应商类型enum(ofstring)可选项area所属区域string可选项Orig1.nalSuppliers原始供应商string条件必选acquisitiOnChanne1s获取途径cnum(ofstring)可选项IicenseName许可证名称string可选项1iCensingTerm授权期限string可选项7.2.3清单信息清单信息包括如下字段:a)清单格式名称:清单所采用格式标准的名称,固定值“SBOMDF”;b)格式版本:清单遵循的数据格式的版本,本文件对应版本号为“1.0”;c)清单标识:每个生成的清单