Criptografia - Módulo II -- Certificação e Public Key...

37
Criptografia Módulo II – Certificação e Public Key Infrastructure M. B. Barbosa [email protected] Departamento de Informática Universidade do Minho 2006/2007 M. B. Barbosa [email protected] Criptografia 06/07

Transcript of Criptografia - Módulo II -- Certificação e Public Key...

Page 1: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

CriptografiaMódulo II – Certificação e Public Key Infrastructure

M. B. [email protected]

Departamento de InformáticaUniversidade do Minho

2006/2007

M. B. Barbosa [email protected] Criptografia 06/07

Page 2: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Introdução

Esforços recentes para melhorar a segurança na Internetlevaram ao aparecimento de um grupo de protocolos(S/MIME, IPSec, etc.) que utilizam a criptografia de chavepública para garantir:

ConfidencialidadeIntegridadeAutenticaçãoNão repúdio.

Esta utilização baseia-se no conceito de Certificado (dechave pública ou de atributos).A Public Key Infrastructure (PKI) tem como objectivo agestão segura e eficiente de chaves e certificados parapermitir essa mesma utilização.

M. B. Barbosa [email protected] Criptografia 06/07

Page 3: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

A utilização da criptografia de chave pública nastelecomunicações é regulamentada pela recomendaçãoX.509 da International Telecommunications Union (ITU).A aplicação dessa recomendação à Internet está definidanum conjunto de Requests For Comments (RFCs)publicados pela IETF.A Internet Engineering Task Force é uma comunidadeinternacional de produtores, operadores, vendedores einvestigadores das tecnologias de redes, interessados nofuncionamento e evolução da Internet.Dentro da IETF, o grupo que gere os RFCs relacionadoscom o X.509 chama-se “PKIX Working Group”. Este grupode trabalho mantém um conjunto de documentos que sedenomina “Internet X.509 Public Key Infrastructure”.

M. B. Barbosa [email protected] Criptografia 06/07

Page 4: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados de Chave Pública

Os utilizadores numa PKI devem poder confiar que, cadavez que utilizam uma chave pública, o agente com quemquerem comunicar possui a chave privada associada.Esta confiança é construída com base em Certificados deChave Pública.Um Certificado de Chave Pública é uma estrutura dedados que associa uma chave pública a um determinadoagente (a uma representação da sua identidade).A associação chave/agente é estabelecida por umaentidade terceira, uma Autoridade de Certificação, queassina digitalmente cada certificado.A utilidade de um certificado depende unicamente daconfiança depositada na Autoridade de Certificação.

M. B. Barbosa [email protected] Criptografia 06/07

Page 5: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

~

Certificado X.509

Identidade do Titular

Chave Publica do Titular

Validade

´

Chave Privada da

Autoridade de Certificaçao

Assinatura da

Autoridade de Certificaçao~

M. B. Barbosa [email protected] Criptografia 06/07

Page 6: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

O utilizador do certificado confia que a Autoridade deCertificação verificou que a chave pública contida nocertificado pertence de facto ao titular do certificado.A assinatura da Autoridade de Certificação assegura aautenticidade e integridade do certificado.Um Certificado de Chave Pública é válido durante umperíodo de tempo bem definido. Esse período vemespecificado no conteúdo assinado.Como a assinatura e a validade temporal de um certificadopodem ser verificados independentemente por umutilizador, os certificados podem ser distribuídos por canaisinseguros. Será isto verdade para todos os certificados?

M. B. Barbosa [email protected] Criptografia 06/07

Page 7: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Os Certificados de Chave Pública são utilizadosmaioritariamente na validação de informação assinadadigitalmente. Este processo consiste geralmente nosseguintes passos:

1 O destinatário verifica que a identidade indicada peloemissor está de acordo com a identidade indicada nocertificado.

2 O destinatário verifica que o certificado é válido:que a assinatura do certificado é válida;que foi efectuada por uma autoridade de certificação deconfiança;que o certificado está dentro do seu período de validade.

3 O destinatário verifica que a informação que recebe estáde acordo com as permissões/privilégios do emissor.

4 O destinatário utiliza a chave pública contida no certificadopara verificar a assinatura da informação recebida.

M. B. Barbosa [email protected] Criptografia 06/07

