SHARE THE PERSPECTIVE
Um navegador pode executar criptografia forte; o código entregue ao navegador ainda precisa ser confiável.

Um navegador pode realizar criptografia de ponta a ponta localmente, incluindo o estabelecimento pós-quântico de chaves, sem instalar um aplicativo de mensagens nativo. A questão difícil não é saber se a matemática pode funcionar em uma aba. É saber se o aplicativo entregue, o tratamento das chaves e o caminho de atualização merecem a confiança exigida pela conversa.

O acesso pela web pode ser conveniente quando a instalação não está disponível. Isso não torna o aplicativo imune à censura, à hospedagem comprometida, a extensões maliciosas ou a um dispositivo comprometido.

Os componentes criptográficos do navegador

O WebCrypto expõe operações de baixo nível para criptografia, derivação de chaves, assinatura e gerenciamento de chaves. Implementações comuns oferecem primitivas como AES-GCM e ECDH. Essas operações são componentes, não um protocolo completo de mensagens autenticadas.

Uma aplicação web pode adicionar uma implementação de ML-KEM revisada, usando JavaScript ou WebAssembly, quando a API nativa necessária não está disponível. O suporte dos navegadores muda, portanto os desenvolvedores devem testar a disponibilidade dos recursos nas versões exatas de destino, em vez de presumir que todos os navegadores oferecem os mesmos algoritmos.

Um fluxo híbrido conceitual é:

  1. Gerar chaves apropriadas com aleatoriedade criptograficamente segura.
  2. Autenticar o material de chaves do interlocutor usando o mecanismo de identidade do protocolo.
  3. Obter contribuições clássicas e pós-quânticas para o segredo compartilhado.
  4. Combiná-las usando o esquema de derivação de chaves especificado e o contexto da conversa.
  5. Usar as chaves derivadas para criptografia autenticada, com tratamento correto de nonces e estado.

Esse é um esboço explicativo, não uma receita de implementação. O FIPS 203 padroniza o ML-KEM; não certifica uma aplicação específica de navegador nem define todas as etapas de um protocolo de chat.

A entrega por HTTPS faz parte do modelo de confiança

O servidor normalmente fornece o JavaScript e o WebAssembly que processarão o texto em claro. Um aplicativo alterado maliciosamente pode ler uma mensagem antes da criptografia ou depois da descriptografia, mesmo que sua biblioteca criptográfica use algoritmos sólidos.

O HTTPS ajuda a autenticar e proteger a entrega contra interferências da rede. Não prova que o operador da origem, seu sistema de implantação ou suas dependências estejam livres de comprometimento. Uma página HTTPS comum não é automaticamente um pacote de aplicativo assinado de forma independente.

As considerações de segurança do WebCrypto do W3C discutem a injeção de scripts e a necessidade de proteger a integridade da aplicação. Content Security Policy, o gerenciamento cuidadoso de dependências e outros controles de segurança web reduzem riscos, mas nenhum transforma um script arbitrário da mesma origem em um observador não confiável incapaz de acessar os dados da aplicação.

O WebAssembly também compartilha o limite de segurança da aplicação. Sua sandbox limita o acesso ao ambiente hospedeiro por interfaces definidas; não torna a página que o chama confiável. Compilar C para Wasm não torna a linguagem de origem segura em termos de memória.

As chaves não necessariamente existem apenas na RAM

Um mensageiro de navegador pode persistir chaves ou estado criptografado para que o usuário retorne à mesma identidade. Também pode oferecer vinculação de dispositivos ou recuperação criptografada. Esses comportamentos precisam ser documentados, em vez de se presumir sua ausência.

Vale perguntar:

  • Quais chaves são persistidas, e em qual armazenamento do navegador?
  • O que acontece quando os dados do site são apagados ou uma sessão de navegação privada termina?
  • Uma chave não extraível ainda pode ser usada por código malicioso executado no contexto da aplicação?
  • Uma atualização recém-entregue pode acessar o estado local antigo?
  • A recuperação restaura a identidade, o histórico de mensagens ou ambos?

Uma chave não extraível do WebCrypto restringe a exportação pela API. Por si só, não impede que código hostil da aplicação solicite operações permitidas ou colete texto em claro.

Clientes web e nativos têm diferentes compromissos

Aspecto Cliente de navegador Cliente nativo
Distribuição Origem, hospedagem e fluxo de atualizações web Loja de aplicativos ou distribuição de pacotes e fluxo de assinatura
Persistência local Armazenamento do navegador e comportamento do perfil Armazenamento de aplicativos do sistema operacional e ciclo de vida da aplicação
Exposição Scripts da mesma origem, extensões e vulnerabilidades do navegador Dependências da aplicação e vulnerabilidades do sistema/aplicativo
Disponibilidade Domínio acessível e serviços de rede necessários O aplicativo instalado ainda precisa de seus serviços de rede necessários

Nenhuma coluna estabelece um vencedor sem examinar a implementação. Uma aplicação web pode continuar acessível após ser removida de uma loja, mas um domínio bloqueado ou a falta de uma rota de rede ainda podem impedir o acesso.

Meça o desempenho em vez de prometê-lo

O ML-KEM-768 usa uma chave de encapsulamento de 1.184 bytes e um texto cifrado de 1.088 bytes segundo o FIPS 203. Esses tamanhos ajudam a explicar por que protocolos podem programar atualizações de KEM em vez de anexar material novo a cada mensagem curta. Não são medições da largura de banda ou da velocidade de uma aplicação inteira.

Um benchmark útil informa o navegador, o dispositivo, a compilação, o método de aquecimento, a operação medida e a distribuição dos tempos. Inclua a inicialização da página, o carregamento de módulos, o uso de memória, dispositivos de baixo desempenho e a sobrecarga de rede. Afirmações como “menos de dois milissegundos em todos os celulares modernos” exigem medições publicadas; este artigo não as fornece.

Aplicando isso à Livara

A visão geral de segurança da Livara documenta o LVR1 e seus limites de recuperação. Seu Proof Lab demonstra operações locais selecionadas de P-256, HKDF e AES-GCM; a página coloca explicitamente a composição completa de LVR1/LGS1 fora dessa bancada. Portanto, uma demonstração bem-sucedida não comprova a segurança de todo o código web distribuído.

Antes de uma conversa sensível no navegador, use um cliente autêntico e mantido, revise o modelo de ameaças atual, proteja o perfil do navegador e verifique o interlocutor pelo processo de conferência de chaves suportado. Conveniência e criptografia útil podem coexistir, desde que o limite da entrega web permaneça parte da avaliação.

Verifique a criptografia Livara
CONTINUE THE THREADPost-quantum encryption ↗
YOU’VE REACHED THE ENDBack to the reading room ↗