DE102022205137A1 - Method for monitoring access requests for security-critical access in a computing unit - Google Patents

Method for monitoring access requests for security-critical access in a computing unit Download PDF

Info

Publication number
DE102022205137A1
DE102022205137A1 DE102022205137.8A DE102022205137A DE102022205137A1 DE 102022205137 A1 DE102022205137 A1 DE 102022205137A1 DE 102022205137 A DE102022205137 A DE 102022205137A DE 102022205137 A1 DE102022205137 A1 DE 102022205137A1
Authority
DE
Germany
Prior art keywords
access
partition
unit
security
partitions
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
DE102022205137.8A
Other languages
German (de)
Inventor
Juergen Schramm
Alexander Binder
Uwe Daemmrich
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
Priority to DE102022205137.8A priority Critical patent/DE102022205137A1/en
Publication of DE102022205137A1 publication Critical patent/DE102022205137A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Überwachen von Zugriffsanfragen für sicherheitskritische Zugriffe in einer Recheneinheit (100), wobei in der Recheneinheit (100) eine Vielzahl von Partitionen (110, 120) eingerichtet ist, in welchen jeweils unabhängig voneinander wenigstens ein Programm (112, 122) ausgeführt wird, und wobei die Recheneinheit (100) eine Sicherheitseinheit (130) aufweist, welche Operationen im Auftrag von einzelnen Partitionen (110, 120) ausführt, umfassend die Schritte: Empfangen, durch die Sicherheitseinheit (130), eines Auftrags von einer beauftragenden Partition (110) der Vielzahl von Partitionen (110, 120) enthaltend einen Zugriff von einer Zugriffsquelladresse in einer ersten Partition (110) der Vielzahl von Partitionen (110, 120) auf eine Zugriffszieladresse in einer zweiten Partition (120) der Vielzahl von Partitionen (110, 120); Überprüfen, durch die Sicherheitseinheit (130), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf; Durchführen oder Blockieren, durch die Sicherheitseinheit (130), des Zugriffs gemäß dem empfangenen Auftrag abhängig von dieser Überprüfung.The invention relates to a method for monitoring access requests for safety-critical access in a computing unit (100), wherein a plurality of partitions (110, 120) are set up in the computing unit (100), each of which contains at least one program (112, 122) independently of one another ) is executed, and wherein the computing unit (100) has a security unit (130) which carries out operations on behalf of individual partitions (110, 120), comprising the steps: receiving, by the security unit (130), an order from an ordering party Partition (110) of the plurality of partitions (110, 120) containing access from an access source address in a first partition (110) of the plurality of partitions (110, 120) to an access destination address in a second partition (120) of the plurality of partitions ( 110, 120); verifying, by the security unit (130), whether the requesting partition (110) is allowed to access the access source address in the first partition (110) and the access destination address in the second partition (120) according to the received request; Performing or blocking, by the security unit (130), access according to the received order depending on this verification.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Überwachen von Zugriffsanfragen für sicherheitskritische Zugriffe in einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for monitoring access requests for security-critical access in a computing unit as well as a computing unit and a computer program for carrying it out.

Hintergrund der ErfindungBackground of the invention

In Recheneinheiten, beispielsweise in Mikrocontrollern oder eingebetteten Systemen, z.B. zum Einsatz im (Kraft-) Fahrzeugbereich, können Multi-Partitions-Systeme implementiert werden. Dabei kann eine Vielzahl verschiedener Programme oder Anwendersoftwares unabhängig voneinander verteilt auf einer Vielzahl von Prozessoreinheiten der Recheneinheit ausgeführt werden. Jede dieser Anwendersoftwares bildet in sich eine eigene logische Partition und damit auch eine eigene Sicherheitsdomäne. In einer derartigen Recheneinheit kann ferner eine Sicherheitseinheit bzw. ein Hardware-Sicherheitsmodul (engl.: „Hardware Security Module“, HSM) als eine separate Hardwareeinheit vorgesehen sein, welche Zugriffsanfragen innerhalb der einzelnen Partitionen überwacht.Multi-partition systems can be implemented in computing units, for example in microcontrollers or embedded systems, e.g. for use in the (motor) vehicle sector. A large number of different programs or user software can be executed independently of one another on a large number of processor units of the computing unit. Each of these user software forms its own logical partition and therefore its own security domain. In such a computing unit, a security unit or a hardware security module (HSM) can also be provided as a separate hardware unit, which monitors access requests within the individual partitions.

Offenbarung der ErfindungDisclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Überwachen von Zugriffsanfragen für sicherheitskritische Zugriffe in einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for monitoring access requests for security-critical access in a computing unit as well as a computing unit and a computer program for its implementation are proposed with the features of the independent patent claims. Advantageous refinements are the subject of the subclaims and the following description.

Um (eigentlich verbotene) Zugriffe einer Partition auf eine andere vermittels einer Sicherheitseinheit wie z. B. des Hardware-Sicherheitsmoduls zu verhindern, wird die Sicherheitseinheit hard- oder softwaretechnisch so ausgerüstet, dass sie bei Aufträgen von einer Partition die vom Auftrag betroffenen Adressbereiche hinsichtlich der Zulässigkeit von Zugriffen durch die beauftragende Partition überprüfen kann.To prevent (actually forbidden) access from one partition to another using a security device such as: B. the hardware security module, the security unit is equipped in terms of hardware or software so that, when receiving orders from a partition, it can check the address areas affected by the order with regard to the permissibility of access by the ordering partition.

In der Recheneinheit ist eine Vielzahl von Partitionen eingerichtet bzw. implementiert, in welchen jeweils unabhängig voneinander wenigstens ein Programm bzw. wenigstens eine Anwendung oder wenigstens eine Anwendersoftware ausgeführt wird. Die Programme dieser verschiedenen Partitionen können insbesondere isoliert und logisch getrennt voneinander von den Prozessoreinheiten der Recheneinheit ausgeführt werden. Jede Partition stellt insbesondere eine eigene, in sich geschlossene, unabhängige Sicherheitsdomäne dar. Insbesondere können ferner einzelne Ressourcen der Recheneinheit jeweils einer der Partitionen zugeordnet werden. So können jeder Partition insbesondere einzelne Speichereinheiten oder zumindest einzelne Speicherbereiche einer Speichereinheit zugeordnet werden und ferner insbesondere einzelne Prozessoreinheiten oder zumindest Rechenkapazitäten einer Prozessoreinheit.A large number of partitions are set up or implemented in the computing unit, in each of which at least one program or at least one application or at least one user software is executed independently of one another. The programs of these different partitions can in particular be executed in isolation and logically separated from one another by the processor units of the computing unit. Each partition represents, in particular, its own, self-contained, independent security domain. In particular, individual resources of the computing unit can be assigned to one of the partitions. In this way, individual storage units or at least individual storage areas of a storage unit can be assigned to each partition, and furthermore, in particular, individual processor units or at least computing capacities of a processor unit.

Die Recheneinheit weist ferner eine Sicherheitseinheit auf, welche dazu eingerichtet ist, bestimmte Operationen (Prozesse bzw. Prozessschritte) im fremden Auftrag auszuführen. Diese Sicherheitseinheit ist insbesondere als eine unabhängige, separate Hardwareeinheit vorgesehen und ist insbesondere als ein Hardware-Sicherheitsmodul (HSM) ausgebildet. Die Sicherheitseinheit ist insbesondere als eine den verschiedenen Partitionen zugeordnete Einheit vorgesehen. Der Begriff Hardware-Sicherheitsmodul bezeichnet insbesondere ein internes oder externes Peripheriegerät für die effiziente und sichere Ausführung kryptographischer Operationen oder Applikationen.The computing unit also has a security unit which is set up to carry out certain operations (processes or process steps) on behalf of others. This security unit is in particular provided as an independent, separate hardware unit and is in particular designed as a hardware security module (HSM). The security unit is in particular provided as a unit assigned to the various partitions. The term hardware security module refers in particular to an internal or external peripheral device for the efficient and secure execution of cryptographic operations or applications.

