Mit Hilfe von Update-Paketen können verschiedene Dateien wie Firmware-Dateien, Profile, Konfigurationen oder Container auf die Router von INSYS icom geladen werden. Zur Sicherstellung der Integrität dieser Pakete ist es möglich, den Router so zu konfigurieren, dass er nur noch Update-Pakete akzeptiert, die mit Ihrer eigenen PKI (Public-Key-Infrastruktur) signiert oder verschlüsselt und signiert wurden.

1. Situation

Für eine sicherheitskritische Anwendung ist es notwendig, dass Update-Pakete für den Router verschlüsselt und signiert werden. Damit soll verhindert werden, dass kompromittierte Update-Pakete auf den Router geladen werden können.

2. Lösung

Im Folgenden wird beschrieben, wie Sie die zur Verschlüsselung und Signierung erforderlichen Zertifikate erstellen, wie Sie den Router für die Validierung und Entschlüsselung der Update-Pakete konfigurieren und wie Sie die Update-Pakete entsprechend verschlüsseln und signieren.

Wie Sie eigene Update-Pakete erstellen, erfahren Sie in diesem Configuration Guide.

Es ist erforderlich, dass Sie das Tool XCA heruntergeladen und auf Ihrem Computer installiert haben. Mit der Installation von XCA wird auch das OpenSSL-Paket auf Ihrem Computer installiert.
Es ist auch erforderlich, dass Uhrzeit und Datum im PC korrekt sind. [1]

Verschiedene Linux-Distributionen haben XCA in ihrer Paketverwaltung enthalten. Unter Ubuntu kann XCA beispielsweise wie folgt einfach installiert werden:
sudo apt-get install xca

2.1. Erstellen der Zertifikate

Vor dem Erzeugen der Zertifikatsstruktur muss zuerst eine Datenbank erzeugt werden.

  1. Zum Erzeugen einer Datenbank, XCA öffnen und DateiNeue Datenbank auswählen.

  2. Einen Dateinamen eingeben und ein geeignetes Verzeichnis für die XCA-Datenbank angeben.

  3. Zweimal ein Passwort eingeben und auf OK klicken, um die Datenbank zu erzeugen. [2]

2.1.1. Erstellen eines CA-Zertifikats und Schlüssels

  1. Zum Erzeugen eines CA-Zertifikats und Schlüssels auf die Registerkarte Zertifikate wechseln und auf Neues Zertifikat klicken.

  2. Die CA-Vorlage [default] CA unter Vorlage für das neue Zertifikat auswählen.

  3. Auf Erweiterungen übernehmen klicken, um die Erweiterungen aus der Vorlage für das CA-Zertifikat zu übernehmen.

  4. Auf die Registerkarte Erweiterungen wechseln, wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne festlegen und auf OK klicken. [3]

  5. Auf die Registerkarte Inhaber wechseln, einen geeigneten commonName angeben und diesen auch als Interner Name zuweisen.

  6. Die verbleibenden Felder im Abschnitt Distinguished name entsprechend ausfüllen.

  7. Auf Erstelle einen neuen Schlüssel klicken.

  8. Vorzugsweise den commonName auch als Name verwenden und auf Erstellen klicken.

  9. Die Erstellung des Schlüssels mit OK bestätigen.

  10. Auf OK klicken und erneut mit OK bestätigen, um die Erstellung des CA-Zertifikats abzuschließen.

2.1.2. Erstellen des Zertifikats und Schlüssels zum Signieren/Validieren

  1. Zum Erzeugen des Zertifikats und Schlüssels auf die Registerkarte Zertifikate wechseln und auf Neues Zertifikat klicken.

  2. Im Abschnitt Unterschreiben die Option Verwende dieses Zertifikat zum Unterschreiben markieren und oben erzeugtes CA-Zertifikat auswählen.

  3. Die Vorlage [default] HTTPS_client unter Vorlage für das neue Zertifikat auswählen.

  4. Auf Erweiterungen übernehmen klicken, um die Erweiterungen aus der Vorlage für das Zertifikat zu übernehmen.

  5. Auf die Registerkarte Erweiterungen wechseln, wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne festlegen und auf OK klicken. [3]

  6. Auf die Registerkarte Schlüsselverwendung wechseln, den Eintrag Digital Signature markieren und die Markierungen aller anderen Einträge entfernen.

  7. Auf die Registerkarte Inhaber wechseln, den commonName mit trust angeben und diesen auch als Interner Name zuweisen.

  8. Auf Erstelle einen neuen Schlüssel klicken.

  9. Den commonName trust auch als Name verwenden und auf Erstellen klicken.

  10. Die Erstellung des Schlüssels mit OK bestätigen.

  11. Auf OK klicken und erneut mit OK bestätigen, um die Erstellung des Zertifikats abzuschließen.

