Sicherheit in verteilten Systemen mit Java und SAML

Slides:



Advertisements
Ähnliche Präsentationen
Ausblick auf Shibboleth 2.0
Advertisements

Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Software Architektur Service­orientierte Architektur und Sicherheit
© 2009 ICW AG – GE Partner Enabling - title of training presentation
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Einführung in die Informatik: Programmierung und Software-Entwicklung
Vorteile der Online-Produkte
Sicherheit in SOA Was kommt auf Entwickler zu? Sebastian Weber
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
SOAP Simple Object Access Protocol
1 Allgemeine Fragestellung Suche nach wissenschaftlicher Information im Internet Quelle wird gefunden, aber… …Zugang nur gegen Passwort oder Zahlung Wiss.
Bernd Oberknapp, UB Freiburg
Einführung in den Identity Provider
Datenbankzugriff im WWW (Kommerzielle Systeme)
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Erweiterung B2B Usermanagement / LDAP-Anbindung
Sicherheit und Personalisierung Internet Portal der Universität München.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SOAP (Simple Object Access Protocol)
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Betreuerin: Kathleen Jerchel
Elektronische Signatur
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Software Architektur III
27. Juni 2003 Jan Drewnak – Institut für Geoinformatik, Münster Zugriffskontrolle in Geodateninfrastrukturen Web Authentication Service (WAS) und Web Security.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Das integrierte Lösungsportfolio
D I E V E R W A L T U N G D E S 2 1. J H D T ´ S F.Grandits / U.Linauer E-Government Kommunikationsarchitektur Schnittstellen für integrierte Lösungen.
Java für Fortgeschrittene
Software Architektur Service­orientierte Architektur und Sicherheit
Sesame Florian Mayrhuber
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
PROCAM Score Alter (Jahre)
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Management- und Web Services- Architekturen
Symmetrische Blockchiffren DES – der Data Encryption Standard
Struktur von RDF Fabian Scheller.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Mathematical Programming Nichtlineare Programmierung.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Reinhold Rumberger Web Services.
Internetsicherheit Referenten: Christian Schnidrig, David Gundi.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Shibboleth. Agenda Shibboleth? Single-Sign-On SAML & Co. Shibboleth  Eigenschaften  Architektur & Komponenten  Implementierungen  Kommunikation 
Identity Management.  Zentrale Begriffe und Probleme  Modellbildung  Methoden zur Authentisierung über HTTP  Technische Aspekte  Compliance  Hindernisse,
OAuth 2.0 Ralf Hoffmann 03 / 2017
 Präsentation transkript:

Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Jürgen Groothues 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Vorstellung Jürgen Groothues (juergen@groothues.icw.de) Fa. InterComponentWare AG (Walldorf/Baden) Senior Software Developer Technical Lead Application Security 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Agenda Sicherheit in verteilten Systemen mit Java und SAML Was ist das Problem? Wie hilft SAML bei der Lösung? Exkursion: Digitale Signatur Wie hilft Java bei der Lösung? Lösungs-Beispiele (Code und Demos) 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Anwendungsfälle Was ist das Problem? 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML / x

Anwendungsfälle Authentifizierung von Web Services Krankenhaus A Krankenhaus B Internet Web Service Aufruf Identitäts- Information Arzt 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Anwendungsfälle Attribut-basierte Autorisierung Krankenhaus A Krankenhaus B Internet Web Service Aufruf Autorisierungs- Information Arzt 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML 6

Anwendungsfälle Web Single Sign-On Airline.com Benutzer Information Identitäts- Benutzer Authentifizierung Browser 1 2 CarRental.com Zugriff auf geschützte Resource 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Saml Architektur Wie hilft SAML bei der Lösung? 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architektur Was ist SAML? Entwickelt vom Security Services Technical Committee der „Organisation for the Advancement of Structured Information Standards“ (Sponsoren z.Bsp.: IBM, Microsoft, Oracle, SAP, HP, US DoD, viele andere... ) Ein offener, XML-basierter Standard zur Beschreibung und zum Austausch von Identitäts- und Autorisierungs-Daten Identity Provider Service Provider Identitäts- Daten Autorisierungs- Daten SAML SAML 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architektur Assertion Assertion Issuer „ Der Aussteller (Issuer) versichert, daß der Eigentümer (Subject) dieser Assertion sich mit einem Password erfolgreich authentifiziert hat (AuthnStatement). Diese Assertion ist gültig unter diesen Bedingungen (Conditions): ...“ Signature des Issuer Subject Conditions AuthnStatement Signature 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architecture Assertion 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architektur Assertion mit Attributen Assertion Issuer „... Der Eigentümer(Subject) hat die folgenden Rollen:... und arbeitet in der folgenden Abteilung:... (Attributes).“ Signature des Issuer Subject Conditions AuthnStatement AttributeStatement Signature 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architecture Assertion with Attributes 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architektur Konzepte Beispiele: Profiles Web Browser SSO Profile benutzt Web Browser SSO Profile HTTP Post Binding Authentication Request Protocol Authentication Statement Profiles Kombiniert Bindings, Protocols und Assertions um einen konkreten Anwendungsfall abzubilden Bindings Mapping von SAML Protocols auf Standardprotokolle Protocols Kommunikation von Assertions Assertions Authentifizierung, autorisierungsrelevante Attribute 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

