CN114616566A - 安全的硬件可编程体系架构 - Google Patents
安全的硬件可编程体系架构 Download PDFInfo
- Publication number
- CN114616566A CN114616566A CN202080076644.2A CN202080076644A CN114616566A CN 114616566 A CN114616566 A CN 114616566A CN 202080076644 A CN202080076644 A CN 202080076644A CN 114616566 A CN114616566 A CN 114616566A
- Authority
- CN
- China
- Prior art keywords
- transaction
- module
- functional module
- modules
- functional
- 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.)
- Pending
Links
- 230000000977 initiatory effect Effects 0.000 claims abstract description 60
- 230000006870 function Effects 0.000 claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 32
- 239000004744 fabric Substances 0.000 claims abstract description 14
- 239000003999 initiator Substances 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种电气结构,包括:(a)功能模块,其既能够用作事务发起者,又能够用作事务目标,从而事务发起功能模块可能需要事务目标功能模块来为其并代表其执行功能;(b)第一互连架构,连接功能模块并在这些功能模块之间提供通信;其中(电气)结构被布置成:所选择的事务发起功能模块能够对为其并代表其执行功能的(一个或多个)事务目标功能模块进行临时排他访问,以确保除了所选择的事务发起功能模块之外的事务发起功能模块不能对其进行不受控制的访问,其中所述所选择的事务发起功能模块是硬件安全模块。
Description
技术领域
本发明涉及电力系统数字控制领域,具体而言,其致力于(但不限于)对要求硬实时和安全控制的纯电动或混合动力车辆电气系统的动力总成(如马达,还包括DC/DC转换器)的控制。本发明关于提供针对当前和未来安全挑战的最高级别的安全特征,这些特征适用于具有最高级别的功能安全性标准的上述应用领域。本发明将最先进的加密和反黑客功能与片上可编程硬件和加速器相结合。
背景技术
本发明适用于电气结构(electric arrangement)(也称为FPCU),包括:多个功能模块,以及连接功能模块并在这些功能模块之间提供通信的互连架构,尤其是,其中所述功能模块中的一个或多个是硬件可编程单元,是可编程逻辑矩阵。
本发明关于通过启用特定安全子系统的(长期)使用(作为功能模块)来提供安全,该子系统的特征在于在这种FPCU类型的组件中最先进的加密和反黑客功能,这种FPCU类型的组件基本上特征在于(作为其它功能模块):
·几个CPU内核,带有常规的片上程序和数据存储器
·子系统,特征在于围绕一个或多个灵活逻辑单元的多个外围设备,其可选地能够进行任务切换和空间隔离。
在联网车辆的新兴背景下,这些种类的应用越来越受到与以下项相关的安全问题的影响:
·防止黑客控制车辆
·在使用“无线”更新场景时保护固件更新过程
·保护在FPCU上执行的软件IP
·检查固件完整性(防止黑客入侵电气损坏)
直到最近,安全管理一直通过中央“桥”进行管理,其是与外部世界直接联系的唯一系统(例如:连接到云)。这个桥负责所有安全场景。因此,所有其它电子系统都隐藏在它后面。
现在,车辆网络体系架构正在转向更加去中心化的方案。这意味着,车辆的任何计算资源都可能或多或少地与外部网络直接联系,因此动力总成控制器等更关键的资源也可能与外部网络直接联系。
因此,任何计算组件中对安全场景处置的要求都变得强制性。
如前面所提到的,安全问题在车辆应用中越来越关键。因此,下一代电子组件和结构必须提供允许处置安全场景和安全攻击对策的必要功能。
许多商业方案很好地覆盖了这些元素,这些方案适当地处置目前已知的安全功能。
但是,安全领域的发展非常迅速。黑客技术越来越复杂,加密标准也在不断发展。作为示例,理论上需要相当于数千年的计算才能被现代计算机破解的一些广泛使用的加密算法利用未来的量子计算机可能只需要几分钟就可以破解。这是车辆领域的关键问题,其中组件的使用寿命明显长于其它领域(如消费领域)。这意味着安全子系统必须能够在10年或更长时间内应对新的安全挑战。
本发明尤其关注FPCU,主要针对具有最强功能安全性要求级别(ASIC-D)的硬实时应用,被设计为提供实时和安全性领域的同类最佳级别。
最先进的解决方案
关于安全特征灵活性,对先前挑战的典型答案是将CPU内核集成到安全子系统中。因此,可以通过软件更新来升级安全功能。
但是,这种策略存在以下限制,这使得我们所针对的车辆应用难以接受:
·这种策略对于长寿命产品无效,因为无法提前正确预测所需的CPU能力。因此,我们会投入比必要更多的CPU能力;从而对设备成本产生不可接受的影响。
·加密算法要求大量处理资源(硬件SHA处理时间比硬件处理时间长10倍),最坏的情况是,一些未来的加密算法可能无法在已实现的处理资源上运行。
·这种方法对于对策实施非常有限,因为这些常常依赖于硬件资源。
关于将平衡安全性和实时方面与安全进行比对,常规方法包括添加一些软件堆栈,其能够同步实时和安全系统的活动,并实现在允许安全对策的同时保证功能安全性行为的仲裁策略。
再次,在此反应时间是个问题。
实际上,必要的软件应当知道系统的当前实时状态,以便能够在适当的时间做出适当的决定。
但是,在作为目标的同类最佳的FPCU系统中,硬实时算法在实时处理子系统(其特征在于一些硬件可编程灵活逻辑单元)内部执行,而没有与CPU内核进行任何细粒度同步。无论如何,CPU的速度也不足以与硬件活动同步。
本发明的目的
本发明旨在将具有前瞻性的安全子系统添加到上述体系架构,同时避免在安全子系统可能将一些与安全性相关的故障解释为安全攻击(例如:时钟或电源上的人为现象)的情况下这种安全功能会与(同类最佳的)实时和/或安全性要求相冲突的情况。因此,安全子系统可以应用一些对策来防止黑客入侵(例如:切断通过CAN端口的通信)。这显然是非常危险的决定……
发明内容
本发明是关于通过在这种FPCU种类的组件内定义特别适配的体系架构来以最高级别的功能安全性标准提供针对当前和未来安全挑战的最高级别的安全特征。
因此,本发明是关于通过启用特定安全子系统的(长期)使用(作为功能模块)来提供安全,该子系统的特征在于在这种FPCU类型的组件内的最先进的加密和反黑客功能,具体而言特征在于高效扩展安全子系统能力以便FPCU组件为长期安全挑战做好准备的手段。
在第一方面,本发明提供了一种电气结构,包括:(a)功能模块,其既能够用作事务发起者,又能够用作事务目标,从而事务发起功能模块可能需要事务目标功能模块来为其并代表其执行功能;(b)第一互连架构,连接功能模块并在这些功能模块之间提供通信;其中(电气)结构被布置成:所选择的事务发起功能模块能够对为其并代表其执行功能的(一个或多个)事务目标功能模块进行临时排他访问,以确保除了所选择的事务发起功能模块之外的事务发起功能模块不能对其进行不受控制的访问,其中所述所选择的事务发起功能模块是硬件安全模块。
在第二方面,本发明提供了一种安全事务机构,其中除了所选择的事务发起功能模块之外的事务发起功能模块仅在由所述其它事务发起功能模块对所述所选择的事务发起功能模块发起服务请求以对连接到相应地受到所选择的事务发起功能模块的批准的此类其它事务发起功能模块的保护单元进行配置之后能够经由第一互连架构进行访问。
在第三方面,本发明提供了各种互连结构以及与上述内容相关的要考虑的考虑事项。
附图说明
图1(0100)图示了常规的FPCU体系架构(没有灵活的硬件安全模块)。
图2(0200)提供了本发明概念的示例性使用。
图3(0300)解释了FPCU组件内的触发器硬件管理体系架构,该体系架构与根据本发明要确保安全的特定考虑事项相关。
图4(0400)描述了与图3(0300)相关的用例。
图5(0500)相对于图3(0300)和图4(0400)引入了虚拟边界的概念。
图6(0600)解释与根据本发明要确保安全的特定考虑事项相关的FPCU中的典型互连结构。
图7(0700)描述了与利用外围资源的硬件安全模块相关的另一个用例。
图8(0800)相对于图7(0700)引入了虚拟边界的概念。
图9(0900)在矩阵切换以及实现安全的适当机构的上下文中解释本发明。
具体实施方式
本发明涉及一种(电气)结构,包括:(a)功能模块,其既可以用作事务发起者,又可以用作事务目标,从而事务发起功能模块可能需要事务目标功能模块来为其并代表其执行功能;(b)第一互连架构,连接功能模块并在这些功能模块之间提供通信;其中(电气)结构被布置成:所选择的事务发起功能模块能够对为其或代表其执行功能的(一个或多个)事务目标功能模块进行(临时)排他访问,以确保除了所选择的事务发起功能模块之外的事务发起功能模块不能(经由互连结构)对其进行不受控制的访问。
通常,所述所选择的事务发起功能模块是硬件安全模块(例如,具有加密能力)。
本发明具体地涉及一种(电气)结构,包括:(a)功能模块,其既可以用作事务发起者,又可以用作事务目标,从而事务发起功能模块可能需要事务目标功能模块来为其并代表其执行功能;(b)第一互连架构,连接功能模块并在这些功能模块之间提供通信;其特征在于,为了确保所选择的事务发起功能模块能够对为其或代表其执行功能的(一个或多个)事务目标功能模块进行(临时)排他访问,保护手段被提供,以确保除了所选择的事务发起功能模块之外的事务发起功能模块不能(经由互连结构)对其进行不受控制的访问。
在本发明的实施例中,所述保护手段包括:为所述事务目标功能模块中的每个(在所述模块和所述第一互连结构的一部分之间)提供的一个或多个保护单元;从而对所述保护单元的配置(直接或间接地)被所述所选择的事务发起功能模块控制(其中所述保护单元提供事务过滤)。
在本发明的实施例中,除了所选择的事务发起功能模块之外的事务发起功能模块仅在由所述其它事务发起功能模块对所述所选择的事务发起功能模块发起服务请求以对相应地受到其批准的相关保护单元进行配置之后能够经由第一互连结构进行访问(因此受控访问)。
在本发明的(电气)结构中的实施例中,一个或多个保护单元还由用于配置这些保护单元的第二互连架构连接,从而另外的保护单元在所述第一和第二互连架构之间被提供;并且对所述另外的保护单元的配置被所述所选择的事务发起功能模块(直接或间接地)控制。
在本发明的(电气)结构中的替代实施例中,其中一个或多个保护单元还通过用于配置这些保护单元的一个或多个第二互连架构连接,从而另外的一个或多个保护单元在所述第一和第二互连架构之间被提供;并且对所述另外的保护单元的配置被所述所选择的事务发起功能模块(直接或间接地)控制。
在本发明的实施例中,提供了一种(电气)结构,其中所述第一互连架构连接功能模块并在这些功能模块之间提供通信,所述第一互连架构包括用于在功能模块之间交换依任务而定的触发器信号的第三互连架构,所述第三互连架构包括能够将任意输入触发器路由到任意输出触发器的触发器路由器模块,所述触发器路由器模块适于确保除了所选择的事务发起功能模块之外的事务发起功能模块不能经由第三互连架构对其进行不受控制的访问,优选地,所述触发器路由器模块能够经由所述第二互连架构进行配置(而对于所述第一互连架构的其它剩余部分,在所述其它剩余部分和功能模块之间提供保护单元)。
在本发明的实施例中,提供了一种(电气)结构,其中所述第一互连架构连接功能模块并在这些功能模块之间提供通信,所述第一互连架构包括第四互连架构,该第四互连架构包括功能模块(的一部分)之间的直接连接,从而所述保护手段确保除了所选择的事务发起功能模块之外的事务发起功能模块不能经由第四互连架构对为其或代表其执行功能的(一个或多个)模块进行不受控制的访问(通过相应地配置与这些事务发起功能模块相关的保护单元)。
现在基于图1(0100)中所示的常规FPCU体系架构(没有灵活的硬件安全模块)来说明本发明,其包括:
·(0101):一个或多个常规处理器内核。在这种FPCU组件中,处理器内核专用于不要求硬实时处理的应用部分。
·(0102):一个或多个灵活逻辑单元矩阵。它们中的每一个都可选地能够进行任务切换。
·(0103):多个传感器/致动器和硬件加速器外围设备。
·(0104):“硬件安全模块”(根据Evita术语)。这是常规的安全子系统,其特征在于:
ο本地处理器内核和相关联的安全固件
ο多个加密硬件加速器。
ο多个防止黑客攻击的保护机构
·(0105):这是安全子系统的物理边界。在它清楚地指定安全域和应用域之间的通信通道的意义上,这个概念是重要的。在这个边界内,所有硬件内容都严格保留给安全计算单元(如CPU,但FLU也是可能的)并且不能从组件的其它计算单元(CPU或其它)进行访问。
·(0106):任意复杂的互连网络,其允许系统的元素之间进行不同种类的通信(总线通信、中断、触发器、……)
如上面所解释的,基于软件的最新解决方案并不能正确解决这些问题。
因此,本发明性概念是关于利用(所谓的AxEC)子系统中存在的已有的灵活逻辑单元和/或数学加速器来扩展HSM模块的“边界”。这种资源分配旨在在运行时被动态完成,以便AxEC资源使用可以适应任意现场情况。
图2(0200)通过示例解释这个概念。
在这个示例中:
·常规的安全模块(0201)功能被通过使用FLU(0202)的一个分区和/或(优选地是两者)硬件加速器(0203)来扩展。
·由于互连结构中的专用机构(0204)(进一步解释),上述元素专供HSM使用。这意味着除了HSM本身之外,这些资源对于SOC的任意主机都“不可见”。
·因此,有效的安全子系统物理边界(0205)被扩展以并入AxEC的某些实时计算能力。这是基本的FHSM概念。
更一般地说,提供了电气结构,其包括:(a)功能模块(诸如HSM、CPU、FLU),从而这种功能模块可能需要另一个功能模块(FLU、外围设备)来为其并(排他地)代表其执行(安全)功能。
如上面所介绍的,FHSM概念包括将安全子系统边界朝着AxEC计算资源(FLU、外围设备)虚拟地扩展。
进一步定义的硬件机构严格保证分配给HSM的任何资源都不会受到SOC的其它部分的影响。这意味着其资源作为“从资源”(不是通信的发起者)的任何通信通道都应当受到限制,以便只有作为FHSM边界的一部分的组件能在这个通道上发起通信。这意味着需要特定的“隔离”硬件来实现这个目标。
注意:其资源是“主资源”的通信通道不需要特别注意。
取决于通信通道的类型,隔离机构可以有所不同,如进一步解释的那样。
不同类型的通信通道是:
·系统总线:这种通道依赖于总线传送协议(AXI、AHB、APB、OCP、...)。这种通道是根据预定义协议按顺序地一起工作的信号和向量的集合。
·直接数据总线:这种通道是简单的数据向量,可选地与dataValid/dataAck验证协议相关联。
·触发器:这种通道是单比特线。
·时钟/重置:这种信号必须被正确处置以避免半侵入式安全攻击。
如上所述,本发明是关于通过启用特定安全子系统的(长期)使用(作为功能模块)来提供安全,该特定安全子系统的特征在于最先进的加密和反黑客功能,本发明能够通过在这种FPCU类型的组件内定义特别适用的体系架构而能够处置新的安全挑战,更具体而言,本发明能够通过允许安全子系统(排他地)依赖于结构中的其它资源而使其具有前瞻性,其中尤其是通信体系架构需要注意。
本质上,由于本发明涉及(电气)结构,其包括:(a)功能模块;以及(b)互连架构,连接功能模块并在这些功能模块之间提供通信;因此出于上述目的,(电气)结构必须被布置为:所选择的功能模块能够对为其并代表其执行功能的另一个(一些)功能模块进行(临时地)排他访问,但经由保护手段(保护手段附接到由互连架构定义的通信体系架构)避免(经由互连架构)对其进行不受控制的访问。
现在更详细地描述可能的不同的可用通信机构(其定义通信体系架构)。
触发机构
图3(0300)解释FPCU组件内的触发器硬件管理体系架构:
·(0301)SOC模块的集合能够驱动一个或多个触发器。在这种上下文中,“模块”可以是FLU分区、AxEC外围设备或AxEC计算加速器。
·(0302)SOC模块的集合能够将一个或多个触发器作为输入。注意的是,一些模块可以同时具有输入和输出触发器。
·(0303)中央触发器路由功能能够基于配置寄存器的集合将任意输入触发器路由到任意输出触发器,配置寄存器的集合是通过系统总线从配置接口(0304)访问的
现在,让我们考虑以下情况,如图4(0400)中所示,其中一些模块被选择用于FHSM排他访问。在这种情况下,重要的是确保:
·右模块#1(0402)能够接收来自左模块#2(0401)的触发器。这不是安全漏洞,因为这两个模块都在FHSM虚拟边界内。
·右模块#1(0402)不能从除了左模块#2(0401)之外的任何模块接收任何触发器。因此,没有触发器信息能够跨越FHSM虚拟边界。
如图3(0300)中所提到的,触发器路由器配置是通过系统总线从接口完成的。结果是路由器也必须被视为被包括在FHSM虚拟边界中,如图5(0500)中概念性所示。因此,必须对其从配置接口进行管理以实现这个目的。进一步描述实现这一点的具体实施例。
有了这个新的虚拟边界,HSM模块能够决定适当的触发器路由,然后确保上述条件被满足。
边缘效应结果是HSM子系统也负责配置SOC的所有触发器,包括不是安全活动的一部分的那些触发器。这不是问题。应用CPU始终能够配置必要的非安全的触发器。唯一的约束是应用CPU不能直接通过写入触发路由器寄存器来完成它。代替地,它必须向HSM发送特定请求。然后HSM可以检查这个需求的安全方面并且相应地接受或拒绝触发器路由请求。
一般而言,在(电气)结构中,连接功能模块并在这些功能模块之间提供通信的所述第一互连架构包括用于在功能模块之间交换依任务而定的触发器信号的(另外的)第三互连架构,所述第三互连架构包括能够将任意输入触发器路由到任意输出触发器的触发器路由器模块,该(电气)结构应当确保:所述触发器路由器模块适于确保除了所选择的功能模块之外的功能模块不能经由第三互连架构对其进行不受控制的访问。
时钟和重置管理
如前所述,FPCU可以具有不同的可用通信机构,它们可以组合起来。另一个FPCU(内部)通信机构是时钟和重置机构。如前所述,每个通信机构都要求进行适配以确保将安全功能扩展到其它模块不会导致安全性和定时问题。
幸运的是,针对FHSM的时钟&重置管理与触发器管理非常相似。
因此,负责生成时钟和重置的(一个或多个)模块必须在HSM模块的排他控制下(类似于上一节中的触发器路由器)。
因此,(一个或多个)时钟&重置管理器的配置接口应被类似地管理,如进一步描述的。并且,如果主CPU需要某个时钟&重置操作,那么它将向HSM模块发出请求,该HSM模块应检查请求的安全有效性并最终执行所请求的配置。
与之前一样,因此提供了(电气)结构,其中连接功能模块并在这些功能模块之间提供通信的所述第一互连架构包括与时钟和重置相关的(另外的)第三互连架构,所述第三互连架构包括时钟&重置管理模块,该(电气)结构适于确保除了所选择的功能模块之外的功能模块不能经由第三互连架构对其进行不受控制的访问。
从接口
在像FPCU中使用的那样的典型SOC体系架构中,所有功能模块被连接到允许事务发起者和目标之间的双向数据传输的任意复杂的互连架构。
在最一般的情况下,由于目标资源的存储器映射,所有发起者能够访问任意目标。但是,出于软件执行鲁棒性和功能安全性的原因,根据本发明的优选体系架构的特征在于多层MPU(存储器保护单元)结构,该结构允许基于事务特点来细粒度过滤互连存储器映射访问权限:
·发起者模块的标识符
·访问的地址
·访问的方向(读/写)
·访问的安全级别
·…
因此,如图6(0600)中所示的FPCU中的典型互连结构可以总结如下:
·(0601):多个MPU组件被插入在互连插座上。
ο在发起者一侧,功能安全性要求是请求MPU被无条件地插入。
ο在目标侧,MPU是可选的。如果发起者侧MPU上的存储器映射区域的粒度太大,那么无论如何都可以包括它们。在目标侧具有MPU提供了对存储器映射保护的非常细粒度的控制。
·(0602):每个MPU的特征在于配置端口,该配置端口本身就是SOC互连结构的子部分(0603)上的目标插座。
·互连的这个部分本身由MPU(0604)保护
现在,让我们想象一下,在运行时,HSM模块需要使用AxEC内的某些计算资源,因为这是本发明引入的概念,如图7(0700)中所示。
在上面的示例中,安全要求是FLU-#1和Periph-#2不能由除HSM子系统之外的任何发起者通过互连访问。
因此,这意味着这些模块的互连插座上的所有MPU都必须由HSM模块配置。
因此,这意味着对这些MPU的配置接口的访问必须以与模块接口相同的方式受到保护。
因此,这意味着控制对安全配置互连的访问的MPU也必须由HSM控制。
因此,在这种体系架构中,SOC的所有MPU都必须仅由HSM子系统配置,从而扩展虚拟边界,如图8中所示(0800)。
如果主CPU出于非安全原因而需要某种MPU配置,那么它将向HSM模块发送服务请求。然后这个HSM模块将在检查请求的安全有效性之后对MPU进行相应的配置。
实质上,对于以上体系架构,前面提到的(通信)保护手段包括:(在所述模块和所述第一互连架构的一部分之间)提供的一个或多个保护单元;从而对所述保护单元的配置被所述所选择的事务发起功能模块(直接或间接地)控制。
在灵活的硬件安全机构中使用灵活的逻辑单元
至此,讨论了根据本发明的SOC中的通信机构和灵活硬件方法(FSHM)所需的适配。出于安全目的,优选地,FHSM概念利用AxEC的硬件计算资源。
现在解决使能这一概念所需的FLU特点。
首先,解决在FLU中没有预见或使用隔离也没有预见或使用任务切换能力的基本情况。
在FPCU组件配备了不提供任务切换能力的单个FLU矩阵的情况下,我们可以想象两种情况:
·或者,嵌入式FPGA能够支持现场部分重新配置。
ο在这种情况下,HSM能够出于FHSM目的而保留eFPGA的区域,然后用专用比特流填充它。
ο但是,这种解决方案不够安全,因为:
·几乎不可能证明矩阵的安全和非安全部分之间不能交互。
·子部分比特流的管理由安全级别无法认证的软件应用处置。
·或者,FLU在任何时间点都排他地完全致力于FHSM或应用。
ο就安全级别而言,这是可以的
ο但是,它使FPCU组件几乎无法用于其中实时计算不能中断的目标应用域。
总之,虽然在完全投入的情况下在技术上是可行的,但具有单个单任务FLU矩阵的FPCU并不是实现FHSM概念的良好候选。
存在这样的概念,其中FPCU组件包含至少2个FLU矩阵,其可以可选地被联合使用,作为大的单个矩阵。在这种情况下,FHSM概念高度相关:
·应用应将FLU矩阵中的一些用于实时算法。
·HSM可以出于安全目的使用剩余的空闲FLU矩阵(应用所描述的FHSM边界管理操作)
·如果需要,那么可以在运行时将FLU矩阵分配给HSM或应用。
·安全FLU部分与非安全部分之间的相互独立性的证明变得直截了当。
还存在其中FPCU组件包含能够执行任务切换的至少一个FLU矩阵的概念(可与上述概念组合)。
在这种情况下,FHSM概念也是相关的,但使用起来有点复杂:
·FLU矩阵的使用应在时间上被拆分为两个周期性时间窗口:
ο为实时应用保留时间窗口
ο为HSM保留时间窗口
·FLU被配置用于在两个上下文之间进行任务切换。
·由于微体系架构原理,能够证明安全FLU部分与不安全部分之间的相互独立性。
这里的困难在于正确处置所述的FHSM边界,因为矩阵必须在安全边界和不安全边界之间切换。这使得切换序列比在两个应用任务之间切换更复杂。执行此操作的机构如图9(0900)中所示。当然,出于安全原因,所有序列都必须由HSM模块排他地管理。前面的序列在技术上是可行的。但是,必须针对实时应用核实由于MPU配置引起的两个FLU执行窗口之间的时延。
本质上,其中所述功能模块中的一个或多个是硬件可编程单元,是可编程逻辑矩阵,适于顺序地执行至少两个任务和/或优选地包括并排布置并适于(运行时)成对物理连接或隔离的多个灵活的逻辑单元结构,并且描述了关系切换机构必须适于正确处理FHSM要求。
FHSM用例
硬件加速器
使用FHSM概念,能够将一些eFPGA资源和数学加速器专用于安全子系统,从而可以实现新的加密算法。
与算法的简单软件实现相比,这种方法的益处如下:
·FPGA体系架构在执行加密算法时特别高效,因为它提供了大规模并行计算能力。
·FPGA活动的功率扰动签名比CPU内核的签名嘈杂得多。因此,算法计算对非侵入式安全攻击更具弹性。
·当在硬件中实现时,加密算法的性能更高
本质上,现在使用根据本发明的电气结构,其中作为硬件可编程单元(0202)、作为可编程逻辑矩阵的所述功能模块中的一个或多个被配置为至少部分地执行加密方法。
安全安全性
让我们以具有2个FLU矩阵的简单FPCU体系架构为例:
·一个分配给实时应用
·第二个分配给FHSM
第一FLU内容无法访问第二FLU的任何信息(上面解释的FHSM边界)。
但是,第二FLU区段访问第一FLU部分内的任何信息都不存在安全问题。因此,安全的FLU内容可以具有正在运行的应用的活动的实时信息。
这个能力允许安全活动与应用活动严格同步。
也能够在FLU矩阵中实现加密算法以复制在FHSM的硬部分或者在软件中实现的参考算法。这允许安全算法的锁步实施方式,其允许检查重复算法的执行的正确性。
这里有几种实现方式是可能的:
·在FLU中复制的算法与参考算法严格相同(相同的RTL):它确保空间和时间冗余性
·在FLU中复制的算法与参考算法不同(具有不同RTL的相同函数):它确保空间和时间冗余性以及结果的正确性(两种不同的算法产生相同的结果)
安全攻击检测(数字传感器)
像FLU这样的eFPGA矩阵可以以这样一种方式被配置,使得它可以基于对内部传播延迟的物理影响来检测侵入式和半侵入式攻击。
对策
FLU矩阵很好地被预期用于实现新的加密算法,但以相同的方式,一些硬件对策也可以在FHSM的FLU矩阵中实现,以便提高组件的安全级别,从而解决新的攻击技术。
作为示例,可以由FLU生成一些随机噪声来打乱组件的功率轮廓,从而增加组件对侧通道攻击的抵抗力。
Claims (13)
1.一种电气结构,包括:(1)功能模块(0101,0102,0103,0104),其既能够用作事务发起者,又能够用作事务目标,从而事务发起功能模块可能需要事务目标功能模块来为所述事务发起功能模块并代表所述事务发起功能模块执行功能;(2)第一互连架构(0106),其连接功能模块并在这些功能模块之间提供通信;其中,电气结构被布置成:所选择的事务发起功能模块能够对为所述所选择的事务发起功能模块并代表所述所选择的事务发起功能模块执行功能的一个或多个事务目标功能模块进行临时排他访问,以确保除了所选择的事务发起功能模块之外的事务发起功能模块不能对其进行不受控制的访问,其中所述所选择的事务发起功能模块是硬件安全模块(0105),
其特征在于,为了确保所选择的事务发起功能模块能够对为所述所选择的事务发起功能模块并代表所述所选择的事务发起功能模块执行功能的一个或多个事务目标功能模块进行临时排他访问,保护手段(0601、0602)被提供,以确保除了所选择的事务发起功能模块之外的事务发起功能模块不能对其进行不受控制的访问;并且
其中,所述保护手段包括:一个或多个保护单元,其在所述模块和用于所述事务目标功能模块中的每个事务目标功能模块的所述第一互连架构的一部分之间被提供;从而对所述保护单元的配置被所述所选择的事务发起功能模块控制。
2.如权利要求1所述的电气结构,其中,所述保护单元提供事务过滤。
3.如前述权利要求中的任一项所述的电气结构,其中,除了所述所选择的事务发起功能模块之外的事务发起功能模块仅能够在由所述其它事务发起功能模块对所述所选择的事务发起功能模块发起服务请求以对连接到相应地受到所选择的事务发起功能模块的批准的此类其它事务发起功能模块的保护单元进行配置之后经由第一互连架构进行访问。
4.如权利要求1所述的电气结构,其中,一个或多个保护单元还由用于对这些保护单元进行配置的一个或多个第二互连架构(0603)连接,从而另外的一个或多个保护单元在所述第一互连架构和第二互连架构之间被提供;并且,对所述另外的保护单元的配置被所述所选择的事务发起功能模块控制。
5.如前述权利要求中的任一项所述的电气结构,其中,所述第一互连架构连接功能模块并在这些功能模块之间提供通信,所述第一互连架构包括用于在功能模块之间交换依任务而定的触发器信号的第三互连架构,所述第三互连架构包括能够将任意输入触发器路由到任意输出触发器的触发器路由器模块(0303),所述触发器路由器模块适于确保除了所选择的事务发起功能模块之外的事务发起功能模块不能经由第三互连架构对其进行不受控制的访问。
6.如权利要求5所述的电气结构,其中,所述触发器路由器模块能经由所述第二互连架构进行配置。
7.如前述权利要求中的任一项所述的电气结构,其中,所述第一互连架构连接功能模块并在这些功能模块之间提供通信,所述第一互连架构包括第四互连架构,该第四互连架构包括功能模块中的一部分功能模块之间的直接连接,从而所述保护手段确保除了所选择的事务发起功能模块之外的事务发起功能模块不能经由第四互连架构对为所选择的事务发起功能模块并代表所选择的事务发起功能模块执行功能的所述一个或多个模块进行不受控制的访问。
8.如前述权利要求中的任一项所述的电气结构,其中,事务发起功能模块对事务目标功能模块的访问经由系统总线和访问单元被部分地布置,以基于事务动作特点来过滤访问,访问单元优选地支持存储器映射。
9.如权利要求8所述的电气结构,其中,所述访问单元用作所述保护单元。
10.如前述权利要求中的任一项所述的电气结构,其中,所述功能模块中的一个或多个功能模块是硬件可编程单元(0202),是可编程逻辑矩阵,优选地适于顺序地执行至少两个任务和/或优选地包括并排布置并适于被物理连接或者隔离的多个灵活的逻辑单元结构。
11.如前述权利要求中的任一项所述的电气结构,其中,所述功能模块中的一个或多个功能模块是外围硬件单元(0203),可选地致力于电气控制单元硬件功能或数学加速器功能。
12.如前述权利要求中的任一项所述的电气结构,其中,所述功能模块中的一个或多个功能模块是软件可编程单元(0101),优选地是微处理器内核或图形处理器内核。
13.如权利要求10和11、或10和12、或10、11和12所述的电气结构,其是异构硬件系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19205977 | 2019-10-29 | ||
EP19205977.2 | 2019-10-29 | ||
PCT/EP2020/080325 WO2021083978A1 (en) | 2019-10-29 | 2020-10-28 | A secure hardware programmable architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114616566A true CN114616566A (zh) | 2022-06-10 |
Family
ID=68392795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080076644.2A Pending CN114616566A (zh) | 2019-10-29 | 2020-10-28 | 安全的硬件可编程体系架构 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230044219A1 (zh) |
EP (1) | EP4052163B1 (zh) |
JP (1) | JP2023501944A (zh) |
CN (1) | CN114616566A (zh) |
WO (1) | WO2021083978A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114821868B (zh) * | 2022-06-24 | 2022-09-23 | 宁波均联智行科技股份有限公司 | 一种车门解锁的控制系统及车辆 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959576B2 (en) * | 2013-03-14 | 2015-02-17 | Intel Corporation | Method, apparatus, system for qualifying CPU transactions with security attributes |
-
2020
- 2020-10-28 US US17/772,008 patent/US20230044219A1/en active Pending
- 2020-10-28 WO PCT/EP2020/080325 patent/WO2021083978A1/en active Search and Examination
- 2020-10-28 CN CN202080076644.2A patent/CN114616566A/zh active Pending
- 2020-10-28 JP JP2022525270A patent/JP2023501944A/ja active Pending
- 2020-10-28 EP EP20793745.9A patent/EP4052163B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4052163A1 (en) | 2022-09-07 |
WO2021083978A1 (en) | 2021-05-06 |
EP4052163C0 (en) | 2023-06-07 |
US20230044219A1 (en) | 2023-02-09 |
JP2023501944A (ja) | 2023-01-20 |
EP4052163B1 (en) | 2023-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416415B2 (en) | Technologies for secure device configuration and management | |
Brasser et al. | TyTAN: Tiny trust anchor for tiny devices | |
US10489332B2 (en) | System and method for per-task memory protection for a non-programmable bus master | |
US10235515B2 (en) | Method and apparatus for on-demand isolated I/O channels for secure applications | |
EP3161716B1 (en) | Management of authenticated variables | |
EP3311324B1 (en) | Enhanced security of power management communications and protection from side channel attacks | |
US7827326B2 (en) | Method and apparatus for delegation of secure operating mode access privilege from processor to peripheral | |
JP5975629B2 (ja) | メモリ保護ユニットおよび記憶素子へのアクセスコントロール方法 | |
US11575672B2 (en) | Secure accelerator device pairing for trusted accelerator-to-accelerator communication | |
US20230129610A1 (en) | Multiple physical request interfaces for security processors | |
CN111213144B (zh) | 单芯片系统,用于运行单芯片系统的方法及机动车 | |
CN114616566A (zh) | 安全的硬件可编程体系架构 | |
CN110276214A (zh) | 一种基于从机访问保护的双核可信soc架构及方法 | |
Yu et al. | An I/O separation model for formal verification of kernel implementations | |
US7676608B1 (en) | System for extending Multiple Independent Levels of Security (MILS) partitioning to input/output (I/O) devices | |
US20230365162A1 (en) | Computer system for providing a plurality of functions for a device, in particular for a vehicle, by separation of a plurality of zones | |
CN110851885A (zh) | 嵌入式系统安全防护架构体系 | |
US20230171229A1 (en) | Hardware firewalls with adaptive deny-by-default (dbd) access control | |
KR20180024054A (ko) | 온칩 버스를 기반으로 런-타임 하드웨어 트로이 목마 검출하는 방법 및 온칩 버스를 기반으로 런-타임 하드웨어 트로이 목마 검출하는 방법을 사용하는 SoC | |
CN115905108A (zh) | 一种用于risc-v芯片的iopmp架构实现方法 |
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 |