1 / 27

Rafael Alcantara de Paula

Belo Horizonte, 31 de Janeiro de 2012. Rafael Alcantara de Paula. SSL e Certificado Digital. Índice. Conceitos Fluxos Exemplos Apendice. Conceitos. Criptografia. Comunicação Segura – Principais Conceitos. Confidencialidade.

faxon
Download Presentation

Rafael Alcantara de Paula

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Belo Horizonte, 31 de Janeirode 2012 Rafael Alcantara de Paula SSL e Certificado Digital

  2. Índice • Conceitos • Fluxos • Exemplos • Apendice

  3. Conceitos Criptografia

  4. Comunicação Segura – Principais Conceitos Confidencialidade • Dados trafegados só são visíveis para as pontas que estão se comunicando. • Caso o trafego seja interceptado; dado não pode ser lido. • Método para garantir : Criptografia. Confiabilidade • Garantia da “identidade” de quem esta enviando o dado. • Necessário identificar quando outro “finge” ser a origem. • Método para garantir : Certificado e Assinatura.

  5. Criptografia e Chaves Criptografia • Processo que converte um texto legível em ilegível de forma que possa ser convertido novamente para o formato original apenas pelas partes autorizadas. • Utiliza métodos matemáticos com chaves. Chave Simétrica • Utiliza a mesma chave para criptografar e descriptografar o texto. • Chave deve ser combinada entre as partes e mantida em sigilo.

  6. Criptografia e Chaves Chaves Assimétricas • Duas chaves : uma publica e uma privada. • A publica é distribuída para quem quiser enviar dados para este host. • A privada é mantida em sigilo. • O criptografado pela chave publica só pode ser descriptografado pela privada. • O criptografado pela chave privada só pode ser descriptografado pela chave publica. Assinatura Digital • Hash de um documento; criptografado com uma chave privada. • Para validar a autenticidade do documento: • Descriptografar a assinatura com a chave publica. • Gerar hash do mesmo documento. • Comparar os dois.

  7. Conceitos Certificado Digital

  8. Certificado Digital O que é • Documento digital que certifica a autencidade de uma chave publica vinculada a um host. • Precisa ser “assinado” por uma Entidade confiável do client. • Possui prazo de validade. CertificateAuthority • Entidade confiável que gera e assina um certificado. • Assinatura é gerada com sua chave privada. • Chave publica da entidade é distribuída junto com softwares básicos ou pode ser instalada. • A chave publica da CA é utilizada para validar um Certificado. Expiração • Certificado de um host: 2 Anos • Certificado de CA: 10 a 20 Anos ( 10 é mais comum )

  9. Certificado digital Conteúdo • Identificação do certificado. • Chave publica do Host. • Validade do certificado. • CertificateAutority que assina o certificado. • Assinatura: Baseada na identificação do certificado e na chave publica.

  10. Certificado digital Certificação Mutua • Utilizada quanto o Server necessita certificar a identidade do Client. • Troca da chave simétrica é feita utilizando uma combinação das chaves dos dois. • Client criptografa a chave usando a sua chave privada e depois a publica do server. • Geralmente utilizada como forma de autorização. Somente os clients em cujos certificados o server confia podem acessar o serviço.

  11. Fluxos Assinatura do Certificado

  12. Assinatura do Certificado

  13. Assinatura do Certificado • Servidor gera a Solicitação de Certificado ( CSR ). • Info do certificado • Chave publica do Servidor. • CA assina Certificado utilizando a CSR e sua chave Privada. • Chave publica da CA é distribuída para os Clients. • Durante tentativa de acesso o server envia o seu certificado contendo a chave publica do server. • Client utiliza a chave publica da CA para validar a chave publica. • Se for validada; o client gera uma chave simétrica para a conexão ssl e criptografa com a chave publica do server para envia-lo.

  14. Fluxos HandShake SSL

  15. HandShake SSL

  16. HandShake SSL com certificação Mutua

  17. Fluxos Validação do Certificado

  18. Validação do Certificado

  19. Exemplos

  20. Exemplos Sites internet • CSR gerada em qualquer server com as informações do host. • Certificado deve ser gerado\assinado por uma entidade certificadora internacional. • Certificado e chave privada são instalados no ponto que faz o SSL (Appliance ou servidor). • Todos os browsers de desktop que possuírem a chave publica da CA irão confiar no acesso. Sites intranet • CSR gerada em qualquer server com as informações do host. • Certificado deve ser gerado\assinado pela CA interna. • Certificado e chave privada são instalados no ponto que faz o SSL (Appliance ou servidor). • Certificado publico da CA interna deve ser instalado em todas as maquinas da rede.

  21. Exemplos Serviço interno – Acessado por outra aplicação. • CSR gerada em qualquer server com as informações do host. • Certificado deve ser gerado\assinado pela CA interna. • Certificado e chave privada são instalados no ponto que faz o SSL (applianceou servidor). • Certificado publico da CA interna deve ser importado na plataforma que faz acesso a aplicação segura . • Opcionalmente: aplicação que acessa o serviço pode ser configurada para confiar no certificado.

  22. Certificado gerado e assinado utilizando openssl CSR • opensslreq -new -days 730 -out rafael.dominio.req-keyoutrafael.dominio.pem • Comando irá gerar uma solicitação de certificado com validade de 2 anos(da solicitação). • Será solicitado o preenchimento das informações do certificado. • Chave privada sera gravada no keyfile ( rafael.dominio.pem ) Certificado • opensslca -days 730 -keyfile/CAMINHOKEYSTORE/cakey.pem-cert /CAMINHOCHAVECA/cacert.pem-in rafael.dominio.req-out rafael.dominio.crt • Gera o certificado com validade de 2 Anos( rafael.dominio.crt ) • Utiliza a chave privada da CA ( cakey.pem ) para assinar. • Recebe a CSR como entrada

  23. Apendice

  24. Apêndice Porque a assinatura deve ser baseada na chave publica + host • Certificado é publico e entregue a todos que acessarem o serviço. É preciso assegurar que quem esta enviando o certificado é a pessoa que realmente deu origem. • Envio da chave simétrica é feito utilizando a chave publica. Somente quem possuir a chave privada conseguirá lê-la. • Utilizando a chave vinculada ao Certificado somente o dono da chave privada ira conseguir finalizar o handshake. • Host pertence a assinatura para certificar que este é o host vinculado ao par de chaves.

  25. Apêndice Certificado Auto Assinado • Não é assinado por nenhuma entidade externa. • Nos dados do certificado consta o próprio host como CA. • Assinatura é validada com a mesma chave publica enviada. • Certificado não é validado e o client deve optar por aceitar. KeyStore • Repositório de chaves. Arquivo, geralmente protegido por senha, que contem a base de chaves de um servidor ou client. • Contem as chaves privadas. • Aplicações java geralmente carregam as chaves a partir de algum keystore. • O keytool ( distribuído com a JDK ) gera a chave num keystore TrustStore • Keystore contendo chaves publicas de hosts em que um client confia

  26. Apêndice Níveis de Criptografia • Protocolo • Todo o protocolo, inclusive os cabeçalhos, é criptografado • Protocolo criptografado é todo inserido no Payload da camada superior. • Precisa ser descriptografado e recriptografado a cada ponto de junção do protocolo. • Ex: https. todo o protocolo é criptografado, caso o pacote TCP seja interceptado o payload é todo "ilegivel“ • Mensagem • Apenas o payload é criptografado. • Toda informação do protocolo é legível. • Não necessita de reempacotamentoem junções do protocolo. • Ex: campos de senha ( apenas parte da mensagem ), get de arquivo criptografado via FTP

  27. Apêndice Níveis de Criptografia

More Related