CN115664836B - 数据传输方法、装置、计算机设备及存储介质 - Google Patents

数据传输方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115664836B
CN115664836B CN202211384605.6A CN202211384605A CN115664836B CN 115664836 B CN115664836 B CN 115664836B CN 202211384605 A CN202211384605 A CN 202211384605A CN 115664836 B CN115664836 B CN 115664836B
Authority
CN
China
Prior art keywords
heterogeneous
key
task
data
data transmission
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.)
Active
Application number
CN202211384605.6A
Other languages
English (en)
Other versions
CN115664836A (zh
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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202211384605.6A priority Critical patent/CN115664836B/zh
Publication of CN115664836A publication Critical patent/CN115664836A/zh
Application granted granted Critical
Publication of CN115664836B publication Critical patent/CN115664836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种数据传输方法、装置、计算机设备及存储介质,其中,所述数据传输方法,通过获取软件待执行的代码执行任务,并确定用于执行所述代码执行任务的硬件资源,从而在用于执行所述代码执行任务的硬件资源为异构资源时,采用配置至所述异构资源的异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,进而发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务,提高了数据传输方案的数据安全性。

Description

数据传输方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及安全保护技术领域,具体涉及一种数据传输方法、装置、计算机设备及存储介质。
背景技术
软件代码保护是指对软件的代码提供安全保护,包括提供对软件代码的数据机密性保护,以及,提供对软件代码的数据完整性保护等。
现有的代码保护方案,可以结合加密技术和硬件隔离技术,为软件的代码提供独立的虚拟运行环境,并使该虚拟运行环境运行于由主机的OS(操作系统)隔离出的硬件环境中,实现软件代码保护。
然而,现有的代码保护方案的安全性不足,如何提升代码保护方案的安全性,一直是本领域技术人员研究的问题。
发明内容
有鉴于此,本发明实施例提供一种数据传输方法、装置、计算机设备及存储介质,以提升代码保护方案的安全性。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例提供一种数据传输方法,包括:
获取软件待执行的代码执行任务;
确定用于执行所述代码执行任务的硬件资源;
若用于执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥预先配置至所述异构资源;
发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务。
可选的,所述发送所述加密任务数据至所述异构资源之前,还包括:
建立与所述异构资源进行数据传输的安全通道;
基于所述安全通道,向所述异构资源传输所述异构加密密钥。
可选的,所述建立与所述异构资源进行数据传输的安全通道,包括:
获取客户私钥,所述客户私钥与客户公钥相匹配;
接收客户公钥加密后的通道密钥,其中,所述客户公钥预先配置至所述异构资源;
利用客户私钥解密得到所述通道密钥,以所述通道密钥作为所述安全通道传输数据的加密密钥。
可选的,所述客户私钥和所述客户公钥基于客户身份信息生成。
可选的,所述确定用于执行所述代码执行任务的硬件资源,具体为,基于所述代码执行任务的类型或硬件资源的运行状态,确定用于执行所述代码执行任务的硬件资源。
可选的,所述异构资源为硬件架构中的异构设备或软件架构中的虚拟异构模块。
可选的,所述异构加密密钥与客户身份信息相对应。
可选的,还包括:
启动安全虚拟机;
若所述安全虚拟机用于运行可信执行环境,生成异构加密密钥。
本发明实施例还提供一种数据传输方法,应用于异构资源,包括:
接收加密任务数据,所述加密任务数据为软件待执行的代码执行任务的任务数据采用异构加密密钥加密得到,所述异构加密密钥预先配置至所述异构资源;
采用异构加密密钥解密所述加密任务数据,得到待执行的代码执行任务的任务数据;
执行所述代码执行任务。
可选的,所述接收加密任务数据之前,还包括:
建立与安全虚拟机进行数据传输的安全通道;
基于所述安全通道,接收所述异构加密密钥,并配置所述异构加密密钥。
可选的,所述建立与安全虚拟机进行数据传输的安全通道,包括:
生成通道密钥,并利用客户公钥加密所述通道密钥,其中,所述客户公钥预先配置至所述异构资源,所述客户公钥与客户私钥相匹配;
发送客户公钥加密后的通道密钥。
可选的,所述客户私钥和所述客户公钥基于客户身份信息生成,所述异构加密密钥与客户身份信息相对应。
本发明实施例还提供一种数据传输装置,基于上述实施例提供的数据传输方法,所述数据传输装置包括:
任务获取模块,用于获取软件待执行的代码执行任务;
资源确定模块,用于确定用于执行所述代码执行任务的硬件资源;
加密模块,用于若执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥预先配置至所述异构资源;
数据发送模块,用于发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务。
本发明实施例还提供一种数据传输装置,基于上述实施例提供的应用于异构资源的数据传输方法,所述数据传输装置包括:
数据接收模块,用于接收加密任务数据,所述加密任务数据为软件待执行的代码执行任务的任务数据采用异构加密密钥加密得到,其中,所述异构加密密钥预先配置至所述异构资源;
解密模块,用于采用异构加密密钥解密所述加密任务数据,得到待执行的代码执行任务的任务数据;
任务执行模块,用于执行所述代码执行任务。
本发明实施例还提供一种计算机设备,包括:至少一个存储器、至少一个处理器、以及至少一个异构设备;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行本发明实施例提供所述的数据传输方法,所述异构设备调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的应用于异构资源的数据传输方法。
本发明实施例还提供一种存储介质,所述存储介质存储一条或多条可执行指令,所述一条或多条可执行指令用于执行本发明实施例提供的数据传输方法,和/或,所述一条或多条可执行指令用于执行本发明实施例提供的应用于异构资源的数据传输方法。
本发明实施例提供了一种数据传输方法、装置、计算机设备及存储介质,其中,所述数据传输方法,通过获取软件待执行的代码执行任务,并确定用于执行所述代码执行任务的硬件资源,从而在用于执行所述代码执行任务的硬件资源为异构资源时,采用配置至所述异构资源的异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,进而发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务。
可以看出本发明实施例提供的数据传输方案,可以通过加密的方式,使得用于传输至异构资源的任务数据加密为加密任务数据,从而保证数据传输至异构设备时的数据安全,提高异构设备的数据传输方案的数据安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种基于安全虚拟化技术的虚拟化环境的系统架构示意图;
图2为本发明实施例提供的数据传输方法的一种可选流程图;
图3为本发明实施例提供的另一数据传输方法的一种可选流程图;
图4为本发明实施例提供的一种异构加密密钥的生成流程的可选示意图;
图5为本发明实施例提供的利用安全通道传输异构加密密钥流程的可选示意图;
图6为本发明实施例提供的安全通道的建立流程的可选示意图;
图7为本发明实施例提供的数据传输装置的可选框图;
图8为本发明实施例提供的另一数据传输装置的可选框图。
具体实施方式
软件代码保护是指对软件的代码提供安全保护,不仅提供对软件代码的数据机密性保护,还提供对软件代码的数据完整性保护;此处所指的软件并不限于应用软件,还可以是系统软件。
现有的代码保护方案,可以结合加密技术和硬件隔离技术,为软件的代码提供独立的虚拟运行环境,并使虚拟运行环境运行于由主机的OS(操作系统)隔离出的硬件环境中,实现软件代码保护。
在一个具体的实现中,参考图1示出的一种基于安全虚拟化技术的虚拟化环境的系统架构(也可称为虚拟系统架构)示意图,所述虚拟系统架构包括CPU(centralprocessing unit,中央处理器)1、安全虚拟机2、异构设备3、安全内存4。
其中,CPU1作为数据处理核心,用于为安全虚拟机2提供数据处理的硬件基础;所述安全虚拟机2可以理解为代码保护系统,用于为软件运行提供可信执行环境,所述异构设备3用于为代码保护系统提供异构资源,所述安全内存4用于存储软件的代码和数据。
所述安全内存4可以通过硬件隔离技术或数据加密技术,实现对内存数据的隔离,避免主机对安全虚拟机的内存数据的访问,或安全虚拟机之间针对内存数据的交互访问。
其中,在基于数据加密技术提供的内存数据加密方案中,安全虚拟机2的内存数据可以基于不同的加密标准进行加密,需要说明的是,采用中国国标加密的安全虚拟化技术生成的虚拟机可以称为CSV(China Secure Virtualization,国标安全虚拟化技术)虚拟机。
所述异构设备3为与CPU1结构不同的计算设备,其中,所述异构设备可以直通入安全虚拟机2,并基于安全虚拟机中的异构模块21和异构驱动模块22执行软件的计算任务,提高所述代码保护系统的运算效率。
然而,此种方案下,安全虚拟机在驱动异构设备执行相应的计算任务时,需要将数据传输至异构设备,而此数据传输过程若被攻击,容易产生数据泄露。显然,上述架构下的异构设备的数据传输方案的数据安全性有待提高。
基于此,本发明实施例提供了一种数据传输方法,包括:获取软件待执行的代码执行任务;确定用于执行所述代码执行任务的硬件资源;若用于执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥预先配置至所述异构资源;发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务。
可以看出,本发明实施例提供的数据传输方法,可以通过加密的方式,使得用于传输至异构资源的任务数据加密为加密任务数据,从而保证数据传输至异构设备时的数据安全,提高异构设备的数据传输方案的数据安全性。
下面,对本发明实施例提供的数据传输方案进行详细的说明。
参考图2示出的本发明实施例提供的数据传输方法的一种可选流程图,该方法可以应用于安全虚拟机,或安全虚拟机提供的代码保护系统,本发明实施例以安全虚拟机为例进行说明,所述数据传输方法包括:
步骤S10:获取软件待执行的代码执行任务;
所述软件用于运行至可信执行环境,所述代码执行任务可以理解为软件运行过程中分解出的任务,通过执行所述代码执行任务,以使得软件顺利运行。以安全虚拟机执行所述方法为例,安全虚拟机在运行软件时,可以获取软件待执行的代码执行任务。
步骤S11:确定用于执行所述代码执行任务的硬件资源;
在获取软件待执行的代码执行任务后,安全虚拟机可以基于代码执行任务的类型、硬件资源的运行状态,确定采用何种硬件资源执行所述代码执行任务。其中,所述硬件可以包括CPU或相对于CPU的异构设备,所述硬件资源可以理解为CPU资源或异构设备资源。其中,异构设备可以理解为与CPU不同的计算设备,例如可以为外设设备,具体如图形处理器(graphics processing unit,GPU)、通用图形处理器(General-purpose computing ongraphics processing units,GPGPU)、深度计算单元、人工智能(ArtificialIntelligence,AI)加速卡、现场可编程门阵列(Field-Programmable Gate Array,FPGA)等。
可以理解的是,基于代码执行任务的类型不同,相对应的异构设备的计算效率也不同,其中,采用与代码执行任务类型相适应的异构设备执行所述代码执行任务,可以有效提升任务的处理效率。
以通用图形处理器(General-purpose computing on graphics processingunits,GPGPU)为例,GPGPU具有强大的并行处理能力和可编程流水线,适应于单指令流多数据流,且数据处理的运算量远大于数据调度和传输的任务。因此,在确定所述代码执行任务的类型后,可以基于该代码执行任务的类型,确定采用何种硬件资源。
或者,在其他示例中,可以基于硬件资源的运行状态,确定用于执行所述代码执行任务的硬件资源。可以理解的是,在运行软件的流程中,硬件资源的运行状态例如可以为满载状态或空闲状态,因此,可以优选运行状态为空闲状态的硬件资源执行所述代码执行任务,从而提高软件的运行效率。
步骤S12:若用于执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥预先配置至所述异构资源;
所述异构资源可以理解为异构设备提供的硬件资源,其中,异构资源可以为硬件架构中的异构设备,也可以为软件架构中的虚拟异构模块。其中,虚拟异构模块可以理解为从异构设备中分解出的算力和/或空间资源,其在软件层面可以看作独立的模块,能够基于其所分解出的算力和/或空间资源执行相应的任务。以虚拟异构模块作为异构资源配置至安全虚拟机,可以根据实际需求对异构设备中的算力和/或空间资源进行分配,从而最大化的利用硬件资源。
在确定采用异构资源执行所述代码执行任务后,为保证任务数据传输的安全性,可以采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据。
其中,所述异构加密密钥可以预先配置至所述异构资源,从而使得异构资源可以基于该异构加密密钥进行任务数据的解密。需要说明的是,所述异构加密密钥可以与客户身份信息相对应,也可以与安全虚拟机的标识信息相对应,本发明实施例基于代码保护系统运行软件时,可以优选异构加密密钥可以与客户的身份信息相对应。也就是说,一客户对应一异构加密密钥,从而使得客户之间的数据不能相互访问,保证了客户的数据安全。
所述代码执行任务的任务数据,可以包括用于执行所述代码执行任务的代码和数据,通过对所述任务数据进行加密,以保证任务数据的传输安全。
步骤S13:发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务。
在任务数据加密后,可以将所述加密任务数据向异构资源传输。
可以理解的是,针对异构资源的传输通路可以包括2个,一个为CPU通过内存映射I/O(memory mapped I/O,MMIO)接口连接异构设备,另一个为异构设备利用直接存储访问(Direct Memory Access,DMA)技术,通过输入输出内存管理单元(Input/Output MemoryManagement Unit,IOMMU)实现内存数据的传输。在本发明实施例中,无论何种传输方式,均可以在数据加密后进行传输,从而保证了任务数据的安全。
参考图3示出的本发明实施例提供的另一数据传输方法的一种可选流程图,该方法可以应用于异构资源,所述数据传输方法包括:
步骤S14:接收所述加密任务数据;
其中,所述加密任务数据为软件待执行的代码执行任务的任务数据采用异构加密密钥加密得到,相应的,所述异构资源可以通过接收所述加密任务数据,确定对应的代码执行任务。
步骤S15:采用异构加密密钥解密所述加密任务数据,得到待执行的代码执行任务的任务数据;
基于所述异构加密密钥预先配置至所述异构资源,相应的,所述异构资源能够进一步采用异构加密密钥解密所述加密任务数据,从而得到待执行的代码执行任务的任务数据。
步骤S16:执行所述代码执行任务。
在得到相应的任务数据后,异构资源可以基于该任务数据,执行所述代码执行任务。
可以看出,本发明实施例通过对任务数据进行加密,提高了数据传输的安全性。
在一个可选的示例中,本发明实施例的数据传输方法,还进一步提供了虚拟环境下,异构加密密钥的生成流程。具体的,所述数据传输方法应用于安全虚拟机,或安全虚拟机提供的代码保护系统,本发明实施例以安全虚拟机为例进行说明,参考图4示出的一种异构加密密钥的生成流程的可选示意图,所述流程可以在图2所示的数据传输方法流程中步骤S10之前执行,具体的,所述数据传输方法可以进一步包括:
步骤S01:启动安全虚拟机;
在虚拟化环境下,可以在启动安全虚拟机时,生成异构加密密钥。其中,基于虚拟化环境下,安全虚拟机可以由主机基于安全虚拟化技术,虚拟化得到,其中,在虚拟化环境下,安全虚拟机可以独立运行于由主机的OS(操作系统)隔离出的硬件环境中,从而可以保证运行于安全虚拟机的软件的数据安全。
步骤S02:若所述安全虚拟机用于运行可信执行环境,生成异构加密密钥;
其中,所述可信执行环境为一种用于运行软件的可信环境,其可以基于签注密钥技术、安全输入输出技术、存储器屏蔽技术、密封存储技术以及远程认证技术,保证软件的运行安全。
可以理解的是,若所述安全虚拟机用于运行可信执行环境,即作为代码保护系统运行软件,则可以生成对应于客户的异构加密密钥,从而基于该异构加密密钥进行传输数据的加密。
在一个可选的示例中,本发明实施例的数据传输方法,还进一步提供了安全通道,以向异构资源传输异构加密密钥。具体的,参考图5示出了的利用安全通道传输异构加密密钥流程的可选示意图,具体的,所述数据传输方法在步骤S13之前,还可以包括:
步骤S20:建立与所述异构资源进行数据传输的安全通道;
所述安全通道可以理解为一种数据传输方式,例如通过特定途径实现数据的传输。在本发明实施例中,所述安全通道可以为通过加密途径实现数据的传输,或者,所述安全通道还设有为通过硬件隔离途径实现数据的传输(例如为安全通道分配特定的硬件通道实现数据传输)。
其中,以安全虚拟机执行所述数据传输方法为例,可以在本示例中建立安全虚拟机与所述异构资源之间的安全通道。
通过建立安全通道传输异构加密密钥,可以保证异构加密密钥的安全传输,提高系统的安全性。需要说明的是,所述安全通道并不限于传输异构加密密钥,在一些可选的示例中,所述安全通道还可以传输软件或安全虚拟机系统的部分数据。
步骤S21:基于所述安全通道,向所述异构资源传输所述异构加密密钥。
在建立安全通道后,所述异构加密密钥即可基于该安全通道传输,从而使得所述异构资源接收所述异构加密密钥,并配置所述异构加密密钥,进而实现异构加密密钥在异构设备的预先配置。
在本发明实施例中,还以加密途径为例描述了所述安全通道的建立流程。所述流程可以基于可信执行环境与异构资源执行。本示例以可信执行环境为安全虚拟机为例进行说明。具体的,参考图6示出的一种安全通道的建立流程的可选示意图,所述安全通道的建立流程可以包括:
步骤S201:安全虚拟机获取客户私钥,所述客户私钥与客户公钥相匹配;
客户私钥与客户公钥相匹配,指的是,客户私钥与客户公钥为一密钥对。具体的,所述客户私钥和客户公钥可以基于客户身份信息生成。在一个可选的示例中,所述客户私钥和客户公钥基于软件用户账号(该软件用户账号可以理解为客户身份信息的一种可选形式)生成,其中,在软件用户账号生成密钥对之后,可以将客户私钥植入可信执行环境,并在安全虚拟机运行可信执行环境时,向安全虚拟机提供对应的客户私钥,从而使得安全虚拟机可以获取对应的客户私钥。
步骤S202:异构资源生成通道密钥,并利用客户公钥加密所述通道密钥;
所述客户公钥可以预先配置至所述异构资源。例如,可以通过设备生产商植入所述客户公钥。所述通道密钥用于作为所述安全通道传输数据的加密密钥。
其中,所述异构资源生成通道密钥的时机可以为异构设备启动时,也可以为异构设备被配置时,或异构设备初次被驱动时。所述通道密钥可以利用随机数生成,也可以利用其它方式生成,为保证密钥的安全性,本发明实施例优选采用随机数生成。
步骤S203:异构资源发送客户公钥加密后的通道密钥至安全虚拟机;
在生成通道密钥,并进行通道密钥的加密后,可以发送客户公钥加密后的通道密钥至安全虚拟机,从而使得安全虚拟机能够基于通道密钥进行数据的传输。
步骤S204:安全虚拟机接收客户公钥加密后的通道密钥;
步骤S205:安全虚拟机利用客户私钥解密得到所述通道密钥,以所述通道密钥作为所述安全通道传输数据的加密密钥。
在接收客户公钥加密后的通道密钥后,安全虚拟机可以利用已获取的客户私钥对其进行解密,从而得到通道密钥,进而在进行安全通道的数据传输过程中,基于该通道密钥进行数据的加解密。
与前述异构加密密钥不同的是,所述通道密钥用于保证数据传输的安全性,是专用于安全虚拟机与异构资源之间的所述安全通道的密钥,也就是说,在安全通道需要传输异构加密密钥时,则对所述异构加密密钥进行加密,并进行加密传输,并在传输至异构资源时,解密得到异构加密密钥,从而保证异构加密密钥的安全。需要区分的是,异构加密密钥是用于加密代码执行任务的密钥,用于在异构加密密钥被安全传输,且异构资源配置所述异构加密密钥之后,对代码执行任务进行加解密。
可以理解的是,本发明实施例的对传输的数据进行加密,从而使得异构设备不具备硬件加密的情况下,仍能确保数据的安全。
下面从安全虚拟机的角度,对本发明实施例提供的数据传输装置进行介绍,下文描述的数据传输装置可以认为是,安全虚拟机为实现本发明实施例提供的数据传输方法,所需设置的功能模块;下文描述的数据传输装置的内容,可与上文描述的方法内容相互对应参照。
在可选实现中,图7示出了本发明实施例提供的数据传输装置的可选框图,该数据传输装置可应用于安全虚拟机,或安全虚拟机提供的代码保护系统,如图7所示,该数据传输装置可以包括:
任务获取模块100,用于获取软件待执行的代码执行任务;
资源确定模块110,用于确定用于执行所述代码执行任务的硬件资源;
加密模块120,用于若用于执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥预先配置至所述异构资源;
数据发送模块130,用于发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务。
可选的,所述数据传输装置还包括:
第一通道建立模块,用于建立与所述异构资源进行数据传输的安全通道;
安全通道传输模块,用于基于所述安全通道,向所述异构资源传输所述异构加密密钥。
可选的,所述第一通道建立模块用于建立与所述异构资源进行数据传输的安全通道,包括:
获取客户私钥,所述客户私钥与客户公钥相匹配;
接收客户公钥加密后的通道密钥,其中,所述客户公钥预先配置至所述异构资源;
利用客户私钥解密得到所述通道密钥,以所述通道密钥作为所述安全通道传输数据的加密密钥。
可选的,所述客户私钥和所述客户公钥基于客户身份信息生成。
可选的,所述资源确定模块110,用于确定用于执行所述代码执行任务的硬件资源,具体为,基于所述代码执行任务的类型或硬件资源的运行状态,确定用于执行所述代码执行任务的硬件资源。
可选的,所述异构资源为硬件架构中的异构设备或软件架构中的虚拟异构模块。
可选的,所述异构加密密钥与客户身份信息相对应。
可选的,所述数据传输装置还包括:
启动模块,用于启动安全虚拟机;
密钥生成模块,用于若所述安全虚拟机用于运行可信执行环境,生成异构加密密钥。
下面从异构资源的角度,对本发明实施例提供的数据传输装置进行介绍,下文描述的数据传输装置可以认为是,异构资源为实现本发明实施例提供的数据传输方法,所需设置的功能模块;下文描述的数据传输装置的内容,可与上文描述的方法内容相互对应参照。
在可选实现中,图8示出了本发明实施例提供的另一数据传输装置的可选框图,该数据传输装置可应用于异构资源,如图8所示,该数据传输装置可以包括:
数据接收模块200,用于接收加密任务数据,所述加密任务数据为软件待执行的代码执行任务的任务数据采用异构加密密钥加密得到,其中,所述异构加密密钥预先配置至所述异构资源;
解密模块210,用于采用异构加密密钥解密所述加密任务数据,得到待执行的代码执行任务的任务数据;
任务执行模块220,用于执行所述代码执行任务。
可选的,所述数据传输装置,还包括:
第二通道建立模块,用于建立与安全虚拟机进行数据传输的安全通道;
密钥配置模块,用于基于所述安全通道,接收所述异构加密密钥,并配置所述异构加密密钥。
可选的,所述第二通道建立模块,用于建立与安全虚拟机进行数据传输的安全通道,包括:
生成通道密钥,并利用客户公钥加密所述通道密钥,其中,所述客户公钥预先配置至所述异构资源,所述客户公钥与客户私钥相匹配;
发送客户公钥加密后的通道密钥。
可选的,所述客户私钥和所述客户公钥基于客户身份信息生成,所述异构加密密钥与客户身份信息相对应。
本发明实施例还提供一种计算机设备,该计算机设备可以包括:至少一个存储器、至少一个处理器、以及至少一个异构设备;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的数据传输方法,所述异构设备调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的数据传输方法。
本发明实施例还提供一种存储介质,所述存储介质存储一条或多条可执行指令,所述一条或多条可执行指令用于执行上述安全虚拟机端的数据传输方法,和/或,所述一条或多条可执行指令用于执行上述异构资源端的数据传输方法。
上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (13)

1.一种数据传输方法,其特征在于,包括:
获取软件待执行的代码执行任务;
确定用于执行所述代码执行任务的硬件资源;
若用于执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥与客户身份信息相对应,且所述异构加密密钥预先配置至所述异构资源;
发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务;
其中,所述发送所述加密任务数据至所述异构资源之前,还包括:建立与所述异构资源进行数据传输的安全通道;基于所述安全通道,向所述异构资源传输所述异构加密密钥;所述安全通道的通道密钥为专用于安全虚拟机与异构资源之间的所述安全通道的密钥。
2.根据权利要求1所述的数据传输方法,其特征在于,所述建立与所述异构资源进行数据传输的安全通道,包括:
获取客户私钥,所述客户私钥与客户公钥相匹配;
接收客户公钥加密后的通道密钥,其中,所述客户公钥预先配置至所述异构资源;所述通道密钥用于保证数据传输的安全性;
利用客户私钥解密得到所述通道密钥,以所述通道密钥作为所述安全通道传输数据的加密密钥。
3.根据权利要求2所述的数据传输方法,其特征在于,所述客户私钥和所述客户公钥基于客户身份信息生成。
4.根据权利要求1所述的数据传输方法,其特征在于,所述确定用于执行所述代码执行任务的硬件资源,具体为,基于所述代码执行任务的类型或硬件资源的运行状态,确定用于执行所述代码执行任务的硬件资源。
5.根据权利要求1所述的数据传输方法,其特征在于,所述异构资源为硬件架构中的异构设备或软件架构中的虚拟异构模块。
6.根据权利要求1所述的数据传输方法,其特征在于,还包括:
启动安全虚拟机;
若所述安全虚拟机用于运行可信执行环境,生成异构加密密钥。
7.一种数据传输方法,其特征在于,应用于异构资源,包括:
接收加密任务数据,所述加密任务数据为软件待执行的代码执行任务的任务数据采用异构加密密钥加密得到,所述异构加密密钥与客户身份信息相对应,且所述异构加密密钥预先配置至所述异构资源;
采用异构加密密钥解密所述加密任务数据,得到待执行的代码执行任务的任务数据;
执行所述代码执行任务;
其中,所述接收加密任务数据之前,还包括:建立与安全虚拟机进行数据传输的安全通道;基于所述安全通道,接收所述异构加密密钥,并配置所述异构加密密钥,所述安全通道的通道密钥为专用于安全虚拟机与异构资源之间的所述安全通道的密钥。
8.根据权利要求7所述的数据传输方法,其特征在于,所述建立与安全虚拟机进行数据传输的安全通道,包括:
生成通道密钥,并利用客户公钥加密所述通道密钥,其中,所述客户公钥预先配置至所述异构资源,所述客户公钥与客户私钥相匹配;所述通道密钥用于保证数据传输的安全性;
发送客户公钥加密后的通道密钥。
9.根据权利要求8所述的数据传输方法,其特征在于,所述客户私钥和所述客户公钥基于客户身份信息生成。
10.一种数据传输装置,其特征在于,基于权利要求1-6任一项所述的数据传输方法,所述数据传输装置包括:
任务获取模块,用于获取软件待执行的代码执行任务;
资源确定模块,用于确定用于执行所述代码执行任务的硬件资源;
加密模块,用于若执行所述代码执行任务的硬件资源为异构资源,采用异构加密密钥加密所述代码执行任务的任务数据,生成加密任务数据,其中,所述异构加密密钥与客户身份信息相对应,且所述异构加密密钥预先配置至所述异构资源;
数据发送模块,用于发送所述加密任务数据至所述异构资源,以使得所述异构资源执行所述代码执行任务;
第一通道建立模块,用于建立与所述异构资源进行数据传输的安全通道;
安全通道传输模块,用于基于所述安全通道,向所述异构资源传输所述异构加密密钥;
其中,所述安全通道的通道密钥为专用于安全虚拟机与异构资源之间的所述安全通道的密钥。
11.一种数据传输装置,其特征在于,基于权利要求7-9任一项所述的数据传输方法,所述数据传输装置包括:
数据接收模块,用于接收加密任务数据,所述加密任务数据为软件待执行的代码执行任务的任务数据采用异构加密密钥加密得到,其中,所述异构加密密钥与客户身份信息相对应,且所述异构加密密钥预先配置至所述异构资源;
解密模块,用于采用异构加密密钥解密所述加密任务数据,得到待执行的代码执行任务的任务数据;
任务执行模块,用于执行所述代码执行任务;
第二通道建立模块,用于建立与安全虚拟机进行数据传输的安全通道;
密钥配置模块,用于基于所述安全通道,接收所述异构加密密钥,并配置所述异构加密密钥;
其中,所述安全通道的通道密钥为专用于安全虚拟机与异构资源之间的所述安全通道的密钥。
12.一种计算机设备,其特征在于,包括:至少一个存储器、至少一个处理器、以及至少一个异构设备;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如权利要求1-6任一项所述的数据传输方法,所述异构设备调用所述一条或多条计算机可执行指令,以执行如权利要求7-9任一项所述的数据传输方法。
13.一种存储介质,其特征在于,所述存储介质存储一条或多条可执行指令,所述一条或多条可执行指令用于执行如权利要求1-6任一项所述的数据传输方法,和/或,所述一条或多条可执行指令用于执行如权利要求7-9任一项所述的数据传输方法。
CN202211384605.6A 2022-11-07 2022-11-07 数据传输方法、装置、计算机设备及存储介质 Active CN115664836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211384605.6A CN115664836B (zh) 2022-11-07 2022-11-07 数据传输方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211384605.6A CN115664836B (zh) 2022-11-07 2022-11-07 数据传输方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN115664836A CN115664836A (zh) 2023-01-31
CN115664836B true CN115664836B (zh) 2023-10-03

Family

ID=85016359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211384605.6A Active CN115664836B (zh) 2022-11-07 2022-11-07 数据传输方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115664836B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141568A (zh) * 2014-05-28 2015-12-09 腾讯科技(深圳)有限公司 安全通信通道建立方法及系统、客户端和服务器
CN107172056A (zh) * 2017-05-31 2017-09-15 福建中金在线信息科技有限公司 一种信道安全确定方法、装置、系统、客户端及服务器
CN112751868A (zh) * 2020-12-30 2021-05-04 武汉海昌信息技术有限公司 一种异构加密传输方法、存储介质及系统
CN112965842A (zh) * 2021-04-06 2021-06-15 广东工业大学 一种云编译方法、装置、电子设备及存储介质
CN113243005A (zh) * 2018-12-13 2021-08-10 亚马逊技术有限公司 按需网络代码执行系统中的基于性能的硬件仿真
CN113656164A (zh) * 2021-08-30 2021-11-16 阿里巴巴(中国)有限公司 任务执行方法、系统、电子设备及计算机存储介质
WO2022068322A1 (en) * 2020-09-29 2022-04-07 International Business Machines Corporation Software access through heterogeneous encryption
CN114600108A (zh) * 2019-08-16 2022-06-07 边信联科技股份有限公司 异构处理器通过开放式连接器进行具有远距认证及信息独立的可信运算系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129360B2 (en) * 2016-03-28 2018-11-13 The Boeing Company Unified data networking across heterogeneous networks
US10708247B2 (en) * 2018-09-27 2020-07-07 Intel Corporation Technologies for providing secure utilization of tenant keys

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141568A (zh) * 2014-05-28 2015-12-09 腾讯科技(深圳)有限公司 安全通信通道建立方法及系统、客户端和服务器
CN107172056A (zh) * 2017-05-31 2017-09-15 福建中金在线信息科技有限公司 一种信道安全确定方法、装置、系统、客户端及服务器
CN113243005A (zh) * 2018-12-13 2021-08-10 亚马逊技术有限公司 按需网络代码执行系统中的基于性能的硬件仿真
CN114600108A (zh) * 2019-08-16 2022-06-07 边信联科技股份有限公司 异构处理器通过开放式连接器进行具有远距认证及信息独立的可信运算系统及方法
WO2022068322A1 (en) * 2020-09-29 2022-04-07 International Business Machines Corporation Software access through heterogeneous encryption
CN112751868A (zh) * 2020-12-30 2021-05-04 武汉海昌信息技术有限公司 一种异构加密传输方法、存储介质及系统
CN112965842A (zh) * 2021-04-06 2021-06-15 广东工业大学 一种云编译方法、装置、电子设备及存储介质
CN113656164A (zh) * 2021-08-30 2021-11-16 阿里巴巴(中国)有限公司 任务执行方法、系统、电子设备及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岳莹瑛 ; .异构数据库加解密系统的关键技术研究.电脑知识与技术.2017,(18),1-2. *

Also Published As

Publication number Publication date
CN115664836A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
US20240126930A1 (en) Secure Collaboration Between Processors And Processing Accelerators In Enclaves
US9948616B2 (en) Apparatus and method for providing security service based on virtualization
US10230693B2 (en) Safechannel encrypted messaging system
CN108418817B (zh) 一种加密方法及装置
CN109672519B (zh) 一种密码装置及其数据加解密方法
CN111431718B (zh) 基于tee扩展的计算机通用安全加密转换层方法及系统
EP3923535B1 (en) Method for data protection in a data processing cluster with policy-based partition
US10839069B2 (en) Protecting artificial intelligence models using virtual secure mode
CN114124364A (zh) 密钥安全处理方法、装置、设备及计算机可读存储介质
CN114238185A (zh) 直接存储访问及命令数据传输方法、装置及相关设备
CN115664836B (zh) 数据传输方法、装置、计算机设备及存储介质
CN116048716A (zh) 一种直接存储访问方法、装置及相关设备
CN112363801B (zh) 虚拟机迁移方法、处理方法、系统、装置、芯片及介质
JP2022043279A (ja) 仮想化環境内の人工知能アクセラレータ・ステータス確認を用いる仮想マシン移行のための方法
CN109450899B (zh) 密钥管理方法及装置、电子设备、存储介质
CN113645235A (zh) 分布式数据加解密系统及加解密方法
CN111475844A (zh) 一种数据共享方法、装置、设备及计算机可读存储介质
Chu et al. Secure cryptography infrastructures in the cloud
CN113591098B (zh) 一种基于sgx的远程安全异构计算方法和系统
CN115659290B (zh) 代码保护系统、方法、虚拟系统、芯片及电子设备
CN113468563B (zh) 虚拟机数据加密方法、装置、计算机设备和存储介质
WO2024098594A1 (zh) 代码保护系统、方法、虚拟系统架构、芯片及电子设备
US11405336B2 (en) Method for key sharing between accelerators in virtual channel with switch
US11343083B2 (en) Method for key sharing between accelerators in virtual channel
KR20190023857A (ko) 미들박스 장치 및 이의 암호화된 패킷 처리 방법

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
GR01 Patent grant
GR01 Patent grant