Segurança
Arquitetura de segurança e modelo de ameaças
O Notenz usa dois níveis de encriptação fundamentalmente diferentes. Os itens normais do cofre são encriptados do lado do servidor para que os possamos entregar automaticamente. O Cofre Selado e os itens de Chave Partilhada do Guardian são encriptados inteiramente no seu navegador: nunca temos a chave. Esta página explica exatamente o que cada nível faz, o que conseguimos e não conseguimos ler, e onde estão os limites honestos.
A versão curta, em linguagem simples
- 🔐 As suas notas são baralhadas (encriptadas) no momento em que chegam até nós. Guardamos dados baralhados, não texto legível. Os nossos funcionários não os leem.
- 🔑 Os seus destinatários só o conseguem ler quando o seu cofre é acionado. Nunca antes.
- 🤔 O Notenz conseguiria tecnicamente desbloqueá-lo? Para o cofre normal, sim: temos a chave necessária para o entregar automaticamente se você não puder. Saiba porquê, e como o Cofre Selado é diferente →
- 🌐 A sua ligação é sempre segura. Como no banco online, o cadeado no seu navegador está sempre ativo.
- 🪪 A sua palavra-passe nunca é guardada tal como é. Guardamos uma impressão digital matemática de sentido único. Mesmo que a nossa base de dados fosse roubada, a sua palavra-passe fica segura.
- 🚨 Encontrou um problema? Envie um email [email protected] e resolvemo-lo depressa.
Modelo de encriptação de dois níveis
Nível 1: Itens normais do cofre
Todos os itens Gratuitos, Pro e Guardian que não são do Cofre Selado nem de Chave Partilhada. Isto cobre a maioria do conteúdo do cofre.
- Notas de texto: Fernet (AES-128-CBC + HMAC-SHA256), do lado do servidor
- Ficheiros: AES-256-GCM, transmissão por blocos, do lado do servidor
- Chave guardada por: Notenz (necessária para a entrega automática)
Nível 2: Conhecimento zero (só Guardian)
Cofre Selado (Segredos Privados) e Itens de Cofre com Chave Partilhada. Encriptados inteiramente no seu navegador antes do envio.
- Cofre Selado: PBKDF2-SHA256, 600.000 iterações, AES-256-GCM
- Chave Partilhada / Frase por Item: PBKDF2-SHA256, 100.000 iterações, AES-256-GCM
- Chave guardada por: Só por si. O Notenz guarda apenas o texto cifrado.
O que o Notenz consegue e não consegue ver
O Notenz consegue ler
- Os títulos dos itens (guardados sem encriptação para o ajudar a organizar)
- O conteúdo dos itens normais do cofre (chave do lado do servidor; necessária para a entrega)
- Os ficheiros normais do cofre (desencriptados no momento da entrega)
- O seu endereço de email, calendário de confirmações e lista de destinatários
- Metadados: quando os itens foram criados, acedidos, entregues
O Notenz não consegue ler
- Os segredos do Cofre Selado (chave do lado do cliente, nunca transmitida)
- O conteúdo dos Itens de Cofre com Chave Partilhada (chave do lado do cliente, nunca transmitida)
- O conteúdo encriptado por frase por item (chave do lado do cliente)
- A palavra-passe da sua conta (guardada apenas como resumo PBKDF2-SHA256)
- Os códigos de dois fatores (guardados apenas como resumo HMAC-SHA256)
Modelo de ameaças: contra o que protegemos, e o que não
Protegemos contra
- ✓ Roubo apenas da base de dados: todo o conteúdo é encriptado em repouso; as linhas roubadas da base de dados não têm significado sem a chave principal
- ✓ Invasão do servidor para itens de Nível 2: o texto cifrado do Cofre Selado e da Chave Partilhada não pode ser desencriptado mesmo com acesso total ao servidor, porque a chave nunca chega aos nossos servidores
- ✓ Acesso acidental de funcionários: não existe nenhuma ferramenta interna para navegar pelo conteúdo do cofre
- ✓ Ataque de força bruta às palavras-passe das contas: reforço com PBKDF2-SHA256, início de sessão com limite de tentativas
- ✓ Adivinhação de códigos: todos os links públicos têm limite de tentativas e são criptograficamente aleatórios
- ✓ Fixação de sessão e CSRF: tokens CSRF em todos os pontos que alteram estado, cookies seguros HttpOnly
NÃO protegemos contra (limitações honestas)
- ✗ Comprometimento total do servidor em funcionamento (Nível 1): um atacante com acesso tanto à base de dados como à chave principal pode desencriptar os itens normais do cofre. Mitigamos isto com a capacidade de rotação de chaves, mas continua a ser um risco teórico.
- ✗ Os itens normais do cofre não são encriptados de ponta a ponta até aos destinatários: são desencriptados pelo nosso servidor e enviados por email. O TLS protege o email em trânsito, mas nós vemos o texto simples no momento da entrega.
- ✗ Comprometimento do dispositivo: se o seu dispositivo estiver comprometido, uma frase de Nível 2 introduzida no seu navegador pode ser captada antes da encriptação. Nenhuma medida do lado do servidor pode impedir isto.
- ✗ Frase de Nível 2 esquecida: os itens do Cofre Selado e de Chave Partilhada tornam-se permanentemente irrecuperáveis. Não há forma de reposição do lado do servidor.
- ✗ Metadados: mesmo para os itens de Nível 2, guardamos etiquetas (títulos), datas e endereços de entrega. O Nível 2 esconde o conteúdo, não a existência de um item.
- ✗ O Notenz não tem certificação ISO 27001. Somos alojados na DigitalOcean, que tem a certificação ISO/IEC 27001:2013 como fornecedor de infraestrutura na nuvem.
Encriptação em repouso
As notas de texto são encriptadas do lado do servidor com Fernet (AES-128-CBC + HMAC-SHA256) antes de serem gravadas no armazenamento. Os ficheiros usam AES-256-GCM por transmissão (blocos de 4 MB, nonce único por bloco). A chave principal é guardada separadamente do conteúdo; uma base de dados roubada por si só só produz texto cifrado.
- ✓ Notas de texto: Fernet (AES-128-CBC + HMAC-SHA256), chave do lado do servidor
- ✓ Ficheiros: AES-256-GCM por transmissão (nonce único de 12 bytes por bloco), chave do lado do servidor
- ✓ Chave principal guardada separadamente da base de dados; ferramentas de rotação de chaves disponíveis
- ✓ O texto simples nunca é gravado no disco nem nos registos
Não lemos o seu conteúdo
As suas notas e ficheiros são encriptados antes de serem guardados. No funcionamento normal do dia a dia, ninguém no Notenz olha, navega ou tem uma ferramenta para ler o texto simples do que escreveu. Os títulos são guardados sem encriptação (para o ajudar a manter-se organizado), mas o conteúdo está sempre encriptado. Os processos automáticos só desencriptam o conteúdo para entregar o seu cofre quando chega o momento: consulte abaixo para o panorama completo.
- ✓ Sem texto simples nos registos da aplicação
- ✓ Sem texto simples nas cópias de segurança da base de dados
- ✓ Sem ferramentas de funcionários para navegar pelo conteúdo do cofre
Segredo a Duas Pessoas (entrega dividida)
Para itens especialmente sensíveis, pode optar pelo nosso modo Segredo a Duas Pessoas. Quando o seu cofre é acionado, o segredo é matematicamente dividido numa parte separada para cada um dos destinatários que selecionou (2 ou mais), usando uma técnica de partilha de segredos bem estabelecida. Quaisquer 2 dessas partes são suficientes para reconstruir a mensagem original, mas uma única parte, por si só, não revela absolutamente nada sobre ela.
- ✓ Criptograficamente impossível de ler com apenas uma parte
- ✓ Quaisquer 2 de N partes reconstroem o segredo. Mesmo que perca o contacto com um contacto de confiança, quaisquer 2 dos outros ainda o conseguem desbloquear
- ✓ As partes nunca são guardadas juntas depois de geradas
Notas de texto
O próprio texto da nota é dividido entre os seus destinatários. Quaisquer 2 deles colam as suas partes em notenz.com/reconstruct/, e a mensagem original é reconstruída inteiramente no navegador deles. Nada é enviado de volta ao Notenz.
- ✓ A reconstrução é 100% do lado do cliente, sem qualquer ida ao servidor
- ✓ O Notenz nunca tem o texto simples reconstruído
Ficheiros
Para ficheiros, o Notenz divide o acesso ao ficheiro, não o próprio ficheiro. Um código de acesso aleatório curto é dividido entre os seus destinatários usando o mesmo esquema. Quando quaisquer 2 deles combinam as suas partes na página de reconstrução, o navegador usa o código reconstruído para pedir o ficheiro. O Notenz desencripta-o do lado do servidor e transmite-o como download direto. Nenhuma parte sozinha consegue produzir o código.
- ✓ Só o código de acesso é dividido. Nenhum ficheiro binário é enviado por email
- ✓ Ficheiro guardado encriptado com AES-256-GCM em repouso; desencriptado apenas no momento do download
- ✓ Link de download válido durante 90 dias; expira automaticamente depois disso
Limitação honesta, para transparência
Ao contrário dos itens de Chave Partilhada, o Notenz guarda de facto o conteúdo do seu Segredo a Duas Pessoas: guardamos nós próprios as partes divididas até o seu cofre ser acionado, para que as possamos combinar e entregar. Isso significa que não é de conhecimento zero, e uma exportação dos seus dados pessoais (Definições → Exportar os Meus Dados) inclui este conteúdo em forma legível. Se precisar de uma garantia de que nem o Notenz consegue ler o conteúdo, use antes um Item de Cofre com Chave Partilhada.
Proteção dos links partilhados
Os links de entrega, os links das partes do segredo dividido, os links de confirmação dos destinatários e os links de recolha estão todos protegidos contra adivinhação automática e abuso. Se um único link receber um número invulgarmente elevado de pedidos da mesma origem, os pedidos seguintes são temporariamente bloqueados e o dono do cofre é avisado por email para poder rever o registo de atividade da sua conta.
- ✓ Limite de tentativas em todos os links públicos baseados em código (páginas de entrega, segredo dividido, confirmação e recolha)
- ✓ O dono do cofre recebe um alerta único por email na primeira vez que um link de entrega ou de segredo dividido é acedido
- ✓ A atividade suspeita é registada no registo de atividade da sua conta
Resposta honesta: o Notenz conseguiria ler o meu cofre?
Para o seu cofre normal (itens Gratuitos, Pro e Guardian fora do Cofre Selado): tecnicamente, sim. Eis porquê, em termos simples.
A função do Notenz é entregar o seu cofre automaticamente se deixar de confirmar presença, mesmo que já não consiga escrever uma palavra-passe. Para que isso funcione, o nosso sistema tem de conseguir desbloquear o seu cofre por si só, sem si. Por isso guardamos uma chave principal que o consegue fazer.
That means: if someone broke into a stolen database backup alone, they'd find nothing but scrambled bytes: useless without the key. But if someone fully broke into our live servers (not just the database), they could, in theory, get the key too and unlock your vault. We guard hard against that (separate storage for the key, no staff access, encrypted backups, and we're rolling out key-rotation tooling so a leaked key can be replaced quickly), but it's an honest limit, not a guarantee of "nobody, ever, under any circumstances."
Quer um cofre que nem o Notenz consiga alguma vez abrir? Use o Cofre Selado (Guardian). É encriptado no seu navegador com a sua palavra-passe. Nunca temos a chave, ponto final. O senão: não pode ser entregue automaticamente, e se esquecer a sua palavra-passe, fica perdido para sempre.
Quer essa mesma garantia de que "o Notenz nunca o consegue abrir", mas com o item a ainda ser entregue a um destinatário? Use um Item de Cofre com Chave Partilhada (Guardian). Gera a sua própria chave no navegador, o Notenz nunca a vê, e o item ainda é entregue ao seu destinatário como habitualmente, mas só você lhe pode dar a chave para o abrir.
Cofre Selado: Encriptação de Conhecimento Zero
GuardianOs itens do Cofre Selado são encriptados inteiramente no seu navegador antes do envio. Os servidores do Notenz guardam apenas texto cifrado: nunca os seus segredos em texto simples, nunca a sua chave de encriptação. Nem mesmo uma invasão total da base de dados do Notenz expõe algo legível.
Especificação técnica
- ✓ Derivação da chave: PBKDF2-SHA256, 600.000 iterações
- ✓ Encriptação: AES-GCM 256 bits
- ✓ IV: 12 bytes aleatórios por segredo, nunca reutilizados
- ✓ Etiqueta de autenticação: a etiqueta de autenticação AES-GCM deteta adulterações e palavras-passe erradas
- ✓ Execução: toda a criptografia corre no seu navegador através da Web Crypto API, para que as chaves nunca saiam do seu dispositivo
Limitação importante
O Cofre Selado precisa da sua palavra-passe Notenz para desencriptar. Se esquecer a sua palavra-passe Notenz, os segredos do seu cofre não podem ser recuperados. Isto é por opção: não há qualquer porta dos fundos do lado do servidor.
Quer que o Cofre Selado sobreviva a uma reposição da palavra-passe da conta?
By default, Sealed Vault uses your normal Notenz login password. If you ever reset that password (e.g. via "forgot password"), your existing Sealed Vault secrets become unreadable, because they were encrypted with the old password.
Para evitar isto, pode ativar uma palavra-passe separada para o Cofre Selado na página do Cofre Selado: uma segunda palavra-passe usada apenas para desbloquear os seus segredos mais sensíveis, completamente independente do início de sessão da sua conta. Repor a palavra-passe da sua conta deixa de a afetar.
Aplica-se a mesma regra, ainda com mais força: se esquecer esta palavra-passe separada, o Notenz não consegue recuperar os segredos do seu Cofre Selado, ponto final. Não há link de reposição, nem forma de o apoio contornar isto, nem forma de o ajudarmos. Escreva-a algures em segurança antes de ativar isto.
Permitir que outra pessoa aceda mais tarde
O Cofre Selado nunca é entregue automaticamente quando o cofre é acionado. Para permitir que uma pessoa de confiança entre um dia, dê-lhe você mesmo duas coisas separadas, fora do Notenz: o acesso ao início de sessão da sua conta Notenz, e a palavra-passe do seu Cofre Selado.
Mantenha estas duas coisas à parte (por exemplo, os dados da conta com um executor testamentário, e a palavra-passe do Cofre Selado numa carta selada ou com um advogado): quem tiver ambas consegue desbloqueá-lo; quem tiver apenas uma, não consegue.
Encriptação por Frase por Item
GuardianOs utilizadores Guardian podem proteger qualquer item do cofre com uma frase de acesso de 4 palavras fácil de lembrar, gerada no navegador (tecnicamente: Web Crypto PBKDF2, 100.000 iterações, SHA-256, AES-256-GCM). A frase nunca é transmitida aos servidores do Notenz. Os destinatários introduzem-na no link de entrega para desencriptar o conteúdo do lado do cliente. Isto funciona de forma independente ou em combinação com o Segredo a Duas Pessoas (partilha Shamir: divide a chave para que 2 pessoas de confiança tenham de a desbloquear juntas).
Se o Notenz alguma vez desaparecer
A encriptação de conhecimento zero significa que o Notenz nunca tem as suas chaves, o que também significa que o Notenz não é necessário para desencriptar o seu conteúdo: só a frase de acesso e a criptografia padrão o são. Publicamos uma ferramenta de desencriptação offline autónoma que corre inteiramente numa página de navegador guardada, sem servidor, sem início de sessão e sem pedidos externos. Guarde já uma cópia: continuará a funcionar com a sua frase de acesso mesmo que os servidores do Notenz fiquem inacessíveis.
Transporte e infraestrutura
Todo o tráfego entre o seu navegador e os nossos servidores é encriptado em trânsito usando TLS (HTTPS). Usamos proteção CSRF em todos os pontos que alteram estado. Os cookies de sessão são marcados como HttpOnly e Secure.
- ✓ Só TLS/HTTPS; o HTTP redireciona para HTTPS
- ✓ Tokens CSRF em todos os pontos POST/DELETE
- ✓ Cookies de sessão HttpOnly + Secure
- ✓ Alojado na DigitalOcean, um fornecedor de infraestrutura na nuvem com certificação ISO/IEC 27001:2013. O próprio Notenz não tem certificação ISO 27001.
- ✓ Centro de dados na região da UE
Início de sessão e autenticação
As palavras-passe são cifradas com PBKDF2-SHA256 (predefinição do Django). A autenticação de dois fatores (2FA) por código único de email está ativa por predefinição em todas as contas. As contas Guardian não a podem desativar.
- ✓ Cifragem de palavras-passe com PBKDF2-SHA256 (predefinição do Django, padrão da indústria)
- ✓ 2FA por email ativa por predefinição em todos os níveis de plano
- ✓ Plano Guardian: a 2FA é obrigatória e não pode ser desativada
- ✓ Códigos 2FA guardados como resumo HMAC-SHA256, não o código em bruto
- ✓ Os códigos OTP expiram passados 5 minutos
- ✓ Verificação 2FA obrigatória (na sessão atual) antes de a 2FA poder ser desativada
- ✓ Limite de tentativas: máximo de 5 tentativas de verificação por 10 minutos
Encontrou um problema de segurança?
Levamos os relatórios de segurança a sério. Se encontrou uma vulnerabilidade, envie-nos um email para [email protected]. Respondemos dentro de 48 horas e trabalhamos consigo para resolver o problema. Ainda não temos um programa formal de recompensas por bugs, mas agradecemos profundamente a divulgação responsável.