Aserciones SAML definidas en el estándar del perfil de señal SAML

El estándar del perfil de señales SAML de seguridad de servicios web OASIS especifica cómo se utilizan las aserciones SAML (Security Assertion Markup Language) con la especificación de seguridad de mensajes SOAP de la seguridad de servicios web.

Este producto admite dos versiones del estándar SAML de OASIS: Aserciones y protocolos para OASIS Security Assertion Markup Language (SAML) V1.1 y Aserciones y protocolos para OASIS Security Assertion Markup Language (SAML) V2.0.

El estándar describe la utilización de aserciones SAML como señales de seguridad en la cabecera <wsse:Security>, tal como ha definido la especificación WSS: seguridad de mensajes SOAP. Se puede utilizar una firma XML para enlazar los temas y las sentencias en la aserción SAML al mensaje SOAP.

Los métodos de aserción de temas definen el mecanismo mediante el cual una entidad evidencia (prueba) la relación entre el tema y las demandas de aserciones SAML. En WSS: perfil de señales SAML se describe el uso de los tres métodos de confirmación de temas: titularidad, Holder-of-key y sender-vouches. Este producto admite todos los tres métodos de confirmación. Cuando se utiliza el método de confirmación de sujeto bearer, la prueba de la relación entre el sujeto y las alegaciones está implícita. No existen pasos concretos para establecer la relación.

Dado que no hay ningún material clave asociado a una señal de titularidad, la protección del mensaje SOAP, si es necesaria, debe realizarse mediante un mecanismo a nivel de transporte u otra señal de seguridad como, por ejemplo, una señal X.509 o Kerberos, para la protección a nivel de mensajes. Cuando se utiliza el método de aserción de temas Holder-of-key, la prueba de la relación entre el asunto y las demandas se establece mediante la firma de parte del mensaje SOAP con la clave especificada en la aserción SAML. Dado que existe material clave asociado a una señal Holder-of-key, esta señal se puede utilizar para proporcionar protección a nivel de mensaje (de firma y cifrado) del mensaje SOAP.

El método de confirmación sender-vouches se utiliza cuando un servidor necesita propagar la identidad del cliente con mensajes SOAP en nombre del cliente. Este método es similar a la aserción de identidad, pero tiene la flexibilidad añadida de utilizar aserciones SAML para propagar no solo la identidad del cliente, sino también propagar atributos de cliente. La entidad de certificación debe proteger el contenido de mensajes SOAP y aserciones SAML de los que se responde para que el receptor pueda verificar que no han sido modificados por otras partes. Se da soporte a dos escenarios de uso de método confirmación sender-vouches que garantizan la protección de mensajes a nivel de transporte o a nivel de mensajes. Un receptor verifica que se produzca una de las siguientes situaciones:
  • Un remitente configura una sesión de capa de sockets segura (SSL) con un receptor utilizando la autenticación de certificados de cliente.
  • Un remitente firma digitalmente aserciones SAML con el mensaje SOAP contenedor utilizando el algoritmo de transformación de referencia de señal de seguridad. Un remitente puede utilizar indistintamente el cifrado de mensajes SSL o SOAP para proteger la confidencialidad.
En cualquier caso, las aserciones SAML las emite siempre un servicio de señales de seguridad (STS) externo o son autoemitidas por el servidor de aplicaciones.

Aserción de titularidad

Una aserción SAML es una aserción de titularidad si incluye el elemento de titularidad <saml:ConfirmationMethod>, tal como se define en las especificaciones de seguridad de servicios web OASIS. Para obtener más información, consulte los documentos de especificación.
Una aserción de titularidad SAML de la versión 1.1 también debe contener el elemento SubjectConfirmation siguiente:
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
		urn:oasis:names:tc:SAML:1.0:cm:bearer
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Una aserción de titularidad SAML de la versión 2.0 también debe contener el elemento SubjectConfirmation siguiente:
<saml2:SubjectConfirmation     
      Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
</saml2:SubjectConfirmation>

Aserción Holder-of-key

