Naar de content

Alle klokken gelijk

Net op tijd: waarom tijdservers op het internet onmisbaar zijn

Tekening van klokken
Tekening van klokken
Frederique Matti voor NEMO Kennislink

Alle apparaten en programma’s die met het internet zijn verbonden, moeten dezelfde tijd hanteren om goed te kunnen werken. De exacte tijd vragen ze op bij een tijdserver. “Ongeveer alle computers ter wereld zijn afhankelijk van het Network Time Protocol.”

16 november 2023

Of je nu je bestanden back-upt, je slimme huis commandeert of een overschrijving doet: dat lukt alleen als alle betrokken apparaten en software het eens zijn over de tijd. Als de klok van een online opslagdienst bijvoorbeeld voorloopt, kan een verouderd bestand dat er is opgeslagen, per abuis als fonkelnieuw gezien worden. De echte nieuwe versie op jouw laptop wordt er dan mee overschreven, waardoor je al je kostbare wijzigingen kwijt bent. Of je slimme huis denkt nog in wintertijd, terwijl de bedieningsapp op je smartphone al naar zomertijd is gesprongen: dan beginnen al jouw huisscenario’s een uur te laat, waardoor je in een koud en donker huis arriveert.

Ergens op jouw computer staat waar jouw machine de tijd op moet halen. In dit geval is dat bij time.apple.com.

Jolein de Rooij

Afhankelijk

Alle hardware- en softwaresystemen moeten daarom regelmatig hun horloges gelijkzetten. Dat doen ze door de tijd op te vragen bij een tijdserver. Dat is een computer op het internet die exact weet hoe laat het is, bijvoorbeeld omdat die in verbinding staat met een gps-satelliet met een atoomklok aan boord, of praat met een andere tijdserver. Dat praten – zowel tussen tijdservers onderling als tussen tijdservers en tijdafnemers – gebeurt via het Network Time Protocol (NTP), dat eind jaren zeventig werd bedacht door computeronderzoeker David L. Mills van de University of Michigan. “Ongeveer alle computers ter wereld zijn afhankelijk van NTP”, zegt George Smaragdakis, hoogleraar Cybersecurity aan de TU Delft. “Alle sensoren en apparaten binnen het internet der dingen, maar ook webservers, financiële systemen, industriële productiesystemen, smartphones en pinautomaten hebben een correcte systeemtijd nodig.”

Piramide

Tijdservers vertellen onderling de tijd aan elkaar door. Niet alle tijdservers zitten even dicht bij het vuur. Een tijdserver op stratum 1-niveau kent de tijd uit de eerste hand, van een exacte tijdsbron, zoals een atoomklok. Maar er bestaan ook tijdservers op stratum 15-niveau.

Onzichtbare kant

“Als mensen het over het internet hebben, denken ze meestal aan zoekmachine Google, social media als Facebook, of de website van de Belastingdienst”, zegt Cristian Hesselman, hoogleraar Trusted Open Networking aan de Universiteit Twente en directeur van SIDN Labs. “Maar dat is alleen de zichtbare kant van het internet. Er is ook een onzichtbaar deel, dat wordt gerund door heel andere partijen. Denk aan internetproviders, of aan SIDN, dat het Nederlandse internetdomein .nl beheert. Het leveren van de juiste tijd is ook onderdeel van die grote, onzichtbare internetinfrastructuur.”

Hoe cruciaal tijdsdiensten ook zijn voor allerlei systemen, toch zijn ze sinds de jaren zeventig van de vorige eeuw organisch ontstaan, op initiatief van veelal academische instituten. Zij namen vrijwillig de verantwoordelijkheid op zich om deze diensten te ontwikkelen, omdat ze zagen dat ze nodig waren. Budget hadden ze er meestal niet voor, laat staan dat internettijddiensten van overheidswege werd gestimuleerd.

Overspoeld

Door de groei van het internet begon de vraag naar tijdsdiensten na de millenniumwisseling opeens te exploderen. Dat zorgde voor problemen. Zo werd een NTP-server van de Amerikaanse University of Wisconsin-Madison in 2003 overspoeld met tijdverzoeken. “De oorzaak bleek een nieuwe reeks routers van fabrikant Netgear te zijn”, zegt Roland van Rijswijk-Deij, hoogleraar Internetveiligheid aan de Universiteit Twente. “Die hadden firmware waarin rechtstreeks naar het IP-adres van de NTP-server van de universiteit werd verwezen. Bovendien waren de routers zo geconfigureerd dat ze elke seconde een tijdsaanvraag deden, zolang ze geen antwoord kregen.” Het probleem leek opgelost nadat Netgear een firmware-update uitbracht. “Maar omdat gebruikers zelf echter geen problemen ondervonden, installeerde lang niet iedereen die update. Daarom kreeg de NTP-server van de University of Winsconsin-Madison nog minstens tot in 2016 tijdsverzoeken van routers.”

“Vanwege dit soort incidenten zijn de grote technische bedrijven, zoals Google, Microsoft en Apple, grootschalige diensten op gaan richten, zoals time.apple.com”, vertelt Marco Davids, research engineer bij SIDN Labs. Kleinere aanbieders, zoals onderzoeksinstellingen en particulieren met een NTP-server, bundelden hun tijdservers vanaf 2003 in een gezamenlijk netwerk. Als een tijdconsument contact legt met deze NTP Pool, krijgt die een lijstje beschikbare tijdsservers toegewezen. “Het doel is om zo tijdsverzoeken evenrediger te verdelen over de beschikbare tijdsservers”, licht Davids toe.

