Fonctionnement
Sécurité
Les mécanismes utilisés par Dnote pour protéger les notes confidentielles.
Autodestruction
Toute note transmise au serveur est finalement détruite. Les notes non lues sont détruites après 30 jours. Les notes consultées sont détruites immédiatement après leur lecture et le navigateur quitte la page après trois minutes. Lorsqu’une note est détruite, elle est écrasée avec des données aléatoires. L’application ne fait aucune hypothèse concernant le système de fichiers sous-jacent : mieux vaut prévenir que guérir.
Consultation unique
Une note ne peut être consultée qu’une seule fois. Si une personne tente de l’ouvrir après sa première consultation, la note ayant été détruite, elle est redirigée vers une erreur 404 standard.
Chiffrement AES-256 et HMAC-SHA512
Avant son enregistrement sur le disque, chaque note est compressée avec ZLIB puis chiffrée avec AES-256 en mode CTR et authentifiée avec HMAC-SHA512. Les clés AES-256 et HMAC-SHA512 ne sont jamais enregistrées sur le disque : elles font partie de l’URL.
Mot de passe privé
L’application utilise pour chaque note une clé aléatoire intégrée à l’URL, qui participe au chiffrement et au déchiffrement. Elle permet aussi d’utiliser un mot de passe personnalisé au moyen d’une fonction de dérivation PBKDF2. Ce mot de passe privé n’est pas enregistré sur le disque par l’application. Cela n’empêche toutefois pas un administrateur de modifier le code pour le faire ; il est donc préférable d’héberger vous-même l’application.
Protection anti-abus
Avant la création d’une note, le serveur émet un challenge aléatoire signé, utilisable une seule fois et valable quelques minutes. Le navigateur résout une preuve de travail SHA-256 dans un processus séparé afin de conserver une interface réactive. La difficulté par défaut est volontairement réglée pour rester généralement inférieure à une seconde. Le serveur vérifie la signature, l’expiration, la difficulté et la preuve, puis enregistre atomiquement l’identifiant du challenge pour empêcher sa réutilisation. Des quotas par adresse réseau, par note et globaux complètent cette protection. Aucune empreinte de navigateur ni service CAPTCHA tiers n’est utilisé.
