Beschreibung
Verfahren und System zur Erkennung einer Manipulation von Datensätzen
Die Erfindung betrifft ein Verfahren und ein System zur Erkennung einer Manipulation von Datensätzen in einem System mit mindestens einer Rechenvorrichtung und einer externen Sicherheitsvorrichtung, wobei die Datensätze in der Rechen- Vorrichtung gespeichert sind.
Zur Überwachung und Erkennung von bösartigen Eingriffen in eine Rechenvorrichtung werden unterschiedliche sicherheitsrelevante Datensätze, die beispielsweise durch Anwendungspro- gramme oder das Betriebssystem generiert werden, in einem Dateisystem des Betriebssystems gespeichert. Solche sicherheitsrelevanten Datensätze sind beispielsweise Protokollie- rungsdaten, die zum Beispiel fehlgeschlagene Anmeldeversuche von Anwendern auf die Rechenvorrichtung oder Änderungen von systemrelevanten Parametern angeben. Diese sicherheitsrelevanten Datensätze werden in der Rechenvorrichtung gespeichert und durch einen Rechte-basierten Zugriffsschutz auf dem Betriebssystem geschützt. Besteht Verdacht auf Manipulation der Recheneinrichtung, so können diese Datensätze für eine späte- re forensische Analyse der Rechenvorrichtung verwendet werden .
Wird eine Rechenvorrichtung von einem Angreifer erfolgreich attackiert, so kann sich dieser Angreifer üblicherweise auch die notwendigen Zugriffsrechte verschaffen, um diese sicherheitsrelevanten Datensätze zu löschen oder zu verändern, um den Angriff im Nachhinein zu verschleiern. Es werden also die entsprechenden Spuren des Angriffs, die in den sicherheitsrelevanten Daten festgehalten wurden, verwischt und ein uner- laubter Zugriff auf die Rechenvorrichtung bleibt damit unerkannt. Desweiteren ist es dann nicht mehr möglich, zu erkennen, wie die Rechenvorrichtung verändert bzw. angegriffen
wurde und zu analysieren, welche Schwachstellen dafür ausgenutzt wurden.
Es ist somit die Aufgabe der vorliegenden Erfindung, eine Möglichkeit zu schaffen, auch im Nachhinein zu erkennen, ob und gegebenenfalls welche sicherheitsrelevante Datensätze manipuliert wurden und somit festzustellen, dass ein Angriff auf die Rechenvorrichtung stattfand. Neben automatisch erzeugten Protokollierungsdaten können mit dem erfindungsgemäßen Verfahren auch andere, sukzessive neu anfallende Datensätze - im folgenden als „sicherheitsrelevante Datensätze" bezeichnet - gegen spätere, unbemerkte Veränderungen gesichert werden.
Die Aufgabe wird durch die in den unabhängigen Ansprüchen beschriebenen Maßnahmen gelöst. In den Unteransprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt. Das erfindungsgemäße Verfahren zur Erkennung einer Manipulation von sicherheitsrelevanten Datensätzen in einem System, das eine Rechenvorrichtung, in der sicherheitsrelevante Datensätze gespeichert sind, und eine externe Sicherheitsvorrichtung umfasst, wird als erster Verfahrensschritt einer Re- chenvorrichtung ein Geheimnis zugewiesen. Der nächste Verfahrensschritt ist das Erzeugen eines ersten kryptographisehen Schlüssels durch eine Einwegfunktion in Abhängigkeit von dem Geheimnis und daran anschließend das Speichern des Geheimnisses auf einer von der Rechenvorrichtung verschiedenen Sicher- heitsvorrichtung, sowie das Sicherstellen, dass das Geheimnis nicht in der Rechenvorrichtung zugänglich ist. Im nächsten Verfahrensschritt wird der erste kryptographisehe Schlüssel zur Absicherung des ersten sicherheitsrelevanten Datensatzes verwendet. Danach wird jeweils ein nächster kryptographischer Schlüssel durch die gleiche Einwegfunktion in Abhängigkeit von dem jeweils vorhergehenden kryptographisehen Schlüssel zur Absicherung des nächsten sicherheitsrelevanten Datensatzes auf der Rechenvorrichtung erzeugt und gleichzeitig der
jeweils vorhergehende kryptographisehe Schlüssel gelöscht oder überschrieben.
Somit liegt immer nur der kryptographisehe Schlüssel in der Rechenvorrichtung vor, der für die Absicherung des nächsten sicherheitsrelevanten Datensatzes benötigt wird. Aufgrund der Konstruktion des kryptographisehen Schlüssels durch eine Einwegfunktion kann aus dem aktuell vorhandenen kryptographi - sehen Schlüssel nicht auf die vorhergehenden Schlüssel zu- rückgeschlossen werden. Somit können die vorherigen Datensätze nicht unbemerkt modifiziert werden. Ein Angreifer kann zwar den einzigen verfügbaren kryptographisehen Schlüssel verwenden um die nächsten Sicherheitsdatensätze zu verfälschen. Er kann aber nicht die bereits abgesicherten gespei - cherten Sicherheitsdatensätze ändern, die vor dem Zeitpunkt der Systemübernahme und Kenntnisnahme des gerade aktuellen Schlüssels bereits erstellt und abgespeichert wurden. Löscht der Angreifer abgesicherte Datensätze, so wird dies ebenfalls bemerkt .
In einer vorteilhaften Variante des erfindungsgemäßen Verfahrens wird das Geheimnis in der Rechenvorrichtung erzeugt und an die Sicherheitsvorrichtung gesichert übertragen. Das Geheimnis wird beispielsweise mittels eines Pseudozu- fallszahlengenerators aus einer bei der initialen Konfiguration eingespielten, extern erzeugten und für jeder Rechenvorrichtung anderen „Seed" gebildet, oder - falls vorhanden - mittels eines integrierten echten, physikalischen Zufallszah- lengenerators erzeugt. Zur sicheren Übertragung an die
Sicherheitsvorrichtung wird das Geheimnis in der Rechenvorrichtung beispielsweise mit einem öffentlichen asymmetrischen Schlüssel der Sicherheitsvorrichtung verschlüsselt und an diese übertragen. Alternativ kann auch eine beliebige andere sichere Übertragung wie beispielsweise eine bestehende IPSEC- oder TLS-Verbindung genutzt werden.
In einer vorteilhaften Variante wird das Geheimnis in der Sicherheitsvorrichtung erzeugt.
Dies hat den Vorteil, dass nur in einer zentralen Komponente wie einer Sicherheitsvorrichtung ein hochwertiger, kryptogra- phisch sicherer Zufallszahlengenerator verfügbar sein muss. Außerdem ist eine zentrale Verwaltung der Geheimnisse leicht möglich . Die Übertragung des Geheimnisses von der Sicherheitsvorrichtung an die Rechenvorrichtung muss dabei über eine sichere Verbindung erfolgen. Dies kann beispielsweise eine bestehende IPSEC- oder TLS-Verbindung sein. Eine manuelle Verteilung mittels eines mobilen Datenspeichers wie USB-Speicherstick oder die manuelle Eingabe durch einen Techniker ist prinzipiell ebenfalls möglich, aber aufwändiger. Bei einer Industrieanlage mit einer großen Anzahl von Rechenvorrichtungen mit vorgeplanter Konfiguration der einzelnen Rechenvorrichtungen kann auch vor der Inbetriebnahme der einzelnen Rechenvorrich- tungen von der Sicherheitsvorrichtung das Geheimnis zusammen mit der Konfiguration eingespielt werden. Während der Konfiguration ist meist noch kein Zugang zu einem externen Netzwerk vorhanden und somit ist eine sichere Übertragung gegeben. Die Sicherheitsvorrichtung in einer Industrieautomati - sierungsanlage kann insbesondere die Engineering Station sein .
In einer vorteilhaften Ausführungsform wird auf der Sicherheitsvorrichtung das Geheimnis und der erste kryptographische Schlüssel erzeugt und lediglich der erste kryptographische Schlüssel anschließend an die Rechenvorrichtung übertragen.
Dies hat den großen Vorteil, dass das Geheimnis zu keiner Zeit die Sicherheitsvorrichtung verlässt und nicht über eine externe Verbindung transportiert wird. Dies reduziert die Möglichkeit einer Manipulation bzw. eines Abhörens des Geheimnisses signifikant . Es kann auch das Geheimnis direkt als der erste kryptographische Schlüssel erzeugt und lediglich
der erste kryptographische Schlüssel anschließend an die Rechenvorrichtung übertragen. Bei der Ableitung des ersten kryptographisehen Schlüssels entfällt dann die erste Anwendung der Einwegfunktion.
In einer vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens wird die Absicherung des sicherheitsrelevanten Datensatzes durch Verschlüsselung des Datensatzes mit dem kryp- tographischen Schlüssel ausgeführt.
Dies hat den Vorteil, dass ein Unberechtigter den Inhalt des Datensatzes nicht in Klartext auslesen kann, da dieser ausschließlich in verschlüsselter Form vorliegt und der dazu passende kryptographische Schlüssel auf der Rechenvorrichtung nicht mehr vorhanden ist.
In einer vorteilhaften Ausführungsform wird die Absicherung des sicherheitsrelevanten Datensatzes durch Zuweisen eines mit dem kryptographisehen Schlüssel erzeugten Nachrichtenau- thentifizierungscodes zu dem sicherheitsrelevanten Datensatz ausgeführt .
Ein Nachrichtenauthentifizierungscode wird üblicherweise durch eine Hash-Funktion aus den zugrundeliegenden Daten, hier dem sicherheitsrelevanten Datensatz und dem zugewiesenen kryptographisehen Schlüssel erzeugt. Durch dieses Verfahren kann erkannt werden, ob der sicherheitsrelevante Datensatz modifiziert worden ist, da bei Kenntnis des Geheimnisses jeder der verwendeten kryptographisehen Schlüssel eindeutig in Wert und Reihenfolge wieder generiert werden kann. Dadurch kann nachgeprüft werden, ob ein Nachrichtenauthentifizierungscode, der aus dem gespeicherten sicherheitsrelevanten Datensatzes und einem aus dem Geheimnis regenerierten kryp- tographischen Schlüssel berechnet wird, mit dem mit dem Da- tensatz gespeicherten Nachrichtenauthentifizierungscode übereinstimmt. Ist dies nicht der Fall, so wurde der Datensatz zwischenzeitlich verändert.
In einer Variante des erfindungsgemäßen Verfahrens umfasst das Geheimnis eine Antwortzeichenkette , die als Antwort auf eine Sicherheitsabfrage gegeben wurde. Durch die Integration einer zusätzlichen Antwortzeichenkette kann das Geheimnis von den Geheimnissen anderer Rechenvorrichtungen abgegrenzt werden, insbesondere wenn eine Konfiguration von unterschiedlichen Geheimnissen schwierig durchzuführen ist. Damit wird ein Rückschluss von dem Geheimnis ei- ner Rechenvorrichtung auf das Geheimnis einer anderen Rechenvorrichtung erschwert .
In einer vorteilhaften Variante wird ein neues Geheimnis in Abhängigkeit von einem vorgegebenen Ereignis der Rechenvor- richtung zugewiesen und die bereits beschriebenen Verfahrensschritte mit dem neuen Geheimnis durchgeführt.
In einer weiteren Variante wird ein neues Geheimnis nach einer Abfrage der sicherheitsrelevanten Datensätze der Rechen- Vorrichtung zugewiesen und die oben beschriebenen Verfahrens- schritte mit dem neuen Geheimnis durchgeführt.
Die beiden beschriebenen Varianten haben den Vorteil, dass die Anzahl der Protokolleinträge, die mit dem Geheimnis gene- riert werden, begrenzt werden. Dadurch verkürzt sich die Zeit zur Nachbildung der verwendeten kryptographisehen Schlüssel, insbesondere der zeitlich zuletzt gebildeten kryptographi - schen Schlüssel. Das erfindungsgemäße System zur Erkennung einer Manipulation von sicherheitsrelevanten Datensätzen umfasst eine Rechenvorrichtung und eine externe von der Rechenvorrichtung abgesetzte Sicherheitsvorrichtung, wobei die Rechenvorrichtung derart ausgebildet ist, sicherheitsrelevante Datensätze zu spei- ehern, einen ersten kryptographisehen Schlüssel, der durch eine Einwegfunktion in Abhängigkeit von einem Geheimnis erzeugt wurde, zur Absicherung des ersten sicherheitsrelevanten Datensatzes zu verwenden und sicherzustellen, dass das Ge-
heimnis nicht in der Rechenvorrichtung zugänglich ist, und jeweils einen nächsten kryptographisehen Schlüssel durch die gleiche Einwegfunktion in Abhängigkeit von dem jeweils vorhergehenden kryptographisehen Schlüssel zur Absicherung eines nächsten sicherheitsrelevanten Datensatzes zu erzeugen und gleichzeitig den jeweils vorhergehenden kryptographisehen Schlüssel zu löschen oder zu überschreiben. Die Sicherheitsvorrichtung ist derart ausgebildet, das Geheimnis dauerhaft zu speichern.
Ein solches System hat den Vorteil, dass eine Manipulation des Systems, insbesondere der Rechenvorrichtung, noch im Nachhinein erkannt wird, da fehlende sicherheitsrelevante Datensätze bzw. modifizierte Datensätze erkannt werden. Dies ergibt sich daraus, dass lediglich ein einziger kryptographi - scher Schlüssel in der Rechenvorrichtung selbst vorliegt und dieser kryptographisehe Schlüssel nicht für die vorausgehenden sicherheitsrelevanten Datensätze zur Absicherung verwendet werden kann. Daher kann ein Angreifer einen bereits be- stehenden Datensatz mit diesem kryptographisehen Schlüssel weder entschlüsseln noch modifizieren und wieder verschlüsseln. Fehlen zwischen den bestehenden, nicht manipulierten Datensätzen einzelne Datensätze, so kann die Anzahl der fehlenden Datensätze durch die Anzahl der nicht verwendeten auf- einanderfolgenden kryptographisehen Schlüssel ermittelt werden. Außerdem kann auch ein frühestmöglicher Zeitpunkt des erfolgreichen Eindringens ermittelt werden, ab dem die Datensätze manipuliert wurden, da üblicherweise mit jedem Datensatz und somit mit jedem verwendeten kryptographisehen
Schlüssel ein Zeitstempel erzeugt wird und somit aus dem ersten fehlenden kryptographisehen Schlüssel der Zeitpunkt einer Manipulation ermittelt werden kann.
In einer vorteilhaften Ausführungsform ist die Rechenvorrich- tung derart ausgebildet, das Geheimnis zu erzeugen und an die Sicherheitsvorrichtung zu übertragen.
Da lediglich einmal oder in zeitlich großen Abständen ein Geheimnis erzeugt werden muss, kann auch eine einfach ausgebildete Rechenvorrichtung ein ausreichend zufälliges Geheimnis erzeugen. Die Rechenvorrichtung und damit auch der Zeitpunkt der Erzeugung des Geheimnisses sind sehr flexibel und beispielsweise von der ständigen Verfügbarkeit einer Kommunikationsverbindung zu einer übergeordneten Einheit, zum Beispiel der Sicherheitsvorrichtung, unabhängig. In einer weiteren vorteilhaften Ausführungsform ist die
Sicherheitsvorrichtung derart ausgebildet, das Geheimnis zu erzeugen und an die Rechenvorrichtung zu übertragen.
Über die Sicherheitsvorrichtung kann somit eine zentrale Ver- teilung und eine zentrale Verwaltung der Geheimnisse durchgeführt werden.
In einer vorteilhaften Ausführungsform ist die Sicherheitsvorrichtung derart ausgebildet, auch den ersten kryptographi - sehen Schlüssel zu erzeugen und lediglich diesen ersten kryp- tographischen Schlüssel anschließend an die Rechenvorrichtung zu übertragen.
Dies hat den Vorteil, dass die erste Anwendung der Einweg- funktion entfällt.
In einer weiteren vorteilhaften Ausführungsform ist die Rechenvorrichtung derart ausgebildet, die Absicherung des sicherheitsrelevanten Datensatzes durch Verschlüsselung des Datensatzes mit dem kryptographisehen Schlüssel oder durch
Zuweisen eines mit dem kryptographisehen Schlüssel erzeugten Nachrichtenauthentifizierungscodes zu dem sicherheitsrelevanten Datensatz auszuführen. Ausführungsbeispiele des erfindungsgemäßen Verfahrens sowie des erfindungsgemäßen Systems sind in den Zeichnungen beispielhaft dargestellt und werden anhand der nachfolgenden Beschreibung näher erläutert. Es zeigen:
Figur 1 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens in Form eines Flussdiagramms; Figur 2 eine beispielhafte Ausbildung eines Geheimnisses in schematischer Darstellung;
Figur 3 beispielhafte mittels angehängtem Nachrichtenau- thentifizierungscode abgesicherte sicherheitsrele- vante Datensätze in schematischer Darstellung;
Figur 4 beispielhafte durch kryptographische Verschlüsselung abgesicherte Datensätze in schematischer Darstellung;
Figur 5 ein erstes Ausführungsbeispiel eines erfindungsgemäßen Systems in schematischer Darstellung; und
Figur 6 ein zweites Ausführungsbeispiel eines erfindungsge- mäßen Systems in schematischer Darstellung.
Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen. Sicherheitsrelevante Ereignisse, wie z.B. fehlgeschlagene Anmeldeversuche oder eine Änderung von systemrelevanten Parametern werden beispielsweise von Rechenvorrichtungen, aber auch Feldgeräten in Automatisierungsanlagen, typischerweise aufgezeichnet und in jeder einzelnen Rechenvorrichtung gespei - chert . Zusätzlich können solche sicherheitsrelevanten Ereignisse auch an eine zentrale Überwachungseinheit übertragen und dort gespeichert werden. Üblicherweise werden diese sicherheitsrelevanten Ereignisse als Datensätze zunächst nur lokal abgelegt und der Zugriff auf diese Datensätze durch spezielle rollenbasierte Zugriffsrechte durch das Betriebssystem gesichert. Wurde ein erfolgreicher Angriff auf eine Rechenvorrichtung durchgeführt, kann sich der Angreifer auch die notwendigen Zugriffsrechte verschaffen und diese sicher-
heitsrelevanten Datensätze löschen oder verändern. Dadurch kann der Angriff im Nachhinein verschleiert werden.
In Figur 1 ist nun eine Ausführungsform des erfindungsgemäßen Verfahrens als Flussdiagramm 30 dargestellt, mit dem es möglich ist, Änderungen an den sicherheitsrelevanten Datensätzen auch im Nachhinein zu erkennen. Im Anfangszustand 31 liegt eine Rechenvorrichtung zu einem Initialisierungszeitpunkt, beispielsweise zum Zeitpunkt der Inbetriebnahme der Rechen- Vorrichtung, vor. Im Schritt 32 wird nun der Rechenvorrichtung ein Geheimnis zugewiesen. Das Geheimnis kann beispielsweise in der Rechenvorrichtung selbst erzeugt worden sein. Das Geheimnis kann aber auch in einer Sicherheitsvorrichtung erzeugt worden sein, die als eigenständige von der Rechenvor- richtung physikalisch getrennte Einheit ausgebildet sein kann oder aber auch als besonders geschützte Einheit innerhalb der Rechenvorrichtung vorliegen kann, wenn sowohl ein Auslesen als auch ein späteres Überschreiben des in der Sicherheitsvorrichtung gespeicherten Geheimnisses durch die Rechenvor- richtung nicht möglich sind.
Im Verfahrensschritt 33 wird nun ein erster kryptographischer Schlüssel aus dem Geheimnis mittels einer Einwegfunktion erzeugt. Dies kann in der Rechenvorrichtung ausgeführt werden. Alternativ, wenn das Geheimnis in einer von der Rechenvorrichtung getrennt implementierten Sicherheitsvorrichtung erzeugt wurde, kann der erste kryptographisehe Schlüssel in der Sicherheitsvorrichtung durch die gleiche Einwegfunktion, die auch in der Rechenvorrichtung verwendet wird, basierend auf dem Geheimnis erzeugt werden. In diesem Fall wird danach der erste kryptographisehe Schlüssel an die Rechenvorrichtung übertragen. An Ende des Verfahrensschrittes 33 liegt der erste kryptographisehe Schlüssel in der Rechenvorrichtung vor. Im nächsten Verfahrensschritt 34 wird sichergestellt, dass das Geheimnis nicht in der Rechenvorrichtung zugänglich ist und das Geheimnis auf einer von der Rechenvorrichtung verschiedenen Sicherheitsvorrichtung gespeichert wird. Wurde das
Geheimnis in der Sicherheitsvorrichtung erzeugt, wird es dort lediglich abgespeichert. Wurde das Geheimnis in der Rechenvorrichtung erzeugt, so muss das Geheimnis an die Sicherheitsvorrichtung übertragen werden. Danach wird in der Re- chenvorrichtung das Geheimnis dann sofort beispielsweise gelöscht oder durch den ersten kryptographisehen Schlüssel überschrieben .
Nachfolgend wird im Verfahrensschritt 35 der erste kryptogra- phische Schlüssel zur Absicherung eines ersten sicherheitsrelevanten Datensatzes verwendet. Anschließend im Verfahrensschritt 36 wird nun der nächste kryptographisehe Schlüssel durch die gleiche Einwegfunktion in Abhängigkeit von dem vorhergehenden kryptographisehen Schlüssel, also hier dem ersten kryptographisehen Schlüssel, erzeugt und gleichzeitig der vorhergehende kryptographisehe Schlüssel, hier der erste kryptographisehe Schlüssel, gelöscht oder beispielsweise durch den neuen kryptographisehen Schlüssel überschrieben. Zur Absicherung des nächsten sicherheitsrelevanten Datensat- zes wird im Verfahrensschritt 38 nun der in der Rechenvorrichtung vorliegende nächste kryptographisehe Schlüssel verwendet .
Optional kann nun im Verfahrensschritt 39 überprüft werden, ob ein vorgegebenes Ereignis, beispielsweise das Überschreiten eines bei jeder Erzeugung eines kryptographisehen Schlüssels erhöhter Zähler einen Maximalwert erreicht hat. Ein weiteres vorgegebenes Ereignis kann beispielsweise die Abfrage der sicherheitsrelevanten Datensätze von der Rechenvorrich- tung durch eine beispielsweise zentrale Komponente sein.
Liegt ein solches Ereignis vor, wird das Verfahren im Verfahrensschritt 32 weitergeführt, indem der Rechenvorrichtung ein neues Geheimnis zugewiesen wird. Das neue Geheimnis wird an die Sicherheitsvorrichtung übertragen. Nachfolgend werden für die Sicherung aller weiteren sicherheitsrelevanten Datensätze kryptographisehe Schlüssel basierend auf diesem neuen Geheimnis verwendet. Es wird des Weiteren sichergestellt, dass das
neue Geheimnis in der Rechenvorrichtung nicht mehr zugänglich ist .
Liegt im Verfahrensschritt 39 kein solches Ereignis vor, wird das Verfahren im Schritt 36 weitergeführt, indem jeweils ein nächster kryptographischer Schlüssel durch die gleiche Einwegfunktion in Abhängigkeit von dem jeweils vorhergehenden kryptographisehen Schlüssel erzeugt wird, im Schritt 37 zur Absicherung des nächsten sicherheitsrelevanten Datensatzes verwendet und anschließend gelöscht bzw. überschrieben wird. Der Endzustand 40 wird beispielsweise bei Außerbetriebnahme der Rechenvorrichtung erreicht .
Das Geheimnis ist anschließend nur in der Sicherheitsvorrich- tung zugänglich, und kann später bei einer forensischen Analyse der Rechenvorrichtung zur Erzeugung aller in der Rechenvorrichtung verwendeten kryptographisehen Schlüssel verwendet werden. Mittels dieser Wiederhergestellten Schlüssel können somit im Nachhinein die abgesicherten sicherheitsrelevanten Datensätze gelesen bzw. ihre Integrität überprüft werden.
Die zur Erzeugung des ersten und aller nachfolgenden krypto- graphischen Schlüssel verwendete Einwegfunktion kann typischerweise eine Hash-Funktion sein. Die Einwegfunktion muss dabei die Eigenschaft aufweisen, dass sich aus der Kenntnis des durch die Einwegfunktion resultierenden Wertes H (X) nicht auf den Eingangsparameter X zurückschließen lässt. Kryptogra- phische Hash-Funktionen haben typischerweise diese Eigenschaft und eignen sich somit zur Verwendung als Einwegfunkti - on in dem beschriebenen Verfahren. Als Einwegfunktionen können beispielsweise die Verfahren SHA2 , SHA3 und Whirlpool verwendet werden. Auch andere Einwegverfahren, wie sie üblicherweise zur Ableitung kryptographischer Schlüssel eingesetzt werden, können verwendet werden, sofern alle erzeugten Schlüssel aus dem ursprünglichen Geheimnis reproduzierbar abgeleitet werden können.
Um in verschiedenen Rechenvorrichtungen unterschiedliche kryptographische Schlüssel bereitzustellen, die nicht durch Kenntnis der kryptographisehen Schlüssel anderer Vorrichtungen ermittelt werden können, muss das zur Berechnung des ers- ten kryptographisehen Schlüssels verwendete Geheimnis in den verschiedenen Rechenvorrichtungen möglichst unabhängig von den Geheimnissen in den anderen Rechenvorrichtungen sein. Daher werden zur Erzeugung eines solchen Geheimnisses üblicherweise Zufallszahlen verwendet, die möglichst auf tatsächlich zufällige physikalische Ereignisse basieren. Diese werden üblicherweise in einem Zufallsgenerator erzeugt.
Um die Anforderung an die Güte des Zufallszahlengenerators zu reduzieren bzw. die Zufälligkeit des Geheimnisses zu erhöhen, kann, wie in Figur 2 dargestellt, ein Geheimnis SEC neben einer Zufallszahl RAND als erstem Anteil einen zweiten Anteil ANS aufweisen. Der zweite Anteil ANS kann dabei eine Antwort auf eine Sicherheitsabfrage sein, die beispielsweise ein Techniker bei der Installation der Rechenvorrichtung geben muss. Ein Ausspionieren des Geheimnisses SEC kann weiter erschwert werden, indem der zweite Anteil ANS und der erste Anteil RAND des Geheimnisses SEC an unterschiedlichen räumlichen Orten aufbewahrt wird und lediglich bei einer Überprüfung der abgesicherten sicherheitsrelevanten Datensätze das Geheimnis aus beiden Teilen wieder zusammengeführt werden. In diesem Fall muss sichergestellt werden, dass bei einer Überprüfung der abgesicherten sicherheitsrelevanten Datensätze auf diese Antwort ANS einer Sicherheitsabfrage zugegriffen werden kann. Z.B. könnte die Antwort auf die Sicherheitsab- frage in einem Safe verwahrt werden.
In Figur 3 und 4 sind nun die über eine Zeit t angefallenen sicherheitsrelevanten Datensätze L0G1 , LOGn, LOGn in abgesicherter Form dargestellt. Dabei ist rechts neben den Datensätzen und ihrer Absicherung der jeweils verwendete kryptographische Schlüssel und wie dieser Schlüssel erzeugt wurde angegeben .
Figur 3 zeigt die gespeicherten sicherheitsrelevanten Datensatzes LOG1 , LOGn. Zur Absicherung wird zu jedem sicherheitsrelevanten Datensatz hier beispielsweise ein Nachrich- tenauthentifizierungscode HMAC(LOGn, Kn) gespeichert, der sich über einer Funktion aus dem sicherheitsrelevanten Datensatz LOGn und dem jeweils zugehörigen kryptographisehen
Schlüssel Kn als Eingangsparameter ergibt, beispielsweise gemäß dem IETF Standard RFC 2104 „HMAC: Keyed-Hashing for Message Authentication" . Der erste kryptographisehe Schlüssel Kl ergibt sich aus der Einwegfunktion angewandt auf das Geheimnis. Entsprechend wird der Nachrichtenauthentifizierungscode zum ersten Datensatz mit dem ersten Datensatz und dem ersten kryptographisehen Schlüssel als Eingangsparameter gebildet. Nach der Erzeugung des Nachrichtenauthentifizierungscodes wird dann der zweite kryptographisehe Schlüssel gebildet, indem die Einwegfunktion nun auf den ersten kryptographisehen Schlüssel angewendet wird. Anschließend wird sofort der erste kryptographisehe Schlüssel gelöscht bzw. durch den zweiten kryptographisehen Schlüssel überschrieben. Entsprechend wird für alle nachfolgenden sicherheitsrelevanten Datensätze vorgegangen. Es wird also, wie für die Datensätze LOGn und
LOGn+1 dargestellt, der kryptographisehe Schlüssel Kn+1 jeweils aus dem vorhergehenden kryptographisehen Schlüssel Kn durch Anwendung einer Einwegfunktion H, beispielsweise einer kryptographisehen Hash-Funktion, gebildet.
In Figur 3 und 4 sind jeweils die tatsächlich in der Rechenvorrichtung verfügbaren bzw. gespeicherten Daten umrandet dargestellt. Somit sind neben den sicherheitsrelevanten Da- tensätzen L0G1 , LOGp und den dazugehörigen Nachrichtenauthentifizierungscodes HMAC (L0G1 , Kl), HMAC (LOGp, Kp) , lediglich der für den nächsten Datensatz zu verwendende kryp- tographische Schlüssel Kp+1 in der Rechenvorrichtung gespeichert. Alle vorhergehenden kryptographisehen Schlüssel sind nicht mehr verfügbar.
Durch den Nachrichtenauthentifizierungscode können nun die gespeicherten sicherheitsrelevanten Datensätze auf ihre In-
tegrität überprüft werden. Dazu müssen durch das in der
Sicherheitsvorrichtung abgespeicherte Geheimnis erneut alle kryptographisehen Schlüssel durch iterative Anwendung der Einwegfunktion auf das Geheimnis bzw. die jeweils daraus ge- nerierten kryptographisehen Schlüssel, erzeugt werden und ein Nachrichtenauthentifizierungscode aus dem gespeicherten Datensatz und dem dazugehörenden Schlüssel erzeugt werden.
Stimmt der resultierende Nachrichtenauthentifizierungscode mit dem gespeicherten Nachrichtenauthentifizierungscode über- ein, so wurde der Datensatz nicht verändert. Stimmen die beiden Nachrichtenauthentifizierungscodes nicht überein, so unterscheidet sich der gespeicherte sicherheitsrelevante Datensatz von dem ursprünglich vorhandenen Datensatz. Dies deutet auf eine Manipulation hin.
In Figur 4 wurden die sicherheitsrelevanten Datensätze dadurch abgesichert, dass der Datensatz LOGn selbst mit dem zugehörenden kryptographisehen Schlüssel Kn verschlüsselt und lediglich verschlüsselt als E_Kn{L0Gn} abgespeichert wurden. Als Verschlüsselungsverfahren eignet sich z.B. ein symmetrisches Verschlüsselungsverfahren wie 3DES, AES oder auch IDEA.
Die Figuren 5 und 6 zeigen nun zwei Ausführungsbeispiele eines erfindungsgemäßen Systems. Das System 10 in Figur 5 und das System 20 in Figur 6 umfassen eine Sicherheitsvorrichtung 12, 22 und eine bzw. mehrere Rechenvorrichtungen 11, 21. Die Rechenvorrichtung 11 kann dabei beispielsweise ein Feldgerät bzw. Sensoreinrichtung einer Automatisierungsanlage oder einer Energieverteilungsanlage sein, aber auch eine Vorrichtung aus der Medizintechnik, in der sicherheitsrelevante Daten, beispielsweise Patientendaten geschützt abgespeichert werden. Die Rechenvorrichtung kann auch ein Fahrtenschreiber innerhalb eines Fahrzeugs sein. Das System 10 unterstützt dabei die Erzeugung des Geheimnisses in der Rechenvorrichtung 11 und steht beispielsweise über eine Kommunikationsverbindung wie beispielsweise einem Anlagenkommunikationsnetz, mit der Sicherheitsvorrichtung 12 in
Verbindung. Die Rechenvorrichtung 11 umfasst eine Geheimnis- Erzeugungseinheit 18, die beispielsweise einen Zufallsgenerator umfasst oder von einem Zufallsgenerator der Rechenvorrichtung eine Zufallszahl als Basis für die Bildung des Ge- heimnisses erhält. Das Geheimnis SEC wird über die Kommunikationsverbindung an die Sicherheitsvorrichtung 12 übertragen. Die Sicherheitsvorrichtung 12 umfasst dazu einen Geheimnisspeicher 16, in dem das Geheimnis SEC abgelegt wird. Des Weiteren umfasst die Rechenvorrichtung 11 eine Schlüssel- Erzeugungseinheit 14, die eine Einwegfunktion H umfasst, mit der aus dem Geheimnis SEC bzw. einem vorhergehenden kryptog- raphischen Schlüssel Kn-1 der nachfolgende kryptographische Schlüssel Kl bzw. Kn erzeugt wird. Der erzeugte aktuelle Schlüssel Kl bzw. Kn wird in einer Schlüssel -Speichereinheit 17 gespeichert. Das Geheimnis SEC bzw. der vorhergehende Schlüssel Kn-1 durch den nachfolgend gebildeten Schlüssel Kl bzw. Kn überschrieben. In einer Steuerungseinheit 15 können vorgegebene Ereignisse oder vorgegebene Parameter abgelegt werden. Die Steuerungs- einheit 15 ist derart ausgebildet, vor der Erzeugung des nächsten kryptographisehen Schlüssels die vorliegenden Gegebenheiten gegen die vorgegebenen Ereignisse abzuprüfen und bei Bedarf eine erneute Geheimniserzeugung in der Rechenvorrichtung 11 anzustoßen.
Die Rechenvorrichtung umfasst außerdem eine Sicherheitsdaten- Speichereinheit 13 in der die abgesicherten sicherheitsrele- vanten Datensätze abgelegt sind.
Figur 6 zeigt ein System 20, in dem eine Sicherheitsvorrichtung 22 das Geheimnis erzeugt und der Rechenvorrichtung 21 über eine Kommunikationsverbindung zur Verfügung stellt. Die Rechenvorrichtung 21 umfasst hier lediglich die Schlüssel- Erzeugungseinheit 14 sowie die Schlüssel-Speichereinheit 17, eine Steuerungseinheit 15 sowie eine Sicherheitsdaten-
Speichereinheit 13, in der die abgesicherten sicherheitsrelevanten Datensätze abgelegt sind.
Die Sicherheitsvorrichtung 22 umfasst hier eine Geheimnis- Erzeugungseinheit 28, in der das Geheimnis SEC erzeugt wird. Neben einer Zufallszahl RAND kann hier auch ein zweiter Teil ANS eines Geheimnisses, beispielsweise eine Antwort auf eine Sicherheitsabfrage gespeichert sein, die dann, wenn ein neues Geheimnis erzeugt werden muss, mit der neu gebildeten Zu- fallszahl zur Bildung eines neues Geheimnisses verwendet wird .
Die Sicherheitsvorrichtung 22 umfasst des Weiteren eine
Schlüssel -Erzeugungseinheit 24, in der mittels einer Einweg- funktion H aus dem Geheimnis SEC ein erster kryptographischer Schlüssel Kl erzeugt wird. Wie in der einfacher ausgebildeten Sicherheitsvorrichtung 12 umfasst die Sicherheitsvorrichtung 22 eine Geheimnis-Speichereinheit 16 zum sicheren Aufbewahren des Geheimnisses SEC für eine spätere Überprüfung der sicher- heitsrelevanten Datensätze. Ebenso ist in der Steuerungseinheit 15 eine Funktion zur Überprüfung vorgegebener Ereignisse, die ein erneutes Zuweisen eines Geheimnisses erfordern, überprüft und ausführt. Bei einer Überprüfung der Rechenvorrichtung 11, 21 können ausgehend von dem Geheimnis SEC in einfacher Art und Weise alle nachfolgenden kryptographisehen Schlüssel berechnet werden. Mit Hilfe dieser Schlüssel kann auch erkannt werden, ob die sicherheitsrelevanten Datensätze verändert oder gelöscht wurden. Ein Löschen von sicherheitsrelevanten Daten kann dadurch festgestellt werden, dass zwischen zwei aufeinanderfolgend gespeicherten Datensätzen nicht die aufeinanderfolgenden kryptographisehen Schlüssel zur Absicherung angewendet wurden, sondern ein späterer kryptographischer Schlüssel. Daraus kann die Anzahl der gelöschten Datensätze ermittelt werden. Da üblicherweise mit jedem gespeicherten Datensatz ein Zeitstempel generiert und gespeichert wird, kann damit auch festgestellt werden, ab welchem Zeitpunkt die Datenstrukturen ma-
nipuliert wurden. Somit kann durch das genannte Verfahren 30 und das genannte System 10, 20 auch im Nachhinein erkannt werden, ob sicherheitsrelevante Datensätze manipuliert wurden .
Alle beschriebenen und/oder gezeichneten Merkmale können im Rahmen der Erfindung vorteilhaft miteinander kombiniert werden. Die Erfindung ist nicht auf die beschriebenen Ausführungsbeispiele beschränkt.