Cabeçalhos SOAP Criptografados

O elemento de cabeçalho criptografado fornece uma maneira padrão de criptografar cabeçalhos SOAP. Como uma das extensões para a especificação de segurança de mensagem SOAP do OASIS, o elemento de cabeçalho criptografado indica que o responsável pela resposta processou o pedido. A criptografia dos cabeçalhos e das partes SOAP juda a fornecer segurança de nível de mensagem mais eficiente.

O elemento EncryptedHeader ou <wsse11:EncryptedHeader> é parte do padrão Web Services Security Versão 1.1 atualizado e permite a interoperabilidade com outros fornecedores que suportam os padrões Versão 1.1, como o Microsoft .NET e o DataPower.

Use o elemento EncryptedHeader para criptografar os blocos de cabeçalho SOAP. O elemento EncryptedHeader permite que o Web Services Security seja compatível com as diretrizes de processamento mustUnderstand de SOAP e impeça a divulgação de informações contidas em atributos em um bloco de cabeçalho SOAP.

O elemento <wsse11:EncryptedHeader> deve conter um elemento <xenc:EncryptedData>. Somente um elemento <xenc:EncryptedData> por elemento de cabeçalho criptografado é permitido.

Elemento de Dados Criptografados

Normalmente, o modelo de programação, como o JAX-WS, desserializa a mensagem SOAP para um objeto de ligação Java™ antes de despachar a chamada para o código de aplicativo. Entretanto, se a mensagem SOAP for criptografada, a desserialização falhará porque, antes da criptografia, o conteúdo original será substituído pelo elemento EncryptedData XML do padrão XML Encryption.

Em certos casos, talvez você queira que o token seja incluído no cabeçalho <wsse:Security> para que seja criptografado para a função de processamento de destinatário.

Siga essas diretrizes ao usar o elemento EncryptedData:
  • O elemento EncryptedHeader deve conter um elemento EncryptedData.
  • O elemento <xenc:EncryptedData> pode ser usado para conter um token de segurança e incluí-lo no cabeçalho <wsse:Security>.
  • O <xenc:EncryptedData> não deve incluir um ID XML para fazer referência ao token de segurança contido.
  • Todos os tokens <xenc:EncryptedData> devem ter uma chave de criptografia integrada ou ter referência por uma chave de criptografia separada.
  • Se a conformidade com o Basic Security Profile 1.1 for desejada, o elemento <xenc:EncryptedData> deverá ter um atributo do id.

Asserção de Política para Partes Criptografadas

A asserção da política EncryptedParts especifica qual cabeçalho deve ser criptografado na política de segurança. A tabela a seguir descreve os elementos e os atributos que podem ser usados para EncryptedParts.

Tabela 1. Atributos e Elementos do Elemento EncryptedParts. Use partes criptografadas para fornecer segurança no nível de mensagem mais segura.
Elemento ou Atributo Description
/sp:EncryptedParts/sp:Header Opcional. A presença desse elemento opcional indica que um cabeçalho SOAP específico (ou conjunto de cabeçalhos) deve ser protegido. Você deve ter vários elementos sp:Header em um único elemento EncryptedParts.

Cada cabeçalho (ou conjunto de cabeçalhos) deve ser criptografado e essa criptografia criptografará elementos usando os cabeçalhos criptografados da Web Services Security Versão 1.1. Dessa maneira, se os Cabeçalhos Criptografados de WS-Secuirty 1.1 não forem suportados por um serviço, os cabeçalhos não poderão ser criptografados usando a segurança de nível de mensagem.

Se vários cabeçalhos SOAP com o mesmo nome local, mas diferentes nomes de espaço de nomes tiverem que ser criptografados, serão necessários vários elementos sp:Header, ou como parte de uma única asserção sp:EncryptedParts ou como parte de asserções sp:EncryptedParts separadas.

/sp:EncryptedParts/sp:Header/@Name Opcional. Esse atributo indica o nome local do cabeçalho SOAP a ser protegido com confidencialidade. Se esse atributo não for especificado, todos os cabeçalhos SOAP cujo espaço de nomes corresponda ao atributo Namespace serão protegidos.
/sp:EncryptedParts/sp:Header/@Namespace Necessário. Esse atributo indica o espaço de nomes dos cabeçalhos SOAP a serem protegidos com confidencialidade.

O exemplo da mensagem a seguir mostra exemplos da aparência do elemento EncryptedHeader em uma mensagem em que a asserção da política EncryptedParts para o cabeçalho criptografado foi especificada na política:

<S:Envelope xmlns:S="…" xmlns:wsse="…" xmlns:wsse11="…" xmlns:wsu="…"
	  xmlns:xenc="…" xmlns:ds="…">
	  <S:Header>
	    <wsse:Security>
      <!-- Tokens etc. -->
	      <xenc:EncryptedKey>
	        <xenc:EncryptionMethod Algorithm="…"/>
	          <ds:KeyInfo>
	            … …
	          </ds:KeyInfo>
	         <xenc:CipherData>
	           <xenc:CipherValue>…</xenc:CipherValue>
	         </xenc:CipherData>
	         <xenc:ReferenceList>
	           <xenc:DataReference URI="#hdrID"/>
	         </xenc:ReferenceList>
	       </xenc:EncryptedKey>
	    </wsse:Security>
	    <wsse11:EncryptedHeader wsu:Id="hdrID">
	      <xenc:EncryptedData Id="encDataID">
	        <xenc:CipherData>
	          <xenc:CipherValue>…</xenc:CipherValue>
	        </xenc:CipherData>
	        …
	      </xenc:EncryptedData>
	    </wsse11:EncryptedHeader>	
	  </S:Header>
	  <S:Body>
	    …
	  </S:Body>
</S:Envelope>

Para criptografar cabeçalhos no formato da especificação do Web Services Security Versão 1.0, especifique a propriedade com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.0 com um valor true no elemento <encryptionInfo> na ligação. Quando essa propriedade é especificada, o cabeçalho de destino para a criptografia é substituído por um elemento <EncryptedData>, e não por um elemento <EncryptedHeader> que contém um elemento <EncryptedData>.

Para o comportamento do Web Services Security Versão 1.1 que for equivalente a versões do WebSphere Application Server anteriores à versão 7.0, especifique a propriedade com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.1.pre.V7 com um valor de true no elemento <encryptionInfo> na ligação. Quando essa propriedade é especificada, o elemento <EncryptedHeader> inclui um parâmetro wsu:Id e o elemento <EncryptedData> omite o parâmetro Id. Essa propriedade só deverá ser utilizada se a conformidade com o Basic Security Profile 1.1 não for necessária.

Para obter informações completas sobre o elemento EncryptedHeader e o elemento EncryptedData, consulte a especificação Services Security Versão 1.1.


Í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_wssencryptedheader
Nome do arquivo: cwbs_wssencryptedheader.html