SlideShare uma empresa Scribd logo
Certificados Digitais


Natanael Fonseca
Arquiteto de Software
Ementa

•   Tipos de Certificados
•   Formato X509
•   Principais Campos
•   Extensões
•   Validação de Certificados Digitais
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.
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;
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
Formato do X.509 V3
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.
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;
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;
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
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;
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.
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.
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.
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.
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.
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”.
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)
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.
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

Mais conteúdo relacionado

Mais procurados

Validación y Verificación de Software
Validación y Verificación de SoftwareValidación y Verificación de Software
Validación y Verificación de Software
Alexandre Texeira Bondelas
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
elliando dias
 
UF0852 TEMA 1.pdf
UF0852 TEMA 1.pdfUF0852 TEMA 1.pdf
UF0852 TEMA 1.pdf
SVETLANAKIRYAKOVA
 
Template skpl 9 11 2015
Template skpl 9 11 2015Template skpl 9 11 2015
Template skpl 9 11 2015
Winda Dwiastini
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Guatemala User Group
 
Mppl 1
Mppl 1Mppl 1
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれMicrosoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Hiroaki Oikawa
 
Rpl 011 - arsitektur sistem terdistribusi
Rpl   011 - arsitektur sistem terdistribusiRpl   011 - arsitektur sistem terdistribusi
Rpl 011 - arsitektur sistem terdistribusi
Febriyani Syafri
 
Seguridad física y lógica
Seguridad física y lógicaSeguridad física y lógica
Seguridad física y lógica
Eve_And
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
Evandro Agnes
 
Ensayo project managetmen
Ensayo project managetmenEnsayo project managetmen
Ensayo project managetmen
rondonmiguel80
 
Plan de recuperación de desastres .pptx
Plan de recuperación de desastres .pptxPlan de recuperación de desastres .pptx
Plan de recuperación de desastres .pptx
Luis Flores
 
Bab I Data Flow Diagram
Bab I Data Flow DiagramBab I Data Flow Diagram
Bab I Data Flow Diagram
Laboratorium Sirkel
 
Rpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plRpl 3-manajemen proyek pl
Rpl 3-manajemen proyek pl
f' yagami
 
Pertemuan 6 Infrastruktur Datawarehouse
Pertemuan 6 Infrastruktur DatawarehousePertemuan 6 Infrastruktur Datawarehouse
Pertemuan 6 Infrastruktur Datawarehouse
Endang Retnoningsih
 
Trabajos introducción a gerencia de proyectos
Trabajos introducción a gerencia de proyectosTrabajos introducción a gerencia de proyectos
Trabajos introducción a gerencia de proyectos
Joan Alcantara
 
Tableau APIの概要とデモ
Tableau APIの概要とデモTableau APIの概要とデモ
Tableau APIの概要とデモ
Yusuke Asada
 
Manual de Tecnicas Para Auditoria Informatica
Manual de Tecnicas Para Auditoria InformaticaManual de Tecnicas Para Auditoria Informatica
Manual de Tecnicas Para Auditoria Informatica
Diego Pacheco
 
Guia de Referência Rápida - Ds7708
Guia de Referência Rápida - Ds7708Guia de Referência Rápida - Ds7708
Guia de Referência Rápida - Ds7708
ScanSource Brasil
 

Mais procurados (20)

Validación y Verificación de Software
Validación y Verificación de SoftwareValidación y Verificación de Software
Validación y Verificación de Software
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
 
UF0852 TEMA 1.pdf
UF0852 TEMA 1.pdfUF0852 TEMA 1.pdf
UF0852 TEMA 1.pdf
 
Template skpl 9 11 2015
Template skpl 9 11 2015Template skpl 9 11 2015
Template skpl 9 11 2015
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
 
Mppl 1
Mppl 1Mppl 1
Mppl 1
 
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれMicrosoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
 
Rpl 011 - arsitektur sistem terdistribusi
Rpl   011 - arsitektur sistem terdistribusiRpl   011 - arsitektur sistem terdistribusi
Rpl 011 - arsitektur sistem terdistribusi
 
Seguridad física y lógica
Seguridad física y lógicaSeguridad física y lógica
Seguridad física y lógica
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
Ensayo project managetmen
Ensayo project managetmenEnsayo project managetmen
Ensayo project managetmen
 
Plan de recuperación de desastres .pptx
Plan de recuperación de desastres .pptxPlan de recuperación de desastres .pptx
Plan de recuperación de desastres .pptx
 
Bab I Data Flow Diagram
Bab I Data Flow DiagramBab I Data Flow Diagram
Bab I Data Flow Diagram
 
Rpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plRpl 3-manajemen proyek pl
Rpl 3-manajemen proyek pl
 
