La sécurité est une caractéristique essentielle de nos vies modernes. Avec le nombre de choses qui dépendent des communications numériques, la sécurité est désormais fondamentale. Prenons l'exemple de la simple connexion à un site Web. Si la connexion est cryptée de manière sécurisée, vous pouvez être sûr que les données envoyées entre vous et le serveur Web ne sont pas modifiées et inconnues de tous les autres. Si vous vous connectez de manière non sécurisée, tout appareil qui transmet ou peut voir la transmission de votre connexion peut voir exactement quelles données sont transmises. Dans ce scénario, tout appareil faisant partie de la chaîne de transmission entre vous et le serveur peut également modifier les données en transit.
Le problème avec tout ce secret, c'est que la plupart d'entre eux ne sont pas secrets du tout. En fait, tout l'algorithme de chiffrement est public. Une seule partie du système doit être secrète pour que les messages chiffrés soient sécurisés. C'est la clé de cryptage. La cryptographie moderne suit le principe de Kerckhoffs de 1883: « un cryptosystème doit être sécurisé, même si tout ce qui concerne le système, à l'exception de la clé, est de notoriété publique. Les systèmes de l'époque reposaient généralement sur un autre principe: la sécurité par obscurité.
La sécurité dans l'obscurité
Le concept de sécurité par l'obscurité semble avoir plus de sens au premier abord. Si tout le système de cryptage est secret, alors comment quelqu'un peut-il décrypter le message? Malheureusement, bien que cela ait du sens, il y a plusieurs problèmes majeurs dont il ne tient pas compte. Le principal problème est simplement que vous ne pouvez pas utiliser le système sans l'ouvrir au risque qu'il soit exposé. Si vous l'implémentez sur un ordinateur, il peut être piraté. Une machine physique peut être volée. Si vous n'enseignez qu'à des personnes de confiance, elles peuvent être trompées ou capturées et torturées.
Un exemple classique d'un tel système est le chiffrement par décalage de César. Il porte en fait le nom de Jules César, qui l'a utilisé pour la correspondance sensible. Les chiffres de César ajustent la transposition d'une lettre à l'autre de manière cyclique. César a utilisé un décalage à gauche de trois, ce qui a fait que D est devenu A. Ceci est connu de la "Vie de Jules César" écrite par Suétone en l'an 56 après JC. On ne sait pas à quel point ce chiffrement était sécurisé à l'époque. Un tel système n'offrirait désormais pratiquement aucune sécurité. La raison en est que le système repose sur le fait que le système reste secret. Techniquement, il utilise une clé, cette clé est le nombre de places décalées dans l'alphabet. Le nombre de clés possibles est cependant si petit que toutes les options possibles peuvent être facilement testées, même à la main. Cela ne laisse qu'un manque de connaissance du système en tant que facteur de protection.
L'ennemi connaît le système
À un moment donné, l'ennemi, quel qu'il soit, sera probablement capable de comprendre complètement votre système comme s'il était public. Si votre système n'est sécurisé que si le système est secret, alors lorsque le système est compris, vous devez le remplacer. Cela coûte cher et prend du temps. Si, au lieu de cela, votre système ne repose que sur le secret d'une clé, ce n'est pas seulement beaucoup plus facile à garder secret, mais c'est aussi plus facile à changer.
Les systèmes complexes et mal documentés sont souvent difficiles à mettre en œuvre correctement. Ils sont également difficiles à entretenir, surtout lorsqu'ils ne sont pas entretenus par le créateur. Une documentation suffisante doit exister pour que les utilisateurs légitimes puissent utiliser le système. Cette documentation peut alors être acquise par un adversaire qui peut alors acquérir une compréhension partielle ou totale du système.
De plus, une cryptographie appropriée est incroyablement difficile à bien faire, même pour les personnes familiarisées avec les concepts. Si un système est conçu par un non-expert, il y a de fortes chances qu'il comporte au moins des défauts mineurs, voire majeurs. Un système public peut être revu par tous les experts, sur une période de plusieurs décennies. Cela donne une bonne raison de croire qu'un système bien connu est réellement sécurisé.
Conclusion
La sécurité par l'obscurité est le concept d'un système qui est sécurisé parce que le mécanisme du système n'est pas compris. Malheureusement, il est relativement facile de comprendre le système, puis difficile de développer un système suffisamment nouveau. Les systèmes de sécurité modernes, tels que la cryptographie, sont généralement publics et reposent sur la sécurité d'une clé secrète pour protéger les données qu'elle sécurise. La clé peut être changée à volonté. De nombreuses clés différentes peuvent être utilisées simultanément par différentes personnes sans effet indésirable. Il est beaucoup plus facile de sécuriser une petite clé qu'un système entier. Il est également beaucoup plus facile de le changer lorsqu'il est compromis.