SAML Architektur Sicherheit von Assertions Wie wird eine Assertion gegen Fälschung geschützt? Digitale Signatur des Assertion-Ausstellers (Signature) Wie wird eine Assertion gegen Mißbrauch geschützt? Verwendung eines Gültigkeits-Zeitraums (NotBefore/NotOnOrAfter) Einschränkung des Empfänger-Kreises (Audience) Verhinderung der Wiederverwendung (durch Service-Provider) Bindung der Assertion an die Nachricht (HolderOfKey) Wie wird die Vertraulichkeit der Assertion geschützt? Verwendung von verschlüsselter Assertion (EncryptedAssertion) Verwendung von SSL (TLS) als Transport-Level Sicherheit (durch Infrastruktur) Warum kann man einer Assertion überhaupt trauen? Weil man dem Aussteller der Assertion vertraut (PKI/Trust-Relationship, Signature) 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Digitale Signatur Exkursion 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur Grundlage: Asymmetrische Verschlüsselung Alice Bob Original Original Encrypted Bob‘s Private Key Bob‘s Public Key Encrypter Decrypter Das Original wird mit dem Public Key des Empfängers verschlüsselt und kann nur mit dem Private Key des Empfängers entschlüsselt werden 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur Signatur Erstellung Alice Digest Message Digester Signed Message Alices‘s Private Key Bob Encrypter Signature Der Sender hängt einen mit seinem Private Key verschlüsselten Digest an die Nachricht an. 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur Signatur Verifikation Bob Message Signature Message Integrity and Authenticity Verification successful failed Alices‘s Public Key Digester Decrypter yes no Computed Digest Equal? Decrypted Digest Der Empfänger verwendet den Public Key des Senders um den Digest zu entschlüsseln und vergleicht diesen Wert mit dem selbst berechneten Digest. 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur Anforderungen an XML Signatur Gesamtes XML Dokument oder einzelne XML Elemente sollen signiert werden können Aufgrund von Geschäftsregeln Aus Performance Gründen Signatur-Metadaten müssen kommuniziert werden Welche Schlüssel wurden für die Signatur verwendet Welche XML Elemente wurden signiert Signatur muß selbst als XML Element dargestellt werden können (http://www.w3.org/TR/xmldsig-core/) Problem: Syntaktisch äquivalente XML Dokumente können unterschiedliche Signaturen produzieren... 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur Problem XML Signatur Herausfoderung XML Signatur: Syntaktisch äquivalente XML Dokumente können unterschiedliche Signaturen produzieren: Signature Signature 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur XML Canonicalization XML Canonicalization (c14n): Wohlgeformte XML Dokumente werden in ein „Standard-Format“ transformiert (http://www.w3.org/TR/xml-c14n) Universum aller XML Dokumente Syntaktisch äquivalente XML Dokumente c14n c14n c14n c14n Canonical Form 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur XML Signatur und SAML Assertion Assertion Signature SignedInfo SignedInfo: Was wurde wie signiert CanonicalizationMethod SignatureMethod Reference  Assertion Reference: Welches Element bzw. Dokument wurde signiert Transforms DigestMethod DigestValue DigestValue: Digest des referenzierten Elements (base64) SignatureValue SignatureValue: Verschlüsselter Digest des SignedInfo Elements (base64) KeyInfo KeyInfo: Informationen über den verwendeten Signatur-Schlüssel 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur XML Signatur - Beispiel 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

JaVA XML Digital SignaturE API Wie hilft Java bei der Lösung? JaVA XML Digital SignaturE API 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Java XML Digital Signature API Übersicht JSR 105 http://jcp.org/en/jsr/detail?id=105 Seit Java SE 6 Erlaubt Erzeugung und Validierung von XML Signaturen Unterstützt die W3C XML Digital Signature Spezifikation (http://www.w3.org/TR/xmldsig-core/) Erlaubt die Signierung von XML- und Binär-Daten Basiert auf der Java Cryptography Service Provider Architecture (JCA) Relevante Java SE Packages: javax.xml.crypto javax.xml.crypto.dsig javax.xml.crypto.dsig.keyinfo javax.xml.crypto.dsig.spec javax.xml.crypto.dom javax.xml.crypto.dsig.dom 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Java XML Digital Signature API Erzeugung einer XML Signatur (1/3) Signature SignedInfo CanonicalizationMetho SignatureMethod Reference  Assertion Transforms DigestMethod DigestValue SignatureValue KeyInfo 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Java XML Digital Signature API Erzeugung einer XML Signatur (2/3) Signature SignedInfo CanonicalizationMetho SignatureMethod Reference  Assertion Transforms DigestMethod DigestValue SignatureValue KeyInfo 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Java XML Digital Signature API Erzeugung einer XML Signatur (3/3) Signature SignedInfo CanonicalizationMetho SignatureMethod Reference  Assertion Transforms DigestMethod DigestValue SignatureValue KeyInfo 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Java Architecture for XML Binding (JAXB 2.x) Wie hilft Java bei der Lösung? Java Architecture for XML Binding (JAXB 2.x) 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

JAXB 2.x Übersicht JSR 222 http://jcp.org/en/jsr/detail?id=222 Referenzimplementierung: JAXB Project (http://jaxb.java.net) Seit Java 5 Bestandteil Java SE Bindet (bidirektional) XML an Java Beans (POJOs) Generiert Java Beans aus einem bestehenden XML Schema Generiert XML Schemas aus einem bestehenden Java Beans Datenmodell Verwendet Java-Annotationen als Bindungs-Informationen Relevante Java SE Packages: javax.xml.bind javax.xml. bind.annotation javax.xml. bind.annotation.adapters javax.xml. bind.attachment javax.xml. bind.util 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

JAXB 2.x Architektur Compile-Zeit Laufzeit XML-Schema Generator Dokument Bindungs- Deklarationen Unmarshal Schema- Generator Marshal Binding-Framework (JAXB-API) Schema- Compiler Marshal Unmarshal JAXB- Annotationen Java Beans Java Beans Instanzen 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

JAXB 2.x Schema-Compiler Der Schema-Compiler generiert aus einem XML Schema Java Klassen mit JAXB- Annotationen: XML-Schemakomponente Java-Komponente Namespace Package oasis.names.tc.saml._2_0.assertion Datentyp Java-Klasse Element Instanz-Variable ... 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

JAXB 2.x Schema-Compiler Das Default-Verhalten des Schema-Compilers kann mit Bindungs-Deklarationen überschrieben werden: Package-Name überschreiben: Klassen-Name überschreiben: 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

JAXB 2.x Schema-Compiler mit Maven 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

MySAML Lösungs-Beispiel 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

MySaml Architektur 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

https://github.com/groothues/mysaml MySaml API <Demo> https://github.com/groothues/mysaml 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

WS-Security, SSO Beispiel-Anwendungen 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Beispiel-Anwendung Web Service Security 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Beispiel-Anwendung Web Service Security – SOAP Request soap:Envelope soap:Header wsse:Security WS-Security Core Specification saml:Assertion WS-Security SAML Token Profile http://www.oasis- open.org/committees/tc_home.php?wg_abbrev=wss soap:Body my:currentTime 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Beispiel-Anwendung Web Service Security – Trust Relationship 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

https://github.com/groothues/mysaml Beispiel-Anwendung Web Service Security <Demo> https://github.com/groothues/mysaml 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Beispiel-Anwendung Web Single Sign-On (SSO) 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Beispiel-Anwendung Web Single Sign-On – Trust Relationship 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Beispiel-Anwendung <Demo> Web Single Sign-On (SSO) 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Ressourcen 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML / x

Resourcen JAXB 2.0, Samuel Michaelis u. Wolfgang Schmiesing, Hanser Verlag SOA Security, Ramarao Kanneganti u. Prasad Chodavarapu, Manning Verlag SAML (Knowledgebase für SAML Specs, Profile, Tutorials und Implementierungen: http://saml.xml.org/wiki/saml-wiki-knowledgebase OASIS SAML Übersichtsseite: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security IHE XUA (Cross Enterprise User Assertion, ab Seite 88): http://www.ihe.net/Technical_Framework/upload/IHE_ITI_TF_Rev7- 0_Vol2b_FT_2010-08-10.pdf JAXB http://jaxb.java.net/ Java XML Digital Signatures http://java.sun.com/developer/technicalArticles/xml/dig_signatures/ Programming with the Java XML Digital Signature API http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/ 09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML / x