Single-Sign-on sicher mit XML

Webservices können nur dann erfolgreich werden, wenn ihre Sicherheit und einfache Handhabung gewährleistet sind. Die XML-basierte Security Assertions Markup Language (SAML) hat das Potenzial zum entscheidenden Standard zu werden, um Interaktionen zwischen Websites zu sichern.

Von: Susanne Franke

Die folgende Situation könnte bald der Vergangenheit angehören: Sie müssen geschäftlich verreisen und loggen sich mit Benutzernamen und Kennwort auf der Website Ihres Reisebüros ein, um einen Flug zu reservieren. Damit Sie einen Leihwagen buchen können, müssen Sie nun dieselbe Prozedur für die Site der Autovermietung durchlaufen und dann vielleicht nochmals, um ein Hotelzimmer zu reservieren. Die Mühe dieses mehrfachen Sign-ons soll für Unternehmen und ihre Partner vorbei sein, falls sich die Sicherheitsspezifikation für Webservices "Security Assertions Markup Language" (SAML) durchsetzt.

Die Spezifikation ist ein herstellerneutrales, XML-basiertes Framework, das dazu dient, sicherheitsbezogene Informationen, so genannte "Assertions", innerhalb eines Unternehmens oder zwischen Geschäftspartnern über das Internet auszutauschen. Das Ergebnis: Anwender können sich mit Benutzernamen und Kennwort auf einer Website anmelden und diese Sicherheitsinformationen werden automatisch an Partner-Sites übertragen. Das bedeutet beispielsweise für das oben beschriebene Szenario, dass Sie einmal bei der Anmeldung auf der Site des Reisebüros Ihre Daten angeben und diese dann automatisch an die beiden anderen Websites der Geschäftspartner weiter gegeben werden. Neben dem so genannten Single-Sign-on sind auch weitere Anwendungsmöglichkeiten denkbar, wie etwa verteilte Transaktionen. Ein Unternehmen kann beispielsweise auf der Website eines Lieferanten einkaufen, sobald die Informationen für die Authorisierung und die Versandadresse durch einen Informationstreuhänder hinterlegt sind. Als Alternative kann der Kunde auf die Website des Lieferanten zugreifen, der dann die Sicherheitsinformationen direkt bei der Behörde anfordert, bevor die Transaktion durchgeführt wird.

Die Spezifikation, die die Zusammenarbeit zwischen Produkten für das Zugriffsmanagement und die Sicherheit für Webservices regelt, steht kurz vor der Annahme durch OASIS (Organization for the Advancement of Structured Information Standards), einem weltweiten Nonprofitkonsortium, das die Entwicklung und Umsetzung von E-Business-Standards vorantreibt.

SAML 1.0 befasst sich nicht mit Policies für Zugriffsrechte. Dafür sind die einzelnen Partner zuständig, die gegenseitige Regeln für die Benutzerauthentifizierung und den Datenschutz aufstellen müssen. Die Spezifikation enthält auch keine neue Technik oder Ansätze für Authentifizierung. Sie definiert Benutzerauthentifizierung, Autorisierung und Attributsinformationen in XML-Dokumenten und legt Assertion- und Protokoll-Schemata für die Struktur der Dokumente fest, die Sicherheitsinformationen enthalten. SAML wird zur gemeinsamen Sprache, in der Unternehmen miteinander kommunizieren können, ohne ihre internen Sicherheitsarchitekturen zu verändern.

Der Standard verwendet HTTP, SMTP (Simple Mail Transfer Protocol) und verschiedenen XML-Frameworks wie SOAP (Simple Object Access Protocol) und E-Business XML. Er besteht aus folgenden Hauptkomponenten:

Die eigentliche Authentifizierung und Autorisierung eines Anwenders ist nicht die Aufgabe des Standards. Dazu bedarf es eines Authentifizierungsservers in Verbindung mit einem LDAP-Verzeichnis (Lightweight Directory Access Protocol).

Zu den Anbietern, die die SAML in ihren Produkten unterstützen, gehören RSA Security, Netegrity, Oblix, Baltimore Technologies, Crosslogix, Novell, Sun Microsystems und IBM. Microsoft hat ebenfalls angekündigt, SAML in die kommende .Net-Betriebsumgebung zu implementieren. Doch wollen die Redmonder wichtige Teile wie SOAP-Bindings, Browser-Profile oder das Request/Response Messaging Protocol weglassen. Der Standard soll nur als XML-Syntax zur Beschreibung der Datenstrukturen von Informationen dienen, die zwischen .Net und anderen Umgebungen ausgetauscht werden. Damit ist es fraglich, ob die SAML-Implementierung der Gates-Company mit den Webservice-Sicherheitsprodukten anderer Anbieter zusammenarbeitet.

Die Liberty Alliance verwendet als Basis ihrer technischen Spezifikation zur Identifikation in Netzverbünden, deren Release 1.0 vor einem Monat veröffentlicht wurde, ebenfalls SAML. Liberty Alliance ist eine Gruppe von mittlerweile 70 Herstellern und Anwenderunternehmen wie Sun, Nokia, Novell, Mastercard oder American Express. Die Ziele der LA-Spezifikation gehen über die von SAML hinaus.

Die Version 1.0 definiert das so genannte Opt-in Account Linking. Damit können Anwender Konten, die sie auf verschiedenen Sites oder in Unternehmen haben, miteinander verbinden, sobald die Services eine Zusammenarbeit erlauben. Das Sign-on auf verlinkte Konten ist dann nur einmal notwendig. Der Authentifizierungskontext ermöglicht es Providern, die verlinkte Konten unterstützen, sich über die Art der Authentifizierung des Anwenders zu verständigen. Die nächste Version soll die Möglichkeit definieren, dass Organisationen Anwenderinformationen austauschen können, für die der User die Erlaubnis erteilt.

James Kobelius, Senior Analyst bei der Burton Group, würdigte die Bedeutung des Liberty-Standards für das E-Business, äußerte jedoch auch Zweifel: "Die Hauptmängel der Spezifikation bestehen darin, dass sie noch unerprobt ist, auf dem ebenfalls noch unreifen SAML-Standard beruht und viele, komplexe technische Integrationsdetails den Herstellern überlässt." Die Anbieter von Websicherheitsprodukten haben noch ein hartes Stück Arbeit vor sich, um die Interoperabilität zwischen den einzelnen SAML-Implementierungen zu gewährleisten.