Pertemuan 6 Infrastruktur Datawarehouse
Pertemuan 6 Infrastruktur DatawarehousePertemuan 6 Infrastruktur Datawarehouse
Pertemuan 6 Infrastruktur Datawarehouse
 
Trabajos introducción a gerencia de proyectos
Trabajos introducción a gerencia de proyectosTrabajos introducción a gerencia de proyectos
Trabajos introducción a gerencia de proyectos
 
Tableau APIの概要とデモ
Tableau APIの概要とデモTableau APIの概要とデモ
Tableau APIの概要とデモ
 
Manual de Tecnicas Para Auditoria Informatica
Manual de Tecnicas Para Auditoria InformaticaManual de Tecnicas Para Auditoria Informatica
Manual de Tecnicas Para Auditoria Informatica
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
Guia de Referência Rápida - Ds7708
Guia de Referência Rápida - Ds7708Guia de Referência Rápida - Ds7708
Guia de Referência Rápida - Ds7708
 

Semelhante a Certificados Digitais x509

Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitais
Natanael Fonseca
 
Abordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave públicaAbordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave pública
brunoluiz
 
Segurança em Angular SPA
Segurança em Angular SPASegurança em Angular SPA
Segurança em Angular SPA
Fernando Piancastelli
 
Maria certificado
Maria certificadoMaria certificado
Maria certificado
Mariabastosbastos
 
Glossario
Glossario Glossario
Glossario
vds06
 
Aula 1
Aula 1Aula 1
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
Carlos Veiga
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
Walter Coan
 
Mule pe salesforce mule security
Mule pe   salesforce mule securityMule pe   salesforce mule security
Mule pe salesforce mule security
Jeison Barros
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
Walter Coan
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
Walter Coan
 
Certificados SSL e Let's Encrypt
Certificados SSL e Let's EncryptCertificados SSL e Let's Encrypt
Certificados SSL e Let's Encrypt
MOSS Open Source Services
 
Certificação Digital - Aula2 Exercícios
Certificação Digital - Aula2 ExercíciosCertificação Digital - Aula2 Exercícios
Certificação Digital - Aula2 Exercícios
Leandro Rezende
 
Certificados Digitais
Certificados DigitaisCertificados Digitais
Certificados Digitais
Humberto Bruno Pontes Silva
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
Renato Groff
 
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Kelver Merlotti
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
Rodrigo Cândido da Silva
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2
Rodrigo Cândido da Silva
 
Modelo de segurança OPC UA
Modelo de segurança OPC UAModelo de segurança OPC UA
Modelo de segurança OPC UA
Dalton Valadares
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
Rodrigo Cândido da Silva
 

Semelhante a Certificados Digitais x509 (20)

Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitais
 
Abordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave públicaAbordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave pública
 
Segurança em Angular SPA
Segurança em Angular SPASegurança em Angular SPA
Segurança em Angular SPA
 
Maria certificado
Maria certificadoMaria certificado
Maria certificado
 
Glossario
Glossario Glossario
Glossario
 
Aula 1
Aula 1Aula 1
Aula 1
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
 
Mule pe salesforce mule security
Mule pe   salesforce mule securityMule pe   salesforce mule security
Mule pe salesforce mule security
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
 
Certificados SSL e Let's Encrypt
Certificados SSL e Let's EncryptCertificados SSL e Let's Encrypt
Certificados SSL e Let's Encrypt
 
Certificação Digital - Aula2 Exercícios
Certificação Digital - Aula2 ExercíciosCertificação Digital - Aula2 Exercícios
Certificação Digital - Aula2 Exercícios
 
Certificados Digitais
Certificados DigitaisCertificados Digitais
Certificados Digitais
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
 
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2
 
Modelo de segurança OPC UA
Modelo de segurança OPC UAModelo de segurança OPC UA
Modelo de segurança OPC UA
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
 

Mais de Natanael Fonseca

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
Natanael Fonseca
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
Natanael Fonseca
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
Natanael Fonseca
 
Aula05
Aula05Aula05
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
Natanael Fonseca
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
Natanael Fonseca
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
Natanael Fonseca
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
Natanael Fonseca
 
Fragmentos
FragmentosFragmentos
Fragmentos
Natanael Fonseca
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
Natanael Fonseca
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
Natanael Fonseca
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
Natanael Fonseca
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
Natanael Fonseca
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
Natanael Fonseca
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
Natanael Fonseca
 
Java annotation
Java annotationJava annotation
Java annotation
Natanael Fonseca
 

Mais de Natanael Fonseca (18)

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
Aula05
Aula05Aula05
Aula05
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Java annotation
Java annotationJava annotation
Java annotation
 

Certificados Digitais x509

  • 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