De YubiKey 5, het meest gebruikte hardwaretoken voor tweefactorauthenticatie op basis van de FIDO-standaard, bevat een cryptografische fout die het apparaat ter grootte van een vinger kwetsbaar maakt voor klonen wanneer een aanvaller er tijdelijk fysieke toegang toe krijgt, aldus onderzoekers dinsdag.
De cryptografische fout, bekend als een zijkanaal, zit in een kleine microcontroller die wordt gebruikt in een groot aantal andere authenticatieapparaten, waaronder smartcards die worden gebruikt in het bankwezen, elektronische paspoorten en toegang tot beveiligde gebieden. Hoewel de onderzoekers bevestigden dat alle modellen van de YubiKey 5-serie kunnen worden gekloond, hebben ze geen andere apparaten getest die de microcontroller gebruiken, zoals de SLE78 van Infineon en de opvolgers van de microcontrollers, bekend als Infineon Optiga Trust M en Infineon Optiga TPM. De onderzoekers vermoeden dat elk apparaat dat een van deze drie microcontrollers en de cryptografische bibliotheek van Infineon gebruikt, dezelfde kwetsbaarheid bevat.
Patchen is niet mogelijk
YubiKey-maker Yubico bracht het advies uit in coördinatie met een gedetailleerd openbaarmakingsrapport van NinjaLab, het beveiligingsbedrijf dat de YubiKey 5-serie reverse-engineerde en het brein was achter de kloonaanval. Alle YubiKeys met firmware vóór versie 5.7 (die in mei werd uitgebracht en de aangepaste Infineon-cryptobibliotheek vervangt) zijn kwetsbaar. Het is niet mogelijk om de sleutelfirmware op de YubiKey te updaten. Hierdoor zijn alle betrokken YubiKeys permanent kwetsbaar.
“Een aanvaller zou dit probleem kunnen misbruiken als onderdeel van een geavanceerde en gerichte aanval om gecompromitteerde privésleutels te herstellen”, bevestigde de adviseur. “Een aanvaller heeft fysiek bezit nodig van de YubiKey, de beveiligingssleutel of de YubiHSM; weten op welke accounts ze zich willen richten; en gespecialiseerde uitrusting om de noodzakelijke aanval uit te voeren. Afhankelijk van het gebruiksscenario heeft een aanvaller mogelijk aanvullende kennis nodig, waaronder een gebruikersnaam, pincode, accountwachtwoord of authenticatiesleutel.”
Nevenkanalen zijn het resultaat van sporen die zijn achtergelaten in fysieke manifestaties, zoals elektromagnetische emanaties, datacaches of de tijd die nodig is om een taak te voltooien die cryptografische geheimen onthult. In dit geval is het zijkanaal de hoeveelheid tijd die nodig is tijdens een wiskundige berekening die bekend staat als modulaire inversie. De cryptobibliotheek van Infineon slaagde er niet in een gemeenschappelijke zijkanaalverdediging te implementeren die bekend staat als constante tijd, omdat deze modulaire inversiebewerkingen uitvoert met behulp van een algoritme voor digitale handtekeningen met een elliptische curve. Constante tijd zorgt ervoor dat tijdgevoelige cryptografische bewerkingen uniform zijn en niet variabel afhankelijk van specifieke sleutels.
Meer specifiek ligt het zijkanaal in Infineons implementatie van het Extended Euclidische algoritme, een methode voor onder meer het berekenen van de modulaire inverse. Door een oscilloscoop te gebruiken om elektromagnetische straling te meten terwijl het token wordt geverifieerd, kunnen onderzoekers kleine verschillen in de uitvoeringstijd detecteren die de kortstondige ECDSA-sleutel van het token onthullen, ook wel bekend als een nonce. Verdere analyse stelt onderzoekers in staat de geheime ECDSA-sleutel te extraheren die ten grondslag ligt aan de algehele beveiliging van het token.
In een rapport op dinsdag schreef Thomas Roche, medeoprichter van NinjaLab: