Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 68, views: 18.633 •

Australische cryptografie-deskundigen hebben een methode beschreven waarmee botsingen tussen SHA-1-hashes sneller gevonden kunnen worden dan voorheen. Het werk van de onderzoekers toont aan dat SHA-1 aan vervanging toe is.

Bij de beschreven methode kan na 252 pogingen een botsing worden gevonden. De onderzoekers claimen tal van nieuwe differentiële paden te hebben gevonden die gebruikt kunnen worden bij een zogeheten Boomerang-aanval. De methode is aanzienlijk sneller dan de methode die drie Chinese onderzoekers in 2005 demonstreerden en die een tijdscomplexiteit van 263 had. Met de methode komt een praktisch uitvoerbare aanval steeds dichterbij.

SHA-1Secure Hash Algorithmes worden gebruikt om de authenticiteit van bestanden en datastromen te waarborgen. Het algoritme berekent op basis van de bestandsdata een tekenreeks die uniek zou moeten zijn. Het gebruik van SHA bij andere of gewijzigde brondata zou dus een andere tekenreeks op moeten leveren, zodat onder andere gecontroleerd kan worden of er niet met bestanden geknoeid is. Het door de NSA ontworpen SHA-1 werd in 1995 door het Amerikaanse NIST gepubliceerd. Sinds de ontdekking van kwetsbaarheden in SHA-1 heeft het NIST vier aanvullende hash-functies gepubliceerd, de SHA-224, SHA-256, SHA-384, en SHA-512. Deze algoritmes, die samen als SHA-2 bekend staan, worden echter nog niet veel gebruikt.

Eind 2007 schreef het NIST een wedstrijd uit voor het bedenken van een opvolger van de huidige hashalgoritmes. Inzendingen konden tot oktober 2008 gedaan worden, maar het zal waarschijnlijk nog wel tot 2012 duren voor een winnaar wordt uitgeroepen. Die zou onder de naam SHA-3 als standaard moeten worden ingevoerd.

Reacties (68)

Zie ook http://www.debian-administration.org/users/dkg/weblog/48 voor tips om over te stappen op sterkere PGP/GPG sleutels.
Het artikel waar je naar verwijst gaat over het overstappen naar sterkere hash functies, niet sterkere sleutels.

Als bijeffect wordt aangeraden om af te stappen van 1024 bit DSA sleutels, maar alleen omdat 1024 bit DSA default gebruik maakt van SHA-1 als signing algorithm, niet omdat een 1024 bit DSA sleutel van zichzelf kraakbaar zou zijn.

Als je bij digitaal ondertekenen gebruik maakt van een zwakke hash dan kan met een hash collision een ander documnet van dezelfde handtekening worden voorzien, ook als je geen private key hebt. Je kunt namelijk de hash van het oorspronkelijke document berekenen (dat moet je ook doen om de handtekening te controleren) en dan een document maken dat dezelfde hash heeft en daarmee dezelfde digitale handtekening.
Australische cryptografie-deskundigen maken gebruik van een zogeheten Boomerang-aanval.

Toeval ?
Bovendien is de westerse bevolking van AustraliŽ ontstaan uit verbannen criminelen :+
Sommige bevolkingsgroepen wel, maar daar is AustraliŽ niet geheel uit voorgekomen, AustraliŽ is net als bijvoorbeeld Nederland gesticht door groepen buitenlanders die er gingen wonen, zelfs nu vertrekken er nog dagelijks immigranten vanuit hele wereld en ook Nederland naar AustraliŽ en zijn echt geen criminelen. (behalve dat ze het land hebben ingepikt)

Is dus broodje aap verhaal dat AustraliŽ is ontstaan uit criminelen.
http://nl.wikipedia.org/wiki/Geschiedenis_van_Australi%C3%AB
Bij terugkeer van Cook in Engeland ziet de Engelse regering in AustraliŽ een oplossing voor de overbevolkte Engelse gevangenissen, te meer als Engeland door het definitieve verlies van de koloniŽn in Noord-Amerika, die zich in 1783 onafhankelijk maken als de Verenigde Staten, daar geen gevangenen meer heen kan deporteren. Engeland sticht dus strafkoloniŽn in AustraliŽ, de eerste in 1788 in het huidige Sydney. Nog voor 1800 beginnen ook vrije Engelsen zich te vestigen; ze kunnen voor vrijwel niets stukken land aankopen van de Britse regering.
"Nederland is gesticht door groepen buitenlanders... " :+ :) :O |:( Droevig.
Alle beveiligingen zijn te kraken. Het is alleen de vraag of iemand die inbreekt het de moeite waard vindt 2^52 pogingen af te wachten... Dit is toch vaak niet het geval. Men steelt zeg maar liever "de fiets in het rek met de minste sloten".

SHA1 is verder een uitstekend systeem, maar ook goede systemen moeten ooit worden vervangen.

[Reactie gewijzigd door ByeSell op 11 juni 2009 15:57]

Het gaat niet zo neer om beveiliging, maar autenticiteit van bestanden (zoals certificates).
2^52 pogingen vind ik helemaal niet zo veel eigenlijk, dit resulteert in 4.503.599.627.370.496 pogingen, dit lijkt voor ons mensen misschien wel veel, voor een computer valt dit heus wel mee.
Ik denk dat je niet helemaal duidelijk hebt hoe groot dit getal is.

Nemen we aan dat elke poging iets van 10 ms kost (wat al behoorlijk rap is!). Dat betekent dat er in een seconden 100 pogingen gedaan kunnen worden. Per uur zijn dat 360.000 en per dag 8.640.000.

Om 2^52 bewerkingen te doen ben je dan echter nog steeds 1,4 miljoen jaar bezig...
Best een stoer getal maar met clustering en parallel computing wordt dat getalletje al een pak kleiner...
Ten eerste is 10ms al erg rap. Zou je een supercomputer met 1000 cores tot je beschikking hebben, dan zou het nog anderhalf duizend jaar duren.
tenzij je dit kan schrijven in een manier die vector computing kan gebruiken. Een goeie GPGPU heeft al snel een paar honderden rekeneenheden per stuk.
10 ms is compleet, ridicuul langzaam. Dat is namelijk 10.000.000 ns. Een moderne CPU core kan een paar instructies (+/- 5) per ns verwerken, dus we hebben het hier over tientallen miljoenen instructies. Zoveel heb je er echt niet nodig.

Een GPU komt waarschijnlijk tot 2^16 pogingen per seconde, 2^41 per jaar. Nemen we even aan dat je bereid bent 4 jaar te wachten, dan moet je dus 2^52 / 2^43 = 2^9 = 512 videokaarten in parallel laten draaien. Wil je een resultaat binnen 1 jaar, dan moet je er 2048 hebben. Veel, maar voor een miljoen euro lukt het. Dan kom je in de range waar banken serieus zenuwachtig worden.
Correct, en zelfs al is je algoritme iets trager, je moet niet per se doorheen alle berekeningen lopen, dat is worst case scenario - de laatste berekening is de juiste. Enne 2048 videokaarten is niet zo enorm veel. Je koopt enkele Tesla's (al snel beschikbaar in de lokale universiteit) en voor een miljoentje heb je (als je berekeningen juist zijn) al snel enkele maanden wachttijd. Als een overheid een biljoentje wil/kan investeren voor een degelijk klasse datacenters spreken we over dagen.
Zeker, maar we mogen er nog steeds van uitgaan dat het maanden tot jaren kan duren met een serverpark waar enkel de grote overheden over beschikken en dat inzetten voor enkele maanden is al snel een dure bedoeling. Dus de informatie moet al echt zeer waardevol zijn en er mag geen alternatief bestaan eer ze dat gaan inzetten.
Bovendien moet het ook nog zo zijn dat de informatie die ze ermee winnen dan nog wel relevant is. Als jij er een jaar over doet om uit te vogelen wat je concurrent aan het uitspoken is dan heeft die het misschien allang wel op de markt gebracht bijvoorbeeld. Zolang een beveiliging ervoor zorgt dat de data gedurende zijn "TTL" niet bekend wordt dan is de beveiliging afdoende.
10 ms is eigenlijk ook al aan de hoge kant - het berekenen van hashes kan al met honderdduizenden per seconde per core, en zal nog sneller gaan met meerdere cores, GPGPU, clusters, etc. Dan nog zal het aardig lang duren, maar toch, het geeft wel aan dat SHA-1 te kraken is.

Maar daarom gebruikt de Amerikaanse regering SHA-1 ook al niet meer - ze zagen dit al een paar jaar terug aankomen en zijn overgestapt op SHA-2, en gaan naar SHA-3 zodra dit ontwikkeld wordt.
Wat ook logisch is, gezien SHA van de NSA komt
Bedenk daarbij dat de kans 50% is dat je al in de helft van de pogingen tot een resultaat komt !!!
Let op! Op het moment dat zoiets wordt gezegd, treedt de wet van Murphy in werking.
Maar daarmee ga je dus van 2^52 naar 2^51. De orde van grootte wordt er dus niet significant kleiner van.
Ik kan je melden dat het snelste verwerkingscentrum van gegevens tussen de oren zitten.

Niet tussen alle oren, maar bij een normaal mens zekers.

Het is alleen zo verdomd moeilijk hersenen in te zetten voor dit soort zaken.
Wat heb ik als eenvoudige boerenlul met SHA-1 te maken?
De enige keer dat ik ooit een hash ben tegengekomen was toen ik een Linux-distro downloadde. Maar of dat nou nuttig was?...
SSL.......daar heb je dagelijks mee te maken, internetbankieren bijvoorbeeld.
Dan vraag ik mij af wat jij de nieuwswaarde van alle berichten hier op T.net vindt.

En uiteraard is dit erg nuttig voor een Linux-distro, het zal wat wezen als iemand het voor elkaar krijgt om een rootkit in je distro te krijgen. Dit kan de veiligheid van je systeem ernstig schaden.
Elke keer dat jij een beveiligde website bezoekt heb je er indirect mee te maken ja.

Een hash is een versimpeling van informatie naar een getal. Dat getal (vrij groot maar niet enorm) is heel makkelijk te berekenen uit de informatie, maar andersom is het heel erg moeilijk.

Hierop zijn de meeste beveiligings protocollen en authentificatie systemen binnen de IT gebaseerd. Die maken een hash code van je informatie en ondertekenen die met een bepaalde sleutel. Het kost namelijk te veel tijd/moeite/ruimte om de informatie zelf te ondertekenen (dan wordt de ondertekening namelijk groter dan de informatie die het beveiligt)

Als onderzoekers nu een manier vinden om makkelijker van de hash naar de bron-informatie (of een van de mogelijke voorbeelden van die bron-informatie want als de bron groter is dan de hash zijn er altijd meerdere mogelijkheden die tot dezelfde hash leiden) te komen, dan heb je echt een probleem, want de beveiliging maakt juist gebruik van het feit dat dit heel erg moeilijk is.

In het geval van je Linux distro: Als wat jij gedownload hebt niet meer overeenkomt met de SHA-1 hash, dan is er dus mee geknoeid (of het is gewoon simpelweg niet goed door de download gekomen).

Edit: Hmmz ik wou het simpel uitleggen, toch niet helemaal gelukt ;)

