DTU-algoritme kan blive global password-krypteringsstandard

En dyst på matematisk snarrådighed er i denne stund ved at nå frem til finalen. I 2007 udskrev det amerikanske regeringsorgan National Institute of Standards and Technology (Nist) en konkurrence, som går ud på at finde en ny kryptografisk funktion som efterfølger til SHA-2-funktionen.

Nu er konkurrencen tæt på den afsluttende fase, hvor vinder-algoritmen skal findes blandt de fem finalister, der er tilbage ud af de 64 SHA-kandidater, som startede med at være med i konkurrencen, da den begyndte i 2007.

Blandt de fem er algoritmer er Grøstl, som en gruppe med stor deltagelse fra Danmarks Tekniske Universitet, står bag.

»Vi er meget spændte på, om vi skulle gå hen at vinde,« fortæller professor ved Institut for Matematik ved DTU Lars R. Knudsen, som er leder af kryptogruppen bag Grøstl.

»Det er jo relevant med omtale for sådan nogle forskere som os - blandt andet når der skal uddeles bevillinger, så jo, vi vil da bestemt gerne vinde konkurrencen,« tilføjer han.

Noget tyder dog på, at det bliver et tæt opløb. I hvert fald mener Lars R. Knudsen ikke, at der er den store forskel på de tilbageværende fem algoritmers egnethed til at blive en nye SHA-3-krypteringsstandard.

»Det ligger meget tæt. Der er en lille forskel på, hvor hurtigt de kører, men det er så lidt, at det registrerer man ikke som bruger,« fortæller han.

Nist har oplyst, at SHA-3 vinderen vil blive fundet i løbet af 2012, og Lars R. Knudsen fortæller, at det tidligere har været meldt ud, at vinderen ville blive udråbt i løbet af september, som der i skrivende stund ikke er mange dage tilbage af.

Sikker lagring af passwords

SHA står for Secure Hash Algorithm eller sikker hash-algoritme. Hash er i denne sammenhæng en betegnelse for en funktion, der kan tage et input med variabel længde og levere et output med en fast længde. Et eksempel kunne være et navn som input, der bliver til et tal på eksempelvis otte cifre som output.

SHA-3 har ligesom SHA-2 til formål at tage et datainput og forvandle det til andet output - uden det vel at mærke kan lade sig gøre at køre algoritmen den anden vej og finde inputtet ved at indlæse outputtet. Sådan en funktion har blandt andet sin anvendelighed, når kodeord skal gemmes i en database.

Hvis en bruger logger ind på en hjemmeside med et brugernavn og et kodeord, så tilskriver god sikkerhedspraksis, at kodeordet ikke bliver gemt i klar tekst i hjemmesidens bagvedliggende database.

På den måde kan folk med adgang til databasen ikke aflæse brugernes kodeord, som måske også bruges i andre sammenhænge end lige på den pågældende hjemmeside. Ligesom hackere, der uretmæssigt måtte få adgang til databasen, heller ikke kan aflæse kodeordet og misbruge login-oplysningerne.

Det eneste, der fremgår af kodeordsfeltet i databasen er det såkaldte digest - det vil sige resultatet af at køre SHA-2 eller den kommende SHA-3-algoritme på det indtastede kodeord. Digestet kan på den måde bruges til at verificere, hvorvidt et indtastet kodeord - når det er blevet kørt gennem SHA-algoritmen - matcher et eksisterende digest i databasen, uden det er muligt for uvedkommende at aflæse kodeordet.

Udfordringerne ved at lave en god SHA-algoritme er dels at sikre, at digestet ikke kan køres baglæns gennem algoritmen, så det oprindelige kodeord kan aflæses. Samtidig må flere forskellige kodeord heller ikke resultere i det samme digest, da det på den måde i princippet bliver muligt at logge ind på en brugers konto, selv om passwordet ikke er korrekt, forklarer Lars R. Knudsen.

»Rent matematisk kan det ikke lade sig gøre helt at eliminere risikoen for, at to forskellige input resulterer i det samme digest, men det er muligt at minimere sandsynligheden,« siger han.

DTU-algoritme måske lidt foran

Som en del af konkurrencen har deltagerne gransket hinandens algoritmer for at finde svagheder og fejl i dem. Lars R. Knudsen fortæller, at holdet bag Grøstl har elimineret flere konkurrenter ved at finde eksempler på, hvordan forskellige input resulterer i samme output i konkurrenternes algoritmer.

Men blandt de tilbageværende fem mener han altså ikke, at forskellen er nævneværdig. Dog kunne DTU-algoritmen alligevel vise sig at have en styrke. Nogle af de andre finale-algoritmer bygger nemlig videre på den metode, der ligger bag SHA-2, det såkaldte ARX-design (Add-Rotate-Xor), forklarer Lars R. Knudsen.

