Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020114814 - MICROCONTRÔLEUR

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ DE ]

Mikrocontroller

Die vorliegende Erfindung betrifft einen Mikrocontroller zur Steuerung einer elektrischen und/oder einer elektronischen Vorrichtung sowie ein Verfahren für die Kommunikation zwischen einem Mikrocontroller und einem Netzwerk-Com puter. Ferner betrifft die vorliegende Erfindung einen entsprechenden Netz-werk-Computer sowie ein Kommunikationssystem umfassend einen Mikrocon troller und einen Netzwerk-Computer.

Mikrocontroller sind in der heutigen Zeit nicht mehr aus unserem Alltag weg zudenken. Zahlreiche elektrische und/oder elektronischer Alltagsgegenstände werden heutzutage durch Mikrocontroller gesteuert. Hierzu gehören beispiels weise Lampen und LEDs, Waschmaschinen und Trockner, Heizkörper bzw. Heizkörpersteuerventile, Fernseher, Videorecorder und DVD-Spieler.

Dabei weisen Mikrocontroller in der Regel zumindest einen Prozessor und ei-nen oder mehrere Speicherbausteine auf.

Bei vielen der vorstehend genannten elektrischen und/oder elektronischen Vorrichtungen ist es wünschenswert, dass diese auch aus der Ferne angesteu ert werden können. Hierzu umfassen entsprechende Mikrocontroller ein Netz-werkmodul zur Verbindung des Mikrocontrollers mit einem Netzwerk. Bei dem Netzwerk-Modul kann es sich insbesondere um ein LAN-Modul, ein WLAN-Mo-dul oder ein Mobilfunk-Modul handeln, wobei das Mobilfunk-Modul insbeson dere ein GSM-, GPRS-, EDGE-, UMTS- und/oder ein LTE-Modul umfassen kann.

Die Ausstattung eines Mikrocontrollers mit einem Netzwerk-Modul eröffnet zahlreiche neue Anwendungsmöglichkeiten. So wird durch den Einsatz eines Mikrocontrollers mit einem Netzwerk- Mod ul beispielsweise ermöglicht, her kömmliche Haushaltsgeräte miteinander zu vernetzen und diese bequem vom Smartphone aus zu steuern. So kann beispielsweise ein Heizkörper in einer Wohnung bei Bedarf von unterwegs durch die Verwendung einer entsprechen den App eingeschaltet werden. Zudem kann beispielsweise die Steuerung ei nes Heizkörpers automatisch in Abhängigkeit einer durch einen Thermometer gemessenen Außentemperatur erfolgen. Auch kann die Ansteuerung elektri scher Jalousien in Abhängigkeit der aktuell eingestellten Parameter eines in ei nem gemeinsamen Netzwerk befindlichen Heizkörpers erfolgen.

Es ist daher nicht verwunderlich, dass die Ausstattung von Mikrocontrollern mit Netzwerk-Modulen mit zu der rasanten Entwicklung auf dem Gebiet der Smart-Home-Technik beigetragen hat.

Ebenso wird die Entwicklung auf dem Gebiet der IoT (Internet of Things bzw. Internet der Dinge) sowie auf dem Gebiet der Industrie 4.0 durch moderne Mikrocontroller mit integrierten Netzwerk-Modulen beflügelt.

Durch die zunehmende Anzahl elektrischer und/oder elektronischer Vorrich tungen, die über ein Netzwerk miteinander verbunden sind, stellt sich zuneh mend die Frage, wie eine sichere und effiziente Kommunikation zwischen meh reren Mikrocontrollern und einem in einem gemeinsamen Netzwerk befindli chen Netzwerk-Computer erreicht werden kann.

Ein in diesem Zusammenhang zentraler Aspekt für die sichere Kommunikation ist der Einsatz digitaler Zertifikate, durch die eine Authentifizierung zwischen einem Mikrocontroller und einem Netzwerk-Computer erfolgen kann. Ein digi tales Zertifikat enthält insbesondere einen digitalen Authentifizierungsschlüs-sel, mittels dessen die Identität eines ersten Kommunikationspartners durch einen zweiten Kommunikationspartner geprüft werden kann. Dadurch wird beispielsweise vermieden, dass ein nicht befugter Außenstehender Steuerbe fehle an einen Mikrocontroller senden und somit die Kontrolle über ein oder mehrere elektrische und/oder elektronische Komponenten erhalten kann.

Digitale Zertifikate sind im Allgemeinen bekannt. Der Einsatz digitaler Zertifi kate ist beispielsweise im Zusammenhang mit der Kommunikation zwischen zwei Computern in EP 2 593 897 Bl beschrieben. In der zitierten Druckschrift ist ein Verfahren offenbart, bei dem sich ein erster Teilnehmer gegenüber ei nem zweiten Teilnehmer mit einem digitalen Zertifikat authentisiert. Dabei weist das Zertifikat ein oder mehrere Merkmale auf, die von dem zweiten Teil nehmer zu erfüllen sind. In der zitierten Druckschrift ist nicht näher spezifi ziert, auf welche Weise der erste Teilnehmer mit einem Zertifikat versehen wird.

Damit ein Mikrocontroller mit einem Netzwerk-Computer kommunizieren kann, muss der Mikrocontroller zuvor ein auf ihn abgestimmtes digitales Zertifikat erhalten. Hierfür sind prinzipiell verschiedene Möglichkeiten denkbar.

Eine Möglichkeit wäre, seitens des Mikrocontroller-Herstellers für jeden Mikro controller ein digitales Zertifikat zu erstellen und dieses Zertifikat im Speicher baustein des Mikrocontrollers zu hinterlegen. Nachteilig hierbei ist, dass dadurch die Daten betreffend das digitale Zertifikat des Mikrocontrollers durch den Hersteller bekannt sind. Ein Hacker-Angriff auf die IT-Systeme des Her stellers könnte dazu führen, dass sensible Daten über den Mikrocontroller ge stohlen und von Unbefugten missbräuchlich verwendet werden.

Eine weitere Möglichkeit für die Ausstellung eines digitalen Zertifikats wäre, je den einzelnen Mikrocontroller über eine nach außen entkoppelte Verbindung mit einem digitalen Zertifikat zu versehen. Hierzu könnte beispielsweise ein tragbarer Computer zum Einsatz kommen, der eine kabelgebundene Verbin dung mit dem Mikrocontroller aufbaut, ein digitales Zertifikat für den Mikro controller ausstellt und an den Mikrocontroller übermittelt. Der Mikrocontroller wird somit aus der Nähe mit einem digitalen Zertifikat versehen. Der Vorteil dieser Methode wäre, dass der Mikrocontroller-Hersteller keinerlei Informatio nen über das digitale Zertifikat bzw. einen etwaigen Authentifizierungschlüssel des Mikrocontrollers hätte. Allerdings wäre es bei diesem Verfahren nachteilig, dass sich ein Mitarbeiter mit dem tragbaren Computer zu jedem einzelnen Mikrocontroller begeben müsste, um jeden einzelnen Mikrocontroller mit ei nem digitalen Zertifikat zu versehen. Insbesondere dann, wenn zahlreiche Mik rocontroller mit digitalen Zertifikaten versehen werden sollen, ist diese alter native Möglichkeit sehr zeit- und kostenaufwändig und daher nicht besonders

geeignet. Zudem würde die Verwendung eines tragbaren Computers zwangs läufig auch bedeuten, dass der für das Ausstellen der Zertifikate notwendige Stammschlüssel (root key) ebenfalls auf dem tragbaren Rechner mitgeführt werden müsste. Eine solche Maßnahme wäre ein Verstoß gegen die geltenden Arbeitsprinzipien einer Stammzertifizierungsstelle, die ihren Stammschlüssel jederzeit bestmöglich sichern muss.

Die vorstehend erläuterten Möglichkeiten sind entweder als unsicher oder als ineffizient anzusehen.

Aufgabe der vorliegenden Erfindung ist es daher, einen Mikrocontroller zur Steuerung einer elektrischen und/oder einer elektronischen Vorrichtung sowie ein entsprechendes Verfahren für die Kommunikation zwischen einem Mikro controller und einem Netzwerk-Computer bereitzustellen, bei denen eine effizi ente und sichere Ausstellung eines digitalen Zertifikats für einen Mikrocontrol ler ermöglicht wird. Entsprechend ist es Aufgabe der vorliegenden Erfindung, einen Netzwerk-Computer sowie ein Kommunikationssystem umfassend einen Mikrocontroller und einen Netzwerk-Computer bereitzustellen, die eine effizi ente und sichere Ausstellung eines digitalen Zertifikats für einen Mikrocontrol ler erlauben.

Zur Lösung der vorstehend genannten Aufgabe wird ein Mikrocontroller, ein Verfahren für die Kommunikation zwischen einem Mikrocontroller und einem Netzwerk-Computer, ein Netzwerk-Computer sowie ein entsprechendes Kom munikationssystem gemäß den unabhängigen Ansprüchen vorgeschlagen. Weitere vorteilhafte Ausführungen der vorliegenden Erfindung sind in den Un teransprüchen definiert.

Insbesondere wird zur Lösung der vorstehend genannten Aufgabe ein Mikro controller zur Steuerung einer elektrischen und/oder einer elektronischen Vor richtung vorgeschlagen, umfassend

einen Speicherbaustein zum Speichern eines digitalen Zertifikats;

ein Netzwerkmodul für die Herstellung einer Verbindung mit einem Netzwerk; und

einen Prozessor;

dadurch gekennzeichnet, dass

der Prozessor dazu ausgelegt ist,

eine Verbindung mit einem in dem Netzwerk befindlichen Netzwerk- Computer aufzubauen;

bei dem Netzwerk-Computer nach einem digitalen Zertifikat anzufragen; das digitale Zertifikat von dem Netzwerk-Computer zu empfangen;

das digitale Zertifikat im Speicherbaustein abzuspeichern;

eine Verifikation-Anfrage an den Netzwerk-Computer zu senden; und mit dem Netzwerk-Computer Nutzerdaten auszutauschen, sofern eine vorherige Verifikation des digitalen Zertifikats des Mikrocontrollers er folgreich war.

Der erfindungsgemäße Mikrocontroller ermöglicht eine effiziente und sichere Ausstellung und Vergabe eines digitalen Zertifikats. Die Ausstellung und Vergabe des digitalen Zertifikats ist insofern besonders sicher, als der Mikro controller-Hersteller keinerlei Informationen über das digitale Zertifikat bzw. über einen etwaigen Authentifizierungsschlüssel verfügt. Somit wird das Risiko minimiert, dass durch einen Hacker-Angriff auf die IT-Systeme des Mikrocon troller-Herstellers sensible Daten, die den Mikrocontroller betreffen, in falsche Hände gelangen. Es wird also der anfängliche Prozess der Vergabe des digita len Zertifikats vom Mikrocontroller-Hersteller auf den Netzwerk-Computer ver lagert. Der Benutzer des Mikrocontrollers kann daher entscheiden, welches Si cherheitssystem im Netzwerk-Computer eingesetzt wird und ist dadurch unab hängig von den Sicherheitsvorkehrungen des Mikrocontroller-Herstellers. Ein weiterer Vorteil des erfindungsgemäßen Mikrocontrollers ist es, dass mehrere Mikrocontroller quasi-zeitgleich mit digitalen Zertifikaten versehen werden können, die alle über denselben Netzwerk-Computer generiert und auf die Mikrocontroller übertragen werden. Somit wird der Aufwand bei der anfängli chen Initiierung bzw. Registrierung der Mikrocontroller gegenüber dem Netz werk-Computer reduziert und somit eine effiziente Ausstellung der digitalen Zertifikate ermöglicht. Die Anfrage an den Netzwerk-Computer nach einem di gitalen Zertifikat im Rahmen der vorliegenden Erfindung ist dahingehend zu verstehen, dass der Prozessor dazu ausgelegt ist, bei dem Netzwerk-Computer nach einem neuen digitalen Zertifikat anzufragen. Dadurch ist die Situation beschrieben, in der der Mikrocontroller noch über kein digitales Zertifikat ver fügt. Anders ausgedrückt kann der Prozessor des Mikrocontrollers dazu ausge legt sein, bei dem Netzwerk-Computer nach einer Ausstellung eines Zertifikats für den Mikrocontroller anzufragen.

Bei dem Speicherbaustein im Sinne des erfindungsgemäßen Mikrocontrollers kann es sich insbesondere um einen ROM-, einen EPROM-, einen EEPROM- o-der einen Flash-Speicher handeln. Das Netzwerkmodul im Sinne des erfin dungsgemäßen Mikrocontrollers kann insbesondere als WLAN-Modul oder als eine der vorstehend genannten Netzwerkmodule ausgeführt sein. Als Prozes sor kann beispielsweise ein 16- Bit- oder ein 32-Bit- Prozessor des Herstellers Intel oder ARM zum Einsatz kommen.