Page 8: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Os Certificados de Chave Pública são utilizadosmaioritariamente na validação de informação assinadadigitalmente. Este processo consiste geralmente nosseguintes passos:

1 O destinatário verifica que a identidade indicada peloemissor está de acordo com a identidade indicada nocertificado.

2 O destinatário verifica que o certificado é válido:que a assinatura do certificado é válida;que foi efectuada por uma autoridade de certificação deconfiança;que o certificado está dentro do seu período de validade.

3 O destinatário verifica que a informação que recebe estáde acordo com as permissões/privilégios do emissor.

4 O destinatário utiliza a chave pública contida no certificadopara verificar a assinatura da informação recebida.

M. B. Barbosa [email protected] Criptografia 06/07

Page 9: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Se todos os passos anteriores forem executados semproblemas, o destinatário aceita que a informação foiassinada pelo emissor, e que essa informação permaneceinalterada.Como é que se utiliza um certificado para protegerinformação ao nível da confidencialidade?O certificado passa a ser utilizado pelo emissor, e contéminformação relativa ao destinatário:

1 o emissor valida o certificado e a identidade dodestinatário;

2 o emissor utiliza a chave pública contida no certificado paracifrar a informação;

3 o emissor envia a informação cifrada ao destinatário que adecifra com a sua chave privada.

M. B. Barbosa [email protected] Criptografia 06/07

Page 10: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Se todos os passos anteriores forem executados semproblemas, o destinatário aceita que a informação foiassinada pelo emissor, e que essa informação permaneceinalterada.Como é que se utiliza um certificado para protegerinformação ao nível da confidencialidade?O certificado passa a ser utilizado pelo emissor, e contéminformação relativa ao destinatário:

1 o emissor valida o certificado e a identidade dodestinatário;

2 o emissor utiliza a chave pública contida no certificado paracifrar a informação;

3 o emissor envia a informação cifrada ao destinatário que adecifra com a sua chave privada.

M. B. Barbosa [email protected] Criptografia 06/07

Page 11: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados X.509 (V1)

Surgiram em 1988 com a primeira versão do X.509. Umcertificado deste tipo contém os seguintes campos:

Version versionCertificateSerialNumber serialNumberAlgorithmIdentifier signatureName issuerValidity validityName subjectSubjectPublicKeyInfo subjectPublicKeyInfo

A assinatura do certificado é efectuada pela Autoridade deCertificação (CA) sobre uma codificação DER darepresentação desta estrutura de dados em ASN.1.

M. B. Barbosa [email protected] Criptografia 06/07

Page 12: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados X.509 (V2)

Surgiram na revisão de 1993 do X.509. Não chegaram aser muito utilizados porque pouco tempo depois surgiu aversão actual (V3).Foram introduzidos dois novos campos:

UniqueIdentifier issuerUniqueIDUniqueIdentifier subjectUniqueID

Estes campos tentam rectificar o problema de ser muitodifícil garantir que os campos do tipo Name tenhamvalores únicos.A IETF recomenda que as CAs não utilizem estes campose garantam, na medida do possível, a unicidade dosnomes. Por outro lado recomenda que estes campos,caso existam, não devem ser ignorados.

M. B. Barbosa [email protected] Criptografia 06/07

Page 13: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados X.509 (V3)

Esta é a versão utilizada hoje em dia. Foi standardizadaem 1996 e é compatível com as versões anteriores.Esta versão veio colmatar as deficiências que as versõesanteriores apresentavam para algumas aplicações e queconsistiam básicamente na necessidade de mais atributos.Como inovação, esta versão introduziu um novo campo dotipo Extensions: uma colecção de elementos do tipoExtension.As extensões permitem associar atributos genéricos a umagente ou à sua chave pública, de forma flexível.Cada extensão é ela própria uma estrutura de dados comum identificador e um valor adequado ao tipo do atributoque representa.

M. B. Barbosa [email protected] Criptografia 06/07

Page 14: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados X.509 (V3): Atributos

version Tem de estar de acordo com o conteúdo docertificado.serialNumber Número único atribuido pela CA.signature Estrutura que identifica o algoritmo utilizadopara gerar a assinatura da CA que acompanha ocertificado.validity Estrutura com as duas datas que delimitam operíodo de validade do certificado.subjectPublicKeyInfo Estrutura contendo a chave públicado titular do certificado e identificação do algoritmocorrespondente.

