Web-Services sind nicht sicher genug

29.08.2002
Von Sabine Ranft

Secure Sockets Layer (SSL) und Secure HTTP (HTTPS): SSL wurde ursprünglich von Netscape entwickelt und dient heute der Verschlüsselung und Authentisierung für Web-Server und Browser. Die Kombination von HTTP mit SSL wird HTTPS genannt. Normalerweise bestätigt HTTPS die Identität des Servers gegenüber einem Client und bietet Ende-zu-Ende-Verschlüsselung für HTTP. HTTPS soll die Vertraulichkeit von Web-Services sicherstellen, stößt aber dabei teilweise an Grenzen.

HTTP Basic Authentication: Basic Authentication ist eine aus User-ID und Passwort bestehende Authentisierung für Web-Ressourcen. Für Web-Services ist das nicht stark genug, da sich Benutzername und Passwort leicht entschlüsseln lassen.

Quelle: Martin Nystrom, Cisco

Sicherung einzelner Transaktionen

Bankfachliche Anwendungen etwa erfordern zusätzlich zu einem HTTPS-Tunnel eine eigene digitale Signatur für jede Transaktion. Sonst könnte sich am Client ein Trojaner zwischen eigentlicher Anwendung und der Übertragung per HTTPS einklinken sowie von dort Parameter auslesen und manipulieren. Die Sicherung jeder einzelnen Transaktion hat den Vorteil, dass man dann wenigstens einen Protokolleintrag als Beweismittel in der Hand hat. Allerdings belastet dieses Vorgehen den Server mit einem großen Rechenaufwand. Eine entsprechend hohe Performance muss gewährleistet werden. Manche Sicherheitsimplementierungen verlängern auch die Antwortzeit, die aber für Web-Services besonders wichtig ist.

Eine weitere Gefahr geht von der inneren Struktur der Web-Services selbst aus. Sie enthalten nämlich Beschreibungen ihrer eigenen Funktionen. Wenn diese Beschreibungen falsch sind - und das wird nicht überprüft -, führt der Web-Service ganz andere Operationen aus, als der Anwender glaubt. Er mutiert quasi zu einem Trojanischen Pferd.