Mikä on kryptografinen hajautusfunktio?

Sisällysluettelo:

Mikä on kryptografinen hajautusfunktio?
Mikä on kryptografinen hajautusfunktio?
Anonim

Salakirjoitushajautusfunktio (CHF) on algoritmi, jota voidaan ajaa tiedoilla, kuten yksittäisellä tiedostolla tai salasanalla, arvon, jota kutsutaan tarkistussummaksi, tuottamiseksi.

CHF:n pääasiallinen käyttötarkoitus on varmistaa tiedon aitous. Kahden tiedoston voidaan olettaa olevan identtisiä vain, jos kustakin tiedostosta luodut tarkistussummat samaa kryptografista hajautusfunktiota käyttämällä ovat identtisiä.

Joitakin yleisesti käytettyjä kryptografisia hajautusfunktioita ovat MD5 ja SHA-1, vaikka monia muitakin on olemassa. Näitä kutsutaan usein "hash-funktioiksi", mutta se ei ole teknisesti oikein. Hajautusfunktio on yleinen termi, joka kattaa CHF:t sekä muunlaiset algoritmit, kuten sykliset redundanssitarkistukset.

Salauksen hajautusfunktiot: käyttötapaus

Sano, että lataat Firefox-selaimen uusimman version. Jostain syystä sinun piti ladata se muu alta kuin Mozillan sivustolta. Koska sitä ei ylläpidetä sivustolla, johon olet oppinut luottamaan, haluat varmistaa, että juuri lataamasi asennustiedosto on täsmälleen sama kuin Mozillan tarjoama tiedosto.

Käyttämällä tarkistussummalaskuria lasket tarkistussumman käyttämällä tiettyä kryptografista hajautusfunktiota, kuten SHA-2:ta, ja vertaat sitä sitten Mozillan sivustolla julkaistuun funktioon. Jos ne ovat yhtä suuret, voit olla melko varma, että sinulla on Mozillan tarkoitus.

Image
Image

Voidaanko kryptografisia hajautusfunktioita kääntää?

Kryptografiset hajautusfunktiot on suunniteltu estämään kykyä kääntää niiden luomia tarkistussummia takaisin alkuperäisiin teksteihin. Vaikka niitä on käytännössä mahdotonta peruuttaa, ne eivät kuitenkaan ole 100-prosenttisesti taattu tietojen suojaamisesta.

Hakkerit voivat käyttää sateenkaaritaulukkoa selvittääkseen tarkistussumman tekstin. Rainbow-taulukot ovat sanakirjoja, joissa luetellaan tuhansia, miljoonia tai jopa miljardeja tarkistussummia vastaavien tekstiarvojen ohella.

Vaikka tämä ei teknisesti käännä kryptografista hajautusalgoritmia, se voi yhtä hyvin olla, koska se on niin yksinkertainen tehdä. Todellisuudessa, koska mikään sateenkaaritaulukko ei pysty luettelemaan kaikkia olemassa olevia tarkistussummia, niistä on yleensä apua vain yksinkertaisissa lauseissa, kuten heikkoissa salasanoissa.

Tässä on yksinkertaistettu versio sateenkaaritaulukosta, joka näyttää, kuinka se toimisi käytettäessä SHA-1 kryptografista hajautustoimintoa:

Sateenkaaritaulukon esimerkki
Selvä teksti SHA-1 Tarkistussumma
12345 8cb2237d0679ca88db6464eac60da96345513964
salasana1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Hakkerin on tiedettävä, mitä kryptografista hajautusalgoritmia käytettiin tarkistussummien luomiseen arvojen selvittämiseksi.

Suojauksen lisäämiseksi jotkin käyttäjien salasanoja tallentavat verkkosivustot suorittavat lisätoimintoja kryptografisessa hajautusalgoritmissa arvon luomisen jälkeen, mutta ennen sen tallentamista. Tämä prosessi tuottaa uuden arvon, jonka vain verkkopalvelin ymmärtää ja joka ei vastaa alkuperäistä tarkistussummaa.

Esimerkiksi salasanan syöttämisen ja tarkistussumman luomisen jälkeen se voidaan jakaa useisiin osiin ja järjestää uudelleen ennen kuin se tallennetaan salasanatietokantaan, tai tietyt merkit voidaan vaihtaa toisiin. Kun käyttäjä yrittää todentaa seuraavan kerran, kun käyttäjä kirjautuu sisään, palvelin kumoaa tämän lisätoiminnon ja alkuperäinen tarkistussumma luodaan uudelleen varmistaakseen, että käyttäjän salasana on kelvollinen.

Näiden vaiheiden suorittaminen rajoittaa hakkeroinnin hyödyllisyyttä, kun kaikki tarkistussummat varastetaan. Ajatuksena on suorittaa toiminto, joka on tuntematon, joten jos hakkeri tuntee kryptografisen hajautusalgoritmin mutta ei mukautettua, salasanan tarkistussummien tietäminen ei ole hyödyllistä.

