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.
Die Beschreibung in diesem Configuration Guide folgt einer Konfiguration in der neuen Bedienoberfläche (Web-Interface), die ab icom OS 5.5 zur Verfügung steht. Aktualisieren Sie Ihren Router auf die neueste Version von icom OS für den erforderlichen Funktionsumfang der neuen Bedienoberfläche. Die Beschreibung dieser Konfiguration im klassischen Web-Interface finden Sie in diesem Configuration Guide.
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.
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
|
Erstellen der Zertifikate
Vor dem Erzeugen der Zertifikatsstruktur muss zuerst eine Datenbank erzeugt werden.
-
Öffnen Sie zum Erzeugen einer Datenbank XCA und wählen Sie Datei → Neue Datenbank.
-
Geben Sie einen Dateinamen ein und geben Sie ein geeignetes Verzeichnis für die XCA-Datenbank an.
-
Geben Sie zweimal ein Passwort ein und klicken Sie auf OK, um die Datenbank zu erzeugen. [2]
Erstellen eines CA-Zertifikats und Schlüssels
-
Wechseln Sie zum Erzeugen eines CA-Zertifikats und Schlüssels auf die Registerkarte Zertifikate und klicken Sie auf Neues Zertifikat.
-
Wählen Sie die CA-Vorlage [default] CA unter Vorlage für das neue Zertifikat aus.
-
Klicken Sie auf Erweiterungen übernehmen, um die Erweiterungen aus der Vorlage für das CA-Zertifikat zu übernehmen.
-
Wechseln Sie auf die Registerkarte Erweiterungen, legen Sie wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne fest und klicken sie auf OK. [3]
-
Wechseln Sie auf die Registerkarte Inhaber, geben Sie einen geeigneten commonName an und weisen Sie diesen auch als Interner Name zu.
-
Füllen Sie die verbleibenden Felder im Abschnitt Distinguished name entsprechend aus.
-
Klicken Sie auf Erstelle einen neuen Schlüssel.
-
Verwenden Sie vorzugsweise den commonName auch als Name und klicken Sie auf Erstellen.
-
Bestätigen Sie die Erstellung des Schlüssels mit OK.
-
Klicken Sie auf OK und bestätigen Sie erneut mit OK, um die Erstellung des CA-Zertifikats abzuschließen.
Erstellen des Zertifikats und Schlüssels zum Signieren/Validieren
-
Wechseln Sie zum Erzeugen des Zertifikats und Schlüssels auf die Registerkarte Zertifikate und klicken Sie auf Neues Zertifikat.
-
Markieren Sie im Abschnitt Unterschreiben die Option Verwende dieses Zertifikat zum Unterschreiben und wählen Sie das oben erzeugte CA-Zertifikat aus.
-
Wählen Sie die Vorlage [default] HTTPS_client unter Vorlage für das neue Zertifikat aus.
-
Klicken Sie auf Erweiterungen übernehmen, um die Erweiterungen aus der Vorlage für das Zertifikat zu übernehmen.
-
Wechseln Sie auf die Registerkarte Erweiterungen, legen Sie wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne fest und klicken Sie auf OK. [3]
-
Wechseln Sie auf die Registerkarte Schlüsselverwendung, markieren Sie den Eintrag Digital Signature und entfernen Sie die Markierungen aller anderen Einträge.
-
Wechseln Sie auf die Registerkarte Inhaber, geben Sie den commonName mit trust an und weisen Sie diesen auch als Interner Name zu.
-
Klicken Sie auf Erstelle einen neuen Schlüssel.
-
Verwenden Sie den commonName trust auch als Name und klicken Sie auf Erstellen.
-
Bestätigen Sie die Erstellung des Schlüssels mit OK.
-
Klicken Sie auf OK und bestätigen Sie erneut mit OK, um die Erstellung des Zertifikats abzuschließen.
Erstellen des Zertifikats und Schlüssels zum Verschlüsseln/Entschlüsseln
-
Wechseln Sie zum Erzeugen des Zertifikats und Schlüssels auf die Registerkarte Zertifikate und klicken Sie auf Neues Zertifikat.
-
Markieren Sie im Abschnitt Unterschreiben die Option Verwende dieses Zertifikat zum Unterschreiben und wählen Sie das oben erzeugte CA-Zertifikat aus.
-
Wählen Sie die Vorlage [default] HTTPS_client unter Vorlage für das neue Zertifikat aus.
-
Klicken Sie auf Erweiterungen übernehmen, um die Erweiterungen aus der Vorlage für das Zertifikat zu übernehmen.
-
Wechseln Sie auf die Registerkarte Erweiterungen, legen Sie wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne fest und klicken Sie auf OK. [3]
-
Wechseln Sie auf die Registerkarte Schlüsselverwendung, markieren Sie den Eintrag Data Encipherment und entfernen Sie die Markierungen aller anderen Einträge.
-
Wechseln Sie auf die Registerkarte Inhaber, geben Sie den commonName mit crypt an weisen Sie diesen auch als Interner Name zu.
-
Klicken Sie auf Erstelle einen neuen Schlüssel.
-
Verwenden Sie den commonName crypt auch als Name und klicken Sie auf Erstellen.
-
Bestätigen Sie die Erstellung des Schlüssels mit OK.
-
Klicken Sie auf OK bestätigen Sie und erneut mit OK, um die Erstellung des Zertifikats abzuschließen.
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-Router geeignet ist.
Exportieren Sie niemals den privaten Schlüssel der CA, da dieser essentiell für die Sicherheit der Zertifikate ist. |
-
Wechseln Sie zum Export des CA-Zertifikats auf die Registerkarte Zertifikate, markieren Sie das CA-Zertifikat in der Übersicht und klicken Sie auf Export.
-
Legen Sie im Fenster Zertifikatsexport einen Pfad und Dateinamen fest, wählen Sie PEM als Exportformat aus und klicken Sie auf OK.
-
Wechseln Sie zum Export des Signier-Zertifikats auf die Registerkarte Zertifikate wechseln, markieren Sie das Zertifikat trust in der Übersicht und klicken Sie auf Export.
-
Legen sie im Fenster Zertifikatsexport einen Pfad und Dateinamen, wählen Sie PEM als Exportformat aus und klicken Sie auf OK. [4]
-
Wechseln Sie zum Export des Verschlüsselungs-Zertifikats auf die Registerkarte Zertifikate wechseln, markieren Sie das Zertifikat crypt in der Übersicht und klicken Sie auf Export.
-
Legen Sie im Fenster Zertifikatsexport einen Pfad und Dateinamen, wählen Sie PEM als Exportformat aus und klicken Sie auf OK. [5]
-
Wechseln Sie zum Export des Signier-Schlüssels auf die Registerkarte Private Schlüssel wechseln, markieren Sie den Schlüssel trust in der Übersicht und klicken Sie auf Export.
-
Legen Sie im Fenster Privaten Schlüssel exportieren einen Pfad und Dateinamen fest, wählen Sie PEM als Exportformat aus und klicken Sie auf OK. [4]
-
Wechseln Sie zum Export des Verschlüsselungs-Schlüssels auf die Registerkarte Private Schlüssel wechseln, markieren Sie den Schlüssel crypt und klicken Sie auf Export.
-
Legen Sie im Fenster Privaten Schlüssel exportieren einen Pfad und Dateinamen fest, wählen Sie PEM als Exportformat aus und klicken Sie auf OK. [5]
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:
-
Öffnen Sie eine Shell auf Ihrem Rechner (Windows Powershell oder Linux-Terminal).
-
Navigieren Sie in der Shell zum Verzeichnis mit dem Update-Paket und den Zertifikaten und Schlüsseln.
-
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
-
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
Konfigurieren des Routers
-
Öffnen Sie die Bedienoberfläche des Routers in einem Browser: insys.icom [6]
-
Klicken Sie im Menü Administration → Zertifikate auf und laden Sie das oben erzeugte CA-Zertifikat auf den Router.
-
Klicken Sie auf SPEICHERN .
-
Klicken Sie im Menü Administration → Zertifikate auf und laden Sie das oben erzeugte Signier-Zertifikat trust.crt auf den Router.
-
Klicken Sie auf SPEICHERN .
-
Klicken Sie im Menü Administration → Zertifikate auf und laden Sie das oben erzeugte Verschlüsselungs-Zertifikat crypt.crt auf den Router.
-
Klicken Sie auf SPEICHERN .
-
Klicken Sie im Menü Administration → Zertifikate auf und laden Sie den oben erzeugten Verschlüsselungs-Schlüssel crypt.pem auf den Router.
-
Klicken Sie auf SPEICHERN .
-
Aktivieren Sie im Menü Administration → Automatisches Update im Abschnitt Nur signierte Update-Pakete erlauben den Schalter Funktionalität freischalten und lesen Sie den Hinweis dazu.
-
Klicken Sie auf SIGNATURPRÜFUNG AKTIVIEREN .
-
Klicken Sie auf PROFIL AKTIVIEREN .
Hochladen des Update-Pakets auf den Router
Je nach Art des Update-Pakets (z. B. Firmware, Konfiguration oder Container) muss das Paket auf unterschiedlichen Seiten hochgeladen werden. Folgendes Beispiel zeigt das Hochladen eines Firmware-Pakets auf der Firmware-Seite. |
-
Klicken Sie im Menü Administration → Firmware auf und laden Sie das verschlüsselte und signierte Update-Paket (hier packet.tar.enc.sign) auf den Router.
-
Klicken Sie auf SPEICHERN .
Das verschlüsselte und signierte Update-Paket wird validiert und dann entschlüsselt und hochgeladen.
Erfolgskontrolle
Nach erfolgreichem Hochladen erscheinen auf der jeweiligen Seite die hochgeladenen Inhalte des Update-Pakets. Im Fehlerfall wird eine Fehlermeldung ausgegeben.
Fehlersuche
-
Prüfen Sie das Systemdatum des Rechners, 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 Router
Zurück zur Übersicht