SlideShare uma empresa Scribd logo
1 de 9
DICA 01
DISCLAIMER
The information contained in this document may be privileged
and confidential and protected from disclosure. If the reader of
this document is not the intended recipient, or an employee
agent responsible for delivering this document to the
intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is
strictly prohibited.
SENHAS E
CRIPTOGRAFIA
Objetivos
• HASH de Senhas
• Quais Hashs usar em minhas aplicações?
• Hashs que não devo usar
• O que mais devo observar?
• Conclusão
HASH
Hash de senhas é sempre uma defesa secundária. Um servidor que faça
autenticação precisa de alguma informação para poder validar uma senha.
• Funções criptográficas de hash
• Salts
• Velocidade
não usa salt, permitindo ataques paralelos (rainbow tables pra MD5 e SHA-1
podem ser obtidas gratuitamente, você não precisa nem ter o trabalho de
calcular);
são muito rápidas e ficam mais e mais com o tempo. Com uma GPU razoável de
mercado, a taxa de hashing é de bilhões de senhas por segundo.
Quais Hashs usar em minhas aplicações?
• PBKDF2
• bcrypt
• scrypt
• "crypt" do Unix
Hashs que não devo usar
• Complexidade é ruim.
• Solução caseira é ruim.
• Novidade é ruim.
Lembrando disso você vai evitar 99% dos problemas de hash de senhas, e
segurança em geral.
Ex: Hash de senha no Windows costumava ser terrivelmente medonho, agora é
só péssimo (MD4 sem salt e iterações).
O que mais devo observar?
• Quantas iterações?
• Colisões e MD5
• Geração do salt
• O salt tem que ser secreto?
• Pepper
• Hashing do lado do cliente
Conclusão
• bcrypt
• PBKDF2
• scrypt

Mais conteúdo relacionado

Mais de Alcyon Ferreira de Souza Junior, MSc

Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareAlcyon Ferreira de Souza Junior, MSc
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Alcyon Ferreira de Souza Junior, MSc
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemAlcyon Ferreira de Souza Junior, MSc
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBAlcyon Ferreira de Souza Junior, MSc
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...Alcyon Ferreira de Souza Junior, MSc
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018Alcyon Ferreira de Souza Junior, MSc
 

Mais de Alcyon Ferreira de Souza Junior, MSc (20)

Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
 
Mapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de softwareMapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de software
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
A nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridosA nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridos
 
Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018
 
7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec 7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
 

Dica sobre senhas e criptografia

  • 2. DISCLAIMER The information contained in this document may be privileged and confidential and protected from disclosure. If the reader of this document is not the intended recipient, or an employee agent responsible for delivering this document to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.
  • 4. Objetivos • HASH de Senhas • Quais Hashs usar em minhas aplicações? • Hashs que não devo usar • O que mais devo observar? • Conclusão
  • 5. HASH Hash de senhas é sempre uma defesa secundária. Um servidor que faça autenticação precisa de alguma informação para poder validar uma senha. • Funções criptográficas de hash • Salts • Velocidade não usa salt, permitindo ataques paralelos (rainbow tables pra MD5 e SHA-1 podem ser obtidas gratuitamente, você não precisa nem ter o trabalho de calcular); são muito rápidas e ficam mais e mais com o tempo. Com uma GPU razoável de mercado, a taxa de hashing é de bilhões de senhas por segundo.
  • 6. Quais Hashs usar em minhas aplicações? • PBKDF2 • bcrypt • scrypt • "crypt" do Unix
  • 7. Hashs que não devo usar • Complexidade é ruim. • Solução caseira é ruim. • Novidade é ruim. Lembrando disso você vai evitar 99% dos problemas de hash de senhas, e segurança em geral. Ex: Hash de senha no Windows costumava ser terrivelmente medonho, agora é só péssimo (MD4 sem salt e iterações).
  • 8. O que mais devo observar? • Quantas iterações? • Colisões e MD5 • Geração do salt • O salt tem que ser secreto? • Pepper • Hashing do lado do cliente

Notas do Editor

  1. Page 1
  2. Page 2
  3. Objetivos Explicar a importância do Princípio de Kerckhoff, Manejo de Chaves e Aleatoriedade. Descrever a criptografia de chave pública, ataques de homem do meio e certificados. Reconhecer as ameaças a SSL/TLS/HTTPS. Aplicar HTTPS corretamente.
  4. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  5. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  6. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  7. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  8. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital