Tout ce qu'il faut savoir pour déployer, utiliser et comprendre la sécurité de l'outil.
SendPass permet de transmettre un mot de passe sans qu'il transite en clair dans un email ou un chat. Le secret et la clé de déchiffrement sont transmis par deux canaux séparés.
Le mot de passe est chiffré avec une clé de 256 bits et un vecteur d'initialisation aléatoire généré à chaque usage.
La clé de chiffrement est dérivée de la clé utilisateur et du token de l'URL via PBKDF2-SHA256. Sans les deux, impossible de déchiffrer.
Un code d'authentification est calculé sur le chiffré. Toute altération du fichier ou mauvaise clé est détectée avant déchiffrement.
Dès qu'un mot de passe est consulté, son entrée est marquée comme vue. Tout rechargement de la page retourne une erreur.
Chaque lien a une durée de vie maximale (1h à 24h). Le fichier de stockage est entièrement vidé chaque nuit à minuit.
La clé secrète est hashée en bcrypt avant stockage. Une attaque sur le fichier ne permet pas de retrouver les clés.
Aucune base de données requise. SendPass fonctionne avec PHP 8.1+ et un serveur web Apache ou Nginx.
sendpass/data/config.phpSi vous utilisez Nginx, ajoutez cette règle dans votre bloc server (le .htaccess ne fonctionne que sous Apache) :
Les données sont stockées dans un seul fichier JSON local, sans base de données. Le nettoyage est automatique et se déclenche à chaque création de lien :
Il n'existe aucun accès administrateur ou historique des mots de passe partagés. Une fois supprimée, une entrée est irrécupérable.
Non. Le mot de passe est chiffré avant stockage et la clé de déchiffrement n'est jamais enregistrée — seulement son hash bcrypt. Sans la clé saisie par le destinataire, le chiffré stocké ne peut pas être décodé.
Sans la clé secrète, le lien seul est inutile. Le chiffrement AES-256 avec dérivation PBKDF2 rend une attaque par force brute sur la clé extrêmement coûteuse.
Pas sans adaptation. Le stockage est un fichier local ; pour un environnement multi-serveurs, il faudrait pointer DATA_FILE vers un partage réseau commun (NFS, SMB) ou réécrire la couche de stockage.
Pour un usage interne ou une équipe, la charge est négligeable. Le verrou fichier (flock) sérialise les écritures concurrentes : pour un trafic élevé, une base de données serait plus adaptée.
Si, potentiellement. Pour éviter cela, configurez votre serveur pour masquer les query strings dans les logs d'accès, ou passez en POST. Le token seul (sans la clé) ne permet pas de déchiffrer, mais c'est une bonne pratique de le protéger.