webentwicklung-frage-antwort-db.com.de

Was ist der Zweck eines SAML-Artefakts?

Ich habe eine Reihe von Flussdiagrammen zur Weitergabe zwischen Identity Provider (IdP), Service Provider (SP) und Browser über Redirects gesehen. Allerdings scheint es mir im Moment unnötig, also weiß ich, dass ich etwas vermisse.

Kann mir jemand einen Anwendungsfall liefern, bei dem ein SAML-Artefakt erforderlich (oder sehr nützlich) ist, anstatt eines zu verwenden?

Vielen Dank.

34
funa68

In der Regel besteht die Absicht der Artefaktbindung darin, den Fluss von SAML-Nachrichten durch den Browser selbst zu verringern. Dies kann an Browsereinschränkungen liegen (Browser, bei denen die Abfragezeichenfolge/POST payload size) begrenzt ist) oder an der mangelnden Unterstützung von JavaScript (für automatisch übermittelte Formulare) oder sogar an der Verbesserung des Sicherheitsmodells von Transport der SAML-Nachrichten Durch die Verwendung von Artefakten werden vertrauliche Daten, die über die SAML-Zusicherungs-/Attributanweisung übertragen werden, nicht über den Browser übertragen, sodass sie für den Endbenutzer oder Angreifer zwischen Ihrer Site und dem Endbenutzer verborgen bleiben können würde nur direkt zwischen Standorten durch eine Back-Channel-Suche aufgelöst werden.

Abschnitt 3.6.2 der SAML 2.0 Bindings-Spezifikationen fasst es am besten zusammen:

Die HTTP-Artefaktbindung ist für Fälle vorgesehen, in denen der SAML-Anforderer und der Antwortende unter Verwendung eines HTTP-Benutzeragenten als Vermittler kommunizieren müssen, die Einschränkungen des Vermittlers jedoch die Übertragung einer gesamten Nachricht (oder den Nachrichtenaustausch) durch diesen verhindern oder verhindern. Dies kann aus technischen Gründen oder aus Gründen der Zurückhaltung, den Nachrichteninhalt dem Vermittler zur Verfügung zu stellen (und wenn die Verwendung der Verschlüsselung nicht praktikabel ist). Beachten Sie, dass aufgrund der Notwendigkeit, das Artefakt anschließend mithilfe einer anderen synchronen Bindung aufzulösen, wie z. B. SOAP, ein direkter Kommunikationspfad zwischen dem SAML-Nachrichtensender und -empfänger in der umgekehrten Richtung der Übertragung des Artefakts bestehen muss (der Empfänger der Nachricht und des Artefakts müssen in der Lage sein, eine Anfrage an den Artefaktaussteller zurückzusenden). Der Artefaktaussteller muss auch den Status beibehalten, während das Artefakt ansteht, was Auswirkungen auf Umgebungen mit Lastenausgleich hat.

65
Scott T.

Das SAML Artifact Profile erweitert die Antwort von Scott T und wurde zur Verbesserung der Sicherheit entwickelt. Um zu verhindern, dass ein Benutzer seine SAML-Zusicherung während des Datenverkehrs ändert (z. B. durch Ändern des Benutzernamens, der Rollen usw.), empfiehlt SAML 2.0, dass Entwickler Zusicherungen über XML-Signaturen signieren. XML-Signaturen sind jedoch extrem anfällig für XML-Wrapping-Angriffe, da in allen Sprachen vorhandene XML-Parser Probleme verursachen. Besuchen Sie https://www.usenix.org/conference/usenixsecurity12/breaking-saml-be-whoever-you-want-be , um zu sehen, wie XML-Wrapping-Angriffe gegen SAML Assertions ausgeführt werden.

Das SAML-Artefaktprofil behebt dieses Problem, indem ein "Artefakt" für die einmalige Verwendung erstellt wird, das vom Benutzer (per Weiterleitung oder Post) an den Dienstanbieter und nicht an die SAML-Zusicherung übergeben wird. Wenn der Dienstanbieter das Einmalverwendungsartefakt empfängt, sendet er eine SAML-Artifact-Resolve-Anforderung (die das Artefakt enthält) an den Artifact Resolution Service (ARS) des Identitätsanbieters. Der ARS antwortet dann mit einer SAML-Artefaktantwort (die die SAML-Zusicherung des Benutzers enthält), wodurch verhindert wird, dass die SAML-Zusicherung jemals vom Benutzer geändert wird, wenn sie direkt vom Dienstanbieter über einen Rückkanal empfangen wird.

28
dsutherland

Eine SAML-Nachricht wird von einer Entität zu einer anderen entweder als Wert oder als Referenz übertragen. Ein Verweis auf eine SAML-Nachricht wird als Artefakt bezeichnet. Der Empfänger eines Artefakts löst die Referenz auf, indem er eine Anfrage direkt an den Aussteller des Artefakts sendet, der daraufhin mit der tatsächlichen Nachricht antwortet, auf die das Artefakt verweist.

Siehe SAML 2. ,

Ohne das Artefakt gibt es keine Möglichkeit, zur eigentlichen Nachricht zu gelangen.

Beachten Sie, dass dies nur bei Verwendung der HTTP-Artefaktbindung erforderlich ist. (Im Gegensatz zum allgemeineren HTTP POST Binding welches einfach die SAML-Nachricht sendet).

12
nzpcmad

heutzutage mag dies als uninteressant angesehen werden, aber das Artefaktprofil ist auch nützlich, wenn Sie eine geringe Bandbreite zwischen dem Benutzeragenten und den Sp & Idp-Servern und eine bessere Bandbreite zwischen Sp & Idp haben. Die (schwere) Behauptung zirkuliert nicht von der IDP zur UA und von der UA zur SP und kann unter bestimmten Umständen eine bessere Leistung zeigen.

1
François J.

Ein weiterer Grund für die Verwendung der HTTP-Artefaktbindung besteht darin, dass Sie SSL verwenden können, um die Integrität und Vertraulichkeit von SAML-Nachrichten sicherzustellen. Der SAML-Anforderer und der Antwortende müssen die SAML-Nachricht nicht signieren, validieren, verschlüsseln und entschlüsseln.

1
fajarkoe