Nachdem der Mikrocontroller eine Verbindung mit dem Netzwerk-Computer aufgebaut hat und ein digitales Zertifikat von dem Netzwerk-Computer erhal ten hat, kann eine sichere Kommunikation zwischen dem Mikrocontroller und dem Netzwerk-Computer erfolgen. Denn diese Kommunikation erfolgt nur dann, wenn zuvor die Verifikation des digitalen Zertifikats des Mikrocontrollers erfolgreich war.

Gemäß einer Ausführungsform des erfindungsgemäßen Mikrocontrollers kann in vorteilhafter Weise vorgesehen sein, dass der Prozessor dazu ausgelegt ist, bei der Initiierung des Mikrocontrollers eine gesicherte Verbindung mit dem Netzwerk-Computer aufzubauen. Bei der gesicherten Verbindung kann insbe sondere vorgesehen sein, dass die übertragenen Daten verschlüsselt sind. Durch den Einsatz einer gesicherten Verbindung wird die Sicherheit bei der Ausgabe des digitalen Zertifikats an den Mikrocontroller erhöht. Das Risiko, dass ein Unbefugter bei dem Netzwerk-Computer nach einem digitalen Zertifi kat anfragt und dieses auch durch den Netzwerk-Computer erhält, wird durch den Einsatz einer gesicherten Verbindung reduziert.

Bevorzugt kann vorgesehen sein, dass der Prozessor des erfindungsgemäßen Mikrocontrollers dazu ausgelegt ist, die gesicherte Verbindung unter Verwen dung des Secure Remote Protokolls, SRP-Protokolls, aufzubauen. Das SRP-Protokoll wird noch im Zusammenhang mit dem erfindungsgemäßen Verfahren näher erläutert.

Weiterhin bevorzugt kann in Ausgestaltung des erfindungsgemäßen Mikrocon trollers vorgesehen sein, dass der Mikrocontroller ein Display zum Anzeigen von Informationen umfasst. Dadurch kann der Prozessor des Mikrocontrollers das Display unmittelbar ansteuern.

Besonders bevorzugt kann vorgesehen sein, dass der Mikrocontroller ein E-INK-Display umfasst. Diese vorteilhafte Ausgestaltung der Erfindung kann bei spielsweise als elektronisches Preisschild dienen, das im Einzelhandel einge setzt wird, um Preise einzelner Produkte einfach und bequem zu aktualisieren.

Des Weiteren wird es im Sinne der vorliegenden Erfindung als selbstverständ lich angesehen, dass der Prozessor des erfindungsgemäßen Mikrocontrollers auch dazu ausgelegt sein kann, sämtliche im Zusammenhang mit dem erfin dungsgemäßen Verfahren offenbarte Schritte auszuüben. Auch wird es als selbstverständlich angesehen, dass der erfindungsgemäße Mikrocontroller sämtliche Merkmale aufweisen kann, die noch im Zusammenhang mit dem Netzwerk-Computer oder dem Kommunikationssystem beschrieben werden.

Ferner wird zur Lösung der vorstehend genannten Aufgabe ein Verfahren für die Kommunikation zwischen einem Mikrocontroller, der einen Prozessor, ei nen Speicherbaustein und ein Netzwerkmodul aufweist, und einem Netzwerk-Computer, der einen Prozessor, einen Speicherbaustein und ein Netzwerkmo dul aufweist, vorgeschlagen, wobei das erfindungsgemäße Verfahren die nach folgenden Schritte umfasst:

Initiierung des Mikrocontrollers, wobei die Initiierung des Mikrocontrol lers folgende Schritte umfasst:

o Aufbau einer Verbindung zwischen dem Mikrocontroller und dem

Netzwerk-Computer;

o Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer nach einem digitalen Zertifikat;

o Ausstellung eines digitalen Zertifikats durch den Netzwerk-Compu ter;

o Übermittlung des digitalen Zertifikats von dem Netzwerk-Computer an den Mikrocontroller; und

o Speichern des digitalen Zertifikats im Speicherbaustein des Mikro controllers; sowie

Austausch von Nutzerdaten zwischen dem Mikrocontroller und dem

Netzwerk-Computer, wobei der Austausch der Nutzerdaten folgende

Schritte umfasst:

o Aufbau einer Verbindung zwischen dem Mikrocontroller und dem Netzwerk-Computer;

o Verifikation des digitalen Zertifikats des Mikrocontrollers durch den Netzwerk-Computer; und

o Austausch der Nutzerdaten zwischen dem Mikrocontroller und dem Netzwerk-Computer, sofern die vorausgegangene Verifikation des di gitalen Zertifikats des Mikrocontrollers durch den Netzwerk-Compu ter erfolgreich war.

Der vorstehend genannte Schritt der Initiierung des Mikrocontrollers umfasst sämtliche Schritte, die durchlaufen werden, bis der Mikrocontroller ein digita les Zertifikat erhält. Dieser Schritt kann auch als anfängliche Registrierung ei nes Mikrocontrollers in einem Netzwerk verstanden werden. Sobald dieser Schritt abgeschlossen ist, ist der Mikrocontroller bereit für die Kommunikation mit dem Netzwerk-Computer. Wie bereits vorstehend im Zusammenhang mit dem Mikrocontroller ausgeführt, kann der Verfahrensschritt der Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer nach einem digitalen Zertifikat so verstanden werden, dass der Mikrocontroller gegenüber dem Netzwerk-Computer nach einem neuen digitalen Zertifikat anfragt. Anders ausgedrückt kann die Initiierung des Mikrocontrollers folgenden Schritt umfas sen :

Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer nach einem neuen digitalen Zertifikat.

Alternativ kann der vorstehende Verfahrensschritt dahingehend ausgelegt wer den, dass die Initiierung des Mikrocontrollers folgenden Schritt umfasst:

Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer, ein digitales Zertifikat für den Mikrocontroller auszustellen.

Durch das erfindungsgemäße Verfahren wird es ermöglicht, den Mikrocontrol ler mit einem digitalen Zertifikat zu versehen, ohne dass sensible Daten, die der Identifizierung des Mikrocontrollers im Netzwerk dienen, beim Mikrocon troller-Hersteller gespeichert werden. Die Ausstellung des digitalen Zertifikats erfolgt ausschließlich auf dem Netzwerk-Computer. Dadurch erhält der Benut zer eines Netzwerks die vollständige Kontrolle über die Ausstellung digitaler Zertifikate sowie über etwaige weitere Vorkehrungen zum sicheren Speichern der sensiblen Daten, insbesondere des digitalen Zertifikats oder eines digitalen Authentifizierungsschlüssels.

Nach der erfolgreichen Registrierung des Mikrocontrollers im Netzwerk kann ein sicherer Austausch von Nutzerdaten zwischen dem Mikrocontroller und dem Netzwerk-Computer erfolgen, da die Verifikation des digitalen Zertifikats des Mikrocontrollers gewährleistet, dass Nutzerdaten nur dann ausgetauscht werden, wenn der Mikrocontroller auch das korrekte digitale Zertifikat besitzt. Dadurch wird das Risiko minimiert, dass Unberechtigte, die nicht über das ent sprechende digitale Zertifikat verfügen, mit dem Netzwerk-Computer Nutzer daten austauschen können.

Gemäß einer vorteilhaften Ausführung des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass ein digitaler Authentifizierungsschlüssel, der für den Aufbau einer Verbindung zwischen dem Mikrocontroller und dem Netz werk-Computer während des Initiierungsvorgangs notwendig sein kann, durch den Mikrocontroller selbständig generiert wird, ohne dass nachträgliches Aus lesen des Authentifizierungsschlüssels bzw. seine Extraktion notwendig oder gewünscht wird. Die Generierung des Authentifizierungsschlüssels kann bei spielsweise durch ein Verfahren zur Generierung einer Zufallszahl oder eines Zufallszeichens erfolgen. Dadurch wird insbesondere sichergestellt, dass der Authentifizierungsschlüssel niemals im Besitz des Mikrocontroller-Herstellers oder eines anderen Außenstehenden gelangt und dass gemäß dem Zufallsprin zip das vorherige oder nachträgliche Erraten des Authentifizierungsschlüssels entweder ganz oder in Teilen erheblich erschwert wird.

Gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens kann vor gesehen sein, dass der Mikrocontroller einen Authentifizierungsschlüssel gene riert und anschließend über ein Zero-Knowledge-Verfahren durch den Netz werk-Computer verifiziert wird, ob der Mikrocontroller im Besitz eines korrek ten Schlüssels ist. Dadurch kann ein Verfahren für die kenntnisfreie Erstanmel dung eines Mikrocontrollers bei einem Netzwerk-Computer bereitgestellt wer den. Gemäß einer Ausführungsform kann vorgesehen sein, dass der Authenti fizierungsschlüssel durch ein Zufallsprinzip, insbesondere durch die Erzeugung einer Zufallszahl oder einer zufälligen Zeichenkette erfolgt.

Gemäß einer Ausführungsform kann vorgesehen sein, dass durch den Mikro controller ein Verifikationsparameter ermittelt wird, wobei der Verifikationspa rameter aus dem Authentifizierungsschlüssel berechnet wird. Dabei kann vor gesehen sein, dass der Verifikationsparameter an den Netzwerk-Computer übertragen wird und der Netzwerk-Computer durch Auswertung des Verifikati onsparameters die Identität des Mikrocontrollers überprüft. Dies hat den Vor teil, dass der Authentifizierungsschlüssel niemals zwischen dem Mikrocontrol ler und dem Netzwerk-Computer ausgetauscht werden muss.

Weiterhin bevorzugt kann in Ausgestaltung des erfindungsgemäßen Verfah rens vorgesehen sein, dass beim Aufbau einer Verbindung zwischen dem Mik rocontroller und dem Netzwerk-Computer während der Initiierung des Mikro controllers eine gesicherte Verbindung hergestellt wird. Wie bereits im Zusam menhang mit dem erfindungsgemäßen Mikrocontroller ausgeführt, wird durch den Einsatz einer gesicherten Verbindung das Risiko eines unbefugten Abfan gens des digitalen Zertifikats bei der Ausgabe an den Mikrocontroller reduziert wird. Bei der gesicherten Verbindung werden die ausgetauschten Informatio nen, beispielsweise ein Authentifizierungsschlüssel, der für die anfängliche Ini- tiierung des Mikrocontrollers eingesetzt wird (nachfolgend auch als "erster Au-thentifizierungsschlüssel" bezeichnet), verschlüsselt übertragen. Für die Ver schlüsselung können sowohl symmetrische als auch asymmetrische Verschlüs selungsverfahren zum Einsatz kommen. Bei der symmetrischen Verschlüsse lung wird für die Verschlüsselung und für die Entschlüsselung jeweils derselbe Schlüssel verwendet. Bei asymmetrischen Verschlüsselungsverfahren wird ein Schlüsselpaar erzeugt, das aus einem privaten und einem öffentlichen Schlüs sel besteht. Asymmetrische Verschlüsselungsverfahren bieten im Allgemeinen weitreichendere Sicherheit als symmetrische Verschlüsselungsverfahren, da sie im Gegensatz zu den symmetrischen Verfahren nicht auf das zeitgleiche Vorhandensein des deshalb so genannten symmetrischen geheimen Schlüssels an beiden Enden einer zu sichernden Kommunikationsverbindung angewiesen sind. Jedoch sind sie in der Regel mit einem höheren Rechenaufwand verbun den. Gemäß dem erfindungsgemäßen Verfahren kann vorgesehen sein, dass ein Authentifizierungsschlüssel zwischen dem Mikrocontroller und dem Netz werk-Computer verschlüsselt übertragen wird. Erst wenn der Authentifizie rungsschlüssel des Mikrocontrollers geprüft und die Identität des Mikrocontrol lers durch den Netzwerk-Computer verifiziert werden konnte, wird der Netz werk-Computer ein digitales Zertifikat ausstellen und an den Mikrocontroller übermitteln. Somit wird gewährleistet, dass kein Unbefugter in den Besitz des Authentifizierungsschlüssels gelangt.

Gemäß einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass bei der Initiierung des Mikrocontrollers ein Zero-Knowledge-Verfahren zum Einsatz kommt. Das Zero-Knowledge-Ver-fahren ist ein aus der Kryptographie bekanntes Verfahren. Die Grundidee die ses Verfahrens liegt darin, dass ein erster Kommunikationspartner einen zwei ten Kommunikationspartner davon überzeugen kann, dass er im Besitz eines Geheimnisses (beispielsweise eines Schlüssels) ist, ohne dieses Geheimnis preiszugeben. Im Zusammenhang mit dem Zero-Knowledge-Verfahren spricht man üblicherweise von einem Beweisführer (erster Kommunikationspartner, auch "prover" genannt) und einem Prüfer (zweiter Kommunikationspartner, auch "verifier" oder Verifizierender genannt). Der Beweisführer ist dabei übli- cherweise im Besitz eines Geheimnisses und möchte den Prüfer von dem Be sitz des Geheimnisses überzeugen. Der Prüfer stellt dem Beweisführer meh rere Fragen, um herauszufinden, ob dieser tatsächlich im Besitz des Geheim nisses ist. Wenn der Beweisführer die gestellten Fragen korrekt beantwortet, kann der Prüfer mit einer relativ hohen Wahrscheinlichkeit davon ausgehen, dass der Beweisführer auch tatsächlich im Besitz des Geheimnisses ist. Bei dem Geheimnis handelt es sich im Zusammenhang mit der vorliegenden Erfin dung insbesondere um einen ersten Authentifizierungsschlüssel, mit dem der Mikrocontroller während des Initiierungsvorganges seine Identität gegenüber dem Netzwerk-Computer nachweisen kann. Der Vorteil des Einsatzes des Zero-Knowledge-Verfahrens bei dem erfindungsgemäßen Verfahren ist, dass der erste Authentifizierungsschlüssel selbst nicht über den Kommunikationska nal übertragen werden muss. Gemäß einer Ausführungsform kann es vorgese hen sein, dass lediglich ein Verifizierungsparameter (im Englischen ebenfalls als "verifier" bezeichnet), der dazu eingesetzt werden kann, den Authentifizie rungsschlüssel des Mikrocontrollers zu verifizieren, separat an den Netzwerk-Computer übertragen wird. Beispielsweise kann vorgesehen sein, dass der Ve rifikationsparameter des Mikrocontrollers durch den Benutzer bzw. den Be weisführer per E-Mail an den Netzwerk-Computer gesendet wird. Auch kann vorgesehen sein, dass mehrere Verifikationsparameter zahlreicher Mikrocon troller gleichzeitig per E-Mail an den Netzwerk-Computer gesendet werden. Es ist allerdings an dieser Stelle zu beachten, dass es sich hierbei bevorzugt um eine sichere Form der E-Mail-Kommunikation handeln soll wie etwa im Fall von PGP oder S/MIME. Weiterhin bevorzugt kann in Ausgestaltung des erfindungs gemäßen Verfahrens vorgesehen sein, dass einer oder mehrere Verifikations parameter mit Hilfe einer abgesicherten zentralen Web-Anwendung hochgela den werden.

Ferner kann gemäß einer vorteilhaften Ausführungsform des erfindungsgemä ßen Verfahrens vorgesehen sein, dass der Schritt der Initiierung des Mikrocon trollers die folgenden Schritte umfasst:

Generierung eines ersten Authentifizierungsschlüssels;

Aufbau einer Verbindung zwischen dem Mikrocontroller und dem Netz werk-Computer;

Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer nach einem digitalen Zertifikat;

Verifikation der Identität des Mikrocontrollers durch Prüfung des ersten Authentifizierungsschlüssels und Verwendung eines Zero-Knowledge- Verfahrens;

Ausstellung eines digitalen Zertifikats, umfassend einen zweiten Authen- tifizierungsschlüssel, durch den Netzwerk-Computer und Übermittlung des digitalen Zertifikats von dem Netzwerk-Computer an den Mikrocon troller, sofern die vorherige Verifikation der Identität des Mikrocontrol lers erfolgreich war; und

Speichern des digitalen Zertifikats im Speicherbaustein des Mikrocon trollers.

Auch kann gemäß einer vorteilhaften Ausführungsform des erfindungsgemä ßen Verfahrens vorgesehen sein, dass der Schritt der Initiierung des Mikrocon trollers die folgenden Schritte umfasst:

Generierung eines ersten Authentifizierungsschlüssels;

Erzeugung eines Verifikationsparameters;

Aufbau einer Verbindung zwischen dem Mikrocontroller und dem Netz werk-Computer;

Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer nach einem digitalen Zertifikat;

Verifikation der Identität des Mikrocontrollers durch den Netzwerk-Com puter, und zwar durch Prüfung des vom Mikrocontroller erhaltenen Veri fikationsparameters;

Ausstellung eines digitalen Zertifikats, umfassend einen zweiten Authen- tifizierungsschlüssel, durch den Netzwerk-Computer und Übermittlung des digitalen Zertifikats von dem Netzwerk-Computer an den Mikrocon troller, sofern die vorherige Verifikation der Identität des Mikrocontrol lers erfolgreich war; und

Speichern des digitalen Zertifikats im Speicherbaustein des Mikrocon trollers.

Dabei kann die Erstellung des ersten und des zweiten Authentifizierungs-schlüssels bevorzugt durch ein Zufallsprinzip erfolgen. Insbesondere kann die Erstellung des ersten und des zweiten Authentifizierungsschlüssels durch die Erzeugung einer Zufallszahl oder einer zufälligen Zeichenkette durch den Mikrocontroller erfolgen.

Zur weiteren Ausgestaltung des erfindungsgemäßen Verfahrens kann vorgese hen sein, dass beim Zero-Knowledge-Verfahren ein Password-Authenticated-Key-Agreement-Verfahren, auch bekannt als PAKE-Verfahren, verwendet wird. Das PAKE-Verfahren stellt eine Untergruppe der Zero-Knowledge-Verfahren dar. Das PAKE-Verfahren ist in der Kryptographie bekannt und ermöglicht es mehreren Kommunikationspartnern, auf Grundlage eines bei einem der Kom munikationspartner vorhandenen Schlüssels kryptographische Schlüssel für die sichere Kommunikation zu erstellen. Eine unbefugte Person, die den Kommu nikationskanal zwischen den Kommunikationspartnern unbefugt abhört, kann die zwischen den Kombinationspartner verschlüsselt ausgetauschten Informa tionen nicht entschlüsseln.

Gemäß einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens kann ferner vorgesehen sein, dass bei der Initiierung des Mikro controllers das Secure Remote Password Protokoll, auch bekannt als SRP-Pro-tokoll, verwendet wird.

Das SRP-Protokoll (nachfolgend auch als das SRP-Verfahren bezeichnet) ist ein aus der Kryptographie bekanntes Verfahren, das zur Passwort-Authentifizie-rung genutzt wird. Auch wenn das SRP-Verfahren in verschiedenen Versionen bekannt ist, insbesondere in den Versionen 3, 6 und 6a, ist das Grundprinzip bei allen Versionen identisch. Sämtliche der vorstehend genannten Versionen des SRP- Protokolls sind für das vorliegende erfindungsgemäße Verfahren ge eignet. Ein großer Vorteil der Verwendung des SRP- Protokolls ist, dass keine dritte Partei, welche als vertrauenswürdige Zertifizierungsstelle tätig sein muss, notwendig ist, um die Identität einer Partei zu verifizieren. Im Zusam menhang mit dem erfindungsgemäßen Verfahren kann insbesondere vorgese hen sein, dass der Mikrocontroller zunächst einen Benutzernamen, einen ers ten Authentifizierungsschlüssel, der während der Initiierung des Mikrocontrol- lers verwendet wird, einen Salt (zufällig gewählte Zeichenfolge) und einen Ve rifikationsparameter (im Englischen ebenfalls als "verifier" bezeichnet) gene riert. Der Benutzername, der Salt sowie der Verifikationsparameter werden anschließend an den Netzwerk-Computer übermittelt. Der Netzwerk-Computer kann dann mittels der ihm übermittelten Informationen gemäß dem SRP-Pro-tokoll die Authentizität des Mikrocontrollers verifizieren. Ist die Verifikation er folgreich, so kann der Netzwerk-Computer ein digitales Zertifikat für den Mik rocontroller ausstellen und an diesen übertragen. Das digitale Zertifikat, das anschließend beim Datenaustausch zwischen dem Mikrocontroller und dem Netzwerk-Computer verwendet wird, kann insbesondere einen zweiten Au-thentifizierungsschlüssel umfassen, der sich vom ersten Authentifizierungs-schlüssel unterscheidet. Während der erste Authentifizierungsschlüssel wäh rend des Vorgangs der Initiierung des Mikrocontrollers eingesetzt wird, kann der zweite Authentifizierungsschlüssel während des Vorgangs des Austauschs von Daten zwischen dem Mikrocontroller und dem Netzwerk-Computer einge setzt werden.

Auch kann gemäß einer weiteren vorteilhaften Ausführungsform des erfin dungsgemäßen Verfahrens vorgesehen sein, dass der Schritt der Initiierung des Mikrocontrollers die folgenden Schritte umfasst:

Generierung eines ersten Authentifizierungsschlüssels;

Aufbau einer Verbindung zwischen dem Mikrocontroller und dem Netz werk-Computer;

Anfrage des Mikrocontrollers gegenüber dem Netzwerk-Computer nach einem digitalen Zertifikat;

Verifikation der Identität des Mikrocontrollers durch Prüfung des ersten Authentifizierungsschlüssels und Verwendung des SRP-Verfahrens;

Ausstellung eines digitalen Zertifikats, umfassend einen zweiten Authen tifizierungsschlüssel, durch den Netzwerk-Computer und Übermittlung des digitalen Zertifikats von dem Netzwerk-Computer an den Mikrocon troller, sofern die vorherige Verifikation der Identität des Mikrocontrol lers erfolgreich war; und

Speichern des digitalen Zertifikats im Speicherbaustein des Mikrocon trollers.

Weiterhin kann gemäß einer Ausführungsform des erfindungsgemäßen Verfah rens vorgesehen sein, dass bei dem der Initiierung nachgeschalteten Schritt des Austauschs von Nutzerdaten zwischen dem Mikrocontroller und dem Netz werk-Computer ein verschlüsselter Austausch unter Verwendung des Trans port Layer Security Protokolls, auch bekannt als TLS-Protokoll, erfolgt. Der Einsatz des TLS- Protokolls ermöglicht eine erhöhte Sicherheit bei der Kommu nikation zwischen dem Mikrocontroller und dem Netzwerk-Computer.

Gemäß einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass bei dem TLS-Protokoll ein zweiseitiges TLS-Protokoll verwendet wird, bei dem sowohl das digitale Zertifikat des Mik rocontrollers durch den Netzwerk-Computer verifiziert wird, als auch das digi tale Zertifikat des Netzwerk-Computers durch den Mikrocontroller verifiziert wird. Durch die beidseitige Verifikation der entsprechenden digitalen Zertifi kate kann die Sicherheit bei der Kommunikation zwischen dem Mikrocontroller und dem Netzwerk-Computer weiter erhöht werden.

In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens kann ferner vorgesehen sein, dass bei der Initiierung des Mikrocontrollers zusätzlich eine Firmware von dem Netzwerk-Computer an den Mikrocontroller übertragen und auf dem Mikrocontroller installiert wird. Dadurch kann eine besonders effi ziente und quasi-zeitgleiche Auslieferung von anwendungsspezifischen Firm-wares erfolgen. Auch kann durch die simultane Ausgabe des digitalen Zertifi kats und der Firmware an den Mikrocontroller erreicht werden, dass die Ein richtung eines Mikrocontrollers innerhalb kürzester Zeit erfolgen kann. Dies ist insbesondere dann vorteilhaft, wenn zahlreiche Mikrocontroller zeitgleich ein zurichten sind. Auf diese Weise kann der notwendige Zeitaufwand sowie der Kostenaufwand für die Inbetriebnahme zahlreicher Mikrocontroller in einem Netzwerk signifikant reduziert werden.

Es wird vorliegend als selbstverständlich angesehen, dass das erfindungsge mäße Verfahren auch mit sämtlichen Merkmalen kombinierbar ist, die vorlie gend im Zusammenhang mit dem erfindungsgemäßen Mikrocontroller, dem Netzwerk-Computer oder dem Kommunikationssystem beschrieben sind.

Ferner wird zur Lösung der vorstehend genannten Aufgabe ein Netzwerk-Computer mit einem Prozessor, einem Speicherbaustein und einem Netzwerk modul vorgeschlagen, wobei der Prozessor dazu ausgelegt ist,

eine Verbindung mit einem Mikrocontroller aufzubauen;

ein digitales Zertifikat auszustellen;

das digitale Zertifikat an den Mikrocontroller zu übermitteln;

das digitale Zertifikat des Mikrocontrollers zu verifizieren; und

mit dem Mikrocontroller Nutzerdaten auszutauschen, sofern die vorhe rige Verifikation des digitalen Zertifikats des Mikrocontrollers erfolgreich war.

Durch den erfindungsgemäßen Netzwerk-Computer kann eine besonders effizi ente und sichere Ausstellung digitaler Zertifikate für Mikrocontroller erreicht werden.

