Ativando a Conversação Segura
Use a conversa segura para proteger mensagens do aplicativo de serviços da Web.
Antes de Iniciar
Aplicativos que contêm serviços da Web devem ter sido implementados.
Sobre Esta Tarefa
A especificação de rascunho WS-SecureConversation (Web Services Secure Conversation) OASIS (Organization for the Advancement of Structured Information Standards) descreve as maneiras de se estabelecer uma sessão segura entre o iniciador e o destinatário das mensagens SOAP. A especificação em rascunho WS-SecureConversation também define como utilizar o protocolo WS-Trust (Web Services Trust) da OASIS para estabelecer um SCT (token de contexto de segurança). Para obter informações completas, consulte a especificação de Conversação Segura de Serviços da Web da OASIS.
O WebSphere Application Server suporta a capacidade de um terminal de emitir um token de contexto de segurança para WS-SecureConversation e, com base nisso, fornece uma sessão segura entre o inicializador e o destinatário das mensagens SOAP.
A figura a seguir descreve o fluxo necessário para estabelecer um contexto seguro e utilizar a segurança baseada em sessão.

- O cliente envia um pedido de confiança RST (RequestSecurityToken) de um token
de contexto de segurança para um terminal de aplicativo com sua chave secreta (entropia e
tamanho da chave de destino) e solicita a chave secreta do serviço de destino.
Essa solicitação normalmente é protegida com o Web Service Security assimétrico que é definido na política de autoinicialização.
- O RST é processado pelo serviço de confiança, se o pedido for confiável
com base na política de segurança, o serviço de confiança retornará o token de contexto
de segurança com a chave secreta do serviço de destino, utilizando um RSTR (WS-Trust
RequestSecurityTokenResponse).
Essa solicitação normalmente é protegida com o Web Service Security assimétrico. O cliente verifica se o RSTR pode ser confiável, com base na política de auto-inicialização.
- Se o RequestSecurityTokenResponse for confiável, o cliente protegerá (assinará
e criptografará) as mensagens subsequentes do aplicativo, utilizando as chaves de sessão.
As chaves de sessão são derivadas do segredo do token de contexto de segurança obtido das mensagens WS-Trust RequestSecurityToken e RequestSecurityTokenResponse iniciais que são trocadas entre o inicializador e o destinatário.
- A especificação define um algoritmo de como derivar a chave com base no segredo inicial. O serviço da Web de destino calcula a chave derivada a partir dos metadados contidos no cabeçalho de segurança da mensagem SOAP e o segredo inicial.
- O serviço da Web de destino usa a chave derivada para verificar e decriptografar a mensagem com base na política de segurança do aplicativo.
- O serviço da Web de destino usa a chave derivada a partir do segredo para assinar e criptografar a resposta com base na política de segurança do aplicativo.
- Repita as etapas de 3 a 6 até que a troca de mensagens tenha sido concluída.
Na especificação WS-SecureConversation, um contexto de segurança é representado pelo token de segurança <wsc:SecurityContextToken>. O exemplo a seguir representa a sintaxe de asserção para um elemento <wsc:SecurityContextToken>.
<wsc:SecurityContextToken wsu:Id="..." ...>
<wsc:Identifier>...</wsc:Identifier>
<wsc:Instance>...</wsc:Instance>
...
</wsc:SecurityContextToken>
O token de contexto de segurança não suporta referências a ele, utilizando os identificadores de chave ou nomes de chave. Todas as referências devem utilizar um ID (para um atributo wsu:Id) ou um <wsse:Reference> para o elemento <wsc:Identifier>.
O WebSphere Application Server fornece estas políticas relacionadas à conversação segura pré-configurada:
- O conjunto de política SecureConveration segue as especificações WS-SecureConversation e WS-Security e fornece um conjunto de política com conversação segura ativada e utilizando chaves derivadas do token de contexto de segurança para assinatura e criptografia das mensagens do aplicativo.
- O conjunto de política Username SecureConversation segue as especificações WS-SecureConversation e WS-Security e inclui autenticação utilizando o token Username.
- A política LTPA SecureConversation segue as especificações WS-SecureConversation e WS-Security e fornece autenticação utilizando os tokens LTPA (Lightweight Third Party Authentication).
Neste exemplo, o conjunto de política padrão SecureConversation, a ligação padrão WS-Security e a ligação TrustServiceSecurityDefault são utilizados para executar a tarefa de ativação da conversação segura. O conjunto de política padrão SecureConversation tem a política do aplicativo (symmetricBinding) e a política de auto-inicialização (asymmetricBinding). A política do aplicativo é utilizada para proteger mensagens do aplicativo e a política de auto-inicialização é utilizada para proteger as mensagens RequestSecurityToken (RST).
Um serviço confiável que emite um token de contexto de segurança é configurado com a política de sistema TrustServiceSecurityDefault e a ligação TrustServiceSecurityDefault. A política de confiança é responsável por proteger as mensagens RequestSecurityTokenResponse (RSTR). Se a política de auto-inicialização for modificada, a política de confiança terá de ser modificada para corresponder a ambas as configurações.
As ligações padrão de Segurança de Serviços da Web (WS-Security) utilizadas aqui contêm arquivos de chave de amostra e devem ser customizadas antes do uso em produção. Para o ambiente de produção, o uso de ligações customizadas é aconselhável. Observe também que, se o perfil for criado utilizando a opção Criar o servidor utilizando o modelo de desenvolvimento, você poderá ignorar as etapas 2 e 3.
Para configurar a conversação segura, configurar o conjunto de política e incluir uma asserção na política, conclua as etapas a seguir:
Procedimento
Resultados
O que Fazer Depois
A seguir, revise o cenário de exemplo sobre como estabelecer um token de contexto de segurança para proteger uma conversação segura.