用于验证由可配置硬件模块提供的用于至少一个硬件应用的执行的执行环境的方法技术

技术编号:31373507 阅读:70 留言:0更新日期:2021-12-15 11:03
总的来说,本发明专利技术涉及一种用于验证由可配置硬件模块(12)提供的执行环境(13)的方法,其中可配置硬件模块(12)中的执行环境(13)用于至少一个硬件应用(16)的执行。在第一步骤(S1)中,由可配置硬件模块(12)来接收硬件应用(16),其中硬件应用(16)包括配置数据,所述配置数据描述了作为可配置硬件模块(12)上的硬件应用组件(14)的实例化。在进一步的步骤(S2)中,在可配置硬件模块(12)的执行环境(13)中将接收到的硬件应用(16)实例化为硬件应用组件(14)。在进一步的步骤(S3)中,由被实例化的硬件应用组件(14)来分析可配置硬件模块(12)的执行环境(13),执行环境(13)执行相应执行环境(13)中的硬件应用组件(14),其中硬件应用组件(14)与表征单元(24、25、26)进行通信,表征单元(24、25、26)提供了可配置硬件模块(12)的执行环境(13)的表征参数,并且在进一步的步骤(S4)中,如果所分析的执行环境(13)与表征单元(24、25、26)所提供的表征参数相匹配,则将可配置硬件模块(12)的所分析的执行环境(13)验证为对于硬件应用组件(14)的执行是可容许的。由于本发明专利技术,硬件应用组件可以验证所述硬件应用组件在哪个可配置硬件模块中或者在可配置硬件模块的哪个执行环境中被执行。块的哪个执行环境中被执行。块的哪个执行环境中被执行。

【技术实现步骤摘要】
【国外来华专利技术】用于验证由可配置硬件模块提供的用于至少一个硬件应用的执行的执行环境的方法
[0001]本专利技术涉及一种用于验证由可配置硬件模块提供的用于至少一个硬件应用的执行的执行环境的方法。
[0002]诸如电子控制单元(ECU)、工业个人计算机(IPC)、物联网(IoT)和边缘设备之类的嵌入式设备被采用,以用于工业过程中的各种任务,诸如控制和监测技术过程以及执行保险性(safety)关键和安全性关键功能。所述设备的正确和未被操纵的运转是至关重要的,这是因为它们还用于监测和/或控制关键过程(例如,可用性、可靠性、实时性和保险性)。此外,工业4.0和工业互联网场景的增长趋势已经导致了用于各种目的(诸如,监测、远程控制和分析)的工业设备的联网的增加。随着联网设备的增加,工业设备变得更容易受到攻击。
[0003]由于工业嵌入式设备在现场(工业环境)中在长使用时段(通常为10至20年,有时为30至40年)内进行服务,因此它们会经历动态改变的环境。这可能导致要求开发出可以应对不断改变的环境的灵活嵌入式设备。这可以通过采用类似于智能电话应用的方法来实现,该智能电话应用可以在运行时下载/安装/升级。在未来,工业设备将支持类似的方法。
[0004]除了软件应用之外,还可以通过使用可重新配置硬件来实现硬件应用组件。硬件应用组件利用例如现场可编程门阵列(FPGA)、FPGA片上系统(SoC)、具有嵌入式FPGA的专用集成电路(ASIC)、以及具有嵌入式FPGA的专用标准产品(ASSP)的部分重新配置特征。硬件应用可以是诸如硬件应用组件之类的单独的独立应用,或者它可以是软件

硬件应用捆绑包(bundle)的一部分。
[0005]利用部分重新配置来重新配置活动中的(on

the

go)部分硬件的FPGA是在市场上可获得的,诸如Intel Cyclone V、Intel Arria 10。在部分可重新配置的FPGA上,硬件应用可以在可重新配置硬件的部分重新配置区域内被实例化为硬件应用组件。
[0006]硬件应用执行环境的完整性保护是至关重要的,尤其是当在可重新配置硬件上被实例化为硬件应用组件的硬件应用执行安全性关键功能(诸如,加密/解密、密钥管理或密钥协定)的情况下。硬件应用环境包括其允许的接口集合以及周围的逻辑。当嵌入式设备在现场时,存在如下可能性:硬件应用组件不仅受到硬件攻击(诸如,硬件木马、受损害的硬件app、侧通道攻击、故障注入、IC去封装(depackaging)和去分层(delayering))的损害,而且还受到软件攻击的损害。
[0007]在预备(provision)安全环境和用于验证该环境的上下文中的常见方法是使用密钥blob。经加密的密钥(密钥blob)的导出以及与硬件实例的对应绑定是已知的,例如如由i.MX6处理器系列或可信平台模块(TPM)提供的那样。i.MX6密码协处理器允许:在生成密钥blob时,还可以将制造商选择的值(例如,密钥修饰符)加载到密码模块中。以这种方式,生成了密钥blob与密钥修饰符之间的绑定。
[0008]此外,物理不可克隆函数(PUF)是已知的。半导体制造过程中的小波动(fluctuation)确保了在其他方面相同的芯片中的电气行为的最小差异。这包括其中每个样本不同地做出行为(behave)的硬件。如果针对每个硬件副本,这种不同的行为以相同的方式一次又一次地发生,则这是特别有利的。PUF可以用作指纹,从而唯一地标识芯片或创
建密码图形密钥。因此,PUF是数字/混合信号电路,该电路放大了行为以生成芯片特定标识符(硬件的认证)和/或密钥(基于PUF的密钥得出(derivation))。特别地,鲁棒的密钥得出与表征阶段以及帮助文件(helper file)的创建和存储相关联。
[0009]附加地,利用安装在芯片上或集成到芯片中的传感器(温度、电压、时钟频率、光、辐射)进行篡改检测是已知的。传感器验证对于正确功能而言所需的物理特性。因此,可以标识攻击(例如,故障注入),并且可以实现反措施(提供针对软件的篡改事件并且设置切换信号、删除密码密钥)。该机制例如被用于i

