I et tidligere innlegg diskuterte Zix | AppRiver hvordan de ansvarlige for SolarWinds-angrepet hadde misbrukt tokens og sertifikater som en del av infeksjonskjeden. De ondsinnede aktørene fortsatte å misbruke de samme typer eiendeler i flere kampanjer rettet mot andre enheter. Dette resulterte i en bekreftet sertifikatsikkerhetshendelse hos en e-postsikkerhetsleverandør.
Ved Å Anerkjenne disse ondsinnede aktivitetene følte Zix / AppRiver det nødvendig å gi sine kunder en serie artikler som diskuterer de berørte typene autentiseringsmetoder og hvordan de fungerer. Vi begynner med token-basert autentisering.
Tokenbasert Godkjenning: En Oversikt
Tokenbasert godkjenning adresserer noen av begrensningene for øktbasert godkjenning. I sistnevnte oppretter en server en økt for en bruker når de logger på. Den lagrer økt-ID-EN i en informasjonskapsel, som følger med alle påfølgende forespørsler hvis brukeren forblir logget inn. Serveren verifiserer deretter en brukers identitet ved å sammenligne informasjonskapselen med øktdataene som er lagret i minnet.
problemet her er at sesjonsbasert godkjenning lider av visse ulemper. For det første krever det at serveren lagrer økter i minnet. Det er også spørsmålet om informasjonskapsler som arbeider på tvers av flere enheter av forskjellige medier (for eksempel web og mobil).
det er der tokenbasert godkjenning kommer inn. Denne formen for godkjenning innebærer et program som gir et signert token til klienten ved validering av et sett med brukerlegitimasjon. Klienten lagrer det token og sender det med hver forespørsel, hvor serveren verifiserer token og sender informasjon.
i denne forstand er token-basert godkjenning forskjellig fra sesjonsbasert godkjenning ved at den er statsløs. Det innebærer ikke lagring av informasjon om en bruker på en server eller i en økt. Den lagrer dataene i token på klientsiden.
Fordeler Og Utfordringer Med Tokenbasert Godkjenning
Tokenbasert godkjenning har mange fordeler. Chop-Chop bemerker at tokens fungerer på forskjellige nettsteder og medier, også, noe som skaper en mulighet for et større mangfold av brukere—spesielt de som bruker mobile enheter. På toppen av alt dette står tokens for brukerens legitimasjon i ferd med å gi tilgang til data; noen som kompromitterte et token, ville ikke automatisk få tilgang til den berørte brukerens kontoinformasjon.
når det er sagt, er token-basert autentisering ikke uten utfordringer. Devbridge Group bemerker at enkelte sesjonstokener ikke genereres på en sikker måte, for eksempel. Dette gjør det mulig for en angriper med et stort nok utvalg av økt-Ider å finne ut et mønster og gjette tokens for et større utvalg av brukere. Det er også problemet med angripere som utnytter usikre token-lagre, flere pålogginger og / eller lange token-valideringstider for å stjele autentiseringshemmeligheter.
Slik Bruker Du Sikkert Token-Basert Autentisering
Ved Å Anerkjenne risikoen som er omtalt ovenfor, Er det noen få gode fremgangsmåter for sikker bruk av token-basert autentisering:
- Generer sterke tokens. Spesielt Anbefaler Devbridge at tokens har et stort sett med mulige verdier, inneholder en grad av pseudorandomhetog består av minst 16 byte i lengde.
- Gi polletter en utløpsdato. Det er viktig å angi betingelser for hvor lenge et token forblir gyldig, Notater Auth0. Selvfølgelig, hvis en bruker fortsatt er aktiv, kan token automatisk fornyes. Men det er også visdom i å la et token utløpe når brukeren logger ut og avslutter token uansett hva etter at en viss tidsperiode er gått.
- Ikke Tillat flere pålogginger. Som Nevnt Av Devbridge, er det mulig å bruke nøkkelattributter for å forhindre parallelle godkjenninger der flere personer samhandler med samme brukerkonto samtidig.
- Lagre tokens Sikkert. Lokal lagring er ikke veien å gå her. DEV Community anbefaler bruk av en cookie policy kalt SameSite for å spesifisere vilkårene for at en cookie kan sendes i en forespørsel på tvers av domener. En Streng SameSite-policy sammen med kravet om at folk må ha en nettleserversjon som støtter denne funksjonaliteten, vil bidra til å holde session tokens sikre.