DE102006061935A1 - Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level - Google Patents

Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level Download PDF

Info

Publication number
DE102006061935A1
DE102006061935A1 DE200610061935 DE102006061935A DE102006061935A1 DE 102006061935 A1 DE102006061935 A1 DE 102006061935A1 DE 200610061935 DE200610061935 DE 200610061935 DE 102006061935 A DE102006061935 A DE 102006061935A DE 102006061935 A1 DE102006061935 A1 DE 102006061935A1
Authority
DE
Germany
Prior art keywords
microcomputer
test software
signature
access
access level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE200610061935
Other languages
German (de)
Inventor
Klaus Schneider
Ioannis Liakos
Holger Ceskutti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200610061935 priority Critical patent/DE102006061935A1/en
Priority to PCT/EP2007/064396 priority patent/WO2008080889A1/en
Publication of DE102006061935A1 publication Critical patent/DE102006061935A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Abstract

The method involves using a predefined signature key to create a signature (9) for the test software (8). The test software is transmitted to the microcomputer (1) and stored it in a memory area (16). The signature for the test software is checked using the signature key (9a,9b,9c) and the test software is executed on the microcomputer only if the signature is valid. The multiple access levels (6a,6b,6c) are determined for the test software and the test software is only executed on the microcomputer at the determined access level. Independent claims are also included for the following: (1) a microcomputer, particularly controller (2) a computer program.

Description

Stand der TechnikState of the art

Die Erfindung betrifft ein Verfahren zum Schutz eines Mikrocomputers vor einer mittels einer Testsoftware durchführbaren Manipulation, wobei mittels eines vorgebbaren Signaturschlüssels eine Signatur der Testsoftware erstellt wird, die Testsoftware an den Mikrocomputer übertragen und in einem Speicherbereich abgespeichert wird, die Signatur der Testsoftware mittels des Signaturschlüssels geprüft wird und die Testsoftware auf dem Mikrocomputer nur ausgeführt wird, wenn die Signatur gültig ist.The The invention relates to a method for protecting a microcomputer before a manipulation that can be carried out by means of a test software, wherein by means of a predetermined signature key a signature the test software is created, the test software transferred to the microcomputer and stored in a memory area, the signature of the test software is checked by means of the signature key and the test software is running on the microcomputer only if the signature is valid.

Die Erfindung betrifft auch einen Mikrocomputer, insbesondere ein Steuergerät zur Steuerung und Regelung des Betriebs eines Fahrzeugs.The The invention also relates to a microcomputer, in particular a control unit for controlling and regulating the operation of a vehicle.

Die Erfindung betrifft ferner ein Computerprogramm, das auf einem Mikrocomputer, insbesondere auf einem Steuergerät zur Steuerung und Regelung des Betriebs eines Fahrzeugs, ablauffähig ist.The The invention further relates to a computer program that is stored on a microcomputer, in particular on a control unit for control and regulation the operation of a vehicle is executable.

Eine Vielzahl von Produkten weist einen Mikrocomputer auf, der einzelne oder mehrere Funktionen des Produkts regelt und/oder steuert. Ein derartiger Mikrocomputer ist beispielsweise ein Steuergerät in einem Fahrzeug, das den Betrieb des Fahrzeugs steuert und regelt. Derartige Produkte werden während der Entwicklung in einem Labor oder während der Herstellung in einem Werk getestet, beispielsweise um die Korrektheit der Funktionalität oder eine Fehlerausfallssicherheit zu prüfen.A Variety of products has a microcomputer, the single or controls and / or controls multiple functions of the product. One such microcomputer is for example a control unit in a vehicle that controls and controls the operation of the vehicle. Such products are used during development in one Laboratory or tested in a factory during manufacture, for example, the correctness of the functionality or to check for failure failure safety.

Hierzu wird üblicherweise eine Testsoftware auf dem Mikrocomputer installiert und ausgeführt. Die Testsoftware ist ein Computerprogramm, das beispielsweise von einem auf dem Mikrocomputer ablaufenden Interpreter interpretiert wird, um eine Implementierung der Testsoftware auf dem Mikrocomputer durch Kompilierung zu vermeiden.For this is usually a test software on the microcomputer installed and running. The test software is a computer program for example, by an executing on the microcomputer interpreter is interpreted to be an implementation of the test software to avoid the microcomputer by compilation.

Mittels der Testsoftware können bestimmte Funktionen auf dem Mikrocomputer ausgeführt werden, die beispielsweise eine Diagnose ermöglichen. Mittels der Testsoftware wird insbesondere das Verhalten des Produkts, beziehungsweise des Mikrocomputers, geprüft, wobei häufig simulierte Bedingungen vorgegeben werden. Hierzu können mittels der Testsoftware einzelne Parameter vorgegeben werden. Wertet der Mikrocomputer beispielsweise Sensorwerte aus, so kann vorgesehen sein, dass durch die Testsoftware Sensorwerte simuliert werden.through The test software can perform certain functions on the microcomputer be executed, for example, allow a diagnosis. through In particular, the test software will test the behavior of the product, respectively the microcomputer, tested, often simulated Conditions are given. For this purpose, by means of Test software individual parameters can be specified. Evaluates the microcomputer For example, from sensor values, it can be provided that by the test software sensor values are simulated.

Eine Testsoftware erlaubt es möglicherweise auch, einzelne Parameter oder Kennfelder, die in dem Mikrocomputer abgespeichert sind und beispielsweise für die Steuerung und Regelung des Betriebs eines Fahrzeugs herangezogen werden, auszulesen, auszuwerten und möglicherweise auch zu überschreiben.A Test software may also allow individual parameters or maps stored in the microcomputer and for example, for the control and regulation of the operation be used, read out, evaluate and possibly also override.

Durch die Ausführung einer Testsoftware auf einem Mikrocomputer besteht grundsätzlich die Möglichkeit, den ursprünglich beabsichtigten Betrieb des Mikrocomputers zu manipulieren. Hierzu kann die Testsoftware beispielsweise Programmcode enthalten, der nicht dem Testen dient sondern eine Manipulation des Mikrocomputers beabsichtigt. Eine derartige Manipulation bei einem Steuergerät kann beispielsweise in einem unerlaubten Tuning resultieren.By the execution of a test software on a microcomputer is basically the possibility of the original intended operation of the microcomputer. For this For example, the trial software may contain program code that not the testing but a manipulation of the microcomputer intended. Such a manipulation in a control unit may result in unauthorized tuning, for example.

Aus der DE 101 31 575 A1 ist ein Verfahren zum Schutz eines Mikrocomputers bekannt, bei dem mittels eines vorgebbaren Signaturschlüssels eine Signatur der Testsoftware erstellt wird und die Testsoftware zusammen mit dem Signaturschlüssel an den Mikrocomputer übertragen wird. Von dem Testsoftwareinterpreter wird die Signatur geprüft und die Testsoftware wird nur ausgeführt, wenn die Signatur gültig ist.From the DE 101 31 575 A1 a method for protecting a microcomputer is known in which a signature of the test software is created by means of a predefinable signature key and the test software is transmitted together with the signature key to the microcomputer. The signature is checked by the test software interpreter and the test software is only executed if the signature is valid.

