27
Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Embed Size (px)

Citation preview

Page 1: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Rafael Alcantara de PaulaSSL e Certificado Digital

Belo Horizonte, 31 de Janeiro de 2012

Page 2: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Índice1 Conceitos2 Fluxos3 Exemplos4 Apendice

Page 3: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

ConceitosCriptografia

Page 4: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

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

Comunicação Segura – Principais Conceitos

Confidencialidade

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

Confiabilidade

Page 5: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

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

Criptografia e Chaves

Criptografia

• Utiliza a mesma chave para criptografar e descriptografar o texto.

• Chave deve ser combinada entre as partes e mantida em sigilo.

Chave Simétrica

Page 6: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

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

Criptografia e Chaves

Chaves Assimétricas

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

Assinatura Digital

Page 7: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

ConceitosCertificado Digital

Page 8: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

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

Certificado Digital

O que é

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

Certificate Authority

• Certificado de um host: 2 Anos• Certificado de CA: 10 a 20 Anos ( 10 é mais comum )

Expiração

Page 9: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

• Identificação do certificado.• Chave publica do Host.• Validade do certificado.• Certificate Autority que assina o certificado.• Assinatura: Baseada na identificação do certificado e na chave

publica.

Certificado digital

Conteúdo

Page 10: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

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

Certificado digital

Certificação Mutua

Page 11: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

FluxosAssinatura do Certificado

Page 12: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Assinatura do Certificado

Page 13: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

1. Servidor gera a Solicitação de Certificado ( CSR ).

1. Info do certificado

2. Chave publica do Servidor.

2. CA assina Certificado utilizando a CSR e sua chave Privada.

3. Chave publica da CA é distribuída para os Clients.

4. Durante tentativa de acesso o server envia o seu certificado contendo a chave publica do server.

5. Client utiliza a chave publica da CA para validar a chave publica.

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

Assinatura do Certificado

Page 14: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

FluxosHandShake SSL

Page 15: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

HandShake SSL

Page 16: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

HandShake SSL com certificação Mutua

Page 17: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

FluxosValidação do Certificado

Page 18: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Validação do Certificado

Page 19: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Exemplos

Page 20: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

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

Exemplos

Sites internet

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

Sites intranet

Page 21: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Exemplos

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

Serviço interno – Acessado por outra aplicação.

Page 22: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Certificado gerado e assinado utilizando openssl

CSRopenssl req -new -days 730 -out rafael.dominio.req -keyout rafael.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 )

Certificadoopenssl ca -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

Page 23: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Apendice

Page 24: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Apêndice

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

Porque a assinatura deve ser baseada na chave publica + host

Page 25: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Apêndice

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

Certificado Auto Assinado

• 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

KeyStore

• Keystore contendo chaves publicas de hosts em que um client confia

TrustStore

Page 26: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Apêndice

• 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 reempacotamento em junções do protocolo.• Ex: campos de senha ( apenas parte da mensagem ), get de

arquivo criptografado via FTP

Níveis de Criptografia

Page 27: Rafael Alcantara de Paula SSL e Certificado Digital Belo Horizonte, 31 de Janeiro de 2012

Apêndice

Níveis de Criptografia