Asserções SAML Definidas no Padrão SAML Token Profile

O padrão OASIS Web Services Security SAML Token Profile especifica como usar asserções Security Assertion Markup Language (SAML) com a especificação Web Services Security SOAP Message Security.

Esse produto suporta duas versões do padrão OASIS SAML: Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1 e Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0.

O padrão descreve o uso de asserções do SAML como tokens de segurança no cabeçalho <wsse:Security>, conforme definido pela especificação WSS: SOAP Message Security. Uma assinatura XML pode ser usada para ligar os objetos e instruções na asserção SAML à mensagem SOAP.

Os métodos de confirmação de objeto definem o mecanismo pelo qual uma entidade fornece evidência (prova) do relacionamento entre o assunto e as solicitações das asserções SAML. O WSS: SAML Token Profile descreve o uso de três métodos de confirmação de objeto: transmissão, holder-of-key e sender-vouches. Esse produto suporta os três métodos de confirmação. Ao usar o método de confirmação de objeto de transmissão, a prova do relacionamento entre o assunto e as solicitações é implícita. Não é executada nenhuma etapa específica para estabelecer o relacionamento.

Como não existe nenhum material chave associado a um token de transmissão, a proteção da mensagem SOAP, se necessária, deve ser executada usando um mecanismo em nível de transporte ou outro token de segurança, como um token X.509 ou do Kerberos, para proteção em nível de mensagem. Ao usar o método de confirmação de objeto holder-of-key, a prova do relacionamento entre o assunto e as solicitações é estabelecido assinando a parte da mensagem SOAP com a chave especificada na asserção SAML. Como existe material chave associado a um token holder-of-key, este token pode ser usado para fornecer proteção em nível de mensagem (assinatura e criptografia) da mensagem SOAP.

O método de confirmação sender-vouches é usado quando um servidor precisa propagar a identidade do cliente com mensagens SOAP em nome do cliente. Este método é semelhante à asserção de identidade, mas tem a flexibilidade incluída de usar asserções SAML para propagar não apenas a identidade do cliente, mas também propagar atributos do cliente. A entidade de certificação deve proteger as asserções SAML comprovadas e o conteúdo da mensagem SOAP para que o receptor possa verificar se ele não foi alterado por outra parte. São suportados dois cenários de uso do método de confirmação sender-vouches, que asseguram a proteção de mensagens no nível de transporte ou no nível de mensagem. Um receptor verifica se ocorre um dos seguintes cenários:
  • Um emissor configura uma sessão secure sockets layer (SSL) com um receptor usando a autenticação por certificado de cliente.
  • Um emissor assina digitalmente as asserções SAML com a mensagem SOAP de inclusão, usando o algoritmo de transformação de referência do token de segurança. Um emissor pode usar a criptografia de mensagens SSL ou SOAP para proteger o sigilo.
Em qualquer caso, as asserções SAML são emitidas por um Security Token Services (STS) externo ou emitidas automaticamente pelo servidor de aplicativos.

Asserção de Transmissão

Uma asserção do SAML será uma asserção de acesso, se incluir o elemento <saml:ConfirmationMethod> de acesso, conforme definido nas especificações do OASIS Web Services Security. Para obter informações adicionais, consulte os documentos de especificação.
Uma asserção de transmissão SAML Versão 1.1 também deve conter o seguinte elemento SubjectConfirmation:
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
		urn:oasis:names:tc:SAML:1.0:cm:bearer
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Uma asserção de transmissão SAML Versão 2.0 também deve conter o seguinte elemento SubjectConfirmation:
<saml2:SubjectConfirmation     
      Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
</saml2:SubjectConfirmation>

Asserção Holder-of-key

Uma asserção SAML é uma asserção holder-of-key se incluir o elemento SubjectConfirmation que contém um elemento saml:ConfirmationMethod com o valor de holder-of-key e um elemento ds:KeyInfo. Para obter informações adicionais, consulte os documentos de especificação.

