Hoppa till innehåll

47-dagarscertifikaten är på väg. Är du redo?

Agera nu →

Vad är SHA? Vad används SHA till?

Vad är SHA? Vad används SHA till?

SHA (Secure Hash Algorithm) är en familj av kryptografiska hashfunktioner som konverterar data av valfri storlek till ett unikt värde med fast längd som kallas en hashdigest. Den är enkelriktad och använder ingen nyckel, så den kan inte reverseras. SHA används för att verifiera dataintegritet, skydda lösenord och säkra digitala signaturer och certifikat.

SHA (Secure Hash Algorithm) är en familj av kryptografiska hashfunktioner som omvandlar indata till en teckensträng med fast längd som kallas en hash-digest. Hashning är enkelriktad och nyckelfri: samma indata producerar alltid samma digest, men digesten kan inte återföras till indata. SHA används för att kontrollera dataintegritet, lagra lösenord säkert och underbygga digitala signaturer och certifikat.

Key Takeaways

  • SHA (Secure Hash Algorithm) är en familj av enkelriktade kryptografiska hashfunktioner som producerar en unik hash-sammanfattning med fast längd från vilken indata som helst.
  • Hashing är inte kryptering: det är enkelriktat och använder ingen nyckel, så en hash kan inte dekrypteras tillbaka till originaldata.
  • En liten förändring i ingången förändrar utgången fullständigt (lavineffekten), vilket gör SHA idealisk för att upptäcka manipulering.
  • SHA-1 är trasig (SHAttered-kollisionsattacken 2017) och föråldrad. SHA-2 (inklusive SHA-256) är den nuvarande standarden, och SHA-3 är ett alternativ byggt på en annan design.
  • SHA används för dataintegritet, lösenordslagring, digitala signaturer och certifikat samt blockkedja. Alla offentligt betrodda TLS-certifikat är signerade med SHA-2.

Vad är SHA?

SHA står för Secure Hash Algorithm. Det är en familj av hashfunktioner som används för att hasha data och digitala certifikat . En hashfunktion tar indata av valfri storlek och reducerar den, med hjälp av bitvisa operationer, modulära tillägg och komprimeringsfunktioner, till en utdata med fast längd som inte kan läsas eller reverseras. SHA-familjen härstammar från den tidigare MD-designlinjen (Message Digest) men är en distinkt, starkare uppsättning algoritmer designade av NSA och standardiserade av NIST.

SHA-algoritm

Hashing är inte kryptering
En vanlig missuppfattning är att hashing är en form av kryptering. Det är det inte. Kryptering är tvåvägs och använder en nyckel: du krypterar med en nyckel och dekrypterar med en nyckel för att återställa originaldata. Hashing är enkelriktad och nyckellös: när data har haschats kan digesten inte alls återföras till indata. Det finns ingen "dekryptering" av en hash. Det enda sättet att hitta indata bakom en hash är att gissa indata och hasha dem tills en matchar (en brute-force-attack). Denna envägsegenskap är just därför hashing används för att verifiera integritet och lagra lösenord, där du aldrig behöver återställa originalet, bara för att kontrollera om ett värde matchar.

Lavineffekten

SHA är utformad så att även en ändring av ett enda tecken i indata fullständigt förändrar utdata. Att hasha ordet "Heaven" och ordet "heaven", som bara skiljer sig åt med en stor bokstav, producerar två helt olika, orelaterade hash-digester. Denna egenskap kallas lavineffekten, och den är viktig av två skäl: den förhindrar en angripare från att dra slutsatser om indata från digesten, och den låter en mottagare upptäcka att ett meddelande ändrades under överföring, eftersom varje ändring överhuvudtaget producerar en annan digest.

SHA-funktioner är också deterministiska: samma indata producerar alltid samma sammanfattning, så alla som använder samma SHA-funktion kan beräkna om och verifiera en hash. Denna determinism är en anledning till att alla offentligt betrodda TLS-certifikat på internet måste hashas med en SHA-2-funktion.

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

SHA-familjen: SHA-1, SHA-2 och SHA-3

Flera namn används (SHA-1, SHA-256, SHA-512, och så vidare), men de tillhör ett par distinkta generationer. SHA-256 och SHA-512 är till exempel helt enkelt varianter av SHA-2 med olika digeststorlekar.