Im Rahmen des vorliegenden Verfahrens wird durch die Sicherheitseinheit ein Auftrag von einer beauftragenden Partition der Vielzahl von Partitionen enthaltend einen Zugriff von einer Zugriffsquelladresse in einer ersten Partition der Vielzahl von Partitionen auf eine Zugriffszieladresse in einer zweiten Partition der Vielzahl von Partitionen empfangen. Die beauftragende Partition kann die erste Partition und/oder die zweite Partition (erste und zweite können dieselbe oder unterschiedlich sein) oder auch eine weitere, dritte Partition sein. Als Zugriffsquelladresse oder Quelladresse und als Zugriffszieladresse oder Zieladresse seien in diesem Zusammenhang insbesondere jeweils eine Speicheradresse innerhalb einer Speichereinheit der jeweiligen Partition zu verstehen, z.B. eines Cache-, RAM- oder Flash-Speichers. Bei dem Zugriff gemäß dem Auftrag kann es sich insbesondere um einen lesenden oder schreibenden Datenzugriff handeln, im Zuge dessen einzulesende oder zu schreibende Daten von der Zugriffsquelladresse an die Zugriffszieladresse übertragen werden sollen.In the context of the present method, the security unit receives a request from a requesting partition of the plurality of partitions containing access from an access source address in a first partition of the plurality of partitions to an access destination address in a second partition of the plurality of partitions. The assigning partition can be the first partition and/or the second partition (first and second can be the same or different) or an additional, third partition. In this context, the access source address or source address and the access target address or destination address should be understood to mean, in particular, a memory address within a memory unit of the respective partition, e.g. a cache, RAM or flash memory. The access according to the order can in particular be a reading or writing data access, in the course of which data to be read or written is to be transferred from the access source address to the access destination address.

Die Sicherheitseinheit überprüft, ob die beauftragende Partition gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition und auf die Zugriffszieladresse in der zweiten Partition zugreifen darf. Abhängig von dieser Überprüfung führt die Sicherheitseinheit den Zugriff gemäß dem empfangenen Auftrag durch oder die Sicherheitseinheit blockiert den Zugriff. Zweckmäßigerweise überprüft die Sicherheitseinheit mit Hilfe von internen Softwaremechanismen und/oder mittels einer zusätzlichen in der Recheneinheit verbauten Hardwareeinheit, ob die beauftragende Partition berechtigt ist, in der angefragten Weise auf die unterschiedlichen Partitionen zuzugreifen. Nur wenn dies der Fall ist, führt die Sicherheitseinheit die angefragte Operation aus. Sollte die anfragende Partition jedoch nicht berechtigt sein, gemäß dem Auftrag auf die Adressen der Partitionen zuzugreifen, blockiert die Sicherheitseinheit den empfangenen Auftrag, um ein potentielles Sicherheitsrisiko zu verhindern.The security unit checks whether the requesting partition is allowed to access the access source address in the first partition and the access destination address in the second partition according to the received request. Depending on this verification, the security unit carries out the access according to the received order or the security unit blocks the access. The security unit expediently checks with the aid of internal software mechanisms and/or by means of an additional hardware unit installed in the computing unit whether the requesting partition is authorized to access the different partitions in the requested manner. Only if this If this is the case, the security unit carries out the requested operation. However, if the requesting partition is not authorized to access the addresses of the partitions according to the request, the security unit blocks the received request to prevent a potential security risk.

Die vorliegende Erfindung stellt eine Möglichkeit bereit, um ungewollte sicherheitskritische Zugriffe zwischen verschiedenen Partitionen zu verhindern. Durch die Erfindung kann die Sicherheit der Recheneinheit erhöht werden. Sicherheitsrisikos sowie die Gefahren von Angriffen können reduziert oder minimiert werden.The present invention provides a way to prevent unwanted security-critical access between different partitions. The invention can increase the security of the computing unit. Security risks and the dangers of attacks can be reduced or minimized.

Auf herkömmliche Weise kann zur Verhinderung eines direkten ungewollten Datenaustauschs zwischen verschiedenen Partitionen z.B. eine Speicherschutzeinheit (engl.: „Memory Protection Unit“, MPU) verwendet werden. Jedoch kann dann trotzdem vermittels der Sicherheitseinheit unbemerkt auf Speicherbereiche in anderen Partitionen zugegriffen werden, z.B. über einen Verschlüsselungsauftrag von einer Partition, da die Sicherheitseinheit vollen Zugriff auf den ganzen Adressbereich der Prozessoreinheiten besitzt. Bei der Ausführung eines Auftrags einer Partition durch die Sicherheitseinheit wechselt die Zugriffs-Domäne von der Partition zu der Sicherheitseinheit, so dass in der Folge der Partitionskontext nicht berücksichtigt wird. Durch die vorliegende Erfindung kann eine derartige Gefahr verhindert werden. Gemäß dem vorliegenden Verfahren berücksichtigt die Sicherheitseinheit nun stets den Partitionskontext. Verschlüsselungsaufträge und ungewollte Zugriffe zwischen unterschiedlichen Partitionen können somit zweckmäßigerweise verhindert werden.In a conventional way, a memory protection unit (MPU), for example, can be used to prevent direct unwanted data exchange between different partitions. However, memory areas in other partitions can still be accessed unnoticed by the security unit, for example via an encryption job from a partition, since the security unit has full access to the entire address range of the processor units. When a partition job is executed by the security unit, the access domain switches from the partition to the security unit, so that the partition context is subsequently not taken into account. Such a danger can be prevented by the present invention. According to the present method, the security unit now always takes the partition context into account. Encryption jobs and unwanted access between different partitions can therefore be effectively prevented.

Gemäß einer besonders vorteilhaften Ausführungsform wird der Schritt des Überprüfens, ob die beauftragende Partition gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition und auf die Zugriffszieladresse in der zweiten Partition zugreifen darf, von der Sicherheitseinheit unter Verwendung einer als Softwareeinheit vorgesehenen Zugriffskonfiguration durchgeführt, gemäß welcher vorgegebene Zugriffe für vorgegebene beauftragende Partitionen von vorgegebenen Zugriffsquelladressen in den einzelnen Partitionen auf vorgegebene Zugriffszieladressen in den einzelnen Partitionen erlaubt oder verboten sind, und/oder unter Verwendung einer als Hardwareeinheit vorgesehenen Überprüfungseinheit, welche von der Sicherheitseinheit entsprechend der Vielzahl von Partitionen konfigurierbar ist. Mit Hilfe dieser Hardwareeinheit und/oder Softwareeinheit kann die Sicherheitseinheit ausgerüstet werden, um die bei dem empfangenen Auftrag betroffenen Adressbereiche hinsichtlich der Zulässigkeit von Zugriffen durch die beauftragende Partition zu überprüfen.According to a particularly advantageous embodiment, the step of checking whether the requesting partition is allowed to access the access source address in the first partition and the access destination address in the second partition according to the received order is carried out by the security unit using an access configuration provided as a software unit, according to which predetermined accesses for predetermined requesting partitions from predetermined access source addresses in the individual partitions to predetermined access target addresses in the individual partitions are permitted or prohibited, and / or using a verification unit provided as a hardware unit, which is configurable by the security unit according to the plurality of partitions. With the help of this hardware unit and/or software unit, the security unit can be equipped to check the address areas affected by the received order with regard to the permissibility of access by the ordering partition.

