Public Key Infrastructure • PKI Conheça a Infra-estrutura de Chaves Públicas e a Certificação Digital Lino Sarlo da Silva Novatec Editora Capítulo 1 Fundamentos da infra-estrutura de chave pública Neste capítulo iremos detalhar o que é ICP, assim como serviços oferecidos e os disponíveis. No conjunto de serviços iremos aprofundar as questões operacionais, como a utilização da ICP off-line, componentes de hardware, gerência de privilégios, chaves e nãorepúdio na comunicação. Introdução à ICP A tecnologia das comunicações evolui de uma maneira muito rápida. O crescimento da Internet, a sua abrangência, flexibilidade e a redução significativa dos custos de acesso criam um ambiente favorável para o surgimento de novas formas de negociação. O modo tradicional, envolvendo presença física, documentos reais, averbação em cartório e burocracia em geral, está migrando para o universo digital, abrindo-se um novo paradigma. O cenário seria perfeito se nessa nova forma de transação não importassem alguns inconvenientes da economia tradicional, e empresas e usuários estão sendo seduzidos pela Internet, onde também há crime. Da mesma forma como é mais fácil, rápido e barato realizar transações comerciais, isso também ocorre com a prática de atos ilegais pela rede. Todos os dias pessoas e empresas executam milhares de transações eletrônicas, arquivos e informações confidenciais são compartilhados via e-mail ou redes corporativas, clientes atualizam contas e autorizam pagamentos bancários por meio de computadores pessoais e uma relação crescente de produtos e serviços é comercializada e paga por formulários eletrônicos on-line. A infra-estrutura Internet está pronta para a utilizarmos, não precisamos entender como os computadores estão conectados nem como se comunicam, não importa onde es- 21 Public Key Infrastructure • PKI tamos nem qual computador usamos. Para acessar a rede, basta um computador, laptop, celular ou PDA, um acesso discado para um provedor que forneça o acesso e estamos conectados. Entramos mediante uma autorização dada pelo provedor de acesso, mas ao mesmo tempo completamente anônimo na rede. Para um melhor entendimento sobre infra-estrutura, vamos analisar a definição do vocábulo no Dicionário Aurélio, no que tange à área de urbanismo, pois esta é a mais adequada à análise que pretendemos: “Numa cidade, o conjunto das instalações necessárias às atividades humanas, como rede de esgotos e de abastecimento de água, energia elétrica, coleta de águas pluviais, rede telefônica e gás canalizado”. Partindo da definição do Aurélio, pagamos pelo consumo mensal de tais serviços e temos a nosso dispor a rede pública. No caso da energia elétrica, não precisamos saber como a central montou a distribuição nem como a energia foi segmentada em nossa cidade, bairro, rua e prédio. Sabemos que temos as tomadas em nossa casa, podemos fazer extensões, se quisermos, mas cada tomada tem energia e podemos ligar qualquer aparelho elétrico que irá funcionar, de um simples abajur até um freezer, DVD etc. A infra-estrutura existe para a usarmos e iremos pagar pelo que consumirmos. No caso do gás canalizado temos o mesmo raciocínio, não importa como, mas sim, que temos o gás em nosso aquecedor e fogão; o modelo do fogão nem a quantidade de bocas irão influenciar o processo. A infra-estrutura de chave pública tem o mesmo princípio, visto que existe há muito tempo. Apesar de a ICP ter sido estabelecida há mais de duas décadas, com a invenção da criptografia de chaves públicas, a tecnologia dela tem sido oferecida comercialmente há menos de cinco anos e continua sendo vista como nova e cercada de mistérios a seu redor. Essa situação se agrava com a pulverização de documentos conflitantes, propostas recentes de padrões e vendedores de soluções perfeitas e completas. A infra-estrutura de chaves públicas permite que as empresas utilizem redes abertas, tais como a Internet, para fazer uma réplica ou até mesmo aperfeiçoar os mecanismos usados para assegurar a segurança no mundo real. Envelopes e firmas de envio seguro são substituídos por sofisticados métodos de criptografia de dados, garantindo que as mensagens sejam lidas apenas pelos devidos destinatários. Assinaturas físicas e selos são substituídos por assinaturas digitais, que, além de assegurar que as mensagens realmente vieram de uma determinada entidade, podem garantir que nenhuma parte desta foi alterada durante o trajeto. Documentos de identificação, tais como passaportes, carteira profissional, carteira de identidade e alvarás comerciais, podem ser emitidos digitalmente com a mesma segurança oferecida no mundo real. 22 Capítulo 1 • Fundamentos da infra-estrutura de chave pública No universo real, a instituição que emitiu o documento, por exemplo, a identidade de uma pessoa, é autêntica, real e inquestionável, como o Instituto Félix Pacheco (IFP). Não há como negar a veracidade do órgão, mas podemos questionar o documento em si, se há indícios ou não de que foi falsificado. Essa mesma filosofia deve ser trazida para o mundo virtual, ou seja, não podemos questionar a autenticidade de uma autoridade certificadora, mas podemos ou não validar e aceitar os certificados emitidos por ela. Veremos no item Infra-estrutura de Chave Pública Brasileira (ICP-Brasil) o papel do governo brasileiro no mercado da ICP. As ameaças ao comércio eletrônico acontecem porque as transações na Internet são, na grande maioria, anônimas e públicas. Em transações entre pessoas, o nível de confiança depende de avaliações obtidas a partir de um conhecimento prévio. Um banco, por exemplo, estabelece um nível de confiabilidade com o cliente porque tem acesso a documentos de identificação, cadastros verificados e atualizados periodicamente e a sua assinatura registrada em seus arquivos. Quando uma empresa solicita uma linha de crédito, ela acredita que a transação seja segura e confidencial porque compartilha as informações exclusivamente com funcionários da organização financeira. Na medida em que mais empresas usam a Internet para fazer negócios, é necessário construir a credibilidade entre pessoas que nunca se encontraram antes, e provavelmente nunca irão encontrar-se, mediante uma legislação diferente, como um cartório virtual, onde essas pessoas ou empresas possam ser identificadas por um documento digital com validade jurídica. As relações promovidas pela Internet criam ao mesmo tempo receios que continuam crescendo no momento de se estabelecer um pacto via eletrônica, por isso os juristas e técnicos passaram a preocupar-se com a garantia da segurança dos referidos sistemas. A infra-estrutura de chave pública cria um ambiente de apoio capaz de impedir os ataques à rede e sistemas protetores para as operações ilegais. Nesse ambiente digital temos condições de criar leis e recursos técnicos impeditivos de fraudes, em que a grande maioria deles usa a criptografia como instrumento básico. A infra-estrutura de chave pública é uma arquitetura de confiabilidade que as empresas podem especificar para suas redes corporativas e políticas de segurança. Ela possibilita transações via Internet tão seguras quanto negócios entre pessoas. O que se pretende é conferir aos negócios eletrônicos condições de viabilidade a fim de que tenham os mesmos resultados daqueles obtidos com os contratos fora da rede, e essas condições permitirão realizar com segurança qualquer operação pela Internet. A necessidade de autenticação oficial, a integridade do documento, como este foi elaborado e a confidencialidade nas operações terão a garantia tão esperada com sistemas de segurança eficazes e com o valor probatório ao negócio realizado. 23 Public Key Infrastructure • PKI Tradicionalmente, a assinatura manuscrita permite dar validade a um documento e prova a existência do acordo por parte dos contratantes; o exame grafotécnico feito por peritos é o “tira teima” de sua autoria, além da fé pública que pode ser dada pelo tabelião e de outros procedimentos reconhecidos legalmente, como os selos das autoridades públicas. A diferença da autenticidade e da integridade do documento está na capacidade de se provar a uma terceira pessoa que uma comunicação foi realizada, admitida e enviada com sucesso ao destinatário, sem que seja necessária a apresentação da assinatura tradicional, como se admite em direito. Primeiramente, é preciso que a criptografia, como ferramenta de ajuda, seja utilizada plenamente para que a assinatura seja digital e esteja revestida da devida segurança. Além de haver um acordo entre os contratantes para a inclusão do “não-repúdio” no negócio, para que este gere os devidos efeitos legais. Com esses atributos, pode-se demonstrar e fazer valer como prova, em caso de disputa judicial, que o negócio existiu, houve aceitação e, portanto, é juridicamente válido. A partir de 2001, o governo brasileiro deu legitimidade à infra-estrutura de chave pública (ICP-Brasil), por meio de uma medida provisória, e desde esse momento vem credenciando empresas para emitirem certificados digitais, como é o caso da Serasa, Serpro, Caixa Econômica Federal, Presidência da República, CertSign, entre outras. A Tecban (Tecnologia Bancária), que reúne mais de 400 bancos na rede de autoatendimento Banco 24Horas, também está utilizando o certificado digital, em parceiria com as Certificadoras CertSign e Serasa. A Tecban investiu U$ 3 milhões para montar uma câmara de varejo para liquidações de transações financeiras entre empresas e já conta com 17 bancos para utilizar o sistema, operar e desenvolver oportunidades de negócios Business to Business (B2B) de altos valores que precisam de soluções seguras de certificação digital. A Caixa Econômica Federal, autorizada a emitir certificados pela ICP-Brasil, decidiu criar seus próprios certificados digitais em vez de comprar a solução de outros fornecedores do mercado; para isso, ela investiu R$ 10 milhões em Hardware, Software e infra-estrutura de rede e pretende distribuir mais de 1,5 milhão de certificados para usuários de Internet Banking. O Unibanco, um dos maiores bancos privados do país, por exemplo, lançou um programa de certificação digital destinado a pessoas jurídicas correntistas do banco, cadastradas no 30Horas Online Empresarial e que tenham os produtos contas a pagar e folha de pagamento contratados, para movimentações financeiras superiores a um determinado valor, ou seja, para clientes com maiores possibilidades de risco em suas transações. 24 Capítulo 1 • Fundamentos da infra-estrutura de chave pública O certificado digital é utilizado para comprovar a identidade do usuário no momento da autorização de um pagamento no 30Horas Online Empresarial. Como vimos, é imprescindível que para o crescimento do comércio eletrônico seguro se observem todos esses aspectos, tanto do ponto de vista jurídico como do técnico, pois o que se espera com essa infra-estrutura é uma correspondência como a dos documentos formais, em que as normas de direito civil são aplicadas e poderão continuar a ser utilizadas da mesma forma. Uma infra-estrutura de chave pública torna possível identificar e confiar em um usuário Internet, que pode ser outra pessoa, uma estação de trabalho ou qualquer outra entidade eletrônica. As aplicações em uma infra-estrutura de chave pública operam com as seguintes características: • Autenticação – Identificação inequívoca das partes envolvidas no processo. • Privacidade – As informações são compreensíveis exclusivamente para os parceiros na comunicação. • Integridade – As informações não podem ser modificadas em trânsito na rede. • Não-repúdio – A autoria das comunicações não pode ser contestada. • Autorização – As informações são acessíveis exclusivamente para entidades credenciadas. • Auditoria – Todas as etapas do processo podem e devem ser auditadas. Serviços oferecidos pela ICP A infra-estrutura de chaves públicas oferece vários serviços de segurança, que podem ou não ser utilizados, dependendo da política de segurança adotada na empresa e do comprometimento dos usuários dos certificados digitais. Apesar de os principais serviços estarem disponíveis, como privacidade, integridade etc., a sua prática depende de uma aceitação dos usuários que irão utilizar a ICP e uma compreensão de como esses serviços podem contribuir para proteger as informações pessoais e da empresa. A decisão de utilizar todos os serviços ou parte deles permite que os usuários utilizem a ICP quando não estão conectados à Internet ou à rede local da empresa etc., e esses serviços são importantes porque definem o nível de segurança que se deseja alcançar, além de serem imprescindíveis para a ICP. Tais aspectos serão mais bem explicados na Parte III, item Premissas e Decisões. A seguir, analisaremos os principais serviços da ICP, como cada um pode ser utilizado e para que servem. 25 Public Key Infrastructure • PKI Privacidade No mundo real, a privacidade pode ser obtida de diversas formas. Quando estamos falando ao telefone e não queremos que nosso diálogo seja ouvido por outra pessoa, simplesmente baixamos nosso tom de voz ou usamos algum tipo de código com a outra pessoa, a fim de assegurar que ninguém irá entender o que estamos dizendo. Quando em público, podemos procurar um lugar reservado ou mudar nosso idioma. Imagine duas pessoas falando em turco ou japonês: as chances de alguém entender o diálogo serão pequenas. No mundo virtual não é muito diferente. Quando um usuário deseja enviar uma informação a um outro, ambos querem que esta não seja interceptada no decorrer da transmissão, nem mesmo por membros da mesma empresa. Se essa transmissão for feita por meio da infra-estrutura da Internet, compartilha-se a mesma conexão virtual com um grupo de pessoas que está no submundo da rede, tentando capturar dados que não lhe pertencem. Logo, mesmo dificultando, não se pode garantir privacidade total, mas é importante garantir que, mesmo em posse da informação capturada, o dado não seja legível. Para garantir a segurança dos dados, devemos usar técnicas modernas de criptografia e mecanismos matemáticos, embaralhando a informação de tal forma que leve centenas ou milhares de anos para que o dado criptografado volte à sua forma original. O elemento-chave na força de uma criptografia é o tamanho dela, e não o algoritmo. A maioria dos algoritmos é de conhecimento público. A idéia de privacidade que temos no mundo virtual nada mais é do que a técnica que usamos para criptografar os dados de origem e enviá-los até o destinatário. No destino, o dado é descriptografado, voltando à sua forma original. Integridade A premissa da integridade é que a mensagem ou documento enviado de um ponto A a um ponto B tem que chegar a este sem que seja alterada no decorrer da transmissão, ou seja, a informação tem que chegar idêntica a quando foi enviada. Essa integridade na comunicação é checada por meio da função de hash, onde se verifica se alguma modificação foi feita no pacote original que foi enviado de um usuário, ou equipamento, para outro. Não se pretende com essas funções inibir que modificações sejam feitas, mas sim verificar se isso aconteceu e não validar a informação adulterada. A figura 1.1 explica um processo de envio de mensagem, com a função de hash, de um usuário A para um usuário B. 26 Capítulo 1 • Fundamentos da infra-estrutura de chave pública Figura 1.1 – Envio de mensagem de usuário A para B. Como pode ser observado na figura 1.1, a mensagem e o resultado da função de hash são enviados para o usuário B. Esse desenho serve para ilustrar o processo de integridade, porém, na prática, tanto a mensagem quanto o resultado do hash devem ser protegidos por alguma forma de criptografia, caso contrário esses dados ficarão expostos. A figura 1.2 ilustra o que o usuário B deve fazer quando receber as informações do usuário A. Figura 1.2 – Verificação de integridade feita pelo usuário B. O usuário B aplica a mesma função de hash na mensagem recebida do usuário A; com esse resultado ele compara com o da função de hash enviado com a mensagem. Se esses dois resultados forem iguais, o usuário B pode estar certo de que a mensagem não sofreu nenhuma modificação no decorrer da transmissão, garantindo-se a integridade da mensagem. Caso contrário, alguém ou algum equipamento interceptou e alterou as informações, o que estará errado, visto que houve uma quebra de integridade da informação e esta foi adulterada. 27 Public Key Infrastructure • PKI Isso não significa que houve privacidade nem autenticidade nessa transação, porque não cabe ao processo de integridade validar os usuários A e B envolvidos nesse processo. Da mesma forma, esse processo não deve dar garantias de que o texto foi protegido contra leituras no decorrer do processo, e se isso ocorreu, o diálogo não teve a privacidade esperada. Autenticidade O usuário que recebeu a informação tem de ter certeza do seu emissor, o que se garante por meio de assinaturas digitais. Para tal, calcula-se o hash da mensagem original e criptografa-se o resultado com a chave privada do autor. Ao resultado dessa operação chamamos assinatura digital, e esta é adicionada ao final da mensagem. Quando o destinatário recebe a mensagem, usa a chave pública do emissor para decifrar a assinatura digital, descobrindo o hash, que permite saber se a mensagem foi alterada de alguma maneira. Essa operação só é possível se a assinatura digital tiver sido criptografada com a chave privada do emissor, que é única e de propriedade dele, por meio da qual certifica quem escreveu a mensagem, ou seja, a sua autenticidade. Dessa forma, o emissor passa a não conseguir negar que a enviou. Considerações operacionais Para podermos utilizar os serviços oferecidos com a infra-estrutura de chave pública, precisamos definir algumas premissas básicas, fundamentais para o sucesso da implementação. Nessas premissas são definidas as características, os componentes e as facilidades necessárias para o funcionamento da ICP. Iremos abordar as principais delas, analisando cada caso, dependendo sempre do objetivo que se deseja alcançar. Operações off-line Uma decisão importante que deve ser analisada durante o desenvolvimento e implementação de uma infra-estrutura de chave pública está diretamente relacionada à utilização dessa ICP quando o usuário não está conectado na Internet. Os usuários podem não estar conectados o tempo todo, como é o caso daqueles em trânsito, viajando ou de férias. Esses usuários podem ficar fora da ICP ou utilizar um conjunto reduzido de funções da ICP. Algumas aplicações requerem conectividade integral para funcionar, em que os usuários devem estar conectados para que a aplicação funcione adequadamente. Entre- 28 Capítulo 1 • Fundamentos da infra-estrutura de chave pública tanto outras aplicações podem funcionar off-line, e os usuários utilizam-nas sem estar conectados e numa etapa posterior, ou seja, quando se conectarem, a aplicação fará as negociações necessárias para seu funcionamento. Um exemplo típico para utilização off-line é o e-mail: escrevemos o texto sem estar conectados à Internet; em um laptop durante uma viagem; ou em casa ligados apenas à energia ou à bateria, enquanto elaboramos a mensagem a ser enviada, sem que seja necessária uma conexão para isso. A figura 1.3 mostra uma tela questionando o usuário se ele deseja conectar-se à Internet. Essa tela é apresentada quando abrimos o Outlook, mas não estamos conectados no momento. Figura 1.3 – Tela inicial do Outlook quando não estamos conectados à Internet ou à rede local da empresa. Se for possível utilizar a infra-estrutura off-line, podemos escrever o e-mail, assinar digitalmente e criptografar o texto para nosso destinatário por meio do certificado, de informações de revogação e daquelas necessárias sobre ele que estejam armazenadas no disco rígido local. Por outro lado, se isso não for possível, ou seja, para utilizar as funcionalidades da ICP temos que estar conectados, não assinaremos nem criptografaremos o texto e, nesse caso, este será preparado e ficará armazenado no disco rígido local na sua forma original até que o usuário se conecte à Internet e possa criptografar, assinar a mensagem e enviá-la. A figura 1.4 exibe uma mensagem apresentada no Outlook quando tentamos salvar na pasta Rascunhos um texto que foi assinado digitalmente para envio num momento futuro. 29 Public Key Infrastructure • PKI Figura 1.4 – Mensagem do Outlook. Essa mensagem do Outlook explica que serão retiradas as informações de assinatura digital para colocar o texto na pasta Rascunhos. O software faz isso porque não sabe a priori quando essa mensagem será enviada, dessa forma, não pode confiar para sempre num certificado que expira ou perde sua validade por qualquer outro motivo. Porém, retirando a assinatura, conseqüentemente não aceitando o certificado numa utilização off-line, não poderemos criptografar o texto, mantendo-o assim na sua forma original, o que poderá ser inseguro caso o texto contenha informações sensíveis e permaneça muito tempo nesse estado. A figura 1.5 exemplifica também essa opção de utilização off-line. Figura 1.5 – Mensagem do Outlook para verificação de certificados revogados. Com a observação da revogação, pode-se verificar a validade de uma mensagem assinada digitalmente. Quando essa opção está habilitada, o Outlook Express solicita 30 Capítulo 1 • Fundamentos da infra-estrutura de chave pública informações sobre a identificação digital da autoridade de certificação apropriada. A autoridade de certificação envia de volta informações sobre o status da identificação digital, inclusive se ela foi revogada. As autoridades de certificação mantêm controle dos certificados que já foram revogados por perda ou rescisão. Repare que só há duas opções: ou verificamos a revogação dos certificados quando estamos on-line ou nunca o fazemos. Isso se justifica porque não há como verificar essa informação off-line, ou seja, é necessário estar conectado à Internet para que o Outlook faça uma consulta on-line à autoridade certificadora que emitiu o certificado para poder validá-lo ou não. Software do usuário Como vimos, a infra-estrutura de segurança para os usuários finais tende a ser o mais transparente possível, porque não é recomendável que eles tenham contato com essa infra-estrutura; o ideal é que os serviços da ICP, como integridade, privacidade, autenticação etc., sejam oferecidos como uma camada independente, sem influenciar no dia-a-dia de trabalho deles. As exceções ficam por conta dos Browsers e clientes de e-mail, que, por uma limitação ainda da própria infra-estrutura, delegam algumas decisões aos usuários finais, como aceitar o recebimento de uma mensagem cuja assinatura não confere. Essas decisões e os contatos que os usuários podem ter com a ICP serão mais bem detalhados na Parte III, Utilizando a ICP. Porém, os serviços disponíveis que podem ser oferecidos aos usuários, mas que estão contemplados e assim não garantem total segurança, fazem com que esses usuários procurem ter algum tipo de software para autenticação, conjugado com algum hardware, como leitor de cartões do tipo smartcard ou de biometria, mas esses serviços serão específicos da solução implementada. Outro exemplo é para restringir o acesso a determinados locais fazendo um controle pelo firewall, criando VPNs etc. Cada caso deve ser analisado em particular e pode ou não conter algum tipo de software associado. Do ponto de vista da ICP, não há um software cliente padrão tradicionalmente a como estamos acostumados, com exceção do navegador e do correio eletrônico. Componentes de hardware Como vimos no item anterior, ter acesso à ICP por algum software cliente atende à maioria dos ambientes porque utiliza os serviços básicos oferecidos, porém se quisermos aumentar o nível de segurança, recomendar-se-á algum controle mais forte para os usuários e servidores. 31 Public Key Infrastructure • PKI Um exemplo típico é a utilização de senhas para autenticação. Tal mecanismo tem um sério problema envolvido, o fator humano, porque é o usuário, ou responsável pela comunicação, quem irá estabelecer as senhas, perguntas etc. Qualquer senha tem dois princípios: ou são fáceis de descobrir ou são complexas o bastante para nos esquecermos delas. As senhas são consideradas fáceis porque o usuário as escolheu baseado em alguma informação pessoal, como uma data de aniversário com o nome do filho, ou porque usou uma combinação de caracteres que pode ser descoberta por ataque de força bruta. As senhas complexas tendem a levar o usuário a algumas alternativas para se lembrar delas. Normalmente ele a escreve em uma agenda ou a coloca em cima de sua mesa, ou embaixo do teclado etc. Em todos os casos o esforço será em vão, a menos que tenhamos um mecanismo de geração e validação de senha por hardware, dispositivo que forneça uma senha dinâmica para o usuário e possa acompanhá-lo aonde ele for. Este é o princípio dos tokens, um dispositivo do tamanho de um chaveiro que gera uma seqüência de números, a cada fração de tempo, baseada numa semente. Esse assunto será tratado mais detalhadamente no item Autenticação Forte. Embora muito eficiente, esse esquema peca no custo da solução, uma vez que o token é um dispositivo e será único para cada usuário que irá participar da ICP. Assim sendo, quanto mais usuários conectados, maior o custo da solução como um todo. Por outro lado, o componente de Hardware é muito importante para a ICP, porque o calcanhar de Aquiles da poderosa tecnologia de certificados digitais reside na guarda da chave privativa. O computador em que utilizamos o nosso certificado digital não é o local mais seguro para guardarmos a nossa chave privativa pelas seguintes razões: • O disco local é vulnerável a ataques internos ou externos. • Senhas e PINs estão suscetíveis a serem capturados por programas ou observados ao serem digitados. E, além disso, o usuário é responsável pela criação da senha que irá proteger seu certificado no computador. • O usuário necessitará de backups do certificado (contendo a chave privativa) para caso de perda dos dados do HD. Por essas razões, o local mais adequado para gerarmos e armazenarmos a chave privativa do certificado é num smartcard ou num token. O smartcard é um cartão de plástico que possui um microchip com CPU e memória, assim como a biometria. Ambos os assuntos serão tratados mais detalhadamente no item Autenticação Forte. Os certificados digitais foram criados para permitir que no mundo digital possam ser realizadas as mesmas validações e autenticações tradicionais. Essas operações devem ser feitas de maneira simples e segura para seus usuários. 32 Capítulo 1 • Fundamentos da infra-estrutura de chave pública A utilização de tecnologias como os smartcards aliados à biometria torna o processo mais simples e seguro. Cartões fazem parte do dia a dia de nossas vidas e nada melhor que uma senha biométrica, como por exemplo a íris, que não pode ser esquecida e só você possui. Segurança da chave privada Este assunto é bem delicado e iremos analisá-lo separando o contexto de insegurança, ou descoberta da chave privada, para o usuário final e para as autoridades certificadoras. Como as conseqüências de uma insegurança na chave privada da AC é consideravelmente mais desastrosa que a dos usuários finais, iremos tratar das questões relacionadas com a suspeita de segurança na chave privada da AC no próximo item, Desastre e Recuperação de Chaves, e focaremos daqui em diante a segurança na chave privada dos usuários finais. A segurança da chave privada na ICP recai sobre o usuário final, ou seja, é responsabilidade única e exclusiva do usuário participante da infra-estrutura de chaves públicas gerar o par de chaves e guardar de uma forma confiável a sua parte confidencial. É de responsabilidade da AC a guarda da parte pública e sua distribuição de uma forma segura e eficiente. Dessa forma, assim que um usuário perceber ou suspeitar que sua chave privada esteja comprometida, deverá: • Enviar um pedido de revogação à autoridade apropriada para que algum tipo de nota possa ser enviada a todas as entidades participantes desse processo e estas deverão descontinuar o uso da chave pública correspondente ao usuário. • Se desejar, o usuário deve gerar um novo conjunto de chaves e solicitar um novo certificado para que a comunicação segura continue sendo possível. A primeira ação deve ser tomada com a máxima urgência, porque quanto maior o tempo de sinalização no comprometimento da chave, maior será a janela de oportunidade que a entidade que pegou a chave do usuário terá, e pior, a chave privada dele será aceita porque ninguém sabe que essa chave está em poder de outro usuário. Uma alternativa para minimizar essa janela de tempo e que faz parte da especificação de revogação de certificados é incluir o conceito de tempo estimado de comprometimento no pedido de revogação que será colocado na lista de certificados revogados (LCR). É importante dizer algo como: “Eu descobri que minha chave privada ficou exposta a riscos hoje, porém eu acabei de retornar de férias, logo, esse comprometimento da chave pode ter ocorrido em qualquer momento nos últimos quinze dias. Por favor, revogue o meu certificado digital imediatamente e informe aos usuários que o meu tempo estimado de comprometimento é de quinze dias atrás”. 33 Public Key Infrastructure • PKI A alternativa anterior é muito útil para essa situação de tempo e reduz os riscos a que o usuário ficou exposto, mas, por outro lado, abre um precedente para usuários desonestos. Iremos ver no item Não-repúdio que se esse serviço estiver presente como cláusula contratual, o usuário que enviou a informação não poderá negar que não foi ele quem o fez, porque é gerada uma assinatura digital com base na chave privada do usuário. Mas mesmo com a proteção em contrato, o não-repúdio pode ocorrer se o usuário que assinou determinado documento enviar um pedido de revogação de chave para uma autoridade, dizendo que sua chave ficou exposta há alguns dias. O certificado será revogado e a notificação será emitida com a data que o usuário pediu, e ele não poderá ser acionado judicialmente por repudiar uma assinatura que ele mesmo fez. Uma data estimada de comprometimento pode ser útil e interessante, mas prejudicial se for utilizada desonestamente. Recomenda-se, ao se utilizar o serviço de não-repúdio como cláusula de contrato para validade jurídica, não permitir o uso dessa data e, caso seja usada, desconsiderar essa janela retroativa. A segunda ação do usuário, ou seja, solicitar um novo certificado digital, é opcional, porém normalmente utilizada para permitir que ele continue operando com segurança na ICP. Esse processo de recertificação pode ser automático ou manual e envolver um acesso off-line. Isso dependerá do tipo de certificado e da autoridade certificadora e autoridade de registro correspondente. Desastre e recuperação de chaves Vimos as conseqüências do comprometimento da chave privada para usuários finais, na qual seu certificado e todas as informações assinadas e validadas perdem valor no momento em que o usuário descobre que sua chave ficou exposta por algum motivo. Por outro lado, uma pequena suspeita na chave privada da autoridade certificadora, bem como a perda e a destruição dessa chave, traz conseqüências desastrosas em grande escala. Isso porque a confiança de todo grupo participante da ICP, e esse grupo pode ser grande, é estabelecida com base na confiança da AC, e outro motivo desastroso é que esse grupo utiliza a ICP para transações seguras. Se um usuário conseguir a chave privada de uma AC, ele literalmente se tornará a própria AC, ou seja, pode emitir certificados digitais, com qualquer período de validade, pode criar certificados cruzados com outras ACs, permitindo que os usuários com certificados falsos estabeleçam relações de confiança com usuários que confiam no certificado cruzado etc., ou seja, as implicações de segurança desse comprometimento são extremas. Isso explica porque sempre colocamos esse assunto no contexto de desastre e recuperação de chave. 34 Capítulo 1 • Fundamentos da infra-estrutura de chave pública Notificação da comunidade de ICP Embora esta seja a primeira ação a ser tomada pela AC quando percebe que sua chave ficou exposta ou foi perdida, essa notificação pode não ser possível. Vamos analisar o modelo Web, onde uma AC pode estar pré-configurada no Browser dos usuários. É impossível determinar quais usuários estão usando determinada versão do browser, quantos usuários fizeram download com o certificado da AC comprometido e quais usuários desse universo utilizaram o certificado inválido. Resumindo, não é possível determinar quais usuários devem ser notificados pelo comprometimento da chave privada de uma determinada AC. Em outros ambientes de ICP, mais comportados, como, por exemplo, certificados emitidos para funcionários dentro de uma empresa, ou com empresas parceiras, uma notificação via Lista de Certificados Revogados, do certificado da AC, pode ser útil. Entretanto, essa situação é, no mínimo, constrangedora e requer muita confiança em quem está recebendo a informação de revogação. O usuário que está recebendo a informação sobre a chave privada da AC, que na verdade, é a mesma AC que emitiu o certificado do próprio usuário, está praticamente assinando a revogação do seu próprio certificado, ou seja, o certificado digital do usuário foi emitido pela AC que acabou de notificá-lo que o certificado dela está revogado, conseqüentemente todos os certificados emitidos por ela serão automaticamente revogados. Mas se esse usuário se aproveitar dessa situação e enviar uma informação falsa usando o certificado digital, como se ele não soubesse que seu certificado está inválido? Essa situação é muito delicada e envolve muita confiança entre as entidades participantes da ICP. Uma alternativa para minimizar essa questão é a AC revogar seu certificado e gerar no mesmo momento um novo conjunto de chaves, pública e privada, e um novo certificado, tudo ao mesmo tempo. Utilizar a nova chave privada para assinar o certificado de revogação, o que levará o usuário obrigatoriamente a pegar a nova chave pública da AC para validar a assinatura. Feito isso, o usuário não poderá mais utilizar a chave pública antiga, porque está de posse da nova. Por outro lado, nada garante que o novo conjunto de chaves também não esteja comprometido, caso, por exemplo, a AC tenha utilizado o mesmo diretório do mesmo disco rígido de um servidor que foi invadido, que originou a suspeita de violação da chave privada original. Como mencionado, essa questão é muito delicada e recomenda-se uma divulgação maciça numa superprodução de marketing para disseminar a informação de revogação, para que todos saibam que a chave privada da AC foi destruída ou exposta, mesmo colocando em risco a imagem da AC. 35 Public Key Infrastructure • PKI Preparação A melhor maneira de se preparar para uma catástrofe é tentar garantir que essa tragédia nunca ocorra, portanto toda AC deve tomar todos os passos imaginários para proteger sua chave privada, para que nenhuma forma de comprometimento ou perda seja possível. Um exemplo disso é utilizar um hardware para gerar e guardar a chave privada da AC. Porém, em caso de comprometimento da chave da AC, o que se pode fazer para diminuir um pouco os prejuízos: • Tentar, sempre que possível, notificar todas as entidades dessa revogação. Mesmo para o caso do modelo Web, que essa notificação se torna quase impossível, utilizar todos os esforços possíveis para isso. • Colocar esse certificado de notificação num domínio diferente da AC e encorajar todas as ACs da cadeia de ICP a verificarem a validade de seus certificados nesse domínio. Isso minimiza as conseqüências, porque a maioria dos softwares fazem essa validação automaticamente, sem intervenção do usuário. Um exemplo típico é o protocolo de status on-line de certificados (OCSP), que é usado quando o emissor do certificado disponibiliza informação sobre revogação do certificado on-line. • Implementar, sempre que possível, a alternativa de se gerar um novo conjunto de chaves, pública e privada, e forçar que o usuário pegue a nova chave privada para validar a informação de revogação, porque na grande maioria dos casos esse processo é automático, o que inviabiliza o usuário a tentar fazer besteiras com o seu próprio certificado. Não é difícil imaginar que a recomendação mais importante é dedicar um tempo significativo a essa questão de preparação, o que deve ser feito no caso de perda da chave privada e nas ações que a AC deve tomar. Recuperação Uma forma de recuperação da chave privada da AC é verificar se ela entregou uma cópia de sua chave a outra entidade, normalmente uma empresa que presta esse serviço de guarda de chave, também conhecido como escrow. Porém isso não é permitido na ICP-Brasil, ou seja, só pode haver uma única chave privada da AC sob sua responsabilidade. Dessa forma, podemos afirmar que não há nenhuma forma de recuperação de chave privada se a chave da AC foi comprometida. Nada que foi assinado pela AC tem mais valor, e isso inclui o certificado digital da AC e a lista de certificados revogados. Se essa chave também foi utilizada para assinar os documentos da ICP, como política de certificação, declaração de práticas de certificações etc., esses documentos também não terão mais valor. 36 Capítulo 1 • Fundamentos da infra-estrutura de chave pública Nessa situação de crise, o único caminho a seguir é a AC criar um novo conjunto de chaves, instalar a cópia dessa nova chave pública num local seguro para que todas as entidades da ICP possam recuperar a nova chave pública e nenhum mecanismo envolvendo a chave comprometida deve ser utilizado, ou seja, a ICP deve reconstruir essa AC como se fosse uma nova AC, como se ela nunca tivesse existido. Serviços disponíveis com a utilização da ICP Além dos serviços oferecidos com a utilização da ICP, que fazem parte da própria infra-estrutura, mesmo que não se use, existem outros serviços disponíveis que podem ser habilitados, ou seja, esses serviços não são herdados automaticamente da infra-estrutura, eles são construídos utilizando a ICP. Veremos, a seguir, alguns desses serviços e como eles são utilizados. Segurança na comunicação Podemos definir segurança na comunicação como uma transmissão de dados partindo de um ponto de origem para um de destino, com uma ou mais propriedades de segurança, como autenticidade, privacidade e integridade. Esses serviços fazem parte do conjunto oferecido pela ICP, porém a utilização deles com algum protocolo de comunicação ou de rede pode criar extensões ou aprimoramentos de outros serviços e, dessa forma, serão qualificados como serviços disponíveis. Alguns exemplos mais utilizados: • Segurança em e-mail, utilizando o protocolo S/MIME (Secure Multipurpose Internet Mail). • Segurança em servidores Web, utilizando o protocolo TLS (Transport Layer Security). • Segurança em rede privada virtual (VPN), utilizando o protocolo IPSec/IKE (IP Security/Internet Key Exchange). Segurança em e-mail, por exemplo, é possível ao utilizarmos a ICP para criptografar as informações e assinar digitalmente, gerando um resultado no formato do S/MIME. Essa mensagem é, então, enviada pela Internet sem comprometer a autenticidade, integridade e privacidade dos dados. Carimbo de tempo seguro Mais conhecido como Time Stamping, consiste na geração de uma marcação de tempo, emitido por uma autoridade de tempo confiável, para uma determinada informa- 37 Public Key Infrastructure • PKI ção, com as propriedades de autenticidade dessa autoridade e integridade desse tempo gerado. Essa marca de tempo, ou temporalidade, é obtida com o chamado carimbo de tempo produzido pela entidade denominada Protocolizadora Digital de Documentos Eletrônicos (PDDE). O carimbo de tempo emitido pela PDDE é obtido mediante um processo pelo qual são anexadas a data e a hora de protocolação a um documento. Essas data e hora devem condizer com a data e a hora correntes, de modo a garantir que aquele documento foi protocolado em um determinado momento no tempo. A PDDE pode não ser obrigatória para esse serviço. Uma alternativa seria ter um tempo confiável e seguro em cada entidade do ambiente da ICP. Na prática, isso é muito difícil de conseguir, porque teríamos de garantir um tempo confiável em cada estação de cada usuário da infra-estrutura. Dessa forma, o uso de uma autoridade, de preferência única do ambiente, de protocolação resolve esse problema de distribuição do carimbo de tempo confiável a todos os participantes. A datação eletrônica garante a integridade, o não-repúdio, a temporalidade e a autenticidade do equipamento. Essa marca de tempo é diferente da assinatura digital da mensagem, porque não garante a autenticidade da autoria de um determinado documento e também porque a assinatura digital não traz evidências temporais. Detalhando um pouco mais o processo de protocolização, ele se inicia com a geração do resumo criptográfico do documento, utilizando uma função de hash. Esse processo é realizado pelo próprio usuário ou por um sistema aplicativo. O hash é enviado para a PDDE, que requisita a servidores de tempo externos uma data e hora confiáveis. Ocorre, então, a protocolização do documento eletrônico, gerando um recibo eletrônico assinado digitalmente pela PDDE, com a data e a hora de protocolização acrescidas de um número seqüencial. O recibo é, então, enviado ao usuário ou ao sistema aplicativo. Por não ser necessário enviar o documento original para a protocolizadora digital, e, sim, o seu resumo criptográfico, garante-se assim a privacidade do documento. Os sistemas de datação podem ser divididos em três gerações: • 1a. Geração: Absoluta – Consiste em adicionar ao documento a data e a hora absoluta em que este foi submetido à datação. Esse tipo de datação é vulnerável, pois se alguém desejar trocar a ordem temporal entre dois documentos não seria detectado, já que não existe relação de dependência entre os documentos datados. • 2a. Geração: Relativa – Este tipo de datação não se baseia na data e hora correntes, mas no relacionamento entre os documentos. O relacionamento se baseia em funções de sentido único. Nesse tipo de datação não se sabe em que momento do 38 Capítulo 1 • Fundamentos da infra-estrutura de chave pública tempo um documento foi protocolado, mas é possível verificar entre dois deles qual foi protocolado primeiro. Se alguém desejar trocar a ordem temporal entre dois documentos, isto seria facilmente detectado, pois os documentos subseqüentes ao que teve sua data alterada não seriam mais dependentes dos anteriores no encadeamento. Por outro lado, não é possível saber com precisão o momento exato em que determinado documento foi datado. • 3a. Geração: Híbrida – Este é o método mais confiável, porque consiste na adoção dos dois tipos de datação citados anteriormente. Assim, além da datação absoluta, com a data e hora oficiais, acrescenta-se o encadeamento entre os documentos. O método da árvore sincronizada, por exemplo, implementa o sistema de datação de terceira geração. Os recibos emitidos por essa PDDE são autoverificáveis, pois parte da cadeia de protocolização é armazenada no próprio recibo. Assim, para resolver a disputa entre dois recibos, basta comparar a árvore contida dentro deles. Com a PDDE é possível comprovar quando exatamente uma transação ocorreu, como compras, pagamentos, solicitações, envio de informações, entre outros, tornando-a uma excelente ferramenta para registrar o fator tempo nas transações eletrônicas de forma confiável e segura para as organizações. É importante ressaltar que para que esse ambiente funcione adequadamente, é necessário que todos confiem na autoridade de tempo e que a chave pública dessa autoridade seja conhecida por todos e, se por algum motivo a chave dessa autoridade não for validada, todos os carimbos de tempo produzidos por ela devem ser reconhecidos como inválidos também. Não-repúdio O não-repúdio evita que um dos participantes da comunicação negue que esta tenha ocorrido. Isso não significa que os participantes tendem a não repudiar, mas, sim, que é fácil provar que o repúdio é falso. O não-repúdio acontece quando uma determinada mensagem eletrônica, seja de que teor for, adquire força de “aceitação” e efeitos jurídicos concretos, sem possibilidade de uma das partes alegar que não participou do negócio. Isto quer dizer que o nãorepúdio é uma cláusula que, inserida no contrato, desde que este esteja cercado da devida segurança, torna impossível anular um contrato alegando a insegurança do meios de comunicação, como é o caso da Internet. Assim, podemos definir o não-repúdio como uma qualidade de determinada relação por meio da qual as partes são protegidas de uma alegação de inexistência, o que representa que a figura está presente para produzir efeitos legais nos contratos feitos por meio do computador. 39 Public Key Infrastructure • PKI Sozinho, o não-repúdio não torna o negócio definitivo do ponto de vista legal. Se no plano dos negócios reais existe a possibilidade da desistência do contrato e do pagamento de multas pela inadimplência, há evidências de que também isso poderá ocorrer nas transações on-line. O que o não-repúdio traz de novo é quase um seguro contra a alegação de que o negócio não foi feito e a certeza de que se houver uma disputa judicial, a cláusula será uma garantia para as partes. Essa nova figura afirmará definitivamente a eficácia dos contratos feitos por computador e certamente implementará uma política de apoio aos negócios on-line. Entretanto, para que o não-repúdio atenda às premissas jurídicas, servindo como instrumento legal, é necessário que se comprovem as assinaturas digitais dos participantes no contrato firmado. Simplificando ao máximo as questões técnicas, podemos dizer que essa assinatura é realizada por meio da chave privada que tem sinergia com a chave pública contida em um certificado digital. Se o certificado digital for revogado, não importando para essa análise o motivo, o conjunto de chaves, pública e privada, perde seu valor do ponto de vista operacional, ou seja, essas chaves não mais serão usadas em novos contratos, porém os estabelecidos antes de sua data de revogação continuarão valendo e, para provar essas assinaturas, é necessário que se mantenha um histórico desses certificados como garantia jurídica em contratos antigos. Esse é o foco de maior impacto no que diz respeito a provas legais para contratos firmados: se as assinaturas manuscritas são eternas e sua originalidade poderá ser verificada a qualquer momento, já as digitais precisam que seus respectivos certificados sejam guardados em um local seguro por tempo indeterminado para que possam servir de provas concretas. Gerência de privilégios Os certificados podem ser usados para garantir a identidade de um usuário e também estabelecer privilégios que foram concedidos a ele. Os privilégios podem incluir autorização para o acesso a informações sigilosas ou para modificar arquivos em um servidor Web, além de outros. Políticas, também conhecidas como regras, devem ser definidas para entidades individuais ou grupos de entidades. Essas políticas definem o que essas entidades ou grupos podem ou não fazer, ou a que ter acesso. A gerência de privilégios é a criação e garantia dessas políticas, que permite ou restringe o acesso das entidades ao ambiente de trabalho, mantendo o nível de segurança definido pela empresa. 40 Capítulo 1 • Fundamentos da infra-estrutura de chave pública Recuperação de chaves Recuperação de chaves é um assunto polêmico que requer várias observações. Na visão de uma empresa se a chave pública do usuário for perdida, ela deverá possuir meios de conseguir recuperar os dados que foram protegidos pelo funcionário, o que só pode ser conseguido mediante a recuperação da chave de criptografia. Podemos imaginar várias razões para a recuperação da chave. Por exemplo, o esquecimento por parte do funcionário da senha que usou para proteger um arquivo, a morte de um funcionário que tenha criptografado alguma informação da empresa. Para assegurarmos o recurso de recuperação de informações cifradas, as chaves de criptografia devem possuir cópias que estejam armazenadas de forma segura. Todavia, notem que as chaves usadas para as assinaturas digitais não devem possuir cópias de segurança porque, dessa forma, garantiremos que a ICP poderá fornecer o serviço de irretratabilidade (não-repúdio). Se uma outra pessoa possuir uma cópia da chave de assinatura de um usuário, ela poderá alegar que alguém utilizou sua chave para contestar um documento. Se um usuário perder a sua chave de assinatura, uma nova chave com seu certificado associado poderá ser gerada facilmente. A ICP deve poder rastrear a posse da chave por parte do usuário, mas não copiá-la. Veremos mais detalhadamente na Parte II que a chave de criptografia utilizada para dar privacidade à informação é composta de duas chaves ou par de chaves, sendo uma pública compartilhada por todos e presente no certificado digital e outra privada, única e exclusiva do proprietário deste. As duas chaves, privada e pública, são geradas pelo usuário por meio de algum software específico. A chave pública é enviada, de uma forma segura, para a AC e a privada fica sob responsabilidade do dono do certificado. 41