0Pricing
Cryptology Academy · Aula

Protocolos PAKE e suas propriedades

Conheça a família de protocolos de troca de chaves autenticada por senha, incluindo OPAQUE e SPAKE2.

Protocolos PAKE e suas propriedades é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Introdução à família PAKE

A Troca de Chaves Autenticada por Senha (PAKE) é uma família de protocolos que permite que duas partes que compartilham apenas uma senha de baixa entropia estabeleçam uma chave de sessão de alta entropia com autenticação mútua. Ao contrário da autenticação tradicional por senha, a PAKE oferece sigilo de encaminhamento e resistência a ataques de dicionário off-line sem transmitir a senha.

PAKE balanceada versus aumentada

A PAKE balanceada (B-PAKE) trata as duas partes de forma simétrica: tanto o cliente quanto o servidor possuem o mesmo segredo (a senha ou uma transformação simétrica dela). A PAKE aumentada (A-PAKE) é assimétrica: o servidor possui apenas um verificador público derivado da senha, fazendo com que o comprometimento do servidor não seja catastrófico para a segurança do cliente.

Protocolo SPEKE

A Troca Exponencial Simples de Chaves por Senha (SPEKE) é uma PAKE balanceada na qual as duas partes usam a senha para definir um gerador de grupo g = H(password). A troca subsequente é uma troca de chaves Diffie-Hellman que usa esse gerador derivado da senha, garantindo que apenas as partes que conhecem a senha consigam concluí-la.

Protocolo J-PAKE

A Troca de Chaves Autenticada por Senha com Embaralhamento (J-PAKE), RFC 8236, usa provas de conhecimento zero para permitir que duas partes estabeleçam uma chave de sessão a partir de uma senha compartilhada. O J-PAKE é usado no Thread (protocolo de rede da Internet das Coisas) e foi implementado no OpenSSL. Ele não é coberto por patentes e oferece propriedades de PAKE balanceada.

OPAQUE: PAKE assimétrica

O OPAQUE (um rascunho do IETF, draft-irtf-cfrg-opaque) é uma PAKE aumentada com propriedades de segurança fortes. Durante o registro, o cliente usa uma PRF obliviosa (OPRF) para derivar uma chave a partir da senha sem que o servidor conheça a senha. O servidor armazena um envelope criptografado contendo a chave privada do cliente.

Fase de autenticação do OPAQUE

Durante a autenticação com OPAQUE, o cliente e o servidor executam um protocolo OPRF para reconstruir a chave do cliente sem que o servidor conheça a senha. Em seguida, o cliente usa essa chave para descriptografar o envelope e recuperar as credenciais necessárias para concluir uma troca de chaves. O servidor nunca vê a senha em nenhuma etapa.

Resistência do OPAQUE à pré-computação

O OPAQUE oferece resistência à pré-computação: mesmo que um atacante comprometa o servidor e obtenha todos os dados armazenados, não poderá realizar um ataque de dicionário off-line sobre os valores armazenados sem simular uma nova interação OPRF para cada tentativa. Essa é uma garantia mais forte do que a oferecida pelo SRP.

SPAKE2 e SPAKE2+

O SPAKE2 (RFC 9382) é uma PAKE balanceada simples, baseada em Diffie-Hellman com chaves públicas ofuscadas pela senha. O SPAKE2+ é a variante aumentada, na qual o servidor armazena valores separados para os papéis de cliente e servidor. A Apple usa o SPAKE2+ no HomeKit para emparelhar dispositivos, e ele é usado em vários protocolos de configuração inicial de dispositivos da Internet das Coisas.

PAKE CPace

O CPace (componente da RFC 9380) é uma PAKE composável projetada por Haase e Labrique e adotada como a PAKE balanceada padrão do IETF. O CPace foi projetado para ser composto com etapas posteriores de confirmação de chave e é recomendado para uso em novos protocolos que precisem de PAKE balanceada. Ele é a B-PAKE selecionada pelo CFRG ao lado do OPAQUE como A-PAKE.

Comparação das propriedades de segurança das PAKEs

Todas as PAKEs oferecem autenticação e estabelecimento de chaves. As A-PAKEs também oferecem resistência ao comprometimento do servidor. O OPAQUE oferece resistência à pré-computação além da resistência ao comprometimento do servidor. O FIDO2 oferece vinculação à origem, o que impede fraudes por sites falsos. A escolha depende de ser necessária a autenticação baseada em senha ou de ela poder ser substituída por credenciais de chave pública.

Considerações sobre a implantação de PAKEs

Os protocolos PAKE são mais complexos de implementar corretamente do que o simples cálculo de resumos criptográficos de senhas e devem ser obtidos em bibliotecas auditadas. O CFRG do IETF padronizou o CPace (B-PAKE) e o OPAQUE (A-PAKE) como as opções recomendadas para novos protocolos. O SRP continua sendo usado em implantações existentes, mas o OPAQUE é preferível em novos projetos.

Verificação das propriedades das PAKEs

Qual propriedade da PAKE distingue a PAKE aumentada (A-PAKE) da PAKE balanceada (B-PAKE)?

Recapitulação da lição: panorama dos protocolos PAKE

Os protocolos PAKE permitem autenticação mútua baseada em senha com estabelecimento de chaves. As B-PAKEs (CPace, SPAKE2, J-PAKE) são simétricas. As A-PAKEs (SRP, OPAQUE, SPAKE2+) armazenam apenas verificadores no lado do servidor. O OPAQUE oferece as garantias mais fortes, incluindo resistência à pré-computação. O IETF padronizou o CPace e o OPAQUE como as opções modernas recomendadas.

Perguntas Frequentes

A aula “Protocolos PAKE e suas propriedades” é grátis?

Sim — o texto completo de “Protocolos PAKE e suas propriedades” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Protocolos PAKE e suas propriedades”?

Conheça a família de protocolos de troca de chaves autenticada por senha, incluindo OPAQUE e SPAKE2. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Protocolos PAKE e suas propriedades”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O problema fundamental da autenticação por senha
  2. SRP: protocolo de senha remota segura
  3. Protocolos PAKE e suas propriedades
  4. Autenticação sem senha: WebAuthn e FIDO2
← Voltar para Cryptology Academy