Cloudflare Research
publicação
2023

Portunus: Reimaginando o controle de acesso em sistemas distribuídos

Detalhes

2023 USENIX Annual Technical Conference (USENIX ATC 23), pp. 35-52, Boston, MA, 2023.

Resumo

A terminação do TLS, essencial para provedores de infraestrutura de rede e segurança, é uma operação extremamente sensível à latência que se beneficia do acesso a material de chave sensível próximo à borda. No entanto, as crescentes preocupações regulatórias levam os clientes a exigir controles sofisticados sobre onde suas chaves podem ser acessadas. Embora as soluções tradicionais de controle de acesso dependam de um processo centralizado altamente disponível para impor o acesso, a latência de ida e volta e a tolerância a falhas reduzida tornam essa abordagem pouco atraente. Além disso, o nível desejado de controle do cliente está em desacordo com a customização do processo de distribuição para cada chave. Para resolver esse dilema, projetamos e implementamos o Portunus, um sistema de armazenamento criptográfico e controle de acesso construído usando uma variante de criptografia de chave pública chamada criptografia baseada em atributos (ABE). Usando o Portunus, as chaves TLS são protegidas usando ABE sob uma política escolhida pelo cliente. Cada servidor recebe chaves ABE únicas com base em seus atributos, permitindo que ele decifre apenas as chaves TLS para as quais ele atende à política. Assim, as chaves criptografadas podem ser armazenadas na borda, com o controle de acesso imposto passivamente por meio da ABE. Se um servidor recebe uma conexão TLS, mas não está autorizado a decifrar a chave TLS necessária, a solicitação é encaminhada diretamente para o servidor autorizado mais próximo, evitando ainda mais a necessidade de um coordenador centralizado. Em comparação, uma instância trivial desse sistema usando criptografia de chave pública padrão pode envolver cada chave TLS com a chave de cada centro de dados autorizado. No entanto, essa estratégia multiplica a sobrecarga de armazenamento pelo número de centros de dados. Implementamos o Portunus na rede global da Cloudflare, com mais de 400 centros de dados. Nossas medições indicam que podemos lidar com milhões de solicitações por segundo globalmente, tornando-o um dos maiores implantações de ABE.