Onderzoekers van het beveiligingsbedrijf Kudelski Security hebben ongeveer 210.000 rsa-privésleutels weten te achterhalen door een grote dataset met publieke sleutels te analyseren. Daarbij gebruikten ze bekende methodes, die al eerder voor hetzelfde doeleinde zijn toegepast.
De onderzoekers maakten gebruik van een techniek die bekendstaat als batch gcd, waarbij die laatste afkorting staat voor greatest common denominator, oftewel de grootste gemene deler. Omdat een rsa-sleutel aan de hand van twee of meer grote priemgetallen wordt gegenereerd, zijn er soms sleutels die eenzelfde factor delen. Batch gcd maakt hiervan gebruik om de privésleutel te achterhalen. De onderzoekers legden uit dat deze methode sneller werkt met een grotere dataset aan sleutels. Hun bedrijf is niet het eerste dat deze aanpak gebruikt, zo deed Cryptosense ongeveer hetzelfde in 2015.
Ze verzamelden allerlei verschillende sleutels, in totaal meer dan 340 miljoen in een groeiende collectie. Daarvan waren bijna 70 procent sleutels uit X.509-certificaten, die gebruikt worden voor het beveiligen van https-verbindingen. Die vonden ze door een eigen scanner te gebruiken. Iets minder dan een derde van de verzameling bestaat uit ssh-sleutels, waarvan de ruime meerderheid afkomstig is uit de bestaande CroCS-dataset en een kleiner aantal uit eigen scans. Een klein restpercentage, ongeveer drie procent, betrof pgp-sleutels. Die hadden ze in veruit de meeste gevallen verzameld via sleutelservers. Het verzamelproces strekte zich uit over de periode van een jaar.
De 210.000 met behulp van batch gcd achterhaalde sleutels waren in 207.000 gevallen sleutels van digitale certificaten, waarvan er meer dan 1400 nog in gebruik waren in het afgelopen jaar. In de meeste gevallen ging het om routers. Verder achterhaalden ze meer dan 3100 ssh-sleutels en bijna 300 pgp-sleutels. De onderzoekers keken niet alleen of de sleutels kwetsbaar waren voor batch gcd, maar ook voor een aanval die bekendstaat als Roca.
Deze maakt het mogelijk de privésleutel aan de hand van de publieke sleutel te achterhalen bij paren die gegenereerd zijn met bepaalde Infineon-chips. Ze vonden 4000 sleutels die hiervoor kwetsbaar waren, waarvan ongeveer een derde ook daadwerkelijk gevaar liep doordat een sleutel van 2048bit was gebruikt. De rest gebruikte 4096bit, waartegen een aanval niet interessant zou zijn.
Tijdens hun analyse kwamen de onderzoekers er ook achter dat in minstens 3400 gevallen gegenereerde sleutels voor zowel X.509-certificaten als voor pgp of ssh werd gebruikt.