Come Snoq cifra le tue note
AES-256-CBC con HMAC-SHA256, derivazione delle chiavi Argon2id, IV casuali per nota. Nessuna password, chiave o testo in chiaro lascia il tuo dispositivo.
Cosa succede quando scrivi una nota
Quando la cifratura è attiva e salvi una nota, Snoq cifra il contenuto con AES-256 prima che tocchi il disco. La chiave usata per cifrare non è la tua password — viene derivata da essa tramite Argon2id, una funzione moderna di derivazione delle chiavi ad alto consumo di memoria, progettata specificamente per rendere gli attacchi a forza bruta costosi.
Ogni nota riceve il proprio vettore di inizializzazione (IV) casuale di 16 byte, così due note con contenuto identico producono testo cifrato completamente diverso. Ogni nota cifrata viene poi autenticata con HMAC-SHA256, affinché qualsiasi manomissione — anche un singolo bit modificato — venga rilevata prima di qualsiasi tentativo di decifratura.
Non è teoria. È così che ogni nota viene archiviata, ora, sul tuo dispositivo. Il resto di questa pagina descrive esattamente come — con abbastanza dettagli perché un lettore attento alla sicurezza possa verificare che l'approccio sia corretto.
Cosa Snoq non archivia mai
Tre elementi sono deliberatamente assenti dal disco — e dalla memoria, non appena l'app è bloccata.
-
La tua password, in qualsiasi forma. Non in chiaro, non come hash reversibile, da nessuna parte. Snoq archivia solo un verificatore Argon2id che può confermare se un input è corretto, ma non può essere usato per recuperare la password o le chiavi di cifratura.
-
Le chiavi AES o HMAC derivate. Quando Snoq si blocca, entrambi i buffer delle chiavi in memoria vengono cancellati (
Array.Clear) e i riferimenti impostati a null. Nulla viene memorizzato nella cache, serializzato su disco o persistito intenzionalmente. -
Contenuto delle note in chiaro. Quando la cifratura è attiva, il database locale contiene solo testo cifrato. Il testo in chiaro è brevemente in memoria mentre leggi o modifichi attivamente una nota, poi viene eliminato.
Primitive crittografiche
Gli algoritmi e i parametri esatti utilizzati da Snoq. Tutti sono costruzioni standardizzate e ben collaudate.
| Scopo | Algoritmo | Parametri |
|---|---|---|
| Verifica password | Argon2id |
64 MB di memoria, 2 thread, 3 iterazioni, output 32 byte |
| Derivazione delle chiavi | Argon2id |
64 MB di memoria, 2 thread, 3 iterazioni, salt 32 byte, output 64 byte suddivisi in chiave cifratura + MAC, password con prefisso di dominio |
| Cifratura delle note | AES-256-CBC |
IV casuale di 16 byte per nota |
| Autenticazione | HMAC-SHA256 |
Copre IV + testo cifrato (Encrypt-then-MAC) |
| Generazione del salt | RandomNumberGenerator |
32 byte dal CSPRNG del sistema operativo |
Argon2id è lo standard RFC 9106 per la derivazione di chiavi basata su password e vincitore della Password Hashing Competition.
Come è strutturata una singola nota cifrata
Ogni nota archiviata nel database appare così — un blob codificato in Base64 composto da tre parti concatenate.
Encrypt-then-MAC. L'HMAC viene calcolato su IV || testo cifrato e verificato prima di qualsiasi tentativo di decifratura. Se il tag non corrisponde — chiave errata, corruzione, manomissione — la nota viene rifiutata senza esporre testo in chiaro. Questo previene gli attacchi padding oracle che possono colpire la modalità CBC quando l'autenticazione è assente o implementata in modo errato.
Il flusso di sblocco
Cosa succede quando inserisci la tua password per aprire le note.
-
1Verifica rapida. La finestra di dialogo esegue Argon2id contro il verificatore della password archiviato. Se non corrisponde, il tentativo viene rifiutato immediatamente — nient'altro succede.
-
2Derivare le chiavi. Argon2id viene eseguito di nuovo — questa volta con un prefisso di dominio (
snoq-enc:) — per produrre 64 byte di materiale di chiave, suddivisi in una chiave AES di 32 byte e una chiave HMAC di 32 byte. -
3Verificare il canary. Un piccolo blob noto — cifrato con le chiavi reali al momento della prima impostazione della password — viene decifrato con le chiavi appena derivate e confrontato in tempo costante con il valore atteso. Questo prova che le chiavi derivate corrispondono a quelle usate per cifrare le note.
-
4Il canary fallisce? Le chiavi appena derivate vengono cancellate e lo sblocco viene rifiutato. Una sessione sbloccata esistente rimane intatta.
-
5Il canary riesce? Le chiavi vengono mantenute in memoria (come array di byte, da nessun'altra parte) e le note diventano leggibili. Da questo momento, ogni lettura decifra su richiesta; ogni scrittura cifra su richiesta.
Perché due esecuzioni di Argon2id?
Il verificatore e le chiavi di cifratura vengono derivati con input diversi (il percorso di cifratura antepone snoq-enc: alla password prima dell'hashing). Questo si chiama separazione di dominio: sebbene entrambi i percorsi usino la stessa password e lo stesso salt, i loro output sono completamente indipendenti. Un attaccante che ottenesse il verificatore non avrebbe comunque nulla di utile per decifrare le note.
Cambiare la password in sicurezza
Ri-cifrare un intero vault è un'operazione rischiosa — se fallisce a metà strada, alcune note sarebbero archiviate con la vecchia chiave e altre con la nuova. Snoq evita questo con un pattern di staging e poi commit.
Preparare in memoria
Ogni nota cifrata viene decifrata con le vecchie chiavi e ri-cifrata con le nuove — interamente in memoria. Se la vecchia password è errata, la verifica HMAC fallisce alla prima nota, viene lanciata un'eccezione e nulla viene scritto su disco.
Salvare su disco
Solo se tutte le note sono state ri-cifrate con successo, Snoq percorre la lista preparata e scrive le note aggiornate nel database. Un errore durante l'operazione lascia il vault originale completamente intatto.
FAQ Sicurezza
Non esiste alcun meccanismo di recupero — ed è intenzionale. La tua password è l'unico input da cui possono essere derivate le chiavi di cifratura. Snoq non la archivia mai, non la trasmette mai e non ha backdoor. Se la password viene persa, le note non possono essere decifrate. Conserva la tua password in un posto sicuro, ad esempio un gestore di password.
Snoq usa AES-256-CBC combinato con HMAC-SHA256 in una costruzione Encrypt-then-MAC. Correttamente implementato — IV casuale per messaggio, HMAC su IV+testo cifrato, verifica in tempo costante prima di ogni decifratura — questo fornisce cifratura autenticata equivalente dal punto di vista della sicurezza ad AES-GCM, con un supporto di librerie multipiattaforma più ampio. La proprietà importante è l'autenticazione, e Snoq autentica ogni nota.
No. Le chiavi derivate vivono solo in memoria come array di byte all'interno del servizio di cifratura. Quando Snoq si blocca (manualmente, tramite scorciatoia da tastiera di blocco UI, o automaticamente), sia la chiave AES che quella HMAC vengono cancellate con Array.Clear e i loro riferimenti impostati a null. Non possiamo promettere che il sistema operativo non faccia mai swap della memoria sotto pressione estrema — nessuna applicazione in user space può — ma Snoq non persiste mai intenzionalmente le chiavi.
No. Il verificatore e le chiavi di cifratura vengono prodotti da due esecuzioni distinte di Argon2id con input diversi (il percorso di cifratura antepone alla password un prefisso di separazione di dominio). Sebbene entrambi usino lo stesso salt, i loro output sono completamente indipendenti. Un attaccante che copiasse il verificatore dal tuo file di impostazioni non avrebbe nulla di utile per la decifratura — dovrebbe comunque fare brute-force della password.
Snoq esporta il vault come archivio ZIP cifrato. L'esportazione mantiene la cifratura, così un backup su chiavetta USB o disco cloud rimane sicuro. Per il ripristino, è necessaria la tua password per decifrare — lo stesso modello di sicurezza del vault locale.
No. Non c'è sincronizzazione cloud, nessuna telemetria, nessun report di crash, nessun sistema di account. Snoq verifica i propri aggiornamenti, ma il contenuto delle note, le password e i pattern d'uso non lasciano mai il tuo computer. Puoi verificarlo con qualsiasi monitor di rete.
Pronto a provarlo?
Snoq è gratuito, si installa in pochi secondi e non chiede mai un account.
Scarica Snoq per Windows