[Reactie gewijzigd door GekkePrutser op 11 juni 2009 16:07]

Een hash is een versimpeling van informatie naar een getal. Dat getal (vrij groot maar niet enorm) is heel makkelijk te berekenen uit de informatie, maar andersom is het heel erg moeilijk.
Zeg maar gerust: onmogelijk
Ja, tenzij de hash 'gekraakt' wordt, zoals bij de MD5 (de collisions). Okee, je hebt dan misschien niet de originele tekst maar wel een random tekst die tot dezelfde hash leidt met alle gevaren van dien.

Ik neem aan dat deze nieuwe hack iets dergelijks doet maar ik heb het nog niet helemaal uitgeplozen.

[Reactie gewijzigd door GekkePrutser op 11 juni 2009 16:11]

Niets is onmogelijk zolang het te bruteforcen valt, :+. D'r zijn maar 2^160 SHA-1 sleutels mogelijk ( 1.4615016373309029182036848327163 x 10^48 ), en die kun je allemaal uitproberen.

MD5 is een tijdje terug gekraakt waardoor de onderzoekers een beveilingscertificaat na konden maken die een MD5 hash van een vertrouwd certificaat had, waardoor ze hun site als 'veilig' konden aanmerken. Als ze SHA-1 kraken wordt dit ook een mogelijk beveiligingslek.
Niet alles is te brute-forcen. De rekenkracht van het hele universum heeft een absolute bovengrens van ongeveer 10^80 atomen * 10^40 seconde * 1 Thz = 10^133 = 2^400 operaties. Dus elk systeem waar je meer dan 2^400 keys moet bruteforcen is absoluut veilig - er zijn niet genoeg atomen in het heelal om computers mee te bouwen.
Hoewel ik hier niets van snap klinkt dit wel ontzettend interessant, heb je misschien een linkje voor mij die het wat uitgebreider(hopelijk ook simpeler) uitlegt, of kan jij dat eventueel hier :P
Jij bent wel degelijk iets met SHA-1. Zeer vaak zonder het zelf te besteffen.
Als je surft naar de site van je bank, dan weet je browser dat dit een veilige site is. Dit komt omdat de site een certificaat heeft en dat dit van een van de vertrouwder bronnen komen (Global Sign, ....)
Moest nu zo een GlobalSign certificaat na te maken zijn, dan kan iemand je naar een site leiden (bv. lng.be) Als jij niet gezien hebt dat hier eigenlijk naar een andere site gelinkt wordt (er staat Lng.be), en je browserbalk kleurt bovenaan groen, dan geef je zonder al te veel te aarzelen je paswoorden in. Moest er een rode balk bovenaan je browser komen en een melding dat er iets scheelt met het certificaat, dan wordt er van jou verwacht dat je je gezond verstand gebruikt en dat je de URL eens nakijkt op fouten.