Mikrocomputer weisen heutzutage eine derartige Funktionsvielfalt auf, dass ein Testen beziehungsweise die Durchführung einer Diagnose nicht nur während der Herstellung sondern auch während des Betriebs, beispielsweise von Werkstätten oder von den Eigentümern der Produkte, durchgeführt werden. Insbesondere wird Testsoftware auch von Drittanbietern erstellt. Damit diese auf dem Mikrocomputer ausführbar ist, muss den Drittanbietern folglich ebenfalls der Signaturschlüssel vorliegen. Eine wiederholte Weitergabe des Signaturschlüssels erhöht jedoch die Wahrscheinlichkeit, dass dieser in unautorisierte Hände gelangt und gezielt für Manipulationen des Mikrocomputers verwendet werden kann.microcomputer Nowadays have such a variety of functions that a Testing or performing a diagnosis not only during production but also during production Operating, for example, by workshops or by the owners of the products. In particular, trial software also created by third parties. So this on the microcomputer Consequently, third-party providers must also be able to do so the signature key is present. A repeated passing of the signature key, however, increases the probability that this gets into unauthorized hands and targeted can be used for manipulations of the microcomputer.

Offenbarung der ErfindungDisclosure of the invention

Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, den Schutz eines Mikrocomputers vor einer mittels einer Testsoftware durchführbaren Manipulation nochmals sicherer und zuverlässiger zu gestalten und dabei die Herstellung einer Testsoftware möglichst flexibel zu gestalten.Of the The present invention is therefore based on the object of protection a microcomputer before a feasible by means of a test software Making manipulation even safer and more reliable and doing the production of a trial software as possible flexible.

Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend von dem eingangs genannten Verfahren vor, dass für die Testsoftware eine von mehreren möglichen Zugangsebenen bestimmt wird und die Testsoftware nur auf der bestimmten Zugangsebene auf dem Mikrocomputer ausgeführt wird.to This object is achieved by the invention from the aforementioned method, that for the Test software one of several possible access levels is determined and the trial software only at the specific access level running on the microcomputer.

Auf dem Mikrocomputer kann erfindungsgemäß die Testsoftware grundsätzlich auf unterschiedenen Zugangsebenen ausgeführt werden. Eine Zugangsebene wird beispielsweise durch den Zugriff auf Parameter und Kennfelder bestimmt. Hierbei kann insbesondere bestimmt werden, ob lediglich ein lesender oder auch ein schreibender Zugriff möglich ist. Eine kundenspezifische Zugangsebene kann beispielsweise vorsehen, dass lediglich ein lesender Zugriff auf einige grundlegende Parameter möglich ist. Folglich können nur diese grundlegenden Parameter ausgelesen und bei der Durchführung der Testsoftware berücksichtigt werden. Eine derartige kundenspezifische Zugangsebene kann beispielsweise eine Diagnose der grundlegenden Funktionalitäten des Mikrocomputers ermöglichen.On the microcomputer according to the invention, the test software can basically be executed on different access levels. An access level is accessed, for example determined on parameters and maps. In particular, it may be determined whether only a reading or also a writing access is possible. For example, a custom access level may provide that only read access to some basic parameters is possible. Consequently, only these basic parameters can be read out and taken into account during the execution of the test software. Such a custom access level may, for example, enable diagnosis of the basic functionality of the microcomputer.

Eine weitere Zugangsebene kann beispielsweise zulieferspezifisch sein und den Zugriff auf Parameter oder Kennfelder ermöglichen, die eine mögliche Schnittstelle zu anderen Produkten, Mikrocomputern oder Peripheriekomponenten, wie beispielsweise Sensoren, bestimmen. Ein zulieferspezifische Zugangsebene ermöglicht es damit einem Zulieferer zu testen, ob der Mikrocomputer in erwarteter Weise mit einem von dem Zulieferer hergestellten Zulieferteil zusammenarbeitet.A another access level can be, for example, supplier-specific and allow access to parameters or maps, the one possible interface to other products, microcomputers or peripheral components, such as sensors. A supplier-specific access level makes it possible a supplier to test whether the microcomputer in the expected manner with cooperates with a supplier part manufactured by the supplier.

Eine weitere Zugangsebene kann beispielsweise werkstattspezifisch vorgegeben werden. Hier kann vorgesehen sein, dass alle Parameter und Kennfelder ausgelesen werden können und einige auch neu beschrieben werden können. Dies kann beispielsweise dann vorteilhaft sein, wenn sich herausstellt, dass Parameter fehlerhaft sind oder zwischenzeitlich optimiert worden sind, so dass ein Überschreiben derartiger Parameter oder Kennfelder beziehungsweise ein Update einer oder mehrerer Softwareteile notwendig ist.A another access level can be specified, for example, in a workshop-specific manner become. Here it can be provided that all parameters and maps can be read and some also described new can be. This can be advantageous, for example be if it turns out that parameters are faulty or have been optimized in the meantime, so that overwriting such parameters or maps or an update one or more software parts is necessary.

Eine nochmals weitere Zugangsebene könnte beispielsweise herstellerspezifisch sein und ein Auslesen und Überschreiben aller Parameter und Kennfelder ermöglichen. Selbstverständlich sind eine Vielzahl weiterer Unterteilungen von Zugangsebenen vorstellbar, wobei die Definition von Zugangsebenen vorzugsweise unter Berücksichtigung des geplanten Einsatzzwecks des Mikrocomputers erfolgt.A Another level of access could, for example, be manufacturer-specific be and read out and override all parameters and maps allow. Of course a multitude of further subdivisions of access levels are conceivable, the definition of access levels preferably taking into account the intended use of the microcomputer takes place.

Da bei dem erfindungsgemäßen für jede Testsoftware angegeben werden kann, auf welcher Zugangsebene ein Zugang zu dem Mikrocontroller vorgesehen ist, wird eine Kontrolle ermöglicht, inwieweit Parameter oder Kennfelder ausgelesen und/oder verändert werden können.There in the invention for each test software It can be indicated on which access level access to the Microcontroller is provided, a control is enabled, to what extent parameters or maps are read out and / or changed can be.

Hierbei ist für jede Zugangsebene vorzugsweise mindestens ein Signaturschlüssel vorgegeben. Beispielsweise kann einem Kunden der Signaturschlüssel mitgegeben werden, so dass es dem Kunden ermöglicht wird, selbständig Testsoftware auf einer kundenspezifischen Zugangsebene zu entwickeln. Hierdurch kann sichergestellt werden, dass diese Testsoftware nur auf derartige Parameter innerhalb des Mikrocomputers zugreifen kann, die eine Manipulation nicht ermöglichen. Zwar ist damit möglicherweise der Umfang der testbaren Funktionalität des Mikrocomputers beschränkt, jedoch kann eine Manipulation mit einer derartigen Testsoftware nicht durchgeführt werden, so dass auch eine Weitergabe des Signaturschlüssels unbedenklich ist.in this connection For example, at least one signature key is required for each access level specified. For example, the signature key can be used by a customer be given so that it is possible for the customer to independently test software on a customer-specific access level to develop. This can ensure that this Test software only on such parameters within the microcomputer access that does not allow manipulation. While this may be the extent of the testable Limited functionality of the microcomputer, However, a manipulation with such a test software not be carried out, so that also a passing on of the Signature key is harmless.

Ein weiterer Signaturschlüssel kann für eine wertstattspezifische Zugangsebene vorgesehen sein und kann beispielsweise lediglich an Werkstätten weitergegeben werden, bei denen davon ausgegangen werden kann, dass diese eine erhöhte Sorgfalt in dem Umgang mit dem Signaturschlüssel walten lassen. Von derartigen Werkstätten kann dann mittels einer geeigneten Testsoftware ein Test auf einer höheren Zugangsebene durchgeführt werden.One Another signature key can be for a value-specific Access level may be provided and may, for example, only to Workshops are passed on, where assumed This can be an extra care in the handling use the signature key. Of such Workshops can then use a suitable test software performed a test on a higher access level become.

