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
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.
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
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
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
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
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