Como Funciona a Criptografia AES-256 no Krokanti Notes
Explicação técnica do modelo de criptografia client-side usado para notas seguras — derivação de chave PBKDF2 e AES-256-GCM.
O Krokanti Notes usa criptografia AES-256-GCM padrão da indústria para notas seguras. Esta página explica a implementação técnica para usuários que querem entender exatamente como seus dados são protegidos.
Visão Geral
Quando você bloqueia uma nota com um PIN, o seguinte acontece inteiramente no seu navegador (nunca em nossos servidores):
- Derivação de chave: Seu PIN é processado pelo PBKDF2 para gerar uma chave de criptografia de 256 bits
- Criptografia: O conteúdo da nota é criptografado com AES-256-GCM usando essa chave
- Armazenamento: Apenas o texto cifrado criptografado é enviado e armazenado em nossos servidores
- Descriptografia: Quando você insere seu PIN para desbloquear uma nota, a chave é re-derivada e usada para descriptografar o conteúdo localmente
Derivação de Chave: PBKDF2
O PBKDF2 (Password-Based Key Derivation Function 2) converte seu PIN em uma chave criptográfica:
- Algoritmo: PBKDF2-SHA-256
- Iterações: 310.000 (atende às recomendações do NIST de 2023)
- Salt: 16 bytes aleatórios, gerados frescos para cada criptografia de nota
- Comprimento da chave: 256 bits
O alto número de iterações torna os ataques de força bruta caros — um atacante com o texto cifrado não consegue simplesmente tentar milhões de PINs rapidamente.
Criptografia: AES-256-GCM
O AES-256-GCM é um modo de criptografia autenticada:
- Algoritmo: AES (Advanced Encryption Standard), chave de 256 bits
- Modo: GCM (Galois/Counter Mode)
- IV: 12 bytes aleatórios, gerados frescos para cada operação de criptografia
- Tag de autenticação: 128 bits (o GCM fornece verificação de integridade — adulterações são detectadas)
O modo GCM fornece tanto confidencialidade (o conteúdo é ocultado) quanto autenticidade (adulterações são detectadas). Se o texto cifrado for modificado após a criptografia, a descriptografia falhará com um erro de autenticação em vez de retornar silenciosamente dados corrompidos.
Formato do Payload Criptografado
A nota criptografada é armazenada como um objeto JSON:
{
"v": 1,
"alg": "AES-256-GCM",
"salt": "<base64-encoded 16 bytes>",
"iv": "<base64-encoded 12 bytes>",
"ciphertext": "<base64-encoded encrypted content>"
}
Este payload é armazenado literalmente na coluna content do banco de dados de notas. O salt e o iv são armazenados junto com o texto cifrado (eles não são secretos — são valores aleatórios necessários para a descriptografia, mas insuficientes por si só sem a chave).
O que a Krokanti Software Pode Ver
| Dado | Visível para a Krokanti? |
|---|---|
| Título da nota | ✅ Sim |
| Conteúdo da nota (corpo) | ❌ Não — armazenado como texto cifrado criptografado |
| Seu PIN | ❌ Nunca — a chave derivada nunca sai do seu navegador |
| Chave de criptografia | ❌ Nunca — gerada e descartada no navegador |
| Tags, metadados | ✅ Sim |
Implementação
A criptografia é implementada usando a Web Crypto API — uma interface de criptografia nativa do navegador e padronizada. Nenhuma biblioteca de criptografia de terceiros é usada no caminho de criptografia de notas.
O código relevante está em src/lib/crypto.ts (código aberto como parte do repositório).
Não existe chave mestra, chave de recuperação ou backdoor. Se você esquecer seu PIN, o conteúdo não poderá ser recuperado. Isso é proposital — a verdadeira criptografia client-side exige que apenas você possua a chave.
Modelo de Ameaça
Esta criptografia protege você de:
- ✅ Vazamentos de dados dos servidores da Krokanti
- ✅ Funcionários mal-intencionados (não conseguimos ler suas notas seguras)
- ✅ Ordens judiciais por dados de usuários (só podemos fornecer o blob criptografado)
- ❌ Keyloggers no seu próprio dispositivo (não podemos proteger contra malware no cliente)
- ❌ Um atacante que observa você digitar seu PIN
- ❌ Força bruta se seu PIN for muito curto (use um PIN longo ou uma frase secreta)
Start taking better notes today
Free forever. No credit card required. Works on any device.
Create your free account →Related articles
Códigos de Backup para Autenticação em Dois Fatores
O que são os códigos de backup, como usá-los e como regenerá-los caso você os perca ou suspeite de comprometimento.
Revogando Tokens de API
Como gerenciar, rotacionar e revogar tokens de API pessoais usados para a API REST do Krokanti Notes e integração MCP.
Was this article helpful?
Can't find what you're looking for? Contact support