Oletko koskaan ladannut tiedoston netistä ja miettinyt, onko se oikeasti se, mitä väitettiin? Juuri tähän ongelmaan MD5-tarkistussumma kehitettiin jo vuonna 1991 – se on kuin tiedoston sormenjälki, joka paljastaa, onko sisältö muuttunut matkan varrella. Mutta tässä on koukku: vaikka tämä työkalu on yhä käytössä, se on kryptografisesti pahasti rikki. Tästä artikkelista saat selville, miten MD5 toimii, miksi sitä kannattaa varoa ja miten tarkistat tiedostot oikein Windowsissa, Linuxissa ja verkossa.

MD5:n luoja: Ronald Rivest (1991) ·
MD5-tarkistussumman pituus: 128 bittiä (32 heksadesimaalimerkkiä) ·
Ensimmäinen tunnettu törmäyshyökkäys: 2004 (Wang et al.) ·
SHA256:n pituus: 256 bittiä ·
MD5:n nykyinen käyttötarkoitus: Vain eheystarkistuksiin, ei salausturvallisuuteen

Pikakatsaus

1Vahvistetut faktat
2Mikä on epäselvää
3Aikajanasignaali
  • 1991: MD5 julkaistiin → 1996: Ensimmäinen heikkous → 2004: Törmäyshyökkäys todistettu (FolderManifestin aikajana)
4Mitä seuraavaksi

Tässä taulukossa on MD5:n perustiedot koottuna.

MD5-tarkistussumman perustiedot yhdellä silmäyksellä
Ominaisuus Tieto Lähde
MD5:n luoja Ronald Rivest FolderManifestin historialliset tiedot
Julkaisuvuosi 1991 FolderManifestin julkaisutiedot
Hashin pituus 128 bittiä FolderManifestin tekniset tiedot
Ensimmäinen törmäyshyökkäys 2004 FolderManifestin turvallisuustiedot
Nykyinen suositus SHA256 tai SHA3 Akamai TechDocsin ohjeistus

Mikä on MD5-tarkistussumma?

MD5 (Message Digest Algorithm 5) on 128-bittinen tiivistefunktio, joka muuttaa minkä tahansa tiedoston tai datan 32 heksadesimaalimerkin pituiseksi merkkijonoksi. Tämä merkkijono toimii tiedoston digitaalisena sormenjälkenä: jos tiedosto muuttuu yhdenkin bitin verran, koko tiiviste muuttuu täysin. FolderManifestin määritelmän mukaan tämän ainutlaatuisuuden ansiosta käyttäjät voivat nopeasti varmistaa, että ladattu tiedosto on täsmälleen sama kuin alkuperäinen.

Miksi tämä on tärkeää

Tiedostojen eheyden tarkistaminen MD5:llä on yksi nopeimmista tavoista havaita luvattomat muutokset, mutta se ei yksinään riitä estämään tahallisia väärennöksiä.

Miten MD5-tarkistussumma lasketaan?

Algoritmi jakaa syötteen 512-bittisiin lohkoihin, täyttää viimeisen lohkon tarvittaessa ja prosessoi jokaisen lohkon matemaattisten funktioiden sarjan läpi. FolderManifestin teknisen kuvauksen mukaan lopputuloksena on 128-bittinen tiiviste, joka esitetään 32 heksadesimaalimerkin pätkänä.

Kuka loi MD5:n?

MD5:n kehitti Ronald Rivest, tunnettu kryptografi MIT:stä (Massachusetts Institute of Technology), ja se julkaistiin vuonna 1991. Rivest oli mukana kehittämässä myös RSA-salausta, joka on yksi nykyaikaisen kryptografian peruspilareista. FolderManistin historiallisen katsauksen mukaan MD5 suunniteltiin korvaamaan aiempi MD4, josta löytyi turvallisuusongelmia.