[Reactie gewijzigd door LordPan op 11 juni 2009 16:05]

Het laat ook zien dat bij toenemede cpu kracht men een algoritme steeds sneller zal moeten vernieuwen.
Dat is niet waar. Het hangt af hoe veel extra kracht de nieuwe beveiliging vraagt tegenover de oude.
De cpu-kracht stijgt over het algemeen exponentieel.
Als we nu zouden beveiligingen vinden die stijgen per faculteit dan zullen we eerder trager moeten nieuwe beveiligingen vinden dan sneller.

Nu weet ik te weinig over SHA-1 en 2 om iets te zeggen hoe het tussen die 2 zit maar je reactie volgt alleszins niet rechtstreeks uit het artikel.
Soms hoef je niet eens nieuwe beveiligingen te vinden. Toen DES niet meer veilig genoeg was, werd triple-DES gebruikt: 3 rondes normale DES achter elkaar. De encryptie duurde 3 keer zo lang, maar het kraken werd miljarden keren moeilijker.
Nu SHA1 blijkbaar (al geruime tijd) niet meer voldoet, hoe staat het dan met MD5..? Dat algoritme wordt ook nog altijd behoorlijk veel gebruikt bij onder andere downloads.

Is MD5 nu ook zo 'makkelijk' te hacken, te achterhalen of te brute forcen..?
Lang verhaal kort: nog makkelijker.

Er werd al lang aangeraden om geen MD5 meer te gebruiken, maar over te schakelen naar SHA-1, nu dus nog een beetje sterkere sleutels nodig.
Op de TU/e in Eindhoven is een proof-of-attack geweest, waarmee men valide root certificates kon genereren, door MD5 te kraken: http://www.win.tue.nl/hashclash/rogue-ca/

Binnen korte tijd nadat deze attack publiek gemaakt is, zijn alle SSL-certificaat verstrekkende bedrijven zo goed als direct op SHA-1 overgestapt. 2^52 is daarentegen nog een redelijke ondergrens, er moeten echter niet veel bits meer afgebeten worden...
MD5 is nog veel makkelijker te hacken (veel sneller dan brute force) en is al jaren niet meer veilig. Er zijn voorbeelden te over van originele en vervalste PDFjes (bijvoorbeeld) die precies dezelfde MD5 hashes hebben.
MD5 mag al heel lang niet meer gebruikt worden omdat het algoritme simpel weg te zwak is. Er zijn op internet tutorials te vinden hoe je met meerdere playstations zelf een md5 certificaat uitgeeft ;).

Een andere mannier waarop hashing word gebruikt is password hashing zodat je wachtwoorden niet plain tekst in je database hoeft op te slaan. Ook hier is md5 al redelijk hard gekraakt (rainbowtables zijn voor md5 heeel ver uitgerekend ). Dit gaat voor SHA ook nog wel gebeuren (wellicht dat het voor sha512) wel langer gaat duren.

Kortom gebruik md5 niet meer!

*is benieuwd hoelang het duurt voor der weer een optimalisatie is voor priemfactorisatie :)
Een MD5-hash van een bestand is ook niet bedoeld om deze te beveiligen, maar om te kunnen valideren. Als de MD5 van je gedownloade bestand niet klopt, weet je dus dat het bestand niet goed overgekomen is en dat je een nieuwe poging moet wagen. De kans dat je een bestand toevallig zo beschadigt binnenkrijgt dat de MD5 nog wel klopt is er zo goed als niet.

