-
Es wird ein Verfahren zum Verteilen von Zertifikaten auf zumindest ein elektronisches Bauteil angegeben. Darüber hinaus werden ein Computerprogrammprodukt für ein solches Verfahren, ein Bauteil für ein solches Verfahren sowie ein System mit mehreren solcher Bauteile zum Betreiben von Schienenfahrzeugen angegeben.
-
Die Druckschrift
WO 2019/096491 A1 betrifft ein Verfahren und eine Vorrichtung zur Ermöglichung der Authentisierung von Erzeugnissen, insbesondere von industriell gefertigten Geräten.
-
Eine zu lösende Aufgabe liegt darin, ein Verfahren anzugeben, mit dem effizient und sicher Zertifikate eines Nutzers verbreitet werden können.
-
Diese Aufgabe wird unter anderem durch ein Verfahren, durch ein Computerprogrammprodukt, durch ein Bauteil sowie durch ein System mit mehreren solcher Bauteile gelöst. Bevorzugte Weiterbildungen sind Gegenstand der übrigen Ansprüche.
-
Das hier beschriebene Verfahren ermöglicht insbesondere die Verteilung von Zertifikaten eines Nutzers mittels einer selbstsignierten Zertifikateliste-Datei, auch self-signed Certificate List File genannt.
-
In mindestens einer Ausführungsform dient das Verfahren zur Verteilung von Zertifikaten auf zumindest ein elektronisches Bauteil und umfasst die Schritte, insbesondere in der angegebenen Reihenfolge:
- A) Bereitstellen des Bauteils, wobei das Bauteil eine Kennung und ein Wurzelzertifikat eines Vertreibers des Bauteils umfasst,
- B) Erzeugen einer Zertifikateliste-Datei, wobei die Zertifikateliste-Datei die Kennung und mehrere Kunden-Zertifikate eines Nutzers des Bauteils umfasst,
- C) Signieren der Zertifikateliste-Datei mit einem Zertifikat des Vertreibers, sodass eine signierte Zertifikatdatei resultiert,
- D) Aufspielen der signierten Zertifikatdatei auf das Bauteil, und
- E) Inbetriebnehmen des Bauteils durch den Nutzer, wobei die signierte Zertifikatdatei durch das Bauteil anhand des Wurzelzertifikats des Vertreibers verifiziert wird.
-
Ist bei der Verwendung asymmetrischer Verschlüsselungstechnologien keine ordentliche PKI mit einer Instanz zum Ausstellen von Zertifikaten, auch als Certificate Authority bezeichnet, vorhanden, so können vertrauenswürdige selbstsignierte Zertifikate verwendet werden, die importiert und sicher beibehalten werden müssen. PKI steht dabei für Public Key Infrastructure. Die Vertrauenswürdigkeit hängt dabei vom Prozess des Importierens ab. Mit dem hier beschriebenen Verfahren ist ein vertrauenswürdiges, da kryptographisch gesichertes Importieren ermöglicht.
-
Insbesondere erfolgt mit dem hier beschriebenen Verfahren das Verteilen von Zertifikaten eines Nutzers mittels einer Zertifikateliste-Datei, die von einem Vertreiber des Bauteils signiert ist. Damit ist eine effiziente und sichere Verteilung der Zertifikate des Nutzers auf verschiedene Bauteile ermöglicht. Dies gilt speziell, wenn der Nutzer selbst über keine hinreichende PKI verfügt und somit kein ordentliches eigenes Wurzelzertifikat, auch als Root Certificate oder Trust Anchor bezeichnet, besitzt. Die Vertrauenswürdigkeit der verteilten Zertifikate des Nutzers lässt sich beim hier beschriebenen Verfahren über das Wurzelzertifikat des Vertreibers erreichen.
-
Bei den Bauteilen handelt es sich dabei zum Beispiel um Server, um in eine Leiterplatte eingebettete elektronische Komponenten, englisch Embedded Components, oder auch um Datenübertragungsmodule. Alternativ kann das Bauteil auch ein Software-Modul sein, sodass das Bauteil nicht notwendigerweise eine strikt abgegrenzte elektronische Untereinheit in einem größeren System, wie einem Computer, zu sein braucht.
-
Der Vertreiber des Bauteils kann dessen Hersteller sein.
-
Bei dem Wurzelzertifikat des Vertreibers und/oder des Herstellers handelt es sich zum Beispiel um ein X.509-Root Certificate.
-
Alternative Möglichkeiten zur Verteilung von Zertifikaten des Nutzers liegen im Importieren selbstsignierter Zertifikate durch den Nutzer selbst, zum Beispiel durch Kopieren der betreffenden Zertifikate an bestimmte Stellen eines Dateisystems, das auf dem Bauteil gespeichert ist, allerdings verbunden mit einer reduzierten Sicherheit. Eine weitere Alternative liegt in auf dem Bauteil vorinstallierten, selbstsignierten Zertifikaten, was jedoch eine geringere Flexibilität bedeutet.
-
Zusammengefasst beinhaltet das hier beschriebene Verfahren bevorzugt die folgenden Schritte, insbesondere in der angegebenen Reihenfolge:
- 1. Das Wurzelzertifikat, insbesondere der Trust Anchor, des Vertreibers und/oder des Herstellers des Bauteils ist bevorzugt Teil der ursprünglichen Programmierung des Bauteils, auch als Firmware bezeichnet. Das Wurzelzertifikat ist dann insbesondere ein X.509-Root Certificate.
- 2. Eine Kennung des Bauteils ist eindeutig und dem Bauteil bekannt. Die Kennung ist zum Beispiel eine Seriennummer oder ein Identifikator, englisch Identifier oder kurz ID, wie eine CPU-ID.
- 3. Es werden alle verfügbaren selbstsignierten Zertifikate des Nutzers gesammelt, die im Zusammenhang mit dem Bauteil benutzt werden sollen oder könnten.
- 4. Eine Datei, also die Zertifikateliste-Datei mit den Kunden-Zertifikaten, wird erzeugt, zum Beispiel als XML-Datei. Diese Datei enthält alle selbstsignierten Zertifikate des Nutzers, die in dem System, in dem das Bauteil zu integrieren ist, verwendet werden sollen und alle enthält Kennungen der betreffenden Bauteile, die diesen Kunden-Zertifikaten vertrauen sollen.
-
Es wird somit ein abgeschlossener Sicherheitsrahmen mit bestimmten Zertifikaten und Bauteilen, identifiziert über dessen Kennungen, definiert.
- 5. Die selbstsignierte Zertifikateliste-Datei wird dann mit einem Zertifikat des Vertreibers signiert, wobei dieses Zertifikat des Vertreibers auf das im Schritt 1 bereitgestellte Wurzelzertifikat des Vertreibers und/oder des Herstellers zurückführbar ist, zum Beispiel über eine Zertifikatekette, auch als Certificate Chain bezeichnet.
-
Optional verfügt das Zertifikat, das für das Signieren der Zertifikateliste-Datei verwendet wird, über eine spezielle Schlüsselverwendung, englisch Special Key Usage. Die spezielle Schlüsselverwendung gibt an, dass das betreffende Zertifikat autorisiert ist, die Zertifikateliste-Datei zu signieren.
- 6. Die selbstsignierte Zertifikateliste-Datei wird dann auf die Bauteile, die auf die Zertifikate des Nutzers zurückgreifen sollen, verteilt.
- 7. Das Bauteil verifiziert die Signatur und das Zertifikat der signierten Zertifikateliste-Datei, insbesondere ob das Zertifikat des Nutzers, mit dem die Zertifikateliste-Datei signiert ist, auf das Wurzelzertifikat des Nutzers zurückgeht.
-
Optional verifiziert das Bauteil dabei, ob das Zertifikat, mit dem die Zertifikateliste-Datei signiert ist, die spezielle Schlüsselverwendung hat und damit autorisiert ist, die Zertifikateliste-Datei zu signieren.
- 8. Das Bauteil prüft außerdem, ob die Kennung des betreffenden Bauteils in der Liste von Kennungen in der selbstsignierten Zertifikateliste-Datei vorhanden ist.
- 9. Nach erfolgreicher Verifikation in den Schritten 7 und 8 vertraut das Bauteil den Zertifikaten des Nutzers, die in der Zertifikateliste-Datei enthalten sind.
- 10. Falls erforderlich werden die Schritte 7, 8 und/oder 9 erneut durchgeführt, beispielsweise wenn eine neue Verbindung hergestellt wird, das Bauteil, das die selbstsignierten Zertifikate nutzt, neu gestartet wird oder ein Rebooten erfolgt.
-
Somit ergibt sich aus dem Bauteil, das ursprünglich die Kennung und das vorinstallierte Wurzelzertifikat des Vertreibers aufweist, zusammen mit der basierend auf dem Zertifikat des Vertreibers signierten Zertifikateliste-Datei, die die Zertifikate des Nutzers sowie die betreffenden Kennungen umfasst, schließlich ein Bauteil umfassend die Kennung, das Wurzelzertifikat des Vertreibers und die relevanten Zertifikate des Nutzers.
-
Bei dem hier beschriebenen Verfahren hängt die Vertrauenswürdigkeit der Zertifikate des Nutzers nicht nur vom Prozess des Importierens dieser Zertifikate auf die Bauteile ab, sondern basiert auch auf der kryptographisch gesicherten Installation basierend auf dem Wurzelzertifikat des Vertreibers und damit bevorzugt ebenso basierend auf dessen PKI.
-
Die selbstsignierte Zertifikateliste-Datei ist mit den eindeutigen Kennungen der Bauteile verknüpft und wird nur von solchen Bauteilen oder nur von solcher Software akzeptiert, die über eine eindeutige Kennung verfügen, die in der Zertifikateliste-Datei enthalten ist.
-
Es ist möglich, dass nur Bauteile, die vom selben Nutzer erworben wurden, bestimmungsgemäß miteinander kommunizieren können. Dies hat für die IT-Sicherheit den Vorteil, dass keine Bauteile, die von einem Angreifer erworben wurden, in das Netzwerk des Nutzers eingeführt werden können. Außerdem kann ein unkontrollierter Weiterverkauf des Bauteils durch den Nutzer vom Vertreiber unterbunden werden.
-
Bei dem Vertreiber des Bauteils handelt es sich insbesondere um einen Hersteller des Bauteils. Jedoch kann der Hersteller auch einen Vertreiber autorisieren, das oben beschriebene Verfahren durchzuführen. Alternativ agiert der Hersteller lediglich im Auftrag des Vertreibers, so dass dann der Hersteller durch den Vertreiber zur Durchführung des oben beschriebenen Verfahrens autorisiert sein kann.
-
Zusammengefasst basiert das hier beschriebene Verfahren insbesondere auf dem Zusammenspiel aus dem Wurzelzertifikat des Vertreibers und der eindeutigen Kennung auf den Bauteilen mit der selbstsignierten Zertifikateliste-Datei, sodass eine sichere IT-Lösung bereitgestellt werden kann. Dies gilt speziell für Nutzer, die über keine eigene PKI verfügen.
-
Gemäß zumindest einer Ausführungsform wird das Verfahren bei einer Vielzahl der Bauteile angewandt. Dabei wird bevorzugt im Schritt D) auf alle Bauteile die gleiche selbstsignierte Zertifikatdatei aufgespielt. Die zugrundeliegende Zertifikateliste-Datei umfasst in diesem Fall die Kennungen aller betreffender Bauteile. Somit ist es nicht erforderlich, für jedes Bauteil individuell eine eigene Zertifikateliste-Datei zu erzeugen.
-
Gemäß zumindest einer Ausführungsform des Verfahrens, wobei das Verfahren auf eine Vielzahl der Bauteile angewandt wird, werden die betreffenden Bauteile in ein Kommunikationsnetzwerk, insbesondere des Nutzers, integriert. Das heißt, die Bauteile sind dazu eingerichtet, im Netzwerk des Nutzers miteinander zu kommunizieren.
-
Hierbei ist es möglich, dass eine Datenverbindung nur zwischen solchen Bauteilen etabliert werden kann, die die oben genannten Verfahrensschritte A) bis E) erfolgreich durchlaufen haben. Alternativ ist es möglich, dass eine Datenverbindung außerdem zu Bauteilen aufgebaut werden kann, die über eines der Zertifikate des Nutzers verfügen, wobei dieses Zertifikat in der Zertifikateliste-Datei enthalten ist. Somit können bevorzugt nur solche Bauteile bestimmungsgemäß miteinander kommunizieren, die explizit mittels der Zertifikate und der Kennungen in der Zertifikateliste-Datei dazu autorisiert sind.
-
Gemäß zumindest einer Ausführungsform ist der Schritt des Signierens der Zertifikateliste-Datei ausschließlich vom Vertreiber oder von einer vom Vertreiber und/oder vom Hersteller autorisierten Instanz durchführbar. Damit ist es möglich, dass der Hersteller und/oder der Vertreiber volle Kontrolle über Verkauf und Weiterverkauf des Bauteils behält. Insbesondere ist das Bauteil ohne die signierte Zertifikateliste-Datei nicht oder nicht voll funktionsfähig. Das heißt, das Vorliegen der signierten Zertifikateliste-Datei kann eine notwendige Bedingung für das teilweise oder volle Inbetriebnehmen des Bauteils sein.
-
Gemäß zumindest einer Ausführungsform werden zumindest die oben genannten Schritte B), C) und D) vom Vertreiber und/oder vom Hersteller durchgeführt. Damit kann der Vertreiber und/oder der Hersteller die volle Kontrolle über das Signieren und optional auch über das Erzeugen der Zertifikateliste-Datei ausüben. Insbesondere in dem Fall, dass das Bauteil nur mit der signierten Zertifikateliste-Datei funktionsfähig ist, kann die unsignierte Zertifikateliste-Datei auch vom Nutzer erzeugt werden und nur das Signieren der Zertifikateliste-Datei erfolgt durch den Vertreiber und/oder Hersteller.
-
Gemäß zumindest einer Ausführungsform wird der Schritt D) vor einem Ausliefern des Bauteils an den Nutzer durchgeführt. Alternativ wird der Schritt D) nach dem Ausliefern durchgeführt.
-
Gemäß zumindest einer Ausführungsform verfügt das Zertifikat des Vertreibers, mit dem die Zertifikateliste-Datei signiert wird, über eine spezielle Schlüsselverwendung, englisch Special Key Usage, die anzeigt, dass dieses Zertifikat zum Signieren von Kunden-Zertifikaten autorisiert ist. Demgemäß prüft das Bauteil im Schritt D) und/oder im Schritt E) bevorzugt, ob das Zertifikat des Vertreibers über die spezielle Schlüsselverwendung verfügt.
-
Darüber hinaus wird ein Computerprogrammprodukt angegeben, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer oder durch ein Computersystem diesen veranlassen oder dieses veranlasst, insbesondere die Schritte B), C) und D) oder alle Schritte eines Verfahrens nach einer oder mehreren der oben genannten Ausführungsformen auszuführen. Merkmale des Computerprogrammprodukts sind daher auch für das Verfahren offenbart und umgekehrt. Insbesondere wird das betreffende Programm teilweise oder vollständig auf dem Bauteil ausgeführt.
-
Darüber hinaus wird ein Bauteil angegeben, umfassend einen Speicher, einen Prozessor und eine Kommunikationsschnittstelle. Das Bauteil ist für ein Verfahren eingerichtet, wie in Verbindung mit einer oder mehrerer der oben genannten Ausführungsformen beschrieben, insbesondere für die Verfahrensschritte A) und E). Merkmale des Bauteils sind daher auch für das Verfahren offenbart und umgekehrt.
-
Schließlich wird ein System zum Betreiben von Schienenfahrzeugen angegeben, wobei das System bevorzugt mehrere der vorgenannten Bauteile umfasst. Dabei befinden sich die bevorzugt mehreren Bauteile insbesondere in zumindest einem der Schienenfahrzeuge, in zumindest einer Streckenzentrale und/oder in zumindest einem Stellwerk des Systems.
-
Die oben genannten Eigenschaften, Merkmale und Vorteile der Erfindung und die Art und Weise, wie diese erreicht werden, werden durch die folgende Beschreibung der Ausführungsbeispiele der Erfindung in Verbindung mit den entsprechenden Figuren weitergehend erläutert, wobei die
- 1 und 2 schematische Darstellungen von Ausführungsbeispielen von hier beschriebenen Verfahren zur Verteilung von Zertifikaten auf hier beschriebene Bauteile zeigen,
- 3 eine schematische Darstellung eines Kommunikationsnetzwerks mit hier beschriebenen Bauteilen zeigt, und
- 4 eine schematische Darstellung eines Systems mit hier beschriebenen Bauteilen zum Betreiben von Schienenfahrzeugen zeigt.
-
In den 1 und 2 ist schematisch ein Ausführungsbeispiel eines hier beschriebenen Verfahrens zur Verteilung von Zertifikaten 24 eines Nutzers 20 auf elektronische Bauteile 1 beschrieben. Die Verfahrensschritte, wie in 1 als Ablaufdiagramm illustriert, sind anhand von 2 näher erläutert.
-
In einem ersten Schritt S1 wird von einem Vertreiber 10 ein elektronisches Bauteil 1 bereitgestellt. Bei dem Bauteil 1 handelt es sich beispielsweise um einen Server, jedoch kann das Bauteil 1 auch ein Software-Modul sein. Der Vertreiber 10 kann ein Hersteller des Bauteils 1 sein. Das Bauteil 1 umfasst eine eindeutige Kennung 12, zum Beispiel eine Seriennummer oder eine ID. Außerdem umfasst das Bauteil 1 ein Wurzelzertifikat 14 des Vertreibers 10. Das vorinstallierte Wurzelzertifikat 14 des Vertreibers 10 kann auch als Manufacturer Trust Anchor bezeichnet werden.
-
Im Schritt S2 wird bevorzugt vom Vertreiber 10, alternativ von einem späteren Nutzer 20 der Bauteile 1, eine Zertifikateliste-Datei 2 erzeugt. Die Zertifikateliste-Datei 2 umfasst mehrere Kennungen 12, die jeweils ein bestimmtes Bauteil 1 eindeutig identifizieren. Außerdem umfasst die Zertifikateliste-Datei 2 mehrere Kunden-Zertifikate 24. Insbesondere beinhaltet die Zertifikateliste-Datei 2 alle Kennungen 12 aller weiteren Bauteile, mit denen das elektronische Bauteil 1 später kommunizieren soll, sowie alle Zertifikate 24, die dabei zum Einsatz kommen sollen.
-
Im Schritt S3 erfolgt durch den Vertreiber 10 ein Signieren der Zertifikatliste-Datei 2 mit einem Zertifikat 29 des Vertreibers 10. Hieraus resultiert eine signierte Zertifikatdatei 3. Das Zertifikat 29 kann optional über eine spezielle Schlüsselverwendung, englisch Special Key Usage, verfügen.
-
Im weiteren Schritt S4 wird die selbstsignierte Zertifikatdatei 3 auf das Bauteil 1 aufgespielt, zum Beispiel durch den Vertreiber 10 oder auch durch den Nutzer 20, und es wird vom Bauteil 1 geprüft, ob das Zertifikat 29 ordnungsgemäß ist.
-
Mit anderen Worten erfolgt im Schritt S5 bevorzugt eine Verifikation der signierten Zertifikatdatei 3 durch das Bauteil 1, insbesondere im Rahmen der Inbetriebnahme des Bauteils 1 und bevorzugt durch den Nutzer 20, alternativ auch durch den Vertreiber 10. Dies schließt eine Prüfung mit ein, ob die Kennung 12 des konkreten Bauteils 1 in der Liste von Kennungen 12 der Zertifikateliste-Datei 2 enthalten ist, ob also die Zertifikateliste-Datei 2 eine zulässige Kennung 12 für das konkrete Bauteil 1 beinhaltet.
-
Nach erfolgreicher Verifikation beinhaltet das Bauteil 1 somit die überprüfte Kennung 12, das Wurzelzertifikat 14 des Vertreibers 10 sowie alle relevanten Kunden-Zertifikate 24 des Nutzers 20.
-
In 3 ist ein Kommunikationsnetzwerk 4 illustriert. Das Kommunikationsnetzwerk 4 umfasst mehrere der Bauteile 1. Bevorzugt umfassen die Bauteile 1 dabei jeweils einen Speicher 51, einen Prozessor 52 sowie eine Kommunikationsschnittstelle 53. Die Kommunikationsschnittstelle 53 kann für eine drahtgebundene oder auch für eine kabellose Kommunikation eingerichtet sein, zum Beispiel für einen Zugfunk gemäß dem Standard GSM-R. Insbesondere die Zertifikateliste-Datei 2 mit den verschiedenen Zertifikaten 24 ist je in den Speichern 51 der Bauteile 1 hinterlegt.
-
In dem Kommunikationsnetzwerk 4 können nur solche Bauteile 1 untereinander eine Datenverbindung 7 aufbauen, die entweder das Verfahren der 1 und 2 durchlaufen haben und/oder die anderweitig über eines der Zertifikate 24 des Nutzers verfügen, wie in den betreffenden Bauteilen 1 hinterlegt, und die bevorzugt außerdem über eine in der Zertifikateliste-Datei 2 hinterlegte Kennung verfügen.
-
Damit lässt sich erreichen, dass ausschließlich Bauteile 1 an einem Datenaustausch in dem Kommunikationsnetzwerk 4 teilnehmen können, die vom Nutzer 20 entsprechend autorisiert sind. Das Aufspielen der Zertifikate 24 des Nutzers erfolgt dabei bevorzugt gemäß dem Verfahren der 1 oder 2 kryptographisch gesichert durch das Zertifikat 29 des Vertreibers 10. Damit ist auch sichergestellt, dass die Bauteile 1 vom Nutzer 20 nicht unautorisiert weiterverkauft werden können, da ohne Zutun des Vertreibers 10 keine anderen Zertifikate auf den Bauteilen 1 aufgespielt werden können.
-
In 4 ist ein System 6 zum Betreiben von Schienenfahrzeugen 61 schematisch illustriert. Das System 6 umfasst ein Schienennetz 64, auf dem bevorzugt mehrere der Schienenfahrzeuge 61 verkehren. Weiterhin umfasst das System 6 bevorzugt zumindest ein Stellwerk 63 sowie zumindest eine Streckenzentrale 62. Die Streckenzentrale 62 ist insbesondere eine ETCS-Streckenzentrale, auch als Radio Block Centre oder kurz RBC bezeichnet.
-
Bevorzugt umfassen sowohl die Schienenfahrzeuge 61 als auch die Streckenzentrale 62 sowie das Stellwerk 63 je zumindest eines der Bauteile 1 mit den Zertifikaten des Nutzers. Damit ist sichergestellt, dass nur autorisierte Bauteile 1 miteinander kommunizieren können, so dass das Netzwerk zum Betreiben des Systems 6 sicher ist und Dritte nicht unerlaubt Zugriff erlangen können.
-
Obwohl die Erfindung anhand von Ausführungsbeispielen detailliert dargestellt und beschrieben wurde, ist die Erfindung nicht auf die offenbarten Ausführungsbeispiele und die darin erläuterten konkreten Merkmalskombinationen beschränkt. Weitere Variationen der Erfindung können von einem Fachmann erhalten werden, ohne den Schutzumfang der beanspruchten Erfindung zu verlassen.
-
Bezugszeichenliste
-
- 1
- elektronisches Bauteil
- 10
- Vertreiber
- 12
- Kennung des Bauteils
- 14
- Wurzelzertifikat des Vertreibers
- 2
- Zertifikateliste-Datei mit den Kunden-Zertifikaten
- 20
- Nutzer des Bauteils
- 24
- Kunden-Zertifikat
- 29
- Zertifikat des Vertreibers
- 3
- signierte Zertifikatdatei
- 4
- Kommunikationsnetzwerk
- 51
- Speicher
- 52
- Prozessor
- 53
- Kommunikationsschnittstelle
- 6
- System zum Betreiben von Schienenfahrzeugen
- 61
- Schienenfahrzeug
- 62
- Streckenzentrale
- 63
- Stellwerk
- 64
- Schienennetz
- 7
- Datenverbindung
- S1-S5
- Verfahrensschritt
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-