CyberGlossary

Criptografia

Pepper

Também conhecido como: Chave do lado do servidor, Pepper secreto

Definição

Segredo do lado do servidor combinado com cada palavra-passe antes do hashing e guardado separado da base de dados para mitigar cracking offline após fuga de hashes.

Um pepper é um segredo longo, partilhado por toda a aplicação (tipicamente 32 bytes ou mais), adicionado a cada palavra-passe antes de ser processada por uma função de hash ou KDF, em conjunto com o salt por utilizador. Ao contrário do salt, o pepper é guardado fora da base de credenciais — num ficheiro de configuração, variável de ambiente ou HSM — para que um atacante que apenas obtenha a tabela de hashes não consiga facilmente fazer cracking offline. As implementações costumam calcular HMAC(pepper, password) antes de passar o resultado ao Argon2id, ou fornecer o pepper a uma KDF como parte do material secreto. É uma medida de defesa em profundidade: não substitui KDFs fortes, salts ou limitação de taxa, mas eleva o custo das fugas limitadas à base de dados.

Exemplos

  • HMAC-SHA-256(pepper, password) calculado na aplicação e depois passado pelo Argon2id.
  • Guardar o pepper num HSM para que a aplicação não possa exfiltrá-lo diretamente.

Termos relacionados