Im Standard für SAML-Tokenprofile definierte SAML-Zusicherungen

Der OASIS-Standard Web Services Security SAML Token Profile gibt an, wie SAML-Zusicherungen (Security Assertion Markup Language) mit der Spezifikation "Web Services Security SOAP Message Security" verwendet werden sollen.

Dieses Produkt unterstützt zwei Versionen des SAML-Standards von OASIS: Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1 und Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0.

Der Standard beschreibt die Verwendung von SAML-Zusicherungen als Sicherheitstoken im <wsse:Security>-Header, wie in der Spezifikation "WSS: SOAP Message Security" definiert. Eine XML-Signatur kann verwendet werden, um die Subjekte und Anweisungen in der SAML-Zusicherung mit der SOAP-Nachricht zu verbinden.

Subjektbestätigungsmethoden definieren die Verfahren, mit denen eine Entität den Nachweis erbringt, dass eine Beziehung zwischen dem Subjekt und den Claim-Informationen der SAML-Zusicherungen besteht. Die Spezifikation "WSS: SAML Token Profile" beschreibt die Nutzung der drei Subjektbestätigungsmethoden: "bearer", "holder-of-key" und "sender-vouches". Dieses Produkt unterstützt alle drei folgenden Bestätigungsmethoden. Wenn Sie die Subjektbestätigungsmethode "bearer" verwenden, ist der Nachweis der Beziehung zwischen Subjekt und Claim-Informationen implizit. Es sind also keine bestimmten Schritte erforderlich, um die Beziehung herzustellen.

Da einem Token vom Typ "bearer" keine Schlüssel zugeordnet sind, muss der Schutz der SOAP-Nachricht, falls erforderlich, mit einem Verfahren auf Transportebene oder einem anderen Sicherheitstoken auf Nachrichtenebene, wie z. B. X.509-Token oder einem Kerberos-Token, gewährleistet werden. Wenn Sie die Subjektbestätigungsmethode "holder-of-key" verwenden, wird der Nachweis der Beziehung zwischen dem Subjekt und den Claim-Informationen erbracht, indem ein Abschnitt der SOAP-Nachricht mit dem in der SAML-Zusicherung angegebenen Schlüssel signiert wird. Da einem Token vom Typ "holder-of-key" Schlüssel zugeordnet sind, kann dieses Token verwendet werden, um für die SOAP-Nachricht Schutz auf Nachrichtenebene (Signatur und Verschlüsselung) bereitzustellen.

Die Bestätigungsmethode "sender-vouches" wird verwendet, wenn ein Server die Clientidentität mit SOAP-Nachrichten für den Client weitergeben muss. Diese Methode ähnelt der Identitätszusicherung, kann aber darüber hinaus SAML-Zusicherungen verwendet werden, um die Clientidentität und Clientattribute weiterzugeben. Die bestätigende Entität muss die garantierten SAML-Zusicherungen und den Inhalt der SOAP-Nachrichten schützen, damit der Empfänger sicherstellen kann, dass keine Änderungen von Dritten vorgenommen wurden. Es werden zwei Einsatzszenarien für die Bestätigungsmethode "sender-vouches" unterstützt, die den Nachrichtenschutz auf Transportebene oder auf Nachrichtenebene sicherstellen. Ein Empfänger überprüft, ob eines der folgenden Szenarien zutreffend ist:
  • Ein Sender konfiguriert eine SSL-Sitzung mit einem Empfänger. Dazu verwendet er die Clientzertifikatsauthentifizierung.
  • Ein Sender signiert digital SAML-Zusicherungen mit der übergeordneten SOAP-Nachricht. Dazu verwendet er den Umsetzungsalgorithmus der Sicherheitstokenreferenz. Ein Sender kann SSL oder die SOAP-Nachrichtenverschlüsselung verwenden, um die Vertraulichkeit zu schützen.
In beiden Fällen werden die SAML-Zusicherungen entweder von einem externen Sicherheitstokenservice (STS) oder vom Anwendungsserver selbst ausgestellt.

Zusicherung vom Typ "bearer"

