Was ist ein Zugriffstoken?
In Computerbetriebssystemen und anderen Software-Frameworks ist ein Zugriffstoken eine beliebige Datenstruktur, die die Sicherheitsinformationen enthält, die ein Prozess für den Zugriff auf ein geschütztes Objekt oder einen anderen Prozess benötigt, für den eine Autorisierung erforderlich ist. Sichere Objekte sind normalerweise Daten im Dateisystem, für die Lese- und Schreibrechte definiert sind. Ein Prozess ist jedes andere Programm oder jeder andere Dienst, für den eine Berechtigung zum Zugriff auf seine Funktionen erforderlich ist. Während ein Zugriffstoken lediglich ein Container ist, in dem Informationen gespeichert werden können, werden in der Regel Benutzerberechtigungen gespeichert.
Das Konzept eines Zugriffstokens wurde in erster Linie von Microsoft®-Betriebssystemen und -Programmen konzipiert und verwendet, aber seine Nützlichkeit hat sie an anderer Stelle weitergegeben. Die API (Application Programming Interface) für Google beschreibt eine Methode zur Verwendung von Zugriffstoken beim Programmieren von Anwendungen, die auf Daten zugreifen müssen, die mit dem Konto eines Google-Nutzers verknüpft sind. Einige der großen sozialen Netzwerkplattformen verwenden in ihrer API auch Zugriffstoken.
Wenn sich ein Benutzer bei einem Betriebssystem oder einem Softwaresystem anmeldet, überprüft das System den Benutzer und das Kennwort in einer Sicherheitsdatenbank, und es wird ein Zugriffstoken erstellt, mit dem der Benutzer für ein Objekt oder einen Prozess auf dem System identifiziert wird. Alle vom Benutzer gestarteten Prozesse (z. B. Anwendungen, Programme oder Dienste) führen das Zugriffstoken mit sich. Das Zugriffstoken muss dann mehrere Datenbits speichern, anhand derer ein anderes Programm oder Objekt den Zugriff gewährt.
Zugriffstoken enthalten die Sicherheitskennungen (SID), in der Regel numerische Codes, für den Benutzer, alle Benutzergruppen, zu denen der Benutzer gehört, und die aktuelle Anmeldesitzung. Das Token enthält auch eine Liste aller Berechtigungen, die dem Benutzer oder den Gruppen gewährt werden. Es gibt verschiedene Arten von Zugriffstoken, daher muss der Token auch seinen Typ identifizieren, entweder den primären oder den Identitätswechsel. Ein primäres Zugriffstoken ist der verwendete Standardtyp, es kann jedoch auch ein Identitätswechsel-Token erstellt werden, um im Namen des Benutzers zu handeln.
Wenn ein Zugriffstoken zur Ausführung seiner Aufgabe aufgefordert wird, stößt es auf einen Sicherheitsreferenzmonitor (Security Reference Monitor, SRM), einen Dienst, der den Zugriff auf Objekte und Prozesse im System überwacht. Der SRM ruft die Sicherheitsbeschreibung des Objekts oder Prozesses zum Vergleich mit dem Zugriffstoken auf. Die Sicherheitsbeschreibung enthält eine Zugriffssteuerungsliste (Access Control List, ACL), in der jeder Zugriffssteuerungseintrag (Access Control Entry, ACE) bestimmte Berechtigungen für dieses Objekt oder diesen Prozess definiert. Im Fall einer Datei auf dem System enthält die Sicherheitsbeschreibung beispielsweise Informationen darüber, welche Benutzer oder Gruppen zum Lesen oder Schreiben der Datei berechtigt sind. Wenn das Zugriffstoken, das den Zugriff zum Öffnen oder Bearbeiten der Datei anfordert, nicht mit den Berechtigungen in der Sicherheitsbeschreibung übereinstimmt, schlägt der Zugriff fehl und dem Benutzer wird der Zugriff auf die Datei verweigert.