Adgangskode ( fr. parole - ord) - et betinget ord [1] eller et vilkårligt sæt af tegn, bestående af bogstaver, tal og andre tegn, og designet til at bekræfte identitet eller autoritet. Hvis kun tal er tilladt, kaldes denne kombination nogle gange for en PIN-kode (fra den engelske forkortelse PIN - personligt identifikationsnummer).
Adgangskoder bruges ofte til at beskytte oplysninger mod uautoriseret adgang . I de fleste computersystemer bruges kombinationen brugernavn -adgangskode til at godkende brugeren.
På trods af udtrykkets oprindelse behøver adgangskoden faktisk ikke være et ord. En kombination, der ikke er et ord, er sværere at gætte eller gætte, så disse adgangskoder foretrækkes. For yderligere beskyttelse bruges nogle gange adgangskoder bestående af mange ord; sådan en adgangskode omtales nogle gange som en "adgangssætning".
Adgangskoder er blevet brugt siden oldtiden. Polybius (? 201 f.Kr. ) beskriver brugen af adgangskoder i det gamle Rom som følger:
Måden, hvorpå de sikrer sikker passage om natten, er som følger: fra ti manipler af hver gren af infanteri og kavaleri, som er placeret i bunden af gaden, vælger kommandanten, hvem der er fritaget for vagttjeneste, og han går hver nat til tribunen , og modtager fra sit kodeord - en trætavle med ordet. Han vender tilbage til sin enhed , og går derefter videre med et kodeord og et tegn til den næste kommandant, som igen sender skiltet videre til den næste [2] .
Adgangskoder er blevet brugt i computere siden deres tidlige dage. For eksempel var CTSS fra MIT , som udkom i 1961 , et af de første åbne systemer. Hun brugte LOGIN-kommandoen til at anmode om brugerens adgangskode.
Robert Morris foreslog ideen om at gemme adgangskoder i hash -form til UNIX -operativsystemet . Dens algoritme, kendt som krypt , bruger et 12-bit salt og binder sig til at omforme med DES-algoritmen , hvilket reducerer risikoen for ordbogs brute force .
Brugere med login og adgangskode autentificeres under login-processen med adgangskontrol til sikre operativsystemer, mobiltelefoner, applikationer og onlinetjenester. En computerbruger har ofte adgangskoder til mange forskellige formål: login på konti; adgang til e-mail-bokse, personlige konti på websteder, i databaser; at læse nyheder i betalte publikationer . Ifølge en undersøgelse fra NordPass var det gennemsnitlige antal adgangskoder brugt af én person i 2019 70-80; i løbet af året er dette tal vokset med 25 % og nærmet sig 100 adgangskoder [3] .
Undersøgelser viser [4] , at omkring 40 % af alle brugere vælger adgangskoder, der er lette at gætte automatisk [5] . Let at gætte adgangskoder (123, admin) betragtes som svage og sårbare. Adgangskoder, der er meget svære eller næsten umulige at gætte, betragtes som stærkere. Nogle kilder anbefaler at bruge adgangskoder genereret på stærke hashes som MD5 , SHA-1 fra almindelige pseudo-tilfældige sekvenser ifølge algoritmer som [6] [7] [8] .
I slutningen af 2017 offentliggjorde SplashData Corporation årets 100 mest usikre adgangskoder. Førstepladsen, for fjerde år i træk, er besat af adgangskoden - 123456. Den bruges af omkring 17% af internetbrugerne. [9]
I 2013 offentliggjorde Google en liste over almindeligt anvendte adgangskodekategorier, der anses for at være for svage på grund af det faktum, at de er nemme at gætte (især efter at have studeret en persons profil på et socialt netværk): [10]
På Unix - lignende operativsystemer kan pwgen -værktøjet bruges . For eksempel
pwgen 10 1genererer 1 adgangskode på 10 tegn.
Adskillige former for genbrugelige adgangskoder kan kompromitteres og har bidraget til udviklingen af andre metoder. Nogle af disse er ved at blive tilgængelige for brugere, der søger et mere sikkert alternativ.
Adgangskoden sendes i klartekst. I dette tilfælde kan det opsnappes ved hjælp af simple netværkstrafikovervågningsværktøjer .
Risikoen for adgangskodesniffing over internettet kan blandt andet mindskes ved at bruge Transport Layer Security TLS , tidligere kendt som SSL, funktioner indbygget i mange internetbrowsere.
Adgangskoden overføres allerede til serveren i form af en hash (ved indsendelse af en formular på en webside, konverteres adgangskoden til en md5-hash ved hjælp af JavaScript), og på serveren sammenlignes den modtagne hash med hash gemt i databasen. Denne måde at overføre adgangskoden på reducerer risikoen for at få adgangskoden ved hjælp af en sniffer .
Almindelige metoder til at forbedre softwaresikkerheden for adgangskodebeskyttede systemer omfatter:
Adgangskodeknækning er en af de almindelige typer angreb på informationssystemer, der bruger adgangskode eller brugernavn-adgangskode- godkendelse . Essensen af angrebet er reduceret til, at den ubudne gæst er i besiddelse af adgangskoden til en bruger, der har ret til at komme ind i systemet.
Det attraktive ved angrebet for en angriber er, at hvis han med succes opnår en adgangskode, er han garanteret at modtage alle rettighederne for den bruger, hvis konto er blevet kompromitteret, og desuden forårsager login på en eksisterende konto normalt mindre mistænksomhed blandt systemet administratorer .
Teknisk set kan angrebet implementeres på to måder: ved flere forsøg på direkte autentificering i systemet, eller ved at analysere kodeords- hashes opnået på anden måde, for eksempel ved at opsnappe trafik.
I dette tilfælde kan følgende metoder bruges:
Mange værktøjer er blevet udviklet til at udføre angrebet, såsom John the Ripper .
Baseret på tilgangene til at udføre et angreb er det muligt at formulere kriterier for styrken af et kodeord til det.
Populære anbefalinger til kompilering af en adgangskode inkluderer brugen af en kombination af ord med tal og specialtegn (#, $, * osv.), brugen af sjældne eller ikke-eksisterende ord og overholdelse af minimumslængden.
Beskyttelsesmetoder kan opdeles i to kategorier: at yde modstand mod at knække selve adgangskoden og forhindre implementering af et angreb. Det første mål kan opnås ved at kontrollere adgangskoden, der er sat i forhold til kompleksitetskriterier. Der er automatiserede løsninger til sådan verifikation, som normalt fungerer sammen med adgangskodeændringsværktøjer såsom cracklib [11] .
Det andet mål omfatter at forhindre hash af den overførte adgangskode i at blive fanget og at beskytte mod flere autentificeringsforsøg i systemet. For at forhindre aflytning kan sikre (krypterede) kommunikationskanaler bruges. For at gøre det sværere for en angriber at vælge ved multipel godkendelse, sætter de normalt en grænse for antallet af forsøg pr. tidsenhed (et eksempel på et værktøj: fail2ban [12] ), eller tillader kun adgang fra betroede adresser .
Omfattende centraliserede godkendelsesløsninger såsom Red Hat Directory Server [13] eller Active Directory [14] inkluderer allerede midlerne til at udføre disse opgaver.