Certificados digitais: Eles funcionam?

O emblema mais óbvio da segurança na Internet é o o ícone de “cadeado”.. O cadeado indica que o site tem o apoio de um certificado digital:

  1. Este site é o verdadeiro negócio, não é uma farsa criada por criminosos para enganar o senhor.
  2. Todos os dados entre seu navegador e esse site são enviados criptografados. Ninguém no meio pode ler as informações confidenciais que o senhor envia para esse site, como o número do seu cartão de crédito.

Esta é a aparência do PayPal no Internet Explorer 7. O ícone de cadeado e o fundo verde da barra de endereços nos informam que esse site é respaldado por um certificado digital. Clicar no cadeado fornece detalhes adicionais sobre o certificado.

Informações sobre o certificado no Internet Explorer 7

Aqui está o PayPal no Firefox 2, que segue as mesmas convenções. A cor da barra de endereço muda e o ícone de cadeado está presente. Clicar no cadeado produz uma caixa de diálogo com informações resumidas semelhantes.

Informações sobre certificados no Firefox 2.0

O resumo é bastante razoável. A instituição de autoridade de certificação, VeriSign, atesta que esse site é de fato o PayPal. Uma dúvida que sempre tive, no entanto, é a seguinte: Quem decidiu que a VeriSign é uma autoridade confiável? Há algum tipo de lista de permissões incorporada ao IE e ao Firefox que abençoa essas autoridades de certificação com o status de “raiz”. De acordo com a Wikipedia, uma pesquisa de 2007 identificou 6 autoridades certificadoras principais:

  1. VeriSign (57,6%)
  2. Comodo (8,3%)
  3. GoDaddy (6,4%)
  4. DigiCert (2,8%)
  5. Network Solutions (1,3%)
  6. Entrust (1,1%)

O negócio de autoridade de certificação sempre me pareceu uma relação estranha, porque é totalmente comercial e superficial. Entregue seus US$ 300 e US$ 2.500, alguma prova nominal de sua identidade, e o senhor recebe um certificado por um ano. Isso implica confiança? Não sou a única pessoa a compartilhar essas preocupações; Bruce Schneier tem um excelente whitepaper que examina os riscos das autoridades de certificação e da infraestrutura de chaves públicas:

Os certificados oferecem um modelo de negócios atraente. Eles não custam quase nada para serem produzidos e, se o senhor conseguir convencer alguém a comprar um certificado todos os anos por US$ 5, esse valor multiplicado pela população da Internet representa uma grande receita anual. Se conseguir convencer alguém a comprar uma AC privada e pagar-lhe uma taxa por cada certificado que ela emitir, o senhor também estará em boa situação. Não é de se admirar que tantas empresas estejam tentando lucrar com esse mercado em potencial. Com tanto dinheiro em jogo, também não é de se admirar que quase toda a literatura e o lobby sobre o assunto sejam produzidos pelos fornecedores de PKI. E essa literatura deixa algumas perguntas básicas sem resposta: Afinal, para que servem os certificados? Eles são
seguros? Para que servem? Neste ensaio, esperamos explorar algumas dessas questões.

O outro problema com os certificados é que, como usuário final, é quase impossível distinguir um certificado bom e válido fornecido por uma autoridade certificadora respeitável de um certificado ruim. Se clicarmos para examinar os detalhes do certificado do PayPal, veremos estas três abas densas:

Caixa de diálogo do certificado: Geral

Diálogo de certificado: Detalhes

Diálogo de certificado: Caminho

Não sei quanto ao senhor, mas nada disso faz sentido para mim. E eu sou um programador. Imagine o pobre usuário final tentando entender isso. O que tudo isso significa? É claro que a maioria dos usuários simplesmente não prestará atenção – é questionável se eles sequer notarão o a presença do ícone de cadeado e a diferença de cor na barra de endereços.

Os certificados não são apenas para sites; eles também podem ser aplicados a executáveis. Veja o que acontece quando clico duas vezes no instalador beta do Safari 3.0.4. Ele foi assinado pela Apple usando seu certificado digital.

Abrir arquivo - Aviso de segurança

Clicar na palavra “Apple” abre informações detalhadas sobre o certificado. Novamente, o que tudo isso significa? Como podemos saber se ele é válido?

Detalhes da assinatura digital: Geral

Detalhes da assinatura digital: Avançado

Entendo o valor dos certificados digitais em teoria – para estabelecer definitivamente a identidade de um programa ou site antes de confiar seus dados a ele. Considere um análogo no mundo real. E se eu fosse até o senhor na rua e lhe dissesse que sou um policial? O senhor poderia verificar se estou usando um uniforme adequado. O senhor poderia pedir para ver meu distintivo. O senhor poderia perguntar onde está meu parceiro ou meu carro de patrulha. Usamos todas essas coisas para julgar a autenticidade das interações humanas.

No entanto, não entendo como a atual infraestrutura de certificados digitais impede que os criminosos obtenham seus próprios certificados com facilidade. Mesmo que eu possa falsificar o distintivo e o uniforme de um policial no mundo real, isso não é nada comparado à facilidade trivial com que o obter um certificado digital para assinatura de código do TuCows:

  • Criar uma conta no Tucows
  • Comprar um certificado ($300)
  • Envie sua carteira de motorista por e-mail
  • Faça o download do certificado
  • Exporte seu certificado da máquina e armazene-o em um local seguro
  • Obtenha o signtool.exe do SDK do .NET 2.0
  • Assine seu binário usando o certificado da etapa 4

Se a única validação for uma cópia de uma carteira de motorista enviada por e-mail, isso não me deixa muito feliz. E mesmo se melhorarmos isso com (mais caro, naturalmente) “validação estendida”Não consigo ver como isso impediria que um criminoso determinado e cheio de recursos obtivesse o certificado de que precisasse.

Suponho que os certificados digitais sejam melhores do que nada. Mas também me preocupo com o fato de eles serem incrivelmente confusos para o usuário final, fáceis de burlar e, em última análise, proporcionarem uma falsa sensação de segurança – e esse é o risco mais perigoso de todos.