Eine SAML-Zusicherung ist eine Zusicherung vom Typ "bearer", wenn es das Element <saml:ConfirmationMethod> für "bearer" gemäß Definition in den OASIS-Spezifikationen für Web Services Security umfasst. Weitere Informationen finden Sie in den Spezifikationsdokumenten.
Eine Zusicherung vom Typ "bearer" der SAML Version 1.1 muss auch das folgende SubjectConfirmation-Element enthalten:
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
				urn:oasis:names:tc:SAML:1.0:cm:bearer
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Eine Zusicherung vom Typ "bearer" der SAML Version 2.0 muss auch das folgende SubjectConfirmation-Element enthalten:
<saml2:SubjectConfirmation     
      Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
</saml2:SubjectConfirmation>

Zusicherung vom Typ "holder-of-key"

Eine SAML-Zusicherung ist eine Zusicherung vom Typ "holder-of-key", wenn sie ein ds:KeyInfo-Element und das Element SubjectConfirmation enthält, vorausgesetzt, dass letzeres ein saml:ConfirmationMethod-Element mit dem Wert holder-of-key umfasst. Weitere Informationen finden Sie in den Spezifikationsdokumenten.

Die ds:KeyInfo-Informationen innerhalb des Elements SubjectConfirmation geben einen öffentlichen oder geheimen Schlüssel an, der zur Bestätigung der Identität des Subjekts verwendet wird. Die Zusicherung vom Typ "holder-of-key" enthält auch ein ds:Signature-Element, das die Integrität des Bestätigungselements ds:KeyInfo gemäß Definition des Ausstellers der Zusicherung schützt.

Eine Zusicherung vom Typ "holder-of-key" der SAML Version 1.1 muss das folgende SubjectConfirmation-Element enthalten:
<saml:SubjectConfirmation> 
  <saml:ConfirmationMethod> 
   urn:oasis:names:tc:SAML:1.0:cm: holder-of-key
   </saml:ConfirmationMethod>
  <ds:KeyInfo>
  <ds:KeyValue>. . .</ds:KeyValue>
  </ds:KeyInfo>
</saml:SubjectConfirmation> 
Eine Zusicherung vom Typ "holder-of-key" der SAML Version 2.0 muss das folgende SubjectConfirmation-Element enthalten:
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:holder-of-key">
    <saml2:SubjectConfirmationData>
			<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                    ......
			</ds:KeyInfo>
     </saml2:SubjectConfirmationData>
</saml2:SubjectConfirmation>

Zusicherung vom Typ "sender-vouches"

Eine SAML-Zusicherung ist eine Zusicherung vom Typ "sender-vouches", wenn es das Element <saml:ConfirmationMethod> für "sender-vouches" gemäß Definition in den OASIS-Spezifikationen für Web Services Security umfasst. Eine Zusicherung vom Typ "sender-vouches" der SAML Version 1.1 muss das folgende SubjectConfirmation-Element enthalten:
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
				urn:oasis:names:tc:SAML:1.0:cm:sender-vouches
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Eine Zusicherung vom Typ "sender-vouches" der SAML Version 2.0 muss das folgende SubjectConfirmation-Element enthalten:
<saml2:SubjectConfirmation 
          Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches">
</saml2:SubjectConfirmation>

Symmetrischer Schlüssel in der Zusicherung vom Typ "holder-of-key"

