MD5-beveiligingsmechanisme achter vertrouwde websites gekraakt

| AE 1391 | Ondernemingsvrijheid, Security | 8 reacties

Nou, mooi is dat. Ben ik net uit bed na een erg leuke oudejaarsavond, blijken een stel beveiligingsonderzoekers e-commerce gekraakt te hebben. Of nou ja, de beveiligingstechniek achter een hoop e-commerce sites. Dit omdat het MD5-algoritme, een klein maar cruciaal deel van de gebruikte beveiligingstechniek al drie -pardon, vier, het is 2009- jaar bijzonder zwak blijkt te zijn. Dankzij deze zwakte kan een aanvaller een nepsite voorzien van volstrekt authentiek uitziende certificaten, zodat niemand meer kan detecteren dat het een nepsite is.

Beveiligde websites, veel gebruikt bij e-commerce sites, maken gebruik van certificaten waarmee een browser kan vaststellen of hij met de echte site communiceert. Die certificaten worden uitgegeven door onafhankelijke instanties zoals CACert of Thawte, en zijn voorzien van hun digitale handtekening zodat er niet mee te knoeien valt.

De fout zit in het MD5-algoritme, dat gebruikt wordt bij het genereren van die digitale handtekening. MD5 genereert een hash, een korte code die uniek is voor het te signeren certificaat, en vervolgens wordt de handtekening geplaatst over die hash. Dit is veel sneller dan het hele certificaat zelf signeren. Het blijkt namelijk veel eenvoudiger dan gedacht om een tweede certificaat te genereren met inhoud naar keuze dat dezelfde hash heeft als het certificaat van zo’n instantie. En daarmee zal iedere browser dat nepcertificaat accepteren als authentiek.

Al in 2005 was bekend dat het MD5-algoritme deze zwakheid had, maar tot nu toe werd dit door veel mensen als een puur theoretische mogelijkheid afgedaan. Met deze publicatie wordt duidelijk dat dit een reële dreiging is. Gelukkig hebben zowel Microsoft als Mozilla maatregelen aangekondigd.

Klikken jullie trouwens ook al die irritante waarschuwingen over certificaten weg zonder ze te lezen? Ik zou het liever niet doen, maar soms heb je weinig keus als je een bepaalde website wilt gebruiken.

Arnoud