Como a Padlock te protege
A ideia central é simples: tudo é cifrado no teu telemóvel antes de sair dele, e as chaves para o abrir nunca saem do teu telemóvel nem do da pessoa com quem falas. O nosso servidor funciona como um estafeta cego: sabe para onde entregar um pacote, mas não consegue abri-lo.
1. Identidade sem dados pessoais
Quando crias a conta, o teu telemóvel gera dois pares de chaves: um Ed25519 (para assinar, ou seja, provar que és tu) e um X25519 (para combinar chaves secretas com os teus contactos). O teu ID Padlock é calculado a partir da tua chave pública com SHA-256, por isso é auto-certificado: ninguém consegue criar outro ID igual ao teu sem ter a tua chave privada.
Não pedimos número de telefone, email nem nome. Não existe uma lista central de "quem é quem".
2. Mensagens: Double Ratchet
As mensagens usam o Double Ratchet, o mesmo tipo de protocolo usado pelas apps de mensagens mais seguras do mundo. Na prática:
- Cada mensagem tem uma chave diferente. Descobrir a chave de uma mensagem não abre as outras.
- Sigilo futuro (forward secrecy): se alguém roubar as tuas chaves hoje, não consegue ler mensagens antigas.
- Recuperação após comprometimento: as chaves renovam-se sozinhas à medida que a conversa avança, por isso um atacante que tenha apanhado uma chave perde o acesso logo a seguir.
- O conteúdo é cifrado com AES-256-GCM, que também deteta qualquer alteração ao pacote pelo caminho.
Notas de voz e fotos seguem o mesmo caminho cifrado que o texto.
3. Remetente selado
Mesmo os metadados são protegidos: com o remetente selado (sealed sender), o servidor vê para quem é um pacote, mas não vê quem o enviou. Só o destinatário, ao abrir o pacote com as suas chaves, confirma a identidade de quem escreveu. Os pacotes são também arredondados em tamanho, para o tamanho não revelar o tipo de conteúdo.
4. Chamadas de voz e vídeo
- As chamadas usam WebRTC com DTLS-SRTP: o áudio e o vídeo vão cifrados de um telemóvel para o outro.
- A oferta e a resposta da chamada são assinadas com Ed25519. Assim ninguém consegue fingir ser o teu contacto, nem meter-se no meio da chamada.
- Número de segurança: em cada contacto há um número que podem ler em voz alta um ao outro. Se for igual nos dois telemóveis, ninguém está a intercetar a conversa.
- Proteger o meu IP (ligado por defeito): a chamada passa por um servidor de retransmissão (TURN), para a outra pessoa nunca ver o teu endereço IP. A chamada continua cifrada de ponta a ponta, e o retransmissor não consegue ouvir nem ver nada.
5. O cofre no telemóvel
Tudo o que a app guarda (conversas, contactos, definições) fica num cofre cifrado com AES-256-GCM. A chave desse cofre vem de duas partes:
- a tua frase de encriptação, transformada em chave com Argon2id (64 MiB de memória), um algoritmo feito de propósito para tornar ataques de "adivinhar a palavra-passe" lentíssimos, mesmo com placas gráficas;
- um segredo do aparelho guardado no armazenamento seguro do Android (Keystore). Uma cópia do cofre levada para outro telemóvel não abre.
Há ainda dois cofres separados, cada um com a sua palavra-passe: o Secure Vault Files (fotos e documentos) e o CryptoVault (carteira). Quem souber a palavra-passe da app não consegue abrir nenhum deles.
Não existe recuperação de palavra-passe. É de propósito: se existisse, alguém (nós incluídos) teria uma forma de entrar. Se perderes a frase, os dados ficam perdidos.
6. Destruição forense
- Autodestruição: as mensagens apagam-se sozinhas em no máximo 24 horas.
- Apagar na Padlock não é só "esconder": o conteúdo é sobrescrito e o ficheiro do cofre é compactado, para a versão antiga não ficar no disco à espera de uma ferramenta de extração forense.
- Destruir mensagem / limpar conversa apaga nos dois telemóveis.
- Panic Room — Destruir Cofre: apaga de imediato a identidade, as conversas, os ficheiros e a carteira deste telemóvel.
7. Proteção contra ataques
- Capturas e gravações de ecrã bloqueadas em toda a app.
- Sessão de 15 minutos: a app fecha-se sozinha e pede outra vez a frase (exceto durante uma chamada). Não há impressão digital nem "lembrar-me": a frase é sempre obrigatória.
- Mensagens repetidas ou alteradas são rejeitadas (proteção contra replay e adulteração).
- Bloquear ID: um contacto bloqueado deixa de conseguir enviar mensagens ou ligar.
- Carteira: a app recusa enviar para endereços de outra rede, para evitar perder fundos por engano.
8. E os computadores quânticos?
Somos transparentes sobre isto:
- AES-256, que protege o conteúdo das mensagens e o cofre, é considerado seguro mesmo contra computadores quânticos. O melhor ataque quântico conhecido (algoritmo de Grover) só reduz a força para o equivalente a 128 bits, que continua fora de alcance.
- A troca de chaves (X25519) e as assinaturas (Ed25519), tal como em quase todas as apps atuais, ainda não são pós-quânticas. Um computador quântico suficientemente grande, que ainda não existe, poderia em teoria quebrá-las.
- Está planeada uma atualização para troca de chaves híbrida, X25519 + ML-KEM (o padrão pós-quântico aprovado pelo NIST), a mesma abordagem que as apps de referência começaram a adotar. Assim, um atacante teria de quebrar os dois algoritmos ao mesmo tempo.
9. Resumo dos algoritmos
| Função | Algoritmo |
|---|---|
| Identidade e assinaturas | Ed25519 |
| Acordo de chaves | X25519 |
| Mensagens | Double Ratchet, HMAC-SHA-256, AES-256-GCM |
| Metadados | Remetente selado, tamanhos arredondados |
| Chamadas | WebRTC DTLS-SRTP, sinalização assinada com Ed25519 |
| Cofre local | AES-256-GCM, Argon2id (64 MiB), segredo no Android Keystore |
| ID Padlock | SHA-256 da chave pública |
| Carteira | Frase de recuperação BIP-39 de 24 palavras, não-custodial |
10. Código aberto
Planeamos publicar o código-fonte da Padlock no GitHub depois do lançamento, para qualquer pessoa poder verificar que a app faz exatamente o que esta página diz. Quando estiver disponível, o link aparece aqui.
Encontraste uma falha de segurança? Diz-nos em privado: padlockapp@proton.me.
PADLOCK