Mit Hilfe der Zugriffskonfiguration kann insbesondere in Software vorgegeben werden, ob einzelne Partitionen aufeinander zugreifen dürfen, ferner ob insbesondere einzelne Programme oder Tasks einer beauftragenden Partition auf Speicherbereiche anderer Partitionen zugreifen dürfen oder nicht. Beispielsweise kann definiert werden, dass eine spezielle Partition nur auf sich selbst und nicht auf andere Partitionen zugreifen darf, dass also diese Partition nur Zugriffe von Zugriffsquelladressen auf Zugriffszieldressen innerhalb dieser Partition durchführen darf. Ferner kann beispielsweise definiert werden, dass auf eine spezielle Partition nicht von anderen Partitionen aus zugegriffen werden darf, dass also keine Partition Zugriffe durchführen darf, im Zuge derer Daten von Zugriffsquelladressen außerhalb der jeweiligen speziellen Partition in diese Partition geschrieben werden oder im Zuge derer Daten aus der jeweiligen speziellen Partition an Zugriffszieladressen außerhalb dieser Partition übertragen werden. Ferner können mit Hilfe der Zugriffskonfiguration auch spezielle Zugriffe von beauftragenden Partitionen auf verschiedene Partitionen explizit erlaubt werden, indem Zugriffe der jeweiligen beauftragenden Partitionen von einer speziellen Zugriffsquelladresse in einer speziellen Partition auf eine spezielle Zugriffszieladresse in einer anderen speziellen Partition erlaubt werden.With the help of the access configuration, it can be specified, in particular in software, whether individual partitions are allowed to access each other, and also whether individual programs or tasks of a requesting partition are allowed to access memory areas of other partitions or not. For example, it can be defined that a special partition may only access itself and not other partitions, i.e. that this partition may only access from access source addresses to access target addresses within this partition. Furthermore, it can be defined, for example, that a special partition may not be accessed from other partitions, i.e. that no partition may carry out accesses in the course of which data from access source addresses outside the respective special partition is written into this partition or in the course of which data is written out of the respective special partition to access destination addresses outside of this partition. Furthermore, with the help of the access configuration, special accesses from requesting partitions to different partitions can also be explicitly permitted by allowing access from the respective requesting partitions from a special access source address in a special partition to a special access target address in another special partition.

Die Überprüfungseinheit ist insbesondere als eine separate, unabhängige Hardwareeinheit (jedoch als Teil der Recheneinheit) vorgesehen, welche mit der Sicherheitseinheit zweckmäßigerweise über eine gemeinsame Schnittstelle in Kommunikationsverbindung steht. Insbesondere ist die Überprüfungseinheit als ein Testmodul vorgesehen, um in kontrolliertem Rahmen bzw. unter kontrollierten Testbedingungen in der Praxis überprüfen zu können, ob die beauftragende Partition den beauftragten Zugriff durchführen darf. Zweckmäßigerweise kann die Überprüfungseinheit von der Sicherheitseinheit wie eine der Partitionen konfiguriert werden, so dass die Überprüfungseinheit denselben Sicherheitskontext wie diese Partition besitzt und Zugriffe dieser Partition simulieren kann.The checking unit is in particular provided as a separate, independent hardware unit (but as part of the computing unit), which is expediently in communication connection with the security unit via a common interface. In particular, the verification unit is provided as a test module in order to be able to check in practice within a controlled framework or under controlled test conditions whether the requesting partition is allowed to carry out the requested access. The verification unit can expediently be configured by the security unit like one of the partitions, so that the verification unit has the same security context as this partition and can simulate accesses to this partition.

Gemäß einer vorteilhaften Ausführungsform wird die Zugriffskonfiguration bzw. Sicherheitskonfiguration, Adresskonfiguration oder Systemkonfiguration vorgegeben oder definiert, gemäß welcher die vorgegebenen Zugriffe für die vorgegebenen beauftragenden Partitionen von den vorgegebenen Zugriffsquelladressen in den einzelnen Partitionen auf die vorgegebenen Zugriffszieladressen in den einzelnen Partitionen erlaubt oder verboten sind. Diese Zugriffskonfiguration kann zweckmäßigerweise als Softwareeinheit in der Recheneinheit hinterlegt werden, beispielsweise als ein Teil der von der Sicherheitseinheit ausgeführten Software. According to an advantageous embodiment, the access configuration or security configuration, address configuration or system configuration is specified or defined, according to which the specified accesses for the specified commissioning partitions from the specified access source addresses in the individual partitions to the specified access target addresses in the individual partitions are permitted or prohibited. This access configuration can expediently be stored as a software unit in the computing unit, for example as part of the software executed by the security unit.

Insbesondere kann die Zugriffskonfiguration der Sicherheitseinheit auf sichere Art und Weise zur Verfügung gestellt werden, z.B. als Systemkonfiguration während eines Erstellungs- bzw. Build-Prozesses der Software der Sicherheitseinheit, z.B. im Zuge der Umwandlung von Quellcodedateien in eine eigenständige Software, die von der Sicherheitseinheit ausgeführt werden kann.In particular, the access configuration of the security unit can be made available in a secure manner, for example as a system configuration during a creation or build process of the security unit's software, for example in the course of converting source code files into independent software that is executed by the security unit can be.

Vorzugsweise wird die Zugriffskonfiguration vor einer erstmaligen Inbetriebnahme bzw. vor einem regulären Betrieb der Recheneinheit vorgegeben, beispielsweise durch einen Bediener oder Programmierer im Zuge eines Herstellungs- oder Konfigurationsprozesses der Recheneinheit oder der Sicherheitseinheit. Im regulären Betrieb kann die Sicherheitseinheit dann mit Hilfe der Zugriffskonfiguration empfangene Aufträge überprüfen. Alternativ oder zusätzlich kann die Zugriffskonfiguration bevorzugt auch zur Laufzeit der Recheneinheit vorgegeben werden, also nach einer erstmaligen Inbetriebnahme. Beispielsweise kann die Zugriffskonfiguration als eine (zweckmäßigerweise signierte) Datei der Sicherheitseinheit im Zuge eines Updates in die Recheneinheit eingebracht werden, z.B. im Zuge eines Software-Updates der Sicherheitseinheit, etwa als ein Teil einer von der Sicherheitseinheit auszuführenden Software. Ferner kann die Zugriffskonfiguration im Zuge eines Updates beispielsweise auch explizit als eigene Datei an die Recheneinheit übermittelt werden, welche fortan von der Sicherheitseinheit berücksichtigt wird. Beispielsweise kann die Zugriffskonfiguration auf diese Weise auch dynamisch während der Laufzeit der Recheneinheit angepasst und verändert werden.The access configuration is preferably specified before the computing unit is put into operation for the first time or before regular operation, for example by an operator or programmer in the course of a manufacturing or configuration process of the computing unit or the security unit. During regular operation, the security unit can then check received orders using the access configuration. Alternatively or additionally, the access configuration can preferably also be specified during runtime of the computing unit, i.e. after initial commissioning. For example, the access configuration can be introduced into the computing unit as a (appropriately signed) file of the security unit in the course of an update, for example in the course of a software update of the security unit, for example as part of software to be executed by the security unit. Furthermore, in the course of an update, the access configuration can, for example, be explicitly transmitted to the computing unit as a separate file, which is then taken into account by the security unit. For example, the access configuration can also be adjusted and changed dynamically in this way during the runtime of the computing unit.

Vorteilhafterweise überprüft die Sicherheitseinheit abhängig von der vorgegebenen Zugriffskonfiguration, ob der Zugriff durch die beauftragende Partition gemäß dem empfangenen Auftrag von der Zugriffsquelladresse in der ersten Partition auf die Zugriffszieladresse in der zweiten Partition erlaubt oder verboten ist. Mit Hilfe dieser System- bzw. Zugriffskonfiguration kann die Software der Sicherheitseinheit abhängig vom jeweiligen Partitionskontext zweckmäßigerweise prüfen, ob die Quell- und/oder Zieladresse für die Partition, welche den Auftrag erteilt hat, erlaubt oder verboten ist. Abhängig davon kann die Software der Sicherheitseinheit die eigentliche Operation, also den eigentlichen Zugriff durchführen oder z.B. mit einer entsprechenden Fehlermeldung an die Partition abbrechen. Advantageously, depending on the predetermined access configuration, the security unit checks whether access by the requesting partition is permitted or prohibited in accordance with the received order from the access source address in the first partition to the access destination address in the second partition. With the help of this system or access configuration, the software of the security unit can expediently check, depending on the respective partition context, whether the source and/or destination address for the partition that issued the order is permitted or prohibited. Depending on this, the software of the security unit can carry out the actual operation, i.e. the actual access, or, for example, cancel it with a corresponding error message to the partition.

