OPC UA-security & certificaten
Security is in OPC UA ingebouwd, niet erop geplakt. Een verbinding onderhandelt een security policy en mode, waarna client en server elkaar authenticeren met X.509-certificaten. Deze twee begrippen doorgronden (modes en trust) lost de meeste securityvragen en verbindingsfouten op.
De vier pijlers
| Pijler | Wat het beschermt |
|---|---|
| Versleuteling | Vertrouwelijkheid: niemand kan het verkeer lezen |
| Ondertekening | Integriteit: berichten kunnen niet worden gemanipuleerd |
| Authenticatie | Identiteit: van de applicatie (certificaat) en de gebruiker |
| Autorisatie | Rechten: wat een geauthenticeerde gebruiker mag doen |
Security modes
- None : geen ondertekening of versleuteling. Alleen voor geïsoleerd testen.
- Sign : berichten worden ondertekend (integriteit + authenticatie) maar niet versleuteld.
- Sign & Encrypt : ondertekend en versleuteld. Gebruik dit in productie.
Elke mode hoort bij een security policy (de cipher suite, bijv. Basic256Sha256 of de nieuwere Aes256-policies). Geef de voorkeur aan moderne policies en schakel verouderde uit.
Hoe certificaatvertrouwen werkt
Elke OPC UA-applicatie heeft een eigen instance certificate. Bij het verbinden wisselen client en server certificaten uit; elk houdt een kleine PKI-store bij:
pki/
├─ own/ # this application's own cert + private key
├─ trusted/certs # certificates we trust
├─ trusted/crl # certificate revocation lists
├─ issuer/ # CA certs (if using a CA)
└─ rejected/ # certs seen but not yet trusted
rejected/. Verplaats het naartrusted/certsaan beide kanten, en verbind daarna opnieuw. Deze ene stap verhelpt de meeste "BadSecurityChecksFailed"-fouten.Self-signed vs CA-signed
Self-signed-certificaten zijn prima voor kleine, statische installaties: u vertrouwt ze handmatig één voor één. Voor machineparken schaalt een Certificate Authority (of de OPC UA GDS, Global Discovery Server) het vertrouwen: vertrouw de CA één keer en elk certificaat dat hij uitgeeft is automatisch vertrouwd.
Gebruikersauthenticatie
Applicatie-identiteit (certificaat) staat los van gebruikersidentiteit. Een server kan anonymous-, username/password- of gebruikerscertificaat-tokens accepteren. Sluit aan bij wat de server verwacht, en geef in productie de voorkeur aan benoemde gebruikers boven anoniem, zodat acties herleidbaar zijn.
Hardeningchecklist
- Gebruik Sign & Encrypt met een moderne policy; schakel None en verouderde policies uit.
- Vervang standaard/self-signed certificaten door beheerde; stel een verstandige vervaldatum in en roteer.
- Eis benoemde gebruikers; schakel anoniem uit waar mogelijk.
- Pas autorisatie volgens least privilege toe: alleen-lezen tenzij schrijven echt nodig is.
- Houd CRL's actueel; verwijder verouderde certificaten uit
trusted/. - Zet OPC UA op een gesegmenteerd netwerk; beperk de poort tot bekende clients.
- Patch uw OPC UA-stack: behandel hem als elke andere netwerkdienst.
Laatst bijgewerkt 4 september 2026 · Educatieve bron.