M. B. Barbosa [email protected] Criptografia 06/07

Page 15: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Os atributos issuer e subject identificam a CA e o titulardo certificado respectivamente. Ambos são do tipo Name.O tipo Name provém da norma X.501 e é utilizado porquepermite a compatibilidade com os sistemas de directóriodefinidos nas normas X.500 (e.g. DAP e LDAP).O tipo Name é uma colecção de atributos, geralmentestrings da forma “< nome > = < valor >”. Estes atributosdefinem um Distinguished Name para o agente titular.O Distinguished Name tem uma estrutura hierárquica.Inclui por exemplo, o país, a organização e o nome própriodo agente ou entidade.

M. B. Barbosa [email protected] Criptografia 06/07

Page 16: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

A norma X.520 standardiza alguns dos componentes deum Distinguished Name. Os seguintes são dereconhecimento obrigatório e são muito utilizados:

country (C)organization (O)organizational-unit (OU)common name (CN)serial number (SN)

Algumas aplicações importantes utilizam também oendereço de e-mail como um dos atributos centrais daconstrução do Distinguished Name.Exemplo: C=PT, O=UMINHO, OU=DI, CN=MBB

M. B. Barbosa [email protected] Criptografia 06/07

Page 17: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados X.509 (V3): Extensões

As extensões são marcadas como Critical ou NonCritical.Uma aplicação que encontre uma extensão crítica que nãoreconheça tem de rejeitar o certificado.Não são permitidas várias instâncias da mesma extensão.O RFC3280 da IETF normaliza as extensõesrecomendadas para utilização na Internet, definindo oidentificador (OBJECT IDENTIFIER) e o tipo de dadosassociado.São desaconcelhados desvios desta recomendação,nomeadamente no que diz respeito a extensões críticas,apesar de não haver qualquer limitação a nível dostandard.

M. B. Barbosa [email protected] Criptografia 06/07

Page 18: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Subject Key Identifier Serve para identificar o certificadoque contém uma determinada chave pública e.g. quandoum agente tem várias. É, em geral, um valor de hashderivado da chave pública que, caso esta extensão nãoconste do certificado, pode ser calculado em run-time.Authority Key Identifier Serve para identificar a chavepública da CA que assinou o certificado, caso existamvárias, o que facilita a verificação de cadeias decertificação. Isto pode ser feito

identificando o certificado da CA através do seu Subject eSerial Number;ou através da extensão Subject Key Identifier docertificado da CA.

Subject/Issuer Alternative Name Permitem associarformas de identificação alternativas ao titular do certificadoou à CA que o emitiu (e-mail, DNS, endereço IP, URI, etc.).

M. B. Barbosa [email protected] Criptografia 06/07

Page 19: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Basic Constraints Permite assinalar um certificado comopertencendo a uma CA e limitar o comprimento de cadeiasde certificados.Certificate Policies Permite incluir informação relativa àspolíticas de certificação aplicáveis ao certificado:

Para certificados de utilizador, permite especificar em quecondições o certificado foi emitido e quais as restriçõesassociadas à sua utilização.Para certificados de CAs, permite definir as políticas decertificação aplicaveis por CAs hierarquicamente inferiores.

Policy Mappings Permite a uma CA declarar que algumasdas suas políticas são equivalentes às políticas decertificação de outra CA.

(As hierarquias de CAs serão estudadas mais tarde.)

M. B. Barbosa [email protected] Criptografia 06/07

Page 20: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Key Usage Permite restringir as utilizações do par dechaves associado ao certificado e.g. quando uma chaveapenas pode ser utilizada para verificar assinaturasdigitais. Contempla as seguintes utilizações:

digitalSignature Assinaturas digitais para autenticação eintegridade de dados, excepto certificados e CRLs.nonRepudiation Assinaturas digitais para não repúdio.keyEncipherment Protecção da confidencialidade dechaves.dataEncipherment Protecção da confidencialidade dedados.keyAgreement Protocolos de acordo de chaves.keyCertSign Assinatura de certificados.cRLSign Assinatura de CRLs.encipherOnly/decipherOnly Restringem a funcionalidadekeyAgreement.

