CyberGlossary

Criptografia

Nonce

Também conhecido como: Número de uso único, Nonce criptográfico

Definição

Número de uso único fornecido a um algoritmo criptográfico para garantir frescura e impedir replay ou reutilização de chave/IV.

Um nonce é uma entrada que não pode repetir-se durante o tempo de vida de uma chave, usada por cifras simétricas, modos AEAD, esquemas de assinatura e protocolos de autenticação para tornar cada operação única. Em modos AEAD como AES-GCM ou ChaCha20-Poly1305, o nonce tem normalmente 96 bits e pode ser gerado aleatoriamente ou como contador determinístico; reutilizar um nonce AES-GCM com a mesma chave quebra simultaneamente a confidencialidade e a autenticação. Nonces aparecem também em handshakes TLS, desafios OAuth/OIDC, cabeçalhos de blocos Bitcoin e esquemas como ECDSA, em que reutilizá-los expõe a chave privada. A boa prática é usar nonces aleatórios suficientemente longos ou contador estritamente monotónico, e migrar para modos resistentes a uso indevido (AES-GCM-SIV, XChaCha20-Poly1305) quando não se podem excluir colisões.

Exemplos

  • O TLS 1.3 deriva o nonce AEAD por registo aplicando XOR ao número de sequência com o IV por direção.
  • A recuperação da chave privada ECDSA da PlayStation 3 em 2010 ocorreu porque a Sony reutilizou o nonce de assinatura.

Termos relacionados