Veilig beheren van honderden IoT-apparaten op afstand: hoe pak je dat aan?

Sjors de Wit
Sjors de Wit
14 oktober 2026
Read in English
Security Platform
De stempel geeft elk apparaat en de server een eigen paspoort. Het zegel verzegelt firmware-updates. Beide sleutels blijven in eigen beheer.

Connected apparaten wil je kunnen updaten

Als fabrikant van een (connected) apparaat wil je op afstand updates kunnen uitrollen. Want updates komen er sowieso. Of het nu gaat om kleine verbeteringen, het oplossen van foutjes of nieuwe functies. En het is natuurlijk zonde om een monteur langs te sturen alleen om een update te installeren.

Maar er komt wel wat bij kijken om dit goed op te zetten. Een stilvallende installatie door een mislukte update wordt opeens een spoedklus. En je wilt zelf de controle houden: de digitale deur goed op slot, en de sleutels in eigen beheer. Zodat er niet opeens een gehackte versie geïnstalleerd kan worden, of iemand zich kan voordoen als jouw apparatuur.

De basis: elk apparaat zijn eigen digitale paspoort

De basis is een goed beveiligde verbinding met je apparaten. Elk apparaat maakt verbinding met de server. Maar hoe weet je of de server echt is en andersom? Daarvoor gebruiken wij in vakjargon mutual TLS (mTLS).

Eigenlijk niet anders dan twee personen die elkaar alleen van naam kennen. Door elkaar te identificeren met een paspoort kunnen ze erop vertrouwen wie wie is.

Twee personen tonen elkaar een paspoort dat door Jouw bedrijf is uitgegeven en vertrouwen elkaar pas daarna. Iemand zonder zo'n paspoort komt er niet in

Heb je zowel server als apparaat in eigen beheer (of een leverancier die dat voor je doet), dan kun je je eigen paspoorten uitgeven, met je eigen stempel als waarmerk. Zo kunnen je apparaten heel streng controleren op dat echtheidskenmerk, zonder misleid te worden door een vals paspoort. Met deze aanpak komt de verbinding pas tot stand als het apparaat zeker weet met de echte server te praten. En andersom.

Apparaat en server tonen elkaar hun certificaat en controleren de stempel, pas daarna gaat er data over. Een gekloond apparaat en een nep-server worden allebei geweigerd

Waarom dit nog niet genoeg is

Met een goede paspoortcontrole zou je misschien denken dat we klaar zijn. Maar dat update-pakketje dat het apparaat ontvangt, wat zit daar eigenlijk in? Wie heeft het ingepakt? Je server is hier eigenlijk maar een doorgeefluik: de firmware die jij hebt klaargezet wordt doorgegeven aan alle apparaten.

Een gemaskerde inbreker geeft een mysterieus pakket aan de koerier, die het doorgeeft aan de ontvanger. Beide paspoorten kloppen, maar wat zit er in het pakket?

Door het update-pakketje apart te verzegelen, zal het apparaat alleen officiële, juiste updates toepassen. Wat er onderweg ook met het pakketje gebeurd is, zelfs als je server gehackt wordt.

Een firmware-update met een heel zegel wordt opgeslagen, gecontroleerd en geïnstalleerd. Een update met een gebroken of onbekend zegel wordt geweigerd

Update geweigerd? Dan draait het apparaat gewoon door op de huidige versie.

Samengevat: de workflow

De levensloop van een apparaat met deze aanpak:

  1. Programmeurs schrijven een nieuwe firmware-update. Dit kun je zelf in-house doen of uitbesteden.
  2. Jij verzegelt de update. Kan alleen met jouw zegelsleutel .
  3. Tijdens productie wordt ieder apparaat van een paspoort voorzien. Kan alleen met jouw unieke stempelsleutel .
  4. In het veld kunnen je apparaten jaren veilig gebruikt worden. Zelfs als iemand het paspoort in handen zou krijgen, blijft de impact beperkt tot één apparaat.
  5. Rol je een update uit, dan verifieert ieder apparaat de verzegeling. Een onofficiële update komt er niet doorheen.
De levensloop van een apparaat: firmware bouwen, verzegelen, paspoort in de fabriek, jaren in het veld, en een update waarbij het apparaat het zegel controleert

Kijk naar de onderste rij in de figuur. Er zijn twee digitale sleutels die je ieder op één specifiek moment gebruikt. In de meeste stappen heb je ze dus niet nodig!

