Segurança do WS

Os fluxos de mensagens são importados sem que o WS-Security esteja ativado. Qualquer um pode chamar o serviço da web para consumir as mensagens, semelhante ao Monitor TCP/IP com SOAP através de HTTP. Para ativar o WS-Security na forma de criptografia (confidencialidade) e assinatura (integridade), consulte Estendendo a Amostra Address Book.

A ativação do WS-Security é uma tarefa administrativa executada no nível do WebSphere Message Broker. Você não pode configurar a segurança ao desenvolver seus fluxos de mensagens; é necessário configurar as políticas e ligações no broker e associá-las aos fluxos de mensagens em um arquivo broker archive (BAR).

A Política de Segurança e as Ligações

Na amostra de extensão Address Book, o consumidor e o provedor têm os mesmos requisitos de segurança:

  1. Integridade de mensagem usando assinatura digital (criptografia de chave pública RSA) para assinar o corpo, o registro de data e hora, e especificar cabeçalhos WS-Addressing usando as especificações do WS-Security.
  2. Confidencialidade de mensagem usando criptografia (criptografia de chave pública RSA) para criptografar o corpo, a assinatura e elementos de assinatura usando as especificações do WS-Security.

Todas essas informações são capturadas na política de segurança usando o WS-Policy. As políticas devem ser interoperáveis entre os provedores WS-Security. A política que você cria é igual à política WS-Security padrão no WebSphere Application Server, que permite que você troque o provedor e o consumidor para o broker com o provedor e o consumidor para o WebSphere Application Server, após ter incluído o WS-Security.

A implementação desta política é capturada na ligação de segurança. Ligações são específicas ao provedor WS-Security e, se você quiser interoperar com o WebSphere Application Server, deverá criar uma ligação do WebSphere Application Server para a política do consumidor e provedor do WebSphere Application Server. A amostra de extensão Address Book mostra como criar a política e as ligações do broker dentro do ambiente de trabalho.

Para capacidade cruzada efetiva entre o consumidor e o provedor, a política de segurança é compartilhada e a mesma criptografia e assinatura de mensagens de saída e mensagens de entrada se aplicam. As ligações do consumidor e do provedor são diferentes porque suas perspectivas são distintas, e diferentes chaves são usadas para criptografia e assinatura. Por exemplo, para o provedor a mensagem de pedido é a mensagem de entrada, mas para o consumidor a mensagem de pedido é a mensagem de saída.

Como Funciona a Criptografia e a Assinatura

Para entender a amostra, você deve ter um conhecimento básico da criptografia de chave pública; consulte Criptografia de Chave Pública. A amostra utiliza dois certificados de chave pública X.509: uma chave pública e uma chave privada. Se os dados forem criptografados com uma chave, pode ser decriptografado somente com a outra chave. Para criptografar uma mensagem para alguém, você deve usar a chave pública dessas pessoas, somente elas podem decriptografá-la com a chave privada delas. Para assinar uma mensagem você deve criptografá-la com sua chave privada, qualquer pessoa pode decriptografá-la, utilizando sua chave pública. Você pode fornecer sua chave pública para qualquer pessoa com a qual deseja se comunicar. Mantenha sua chave privada em segredo.

O cenário de amostra

Os detalhes de como assinar e criptografar partes específicas da mensagem estão na seção de política de segurança e ligações precedente. O diagrama a seguir mostra que a mensagem SOAP inteira é criptografada e assinada. O diagrama mostra as chaves às quais o consumidor e o provedor possuem acesso em seus keystores, e quais chaves usam para criptografia e assinatura.

O consumidor possui acesso à sua sua chave pública (Cpub), sua chave privada (Cpriv) e à chave pública do provedor (Ppub). O provedor possui acesso à sua chave privada (Ppriv), sua chave pública (Ppub) e à chave pública do consumidor (Cpub).

O consumidor possui acesso a sua chave pública (Cpub), sua chave privada (Cpriv) e a chave pública do provedor (Ppub). O provedor possui acesso a sua chave privada (Ppriv), sua chave pública (Ppub) e a chave pública do consumidor (Cpub).

O consumidor assina a mensagem com sua chave privada (Cpriv) e criptografa a mensagem com a chave pública do provedor (Ppub). O provedor decriptografa a mensagem com sua própria chave privada (Ppriv) e verifica a assinatura com a chave pública do consumidor (Cpub).

Ao construir a resposta, o provedor assina a mensagem com sua chave privada (Ppriv) e a criptografa com a chave pública do consumidor (Cpub). O consumidor decriptografa a mensagem com sua chave privada (Cpriv) e verifica a assinatura com a chave pública do provedor (Ppub).

Os detalhes sobre qual chave utilizar e a ordem na qual o consumidor e o provedor devem criptografar e decriptografar estão contidos nas ligações de segurança. Você cria duas ligações de segurança nas seções de configuração: uma para o consumidor e outra para o provedor, consulte Configurando a Amostra da Lista de Endereços para Usar o HTTP ou Configurando a Amostra da Lista de Endereços para Usar o Transporte JMS. Use o diagrama anterior para referência.

Voltar para Estendendo a Amostra Address Book

Voltar para Início da Amostra