Autoren: Kristian Kottke, Christian Latus, Cristina Murgu, Ognyan Naydenov Folie 1
Agenda Sicherheitsprobleme von Web Services Lösungsansätze Sicherheitsmechanismen des Java Application Servers Autorisation und Zugriffskontrolle Vertraulichkeit und Integrität Authentifizierung Der WS Security Standard Zusammenfassung / Ausblick Folie 2
Problembereiche von Web Services Bedrohung der: Vertraulichkeit Integrität Authentizität Folie 3
Problembereiche von Web Services Verletzung der Vertraulichkeit: Dritte können PW bzw. Kontodaten auslesen. Verletzung der Integrität: Anzahl der zu kaufenden Aktien oder das zu belastende Konto können manipuliert werden. Verletzung der Authentizität: Absender können gefälscht werden. (typischer Man-in-the-middle-Angriff) Folie 4
Lösungsansätze Java Application Server Transportsicherheit mittels SSL Point-to-Point Sicherheitslösung Identitätsmanagement und Zugriffskontrolle Als Basissicherheit einfach zu implementieren WS-Security Rahmenwerk für Nachrichtensicherheit von IBM, Microsoft und Verisign entwickelt Sicherheitserweiterung für SOAP Nachrichten End-to-End Sicherheitslösung Folie 5
Lösungsansätze Java Application Server SSL-Verschlüsselung: Sicherung von Vertraulichkeit und Integrität Signierte Zertifikate und Passwortabfragen: Sicherung der Authentizität Zusätzlich: Identitätsmanagement: Sicherung von Autorisation / Zugriffskontrolle Identifikation des Requesters (Non-Repudiation) Folie 6
Lösungsansätze Java Application Server Die Kommunikation für diese Sitzung wird SSL verschlüsselt. Beidseitige Authentifizierung zwischen User und ClientInterface per Login. Hi, I m the server! This ist my certification Hi, I m a user. My Username and passwort is Folie 7
Lösungsansätze Java Application Server Zertifikatsbasierte Authentifizierung zwischen den Komponenten. Die Kommunikation wird ebenfalls SSLverschlüsselt. Folie 8
Sicherheitsmechanismen des Java Application Servers Definition von Rollen, Gruppen und Benutzern Sicherheitsbedingungen (constraints) Zu schützende Ressourcen Zugriffsbeschränkung auf Rollen Transportsicherung der Nachrichten Authentifizierungsmethoden Passwortgestützt Zertifikatsbasiert (auch beidseitig) Kombinationen Folie 9
Autorisation und Zugriffskontrolle Rollendefinition 1. User werden im Admin-Bereich des Application Servers angelegt und zu Gruppen von Usern zusammengefasst 2. In der web-xml werden die Benutzerrollen der Web Anwendung definiert. 3. Die Benutzerrollen werden in der sun-web.xml den Application Server Gruppen zugeordnet. Folie 10
Autorisation und Zugriffskontrolle Rollendefinition Folie 11
Autorisation und Zugriffskontrolle Rollendefinition Mögliche Rollen: Dienste Bank Depot Informationssystem UserInterface Benutzer User Admin Folie 12
Autorisation und Zugriffskontrolle Security-Constraints Security constraints werden ebenfalls in der web.xml definiert: Zu schützende Bereiche url-pattern Method (post / get) Betroffene Rollen Transportsicherung der Daten: Confidential Integral None Folie 13
Authentifizierung Basic authentication <login-config> <auth-method>basic</auth-method> </login-config> Folie 14
Authentifizierung Form-based authentication <login-config> <auth-method>form</auth-method> <form-login-config> <form-login-page>/logon.jsp</form-login-page> <form-error-page>/logonerror.jsp</form-error-page> </form-login-config> </login-config> Folie 15
Authentifizierung Certificate-based mutual authentication Folie 16
Authentifizierung Password-Based Mutual Authentication Folie 17
Der WS-Security Standard SSL ist nicht perfekt: Keine teilweise Verschlüsselung und Signatur von Nachrichten (da point-to-point Lösung) Bindung an HTTP WS-Security bietet: End-to-End Lösung durch Nachrichtensicherheit Kollaboration zw. verschiedenen Standards; dadurch Sicherheit in heterogenen Systemen mögl Verwendung verschiedener Algorithmen und Schlüssel in einer SOAP Nachricht Folie 18
Der WS-Security Standard Erweiterung der SOAP-Nachrichten um einen Security Header mit: Security Tokens (Authentifizierung) XML-Encryption (Vertraulichkeit) XML-Signature (Integrität) Nutzung/Integration von bestehenden Sicherheitsspezifikationen Implementierungen in Form von Toolkits von verschiedenen Anbietern Folie 19
Der WS-Security Standard Folie 20
Der WS-Security Standard Authentifizierung Security Tokens: Username Token Username/Password Authentifizierung Type: text / digest Binary Security Token X.509-Zertifikat / Keberos Ticket EncodingType: Hex / Base64 Folie 21
Der WS-Security Standard XML-Security XML-Encryption: Verschlüsselung von Teilen einer Nachricht Symmetrische /asymmetrische Verschlüsselung Verschiedene Algorithmen / Schlüssel XML-Signature: Signieren von Teilen einer Nachricht Berücksichtigung der Reihenfolge von Bearbeitungen / Signaturen Verschiedene Algorithmen / Schlüssel Folie 22
Zusammenfassung SSL bietet als Point-to-point Lösung nur beschränkte Sicherheit für Web Services. WS-Security erweitert den Umfang an Sicherheitsmechanismen In komplexen Umgebungen wird Nachrichten- Sicherheit mittel WS-Security benötigt. Insbesondere bei der Übertragung über mehrere Vermittler Als Rahmenwerk eine sinnvolle Ergänzung für bestehende Sicherheitskonzepte Folie 23
Planung / Ausblick Basis-Implementierung: SSL-Verschlüsselung Benutzerrollen Form based- / Certificate based Authentication WS-Security-Erweiterung: Nachrichtensicherheit Authentifizierung zw. Diensten (BinarySecurity Tokens) XML-Encryption XML-Signatur Folie 24
Web Service Security Vielen Dank für die Aufmerksamkeit! Folie 25