M. B. Barbosa [email protected] Criptografia 06/07

Page 21: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Extended Key Usage Permite especificar ou restringir asutilizações previstas para o par de chaves associado aocertificado, em adição ou em alternativa à extensão KeyUsage. Estão definidas diversas utilizações, bem como asua relação com as especificadas na extensão KeyUsage:

WWW server authenticationWWW client authenticationSigning of downloadable executable codeE-mail protection. . .

CRL Distribution Points Serve para indicar ao utilizadorde um certificado onde pode obter informação quanto àrevogação do certificado na forma de CertificateRevocation Lists (CRLs).

M. B. Barbosa [email protected] Criptografia 06/07

Page 22: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Certificados de Chave Pública X.509

IntroduçãoCertificados de Chave PúblicaCertificados X.509Certificados X.509 (V3): Atributos e Extensões

Certificados X.509 (V3): Codificação

Os certificados, como todas as estruturas de dados naPKI, são definidos e representados em ASN.1. Acodificação é feita utilizando as Dinstinguished EncodingRules (DER).O ficheiro que contém um certificado X.509 consiste nacodificação DER da seguinte estrutura ASN.1:Certificate ::= SEQUENCE {

tbsCertificate TBSCertificate,signatureAlgorithm AlgorithmIdentifier,signatureValue BIT STRING }

Além da estrutura de atributos apresentada nos slidesanteriores (tbsCertificate), aparece também a assinaturada Autoridade de Certificação (signatureAlgorithm esignatureValue).

M. B. Barbosa [email protected] Criptografia 06/07

Page 23: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Introdução

Uma Public Key Infrastructure define-se como o conjuntode hardware, software, pessoas, políticas e procedimentosnecessários para criar, gerir, armazenar, distribuir erevogar Certificados de Chave Pública.Uma PKI é composta por cinco tipos de componentes:

Titulares de Certificados Possuem as chaves privadas eas utilizam para decifrar mensagens e assinar documentos.Clientes Utilizam a chave pública contida num certificadopara cifrar mensagens e verificar assinaturas.Autoridades de Certificação Emitem e revogamcertificados.Autoridades de Registo Garantem a associação entrechaves públicas e identidades de titulares (são opcionais).Repositórios Armazenam e disponibilizam certificados eCRLs.

M. B. Barbosa [email protected] Criptografia 06/07

Page 24: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Arquitectura

Gestao da PKI~

Autoridade deCertificaçao~

de RegistoAutoridade

Autoridade deCertificaçao (2)~

Rep

osito

rio

de C

ertif

icad

os e

CR

Ls

Transacçoesde Gestao

~~

Transacçoesde Gestao

~~

Transacçoes Operacionais ePublicaçao de Certificados

~ ~

Titular(End Entity)

InicializaçaoRegisto/CertificaçaoRecuperaçao/Actualizaçao de ChavesPedido de RevogaçaoActualizaçao de Certificado

~~

~ ~~

~

Certificaçao de CAs~

Utilizadores da PKI

Emissorde CRLs

Publica Certificado

Publica CRL

Publica Certificado ou CRL

M. B. Barbosa [email protected] Criptografia 06/07

Page 25: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

O funcionamento de uma PKI baseia-se em dois tipos deprotocolos:

Protocolos Operacionais Estes protocolos sãonecessários para entregar certificados e CRLs aossistemas que os utilizam. Estas operações podem serefectuadas de diversas formas, incluindo o LDAP, HTTP eFTP. Para todos estes meios estão especificadosprotocolos operacionais que definem, inclusivamente, osformatos das mensagens.Protocolos de Gestão Estes protocolos são necessáriospara dar suporte às interacções entre os utilizadores e asentidades de gestão da PKI, nomeadamente:

Inicialização.Registo e Certificação.Recuperação e Actualização de pares de chaves.Pedido de revogação.Certificação de CAs.

M. B. Barbosa [email protected] Criptografia 06/07

Page 26: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

PKI: Operações

