‘Kraak’ van SHA-1 dwingt tot aanpassingen
Dat betekent overigens niet dat toepassingen van SHA-1 nooit gekraakt kunnen worden, zo blijkt nu.
Het algoritme wordt niet alleen gebruikt voor integriteitscontrole (zijn de gegevens compleet overgekomen) maar bijvoorbeeld ook voor het creëren van digitale handtekeningen. Het geringste verschil tussen twee documenten resulteert in verschillende hash-codes, dus zo’n hash vormt een unieke rij tekens die de bijbehorende data identificeert.
Wil een vervalser bijvoorbeeld een digitale handtekening vervalsen, dan moet hij twee documenten vinden die dezelfde hash-code opleveren. De kans op dergelijke zogeheten ‘collisions’ is uitermate gering. Het imiteren van dat toeval zou volgens de gangbare opvatting 280 bewerkingen vergen. Drie Chinese onderzoekers hebben nu aannemelijk gemaakt dat dergelijke collisions te creëren zijn in 269 bewerkingen, dus 2048 keer zo snel. De Chinezen, die hun exacte werkwijze nog niet in detail hebben gepubliceerd, hebben er een flinke mainframe-computer voor gebruikt, maar verwerkingskracht wordt snel goedkoper en dus bereikbaar voor een bredere groep.
SHA-1 is niet echt gekraakt, maar "er is aangetoond dat het theoretisch makkelijker is dan gedacht", aldus Benne de Weger van de TU Eindhoven. Er is dus wel degelijk reden tot ongerustheid. Hij en cryptografiedeskundige Arjen Lenstra (net overgestapt naar Bell Laboratories) hebben contact opgenomen met de Chinezen en zijn erachter gekomen dat het mogelijk is twee digitale certificaten te creëren, waaruit de handtekening van de één is over te zetten op de ander. Dat is dan wel gebeurd met MD5, de voorloper van SHA-1, maar het principe blijft overeind. "SHA-1 is dus stervende."
De Weger verwondert zich over het feit dat er nog steeds digitale certificaten worden uitgegeven met als hashing-algoritme MD5, waarvan al bekend was dat het verzwakt was. Overstappen naar nieuwere algoritmes zoals SHA-256 is voorlopig geboden. "Er zullen heel wat systemen moeten worden aangepast." SHA-1 wordt onder andere gebruikt in de beschermde SSL-communicatie (van browsers), het netwerkbeveilingsprotocol IPsec, in PKI-systemen en in PGP-beveiliging. PGP Corporation meldde overigens meteen dat de volgende versies van zijn software SHA-256 en SHA-512 zullen gebruiken. Op de langere termijn zullen die uitgebreidere hashes niet voldoen. Lenstra pleit dan ook voor een fundamenteel nieuwe aanpak voor hashing-algoritmes.