CN114787806A - 用于运行计算装置的方法和设备 - Google Patents

用于运行计算装置的方法和设备 Download PDF

Info

Publication number
CN114787806A
CN114787806A CN202080087688.5A CN202080087688A CN114787806A CN 114787806 A CN114787806 A CN 114787806A CN 202080087688 A CN202080087688 A CN 202080087688A CN 114787806 A CN114787806 A CN 114787806A
Authority
CN
China
Prior art keywords
zone
computing
supervisor
data
computing device
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
Application number
CN202080087688.5A
Other languages
English (en)
Inventor
M·尧斯
R·F·阿古里丹
M·卡尔塔尔
R·斯提芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN114787806A publication Critical patent/CN114787806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

用于运行用于机动车辆的控制设备的计算装置的方法,所述计算装置具有至少一个计算核心(102a、102b、102c、...、102n;K1、K2、K3、K4;KX),其中所述计算装置(100;100a;100b;100c)被设立用于控制在互联区(400)和安全区(440)之间的数据交换,其中所述安全区(440)包括所述车辆的至少一个组件(442、444、446),诸如发动机控制装置(442)、制动系统(444)或转向装置(446),所述组件对于驾驶所述车辆是需要的并且具有提高的安全相关性,其中所述互联区(400)包括所述车辆的至少一个组件(420、422、424、426),所述组件的运行需要车辆外的通信,但对于驾驶所述车辆是不需要的并且不具有提高的安全相关性,其中至少一个由所述计算装置(100;100a;100b;100c)可执行的第一程序、尤其是应用程序(AP1)分配给不可信区(Z1),以及至少一个其他程序、尤其是应用程序(AP2)分配给可信区(Z2),其中所述互联区(400)的组件(420、422、424、426)被分配给所述不可信区(Z1),并且所述安全区(440)的组件(442、444、446)被分配给所述可信区(Z2),其中所述计算装置(100;100a;100b;100c)包括至少一个存储器(1030、1032),所述存储器具有至少一个第一缓冲存储区域(TB1b、B3'),仅仅分配给所述不可信区(Z1)的程序(AP1)对所述第一缓冲存储区域具有只读取和/或只写入访问,并且具有至少一个第二缓冲存储区域(TB2a,B1_2),仅仅分配给所述可信区(Z2)的其他程序(AP2)对所述第二缓冲存储区域具有只读取和/或只写入访问,并且具有至少一个交换缓冲存储区域(TB1a,TB2b,B3''),所述交换缓冲存储区域使所述不可信区(Z1)的第一程序(AP1)能够仅进行写入访问,而使所述可信区(Z2)的第二程序(AP2)能够仅进行读取访问。

Description

用于运行计算装置的方法和设备
技术领域
本公开涉及一种用于运行具有至少一个计算核心的计算装置的方法。
本发明此外涉及一种用于执行这种方法的设备。
发明内容
在高度网络化的现代车辆的背景下,尤其是由于各种各样的外部接口,例如控制设备和/或嵌入式系统的计算装置上的攻击面大大增加。特别是,存在例如通过互联网在没有对车辆或计算装置的物理访问的情况下的所谓远程攻击的风险、即妥协。根据优选实施方式的原理可以有利地被用于高效地防止对计算装置的这种远程攻击和/或其他攻击。
根据本发明,尤其是通过以下方式实现攻击可能性的降低,即设置不同的区,即至少一个可信区和至少一个不可信区,相应的程序被分配给所述区。通过以下方式改善在不同的区之间的数据交换,即设置具有不同权利(读取、写入,然而不是:执行)的不同缓冲存储区。只有当数据的验证进行,然而仍在不可信区中时,数据才从不可信区过渡到可信区。由此可以进一步限制操纵可能性。由此,尤其是通过使用存储保护装置,可以尤其是最小化由于例如在有差错的返回地址的情况下有差错的编程引起的滥用情况、在缓冲区溢出/下溢情况下的不允许的改写等,所述存储保护装置控制对特定缓冲存储区域的访问权限用于数据交换。区分离也可以应用于接口、存储器或运行时,由此进一步降低滥用可能性。此外,通过该概念进一步降低毁坏的区的影响。该概念已经可以在单个多核心解决方案的情况下实现。该概念可以容易地被缩放,即可以仍根据安全架构特别简单地添加其他区。
在一种适宜的改进方案中,不同的区之间的数据交换具有以下步骤:将数据复制到分配给第一区的第一缓冲存储区域,检验或验证所复制的数据,并且根据检验或验证,将来自分配给第一区的第一缓冲存储区域的数据复制到分配给第二区的第二缓冲存储区域中。
尤其是通过验证到达的数据可以此外提高安全性。数据交换的速度可以基于所选择的概念在高度防操纵性的情况下利用缓冲存储器被提高。此外,该概念还允许监控不可信区,其方式是为此动用用于监控可信区的监控机制。特别优选地,将数据从第一缓冲存储区域写入交换缓冲存储区域中。特别适宜地,位于交换缓冲存储区域中的数据与读取访问相关联地尤其是通过其他程序被检验,并且在成功的数据检验的情况下,将数据从交换缓冲存储区域复制到第二缓冲存储区域中。从而可以进行清楚的区分离,使得无毁坏的数据到达可信区中。此外提高安全性,其方式是禁止对缓冲存储区域中的每个缓冲存储区域和交换缓冲存储区域中的数据的执行访问。从而,只有在验证后才能完全进行数据的使用。由此进一步提高安全性。
特别适宜地设置一种用于运行尤其是用于车辆、尤其是机动车辆的嵌入式系统和/或控制设备的具有至少一个计算核心的计算装置的方法,该方法具有以下步骤:将一个或多个由计算装置可执行的程序、尤其是应用程序或子程序分配给至少两个区之一,其中所述区表征计算装置的资源,所述资源可用于根据分配的区执行相关的应用程序,可选地执行所述程序、尤其是应用程序或子程序中的至少一个,其中所述方法此外包括:使用监督者用于为不同的程序、尤其是应用程序和/或应用程序的实例指派计算时间资源,其中监督者和/或对应于监督者的功能性至少部分地借助于与至少两个区无关的监督者实例来实现。
附图说明
本发明的其他特征、应用可能性和优点从对在附图的图中示出的本发明实施例的以下描述中得出。在此,所描述或表示的所有特征本身或以任意组合的方式构成本发明的主题,而与其在权利要求中的概述或其回引无关以及与其在说明书中或在附图中的措辞或表示无关。
在附图中:
图1示意性地示出根据优选实施方式的计算装置的简化框图,
图2A示意性地示出根据其他优选实施方式的方法的简化流程图,
图2B至2W分别示意性地示出根据其他优选实施方式的方法的简化流程图,
图3示意性地示出根据其他优选实施方式的计算装置的简化框图,
图4、5分别示意性地示出根据其他优选实施方式的方面的简化框图,
图6、7分别示意性地示出根据其他优选实施方式的中断例程的方面,
图8示意性地示出根据其他优选实施方式的流程图,
图9示出根据其他优选实施方式的中断例程的方面,
图10、11分别示意性地示出根据其他优选实施方式的方面的简化框图,
图12A、12B分别示意性地示出根据其他优选实施方式的中断例程的方面,
图13示意性地示出根据其他优选实施方式的方面的简化框图,
图14示意性地示出根据其他优选实施方式的流程图,
图15至19分别示意性地示出根据其他优选实施方式的方面的简化框图,
图20、21分别示意性地示出根据其他优选实施方式的流程图,
图22示意性地示出根据其他优选实施方式的设备的简化框图,
图23示意性地示出根据其他优选实施方式的配置数据的简化框图,以及
图24示意性地示出根据其他优选实施方式的简化框图,以及
图25示出将该设备并入机动车辆中的简化框图。
具体实施方式
图1示意性地示出根据优选实施方式的计算装置100的简化框图。计算装置100具有至少一个计算核心,当前示例性地四个计算核心102a、102b、102c、102n,并且尤其是可以例如被用于嵌入式系统和/或控制设备、尤其是用于车辆、尤其是机动车辆。
优选实施方式涉及用于运行计算装置100的方法,所述方法包括以下步骤,参见图2A的流程图:将通过计算装置100(图1)可执行的一个或多个程序、尤其是应用程序AP1、AP2和/或子程序和/或代理和/或实例分配200给至少两个区Z1、Z2之一,其中区Z1、Z2表征计算装置100的资源,可以使用所述资源用于执行相关的程序、尤其是应用程序AP1、AP2和/或子程序和/或代理和/或应用程序AP1、AP2的实例,根据分配给其的区Z1、Z2可选地执行210程序、尤其是应用程序AP1、AP2和/或子程序和/或代理和/或实例中的至少一个。该方法可选地此外具有:使用212监督者SV来为不同的程序、尤其是应用程序和/或应用程序的实例指派计算时间资源,其中监督者SV和/或对应于监督者SV的功能性至少部分地借助于监督者实例SVI(图1)实现,所述监督者实例独立于至少两个区Z1、Z2。这有利地使得能够提高计算装置100的运行的安全性,而不影响在执行程序、尤其是应用程序AP1、AP2、子程序、代理、实例等时的运行灵活性。
在其他优选实施方式中,由此例如可以定义信任边界(英语:Trust Boundaries),例如在可信和不可信实例/单元/域之间。以这种方式,例如用于计算装置的第一程序、尤其是应用程序和/或子程序和/或代理和/或实例可以被分配给第一不可信区(英语:non-trustworthy zone,NTZ)并且用于计算装置的第二程序、尤其是应用程序和/或子程序和/或代理和/或实例可以被分配给第二可信区(英语:trustworthy zone,TZ)。
在其他优选实施方式中规定,计算装置100(图1)具有多个(如例如在图1中所绘出的那样四个)计算核心102a、102b、102c、102n,其中所述方法此外包括(参见图2B):a)将至少一个计算核心分配220给恰好一个区,和/或b)将至少一个计算核心分配222给多于一个的区,尤其是分配给两个区,c)使用224至少一个计算核心作为监督者实例SVI,尤其是使用至少一个计算核心作为专用监督者实例SVI,d)使用225至少一个硬件安全模块HSM和/或可信平台模块TPM作为监督者实例SVI。
在其他优选实施方式中,例如第一计算核心102a被分配给第一区Z1,所述第一区例如可以表示不可信区,并且第二计算核心102b被分配给第二区Z2,所述第二区可以表示可信区。
在其他优选实施方式中,例如第三计算核心102c不仅被分配给第一区Z1而且被分配给第二区Z2,参见图1。可类比的内容在其他优选实施方式中也可以适用于计算装置100的第四计算核心102n。
在其他优选实施方式中,根据图1的计算装置100还可以拥有在图1中未详细列举的其他组件,诸如一个或多个存储装置和/或外围组件,所述其他组件在图1中为了清楚共同地借助于虚线矩形103表明。附图标记104象征性表示一个或多个数据接口。
不可信区Z1包括互联区400中的机动车辆中的组件/控制设备,参见图25。在此情况下,例如可以经由无线接口410(例如借助于移动无线电、WLAN、蓝牙等)或一个或多个有线接口412(利用物理连接性可容易访问)、诸如具有所属接口端口426的诊断接口(OBD)交换数据。在互联区400中,作为可能的组件例如设置所谓的连接性控制单元或用于车辆外部联网的装置420、信息娱乐422、多媒体单元424等。在该互联区400中安放机动车辆的这样的功能,即所述功能一方面以与车辆之外的装置进行数据交换为特征,但是另一方面不包括对于驾驶机动车辆强制性必要的安全相关功能。尤其是具有低安全分类的组件,例如按照ISO 26262、即用于机动车辆中的安全相关系统的ISO标准的ASIL分类QM或ASIL-A。
对于驾驶机动车辆强制性必要的这样的安全相关功能安放在安全区440中。该功能性安全区440尤其是用于保护乘员和环境。安全区440包括在功能安全性(发动机机控制、转向、制动……)方面具有高要求的所有组件/控制设备。来自可信区Z2的所有数据优选地在无其他输入验证的情况下直接被评价为可信的。示例性地,安全区440的组件可以是发动机控制装置442、制动系统444、转向装置446等。对于安全区440的组件存在提高的安全要求。在此情况下是如在ISO标准IS026262中分类的安全要求,在按照IS026262的安全分类中从ASIL-B起至ASIL-D。
设置控制区430作为尤其是用于在安全区440和互联区400之间进行数据交换的链路。控制区430由网关432实现,在所述网关432中实现所描述的功能。控制区430以有针对性地监控互联区400和安全区440之间的通信为特征。尤其是可信区Z2和不可信区Z1之间的区域分离连同所属的数据交换和尤其是通过存储保护装置SSE或监督者SV进行的监控机制安放在那里。在互联区400和功能性安全区440之间进行相应的交互。
接口410、412、资源、运行时和特权特别优选地根据区(安全相关区Z2、非安全相关区Z1)来进行划分。接口410、412可以是物理上分离的总线系统或是逻辑诊断接口。存储器1030、1030a、程序存储器、数据存储器和数据缓冲区或缓冲存储器属于资源。运行时包括单独的任务或设置单独的通信代理或实例(子程序,例如与根据区Z1、Z2的协议拆分相关联;这些代理或子程序仅用于通信流程)。此外,作为程序可以设置单独的应用程序代理或实例(改变数据或访问所述数据以执行应用程序的子程序,例如用于连接服务、远程开门(Remote Door Unlock)、通过远程操作停车(Remote Parking(远程停车)))。例如有特权的运行模式属于特权。因此,例如可以为第一区Z1设置特殊模式,如这可以通过用于存储保护装置SSE的配置数据实现的那样。此外,可以为第二区Z2设置特殊模式,如这同样可以通过用于存储保护装置SSE的配置数据实现的那样。此外,再次以通过存储保护装置SSE的配置数据代表的方式,可以设置监督者或监督者实例SVI用于在针对两个区Z1、Z2的所提及的模式之间进行变换。在此情况下进行存储保护装置SSE的一次性静态和真实配置。对此的基本行动在下面更详细地予以描述。
在其他优选实施方式中,监督者实例SVI可以例如通过(专用)计算核心和/或硬件安全模块HSM和/或可信平台模块TPM构成,或者监督者实例SVI的功能可以借助于这些元件中的至少一个来实现。
图3示意性地示出根据其他优选实施方式的计算装置100a的简化框图,所述计算装置与根据图1的计算装置100可类比地具有四个计算核心102a、102b、102c、102n。在图3中同样示出工作存储器(RAM)1030、非易失性存储器1032(例如闪存,尤其是闪速EEPROM)以及如例如可以用于控制其外围组件的运行的计算装置100a的可选地存在的特殊功能寄存器1034。组件102a、102b、...、1034彼此间经由总线系统101相互连接。
在其他优选实施方式中,设置用于运行计算装置100(图1)、100a(图3)的方法此外包括(参见图2C):根据至少一个区Z1、Z2控制230、尤其是限制以下元素中的至少一个:a)分配给计算装置100、100a的存储器1030、1032的读取权限,b)分配给计算装置的存储器1030、1032的写入权限,c)分配给计算装置的存储器1030、1032的执行权限(“实施权限”)。由此有利地确保仅分配给相应的区Z1、Z2的这样的程序、尤其是应用程序AP1、AP2(图1)、子程序等获得对所述一个或多个所提及的存储器1030、1032的访问。例如,在其他优选实施方式中,从而可以防止不可信区的程序、尤其是应用程序、子程序、代理(Proxy)访问所述一个或多个存储器1030、1032(尤其是例如通过不可信区访问分配给可信区的存储区域1030、1032),这可能是在通过不可信区的程序可能操纵存储内容方面的风险。
在其他优选实施方式中规定,所述方法此外包括(参见图2C):至少暂时使用232至少一个存储保护装置M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8(图3)用于控制读取权限和/或写入权限和/或执行权限。
在其他优选实施方式中规定,所述方法此外包括(参见图2D):为至少一个计算核心102a提供231至少一个专用存储保护装置M1,其中尤其是为多个、优选所有计算核心102a、102b、102c、102n分别提供专用存储保护装置M1、M2、M3、M4。在其他优选实施方式中,然后可以使用相应的(专用)存储保护装置M1、M2、M3、M4,参见图2D的步骤232',以便执行对所提到的访问权限、尤其是读取权限和/或写入权限和/或执行权限的所提到的控制230、尤其是限制。
在其他优选实施方式中,可以在使用232'(图2D)之前进行(一个或多个)存储保护装置的可选配置231a。
在其他优选实施方式中,参见图2E,规定,至少一个计算核心102a至少暂时地采取第一运行方式,参见步骤240,其中尤其是至少一个计算核心102a在第一运行方式中预先给定和/或写入242控制至少一个存储保护装置M1、M2、...、M5_8的配置数据1036(图3),其中尤其是至少一个计算核心102a至少暂时地采取243第二运行方式,在所述第二运行方式中所述计算核心不能写入和/或改变用于至少一个存储保护装置M1、M2、...、M5_8的配置数据。
在其他优选实施方式中,第一运行方式也可以被称为“监督者模式”或监控模式。“监督者模式”或监控模式因此可以优选地表示有特权的状态,其中相关的计算核心102a可以配置至少一个存储保护装置M1、M2、...、M5_8。
在其他优选实施方式中,可以例如以特殊功能寄存器(英语:special functionregister,SFR)、尤其是配置寄存器1036的形式设置用于至少一个存储保护装置M1、M2、...、M5_8的配置数据,其必要时同样至少暂时地、优选地在控制相应的存储保护装置M5_6的情况下通过总线系统101可访问。换句话说,在其他优选实施方式中,可以为至少一个存储保护装置M1、M2、...、M5_8的配置数据例如设置特殊功能寄存器(SFR)、尤其是配置寄存器1036。
在其他优选实施方式中,参见图2E规定,至少一个计算核心102a以事件控制的方式、尤其是作为至少一个中断请求(英语:interrupt request)采取240第一运行方式。
在其他优选实施方式中规定,所述方法此外包括,参见图2F:为至少一个存储保护装置M1、M2、...、M5_8提供250多组配置数据KD,其中尤其是多组配置数据KD中的至少一个第一组配置数据被分配给至少两个区中的第一区Z1并且多组配置数据KD中的至少一个第二组配置数据分配给至少两个区中的第二区Z2,参见步骤252。
在其他优选实施方式中,至少一个计算核心102a在专用系统状态的范围中例如在开始周期时和/或在特定的事件的情况下、例如在进入中断例程(英语:Interrupt ServiceRoutine,ISR)中时采取特定的运行方式、诸如监督者模式,这例如可以以硬件控制的方式进行。
在其他优选实施方式中,为一个或多个、优选地所有计算核心设置至少一种其他非特权运行方式(“非特权模式”),所述非特权运行方式在其他优选实施方式中也可以被称为“用户模式”(“User Mode”)。在用户模式下,用于至少一个存储保护装置M1、M2、...、M5_8的配置数据KD、1036优选地不能被写入。换句话说,在其他优选实施方式中,刚好处于用户模式的计算核心不能写入或改变用于至少一个存储保护装置M1、M2、...、M5_8的配置数据KD、1036,而刚好处于监督者模式的计算核心能够写入或改变用于至少一个存储保护装置M1、M2、..、M5_8的配置数据KD、1036。
在其他优选实施方式中规定,应用程序AP1、AP2在非特权模式下、例如用户模式下被执行或实施。
在其他优选实施方式中,例如还可以设置三种运行方式或运行状态或模式,例如:第一是监督者模式,第二是“用户模式1”,尤其是对于(一个或多个)不可信区,第三是“用户模式”2",尤其是对于(一个或多个)可信区。
在其他优选实施方式中,静态配置数据KD2可以例如在用户模式1中是激活的,并且例如第一应用程序AP1运行。
在其他优选实施方式中,静态配置数据KD3可以例如在用户模式2中是激活的,并且例如第二应用程序AP2运行。
在其他优选实施方式中,静态配置数据KD1例如在监督者模式下是激活的,其中监督者模式例如(可选地仅)用于在静态配置数据KD2和静态配置数据KD3之间切换。
在其他优选实施方式中,用户模式1和2不能在静态配置数据KD1、KD2、KD3、KD4之间切换。
在其他优选实施方式中,例如还可以设置(仅)两种模式(例如监督者模式和用户模式)。在其他优选实施方式中,监督者模式因此例如可以被分配到可信区,并且例如可以在配置数据KD1和配置数据KD2之间切换,以及必要时例如可以执行第二应用程序AP2。
在其他优选实施方式中,对于不同的运行方式或运行状态(例如特权和非特权模式或监督者模式、用户模式),对于相应的运行方式特定的读取和/或写入和/或实施权限(执行权限)例如被分派到所述一个或多个存储器1030、1032上,这在其他优选实施方式中例如可以通过设置配置数据KD的不同集(“配置数据集”)实现。
在其他优选实施方式中,为(一个或多个)运行方式与相应应用程序的不同组合分派运行方式特定的和/或应用特定的读取和/或写入和/或实施权限,这在其他优选实施方式中例如同样可以通过设置配置数据KD的不同集(“配置数据集”)实现。例如,因此可以例如对于用户模式为不同的应用程序AP1、AP2(图1)分别分派适配于相关的应用程序AP1、AP2的读取和/或写入和/或实施权限。
在其他优选实施方式中,示例性提到的存储保护装置M1、M2、...M5_8中的一个或多个、优选地所有存储保护装置具有多个配置数据集,所述配置数据集在其他优选实施方式中优选地高效地可以被指派给不同模式和应用程序AP1、AP2。
在其他优选实施方式中,例如当在特权或非特权模式之间变换(例如从监督者模式变换到用户模式或反之亦然)时或在应用程序之间变换时,尤其是在非特权模式中高效地尤其是以硬件控制方式在用于相关的模式或运行方式的配置数据集之间进行切换。
在其他优选实施方式中,计算装置100、100a(图3)示范性地具有以下示例性提到的配置可能性:a)用于至少一个中央存储保护装置或至少一个分配给总线系统101(图3)的存储保护装置M5_1、M5_8的尤其是静态的(不可变的)配置数据集,b)用于专用存储保护装置M1、M2、M3、M4的分别四个、尤其是静态的配置数据集,其中在其他优选实施方式中,用于专用存储保护装置的所述分别四个配置数据集具有例如用于监督者模式的一个静态配置数据集以及例如用于应用程序AP1、AP2、即例如用于用户模式的三个静态配置数据集。图23示意性地示出具有总共四个配置数据集KD1、KD2、KD3、KD4的示例性配置数据KD'。
在其他优选实施方式中,配置数据例如定义计算装置的组件、例如计算核心可以以读取和/或写入和/或执行的方式访问哪些存储器寻址。在其他优选实施方式中,存储保护装置可以被构造用于将当前由相关的计算核心执行的访问(读取和/或写入和/或执行)与配置数据的内容进行比较,并且例如在一致时允许或禁止相关的访问或反之亦然。
在其他优选实施方式中,用于专用存储保护装置M1、M2、M3、M4的所提到的优选静态的配置数据集根据实施方式例如对于用户模式可以与区Z1、Z2相关。
在其他优选实施方式中,尤其是在所谓的“核心间区分离(Inter-Core-Zonen-Separation)”的情况下,仅仅特定区Z2(例如具有相同信任级别)的应用程序在特定的计算核心102a(图1)上被执行。在其他优选实施方式中,尤其是在用于这样的计算核心102a的专用存储保护装置M1(图3)的情况下,例如仅使用两个尤其是静态的配置数据集,例如一个配置数据集用于监督者模式,并且一个配置数据集用于用户模式下的应用程序。必要时尤其是在用户模式下用于应用程序的剩余的、迄今为止未使用的配置数据集在其他优选实施方式中可以例如被配置,使得这些配置数据集禁止对整个存储器1030、1032的一般性读取、写入和执行访问,由此进一步提高安全性。
在其他优选实施方式中,尤其是在所谓的“核心内区分离(Intra-Core-Zonen-Separation)”的情况下,具有例如分别不同信任级别的两个区Z1、Z2的应用程序在特定的计算核心102c(图1)上被执行。在这里,优选地使用两个不同的静态配置数据集用于第一区Z1的程序或应用程序以及第二区Z2的程序或应用程序,尤其是用于用户模式,以及优选地另一静态配置数据集用于另一运行方式、例如监督者模式。在其他优选实施方式中,计算核心102c被构造用于在监督者模式下的运行方式下在用于两个区Z1、Z2的两个静态配置数据集之间接管切换。在其他优选实施方式中,如果例如分配给第一区Z1的程序、尤其是应用程序AP1或子程序或实例应该被执行,则计算核心102c因此可以在监督者模式下在其专用存储保护装置中激活对于第一区Z1合适的配置数据集,并且如果例如分配给第二区Z2的程序、尤其是应用程序AP2或子程序或实例应该被执行,则例如在其专用存储保护装置中激活对于第二区Z2合适的配置数据集。尤其是在用户模式下用于程序的必要时剩余的迄今为止未使用的配置数据集(当前为以下配置数据集,即其中示例性地所提到的总数为4件)可以在其他优选实施方式中例如被配置为使得所述配置数据集具有禁止对整个存储器1030、1032的一般性读取、写入和实施访问,由此进一步提高安全性。
在其他优选实施方式中,参见图2G规定,所述方法此外包括:提供260应用程序AP1的第一实例AP1_I1(或子程序、代理)和应用程序AP1的第二实例AP1_I2(或子程序、代理),将应用程序AP1的第一实例AP1_I1分配262给至少两个区的第一区Z1,将应用程序AP1的第二实例AP1_I2分配263给至少两个区的第二区Z2。由此,可以有利地涵盖应用或应用程序AP1在多个区Z1、Z2上“延伸”的应用情况。因此,在其他优选实施方式中,对于该应用程序AP1,对于每个区域可以分别存在实例AP1_I1、AP1_I2,其中这种实例在其他优选实施方式中也被可以称为代理。一般程序可以被理解为代理、实例、子程序等,诸如需要或产生数据的应用程序以及用于数据处理的通信程序。
在其他优选实施方式中,这种代理AP1_I2可以覆盖与相关的其他区Z2相关的(部分)功能性。在其他优选实施方式中,代理必要时还可以包括多个子组件。
在其他优选实施方式中,计算装置100、100a可以例如执行以下场景:如果第一程序、尤其是应用程序AP1、子程序应该从例如不可信第一区Z1接收数据——例如来自互联网的远程服务请求(“远程服务请求”)并且在可信区Z2内相应地处理或转发这些数据——例如用于执行相应的服务(“远程服务”),则在第一区Z1内通过应用程序AP1的Z1代理AP1_I1接收数据,其中相对应的Z2代理AP1_I2例如执行以下步骤:对由Z2代理AP1_I2尤其是按默认归类成不可信的数据进行数据验证,以及(在数据验证成功的情况下)现在在第二区Z2内处理或转发(在数据验证之后)归类为可信的数据。
在其他优选实施方式中规定,所述方法此外包括,参见图2H:根据至少两个区Z1、Z2将分配给计算装置100、100a的存储器1030、1032的区域分离270,其中分配给计算装置100、100a的存储器具有以下元素中的至少一个:a)缓冲存储器,尤其是以工作存储器的形式,b)堆栈存储器,c)数据存储器,d)程序存储器,e)寄存器存储器,其中使用至少一个存储保护装置用于分离270,参见可选的步骤272。
在其他优选实施方式中规定,所述方法此外包括,参见图2I:通过缓冲存储器、尤其是工作存储器在不同的区之间交换280第一数据,其中尤其是在第一区Z1和第二区Z2之间交换第一数据具有以下步骤:将第一数据复制282到分配给第一区的第一缓冲存储区域TB1b、B3中,检验283所复制的第一数据,并且尤其是根据检验,将来自分配给第一区Z1的第一缓冲存储区域TB1b、B3的第一数据复制283到分配给第二区Z2的第二缓冲存储区域TB2a、B1_2中。数据交换特别优选地通过交换缓冲存储区域TB1A(用于从区1 Z1到区2 Z2的数据交换)或通过交换缓冲区域TB2b(用于从区2 Z2到区1 Z1的数据交换)进行。
图4示意性地示出根据其他优选实施方式的计算装置100、100a的方面的简化框图。绘出两个计算核心102a、102b,所述计算核心如前已经描述的那样被分配给相应的区Z1、Z2。工作存储器1030(图3)的区域1030a当前作为缓冲存储器(或如下面描述的缓冲存储区域(第一缓冲存储区域TB1b、B3;第二缓冲存储区域TB2a、B1_2;交换缓冲存储区域TB1a、TB2b、B3"))或“共享工作存储器”尤其是可用于在不同的区Z1、Z2或相关的计算核心102a、102b或在其上可执行的应用程序(的实例)之间的数据交换,其中第一区Z1的第一子区域TB1分别分配给第二计算核心102b并且第二区Z2的第二子区域TB2分别分配第一计算核心102a。
在图4中同样绘出多个代理PXY,其中例如第一数量个代理Z1-代理1、Z1-代理2、...、Z1-代理n分配给第一区Z1、当前也即计算核心102b,并且其中例如第二数量个代理Z2-代理1、Z2-代理2、...、Z2-代理n分配给第二区Z2、当前也即计算核心102a。当前,用附图标记SSE表示多个存储保护装置SSE或其功能组件,所述存储保护装置SSE或其功能组件在图1中象征性根据优选实施方式根据原理表明子区域TB1、TB2或区Z1、Z2彼此或彼此间的相应分离。
为了数据交换使用不同的缓冲存储区域,根据图配备有不同的附图标记:第一缓冲存储区域TB1b、B3;第二缓冲存储区域TB2a、B1_2;交换缓冲区域TB1a、TB2b、B3''。
为了例如以安全的方式将数据从第一区Z1(发送区域)传输到可信第二区Z2(接收区),设置存储器1030、1032的不同缓冲存储区域。
从而,为第一或发送区Z1设置第一缓冲存储区域TB1b、B3'。发送区或第一区Z1或分配给不可信区Z1的第一程序、尤其是应用程序AP1、子程序等具有通过存储保护装置SSE实现的以下访问权限:读取、写入,而不是:执行。接收区或第二区Z2或分配给可信区Z2的第二程序、尤其是应用程序AP2、子程序等不具有对经由存储保护装置SSE实现的第一缓冲存储区域TB1b、B3'的访问权限,即既不读取、写入也不执行。
为第二区或接收区Z2设置第二缓冲存储区域TB2a、B1_2。接收区或第二区Z2或分配给可信区Z2的第二程序、尤其是应用程序AP2、子程序等具有经由存储保护装置SSE实现的以下访问权限:读取、写入,而不是:执行。发送区或第一区Z1或所属的第一程序不具有经由存储保护装置SSE实现的访问权限,即既不读取、写入也不执行。
设置交换缓冲存储区域TB1a、TB2b、B3''用于从发送区或第一区Z1到接收区或第二区Z2的数据交换。发送区或第一区Z1或第一程序对于交换缓冲存储区域TB1a、TB2b、B3"具有经由存储保护装置SSE实现的以下访问权限:写入。接收区或第二区Z2或第二程序对于交换缓冲存储区域TB1a、TB2b、B3"具有通过存储保护装置SSE实现的以下访问权限:读取。
为了在发送区Z1和接收区Z2之间进行数据交换以及在接收区Z2中使用或转发得出以下流程。首先,由发送区Z1将来自第一缓冲存储区域TB1b、B3'的数据写入交换缓冲存储区域TB1a、TB2b、B3''中。随后由接收区Z2通过对交换缓冲存储区域TB1a、TB2b、B3"的读取访问来验证数据(有效性检验)。如果数据是有效的,则由接收区Z2将所述数据评价为可信的并且将所述数据复制到用于接收区Z2的第二缓冲存储区域TB2a、B1_2中。在接收区Z2中从用于接收区Z2的第二缓冲存储区域TB2a、B1_2开始进一步使用和转发可信数据。
所描述的方法强制性地可以被用于从不可信区Z1到可信区Z2中的数据交换。在另一方向上(从可信区Z2到不可信区Z1中的数据交换),该行动是可选的。为了根据所描述的安全方法从可信区Z2到不可信区Z1中的数据交换,此外设置可选的其他交换缓冲存储器TB2b、B1_1,可信区Z2的程序对所述其他交换缓冲存储器仅具有写入访问,接收区Z1对所述其他交换缓冲存储器仅具有读取访问。否则,交换过程如描述的那样有意义地运行。
如已经描述的那样,通过存储保护装置SSE进行对缓冲存储器(第一缓冲存储区域TB1b、B3;第二缓冲存储区域TB2a、B1_2;交换缓冲存储区域TB1a、TB2b、B3'')的访问权限管理(关于读取权限、写入权限、执行权限)。对于所有三种缓冲区类型(第一缓冲存储区域TB1b、B3';第二缓冲存储区域TB2a、B1_2;交换缓冲存储区域TB1a、TB2b、B3"),针对每个区Z1、Z2的执行权应该被禁止。存储保护装置SSE的配置以及从而对相应缓冲类型的访问权限和区Z1、Z2的分配在引导过程时静态且真实地进行。这意味着在运行时或在引导后在首次配置之后改变配置是不可能的。
对缓冲区(第一缓冲存储区域TB1b、B3';第二缓冲存储区域TB2a、B1_2;交换缓冲存储区域TB1a、TB2b、B3")之一的每个访问总是经由存储保护装置SSE进行。这意味着通过存储保护装置SSE禁止通过区Z1、Z2的每个无效访问请求(例如在缓冲区溢出(所谓的缓冲区溢位(buffer-overflow),例如通过第一区Z1对第二区域T2的第二缓冲存储区域TB2a、B1_2的写入访问)。
在其他优选实施方式中,参见图2J规定,所述方法此外包括:为不同的应用程序AP1、AP2和/或应用程序的实例分离290计算时间资源,尤其是根据至少两个区Z1、Z2为不同的应用程序和/或应用程序的实例分配计算时间资源。
在其他优选实施方式中规定,所述方法此外包括:使用292用于嵌入式系统的操作系统BS、尤其是轻量级嵌入式操作系统BS,用于为不同的应用程序AP1、AP2和/或应用程序的实例AP1_I1、AP2_I2指派计算时间资源,其中尤其是操作系统BS分别分配给计算装置100、100a的计算核心,参见图4。
在其他优选实施方式中规定,对根据图2J的步骤292替代或补充地,所述方法此外包括:使用294用于嵌入式系统的监督者SV(参见图5)、尤其是轻量级嵌入式监督者SV,用于为不同的应用程序和/或应用程序的实例指派计算时间资源,其中监督者SV尤其是分别分配给计算装置的计算核心102c(图5)。
在其他优选实施方式中规定,操作系统BS和/或监督者SV尤其是在使用静态(不可变)任务列表的情况下优选地仅为预定义的任务(应用程序和/或应用程序的实例和/或其部分)分配计算时间资源。换句话说,在其他优选实施方式中,仅仅预定义的任务的调度是可能的,这进一步提高安全性。
在其他优选实施方式中规定,操作系统BS(图4)和/或监督者SV(图5)根据a)重复的、尤其是周期性重复的中断请求(例如来自定时器中断的中断请求)和/或b)受事件控制的中断请求来分配计算时间资源,其中尤其是任务从至少一个中断例程(中断服务例程,ISR,在发生中断请求时执行的计算机程序)被激活。
在其他优选实施方式中规定,在进入中断例程时,尤其是以硬件控制的方式改变用于至少一个存储保护装置M1、M2、...、SSE的配置数据。
在其他优选实施方式中,轻量级嵌入式OS BS(图4)或轻量级嵌入式监督者SV(图5)可以例如协调和/或编排(“调度”)周期性或基于事件执行的(代理)功能性(任务)。
在其他优选实施方式中,轻量级嵌入式OS BS以及轻量级嵌入式监督者尤其是具有下述特性中的至少一个:
a)通过将复杂性(代码规模、功能性、灵活性等)降低到必要的最小值来最小化攻击面,
b)调度仅仅预定义的任务(静态任务列表,动态任务列表是不可能的),调度例如基于具有例如周期性中断请求(IRQ)、例如定时器IRQ和/或基于事件(event)的IRQ-例如Rx(接收)IRQ、Tx(发送)IRQ、SW(软件)IRQ等的ISR,任务从ISR被激活,
c)在进入ISR时,优选地以硬件控制的方式切换到监督者模式:例如切换到用于监督者模式的静态配置数据集,优选地在静态配置数据集之间的切换(例如对于用户模式)仅仅在监督者模式下是可能的,
d)此外优选地,在激活任务之前,从监督者模式切换到用户模式,其中尤其是在用户模式中执行任务(例如应用程序的(实例的)部分),其中此外尤其是在用户模式中或在任务中在(静态)配置数据集之间切换是不可能的。
e)有利地,在其他优选实施方式中,已经隐性地通过(一个或多个)存储保护装置的静态(并且必要时尤其是也为整体和真实的)配置例如在开始周期期间能够实现,不能借助于为监督者模式设置的中断例程(ISR)进行存储保护装置的动态重新配置(例如由轻量级嵌入式OS BS/监督者SV)。
在其他优选实施方式中规定,所述方法此外包括,参见图2K:尤其是借助于操作系统BS(图4)和/或监督者SV(图5)尤其是基于潜在的妥协监控300以下元素中的至少一个:a)第一区Z1,b)分配给第一区Z1的应用程序AP1,c)分配给第一区Z1的应用程序AP1的实例AP1_I1,其中尤其是监视300包括:评估302(图2K)堆栈存储器(“堆栈”)和/或评估304程序计数器(“program counter”,PC),其中优选地在激活应用程序和/或应用程序的实例之前评估302堆栈存储器和/或评估304程序计数器。
在其他优选实施方式中规定,所述方法此外包括,参见图2L:尤其是当监控300推断出潜在的妥协时,监控300(参见上面的图2K)以及引入305差错响应。
在其他优选实施方式中规定,差错响应或差错响应的引入305具有以下元素中的至少一个,参见图2M:a)尤其是借助于激活305a分配给第一区Z1的计算核心102b将第一区Z1和/或分配给第一区Z1的计算核心102b(图1)置于安全状态和/或重置305b分配给第一区Z1的计算核心102b和/或将其置于305c差错模式,b)生成305d差错条目FE和/或c)将差错条目或所述差错条目转发305e给攻击检测系统、尤其是入侵检测系统。在其他优选实施方式中,IDS可以例如相对于计算装置100、100a布置在内部和/或外部。
在其他优选实施方式中,IDS例如还可以具有分布式实现,其中例如在一个计算装置或所述计算装置或计算装置的至少一个计算核心上实现或执行第一子功能性(诸如IDS传感器和必要时IDS主控端),并且其中尤其是其他部分或(一个或多个)其他子功能性可选地在另一设备、例如后端中实现。在其他优选实施方式中,后端还可以被例如被构造用于实现以下方面中的至少一个:a)深度专家分析,b)人工智能(KI),c)机器学习(ML)等。
在其他优选实施方式中,参见图2N规定,计算装置100、100至少暂时地执行冷启动310,其中尤其是在冷启动310期间从非易失性存储器1032(图3)中加载数据和/或程序代码,并且其中计算装置100、100a至少暂时地执行热启动312(图2N),其中尤其是在热启动312期间从至少暂时通电的易失性存储器1030(图3)加载数据和/或程序代码,其中尤其是在冷启动310(图2N)期间,配置至少一个存储保护装置或所述至少一个存储保护装置,参见图2N中的步骤311,和/或其中尤其是(也)在热启动312期间配置至少一个存储保护装置,参见图2N的步骤313。
在其他优选实施方式中规定,仅仅已经被提供有专用存储保护装置M1、M2、M3、M4(参见图2D中的步骤231)的那个计算核心102a、102b、102c、102n配置该专用配置存储保护装置M1、M2、M3、M4(图2D的步骤231a)。
在其他优选实施方式中规定,所述方法此外包括,参见图2O(数字“2”,字母“O”):为不同的应用程序指派计算时间资源212a和/或为应用程序的实例指派计算时间资源212b,其中监督者SV和/或对应于监督者SV的功能性至少部分地借助于监督者实例SVI(图1)实现。
在其他优选实施方式中规定,所述方法此外包括,参见图2P:尤其是借助于以下元素中的至少一个检验320控制至少一个存储保护装置的运行的配置数据KD的完整性和/或真实性:a)验证322可用于配置至少一个存储保护装置的程序代码,b)验证324配置数据,c)保存326a可用于配置至少一个存储保护装置的一个或所述程序代码,d)保存328配置数据。
在其他优选实施方式中,保存326、328可以例如包括在只读存储器、例如ROM或OTP(一次性可编程(one time programmable)存储器)中设置可用于配置至少一个存储保护装置的程序代码或配置数据的程序代码。
在其他优选实施方式中规定,所述方法此外包括,参见图2Q:尤其是通过计算装置100、100a的至少一个计算核心,至少暂时地执行330安全引导方法和/或至少暂时地执行332用于在运行时期间进行操纵识别(RTMD,运行时操纵检测(runtime manipulationdetection))的方法。方法330、332可以例如包括将存储器1030、1032的至少一部分的实际存在的存储器内容与可预先给定的参考存储器内容进行比较,其中比较例如还可以包括散列值形成和/或CMAC(基于密文的消息认证码(cipher-based message authenticationcode))方法的使用和/或签名或经签名的哈希值的使用。
在其他优选实施方式中规定,所述方法此外包括,参见图2R:根据至少一个区Z1、Z2控制340程序或应用程序AP1、AP2对以下元素中的至少一个的访问:)计算装置的内部接口、尤其是软件接口,b)计算装置的内部和/或外部硬件接口,c)用于执行密码功能的硬件安全模块和/或密码模块,d)计算装置的外围设备,尤其是至少一个外围设备的特殊功能寄存器,e)用于计算装置的目标系统、尤其是控制设备的内部接口,f)计算装置的目标系统、尤其是控制设备的外部接口,g)尤其是在ISO/OSI层模型的至少一层上用于通信协议的寻址元件。根据图2R的可选步骤342示例性地表明相关应用程序在分配给其的区域中的(进一步)执行。
在其他优选实施方式中规定,所述方法此外具有以下元素中的至少一个,参见图2S:a)引进350至少一个附加的、尤其是不是已经存在的区,b)将功能性从计算装置100、100a的第一计算核心102a转移352到至少一个其他计算核心102b,c)在使用尤其是集成在计算装置中的工作存储器的情况下执行354在至少两个区之间的通信,d)定义360(参见图2T)至少一个可信区,并且可选地通过分配给可信区的至少一个应用程序监控362至少一个其他尤其是不可信的区域。
下面参考图6至21描述根据实施方式的原理的其他优选实施方式、方面和优点。它们根据其他优选实施方式可以分别本身单独地或以与前述实施方式中的至少一个相互组合的方式被组合。
图6示意性地示出根据其他优选实施方式的中断例程ISR1的方面,如可以例如至少暂时地由计算单元100、100a的至少一个计算核心102a、102b、...执行的那样。图6中的闪电符号IRQ象征性表示如可以例如周期性(例如可由定时器部件(定时器)预先给定地)和/或以事件控制的方式(例如消息到达通信接口)产生的出现的中断请求(interruptrequest)。在其他优选实施方式中,接着执行中断例程ISR1,所述中断例程具有以下元素中的至少一个:e1)例如在堆栈存储器上(可以例如在RAM 1030的可预先给定的区域中定义),至少暂时地存储被中断请求IRQ中断的任务或程序的上下文,e2)标识随后要执行的任务,e3)从当前运行模式、例如监督者模式切换到另一运行模式、例如用户模式,e4)对于所标识的区恢复任务。
在其他优选实施方式中,尤其是在核心间区分离的情况下,根据图6的中断例程ISR1可以示例性地由操作系统BS(图4)使用。
图7示意性地示出根据其他优选实施方式的中断例程ISR2的方面,如例如可以至少暂时地由计算单元100、100a的至少一个计算核心102a、102b、...执行的那样。
图7中的闪电符号IRQ'象征性表示如可以例如周期性(例如可由定时器部件(定时器)预先给定地)和/或以事件控制的方式(例如消息到达通信接口)产生的出现的中断请求。在其他优选实施方式中,随后执行中断例程ISR2,所述中断例程具有以下元素中的至少一个:e1')至少暂时地例如在堆栈存储器上存储由中断请求IRQ'中断的任务或程序的上下文,可选地:e5)执行例如堆栈存储器(参见例如图2K的步骤302)和/或程序计数器(参见例如图2K的步骤304)的评估,e6)标识随后要执行的任务,e7)将上下文切换到(例如来自前面的步骤e6)的所标识的区,其中所标识的区与随后要执行的所标识的任务相关联)(可替代地,在其他优选实施方式中,切换也可以例如基于地址地进行,例如借助于CAN ID、VLANID、MAC地址等。),e8)从当前运行方式、例如监督者模式切换到另一运行方式、例如用户模式,e9)对于后续任务恢复上下文。
在其他优选实施方式中,根据图7的中断例程ISR2尤其是在核心内区域分离的情况下可以示例性地由监督者SV(图5)使用。
图8示意性地示出根据其他优选实施方式的流程图,其中附图标记310'示例性地表示计算装置100、100a的冷启动的方面,并且其中附图标记312'示例性地表示计算装置100的热启动的方面,例如100a。在冷启动310'时,例如用于验证RAM 1030(图3)的内容的检验模式不可用。在热启动312'时,例如用于验证RAM 1030(图3)的内容的检验模式可用。
在其他优选实施方式中,在至少要经历一次的冷启动的范围中,可以将检验模式或样式写入易失性存储器中,该易失性存储器尤其是在掉电模式下被供应。由于所提到的供应,因此在本身易失性存储器中的所提到的检验模式或样式被获得。在其他优选实施方式中,该(RAM)样式在至少一个、尤其是每个启动周期时由系统状态机(可以在其他优选实施方式中例如用于控制系统状态的自动状态机)检验,并且尤其是可以根据检验模式的存在(例如,如果(RAM)模式不存在)执行冷启动或(例如如果(RAM)模式存在)执行热启动。
在其他优选实施方式中,从而在至少一次强制性待经历的先前冷启动(安全引导和/或从OTP存储器启动-见上文)的范围内确保在掉电模式中供应的易失性存储器或其包含或位于其中的数据和功能性(例如计算核心102c和/或存储保护装置的配置数据,尤其是对于第一区和/或第二区和/或程序代码)的完整性和真实性。
在其他优选实施方式中,在掉电模式下在所供应的易失性存储器中存在的数据和功能以及RAM样式的无效操纵因此暗示至少暂时供电中断并且因此在掉电模式下供应的易失性存储器(RAM样式等)的删除。在其他优选实施方式中,系统状态机将会相应地在启动周期的范围中由于缺乏的RAM样式尤其是自动地开始冷启动(安全引导和/或从OTP启动——见上文),由此在掉电模式下供应的易失性存储器或其数据和功能性的完整性和真实性在其使用或执行之前得到保证。
在其他优选实施方式中规定,在存在检验模式时,例如在热启动的范围中所选择的时间关键SW实例不在其执行之前被检验(即例如尤其是无安全引导),而是必要时仅在运行时/在其执行之后才被检验。由此有利地在热启动期间用于时间关键SW实例的启动时间被加速。从而在其他优选实施方式中,在热启动期间的完整性和真实性有利地即使在无显性检验的情况下也在热启动期间隐性地通过检验模式的可用性(并且因此在先前冷启动期间的检验)被确保。在其他优选实施方式中,即使在热启动期间也可以在执行非时间关键的组件之前显性地(例如借助于安全引导过程)检验所述非时间关键的组件。
块102a_1示例性地将计算装置(图3)的第一计算核心102a象征性表示为“信任根(root of trust)”,即可类比于与TPM(可信平台模块)或硬件安全模块(HSM)相似的硬件安全参考,块102a_2代表与计算核心102a相关联的引导管理器(控制其他系统和/或应用程序的加载和/或执行的系统程序)。块102a_3代表与区Z2和计算核心102a相关联的程序代码的执行。块110代表硬件安全模块。块111代表与计算核心102c相关联的引导管理器。块112表示与区Z1、Z2和计算核心102c(所述计算核心示例性地和如上已经多次描述的女友分配给两个区Z1、Z2)相关联的程序代码的执行。块113代表与计算核心102b相关联的引导监督者。块114代表与区Z1和从而计算核心102b相关联的程序代码的执行。块115代表与计算核心102n相关联的引导监督者。块116代表与区Z1、Z2和计算核心102n相关联的程序代码的执行。
箭头a1象征性表示引导过程(例如从完全去激状态开动计算装置100a)。箭头a2象征性表示至少一个存储保护装置、尤其是中央或分配给总线系统101(图3)的存储保护装置M5_1、M5_2、...、M5_8的配置。箭头a3象征性表示计算核心102c的引导监督者的启动,也参见块111。
箭头a4象征性表示用于计算核心102c的至少一个专用存储保护装置M3(图3)的配置。箭头a5象征性表示通过计算核心102c对程序代码的执行112的开始。箭头a6象征性表示计算核心102c的可选验证,例如以RTMD的形式。在其他优选实施方式中,存储保护装置M3的配置数据的可选验证尤其是可以借助于密码方法、例如基于CMAC和/或经签名的散列值被执行。
箭头a7同样象征性表示在冷启动310'的上下文中计算核心102c的可选验证。在其他优选实施方式中,可选验证a7可以借助于密码方法例如基于CMAC和/或经签名的散列值被执行。箭头a8象征性表示计算核心102c的引导监督者的启动,类似于箭头a3,也参见块111。箭头a9尤其是类似于箭头a4地象征性表示用于计算核心102c的至少一个专用存储保护装置M3的配置(图3)。箭头a10象征性表示通过计算核心102c对程序代码的执行112的开始,类似于箭头a5。
箭头a11象征性表示多个、优选所有计算核心102a、102b、...、102n的可选验证。箭头a12象征性表示计算核心102n的引导监督者的启动,也参见块115。箭头a13象征性表示用于计算核心102n的至少一个专用存储保护装置的配置。箭头a14象征性表示通过计算核心102n对程序代码的执行116的开始。
箭头a15象征性表示计算核心102b的引导监督者的启动。箭头a16象征性表示用于计算核心102b的至少一个专用存储保护装置的配置。箭头a17象征性表示通过计算核心102b对程序代码的执行114的开始。
箭头a18象征性表示计算核心102a的引导监督者的启动。箭头a19象征性表示用于计算核心102a的至少一个专用存储保护装置的配置。箭头a20象征性表示通过计算核心102a对程序代码102a_3的执行的开始。
图9示意性地示出根据其他优选实施方式的中断例程ISR3的方面,如例如可以至少暂时地由计算单元100、100a的至少一个计算核心102a、102b、...执行的那样。图9中的闪电符号IRQ"象征性标识如可以例如周期性地(例如由定时器模块(定时器)可预先给定)和/或基于软件地(例如通过应用程序调用)产生的出现的中断请求。在其他优选实施方式中,接着执行中断例程ISR3,所述中断例程具有以下元素中的至少一个:e1')至少暂时地存储由中断请求IRQ"中断的任务或程序的上下文,可选地:e5')执行对例如堆栈存储器(例如参见图2K的步骤302)和/或程序计数器(例如参见图2K中的步骤304)的评估,e10)将上下文切换到下一任务(例如根据优选静态任务列表),e11)从当前运行方式、例如监督者模式切换到另一运行方式、例如用户模式,e12)对于所标识的区恢复任务。
图10示意性示出根据其他优选实施方式的计算核心102a,操作系统BS和/或监督者SV(类似于图5,图10中未示出)被分配给该计算核心,并且所述计算核心本身被分配给两个区Z1、Z2。计算核心102a例如可以被用于网络交换机,例如以便发送和/或接收以太网数据包。应用程序的对应实例用附图标记AP3_I1(接收以太网包,在Z1区执行)、AP3_I2(接收以太网包,在Z2区执行)、AP4_I1(发送以太网包,在Z1区执行)、AP4_I2(发送以太网数据包,在Z2区执行)表示。例如对于网络交换机执行管理任务的另一应用程序仅在定义为可信的第二区Z2中运行,然而不在定义为不可信的第一区Z1中运行。RAM 1030被分配给计算核心102a,在其他优选实施方式中,所述RAM可以以例如与图5可类比的方式被划分。可选地设置交换引擎(例如耦合网络)和/或TCAM(三元内容可寻址存储器(ternary content-adressable memory))模块。
图11示意性地示出根据其他优选实施方式的两个计算核心102a、102b,其中第一计算核心102a被分配给第一区Z1并且其中第二计算核心102b被分配给第二区Z2。操作系统BS分别被分配给两个计算核心102a、102b。
为清楚起见,在图11中共同地用附图标记11表示的不同应用程序的第一实例分配给第一区Z1并且因此分配给第一计算核心102a。在其他优选实施方式中,各种应用程序具有例如以下元素中的至少一个:a)用于执行数据包的检查的程序,尤其是用于深度包检验(deep packet inspection)DPI,b)用于诊断的程序,c)用于尤其是借助于FOTA(firmwareover the air,空中固件)技术(例如借助于数据接口1008,图22)执行更新的程序,d)用于攻击识别和攻击防御(入侵检测和预防(Intrusion detection and Prevention))的程序。在其他优选实施方式中,与第二计算核心102b和第二区Z2对应的第二实例I2分配给上述关于第一区Z1描述的应用程序。根据其他优选实施方式,至少一个存储保护装置SSE可以被用于控制不同区的相应应用程序或实例的读取权限和/或写入权限和/或执行权限。通过以上示例性参考图11描述的配置可以高效地例如对于电子控制设备和/或嵌入式系统和/或IoTa系统等提供用于检查数据包或用于攻击识别和防御的特别安全的系统,其中通过将应用程序的实例11、I2分配给区Z1、Z2,特别有利地例如可以分别提供用于以不同的信任级执行(实施)的上下文。
图12A示意性地示出根据其他优选实施方式的中断例程ISR4的方面,如可以例如至少暂时地由计算单元100、100a的至少一个计算核心102a、102b、...执行的那样。图12A中的闪电符号Rx象征性表示如例如可以以事件控制的方式、当前例如在接收消息、例如CAN(控制器局域网)消息时产生的出现的中断请求(interrupt request)。在其他优选实施方式中,接着执行中断例程ISR4,所述中断例程具有以下元素中的至少一个:e20)至少暂时地存储由中断请求Rx中断的任务的上下文,尤其是发送任务(“Tx任务”),例如用于发出消息或程序,可选地:e21)执行例如对堆栈存储器(例如参见图2K的步骤302)和程序计数器(例如参见图2K的步骤304)的评估,确定所接收的数据帧(例如所提到的所接收的CAN消息)关联的区,e23)将上下文切换到在步骤e22中确定的区,e24)从当前运行方式、例如监督者模式切换到另一运行方式、例如用户模式,e25)调用用于接收消息的处理例程(“接收(Rx)处理程序”),也即例如处理所接收的消息的应用程序或应用程序的一部分,e26)对于所标识的区恢复任务(例如发送任务)。
在其他优选实施方式中,规划(“调度(scheduling)”)发送任务、即用于发出消息的任务或应用程序或应用程序的一部分。
在其他优选实施方式中,表征消息接收的中断请求(“RxIRQ”,接收中断请求)以比例如通常由定时器(Timer)和/或应用程序或软件触发的其他中断请求更高的优先权被处理。
在其他优选实施方式中,同时或在可预先给定的第一时间范围内到达的中断请求例如根据中断请求的源(到达的消息、定时器、软件)和/或根据一个或多个另外的或其他准则被优先化。在其他优选实施方式中,例如可以通过用于中断请求的控制准则(英语:interrupt controller(中断控制器))来执行这样的优先化。
在其他优选实施方式中,可以仅仅在可预先给定的运行方式中、尤其是在监督者模式中切换上下文,例如参见图12A的步骤e23。
在其他优选实施方式中,以上参考图12A示例性描述的方面可以用于至少暂时地控制用于轻量级监督者、尤其是CAN轻量级监督者的到达的消息的处理。
图12B示意性地示出根据其他优选实施方式的中断例程ISR5的方面,如可以例如至少暂时地由计算单元100、100a的至少一个计算核心102a、102b、...执行的那样。图12B中的闪电符号TIM_SW象征性表示如例如可以由定时器或应用程序或通常软件产生的出现的中断请求。在其他优选实施方式中,接着执行中断例程ISR5,所述中断例程具有以下元素中的至少一个:e30)至少暂时地存储由中断请求Rx中断的任务的上下文、尤其是发送任务(“Tx任务"),例如用于发出消息或程序,可选地:e31)执行例如对堆栈存储器(例如参见图2K的步骤302)和程序计数器(例如参见图2K的步骤304)的评估,e32)将上下文切换到下一区发送任务(例如根据尤其是静态任务列表),e33)从当前运行方式、例如监督者模式切换到另一运行方式、例如用户模式,e34)对于所标识的区恢复任务(例如发送任务)。
以上示例性参考图12A描述的其他方面在其他优选实施方式中以相应的方式适用于根据图12B的中断例程ISR5。
图13示意性地示出根据其他优选实施方式的计算装置100b的方面的简化框图。计算装置100b当前示例性地具有四个计算核心K1、K2、K3、K4,其中第一计算核心K1被构造用于处理通信消息、尤其是CAN消息。因此,在其他优选实施方式中,根据图13的第一计算核心K1也可以被称为“CAN核心”。其他计算核心K2、K3被设置用于执行应用程序(的必要时不同的实例)并且因此在其他优选实施方式中也可以被称为“应用核心”或英语“Applicationcore”K2、K3。根据图13的第四计算核心K4被构造用于处理以太网通信消息并且因此在其他优选实施方式中也可以被称为以太网核心或ETH核心或英语为“ETH Core”K4。第一监督者SV1、尤其是CAN轻量级监督者被分配给第一计算核心K1,并且第二监督者SV2、尤其是ETH(以太网)轻量级监督者被分配给第四计算核心K4。
在其他优选实施方式中,第一计算核心K1被分配给两个区Z1、Z2。在其他优选实施方式中,第四计算核心K4也被分配给两个区Z1、Z2。
在其他优选实施方式中,用于发送和/或接收CAN消息的应用程序分配给第一计算核心K1,其中图13中的附图标记I1表示该应用程序的第一实例(或程序或子程序或代理),所述第一实例I1被分配给第一区Z1并且被构造用于接收CAN消息。与此相对,附图标记I2表示该应用程序的第二实例(或程序或子程序或代理),所述第二实例被分配给第二区Z2并且被构造用于接收CAN消息。附图标记I3、I4表示用于发送或接收CAN消息的相应实例(或程序或子程序或代理),所述实例同样分别分配给两个区Z1、Z2之一。
在其他优选实施方式中,以上示例性地参考图12A、12B描述的中断请求Rx、TIM_SW可以由第一计算核心K1处理,例如通过执行相应的中断例程ISR4(图12A)或ISR5(图12B)。
在其他优选实施方式中,用于发送和/或接收以太网消息的应用程序分配给第四计算核心K4,图13中的附图标记I1'表示该应用程序的第一实例(或程序或子程序或代理),所述第一实例I1'被分配给第一区Z1并且被构造用于接收以太网消息。与此相对,附图标记I2'表示该应用程序的第二实例(或程序或子程序或代理),所述第二实例被分配给第二区Z2并且被构造用于接收以太网消息。附图标记I3'、I4'表示用于发送或接收以太网消息的相应实例(或程序或子程序或代理),所述实例分别同样被分配给两个区Z1、Z2之一。
在其他优选实施方式中,计算核心K1、K4内的两个区Z1、Z2的分离分别在使用至少一个存储保护装置SSE1、SSE4的情况下实现。
如上已经提及的,两个应用核心K2、K3被构造用于执行应用程序,所述应用程序或其单独的实例(或程序或子程序或代理)在图13中被表明为相关的应用核心K2、K3内的矩形。然而,为了清楚起见,未更详细地表示。在其他优选实施方式中,第二计算核心K2被分配给第二区Z2,并且第三计算核心K3被分配给第一区Z1。
在其他优选实施方式中,计算装置100b具有易失性存储器、尤其是工作存储器(RAM)1030b,所述易失性存储器例如以与根据图4的表示可类比的方式被划分成不同的区域、尤其是不同的缓冲存储区域,所述区域分别分配给不同的计算核心K3、K4或其区Z1、Z2。
例如,根据图13的计算装置100b的工作存储器1030b的第一区域B1被分配给第一计算核心K1,其中第一子区域B1_1被分配给第一区Z1并且第二子区域B1_2被分配给第二区Z2。在其他优选实施方式中,对于第四计算核心K4,以可类比的方式划分成相应的区域或子区域B4、B4_1、B4_2也是可能的。
在其他优选实施方式中,例如工作存储器1030b的其他区域B2、B3可以被分配给应用核心K2、K3。在其他优选实施方式中,区域B2例如可以进一步划分成可信区域B2'和不可信区域B2"。在其他优选实施方式中,可类比地也可以适用于第三应用核心K3;参加附图标记B3'、B3"。
在其他优选实施方式中,可以设置一个或多个其他存储保护装置,以便实现根据优选实施方式关于例如读取权限和/或写入权限和/或执行权限的相应分离。
在其他优选实施方式中,根据图13的计算装置100b可以例如提供网关432的功能,即例如将CAN总线(参见CAN核心K1)与以太网网络(参见ETH Core K4)耦合的网络耦合元件。在其他优选实施方式中,例如第一计算核心K1可以承担用于CAN消息的所谓高速路由引擎的功能,和/或第四计算核心K4可以承担用于以太网消息的所谓高速引擎的功能。
图14示意性地示出根据其他优选实施方式的流程图,该流程图示例性地阐明例如在接收消息、尤其是CAN消息时中断请求的处理。
块ISR6示例性地代表中断例程,所述中断例程例如可以在以下中断请求中的至少一个时被执行:a)接收消息(“Rx”),b)用信号通知定时器(“Timer”),c)借助于软件产生的中断请求(“SW”)。块T_RX_Z1示例性代表分配给区Z1并且在接收(“Rx”)消息时执行的任务(例如应用程序的一部分或实例),可类比于根据图13的计算装置100b的第一计算核心K1的实例11。块T_RX_Z2示例性代表分配给区Z2并且在接收消息时执行的任务,可类比于根据图13的计算装置100b的第一计算核心K1的实例I2。块T_TX_Z1示例性代表分配区Z1并且在发送消息时执行的任务,可类比于根据图13的计算装置100b的第一计算核心K1的实例I3。块T_TX_Z2示例性代表分配给Z2区并且在发送消息时执行的任务,可类比于根据图13的计算装置100b的第一计算核心K1的实例I4。
箭头a30代表由(CAN)消息的接收触发的中断请求,所述中断请求尤其中断瞬时运行的任务的执行,参见发送任务T_TX_Z2,参见箭头a30'。因此,在其他优选实施方式中,通过中断例程ISR6调用接收器任务T_RX_Z1,参见箭头a31。在执行接收器任务T_RX_Z1之后,所述中断例程优选地借助于软件中断请求(软件中断)a32再次分支到中断例程ISR6,所述中断例程然后继续先前中断的发送任务T_TX_Z2,参见箭头a33。在出现a34由定时器产生的中断请求(Timer IRQ)时,中断例程ISR6调用发送任务T_TX_Z1,参见箭头a35,这导致先前运行的发送任务T_TX_Z2的中断a34'。
从根据图14的图表以及以前的描述清楚地可以看出,通过根据实施方式的计算装置可执行的不同程序部分(任务)可以如何被执行,所述程序部分按照根据实施方式的原理可以被分配给不同的区Z1,Z2,...(多于两个的区根据其他优选实施方式同样是可能的)或者可以如何例如通过中断例程ISR6控制其执行,所述中断例程例如可以是操作系统BS和/或监控器SV的一部分。
图15示意性地示出根据其他优选实施方式的方面的简化框图,其中当前示例性地绘出应用情况,所述应用情况涉及示例性区过渡ZT、即从根据优选实施方式的第一区域到根据优选实施方式的第二区的数据传输。
在此,根据图15的第一计算核心K1对应于上面已经参考图13描述的CAN核心K1,并且来自图15的其他计算核心K2、K3对应于根据图13的应用核心K2、K3。可类比的内容也适用于工作存储器1030b的区域B1、B2、B3或其子区域。
箭头A1代表CAN消息的接收,所述CAN消息触发通过第一计算核心K1的相应应用程序的实例11(或程序或子程序或代理)的处理。分配给第一区Z1的实例11将所接收的CAN消息的数据或从中导出的数据通过工作存储器(尤其是通过其他交换缓冲存储区域B3")(参见箭头A2)传输给应用程序的实例I5(或程序或子程序或代理)用于处理这样的数据,所述这样的数据分配给第一区Z1并且可以由第三计算核心K3执行,参见箭头A3。图15中的附图标记I6表示用于检查数据包的应用程序的实例,尤其是深度包检查DPI,所述实例更详细地检查所接收的数据(所述数据处于交换缓冲存储区域B3"中),并且然后将所述数据写入到工作存储器1030b的子区域B3''中,参见箭头A5。然后在第二计算核心K2上执行并分配给第二区Z2的DPI应用程序的其他实例I6'从对应于上面已经提及的区过渡ZT的子区域读取数据,参见箭头A6。
在其他优选实施方式中,例如通过实例I6'(“Z1-DPI-Proxy”,即用于执行DPI方法的分配给第一区Z1的代理)执行尤其是深入的(在DPI的意义上)有效载荷分析,其中实例I6'(“Z1-DPI-Proxy”,即用于执行DPI方法的分配给第一区Z1的代理)优选地负责复制B3''中的数据。
在通过第二计算核心K2可选地进一步处理数据之后,参见箭头A7,数据或从中导出的数据由实例I5'写入工作存储器1030b的存储区域B1_2(第二缓冲存储区域)中,参见箭头A8,例如被构造用于发送CAN消息并且分配给第二区Z2并且可由CAN核心K1执行的实例I4从所述存储区域中提取数据并且例如再次将所述数据发出到CAN总线上,参见箭头A10。
上面示例性地参考图15描述的场景可以被用于以下应用情况中的至少一个:a)在使用CAN消息的情况下进行诊断,b)应用于CAN消息上的DPI,c)形成代理、例如用于通信和/或诊断协议等的代理,d)从例如第一CAN总线向例如第二CAN总线路由,尤其在包括应用程序(这示例性地使得能够处理要路由的CAN消息,尤其是分析和/或修改)的情况下。
图16依赖于图13和图15的图示示意性地示出根据其他优选实施方式的方面的简化框图,其中当前示例性地示出以下应用情况,即所述应用情况涉及示例性区过渡ZT'、也即将数据从根据优选实施方式的第一区Z1传输到根据优选实施方式的第二区Z2。与根据图15的场景不同,在根据图16的场景情况下根据箭头A11至A20从以太网核心K4出发至CAN核心K1进行区过渡ZT'。
从图16可以看出,在接收A11以太网消息后,对应的数据被存储在存储区域或第一缓冲存储区域B3'中(箭头A12),所述数据通过分配给第一区Z1的应用核心K3从所述存储区域或第一缓冲存储区域被读入(箭头A13),被处理(箭头A14),并且相应地被处理的数据然后被写入到其他存储区域或交换缓冲存储区B3''中(箭头A15)。
这些数据然后通过分配给第二区Z2的应用核心K2被读入,参见箭头A16,被处理,参见箭头A17,并且被写入到其他存储区域或第二缓冲存储区域B1_2中,参见箭头A18。然后数据由CAN核心K1从第二缓冲存储区域B1_2读入(箭头A19),由实例I4(用于发出CAN消息的应用程序的一部分)处理并且在CAN总线(未示出)上被发出,参见箭头A20。
图17示例性地示出与图16可类比的配置,其中到达的以太网消息由计算核心K4接收(A21),被中间存储在工作存储器1030b中(A22)并且借助于第一计算核心K1的实例I3读取(A23)并且被发送到CAN总线上(A24)。
图18依赖于图13和图15的图示示意性地示出根据其他优选实施方式的方面的简化框图,其中当前示例性地示出以下应用情况,即其中使用硬件安全模块HSM。硬件安全模块HSM当前示例性地集成到计算装置(图18中未表示,参见例如图1中的附图标记100)中,所述计算装置尤其是也具有第二计算核心K2',并且被构造用于执行密码功能。在其他优选实施方式中,密码功能可以例如包括存储(秘密)密钥和/或形成散列值和/或签名等。
在其他优选实施方式中,硬件安全模块HSM表示独立的(“片上”)模块,所述模块优选地布置在与计算装置相同的半导体衬底或管芯(芯片)上。硬件安全模块HSM优选地具有自身的计算核心(未示出)以及必要时具有自身的存储器等。
在其他优选实施方式中,设置密码堆栈KS,所述密码堆栈可用于在计算装置的计算核心与硬件安全模块HSM之间的通信。在其他优选实施方式中尤其是出于安全原因,该加密堆栈KS仅在计算核心K2'上实现,因为计算核心K2'当前示例性地表示计算装置的单个计算核心,所述单个计算核心仅仅分配给可信区Z2。在其他优选实施方式中,从而计算核心K2'可以被认为是“最安全核心(most secure core)”,即最安全的计算核心。箭头A31、A32、A33、A34、A35、A36示例性地代表以下步骤:接收(A31)以太网消息,将所接收的消息存储(A32)在第一缓冲存储区域B3'中,通过第三计算核心K3的应用程序加载(A33)该消息,处理(A34)通过第三计算核心K3加载的消息,将在处理时获得的数据写入(A35)交换缓冲存储区域B3''中,由可以在第二计算核心K2上执行的程序或应用程序加载(A36)来自交换缓冲存储区域B3''中的所写入的数据。
在其他优选实施方式中,尤其是还在使用硬件安全模块HSM的情况下,参见箭头A37,第二计算核心K2处理所加载的数据。例如,处理A37可以包括对数据进行加密。然后,将所处理的数据A38写入第二缓冲存储区域B1_2中(A38)。之后,通过CAN核心K1的实例从第二缓冲存储区域B1_2加载(A39)数据并且发送到CAN总线上。
图19依赖于图18的图示示意性地示出根据其他优选实施方式的方面的简化框图,其中当前示例性地示出以下应用情况,即其中例如可以执行尤其是FOTA(空中固件(firmware over the air))类型的固件更新。在优选实施方式中,示例性地可以通过以太网连接例如借助于第四计算核心K4接收数据,参见箭头A41。接收程序的实例I1'将所接收的数据写入到第一缓冲存储区域B3'中,参见箭头A42。应用计算核心K3上的应用程序的实例从第一缓冲存储区域B3'加载数据(A43)并且对所述数据进行处理(A44)。例如是第一FOTA代理I7的其他实例I7从所处理的数据中抽取对于FOTA过程所需要的数据,并且将抽取的数据写入(A45)到例如(尤其是从第二区Z2的角度)被认为不可信的交换缓冲存储区域B3''中。例如是第二FOTA代理并且可以在计算核心K2''上执行的应用程序的实例I8从交换缓冲存储区域B3''加载(箭头A46)数据。可选地,然后可以由计算核心K2''对所加载的数据执行密码方法,例如有利地使用硬件安全模块HSM的CMAC形成,参见箭头A47。在其他优选实施方式中,可选地所处理的数据或CMAC值可以被存储在外部存储器中,参见箭头A48。在其他优选实施方式中,这种存储由FOTA代理I8控制。
在其他优选实施方式中,第二区Z2仅具有对交换缓冲存储区域B3''的读取权限,但是尤其是不具有写入权限和/或实施权限。在其他优选实施方式中,这可以以相应的方式来例如即使在以上示例性参考图4、5描述的配置的情况下也适用。
在其他优选实施方式中,例如用于至少一个计算核心或整个计算装置和/或相应控制设备的完整存储器映像(“ECU映像(ECU image)”)1033a也可以暂时地被存放在外部存储器1033中。
在其他优选实施方式中,通过第二计算核心K2''可执行的应用程序或其对应的实例例如可以将检验或验证在存储在外部存储器1033中的数据的内容。
在其他优选实施方式中,例如在成功验证包含在外部存储器1033中的数据之后,可以将对应的存储器映像1033a分发给一个或多个外部设备(未示出),参见箭头A49、A50、A51、A52,所述箭头尤其是涉及例如逐块地将存储器映像1033a从外部存储器1033a复制到工作存储器1030b(A50)的第二缓冲存储区域B1_2中并且从那里复制到实例I4(例如CAN发送任务)。
在其他优选实施方式中,可以优选地基于数字签名和/或经签名的散列值来执行验证。例如,在其他优选实施方式中,对于每个ECU映像可以存在经签名的散列值。在其他优选实施方式中,可以优选地通过硬件安全模块HSM来执行签名验证。
在其他优选实施方式中,例如即使在分发或复制存储器映像1033a期间也可以优选地又逐块地检验CMAC值和/或使得能够检验相关的块的完整性和/或真实性的另一值,例如以由例如在第二计算核心K2''上运行的应用程序的对应的实例控制的方式,可选地以由硬件安全模块HSM支持的方式。
在其他优选实施方式中,例如CMAC值的形成和验证尤其是可以作为补充式完整性和真实性保护起作用,例如用于签名验证。在其他优选实施方式中,例如来自交换缓冲存储区域B3''的单独的或每个单独的数据包可以被配备有CMAC值或截断的("truncated")CMAC值。在其他优选实施方式中,这个(或这些)在其他优选实施方式中例如在传输到第二缓冲存储区域B1_2中之前被验证,由此尤其是确保仅仅完整的和真实的数据包到达第二缓冲存储区域B1_2中。在其他优选实施方式中,逐缓冲区的CMAC生成和验证是可选的。图20、21示意性示出根据其他优选实施方式的流程图,所述流程图示例性地阐明例如在接收消息、尤其是CAN消息时的中断请求的处理。
块ISR7示例性地代表例如在中断请求时可执行的中断例程,所述中断请求用信号通知(“RxISR”)消息(“Rx”)的接收。
块ISR8示例性地代表中断例程,所述中断例程例如在以下中断请求中的至少一个时可被执行:a)用信号通知定时器信号(“Timer”),b)借助于软件产生的中断请求(“SWISR”)。
块RX_H_Z1示例性地代表接收处理程序(例如控制消息接收的应用程序的一部分或实例),所述接收处理程序分配给区Z1并且在接收(“Rx”)消息时被执行,与根据图13的计算装置100b的第一计算核心K1的实例I1可类比。
块RX_H_Z2示例性地代表接收处理程序(例如,控制消息接收的应用程序的一部分或实例),所述接收处理程序分配给区Z2并且在接收(“Rx”)消息时被执行,与根据图13的计算装置100b的第一计算核心K1的实例I2可类比。
块T_TX_Z1'示例性地代表分配给区Z1并且在发送消息时被执行的任务,与根据图13的计算装置100b的第一计算核心K1的实例I3可类比。块T_TX_Z2'示例性地代表分配给Z2并且在发送消息时被执行的任务,与根据图13的计算单元100b的第一计算核心K1的实例I4可类比。
箭头a40代表由(CAN)消息的接收触发的中断请求,所述中断请求尤其是中断瞬时运行的任务的执行,参见发送任务T_TX_Z2',参见箭头a40'。因此,在其他优选实施方式中,通过中断例程ISR7调用接收处理程序RX_H_Z1,参见箭头a41。在执行接收处理程序RX_H_Z1之后,所述接收处理程序返回到中断例程ISR7(例如优选地通过借助于软件生成的中断请求),箭头a42。
按照根据图20的示例,然后执行发送任务T_TX_Z1',参见箭头a43。在其他优选实施方式中,这可以具有特别的优点,即通过任务RX_H_Z1,针对第一区Z1的存储保护装置的静态配置(例如对应的配置数据集)原本已经是激活的,所述配置优选地也适用于发送任务T_TX_Z1'。由此,尤其是从性能角度来看,可以节省在执行发送任务T_TX_Z1'之前对存储保护装置的相关的静态配置的切换。
当出现a44由定时器产生的中断请求(Timer IRQ)时,中断例程ISR7调用发送任务T_TX_Z2',参见箭头a45,这导致先前运行的发送任务T_TX_Z1'的中断a44'。优选地在执行发送任务T_TX_Z2'之前切换到区Z2的静态配置(例如对应的配置数据集)。然后该流程例如借助于软件中断a46返回到中断例程ISR7,紧接着继续发送任务T_TX_Z1',参见箭头a47。
在其他优选实施方式中,根据图20、21的中断例程ISR7可以例如具有与根据图12A的配置ISR4可比或相同的配置。
下面描述根据实施方式的原理的其他优选实施方式、方面和优点,它们根据其他优选实施方式可以分别本身单独地或以与前述实施方式中的至少一个相互组合的方式被组合。
在其他优选实施方式中,作为用于将攻击面限制于计算装置的措施可以使用对例如根据图4、5的存储器1030a的访问权限的限制,由此例如在使用本身已知的存储保护装置的机制的情况下能够实现逐区存储器分离。在其他实施方式中,逐区存储器分离可以特别优选地在以下示例性提到的存储器形式的情况下进行:例如以可信缓冲存储器(TrustedBuffer(例如在共享RAM 1030中)形式和/或以不可信缓冲存储器(Non-Trusted Buffer(例如在共享RAM 1030中)形式的缓冲区(缓冲存储器)、堆栈(堆栈存储器)、数据存储器(例如数据闪存、EEPROM等)、程序存储器(例如程序闪存、ROM等)、SFR(特殊功能寄存器)。
在其他优选实施方式中,可以在不同的区之间交换数据(“区内和/或区间数据交换”)例如通过位于共享RAM(共享工作存储器,参见图4中的附图标记1030a)中的缓冲区实现。
在其他优选实施方式中,可以对于应用程序的每个实例I1、I2、I3(“代理”)和对于每个区域例如设置至少各一个可信(Trusted)和不可信(Non-Trusted)缓冲区(例如可以根据应用情况取消缓冲区)或缓冲存储区域,例如参见图4中的子区域TB1a、TB1b。
在其他优选实施方式中,在区内的数据交换或区内通信尤其是仅仅通过该区的可信缓冲区或第二缓冲存储区域TB2a(图4)进行。
在其他优选实施方式中,在区之间的数据交换或区间通信优选地通过位于共享RAM 1030a中的不可信缓冲区或交换缓冲存储区域TB1a进行。如果例如在其他优选实施方式中数据应该从区Z1向区Z2被传送,则所述数据优选地首先从Z1代理被复制到所属的Z1不可信缓冲区或交换缓冲存储区域TB1a、TB2b、B",由所属的Z2代理在内容在其有效性方面被验证,并且对于有效的或在内容上正确的可信数据的情况,由Z2代理被复制到Z2可信缓冲区或第二缓冲存储区域TB2a、B1_2中。在其他优选实施方式中,在成功的数据验证之后从Z1不可信缓冲区或交换缓冲存储区域TB1a、TB2b、B3"向Z2可信缓冲区或第二缓冲存储区域TB2a、B1_2的复制过程被称为区转变。在其他优选实施方式中,可以在Z2内相应地处理或转发经验证的、可信的并且位于Z2可信缓冲区中的数据,即在其他优选实施方式中,在区转变和必要时数据使用之前进行数据验证。
根据实施方式的用于限制计算装置的攻击面的其他措施是根据其他优选实施方式的对运行时的访问权限的限制,所述限制在其他优选实施方式中可以例如在控制相应的操作系统BS或监督者SV的情况下进行。
在其他优选实施方式中,对于例如根据图4以上示例性描述的轻量级嵌入式操作系统BS,例如汽车开放系统架构(AUTomotive Open System Architecture(AUTOSAR)BS可以用作基础,所述汽车开放系统架构在其他优选实施方式中关于其复杂性被减小到最小值(例如通过配置等)。
在其他优选实施方式中,甚至在从妥协的计算核心102a(图3)出发的特权升级——例如轻量级嵌入式OS ISR中的监督者模式的滥用的情况下可能也不进行无效的区转变或Z1对Z2存储器或运行时的无效访问——理由:轻量级嵌入式BS的静态和大大降低的功能性,在其他优选实施方式中监督者模式下的特殊子功能性,从而使得不能在监督者模式下滥用特权。
在其他优选实施方式中,在监督者模式下运行的ISR(中断例程)只能在用于相关的计算核心的专用存储保护装置的静态配置数据集之间切换
Figure DEST_PATH_IMAGE001
在其他优选实施方式中,用于计算核心的监督者模式和用户模式的相同静态配置数据集仅允许访问分配给相关的区域、例如第一区Z1的存储器和/或运行时。
在其他优选实施方式中,在监督者模式下运行的ISR不能动态地重新配置(一个或多个)存储保护装置,这尤其是可以隐性地通过在启动周期期间、例如在冷启动期间和/或在热启动期间对存储保护装置的静态、完整和真实的配置实现。
在其他优选实施方式中,例如分配给第一区Z1的在用户模式下运行的任务不能在对于特定的计算核心专用的存储保护装置的静态配置数据集之间切换,因为在其他优选实施方式中,这种切换仅仅在监督者模式下是可能的。
在其他优选实施方式中,例如分配给第一区Z1的在用户模式下运行的任务例如不能进行(一个或多个)存储保护装置的动态重新配置,这可以有利地又隐性地通过在启动周期期间、也即例如在冷启动期间和/或在热启动期间在其他优选实施方式中设置的对(一个或多个)存储保护装置的静态、完整和真实的配置实现。
在其他优选实施方式中,与操作系统BS、尤其是轻量级嵌入式运行系统相比,监督者SV、尤其是轻量级嵌入式监督者可以拥有补充的监控功能性。在核心内区分离的情况下(图5),具有不同信任级别的两个区Z1和Z2的任务PXY优选地在专用计算核心102c上被执行,其中优选地使用用于用户模式下Z1的任务(分配给第一区Z1的任务或实例)和Z2任务的两个不同的静态配置数据集以及必要时用于监督者模式的静态配置数据集,所述监督者模式例如控制在用于Z1任务和Z2任务的两个静态配置数据集之间的切换。在其他优选实施方式中,可以配置用于用户模式下的任务的必要时剩余的、未使用的静态配置数据集(例如在冷启动和/或热启动期间),使得所述静态配置数据集例如禁止对整个存储器的一般读取、写入和实施访问,由此进一步提高安全性。
在其他优选实施方式中可以规定,监督者模式尤其是在核心内区分离的情况下控制对不可信区Z1的监控,例如参见根据图2M的流程。
在其他优选实施方式中,例如可以设置3个或更多个区Z1、Z2、Z3(未示出),其中第一区Z1例如是高度可信/-机密区域,其中第二区Z2例如是可信区并且其中第三区Z3例如是不可信区。
在其他优选实施方式中,计算装置可以例如具有微控制器,或者由具有相应数量的计算核心的微控制器构成。
其他优选实施方式涉及用于执行根据实施方式的方法的设备1000,参见根据图22的示意框图。设备1000包括具有至少一个计算核心1002a的计算装置1002,其中可选地可以给计算核心1002a分配至少一个存储保护装置1002a'。
设备1000此外具有存储装置1004,所述存储装置优选地拥有易失性存储器1004a、例如工作存储器(RAM)和/或拥有非易失性存储器1004b、例如闪速EEPROM和/或ROM和/或OTP存储器。计算机程序PRG优选地存放在ROM 1004b中,所述计算机程序具有指令,所述指令在通过计算机1002执行程序PRG促使所述计算机执行根据实施方式的方法。
在其他优选实施方式中,用于运行设备1000的配置数据CFG也存放在ROM 1004b中。这些配置数据CFG例如还可以具有用于(所述)至少一个存储保护装置1002a'的一个或多个配置数据(集)KD、KD'、KD1、KD2、KD3、KD4。
在其他优选实施方式中规定,设备1000具有至少一个数据总线1006,所述数据总线使得能够在计算装置1002和存储装置1004之间进行数据交换。
其他优选实施方式涉及一种计算机可读存储介质SM,所述计算机可读存储介质包括尤其是计算机程序PRG形式的指令,所述指令在通过计算机1002执行时促使所述计算机执行根据实施方式的方法。
其他优选实施方式涉及数据载体信号DS,所述数据载体信号传输根据实施方式的计算机程序PRG。设备1000可以优选地具有用于接收数据载体信号DS的优选双向的数据接口1008。
在其他优选实施方式中,计算装置1002还可以具有根据计算装置100、100a的配置,如以上示例性尤其是参考图1、3所描述的。尤其是在其他优选实施方式中也可能的是,根据图22的设备1000的所述计算核心1002a或计算核心1002a至少暂时执行根据实施方式的方法的至少一些步骤。就此而言,设备1000示例性地也可以被理解为根据实施方式的计算装置100、100a的可能目标系统。
在其他优选实施方式中,设备1000还具有硬件安全模块HSM'或密码模块HSM',例如用于执行密码功能。在其他优选实施方式中,硬件安全模块HSM'可以被用作监督者实例SVI。
在其他优选实施方式中规定,设备1000被构造为微控制器(英语:microcontroller或microcontroller unit(MCU)),尤其是被构造为单个微控制器(singleMCU)或被构造为片上系统(英文:SoC,system-on-chip),尤其是被构造为单个SoC(单SoC)。
在其他优选实施方式中规定,设备1000具有尤其是共同的半导体衬底1001(英语:die),其中以下元素中的至少一个布置在尤其是共同的半导体衬底1001上:a)具有至少一个计算核心的计算装置1002,b)存储装置1004,c)数据总线1006,d)至少一个存储保护装置1002a,d)(可选的)硬件安全模块HSM'。
因此,根据优选实施方式的原理有利地在同时分离成两个或更多个区Z1、Z2的情况下使得能够提供单MCU系统1或单SoC系统1。
在其他优选实施方式中,可以例如通过位于共享RAM(共享工作存储器,参见图4的附图标记1030a)中的缓冲区(缓冲存储区域、交换缓冲存储区域)在不同区之间的数据交换(“区内和/或区间数据交换”),其中共享RAM同样有利地布置在与计算装置1002或其(一个或多个)计算核心1002a以及优选地单SoC系统1的其他组件1006、HSM'、1002a相同的共同半导体衬底1001上。由此有利地给出在不同的区Z1、Z2之间的高性能(由于MCU内部或SoC内部)和安全(由于MCU内部或SoC内部)的通信通道,所述通信通道根据其他优选实施方式也是高效地可缩放的(例如在必要时其他(附加)区处的多个缓冲区)。
有利地,优选实施方式使得能够“布置”不同的区Z1、Z2,例如可信(TZ)和不可信(NTZ)区,和/或关于在同一优选地单系统、MCU系统或SoC系统1上的不同的区Z1、Z2的数据的数据处理。
在其他优选实施方式中,根据实施方式的方法和/或设备100、100a、1000可以被使用在控制设备、例如用于机动车辆的控制设备、尤其是用于机动车辆的内燃机的控制设备中,例如用于以下应用情况中的至少一种:a)控制控制设备的运行或运行状态过渡,b)释放或不释放控制设备和/或其他组件和/或例如机动车辆的一个或多个功能,c)变换到差错模式和/或紧急运行中,d)进行差错存储条目,e)将运行状态用信号通知给外部单元和/或用户,f)操控执行器。
其他优选实施方式涉及根据实施方式的方法和/或根据实施方式的设备100、100a、1000和/或根据实施方式的计算机程序PRG的用途,用于尤其是在将存储设备和/或访问存储装置的计算装置100、100a、1002从第一运行状态变换到第二运行状态之前或期间或之后,检验存储装置1030、1032、1004的至少一个子区域的改变或操纵以及用于根据检验控制例如机动车辆的内燃机的控制设备的运行。
其他优选实施方式,参见图2U,涉及根据实施方式的方法和/或根据实施方式的设备和/或根据实施方式的计算机程序的用途,用于以下元素中的至少一个:)在计算装置100、100a(图1)中提供370信任边界(“Trust Bondaries”),尤其是即使在计算装置的计算核心102c内也提供,b)减小371(图2U)用于对计算装置和/或其组件之一进行攻击的攻击面,c)限制372对存储器1030、1032的访问权限,d)限制373对外围设备1034(图3)的访问权限,e)限制374(图2U)对计算资源(例如可以通过计算时间、计算核心的说明表征)的访问权限,e)最小化375毁坏的组件的影响,f)运行376尤其是用于车辆、尤其是机动车辆的控制设备,g)运行377尤其是物联网loT系统的嵌入式系统,h)运行378专用集成电路ASIC。
在其他优选实施方式中,参见图2V,该方法此外包括:a)借助于监督者实例SVI提供380主要监督者代理SVI-pri,b)提供382至少一个次要监督者代理SVI-sek-1、SVI-sek-2,其中尤其是至少一个次要监督者代理SVI-sek-1、SVI-sek-2分配给至少一个计算核心102a、102b、102c、...、102n;K1、K2、K3、K4和/或至少一个区Z1、Z2(示例细节参见下面的图24)。
进一步优选地,可以借助于片上信任锚(on-chip Trust Anchor)(TA)来实现和/或实施主要监督者代理SVI-pri。
在其他优选实施方式中,参见图2W,所述方法此外包括:a)为监督者SV提供385第一数量的功能性FUN-1,b)尤其是动态地将第一数量的功能性FUN-1的至少一个监督者功能性SF-1分配386给主要监督者代理SVI-pri和/或至少一个次要监督者代理SVI-sek-1,其中尤其是根据以下元素中的至少一个来执行分配386:A)计算装置100;100a;100b的运行参量,B)计算装置100;100a;100b的运行方式,C)计算装置100;100a;100b的应用情况。
图24示意性地示出根据其他优选实施方式的计算装置100c的简化框图。计算装置100c具有一个或多个计算核心,所述计算核心当前共同地用附图标记KX表示。两个区Z1、Z2分配给计算核心KX,如已经多次示例性地描述的那样,一个或多个代理Z1-代理1、...、Z1-代理n、Z2-代理1、...、Z2-代理n可以分配给所述所述区Z1、Z2。
根据其他优选的具体实施例,在计算装置100c的情况下设置与至少两个区Z1、Z2无关的监督者实例SVI。可选地,一个或多个(“自身的”)区Z3、Z4也可以被分配给监督者实例SVI,其中区Z3、Z4同样优选地与至少两个区Z1、Z2无关。一个或多个代理Z3-代理1、..、Z3-代理n、Z4-代理1...、Z4-代理人n至少暂时地分配给两个区Z3、Z4,其中根据其他优选实施方式对于每区Z3、Z4(可选地还有Z1、Z2)的代理的数量也可以不同。
优选地,例如计算装置100c的至少一个(专用)计算核心可以被用作监督者实例SVI。可替代地或补充地,在其他优选实施方式中,至少一个硬件安全模块HSM和/或可信平台模块TPM可以被用作监督者实例SVI。
在其他优选实施方式中,例如在使用一个或多个存储区域的情况下,尤其是在使用寄存器存储器、诸如用于特殊功能的一个或多个寄存器存储器(英语:special functionresigter(s))的情况下可以在监督者实例SVI和计算核心KX之间进行数据交换DE。例如,在其他优选实施方式中,提供第一寄存器存储器或寄存器存储器的第一组SFR1,以便将数据从监督者实例SVI传输到核心KX(“主机核心”)。例如,在其他优选实施方式中,设置第二寄存器存储器或寄存器存储器的第二组SFR2以便将数据从核心KX传输到监督者实例SVI。
例如,在其他优选实施方式中设置工作存储器SR(“共享RAM”)用于通过主要监督者代理SVI-pri和次要监督者代理SVI-sek-1共同访问。
所述一个或多个寄存器存储器SFR2可以优选地在主机侧(即通过计算核心KX中的至少一个)读取和/或写入,但是优选地仅从监督者实例SVI的角度可读取。在其他优选实施方式中,SFR2的主机侧写入(即通过计算核心KX中的至少一个写入所述一个或多个寄存器存储器SFR2)导致例如在监督者实例SVI侧上的中断请求IRQ。
所述一个或多个寄存器存储器SFR1优选地可以在监督者实例侧读取和/或写入,但是仅从计算核心KX的角度可读取。此外优选地,寄存器存储器SFR1的监督者实例侧写入导致主机侧KX上的中断请求IRQ。
在其他优选实施方式中,可选地为了在主机侧KX上生成中断请求IRQ也可以在主机侧轮询、尤其是周期性地查询所述一个或多个寄存器存储器SFR1。
根据其他优选实施方式对于双侧、尤其是双向地可读取和可写入共享RAM SR可以在需要时根据其他优选实施方式用于在两个监督者代理SVI-pri、SVI-sek-1之间进行补充式数据或参数交换。
在其他优选实施方式中,共享RAM SR还可以被划分为区域(“子区域”):所述区域a)可以双向读取和写入,和/或b)(尤其是仅)由信任锚可写入TA和由主机KX可读取,和/或c)(尤其是仅)由主机KX可写入并且由信任锚TA可读取。
在其他优选实施方式中,共享RAM SR可以可选地被划分成每个计算核心各一个主区域(根据其他优选实施方式,至少对于多个计算核心中的一些)。在其他优选实施方式中,然后可以在该主区域中或在这些主区域中例如设置上面提到的三个子区域a)、b)、c)中的至少一个、优选多个或全部三个。根据其他优选实施方式,所述一个或多个主区域同样借助于相应的存储保护装置(MPU)彼此分离,使得例如第一计算核心不能写入第二计算核心的交换区域(例如,用于在第二个计算核心与信任锚TA、SVI之间的数据交换)。
在其他优选实施方式中,数据可以在核心KX和监督者实例SVI之间例如以程序控制的方式和/或以事件控制的方式(例如借助于中断请求IRQ)被传输。
在其他优选实施方式中,可以设置一个或多个存储保护装置MPU',以便将计算装置100c的不同组件的不同资源区域、尤其是存储区域彼此分开。
在其他优选实施方式中,监督者实例SVI表征或代表或构成计算装置100c的尤其是特别可信实例,优选地是所谓的片上信任锚(TA)。根据其他优选实施方式,TA代表具有最大信任级别的计算装置100c的实例,其根据其他优选实施方式可以例如用作信任模型的“信任根”(Root-of-Trust)。
根据其他优选实施方式,如已经提及的,专用计算核心或者优选地如果可用的话则专用安全/密码模块、例如硬件安全模块(HSM)、可信平台模块(TPM)等可以作为TA起作用。
根据其他优选实施方式,因此可以实现所谓的“信任锚(TA)强制安全区域监督(Trust-Anchor (TA)-enforced secure Zone Supervision)”方案,其中根据图24示例性地分别设置所述一个或多个要监控的计算核心KX上的次要监督者代理SVI-sek-1或在所示示例中以HSM为形式的监控TA SVI上的主要监督者代理SVI-pri。
根据其他优选实施方式,TAS VI拥有优选地对如RAM之类的易失性存储器1004a(图22)、如只读存储器(ROM)或闪存、一次性可编程(OTP)存储器以及特殊功能寄存器SFR1、SFR2(图25)之类的非易失性存储器1004b、尤其是也对计算装置100c的必要时存在的特殊功能寄存器的优选不受限制的访问。
根据优选实施方式的原理可以根据其他优选实施方式例如被用于配置和/或监控尤其是不可信和可信的(主机)区Z1和Z2以及用于以上已经描述的核心内和核心间分离。
根据其他优选实施方式,例如以下示例性提到的监督者功能性尤其是根据应用情况、此外尤其是任意地可以在“主机代理”SVI-sek-1和主要监督者代理SVI-pri之间移动,其中尤其是在主要监督者代理SVI-pri那侧实现的监督者功能性的增加导致安全性的尤其是显着的改善:
1.监控Z1区(和可选地Z2区)的潜在妥协和/或探测Z1区(和/或Z2区)的潜在妥协——可以优选地例如通过尤其是在分配给相应区Z1、Z2的任务的任务激活之前监控区Z1(和/或区Z2)的堆栈(堆栈存储器)和/或程序计数器(Program Counter)、在代码执行之前识别妥协来进行,监控可以根据其他优选实施方式可选地通过主机Z1(和主机Z2)的堆栈和/或程序计数器的密码完整性和/或真实性验证、例如散列、消息认证码(MAC)等来进行。
2.在所探测的妥协的情况下,根据其他优选实施方式,引入至少一个替代反应或差错反应。例如,这可以通过
o将Z1区(和/或Z2区)置于安全的、尤其是完整的状态(例如通过掉电/上电复位)或差错模式,
o生成日志(或日志文件或差错记忆)条目来进行。在其他优选实施方式中,尤其是在优选地监督者实例SVI的可选的专用和排他性存储器SL中至少暂时安全地和/或以加密方式存放日志目录(参见图24)。
在其他优选实施方式中,设置以下元素中的至少一个:a)建立真实的和/或加密的通信通道,用于将例如日志条目转发给至少一个外部实例(未示出),例如入侵检测系统(IDS)),b)协调和/或编排(例如具有调度(资源规划)),尤其是区Z1、Z2的尤其是周期性或基于事件地要执行的任务,c)安全存放和/或处理专用和排他性TA存储器SL(图24)中的优选静态主机任务列表,d)例如在用于区Z1和/或区Z2任务的主机MPU SFR中,在静态配置数据集(“MPU集”)之间切换。
在其他优选实施方式中,监督者功能性可以完全被转移到TAS VI(图24)上,其中尤其是特权模式(监督者模式)能够完全或至少部分地从(不实现监督者功能性的)计算核心中被撤销。
优选实施方式至少暂时地和/或部分地能够实现以下效果中的至少一些:
1.最小化主机侧监督者功能性,减少攻击面(例如从妥协的(主机)区Z1开始),
2.将(主机)区Z1和/或(可选)Z2的监督转移到尤其是相对于这些区Z1、Z2的自给自足(独立)TA实例SVI,将(主机)区与其监控退耦,
3.监督的简单、安全和高性能密码扩展,因为例如监督和密码原语在相同的实例(TA SVI或HSM)上实现,(例如区Z1、Z2的)堆栈和程序计数器的密码完整性和/或真实性验证,将日志条目以加密方式存放在安全、专用和排他性TA存储器SL中,构建真实和/或加密的通信通道,例如用于将日志条目转发给外部实例、例如IDS,
4.将静态主机任务列表安全地存放在TA存储器SL(完整性和/或真实性保护装置)中,
5.集中化用于在TA侧监督者代理中的主机MPU SFR中切换静态MPU集的功能性,撤销用于切换到主机侧的功能性,甚至在无效主机侧特权升级的情况下切换也是不可能的。
只要根据其他优选实施方式,TAS VI具有尤其是专用的存储保护单元(MPU),则根据其他优选实施方式,可以在TAS VI上引进附加的信任边界或区Z3、Z4。TA侧区Z3、Z4可以优选地与比主机侧区Z1、Z2更高的置信级别相关。图24中示例性可视化的信任模型基于以下信任级别递减的区域架构:
oTA侧:区Z4(例如最大信任级别)
oTA侧:区Z3
o主机侧:区Z2
o主机侧:Z1区(例如最小信任级别)
在其他优选实施方式中,完整和/或真实主机MPU配置例如在安全引导机制的范围中同样可以通过TA SVI被执行或至少暂时地被控制。