Salasanat ja kryptografiset hajautusfunktiot

Tietokanta tallentaa käyttäjien salasanat samalla tavalla kuin sateenkaaritaulukko. Kun salasana syötetään, tarkistussumma luodaan ja sitä verrataan käyttäjänimelläsi olevaan salasanaan. Sinulle myönnetään käyttöoikeus, jos nämä kaksi ovat identtisiä.

Koska CHF tuottaa ei-palauttavan tarkistussumman, onko turvallista tehdä salasanastasi niin yksinkertainen kuin 12345 12@34 sijaan. $5, koska itse tarkistussummia ei voida ymmärtää? Ei, ja tässä syy.

Näitä kahta salasanaa on mahdotonta tulkita vain tarkastelemalla vain tarkistussummia:

MD5, 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 hintaan 12@34$5: a4d3cc004f487b18b2ccd4853053818b

Ensi silmäyksellä saatat ajatella, että on hyvä käyttää jompaakumpaa näistä salasanoista. Tämä pitää paikkansa, jos hyökkääjä yritti selvittää salasanasi arvaamalla MD5-tarkistussumman, mitä kukaan ei tee, mutta ei pidä paikkaansa, jos suoritetaan raa'an voiman tai sanakirjahyökkäys, mikä on yleinen taktiikka.

Raaka voimahyökkäys tapahtuu, kun salasanaa arvattaessa tehdään useita satunnaisia puukotuksia. Tässä tapauksessa olisi helppo arvata 12345, mutta melko vaikeaa keksiä satunnaisesti toinen. Sanakirjahyökkäys on samanlainen siinä mielessä, että hyökkääjä voi kokeilla jokaista sanaa, numeroa tai lausetta yleisten (ja ei niin yleisten) salasanojen luettelosta, ja 12345 on yksi niistä yleisistä. salasanat.

Vaikka kryptografiset hajautusfunktiot tuottavat vaikeasti mahdottomia arvata tarkistussummia, sinun tulee silti käyttää monimutkaista salasanaa kaikille online- ja paikallisille käyttäjätileille.

Lisätietoja kryptografisista hajautusfunktioista

Saattaa vaikuttaa siltä, että kryptografiset hash-funktiot liittyvät salaukseen, mutta nämä kaksi toimivat eri tavoin.

Salaus on kaksisuuntainen prosessi, jossa jokin salataan lukukelvottomaksi ja puretaan myöhemmin käytettäväksi normaalisti. Voit salata tallentamasi tiedostot, jotta kukaan, joka käyttää niitä, ei voi käyttää niitä, tai voit käyttää tiedostonsiirtosalausta verkon yli liikkuvien tiedostojen salaamiseen, kuten ne, jotka lataat tai lataat verkossa.

Salauksen hajautusfunktiot toimivat eri tavalla, koska tarkistussummia ei ole tarkoitettu käännettäviksi erityisellä tiivistyssalasanalla. CHF:ien ainoa tarkoitus on vertailla kahta dataa, kuten tiedostoja ladattaessa, salasanoja tallennettaessa ja tietoja haettaessa tietokannasta.

Salauksellinen hash-funktio voi tuottaa saman tarkistussumman eri tietopaloille. Kun näin tapahtuu, sitä kutsutaan törmäykseksi, mikä on v altava ongelma, kun otetaan huomioon, että funktion koko tarkoitus on tehdä yksilölliset tarkistussummat jokaiselle siihen syötetylle datalle.

Törmäyksiä voi tapahtua, koska jokainen CHF tuottaa kiinteän pituisen arvon riippumatta syöttötiedoista. Esimerkiksi MD5:n kryptografinen hajautusfunktio luo 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 ja e10adc3949ba09abbe7 yhteensä kolmelle lohkollef859abbe7.

Ensimmäinen tarkistussumma on lähteestä 12345. Toinen luotiin yli 700 kirjaimesta ja numerosta, ja kolmas on 123456. Kaikki kolme syötettä ovat eripituisia, mutta tulokset ovat aina vain 32 merkin pituisia, koska käytettiin MD5-tarkistussummaa.

Luotujen tarkistussummien lukumäärää ei ole rajoitettu, koska jokaisen syötteen pienen muutoksen oletetaan tuottavan täysin erilainen tarkistussumma. Koska yhden CHF:n tuottamien tarkistussummien määrä on rajoitettu, on aina mahdollisuus törmätä.

Tästä syystä muita kryptografisia hajautusfunktioita on luotu. Kun MD5 luo 32 merkin arvon, SHA-1 tuottaa 40 merkkiä ja SHA-2 (512) 128. Mitä enemmän merkkejä tarkistussummassa on, sitä vähemmän todennäköistä on, että törmäys tapahtuu.

Suositeltava: