Federation-Technologien im Detail

Federation

Federation ist ein Ansatz, der im Ergebnis ein Single Sign-On für verschiedene Anwendungen ermöglicht, indem die Sicherheits-Tokens, die von einem Identity Provider (und damit auch einem STS) bereitgestellt wurden, beim Zugriff auf Ressourcen akzeptiert werden, auch wenn dort eigentlich mit einem anderen STS gearbeitet wird – indem eben eine Vertrauensstellung direkt oder indirekt aufgebaut wird.

Dieses Zusammenspiel kann auf unterschiedliche Weise erfolgen. Dafür werden so genannte Profile definiert, die festlegen, wie Federation-Standards und -Technologien genutzt werden können. Innerhalb des Standards WS-Federation gibt es derzeit das Active Requestor Profile und das Passive Requestor Profile. Diese Profile sind erweiterte, spezifische Beschreibungen des generellen Frameworks, das durch WS-Federation vorgegeben wird. Es ist grundsätzlich denkbar, noch weitere solche Profile zu beschreiben. Die beiden bisher existierenden Profile werden weiter unten in diesem Artikel noch näher betrachtet.

Ein zentrales Element bei der Federation sind die Identity Provider. Dabei handelt es sich um eine spezielle Variante der STS. Sie übernehmen neben dem Ausstellen von Security-Tokens, die sie gegebenenfalls auch von anderen Systemen beziehen können, zumindest auch die Authentifizierung und die Zuordnung von Claims innerhalb der Security-Tokens, also beispielsweise die Zuordnung von Rolleninformationen.

Ein weiterer Aspekt, auf den WS-Federation abhebt, ist das Sign-Out. Neben der Authentifizierung muss auch sichergestellt werden, dass Sicherheits-Tokens nach dem Ende einer Sitzung aus dem Cache gelöscht und nicht von Angreifern wieder verwendet werden können.

Wichtige Punkte sind auch die Attribute und Pseudonyme. Attribute sind zusätzliche Informationen, die über eine Identität benötigt werden. Solche Informationen können innerhalb einer Federation-Beziehung angefordert werden. Attribute werden von einem Attribute Service geliefert. In vielen Fällen ist der Attribute Service mit dem Identity Provider integriert. Das Active Directory in Verbindung mit den ADFS stellt sowohl die Dienste des Identity Providers als auch des Attribute Service bereit, indem auf Informationen aus dem Verzeichnis zugegriffen werden kann.

Wichtig ist, dass es für unterschiedliche Attribute unterschiedliche Sicherheits- und Privacy-Regeln geben kann. Darüber wird gesteuert, wer welche Informationen sehen darf. Die Fähigkeiten von Attribute Services werden in den Richtlinien-Dokumenten beschrieben.

Pseudonyme sind andere Bezeichnungen für Benutzer. Diese Dienste sind wichtig, wenn ein Benutzer MartinK beispielsweise bei einem anderen System als martin@kuppinger.de dargestellt werden muss oder wenn mehrere Individuen in einer Rolle zusammengefasst werden. In der Regel werden auch diese Dienste integriert angeboten. Grundsätzlich wäre es aber denkbar, dass alle Dienste, also Identity Provider mit STS, Attribute Service und Pseudonym Service getrennt voneinander operieren (Bild 3).

Bild 3: Das Konzept von Attribute und Pseudonym Services (Quelle: Microsoft).
Bild 3: Das Konzept von Attribute und Pseudonym Services (Quelle: Microsoft).

Interessant ist schließlich auch noch die Rolle der Metadaten in einer Federation-Beziehung. Als Metadaten werden die beschreibenden Informationen bezeichnet, die festlegen, wie die Federation-Beziehungen funktionieren. Dazu gehören die Richtlinien sowie gegebenenfalls auch WSDL-Beschreibungen (Web Service Description Language, Festlegungen zur Funktionalität von Web Services) sowie Schemas (Strukturbeschreibungen für XML-Dokumente). Außerdem werden Informationen benötigt, um beispielsweise Identity Provider, STS und andere Komponenten zu identifizieren, die innerhalb einer Richtlinie (Policy) angegeben werden. Die Standards dafür bilden WS-Policy und, auf der Ebene darunter, WS-MetadataExchange, als Standard für den Austausch solcher Metadaten zwischen den an einer Kommunikation beteiligten Systemen.

Die Ziele der Identity Federation

  • Reduktion der Kosten für das Identity Management,
    indem Identitätsinformationen nicht mehr mehrfach
    verwaltet werden müssen, sondern von einer vertrauten
    Organisation/einem vertrauten System bezogen
    werden.

  • Sicherstellen der Autonomie der beteiligten Organisationen,
    indem unterschiedliche Systeme in einem
    heterogenen Umfeld zusammenarbeiten können.

  • Aufbau flexibler Trust-Strukturen, mit denen die Anforderungen
    der beteiligten Organisationen sichergestellt
    werden.

  • Sicherung der Anforderungen an die Privatheit (Privacy)
    von Identitätsinformationen.

  • Verwendung offener Standards, um sichere, verlässliche
    Transaktionen für das Business und Individuen
    zu unterstützen.