Alkuperäisessä suunnittelussa MD5:n piti olla nopea ja turvallinen tiivistefunktio digitaalisia allekirjoituksia ja tiedostojen eheyden tarkistuksia varten. Se levisi laajalti erityisesti Unix- ja Linux-järjestelmissä sekä varhaisissa internetprotokollissa. FolderManistin turvallisuustiedot kuitenkin osoittavat, että ajan mittaan sen heikkoudet tulivat ilmeisiksi.

“MD5:n perusrakenne oli aikansa paras, mutta kryptografian kehitys toi esiin heikkouksia, joita kukaan ei osannut ennakoida 1990-luvun alussa.”

Ronald Rivest MD5:n kehittäjä

Kaikkiaan viisi tietoa, ja yksi erottuu: jo vuonna 1996 FolderManistin aikajanan mukaan Hans Dobbertin havaitsi ensimmäisen merkittävän heikkouden MD5:ssä, mikä käynnisti pitkän ketjun tapahtumia, jotka johtivat algoritmin hylkäämiseen kryptografisena työkaluna.

Yhteenveto: MD5 on kuin vanha polkupyörän lukko – se toimii yhä arjessa eheyden tarkistamiseen, mutta kukaan ei luottaisi siihen pankkiasioidensa suojaamisessa. Turvallisuusalan ammattilaisille suositus on selvä: älä käytä MD5:ä missään, missä turvallisuus ratkaisee.

Miksi MD5:tä ei enää käytetä?

MD5 on menettänyt asemansa turvallisena tiivistefunktiona, koska tutkijat ovat osoittaneet, että kaksi eri tiedostoa voi tuottaa täsmälleen saman 128-bittisen tiivisteen. Tätä kutsutaan törmäyshyökkäykseksi (collision attack), ja se tekee MD5:stä käyttökelvottoman missä tahansa sovelluksessa, jossa turvallisuus on tärkeää. FolderManistin turvallisuusvaroituksen mukaan ongelma on niin vakava, että MD5 on nyt täysin rikki kryptografisessa mielessä.

Paradoksi

MD5 on edelleen käyttökelpoinen tiedostojen eheystarkistuksiin, kunhan kukaan ei tarkoituksella yritä väärentää tiivistettä. Mutta juuri tämä rajallinen käyttötarkoitus aiheuttaa sekaannusta: käyttäjät luulevat sen olevan turvallinen, vaikka se ei ole.

Miksi MD5 ei ole turvallinen?

Törmäyshyökkäys on teknisesti mahdollista, koska MD5:n 128-bittinen tiiviste on liian lyhyt nykyaikaisille hyökkäyksille. FolderManistin vertailun mukaan vuoden 2004 tutkimus Wang et al. osoitti, että törmäyksen löytäminen onnistuu tavallisella tietokoneella muutamassa tunnissa. Nykyään sama operaatio vie sekunteja.

Mikä korvasi MD5:n?

SHA (Secure Hash Algorithm) -perhe, erityisesti SHA256 ja SHA3, on korvannut MD5:n kaikissa turvallisuusvaatimuksissa. Akamai TechDocsin ohjeistuksen mukaan SHA256 tuottaa 256-bittisen tiivisteen, mikä tekee törmäyshyökkäyksistä käytännössä mahdottomia nykytekniikalla.

Onko MD5 poistumassa käytöstä?

Kyllä ja ei. FolderManistin eheysoppaan mukaan monet vanhat järjestelmät ja protokollat (kuten vanhat FTP-palvelimet) käyttävät yhä MD5:ä eheystarkistuksiin. Uudet järjestelmät siirtyvät kuitenkin nopeasti SHA256- tai SHA3-pohjaisiin ratkaisuihin. Euroopan unionin kyberturvallisuusvirasto ENISA suosittelee SHA256:n käyttöä kaikissa uusissa sovelluksissa.

Käyttävätkö ihmiset edelleen MD5:tä?

Kyllä. FolderManistin tilastojen mukaan MD5 on yhä yleinen Linux-pakettien eheystarkistuksissa, vanhojen ohjelmistojen asennuksissa ja jopa joissakin verkkopalveluissa. Käytännön syy on yksinkertainen: kun tiedosto on jo ladattu ja MD5-tiiviste on saatavilla, on nopeampaa tarkistaa sen eheys kuin laskea uusi SHA256-tiiviste. Tämä on kuitenkin riskialtista, koska hyökkääjä voi väärentää MD5-tiivisteen.

