0TD02S_Informasjonssikkerhet_K08 - itnett/FTD02H-N GitHub Wiki

Kapittel 8: Brukerautentisering

Appendix

Introduksjon

Brukerautentisering er en kritisk komponent i informasjonssikkerhet, og det omfatter flere teknikker og metoder for å bekrefte identiteten til en bruker. Dette kapitlet dekker passord, biometri, passordpolicies, flerfaktorautentisering, og bruk av ulike autentiseringsmetoder som passnøkler (passkeys), OTP-brikker og mer. Vi vil også se på hvordan autentisering kan gjøres sikkert og pålitelige i ulike sammenhenger.

Passord

Passord er den mest brukte metoden for autentisering, men det er også mange utfordringer forbundet med det.

Hvorfor bør passord ikke lagres i klartekst?

Lagring av passord i klartekst på en autentiseringstjener er en betydelig sikkerhetsrisiko. Hvis en angriper får tilgang til databasen, vil de ha direkte tilgang til alle brukernes passord. Dette kan føre til kompromittering av brukerkontoer og potensielt andre systemer hvor brukerne gjenbruker passordet.

Passordsalting

Passordsalting innebærer å legge til et tilfeldig tall (salt) til passordet før det hashes. Dette sikrer at like passord får forskjellige hash-verdier, noe som gjør det vanskeligere for angripere å bruke forhåndsberegnede tabeller (rainbow-tables) til å knekke passordene.

Ressurser og verktøy

Biometri

Biometrisk autentisering bruker unike fysiske eller atferdsmessige trekk ved brukeren for å bekrefte identiteten deres. Eksempler inkluderer fingeravtrykk, ansiktsgjenkjenning, iris-skanning og stemmegjenkjenning.

EER (Equal Error Rate)

EER representerer punktet hvor False Match Rate (FMR) og False Non-Match Rate (FNMR) er like. Det gir et mål på nøyaktigheten til et biometrisk system.

Utfordringer med biometri

Biometriske systemer kan være utsatt for presentasjonsangrep (falske fingeravtrykk, bilder osv.). Forskjellige teknikker som PAD (Presentation Attack Detection) forskes på for å gjøre systemene mer sikre.

Ressurser og verktøy

Passordpolicy

Passordpolicyer er retningslinjer som beskriver hvordan passord skal opprettes, brukes og vedlikeholdes.

Typiske retningslinjer inkluderer:

  • Minimum lengde (f.eks. minst 13 tegn)
  • Kompleksitet (bruk av store og små bokstaver, tall og spesialtegn)
  • Regelmessig endring av passord (vanligvis sjelden eller aldri, unntatt ved mistanke om kompromittering)
  • Ikke gjenbruk av passord mellom forskjellige systemer

Oppbevaring av passord

  • I hodet (anbefalt)
  • På papir, under sikre forhold
  • I en online passordbank (kryptert)
  • I offline digital enhet (ikke kryptert)

Flerfaktorautentisering (MFA)

MFA kombinerer to eller flere autentiseringsfaktorer for å gi sterkere sikkerhet. Vanlige kombinasjoner inkluderer passord + engangskode (OTP) eller passord + biometrisk autentisering.

Eksempler på MFA:

  • BankID: Bruker passord og OTP-brikke
  • SMS-baserte systemer: Sender engangskode via SMS

Autentiseringsnivåer

Autentiseringsnivåer bestemmer robustheten av autentisering basert på risikonivået til systemet som beskyttes. EU sin eIDAS-forordning spesifiserer tre nivåer: Low, Substantial, og High.

eIDAS (electronic IDentification, Authentication and trust Services)

eIDAS er en EU-forskrift som regulerer elektronisk identifikasjon og tillitstjenester. Den spesifiserer krav til autentisering og sertifiseringstjenester for å sikre pålitelig elektronisk forvaltning.

Ressurser og referanser

Implementeringseksempler

Kode for hashing og salting av passord i Python

import hashlib
import os

def hash_password(password):
    salt = os.urandom(16)
    hashed_password = hashlib.pbkdf2_hmac('sha256', password.encode('utf-8'), salt, 100000)
    return salt + hashed_password

def verify_password(stored_password, provided_password):
    salt = stored_password[:16]
    stored_hash = stored_password[16:]
    provided_hash = hashlib.pbkdf2_hmac('sha256', provided_password.encode('utf-8'), salt, 100000)
    return stored_hash == provided_hash

password = "secure_password"
hashed = hash_password(password)
print(verify_password(hashed, password))

Kommandoer i Linux/Bash for å sikre passordfiler

# Sikre passordfil i Linux
sudo chown root:root /etc/shadow
sudo chmod 600 /etc/shadow

# Sikre passordlagring i Windows
# Kjør i PowerShell som administrator
icacls "C:\Windows\System32\config\SAM" /inheritance:r
icacls "C:\Windows\System32\config\SAM" /grant:r Administrators:F
icacls "C:\Windows\System32\config\SAM" /deny Everyone:(F)