Mittels des erfindungsgemäßen Verfahrens wird folglich ein flexiblerer Umgang mit Testsoftware ermöglicht, wobei durch die Vorgabe der Zugangsebenen bestimmt wird, in welchen Bereichen überhaupt eine Manipulation möglich ist. Dadurch kann der Schutz des Mikrocomputers vor unbeabsichtigter Manipulation deutlich erhöht werden.through of the method according to the invention is therefore allows a more flexible handling of test software, where is determined by the specification of the access levels, in which areas at all a manipulation is possible. This can protect you the microcomputer from unintentional manipulation significantly increased become.

Vorteilhafterweise wird die Testsoftware mittels einer beispielsweise ebenfalls als Mikrocomputer ausgebildeten Gegenstelle an den Mikrocomputer übertragen. Von der Gegenstelle wird dann ein Zugang zu einer bestimmten Zugangsebene angefordert und es wird von dem Mikrocomputer geprüft, für welche Zugangsebene die Testsoftware tatsächlich gültig ist. Die Testsoftware wird auf dem Mikrocomputer nur dann auf der von der Gegenstelle angeforderten Zugangsebene ausgeführt, wenn diese Zugangsebene der Zugangsebene der Testsoftware entspricht.advantageously, is the test software by means of, for example, also as Microcomputer trained remote site transferred to the microcomputer. The remote station then becomes an access to a certain access level requested and it is checked by the microcomputer, for which access level the test software is actually valid is. The test software will only work on the microcomputer on the executed by the remote site requested access level, if this access level corresponds to the access level of the test software.

Eine Gegenstelle ist beispielsweise ein Produktionsautomat oder ein Werkstatttester. Eine Gegenstelle kann beispielsweise auch ein Notebook sein.A Remote station is for example a production machine or a workshop tester. A remote station can also be a notebook, for example.

Zur Übertragung der Testsoftware an den Mikrocomputer wird nun von der Gegenstelle zunächst eine Zugangsebene angefordert. Dies kann beispielsweise dadurch realisiert werden, dass die Gegenstelle grundsätzlich nur zur Anforderung einer bestimmten Zugangsebene ausgebildet ist. Wird die Testsoftware dann zu dem Mikrocomputer übertragen, so wird geprüft, ob die von der Gegenstelle angeforderte Zugangsebene mit der Zugangsebene der Testsoftware übereinstimmt und nur bei einer Übereinstimmung wird die Testsoftware auf dem Mikrocomputer ausgeführt. Dadurch wird der Schutz nochmals erhöht, da verhindert wird, dass beispielsweise eine Testsoftware der höchsten Zugangsebene, die eigentlich nur während der Produktion an den Mikrocomputer übertragen werden kann, mittels eines Werkstatttesters unerlaubterweise an den Mikrocomputer übertragbar ist.To transmit the test software to the microcomputer, an access level is now requested by the remote station. This can be realized for example by the fact that the remote station is basically designed only to request a specific access level. If the test software is then transmitted to the microcomputer, it is checked whether the access level requested by the remote station coincides with the access level of the test software and only in a match, the test software is executed on the microcomputer. As a result, the protection is increased again, since it is prevented that, for example, a test software of the highest access level, which can actually only be transmitted to the microcomputer during production, by means of a Workshop tester is illegally transferable to the microcomputer.

Vorzugsweise ist hierbei der Testsoftware eine Identifikation zugewiesen, wobei durch Auswertung der Identifikation die Zugangsebene der Testsoftware erkannt wird. Es wird folglich die Zugangsebene, für die eine Testsoftware vorgehen ist, in der Identifikation codiert. Dies ermöglicht eine besonders einfache Feststellung der Zugangsebene, für die eine Testsoftware vorgesehen ist.Preferably Here, the test software is assigned an identification, wherein by evaluating the identification the access level of the test software is recognized. It therefore becomes the level of access for which a test software is coded in the identification. This allows a particularly simple determination of the access level, for which a test software is provided.

Gemäß einer vorteilhaften Weiterbildung des Verfahrens wird die Signatur mittels eines Hash-Verfahrens erzeugt, so dass die Signatur einen Hash-Wert des Programmcodes angibt. Ein Hash-Verfahren ermöglicht es, eine Eingabe beliebiger Länge mittels einer möglichst kurzen und möglichst eindeutigen Identifikation einer fest vorgebbaren Länge zu finden. Diese Identifikation stellt den Hash-Wert dar. Eine Überprüfung, ob die Testsoftware keinen zusätzlichen manipulierenden Code enthält, kann folglich bei der vorteilhaften Ausführungsform dadurch realisiert werden, dass der Hash-Wert einer von dem Mikrocomputer empfangenen Testsoftware bestimmt wird und mit dem Hash-Wert verglichen wird, der sich erwartungsgemäß ergeben müsste, wenn die Testsoftware keinen manipulierenden Code enthält.According to one advantageous development of the method is the signature by means of a hash method, so that the signature has a hash value of the program code. A hash procedure allows it, an input of any length by means of a possible short and unambiguous identification of a fixed findable length. This identification represents the hash value. A check to see if the trial software contains no additional manipulative code, can thus in the advantageous embodiment thereof be realized that the hash value of one of the microcomputer received test software and compared with the hash value is expected to result, if the trial software does not contain any manipulating code.

Vorzugsweise wird die Gegenstelle authentifiziert. Dies erhöht nochmals den Schutz des Mikrocomputers vor unerlaubter Manipulation, da nur Testsoftware von einer authentifizierten Gegenstelle an den Mikrocomputer übertragbar ist.Preferably the remote station is authenticated. This increases again the protection of the microcomputer against unauthorized manipulation, as only Test software transferable from an authenticated remote site to the microcomputer is.

Vorzugsweise wird hierzu ein sogenanntes challenge-response-Verfahren eingesetzt, das eine besonders sichere Authentifizierung der Gegenstelle dadurch ermöglicht, dass von dem Mikrocomputer eine von mehreren möglichen Fragen an die Gegenstelle gesendet wird und nur bei einer korrekten Antwort der Gegenstelle die Authentifizierung erfolgreich ist.Preferably For this purpose, a so-called challenge-response method is used, This is a particularly secure authentication of the remote site allows one of the microcomputers to be one of several possible questions to the remote station is sent and only if the remote station answers correctly, the authentication is successful.

Gemäß einer anderen vorteilhaften Ausführungsform wird die Gegenstelle mittels eines Zugangsschlüssels authentifiziert. Der Zugangsschlüssel kann beispielsweise auf dem Mikrocomputer abgelegt sein und von der Gegenstelle automatisch an den Mikrocomputer übersandt werden. Dies ermöglicht ein besonders rasches Authentifizierungsverfahren.According to one Another advantageous embodiment is the remote station authenticated by means of an access key. The access key can be stored for example on the microcomputer and from the remote station automatically sent to the microcomputer become. This allows a particularly fast authentication process.

Vorzugsweise wird die Authentifizierung in Abhängigkeit von der angeforderten Zugangsebene durchgeführt. Beispielsweise kann vorgesehen sein, dass für die unterste Zugangsebene keine Authentifizierung erforderlich ist, für eine gehobene Zugangsebene ein Zugangsschlüssel verwendet wird und auf der höchsten Ebene ein challange-response-Verfahren eingesetzt wird. Dies erhöht nochmals die Flexibilität eines derartigen Systems.Preferably The authentication is requested depending on the requested Access level performed. For example, can be provided be that for the lowest level access no authentication is required, for an upper access level, an access key is used and at the highest level a challange response procedure is used. This again increases the flexibility of such a system.

