0Pricing
Cryptology Academy · Aula

Argon2: resumo de senhas com alto custo de memória

Explore Argon2i, Argon2d e Argon2id, e entenda por que o alto custo de memória é importante.

Argon2: resumo de senhas com alto custo de memória é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Boas-vindas

O Argon2 venceu a Competição de Geração de Resumos de Senhas (PHC) em 2015 e é a principal recomendação da OWASP. Seu projeto com uso intensivo de memória neutraliza ataques de GPU e ASIC que o bcrypt não consegue impedir.

Por que o uso intensivo de memória é importante

As GPUs têm milhares de núcleos, mas RAM limitada por núcleo (~1 KB). O Argon2 exige 64 MB ou mais de RAM por resumo. Os atacantes que tentarem 1000 resumos em paralelo precisarão de 64 GB de RAM — algo caro e limitado.

Variantes do Argon2

Argon2d: acesso dependente dos dados — mais rápido, mas vulnerável a ataques de temporização por canal lateral. Argon2i: acesso independente dos dados — seguro contra ataques de temporização. Argon2id: híbrido — recomendado para a maioria das aplicações.

Parâmetros do Argon2

m: memória em quilobytes (OWASP: 19456 KB = mínimo de 19 MB, 64 MB recomendado) t: custo de tempo / iterações (3 recomendado) p: paralelismo / linhas de execução (4 recomendado) sal: 16 bytes aleatórios saída: 32 bytes

Argon2id em Python

from argon2 import PasswordHasher ph = PasswordHasher( memory_cost=65536, # 64 MB time_cost=3, parallelism=4 ) hash = ph.hash('my_password') # Verify: ph.verify(hash, 'my_password') # True

Formato do resumo do Argon2

$argon2id$v=19$m=65536,t=3,p=4$ bmFuZG9tc2FsdHJhbmRvbQ$ KaE5Jjy7E8...hashed... Todos os parâmetros são armazenados na cadeia de caracteres do resumo. A verificação é autocontida — não é necessário armazenar os parâmetros separadamente.

Recomendações da OWASP para Argon2id em 2024

Mínimo: m=19456 KB (19 MB), t=2, p=1 Recomendado: m=65536 KB (64 MB), t=3, p=4 Alta segurança: m=262144 KB (256 MB), t=4, p=8 Ajuste com base na memória disponível no seu servidor.

Argon2 versus bcrypt versus PBKDF2

Argon2id: exige muita memória, é resistente a ASICs e recomendado para sistemas novos. bcrypt: amplamente compatível, não exige muita memória e oferece bom suporte a sistemas legados. PBKDF2: em conformidade com FIPS, não exige muita memória e deve ser usado em ambientes regulamentados.

Estratégia de atualização de resumos

Ao migrar do bcrypt para o Argon2: 1. Adicione uma nova coluna para o novo resumo 2. No próximo login: verifique com o bcrypt antigo, gere um novo resumo com Argon2 e armazene o novo resumo 3. Após X meses, force a redefinição de senha para usuários ainda não migrados

Argon2 em estruturas reais

Django: defina PASSWORD_HASHERS=['django.contrib.auth.hashers.Argon2PasswordHasher'] Node.js: use o pacote argon2 (não argon2-ffi) PHP 7.2 ou posterior: constante integrada PASSWORD_ARGON2ID em password_hash()

Segredo adicional do servidor

Um segredo adicional do servidor é misturado à senha antes da geração do resumo: hash(password + pepper). Mesmo que o banco de dados seja vazado, o atacante também precisará do segredo adicional. Alterar o segredo adicional = invalidar todos os resumos.

Verificação rápida

Por que o Argon2 é mais resistente a ataques de GPU do que o bcrypt?

Recapitulação

O Argon2id é a melhor ferramenta atual para gerar resumos de senhas. Em seguida, compararemos os três algoritmos e aprenderemos a escolher o mais adequado ao seu contexto.

Perguntas Frequentes

A aula “Argon2: resumo de senhas com alto custo de memória” é grátis?

Sim — o texto completo de “Argon2: resumo de senhas com alto custo de memória” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Argon2: resumo de senhas com alto custo de memória”?

Explore Argon2i, Argon2d e Argon2id, e entenda por que o alto custo de memória é importante. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Argon2: resumo de senhas com alto custo de memória”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por que o SHA-256 simples falha com senhas
  2. bcrypt: algoritmo e fator de custo
  3. Argon2: resumo de senhas com alto custo de memória
  4. PBKDF2 e escolha do algoritmo adequado
← Voltar para Cryptology Academy