Pepper
O que é Pepper?
PepperSegredo 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
- 01
HMAC-SHA-256(pepper, password) calculado na aplicação e depois passado pelo Argon2id.
- 02
Guardar o pepper num HSM para que a aplicação não possa exfiltrá-lo diretamente.
● Perguntas frequentes
O que é Pepper?
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. Pertence à categoria Criptografia da cibersegurança.
O que significa Pepper?
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.
Como se defender contra Pepper?
As defesas contra Pepper costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Pepper?
Nomes alternativos comuns: Chave do lado do servidor, Pepper secreto.