Vele Internet- en computerdiensten vereisen authenticatie (identificatie) van de gebruiker.
Een gebruiker identificeren kan op volgende manieren gebeuren:
Door wat de gebruiker kent, het meeste bekende voorbeeld is de traditionele
userid/passwoord combinatie.
Door wat de gebruiker is (biometrie ),
met als bekendste voorbeelden
stemherkenning, vingerafdrukken en iris-scan.
Het nadeel hiervan is dat deze systemen nooit 100% exact werken
(vals-positieven en/of vals-negatieven).
In theorie is er niets 100% veilig, en de heel veilige methodes zijn niet
altijd gebruikersvriendelijk.
In de praktijk wordt er meestal met een simpel passwoord gewerkt. Bij het kiezen
van een passwoord neemt men best de volgende regels in acht, zoniet kan het
passwoord vrij vlug gekraakt worden:
Neem een zo lang mogelijk passwoord (meestal is de
maximale lengte beperkt tot 8
karakters, benut dan alle 8 karakters).
Neem geen voor de hand liggende passwoorden (namen van huisdieren, familieleden,
sport-, pop- of filmvedetten, telefoon- of autoplaatnummers, ...).
Neem geen woorden die in een woordenboek voorkomen.
Gebruik best een mengeling van hoofd- en kleine letters, cijfers en
andere tekens die voorkomen op het klavier (behalve tab en spaties).
Een goede en eenvoudige manier is bv. een zin samen te stellen, en van ieder
woord de eerste letter te nemen, of van een aantal woorden enkel de
medeklinkers of klinkers te nemen, en dit te mengen met cijfers en andere tekens.
Schrijf het passwoord nooit op, of indien u dat toch doet, verberg het papier
dan op een degelijke plaats (onder toetsenbord, tafel, telefoon, ... zijn
zeker en vast geen goede plaatsen), en verzin eventueel een
truk om de passwoorden versleuteld op te schrijven.
Gebruik nooit dezelfde passwoorden voor diensten die onder verschillend beheer
staan (systeembeheerders van een systeem kennen soms de passwoorden).
Bv. iemand die in een bank werkt en daar een passwoord gebruikt, en thuis
een Internet aansluiting heeft bij een commerciële Internet provider
en er hetzelfde passwoord gebruikt, die
gaat onzorgvuldig tewerk.
Wijzig het passwoord op regelmatige tijdstippen (te frequent is ook niet
aangewezen, want dan heeft men moeite om passwoorden te verzinnen of te
onthouden, en zal men de passwoorden beginnen op te schrijven).
Systeembeheerders hebben soms de mogelijkheid om één of meerdere van
bovenvermelde regels verplicht te maken.
Laat u niet vangen door social engineering. Geef nooit uw passwoord
aan een onbekende, of zelfs niet aan bekenden. Indien u van een onbekende
opdracht krijgt om uw passwoord in xyz te wijzigen, ga daar dan niet op in.
Indien u E-mail krijgt om iets te doen met een passwoord, wees dan steeds
achterdochtig (een E-mail adres kan makkelijk vervalst worden).
Zie dat niemand op je vingers kijkt bij het intikken van een passwoord,
indien u bij iemand staat die een passwoord moet intikken, wees
dan zo beleefd om niet op de vingers te kijken.
Volgende problemen kunnen zich voordoen met passwoordsystemen:
De passwoorden zijn in leesbare vorm opgeslagen. Indien er dan ingebroken
wordt in een computersysteem dan heeft de inbreker dadelijk alle passwoorden.
Ook systeembeheerders van machines kunnen deze passwoorden lezen.
Hashed-passwoorden: Bij deze systemen wordt het passwoord niet
opgeslagen in leesbare vorm, maar er wordt op het passwoord een
hash
functie toegepast, en het resultaat van de hash functie wordt opgeslagen
in een passwoord file.
Indien iemand probeert aan te loggen met een passwoord, dan wordt de
hash functie toegepast op het ingegeven passwoord, en de twee ge-hashte
resultaten worden vergeleken. Indien ze identiek zijn, dan kent de
gebruiker het passwoord.
Volgende problemen blijven dan gelden:
Het passwoord gaat in clear-text over de lijn, en kan eventueel afgeluisterd
worden.
Men kan nog steeds passwoorden raden.
Indien men het bestand met ge-hashte passwoorden heeft, dan kan men
proberen de passwoorden te kraken door
Woordenboek aanval (dictionary attack):
men past de hash functie
toe op een lijst van woorden uit een woordenboek (op het Internet
zijn uitgebreide lijsten te vinden van woorden in allerlei talen),
en men vergelijkt de resultaten met
de ge-hashte passwoorden uit het passwoorden bestand.
Brute kracht aanval (brute-force attack):
men probeert alle mogelijke combinaties.
Vandaar dat een passwoord lang genoeg moet zijn en uit een zo groot
mogelijk aantal toegelaten karaktertekens moet bestaan, dit maakt
een brute kracht aanval zeer tijdrovend.
Indien het hashen steeds op dezelfde manier gebeurt (bv. op
alle UNIX systemen ter wereld), dan zou men slechts éénmalig
een lijst moeten maken van de hash waardes van alle mogelijke
passwoorden. Om dit te vermijden gaat men aan het passwoord
een aantal willekeurige karakters
(
salt genoemd) toevoegen
voordat men de hash berekent.
Systeembeheerders moeten er dus voor zorgen dat ook de bestanden met
hashed passwoorden niet kunnen gelezen worden door onbevoegde personen.
Het UNIX passwoordsysteem is gebaseerd op hashed passwoorden. Recente
versies slaan de ge-hashte passwoorden niet meer op in het bestand met
passwoorden (/etc/passwd), maar slaan de passwoorden ergens anders op,
in een filesysteem dat enkel door root leesbaar is
(shadow password files) .
Om te vermijden dat passwoorden in leesbare vorm worden verstuurd heeft
men challenge-response systemen uitgevonden. Deze werken als volgt:
Iemand wil aanloggen en maakt een connectie met een server.
De server genereert een unieke string (bv. de tijd) = de challenge,
en stuurt die
terug naar diegene die wil aanloggen.
De persoon die wil aanloggen voert een bepaalde functie uit met zijn
passwoord en de challenge, het resultaat = de response
wordt naar de server gestuurd.
De server doet hetzelfde met de unieke string en het passwoord, en wanneer de
twee resultaten hetzelfde zijn, dan is het passwoord gekend door de gebruiker.
Voor de gebruiker blijft dit een eenvoudig systeem, hij moet enkel zijn passwoord
ingeven (net zoals bij de vorige passwoordsystemen).
Indien het netwerk afgeluisterd wordt, dan blijft deze techniek blootstaan
aan dictionary en brute-force attacks.
De eerste challenge-response systemen waren gebaseerd op passwoord bestanden
met leesbare passwoorden, recente versies werken met hashed passwoorden
op de server (wat over de lijn gaat is dan een hashed-hashed-passwoord).
Door de problemen met eenvoudige passwoordsystemen is men gaan zoeken
naar andere oplossingen, waarvan hierna een overzicht wordt gegeven:
Gebruik maken van certificaten om aan te loggen. Zie het deel over
encryptie .
The PISA-project is financed by the OSTC, Belgian Federal Office for Scientific,
Technical and Cultural Affairs (DWTC - SSTC). Project description of PISA