
Bij HENZ houden we ons dagelijks bezig met complexe netwerkbeveiliging. Maar af en toe komt er een totaal ander technisch vraagstuk voorbij. Eentje die niets met firewalls of netwerkarchitectuur te maken heeft, maar ons tóch prikkelt om in actie te komen.
Een goed voorbeeld? Ons slimme fietsslot.
We delen op kantoor een fiets voor korte ritten in Amsterdam. Geen sleutels nodig: wie een persoonlijke RFID-tag heeft, kan ‘m openen. Handig, totdat we merkten dat we bijna door onze voorraad tags heen waren. De fabrikant bood natuurlijk extra exemplaren aan, tegen een stevige prijs. En dat maakte iets in ons los. Niet uit gierigheid, maar uit nieuwsgierigheid: zouden goedkopere, generieke RFID-tags ook werken?
Onderzoeksmomentje
We begonnen met het uitlezen van een bestaande, werkende RFID-tag met behulp van een Proxmark3 RDV4. Al snel ontdekten we dat het om een EM410x-tag ging, een veelgebruikt type. Diezelfde dag bestelden we er honderd online. Maar toen ze eenmaal arriveerden, liep het niet zoals gehoopt: de nieuwe tags werkten niet.
Dat was het begin van een serie tests, vergelijkingen en hypotheses. We onderzochten verschillen tussen de oude en nieuwe tags. Wat meteen opviel: de getallen die op de nieuwe tags gedrukt stonden, klopten niet met wat de Proxmark uitlas. Verder ontdekten we dat het fietsslot gebruikmaakte van een specifieke weergave van de tagdata (‘Pattern 1’) in plaats van het standaard ID.
We voerden deze “Pattern 1”-waardes in. Opnieuw zonder succes.
Dieper graven
We vergeleken tientallen tags en stuitten op iets interessants: alle werkende tags hadden een specifieke ‘VD’ waarde: 123. De nieuwe tags hadden dat niet. Wat betekende dit?
Na wat zoekwerk ontdekten we dat deze VD waarschijnlijk staat voor een ‘Vendor ID’ of ‘Customer ID’. Dat is een waarde die automatisch afgeleid wordt uit het tag-ID. Dit suggereerde iets dat in onze wereld helaas ook regelmatig voorkomt: een vendor lock.
De test
Om dit te testen, maakten we twee geëmuleerde tags. Eentje met een werkende ‘Pattern 1’-waarde maar een verkeerde VD, en eentje met een juiste VD maar een nieuwe pattern. Alleen de tweede werkte. Daarmee was onze hypothese bevestigd: het slot accepteerde alleen tags met een specifieke vendor-identificatie.
Probleem opgelost – op onze manier
De oplossing? T5577-programmeerbare RFID-tags. Hiermee konden we de juiste combinatie van VD en pattern instellen. En jawel, het fietsslot accepteerde ze. We hebben nu een voorraad goedkopere, volledig werkende tags.
Waarom dit verhaal?
Nee, HENZ levert geen RFID-diensten. En nee, we verkopen ook geen fietsen. Maar dit verhaal zegt wél iets over wie wij zijn.
We zijn nieuwsgierige techneuten. We geven niet snel op. We zoeken tot we het begrijpen. Of het nu om een netwerkprobleem of een fiets met een vendor lock gaat. En als team lossen we het samen op, met een mix van kennis, tools en lol.
Soms leer je het meest, juist als het probleem ver buiten je dagelijkse werkgebied ligt.