一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异构处理器通过开放式连接器进行具有远距认证及信息独立的可信运算系统及方法与流程

2022-06-09 00:40:53 来源:中国专利 TAG:


1.本揭示文件关于一种用于在异构处理器通过开放式连接器执行具有远距认证以及信息独立的可信计算。特别关于一种安全且可信的计算架构及其方法。本揭示文件关联于确保异构处理单元(例如:图像处理单元(graphic processing unit;gpu)、神经网络处理单元(neural processing unit;npu)以及视觉处理单元(video processing unit;vpu)等等

)与中央处理单元(central processing unit;cpu)通过标准开放式连接器(例如:以太、通用串行汇流排(universal serial bus;usb)以及序列周边介面(serial peripheral interface bus;spi)等等

)所执行的程序、解析模块以及处理数据具有真实性、机密性及完整性。


背景技术:

2.在一些研究中提出为了保护异构处理器而创造具有特定存取权的领域的想法。然而,这样的提议通常需要专用芯片网络(network on chip;noc)的硬件设计,例如,芯片网络防火墙。在本揭示文件中,借由在中央处理单元与异构处理单元的丛集之间建立静态链接,可以降低对于专用芯片网络的硬件设计需求。并且,在本揭示文件中更简易的(且较限定的)设计不会被任何固件的修改需求所限制,因此本揭示文件的设计更合适使用在嵌入式系统。在一些研究中,提出了在三个相异的执行环境执行关键的、可信的以及不可信的应用程序的想法。然而,在前述研究中,也是采用专用芯片网络的硬件设计(例如,单写多读的芯片网络)使处理器可以自由的与不同的执行环境联系。在本揭示文件中,借由将多个处理器系统之中的特定处理器联系至各自的执行环境,简化了信息独立的机制并借此避免了专用硬件芯片的使用。


技术实现要素:

