Zertifikate erstellen


 

Hinweis

Das nachfolgende Vorgehen basiert auf der Nutzung des Freeware Tools: 

Tool XCA - X Certificate and Key Management 

Das ist ein umfangreiches Tool zur Erstellung von Zertifikaten von Christian Hohnstädt (hohnstaedt.de). Verfügbar bei verschiedenen Download Anbietern (z.B. Heise.de). 

Es können natürlich andere verfügbare Tools verwendet werden.

 

Grundlagen 

Es wird ein neues Projekt pro Kunde - genauer pro Anlage oder pro SC Netzwerk - angelegt. 

Das Projekt enthält einen CA Private Key. Dieser sollte aus Sicherheitsgründen nicht zwingend exportieren, sondern im Projekt lassen. 

Dieser CA Private Key ist Grundlage für das abgeleitete CA Zertifikat und alle weiteren Zertifikate für die einzelnen Teilnehmer im SC Netzwerk. 

Pro Teilnehmer soll ein eigener Private Key erzeugt werden. Jeder der Teilnehmer bekommt aus dem CA Private Key und dem Private Key ein eigenes Zertifikat. 

 

Vorgehensweise 


1. Datenbank erstellen 

Das Tool XCA starten und über Datei/Neue Datenbank das Passwort festlegen und damit die Datenbank anlegen. Dieses Passwort sollte sicher dokumentiert und dem Betreiber der Anlage übergeben werden, falls diese Datenbank später weitergeführt werden soll. 


2. Private Schlüssel erstellen [Private Schlüssel] / [Neuer Schlüssel] 

Hinweis: Eine durchdachte Namenskonvention führt zu einer klaren Übersicht und lässt beim Export ein schnelleres Zuordnen zu. 

  • Für den CA_key: firmenname_CA_key 

  • Für die weiteren Schlüssel: firmenname_knotenname_key
    Hierbei kann der Knotenname auch dem Gerätenamen entsprechen bzw. die Knoten werden durchnummeriert Node1 bis NodeX

 

Folgende Parameter für die Privaten Schlüssel zu nehmen: 

  • Schlüsseltyp: EC (Elliptic Curve) 

  • Kurvenname: prime256v1: X9.62/SECG curve over a 256 bit prime field 

  • Hinweis: Die verwendete Verschlüsslung muss von jedem BACnet Gerät unterstützt werden 


3. CA-Zertifikat erstellen [Zertifikate] 

Im Reiter [Zertifikate] kann man ein neues Zertifikat erstellen 

Folgende Angaben sind dabei einzutragen: 

[Herkunft]

  • Unterschreiben: Selbstsigniertes Zertifikat erstellen 

  • Signatur Algorithmus: SHA 256 

[Inhaber] 

  • Interner Name/Common Name sind Pflichtfelder, hier gilt wieder die Namenskonvention:
    firmenname_CA_cert

  • Privater Schlüssel: CA_key 

[Erweiterungen] 

  • Typ: Zertifikats Authorität 

  • Zeitspanne: mit Kunden abzustimmen oder nach eigenem Ermessen 

[Schlüsselverwendung] 

  • Certificate Sign 


4. Vorlage erstellen [Vorlagen] / [Neue Vorlagen] 

Für die Teilnehmer-Zertifikate kann eine Vorlage erstellen werden. Das verringert die Anzahl der Arbeitsschritte im Anschluss daran. 

[Neue Vorlage] Vorlagenwert auswählen (TLS Client oder TLS Server). 

[Inhaber] 

  • CommonName anpassen: Firmenname_Teilnehmer_cert 

  • Interner Name ist zum Wiederauffinden der Vorlage 

[Erweiterungen] 

  • Typ: End Instanz 

  • Zeitspanne: Sollte dieselbe Dauer haben wie das CA_cert 

[Schlüsselverwendung] 

  • Digital Signature 

  • Key Encipherment 

  • Data Encipherment 

  • Key Agreement 


5. Restliche Zertifikate erstellen: 

Hinweis: Es ist hilfreich, wenn man die Teilnehmer-Zertifikate erstellt, das CA_cert angeklickt zu haben. Das führt dazu, dass sich die neuen Zertifikate auf das CA_cert direkt beziehen. 

[Herkunft] 

  • Verwende dieses Zertifikat zum Unterschreiben: CA_cert (sollte automatisch drinstehen, da das CA_Cert angeklickt war. 

  • die definierte Vorlage aussuchen und alles übernehmen 

[Inhaber] 

  • Interner Name und CommonName entsprechend der Namenskonvention anpassen 

  • Privater Schlüssel: entsprechenden Key auswählen 

Alles weitere: 

  • sollte automatisch aus der Vorlage kommen, andernfalls siehe Schritt 4: Vorlage erstellen 


6. Zertifikate/Keys exportieren 

Abschließend müssen nun noch jedes Zertifikat und jeder Key exportiert werden. 

Hinweis: Der CA_key bildet die Ausnahme und sollte nicht exportiert werden) 

Gateway Einstellungen 

In der Konfigurationsdatei bac1.cfg

DeviceUUID = 04AA11FB-E258-184F-93CB-791E4844B73C 

Dieser Parameter sollte nicht auf [Default] sein. Hier kann man sich aus BACeye oder einem anderen UUID Generator einen Random-Code holen. 

Gateway/Router Einstellungen 

In der Konfigurationsoberfläche unter /Settings

  • SC als Layer auswählen 

  • VMAC generieren 

Weiterhin unter Security: 

  • Accept invalid host cert. [yes] 

  • Server checks client cert. [yes] 

  • alle weiteren Parameter deaktivieren oder auf Nutzerwunsch anpassen 

  • Zertifikate und Key hochladen 

Zertifikate verlängern 

Bei den Zertifikaten kann man auf Verlängerung klicken. 

Hier ist es wichtig zuerst das CA_Cert zu verlängern. 

Danach kann man als Sammelaktion alle anderen Zertifikate per Sammelaktion verlängern. Die alten Zertifikate können gelöscht werden. 

Es werden nur noch die _Cert zum Austauschen benötigt. Die _key bleiben unverändert.