Hva er en tilgangstoken?
I datamaskinoperativsystemer og andre programvarerammer er et tilgangstoken en hvilken som helst datastruktur som inneholder sikkerhetsinformasjonen som trengs av en prosess for å få tilgang til et sikret objekt eller en annen prosess som krever autorisasjon. Sikre objekter er vanligvis data i filsystemet med lese- og skriveprivilegier definert, og en prosess er ethvert annet program eller tjeneste som krever autorisasjon for å få tilgang til funksjonene. Mens et tilgangstoken ganske enkelt er en beholder som kan inneholde informasjon, brukes det vanligvis til å lagre brukerrettigheter.
Konseptet med et tilgangstoken ble først og fremst tenkt og brukt av Microsoft® operativsystemer og programmer, men deres nytte har båret dem andre steder. Programmeringsgrensesnittet (API) for Google beskriver en metode for bruk av tilgangstokener mens du programmerer applikasjoner som trenger tilgang til data tilknyttet en Google-brukeres konto. Noen av de store plattformene for sosiale nettverk bruker også tilgangstegn i deres API.
I utgangspunktet, når en bruker logger seg på et operativsystem eller et programvaresystemramme, verifiser systemet brukeren og passordet i en sikkerhetsdatabase, og det opprettes et tilgangstoken som identifiserer brukeren til ethvert objekt eller prosess på systemet. Eventuelle prosesser - for eksempel applikasjoner, programmer eller tjenester - som blir startet av brukeren, vil ha tilgangstokenet med seg. Tilgangstokenet må da lagre flere biter med data som et annet program eller objekt sjekker mot for å gi tilgang.
Tilgangstokener inneholder sikkerhetsidentifikatorene (SID), vanligvis numeriske koder, for brukeren, alle brukergrupper som brukeren tilhører, og den gjeldende påloggingsøkten. Tokenet inneholder også en liste over eventuelle privilegier som brukeren eller gruppene har tillatelse til. Det finnes et par forskjellige typer tilgangstegn, så tokenet må også identifisere sin type, enten primær eller etterligning. Et primært tilgangstoken er standardtypen som brukes, men det kan også opprettes en identifikasjonstoken for å handle på brukerens vegne.
Når et tilgangstoken blir kalt for å gjøre jobben sin, møter den en sikkerhetsreferansemonitor (SRM), en tjeneste som overvåker tilgang til objekter og prosesser på systemet. SRM henter sikkerhetsbeskrivelsen til objektet eller prosessen for sammenligning med tilgangstokenet. Sikkerhetsbeskrivelsen inneholder en tilgangskontrolliste (ACL), der hver tilgangskontrolloppføring (ACE) definerer visse tillatelser for det objektet eller prosessen. For eksempel, i tilfelle av en fil på systemet, inneholder sikkerhetsbeskrivelsen informasjon om hvilke brukere eller grupper som har tillatelse til å lese eller skrive til filen. Hvis tilgangstokenet som ber om tilgang til å åpne eller redigere filen ikke samsvarer med tillatelsene i sikkerhetsbeskrivelsen, mislykkes tilgangen og brukeren nektes tilgang til filen.