{"id":14,"date":"2026-06-10T09:13:06","date_gmt":"2026-06-10T09:13:06","guid":{"rendered":"https:\/\/shattered.io\/fi\/2026\/06\/10\/sha1-tormays\/"},"modified":"2026-06-10T09:13:06","modified_gmt":"2026-06-10T09:13:06","slug":"sha1-tormays","status":"publish","type":"post","link":"https:\/\/shattered.io\/fi\/cryptography\/sha1-tormays\/","title":{"rendered":"SHA-1-t\u00f6rm\u00e4ys: SHAttered-tutkimus ja sen seuraukset"},"content":{"rendered":"<h2 id=\"ensimmainen-kaytannon-sha-1-tormays\">Ensimm\u00e4inen k\u00e4yt\u00e4nn\u00f6n SHA-1-t\u00f6rm\u00e4ys<\/h2>\n<ol start=\"23\">\n<li>helmikuuta 2017 hollantilainen tutkimuslaitos CWI Amsterdam ja Google julkistivat tuloksen, jota oli odotettu ja pel\u00e4tty vuosia. He olivat tuottaneet ensimm\u00e4isen k\u00e4yt\u00e4nn\u00f6n t\u00f6rm\u00e4yksen SHA-1-tiivistealgoritmille. Tutkimus sai nimen SHAttered, ja se osoitti konkreettisesti, ett\u00e4 algoritmi, joka oli yh\u00e4 laajalti k\u00e4yt\u00f6ss\u00e4, ei en\u00e4\u00e4 tarjonnut sit\u00e4 turvaa, johon moni j\u00e4rjestelm\u00e4 luotti.<\/li>\n<\/ol>\n<p>Aiemmin SHA-1:n heikkous oli ollut teoreettinen. Tutkijat tiesiv\u00e4t, ett\u00e4 t\u00f6rm\u00e4yksen pit\u00e4isi olla l\u00f6ydett\u00e4viss\u00e4 huomattavasti pienemm\u00e4ll\u00e4 ty\u00f6ll\u00e4 kuin algoritmin pituus antaisi olettaa, mutta kukaan ei ollut viel\u00e4 esitt\u00e4nyt todellista esimerkki\u00e4 kahdesta tiedostosta, joilla on sama SHA-1-tiiviste. SHAttered muutti tilanteen teoriasta k\u00e4yt\u00e4nn\u00f6ksi.<\/p>\n<h2 id=\"mika-on-tormays-ja-miksi-se-rikkoo-luottamuksen\">Mik\u00e4 on t\u00f6rm\u00e4ys ja miksi se rikkoo luottamuksen<\/h2>\n<p>Kryptografinen tiivistefunktio ottaa mink\u00e4 tahansa kokoisen sy\u00f6tteen ja tiivist\u00e4\u00e4 sen kiinte\u00e4nmittaiseksi arvoksi. SHA-1:n tapauksessa tulos on 160 bitti\u00e4. Koska sy\u00f6tteit\u00e4 on rajattomasti mutta tiivisteit\u00e4 rajallinen m\u00e4\u00e4r\u00e4, on matemaattisesti v\u00e4ist\u00e4m\u00e4t\u00f6nt\u00e4, ett\u00e4 jotkut eri sy\u00f6tteet tuottavat saman tiivisteen. T\u00e4llaista tilannetta kutsutaan t\u00f6rm\u00e4ykseksi.<\/p>\n<p>Turvallisen tiivistefunktion koko idea on, ett\u00e4 vaikka t\u00f6rm\u00e4yksi\u00e4 on olemassa, niiden l\u00f6yt\u00e4minen on k\u00e4yt\u00e4nn\u00f6ss\u00e4 mahdotonta. Hy\u00f6kk\u00e4\u00e4j\u00e4n ei pit\u00e4isi pysty\u00e4 tarkoituksella rakentamaan kahta eri sis\u00e4lt\u00f6\u00e4, jotka tiivistyv\u00e4t samaan arvoon. Kun t\u00e4m\u00e4 ominaisuus pett\u00e4\u00e4, koko luottamusketju rakoilee.<\/p>\n<p>Ajattele esimerkki\u00e4. Allekirjoitusj\u00e4rjestelm\u00e4 laskee tiivisteen sopimuksesta ja allekirjoittaa sen. Jos hy\u00f6kk\u00e4\u00e4j\u00e4 pystyy luomaan toisen, sis\u00e4ll\u00f6lt\u00e4\u00e4n erilaisen sopimuksen samalla tiivisteell\u00e4, alkuper\u00e4inen allekirjoitus p\u00e4tee yht\u00e4 lailla v\u00e4\u00e4rennetylle versiolle. Vastaanottaja ei voi tiivisteen perusteella erottaa aitoa v\u00e4\u00e4renn\u00f6ksest\u00e4. Sama logiikka koskee ohjelmistojen allekirjoituksia, varmenteita ja versiohallintaa.<\/p>\n<h2 id=\"kaksi-pdf-tiedostoa-sama-tiiviste\">Kaksi PDF-tiedostoa, sama tiiviste<\/h2>\n<p>SHAttered-tutkimuksen vakuuttavin todiste oli kaksi PDF-tiedostoa. Tiedostot n\u00e4ytt\u00e4v\u00e4t erilaisilta ja niiden sis\u00e4lt\u00f6 poikkeaa toisistaan, mutta molemmilla on t\u00e4sm\u00e4lleen sama SHA-1-tiiviste:<\/p>\n<pre><code>38762cf7f55934b34d179ae6a4c80cadccbb7f0a\n<\/code><\/pre>\n<p>Olennaista on, ett\u00e4 vaikka tiedostot jakavat saman SHA-1-arvon, ne eroavat selv\u00e4sti toisistaan vahvemmalla SHA-256-algoritmilla laskettuna. T\u00e4m\u00e4 havainnollistaa t\u00e4sm\u00e4lleen oikean asian. SHA-1 ei en\u00e4\u00e4 pysty erottamaan kahta eri tiedostoa toisistaan, mutta SHA-256 pystyy. Juuri t\u00e4st\u00e4 syyst\u00e4 siirtym\u00e4 vahvempaan algoritmiin oli v\u00e4ltt\u00e4m\u00e4t\u00f6n.<\/p>\n<p>Voit tarkastella tutkimuksen tuottamia tiedostoja itse. Molemmat t\u00f6rm\u00e4yksen PDF-tiedostot ovat saatavilla osoitteissa <a href=\"https:\/\/shattered.io\/static\/shattered-1.pdf\">shattered-1.pdf<\/a> ja <a href=\"https:\/\/shattered.io\/static\/shattered-2.pdf\">shattered-2.pdf<\/a>. Tutkimuksen tieteellinen artikkeli, joka kuvaa menetelm\u00e4n tarkemmin, l\u00f6ytyy osoitteesta <a href=\"https:\/\/shattered.io\/static\/shattered.pdf\">shattered.pdf<\/a>.<\/p>\n<h2 id=\"valtava-laskentaponnistus\">Valtava laskentaponnistus<\/h2>\n<p>T\u00f6rm\u00e4ys ei ollut helppo l\u00f6yt\u00e4\u00e4. Se vaati poikkeuksellisen suuren laskentam\u00e4\u00e4r\u00e4n, ja juuri sen mittakaava teki tutkimuksesta niin merkitt\u00e4v\u00e4n.<\/p>\n<p>Hy\u00f6kk\u00e4ys edellytti noin 9,2 triljoonaa SHA-1-laskentaa. Kyseess\u00e4 on luku, jota on vaikea hahmottaa. K\u00e4yt\u00e4nn\u00f6ss\u00e4 t\u00e4m\u00e4 vastaa noin 6 500 prosessorivuotta tavallisilla suorittimilla laskettuna, mink\u00e4 lis\u00e4ksi tarvittiin noin 110 n\u00e4yt\u00f6nohjainvuotta laskenta-aikaa. Toisin sanoen, jos yksitt\u00e4inen tietokone tekisi ty\u00f6n yksin, siihen kuluisi tuhansia vuosia. Vasta valtavan rinnakkaislaskennan ansiosta t\u00f6rm\u00e4ys saatiin tuotettua kohtuullisessa ajassa.<\/p>\n<p>T\u00e4m\u00e4 luku oli sanoma kahteen suuntaan. Toisaalta se osoitti, ett\u00e4 hy\u00f6kk\u00e4ys oli aidosti mahdollinen, ei pelkk\u00e4 teoreettinen uhka. Toisaalta se osoitti, ett\u00e4 hy\u00f6kk\u00e4ys oli edelleen kallis ja vaati huomattavia resursseja. Se ei ollut jotain, mit\u00e4 kuka tahansa voisi tehd\u00e4 kotikoneellaan, mutta hyvin resursoidulle toimijalle se oli t\u00e4ysin saavutettavissa. Ja koska laskentateho halpenee jatkuvasti, oli selv\u00e4\u00e4, ett\u00e4 hy\u00f6kk\u00e4yksen hinta laskisi vain ajan my\u00f6t\u00e4.<\/p>\n<h2 id=\"seuraukset-sha-1n-nopea-alasajo\">Seuraukset: SHA-1:n nopea alasajo<\/h2>\n<p>SHAttered antoi alalle konkreettisen syyn tehd\u00e4 se, mit\u00e4 monet olivat jo suositelleet. SHA-1:n k\u00e4yt\u00f6st\u00e4 luovuttiin turvallisuuskriittisiss\u00e4 yhteyksiss\u00e4 nopeasti tutkimuksen j\u00e4lkeen.<\/p>\n<p><strong>TLS-varmenteet.<\/strong> Verkkoselainten ja varmentajien ekosysteemi oli jo aiemmin alkanut siirty\u00e4 pois SHA-1:st\u00e4, mutta SHAttered vahvisti p\u00e4\u00e4t\u00f6ksen. SHA-1-pohjaiset varmenteet poistuivat k\u00e4yt\u00f6st\u00e4, ja vahvemmat SHA-2-pohjaiset varmenteet tulivat normiksi.<\/p>\n<p><strong>Versiohallinta.<\/strong> Git tunnisti olioita SHA-1:n avulla, mik\u00e4 her\u00e4tti kysymyksi\u00e4 t\u00f6rm\u00e4ysten vaikutuksesta versiohistorian eheyteen. Tutkimus vauhditti ty\u00f6t\u00e4, jossa lis\u00e4ttiin t\u00f6rm\u00e4ysten havaitsemista ja siirryttiin kohti vahvempia tiivisteit\u00e4.<\/p>\n<p><strong>Allekirjoitukset.<\/strong> Ohjelmistojen ja asiakirjojen allekirjoituksissa SHA-1:n k\u00e4ytt\u00f6 muuttui kest\u00e4m\u00e4tt\u00f6m\u00e4ksi. Koska allekirjoitus lasketaan tiivisteen yli, t\u00f6rm\u00e4yksen tuottaminen tarkoitti, ett\u00e4 allekirjoituksen sitovuuteen ei voinut en\u00e4\u00e4 luottaa.<\/p>\n<h2 id=\"mita-shatteredista-jai-kateen\">Mit\u00e4 SHAtteredista j\u00e4i k\u00e4teen<\/h2>\n<p>SHAttered ei ollut yksitt\u00e4inen kuriositeetti vaan k\u00e4\u00e4nnekohta. Se muutti SHA-1:n murtamisen teoreettisesta mahdollisuudesta julkisesti todistetuksi tosiasiaksi ja antoi koko alalle selv\u00e4n syyn toimia. T\u00e4rkein opetus on yleisempi kuin yksi algoritmi: kryptografiset standardit eiv\u00e4t ole ikuisia. Se mik\u00e4 on turvallista t\u00e4n\u00e4\u00e4n, voi olla murrettavissa huomenna, kun laskentateho kasvaa ja menetelm\u00e4t kehittyv\u00e4t.<\/p>\n<p>T\u00e4st\u00e4 syyst\u00e4 SHA-256 ja muut SHA-2-perheen algoritmit ovat nyt suositeltuja valintoja, ja vanhentuneista algoritmeista luopuminen ajoissa on osa vastuullista tietoturvaty\u00f6t\u00e4. SHAttered muistuttaa, ett\u00e4 algoritmin ik\u00e4\u00e4ntymist\u00e4 kannattaa seurata ja ett\u00e4 siirtym\u00e4 uuteen kannattaa tehd\u00e4 ennen kuin heikkous muuttuu hy\u00f6kk\u00e4ykseksi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ensimm\u00e4inen k\u00e4yt\u00e4nn\u00f6n SHA-1-t\u00f6rm\u00e4ys helmikuuta 2017 hollantilainen tutkimuslaitos CWI Amsterdam ja Google julkistivat tuloksen, jota oli odotettu ja pel\u00e4tty vuosia. He olivat tuottaneet ensimm\u00e4isen k\u00e4yt\u00e4nn\u00f6n t\u00f6rm\u00e4yksen SHA-1-tiivistealgoritmille. Tutkimus sai nimen SHAttered,\u2026<\/p>\n","protected":false},"author":2,"featured_media":21,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":0,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/media\/21"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}