DE102010004786A1 - Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation - Google Patents

Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation Download PDF

Info

Publication number
DE102010004786A1
DE102010004786A1 DE102010004786A DE102010004786A DE102010004786A1 DE 102010004786 A1 DE102010004786 A1 DE 102010004786A1 DE 102010004786 A DE102010004786 A DE 102010004786A DE 102010004786 A DE102010004786 A DE 102010004786A DE 102010004786 A1 DE102010004786 A1 DE 102010004786A1
Authority
DE
Germany
Prior art keywords
security
module
applications
authentication
entity
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
DE102010004786A
Other languages
German (de)
Inventor
Marko Dr. 80804 Wolf
Benjamin Dr. 81547 Weyl
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102010004786A priority Critical patent/DE102010004786A1/en
Publication of DE102010004786A1 publication Critical patent/DE102010004786A1/en
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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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/602Providing cryptographic facilities or services
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

The method involves providing multiple security modules (SM1-SM3) that comprise multiple secure applications. The secure applications are invoked over multiple interfaces (IF1-IF6) by external applications (A1-A3) and more configurable during implementation. The secure applications are distributed on internal entities in a car and/or external entities outside the car. The entities are identified and authenticated by an entity authentication module. The secure applications are monitored by a security monitoring module. Cryptographic services are provided by a cryptography module. Independent claims are also included for the following: (1) a computer program product comprising a set of instructions for executing a computer-aided method for providing a development environment to implement a secure application in a motor car (2) a motor car comprising multiple control devices.

Description

Die Erfindung betrifft ein Verfahren zum rechnergestützten Bereitstellen einer Entwicklungsumgebung zur Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur, insbesondere in einer Kraftfahrzeug-Architektur. Ferner betrifft die Erfindung ein Verfahren zum Bereitstellen einer Laufzeitumgebung zur Durchführung von Sicherheitsanwendungen in einer Fahrzeug-Architektur, insbesondere in einer Kraftfahrzeug-Architektur.The invention relates to a method for the computer-aided provision of a development environment for implementing security applications in a vehicle architecture, in particular in a motor vehicle architecture. Furthermore, the invention relates to a method for providing a runtime environment for performing security applications in a vehicle architecture, in particular in a motor vehicle architecture.

Heutzutage werden bei der Steuerung von Komponenten (z. B. von Steuergeräten) eines Fahrzeugs bzw. der Kommunikation von Fahrzeugkomponenten mit externen Komponenten (z. B. Backend-Server) in der Regel softwarebasierte Anwendungen verwendet, welche entsprechende Funktionalitäten im Zusammenwirken mit geeigneter Hardware umsetzen. Dabei spielt immer mehr der Schutz solcher Anwendungen gegen unbefugten Zugriff und unbefugte Änderungen durch Personen oder Schadcode (z. B. Viren, Trojaner) eine Rolle. Insbesondere müssen auch die durch entsprechende Software verarbeiteten Daten gegen unbefugte Verwendung oder Änderung gesichert werden.Today, in the control of components (eg of control units) of a vehicle or the communication of vehicle components with external components (eg back-end servers), software-based applications are usually used which have corresponding functionalities in conjunction with suitable hardware implement. The protection of such applications against unauthorized access and unauthorized changes by persons or malicious code (eg viruses, Trojans) plays an increasingly important role. In particular, the data processed by appropriate software must be secured against unauthorized use or modification.

Derzeit werden im automobilen Umfeld Sicherheitslösungen basierend auf proprietären Sicherheitsmechanismen bzw. proprietären Sicherheitsanwendungen verwendet. Diese Lösungen sind oftmals starr und unflexibel und können an neuere Anforderungen an die Fahrzeug-Sicherheitsarchitektur nicht geeignet angepasst werden. Durch die Vielzahl von einzelnen Sicherheitslösungen kommt es auch häufig zu Überschneidungen der Lösungen in Bezug auf Funktionalität und in Bezug auf ihre Umsetzungen, z. B. durch eine mehrfach redundante Implementierung von kryptographischen Primitiven. Damit steigen die Komplexität und das Risiko von Implementierungsfehlern und somit auch das potentielle Risiko von Schwachstellen, die ein Angreifer für unbefugte Eingriffe ausnutzen kann. Umgekehrt wird oftmals nur unzureichender Schutz für neue Anwendungen mit erweitertem Schutzbedarf bereitgestellt.At present, security solutions based on proprietary security mechanisms or proprietary security applications are used in the automotive environment. These solutions are often rigid and inflexible and can not be adapted to newer vehicle safety architecture requirements. Due to the large number of individual security solutions, there are often overlaps of the solutions in terms of functionality and in terms of their implementation, eg. B. by a multi-redundant implementation of cryptographic primitives. This increases the complexity and risk of implementation errors, and thus also the potential risk of vulnerabilities that an attacker can exploit for tampering. Conversely, insufficient protection is often provided for new applications with extended protection needs.

Aufgabe der Erfindung ist es deshalb, die in einer Fahrzeug-Architektur notwendigen Schutz- und Sicherheitsmechanismen einfach und flexibel bereitzustellen, um hierdurch eine zuverlässige und kosteneffiziente Umsetzung der Sicherheitsfunktionen für verschiedenste Fahrzeugkonfigurationen zu ermöglichen.The object of the invention is therefore to provide the necessary in a vehicle architecture protection and security mechanisms simple and flexible, thereby enabling a reliable and cost-effective implementation of security functions for a variety of vehicle configurations.

Diese Aufgabe wird durch das Verfahren gemäß dem unabhängigen Patentanspruch 1 gelöst. Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen definiert.This object is achieved by the method according to independent claim 1. Further developments of the invention are defined in the dependent claims.

Durch das erfindungsgemäße Verfahren wird eine Entwicklungsumgebung zur Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur bereitgestellt, wobei der Ausdruck „Fahrzeug-Architektur” weit zu verstehen ist und die Realisierung von Sicherheitsanwendungen sowohl im Fahrzeug selbst als auch in externen, d. h. mit dem Fahrzeug verknüpften, aber außerhalb des Fahrzeugs angeordneten Komponenten sowie zwischen internen Steuergeräten und externen Komponenten umfassen kann. Eine externe Komponente kann beispielsweise ein Backend-Server zur drahtlosen Kommunikation mit einem entsprechenden Kommunikationsmodul des Fahrzeugs oder auch ein externes Gerät (z. B. ein mobiles Endgerät) sein. Interne Steuergeräte können beliebige IT-Komponenten innerhalb des Fahrzeugs sein, welche rein durch Software bzw. eine Kombination aus Hardware und Software realisiert sind. Im Folgenden wird für die Bezeichnung entsprechender Steuergeräte bzw. eigenständiger Komponenten in oder außerhalb des Fahrzeugs auch der Begriff der Entität verwendet, wobei eine Entität gegebenenfalls auch einem Benutzer zugeordnet sein kann bzw. einem Benutzer entsprechen kann (z. B. im Rahmen von Authentisierungen). Unter dem Begriff der Entwicklungsumgebung ist erfindungsgemäß ein entsprechendes in Software realisiertes Tool mit einem Satz von Sicherheitsmodulen zu verstehen, mit dem ein Programmierer/Software-Entwickler bei der Entwicklung einer Software Sicherheitsfunktionen basierend auf Sicherheitsanwendungen leicht in seinem Code implementieren und integrieren kann. Die implementierten Sicherheitsanwendungen stehen dann zur Laufzeit in der Fahrzeug-Architektur verlässlich zur Verfügung.The method according to the invention provides a development environment for implementing security applications in a vehicle architecture, the term "vehicle architecture" being widely understood and the realization of security applications both in the vehicle itself and in external, ie. H. may be associated with the vehicle but located outside of the vehicle components and between internal control devices and external components. An external component may be, for example, a backend server for wireless communication with a corresponding communication module of the vehicle or else an external device (eg a mobile terminal). Internal control devices can be any IT components within the vehicle, which are realized purely by software or a combination of hardware and software. In the following, the term entity is also used for the designation of corresponding control devices or independent components in or outside the vehicle, wherein an entity may optionally also be assigned to a user or may correspond to a user (eg in the context of authentication). , According to the invention, the term "development environment" refers to a corresponding software-implemented tool with a set of security modules with which a programmer / software developer can easily implement and integrate security functions based on security applications in his code when developing a software. The implemented security applications are then reliably available in the vehicle architecture at runtime.

In dem erfindungsgemäßen Verfahren wird eine Mehrzahl von Sicherheitsmodulen bereitgestellt, wobei jedes Sicherheitsmodul eine Anzahl von Sicherheitsanwendungen umfasst, durch welche Sicherheitsfunktionen bzw. Sicherheitsmechanismen umgesetzt werden, wobei eine oder mehrere der Sicherheitsanwendungen eines jeweiligen Sicherheitsmoduls über eine oder mehrere Schnittstellen durch externe Anwendungen aufgerufen werden können und wobei eine oder mehrere der Sicherheitsanwendungen des jeweiligen Sicherheitsmoduls bei der Implementierung konfigurierbar sind. Eine oder mehrere der Sicherheitsanwendungen können z. B. ausschließlich bei der Implementierung konfigurierbar sein. Gegebenenfalls können eine oder mehrere der Sicherheitsanwendungen sowohl bei der Implementierung als auch (zumindest beschränkt) zur Laufzeit konfigurierbar und/oder aktualisierbar sein. Unter einer externen Anwendung ist dabei eine Anwendung zu verstehen, welche nicht unmittelbar Teil der Sicherheitsmodule ist, sondern welche ein Anwendungsentwickler zur Umsetzung bestimmter sicherheitskritischer Funktionalitäten für ein Fahrzeug neu entwickelt. In einer bevorzugten Variante des erfindungsgemäßen Verfahrens werden die Sicherheitsmodule und die Schnittstellen im Rahmen der Entwicklungsumgebung dabei mittels einer Software-Bibliothek bereitgestellt, auf welche die externen Anwendungen leicht zugreifen können.In the method according to the invention, a plurality of security modules is provided, each security module comprising a number of security applications implementing security functions, wherein one or more of the security applications of a respective security module can be invoked via one or more interfaces by external applications, and wherein one or more of the security applications of the respective security module are configurable in implementation. One or more of the security applications may e.g. B. be configurable only during implementation. Optionally, one or more of the security applications may be configurable and / or updatable at run time both during implementation and (at least limited) at run time. Under an external application is an application to understand, which is not directly part of the security modules, but which newly developed an application developer to implement certain safety-critical functionalities for a vehicle. In a preferred variant of the In accordance with the invention, the security modules and the interfaces within the development environment are provided by means of a software library which the external applications can easily access.

Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass nach Art eines modularen Baukastensystems verschiedene Sicherheitsmechanismen flexibel in eine Fahrzeug-Architektur integriert werden können. Das heißt, der modulare Sicherheitsbaukasten stellt eine technische Lösung bereit, um auf einfache Weise einen Sicherheitsmechanismus in einem Sicherheits-Gesamtsystem zu integrieren. Die einzelnen Sicherheitsmechanismen basieren dabei auf Sicherheitsmodulen, deren Sicherheitsanwendungen insbesondere sowohl zur Implementierung vorkonfigurierbar als auch begrenzt zur Laufzeit rekonfigurierbar sind. Diese durch die Sicherheitsanwendungen bereitgestellten Sicherheitsfunktionen und Sicherheitsmechanismen können somit flexibel an die jeweiligen Sicherheitsanforderungen der nutzenden Anwendung und die Systemumgebung angepasst werden.The inventive method is characterized by the fact that various security mechanisms can be flexibly integrated into a vehicle architecture in the manner of a modular modular system. That is, the modular safety building kit provides a technical solution to easily integrate a safety mechanism in a safety overall system. The individual security mechanisms are based on security modules whose security applications can be reconfigured in particular both for implementation in a preconfigurable manner and also limitedly at runtime. These security functions and security mechanisms provided by the security applications can thus be flexibly adapted to the respective security requirements of the using application and the system environment.

Durch die Konfigurationsmöglichkeit der Sicherheitsanwendungen der Sicherheitsmodule, welche über eine geeignete Konfigurationsschnittstelle gewährleistet wird, kann ein Sicherheitsmechanismus gemäß der Spezifikation einer externen Sicherheitsanwendung durch den Anwendungsentwickler geeignet angepasst werden. Dabei ist in der Regel eine statische Vorkonfiguration für die Sicherheitsmodule bzw. für deren Sicherheitsanwendungen gegeben, die in geeigneter Weise verändert werden kann. Die statische Vorkonfiguration betrifft insbesondere die Konfiguration von Kommunikationsendpunkten einer Sicherheitsanwendung bzw. eines Sicherheitsmoduls zu anderen Sicherheitsanwendungen bzw. Sicherheitsmodulen, welche von der betrachteten Sicherheitsanwendung bzw. dem betrachteten Sicherheitsmodul gebraucht werden oder welche die betrachtete Sicherheitsanwendung bzw. das betrachtete Sicherheitsmodul braucht. Die Konfiguration kann ferner statische Regeln betreffen, wie z. B. Filterregeln, Autorisierungsregeln und dergleichen, oder auch statische Berechtigungsnachweise (Englisch: credentials), wie geheime Schlüssel, öffentliche Schlüssel, Zertifikate und dergleichen.By configuring the safety module security applications, which is ensured via a suitable configuration interface, a security mechanism can be suitably adapted according to the specification of an external security application by the application developer. In this case, a static pre-configuration for the security modules or for their security applications is usually given, which can be changed in a suitable manner. The static preconfiguration relates in particular to the configuration of communication endpoints of a security application or a security module to other security applications or security modules, which are used by the security application under consideration or the security module under consideration or which needs the considered security application or security module. The configuration may further involve static rules, such as: As filter rules, authorization rules and the like, or even static credentials (English: credentials), such as secret keys, public keys, certificates and the like.