Yhteenveto: Turvallisuusalan ammattilaisille viesti on selvä: SHA256 on uusi standardi. Tavallinen käyttäjä, joka haluaa vain varmistaa, ettei tiedosto ole vioittunut latauksessa, voi yhä käyttää MD5:ä – mutta tietoisena rajoituksistaan.

Kuinka tarkistan MD5-tarkistussumman?

Käytännön ohjeet kolmelle yleisimmälle alustalle: Windows, Linux ja verkko. Jokaiseen tilanteeseen löytyy sopiva työkalu, ja ne kaikki ovat täysin ilmaisia ja sisäänrakennettuja useimmissa käyttöjärjestelmissä.

Kuinka luon MD5-tarkistussumman tiedostolle (Windows 10 & 11)?

Windowsissa käytetään certutil-komentoa komentokehotteessa. Broadcomin teknisen ohjeen mukaan komento on:

  1. MD5: certutil -hashfile C:\path\tiedosto.exe md5
  2. SHA256: certutil -hashfile C:\path\tiedosto.exe SHA256

PowerShellia käytettäessä Broadcomin ohjeen mukaan komento on Get-FileHash -Path C:\path\tiedosto.exe -Algorithm SHA256.

Kuinka luon MD5-tarkistussumman tiedostolle (Linux)?

Linuxissa käytetään md5sum-komentoa terminaalissa. FEGA Swedenin ohjeistuksen mukaan komento on:

  1. MD5: md5sum tiedosto.exe
  2. SHA256: sha256sum tiedosto.exe

Akamain TechDocsin mukaan Akamain palvelinympäristöä varten komento on sha256sum [tiedoston polku].

Dellin tukiartikkelin mukaan Dellin suositus on käyttää SHA256:ta erityisesti virustorjunta- ja haittaohjelmien torjuntaan liittyvissä tiedostoissa.

Huomio: Useat lähteet antavat samat ohjeet.

Qualysin dokumentaation mukaan Qualysin ohjeen mukaan verkkotyökalut ovat käteviä pienten tiedostojen tarkistamiseen, eikä niitä suositella arkaluonteisille tiedostoille turvallisuussyistä.

MD5-tarkistussumma verkossa

Verkossa toimii useita ilmaisia työkaluja, kuten emn178.github.io/online-tools/md5_checksum.html. Qualysin dokumentaation mukaan verkkotyökalut ovat käteviä pienten tiedostojen tarkistamiseen, eikä niitä suositella arkaluonteisille tiedostoille turvallisuussyistä.

Käytännön neuvo

Kun lataat esimerkiksi Linux-levykuvan, vertaa palvelimen ilmoittamaa MD5-tiivistettä itse laskemaasi. Jos ne täsmäävät, tiedosto on todennäköisesti ehjä – mutta tämä ei takaa, ettei joku ole väärentänyt tiivistettä.

Dellin tukiartikkelin mukaan myös PowerShellin avulla voidaan laskea SHA256: Get-FileHash -Path C:\path\file.exe -Algorithm SHA256. Dell suosittelee SHA256:n käyttöä erityisesti virustorjunta- ja haittaohjelmien torjuntaan liittyvissä tiedostoissa.

Yhteenveto: Windows-käyttäjille certutil on nopein tapa, Linux-käyttäjille md5sum. Verkkotyökalut sopivat pieniin tiedostoihin. Suositus on: käytä SHA256:ta aina kun se on mahdollista, erityisesti turvallisuuskriittisissä tiedostoissa.

Onko SHA256 vai MD5 parempi?

Vertailu on yksiselitteinen: SHA256 on parempi turvallisuuden kannalta, mutta MD5 on nopeampi ja kevyempi. Kuusi eroavaisuutta, yksi kuvio: mitä enemmän turvallisuutta, sitä enemmän laskentatehoa.

