49
/ x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen Groothues 09.05.20 12

x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

Embed Size (px)

Citation preview

Page 1: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML

Public

Sicherheit in verteilten Systemen mit Java und SAMLKarlsruher Entwicklertag 2012

Jürgen Groothues

09.05.2012

Page 2: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 2

Vorstellung

Jürgen Groothues ([email protected])

Fa. InterComponentWare AG (Walldorf/Baden)

Senior Software Developer

Technical Lead Application Security

09.05.2012

Page 3: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 3

AgendaSicherheit 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

Page 4: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 4

ANWENDUNGSFÄLLEWas ist das Problem?

09.05.2012 / x

Page 5: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 5

Anwendungsfälle

09.05.2012

Authentifizierung von Web Services

Web Service Aufruf

Krankenhaus B

Identitäts-Information

Internet

Krankenhaus A

Arzt

Page 6: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ x

Anwendungsfälle

09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML 6

Attribut-basierte Autorisierung

Autorisierungs-Information

6

Web Service Aufruf

Krankenhaus B

Internet

Krankenhaus A

Arzt

Page 7: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 7

Anwendungsfälle

09.05.2012

Web Single Sign-On

Airline.com

CarRental.com

Authentifizierung

Zugriff aufgeschützte Resource

1

2

Benutzer

Browser

Identitäts-Inform

ation

Page 8: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 8

SAML ARCHITEKTURWie hilft SAML bei der Lösung?

09.05.2012

Page 9: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 9

SAML Architektur

• 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

Was ist SAML?

09.05.2012

SAML

Autorisierungs-Daten

SAML

Identitäts-Daten

Identity Provider

Service Provider

Page 10: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 10

SAML Architektur

09.05.2012

Assertion

Assertion

Issuer

Subject

Conditions

AuthnStatement

Signature

„ 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

Page 11: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 11

SAML Architecture

09.05.2012

Assertion

Page 12: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ x12

SAML Architektur

09.05.2012 Sicherheit in verteilten Systemen mit Java und SAML

Assertion mit Attributen

Assertion

Issuer

Subject

Conditions

AuthnStatement

Signature

„...Der Eigentümer(Subject) hat die folgenden Rollen:... und arbeitet in der folgenden Abteilung:... (Attributes).“

Signature des Issuer AttributeStatement

Page 13: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 13

SAML Architecture

09.05.2012

Assertion with Attributes

Page 14: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 14

SAML Architektur

09.05.2012

Konzepte

AssertionsAuthentifizierung,

autorisierungsrelevante Attribute

benutzt

ProtocolsKommunikation von Assertions

BindingsMapping von SAML Protocols auf

Standardprotokolle

ProfilesKombiniert Bindings, Protocols und Assertions

um einen konkreten Anwendungsfall abzubilden

Web Browser SSO Profile

HTTP Post Binding

Authentication Request Protocol

Authentication Statement

Beispiele:

Page 15: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 15

SAML ArchitekturSicherheit von Assertions

09.05.2012

• 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)

Page 16: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 16

DIGITALE SIGNATURExkursion

09.05.2012

Page 17: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 17

Exkursion: Digitale SignaturGrundlage: Asymmetrische Verschlüsselung

09.05.2012

Encrypter

Bob‘s Public Key

Original

Decrypter

Bob‘s Private Key

Original

• 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

Encrypted

Alice Bob

Page 18: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 18

Exkursion: Digitale SignaturSignatur Erstellung

09.05.2012

Encrypter

Alices‘s Private Key

Message

• Der Sender hängt einen mit seinem Private Key verschlüsselten Digest an die Nachricht an.

Signed Message

Alice

Signature

Digester

Digest

Bob

Page 19: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 19

Exkursion: Digitale SignaturSignatur Verifikation

09.05.2012

Alices‘s Public Key

• Der Empfänger verwendet den Public Key des Senders um den Digest zu entschlüsseln und vergleicht diesen Wert mit dem selbst berechneten Digest.

Message

Bob

Signature

Digester

ComputedDigest

Decrypter

DecryptedDigest

