Simple Science

Ciência de ponta explicada de forma simples

# Informática# Criptografia e segurança

Abordando Riscos em Autoridades Certificadoras Automatizadas

Nova prova de autenticação melhora a segurança na emissão de certificados.

― 9 min ler


Renovando os CAsRenovando os CAsAutomáticosidentidade digital.Aumentando a segurança na gestão da
Índice

As autoridades certificadoras automatizadas (CAs) têm um papel importante na segurança da internet. Elas emitem certificados digitais que verificam a identidade de sites e softwares. Quando uma CA emite um certificado, isso indica que o portador tem controle sobre uma identidade digital específica. Esse processo ajuda os usuários a confirmarem que estão se comunicando com a entidade certa.

Com o passar dos anos, o crescimento das CAs automatizadas facilitou a obtenção desses certificados para pessoas e organizações, especialmente para atividades como navegação na web e assinatura de software. No entanto, essa conveniência vem acompanhada de riscos. Se uma CA for comprometida, ela pode emitir certificados que imitam outras identidades, o que pode levar a brechas de segurança.

Os Riscos das CAs Automatizadas

Uma das principais preocupações com as CAs automatizadas é que elas podem emitir certificados com base na autenticação do usuário. Por exemplo, ao usar o OpenID Connect (OIDC), um tipo de protocolo de verificação de identidade, uma CA poderia emitir um certificado após confirmar a identidade de um usuário. Essa dependência das CAs automatizadas coloca os usuários em risco, porque se uma CA for hackeada, ela pode imitar qualquer usuário que tenha obtido um certificado por meio dela.

Embora existam medidas como a Transparência de Certificados que visam mitigar esses riscos ao tornar todos os certificados emitidos públicos, isso só serve para dificultar, mas não impossibilitar, ataques. Alguns pesquisadores sugeriram alternativas ao modelo atual de CA. No entanto, essas alternativas podem exigir mudanças significativas nos sistemas existentes, o que pode não ser viável.

Solução Proposta: Provas de Autenticação

Para lidar com as questões relacionadas à confiança nas CAs automatizadas, foi proposta uma nova técnica chamada "provas de autenticação". Essa técnica permite que uma CA mostre que emitiu um certificado com base em um evento de autenticação válido, sem risco de ataques de repetição, onde um ator malicioso poderia usar um token antigo para se passar por um usuário.

O método proposto envolve a CA incorporando uma prova especial de autenticação no certificado. Essa prova ajuda a garantir que a CA realmente verificou a identidade de um usuário antes de emitir o certificado. O equilíbrio entre a privacidade do usuário, o desempenho e a necessidade de mudanças mínimas nos sistemas existentes é um aspecto chave dessa abordagem.

O Papel do OpenID Connect

O OpenID Connect é um protocolo amplamente utilizado que permite que os usuários autentiquem sua identidade online. Quando os usuários fazem login em um serviço usando OIDC, eles recebem um token assinado que pode ser verificado por outros serviços para validar sua identidade. O desafio vem do uso desse token de uma forma que permita que as CAs automatizadas emitam certificados sem comprometer a segurança.

Usando OIDC, as CAs automatizadas podem simplificar o processo de obtenção de certificados digitais. Serviços como o Let's Encrypt já deram grandes passos nesse espaço ao facilitar e disponibilizar gratuitamente certificados TLS para sites. A introdução de um processo de prova de autenticação pode adicionar uma camada extra de segurança a esse modelo.

A Importância dos Formatos de Certificado

As CAs emitem certificados em vários formatos, sendo o X.509 um dos mais comuns. Esse formato permite extensões, que permitem que os emissores incluam dados adicionais no certificado. A integração da prova de autenticação nesse formato seria crucial para fazer a solução proposta funcionar sem problemas.

Funções da Autoridade Certificadora

As CAs desempenham funções essenciais em uma infraestrutura de chave pública (PKI) ao emitir certificados que verificam identidades. As CAs automatizadas agilizam esse processo ao reduzir a necessidade de verificações manuais caras e demoradas. No entanto, a confiança depositada nessas CAs pode levar a problemas se forem comprometidas por atacantes.

Construindo o Sistema de Prova de Autenticação

O sistema proposto consiste em várias partes: o solicitante, o provedor de identidade (IdP), a autoridade certificadora (CA), o registro de transparência de certificados (CTL) e o verificador. O solicitante busca um certificado, o IdP autentica o solicitante e a CA emite o certificado. O CTL registra todos os certificados emitidos, e o verificador checa os certificados quanto à autenticidade.

Ao introduzir a prova de autenticação, a CA pode garantir que só emite certificados em resposta a eventos de autenticação legítimos. Isso impede que certificados não autorizados sejam emitidos por uma CA comprometida, aumentando assim a segurança.

O Processo de Solicitação de Certificado

Para obter um certificado, um usuário primeiro gera um par de chaves e autentica com o IdP para receber um token. Esse token é então apresentado à CA junto com a chave pública para verificação. Se o token for válido, a CA emite um certificado que vincula a identidade do solicitante à sua chave pública. Esse processo permite assinaturas de longo prazo, permitindo que o usuário assine documentos de forma segura.

Gerenciando Chaves Públicas

Um desafio com o OIDC é que as chaves públicas usadas para verificar tokens podem mudar frequentemente. Para resolver esse problema, é introduzido um novo componente chamado JWK Ledger. Esse livro-razão mantém um registro público e à prova de adulteração das chaves de verificação do IdP, permitindo que os verificadores chequem as chaves corretas mesmo após terem sido rotacionadas.

Verificando Certificados

Ao verificar um certificado, o verificador checa vários elementos. Ele deve garantir que o certificado corresponda ao certificado raiz da CA e verificar sua validade usando as chaves públicas armazenadas no JWK Ledger. Esse processo de verificação é essencial para manter a integridade do sistema de certificados.

Abordando Preocupações de Segurança

Os principais objetivos do sistema proposto são garantir que um atacante não possa criar certificados válidos sem um token legítimo e eliminar o risco de ataques de repetição. O mecanismo de prova de autenticação atua como uma salvaguarda contra ambas as ameaças.

Ao utilizar um mecanismo de prova de conhecimento mais eficiente em vez de abordagens ingênuas, o sistema proposto pode impedir a emissão não autorizada de certificados enquanto minimiza a sobrecarga de performance. Técnicas como assinaturas de Guillou-Quisquater podem ser empregadas para alcançar isso.

Prevenindo Certificados Autoassinados

Uma questão que surge é se a confiança na CA pode ser completamente eliminada. Embora seja importante que uma CA confiável emita a prova de autenticação, é necessário garantir que os usuários não possam criar certificados autoassinados enganosos usando a prova obtida de uma CA legítima.

Procedimentos de Emissão de Certificados

Quando uma CA recebe um pedido de certificado, ela deve validar o token de autenticação associado de acordo com as especificações do OIDC. Um processo de validação bem-sucedido leva a CA a criar um certificado que inclui a prova de autenticação junto com as informações do usuário.

O Papel do JWK Ledger

O JWK Ledger desempenha uma função vital ao garantir que as chaves de verificação para um IdP estejam disponíveis após suas rotações. Isso permite que os usuários verifiquem a autenticidade dos tokens OIDC mesmo após as chaves de assinatura terem mudado.

Passos de Verificação do Cliente

Para verificar um certificado de forma eficaz, o verificador deve seguir um conjunto claro de etapas. Ele deve confirmar a validade do certificado, bem como a autenticidade do token usado em sua emissão. Isso envolve checar as chaves públicas contra as entradas no JWK Ledger e validar a prova de autenticação.

Analisando a Segurança

Com a introdução da prova de autenticação, as propriedades de segurança desse sistema melhoram significativamente. O design garante que apenas tokens válidos possam resultar em um certificado aceito, enquanto previne ataques de repetição.

Embora o comprometimento do IdP leve a uma falha de segurança grave, o comprometimento de outras partes individuais não permitiria que atacantes forjassem certificados ou abusassem dos tokens OIDC na maioria dos casos. O design do sistema visa manter medidas de segurança robustas enquanto possibilita uma integração e verificação sem costura.

Abordando Preocupações de Privacidade

Embora a solução melhore a segurança, pode introduzir questões de privacidade ao expor partes dos tokens OIDC. Deve-se ter cuidado para proteger informações sensíveis, garantindo que a integração da prova de autenticação não exponha inadvertidamente dados dos usuários.

Considerações de Implementação

Uma implementação de prova de conceito do sistema proposto demonstra sua viabilidade. Embora possa exigir linhas adicionais de código para integrar o mecanismo de prova de conhecimento, os benefícios de segurança aumentada são claros. Implementações futuras poderiam aproveitar bibliotecas compartilhadas para funções criptográficas a fim de reduzir redundâncias.

Desafios na Implementação

Apesar da simplicidade teórica de adotar o novo sistema, a implementação no mundo real pode apresentar desafios. Muitos provedores de identidade operam em protocolos ligeiramente diferentes, o que pode dificultar a integração. A utilização de ferramentas como o Dex pode ajudar a suavizar as diferenças de compatibilidade.

Conclusão

A introdução da prova de autenticação oferece uma solução promissora para os desafios enfrentados pelas CAs automatizadas. Essa técnica permite que os usuários verifiquem certificados enquanto minimizam a confiança nas próprias CAs. Ao construir sobre protocolos existentes como o OIDC e integrar recursos como o JWK Ledger, o sistema busca melhorar a segurança e confiabilidade dos certificados digitais em um mundo cada vez mais dependente da automação para verificação de identidade.

O método proposto não só oferece uma nova maneira de fortalecer a segurança, mas também abre espaço para mais inovações na gestão de certificados. Futuras melhorias poderiam aumentar a eficácia da assinatura automatizada enquanto abordam preocupações relacionadas à privacidade e experiência do usuário.

Fonte original

Título: Reducing Trust in Automated Certificate Authorities via Proofs-of-Authentication

Resumo: Automated certificate authorities (CAs) have expanded the reach of public key infrastructure on the web and for software signing. The certificates that these CAs issue attest to proof of control of some digital identity. Some of these automated CAs issue certificates in response to client authentication using OpenID Connect (OIDC, an extension of OAuth 2.0). This places these CAs in a position to impersonate any identity. Mitigations for this risk, like certificate transparency and signature thresholds, have emerged, but these mitigations only detect or raise the difficulty of compromise. Researchers have proposed alternatives to CAs in this setting, but many of these alternatives would require prohibitive changes to deployed authentication protocols. In this work, we propose a cryptographic technique for reducing trust in these automated CAs. When issuing a certificate, the CAs embed a proof of authentication from the subject of the certificate -- but without enabling replay attacks. We explain multiple methods for achieving this with tradeoffs between user privacy, performance, and changes to existing infrastructure. We implement a proof of concept for a method using Guillou-Quisquater signatures that works out-of-the-box with existing OIDC deployments for the open-source Sigstore CA, finding that minimal modifications are required.

Autores: Zachary Newman

Última atualização: 2023-07-16 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2307.08201

Fonte PDF: https://arxiv.org/pdf/2307.08201

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Artigos semelhantes