Skip to main content

Mikä on kryptografinen Hash-toiminto?

Anonim

Salaus-hajautusfunktio on algoritmi, jota voidaan käyttää datan, kuten yksittäisen tiedoston tai salasanan, avulla.

Kryptografisen hajautusfunktion pääasiallinen käyttö on tarkistaa tiedoston aitous. Kaksi tiedostoa voidaan olettaa olevan identtisiä vain, jos kustakin tiedostosta tuotetut tarkistussummat käyttävät samaa kryptografista hajautusfunktiota.

Jotkut yleisesti käyttämät kryptografiset hajautusfunktiot sisältävät MD5: n ja SHA-1: n, vaikka monet muutkin ovat olemassa.

Salaus hajautusfunktioita kutsutaan usein "hajautusfunktioiksi", mutta se ei ole teknisesti oikea. Hajautusfunktio on yleinen termi, joka kattaa kryptografiset hajautusfunktiot ja muut algoritmit kuten sykliset redundanssit.

Salaus Hash-toiminnot: Käyttökotelo

Sano lataat uusimman version Firefox-selaimesta. Jostain syystä sinun tarvitsee ladata se muusta sivustosta kuin Mozillasta. Koska sitä ei ole ylläpidetty sivustolla, johon olet oppinut luottaa, haluat varmistaa, että juuri ladattu asennustiedosto on täsmälleen sama kuin Mozilla tarjoaa.

Tarkistussumman laskimen avulla lasketaan tarkistussumma tietyn kryptografisen hajautusfunktion, kuten SHA-2: n avulla, ja verrata sitä sitten Mozilla-sivustolla julkaistuun. Jos he ovat yhtä suuria, voit olla melko varma siitä, että sinulla on lataus Mozilla, jonka olet halunnut.

Voidaanko kryptografiset Hash-toiminnot peruuttaa?

Salauksen hajautusfunktiot on suunniteltu estämään kyky kääntää niiden luomat tarkistussummat takaisin alkuperäisiin teksteihin. Kuitenkin, vaikka ne ovat käytännössä mahdottomia peruuttaa, ne eivät ole 100 prosenttia taatusti turvaamaan tietoja.

Hakkerit voivat käyttää sateenkaari taulukon selvittää pelkkää tekstiä tarkistussumma.

Rainbow-pöydät ovat sanakirjoja, jotka luettavat tuhansia, miljoonia tai jopa miljardeja tarkistussummia vastaavan tavallisen tekstin arvon ohella.

Vaikka tämä ei teknisesti kääntäisi kryptografista hash-algoritmia, se voi myös olla, koska se on niin yksinkertaista tehdä. Todellisuudessa, koska sateenkaaripöytä ei voi luetella kaikkia olemassa olevia tarkistussummia, ne ovat yleensä vain hyödyllisiä yksinkertaisia ​​lauseita, kuten heikkoja salasanoja.

Tässä on yksinkertaistettu versio sateenkaaripöydästä, joka näyttää, miten työskentelisivät SHA-1-kryptografisen hajautusfunktiota käytettäessä:

plaintextSHA-1 tarkistusmäärä
123458cb2237d0679ca88db6464eac60da96345513964
password1e38ad214943daad1d64c102faec29de4afe9da3d
rakastan koiraania25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny4007d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Hakkereiden on tiedettävä, mitkä kryptografiset hash-algoritmit on käytetty määrittämään tarkistussummat arvojen selvittämiseksi.

Lisäsuojausta varten tietyt verkkosivustot, jotka tallentavat käyttäjän salasanat, suorittavat lisätoimintoja kryptografisella hash-algoritmilla arvon luonti, mutta ennen sen tallentamista. Tämä prosessi tuottaa uuden arvon, jonka vain verkkopalvelin ymmärtää ja joka ei vastaa alkuperäistä tarkistussummaa.

Esimerkiksi kun salasana on syötetty ja tarkistussumma syntyy, se voidaan jakaa useisiin osioihin ja järjestellä uudelleen ennen kuin se tallennetaan salasanatietokantaan tai tiettyjä merkkejä voi vaihtaa muiden kanssa. Kun yrität todentaa seuraavan kerran, kun käyttäjä kirjautuu sisään, web-palvelin kääntää tämän lisätoiminnon ja alkuperäinen tarkistussumma luodaan uudelleen varmistaaksesi, että käyttäjän salasana on kelvollinen.

Näiden vaiheiden avulla rajoitetaan hakkeen hyödyllisyys, jossa kaikki tarkistussummat varastetaan. Ajatuksena on suorittaa funktio, joka on tuntematon, joten jos hakkeri tuntee kryptografisen hash-algoritmin, mutta ei räätälöityä, niin salasanan tarkistussumien tunteminen ei ole hyödyllistä.