Gemäß einer Ausführungsform des erfindungsgemäßen Netzwerk-Computers kann ein zusätzliches Hochsicherheits-Modul (auch bekannt als Hardware Security Modul - HSM) zur Speicherung eines Authentifizierungsschlüssels vor gesehen sein. Hochsicherheits-Module sind in der Kryptographie bekannt und ermöglichen effiziente und sichere Ausführung kryptographischer Operation. Durch die Verwendung eines Hochsicherheit-Moduls können daher die sensib len Schlüssel in einem separaten, geschützten Speicher hinterlegt werden. Dadurch wird die Sicherheit bei der Kommunikation zwischen dem Mikrocon troller und dem Netzwerk-Computer weiter erhöht.

Es wird vorliegend als selbstverständlich angesehen, dass der erfindungsge mäße Netzwerk-Computer auch mit sämtlichen Merkmalen kombinierbar ist,

die im Zusammenhang mit dem erfindungsgemäßen Mikrocontroller, dem er findungsgemäßen Verfahren oder dem Kommunikationssystem beschrieben sind.

Schließlich wird zur Lösung der vorstehend genannten Aufgabe ein Kommuni kationssystem vorgeschlagen, umfassend den vorstehend beschriebenen, er findungsgemäßen Mikrocontroller und den vorstehend beschriebenen, erfin dungsgemäßen Netzwerk-Computer. Auch wird es vorliegend als selbstständig angesehen, dass das erfindungsgemäße Kommunikationssystem sämtliche Merkmale aufweisen kann, die im Zusammenhang mit dem erfindungsgemä ßen Mikrocontroller, dem erfindungsgemäßen Verfahren oder dem Netzwerk-Computer beschrieben sind.

Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen und unter Bezugnahme auf die Zeichnungen näher erläutert. Im Einzelnen zeigen dabei :

Fig. 1 eine Prinzipdarstellung einer Ausführungsform des erfindungsgemä ßen Mikrocontrollers und des Netzwerk-Computers,

Fig. 2 eine Prinzipdarstellung einer weiteren Ausführungsform des erfin dungsgemäßen Mikrocontrollers umfassend ein Display,

Fig. 3 eine Prinzipdarstellung einer weiteren Ausführungsform der Erfindung umfassend mehrere erfindungsgemäße Mikrocontroller,

Fig. 4 ein Flussdiagramm zur Darstellung der übergeordneten Schritte des erfindungsgemäßen Verfahrens,

Fig. 5 ein weiteres Flussdiagramm zur Darstellung der einzelnen Schritte der Initiierung des Mikrocontrollers,

Fig. 6 ein weiteres Flussdiagramm zur Darstellung der einzelnen Schritte des Austauschs von Nutzerdaten zwischen dem Mikrocontroller und dem Netzwerk-Computer,

Fig. 7 abgefangenen Azure IoT-Datenverkehr,

Fig. 8 Mehrparteien IoT-PKI- Lösung mit symbiotischer Sicherheit und

Fig. 9 Bausteine einer Hardware Crypto Engine.

In der Fig. 1 ist eine Ausführungsform des erfindungsgemäßen Mikrocontrol lers 10 schematisch dargestellt. Der Mikrocontroller 10 ist dazu ausgelegt, mit dem erfindungsgemäßen Netzwerk-Computer 12 zu kommunizieren. Insbeson dere kann vorgesehen sein, dass der Netzwerkcomputer 12 Steuerbefehle an den Mikrocontroller 10 senden kann. Der Mikrocontroller 10 und der Netzwerk-Computer 12 bilden gemeinsam das erfindungsgemäße Kommunikationssys tem 14.

Der Mikrocontroller 10 verfügt über einen Speicherbaustein 16 zum Speichern eines digitalen Zertifikats. Der Speicherbaustein 16 kann insbesondere als Flash- oder EEPROM-Speicher ausgeführt sein. Zudem verfügt der Mikrocon troller 10 über ein Netzwerkmodul 18 für die Herstellung einer Verbindung mit einem Netzwerk. Das Netzwerkmodul 18 kann insbesondere als WLAN-Modul ausgeführt sein. Zudem weist der Mikrocontroller 10 einen Prozessor 20 auf. Der Prozessor 20 ist dazu ausgelegt, eine Verbindung mit dem Netzwerk-Com puter 12 aufzubauen, bei dem Netzwerk-Computer 12 nach einem digitalen Zertifikat anzufragen, das digitale Zertifikat zu empfangen und im Speicher baustein 16 abzuspeichern und mit dem Netzwerk-Computer 12 Daten auszu tauschen, sofern eine vorherige Verifikation des digitalen Zertifikats des Mikro controllers 10 erfolgreich war. Der Speicherbaustein 16, das Netzwerkmodul 18 und der Prozessor 20 sind in einem Mikrocontrollergehäuse 21 angeordnet. Ferner weist der Mikrocontroller 10 Verbindungsleitungen 22 auf, die dazu die nen, den Mikrocontroller 10 mit einer Leiterplatine und/oder mit weiteren Komponenten zu verbinden. Auch der Netzwerk-Computer 12 weist einen Speicherbaustein, ein Netzwerkmodul und einen Prozessor auf, die jedoch in der Fig. 1 nicht gesondert dargestellt sind.

In der Fig. 2 ist eine weitere Ausführungsform des erfindungsgemäßen Mikro controllers 10 dargestellt. Gemäß der in dieser Figur dargestellten Ausfüh rungsform weist der Mikrocontroller 10 ein Display 24 auf. Das Display 24 ist in diesem Ausführungsbeispiel als E-Ink-Display 26 ausgeführt. Dabei ist das Mikrocontrollergehäuse 21 mittels der Verbindungsleitungen 22 mit dem Dis play 24 verbunden. Der in diesem Ausführungsbeispiel gezeigte Mikrocontrol ler 10 kann zum Anzeigen von Preisen in einem Kaufhaus genutzt werden. Über die Verbindung des Mikrocontrollers 10 mit einem Netzwerkcomputer 12 kann der Preis einer Ware einfach und bequem aktualisiert werden, ohne dass ein Mitarbeiter ein Preisschild austauschen muss.

In der Fig. 3 sind mehrere Mikrocontroller 10 dargestellt, die jeweils mit einem Display 24 ausgestattet sind. Sämtliche der Mikrocontroller 10 sind mit einem Netzwerk-Computer 12 verbunden der Netzwerk-Computer 12 kann daher sämtliche auf den Displays 24 angezeigten Preise zentral verwalten und diese bei Bedarf aktualisieren. Auf diese Weise können beispielsweise sämtliche Preisschilder in einem Kaufhaus über ein und denselben Netzwerk-Computer 12 gesteuert werden. Dadurch wird eine effiziente Ansteuerung zahlreicher elektronischer Preisschilder in einem Kaufhaus gewährleistet.

Weiterhin ist in der Fig. 4 eine Übersicht zu den übergeordneten Verfahrens schritten der Initiierung S100 des Mikrocontrollers sowie des anschließenden Austauschs von Nutzerdaten S200 abgebildet. Gemäß dem erfindungsgemä ßen Verfahren wird zunächst in einem ersten Schritt der Mikrocontroller für die Kommunikation mit dem Netzwerk-Computer 12 vorbereitet. Diese Vorberei tung läuft innerhalb des Initiierungsschrittes S100 ab. Nachdem die Initiierung S100 abgeschlossen ist, ist der Mikrocontroller 10 für die Kommunikation mit dem Netzwerk-Computer 12 vorbereitet, sodass der Austausch S200 von Nut zerdaten zwischen dem Mikrocontroller 10 und dem Netzwerk-Computer 12 erfolgen kann.

In der Fig. 5 sind die einzelnen Schritte der Initiierung S100 dargestellt. Zu nächst wird eine Verbindung zwischen dem Mikrocontroller 10 und dem Netz-

werk-Computer 12 aufgebaut (Schritt S102). Dabei kann bevorzugt eine gesi cherte Verbindung zwischen dem Mikrocontroller 10 und dem Netzwerk-Com puter 12 aufgebaut werden. Anschließend fragt der Mikrocontroller beim Netz werk-Computer 12 nach einem digitalen Zertifikat an (Schritt S104). Gemäß einer bevorzugten Ausführungsform der Erfindung kann vorgesehen sein, dass der Netzwerk-Computer 12 zunächst die Identität des Mikrocontrollers 10 veri fiziert. Dies kann beispielsweise über die Abfrage eines Authentifizierungs-schlüssels erfolgen. Beispielsweise kann dieser Authentifizierungsschlüssel zu vor durch den Mikrocontroller generiert worden sein. Anschließend kann der Netzwerk-Computer 12, unter der Voraussetzung einer erfolgreichen Authenti-fizierung des Mikrocontrollers 10, ein digitales Zertifikat für den Mikrocontroller 10 ausstellen (Schritt S106). Das vom Netzwerk-Computer 12 generierte digi tale Zertifikat wird anschließend an den Mikrocontroller 10 übermittelt (Schritt S108). Schließlich wird das digitale Zertifikat im Speicherbaustein 16 des Mik rocontrollers 10 abgespeichert (Schritt 110).

In der Fig. 6 sind die einzelnen Schritte des Datenaustauschs S200 dargestellt. In einem ersten Schritt wird eine Verbindung zwischen dem Mikrocontroller 10 und dem Netzwerk-Computer 12 aufgebaut (Schritt S202). Anschließend veri fiziert der Netzwerk-Computer 12 das digitale Zertifikat des Mikrocontrollers 10 (Schritt S204). Ist diese Verifikation erfolgreich, so wird der Austausch der Nutzerdaten zwischen dem Mikrocontroller 10 und dem Netzwerk-Computer 12 erlaubt (Schritt S206) sofern die Verifikation nicht erfolgreich war, wird der Austausch von Daten zwischen dem Mikrocontroller 10 und dem Netzwerk-Computer 12 verweigert (Schritt S208). Zudem kann vorgesehen sein, dass nicht nur der Netzwerk Computer 12 das digitale Zertifikat des Mikrocontrol lers 10 verifiziert, sondern auch das der Mikrocontroller 10 das digitale Zertifi kat des Netzwerk-Computers 12 verifiziert. Auf diese Weise kann gewährleistet werden, dass der Austausch lediglich zwischen zwei berechtigten Parteien er folgen kann.

In der Fig. 7 sind ein abgefangener Azure Datenverkehr, in der Fig. 8 eine Mehrparteien (Multi-tenant) IoT PKI Lösung mit symbiotischer Sicherheit

(Symbiotic Security) und in der Fig. 9 Bausteine einer Hardware-Krypto-En-gine gezeigt. Auf die Figuren 7 bis 9 wird im Zusammenhang mit der nachfol genden, alternativen Beschreibung der weiteren erfindungsgemäßen Aspekte eingegangen.

Bezuaszeichenliste

10 Mikrocontroller

12 Netzwerk-Computer

14 Kommunikationssystem

16 Speicherbaustein

18 Netzwerkmodul

20 Prozessor

21 Mikrocontrollergehäuse

22 Verbindungsleitung

24 Display

26 E-Ink-Display

S100 Verfahrensschritt der Initiierung des Mikrocontrollers S200 Verfahrensschritt des Austauschs von Nutzerdaten S102 Verfahrensschritt des ersten Verbindungsaufbaus S104 Verfahrensschritt der Zertifikatsanfrage

S106 Verfahrensschritt der Zertifikatsausstellung

S108 Verfahrensschritt der Zertifikatsübermittlung

S110 Verfahrensschritt der Zertifikatsspeicherung

S202 Verfahrensschritt des zweiten Verbindungsaufbaus S204 Verfahrensschritt der Zertifikatsverifikation

S206 Verfahrensschritt des Datenaustauschs

S208 Verfahrensschritt des verweigerten Datenaustauschs

Zur Verdeutlichung weiterer Aspekte der vorliegenden Erfindung wird die Erfin dung durch die nachfolgende, alternative Beschreibung erläutert.

Referenzarchitektur für die Erstanmeldung von IoT-Geräten und fallspezifischer bzw. einsatzabhängiger Firmwarekopplung mit symbiotischer Sicherheit (Symbiotic Security)