Bestanden 'vervalsen' met een MD5 lijkt me trouwens ook een *****karwei. Stel je eens voor dat je een ISO van 4GB wilt vervalsen met jouw 'valse' data erin en die ook nog eens uitkomt op de juiste grootte en MD5. Dat zou wel eens iets langer kunnen duren dan slechts een wachtwoord kraken...

Daarnaast is het waarschijnlijk ook niet zo lastig dat als je het bestand eenmaal kan vervalsen een valse MD5 erbij zetten ineens onmogelijk is ;)

[Reactie gewijzigd door dcm360 op 11 juni 2009 17:08]

Voor het valideren van bestanden kan je evengoed 2 hashes gebruiken. Lijkt me heel sterk als je met 2 verschillende bestanden zowel een gelijke md5 als een gelijke sha1 hash hebt. Voor wachtwoordenopslag zou je dit ook kunnen doen, maar let dan wel op dat je de inbreker kans geeft om achter het originele wachtwoord te komen.
Dit is een veelgemaakte denkfout over cryptanalysis van hashes. Twee hashes van grote N bits zijn samen veel slechter dan 1 hash van 2N bits.

Een moderne hash roert alle bits van de input door elkaar. Als je 2 afzonderlijke hashes gebruikt, dan ben je in als het ware in 2 pannen aan het roeren. De bits van de ene hash worden niet met die van de andere hash gemengd. Alleen op het laatst worden ze gecombineerd, en wel op de meest simpele mogelijke manier: door ze achter elkaar te zetten. Een grotere hash is vergelijkbaar met het roeren in 1 grote pan ipv 2 kleine pannen. Dat mengt veel beter, in elke stap.
Des had 2**56 vergelijkingen nodig en was toen gebruteforced. in 56 uur. zelfde groote orde dus.

dus je kunt redelijk stellen dat dit vrijwel gehackt is..

Hier geeft schneider een analyse van de stelling dat chizen hem in 2**69 konden oplossen.

http://www.schneier.com/b...5/02/cryptanalysis_o.html

@boerenlul hierboven. Torrents worden geverifieerd met SHA-1. Als SHA-1 simpel een collicion kan worden geprocudeerd akn je dus torrents vervuilen met corrupte data.
DES is geen hashing algoritme!
een grapje, hoop ik?

Kijk liever uit naar sha-256, of als je binnen de "md" familie wilt blijven: RIPE-MD

[Reactie gewijzigd door webinn op 11 juni 2009 16:08]

Ik moet eerlijk toegeven dat ik enorm onbekend ben op cryptografisch gebied. Ik leefde nog altijd in de veronderstelling dat MD5 niet te kraken was, maar alleen te bruteforcen. Nouja, het is maar goed dat ik niet in de beveiliging zit ;)
zie mijn reactie iets hoger, MD5 is nog simpeler te kraken
md5 is idd niet echt de meest secure iets meer, heb zelf ooit een md5 password achterhaald omdat dit niet meer bekend was, duurde wel paar uur voordat die het had gevonden maar het resultaat was er....
Dat heeft dan helemaal niets te maken gehad met het MD5 algoritme maar alles met een slecht wachtwoord aan jouw kant. MD5 collisions kunnen niet gebruikt worden om naar de oorspronkelijke tekst terug te keren (dat zou wel bijzonder toevallig zijn), maar om eenzelfde hash te genereren met een andere tekst.
maakt toch niet uit dat hij het originele wachtwoord niet heeft? als je je valse wachtwoord (met dezelfde hash) ingeeft dan kan je ook gewoon inloggen.

Uit de post van MrHarry is het niet duidelijk of hij het oorspronkelijke wachtwoord heeft gevonden of een vals, maar op zich maakt niet uit
In theorie is het natuurlijk mogelijk maar op dit moment is het toch nog steeds niet echt praktisch om SHA-1 collisions te berekenen om even een beveiliging te kraken.

Natuurlijk zal SHA-2 (als de interwebs maar genoeg voorbeelden beschikbaar stellen) vanzelf SHA-1 verdrijven, maar het zal nog heel lang duren voor de vele duizenden MD5 en SHA-1 "beveiligings" tips van de vele duizenden websites verdwenen zijn, of in ieder geval melding maken van het feit dat er veel betere en minder makkelijk te kraken hashing algoritmes zijn.

Op dit item kan niet meer gereageerd worden.



Populair: Desktops Samsung Smartphones Privacy Sony Microsoft Apple Games Consoles Politiek en recht

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013