Hajautusketju on tulos kryptografisen hajautusfunktion peräkkäisestä soveltamisesta tiettyyn merkkijonoon. Tietoturvassa hash - ketjua käytetään monistamaan useita kertaluonteisia salasanoja, jotka on annettu yhdellä avaimella tai salasanalla . Hash-ketjuja käytetään kiistämättömyyden toteuttamiseen soveltamalla tietoja sen olemassaolon historian tallentamiseen.
Hajautusketju on tulos kryptografisen hajautusfunktion peräkkäisestä soveltamisesta merkkijonoon .
Esimerkiksi,
antaa hash-ketjun, jonka pituus on 4, jota usein kutsutaan nimellä
Lamport [1] ehdotti hash-ketjujen käyttöä salasanasuojauksena epävarmassa ympäristössä. Palvelin, joka tarvitsee todennuksen , voi tallentaa hash-ketjun tavallisen salasanan sijasta , mikä estää salasanan varastamisen joko lähetyksen aikana palvelimelle tai suoraan palvelimelta. Esimerkiksi palvelin aloittaa tallentamalla käyttäjän toimittaman tietueen. Kun käyttäjä haluaa todentaa, hän lähettää palvelimelle merkkijonon . Palvelin arvioi merkkijonon ja varmistaa, että se vastaa palvelimelle tallennettua tietuetta. Tämän jälkeen palvelin tallentaa tietueen myöhempää todennusta varten.
Hyökkääjä, joka on siepannut , ei pysty toistamaan ja lähettämään palvelimelle ketjun alkua, kun hän pääsee palvelimeen, koska palvelin odottaa nyt . Salaustoimintojen peruuttamattomuuden vuoksi hyökkääjä ei pysty kumoamaan hash-funktiota ja saamaan ketjun alkua . Tässä esimerkissä käyttäjä voi todentaa 1000 kertaa ennen kuin ketju loppuu. Joka kerta lähetetyn tiivisteen arvo on erilainen, joten yhden hajautusarvon sieppaus ei salli uudelleentodennusta.
Binäärisiä hash-ketjuja käytetään yleisesti hash-puiden yhteydessä . Binäärinen hash-ketju ottaa syötteeksi hajautusparin arvot, liimaa ne yhteen ja käyttää tiivistefunktiota tuloksena olevaan merkkijonoon, jolloin saadaan kolmas tiiviste.
Kaavio näyttää hash-puun, joka koostuu 8 lehtisolmusta ja hash-ketjusta kolmannelle lehdelle. Hajautusketjun rekonstruoimiseksi sinun tulee itse hash-arvojen lisäksi tietää ketjutusjärjestys (vasen tai oikea, 1 tai 0).