-
Die vorliegende Erfindung betrifft die Konfiguration einer sicherheitskritischen Einheit, und, im Besonderen, die entfernte Inbesitznahme und Etablierung von Geheimnissen durch Maschinen zu Maschinen Kommunikation und die vollautomatische Inbetriebnahme einer sicherheitskritischen Einheit.
-
Das Problem der Konfiguration sicherheitskritischer Einheiten wird immer wichtiger. Eine sicherheitskritische Einheit kann zum Beispiel eine Einheit zur vertraulichen Datenkommunikation sein, beispielsweise ein Messsystem, das die Messdaten vertraulich an eine zentrale Stelle übermittelt. So soll z. B. die Übertragung von Daten zwischen voneinander entfernten Einheiten oftmals vertraulich erfolgen. Häufig kommuniziert dabei eine Einheit über ungeschützte Kommunikationswege mit anderen Einheiten oder einer zentralen Instanz. Vertrauliche Datenkommunikation erfolgt insbesondere dadurch, dass Daten verschlüsselt übertragen werden. Dies erfordert jedoch eine Konfiguration der Einheit vor ihrer Inbetriebnahme. So muss der Einheit zum Beispiel ein gemeinsamer Schlüssel (z. B. ein symmetrischer Schlüssel) mitgeteilt werden, mit dem die zu versendenden Daten verschlüsselt werden sollen. Wird asymmetrische Verschlüsselung verwendet, ist es wiederum notwendig, dass der Einheit der öffentliche Schlüssel ihres Kommunikationspartners bekannt ist. Soll wiederum ein virtuelles privates Netz (VPN, englisch: virtual private network) für die Datenübertragung verwendet werden, so muss die Einheit zur Nutzung eines bestimmten VPNs entsprechend konfiguriert werden.
-
Eine sicherheitskritische Einheiten kann aber auch jede andere Art von Einheit sein, die sicherheitskritische Anforderungen aufweist. So kann eine sicherheitskritische Einheit zum Beispiel eine Industrieanlage sein, für die bestimmte Software-Parameter vor der Inbetriebnahme zu konfigurieren sind. Die Konfiguration einer derartigen Einrichtung muss wiederum so erfolgen, dass Dritte nicht den Konfigurationsprozess manipulieren können. Auch sollen die Konfigurationsdaten für Dritte nicht einsehbar sein.
-
Bisher wird das Problem der Konfiguration sicherheitskritischer Einheiten durch eine direkte Konfiguration der Einheiten durch Administratoren gelöst. Hierzu werden vor der eigentlichen Inbetriebnahme kundenspezifische Geheimnisse, die eine spätere Kommunikation, z. B. mit anderen Einheiten oder einer zentralen Instanz, erlauben, durch einen Administrator auf die Einheiten verbracht. Dieser Ansatz erlaubt keine entfernte Inbetriebnahme. Vielmehr ist die Anwesenheit des Administrators vor Ort erforderlich, was erhebliche Kosten verursacht.
-
Manchmal erweist sich der Zugriff eines Administrators auf eine Einheit zur vertraulichen Datenkommunikation auch als besonders schwierig, so zum Beispiel wenn dass Gerät zuvor an einer schwer zugänglichen Stelle montiert wurde. Hier ist zum Beispiel an Industriekontrollsysteme oder an Messgeräte, z. B. im Bereich Gas, Wasser, Strom zu denken.
-
Darüber hinaus stellt ein solcher Ansatz keine Konzepte zur Identifikation der Einheit bereit. Oftmals ist es wünschenswert, dass bei der Konfiguration zur vertraulichen Datenkommunikation überprüft werden kann, ob es sich bei dem gerade konfigurierten Gerät auch tatsächlich um das konkrete Produkt von dem bestimmten Hersteller handelt, für das man es hält.
-
TOFINO® (siehe „TOFINOTM Industrial Security Solution – Data Sheet”; verfügbar unter: „http://www.tofinosecurity.com/sites/default/files/DS-TOV-ARGON.pdf”), ein Produkt der Belden Gruppe, überträgt die Daten durch ein USB Speichergerät auf die Einheiten.
-
Erfolgt die Datenübertragung über eine USB-Schnittstelle, ist ein direkter physischer Kontakt zu der Einheit notwendig. Zudem sind Software-Treiber zum Betrieb der USB-Schnittstelle erforderlich.
-
TrustZone® (siehe „Securing the System with TrustZone® Ready Program”, verfügbar unter „http://www.arm.com/files/pdf/Tech_seminar_TrustZone_v7_PUBLIC.pdf”) zeigt eine Trusted Execution Environment (Vertrauens-Ausführungsumgebung).
-
US 2009/0 276 620 A1 zeigt einen Sicherheitsmechanismus zur Ausführung einer Netzwerk-Boot-Sequenz.
-
TPM Main, Part 1 Design Principles. Specification Version 1.2, Revision 116, 1. März 2011. Trusted Computing Group. Seiten 1–172, verfügbar unter „http://www.trustedcomputinggroup.org/files/static_page_files/72C26AB5-1A4B-B294-D002BC0B8C062FF6/TPM%20Main-Part%201%20Design%20Principles_v1.2_rev 116_01032011.pdf”) zeigt eine Plattform eines Vertrauens-Moduls.
-
Aufgabe der vorliegenden Erfindung ist die Bereitstellung verbesserter Konzepte zur Konfiguration einer Einheit zur vertraulichen Datenkommunikation. Die Aufgabe der vorliegenden Erfindung wird durch eine Vorrichtung nach Anspruch 1, durch ein System nach Anspruch 17, durch einen Zentralserver nach Anspruch 23, durch ein Verfahren nach Anspruch 24 und durch ein Computerprogramm nach Anspruch 25 gelöst.
-
Ein Endgerät, das eine Kryptographieeinheit zum Verschlüsseln und Entschlüsseln von Nachrichten und eine Übermittlungseinheit zum Senden und Empfangen von Nachrichten umfasst, wird bereitgestellt. Die Übermittlungseinheit ist dafür eingerichtet, eine erste Nachricht zu einem Zentralserver zu senden. Ferner ist die Übermittlungseinheit dafür eingerichtet, eine zweite Nachricht von dem Zentralserver zu empfangen. Die Kryptographieeinheit ist dafür eingerichtet, eine Überprüfung der zweiten Nachricht basierend auf einer gesendeten Signatur durchzuführen und festzustellen, ob der Zentralserver die Signatur basierend auf einem zweiten gerätespezifischen Geheimnis, das für das Endgerät gerätespezifisch ist, erstellt hat. Ferner ist die Kryptographieeinheit dafür eingerichtet, die verschlüsselten Daten der zweiten Nachricht zu entschlüsseln, um das Geheimnis des Zentralservers zu erhalten und zu dem Zentralserver eine dritte Nachricht basierend auf dem ersten Geheimnis zu senden.
-
In Ausführungsformen wird ein Endgerät bereitgestellt, das eine Kryptographieeinheit zum Verschlüsseln und Entschlüsseln von Nachrichten und eine Übermittlungseinheit zum Senden und Empfangen von Nachrichten umfasst.
-
Die Übermittlungseinheit ist dafür eingerichtet, eine erste Nachricht zu einem Zentralserver zu senden, wobei die erste Nachricht einen Nachrichtenteil umfasst, der von dem Endgerät abhängt.
-
Ferner ist die Übermittlungseinheit dafür eingerichtet, eine zweite Nachricht von dem Zentralserver zu empfangen, die verschlüsselte Daten umfasst, in denen ein erstes Geheimnis des Zentralservers verschlüsselt ist, wobei die zweite Nachricht ferner eine von dem Zentralserver erstellte Signatur umfasst.
-
Die Kryptographieeinheit ist dafür eingerichtet, eine Überprüfung der zweiten Nachricht basierend auf der Signatur durchzuführen.
-
Der Weiteren ist die Kryptographieeinheit dafür eingerichtet, durch Überprüfung der zweiten Nachricht basierend auf der Signatur festzustellen, ob der Zentralserver die Signatur basierend auf einem zweiten gerätespezifischen Geheimnis, das für das qEndgerät gerätespezifisch ist, erstellt hat, um so zu überprüfen, ob der Zentralserver Zugriff auf das zweite gerätespezifische Geheimnis des Endgeräts hat.
-
Ferner ist die Kryptographieeinheit dafür eingerichtet, die verschlüsselten Daten der zweiten Nachricht zu entschlüsseln, um das Geheimnis des Zentralservers zu erhalten.
-
Die Übermittlungseinheit ist dafür eingerichtet, dem Zentralserver eine dritte Nachricht zu senden, die von dem ersten Geheimnis des Zentralservers abhängt, so dass für den Zentralserver feststellbar ist, dass das Endgerät die zweite Nachricht entschlüsselt hat.
-
Ausführungsformen stellen Konzepte zur vollautomatische Inbetriebnahme einer sicherheitskritischen Einheit bereit. Bei dieser Inbetriebnahme ist es nicht mehr erforderlich, dass die Einheit durch einen speziellen Prozess, eventuell in einer speziell geschützten Umgebung, des Kunden laufen muss. Vielmehr kann die Inbetriebnahme direkt am Einsatzort erfolgen. Weiterhin sind auf der auf der Einheit keine Kundendaten erforderlich, die eine direkte Vertrauensbeziehung zwischen der Einheit und anderen Komponenten beim Kunden erlauben. Die Anwesenheit eines Administrators vor Ort zur Konfiguration der sicherheitskritischen Einheit ist nicht erforderlich. Vielmehr erfolgt die Konfiguration vollautomatisch. Weiterhin ist es nicht notwendig, dass die Einheit beim Hersteller für einen bestimmten Einsatzzweck oder für einen bestimmten Kunden vorkonfiguriert wird.
-
Konzepte zum entfernten Inbesitznehmen einer sicherheitskritischen Einheit werden bereitgestellt. Ausführungsformen stellen Konzepte bereit, wie die Einheit sicher identifiziert wird und ein Geheimnis für die weitere Kommunikation etabliert wird. Hierbei wird explizit nicht angenommen, dass die Einheit vor der Ineinsatzbringung durch den Kunden in einer speziellen, sicheren Umgebung konfiguriert oder eine Vertrauensbeziehung aufgebaut wurde. Der Kunde ist somit in der Lage, die Geräte kostengünstig bezüglich der Ineinsatzbringung zu verwenden. Darüber hinaus skaliert diese Lösung für größere Installationen der sicherheitskritischen Einheiten.
-
Die bereitgestellten Konzepte lässt sich für beliebige Szenarien der Maschinen zu Maschinen Kommunikation wie z. B. einem entfernten Messgerät (SmartMeter) verwenden. Sie sind besonders geeignet für die Konfiguration von Einheiten zur vertraulichen Datenkommunikation
-
Des Weiteren wird ein System nach Anspruch 17, ein Zentralserver nach Anspruch 22, ein Verfahren nach Anspruch 23 und ein Computerprogramm nach Anspruch 24 bereitgestellt.
-
In einer Ausführungsform kann die Kryptographieeinheit dafür eingerichtet sein, die verschlüsselten Daten der zweiten Nachricht mit einem privaten ersten Schlüssel (EKpriv) eines ersten Schlüsselpaares des Endgeräts zu entschlüsseln, wobei das erste Schlüsselpaar des Endgeräts den privaten ersten Schlüssel (EKpriv) und einen öffentlichen zweiten Schlüssel (EKpub) umfasst, und wobei die verschlüsselten Daten der zweiten Nachricht mit dem öffentlichen zweiten Schlüssel (EKpub) des ersten Schlüsselpaares des Endgeräts verschlüsselt sind.
-
Gemäß einer weiteren Ausführungsform kann die Übermittlungseinheit dafür eingerichtet sein, die erste Nachricht (H(EKpub), M) zu einem Zentralserver zu senden, wobei der Nachrichtenteil (H(EKpub)) der ersten Nachricht, der von dem Endgerät abhängt, ein Fingerabdruck des öffentlichen zweiten Schlüssels (EKpub) des Endgeräts ist.
-
In einer Ausführungsform kann die Übermittlungseinheit dafür eingerichtet sein, dem Zentralserver die dritte Nachricht zu senden, die von dem ersten Geheimnis (Kownership) des Zentralservers dadurch abhängt, dass die dritte Nachricht das erste Geheimnis (Kownership) oder einen Hash-Wert des ersten Geheimnisses (Kownership) umfasst, so dass für den Zentralserver feststellbar ist, dass das Endgerät die zweite Nachricht entschlüsselt hat.
-
Gemäß einer Ausführungsform kann die Kryptographieeinheit dafür eingerichtet sein, durch Überprüfung der zweiten Nachricht basierend auf der Signatur dadurch durchzuführen, dass die Signatur unter Verwendung eines öffentlichen dritten Schlüssels (K Config / pub) eines zweiten Schlüsselpaares des Zentralservers überprüft wird, wobei das zweite Schlüsselpaar des Zentralservers den öffentlichen dritten Schlüssel (K Config / pub) und einen privaten vierten Schlüssel (K Config / pub) umfasst.
-
In einer Ausführungsform kann die Übermittlungseinheit dafür eingerichtet sein, in der ersten Nachricht eine Zufallszahl (M) an die Zentraleinheit zu übertragen. Die Kryptographieeinheit kann dabei dafür eingerichtet sein, durch Überprüfung der zweiten Nachricht basierend auf der Signatur festzustellen, ob der Zentralserver die Signatur basierend auf dem zweiten gerätespezifischen Geheimnis (Ndevice), das für das Endgerät gerätespezifisch ist, und basierend auf der Zufallszahl (M) erstellt hat.
-
Gemäß einer weiteren Ausführungsform kann die Übermittlungseinheit dafür eingerichtet sein, eine initialisierende Nachricht (H(EKpub), M) zu einem Init Server zu senden, wobei die erste Nachricht einen Nachrichtenteil (H(EKpub)) umfasst, der von dem Endgerät abhängt. Dabei kann die Übermittlungseinheit dafür eingerichtet sein, eine Antwortnachricht des Init Servers zu erhalten. Das Endgerät kann dafür eingerichtet sein, basierend auf der Antwortnachricht des Init Servers eine Adresse des Zentralservers (URLconfig) umfasst.
-
In einer Ausführungsform kann die Kryptographieeinheit dafür eingerichtet sein, die Antwortnachricht des Init Servers, die mit einem privaten Schlüssel des Init Servers verschlüsselt ist, unter Verwendung eines öffentlichen Schlüssels des Init Servers zu entschlüsseln, um die Adresse des Zentralservers (URLconfig) und den öffentlichen dritten Schlüssel (K Config / pub) des Zentralservers zu erhalten.
-
Gemäß einer Ausführungsform kann das Endgerät ferner ein Trusted Platform Module aufweisen. Dabei kann das Kryptographiemodul dazu eingerichtet sein, einen oder mehrere weitere Schlüsselpaare zu erzeugen.
-
Gemäß einer Ausführungsform kann das Kryptographiemodul dazu eingerichtet ist den einen oder mehrere weitere Schlüsselpaare unter Verwendung des Trusted Platform Module zu erzeugen.
-
In einer Ausführungsform kann die Kryptographieeinheit dafür eingerichtet ist, die einen oder mehreren weiteren Schlüsselpaare erst dann zu erzeugen, wenn die Kryptographieeinheit durch Überprüfung der zweiten Nachricht basierend auf der Signatur festgestellt hat, dass der Zentralserver die Signatur basierend auf dem zweiten gerätespezifischen Geheimnis (Ndevice), das für das Endgerät gerätespezifisch ist, erstellt hat.
-
Gemäß einer weiteren Ausführungsform kann das Kryptographiemodul dazu eingerichtet sein, ein Identitätsbeglaubigungsschlüssel-Schlüsselpaar (AIK) umfassend einen öffentlichen Identitätsbeglaubigungsschlüssel (AIKpub) und einen privaten Identitätsbeglaubigungsschlüssel (AIKpriv) als eines der weiteren Schlüsselpaare zu erzeugen.
-
In einer Ausführungsform kann das Kryptographiemodul dazu eingerichtet sein, ein etabliertes Schlüsselpaar (Kencrypt) als eines der weiteren Schlüsselpaare basierend auf dem öffentlichen Identitätsbeglaubigungsschlüssel (AIKpub) zu erzeugen, wobei das etablierte Schlüsselpaar (Kencrypt) einen öffentlichen etablierten Schlüssel (K encrypt / pub) und einen privaten etablierten Schlüssel umfasst, und wobei die Übermittlungseinheit dafür eingerichtet ist, den öffentlchen etablierten Schlüssel (K encrypt / pub) zu dem Zentralserver zu übertragen.
-
Gemäß einer weiteren Ausführungsform kann die Übermittlungseinheit dafür eingerichtet sein, einen Schlüssel von wenigstens einem der ein oder mehreren weiteren Schlüsselpaare zur Entschlüsselung einer geschützten Datenübertragung von dem Zentralserver zu dem Endgerät zu verwenden.
-
In einer weiteren Ausführungsform kann die Übermittlungseinheit dafür eingeirchtet sein, den privaten etablierten Schlüssel zur Entschlüsselung einer geschützten Datenübertragung von dem Zentralserver zu dem Endgerät zu verwenden.
-
Gemäß einer Ausführungsform kann das Endgerät dafür eingerichtet sein, durch bei der geschützten Datenübertragung übermittelte Konfigurationsdaten (KVPN) konfiguriert zu werden.
-
Ein System wird bereitgestellt. Das System umfasst ein Endgerät nach einer oben beschriebenen Ausführungsformen und einen Zentralserver.
-
In einer Ausführungsform kann das System dafür eingerichtet sein, eine sichere Datenverbindung zwischen dem Zentralserver und dem Endgerät herzustellen.
-
Gemäß einer Ausführungsform kann es sich bei dem Zentralserver des Systems um den Zentralserver handeln, von dem das Endgerät die zweite Nachricht empfängt.
-
In einer weiteren Ausführungsform des Systems umfasst das Endgerät die Kryptographieeinheit zum Verschlüsseln und Entschlüsseln von Nachrichten und die Übermittlungseinheit zum Senden und Empfangen von Nachrichten,
wobei die Übermittlungseinheit dafür eingerichtet sein kann, die erste Nachricht (H(EKpub), M) zu dem Zentralserver zu senden, wobei die erste Nachricht den Nachrichtenteil (H(EKpub)) umfasst, der von dem Endgerät abhängt,
wobei der Zentralserver dafür eingerichtet sein kann, die erste Nachricht (H(EKpub), M) von dem Endgerät zu empfangen,
wobei der Zentralserver dafür eingerichtet sein kann, basierend auf dem Nachrichtenteil (H(EKpub)), das Endgerät zu identifizieren, das erste Geheimnis (Kownership) des Zentralservers zu bestimmen, und zu dem Endgerät das zweite gerätespezifische Geheimnis (Ndevice), das für das Endgerät gerätespezifisch ist, zu ermitteln,
wobei der Zentralserver dafür eingerichtet sein kann, die zweite Nachricht zu dem Endgerät zu senden, die verschlüsselte Daten umfasst, in denen das erste Geheimnis (Kownership) des Zentralservers verschlüsselt ist, wobei die zweite Nachricht ferner die von dem Konfigurationsserver basierend auf dem zweiten gerätespezifischen Geheimnis (Kownership) erstellte Signatur umfasst,
wobei die Übermittlungseinheit dafür eingerichtet sein kann, die zweite Nachricht von dem Zentralserver zu empfangen,
wobei die Kryptographieeinheit dafür eingerichtet sein kann, die Überprüfung der zweiten Nachricht basierend auf der Signatur durchzuführen,
wobei die Kryptographieeinheit dafür eingerichtet sein kann, durch Überprüfung der zweiten Nachricht basierend auf der Signatur festzustellen, ob der Zentralserver die Signatur basierend auf einem zweiten gerätespezifischen Geheimnis (Ndevice), das für das Endgerät gerätespezifisch ist, erstellt hat, um so zu überprüfen, ob der Zentralserver Zugriff auf das zweite gerätespezifische Geheimnis (Ndevice) des Endgeräts hat,
wobei die Kryptographieeinheit ferner dafür eingerichtet sein kann, die verschlüsselten Daten der zweiten Nachricht zu entschlüsseln, um das Geheimnis des Zentralservers zu erhalten, und
wobei die Übermittlungseinheit dafür eingerichtet sein kann, dem Zentralserver die dritte Nachricht zu senden, die von dem ersten Geheimnis (Kownership) des Zentralservers abhängt, so dass für den Zentralserver feststellbar ist, dass das Endgerät die zweite Nachricht entschlüsselt hat.
wobei der Zentralserver (150) dafür eingerichtet ist, zu überprüfen, ob die dritte Nachricht in Abhängigkeit von dem ersten Geheimnis (Kownership) des Zentralservers (150) erstellt wurde, um so zu überprüfen, ob das Endgerät (100) die zweite Nachricht entschlüsselt hat.
-
In einer Ausführungsform umfasst der Zentralserver einen Konfigurationsserver und einen Endpunktmanager.
-
In einer weiteren Ausführungsform kann der Endpunktmanager eine Datenbank aufweisen Dabei kann der Endpunktmanager dafür eingerichtet sein, anhand eines Nachrichtenteils (H(EKpub)) einer ersten Nachricht von dem Endgerät zu überprüfen, ob zu dem Endgerät ein erstes Geheimnis (Ndevice) des Endgeräts in seiner Datenbank gespeichert ist.
-
Ein Zentralserver wird bereitgestellt, der einen Konfigurationsserver und einen Endpunktmanager umfasst. Der Konfigurationsserver ist dafür eingerichtet, eine erste Nachricht (H(EKpub), M) von einem Endgerät zu empfangen, wobei die erste Nachricht einen Nachrichtenteil (H(EKpub)) umfasst, der von dem Endgerät abhängt.
-
Der Endpunktmanager ist ferner dafür eingerichtet, basierend auf dem Nachrichtenteil (H(EKpub)), der von dem Endgerät abhängig ist, das Endgerät zu identifizieren, ein erstes Geheimnis (Kownership) des Zentralservers zu bestimmen und zu dem Endgerät ein zweites gerätespezifischen Geheimnis (Ndevice), das für das Endgerät gerätespezifisch ist, zu ermitteln.
-
Der Konfigurationsserver ist dafür eingerichtet, eine zweite Nachricht zu dem Endgerät zu senden, die verschlüsselte Daten umfasst, in denen das erste Geheimnis (Kownership) des Zentralservers verschlüsselt ist, wobei die zweite Nachricht ferner eine von dem Konfigurationsserver basierend auf dem zweiten gerätespezifischen Geheimnis (Kownership) erstellte Signatur umfasst.
-
Ferner ist der Konfigurationsserver dafür eingerichtet, eine dritte Nachricht von dem Endgerät zu erhalten.
-
Des Weiteren ist der Konfigurationsserver dafür eingerichtet, zu überprüfen, ob die dritte Nachricht in Abhängigkeit von dem ersten Geheimnis (Kownership) des Zentralservers erstellt wurde, um so zu überprüfen, ob das Endgerät die zweite Nachricht entschlüsselt hat.
-
Ein Verfahren zum Aufbau einer sicheren Verbindung wird bereitgestellt. Das Verfahren umfasst:
- – Senden einer ersten Nachricht (H(EKpub), M) von einer Übermittlungseinheit eines Endgeräts zu einem Zentralserver, wobei die erste Nachricht einen Nachrichtenteil (H(EKpub)) umfasst, der von dem Endgerät abhängt.
- – Empfangen einer zweiten Nachricht von dem Zentralserver durch die Übermittlungseinheit, wobei die zweite Nachricht verschlüsselte Daten umfasst, in denen ein erstes Geheimnis (Kownership) des Zentralservers verschlüsselt ist, wobei die zweite Nachricht ferner eine von dem Zentralserver erstellte Signatur umfasst,
- – Überprüfung der zweiten Nachricht basierend auf der Signatur durch eine Kryptographieeinheit des Endgeräts,
- – Überprüfung der Signatur der zweiten Nachricht durch die Kryptographieeinheit, um festzustellen, ob der Zentralserver die Signatur basierend auf einem zweiten gerätespezifischen Geheimnis (Ndevice), das für das Endgerät gerätespezifisch ist, erstellt hat, um so zu überprüfen, ob der Zentralserver Zugriff auf das zweite gerätespezifische Geheimnis (Ndevice) des Endgeräts hat,
- – Entschlüsselung der verschlüsselten Daten der zweiten Nachricht durch die Kryptographieeinheit, um das Geheimnis des Zentralservers zu erhalten, und
- – Senden einer dritten Nachricht durch die Übermittlungseinheit an den Zentralserver, die von dem ersten Geheimnis (Kownership) des Zentralservers abhängt, so dass für den Zentralserver feststellbar ist, dass das Endgerät die zweite Nachricht entschlüsselt hat.
-
Ein Computerprogramm zur Durchführung des oben beschriebenen, wenn das Computerprogramm auf einem Computer oder Signalprozessor ausgeführt wird, Verfahrens wird bereitgestellt.
-
Bevorzugte Ausführungsformen finden sich in den abhängigen Ansprüchen.
-
Im Folgenden werden Ausführungsbeispiele unter Bezugnahme auf die Zeichnungen erläutert, wobei
-
1a ein Endgerät gemäß einer Ausführungsform zeigt, das mit einem Zentralserver kommuniziert,
-
1b einen Zentralserver gemäß einer Ausführungsform zeigt,
-
2 die Komponenten einer Infrastruktur zur Konfiguration eines VPN Endgeräts gemäß einer Ausführungsform zeigt,
-
3 ein Protokoll zur Ermittlung eines Endpunkts gemäß einer Ausführungsform zeit,
-
4 einen zusätzlichen Handshake zur Überprüfung eines Endgeräts gemäß einer Ausführungsform zeigt,
-
5a ein Protokoll zur Etablierung von Vertrauen in den Endpunkt gemäß einer Ausführungsform zeigt,
-
5b einen ersten Teil des Protokolls der 5a zur Etablierung von Vertrauen in den Endpunkt gemäß einer Ausführungsform zeigt,
-
5c einen zweiten Teil des Protokolls der 5a zur Etablierung von Vertrauen in den Endpunkt gemäß einer Ausführungsform zeigt,
-
6 ein Protokoll zur Geheimnisetablierung gemäß einer Ausführungsform zeigt, und wobei
-
7 die Vernichtung einer Identität gemäß einer Ausführungsform zeigt.
-
1a zeigt ein Endgerät 100, das eine Kryptographieeinheit 110 zum Verschlüsseln und Entschlüsseln von Nachrichten und eine Übermittlungseinheit 120 zum Senden und Empfangen von Nachrichten umfasst.
-
Die Übermittlungseinheit 120 ist dafür eingerichtet, eine erste Nachricht zu einem Zentralserver 150 zu senden, wobei die erste Nachricht einen Nachrichtenteil umfasst, der von dem Endgerät 100 abhängt.
-
Ferner ist die Übermittlungseinheit 120 dafür eingerichtet, eine zweite Nachricht von dem Zentralserver 150 zu empfangen, die verschlüsselte Daten umfasst, in denen ein erstes Geheimnis des Zentralservers 150 verschlüsselt ist, wobei die zweite Nachricht ferner eine von dem Zentralserver 150 erstellte Signatur umfasst.
-
Die Kryptographieeinheit 110 ist dafür eingerichtet, eine Überprüfung der zweiten Nachricht basierend auf der Signatur durchzuführen.
-
Der Weiteren ist die Kryptographieeinheit 110 dafür eingerichtet, durch Überprüfung der zweiten Nachricht basierend auf der Signatur festzustellen, ob der Zentralserver 150 die Signatur basierend auf einem zweiten gerätespezifischen Geheimnis, das für das Endgerät gerätespezifisch ist, erstellt hat, um so zu überprüfen, ob der Zentralserver 150 Zugriff auf das zweite gerätespezifische Geheimnis des Endgeräts 100 hat.
-
Ferner ist die Kryptographieeinheit 110 dafür eingerichtet, die verschlüsselten Daten der zweiten Nachricht zu entschlüsseln, um das Geheimnis des Zentralservers 150 zu erhalten.
-
Die Übermittlungseinheit ist dafür eingerichtet, dem Zentralserver 150 eine dritte Nachricht zu senden, die von dem ersten Geheimnis des Zentralservers 150 abhängt, so dass für den Zentralserver 150 feststellbar ist, dass das Endgerät 100 die zweite Nachricht entschlüsselt hat.
-
1b zeigt den Aufbau eines Zentralservers 150 gemäß einer Ausführungsform, der mit einem Endgerät 100 kommuniziert. Der Zentralserver 150 umfasst einen Konfigurationsserver 230 und einen Endpunkt-Manager 240. Der Konfigurationsserver 230 greift auf den Endpunkt-Manager 240 zu, der Endpunkt-Manager 240 liefert gespeicherte und berechnete Werte zum Konfigurationsserver 230. Ausführungsformen des Konfigurationsservers 230 bzw. des Endpunkt-Managers 240 werden im Folgenden näher erläutert.
-
Nachfolgend werden Konzepte zur Inbetriebnahme eines Geräts innerhalb eines Maschinen zu Maschinen Szenarios erläutert, insbesondere ein Konzepte, bei denen das Gerät einen VPN Kanal zu einer zentralen Einheit etablieren kann. Die hierfür benötigten Geheimnisse des Kunden werden während der Inbetriebnahme z. B. über ein unsicheres Netz, beispielsweise über das Internet, auf das Gerät verbracht, und nicht durch ein direktes Verfahren wie z. B. Datenträger eingebracht. Das Konzept lässt sich für beliebige Szenarien der Maschinen zu Maschinen Kommunikation wie z. B. einem entfernten Messgerät (SmartMeter) verwenden.
-
Nachfolgend werden Ausführungsformen erläutert, die die Konzepte beispielhaft unter Verwendung eines VPN und unter Verwendung eines TPM (Trusted Platform Module) erklärt und TPM-spezifische Implementierungsvarianten erläutern. Das Trustet Platform Module ist dabei ein Chip gemäß der TCG (Trusted Computing Group) Spezifikation, der umfassende Sicherheitsfunktionen bietet. Alternative Ausführungsformen nutzen hingegen beispielsweise eine Trusted Execution Environment (Vertrauens-Ausführungsumgebung), z. B. TrustZone®.
-
Zunächst wird durch 2 eine Architektur erläutert, die zur Konfigurierung einer sicherheitskritischen Einheit gemäß einer Ausführungsform bereitgestellt wird. Die sicherheitskritische Einheit ist in dieser Ausführungsform ein VPN Endgerät 210, auch als VPN Client bezeichnet, das konfiguriert werden soll.
-
Das VPN Endgerät 210 ist eingebettet in eine Infrastruktur, die gegenüber dem VPN Endgerät 210 verschiedene Dienste zur Verfügung stellt. Komponenten sind hierbei ein Init Server 220, ein Konfigurationsserver 230 sowie ein VPN Endpunkt in Form eines VPN Gateways 250.
-
Im Folgenden werden die Komponenten und ihre jeweilige Funktion aus Sicht des VPN Endpunktes 250 dargestellt. Die Komponenten der VPN Infrastruktur werden in 2 mit ihren logischen Verbindungen dargestellt. Die jeweiligen Protokolle zwischen den Komponenten werden weiter unten detailliert erläutert.
-
Wenn im Folgenden Bezug auf einen Konfigurationsserver 230 und einen Endpunktmanager 240 genommen wird, so gelten die in den nachfolgenden Ausführungsbeispielen gemachten Aussagen ebenso für einen Zentralserver 150, der entweder den Konfigurationsserver 230 und den Endpunktmanager 240 umfasst, oder der lediglich die Funktionalität des Konfigurationsservers 230 und des Endpunktmanagers 240 realisiert, ohne einen Konfigurationsserver 230 und einen Endpunktmanager 240 als separate Einheiten zu umfassen.
-
VPN Endpunkt: Der VPN Endpunkt steht im Zentrum der Betrachtung und muss vor dem eigentlichen Nutzbetrieb entsprechend konfiguriert werden. Die Konfigurationsdaten bestehen aus einer VPN Endpunktadresse, speziellen VPN Einstellungen sowie benötigten VPN Geheimnissen.
-
Init Server 220: Der Init Server 220 wird zunächst vom VPN Endgerät 210 kontaktiert, um so den Konfigurationsserver (= Config Server) 230 zu ermitteln.
-
Konfigurationsserver (= Config Server) 230: Der Konfigurationsserver 230 stellt dem VPN Endgerät 210 die speziellen VPN Konfigurationsdaten sowie die geräteeindeutigen Geheimnisse bereit, die für den Aufbau des VPN Kanals gegenüber dem VPN Gateway 250 benötigt werden. In einer Ausführungsform wird der Konfigurationsserver 230 beispielsweise unter der Adresse des VPN Endpunktes 250 erreicht.
-
VPN Gateway 250: Der eigentliche VPN Kanal wird zwischen dem VPN Endgerät 210 und dem VPN Gateway aufgebaut 250. Hierfür werden die mit dem Konfigurationsserver 230 etablierten Geheimnisse verwendet. Für die eigentliche Etablierung des VPN Kanals wird kein weiterer Kontakt zum Init Server 220 oder zum Konfigurationsserver 230 benötigt.
-
Endpunktmanager (Endpoint Manager) 240: Der Endpunktmanager 240 (EM = Endpunkt Manager) verwaltet die VPN Endgeräte und deren Geheimnisse auf Seiten der zentralen Infrastruktur.
-
Der Lebenszyklus des VPN Endgerätes 210, das von Ausführungsformen bereitgestellt wird, teilt sich auf in die Phasen Produktion, Registrierung durch den Kunden, Ineinsatzbringung durch den Benutzer, der Betrieb des Gerätes, Wartung sowie Außerdienststellung. Nachfolgend wird jede Phase eingeführt und der Ablauf verdeutlicht. Ein besonderes Augenmerk liegt hierbei in der Erzeugung, Verwendung und Vernichtung von Schlüsseln und weiteren Geheimnissen, die für den Betrieb des VPN Endgerätes 210 gemäß bereitgestellter Ausführungsformen erforderlich sind.
-
Der Lebenszyklus berücksichtigt dabei die Ineinsatzbringung des Endgerätes 210 in einer speziellen Umgebung sowie vor Ort beim Benutzer. Hierbei ist die Ineinsatzbringung direkt beim Benutzer besonders vorteilhaft.
-
Zunächst werden Aspekte der Produktion des VPN Endgeräts 210 betrachtet. An die Produktion bestehen die folgenden Anforderungen. Das VPN Endgerät 210 sollte einen asymmetrischen Schlüssel tragen, der nur durch das VPN Endgerät 210 verwendet werden kann. Es kann ein Hardware geschützter Vertrauensanker z. B. in Form eines Trusted Plattform Modul (TPM) in das Gerät eingebettet werden, der den Schutz des Schlüssels garantiert als technische Realisierung der Anforderung. Da das TPM bereits mit einem EK Schlüsselpaar (Endorsement Key Schlüsselpaar = Bestätigungsschlüssel-Schlüsselpaar) sowie optional auch einem EK Zertifikat ausgeliefert wird, sind in diesem Schritt keine weiteren Aktionen bezüglich des TPM erforderlich. Das EK Schlüsselpaar umfasst dabei einen privaten Schlüssel EKpriv und einen öffentlichen Schlüssel EKpub. Der öffentliche Schlüssel EKpub wird den Kommunikationspartnern des VPN Endgeräts mitgeteilt, damit die Kommunikationspartner Nachrichten für das VPN Endgerät mit Hilfe des öffentlichen Schlüssels EKpub verschlüsseln können. Der private Schlüssel EKpriv ist nur dem VPN Endgerät bekannt und wird vom VPN Endgerät zum Entschlüsseln der mit dem öffentlichen Schlüssel verschlüsselten Nachrichten verwendet. Falls das TPM nicht mit einem öffentlichen Schlüssel ausgeliefert wird, bieten sich andere Lösungswege, z. B. die Erstellung eines Zertifikates durch den Hersteller, oder z. B. das Erstellen lassen eines Zertifikats durch einen externen Anbieter mit dem korrespondierenden, öffentlichen Schlüssel EKpub.
-
Am Ende der Fertigung bringt der Hersteller (bzw. der Hardwarelieferant) des VPN Endgeräts 210 am VPN Endgerät 210 eine Markierung an, die die Seriennummer des Gerätes beinhaltet. Als Seriennummer wird der Fingerabdruck EKprint des öffentlichen Schlüssels EKpub des EK-Schlüsselpaares gewählt, und später in der Registrierung sowie bei der Ineinsatzbringung verwendet. Darüber hinaus wird ein gerätespezifisches Geheimnis Ndevice erzeugt und mit dem Gerät getrennt mitgeliefert sowie auf dem VPN Endgerät geschützt gespeichert. Ein solches gerätespezifisches Geheimnis kann zum Beispiel eine Zahl, eine Ziffernfolge, eine Zeichenfolge oder eine beliebige Bitfolge sein. Für den späteren Registrierungsprozess ist es vorteilhaft, wenn diese Informationen als QR Code (QR = Quick Response = Schnelle Antwort) ausgefertigt werden.
-
Der Hersteller verankert (speichert) eine bekannte URL URLknow zum Init Server 220 sowie das Zertifikat bzw. die Zertifikate des Init Servers 220 auf dem VPN Endgerät 210, die für alle Geräte statisch und nicht kundenspezifisch ist.
-
Nachfolgend wird die Registrierung des VPN Endgeräts 210 beschrieben. Der Kunde, z. B. eine Behörde, erfasst die (z. B. als QR Code angefertigten) Daten des Endgeräts und fügt diese in eine entsprechende Datenbank ein. Hierbei haben die erfassten Daten die folgenden Aufgaben:
EKprint: Der Fingerabdruck H(EKpub) des EKpub (eine Hash-Funktion des EKpub) wird zur Identifikation des Endgerätes verwendet. Hierbei wird der Fingerabdruck im Rahmen der Ineinsatzbringung mit dem Fingerabdruck des EKpub verglichen und somit die Identität des VPN Endgerätes ermittelt. Es ist hierbei zu beachten, dass angenommen wird, dass der EKpriv durch den TPM geschützt wird. Ein entsprechendes Challenge-Response Protokoll wird verwendet.
-
Ndevice: Dieses Geheimnis ist dem einzelnen VPN Endgerät 210 bekannt und wird im nächsten Schritt dazu verwendet, dass das VPN Endgerät 210 prüfen kann, dass es mit einer Infrastruktur des Kunden kommuniziert. Es wird hierbei davon ausgegangen, dass nur dem Kunden Ndevice mitgeteilt wurde. Ziel ist es, Angriffe auf beliebige Geräte zu verhindern. Für einen Angriff müsste der Angreifer zunächst in Besitz von Ndevice des speziellen Gerätes kommen. Ndevice wird zum Nachweis der Autorisation des Konfigurationsservers 230 verwendet, dass der Konfigurationsserver 230 das VPN Endgerät 210 konfigurieren darf.
-
Zur Ineinsatzbringung des Endgeräts ist das frisch ausgelieferte und registrierte VPN Endgerät zu konfigurieren.
-
Ansätze nach dem Stand der Technik würden hierzu die Konfigurationsdaten im Rahmen eines externen Prozesses auf das Endgerät übertragen, bei dem ein Administrator beim Endgerät vor Ort die Konfigurationsdaten z. B. mittels eines USB Speichergeräts auf das Endgerät überträgt. Hierbei muss dann dieser externe Prozess ebenfalls auf dessen Sicherheit betrachtet werden. Die händische Konfiguration per USB Stick aufwändig und muss zudem bei jeder Konfigurationsänderung von IT Personal vor Ort durchgeführt werden.
-
Ausführungsformen der Erfindung realisieren dagegen einen integrierten Prozess, bei dem die Konfiguration über das Netz durchgeführt wird.
-
Im Folgenden werden Ausführungsformen zur Ineinsatzbringung des VPN Endgeräts 210 erläutert. Der Schritt der Ineinsatzbringung zielt auf die Etablierung eines Vertrauensverhältnisses zwischen dem VPN Endgerät 210 sowie der Infrastruktur des Kunden ab. Hierbei ist es ein zentrales Ziel, die VPN Geheimnisse auf dem VPN Endgerät 210 zu etablieren, sowie geschützt dort zu verwahren. Das Protokoll zu Ineinsatzbringung besteht aus den Phasen Endpunktermittlung, Vertrauensetablierung und Geheimnisetablierung.
-
In der Endpunktermittlung wird dem VPN Endgerät 210 mitgeteilt, mit welchem Endpunkt sich das Gerät in Zukunft verbinden soll und somit auch von welchem VPN Endgerät die VPN Geheimnisse stammen. Im nächsten Schritt wird ein Vertrauensverhältnis zwischen dem VPN Endgerät 210 und dem VPN Endpunkt erstellt. Dieses Vertrauen beruht auf der Identität des Endgerätes 210 sowie dessen nachgewiesener Softwarekonfiguration. Wenn das Vertrauen etabliert ist werden die Geheimnisse des VPN auf das VPN Endgerät 210 übertragen und dort geschützt gespeichert (Geheimnisetablierung).
-
Nachfolgend wird nun die Endpunktermittlung beschrieben.
-
Bei der Endpunktermittlung wird der VPN Endpunkt für das jeweilige VPN Endgerät 210 festgelegt. Diese Information wird unter Verwendung der bekannten Adresse URLknown ermittelt. Hierbei kontaktiert das VPN Endgerät 210 URLknown und legt EKprint vor. Die Antwort besteht aus der URL des VPN Endpunktes URLconfig. URLknown wird durch den Hersteller oder einen Dienstleister betrieben, der die Zuordnung der VPN Endgeräte zu Endpunkten kennt.
-
Falls das VPN Endgerät 210 zu einem neuen Endpunkt zugeordnet werden muss, so ist dies bei URLknown zu hinterlegen und der Zugang zum VPN dem VPN Endgerät 210 zu verwehren. In diesem Fall versucht das VPN Endgerät 210 den Endpunkt neu zu ermitteln und startet danach die Vertrauensetablierung mit dem neuen Endpunkt.
-
Das Protokoll für die Endpunktermittlung ist in 3 dargestellt. Hierbei ist auf Seiten des VPN Endgerätes 210 folgendes Wissen etabliert worden:
EK: Das VPN Endgerät 210 hat einen aktivierten TPM mit eingebrachten Endorsement Key. Zu diesem EK ist der öffentliche Teil des Schlüssels bekannt. Der private Teil ist im TPM verwahrt und kann diesen nicht verlassen. Das Ändern des EK ist im TPM deaktiviert, so dass der EK eine eindeutige und nicht änderbare Identität des Gerätes darstellt.
-
K Init / pub : Öffentlicher Schlüssel des Init Servers 220. Dieser Schlüssel wird ebenfalls fest in dem VPN Endgerät 210 verbaut (gespeichert) und ist optional. Falls kein K Init / pub bekannt ist, so werden die Informationen des Init Servers nicht signiert und ein Angriff auf den Kanal des Init Servers wird möglich.
-
Der Init Server 220 URLknown hat die Aufgabe, als erster Kontaktpunkt die Adresse URLconfig sowie ein Geheimnis (wie z. B. ein Zertifikat) zur Identifikation des Konfigurationsservers 230 dem VPN Endgerät 210 zu liefern.
-
EK: Der Init Server 220 kennt die ausgelieferten VPN Endgeräte 210 und deren EKpubs. Er ist in der Lage die zugeordneten Konfigurationsserver 230 zu bestimmen.
-
K Config / pub : Zu jedem Konfigurationsserver 230 kann ein entsprechender öffentlicher Schlüssel bzw. Zertifikat zugeordnet werden. (Realisiert ein Zentralserver 150 die Funktionalität des Konfigurationsservers 230, so kann K Config / pub als ein öffentlicher Schlüssel des Zentralservers 150 angesehen werden).
-
URLconfig: Zu jedem Konfigurationsserver 230 (bzw. zu jedem Zentralserver 150) kann eine URL zugeordnet werden.
-
K Config / pub : Der Init Server kennt einen privaten asymmetrischen Schlüssel. Der öffentliche Teil ist dem VPN Endgerät bekannt.
-
Das in 3 dargestellt Protokoll beschreibt die Interaktion zwischen VPN Endgerät 210 und dem Init Server 220. Die Operation H() beschreibt hierbei eine Hash-Operation wie SHA-1. SK() ist eine digitale Signatur unter Verwendung des Schlüssels K. Der Init Server 220 ist im Szenario des offenen Betriebs unter der URLknown zu erreichen. Der Init Server 220 wird hierbei durch den Hersteller bzw. einer weiteren legitimierten Firma betrieben. Hierbei beinhaltet gilt es den Init Server 220 mit nur einem Minimum an Geheimnissen auszurüsten. Zum Schutz der Daten für den Einsatz im öffentlich erreichbaren Internet gilt es zu überprüfen, z. B. per Challenge, ob das Endgerät EKpriv besitzt. Somit ist dann die Echtheit des TPM nachgewiesen. Hierzu kann ein TPM_TakeOwnership (Operation TO()) durchgeführt werden und ein entsprechender Handshake eingesetzt, welches in 4 skizziert ist. Bei diesem Protokoll ist zu beachten, dass das Ergebnis des finalen Owner Clear ebenfalls an den Init Server 220 übermittelt werden muss. M ist eine Nachricht an den Init Server 220 sowie eine Zufallszahl, die in der Antwort wieder zurück gesendet wird zum Nachweis der Frische der Antwort.
-
5a ist eine Gesamtdarstellung der Vertrauensetablierung. Zur besseren Illustration ist der obere Teil von 5a (der erste Teil der Vertrauensetablierung) in 5b dargestellt. Der untere Teil von 5a (der zweite Teil der Vertrauensetablierung) ist in 5c dargestellt.
-
Bei der Vertrauensetablierung wird zunächst der Konfigurationsserver 230 unter der Adresse URLconfig durch das VPN Endgerät 210 kontaktiert (bzw. der Zentralserver 150 wird unter der Adresse URLconfig kontaktiert, wenn dieser die Funktionalität des Konfigurationsservers 230 realisiert). Hierbei werden folgende Schritte durchgeführt.
- 1. Das Endgerät 210 überträgt H(EKpub) sowie optional das EK Zertifikat.
- 2. Auf Seiten der Infrastruktur wird das Zertifikat geprüft sowie kontrolliert, ob ein passender EKprint registriert wurde. Darüber hinaus wird Ndevice aus der Datenbank ermittelt. Es ist zu beachten, dass prinzipiell das EK Zertifikat nicht benötigt wird, da das Gerät 210 bereits über EKprint beim Kunden registriert ist. Da das EK Zertifikat durch den Hersteller des TPM bereits erzeugt und von diesem erstellt wird, wird durch die Verwendung des EK Zertifikates keine weitere Zertifikatserstellung auf Seiten von des Herstellers oder dem Hardwarelieferanten nötig.
- 3. Die Infrastruktur erstellt ein TPM Ownergeheimnis Sowner und speichert dieses in der Datenbank.
- 4. Etablierung einer OIAP Session mit dem TPM in der der TPM_TakeOwnership ausgeführt wird unter Verwendung des Sowner. Der Rückgabewert des TPM_TakeOwnership ist geeignet, die Identität des TPM sicher festzustellen.
-
Das Ergebnis dieser Schritte ist ein vollständig aktivierter TPM, der durch den Kunden in Besitz genommen wurde. Alle benötigten Geheimnisse werden ausschließlich durch den Kunden erstellt und verwahrt. Darauf aufbauend muss ein Identitätsbeglaubigungsschlüssel (= Attestation Identity Key) (AIK) etabliert werden.
-
In den 5a, 5b und 5c wird das Protokoll für die Vertrauensetablierung dargestellt. Dieses setzt das in 3 vorgestellte Protokoll zur Endpunktermittlung voraus. Folgendes Wissen muss für das Protokoll zur Vertrauensetablierung zusätzlich auf dem VPN Endgerät 210 etabliert sein:
EKZertifikat: Das EK Zertifikat ist durch den TPM Hersteller oder den Hersteller der Einheit ausgestellt und bestätigt, dass der vorliegende TPM eine Hardwareentität ist.
-
Ndevice: Eine Zufallszahl, die in der Produktion erstellt wurde, und getrennt mit dem Gerät ausgeliefert wird sowie im VPN Endgerät 210 verwahrt wird. Diese Zahl ist nicht gesondert zu schützen im VPN Endgerät 210.
-
K Config / pub : Im vorherigen Schritt wurde der öffentliche Schlüssel des Konfigurationsservers 230 auf dem VPN Endgerät 210 abgelegt. Dieser wird verwendet um die Antworten des Konfigurationsserver 230 zu verifizieren. (Realisiert ein Zentralserver 150 die Funktionalität des Konfigurationsservers 230, so kann K Config / pub als ein öffentlicher Schlüssel des Zentralservers 150 angesehen werden).
-
Auf dem Konfigurationsserver 230 wird folgendes vorausgesetzt: H(EKpub): Der Konfigurationsserver 230 kann die ausgelieferten VPN Endgeräte 210 und deren H(EKpub)s ermitteln mit Hilfe des Endpunktmanagers (EM) 240. Somit können nicht legitimierte Anfragen bereits frühzeitig erkannt werden.
-
Der Endpunktmanager 240 (bzw. der Zentralserver 150) kennt:
EKpub: Der Endpunktmanager 240 kennt die EKpubs der ausgerollten Geräte und somit die Identitäten der einzelnen VPN Endgeräte 210.
-
Ndevice: Getrennt vom VPN Endgerät 210 wird dem Endpunktmanager 240 das gerätespezifische Geheimnis Ndevice für jeden EK mitgeteilt. Dieser wird eingesetzt, um dem VPN Endgerät 210 die Legitimation des Endpunktmanager 240 nachzuweisen ein Geheimnis zu etablieren.
-
K Config / priv : Privater Schlüssel des Endpunktmanagers 240 mit dem der Endpunktmanager 240 die Antwort signiert. Realisiert ein Zentralserver 150 die Funktionalität des Konfigurationsservers 230 und des Endpunktmanagers 240 oder umfasst ein Zentralserver 150 den Konfigurationsserver 230 und den Endpunktmanager 240, so kann K Config / priv als ein privater Schlüssel des Zentralservers 150 angesehen werden.
-
PCR: Dem Endpunktmanager 240 sind optional die Platform Configuration Register (PCR) Referenzwerte der eingesetzten VPN Endgeräte 210 bekannt. Hierdurch ist die Infrastruktur in der Lage die Konfiguration sowie die Unveränderheit des VPN Endgerätes 210 zu überprüfen.
-
Nachfolgend werden die 5a–5c detailliert beschrieben, die das Protokoll zur Etablierung von Vertrauen zwischen dem VPN Endgerät und Endpunktmanager darstellen. Hierbei sind das VPN Endgerät 210, der Endpunktmanager 240 sowie des Konfigurationsserver 230, die durch langgezogene Balken dargestellt sind, in diesem Prozess beteiligt. Das TPM 215 ist in den 5b und 5c jeweils durch die kleinen Blöcke dargestellt, die sich an dem langgezogenen Balken befinden, der das VPN Endgerät 210 repräsentiert. Die Aufgaben von Konfigurationsserver 230 und Endpunktmanager 240 können auch durch einen Zentralserver 150 realisiert werden, bzw. ein Zentralserver 150 kann den Konfigurationsserver 230 und Endpunktmanager 240 umfassen.
-
Bei der Vertrauensetablierung übernimmt der Konfigurationsserver 230 die Operationen zur Ermittlung des Vertrauens, bevorratet aber keine Geheimnisse, wenn diese nicht aktuell verwendet werden. Das Protokoll ist aufgeteilt in die Phase der Besitznahme sowie die Phase der AIK Registrierung.
-
In 5b ist der erste Teil der Vertrauensetablierung gezeigt.
-
Als Vorbereitung überträgt das VPN Endgerät 240 einen Hash über den EKpub (siehe Pfeil 501). Dieser wird im Folgenden zur Identifikation des Gerätes verwendet. Daneben wird noch eine Zufallszahl M erzeugt und übertragen, die die Session identifiziert und ein Wiedereinspielen der Antworten verhindert.
-
Die Inbesitznahme des TPM 215 startet durch die Übertragung des H(EKpub) an den Endpunktmanager 240 durch den Konfigurationsserver 230 (siehe Pfeil 503).
-
Der Endpunktmanager 240 ermittelt aufgrund dieser Anfrage den EKpub in seiner Datenbank und erzeugt ein Geheimnis Kownership für den Take Ownership Prozess (siehe Pfeile 505 und 506).
-
Kownership wird dann mit Hilfe des EKpub verschlüsselt. Darüber hinaus wird eine Signatur über den verschlüsselten Kownership sowie M und Ndevice erstellt unter Verwendung von K Config / priv . Das verschlüsselte Kownership sowie dessen Signatur werden über den Konfigurationsserver 230 an das VPN Endgerät 240 übertragen (siehe Pfeile 508 und 509).
-
Eine Signatur von Kownership sowie M und Ndevice kann gemäß einer Ausführungsform dadurch realisiert werden, dass Kownership sowie M und Ndevice konkateniert, anschließend unter Anwendung einer Hash-Funktion gehasht und dann unter Verwendung von K Config / priv verschlüsselt werden.
-
Eine Signatur von Kownership und Ndevice kann gemäß einer Ausführungsform dadurch realisiert werden, dass Kownership und Ndevice konkateniert, anschließend unter Anwendung einer Hash-Funktion gehasht und dann unter Verwendung von K Config / priv verschlüsselt werden.
-
Das VPN Endgerät 210 überprüft zunächst die Signatur. Hierbei werden M und N geprüft, so dass ein Wiedereinspielen nicht möglich ist und der Endpunktmanager 240 den Besitz von N nachgewiesen hat.
-
Nach erfolgreicher Signaturprüfung wird ein TPM_TakeOwnership durchgeführt unter Verwendung von
(Pfeil
512). Hierzu wird das TPM
215 des VPN Endgeräts
210 aufgerufen.
-
Das Ergebnis der Operation, das das VPN Endgerät 210 von seinem TPM 215 erhält (siehe Pfeil 513), wird dann über den Konfigurationsserver 230 an den Endpunktmanager 240 zurück übermittelt (siehe Pfeile 515 und 516). Der Endpunktmanager 240 prüft dieses Ergebnis. Hierdurch ist geprüft, dass mit dem korrekten TPM 215 kommuniziert wurde. Das Geheimnis Kownership kann nun persistiert werden. Die Inbesitznahme ist durch diesen Schritt abgeschlossen. Der Abschluss der Inbesitznahme kann dem VPN Endgerät mitgeteilt werden (Pfeile 518 und 519).
-
2 zeigt als einen zweiten Teil der Vertrauensetablierung die AIK Etablierung. Die AIK Etablierung beginnt mit dem Erzeugen eines AIK auf Seiten des VPN Endgerätes 210 unter Beteiligung des TPM 215 (siehe Pfeil 521, 522). Wiederum können die Aufgaben von Konfigurationsserver 230 und Endpunktmanager 240 auch durch einen Zentralserver 150 realisiert werden, bzw. ein Zentralserver 150 kann den Konfigurationsserver 230 und Endpunktmanager 240 umfassen.
-
Da im Schritt Geheimnisetablierung eine Übertragung eines Schlüssels an das TPM notwendig ist, wird ebenfalls ein Kencrypt im TPM erzeugt und durch den AIK zertifiziert (siehe Pfeile 524, 525).
-
Der K encrypt / pub , AIK sowie die Signatur SAIK(K encrypt / pub) werden dann an den Konfigurationsserver 230 gesendet (siehe Pfeil 527).
-
Um sicher zu stellen, dass die Kommunikation tatsächlich mit dem gewünschten TPM stattfindet, wird zunächst noch ein Handshake zwischen dem Konfigurationsserver 230 und dem VPN Endgerät 210 durchgeführt. Hierbei erzeugt der Konfigurationsserver 230 eine Zufallszahl Rverify (siehe Pfeile 531, 532). Dann verschlüsselt er diese mit dem EKpub und übermittelt diese an das VPN Endgerät 210 (siehe Pfeil 535). Nun wird dort der TPM_MakeIdentity Befehl durchgeführt, der Rverify, zurück gibt (siehe Pfeile 537, 538). Rverify wird dann an den Konfigurationsserver 230 übermittelt (siehe Pfeil 542) und der Nachweis der TPM Identität ist durchgeführt.
-
Sobald die Identität des TPM nachgewiesen ist übermittelt der Konfigurationsserver 240 die AIKpub, M und H(EKpub) an den Endpunktmanager 240 (siehe Pfeil 551). Der Endpunktmanager 240 berechnet daraufhin ein entsprechendes Antwortpaket und hinterlegt den AIKpub in der Datenbank. Dieses Antwortpaket dient lediglich der Bestätigung der Operation an das VPN Endgerät 210.
-
Nachfolgend wird auf die Geheimnisetablierung und die Konfiguration des Endgeräts unter Bezugnahme auf 6 eingegangen.
-
Die VPN Geheimnisse können auf der Basis des etablierten Vertrauens an das VPN Endgerät übertragen werden. Hierzu kommt die TPM_Bind Fähigkeit zum Einsatz. Diese Fähigkeit ermöglicht ein Binden (B() in 6) eines Datensatzes an einen spezifischen TPM. Der Datensatz kann ausschließlich durch den TPM entschlüsselt werden. Hierbei kommt der etablierte AIK als Schlüssel zum Einsatz.
-
Die Geheimnisse für den Betrieb des VPN Kanals werden zwischen dem Endpunktmanager 240 und dem VPN Endgerät 210 etabliert. Hierbei ist der Konfigurationsserver 230 lediglich für das Durchreichen der Nachrichten verantwortlich und kann somit im Protokollfluss ausgeblendet werden. Auf Seiten des Endpunktmanager 240 sind folgende Informationen etabliert:
EK: Der Endpunktmanager 240 kennt die EKpubs der ausgerollten Geräte und somit die Identitäten der einzelnen VPN Endgeräte.
-
Ndevice: Getrennt vom VPN Endgerät 210 wird dem Endpunktmanager 240 das Ndevice für jeden EK mitgeteilt. Dieser wird eingesetzt um dem VPN Endgerät 210 die Legitimation des Endpunktmanager 240 nachzuweisen ein Geheimnis zu etablieren.
-
K Config / priv : Privater Schlüssel des Endpunktmanagers 240 mit dem der Endpunktmanager 240 die Antwort signiert. Realisiert ein Zentralserver 150 die Funktionalität des Konfigurationsservers 230 und des Endpunktmanagers 240 oder umfasst ein Zentralserver 150 den Konfigurationsserver 230 und den Endpunktmanager 240, so kann K Config / priv als ein privater Schlüssel des Zentralservers 150 angesehen werden.
-
KVPN: Der Endpunktmanager 240 erzeugt das VPN Geheimnis und hinterlegt dieses in seiner Datenbank.
-
K encrypt / pub : Der K encrypt / pub wurde vom TPM erzeugt und erlaubt es, Daten zu verschlüsseln, so dass diese Daten nur durch den speziellen TPM freigegeben werden können.
-
AIK: AIK des VPN Endgerätes.
-
In 6 wird das Protokoll zur Übermittlung des Geheimnisses zum VPN Aufbau dargestellt. Zunächst erzeugt der Endpunktmanager für jedes VPN Endgerät einen Schlüssel KVPN, der den Anforderungen des VPN Systems entspricht (siehe Pfeile 601, 602). Dieser Schlüssel wird vom Endpunktmanager 240 in der Datenbank abgelegt und mit dem EK assoziiert.
-
Darauf wird der KVPN durch dem Endpunktmanager für das spezielle Endgerät verschlüsselt unter Verwendung des etablierten Schlüssels K encrypt / pub . Eingeschlossen in dem verschlüsselten Datenpaket wird darüber hinaus ein H(M|N), das nachweist, dass der Endpunktmanager im Besitz des Ndevice ist sowie die Antwort mit der anfänglichen Anfrage (identifiziert durch M) zusammen hängt.
-
Nachfolgend wird unter Bezugnahme auf 7 die Außerdienststellung betrachtet. Die Außerdienststellung hat das Ziel, das verwendete und auf dem VPN Endpunkt gespeicherte Schlüsselmaterial unbrauchbar zu machen, falls das VPN Endgerät außer Dienst gestellt wird, einem neuen Benutzer ausgehändigt werden soll oder einer neuen organisatorischen Einheit zugeordnet wird. Durch das gewählte Design der Software sind alle verwendeten Geheimnisse und Konfigurationsdaten an den TPM und dessen Benutzer gebunden. Dieser Besitz wird durch das Geheimnis Kownership dargestellt. Kownership wird hierbei durch den Besitzer des VPN Endpunktes gespeichert.
-
Unter Einsatz von Kownership ist es möglich den Befehl TPM_RevokeOwnership auszuführen. Hierdurch wird die Wurzel des Schlüsselbaums vernichtet, und alle an diese gebundenen Geheimnisse sind nicht weiter verwendbar. Dies ist nötig für den Fall der Zuordnung des VPN Endpunktes zu einer neuen organisatorischen Einheit oder der finalen Außerdienststellung des VPN Endgerätes. Diese Methode ist auch für den Fall einer Änderung des Benutzers angebracht. Als Konsequenz ist das VPN Endgerät gezwungen sich wieder mit dem Konfigurationsserver zu Verbinden und neue Konfigurationsdaten sowie Geheimnisse zu erhalten. Das Protokoll ist in 7 gezeigt.
-
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
-
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
-
Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
-
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
-
Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
-
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
-
Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
-
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
-
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
-
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
-
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
-
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
-
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.