Introdução à Criptografia Moderna Seminário do Projeto 2 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 1 Roteiro • • • • • Introdução Problema Solução Métodos Referências 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 2 Introdução • Secure Sockets Layer (SSL) é um protocolo que provê privacidade e segurança • Utiliza o conceito de Diffie-Hellman • Redes seguras tem usado o SSL • Ataques man-in-the-middle aproveitam-se da brecha do protocolo Diffie-Hellman 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 3 Problema • Simular um ataque man-in-the-middle em uma rede SSL. • Implementar um proxy que se conecta ao servidor e o cliente. • Criar assinaturas “fakes”. 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 4 Man-in-the-middle • Intercepta dados criptografados entre dois hosts. • Cria duas conexões SSL diferentes entre os dois. • Proxy<->Remote Server – Cria uma conexão SSL normal com o site remoto solicitado • Proxy<->Browser – Cria uma conexão SSL com o browser usando o seu próprio certificado • Se o browser aceitar, já era! 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 5 Solução 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 6 Métodos • Para isso foi usado: – keytool (utilitário de linha de comando) – para criar e gerenciar chaves e certificados – IAIK-JCE APIs – para criar certificados digitais – JSSE (Java Secure Socket Extension) – para implementar a segurança na rede 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 7 “Rodando, rodando . . .” 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 8 Referências • http://en.wikipedia.org/wiki/man-in-themiddle • http://en.wikipedia.org/wiki/Ssl 05/11/2015 André Guedes - agl / Rodrigo Diêgo - rdma 9