Vorteilhafterweise ist der Zugangsschlüssel und/oder der Signaturschlüssel asymmetrisch ausgebildet. Asymmetrische Verschlüsselungsverfahren arbeiten mit lediglich einem beschränkten Kreis zugänglichen privaten Schlüssel zum Verschlüsseln von Daten und mit einem frei zugänglichen öffentlichen Schlüssel zum Entschlüsseln der Daten, beziehungsweise zum Prüfen einer Signatur. Der private und der öffentliche Schlüssel sind aufeinander abgestimmt. Dies ermöglicht einen nochmals höheren Schutz des Mikrocomputers vor Manipulation dadurch, dass die Wahrscheinlichkeit, dass der private Schlüssel missbraucht wird, nochmals verringert wird.advantageously, is the access key and / or the signature key asymmetrically formed. Asymmetrical encryption methods work accessible with only a limited circle private key for encrypting data and with a public key for decrypting the data or for checking a signature. The private and the public key are coordinated. This allows one more time higher protection of the microcomputer from manipulation thereby, that the probability that the private key abused, is reduced again.

Die Aufgabe wird auch durch einen Mikrocomputer der eingangs genannten Art dadurch gelöst, dass der Mikrocomputer Mittel zur Durchführung des erfindungsgemäßen Verfahrens aufweist.The Task is also by a microcomputer of the aforementioned Art solved by the fact that the microcomputer means for carrying out the inventive method.

Die Aufgabe wird ferner durch ein Computerprogramm der eingangs genannten Art dadurch gelöst, dass das Computerprogramm zur Durchführung des erfindungsgemäßen Verfahrens programmiert ist, wenn das Computerprogramm auf dem Mikrocomputer abläuft. Damit stellt das Computerprogramm ebenso die Erfindung dar wie das Verfahren, zu dessen Ausführung das Computerprogramm programmiert ist.The Task is further by a computer program of the aforementioned Art solved by the fact that the computer program for carrying out the programmed method according to the invention, when the computer program runs on the microcomputer. Thus, the computer program as well as the invention as the Method that the computer program programs to execute is.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Zeichnungen dargestellt sind. Es zeigen:Further Features, applications and advantages of the invention result from the following description of exemplary embodiments of the invention shown in the drawings. Show it:

1 eine schematisierte Darstellung einer Anordnung, die zur Durchführung des erfindungsgemäßen Verfahrens eingerichtet ist und 1 a schematic representation of an arrangement which is adapted to carry out the method according to the invention and

2 ein schematisiertes Ablaufdiagramm eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens. 2 a schematic flow diagram of an embodiment of the method according to the invention.

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

In 1 ist stark schematisiert ein System nachgestellt, auf dem das erfindungsgemäße Verfahren durchführbar ist. Das System weist einen Mikrocomputer 1 und eine Gegenstelle 2 auf, die über eine Kommunikationsverbindung 3 miteinander verbunden sind. Die Gegenstelle 2 kann ebenfalls als Mikrocomputer, beispielsweise als Personal Computer ausgebildet sein. Die Gegenstelle 2 kann insbesondere als Produktionsautomat oder Werkstatttester, beziehungsweise als Teil eines solchen, ausgebildet sein.In 1 is highly schematic a system nachgestellt, on which the inventive method is feasible. The system has a microcomputer 1 and a remote station 2 on, over a communication link 3 connected to each other. The remote station 2 can also be designed as a microcomputer, for example as a personal computer. The remote station 2 can in particular dere as a production machine or workshop tester, or as part of such, trained.

Der Mikrocomputer 1 ist beispielsweise in einem nicht dargestellten Produkt verbaut. Der Mikrocomputer 1 kann insbesondere als Steuergerät zur Steuerung und Regelung des Betriebs eines Fahrzeugs ausgebildet sein.The microcomputer 1 is for example installed in a product, not shown. The microcomputer 1 can be designed in particular as a control device for controlling and regulating the operation of a vehicle.

Die Kommunikationsverbindung 3 kann als drahtlose oder drahtgebundene Datenkommunikationsvorrichtung ausgebildet sein.The communication connection 3 may be configured as a wireless or wired data communication device.

Der Mikrocomputer 1 weist ein Speicherelement 4 und einen Mikroprozessor 14 auf. In dem Speicherelement 4 ist ein Testsoftware-Interpreter 5 abgespeichert, der die Ausführung einer Testsoftware auf dem Mikroprozessor 14 dadurch ermöglicht, dass die Instruktionen des Programmcodes zur Laufzeit der Testsoftware in Maschinencode übersetzt werden.The microcomputer 1 has a memory element 4 and a microprocessor 14 on. In the memory element 4 is a test software interpreter 5 stored the execution of a test software on the microprocessor 14 thereby enabling the instructions of the program code to be translated into machine code at runtime of the trial software.

In dem Mikrocomputer 1 sind ferner Zugangsebenen 6a, 6b, 6c dargestellt. Jeder der Zugangsebenen 6a, 6b, 6c ist eine nicht dargestellte Menge von Regeln zugeordnet, die den Zugriff auf ebenfalls nicht dargestellte Ressourcen und insbesondere auf Parameter, Kennfelder oder von dem Mikrocomputer bereitgestellte Funktionalitäten definieren. Die Zugangsebene 6a, 6b, 6c sind nur exemplarisch gewählt; es vorstellbar, dass weitere Zugangsebenen vorhanden sind oder lediglich zwei Zugangsebenen vorhanden sind.In the microcomputer 1 are also access levels 6a . 6b . 6c shown. Each of the access levels 6a . 6b . 6c is associated with an unillustrated set of rules defining access to resources, also not shown, and in particular parameters, maps, or functionalities provided by the microcomputer. The access level 6a . 6b . 6c are chosen only as examples; it is conceivable that there are more levels of access or only two levels of access.

Jeder Zugangsebene 6a, 6b, 6c ist ein unterschiedlicher Signaturschlüssel 9a, 9b, 9c zugeordnet. Es ist aber auch vorstellbar, dass den Zugangsebenen 6a, 6b, 6c allen derselbe Signaturschlüssel 9a, 9b, 9c zugeordnet ist.Each access level 6a . 6b . 6c is a different signature key 9a . 9b . 9c assigned. But it is also conceivable that the access levels 6a . 6b . 6c all the same signature key 9a . 9b . 9c assigned.

Auf dem Mikroprozessor 1 ist ferner ein Zugangsschlüssel 15 abgelegt, mittels dessen eine Autorisierung der Gegenstelle 2 geprüft werden kann.On the microprocessor 1 is also an access key 15 by means of which an authorization of the remote station 2 can be tested.

In der Gegenstelle 2 ist ein Speicherelement 7 ausgebildet, auf dem eine Testsoftware 8 abgespeichert ist. Das Speicherelement 7 kann beispielsweise als ein Laufwerk zum Lesen eines Wechseldatenträgers ausgebildet sein. Das Speicherelement 7 kann ebenso als Arbeitsspeicher ausgebildet sein, der einem in der Gegenstelle 2 angeordneten Prozessor 13 zugeordnet ist.In the remote station 2 is a storage element 7 trained on which a test software 8th is stored. The storage element 7 For example, it may be formed as a drive for reading a removable disk. The storage element 7 may also be configured as a working memory, the one in the remote station 2 arranged processor 13 assigned.

Die Testsoftware 8 umfasst grundsätzlich Programmcode 11 und weist ferner eine Signatur 9 und eine Identifikation 10 auf. Die Identifikation 10 ist beispielsweise ein Textstring. Die Signatur 9 ist beispielsweise mittels eines Hash-Verfahrens ermittelt.The test software 8th basically includes program code 11 and further has a signature 9 and an identification 10 on. The identification 10 is for example a text string. The signature 9 is determined for example by means of a hash method.

