Tarkistussumma

Linux.fista
Versio hetkellä 18. kesäkuuta 2009 kello 23.32 – tehnyt Pb (keskustelu | muokkaukset) (tarkennuksia)
Siirry navigaatioon Siirry hakuun

Tarkistussumma on tiedon tarkistukseen käytetty merkkijono. Se voidaan muodostaa halutusta tiedostosta tai käytännössä mistä tahansa muusta lähteestä. Kun tarkistussumma tehdään uudestaan pitäisi sen olla sama kuin aiempi tarkistussumma, mikäli lähdetiedosto ei ole muuttunut. Jos taas lähde on muuttunut tavunkaan verran, pitäisi tarkistussumman olla täysin toinen kuin alunperin. Tarkistussummien avulla voidaan siis helposti tarkistaa, onko lähde muuttunut.

Menetelmät

Yleisimpiä tarkistussummia ovat SHA, MD5 ja cksum. Keskeisin niitä erottava tekijä on tarkistussumman murtovarmuus.

Useat heikommista tarkistussummista on kyetty murtamaan, eli laskennan pohjalta tuottamaan useita toisistaan poikkeavia lähteitä, joiden tarkistussummat ovat samat. Murretut tarkistussummat eivät ole käyttökelposia korkeaa tietoturvaa vaativissa kohteissa, sillä lähteen muuttumattomuutta (vapautta haitallisesta koodista) ei voida täysin taata.

Käyttökohteet

Tarkistussummia voidaan käyttää hyvin monessa eri tarkoituksessa. Tyypillisin käyttökohde on tarkistaa, että kopioitu tiedosto vastaa alkuperäistä tiedostoa eikä ole korruptoitunut. Otetaan tarkistussumma halutusta tiedostosta, kopioidaan se, otetaan kopiosta tarkistussumma ja katsotaan että summat ovat samat.

Tarkistussummia voidaan käyttää myös salasanojen tarkistamiseen. Itse salasanaa ei tarvitse tallentaa sitä vaativaan ohjelmaan. Riittää, että ohjelma tallentaa salasanan tarkistussummat ja myöhemmin tarkistaa vastaako syötetyn salasanan tarkistussumma alkuperäisen vastaavaa.

Heikkouksia

Koska tarkistussumma ei sisällä itse alkuperäistä tietoa vaan vain erittäin pienen osan siitä, on olemassa useita erilaisia lähdetiedostoja, jotka antavat saman summa. Tämän ei kuitenkaan tule yleensä ongelmaksi, koska yleisimpien tarkistussummatekniikoiden vaihtoehtoisia tarkistussumma on erittäin paljon.

Vaikka tarkistussumma ei sisälläkään alkuperäistä tietoa, voidaan summasta tämä kuitenkin joskus päätellä. Jos kyseessä on esimerkiksi salasanan tarkistussumma, voidaan kokeilla kaikkia mahdollisten salasanojen tarkistussummia ja katsoa tuottaako jokin yritys oikean summan. Tämä onnistuu usein, mikäli käytössä on alle 10-merkkinen lähdemerkkijono. Lyhyiden salasanojen kokeilua voidaan vaikeuttaa lisäämällä suola. Salasanan eteen tai perään lisätään salaisia, mutta aina samoja merkkijonoa. Näin lähteestä saadaan pidempi ja sen kokeileminen vaikeutuu huomattavasti. Kun ohjelma tarkistaa salasanaa, se lisää suolan merkkijonot ennen summan ottamista.

Aiheesta muualla