guest@6admin.io:~$

La sécurité par l'obscurité n'est pas de la sécurité, l'hygiène numérique si

J’ai tenu la même position pendant des années et je l’ai défendue vertement dans un commentaire en avril 2020 :

La sécurité par obscurité, ce n’est pas de la sécurité, au mieux cela fait gagner du temps, au pire cela vous en fait perdre. De plus cela biaise complètement le rapport de confiance ainsi que la fiabilité de ladite sécurité. A éviter…

Et pour illustrer l’absurdité, j’enchaînais sur la recette : ne partagez pas vos sources, ne partagez pas vos specs, obfuscez votre code, chiffrez-le en mémoire, retardez son exécution, rendez-le polymorphique, allez chercher votre payload en remote… wait… on parle d’un malware là ?

Ce catalogue, c’est littéralement celui des techniques d’évasion de malware. Quand les contre-mesures que vous recommandez sont indiscernables de celles d’un malware, c’est que vous avez un problème de définition.

Mais en novembre 2025, dans une discussion sur l’exposition publique d’informations, j’ai moi-même corrigé ma formule catégorique habituelle : j’éviterais de parler de sécurité par l’obscurité ici, mais plutôt d’hygiène numérique. Cet article, c’est l’histoire de ce glissement de terrain et de ce qu’il reste de la question une fois qu’on arrête de la caricaturer.

Ce que l’obscurité ne fait pas

Le reproche fondateur tient toujours. Une sécurité qui repose sur le secret de son mécanisme :

  • Ne retarde qu’un attaquant motivé. Un scan automatisé traverse un changement de port en minutes. Un port knock sniffé une fois est rejoué à l’infini.
  • Biaise le rapport de confiance. La “protection” donne l’illusion d’être couvert, l’admin arrête de durcir ce qui compte vraiment. C’est le pire effet : l’obscurité dégrade la fiabilité du reste.
  • Se retourne contre vous. Le mécanisme secret devient une surface d’attaque de plus. Quand il casse, vous êtes locked out de votre propre serveur.

Exemple vécu : le port knocking . Dans les années 2000 j’en utilisais et même une variante maison basée uniquement sur les flags TCP de ports généralement non filtrés (80, 443…), variant en fonction d’une variable temporelle pour éviter le côté sniffable et rejouable. J’ai aimé ça, j’ai causé des heures de débogage à des collègues et je le reconnais aujourd’hui pour ce que c’était : de la sécurité par l’obscurité, avec une couche opérationnelle de plus à maintenir. La séquence est sniffable, rejouable et le jour où la règle firewall et la règle knock divergent, vous vous enfermez dehors.

Le SPA (Single Packet Authorization, fwknop) a corrigé la partie crypto : un seul paquet, authentifié, non rejouable. C’était mieux. C’était aussi une couche opérationnelle de plus, pour un effet dont WireGuard donne l’équivalent nativement, mais on y revient.

Même verdict pour le débat éternel du port 22. Déplacer SSH ne fait que ralentir une véritable attaque : en dehors des scans automatisés et du bypass de firewalling, ça ne sert qu’à se bercer d’illusions. Multiplexer le 22 avec SSLH sur le 443, idée que j’ai expérimentée et que je classerai volontiers dans les mauvaises idées séduisantes : la lisibilité du flux et le debugging en casent la moitié du temps.

Ce que Kerckhoffs ne couvre pas

Alors faut-il jeter l’obscurité entière ? Non et c’est là que la nuance de 2025 arrive.

Le principe de Kerckhoffs pose que la sécurité d’un système cryptographique ne doit reposer que sur le secret de la clé, pas du système. C’est fondamental, mais son domaine d’application est la cryptographie. Il ne s’étend pas à tous les domaines.

Un contre-exemple trivial : une photo postée sur les réseaux sociaux permet, avec relativement peu de moyens, de récupérer des informations allant de la simple géolocalisation au clonage des clés de serrure physiques, en passant par l’identification des personnes, des lieux, des habitudes. On n’est plus dans un problème de chiffrement : on est dans un problème d’exposition d’information. Kerckhoffs ne dit rien de la quantité d’information publique qu’on déverse sur soi.