Momenteel bestaat de NTP Pool uit ruim 4500 NTP-servers. Voor veel fabrikanten van netwerkapparatuur, zoals FRITZ!Box en Linksys, fungeert de pool als standaardleverancier voor tijdsdiensten. Ook veel slimme apparaatjes die zijn aangesloten op het internet der dingen, en veel Android- en Linux-gebruikers zijn voor hun tijdssynchronisatie afhankelijk van deze NTP Pool.

Scheve verdeling

Ook al is het capaciteitsprobleem dus inmiddels opgelost, daarmee zijn de zorgen niet voorbij. Zo publiceerden onderzoekers van SIDN Labs, de Universiteit Twente en de Universiteit Delft in oktober 2023 een alarmerend rapport over de NTP Pool. Daaruit bleek dat NTP-servers bijzonder ongelijk over de wereld verdeeld zijn. “In sommige landen staan er honderden, in andere slechts een of twee”, vertelt Smaragdakis, die bij het onderzoek betrokken was. Medeonderzoeker Davids vult aan: “De NTP Pool-software verdeelt tijdsaanvragen op basis van geolocatie. Dus als jij de enige server bent in jouw land, dan zal de software alle gebruikers in jouw land aan jou toewijzen. Dat is een risico. Als een kwaadwillende zich namelijk uitgeeft als tijdsdienstleverancier, kan die de tijd manipuleren. Dat kan ernstige gevolgen hebben, ook voor de beveiliging van het internet.”

Een ander probleem is de kwaliteit van de beschikbare tijdservers. Davids: “Iedereen die dat wil, kan zich bij de NTP Pool aanmelden. Dus als je thuis een server hebt staan die nog wat capaciteit over heeft, dan kun je die ook laten toevoegen. De NTP Pool is een samenwerkingsverband van servers van allerlei pluimage. Er zitten hele goeie servers tussen, maar ook mensen die thuis via een ADSL-verbinding hun server beschikbaar hebben gesteld. Als tijdafnemer weet je daarom meestal niet hoe betrouwbaar de tijdsdienst is, die je toegewezen krijgt. Eigenlijk kun je dus niet elke server uit de pool vertrouwen, maar toch doen gebruikers dat wel. In de praktijk kan de kwaliteit van de dienstverlening echter enorm verschillen.” Daar komt bij dat lang niet alle tijdservers goede informatie geven over hun capaciteit en werking.

Nederlandse dienst

Om te laten zien hoe het wel moet, voegde SIDN Labs in 2019 een eigen tijdserver aan de pool toe. Die is te vinden op time.nl. Davids: “Veel tijdservers, ook in Europa, zijn enkel gebaseerd op het Amerikaanse gps-signaal. Voor zo’n belangrijke dienst als de juiste tijd wil je echter niet alleen afhankelijk zijn van de Amerikaanse overheid. Daarom maakt onze tijdserver ook gebruik van het Europese satellietnavigatiesysteem Galileo en van het DCF77-radiosignaal. Dat wordt in de lucht gebracht door de Duitse standaardenorganisatie PTB en uitgezonden over de FM-frequentie.” Daarbovenop staat er in het SIDN-gebouw ook een zogeheten _holdover_-klok’. “Deze op rubidium gebaseerde atoomklok controleert niet alleen het tijdssignaal van onze referentieklokken, maar telt ook door als dat signaal onverhoopt mochten wegvallen.”

Het aantal tijdverzoeken dat per seconde binnenkomt bij de Nederlandse internettijdservice time.nl in een periode van acht uur.

Time.nl

Eén persoon

Een andere risicofactor is het beheer van de NTP Pool. Momenteel is die in handen van een persoon: Ask Bjørn Hansen. Hij nam oorspronkelijk het initiatief voor de ontwikkeling van de NTP Pool-opensourcesoftware. Hansen beslist daardoor in zijn eentje over de toelating van nieuwe servers en moet ook zijn fiat geven aan softwarewijzigingen. Hij runt de NTP Pool vrijwillig, naast een betaalde baan. Mocht hij onder een bus lopen – afkloppen – dan is er een probleem. Wereldwijd zijn er namelijk miljoenen gebruikers en miljarden apparaten die blindelings vertrouwen op de NTP Pool.

“In de loop der jaren is het gebruik en het belang van de NTP Pool enorm gegroeid”, zegt datawetenschapper Giovane Moura van SIDN Labs. “Die pool is ontstaan als vrijwilligersproject, maar inmiddels uitgegroeid tot een hoeksteen op het gebied van tijdssynchronisatie, voor talloze systemen en netwerken wereldwijd. Om op termijn betrouwbaar te blijven zou Ask eigenlijk een team nodig hebben waarmee hij ervoor kan zorgen dat deze cruciale tijdsdienst ook in de toekomst goed blijft werken.”

Weg met de schrikkelseconde

Nog een risico voor de continuïteit van tijdservers: schrikkelsecondes. Omdat de aarde heel langzaam trager gaat draaien, is af en toe een schrikkelseconde nodig. Dat is echter een risicovolle onderneming voor NTP-gebruikers, omdat er jaar 2000-achtige problemen kunnen optreden. Gelukkig is er goed nieuws: vanaf 2035 is afgesproken om te stoppen met schrikkelsecondes.