Aarhus Universitet: Hjemmegjort krypto er noget junk

Forældet kryptering og en gammel hash-funktion er blandt kritikpunkterne rettet mod messaging-app'en Telegram i nyt speciale fra Aarhus Universitet.

Selvgjort er ikke altid velgjort. Det er simpelt hen en dårlig ide at begynde at kode sin egen kryptering, hvis man vil udvikle en app, der eksempelvis krypterer chat eller et andet computerprogram, der sikrer samtaler via kryptering. Brug en afprøvet, state-of-the-art hyldevare.

Det er kendt viden inden for kryptering, men det blev også bekræftet, da Jakob Bjerre Jakobsen sidste tirsdag offentliggjorde sit kandidatspeciale, som han netop er blevet færdig med i efteråret på Institut for Datalogi på Aarhus Universitet, skriver instituttet i en artikel på deres hjemmeside.

Hjemmelavet kryptering anses også af mange andre eksperter for at være mere tilbøjelig til at indholde fejl, og er sandsynligvis ikke blevet testet af så mange andre forskere.

Specialet tager udgangspunkt i en populær messaging-app, der hedder Telegram, der ikke er så udbredt i Danmark, men som svarer til WhatsApp.

Jakob Bjerre Jakobsen var selv bruger af app’en og havde hørt rygter om, at Telegram havde skrevet deres egen krypto-maskine på trods af, at alle eksperter siger, at der skal man aldrig gøre.

Han tænkte, at det var oplagt at undersøge om der var hold i den modstand mod at lave noget fra bunden.

App’en, der både findes til Android, IOS og til en computer, har en hemmelig chat-funktion, der gør det muligt at bruge end-to-end kryptering i meddelelser, hvilket betyder, at det kun er modtagerne, der kan læse beskederne. Jakob Bjerre Jakobsen fandt ud af, at Telegrams kryptering teoretisk kan være modtagelig overfor angreb.

Messenger app anvender forældede primitiver

Han finder frem til Telegrams egne beskrivelser på deres hjemmeside, og kan se, at de bruger mindre kendte og forældede primitiver, som er de grundlæggende bestanddele af deres krypterings-protokol.

Telegram redegør selv for, at de bruger en gammel hash-funktion, som egentlig anses for at være usikker i dag. Men de siger, at den svaghed ikke rører dem.

»Det hele ser fint ud i deres beskrivelse på deres hjemmeside. Men da jeg downloader kildekoden til deres app, der er open source, så får jeg mulighed for at køre koden igennem på min telefon, og så kan jeg se, at der er en lille uoverensstemmelse mellem beskrivelsen og den egentlige implementation af kildekoden,« siger han.

Grundlæggende handler det om, at en besked skal have en vis længde i en blok og hvis der mangler noget, så fylder man det sidste op med tilfældig data.

»Der er en mindre uoverensstemmelse i forklaringen af tjeksum af den sidste blok. Tjeksummen af det tilfældige data kunne godt og burde blive verificeret, men de undlader at gøre det, hvilket åbner for de fundne angreb. Det betyder, at man kan bare udskifte eller tilføje vilkårligt mange blokke med tilfældig data og så bede den om at dekryptere det og dermed kan man få den originale besked retur,« forklarer han.

Resultaterne gav hurtig genklang på Twitter og sites som Reddit og Hackernews og Motherboard.vice.com.

På sidstnævnte skriver privacy-forskeren Runa Sandvik:

»At spørge sig selv, hvorfor man ikke skal rulle sin egen kryptering ud svarer til at spørge sig selv om, hvorfor man ikke skal konstruere sin egen flymotor. Svaret er i begge tilfælde, at der allerede findes gennemprøvede og sikre løsninger. Krypto er hårdt og jeg vil hellere stole på kryptering, der er blevet undersøgt og debatteret end på kryptering, der ikke har fået noget opmærksomhed.«

Jakob Bjerre Jakobsen er enig og mener, at Telegram skulle have brugt en anerkendt løsning, som man kan bevise er sikker, i stedet for at genopfinde den dybe tallerken.

»Telegrams officielle begrundelse for at lave deres egen protokol, er at den skal køre hurtig på mobiltelefoner. Men de har brugt en gammel hash-funktion fra begyndelsen af 1990’erne, som der findes angreb mod. De kunne lige så godt have brugt et nyere alternativ,« siger han.

Han kan se, at mange har skrevet, at Telegram er helt brudt og at man ikke skal bruge den længere. Det er han dog ikke enig i.

»Man kan jo ikke læse beskederne, så på den måde er det jo ikke uændret, men sikkerhedshullet kan måske være en byggesten, som nogen kan bygge videre på, så man i den sidste ende kan læse beskederne. Det kan man ikke afvise.«

Tips og korrekturforslag til denne historie sendes til tip@version2.dk

Følg forløbet

Kommentarer (0)

Log ind eller opret en konto for at skrive kommentarer

Pressemeddelelser

Affecto Denmark reaches highest Microsoft Partner level

Affecto Denmark, a leading provider of data-driven solutions, has reached the highest level in the Microsoft partner ecosystem: Managed Partner.
22. jun 2017

Innovate your business with Affecto's IoT Explorer Kit

Are you unsure if Internet of Things fits your business strategy?
31. maj 2017

Big Data Lake Summit: Fast and Trusted Insights

If you want to outpace, outsmart and outperform your competition in a digital world, you need trusted data that can be turned into actionable business insights at speed.
24. apr 2017