Karsten Nohl en Henryk Plötz, die begin 2008 de beveiliging van NXP‘s Mifare-RFID-oplossing blootlegden, hebben tijdens het Hacking At Random-evenement in Vierhouten ook voor het Hitag2-beveiligingsalgoritme een methode gepresenteerd om de sleutels te achterhalen. Hitag is een broertje van Mifare, bedoeld voor lezen en schrijven over grotere afstanden. De technologie vindt zijn toepassing in onder meer digitale autosleutels, logistieke ketens en het identificeren van vee. De beveiliging is gebaseerd op Crypto1, de bedrijfseigen geheime cryptografiealgoritme dat Philips ontwikkelde voor Mifare.
De ontmanteling zat er al een tijdje aan te komen. De werking van het algoritme was al in februari vorig jaar onthuld. Sindsdien prikten verschillende researchers er al gaten in. NXP stuurde in april een brief naar zijn Hitag-klanten dat deze beveiliging waarschijnlijk niet lang meer stand zou houden. De chipmaker waarschuwde daarom dat ze de veiligheid van het systeem er niet op zouden moeten baseren. Indien dat wel nodig is, raadt NXP aan om te upgraden naar zijn nieuwere Desfire- of SmartMX-producten, die gebaseerd zijn op openbare beveiligingsprotocollen.
Uit de analyse van Nohl en Platz blijkt dat het algoritme iets lastiger te kraken is dan Crypto1. Het probleem is dat het maar weinig niet-lineariteit bevat. Tijdens het versleutelen van data moet een algoritme voortdurend data blijven genereren om te combineren met de onversleutelde gegevens. Dat gebeurt met input van de gegevens uit de vorige ronde. Een goed algoritme gebruikt daarbij zowel de input als de output van het algoritme uit de vorige ronde, wat het onmogelijk maakt om terug te rekenen naar de vorige toestand. Hitag2 baseert zich echter bijna alleen op de input. Dat maakt een ’slimme‘ brute force attack mogelijk om de geheime sleutel te achterhalen uit de gecodeerde boodschappen. Normaal zouden daar met een sleutellengte van 48 bits 249 berekeningen nodig zijn: alle sleutels moeten een voor een uitgeprobeerd worden. Met de slimme methode zijn slechts 235 berekeningen nodig, een klus die op een pc in zo‘n zes uur te klaren is. Nog steeds een aanzienlijke tijd, maar misbruik wordt er wel mee mogelijk.