MX6处理器系列的安全非易失性存储(SNVS)组件中。
[0010]此外,丝网(wire mesh)是已知的。丝网是包括精细导电信号线的结构,例如作为芯片的顶部层的一部分。可以检测对该层的突破(break through),例如通过侵入性攻击对该层的突破。基于电容和电阻改变的进一步方法是已知的。
[0011]这些方法不提供验证可配置硬件模块的执行环境的功能,该执行环境执行被实例化的硬件应用组件。仅基于硬编码的标识符或芯片序列号来标识硬件是可能的。
[0012]因此,本专利技术的目的是提供一种解决方案,该解决方案通过硬件应用组件本身来验证由可配置硬件模块提供的执行环境,以仅在安全环境中提供例如安全性关键功能。
[0013]根据本专利技术的第一方面,该目的通过包括权利要求1的特征的一种用于验证由可配置硬件模块提供的执行环境的方法来实现。
[0014]根据第一方面,本专利技术提供了一种用于验证由可配置硬件模块提供的执行环境的方法,其中可配置硬件模块中的执行环境用于至少一个硬件应用的执行,该方法包括以下步骤:由可配置硬件模块接收硬件应用,其中硬件应用包括配置数据,该配置数据描述了作为可配置硬件模块上的硬件应用组件的实例化;在可配置硬件模块的执行环境中将接收到的硬件应用实例化为硬件应用组件;由被实例化的硬件应用组件来分析可配置硬件模块的执行环境,执行环境执行相应执行环境中的硬件应用组件,其中硬件应用组件与表征单元进行通信,表征单元提供了可配置硬件模块的执行环境的表征参数;以及如果所分析的执行环境与表征单元所提供的表征参数相匹配,则将可配置硬件模块的所分析的执行环境验证为对于硬件应用组件的执行是可容许的(admissible)。
[0015]结合本专利技术,“硬件应用”可以被理解为意指例如组件,特别是数字逻辑组件的描述,例如比特流的网表。它例如以超高速集成电路硬件描述语言(VHDL)或以Verilog HDL来编写,并且在处理(例如,合成、放置和路由)之后在可配置硬件组件(例如FPGA)上被实例化。硬件应用的配置数据描述了可以在可配置硬件模块上的硬件中被实例化(特别是通过要么配置整个可配置硬件模块、要么配置可配置硬件模块上可用的至少一个动态可重新配置部分而被实例化)的硬件应用组件的布局。因此,硬件应用描述了例如可以被上传在可配置硬件模块的执行环境中的数字电路的配置。
[0016]硬件应用组件是被实例化并执行的硬件应用。可配置硬件组件可以包括由配置规范描述的多个可重新配置部分。配置规范包括例如描述了可重新配置硬件组件的哪些部分在运行时可重新配置的平面图(floor plan)。这具有以下优点:在运行时,包括例如不同和/或其他硬件功能的硬件应用可以被上传在可重新配置硬件模块上,而不影响在可重新
配置硬件模块上被实例化的剩余逻辑。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于验证由可配置硬件模块(12)提供的执行环境(13)的方法,其中可配置硬件模块(12)中的执行环境(13)用于至少一个硬件应用(16)的执行,所述方法包括以下步骤:由可配置硬件模块(12)来接收(S1)硬件应用(16),其中硬件应用(16)包括配置数据,所述配置数据描述了作为可配置硬件模块(12)上的硬件应用组件(14)的实例化;在可配置硬件模块(12)的执行环境(13)中将接收到的硬件应用(16)实例化(S2)为硬件应用组件(14);由被实例化的硬件应用组件(14)来分析(S3)可配置硬件模块(12)的执行环境(13),执行环境(13)执行相应执行环境(13)中的硬件应用组件(14),其中硬件应用组件(14)与表征单元(24、25、26)进行通信,表征单元(24、25、26)提供了可配置硬件模块(12)的执行环境(13)的表征参数;以及如果所分析的执行环境(13)与表征单元(24、25、26)所提供的表征参数相匹配,则将可配置硬件模块(12)的所分析的执行环境(13)验证(S4)为对于硬件应用组件(14)的执行是可容许的。2.根据权利要求1所述的方法,其中如果所分析的执行环境(13)与表征单元(24、25、26)所提供的表征参数不匹配,则硬件应用组件(14)改变成硬件操作模式,所述硬件操作模式包括至少以下各项:
‑ꢀ
将硬件应用组件(14)的硬件操作模式改变成错误模式和/或调试模式;
‑ꢀ
限制硬件应用组件(14)的功能;
‑ꢀ
停用硬件应用组件(14)的功能;
‑ꢀ
对所述验证步骤的重复。3.根据前述权利要求1和2中任一项所述的方法,其中可配置硬件模块(12)的执行环境(13)包括可配置硬件模块(12)的重新配置区域RR、和/或可配置硬件模块(12)的重新配置区域RR中的至少一个部分重新配置区域PRR。4.根据前述权利要求1至3中任一项所述的方法,其中可配置硬件模块(12)包括现场可编程门阵列FPGA、专用集成电路ASIC、或专用标准产品ASSP。5.根据前述权利要求1至4中任一项所述的方法,其中表征单元(24、25、26)包括物理不可克隆函数PUF、环形振荡器RO、或环形振荡器

物理不可克隆函数RO

PUF。6.根据前述权利要求2至5...

【专利技术属性】
技术研发人员:H
申请(专利权)人:西门子股份公司
类型:发明
国别省市:

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

1