image

GOVCERT: Gebruik MD5 is onverantwoord

donderdag 15 januari 2009, 15:13 door Redactie, 7 reacties

"Het staat buiten kijf dat het onverantwoord is om nog MD5 te gebruiken", aldus GOVCERT, het Computer Emergency Response Team van de Nederlandse overheid. De "internetbrandweer" publiceerde vandaag een factsheet waarin het de onlangs gepresenteerde aanval op SSL-certificaten uitlegt en wat betrokkenen kunnen doen. Zo komt het gebruik van certificaten aan bod, wat Public Key Infrastructure (PKI) is en wat de risico's op korte termijn zijn. Op dit moment heeft de organisatie nog geen aanvallen gesignaleerd en acht het vrijwel uitgesloten dat er op dit moment al frauduleuze certificaten in omloop zijn.

Bedrijven die MD5 willen vervangen hebben twee opties, of overstappen op SHA-1waarvan het slechts een kwestie van tijd is voordat er praktische aanvallen op zullen plaatsvinden, of het kiezen voor SHA-2. Een minder eenvoudige optie. "Ondersteuning van SHA-2 is lang niet vanzelfsprekend voor alle CA’s en alle software. Daarnaast kan gebruik maken van een dergelijk certificaat ook een probleem opleveren voor sommige bezoekers van uw website, als hun browser SHA-2 niet ondersteunt." Het grote voordeel van SHA-2 is dat het veruit de meest toekomstvaste optie op dit moment is, "omdat van SHA-2 wordt verwacht dat het nog zo’n tien jaar zal duren voordat er praktische aanvallen mogelijk zijn."

Reacties (7)
15-01-2009, 17:01 door [Account Verwijderd]
[Verwijderd]
15-01-2009, 18:18 door Anoniem
MD5 is een 128 bit hash. Dit is een beetje weinig in verband met de birthday attack (dan hou je ongeveer 64 bits over als je alle voorafgaande hashes ook gebruikt om een collision te zoeken). Daarbij is MD5 dus cryptografisch zwak waardoor de effectieve lengte nog minder wordt. Ook zijn er al meerdere collisions gevonden waardoor een aanval op MD5 al lang niet meer theoretisch is.

Je kan ook een byte, of zelfs nul bytes, hashen met MD5. Daarvoor worden je byte(s) gepadded tot een gewenste lengte. Deze padding ligt vast en kan het 'PS3' team dus niet gebruiken voor het zoeken naar collisions. Ik neem aan dat het team nog gaat publiceren over de wiskundige kant van hun aanval.
15-01-2009, 19:45 door Anoniem
nou, documentje ziet er leuk uit. nu de website nog.
maarre, jongens,
'Het is een misvatting dat je op basis van een ‘goed’ cryptografisch
algoritme voor onbepaalde tijd een goed product of een goede dienst
kunt leveren. De realiteit is namelijk anders.'

Ik snap dat de gemiddelde crypto neofiet dit denkt, door films e.d., maar er zijn heus plenty of crypto algoritmes die iets versleutelen wat niet te ontsleutelen valt.
16-01-2009, 10:14 door gorn
Door HugoVraagje aan de crypto-experts onder jullie: ik had begrepen dat, om de kwetsbaarheid van MD5 te gebruiken, je een bericht van minimaal 512 bits moet hebben. Een bericht wordt opgesplitst in blokken van 512 bits en elk blok wordt gehashed met de hash van het vorige blok als 'initializatie hash'. Pas met een tweede of later blok kan je de uiteindelijke hash van het gehele bericht beinvloeden, niet met het eerste. Klopt dat? Het gebruiken van MD5 voor het hashen van wachtwoorden (korter dan 512 bit) is dus nog wel veilig, right?

Wat hier beschreven wordt is het forceren van een collision met bekende waarden om tot eenzelfde hash waarde te komen. Voor het kraken van een wachtwoord is iets anders nodig. Het terug rekenen van een hash waarde naar de oorspronkelijke waarde.

512 bit zijn 64 (8bit) characters. Bij een wachtwoord korter dan 64 characters wordt deze aangevuld tot de vereiste lengte. Voor het kraken van wachtwoorden wordt een andere methode gebruikt, een bruteforce met behulp van een database met "gangbare" wachtwoorden. Hiervan is de hash bekend, bij een match kan het gevonden wachtwoord gebruikt worden. Collisions maken de database kleiner. Een volledige database met alle mogelijke wachtwoorden kan vrij groot zijn;-) Een manier om deze databases per wachtwoord te laten verschillen is per wachtwoord een random waarde voor "padding" te gebruiken. Deze waarde is dan uniek per wachtwoord en hoeft niet geheim te zijn. Dit maakt deze manier niet werkbaar meer.

Zonder deze toevoeging is het afhankelijk van je wachtwoord lengte en de gebruikte characterset of een MD5 hash voor een wachtwoord veilig is.
16-01-2009, 10:43 door [Account Verwijderd]
[Verwijderd]
16-01-2009, 11:05 door Anoniem
Goed leesbaar stuk van govcert.nl.
Helaas zit er een verwarrende uitspraak in. Het lijkt net alsof je als website houder een nieuw op SHA-x gebaseerd certificaat kan nemen en dat je dan veilig bent. Dit is dus niet waar. Je moet wel zo'n nieuw certificaat hebben natuurlijk, maar in eerste instantie helpt dat niet tegen deze aanval.
Er staat duidelijk dat de aanvaller (zodra die nieuwe aanval echt lukt dus) een certificaat voor elke website ter wereld kan maken. Kortom, al heb jij een nieuw certificaat, dan nog kan de aanvaller een ander certificaat op dezelfde URL aanmaken. Jouw browser ziet geen onregelmatigheden, dus die keurt dat gewoon goed.
Pas als alle rootcertificaten SHA-x gebaseerd zijn, en alle website- en overige CA-certificaten zijn SHA-x gebaseerd, EN de browsers blokkeren automatisch MD5 certificaten, dan is het weer veilig v.w.b. deze aanval.

Kortom, website houders. Wel vervangen, maar oefen veel druk uit op CA's en andere websites om ALLE certificaten te laten vervangen, en vervolgens op de browser bouwers om MD5 in de trust chain te blokkeren (ook geen keuze meer geven aan de gebruiker).

Als we naar SHA-2 gaan, kunnen de oudere browsers dat niet meer aan, dus dan wordt iedere internet gebruiker gedwongen om nieuwe browsers te gebruiken, omdat ze anders niet meer op hun favoriete webshop komen, o.i.d. Dan lost het probleem zich snel en algemeen op.
16-01-2009, 12:31 door [Account Verwijderd]
[Verwijderd]
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.