Vad är en åtkomsttoken?
I datoroperativsystem och andra mjukvaroramverk är en åtkomsttoken vilken datastruktur som innehåller den säkerhetsinformation som krävs av en process för att komma åt ett säkert objekt eller en annan process som kräver godkännande. Säkra objekt är vanligtvis data i filsystemet med läs- och skrivrättigheter definierade, och en process är alla andra program eller tjänster som kräver behörighet för att få åtkomst till dess funktioner. Medan ett åtkomsttoken helt enkelt är en behållare som kan hålla information, används det vanligtvis för att lagra användarrättigheter.
Konceptet med ett åtkomsttoken utformades och användes främst av Microsoft® operativsystem och program, men deras användbarhet har transporterat dem någon annanstans. Applikationsprogrammeringsgränssnittet (API) för Google beskriver en metod för att använda åtkomsttoken medan programmering av applikationer som behöver åtkomst till data som är kopplade till en Google-användares konto. Några av de stora sociala nätverksplattformarna använder också åtkomsttoken i deras API.
I grund och botten, när en användare loggar in i ett operativsystem eller ett programvarusystemram, verifierar systemet användaren och lösenordet i en säkerhetsdatabas, och ett åtkomsttoken skapas som identifierar användaren till något objekt eller process på systemet. Alla processer - som applikationer, program eller tjänster - som startas av användaren kommer att ha åtkomsttoken med sig. Åtkomsttoken måste då lagra flera bitar data som ett annat program eller objekt kontrollerar mot för att ge åtkomst.
Access-token innehåller säkerhetsidentifierare (SID), vanligtvis numeriska koder, för användaren, alla användargrupper som användaren tillhör och den aktuella inloggningssessionen. Token innehåller också en lista över alla behörigheter som användaren eller grupperna har tillåtet. Det finns ett par olika typer av åtkomsttecken, så tokenet måste också identifiera dess typ, antingen primär eller efterliggande. Ett primärt åtkomsttoken är den standardtyp som används, men det kan också skapas en förutsättningstoken för att agera på användarens vägnar.
När ett åtkomsttoken kallas för att utföra sitt jobb, möter det en säkerhetsreferensmonitor (SRM), en tjänst som övervakar åtkomst till objekt och processer i systemet. SRM drar fram säkerhetsbeskrivningen för objektet eller processen för jämförelse med åtkomsttoken. Säkerhetsbeskrivaren innehåller en åtkomstkontrollista (ACL), där varje åtkomstkontrollpost (ACE) definierar vissa behörigheter för det objektet eller processen. Till exempel, i fallet med en fil i systemet, innehåller säkerhetsbeskrivningen information om vilka användare eller grupper som har tillåtelse att läsa eller skriva till filen. Om åtkomsttoken som begär åtkomst för att öppna eller redigera filen inte stämmer med behörigheterna i säkerhetsbeskrivningen misslyckas åtkomsten och användaren nekas åtkomst till filen.