Sicherheit bei Web Services

Transportsicherheit – SSL/TLS

Wie bei den meisten anderen verteilten Computersystemen können auch bei Web Services Sicherheitsansätze auf allen Schichten des OSI-Schichtenmodells angewandt werden. Im klassischen Web spielt die Transportsicherheit eine relativ große Rolle. Unter Transportsicherheit versteht man das nicht abhörbare und nicht veränderbare Ausliefern von Nachrichten. Dem entspricht in der realen Welt ein Briefumschlag, der verhindert, dass ein Dritter eine Sendung verändern oder lesen kann.

Bei Sicherungsmaßnahmen für Web-Transaktionen kommt heute meist das SSL-Protokoll (Secure Socket Layer) bzw. die standardisierte Weiterentwicklung TLS (Transport Layer Security) zum Einsatz. Diese Protokolle sorgen für einen sicheren Übertragungstunnel zwischen HTTP-Client und HTTP-Server, so dass eine Nachricht während des Transports nicht gelesen oder verändert werden kann. Banken setzen SSL bekanntlich für die Authentifizierung und Verschlüsselung von Konto-Transaktionen ein. Da HTTP auch Web Services transportiert liegt es nahe, hier ebenfalls SSL/TLS zu verwenden.

Schichtenmodell: Sicherheitsebenen bei Web Services: SSL setzt auf der Protokollschicht an. (Quelle: DaimlerCrysler)
Schichtenmodell: Sicherheitsebenen bei Web Services: SSL setzt auf der Protokollschicht an. (Quelle: DaimlerCrysler)

Technisch realisiert SSL/TLS Sicherheit unter Verwendung symmetrischer Verschlüsselung des kompletten Kommunikationskanals mit vorheriger optionaler wechselseitiger Authentisierung durch Aushandeln eines gemeinsamen Schlüssels. Wie SSL/TSL genau funktioniert lesen Sie im Beitrag Security im Überblick (Teil 5).

Das auf der Transportebene ansetzende SSL/TLS bietet also Vertraulichkeit und Authentifizierung. Für eine Kommunikation zwischen genau zwei Partnern wie einer Bank und seinem Kunden ist SSL/TLS eine gute Lösung. Doch für die umfangreiche Absicherung der Web Services ist SSL/TLS nicht tauglich. Denn die Vertraulichkeit der Daten ist lediglich zwischen zwei Knoten und nicht etwa von Beginn bis Ende der Übermittlungskette gewährleistet.

Im Web Services Umfeld ist es aber spätestens bei der Nutzung von Intermediären meist nicht mehr möglich, die Daten sicher zu übertragen. Auf dem Weg vom Sender zum Empfänger erhält der Intermediär Informationen, die eventuell nicht für ihn bestimmt sind. Für die Gewährleistung von Sicherheit ist es notwendig, dass Teile einer Sendung verschieden behandelt werden können und somit zum Beispiel ein Beteiligter nur einen Teil lesen kann. In komplexen Web Services Szenarien ist es also nicht möglich, eine allgemeine Lösung nur auf Basis von Transportsicherheit zu entwickeln.