Le premier argument invoqué est la sécurité. C’est recourir au concept contestable de sécurité par l’obscurité [1]. C’est comme de cacher un double de la clé de votre maison, au cas où vous seriez enfermé dehors. La faille de sécurité est que quelqu’un puisse rentrer chez vous avec cette clé. Cette faille est supposée comblée par l’ignorance de l’existence de cette clé cachée. Mais les cambrioleurs malins savent où chercher...
En informatique, c’est notamment garder secret le code source d’un logiciel. Ce qu’est le code source : explication. Si une faille existe, quelqu’un de malintentionné n’en saura peut-être rien, et ne pourrait donc pas en profiter. Mais cette faille va perdurer parce que peu de gens la cherchent (les concepteurs du logiciel et quelques pirates). Si un pirate la découvre, il pourra en user silencieusement très longtemps.
A l’opposé, un Logiciel Libre (ou Open Source [2]) voit son code source publié sur Internet. Pour peu qu’il soit populaire, beaucoup de monde le scrute : les failles sont découvertes rapidement.
Il est plus approprié de créer de l’obscurité lors de l’utilisation [3] d’un Logiciel Libre ou Open Source. Rien ne vous oblige pas à afficher sur votre porte le fabricant et le numéro de série de sa serrure. En cryptographie, la sécurité n’est généralement pas assurée par du secret autour de la technique de cryptage, mais uniquement par la protection de la clé.
Le deuxième argument invoqué est d’éviter de livrer ses secrets de fabrication à ses concurrents. Ou de faciliter ainsi l’entrée sur le marché d’un nouveau venu. Il est bien connu que l’Etat achète fréquemment des biens volés... Notons qu’une société aussi importante qu’IBM vit très bien en donnant le système d’exploitation Linux à ses clients : elle vend le matériel (les ordinateurs) et facture du service (la configuration des logiciels libres). Dans le cas précis des machines à voter, il est bien étrange que les intérêts commerciaux priment sur la démocratie.
Un troisième argument inavouable est de cacher la médiocrité de son travail. Bien écrire un logiciel n’est pas chose facile, mais le faire au grand jour incite à la qualité.
Les divers systèmes d’exploitation pour votre ordinateur illustrent cela :
- Windows, dont vous connaissez peut-être le caractère capricieux et la sensibilité aux virus, préfére l’obscurité : son code source n’est pas publié.
- Linux, sûr et fiable, est un Logiciel Libre.
- le noyau de Mac OS X (Darwin) est Open Source.
Une société peut parfois divulguer son code source à des personnes triées sur le volet (après leur avoir fait signé maints documents juridiques), par exemple lors de l’agrément des machines à voter. Ce n’est pas toujours le cas en France, en dépit des recommandations de la CNIL. Et comment procéde-t-on à l’étranger ? Détails concernant tous ces points.
Dans le cas du vote électronique, publier le code source, outre l’aspect quasiment philosophique (le fonctionnement d’une élection est public, le code source devrait l’être également) serait une tentative de s’assurer qu’il n’y a pas de fonctionnalité cachée dans le logiciel. Pas d’oeuf de Pâques, ni de cheat code, ni de backdoor... Hélas seulement une tentative, car comment garantir que la machine à voter devant vous le jour de l’élection contienne bien le logiciel publié ?