C'est le paradigme consistant à fonder la sécurité d'un système sur le fait que l'adversaire ignore comment il marche ... spoiler : très mauvaise idée
C'est généralement un terme utilisé péjorativement pour critiquer un mauvais choix de sécurisation.
Par exemple, vous vous dites "ce serait super pratique que j'ai un moyen facile de retrouver tous mes mots de passe depuis n'importe où". Et là vous avez une idée de génie : je vais mettre la liste de mes mots de passe sur un site Web. Mais d'un coup un éclair de lucidité vous frappe : "hummmm il ne faudrait pas que quelqu'un d'autre tombe dessus". Qu'à cela ne tienne, je vais créer un site Web que moi seul connaît. Voyons comment le nommer ... ... ... petitlamacostaud.fr ! Parfait, personne ne trouvera jamais ce site !
Voilà un exemple de sécurité par l'obscurité. Vous pariez sur le fait que personne ne découvre jamais votre site Web. Et c'est une très mauvaise idée. Seul un amateur peut penser qu'un site resta connu de lui seul. Mais ce n'est pas le sujet.
Le problème c'est que des idées comme ça on en rencontre TOUT LE TEMPS (dans des entreprises de la vraie vie). Et ça donne un faux sentiment de sécurité, ce qui est pire qu'être exposé mais en avoir conscience.
Pour éviter ce travers, Auguste Kerckhoffs a énoncé son célèbre principe en 1883 : un système doit demeurer sécurisé même s'il tombe aux mains de l'ennemi.
Ce qui entraîne aussi un postulat à garder en tête lorsqu'on conçoit un système : considérer que "l'adversaire connaît le système" (célèbre maxime en cybersécurité que l'on doit à Claude Shannon).
Cela a initialement été énoncé pour les méthodes de chiffrement. On voulait avoir des algorithmes dont la confidentialité repose uniquement sur la clé secrète et pas du tout sur le procédé. C'est-à-dire que même si un adversaire connaît tous les détails de la méthode avec laquelle on chiffre les données, il ne puisse rien en faire sans posséder la clé.
Par exemple, je peux imaginer un procédé où j'utilise la 6ème lettre de chaque page d'un livre pour chiffrer mon message (si mon message clair commence par "J", 10ème lettre de l'alphabet, et que la 6ème lettre de la première page de mon livre est un D, 4ème lettre de l'alphabet, alors la première lettre du message chiffré sera un N, la 14ème lettre de l'alphabet). Ainsi, même si l'adversaire découvre que j'utilise ce procédé et qu'il tombe sur mon message chiffré, il ne peut rien faire sans savoir quel livre j'ai choisi (le livre est la clé).
Cela s'oppose donc à de la stéganographie où là c'est le procédé qu'on essaye de garder secret, mais il n'y a pas de clé. Par exemple, Léonard de Vinci écrivait ses carnets devant un miroir de sorte qu'ils ne soient lisibles qu'à travers lui :

Une fois que quelqu'un a compris le procédé, c'est bon il n'y a plus de secret, il peut tout déchiffrer avec n'importe quel miroir.
Ceci étant dit, le principe de Kerckhoffs s'applique très bien à d'autres domaines de la cybersécurité que la cryptographie. En fait il précise utilement la notion de "secret" en général.
Le secret doit être l'élément le plus minime possible du système, il doit être facile à modifier en cas de divulgation, il doit être faisable de ne pas l'exposer aux adversaires, etc.
Par exemple, si la sécurité repose sur la confidentialité d'un mot de passe, c'est un bon secret, il coche toutes les cases : court, modifiable, facile à cacher à l'adversaire (il "suffit" de le mémoriser sans l'inscrire nulle part).
Si inversement ça repose sur la confidentialité du code source de votre logiciel, c'est nul : c'est trop gros, ce n'est pas facilement modifiable, c'est trop exposé (tous les utilisateurs en ont une copie et peuvent faire du reverse engineering).
Ce principe s'applique aussi dans l'appréciation des risques. Il vaut toujours mieux anticiper le scénario le plus favorable à l'adversaire plutôt que seulement le cas le plus courant. En effet, en réfléchissant au pire de cas, au scénario où tout est contre nous, on évite de se faire surprendre.
Et là aussi les reflexes de sécurité par l'obscurité sont courants : "Non mais personne ne la connait cette IP", "Il faudrait que le pirate sache comment marche cet automate, doit y avoir 100 personnes dans le monde", etc. Si c'est matériellement possible, alors il faut partir du principe que ça arrivera !
Un de mes professeurs utilisait l'analogie suivante pour nous faire appréhender la distinction entre les deux approches :
Vous mettez en service un ascenseur et vous hésitez entre deux panneaux d'avertissement :
D'après vous, quelle information est la plus utile à afficher ?