-
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 Rechenvorrichtung gespeichert sind.
-
Zur Überwachung und Erkennung von bösartigen Eingriffen in eine Rechenvorrichtung werden unterschiedliche sicherheitsrelevante Datensätze, die beispielsweise durch Anwendungsprogramme oder das Betriebssystem generiert werden, in einem Dateisystem des Betriebssystems gespeichert. Solche sicherheitsrelevanten Datensätze sind beispielsweise Protokollierungsdaten, 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ätere 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 unerlaubter 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 Rechenvorrichtung ein Geheimnis zugewiesen. Der nächste Verfahrensschritt ist das Erzeugen eines ersten kryptographischen 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 Sicherheitsvorrichtung, sowie das Sicherstellen, dass das Geheimnis nicht in der Rechenvorrichtung zugänglich ist. Im nächsten Verfahrensschritt wird der erste kryptographische 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 kryptographischen Schlüssel zur Absicherung des nächsten sicherheitsrelevanten Datensatzes auf der Rechenvorrichtung erzeugt und gleichzeitig der jeweils vorhergehende kryptographische Schlüssel gelöscht oder überschrieben.
-
Somit liegt immer nur der kryptographische Schlüssel in der Rechenvorrichtung vor, der für die Absicherung des nächsten sicherheitsrelevanten Datensatzes benötigt wird. Aufgrund der Konstruktion des kryptographischen Schlüssels durch eine Einwegfunktion kann aus dem aktuell vorhandenen kryptographischen Schlüssel nicht auf die vorhergehenden Schlüssel zurückgeschlossen werden. Somit können die vorherigen Datensätze nicht unbemerkt modifiziert werden. Ein Angreifer kann zwar den einzigen verfügbaren kryptographischen Schlüssel verwenden um die nächsten Sicherheitsdatensätze zu verfälschen. Er kann aber nicht die bereits abgesicherten gespeicherten 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 Pseudozufallszahlengenerators 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 Zufallszahlengenerators 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, kryptographisch 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 Rechenvorrichtungen 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 Industrieautomatisierungsanlage 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 kryptographischen 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 kryptographischen 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 kryptographischen Schlüssel erzeugten Nachrichtenauthentifizierungscodes 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 kryptographischen Schlüssel erzeugt. Durch dieses Verfahren kann erkannt werden, ob der sicherheitsrelevante Datensatz modifiziert worden ist, da bei Kenntnis des Geheimnisses jeder der verwendeten kryptographischen 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 kryptographischen Schlüssel berechnet wird, mit dem mit dem Datensatz 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 einer Rechenvorrichtung auf das Geheimnis einer anderen Rechenvorrichtung erschwert.
-
In einer vorteilhaften Variante wird ein neues Geheimnis in Abhängigkeit von einem vorgegebenen Ereignis der Rechenvorrichtung 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 Rechenvorrichtung zugewiesen und die oben beschriebenen Verfahrensschritte mit dem neuen Geheimnis durchgeführt.
-
Die beiden beschriebenen Varianten haben den Vorteil, dass die Anzahl der Protokolleinträge, die mit dem Geheimnis generiert werden, begrenzt werden. Dadurch verkürzt sich die Zeit zur Nachbildung der verwendeten kryptographischen Schlüssel, insbesondere der zeitlich zuletzt gebildeten kryptographischen 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 speichern, einen ersten kryptographischen 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 Geheimnis nicht in der Rechenvorrichtung zugänglich ist, und jeweils einen nächsten kryptographischen Schlüssel durch die gleiche Einwegfunktion in Abhängigkeit von dem jeweils vorhergehenden kryptographischen Schlüssel zur Absicherung eines nächsten sicherheitsrelevanten Datensatzes zu erzeugen und gleichzeitig den jeweils vorhergehenden kryptographischen 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 kryptographischer Schlüssel in der Rechenvorrichtung selbst vorliegt und dieser kryptographische Schlüssel nicht für die vorausgehenden sicherheitsrelevanten Datensätze zur Absicherung verwendet werden kann. Daher kann ein Angreifer einen bereits bestehenden Datensatz mit diesem kryptographischen 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 aufeinanderfolgenden kryptographischen 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 kryptographischen Schlüssel ein Zeitstempel erzeugt wird und somit aus dem ersten fehlenden kryptographischen Schlüssel der Zeitpunkt einer Manipulation ermittelt werden kann.
-
In einer vorteilhaften Ausführungsform ist die Rechenvorrichtung 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 Verteilung und eine zentrale Verwaltung der Geheimnisse durchgeführt werden.
-
In einer vorteilhaften Ausführungsform ist die Sicherheitsvorrichtung derart ausgebildet, auch den ersten kryptographischen Schlüssel zu erzeugen und lediglich diesen ersten kryptographischen Schlüssel anschließend an die Rechenvorrichtung zu übertragen.
-
Dies hat den Vorteil, dass die erste Anwendung der Einwegfunktion 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 kryptographischen Schlüssel oder durch Zuweisen eines mit dem kryptographischen 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:
-
1 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens in Form eines Flussdiagramms;
-
2 eine beispielhafte Ausbildung eines Geheimnisses in schematischer Darstellung;
-
3 beispielhafte mittels angehängtem Nachrichtenauthentifizierungscode abgesicherte sicherheitsrelevante Datensätze in schematischer Darstellung;
-
4 beispielhafte durch kryptographische Verschlüsselung abgesicherte Datensätze in schematischer Darstellung;
-
5 ein erstes Ausführungsbeispiel eines erfindungsgemäßen Systems in schematischer Darstellung; und
-
6 ein zweites Ausführungsbeispiel eines erfindungsgemäß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 gespeichert. 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 sicherheitsrelevanten Datensätze löschen oder verändern. Dadurch kann der Angriff im Nachhinein verschleiert werden.
-
In 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 Rechenvorrichtung, 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 Rechenvorrichtung 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 Rechenvorrichtung 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 kryptographische 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 kryptographische Schlüssel an die Rechenvorrichtung übertragen. An Ende des Verfahrensschrittes 33 liegt der erste kryptographische 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 Rechenvorrichtung das Geheimnis dann sofort beispielsweise gelöscht oder durch den ersten kryptographischen Schlüssel überschrieben.
-
Nachfolgend wird im Verfahrensschritt 35 der erste kryptographische Schlüssel zur Absicherung eines ersten sicherheitsrelevanten Datensatzes verwendet. Anschließend im Verfahrensschritt 36 wird nun der nächste kryptographische Schlüssel durch die gleiche Einwegfunktion in Abhängigkeit von dem vorhergehenden kryptographischen Schlüssel, also hier dem ersten kryptographischen Schlüssel, erzeugt und gleichzeitig der vorhergehende kryptographische Schlüssel, hier der erste kryptographische Schlüssel, gelöscht oder beispielsweise durch den neuen kryptographischen Schlüssel überschrieben. Zur Absicherung des nächsten sicherheitsrelevanten Datensatzes wird im Verfahrensschritt 38 nun der in der Rechenvorrichtung vorliegende nächste kryptographische Schlüssel verwendet.
-
Optional kann nun im Verfahrensschritt 39 überprüft werden, ob ein vorgegebenes Ereignis, beispielsweise das Überschreiten eines bei jeder Erzeugung eines kryptographischen Schlüssels erhöhter Zähler einen Maximalwert erreicht hat. Ein weiteres vorgegebenes Ereignis kann beispielsweise die Abfrage der sicherheitsrelevanten Datensätze von der Rechenvorrichtung 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 kryptographische 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 kryptographischen 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 Sicherheitsvorrichtung zugänglich, und kann später bei einer forensischen Analyse der Rechenvorrichtung zur Erzeugung aller in der Rechenvorrichtung verwendeten kryptographischen 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 kryptographischen 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. Kryptographische Hash-Funktionen haben typischerweise diese Eigenschaft und eignen sich somit zur Verwendung als Einwegfunktion 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 kryptographischen Schlüssel anderer Vorrichtungen ermittelt werden können, muss das zur Berechnung des ersten kryptographischen 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 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 Sicherheitsabfrage in einem Safe verwahrt werden.
-
In 3 und 4 sind nun die über eine Zeit t angefallenen sicherheitsrelevanten Datensätze LOG1, ..., 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.
-
3 zeigt die gespeicherten sicherheitsrelevanten Datensatzes LOG1, ..., LOGn. Zur Absicherung wird zu jedem sicherheitsrelevanten Datensatz hier beispielsweise ein Nachrichtenauthentifizierungscode HMAC(LOGn, Kn) gespeichert, der sich über einer Funktion aus dem sicherheitsrelevanten Datensatz LOGn und dem jeweils zugehörigen kryptographischen Schlüssel Kn als Eingangsparameter ergibt, beispielsweise gemäß dem IETF Standard RFC 2104 „HMAC: Keyed-Hashing for Message Authentication“. Der erste kryptographische Schlüssel K1 ergibt sich aus der Einwegfunktion angewandt auf das Geheimnis. Entsprechend wird der Nachrichtenauthentifizierungscode zum ersten Datensatz mit dem ersten Datensatz und dem ersten kryptographischen Schlüssel als Eingangsparameter gebildet. Nach der Erzeugung des Nachrichtenauthentifizierungscodes wird dann der zweite kryptographische Schlüssel gebildet, indem die Einwegfunktion nun auf den ersten kryptographischen Schlüssel angewendet wird. Anschließend wird sofort der erste kryptographische Schlüssel gelöscht bzw. durch den zweiten kryptographischen 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 kryptographische Schlüssel Kn + 1 jeweils aus dem vorhergehenden kryptographischen Schlüssel Kn durch Anwendung einer Einwegfunktion H, beispielsweise einer kryptographischen Hash-Funktion, gebildet.
-
In 3 und 4 sind jeweils die tatsächlich in der Rechenvorrichtung verfügbaren bzw. gespeicherten Daten umrandet dargestellt. Somit sind neben den sicherheitsrelevanten Datensätzen LOG1, ..., LOGp und den dazugehörigen Nachrichtenauthentifizierungscodes HMAC(LOG1, K1), ..., HMAC(LOGp, Kp), lediglich der für den nächsten Datensatz zu verwendende kryptographische Schlüssel Kp + 1 in der Rechenvorrichtung gespeichert. Alle vorhergehenden kryptographischen Schlüssel sind nicht mehr verfügbar.
-
Durch den Nachrichtenauthentifizierungscode können nun die gespeicherten sicherheitsrelevanten Datensätze auf ihre Integrität überprüft werden. Dazu müssen durch das in der Sicherheitsvorrichtung abgespeicherte Geheimnis erneut alle kryptographischen Schlüssel durch iterative Anwendung der Einwegfunktion auf das Geheimnis bzw. die jeweils daraus generierten kryptographischen 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 überein, 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 4 wurden die sicherheitsrelevanten Datensätze dadurch abgesichert, dass der Datensatz LOGn selbst mit dem zugehörenden kryptographischen Schlüssel Kn verschlüsselt und lediglich verschlüsselt als E_Kn{LOGn} abgespeichert wurden. Als Verschlüsselungsverfahren eignet sich z.B. ein symmetrisches Verschlüsselungsverfahren wie 3DES, AES oder auch IDEA.
-
Die 5 und 6 zeigen nun zwei Ausführungsbeispiele eines erfindungsgemäßen Systems. Das System 10 in 5 und das System 20 in 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 Geheimnisses 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 kryptographischen Schlüssel Kn – 1 der nachfolgende kryptographische Schlüssel K1 bzw. Kn erzeugt wird. Der erzeugte aktuelle Schlüssel K1 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 K1 bzw. Kn überschrieben.
-
In einer Steuerungseinheit 15 können vorgegebene Ereignisse oder vorgegebene Parameter abgelegt werden. Die Steuerungseinheit 15 ist derart ausgebildet, vor der Erzeugung des nächsten kryptographischen 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 sicherheitsrelevanten Datensätze abgelegt sind.
-
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 Zufallszahl zur Bildung eines neues Geheimnisses verwendet wird.
-
Die Sicherheitsvorrichtung 22 umfasst des Weiteren eine Schlüssel-Erzeugungseinheit 24, in der mittels einer Einwegfunktion H aus dem Geheimnis SEC ein erster kryptographischer Schlüssel K1 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 sicherheitsrelevanten 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 kryptographischen 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 kryptographischen 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 manipuliert 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.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Nicht-Patentliteratur
-
- IETF Standard RFC 2104 [0054]