Sicherheit im E-Commerce/Spezifikationen sollen Web-Services sicher machen

Vertrauensbildung für Netzdienste

14.02.2003
Viele Firmen planen, Web-Service-Techniken in ihren IT-Umgebungen zu implementieren. Doch sobald es darum geht, Geschäftsdaten über Web-Services zu übermitteln, stellt sich die Frage nach geeigneten Security-Mechanismen. Deshalb entwickeln eine Reihe von Herstellern Spezifikationen, die Web-Services absichern sollen. Von Marc Chanliau*

Die Frage, wie Web-Services adäquat abgesichert werden können, blieb bislang weitgehend unbeantwortet. Im Rahmen einer von Bea Systems in Auftrag gegebenen Befragung von 320 IT-Verantwortlichen teilten 24 Prozent der Beteiligten mit, innerhalb der kommenden zwölf Monate zwischen 100000 und 500000 Euro in Web-Services investieren zu wollen. Zweifel an der Sicherheit von Web-Services führen allerdings bei 48 Prozent der Befragten zur Zurückhaltung: Diese planen zunächst keine Ausgaben in diesem Bereich. Das Beratungshaus Cap Gemini Ernst & Young kommt zu einem ähnlichen Ergebnis: Die in der Studie befragten 170 überwiegend mittelständischen Unternehmen haben vor allem eine große Befürchtung, die sie von einer Web-Service-Implementierung Abstand nehmen lässt. Zwei Drittel der Befragten machen sich Sorgen um die durch den Einsatz dieser Technik entstehenden Sicherheitslücken. Die Skepsis ist nicht unbegründet: Ohne Konzepte, die sowohl den Übertragungsweg als auch den Inhalt eines Web-Service wirksam absichern und Informationen zur Anwenderidentität liefern, setzt die Implementierung solcher Web-Dienste die Funktionsfähigkeit der gesamten IT-Infrastruktur eines Unternehmens aufs Spiel.

Web-Services sind XML-basierende Schnittstellen zu Applikationen, die über das Internet lokalisiert und aufgerufen werden. Sie fungieren quasi als standardisierte Internet-Middleware, mit deren Hilfe sich Daten zwischen verschiedenen Anwendungen austauschen lassen. Hierbei kann es sich um simple Anfragen, aber auch um mehrstufige Geschäftsvorgänge handeln. Web-Services können im Internet lokalisiert und aufgerufen werden. Diese Dienste nutzen verschiedene technische Spezifikationen wie beispielsweise Universal Description, Discovery and Integration (UDDI) zum Anzeigen und Verbinden, Web Services Description Language (WSDL) zur Beschreibung des Dienstes sowie Simple Object Access Protocol (Soap) zum Datenaustausch. Durch Verwendung dieser offen gelegten Spezifikationen zeichnen sich die Netzdienste durch einen hohen Standardisierungsgrad sowie Plattformunabhängigkeit aus.

Doch fehlen Standards wie Soap Schutzmechanismen. Prinzipiell könnten daher nicht explizit geschützte Web-Services den Zugriff auf IT-Ressourcen erlauben, und zwar selbst dann, wenn sich diese hinter einer Firewall befinden. Mit dem Verfahren Secure Socket Layer (SSL) lässt sich zwar der Transportweg zwischen Absender und Empfänger absichern, aber nicht das dabei übermittelte Dokument. Informationen, die beispielsweise Auskunft über die Identität eines Aufrufers eines Web-Service oder die Gültigkeitsdauer einer Session (session lifetime) geben, werden über SSL in jedem Fall nur ungenügend ausgedrückt. Manipulationen bei mehrstufigen Web-Services können so nicht ausgeschlossen werden. Aus diesem Grunde wird der Einsatz von Sicherheitsmechanismen notwendig, die durch Verschlüsselung Datensicherheit und -integrität gewährleisten (XML Encryption, XML Signature, XML Key Management Specification) sowie Authentifizierungs-, Autorisierungs- Statusinformationen und weitere Session-Attribute übermitteln (Security Assertion Markup Language = SAML, WS-Security).

Der geschützte Datenaustausch eines Web-Service kann auf Basis verschiedener Verfahren erfolgen, die sich entweder auf den Transportvorgang und Dateninhalt oder auf die Anwenderinformationen beziehen.

Eingebettete Verschlüsselung