As informações de ds:KeyInfo contidas no elemento SubjectConfirmation identificam uma chave pública ou secreta que foi usada para confirmar a identidade do objeto. A asserção holder-of-key também contém um elemento ds:Signature que protege a integridade do elemento ds:KeyInfo de confirmação, conforme estabelecido pela autoridade de asserção.

Uma asserção holder-of-key SAML Versão 1.1 deve conter o seguinte elemento SubjectConfirmation:
<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> 
Uma asserção holder-of-key do SAML Versão 2.0 deve conter o seguinte elemento SubjectConfirmation:
<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>

Asserção de Sender-vouches

A asserção SAML. é um remetente-vouches asserção se o emissor inclui o sender-vouches <saml: ConfirmationMethod>element, conforme definido nas especificações da OASIS Web Services Security Uma asserção sender-vouches do SAML Versão 1.1 deve conter o seguinte elemento SubjectConfirmation:
<saml:SubjectConfirmation> 
	 <saml:ConfirmationMethod> 
		urn:oasis:names:tc:SAML:1.0:cm:sender-vouches
	 </saml:ConfirmationMethod>
</saml:SubjectConfirmation>
Uma asserção sender-vouches do SAML Versão 2.0 deve conter o seguinte elemento SubjectConfirmation:
<saml2:SubjectConfirmation 
          Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches">
</saml2:SubjectConfirmation>

Chave Simétrica na Asserção Holder-of-key

Uma asserção holder-of-key do SAML é usada como um token de proteção. Este tipo de token de proteção pode usar uma chave simétrica como uma chave de prova. O cliente usa a chave de prova para demonstrar à parte dependente que o cliente realmente possui o token SAML emitido. Quando um Security Token Service (STS) emitir um token SAML que usa uma chave de prova simétrica, o token conterá uma chave que é criptografada para o serviço de destino. O STS também envia a mesma chave de prova ao solicitante em um elemento <RequestedProofToken> como parte do RequestSecurityTokenResponse (RSTR). O cliente de serviço da Web apresenta então o token SAML para o serviço de destino, também conhecido como o grupo de confiança e sinaliza a mensagem do aplicativo com a chave de prova recebida.
O STS pode ser pré-configurado para emitir uma chave de prova simétrica. Geralmente, os dois parâmetros a seguir são especificados dentro do RequestSecurityTokenTemplate no RequestSecurityToken (RST) quando a chave simétrica é solicitada do STS:
<t:KeyType> http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey
  </t:KeyType>
<t:KeySize>256</t:KeySize>      
O elemento SubjectConfirmation de amostra a seguir contém uma SymmetricKey criptografada para a parte dependente.
<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>

Chave Pública na Asserção holder-of-key

Quando uma asserção holder-of-key do SAML é usada como um token de proteção, o token pode usar uma chave pública como uma chave de prova. O cliente usa a chave de prova para demonstrar à parte dependente que o cliente realmente possui o token SAML emitido. A vantagem de uma chave de prova pública sobre uma chave simétrica é que o cliente não compartilha a chave secreta com o Security Token Service (STS) e a parte dependente. A chave de prova pública pode ser um certificado X509 ou uma chave pública Rivest Shamir Adleman (RSA).
O STS pode ser pré-configurado para emitir uma chave pública como chave de prova. Normalmente, o parâmetro <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey</t:KeyType> é especificado dentro de um RequestSecurityTokenTemplate como parte do RequestSecurityToken (RST), quando a chave pública é solicitada a partir do STS. O elemento UseKey opcional também pode ser usado pelo cliente para indicar a chave, da seguinte forma:
<trust:UseKey>
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <X509Data>
        <X509Certificate>MIIGCzCCBPOgAwIBAgIQcSgVwaoQv6dG. . .1GqB
        </X509Certificate>
      </X509Data>
    </KeyInfo> 
</trust:UseKey> 
O exemplo a seguir é um SubjectConfirmation que contém uma chave de prova 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>

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_samltokenprofilespec
Nome do arquivo: cwbs_samltokenprofilespec.html