À l’échéance, un lien secret qui expire détruit le secret : dans LinkPilot, le texte chiffré stocké est écrasé, et il ne reste plus rien à récupérer. Un raccourcisseur de liens qui se met à renvoyer 410 Gone a seulement arrêté la redirection. Tout lien qui transporte un secret doit avoir une expiration, car sans elle votre garantie « à usage unique » s’affaiblit sans bruit chaque jour où le lien reste non lu. Cet article explique ce que l’expiration protège vraiment, comment choisir une durée que vous pouvez justifier, les cas limites qui posent problème en pratique et les situations où un lien qui expire n’est pas du tout le bon outil. Pour voir le fonctionnement d’abord, le générateur gratuit de liens secrets à usage unique applique une expiration à chaque secret qu’il crée.
Que protège réellement une expiration ?
L’expiration plafonne la fenêtre de fuite. Un lien qui a fonctionné cinq minutes vaut bien moins pour un attaquant qu’un lien qui a fonctionné une semaine, même si les deux étaient des liens « à usage unique ».
Pensez à tous les endroits où se retrouve une URL contenant un secret une fois le message envoyé : la boîte de réception du destinataire, le stockage de son fournisseur de messagerie, peut-être une copie transférée, un historique de messagerie synchronisé sur un téléphone, une entrée dans l’historique du navigateur. Vous ne contrôlez aucune de ces copies. Ce que vous pouvez contrôler, c’est la durée pendant laquelle chacune reste utilisable. Avec une expiration d’une heure, chaque copie égarée de cette URL perd toute valeur soixante minutes après sa création, où qu’elle ait atterri.
L’expiration couvre aussi une défaillance humaine bien réelle que la destruction après lecture ne peut pas couvrir : le destinataire n’ouvre jamais le lien. La destruction après lecture ne se déclenche qu’à la lecture. Un lien non lu et sans expiration reste indéfiniment dans une boîte de réception, toujours actif, toujours trouvable par la recherche, à un seul transfert de la mauvaise personne.
Expiration et destruction après lecture couvrent des défaillances différentes
Ces deux mécanismes sont sans cesse confondus. Ils sont indépendants, et la configuration la plus solide utilise les deux :
| Défaillance | La destruction après lecture la couvre ? | L’expiration la couvre ? |
|---|---|---|
| Le destinataire lit le secret, puis le lien traîne dans sa boîte de réception | Oui, le lien est déjà mort | Oui, à terme |
| Le destinataire ne l’ouvre jamais | Non, le lien reste actif pour toujours | Oui |
| La mauvaise personne l’ouvre en premier | En partie : le secret est détruit, et la piste d’audit le montre | Non |
| L’URL fuit des semaines plus tard depuis un export de messagerie | Seulement s’il a été lu | Oui, le lien est mort depuis longtemps |
Notez la ligne « mauvaise personne » : aucun des deux mécanismes n’empêche cette lecture. C’est le rôle d’une phrase de passe transmise par un autre canal. L’expiration limite la durée, la destruction limite le nombre de lectures, la phrase de passe limite qui peut lire. Ce sont trois réglages distincts.
Combien de temps un lien secret doit-il rester actif ?
Le temps prévu pour la transmission, plus un délai raisonnable, et pas davantage. Voici une règle pratique selon la situation :
| Situation | Durée | Pourquoi |
|---|---|---|
| Transmission en direct (messagerie, appel, partage d’écran) | 1 heure (la durée prédéfinie la plus courte) | Le destinataire est présent ; la destruction après lecture ferme le lien dès qu’il le lit |
| E-mail à un destinataire connu et réactif | 1 heure | Couvre le délai de réception sans laisser de fenêtre ouverte toute la nuit |
| Transmission planifiée (onboarding demain à 10 h) | 24 heures | Résiste à un retard de planning ; le lien est quand même mort le surlendemain |
| Destinataire dans un fuseau horaire éloigné | 24 à 48 heures | Sa journée de travail peut ne pas recouper la vôtre du tout |
| Tout besoin au-delà de 7 jours | Arrêtez-vous | Le lien n’est pas le bon outil : utilisez un coffre-fort |
Le principe derrière ce tableau : fixez la durée au temps prévu pour la transmission plus un délai raisonnable, et non à « assez long pour ne plus jamais y penser ». Les durées choisies par confort finissent par tendre vers l’infini.
Une transmission minutée, étape par étape
Un nouvel ingénieur arrive demain à 10 h 00. Vous devez lui transmettre le mot de passe en lecture seule de la base de données de production.
- 09 h 55 : créez le lien secret depuis votre compte LinkPilot, avec la destruction après lecture activée, une phrase de passe et une expiration personnalisée à 11 h 00. L’expiration à une heure précise et la phrase de passe sont deux fonctionnalités du forfait Pro ; avec connexion, les durées prédéfinies sont 1 heure, 24 heures ou 7 jours, et le générateur sans compte fixe 7 jours.
- 09 h 56 : envoyez le lien par e-mail.
- 09 h 58 : envoyez la phrase de passe par SMS ou en message privé Slack, un canal différent de celui du lien, pour qu’une seule fuite ne suffise pas.
- 10 h 05 : le destinataire ouvre le lien, saisit la phrase de passe et lit le mot de passe une fois. Le lien se détruit.
- 10 h 30 : vous consultez l’historique d’audit. Une seule ouverture, à la bonne heure, depuis un lieu plausible. C’est terminé.
- Si le lien n’est pas lu à 10 h 30 : révoquez-le, relancez la personne et partagez à nouveau en direct. N’attendez pas simplement l’expiration : un lien actif non lu est une fenêtre ouverte.
La durée est assez courte pour qu’un e-mail qui fuit n’ait plus aucune valeur une heure plus tard. La phrase de passe couvre l’interception du lien pendant cette heure. La destruction couvre les relectures. Chaque mécanisme rattrape ce que les autres laissent passer.
Les cas limites à connaître
Les scanners d’e-mails ne consomment ni le délai ni le secret
Les outils de sécurité des messageries d’entreprise récupèrent les URL dès qu’un message arrive. Un lien secret bien conçu traite ces requêtes comme des demandes de métadonnées : l’endpoint d’affichage de LinkPilot ne renvoie qu’un statut pour une requête GET, et une ouverture n’est enregistrée que lors d’un affichage explicite par POST. Un scanner qui interroge votre lien à 09 h 56 ne le détruit donc pas et n’apprend rien d’utile. En revanche, on ne peut pas empêcher un scanner de constater qu’une URL a été envoyée : c’est une raison de plus de transmettre la phrase de passe par un autre canal.
Le destinataire à la 59e minute
L’expiration est appliquée au moment de l’affichage, et non par un nettoyage en arrière-plan dont il faudrait espérer qu’il a tourné. Dans LinkPilot, un secret expiré passe au statut expired au prochain accès, et le contenu est effacé dans la même écriture. Un affichage commencé avant l’échéance et terminé après se résout proprement dans un sens ou dans l’autre : il n’existe pas d’état à moitié expiré.
Le calcul des fuseaux horaires
« Expire dans 24 heures » ne laisse aucun doute ; « expire demain soir » si. Fixez les durées à partir de maintenant et, quand vous prévenez le destinataire, donnez-lui l’échéance dans son fuseau horaire. Un nombre étonnant de plaintes du type « le lien était mort quand je l’ai ouvert » viennent d’une erreur de calcul entre fuseaux horaires.
L’angle de la conformité
L’expiration est aussi la mise en œuvre concrète de deux principes présents dans la plupart des réglementations récentes sur la vie privée : la minimisation des données et la limitation de la conservation (dans le RGPD, articles 5(1)(c) et 5(1)(e)). Si vous devez transmettre des données personnelles, qu’il s’agisse d’une pièce d’identité, d’une fiche client ou d’identifiants d’accès liés à une personne, un lien dont on peut prouver qu’il cesse d’exister après une durée limitée est bien plus facile à expliquer à un auditeur que « c’est quelque part dans la messagerie ». Une piste d’audit qui montre la création, l’ouverture et l’expiration de chaque partage transforme votre affirmation sur la conservation en preuve. Rien de cela ne rend un outil « conforme au RGPD » à lui seul, car la conformité dépend de l’ensemble de votre processus, mais des durées de vie limitées et des journaux d’événements en sont la matière première.
Ce que l’expiration ne règle pas
L’expiration ne remplace pas :
- Le renouvellement. Si le secret lui-même est compromis, l’expiration du lien n’invalide pas les identifiants. Renouvelez-les dans le système d’origine. L’expiration limite la durée pendant laquelle le moyen de transmission reste exploitable ; elle ne dit rien du contenu une fois livré.
- La protection par phrase de passe. L’expiration limite la durée ; la phrase de passe limite l’accès. Les deux sont indépendantes et se combinent sans grand coût.
- Le journal d’audit. L’expiration ne vous dit rien sur qui a vu le secret ni quand. Utilisez pour cela les événements d’audit propres à chaque lien : LinkPilot enregistre la création, l’ouverture, l’échec de phrase de passe, la destruction, l’expiration et la révocation, avec l’horodatage et l’adresse IP hachée.
L’erreur du « je vais prolonger »
C’est tentant et presque toujours une erreur. Le destinataire a accepté une durée. Prolonger sans le dire rompt le modèle de confiance : il a supposé que le lien était mort et a pu traiter le secret en conséquence, ou cesser de surveiller la boîte de réception où il se trouve.
La bonne méthode : révoquez l’ancien lien, créez-en un nouveau avec une nouvelle expiration et prévenez le destinataire. La piste d’audit reste fidèle : un lien, une durée, un résultat par partage. C’est pourquoi LinkPilot vous permet de raccourcir une durée en cours ou de révoquer un lien instantanément, mais n’a volontairement aucun bouton pour prolonger.
Quand un lien qui expire n’est pas le bon outil
Voici honnêtement les limites :
- Un accès récurrent. Si quelqu’un aura encore besoin de la valeur la semaine prochaine, placez-la dans un gestionnaire de mots de passe et partagez l’élément du coffre-fort. Renvoyer des liens à intervalles réguliers revient à un coffre-fort avec des étapes en plus et de moindres garanties.
- Des consommateurs automatisés. Les pipelines de CI et les services doivent récupérer les secrets depuis un gestionnaire de secrets (ou le stockage de secrets natif de la plateforme), pas depuis des URL à usage unique.
- Une large diffusion. Un lien dont quinze personnes ont besoin n’est plus une transmission de secret mais du contrôle d’accès, qui a sa place dans un système conçu pour cela.
Les liens qui expirent excellent dans une seule tâche : faire passer une valeur sensible d’une personne à une autre, une fois, avec des dégâts limités en cas de fuite.
Lectures complémentaires
- Comment fonctionnent les liens secrets à usage unique
- Partager un mot de passe en toute sécurité : 5 méthodes comparées
- Pourquoi les URL laissent fuiter des informations sensibles
- Générateur gratuit de liens secrets