Gemäß einer bevorzugten Ausführungsform weist die Recheneinheit neben der Überprüfungseinheit ferner eine Speicherschutzeinheit auf, und die Sicherheitseinheit führt die Überprüfung des empfangenen Auftrags zusätzlich unter Verwendung der Speicherschutzeinheit durch. Als Speicherschutzeinheit sei insbesondere eine Hardwareeinheit in der Recheneinheit zu verstehen, welche Zugriff auf die Speichereinheit(en) der Recheneinheit verwaltet. Aus Sicherheitsgründen kann die Speicherschutzeinheit beispielsweise Programme oder Tasks daran hindern, versehentlich oder absichtlich auf Speicherbereiche anderer Programme zuzugreifen, oder beispielsweise einzelne Speicherbereiche für die Ausführung von Code oder zum weiteren Beschreiben zu sperren. Die Überprüfungseinheit kann sich gegenüber der Speicherschutzeinheit zweckmäßigerweise wie die beauftragende Partitionen verhalten. Insbesondere kann die Sicherheitseinheit eine Reaktion der Speicherschutzeinheit auf eine Anfrage der Überprüfungseinheit überwachen und abhängig von diesem Verhalten darauf schließen, ob der empfangene Auftrag durchgeführt oder blockiert werden soll.According to a preferred embodiment, the computing unit also has a memory protection unit in addition to the verification unit, and the security unit additionally carries out the verification of the received order using the memory protection unit. A memory protection unit is to be understood in particular as a hardware unit in the computing unit which manages access to the memory unit(s) of the computing unit. For security reasons, the memory protection unit can, for example, prevent programs or tasks from accidentally or intentionally accessing memory areas of other programs, or, for example, block individual memory areas for executing code or for further writing. The checking unit can expediently behave like the commissioning partitions compared to the memory protection unit. In particular, the security unit can monitor a reaction of the memory protection unit to a request from the checking unit and, depending on this behavior, determine whether the received order should be carried out or blocked.

Der Schritt des Überprüfens, ob die beauftragende Partition gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition und auf die Zugriffszieladresse in der zweiten Partition zugreifen darf, umfasst vorzugsweise ein Konfigurieren der Überprüfungseinheit durch die Sicherheitseinheit entsprechend der beauftragenden Partition. Die Überprüfungseinheit besitzt nun insbesondere denselben Partitions- bzw. Sicherheitskontext wie die beauftragende Partition und verhält sich gegenüber der Speicherschutzeinheit zweckmäßigerweise wie die beauftragende Partition. Vorzugsweise führt die entsprechend konfigurierte Überprüfungseinheit einen Testzugriff gemäß dem empfangenen Auftrag von der Zugriffsquelladresse in der ersten Partition auf die Zugriffszieladresse in der zweiten Partition über die Speicherschutzeinheit durch. Die Sicherheitseinheit überprüft vorzugsweise, ob der Testzugriff durch die Speicherschutzeinheit erlaubt oder blockiert wird. Der beauftragte Zugriff durch die beauftragende Partition wird somit von der Überprüfungseinheit in abgesichertem Rahmen simuliert. Wenn die Speicherschutzeinheit den Testzugriff blockiert, bestimmt die Sicherheitseinheit zweckmäßigerweise, dass die beauftragende Partition nicht auf die Zugriffsquelladresse und/oder die Zugriffszieladresse gemäß dem empfangenen Auftrag zugreifen darf. Die Speicherschutzeinheit blockiert dann zweckmäßigerweise den Zugriff gemäß dem Auftrag. Wenn die Speicherschutzeinheit den Testzugriff hingegen erlaubt, bestimmt die Sicherheitseinheit insbesondere, dass die beauftragende Partition berechtigt ist, auf die Zugriffsquelladresse und die Zugriffszieladresse gemäß dem Auftrag zuzugreifen. Demgemäß führt die Sicherheitseinheit den Zugriff gemäß dem empfangenen Auftrag durch. Das Implementieren der Auftragsüberprüfung mit Hilfe dieser separaten Überprüfungseinheit ermöglicht insbesondere eine erhöhte Performanz und einen geringeren Verbrauch von Ressourcen der Sicherheitseinheit und der Recheneinheit. Ferner kann die Hardwarekonfiguration zum Schutz der Partitionen untereinander automatisch konsistent für die Überprüfungseinheit und die Sicherheitseinheit übernommen werden. Auf diese Weise kann insbesondere stets eine Konsistenz per Hardware sichergestellt werden.The step of checking whether the requesting partition is allowed to access the access source address in the first partition and the access destination address in the second partition according to the received request preferably includes configuring the verification unit by the security unit according to the requesting partition. In particular, the checking unit now has the same partition or security context as the requesting partition and expediently behaves like the requesting partition towards the memory protection unit. Preferably, the appropriately configured verification unit performs a test access according to the received order from the access source address in the first partition to the access destination address in the second partition via the memory protection unit. The security unit preferably checks whether the test access is permitted or blocked by the memory protection unit. The requested access by the requesting partition is thus simulated by the verification unit within a secure framework. If the memory protection unit blocks the test access, the security unit conveniently determines that the requesting partition is not allowed to access the access source address and/or the access destination address according to the received request. The memory protection unit then expediently blocks access according to the order. On the other hand, if the memory protection unit allows test access, the security unit determines in particular that the requesting partition is authorized to access the access source address and the access destination address according to the request. Accordingly, the security unit performs the access according to the received order. Implementing the order verification with the help of this separate verification unit enables, in particular, increased performance and lower consumption of resources of the security unit and the computing unit. Furthermore, the hardware configuration can be used to protect the par are automatically adopted consistently for the verification unit and the security unit. In this way, hardware consistency can always be ensured.

Vorteilhafterweise ist die Überprüfungseinheit als eine separate Logikeinheit in der Recheneinheit ausgebildet. Die Überprüfungseinheit ist besonders zweckmäßig als eigenes, unabhängiges, separates Hardwaremodul in der Recheneinheit vorgesehen, welches über eine eigene Intelligenz bzw. eigene Logikbausteine verfügt. Beispielsweise kann die Überprüfungseinheit als ein integrierter Schaltkreis (engl.: „Integrated Circuit“, IC), FPGA, ASIC usw. ausgebildet sein.The checking unit is advantageously designed as a separate logic unit in the computing unit. The checking unit is particularly expediently provided as its own, independent, separate hardware module in the computing unit, which has its own intelligence or its own logic modules. For example, the verification unit can be designed as an integrated circuit (IC), FPGA, ASIC, etc.

Wenn der Zugriff gemäß dem empfangenen Auftrag blockiert wird, wird vorzugsweise eine Fehlermeldung durch die Sicherheitseinheit ausgegeben. Beispielsweise kann diese Fehlermeldung an die beauftragende Partition ausgegeben werden oder auch an einen Bediener der Recheneinheit. Wenn die Recheneinheit in einem Fahrzeug implementiert ist, kann die Fehlermeldung beispielsweise durch Aktivieren einer Kontrolllampe in einem Armaturenbereich des Fahrzeugs ausgegeben werden.If access is blocked according to the received order, an error message is preferably issued by the security unit. For example, this error message can be output to the requesting partition or to an operator of the computing unit. If the computing unit is implemented in a vehicle, the error message can be output, for example, by activating a control lamp in a dashboard area of the vehicle.

Alternativ oder zusätzlich kann bevorzugt durch die Sicherheitseinheit ein Eintrag in einem Fehlerspeicher erstellt werden, wenn der Zugriff gemäß dem empfangenen Auftrag blockiert wird. Beispielsweise können auf diese Weise während der Laufzeit der Recheneinheit blockierte Zugriffe in dem Fehlerspeicher dokumentiert werden und zu einem späteren Zeitpunkt analysiert werden, z.B. im Zuge eines Auslesens des Fehlerspeichers in einer Werkstatt.Alternatively or additionally, an entry in an error memory can preferably be created by the security unit if access is blocked according to the received order. For example, in this way, accesses blocked during the runtime of the computing unit can be documented in the error memory and analyzed at a later point in time, for example when reading out the error memory in a workshop.