Zusammenfassung - Wie zuvor dargelegt, verbindet symbiotische Sicherheit alle wesentlichen Komponenten und Entitäten der "Factory of Tomorrow (Fab rik von morgen)" zu einer Einheit der Koexistenz, bei welcher eingebettete Ge räte oder IoT (Internet of Things/Internet der Dinge) nicht nur auf Zwischen einrichtungen wie Gateways angewiesen sind, um ein ausreichendes Maß an Architektursicherheit zu gewährleisten, sondern vielmehr denselben hohen Standard mit Hilfe von starker Kryptographie (beispielsweise Transport Layer Security oder TLS) implementieren, um dessen durchgehende Verwendung über die gesamte Plattform, bestehend aus dem Internet of Things (Internet der Dinge) und dem Internet of Services (Internet der Dienste), zu unterstüt zen. Letzteres ist in seiner entfernten und dezentralen Form des Cloud-Com-puting besser bekannt und verstanden, bei welchem in hohem Maße verfüg bare und skalierbare Ressourcen zusammengeführt werden, um die einge hende Telemetrie oder, einfach ausgedrückt, eine große Menge an Rohdaten zu verarbeiten, die heute allgemein auch als "Big Data" bezeichnet wird. Vor der Bildung dieser festen Allianz der symbiotischen Sicherheit, müssen IoT-Geräte zu deren zielspezifischen Standorten (beispielsweise Kunde oder Fabrik A oder B) transportiert werden, wo sie anschließend mit der entsprechenden Firmware unter Implementierung der erforderlichen Geschäftslogik A oder B versehen werden müssen, und daher auch aus der Ferne in sicherer Weise ak tiviert werden müssen. Die vorliegende Beschreibung stellt eine Referenzarchi tektur basierend auf den vorgenannten kumulativen Erfordernissen vor, die auch das höchste gegenwärtig bekannte Level an Schlüsselschutz und Zu gangskontrolle ermöglicht. Der zugrundeliegende Ansatz bereitet damit den Weg für praktische Konstruktionen von belastbaren kritischen Infrastrukturen (Resilient Critical Infrastructures).

I. Einleitung

Bereits durch die vorhergehende Arbeit des Erfinders wurde demonstriert, dass die sichere Aktivierung von IoT-Geräten fragil und indirekt anfällig ist (siehe Lo Ra WAN Over-the-Air Activation and Activation By Personalization protocol flaws). Dieser Anfangsschritt ist vielleicht der kritischste aller Pro zesse, bedenkt man seine große und fundamentale Abhängigkeit von dem Ge-samtsicherheitslevel des zugrundeliegenden Identitäts- und Zugangs- sowie Schlüsselmanagements; daher der Begriff "symbiotische Sicherheit" in Anspie lung auf die Kette von Abhängigkeiten, die zur Sicherung der gesamten Archi tektur erforderlich ist. Da der Onboarding-Workflow im Wesentlichen von der Back-End-Infrastruktur als Teil der genannten Architektur gesteuert und kon trolliert wird, erörtert dieses Paper wichtige Probleme und Lösungen mit dem Fokus auf zwei prominente Infrastruktur-Hostingumgebungen, die in den nachfolgenden Abschnitten vorgestellt werden. Darüber hinaus ist die Arbeits hypothese an diesem Punkt, dass das entfernte Back-End nur die im Hinblick auf die gegenseitige Authentisierung, Vertrauenswürdigkeit durch Verschlüsse lung und Integritätskontrolle stärksten Kommunikationsendpunkte zulässt. Ein wichtiger Hinweis ist hierbei, dass der de-facto Netzwerksicherheitsstandard, der diese Anforderungen implementiert, die Transport Layer Security oder kurz TLS ist [1]. Die unvermeidbare Abhängigkeit von TLS und die daraus resultie rende Störquelle der Implementierung derselben in eigebetteten Geräten ist am besten durch das folgende Zitat beschrieben : "The current reality is that we don't have many if any serious alternatives to TLS/DTLS or SSH for securing this application-level connection or route today. TLS is far from being a perfect fit for many reasons I laid out here, and not least because of the weight in footprint and compute effort of the TLS stack which is too heavy for inexpensive circuitry. SSH is a reasonable alternative from the existing populär protocol suites, but suffers from lack of a standardized session resumption gesture. [Die gegenwärtige Realität ist, dass wir heute nicht viele, wenn über haupt eine ernsthafte Alternative zu TLS/DTLS oder SSH für die Sicherung die ser Verbindung oder Route auf Anwendungsebene haben. TLS ist aus vielen, vom mir hier dargelegten Gründen weit davon entfernt, eine perfekte Lösung zu sein, und dies nicht zuletzt, wegen des Implementierungsumfangs (Foot prints) und des Rechenaufwands der TLS-Logik, das zu hoch für kostengüns tige Schaltungen ist. SSH ist eine geeignete Alternative aus den existierenden populären Protokollsuiten, jedoch fehlt eine standardisierte Möglichkeit für Sit zungswiederaufnahmen.]" [10] Wichtiger als die Fortsetzung der Sitzung ist das explizite Vertrauensmodell von SSh, bei welchem öffentliche Schlüssel eins-zu-eins bzw. persönlich/individuell ausgetauscht sowie autorisiert werden und diesen vertraut werden muss. Im Gegensatz dazu ist bei TLS das Ver trauen implizit; wenn beide Parteien bei einer beliebigen Kommunikation der gleichen Zertifizierungsstelle vertrauen, vertrauen sie automatisch einander, wodurch die gegenseitige Authentisierung wiederum erheblich vereinfacht wird.

A. Cloud-Computing und IoT- Referenzplattformen

Zwei der herausragendsten Beispiele für cloud-basierte Rechenumgebungen zur Durchsetzung dieses Prinzips sind AWS und Azure. Zu einer Zeit, als Micro soft mit seiner entsprechenden Plattform mit dem Namen "AZURE" lediglich als "visionär" eingestuft wurde, wurde AWS oder Amazon Web Services im Jahr 2013 zum unangefochtenen Anführer auf dem Gebiet der Cloud Compu ting Provider [2]. Jedoch kann die allgemeine Struktur der meisten, wenn nicht aller Hosting-Umgebungen mit dem Begriff "Virtuelle Maschinen" (VM) und "Storage Area Networks" (SAN) zusammengefasst werden. Während ers-tere im Grunde eine Art von Bare-Metal-Hypervisor-Technologie verwenden, um mehrere Betriebssysteme (und damit Virtuelle Maschinen) auf einer einzi gen Hardwareeinheit zu betreiben, vereinen letztere sämtliche erforderliche physische Speicher für diese Virtuelle Maschinen in einem gewidmeten Hard warestack, der in seinem eigenen Netzwerkraum enthalten ist (daher der Name Storage Area Network), in dem sich Virtuelle Maschinen mit ihren ent sprechenden Speicherplätzen, besser bekannt als "Virtual Disks", verbinden und an diese anschließen können. Auf einem höheren Level stellen Cloud-Computing-Plattformen üblicherweise ebenfalls Dienstleistungen einer gewid meten Datenbank sowie Verwaltungs- und Netzwerkdienstleistungen bereit.

Sowohl AWS, als auch Azure zeichnen sich ebenfalls durch ihre Sicherheitsan gebote aus, bei denen eine Vielzahl verschiedener Optionen im Hinblick auf den Datenschutz während der Speicherung durch starke Verschlüsselung, regi onale VM-Ausführung oder Geo-Positionierung sowie hardware-basierte

Schlüsselverwaltung vorgesehen sind. Kürzlich haben beide Anbieter begon nen, in gewidmete neuronale Netzwerkmodelle und Dienstleistungen zur Un terstützung der Idee und der Realisierung von maschinellem Lernen zu inves tieren, bei welchen auf der Basis eingehender Rohdaten getroffene Vorhersa gen mit der Zeit genauer werden.

1) AWS IoT: AWS bietet seine eigene IoT-Referenzarchitektur an [3], die im Wesentlichen aus Amazon FreeRTOS und AWS IoT Core besteht. Amazon Fre-eRTOS [4] basiert auf dem bekannten FreeRTOS Betriebssystem für Mikrocon troller, bei welchem AWS-spezifische Software-Bibliotheken enthalten sind, um eine leicht verfügbare Firmware oder ein solches Echtzeitbetriebssystem (Real-Time Operating System (RTOS)) für eine Anzahl von qualifizierten MCU (micro Controller unit oder Mikrocontrollereinheit) bereitzustellen [5]. Die Konnektivi tät mit dem IoT Core ist durch MQTT (Message-Queuing Telemetry Transport) hergestellt, die wiederum mit Hilfe von TLS gesichert ist. Es ist wichtig, zu er wähnen, dass AWS IoT Core nur wechselseitige bzw. Zwei-Wege-TLS (auch bezeichnet als two-way TLS) akzeptiert, bei welcher nicht nur die Serverseite (IoT Core) sich gegenüber dem Client (IoT Node) authentisiert, sondern auch von dem Client erwartet, dass dieser im Gegenzug dessen eigene X.509 v3 DI GITAL CERTIFICATE präsentiert [6]. Während diese unabdingbare Anforderung (Anmerkung : TLS client-seitige Authentisierung kann auch optional sein) TLS vom Standpunkt des Identitäts- und Zugangsmanagements zu einem "Vorbild an Tugend" macht, stellt sie gleichzeitig ein großes organisatorisches Hindernis für den Entwickler dar, der gezwungen ist, eine Zertifizierungsstelle einzurich ten und diese als Public Key Infrastructure (PKI) aufrechtzuerhalten, um si cherzustellen, dass seine Geräte authentisieren und somit an dem AWS IoT Angebot teilnehmen können. Das Einrichten solider PKI-Systeme ist eine schwierige Aufgabe, die fortgeschrittene Kenntnis auf dem Gebiet der krypto-graphischen Schlüsselverwaltung erfordert, wie in diesem Paper dargelegt werden wird. Darüber hinaus bringen Zertifizierungsstellen stets erheblichen Verwaltungsmehraufwand mit sich, der sorgfältige Planung und Ausführung er fordert. Während AWS IoT Zertifikate verwenden kann, die sowohl von AWS IoT intern, als auch von einer bekannten externen Zertifizierungsstelle gene riert wurden, erfordert eine ideale IoT-Umgebung, die den Grundprinzipien der INDUSTRIE 4.0 folgt [7], ein hohes Maß an Automatisierung, um unabhängige cyber-physische Systeme (Cyber Physical Systems (CPS)) zu ermöglichen, die nach [8] physische Prozesse und Berechnungen integrieren, indem sie einge bettete Computer und Netzwerke verwendet, um die zugrundeliegenden physi schen Workflows zu steuern. Die Obergrenze von AWS IoT Core in Bezug auf PKI ist die Fähigkeit, eine Zertifizierungsstelle unter dem Account eines Ent wicklers zu registrieren, was diesen noch nicht von der Verantwortung befreit, eine vollwertige Zertifizierungsstelle gemäß der zu erwartenden fachlichen Praxis zu betreiben.

Eine weitere wichtige Anmerkung ist, dass AWS IoT von Entwicklern verlangt, Zertifikate und die entsprechenden kryptographischen Schlüssel zuvor in ein fache Byte-Arrays oder C-Strings zu konvertieren, bevor diese in das von der MCU auszuführende binäre Abbild eingebettet oder fest programmiert werden (siehe [6], S. 39). Dies bietet wenig bis keinen Schutz des geheimen Schlüs selmaterials, wenn man berücksichtigt, dass IoT Nodes oder CPS in einem Be reich arbeiten sollen, in dem sie potentiell feindlichem physischem Zugang ausgesetzt sind. Sämtliche gegenwärtig verfügbaren MCU-Module, die für das AWS IoT-Angebot qualifiziert sind [5], sind mit Flash- und EEPROM-Speichern ausgerüstet, die für ihre Empfindlichkeit für sowohl invasive, als auch nicht-in vasive Datenmanipulations- und -extraktionstechniken bekannt sind.

Im Hinblick auf den Gesamtverbrauch des MCU-Code-Raums, plant AWS zum Zeitpunkt des Verfassens dieser Beschreibung den Release eines Over-the-Air-Updatemechanismus (OTA), der den Nachteil des Speicherns zweier Firmware-Images im Programmspeicher des Moduls zur selben Zeit mit sich bringen wird.

2) Microsoft Azure IoT: Microsofts IoT-Architektur weist im Grunde dieselbe Struktur wie diejenige von AWS auf, indem sie Standard-Kommunikationsin terfaces IoT Nodes über einen IoT Hub aussetzt, welcher das Äquivalent zu AWS IoT Core darstellt. Die allgemeine Empfehlung von Microsoft ist es, REST

[11] über HTTPS einzusetzen, wobei der Payload in JavaScript Object Notation (JSON) formatiert ist, welche, wie in Fig. 7 dargestellt, für Menschen lesbar ist

[12] durch das Abfangen des ansonsten TLS-geschützten Verkehrs zwischen einer exemplarischen client-seitigen Anwendung, die durch konstantes Über tragen von Telemetriedaten ein IoT-Gerät simuliert, und einer IoT Hub-In stanz, welche diese empfängt und verarbeitet.

Das Abfangen und Aufzeichnen des Datenverkehrs erfolgte mittels des Open-Source interaktiven HTTPS Proxy mitmproxy (man in the middle proxy) [13], der für verschiedene Plattformen einschließlich Docker [14] und das Windows Subsystem für Linux (WSL) [15] erhältlich ist. Letzteres ermöglicht das Umlei ten sämtlichen relevanten Datenverkehrs zu einer Anwendung (beispielsweise mitmproxy), die in einem eingebetteten Linux-Container in Windows läuft, so als ob diese Anwendung direkt in Windows liefe.

