In modernen Fahrzeugarchitekturen wird jedes ausgelieferte Steuergerät mit einem individuellen kryptographischen Schlüssel abgesichert. Bei Continental werden diese Schlüssel zentral verwaltet. Mein Auftrag war es, den Prozess der Image-Signierung so zu automatisieren, dass jedes Image sicher mit dem jeweils passenden Schlüssel vom Continental-Server signiert wird.
Die Herausforderung
Die manuelle Handhabung von individuellen Schlüsseln für Tausende von Fahrzeugen ist fehleranfällig und ein Sicherheitsrisiko. Die Herausforderung bestand darin, eine Lösung zu schaffen, die:
- Den richtigen Schlüssel für jedes spezifische Steuergerät/Fahrzeug automatisch vom Continental Key Server anfordert.
- Die Kommunikation mit dem Server absolut sicher gestaltet (Schutz des geistigen Eigentums und der kryptographischen Integrität).
- Den gesamten Signierungsprozess nahtlos in die bestehende CI/CD-Pipeline integriert.
Die Lösung: Automatisierte Cloud-Signierung
Ich entwickelte eine hochsichere Schnittstelle, die den Build-Prozess direkt mit den Backend-Systemen von Continental verbindet.
1. Sichere Server-Kommunikation via mTLS
Um sicherzustellen, dass nur autorisierte Build-Instanzen Zugriff auf den Schlüsselserver haben, wurde die Kommunikation über mutual TLS (mTLS) abgesichert. Dies garantiert sowohl die Identität des Clients als auch die Verschlüsselung des Transportweges.
2. Automatisierter Signing-Workflow
Der von mir implementierte Workflow übernimmt folgende Schritte:
- Identifikation: Bestimmung des Ziel-Hardware-Typs und des benötigten Schlüsselsatzes.
- Request: Gesicherte Anfrage an den zentralen Key Server.
- Signierung: Durchführung der kryptographischen Signierung des Firmware-Images unter Verwendung des vom Server bereitgestellten Schlüssels oder via Remote-Signatur-Request.
- Validierung: Lokale Verifizierung der Signatur, bevor das Image in die Auslieferung geht.
3. CI/CD Integration
Das gesamte Tooling wurde als Stage in die Jenkins-Pipeline integriert. Damit wurde der “Touchless”-Ansatz realisiert: Von der Code-Änderung bis zum signierten Release-Image erfolgt kein manueller Eingriff mehr, was die Prozesssicherheit massiv erhöht.
Ergebnis
Die Automatisierung sparte nicht nur erhebliche Zeitressourcen ein, sondern minimierte auch das Risiko von Fehlkonfigurationen bei der Schlüsselzuordnung. Das System erfüllt die strengen Anforderungen der ISO 21434 und ist heute integraler Bestandteil der Software-Produktion für moderne Fahrassistenzsysteme.