Meteen naar de inhoud

webinar: Meld je aan voor ons aankomende webinar.

Aanmelden

Wat is SHA? Waarvoor wordt SHA gebruikt?

Wat is SHA? Waarvoor wordt SHA gebruikt?

Inleiding tot SHA

SHA staat voor Secure Hashing Algorithm. SHA is een aangepaste versie van MD5 en wordt gebruikt voor het hashen van gegevens en certificatenEen hashing-algoritme verkort de invoergegevens tot een kleinere vorm die niet kan worden begrepen met behulp van bitgewijze bewerkingen, modulaire toevoegingen en compressiefuncties. U vraagt ​​zich misschien af: kan hashing worden gekraakt of gedecodeerd?

Hashing is vergelijkbaar met encryptie, de enige verschil tussen hashing en encryptie Hashing is eenrichtingsverkeer, wat betekent dat zodra de gegevens gehasht zijn, de resulterende hash digest niet meer gekraakt kan worden, tenzij er een brute force-aanval wordt uitgevoerd. Zie de onderstaande afbeelding voor de werking van het SHA-algoritme. SHA werkt op zo'n manier dat zelfs als er maar één teken in het bericht verandert, het een andere hash genereert. Bijvoorbeeld, hashing van twee vergelijkbare, maar verschillende berichten zoals Heaven en heaven zijn verschillend, maar er is alleen een verschil in hoofdletters en kleine letters.

SHA-algoritme

 Het eerste bericht wordt gehasht met SHA-2, wat resulteert in de hash-digest "06b73bd57b3b938786daed820cb9fa4561bf0e8e". Als het tweede, vergelijkbare bericht wordt gehasht met SHA-2, ziet de hash-digest eruit als "66da9f3b8d9d83f34770a14c38276a69433a535b". Dit staat bekend als het lawine-effect. Dit effect is belangrijk in cryptografie, omdat het betekent dat zelfs de kleinste verandering in het invoerbericht de uitvoer volledig verandert. Dit voorkomt dat aanvallers kunnen begrijpen wat de hash-digest oorspronkelijk zei en de ontvanger van het bericht kunnen vertellen of het bericht tijdens de overdracht is gewijzigd.

SHA's helpen ook om te onthullen of een oorspronkelijk bericht op enigerlei wijze is gewijzigd. Door te verwijzen naar de originele hash-digest, kan een gebruiker zien of er ook maar één letter is gewijzigd, aangezien de hash-digests volledig anders zullen zijn. Een van de belangrijkste kenmerken van SHA's is dat ze deterministisch zijn. Dit betekent dat, zolang de gebruikte hashfunctie bekend is, elke computer of gebruiker de hash-digest opnieuw kan maken. Het determinisme van SHA's is een van de redenen waarom elke SSL-certificaat op internet moet gehasht zijn met een SHA-2-functie.

Verschillende SHA-formulieren

Bij het leren over SHA-formulieren worden verschillende typen SHA genoemd. Voorbeelden van gebruikte SHA-namen zijn SHA-1, SHA-2, SHA-256, SHA-512, SHA-224 en SHA-384, maar in werkelijkheid zijn er slechts twee typen: SHA-1 en SHA-2. De andere grotere nummers, zoals SHA-256, zijn slechts versies van SHA-2 die de bitlengtes van SHA-2 aangeven. SHA-1, geïntroduceerd in 1993, was het oorspronkelijke veilige hashing-algoritme en retourneerde na het hashen een 160-bits hash-digest.

Door de korte bitlengte kwamen echter kwetsbaarheden zoals collision-aanvallen aan het licht. In cryptografie vindt een collision plaats wanneer twee verschillende inputs dezelfde hash opleveren. Na verloop van tijd werd het gemakkelijker om deze collisions te vinden, wat de beveiliging van SHA-1 aanzienlijk ondermijnde. Een mijlpaal was de "SHAttered"-aanval in 2017, uitgevoerd door Google en CWI-onderzoekers, die met succes een collision in SHA-1 aantoonde, wat de veroudering ervan in beveiligde applicaties markeerde. SHA-1 is nu een verouderd algoritme en wordt niet langer gebruikt voor online hashing.

