{"id":10,"date":"2026-06-10T09:12:54","date_gmt":"2026-06-10T09:12:54","guid":{"rendered":"https:\/\/shattered.io\/fi\/2026\/06\/10\/digitaaliset-allekirjoitukset\/"},"modified":"2026-06-10T12:33:37","modified_gmt":"2026-06-10T12:33:37","slug":"digitaaliset-allekirjoitukset","status":"publish","type":"post","link":"https:\/\/shattered.io\/fi\/cryptography\/digitaaliset-allekirjoitukset\/","title":{"rendered":"Digitaaliset allekirjoitukset: tiivisteet ja ep\u00e4symmetriset avaimet"},"content":{"rendered":"<h2 id=\"mika-on-digitaalinen-allekirjoitus\">Mik\u00e4 on digitaalinen allekirjoitus<\/h2>\n<p>Digitaalinen allekirjoitus on kryptografinen menetelm\u00e4, jolla voidaan todistaa kaksi asiaa: ett\u00e4 viesti on per\u00e4isin tietylt\u00e4 l\u00e4hett\u00e4j\u00e4lt\u00e4 ja ett\u00e4 sen sis\u00e4lt\u00f6 ei ole muuttunut allekirjoittamisen j\u00e4lkeen. Se vastaa k\u00e4sin kirjoitettua allekirjoitusta, mutta on huomattavasti vahvempi, koska se sitoutuu matemaattisesti juuri kyseiseen sis\u00e4lt\u00f6\u00f6n.<\/p>\n<p>Digitaalinen allekirjoitus nojaa kahteen kryptografian peruspilariin: tiivistefunktioon ja ep\u00e4symmetriseen avainpariin. Kumpikaan ei yksin riitt\u00e4isi, mutta yhdess\u00e4 ne muodostavat j\u00e4rjestelm\u00e4n, joka on sek\u00e4 tehokas ett\u00e4 turvallinen. Ymm\u00e4rt\u00e4\u00e4ksesi allekirjoitukset on hyv\u00e4 ymm\u00e4rt\u00e4\u00e4 molempien rooli.<\/p>\n<h2 id=\"epasymmetriset-avaimet-lyhyesti\">Ep\u00e4symmetriset avaimet lyhyesti<\/h2>\n<p>Ep\u00e4symmetrisess\u00e4 eli julkisen avaimen kryptografiassa k\u00e4ytt\u00e4j\u00e4ll\u00e4 on kaksi toisiinsa liittyv\u00e4\u00e4 avainta. Yksityinen avain pidet\u00e4\u00e4n salassa eik\u00e4 sit\u00e4 jaeta kenellek\u00e4\u00e4n. Julkinen avain voidaan jakaa vapaasti kaikille.<\/p>\n<p>Avaimet liittyv\u00e4t toisiinsa siten, ett\u00e4 yksityisell\u00e4 avaimella tehty toimenpide voidaan tarkistaa julkisella avaimella, mutta julkisesta avaimesta ei voi p\u00e4\u00e4tell\u00e4 yksityist\u00e4 avainta. Allekirjoituksen tapauksessa t\u00e4m\u00e4 tarkoittaa, ett\u00e4 vain yksityisen avaimen haltija voi luoda p\u00e4tev\u00e4n allekirjoituksen, mutta kuka tahansa julkisen avaimen omistava voi tarkistaa sen aitouden. T\u00e4m\u00e4 ep\u00e4symmetria on koko j\u00e4rjestelm\u00e4n ydin.<\/p>\n<h2 id=\"miksi-allekirjoitus-lasketaan-tiivisteesta\">Miksi allekirjoitus lasketaan tiivisteest\u00e4<\/h2>\n<p>Voisi kuvitella, ett\u00e4 allekirjoitus tehd\u00e4\u00e4n suoraan koko viestin yli. K\u00e4yt\u00e4nn\u00f6ss\u00e4 n\u00e4in ei toimita. Sen sijaan viestist\u00e4 lasketaan ensin kryptografinen tiiviste, ja allekirjoitus tehd\u00e4\u00e4n t\u00e4m\u00e4n tiivisteen yli. T\u00e4h\u00e4n on hyv\u00e4t syyt.<\/p>\n<p>Ensinn\u00e4kin se on tehokasta. Ep\u00e4symmetriset operaatiot ovat laskennallisesti raskaita, ja niiden suorittaminen suuren viestin yli olisi hidasta. Koska tiiviste on aina kiinte\u00e4nmittainen riippumatta viestin koosta, allekirjoittaminen on yht\u00e4 nopeaa olipa viesti pieni tai valtava.<\/p>\n<p>Toiseksi tiiviste sitoo allekirjoituksen tiukasti sis\u00e4lt\u00f6\u00f6n. Lumivy\u00f6ryvaikutuksen ansiosta pienikin muutos viestiss\u00e4 muuttaa tiivisteen t\u00e4ysin, jolloin allekirjoitus ei en\u00e4\u00e4 t\u00e4sm\u00e4\u00e4. N\u00e4in tiiviste toimii viestin sormenj\u00e4lken\u00e4, johon allekirjoitus kiinnittyy.<\/p>\n<h2 id=\"allekirjoittaminen-yksityisella-avaimella\">Allekirjoittaminen yksityisell\u00e4 avaimella<\/h2>\n<p>Allekirjoittamisen prosessi etenee selkeiss\u00e4 vaiheissa. Ensin l\u00e4hett\u00e4j\u00e4 laskee viestist\u00e4 kryptografisen tiivisteen, esimerkiksi SHA-256:lla. T\u00e4m\u00e4 tiiviste tiivist\u00e4\u00e4 koko viestin sis\u00e4ll\u00f6n kiinte\u00e4nmittaiseksi arvoksi.<\/p>\n<p>Seuraavaksi l\u00e4hett\u00e4j\u00e4 k\u00e4ytt\u00e4\u00e4 yksityist\u00e4 avaintaan ja tuottaa t\u00e4m\u00e4n tiivisteen pohjalta allekirjoituksen. Koska vain l\u00e4hett\u00e4j\u00e4ll\u00e4 on yksityinen avain, vain h\u00e4n pystyy luomaan t\u00e4m\u00e4n allekirjoituksen. Allekirjoitus liitet\u00e4\u00e4n viestiin ja l\u00e4hetet\u00e4\u00e4n vastaanottajalle. Itse viesti voidaan l\u00e4hett\u00e4\u00e4 sellaisenaan, sill\u00e4 allekirjoituksen teht\u00e4v\u00e4 ei ole salata vaan todistaa aitous ja eheys.<\/p>\n<h2 id=\"tarkistaminen-julkisella-avaimella\">Tarkistaminen julkisella avaimella<\/h2>\n<p>Vastaanottaja tarkistaa allekirjoituksen k\u00e4\u00e4nt\u00e4en prosessin. H\u00e4n laskee saamastaan viestist\u00e4 tiivisteen samalla algoritmilla, jota l\u00e4hett\u00e4j\u00e4 k\u00e4ytti. Sitten h\u00e4n k\u00e4ytt\u00e4\u00e4 l\u00e4hett\u00e4j\u00e4n julkista avainta ja tarkistaa, vastaako allekirjoitus juuri t\u00e4t\u00e4 tiivistett\u00e4.<\/p>\n<p>Jos tarkistus onnistuu, vastaanottaja voi olla varma kahdesta asiasta. Allekirjoituksen on t\u00e4ytynyt synty\u00e4 l\u00e4hett\u00e4j\u00e4n yksityisell\u00e4 avaimella, mik\u00e4 todistaa alkuper\u00e4n. Lis\u00e4ksi viesti on t\u00e4sm\u00e4lleen sama kuin allekirjoitettaessa, sill\u00e4 muuten laskettu tiiviste ei t\u00e4sm\u00e4isi allekirjoitukseen. Jos viesti\u00e4 on muutettu matkalla edes hieman, tiiviste muuttuu ja tarkistus ep\u00e4onnistuu.<\/p>\n<h2 id=\"miksi-tormays-uhkaa-allekirjoituksia\">Miksi t\u00f6rm\u00e4ys uhkaa allekirjoituksia<\/h2>\n<p>T\u00e4ss\u00e4 piilee syy, miksi tiivistefunktion turvallisuus on niin kriittinen allekirjoituksille. Koska allekirjoitus tehd\u00e4\u00e4n tiivisteen yli eik\u00e4 koko viestin yli, allekirjoituksen turvallisuus on t\u00e4sm\u00e4lleen yht\u00e4 vahva kuin k\u00e4ytetyn tiivistefunktion t\u00f6rm\u00e4ysvastus.<\/p>\n<p>Kuvitellaan, ett\u00e4 hy\u00f6kk\u00e4\u00e4j\u00e4 pystyy tuottamaan kaksi eri viesti\u00e4, joilla on sama tiiviste. H\u00e4n voi esimerkiksi laatia viattoman n\u00e4k\u00f6isen asiakirjan ja haitallisen asiakirjan, jotka tiivistyv\u00e4t samaan arvoon. H\u00e4n pyyt\u00e4\u00e4 uhria allekirjoittamaan harmittoman version. Koska molemmilla viesteill\u00e4 on sama tiiviste, sama allekirjoitus p\u00e4tee my\u00f6s haitalliseen versioon. Hy\u00f6kk\u00e4\u00e4j\u00e4 voi sitten esitt\u00e4\u00e4 haitallisen asiakirjan aidosti allekirjoitettuna, eik\u00e4 tarkistus paljasta vaihdosta.<\/p>\n<p>Juuri t\u00e4m\u00e4 uhka konkretisoitui vuoden 2017 SHAttered-tutkimuksessa. Kun CWI Amsterdam ja Google tuottivat kaksi eri PDF-tiedostoa samalla SHA-1-tiivisteell\u00e4, he osoittivat ett\u00e4 SHA-1-pohjaisiin allekirjoituksiin ei voinut en\u00e4\u00e4 luottaa. Hy\u00f6kk\u00e4\u00e4j\u00e4, jolla oli riitt\u00e4v\u00e4t resurssit, pystyi periaatteessa hy\u00f6dynt\u00e4m\u00e4\u00e4n t\u00f6rm\u00e4yst\u00e4 juuri kuvatulla tavalla. T\u00e4m\u00e4 oli yksi t\u00e4rkeimmist\u00e4 syist\u00e4 luopua SHA-1:st\u00e4 allekirjoitusk\u00e4yt\u00f6ss\u00e4.<\/p>\n<h2 id=\"esimerkkeja-varmenteet-ja-koodin-allekirjoitus\">Esimerkkej\u00e4: varmenteet ja koodin allekirjoitus<\/h2>\n<p>Digitaaliset allekirjoitukset ovat k\u00e4yt\u00f6ss\u00e4 monessa arkip\u00e4iv\u00e4isess\u00e4 mutta kriittisess\u00e4 yhteydess\u00e4.<\/p>\n<p><strong>Varmenteet.<\/strong> Verkkosivustojen TLS-varmenteet ovat luotetun varmentajan digitaalisesti allekirjoittamia. Kun selain tarkistaa varmenteen, se varmistaa allekirjoituksen avulla, ett\u00e4 varmenne on aito eik\u00e4 sit\u00e4 ole v\u00e4\u00e4rennetty. Jos allekirjoituksen tiivistefunktio olisi heikko, hy\u00f6kk\u00e4\u00e4j\u00e4 voisi pyrki\u00e4 luomaan v\u00e4\u00e4rennetyn varmenteen, joka n\u00e4ytt\u00e4isi p\u00e4tev\u00e4lt\u00e4. T\u00e4m\u00e4 on yksi syist\u00e4, miksi varmenteet siirtyiv\u00e4t SHA-1:st\u00e4 SHA-256:een.<\/p>\n<p><strong>Koodin allekirjoitus.<\/strong> Ohjelmistot ja p\u00e4ivitykset allekirjoitetaan usein digitaalisesti, jotta k\u00e4ytt\u00e4j\u00e4 voi varmistaa niiden alkuper\u00e4n ja eheyden ennen asentamista. Allekirjoitus todistaa, ett\u00e4 ohjelmisto tulee aidolta julkaisijalta eik\u00e4 sit\u00e4 ole peukaloitu. T\u00e4ss\u00e4 yhteydess\u00e4 t\u00f6rm\u00e4ys olisi erityisen vaarallinen, sill\u00e4 se voisi mahdollistaa haitallisen koodin esitt\u00e4misen luotettuna.<\/p>\n<h2 id=\"yhteenveto\">Yhteenveto<\/h2>\n<p>Digitaalinen allekirjoitus yhdist\u00e4\u00e4 tiivistefunktion ja ep\u00e4symmetriset avaimet j\u00e4rjestelm\u00e4ksi, joka todistaa sek\u00e4 viestin alkuper\u00e4n ett\u00e4 sen eheyden. Yksityinen avain allekirjoittaa viestin tiivisteen, ja julkinen avain tarkistaa sen. Koko j\u00e4rjestelm\u00e4n turvallisuus lep\u00e4\u00e4 kuitenkin tiivistefunktion varassa, ja siksi sen t\u00f6rm\u00e4ysvastus on v\u00e4ltt\u00e4m\u00e4t\u00f6n. SHAttered osoitti, mit\u00e4 tapahtuu kun t\u00e4m\u00e4 perusta murenee, ja juuri siksi vahvojen, ajantasaisten tiivistefunktioiden k\u00e4ytt\u00f6 on allekirjoitusten turvallisuuden edellytys.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mik\u00e4 on digitaalinen allekirjoitus Digitaalinen allekirjoitus on kryptografinen menetelm\u00e4, jolla voidaan todistaa kaksi asiaa: ett\u00e4 viesti on per\u00e4isin tietylt\u00e4 l\u00e4hett\u00e4j\u00e4lt\u00e4 ja ett\u00e4 sen sis\u00e4lt\u00f6 ei ole muuttunut allekirjoittamisen j\u00e4lkeen. Se\u2026<\/p>\n","protected":false},"author":2,"featured_media":25,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-10","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\/10","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=10"}],"version-history":[{"count":1,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":26,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts\/10\/revisions\/26"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/media\/25"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}