Identitätsmanagement

Es ist zwischen dem Identitätsbegriff in der Soziologie und der Informatik zu unterscheiden. Die Soziologie beschäftigt sich mit dem Wesen von Identitäten, während in der Informatik andere Aspekte eine Rolle spielen. In der Informatik repräsentiert eine Identität eine bestimmte Kombination von Rollen und Eigenschaften eines Subjekts (physisch, kontextuell, logisch), das einen eindeutigen Bezeichner hat. Eine Identität umfasst mindestens so viele Merkmale, dass ein Nutzer von anderen Nutzern eindeutig unterschieden werden kann [Mez08, S. 9].

Ziel des Identitätsmanagements ist der Schutz von Daten bzw. Ressourcen, d. h. man möchte wissen, wer die Subjekte sind, welche Zugriffsrechte sie haben und was sie mit den Zugriffsrechten machen. Das Identitätsmanagement umfasst alle notwendigen Maßnahmen, die erforderlich sind, um Nutzer von IT-Systemen eindeutig zu identifizieren und ihnen die benötigten Zugriffsrechte zu erteilen. Die Nutzer können natürliche Personen oder IT-Systeme sein. Die zu ergreifenden Maßnahmen sollten standardisierte und nachvollziehbare Prozesse sein [Mez08, S. 10].

Zugriffsberechtigungen sind nicht zwingend an natürliche Personen gebunden – ein Identitätsträger kann auch ein technischer Nutzer sein. Technische Berechtigungen, die keine manuellen Eingriffe erfordern, werden hierbei an IT-Systeme vergeben, während Berechtigungen mit manuellen Vorgängen nur an natürliche Personen vergeben werden [Tso10, S. 25 f].

Authentifizierung und Autorisierung

Als Authentifizierung bezeichnet man die Verifikation einer von einer Entität behaupteten Identität. Authentifizierung und Integrität der Nachrichten gehören zusammen [Tan07, S. 397]. Authentifizierung ist der Vorgang, bei dem bewiesen wird, dass ein Subjekt tatsächlich das Subjekt ist, welches es vorgibt zu sein [Til11, S. 128].

Formal gesehen gehört das Verifizieren von Zugriffsrechten zur Zugriffskontrolle, während die Autorisierung das Gewähren dieser Rechte darstellt. Die Authentifizierung geht der Autorisierung unmittelbar voraus. Subjekte versenden Requests, um auf Objekten bestimmte Operationen auszuführen. Zugriffskontrolle bedeutet, alle Objekte gegen den Zugriff von Subjekten zu schützen, die keine Rechte dazu besitzen. In der Regel wird die Autorisierung von der Entität durchgeführt, die den Dienst zur Verfügung stellt. Rechte können aber auch von der anfordernden Stelle vergeben werden. Autorisierung gehört formal zur Software Security.

Zugriffsberechtigung

Eine Zugriffsberechtigung hängt von zwei Faktoren ab: Dem Objekt und der Operation. Das zu berechtigende Objekt, welches auch als Ressource bezeichnet wird und die zu berechtigende Operation, welche bei Inhaltsressourcen, die hier ausschließlich betrachtet werden sollen, meist aus einen einheitlichen Satz von Operationen besteht (z. B. GET, PUT, POST und DELETE) [Tso10, S167 f].

Eine Möglichkeit, Berechtigungssysteme in Applikationen umzusetzen, sind Zugriffskontrolllisten (Access Control Lists – ACLs), die z. B. im Microsoft Betriebssystem für den Zugriff auf Dateien verwendet werden. Eine Zugriffskontrollliste ist an ein Objekt gebunden und beinhaltet eine Liste von Subjekten und deren Zugriffsrechte. Die Information über die Subjekte und deren Zugriffsrechte für eine konkrete Ressource ist jederzeit verfügbar und einfach zu verwalten, was ideal für eine verteilte Verwaltung von Berechtigungen ist. Aufwändig ist jedoch die Ermittlung der Menge aller aktuellen Zugriffsrechte eines Subjekts.

Modellierung von Zugriffsrechten mit der Zugriffskontrollliste (ACL)

Die Umsetzung mit einer Zugriffskontrollliste erfolgt meist bei der nutzerbestimmten Zugriffskontrolle. Dabei erhält jedes Objekt eine eigene Liste von Subjekten mit den zugehörigen erlaubten Methoden. Im Grunde bedeutet das, dass die Zugriffskontrollmatrix Spaltenweise auf die Objekte verteilt wird (Abbildung 1) [Tan07, S. 415 f].

072513_1134_identittsma1

072513_1134_identittsma2

072513_1134_identittsma3

Abbildung 1: Beispiele von Zugriffskontrolllisten

Hier ist wieder der Umstand zu berücksichtigen, dass es sich bei dem zu betrachtenden System um ein verteiltes System handelt und zentrale Berechtigungssysteme vermieden werden sollen. Daher wird für die Aufgabenressourcen die identitätsbezogene Zugriffskontrolle zusammen mit der Zugriffskontrollliste (ACL) zur Modellierung gewählt. Jede Ressource erhält ihre eigene ACL.

Berechtigungsmodelle

Bei den Berechtigungsmodellen wird grundsätzlich zwischen dem zentralen und dem dezentralen Berechtigungsmodell unterschieden [Tso10, S. 109 ff].

Beim zentralen Berechtigungsmodell werden die Ressourcen und ihre Berechtigungen in einem zentralen Repository gehalten. Benutzer- und Rechteverwaltung werden z. B. in einem LDAP- (Lightweight Directory Access Protocol) fähigen Repository/Verzeichnisdienst ausgelagert. Mit dem zentralen Berechtigungsmodell ergibt sich das Single-Point-Of-Failure Problem, welches entsprechend abzusichern ist. Ein zentrales Modell bietet jedoch auch eine höhere Sicherheit, da gewährleistet ist, dass nicht autorisierte Personen keine Änderungen vornehmen können [Tso10, S. 109 f].

Beim dezentralen Berechtigungsmodell führt jede Ressource ihren eigenen kleinen Datenspeicher mit den benötigten Berechtigungsdaten. Der Vorteil ist, dass die Ressource unabhängig von anderen Systemen Zugriffsberechtigungen ermitteln kann. Nachteil ist, dass Identitäten oder Rollen an jeder Ressource angelegt und bekannt gemacht werden müssen. Die Koordination und Vereinheitlichung in der Gesamtarchitektur stellt eine Herausforderung dar [Tso10, S. 111ff].

 

[Mez08] Christian Mezler-Andelberg, Identity Management – Eine Einführung. Heidelberg: dpunkt.verlag, 2008.

[Tan07] Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems.: Pearson Education, 2007.

[Til11] Stefan Tilkov, REST und HTTP – Einsatz der Architektur des Web für Integrationsszenarien. Heidelberg: dpunkt.verlag, 2011.

[Tso10] Alexander Tsolkas and Klaus Schmidt, Rollen und Berechtigungskonzepte. Wiesbaden: Vieweg+Teubner Verlag, 2010, TWZ 4536.

 

Leave a Reply