Bundesamt für Sicherheit in der Informationstechnik

G 5.197 Missbrauch von SAML-Token in SOA-Umgebungen

Beim Zugriff eines Clients aus einer Informationsdomäne A auf einen Service-Provider in einer Informationsdomäne B muss zum einen geprüft werden, ob der jeweilige Client berechtigt ist, auf diese entfernte Ressource zuzugreifen. Zum anderen muss der angesprochene Provider unabhängig davon prüfen, ob dieser Fernzugang akzeptiert werden kann.

Ist die Berechtigung einmal festgestellt, wird in der Kommunikation ein Security-Assertion-Markup-Language-( SAML )-Token verwendet, das den Zugang ermöglicht. Ein SAML -Token kann hierbei sowohl vom Security-Token-Service ( STS ) der Domäne A als auch der Domäne B ausgestellt werden.

Zwei Modelle der SAML -Token-Vergabe stehen sich hier gegenüber:

  • Föderiertes Modell: Der Client der Domäne A beantragt bei seinem lokalen STS -Provider ein SAML -Token zum definierten Service-Provider der Domäne B. Der STS -Provider der Domäne A hat das erforderliche Wissen über den Provider der Domäne B und kann daher ein SAML -Token für beide ausstellen.
  • Enterprise-Modell: Hier hat nur der STS -Provider der Domäne B auch das notwendige Wissen über den nachgefragten Service-Provider der Domäne B. In diesem Fall kontaktiert der STS -Provider der Domäne A den STS -Provider der Domäne B und handelt mit diesem das SAML -Token aus, das dann der jeweilige STS -Provider an seinen Client (oder Provider) übermittelt.

Im ersten Fall vertrauen alle Instanzen dem STS -Provider der aufrufenden Domäne, im zweiten Fall vertrauen die Instanzen einer Domäne nur jeweils ihrem lokalen STS -Provider. Zwischen den STS -Providern wird dann parallel verhandelt.

Die Gefahr besteht generell darin, dass ein Vertrauensverhältnis über Domänengrenzen hinweg aufgebaut wird bzw. bestehen muss. Eingriffsmöglichkeiten im Aufbau dieses Vertrauensverhältnisses führen dazu, dass SAML -Token womöglich unberechtigt ausgestellt werden, ohne dass die beteiligten Kommunikationsinstanzen hierüber Kenntnis erhalten.

Stand: 15. EL Stand 2016