【技术实现步骤摘要】
公平利用多个上下文共享加密硬件
[0001]至少一个实施例涉及用于执行和促进机密数据传送的处理资源。例如,至少一个实施例涉及用于公平利用多个上下文共享加密(cryptographic)硬件的硬件电路。
技术介绍
[0002]加速器电路包括直接存储器传送(DMA)电路以独立于中央处理单元(CPU)来访问系统存储器。DMA电路还可用于存储器到存储器的复制或在存储器内或存储器之间的数据移动。当数据需要被保护时,DMA电路可以实现加密电路来加密和解密正从安全存储器复制和复制到安全存储器的数据。一些加密算法使用需要对数据进行顺序分析的顺序操作。这些顺序操作为多个客户共享加密电路带来了一些挑战,例如当数据中心中的加速器电路在多个用户之间共享时。一些实现对传送大小进行了限制以支持跨使用进行仲裁的公平性。这并不理想,因为一些传送大小非常大,而一些传送大小相比之下非常小。或者,一些实现为加密数据流中的每个块创建认证标签并使用单独的初始化向量(IV)。然而,这增加了利用加密硬件的内存占用。
附图说明
[0003]图1是根据至少一些实施例的、具有加速器电路的计算系统的框图,该加速器电路包括支持加速器电路的多个用户之间的或单个应用程序中的或属于单个用户的多个数据流之间的公平性的复制引擎;
[0004]图2是根据至少一些实施例的、加速器电路的复制引擎的框图;
[0005]图3是根据至少一些实施例的、调度要由DMA电路执行的单个数据传送的流程的功能图;
[0006]图4图示了根据至少一些实施例的、具有多个 ...
【技术保护点】
【技术特征摘要】
1.一种加速器电路,包括:安全存储器;调度器电路;以及直接存储器访问DMA电路,其耦合到所述调度器电路和所述安全存储器,其中所述DMA电路包括加密电路,所述加密电路实施经认证的加密算法来加密从所述安全存储器检索的数据或解密接收到的将被存储在所述安全存储器中的数据,其中所述调度器电路用于:从第一应用程序接收第一大小的第一数据传送的第一描述符,所述第一描述符指定所述安全存储器中对应于所述第一应用程序的第一索引;以及将所述第一数据传送拆分为第一组部分,每个部分小于或等于所述第一大小并且需要在上下文切换到另一个应用程序之前完成执行;其中所述DMA电路用于:在第一时段期间,使用与所述第一应用程序相关联的第一初始化向量IV和第一加密密钥顺序地执行所述第一组部分的第一子集,并在指定的第一索引处将第一计算的散列键和第一块计数器存储在所述安全存储器中;以及在所述第一时段随后的第二时段期间,使用在指定的第一索引处存储在所述安全存储器中的所述第一计算的散列键和所述第一块计数器顺序地执行所述第一组部分的第二子集,并存储与所述第一数据传送相关联的第一认证标签。2.根据权利要求1所述的加速器电路,其中:所述调度器电路进一步用于:从第二应用程序接收第二大小的第二数据传送的第二描述符,所述第二描述符指定所述安全存储器中对应于所述第二应用程序的第二索引;以及将所述第二数据传送拆分成第二组部分,每个部分小于或等于所述第二大小,并且需要在上下文切换到另一个应用程序之前完成执行;所述DMA电路进一步用于:在第三时段期间,使用与所述第二应用程序相关联的第二IV和第二加密密钥顺序地执行所述第二组部分的第一子集;在所述第三时段结束时,在指定的第二索引处将第二计算的散列键和第二块计数器存储在所述安全存储器中;在所述第三时段随后的第四时段期间,使用在指定的第二索引处存储在所述安全存储器中的所述第二计算的散列键和所述第二块计数器顺序地执行第二组部分的第二子集;以及在所述第四时段结束时,存储与所述第二数据传送相关联的第二认证标签。3.根据权利要求1所述的加速器电路,其中,所述经认证的加密算法是高级加密标准伽罗瓦计数器模式AES
‑
GCM。4.根据权利要求1所述的加速器电路,其中,所述第一描述符是加密操作描述符,其中所述DMA电路还用于:从所述安全存储器中检索所述第一IV和所述第一加密密钥;通过使用所述第一加密密钥的第一块密码对所述第一IV和所述第一块计数器的第一
值进行加密来获得第一结果;通过使用所述第一加密密钥的第二块密码对所述第一IV和所述第一块计数器的第二值进行加密来获得第二结果;将所述第二结果与第一明文组合来获得第一密文;将所述第一密文与零块组合来获得所述第一计算的散列键的第一值,其中所述第一值是用于所述第一数据传送的部分认证标签;检索所述第一IV、所述第一块计数器的当前值和所述第一计算的散列键的当前值;通过使用所述第一加密密钥的第三块密码对所述第一IV和所述第一块计数器的所述当前值进行加密来获得第三结果;将所述第三结果与第二明文组合来获得第二密文;将所述第二密文与所述第一计算的散列键的所述当前值组合来获得第四结果;将所述第四结果与一段密文组合来获得第五结果;以及将所述第五结果与所述第一结果组合来获得第一认证标签。5.根据权利要求1所述的加速器电路,其中,所述第一描述符是解密操作描述符,其中所述DMA电路进一步用于:从所述安全存储器中检索所述第一IV和所述第一加密密钥;通过使用所述第一加密密钥的第一块密码对所述第一IV和所述第一块计数器的第一值进行加密来获得第一结果;通过使用所述第一加密密钥的第二块密码对所述第一IV和所述第一块计数器的第二值进行加密来获得第二结果;将所述第二结果与第一密文组合来获得第一明文;将所述第一密文和零块组合来获得所述第一计算的散列键的第一值,其中所述第一值是用于所述第一数据传送的部分认证标签;检索所述第一IV、所述第一块计数器的当前值和所述第一计算的散列键的当前值;通过使用所述第一加密密钥的第三块密码对所述第一IV和所述第一块计数器的所述当前值进行加密来获得第三结果;将所述第三结果与第二密文组合来获得第二明文;将所述第二明文与所述第一计算的散列键的所述当前值组合来获得第四结果;将所述第四结果与一段密文组合来获得第五结果;以及将所述第五结果与所述第一结果组合来获得第一认证标签。6.根据权利要求2所述的加速器电路,其中所述第一大小和所述第二大小是不同的,并且其中所述调度器电路被配置为保证跨所述第一应用程序和所述第二应用程序的服务质量QoS要求的公平性,而不管所述第一大小和所述第二大小。7.根据权利要求1所述的加速器电路,其中,所述加速器电路是图形处理单元(GPU)、深度学习加速器(DLA)电路、智能处理单元(IPU)、神经处理单元(NPU)、张量处理单元(TPU)、神经网络处理器(NNP)、数据处理单元(DPU)、视觉处理单元(VPU)、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。8.根据权利要求2所述的加速器电路,还包括DMA缓冲器,用于存储用于第一应用程序的第一推送缓冲区和用于第二应用程序的第二推送缓冲区,其中所述第一推送缓冲区存储
将针对所述第一应用程序执行的操作的规范和所述第一索引,并且其中所述第二推送缓冲区存储将针对所述第二应用程序执行的操作的规范和所述第二索引。9.根据权利要求8所述的加速器电路,其中,所述DMA缓冲器用于存储用于所述第二应用程序的第三推送缓冲区,其中所述第二推送缓冲区在所述第二推送缓冲区的末端存储信号量,所述信号量将由所述DMA电路释放。10.根据权利要求1所述的加速器电路,其中,所述DMA电路包括:逻辑计算引擎LCE;第一物理计算引擎PCE,其耦合到所述LCE并包括所述加密电路、第一读取流水线和第一写入流水线;以及第二PCE,其耦合到所述LCE并包括第二加密电路、第二读取流水线和第二写入流水线。11.一种方法,包括:由加速器电路接收与第一应用程序相关联的第一大小的第一数据传送的第一描述符,所述第一描述符指定安全存储器中对应于所述第一应用程序的第一索引;由所述加速器电路将所述第一数据传送拆分为第一组部分,每个部分小于或等于所述第一大小并且需要在上下文切换到另一个应用程序之前完成执行;在第一时段期间,由所述加速器电路,使用与所述第一应用程序相关联的第一初始化向量IV和第一加密密钥,通过经认证的加密算法顺序地执行所述第一组部分的第一子集,并且由所述加速器电路在指定的第一索引处将第一计算的散列键和第一块计数器存储在所述安全...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。