In einer bevorzugten Ausführungsform der Erfindung ermöglichen die implementierten Sicherheitsmodule zumindest teilweise auch eine dynamische Rekonfiguration während der Laufzeit. Auf diese Weise können dynamische Regeln, wie z. B. die Aktualisierung von Angriffserkennungs-Regeln, konfiguriert werden. Ebenso können dynamische Berechtigungsnachweise, wie z. B. aktualisierte Pseudonym-Identitäten und Schlüssel, neu konfiguriert werden.In a preferred embodiment of the invention, the implemented security modules at least partially also enable dynamic reconfiguration during runtime. In this way, dynamic rules, such. For example, the update of intrusion detection rules. Likewise, dynamic credentials such. Updated pseudonym identities and keys.

Das erfindungsgemäße Verfahren stellt ferner einen Ausgangspunkt dar, um leicht neue Sicherheitsanwendungen in einer Fahrzeug-Architektur zu realisieren. Dies kann auf ein fache Weise durch eine zusätzliche, neue oder erweiterte Nutzung der Sicherheitsmodule basierend auf entsprechenden Sicherheitsanwendungen oder durch Hinzufügung von neuen Sicherheitsmodulen erreicht werden. Somit können neue Sicherheits-Erfordernisse integriert werden, welche von neuen Sicherheitsanwendungen gefordert werden.The method of the invention also provides a starting point to easily implement new security applications in a vehicle architecture. This can be achieved in a simple way by additional, new or extended use of the security modules based on corresponding security applications or by adding new security modules. Thus, new security requirements can be integrated, which are required by new security applications.

Ein weiterer Vorteil der Erfindung besteht darin, dass ein Anwendungsentwickler basierend auf der entsprechenden Schnittstelle eine Sicherheitsanwendung in einfacher Weise in der von ihm entwickelten externen Anwendung integrieren kann, ohne Detailwissen über das entsprechende Sicherheitsmodul und dessen zugrunde liegenden Sicherheitsmechanismen und Sicherheitsfunktionen zu haben.Another advantage of the invention is that an application developer based on the corresponding interface can easily integrate a security application into the external application he has developed, without having detailed knowledge of the corresponding security module and its underlying security mechanisms and security functions.

Durch das erfindungsgemäße Verfahren wird der Entwicklungsaufwand bei der Entwicklung neuer Sicherheitslösungen aufgrund der Verwendung von Sicherheitsmodulen sehr gering gehalten, da die Sicherheitsanwendungen der Sicherheitsmodule einen flexibel konfigurierbaren und wieder verwendbaren Sicherheitsbaukasten bilden. Die einzelnen Sicherheitsmodule bzw. deren Sicherheitsanwendungen können dabei gemäß den Sicherheitsanforderungen der entsprechenden Anwendungsfälle geeignet konfiguriert und zusammengesetzt werden. Da verschiedene Anwendungsfälle oft ähnliche Sicherheitsanforderungen aufweisen, werden oftmals ähnliche Sicherheitsmechanismen benötigt. Durch entsprechende Konfiguration der Sicherheitsanwendungen bzw. Sicherheitsmodule können solche ähnlichen Sicherheitsmechanismen auf einfache Weise realisiert werden. Auf diese Weise wird eine hohe Effizienz in Bezug auf die Kosten und die Systemressourcen erreicht. Ferner wird der Testaufwand für neu entwickelte Software reduziert und die redundante, parallele Entwicklung von Sicherheitslösungen vermieden, wie sie bei proprietären Lösungen oftmals auftritt. Ebenso können durch den modularen Aufbau des Sicherheitsbaukastens Sicherheitsmechanismen auf einfache Weise weggelassen werden, welche für die entsprechenden Anwendungsfälle nicht benötigt werden. Auf diese Weise können die Sicherheitslösungen effizient baureihen- und anwendungs-spezifisch umgesetzt werden.The inventive method, the development effort in the development of new security solutions due to the use of security modules is kept very low, since the security applications of the security modules form a flexibly configurable and reusable security kit. The individual security modules or their security applications can be suitably configured and assembled according to the security requirements of the corresponding applications. Since different use cases often have similar security requirements, similar security mechanisms are often needed. By appropriate configuration of the security applications or security modules such similar security mechanisms can be realized in a simple manner. In this way, high efficiency in terms of cost and system resources is achieved. It also reduces the cost of testing newly developed software and avoids the redundant, parallel development of security solutions that often occur with proprietary solutions. Likewise, security mechanisms can be omitted in a simple manner by the modular design of the safety kit, which are not required for the corresponding applications. In this way, the security solutions can be efficiently implemented in line with the model and application.

In einer bevorzugten Variante des erfindungsgemäßen Verfahrens umfasst zumindest ein Teil der Sicherheitsmodule eine oder mehrere interne Schnittstellen, welche nicht von externen Anwendungen verwendet werden, sondern über welche sich die Sicherheitsmodule ausschließlich untereinander aufrufen können. Hierdurch kann ein verteilter Aufruf durch die Sicherheitsmodule untereinander erreicht werden.In a preferred variant of the method according to the invention, at least some of the security modules comprise one or more internal interfaces which are not used by external applications but via which the security modules can call each other exclusively. This can be a distributed call be achieved by the security modules with each other.

In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens sind die Sicherheitsanwendungen der Mehrzahl von Sicherheitsmodulen auf mehrere verschiedene interne Entitäten im Fahrzeug und/oder externe Entitäten außerhalb des Fahrzeugs verteilt. Auf diese Weise wird ein entfernter Zugriff auf Sicherheitsanwendungen verschiedener interner bzw. externer Entitäten über entsprechende Schnittstellen zu externen Anwendungen bzw. interne Schnittstellen zwischen Sicherheitsanwendungen erreicht.In a further embodiment of the method according to the invention, the security applications of the plurality of security modules are distributed to a plurality of different internal entities in the vehicle and / or external entities outside the vehicle. In this way, remote access to security applications of various internal or external entities via corresponding interfaces to external applications or internal interfaces between security applications is achieved.

In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens ist zumindest ein Teil der Sicherheitsanwendungen der Mehrzahl von Sicherheitsmodulen durch sogenannte Plugins realisiert. Plugins sind an sich aus dem Stand der Technik bekannt und ermöglichen eine einfache Anpassung und einen einfachen Austausch der jeweiligen Implementierungen der Sicherheitsanwendungen durch die Anpassung bzw. den Austausch des entsprechenden Plugins.In a further embodiment of the method according to the invention, at least some of the security applications of the plurality of security modules are implemented by so-called plug-ins. Plugins are well known in the art and allow for easy customization and replacement of the respective implementations of the security applications by the adaptation or replacement of the corresponding plug-in.

In einer weiteren, bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsanwendungen eines oder mehrerer Sicherheitsmodule und insbesondere jedes Sicherheitsmoduls unter anderem eine oder mehrere und insbesondere alle der folgenden Operationen bereit:

  • – die Erteilung von Erlaubnissen zur Durchführung von durch eine Entität angefragten Operationen, insbesondere von Operationen auf einer bestimmten Entität;
  • – den Widerruf von erteilten Erlaubnissen zur Durchführung von Operationen, insbesondere von Operationen auf einer bestimmten Entität;
  • – das Nachschlagen, ob eine Entität momentan die Erlaubnis zur Durchführung einer Operation hat, insbesondere einer Operation auf einer bestimmten Entität;
  • – das Setzen von Sicherheitsregeln zur lokalen Durchsetzung innerhalb des Sicherheitsmoduls.
In a further, preferred embodiment of the method according to the invention, the security applications of one or more security modules and in particular of each security module provide inter alia one or more and in particular all of the following operations:
  • - the granting of permits to carry out operations requested by an entity, in particular operations on a particular entity;
  • - the revocation of granted permissions to perform operations, in particular operations on a particular entity;
  • - looking up whether an entity currently has permission to perform an operation, in particular an operation on a particular entity;
  • - setting security rules for local enforcement within the security module.

Hierdurch wird neben den eigentlichen Funktionen des entsprechenden Sicherheitsmoduls auch eine Durchsetzung von Sicherheitsregeln für das jeweilige Sicherheitsmodul erreicht.As a result, enforcement of security rules for the respective security module is achieved in addition to the actual functions of the corresponding security module.

In einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfasst der modulare Sicherheitsbaukasten, d. h. die Mehrzahl von Sicherheitsmodulen, ein oder mehrere der folgenden Sicherheitsmodule:

  • – ein Kommunikations-Steuer-Modul zur Kommunikation zwischen internen Entitäten im Fahrzeug und/oder externen Entitäten außerhalb des Fahrzeugs;
  • – ein Entitäts-Authentifizierungs-Modul zur Identifikation und Authentifizierung von Entitäten;
  • – ein Sicherheitsregel-Entscheidungs-Modul zur Abfrage und Verwaltung von vorgegebenen Sicherheitsregeln;
  • – ein Sicherheits-Überwachungs-Modul zur Überwachung der Ausführung von Sicherheitsmodulen;
  • – ein sicheres Speicher-Modul zum kryptographisch gesicherten Speichern von Daten;
  • – ein Plattform-Integritäts-Modul zur Erkennung von Manipulationen an den Sicherheitsmodulen und Sicherheitsanwendungen;
  • – ein Kryptographie-Modul zur Bereitstellung von kryptographischen Diensten.
In a particularly preferred embodiment of the method according to the invention, the modular safety building set, ie the plurality of safety modules, comprises one or more of the following safety modules:
  • A communication control module for communication between internal entities in the vehicle and / or external entities outside the vehicle;
  • An entity authentication module for identifying and authenticating entities;
  • A security rule decision module for querying and managing given security rules;
  • - a security monitoring module for monitoring the execution of security modules;
  • A secure memory module for cryptographically secured storage of data;
  • - a platform integrity module to detect security module and security application tampering;
  • A cryptography module for providing cryptographic services.

Die soeben genannten Sicherheitsmodule und deren Funktionalitäten sowie das generische Konzept der Erfindung werden im Detail auch in den Dokumenten [1] und [2] erläutert. Der gesamte Offenbarungsgehalt dieser Druckschriften wird durch Verweis zum Inhalt der vorliegenden Anmeldung gemacht. Insbesondere sind die im Folgenden dargelegten Operationen, welche die oben genannten Module beinhalten können, in den genannten Dokumenten nochmals eingehend erläutert.The just mentioned security modules and their functionalities as well as the generic concept of the invention are explained in detail also in documents [1] and [2]. The entire disclosure content of these documents is incorporated by reference into the content of the present application. In particular, the operations set out below, which may include the above-mentioned modules, are again explained in detail in the cited documents.

In einer bevorzugten Variante der Erfindung stellen die Sicherheitsanwendungen des Kommunikations-Steuer-Moduls eine der folgenden Operationen bereit:

  • – die Bereitstellung von verschiedenen gesicherten Kommunikationskanälen;
  • – den Aufbau eines kryptographisch gesicherten Kommunikationskanals zwischen Entitäten:
  • – das Senden und Empfangen von Daten über einen kryptographisch gesicherten Kommunikationskanal;
  • – das Beenden eines kryptographisch gesicherten Kommunikationskanals;
  • – das Setzen von Kommunikationsfiltern auf einem kryptographisch gesicherten Kommunikationskanal;
  • – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Kommunikations-Steuer-Moduls.
In a preferred variant of the invention, the security applications of the communication control module provide one of the following operations:
  • - the provision of various secure communication channels;
  • The structure of a cryptographically secured communication channel between entities:
  • The sending and receiving of data via a cryptographically secured communication channel;
  • The termination of a cryptographically secured communication channel;
  • The setting of communication filters on a cryptographically secured communication channel;
  • The logging of events relating to security applications of the communication control module.

Dabei verfügen vorzugsweise alle der genannten Operationen des Kommunikations-Steuer-Moduls bis auf die Operation des Protokollierens von Ereignissen über entsprechende Schnittstellen hin zu externen Anwendungen.It is preferable that all of the above-mentioned operations of the communication control module except for the operation of logging events via corresponding interfaces to external applications.

In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsfunktionen des Entitäts-Authentifizierungs-Moduls eine oder mehrere der folgenden Operationen bereit:

  • – die Verifikation der Authentizität und die Evaluierung der Vertrauenswürdigkeit einer Entität;
  • – das Einloggen (d. h. die Authentifizierung) von Entitäten mit Authentisierungsdaten;
  • – das Ausloggen von Entitäten;
  • – das Erzeugen von Authentisierungsdaten, insbesondere von Authentisierungstickets;
  • – die Verifikation von Authentisierungsdaten, insbesondere von Authentisierungstickets;
  • – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Entitäts-Authentifizierungs-Moduls.
