Le principe de la sécurité par l'obscurité (de l'anglais : « security through/by obscurity ») repose sur la non-divulgation d'information relative à la structure, au fonctionnement et à l'implémentation de l'objet ou du procédé considéré, pour en assurer la sécurité. Cela s'applique aux domaines sensibles de l'informatique, de la cryptologie, de l'armement En cryptologie, la sécurité par l'obscurité va à l'encontre du principe de Kerckhoffs qui veut que la sécurité de tout cryptosystème ne repose que sur le secret de la clé. Un message chiffré, par exemple avec ROT13, ne peut rester secret que si la méthode utilisée pour chiffrer reste inconnue de l'adversaire. Si l'attaquant « connaît le système » alors il sera capable de déchiffrer le message. Les cryptologues prônent la transparence en matière de processus et de conception de primitives cryptographiques. Une telle pratique permet de mieux évaluer la sécurité des algorithmes. Pour éviter que quiconque puisse retrouver le code source d'un programme à partir de la version compilée (binaire), certaines sociétés utilisent des programmes pour rendre l'analyse plus ardue. Il existe différentes méthodes. On peut citer : obfuscation du code (voir plus bas) ; chiffrement du programme ; exécution de code distant : une partie du programme est téléchargée à chaque lancement ; Obfuscation du code machine : ajout d'instructions valides inutiles et/ou d'arguments inutiles aux fonctions (pour rendre la lecture du code plus complexe) ; ajout d'instructions invalides et un saut au-dessus de ces instructions pour dérégler les désassembleurs ne supportant pas ce genre de « protection » ; ajout de protection anti-débogueur ; Une société peut distribuer le code source de ses programmes en les obfusquant au préalable : identifiants renommés avec des noms sémantiquement muets ; suppression de l'indentation, voire de tous les espaces non significatifs ; suppression des commentaires ; ajout d'instructions inutiles ; ajout d'arguments inutiles aux fonctions ; La société IBM développait ses principaux logiciels de mainframes dans un langage nommé PL/360, qui générait de l'assembleur.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.