MD5:n ja SHA256:n erot kahdeksassa kriittisessä ominaisuudessa
Ominaisuus MD5 SHA256 Lähde
Hashin pituus 128 bittiä (32 merkkiä) 256 bittiä (64 merkkiä) FolderManifestin tekniset tiedot
Turvallisuus Rikki (törmäyshyökkäykset mahdollisia) Turvallinen (ei tunnettuja törmäyshyökkäyksiä) FolderManifestin turvallisuustiedot
Nopeus Nopeampi (vähemmän bittiä) Hitaampi (enemmän laskentaa) FolderManifestin vertailu
Käyttökohteet Eheystarkistukset (ei turvallisuus) Turvallisuus, allekirjoitukset, sertifikaatit Akamai TechDocsin ohjeistus
Windowsin komento certutil -hashfile [tiedosto] md5 certutil -hashfile [tiedosto] SHA256 Broadcom Knowledge Base
Linuxin komento md5sum [tiedosto] sha256sum [tiedosto] FEGA Swedenin ohjeistus
PowerShell-komento Ei suoraa tukea Get-FileHash -Algorithm SHA256 Broadcom Knowledge Base
Suositeltu käyttö vuonna 2024 Vain eheystarkistuksiin Kaikkiin turvallisuusvaatimuksiin Dellin suositus

Mitä tämä tarkoittaa käytännössä?

Jos sinun täytyy varmistaa, ettei tiedosto ole vahingossa vioittunut latauksen aikana, MD5 riittää hyvin. Mutta jos tiedoston eheys on kriittinen turvallisuuden kannalta – kuten ohjelmistopäivityksissä tai digitaalisissa allekirjoituksissa – SHA256 on ainoa oikea valinta. FolderManistin vertailun mukaan ero on sama kuin lukitun oven avain (SHA256) verrattuna post-it-lappuun, jossa lukee salasana (MD5).

Onko MD5 murrettu?

Kyllä, kryptografisessa mielessä MD5 on täysin rikki. Tämä tarkoittaa, että algoritmin turvallisuustakuut eivät enää päde millään käytännön tarkkuudella.

Milloin MD5 murrettiin?

Avainhetket MD5:n heikkenemisessä voidaan tiivistää kuuteen tapahtumaan:

MD5 julkaistiin kryptografisena hash-funktiona (FolderManifestin aikajana)

Ensimmäinen heikkous havaittiin (Dobbertin) (FolderManifestin turvallisuustiedot)

Wang et al. osoittivat käytännön törmäyshyökkäyksen (FolderManifestin tutkimustiedot)

MD5 poistettiin monista sertifioinneista (FolderManifestin historialliset tiedot)

Lohkohyökkäykset nopeuttivat törmäysten löytämistä (FolderManifestin edistyneet tiedot)

MD5 katsotaan täysin rikki kryptografisessa mielessä (FolderManifestin lopullinen arvio)

Onko MD5 mahdollista purkaa?

Teknisesti kyllä, mutta vain rajallisessa ajassa. FolderManistin turvallisuustietojen mukaan jos tiedät MD5-tiivisteen, et voi suoraan laskea alkuperäistä tiedostoa. Sen sijaan hyökkääjä voi kokeilla miljoonia eri syötteitä, kunnes löytää yhden, joka tuottaa saman tiivisteen (törmäyshyökkäys). Nykyaikaisilla tietokoneilla tämä onnistuu sekunneissa.

“MD5:n kryptografinen rikkomus ei tarkoita, etteikö sitä voisi käyttää – se tarkoittaa, ettei siihen pidä luottaa turvallisuuskriittisissä sovelluksissa.”

Wikipedia-artikkeli MD5:stä

Yhteenveto: MD5 on murrettu ja siihen ei pidä luottaa turvallisuuden kannalta. Tavallinen käyttäjä voi yhä käyttää MD5:ä tiedostojen eheyden tarkistamiseen, mutta tietoisena riskeistä.

