Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Certificados Digitais

  • Login to see the comments

Certificados Digitais

  1. 1. Desenvolvendo na Plataforma Microsoft usando Certificação Digital Outubro/2007 Certforum Daniel Assad
  2. 2. Introdução <ul><li>O que é um Certificado Digital? </li></ul><ul><li>Como funciona? </li></ul>
  3. 3. Certificado Digital: O que é? <ul><li>Representação eletrônica de uma Identidade: </li></ul><ul><ul><li>Carteira de Motorista </li></ul></ul><ul><ul><li>Passaporte </li></ul></ul><ul><ul><li>CPF </li></ul></ul><ul><li>Trabalham do mesmo modo: </li></ul><ul><ul><li>Validade </li></ul></ul><ul><ul><li>Dados Pessoais </li></ul></ul><ul><ul><li>Valor Legal </li></ul></ul><ul><li>Gerenciados por uma Instituição de Confiança </li></ul>
  4. 4. Certificado Digital: O que é? <ul><li>Certificados Digitais são gerenciados por Instituições de Confiança: </li></ul><ul><ul><li>Identificam usuários </li></ul></ul><ul><ul><li>Conferem documentações </li></ul></ul><ul><ul><li>Emitem os Certificados </li></ul></ul><ul><li>Que também podem ser gerenciadas por outras Instituições: </li></ul><ul><ul><li>No Brasil - ITI: </li></ul></ul><ul><ul><ul><li>Infra-estrutura de Chaves Públicas Brasileira (ICP-Brasil) </li></ul></ul></ul><ul><ul><ul><ul><li>Criada em 2001 pelo Governo Federal: MP 2.200-2 </li></ul></ul></ul></ul>
  5. 5. Certificado Digital: ICP-Brasil <ul><li>Conjunto de Técnicas, práticas e procedimentos: </li></ul><ul><ul><li>Fundamentos técnicos e metodológicos de um sistema de certificação digital baseado em chave pública. </li></ul></ul><ul><li>ITI: Autoridade Certificadora Raiz da ICP-Brasil: </li></ul><ul><ul><li>Credenciamento de instituições fornecedoras de Certificados ICP-Brasil: </li></ul></ul><ul><ul><ul><li>Serpro  SERASA  CERTISIGN  Caixa Econômica Federal Safeweb  PRODEMGE  Imprensa Oficial Tabelionato.com AC SINCOR  Correios </li></ul></ul></ul>
  6. 6. Certificado Digital: Como Funciona? <ul><li>Pares de chaves criptográficas: </li></ul><ul><ul><li>Geradas no momento da retirada do Certificado: </li></ul></ul><ul><ul><ul><li>Algoritmos matemáticos – Funções Hash </li></ul></ul></ul><ul><ul><li>São chamadas: </li></ul></ul><ul><ul><ul><li>Chave Privada: </li></ul></ul></ul><ul><ul><ul><ul><li>Deve ser mantida em um local seguro </li></ul></ul></ul></ul><ul><ul><ul><ul><li>De uso, controle e conhecimento exclusivo do requerente </li></ul></ul></ul></ul><ul><ul><ul><li>Chave Pública: </li></ul></ul></ul><ul><ul><ul><ul><li>É distribuída para encode/decode de dados gerados/acessados por Chaves Públicas </li></ul></ul></ul></ul><ul><ul><li>Formam a Public Key Infrastructure (PKI) </li></ul></ul>
  7. 7. Public Key Infrastructure <ul><li>Utilizada em diversos cenários: </li></ul><ul><ul><li>Email: </li></ul></ul><ul><ul><ul><li>Remetente obtem a Chave Pública do Destinatário </li></ul></ul></ul><ul><ul><ul><li>Remetente utiliza a Chave Pública para criptografar o conteúdo do e-mail </li></ul></ul></ul><ul><ul><ul><li>Destinatário utiliza sua Chave Privada para descriptografar o conteúdo do e-mail </li></ul></ul></ul>Codifica Decodifica Remetente Mensagem Original Mensagem Criptografada Destinatário Mensagem Original Chave Pública Chave Privada
  8. 8. Public Key Infrastructure <ul><li>Utilizada em diversos cenários: </li></ul><ul><ul><li>Assinaturas Digitais de Documentos </li></ul></ul><ul><ul><ul><li>Autor utiliza sua Chave Privada para Assinar o Documento </li></ul></ul></ul><ul><ul><ul><li>Após o processo, o documento não pode ser alterado </li></ul></ul></ul>Hash S2BkXloP Codifica hJ8+FOKqjWQUDrGNQ== Anexa Documento Original Documento Assinado Chave Privada hJ8+FOKqjWQUDrGNQ== Chave Pública
  9. 9. Certificado Digital: Estrutura
  10. 10. Certificado Digital: Estrutura
  11. 11. Certificado Digital: Estrutura
  12. 12. Certificado Digital: Estrutura
  13. 13. A PLATAFORMA .NET E O SUPORTE A CERTIFICADOS DIGITAIS
  14. 14. Namespasces e Classes <ul><li>System.Security.Criptography </li></ul><ul><ul><li>System.Security.Criptography.X509Certificates: </li></ul></ul><ul><ul><li>System.Security.Criptography.XML; </li></ul></ul>
  15. 15. Namespace System.Security.Criptography.X509Certificates <ul><li>System.Security.Criptography.X509Certificates: </li></ul><ul><ul><li>System.Security.Criptography.X509Certificates.X509Certificate; </li></ul></ul><ul><ul><li>System.Security.Criptography.X509Certificates.X509Certificate2; </li></ul></ul><ul><ul><li>System.Security.Criptography.X509Certificates.X509Certificate2Collection; </li></ul></ul><ul><ul><li>System.Security.Criptography.X509Certificates.X509Certificate2UI; </li></ul></ul><ul><ul><li>System.Security.Criptography.X509Certificates.X509Chain; </li></ul></ul>
  16. 16. Namespace System.Security.Criptography.X509Certificates <ul><li>Classe System.Security.Criptography.X509Certificates.X509Certificate: </li></ul><ul><ul><li>Métodos para consumir certificados X509 V.3 </li></ul></ul><ul><ul><li>Suporta apenas certificados no formato ASN1.DER </li></ul></ul><ul><ul><li>Classe base para: </li></ul></ul><ul><ul><ul><li>System.Security.Criptography.X509Certificates.X509Certificate2: </li></ul></ul></ul><ul><ul><ul><ul><li>Mapeamento da estrutura dos certificados X509; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Fácil manipulação: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>X509Certificate2.PublicKey; </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>X509Certificate2.NotBefore; </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>X509Certificate2.NotAfter; </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>X509Certificate2.SerialNumber; </li></ul></ul></ul></ul></ul>DEMO
  17. 17. Namespace System.Security.Criptography.X509Certificates <ul><li>Classe System.Security.Criptography.X509Certificates.X509Certificate2Collection </li></ul><ul><ul><li>Coleção (lista) de certificados armazenados em memória; </li></ul></ul><ul><ul><li>Utiliza X509Stores como fonte de dados; </li></ul></ul><ul><ul><li>Aceita parâmetros para refinar buscas de certificados; </li></ul></ul>DEMO
  18. 18. Namespace System.Security.Criptography.X509Certificates <ul><li>Classe System.Security.Criptography.X509Certificates.X509Chain </li></ul><ul><ul><li>Representa uma Cadeia de Certificados Digitais </li></ul></ul><ul><ul><li>Propriedade Chain Status, status da verificação da Cadeia: </li></ul></ul><ul><ul><ul><li>Guarda informações de cada certificado da Cadeia </li></ul></ul></ul>DEMO
  19. 19. Namespace System.Security.Criptography.Xml <ul><li>Criação e Validação de Assinaturas XML </li></ul><ul><ul><li>W3C &quot;XML-Signature Syntax and Processing“ </li></ul></ul><ul><li>Contém Diversas Classes: </li></ul><ul><ul><li>KeyInfoClause </li></ul></ul><ul><ul><li>KeyInfo </li></ul></ul><ul><ul><li>DSAKeyValue </li></ul></ul><ul><ul><li>Reference </li></ul></ul><ul><ul><li>Signature </li></ul></ul><ul><ul><li>XmlDsigC14NTransform </li></ul></ul><ul><li>Classe System.Security.Criptography.XML.SignedXML: </li></ul><ul><ul><li>Wrapper do core da criação de Assinaturas Digitais XML </li></ul></ul>DEMO
  20. 20. CERTIFICADO DE ATRIBUTOS
  21. 21. Certificado de Atributos <ul><li>Complementação do Certificado Digital; </li></ul><ul><li>Certificado Digital: </li></ul><ul><ul><li>Quem é você? </li></ul></ul><ul><ul><li>Você é você mesmo? </li></ul></ul><ul><li>Certificado de Atributos: </li></ul><ul><ul><li>O que é você? </li></ul></ul><ul><ul><li>Você pode fazer isso? </li></ul></ul>Identificação Autorização
  22. 22. Certificado de Atributos x Certificado Digital <ul><li>Semelhanças </li></ul><ul><ul><li>Estrutura e extensões X.509 </li></ul></ul><ul><ul><li>Cadeia de Certificados </li></ul></ul><ul><ul><li>Certificado de Atributos é gerado a partir de Certificados Digitais </li></ul></ul><ul><li>Diferenças </li></ul><ul><ul><li>Certificado de Atributos não possui chaves </li></ul></ul><ul><ul><li>Certificado de Atributos possui Timestamps pequenas: </li></ul></ul><ul><ul><ul><li>Certificado Digital: Anos </li></ul></ul></ul><ul><ul><ul><li>Certificado de Atributos: Meses/Dias </li></ul></ul></ul><ul><ul><li>Certificado de Atributos ainda não foi regulamentado </li></ul></ul>
  23. 23. Demo SignFlow

×