Autre contre-exemple : le triangle des ressources. Mon mot de passe, ma clé SSH, mon code d’accès : trois choses différentes, dont la compromission a des conséquences différentes et dont la rotation a des coûts différents. Les traiter comme un seul “secret” sous prétexte que Kerckhoffs parle de clés, c’est confondre la crypto et l’hygiène.

Le principe correct ici est plus simple et plus ancien que Kerckhoffs : ne pas exposer d’information inutilement. L’introduction contrôlée d’obscurité ou d’aléa sur les informations publiques tend à réduire la surface d’exposition et la prévisibilité des cibles. Pas comme défense, comme hygiène.

L’exemple qui résume tout : le port ouvert invisible

Prenons le besoin de départ du port knocking : “je ne veux pas que mon service soit visible”. En 2000, la réponse était un enchaînement de ports. En 2026, la réponse tient en une phrase : un serveur WireGuard ignore silencieusement tout paquet non authentifié. Même effet d’invisibilité, une vraie crypto, pas de couche opérationnelle en plus, kernel-space et rapide.

WireGuard ne masque pas son existence à un attaquant qui connaît le protocole, certes. Mais il ne répond à personne d’autre que ses pairs : pas de bannière, pas de fingerprint applicatif, pas de log de tentatives à monitorer. Le “ralentissement” que promettait le port knocking devient un refus par construction.

Pour du mesh ou du direct peering, WireGuard est simple à mettre en œuvre et performant. En entreprise on trouve encore beaucoup d’IPSec (Site-to-Site où l’interopérabilité Fortinet/Cisco/Stormshield est non négociable) et d’OpenVPN (client-to-site où le fallback TCP et le routage flexible comptent). Mais le pattern est là : là où une couche d’obscurité ajoutait un mécanisme fragile, une conception correcte (authentification par défaut, silence sur l’échec) produit le même effet sans la dette.

Même logique pour l’usage de secours : le portknocking/SPA, quand je le garde, c’est uniquement comme mécanisme d’urgence, en cas de défaillance qui m’empêche de passer par ailleurs, avant de devoir me taper la console via le KVMoIP ou l’IPMI du fournisseur. Un plan B documenté, pas une stratégie.

Hygiène numérique : le nom correct

Ce que le vieux débat “obscurité oui/non” rate, c’est que la question a deux étages distincts :

  1. Le mécanisme : chiffrement, contrôle d’accès, authentification. Ici Kerckhoffs s’applique, l’obscurité comme seule couche est un anti-pattern, fin du débat.
  2. L’exposition : ce que vos métadonnées, vos captures d’écran, vos listes de dépôts, vos profils et vos photos racontent de vous et de votre infrastructure. Ici personne ne réclame de secret algorithmique : on demande de la maîtrise de l’information publique.

Le second étage n’a pas de nom technique très glamour. On l’appelle OSINT côté attaquant et hygiène numérique côté défenseur. Le principe de moindre exposition : ne publier que ce qui a une raison d’être publié, perturber ce qui est publié inutilement et considérer que chaque bit public est déjà dans un corpus d’entraînement ou un index de recherche.

L’obscurité y a une place, complémentaire à la sécurité par conception, exactement comme les rideaux complémentaires à une serrure : ils n’empêchent pas l’effraction, ils réduisent ce que le passant sait de votre intérieur. La confondre avec une couche de défense, c’est le malware recipe. La rayer de la palette sous prétexte que “security through obscurity”, c’est confondre la conception du mécanisme et la gestion de l’exposition.

En résumé

  • La sécurité par l’obscurité n’est pas une stratégie : elle retarde, biaise la confiance et se retourne contre vous. La comparaison avec la toolbox malware n’est pas un gag, c’est un diagnostic.
  • Kerckhoffs s’applique aux mécanismes cryptographiques, pas à la gestion de l’information publique. Ne pas exposer inutilement est un principe d’hygiène, pas d’obscurité.
  • La plupart des besoins historiques du port knocking et du déplacement de port sont couverts nativement par une conception correcte : WireGuard ignore silencieusement tout ce qui n’est pas authentifié.
  • La maîtrise et la perturbation des informations publiques font partie intégrante de l’hygiène numérique moderne. Pas une stratégie, une discipline quotidienne.