Una aserción SAML es una aserción Holder-of-key si incluye el elemento SubjectConfirmation que contiene un elemento saml:ConfirmationMethod con el valor de holder-of-key y un elemento ds:KeyInfo. Para obtener más información, consulte los documentos de especificación.

La información ds:KeyInfo del elemento SubjectConfirmation identifica una clave pública o secreta que se utiliza para confirmar la identidad del tema. La aserción Holder-of-key también contiene un elemento ds:Signature que protege la integridad del elemento de aserción ds:KeyInfo tal como lo ha establecido la autoridad de aserción.

Una aserción Holder-of-key SAM de la versión 1.1 también debe contener el elemento SubjectConfirmation siguiente:
<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> 
Una aserción Holder-of-key SAM de la versión 2.0 también debe contener el elemento SubjectConfirmation siguiente:
<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>

Aserción sender-vouches

Una aserción SAML es una aserción sender-vouches si incluye el elemento sender-vouches <saml:ConfirmationMethod>, tal como se define en las especificaciones de seguridad de servicios web OASIS. Una aserción sender-vouches SAML de la versión 1.1 debe contener el elemento SubjectConfirmation siguiente:
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
		urn:oasis:names:tc:SAML:1.0:cm:sender-vouches
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Una aserción sender-vouches SAML de la versión 2.0 debe contener el elemento SubjectConfirmation siguiente:
<saml2:SubjectConfirmation 
          Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches">
</saml2:SubjectConfirmation>

Clave simétrica en la aserción Holder-of-key

Una aserción Holder-of-key SAML se utiliza como señal de protección. Este tipo de señal de protección puede utilizar una clave simétrica como clave de prueba. El cliente utiliza la clave de prueba para demostrarle a la parte dependiente que el cliente posee realmente la señal SAML emitida. Cuando un servicio de señales de seguridad (STS) emite una señal SAML que utiliza una clave prueba simétrica, la señal contiene una clave que está cifrada para el servicio de destino. El STS también envía la misma clave de prueba al solicitante en un elemento <RequestedProofToken> como parte de RequestSecurityTokenResponse (RSTR). El cliente de servicio web presentará la señal SAML al servicio de destino, también conocido como la parte dependiente, y firmará el mensaje de la aplicación con la clave de prueba recibida.
El STS se puede configurar previamente para emitir una clave prueba simétrica. Normalmente, los dos parámetros siguientes se especifican dentro de RequestSecurityTokenTemplate en RequestSecurityToken (RST) cuando se solicita la clave simétrica del STS:
<t:KeyType> http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey
  </t:KeyType>
<t:KeySize>256</t:KeySize>      
El elemento de ejemplo SubjectConfirmation siguiente contiene una clave SymmetricKey cifrada para la parte dependiente.
<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>

Clave pública en la aserción Holder-of-key

Cuando se utiliza una aserción Holder-of-key de SAML como señal de protección, la señal puede utilizar una clave pública como clave de prueba. El cliente utiliza la clave de prueba para demostrarle a la parte dependiente que el cliente posee realmente la señal SAML emitida. La ventaja de una clave pública a través de clave simétrica es que el cliente no comparte la clave secreta con el servicio de señal de seguridad (STS) y la parte dependiente. La clave de prueba pública puede ser un certificado X509 o una clave pública RSA (Rivest Shamir Adleman).
El STS se puede configurar previamente para emitir una clave prueba. Por lo general, el parámetro <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey</t:KeyType> se especifica dentro de una RequestSecurityTokenTemplate como parte de la RequestSecurityToken (RST) cuando la clave pública se solicita desde el STS. El elemento UseKey opcional también lo puede utilizar el cliente para indicar la clave, tal como se indica a continuación:
<trust:UseKey>
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <X509Data>
        <X509Certificate>MIIGCzCCBPOgAwIBAgIQcSgVwaoQv6dG. . .1GqB
        </X509Certificate>
      </X509Data>
    </KeyInfo> 
</trust:UseKey> 
El ejemplo siguiente es SubjectConfirmation que contiene la clave de prueba 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>

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_samltokenprofilespec
File name: cwbs_samltokenprofilespec.html