TLS Autenticado por Senha via OPAQUE e Autenticação Pós-Handshake
Resumo
OPAQUE é um protocolo de troca de chaves autenticadas por senha assimétrica (aPAKE) que está sendo padronizado pela IETF (Força-Tarefa de Engenharia da Internet) como uma alternativa mais segura ao mecanismo tradicional de "senha sobre TLS" prevalente na prática atual. OPAQUE defende contra uma variedade de vulnerabilidades de senha sobre TLS, eliminando a dependência de PKI e segurança TLS, e garantindo que a senha nunca seja visível aos servidores ou a qualquer outra pessoa, exceto à máquina cliente onde a senha é inserida. Para facilitar o uso de OPAQUE na prática, é necessária a integração de OPAQUE com TLS. A principal proposta para padronizar essa integração utiliza o mecanismo de Autenticadores Exportados (TLS-EA) do TLS 1.3, que suporta autenticação pós-handshake e permite uma composição suave com OPAQUE. Nos referimos a essa composição como TLS-OPAQUE e apresentamos uma análise de segurança detalhada para ela no quadro de Composabilidade Universal (UC).
Nosso tratamento é geral e inclui a formalização de componentes necessários na análise de TLS-OPAQUE, mas que têm uma aplicabilidade mais ampla, pois são usados em muitos protocolos na prática. Especificamente, fornecemos formalizações no modelo UC das noções de autenticação pós-handshake e vinculação de canal. A última, em particular, tem sido difícil de implementar de forma segura na prática, resultando em múltiplos falhas de protocolo, incluindo ataques importantes contra versões anteriores de TLS. O nosso é o primeiro tratamento dessas noções em um modelo computacional com garantias de composabilidade.
Complementamos o trabalho teórico com uma discussão detalhada de considerações práticas para o uso e implantação de TLS-OPAQUE em configurações e aplicações do mundo real.