-
Die
vorliegende Erfindung betrifft ein Verfahren zur sicheren Datenkommunikation
zwischen einem Endgerät
und einer Datenverarbeitungseinrichtung.
-
Zur
Fernwartung einer Datenverarbeitungseinrichtung ist ein Administrator
vor die Aufgabe gestellt, eine sichere Datenkommunikationsverbindung von
einem Endgerät
zu der Datenverarbeitungseinrichtung über ein im Allgemeinen unsicheres
Netzwerk, z. B. das Internet, aufzubauen. Unter einer sicheren Datenkommunikationsverbindung
wird im Rahmen der vorliegenden Erfindung eine solche Datenkommunikationsverbindung
verstanden, bei der sich die Datenverarbeitungseinrichtung, vorzugsweise
beim Aufbauen der Verbindung, gegenüber dem Endgerät authentisiert,
das Endgerät
bzw. ein Nutzer des Endgeräts
sich gegenüber
der Datenverarbeitungseinrichtung authentisiert und die folgende
Datenkommunikation verschlüsselt
durchgeführt
wird.
-
Zur
Fernwartung von Unix- oder Linux-Systemen stellt die so genannte "Secure Shell" (SSH) ein entsprechendes
Kommunikationsprotokoll bereit. Es gibt aber bereits auch Implementationen
von SSH auf anderen Plattformen. Das SSH-Protokoll unterstützt eine
Authentisierung der Datenverarbeitungseinrichtung in der Rolle des "Servers" gegenüber dem
Endgerät
in der Rolle des "Client" mittels eines Authentisierungsschlüssels des
Servers, der auch Host-Key genannt wird. Zur Verschlüsselung
der zu übertragenden
Daten tauschen der Client und der Server einen geheimen Transportschlüssel aus,
z. B. mittels des Diffie-Hellman-Schlüsselaustauschverfahrens, welcher während der
Datenkommunikation jeweils bei dem Client und dem Server gespeichert
wird. Die Verschlüsselung
selbst erfolgt dann gemäß einem bekannten
symmetrischen Verschlüsselungsverfahren,
z. B. 3DES, IDEA, AES oder dergleichen. Die Integrität der übertragenen
Daten wird durch eine Prüfsumme
sichergestellt. Das SSH-Protokoll unterstützt weiterhin eine Authentisierung
des Clients bzw. eines Nutzers des Clients gegenüber dem Server, z. B. mittels
eines Passworts, und stellt schließlich verschiedene logische
Kanäle
zur nun zweiseitig authentisierten und verschlüsselten Datenkommunikation
bereit.
-
Der
Client kann den empfangenen Authentisierungsschlüssel prüfen, indem er diesen mit einer entsprechenden
Kopie vergleicht, die beim Client lokal gespeichert ist. Dazu muss
der Client den Authentisierungsschlüssel des Servers natürlich bereits kennen.
Es ist auch möglich,
dass der Authentisierungsschlüssel
des Servers mittels eines Zertifikats einer Zertifizierungsstelle
versehen ist, welches dann von dem Client geprüft werden kann. Akzeptiert
der Client einen Authentisierungsschlüssel des Servers, den er nicht
kennt und den er nicht prüfen
kann, so besteht die Gefahr, dass sich hinter dem vermeintlichen
Server eine dritte Instanz verbirgt, die lediglich vorgibt, der
Server zu sein. Gleichzeitig kann sich diese Instanz dem tatsächlichen
Server gegenüber als
Client ausgeben und dadurch die gesamte nachfolgende Datenkommunikation
zwischen Client und Server unverschlüsselt bzw. für die dritte
Instanz entschlüsselbar
verfolgen.
-
Eine
in der vorstehenden Weise aufgebaute Datenkommunikation zwischen
einem Endgerät,
z. B. einem Personal Computer (PC) eines Nutzers, und einem Server,
wird angreifbar, wenn beispielsweise der geheime Transportschlüssel, der
während der
Datenkommunikation auf dem PC gespeichert ist, ausgespäht wird.
Es ist auch möglich,
dass ein in dem PC gespeicherter Host-Key eines Servers durch in
den PC eingedrungenen Schadcode derart verändert wird, dass sich eine
dritte Instanz bei einem erneuten Aufbauen einer Datenkommunikationsverbindung
durch den Client als Server ausgeben kann, ohne dass dies von dem
Client erkannt wird.
-
Weiterhin
kann eine SSH-gesicherte Datenkommunikationsverbindung zu einem
Server nur von solchen Clients aufgebaut werden, auf denen eine entsprechende
Sicherheitskommunikation-Client-Applikation implementiert ist. Dies
ist jedoch für eine
große
Klasse von Endgeräten,
z. B. Mobilfunkendgeräte,
Handhelds und dergleichen, in der Regel nicht der Fall.
-
Es
ist demnach die Aufgabe der vorliegenden Erfindung, ein Verfahren
vorzuschlagen, welches es einem Endgerät auf flexible Weise erlaubt, eine
sichere Datenkommunikationsverbindung zu einer Datenverarbeitungseinrichtung
aufzubauen.
-
Diese
Aufgabe wird durch ein Verfahren und einen portablen Datenträger mit
den Merkmalen der unabhängigen
Ansprüche
gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
-
Die
Erfindung basiert auf dem Grundgedanken, die Funktionalität einer
Sicherheitskommunikation-Clienteinrichtung auf einem portablen Datenträger bereitzustellen,
der mit dem Endgerät
und der Datenverarbeitungseinrichtung zur Datenkommunikation verbindbar
ist.
-
Demnach
wird bei dem erfindungsgemäßen Verfahren
zur Bereitstellung einer sicheren Datenkommunikation zwischen einem
Endgerät
und einer Datenverarbeitungseinrichtung ein portabler Datenträger, der
eine Si cherheitskommunikations-Clienteinrichtung umfasst, bereitgestellt
und mit dem Endgerät
und der Datenverarbeitungseinrichtung verbunden. Der Datenträger empfängt eine
Kommandodatennachricht, welche Kommandodaten des Endgeräts für die Datenverarbeitungseinrichtung
umfasst, gemäß einem
Internetkommunikationsprotokoll von dem Endgerät. In dem Datenträger wird
dann eine Kommandodatenweiterleitungsnachricht gemäß einem
Sicherheitskommunikationsprotokoll erstellt, welche auf den Kommandodaten
aus der empfangenen Kommandodatennachricht basiert. Die Sicherheitskommunikation-Clienteinrichtung
des Datenträgers
sendet daraufhin die Kommandodatenweiterleitungsnachricht gemäß dem Sicherheitskommunikationsprotokoll
an eine Sicherheitskommunikations-Servereinrichtung der Datenverarbeitungseinrichtung.
-
Dadurch,
dass die Sicherheitskommunikation-Clienteinrichtung auf dem portablen
Datenträger bereitgestellt
wird, kann eine sichere Datenkommunikation zwischen einem beliebigen
Endgerät
und einer Datenverarbeitungseinrichtung, die eine Sicherheitskommunikation-Servereinrichtung
umfasst, aufgebaut werden. Das Endgerät selbst benötigt dazu keine
Sicherheitskommunikation-Clienteinrichtung. Eine sichere Protokollumsetzung
zwischen dem Internetkommunikationsprotokoll, gemäß welchem
die Kommandodaten von dem Endgerät
an den Datenträger
gesendet werden, und dem Sicherheitskommunikationsprotokoll, gemäß welchem
die Sicherheitskommunikations-Clienteinrichtung die erstellte Kommandodatenweiterleitungsnachricht
an die Datenverarbeitungseinrichtung weitersendet, findet in dem
portablen Datenträger
statt. Weiterhin können geheime
Daten im Zusammenhang mit der Datenkommunikation zwischen dem Endgerät und der
Datenverarbeitungseinrichtung, z. B. ein geheimer Transportschlüssel zum
Verschlüsseln
der Datenkommunikation, sicher auf dem Datenträger gespeichert werden anstatt
auf dem Endgerät.
Der Datenträger
kann gegen Angriffe mittels Schadcode und dergleichen besser geschützt werden
als das Endgerät
und kann die geheimen Daten in einem geschützten Speicherbereich des Datenträgers vor
dem Zugriff Dritter sicher speichern. Schließlich können Authentisierungsdaten,
die eine zweifelsfreie Authentisierung des Servers gegenüber dem
Client ermöglichen,
z. B. ein Host-Key des Servers, ebenfalls sicher und überprüfbar auf
dem Datenträger
gespeichert werden.
-
Das
Endgerät
kann mittels des Verfahrens die Datenverarbeitungseinrichtung fernsteuern.
Die gewünschten
Sicherheitsfunktionalitäten – gegenseitige
Authentisierung und Verschlüsselung
der Datenkommunikation-, die zu einer Fernsteuerung über ein unsicheres
Kommunikationsnetz, wie z. B. das Internet, benötigt werden, um die Sicherheit
und Integrität der
Datenverarbeitungseinrichtung nicht zu gefährden, werden sämtlich durch
die Sicherheitskommunikations-Clienteinrichtung auf dem Datenträger und durch
das von dieser Einrichtung unterstützte Sicherheitskommunikationsprotokoll
bereitgestellt.
-
Vorzugsweise
wird nach dem Verbinden des Datenträgers mit dem Endgerät eine Datenkommunikationsverbindung
zwischen einem Webbrowser des Endgeräts und einem Webserver des
Datenträgers gemäß dem Internet-Kommunikationsprotokoll
hergestellt. Daraufhin empfängt
der Webserver des Datenträgers
die Kommandodatennachricht über
die aufgebaute Datenkommunikationsverbindung von dem Webbrowser
des Endgeräts
gemäß dem Internet-Kommunikationsprotokoll.
Auf diese Weise wird einem Nutzer des Endgeräts eine Datenein- und Datenausgabeschnittstelle
zu der Sicherheitskommunikations-Clienteinrichtung auf dem Datenträger bereitgestellt,
die auf eine einfache und standardisierte Weise eine Datenkommunikation
zwischen dem Endgerät
und dem Datenträger
unterstützt.
Nahezu jedes Endgerät
verfügt über einen
Webbrowser oder lässt sich
auf einfache Weise damit ausstatten.
-
Gemäß einer
bevorzugten Ausführungsform des
Verfahrens umfasst der Datenträger
eine Vermittlungseinrichtung. Beim Erstellen der Kommandodatenweiterleitungsnachricht
wird die Kommandodatennachricht von dem Webserver an die Vermittlungseinrichtung übergeben.
Die Vermittlungseinrichtung wiederum extrahiert die Kommandodaten
aus der Kommandodatennachricht und übergibt die extrahierten Kommandodaten
an die Sicherheitskommunikations-Clienteinrichtung. Die Vermittlungseinrichtung
fungiert quasi als Brücke
zwischen dem Webserver und der Sicherheitskommunikations-Clienteinrichtung
auf dem Datenträger,
unterstützt
eine Umsetzung der verschiedenen Kommunikationsprotokolle und stellt
damit eine einfache und sichere Datenkommunikation zwischen dem
Endgerät
und der Datenverarbeitungseinrichtung sicher. Bevorzugt transformiert
die Sicherheitskommunikations-Clienteinrichtung die durch die Vermittlungseinrichtung
aus der Kommandodatennachricht extrahierten und übergebenen Kommandodaten in
eine Kommandodatenweiterleitungsnachricht gemäß dem Sicherheitskommunikationsprotokoll.
D. h., die Vermittlungseinrichtung ist eingerichtet, die extrahierten
Kommandodaten der Sicherheitskommunikations-Clienteinrichtung als
Nutzdaten, d. h. ohne einen bestimmten Protokollrahmen und dergleichen,
zu übergeben,
und die Sicherheitskommunikations-Clienteinrichtung ist zum Transformieren
der Kommandodaten in die Kommandodatenweiterleitungsnachricht gemäß dem Sicherheitskommunikationsprotokoll
eingerichtet, d. h. zum Erstellen einer Datennachricht gemäß dem Sicherheitskommunikationsprotokoll,
welche die Kommandodaten als Nutzdaten umfasst. Eine solche Transformation
kann aber auch ganz oder teilweise bereits durch die Vermittlungseinrichtung
vorgenommen werden. Eine Umsetzung zwischen dem Internet-Kommunikationsprotokoll
und dem Sicherheitskommunikationsprotokoll wird also in Zusammenarbeit
zwischen dem Webserver, der Vermittlungseinrichtung und der Sicherheitskommunikation-Clienteinrichtung
auf den Datenträger
sicher durchgeführt.
-
Ein
erfindungsgemäßer portabler
Datenträger
umfasst demnach zumindest eine Kommunikationsschnittstelle, eine
Webserver-Applikation, eine Sicherheitskommunikations-Clientapplikation
und eine Vermittlungseinrichtung. Dabei ist die Webserver-Applikation
eingerichtet, eine von einem Webbrowser eines über die zumindest eine Kommunikationsschnittstelle
mit dem Datenträger
verbindbaren Endgeräts
gemäß einem
Internet-Kommunikationsprotokoll
gesendete Kommandodatennachricht, welche Kommandodaten des Endgeräts für eine Datenverarbeitungseinrichtung
umfasst, zu empfangen und die empfangene Kommandodatennachricht
an die Vermittlungseinrichtung zu übergeben. Die Vermittlungseinrichtung
ist eingerichtet, die Kommandodaten aus der Kommandodatennachricht
zu extrahieren und an die Sicherheitskommunikation-Clientapplikation
zu übergeben.
Die Sicherheitskommunikation-Clientapplikation ist ihrerseits eingerichtet, eine
Kommandodatenweiterleitungsnachricht, welche die Kommandodaten umfasst,
an eine Sicherheitskommunikation-Serverapplikation der über die zumindest
eine Kommunikationsschnittstelle mit dem Datenträger verbindbaren Datenverarbeitungseinrichtung
gemäß dem Sicherheitskommunikationsprotokoll
zu senden.
-
In
der Regel empfängt
die Sicherheitskommunikation-Clientapplikation auf dem Datenträger eine
Antwortdatennachricht, welche Antwortdaten für das Endgerät umfasst,
gemäß dem Sicherheitskommunikationsprotokoll
von der Sicherheitskommunikation-Serverapplikation der Datenverarbeitungseinrichtung
als Antwort auf die Kommandodatenweiterleitungsnachricht und übergibt
die Antwortdatennachricht an die Vermittlungseinrichtung. Die Vermittlungseinrichtung
wiederum extrahiert die Antwortdaten aus der Antwortdatennachricht
und übergibt
die Antwortdaten an die Webserver-Applikation. Die Webserver-Applikation
schließlich
sendet eine Antwortdatenweiterleitungsnachricht, welche die Antwortdaten
umfasst, gemäß dem Internet-Kommunikationsprotokoll
als Antwort auf die Kommandodatennachricht an den Webbrowser des
Endgeräts.
Auf diese Weise ist eine vollständige
Datenkommunikation zwischen dem Endgerät und der Datenverarbeitungseinrichtung
definiert.
-
Vorzugsweise
ist die Vermittlungseinrichtung eingerichtet, die Antwortdaten zumindest
teilweise in eine Antwortdatenweiterleitungsnachricht gemäß dem Internet-Kommunikationsprotokoll
zu transformieren und die Antwortdaten in Form der bereits protokollgemäß transformierten
Antwortdatenweiterleitungsnachricht an den Webserver zu übergeben.
In dieser Richtung der Datenkommunikation, von der Datenverarbeitungseinrichtung
zum Endgerät, übernimmt
also die Vermittlungseinrichtung im Wesentlichen die Aufgabe der
Protokollumsetzung. Es ist jedoch auch möglich, dass Komponenten des
Webservers diese Aufgabe übernehmen,
durch die Vermittlungseinrichtung als Nutzdaten übergebene Antwortdaten in eine
protokollgemäße Antwortdatenweiterleitungsnachricht
zu integrieren.
-
Bevorzugt
ist die Sicherheitskommunikation-Clientapplikation als SSH-Clientapplikation
ausgebildet, welche als Sicherheitskommunikationsprotokoll das SSH-Kommunikationsprotokoll
unterstützt. Entsprechend
werden die Kommandodatenweiterleitungsnachricht und die Antwortdatennachricht
zwischen einer derartigen Clientapplikation und einer entsprechend
eingerichteten Sicherheitskommunikation-Serverapplikation in Form
einer SSH-Serverapplikation gemäß dem SSH-Kommunikationsprotokoll
gesendet. Dieses standardisierte Protokoll unterstützt alle
wünschenswerten
Si cherheitsmerkmale, z. B. eine zweiseitige Authentisierung und
eine verschlüsselte
Datenübertragung
von durch einen Hashwert integritätsgeschützen Daten. Andere Sicherheitskommunikationsprotokolle
können
gleichwohl verwendet werden.
-
Die
Kommandodatennachricht und die Antwortdatenweiterleitungsnachricht
zwischen dem Webbrowser des Endgeräts und dem Webserver des Datenträgers werden
vorzugsweise gemäß dem HTTP-
oder dem HTTPS-Kommunikationsprotokoll gesendet.
Letzteres erlaubt auch auf dem Teil der Datenkommunikationsverbindung
zwischen dem Webbrowser und dem Webserver eine verschlüsselte Datenkommunikation.
Andere Internet-Kommunikationsprotokolle
können
ebenfalls zur Anwendung kommen.
-
Vorzugsweise
ist der portable Datenträger als
Chipkarte, (U)SIM-Mobilfunkkarte, USB-Token, Massenspeicherkarte
oder dergleichen ausgebildet.
-
Nachfolgend
wird die Erfindung mit Bezug auf die begleitenden Zeichnungen beispielhaft
beschrieben. Darin zeigen:
-
1 eine
bevorzugte Ausführungsform
eines erfindungsgemäßen Datenträgers; und
-
2 an
einer bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
beteiligte Komponenten.
-
Mit
Bezug auf 1 umfasst ein Datenträger 10,
der hier als Chipkarte dargestellt ist, eine Kommunikationsschnittstelle 20,
einen Prozessor (CPU) 30 und eine Reihe von Speichern 40, 50 und 60.
Die Kommunikationsschnittstelle 20 ist als Kontaktfeld gemäß ISO/IEC
7816 ausgebildet und dient dem Datenträger 10 zur Kommunikation
mit externen Geräten,
z. B. mit einem Personal Computer über ein Kartenlesegerät oder mit
einem Mobilfunkendgerät.
Die Kommunikationsschnittstelle 20 kann auch nach einem
anderen Standard, z. B. dem USB- oder SD-Standard, oder proprietär ausgebildet
sein. Es ist gleichfalls möglich,
dass der Datenträger 10 alternativ
oder zusätzlich
eine Kontaktlos-Kommunikationsschnittstelle (nicht gezeigt), z.
B. eine Antennenspule, umfasst.
-
In
einem nichtflüchtigen,
nicht wiederbeschreibbaren ROM-Speicher 40 ist ein den
Datenträger 10 steuerndes
Betriebssystem (OS) 42 gespeichert. Ein flüchtiger,
wiederbeschreibbarer RAM-Speicher 50 dient als Arbeitsspeicher
und ein nichtflüchtiger,
wiederbeschreibbarer Flash-Speicher 60 dient zum Speichern
von Daten und Applikationen, z. B. einer Webserver-Applikation 62,
einer Vermittlungseinrichtung 64 und einer Sicherheitskommunikations-Clientapplikation 68,
die hier als SSH-Clientapplikation ausgebildet ist. Die jeweiligen Applikationen
werden mit Bezug auf 2 genauer beschrieben. Es ist
möglich,
das Betriebssystem 42 oder Teile davon in dem Flash-Speicher 60 zu
speichern, der alternativ auch als EEPROM-Speicher ausgebildet sein
kann.
-
Ein
Verfahren zur sicheren Datenkommunikation zwischen einem Endgerät 100,
z. B. einem Mobilfunkendgerät,
und einer Datenverarbeitungseinrichtung 200, z. B. einem
Personal Computer (PC), wird im Folgenden mit Bezug auf 2 beschrieben.
Dabei wird der PC 200, der ein Unix-Betriebssystem umfasst,
von dem Endgerät 100 aus ferngesteuert.
D. h., ein Nutzer sendet von dem Endgerät 100 aus Unix-Befehle
an den PC 200, um beispielsweise Datensicherungsarbeiten
oder dergleichen in dem auf dem PC 200 laufenden System
zu veranlassen, und empfängt
entsprechende Antwortkommandos von dem PC 200.
-
Als
Datenein- und Datenausgabeschnittstelle auf dem Endgerät 100 dient
ein Webbrowser 110. Über
eine HTML-Seite kann beispielsweise eine Eingabemaske bereitgestellt
werden, indem z. B. mittels eines HTML-Formulars eine Kommandozeile
nachgebildet wird. Mittels nachstehend beschriebener Mittel wird
die HTML-Seite als Folge der Datenkommunikation zwischen dem Endgerät 100 und
dem PC 200 dynamisch verändert und kann auf diese Weise auch
zur Datenausgabe von solchen Daten auf dem Webbrowser genutzt werden,
die das Endgerät 100 über den
Webbrowser 110 von dem PC 200 empfängt.
-
Das
Endgerät 100,
z. B. ein Mobilfunkendgerät,
ist mit einem Datenträger 10 verbunden,
beispielsweise einer (U)SIM-Mobilfunkkarte, welche in das Endgerät 100 eingesetzt
wird. Andere Kombinationen von Endgerät 100 und Datenträger 10 sind möglich, beispielsweise
ein Endgerät 100 in
Form eines PCs, der eine Chipkarte oder eine Massenspeicherkarte
mittels eines Kartenlesegeräts
aufnimmt, oder einen USB-Token über
einen standardisierten USB-Anschluss.
-
Der
Datenträger 10 umfasst
eine Webserver-Applikation 62. In einem ersten Schritt
S1 stellt der Webbrowser 110 des Endgeräts 100 eine Datenkommunikationsverbindung
zu dem Webserver 62 auf dem Datenträger 10 her, indem
die vorstehend beschriebene HTML-Seite, die als Ein- und Ausgabemaske
dient und die auf dem Datenträger 10 gespeichert
ist, von dem Webbrowser angefordert und daraufhin von der Webserver-Applikation 62 bereitgestellt
wird. Die Datenkommunikation zwischen dem Webserver 62 und
dem Webbrowser 110 erfolgt gemäß dem HTTP- oder HTTPS-Kommunikationprotokoll.
Gemäß dem HTTPS-Kommunikationsprotokoll wird
die Datenübertragung
also bereits auf dem Abschnitt zwischen dem Endgerät 100 und dem
Datenträger 10 gesichert
durchgeführt.
Es ist jedoch möglich,
die Datenein- und Datenausgabeschnittstelle auf andere Weise zu
implementieren und die Datenkommunikation zwischen dem Webserver 62 und dem
Webbrowser 110 gemäß einem
anderen Kommunikationsprotokoll durchzuführen. Über das Eingabeformular der
HTML-Seite gibt ein Nutzer des Endgeräts 100 ein Kommando
für den
PC 200 ein. Die HTML-Seite mit den eingegebenen Kommandodaten
wird von dem Webbrowser 110 als Kommandodatennachricht,
wie erwähnt
mittels des HTTP- oder HTTPS-Kommunikationsprotokolls,
an den Webserver 62 gesendet.
-
In
Schritt S2 übergibt
der Webserver 62 die vorstehend beschriebene Kommandodatennachricht an
die Vermittlungseinrichtung 64, welche die Kommandodaten,
also das in das Formular eingegebene Kommando für den PC 200, aus
der Kommandodatennachricht extrahiert und in Schritt S3 an den SSH-Client 68 übergibt.
Die Vermittlungseinrichtung 64 kann auf verschiedene Weise
ausgebildet sein. In einer Java-Umgebung kann die Vermittlungseinrichtung
mittels geeigneter Java-Servlets implementiert sein. Andere Möglichkeiten
zum Ausbilden der Vermittlungseinrichtung bieten Skriptsprachen,
wie z. B. PHP, Perl und dergleichen. Andere Technologien zum dynamischen
Erzeugen vom HTML-Inhalten, z. B. auf Basis der Programmiersprachen
C/C++, sind ebenfalls geeignet.
-
Die
Vermittlungseinrichtung 64 extrahiert im Wesentlichen die
Nutzdaten, also das in das Formular eingetragene Kommando, aus dem
durch den Webserver 62 überlassenen
HTML-Dokument, d. h. es werden protokollspezifische Anteile, wie
z. B. Header und dergleichen, entfernt und nur reine Nutzdaten an
den SSH-Client 68 übergeben,
der seinerseits eingerichtet ist, eine Kommandodatenweiterleitungsnachricht,
die die Kommandodaten umfasst, gemäß dem SSH-Kommunikationsprotokoll
zu bilden und in Schritt S4 an den SSH-Server 210 des PCs 200 zu senden.
-
Die
Erfindung wird hier mit Bezug auf das SSH-Kommunikationsprotokoll
erläutert.
Jedes andere Kommunikationsprotokoll, welches eine sichere Datenübertragung
zwischen dem Datenträger 10 und dem
PC 200 ermöglicht,
ist gleichfalls anwendbar. Eine erste Ebene des SSH-Protokolls,
das "Transport Layer
Protokoll", setzt
auf einem gewöhnlichen Transportprotokoll
auf, z. B. TCP, und dient der Authentisierung des PCs 200 in
der Rolle des "Servers" gegenüber dem
Datenträger 10 in
der Rolle des "Client". Weiterhin garantiert
diese Ebene Vertraulichkeit der Datenkommunikation durch Austauschen
eines geheimen Transportschlüssels
zwischen den Kommunikationspartnern zum Verschlüsseln der nachfolgenden Datenkommunikation
und stellt Integrität
der übertragenen
Daten durch Bereitstellen einer Prüfsumme sicher.
-
Die
Server-Authentisierung erfolgt durch einen Authentisierungsschlüssel des
PCs 200, der auch "Host-Key" genannt wird. Der
Client, also der Datenträger 10,
prüft den
empfangenen Authentisierungsschlüssel,
indem er diesen mit einer entsprechenden Kopie vergleicht, die im
Datenträger 10 gesichert
gespeichert ist. Eine Angriffsmöglichkeit
auf die zwischen dem Datenträger 10 und
dem PC 200 aufzubauende Datenübertragungsverbindung entfällt damit,
da es einem Dritten nicht möglich
ist, dem SSH-Client 68 des Datenträgers 10 einen falschen Host-Key
als vermeintlichen Server-Host-Key anzubieten, denn ein Vergleichen
des vermeintlichen Server-Host-Keys mit dem in dem Datenträger 10 gespeicherten
richtigen Host-Key würde
den Angriff aufdecken und es würde
ein Abbruch der Datenübertragungsverbindung
erfolgen. Der zwischen dem SSH-Client 68 und SSH-Server 210 ausgehandelte geheime
Transportschlüssel
zum Verschlüsseln
der nachfol genden Datenübertragung
wird ebenfalls gesichert und für
Dritte nicht ausspähbar
in dem Speicher 60 des Datenträgers 10 gespeichert.
-
Eine
zweite Ebene des SSH-Protokolls, das "User Authentication Protocol", ermöglicht eine
Authentisierung des Nutzers des Endgeräts 100 über den
SSH-Client 68 beim PC 200, z. B. durch ein Passwort
und/oder einen öffentlichen
Schlüssel
des Nutzers. Das Passwort kann zuvor über das HTML-Formular gesichert
in den Schritten S1, S2 und S3 über
den Webbrowser 110, den Webserver 62 und die Vermittlungseinrichtung 64 an
den SSH-Client 68 übertragen
worden sein. Eine dritte Ebene schließlich, das "Connection Protocol", stellt verschiedene logische Kanäle zur nun
zweiseitig authentisierten und verschlüsselten Datenkommunikation
bereit. Zur Datenübertragung
mittels des SSH-Kommunikationsprotokolls stehen sämtliche Übertragungstechnologien
bereit, die z. B. eingerichtet sind, Transport- und Vermittlungsprotokolle
des TCP/IP-Protokollstapels zu übermitteln,
also z. B. GPRS, WLAN, Ethernet, UMTS.
-
Der
SSH-Server 210 empfängt
die Kommandodatenweiterleitungsnachricht, wonach das damit übertragene
Kommando in dem auf dem PC 200 ausgeführten System ausgeführt wird.
In Schritt S5 werden entsprechende Antwortdaten mittels einer Antwortdatennachricht
gemäß dem SSH-Kommunikationsprotokoll
von dem SSH-Server 210 an den SSH-Client 68 gesendet,
welche dieser in Schritt S6 der Vermittlungseinrichtung 64 übergibt.
-
Die
Vermittlungseinrichtung 64 übernimmt erneut die Aufgabe,
die Nutzdaten, also die Antwortdaten, aus der Antwortdatennachricht
in Form der Nachricht gemäß dem SSH-Kommunikationsprotokoll
zu extrahieren und in Schritt S7 an den Webserver 62 zu übergeben.
An dieser Stelle agiert die Vermittlungseinrichtung 64 in
der Regel aktiv als Protokollumsetzer, indem sie die extrahierten
Nutzdaten bereits in Form von HTML-Code aufbereitet. Diesen HTML-Code
integriert die Vermittlungseinrichtung 64 in die in Schritt
S8 von dem Webserver 62 an den Webbrowser 110 als
Antwortdatenweiterleitungsnachricht zu sendende HTML-Seite und verändert diese
damit dynamisch in Abhängigkeit
von den von dem PC 200 empfangenen Antwortdaten.
-
Die
in Schritt S8 von dem Webserver 62 der Datenträgers 10 an
den Webbrowser 110 des Endgeräts 100 gesendete HTML-Seite
wird dem Nutzer des Endgeräts 100 angezeigt,
worauf ein weiteres Kommando in der vorstehend mit Bezug auf die
Schritte S1 bis S8 beschriebenen Weise an den PC 200 gesendet
werden kann. Das Verfahren ermöglicht
somit eine standort- und plattformunabhängige Fernwartung des PCs 200 von
einem beliebigen Endgerät 100 aus,
solange dieses einen gewöhnlichen
Webbrowser 110 umfasst und eingerichtet ist, mit dem Datenträger 10 verbunden
zu werden.