Sicherheit bei Webservices

Die wichtigsten Security-Ansätze: SSL

Einige der Security-Anforderungen für Webservices lassen sich mit vorhandenen Techniken realisieren. Bei Sicherungsmaßnahmen für Webtransaktionen kommt heute meist das SSL-Protokoll zum Einsatz. Es sorgt für einen sicheren Übertragungstunnel zwischen HTTP-Client und HTTP-Server.

SOAP-Nachrichten können anstatt über HTTP auch über Secure HTTP transportiert werden. Dabei wird HTTP mit dem SSL-Zusatzprotokoll verbunden. Da HTTPS die ganze Übertragung mittels Public-Key-Verfahren codiert, ist der gesamte Nachrichtenaustausch verschlüsselt und ein fremdes Mitlesen unmöglich. Da der Client eine Nachricht auch unterschreiben und der Webservice seine Identität gegenüber dem Client beweisen kann, ist auch eine Authentifizierung via SSL realisierbar. SSL-Client-Zertifikate oder eine grundlegende Authentifizierung über HTTP lassen sich relativ einfach einsetzen, da sie für den Webservice selbst transparent sind.

Das auf der Transportebene ansetzende SSL bietet also Vertraulichkeit und Authentifizierung. Doch für die umfangreiche Absicherung der Webservices ist SSL nicht tauglich, denn die Vertraulichkeit der Daten ist lediglich zwischen zwei Knoten und nicht etwa von Beginn bis Ende der Übermittlungskette gewährleistet. Da SSL nur den Tunnel authentifiziert und nicht die SOAP-Nachricht, ist der Absender zum Beispiel nicht mehr sicher zu ermitteln, sobald die Nachricht beim Service ankommt. Für den Nachrichtenaustausch, bei dem die Nachricht zuverlässig den Empfänger erreicht beziehungsweise die Unzustellbarkeit der Nachricht dem Sender gemeldet wird, gibt es bei HTTP und HTTPS keine Lösung.

Vor allem aber braucht die neue Generation von Webservices wie oben erwähnt zusätzlich noch weitere Eigenschaften neben Vertraulichkeit und Authentifizierung. Deshalb muss SSL durch zusätzliche Sicherheitsmaßnahmen ergänzt werden.