XML 2

Brünnler Thema 7

Brünnler Thema 7


M. T.
Diese Lernkarten behandeln fortgeschrittene Themen der XML-basierten Webservices und Sicherheit auf Universitätsniveau. Sie konzentrieren sich auf XML, SOAP, WSDL, SAML und WS-Security, sowie auf die Implementierung und Probleme von Identity- und Access-Management-Systemen. Die Karteikarten sind besonders nützlich für Studierende und IT-Experten, die sich mit der Entwicklung und dem Verständnis von sicheren Webservices beschäftigen, da sie praktische Beispiele und Lösungen für häufige Probleme bieten.
Cartes-fiches
32
Utilisateurs
2
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
19.01.2019 / 31.01.2019

Cartes-fiches

Was ist eigentlich SAML ? 

SAML heisst Security Assertion Markup Language

Es ist ein XML Framework zum austausch von Authentifizierung und Authorisierungs Informationen. Es stellt funktionen um die sicherheitsbezogene Informationen zu beschreiben und zu übertragen

Was sind usecases von SAML?

Web SSO (ähnlich id token im OpenID Connect)

Identity Propagation (Im namen vom User andere service provider abfragen)

Wie funktioniert ein Web SSO ? 

Bei einer WEB SSO geht es darum das der user einen Service provider eine anfrage sendet der Service provider den User zu einem IDP umleitet und dort sich authentifizieren lässt

Wie funktioniert ein Identity Propagation?

Wenn der Service Provider einen SAML Assertion für den USer hat kann der SP A bei einem anderen Service Provider im Namen vom User anfragen starten. 

Was für Informationen können Sie aus dieser Assertion herausnehmen?

This is SAML version 2

It has a unique ID

Assertion hat einen unique ID

wurde am 2015-04-16 ausgestellt

wurde von Localhost ausgestellt

Was ist der Unterschied zu einem enveloped und einem enveloping signature? 

Das enveloped signature ist ein Teil des Elements

Das enveloping signature umfasst das Dokument

Was ist das SAML subject? 

Der User welche authentifiziert wird. 

Was ist das AuthnStatement in einem SAML ? 

Info über die Authentisierung

AuthInstant : wann die authentisierung stattgefuden hat

Authentication Method: wie ich der user authentisiert hat (zb. Password)

 

Welches Problem wird hier verbildlicht ? und was wäre die Lösung für dieses Problem ? 

Problem: Der User von der UNI Bern will einen Dienst bei der BFH verwenden, aber dies geht nicht weil der Dienst von der BFH nur mit der BFH IDP kommunizieren kann und der UNI user nicht dort beinhaltet ist. 

DIe Lösung: Einen Federated Identity Provider. Dieser kann mit den IDP von verschiedenen stellen kommunizieren und somit user aus verschiededen Instituten authentifizieren. 

Was ist ein AAI? 

Authentication and Authorization Infrastructure

Was ist die Differenz zwischen delegated Identity und Federated Identity? 

Was sind die Vorteile von AAI ? 

Die User von anderen Organisationen müssen nicht bei dir verwaltet werden. 

Eine einzige useraccount bei der Organisation reicht für Dienste von anderen Organisationen anzusprechen.

Können SIe aufzeigen wie der Switch AAI abläuft? 

  1. Browser kommt auf die Ressource
  2. Ressource leitet dich auf eine Discovery Service um 
  3. User kann seine Organisation auswählen
  4. Discovery dienstlesitung sendet die url vom Home IDP des Users
  5. Ressource sendet authentication req zu IDP, IPD ziegt den login screen
  6. User kann die credentials eingeben
  7. IPD submittet einen SAML assertion zu der Ressource

Was ist SOAP? 

W3C standardisiertes XML basiertes kommunikations protokoll welches folgendes definiert.

  • Die struktur der Nachricht
  • Anbindung der Transport protokolle
  • Verschlüsselungs regeln für die Data
  • Machanik der Error handling
  • Konventionen für remote prezedur aufrufe

Was wäre ein Beispiel für einen SOAP Request Response. (ungefähr)

Was ist WSDL ? 

Web Service Description Language

  • Ist ein W3C standard
  • Interface definition für SOAP webservices
  • ist in XML

Was ist die WS-Security und was wird dadurch gewährleistet ? 

Standard für Message level Security für SOAP Messages

  • Confidentiatlity (Signing)
  • Integrity (Encryption)
  • Identity (Single message Authentication) -- security Tokens
  • Timestamps

Was sind die Unterschiede bei WSDL Code first und Contract first? 

Code first: WSDL wird aus einer bestehender Applikation erstellt 

Vorteil: einfach und schnelle realisation

Contract first: WSDL wird zuerst definiert und danach wird der Service implementiert

Voretil ist eine bessere kompatibilität

Was wird alles in WSDL definiert? 

können Sie es in Abstrakten definition und Konkreter Definition unterteilen?

Abstract Definition 

  • Types--data type definitions e.g using XSD
  • Message--the data being communicated.
  • Operation--an action (function)
  • Port Type --a set of operations (interface)

Konkrete Definition 

 

  • Binding--a concrete protocol and data format for aport type.
  • Port--a single endpoint defined as a combination of abinding and a network address.
  • Service--a collection of related endpoints.

Was können SIe zur WS Interoperability sagen ? 

Die W3C spezifikation für SOAP, WSDL etc sind nicht genügen um eine gute zusammenarbeit zu gewähren. Daher gibt es die WS-Interoparebality organisation. Sie hat eine WS-I Basic profile erstellt welches zum Beispiel folgendes festlegt

  • Encoed in UTF-8 or UTF-16
  • Use XML 1.0
  • Use HTTP 2xx für erfolgreiche antwort
  • Die response sollte sich nicht auf cookies verlassen

Was sagt die WS-Security zu Signature ? 

  • Signatur ist in der SOAP Header
  • Die Signatur kann sich auf Elementen im Header oder im Body beziehen
  • Die Signatur kann sich auf Tokens beziehen X509 certificates zum Beispiel 
  •  

Was sagt die WS-Security bezüglich der verschlüsselung? 

Die verschlüsselten Key sind im Header

kann kinder der SOAP body verschlüsseln aber nicht body und header an sich

Was ist WS-Trust?

WS Trust beschreibt eine Struktur um die verwaltung, aufbau ud validierung von trust relations. Dies ist unabhängig vom Security protokoll

Was ist im Bild für ein Problem vorhanden? Und was wäre die Lösung?

Das Identity (username/password) wird überall mitgegeben. zu viele Stellen wo dies leaken kann. Die lösung wurde wie im angehängten Bild aussehen.

Was ist definitiv in der WSDL nicht spezifiziert?

Welche arten von Authentifizierung verlangt ist

welche optionen für WS-Security verlangt ist

welche verschlüsselung algos erlaubt sind

XML DoS Attaken, können Sie einige aufzählen? 

Kennen Sie die Entity Expansion Attack? Was ist das grundprinzip dahinter ? 

Eine Datei welche nach dem parsen extrem an ressourcen benötig. also 578 byte --> 1GB

Was ist ein External Entity Attack? Kennen Sie das grundprinzip dahinter ? 

Hierbei wird via ressourcen lade req innerhalb des XMLs probiert auf das interne Netz zuzugreifen. Und da dies eine Fehlermeldeung zuruck spuckt kann man von aussen inerhalb eines Netzes ein TCP port scan machen. 

Was können Sie zu einer XML attacke sagen ? 

Sich gegen XML attacken zu schützen kann der Applikations entwickler wenig unternhemen weil bereits beim parsen des XML exploits ausgeführt werden kann. 

Was für ein Angriff könnte auf diese XML signatur gestartet werden ? 

Hier werden die einzelnen Elemente unterzeichnet, und mit einer vertauschen dieser Daten kann ein Angriff gestartet werden. Zum Beispiel man vertauscht die beiden price elemente und kauft dann 1 Bleistift für 2500.- und 100 Laptops für 1.50

Wie ist der Prozess bei einer XML signature validierung? 

finde die renferenzierte Element und validiere die Signatur

finde /Binding/Assertion/Subject und verwende diese.

Wie könnten Sie eine Assertion manipulieren? 

Étudier