AlgoritmDigeststorlekStatus
SHA-1160-bitarsTrasig och uttjänt (Skyddad kollision, 2017). Använd inte.
SHA-2 (SHA-224/256/384/512)224 till 512-bitarsNuvarande standard; SHA-256 vanligast. Säker.
SHA-3 (SHA3-256/384/512)224 till 512-bitarsAlternativ till SHA-2, annan intern design (Keccak). Säker.

SHA-1 (föråldrad)

SHA-1 introducerades 1993 och var den ursprungliga säkra hashalgoritmen, som producerade en 160-bitars digest. Dess digest är för kort enligt moderna standarder, vilket gjorde kollisionsattacker (att hitta två olika indata som producerar samma hash) alltmer genomförbara. År 2017 demonstrerade forskare från Google och CWI en praktisk SHA-1-kollision i den banbrytande SHAttered-attacken, vilket bekräftade att SHA-1 var trasig. Den är nu föråldrad och får inte användas för säkerhetsändamål.

SHA-2 (den nuvarande standarden)

SHA-2 är den nuvarande branschstandarden och erbjuder en familj av digeststorlekar från 224 till 512 bitar, där SHA-256 är den mest använda. Dess större digests gör kollisioner och brute-force-attacker beräkningsmässigt omöjliga med nuvarande teknik. Sedan 2016 har SHA-2 krävts för alla offentligt betrodda digitala certifikat och digitala signaturer. Branschmigreringen från SHA-1 till SHA-2 tog år, eftersom det krävde uppgradering av äldre system, utbyte av certifikat och omkonfigurering av protokoll, men SHA-256 är nu standard för SSL/TLS-certifikat och digitala signaturer.

SHA-3 (det moderna alternativet)

SHA-3, standardiserat av NIST 2015, är inte en ersättning för SHA-2 utan ett alternativ byggt på en helt annan intern design (Keccak-svampkonstruktionen). Eftersom det fungerar annorlunda utgör det en säkring: om en strukturell svaghet någonsin skulle hittas i SHA-2, skulle SHA-3 förbli opåverkad. Det antogs inte i stor utsträckning vid lanseringen eftersom de flesta organisationer fortfarande gick från SHA-1 till SHA-2, och SHA-2 förblev säkert. SHA-3 kan vara långsammare i programvara men är effektivt i hårdvara. Både SHA-2 och SHA-3 anses vara säkra idag.

Vad används SHA till?

SHA förekommer i hela modern säkerhet, vanligtvis bakom kulisserna. Dess huvudsakliga användningsområden:

  • Digitala signaturer och certifikat: SHA-2 krävs för alla TLS/SSL-certifikat och digitala signaturer. Informationen hashas, ​​och det är hashen som signeras, vilket är snabbare och säkrare än att signera hela meddelandet.
  • Dataintegritet: En fils hash fungerar som ett fingeravtryck. Om filen ändras under överföring eller lagring matchar hashen inte längre originalet, vilket avslöjar manipulation eller korruption.
  • Lösenordslagring: System lagrar hashkoden för ett lösenord, inte själva lösenordet. Vid inloggning hashas och jämförs det angivna lösenordet. Om databasen blir stulen får angriparna hashkoder, inte användbara lösenord (särskilt när de är saltade).
  • Säkra protokoll: SSH, S/MIME och IPsec använder alla SHA-funktioner som en del av sin säkerhet.
  • Blockchain: SHA-256 är centralt för Bitcoin, där det säkrar miningprocessen och länkar block i kedjan.

Varför använda SHA?

  • Motståndskraft mot attack: Ett lösenord som hashats med SHA-2 kan ta år eller årtionden att bruteforcera, vilket avskräcker angripare och skyddar lagrade inloggningsuppgifter.
  • Unikhet (kollisionstålighet): Med SHA-2 producerar distinkta indata i praktiken distinkta sammanfattningar, så det finns inget mönster som en angripare kan utnyttja.
  • Integritetsverifiering: Varje förändring av informationen, hur liten den än är, producerar en helt annan hash, vilket gör manipulering lätt att upptäcka.
  • Determinism och hastighet: Samma indata hashas alltid till samma värde, snabbt, så verifieringen är effektiv och tillförlitlig.

SHA och postkvantövergången

Till skillnad från de offentliga nyckelalgoritmerna RSA och ECC är hashfunktioner relativt motståndskraftiga mot kvantdatorer. Den relevanta kvantattacken (Grovers algoritm) ger endast en kvadratisk hastighetsökning, vilket effektivt halverar en hashs säkerhetsnivå snarare än att bryta den helt. I praktiken innebär detta att SHA-256 och högre förblir säkra, med SHA-384 och högre rekommenderade för högsta säkerhet och långsiktig användning. Hashfunktioner spelar också en direkt roll i postkvantkryptografi : NIST-standarden SLH-DSA (FIPS 205) och de tillståndsfulla schemana LMS och XMSS bygger digitala signaturer helt av hashfunktioner, just för att hashing är så väl förstådd och kvantresistent.

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