Salasanat ja kryptografiset Hash-toiminnot

Tietokanta tallentaa käyttäjän salasanat samalla tavoin kuin sateenkaaripöytä. Kun salasanasi syötetään, tarkistussumma luodaan ja verrataan rekisteriin käyttäjänimelläsi. Sinulla on sitten oikeus käyttää, jos nämä kaksi ovat samat.

Koska kryptografinen hash-funktio tuottaa peruuttamattoman tarkistussumman, on turvallista antaa salasanasi niin yksinkertaiseksi kuin 12345, sen sijasta 12@34$5yksinkertaisesti, koska itse tarkistussummia ei voida ymmärtää? Ei, ja tästä syystä.

Nämä kaksi salasanaa ovat mahdottomia tulkita vain tarkastelemalla vain tarkistussummia:

MD5 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

Ensi silmäyksellä voit ajatella, että on hyvä käyttää jotain näistä salasanoista. Tämä pätee, jos hyökkääjä yrittää selvittää salasanasi arvaamalla MD5-tarkistussumman, jota kukaan ei tee, muttei totta, jos raakajoukot tai sanakirjahyökkäys suoritetaan, mikä on yhteinen taktiikka.

Brute force-hyökkäys ilmenee, kun useita satunnaisia ​​punkkeja otetaan salasanan arvaamiseksi. Tässä tapauksessa olisi helppo arvailla 12345, mutta melko vaikea satunnaisesti selvittää toinen. Sanakirjahyökkäys on samanlainen, koska hyökkääjä voi kokeilla kaikkia sanomia, numeroita tai lauseita tavallisten (ja ei-niin-yhteisten) salasanojen luettelosta ja12345 on yksi niistä tavallisista salasanoista.

Vaikka kryptografinen hash-funktiot tuottavat vaikeita ja mahdottomia keksiä tarkistussummia, sinun on silti käytettävä monimutkaista salasanaa kaikille verkko- ja paikallistileille.

Lisätietoja kryptografisista Hash-toiminnoista

Se saattaa tuntua, että kryptografiset hajautusfunktiot liittyvät salaukseen, mutta molemmat toimivat eri tavoin.

Salaus on kaksisuuntainen prosessi, jossa jotain salataan, jotta se tulee lukukelvottomaksi ja sen jälkeen puretaan myöhemmin käytettäväksi normaalisti uudelleen. Voit tallentaa tallennetut tiedostot niin, että ne, jotka käyttävät niitä, eivät voi käyttää niitä, tai voit käyttää tiedostojen siirron salausta salaamaan verkossa siirrettävät tiedostot, kuten lataamasi tai verkossa ladatut tiedostot.

Salauksen hajautusfunktiot toimivat eri tavoin, koska tarkistussummia ei ole tarkoitus kääntää erityisellä dehash-salasanalla. Ainoa tarkoitus salauksen hajautusfunktioilla on vertailla kahta dataa, kuten tiedostojen lataamisessa, salasanojen tallentamisessa ja tietojen vetämisessä tietokannasta.

Salauksen hajautusfunktiolla on mahdollista tuottaa samat tarkistussummat eri tietueille. Kun näin tapahtuu, sitä kutsutaan törmäykseksi, joka on valtava ongelma, kun otetaan huomioon kryptografisen hajautusfunktion koko kohta, on tehdä ainutlaatuiset tarkistussummat jokaiselle datan syötteelle.

Törmäyksiä voi esiintyä, koska jokainen kryptografinen hajautusfunktio tuottaa kiinteän pituisen arvon syöttötiedoista riippumatta. Esimerkiksi MD5-kryptografinen hajautusfunktio tuottaa 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 ja e10adc3949ba59abbe56e057f20f883e kolmelle täysin erilaiselle datablokille.

Ensimmäinen tarkistussumma on peräisin 12345. Toinen syntyi yli 700 kirjaimesta ja numerosta, ja kolmas on peräisin 123456.

Kaikki kolme syöttöä ovat eri pituisia, mutta tulokset ovat aina vain 32 merkkiä pitkä, koska MD5-tarkistussummaa käytettiin.

Rajoittamattomien tarkistussummien määrää ei voida rajoittaa, koska kunkin pienen muutoksen tulon oletetaan tuottavan täysin toisen tarkistussumman. Koska on olemassa raja niiden tarkistussummien määrälle, joita yksi kryptografinen hash-toiminto voi tuottaa, on aina mahdollista, että kohtaat törmäyksen.

Siksi on luotu myös muita kryptografisia hajautusfunktioita. Vaikka MD5 tuottaa 32 merkin arvon, SHA-1 generoi 40 merkkiä ja SHA-2 (512) tuottaa 128. Mitä suurempi on tarkistussumman merkkien määrä, sitä vähemmän on todennäköistä, että törmäys tapahtuu.