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

Certificados Digitais

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