Martin Raepple Programmierhandbuch SAP NetWeaver* Sicherheit Galileo Press Bonn Boston
Inhalt Vorwort 13 2.1 Sicherheit und serviceorientierte Architekturen 24 2.1.1 Sicherheitsziele der Informationssicherheit 24 2.1.2 Serviceorientierte Architekturen und Enterprise SOA 27 2.1.3 Funktionale Sicherheitsanforderung in einer serviceorientierten Architektur 33 2.2 Entwicklung von Sicherheitskonzepten 35 2.2.1 Risikoanalyse 35 2.2.2 Auswahl von Sicherheitsmaßnahmen 40 2.3 Grundlegende Sicherheitsmaßnahmen 40 2.3.1 Kryptografie 41 2.3.2 Hash-Funktionen 46 2.3.3 Message Authentication Code 47 2.3.4 Digitale Signaturen 49 2.3.5 Digitale Zertifikate 51 2.4 Public-Key-Infrastruktur 52 2.5 Zusammenfassung 55 3.1 J2EE-Anwendungssicherheit 58 3.1.1 Authentifizierung 59 3.1.2 Autorisierung 64 3.2 J2EE-Security in der Praxis 74 3.2.1 Einführung in das Unternehmensszenario 74 3.2.2 Projekt OrderManager 74 3.2.3 Funktionale Anforderungen 75 3.2.4 Rollenmodell und Berechtigungen 78 3.2.5 Architektur 79 3.2.6 Ableitung der Berechtigungen auf Komponentenebene 82 7
Inhalt 3.2.7 Übung 1: Absicherung der OrderManager- Anwendung mit J2EE-Security 84 3.3 Anwendungssicherheit in J2EE-Anwendungen mit der SAP-User-Management-Engine-API 107 3.3.1 Rollen und Berechtigungsmodell 108 3.3.2 Programmiermodell 110 3.3.3 Authentifizierung 112 3.3.4 Autorisierung 116 3.3.5 Identity-Management-API 117 3.3.6 Übung 2: Umsetzung des erweiterten Berechtigungskonzepts mit der UME API 122 3.4 Java Authentication and Authorization Service 145 3.4.1 JAASAPI 146 3.4.2 Login-Module und Login-Modul-Stacks 147 3.4.3 Callbacks und Callback Handler 151 3.4.4 Autorisierung mit JAAS 152 3.4.5 JAAS im SAP NetWeaver Application Server Java 153 3.5 Zusammenfassung 161 4.1 Grundlagen 164 4.1.1 Vor- und Nachteile 164 4.1.2 Lösungsansätze 165 4.1.3 Portale 166 4.2 Single Sign-on im Intranet 167 4.2.1 SAP Logon Ticket 168 4.2.2 Verifikation von SAP Logon Tickets in Fremdsoftware 171 4.2.3 Unternehmensszenario: SSO-Integration einer externen Anwendung in das Mitarbeiterportal 172 4.2.4 Übung 3: SSO-Integration von AddressBook in das Mitarbeiterportal 186 4.3 Unternehmensübergreifendes Single Sign-on 209 4.3.1 Technische und organisatorische Anforderungen 210 4.3.2 Rollen 213 4.3.3 Identity Federation 213 4.3.4 Security Assertion Markup Language 218 4.3.5 Unterstützung von SAML in SAP NetWeaver.. 234 8
4.3.6 Unternehmensszenario: Unternehmensübergreifendes Single Sign-on zwischen Händler und Großhändler 236 4.3.7 Übung 4: Umsetzung von unternehmensübergreifendem Single Sign-on 255 4.4 Zusammenfassung 306 5.1 Grundlagen 310 5.1.1 Ziele 310 5.1.2 Lebenszyklus digitaler Identitäten 311 5.1.3 Vorteile 311 5.1.4 Identity-Management-Systeme 312 5.2 Service Provisioning Markup Language 313 5.2.1 Provisioning-Modell 314 5.2.2 Operationen 315 5.2.3 Protokoll und Bindings 316 5.2.4 Provisioning-Schema 318 5.2.5 Implementierungen 321 5.2.6 Erweiterungen in SPML 2.0 322 5.3 Unterstützung von SPML in SAP NetWeaver 323 5.3.1 UME-Provisioning-Schema 324 5.3.2 Anwendungsfälle 326 5.4 Federated Identity Provisioning 333 5.4.1 Unternehmensszenario: Federated Identity Provisioning zwischen Groß- und Einzelhändler 335 5.4.2 Übung 5: Umsetzung des Federated Identity Provisionings 344 5.5 Zusammenfassung 355 6.1 Architektur 357 6.2 Webservice-Basisstandards 360 6.2.1 Extensible Markup Language 360 6.2.2 SOAP 361 6.2.3 Web Services Description Language 364 6.2.4 Bedrohungen 368 6.3 Sicherheitsstandards 369
6.3.1 Secure Sockets Layer und Transport Layer Security 369 6.3.2 Web Services Security 372 6.3.3 Web Services Trust 382 6.3.4 Web Services Secure Conversation 382 6.3.5 Web Services Security Policy 383 6.4 Interoperabilität 386 6.4.1 WS-I Basic Security Profile 387 6.4.2 WS-I BSP Sample Application 388 6.4.3 WS-I Testing Tools 389 6.5 Unterstützung für sichere Webservices in SAP NetWeaver 390 6.5.1 WS-Security-Entwicklungsmodell 391 6.5.2 Unterstützung im SAP NetWeaver Application Server Java 394 6.5.3 Unterstützung im SAP NetWeaver Application Server ABAP 414 6.5.4 Zusammenfassung 432 6.5.5 Ausblick 433 6.6 Testen und Fehleranalyse 434 6.6.1 Durchführung von Verbindungstests 435 6.6.2 Aufzeichnung und Visualisierung des Nachrichtenflusses 437 6.6.3 Behebung von Synchronisationsproblemen... 443 6.7 Unternehmensszenario: Prozessautomatisierung mit Webservices 445 6.7.1 Systemarchitektur 446 6.7.2 Technische und organisatorische Rahmenbedingungen 450 6.7.3 Risikoanalyse 451 6.7.4 Sicherheitsanforderungen 452 6.8 Übung 6: Realisierung der Teilszenarien mit WS-Security 453 6.8.1 Implementierung des PurchaseOrder-Service. 454 6.8.2 Implementierung des Shipping-Service 461 6.8.3 Implementierung des CreditRating-Service... 479 6.8.4 Implementierung des PurchaseOrder-Proxys. 489 6.8.5 Implementierung des ShippingService-Proxys 498 6.8.6 Implementierung des GreditRating-Proxys 504 6.8.7 Testen des Szenarios 515 6.9 Zusammenfassung 522
Inhalt A Aufbau der Zertifizierungsstelle und Schlüsselmanagement im Unternehmensszenario 527 A.1 Installation der Zertifizierungsstelle 529 A.2 Erstellen des SecureSale-SSL-Schlüsselpaars für den Apache Tomcat 535 A.3 Einrichten des SSL-Servers für SecureSale im SAP NetWeaver Application Server Java 538 A.4 Einrichten des SSL-Servers für SecureShipping im SAP NetWeaver Application Server ABAP 547 A.5 Erstellen des CompSOA-SSL-Schlüsselpaars 553 A.6 Erstellen der SecureSale-Webservice-Schlüsselpaare für Signaturen und Verschlüsselung im SAP NetWeaver Application Server Java 555 A.7 Erstellen des CompSOA-Webservices-Keystore 559 A.8 Erstellen des SecureShipping-Webservice-Schlüsselpaars für Signaturen 562 A.9 Erstellen des TrustedBank-Webservice- Signaturschlüsselpaars 564 B Literaturverzeichnis 567 C Der Autor 571 Index 573 11