Wat is Code Signing?

Code Signing is het proces waarbij software, Firmware of scripts cryptografisch worden ondertekend met een digitaal certificaat. Het doel is om de authenticiteit, integriteit en herkomst van code te waarborgen, zodat systemen alleen vertrouwde, ongemanipuleerde software uitvoeren.

In OT-omgevingen is Code Signing cruciaal bij Firmware-updates, PLC-programmering en softwaredistributie in productienetwerken, waar betrouwbaarheid en continuïteit essentieel zijn.


🧠 Waarom Code Signing belangrijk is

  1. Bescherming tegen manipulatie – voorkomt dat kwaadwillenden software wijzigen zonder detectie
  2. Verificatie van de bron – alleen code van vertrouwde leveranciers wordt geaccepteerd
  3. Ondersteuning voor Secure Boot – alleen ondertekende firmware wordt uitgevoerd bij opstarten
  4. Voorkomt installatie van malware – voorkomt infectie via supply chain of interne updates
  5. Voldoet aan normen zoals IEC 62443, NIS2, Cyber Resilience Act

🔐 Hoe werkt Code Signing?

  1. De fabrikant (ontwikkelaar) genereert een hash van de code
  2. Deze hash wordt versleuteld met een private key van een Code Signing-certificaat
  3. De ondertekende hash + certificaat worden toegevoegd aan de distributiebestanden
  4. Bij installatie controleert het apparaat met de public key of de handtekening geldig is
  5. Alleen geldige, niet gewijzigde en vertrouwde code wordt uitgevoerd

🧪 Toepassingen in OT

Toepassing Voorbeeld
Firmware-updates PLC’s, drives, I/O-kaarten alleen voorzien van geverifieerde firmware
Script deployment Alleen gesigneerde scripts via OT-managementsysteem toegestaan
SCADA/HMI-software Bescherming tegen gemanipuleerde visuals of logica
BIOS/bootloader verificatie Secure Boot in industriële IPC’s of gateways
Edge/IoT-apparaten Updates vanuit cloud of OTA enkel via getekende distributie

✅ Best practices

Maatregel Toelichting
Gebruik van HSM of TPM Private signing key veilig bewaren (hardwarematig)
Certificaatbeheer Regelmatige rotatie, intrekking bij compromis, logging
Onderteken ook configuratiebestanden Bijvoorbeeld bij deployment van settings in OT-applicaties
RBAC Alleen geautoriseerd personeel mag code ondertekenen en verspreiden
Integratie met CI/CD Automatisch ondertekenen van builds in DevOps-pijplijn

📉 Risico’s bij ontbreken van Code Signing

  • Installatie van kwaadaardige firmware via supply chain-aanval
  • Gebruik van ongeldige of verouderde software in kritieke installaties
  • Geen detectie bij manipulatie van OTA-updates of backups
  • Problemen bij audits, compliance of forensic onderzoek
  • Schending van IEC 62443 en toekomstige EU-verplichtingen (zoals Cyber Resilience Act)

📌 Samengevat

Code Signing is een onmisbare beveiligingslaag in OT-omgevingen voor het vertrouwen in software en Firmware. Zonder digitale handtekening is er geen garantie dat de code veilig, origineel en onveranderd is.