Microsoft is van plan om begin 2016 te starten met het uitfaseren van ondersteuning voor het sha-1-hashing-algoritme. Windows-software die is ondertekend met een certificaat, en websites in Internet Explorer en Chrome, worden dan alleen vertrouwd met een sha-2-hash.
Hoewel 98 procent van de ssl-certificaten volgens Microsoft het sha-1-hashingalgoritme gebruikt, heeft het bedrijf toch besloten om het pensioen voor het algoritme alvast aan te kondigen. Volgens Microsoft is het algoritme hard op weg om net zo achterhaald te worden als het md5-algoritme. Hoewel er voor zover bekend nog geen succesvolle exploits voor sha-1 bestaan, werden in 2005 al kwetsbaarheden gevonden en in 2010 werd de Amerikaanse overheid in veel gevallen al gedwongen om over te stappen op het veiligere, maar nog niet overal geïmplementeerde sha-2.
Certificaatautoriteiten moeten per 1 januari 2016 stoppen met het uitgeven van certificaten waarin sha-1 wordt gebruikt, aldus Microsoft. Dat geldt voor certificaten die worden gebruikt voor ssl/tls en het ondertekenen van software die op Windows draait. Bestaande ssl-certificaten met sha-1 worden na 1 januari 2017 niet meer ondersteund; dat heeft gevolgen voor gebruikers van Internet Explorer en Chrome. Firefox heeft een eigen certificatendatabase. Certificaten die voor het ondertekenen van software worden gebruikt worden na 1 januari 2016 alleen geaccepteerd als ze al voor die tijd waren uitgegeven, totdat Microsoft besluit dat het sha-1-algoritme echt volledig gekraakt is.
Alle certificaten zouden vanaf nu met het veiligere sha-2-algoritme moeten worden uitgegeven, aldus Microsoft. Dat heeft gevolgen voor gebruikers van oude software: Service Pack 2 van Windows XP en eerdere Windows-versies ondersteunen geen sha-2. Overigens zal Microsoft de situatie in 2015 opnieuw beoordelen en bepalen of de uitfasering wordt doorgezet.
Sha-1 is een hashing-algoritme, dat wordt gebruikt om de integriteit van een boodschap te kunnen verifiëren. Het kan onder meer worden gebruikt in ssl/tls. Daarbij is sha-1 dus niet verantwoordelijk voor het versleutelen van de boodschap: het algoritme wordt enkel gebruikt om er verzekerd van te zijn dat er niet met de boodschap is geknoeid. Dat is belangrijk, want bij bijvoorbeeld het beveiligen van internetbankieren draait het niet alleen om de versleuteling: er moet ook kunnen worden gecontroleerd of niemand de verbinding aftapt en weer opnieuw versleutelt. Zonder hashing-algoritmes zijn verbindingen wel versleuteld, maar is de vertrouwelijkheid van internetverkeer niet gewaarborgd.
Een hashing-algoritmes is achterhaald wanneer misbruik kan worden gemaakt van hash collisions: dat is het geval wanneer meerdere boodschappen over dezelfde hash beschikken. Als een aanvaller een boodschap zo weet te manipuleren dat de hash klopt, ondanks dat het bericht is gemanipuleerd, is de integriteit van de boodschap niet langer gewaarborgd. Er is nog geen concrete aanval op sha-1 bekend, maar onderzoek naar kwetsbaarheden in sha-1 neemt toe: vorig jaar wist de Nederlandse cryptografiedeskundige Marc Stevens van het CWI een verbeterde theoretische aanval op sha-1 te ontwikkelen.
"Er zijn aanvallen mogelijk die voor onderzoekers nu net buiten bereik liggen, maar die grote staten of beheerders van botnets wel kunnen bereiken", aldus Stevens tegen Tweakers. Volgens hem zijn aanvallen op sha-1 kostbaarder dan md5, omdat ze meer rekenkracht vergen, maar naar mate de rekenkracht groeit wordt het risico groter. Daarom is hij blij dat sha-1 wordt uitgefaseerd, maar dat dat pas in 2016 gebeurt is wellicht wat laat, vreest Stevens. "Ik ben bang dat we een beetje achter de feiten aanlopen", zegt Stevens, zoals bij md5 al eerder gebeurde: dat algoritme werd nog jaren gebruikt nadat er al concrete aanvallen waren. Stevens heeft een tool uitgebracht waarmee kan worden gecontroleerd of er is geknoeid met een hash.
Overigens waarschuwt Microsoft tegelijkertijd dat websites en bedrijven niet langer het rc4-encryptie-algoritme moeten gebruiken in ssl/tls-certificaten. Een veiligere keuze is aes-gcm, aldus Microsoft. Rc4 stamt uit 1987, maar het is al lange tijd duidelijk dat de random number generator van het algoritme niet goed werkt.