SHA-1 (forkortelse for Secure Hash Algorithm 1) er en af flere kryptografiske hash-funktioner.
Det bruges oftest til at bekræfte, at en fil er uændret. Dette gøres ved at producere en kontrolsum, før filen er blevet transmitteret, og derefter igen, når den når sin destination.
Den overførte fil kan kun betragtes som ægte, hvis begge kontrolsummer er identiske.
Historie og sårbarheder i SHA-hash-funktionen
SHA-1 er kun en af de fire algoritmer i familien Secure Hash Algorithm (SHA). De fleste er udviklet af US National Security Agency (NSA) og udgivet af National Institute of Standards and Technology (NIST).
SHA-0 har en 160-bit beskedsammenfatning (hash-værdi) størrelse og var den første version af denne algoritme. Dens hashværdier er 40 cifre lange. Den blev udgivet under navnet "SHA" i 1993, men blev ikke brugt i mange applikationer, fordi den hurtigt blev udskiftet med SHA-1 i 1995 på grund af en sikkerhedsfejl.
SHA-1 er den anden iteration af denne kryptografiske hashfunktion. Denne har også en beskedsammendrag på 160 bit og søgte at øge sikkerheden ved at rette en svaghed fundet i SHA-0. Men i 2005 blev SHA-1 også fundet at være usikker.
Når der blev fundet kryptografiske svagheder i SHA-1, afgav NIST en erklæring i 2006, hvori de opfordrede føderale agenturer til at vedtage brugen af SHA-2 inden år 2010. SHA-2 er stærkere end SHA-1, og angreb foretaget mod SHA-2 er usandsynligt, at der sker med den nuværende computerkraft.
Ikke kun føderale agenturer, men selv virksomheder som Google, Mozilla og Microsoft har alle enten påbegyndt planer om at stoppe med at acceptere SHA-1 SSL-certifikater eller har allerede blokeret den slags sider fra at blive indlæst.
Google har bevis for en SHA-1-kollision, der gør denne metode upålidelig til at generere unikke kontrolsummer, uanset om det drejer sig om en adgangskode, en fil eller ethvert andet stykke data. Du kan downloade to unikke PDF-filer fra SHAttered for at se, hvordan dette fungerer. Brug en SHA-1-beregner fra bunden af denne side til at generere kontrolsummen for begge, og du vil opdage, at værdien er nøjagtig den samme, selvom de indeholder forskellige data.
SHA-2 og SHA-3
SHA-2 blev udgivet i 2001, flere år efter SHA-1. Den indeholder seks hash-funktioner med forskellige sammenfatningsstørrelser: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 og SHA-512/256.
Udviklet af ikke-NSA-designere og udgivet af NIST i 2015, er et andet medlem af Secure Hash Algorithm-familien, kaldet SHA-3 (tidligere Keccak).
SHA-3 er ikke beregnet til at erstatte SHA-2, ligesom de tidligere versioner var beregnet til at erstatte tidligere. I stedet blev den udviklet som endnu et alternativ til SHA-0, SHA-1 og MD5.
Hvordan bruges SHA-1?
Et eksempel fra den virkelige verden, hvor SHA-1 kan bruges, er, når du indtaster din adgangskode på et websteds login-side. Selvom det sker i baggrunden uden din viden, kan det være den metode, et websted bruger til sikkert at bekræfte, at din adgangskode er autentisk.
I dette eksempel kan du forestille dig, at du forsøger at logge ind på et websted, du ofte besøger. Hver gang du anmoder om at logge på, skal du indtaste dit brugernavn og din adgangskode.
Hvis webstedet bruger den kryptografiske hash-funktion SHA-1, betyder det, at din adgangskode bliver omdannet til en kontrolsum, efter du har indtastet den. Denne kontrolsum sammenlignes derefter med den kontrolsum, der er gemt på webstedet, der relaterer til din nuværende adgangskode, uanset om du ikke har ændret din adgangskode, siden du tilmeldte dig, eller om du lige har ændret den for et øjeblik siden. Hvis de to matcher, får du adgang; hvis de ikke gør det, får du at vide, at adgangskoden er forkert.
Et andet eksempel, hvor denne hash-funktion kan bruges, er til filbekræftelse. Nogle websteder vil levere SHA-1-kontrolsummen for filen på downloadsiden, så når du downloader filen, kan du selv kontrollere kontrolsummen for at sikre, at den downloadede fil er den samme som den, du havde til hensigt at downloade.
Du spekulerer måske på, hvor en reel brug er i denne type verifikation. Overvej et scenarie, hvor du kender SHA-1-kontrolsummen for en fil fra udviklerens websted, men du vil downloade den samme version fra et andet websted. Du kan derefter generere SHA-1 kontrolsummen for din download og sammenligne den med den ægte kontrolsum fra udviklerens downloadside.
Hvis de to er forskellige, betyder det ikke kun, at filens indhold ikke er identisk, men der kan være skjult malware i filen, dataene kan blive beskadiget og forårsage skade på dine computerfiler, filen er ikke alt relateret til den rigtige fil osv.
Det kan dog også bare betyde, at den ene fil repræsenterer en ældre version af programmet end den anden, da selv den lille ændring vil generere en unik kontrolsumværdi.
Du vil måske også kontrollere, at de to filer er identiske, hvis du installerer en service pack eller et andet program eller opdatering, fordi der opstår problemer, hvis nogle af filerne mangler under installationen.
SHA-1 Checksum Calculators
En speciel form for lommeregner kan bruges til at bestemme kontrolsummen af en fil eller gruppe af tegn.
SHA1 Online og SHA1 Hash Generator er f.eks. gratis onlineværktøjer, der kan generere SHA-1-kontrolsummen for enhver gruppe af tekst, symboler og/eller tal.
Disse websteder vil f.eks. generere dette par:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba