Wird die Sicherheit auf Paketebene realisiert, beeinflusst dies die Performance erheblich weniger, doch leidet die Interoperabilität. Bei diesem Verfahren wird der Code des SOAP-Pakets selbst verändert. Um eine Kommunikation zwischen zwei Systemen zu ermöglichen, müssen beide das veränderte SOAP-Paket verarbeiten können. Anders ausgedrückt bedeutet dies, dass an den Punkten, wo bei der Absicherung auf Kanalebene mehr die Konfiguration als die Kodierung im Vordergrund steht, bei der Absicherung auf Paketebene eher die Kodierung statt der Konfiguration zählt.
Implementierung von Sicherheitsfunktionen auf Paketebene
Es gibt drei Möglichkeiten zur Einrichtung von Sicherheitsfunktionen auf Paketebene. Zunächst einmal können spezielle SOAP-Header implementiert werden. Dadurch lassen sich Sicherheitsinformationen in den Header einfügen, so dass alle SOAP-Pakete ohne diese Information zurückgewiesen werden. Im .NET-Framework können spezielle Header problemlos implementiert werden. Es muss lediglich die Klasse des SOAP-Headers übernommen werden, um dann mit dem SOAP-Header-Attribut den neuen Header zu definieren. Das .NET-Framework erstellt automatisch die erforderliche Proxy-Klasse und WSDL zur Unterstützung des neuen Headers. Statt den Inhalt der SOAP-Nachricht zu verändern, können Sie auch einfach die Nachricht verschlüsseln. Um Verschlüsselungen auf Paketebene konfigurieren zu können, müssen Client und Server Zugang zu den privaten und öffentlichen Schlüsseln für das Ver- und Entschlüsseln der auf diese Weise gesicherten Pakete haben. Außerdem müssen Client und Server Standard-Verschlüsselungsalgorithmen verwenden.
Die letzte Möglichkeit zur Implementierung von Sicherheitsfunktionen auf Paketebene ist wesentlich komplexer. Sie bietet sich jedoch für Unternehmen an, die bereits umfangreiche Investitionen in den Microsoft Internet Security and Acceleration-Server (ISA) getätigt haben. Der ISA kann speziell entwickelte Filter zur Auswertung von SOAP-Anfragen implementieren, Sicherheitsprüfungen auf Methoden- Ebene durchführen und sogar den Aufruf von Methoden stoppen, falls der Filter Abweichungen feststellt. Leider müssen in der aktuellen ISA-Version die Filter mit Microsoft C++ als ISAPI-Filter geschrieben werden, was nur wenige Entwickler beherrschen. Dieses Verfahren stellt jedoch bislang auf der Paketebene die höchste Sicherheitsstufe dar. Wenn Sie also Zugang zu den entsprechenden Ressourcen haben und eine ISA-Infrastruktur besitzen oder planen, kann ich dieses Verfahren nur wärmstens empfehlen.
Sie haben die Wahl
Viele Unternehmen werden sich für ein Verfahren auf Kanalebene entscheiden, da die meisten Implementierungen von Web Services bekannte Partner umfassen, die die Anforderungen für eine Berechtigung ohnehin erfüllen. Die Paket-basierte Lösung eignet sich vor allem für interne Implementierungen, in denen beide Seiten von Entwicklungsaktivitäten überprüft werden sollen und präzisere Sicherheitsfunktionen erforderlich sind. Nun, da sie alle Vor- und Nachteile kennen, werden Sie bei der Planung Ihres auf Web Services basierenden Systems sicherlich Wege finden, wie Sie beide Varianten einbeziehen können.
Neueste Kommentare
Noch keine Kommentare zu Planen Sie die Sicherheit Ihrer Web Services
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.