Eine Zusicherung vom Typ "holder-of-key" für SAML wird als Schutztoken verwendet. Dieser Typ von Schutztoken kann einen symmetrischen Schlüssel als Nachweisschlüssel verwenden. Der Client verwendet den Nachweisschlüssel, um der vertrauenden Partei nachzuweisen, dass der Client tatsächlich Eigner des ausgegebenen SAML-Tokens ist. Wenn ein Sicherheitstokenservice ein SAML-Token ausgibt, das einen symmetrischen Nachweisschlüssel verwendet, enthält das Token einen Schlüssel, der für den Zielservice verschlüsselt wird. Der STS sendet denselben Nachweisschlüssel als Teil der RequestSecurityTokenResponse (RSTR) auch an den Requester in einem <RequestedProofToken>-Element. Der Web-Service-Client übergibt das SAML-Token dann dem Zielservice, der auch als vertrauende Seite bezeichnet wird, und signiert die Anwendungsnachricht mit dem empfangenen Nachweisschlüssel.
Der STS kann so vorkonfiguriert werden, dass er einen symmetrischen Nachweisschlüssel ausgibt. Normalerweise werden die folgenden zwei Parameter in der RequestSecurityTokenTemplate im RequestSecurityToken (RST) angegeben, wenn der symmetrische Schlüssel aus dem STS angefordert wird:
<t:KeyType> http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey
  </t:KeyType>
<t:KeySize>256</t:KeySize>      
Das folgende Beispielelement "SubjectConfirmation" enthält einen SymmetricKey, der für die vertrauende Seite verschlüsselt wird.
<saml:SubjectConfirmation> 
      <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:holder-of-key</saml:ConfirmationMethod> 
          <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
             <enc:EncryptedKey xmlns:enc="http://www.w3.org/2001/04/xmlenc#">
             <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p">
          <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
             </enc:EncryptionMethod>
          <ds:KeyInfo>
            <ds:X509Data>
              <ds:X509Certificate>MIIB3 . . . vO3bdg</ds:X509Certificate>
            </ds:X509Data>
          </ds:KeyInfo>
     <enc:CipherData>
         <enc:CipherValue>P5Kb . . . rOTvII</enc:CipherValue> 
            </enc:CipherData>
            </enc:EncryptedKey>
     </ds:KeyInfo>
</saml:SubjectConfirmation>

Öffentlicher Schlüssel in der Zusicherung vom Typ "holder-of-key"

Wenn eine SAML-Zusicherung vom Typ "holder-of-key" als Schutztoken verwendet wird, kann das Token einen öffentlichen Schlüssel als Nachweisschlüssel verwenden. Der Client verwendet den Nachweisschlüssel, um der vertrauenden Partei nachzuweisen, dass der Client tatsächlich Eigner des ausgegebenen SAML-Tokens ist. Der Vorteil eines öffentlichen Nachweisschlüssels im Vergleich zu einem symmetrischen Schlüssel besteht darin, dass der Client den geheimen Schlüssel nicht mit dem Sicherheitstokenservice (STS) und der vertrauenden Partei gemeinsam nutzt. Der öffentliche Nachweisschlüssel kann ein X509-Zertifikat oder ein öffentlicher RSA-Schlüssel (Rivest Shamir Adleman) sein.
Der STS kann so vorkonfiguriert werden, dass er einen öffentlichen Schlüssel als Nachweisschlüssel ausgibt. Normalerweise wird der Parameter <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey</t:KeyType>, der in einer RequestSecurityTokenTemplate als Teil des RequestSecurityToken (RST) angegeben, wenn der öffentliche Schlüssel aus dem STS angefordert wird. Das optionale UseKey-Element kann vom Client auch wie folgt verwendet werden, um den Schlüssel anzuzeigen:
<trust:UseKey>
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <X509Data>
        <X509Certificate>MIIGCzCCBPOgAwIBAgIQcSgVwaoQv6dG. . .1GqB
        </X509Certificate>
      </X509Data>
    </KeyInfo> 
</trust:UseKey> 
Das folgende Beispiel ist eine SubjectConfirmation, die einen Nachweisschlüssel vom Typ "PublicKey" enthält.
<saml:SubjectConfirmation>
         <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:holder-of-key</saml:ConfirmationMethod> 
            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:KeyValue>
                    <ds:RSAKeyValue>
                      <ds:Modulus>hYHQm. . . ZnH1S0=</ds:Modulus> 
            <ds:Exponent>AQAB</ds:Exponent> 
                    </ds:RSAKeyValue>
                </ds:KeyValue>
            </ds:KeyInfo>
</saml:SubjectConfirmation>

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_samltokenprofilespec
Dateiname:cwbs_samltokenprofilespec.html