2.1.3. Erstellen des Zertifikats und Schlüssels zum Verschlüsseln/Entschlüsseln

  1. Zum Erzeugen des Zertifikats und Schlüssels auf die Registerkarte Zertifikate wechseln und auf Neues Zertifikat klicken.

  2. Im Abschnitt Unterschreiben die Option Verwende dieses Zertifikat zum Unterschreiben markieren und oben erzeugtes CA-Zertifikat auswählen.

  3. Die Vorlage [default] HTTPS_client unter Vorlage für das neue Zertifikat auswählen.

  4. Auf Erweiterungen übernehmen klicken, um die Erweiterungen aus der Vorlage für das Zertifikat zu übernehmen.

  5. Auf die Registerkarte Erweiterungen wechseln, wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne festlegen und auf OK klicken. [3]

  6. Auf die Registerkarte Schlüsselverwendung wechseln, den Eintrag Data Encipherment markieren und die Markierungen aller anderen Einträge entfernen.

  7. Auf die Registerkarte Inhaber wechseln, den commonName mit crypt angeben und diesen auch als Interner Name zuweisen.

  8. Auf Erstelle einen neuen Schlüssel klicken.

  9. Den commonName crypt auch als Name verwenden und auf Erstellen klicken.

  10. Die Erstellung des Schlüssels mit OK bestätigen.

  11. Auf OK klicken und erneut mit OK bestätigen, um die Erstellung des Zertifikats abzuschließen.

2.2. Exportieren der Zertifikate und Schlüssel

Die mit XCA erzeugten Zertifikate und Schlüssel werden in der entsprechenden XCA-Datenbank aufbewahrt. Um die Zertifikate und Schlüssel auf den Router hochladen und die Update-Pakete signieren/verschlüsseln zu können, müssen diese exportiert werden. XCA bietet für den Export verschiedene Dateiformate an. Hier wird der Export in das Dateiformat PEM beschrieben, das für alle INSYS Smart Devices geeignet ist.

Exportieren Sie niemals den privaten Schlüssel der CA, da dieser essentiell für die Sicherheit der Zertifikate ist.
  1. Zum Export des CA-Zertifikats auf die Registerkarte Zertifikate wechseln, das CA-Zertifikat in der Übersicht markieren und auf Export klicken.

  2. Im Fenster Zertifikatsexport einen Pfad und Dateinamen festlegen, PEM als Exportformat auswählen und auf OK klicken.

  3. Zum Export des Signier-Zertifikats auf die Registerkarte Zertifikate wechseln, das Zertifikat trust in der Übersicht markieren und auf Export klicken.

  4. Im Fenster Zertifikatsexport einen Pfad und Dateinamen festlegen, PEM als Exportformat auswählen und auf OK klicken. [4]

  5. Zum Export des Verschlüsselungs-Zertifikats auf die Registerkarte Zertifikate wechseln, das Zertifikat crypt in der Übersicht markieren und auf Export klicken.

  6. Im Fenster Zertifikatsexport einen Pfad und Dateinamen festlegen, PEM als Exportformat auswählen und auf OK klicken. [5]

  7. Zum Export des Signier-Schlüssels auf die Registerkarte Private Schlüssel wechseln, den Schlüssel trust in der Übersicht markieren und auf Export klicken.

  8. Im Fenster Privaten Schlüssel exportieren einen Pfad und Dateinamen festlegen, PEM als Exportformat auswählen und auf OK klicken. [4]

  9. Zum Export des Verschlüsselungs-Schlüssels auf die Registerkarte Private Schlüssel wechseln, den Schlüssel crypt in der Übersicht markieren und auf Export klicken.

  10. Im Fenster Privaten Schlüssel exportieren einen Pfad und Dateinamen festlegen, PEM als Exportformat auswählen und auf OK klicken. [5]

2.3. Verschlüsseln und Signieren der Update-Pakete

Sämtliche Update-Pakete können signiert oder verschlüsselt und signiert werden. Im Folgenden wird beschrieben, wie ein Update-Paket verschlüsselt und signiert wird. Die Eingabe der OpenSSL-Befehle erfolgt in einer Shell über die Kommandozeile.

Für folgende Vorgehensweise wird vorausgesetzt, dass sich das zu verschlüsselnde und signierende Update-Paket zusammen mit den oben erzeugten Zertifikaten und Schlüsseln in einem Verzeichnis liegt.
Folgende Befehle basieren auf diesen Namenskonventionen:

  • upacket.tar: Dateiname des zu signierenden/verschlüsselnden Update-Pakets

  • upacket.tar.enc: Dateiname des verschlüsselten Update-Pakets

  • upacket.tar.enc.sign: Dateiname des verschlüsselten und signierten Update-Pakets

  • crypt.crt: Zertifikat für die Verschlüsselung des Pakets

  • crypt.pem: Privater Schlüssel für die Verschlüsselung des Pakets

  • trust.crt: Zertifikat für die Signierung des Pakets

  • trust.pem: Privater Schlüssel für die Signierung des Pakets