Oppsummering

Dette appendikset har dekket grunnleggende og avanserte konsepter i brukerautentisering, inkludert passord, biometri, passordpolicyer, flerfaktorautentisering, og autentiseringsnivåer. Bruk av sikre metoder og riktig implementering er avgjørende for å beskytte systemer mot uautorisert tilgang.

Kapittel 8: Brukerautentisering - Utvidet Tillegg med svar på oppgaver

Dette tillegg inneholder en dyptgående besvarelse av oppgavene og spørsmålene i Kapittel 8: Brukerautentisering. Målet er å dekke alle sider av temaet og tilby ressurser og referanser for videre lesing.

Oppgave 1: Passord

a. Hvorfor bør passord ikke lagres i klartekst på autentiseringstjeneren?

Passord i klartekst kan lett eksponeres ved datainnbrudd. En angriper som får tilgang til en database med passord i klartekst vil umiddelbart kunne misbruke alle kontoer. Ved å lagre passord som hash-verdier, blir de vanskeligere å misbruke direkte.

b. Hva menes med passordsalting, og hva er hensikten med det?

Passordsalting innebærer å legge til et tilfeldig generert salt til passordet før det hashes. Dette forhindrer brukere med samme passord fra å ha samme hash, og gjør det vanskeligere for angripere å bruke forhåndsgenererte rainbow-tabeller for å cracke passordene.

c. Hvilken kjent tjeneste på internett brukes for å sjekke om en bruker-ID (og passord) kan være stjålet. Sjekk om en av dine egne bruker-ID-er kan være stjålet, og endre passordet hvis den er det.

En kjent tjeneste er Have I Been Pwned. Denne tjenesten lar brukere sjekke om deres e-postadresse eller brukernavn har blitt kompromittert i kjente datainnbrudd.

d. Nevn en grunn til at passord aldri bør gjenbrukes.

Gjenbruk av passord øker risikoen for at et kompromittert passord kan brukes til å få tilgang til flere kontoer. Hvis ett system blir kompromittert, kan en angriper få tilgang til andre systemer hvor det samme passordet er brukt.

Oppgave 2: Biometri

a. Forklar hvordan kvaliteten på et system for biometrisk autentisering kan uttrykkes med EER (Equal Error Rate).

EER (Equal Error Rate) er punktet hvor både falsk aksept-rate (FAR) og falsk avvisnings-rate (FRR) er like. En lav EER indikerer et mer nøyaktig biometrisk system.

b. Hvis et biometrisk system konfigureres med svært lav FMR (False Match Rate), hva er konsekvensen for FNMR (False Non-Match Rate)?

En svært lav FMR vil sannsynligvis føre til en høyere FNMR, noe som betyr at systemet blir mer sannsynlig til å avvise legitime brukere.

c. Se for deg et system som er konfigurert med svært lav FMR. I hvilken grad gjør det at systemet er robust mot tilsiktet forfalskning (eng. presentation attack)?

Et system med lav FMR er mer robust mot tilsiktet forfalskning fordi det er mindre sannsynlig å feilaktig godkjenne uautoriserte brukere. Dette øker sikkerheten mot forfalskninger.

Oppgave 3: Veileder for autentisering

a. Hva er formålet med å ha en veileder/forordning for e-autentisering?

Formålet er å sikre at autentisering utføres på en sikker og standardisert måte, noe som gir tillit til elektroniske tjenester og beskytter mot misbruk.

b. Hvilken veileder/forordning for e-autentisering gjelder for Norge?

I Norge gjelder eIDAS (electronic IDentification, Authentication and trust Services) som veileder for e-autentisering.

c. Nevn norske autentiseringstjenester som tilfredsstiller krav til høyeste autentiseringsnivå.

Norske tjenester som BankID og Buypass tilfredsstiller kravene til høyeste autentiseringsnivå.

Oppgave 4: Passordpolicy

a. Et passord regnes vanligvis som en autentikator basert på noe du vet. Diskuter om dette fortsatt er tilfelle når passordet er skrevet ned på papir eller et annet sted.

Når et passord er skrevet ned, kan det anses som noe du har i stedet for noe du vet, siden tilgangen til passordet er avhengig av tilgangen til papiret.

b. Sjekk typiske retningslinjer for passord, f.eks. UiOs beregning av kompleksitet i passord: UiO Passordtjenester eller passordveileder fra NIST SP800-63B: NIST SP800-63B.

i. Hva sier retningslinjene om lengde og kompleksitet av passord?

Retningslinjene anbefaler en minimumslengde på 13 tegn og bruk av flere kategorier tegn (store bokstaver, små bokstaver, tall, og spesialtegn).

ii. Hva sier retningslinjene om krav til bytte av passord?