Außer den IoT-Geräten sind weitere Kernkomponenten :

1) IoT Hub: schafft sichere Kommunikationsendpunkte durch die stetige Ver wendung von TLS/HTTPS und verwaltet Geräte

2) IoT Hub Device Provisioning Service: registriert automatisch IoT-Geräte bei einem IoT Hub, führt einen Lastausgleich über mehrere Hubs durch und gleicht verschiedene Geräteverbindungen mit deren jeweiligen IoT Lösungen nach Multi-tenant-Art ab

3) Streamprozessor: regelbasierte Downstream-Auswertung von Daten (so bald sie extrahiert und von dem IoT Hub geliefert werden)

4) Speicher: dauerhaftes Hosten von verarbeiteten Daten mit optionalem fes tem Datenschutz beim Speichern durch starke Verschlüsselung und hardware basierte Schlüsselverwaltung (ein weiteres optionales Element)

5) Geschäftslogikintegrator: integriert verarbeitete und gespeicherte Daten mit Web- oder generischen Anwendungen unter Implementierung bestimmter Ge schäftslogik

B. Target-Plattform, Auswahlkriterien und innere IoT Mechanismen

Für unsere Referenzarchitektur wurde vorliegend aus verschiedenen Gründen Microsoft Azure als die Target- Plattform ausgewählt:

• nahtlose Integration von Microsoft-Produkten, -Betriebssystemen, und -Un ternehmensmanagementlösungen, beispielsweise Azure Active Directory [16]

• enge Integration von bekannten Entwicklungstools, beispielsweise Microsoft Visual Studio DIE mit eingebauter Identitäts- und Zugangsverwaltung sowie Versionierungssystem

• die Fähigkeit, nicht nur Virtuelle Maschinen einzusetzen, sondern auch ge widmete eigenständige Web-Anwendungen und Datenbanken

Geopositionierungsoptionen und Unterstützung zum Binden von Anwendungen und Virtuelle Maschinen an gewidmete physische Hardwareeinheiten. Dies kann von besonderem Interesse in hochkritischen Umgebungen auf Infrastruk turebene sein, die gewährleisten müssen, dass alle potentiellen Angriffs Vekto ren antizipiert und behoben werden. Jüngere Beispiele für eine derartige Be drohung sind der Meltdown- und der Spectre-Angriff. Während Meltdown An fälligkeiten und Fehler von CPU-Architekturen ausnutzt, um schädlichen An wendungen das Durchdringen der Sperre zwischen dem User-Space und dem Betriebssystem (kernel) zu durchdringen [18], zielt Spectre auf die Isolier schicht zwischen User-Space-Anwendungen ab, um Datenverluste in legitimen Anwendungen zu verursachen [19].

• in hohem Maße skalierbare AZURE KEY VAULT [17], basierend auf physi schen HIGH SECURITY MODULE (HSM) Anwendungen mit nativem Schlüssel managementsupport für Virtuelle Maschinen und Datenbanken.

Vor der Verwendung von IoT-Geräten im praktischen Einsatz besteht stets das komplexe Problem der ersten Bereitstellung, das einsetzt, sobald die auf der Technologie eines bestimmten Verkäufers basierenden IoT-Geräte erworben wurden und in einem nachfolgenden Schritt in deren Produktionsumgebung gebracht werden müssen. Der nächste Abschnitt dieser Beschreibung beschäf tigt sich mit der Frage, warum dies ein ernsthaftes Problem ist, und wie dies auf sichere Weise gelöst werden kann. Soweit es Azure IoT betrifft, beginnt jede Anwendung mit dem Prozess der Geräteanmeldung (Erstanmeldung) bei einer erfolgreichen Authentisierung entweder eines einzelnen Geräts oder ei ner Gruppe solcher Geräte. Die Authentisierung erfolgt über einen der beiden hauptsächlichen Bestätigungsmechanismen : X509 certification und Trusted Platform Module (TPM). Während die client-seitige Zertifikatauthentisierung eine bekannte und akzeptierte Methodik als Teil des TLS-Standards ist [1], er fordert die TPM-Bestätigung das Vorhandensein einer TPM- oder TPM-artigen Komponente (TPM kann eigenständig, integriert, durch einen Hypervisor virtu-alisiert oder Software basiert sein, obwohl letzteres weniger sicher als eine rein hardwarebasierte Alternative ist). TPM ist im Grunde ein kryptografischer Pro zessor, der einen asymmetrischen Endorsement Key aufweist, der von dem TPM-Hersteller in jede Einheit eingebettet wird. Die TPM-Bestätigung nutzt die sen Schlüssel zum Beweis des Besitzes des privaten Teils desselben in einem Challenge-Response-Protokoll, wobei der Device Provisioning-Dienst eine Nonce erzeugt, diese mit dem TPM-Schlüssel verschlüsselt (TPM weist eine Hierarchie von Schlüsseln auf, an deren Spitze stets der Endorsement Key steht), sendet sie zum Modul zurück und erwartet eine von der Nonce signier tes eine Shared Access Signature-Token zu erhalten [22].

Der undurchsichtige TPM-Ansatz für die Endorsement Key-Erzeugung ist auch einer der größten Kritikpunkte an der Trusted Platform : es gibt keine Garantie, dass der Hersteller nicht willentlich eine Kopie jedes einzelnen Schlüssels spei chert, wobei ein derartiger zentraler Speicher beeinträchtigt, auf andere Art ein Zugriff ohne Kenntnis des TPM-Besitzers erfolgen, oder im schlimmsten Fall vielleicht die Beute eines staatlichen oder staatlich unterstützten Angrei fers werden. Diese Punkte werden seit langer Zeit von verschiedenen Seiten kritisiert, einschließlich des Deutschen Bundesamts für Informationssicherheit [20]. Kritische Schwachstellen in einer derartigen weitverbreiteten, dennoch isolierten und starren Technologie haben verheerende Auswirkungen auf alle davon abhängigen Geräte, wie im letzten Jahr durch die Entdeckung einer feh lerhaften Handhabung von RSA-Primzahlen in einer essentiellen kryptografi-schen Bibliothek, de von TPM-Herstellen verwendet wird. Der in [21] beschrie bene Angriff konnte bei 2048-Bit-Schlüsseln private RSA-Schlüssel im Durch schnitt in 50 CPU-Jahren faktorisieren (was nunmehr wirksam parallelisiert werden kann, indem genau die Cloud-Computing-Plattformen eingesetzt wer den, auf denen in der Beschreibung der Fokus liegt), indem lediglich der ent sprechende öffentliche Schlüssel geprüft wurde.

Eine andere Art der Authentisierung gegen einen IoT Hub ist die Verwendung von gemeinsamen symmetrischen Schlüsseln (shared Symmetrie keys) zum Erzeugen oder Ableiten von Sicherheitstokens mit einer vorab definierten Le bensdauer. Dies ist im Grunde derselbe Ansatz wie bei dem zuvor beschriebe nen TPM-bestätigten Shared Access, nur dass hierbei nicht erwartet wird, dass die erforderlichen symmetrischen Schlüssel durch Hardware geschützt sind. Tatsächlich existiert keine Empfehlung für eine Lösung des fundamentalen Problems des Austauschs von symmetrischen Schlüsseln, was genau der Punkt ist, den die vorliegende Beschreibung in den folgenden Abschnitten anzuspre chen beabsichtigt. Das Token-Signing als solches ist eine HMAC-SHA256 Ope ration, bei welcher der Pre-Shared Symmetrie Key für diese Funktion verwen det wird [23].

Zusätzlich zu dem zuvor umrissenen nativen Authentisierungsmechanismus unterstützt Azure auch hybride und etwas exotische Muster, die als Custom Gateway implementiert werden können, um nicht nur eingehende Verbindun-

gen zu authentisieren, sondern verarbeitet diese auch als Teil der Protokolllo gik [24]. Microsoft nennt als Beispiel für ein Custom Gateway das mittlerweile veraltete RFC 4279 "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)". Der vorgeschlagene Standard verwendet drei verschiedene Verfahren, um Zertifikate zu vermeiden, die eine Public Key Infrastructure in Form einer Zertifizierungsstelle erfordern, die einigen Aufwand beim Aufbau und bei der Aufrechterhaltung erfordert:

• PSK Key Exchange verwendet symmetrische Schlüssel, die vorab derart ge teilt werden, dass die Schlüssel selbst nie über das Netzwerk ausgetauscht werden. Stattdessen zeigt oder deutet die Identität seines Schlüssels als Teil der ServerKeyExchage-Nachricht an. Der Client bestätigt in der darauffolgen den ClientKeyExchange-Nachricht, dass er über den entsprechenden PSK ver fügt. Das resultierende Premaster-Geheimnis besteht sodann mehr oder weni ger in einem auf beiden Seiten erfolgenden Nachlesen des PSK selbst. Die ei gentlichen Anwendungsdaten werden unter Verwendung des korrekten PSK symmetrisch verschlüsselt.

• DHE_PSK Key Exchange entspricht dem Vorhergehenden, jedoch erfolgt, an statt dem statischen PSK, der asymmetrische Diffie-Hellman (DH) Key

Exchange, um einen symmetrischen Sitzungsschlüssel zu berechnen. Wie der Name vermuten lässt, ist dieser Schlüsselaustausch ebenfalls ephemer, was bedeutet, dass die DH-Parameter für jede neue Sitzung dynamisch erzeugt werden. Letzteres gewährleistet Folgenlosigkeit (Forward Secrecy), d.h. selbst, wenn sämtliche vorherigen Sitzungen beeinträchtigt oder unterbrochen sind, bleibt die aktuelle oder die nächste Sitzung davon unberührt. Jedoch handelt es sich bei DH um ein nicht-authentisiertes Schlüsseleinigungsprotokoll, wodurch es für aktive Angriffe, beispielsweise Man-in-the-Middle, anfällig ist.

• RSA_PSK Key Exchange: Während bei den ersten beiden Optionen sämtliche zertifikatsbezogenen Nachrichten in dem ansonsten nahezu identischen TLS-Handshake entfallen, verwendet RSA_PSK das serverseitige Zertifikat. Der tat sächliche Gewinn liegt in dem an sein Zertifikat gebundenen öffentlichen Ser verschlüssel, der von dem Client zum Verschlüsseln einer Nachricht an den Server verwendet wird, die einen 46-Byte Zufallswert enthält. Letzterer wird mit dem PSK verknüpft, um das Premaster-geheimnis zu bilden. Ähnlich dem PSK ist bei dieser Option keine Folgenlosigkeit (Forward Security) gegeben.

Ein zusätzlicher Wert ist der 46-Byte Zufallsstring, der als Salt in einem poten tiell schwachen (beispielsweise menschengewählten) PSK interpretiert werden kann, der ansonsten für einen Wörterbuchangriff anfällig wäre.

Zusammenfassend erfüllt keiner der genannten Modi wirklich alle wesentlichen Sicherheitsziele, nicht einmal die RSA_PSK-Option, die hinsichtlich der Imple mentierung viel Spielraum lässt, basierend auf der Beobachtung, dass das Hauptziel des vorgeschlagenen Standards das Vermeiden der Verwendung von Zertifikaten ist, was wiederum nahelegt, dass keine PKI vorgesehen ist. Folg lich würden die meisten Anwendungen an diesem Punkt auf die Verwendung selbst-signierter Zertifikate zurückgreifen, wodurch eine starke Authentisie-rung vollständig untergraben wird. Um es noch schlimmer zu machen, liegt die Frage, wie der PSK zwischen den Parteien überhaupt geteilt werden soll, au ßerhalb des Rahmens des RFC, wodurch keine konsistente praktische Lösung für das vorliegende Problem geschaffen ist.

Als letzter Schritt in dem gesamten Workflow müssen IoT-Netzwerke in der Lage sein, den Prozess der Geräteanmeldung und -konfiguration durch Imple mentieren des Device Provisioning Service Client Software Development Kit (SDK) [25] abzuschließen. Diese Software kommuniziert mit dem Device Pro-visioning-Dienst zur initialen Authentisierung auf der Basis eines der zuvor er läuterten Bestätigungsverfahren. Danach ist das Gerät bei dem designierten IoT Hub angemeldet, so dass es zu diesem Zeitpunkt seine Grundkonfiguration abrufen und mit der Übertragung von Telemetriedaten beginnen kann.

C. Was fehlt

Wie vorangehend Umrissen, hat Microsoft einen umfassenden Rahmen für IoT-Anwendungen geschaffen, jedoch nicht ohne Beschränkungen : der gesamte Workflow beginnt erst, nachdem ein IoT-Knoten seine Anmeldung erfolgreich

