SHA-1 (forkortelse for Secure Hash Algorithm 1) er en av flere kryptografiske hash-funksjoner.
Den brukes oftest for å bekrefte at en fil er uendret. Dette gjøres ved å produsere en kontrollsum før filen er overført, og deretter igjen når den når destinasjonen.
Den overførte filen kan bare anses som ekte hvis begge kontrollsummene er identiske.
Historie og sårbarheter til SHA-hash-funksjonen
SHA-1 er bare én av de fire algoritmene i Secure Hash Algorithm (SHA)-familien. De fleste ble utviklet av US National Security Agency (NSA) og utgitt av National Institute of Standards and Technology (NIST).
SHA-0 har en 160-biters meldingssammendrag (hash-verdi) størrelse og var den første versjonen av denne algoritmen. Hash-verdiene er 40 sifre lange. Den ble utgitt under navnet "SHA" i 1993, men ble ikke brukt i mange applikasjoner fordi den raskt ble erstattet med SHA-1 i 1995 på grunn av en sikkerhetsfeil.
SHA-1 er den andre iterasjonen av denne kryptografiske hash-funksjonen. Denne har også en meldingssammendrag på 160 biter og forsøkte å øke sikkerheten ved å fikse en svakhet funnet i SHA-0. Men i 2005 ble SHA-1 også funnet å være usikker.
Når kryptografiske svakheter ble funnet i SHA-1, ga NIST en uttalelse i 2006 der de oppfordret føderale byråer til å ta i bruk bruken av SHA-2 innen år 2010. SHA-2 er sterkere enn SHA-1, og angrep ble gjort mot SHA-2 vil neppe skje med gjeldende datakraft.
Ikke bare føderale byråer, men til og med selskaper som Google, Mozilla og Microsoft har alle enten startet planer om å slutte å akseptere SHA-1 SSL-sertifikater eller har allerede blokkert slike sider fra å lastes inn.
Google har bevis på en SHA-1-kollisjon som gjør denne metoden upålitelig for å generere unike kontrollsummer, enten det gjelder et passord, en fil eller andre data. Du kan laste ned to unike PDF-filer fra SHAttered for å se hvordan dette fungerer. Bruk en SHA-1-kalkulator fra bunnen av denne siden for å generere sjekksummen for begge, og du vil finne at verdien er nøyaktig den samme selv om de inneholder forskjellige data.
SHA-2 og SHA-3
SHA-2 ble utgitt i 2001, flere år etter SHA-1. Den inkluderer seks hash-funksjoner med varierende sammendragsstørrelser: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 og SHA-512/256.
Utviklet av ikke-NSA-designere og utgitt av NIST i 2015, er et annet medlem av Secure Hash Algorithm-familien, k alt SHA-3 (tidligere Keccak).
SHA-3 er ikke ment å erstatte SHA-2 slik de tidligere versjonene var ment å erstatte tidligere. I stedet ble den utviklet bare som et annet alternativ til SHA-0, SHA-1 og MD5.
Hvordan brukes SHA-1?
Et virkelige eksempel der SHA-1 kan brukes, er når du skriver inn passordet ditt på en nettsides påloggingsside. Selv om det skjer i bakgrunnen uten at du vet det, kan det være metoden et nettsted bruker for å bekrefte at passordet ditt er autentisk.
I dette eksemplet, se for deg at du prøver å logge på et nettsted du ofte besøker. Hver gang du ber om å logge på, må du skrive inn brukernavn og passord.
Hvis nettstedet bruker den kryptografiske hash-funksjonen SHA-1, betyr det at passordet ditt blir omgjort til en sjekksum etter at du har skrevet det inn. Denne sjekksummen sammenlignes deretter med sjekksummen som er lagret på nettstedet som er relatert til din nåværende. passord, enten du ikke har endret passordet ditt siden du registrerte deg eller om du nettopp endret det for øyeblikk siden. Hvis de to stemmer overens, får du tilgang; hvis de ikke gjør det, får du beskjed om at passordet er feil.
Et annet eksempel hvor denne hash-funksjonen kan brukes er for filverifisering. Noen nettsteder vil gi SHA-1-sjekksummen for filen på nedlastingssiden, slik at når du laster ned filen, kan du sjekke kontrollsummen selv for å sikre at den nedlastede filen er den samme som den du hadde tenkt å laste ned.
Du lurer kanskje på hvor en reell bruk er i denne typen verifisering. Tenk på et scenario der du kjenner SHA-1-sjekksummen til en fil fra utviklerens nettsted, men du vil laste ned samme versjon fra et annet nettsted. Du kan deretter generere SHA-1-sjekksummen for nedlastingen din og sammenligne den med den ekte kontrollsummen fra utviklerens nedlastingsside.
Hvis de to er forskjellige, betyr det ikke bare at filens innhold ikke er identisk, men det kan være skjult skadelig programvare i filen, dataene kan bli ødelagt og forårsake skade på datafilene dine, filen er ikke alt relatert til den virkelige filen osv.
Det kan imidlertid også bare bety at den ene filen representerer en eldre versjon av programmet enn den andre, siden selv den lille endringen vil generere en unik kontrollsumverdi.
Du vil kanskje også sjekke at de to filene er identiske hvis du installerer en oppdateringspakke eller et annet program eller oppdatering fordi det oppstår problemer hvis noen av filene mangler under installasjonen.
SHA-1 kontrollsumkalkulatorer
En spesiell type kalkulator kan brukes til å bestemme kontrollsummen for en fil eller gruppe med tegn.
SHA1 Online og SHA1 Hash Generator er for eksempel gratis nettverktøy som kan generere SHA-1-sjekksummen for en hvilken som helst gruppe med tekst, symboler og/eller tall.
Disse nettstedene vil for eksempel generere dette paret:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba