Schwer lässt sich abschätzen, ob sich im IoT zukünftig zehn, vielleicht 50 oder sogar 100 Milliarden „Dinge“ tummeln werden. In jedem Fall formiert sich eine riesige Anzahl vernetzter Geräte, die sensible Daten und geistiges Eigentum in Software codieren und auf übergeordnete Server und Firmennetze zugreifen.
Eine große Gefahr besteht jedoch darin, dass unzureichend geschützte IoT-Geräte unter Umständen als Einfallstor zu wertvolleren Datenbeständen dienen. Der Schutz dieser Geräte vor Angriffen sowie die Möglichkeit, kompromittierte Geräte zu identifizieren und zu isolieren, ist von zentraler Bedeutung, um das enorme Potenzial des IoT auszuschöpfen.
Asymmetrische Kryptographie kann beim Start und der Authentifizierung von Geräten sowie zur Geheimhaltung von Daten und geistigem Eigentum zum Einsatz kommen. Sie bietet den schlanken und zuverlässigen Sicherheitsmechanismus, der für das IoT benötigt wird.
Optimaler Lifecycle-Schutz
Ein IoT-Gerät ist von dem Moment an Bedrohungen ausgesetzt, an dem es installiert und in Betrieb genommen wird. Bereits während des Boot-Vorgangs könnten Hacker verschiedenartige Malware einschleusen, die zum Beispiel Benutzer ausspioniert, geistiges Eigentum aus dem Anwendungscode extrahieren oder das Gerät komplett übernehmen. Erlangen sie Kontrolle über ein Gerät, können sie Informationen manipulieren, die Ausrüstung lahmlegen, kritische Prozesse und Sicherheitssysteme sabotieren oder sensible Daten aus Firmennetzwerken entwenden.
Eine herkömmliche Bootsequenz prüft nur, ob das Anwendungsimage vorhanden ist, und führt vor dem Laden der Anwendung eine Prüfsummen- oder CRC-Prüfung durch. Dieser Prozess lädt Hacker geradezu dazu ein, das Anwendungs-Image durch Malware zu ersetzen.
Ein sicherer Bootvorgang hingegen überprüft zunächst die Authentizität des Anwendungs-Images. Kann das Image nicht authentifiziert werden, darf die Bootsequenz nicht gestartet werden. Die Authentizität des Codes zu prüfen bedeutet, dass dem Gerät vertraut werden kann, sich wie erwartet zu verhalten und nur bekannte und legitime Funktionen auszuführen. So wird durch die Sicherung des Bootvorgangs eine Vertrauensbasis (oder „Root of Trust“) für das IoT-Gerät geschaffen.
Die Root of Trust dient als Grundlage für die Authentifizierung des Geräts bei der Verbindungsherstellung mit dem Netzwerk. Da Sicherheit auf dem Prinzip der gegenseitigen Authentifizierung beruht, muss das Gerät auch in der Lage sein, seinen Host zu authentifizieren. Nur wenn beide Seiten als vertrauenswürdig eingestuft werden, ist die Grundlage für sichere Interaktionen gelegt.
Die hierbei eingesetzten Verfahren basieren auf verschiedenen Formen symmetrischer und asymmetrischer Kryptographie, wie dem Elliptic-Curve-Diffie-Hellman-Protokoll (ECDH) zur Ver- und Entschlüsselung, dem Elliptic Curve Digital Signature Algorithm (ECDSA) zur Signatur und Verifizierung der Authentifizierung und symmetrischem Challenge/Response unter Verwendung eines Hash-Algorithmus wie SHA-256, der eine Schlüsselableitung verhindert.
Eine zuverlässige und lückenlose End-to-End-Authentifizierung muss eine IoT-Plattform auch eine verwaltete „In-Manufacturing“-Bereitstellung beinhalten, um sicherzustellen, dass zugewiesene Identitäten während des Entwicklungsprozesses nicht beschädigt werden.
Kryptozentrierte Sicherheit
Kryptografische Algorithmen sind weit verbreitet bei der Sicherung von Transaktionen im Internet. Sie verifizieren Datenquellen und verhindern das Abfangen von Informationen.
Ein Beispiel ist die Nutzung asymmetrischer Kryptographie, die auf Private und Public Keys basiert, um eine verschlüsselte Kommunikation zwischen Webbrowser und Server einzurichten. Möchte der Browser eine Sitzung starten, sendet der Server eine Kopie seines eigenen, von einer vertrauenswürdigen Zertifizierungsstelle ausgestellten digitalen Zertifikats. Das Zertifikat authentifiziert den Server und stellt den Public Key des Servers bereit, mit dem der Browser dann einen Session Key erstellen kann. Der Server entschlüsselt den Public Key mithilfe seines Private Keys, und die verschlüsselte Sitzung kann beginnen.
Egal ob symmetrisch oder asymmetrisch, der Einsatz kryptografischer Verfahren in IoT-Anwendungen birgt eine Reihe an Herausforderungen. Zum einen benötigen kryptografische Algorithmen zum Ver- und Entschlüsseln übermittelter Daten viel Rechenpower. Das überfordert nicht nur durchschnittliche IoT-MCU, es ist sicherlich eine unerwünschte starke Belastung der oft arg begrenzten Systemressourcen. Darüber hinaus sind Flash- oder ROM-Speicher, die üblicherweise in den in gängigen IoT-Geräten eingesetzten MCUs zu finden sind, kein sicherer Ort zum Speichern kryptografischer Public oder Private Keys.
Darüber wird durch den Austausch verschlüsselter Nachrichten ein Datenaufkommen generiert, das weit über dem typischer IoT-Geräte wie Smart Sensors liegt – diese senden normalerweise nur ein paar Bytes in unregelmäßigen Abständen. Außerdem wird eine verlässliche Public Key Infrastructure (PKI) benötigt, die Private Keys unter Verschluss hält und die Authentizität digitaler Zertifikate sicherstellt.
Eine kleine Zahl anerkannter Zertifizierungsstellen bietet PKI-Services für konventionelle Internet-Transaktionen wie Online-Zahlungsdienste an. Dieses Modell lässt sich jedoch nicht auf geschlossene IoT-Ökosysteme projizieren. Ein wirtschaftliches und unkompliziertes System zur Erzeugung und Sicherung von Schlüsseln und digitalen Zertifikaten sowie deren Dokumentation sind deshalb unerlässlich.
IoT-freundliche Lösung gesucht
Eine eingebettete Schutzvorrichtung, die mit dem zentralen Mikrocontroller verbunden ist, sichere Datenspeicherung ermöglicht und über hardwareintegrierte Verschlüsselungs-/Entschlüsselungsalgorithmen verfügt, kann Sicherheit innerhalb der Systembeschränkungen kleiner IoT-Geräte bieten.
Die Host-CPU interagiert mit der Vorrichtung über APIs, um Sicherheitsdienste zu steuern, ohne sensible Daten preiszugeben. Das Sicherheitselement integriert alle notwendigen Schutzmaßnahmen gegen physische und Side-Channel-Angriffe. Deshalb kann ein Allzweck-Mikrocontroller eingesetzt werden, der im Hinblick auf die funktionalen Anforderungen des IoT-Geräts ausgewählt wurde. Es wird also kein teurer Mikrocontroller mit hoher Rechenleistung benötigt, um kryptografische Algorithmen in Software auszuführen.
Ein Beispiel für einen solchen integrierten Schaltkreis ist der Mikrochip ATECC608A, der Authentifizierung, die Integrität und den Schutz von Daten in vernetzten Geräten mit limitierten Ressourcen unterstützt. Er verfügt über einen integrierten kryptografischen Hardwarebeschleuniger, der asymmetrische Kryptographie-Operationen schneller als Software durchführen kann, die auf standardmäßigen Mikroprozessoren läuft.
Gleichzeitig wird das bei Standard-Mikrocontrollern immer gegebene Risiko einer Schlüsselaufdeckung erheblich reduziert. Der IC übernimmt die Identitätsauthentifizierung und die Erstellung von Session Keys und unterstützt mehrere Protokolle zur Schlüsselgenerierung, einschließlich TLS 1.2 und TLS 1.3.
Ebenfalls unterstützt wird die Verschlüsselung kleiner Nachrichten mit dem symmetrischen Blockverschlüsselungsmodus AES-ECB, der den Kommunikationsaufwand beim Verschlüsseln oder Entschlüsseln kleiner Nachrichten oder personenbezogener Daten minimiert. Die Schlüsselgenerierung für den Softwaredownload ist eine weitere wertvolle integrierte Funktion für das IoT-Gerätemanagement, um Firmware-Updates zu authentifizieren, die auf Broadcast-Basis oder Point-to-Point über das Netzwerk verteilt sind
Sicherer Boot-Vorgang
Mit der Unterstützung von ECDSA-Signaturen kann der ATECC608A die Boot-Sequenz von IoT-Geräten sichern und bereits beim Systemstart eine Root of Trust etablieren. Das verschlüsselte Anwendungsimage und sein Hashwert, digital signiert mittels Private Key durch ECDSA, werden auf den Mikrocontroller des Geräts geladen. Die Schutzvorrichtung speichert einen Public Key, der vom für die Signatur verwendeten Private Key abgeleitet wird, und kann auf verschiedene Weise Hashwert, Signatur oder beides mithilfe des Public Keys verifizieren. Je nachdem, ob die Verifizierung erfolgreich war, wird die Bootsequenz gestartet oder abgebrochen.
Der Befehlssatz des ATECC608A erleichtert die Schlüsselerzeugung, Verschlüsselung und Absicherung des Bootvorgangs. Der IC profitiert von der CryptoAuthentication-Entwicklungsbibliothek von Microchip, die eine Reihe von APIs für wichtige Interaktionen, die Handhabung von Zertifikaten und die TS-Integration enthält.
Zur Abrundung der IoT-Sicherheitslösung bietet Microchip einen kompletten In-Manufacturing-Bereitstellungsservice an. Dieser umfasst die Generierung von Public/Private Key einschließlich sicherer Speicherung und Aufbewahrung, was Geräteherstellern den erheblichen Aufwand der Einrichtung und Aufrechterhaltung eigener Sicherheitsvorkehrungen erspart. Die ICs werden vorinstalliert aus sicherer Quelle geliefert und sind bereit für die Endmontage, sodass keine Geheimnisse mit Softwareherstellern oder Drittanbietern geteilt werden müssen.
Fazit
Das IoT eröffnet Verbrauchern und Wirtschaft ungeahnte Möglichkeiten. Durch den hohen Vernetzungsgrad und den Einsatz autonomer Technik mit limitierten Ressourcen ergeben sich jedoch auch dringliche Sicherheitsprobleme. Deshalb werden bewährte kryptografische Verfahren benötigt, die aber innerhalb der engen Grenzen, was Rechenpower, Preispunkt und Energieverbrauch angeht, operieren können.