Een cryptografische hashfunctie is een algoritme dat kan worden uitgevoerd op gegevens zoals een individueel bestand of een wachtwoord om een waarde te produceren die een controlesom wordt genoemd. Het belangrijkste gebruik van een cryptografische hashfunctie is om de authenticiteit van een stuk gegevens te verifiëren. Van twee bestanden kan alleen worden aangenomen dat ze identiek zijn als de controlesommen die uit elk bestand worden gegenereerd, met dezelfde cryptografische hashfunctie, identiek zijn. Enkele veelgebruikte cryptografische hashfuncties zijn MD5 en SHA-1, hoewel er ook vele andere bestaan. Cryptografische hashfuncties worden vaak “hashfuncties” genoemd, maar dat is technisch niet correct. Een hashfunctie is een algemene term die cryptografische hashfuncties omvat, samen met andere soorten algoritmen zoals cyclische redundantiecontroles.
Cryptografische hashfuncties: een gebruiksvoorbeeld
Stel dat u de nieuwste versie van de Firefox-browser downloadt. Om de een of andere reden moest je het downloaden van een andere site dan die van Mozilla. Omdat het niet wordt gehost op een site die u hebt leren vertrouwen, wilt u er zeker van zijn dat het installatiebestand dat u zojuist hebt gedownload precies hetzelfde is als het bestand dat Mozilla aanbiedt. Met behulp van een checksum-calculator bereken je een checksum met behulp van een bepaalde cryptografische hashfunctie, zoals SHA-2, en vergelijk je die met degene die op de site van Mozilla is gepubliceerd. Als ze gelijk zijn, kun je er redelijk zeker van zijn dat de download die je hebt de download is die Mozilla je had bedoeld.
Kunnen cryptografische hashfuncties worden teruggedraaid?
Cryptografische hashfuncties zijn ontworpen om te voorkomen dat de controlesommen die ze maken, kunnen worden teruggedraaid naar de oorspronkelijke teksten. Hoewel ze vrijwel onmogelijk ongedaan kunnen worden gemaakt, zijn ze niet 100 procent gegarandeerd om gegevens te beschermen. Hackers kunnen een regenboogtabel gebruiken om de platte tekst van een controlesom te achterhalen. Rainbow-tabellen zijn woordenboeken die duizenden, miljoenen of zelfs miljarden controlesommen naast hun overeenkomstige waarde in platte tekst bevatten. Hoewel dit technisch gezien niet het cryptografische hash-algoritme omkeert, zou het dat net zo goed kunnen zijn, aangezien het zo eenvoudig is om te doen. In werkelijkheid, aangezien geen enkele regenboogtabel elke mogelijke controlesom kan vermelden, zijn ze meestal alleen nuttig voor eenvoudige zinnen zoals zwakke wachtwoorden. Hier is een vereenvoudigde versie van een regenboogtabel om te laten zien hoe men zou werken bij gebruik van de SHA-1 cryptografische hashfunctie:
Voorbeeld regenboogtafel | |
---|---|
Platte tekst | SHA-1 controlesom |
12345 | 8cb2237d0679ca88db6464eac60da96345513964 |
wachtwoord1 | e38ad214943daad1d64c102faec29de4afe9da3d |
ik hou van mijn hond | a25fb3505406c9ac761c8428692fbf5d5ddf1316 |
Jenny400 | 7d5eb0173008fe55275d12e9629eef8bdb408c1f |
dallas1984 | c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2 |
Een hacker moet weten welk cryptografisch hash-algoritme is gebruikt om de checksums te genereren om de waarden te achterhalen. Voor extra bescherming voeren sommige websites die gebruikerswachtwoorden opslaan extra functies uit op het cryptografische hash-algoritme nadat de waarde is gegenereerd, maar voordat deze wordt opgeslagen. Dit proces produceert een nieuwe waarde die alleen de webserver begrijpt en die niet overeenkomt met de oorspronkelijke controlesom. Nadat een wachtwoord is ingevoerd en de controlesom is gegenereerd, kan het bijvoorbeeld in verschillende delen worden opgesplitst en opnieuw worden gerangschikt voordat het wordt opgeslagen in de wachtwoorddatabase, of bepaalde tekens kunnen worden verwisseld met andere. Bij een poging tot authenticatie de volgende keer dat de gebruiker zich aanmeldt, keert de webserver deze extra functie om en wordt de oorspronkelijke controlesom opnieuw gegenereerd om te controleren of het wachtwoord van een gebruiker geldig is. Het nemen van deze stappen beperkt het nut van een hack waarbij alle controlesommen worden gestolen. Het idee is om een functie uit te voeren die onbekend is, dus als de hacker het cryptografische hash-algoritme kent maar niet het aangepaste, dan is het niet nuttig om de wachtwoordcontrolesommen te kennen.
Wachtwoorden en cryptografische hashfuncties
Een database slaat gebruikerswachtwoorden op op een manier die vergelijkbaar is met een regenboogtabel. Wanneer uw wachtwoord is ingevoerd, wordt de controlesom gegenereerd en vergeleken met degene die is geregistreerd met uw gebruikersnaam. U krijgt dan toegang als de twee identiek zijn. Aangezien een cryptografische hashfunctie een niet-omkeerbare controlesom produceert, kunt u uw wachtwoord dan zo eenvoudig maken als 12345, in plaats van 12@34$5, simpelweg omdat de controlesommen zelf niet kunnen worden begrepen? Nee, en dit is waarom. Deze twee wachtwoorden zijn beide onmogelijk te ontcijferen door alleen maar naar de checksums te kijken:
MD5 voor 12345: 827ccb0eea8a706c4c34a16891f84e7b
MD5 voor 12@34$5: a4d3cc004f487b18b2ccd4853053818b
Op het eerste gezicht denk je misschien dat het prima is om een van deze wachtwoorden te gebruiken. Dit is waar als een aanvaller je wachtwoord probeert te achterhalen door de MD5-controlesom te raden, wat niemand doet, maar niet als een brute kracht of woordenboekaanval wordt uitgevoerd, wat een veelgebruikte tactiek is. Een brute force-aanval vindt plaats wanneer meerdere willekeurige steken worden genomen bij het raden van een wachtwoord. In dit geval zou het gemakkelijk te raden zijn 12345, maar vrij moeilijk om willekeurig de andere te achterhalen. Een woordenboekaanval is vergelijkbaar in die zin dat de aanvaller elk woord, nummer of zin uit een lijst met veelvoorkomende (en niet-zo-veelvoorkomende) wachtwoorden kan proberen, en 12345 is een van die veelvoorkomende wachtwoorden. Hoewel cryptografische hashfuncties moeilijk tot onmogelijk te raden controlesommen opleveren, moet u toch een complex wachtwoord gebruiken voor al uw online en lokale gebruikersaccounts.
Meer informatie over cryptografische hashfuncties
Het lijkt misschien alsof cryptografische hashfuncties verband houden met codering, maar de twee werken op verschillende manieren. Versleuteling is een tweerichtingsproces waarbij iets wordt versleuteld om onleesbaar te worden en later wordt ontsleuteld om weer normaal te worden gebruikt. U kunt bestanden die u hebt opgeslagen versleutelen zodat iedereen die er toegang toe heeft ze niet kan gebruiken, of u kunt codering voor bestandsoverdracht gebruiken om bestanden te versleutelen die zich via een netwerk verplaatsen, zoals degene die u online uploadt of downloadt. Cryptografische hashfuncties werken anders in die zin dat de checksums niet bedoeld zijn om te worden teruggedraaid met een speciaal dehash-wachtwoord. Het enige doel dat cryptografische hashfuncties dienen, is om twee stukken gegevens te vergelijken, zoals bij het downloaden van bestanden, het opslaan van wachtwoorden en het ophalen van gegevens uit een database. Het is mogelijk dat een cryptografische hashfunctie dezelfde controlesom produceert voor verschillende stukjes gegevens. Wanneer dit gebeurt, wordt het een botsing genoemd, wat een enorm probleem is, aangezien het hele punt van een cryptografische hashfunctie is om unieke controlesommen te maken voor elke gegevensinvoer erin. Er kunnen botsingen optreden omdat elke cryptografische hashfunctie een waarde van een vaste lengte produceert, ongeacht de invoergegevens. De cryptografische hashfunctie van MD5 genereert bijvoorbeeld 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 en e10adc3949ba59abbe56e057f20f883e voor drie totaal verschillende gegevensblokken. De eerste controlesom is van 12345. De tweede is gegenereerd uit meer dan 700 letters en cijfers, en de derde is van 123456. Alle drie de ingangen hebben verschillende lengtes, maar de resultaten zijn altijd slechts 32 tekens lang sinds de MD5-controlesom werd gebruikt. Er is geen limiet aan het aantal controlesommen dat kan worden gemaakt, omdat elke kleine wijziging in de invoer een compleet andere controlesom zou moeten opleveren. Omdat er een limiet is aan het aantal checksums dat één cryptografische hashfunctie kan produceren, is er altijd de mogelijkheid dat u een botsing tegenkomt. Daarom zijn er andere cryptografische hashfuncties gemaakt. Terwijl MD5 een waarde van 32 tekens genereert, genereert SHA-1 40 tekens en SHA-2 (512) 128. Hoe groter het aantal tekens dat de controlesom heeft, hoe kleiner de kans dat er een botsing zal optreden. Meer van Lifewire
-
Wat is een controlesom?
-
Wat is een SFV-bestand?
-
Hoe de bestandsintegriteit in Windows te verifiëren met FCIV
-
File Checksum Integrity Verifier (FCIV) downloaden en installeren
-
Wat is SHA-1 en hoe wordt het gebruikt voor gegevensverificatie?
-
De MD5-controlesom van een bestand valideren
-
Wat is MD5? (MD5 Message-Digest-algoritme)
-
De 6 beste gratis online virusscanners van 2021
-
Voorbeelden van zwakke en sterke wachtwoorden
-
Wat is een elektronische handtekening?
-
5 tips voor het beveiligen van uw draadloze netwerk
-
Hoe werken wachtwoordmanagers?
-
Wat is end-to-end-encryptie?
-
Wat is IPSec?
-
COMODO-schijfversleuteling v1.2
-
Hoe u uw draagbare wifi-hotspot kunt beveiligen
Uw privacyrechten
Lifewire en onze externe partners gebruiken cookies en verwerken persoonlijke gegevens zoals unieke identificatiegegevens op basis van uw toestemming om informatie op een apparaat op te slaan en/of te openen, gepersonaliseerde advertenties weer te geven en voor inhoudsmeting, publieksinzicht en productontwikkeling. Klik hieronder om uw toestemmingskeuzes voor Lifewire.com te wijzigen of in te trekken, inclusief uw recht om bezwaar te maken wanneer een legitiem belang wordt gebruikt. U kunt uw instellingen op elk moment bijwerken via de link “EU-privacy” onderaan elke pagina. Deze keuzes worden wereldwijd aan onze partners gesignaleerd en hebben geen invloed op de browsegegevens. Lijst met partners (leveranciers)
Wij en onze partners verwerken gegevens om:
Scan actief apparaatkenmerken voor identificatie. Gebruik nauwkeurige geolocatiegegevens. Informatie op een apparaat opslaan en/of openen. Selecteer gepersonaliseerde inhoud. Maak een gepersonaliseerd inhoudsprofiel. Meet advertentieprestaties. Selecteer basisadvertenties. Maak een gepersonaliseerd advertentieprofiel. Selecteer gepersonaliseerde advertenties. Pas marktonderzoek toe om doelgroepinzichten te genereren. Inhoudsprestaties meten. Ontwikkelen en verbeteren van producten. Lijst met partners (leveranciers)