Segurança
Segurança
Como o VaultWell protege o que guarda nele, em palavras simples. Incluindo as partes que não consegue proteger e o que ainda não fizemos.
Contra quem e contra o quê protegemos
O VaultWell foi concebido para as ameaças à privacidade do dia a dia, aquelas que a maioria das pessoas enfrenta de facto.
- Alguém pega no seu telemóvel. Um parceiro, um familiar, um colega ou um desconhecido que o encontra. Sem o caminho, o cofre continua fechado, mesmo que conheçam o código do seu telemóvel.
- Alguém o pressiona para desbloquear. Pode abrir um cofre do dia a dia ou o cofre de coação. Nada no ecrã mostra que existem outros cofres.
- Alguém copia os ficheiros da app. As chaves estão ligadas ao hardware de segurança do seu telemóvel, por isso não é possível testar tentativas num computador rápido.
- Alguém adultera os ficheiros guardados. Cada parte encriptada é autenticada, por isso as alterações são detetadas em vez de mostradas.
Não foi concebido para resistir a um atacante que já instalou malware no seu telemóvel, que o observa a traçar o caminho ou que o pode obrigar a revelar todos os caminhos que tem. Nenhuma app pode prometer isso.
Como funciona a encriptação
- Caminho. A ordem das células que traça no favo (pelo menos oito, sem repetições) torna-se a entrada.
- Argon2id. Essa entrada é reforçada com Argon2id, usando 64 MiB de memória e duas passagens, para que cada tentativa custe tempo e memória reais.
- Ligação ao hardware. O resultado é combinado com um segredo guardado no Secure Enclave do iPhone ou no Android Keystore (StrongBox, quando disponível). Este segredo não pode ser exportado, por isso a chave só pode ser obtida no seu telemóvel.
- Chave mestra. Cada cofre tem uma chave mestra aleatória de 256 bits, guardada apenas de forma encriptada sob a chave derivada do seu caminho.
- AES-GCM por blocos. Os itens são encriptados com AES-256-GCM em blocos de 1 MiB. Cada bloco está ligado ao seu item e à sua posição, por isso os blocos não podem ser trocados, reordenados ou cortados sem falhar. As miniaturas, a lista de itens e as definições também são encriptadas.
Não há conta nem servidor. As suas chaves nunca saem do telemóvel, e nada nos seus cofres nos é enviado.
Cofres ocultos, e o que um perito ainda poderá ver
No ecrã, o VaultWell não revela nada. O ecrã de bloqueio é apenas o favo. Um caminho errado e um caminho nunca usado têm o mesmo aspeto. Não há lista nem contagem de cofres. O ficheiro de definições de cada cofre é preenchido até ao mesmo tamanho, por isso as opções de um cofre, incluindo se é o cofre de coação, não podem ser identificadas de fora.
No disco, queremos ser precisos. Cada cofre é guardado como uma pasta encriptada própria. Alguém com acesso total aos ficheiros em bruto da app, por exemplo através de uma extração forense de um telemóvel desbloqueado, poderia contar essas pastas e contar quantos cofres têm uma frase de recuperação definida. Não as conseguiria abrir nem ver o conteúdo, mas poderia deduzir que existe mais de um cofre. Planeamos reduzir isto, por exemplo com entradas isco, e publicaremos os pormenores quando mudar.
No ecrã
Não revela nada
- Só o favo é mostrado
- Nenhuma lista ou contagem de cofres
- Um caminho errado parece um caminho nunca usado
Nos ficheiros em bruto, com acesso total
Poderia ser contado
- Quantas pastas de cofre encriptadas existem
- Quantos cofres têm uma frase de recuperação
Continua ilegível
- O que cada cofre contém
- Qual cofre é o cofre de coação
O cofre de coação
Quando o cofre de coação é aberto com o respetivo caminho, o VaultWell apaga primeiro o ficheiro de chave de todos os outros cofres e os respetivos ficheiros de recuperação, e depois remove as pastas desses cofres. Sem os ficheiros de chave, os dados não podem ser desencriptados. Em seguida, o cofre de coação abre como qualquer outro, sem nenhuma mensagem no ecrã.
- A eliminação é permanente no telemóvel. Não é possível anular.
- Abrir o cofre de coação com a respetiva frase de recuperação não apaga nada.
- As cópias de segurança e as partilhas guardadas noutros locais não são afetadas.
Cópias de segurança e partilhas
As cópias de segurança (.vwbackup) têm de abrir num telemóvel novo, por isso não podem usar o hardware do telemóvel antigo. Em vez disso, cada cópia de segurança protege a chave mestra do cofre com Argon2id a partir do seu caminho (e da frase, se estiver definida), com um novo sal aleatório. Os itens continuam encriptados exatamente como estão guardados. A segurança de uma cópia de segurança depende da força do seu caminho ou da sua frase, por isso mantenha os ficheiros de cópia de segurança privados.
As partilhas (.vwshare) usam uma nova chave aleatória, protegida por uma frase de partilha separada. Os itens são novamente encriptados com ela, por isso o destinatário nunca fica a conhecer a chave do seu cofre. Os limites de aberturas, de validade e de gravação para fora são aplicados pela app, não pela criptografia, porque não há servidor. Alguém determinado que tenha a frase poderia ainda assim copiar o que vê.
O que não afirmamos
- Ainda sem auditoria concluída. Está planeada uma auditoria de segurança independente antes do lançamento. Publicaremos o resultado.
- Não é invisível. A app é visível no seu telemóvel, mesmo com um ícone de disfarce, e um exame forense poderá mostrar que existem vários cofres.
- Não impede capturas de ecrã no iPhone. O VaultWell protege contra a captura de ecrã, mas o iOS não permite que as apps bloqueiem capturas de ecrã; o VaultWell avisa-o quando é feita uma. Nenhuma app consegue impedir uma fotografia do ecrã.
- Não recuperamos nada por si. Se perder o caminho e a frase, não o podemos ajudar. Nunca os temos.
Comunicar um problema
Se encontrar um problema de segurança, agradecemos que nos informe primeiro em privado, e daremos o devido crédito se assim o desejar. Os dados de contacto serão adicionados antes do lançamento.