certificados digitais x509

20
Certificados Digitais Natanael Fonseca Arquiteto de Software

Upload: natanael-fonseca

Post on 11-Jun-2015

2.031 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Certificados Digitais x509

Certificados Digitais

Natanael FonsecaArquiteto de Software

Page 2: Certificados Digitais x509

Ementa

• Tipos de Certificados• Formato X509• Principais Campos• Extensões• Validação de Certificados Digitais

Page 3: Certificados Digitais x509

Tipos de Certificados

Devido ao conceito de chave assimétrica, existem N tipos de certificados no mercado, dentre eles:

– X.509*;– PGP;– SPDK/SDSI;– SET;

* Padrão utilizado na ICP-Brazil.

Page 4: Certificados Digitais x509

X.509

• Em 1988 surgiu a primeira versão: ITU-T X.509(V1) ou ISO/IEC 9594-8;

• Em 1993 o padrão X509 foi revisitado e surgiu a versão V2 (RFC 1442);

• Em 2002 foi publicada oficialmente a versão V3 sob a RFC 3280;

Page 5: Certificados Digitais x509

Object Identifier

• Representação única de determinado objeto;• Muito parecido com a representação de endereços do

protocolo IP;• São hierarquicos;• É uma notação Internacional, nacional ou organizacional;• Exemplos (PKCS#1):

– RSA, OID = 1.2.840.113549.1.1.1– MD5 com RSA, OID = 1.2.840.113549.1.1.4;– SHA-1 com DSA, OID=1.2.840.100.40.4.3

Fonte: http://en.wikipedia.org/wiki/Object_identifier

Page 6: Certificados Digitais x509

Formato do X.509 V3

Page 7: Certificados Digitais x509

Principais Campos

• Version: Indica a versão do formato do certificado, podendo ser 1,2 e 3;

• Serial Number: Número inteiro que é o identificador único deste certificado;

• Signature: Indica o algorítimo utilizado para assinar o certificado;

• Issuer: É o distinguished name(DN) da AC que emitiu o certificado e deve sempre estar presente.

Page 8: Certificados Digitais x509

Principais Campos

• Validity: Identifica a Janela de tempo em que o certificado deve ser considerado válido, a menos que ele seja revogado*;

• Subject: Indica o DN do dono do certificado;• Subject Public Key Indo: Contém a chave pública e a

identificação do algoritimo do proprietário do certificado e deve sempre estar presente.

• Issuer Unique ID: Campo opcional (V2 e V3) e contém o identificador único de quem emitiu o certificado;

• Digital signature: Identificador do algoritimo utilizado e a assinatura digital da AC que emitiu o certificado;

Page 9: Certificados Digitais x509

Extensões

• Possibilita que uma AC inclua informação adicional não presente no conteúdo básico;

• Qualquer organização pode definir extensões;• Possuem três componentes: identificador,

sinalizador de criticidade e um valor;• Quando o sinalizador está ligado, significa que

essa informação é essencial para o uso do certificado;

Page 10: Certificados Digitais x509

Campos de Extensão

• Subject Key Identifier: Identificador único da chave da AC, que deve ser utilizado para verificar a assinatura digital calculada no certificado. Essa extensão é utilizada em certificados auto-assinados;

• Authority Key Identifier: Identificador único associado com a chave pública contida no certificado;

• Key Usage: Contém uma String– fsa

Page 11: Certificados Digitais x509

Campos de Extensão• Subject Key Identifier: Identificador único da chave da AC, que deve ser utilizado para

verificar a assinatura digital calculada no certificado. Essa extensão é utilizada em certificados auto-assinados;

• Authority Key Identifier: Identificador único associado com a chave pública contida no certificado;

• Key Usage; • Extended Key Usage;• CRL Distribution Point;• Private Key Usage Period;• Certificate Policies;• Subject Alternative Name;• Basic Constraint;• Name Constraint;• Policy Constraint;• Authority Information Access;• Subject Information Access;

Page 12: Certificados Digitais x509

ValidaçõesPara a utilização correta de certificados digitais, diversas validações são necessárias sobre os certificados contidos na “Cadeia de Confiança”, como, por exemplo:

– Verificar a data de validade (Inicial e Final);– Verificar se cada certificado da cadeia de confiança não foi revogado

ou encontra-se expirado.

Page 13: Certificados Digitais x509

Cadeia de Confiança

Um certificado digital é um documento que associa uma chave publica a uma determinada entidade, este documento é assinado digitalmente pela chave privada de uma outra entidade, muitas vezes chamada de Autoridade Certificadora (AC). Dessa forma garante-se atraves do conceito de “Cadeia de confiança” a autenticidade das informações.

Page 14: Certificados Digitais x509

Revogação de Certificados

Revogar significa tornar sem efeito, ou seja, o certificado digital deverá ser revogado, sempre que ocorrer um dos seguintes eventos:

– Houver mudança em qualquer informação contida no Certificado Digital;– Em caso de suspeita ou evidência de comprometimento de chaves privadas ou das

senhas, ou da mídia de armazenamento;– A pedido formal do Titular do Certificado Digital, quando não houver mais interesse

na utilização do Certificado Digital, conforme procedimentos e prazos constantes nos itens 4.4.3 e 4.4.4 das Políticas de Certificados Digitais.

Page 15: Certificados Digitais x509

Validação de Revogação

• Online Certificate Status Protocol (OCSP)

– Validação acontece de forma online, através de um serviço disponibilizado pela Autoridade Certificadora, cabe ao sistema apenas a criação da requisição OCSP perguntando pelo status do certificado.

• Certificate Revocation List

– Validação acontece de forma Off-Line com base em um arquivo que é baixado da Autoridade Certificadora, cabe ao sistema verificar se o certificado em questão encontra-se neste arquivo.

Page 16: Certificados Digitais x509

O que é LCR ?

È Uma estrutura de dados assinada por uma AC contendo a lista de certificados que não devem ser considerados válidos. Normalmente o endereço onde este arquivo pode ser baixado, pode ser encontrado no próprio certificado.

Pontos de distribuição.

Page 17: Certificados Digitais x509

OCSP• Este protocolo é uma alternativa rápida e leve para CRLs tradicionais, o

qual permite que os aplicativos cliente façam consultas em busca do status do certificado diretamente a um “Responder OCSP”.

Page 18: Certificados Digitais x509

ACs que suportam o protocolo OCSP• AC JUS

http://www.acjus.gov.br/acjus/dpcacjus.pdf (Vide item 4.4.3.2 - d)• CERTSIGN MULTIPLA

http://icp-brasil.certisign.com.br/repositorio/dpc/AC_Certisign_Multipla/DPC_AC_Certisign_Multipla_v3.0.pdf (Vide item 4.4.3.2 - d )

• AC PETROBRAShttp://icp-brasil.certisign.com.br/repositorio/dpc/AC_PETROBRAS/DPC_AC_PETROBRAS_v5.0.pdf (Vide item 4.4.11)

• CERTSIGNhttp://icp-brasil.certisign.com.br/repositorio/dpc/AC_Certisign_RFB/DPC_AC_Certisign_RFB_v4.0.pdf (Vide item 2.8.4.1)

• SINCORhttp://icp-brasil.acsincor.com.br/repositorio/dpc/AC_SINCOR_RFB/DPC_AC_SINCOR_RFB_v4.0.pdf (Vide item 2.8.4)

• FENACON

http://icp-brasil.acfenacon.com.br/repositorio/dpc/AC_FENACON_CERTISIGN_RFB/DPC_AC_FENACON_CERTISIGN_RFB_v4.0.pdf(Vide item 2.8.4)

• PRODEMGEhttp://icp-brasil.certisign.com.br/repositorio/dpc/AC_PRODEMGE_RFB/DPC_AC_PRODEMGE_RFB_v4.0.pdf (Vide item 2.8.4)

• SERASA http://publicacao.certificadodigital.com.br/repositorio/dpc/declaracao-scd.pdf (vide item 4.4.11)

Page 19: Certificados Digitais x509

CRL vs OCSPCARACTERÍSTICAS CRL OCSP

Cadeia de ConfiançaDisponível localmente nas listas, sendo um arquivo para cada AC.

Não necessita de acesso a cadeia, o servidor OCSP fica responsável pela atualização da cadeia de confiança.

Recurso de Rede

Necessário acesso a internet para download dos arquivos LCR. Quanto maior a taxa de atualizações, maior a necessidade de banda disponível.

Necessário o acesso a internet. Requisições request/response com resposta quase imediata.

Recursos de Armazenamento em

Disco Rígido

Necessário espaço em disco disponível para armazenamento dos arquivos. Tamanho total pode variar de acordo com a quantidades de ACs contempladas.

Não é necessário armazenamento em disco algum.

Recursos computacionais

Necessário acesso a todos os registros de todas as listas da cadeia de confiança. Consumo alto de recursos computacionais.

Consumo quase zero de recursos, somente requisição request/response.

Lógica de validaçãoAcesso de forma recursiva a cadeia de confiança, arquivo por arquivo.

Requisição request/response com resposta quase imediata.

Confiabilidade

Necessário atualização constante das listas. Existe a possibilidade de um certificado estar revogado, porém a lista não ter sido atualizada a tempo, botando em risco a confiabilidade da assinatura.

ACs responsáveis pela manutenção e atualização dos servidores OCSP. Muito improvável ter o serviço estar indisponível ou ter dados desatualizados.

Disponibilidade no mercado

Primeiro modelo de validação, disponível por praticamente todas as ACs.

Tecnologia mais recente. Depende da AC ter implementado o serviço.