Eine Durchführung des erfindungsgemäßen Verfahrens mittels des in 1 dargestellten Systems wird im folgenden mittels des in 2 schematisch dargestellten Ablaufdiagramms eines möglichen Ausführungsbeispiels des erfindungsgemäßen Verfahrens gezeigt.An implementation of the method according to the invention by means of in 1 shown system is described below by means of in 2 schematically shown flowchart of a possible embodiment of the method according to the invention.

Das Verfahren beginnt in einem Schritt 100, in dem die Testsoftware 8 erstellt wird. Nach der Erstellung des Programmcodes 11 der Testsoftware 8 wird die Identifikation 10, die beispielsweise von den Herstellern der Testsoftware 8 verwaltet wird, in einem Schritt 101 der Testsoftware 8 zugeordnet. Die Identifikation 10 kann insbesondere derart gewählt werden, dass dieser eine Information bezüglich einer Zugangsebene 6a, 6b, 6c entnehmbar ist, für die die Zugangssoftware 8 vorgesehen ist.The procedure begins in one step 100 in which the trial software 8th is created. After the creation of the program code 11 the test software 8th becomes the identification 10 , for example, from the manufacturers of the test software 8th is managed, in one step 101 the test software 8th assigned. The identification 10 In particular, it can be chosen such that it has information relating to an access level 6a . 6b . 6c is removable, for which the access software 8th is provided.

In einem Schritt 102 wird mittels eines Signaturschlüssels die Signatur 9 erzeugt und ebenfalls der Testsoftware 8 zugeordnet. Die Signatur 9 kann beispielsweise mittels eines Signaturverfahrens erzeugt werden, das die Verwendung von asymmetrischen Signaturschlüsseln vorsieht. Hierbei kann der Hersteller der Testsoftware 8 mittels eines privaten Signaturschlüssels die Signatur 9 erzeugen, die dann mittels eines dem privaten Schlüssel zugeordneten öffentlichen Signaturschlüssels, beispielsweise einem der Signaturschlüssel 9a, 9b, 9c, wieder entschlüsselt werden kann.In one step 102 is the signature by means of a signature key 9 generated and also the test software 8th assigned. The signature 9 can be generated, for example, by means of a signature method that provides for the use of asymmetric signature keys. Here, the manufacturer of the test software 8th the signature by means of a private signature key 9 generate, then by means of a public signature key associated with the private key, for example one of the signature keys 9a . 9b . 9c , can be decrypted again.

Die Signatur 9 kann insbesondere auch mittels eines Hash-Verfahrens derart erzeugt werden, dass die Signatur 9 den Programmcode 11 möglichst eindeutig kennzeichnet. Eine nachträgliche Änderung des Programmcodes 11, beispielsweise durch Manipulieren des Programmcodes 11 mit dem Ziel, eine Manipulation des Mikrocomputers 1 zu erreichen, kann dann dadurch erkannt werden, dass von dem (möglicherweise manipulierten) Programmcode 11 erneut eine Signatur gebildet wird und diese mit der Signatur 9 verglichen wird. Wenn diese Signaturen identisch sind, kann eine nachträgliche Änderung des Programmcodes 11 mit hinreichender Sicherheit ausgeschlossen werden.The signature 9 can be generated in particular by means of a hash method such that the signature 9 the program code 11 as clearly as possible. A subsequent change of the program code 11 For example, by manipulating the program code 11 with the aim of manipulating the microcomputer 1 can then be recognized by the fact that of the (possibly manipulated) program code 11 a signature is formed again and this with the signature 9 is compared. If these signatures are identical, a subsequent change of the program code 11 be ruled out with sufficient certainty.

In einem Schritt 103 wird die Testsoftware 8 an die Gegenstelle 2 übertragen. Dies kann beispielsweise mittels einer drahtgebundenen oder drahtlosen Kommunikationsverbindung, beispielsweise der Kommunikationsverbindung 3, erreicht werden. Die Testsoftware 8 kann auch auf einem Wechselmedium zwischengespeichert werden und durch Einlegen beziehungsweise Auslesen des Wechselmediums in der Gegenstelle 2 an diese übermittelt werden. Die Gegenstelle 2 ist beispielsweise ein in einer Werkstatt angeordneter Werkstatttester, mittels dessen die Durchführung einer Diagnose des Mikrocomputers 1, beziehungsweise des Steuergeräts, möglich ist.In one step 103 becomes the test software 8th to the remote station 2 transfer. This can be done, for example, by means of a wired or wireless communication connection, for example the communication connection 3 , be achieved. The test software 8th can also be cached on a removable medium and by inserting or reading the removable medium in the remote station 2 be transmitted to this. The remote station 2 For example, is a workshop tester arranged in a workshop, by means of which the execution of a diagnosis of the microcomputer 1 , or the control unit, is possible.

In einem Schritt 104 wird eine Verbindung zwischen der Gegenstelle 2 und dem Mikrocomputer 1, beispielsweise über die Kommunikationsverbindung 3, hergestellt und von der Gegenstelle 2 Zugang zu einer bestimmten Zugangsebene 6a, 6b, 6c angefordert. Die Kommunikationsverbindung 3 kann hierbei beispielsweise drahtgebunden ausgebildet sein und eine serielle oder parallele Datenübertragung ermöglichen. Die Kommunikationsverbindung 3 kann auch eine drahtlose Kommunikation mittels einer Bluetooth- oder WiMax-Verbindung ermöglichen. Insbesondere kann die Kommunikationsverbindung 3 als Teil eines mobilen Telekommunikationsnetzwerks oder eines Computernetzwerks, beispielsweise des Internets, ausgebildet sein.In one step 104 becomes a connection between the remote station 2 and the microcomputer 1 , for example via the communication link 3 , manufactured and from the remote site 2 Access to a specific access level 6a . 6b . 6c requested. The communication connection 3 In this case, for example, it may be designed to be wired and allow a serial or parallel data transmission. The communication connection 3 can also enable wireless communication via a Bluetooth or WiMax connection. In particular, the communication connection 3 be formed as part of a mobile telecommunications network or a computer network, such as the Internet.

In einem Schritt 105 wird eine Authentifizierung der Gegenstelle 2 durch den Mikrocomputer 1 durchgeführt. Dies kann beispielsweise dadurch erfolgen, dass von der Gegenstelle 2 ein Zugangscode, der mit dem Zugangsschlüssel 12 codiert ist, an den Mikrocomputer 1 übersandt wird und dort mittels des Zugangsschlüssels 15 decodiert wird. Handelt es sich bei dem Authentifizierungsverfahren um ein asymmetrisches Verfahren, so kann der bei der Gegenstelle 1 abgespeicherte Zugangsschlüssel 12 als privater Schlüssel und der auf dem Mikrocomputer 1 abgelegte Zugangsschlüssel 15 als öffentlicher Schlüssel ausgebildet sein.In one step 105 is an authentication of the remote site 2 through the microcomputer 1 carried out. This can be done, for example, by that of the remote station 2 An access code provided with the access key 12 is coded to the microcomputer 1 is sent there and there by means of the access key 15 is decoded. If the authentication procedure is an asymmetrical procedure, then this can be done at the remote station 1 stored access key 12 as a private key and on the microcomputer 1 stored access keys 15 be formed as a public key.