Retningslinjene foreslår sjeldne eller ingen obligatoriske endringer, men anbefaler umiddelbare endringer ved mistanke om kompromittering.

c. I hvilken grad følger UiOs passordpolicy NIST sin veileder?

UiOs passordpolicy følger i stor grad NISTs anbefalinger, spesielt når det gjelder kompleksitet og håndtering av passord.

d. Gi et eksempel på kortest mulig passord i henhold til passordpolicyen for UiO.

Et eksempel på kortest mulig passord i henhold til UiOs policy kan være et passord på 13 tegn som inkluderer store bokstaver, små bokstaver, tall, og spesialtegn.

e. Hvorfor er det ofte anbefalt å huske passord, og ikke å skrive ned passord?

Det anbefales å huske passord for å unngå risikoen for at nedskrevne passord blir stjålet eller kompromittert.

f. Anta at du ikke er enig med (e), foreslå og diskutere alternative metoder.

En alternativ metode er å bruke en passordbehandler som lagrer passord kryptert. Dette gjør det lettere å administrere sterke, unike passord uten å måtte huske dem alle.

Oppgave 5: Biometrisk autentisering og identifisering

a. Gi en kort og konsis beskrivelse av hva et biometrisystem er.

Et biometrisystem er et system som bruker fysiske eller atferdsmessige egenskaper til å identifisere eller autentisere individer.

b. Et biometrisystem kan virke i enten autentiseringsmodus eller identifiseringsmodus. Forklar kort prinsippene for begge moduser.

Autentiseringsmodus (1:1):

Systemet sammenligner en ny biometrisk prøve med en lagret mal for å bekrefte brukerens identitet.

Identifiseringsmodus (1:N):

Systemet sammenligner en ny biometrisk prøve med en database av lagrede maler for å finne en match.

c. Si hvilken av disse modusene er minst/mest effektive, dvs. som krever minst/mest prosessering, og forklare hvorfor.

Autentiseringsmodus er mest effektiv da det bare krever en sammenligning (1:1), mens identifiseringsmodus krever flere sammenligninger (1:N).

d. Beskriv kort hvilken modus (autentisering eller identifisering) som brukes i:

i) for pass

Autentisering brukes for pass for å bekrefte en persons identitet.

ii) for kriminalteknisk etterforskning

Identifisering brukes i kriminalteknisk etterforskning for å finne en match i en database med kjente personer.

Oppgave 6: Optimalisering av biometrisk autentisering

a. Skåring s kvantifiserer likheten mellom innhentede biometriprøve og lagret mal av biometriprøve. Forklar hvordan skåring s og terskel T brukes til å bestemme om prøvene er like par eller ulike par, som fører til henholdsvis aksept eller avvisning.

En prøve anses som en match hvis skåringen s er lik eller høyere enn terskelen T. Hvis skåringen er lavere enn terskelen, avvises prøven.

b. Terskelen T kan justeres for å gi den optimale balansen mellom FMR (False Match Rate) og FNMR (False Non-Match Rate). Forklar hvordan terskelen T bør justeres som funksjon av kostnadene forbundet med henholdsvis tilfeller av feil aksept og feil avvisning.

Hvis kostnaden for en falsk aksept er høy, bør terskelen T økes for å redusere FMR. Hvis kostnaden for en falsk avvisning er høy, bør terskelen T reduseres for å redusere FNMR.

Oppgave 7: Biometriske modaliteter

a. Enhver menneskelig fysiologisk eller atferdsmessige karakter

istikk kan i prinsippet brukes som en biometrisk modalitet. Nevn tre viktige krav til en biometrisk modalitet for at den skal være praktisk anvendbar for autentisering.

  1. Særpreg: Unike karakteristikker som kan skille en person fra en annen.
  2. Målbarhet: Enkle å innhente og kvantifisere.
  3. Permanens: Bør være stabile over tid.

b. Velg en biometrisk modalitet og beskriv:

i) hvilke karakteristikker av den biometriske modaliteten som benyttes, og hvordan de ekstraheres

Fingeravtrykk: Linjeendepunkter og bifurkasjoner ekstraheres fra fingeravtrykket ved hjelp av en sensor.

ii) hvordan sammenligning av to slike karakteristikker utføres

Karakteristikkene sammenlignes ved å matche linjeendepunkter og bifurkasjoner mellom prøven og malen.

iii) falsk match rate og falsk non-match rate for den valgte biometriske modaliteten

For fingeravtrykk er FMR generelt lav, ofte under 0.1%, mens FNMR kan variere avhengig av kvaliteten på prøvene og miljøet.

Ressurser og Referanser

  1. Have I Been Pwned
  2. NIST SP800-63B: Digital Identity Guidelines
  3. eIDAS Regulation

Dette tillegget gir en omfattende dekning av brukerautentisering, inkludert tekniske aspekter, sikkerhetstiltak og praktiske eksempler, for å støtte forståelsen og anvendelsen av emnet i ulike sammenhenger.