Beschreibung
Verfahren zur Authentifizierung eines Moduls
Die Erfindung betrifft ein Verfahren zur Authentifizierung eines zweiten Moduls bei der Zuordnung zu einem ersten Modul, insbesondere eines MikroControllers eines Fahrtschreibers zu einem Speicher, wobei das erste Modul eine erste Logikeinheit und einen ersten Speicher und das zweite Modul einen zweiten Speicher aufweist.
Bei Vorrichtungen mit hohen Sicherheitsanforderungen gegen Manipulation sind Vorkehrungen, die den manipulatorischen
Zugriff oder Austausch auf bzw. von Einzelkomponenten verhindern, besonders wichtig. Zu diesen Vorrichtungen zählt insbe¬ sondere ein Fahrtschreiber, wie er in Nutzfahrzeugen zur Aufzeichnung der Betriebsdaten und Arbeitszeiten vorgeschrieben Anwendung findet. Manipulationsversuche können an allen denk¬ baren Systemkomponenten stattfinden, wobei Angriffe auf Speicherkomponenten und Logikeinheiten besonders attraktiv sind. Anforderungen an die Modularität des Aufbaus bedingen, dass Logikeinheiten, gegebenenfalls mit kleineren, schnelleren Speichern und größere Speicherelemente jeweils separate Bau¬ teile sind, die miteinander in Daten- übertragender Verbindung stehen. Ein derartiger modularer Aufbau exponiert insbesondere die Datenübertragung von der Logikeinheit auf den Massenspeicher und den Massenspeicher selbst für Angriffe. Grundsätzlich können die einzelnen Komponenten oder alle Komponenten gemeinsam gegen manipulatorische Angriffe mittels eines so genannten aktiven Hardwareschutzes gesichert werden, was jedoch den vertretbaren Aufwand aus wirtschaftlicher Sicht bei weitem übersteigen würde.
Eine Anordnung der eingangs genannten Art eines Fahrtschrei¬ bers ist bereits aus der deutschen Patentschrift DE 41 35 700 C2 bekannt. Das Problem der korrekten Zuordnung einzelner Module des Fahrtschreibers, insbesondere eines Speichers zu ei-
nem MikroController bzw. einer Logikeinheit ist dort nicht beseitigt .
Die Erfindung hat es sich daher zur Aufgabe gemacht, ein Verfahren zu entwickeln, das eine sichere Authentifizierung ei- nes zweiten Moduls durch Funktionseinheiten eines ersten Moduls zur Vermeidung von Manipulationen ermöglicht.
Die erfindungsgemäße Lösung sieht ein Verfahren der eingangs genannten Art mit den Merkmalen der Ansprüche 1 oder 2 vor. Die Unteransprüche beinhalten vorteilhafte Weiterbildungen der Erfindung.
Ein besonderer Vorteil des Verfahrens nach der Erfindung liegt in der in das System integrierten Manipulationssicherheit, da die Logikeinheit Bestandteil des ersten Moduls ist, die unter Zugriff auf den ersten Speicher gleichsam autark in der Lage ist, das zweite Modul anhand der in dem zweiten
Speicher abgelegten zweiten Daten zu authentifizieren. Dieses Verfahren findet besonders vorteilhafte Anwendung für den mo- dularen Aufbau eines Fahrtschreibers, insbesondere bei der Kombination des Mikrocontrollers des Fahrtschreibers mit ei- nem Massenspeicher, da diese Bauteile bzw. Module einige der für die erfindungsgemäße Sicherheitsfunktion erforderlichen Funktionselemente bereits naturgemäß aufweisen. Gleichzeitig weist insbesondere bei der Anwendung im Bereich des Fahrt¬ schreibers das erfindungsgemäße Verfahren einen großen Syner- gieeffekt mit dem ohnehin beim Start des Fahrtschreibers stattfindenden Funktionsablauf auf, vor allem, wenn es sich bei den zweiten Daten aus dem ersten Teilbereich des zweiten Speichers um für den Bootvorgang der Logikeinheit erforderliche Elemente handelt, beispielsweise um einen Bootloader oder ein Basisbetriebssystem.
Ein Höchstmaß an Sicherheit gegen Manipulation wird nach der Erfindung erreicht, wenn die erste Logikeinheit beim erstma¬ ligen Start im Anschluss an das Zusammenfügen des ersten Mo-
duls mit dem zweiten Modul nach der Authentifizierung des zweiten Moduls einen ersten Schlüssel generiert und mittels des ersten Schlüssels verschlüsselte erste Daten in den zwei¬ ten Speicher schreibt, auf welche erste Daten die erste Lo- gikeinheit zur Ausführung bestimmter Funktion zugreift. Bei den bestimmten Funktionen handelt es sich um Funktionen für welche die Logikeinheit bestimmt ist, nämlich die Verarbei¬ tung und Auswertung eingehender Signale und Erzeugung ausgehender Signale, insbesondere zur Steuerung der Funktion sons- tiger verbundener Module. Im speziellen Fall des Fahrtschrei- bers wertet die Logikeinheit beispielsweise die eingehenden Signale aus dem Drehzahlgeber und der Bedienkonsole aus und steuert die Anzeige, die Datenspeicherung, die sonstige Da¬ tenausgabe mittels ausgehender Signale.
Die Generierung des ersten Schlüssels erfolgt besonders vor¬ teilhaft mittels eines vorzugsweise in die Logikeinheit in¬ tegrierten Zufallszahlengenerators, so dass außerhalb der Lo¬ gikeinheit der erste Schlüssel systembedingt unbekannt ist. Während der zweite Schlüssel von außen vorgegeben ist und da- her für den Vorgang der Implementierung des zweiten Schlüssels in die Logikeinheit besondere räumliche Sicherheitsbe¬ dingungen zu erfüllen sind, damit das erfindungsgemäße Ver¬ fahren einschlägigen Sicherheitsstandards (Common Criteria, ITSEC) genügt, bedingt der autarke Vorgang zur Erzeugung des Zweitschlüssels die Entbehrlichkeit einer derartigen Sicher¬ heitszelle. Gelingt es, das Auslesen des ersten Schlüssels aus der Logikeinheit zu verhindern, ist eine Manipulation der Anordnung demnach ausgeschlossen. Dies insbesondere deshalb, weil die erste Logikeinheit zur Ausführung seiner bestim- mungsgemäßen Funktion auf die mittels des ersten Schlüssels verschlüsselten ersten Daten in dem zweiten Speicher zugreift. Das hat darüber hinaus den großartigen Vorteil, dass die beiden Module von dem Augenblick der Erstinbetriebnahme nach dem Zusammenfügen an gleichsam unzertrennlich sind, um ihre bestimmungsgemäße Funktion aufrecht zu erhalten. Die in dem zweiten Speicher abgelegten ersten Daten nützen aus-
schließlich der im Besitz des ersten Schlüssels befindlichen ersten Logikeinheit bzw. dem ersten Modul und die Logikeinheit bzw. das erste Modul muss für die bestimmungsgemäße Funktion, beispielsweise die Aufzeichnung und Auswertung von Betriebsdaten eines Fahrzeuges bzw. Arbeitszeiten der Fahrzeugführer auf den zweiten Speicher zugreifen.
Damit eine erfindungsgemäße Authentifizierung ausschließlich bei der Erstinbetriebnahme erfolgen kann und nicht ein gege¬ benenfalls manipuliertes zweites Modul mit dem ersten Modul zusammengefügt und in Funktion versetzt werden kann, ist es zweckmäßig, wenn mindestens ein Teil des ersten Teilbereichs des zweiten Speichers nach dem Auslesen dieser erfindungsgemäß verschlüsselten Daten von der Logikeinheit gelöscht wird. Auf diese Weise ist es einem gegebenenfalls im Besitz des zweiten Schlüssels befindlichen Individuum auch in manipulatorischer Absicht nicht möglich, eine neue Kombination eines ersten Moduls mit einem zweiten Modul gegebenenfalls mit ge¬ änderter Funktion zu erstellen, da die Irreversibilität auf¬ grund des Löschens der aus dem ersten Teilbereich des zweiten Speichers ausgegebenen zweiten Daten zusätzlich erhöht wird. Besonders zweckmäßig ist hierbei das Überschreiben von zwei¬ ten Daten aus dem ersten Teilbereich mit einem NotlaufSystem, welches im Falle einer Fehlfunktion nach einem Neustart von der Logikeinheit geladen wird. Hierzu ist es zweckmäßig, wenn die Logikeinheit interne Flags aufweist, die dem Modus des
Bootens abhängig von der Historie des vorhergehenden Betriebs machen. Beispielsweise kann im Falle einer registrierten Manipulation oder eines Systemfehlers das Setzen eines bestimmten Flags bewirken, dass beim Neustart auf die Adresse des Notlaufssystems zugegriffen wird.
Für die Erstinbetriebnahme nach der Zuordnung des zweiten Mo¬ duls zu dem ersten Modul ist es sinnvoll, wenn die Logikein¬ heit auf einen an einer ersten Schnittstelle angeschlossenen externen Speicher die ersten Daten lesend zugreift. Da es sinnvoll ist, diesen Vorgang in einer sicheren räumlichen Um-
gebung - also an einer Sicherheitszelle - zu unternehmen, stellt der Zugriff der Logikeinheit auf eine externe Schnitt¬ stelle zum Auslesen von ersten Daten kein Sicherheitsrisiko dar. Da davon auszugehen ist, dass in der sicheren Umgebung Manipulationsversuche ausgeschlossen sind, bedarf dieser Da¬ tentransfer keiner Verschlüsselung. Insbesondere für den Fahrtschreiber muss das von der Logikeinheit ausgeführte Pro¬ gramm für die bestimmungsgemäße Funktion besonderen Kriterien genügend geschützt sein. Insofern besitzt das erfindungsgemä- ße Verfahren eine besondere Eignung zur Übertragung eines ausführbares Programms, welches für die bestimmungsgemäße Funktion erforderlich ist, da die erfindungsgemäßen Sicherheitsvorteile ohne Mehraufwand gleichzeitig zum sicheren Up- load genutzt werden.
Zusätzliche Sicherheit wird erzielt, wenn das erste Modul ei¬ nen löschbaren dritten Speicher umfasst, in dem der erste Schlüssel gespeichert ist. Die Löschbarkeit des dritten Spei¬ chers ist besonders vorteilhaft in Kombination mit einem ak¬ tiven Hardwareschutz, der in der Weise ausgebildet ist, dass bei der Erfassung eines Manipulationsversuches der dritte
Speicher bevorzugt mittels einer zweckmäßig integrierten oder überwachten externen Hilfsenergie gelöscht wird. Sinnvoll ist es hierbei, wenn auch der Hilfsenergiespeicher von dem aktiven Hardwareschutz umfasst ist, so dass aufgrund der Unter- brechung sonstiger Energieversorgung die Löschbarkeit sicherheitsrelevanter Daten gewährleistet ist. Gleichermaßen zweckmäßig und kostengünstiger ist die Anordnung des Hilfsenergie- speichers außerhalb des aktiven Hardwareschutzes in Kombina¬ tion mit einer Überwachungssensorik, die als Spannungüberwa- chung des Hilfsenergiespeichers ausgebildet sein kann. Der Hilfsenergiespeicher kann mit Vorteil als Lithium-Batterie ausgebildet sein und aufgrund derartiger Modularität ausge¬ wechselt werden. Auch eine Kombination einer internen und externen Lösung ist denkbar. Sinnvoll ist eine Ausbildung der Logikeinheit derart, dass sie beim erstmaligen Neustart immer auf den ersten Teilbereich des zweiten Speichers zugreift, wo
gegebenenfalls weitere Instruktionen zum Booten hinterlegt sind. In dem ersten Teilbereich des zweiten Speichers können sich mit Vorteil ein Basisbetriebssystem und ein Bootloader befinden, der das Uploaden eines Instruction Codes für die bestimmungsgemäße Funktion des ersten Moduls bewirkt.
Bei einer Integration der nach dem erfindungsgemäßen Verfahren erzeugten Anordnung in ein Kraftfahrzeug ist es sinnvoll, wenn die Anordnung mit einem Controller-Area-Network (CAN- BUS) in Verbindung steht. Hier kann die Logikeinheit weitere, vorzugsweise sämtliche sicherheitsrelevanten Aufgaben übernehmen und beispielsweise Manipulationen an der Motorsteue¬ rung, insbesondere an der elektronischen Wegfahrsperre unterbinden. Grundsätzlich ist es denkbar, dass betriebsnotwendige Komponenten des Kraftfahrzeuges unter der Notwendigkeit der Authentifizierung durch die Logikeinheit zunächst eine Art Bootvorgang durchlaufen, bevor sie ihre bestimmungsgemäße Funktion aufnehmen können.
Insbesondere in der Anmeldung der Erfindung für Fahrtschreiber ist es sinnvoll, wenn der zweite Speicher neben dem ers- ten und zweiten Teilbereich weitere Teilbereiche umfasst, auf die die Logikeinheit jeweils unter Verwendung unterschiedli¬ cher kryptologischer Schlüssel lesend und/oder schreibend zu¬ greift. Dies insbesondere deshalb, weil naturgemäß auf dem Fahrtschreiber, insbesondere auf dem zweiten Speicher des Fahrtschreibers unterschiedlich autorisierte Zugriffe erfol¬ gen, beispielsweise durch Werkstätten, die Fahrzeugführer, die Inbetriebnehmer oder öffentliche Kontrollorgane. Insofern ist es sinnvoll, wenn verschiedenen Teilbereichen des zweiten Speichers jeweils ein eigener kryptologischer Schlüssel zuge- ordnet ist und das dazugehörige Sicherheitszertifikat in der Logikeinheit hinterlegt ist. Im Sinne eines modularen Aufbaus ist hierbei sinnvoll, wenn die Logikeinheit ein Speicher¬ schutzmodul umfasst, welches Zugriffsadressen des zweiten Speichers und Benutzern jeweils ein Sicherheitszertifikat zu- ordnet und die Logikeinheit bei Zugriff auf eine Zugriffsad-
resse des zweiten Speichers von dem Speicherschutzmodul einen entsprechenden Schlüssel aus dem dritten oder vierten Speicher für den Zugriff freigegeben erhält oder den Zugriff verweigert bekommt.
In der Folge ist die Erfindung anhand eines speziellen Aus¬ führungsbeispiels unter Bezugnahme auf eine Zeichnung zur Verdeutlichung näher beschrieben. Es zeigt:
Fig. 1: eine schematische Darstellung einer nach dem erfindungsgemäßen Verfahren erstellten Anordnung für einen FahrtSchreiber .
In Fig. 1 sind ein erstes Modul 1 als eine Logikeinheit MC und ein zweites Modul 2 als ein zweiter Speicher MEM ausgebildet. Die Logikeinheit MC steht mit dem zweiten Speicher MEM mittels eines Datenbusses BUS in Verbindung. Daneben ist die Logikeinheit MC mit einem externen Speicher 3 und einem
Controller-Area-Network CAN Daten- übertragend verbunden, wobei diese Verbindung an einen Schnittstellencontroller IFC der Logikeinheit MC angeschlossen ist.
Zentraler Bestandteil der Logikeinheit MC ist eine zentrale Recheneinheit CPU, mittels derer die Logikeinheit MC die ein¬ zelnen Prozesse bearbeitet. Die zentrale Recheneinheit CPU steht mit weiteren Bestandteilen der Logikeinheit MC in Verbindung, nämlich im Einzelnen mit dem Schnittstellencontroller IFC, einem als Festspeicher ausgebildeten ersten Speicher KMF und einem als löschbaren Speicher ausgebildeten dritten
Speicher KME. Darüber hinaus steht die zentrale Recheneinheit CPU mit einem Zufallszahlengenerator RNG und einem Verschlüsselungsmodul CU in Daten- übertragender Verbindung. Das Verschlüsselungsmodul CU übernimmt sämtliche Verschlüsselungs- und Entschlüsselungsaufgaben, die im Austausch mit dem zweiten Speicher MEM mittels des Datenbusses BUS erfolgen. Hierzu greift das Verschlüsselungsmodul CU auf den ersten Speicher KMF und dem dritten Speicher KME zu, wo sich ein zweiter
Schlüssel DKl bzw. erste Schlüssel MKl-MKN befinden. Ein Speicherschutzmodul MPU befindet sich ebenfalls im Austausch mit dem Verschlüsselungsmodul CU und ordnet für das Ver¬ schlüsselungsmodul CU zu Zugriffsadressen ADR Sicherheitszer- tifikate CERT zu, die einerseits Informationen über die
Schlüssel DKl, MKl-MKN und andererseits über die Zugriffs¬ rechte enthalten. Hierbei sind Sicherheitszertifikate CERT Benutzern zugeordnet, die sich in nicht dargestellter Weise an dem System anmelden.
Der zweite Speicher MEM ist in mehrere Teilbereiche, insbe¬ sondere einen ersten Teilbereich Tl und zweite Teilberei¬ che T2-TN, aufgeteilt, in denen mittels verschiedener Schlüs¬ sel DKl bzw. MKl-MKN verschlüsselte Daten gespeichert sind. In dem mittels DKl verschlüsselten Teilbereich Tl befinden sich verschlüsselte zweite Daten D2, nämlich verschlüsselte Bootanweisungen BC und ein Bootloader BL, der beim erstmaligen Neustart nach Zusammenfügen des ersten Moduls 1 mit dem zweiten Modul 2 die Logikeinheit MC instruiert, auf welchem Speicher unter welcher Adresse als nächstes zuzugreifen ist. Die mittels der ersten Schlüssel MKl-MKN verschlüsselten
Teilbereiche Tl-TN enthalten erste Daten Dl, nämlich benutzerspezifische Anwendungsdaten und/oder Anwendungsprogramme.
Nach dem Zusammenfügen der beiden Module 1, 2 erfolgt zunächst ein Neustart 0. Im Anschluss an den Neustart 0. er- folgt eine Entschlüsselung I. der Bootanweisungen BC mittels des Verschlüsselungsmoduls CU durch die Logikeinheit MC. Ver¬ läuft die Entschlüsselung I. mittels des zweiten Schlüssels DKl erfolgreich, ordnet die Logikeinheit MC den zweiten Spei¬ cher MEM, den Status "Authentifiziert" zu und lädt den Boot- loader BL ebenfalls in die zentrale Recheneinheit CPU. Im An¬ schluss an die Entschlüsselung I. erzeugt die zentrale Re¬ cheneinheit CPU unter Verwendung einer Zufallszahl II. aus dem Zufallsgenerator RNG einen ersten Schlüssel MKl.
Der anschließende Schritt folgend der von dem Bootloader BL vorgegebenen Sequenz sieht den Zugriff auf den externen Speicher 3 vor zum Auslesen eines Instruction Codes IC. Weiterhin folgt die Verschlüsselung des Instruction Codes IC mittels der Verschlüsselungseinheit CU unter Verwendung des ersten Schlüssels MKl sowie die Speicherung des verschlüsselten Instruction Codes IC in dem Bereich des zweiten Speichers MEM, dessen Adressen ADR der Verschlüsselung mittels MKl zugeordnet sind. Bei dem Instruction Code handelt es sich um ein von der Logikeinheit bzw. dem ersten Modul zur Aufrechterhaltung der bestimmungsgemäßen Funktion erforderliches ausführbares Programm. Ein Verlust des ersten Schlüssels bedeutet deshalb, dass die Funktionen aus dem Instruction Code nicht mehr zur Verfügung stehen.
Anschließend wird der Bereich des Bootloaders BL mit einem NotlaufSystem FS verschlüsselt unter Verwendung des zweiten Schlüssels DKl, den ursprünglichen Bootloader BL Überschreiben IV. gespeichert. Die Schritte I. - IV. erfolgen in einer Sicherheitszelle, so dass Manipulationen ausgeschlossen sind.
Das erste Modul 1 und das zweite Modul 2 sind in dem speziel¬ len Ausführungsbeispiel Bestandteile eines digitalen Fahrt¬ schreibers DTCO.
Die Logikeinheit MC ist von einem aktiven Hardwareschutz AH umgeben, der einen Hilfsenergiespeicher B aufweist, mittels dessen auch bei Ausfall einer externen Energieversorgung EE der Inhalt des dritten Speichers KME gelöscht werden kann, falls mittels des aktiven Hardwareschutzes AH eine Manipula¬ tion erkannt ist. Der Hilfsenergiespeicher B wird mittels einer nicht dargestellten Überwachungssensorik hinsichtlich seiner Spannung überwacht.