Infra-Estrutura de Chaves Públicas
PKI
Public Key Infrastructure
Criptografia de Chave Pública
• A criptografia de chave simétrica (duas
pessoas) pode manter seguros seus segredos,
mas se precisarmos compartilhar informações
secretas com duas ou mais pessoas, devemos
também compartilhar as chaves.
Abril de 2006
Infra-estrutura de Chave Pública
2
Compartilhar Chaves
• O compartilhamento de chaves implica no
problema da distribuição de chaves.
• O que é Distribuição de Chaves ?
Abril de 2006
Infra-estrutura de Chave Pública
3
Distribuição de Chaves
• O problema da distribuição de chaves:
Como duas ou mais pessoas podem, de
maneira segura, enviar as chaves por meio de
linhas inseguras.
• Como as pessoas podem de maneira segura
enviar informações sigilosas por meio de
linhas inseguras ?
Abril de 2006
Infra-estrutura de Chave Pública
4
Criptografia de Chave Pública
• Antes de utilizar, deve-se lidar com os
problemas tais como:
- distribuição de chaves.
- gerenciamento de chaves.
Abril de 2006
Infra-estrutura de Chave Pública
5
Gerenciamento de Chaves
• O que é gerenciamento de chaves ?
• É o processo de gerar, proteger, armazenar, e
manter histórico para utilização de chaves.
Abril de 2006
Infra-estrutura de Chave Pública
6
Gerenciamento de Chaves
•
•
•
•
•
Gerar pares de chaves
Proteger chaves privadas
Controlar múltiplos pares de chaves
Atualizar pares de chaves
Manter um histórico de pares de chaves.
Abril de 2006
Infra-estrutura de Chave Pública
7
Criptografia de Chave Pública
• Oferece criptografia e também uma maneira
de identificar e autenticar (através de
assinatura) pessoas ou dispositivos.
Abril de 2006
Infra-estrutura de Chave Pública
8
Criptografia de Chave Pública
• Principal questão:
Não somente confidencialidade.
Mas a principal questão é a integridade (uma
chave é suscetível à manipulação durante o
trânsito) e a posse de uma chave pública.
Abril de 2006
Infra-estrutura de Chave Pública
9
Criptografia de Chave Pública
• Como obter uma chave pública e numa
comunicação certificar-se de que essa chave
tenha sido recebida da parte intencionada ?
• Resposta: certificados de chave
pública
Abril de 2006
Infra-estrutura de Chave Pública
10
Introdução aos Certificados
• Com Criptografia de Chave Pública e
Assinatura Digital:
pessoas podem utilizar a chave pública de
uma outra pessoa;
.
Abril de 2006
Infra-estrutura de Chave Pública
11
Criptografia de Chave Pública
e Assinatura Digital
• Para enviar uma mensagem segura a uma pessoa,
tomamos a chave pública dessa pessoa e criamos
um envelope digital.
Abril de 2006
Infra-estrutura de Chave Pública
12
Criptografia de Chave Pública
e Assinatura Digital
• Para verificar a mensagem de uma pessoa,
adquire-se a chave pública dessa pessoa e
verifica-se a assinatura digital.
Abril de 2006
Infra-estrutura de Chave Pública
13
Assinatura com Chave Pública
Computador A
P
Chave
Privada
DA
rede
Chave
Privada
DB
Chave
Pública
EB
DA(P)
Computador B
EB(DA(P))
P
Chave
Pública
EB
DA(P)
Assume-se que os algoritmos de criptografia e decriptografia têm a propriedade que:
EB( DA(P) ) = P e DA( EB(P) ) = P, onde DA(P) é a assinatura do texto plano P com a chave privada DA
e EB(P) é a verificação da assinatura com a chave pública EB .
O algoritmo RSA tem esta propriedade.
Abril de 2006
Infra-estrutura de Chave Pública
14
De quem é a chave pública ?
• Mas, como uma pessoa qualquer pode saber
se uma chave pública pertence a pessoa em
questão (parte intencionada) ?
• Veja dois exemplos.
Abril de 2006
Infra-estrutura de Chave Pública
15
Exemplo de Invasão 1
• João tem a chave pública de Tati.
A chave funciona. Ele é capaz de criar um
envelope digital e se comunicar com Tati que é
possuidora da chave privada relacionada à
chave pública em poder de João.
Abril de 2006
Infra-estrutura de Chave Pública
16
Exemplo de Invasão 1
• Mas se Camila, de alguma maneira, invade o
computador de João e substitui a chave
pública de Tati pela chave pública dela,
Abril de 2006
Infra-estrutura de Chave Pública
17
Exemplo de Invasão 1
• quando João enviar o envelope digital, Camila
será capaz de interceptá-lo e lê-lo. Tati não
será capaz de abri-lo porque ela não tem a
chave privada parceira da chave pública
utilizada.
Abril de 2006
Infra-estrutura de Chave Pública
18
Exemplo de Invasão 2
• Na empresa onde João e Daniel trabalham
tem um diretório centralizado que armazena
as chaves públicas de todas as pessoas.
• Quando Daniel quiser verificar a assinatura
de João, ele vai ao diretório e localiza a chave
pública de João.
Abril de 2006
Infra-estrutura de Chave Pública
19
Exemplo de Invasão 2
• Mas se Camila tiver invadido esse diretório e
substituído a chave pública de João pela
chave pública dela,
• ela (Camila) poderá enviar uma mensagem
fraudulenta ao Daniel com uma assinatura
digital válida.
Abril de 2006
Infra-estrutura de Chave Pública
20
Exemplo de Invasão 2
• Daniel pensará que a mensagem veio de João,
porque verificará a assinatura contra o que ele
pensa ser, a chave pública de João.
Abril de 2006
Infra-estrutura de Chave Pública
21
Certificado Digital
• A maneira mais comum de saber se uma
chave pública pertence ou não a uma
entidade de destino (uma pessoa ou empresa)
é por meio de um certificado digital.
• Um certificado digital associa um nome a uma
chave pública.
Abril de 2006
Infra-estrutura de Chave Pública
22
Estrutura Básica de um Certificado
Nome
Mensagem
Chave
Pública
Certificado
Assinatura
CA
Abril de 2006
Infra-estrutura de Chave Pública
23
Percepção à Fraude
• Um certificado é produzido de tal maneira que
o torna perceptível se um impostor pegou um
certificado existente e substituiu a chave
pública ou o nome.
• Qualquer pessoa ao examinar esse certificado
saberá se está errado.
Abril de 2006
Infra-estrutura de Chave Pública
24
Fraude
• Talvez o nome ou a chave pública esteja
errado;
• Portanto, não se pode confiar nesse
certificado, ou seja, o par (nome,chave).
Abril de 2006
Infra-estrutura de Chave Pública
25
Como tudo funciona
• Tati gera um par de chaves:
(chave-privada, chave-pública).
• Protege a chave privada.
• Entra em contato com uma Autoridade de
Certificação (CA), solicitando um certificado.
Abril de 2006
Infra-estrutura de Chave Pública
26
Como tudo funciona
• CA verifica se Tati é a pessoa que diz ser,
através de seus documentos pessoais.
• Tati usa sua chave privada para assinar a
solicitação do certificado.
Abril de 2006
Infra-estrutura de Chave Pública
27
Como tudo funciona
• CA sabe, então, que Tati tem acesso à chave
privada parceira da chave pública
apresentada, assim como sabe que a chave
pública não foi substituída.
Abril de 2006
Infra-estrutura de Chave Pública
28
Como tudo funciona
• CA combina o nome Tati com a chave pública
em uma mensagem e assina essa mensagem
com sua chave privada (de CA).
• Tati, agora, tem um certificado e o distribui.
Por exemplo, para João.
Abril de 2006
Infra-estrutura de Chave Pública
29
• Portanto, quando João coletar a chave pública
de Tati, o que ele estará coletando será o
certificado dela.
• Supondo que Camila tente substituir a chave
pública de Tati, pela sua própria chave (troca
da chave pública dentro do certificado).
Abril de 2006
Infra-estrutura de Chave Pública
30
Como tudo funciona
• Ela pode localizar o arquivo da chave pública
de Tati no laptop de João e substitui as chaves.
Abril de 2006
Infra-estrutura de Chave Pública
31
Como tudo funciona
• Mas, João, antes de usar o certificado, utiliza
a chave pública de CA para verificar se o
certificado é válido.
Abril de 2006
Infra-estrutura de Chave Pública
32
Como tudo funciona
• Pelo fato da mensagem no certificado ter sido
alterada (houve troca da chave pública dentro
do certificado), a assinatura não é verificada.
Abril de 2006
Infra-estrutura de Chave Pública
33
Como tudo funciona
• Portanto, João não criará um envelope digital
usando essa chave pública e Camila não será
capaz de ler qualquer comunicação privada.
Abril de 2006
Infra-estrutura de Chave Pública
34
Como tudo funciona
• Esse cenário assume que João tem a chave
pública de CA e tem a certeza de que ninguém
a substituiu com a chave de um impostor.
Abril de 2006
Infra-estrutura de Chave Pública
35
Como tudo funciona
• Pelo fato dele, João, poder extrair a chave do
certificado fornecido pela CA, ele sabe que
tem a verdadeira chave pública de CA.
Abril de 2006
Infra-estrutura de Chave Pública
36
Infra-estrutura de Chave Pública
• Usuários Finais
• Partes Verificadoras:
aquelas que verificam a autenticidade
de certificados de usuários finais.
Abril de 2006
Infra-estrutura de Chave Pública
37
Infra-estrutura de Chave Pública
• Para que usuários finais e partes verificadoras
utilizem essa tecnologia, chaves públicas
devem ser fornecidas uns aos outros.
• Problema: uma chave é suscetível de ataque
durante o trânsito.
Abril de 2006
Infra-estrutura de Chave Pública
38
Infra-estrutura de Chave Pública
• Ataque:
Se uma terceira parte desconhecida puder
substituir uma chave qualquer por uma chave
pública válida, o invasor poderá forjar
assinaturas digitais e permitir que mensagens
criptografadas sejam expostas a partes mal
intencionadas.
Abril de 2006
Infra-estrutura de Chave Pública
39
Infra-estrutura de Chave Pública
• Distribuição manual
• Solução apropriada:
- certificados de chave pública
• Fornecem um método para distribuição de
chaves públicas.
Abril de 2006
Infra-estrutura de Chave Pública
40
Infra-estrutura de Chave Pública
• Um certificado de chave pública (PKC) é um
conjunto de dados à prova de falsificação que
atesta a associação de uma chave pública a
um usuário final.
• Para fornecer essa associação, uma
autoridade certificadora (CA), confiável,
confirma a identidade do usuário.
Abril de 2006
Infra-estrutura de Chave Pública
41
Infra-estrutura de Chave Pública
• CAs emitem certificados digitais para usuários
finais, contendo nome, chave pública e outras
informações que os identifiquem.
• Após serem assinados digitalmente, esses
certificados podem ser transferidos e
armazenados.
Abril de 2006
Infra-estrutura de Chave Pública
42
Infra-estrutura de Chave Pública
• Tecnologia para utilizar PKI:
(1) Padrão X.509
(2) Componentes de PKI para criar,
distribuir, gerenciar e revogar
certificados.
Abril de 2006
Infra-estrutura de Chave Pública
43
Certificados de Chave Pública
• Um meio seguro de distribuir chaves públicas para as
partes verificadoras dentro de uma rede.
•
•
•
•
Pretty Good Privacy (PGP)
SET
IPSec
X.509 v3 (ITU-1988, 1993, 1995,
IETF-RFC2459-1999)
Abril de 2006
Infra-estrutura de Chave Pública
44
Estrutura de Certificado X.509
1.
2.
3.
4.
Versão
Número Serial
Identificador do algoritmo de assinatura
Nome do Emissor – nome DN da CA que cria
e emite.
5. Validade
Abril de 2006
Infra-estrutura de Chave Pública
45
Estrutura de Certificado X.509
6. Nome do Sujeito – nome DN da entidade
final (usuário ou uma empresa).
7. Informação da Chave Pública do sujeito:
(valor da chave, identificador do
algoritmo, parâmetros do mesmo)
Abril de 2006
Infra-estrutura de Chave Pública
46
Estrutura de Certificado X.509
8. Identificador único do emissor:
(não recomendado pela RFC 2459)
9. Identificador único do sujeito:
(não recomendado pela RFC2459)
Abril de 2006
Infra-estrutura de Chave Pública
47
Estrutura de Certificado X.509
10. Extensões de versões de certificados.
Identificador de Chave de Autoridade
para qualquer certificado auto-assinado.
Identificador de Chave de Sujeito
Utilização de chave
Abril de 2006
Infra-estrutura de Chave Pública
48
Estrutura de Certificado X.509
Utilização de Chave Estendida:
Para uso de aplicativos e protocolos
(TLS, SSL, ...), definindo as utilizações
da chave pública para servidores de
autenticação, autenticação de cliente,
registro de data/hora e outros.
Abril de 2006
Infra-estrutura de Chave Pública
49
Estrutura de Certificado X.509
Ponto de distribuição de CRL
Período de uso de chave privada:
(não recomendado pela RFC 2459)
Políticas de certificado:
Abril de 2006
Infra-estrutura de Chave Pública
50
Estrutura de Certificado X.509
Período de uso de chave privada:
(não recomendado pela RFC 2459)
Políticas de certificado:
Abril de 2006
Infra-estrutura de Chave Pública
51
Estrutura de Certificado X.509
Período de uso de chave privada:
(não recomendado pela RFC 2459)
Políticas de certificado:
Abril de 2006
Infra-estrutura de Chave Pública
52
Estrutura de Certificado X.509
Mapeamentos de políticas:
Quando o sujeito de certificado for
uma CA.
Nome alternativo do sujeito:
Permite o suporte dentro de vários
aplicativos que empreguem formas próprias
de nomes (vários aplicativos de e-mail, EDI,
IPSec)
Abril de 2006
Infra-estrutura de Chave Pública
53
Estrutura de Certificado X.509
Nome alternativo do emissor (CA):
Permite o suporte dentro de vários
aplicativos que empreguem formas
próprias de nomes (vários aplicativos
de e-mail, EDI,IPSec)
Abril de 2006
Infra-estrutura de Chave Pública
54
Estrutura de Certificado X.509
Atributos do diretório do sujeito:
(não recomendado pela RFC 2459)
Restrições básicas:
Se o sujeito pode agir como uma CA.
Exemplo: Se a Verisign pode permitir que a
RSA Inc. atue como uma CA, mas não
permitindo que a RSA Inc. crie novas CAs)
Abril de 2006
Infra-estrutura de Chave Pública
55
Estrutura de Certificado X.509
Restrições de nomes:
Apenas dentro de CAs.
Especifica o espaço de
nomes de sujeito.
Restrições de diretiva:
Apenas dentro de CAs.
Validação de caminho de política.
Abril de 2006
Infra-estrutura de Chave Pública
56
Estrutura de Certificado X.509
11. Assinatura da CA
Abril de 2006
Infra-estrutura de Chave Pública
57
Nomes de Entidades
• Certificados X.509 v3 concedem flexibilidade para nomes de
entidades.
• As entidades podem ser identificadas pelas seguintes formas
de nomes:
- endereço de e-mail
- domínio de Internet
- e-mail X.400
- nome de diretório X.500
- nome de EDI
- URI da Web: URN, URL
- endereço IP
Abril de 2006
Infra-estrutura de Chave Pública
58
Nomes de Entidades
• Em um certificado de chave pública, os
nomes de entidades (emissor e sujeito)
devem ser únicos.
Abril de 2006
Infra-estrutura de Chave Pública
59
Notação e Codificação ASN.1
• Regras de sintaxe e de codificação de dados de
certificados X.509.
• ASN.1 (Abstract Sintax Notation 1)
- descreve a sintaxe de várias estruturas de
dados;
- fornece tipos primitivos bem-definidos, e um
meio único para definir as combinações
complexas desses tipos primitivos.
Abril de 2006
Infra-estrutura de Chave Pública
60
Notação e Codificação ASN.1
• Regras de codificação para representar os
tipos específicos de ASN.1 em strings de 0s e
1s:
- Basic Encoding Rules (BER)
- Distinguished Encoding Rules (DER)
Abril de 2006
Infra-estrutura de Chave Pública
61
Basic Encoding Rules (BER)
• Basic Encoding Rules (BER) é um dos formatos
de codificação definido como parte do ASN.1
standard especificado pela ITU na norma
X.690.
• Distinguished Encoding Rules (DER)
Componentes PKI
3
Autoridade
Certificadora (CA)
2
Servidor de
Recuperação de
Chave
Autoridade
Registradora (RA)
1
Usuários
Finais
Abril de 2006
5
Repositório de
Certificados
4
Diretório
X.500
6
Usuários
Finais
Infra-estrutura de Chave Pública
63
Componentes de uma PKI
•
•
•
•
•
•
Autoridade Certificadora (CA)
Autoridade Registradora (RA)
Diretório de Certificado (X.500)
Servidor de Recuperação de Chave
Protocolos de Gerenciamento
Protocolos Operacionais
Abril de 2006
Infra-estrutura de Chave Pública
64
Protocolos de Gerenciamento
• Comunicação on-line com os usuários finais e o
gerenciamento dentro de uma PKI.
– Entre RA e um usuário final.
– Entre duas CAs.
• Funções
–
–
–
–
–
–
–
Inicialização
Registro
Certificação
Recuperação de chave
Atualização de chave
Revogação
Certificação cruzada
Protocolos Operacionais
• Permitem a transferência de certificados e das
informações de status de revogação, entre diretórios,
usuários finais e parte verificadoras.
• X.509 não especifica nenhum único protocolo
operacional para uso dentro de um domínio de ICP.
• Protocolos usados:
–
–
–
–
HTTP,
FTP,
e-mail
LDAP-LightweightDiretoryAccessProtocol
Partes de sistema PKI
• Infra-estrutura PKI
• Usuário Final / Empresa
• Parte Verificadora
Abril de 2006
Infra-estrutura de Chave Pública
67
Interação das partes em PKI
Infra-estrutura
de PKI
Informação de Status de
Revogação de Certificado
LDAP
Certificado X.509
Usuário Final
ou Empresa
Abril de 2006
LDAP, HTTP, FTP, e-mail
Infra-estrutura de Chave Pública
Parte Verificadora
68
Autoridade Registradora
• Autoridade Registradora é também conhecida
como AR.
• É a entidade responsável por emitir
certificados digitais de acordo com as políticas
estabelecidas por uma AC (Autoridade
Certificadora).
Abril de 2006
Infra-estrutura de Chave Pública
69
Autoridade de Registro
• Uma Autoridade de Registo, (acrônimo AR),
é um dos elementos de uma PKI, ou talvez o
mais importante.
Autoridades de Registro
• Esta é o intermediário entre Autoridade de
Certificação (Diretório X.500, Base de Dados
de Autenticação) e Cliente (aquele que pede o
certificado), caso o último não peça o
certificado diretamente à Autoridade de
Certificação.
Autoridades de Registro
• Esta é quem valida a entidade do Cliente,
através de auditorias, para ver se o Cliente
não se faz passar por quem disse à Autoridade
de Registo, e é quem se responzabiliza perante
a Autoridade de Certificação pelo
cumprimento da CPS (Certification Practice
Statement, qualquer coisa como Declaração
das Práticas de Certificação).
Autoridade Certificadora
• Existem Autoridades de Certificação de dois
tipos: as Autoridades de Certificação de Raiz
(ou Autoridades de Certificação Superiores ou
ainda Autoridades de Certificação de Maior
Nível), que emitem diretamente os
certificados, ... ...
Abril de 2006
Infra-estrutura de Chave Pública
73
Autoridade Certificadora
• ... ... e as Autoridades de Certificação
Intermediárias (ou Autoridades de
Certificação Inferiores ou ainda Autoridades
de Certificação de Menor Nível), cujos
certificados são emitidos indiretamente pelas
Autoridades de Certificação Raiz.
Autoridades de Certificação
• Podemos pensar no caminho entre as
Autoridades de Certificação de Raiz e o Cliente
como uma ramificação, já que existem as
Autoridades de Certificação Raiz, que emitem
os certificados para as Autoridades de
Certificação Intermediárias, se existirem, até
ao Cliente (ou utilizador final) que aplica o
certificado.
Autoridades de Certificação
• Caso o certificado não seja emitido por uma
Autoridade de Certificação, este é autoassinado, ou seja, o proprietário ocupa os
lugares de Autoridade de Certificação,
Autoridade de Registo e Cliente.
• Este é o caso quando se utiliza o OpenSSL.
Autoridades de Certificação
• Exemplos de Autoridades de Certificação de
Raiz são a americana VeriSign ou a britânica
Equifax.
• Exemplos de Autoridades de Certificação
Intermediárias são a portuguesa Saphety, a
também portuguesa Multicert e a Brasiliera
Certisign.
Download

Infra-Estrutura de Chaves Públicas (PKI)