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
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;
Sumário
1 Introdução
Protocolos Hypertexto
Criptografia
Certificados SSL
2 Let’s Encrypt
Visão geral
Empresas envolvidas
Objetivos
Tecnologia
3 Referências
4 Agradecimentos
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.
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.
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.
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.
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.
Criptografia Híbrida
Olhando melhor
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.
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.
Certificado SSL
Olhando melhor a cadeia de confiança
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;
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;
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;
Patrocinadores e Parceiros
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.
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.
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;
Referências
Links úteis
• <https://letsencrypt.org/how-it-works/>;
• <http://www.slideshare.net/cortinico/lets-encrypt-free-certificates-for-everyone>
• <https://en.wikipedia.org/wiki/Let’s_Encrypt>
• <https://en.wikipedia.org/wiki/HTTPS>
• <https://en.wikipedia.org/wiki/Transport_Layer_Security>
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;

Certificados SSL e Let's Encrypt

  • 1.
    Mês de Segurança RedeNacional 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 ThiagoAlmeida • Chefe de operações - MOSS; • Estagiário - CSSI-CTIC; • 5 anos como Administrador de Sistemas; • 2 anos de experiência em Docker;
  • 3.
    Sumário 1 Introdução Protocolos Hypertexto Criptografia CertificadosSSL 2 Let’s Encrypt Visão geral Empresas envolvidas Objetivos Tecnologia 3 Referências 4 Agradecimentos
  • 4.
    Protocolos de Transmissãode 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ãode 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.
  • 9.
  • 10.
    Certificado SSL Visão Geral Umcertificado 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 queconfiar 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.
  • 12.
    Certificado SSL Olhando melhora cadeia de confiança
  • 13.
    Certificado SSL Processo deinstalaçã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 • Monitoreo prazo de validade do certificado; • Renove o certificado submetendo um novo CSR à AC; • Instale o novo certificado em seu servidor web;
  • 15.
    Um novo modelode 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;
  • 16.
  • 17.
    Objetivos • Oferecer certificadosSSL 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 dedomí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;
  • 20.
    Referências Links úteis • <https://letsencrypt.org/how-it-works/>; •<http://www.slideshare.net/cortinico/lets-encrypt-free-certificates-for-everyone> • <https://en.wikipedia.org/wiki/Let’s_Encrypt> • <https://en.wikipedia.org/wiki/HTTPS> • <https://en.wikipedia.org/wiki/Transport_Layer_Security>
  • 21.
    Obrigado! Até a próxima. ThiagoAlmeida • Chefe de operações - MOSS; • Estagiário - CSSI-CTIC; • 5 anos como Administrador de Sistemas; • 2 anos de experiência em Docker;