InfoNu.nl > Pc en Internet > Software > Data authenticatie

Data authenticatie

Authenticatie is de kritieke stap in het toegangscontroleproces. Voor de beveiliging van elk systeem is het van belang dat authenticatie goed werkt. Dan weten we immers dat de personen die geen toegang zouden moeten heben, daadwerkelijk buiten het systeem blijven en dat de personen die wel toegang moeten hebben, binnen het systeem worden gelaten.

Authenticatie

Authenticatie is de tweede stap in het toegangscontroleproces. Het toegangscontroleproces is in drie stappen te beschrijven:
  • Stap 1 - identificatie: bekend maken wie je bent.
  • Stap 2 - authenticatie: controleren of je bent wie je zegt dat je bent.
  • Stap 3 - autorisatie: aan de hand van wie iemand zegt dat hij is, bepalen wat hij wel en niet mag.

Authenticatie is geen strikt digitale aangelegenheid. In de analoge wereld kennen we ook tal van authenticatievormen. Voorbeelden van analoge authenticatie zijn het controleren van de echtheidskenmerken in je paspoort door de douane, en het controleren van je rijbewijs op het postkantoor op het moment dat je een pakketje ophaalt dat aan jou is geadresseerd.

In dit artikel houden we ons echter bezig met digitale authenticatie. Enkele voorbeelden van elementen op basis waarvan digitale authenticatie kan worden toegepast, zijn een ingetypt wachtwoord, een pincode en de vingerafdruk op een apparaat met vingerafdrukherkenning. Ook deze worden gecontroleerd.

Het sleutelwoord bij authenticatie, analoog of digitaal, is dan ook controleren. Authenticatie gaat grotendeels over het leren kennen en gebruiken van de juiste controlemechanismen.

Is de data die we ontvangen wel te vertrouwen?

Hoe vaak moeten we een document met informatie downloaden, of een tooltje downloaden dat een bepaalde functie voor ons verricht? Hoe weten we zeker dat datgene wat we downloaden ook origineel (oorspronkelijk) is en daadwerkelijk van de genoemde afzender afkomstig is? Kan het zo zijn dat bepaalde cijfers in een jaarverslag zijn vervalst door een kwaadwillende derde? Kan een hacker een virus of een trojan in het tooltje hebben verborgen? Eén ding weten we heel zeker: als we het niet controleren dan weten we het niet.

Wanneer we er goed over nadenken, komen we tot de conclusie dat het raar is dat we in de digitale wereld zo goedgelovig zijn. Al op jonge leeftijd hebben we geleerd geen snoepjes van vreemden aan te nemen, maar blijkbaar geldt dat niet voor stukjes software. Veel mensen downloaden zich een slag in de rondte: bit-torents, ftp-servers, nieuwsgroepen, peer to peer. We kunnen het zo gek niet bedenken: als het te downloaden is, dan wordt het maar 'meegenomen'. Die verzamelwoede is niet alleen erg Nederlands (alles gratis), maar ook erg gevaarlijk. Wanneer iemand ons op straat gratis cd's en dvd's aanbiedt zijn we direct op onze hoede: waarom doet deze persoon dat? Er zal wel iets achter zitten. Of we verklaren onze weldoener direct voor gek en lopen snel door. Maar op het internet is iedereen onze vriend en downloaden we alles wat wordt aangeboden.

Geregeld worden er schrikbarende rapporten gepubliceerd die stellen dat miljoenen computersystemen op de wereld onderdeel uitmaken van botnets. Hoe komen al die Trojanen toch geinstalleerd op die miljoenen computersystemen? Het bovenstaande verhaal over de downloadwoede geeft één van de voornaamste oorzaken duidelijk weer.

Behalve dat anoniem verspreide data geinfecteerd kan zijn met malware, kan ook data van een vertrouwde bron besmet zijn. Dit kan ofwel doordat deze vertrouwde bron iets (naïef) doorgeeft, ofwel doordat de bron waarop de data gepubliceerd wordt gehackt is en de aangeboden data geinfecteerd.

De digitale vingerafdruk, hashing

Een oplossing om vast te stellen of de data die we in handen hebben origineel is, is het maken van een digitale vingerafdruk van de data. Het maken van een digitale vingerafdruk noemen we ook wel het hashen van data.

De hashfunctie is een methode die van een bepaalde hoeveelheid data een vingerafdruk kan maken in de vorm van een reeks hexadecimale waarden. Deze methode is reproduceerbaar, met andere woorden: zolang de data niet veranderd is, zal elke keer als we de hashfunctie gebruiken dezelfde reeks hexadecimale waarden verschijnen. Deze reeks hexadecimale waarden noemen we hashwaarden of hashcodes of gewoon hashes. De reeks hexadecimale waarden heeft altijd dezelfde lengte, ongeacht de grootte van de data.

Met behulp van de hashfunctie is het dus mogelijk om van data een hashwaarde te genereren. De omgekeerde weg is echter niet mogelijk. Zoals eerder aangegeven, is de lengte van de hashwaarde altijd gelijk, ongeacht of data 100 KB of 500 GB is. Je kunt je voorstellen dat het herleiden van 500 GB aan data niet mogelijk is op basis van een handjevol hexadecimale waarden.

We kunnen onze verkregen data dus controleren aan de hand van de hashwaarde. Hier is wel een belangrijke voorwaarde aan verbonden, namelijk: de hashwaarde van het bronbestand moet beschikbaar zijn.

