Sécurité du transfert de fichiers
Dernière mise à jour : 2026-06-05
Cette page explique, en toute transparence, comment Dropfleet protège vos fichiers et quelles bibliothèques assurent cette protection. Elle est fournie à titre informatif et complète les Conditions Générales d'Utilisation et la Politique de confidentialité.
En bref
- Deux modes au choix à l'envoi : Standard (le serveur détient les octets, ce qui permet l'analyse antivirus) et Confidentiel — zero-knowledge (chiffrement de bout en bout : le serveur ne voit jamais vos fichiers en clair).
- Chiffrement en transit systématique (HTTPS/TLS).
- Suppression automatique à l'expiration choisie ou à la limite de téléchargements.
- Aucun script tiers (publicité, statistiques) n'est chargé sur les pages qui portent une clé de déchiffrement.
- Identifiants opaques imprévisibles : un lien ne se devine pas.
Le transfert, étape par étape
- Préparation (navigateur). En Mode Confidentiel, vos fichiers sont chiffrés sur votre appareil avant le moindre envoi. En Mode Standard, ils sont transmis tels quels au stockage.
- Envoi direct. Le navigateur téléverse les octets directement vers le stockage objet via des URLs présignées à durée de vie limitée — l'application ne sert jamais d'intermédiaire pour les octets.
- Stockage. Les octets résident dans le stockage objet (Garage), sur un volume chiffré au repos (LUKS). En Mode Confidentiel, ils sont déjà chiffrés de bout en bout.
- Analyse (Mode Standard). Un antivirus analyse les fichiers avant qu'ils ne deviennent téléchargeables (voir « Antivirus »).
- Téléchargement & déchiffrement. Le destinataire récupère les octets via une URL présignée ; en Mode Confidentiel, le déchiffrement a lieu dans son navigateur.
Mode Confidentiel (zero-knowledge)
En Mode Confidentiel, une clé maître est générée aléatoirement dans votre navigateur et
placée dans le fragment d'URL (la partie après le # du lien de partage). Ce fragment n'est
jamais transmis au serveur par les navigateurs : la clé reste donc entre vos mains et celles des
personnes à qui vous communiquez le lien.
Conséquence directe : l'Éditeur ne peut pas lire vos fichiers dans ce mode — mais toute
personne disposant du lien complet (avec le #) peut les déchiffrer. Transmettez le lien par un
canal sûr.
Détails techniques
Chiffrement de bout en bout (Mode Confidentiel)
| Élément | Détail |
|---|---|
| Bibliothèque | libsodium (libsodium-wrappers-sumo 0.8.4), embarquée dans l'application (aucun CDN externe) |
| Chiffrement du contenu | XChaCha20-Poly1305 en mode secretstream, par blocs de 64 Kio, avec marqueur de fin (anti-troncature : un flux tronqué est rejeté) |
| Clé maître | 256 bits, générée par un générateur cryptographique (CSPRNG, randombytes_buf), transportée en base64url dans le # |
| Sous-clés par fichier | dérivées par BLAKE2b — chaque fichier possède sa propre clé |
| Noms & types de fichiers | chiffrés séparément via crypto_secretbox (XSalsa20-Poly1305) — le serveur ne voit pas les vrais noms |
| Authentification & intégrité | chaque bloc porte un tag Poly1305 : toute altération ou troncature est détectée au déchiffrement |
La compression des archives multi-fichiers utilise fflate (ZIP) ; elle n'a aucun rôle cryptographique — le déchiffrement précède toujours l'archivage.
Mots de passe de transfert
Un mot de passe optionnel peut verrouiller un transfert. Il est haché avec Argon2id (paramètres OWASP : mémoire 19 Mio, 2 itérations, parallélisme 1, sel aléatoire de 16 octets), au format PHC, et vérifié en temps constant. Le mot de passe est un verrou côté serveur : en Mode Confidentiel, il ne remplace pas la clé de déchiffrement.
En transit & au repos
- En transit : tout passe par HTTPS/TLS ; l'en-tête HSTS force le HTTPS sur les navigateurs.
- Au repos : le volume du stockage objet est chiffré au niveau du disque (LUKS). Il n'y a pas de chiffrement applicatif côté serveur en Mode Standard — d'où l'intérêt du Mode Confidentiel pour les contenus sensibles.
Antivirus
En Mode Standard, tous les fichiers sont analysés par ClamAV avant de devenir téléchargeables, quelle que soit leur taille. Pour les très gros fichiers, l'analyse peut prendre du temps : le destinataire voit alors « analyse en cours », et le téléchargement n'est débloqué qu'une fois l'analyse saine terminée ; un fichier détecté comme infecté est supprimé. En Mode Confidentiel, les fichiers étant chiffrés de bout en bout, ils ne peuvent pas être analysés côté serveur.
Cycle de vie & isolation
- Expiration & auto-suppression : chaque transfert est supprimé à son expiration ou à l'atteinte de la limite de téléchargements (worker de purge + index TTL de la base de données).
- Identifiants opaques : les identifiants de transfert reposent sur 128 bits d'aléa — non énumérables.
- En-têtes de sécurité : CSP stricte n'autorisant aucun script tiers
(
script-src 'self' 'wasm-unsafe-eval'),X-Frame-Options: DENY,X-Content-Type-Options: nosniff,Referrer-Policy: no-referrer(le lien et son#ne fuient pas via le référent),Cross-Origin-Opener-Policy,Permissions-Policy. - Limitation de débit par adresse IP et verrouillage des tentatives de mot de passe par transfert.
Bibliothèques et composants
| Composant | Version | Rôle |
|---|---|---|
| libsodium-wrappers-sumo | 0.8.4 | chiffrement de bout en bout (navigateur) |
| fflate | 0.8.x | archivage ZIP côté navigateur (non cryptographique) |
Argon2id (golang.org/x/crypto) |
— | hachage des mots de passe de transfert |
| ClamAV | 1.4 | analyse antivirus (Mode Standard) |
| Garage | v2 | stockage objet S3-compatible (chiffré au repos via LUKS) |
| MongoDB / Valkey | — | métadonnées (expiration TTL) / sessions & limitation de débit |
| Caddy / Traefik | — | terminaison TLS, en-têtes de sécurité |
Ce que la sécurité ne couvre pas (transparence)
- Le lien est la clé. En Mode Confidentiel, quiconque obtient le lien complet (avec le
#) peut déchiffrer le contenu. Un lien peut fuiter (presse-papiers, historique du navigateur, aperçu d'un message). Partagez-le par un canal de confiance. - Métadonnées non chiffrées de bout en bout. La taille approximative, le nombre de fichiers, les adresses e-mail éventuellement fournies et le message d'accompagnement ne sont pas protégés par le chiffrement de bout en bout.
- Mot de passe ≠ clé E2E. Le mot de passe est un contrôle d'accès côté serveur ; il ne chiffre pas le contenu.
- Confiance dans le code servi. Comme tout chiffrement de bout en bout délivré via un navigateur, la confidentialité suppose l'intégrité du code que nous servons (HTML/JavaScript). Nous embarquons nos bibliothèques (pas de CDN tiers) et appliquons une CSP stricte, mais cette limite est inhérente au E2E délivré sur le web.
- Fichier non analysé tant que l'analyse n'est pas terminée. Un fichier Standard très volumineux n'est téléchargeable qu'une fois son analyse antivirus achevée.
Signalement & contact
Pour signaler un contenu illicite, consultez Signalement & retrait (DSA / DMCA). Pour les questions relatives aux données personnelles, consultez la Politique de confidentialité.