durchlaufen hat und bei dem entsprechenden IoT-Hub angemeldet ist. Die ver bleibende funktionale Lücke befindet sich zwischen dem Herstellungsprozess der IoT-Knoten, deren Bereitstellung und der letztendlichen Geräteanmeldung in der Cloud. Microsoft unterscheidet zwar zwischen dem Herstellungs- und dem Cloud-Setup-Schritt, jedoch : "The Device Provisioning Service does not introduce a new Step in the manufacturing process; rather, it ties into the ex-isting Step that installs the initial Software and (ideally) the HSM on the device. [Der Geräteprovisionierungsdienst führt keinen neuen Schritt in den Herstel lungsprozess ein; vielmehr ist er in den existierenden Schritt eingebunden, der die initiale Software und (idealerweise) das HSM auf dem Gerät installiert.]" [26] Was jedoch ist dieser existierende Schritt, wie kann er standardisiert wer den und, was am wichtigsten ist, wie können HSM-artige Fähigkeiten in einge bettete Geräte mit begrenzten Ressourcen eingeführt werden? HSM-artige Ei genschaften sind sicher erforderlich, wenn es darum geht, den höchsten Grad des Schutzes von privaten Schlüsseln insbesondere im Kontext einer zertifikat basierten Authentisierung zu erreichen. Microsoft beurteilt daher die Stärke des zertifikatbasierten Ansatzes wie folgt: "The overall result is an optimal supply chain with built-in accountability through use of cryptographic chain of trust. [Das Gesamtergebnis ist eine optimale Versorgungskette mit eingebau ter Integrierbarkeit durch die Verwendung einer kryptographischen Vertrau enskette.]" [27]

II. PKI-basierter IoT- Ansatz oder IoT-Stammzertifizierungsstellen-plattform als Dienst (Platform as a Service (PaaS))

A. Verbinden der Punkte in der Cloud

Als Folge der in dem vorangehenden Abschnitt festgestellten Lücke, stellt die vorliegende Beschreibung eine Referenzarchitektur auf der Basis von X509 Stammzertifikaten vor, bei welcher die zugrundeliegende PKI ausschließlich existierende Azure Cloud-Komponenten nutzt, während die Kontrolle und die Verantwortung von dem Hersteller weg auf den Kunden oder Anwender der re sultierenden IoT-Anwendung übertragen wird. Zum Zeitpunkt der Abfassung dieser Beschreibung bietet Azure keinen nativen Zertifizierungsstellendienst

(CA) an. Daher kann eine Windows CA entweder als eigenständiger Host oder als Active Directory Certificate Service (ADCS) vorliegen, der Teil eines Active Directory als solches ist, wobei ein ADCS stets die einzige autoritative Enter prise Root CA ist. Um die Dinge noch schlimmer zu machen, stehen die wich tigste Anforderung und das beste Verfahren für professionelle CA Operationen, um sämtliche wichtigen Schlüssel in einem hardwarebasierten Schlüsselver waltungssystem oder HSM zu erzeugen und zu halten, in dieser Situation nicht zur Verfügung, da Azure Key Vault (Microsofts interner Remote-HSM-Dienst) ADCS nicht unterstützt. Der Vollständigkeit halber sei angemerkt, dass AKV eine Option zur Erzeugung hardwaregeschützter Zertifikate anbietet, jedoch nur in Verbindung mit mehreren bekannten Zertifizierungsstellen, die mit Key Vault verpartnert sind [28]. Folglich ist es unmöglich, eine solide isolierte CA mit der korrekten und erwarteten HSM-Bestätigung aus den gegenwärtig ver fügbaren Azure Bausteinen zu errichten.

Die Grundidee des in Rede stehenden Konzept ist folgende: Die Stammzertifi zierungsstelle muss ihren Stammschlüssel innerhalb von AKV erzeugen, um das übliche, auf hohem Level befindliche beste Verfahren zu implementieren.

In Anbetracht der genannten Beschränkungen, müssten sämtliche PKI-Opera-tionen ausgelagert und an eine eigenständige Virtuelle Maschine (VM) für den Betrieb einer multimandantenfähigen Stammzertifizierungsstelle delegiert wer den, die sowohl ihre Festplatte durch AKV sichern, als auch direkt auf die ver schlüsselte Datenbank zugreifen würde, um Schlüsselpaare und Zertifikate dort zu speichern. Schließlich würde die Middleware-Web-Anwendung zunächst diese VM instruieren, ein IoT-Gerät in seinem Namen zu registrieren und so wohl das Schlüsselpaar, als auch das entsprechende Zertifikat aus dieser Da tenbank abrufen, da sie die einzige andere Komponente ist, die berechtigt ist, auf die AKV-Partition mit dem darin enthaltenen Datenbankschlüssel zuzugrei fen. Aufgrund des Wesens dieser Anwendung würden sämtliche empfindlichen Daten von dieser in einer rein transienten Weise gehandhabt, d.h. es wird kein Schlüsselmaterial irgendwo außerhalb der verschlüsselten Datenbank dauer haft gehalten oder gespeichert.

Das Gesamtpaket bestehend aus dem signierten Zertifikat und dem entspre chenden Schlüsselpaar würde sodann an das IoT-Gerät über einen sicheren und vertrauenswürdigen Kanal zurückgesendet, wobei das Gerät an diesem Punkt beginnen kann, damit bis zur nächsten automatischen Schlüssel- und Zertifikatserneuerung auf der Basis desselben Arbeitsablaufs zu verfahren. Ein anderes starkes Argument für einen sicheren und dauerhaften Zertifikatspei cher ist das Problem der potentiellen Resilienz und der generellen Konnektivi tät auf der Seite des Clients, das in der Beobachtung resultiert, dass der ge samte Zertifikat- und Schlüsselverwaltungslebenszyklus am besten durch eine zentarale Middleware-Webanordnung als Teil der gesamten cloud-basierten Lösung gehandhabt wird. Hierbei würden sämtliche Schlüsselpaar- und Zertifi katerzeugungsanfragen von der genannten Anwendung verwaltet und in einer AKV-gesicherten MSSQL Datenbank aufgezeichnet werden. Auf diese Weise könnte jedes IoT-Gerät oder jeder IoT-Knoten mit dem Abfragen der PKI-An-wendung fortfahren, bis es erfolgreich eine Kopie des aktuellen Zertifikats zu sammen mit dem zugehörigen Schlüsselpaar empfangen hat. Selbst wenn die Übertragung plötzlich unterbrochen würde, gingen das wertvolle Schlüsselpaar und das Zertifikat nicht verloren. Das Diagramm in Fig. 8 zeigt sämtliche we sentlichen Komponenten der Referenzarchitektur zusammen mit deren Rollen, wichtigen Schnittstellen, welche sie zur Verfügung stellen sowie die resultie renden Interaktionen.

B. "Fill the Air Gap" bzw.„Lückenfüller" oder Sichere Erstanmeldung und ziel spezifisches Firmwareupload

Der nachfolgende Algorithmus 1 zeigt den Prozess der ersten Zertifikatanmel dung in Verbindung mit dem Firmwareeinsatz, der durch die in dem Algorith mus 2 beschriebene Geräteanmeldung abgeschlossen wird. Der aus diesen Al gorithmen bestehende Arbeitsablauf kann wie folgt zusammengefasst werde. Zu Beginn werden sämtliche IoT-Module (beispielsweise sS2F [29], [30]) nur mit dem Bootloader versehen ausgeliefert. Als Teil des Produktisierungspro-zesses sollen sie die Anmeldeanwendung kontaktieren (siehe Alg. 1, Zeile 6), um die entsprechende Firmware abzurufen (bei welcher es sich um eine stan- dardmäßige Firmware oder eine bestimmte Kundenlösung handeln kann). Be vor dies geschieht, hilft eine SRP-basierte [31] Kommunikation bei der Au-thentisierung, wobei an diesem Punkt en verschlüsselter Kanal zwischen den Parteien hergestellt wird (siehe 6, Zeile 22). SRP steht für Secure Remote Password- Protokoll und ist eines der stärksten Schutzverfahren für symmetri sche Authentisierung und Daten bei der Übertragung, welches einen interakti ven kenntnisfreien Beweis (Zero-Knowledge proof) des Besitzes eines gehei men Elements, beispielsweise eines Passworts oder eines kryptografischen Schlüssels, verwendet. In korrekter Weise angewendet, was beispielsweise mit einer sachgemäßen Implementierung des SRP in dem Bootloader (siehe nächster Abschnitt) steht und fällt, kann es die üblichen Nachteile von sym metrischen Authentisierungs- und Schlüsselaustauschmechanismen überwin den. Die symmetrische Anforderung ist in diesem Zusammenhang äußerst wichtig, da Azure keine irgendwie geartete Lösung für die Erstanmeldung oder eine solide PKI im Allgemeinen anbietet. Daher besteht die Notwendigkeit, die nicht-existenten Zertifikate zu ersetzen, die ansonsten selbst-signiert (d.h. ohne irgendeinen Vertrauensanker) und in einem zusätzlichen Vorabschritt, welcher den Gerätezulieferer oder -hersteiler involvieren würde, vorab bereit gestellt werden müssten.

Danach fordert die Anmeldeanwendung ein Zertifikat für den Knoten an und pflegt, sobald dies abgeschlossen ist, dieses in das Gerät ein (1, Zeile 10 ff). Schließlich installiert der IoT-Knoten sowohl die Firmware, als auch das Zertifi kat (1, Zeile 4), wobei er an diesem Punkt auf authentisierte Weise den IoT-Hub kontaktieren kann, um seine Anmeldung abzuschließen und den regulären Betrieb kurz danach aufzunehmen (siehe Alg. 2).

C. Anforderungen für symbiotische Sicherheit

Der in dem Algorithmus 1 in Pseudocodenotation dargelegte Erstanmeldungs-workflow hängt von dem Vorgang in der Zeile 22 ab, welche das Secure Re mote Password- Protokoll (SRP) als den wichtigsten Baustein der vorliegenden Lösung implementiert. Der Kürze und der Kohärenz der für dieses Paper wich tigen Details wegen, soll es genügen, festzustellen, dass SRP ein ephemeres Diffie-Hellman-artiges Verfahren verwendet, wobei die einzigen beiden festen Parameter das Client- Passwort und der entsprechende, von dem Server gehal tene Verifier sind, welcher wiederum unter Verwendung der Stärke des Discrete Logarithm Problem (DLP) aus dem Passwort abgeleitet ist. Darüber hinaus verwendet SRP keine asymmetrischen Signaturen, um die Authentizität der Kommunikationspartner sicherzustellen (was Diffie-Hellman nicht selbstän dig leisten kann). Letzteres macht SRP nicht nur schneller, sondern auch zu ei ner perfekten Lösung für das Initiieren einer sicheren Kommunikation in einer Prä-Zertifikat- oder Prä-PKI-Umgebung. Für weitere Informationen zu den kryptographischen Details des Protokolls wird auf dessen vollständige Be schreibung verwiesen [31].

Jedoch existiert selbst mit SRP ein weiteres wesentliches Problem, das in die sem besonderen Szenario zu lösen ist. SRP sichert üblicherweise interaktive Logins, wobei zum Zeitpunkt der Nutzeranmeldung der Server den Verifier aus dem eingegebenen und mit einem Salt versehenen Passwort berechnet und nur die Nutzeridentität, den Salt sowie den Verifier in seiner internen Daten bank behält. Angesichts eines gewissen Grads der Automatisierung, muss der Verifier seinen Weg in die Datenbank des Servers finden, ohne potentiellen Gegnern ausgesetzt zu sein (siehe Algorithmus 3). Der Grund für die Geheim haltung des Verifiers ist das Passwort als das potentiell schwächste Glied, das den üblichen effektiven Angriffen ausgesetzt ist, beispielsweise dem Wörter buchangriff. Letzterer verwendet die Beobachtung, dass die meisten Passwör ter angesichts ihrer auf Wörtern und Sprachelementen basierenden (sogar partiellen) Konstruktion (daher die Bezeichnung Wörterbuchangriff), schlecht gewählt sind. Dies ermöglicht einen weitreichenden Grad der Vorberechnung, wobei an diesem Punkt Brüte Force zu einer Abfolge schneller (und parallel i-sierter) Vermutungen wird, welche mäßig komplexe, dennoch anfällige Pass wörter entschlüsseln kann. Zu diesem Zweck arbeitet ein effektiver Wörter buchangriff gegen ein Passwort auf der Basis des aufgedeckten Verifiers des selben wie folgt:

