Uma apresentação inicial sobre a importância da camada de segurança no HTTPS e como a Let's Encrypt faz pra gerar certificados SSL gratuitos com um processo automatizado.
1. Mês de Segurança
Rede Nacional de Ensino e Pesquisa
Certificados SSL e Letsencrypt
Thiago Almeida
Universidade Federal do Pará
Centro de Tecnologia da Informação e Comunicação
5 de outubro de 2016
2. Sobre o Instrutor
Thiago Almeida
• Chefe de operações - MOSS;
• Estagiário - CSSI-CTIC;
• 5 anos como Administrador de Sistemas;
• 2 anos de experiência em Docker;
4. Protocolos de Transmissão de Hipertexto
HTTP
O Hypertext Transfer Protocol (HTTP),
em português Protocolo de Transferência de
Hipertexto, é um protocolo de comunicação
(na camada de aplicação segundo
o Modelo OSI) utilizado para sistemas
de informação de hipermídia, distribuídos
e colaborativos.Ele é a base para a
comunicação de dados da World Wide Web.
5. Protocolos de Transmissão de Hipertexto
HTTPS
HTTPS (Hyper Text Transfer
Protocol Secure - protocolo de transferência
de hipertexto seguro) é uma implementação
do protocolo HTTP sobre uma
camada adicional de segurança que utiliza
o protocolo SSL/TLS. Essa camada adicional
permite que os dados sejam transmitidos
por meio de uma conexão criptografada e
que se verifique a autenticidade do servidor
e do cliente por meio de certificados digitais.
6. Criptografia Simétrica
O que é?
Algoritmos de chave
simétrica são algoritmos para criptografia
que usam a mesma chave criptográfica para
encriptação de texto puro e decriptação de
texto cifrado. A chave, na prática, representa
um segredo compartilhado entre duas
ou mais partes que pode ser usado para
manter uma ligação de informação privada.
7. Criptografia Assimétrica
O que é?
Criptografia de chave pública, também
conhecida como criptografia assimétrica,
é uma classe de protocolos de criptografia
baseados em algoritmos que requerem
duas chaves, uma delas sendo secreta
(ou privada) e a outra delas sendo pública.
Apesar de diferentes, as duas partes desse
par de chaves são matematicamente ligadas.
A chave pública é usada, por exemplo, para
encriptar purotexto ou para verificar uma
assinatura digital; já a chave privada é usada
para decriptar cifrotexto ou para criar uma assinatura digital.
8. Criptografia Híbrida
O que é?
Para compensar o problema
do segredo pré-estabelecido da chave simétrica
e o alto poder computacional necessário
na chave simétrica, foi elaborado um meio
onde em sua primeira etapa (handshake), seja
utilizado a criptografia assimétrica, autenticando
assim os nós e combinando uma chave secreta
para um uso posterior na criptografia simétrica.
10. Certificado SSL
Visão Geral
Um certificado digital é um arquivo
de computador que contém um conjunto de informações
referentes à entidade para a qual o certificado foi emitido
(seja uma empresa, pessoa física ou computador) mais
a chave pública referente à chave privada que se acredita ser
de posse unicamente da entidade especificada no certificado.
11. Certificado SSL
Por que confiar em um certificado digital?
Entre os campos
obrigatórios do certificado digital encontra-se
a identificação e a assinatura da entidade
que o emitiu, os quais permitem verificar
a autenticidade e a integridade do certificado.
A entidade emissora é chamada de Autoridade
Certificadora ou simplesmente AC. A AC é
o principal componente de uma Infra-Estrutura
de Chaves Públicas e é responsável pela
emissão dos certificados digitais. O usuário
de um certificado digital precisa confiar na AC.
13. Certificado SSL
Processo de instalação
• Gere um par de chaves pública e privada;
• Gere um CSR, sigla em inglês
para "Solicitação de Assinatura de Certificado";
• Submeta esse CSR à uma
Autoridade Certificadora;
• Aguarde a AC verificar sua identidade;
• Receba seu certificado, assinado pela AC;
• Instale o novo certificado em seu servidor
web;
14. Certificado SSL
Renovação
• Monitore o prazo de validade do certificado;
• Renove o certificado submetendo
um novo CSR à AC;
• Instale o novo certificado em seu servidor web;
15. Um novo modelo de Autoridade Certificadora
HTTP
A Let’s Encrypt
é uma Autoridade Certificadora (CA) que emite certificados
SSL gratuitamente via processo automatizado, planejado
para eliminar o atual processo manual que é complexo,
permitindo que você habilite o uso de HTTPS (HTTP over
TLS) no seu site, tornando assim a web um lugar mais seguro.
Esse serviço é fornecido pelo ISRG, sigla
em inglês para Grupo de Pesquisa de Segurança na Internet;
17. Objetivos
• Oferecer certificados SSL seguros e gratuitos;
• Diminuir a complexidade para conseguir um certificado SSL;
• Automatizar o processo de renovação dos certificados já gerados;
• Gerar transparência sobre certificados gerados e revogados.
• Disponibilizar padrões e tecnologias abertas para que outras ACs possam adotar;
• Ter uma infraestrutura cooperativa o suficiente que a comunidade de usuários guie.
18. Como funciona?
Arquitetura
• Servidor - Boulder - Escrito em GO;
• Protocolo - ACME - "Ambiente Automático de Gerência de Certificados"
• Cliente - Certbot Acme - Escrito em Python;
• Plugins para a maioria dos servidores web.
19. Como funciona?
Validação de domínio
• Desafios de validação são feitos;
• Troca de chaves pública e privada;
• Inclusão de entrada DNS (CNAME OU TXT);
• Adição de arquivo com conteúdo assinado
com a chave pública e verificado pelo Boulder
com a chave privada; • Troca de arquivos
com o novo certificado e os intermediários;
• Validade máxima de 90 dias;
21. Obrigado!
Até a próxima.
Thiago Almeida
• Chefe de operações - MOSS;
• Estagiário - CSSI-CTIC;
• 5 anos como Administrador de Sistemas;
• 2 anos de experiência em Docker;