De hashwaarde heeft dus altijd dezelfde lengte en is uniek. Ook al veranderen we maar één letter in een tekst van duizenden letters, toch zal de hashwaarde totaal verschillend zijn. Laten we eens naar een voorbeeld kijken. We gebruiken het SHA-1 algoritme. (Op SHA-1 komen we later in dit artikel terug).

Tekst: Geen inkt nodig bij digitale vingerafdrukken
Hashwaarde: 2487df8f 2185ee37 co5f541a b1fbff91 ce8b8dbf

Nu veranderen we de b van het woordje 'bij' in de w zodat er 'wij' komt te staan:

Tekst: Geen inkt nodig wij digitale vingerafdrukken
Hashwaarde: 75f5f43b ffbb161c 4d7fa889 183785a0 68ada6a7

Zoals je kunt zien is de hashwaarde altijd uniek. Wanneer we één letter veranderen in de tekst of één bit omgooien in een bestand van meerdere gigabytes, krijgen we een totaal andere hashwaarde.

Hashing, zoals het proces genoemd wordt, is een uit het Engels afkomstige term. De term hash betekent hakken, letterlijk 'de data in stukken hakken'. Hashen is in het Nederlands een gangbare term. Ook gebruiken we de aanduiding 'de hash berekenen' of 'de hashwaarde is ...'

De hashfunctie wordt voor verschillende doeleinden gebruikt. Denk onder andere aan verifieren van gedownloade bestanden, niet alleen om vast te stellen of het het originele bestand is, maar ook of het niet beschadigd is. Een andere veelgebruikte functie is het zoeken van data in grote databases: we kunnen veel sneller zoeken naar de hashwaarde van een hoeveelheid data dan naar de data zelf. De hashfunctie wordt ook gebruikt om wachtwoorden te versturen.

De hashfunctie is er in verschillende algoritmes. We zullen de twee meest gebruikte bespreken, namelijk MD5 en SHA-1.

MD5

Het eerste algoritme dat we bespreken is MD5: Message Digest Algorithm 5. MD5 is een veelgebruikte hashfunctie. MD5 genereert een 128 bits hashwaarde. MD5 raakt als hashfunctie steeds meer omstreden. Er zijn namelijk fouten ontdekt in het algoritme en er zijn manieren gevonden om verschillende documenten dezelfde hashwaarde te laten genereren.

Om MD5-hashfunctie op een computersysteem te gebruiken, moet je het softwareprogramma md5sum gebruiken. Md5sum is standaard aanwezig op de meeste Linux en Unix versies. Voor Windows systemen moeten we dit softwareprogramma eerst downlaoden. Md5sum moet op een computersysteem op de Opdrachtprompt aangeroepen worden. Er zijn ook verschillende grafische tools beschikbaar. Met md5sum kunnen we de hashwaarde van één of meer bestanden berekenen. Wanneer we de hashwaarde van een leeg tekstbestand (of een lege waarde) berekenen is de hashwaarde altijd d41d8cd98f00b204e9800998ecf8427e.

SHA-1

Het tweede algoritme dat we bespreken is SHA-1. SHA-1 komt uit de SHA-familie waar SHA voor Secure Hash Algorithm staat. Naast SHA-1 bestaat de SHA-familie onder andere uit SHA-256 en SHA-512. Het SHA-1 algoritme genereert een 160 bits hashwaarde. Hoewel er wel al theoretische aanvallen zijn op het SHA-1 algoritme, is het nog niet gelukt om twee dezelfde hashwaarden te genereren.

Om het SHA-1 algoritme op een computersysteem te gebruiken moet men gebruik maken van het softwareprogramma sha1sum. Ook sha1sum is standaard aanwezig op de meeste Linux en Unix versies. Voor Windows systemen moet dit softwareprogramma eerst gedownload worden. Ook sha1sum wordt door middel van de opdrachtprompt aangeroepen. Wanneer we de hashwaarde van een leeg tekstbestand (of een lege waarde) berekenen, is de hashwaarde altijd da39a3ee5e6b4b0d3255bfef95601890afd80709.
© 2012 - 2019 Tomski, het auteursrecht (tenzij anders vermeld) van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Gerelateerde artikelen
Netwerk authenticatieWanneer we ons binnen een computernetwerk begeven zijn we in staat van verscheidene diensten gebruik te maken. Zo kunnen…
Harde schijf beveiligingHet computer systeem waar we het meest op werken kan vertrouwelijke documenten bevatten. Maar ook privégegevens zoals e-…
Hoeveel internet data/MB gebruikt u via uw telefoon?Hoeveel internet data/MB gebruikt u via uw telefoon?Hedendaags kunt u bijna op elke telefoon internet gebruiken. Vaak sluit u een internet abonnement af met uw telefoon abo…
Data verwijderen van een gegevensdragerElke dag maken we gebruik van allerlei bestanden en verschillende soorten data. We creëren tekstbestanden, spreadsheets,…
Informatie over VPNDe oplossing om alle functionaliteiten van een netwerk te gebruiken buiten de grenzen van een LAN, is het gebruik van ee…
Bronnen en referenties
  • http://www.sitemasters.be/tutorials/19/1/428/Overig/Hashing_artikel
  • http://www.surfplan.nl/index.php?option=com_content&view=category&id=32&Itemid=22

Reageer op het artikel "Data authenticatie"

Plaats als eerste een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Ik ga akkoord met de privacyverklaring en ben bekend met de inhoud hiervan
Infoteur: Tomski
Gepubliceerd: 05-02-2012
Rubriek: Pc en Internet
Subrubriek: Software
Bronnen en referenties: 2
Schrijf mee!