CN117118694A - 一种sbom加密传输方法及设备 - Google Patents

一种sbom加密传输方法及设备 Download PDF

Info

Publication number
CN117118694A
CN117118694A CN202311054461.2A CN202311054461A CN117118694A CN 117118694 A CN117118694 A CN 117118694A CN 202311054461 A CN202311054461 A CN 202311054461A CN 117118694 A CN117118694 A CN 117118694A
Authority
CN
China
Prior art keywords
sbom
file
public
software
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311054461.2A
Other languages
English (en)
Inventor
何晔
高思雨
徐文想
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Priority to CN202311054461.2A priority Critical patent/CN117118694A/zh
Publication of CN117118694A publication Critical patent/CN117118694A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种SBOM加密传输方法及设备,用以保障SBOM在传输过程中的完整和安全性。在该方法中,发送设备在生成第一软件材料清单SBOM文件后,使用随机密钥对第一SBOM文件进行加密得到第二SBOM文件,并使用来自接收设备的第一公私钥对中的第一公钥对随机密钥进行加密,使得拥有第一公私钥对的接收设备才可以解密随机密钥,保证由指定接收端接收SBOM文件。发送设备还会将使用本设备生成的第二私钥对第二SBOM文件进行加密得到的第三SBOM文件传输给接收设备,以使接收设备基于第二公私钥中的公钥对其进行解密,即可保证第三SBOM文件来自于指定的发送端。这样可以保证SBOM文件在传输过程中的完整性和安全性。

Description