Je vraagt ​​je misschien af ​​of SHA-2 net zo gekraakt kan worden als SHA-1? Het antwoord is ja. Door de korte lengte van de hash-digest is SHA-1 gemakkelijker te kraken met brute force dan SHA-2, maar SHA-2 kan nog steeds met brute force gekraakt worden. SHA-1 kan dezelfde hash-digest aan twee verschillende waarden geven, omdat het aantal combinaties dat met 160 bits kan worden gemaakt zo klein is. SHA-2 daarentegen geeft elke digest een unieke waarde, daarom moeten alle certificaten SHA-2 gebruiken. SHA-2 kan verschillende bitlengtes produceren, van 256 tot 512 bits, waardoor het volledig unieke waarden kan toewijzen aan elke hash-digest die wordt gemaakt.  

De industrie begon begin jaren 2000 met de overstap naar SHA-2, hoewel de volledige migratie tijd kostte. SHA-2, met zijn grotere bitlengtes (bijvoorbeeld 256-bits en 512-bits), bood betere beveiliging tegen botsingen en brute-force-aanvallen. Tegen 2016 hadden de meeste grote systemen SHA-1 uitgefaseerd ten gunste van SHA-2, maar de weerstand en uitdagingen bleven tijdens de overgang bestaan.

Veel organisaties waren traag met de implementatie van SHA-2 vanwege de noodzaak van aanzienlijke infrastructuurupdates, waaronder het upgraden van verouderde systemen, het waarborgen van compatibiliteit met oudere hardware en software, het vervangen van verouderde certificaten en het herconfigureren van beveiligingsprotocollen ter ondersteuning van de sterkere encryptiestandaard. Ondanks de vertraging werd SHA-256 de nieuwe standaard, met name voor SSL/TLS-certificaten en digitale handtekeningen, en biedt het betere weerstand tegen cryptografische aanvallen. 

Vergeleken met SHA-1 is SHA-2 veel veiliger en is het sinds 2016 vereist in alle digitale handtekeningen en certificaten. Bij veelvoorkomende aanvallen, zoals brute force-aanvallen, kan het jaren of zelfs decennia duren om de hash digest te kraken. Daarom wordt SHA-2 beschouwd als het veiligste hash-algoritme. 

Waarvoor wordt SHA gebruikt?

Zoals eerder vermeld, zijn veilige hashing-algoritmen vereist in alle digitale handtekeningen en certificaten met betrekking tot SSL/TLS-verbindingen, maar SHA's hebben ook meer toepassingen. Toepassingen zoals SSH, S-MIME (Secure / Multipurpose Internet Mail Extensions) en IPSec maken ook gebruik van SHA's.  SHA's worden ook gebruikt om wachtwoorden te hashen, zodat de server alleen de hashes hoeft te onthouden in plaats van de wachtwoorden.

Als een aanvaller de database met alle hashes steelt, heeft hij geen directe toegang tot alle wachtwoorden in platte tekst. Hij moet ook een manier vinden om de hashes te kraken om de wachtwoorden te kunnen gebruiken. SHA's kunnen ook dienen als indicatoren voor de integriteit van een bestand. Als een bestand tijdens de overdracht is gewijzigd, komt de resulterende hash-digest die met de hashfunctie is gemaakt, niet overeen met de hash-digest die oorspronkelijk door de eigenaar van het bestand is gemaakt en verzonden.

In blockchaintechnologie, met name in cryptovaluta zoals Bitcoin, speelt SHA-256 een cruciale rol. Het is een integraal onderdeel van het miningproces, waar het helpt bij het oplossen van complexe wiskundige puzzels om transacties te valideren en toe te voegen aan de blockchain. 

Belangrijkste redenen om SHA te gebruiken

We hebben nu geleerd waar SHA's voor worden gebruikt, maar waarom zouden we überhaupt een veilig hashalgoritme gebruiken? Een veelvoorkomende reden is hun vermogen om aanvallers tegen te houden. Hoewel sommige methoden, zoals brute force-aanvallen, de platte tekst van de hash-digests kunnen onthullen, worden deze tactieken extreem moeilijk gemaakt door SHA's. Het kraken van een wachtwoord dat door een SHA-2 is gehasht, kan jaren, zelfs decennia duren. Dit verspilt resources en tijd aan een eenvoudig wachtwoord, wat veel aanvallers kan afschrikken.

Een andere reden om SHA's te gebruiken is de uniciteit van alle hash-digests. Als SHA-2 wordt gebruikt, zullen er waarschijnlijk weinig tot geen botsingen zijn, wat betekent dat een simpele wijziging van één woord in een bericht de hash-digest volledig zou veranderen. Omdat er weinig tot geen botsingen zijn, is er geen patroon te vinden dat het kraken van het beveiligde hash-algoritme voor de aanvaller gemakkelijker maakt. Dit zijn slechts enkele redenen waarom SHA zo vaak wordt gebruikt.

Op maat gemaakte encryptiediensten

Wij beoordelen, ontwikkelen strategieën en implementeren encryptiestrategieën en -oplossingen.

SHA 2-beperkingen

  • Browserondersteuning
browserMinimale browserversie
Chroom26+
Firefox1.5+
internet Explorer6+ (met XP SP3+)
Netscape7.1+
Safari3+ (Wordt geleverd met OS X 10.5)
mozilla1.4+
Opera9.0+
  • Serverondersteuning
ServerMinimale serverversie
AWS (Amazon Web Services)JA
apache2.0.63+ met OpenSSL 0.9.8o+
CiscoASA55008.2.3.9+ voor AnyConnect VPN-sessies; 8.4(2)+ voor andere functionaliteiten
Java-gebaseerde productenJava 1.4.2 +
IBM Domino-server9.0+ (gebundeld met HTTP 8.5+)
IBM HTTP-server8.5+ (Gebundeld met Domino 9+)
IBM z/OSv1r10+
Op OpenSSL gebaseerde productenOpenSSL 0.9.8o+
Oracle Wallet Manager11.2.0.1+
Oracle Weblogic10.3.1+
Web Sphere MQ7.0.1.4+
  • OS ondersteuning
BesturingssysteemMinimale besturingssysteemversie voor SSL-certificaatMinimale OS-versie van clientcertificaat
Android2.3+2.3+
iOS3.0+3.0+
ChromeOSJAJA
Mac OS X10.5+10.5+
Windows XPSP3+ XPSP3+ (gedeeltelijk)
Windows Server2003 SP2 + Hotfixes (gedeeltelijk)2003 SP2 + Hotfixes (gedeeltelijk)
Windows Phone7+7+
Bramen5.0+5.0+

De toekomst van hashing

Op dit moment is SHA-2 de industriestandaard voor hashing-algoritmen, hoewel SHA-3 dit in de toekomst mogelijk zal overtreffen. SHA-3 werd uitgebracht door de NIST, die in 2015 ook SHA-1 en SHA-2 creëerde, maar om vele redenen niet de industriestandaard werd. Tijdens de release van SHA-3 waren de meeste bedrijven bezig met de migratie van SHA-1 naar SHA-2, dus direct overstappen op SHA-3 terwijl SHA-2 nog steeds zeer veilig was, was niet zinvol.

Daarnaast werd SHA-3 gezien als trager dan SHA-2, hoewel dit niet helemaal het geval is. SHA-3 is trager op softwaregebied, maar is veel sneller dan SHA-1 en SHA-2 op hardwaregebied, en wordt elk jaar sneller. Om deze redenen zullen we waarschijnlijk later de overstap naar SHA-3 zien, zodra SHA-2 onveilig of verouderd wordt.

Conclusie

Het Secure Hashing Algorithm is een cruciaal hulpmiddel in de moderne cryptografie en transformeert invoergegevens in unieke en onomkeerbare hash-digests. In tegenstelling tot encryptie is hashing eenrichtingsverkeer, waardoor het bestand is tegen decryptie, behalve met brute force-methoden. SHA-varianten, met name SHA-1 en SHA-2, spelen een cruciale rol in digitale beveiliging, waarbij SHA-2 de voorkeur geniet vanwege de verbeterde weerstand tegen brute force-aanvallen en botsingskwetsbaarheden.

Hoe kan Encryption Consulting helpen? 

Met een sterke focus op Encryptie Adviesdiensten Encryption Consulting biedt, met tientallen jaren aan consultancy-expertise, een scala aan cryptografische oplossingen. Hieronder vallen: PKI als een service (PKIaaS) onderscheidt zich door klanten 24/7 ondersteuning te bieden voor alle problemen met hun PKI-omgeving. Deze allesomvattende aanpak verbetert de beveiliging en zorgt ervoor dat organisaties bestand blijven tegen mogelijke misconfiguraties in hun encryptie-instellingen.