Die Authentifizierung kann insbesondere auch mittels eines challenge-response-Verfahrens durchgeführt werden. Hierzu kann vorgesehen sein, dass der Mikrocomputer 1 eine Zufallszahl an die Gegenstelle 2 sendet. Diese Zufallszahl wird von der Gegenstelle 2 mittels des Zugangsschlüssels 12 verschlüsselt und an den Mikrocomputer 1 zurückgesandt. Der Mikrocomputer 1 hat die Zufallszahl selbst mittels des Zugangsschlüssels 15 verschlüsselt und vergleicht in einem Schritt 106 das Ergebnis dieser Verschlüsselungen. Nur wenn beide verschlüsselten Werte identisch sind, wird die Gegenstelle 2 bei dem Mikrocomputer 1 authentifiziert.The authentication can in particular also be carried out by means of a challenge-response method. For this purpose, it may be provided that the microcomputer 1 a random number to the remote site 2 sends. This random number is sent from the remote station 2 by means of the access key 12 encrypted and sent to the microcomputer 1 returned. The microcomputer 1 has the random number itself by means of the access key 15 Encrypts and compares in one step 106 the result of these encryptions. Only if both encrypted values are identical will the remote station become 2 at the microcomputer 1 authenticated.

Ergibt die Prüfung in dem Schritt 106, dass die Authentifizierung nicht erfolgreich ist, so wird die Kommunikation in einem Schritt 112 abgebrochen und das Verfahren in einem Schritt 114 beendet.Returns the test in the step 106 that the authentication is unsuccessful, so the communication is in one step 112 aborted and the process in one step 114 completed.

Ist die Authentifizierung jedoch erfolgreich, so wird in einem Schritt 107 die Testsoftware 8 an den Mikrocomputer 1 übertragen und in einem temporären Speicherbereich, der beispielsweise in dem Speicherelement 4 ausgebildet ist, abgelegt.However, if the authentication is successful, it will be done in one step 107 the test software 8th to the microcomputer 1 transferred and in a temporary memory area, for example, in the memory element 4 is formed, filed.

In einem Schritt 108 wird geprüft, ob die von der Gegenstelle 2 angeforderte Zugangsebene 6a, 6b, 6c mit der Zugangsebene 6a, 6b, 6c übereinstimmt, die der Testsoftware 8 zugeordnet ist. Hierzu wird in dem Schritt 108 beispielsweise die der Testsoftware 8 zugeordnete Identifikation 10 ausgewertet und auf die der Testsoftware 8 zugeordnete Zugangsebene 6a, 6b, 6c geschlossen.In one step 108 It checks whether the remote site 2 requested access level 6a . 6b . 6c with the access level 6a . 6b . 6c matches that of the trial software 8th assigned. This is done in the step 108 for example, the test software 8th assigned identification 10 evaluated and on the test software 8th assigned access level 6a . 6b . 6c closed.

Es ist ebenso vorstellbar, dass in dem Schritt 108 – alternativ oder ergänzend – die Signatur 9 geprüft wird und anhand des der Signatur 9 zugeordneten Signaturschlüssels 9a, 9b, 9c auf die Zugangsebene 6a, 6b, 6c geschlossen wird, für die die Testsoftware 8 vorgesehen ist.It is also conceivable that in the step 108 - alternatively or in addition - the signature 9 is checked and based on the signature 9 associated signature key 9a . 9b . 9c to the access level 6a . 6b . 6c closed, for which the trial software 8th is provided.

In einem Schritt 109 wird schließlich der Vergleich der von der Gegenstelle 2 angeforderten Zugangsebene 6a, 6b, 6c mit der Zugangsebene 6a, 6b, 6c, für die die Testsoftware 8 vorgesehen ist, durchgeführt. Stimmen diese Zugangsebenen 6a, 6b, 6c nicht überein, so wird wieder zu dem Schritt 112 verzweigt, die Kommunikation abgebrochen und das Verfahren in dem Schritt 114 beendet. Hierbei kann insbesondere vorgesehen sein, dass die in dem temporären Speicherbereich des Speicherelements 4 abgespeicherte Testsoftware 8 wieder gelöscht wird.In one step 109 Finally, the comparison is that of the remote station 2 requested access level 6a . 6b . 6c with the access level 6a . 6b . 6c for which the trial software 8th is provided. Vote these access levels 6a . 6b . 6c do not match, then becomes the step again 112 Branched, the communication aborted and the procedure in the step 114 completed. In this case, provision can be made, in particular, for the data to be stored in the temporary memory area of the memory element 4 saved test software 8th is deleted again.

Wurde in dem Schritt 109 jedoch eine Übereinstimmung erkannt, so wird in einem Schritt 110 die der Testsoftware 8 zugeordnete Signatur 9 mittels des für die entsprechende Zugangsebene 6a, 6b, 6c vorgesehenen Signaturschlüssels 9a, 9b, 9c überprüft. Hierzu wird beispielsweise zunächst mittels des Signaturschlüssels 9a, 9b, 9c der Programmcode der Testsoftware 8 durch eine beispielsweise dem Testsoftwareinterpreter 5 zugeordnete Funktionalität durch den Mikrocomputer 1 verschlüsselt.Was in the step 109 however, a match is detected, so in one step 110 the trial software 8th associated signature 9 using the for the corresponding access level 6a . 6b . 6c provided signature key 9a . 9b . 9c checked. For this purpose, for example, first by means of the signature key 9a . 9b . 9c the program code of the trial software 8th by an example of the test software interpreter 5 assigned functionality by the microcomputer 1 encrypted.

In einem Schritt 111 wird geprüft, ob die so erhaltene Signatur mit der Signatur 9 übereinstimmt. Ist dies nicht der Fall, so wird wieder zu dem Schritt 112 verzweigt und das Verfahren in dem Schritt 114 beendet. Die ermittelte Signatur stimmt beispielsweise dann nicht mit der Signatur 9 überein, wenn der in dem temporären Speicher des Speicherelements 4 in dem Mikrocomputer 1 abgespeicherte Programmcode 11 der Testsoftware 8 nicht mit dem Programmcode 11 der ursprünglich hergestellten Testsoftware 8 übereinstimmt. Dies kann als Indiz dafür ausgewertet werden, dass der Programmcode manipuliert worden ist, beispielsweise durch Hinzunahme von Programmcode, der eine Manipulation des Mikrocomputers 1 beabsichtigt. Um eine derartige Manipulation zu unterbinden, wird deshalb in diesem Fall das Verfahren abgebrochen.In one step 111 it is checked whether the signature thus obtained with the signature 9 matches. If this is not the case, then the step becomes again 112 branches and the process in the step 114 completed. For example, the determined signature does not agree with the signature 9 match if in the temporary memory of the memory element 4 in the microcomputer 1 stored program code 11 the test software 8th not with the program code 11 the originally produced test software 8th matches. This can be interpreted as an indication that the program code has been manipulated, for example by the addition of program code, which is a manipulation of the microcomputer 1 intended. In order to prevent such manipulation, the method is therefore aborted in this case.

Stimmen die Signaturen jedoch überein, so wird in einem Schritt 113 die Testsoftware 8 auf dem Mikrocomputer 1 durch den Testsoftwareinterpreter 5 interpretiert und auf dem Mikroprozessor 14 ausgeführt. Das Verfahren wird dann in dem Schritt 114 beendet.However, if the signatures match, then it will be in one step 113 the test software 8th on the microcomputer 1 by the test software interpreter 5 interpreted and on the microprocessor 14 executed. The method then becomes in the step 114 completed.

Selbstverständlich sind eine Vielzahl weiterer Ausführungsformen des erfindungsgemäßen Verfahrens vorstellbar. Insbesondere kann die in 2 beispielhaft dargestellte Ausführungsform durch Änderung einzelner Verfahrensschritte oder durch eine veränderte Kombination einzelner Verfahrensschritte in dadurch veränderten Ausführungsformen durchgeführt werden.Of course, a plurality of further embodiments of the method according to the invention are conceivable. In particular, the in 2 embodiment illustrated by modification of individual process steps or by a modified combination of individual process steps are carried out in thereby modified embodiments.

Beispielsweise ist es vorstellbar, dass der Testsoftware 8 keine Identifikation 10 zugeordnet ist, so dass beispielsweise die Schritte 108 und 109 entfallen. Ferner kann das Verfahren auch ohne Authentifizierung der Gegenstelle 2 durchgeführt werden, wobei auf die Zugangsschlüssel 12 und 15 verzichtet werden kann. Insbesondere kann vorgesehen sein, dass unterschiedliche Authentifizierungsverfahren vorhanden sind und mehrere Authentifizierungsverfahren durchgeführt werden, ehe das Verfahren abgebrochen wird. Beispielsweise kann auf einer kundenspezifischen Zugangsebene von einer Authentifizierung der Gegenstelle 2 abgesehen werden, bei einer werkstatt- oder herstellerspezifischen kann jedoch eine Authentifizierung vorgesehen sein.For example, it is conceivable that the trial software 8th no identification 10 is assigned, so that, for example, the steps 108 and 109 omitted. Furthermore, the method can also without authentication of the remote station 2 being performed, taking on the access key 12 and 15 can be waived. In particular, it can be provided that different authentication methods are present and a plurality of authentication methods are carried out before the method is aborted. For example, at a customer-specific access level, an authentication of the remote site 2 However, an authentication can be provided for a workshop or manufacturer-specific.

Die vorliegende Erfindung schafft durch die Vorgabe unterschiedlicher Zugangsebenen 6a, 6b, 6c die Möglichkeit, unterschiedliche Bereiche zu bestimmen, bei denen eine Manipulation unterschiedlich kritisch eingestuft werden kann und somit unterschiedliche Sicherheitsstufen realisierbar sind. Ist in einer untersten, beispielsweise kundenspezifischen Zugangsebene nahezu keine Manipulation möglich, da auf dieser Zugangsebene sicherheitsrelevante Daten weder ausgelesen noch überschrieben werden können, so kann für diese Zugangsebene ein entsprechend weniger strengeres Sicherheitskonzept für die Durchführung eines Tests des Mikrocomputers 1 mit einer Testsoftware 8 auf dieser Zugangsebene realisiert werden. Für eine Zugangsebene jedoch, auf der eine Manipulation von kritischen Daten möglich ist, kann eine höhere Sicherheitsstufe vorgesehen sein. Dies wird beispielsweise dadurch erreicht, dass der dieser Zugangesebene 6a, 6b, 6c zugeordnete Signaturschlüssel 9a, 9b, 9c nur besonders wenigen bekannt ist. Insbesondere kann der Signaturschlüssel 9a, 9b, 9c nur einem einzigen Hersteller von Testsoftware 8 bekannt gemacht werden, der möglicherweise als einziger Testsoftware 8 für diese Zugangsebene 6a, 6b, 6c herstellt.The present invention provides by specifying different access levels 6a . 6b . 6c the ability to determine different areas where a manipulation can be classified differently critical and thus different levels of security can be realized. If virtually no manipulation is possible in a lowest, for example customer-specific access level, since security-relevant data can neither be read out nor overwritten at this access level, a correspondingly less stringent security concept for carrying out a test of the microcomputer can be used for this access level 1 with a trial software 8th be realized on this access level. However, for a level of access where manipulation of critical data is possible, a higher level of security may be provided. This is achieved, for example, by the fact that this access level 6a . 6b . 6c associated signature keys 9a . 9b . 9c Only very few are known. In particular, the signature key 9a . 9b . 9c only a single manufacturer of test software 8th possibly the only test software 8th for this access level 6a . 6b . 6c manufactures.

Mittels des erfindungsgemäßen Verfahrens und eines erfindungsgemäß ausgebildeten Mikrocomputers 1 ist es folglich möglich, die Sicherheit des Mikrocomputers 1 vor ungewollter Manipulation zu erhöhen und gleichzeitig die Flexibilität bezüglich der Ausführung einer Testsoftware 8 zu steigern.By means of the method according to the invention and a microcomputer designed according to the invention 1 Thus, it is possible the safety of the microcomputer 1 to increase unintentional manipulation and at the same time the flexibility with regard to the execution of a test software 8th to increase.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

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

Zitierte PatentliteraturCited patent literature

  • - DE 10131575 A1 [0009] - DE 10131575 A1 [0009]

Claims (13)

