O documento discute certificados digitais, incluindo seus principais tipos e formatos como X.509. Detalha campos-chave como assinatura digital, validade e chave pública, bem como extensões opcionais. Também aborda validação de certificados, lista de revogação e protocolo OCSP para verificar status atual.
2. Ementa
• Tipos de Certificados
• Formato X509
• Principais Campos
• Extensões
• Validação de Certificados Digitais
3. 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.
4. 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;
5. 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
7. 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.
8. 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;
9. 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;
10. 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
11. 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;
12. Validações
Para 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.
13. 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.
14. 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.
15. 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.
16. 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.
17. 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”.
18. 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 PETROBRAS
http://icp-brasil.certisign.com.br/repositorio/dpc/AC_PETROBRAS/DPC_AC_PETROBRAS_v5.0.pdf (Vide item 4.4.11)
• CERTSIGN
http://icp-brasil.certisign.com.br/repositorio/dpc/AC_Certisign_RFB/DPC_AC_Certisign_RFB_v4.0.pdf (Vide item
2.8.4.1)
• SINCOR
http://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)
• PRODEMGE
http://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)
19. CRL vs OCSP
CARACTERÍSTICAS CRL OCSP
Não necessita de acesso a cadeia, o servidor
Disponível localmente nas listas, sendo um
Cadeia de Confiança OCSP fica responsável pela atualização da
arquivo para cada AC.
cadeia de confiança.
Necessário acesso a internet para download
dos arquivos LCR. Quanto maior a taxa de Necessário o acesso a internet. Requisições
Recurso de Rede
atualizações, maior a necessidade de banda request/response com resposta quase imediata.
disponível.
Necessário espaço em disco disponível para
Recursos de
armazenamento dos arquivos. Tamanho total Não é necessário armazenamento em disco
Armazenamento em
pode variar de acordo com a quantidades de algum.
Disco Rígido
ACs contempladas.
Necessário acesso a todos os registros de
Recursos Consumo quase zero de recursos, somente
todas as listas da cadeia de confiança.
computacionais requisição request/response.
Consumo alto de recursos computacionais.
Acesso de forma recursiva a cadeia de Requisição request/response com resposta
Lógica de validação
confiança, arquivo por arquivo. quase imediata.
Necessário atualização constante das listas.
ACs responsáveis pela manutenção e
Existe a possibilidade de um certificado estar
atualização dos servidores OCSP. Muito
Confiabilidade revogado, porém a lista não ter sido atualizada
improvável ter o serviço estar indisponível ou ter
a tempo, botando em risco a confiabilidade da
dados desatualizados.
assinatura.
Disponibilidade no Primeiro modelo de validação, disponível por Tecnologia mais recente. Depende da AC ter
mercado praticamente todas as ACs. implementado o serviço.
20. Referencias
• Public Key Infrastructure – PKI
– http://novateceditora.com.br/livros/pki/
• Beginning Cryptography with Java
– http://www.wrox.com/WileyCDA/WroxTitle/Beginning-Cryptography-
with-Java.productCd-0764596330.html
• Resoluções da ICP-Brasil em vigor
– http://www.iti.gov.br/twiki/bin/view/Certificacao/DocIcp