So legt XML Encryption fest, wie Informationen in einem XML-Dokument zu verschlüsseln und zu decodieren sind. Bestimmte Syntax-Elemente ("Tags") repräsentieren dabei die verschlüsselten Informationen (beliebige Binärdaten oder strukturierte XML-Daten). Empfänger können exakt auf die für sie bestimmten Teilinformationen eines XML-Datenobjekts zugreifen. Dieses Verfahren gewährleistet Vertraulichkeit, liefert aber keine ausreichenden Informationen über die Identität eines Aufrufers. XML Encryption wird von einer W3C-Arbeitsgruppe entwickelt und ist als W3C-Candidate-Recommendation veröffentlicht (http://www.w3.org/TR/xmlenc-core).

XML Signature bestimmt Regeln für digitale Unterschriften zu XML-Dokumenten und die Verarbeitung von Signaturen. Somit realisiert diese Spezifikation die Authentizität der übertragenen Daten. Durch Anbringen einer digitalen Signatur wird sichergestellt, dass ein Dokument genau so beim Empfänger eintrifft, wie es der Absender losgeschickt hat. Außerdem lässt sich die Urheberschaft einer Information auf diese Weise validieren. Digitale Signaturen lassen sich dazu nutzen, die Konsistenz der Informationen zu gewährleisten. Zudem dienen sie dazu, Berechtigungen einzuholen, etwa im Rahmen einer Zugriffskontrolle oder der Nutzungsberechtigung eines Web-Dienstes. Auch für diese Spezifikation zeichnet eine W3C-Arbeitsgruppe verantwortlich, die XML Signature als W3C-Recommendation beziehungsweise IETF-Draft-Standard vorgelegt hat (http://www.w3.org/TR/xmldsig-core).

Die XML Key Management Specification (XKMS) ist ein Standardvorschlag für den Umgang mit zertifizierten Schlüsseln. Anstatt komplizierte Funktionen für die Verwaltung von elektronischen Schlüsseln über Toolkits oder durch Schnittstellen-Programmierung in die Geschäftsanwendungen zu integrieren, delegiert XKMS die erforderlichen Schlüsseloperationen an einen speziellen Web-Service, den XKMS-Responder. Die Key-Management-Spezifikation unterstützt XML Encryption und XML Signature bei der Nutzung klassischer PKI-gestützter Infrastrukturdienste (http://www.w3.org/2001/XKMS).

WS-Security von Oasis

Der Sicherheitsmechanismus WS-Security nutzt XML Encryption und XML Signature, um die Vertraulichkeit und Authentizität von Soap-Nachrichten zu gewährleisten. Innerhalb eines XML-Dokuments wird festgelegt, wo die sicherheitsrelevanten Informationen stehen. Über WS-Security lassen sich Benutzerinformationen lokalisieren, ihr Inhalt allerdings nicht näher bestimmen - vergleichbar mit einem Bibliothekar, der genau sagen kann, wo ein Buch zu finden ist, aber natürlich nicht auswendig weiß, was darin geschrieben steht. (http://www.oasis-open.org/committees/wss).

Eine weitere Spezifikation, die SAML, wurde entwickelt, um sicherheitsrelevante Informationen über Authentifizierung, Autorisierung und Anwenderattribute zu beschreiben sowie Berechtigungsschemata zu definieren. Über diese Sicherheitsnotation können Unternehmen miteinander kommunizieren, ohne ihre IT-Sicherheits-Infrastruktur anpassen zu müssen. Der Grund: SAML selbst ist kein neues Verfahren für Authentifizierung und Zugangskontrolle, sondern strukturiert die Art und Weise, wie solche Sicherheitsinformationen ausgetauscht werden. Die in SAML formulierten Einfügungen lassen sich mittels XML-Encryption und XML-Signature sichern.

Zu betonen ist in diesem Zusammenhang jedoch, dass SAML und WS-Security komplementäre Verfahren sind und keineswegs in Konkurrenz zueinander stehen. Während SAML Sicherheitsinformationen über einen Benutzer ausdrückt, wird anhand der WS-Security-Spezifikation festgelegt, wie und wo in einem Web-Service-Datenpaket Security-Informationen untergebracht werden.

Auch wenn sich einige der Standards erst im Entwicklungsstadium befinden, besitzen Verfahren wie XML Encryption oder SAML das Potenzial, zu Basistechnologien in der IT-Sicherheit zu avancieren. Möglicherweise werden künftige Benutzerumfragen bezüglich der Sicherheit von Web-Services positiver ausfallen. (fn)

*Marc Chanliau ist Senior Product Manager bei Netegrity in Neu-Isenburg.

Mehrstufige (multiple) Web-ServicesEin Einkäufer ruft über eine mit SSL gesicherte Verbindung den Web-Service "Bestellung" (erster Vorgang) auf. Nach automatischer Bearbeitung der Kauforder wird der Web-Service "Auslieferung" (zweiter Vorgang) gestartet, der an die zuständige Versandabteilung des Anbieters weitergeleitet wird. Über Authentifizierung des Einkäufers mittels SSL kann der zweite Web-Service nicht die Identität des Einkäufers erkennen. Wird dagegen XML Signature oder ein SAML-Ticket verwendet, ist die Weitergabe relevanter Benutzerinformationen gesichert. Für die eigentlichen Geschäftsdaten kann XML Encryption Sicherheit gewährleisten.

Angeklickt

Potenzielle Anwender von Web-Services-Techniken bangen um die Sicherheit ihrer IT-Systeme: Sie fürchten, dass ihre bisher unter Verschluss gehaltenen Geschäftsdaten und Funktionen für jedermann zugänglich werden könnten. Diese Bedenken halten viele Firmen davon ab, Web-Services-Projekte in Angriff zu nehmen. Hersteller haben sich daher in verschiedenen Standardisierungsgremien zusammengefunden und entwickeln Spezifikationen, die die bestehenden Web-Services-Techniken um Authentifizierungs- und Verschlüsselungsfunktionen sowie digitale Signaturen ergänzen.