(1) zeigt, wie SRP den privaten Schlüssel basierend auf dem Salt s, dem Pass wort p und einer Hash-Funktion H() erzeugt. (2) verwendet DLP (siehe oben) zur Berechnung des Verifiers. Ein Angreifer mit Zugang zu s und v kann nun beginnen, Passwörter p' zu raten, um die entsprechenden x' und v' zu erzeu gen (siehe (3) und (4)). Ein einfacher Vergleich von v' und dem bekannten v deckt das Originalpasswort auf, wenn die Vermutung erfolgreich war.

Dieser Angriff beweist, dass sämtliche kritischen Sicherheitsparameter (Critical Security Parameters (CPS)) bei der Speicherung unter Verwendung des besten Levels an Schutz gesichert sein müssen, welcher (wie zuvor angemerkt) durch hardwarebasierte Schlüsselverwaltungssysteme wie AK V bereitgestellt wird. Was diesen Ansatz symbiotisch sicher macht, ist das Beachten und das Erfor dernis, dass, beginnend mit dem IoT-Knoten selbst, keine kritischen oder si cheren Informationen preisgegeben werden. Der Algorithmus 3 legt dar, wie dies genau erreicht werden kann : jedes Gerät erzeugt einen einzigartigen symmetrischen Schlüssel und speichert diesen dauerhaft in seinem Schlüssel speicher. Statt diesen für direkte Berechnungen aufzudecken, stellt ein inter mediäres Softwaredienstprogramm eine Verbindung mit dem Modul her und weist dieses an, seinen eigenen Verifier gemäß (2) zu erzeugen. Die aus dem Verifier, dem Salt und der Knoten-Identität bestehenden resultierenden Daten werden dem Anmelde-Webdienst über eine authentisierte Sitzung übermittelt. Sobald all dies sicher in die Cloud-Datenbank eingeschrieben wurde (was nur nach der vorläufigen Authentisierung durch das lokale Dienstprogramm er-

folgt, ohne die Datenbank nach außen freizugeben), weist das Dienstpro gramm den Bootloader an, das SRP-Protokoll mit den genannten Parametern aufzurufen. Die nachfolgenden Algorithmen 1 und 2 komplettieren den Ge-samtworkflow, wobei an diesem Punkt jeder Knoten seine eigene Firmware und sein eigenes Zertifikat erhält. Zusammenfassend gesagt: die Bootstrap-Authentisierung und der Schlüsselaustausch erfolgen symmetrisch, um das Fehlen von Zertifikaten an diesem Punkt zu überwinden, das lokale Knoten-Programmierungsdienstprogramm (für 3 erforderlich) verwendet interaktive Nutzerauthentisierung (gefolgt von einer Autorisierung basierend auf der Nut zerrolle), um CSP an einen HTTPS Web Service zu übermitteln (dies muss nur ein Mal pro Programmiersitzung erfolgen, ungeachtet der Gesamtzahl der zu programmierenden Nodes, im Gegensatz zu einer Authentisierung jedes ein zelnen Nodes; letzteres erfolgt noch durch die SRP- Bestätigung jedes Nodes im nachfolgenden Schritt) und um das Einbetten irgendwelcher CSP in die bi näre Anwendung selbst (beispielsweise Zertifikat plus privater Schlüssel) für die Authentisierung zu vermeiden. Anstatt Geheimnisse zu verbergen, könnte das Programmierdienstprogramm zusätzlich von einem Zertifikat- oder Schlüs-sel-Pinning profitieren, wodurch, anstatt oder zusätzlich zu der von der ent sprechenden Zertifizierungsstelle ausgehenden üblichen Vertrauenskette, dem von dem vorgenannten Web Service verwendeten öffentlichen Schlüssel expli zit vertraut wird. Nicht zuletzt wird das individuelle Passwort (hier: geheimer Knoten-Schlüssel), das für den Verifier und die SRP-Sitzung erforderlich ist, nie offengelegt.

Um sicherzustellen, dass das Passwort oder der symmetrische Schlüssel die si cheren Grenzen des IoT-Knoten nie verlässt, bereiten die folgenden Anforde rungen den Weg für eine effektive Konstruktion von HSM- oder SmartCard-ar-tigen Hardwarestrukturen, um die Idee der symbiotischen Sicherheit zu ergän zen, wobei jede einzelne Komponente der gesamten Architektur jeweils nach seinen besten Möglichkeiten zu dem Gesamtlevel des Schutzes beiträgt. Wie in Fig. 3 dargestellt, wäre eine Referenz-Hardware-Crypto-Engine, die zur Erzeu gung des Verifiers sowie zur Durchführung des SRP verwendet wird, idealer weise vollständig von der Nutzeranwendung (und daher der MCU, dem Flash und dem SRAM) isoliert. Der Schlüsselspeicher als solcher würde mit Hilfe der eFuse- oder der OLP-Technologie (One Time Programmable) implementiert, wobei dieser nicht verändert werden kann, sobald eine bestimmte Anzahl von kryptografischen Schlüsseln in diesen geschrieben wurde. Die Encryption En gine wäre letztlich die einzige Schaltung, welche diese Speichereinheit lesen würde, so dass sämtliche kryptografischen Operationen sodann innerhalb der Engine stattfinden - sehr ähnlich der HSM- oder SmartCard-Technologie. Für kritische Anwendungen oder Kunden könnte der Hersteller derartige Module mit einem leeren Schlüsselspeicher oder einem Schlüsselspeicher ausliefern, der durch einen einzigartigen zufallsgenerierten Schlüssel teilweise vordefiniert ist, welcher sodann dem Schutz (d.h. der Verschlüsselung) des Flash-Spei chers oder eines anderen Schlüssels dienen kann, um die Integrität des Firm ware-Images beispielsweise durch die HMAC-Funktion zu verifizieren. Dieser Ansatz auch jede Kritik umgehen, die ansonsten im Hinblick auf Plattformen dieser Art angeführt werden könnte (siehe die obigen Anmerkungen zu TPM).

D. Zukünftige Arbeit

Um zu dem Gesamtkonzept der Symbiotischen Sicherheit beizutragen, wird unser nächster Artikel zeigen, wie IoT-Systeme mit begrenzten Ressourcen höhere Sicherheitsprotokolle wie TLS implementieren können, um die in die sem Paper umrissene PKI-Idee zu unterstützen, und welche Entwicklungs- und Optimierungsverfahren die Rechengeschwindigkeit und die Effizienz erhöhen können.

Literaturverzeichnis

[1] Network Working Group, Proposed Standard / Request for Comments "The Transport Layer Security (TLS) Protocol Version 1.2", [Online].

Verfügbar unter: https://tools.ietf.org/html/rfc5246

[2] Gärtner, "Magic Quadrant for Cloud Infrastructure as a Service",

19 August 2013, [Online]. Verfügbar unter: https://web.archive.org/web/ 20130825054202/http://www.gartner.com/technology/reprints.do?id = l-lIMDMZ5&ct=130819&st=sb

[3] AWS, "AWS IoT", 2018, [Online]. Verfügbar unter: https://aws.ama-zon.com/iot/

[4] AWS, "Amazon FreeRTOS", 2018, [Online]. Verfügbar unter:

https://aws.amazon.com/freertos/

[5] AWS, "Getting Started with Amazon FreeRTOS", 2018, [Online]. Verfügbar unter: https://aws.amazon.com/freertos/getting-started/

[6] AWS, "Amazon FreeRTOS Qualification Program Developer Guide", Version 1.0.0, July 31, 2018, [Online].

Verfügbar unter: https://dl.awsstatic.com/product-marketing/iot/

Amazon- FreeRTOS-Qualification-Program-Developer-Guide-Vl.0.0. pdf

[7] National Academy of Science and Engineering, "Recommendations for im-plementing the Strategie initiative INDUSTRIE 4.0", April 2013, pp. 23, 46-47, [Online]. Verfügbar unter: https://www.acatech.de/Publikation/recommenda-tionsforimplementing-the-strategic-initiative-industrie-4-O-final-report-ofthe-industrie-4-O-working-group

[8] Lee, E. A., 2008, "Cyber Physical Systems: Design Challenges", llth IEEE Symposium on Object Oriented Real-Time Distributed Computing

(ISORC), 363 - 369.

[9] Sergei P. Skorobogatov, "Copy Protection in Modern Microcontrollers", 2000, [Online]. Verfügbar unter: https://www.cl.cam.ac.uk/_sps32/mcu lock.html

[10] Clemens Vasters, Microsoft Developer Blog, "Service Assisted

Communication for Connected Devices", February 9, 2014, [Online].

Verfügbar unter: https://blogs.msdn.microsoft.com/clemensv/2014/02/09/ service-assisted-communication-for-connected-devices/

[11] Roy Thomas Fielding, "Architectural Styles and the Design of Network-based

Software Architectures", 2000, [Online]. Verfügbar unter: https://www.

ics.uci.edu/_fielding/pubs/dissertation/top.htm

[12] Microsoft, Azure IoT Services Reference Architecture, 2018, [Online]. Verfügbar unter: https://aka.ms/iotrefarchitecture

[13] mitmproxy, [Online]. Verfügbar unter: https://mitmproxy.org/

[14] Docker Public Repository, [Online]. Verfügbar unter: https://hub.do-cker.com/r/mitmproxy/mitm proxy/

[15] Microsoft, Windows Subsystem for Linux Documentation, [Online].

Verfügbar unter: https://docs.microsoft.com/en-us/windows/wsl/about

[16] Microsoft, "What is Azure Active Directory?", 2018, [Online].

Verfügbar unter: https://docs.microsoft.com/en-us/azure/active-directory/ fundamentals/active-directory-whatis

[17] Microsoft, "What is Azure Key Vault?", 2018, [Online]. Verfügbar unter: https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis

[18] Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas and Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, Mike Hamburg, "Meltdown : Reading Kernel

Memory from User Space", 27th USENIX Security Symposium, 2018

[19] Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas and Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, Mike Hamburg, "Spectre Attacks: Exploiting Speculative Execution", 40th IEEE Symposium on Security and Privacy, 2019

[20] German Federal Office for Information Security, "Report on Microsoft Windows 8 and TPM", August 2013, [Online]. Verfügbar unter: https://web.ar-hive.org/web/20160304004000/https://www.bsi. bund.de/DE/Presse/Presse-mitteilungen/Presse2013/Windows TPM PI 21082013.html

[21] Matus Nemec, Marek Sys, Petr Svenda, Dusan Klinec, Vashek Matyas, "The Return of Coppersmith's Attack: Practical Factorization of Widely

Used RSA Moduli", ACM Conference on Computer and Communications

Security (CCS) 2017, [Online]. Verfügbar unter: https://acmccs.github.

io/papers/pl631-nemecA.pdf

[22] Microsoft Azure, Nicole Berdy, "Device provisioning: Identity attestation with TPM", November 2017, [Online]. Verfügbar unter: https://azure.micro-soft.com/de-de/blog/device-provisioning-identity-attestation-with-tpm/

[23] Microsoft Azure, "Control access to IoT Hub", July 2018,

[Online]. Verfügbar unter: https://docs.microsoft.com/en-us/azure/iot-hub/ iot-hub-devguide-security

[24] Microsoft Azure, "Support additional protocols for IoT Hub", November

2017, [Online]. Verfügbar unter: https://docs.microsoft.com/en-us/azure/ iot-hub/iot-hub-protocol-gateway

[25] Microsoft Azure, "Understand and use Azure IoT Hub SDKs",

March 2018, [Online]. Verfügbar unter: https://docs.microsoft.com/en-us/ azure/iot-hub/iot-hub-devguide-sdks

[26] Microsoft Azure, "Provisioning devices with Azure IoT Hub Device Provi sioning Server", May 2017, [Online]. Verfügbar unter: https://docs.microsoft. com/en-us/azure/iot-dps/about-iot-dps

[27] Microsoft Azure, "Conceptual understanding of X.509 CA certificates in the IoT industry", September 2017, [Online]. Verfügbar unter: https://docs. microsoft.com/en-us/azure/iot-hub/iot-hub-x509ca-concept

[28] Microsoft, "Get started with Key Vault certificates", 2018, [Online].

Verfügbar unter: https://docs.microsoft.com/en-us/azure/sql-database/ transparent-data-encryption-byok-azure-sql

[29] PointBlank Security by Steen Harbach AG, "Security for Internet-enabled Products "Made in Germany"", 2018, [Online]. Verfügbar unter:

https://www. pointblank. de/de/?file=files/assets/downloads/

PointBlank-Security pbTLS sS2E-Module Leaflet.pdf

[30] PointBlank Security by Steen Harbach AG, "sS2E Module Manual",

2018, [Online]. Verfügbar unter: https://www.pointblank.de/en/iot-security. html?file=files/assets/downloads/MS500 SS2E MODULE User Manual VI .0. pdf

[31] T. Wu, "SRP Protocol Design", 1998, [Online]. Verfügbar unter:

http://srp.

stanford.edu/design.htm