A especificação de WS-Security fornece três mecanismos para proteger serviços da Web no nível da mensagem: autenticação, integridade e sigilo.
Este mecanismo utiliza um token de segurança para validar o usuário e determinar se um cliente é válido em um contexto específico. Um cliente pode ser um usuário, computador ou aplicativo. Sem autenticação, um intruso pode utilizar técnicas de spoofing para enviar uma mensagem SOAP modificada para o provedor de serviços.
Em autenticação, é inserido um token de segurança na mensagem de pedido. Dependendo do tipo de token de segurança que está sendo usado, o token de segurança também pode ser inserido na mensagem de resposta. Os tipos a seguir de token de segurança são suportados para autenticação:
Os tokens de nome de usuário são usados para validar nomes de usuários e senhas. Quando um servidor de serviço da Web recebe um token de nome de usuário, o nome de usuário e a senha são extraídos e transmitidos a um registro do usuário para verificação. Se a combinação de nome de usuário e senha for válida, o resultado será retornado ao servidor e a mensagem será aceita e processada. Quando utilizados em autenticação, os tokens de nome de usuário geralmente são transmitidos somente na mensagem de pedido, não na mensagem de resposta.
Tokens X.509 são validados usando um caminho de certificado.
O suporte ao broker para asserções SAML está restrito a passar o token para um servidor de tokens de segurança WS (STS) para validação.
Os bilhetes do Kerberos são validados contra o arquivo keytab do Kerberos do host.
O suporte ao broker para tokens binários LTPA está restrito a passar o token para um STS de Confiança WS para validação.
Este mecanismo usa assinatura de mensagem para assegurar que as informações não foram alteradas ou perdidas acidentalmente. Quando a integridade for implementada, será gerada uma assinatura digital XML no conteúdo de uma mensagem SOAP. Se mudanças não autorizadas forem feitas nos dados da mensagem, a assinatura não será validada. Sem integridade, um agressor pode usar técnicas de violação para interceptar uma mensagem SOAP entre o cliente de serviço da Web e o servidor e modificá-la.
Este mecanismo utiliza a criptografia de mensagem para assegurar que nenhuma parte ou processo possa acessar ou divulgar as informações na mensagem. Quando uma mensagem SOAP for criptografada, apenas um serviço que conhece a chave apropriada poderá decriptografar e ler a mensagem.