Hoe kan dat dan, controleren zonder sleutel?

Elk apparaat (en je server) krijgt als het ware een afdruk mee van jouw stempel. Door daarmee te vergelijken kun je wél controleren of een gestempeld paspoort echt is, maar niet zomaar een nieuwe stempel zetten. Net als een watermerk in een bankbiljet: het is niet geheim hoe dit eruitziet, iedereen kan het controleren. Maar zelf een biljet printen, dat is een ander verhaal.

Voor de techneuten: we gebruiken hier public-key-cryptografie. Elke sleutel heeft een private helft die jij gebruikt om de stempel/verzegeling te maken en een public helft waarmee elk apparaat de echtheid controleert. Het paspoort is een X.509-certificaat, de stempel je eigen certificate authority (CA), en het zegel een digitale handtekening op de firmware die de bootloader controleert.

Beheer van de sleutels

Jouw sleutels hoeven dus niet op je server, apparaten of bij de ontwikkelaar te liggen: die kun je veilig in eigen beheer houden.

Een hardware-sleutel aan een sleutelring

Er zijn speciale apparaatjes die als digitale kluis (hardware-sleutel) werken (vergelijkbaar met een hardware wallet voor bitcoin). Daarmee kun je verzegelen en stempels zetten zonder dat de sleutel gekopieerd kan worden.

Zo loop je geen risico dat deze uitlekt door rondslingerende kopietjes. Natuurlijk wel aan te raden om een goede backup te bewaren! Bijvoorbeeld extra exemplaren in een kluis.

Checklist: vragen voor je leverancier

Ben jij als fabrikant benieuwd hoe het met jouw apparaten eigenlijk zit? Vraag je leverancier:

  • Heeft elk apparaat zijn eigen 'paspoort' (certificaat)? Of delen alle apparaten dezelfde sleutel/wachtwoord?
  • Is de verbinding beveiligd en controleren apparaat en server elkaar? Of is het maar in één richting?
  • Zijn updates verzegeld (digitaal ondertekend) en wordt dat door de apparaten gecheckt?
  • Wat gebeurt er met je apparaat als de update onderbroken wordt? Bijvoorbeeld doordat de stroom uitvalt?
  • Wie beheert de sleutels? Wie heeft toegang en hoe zijn backups geregeld?
  • Als één apparaat gestolen of gehackt wordt, kun je dat dan buitensluiten?

Zo doen wij het in sensor-link

Wij werken met een geautomatiseerde ontwikkelstraat (CI pipeline), die een nieuwe versie pas verzegelt als alle tests slagen. Desgewenst ook pas na akkoord van een collega: het vierogenprincipe.

In de fabriek wordt de hardware getest met een aparte test-firmware. Pas bij de eindassemblage zet jij de nieuwste firmware en het unieke paspoort erin. Wij hebben handige tools waarmee je dit in een handomdraai kunt doen, met de sleutels in eigen beheer.

Op het apparaat is onze bootloader geïnstalleerd. Dit stukje software draait voordat de applicatie opstart en is verantwoordelijk voor het veilig installeren van updates. Dit is hoe dat werkt:

  1. De applicatie haalt het hele update-pakket binnen en herstart.
  2. De bootloader verifieert het pakket dat klaarstaat. Ongeldig? Dan wordt het genegeerd en starten we de bestaande versie.
  3. Klopt de verzegeling? Dan wordt de update geïnstalleerd en opgestart.

Door de nieuwe update als kopie klaar te zetten, kan zelfs een abrupt onderbroken update na een herstart gewoon verder gaan.

En wat kost dat? Paspoorten, zegels, een veilige bootloader: dat zijn opgeloste problemen. Die wielen hebben wij al uitgevonden in sensor-link, dus jij betaalt alleen voor wat jouw product uniek maakt.

Wat past bij jouw product?

Natuurlijk zijn de trade-offs voor ieder product anders. Wat is de impact als het misgaat? Wat kost het als je installaties stilstaan door een mislukte update? Hoe groot is de dreiging, zijn er mensen die er baat bij hebben jouw apparaten na te maken of te saboteren? Ook als dat allemaal niet zo van toepassing lijkt, bedenk dan dat de eisen van de Cyber Resilience Act eraan komen.

Benieuwd wat bij jouw product en risico's past? Plan een vrijblijvend gesprek.