一种SBOM加密传输方法及设备
技术领域
本申请涉及网络技术与安全领域,特别涉及一种SBOM加密传输方法及设备。
背景技术
软件物料清单(Software Bill of Materials,SBOM)通过包含软件组件和依赖项列表来增加软件交付的透明度。为了确保SBOM的全面和准确,则要求供应链中每个环节的软件供应商都需要提供全面的SBOM并及时更新分发。
同时,SBOM本身也是一个需要保护的数字文档,在软件供应链中需要保证SBOM的完整性和真实性,防止SBOM被篡改。因此,亟需一种对SBOM进行加密的方法。
发明内容
本申请提供一种SBOM文件加密传输方法及设备,用以保障SBOM文件传输过程中的安全,避免SBOM文件在传输过程中泄露。
第一方面,本申请实施例提供一种SBOM文件加密传输方法,应用于发送设备,该方法包括:
生成软件的第一软件材料清单SBOM文件;
使用随机密钥对所述第一SBOM文件进行对称加密,得到第二SBOM文件;
使用来自接收设备的第一公私钥对中的第一公钥对所述随机密钥进行加密,得到加密后的随机密钥;
使用第二公私钥对中的第二私钥对所述第二SBOM文件进行非对称加密,得到第三SBOM文件;
将所述加密后的随机密钥、所述第三SBOM文件发送给所述接收设备。
在该方法中,发送设备使用随机密钥对生成的第一SBOM文件进行一次加密,得到第二SBOM文件;并且,发送设备使用来自接收设备的第一公私钥对中的第一公钥对随机密钥进行加密,保证了由指定的接收设备对加密后的随机密钥进行解密,获取第一SBOM文件。另外,发送设备还可以使用第二公私钥对中的第二私钥对第二SBOM文件进行二次加密,使得接收设备使用发送设备的第二公私钥对中第二公钥对其解密,进而保证了接收设备接收到的文件来自于指定的发送设备。这样,可以保证SBOM文件在传输过程中的安全和保密性,可以避免被泄露篡改。
一种可选的实施方式为,所述生成软件的第一软件材料清单SBOM文件,包括:
获取所述软件的源代码包;
对所述源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件;
通过哈希算法确定所述源代码包的哈希值,并将所述源代码包的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
通过上述实施方式,发送设备可以基于软件的源代码包的依赖包管理配置文件生成初始SBOM文件。并且,还可以将源代码包的哈希值写入得到的初始SBOM文件中,来实现软件的源代码包与SBOM文件的唯一对应关系。
一种可选的实施方式为,所述生成软件的第一软件材料清单SBOM文件,包括:
对所述软件进行软件成分分析生成初始SBOM文件;
通过哈希算法确定所述软件的哈希值,并将所述软件的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
通过上述实施方式,发送设备可以直接对完成品的软件进行软件成分分生成初始SBOM文件,并将软件的哈希值写入初始SBOM文件,来实现软件与SBOM文件的唯一对应关系。
一种可选的实施方式为,所述方法还包括:
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第一摘要信息;
将所述第一摘要信息发送给所述接收设备。
通过上述实施方式,发送设备通过向接收设备发送第一摘要信息,可以使得接收设备根据接收到的一摘要信息对解密出的第一SBOM文件进行比对,判断SBOM文件是否被篡改。
第二方面,本申请实施例提供一种SBOM文件加密传输方法,应用于接收设备,该方法包括:
接收发送设备发送的第三SBOM文件和加密后的随机密钥;
使用第一公私钥对中的第一私钥对所述加密后的随机密钥进行解密,得到解密后的随机密钥;
使用来自所述发送设备的第二公私钥对中的第二公钥对所述第三SBOM文件进行解密,得到第二SBOM文件;
使用所述解密后的随机密钥对所述第二SBOM文件进行解密,得到第一SBOM文件。
在该方法中,接收设备可以使用第一公私钥对中的第一私钥对加密后的随机密钥进行解密,得到解密后的随机密钥,确保SBOM文件是发送给本设备的;接收设备还可以使用来自发送设备的第二公私钥中的第二公钥对第三SBOM文件进行一次解密得到第二SBOM文件,保证该文件来自于指定的发送设备。
一种可选的实施方式为,所述方法还包括:
接收所述发送设备发送的所述第一SBOM文件的第一摘要信息;
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第二摘要信息;
若确定所述第一摘要信息和所述第二摘要信息一致,则确定所述第一SBOM文件未被篡改;否则,确定所述第一SBOM文件被篡改。
通过上述实施方式,接收设备通过对解密得到的第一SBOM文件进行哈希计算,确定第一SBOM文件的第二摘要信息,并且通过摘要信息比对确定SBOM文件在传输过程中是否被篡改。
第三方面,本申请提供了一种发送设备,所述发送设备包括收发器和处理器。其中:
所述收发器,用于收发数据或信息;
所述处理器,与存储器耦合,用于调用所述存储器中的程序使得所述发送设备执行上述第一方面或及实现方式的方法。
第四方面,本申请提供了一种接收设备,所述接收设备包括收发器和处理器,其中:
所述收发器,用于收发数据或信息;
所述处理器,与存储器耦合,用于调用所述存储器中的程序使得所述接收设备执行上述第二方面或及实现方式的方法。
第五方面,本申请提供了一种SBOM加密传输装置,应用于发送设备,该装置包括:
生成单元,用于生成软件的第一软件材料清单SBOM文件;
加密单元,用于使用随机密钥对所述第一SBOM文件进行对称加密,得到第二SBOM文件;使用来自接收设备的第一公私钥对中的第一公钥对所述随机密钥进行加密,得到加密后的随机密钥;使用第二公私钥对中的第二私钥对所述第二SBOM文件进行非对称加密,得到第三SBOM文件;
发送单元,将所述加密后的随机密钥、所述第三SBOM文件发送给所述接收设备。
一种可选的实施方式为,所述生成单元具体用于:
获取所述软件的源代码包;
对所述源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件;
通过哈希算法确定所述源代码包的哈希值,并将所述源代码包的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
一种可选的实施方式为,所述生成单元具体用于:
对所述软件进行软件成分分析生成初始SBOM文件;
通过哈希算法确定所述软件的哈希值,并将所述软件的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
一种可选的实施方式为,所述生成单元还用于:
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第一摘要信息;
所述发送单元还用于:将所述第一摘要信息发送给所述接收设备。
第六方面,本申请提供了一种SBOM加密传输装置,应用于接收设备,该装置包括:
接收单元,用于接收发送设备发送的第三SBOM文件和加密后的随机密钥;
解密单元,用于使用第一公私钥对中的第一私钥对所述加密后的随机密钥进行解密,得到解密后的随机密钥;使用来自所述发送设备的第二公私钥对中的第二公钥对所述第三SBOM文件进行解密,得到第二SBOM文件;使用所述解密后的随机密钥对所述第二SBOM文件进行解密,得到第一SBOM文件。
一种可选的实施方式为,所述接收单元还用于:
接收所述发送设备发送的所述第一SBOM文件的第一摘要信息;
所述解密单元还用于:
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第二摘要信息;
若确定所述第一摘要信息和所述第二摘要信息一致,则确定所述第一SBOM文件未被篡改;否则,确定所述第一SBOM文件被篡改。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面中任意一种SBOM加密传输方法的步骤。
第三方面、第五方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,第四方面、第六方面中任意一种实现方式所带来的技术效果可参见第二方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种SBOM加密传输方法的应用场景示意图;
图2本申请实施例提供的一种SBOM加密传输方法的流程示意图;
图3本申请实施例提供的一种SBOM文件的加密方法的流程示意图;
图4本申请实施例提供的另一种SBOM加密传输方法的流程示意图;
图5本申请实施例提供的一种SBOM文件的解密方法的流程示意图;
图6为本申请实施例提供的一种SBOM加密传输方法的交互流程示意图;
图7为本申请实施例提供的一种发送设备的结构示意图;
图8为本申请实施例提供的一种接收设备的结构示意图;
图9为本申请实施例提供的一种SBOM加密传输装置的结构框图;
图10为本申请实施例提供的另一种SBOM加密传输装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面对文中出现的一些术语进行解释:
(1)软件物料清单(Software Bill of Materials,SBOM),指一个软件产品的物料清单,即该软件在开发过程中所采用的所有“原材料”相关信息及其供应链上下游依赖关系的集合。
目前常用的SBOM文件标准为SPDX(Software package data exchange)和CycloneDX。其中,SPDX是一种标准的数据传输格式,它捕获与出处、许可和安全相关的关键信息。CycloneDX是根据NTIA制定的标准,CycloneDX可以被描述为“轻量级SBOM标准”,设计用于应用程序安全环境和供应链组件分析。CycloneDX SBOM可以表示为XML文件、JSON文件或协议缓冲。
(2)哈希算法(Hash Function),将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。典型的哈希算法包括信息摘要算法5(Message-Digest Algorithm 5,MD5)、SHA-1等算法。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前,由于SBOM本身是一个需要保护的数字文档,在软件供应链中需要保证SBOM的完整性和真实性,防止SBOM被篡改。因此,亟需一种对SBOM进行加密的方法。
基于上述问题,本申请实施例提供一种SBOM加密传输方法及设备,该方法包括:发送设备生成第一SBOM文件后,使用随机密钥对第一SBOM文件进行加密得到第二SBOM文件;并使用来自接收终端的第一公私钥对中的第一公钥对随机密钥进行加密,以及使用第二公私钥对中的第二私钥对第二SBOM文件进行二次加密得到第三SBOM文件;发送设备将加密后的随机密钥和第三SBOM文件发送给接收设备。接收设备在接收到第三SBOM文件和加密后的随机密钥后,使用第一公私钥对中的第一私钥对加密后的随机密钥进行解密得到解密后的随机密钥;接收设备使用来自发送设备的第二公私钥对中的第二公钥和解密后的随机密钥对第三SBOM文件进行二次解密,获取第一SBOM文件。这样,可以保证SBOM文件在传输过程中的完整性和安全性。
如图1所示,本申请实施例提供一种SBOM加密传输方法的应用场景。该应用场景为SBOM文件的分发和验证等安全场景。具体地,如图1所示,该应用场景包括发送设备10和接收设备20。
其中,发送设备10预先设置有来自接收设备20的第一公私钥对,接收设备20预先设置有来自发送设备10的第二公私钥对。
发送设备10生成软件的第一SBOM文件后,使用随机密钥对第一SBOM文件进行对称加密后,得到第二SBOM文件。发送设备10使用第一公私钥对中的第一公钥对随机密钥进行加密,得到加密后的随机密钥,可以保证由指定的接收设备获取第一SBOM文件。
发送设备10在对第一SBOM文件进行一次加密后,使用第二公私钥对中的第二私钥对第二SBOM文件进行非对称加密,得到第三SBOM文件。发送设备10将二次加密得到的第三SBOM文件和加密后的随机密钥发送给接收设备20。
接收设备20在接收到第三SBOM文件和加密后的随机密钥后,通过第一公私钥对中的第一私钥对随机密钥进行解密,得到解密后的随机密钥。接收设备20还可以使用第二公私钥对中的第二公钥和解密后的随机密钥对第三SBOM文件进行二次解密,获取第一SBOM文件。这样,可以保证SBOM文件在发送设备10和接收设备20之间传输的完整性和安全性。
如图2所示,本申请实施例提供一种SBOM加密传输方法,应用于发送设备,包括以下步骤:
S201:发送设备生成软件的第一SBOM文件。
在一些实施例中,发送设备可以基于软件本身或软件的源代码包生成第一SBOM文件。下面分别对上述两种生成第一SBOM文件的方式进行说明。
方式一:基于源代码包生成第一SBOM文件。
在一些实施例中,发送设备获取软件的源代码包,并对源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件。
发送设备通过哈希算法确定源代码包的哈希值,并将源代码包的哈希值写入初始SBOM文件,得到第一SBOM文件。
目前常用的SBOM文件标准为SPDX和CycloneDX。标准中对于软件包本身的描述信息,一般只有包名和版本信息,缺乏防篡改的唯一性对称关系。因此,本申请通过计算源代码包的哈希值并将其写入初始SBOM文件,可以使得后续通过比对SBOM文件记录的哈希值确定软件包是否发生修改。
在一些示例中,当初始SBOM文件标准为SPDX标准时,可以将源代码包的哈希值写入初始SBOM文件的Documentcomment字段,以字符串格式写入。例如,源代码包的哈希值写入初始SBOM文件的代码如下所示:
{“SPDXID”:“SPDXRef-DOCUMENT”,
“spdxVersion”:“SPDX-2.3”,
“name”:“glibc-v2.3”,
“dataLicense”:“CC0-1.0”,
“comment”:“”,
…}。
其中,发送设备在初始SBOM文件中添加上述字段值,对初始SBOM文件格式无任何影响,不会影响SBOM文件的机器可读性。
在一些示例中,当初始SBOM文件标准为CycloneDX标准时,可以将源代码包的哈希值写入初始SBOM文件的properties字段,name字段写入为“Hash”,value字段写入源代码包的哈希Hash值。例如,源代码包的哈希值写入初始SBOM文件的代码如下所示:
{“bomFormat”:“CycloneDX”,
“specVersion”:“1.4”,
“metadata”:{
“properties”:[{
“name”:“Hash”,
“value”:“”}]
…}。
其中,发送设备在初始SBOM文件中添加上述字段值,对初始SBOM文件格式无任何影响,不会影响SBOM文件的机器可读性。
在一些实施例中,发送设备还可以通过哈希算法确定第一SBOM文件的哈希值,并将该哈希值作为第一SBOM文件的第一摘要信息。发送设备将第一摘要信息发送给接收设备,以使接收设备可以通过比对摘要信息确定SBOM文件是否被篡改。
S202:发送设备使用随机密钥对第一SBOM文件进行对称加密,得到第二SBOM文件。
在一些实施例中,发送设备生成随机密钥,并使用生成的随机密钥对第一SBOM文件进行对称加密,得到第二SBOM文件。
S203:发送设备使用来自接收设备的第一公私钥对中的第一公钥对随机密钥进行加密,得到加密后的随机密钥。
在一些实施例中,发送设备可以预先存储来自接收设备的第一公私钥对中的第一公钥。示例性的,接收设备可以生成第一公私钥对,并将第一公钥发送给发送设备。发送设备存储接收到的第一公钥,并在确定向接收设备发送SBOM文件时,使用该第一公钥对随机密钥进行加密。
在本申请实施例中,发送设备使用来自接收设备的第一公钥对随机密钥进行加密,可以保证由拥有第一公私钥对中的第一公钥的接收设备解密随机密钥,进而解密获取第一SBOM文件。这样,可以保证SBOM文件在传输过程中,不会被泄露,由指定接收设备获取。
S204:发送设备使用第二公私钥对中的第二私钥对第二SBOM文件进行非对称加密,得到第三SBOM文件。
在一些实施例中,发送设备生成第二公私钥对,并使用第二公私钥对中的第二私钥对第二SBOM文件进行加密,得到第三SBOM文件。
发送设备在生成第二公私钥对后,将第二公私钥对中的第二公钥发送给接收设备,使得接收设备使用接收到的第二公钥对接收到的文件进行解密,即可保证文件来自于指定的发送端,防止中间人向接收设备发送错误的SBOM文件。
S205:发送设备将加密后的随机密钥和第三SBOM文件发送给接收设备。
在本申请实施例中,发送设备使用随机密钥对生成的第一SBOM文件进行一次加密,得到第二SBOM文件;并且,发送设备使用来自接收设备的第一公私钥对中的第一公钥对随机密钥进行加密,保证了由指定的接收设备对加密后的随机密钥进行解密,获取第一SBOM文件。另外,发送设备还可以使用第二公私钥对中的第二私钥对第二SBOM文件进行二次加密,使得接收设备使用发送设备的第二公私钥对中第二公钥对其解密,进而保证了接收设备接收到的文件来自于指定的发送设备。这样,可以保证SBOM文件在传输过程中的安全和保密性,可以避免被泄露篡改。
如图3所示,本申请实施例提供一种SBOM文件的加密方法,应用于接收设备,包括以下步骤:
S301:发送设备确定软件是否有源代码包;若是,则执行步骤S302;若否,则执行步骤S305。
S302:发送设备获取源代码包。
S303:发送设备对源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件。
S304:发送设备通过哈希算法确定源代码包的哈希值。
S305:发送设备对软件进行软件成分分析生成初始SBOM文件。
S306:发送设备通过哈希算法确定软件的哈希值。
S307:发送设备将哈希值写入初始SBOM文件得到第一SBOM文件。
S308:发送设备通过哈希算法确定第一SBOM文件的哈希值,并将哈希值作为第一SBOM文件的第一摘要信息。
S309:发送设备将第一摘要信息发送给接收设备。
S310:发送设备使用随机密钥对第一SBOM文件进行对称加密,得到第二SBOM文件。
S311:发送设备使用来自接收设备的第一公私钥对中的第一公钥对随机密钥进行非对称加密,得到加密后的随机密钥。
S312:发送设备将加密后的随机密钥发送给接收设备。
S313:发送设备使用第二公私钥对中的第二私钥对第二SBOM文件进行非对称加密,得到第三SBOM文件。
S314:发送设备将第三SBOM文件发送给接收设备。
基于图3所示内容,发送设备将第一SBOM文件的第一摘要信息发送给接收设备,可以使得接收设备在获取第一SBOM文件后,基于摘要信息确定第一SBOM文件在传输过程是否被篡改。另外,发送设备使用来自接收设备的第一公钥对随机密钥进行加密,可以保证由指定接收设备获取第一SBOM文件,从而可以保证SBOM文件在传输过程中不被泄露。
如图4所示,本申请实施例提供一种SBOM加密传输方法,应用于接收设备,包括以下步骤:
S401:接收设备接收发送设备发送的第三SBOM文件和加密后的随机密钥。
在一些实施例中,接收设备还可以接收来自发送设备的第一摘要信息。其中,第一摘要信息为第一SBOM文件的未加密的摘要信息。
S402:接收设备使用第一公私钥对中的第一私钥对加密后的随机密钥进行解密,得到解密后的随机密钥。
在一些实施例中,接收设备预先生成第一公私钥对,并将第一公私钥对中的第一公钥发送给发送设备,以使发送设备能够根据第一公钥对随机密钥进行加密,这样可以保证由拥有第一私钥的接收设备对加密后的随机密钥进行解密,即可保证由指定的接收设备解密SBOM文件,有效地解决了SBOM文件在传输过程中的信息泄露问题。
S403:接收设备使用来自发送设备的第二公私钥对中的第二公钥对第三SBOM文件进行解密,得到第二SBOM文件。
在一些实施例中,接收设备可以预先接收发送设备发送的第二公钥,并在接收到发送设备发送的第三SBOM文件后,使用第二公钥对其进行解密得到第二SBOM文件。
S404:接收设备使用解密后的随机密钥对第二SBOM文件进行解密,得到第一SBOM文件。
在本申请实施例中,接收设备使用来自发送设备的第二公钥对第三SBOM文件进行解密,可以保证SBOM文件来自于指定发送设备,避免用户触发的错误SBOM文件。
在一些实施例中,接收设备在获取到第一SBOM文件后,还可以通过哈希算法确定第一SBOM文件的哈希值,并将该哈希值作为第一SBOM文件的第二摘要信息。
接收设备在得到第二摘要信息后,可以通过与第一摘要信息进行比对确定SBOM文件在传输过程中是否被篡改。
接收设备若确定第二摘要信息与第一摘要信息一致时,则确定第一SBOM文件未被篡改;否则,接收设备确定第一SBOM文件在传输过程中被篡改。
如图5所示,本申请实施例提供一种SBOM文件的解密方法,应用于接收设备,包括以下步骤:
S501:接收设备接收加密后的随机密钥。
S502:接收设备接收第三SBOM文件。
S503:接收设备接收第一SBOM文件的第一摘要信息。
其中,S501-S503可以是同步执行的,即接收设备接收加密后的随机密钥、第三BOM文件和第一摘要信息。
S504:接收设备使用第一公私钥对中的第一私钥对加密后的随机密钥进行解密,得到解密后的随机密钥。
S505:接收设备使用来自发送设备的第二公私钥对中的第二公钥对第三SBOM文件进行解密,得到第二SBOM文件。
S506:接收设备使用解密后的随机密钥对第二SBOM文件进行解密,得到第一SBOM文件。
S507:接收设备通过哈希算法确定第一SBOM文件的哈希值,并将哈希值作为第一SBOM文件的第二摘要信息。
S508:接收设备确定第二摘要信息与第一摘要信息是否一致;若是,则执行步骤S509;若否,则执行步骤S510。
S509:接收设备确定第一SBOM文件未被篡改。
S510:接收设备确定第一SBOM文件被篡改。
基于图5所示的内容,接收设备使用来自发送设备的第二公钥对SBOM文件进行解密,可以保证SBOM文件来自于指定的发送设备。另外,接收设备还可以通过计算解密得到的第一SBOM文件的摘要信息,确定第一SBOM文件是否在传输过程中被篡改,从而可以保证SBOM文件在传输过程中的完整性和安全性。
如图6所示,本申请实施例提供一种SBOM加密传输方法的交互流程示意图,包括以下步骤:
S601:接收设备向发送设备发送第一公私钥对中的第一公钥。
S602:发送设备向接收设备发送第二公私钥对中的第二公钥。
S603:发送设备生成第一SBOM文件。
S604:发送设备使用随机密钥对第一SBOM文件进行对称加密,得到第二SBOM文件。
S605:发送设备使用第一公钥对随机密钥进行非对称加密,得到加密后的随机密钥。
S606:发送设备使用第二公私钥对中的第二私钥对第二SBOM文件进行非对称加密,得到第三SBOM文件。
S607:发送设备通过哈希算法确定第一SBOM文件的哈希值,并将该哈希值作为第一SBOM文件的第一摘要信息。
S608:发送设备将加密后的随机密钥、第三SBOM文件和第一摘要信息发送给接收设备。
S609:接收设备使用第一公私钥对中的第一私钥对加密后的随机密钥进行解密得到解密后的随机密钥。
S610:接收设备使用第二公钥对第三SBOM文件进行解密,得到第二SBOM文件。
S611:接收设备使用解密后的随机密钥对第二SBOM文件进行解密,得到第一SBOM文件。
S612:接收设备通过哈希算法确定第一SBOM文件的哈希值,并将哈希值作为第一SBOM文件的第二摘要信息。
S613:接收设备通过比对第一摘要信息和第二摘要信息是否一致,确定第一SBOM文件是否被篡改。
在一些实施例中,若第一摘要信息与第二摘要信息一致,则接收设备确定第一SBOM文件未被篡改。若第一摘要信息与第二摘要信息不一致,则接收设备确定第一SBOM文件被篡改。
基于图6所示的内容,发送设备通过使用来自接收设备的第一公钥对随机密钥进行加密,可以保证由指定接收设备对SBOM文件进行解密获取;并且,接收设备在接收到SBOM文件后,使用来自发送设备的第二公钥对第三SBOM文件进行解密,可以保证SBOM文件来自指定的发送设备,避免用户错误发送。另外,接收设备在获取到第一SBOM文件后,可以通过计算该文件的第二摘要信息,与接收到的发送设备发送的未加密的第一SBOM文件的第一摘要信息进行比对,确定第一SBOM文件在传输过程中是否被篡改,从而可以保证SBOM文件在传输过程中不被泄露。
与上述SBOM加密传输方法的实施例相对应地,本申请实施例还提供了一种发送设备,如图1中所示的发送设备10。
在该实施例中,发送设备的结构如图7所示,发送设备包括存储器71,收发器72以及一个或多个处理器73。
存储器71,用于存储有可在处理器73上运行的计算机程序;
收发器72,用于与收发数据或信息,其中,收发器72可以是通讯模块;
处理器73,用于生成软件的第一软件材料清单SBOM文件;使用随机密钥对所述第一SBOM文件进行对称加密,得到第二SBOM文件;使用来自接收设备的第一公私钥对中的第一公钥对所述随机密钥进行加密,得到加密后的随机密钥;使用第二公私钥对中的第二私钥对所述第二SBOM文件进行非对称加密,得到第三SBOM文件;通过收发器72将所述加密后的随机密钥、所述第三SBOM文件发送给所述接收设备。
一种可选的实施方式为,处理器73具体用于:
获取所述软件的源代码包;
对所述源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件;
通过哈希算法确定所述源代码包的哈希值,并将所述源代码包的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
一种可选的实施方式为,处理器73具体用于:
对所述软件进行软件成分分析生成初始SBOM文件;
通过哈希算法确定所述软件的哈希值,并将所述软件的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
一种可选的实施方式为,处理器73还用于:
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第一摘要信息;
通过收发器72将所述第一摘要信息发送给所述接收设备。
与上述SBOM加密传输方法的实施例相对应地,本申请实施例还提供了一种接收设备,如图1中所示的接收设备20。
在该实施例中,接收设备的结构如图8所示,量子发生器包括存储器81,收发器82以及一个或多个处理器83。
存储器81,用于存储有可在处理器83上运行的计算机程序;
收发器82,用于与收发数据或信息,其中,收发器82可以是通讯模块;
处理器83,用于通过收发器82接收发送设备发送的第三SBOM文件和加密后的随机密钥;使用第一公私钥对中的第一私钥对所述加密后的随机密钥进行解密,得到解密后的随机密钥;使用来自所述发送设备的第二公私钥对中的第二公钥对所述第三SBOM文件进行解密,得到第二SBOM文件;使用所述解密后的随机密钥对所述第二SBOM文件进行解密,得到第一SBOM文件。
一种可选的实施方式为,处理器83还用于:
通过收发器82接收所述发送设备发送的所述第一SBOM文件的第一摘要信息;
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第二摘要信息;
若确定所述第一摘要信息和所述第二摘要信息一致,则确定所述第一SBOM文件未被篡改;否则,确定所述第一SBOM文件被篡改。
基于同一发明构思,本申请实施例中还提供了一种SBOM加密传输装置,由于该装置解决问题的原理与上述SBOM加密传输方法相似,因此该装置可以参见上述方法实施例实施,重复之处不再赘述。
如图9所示,本申请实施例提供的一种SBOM加密传输装置的结构框图,该装置应用于发送设备;该装置包括:
生成单元901,用于生成软件的第一软件材料清单SBOM文件;
加密单元902,用于使用随机密钥对所述第一SBOM文件进行对称加密,得到第二SBOM文件;使用来自接收设备的第一公私钥对中的第一公钥对所述随机密钥进行加密,得到加密后的随机密钥;使用第二公私钥对中的第二私钥对所述第二SBOM文件进行非对称加密,得到第三SBOM文件;
发送单元903,将所述加密后的随机密钥、所述第三SBOM文件发送给所述接收设备。
一种可选的实施方式为,所述生成单元901具体用于:
获取所述软件的源代码包;
对所述源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件;
通过哈希算法确定所述源代码包的哈希值,并将所述源代码包的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
一种可选的实施方式为,所述生成单元901具体用于:
对所述软件进行软件成分分析生成初始SBOM文件;
通过哈希算法确定所述软件的哈希值,并将所述软件的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
一种可选的实施方式为,所述生成单元901还用于:
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第一摘要信息;
所述发送单元903还用于:
将所述第一摘要信息发送给所述接收设备。
基于同一发明构思,本申请实施例中还提供了一种SBOM加密传输装置,由于该装置解决问题的原理与上述SBOM加密传输方法相似,因此该装置可以参见上述方法实施例实施,重复之处不再赘述。
如图10所示,本申请实施例提供的一种SBOM加密传输装置的结构框图,该装置应用于接收设备,该装置包括:
接收单元1001,用于接收发送设备发送的第三SBOM文件和加密后的随机密钥;
解密单元1002,用于使用第一公私钥对中的第一私钥对所述加密后的随机密钥进行解密,得到解密后的随机密钥;使用来自所述发送设备的第二公私钥对中的第二公钥对所述第三SBOM文件进行解密,得到第二SBOM文件;使用所述解密后的随机密钥对所述第二SBOM文件进行解密,得到第一SBOM文件。
一种可选的实施方式为,所述接收单元1001还用于:
接收所述发送设备发送的所述第一SBOM文件的第一摘要信息;
所述解密单元1002还用于:
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第二摘要信息;
若确定所述第一摘要信息和所述第二摘要信息一致,则确定所述第一SBOM文件未被篡改;否则,确定所述第一SBOM文件被篡改。
本申请实施例针对SBOM加密传输方法还提供一种计算设备可读存储介质,即断电后内容不丢失。该存储介质中存储软件程序,包括程序代码,当程序代码在计算设备上运行时,该软件程序在被一个或多个处理器读取并执行时可实现本申请实施例上面任何一种SBOM加密传输方法的方案。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种SBOM加密传输方法,应用于发送设备,其特征在于,包括:
生成软件的第一软件材料清单SBOM文件;
使用随机密钥对所述第一SBOM文件进行对称加密,得到第二SBOM文件;
使用来自接收设备的第一公私钥对中的第一公钥对所述随机密钥进行加密,得到加密后的随机密钥;
使用第二公私钥对中的第二私钥对所述第二SBOM文件进行非对称加密,得到第三SBOM文件;
将所述加密后的随机密钥、所述第三SBOM文件发送给所述接收设备。
2.根据权利要求1所述的方法,其特征在于,所述生成软件的第一软件材料清单SBOM文件,包括:
获取所述软件的源代码包;
对所述源代码包的依赖包管理配置文件进行扫描生成初始SBOM文件;
通过哈希算法确定所述源代码包的哈希值,并将所述源代码包的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
3.根据权利要求1所述的方法,其特征在于,所述生成软件的第一软件材料清单SBOM文件,包括:
对所述软件进行软件成分分析生成初始SBOM文件;
通过哈希算法确定所述软件的哈希值,并将所述软件的哈希值写入所述初始SBOM文件,得到所述第一SBOM文件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
通过所述哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第一摘要信息;
将所述第一摘要信息发送给所述接收设备。
5.一种SBOM加密传输方法,应用于接收设备,其特征在于,包括:
接收发送设备发送的第三SBOM文件和加密后的随机密钥;
使用第一公私钥对中的第一私钥对所述加密后的随机密钥进行解密,得到解密后的随机密钥;
使用来自所述发送设备的第二公私钥对中的第二公钥对所述第三SBOM文件进行解密,得到第二SBOM文件;
使用所述解密后的随机密钥对所述第二SBOM文件进行解密,得到第一SBOM文件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述发送设备发送的所述第一SBOM文件的第一摘要信息;
通过哈希算法确定所述第一SBOM文件的哈希值,并将所述哈希值作为所述第一SBOM文件的第二摘要信息;
若确定所述第一摘要信息和所述第二摘要信息一致,则确定所述第一SBOM文件未被篡改;否则,确定所述第一SBOM文件被篡改。
7.一种发送设备,其特征在于,包括处理器和收发器,其中:
所述收发器,用于收发数据或信息;
所述处理器,与存储器耦合,用于调用所述存储器中的程序使得所述发送设备执行如权利要求1-4任一项所述的方法。
8.一种接收设备,其特征在于,包括处理器和收发器,其中:
所述收发器,用于收发数据或信息;
所述处理器,与存储器耦合,用于调用所述存储器中的程序使得所述接收设备执行如权利要求5或6所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求5或6所述的方法。
CN202311054461.2A 2023-08-21 2023-08-21 一种sbom加密传输方法及设备 Pending CN117118694A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311054461.2A CN117118694A (zh) 2023-08-21 2023-08-21 一种sbom加密传输方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311054461.2A CN117118694A (zh) 2023-08-21 2023-08-21 一种sbom加密传输方法及设备

Publications (1)

Publication Number Publication Date
CN117118694A true CN117118694A (zh) 2023-11-24

Family

ID=88801424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311054461.2A Pending CN117118694A (zh) 2023-08-21 2023-08-21 一种sbom加密传输方法及设备

Country Status (1)

Country Link
CN (1) CN117118694A (zh)

Similar Documents

Publication Publication Date Title
US20220006624A1 (en) User Terminal, Permission Information Management Method, and Permission Information Management Program
CN102077213B (zh) 用于确保通信的认证和完整性的技术
US7283629B2 (en) Deriving keys used to securely process electronic messages
CN109067814B (zh) 媒体数据加密方法、系统、设备及存储介质
CN112804257A (zh) 用于分布式密码密钥的方法和系统
CN110214324A (zh) 密钥保管库包围区
CN111131278A (zh) 数据处理方法及装置、计算机存储介质、电子设备
CN112738051B (zh) 数据信息加密方法、系统及计算机可读存储介质
CN113572743B (zh) 数据加密、解密方法、装置、计算机设备和存储介质
KR20230141845A (ko) 임계값 키 교환
CN114547648A (zh) 一种数据匿踪查询方法及系统
CN112347493A (zh) 一种ofd文档加解密和脱密变灰方法
CN113726772A (zh) 实现在线问诊会话的方法、装置、设备及存储介质
KR20210036700A (ko) 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템
CN117118694A (zh) 一种sbom加密传输方法及设备
CN111224921A (zh) 安全传输方法和安全传输系统
CN115408435A (zh) 一种数据查询方法及装置
JP2024510658A (ja) マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体
CN114143098A (zh) 数据存储方法和数据存储装置
Cortier et al. A generic security API for symmetric key management on cryptographic devices
KR102526114B1 (ko) 암호화 및 복호화를 위한 장치 및 방법
CN116743461B (zh) 基于时间戳的商品数据加密方法和装置
CN113545025A (zh) 用于信息传输的方法和系统
CN112350920A (zh) 基于区块链的即时通讯系统
CN114124542B (zh) 机密数据由研发网经审批后导出到共享安全区的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination