CN112417470A - 实现gpu数据安全访问的方法、装置、电子设备及存储介质 - Google Patents
实现gpu数据安全访问的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112417470A CN112417470A CN202011232357.4A CN202011232357A CN112417470A CN 112417470 A CN112417470 A CN 112417470A CN 202011232357 A CN202011232357 A CN 202011232357A CN 112417470 A CN112417470 A CN 112417470A
- Authority
- CN
- China
- Prior art keywords
- access request
- request
- access
- memory
- area
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种实现GPU内存数据安全访问的方法、装置、电子设备及存储介质,其中方法包括:接收对GPU内存数据的访问请求;判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。本发明实施例提供的实现GPU内存数据安全访问的方法、装置、电子设备和存储介质,结合了访问请求是否包含安全标识以及GPU内存的预设访问控制规则,可有效的保护GPU上用户私密数据的安全。
Description
技术领域
本发明涉及内存数据安全领域,尤其涉及一种实现GPU内存数据安全访问的方法、装置、电子设备及存储介质。
背景技术
目前对GPU(英语:Graphics Processing Unit,缩写:GPU,中文:图形处理器)的私密数据保护技术主要集中在远程主机上的数据如何以安全的方式传输到本地GPU的内存里,或者本地GPU的内存私密数据如何以安全的方式传输到远程主机上,如图1所示。本地主机A包括GPU和网卡设备,GPU的内存存储有私密数据,主机A通过其网卡设备接口与主机B通信连接,将GPU的数据通过安全链接和数据加密的方式传输到远程主机B上。
现有技术对GPU内存的数据保护机制是不足的,因为其对GPU内存的数据保护主要集中在传输过程中,而没有专门针对GPU内存数据进行系统化的保护,并且在GPU的内部也没有设置专门的控制模块来保护其私密数据。
由此可知,由于GPU的私密数据没有得到保护,可以被GPU上的其他用户程序读取,造成用户私密数据的泄露或窃取。如图2所示,由于用户的页表和数据都是未被保护的,如果修改了B用户的页表,那么B用户的GPU程序即可读取A用户的私密数据。
此外,恶意程序如果获得了操作系统的内核态驱动权限,即可通过PCIE(英文:peripheral component interconnect express,中文:高速串行计算机扩展总线标准)直接读取或修改GPU内存里的数据(比如A页目录、A页表以及A用户数据)(如图3所示),也会造成用户私密数据的泄露或窃取。
发明内容
本发明实施例提供一种实现GPU内存数据安全访问的方法、装置、电子设备及存储介质,用以解决现有技术对GPU内存的数据保护机制不足的问题。
第一方面,本发明实施例提供的一种实现GPU内存数据安全访问的方法,包括:
接收对GPU内存数据的访问请求;
判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。
可选的,所述接收对GPU内存数据的访问请求包括以下一种或多种组合:
接收来自PCIE对GPU内存数据的访问请求;
接收来自GPU的计算单元对GPU内存数据的访问请求。
可选的,所述判断所述访问请求是否为安全请求包括:
针对接收来自PCIE对GPU内存数据的访问请求,所述访问请求判断为不安全访问请求;
针对接收来自GPU的计算单元对GPU内存数据的访问请求,则再判断所述访问请求是否包含安全标识,如果包含安全标识则所述访问请求判断为安全访问请求或伪安全请求,否则为不安全访问请求。
可选的,所述针对接收来自GPU的计算单元对GPU内存数据的访问请求,是由Kernel Launch线程启动安全保护指令通过计算内核下发至所述计算单元的计算任务,所述计算任务带有安全标识,当所述计算任务执行完毕后,所述计算内核释放所述计算任务的安全保护指令。
可选的,所述判断所述访问请求所请求访问的内存区域是否为受保护区域之前包括:
将所述内存区域配置为受保护区域和不受保护区域,并通过配置寄存器对所述内存区域的受保护区域的地址进行定义。
可选的,所述通过配置寄存器对所述内存区域的受保护区域进行定义包括以下一种或多种组合:
采用起始物理地址和长度的方式定义所述内存区域的受保护区域;
采用比特位图的方式定义所述内存区域的受保护区域。
可选的,所述按照预设访问控制规则来控制是否执行所述访问请求包括:
当所述访问请求为安全请求时,允许所述访问请求执行所述内存区域的受保护区域和不受保护区域的读请求操作,允许所述访问请求执行所述内存区域的受保护区域的写请求操作,拒绝所述访问请求执行所述内存区域的不受保护区域的写请求操作;
当所述访问请求为不安全请求时,拒绝所述访问请求执行所述内存区域的受保护区域的读请求操作,允许所述访问请求执行所述内存区域的不受保护区域的读请求操作,拒绝所述访问请求执行所述内存区域的受保护区域的写请求操作,允许所述访问请求执行所述内存区域的不受保护区域的写请求操作;
当所述访问请求为伪安全请求时,允许所述访问请求执行所述内存区域的受保护区域和不受保护区域的读请求操作,允许所述访问请求执行所述内存区域的受保护区域的写请求操作,拒绝所述访问请求执行所述内存区域的不受保护区域的写请求操作。
可选的,所述接收对GPU内存数据的访问请求还包括:
如果所述访问请求对所述配置寄存器受保护区域的地址进行改写时,执行覆盖所述地址对应内存区域的数据的操作。
第二方面,本发明实施例提供一种实现GPU内存数据安全访问的装置,包括:
接收模块,用于接收对GPU内存数据的访问请求;
安全访问控制模块,用于判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。
第三方面,本发明实施例提供一种GPU芯片,包括内存、控制单元及计算单元,,还包括用于访问所述内存的安全访问控制模块,所述安全访问控制模块执行上述所述的实现GPU内存数据安全访问的方法的步骤。
第四方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑命令,以执行如第一方面所提供的方法的步骤。
第五方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的一种实现GPU内存数据安全访问的方法、装置、电子设备及存储介质,结合了访问请求是否包含安全标识以及GPU内存的预设访问控制规则,可有效的保护GPU上用户私密数据的安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的GPU数据传输保护的示意图;
图2为现有技术提供的来自计算单元对GPU私密数据访问的示意图;
图3为现有技术提供的来自PCIE对GPU私密数据访问的示意图;
图4为本发明实施例提供的实现GPU内存数据安全访问的方法流程图;
图5为本发明实施例提供的配置寄存器定义受保护区域地址的示意图;
图6为本发明实施例提供的按照预设访问控制规则执行控制的流程图;
图7为本发明一实施例提供的来自计算单元对GPU内存数据访问的示意图;
图8为本发明另一实施例提供的来自计算单元对GPU内存数据访问的示意图;
图9为本发明实施例提供的来自PCIE对GPU内存数据访问的示意图;
图10为本发明实施例提供的实现GPU内存数据安全访问的装置的结构示意图;
图11为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征向量可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
图形处理单元(GPU)是大多数现代计算设备的必要组成,用于优化图形和多媒体处理的性能。GPU也越来越多地用于加速多种应用,包括安全、计算机视觉、计算金融学、生物信息学等领域,这些都可能涉及敏感数据。
从计算机的体系结构出发,需要GPU执行的代码、处理的数据都需要经过内存进行存储,通过监控GPU指令可以监控内存代码和数据状态。
首先结合图4对本发明实施例提供的实现GPU内存数据安全访问的方法进行说明,请参阅图4。一种实现GPU内存数据安全访问的方法,包括:
步骤100,接收对GPU内存数据的访问请求。
从上述图2和图3也可知道,对GPU内存数据的访问请求一般来自PCIE或GPU内部的计算单元,所以本发明实施例针对这两种途径制定了对GPU内存数据进行访问控制规则。
步骤102,判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。
其中,针对通过PCIE接收对GPU内存数据的访问请求,所述访问请求判断为不安全访问请求。
其中,针对接收来自GPU的计算单元对GPU内存数据的访问请求,则再判断所述访问请求是否包含安全标识,如果包含安全标识则所述访问请求判断为安全访问请求或伪安全请求,否则为不安全访问请求。
可选的,所述安全标识可用“0,1”进行标识,“0”表示不安全标识,“1”表示安全标识。
本发明实施例对GPU内存数据安全访问机制设置了两层保护机制,一层为判断所述访问请求是否包含安全标识,另一层为判断所述访问请求所要访问的内存数据是否为受保护数据,从而为GPU的内存数据提供了更高级别的保护,即使在CPU主机侧安全失去保障的情况下,也能保证GPU的用户数据不泄露。
图5为本发明实施例提供的配置寄存器定义受保护区域的示意图。在判断上述所述访问请求所请求访问的内存区域是否为受保护区域之前包括:
将所述内存区域配置为受保护区域和不受保护区域,并通过配置寄存器对所述内存区域的受保护区域的地址进行定义。
需要说明的是,所有对GPU内存数据的访问请求,都需要先通过系统设置的安全访问控制模块来执行,所述安全访问控制模块可以配置内存区域的哪些区域是受保护的。
可选的,安全访问控制模块设置有配置寄存器,所述通过配置寄存器对所述内存区域的受保护区域进行定义包括以下一种或多种组合:
(1)采用起始物理地址和长度的方式定义所述内存区域的受保护区域。
每个配置寄存器会定义一个受保护的内存区域,定义的方式可以采用起始物理地址和长度的方式。这种定义方式下,安全访问控制模块可以通过查询配置寄存器的方式,检查一个访问请求的地址是否在受保护的内存区域中。配置寄存器的数量可以按照需求来设定。
(2)采用比特位图的方式定义所述内存区域的受保护区域。
配置寄存器也可以采用比特位图(bitmap)的方式定义受保护的内存区域。比如将整个GPU的物理内存按照某个固定的粒度(比如2MB)分成很多片,每个内存片用比特位图中的一个比特表示它是否是受保护的,“0”表示不受保护,“1”表示受保护。
需要说明的是,当用于定义上述内存区域的配置寄存器发生改变时,安全访问控制模块会自动覆盖对应内存区域里的数据,比如清零或者写入无用数据,这样内存区域中受保护的数据就没法被读取或写入。
图6为本发明实施例提供的按照预设访问控制规则执行控制的流程图,如图所示,所述预设访问控制规则包括的步骤:
步骤600,当所述访问请求为安全请求时,允许所述访问请求执行所述内存区域的受保护区域和不受保护区域的读请求操作,允许所述访问请求执行所述内存区域的受保护区域的写请求操作,拒绝所述访问请求执行所述内存区域的不受保护区域的写请求操作。
步骤601,当所述访问请求为不安全请求时,拒绝所述访问请求执行所述内存区域的受保护区域的读请求操作,允许所述访问请求执行所述内存区域的不受保护区域的读请求操作,拒绝所述访问请求执行所述内存区域的受保护区域的写请求操作,允许所述访问请求执行所述内存区域的不受保护区域的写请求操作。
步骤602,当所述访问请求为伪安全请求时,允许所述访问请求执行所述内存区域的受保护区域和不受保护区域的读请求操作,允许所述访问请求执行所述内存区域的受保护区域的写请求操作,拒绝所述访问请求执行所述内存区域的不受保护区域的写请求操作。
由此可知,安全访问控制模块根据访问请求是否包含安全标识以及所请求的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求,所述预设访问控制规则如下表1所示:
表1
当命令处理器中处理的命令被恶意修改后,如果命令上的安全标识被篡改后,例如当安全标识被从0篡改为1后,伪装成安全时(称为“伪安全”命令),按照上述的预设访问控制规则,这类GPU程序是无法将受保护的内存数据写入到非安全内存区域,所以用户的数据依然处于安全内存区域的保护下。GPU内的受保护的内存区域,其数据只能由GPU内专用的安全加密单元通过加密的方式,将数据复制到不受保护的内存区域中,所以即使是伪安全的命令,也不会造成用户数据泄露。
图7为本发明一实施例提供的来自计算单元对GPU内存数据访问的示意图,如图所示。本发明实施例对GPU的计算单元可采用基于命令的安全保护设计。
例如,A用户Context(执行上下文)通过Kernel Launch(Kernel Launch为计算内核启动函数)线程启动安全保护指令,GPU计算任务的计算内核在通过命令被分配到计算单元时,命令上会带有安全状态标识。当计算单元在收到安全状态标识为“1”的计算任务时,计算单元将会为此计算任务启用安全状态。处于安全状态下的计算任务,其对缓存和内存的访问请求,计算单元均会强制带有安全状态标识。在发生内存A用户数据读写的情况下,安全访问控制模块根据上述预设访问控制规则,杜绝处于安全状态下的计算任务将数据写入到非安全的内存区域,杜绝了数据泄露,从而保护了用户数据。
而B用户Context通过Kernel Launch线程未启动安全保护指令,那么GPU的计算单元对内存B用户数据的访问时非安全状态下的访问。
图8为本发明另一实施例提供的来自计算单元对GPU内存数据访问的示意图,如图所示。当用户的计算内核通过命令被发送到GPU计算单元时,如图中A所示,命令内会带有一个安全状态标识“1”(“1”表示为安全状态)。当计算单元收到此安全标识时,如图中B所示,计算单元使能了安全状态,即计算单元内部为此计算内核启用安全状态,此后此计算内核会在安全状态下启动,而在结束退出之前,不可以改变任务的安全状态。当计算内核在安全状态下运行时,如上图中C所示,所有来自此任务的内存访问,都会在访问请求中包含为“1”的安全标识.在安全访问控制模块收到所述访问请求时,会按照前述的预设访问控制规则对访问进行控制。
需要说明的是,当计算任务处于安全状态时,计算任务也是无法将数据写入未受保护的非安全内存区域中的,即用户的私密数据无法从受保护的内存区域中泄露。
图9为本发明实施例提供的来自PCIE对GPU内存数据访问的示意图,如图所示。来自PCIE的访问请求的安全标识都是不安全的,所以CPU是无法通过PCIE MMIO(英文:Memory-mapped I/O,简称MMIO,中文:即内存映射I/O)直接访问受保护的内存区域的。
首先如图中A所示,乙用户Context未启动安全保护指令,一个未处于安全状态的计算内核,是无法访问内存区域的受保护的安全数据的,即无法访问甲用户数据。
其次,如图中B所示,即使B是处于安全状态的计算内核,也是无法改写页表,即无法映射到其他用户数据,因为页表本身的内存地址并没有被映射到普通用户的页表内。
另外,如图中C所示,每个GPU的执行上下文Context都绑定到了一个特定的地址空间标识(如甲用户Context绑定了甲地址空间标识,乙用户Context绑定了乙地址空间标识),这种绑定在硬件上在创建之后是无法改变的,直到这个Context运行结束。根据所绑定的地址空间标识,MMU(Memory Management Unit,简称MMU,中文名称:内存管理单元)作为一个受信任的硬件模块,它的访问请求都是带有安全标识的,即可访问处于安全内存区域的用户页目录、页表。
最后,如图中D所示,来自PCIE的访问请求是无法访问受保护的内存区域的,所以即使操作系统被破解,也是无法通过PCIE MMIO访问内存区域的页表和受保护的用户数据。
由此可知,本发明实施例提供的实现GPU数据安全访问的方法,结合了访问请求的安全标识和GPU内存的安全访问控制模块,可有效的保护GPU上用户私密数据的安全。
基于上述任一实施例,图10为本发明实施例提供的实现GPU内存数据安全访问的装置的结构示意图,如图10所示,该装置604包括接收模块605和安全访问控制模块606。接收模块605用于接收对GPU内存数据的访问请求,安全访问控制模块606用于判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。
需要说明的是,所有对GPU内存的访问请求,都需先经过安全访问控制模块进行处理,所述安全访问控制模块可配置哪些内存区域是受保护的。
图11为本发明实施例提供的电子设备的结构示意图,如图11所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑命令,以执行上述所述实现GPU内存数据安全访问的方法的步骤。
此外,上述的存储器630中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种GPU芯片,包括内存、控制单元及计算单元,,还包括用于访问所述内存的安全访问控制模块,所述安全访问控制模块执行上述所述的实现GPU内存数据安全访问的方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括实现GPU内存数据安全访问的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种实现GPU内存数据安全访问的方法,其特征在于,包括:
接收对GPU内存数据的访问请求;
判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。
2.根据权利要求1所述的方法,其特征在于,所述接收对GPU内存数据的访问请求包括以下一种或多种组合:
接收来自PCIE对GPU内存数据的访问请求;
接收来自GPU的计算单元对GPU内存数据的访问请求。
3.根据权利要求2所述的方法,其特征在于,所述判断所述访问请求是否为安全请求包括:
针对接收来自PCIE对GPU内存数据的访问请求,所述访问请求判断为不安全访问请求;
针对接收来自GPU的计算单元对GPU内存数据的访问请求,则再判断所述访问请求是否包含安全标识,如果包含安全标识则所述访问请求判断为安全访问请求或伪安全请求,否则为不安全访问请求。
4.根据权利要求3所述的方法,其特征在于,所述针对接收来自GPU的计算单元对GPU内存数据的访问请求,是由Kernel Launch线程启动安全保护指令通过计算内核下发至所述计算单元的计算任务,所述计算任务带有安全标识,当所述计算任务执行完毕后,所述计算内核释放所述计算任务的安全保护指令。
5.根据权利要求3所述的方法,其特征在于,所述判断所述访问请求所请求访问的内存区域是否为受保护区域之前包括:
将所述内存区域配置为受保护区域和不受保护区域,并通过配置寄存器对所述内存区域的受保护区域的地址进行定义。
6.根据权利要求5所述的方法,其特征在于,所述通过配置寄存器对所述内存区域的受保护区域进行定义包括以下一种或多种组合:
采用起始物理地址和长度的方式定义所述内存区域的受保护区域;
采用比特位图的方式定义所述内存区域的受保护区域。
7.根据权利要求3所述的方法,其特征在于,所述按照预设访问控制规则来控制是否执行所述访问请求包括:
当所述访问请求为安全请求时,允许所述访问请求执行所述内存区域的受保护区域和不受保护区域的读请求操作,允许所述访问请求执行所述内存区域的受保护区域的写请求操作,拒绝所述访问请求执行所述内存区域的不受保护区域的写请求操作;
当所述访问请求为不安全请求时,拒绝所述访问请求执行所述内存区域的受保护区域的读请求操作,允许所述访问请求执行所述内存区域的不受保护区域的读请求操作,拒绝所述访问请求执行所述内存区域的受保护区域的写请求操作,允许所述访问请求执行所述内存区域的不受保护区域的写请求操作;
当所述访问请求为伪安全请求时,允许所述访问请求执行所述内存区域的受保护区域和不受保护区域的读请求操作,允许所述访问请求执行所述内存区域的受保护区域的写请求操作,拒绝所述访问请求执行所述内存区域的不受保护区域的写请求操作。
8.根据权利要求5所述的方法,其特征在于,所述接收对GPU内存数据的访问请求还包括:
如果所述访问请求对所述配置寄存器受保护区域的地址进行改写时,执行覆盖所述地址对应内存区域的数据的操作。
9.一种实现GPU内存数据安全访问的装置,其特征在于,包括:
接收模块,用于接收对GPU内存数据的访问请求;
安全访问控制模块,用于判断所述访问请求是否为安全请求以及判断所述访问请求所请求访问的内存区域是否为受保护区域,按照预设访问控制规则来控制是否执行所述访问请求。
10.一种GPU芯片,包括内存、控制单元及计算单元,其特征在于,还包括用于访问所述内存的安全访问控制模块,所述安全访问控制模块执行如权利要求1至8中任一项所述的实现GPU内存数据安全访问的方法的步骤。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8中任一项实现GPU内存数据安全访问的方法的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8中任一项所述的实现GPU内存数据安全访问的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232357.4A CN112417470B (zh) | 2020-11-06 | 2020-11-06 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232357.4A CN112417470B (zh) | 2020-11-06 | 2020-11-06 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417470A true CN112417470A (zh) | 2021-02-26 |
CN112417470B CN112417470B (zh) | 2023-06-27 |
Family
ID=74782032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011232357.4A Active CN112417470B (zh) | 2020-11-06 | 2020-11-06 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417470B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344764A (zh) * | 2021-05-11 | 2021-09-03 | 中天恒星(上海)科技有限公司 | 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质 |
CN113886834A (zh) * | 2021-09-29 | 2022-01-04 | 南方科技大学 | 基于arm架构的gpu可信执行方法、系统、设备及存储介质 |
CN115114003A (zh) * | 2022-07-04 | 2022-09-27 | 上海交通大学 | Gpu动态多任务可控并发执行方法及系统 |
CN115269198A (zh) * | 2022-08-10 | 2022-11-01 | 抖音视界有限公司 | 基于服务器集群的访问请求处理方法及相关设备 |
CN115587348A (zh) * | 2022-11-24 | 2023-01-10 | 中国人民解放军国防科技大学 | Pcie设备访存的可配置安全控制方法、装置及介质 |
CN119106454A (zh) * | 2024-11-05 | 2024-12-10 | 上海壁仞科技股份有限公司 | 用于控制数据访问的方法、计算装置、介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150052325A1 (en) * | 2013-08-16 | 2015-02-19 | Arm Limited | Data processing systems |
CN105229608A (zh) * | 2013-03-15 | 2016-01-06 | 惠普发展公司,有限责任合伙企业 | 基于协处理器的面向数组的数据库处理 |
CN106295267A (zh) * | 2015-06-09 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种访问电子设备的物理内存中私密数据的方法和装置 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
CN111338988A (zh) * | 2020-02-20 | 2020-06-26 | 西安芯瞳半导体技术有限公司 | 内存访问方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-06 CN CN202011232357.4A patent/CN112417470B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105229608A (zh) * | 2013-03-15 | 2016-01-06 | 惠普发展公司,有限责任合伙企业 | 基于协处理器的面向数组的数据库处理 |
US20150052325A1 (en) * | 2013-08-16 | 2015-02-19 | Arm Limited | Data processing systems |
CN106295267A (zh) * | 2015-06-09 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种访问电子设备的物理内存中私密数据的方法和装置 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
CN111338988A (zh) * | 2020-02-20 | 2020-06-26 | 西安芯瞳半导体技术有限公司 | 内存访问方法、装置、计算机设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344764A (zh) * | 2021-05-11 | 2021-09-03 | 中天恒星(上海)科技有限公司 | 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质 |
CN113344764B (zh) * | 2021-05-11 | 2024-04-19 | 中天恒星(上海)科技有限公司 | 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质 |
CN113886834A (zh) * | 2021-09-29 | 2022-01-04 | 南方科技大学 | 基于arm架构的gpu可信执行方法、系统、设备及存储介质 |
CN115114003A (zh) * | 2022-07-04 | 2022-09-27 | 上海交通大学 | Gpu动态多任务可控并发执行方法及系统 |
CN115114003B (zh) * | 2022-07-04 | 2024-05-28 | 上海交通大学 | Gpu动态多任务可控并发执行方法及系统 |
CN115269198A (zh) * | 2022-08-10 | 2022-11-01 | 抖音视界有限公司 | 基于服务器集群的访问请求处理方法及相关设备 |
CN115587348A (zh) * | 2022-11-24 | 2023-01-10 | 中国人民解放军国防科技大学 | Pcie设备访存的可配置安全控制方法、装置及介质 |
CN119106454A (zh) * | 2024-11-05 | 2024-12-10 | 上海壁仞科技股份有限公司 | 用于控制数据访问的方法、计算装置、介质和程序产品 |
CN119106454B (zh) * | 2024-11-05 | 2025-02-25 | 上海壁仞科技股份有限公司 | 用于控制数据访问的方法、计算装置、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112417470B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417470B (zh) | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 | |
EP3761208B1 (en) | Trust zone-based operating system and method | |
US10810309B2 (en) | Method and system for detecting kernel corruption exploits | |
CN108154032B (zh) | 具有内存完整性保障功能的计算机系统信任根构建方法 | |
KR101952226B1 (ko) | 보안 인터렉션 방법 및 장치 | |
US12147588B2 (en) | Controlled access to data stored in a secure partition | |
US12079379B2 (en) | Peripheral component interconnect express protection controller | |
US8359443B2 (en) | Secure memory access system and method | |
CN102541765A (zh) | 处理器主存储器的存储器内容的安全保护 | |
CN104520867A (zh) | 用于目标装置的主动监测、存储器保护和完整性验证的方法、系统和计算机可读介质 | |
CN112818327A (zh) | 基于TrustZone的用户级代码和数据安全可信保护方法及装置 | |
US10795591B2 (en) | Safe userspace device access for network function virtualization using an IOMMU to map supervisor memory to a reserved range of application virtual addresses | |
US20190370439A1 (en) | Secure system on chip for protecting software program from tampering, rehosting and piracy and method for operating the same | |
US11775201B2 (en) | Apparatus and method for providing one time programmable memory features in a hypervisor of a computing device | |
US10754967B1 (en) | Secure interrupt handling between security zones | |
US20230281304A1 (en) | Method for switching execution environment and related device thereof | |
WO2024244701A1 (zh) | 一种通过硬件防火墙实现的访问控制方法及一种芯片内硬件防火墙 | |
US10592663B2 (en) | Technologies for USB controller state integrity protection | |
US20220391235A1 (en) | System and methods for input/output device emulation | |
CN115982699A (zh) | 基于安全内存的恶意攻击防御方法、装置、设备及介质 | |
CN111382111B (zh) | 一种应用处理器、协处理器及数据处理设备 | |
US10740454B2 (en) | Technologies for USB controller state integrity protection with trusted I/O | |
Dai et al. | OPTZ: A hardware isolation architecture of multi-tasks based on TrustZone support | |
CN108369558B (zh) | 用于运行微控制器的方法 | |
CN111382442B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 201114 room 1302, 13 / F, building 16, 2388 Chenhang Road, Minhang District, Shanghai Patentee after: Shanghai Bi Ren Technology Co.,Ltd. Country or region after: China Address before: 201114 room 1302, 13 / F, building 16, 2388 Chenhang Road, Minhang District, Shanghai Patentee before: Shanghai Bilin Intelligent Technology Co.,Ltd. Country or region before: China |