Claims (22)

1.一种用于运行用于机动车辆的控制设备的计算装置的方法,所述计算装置具有至少一个计算核心(102a、102b、102c、...、102n;K1、K2、K3、K4;KX),其中所述计算装置(100;100a;100b;100c)被设立用于控制在互联区(400)和安全区(440)之间的数据交换,其中所述安全区(440)包括所述车辆的至少一个组件(442、444、446),诸如发动机控制装置(442)、制动系统(444)或转向装置(446),所述组件对于驾驶所述车辆是需要的并且具有提高的安全相关性,其中所述互联区(400)包括所述车辆的至少一个组件(420、422、424、426),所述组件的运行需要车辆外的通信,但对于驾驶所述车辆是不需要的并且不具有提高的安全相关性,其中至少一个由所述计算装置(100;100a;100b;100c)可执行的第一程序、尤其是应用程序(AP1)或子程序分配给不可信区(Z1),以及至少一个其他程序、尤其是应用程序(AP2)或子程序分配给可信区(Z2),其中所述互联区(400)的组件(420、422、424、426)被分配给所述不可信区(Z1),并且所述安全区(440)的组件(442、444、446)被分配给所述可信区(Z2),其中所述计算装置(100;100a;100b;100c)包括至少一个存储器(1030、1032),所述存储器具有至少一个第一缓冲存储区域(TB1b、B3'),仅仅分配给所述不可信区(Z1)的程序(AP1)对所述第一缓冲存储区域具有只读取和/或只写入访问,并且具有至少一个第二缓冲存储区域(TB2a,B1_2),仅仅分配给所述可信区(Z2)的其他程序(AP2)对所述第二缓冲存储区域具有只读取和/或只写入访问,并且具有至少一个交换缓冲存储区域(TB1a,TB2b,B3''),所述交换缓冲存储区域使所述不可信区(Z1)的第一程序(AP1)能够仅进行写入访问,并且使所述可信区(Z2)的第二程序(AP2)能够仅进行读取访问。
2.根据权利要求1所述的方法,其特征在于,不同的区(Z1,Z2)之间的数据交换(280)具有以下步骤:将所述数据复制(282)到分配给所述第一区(Z1)的第一缓冲存储区域(TB1b、B3')中,检验(283)所复制的数据并且根据所述检验(283)将来自分配给所述第一区(Z1)的第一缓冲存储区域(TB1b、B3')的数据复制(284)到分配给所述第二区(Z2)的第二缓冲存储区域(TB2a、B1_2)中。
3.根据前述权利要求中任一项所述的方法,其特征在于,将数据从所述第一缓冲存储区域(TB1b、B3')写入到所述交换缓冲存储区域(TB1a、TB2b、B3")中.
4.根据前述权利要求中任一项所述的方法,其特征在于,位于所述交换缓冲存储区域(TB1a、TB2b、B3")中的数据与读取访问相关联地尤其是通过其他程序(AP2)检验并且在成功地检验(283)所述数据的情况下,将所述数据从所述交换缓冲存储区域(TB1a、TB2b、B3")复制到所述第二缓冲存储区域(TB2a、B1_2)中。
5.根据前述权利要求中任一项所述的方法,其特征在于,禁止对所述第一和/或第二缓冲存储区域(TB1b、B3')和/或所述交换缓冲存储区域(TB1a、TB2b、B3")中的数据的执行访问。
6.根据前述权利要求中任一项所述的方法,其特征在于,从所述第二缓冲存储区域(TB2a、B1_2)开始使用和转发所述数据。
7.根据前述权利要求中任一项所述的方法,其特征在于,对所述存储器(1030、1032)和/或对所述第一缓冲存储区域(TB1b、B3')和/或对所述第二缓冲存储区域(TB2a、B1_2)和/或对所述交换缓冲存储区域(TB1a、TB2b、B3")的访问权限、尤其是读取、写入或执行访问通过存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)进行。
8.根据前述权利要求中至少一项所述的方法,所述方法此外包括:根据至少一个区(Z1、Z2)尤其是通过至少暂时使用(232;232')至少一个存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)控制(230)、尤其是限制以下元素中的至少一个:a)对分配给所述计算装置(100;100a;100b)的存储器(1030、1032)的读取权限,b)对分配给所述计算装置(100;100a;100b)的存储器(1030、1032)的写入权限,c)对分配给所述计算装置(100;100a;100b)的存储器(1030、1032)的执行权限,用于控制所述读取权限和/或所述写入权限和/或所述执行权限。
9.根据前述权利要求中至少一项所述的方法,其中至少一个计算核心(102a)至少暂时地采取第一运行方式(240),其中尤其是所述至少一个计算核心(102a)在所述第一运行方式中预先给定和/或写入(242)控制至少一个存储保护装置的运行的配置数据(1036),其中尤其是至少一个计算核心(102a)至少暂时地采取第二运行方式(243),在所述第二运行方式中所述计算核心不能写入和/或改变用于所述至少一个存储保护装置的配置数据(1036)。
10.根据前述权利要求中任一项所述的方法,所述方法此外包括:为所述至少一个存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)提供(250)多组配置数据(KD),其中尤其是多组配置数据(KD)中的至少一个第一组被分配给至少两个区(Z1、Z2)中的第一区(Z1)并且多组配置数据(KD)中的至少一个第二组被分配给所述至少两个区(Z1、Z2)中的第二区(Z2)。
11.根据前述权利要求中任一项所述的方法,其特征在于,所述存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)的配置数据(KD)以静态和/或真实的方式尤其是在验证之后被配置,使得配置数据(KD)的改变在运行中是不可能的,而是在任何情况下均在重新启动所述计算装置(100;100a;100b)之后是可能的。
12.根据前述权利要求中至少一项所述的方法,所述方法此外包括将第一实例(AP1_I1)用作第一程序并且将第二实例(AP1_I2)用作第二程序,尤其是此外包括:提供(260)所述应用程序(AP1)的第一实例(AP1_I1)和所述程序或应用程序(AP1)的第二实例(AP1_I2),将所述第一程序或应用程序(AP1)的第一实例(AP1_I1)分配(262)给所述至少两个区中的第一区(Z1),将所述应用程序(AP1)的第二实例(AP1_I2)分配(263)给所述至少两个区中的第二区(Z2)。
13.根据前述权利要求中至少一项所述的方法,所述方法此外包括:根据至少两个区(Z1、Z2),分离(290)用于不同程序或应用程序和/或应用程序的实例的计算时间资源,尤其是为不同程序或应用程序和/或应用程序的实例指派计算时间资源。
14.根据权利要求12所述的方法,所述方法此外包括:a)使用(292)用于嵌入式系统的操作系统(BS)、尤其是轻量级嵌入式操作系统,用于为不同的应用程序和/或应用程序的实例指派计算时间资源,其中尤其分别给计算装置(100)的计算核心(102a、102b)分配操作系统(BS),和/或b)使用(294)用于嵌入式系统的监督者(SV)、尤其是轻量级嵌入式监督者,用于为不同的应用程序和/或应用程序的实例指派计算时间资源,其中尤其是分别给计算装置(100)的计算核心(102a、102b)分配监督者(SV)。
15.根据前述权利要求中至少一项所述的方法,其中所述计算装置(100)至少暂时执行冷启动(310),其中尤其是在冷启动(310)期间从非易失性存储器(1032)加载数据和/或程序代码,并且其中所述计算装置(100)至少暂时执行热启动(312),其中尤其是在热启动(312)期间从至少暂时通电的易失性存储器(1030)加载数据和/或程序代码,其中尤其是在冷启动(310)期间至少一个存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)或所述至少一个存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)被配置(311),和/或其中尤其是在热启动(312)期间所述至少一个存储保护装置(M1、M2、M3、M4、M5_1、M5_2、M5_3、M5_4、M5_5、M5_6、M5_7、M5_8)被配置(313)。
16.根据前述权利要求中至少一项所述的方法,所述方法此外包括以下元素中的至少一个:a)引进(350)至少一个附加的、尤其是非已经存在的区,b)将功能性从所述计算装置的第一计算核心(102a)移动(352)到至少一个其他计算核心(102b),c)在使用尤其是集成到所述计算装置(100)中的工作存储器(1030)的情况下执行(354)至少两个区(Z1、Z2)之间的通信,d)定义(360)至少一个可信区(Z2),并且可选地通过至少一个分配给所述可信区(Z2)的应用程序监控(362)至少一个其他尤其是不可信区(Z1)。
17.根据前述权利要求中任一项所述的方法,所述方法此外包括:使用(212;294)监督者(SV)用于为不同的应用程序和/或应用程序的实例指派(212a)计算时间资源,其中所述监督者(SV)和/或对应于所述监督者(SV)的功能性至少部分地借助于与至少两个区(Z1、Z2)无关的监督者实例(SVI)实现。
18.根据前述权利要求中任一项所述的方法,其特征在于,所述计算装置(100;100a;100b;100c)具有多个计算核心(102a、102b、102c、...、102n;K1、K2、K3、K4),其中所述方法此外包括:a)将至少一个计算核心(102a、102b)分配(220)给恰好一个区,和/或b)将至少一个计算核心(102a,102b)分配(222)给多于一个的区,尤其是分配给两个区(Z1、Z2),c)使用(224)至少一个计算核心作为监督者实例(SVI),尤其是使用至少一个计算核心作为专用监督者实例(SVI),d)使用(225)至少一个硬件安全模块(HSM)和/或可信平台模块TPM作为监督者实例(SVI)。
19.根据前述权利要求中至少一项所述的方法,所述方法此外包括:a)借助于所述监督者实例(SVI)提供(380)主要监督者代理(SVI-pri),b)提供(382)至少一个次要监督者代理(SVI-sek-1、SVI-sek-2),其中尤其是至少一个次要监督者代理(SVI-sek-1、SVI-sek-2)分配给至少一个计算核心(102a、102b、102c、...、102n;K1、K2、K3、K4)和/或至少一个区(Z1、Z2)。
20.根据前述权利要求中任一项所述的方法,所述方法此外包括:a)为所述监督者(SV)提供(385)第一数量的功能性(FUN-1),b)尤其是动态地将所述第一数量的功能性(FUN-1)的至少一个监督者功能性(SF-1)分配(386)给主要监督者代理(SVI-pri)和/或至少一个次要监督者代理(SVI-sek-1),其中尤其是分配(386)根据以下元素中的至少一个来执行:A)所述计算装置(100;100a;100b;100c)的运行参量,B)所述计算装置(100;100a;100b;100c))的运行方式,C)所述计算装置(100;100a;100b;100c)的应用情况。
21.根据前述权利要求中任一项所述的方法,其中所述第一数量的功能性(FUN-1)和/或所述至少一个监督者功能性(SF-1)具有以下元素中的至少一个:a)尤其是鉴于潜在的妥协监控至少一个区(Z1,Z2),b)探测至少一个区(Z1,Z2)的妥协,c)监控与至少一个区(Z1、Z2)相关联的至少一个堆栈存储器,d)监控与至少一个区(Z1、Z2)相关联的至少一个程序计数器,其中监控尤其在激活相关的区(Z1、Z2)的任务之前被执行,e)尤其是在执行可执行程序代码之前识别妥协,f)使用至少一种尤其是用于真实性验证和/或完整性验证的尤其是密码的方法,尤其是用于对堆栈存储器或所述堆栈存储器的监控或所述监控和/或对程序计数器或所述程序计数器的监控或所述监控,其中该加密方法具有以下元素中的至少一个:f1)散列值形成,f2)消息认证码MAC的形成。
22.一种用于执行根据前述权利要求中至少一项所述的方法的设备(100;100a;100b;1000),其中所述设备(100;100a;100b;1000)尤其是被构造为微控制器或片上系统,尤其是被构造为单个微控制器或片上系统(1)和/或尤其是所述设备(100;100a;100b;1000)具有尤其是共同的半导体衬底(1001),其中尤其是以下元素中的至少一个布置在尤其是共同的半导体衬底(1001)上:a)具有至少一个计算核心(1002a)的计算装置(1002),b)存储装置(1004),c)数据总线(1006),d)存储保护装置(1002a'),d)硬件安全模块(HSM;HSM')。
CN202080087688.5A 2019-12-20 2020-12-16 用于运行计算装置的方法和设备 Pending CN114787806A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102019220461.9 2019-12-20
DE102019220461.9A DE102019220461A1 (de) 2019-12-20 2019-12-20 Verfahren und Vorrichtung zum Betreiben einer Recheneinrichtung
PCT/EP2020/086404 WO2021122734A1 (de) 2019-12-20 2020-12-16 Verfahren und vorrichtung zum betreiben einer recheneinrichtung

Publications (1)

Publication Number Publication Date
CN114787806A true CN114787806A (zh) 2022-07-22

Family

ID=74106017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080087688.5A Pending CN114787806A (zh) 2019-12-20 2020-12-16 用于运行计算装置的方法和设备

Country Status (6)

Country Link
US (1) US20230021594A1 (zh)
EP (1) EP4078415A1 (zh)
JP (1) JP7392157B2 (zh)
CN (1) CN114787806A (zh)
DE (1) DE102019220461A1 (zh)
WO (1) WO2021122734A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021104153A1 (de) 2021-02-22 2022-08-25 Bayerische Motoren Werke Aktiengesellschaft Steuervorrichtung, telematiksteuergerät und verfahren
DE102022207910A1 (de) * 2022-08-01 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verarbeiten von mit einem Hardware-Sicherheitsmodul assoziierten Daten

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084196A1 (en) * 2001-11-01 2003-05-01 Chang Cheng Tsung Message passing method for computer system
JP2015067107A (ja) 2013-09-30 2015-04-13 日立オートモティブシステムズ株式会社 車両用制御装置
DE102014201682A1 (de) 2014-01-30 2015-07-30 Robert Bosch Gmbh Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem
JP6486485B2 (ja) * 2015-09-30 2019-03-20 日立オートモティブシステムズ株式会社 車載制御装置
JP6761793B2 (ja) * 2017-10-13 2020-09-30 日立オートモティブシステムズ株式会社 車両用制御装置
JP6973120B2 (ja) 2018-01-26 2021-11-24 住友電気工業株式会社 なりすまし検出装置、検出方法、およびコンピュータプログラム
DE102022204716A1 (de) * 2022-05-13 2023-11-16 Robert Bosch Gesellschaft mit beschränkter Haftung Rechnersystem zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug, mittels separation einer mehrzahl von zonen

Also Published As

Publication number Publication date
JP2023508913A (ja) 2023-03-06
DE102019220461A1 (de) 2021-06-24
EP4078415A1 (de) 2022-10-26
WO2021122734A1 (de) 2021-06-24
JP7392157B2 (ja) 2023-12-05
US20230021594A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
US20240134709A1 (en) Method and device for operating a computing unit
US10129259B2 (en) Installment configurations within a vehicle and interoperability of devices configured to implement secure communication lockdowns, and methods of use thereof
US9076017B2 (en) Hardware virtualization module for exclusive controlled access to CPU
US20170177854A1 (en) Method and Apparatus for On-Demand Isolated I/O Channels for Secure Applications
US8627069B2 (en) System and method for securing a computer comprising a microkernel
US10127071B2 (en) Virtual switch for multi-compartment mixed critical network communications
JPWO2006134691A1 (ja) 情報処理装置、復旧装置、プログラム及び復旧方法
JP2010514028A (ja) 単一データ処理を共有するために複数の実行環境を有効化するシステム
CN114787806A (zh) 用于运行计算装置的方法和设备
JP7416480B2 (ja) オープンインターコネクトを介してヘテロジニアスプロセッサ上でリモート認証及び情報分離を備えた信頼できるコンピューティングを実行するためのシステム及び方法
CN113868636A (zh) 内核和任务隔离的方法和装置
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
JP2019049928A (ja) 電子制御装置及び電子制御装置の制御方法
JP6619690B2 (ja) 処理装置、アクセス制御システム、アクセス制御方法およびアクセス制御プログラム
US11216372B2 (en) Execution manager for binary objects operating across private address spaces
Chen et al. Schedguard++: Protecting against schedule leaks using linux containers on multi-core processors
Leroux et al. Using Resource Partitioning to Build Secure, Survivable Embedded Systems
Mishra Defending Real-Time Systems through Timing-Aware Designs
CN117331330A (zh) 用于为工业自动化设备提供控制应用的方法和系统
Enderle et al. Deliverable D2. 2: Specification of security services incl. virtualization and firewall mechanisms

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