Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Internet der Dinge-Technologie

IoT-Sicherheit – Kryptographie

Anmerkung des Herausgebers:Die Sicherung des Internets der Dinge ist nicht nur für die Integrität von Datenströmen und Software innerhalb jeder IoT-Anwendung von entscheidender Bedeutung, sondern auch für die Integrität der mit diesen Anwendungen verbundenen Unternehmensressourcen. IoT-Sicherheit ist ein komplexes Problem, das einen systematischen Ansatz zum Verständnis möglicher Bedrohungen und entsprechender Abwehrmethoden erfordert.

Angepasst an das Internet der Dinge für Architekten, von Perry Lea.


Kapitel 12. IoT-Sicherheit
Von Perry Lea

Kryptografie

Verschlüsselung und Geheimhaltung sind absolute Anforderungen von IoT-Bereitstellungen. Sie werden zur Sicherung der Kommunikation, zum Schutz der Firmware und zur Authentifizierung verwendet. In Bezug auf die Verschlüsselung sind im Allgemeinen drei Formen zu berücksichtigen:

Klicken für größeres Bild

Elemente der Kryptographie. Hier sind die symmetrischen, asymmetrischen und Hashing-Funktionen. Beachten Sie die Schlüsselverwendung bei symmetrischer und asymmetrischer Kryptographie. Symmetric muss identische Schlüssel verwenden, um Daten zu verschlüsseln und zu entschlüsseln. Die Schlüssel sind zwar schneller als die asymmetrische Verschlüsselung, müssen aber gesichert werden.

Symmetrische Kryptographie

Bei der Verschlüsselung bezieht sich Klartext auf die unverschlüsselte Eingabe und die Ausgabe wird Chiffretext genannt, da sie verschlüsselt ist. Der Standard für die Verschlüsselung ist der Advanced Encryption Standard (AES ), die ältere DES-Algorithmen aus den 1970er Jahren ersetzten. AES ist Teil der FIPS-Spezifikation und des weltweit verwendeten ISO/IEC 18033-3 Standards. AES-Algorithmen verwenden feste Blöcke von 128, 192 oder 256 Bit. Nachrichten, die größer als die Bitbreite sind, werden in mehrere Blöcke aufgeteilt. AES hat vier grundlegende Betriebsphasen während der Verschlüsselung. Der Pseudocode für eine generische AES-Verschlüsselung wird hier angezeigt:

   // Pseudocode für eine AES-128-Chiffre
   // in:128 Bit (Klartext)
   // out:128 Bit (Chiffrtext)
   // w :44 Wörter, jeweils 32 Bit (erweiterter Schlüssel)
   state =in
   w=KeyExpansion(key) //Schlüsselerweiterungsphase (verschlüsselt den Schlüssel effektiv selbst)
   AddRoundKey(state, w[0 , Nb-1]) //Anfangsrunde
für Runde =1 Schritt 1 bis Nr–1 //128 Bit=10 Runden, 192 Bit =12 Runden, 256 Bit =14 Runden
    SubBytes(state )   //Nichtlinearität in der Verschlüsselung bereitstellen
    ShiftRows(state)  //Vermeidet, dass Spalten unabhängig voneinander verschlüsselt werden,
   kann den Algorithmus schwächen
    MixColumns(state) //Transformiert jede Spalte und fügt Diffusion hinzu zur
   Verschlüsselung
    AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) //Erzeugt einen Unterschlüssel und
   kombiniert ihn mit state.
   end for
   SubBytes(state)    //Endrunde und Bereinigung.
   ShiftRows(state)
   AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1] )
out =state

Scrollen oder ziehen Sie die Ecke des Felds nach nach Bedarf erweitern.

AES-Schlüssellängen können 128, 192 oder 256 Bit betragen. Generell gilt:Je größer die Schlüssellänge, desto besser der Schutz. Die Größe des Schlüssels ist proportional zur Anzahl der CPU-Zyklen, die zum Verschlüsseln oder Entschlüsseln eines Blocks benötigt werden:128 Bit benötigt 10 Zyklen, 192 Bit benötigt 12 Zyklen und 256 Bit benötigt 14 Zyklen.