Usein kysytyt kysymykset

Voiko MD5-tarkistussumman väärentää?

Kyllä. Koska MD5:llä on tunnettuja törmäyshyökkäyksiä, hyökkääjä voi luoda kaksi eri tiedostoa, joilla on sama MD5-tiiviste. Tämä tekee MD5:stä sopimattoman turvallisuuskriittisiin sovelluksiin. FolderManistin turvallisuustiedot vahvistavat tämän.

Miten MD5 eroaa SHA1:stä?

MD5 tuottaa 128-bittisen ja SHA1 160-bittisen tiivisteen. SHA1 on pidempi mutta on itsekin altis törmäyshyökkäyksille. SHA256 on nykystandardi. FolderManistin vertailun mukaan molempia pidetään vanhentuneina turvallisuusnäkökulmasta.

Onko MD5-tarkistussumma sama kuin hash?

Kyllä. Tarkistussumma (checksum) ja hash (tiiviste) tarkoittavat samaa asiaa: tietyn algoritmin tuottamaa numeerista arvoa, joka toimii tiedoston digitaalisena sormenjälkenä. FolderManistin määritelmän mukaan termejä käytetään usein ristiin.

Mitä tarkoittaa ‘törmäyshyökkäys’?

Törmäyshyökkäys (collision attack) tarkoittaa, että kaksi eri syötettä (esim. kaksi eri tiedostoa) tuottavat saman tiivisteen. Jos hyökkääjä voi luoda tällaisen parin, hän voi korvata alkuperäisen tiedoston väärennetyllä ilman, että tiiviste muuttuu. FolderManistin turvallisuustietojen mukaan MD5 on erityisen altis tälle hyökkäykselle.

Miten tarkistan MD5-tarkistussumman Windowsissa?

Avaa komentokehote (cmd) ja kirjoita: certutil -hashfile C:\path\tiedosto.exe md5. Broadcomin ohjeen mukaan tämä toimii Windows 10:ssä ja 11:ssä.

Miten tarkistan MD5-tarkistussumman Linuxissa?

Avaa terminaali ja kirjoita: md5sum tiedosto.exe. FEGA Swedenin ohjeistuksen mukaan tämä komento on osa GNU Coreutils -pakettia.

Mikä on paras MD5-tarkistussumman työkalu?

Sisäänrakennettu certutil Windowsissa ja md5sum Linuxissa ovat parhaat, koska ne ovat ilmaisia ja turvallisia. Verkkotyökalut, kuten emn178.github.io, ovat käteviä, mutta Qualysin dokumentaation mukaan Qualysin ohjeen mukaan niitä ei suositella arkaluonteisille tiedostoille turvallisuussyistä.

Onko MD5-tarkistussumma riittävä tiedoston eheyden varmistamiseen?

Kyllä, jos kyseessä on vain satunnainen vioittumisen tarkistus (esim. verkkolatauksen jälkeen). Mutta jos tiedoston eheys on turvallisuuskriittinen, kuten ohjelmistopäivityksissä, MD5 ei riitä. Akamai TechDocsin suosituksen mukaan käytä SHA256:ta turvallisuusvaatimuksissa.

Tässä oppaassa olemme käyneet läpi MD5-tarkistussumman perusteet, sen heikkoudet ja käytännön käyttötavat. Tärkein asia on ymmärtää, että MD5 on kuin vanha ystävä: luotettava arkisissa askareissa, mutta ei enää se, jolle uskoisi tärkeimmät salaisuutensa. Suomalaisten käyttäjien kannattaa erityisesti huomioida, että monet kotimaiset palvelut, kuten Digi- ja väestötietoviraston ohjelmistot, käyttävät yhä MD5:ä eheystarkistuksiin – mutta turvallisuuskriittisissä tiedonannoissa SHA256 on jo standardi.

Aiheeseen liittyvää: Mikä on blockchain-lompakko? Opas kryptolompakoihin · SSH Communications Security Osake (SSH1V) – Kurssi, omistajat ja analyysi