no-translate

Autenticação e Segurança no Web Push

Autenticação e Segurança no Web Push na Inngage.
Escrito por Inngage
Actualizado hace 4 días

O protocolo Web Push segue os padrões definidos pela IETF Web Push Protocol e pela Web Push Encryption. Ele foi projetado com foco em privacidadeautenticação e segurança contra abusos.

Na Inngage, utilizamos esse protocolo para garantir que as mensagens push sejam criptografadas de ponta a ponta, autenticadas com chaves públicas e privadas exclusivas, e que apenas clientes autorizados possam enviar notificações.

Como Funciona a Autenticação do Web Push:

1. Registro do Service Worker:

O primeiro passo ocorre no navegador do usuário, quando o Service Worker da Inngage é registrado. Isso habilita o navegador a escutar notificações mesmo com o site fechado.

2. Permissão do Usuário:

O usuário explicitamente concede permissão para receber notificações push. Sem essa permissão, nenhum dado de push é gerado.

3. Subscription com Chaves Públicas:

Quando o usuário autoriza, o navegador gera uma assinatura criptográfica com uma chave pública (p256dh) e uma chave de autenticação (auth), e a entrega ao servidor da Inngage junto com o endpoint exclusivo. Esses dados formam a Web Push Subscription, armazenada pela Inngage para envio futuro.

Por que é Seguro? 

 🔐  1. Criptografia ponta a ponta:

As mensagens são criptografadas com a chave pública do navegador do usuário. Isso significa que:

  • Nem mesmo os servidores intermediários (como o Firebase ou VAPID endpoints) conseguem ler a mensagem.
  • Somente o navegador com a chave privada correspondente pode descriptografar o conteúdo.

🔑  2. Assinatura com VAPID:

A Inngage assina cada requisição com VAPID (Voluntary Application Server Identification), usando um par de chaves (pública e privada):

  • A chave pública é enviada como parte do cabeçalho.
  • A chave privada permanece protegida nos servidores da Inngage e é usada para autenticar o servidor de origem.

Essa assinatura garante que apenas a Inngage (ou outro remetente autorizado) possa enviar notificações válidas para o endpoint.

🚫 3. Não é possível atacar só com o endpoint:

Mesmo que um atacante consiga capturar um endpoint de push (uma URL longa e única), ele não consegue enviar mensagens porque:

  • Precisa da chave de autenticação (auth) e chave pública (p256dh).
  • Precisa assinar o conteúdo com o par de chaves VAPID correto.
  • Precisa criptografar corretamente a mensagem, o que requer acesso às chaves de sessão da subscription.

Qualquer tentativa de envio com dados incorretos será rejeitada pelo navegador com erro Unauthorized ou Invalid Crypto Key.

Conclusão:

O sistema de Web Push adotado pela Inngage é altamente seguro, com múltiplas camadas de proteção: 

✅   Consentimento explícito do usuário;
✅  Criptografia de ponta a ponta com chaves únicas por navegador;
✅  Autenticação via VAPID com controle total da origem;
✅  Proteção contra spoofing e ataques de envio não autorizado.

Mesmo com o endpoint de push, nenhum atacante consegue enviar notificações sem as devidas chaves e permissões. A arquitetura do Web Push foi desenhada para proteger o usuário final e garantir a integridade das mensagens enviadas pela Inngage.

Para saber mais acesse os links abaixo: 

👉https://datatracker.ietf.org/doc/html/draft-ietf-webpush-encryption 
👉 https://datatracker.ietf.org/doc/html/rfc8030

¿Pudimos contestar tu pregunta?