Equal?

yes no

Message Integrity and Authenticity Verification

successful failed

Page 20: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 20

Exkursion: Digitale SignaturAnforderungen an XML Signatur

09.05.2012

• 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...

Page 21: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 21

Exkursion: Digitale SignaturProblem XML Signatur

09.05.2012

• Herausfoderung XML Signatur: Syntaktisch äquivalente XML Dokumente können unterschiedliche Signaturen produzieren:

Signature Signature

Page 22: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 22

Exkursion: Digitale SignaturXML Canonicalization

09.05.2012

• XML Canonicalization (c14n): Wohlgeformte XML Dokumente werden in ein „Standard-Format“ transformiert (

http://www.w3.org/TR/xml-c14n)

CanonicalForm

c14n

c14n

c14n

c14n

Universum aller XML Dokumente

Syntaktisch äquivalente XML Dokumente

Page 23: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML

Exkursion: Digitale Signatur

23

XML Signatur und SAML Assertion

09.05.2012

Assertion

Signature

KeyInfo

SignedInfo

SignatureMethod

CanonicalizationMethod

Reference Assertion

Transforms

DigestMethod

DigestValue

SignatureValue

SignedInfo: Was wurde wie signiert

Reference: Welches Element bzw. Dokument wurde signiert

DigestValue: Digest des referenzierten Elements (base64)

SignatureValue: Verschlüsselter Digest des SignedInfo Elements (base64)

KeyInfo: Informationen über den verwendeten Signatur-Schlüssel

Page 24: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 24

Exkursion: Digitale SignaturXML Signatur - Beispiel

09.05.2012

Page 25: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 25

JAVA XML DIGITAL SIGNATURE APIWie hilft Java bei der Lösung?

09.05.2012

Page 26: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 26

Java XML Digital Signature APIÜbersicht

09.05.2012

• 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

Page 27: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 27

Java XML Digital Signature APIErzeugung einer XML Signatur (1/3)

09.05.2012

Signature

KeyInfo

SignedInfo

SignatureMethod

CanonicalizationMetho

Reference Assertion

Transforms

DigestMethod

DigestValue

SignatureValue

Page 28: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 28

Java XML Digital Signature APIErzeugung einer XML Signatur (2/3)

09.05.2012

Signature

KeyInfo

SignedInfo

SignatureMethod

CanonicalizationMetho

Reference Assertion

Transforms

DigestMethod

DigestValue

SignatureValue

Page 29: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 29

Java XML Digital Signature APIErzeugung einer XML Signatur (3/3)

09.05.2012

Signature

SignatureValue

SignedInfo

SignatureMethod

CanonicalizationMetho

Reference Assertion

Transforms

DigestMethod

DigestValue

KeyInfo

Page 30: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 30

JAVA ARCHITECTURE FOR XML BINDING (JAXB 2.X)

Wie hilft Java bei der Lösung?

09.05.2012

Page 31: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 31

JAXB 2.xÜbersicht

09.05.2012

• 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

Page 32: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 32

JAXB 2.xArchitektur

09.05.2012

Binding-Framework(JAXB-API)

XML-Dokument

Compile-Zeit Laufzeit

XML-Schema

Bindungs-Deklarationen

JAXB-Annotationen

Schema-Compiler

Schema-Generator

Marshal Unmarshal

object Class Model

Assertion

Issuer

Signature

Java BeansInstanzen

Marshal Unmarshal

Java Beans

Page 33: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 33

JAXB 2.xSchema-Compiler

09.05.2012

• Der Schema-Compiler generiert aus einem XML Schema Java Klassen mit JAXB-Annotationen:

XML-Schemakomponente Java-Komponente

Namespace Packageoasis.names.tc.saml._2_0.assertion

Datentyp Java-Klasse

Element Instanz-Variable

... ...

Page 34: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 34

JAXB 2.xSchema-Compiler

09.05.2012

• Das Default-Verhalten des Schema-Compilers kann mit Bindungs-Deklarationen überschrieben werden:

Package-Name überschreiben:

Klassen-Name überschreiben:

Page 35: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 35

JAXB 2.xSchema-Compiler mit Maven

09.05.2012

Page 36: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 36

MYSAMLLösungs-Beispiel

09.05.2012

Page 37: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 37

MySamlArchitektur

09.05.2012

class MySAML

SamlContext

AssertionBuilder

+ build(Map) :Document

ResponseBuilder

+ build(Map) :Document

ResponseExtractor

+ extractAssertion() :Document

AssertionValidator

+ validate(Document) :void

DefaultProperties

SamlContextFactory

+ createSamlContext(Map) :SamlContext

create create

create create

use

use

create

Page 38: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 38

MySamlAPI

09.05.2012

<Demo>https://github.com/groothues/mysaml

Page 39: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 39

WS-SECURITY, SSOBeispiel-Anwendungen

09.05.2012

Page 40: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 40

Beispiel-AnwendungWeb Service Security

09.05.2012

cmp WS-Security Sample

«ws client»soapUI

«ws server»TimeServ ice

«tokenservice»mySAML Sample

«SOAPHandler»SamlAuthenticator

«WebService»Timer

1. hole SAMLAssertion(manuell)

2. sende WSRequest mitSAMLAssertion

Page 41: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML

Beispiel-AnwendungWeb Service Security – SOAP Request

09.05.2012

soap:Envelope

soap:Body

soap:Header

wsse:Security WS-Security Core Specification

WS-Security SAML Token Profile

my:currentTime

saml:Assertion

http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss

Page 42: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 42

Beispiel-AnwendungWeb Service Security – Trust Relationship

09.05.2012

web WS Security Sample Trust Relationship

«ws server»TimeServ ice

«tokenservice»mySAML Sample

Key Store Trust Store

trust

Page 43: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 43

Beispiel-AnwendungWeb Service Security

09.05.2012

<Demo>https://github.com/groothues/mysaml

Page 44: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 44

Beispiel-AnwendungWeb Single Sign-On (SSO)

09.05.2012

web IdP-Initiated SSO

«Identity Provider»Web Anwendung 1

«Service Provider»Web Anwendung 2

User's Browser

SAML SSO Serv let Login FilterSAML SSO Login Filter

4.

2. Username /Passwordabfragen

5. HTML Form withSAML Assertion

1. Resourceanfragen

6. POST HTMLForm withSAML Assertion

3. User login

7. Supply resource

Page 45: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 45

Beispiel-AnwendungWeb Single Sign-On – Trust Relationship

09.05.2012

web SSO Sample Trust Relationship

«Identity Provider»Web Anwendung 1

«Service Provider»Web Anwendung 2

Trust Store Key Store

trust

Page 46: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 46

Beispiel-AnwendungWeb Single Sign-On (SSO)

09.05.2012

<Demo>

Page 47: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 47

RESSOURCEN

09.05.2012 / x

Page 48: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ xSicherheit in verteilten Systemen mit Java und SAML 48

Resourcen

09.05.2012

• 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

• JAXBhttp://jaxb.java.net/

• Java XML Digital Signatureshttp://java.sun.com/developer/technicalArticles/xml/dig_signatures/

• Programming with the Java XML Digital Signature APIhttp://java.sun.com/developer/technicalArticles/xml/dig_signature_api/

Page 49: x Public Sicherheit in verteilten Systemen mit Java und SAML Karlsruher Entwicklertag 2012 Sicherheit in verteilten Systemen mit Java und SAML Jürgen

/ x

Vielen Dank für Ihre Aufmerksamkeit

Sicherheit in verteilten Systemen mit Java und SAML 4949

InterComponentWare Inc.650 East Swedesford Road - Suite 180

Wayne, PA 19087, USATel.: +1 610 947 6500Fax: +1 610 947 6519

E-mail: [email protected]

www.icw-global.com

InterComponentWare AGAltrottstraße 31 / Partner-Port

69190 Walldorf, GermanyTel.: +49 (0) 6227 385 100Fax: +49 (0) 6227 385 199

E-mail: [email protected]

www.icw-global.com

/ x09.05.2012