Folgende Vorgehensweise erstellt das verschlüsselte und signierte Update-Paket upacket.tar.enc.sign:

  1. Öffnen Sie eine Shell auf Ihrem Rechner (Windows Powershell oder Linux-Terminal).

  2. Navigieren Sie in der Shell zum Verzeichnis mit dem Update-Paket und den Zertifikaten und Schlüsseln.

  3. Verschlüsseln Sie das Update-Paket mit dem Befehl:
    openssl cms -encrypt -aes-256-cbc -in upacket.tar -binary -outform DER -out upacket.tar.enc crypt.crt

  4. Signieren Sie das verschlüsselte Update-Paket mit dem Befehl:
    openssl cms -sign -nocerts -md sha256 -in upacket.tar.enc -nodetach -binary -signer trust.crt -inkey trust.pem -out upacket.tar.enc.sign -outform DER

2.4. Konfigurieren des Routers

  1. Web-Interface des Routers mit einem Browser aufrufen: 192.168.1.1 [6]

  2. In der Kopfzeile im Web-Interface auf (Hilfetexte anzeigen) klicken, um die Inline-Hilfe einzublenden, die über hilfreiche Informationen zu den einzelnen Konfigurationsparametern verfügt.

  3. Im Menü AdministrationZertifikate im Abschnitt Zertifikate oder Schlüssel importieren auf Durchsuchen…​ klicken, das oben erzeugte CA-Zertifikat auswählen und mit einem Klick auf Zertifikate importieren auf den Router laden.

  4. Im Menü AdministrationZertifikate im Abschnitt Zertifikate oder Schlüssel importieren auf Durchsuchen…​ klicken, das oben erzeugte Signier-Zertifikat trust.crt auswählen und mit einem Klick auf Zertifikate importieren auf den Router laden.

  5. Im Menü AdministrationZertifikate im Abschnitt Zertifikate oder Schlüssel importieren auf Durchsuchen…​ klicken, das oben erzeugte Verschlüsselungs-Zertifikat crypt.crt auswählen und mit einem Klick auf Zertifikate importieren auf den Router laden.

  6. Im Menü AdministrationZertifikate im Abschnitt Zertifikate oder Schlüssel importieren auf Durchsuchen…​ klicken, den oben erzeugten Verschlüsselungs-Schlüssel crypt.pem auswählen und mit einem Klick auf Zertifikate importieren auf den Router laden.

  7. Im Menü AdministrationUpdate auf Ausschließlich signierte Pakete akzeptieren klicken.

  8. Die Warnmeldung mit einem Klick auf Signierte Pakete erzwingen bestätigen.

  9. Profil aktivieren durch Klick auf das blinkende Zahnrad in der Titelleiste ().

2.5. Hochladen des Update-Pakets auf den Router

  1. Im Menü AdministrationUp-/Download im Abschnitt Upload: Daten auf das Gerät hochladen auf Durchsuchen…​ klicken, das verschlüsselte und signierte Update-Paket (hier packet.tar.enc.sign) auswählen und auf Hochladen klicken.

Das verschlüsselte und signierte Update-Paket wird validiert und dann entschlüsselt und hochgeladen.

3. Erfolgskontrolle

Nach erfolgreichem Hochladen erscheinen auf der Seite Up-/Download unter Folgende Dateien wurden gespeichert die hochgeladenen Inhalte des Update-Pakets. Im Fehlerfall wird hier eine Fehlermeldung ausgegeben.

4. Fehlersuche

  • Systemdatum des Rechners prüfen, um sicherzustellen, dass die Zertifikate mit dem aktuellen Datum erstellt werden; ansonsten kann es sein, dass sie ungültig sind.


Zurück zu den Configuration Guides für die icom OS Smart Devices

Zurück zur Übersicht


1. Zertifikate haben ein Gültigkeitsdatum. Eine falsche Systemzeit (Uhrzeit und Datum) sind häufige Fehlerquellen. Achten Sie deshalb auf die korrekte Systemzeit im PC bei der Erstellung der Zertifikatsstruktur.
2. Es wird dringend empfohlen, ein Passwort anzugeben. Dieses Passwort gut merken. Es wird jedes Mal benötigt, wenn die Datenbank dieses CA-Projekts geöffnet wird.
3. Wählen Sie einen für Ihren Zweck angemessenen und sinnvollen Zeitraum. Die Vorgabewerte sind eine gute Richtlinie. Zu lange Zeitspannen können Sicherheits- oder Kompatibilitätsprobleme verursachen.
4. Es wird empfohlen, den Dateinamen bei trust zu belassen, um die folgenden Befehle zum Verschlüsseln und Signieren nicht modifizieren zu müssen.
5. Es wird empfohlen, den Dateinamen bei crypt zu belassen, um die folgenden Befehle zum Verschlüsseln und Signieren nicht modifizieren zu müssen.
6. Anmeldung je nach Konfiguration; Voreinstellung bei älteren Firmware-Versionen: Benutzername: insys, Kennwort: icom