Blockchiffren stellen Verschlüsselungsalgorithmen dar, die auf einem symmetrischen Schlüssel basieren und mit einem einzelnen Datenblock arbeiten. Moderne Chiffren basieren auf Claude Shannons Arbeit über Produktchiffren im Jahr 1949. Ein Chiffriermodus ist ein Algorithmus, der eine Blockchiffre verwendet und beschreibt, wie eine Chiffre wiederholt angewendet wird, um große Datenmengen, die aus vielen Blöcken bestehen, zu transformieren. Die meisten modernen Chiffren erfordern auch einen Initialisierungsvektor (IV ), um unterschiedliche Geheimtexte zu gewährleisten, auch wenn derselbe Klartext wiederholt eingegeben wird. Es gibt verschiedene Betriebsarten wie:

Diese Modi wurden erstmals in den späten 1970er und frühen 1980er Jahren konstruiert und vom National Institute of Standards and Technology in FIPS 81 als DES-Modi befürwortet. Diese Modi bieten eine Verschlüsselung für die Vertraulichkeit von Informationen, schützen jedoch nicht vor Änderungen oder Manipulationen. Dazu wird eine digitale Signatur benötigt und die Security-Community hat CBC-MAC zur Authentifizierung entwickelt. Die Kombination von CBC-MAC mit einem der Legacy-Modi war schwierig, bis Algorithmen wie AES-CCM etabliert waren, die sowohl Authentifizierung als auch Geheimhaltung bieten. CCM steht für Counter with CBC-MAC Mode.

CCM ist ein wichtiger Verschlüsselungsmodus zum Signieren und Verschlüsseln von Daten und wird in einer Vielzahl von Protokollen verwendet, die in diesem Buch behandelt werden, darunter Zigbee, Bluetooth Low Energy, TLS 1.2 (nach Schlüsselaustausch), IPSEC und 802.11 Wi-Fi WPA2.

AES-CCM verwendet duale Chiffren:CBC und CTR. Der AES-CTR- oder Counter-Modus wird für die allgemeine Entschlüsselung des einfließenden Chiffretext-Streams verwendet. Der eingehende Stream enthält ein verschlüsseltes Authentifizierungs-Tag. AES-CTR entschlüsselt das Tag sowie die Nutzdaten. Aus dieser Phase des Algorithmus wird ein „erwartetes Tag“ gebildet. Die AES-CBC-Phase des Algorithmus markiert als Eingabe die entschlüsselten Blöcke aus der AES-CTR-Ausgabe und den ursprünglichen Header des Frames. Die Daten sind verschlüsselt; die einzigen relevanten Daten, die für die Authentifizierung benötigt werden, sind jedoch die berechneten Tags. Wenn das berechnete AES-CBC-Tag vom erwarteten AES-CTR-Tag abweicht, besteht die Möglichkeit, dass die Daten während der Übertragung manipuliert wurden.

Die folgende Abbildung zeigt einen eingehenden verschlüsselten Datenstrom, der sowohl mit AES-CBC authentifiziert als auch mit AES-CTR entschlüsselt wird. Dies gewährleistet sowohl die Geheimhaltung als auch die Authentizität der Herkunft einer Nachricht:

Klicken für größeres Bild

AES-CCM-Modus.

Eine Überlegung für IoT-Bereitstellungen in einem vollständig verbundenen Mesh ist die Anzahl der erforderlichen Schlüssel. Für n Knoten in einem Mesh, die eine bidirektionale Kommunikation wünschen, gibt es n(n-1)/2 Tasten oder O(n 2 ) .


Internet der Dinge-Technologie

  1. Der Weg zur industriellen IoT-Sicherheit
  2. Absicherung des IoT-Bedrohungsvektors
  3. IoT-Sicherheit – wer ist dafür verantwortlich?
  4. Alles läuft IoT
  5. IoT-Sicherheit – Ein Hindernis für die Bereitstellung?
  6. Sicherung des IoT durch Täuschung
  7. Automatisierung und IoT:Eine himmlische Kombination für Logistik und Sicherheit im Gesundheitswesen
  8. Sicherheit erschließt das wahre Potenzial des IoT
  9. Ein Jahr im Rückblick:12 Überlegungen zur IoT-Sicherheit
  10. Machine Vision ist der Schlüssel zu Industrie 4.0 und IoT