-
Die
vorliegende Erfindung betrifft ein Verfahren zum Steuern eines ersten
Systems über
verschlüsselte
Informationen, welche verschlüsselte
Informationen von einem zweiten System auf eine verschlüsselte Anfrage
des ersten Systems hin erzeugt werden und ein entsprechendes Computerprogrammprodukt.
-
Verschlüsselung
wird der Vorgang genannt, bei dem ein so genannter Plaintext oder
Klartext mittels eines oder mehrerer Verschlüsselungsverfahren, so genannten
Kryptosystemen, in einen so genannten Ciphertext oder Geheimtext
umgewandelt wird. Der Plaintext wird in eine „unleserliche”, d. h.
eine nicht einfach interpretierbare Zeichenfolge, den Ciphertext,
umgewandelt. Als Parameter der Verschlüsselung wird hierbei mindestens
ein Schlüssel verwendet.
-
Das
wissenschaftliche Forschungsgebiet, das sich mit Verschlüsselungsverfahren
und ihrer Geschichte beschäftigt,
wird als Kryptografie bezeichnet. Die Kryptografie ist ein Teilgebiet
der Kryptologie.
-
Für den Einsatz
in sicherheitssensiblen Bereichen werden von dort eingesetzten Systemen
bestimmte Vorraussetzungen gefordert. So sind z. B. viele Feldgeräte in der
Prozessautomatisierung explosionsgeschützt. Um ein Prozessautomatisierungssystem
vor gezielter Einflussnahme von Außen zu schützen, ist z. B. auch die Kommunikation
zwischen den Feldgeräten
und/oder einem übergeordnetem
Leitsystem zu verschlüsseln.
Da die verschlüsselten
Steuerungsbefehle vom Leitsystem, welche zu den Aktuatoren meist über ein
BUS-System übermittelt
werden, mit geringem Aufwand auszuspähen sind und sich die technische
Wirkung dieser Befehle im Verhalten der Aktuatoren einem Außenstehenden
offenbart, sind übliche
Verschlüsselungsverfahren
jedoch nicht ausreichend sicher.
-
Ein
Leitsystem ist dabei ein komplexes System aus Hard- und Software,
welches der Überwachung
und Steuerung eines oder mehrerer bestimmter Prozesse dient. Die eingesetzte
Software wird zunehmend auf handelsüblichen PCs eingesetzt. Zum Teil
sind übliche
Betriebssysteme ohne weitere Modifikationen auf den PCs einsetzbar.
Beispielsweise erfolgt die Steuerung von Prozessen und deren Überwachung über Speicherprogrammierbare
Steuerungen (SPS) oder Fernwirkanlagen (FWA). Eine sehr wichtige
Eigenschaft von Leitsystemen ist die Mensch-Maschine-Schnittstelle. Über sie
können verschiedene
Funktionalitäten
des Leitsystems selbst und der dem Leitsystem untergeordneten bzw. der
vom Leitsystem gesteuerten Systeme, wie z. B. Aktoren oder Sensoren,
aufgerufen bzw. ausgelöst werden.
Leitsysteme und untergeordnete Systeme kommunizieren dabei üblicherweise über einen
BUS, aber auch andere Kommunikationsformen sind gängig.
-
Ein
weiteres Problem stellt sich bei sicherheitssensiblen Zugriffsrechten
auf technische Systeme dar. Mit den entsprechenden Zugriffsrechten
ausgestattet, kann ein Bediener ein technisches System in bestimmter
Art und Weise manipulieren. Meist authentifiziert sich ein autorisierter
Bediener über
ein Passwort, einen Schlüssel.
Danach ist für
den Bediener eine oder mehrere Funktionalitäten des technischen Systems
zugänglich,
bzw. diese lassen sich vom Bediener aufrufen oder auslösen. Kommt
eine nicht autorisierte Person in den Besitz eines Passworts, lässt sich
das entsprechende technische System entsprechend manipulieren. Eine
Funktionalität ist
dabei die Fähigkeit
eines Systems, eine oder mehrere bestimmte Aufgaben zu lösen.
-
Die
Freischaltung von Rechten eines Bedieners eines ersten Systems,
um auf dem ersten System bestimmte Funktionalitäten des Systems auszuführen, erfolgt
im Regelfall durch eine direkte Kommunikation des ersten Systems
mit einem zweiten System, wobei ein Bediener des zweiten Systems das
Recht besitzt, bestimmte Funktionalitäten des ersten Systems auszuführen bzw.
einem Bediener des ersten Systems diese Rechte einzuräumen. Bei dem
Bediener des zweiten Systems handelt es sich also typischerweise
um einen so genannten Systemadministrator.
-
Ist
nun allerdings keine direkte Kommunikation zwischen den Systemen über eine
Datenleitung möglich,
so müssen
die Rechte, z. B. über
eine fernmündliche Übermittlung
eines Passworts, an den Bediener des ersten Systems gegeben werden,
wodurch ein Missbrauch nicht ausgeschlossen werden kann.
-
Die
Aufgabe der Erfindung besteht darin, ein Verfahren bereit zu stellen,
um Funktionalitäten
eines ersten Systems von einem zweiten System aus über verschlüsselte Kommunikation
zwischen beiden Systemen auszuführen.
-
Die
Aufgabe wird gelöst
durch ein Verfahren zum Steuern eines ersten Systems über verschlüsselte Informationen,
welche verschlüsselte
Informationen von einem zweiten System auf eine verschlüsselte Anfrage
des ersten Systems hin erzeugt werden, welches Verfahren mindestens
folgende Verfahrensschritte umfasst: erzeugen der unverschlüsselten
Anfrage vom ersten System, verschlüsseln der Anfrage vom ersten
System mit einem erstem Schlüssel, übermitteln
der verschlüsselten
Anfrage zum zweiten System, erzeugen der unverschlüsselten
Informationen vom zweiten System, erzeugen eines zweiten Schlüssels auf
dem ersten System und auf dem zweiten System in Abhängigkeit
von der unverschlüsselten
oder der verschlüsselten
Anfrage und einem dritten Schlüssel,
welcher dritte Schlüssel dem
ersten System und dem zweiten System bekannt ist, verschlüsseln der
Informationen vom zweiten System mit dem zweitem Schlüssel, übermitteln der
verschlüsselten
Informationen zum ersten System, entschlüsseln der verschlüsselten
Informationen vom ersten System mit dem zweiten Schlüssel, und
verarbeiten der entschlüsselten
Informationen vom ersten System. Das Verfahren ist in einer ersten Ausgestaltung
computerimplementierbar. D. h. eine Vorrichtung, insbesondere ein
Computer, ist so programmierbar bzw. so programmiert, dass das erfindungsgemäße Verfahren
abläuft.
-
Die
Anfrage wird vom ersten System erzeugt und anschließend verschlüsselt. Danach
erfolgt die Übermittlung
der verschlüsselten
Anfrage zum zweiten System. Die Informationen, insbesondere Informationen
zum Steuern des ersten Systems, werden daraufhin vom zweiten System
erzeugt und verschlüsselt.
-
Informationen
zum Steuern sind dabei insbesondere bestimmtes, nutzbares Wissen,
welches anhand von bestimmten Muster die gerichtete Beeinflussung
des Verhaltens des ersten Systems von außen, also insbesondere vom
zweiten System, zulässt.
Die Systeme sind dabei nach der klassischen Definition zu verstehende,
zu ihrer Umwelt abgrenzbare Einheiten, welche aufgaben-, sinn- und/oder zweckgebunden
sind, wie z. B. Rechnereinheiten oder Feldgeräte in der Prozessautomatisierungstechnik.
Beispielhaft gelten Computersysteme als Systeme, auf welchen das
Verfahren implementierbar ist. Die Anfrage kann dabei auch aus Roh-
oder Messdaten bestehen oder aus einer sich daraus abgeleiteten
Stausinformation. Die Informationen lösen z. B. technische Funktionen
auf dem ersten System aus oder Funktionen mit einer technischen
Wirkung. So ist in einem anderen Beispiel nicht bloß ein Passwort übertragbar,
sondern Benutzerrechte werden durch das Ausführen der Informationen freigeschaltet.
Das zweite System und/oder der Bediener des zweiten Systems können dabei
als dem ersten System und/oder dem Bediener des ersten Systems übergeordnet
angesehen werden. Die Verschlüsselung
macht unter zu Hilfenahme des Schlüssels aus einem Klartext einen
Geheimtext.
-
Der
dritte Schlüssel
ist beiden Systemen gleichermaßen
bekannt. Auch der erste Schlüssel
ist bei einem symmetrischen Verschlüsselungsverfahren beiden Systemen
bekannt. Diese können,
bei einer symmetrischen Verschlüsselung,
statisch, d. h. in beiden Systemen fest hinterlegt sein. Dann könnten, theoretisch
zumindest, der erste und der dritte Schlüssel gleich sein, womit ein
Schlüssel
eingespart werden könnte.
Da dies jedoch ein erheblich höheres Risiko
darstellt, wird in der Praxis der nur geringfügig höhere Aufwand von zwei unterschiedlichen
Schlüsseln
vorgezogen. Wird hingegen eine asymmetrische Verschlüsselung
gewählt,
ist der erste Schlüssel
dem ersten System bekannt, wobei irrelevant ist, ob dieser Schlüssel auch
dem zweiten System oder außenstehenden
Dritten bekannt ist. Es handelt sich beim ersten Schlüssel dann
um den so genannten public key, wobei der public key Teil eines
Zwei-Schlüssel-Systems
mit einem weiteren Schlüssel
ist, dem so genannten private key. Der public key ist nicht zur
Entschlüsselung
der mit ihm verschlüsselten
Nachricht geeignet. Nur der private key ist technisch geeignet, eine
Anfrage, welche mit dem public key verschlüsselt ist, zu entschlüsseln. Public
key und private key sind selbstverständlich aufeinander abgestimmt.
-
Der
zweite Schlüssel
hingegen wird zur Laufzeit des Verfahrens vom ersten und vom zweiten System
unabhängig
voneinander nach der gleichen Vorschrift erzeugt. Die Erzeugung
des zweiten Schlüssels
ist abhängig
von der verschlüsselten
Anfrage des ersten Systems, oder, falls das zweite System die Möglichkeit
besitzt, die Anfrage zu entschlüsseln,
wahlweise auch von der unverschlüsselten
Anfrage, und von einem dritten Schlüssel, welcher beiden Systemen
bekannt ist und welcher beispielsweise ein statischer Schlüssel ist.
Eine Gleichzeitigkeit der Erzeugung des zweiten Schlüssels auf
dem ersten und dem zweiten System ist nicht notwendig, d. h. der
zweite Schlüssel
wird zeitlich unabhängig
von beiden Systemen erzeugt.
-
In
einer ersten Ausgestaltung wird die Anfrage mit einem ersten Schlüssel, welcher
statisch ist und nur dem ersten System bekannt ist oder welcher public
key eines asymmetrischen Verschlüsselungsverfahrens
ist, verschlüsselt.
In einer weiteren Ausgestaltung wird die Anfrage mit einem ersten,
statischen Schlüssel,
welcher beiden Systemen gleichermaßen bekannt ist verschlüsselt.
-
Ist
ein Schlüssel,
welcher dazu in der Lage ist, eine mit dem ersten Schlüssel verschlüsselte Anfrage
zu entschlüsseln,
dem zweiten System bekannt, kann die Anfrage vom zweiten System
theoretisch entschlüsselt
werden. Dann kann der zweite Schlüssel mittels der verschlüsselten
oder mit der nun unverschlüsselten
Anfrage gebildet werden. In einer Variante der Erfindung handelt
es sich bei dem ersten Schlüssel
um einen statischen Schlüssel,
der beiden Systemen bekannt ist und der die mit dem ersten Schlüssel verschlüsselte Anfrage
entschlüsseln
kann. Der zweite Schlüssel
wird dann in Abhängigkeit
von der verschlüsselten
Anfrage und einem dritten Schlüssel
erzeugt. Handelt es sich hingegen in einer anderen Variante der
Erfindung beim ersten Schlüssel
um den public key einer asymmetrischen Verschlüsselung und ist dem zweiten
System der entsprechende private key bekannt, so ist die Anfrage entschlüsselbar
und der zweite Schlüssel
kann in Abhängigkeit
der unverschlüsselten
Anfrage und dem dritten Schlüssel
erzeugt werden.
-
Nach
der Übermittlung
der verschlüsselten Informationen
vom zweiten System zum ersten System, werden die verschlüsselten
Informationen vom ersten System entschlüsselt und verarbeitet, insbesondere
die nun entschlüsselten
Steuerungsinformationen ausgeführt.
Dabei wird meist eine technische Funktionalität des ersten Systems selbstständig ausgeführt, wie
z. B. das mechanische Öffnen
eines Ventils, und somit unmittelbar ein technisches Ergebnis mit
einem physikalischen Mittel erzielt.
-
So
kann unabhängig
von der Anfrage, insbesondere unabhängig vom Status des ersten
Systems, eine Information, insbesondere eine Steuerungsinformation,
vom zweiten System erzeugt werden und verschlüsselt auf das erste System übermittelt
werden. Die Übermittlung
erfolgt dabei z. B. über eine
technische Verbindung zwischen beiden Systemen, beispielsweise einer
Datenleitung, oder die Übermittlung
erfolgt z. B. fernmündlich.
Beispielsweise wird die Anfrage auf dem ersten System erzeugt und
verschlüsselt.
Ein Bediener des ersten Systems liest die verschlüsselte Anfrage,
z. B. eine Zeichenfolge, ab und übermittelt
diese verschlüsselte
Anfrage, z. B. telefonisch, einem Bediener des zweiten Systems.
Der Bediener des zweiten Systems übergibt dem zweiten System
diese Anfrage, z. B. tippt er die übermittele Zeichenfolge in
eine vom zweiten System bereitgestellt Vorlage ein.
-
Erfindungsgemäß ist die Übermittlung
einer Vielzahl an unterschiedlichen Informationen möglich. Die
Interpretation der Informationen durch das erste System folgt einem
genau festgelegten Schema. So sind beispielsweise durch die Informationen
genau definierte Anweisungen vom zweiten System an das erste System
verschlüsselt übermittelbar.
Die Handlungen des ersten Systems, welche sich aus den Anweisungen
ergeben, sind auf dem ersten System hinterlegt. So folgt auf jede
Anweisung eine exakt definierte Handlung.
-
Das
erfindungsgemäße Verfahren
kann somit beispielsweise zum Ausführen von sicherheitsrelevanten,
auf einem technischen Gerät,
welches in diesem Beispiel das erste System repräsentiert, voreingestellten
Funktionen genutzt werden, wobei die Anweisungen zum Aufrufen der
Funktionen direkt oder indirekt auf das erste System übertragen
werden. So können
z. B. technische Funktionalitäten
des ersten Systems über
zumindest eine Größe, insbesondere
eine Führungsgröße, welche
vom zweiten System zumindest als Teil der Information an das erste
System direkt oder indirekt übergeben
wird, aktiviert oder deaktiviert werden.
-
In
einer Weiterbildung des erfindungsgemäßen Verfahrens werden die Verfahrensschritte,
Entschlüsseln
der verschlüsselten
Anfrage durch das zweite System mit einem vierten Schlüssel und
Verarbeiten der entschlüsselten
Anfrage vom zweiten System, nach dem Verfahrensschritt des Übermittelns
der verschlüsselten
Anfrage zum zweiten System und vor dem Verfahrensschritt des Erzeugens der
unverschlüsselten
Informationen vom zweiten System ausgeführt. Das Erzeugen der unverschlüsselten
Informationen vom zweiten System basiert dann auf der verarbeiteten
Anfrage.
-
Ist
die Verschlüsselung
der Anfrage mit dem ersten Schlüssel
eine asymmetrische Verschlüsselung,
ist also der erste Schlüssel
ein public key, so ist der vierte Schlüssel der entsprechende private
key, welcher nur dem zweiten System bekannt ist. Nur mit dem vierten
Schlüssel
lässt sich
die mit dem ersten Schlüssel
verschlüsselte
Anfrage entschlüsseln.
Findet hingegen ein symmetrisches Verschlüsselungsverfahren Anwendung,
so ist der erste Schlüssel gleich
dem vierten Schlüssel.
-
In
einer Ausgestaltung der Lösung
werden also die Verfahrensschritte, Entschlüsseln der verschlüsselten
Anfrage durch das zweite System mit dem ersten Schlüssel und
Verarbeiten der entschlüsselten
Anfrage vom zweiten System, nach dem Verfahrensschritt des Übermittelns
der verschlüsselten Anfrage
zum zweiten System und vor dem Verfahrensschritt des Erzeugens der
unverschlüsselten
Informationen vom zweiten System ausgeführt, wobei der erste Schlüssel ein
statischer Schlüssel
und damit Teil eines symmetrischen Verschlüsselungsverfahrens ist und
dem ersten System und dem zweiten System gleichermaßen bekannt
ist.
-
Das
erste System übermittelt
die verschlüsselte
Anfrage zum zweiten System. Das zweite System entschlüsselt die
Anfrage, verarbeitet die entschlüsselte
Anfrage und erzeugt daraufhin die Information, welche ihrerseits
anschließend
verschlüsselt wird
und zum ersten System übermittelt
wird. Dazu ist der erste Schlüssel,
mittels welchem die Anfrage vom ersten System verschlüsselt wurde,
dem zweiten System bekannt oder ein vierter Schlüssel ist in der Lage die Anfrage
zu entschlüsseln,
welcher dann seinerseits dem zweiten System bekannt ist. Dadurch
kann beispielsweise das erste System spezifische Anweisungen über die
Anfrage anfordern und das zweite System entsprechende Anweisungen dem
ersten System zukommen lassen.
-
Eine
weitere Möglichkeit
besteht darin, dass die Anfrage vom ersten System Informationen über den
Status des ersten Systems enthält.
Die Informationen über den
Status des ersten Systems können sowohl
alleine die Anfrage bilden als auch zusammen mit einem anderen Anfrageteil
die Anfrage bilden. Dann werden die Informationen über den
Status des ersten Systems dem anderen Anfrageteil hinzugefügt. Das
zweite System kennt somit den aktuellen Status des ersten Systems
und stimmt z. B. die notwendigen Steuerungsinformationen oder Anweisungen
an das erste System darauf hin ab. Dann beeinflusst der Status des
ersten Systems die Erzeugung der Informationen durch das zweite
System in festgelegter Art und Weise, z. B. folgt die Interpretation
der Anfrage des ersten Systems durch das zweite System einem genau
festgelegten Schema und gleichermaßen folgt die Erzeugung der
Information für
das erste System durch das zweite System einem genau festgelegten
Schema.
-
Die
Anfrage kann dabei beispielsweise lediglich Statusinformationen über das
erste System enthalten, welche wichtig für die Erzeugung einer Steuerungsgröße durch
das zweite System sind, wobei dann die Anfrage vom zweiten System
entschlüsselt und
verarbeitet wird, oder aber die Anfrage enthält Statusinformationen, welche
wiederum für
die Interpretation der vom zweiten System bereitgestellten Informationen
vom ersten System notwendig sind. Dann muss die Anfrage nicht notwendigerweise
vom zweiten System entschlüsselt
oder interpretiert werden.
-
Neben
den Statusinformationen könnte
die Anfrage z. B. auch die Identifikationsnummer, die Gerätenummer
oder eine Servicenummer des ersten Systems enthalten.
-
Enthält die Anfrage
des ersten Systems einen Zeitstempel, wie in einer weiteren erfindungsgemäßen Weiterbildung,
kann das erste System die vom zweiten System übermittelten Informationen entsprechend
ihrer Gültigkeit
bzw. ihrem Zeitrang einordnen. Die Statusinformation muss also nicht
unbedingt vom zweiten System verarbeitet werden, insbesondere dann
nicht, wenn der Status des ersten Systems separat abgefragt werden
kann, z. B. wenn der Bediener des ersten Systems dem Bediener des zweiten
Systems bei der fernmündlichen Übermittlung
der Anfrage bzw. der Informationen den Status des ersten Systems
mitteilen kann und der Bediener des zweiten Systems die entsprechenden
Einstellungen am zweiten System vornimmt, bzw. der Bediener des
zweiten Systems dem zweiten System den Status des ersten Systems
mitteilt.
-
Wird,
in einem anderen Beispiel, die Anfrage vom zweiten System entschlüsselt und
verarbeitet, wobei die Anfrage Informationen über das Datum und die Uhrzeit
der Erzeugung der Anfrage enthält,
so kann das zweite System daraus die Gültigkeit der Anfrage ableiten
oder beispielsweise temporäre
bzw. zeitlich begrenzt gültige
Informationen, wie z. B. Steuerungsanweisungen oder Führungsgrößen, an das
erste System ausgeben. So sind z. B. einem Bediener des ersten Systems
temporär
erweitere Rechte auf dem ersten System zu gewähren.
-
Gemäß einer
weiteren Weiterbildung der erfindungsgemäßen Lösung enthält die Anfrage vom ersten System
eine zufällig
generierte Ziffern- und/oder Zeichenfolge. Dadurch wird die Einmaligkeit
der Anfrage hergestellt. Eine nicht vom ersten System erzeugte Anfrage
an das zweite System, beispielsweise zur gezielten Manipulation,
könnte
die notwendigen Bedingungen, wie z. B. einen bestimmten Status des
ersten Systems und gegebenenfalls dessen Systemzeit enthalten. Falls
eine verschlüsselte
Anfrage von Außenstehenden
ausgespäht
wird, ist eine Entschlüsselung
oder zumindest eine genaue Zuordnung zu einer dem Außenstehenden
offenbarten Folge der Anfrage durch die zufällig erzeugte Ziffern- und/oder
Zeichenfolge nicht ohne weiteres möglich.
-
Eine
Weiterbildung des erfindungsgemäßen Verfahrens
ist darin zu sehen, dass die Informationen zeitlich begrenzt gültig sind.
Wie bereits beschrieben, können
auch die vom zweiten System erzeugten Informationen über einen
Zeitstempel oder über
Informationen über
ihre temporäre
Gültigkeit
verfügen. Sie
besitzen sozusagen ein Verfallsdatum. Eine andere Variante ist,
dass die Informationen vom zweiten System dem ersten System nur
einen begrenzten Zeitraum zur Verfügung gestellt werden.
-
Eine
Weiterbildung des erfindungsgemäßen Verfahrens
sieht vor, dass der zweite Schlüssel
injektiv erzeugt wird, d. h. dass es sich bei der Erzeugung des
zweiten Schlüssels
um eine Injektion bzw. eine injektive Funktion handelt. In der Kryptographie
sind injektive Funktionen auch als hash bekannt. Die Verschlüsselung
der unverschlüsselten
Informationen erfolgt mittels des zweiten Schlüssels. Da die verschlüsselten
Informationen vom ersten System wieder entschlüsselt werden müssen, wobei
die Erzeugung des zweiten Schlüssels
dem ersten System bekannt ist, ist die Verschlüsselung der Informationen umkehrbar.
Es handelt sich also dabei insbesondere um eine bijektive, d. h.
eineindeutige Verschlüsselung.
Der zweite Schlüssel
hingegen wird hingegen mittels einer injektiven Vorschrift erzeugt.
Da der zweite Schlüssel
jedoch von beiden Systemen mit der gleichen Vorschrift erzeugt wird,
ist er auf beiden Systemen gleich und so eindeutig definiert. Die
Vorschrift liefert die Grundlagen zur Erzeugung des zweiten Schlüssels. Die
Einflussgrößen zur
Erzeugung des zweiten Schlüssels
bilden wiederum die verschlüsselte
oder die unverschlüsselte
Anfrage und ein dritter, beiden Systemen bekannter, insbesondere
statischer Schlüssel.
Ein Außenstehender kann
somit nicht Rückvollziehen,
wie der zweite Schlüssel
erzeugt wurde. Ein injektiver Schlüssel ist nicht umkehrbar. Er
ist linkseindeutig. Werden z. B. zwei Zeichenmengen aufeinander
injektiv abgebildet, so haben manche Zeichen der Bildmenge, also
der Zielmenge, keinen Bezug zu Zeichen der Definitionsmenge.
-
Gemäß einer
Weiterbildung des erfindungsgemäßen Verfahrens
wird vorgeschlagen, dass der erste Schlüssel und der vierte Schlüssel asymmetrisch
erzeugt werden, wobei der erste Schlüssel der public key und der
vierte Schlüssel
der zum ersten Schlüssel
passende private key ist. Erster und vierter Schlüssel sind
ein Schlüsselpaar
einer asymmetrischen Verschlüsselung.
Wird hingegen ein symmetrisches Verschlüsselungsverfahren angewandt,
ist der erste Schlüssel
gleich dem vierten Schlüssel.
Nachfolgend wird dieser Schlüssel
nur noch als erster Schlüssel
bezeichnet.
-
In
einer Weiterbildung der erfindungsgemäßen Lösung weisen die verschlüsselte Anfrage und/oder
die verschlüsselten
Informationen eine Kennung auf, wobei die Anfrage und/oder die Informationen
mittels der Kennung ohne Entschlüsselung validiert
werden. Eine solche Kennung ist beispielsweise gegeben durch eine
Checksumme, ein Paritätsbit
und/oder eine Signatur. Die Kennung wird nach der Erzeugung der
Anfrage und/oder der Informationen gebildet und fließt in die
Anfrage und/oder die Informationen mit ein, d. h. sie ist Teil der
Anfrage und/oder der Informationen. Dabei wird sie jedoch nicht
verschlüsselt.
In dem Fall einer mitgeführten Kennung
sind also Anfrage und/oder Informationen zweigeteilt, in einen verschlüsselten
und einen unverschlüsselten
Teil, welcher unverschlüsselte
Teil zumindest die Kennung beinhaltet. Dadurch kann von jedem System
geprüft
werden, ob das jeweils andere System die Anfrage bzw. die Informationen
richtig entschlüsselt
bzw. verarbeitet haben.
-
Eine
Weiterbildung des erfindungsgemäßen Verfahrens
offenbart, dass die verschlüsselte
Anfrage vom ersten System zum zweiten System und/oder dass die verschlüsselten
Informationen vom zweiten System zum ersten System mittels einer
Netzwerkverbindung zwischen erstem und zweitem System übermittelt
werden oder dass die die verschlüsselte Anfrage
vom ersten System zum zweiten System und/oder dass die verschlüsselten
Informationen vom zweiten System zum ersten System mittels einer fernmündlichen
Verbindung übermittelt
werden.
-
Eine
Netzwerkverbindung ist hier insbesondere eine technische Datenleitung.
Natürlich
sind weitere Beispiele der Übermittlung
denkbar, ohne dass die folgende Aufzählung den Anspruch auf Vollständigkeit
erhebt. So ist der Austausch der Anfrage und der Informationen zwischen
beiden System mittels drahtloser Funkverbindung möglich, oder
auf postalischem Wege oder mittels Fax oder über andere Datenübertragungsmittel.
Der Verfahrensschritt der Übermittlung
kann dabei sowohl technischen als auch nichttechnischen Charakter
annehmen.
-
Weiter
wird die der Erfindung zugrunde liegende Aufgabe gelöst durch
ein erstes Computerprogrammprodukt, welches auf einem computergeeigneten
Medium speicherbar ist und ein computerlesbares Programmmittel,
welches einen Computer veranlasst, eine unverschlüsselte Anfrage
zu erzeugen, und ein computerlesbares Programmmittel, welches einen
Computer veranlasst, die unverschlüsselte Anfrage mit einem ersten
Schlüssel
zu verschlüsseln, und
ein computerlesbares Programmmittel, welches einen Computer veranlasst,
einen zweiten Schlüssel zumindest
in Abhängigkeit
von einer unverschlüsselten
oder verschlüsselten
Anfrage und einem dritten Schlüssel
zu erzeugen, und ein computerlesbares Programmmittel, welches einen
Computer veranlasst, verschlüsselte
Informationen mit dem zweitem Schlüssel zu entschlüsseln und
ein computerlesbares Programmmittel, welches einen Computer veranlasst,
die entschlüsselten
Informationen zu verarbeiten, umfasst und durch ein zweites Computerprogrammprodukt,
welches auf einem computergeeigneten Medium speicherbar ist und
ein computerlesbares Programmmittel, welches einen Computer veranlasst,
eine unverschlüsselte
Information zu erzeugen, und ein computerlesbares Programmmittel,
welches einen Computer veranlasst, einen zweiten Schlüssel zumindest
in Abhängigkeit
von einer unverschlüsselten
oder verschlüsselten
Anfrage und einem dritten Schlüssel
zu erzeugen, und ein computerlesbares Programmmittel, welches einen
Computer veranlasst, die unverschlüsselten Informationen mit dem
zweitem Schlüssel
zu verschlüsseln,
umfasst. Ein drittes Computerprogrammprodukt kann dabei das erste
und das zweite Computerprogrammprodukt umfassen. Die Computerprogrammprodukte können die
genannten Verfahrensschritte ausführen, wenn sie auf einem Computer
laufen.
-
Weitere
Ausgestaltungen der erfindungsgemäßen Computerprogrammprodukte
ergaben sich aus den Verfahrensansprüchen.
-
Zur
Lösung
der erfindungsgemäßen Aufgabe
sind fürderhin
vorgesehen, ein erstes computergeeignetes Speichermedium, auf welchem
computerlesbare Programmmittel gespeichert sind, welche die auf
einem Computer ausführbaren
Verfahrensschritte des Erzeugens einer unverschlüsselten Anfrage, und des Verschlüsselns der
unverschlüsselten Anfrage
mit einem erstem Schlüssel,
und des Erzeugens eines zweiten Schlüssels zumindest in Abhängigkeit
von der unverschlüsselten
oder der verschlüsselten
Anfrage und einem dritten Schlüssel,
und des Entschlüsselns
von verschlüsselten
Informationen mit dem zweiten Schlüssel, und des Verarbeitens
der entschlüsselten
Informationen umfassen und ein zweites computergeeignetes Speichermedium,
auf welchem computerlesbare Programmmittel gespeichert sind, welche
die auf einem Computer ausführbaren
Verfahrensschritte des Erzeugens einer unverschlüsselten Informationen, und
des Erzeugens eines zweiten Schlüssels
zumindest in Abhängigkeit von
einer unverschlüsselten
oder verschlüsselten Anfrage
und einem dritten Schlüssel,
und des Verschlüsselns
der unverschlüsselten
Informationen mit dem zweitem Schlüssel umfassen, wobei das erste und
das zweite computergeeignete Speichermedium identisch sein können. Es
handelt sich bei den computergeeigneten Speichermedien insbesondere
um Medien, welche die von einem Computer ausführbaren Verfahrensschritte
gespeichert hat. Das Verarbeiten von Anfrage und/oder Informationen
ist dabei insbesondere das Ausführen
einer Funktionalität,
z. B. das Befolgen eines Steuerbefehls.
-
Weitere
Ausgestaltungen der erfindungsgemäßen computergeeigneten Speichermedien
ergaben sich aus den Verfahrensansprüchen.
-
Das
Auslesen eines erfindungsgemäßen computergeeigneten
Speichermediums von einem Computer und das Ausführen eines sich darauf gespeicherten
erfindungsgemäßen Programmprodukts auf
dem Computer veranlasst den Computer zur Durchführung der genannten Verfahrensschritte.
-
Des
Weiteren wird die der Erfindung zugrunde liegende Aufgabe gelöst durch
ein Leitsystem-System mit mindestens einem Leitsystem und mindestens
einem untergeordneten System, wobei das untergeordnete System vom
Leitsystem mittels verschlüsselter
Informationen steuerbar ist, wobei das untergeordnete System so
ausgestaltet ist, dass eine unverschlüsselte Anfrage erzeugbar ist,
dass die unverschlüsselte
Anfrage mit einem ersten Schlüssel
verschlüsselbar
ist, dass die verschlüsselte
Anfrage auf das Leitsystem übermittelbar
ist, dass ein zweiter Schlüssel
in Abhängigkeit
von zumindest der unverschlüsselten
oder der verschlüsselten
Anfrage und einem dritten Schlüssel
erzeugbar ist, dass mit dem zweiten Schlüssel verschlüsselte Informationen
vom Leitsystem auf das untergeordnete System übermittelbar sind, dass die
verschlüsselten
Informationen mit dem zweiten Schlüssel entschlüsselbar sind,
und dass die unverschlüsselte
Information verarbeitbar ist, wobei das Leitsystem derart ausgestaltet
ist, dass eine verschlüsselte
Anfrage vom untergeordneten System auf das Leitsystem übermittelbar ist,
dass ein zweiter Schlüssel
in Abhängigkeit
von zumindest der unverschlüsselten
oder der verschlüsselten
Anfrage und einem dritten Schlüssel
erzeugbar ist, dass unverschlüsselte
Informationen erzeugbar sind, dass die unverschlüsselten Informationen mit dem
zweiten Schlüssel
verschlüsselbar
sind, dass die verschlüsselten
Informationen vom Leitsystem auf das untergeordnete System übermittelbar sind.
Die Informationen beinhalten dabei insbesondere Steuerungsbefehle,
welche vom untergeordneten System in Form von Ausführung von
technischen Funktionen verarbeitbar sind. Weitere Ausgestaltungen
des Leitsystems-Systems ergeben sich aus den beanspruchten Verfahrensschritten.
-
Die
Erfindung wird anhand der nachfolgenden Figuren näher erläutert.
-
1 zeigt
ein Flussdiagramm einer Ausgestaltung des erfindungsgemäßen Verfahrens,
-
2 zeigt
ein Flussdiagramm einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens,
-
3 zeigt
ein Flussdiagramm einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens,
-
4 zeigt
eine Schematische Darstellung eines mit mehreren untergeordneten
Systemen verbundenen Leitsystems.
-
In 1 ist
ein Flussdiagramm einer fernmündlichen
Rechtevergabe dargestellt. Ein Bediener eines ersten Systems besitzt
nur eingeschränkte Rechte,
verschiedene Funktionalitäten
des ersten Systems zu bedienen. Sicherheitsrelevante Funktionalitäten des
Systems dürfen
nur mit bestimmten Rechten, welche von Bedienern, welche z. B. durch die
Eingabe von Passwörtern
frei geschaltet werden können,
ausgelöst
werden. Der Bediener des ersten Systems löst nun auf dem ersten System
die Erzeugung einer Anfrage aus. Die Anfrage wird vom ersten System
erzeugt und enthält
z. B. Informationen zum Status des ersten Systems, eine zufällig generierte Ziffernfolge
und das Datum und die Uhrzeit der Erzeugung der Anfrage. Anschließend wird
die Anfrage vom ersten System mit einem ersten Schlüssel, d.
h. mittels eines ersten Verschlüsselungsverfahrens, verschlüsselt. Dieser
Vorgang wird auch als Challenge-Generierung bezeichnet, wobei die
verschlüsselte Anfrage
die Challenge ist. Die verschlüsselte
Anfrage, z. B. eine 32- oder
64-stellige Ziffern- und Zeichenfolge, wird auf einem Ausgabegerät des ersten Systems,
z. B. einem Bildschirm, dargestellt und somit dem Bediener des ersten
Systems ausgegeben. Dieser liest die verschlüsselte Anfrage ab und teilt diese
fernmündlich,
z. B. über
eine bestehende Telefonverbindung, dem Bediener des zweiten Systems mit.
Der Bediener des zweiten Systems übergibt die Anfrage in einer
dafür vorgesehenen
Art und Weise, beispielsweise über
ein Formular, dem zweiten System.
-
Das
zweite System validiert die Anfrage, d. h. es prüft, ob diese Anfrage gültig ist
bzw. ob die Anfrage korrekt verschlüsselt wurde, z. B. indem eine
mit der Anfrage übermittelte
Checksumme ausgewertet wird. Allerdings muss das zweite System die
Anfrage dafür
nicht entschlüsseln.
-
Neben
der Eingabe der Anfrage durch den Bediener des zweiten Systems,
wählt dieser
zusätzlich
Anweisungen aus, die vom ersten System ausgeführt werden sollen. So sind
in diesem Fall für
verschiedene Nutzungsfälle
unterschiedliche Nutzungsrechte zu vergeben. Voreingestellte auszuführende Anweisungen
für die
verschiedenen Nutzungsfälle sind
auf beiden Systemen vorhanden. So wählt der Bediener des zweiten
Systems den Nutzungsfall aus, und damit die mit diesem Nutzungsfall
verbundene und auf beiden Systemen hinterlegte auszuführende Anweisung,
welcher vom Bediener des ersten Systems beschrieben wird bzw. für welchen
beschriebenen Nutzungsfall der Bediener Rechte benötigt. Der Bediener
des zweiten Systems besitzt die dafür notwendigen Rechte. Das zweite
System erzeugt daraufhin eine Information, welche die vom ersten
System auszuführenden
Anweisungen enthält,
also die hinreichenden Anweisungen an das erste System, welche dem
Bediener des ersten Systems die erfragten Rechte, zumindest temporär gewähren. Es
handelt sich hier nicht um die bloße Vergabe und Übermittlung
bestimmter Passwörter,
sondern die Anweisungen sind vom ersten System ausführbar. Jedoch ist
auch die Anforderung eines oder mehrerer Passwörter durch das erste System
und die Übermittlung von
den bedarfspezifisch erzeugten Passwörtern vom zweiten System auf
diesem Wege möglich.
-
Die
Information wird anschließend
mit einem zweiten Schlüssel
verschlüsselt.
Die verschlüsselte Information
wird nun dem Bediener des zweiten Systems vom zweiten System ausgegeben.
Er liest sie ab und übermittelt
sie dem Bediener des ersten Systems, welcher sie wiederum dem ersten
System übergibt.
-
Durch
die Entschlüsselung
der verschlüsselten
Information durch das erste System mit dem zweiten, dem ersten System
bekannten Schlüssel, gelangt
das erste System an die auszuführenden
Anweisungen, welche im System ausgeführt, dem Bediener des ersten
Systems nun zumindest zeitlich begrenzte, erweitere Rechte auf dem
ersten System, d. h. zur Bedienung bzw. zur Abrufung gewisser Funktionalitäten des ersten
Systems berechtigt. Sowohl der Bediener des ersten Systems, als
auch der Bediener des zweiten Systems, als auch mögliche Dritte,
welche den Daten- und/oder
den Telefonverkehr zwischen den beiden Bedienern und/oder den beiden Systemen überwachen,
sehen die Anweisungen bzw. Passwörter
nicht unverschlüsselt.
Die Entschlüsselungen
der Anfragen und/oder Informationen auf den Systemen und die anschließende Verarbeitung
der entschlüsselten
Daten, z. B. die Interpretation der auszuführenden Anweisungen und deren Ausführung, erfolgt
in den Systemen automatisch und ohne Schnittstelle nach außen.
-
Der
Bediener des ersten und des zweiten Systems kann auch durchaus die
gleiche Person sein und das erste System muss örtlich nicht vom zweiten System
getrennt sein.
-
2 beschreibt
ein Ablaufdiagramm einer Steuerung eines ersten technischen Systems
durch ein zweites technisches System, welches Steuerungsverfahren
auf beiden Systemen computerimplementiert abläuft. Beide Systeme sind in
diesem Ausführungsbeispiel
räumlich
voneinander getrennt und über
eine Datenleitung, insbesondere eine Netzwerkverbindung, miteinander
verbunden. Das erste System ist dem zweiten System untergeordnet,
es empfängt
Steuerbefehle vom zweiten System, welche es anschließend ausführt. Das
zweite System könnte
als Leitsystem bezeichnet werden bzw. es nimmt entsprechend die
Position eines Leitsystems ein. Das erste System führt sicherheitsrelevante Funktionen
aus. Da sich diese Funktionen einem Außenstehenden in einer technischen
Wirkung offenbaren, z. B. indem ein Ventil geöffnet wird, und da die Datenleitung,
und damit die verschlüsselte
Kommunikation zwischen beiden Systemen, abhörbar ist, reicht eine simple
Verschlüsselung
der Kommunikation zwischen beiden Systemen nicht aus, um ein Ausspähen der
Steuerungsbefehle vom zweiten System für das erste System und um sich
daran anschließende
Manipulationen des ersten und/oder des zweiten Systems zu verhindern.
Daher wird der aktuelle Status des ersten Systems in einer Anfrage
an das zweite System verschlüsselt.
Neben den Statusinformationen enthält die mit einem ersten, symmetrischen Schlüssel verschlüsselte Anfrage
des ersten Systems zusätzlich
einen Zeitstempel und eine zufällig generierte
Zeichenfolge. Dadurch kann eine Zuordnung der Anfrage zu einer nachfolgenden Steuerungsinformation
und zu der sich daraus ergebenden technischen Wirkung nicht exakt
erfolgen.
-
Neben
dem verschlüsselten
Teil, weist die Anfrage auch einen unverschlüsselten Teil auf, in welchem
eine Signatur hinterlegt ist. Die Signatur ist vom zweiten System
validierbar. Mittels Signaturen oder anderen Kennungen kann von
jedem System sichergestellt werden, dass die entschlüsselte Nachricht
auch richtig ist. Ansonsten könnte
eine Anfrage und/oder Informationen falsch entschlüsselt und/oder falsch
interpretiert werden.
-
Die
verschlüsselte
Anfrage wird zum zweiten System über
die Datenleitung übermittelt.
Das zweite System entschlüsselt
die Anfrage mit dem ersten Schlüssel,
nachdem deren Signatur geprüft
wurde. Auf Grundlage der unverschlüsselten, vom zweiten System
lesbaren und verarbeitbaren Anfrage, wird nun die unverschlüsselte Information
vom zweiten System erzeugt, beispielsweise indem in einer Steuerbefehldatei
der zu der Anfrage gehörende
Steuerbefehl identifiziert wird, wobei dieser Steuerbefehl zumindest
ein Teil der Information an das erste System darstellt. Gleichermaßen könnte die
vom zweiten System zu erzeugende Information für das erste System vom Status
weiterer Systeme abhängen.
Das zweite System wäre
dann in der Lage, den Status jedes einzelnen Systems abzufragen
bzw. von diesen Systemen übermittelte
Anfragen zu speichern und entsprechend auszuwerten.
-
Die
Information wird anschließend
wieder verschlüsselt.
Das Verschlüsselungsverfahren
dazu, wird vom zweiten System in Abhängigkeit der verschlüsselten
Anfrage und einem dritten, dem ersten und dem zweiten System bekannten,
statischen Schlüssel,
einem so genannten Response-Key, erzeugt. Gleichermaßen erzeugt
das erste System diesen zweiten Schlüssel, allerdings ohne die Notwendigkeit
der Gleichzeitigkeit. Die nun verschlüsselte Information wird Response
genannt.
-
Die
verschlüsselte
Information wird vom zweiten System zum ersten System übermittelt.
Mit dem eigens erzeugten zweiten Schlüssel wird die Information nun
vom ersten System entschlüsselt.
Verarbeitet wird die entschlüsselte
Information in diesem Beispiel, indem der in der Information enthaltene Steuerbefehl
ausgeführt wird
und damit eine im Steuerbefehl festgelegte technische Funktion ausgeführt wird,
wie z. B. ein geschlossenes Ventil geöffnet wird oder eine ausgeschaltete
Pumpe gestartet wird. Weitere Teile der Information könnten beispielsweise eine
zeitlich begrenzte Gültigkeit
des Steuerbefehls sein, welche dann natürlich vorher vom zweiten System überprüft wird.
-
In 3 ist
ein Flussdiagramm einer Ausgestaltung der Erfindung offenbart. Eine
Anfrage wird vom ersten System erzeugt. Anschließend wird die nun zunächst unverschlüsselte Anfrage
mit dem ersten Schlüssel
verschlüsselt.
Der erste Schlüssel
ist erster Teil eines Schlüsselpaars
eines asymmetrischen Verschlüsselungsverfahrens
und ist dem ersten System bekannt. Mit diesem Schlüssel kann
die nun verschlüsselte
Anfrage nicht wieder entschlüsselt
werden. Nach Übermittelung
der verschlüsselten Anfrage
zum zweiten System entschlüsselt
das zweite System die verschlüsselte
Anfrage mit einem vierten Schlüssel,
dem anderen Teil des asymmetrischen Schlüsselpaars. Der vierte Schlüssel ist
nur dem zweiten System bekannt. Auf Grundlage der vom zweiten System
verarbeiteten entschlüsselten
Anfrage, erzeugt das zweite System unverschlüsselte Informationen.
-
Sowohl
auf dem ersten, als auch auf dem zweiten System wird zusätzlich ein
zweiter Schlüssel generiert.
Der zweite Schlüssel
wird in Abhängigkeit von
der entschlüsselten
Anfrage und einem dritten Schlüssel
erzeugt. Der dritte Schlüssel
ist dabei insbesondere ein statischer Schlüssel und beiden Systemen bekannt.
-
Der
zweite Schlüssel
ist eine so genannte Hashfunktion oder auch Streuwertfunktion. Diese Funktion
wird erst zur Laufzeit des Verfahrens in Abhängigkeit von der unverschlüsselten
Anfrage und einem dritten Schlüssel, üblicherweise
eine Ziffern- und
Zeichenfolge bestimmter Länge,
welche beiden Systemen bekannt ist, gebildet. Die Bildung dieser Streuwertfunktion,
also die Erzeugung des zweiten Schlüssels, unterliegt einem fest
vorgegebenem Algorithmus, der ebenfalls sowohl dem ersten als auch dem
zweiten System bekannt ist. Dieser Algorithmus ist in diesem Ausführungsbeispiel
ebenfalls injektiv.
-
Das
zweite System verschlüsselt
nun die unverschlüsselten
Informationen mit dem zweiten Schlüssel und übermittelt die nun verschlüsselten
Informationen zum ersten System. Nach der Entschlüsselung
der verschlüsselten
Informationen durch das erste System mit dem zweiten Schlüssel, verarbeitet
das erste System die nun entschlüsselten Informationen.
-
4 zeigt
ein Leitsystem 2 mit mehreren untergeordneten Systemen 1,
so genannten Peripheriegeräten.
Das Leitsystem 2 ist steht dabei für das erfindungsgemäße zweite
System. Die untergeordneten Systeme 1 entsprechen erfindungsgemäß jeweils
einem ersten System. Verbunden sind die untergeordneten Systeme 1 mit
dem Leitsystem 2 über eine
Datenleitung 3, beispielsweise eine Netzwerkverbindung
oder ein BUS.
-
Die
untergeordneten Systeme 1 sind z. B. Sensoren und/oder
Aktoren. Die Sensoren übermitteln
ihre Messdaten zum Leitsystem 2. Gleichermaßen übermitteln
die Aktoren ihren aktuellen Status, beispielsweise ob ein- oder
ausgeschaltet, offen oder geschlossen, dem Leitsystem 2.
Sowohl Messdaten als auch Status können als Anfragen der untergeordneten
Systeme 1 aufgefasst werden. Sind vorgebbare Zustände des
Gesamtsystems und/oder einzelner untergeordneter Systeme 1 erreicht,
erzeugt das Leitsystem 2 Steuerungsinformationen bzw. Anweisungen
und übermittelt
diese an ausgewählte
Systeme 1, welche diese wiederum ausführen.
-
- 1
- Erstes
System
- 2
- Zweites
System
- 3
- Datenleitung