当前位置: 首页 > 专利查询>辉达公司专利>正文

在密码操作期间防止不受信任的软件重置制造技术

技术编号:38707978 阅读:12 留言:0更新日期:2023-09-08 14:48
本公开涉及在密码操作期间防止不受信任的软件重置。通过直接存储器存取(DMA)引擎处理故障的装置、系统和技术。当DMA引擎检测到与加密或解密操作相关联的错误时,DMA引擎将错误报告给CPU,CPU可能正在执行指导DMA操作的不受信任的软件,以及安全处理器。DMA引擎在响应于来自潜在不受信任软件的进一步指示之前等待安全处理器的清除。等待安全处理器的清除。等待安全处理器的清除。

【技术实现步骤摘要】
在密码操作期间防止不受信任的软件重置


[0001]至少一个实施例涉及用于执行和促进机密数据传输的处理资源。例如,至少一个实施例涉及用于在密码操作期间防止不受信任的软件重置的硬件电路。

技术介绍

[0002]加速器电路包括直接存储器传输(DMA)电路以独立于中央处理单元(CPU)来访问系统存储器。DMA电路还可用于数据在存储器内或存储器之间的存储器到存储器的复制或移动。当需要保护数据时,DMA电路可以实现密码电路来加密和解密从安全存储器复制的数据和复制到安全存储器的数据。用户空间中可能会发生严重的安全故障,例如认证错误,并且通常这些故障会被报告给系统软件,例如图形处理单元(GPU)资源管理器(RM)。在密码操作期间,系统软件是不受信任的,因此报告给RM的用户空间中的严重安全故障不能被依赖,因为系统软件可以掩盖严重安全故障报告,向用户隐藏认证错误。此外,即使将严重的安全故障报告给安全软件,DMA电路的重置也会由不受信任的系统软件处理。如果在安全软件处理严重安全故障之前触发重置,则不受信任的系统软件可能会掩盖错误与适当上下文的关联。
附图说明
[0003]图1是根据至少一些实施例的具有加速器电路的计算系统的框图,该加速器电路包括复制引擎,该复制引擎在加速器电路的密码操作期间防止来自不受信任的软件的重置;
[0004]图2是根据至少一些实施例的在复制引擎和安全处理器之间具有私有接口的加速器电路的框图;
[0005]图3是根据至少一些实施例的加速器电路的复制引擎的框图;
[0006]图4是根据至少一些实施例的复制引擎与安全处理器和GPU系统处理器之间的中断线的框图;
[0007]图5是根据至少一些实施例的其中检测到错误的加密操作的流程图;
[0008]图6是根据至少一些实施例的其中检测到错误的解密操作的流程图;
[0009]图7是根据至少一些实施例的在密码操作期间防止不受信任的软件重置直到一个或更多个中断状态位被清除的方法的流程图;和
[0010]图8是根据至少一些实施例的具有加速器的计算系统的框图,该加速器包括保证计算系统的多个用户之间的公平性的复制引擎。
具体实施方式
[0011]如上所述,DMA电路可以用于数据在存储器内的存储器到存储器的复制或移动并且可以包括密码硬件以保护数据。在密码操作期间,系统软件是不受信任的,并且可能会向用户隐藏认证错误。此外,不受信任的系统软件可以在严重安全故障被处理之前重置DMA电
路,从而可能暴露数据。例如,如果部分认证的文本在认证错误后不被安全软件删除,则可能会被暴露。再举一个例子,如果在初始化向量(IV)计数器溢出错误后不通过安全软件重新配置,则IV可以被暴露和重新使用。如果在重置之前未处理严重安全故障,则存在一个窗口,其中密码硬件使用的数据可能会暴露给攻击者。
[0012]本公开的方面和实施例通过提供用于报告严重安全故障的安全报告路径和保持来自不受信任软件的重置信号直到严重安全故障被清除的重置处理逻辑,来解决这些和其他挑战。在至少一个实施例中,一种加速器电路包括通过私有接口耦合到安全处理器和通过加密接口耦合到中央处理单元(CPU)的DMA引擎(也称为复制引擎(CE))。DMA引擎通过密码硬件引擎检测与加密或解密操作相关联的错误。DMA引擎在安全处理器可访问的第一寄存器中设置一个或更多个中断状态位。DMA引擎向CPU和安全处理器报告与错误相关联的一个或更多个中断。安全处理器执行一个或更多个操作以清除一个或更多个中断状态位。DMA引擎可以从不受信任的软件接收重置信号。DMA引擎保持重置信号(以防止DMA引擎重置),直到安全处理器清除一个或更多个中断状态位。响应于被安全处理器清除的一个或更多个中断状态位,执行DMA引擎的重置。
[0013]加速器电路可以是图形处理单元(GPU)、深度学习加速器(DLA)电路、智能处理单元(IPU)、神经处理单元(NPU)、张量处理单元(TPU)、神经网络处理器(NNP)、数据处理单元(DPU)、视觉处理单元(VPU)、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。加速器电路可以通过提供加速核心深度学习操作的构建块来解决神经网络推理阶段的计算需求。例如,深度学习加速器可用于加速不同的神经网络,例如卷积神经网络(CNN)、递归神经网络(RNN)、全连接神经网络等。
[0014]加速器电路可以由耦合到加速器电路的主机中央处理单元(CPU)调度。或者,加速器电路可以由固件在本地进行调度以确保最小延迟。加速器电路可用于这些神经网络中的不同类型的层,例如用于卷积、激活函数、池化、批量归一化等的固定函数引擎。应该注意,从算法的角度来看,神经网络可以用一组层(在本文中称为“原始层”)来指定,例如偏差和批量归一化。那些原始层可以被编译或转换成另一组层(在本文中称为“硬件层”),其中每个硬件层用作要在加速器电路上执行的用于调度的基本元素。原始层和硬件层之间的映射可以是m:n,其中m是原始层数,而n是硬件层数。例如,在神经网络中,原始层偏差、批量归一化和局部响应归一化(LRN),例如整流线性单元(ReLU),可以编译到一个硬件层中。在这种情况下,m:n是3:1。每个硬件层可以由加速器电路执行操作的基本硬件指令来表示,并且每个层可以通过存储器接口与另一层通信。例如,第一层可以由DLA电路中的第一固定函数引擎执行,其接收输入张量,对输入张量执行操作以生成输出张量,并将输出张量存储在系统存储器中,例如与加速器耦合的动态随机存取存储器(DRAM)。第二固定函数引擎可以执行第二层,该第二层从存储器中接收来自第一层的输出张量作为第二输入张量,对第二输入张量执行操作以生成第二输出张量,并将第二输出张量存储在DRAM中。每次通信都会在存储器接口中引入张量读取操作和张量写入操作。
[0015]图1是根据至少一些实施例的具有加速器电路102的计算系统100的框图,该加速器电路102包括复制引擎120,该复制引擎120在加速器电路102的密码操作期间防止来自不受信任软件的重置。计算系统100被认为是无头系统,其中加速器电路102的逐单元管理发生在主系统处理器CPU 104上。加速器电路102包括中断接口106、配置空间总线(CSB)接口
108、主数据总线接口110(数据主干接口(DBBIF))、辅助数据总线接口112和复制引擎(CE)120,如下面更详细描述的。CPU 104和加速器电路102耦合到系统存储器114(例如DRAM)。加速器电路102经由主数据总线接口110耦合到系统存储器114。加速器电路102可以经由辅助数据总线接口112耦合到辅助存储器116,例如视频存储器(DRAM和/或SRAM)。CSB接口108可以是实现寄存器文件(例如,配置寄存器)和中断接口的控制通道接口。在至少一个实施例中,CSB接口108是一种同步、低带宽、低功率、32位控制总线,被设计为供CPU 104用来访问加速器电路102中的配置寄存器。中断接口可以是1位电平驱动的中断。当任务完成或发生错误时,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加速器电路,包括:直接存储器存取DMA引擎,其耦合到中央处理单元CPU,所述DMA引擎包括密码硬件引擎;以及安全处理器,其经由私有接口耦合到所述DMA引擎并经由加密接口耦合到所述CPU,其中所述DMA引擎用于:检测与所述密码硬件引擎的加密或解密操作相关联的错误;在所述安全处理器可访问的第一寄存器中设置一个或更多个中断状态位;向所述CPU和所述安全处理器报告与所述错误相关联的一个或更多个中断;从由所述CPU执行的不受信任的软件接收重置信号;保持所述重置信号直到所述一个或更多个中断状态位被所述安全处理器清除;以及响应于所述一个或更多个中断状态位被所述安全处理器清除而启动重置。2.如权利要求1所述的加速器电路,还包括耦合到所述DMA引擎和所述CPU的中断控制器,其中所述中断控制器用于从所述DMA引擎接收所述一个或更多个中断并将所述一个或更多个中断发送到所述CPU。3.如权利要求1所述的加速器电路,其中所述安全处理器用于:执行一个或更多个操作以保护与所述加密或解密操作相关联的上下文;以及响应于所述一个或更多个操作而清除所述第一寄存器中的所述一个或更多个中断状态位。4.如权利要求3所述的加速器电路,其中所述安全处理器还用于执行受信任软件,其中所述受信任软件用于向所述不受信任的软件发送所述一个或更多个中断。5.如权利要求1所述的加速器电路,其中所述密码硬件引擎是高级加密标准伽罗瓦计数器模式AES

GCM硬件引擎。6.如权利要求1所述的加速器电路,其中所述DMA引擎包括:所述安全处理器可访问的所述第一寄存器,其中所述CPU不可访问所述第一寄存器;和所述CPU可访问的第二寄存器,其中所述第二寄存器是存储器映射输入输出MMIO。7.如权利要求1所述的加速器电路,其中所述加速器电路为图形处理单元GPU、深度学习加速器DLA电路、智能处理单元IPU、神经处理单元NPU、张量处理单元TPU、神经网络处理器NNP、数据处理单元DPU、视觉处理单元VPU、专用集成电路ASIC或现场可编程门阵列FPGA。8.如权利要求1所述的加速器电路,其中所述加速器电路是图形处理单元GPU,其中所述DMA引擎包括由所述CPU可访问的第二寄存器,其中所述不受信任的软件是第一资源管理器,其中所述DMA引擎用于通过所述第一资源管理器设置所述第二寄存器中的位来接收所述重置信号,其中由所述安全处理器执行的第二资源管理器用于清除所述第一寄存器中的所述一个或更多个中断状态位。9.如权利要求1所述的加速器电路,其中所述加速器电路包括在所述CPU可访问的外围组件互连PCI配置空间中的控制寄存器,其中所述第一寄存器不可由所述CPU访问。10.如权利要求1所述的加速器电路,其中所述DMA引擎包括:第一中断线,如果所述第一寄存器中的任何中断状态位被设置,则激活所述第一中断线;第一逻辑计算引擎LCE;
第一物理计算引擎PCE,其耦合到所述第一LCE并包括所述密码硬件引擎;第二PCE,其耦合到所述第一LCE并包括第二密码硬件引擎;以及第二LCE,其中由所述安全处理器执行的第二资源管理器用于读取所述第一寄存器以确定所述第一LCE或第二LCE中的哪个具有所述错误。11.如权利要求1所述的加速器电路,其中所述加速器电路是图形处理单元GPU,其中所述GPU包括所述DMA引擎、所述安全处理器和GPU系统处理器GSP,其中所述GSP经由私有接口耦合到所述DMA引擎,其中所述DMA引擎进一步用于:检测与所述密码硬件引擎的第二加密或解密操作相关联的第二错误;在所述GSP可访问的第二个寄存器中设置一个或更多个中断状态位;向所述CPU报告与所述第二错误相关联的一个或更多...

【专利技术属性】
技术研发人员:A
申请(专利权)人:辉达公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1