In a further preferred embodiment of the inventive method, the security functions of the entity authentication module provide one or more of the following operations:
  • - the verification of authenticity and the evaluation of the trustworthiness of an entity;
  • The login (ie the authentication) of entities with authentication data;
  • - the logout of entities;
  • The generation of authentication data, in particular of authentication tickets;
  • The verification of authentication data, in particular of authentication tickets;
  • The logging of events concerning entity authentication module security applications.

Dabei verfügen vorzugsweise alle der oben genannten Operationen des Entitäts-Authentifizierungs-Moduls bis auf das Protokollieren von Ereignissen über Schnittstellen hin zu externen Anwendungen.Preferably, all of the entity authentication module operations mentioned above, except for logging events, have interfaces to external applications.

In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsanwendungen des Sicherheitsregel-Entscheidungs-Moduls eine oder mehrere der folgenden Operationen bereit:

  • – eine Abfrage und Überprüfung, ob eine Entität berechtigt ist, bestimmte Operationen basierend auf Sicherheitsregeln und/oder basierend auf Authentisierungsdaten durchzuführen;
  • – das Setzen von Sicherheitsregeln;
  • – die Überprüfung von durch das Sicherheitsregel-Entscheidungs-Moduls getroffenen Entscheidungen;
  • – das Protokollieren von Ereignissen betreffend der Sicherheitsanwendungen des Sicherheitsregel-Entscheidungs-Moduls;
  • – die Delegation von Entscheidungen an andere Sicherheitsregel-Entscheidungs-Module;
  • – die Transformation von einer oder mehreren Sicherheitsregel-Sprachen in die Sprache des Sicherheitsregel-Entscheidungs-Moduls.
  • – die Integration von Entscheidungs-Plugins zur Entscheidungsfindung basierend auf einer oder mehreren Sicherheitsregel-Sprachen, insbesondere basierend auf Sicherheitsregel-Sprachen, die nicht in die Sprache des Sicherheitsregel-Entscheidungs-Moduls transformiert werden (können).
In a further preferred embodiment of the method according to the invention, the security applications of the security rule arbitration module provide one or more of the following operations:
  • A query and check whether an entity is authorized to perform certain operations based on security rules and / or based on authentication data;
  • - the setting of security rules;
  • - the review of decisions made by the security rule-decision module;
  • The logging of events relating to the security applications of the security rule decision module;
  • - the delegation of decisions to other safety rule decision modules;
  • - the transformation of one or more security rule languages into the language of the security rule decision module.
  • The integration of decision plug-ins for decision-making based on one or more security rule languages, in particular based on security rule languages that can not be transformed into the language of the security rule arbitration module.

Dabei verfügen vorzugsweise alle der genannten Operationen des Sicherheitsregel-Entscheidungs-Moduls bis auf das Protokollieren von Ereignissen über eine Schnittstelle hin zu externen Anwendungen.It is preferable that all of the above operations of the security rule arbitration module have an interface to external applications except for logging events.

In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsanwendungen des Sicherheits-Überwachungs-Moduls eine oder mehrere der folgenden Operationen bereit:

  • – die Aktivierung und Deaktivierung der Überwachung von Ressourcen oder Diensten;
  • – die passive Überwachung von Ereignissen;
  • – das Setzen von Erkennungsmustern zur Erkennung von Angriffen Unbefugter;
  • – das Setzen von Antwortregeln in Antwort auf die Erkennung eines Angriffs eines Unbefugten;
  • – das Ausführen von Gegenmaßnamen nach der Erkennung eines Angriffs eines Unbefugten;
  • – das Auslösen eines Alarms nach der Erkennung eines Angriffs eines Unbefugten;
  • – die Verarbeitung der Protokollierungsereignisse von anderen Sicherheitsmodulen.
In a further preferred embodiment of the method according to the invention, the security applications of the security monitoring module provide one or more of the following operations:
  • - the activation and deactivation of the monitoring of resources or services;
  • - the passive monitoring of events;
  • - the setting of recognition patterns to detect attacks by unauthorized persons;
  • - the setting of response rules in response to the detection of an attack by an unauthorized person;
  • - the execution of countermeasures after the detection of an attack by an unauthorized person;
  • The triggering of an alarm after the detection of an attack by an unauthorized person;
  • - the processing of logging events from other security modules.

Dabei verfügen vorzugsweise alle genannten Operationen des Sicherheits-Überwachungs-Moduls über eine Schnittstelle hin zu externen Anwendungen.In this case, preferably all said operations of the security monitoring module have an interface to external applications.

In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsanwendungen des sicheren Speicher-Moduls eine oder mehrere der folgenden Operationen bereit:

  • – die Bereitstellung verschiedener gesicherter Speichersysteme (z. B. block-basierter und/oder datei-basierter Speichersysteme), insbesondere über Plugins;
  • – das Öffnen und/oder Einbinden (Englisch: Mounten) von Datenobjekten gemäß vorgegebener Sicherheitsparameter;
  • – das Lesen von zuvor geöffneten Datenobjekten gemäß vorgegebener Sicherheitsparameter;
  • – das Schreiben in zuvor geöffnete Datenobjekte gemäß vorgegebener Sicherheitsparameter;
  • – das Löschen von Datenobjekten;
  • – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des sicheren Speicher-Moduls.
In another embodiment of the inventive method, the secure storage module security applications provide one or more of the following operations:
  • The provision of various secure storage systems (eg block-based and / or file-based storage systems), in particular via plugins;
  • - Opening and / or incorporating (English: Mounten) of data objects according to predetermined security parameters;
  • The reading of previously opened data objects according to predetermined safety parameters;
  • The writing into previously opened data objects according to predetermined safety parameters;
  • - the deletion of data objects;
  • - logging events relating to security applications of the secure storage module.

Dabei verfügen vorzugsweise alle der genannten Operationen des sicheren Speicher-Moduls bis auf die Operation des Protokollierens von Ereignissen über eine Schnittstelle hin zu externen Anwendungen.Preferably, all of the above-mentioned operations of the secure memory module except for the operation of logging events via an interface to external applications.

In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsfunktionen des Plattform-Integritäts-Moduls eine oder mehrere der folgenden Operationen bereit:

  • – die Erweiterung von initialen Plattform-Integritäts-Messwerten um einen oder mehrere Messwerte, wobei die Plattform-Integritäts-Messwerte angeben, inwieweit eine Manipulation der entsprechenden Software- bzw. Hardware-Plattform durch Unbefugte vorliegt;
  • – die sichere (zertifizierte) Abfrage von Plattform-Integritäts-Messwerten;
  • – das Verschlüsseln von Daten und deren Abbildung auf einem Plattform-Integritäts-Messzustand;
  • – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Plattform-Integritäts-Moduls;
  • – das sichere Starten einer Plattform;
  • – die Attestierung der Vertrauenswürdigkeit einer Plattform gegenüber anderen Entitäten;
  • – das kryptographische Binden von Daten an eine bestimme Konfiguration einer Plattform und/oder an eine eindeutige Plattformkennung.
In another embodiment of the method according to the invention, the security functions of the platform integrity module provide one or more of the following operations:
  • The extension of initial platform integrity metrics by one or more metrics, the platform health metrics specifying the extent to which there is unauthorized manipulation of the corresponding software or hardware platform;
  • - the secure (certified) query of platform integrity metrics;
  • - encrypting data and mapping it on a platform integrity measurement state;
  • - logging events relating to platform integrity module security applications;
  • - safely starting a platform;
  • - attesting the trustworthiness of a platform to other entities;
  • The cryptographic binding of data to a specific configuration of a platform and / or to a unique platform identifier.

Dabei verfügen vorzugsweise alle der genannten Operationen des Plattform-Integritäts-Moduls bis auf das Protokollieren von Ereignissen über eine Schnittstelle hin zu externen Anwendungen. Die Operationen des Plattform-Integritäts-Moduls sind vorzugsweise zumindest teilweise durch Hardware (z. B. kryptographisch geschützte Speicher) umgesetzt oder unterstützt werden.Preferably, all of the above-mentioned operations of the platform integrity module have an interface to external applications except for the logging of events. The operations of the platform integrity module are preferably at least partially implemented or supported by hardware (eg, cryptographically protected memory).

In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens stellen die Sicherheitsanwendungen des Kryptographie-Moduls eine oder mehrere der folgenden Operationen bereit:

  • – die Erzeugung von Hashwerten;
  • – die Erzeugung von Nachrichten-Authentisierungs-Codes;
  • – die Erzeugung von Zufallszahlen;
  • – die Verifikation von Hashwerten;
  • – die Verifikation von Nachrichten-Authentisierungs-Codes;
  • – die Verifikation von Signaturen;
  • – die Verschlüsselung von Daten;
  • – die Entschlüsselung von Daten.
In a further preferred embodiment of the method according to the invention, the security applications of the cryptography module provide one or more of the following operations:
  • The generation of hash values;
  • The generation of message authentication codes;
  • - the generation of random numbers;
  • - the verification of hash values;
  • The verification of message authentication codes;
  • - the verification of signatures;
  • - the encryption of data;
  • - the decryption of data.

Dabei verfügen vorzugsweise alle der genannten Operationen des Kryptographie-Moduls über eine Schnittstelle hin zu externen Anwendungen. Die Operationen des kryptographischen Dienste-Moduls können zumindest teilweise durch Hardware (z. B. kryptographisch geschützte Speicher) umgesetzt oder unterstützt werden.In this case, preferably all of the said operations of the cryptography module have an interface to external applications. The operations of the cryptographic services module may be at least partially implemented or supported by hardware (eg, cryptographically protected memory).

Neben dem oben beschriebenen Verfahren betrifft die Erfindung ferner ein Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Programm auf einem Rechner läuft.In addition to the method described above, the invention further relates to a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention when the program is run on a computer.

Darüber hinaus betrifft die Erfindung ein Verfahren zum Bereitstellen einer Laufzeitumgebung zur Durchführung von Sicherheitsanwendungen in einer Fahrzeug-Architektur, wobei die Sicherheitsanwendungen mit Hilfe einer gemäß dem oben beschriebenen erfindungsgemäßen Verfahren bereitgestellten Entwicklungsumgebung implementiert sind. Dabei rufen externe Anwendungen zumindest teilweise eine oder mehrere Sicherheitsanwendungen von einem oder mehreren Sicherheitsmodulen über entsprechende Schnittstellen auf. Die Erfindung betrifft somit neben der Implementierung der Sicherheitsanwendungen auch den Ablauf der implementierten Sicherheitsanwendungen in einer entsprechenden Fahrzeug-Architektur.Moreover, the invention relates to a method for providing a runtime environment for performing security applications in a vehicle architecture, wherein the security applications are implemented by means of a development environment provided according to the inventive method described above. At least some external applications call one or more security applications from one or more security modules via corresponding interfaces. Thus, in addition to the implementation of the security applications, the invention also relates to the execution of the implemented security applications in a corresponding vehicle architecture.

Die Erfindung umfasst darüber hinaus ein Fahrzeug, insbesondere ein Kraftfahrzeug, welches über eine oder mehrere Steuergeräte verfügt, auf denen Sicherheitsanwendungen basierend auf dem oben genannten Verfahren zum Bereitstellen einer Laufzeitumgebung im Betrieb des oder der Steuergeräte ablaufen.The invention furthermore encompasses a vehicle, in particular a motor vehicle, which has one or more control units on which security applications run based on the above-mentioned method for providing a runtime environment during operation of the control unit (s).

Die Vorteile des erfindungsgemäßen Verfahrens gemäß den oben beschriebenen Ausführungsformen können wie folgt zusammengefasst werden:
Den Entwicklern von externen Anwendungen, insbesondere von externen Sicherheitsanwendungen, wird eine koordinierte und an dem jeweiligen Anwendungsfall orientierte Auswahl von Sicherheitsfunktionen bzw. Sicherheitsmechanismen bereitgestellt. Es wird eine einfache Erstellung, Verwendung und Wiederverwendung sowie ein einfacher Test von Sicherheitsfunktionalitäten erreicht, da komplexe interne Sicherheits-Schemata hinter der entsprechenden Schnittstelle versteckt sind. Das Verfahren ist sehr effizient in Bezug auf Kosten und Systemressourcen, da Redundanz bei der Entwicklung von Sicherheitsanwendungen und isolierte Sicherheitslösungen vermieden werden. Systemingenieure sowie Fahrzeug- bzw. Gerätehersteller können erreichen, dass deren Anwendungsentwickler sich nicht mit Sicherheitsaspekten beschäftigen müssen, welche spezielle Sicherheitsexpertise erfordern. Vielmehr können von den Entwicklern entsprechend konfigurierbare Sicherheitsanwendungen von bereitgestellten Sicherheitsmodulen verwendet werden. Durch die Verwendung abstrakter Schnittstellen können verschiedene Implementierungen von Sicherheitsanwendungen sowie Aktualisierungen entsprechender Implementierungen oder Substitutionen von Implementierungen in der entsprechenden Fahrzeug-Architektur umgesetzt werden. Auf diese Weise können mit dem Verfahren Sicherheitsmechanismen für verschiedene Architekturen von unterschiedlichen Fahrzeugen, insbesondere auch baureihen- und anwendungsspezifisch, implementiert werden. Die abstrakten Schnittstellen ermöglichen ein automatisiertes, systematisches und verlässliches Testen der implementierten Sicherheitsmechanismen. Es wird darüber hinaus eine einfache Konfiguration der entsprechenden Sicherheitsanwendungen über eine geeignete Konfigurationsschnittstelle sichergestellt. Ferner können neue Sicherheitsfunktionen durch Hinzufügung entsprechender Sicherheitsmodule und deren Sicherheitsanwendungen erreicht werden.
The advantages of the method according to the invention according to the embodiments described above can be summarized as follows:
Developers of external applications, especially external security applications, are provided with a coordinated selection of security functions or security mechanisms oriented to the respective application. Easy creation, use and reuse, as well as a simple test of security functionalities are achieved because complex internal security schemes are hidden behind the corresponding interface. The process is very efficient in terms of cost and system resources, avoiding redundancy in the development of security applications and isolated security solutions. System engineers and vehicle or equipment manufacturers can ensure that their application developers do not have to deal with security issues that require specialized security expertise. Rather, developers can use appropriately configurable security applications from deployed security modules. By using abstract interfaces, various implementations of security applications as well as updates of corresponding implementations or substitutions of implementations in the corresponding vehicle architecture can be implemented. In this way, the method can be used to implement security mechanisms for different architectures of different vehicles, in particular also in a series-specific and application-specific manner. The abstract interfaces enable automated, systematic and reliable testing of the implemented security mechanisms. It also ensures easy configuration of the appropriate security applications through a suitable configuration interface. Furthermore, new security features can be achieved by adding appropriate security modules and their security applications.

Ausführungsbeispiele der Erfindung werden nachfolgend anhand der beigefügten Figuren detailliert beschrieben.Embodiments of the invention are described below in detail with reference to the accompanying drawings.

Es zeigen: Show it:

1 eine schematische Darstellung der Verwendung des Baukastens aus Sicherheitsmodulen gemäß einer Ausführungsform der Erfindung; 1 a schematic representation of the use of the modular safety modules according to an embodiment of the invention;

2 und 3 UML-Diagramme, welche die Ausführung von Sicherheitsmechanismen am Beispiel von zwei Authentifizierungsoperationen verdeutlichen. 2 and 3 UML diagrams illustrating the execution of security mechanisms using the example of two authentication operations.

1 zeigt in schematischer Darstellung die erfindungsgemäße Verwendung von Sicherheitsmodulen bei der Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur. In 1 sind die von einem Software-Entwickler entwickelten Softwareanwendungen beispielhaft mit A1, A2 und A3 gezeigt. Um in diese Anwendungen Sicherheitsfunktionen zu integrieren, kann der Entwickler auf einen Baukasten bestehend aus einer Vielzahl von Sicherheitsmodulen zugreifen, welche in 1 beispielhaft mit dem Bezugszeichen SM1, SM2 und SM3 bezeichnet sind. Diese Module mit darin enthaltenen Implementierungen in der Form von Sicherheitsanwendungen werden dem Software-Entwickler in der Form einer Bibliothek bereitgestellt. Im Folgenden wird an einigen Stellen als Synonym für den Begriff „Anwendung” bzw. „Sicherheitsanwendung” auch der Ausdruck „Applikation” bzw. „Sicherheitsapplikation” verwendet. Um auf die Sicherheitsanwendungen zuzugreifen, sind entsprechende Schnittstellen definiert, welche in 1 beispielhaft mit IF1 bis IF6 bezeichnet sind. Über diese Schnittstellen können die Sicherheitsmodule dabei miteinander zusammenarbeiten bzw. aufeinander zugreifen und ferner können die Softwareanwendungen A1 bis A3 auf jeweilige Untermengen dieser Schnittstellen zugreifen. Diese Untermengen stellen Anwender-Programmier-Schnittstellen (auch als API bekannt; API = Applikation Programming Interface) dar und sind in 1 mit AI1 bis AI3 bezeichnet. Sie fassen eine oder mehrere der Schnittstellen IF1 bis IF6 zusammen. Die einzelnen Sicherheitsmodule können auf verschiedene Entitäten im oder außerhalb des Fahrzeugs verteilt sein, so dass auf die Schnittstellen IF1 bis IF6 sowie AI1 bis AI3 auch entfernt durch unterschiedliche Entitäten zugegriffen werden kann. Beispielsweise können Sicherheitsfunktionen auf einem Steuergerät im Fahrzeug über entsprechende Sicherheitsmodule und deren Sicherheitsanwendungen realisiert werden, wobei diese Sicherheitsfunktionen auch von anderen Steuergeräten durch entfernten Zugriff genutzt werden können. Damit können z. B. rechenaufwändige Operationen auf einer leistungsstarken Entität durchgeführt werden und Entitäten mit schwächerer Leistung entlastet werden. Die Schnittstellen AI1 bis AI3 werden durch den Aufruf von Funktionen basierend auf Sicherheitsanwendungen der verfügbaren Sicherheitsmodule implementiert. Auf diese Weise kann eine Sicherheitsfunktion in den Softwareanwendungen A1 bis A3 direkt auf eine Funktion eines Sicherheitsmoduls abgebildet werden oder sie kann durch sukzessives Aufrufen von mehreren Funktionen von verschiedenen Sicherheitsmodulen umgesetzt werden. Somit werden interne Abhängigkeiten der Module und deren Interaktionen vor dem Entwickler der Softwareanwendung A1 bis A3 gekapselt. 1 shows a schematic representation of the inventive use of security modules in the implementation of security applications in a vehicle architecture. In 1 For example, the software applications developed by a software developer are exemplified by A1, A2 and A3. In order to integrate security functions into these applications, the developer can access a modular system consisting of a large number of security modules, which are integrated in 1 are denoted by the reference symbols SM1, SM2 and SM3 by way of example. These modules with implementations contained therein in the form of security applications are provided to the software developer in the form of a library. In the following, the term "application" or "security application" is also used in some places as a synonym for the term "application" or "security application". In order to access the security applications, corresponding interfaces are defined, which in 1 exemplified by IF1 to IF6. The security modules can cooperate with each other or access one another via these interfaces, and furthermore the software applications A1 to A3 can access respective subsets of these interfaces. These subsets represent user programming interfaces (also known as APIs API = Application Programming Interface) and are in 1 denoted by AI1 to AI3. They combine one or more of the interfaces IF1 to IF6. The individual security modules can be distributed to different entities in or outside the vehicle, so that the interfaces IF1 to IF6 and AI1 to AI3 can also be accessed remotely by different entities. For example, safety functions can be implemented on a control device in the vehicle via corresponding safety modules and their safety applications, wherein these safety functions can also be used by other control devices through remote access. This can z. For example, you can perform computationally-intensive operations on a high-performance entity and relieve entities of lower performance. The interfaces AI1 to AI3 are implemented by calling functions based on security applications of the available security modules. In this way, a security function in the software applications A1 to A3 can be mapped directly to a function of a security module or it can be implemented by successively calling several functions from different security modules. Thus, internal dependencies of the modules and their interactions are encapsulated before the developer of the software application A1 to A3.

Die Schnittstellen IF1 bis IF6 der Sicherheitsmodule werden durch individuelle Implementierungen realisiert, welche wiederum Sicherheitsfunktionalitäten von anderen Sicherheitsmodulen durch den Aufruf von deren Schnittstellen verwenden können. Dabei kann selbst eine individuelle Implementierung gleichwertig ausgetauscht werden, ohne dass Adaptionen in anderen Sicherheitsmodulen bzw. anderen Softwareanwendungen vorgenommen werden müssen, denn alle implementierten Funktionalitäten sind hinter der entsprechenden Schnittstelle des Sicherheitsmoduls gekapselt.The interfaces IF1 to IF6 of the security modules are implemented by individual implementations, which in turn can use security functionalities of other security modules by calling their interfaces. In this case even an individual implementation can be exchanged equivalently, without adaptations having to be made in other security modules or other software applications, since all implemented functionalities are encapsulated behind the corresponding interface of the security module.

Gemäß 1 wird somit eine zweistufige standardisierte Sicherheits-Abstraktions-Schicht geschaffen, welche die tatsächlichen Implementierungen gegenüber dem Software-Entwickler verborgen hält. Auf diese Weise kann der Software-Entwicklungsaufwand durch die Wiederverwendung entsprechender Sicherheitsmodule verringert werden, und es wird ein modularer, flexibel konfigurierbarer und wieder verwendbarer Sicherheitsbaukasten geschaffen. Mit Hilfe dieses modular aufgebauten Baukastens können Sicherheitsanwendungen in einem Fahrzeug in entsprechende Steuerkomponenten bzw. in externe Komponenten, wie z. B. Backend-Server, in geeigneter Weise individuell zusammengesetzt und implementiert werden. Im Gegensatz zu proprietären oder isolierten Sicherheitslösungen wird somit eine hohe Effizienz in Bezug auf Kosten und Systemressourcen basierend auf diesem modularen Baukasten erreicht. Ferner können basierend auf dem Sicherheitsbaukasten solche Sicherheitsmodule und Sicherheitsmechanismen weggelassen werden, welche tatsächlich nicht gebraucht werden. Mit dem in gezeigten System werden ferner nicht nur Schnittstellen spezifiziert, sondern auch Abläufe (Englisch: State Machines), welche die Integration von individuellen Implementierungen in das Gesamtsystem steuern und auch die Kommunikation zwischen Sicherheitsmodulen regeln.According to 1 Thus, a two-level standardized security abstraction layer is created which keeps the actual implementations from the software developer. In this way, the software development effort can be reduced by the reuse of appropriate security modules, and a modular, flexibly configurable and reusable security kit is created. With the help of this modular design kit security applications in a vehicle in corresponding control components or in external components such. Backend servers, can be individually assembled and implemented as appropriate. In contrast to proprietary or isolated security solutions, high efficiency in terms of cost and system resources is achieved based on this modular kit. Furthermore, based on the security kit, such security modules and security mechanisms may be omitted which are actually not needed. With the in Furthermore, not only interfaces are specified, but also processes (English: state machines), which control the integration of individual implementations into the overall system and also regulate the communication between security modules.

Um eine sehr flexible und adaptierbare Implementierung von Sicherheitsfunktionalitäten in einer Fahrzeug-Architektur zu schaffen, sind die Sicherheitsmodule bzw. deren Sicherheitsanwendungen über Konfigurationsschnittstellen konfigurierbar. Die Konfiguration kann dabei statisch und sogar dynamisch durch das Akzeptieren und das Durchsetzen individueller Sicherheitsregeln erreicht werden, welche beispielsweise wie folgt ausgestaltet sein können:

  • – Autorisierungsregeln, welches spezifizieren, in welchem Maße eine bestimmte Entität berechtigt ist, unter bestimmten Bedingungen eine bestimmte Ressource zu nutzen bzw. auf eine bestimmte Ressource zuzugreifen, z. B. für folgende Zwecke: – Zugriff auf Dateien, ein Netzwerk oder eine Eingabe- bzw. Ausgabevorrichtung; – interne oder externe Kommunikation innerhalb einer Entität bzw. zwischen Entitäten, d. h. es werden Filterregeln festgelegt, welche beispielsweise definieren, welche Inhalte, Quellen, Protokolle oder Dienste zwischen verschiedenen Kommunikationsendpunkten kommunizieren können; – die Verwendung von an eine Entität angeschlossenen Peripheriegeräten; – das Display einer Mensch-Maschine-Schnittstelle; – Softwareinstallationen und die Ausführung von Software;
  • – private Regeln, welche definieren, bis zu welchem Grad Daten und Informationen gegenüber Dritten geheim gehalten werden sollen oder wenigstens für einen bestimmten Grad an Privatheit zu anonymisieren sind;
  • – Authentisierungsregeln, welche definieren, welche Art von Authentisierung/Authentifizierung (z. B. ein Passwort, eine Smartcard und dergleichen) für eine entsprechende Authentisierung/Authentifizierung von vorgegebenen Rollen erforderlich ist;
  • – Intrusions-Detektions-Regeln, welche vorbestimmte Angriffsszenarien und Angriffsheuristiken festlegen;
  • – Intrusions-Antwort-Regeln, welche definieren, welche Art von Gegenmaßnahmen gegen bestimmten Arten von detektieren Angriffen durchzuführen sind.
In order to create a very flexible and adaptable implementation of security functionalities in a vehicle architecture, the security modules or their security applications can be configured via configuration interfaces. The configuration can be achieved statically and even dynamically by accepting and enforcing individual security rules, which can be configured as follows, for example:
  • Authorization rules specifying to what extent a given entity is entitled to use or access a particular resource under certain conditions, e.g. For the following purposes: - accessing files, a network or an input / output device; Internal or external communication within an entity or between entities, ie filter rules are defined which, for example, define which contents, sources, protocols or services can communicate between different communication endpoints; The use of peripheral devices attached to an entity; The display of a human-machine interface; - Software installations and the execution of software;
  • - private rules that define the extent to which data and information should be kept secret from third parties or at least be anonymous for a certain degree of privacy;
  • Authentication rules which define what type of authentication / authentication (eg a password, a smartcard and the like) is required for a corresponding authentication / authentication of predefined roles;
  • Intrusion detection rules defining predetermined attack scenarios and attack heuristics;
  • - Intrusion response rules that define what kind of countermeasures to take against certain types of detected attacks.

Wie oben dargelegt, umfassen die Sicherheitsmodule vorzugsweise folgende Module:

  • – ein Kommunikations-Steuer-Modul, welches auch als CCM (CCM = Communication Control Module) bezeichnet wird;
  • – ein Entitäts-Authentifizierungs-Modul, welches auch als EAM (EAM = Entity Authentication Module) bezeichnet wird;
  • – ein Sicherheitsregel-Entscheidungs-Modul, welches auch als PDM (PDM = Policy Decision Module) bezeichnet wird;
  • – ein Sicherheits-Überwachungs-Modul, welches auch als SWD (SWD = Security Watchdog) bezeichnet wird;
  • – ein sicheres Speicher-Modul, welches auch als SSM (SSM = Secure Storage Module) bezeichnet wird;
  • – ein Plattform-Integritäts-Modul, welches auch als PIM (PIM = Platform Integrity Module) bezeichnet wird;
  • – ein Kryptographie-Modul, welches auch als CRS (CRS = Cryptographic Service) bezeichnet wird.
As stated above, the security modules preferably include the following modules:
  • A communication control module, which is also referred to as CCM (CCM = Communication Control Module);
  • An entity authentication module, which is also referred to as EAM (Entity Authentication Module);
  • A security rule arbitration module, also referred to as PDM (Policy Decision Module);
  • A security monitoring module, which is also referred to as SWD (SWD = Security Watchdog);
  • A secure storage module, also referred to as SSM (SSM = Secure Storage Module);
  • A platform integrity module, also referred to as PIM (PIM = Platform Integrity Module);
  • A cryptography module, also referred to as CRS (Cryptographic Service).

Die Aufgaben der einzelnen Module und die vorzugsweise durch diese Module zu realisierenden Operationen wurden bereits im Vorangegangenen beschrieben. Es liegt dabei im Rahmen von fachmännischem Handeln, die entsprechenden Operationen der Module durch geeignete Softwareimplementierungen umzusetzen. Basierend auf den Modulen wird eine verteilte Sicherheitsfunktionalität in verschiedenen Steuergeräten eines Fahrzeugs sowie auch in Bezug auf externe Geräte, wie z. B. einen Backend-Server, ermöglicht. Durch die Verwendung von Sicherheitsmodulen kann insbesondere eine Umsetzung von Sicherheits-Funktionalität in verschiedenen Fahrzeugreihen mit sich verändernden IT-Infrastrukturen im Fahrzeug erreicht werden. Es muss dabei lediglich sichergestellt werden, dass die Sicherheits-Implementierungen innerhalb der Sicherheitsmodule an verschiedenen Orten innerhalb und sogar außerhalb des Fahrzeugs sicher ausgeführt werden können. Auf diese Weise können die entsprechenden Schnittstellen der Sicherheitsmodule sicher über verschiedene Steuereinheiten innerhalb des Fahrzeugs und sogar teilweise außerhalb des Fahrzeugs aufgerufen werden. Der tatsächliche Ort, an dem eine Sicherheits-Implementierung eines Sicherheitsmoduls eingesetzt wird, ist dabei für die entsprechenden Anwendungen, welche die Sicherheits-Implementierungen der Module verwenden, transparent. Ebenso ist der tatsächliche Ort einer Sicherheits-Implementierung eines Sicherheitsmoduls für andere Sicherheitsmodule transparent und sollte nicht von speziellen Charakteristika der zu Grunde liegenden Architektur oder Verbindungsmechanismen abhängen.The tasks of the individual modules and the operations preferably to be implemented by these modules have already been described above. It is within the scope of expert action to implement the corresponding operations of the modules by means of suitable software implementations. Based on the modules, a distributed safety functionality in various control devices of a vehicle as well as in relation to external devices, such. As a backend server allows. Through the use of security modules in particular an implementation of security functionality in different vehicle series can be achieved with changing IT infrastructures in the vehicle. All that needs to be done is to make sure that the security implementations within the security modules can be safely executed at different locations inside and even outside the vehicle. In this way, the appropriate interfaces of the safety modules can be safely accessed via various control units within the vehicle and even partially outside the vehicle. The actual location where a security implementation of a security module is deployed is transparent to the corresponding applications that use the security implementations of the modules. Likewise, the actual location of a security implementation of one security module is transparent to other security modules and should not depend on specific characteristics of the underlying architecture or interconnect mechanisms.

Zur Verdeutlichung der Erfindung wird nachfolgend am Beispiel des oben erwähnten Entitäts-Authentifizierungs-Moduls EAM eine Umsetzung entsprechender Operationen des Moduls beschrieben.To illustrate the invention, an implementation of corresponding operations of the module will be described below using the example of the above-mentioned entity authentication module EAM.

Die Hauptaufgaben des Entitäts-Authentifizierungs-Moduls sind die Folgenden:

  • – Die Identifikation und Authentifizierung entsprechender Entitäten, wobei eine Entität insbesondere eine Applikation, ein Prozess, eine Rolle oder ein Gerät sein kann bzw. einem Benutzer entsprechen kann;
  • – die Verwaltung von Authentisierungsprozessen für Entitäten, z. B. die Verarbeitung von Authentisierungs-Statusanfragen, die Erzeugung und die Verarbeitung von Authentisierungstickets, die Aktualisierung von Authentisierungs-Berechtigungsnachweisen, die Verarbeitung von Timeouts und Widerrufen von Authentisierungen;
  • – eine Single-Sign-On-Realisierung, welche einen speziellen Teil der Verwaltung der Authentisierungsdaten darstellt, wobei eine Single-Sign-On-Realisierung an sich aus dem Stand der Technik bekannt ist;
  • – Mechanismen zur Aufrechterhaltung der Privatsphäre, z. B. Pseudonymisierung von Identitäten gemäß spezieller Privatsphäre-Regeln.
The main tasks of the entity authentication module are the following:
  • The identification and authentication of corresponding entities, wherein an entity may in particular be an application, a process, a role or a device or may correspond to a user;
  • The administration of authentication processes for entities, e.g. For example, the processing of authentication status requests, the generation and processing of authentication tickets, the updating of authentication credentials, the processing of timeouts and revoking of authentications;
  • A single sign-on implementation, which represents a special part of the management of the authentication data, whereby a single-sign-on Realization is known per se from the prior art;
  • - Privacy mechanisms, eg. B. Pseudonymization of identities according to special privacy rules.

Wie oben erwähnt, können Entitäten insbesondere Benutzer, Rollen oder Geräte sein. Unter einem Benutzer kann dabei insbesondere der Passagier oder Insasse eines Fahrzeugs verstanden werden. Eine Rolle kann beispielsweise eine bei der Ausführung von Operationen des Moduls beteiligte Partei, wie z. B. der Fahrzeughersteller, sein. Ein Gerät kann eine beliebige technische Einheit innerhalb des Fahrzeugs oder eine mit Komponenten des Fahrzeugs kommunizierende Einheit sein, beispielsweise ein diagnostisches Analysegerät, ein elektronisches Steuergerät oder ein Kommunikationsendgerät eines Benutzers.As mentioned above, entities may be in particular users, roles or devices. A user can be understood in particular as the passenger or occupant of a vehicle. A role may be, for example, a party involved in the execution of operations of the module, such as: B. the vehicle manufacturer, his. A device can be any technical unit within the vehicle or a unit communicating with components of the vehicle, for example a diagnostic analyzer, an electronic control unit or a communication terminal of a user.

Um die oben genannten Entitäten auf sehr flexible Weise zu identifizieren und zu authentisieren, kann das Entitäts-Authentifizierungs-Modul beispielsweise mit dem EAP-Protokoll (EAP = Extensible Authentication Protocol) realisiert sein. Dieses Protokoll ist definiert in RFC 3748 (RFC = Request For Comments). Ein wesentlicher Vorteil von EAP besteht darin, dass das tatsächliche Authentisierungs-Schema nicht spezifiziert ist, jedoch während des Authentisierungs-Prozesses verhandelt wird. EAP wird derzeit in den meisten WLAN-Netzen und auch in vielen LAN-Netzen verwendet und umfasst zur Authentisierung ca. 30 verschiedene EAP-Methoden, um hierdurch verschiedene Authentisierungs-Schematas zu unterstützen. Gegebenenfalls kann das Entitäts-Authentifizierungs-Modul auch auf anderen Protokollen basieren, beispielsweise auf dem RADIUS-Protokoll.In order to identify and authenticate the abovementioned entities in a very flexible manner, the entity authentication module can be implemented, for example, with the Extensible Authentication Protocol (EAP). This protocol is defined in RFC 3748 (RFC = Request For Comments). A significant advantage of EAP is that the actual authentication scheme is not specified, but is negotiated during the authentication process. EAP is currently used in most WLAN networks and also in many LAN networks and comprises about 30 different EAP methods for authentication in order to support various authentication schemes. Optionally, the entity authentication module may also be based on other protocols, such as the RADIUS protocol.

Im Folgenden werden die abstrakten Schnittstellen erläutert, welche im Rahmen der hier beschriebenen Ausführungsform eines Entitäts-Authentifizierungs-Moduls bereitgestellt werden. Die Schnittstellen sind dabei durch die im Folgenden beschriebenen Funktionen spezifiziert, wobei die entsprechenden Eingangs- bzw. Ausgangsparameter der Funktionen in Klammern hinter den dick gedruckten Funktionsnamen genannt sind. Die Parameter sind dabei kursiv gedruckt und vor dem jeweiligen Parameter ist angegeben, ob er ein Eingangsparameter (gekennzeichnet durch den Ausdruck „in”) oder ob er ein Ausgabeparameter (gekennzeichnet durch den Ausdruck „out”) ist. Ferner ist vor dem dick gedruckten Funktionsnamen und nach einem entsprechenden Ausdruck „out” angegeben, von welchem Ausgabe-Variablentyp die Funktion ist, wobei der Variablentyp kursiv gedruckt ist. Bei den nachfolgend beschriebenen Schnittstellen sind die Funktionen immer vom Variablentyp „bool” in der Form von true oder false. Ferner wird nachfolgend durch den unterstrichenen Ausdruck public bzw. private angegeben, ob auf die entsprechenden Schnittstellen externe, nicht in den Sicherheitsmodulen enthaltene Applikationen zugreifen können oder nicht. Das heißt, durch „public” wird angegeben, dass externe Applikationen auf die Schnittstelle zugreifen können und durch den Ausdruck „private” wird angegeben, dass nur innerhalb der Module auf die Schnittstelle zugegriffen werden kann.The following explains the abstract interfaces provided in the embodiment of an Entity Authentication Module described herein. The interfaces are specified by the functions described below, the corresponding input or output parameters of the functions being given in parentheses after the thickly printed function names. The parameters are printed in italics and before each parameter is specified whether it is an input parameter (characterized by the expression "in") or whether it is an output parameter (characterized by the expression "out"). Further, before the thick-printed function name and after a corresponding expression "out", it is indicated which output variable type is the function, the variable type being printed in italics. In the interfaces described below, the functions are always of the variable type "bool" in the form of true or false. Furthermore, the underlined term public or private indicates below whether external applications that are not contained in the security modules can access the corresponding interfaces or not. This means that "public" specifies that external applications can access the interface, and the expression "private" indicates that the interface can only be accessed within the modules.

Im Folgenden werden zuerst die Schnittstellen genannt und nachfolgend deren Funktionalität erläutert:

  • – public out bool EAM_login_entity (in entity_id, in/out auth_credential) Gemäß dieser Schnittstelle wird die Entität, welche durch eine gegebene Entitäts-Identifikation entity_id referenziert wird, zunächst für geeignete Authentisierungs-Schemata klassifiziert, gegebenenfalls über das PDM-Modul. Anschließend wird der Authentisierungs-Berechtigungsnachweis auth_credential gemäß dem verwendeten Authentisierungs-Schema unter Verwendung des Moduls CRS verifiziert. Dabei kann der Berechtigungsnachweis auth_credential einen sog. „multistep credential” (z. B. ein Challenge-Response-Protokoll) darstellen, welches intermediäre Eingabe- bzw. Ausgabedaten aufweisen kann. Ebenso kann der Berechtigungsnachweis auth_credential ein Authentisierungsticket von einem externen Authentisierungs-Dienst, beispielsweise von einer Backend-Authentisierung, umfassen. Schließlich wird basierend auf der Funktion EAM_update_entity_authenticated() die durch die gegebenen Entitäts-Identifikation entity_id referenzierte Entität zu einer Liste von erfolgreich authentisierten Entitäten hinzugefügt und der Wert true zurückgegeben. War die Authentisierung der Entität nicht erfolgreich, wird lediglich der Wert false zurückgegeben.
  • – public out bool EAM_logoff_entity (in entity_id) Gemäß dieser Operation wird zunächst beim Sicherheitsregel-Entscheidungs-Modul basierend auf der Funktion PDM_authorize() nach einer geeigneten Logoff-Autorisierung des Aufrufers der Operation gesucht. Anschließend wird mit dem Befehl EAM_lookup_entity() nach der Entität gesucht, welche durch die gegebene Entitäts-Identifikation entity_id in der lokalen Liste der erfolgreich authentisierten Entitäten referenziert ist. Die Entitäts-Identifikation entity_id wird dann von der Liste entfernt und der Wert true zurückgegeben. Ansonsten wird der Wert false zurückgegeben.
  • – public out bool EAM_create_authentication_ticket (in entity_id, in ticket_rules, out auth_ticket) Gemäß dieser Operation wird zunächst mit der Funktion EAM_lookup_entity() nach der Entität gesucht, welche durch die gegebene Entitäts-Identifikation entity_id in der lokalen Liste der erfolgreich authentisierten Entitäten referenziert wird. Anschließend wird ein Authentisierungsticket für diese Entität erzeugt, welches die erforderliche Metainformation gemäß den individuellen Ticket-Erzeugungs-Regeln, gegeben durch ticket_rules, enthält (z. B. das Authentisierungs-Schema, die Authentisierungs-Zeit und dergleichen). Schließlich wird die Metainformation in die Variable auth_ticket geschrieben und der Wert true zurückgegeben. Ansonsten wird der Wert false zurückgegeben. Im Falle, dass der Aufrufer der Operation nur die Information benötigt, ob eine bestimmte Entität überhaupt eingeloggt ist, kann die Ausgabe auth_ticket ignoriert werden und der Aufrufer muss nur den zurückgegebenen boolschen Wert interpretieren. Im Falle, dass der Aufrufer ein Pseudonym benötigt, umfasst die Variable ticket_rules auch die entsprechende Regel zur Generierung eines Pseudonyms.
  • – public out bool EAM_verify_authentication_ticket (in entity_id, in auth_ticket) Gemäß dieser Operation wird ein gegebenes Authentisierungsticket auth_ticket für eine Entität, welche durch die Entitäts-Identifikation entity_id gegeben ist, unter Verwendung des Moduls CRS verifiziert. Dabei wird der Wert true zusammen mit diesem Authentisierungsticket zurückgegeben, falls die Entität erfolgreich authentisiert werden kann. Ansonsten wird der Wert false zurückgegeben. Im Unterschied zur obigen Operation EAM_login_entity() impliziert diese Funktion nicht automatisch einen lokalen Login. Somit wird diese Funktion nur zur Entitäts-Authentisierung genutzt.
  • – private out bool EAM_log_authentication_event (in authentication_event) Für alle sicherheitsrelevanten Authentisierungs-Ereignisse (z. B. erfolgreiche Logins, fehlgeschlagene Logins) ruft das Modul EAM intern diese Funktion auf, um interne Antworten des EAM-Moduls (z. B. die Verlängerung von Verzögerungen zwischen erfolglosen Logins) zu ermöglichen und um dem Sicherheits-Überwachungs-Modul zu berichten, so dass potentiell unberechtigte Intrusionen detektiert werden können.
In the following, the interfaces are first mentioned and their functionality explained below:
  • Public out bool EAM_login_entity (in entity_id, in / out auth_credential) According to this interface, the entity referenced by a given entity identifier entity_id is first classified for appropriate authentication schemes, optionally via the PDM module. Subsequently, the authentication credential auth_credential is verified according to the authentication scheme used using the module CRS. In this case, the authorization statement auth_credential can represent a so-called "multistep credential" (eg a challenge-response protocol), which can have intermediate input or output data. Similarly, the credential auth_credential may include an authentication ticket from an external authentication service, for example, from a backend authentication. Finally, based on the function EAM_update_entity_authenticated (), the entity referenced by the given entity identifier entity_id is added to a list of successfully authenticated entities and the value true is returned. If the authentication of the entity was unsuccessful, only the value false is returned.
  • - public out bool EAM_logoff_entity (in entity_id) According to this operation, the security rule arbitration module first looks for a suitable logoff authorization of the invoker of the operation based on the PDM_authorize () function. Then, the EAM_lookup_entity () command is used to search for the entity referenced by the given entity identifier entity_id in the local list of successfully authenticated entities. The Entity Identifier entity_id is then removed from the list and returned true. Otherwise, the value false is returned.
  • - public out bool EAM_create_authentication_ticket (in entity_id, in ticket_rules, out auth_ticket) According to this operation, the entity EAM_lookup_entity () is first used to look for the entity referenced by the given entity identifier entity_id in the local list of successfully authenticated entities becomes. Subsequently, an authentication ticket is generated for this entity, which contains the required meta information according to the individual ticket generation rules given by ticket_rules (eg the authentication scheme, the authentication time and the like). Finally, the metainformation is written to the auth_ticket variable and returned true. Otherwise, the value false is returned. In case the caller of the operation only needs the information as to whether a particular entity is ever logged in, the output auth_ticket can be ignored and the caller need only interpret the returned boolean value. In the case that the caller needs a pseudonym, the variable ticket_rules also includes the corresponding rule for generating a pseudonym.
  • Public out bool EAM_verify_authentication_ticket (in entity_id, in auth_ticket) According to this operation, a given authentication ticket auth_ticket for an entity given by the entity identification entity_id is verified using the module CRS. The value true is returned together with this authentication ticket if the entity can be successfully authenticated. Otherwise, the value false is returned. In contrast to the above operation EAM_login_entity (), this function does not automatically imply a local login. Thus, this feature is used only for entity authentication.
  • - private out bool EAM_log_authentication_event (in authentication_event) For all security-relevant authentication events (eg successful logins, failed logins), the EAM module internally calls this function to retrieve internal responses from the EAM module (eg extension of Delays between unsuccessful logins) and to report to the security monitoring module so that potentially unauthorized intrusions can be detected.

Das Entitäts-Authentifizierungs-Modul verwendet als Attribute (d. h. als interne Daten) die Variablen EAM_entity_authenticated. Diese Variable entspricht einer Liste aller aktuell erfolgreich authentisierter Entitäten zusammen mit Metainformationen über das entsprechende Authentisierungs-Schema (z. B. Authentisierung über Passwort, Authentisierung über ein entsprechendes Ticket) sowie über die Login-Time und dergleichen. Ein weiteres Attribut des Entitäts-Authentifizierungs-Modul sind die EAM_authentication_artifacts. Es handelt sich hierbei um einen Satz von lokalen Authentisierungs-Artifakten, z. B. Passwort-Hashwerte, öffentliche Schlüssel, Zertifikate und dergleichen. Diese Artifakte werden zum Verarbeiten von Authentisierungsanfragen verwendet.The Entity Authentication Module uses the variables EAM_entity_authenticated as attributes (that is, as internal data). This variable corresponds to a list of all currently successfully authenticated entities together with meta information about the corresponding authentication scheme (eg authentication via password, authentication via a corresponding ticket) as well as the login time and the like. Another attribute of the entity authentication module is the EAM_authentication_artifacts. This is a set of local authentication artifacts, eg. Password hashes, public keys, certificates and the like. These artifacts are used to process authentication requests.

Das EAM-Modul in der hier beschriebenen Ausführungsform hängt von weiteren Modulen ab, d. h. das EAM-Modul greift auf Operationen anderer Module zurück. Insbesondere wird das PDM-Modul verwendet, um zu entscheiden, welche Entitäts-Authentisierungs-Methode zu verwenden ist (sofern diese Entscheidung noch nicht im EAM-Modul vorkonfiguriert ist). Das CRS-Modul wird zur Durchführung der kryptographischen Authentisierungs-Schemata und Mechanismen verwendet. Das CCM-Modul wird zum sicheren Aufruf und zur Inter-Modul-Kommunikation verwendet. Das SSM-Modul wird zur gesicherten nicht-flüchtigen Speicherung von Authentisierungs-Artifakten verwendet. Das PIM-Modul dient zum Nachweis der Vertrauenswürdigkeit der Plattform-Konfiguration.The EAM module in the embodiment described herein depends on other modules, i. H. the EAM module uses operations of other modules. In particular, the PDM module is used to decide which entity authentication method to use (unless this decision is pre-configured in the EAM module). The CRS module is used to implement the cryptographic authentication schemes and mechanisms. The CCM module is used for secure calling and inter-module communication. The SSM module is used for secure non-volatile storage of authentication artifacts. The PIM module serves to prove the trustworthiness of the platform configuration.

Im Folgenden wird zur Verdeutlichung anhand von UML-Diagrammen der 2 und 3 die Ausführung der oben beschriebenen Funktionen EAM_login_entity und EAM_verify_authentication_ticket erläutert. Die in den nachfolgenden Diagrammen genannten Funktionen sind dabei entsprechende Implementierungen in der Form von sog. Plugins. Bestimmte Plugins geben dabei sog. EAMPluginReturnCodes aus einer Mehrzahl von Return-Codes zurück. Die Return-Codes für EAM_verify_authentication_ticket umfassen dabei folgende Return-Codes mit dem nachfolgend genannten Bedeutungsinhalt:In the following, for clarity by means of UML diagrams, the 2 and 3 the execution of the functions EAM_login_entity and EAM_verify_authentication_ticket described above is explained. The functions mentioned in the following diagrams are corresponding implementations in the form of so-called plugins. Certain plugins return so-called EAMPlugin return codes from a plurality of return codes. The return codes for EAM_verify_authentication_ticket include the following return codes with the following meaning content:

„AuthenticationAccepted”:"AuthenticationAccepted":

Der Prozess der Authentisierung wurde erfolgreich abgeschlossen.The process of authentication has been successfully completed.

„AuthenticationFailed”:"AuthenticationFailed":

Der Prozess ist fehlgeschlagen und alle Informationen in Bezug auf die Entität werden verworfen.The process failed and all information related to the entity is discarded.

„AuthenticationPending”:"AuthenticationPending":

Der Prozess braucht noch weitere Schritte, um abgeschlossen zu werden. Das Verfahren wird nochmals mit neuen Daten in authentication_ticket aufgerufen.The process needs more steps to complete. The process is called again with new data in authentication_ticket.

„FunctionNotSupported”:"FunctionNotSupported":

Ein Protokoll, das nicht unterstützt wird, wurde bei Durchführung der Authentifizierung ausgewählt. Alle Daten werden gelöscht.A protocol that is not supported was selected when authentication was performed. All data will be deleted.

„UnknownTicketType”:"Unknown Ticket Type":

Die Daten in der Variablen authentication_ticket sind beschädigt. Alle Daten werden gelöscht.The data in the authentication_ticket variable is corrupted. All data will be deleted.

Bei der Durchführung der Operation EAM_login_entity gemäß 2 wird zunächst das entsprechende Authentisierungsticket und die entsprechende Entität an die Funktion EAM_verify_authentication_ticket übergeben. Dies wird durch die Variablen AuthenticationTicket und Entity verdeutlicht. Nach der Durchführung der Verifikation gemäß der Methode EAM_verify_authentication_ticket, welche weiter unten in Bezug auf 3 beschrieben ist, wird das entsprechende Authentisierungsticket sowie die generierten EAMPluginReturnCodes ausgegeben. Es wird dann ermittelt, ob ein EAMPluginReturnCode auf „AuthenticationAccepted” gesetzt ist. Ist dies der Fall, wird der Entitätsstatus auf login gesetzt. In allen anderen Fällen wird kein Entitätsstatus gespeichert. Im Falle des Returncodes „AuthenticationFailed” wird eine Nachricht an das Sicherheits-Überwachungs-Modul gesendet, um diesem Modul mitzuteilen, dass die Authentisierung nicht funktioniert hat. Gemäß 2 werden ferner das Authentisierungsticket und die EAMPluginReturnCodes an die Funktion EAM_log_authentication_event zum Protokollieren des Authentisierungs-Ereignisses gegeben. Schließlich werden das Authentisierungsticket sowie die EAMPluginReturnCodes zurückgegeben. When performing the EAM_login_entity operation according to 2 First, the corresponding authentication ticket and the corresponding entity are transferred to the function EAM_verify_authentication_ticket. This is illustrated by the variables AuthenticationTicket and Entity. After performing the verification according to the method EAM_verify_authentication_ticket, which is described below in relation to 3 is described, the corresponding authentication ticket and the generated EAMPluginReturnCodes is issued. It is then determined whether an EAMPluginReturnCode is set to "AuthenticationAccepted". If so, the entity status is set to login. In all other cases, no entity status is stored. In the case of the return code "AuthenticationFailed", a message is sent to the security monitoring module to inform this module that the authentication did not work. According to 2 Furthermore, the authentication ticket and the EAMPluginReturnCodes are given to the function EAM_log_authentication_event for logging the authentication event. Finally, the authentication ticket and the EAMPluginReturnCodes are returned.

3 zeigt die Ausführung der Methode EAM_verify_authentication_ticket. Wie bereits aus 2 ersichtlich ist, empfängt diese Funktion das Authentisierungsticket und die Entität, welche in 3 analog zu 2 mit AuthenticationTicket und Entity bezeichnet sind. Anschließend erfolgt die Auswahl eines Plugins zur Verifikation des Authentisierungstickets basierend auf der Entität und dem Authentisierungsticket. Das Authentisierungsticket und die Entität werden dann in einem weiteren Schritt derart verarbeitet, dass nach einem Authentisierungs-Artifakt für Entität und Plugin gesucht wird. Authentisierungs-Artifakte sind interne Sicherheits-Berechtigungsnachweise (englisch: security credentials), die direkt im Modul gespeichert werden, wie z. B. ein Passwort oder ein privater bzw. öffentlicher Schlüssel. Das Plugin muss sich damit nicht um die sichere Speicherung dieser Daten kümmern. Damit werden Daten zentral verwaltet und können von jedem Plugin genutzt werden. Der gesamte Sicherheits-Kontext, d. h. die Daten, die ein Plugin aktuell verarbeitet, werden ebenfalls vom EAM-Modul und nicht von den Plugins selbst verwaltet. Hierdurch wird die Komplexität der Plugins weiter vermindert. Im Unterschied zu den Authentisierungs-Artifakten ist ein Authentisierungsticket eine Eingabe von einer Anwendung, die das EAM-Modul nutzt. Dieses Ticket wird an das entsprechende Plugin übergeben. Es enthält Verarbeitungsinformationen für das spezifische EAM-Plugin, wie z. B. ein verschlüsseltes Passwort, das dann im Plugin erstmals entschlüsselt werden muss und anschließend mit dem abgespeicherten Artifakt im EAM-Modul abgeglichen wird. 3 shows the execution of the EAM_verify_authentication_ticket method. As already out 2 can be seen, this function receives the authentication ticket and the entity which is in 3 analogous to 2 labeled AuthenticationTicket and Entity. Subsequently, the selection of a plug-in for verification of the authentication ticket is based on the entity and the authentication ticket. The authentication ticket and the entity are then processed in a further step such that an authentication artifact for entity and plug-in is searched for. Authentication artifacts are internal security credentials that are stored directly in the module, such as security credentials. As a password or a private or public key. The plugin does not have to worry about the secure storage of this data. This data is centrally managed and can be used by any plugin. The entire security context, ie the data currently being processed by a plugin, is also managed by the EAM module and not by the plugins themselves. This further reduces the complexity of the plugins. Unlike the authentication artifacts, an authentication ticket is an input from an application that uses the EAM module. This ticket will be handed over to the corresponding plugin. It contains processing information for the specific EAM plugin, such as: As an encrypted password, which must then be decrypted in the plugin for the first time and then adjusted with the stored artifact in the EAM module.

Wird gemäß 3 ein Plugin zur Verifikation des Authentisierungstickets gefunden, wird die Verifikation gemäß diesem Plugin basierend auf der Methode verify_authentication_ticket durchgeführt. Es werden schließlich das Authentisierungsticket und die EAMPluginReturnCodes zurückgegeben. Wird kein Plugin gefunden, wird der Returncode UnknownTicketType zurückgegeben.Is according to 3 a verification authentication plugin is found, the verification is performed according to this plugin based on the method verify_authentication_ticket. Finally, the authentication ticket and the EAMPluginReturnCodes are returned. If no plugin is found, the return code UnknownTicketType is returned.

Die im Vorangegangenen beschriebenen Ausführungsformen des erfindungsgemäßen Verfahrens stellen einen Baukasten zur Implementierung von Sicherheitsapplikationen in einem Fahrzeug bzw. externen, mit dem Fahrzeug kommunizierenden Einheiten dar. Dieser Baukasten wird bei der Implementierung entsprechender Software-Applikationen vorzugsweise in der Form einer Library verwendet, auf welche der Software-Entwickler Zugriff hat und deren Schnittstellen er zur Umsetzung von Sicherheitsapplikationen nutzen kann. Dabei ist auch eine Schnittstelle vorgesehen, mit der entsprechende Sicherheits-Implementierungen durch den Entwickler konfiguriert werden können. Gegebenenfalls besteht auch die Möglichkeit, während der Laufzeit einer Applikation eine Rekonfiguration von Sicherheitsmechanismen vorzunehmen. Auf diese Weise können basierend auf dem Sicherheitsbaukasten verschiedene Sicherheitsmechanismen flexibel in ein vorgegebenes Fahrzeug-Sicherheitssystem integriert werden. Insbesondere kann jeder Sicherheitsmechanismus auch für viele verschiedene Software-Applikationen innerhalb einer System-Umgebung zum Einsatz kommen. Die einzelnen Sicherheitsfunktionen werden dabei durch die jeweiligen Module und deren externe Schnittstellen auf einfache Weise dem Applikations-Entwickler bereitgestellt.The embodiments of the inventive method described above represent a modular system for implementing safety applications in a vehicle or external units communicating with the vehicle. This modular system is preferably used in the implementation of appropriate software applications in the form of a library, to which the Software Developer has access and their interfaces, he can use to implement security applications. An interface is also provided, with which appropriate security implementations can be configured by the developer. Optionally, it is also possible to perform a reconfiguration of security mechanisms during the runtime of an application. In this way, based on the safety building kit, various safety mechanisms can be flexibly integrated into a given vehicle safety system. In particular, each security mechanism can also be used for many different software applications within a system environment. The individual safety functions are provided by the respective modules and their external interfaces in a simple way the application developer.

Literaturverzeichnisbibliography

  • [1] EMVY: The Embedded Vehicular IT Security Construction Kit, Basic Concept from 17. Dezember 2009, BMW Group Forschung und Technik [1] EMVY: The Embedded Vehicular IT Security Construction Kit, Basic Concept from December 17, 2009, BMW Group Research and Technology
  • [2] Design Specification (Fachkonzept) – BMW Group Forschung und Technik, 17. Dezember 2009 [2] Design Specification - BMW Group Research and Technology, December 17, 2009

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • RFC 3748 [0052] RFC 3748 [0052]

Claims (18)

Verfahren zum rechnergestützten Bereitstellen einer Entwicklungsumgebung zur Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur, insbesondere in einer Kraftfahrzeug-Architektur, dadurch gekennzeichnet, dass eine Mehrzahl von Sicherheitsmodulen (SM1, SM2, SM3) bereitgestellt wird, wobei jedes Sicherheitsmodul (SM1, SM2, SM3) eine Anzahl von Sicherheitsanwendungen umfasst, wobei eine oder mehrere der Sicherheitsanwendungen eines jeweiligen Sicherheitsmoduls (SM1, SM2, SM3) über eine oder mehrere Schnittstellen (IF1, IF2, ..., IF6) durch externe Anwendungen (A1, A2, A3) aufgerufen werden können und wobei eine oder mehrere der Sicherheitsanwendungen eines jeweiligen Sicherheitsmoduls (SM1, SM2, SM3) bei der Implementierung konfigurierbar sind.Method for the computer-assisted provision of a development environment for implementing security applications in a vehicle architecture, in particular in a motor vehicle architecture, characterized in that a plurality of security modules (SM1, SM2, SM3) is provided, each security module (SM1, SM2, SM3 ) comprises a number of security applications, wherein one or more of the security applications of a respective security module (SM1, SM2, SM3) are called via one or more interfaces (IF1, IF2, ..., IF6) by external applications (A1, A2, A3) and wherein one or more of the security applications of a respective security module (SM1, SM2, SM3) are configurable in implementation. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine oder mehrere der Sicherheitsanwendungen ausschließlich bei der Implementierung konfigurierbar sind und/oder dass eine oder mehrere der Sicherheitsanwendungen sowohl bei der Implementierung als auch zur Laufzeit konfigurierbar und/oder aktualisierbar sind.A method according to claim 1, characterized in that one or more of the security applications are configurable only in the implementation and / or that one or more of the security applications are configurable and / or updatable both at implementation and at runtime. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Sicherheitsanwendungen der Sicherheitsmodule Operationen von oder zwischen einem oder mehreren Steuergeräten im Fahrzeug und/oder externen, außerhalb des Fahrzeugs angeordneten Einheiten umfassen.A method according to claim 1 or 2, characterized in that the security applications of the security modules comprise operations from or between one or more control devices in the vehicle and / or external units arranged outside the vehicle. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest ein Teil der Sicherheitsmodule (SM1, SM2, SM3) eine oder mehrere interne Schnittstellen umfasst, über welche sich Sicherheitsanwendungen der Sicherheitsmodule (SM1, SM2, SM3) untereinander aufrufen können.Method according to one of the preceding claims, characterized in that at least part of the security modules (SM1, SM2, SM3) comprises one or more internal interfaces, via which security applications of the security modules (SM1, SM2, SM3) can call each other. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Sicherheitsanwendungen der Mehrzahl von Sicherheitsmodulen (SM1, SM2, SM3) auf mehrere verschiedene interne Entitäten im Fahrzeug und/oder externe Entitäten außerhalb des Fahrzeugs verteilt sind.Method according to one of the preceding claims, characterized in that the security applications of the plurality of security modules (SM1, SM2, SM3) are distributed to a plurality of different internal entities in the vehicle and / or external entities outside the vehicle. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest ein Teil der Sicherheitsanwendungen der Mehrzahl von Sicherheitsmodulen (SM1, SM2, SM3) über Plugins implementiert sind.Method according to one of the preceding claims, characterized in that at least a part of the security applications of the plurality of security modules (SM1, SM2, SM3) are implemented via plugins. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Sicherheitsanwendungen eines oder mehrerer Sicherheitsmodule (SM1, SM2, SM3) und insbesondere jedes Sicherheitsmoduls (SM1, SM2, SM3) eine oder mehrere und insbesondere alle der folgenden Operationen bereitstellen: – die Erteilung von Erlaubnissen zur Durchführung von durch eine Entität angefragten Operationen; – den Widerruf von erteilten Erlaubnissen zur Durchführung von Operationen; – das Nachschlagen, ob eine Entität momentan die Erlaubnis zur Durchführung einer Operation hat; – das Setzen von Sicherheitsregeln zur lokalen Durchsetzung innerhalb des Sicherheitsmoduls.Method according to one of the preceding claims, characterized in that the security applications of one or more security modules (SM1, SM2, SM3) and in particular each security module (SM1, SM2, SM3) provide one or more and in particular all of the following operations: - the granting of permits to carry out operations requested by an entity; - the revocation of granted licenses to carry out operations; - looking up whether an entity currently has permission to perform an operation; - setting security rules for local enforcement within the security module. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Mehrzahl von Sicherheitsmodulen (SM1, SM2, SM3) ein oder mehrere der folgenden Sicherheitsmodule (SM1, SM2, SM3) umfasst: – ein Kommunikations-Steuer-Modul zur Kommunikation zwischen internen Entitäten im Fahrzeug und/oder externen Entitäten außerhalb des Fahrzeugs; – ein Entitäts-Authentifizierungs-Modul zur Identifikation und Authentifizierung von Entitäten betreffen; – ein Sicherheitsregel-Entscheidungs-Modul zur Verwaltung von vorgegebenen Sicherheitsregeln; – ein Sicherheits-Überwachungs-Modul zur Überwachung der Ausführung von Sicherheitsanwendungen; – ein sicheres Speicher-Modul zum kryptographisch gesicherten Speichern von Daten; – ein Plattform-Integritäts-Modul zur Erkennung von Manipulationen an den Sicherheitsmodulen und Sicherheitsanwendungen; – ein Kryptographie-Modul zur Bereitstellung von kyptographischen Diensten.Method according to one of the preceding claims, characterized in that the plurality of security modules (SM1, SM2, SM3) comprises one or more of the following security modules (SM1, SM2, SM3): A communication control module for communication between internal entities in the vehicle and / or external entities outside the vehicle; Relate to an entity authentication module for identifying and authenticating entities; A security rule decision module for managing given security rules; - a security monitoring module to monitor the execution of security applications; A secure memory module for cryptographically secured storage of data; - a platform integrity module to detect security module and security application tampering; A cryptography module for providing cryptographic services. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des Kommunikations-Steuer-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – die Bereitstellung von verschiedenen gesicherten Kommunikationskanälen; – den Aufbau eines kryptographisch gesicherten Kommunikationskanals; – das Senden und Empfangen von Daten über einen kryptographisch gesicherten Kommunikationskanal; – das Beenden eines kryptographisch gesicherten Kommunikationskanals; – das Setzen von Kommunikationsfiltern auf einem kryptographisch gesicherten Kommunikationskanal; – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Kommunikations-Steuer-Moduls.A method according to claim 8, characterized in that the security applications of the communication control module provide one or more of the following operations: - the provision of various secure communication channels; - the construction of a cryptographically secured communication channel; The sending and receiving of data via a cryptographically secured communication channel; The termination of a cryptographically secured communication channel; The setting of communication filters on a cryptographically secured communication channel; The logging of events relating to security applications of the communication control module. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des Entitäts-Authentifizierungs-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – die Verifikation der Authentizität und die Evaluierung der Vertrauenswürdigkeit einer Entität; – die Authentifizierung von Entitäten mit Authentisierungsdaten; – das Ausloggen von Entitäten; – das Erzeugen von Authentisierungsdaten, insbesondere von Authentisierungstickets; – die Verifikation von Authentisierungsdaten, insbesondere von Authentisierungstickets; – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Entitäts-Authentisierungs-Moduls;A method according to claim 8 or 9, characterized in that the security applications of the entity authentication module provide one or more of the following operations: - the verification of authenticity and the evaluation of the trustworthiness of an entity; The authentication of entities with authentication data; - the logout of entities; The generation of authentication data, in particular of authentication tickets; The verification of authentication data, in particular of authentication tickets; - logging events relating to security applications of the Entity Authentication Module; Verfahren nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des Sicherheitsregel-Entscheidungs-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – eine Abfrage und Überprüfung, ob eine Entität berechtigt ist, bestimmte Operationen basierend auf Sicherheitsregeln und/oder basierend auf Authentisierungsdaten durchzuführen; – das Setzen von Sicherheitsregeln; – die Überprüfung von durch das Sicherheitsregel-Entscheidungs-Modul getroffene Entscheidungen; – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Sicherheitsregel-Entscheidungs-Moduls; – die Delegation von Entscheidungen an andere Sicherheitsregel-Entscheidungs-Module; – die Transformation von einer oder mehreren Sicherheitsregel-Sprachen in die Sprache des Sicherheitsregel-Entscheidungs-Moduls – die Integration von Entscheidungs-Plugins zur Entscheidungsfindung basierend auf einer oder mehreren Sicherheitsregel-Sprachen.Method according to one of claims 8 to 10, characterized in that the security applications of the security rule decision module provide one or more of the following operations: A query and check whether an entity is authorized to perform certain operations based on security rules and / or based on authentication data; - the setting of security rules; - the review of decisions made by the security rule-decision module; - logging events relating to security applications of the security rule arbitration module; - the delegation of decisions to other safety rule decision modules; - the transformation of one or more security rule languages into the language of the security rule decision module - the integration of decision-making plug-ins for decision-making based on one or more security rule languages. Verfahren nach einem der einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des Sicherheits-Überwachungs-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – die Aktivierung und Deaktivierung der Überwachung von Ressourcen oder Diensten; – die passive Überwachung von Ereignissen; – das Setzen von Erkennungsmustern zur Erkennung von Angriffen Unbefugter; – das Setzen von Antwortregeln in Antwort auf eine Erkennung eines Angriffs; – das Ausführen von Gegenmaßnahmen nach der Detektion eines Angriffs eines Unbefugten; – das Auslösen eines Alarms nach der Erkennung eines Angriffs eines Unbefugten; – die Verarbeitung der Protokollierungsereignisse von anderen Sicherheitsmodulen.Method according to one of the claims 8 to 11, characterized in that the security applications of the security monitoring module provide one or more of the following operations: - the activation and deactivation of the monitoring of resources or services; - the passive monitoring of events; - the setting of recognition patterns to detect attacks by unauthorized persons; - setting response rules in response to detection of an attack; - the execution of countermeasures after the detection of an attack by an unauthorized person; The triggering of an alarm after the detection of an attack by an unauthorized person; - the processing of logging events from other security modules. Verfahren nach einem der Ansprüche 8 bis 12, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des sicheren Speicher-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – die Bereitstellung verschiedener gesicherter Speichersysteme, insbesondere über Plugins; – das Öffnen und/oder Einbinden von Datenobjekten gemäß vorgegebener Sicherheitsparameter; – das Lesen von zuvor geöffneten Datenobjekten gemäß vorgegebener Sicherheitsparameter; – das Schreiben in zuvor geöffnete Datenobjekte gemäß vorgegebener Sicherheitsparameter; – das Löschen von Datenobjekten; – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des sicheren Speicher-Moduls.Method according to one of claims 8 to 12, characterized in that the security applications of the secure storage module provide one or more of the following operations: - the provision of various secure storage systems, in particular via plugins; The opening and / or integration of data objects in accordance with predetermined security parameters; The reading of previously opened data objects according to predetermined safety parameters; The writing into previously opened data objects according to predetermined safety parameters; - the deletion of data objects; - logging events relating to security applications of the secure storage module. Verfahren nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des Plattform-Integritäts-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – die Erweiterung von initialen Plattform-Integritäts-Messwerten um einen oder mehrere Messwerte; – die sichere Abfrage von Plattform-Integritäts-Messwerten; – das Verschlüsseln von Daten und deren Abbildung auf einen Plattform-Integritäts-Messzustand; – das Protokollieren von Ereignissen betreffend Sicherheitsanwendungen des Plattform-Integritäts-Moduls; – das sichere Starten einer Plattform; – die Attestierung der Vertrauenswürdigkeit einer Plattform an andere Entitäten; – das kryptographische Binden von Daten an eine bestimmte Konfiguration einer Plattform und/oder an eine eindeutige Plattformkennung.Method according to one of claims 8 to 13, characterized in that the security applications of the platform integrity module provide one or more of the following operations: The extension of initial platform integrity measurements by one or more measurements; - secure query of platform integrity metrics; - encrypting data and mapping it to a platform integrity measurement state; - logging events relating to platform integrity module security applications; - safely starting a platform; - attesting the trustworthiness of a platform to other entities; The cryptographic binding of data to a specific configuration of a platform and / or to a unique platform identifier. Verfahren nach einem der Ansprüche 8 bis 14, dadurch gekennzeichnet, dass die Sicherheitsanwendungen des Kryptographie-Moduls eine oder mehrere der folgenden Operationen bereitstellen: – die Erzeugung von Hashwerten; – die Erzeugung von Nachrichten-Authentisierungs-Codes; – die Erzeugung von Zufallszahlen; – die Verifikation von Hashwerten; – die Verifikation von Nachrichten-Authentisierungs-Codes; – die Verifikation von Signaturen; – die Verschlüsselung von Daten; – die Entschlüsselung von Daten.Method according to one of claims 8 to 14, characterized in that the security applications of the cryptographic module provide one or more of the following operations: The generation of hash values; The generation of message authentication codes; - the generation of random numbers; - the verification of hash values; The verification of message authentication codes; - the verification of signatures; - the encryption of data; - the decryption of data. Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche, wenn das Programm auf einem Rechner abläuft.Computer program product with a program code stored on a machine-readable carrier for carrying out a method according to one of the preceding claims, when the program runs on a computer. Verfahren zum Bereitstellen einer Laufzeitumgebung zur Durchführung von Sicherheitsanwendungen in einer Fahrzeug-Architektur, insbesondere in einer Kraftfahrzeug-Architektur, wobei die Sicherheitsanwendungen mit Hilfe einer gemäß einem Verfahren nach einem der Ansprüche 1 bis 15 bereitgestellten Entwicklungsumgebung implementiert sind, dadurch gekennzeichnet, dass externe Anwendungen (AP1, AP2, AP3) zumindest teilweise eine oder mehrere Sicherheitsanwendungen von einem oder mehreren Sicherheitsmodulen (SM1, SM2, SM3) über entsprechende Schnittstellen aufrufen.Method for providing a runtime environment for implementing security applications in a vehicle architecture, in particular in a motor vehicle architecture, wherein the security applications are implemented by means of a development environment provided according to a method according to one of claims 1 to 15, characterized in that external applications ( AP1, AP2, AP3) at least partially Call one or more security applications from one or more security modules (SM1, SM2, SM3) via corresponding interfaces. Fahrzeug, insbesondere Kraftfahrzeug, umfassend ein oder mehrere Steuergeräte, auf denen im Betrieb Sicherheitsanwendungen basierend auf dem Verfahren nach Anspruch 17 ablaufen.Vehicle, in particular a motor vehicle, comprising one or more control devices on which security applications run during operation based on the method according to claim 17.
DE102010004786A 2010-01-16 2010-01-16 Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation Pending DE102010004786A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102010004786A DE102010004786A1 (en) 2010-01-16 2010-01-16 Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010004786A DE102010004786A1 (en) 2010-01-16 2010-01-16 Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation

Publications (1)

Publication Number Publication Date
DE102010004786A1 true DE102010004786A1 (en) 2011-07-21

Family

ID=44313888

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010004786A Pending DE102010004786A1 (en) 2010-01-16 2010-01-16 Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation

Country Status (1)

Country Link
DE (1) DE102010004786A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016210786A1 (en) 2016-02-18 2017-08-24 Volkswagen Aktiengesellschaft Component for connection to a data bus and method for implementing a cryptographic functionality in such a component
WO2018010938A1 (en) 2016-07-13 2018-01-18 Audi Ag Direct access to bus signals in a motor vehicle
DE102019220164A1 (en) * 2019-12-19 2021-06-24 Volkswagen Aktiengesellschaft Security check method, security check device, information system, motor vehicle
DE102019220157A1 (en) * 2019-12-19 2021-06-24 Volkswagen Aktiengesellschaft Security check method, security check device, information system for a motor vehicle, motor vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004012315A1 (en) * 2004-03-11 2005-10-06 Dspace Gmbh Automatic interfacing of platform independent computer software into program code for a platform dependent functions
DE102005005125A1 (en) * 2005-02-04 2006-08-10 Robert Bosch Gmbh Data interface supplying method, involves modelling data interface to be protected by graphical notation, and defining direct connection between external module and data interface to be protected by graphical notation
DE102007047091A1 (en) * 2007-10-01 2009-04-02 Robert Bosch Gmbh Modular functional units for starting and stopping an internal combustion engine
DE10212151B4 (en) * 2002-03-19 2010-04-29 Rainer Faller Method, computer program product, computer program, storage medium with computer program stored thereon and computer system for safety-critical applications in machines, devices and / or systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10212151B4 (en) * 2002-03-19 2010-04-29 Rainer Faller Method, computer program product, computer program, storage medium with computer program stored thereon and computer system for safety-critical applications in machines, devices and / or systems
DE102004012315A1 (en) * 2004-03-11 2005-10-06 Dspace Gmbh Automatic interfacing of platform independent computer software into program code for a platform dependent functions
DE102005005125A1 (en) * 2005-02-04 2006-08-10 Robert Bosch Gmbh Data interface supplying method, involves modelling data interface to be protected by graphical notation, and defining direct connection between external module and data interface to be protected by graphical notation
DE102007047091A1 (en) * 2007-10-01 2009-04-02 Robert Bosch Gmbh Modular functional units for starting and stopping an internal combustion engine

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Design Specification (Fachkonzept) - BMW Group Forschung und Technik, 17. Dezember 2009
EMVY: The Embedded Vehicular IT Security Construction Kit, Basic Concept from 17. Dezember 2009, BMW Group Forschung und Technik
KOCHER,Paul,et.al.:Security as a New Dimension in Embedded System Design.In:Design Automation Conference,DAC 2004 Abstr., Kap.1,4,5 *
RFC 3748

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016210786A1 (en) 2016-02-18 2017-08-24 Volkswagen Aktiengesellschaft Component for connection to a data bus and method for implementing a cryptographic functionality in such a component
US10057071B2 (en) 2016-02-18 2018-08-21 Volkswagen Ag Component for connecting to a data bus, and methods for implementing a cryptographic functionality in such a component
WO2018010938A1 (en) 2016-07-13 2018-01-18 Audi Ag Direct access to bus signals in a motor vehicle
DE102016008957A1 (en) 2016-07-13 2018-01-18 Audi Ag Direct access to bus signals in a motor vehicle
US10958472B2 (en) 2016-07-13 2021-03-23 Audi Ag Direct access to bus signals in a motor vehicle
DE102019220164A1 (en) * 2019-12-19 2021-06-24 Volkswagen Aktiengesellschaft Security check method, security check device, information system, motor vehicle
DE102019220157A1 (en) * 2019-12-19 2021-06-24 Volkswagen Aktiengesellschaft Security check method, security check device, information system for a motor vehicle, motor vehicle

Similar Documents

Publication Publication Date Title
DE102012110499B4 (en) Safety access procedure for electronic automotive control units
DE60115072T3 (en) SYSTEM AND METHOD FOR SUBMITING A SOFTWARE CODE
EP2159653B1 (en) Method for assigning access authorisation to a computer-based object in an automation system, computer program and automation system
DE102011081804B4 (en) Method and system for providing device-specific operator data, which are bound to an authentication credential, for an automation device of an automation system
DE102009013384B4 (en) System and method for providing a secure application fragmentation environment
EP2689553B1 (en) Motor vehicle control unit having a cryptographic device
DE102015209108A1 (en) Method and decision gateway for authorizing a function of an embedded controller
DE102013108020A1 (en) Authentication scheme for activating a special privilege mode in a secure electronic control unit
DE112011103580B4 (en) A method, secure entity, system, and computer program product for securely managing user access to a file system
DE112021005478T5 (en) METHOD OF PROTECTING AN EDGE DEVICE TRUST
EP2692157A2 (en) Updating a data storage medium application
WO2012168019A2 (en) Access to data stored in a cloud
DE102010004786A1 (en) Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation
DE102018217431A1 (en) Secure key exchange on one device, especially an embedded device
WO2021204943A2 (en) Monitoring system with multistage request verification
EP3167401B1 (en) Method and device for making processes secure
DE102018002466A1 (en) Method and device for establishing a secure data transmission connection
DE102021130811A1 (en) BLOCKCHAIN SELECTIVE WORLD-STATE DATABASE
EP3449655A1 (en) Method for the secure interaction of a user with a mobile terminal and a further entity
DE102016218988A1 (en) communication system
CN113411311A (en) ECU (electronic control Unit) diagnosis authorization verification method, storage medium and system
EP3244332B1 (en) Method for reading attributes from an id token
EP3167400B1 (en) Method and device for making processes secure
DE102005041055A1 (en) Electronic device`s e.g. personal computer, trustworthiness verifying method, involves combining user linked data and device linked data using communication initiated by data carrier e.g. chip card
DE102021132225A1 (en) MANAGEMENT OF SHARED AUTHENTICATION Credentials

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000