Grøstl bygger derimod på S-box-princippet, hvor et matrix med data bruges til at finde outputtet. Samme princip bliver anvendt i Advanced Encryption Standard (AES), som kan bruges til at kryptere eksempelvis indholdet af en fil, som efterfølgende kun kan læses ved at indtaste det rigtige kodeord.

»Ved at anvende samme princip som AES, kan vores algoritme udnytte regnekraften i hardware, som allerede understøtter AES. Dermed mener vi, vores SHA-3-bud har en fordel i forhold til de andre deltagere,« siger Lars R. Knudsen.

Han fortæller, at hvis hardwaren bedre kan understøttes, kan det også betyde, at Grøstl kan implementeres på en måde, så den bruger mindre strøm end konkurrenterne.

»Det er jo ligemeget i en moderne smartphone eller i en pc, men eksempelvis i en RFID-nøgle eller lignende kan det have en betydning,« siger han.

Navn a la biksemad

Grøstl er i øvrigt navnet på en østrigsk ret, der normalt består af kartoffelrester og skiveskåret svinekød, som bliver stegt sammen på en pande med løg og smør - på dansk kendt som biksemad. Og hvad har det så med envejs-hash-algoritmer at gøre? Jo, retten hedder såmænd hash på amerikansk. Og den del af Grøstl-teamet, som ikke er fra DTU er fra Østrig, forklare Lars. R. Knudsen.

Skulle det danske bidrag vinde konkurrencen, så bliver det som udgangspunkt en standard i det amerikanske Nist-regi, men derfra er der en rimelig sandsynlighed for, at SHA-3 vil sprede sig og blive anvendt i resten af verden, som det også er gået med SHA-1 og SHA-2, vurderer Lars R. Knudsen.

Dokumentation

Grøstl – a SHA-3 candidate

sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først

"DTU-algoritme kan blive global password-krypteringsstandard"

SHA er en familie af algoritmer (1,2 og 3) til fremstilling af en digital signatur. Det eneste en digital signatur kan bruges til, er at verificere at en klump data ikke har ændret sig siden den sidst blev hashet af samme algoritme.

Kryptografi antyder implicit at dekryptering kan finde sted.

Formålet med en digital signatur er netop at INTET fra det originale dokument kan rekonstrueres ved studiet af den digitale signatur alene. (one-way algorithm).

Har jeg misforstået alting, eller er overskriften misvisende ?

  • 0
  • 0

Jeg vil mene hashfunktioner falder under kategorien kryptografi, men jeg vil nok ikke kalde det kryptering, da, som du udpeger, det hentyder til at man skal kunne dekryptere det igen.

Men: Princippet i en Digital Signatur er, at det skal være muligt at "underskrive" et dokument digitalt, således at det kan bekræftes, hvor det kommer fra. Dette opnås, så vidt jeg ved, typisk ved Public Key-kryptografi, hvor klartekst krypteret med din private nøgle kun kan dekrypteres med din offentlige nøgle og omvendt. Hvis en kryptotekst kan dekrypteres med din offentlige nøgle, må den så nødvendigvis komme fra dig, da ingen andre kender din private nøgle.

Det, du beskriver, vil jeg nok snarere kalde integritetskontrol, altså at man med en hashfunktion udregener en såkaldt "checksum", som bliver leveret sammen med en større mængde data. Da checksummen kan udregnes fra dataene, kan man så verificere om den stemmer overens med den checksum man fik leveret, og på den måde ved man så om ens data er intakte.

Som artiklen nævner kan hashfunktioner også bruges til sikker lagring af passwords netop på grund af den egenskab, at man ikke kan regne baglens. Hvis du har gemt resultatet af din hashfunktion kan du således ikke udregne det originale password, men du kan med passwordet altid udregne dit "hash" ved at køre det igennem samme hashfunktion.

  • 0
  • 0

»Det ligger meget tæt. Der er en lille forskel på, hvor hurtigt de kører, men det er så lidt, at det registrerer man ikke som bruger,«

Men er det ikke netop en fordel, hvis algoritmen er så beregningstung, at den er "langsom" at afvikle?

Det vil gøre brute force/dictionary attacks meget sværere, men vil ikke betyde nævneværdigt for den enkelte brugers login, om et hash tager lidt længere tid. Læs evt. nedenstående artikel og bliv lidt mere nervøs for dit password :-/ http://arstechnica.com/security/2012/08/pa...

  • 0
  • 0
Bidrag med din viden – log ind og deltag i debatten