Definição – O que significa Web Services Security (WS Security)?
Web Services Security (WS Security) é uma especificação que define como as medidas de segurança são implementadas em serviços da web para protegê-los de ataques externos. É um conjunto de protocolos que garantem a segurança de mensagens baseadas em SOAP, implementando os princípios de confidencialidade, integridade e autenticação.
Como os serviços da Web são independentes de qualquer implementação de hardware e software, os protocolos WS-Security precisam ser flexíveis o suficiente para acomodar novos mecanismos de segurança e fornecer mecanismos alternativos se uma abordagem não for adequada. Como as mensagens baseadas em SOAP atravessam vários intermediários, os protocolos de segurança precisam ser capazes de identificar nós falsos e impedir a interpretação de dados em quaisquer nós. WS-Security combina as melhores abordagens para resolver diferentes problemas de segurança, permitindo que o desenvolvedor personalize uma solução de segurança específica para uma parte do problema. Por exemplo, o desenvolvedor pode selecionar assinaturas digitais para não repúdio e Kerberos para autenticação.
Definirtec explica Web Services Security (WS Security)
O objetivo do WS-Security é garantir que a comunicação entre duas partes não seja interrompida ou interpretada por terceiros não autorizados. O receptor precisa ter certeza de que a mensagem foi realmente enviada pelo remetente, e o remetente deve ter certeza de que o receptor não pode negar o recebimento da mensagem. Finalmente, os dados enviados durante a comunicação não devem ser alterados por uma fonte não autorizada. Todos os dados relacionados à segurança são adicionados como parte do cabeçalho SOAP. Portanto, uma sobrecarga considerável é imposta na formação da mensagem SOAP quando os mecanismos de segurança são ativados.
Cabeçalho WS-Security SOAP:
O desenvolvedor é livre para escolher qualquer mecanismo de segurança subjacente ou conjunto de protocolos para atingir seu objetivo. A segurança é implementada usando um cabeçalho que consiste em um conjunto de pares chave-valor onde o valor muda apropriadamente com as mudanças no mecanismo de segurança subjacente usado. Este mecanismo ajuda a identificar a identidade do chamador. Se uma assinatura digital for usada, o cabeçalho conterá informações sobre como o conteúdo foi assinado e a localização da chave usada para assinar a mensagem.
As informações relacionadas à criptografia também são armazenadas no cabeçalho SOAP. O atributo ID é armazenado como parte do cabeçalho SOAP, o que simplifica o processamento. O carimbo de data / hora é usado como um nível adicional de proteção contra ataques à integridade da mensagem. Quando uma mensagem é criada, um carimbo de data / hora é associado à mensagem, indicando quando ela foi criada. Registros de data e hora adicionais são usados para a expiração da mensagem e para indicar quando a mensagem foi recebida no nó de destino.
Mecanismos de autenticação de segurança WS
- Abordagem de nome de usuário / senha: a combinação de nome de usuário e senha é um dos mecanismos básicos de autenticação usados e é análoga aos métodos de autenticação HTTP Digest e Basic. O elemento de token de nome de usuário é usado para passar credenciais de usuário para autenticação. A senha pode ser transportada como texto simples ou em formato resumido. Quando a abordagem de resumo é usada, a senha é criptografada usando a técnica de hash SHA1.
- Abordagem X.509: Esta abordagem identifica o usuário por uma infraestrutura de chave pública que mapeia o certificado X.509 para um usuário específico. Mais segurança pode ser adicionada usando uma chave pública e uma chave privada para criptografar e descriptografar o certificado X.509. Para garantir que as mensagens não sejam reproduzidas, um limite de tempo pode ser definido para recusar mensagens que chegam após um determinado período decorrido.
- Kerberos: O conceito de um tíquete constitui o mecanismo subjacente do Kerberos. O cliente precisa se autenticar em um centro de distribuição de chaves (KDC) usando uma combinação de nome de usuário / senha ou um certificado X.509. Com a autenticação bem-sucedida, o usuário recebe um tíquete de concessão de tíquete (TGT). Usando o TGT, o cliente tenta acessar um serviço de concessão de tíquetes (TGS). Nesta etapa, as duas primeiras funções de identificação e autorização acabaram. O cliente então solicita um tíquete de serviço (ST) para adquirir um determinado recurso do TGS e recebe o ST. O cliente usa o ST para acessar o serviço.
- Assinatura digital: assinaturas XML são usadas para proteger a mensagem de modificação e interpretação. A assinatura deve ser realizada por uma parte confiável ou pelo remetente real.
- Criptografia: a criptografia XML é usada para proteger os dados de interpretação, tornando-os ilegíveis para terceiros não autorizados. Podem ser usadas abordagens simétricas e assimétricas.
O WS-Security permite que os mecanismos de segurança existentes sejam aproveitados de forma adequada para evitar qualquer sobrecarga na incorporação de novos mecanismos.