Hur krypteringskonsulting hjälper

Att använda rätt hashfunktioner, och att pensionera svaga funktioner som SHA-1 och MD5, är en del av en sund kryptografisk hållning. Encryption Consultings krypteringsrådgivningstjänster hjälper organisationer att bedöma var hashing används, identifiera föråldrade algoritmer och anpassa hashing-, signerings- och certifikatrutiner till NIST- och FIPS- riktlinjer, inklusive förberedelser för övergången efter kvantum. Stöds av ISO/IEC 27001:2022- och SOC 2-certifierade metoder.

Vanliga frågor om partihandel med mat och dryck

Vad är SHA?

SHA (Secure Hash Algorithm) är en familj av kryptografiska hashfunktioner som konverterar data av valfri storlek till ett värde med fast längd som kallas en hash-digest. Den är enkelriktad, vilket innebär att digesten inte kan återställas till originaldata, och den använder ingen nyckel. SHA används för att verifiera att data inte har ändrats, för att lagra lösenord säkert och för att stödja digitala signaturer och certifikat. SHA-256 är den mest använda versionen.

Vad används SHA till?

SHA används för flera säkerhetsändamål: verifiera dataintegritet (en fils hash avslöjar om den har ändrats), lagra lösenord säkert (system lagrar hashen, inte lösenordet) och säkra digitala signaturer och certifikat (datan hashas och hashen signeras). Det krävs för alla offentligt betrodda TLS/SSL-certifikat, används i säkra protokoll som SSH och IPsec, och är centralt för blockkedjesystem som Bitcoin.

Är SHA-kryptering?

Nej. SHA är en hashfunktion, inte kryptering. Kryptering är tvåvägs och använder en nyckel, så krypterad data kan dekrypteras tillbaka till originalet med rätt nyckel. Hashning är enkelriktad och nyckellös: när data har haschats kan inte digesten återföras till indata. Det enda sättet att hitta indata bakom en hash är att gissa och testa indata. Det är därför hashning används för integritetskontroller och lösenordslagring, där det inte är nödvändigt att återställa originalet.

Är SHA-1 fortfarande säkert?

Nej. SHA-1 är trasig och föråldrad. Dess 160-bitars digest är för kort, vilket gjorde kollisionsattacker (två olika indata som producerar samma hash) möjliga. År 2017 demonstrerade forskare från Google och CWI en praktisk kollision i SHAttered-attacken, vilket bekräftade att SHA-1 var osäker. Den får inte användas för säkerhetsändamål. SHA-2 (som SHA-256) är den nuvarande standarden, och SHA-3 är ett säkert alternativ.

Vad är skillnaden mellan SHA-1, SHA-2 och SHA-3?

SHA-1 är den ursprungliga 160-bitarsalgoritmen, numera trasig och föråldrad. SHA-2 är den nuvarande standarden, en familj som erbjuder digeststorlekar från 224 till 512 bitar (SHA-256 är vanligast), och är säker. SHA-3, standardiserad 2015, är ett säkert alternativ byggt på en helt annan intern design (Keccak), vilket ger en säkring ifall en svaghet någonsin upptäcks i SHA-2. Både SHA-2 och SHA-3 anses vara säkra idag; SHA-1 är inte det.

Är SHA säker mot kvantdatorer?

I stort sett, ja. Hashfunktioner är mycket mer motståndskraftiga mot kvantattacker än publiknyckelalgoritmer som RSA. Den relevanta kvantattacken, Grovers algoritm, halverar bara en hashs effektiva säkerhet snarare än att bryta den, så SHA-256 och högre förblir säkra, med SHA-384 och högre rekommenderade för långsiktig säkerhet. Hashning är så betrodd att postkvantumsignaturstandarder som SLH-DSA (FIPS 205) och LMS- och XMSS-scheman är helt byggda från hashfunktioner.

Stärk dina hash- och certifikatmetoder

Att använda nuvarande hashfunktioner och pensionera svaga sådana är en liten förändring med en stor säkerhetsvinst. Utforska Encryption Consultings krypteringsrådgivningstjänster för att bedöma dina hash-, signerings- och certifikatrutiner mot nuvarande standarder.