Besonders bevorzugt eignet sich das Verfahren zur Anwendung im (Kraft-) Fahrzeugbereich. Die Recheneinheit kann insbesondere als ein Mikrocontroller, ein Steuergerät oder ein eingebettetes System in einem (Kraft-) Fahrzeug ausgebildet sein. Die von der Recheneinheit in den verschiedenen Partitionen ausgeführten Programme können beispielsweise sicherheitskritische Funktionen umfassen, welche zum sicheren Betrieb und zur Steuerung des Fahrzeugs ausgeführt werden, beispielsweise im Zuge einer Motorsteuerung oder im Zuge von Fahrassistenzfunktionen usw. Besonders zweckmäßig können durch das vorliegende Verfahren eine funktionale Sicherheit, eine Betriebs- und Ausfallsicherheit, eine informationstechnische Sicherheit, eine Integrität und ein Zugriffsschutz der Recheneinheit erhöht werden. Insbesondere können durch das Verfahren vorgegebene Sicherheitsanforderungen im (Kraft-) Fahrzeugbereich erfüllt werden.The method is particularly suitable for use in the (motor) vehicle sector. The computing unit can in particular be designed as a microcontroller, a control device or an embedded system in a (motor) vehicle. The programs executed by the computing unit in the various partitions can, for example, include safety-critical functions which are carried out for safe operation and control of the vehicle, for example as part of engine control or as part of driving assistance functions, etc. Functional safety can be particularly expediently achieved by the present method , operational and failure security, information technology security, integrity and access protection of the computing unit are increased. In particular, safety requirements in the (motor) vehicle sector can be met by the method.

Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing unit according to the invention, for example a control unit of a motor vehicle, is set up, in particular in terms of programming, to carry out a method according to the invention.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is also advantageous because this causes particularly low costs, especially if an executing control device is used for additional tasks and is therefore present anyway. Finally, a machine-readable storage medium is provided with a computer program stored thereon as described above. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.). Such a download can be wired or wired or wireless (e.g. via a WLAN network, a 3G, 4G, 5G or 6G connection, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the accompanying drawing.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

  • 1 zeigt schematisch eine Recheneinheit, die dazu eingerichtet ist, eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. 1 shows schematically a computing unit that is set up to carry out a preferred embodiment of the method according to the invention.
  • 2 zeigt schematisch eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens als ein Blockdiagramm. 2 shows schematically a preferred embodiment of the method according to the invention as a block diagram.

Ausführungsform(en) der ErfindungEmbodiment(s) of the invention

In 1 ist eine Recheneinheit schematisch dargestellt und mit 100 bezeichnet, die beispielsweise als ein Mikrocontroller in einem Fahrzeug ausgebildet ist, beispielsweise als ein (Motor-) Steuergerät zum Steuern von Motorfunktionen des Fahrzeugs.In 1 A computing unit is shown schematically and designated 100, which is designed, for example, as a microcontroller in a vehicle, for example as an (engine) control device for controlling engine functions of the vehicle.

Die Recheneinheit 100 weist einen Multicore-Prozessor mit einer ersten Prozessoreinheit 111 und einer zweiten Prozessoreinheit 121 auf sowie eine erste Speichereinheit 113 und eine zweite Speichereinheit 123, die jeweils z.B. als Cache-, RAM- oder Flash-Speicher ausgebildet sein können.The computing unit 100 has a multi-core processor with a first processor unit 111 and a second processor unit 121 as well as a first memory unit 113 and a second memory unit 123, which can each be designed, for example, as a cache, RAM or flash memory.

In der Recheneinheit 100 ist eine Vielzahl von Partitionen 110, 120 eingerichtet, in welchen jeweils unabhängig voneinander ein Programm 112, 122 ausgeführt wird, beispielsweise jeweils eine Anwendersoftware. Beispielsweise können im Rahmen dieser Programme 112, 122 jeweils sicherheitskritische Funktionen für den Betrieb des Fahrzeugs ausgeführt werden, z.B. im Zuge der Motorsteuerung. A large number of partitions 110, 120 are set up in the computing unit 100, in each of which a program 112, 122 is executed independently of one another, for example user software. For example, within the framework of these programs 112, 122, safety-critical functions for the operation of the vehicle can be carried out, for example in the course of engine control.

Beispielsweise sind die erste Prozessoreinheit 111 und die erste Speichereinheit 113 der ersten Partition 110 zugewiesen und die zweite Prozessoreinheit 121 und die zweite Speichereinheit 123 der zweiten Partition 120. Beispielsweise kann somit in der ersten Partition 110 ein erstes Programm 112 von der ersten Prozessoreinheit 111 ausgeführt. In der zweiten Partition 120 kann unabhängig von dem ersten Programm 112 ein zweites Programm 122 von der zweiten Prozessoreinheit 121 ausgeführt werden. Das erste Programm 112 kann beispielsweise auf die erste Speichereinheit 113 der ersten Partition 110 zugreifen und das zweite Programm 122 beispielsweise auf die zweite Speichereinheit 123 in der zweiten Partition 120. Die beiden Programme 112 und 122 können isoliert und logisch getrennt voneinander ausgeführt werden. Jede der beiden Partition 110, 120 stellt eine eigene, in sich geschlossene, unabhängige Sicherheitsdomäne dar.For example, the first processor unit 111 and the first storage unit 113 are assigned to the first partition 110 and the second processor unit 121 and the second storage unit 123 are assigned to the second partition 120. For example, a first program 112 can thus be executed by the first processor unit 111 in the first partition 110. In the second partition 120, a second program 122 can be executed by the second processor unit 121 independently of the first program 112. The first program 112 can, for example, access the first storage unit 113 of the first partition 110 and the second program 122 can, for example, access the second storage unit 123 in the second partition 120. The two programs 112 and 122 can be executed in isolation and logically separate from one another. Each of the two partitions 110, 120 represents its own, self-contained, independent security domain.

Ferner ist eine Speicherschutzeinheit (MPU) 150 vorgesehen, welche Zugriff auf die Speichereinheiten 113 und 123 verwaltet und überwacht. Aus Sicherheitsgründen kann die Speicherschutzeinheit 150 beispielsweise Programme daran hindern, auf Speicherbereiche anderer Programme zuzugreifen.Furthermore, a memory protection unit (MPU) 150 is provided, which manages and monitors access to the memory units 113 and 123. For security reasons, the memory protection unit 150 can, for example, prevent programs from accessing memory areas of other programs.

In 1 sind rein beispielhaft zwei Prozessoreinheiten 111, 121 und zwei Speichereinheiten 113, 123 dargestellt, jedoch versteht sich, dass die Recheneinheit 100 auch noch mehrere Prozessoreinheiten und Speichereinheiten aufweisen kann oder auch nur eine Prozessoreinheit und eine Speichereinheit. Ferner versteht sich, dass in der Recheneinheit 100 auch noch mehrere Partitionen eingerichtet sein können und mehrere Programme bzw. Anwendersoftwares ausgeführt werden können. Ferner versteht sich, dass die Recheneinheit 100 auch noch weitere Elemente aufweisen kann, die aus Gründen der Übersichtlichkeit in 1 nicht explizit dargestellt sind, z.B. Eingangs- und Ausgangsanschlüsse, Peripherieeinheiten, usw.In 1 Two processor units 111, 121 and two memory units 113, 123 are shown purely by way of example, but it goes without saying that the computing unit 100 can also have several processor units and memory units or even just one processor unit and one memory unit. Furthermore, it goes without saying that several partitions can also be set up in the computing unit 100 and several programs or user software can be executed. Furthermore, it goes without saying that the computing unit 100 can also have further elements, which for reasons of clarity are shown in 1 are not explicitly shown, e.g. input and output connections, peripheral units, etc.

Die Recheneinheit 100 weist ferner eine Sicherheitseinheit 130 als eine unabhängige, separate Hardwareeinheit auf, die als ein Hardware-Sicherheitsmodul (HSM) ausgebildet ist. Diese Sicherheitseinheit 130 ist dazu eingerichtet, bestimmte Operationen, insbesondere Prozesse bzw. Prozessschritte, im fremden Auftrag auszuführen. Einzelne der Partitionen 110, 120 können Aufträge an die Sicherheitseinheit 130 stellen, um Zugriffe von Zugriffsquelladressen auf Zugriffszieladressen durchzuführen, wobei es sich bei diesen Zugriffsquelladressen und Zugriffszieladressen jeweils insbesondere um Speicheradressen in den einzelnen Speichereinheiten 113, 123 handelt. Zu diesem Zweck wird von der Sicherheitseinheit eine entsprechende Software 131 ausgeführt.The computing unit 100 also has a security unit 130 as an independent, separate hardware unit, which is designed as a hardware security module (HSM). This security unit 130 is set up to carry out certain operations, in particular processes or process steps, on behalf of others. Individuals of the partitions 110, 120 can submit orders to the security unit 130 in order to carry out accesses from access source addresses to access target addresses, these access source addresses and access target addresses being, in particular, memory addresses in the individual memory units 113, 123. For this purpose, the security unit runs appropriate software 131.

Die Recheneinheit 100 kann ferner eine weitere unabhängige, separate Hardwareeinheit in Form einer Überprüfungseinheit 140 aufweisen, welche als eine separate Logikeinheit ausgebildet sein kann, z.B. als integrierter Schaltkreis (engl.: „Integrated Circuit“, IC). Die Sicherheitseinheit 130 und diese Überprüfungseinheit 140 stehen jeweils über eine Schnittstelle 133 bzw. 141 miteinander in Kommunikationsverbindung.The computing unit 100 can also have a further independent, separate hardware unit in the form of a checking unit 140, which can be designed as a separate logic unit, for example as an integrated circuit (IC). The security unit 130 and this checking unit 140 are each in communication connection with one another via an interface 133 and 141, respectively.

Die Überprüfungseinheit 140 und/oder eine spezielle Softwareeinheit 132 in der Sicherheitseinheit 130 sind gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens vorgesehen, um empfangene Aufträge zum Durchführen von Zugriffen zu überprüfen und um ungewollte Zugriffe zwischen verschiedenen Partitionen zu verhindern, wie nachfolgend in Bezug auf die 1 und 2 erläutert wird, wobei 2 eine entsprechende bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens als ein schematisches Blockdiagramm darstellt.The checking unit 140 and/or a special software unit 132 in the security unit 130 are provided according to a preferred embodiment of the method according to the invention in order to check received orders for carrying out accesses and to prevent unwanted accesses between different partitions, as described below in relation to 1 and 2 is explained, whereby 2 represents a corresponding preferred embodiment of the method according to the invention as a schematic block diagram.

In einem Schritt 201 wird eine Zugriffskonfiguration vorgegeben, gemäß welcher vorgegebene Zugriffe für vorgegebene beauftragende Partitionen von vorgegebenen Zugriffsquelladressen in den einzelnen Partitionen 110, 120 auf vorgegebene Zugriffszieladressen in den einzelnen Partitionen 110, 120 erlaubt oder verboten sind.In a step 201, an access configuration is specified, according to which predetermined accesses for predetermined requesting partitions from predetermined access source addresses in the individual partitions 110, 120 to predetermined access target addresses in the individual partitions 110, 120 are permitted or prohibited.

Bei diesen Zugriffsquelladressen und Zugriffszieladressen handelt es sich jeweils insbesondere um Speicheradressen in den einzelnen Speichereinheiten 113, 123. Bei den vorgegebenen Zugriffen kann es sich beispielsweise um lesende Zugriffe handeln, wobei an der Zugriffsquelladresse hinterlegte Daten eingelesen und an die Zugriffszieladressen kopiert werden sollen. Ferner kann es sich bei den sicherheitskritischen Zugriffen beispielsweise auch um schreibende Zugriffe handeln, wobei an der Zugriffsquelladresse hinterlegte Daten in die Zugriffszieladressen geschrieben werden sollen.These access source addresses and access target addresses are in particular memory addresses in the individual memory units 113, 123. The specified accesses can, for example, be read accesses, with data stored at the access source address being read in and copied to the access target addresses. Furthermore, the security-critical accesses can also be write accesses, for example, where data stored at the access source address is to be written to the access target addresses.

In einem Schritt 202 wird die Zugriffskonfiguration in der Recheneinheit 100 hinterlegt. Beispielsweise kann die Zugriffskonfiguration als die Softwareeinheit 132 in der Sicherheitseinheit 130 hinterlegt werden. Beispielsweise kann diese als Softwareeinheit 132 hinterlegte Zugriffskonfiguration ein Teil der in der Sicherheitseinheit 130 ausgeführten Software 131 sein.In a step 202, the access configuration is stored in the computing unit 100. For example, the access configuration can be used as the software purity 132 can be stored in the security unit 130. For example, this access configuration stored as a software unit 132 can be part of the software 131 executed in the security unit 130.

Diese Zugriffskonfiguration kann beispielsweise durch einen Bediener oder Programmierer im Zuge eines Herstellungs- und Programmierprozesses vor der erstmaligen Inbetriebnahme der Recheneinheit 100 vorgegeben und hinterlegt werden. Alternativ oder zusätzlich kann die Zugriffskonfiguration auch während der Laufzeit im Zuge eines Updates in der Recheneinheit 100 hinterlegt werden, z.B. als Teil eines Software-Updates für die Sicherheitseinheit 130 oder als eigene, separate Datei, die von der Sicherheitseinheit 130 berücksichtigt werden soll. Anhand der hinterlegten Zugriffskonfiguration kann die Sicherheitseinheit 130 dann im laufenden Betrieb der Recheneinheit 100 Zugriffsanfragen überwachen.This access configuration can be specified and stored, for example, by an operator or programmer in the course of a manufacturing and programming process before the computing unit 100 is put into operation for the first time. Alternatively or additionally, the access configuration can also be stored in the computing unit 100 during runtime as part of an update, for example as part of a software update for the security unit 130 or as a separate, separate file that is to be taken into account by the security unit 130. Based on the stored access configuration, the security unit 130 can then monitor access requests during ongoing operation of the computing unit 100.

In einem Schritt 203 empfängt die Sicherheitseinheit 130 im laufenden Betrieb der Recheneinheit 100 einen Auftrag von einer beauftragenden Partition, z. B. von der ersten Partition 110, enthaltend einen Zugriff von einer Zugriffsquelladresse z.B. in der ersten Speichereinheit 113 in der ersten Partition 110 auf eine Zugriffszieladresse z.B. in der zweiten Speichereinheit 123 der zweiten Partition 120. Beispielsweise kann es sich bei diesem Zugriff um einen schreibenden Zugriff handeln um Daten, die in der Zugriffsquelladresse in der ersten Partition 110 hinterlegt sind, in die Zugriffszieladresse in der zweiten Partition 120 zu schreiben.In a step 203, the security unit 130 receives a request from a requesting partition during ongoing operation of the computing unit 100, e.g. B. from the first partition 110, containing an access from an access source address, for example in the first storage unit 113 in the first partition 110, to an access target address, for example in the second storage unit 123 of the second partition 120. For example, this access can be a write access act to write data stored in the access source address in the first partition 110 into the access destination address in the second partition 120.

In Schritt 204 überprüft die Sicherheitseinheit 130, ob die beauftragende erste Partition 110 gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition 110 und auf die Zugriffszieladresse in der zweiten Partition 120 zugreifen darf.In step 204, the security unit 130 checks whether the requesting first partition 110 is allowed to access the access source address in the first partition 110 and the access destination address in the second partition 120 according to the received request.

Zu diesem Zweck kann die Sicherheitseinheit 130 auf die vorgegebene Zugriffskonfiguration zurückgreifen und abhängig von der vorgegebenen Zugriffskonfiguration überprüfen, ob der angefragte Zugriff durch die beauftragende Partition 110 gemäß dem empfangenen Auftrag von der Zugriffsquelladresse in der ersten Partition 110 auf die Zugriffszieladresse in der zweiten Partition 120 erlaubt oder verboten ist. Wenn dieser Zugriff laut der Zugriffskonfiguration erlaubt ist, dann führt die Sicherheitseinheit 130 in Schritt 205 den Zugriff durch. Wenn der Zugriff hingegen laut der Zugriffskonfiguration verboten ist, dann blockiert die Sicherheitseinheit 130 in Schritt 206 den Zugriff, gibt eine Fehlermeldung an die erste Partition 110 aus und erstellt einen Eintrag in einem Fehlerspeicher.For this purpose, the security unit 130 can rely on the predetermined access configuration and, depending on the predetermined access configuration, check whether the requested access by the requesting partition 110 is permitted in accordance with the received order from the access source address in the first partition 110 to the access destination address in the second partition 120 or is prohibited. If this access is permitted according to the access configuration, then the security unit 130 carries out the access in step 205. However, if access is prohibited according to the access configuration, then in step 206 the security unit 130 blocks access, issues an error message to the first partition 110 and creates an entry in an error memory.

Alternativ oder zusätzlich kann die Sicherheitseinheit 130 die Überprüfung des empfangenen Auftrags in Schritt 204 auch mit Hilfe der Überprüfungseinheit 140 durchführen. Zu diesem Zweck kann die Sicherheitseinheit 130 die Überprüfungseinheit 140 über die Schnittstellen 133, 141 entsprechend der beauftragenden ersten Partition 110 konfigurieren. Die konfigurierte Überprüfungseinheit 140 besitzt nun denselben Sicherheits- bzw. Partitionskontext wie die beauftragende erste Partition 110 und führt einen Testzugriff gemäß dem empfangenen Auftrag von der Zugriffsquelladresse in der ersten Partition 110 auf die Zugriffszieladresse in der zweiten Partition 120 über die Speicherschutzeinheit 150 durch. Die Speicherschutzeinheit 150 überprüft nun, ob dieser Zugriff durch die erste Partition 110 erlaubt oder verboten ist. Entsprechend erlaubt oder blockiert die Speicherschutzeinheit 150 den Zugriff.Alternatively or additionally, the security unit 130 can also carry out the verification of the received order in step 204 with the aid of the verification unit 140. For this purpose, the security unit 130 can configure the verification unit 140 via the interfaces 133, 141 according to the commissioning first partition 110. The configured verification unit 140 now has the same security or partition context as the requesting first partition 110 and carries out a test access according to the received request from the access source address in the first partition 110 to the access destination address in the second partition 120 via the memory protection unit 150. The memory protection unit 150 now checks whether this access through the first partition 110 is permitted or prohibited. Accordingly, the memory protection unit 150 allows or blocks access.

Wenn die Speicherschutzeinheit 150 den Zugriff erlaubt, dann führt die Sicherheitseinheit 130 in Schritt 205 den Zugriff durch. Wenn die Speicherschutzeinheit 150 den Zugriff jedoch blockiert, dann blockiert auch die Sicherheitseinheit 130 in Schritt 206 den Zugriff, gibt eine Fehlermeldung an die erste Partition 110 aus und erstellt einen Eintrag in einem Fehlerspeicher.If the memory protection unit 150 allows access, then the security unit 130 performs the access in step 205. However, if the memory protection unit 150 blocks the access, then the security unit 130 also blocks the access in step 206, issues an error message to the first partition 110 and creates an entry in an error memory.

Claims (13)

Verfahren zum Überwachen von Zugriffsanfragen für sicherheitskritische Zugriffe in einer Recheneinheit (100), wobei in der Recheneinheit (100) eine Vielzahl von Partitionen (110, 120) eingerichtet ist, in welchen jeweils unabhängig voneinander wenigstens ein Programm (112, 122) ausgeführt wird, und wobei die Recheneinheit (100) eine Sicherheitseinheit (130) aufweist, welche Operationen im Auftrag von einzelnen Partitionen (110, 120) ausführt, umfassend die Schritte: Empfangen (203), durch die Sicherheitseinheit (130), eines Auftrags von einer beauftragenden Partition (110) der Vielzahl von Partitionen (110, 120) enthaltend einen Zugriff von einer Zugriffsquelladresse in einer ersten Partition (110) der Vielzahl von Partitionen (110, 120) auf eine Zugriffszieladresse in einer zweiten Partition (120) der Vielzahl von Partitionen (110, 120); Überprüfen (204), durch die Sicherheitseinheit (130), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf; Durchführen (205) oder Blockieren (206), durch die Sicherheitseinheit (130), des Zugriffs gemäß dem empfangenen Auftrag abhängig von dieser Überprüfung.Method for monitoring access requests for safety-critical access in a computing unit (100), a plurality of partitions (110, 120) being set up in the computing unit (100), in each of which at least one program (112, 122) is executed independently of one another, and wherein the computing unit (100) has a security unit (130) which carries out operations on behalf of individual partitions (110, 120), comprising the steps: Receiving (203), by the security unit (130), a request from a requesting partition (110) of the plurality of partitions (110, 120) containing an access from an access source address in a first partition (110) of the plurality of partitions (110, 120) to an access destination address in a second partition (120) of the plurality of partitions (110, 120); Checking (204), by the security unit (130), whether the requesting partition (110) is allowed to access the access source address in the first partition (110) and the access destination address in the second partition (120) according to the received request; Performing (205) or blocking (206), by the security unit (130), access according to the received order depending on this verification. Verfahren nach Anspruch 1, wobei der Schritt des Überprüfens (204), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf, von der Sicherheitseinheit (130) unter Verwendung einer als Softwareeinheit vorgesehenen Zugriffskonfiguration durchgeführt wird, gemäß welcher vorgegebene Zugriffe für vorgegebene beauftragende Partitionen von vorgegebenen Zugriffsquelladressen in den einzelnen Partitionen (110, 120) auf vorgegebene Zugriffszieladressen in den einzelnen Partitionen (110, 120) erlaubt oder verboten sind.Procedure according to Claim 1 , wherein the step of checking (204) whether the requesting partition (110) is allowed to access the access source address in the first partition (110) and the access destination address in the second partition (120) according to the received request is carried out by the security unit (130 ) is carried out using an access configuration provided as a software unit, according to which predetermined accesses for predetermined commissioning partitions from predetermined access source addresses in the individual partitions (110, 120) to predetermined access target addresses in the individual partitions (110, 120) are permitted or prohibited. Verfahren nach Anspruch 2, ferner umfassend: Vorgeben (201, 202) der Zugriffskonfiguration, gemäß welcher die vorgegebenen Zugriffe für die vorgegebenen beauftragenden Partitionen von den vorgegebenen Zugriffsquelladressen in den einzelnen Partitionen (110, 120) auf die vorgegebenen Zugriffszieladressen in den einzelnen Partitionen (110, 120) erlaubt oder verboten sind.Procedure according to Claim 2 , further comprising: specifying (201, 202) the access configuration, according to which the specified accesses for the specified commissioning partitions from the specified access source addresses in the individual partitions (110, 120) to the specified access target addresses in the individual partitions (110, 120) are permitted or are prohibited. Verfahren nach Anspruch 3, wobei das Vorgeben (201, 202) der Zugriffskonfiguration umfasst: Vorgeben (201, 202) der Zugriffskonfiguration vor einer erstmaligen Inbetriebnahme der Recheneinheit (100) und/oder zur Laufzeit der Recheneinheit (100) im Zuge eines Updates.Procedure according to Claim 3 , wherein specifying (201, 202) the access configuration includes: specifying (201, 202) the access configuration before the computing unit (100) is put into operation for the first time and/or during runtime of the computing unit (100) in the course of an update. Verfahren nach Anspruch 3 oder 4, wobei der Schritt des Überprüfens (204), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf, umfasst: Überprüfen, durch die Sicherheitseinheit (130), abhängig von der vorgegebenen Zugriffskonfiguration, ob der Zugriff durch die beauftragende Partition (110) gemäß dem empfangenen Auftrag von der Zugriffsquelladresse in der ersten Partition (110) auf die Zugriffszieladresse in der zweiten Partition (120) erlaubt oder verboten ist.Procedure according to Claim 3 or 4 , wherein the step of checking (204) whether the ordering partition (110) is allowed to access the access source address in the first partition (110) and the access destination address in the second partition (120) according to the received order comprises: checking, by the security unit (130), depending on the predetermined access configuration, whether access by the requesting partition (110) according to the received order from the access source address in the first partition (110) to the access destination address in the second partition (120) is permitted or prohibited . Verfahren nach einem der vorstehenden Ansprüche, wobei der Schritt des Überprüfens (204), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf, von der Sicherheitseinheit (130) unter Verwendung einer als Hardwareeinheit vorgesehenen Überprüfungseinheit (140), welche von der Sicherheitseinheit (130) entsprechend der Vielzahl von Partitionen (110, 120) konfigurierbar ist, durchgeführt wird.The method according to any one of the preceding claims, wherein the step of checking (204) whether the requesting partition (110) is allowed to access the access source address in the first partition (110) and the access destination address in the second partition (120) according to the received request , is carried out by the security unit (130) using a verification unit (140) provided as a hardware unit, which is configurable by the security unit (130) according to the plurality of partitions (110, 120). Verfahren nach Anspruch 6, wobei die Recheneinheit (100) ferner eine Speicherschutzeinheit (150) aufweist und wobei der Schritt des Überprüfens (204), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf, von der Sicherheitseinheit (130) zusätzlich unter Verwendung der Speicherschutzeinheit (150) durchgeführt wird.Procedure according to Claim 6 , wherein the computing unit (100) further comprises a memory protection unit (150) and wherein the step of checking (204) whether the requesting partition (110) accesses the access source address in the first partition (110) and the access destination address in accordance with the received request the second partition (120) is allowed to access, is additionally carried out by the security unit (130) using the memory protection unit (150). Verfahren nach Anspruch 7, wobei der Schritt des Überprüfens (204), ob die beauftragende Partition (110) gemäß dem empfangenen Auftrag auf die Zugriffsquelladresse in der ersten Partition (110) und auf die Zugriffszieladresse in der zweiten Partition (120) zugreifen darf, umfasst: Konfigurieren der Überprüfungseinheit (140) durch die Sicherheitseinheit (130) entsprechend der beauftragenden Partition (110); Durchführen eines Testzugriffs durch die konfigurierte Überprüfungseinheit (140) gemäß dem empfangenen Auftrag von der Zugriffsquelladresse in der ersten Partition (110) auf die Zugriffszieladresse in der zweiten Partition (120) über die Speicherschutzeinheit (150); Überprüfen, durch die Sicherheitseinheit (130), ob der Testzugriff durch die Speicherschutzeinheit (150) erlaubt oder blockiert wird.Procedure according to Claim 7 , wherein the step of checking (204) whether the requesting partition (110) is allowed to access the access source address in the first partition (110) and the access destination address in the second partition (120) according to the received order comprises: configuring the checking unit (140) by the security unit (130) corresponding to the commissioning partition (110); performing a test access by the configured verification unit (140) according to the received order from the access source address in the first partition (110) to the access destination address in the second partition (120) via the memory protection unit (150); Check by the security unit (130) whether the test access is allowed or blocked by the memory protection unit (150). Verfahren nach Anspruch 8, wobei die Überprüfungseinheit (140) als eine separate Logikeinheit in der Recheneinheit (100) ausgebildet ist.Procedure according to Claim 8 , wherein the checking unit (140) is designed as a separate logic unit in the computing unit (100). Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend, wenn der Zugriff gemäß dem empfangenen Auftrag durch die Sicherheitseinheit (130) blockiert wird: Ausgabe (206) einer Fehlermeldung durch die Sicherheitseinheit (130) und/oder Erstellen (206) eines Eintrags in einem Fehlerspeicher durch die Sicherheitseinheit (130).Method according to one of the preceding claims, further comprising, if access is blocked in accordance with the received order by the security unit (130): Output (206) of an error message by the security unit (130) and/or creation (206) of an entry in an error memory by the security unit (130). Recheneinheit (100), die dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.Computing unit (100) which is set up to carry out all method steps of a method according to one of the preceding claims. Computerprogramm, das eine Recheneinheit (100) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf der Recheneinheit (100) ausgeführt wird.Computer program that causes a computing unit (100) to carry out all procedural steps of a method according to one of the Claims 1 until 10 to be carried out when it is executed on the computing unit (100). Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 12.Machine-readable storage medium with a computer program stored on it Claim 12 .
DE102022205137.8A 2022-05-23 2022-05-23 Method for monitoring access requests for security-critical access in a computing unit Pending DE102022205137A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022205137.8A DE102022205137A1 (en) 2022-05-23 2022-05-23 Method for monitoring access requests for security-critical access in a computing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022205137.8A DE102022205137A1 (en) 2022-05-23 2022-05-23 Method for monitoring access requests for security-critical access in a computing unit

Publications (1)

Publication Number Publication Date
DE102022205137A1 true DE102022205137A1 (en) 2023-11-23

Family

ID=88599734

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022205137.8A Pending DE102022205137A1 (en) 2022-05-23 2022-05-23 Method for monitoring access requests for security-critical access in a computing unit

Country Status (1)

Country Link
DE (1) DE102022205137A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331465A1 (en) 2011-03-02 2012-12-27 Tadao Tanikawa Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit
US20150277949A1 (en) 2014-03-27 2015-10-01 Thiam Wah Loh Securing shared interconnect for virtual machine
US20180322072A1 (en) 2015-11-25 2018-11-08 Robert Bosch Gmbh Method for operating a microcontroller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331465A1 (en) 2011-03-02 2012-12-27 Tadao Tanikawa Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit
US20150277949A1 (en) 2014-03-27 2015-10-01 Thiam Wah Loh Securing shared interconnect for virtual machine
US20180322072A1 (en) 2015-11-25 2018-11-08 Robert Bosch Gmbh Method for operating a microcontroller

Similar Documents

Publication Publication Date Title
DE69719479T2 (en) Data processing system security
WO2013110736A1 (en) Memory controller for providing a plurality of defined areas of a mass storage medium as independent mass memories to a master operating system core for exclusive provision to virtual machines
DE202014010905U1 (en) Operations of non-volatile memories
DE102012016539A1 (en) Configuration technique for a controller with inter-communicating applications
DE102022113922A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
EP3767505A1 (en) Method and system for providing security information for an application container for an industrial edge device
EP4123448A1 (en) Protection of a setup process of a subdirectory and a network interface for a container instance
DE102022205137A1 (en) Method for monitoring access requests for security-critical access in a computing unit
DE102010029061A1 (en) Method and apparatus for providing a platform-independent secure domain
DE102022110824A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102020116714A1 (en) Control unit for a vehicle, system, method and motor vehicle with such a control unit
DE102006054705A1 (en) Method for operating a computing unit
DE102021212594A1 (en) Method for starting a memory unit of a computing unit
EP4144003B1 (en) Method for producing a software component for an electronic computing device of a motor vehicle, computer program product, computer-readable storage medium and motor-vehicle-external update system
WO2024175305A1 (en) Method and system for checking modifications to be carried out on the system runtime environment during the installation process
WO2023066627A1 (en) Prioritizing access by a container instance to a file in a file system resource
WO2017102655A1 (en) Microcontroller system and method for controlling memory access in a microcontroller system
DE102020215920A1 (en) Method for operating an arithmetic unit system and arithmetic unit system
WO2017089101A1 (en) Method for operating a microcontroller
DE102023136756A1 (en) ELECTRONIC CONTROL UNIT
DE112021007562T5 (en) Control device and control method
DE102022134965A1 (en) Test bench with a remote control
EP4343545A1 (en) Automatically assigning changed entitlements for diagnostic purposes for already launched work container instances
DE112021007690T5 (en) Information processing device, information processing method and information processing program
DE102023201932A1 (en) CHIP AND METHOD FOR CONTROLLING MEMORY BANKS

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R126 Request for further processing allowed
R125 Request for further processing filed