nonce

termo

criptografiasegurança

Significa: number used once

Um número usado uma única vez, incluído em um protocolo para que a mesma mensagem não possa ser reenviada.

Um nonce garante frescor: como nunca se repete, uma requisição capturada não pode ser reenviada para enganar o destinatário. É distinto de um IV e de um sal, embora os três injetem unicidade; a função específica do nonce é derrotar o replay.

Um nonce é um valor usado exatamente uma vez, e a segurança inteira de vários sistemas repousa nessa palavra. Ele não precisa ser secreto e muitas vezes trafega em claro; o que ele precisa ser é não repetido dentro do seu contexto, o que faz dele coisa bem diferente de uma chave.

Sua função principal é derrotar a repetição. Se um atacante consegue capturar uma mensagem válida e reenviá-la depois com o mesmo efeito, o sistema está quebrado por mais forte que seja a criptografia, então o destinatário registra quais nonces já viu e rejeita repetições. O OIDC usa um para vincular o token de identidade à requisição específica que o pediu, e é por isso que um token repetido de outra sessão falha na validação.

A versão catastrófica de errar isso é a reutilização de nonce em criptografia. Repetir um sob a mesma chave numa cifra em modo contador não enfraquece a criptografia um pouco: pode revelar de imediato a relação entre dois textos claros. É por isso que foram projetados modos resistentes a mau uso de nonce e por que nonces aleatórios de tamanho adequado são preferíveis a contadores que podem reiniciar quando o dispositivo reinicia.

Também conhecido como: number used once, cryptographic nonce

Todos os verbetes do glossário