Assertions SAML définies dans le standard SAML Token Profile

Le standard OASIS Web Services Security SAML Token Profile définit la façon d'utiliser les assertions SAML (Security Assertion Markup Language) dans la spécification Web Services Security SOAP Message Security.

Ce produit prend en charge deux versions de la norme OASIS SAML : Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1 et Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0.

Le standard décrit l'utilisation des assertions SAML en tant que jetons de sécurité dans l'en-tête <wsse:Security>, tel qu'il est défini dans la spécification WSS : SOAP Message Security. Une signature XML peut être utilisée pour lier les sujets et les instructions de l'assertion SAML au message SOAP.

Les méthodes de confirmation du sujet définissent le mécanisme par lequel une entité fait la preuve de sa relation entre le sujet et les affirmations des assertions SAML. Le standard WSS: SAML Token Profile décrit l'utilisation de trois méthodes de confirmation du sujet : bearer (porteur), holder-of-key (détenteur de clé) et sender-vouches (envoyeur garant). Ce produit prend en charge les trois méthodes de confirmation. Dans la méthode de confirmation du sujet bearer, la relation entre le sujet et les affirmations est implicite. Il n'existe pas d'opération spécifique pour établir la relation.

Dans la mesure où aucune clé n'est associée à un jeton bearer, la protection des messages SOAP, si nécessaire, doit être assurée à l'aide d'un mécanisme de niveau transport ou d'un autre jeton de sécurité, par exemple un jeton X.509 ou Kerberos, pour la protection de niveau message. Avec la méthode de confirmation du sujet holder-of-key, la preuve de la relation entre le sujet et les affirmations est établie par la signature d'une portion du message SOAP avec la clé spécifiée dans l'assertion SAML. Une clé étant associée au jeton holder-of-key, celui-ci peut être utilisé pour assurer une protection de niveau message (signature et chiffrement) du message SOAP.

La méthode de confirmation sender-vouches est utilisée lorsqu'un serveur doit propager l'identité du client avec des messages SOAP pour le compte du client. Cette méthode est similaire à la vérification d'identité, mais peut utiliser les assertions SAML pour propager l'identité du client ainsi que les attributs du client. L'entité attestante doit protéger le contenu "garanti" des assertions SAML et du message SOAP de façon que le destinataire puisse vérifier qu'il n'a pas été modifié par une autre partie. Deux scénarios d'utilisation de la méthode de confirmation sender-vouches sont pris en charge, assurant la protection des messages au niveau du transport ou du message. Un récepteur vérifie si l'un des scénarios suivants se produit :
  • Un expéditeur configure une session SSL (secure sockets layer) avec un récepteur à l'aide de l'authentification du certificat client.
  • Un expéditeur signe de façon numérique les assertions SAML avec le message SOAP à l'aide de l'algorithme de transformation de référence de jeton de sécurité. Un expéditeur peut utiliser le chiffrement de message SSL ou SOAP pour protéger la confidentialité.
Dans les deux cas, les assertions SAML sont émises par un service de jeton de sécurité externe ou par le serveur d'applications.

Assertion Bearer

Une assertion SAML est une assertion bearer si elle contient l'élément <saml:ConfirmationMethod> bearer, tel qu'il est défini dans les spécifications OASIS Web Services Security. Pour plus d'informations, reportez-vous aux documents de spécification.
Une assertion bearer SAML version 1.1 doit également contenir l'élément SubjectConfirmation suivant :
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
		urn:oasis:names:tc:SAML:1.0:cm:bearer
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Une assertion bearer SAML version 2.0 doit également contenir l'élément SubjectConfirmation suivant :
<saml2:SubjectConfirmation     
      Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
</saml2:SubjectConfirmation>

Assertion holder-of-key

Une assertion SAML est une assertion holder-of-key si elle inclut l'élément SubjectConfirmation contenant un élément saml:ConfirmationMethod dont la valeur est holder-of-key, et un élément ds:KeyInfo. Pour plus d'informations, reportez-vous aux documents de spécification.

L'information ds:KeyInfo dans l'élément SubjectConfirmation identifie une clé publique ou secrète servant à confirmer l'identité du sujet. L'assertion holder-of-key contient aussi un élément ds:Signature qui protège l'intégrité de l'élément de confirmation ds:KeyInfo, comme l'établi l'autorité de vérification.

Une assertion holder-of-key SAML version 1.1 doit contenir l'élément SubjectConfirmation suivant :
<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> 
Une assertion holder-of-key SAML version 2.0 doit contenir l'élément SubjectConfirmation suivant :
<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>

Assertions sender-vouches

Une assertion SAML est une assertion sender-vouches si elle contient l'élément <saml:ConfirmationMethod> bearer, tel qu'il est défini dans les spécifications OASIS Web Services Security. Une assertion sender-vouches SAML version 1.1 doit contenir l'élément SubjectConfirmation suivant :
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
		urn:oasis:names:tc:SAML:1.0:cm:sender-vouches
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Une assertion sender-vouches SAML version 2.0 doit contenir l'élément SubjectConfirmation suivant :
<saml2:SubjectConfirmation 
          Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches">
</saml2:SubjectConfirmation>

Clé symétrique dans l'assertion holder-of-key

Une assertion SAML holder-of-key sert de jeton de protection. Ce type de jeton de protection peut utiliser une clé symétrique comme clé de preuve. Le client utilise la clé de preuve pour prouver à la partie utilisatrice qu'il est effectivement propriétaire du jeton SAML émis. Lorsqu'un service de jeton de sécurité (STS) émet un jeton SAML utilisant une clé de preuve symétrique, le jeton contient un clé chiffrée destinée au service cible. Le STS envoie également la même clé de preuve au demandeur dans un élément <RequestedProofToken> inclus dans la réponse RSTR. Le client de services web présente alors le jeton SAML au service cible, aussi connu sous le nom de partie utilisatrice (RP - relying party), et signe le message de l'application à l'aide de la clé de preuve reçue.
Le service STS peut être configuré pour émettre une clé de preuve symétrique. Classiquement, les deux paramètres suivants sont spécifiés à l'intérieur de RequestSecurityTokenTemplate dans l'élément RequestSecurityToken (RST) lorsque la clé symétrique est demandée au STS :
<t:KeyType> http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey
  </t:KeyType>
<t:KeySize>256</t:KeySize>      
L'exemple d'élément SubjectConfirmation suivant contient une clé symétrique chiffrée pour la partie utilisatrice.
<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>

Clé publique dans l'assertion holder-of-key

Lorsqu'une assertion SAML holder-of-key est utilisée comme jeton de protection, celui-ci peut utiliser une clé publique comme clé de preuve. Le client utilise la clé de preuve pour prouver à la partie utilisatrice qu'il est effectivement propriétaire du jeton SAML émis. La clé de preuve publique présente l'avantage, par rapport à une clé symétrique, de permettre au client de ne pas partager la clé secrète avec le service STS et la partie utilisatrice. La clé de preuve publique peut être un certificat X509, ou une clé publique RSA (Rivest, Shamir et Adleman).
Le service STS peut être configuré pour émettre une clé publique comme clé de preuve. Habituellement, le paramètre <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey</t:KeyType> est spécifié dans un élément RequestSecurityTokenTemplate inclus dans l'élément RequestSecurityToken (RST) lorsque la clé publique est demandée au service STS. L'élément facultatif UseKey peut aussi être utilisé par le client pour indiquer la clé, de la façon suivante :
<trust:UseKey>
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <X509Data>
        <X509Certificate>MIIGCzCCBPOgAwIBAgIQcSgVwaoQv6dG. . .1GqB
        </X509Certificate>
      </X509Data>
    </KeyInfo> 
</trust:UseKey> 
L'exemple suivant est un élément SubjectConfirmation contenant une clé de preuve PublicKey.
<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>

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_samltokenprofilespec
Nom du fichier : cwbs_samltokenprofilespec.html