Nonce, um Token Aleatoriamente Gerado
Nonce é um token criptográfico, gerado aleatoriamente, utilizado para evitar ataques de reprodução. Embora o nonce possa ser inserido em qualquer lugar da mensagem SOAP, ele normalmente é inserido no elemento <UsernameToken>.
Sem o nonce, quando um token de Nome do Usuário é passado de uma máquina para outra utilizando um transporte não seguro, como HTTP, ele pode ser interceptado e utilizado em um ataque por reprodução. A mesma senha pode ser reutilizada quando o token do nome do usuário é transmitido entre o cliente e o servidor, que deixa-o vulnerável a ataques. O token de nome do usuário pode ser roubado mesmo se você utilizar assinatura digital XML e criptografia XML. No entanto, nonce sozinho, utilizado em um transporte não protegido, não pode tratar adequadamente de problemas de reprodução. Nonce é mais útil quando a mensagem SOAP é transmitida por meio de um canal de comunicação protegido, seja no nível de transporte ou no nível de mensagem.
Para ajudar a eliminar esses ataques de repetição, os elementos <wsse:Nonce> e <wsu:Created> são gerados no elemento <wsse:UsernameToken> e usados para validar a mensagem. O servidor verifica a atualização da mensagem verificando se a diferença entre o horário de criação de nonce, que é especificado pelo elemento < wsu :Created>, e o horário atual está dentro de um período especificado. Além disso, o servidor verifica um cache de nonces utilizados para determinar se o token do nome do usuário na mensagem SOAP recebida não foi processado dentro do período de tempo especificado. Esses dois recursos são utilizados para diminuir a chance de um token de nome de usuário ser utilizado para um ataque por reprodução.
Para incluir nonce no token de Nome do Usuário, é possível especificá-lo no gerador de token para o token do nome do usuário. Quando o gerador de token para o token de Nome do Usuário está especificado, você pode selecionar a opção Incluir Nonce, se quiser incluir nonce no token de Nome do Usuário.