HID-protocol: de onzichtbare taal tussen jouw apparaten en je computer
Elke keer dat je een muis in een USB-poort steekt en die meteen werkt, zonder installatie-cd of download, heb je het HID-protocol in actie gezien. HID staat voor Human Interface Device: een technische afspraak over hoe apparaten die door mensen worden bediend — toetsenborden, muizen, gamecontrollers, tekentablets — hun gegevens aan een computer doorgeven. Het is te vergelijken met een universele stekker die overal past: in plaats van dat elk apparaat zijn eigen speciale taal spreekt die de computer eerst moet leren, spreken ze allemaal dezelfde, vooraf afgesproken taal.
Dat klinkt misschien als saaie achtergrondtechniek, en dat is het voor een groot deel ook: het protocol dateert uit de jaren negentig en werkt al decennia grotendeels ongewijzigd. Maar juist die stabiliteit maakt HID relevant voor toekomsttechnologie. Nieuwe categorieën apparaten — van VR-controllers tot fysieke inlogsleutels voor wachtwoordloos internetgebruik — bouwen voort op dezelfde basis, omdat niemand het wiel opnieuw wil uitvinden. Wie begrijpt hoe HID werkt, begrijpt ook waarom zoveel nieuwe hardware direct 'gewoon werkt'.
Wat is het precies?
Voor HID bestond, moest elk nieuw apparaat een eigen stuurprogramma (driver) hebben: software die de computer vertelt hoe het de signalen van dat specifieke apparaat moet interpreteren. Dat was omslachtig en foutgevoelig. De oplossing kwam van de USB Implementers Forum (USB-IF), de industriegroep die de USB-standaard beheert. Zij bedachten een systeem waarbij elk HID-apparaat zichzelf eerst beschrijft.
Dat gebeurt via een zogeheten descriptor: een klein datapakketje dat het apparaat naar de computer stuurt zodra het wordt aangesloten. Daarin staat bijvoorbeeld: 'ik heb drie knoppen en twee bewegingsassen' (een muis), of 'ik heb 104 toetsen die elk aan of uit kunnen staan' (een toetsenbord). De computer leest deze beschrijving en weet vanaf dat moment precies hoe het de binnenkomende gegevens — de reports, kleine datapakketjes die continu worden verstuurd zolang je typt of beweegt — moet uitlezen. Er is dus geen apparaatspecifieke software nodig; het besturingssysteem heeft één generieke HID-driver die alle beschrijvingen kan lezen.
Het protocol bleef niet beperkt tot USB. De Bluetooth SIG, de organisatie achter de Bluetooth-standaard, ontwikkelde een vergelijkbaar HID-profiel voor draadloze apparaten, en later een energiezuinige variant genaamd HID over GATT Profile (HOGP) voor Bluetooth Low Energy — belangrijk voor batterijgevoede apparaten zoals draadloze toetsenborden en muizen die weken op één batterij moeten meegaan. Recenter heeft het World Wide Web Consortium (W3C), de organisatie die webstandaarden vastlegt, de WebHID API ontwikkeld. Daarmee kan een website, met expliciete toestemming van de gebruiker, rechtstreeks met een HID-apparaat praten vanuit de browser, zonder tussenkomst van geïnstalleerde software.
Wat wil men ermee bereiken?
Het kerndoel van HID is simpel: plug-and-play. Een gebruiker moet een apparaat kunnen aansluiten en het moet werken, punt. Voor fabrikanten betekent dit een lagere drempel om nieuwe hardware te maken: ze hoeven geen drivers te schrijven en te onderhouden voor elk besturingssysteem, wat innovatie versnelt en de kans op slecht werkende of onveilige stuurprogramma's verkleint.
Een tweede, minder zichtbaar doel is voorspelbaarheid en veiligheid. Omdat de HID-driver in het besturingssysteem zelf zit en door grote partijen wordt onderhouden, hoeft niet elke gebruiker een stuurprogramma van een onbekende fabrikant te vertrouwen. Dat vermindert het aanvalsoppervlak — het aantal plekken waar iets mis kan gaan — vergeleken met een wereld vol losse, slecht onderhouden drivers.
Een derde, nieuwer doel is uitbreidbaarheid naar toekomstige apparaatcategorieën. Doordat HID een generiek systeem van beschrijvingen is in plaats van een lijst met vaste apparaattypes, kunnen fabrikanten het hergebruiken voor dingen die in de jaren negentig nog niet bestonden: VR-handcontrollers met bewegingssensoren, fysieke beveiligingssleutels voor wachtwoordloos inloggen, en hulpmiddelen voor mensen met een beperking die op maat gemaakte schakelaars gebruiken.
Voorbeelden uit de praktijk
De basis-USB HID-specificatie, met versie 1.11 uit 2001 als de meest geciteerde, vormt nog altijd het fundament waarop vrijwel elk USB-invoerapparaat draait — van de goedkoopste kantoormuis tot professionele grafische tablets.
Yubico, opgericht in 2007, maakt de bekende YubiKey: een klein fysiek sleuteltje dat je in een USB-poort steekt om zonder wachtwoord in te loggen. Het communiceert via het CTAP2-protocol (onderdeel van de FIDO2-standaard) dat over de bestaande USB-HID-verbinding wordt gestuurd. Dat is precies waarom zo'n sleuteltje op vrijwel elke computer werkt zonder aparte software: het gedraagt zich technisch gezien als een simpel HID-apparaat.
Microsoft bracht in 2018 de Xbox Adaptive Controller uit, een gamecontroller die is ontworpen voor spelers met een fysieke beperking. Het apparaat heeft grote, aanpasbare aansluitingen waarop losse knoppen, joysticks en schakelaars van allerlei externe fabrikanten kunnen worden aangesloten — dat werkt alleen omdat al die hulpmiddelen zich aan de HID-standaard houden.
Valve's Steam Deck, een draagbare gameconsole uit 2022, en het bijbehorende Steam Input-systeem lezen de ruwe HID-datastroom van controllers uit, ook van modellen die Valve nooit officieel heeft ondersteund. Zo kunnen spelers vrijwel elke gamecontroller met de Steam Deck en met Windows- of Linux-pc's gebruiken.
Sinds enkele jaren biedt de WebHID API in Chromium-gebaseerde browsers (zoals Chrome en Edge) websites de mogelijkheid rechtstreeks met HID-apparaten te communiceren. Dat wordt bijvoorbeeld gebruikt door browsergebaseerde muziekeditors die met MIDI-controllers praten, en door retro-game-emulators die met specifieke controllers overweg kunnen zonder dat de gebruiker iets hoeft te installeren.
Hoe ver is de techniek?
De kern van het HID-protocol is al decennia stabiel en dat is bewust zo: een standaard die voortdurend verandert, zou juist de plug-and-play-belofte ondermijnen. In die zin is HID 'af' en zal het dat grotendeels blijven.
De actieve ontwikkeling zit aan de randen. De WebHID API is relatief nieuw en nog niet overal beschikbaar: Firefox en Safari hebben de functie tot op heden niet geïmplementeerd, deels uit voorzichtigheid, omdat rechtstreekse toegang tot hardware vanuit een website privacy- en beveiligingsrisico's met zich meebrengt als het niet zorgvuldig wordt afgeschermd met toestemmingsvensters. Dit zorgt voor versnippering: dezelfde website kan in de ene browser wel en in de andere niet met een apparaat praten.
De koppeling tussen HID en wachtwoordloos inloggen (passkeys) groeit momenteel het snelst. Grote techbedrijven duwen consumenten sinds ongeveer 2023 actief richting passkeys in plaats van wachtwoorden, en fysieke sleutels die op HID-transport leunen spelen daarin een rol, vooral voor mensen die extra bescherming willen of geen smartphone als tweede apparaat willen gebruiken.
Een blijvend obstakel is misbruik: al in 2014 toonden onderzoekers Karsten Nohl en Jakob Lell met de aanvalstechniek 'BadUSB' aan dat kwaadwillenden de firmware van een onschuldig ogend USB-apparaat zo kunnen herprogrammeren dat het zich voordoet als HID-toetsenbord en automatisch schadelijke commando's typt zodra het wordt aangesloten. Omdat het besturingssysteem een HID-toetsenbord standaard vertrouwt, is dit soort aanvallen moeilijk volledig uit te bannen zonder de basisbelofte van 'gewoon aansluiten en het werkt' te ondermijnen. Het blijft daardoor een kat-en-muisspel tussen gemak en veiligheid.
Wie werken eraan?
De USB Implementers Forum (USB-IF), een Amerikaanse non-profitorganisatie met wereldwijde leden, beheert de officiële USB HID-specificatie. De Bluetooth SIG, eveneens internationaal georganiseerd, doet hetzelfde voor de draadloze varianten. Het World Wide Web Consortium (W3C), met leden en medewerkers over de hele wereld, ontwikkelt de WebHID API als onderdeel van de bredere webstandaarden.
Op het gebied van wachtwoordloze authenticatie speelt de FIDO Alliance een centrale rol, een samenwerkingsverband dat in 2013 werd opgericht en waarin bedrijven als Google, Microsoft, Apple en Yubico gezamenlijk de FIDO2- en WebAuthn-standaarden vastleggen die gebruikmaken van HID-transport voor fysieke sleutels.
Daarnaast implementeren en verleggen individuele hardwarefabrikanten voortdurend de grenzen van wat met HID mogelijk is: Microsoft en Sony in gamecontrollers, Valve in draagbare consoles, Yubico in beveiligingshardware, en talloze kleinere fabrikanten van toegankelijkheidshulpmiddelen en VR-randapparatuur. Dit is dus geen project van één land of bedrijf, maar een internationaal, sterk verweven ecosysteem van standaardisatie-organisaties en concurrerende hardwaremakers die zich allemaal aan dezelfde basisregels houden.