3.本揭示文件提供计算器架构以及计算器的运作用于确保由异构处理单元(heterogeneous processing unit;xpu)所执行程序、深度学习(deep learning;dl)或机器学习(machine learning;ml)的真实性、机密性以及完整性。计算器架构包含异构处理单元、开放式连接器以及中央处理单元(central processing units;cpu)。异构处理单元的缩写”xpu”中的”x”代表各种类型的特殊处理单元,异构处理单元包含但不限于图像处理单元(graphic processing unit;gpu)、神经网络处理单元(neural processing unit;npu)、张量处理单元(tensor processing units;tpu)以及视觉处理单元(video processing unit;vpu)。标准开放式连接器包含但不限于以太、标准扩充汇流排(peripheral component interconnect;pci)、通用串行汇流排(universal serial bus;usb)以及串列周边介面(serial peripheral interface;spi)。前述的异构处理单元借由前述的标准开放式连接器与中央处理单元连接以实现信息独立而不需使用硬件的存储器管理单元(memory management units;mmu)或汇流排仲裁单元(bus arbitration unit;bau)以及汇
流排多路复用单元(bus multiplexing unit;bmu)。
4.在本揭示的计算器架构以及计算器的操作方法是如同在具有信息独立保护的cpu中执行计算任务般的运行xpu,并且对于在执行状态中的cpu及xpu提供远距认证的支持。因此,在处理单元(例如:xpu、npu及vpu)之中的程序、深度学习模块、机器学习模块以及数据具有真实性、机密性及完整性的保证,并且可以执行不同的计算任务。
5.本揭示文件的首先揭露一种计算器操作方法以在系统硬件平台中的非保护区域所实现的虚拟机(virtual machine;vm)中建立可信开放执行环境(trusted rich execution environment;tree)。前述系统硬件平台中的非保护区域包含一或多个专属cpu及连接至共享汇流排的共享存储器的专用区域。随着由可信执行环境(trusted execution environment;tee)提供的安全服务在系统硬件平台的保护区域建立,tree提供在tree中所处理的程序、模块及数据真实性、机密性及完整性的保护,以将在tree中所处理的程序、模块及数据从其他类似方法建立的tree之中及在不具备来自tee安全支持下所运行的ree之中所处理的程序区隔开来。前述硬件平台的保护区域包含一个或多个专属cpu、加密处理器及存储器的保护区域。
6.本揭示文件亦揭露计算器操作方法以延伸由tree提供的信息独立。为了将tree涵盖至由开放式连接器与cpu连接的xpu之中,在与cpu相关联的加密处理器以及与xpu相关联的加密处理器之间成功的建立安全通信信道并且成功完成互相认证之后,tree经建立在由开放式连接器与专属cpu连接的xpu之中。
7.本揭示文件亦揭露一种计算器计算作方法。借由与xpu关联的加密处理器的使用,并且通过在tree中的xpu及专属cpu之间建立安全通信,执行xpu的执行状态中的远距认证。
8.本揭示文件运算系统需要设置两个加密处理器,其中一个与专属cpu相关联,另一个与xpu相关联。两个加密处理器须要能够执行以下安全功能:(1)在tee及tree中执行软件的安全启动;(2)在专属cpu及xpu之间的互相认证;(3)在专属cpu及xpu之间的安全信道提供数据源验证、数据真实性及完整性的保护。
9.本揭示文件的运算系统亦需要具备标准性能以执行处理器的作业系统功能,并且中断在xpu与cpu之间通过开放式连接器的信息交换,以将前述信息交换引导至tree中的专属cpu之中。这项性能是操作系统的标准特性。
10.在本揭示文件中的运算系统亦需要具备标准性能以支持在tree中的专属cpu与具备加密处理器的tee中的专属cpu之间的安全信息交换。这种标准性能是国际标准化组织(globalplatform)对tee标准规范的基础特性。
11.需要注意的是前面通常的描述以及接续详细的说明皆为示例,并且旨在提供本揭示文件进一步的说明。
附图说明
12.为使本揭露的上述和其他目的、特征、优点与实施例能更明显易懂,附图的说明如下:
13.图1为本揭露一实施例的异构计算系统的功能架构的示意图,异构计算系统包含主计算子系统、异构计算子系统以及连接两个子系统的开放式连接器。
14.图2为本揭露一实施例的异构计算系统的软件架构的三个不同的执行环境的示意
图,软件架构的三个不同的执行环境包含可信执行环境(trusted execution environment;tee)、可信开放执行环境(trusted rich execution environment;tree)以及沿着硬件平台以及虚拟机监视器的可信开放执行环境的扩展范围。
15.图3为本揭露一实施例的从系统启动或重置且在中央处理单元及异构处理单元的安全通信的建立且成功完成互相认证之后可信开放执行环境的范围延伸至涵盖异构处理单元以实现可信执行环境以及可信开放执行环境的启动顺序的流程图。
具体实施方式
16.下列举实施例配合附图做详细说明,但所提供的实施例并非用以限制本揭露所涵盖的范围。为使便于理解,下述说明中相同元件或相似元件将以相同的符号标示来说明。接续将更详细的叙述本揭示文件的实施例,实施例会与附图配合说明。在附图及说明中的相同参考标号用于代表相同或相似部分。随着物联网(internet of things;iot)的到来,大量的数据被各式的传感器搜集且由在环境中嵌入的计算节点分析。在边缘计算的新兴范式中,异构计算系统,例如配设cpu、gpu、npu以及vpu(统称称为xpu)的边缘计算节点,时常用于对邻近数据源的多个使用者进行实时数据分析。为了支持多租户(multi-tenancy)的需求,例如在保持信息的隐私及独立且遵守各个使用者的使用策略时允许多个使用者在共同平台中执行计算任务的性能,需要异构计算系统以在不同使用者的计算任务之中实施具有真实性、机密性及完整性的信息独立。然而,由于在嵌入式异构计算系统中的硬件虚拟化支持的匮乏,在边缘计算节点之中无法充分实施系统层级的信息独立。
17.在本揭示文件中提供一种软件系统架构以及程序方法通过输入/输出通道(input/output channel;i/o channel)且不使用共享存储器来交换信息,借此对于在cpu及xpu之间交换的信息实施信息真实性、机密性以及完整性的保护。本揭示文件包含一种方法,用于在主计算器中的硬件平台的未保护区域中建立作为虚拟机(virtual machine;vm)的可信开放执行环境(tree)。上述主计算器具备可支持通用应用程序的机密计算及可信计算的cpu。这种方法还包含扩展tree的保护范围以涵盖配置有xpu的异构计算器,其中配置在异构计算器中的xpu通过开放式连接器连接至主计算器。并且,这种方法还包含对主计算器中cpu的状态及对异构计算器中xpu的状态进行远距认证。
18.接续实施例关于系统架构。
19.请参考图1。图1为本揭露一实施例的异构计算系统100的功能架构的示意图,异构计算系统100包含主计算子系统110(例如:第一装置)、异构计算子系统120(例如:第二装置)以及连接两个子系统的开放式连接器130。异构计算子系统120通过开放式连接器130静态连接至主计算子系统110。开放式连接器130经定义为在两个装置之间支持双向信息交换的标准协议所实施的通信信道。开放式连接器130包含但不限于可以同时被多个子系统进行信息交换且不具有固有信息保护的标准通信信道,例如,以太(ethernet)、通用串行汇流排(universal serial bus;usb)及串列周边介面(serial peripheral interface;spi)。
20.如图1所示,主计算子系统110包含第一专属处理器(如图1所示的专属中央处理单元112a)、第二专属处理器(如图1所示的专属中央处理单元112b)、第一非专属处理器(如图1所示的非专属中央处理单元112c)、共享汇流排115、第一加密处理器(如图1所示的加密处理器113)、第一存储器保护区段(如图1所示的共享的存储器保护区段111a)、第二存储器保
护区段(如图1所示的共享的存储器保护区段111b)、第一存储器为保护区段(如图1所示的共享的存储器未保护区段111c)。共享汇流排115连接至开放式连接器130。专属中央处理单元112a、加密处理器113、存储器保护区段111a及111b以及存储器未保护区段111c连接至共享汇流排115。
21.存储器保护区段111a及111b是由加密处理器113执行存储器加密而保护,或者是借由被集成至共享存储器的存储器管理硬件所实施的访问控制保护。
22.关于主计算子系统110,加密处理器113用以进行接续说明的两组功能。第一,加密处理器113作为硬件信任根(hardware root-of-trust),可以执行系统软件的安全启动并且将中央处理单元以及共享存储器的状态与远程验证者进行远程认证。加密处理器113作为密码处理器可以提供储存在共享存储器的保护区域的数据加密及完整的保护。
23.关于主计算子系统110以及异构计算子系统120,加密处理器113用以进行主计算子系统110以及异构计算子系统120之间的相互认证。加密处理器113用以提供通过开放式连接器130传输的程序、模块及数据加密的、完整的以及真实性的保护。
24.主计算子系统110以及异构计算子系统120会通过开放式连接器130传输程序、模块以及数据。
25.异构计算子系统120包含第三专属处理器(如图1所示的异构处理单元122)、专属汇流排125、第二加密处理器(如图1所示的加密处理器123)以及由异构处理单元122所使用的专属存储器121。异构处理单元122、加密处理器123以及专属存储器121内部连接至专属会流排125。
26.在处理资源组124a之中的加密处理器123用以进行异构计算子系统120以及主计算子系统110之间的相互认证,并用以提供通过开放式连接器130传输的程序、模块及数据加密、完整及真实性的保护。
27.进一步而言,在系统100中的主计算子系统110之中的元件可以依据执行环境被划分为第一处理资源组(如图1所示的处理资源组114a)、第二处理资源组(如图1所示的处理资源组114b)以及第三处理资源源组(如图1所示的处理资源组114c)。在系统100中的异构计算子系统120之中的元件可以被划分为第四处理资源组(如图1所示的处理资元组124a)。
28.处理资源组114a包含专属中央处理单元112a、存储器的保护区段111a及加密处理器113。专属中央处理单元112a、存储器的保护区段111a及加密处理器113是在主计算子系统110的保护区域。处理资源组114a的保护应实施在硬件上,借此使处理资源组114对于整个异构处理系统100可以作为硬件信任根而实施。
29.处理资源组114b包含专属中央处理单元112b以及存储器保护区段111b。专属中央处理单元112b以及存储器的保护区段111b是在主计算子系统110的未保护区域之中。处理资源组114b的保护区段应实施在由处理资源组114a及专属中央单元所执行的软件上。
30.处理资源组114c包含非专属中央处理单元112c以及存储器未保护区段111c。非专属中央处理单元112c以及存储器未保护区段111c也是在主计算器子系统110的未保护区域之中。处理资源组114c不实施资源的保护。
31.第四处理资源组124a包含异构处理单元122、专属汇流排125、加密处理器123以及专属存储器121。异构处理单元122、专属汇流排125、加密处理器123以及专属存储器121是在异构计算子系统120的专属区域之中。在这区域中资源的保护是由异构计算子系统120的
物理隔离以及经由开放式连接器130提供加密、完整、真实性的保护的交流的组合实现。
32.接续实施例将对可信执行环境以及可信开放执行环境之间不同的架构及功能进行说明。
33.请参阅图2。图2为本揭露一实施例的异构计算系统100的软件架构200的三个不同的执行环境的示意图。软件架构200的三个不同的执行环境包含可信执行环境(trusted execution environment;tee)210、可信开放执行环境(trusted rich execution environment;tree)220以及可信开放执行环境的扩展范围230。可信开放执行环境的扩展范围230沿着硬件平台以及虚拟机监视器(hypervisor)222。需要注意的是,非保护的开放执行环境(rich execution environment;ree)非本揭露文件的部分发明,因此未绘示于图示中。然而,在一些实施例中,利用本揭示文件的系统及方法的执行环境也可以包含开放执行环境,因此本揭示文件不以此为限。在处理资源组114c所实现的开放执行环境所运行的程序及处理的数据不被加密、完整或真实性的服务保护。
34.如图2所示,在主计算子系统110的硬件平台的保护区域之中的处理资源组114a用以实现可信执行环境210。处理资源组114b在硬件平台的未保护区域用以实现可信开放执行环境220。处理资源组114c在硬件平台的未保护区域用以实现开放执行环境(未绘示)。通用作业系统在处理资源组114c所实现的开放执行环境中执行。
35.可信执行环境210包含可信特定作业系统211、可信执行环境通信代理器212以及一或多个可信特定服务程序213。可信特定作业系统211是在可信执行环境210中执行。可信特定服务程序213是在可信执行环境210中的可信特定作业系统的支持下运行。
36.可信执行环境210是用于执行特定安全功能的软件执行环境。可信执行环境210是实现在装置的硬件平台的保护区域之中,且运行可信特定作业系统。
37.可信开放执行环境220包含虚拟机监视器222、可信通用作业系统221以及一或多个可信通用应用程序223。其中可信开放执行环境220是在处理资源组114b中作为虚拟机实现。可信通用作业系统是在可信开放执行环境220中执行。可信通用应用程序223是在可信开放执行环境220中的可信通用作业系统221的支持下运行。
38.可信开放执行环境适用于执行可信通用应用程序的软件执行环境。可信开放执行环境220是在装置的硬件平台中的未保护区域作为虚拟机实现,并且可信开放执行环境220运行可信通用作业系统221。
39.可信通用应用程序223是由可信机构验证并确认其数字签章,因此可信通用应用程序223是具有真实性、完整性的软件程序。当可信通用应用程序223在可信开放执行环境220中执行,因此可信通用应用程序223的输出不会被恶意修改是可以被信任的。
40.可信通用作业系统221是用于支持可信通用应用程序223的执行而建构的作业系统。可信通用作业系统221的目标码的真实性及完整性是由可信机构验证且由目标码的数字签章认证。可信通用作业系统221是在第二启动程序中被下载至可信开放执行环境220,并且可信通用作业系统221是在可信开放执行环境220作为虚拟机实现时而启动,并且可信通用作业系统221在可信执行环境210中运行安全功能。
41.可信特定服务程序213是由可信机构验证且尤其目标码的数字签章认证,因此可信特定服务程序213是具有真实性及完整性的程序,且可信特定服务程序213执行加密或安全功能。当可信特定服务程序是在可信执行环境210中运行,可信特定服务程序213可以被
信任为不受恶意修改。
42.接续实施例将对可信执行环境210以及可信开放执行环境220进行说明。
43.请参阅图3。图3为本揭露一实施例的在主计算子系统110及异构计算子系统120的互相认证成功完成并且在专属中央处理单元112a及112b以及异构处理单元122之间的安全通信建立之后,可信执行环境210以及可信开放执行环境220自系统启动或重置,并且可信开放执行环境220的范围延伸至涵盖异构计算子系统120的启动顺序的流程图300。
44.接续步骤用于建立可信执行环境210。在主计算子系统110启动或系统重置之后,借由加密处理器113启动安全启动时,可信执行环境运行由在主计算子系统110中的硬件平台的保护区域中的处理资源组114a实现可信特定作业系统211。
45.安全启动是为了核对系统固件及软件的真实性及完整性的机制,并且安全启动是由可信机构所发出的目标码的哈希值的数字签章而验证,而不是借由目标码的提供者或客户所发出的目标码的哈希值的数字签章而验证。
46.处理资源组114a包含专在主计算子系统110之中的属处理单元112a、存储器的保护区段111a以及加密处理器113。加密处理器113用以执行在可信执行环境210之中的可信特定作业系统211的第一安全启动,并且用以提供储存在存储器的保护区段的数据具有加密及完整性的保护。
47.在步骤s310之中,执行只读存储器启动程序:在这个步骤中进行系统检查并且执行启动程序(bootstrapping process)。
48.在步骤s311中,执行第一安全启动的第一阶段:在这个步骤中安装可信的固件至处理资源组114a。
49.在步骤s312中,执行第一安全启动的第二阶段:在这个步骤中对可信特定作业系统211进行验证并安装可信特定作业系统211至处理资源组114a。可信特定作业系统211是用于依据标准作业程序支持加密技术及安全性功能而建构的作业系统。可信特定作业系统211的目标码的真实性以及完整性是由可信机构验证并由目标码的数字签章证明。在执行第一安全启动程序时,可信特定作业系统211经加载至处理资源组114a。在主计算子系统的启动及重置时,第一安全启动程序验证可信特定作业系统211的目标码的数字签章。可信执行环境210是在第一安全启动的第二阶段成功完成之后而建立。
50.接续步骤用于建立可信开放执行环境220。可信开放执行环境220运行可信通用作业系统221,可信开放执行环境220是由主计算器子系统110中的硬件平台中的未保护区域的处理资源组114b实现为虚拟机,其中处理资源组114b包含第二专属处理器112b以及存储器保护区段111b。
51.在步骤s313中,执行第二安全启动的第一阶段:在这个步骤中安装虚拟机监视器。
52.在步骤s314中,执行第二安全启动的第二阶段:在这个步骤中执行在处理资源组114b中的可信通用作业系统221的安装及验证。可信通用作业系统221是在可信执行环境210的第一安全启动的成功完成之后的第二安全启动的第二阶段中安装,其中可信通用作业系统221的认证是通过验证可信机构所产生的数字签章而认证,因而可信通用作业系统221被在可信执行环境210中的可信特定作业系统211信任。可信开放执行环境是在第二安全启动的第二阶段成功完成之后而建立。
53.如此,由可信执行环境210使用的处理资源组114a之中的存储器的保护区域111a
所储存的程序、模块及数据受到机密性及完整性的服务。并且,由可信开放执行环境使用的处理资源组114b之中的共享存储器的保护区域114b所储存的程序及数据也受到机密性及完整性的服务。
54.并且,在可信执行环境210及可信开放执行环境220中通过在主计算子系统110中的可信执行环境通信代理器212传输的程序、模块及数据受到机密性、完整性及真实性的服务。
55.接续实施例说明可信开放执行环境220通过专属中央处理单元112b以及异构处理单元122之间建立的安全信息交换所扩展的范围。
56.在步骤s320中,在主计算子系统110中的处理资源组114a的加密处理器113以及异构计算子系统120中的处理资源组124a的加密处理器123之间进行互相认证程序。如此,在主计算子系统110以及异构计算子系统120之间的可信关系建立。
57.在步骤s321中,在主计算子系统110中的专属中央处理单元112a以及在异构计算子系统120中的异构处理单元122之间建立安全通信。在主计算子系统110以及异构计算子系统120之间的互相认证成功完成之后,安全通信是受到由在主计算子系统110中的加密处理器113以及在异构计算子系统120中的加密处理器123所提供机密性、完整性以及真实性的服务所保护。
58.在步骤s322中,在可信执行环境210以及可信开放执行环境220之间建立安全通信。安全通信是在处理资源组114a中的专属中央处理单元112a以及处理资源组114b中的专属中央处理单元112b之间进行。其中,处理资源组114a已经建立了可信执行环境210,且处理资源组114b已经建立了可信开放执行环境220。安全通信是受到机密性、完整性以及真实性的服务。
59.在步骤s323中,通过可信执行环境210在可信开放执行环境220与异构计算子系统120之间建立安全通信。在处理资源组114b中的专属中央处理单元112b以及异构计算子系统120中的异构处理单元122之间的安全通信是通过在主计算子系统110中的处理资源组114a的加密处理器113以及在异构计算子系统120中的加密处理器123之间的安全通信进行。其中,处理资源组114b已经建立了可信开放执行环境220,且处理资源组114a已经建立了可信执行环境210。安全通信受到机密性、完整性以及真实性的服务所保护。
60.在异构计算子系统120以及可信开放执行环境220之间通过可信执行环境210成功建立安全通信之后,使异构计算子系统120被涵盖至可信开放执行环境220的扩展范围。
61.在异构计算子系统120以及可信开放执行环境220之间通过可信执行环境210成功建立安全通信之后,在异构计算子系统120的异构处理单元122中的程序执行状态可以借由加密处理器123所产生的专属存储器121内容的已签名的哈希值而验证。接着,从异构计算子系统120将已签名的哈希值传输至在主计算子系统中的处理资源组114b。其中,处理资源组114b已经建立了可信开放执行环境220。
62.响应于可信开放执行环境220是闲置或停用时,实现可信开放执行环境220的虚拟机被终止,并且处理资源组114b被释放而专属处理器112b变为非专属处理器,并且存储器保护区段111b变为存储器未保护区段中的一部分。
63.虽然本揭露已以实施方式揭露如上,然其并非用以限定本揭露,任何本领域技术人员,在不脱离本揭露的精神和范围内,当可作各种的更动与润饰,因此本揭露的保护范围
当视后附的权利要求书所界定者为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献