Verfahren zum Schutz eines Mikrocomputers (1) vor einer mittels einer Testsoftware (8) durchführbaren Manipulation, wobei – mittels eines vorgebbaren Signaturschlüssels (9a, 9b, 9c) eine Signatur (9) der Testsoftware (8) erstellt wird, – die Testsoftware (8) an den Mikrocomputer (1) übertragen und in einem Speicherbereich (16) abgespeichert wird, – die Signatur (9) der Testsoftware (8) mittels des Signaturschlüssels (9a, 9b, 9c) geprüft wird und – die Testsoftware (8) auf dem Mikrocomputer (1) nur ausgeführt wird, wenn die Signatur (9) gültig ist, dadurch gekennzeichnet, dass – für die Testsoftware (8) eine von mehreren möglichen Zugangsebenen (6a, 6b, 6c) bestimmt wird, auf der eine Ausführung der Testsoftware (8) vorgesehen ist, – der Signaturschlüssel (9a, 9b, 9c) für die Überprüfung der Signatur (9) in Abhängigkeit von der Zugangsebene (6a, 6b, 6c) gewählt wird und – die Testsoftware (8) nur auf der bestimmten Zugangsebene (6a, 6b, 6c) auf dem Mikrocomputer (1) ausgeführt wird.Method for protecting a microcomputer ( 1 ) before a test software ( 8th ) feasible manipulation, whereby - by means of a predetermined signature key ( 9a . 9b . 9c ) a signature ( 9 ) of the test software ( 8th ), - the test software ( 8th ) to the microcomputer ( 1 ) and in a memory area ( 16 ), - the signature ( 9 ) of the test software ( 8th ) by means of the signature key ( 9a . 9b . 9c ) and - the test software ( 8th ) on the microcomputer ( 1 ) is executed only when the signature ( 9 ), characterized in that - for the test software ( 8th ) one of several possible access levels ( 6a . 6b . 6c ), on which an execution of the test software ( 8th ), - the signature key ( 9a . 9b . 9c ) for checking the signature ( 9 ) depending on the access level ( 6a . 6b . 6c ) and - the test software ( 8th ) only at the given access level ( 6a . 6b . 6c ) on the microcomputer ( 1 ) is performed. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass – die Testsoftware (8) mittels einer Gegenstelle (2) an den Mikrocomputer (1) übertragen wird, – von der Gegenstelle (2) ein Zugang zu einer bestimmten Zugangsebene (6a, 6b, 6c) angefordert wird, – geprüft wird, für welche Zugangsebene (6a, 6b, 6c) die Testsoftware (8) vorgesehen ist, – die Testsoftware (8) auf dem Mikrocomputer (1) auf der von der Gegenstelle (2) angeforderten Zugangsebene (6a, 6b, 6c) nur ausgeführt wird, wenn diese Zugangsebene (6a, 6b, 6c) der für die Testsoftware (8) vorgesehenen Zugangsebene (6a, 6b, 6c) entspricht.Method according to claim 1, characterized in that - the test software ( 8th ) by means of a remote station ( 2 ) to the microcomputer ( 1 ), - from the remote station ( 2 ) access to a particular access level ( 6a . 6b . 6c ), - for which access level ( 6a . 6b . 6c ) the test software ( 8th ), - the test software ( 8th ) on the microcomputer ( 1 ) on the remote site ( 2 ) requested access level ( 6a . 6b . 6c ) is executed only if this access level ( 6a . 6b . 6c ) for the test software ( 8th ) access level ( 6a . 6b . 6c ) corresponds. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Testsoftware (8) eine Identifikation (10) zugewiesen wird und durch Auswertung der Identifikation (10) die Zugangsebene (6a, 6b, 6c) erkannt wird, für die die Testsoftware (8) vorgesehen ist.Method according to one of claims 1 or 2, characterized in that the test software ( 8th ) an identification ( 10 ) and by evaluating the identification ( 10 ) the access level ( 6a . 6b . 6c ), for which the test software ( 8th ) is provided. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Signatur (9) einen Hash-wert des Programmcodes der Testsoftware (8) angibt.Method according to one of claims 1 to 3, characterized in that the signature ( 9 ) a hash value of the program code of the test software ( 8th ) indicates. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Gegenstelle (2) authentifiziert wird und eine Übertragung der Testsoftware (8) an den Mikrocomputer (1) nur ermöglicht wird, wenn die Authentifizierung erfolgreich ist.Method according to one of the preceding claims, characterized in that the remote station ( 2 ) and a transmission of the test software ( 8th ) to the microcomputer ( 1 ) is only possible if the authentication is successful. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Gegenstelle (2) mittels eines challenge-response-Verfahrens authentifiziert wird.Method according to claim 5, characterized in that the remote site ( 2 ) is authenticated by means of a challenge-response method. Verfahren nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, dass die Authentifizierung in Abhängigkeit von der angeforderten Zugangsebene (6a, 6b, 6c) durchgeführt wird.Method according to one of Claims 5 or 6, characterized in that the authentication depends on the requested access level ( 6a . 6b . 6c ) is carried out. Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass die Gegenstelle (2) mittels eines Zugangsschlüssels (12, 15) authentifiziert wird.Method according to one of claims 5 to 7, characterized in that the remote site ( 2 ) by means of an access key ( 12 . 15 ) is authenticated. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Zugangsschlüssel (12, 15) asymmetrisch ausgebildet ist.Method according to claim 8, characterized in that the access key ( 12 . 15 ) is asymmetrical. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Signaturschlüssel (9a, 9b, 9c) asymmetrisch ausgebildet ist.Method according to one of the preceding claims, characterized in that the signature key ( 9a . 9b . 9c ) is asymmetrical. Mikrocomputer (1), insbesondere Steuergerät zur Steuerung und Regelung des Betriebs eines Fahrzeugs, dadurch gekennzeichnet, dass der Mikrocomputer (1) zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 10 hergerichtet ist.Microcomputer ( 1 ), in particular control device for controlling and regulating the operation of a vehicle, characterized in that the microcomputer ( 1 ) is prepared for carrying out a method according to any one of claims 1 to 10. Computerprogramm, das zumindest teilweise auf einem Mikrocomputer (1), insbesondere einem Steuergerät zur Steuerung und Regelung des Betriebs eines Fahrzeugs, ablauffähig ist, dadurch gekennzeichnet, dass das Computerprogramm zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 10 programmiert ist, wenn das Computerprogramm auf dem Mikrocomputer (1) abläuft.Computer program that is at least partially on a microcomputer ( 1 ), in particular a control device for controlling and regulating the operation of a vehicle, characterized in that the computer program for carrying out a method according to one of claims 1 to 10 is programmed when the computer program on the microcomputer ( 1 ) expires. Computerprogramm nach Anspruch 13 dadurch gekennzeichnet, dass das Computerprogramm auf einem Speicherelement (4, 7), insbesondere in einem dem Mikrocomputer (1) zugeordneten Speicherelement (4) und einem der Gegenstelle (2) zugeordneten Speicherelement, abgespeichert ist, wobei das Speicherelement (4) als ein random access memory (RAM), ein read only memory (ROM), ein flash-Speicher, ein optisches Speichermedium oder ein magnetisches Speichermedium ausgebildet ist.Computer program according to claim 13, characterized in that the computer program is stored on a memory element ( 4 . 7 ), in particular in a microcomputer ( 1 ) associated memory element ( 4 ) and one of the remote stations ( 2 ) memory element is stored, wherein the memory element ( 4 ) is designed as a random access memory (RAM), a read only memory (ROM), a flash memory, an optical storage medium or a magnetic storage medium.
DE200610061935 2006-12-29 2006-12-29 Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level Withdrawn DE102006061935A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200610061935 DE102006061935A1 (en) 2006-12-29 2006-12-29 Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level
PCT/EP2007/064396 WO2008080889A1 (en) 2006-12-29 2007-12-20 Method for protecting a microcomputer from manipulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610061935 DE102006061935A1 (en) 2006-12-29 2006-12-29 Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level

Publications (1)

Publication Number Publication Date
DE102006061935A1 true DE102006061935A1 (en) 2008-07-03

Family

ID=39301080

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610061935 Withdrawn DE102006061935A1 (en) 2006-12-29 2006-12-29 Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level

Country Status (2)

Country Link
DE (1) DE102006061935A1 (en)
WO (1) WO2008080889A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10131575A1 (en) 2001-07-02 2003-01-16 Bosch Gmbh Robert Method for protecting a microcomputer system against manipulation of data stored in a memory arrangement of the microcomputer system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010076A2 (en) * 1999-07-29 2001-02-08 Intertrust Technologies Corp. Systems and methods for protecting secure and insecure computing environments using cryptography

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10131575A1 (en) 2001-07-02 2003-01-16 Bosch Gmbh Robert Method for protecting a microcomputer system against manipulation of data stored in a memory arrangement of the microcomputer system

Also Published As

Publication number Publication date
WO2008080889A1 (en) 2008-07-10

Similar Documents

Publication Publication Date Title
DE102012110499B9 (en) Safety access procedure for electronic automotive control units
DE10008973B4 (en) Authorization procedure with certificate
DE60316585T2 (en) METHOD AND SYSTEM FOR MAINTAINING A TIME CONFIGURATION PERFORMANCE OF A VEHICLE
DE102007022100B4 (en) Motor vehicle control unit data transmission system and method
EP1421460B1 (en) Method for providing software to be used by a control unit of a vehicle
WO2018171949A1 (en) Method and apparatus for the tamper-proof storage of information about object-related measures
WO2006125404A1 (en) Method for adjusting an electric field device
DE102013108022A1 (en) Method for activating the development mode of a secure electronic control unit
WO2008095866A2 (en) Method for authorizing the access to at least one automation component of a technical system
DE102006016891A1 (en) Extension of the functionality of a series software in a control unit
EP2673731A1 (en) Method for programming a mobile terminal chip
EP3111609A1 (en) Use of certificates using a positive list
EP1743304B1 (en) Documentation for a motor vehicle service measures
DE102006061935A1 (en) Method for protecting microcomputer from manipulation, involves determining multiple access levels for test software and test software is only executed on microcomputer at determined access level
DE102011083828B4 (en) Method for protection against plagiarism and arrangement for implementation
DE102019130067B4 (en) Method for carrying out permission-dependent communication between at least one field device in automation technology and an operating device
DE102018202626A1 (en) Method for the computer-aided parameterization of a technical system
EP4031945B1 (en) Method for validating or verifying a field device
DE102016218988A1 (en) communication system
EP3306514B1 (en) Method and device for certification of a safety critical function chain
EP3306856B1 (en) Method for providing a secure communication connection between components of a security-critical function chain
DE102022128289A1 (en) POWER TUNING FOR ELECTRONIC CONTROL UNIT
DE10215626B4 (en) Procedure for changing encryption algorithms for protected software or protected data
WO2023180039A1 (en) Interaction of physical entities
EP3893065A1 (en) Method for payment based execution of a function of a field device to be implemented, corresponding field device and service unit

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee