WO2022117306A1 - Method for making available program data from a database - Google Patents

Method for making available program data from a database Download PDF

Info

Publication number
WO2022117306A1
WO2022117306A1 PCT/EP2021/081377 EP2021081377W WO2022117306A1 WO 2022117306 A1 WO2022117306 A1 WO 2022117306A1 EP 2021081377 W EP2021081377 W EP 2021081377W WO 2022117306 A1 WO2022117306 A1 WO 2022117306A1
Authority
WO
WIPO (PCT)
Prior art keywords
program data
requirements
integration
computing system
information
Prior art date
Application number
PCT/EP2021/081377
Other languages
German (de)
French (fr)
Inventor
Sabine Wenz
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2022117306A1 publication Critical patent/WO2022117306A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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

Definitions

  • the present invention relates to a method for providing program data from a database provided on a computing system, as well as a computing system and a computer program for executing it.
  • Quality checks or "quality gates" to be passed during development and before delivery of the software are usually anchored in the manufacturer's software development process and are therefore independent of the requirements of the functional safety standards.
  • the invention deals with the provision of program data from a database provided on a computer system, in particular in the so-called cloud, i.e. a server that can be reached via the Internet, for example, for downloading by a user, for example.
  • the program data can in particular include software such as a software application or a function thereof, but also only data that is used, for example, in the context of such software applications or functions, e.g. maps or application curves.
  • program data that is to be used for example, for control devices in vehicles or other machines, is or should be made available in this way is the idea that a development platform can be created, the companies involved (which provide the program data, i.e. e.g. developing software) offers the possibility to host your program data (centrally) and then provide or release it to customers or users on request. For this purpose, however, compliance with safety standards must be guaranteed across all manufacturers.
  • the manufacturers or developers of a software application or other program data are usually not aware of the end customer's security requirements for the software application or program data and therefore usually have no direct interest in verifying one or more domain-specific standards.
  • program data such as functions of and data for software applications are directly or indirectly subject to certain functional safety requirements.
  • a direct reference exists if the program data, such as a software application or a function provided by it, itself has a certain risk potential or is used to avert a risk potential. This includes, for example, software applications that cause steering movements in a vehicle or access the brakes.
  • connection if program data such as a software application or a function provided by it does not itself have any potential risk or is used to avert such a risk, but is used in connection with such a software application or function.
  • An example of this would be the measurement or display of distances, eg to the next obstacle in front of a vehicle. Although this is not safety-relevant per se, it is required for safety-relevant functions such as braking in good time.
  • Another indirect reference is when the program data is stored in a software-hardware unit (e.g. in a control unit or an encapsulated part thereof, but also on any other memory such as a database) together with other program data such as a software application or one of these provided function that has a potential risk or is used to avert such. From the point of view of functional safety and the safety and integrity requirements derived from it, this aspect is particularly critical. It is assumed (or must be assumed) that any program data that is located in a software-hardware unit with other program data, software applications or functions without proven separation will "contaminate" them with regard to the guaranteed security requirements.
  • program data such as a software application from a database provided on a computing system for e.g. later downloading
  • the computing system i.e. from the cloud or the underlying server or server network, so to speak.
  • the computer system must be integrated into a network.
  • the program data must have been received by the computing system beforehand, as well as, for example, reference data with information about the program data and about security requirements for the program data.
  • the program data are temporarily stored in an input area provided by the computer system separately from the database (on which the program data are initially stored).
  • a request can come, for example, from a customer or user who wants to download the program data and upload or integrate it into a control unit or other system. This can be done, for example, via a PC and the Internet, an app or the like.
  • requests for the program data are received, ie requests that the user or his system for which the program data is provided has or needs.
  • this comparison can also include other data and/or information that is available in the input area and that, for example, has been entered manually or has also reached the input area in some other way in connection with the setting of the program data.
  • this security directory is in particular correlated with the program data and was generated, for example, when the program data was entered in the database.
  • Such a security directory can in particular serve as proof that the program data meet certain criteria, in particular with regard to security requirements.
  • the information about the program data includes, for example, the responsible manufacturer of the program data, standards used, the version of the program data, a unique identifier for the version and the catalogs supplied (“(context catalogue", “security requirements "Catalogue”, see also below) (for e.g. cryptographic checksums), times, validity, or self-classification of the software integrity level of the program data. In general, one can also speak of a "context catalogue”.
  • the information about the security requirements for the program data include, for example, a description of the conformity with safety requirements from applicable standards, e.g. DIN EN ISO25519 for agriculture, DIN EN ISO 13849 for machines or DIN EN ISO26262 for automotive.
  • This review or this comparison can also be carried out in several stages, i.e. first one aspect of the requirement is queried and checked and then - but possibly only if this first aspect is fulfilled - another aspect. Exemplary topics or requirements that are checked or addressed here are described below.
  • the user can, for example, query the planned application or use case, which is compared with the areas (domains) of the program data permitted according to the safety directory.
  • an integrity level the user can, for example, specify a required integrity level (which he, for example, for his Application required) are queried, which is compared with the integrity level of the program data available according to the security directory.
  • the user can, for example, query the regulatory compliance required according to the security directory (e.g. certain security or other requirements that are required in the desired country of use), which can then be compared with the regulatory compliance documented according to the security directory, required additional measures, or explicit Exclusion criteria are compared.
  • the user can, for example, query the required parameter values for the individual functions of the program data, which are then compared with the parameter values documented for this in accordance with the security directory.
  • the program data will be made available for download (or further use).
  • a provision directory is created in particular, which includes information about the review and is made available for download together with the program data.
  • the program data can then also be removed or deleted from the input area, but in particular only after they have been downloaded or obtained from the user.
  • the information that the provision directory includes can be, for example, the following: an identifier of the checked program data or software, an identifier of a provision or deployment protocol, boundary conditions (e.g. provision target, end user, date; the user can, for example, boundary conditions insofar influence, as who wants to use the program data in certain countries or for a certain period of time or for a certain purpose) of the review and/or provision, a detailed result of the review, in particular including the classification of the safety requirement or the safety integrity level for the reviewed Standards, as well as permissible target markets, and a coded, short result with the boundary conditions.
  • the complete deployment directory i.e. a kind of "deployment catalogue" can also be sent directly to the user or end user.
  • the short result can, for example, be sent to the development goal, ie the system or the computing unit into which the program data is to be integrated.
  • the program data or the software can be released; a corresponding note can be inserted in a header of the program data, for example.
  • the program data can then (with the changed header) be transferred or transmitted to the deployment target.
  • the provision log mentioned can be transferred to the entrance area.
  • the provision log includes, for example, information about the review, the reference data and the requirements. As mentioned, the program data can then be removed or deleted from the input area.
  • an error directory or an error report (“Error Log") is created and made available for download.
  • the program data are then also removed or deleted from the input area, but without having been downloaded, and in particular without being able to download them.
  • the information that the error directory includes can be, for example, the following: an identifier of the checked program data or software, an identifier of the provision or deployment protocol, boundary conditions (e.g. provision target, end user, date) of the verification and/or provision , and a result of the review, in particular including the reason for the negative evaluation.
  • the error directory can be transferred to the end user, the provision log can be transferred to the inbox, the program data can, as mentioned, be removed or deleted from the inbox.
  • the provision log can be created. As already mentioned, this includes, for example, information about the review, the reference data and the requirements. This can also include a link to the security directory, for example, which contains a risk analysis of the requested program data. Also a protocol of the equal to the requirements can be included. The provision log can then be evaluated and archived.
  • an integration directory is preferably provided, which includes information about tests and/or measures for integrating the program data on a computing unit or a system, and provided together with the program data for downloading.
  • the integration can also be controlled by the user or on his computing unit or system.
  • test data and/or test vectors can also be provided for this purpose in the input area.
  • test vectors can be understood to mean structured collections of data with which specific test sequences are defined. These can include, for example, what storage space is required, what input data is required, and what the result should be.
  • the tests and measures included in the integration directory and, in particular, required for the integration can be divided into three groups: first, tests and measures to ensure functional security before the integration is completed, second, tests and measures to ensure software integrity, and third , tests or measures during the runtime of the program data on the system concerned.
  • the tests or measures prior to a final integration should be carried out by the user, logged in the format described and transferred to the computer system. In particular, they then become part of an integration protocol and may be required in order to receive an integration release.
  • Information about an integration carried out according to the integration directory is then received by the computing system. This information can then be checked for specified requirements and, if the requirements are met, the integration release for the program data in relation to the processing unit or the system can be issued or provided. It is useful if the integrity Ration release is only granted if the program data, as mentioned above, has been released for the provision, e.g. a corresponding note has been inserted in the header of the program data.
  • an error directory or error log can be created again.
  • the integration has failed. In both cases, however, an integration log can be created.
  • tests or measures mentioned to ensure the software integrity and the tests or measures during the runtime can also be carried out.
  • the tests or measures to ensure the software integrity may require the end user to carry out a composition analysis, for example. This determines which functions use the provided program data or software. If the users are functions that were provided and transferred in the same process, these functions have, for example, a function-based risk assessment that can be obtained via the provisioning protocol and the risk analysis linked here.
  • composition evaluation can then be created, which lists the system functions and the integrity level with the functions they use and deliver and their integrity level. This list may be part of the integration directory.
  • the end user can request data for a system risk analysis ("Hazard and Risk Analysis”), for example.
  • the computing system can access the risk analysis of the provisioning directory and create a composition risk analysis.
  • This consists, for example, of a representation of the program data provided, including risk data, an identification of the functions used from the transferred program data as well as an identification of the composition including evaluation. This can be stored in the integration directory and used by the end user to create a system risk analysis.
  • test data and data for the analysis mentioned can be requested by the user during runtime and made available for functional validation in the same way as the test data. They contain, for example, test data or test vectors for checking the functionality during runtime or on the deployment target (self-test), and limit values for checking and restricting input parameters during runtime.
  • a checksum can be formed for the existing code and compared with a reference value, or (simple) tests can also be carried out with certain input data and a comparison of the output data with reference data.
  • the integration log can be created again, which, for example, contains all information from the integration directory and the error directory. It may also contain a link to the Security Directory, which contains the risk analysis of the requested program data, and a log of the communication between the end-user or delivery target and the front end. The integration log can then be evaluated, for example, for an analysis of customer behavior and then archived.
  • a computing system e.g. a server, is set up, in particular in terms of programming, to carry out a method according to the invention.
  • Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
  • FIG. 1 schematically shows a sequence of a method according to the invention in a preferred embodiment.
  • FIG. 2 schematically shows a sequence of a method according to the invention in a further preferred embodiment.
  • FIG. 1 shows a sequence of a method according to the invention in a preferred embodiment, specifically using a computing system 120 that is set up accordingly.
  • a manufacturer or provider 100 wants to make program data 110, e.g. a software application or function or specific data for this, available to customers in e.g. a current version of, for example, a specific software application for a control unit of a vehicle or a specific function for this.
  • program data 110 e.g. a software application or function or specific data for this
  • the provider 100 also makes reference data available, which on the one hand includes information 112 about the program data 110 and information 114 about security requirements for the program data 110 .
  • the information 112 about the program data 110 can be, for example, the responsible manufacturer (this can be one, but several manufacturers are also conceivable) of the program data, standards used, the version of the program data, a unique identifier for the version and the catalogs supplied, dates, validity, or self-assessment of the software integrity level of the program data.
  • the information 112 thus represents a "context catalog”.
  • the information 114 about security requirements for the program data 110 can, for example, include a description of the conformity with security requirements from applicable standards. For the example of a vehicle, this is e.g. DIN EN ISO26262 for automotive.
  • the program data 110 is then stored in the database 130 or in a special sub-area 124 for the corresponding security requirements (the sub-areas 126, 128 are provided for other security requirements).
  • the computing system 120 creates a safety directory 150, which includes, for example, all information 112 and 114, as well as, for example, a date and a result of the review, possibly also a classification of the safety requirement for the standards reviewed.
  • the proposed method relates in particular to the provision of this program data 110 from the database 130 for a customer or user 165 who wants to download this program data 110 to a system 160 (or a control unit) and integrate it there.
  • the user - or possibly also automatically the system 160 - makes a request 140 for the provision of the program data 110 to the computer system 120.
  • This request 140 is received by the computer system 120.
  • the program data 110 from the database 130 are then temporarily stored in an input area 122 (or exchange area) provided by the computing system 120 separately from the database 130 .
  • Demands 152 for the program data are then received by the computing system 120 and a check is made as to whether the demands 152 are met by the program data 110 .
  • the requirements 152 is compared with information from a security directory 150, which includes information 112 about the program data 110 and information 114 about security requirements for the program data 120. As already mentioned, the requests 152 can also be received in several stages or in several steps. If the requirements 152 are met, the program data 110 is made available for downloading by the user 165, for example, or--possibly automated--to the system 160.
  • a provisioning record 142 including information about the verification is created and provided with the program data 110 for download.
  • the information contained in the provision directory can be, for example, an identifier for the checked program data 110, a detailed result of the check and a short result with the boundary conditions (further information has already been mentioned above).
  • the full provisioning directory can also be provided directly to the user 165 .
  • the brief result can, for example, be transferred to the provisioning target, i.e. here the system 160.
  • the program data 110 can be released; for this purpose, a corresponding note 111 can be inserted in a header of the program data, for example.
  • an error directory 143 is created and also made available for downloading or sent directly to transferred to user 165.
  • the program data 110 are then removed or deleted from the input area 122 .
  • a provision log 144 is also created, which includes information about the review, the reference data, and the requirements.
  • the program data 120 can also be integrated into the system 160, for example, as part of the proposed procedure.
  • a sequence of a method according to the invention is shown schematically in FIG. 2 in a further preferred embodiment.
  • the procedure here is similar to that described above; deviations will be explained below (the same components are denoted by the same reference symbols as in FIG. 1).
  • an integration directory 242 is provided that contains information about tests and/or measures for the integration of the program data 100 on the system (this can be, for example, a Arithmetic unit act like a control unit) includes, and is provided together with the program data 110 for downloading for the user 165.
  • the integration directory e.g. the provision directory 142 and possibly a general directory 250 for an integration can be used.
  • the integration can then be carried out automatically by the system 160 or, if necessary, by the user 165 .
  • information 240 about an integration carried out according to the integration register 242 is transmitted to the computing system 120 and received by it. This information 240 is checked against predetermined requirements and, if the requirements are met, an integration release 246 for the program data 110 with respect to the system 160 is issued.
  • the tests and measures mentioned to ensure the software integrity and the tests and measures during runtime can also be carried out.
  • an error directory 243 can be created.
  • a note 211 can then be used to indicate that the integration has failed.
  • an integration log 244 can be created which, for example, contains all the information from the integration directory and possibly the error directory.

Abstract

The invention relates to a method for making available program data (110) from a database (130) available in a computing system (120), said method comprising the following steps carried out automatedly by the computing system: - upon a request (140) to make available the program data (110), temporarily storing the program data (110) in an input region (122) made available by the computing system (120) separately from the database (130); - receiving requirements (152) for the program data (110); - checking whether the program data (110) meets the requirements (152), by comparing the requirements with information (112, 114) from a security register (150) that is provided in the computing system (120) and comprises information on the program data (110) and on security requirements for the program data (110); - making the program data (110) available for downloading if the requirements (152) are met.

Description

Beschreibung description
Titel title
Verfahren zum Bereitstellen von Programmdaten aus einer Datenbank Method for providing program data from a database
Die vorliegende Erfindung betrifft ein Verfahren zum Bereitstellen von Programmdaten aus einer auf einem Rechensystem bereitgestellten Datenbank sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung. The present invention relates to a method for providing program data from a database provided on a computing system, as well as a computing system and a computer program for executing it.
Hintergrund der Erfindung Background of the Invention
Für Produkte in sicherheitsrelevanten Bereichen, z.B. bei Fahrzeugen oder Maschinen, existieren je nach Domäne oder Anwendung Normen zur funktionalen Sicherheit. Dies betrifft nicht nur die Hardware, sondern auch die Software oder allgemein Programmdaten, dort insbesondere sog. Software-Integritäts-Level (SIL). Diese Normen beschreiben z.B. Anforderungen an den Software- Entwicklungsprozess und an die Daten- bzw. Softwarebereitstellung. Solche Normen sind z.B. die DIN EN ISO25519 für Landwirtschaft, die DIN EN ISO 13849 für Maschinen, oder die DIN EN ISO26262 für Automotive. For products in safety-relevant areas, e.g. in vehicles or machines, there are functional safety standards depending on the domain or application. This not only affects the hardware, but also the software or program data in general, in particular the so-called software integrity level (SIL). These standards describe, for example, requirements for the software development process and for data and software provision. Such standards are e.g. DIN EN ISO25519 for agriculture, DIN EN ISO 13849 for machines, or DIN EN ISO26262 for automotive.
Während der Software-Entwicklung sind dabei je nach Norm unterschiedliche Qualitätsdaten zu erheben und nachzuweisen. Dies kann manuell oder auch automatisch erfolgen. Zu durchlaufende Qualitätsprüfungen (oder auch "Quality Gates") während der Entwicklung und vor Auslieferung der Software sind in der Regel im Software-Entwicklungsprozess des Herstellers verankert und damit unabhängig von Anforderungen aus den Normen der funktionalen Sicherheit. Depending on the standard, different quality data must be collected and verified during software development. This can be done manually or automatically. Quality checks (or "quality gates") to be passed during development and before delivery of the software are usually anchored in the manufacturer's software development process and are therefore independent of the requirements of the functional safety standards.
Offenbarung der Erfindung Erfindungsgemäß werden ein Verfahren zum Bereitstellen von Programmdaten aus einer Datenbank sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. Disclosure of Invention According to the invention, a method for providing program data from a database and a computing system and a computer program for its implementation with the features of the independent patent claims are proposed. Advantageous configurations are the subject of the dependent claims and the following description.
Die Erfindung beschäftigt sich mit dem Bereitstellen von Programmdaten aus einer auf einem Rechensystem bereitgestellten Datenbank, insbesondere in der sog. Cloud, also einem z.B. über Internet erreichbaren Server, zum Herunterladen durch z.B. einen Anwender. Die Programmdaten können dabei insbesondere Software wie eine Softwareanwendung oder eine Funktion hiervon umfassen, ebenso aber auch nur Daten, die z.B. im Rahmen von solchen Softwareanwendungen oder Funktionen verwendet werden, z.B. Karten oder Applikationskurven. The invention deals with the provision of program data from a database provided on a computer system, in particular in the so-called cloud, i.e. a server that can be reached via the Internet, for example, for downloading by a user, for example. The program data can in particular include software such as a software application or a function thereof, but also only data that is used, for example, in the context of such software applications or functions, e.g. maps or application curves.
Ein Grund, weshalb Programmdaten, die z.B. für Steuergeräte in Fahrzeugen oder anderen Maschinen verwendet werden sollen, auf diese Weise bereitgestellt werden oder werden sollen, ist die Überlegung, dass eine Entwicklungs-Plattform geschaffen werden kann, die beteiligten Unternehmen (die die Programmdaten bereitstellen, also z.B. Software entwickeln) die Möglichkeit bietet, ihre Programmdaten (zentral) zu hosten und dann auf Anforderung an Kunden bzw. Anwender bereitzustellen bzw. herauszugeben. Hierfür muss aber herstellerübergreifend die Einhaltung von Sicherheitsnormen gewährleistet sein. One reason why program data that is to be used, for example, for control devices in vehicles or other machines, is or should be made available in this way is the idea that a development platform can be created, the companies involved (which provide the program data, i.e. e.g. developing software) offers the possibility to host your program data (centrally) and then provide or release it to customers or users on request. For this purpose, however, compliance with safety standards must be guaranteed across all manufacturers.
Die Hersteller bzw. Entwickler einer Softwareanwendung oder anderer Programmdaten kennen in der Regel die Sicherheitsanforderung des Endkunden an die Softwareanwendung bzw. Programmdaten nicht und haben daher meist auch kein direktes Interesse am Nachweis für eine oder mehrere domänen-spezifische Normen. Programmdaten wie Funktionen von und Daten für Softwareanwendungen unterliegen aber direkt oder indirekt gewissen Anforderungen der funktionalen Sicherheit. Ein direkter Bezug liegt vor, wenn die Programmdaten, wie eine Softwareanwendung oder eine von ihr bereitgestellte Funktion, selbst ein gewisses Gefährdungspotential aufweisen oder zur Abwendung eines Gefährdungspotentials dienen. Hierunter fallen z.B. Softwareanwendungen, die in einem Fahrzeug Lenkbewegungen verursachen oder auf die Bremsen zugreifen. Ein indirek- ter Bezug liegt vor, wenn Programmdaten wie eine Softwareanwendung oder eine von ihr bereitgestellte Funktion selbst zwar kein Gefährdungspotential aufweisen bzw. zur Abwendung eines solchen dienen, aber im Zusammenhang mit einer solchen Softwareanwendung bzw. Funktion verwendet werden. Ein Beispiel hierfür wäre die Messung oder Anzeige von Entfernungen, z.B. zum nächsten Hindernis vor einem Fahrzeug. Dies ist an sich zwar nicht sicherheitsrelevant, wir aber für sicherheitsrelevante Funktionen wie z.B. einem rechtzeitigen Bremsen benötigt. The manufacturers or developers of a software application or other program data are usually not aware of the end customer's security requirements for the software application or program data and therefore usually have no direct interest in verifying one or more domain-specific standards. However, program data such as functions of and data for software applications are directly or indirectly subject to certain functional safety requirements. A direct reference exists if the program data, such as a software application or a function provided by it, itself has a certain risk potential or is used to avert a risk potential. This includes, for example, software applications that cause steering movements in a vehicle or access the brakes. an indirect There is a connection if program data such as a software application or a function provided by it does not itself have any potential risk or is used to avert such a risk, but is used in connection with such a software application or function. An example of this would be the measurement or display of distances, eg to the next obstacle in front of a vehicle. Although this is not safety-relevant per se, it is required for safety-relevant functions such as braking in good time.
Ein weiterer indirekter Bezug liegt vor, wenn die Programmdaten in einer Software-Hardware-Einheit (z.B. in einem Steuergerät oder einem abgekapselten Teil davon, aber auch auf jedem anderen beliebigen Speicher wie einer Datenbank) zusammen mit anderen Programmdaten wie einer Softwareanwendung oder einer von dieser bereitgestellten Funktion liegen, die ein Gefährdungspotential aufweist bzw. zur Abwendung eines solchen dient. Dieser Aspekt ist vom Gesichtspunkt der funktionalen Sicherheit und der daraus abgeleiteten Sicherheits- bzw. Integritätsanforderungen her gesehen ein besonders kritischer. Es wird nämlich unterstellt (oder muss unterstellt werden), dass beliebige Programmdaten, die ohne nachgewiesene Trennung in einer Software-Hardware-Einheit mit anderen Programmdaten, Softwareanwendungen oder Funktionen liegen, diese hinsichtlich der gewährleisteten Sicherheitsanforderungen „kontaminieren“. Another indirect reference is when the program data is stored in a software-hardware unit (e.g. in a control unit or an encapsulated part thereof, but also on any other memory such as a database) together with other program data such as a software application or one of these provided function that has a potential risk or is used to avert such. From the point of view of functional safety and the safety and integrity requirements derived from it, this aspect is particularly critical. It is assumed (or must be assumed) that any program data that is located in a software-hardware unit with other program data, software applications or functions without proven separation will "contaminate" them with regard to the guaranteed security requirements.
Die Folge davon ist, dass alle Programmdaten dieser Hardware-Software-Einheit den Softwareintegritätslevel der Programmdaten mit der niedrigsten Integritätseinstufung einnehmen. In der Konsequenz muss eine solche Kontamination der in der Cloud bzw. der Datenbank liegenden Programmdaten verhindert werden, ebenso aber später beim Einsatz auf z.B. einem Steuergerät. Es müssen also, zusätzlich zu den funktionalen Anforderungen des Kunden Anforderungen nonfunktionaler Art und hier insbesondere die Einhaltung der Software-Integrität gewährleistet sein. Zusätzlich sollte die Fehlverwendung von Programmdaten von niedrigem Integritätslevel bzw. niedriger Sicherheitsanforderung in einem Produkt mit hohen bzw. höheren Sicherheitsanforderungen verhindert oder weitest möglich eingeschränkt werden. Dies beinhaltet zum einen, dass der Kunde seine Anforderungen an das Integritätslevel bzw. die Sicherheitsanforderungen im Rah- men der Bereitstellung explizit benennen soll, und zum anderen, dass der Zulieferer bzw. Hersteller bei Kenntnis von Fehlverwendung diese, falls möglich, unterbinden sollte. The consequence of this is that all program data of this hardware-software unit assumes the software integrity level of the program data with the lowest integrity classification. As a consequence, such a contamination of the program data in the cloud or the database must be prevented, but also later when used on a control device, for example. In addition to the functional requirements of the customer, there must also be requirements of a non-functional nature and here in particular compliance with software integrity must be guaranteed. In addition, the incorrect use of program data with a low integrity level or low security requirements in a product with high or higher security requirements should be prevented or restricted as far as possible. On the one hand, this includes the customer specifying his requirements for the level of integrity or the security requirements within should explicitly name the provision, and on the other hand that the supplier or manufacturer should, if possible, prevent misuse if they are aware of it.
Vor diesem Hintergrund wird das im Folgenden erläuterte Vorgehen für das Bereitstellen von Programmdaten wie z.B. einer Softwareanwendung aus einer auf einem Rechensystem bereitgestellten Datenbank für z.B. späteres Herunterladen vorgeschlagen, das automatisiert von dem Rechensystem (also sozusagen von der Cloud bzw. dem zugrundliegenden Server oder Serververbund) durchgeführt wird. Das Rechensystem ist hierzu entsprechend in ein Netzwerk einzubinden. Es versteht sich, dass die Programmdaten zuvor vom Rechensystem empfangen worden sei müssen, ebenso wie z.B. Referenzdaten mit Informationen über die Programmdaten sowie über Sicherheitsanforderungen an die Programmdaten. Against this background, the procedure explained below for the provision of program data such as a software application from a database provided on a computing system for e.g. later downloading is proposed, which is automated by the computing system (i.e. from the cloud or the underlying server or server network, so to speak). is carried out. For this purpose, the computer system must be integrated into a network. It goes without saying that the program data must have been received by the computing system beforehand, as well as, for example, reference data with information about the program data and about security requirements for the program data.
Die Programmdaten werden, auf eine Anfrage zum Bereitstellen der Programmdaten hin, in einem von dem Rechensystem getrennt von der Datenbank (auf die Programmdaten zunächst gespeichert sind) bereitgestellten Eingangsbereich zwischengespeichert. Eine solche Anfrage kann z.B. von einem Kunden oder Anwender, der die Programmdaten herunterladen und in ein Steuergerät oder ein sonstiges System aufspielen oder integrieren will, stammen. Diese kann beispielsweise über einen PC und Internet, eine App oder dergleichen erfolgen. In response to a request to provide the program data, the program data are temporarily stored in an input area provided by the computer system separately from the database (on which the program data are initially stored). Such a request can come, for example, from a customer or user who wants to download the program data and upload or integrate it into a control unit or other system. This can be done, for example, via a PC and the Internet, an app or the like.
Danach oder ggf. auch zumindest teilweise zusammen mit der Anfrage werden Anforderungen an die Programmdaten empfangen, also Anforderungen, die der Anwender bzw. dessen System, für das die Programmdaten vorgesehen sind, hat oder benötigt. Hierzu wird dann überprüft, ob die Anforderungen von den Programmdaten erfüllt werden. Dies erfolgt durch Abgleichen der Anforderungen mit Informationen aus einem auf dem Rechensystem vorhandenen Sicherheitsverzeichnis, die wiederum Informationen über die Programmdaten sowie über Sicherheitsanforderungen an die Programmdaten umfassen. Dieser Abgleich kann zudem aber auch andere, im Eingangsbereich verfügbare Daten und/oder Informationen umfassen, die z.B. manuelle eingestellt wurden oder auch sonst im Zusammenhang mit dem Einstellen der Programmdaten in den Eingangsbereich gelangt sind. Dieses Sicherheitsverzeichnis ist dabei insbesondere mit den Programmdaten korreliert und z.B. beim Einstellen der Programmdaten auf die Datenbank erzeugt worden. Ein solches Sicherheitsverzeichnis kann insbesondere als Nachweis dafür dienen, dass die Programmdaten bestimmte Kriterien, insbesondere hinsichtlich Sicherheitsanforderungen, erfüllen. After that, or possibly at least partially together with the request, requests for the program data are received, ie requests that the user or his system for which the program data is provided has or needs. For this purpose, it is then checked whether the requirements are met by the program data. This is done by comparing the requirements with information from a security directory present on the computing system, which in turn includes information about the program data and about security requirements for the program data. However, this comparison can also include other data and/or information that is available in the input area and that, for example, has been entered manually or has also reached the input area in some other way in connection with the setting of the program data. In this case, this security directory is in particular correlated with the program data and was generated, for example, when the program data was entered in the database. Such a security directory can in particular serve as proof that the program data meet certain criteria, in particular with regard to security requirements.
Diese Informationen im Sicherheitsverzeichnis können dabei teils auch von dem Entwickler oder Hersteller, von dem die Programmdaten in die Datenbank eingestellt wurden, stammen. Die Informationen über die Programmdaten (sog. "Kontext-Katalog") umfassen z.B. die verantwortlichen Hersteller der Programmdaten, verwendete Normen, die Version der Programmdaten, einen eindeutigen Identifier für die Version sowie mitgelieferte Kataloge ("(Kontext-Katalog", "Sicherheitsanforderungs-Katalog", siehe auch nachfolgend) (für z.B. kryptographische Prüfsummen), Zeitpunkte, Gültigkeit, oder Selbsteinstufung des Software- Integritätslevels der Programmdaten. Hier kann allgemein auch von einem "Kontext-Katalog" gesprochen werden. Die Informationen über die Sicherheitsanforderungen an die Programmdaten( sog. " Sicherheitsanforderungs-Katalog") umfassen z.B. eine Beschreibung der Konformität mit Sicherheitsanforderungen aus anzuwenden Normen, z.B. die eingangs schon genannte DIN EN ISO25519 für Landwirtschaft, die DIN EN ISO 13849 für Maschinen oder die DIN EN ISO26262 für Automotive. Some of this information in the security directory can also come from the developer or manufacturer who entered the program data into the database. The information about the program data (so-called "context catalogue") includes, for example, the responsible manufacturer of the program data, standards used, the version of the program data, a unique identifier for the version and the catalogs supplied ("(context catalogue", "security requirements "Catalogue", see also below) (for e.g. cryptographic checksums), times, validity, or self-classification of the software integrity level of the program data. In general, one can also speak of a "context catalogue". The information about the security requirements for the program data ( so-called "safety requirements catalog") include, for example, a description of the conformity with safety requirements from applicable standards, e.g. DIN EN ISO25519 for agriculture, DIN EN ISO 13849 for machines or DIN EN ISO26262 for automotive.
Diese Überprüfung bzw. dieser Abgleich kann ggf. auch in mehreren Stufen erfolgen, d.h. dass zunächst ein Aspekt der Anforderung abgefragt und geprüft wird und danach - aber ggf. auch nur, wenn dieser erste Aspekt erfüllt ist - ein weiterer Aspekt. Beispielhafte Themen bzw. Anforderungen, die hierbei geprüft bzw. adressiert werden, werden im Folgenden beschrieben. This review or this comparison can also be carried out in several stages, i.e. first one aspect of the requirement is queried and checked and then - but possibly only if this first aspect is fulfilled - another aspect. Exemplary topics or requirements that are checked or addressed here are described below.
Aus dem Bereich der funktionalen Sicherheit (Safety Domäne) kann vom Anwender z.B. die geplante Anwendung oder der Anwendungsfall abgefragt werden, die mit den gemäß Sicherheitsverzeichnis zugelassenen Bereichen (Domänen) der Programmdaten abgeglichen wird. Hinsichtlich eines Integritätslevels kann vom Anwender z.B. ein erforderliches I ntegritätslevel (das er z.B. für seine Anwendung benötigt) abgefragt werden, das mit dem gemäß Sicherheitsverzeichnis verfügbaren I ntegritätslevel der Programmdaten abgeglichen wird. Aus dem Bereich 'Länderspezifika' kann vom Anwender z.B. die gemäß Sicherheitsverzeichnis erforderliche Regularien-Compliance (z.B. bestimmte Sicherheitsoder sonstige Anforderungen, die im gewünschten Einsatzland erforderlich ist) abgefragt werden, die dann mit der gemäß Sicherheitsverzeichnis dokumentierten Regularien-Compliance, erforderlichen Zusatzmaßnahmen, oder expliziten Ausschlusskriterien abgeglichen wird. Aus dem Bereich 'Funktionsspezifika' können vom Anwender z.B. erforderliche Parameterwerte für die einzelnen Funktionen der Programmdaten abgefragt werden, die dann mit gemäß Sicherheitsverzeichnis dokumentierten Parameterwerten hierfür abgeglichen werden. From the area of functional safety (safety domain), the user can, for example, query the planned application or use case, which is compared with the areas (domains) of the program data permitted according to the safety directory. With regard to an integrity level, the user can, for example, specify a required integrity level (which he, for example, for his Application required) are queried, which is compared with the integrity level of the program data available according to the security directory. From the 'Country specifics' area, the user can, for example, query the regulatory compliance required according to the security directory (e.g. certain security or other requirements that are required in the desired country of use), which can then be compared with the regulatory compliance documented according to the security directory, required additional measures, or explicit Exclusion criteria are compared. From the 'Function specifics' area, the user can, for example, query the required parameter values for the individual functions of the program data, which are then compared with the parameter values documented for this in accordance with the security directory.
Wenn diese automatisierte Bewertung ergibt, dass die Anforderungen erfüllt sind, werden die Programmdaten zum Herunterladen (bzw. für eine weitere Verwendung) bereitgestellt. Ergänzend hierzu wird insbesondere ein Bereitstellungsverzeichnis erstellt, das Informationen über die Überprüfung umfasst und zusammen mit den Programmdaten zum Herunterladen bereitgestellt wird. Die Programmdaten können dann auch aus dem Eingangsbereich entfernt bzw. gelöscht werden, insbesondere aber erst, nachdem sie heruntergeladen bzw. vom Anwender bezogen worden sind. If this automated assessment determines that the requirements are met, the program data will be made available for download (or further use). In addition to this, a provision directory is created in particular, which includes information about the review and is made available for download together with the program data. The program data can then also be removed or deleted from the input area, but in particular only after they have been downloaded or obtained from the user.
Die Informationen, die das Bereitstellungsverzeichnis umfasst, können z.B. die folgenden sein: ein Identifier der überprüften Programmdaten bzw. Software, ein Identifier eines Bereitstellungs- bzw. Deployment Protokolls, Randbedingungen (z.B. Bereitstellungsziel, End-Anwender, Datum; der Anwender kann z.B. Randbedingungen insofern beeinflussen, als der die Programmdaten in bestimmten Ländern oder für einen bestimmte Dauer oder einen bestimmten Zweck verwenden will) der Überprüfung und/oder Bereitstellung, ein ausführliches Ergebnis der Überprüfung, insbesondere inklusive Klassifizierung der Sicherheitsanforderung bzw. des Safety- Integrity- Levels für die überprüften Normen, sowie zulässige Zielmärkte, und ein kodiertes, kurzes Ergebnis mit den Randbedingungen. Das vollständige Bereitstellungsverzeichnis (also eine Art "Deployment Katalog") kann auch direkt an den Anwender bzw. End-Anwender überstellt werden. Das kurze Ergebnis kann bei entsprechender Konfiguration z.B. an das Bereitstel- lungsziel, d.h. das System bzw. die Recheneinheit, in die die Programmdaten integriert werden sollen, überstellt werden. Auf diese Weise können die Programmdaten bzw. die Software freigegeben werden; hierzu kann z.B. in einem Header der Programmdaten ein entsprechender Hinweis eingefügt werden. Die Programmdaten können danach (mit dem geänderten Header) an das Bereitstellungsziel überstellt bzw. übermittelt werden. Zudem kann das erwähnte Bereitstellungsprotokoll an den Eingangsbereich überstellt werden. Das Bereitstellungsprotokoll umfasst z.B. Informationen über die Überprüfung, zu den Referenzdaten und den Anforderungen. Die Programmdaten können, wie erwähnt, dann aus dem Eingangsbereich entfernt bzw. gelöscht werden. The information that the provision directory includes can be, for example, the following: an identifier of the checked program data or software, an identifier of a provision or deployment protocol, boundary conditions (e.g. provision target, end user, date; the user can, for example, boundary conditions insofar influence, as who wants to use the program data in certain countries or for a certain period of time or for a certain purpose) of the review and/or provision, a detailed result of the review, in particular including the classification of the safety requirement or the safety integrity level for the reviewed Standards, as well as permissible target markets, and a coded, short result with the boundary conditions. The complete deployment directory (i.e. a kind of "deployment catalogue") can also be sent directly to the user or end user. With the appropriate configuration, the short result can, for example, be sent to the development goal, ie the system or the computing unit into which the program data is to be integrated. In this way, the program data or the software can be released; a corresponding note can be inserted in a header of the program data, for example. The program data can then (with the changed header) be transferred or transmitted to the deployment target. In addition, the provision log mentioned can be transferred to the entrance area. The provision log includes, for example, information about the review, the reference data and the requirements. As mentioned, the program data can then be removed or deleted from the input area.
Wenn die Anforderungen hingegen nicht erfüllt sind (also eine negative Bewertung vorliegt), so wird zweckmäßigerweise ein Fehlerverzeichnis oder ein Fehlerreport ("Error Log") erstellt und zum Herunterladen bereitgestellt. Insbesondere werden die Programmdaten dann ebenfalls aus dem Eingangsbereich entfernt bzw. gelöscht, aber eben ohne, dass sie heruntergeladen worden sind, und insbesondere auch ohne, dass sie heruntergeladen werden konnten. Die Informationen, die das Fehlerverzeichnis umfasst, können z.B. die folgenden sein: ein Identifier der überprüften Programmdaten bzw. Software, ein Identifier des Bereitstellungs- bzw. Deployment Protokolls, Randbedingungen (z.B. Bereitstellungsziel, End-Anwender, Datum) der Überprüfung und/oder Bereitstellung, und ein Ergebnis der Überprüfung, insbesondere inklusive Begründung der negativen Bewertung. Das Fehlerverzeichnis kann an den End-Anwender überstellt werden, das Bereitstellungsprotokoll kann an den Eingangsbereich überstellt werden, die Programmdaten können, wie erwähnt, aus dem Eingangsbereich entfernt bzw. gelöscht werden. If, on the other hand, the requirements are not met (i.e. there is a negative evaluation), an error directory or an error report ("Error Log") is created and made available for download. In particular, the program data are then also removed or deleted from the input area, but without having been downloaded, and in particular without being able to download them. The information that the error directory includes can be, for example, the following: an identifier of the checked program data or software, an identifier of the provision or deployment protocol, boundary conditions (e.g. provision target, end user, date) of the verification and/or provision , and a result of the review, in particular including the reason for the negative evaluation. The error directory can be transferred to the end user, the provision log can be transferred to the inbox, the program data can, as mentioned, be removed or deleted from the inbox.
In beiden Fällen, also bei positiver und negativer Bewertung bzw. bei Erfüllen und Nicht-Erfüllen der Anforderungen kann also das Bereitstellungsprotokoll erstellt werden. Dieses umfasst, wie schon erwähnt, z.B. Informationen über die Überprüfung, zu den Referenzdaten und den Anforderungen. Dies kann z.B. auch eine Verlinkung zum Sicherheitsverzeichnis umfassen, das eine Risiko- Analyse der angeforderten Programmdaten enthält. Auch ein Protokoll des Ab- gleichs der Anforderungen kann umfasst sein. Das Bereitstellungsprotokoll kann dann ausgewertet und archiviert werden. In both cases, i.e. with a positive and negative evaluation or with fulfillment and non-fulfillment of the requirements, the provision log can be created. As already mentioned, this includes, for example, information about the review, the reference data and the requirements. This can also include a link to the security directory, for example, which contains a risk analysis of the requested program data. Also a protocol of the equal to the requirements can be included. The provision log can then be evaluated and archived.
Bevorzugt wird nach dem Bereitstellen der Programmdaten ein Integrationsverzeichnis bereitgestellt, das Informationen über Tests und/oder Maßnahmen zur Integration der Programmdaten auf einer Recheneinheit bzw. einem System umfasst, und zusammen mit den Programmdaten zum Herunterladen bereitgestellt. Auf diese Weise kann auch die Integration beim Anwender bzw. auf dessen Recheneinheit oder System gesteuert werden. After the program data has been provided, an integration directory is preferably provided, which includes information about tests and/or measures for integrating the program data on a computing unit or a system, and provided together with the program data for downloading. In this way, the integration can also be controlled by the user or on his computing unit or system.
In dem Eingangsbereich können hierfür neben dem Integrationsverzeichnis auch Testdaten und/oder Testvektoren bereitgestellt werden. Unter Testvektoren können hierbei strukturierte Datensammlungen verstanden werden, mit denen bestimmte Testablaufe definiert werden. Diese können z.B. umfassen, welcher Speicherplatz benötigt wird, welche Eingangsdaten nötig sind, und was das Resultat sein soll. In addition to the integration directory, test data and/or test vectors can also be provided for this purpose in the input area. In this context, test vectors can be understood to mean structured collections of data with which specific test sequences are defined. These can include, for example, what storage space is required, what input data is required, and what the result should be.
Die vom Integrationsverzeichnis umfassten und insbesondere auch für die Integration erforderlichen Tests und Maßnahmen können in drei Gruppen unterteilt werden: erstens, Tests bzw. Maßnahmen zur funktionalen Absicherung vor Abschluss der Integration, zweitens, Tests bzw. Maßnahmen zur Absicherung der Software- Integrität, und drittens, Tests bzw. Maßnahmen während der Laufzeit der Programmdaten auf dem betreffenden System. The tests and measures included in the integration directory and, in particular, required for the integration can be divided into three groups: first, tests and measures to ensure functional security before the integration is completed, second, tests and measures to ensure software integrity, and third , tests or measures during the runtime of the program data on the system concerned.
Die Tests bzw. Maßnahmen vor einer abschließenden Integration sind zweckmäßigerweise vom Anwender durchzuführen, im beschriebenen Format zu protokollieren und an das Rechensystem zu übergeben. Sie werden dann insbesondere Bestandteil eines Integrationsprotokolls und können erforderlich sein, um eine Integrationsfreigabe zu erhalten. Vom Rechensystem werden damit dann also Informationen über eine gemäß Integrationsverzeichnis durchgeführte Integration empfangen. Diese Informationen können dann auf vorgegebene Anforderungen überprüft werden, und, wenn die Anforderungen erfüllt sind, kann die Integrationsfreigabe für die Programmdaten in Bezug auf die Recheneinheit bzw. das System erteilt bzw. bereitgestellt werden. Zweckmäßig ist es, wenn die Integ- rationsfreigabe nur dann erteilt wird, wenn die Programmdaten, wie zuvor erwähnt, für die Bereitstellung freigegeben wurden, also z.B. im Header der Programmdaten ein entsprechender Hinweis eingefügt wurde. The tests or measures prior to a final integration should be carried out by the user, logged in the format described and transferred to the computer system. In particular, they then become part of an integration protocol and may be required in order to receive an integration release. Information about an integration carried out according to the integration directory is then received by the computing system. This information can then be checked for specified requirements and, if the requirements are met, the integration release for the program data in relation to the processing unit or the system can be issued or provided. It is useful if the integrity Ration release is only granted if the program data, as mentioned above, has been released for the provision, e.g. a corresponding note has been inserted in the header of the program data.
Bei negativen Tests bzw. Maßnahmen vor abschließender Integration, d.h. wenn die Anforderungen nicht erfüllt sind, kann wieder ein Fehlerverzeichnis oder Fehlerprotokoll erstellt werden. Im Header der Programmdaten bzw. Software kann zudem vermerkt werden, dass die Integration fehlgeschlagen ist. In beiden Fällen aber kann ein Integrationsprotokoll erstellt werden. In the case of negative tests or measures before final integration, i.e. if the requirements are not met, an error directory or error log can be created again. In the header of the program data or software, it can also be noted that the integration has failed. In both cases, however, an integration log can be created.
Bei positiven Tests bzw. Maßnahmen vor abschließender Integration können zusätzlich die erwähnten Tests bzw. Maßnahmen zur Absicherung der Software- Integrität und die Tests bzw. Maßnahmen während der Laufzeit durchgeführt werden. Die Tests bzw. Maßnahmen zur Absicherung der Software-Integrität können vom End-Anwender z.B. die Durchführung einer Kompositionsanalyse erfordern. Diese bestimmt, von welchen Funktionen die bereitgestellten Programmdaten bzw. Software verwendet werden. Handelt es sich bei den Verwendern um Funktionen, die im selben Vorgang bereitgestellt und überstellt wurden, verfügen diese Funktionen z.B. über eine funktionsbasierte Risikobewertung, die über das Bereitstellungsprotokoll und die hierin verlinkte Risiko-Analyse bezogen werden kann. If the tests or measures are positive before the final integration, the tests or measures mentioned to ensure the software integrity and the tests or measures during the runtime can also be carried out. The tests or measures to ensure the software integrity may require the end user to carry out a composition analysis, for example. This determines which functions use the provided program data or software. If the users are functions that were provided and transferred in the same process, these functions have, for example, a function-based risk assessment that can be obtained via the provisioning protocol and the risk analysis linked here.
Auf Basis der Kompositionsanalyse und der Daten aus dem Bereitstellungsverzeichnis kann dann eine Kompositionsbewertung erstellt werden, die Systemfunktionen und den I ntegritätslevel mit den von ihnen verwendeten, ausgelieferten Funktionen und deren I ntegritätslevel listet. Diese Liste kann Bestandteil des Integrationsverzeichnisses sein. Based on the composition analysis and the data from the provision directory, a composition evaluation can then be created, which lists the system functions and the integrity level with the functions they use and deliver and their integrity level. This list may be part of the integration directory.
Zusätzlich können vom End-Anwender z.B. Daten für eine System-Risiko- Analyse ("Hazard and Risk Analysis") angefragt werden. In diesem Fall kann das Rechensystem auf die Risiko-Analyse des Bereitstellungsverzeichnisses zugreifen und eine Kompositionsrisiko-Analyse erstellen. Diese besteht z.B. aus einer Darstellung der bereitgestellten Programmdaten inklusive Risikodaten, einer Ausweisung der verwendeten Funktionen aus den überstellten Programmdaten sowie einer Ausweisung der Komposition inklusive Bewertung. Diese kann im Integrationsverzeichnis hinterlegt und vom End-Anwender für die Erstellung einer System-Risiko-Analyse verwendet werden. In addition, the end user can request data for a system risk analysis ("Hazard and Risk Analysis"), for example. In this case, the computing system can access the risk analysis of the provisioning directory and create a composition risk analysis. This consists, for example, of a representation of the program data provided, including risk data, an identification of the functions used from the transferred program data as well as an identification of the composition including evaluation. This can be stored in the integration directory and used by the end user to create a system risk analysis.
Zusätzlich können vom Anwender die Testdaten und Daten zur erwähnten Analyse während der Laufzeit angefragt und anlog zu den Testdaten für die funktionale Absicherung zur Verfügung gestellt werden. Sie beinhalten z.B. Testdaten oder Testvektoren zur Überprüfung der Funktionalität während der Laufzeit bzw. auf dem Bereitstellungsziel (Selbst-Test), und Grenzwerte zur Überprüfung und Beschränkung von Eingangsparametern während der Laufzeit. Bei einem solchen Test zur Laufzeit kann z.B. eine Prüfsumme über den vorhandenen Code gebildet und mit einem Referenzwert verglichen werden, oder es können auch (einfache) Test mit bestimmten Eingangsdaten und einem Vergleich der Ausgangsdaten mit Referenzdaten durchgeführt werden. In addition, the test data and data for the analysis mentioned can be requested by the user during runtime and made available for functional validation in the same way as the test data. They contain, for example, test data or test vectors for checking the functionality during runtime or on the deployment target (self-test), and limit values for checking and restricting input parameters during runtime. With such a test at runtime, for example, a checksum can be formed for the existing code and compared with a reference value, or (simple) tests can also be carried out with certain input data and a comparison of the output data with reference data.
Abschließend kann wieder das Integrationsprotokoll erstellt werden, das z.B. sämtliche Informationen aus dem Integrationsverzeichnis und dem Fehlerverzeichnis enthält. Es kann außerdem eine Verlinkung zum Sicherheitsverzeichnis enthalten, das die Risiko-Analyse der angeforderten Programmdaten enthält, sowie ein Protokoll der Kommunikation zwischen End-Anwender bzw. Bereitstellungsziel und dem Eingangsbereich. Das Integrationsprotokoll kann dann z.B. für eine Analyse des Kundenverhaltens ausgewertet und dann archiviert werden. Finally, the integration log can be created again, which, for example, contains all information from the integration directory and the error directory. It may also contain a link to the Security Directory, which contains the risk analysis of the requested program data, and a log of the communication between the end-user or delivery target and the front end. The integration log can then be evaluated, for example, for an analysis of customer behavior and then archived.
Wenn bereits ein System des Anwenders geänderte Sicherheitsanforderungen an die Programmdaten benötigt, kann das beschriebene Vorgehen mit den entsprechend geänderten Anforderungen, die an das Rechensystem übermittelt werden, erneut durchlaufen werden. If one of the user's systems already requires changed security requirements for the program data, the procedure described can be run through again with the correspondingly changed requirements, which are transmitted to the computer system.
Ein erfindungsgemäßes Rechensystem z.B. ein Server, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. A computing system according to the invention, e.g. a server, is set up, in particular in terms of programming, to carry out a method according to the invention.
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Rechensystem noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. The implementation of a method according to the invention in the form of a computer program or computer program product with program code for It is advantageous to carry out all method steps, since this results in particularly low costs, in particular if an executing computing system is also used for other tasks and is therefore available in any case. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. Further advantages and refinements of the invention result from the description and the attached drawing.
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben. The invention is shown schematically in the drawing using an exemplary embodiment and is described below with reference to the drawing.
Kurze Beschreibung der Zeichnungen Brief description of the drawings
Figur 1 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform. FIG. 1 schematically shows a sequence of a method according to the invention in a preferred embodiment.
Figur 2 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer weiteren bevorzugten Ausführungsform. FIG. 2 schematically shows a sequence of a method according to the invention in a further preferred embodiment.
Ausführungsform(en) der Erfindung embodiment(s) of the invention
In Figur 1 ist schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform dargestellt, und zwar insbesondere anhand eines Rechensystems 120, das entsprechend dazu eingerichtet ist. FIG. 1 shows a sequence of a method according to the invention in a preferred embodiment, specifically using a computing system 120 that is set up accordingly.
Beispielsweise will ein Hersteller oder Anbieter 100 (Entwickler) von z.B. einer bestimmten Softwareanwendung für ein Steuergerät eines Fahrzeugs oder einer bestimmten Funktion hierfür Programmdaten 110, z.B. eine Softwareanwendung oder Funktion oder auch bestimmte Daten hierfür, in z.B. einer aktuellen Version für Kunden zur Verfügung stellen. Dies soll auf dem Rechensystem 120 bzw. dort einer Datenbank 130 erfolgen, von wo die Programmdaten 110 dann z.B. heruntergeladen werden können. For example, a manufacturer or provider 100 (developer) wants to make program data 110, e.g. a software application or function or specific data for this, available to customers in e.g. a current version of, for example, a specific software application for a control unit of a vehicle or a specific function for this. This should be on the computing system 120 or there take place in a database 130, from where the program data 110 can then be downloaded, for example.
Neben den Programmdaten 110 selbst stellt der Anbieter 100 auch noch Referenzdaten zur Verfügung, die einerseits Informationen 112 über die Programmdaten 110 sowie Informationen 114 über Sicherheitsanforderungen an die Programmdaten 110 umfassen. Die Informationen 112 über die Programmdaten 110 können z.B. die verantwortlichen Hersteller (dies kann einer sein, denkbar sind aber auch mehrere Hersteller) der Programmdaten, verwendete Normen, die Version der Programmdaten, einen eindeutigen Identifier für die Version sowie mitgelieferte Kataloge, Zeitpunkte, Gültigkeit, oder Selbsteinstufung des Soft- ware-lntegritätslevels der Programmdaten umfassen. Die Informationen 112 stellen damit einen "Kontext-Katalog" dar. Die Informationen 114 über Sicherheitsanforderungen an die Programmdaten 110 können z.B. eine Beschreibung der Konformität mit Sicherheitsanforderungen aus anzuwenden Normen umfassen. Für das Beispiel eines Fahrzeugs ist dies z.B. die DIN EN ISO26262 für Automotive. In addition to the program data 110 itself, the provider 100 also makes reference data available, which on the one hand includes information 112 about the program data 110 and information 114 about security requirements for the program data 110 . The information 112 about the program data 110 can be, for example, the responsible manufacturer (this can be one, but several manufacturers are also conceivable) of the program data, standards used, the version of the program data, a unique identifier for the version and the catalogs supplied, dates, validity, or self-assessment of the software integrity level of the program data. The information 112 thus represents a "context catalog". The information 114 about security requirements for the program data 110 can, for example, include a description of the conformity with security requirements from applicable standards. For the example of a vehicle, this is e.g. DIN EN ISO26262 for automotive.
Nach einer Prüfung werden die Programmdaten 110 dann auf der Datenbank 130 bzw. auf einem speziellen Teilbereich 124 für die entsprechenden Sicherheitsanforderungen (die Teilbereiche 126, 128 sind für andere Sicherheitsanforderungen vorgesehen) hinterlegt. Zudem wird vom Rechensystem 120 ein Sicherheitsverzeichnis 150 erstellt, das z.B. sämtliche Informationen 112 und 114 umfasst, sowie z.B. auch ein Datum und ein Ergebnis der Überprüfung, ggf. auch eine Klassifizierung der Sicherheitsanforderung für die überprüften Normen. After a check, the program data 110 is then stored in the database 130 or in a special sub-area 124 for the corresponding security requirements (the sub-areas 126, 128 are provided for other security requirements). In addition, the computing system 120 creates a safety directory 150, which includes, for example, all information 112 and 114, as well as, for example, a date and a result of the review, possibly also a classification of the safety requirement for the standards reviewed.
Das vorgeschlagene Verfahren betrifft nun insbesondere das Bereitstellen dieser Programmdaten 110 aus der Datenbank 130 für einen Kunden oder Anwender 165, der diese Programmdaten 110 auf ein System 160 (oder ein Steuergerät) herunterladen und dort integrieren will. Hierzu stellt der Anwender - oder ggf. auch automatisiert das System 160 - eine Anfrage 140 zum Bereitstellen der Programmdaten 110 an das Rechensystem 120. Diese Anfrage 140 wird vom Rechensystem 120 empfangen. Die Programmdaten 110 aus der Datenbank 130 werden daraufhin auf einem von dem Rechensystem 120 getrennt von der Datenbank 130 bereitgestellten Eingangsbereich 122 (oder Austauschbereich) zwischengespeichert. Daraufhin werden vom Rechensystem 120 Anforderungen 152 an die Programmdaten empfangen und es wird überprüft, ob die Anforderungen 152 von den Programmdaten 110 erfüllt werden. Dies erfolgt durch Abgleichen der Anforderungen 152 mit Informationen aus einem Sicherheitsverzeichnis 150, die Informationen 112 über die Programmdaten 110 sowie Informationen 114 über Sicherheitsanforderungen an die Programmdaten 120 umfasst. Das Empfangen der Anforderungen 152 kann, wie schon erwähnt, auch mehrstufig bzw. in mehreren Schritten erfolgen. Wenn die Anforderungen 152 erfüllt sind, werden die Programmdaten 110 zum Herunterladen durch z.B. den Anwender 165 oder - ggf. automatisiert - auf das System 160 bereitgestellt. The proposed method relates in particular to the provision of this program data 110 from the database 130 for a customer or user 165 who wants to download this program data 110 to a system 160 (or a control unit) and integrate it there. For this purpose, the user - or possibly also automatically the system 160 - makes a request 140 for the provision of the program data 110 to the computer system 120. This request 140 is received by the computer system 120. The program data 110 from the database 130 are then temporarily stored in an input area 122 (or exchange area) provided by the computing system 120 separately from the database 130 . Demands 152 for the program data are then received by the computing system 120 and a check is made as to whether the demands 152 are met by the program data 110 . This is done by comparing the requirements 152 with information from a security directory 150, which includes information 112 about the program data 110 and information 114 about security requirements for the program data 120. As already mentioned, the requests 152 can also be received in several stages or in several steps. If the requirements 152 are met, the program data 110 is made available for downloading by the user 165, for example, or--possibly automated--to the system 160.
Außerdem wird, wenn die Anforderungen 152 erfüllt sind, ein Bereitstellungsverzeichnis 142 erstellt, das Informationen über die Überprüfung umfasst, und zusammen mit den Programmdaten 110 zum Herunterladen bereitgestellt. Die Informationen, die das Bereitstellungsverzeichnis umfasst, können z.B. ein Identifier der überprüften Programmdaten 110, ein ausführliches Ergebnis der Überprüfung sowie ein kurzes Ergebnis mit den Randbedingungen sein (weitere Informationen wurden vorstehend schon genannt). Das vollständige Bereitstellungsverzeichnis kann auch direkt an den Anwender 165 überstellt werden. Das kurze Ergebnis kann bei entsprechender Konfiguration z.B. an das Bereitstellungsziel, d.h. hier das System 160 überstellt werden. Auf diese Weise können die Programmdaten 110 freigegeben werden; hierzu kann z.B. in einem Header der Programmdaten ein entsprechender Hinweis 111 eingefügt werden. In addition, if the requirements 152 are met, a provisioning record 142 including information about the verification is created and provided with the program data 110 for download. The information contained in the provision directory can be, for example, an identifier for the checked program data 110, a detailed result of the check and a short result with the boundary conditions (further information has already been mentioned above). The full provisioning directory can also be provided directly to the user 165 . With the appropriate configuration, the brief result can, for example, be transferred to the provisioning target, i.e. here the system 160. In this way, the program data 110 can be released; for this purpose, a corresponding note 111 can be inserted in a header of the program data, for example.
Wenn die Anforderungen 152 hingegen nicht erfüllt sein sollten (das kann auch dann schon der Fall sein, wenn bei einem mehrstufigen Empfang in der ersten Stufe die Anforderungen schon nicht erfüllt sind), wird ein Fehlerverzeichnis 143 erstellt und ebenfalls zum Herunterladen bereitgestellt bzw. direkt an den Anwender 165 überstellt. Die Programmdaten 110 werden dann aber aus dem Eingangsbereich 122 entfernt bzw. gelöscht. Unabhängig vom Ausgang der Überprüfung wird weiterhin ein Bereitstellungsprotokoll 144 erstellt, das Informationen über die Überprüfung, zu den Referenzdaten und den Anforderungen umfasst. However, if the requirements 152 are not met (this can also be the case if the requirements are not met in the first stage in a multi-stage reception), an error directory 143 is created and also made available for downloading or sent directly to transferred to user 165. However, the program data 110 are then removed or deleted from the input area 122 . Regardless of the outcome of the review, a provision log 144 is also created, which includes information about the review, the reference data, and the requirements.
Neben dem Bereitstellen der Programmdaten 120 kann im Rahmen des vorgeschlagenen Vorgehens dann auch noch eine Integration der Programmdaten in z.B. das System 160 erfolgen. Hierzu ist in Figur 2 schematisch ein Ablauf eines erfindungsgemäßen Verfahrens in einer weiteren bevorzugten Ausführungsform dargestellt. Der Ablauf hierbei ist ähnlich dem vorstehenden beschriebenen, Abweichungen sollen nachfolgend erläutert werden (gleiche Komponenten sind mit gleichen Bezugszeichen wie in Figur 1 bezeichnet). In addition to the provision of the program data 120, the program data can also be integrated into the system 160, for example, as part of the proposed procedure. For this purpose, a sequence of a method according to the invention is shown schematically in FIG. 2 in a further preferred embodiment. The procedure here is similar to that described above; deviations will be explained below (the same components are denoted by the same reference symbols as in FIG. 1).
Nach dem Bereitstellen der Programmdaten 100, die dann auch ggf. schon auf das System 160 heruntergeladen wurden, wird ein Integrationsverzeichnis 242 bereitgestellt, das Informationen über Tests und/oder Maßnahmen zur Integration der Programmdaten 100 auf dem System (es kann sich hierbei z.B. um eine Recheneinheit wie ein Steuergerät handeln) umfasst, und zusammen mit den Programmdaten 110 zum Herunterladen für den Anwender 165 bereitgestellt wird. Für die Erstellung des Integrationsverzeichnisses kann z.B. auf das Bereitstellungsverzeichnis 142 sowie ggf. ein allgemeines Verzeichnis 250 für eine Integration zurückgegriffen werden. After the provision of the program data 100, which may have already been downloaded to the system 160, an integration directory 242 is provided that contains information about tests and/or measures for the integration of the program data 100 on the system (this can be, for example, a Arithmetic unit act like a control unit) includes, and is provided together with the program data 110 for downloading for the user 165. For the creation of the integration directory, e.g. the provision directory 142 and possibly a general directory 250 for an integration can be used.
Die Integration kann dann automatisiert vom System 160 oder ggf. vom Anwender 165 durchgeführt werden. Dabei oder danach werden Informationen 240 über eine gemäß Integrationsverzeichnis 242 durchgeführte Integration an das Rechensystem 120 übermittelt und von diesem empfangen. Diese Informationen 240 werden auf vorgegebene Anforderungen überprüft, und, wenn die Anforderungen erfüllt sind, wird eine Integrationsfreigabe 246 für die Programmdaten 110 in Bezug auf das System 160 erteilt. Dabei können vor abschließender Integration zusätzlich die erwähnten Tests bzw. Maßnahmen zur Absicherung der Software-Integrität und die Tests bzw. Maßnahmen während der Laufzeit durchgeführt werden. Bei negativen Tests bzw. Maßnahmen vor abschließender Integration, d.h. wenn die Anforderungen nicht erfüllt sind, kann ein Fehlerverzeichnis 243 erstellt werden. Im Header der Programmdaten 110 kann dann mit einem Hinweis 211 vermerkt werden, dass die Integration fehlgeschlagen ist. In beiden Fällen, d.h. bei Freigabe und bei fehlgeschlagener Integration kann ein Integrationsprotokoll 244 erstellt werden, das z.B. sämtliche Informationen aus dem Integrationsverzeichnis und ggf. dem Fehlerverzeichnis enthält. The integration can then be carried out automatically by the system 160 or, if necessary, by the user 165 . At the same time or thereafter, information 240 about an integration carried out according to the integration register 242 is transmitted to the computing system 120 and received by it. This information 240 is checked against predetermined requirements and, if the requirements are met, an integration release 246 for the program data 110 with respect to the system 160 is issued. Before the final integration, the tests and measures mentioned to ensure the software integrity and the tests and measures during runtime can also be carried out. In the case of negative tests or measures before final integration, ie if the requirements are not met, an error directory 243 can be created. In the header of the program data 110, a note 211 can then be used to indicate that the integration has failed. In both cases, ie in the event of release and in the event of failed integration, an integration log 244 can be created which, for example, contains all the information from the integration directory and possibly the error directory.

Claims

Ansprüche Expectations
1 . Verfahren zum Bereitstellen von Programmdaten (110) aus einer auf einem Rechensystem (120) bereitgestellten Datenbank (130), mit folgenden, automatisiert von dem Rechensystem (120) durchgeführten Schritten: 1 . Method for providing program data (110) from a database (130) provided on a computing system (120), with the following steps carried out automatically by the computing system (120):
Zwischenspeichern der Programmdaten (110), auf eine Anfrage (140) zum Bereitstellen der Programmdaten (110) hin, auf einem von dem Rechensystem (120) getrennt von der Datenbank (130) bereitgestellten Eingangsbereich (122), Temporary storage of the program data (110) in response to a request (140) to provide the program data (110) in an input area (122) provided by the computing system (120) separately from the database (130),
Empfangen von Anforderungen (152) an die Programmdaten (110),receiving requests (152) for the program data (110),
Überprüfen, ob die Anforderungen (152) von den Programmdaten (110) erfüllt werden, durch Abgleichen der Anforderungen mit Informationen (112, 114) aus einem auf dem Rechensystem (120) vorhandenen Sicherheitsverzeichnis (150), umfassend Informationen über die Programmdaten (110) sowie über Sicherheitsanforderungen an die Programmdaten (110),Checking whether the requirements (152) are met by the program data (110) by comparing the requirements with information (112, 114) from a security directory (150) present on the computing system (120), including information about the program data (110) and about security requirements for the program data (110),
Bereitstellen der Programmdaten (110) zum Herunterladen, wenn die Anforderungen (152) erfüllt sind. Providing the program data (110) for download if the requirements (152) are met.
2. Verfahren nach Anspruch 1 , wobei, wenn die Anforderungen (152) erfüllt sind, weiterhin ein Bereitstellungsverzeichnis (142) erstellt wird, das Informationen über die Überprüfung umfasst, und zusammen mit den Programmdaten (110) zum Herunterladen bereitgestellt wird. 2. The method according to claim 1, wherein if the requirements (152) are met, a provision list (142) is further created, which includes information about the verification, and is provided together with the program data (110) for download.
3. Verfahren nach Anspruch 1 oder 2, wobei, wenn die Anforderungen (152) nicht erfüllt sind, ein Fehlerverzeichnis (143) erstellt und zum Herunterladen bereitgestellt wird, und insbesondere die Programmdaten (110) aus dem Eingangsbereich (122) entfernt werden. 3. The method according to claim 1 or 2, wherein if the requirements (152) are not met, an error directory (143) is created and made available for downloading, and in particular the program data (110) are removed from the input area (122).
4. Verfahren nach einem der vorstehenden Ansprüche, wobei weiterhin ein Bereitstellungsprotokoll (144) erstellt wird, das Informationen über die Überprü- fung, zu den Informationen aus dem Sicherheitsverzeichnis (152) und den Anforderungen (152) umfasst. Verfahren nach einem der vorstehenden Ansprüche, wobei nach dem Bereitstellen der Programmdaten (110) ein Integrationsverzeichnis (242) bereitgestellt wird, das Informationen über Tests und/oder Maßnahmen zur Integration der Programmdaten (110) auf einer Recheneinheit (160) umfasst, und zusammen mit den Programmdaten (110) zum Herunterladen bereitgestellt wird. Verfahren nach Anspruch 5, weiterhin umfassend: Empfangen von Informationen (240) über eine gemäß Integrationsverzeichnis (242) durchgeführte Integration, Überprüfen der Informationen (240) auf vorgegebene Anforderungen, und, wenn die Anforderungen erfüllt sind, Bereitstellen einer Integrationsfreigabe (246) für die Programmdaten (110) in Bezug auf die Recheneinheit (160). Verfahren nach Anspruch 5 oder 6, wobei zusammen mit dem Integrationsverzeichnis (242) Testdaten für die Integration bereitgestellt werden. Rechensystem (120), das dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen. Computerprogramm, das ein Rechensystem (120) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn es auf dem Rechensystem (120) ausgeführt wird. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 9. 4. The method according to any one of the preceding claims, wherein a provision log (144) is also created that contains information about the verification tion, the information from the security register (152) and the requirements (152). Method according to one of the preceding claims, wherein after the provision of the program data (110) an integration directory (242) is provided, which includes information about tests and / or measures for the integration of the program data (110) on a computing unit (160), and together with is provided with the program data (110) for downloading. The method of claim 5, further comprising: receiving information (240) about an integration performed according to the integration record (242), checking the information (240) for predetermined requirements, and if the requirements are met, providing an integration approval (246) for the Program data (110) relating to the computing unit (160). The method of claim 5 or 6, wherein test data for the integration is provided along with the integration record (242). Computing system (120) which is set up to carry out all method steps of a method according to one of the preceding claims. Computer program which causes a computing system (120) to carry out all method steps of a method according to one of Claims 1 to 7 when it is executed on the computing system (120). Machine-readable storage medium with a computer program according to claim 9 stored thereon.
PCT/EP2021/081377 2020-12-03 2021-11-11 Method for making available program data from a database WO2022117306A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020215286.1 2020-12-03
DE102020215286.1A DE102020215286A1 (en) 2020-12-03 2020-12-03 Method for providing program data from a database

Publications (1)

Publication Number Publication Date
WO2022117306A1 true WO2022117306A1 (en) 2022-06-09

Family

ID=78709433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/081377 WO2022117306A1 (en) 2020-12-03 2021-11-11 Method for making available program data from a database

Country Status (2)

Country Link
DE (1) DE102020215286A1 (en)
WO (1) WO2022117306A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200012799A1 (en) * 2014-12-09 2020-01-09 International Business Machines Corporation Automated management of confidential data in cloud environments
US20200074104A1 (en) * 2018-08-28 2020-03-05 Ca, Inc. Controlling access to data in a database based on density of sensitive data in the database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200012799A1 (en) * 2014-12-09 2020-01-09 International Business Machines Corporation Automated management of confidential data in cloud environments
US20200074104A1 (en) * 2018-08-28 2020-03-05 Ca, Inc. Controlling access to data in a database based on density of sensitive data in the database

Also Published As

Publication number Publication date
DE102020215286A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
DE102005014273B4 (en) Comparison of interfaces between software components
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE102017211433B4 (en) Procedure for performing a function test of a control unit in a hardware-in-the-loop test, HIL test, and HIL test bench and control unit
DE102016119320A1 (en) Method for configuring a real or virtual electronic control unit
EP3709166B1 (en) Method and system for secure signal manipulation for testing integrated security functionalities
EP3306295A1 (en) Method and device for testing electronic controls, in particular for testing of automobile control systems
DE102018206762A1 (en) Feature development framework and feature integration framework for implementing physical feature features in a target device
EP3732608B1 (en) Method for the computer-aided parameterisation of a technical system
WO2022117306A1 (en) Method for making available program data from a database
WO2005022382A2 (en) Method for the installation of a program component
DE10228610A1 (en) Method for testing of a control program running on a computer unit, especially an engine control unit, whereby a dynamic link is created between a bypass function and the control program so that computer data can be accessed
WO2021047970A1 (en) Software components for a software architecture
WO2022117305A1 (en) Method for storing program data in a database
DE112019007763T5 (en) Software update device, server, software update system and software update method
EP4144003B1 (en) Method for producing a software component for an electronic computing device of a motor vehicle, computer program product, computer-readable storage medium and motor-vehicle-external update system
WO2018206522A1 (en) Product maturity determination in a technical system and in particular in an autonomously driving vehicle
DE102020107141B4 (en) Simulating a control unit communication between a control unit to be tested and at least one other control unit
DE102022207085A1 (en) Method for generating a digital twin of an autonomous motor vehicle
DE102021005309A1 (en) Method for authorizing the introduction of program code from a program code release package into an application environment and information technology system
DE102022113104A1 (en) Unique identity identifier for log message sources in vehicles
DE102022112550A1 (en) Method for adapting a functionality of a software application to the hardware equipment of a motor vehicle that is available for executing the functionality, as well as a computer-readable storage medium and computer system
DE102021102460A1 (en) Procedure for performing a simulation
EP4099163A1 (en) Method and system for detecting and eliminating vulnerabilities in individual file system layers of a container image
DE102022114913A1 (en) Computer-implemented method for using stored specification parts
WO2021105103A1 (en) Method and software tool for making executable specifications in system development or system validation of complex functional systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21810981

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21810981

Country of ref document: EP

Kind code of ref document: A1