Wat is een toegangstoken?
In computerbesturingssystemen en andere softwarekaders is een toegangstoken elke datastructuur die de beveiligingsinformatie bevat die een proces nodig heeft om toegang te krijgen tot een beveiligd object of een ander proces waarvoor autorisatie vereist is. Veilige objecten zijn meestal gegevens in het bestandssysteem met lees- en schrijfrechten en een proces is een ander programma of service waarvoor autorisatie vereist is om toegang te krijgen tot de functies. Hoewel een toegangstoken gewoon een container is die informatie kan bevatten, wordt het meestal gebruikt om gebruikersrechten op te slaan.
Het concept van een toegangstoken werd voornamelijk bedacht en gebruikt door Microsoft®-besturingssystemen en -programma's, maar hun bruikbaarheid heeft ze elders gebracht. De Application Programming Interface (API) voor Google beschrijft een methode voor het gebruik van toegangstokens bij het programmeren van applicaties die toegang moeten hebben tot gegevens die zijn gekoppeld aan een Google-gebruikersaccount. Sommige grote sociale netwerkplatforms gebruiken ook toegangstokens in hun API.
Kortom, wanneer een gebruiker zich aanmeldt bij een besturingssysteem of softwaresysteemframework, verifieert het systeem de gebruiker en het wachtwoord in een beveiligingsdatabase en wordt een toegangstoken gemaakt dat de gebruiker identificeert voor elk object of proces op het systeem. Alle processen - zoals applicaties, programma's of services - die door de gebruiker worden gestart, dragen het toegangstoken met zich mee. Het toegangstoken moet dan verschillende gegevensbits opslaan die door een ander programma of object worden gecontroleerd om toegang te verlenen.
Toegangstokens bevatten de beveiligings-ID's (SID), meestal numerieke codes, voor de gebruiker, eventuele gebruikersgroepen waartoe de gebruiker behoort, en de huidige inlogsessie. Het token bevat ook een lijst met alle rechten die de gebruiker of groepen zijn toegestaan. Er zijn een paar verschillende soorten toegangstokens, dus het token moet ook het type identificeren, primair of imitatie. Een primair toegangstoken is het standaardtype dat wordt gebruikt, maar een imitatietoken kan ook worden gemaakt om namens de gebruiker te handelen.
Wanneer een toegangstoken wordt ingeschakeld om zijn werk te doen, komt het een beveiligingsreferentiemonitor (SRM) tegen, een service die de toegang tot objecten en processen op het systeem bewaakt. De SRM haalt de beveiligingsdescriptor van het object of proces op ter vergelijking met het toegangstoken. De beveiligingsdescriptor bevat een toegangscontrolelijst (ACL), waarbij elke toegangscontrole-item (ACE) bepaalde machtigingen voor dat object of proces definieert. In het geval van een bestand op het systeem bevat de beveiligingsdescriptor bijvoorbeeld informatie over welke gebruikers of groepen toestemming hebben om het bestand te lezen of te schrijven. Als het toegangstoken dat toegang vraagt om het bestand te openen of te bewerken niet overeenkomt met de machtigingen in de beveiligingsdescriptor, mislukt de toegang en wordt de gebruiker de toegang tot het bestand geweigerd.