Inicialização Processo inicial que permite ao utilizadorcomunicar com a PKI: toma conhecimento das CAs emque confia e adquire as chaves públicas e certificadoscorrespondentes, gera o seu par de chaves, etc.Registo Um utilizador dá-se a conhecer a uma CA(directamente, ou através de uma RA) para que a CA lhepossa emitir um certificado; para isso fornece informaçãode identificação que deve ser verificada pela CA (RA).Geração de Par de Chaves Nalgumas implementações,as CAs encarregam-se de gerar o par de chaves.Certificação A CA recebe a chave pública do utilizador ea sua identificação e emite o respectivo certificado,segundo regras internas.

M. B. Barbosa [email protected] Criptografia 06/07

Page 27: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Publicação de Certificados e CRLs Esta tarefa pode serfeita directamente pela CA, ou indirectamente porentidades como RAs. Além de colocar os certificados eCRLs em repositórios é muitas vezes necessário fazerestes documentos chegar aos utilizadores finais por outrosmeios (on-line ou não).Revogação Quando um certificado é emitido o seuperíodo util de vida está pré-definido. No entanto, podehaver a necessidade de invalidar o certificado antes do fimdesse período por diversos motivos (e.g. umdespedimento, o comprometimento da chave privada,etc.). A revogação de certificados faz-se através de CRLs.As CRLs vão ser analizadas em detalhe mais tarde.

M. B. Barbosa [email protected] Criptografia 06/07

Page 28: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Recuperação de um Par de Chaves Nalgumasimplementações as CAs armazenam o par de chaves daentidade como back-up e protecção e.g. no caso de umaempresa e os seus empregados. Nestes casos o par dechaves pode ser restaurado em caso de extravio oudanificação do seu suporte.Actualização de Par de Chaves Todos os pares dechaves precisam de ser alterados, periódicamente porrazões de segurança, ou simplesmente porque asegurança da chave privada foi corrompida.Certificação de CAs Os certificados das CAs chamam-secross certificates. São utilizados para a validação decadeias de certificados, mas também podem ser utilizadospara outros fins e.g. comunicação segura entre umaentidade e a CA.

M. B. Barbosa [email protected] Criptografia 06/07

Page 29: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Cadeias de Certificação e Confiança

Para utilizar um serviço que requeira o conhecimento deuma chave pública, é necessário obter e validar umcertificado que a contenha.A validação do certificado implica, por sua vez, oconhecimento da chave pública da Autoridade deCertificação que o emitiu e, consequentemente, aobtenção e validação do certificado que a contém.A validação do certificado da CA poderá implicar oconhecimento da Chave Pública de outra CA que o tenhaemitido, e assim sucessivamente.Chama-se a esta sequência uma Cadeia de Certificação.Confiança numa chave pública implica validar o certificadodessa chave, e zero ou mais certificados de CAs.

M. B. Barbosa [email protected] Criptografia 06/07

Page 30: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

A validação de um certificado segue o seguinte algoritmo:Para todo o x = 1, ..., n − 1, o subject do certificado x éo emissor do certificado x + 1;O certificado 1 é emitido pela raiz da relação deconfiança;O certificado n é o certificado a ser validado; e . . .Para todo o x = 1, ..., n, verifica-se que o certificado éválido na altura da sua utilização.

Perguntas:Onde termina a validação de uma cadeia de certificados?O que é a raiz da relação de confiança?Se cada chave pública implica um certificado, e vice-versa,o que aparece primeiro?

M. B. Barbosa [email protected] Criptografia 06/07

Page 31: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

As cadeias de certificação reflectem uma hierarquia deAutoridades de Certificação.As CAs hierarquicamente superiores emitem oscertificados das CAs hierarquicamente inferiores.No topo da hierarquia reside uma CA denominada Rootou raiz. O certificado desta CA é emitido e assinado porela própria: os campos subject e issuer do seucertificado são iguais.A confiança na chave pública de uma Root CA nãodepende de outra CA. é estabelecida por um meio externoà PKI.Por exemplo, a utilização de uma instalação comum do MSWindows implica a “confiança” em dezenas de Root CAs!

M. B. Barbosa [email protected] Criptografia 06/07

Page 32: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Um utilizador conhece um número limitado de chavespúblicas pertencentes a CAs (em geral Root CAs) e quefuncionam como raizes das relações de confiança.Isso significa que o utilizador aceitará um certificadoemitido por uma dessas CAs e que depositará umdeterminado nível de confiança no seu conteúdo.A validação de uma cadeia de certificados terminaráquando for encontrado um certificado com essacaracterística.Conclusão: o grau de confiança depositada numcertificado validado baseia-se apenas na confiançadepositada na CA que funcionou como raiz da relação deconfiança.

M. B. Barbosa [email protected] Criptografia 06/07

Page 33: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Políticas de Certificação

A confiança que é depositada numa CA depende, emúltima instância, da sua política de certificação, e da formacomo essa política é implementada.Essa confiança é influenciada por diversos factoresinternos e externos à PKI. Factores externos, como acredibilidade da instituição ou empresa que suporta a CAe o seu país de origem são obviamente importantes.No entanto, o conceito de PKI prevê uma forma de"ancorar"a confiança que se deposita numa CA, naquiloque de facto importa: as leis da sociedade em que a PKIopera.Isto é feito através das Certificate Policies ou CP.

M. B. Barbosa [email protected] Criptografia 06/07

Page 34: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Certificate Policies

Uma CP é um conjunto de regras que define aaplicabilidade de certificados a uma determinadacomunidade ou classe de aplicações:

A legislação em que se baseará a emissão e utilização doscertificados.Os requisitos e as responsabilidades (nomeadamentelegais e financeiras) associados a CAs e RAs.Os requisitos e as responsabilidades associados aTitulares e Clientes.Restrições ao conteúdo e utilização dos certificados e.g.somas máximas envolvidas numa transacção, etc.Procedimentos a serem implementados relativamente adiversos aspectos do funcionamento de CAs e RAs.

Cada CP é identificada por um Object Identifier quepode ser incluido na extensão Certificate Policies.

M. B. Barbosa [email protected] Criptografia 06/07

Page 35: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Certification Practice Statements

Cada CA publica uma ou mais Certification PracticeStatements (CPS), nas quais publicita as suas normas deoperação internas. Uma CPS explica a forma como umaCA implementa um determinado conjunto de CPs.A acreditação de uma CA de acordo com umadeterminada CPS implica uma auditoria efectuada por (ouem nome de) uma Policy Management Authority.Por exemplo, a PKI Governamental do Canadá define oitoCPs correspondentes a quatro níveis de segurança nautilização de certificados em assinaturas digitais eprotecção de dados. Uma CA que pretenda emitircertificados que em conformidade com estas políticas temde ser credenciada pelo estado Canadiano.

M. B. Barbosa [email protected] Criptografia 06/07

Page 36: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

Políticas de Certificação na Prática

Uma parte significativa do RFC3280 é dedicada àspolíticas de certificação e ao efeito de uma política decertificação imposta num determinado ponto da hierarquia.Como foi já referido, esta especificação define também asextensões que permitem incluir este tipo de informaçãonos certificados X.509.De facto, associada a cada certificado pode estar uma listade políticas aplicáveis à sua utilização ou, no caso docertificado de uma CA, uma lista das políticas aceitáveispara os certificados hierarquicamente inferiores.Durante a validação de um certificado é necessáriopropagar as políticas impostas desde o topo da hierarquiaaté à sua base.

M. B. Barbosa [email protected] Criptografia 06/07

Page 37: Criptografia - Módulo II -- Certificação e Public Key ...twiki.di.uminho.pt/twiki/pub/Education/Criptografia/Criptografia... · um agente tem várias. É, em geral, um valor de

Infraestrutura de Chave Publica (PKI)

IntroduçãoArquitecturaPKI: OperaçõesCadeias de Certificação e ConfiançaPolíticas de Certificação

A informação contida nos certificados inclui umacomponente processável num algoritmo de resoluçãodeste problema, algoritmo esse que está também definidono RFC3280.A política em vigor na base da hierarquia de certificaçãoresulta da reunião das políticas em vigor nos níveissuperiores, com a ressalva de que uma política inseridanum determinado nível não pode contradizer uma políticade nível superior.Compete ao utilizador determinar se a política associada aum determinado certificado é aceitável ou não.É também possível incluir num certificado uma CPS, deforma directa ou referenciada, bem como informaçãodirigida ao utilizador final sobre as condições de emissãodo certificado.

M. B. Barbosa [email protected] Criptografia 06/07