Une faille dans le système de vote internet en Suisse

A la demande du gouvernement suisse, le Pr Olivier Pereira, responsable du Crypto Group de l’UCLouvain, vient d’effectuer, en collaboration avec Sarah Jamie Lewis, Executive Director d’Open Privacy Research Society (Vancouver) et la Pre Vanessa Teague, cryptographe à l’Université de Melbourne, des coups de sonde dans le code du système sVote utilisé en Suisse pour le vote par internet : leur investigation vient de mettre en évidence une trappe dans le système.

Le vote par internet, d’abord proposé dans le cadre de referendums, est aujourd’hui accessible à un nombre croissant de citoyens suisses, sous le contrôle de la Chancellerie fédérale suisse qui impose des contraintes de sécurité. Le système sVote, proposé par la Poste suisse et dont le code est développé par la société Scytl, est le premier à pouvoir être utilisé jusqu’à une proportion de 50% des votants. Tout récemment, le gouvernement suisse a demandé un review public de ce système afin d’en autoriser l'usage par plus de 50% de la population de chaque canton en Suisse pour des élections gouvernementales.

Le Pr Olivier Pereira, responsable du Crypto Group de l’UCLouvain, Sarah Jamie Lewis, Executive Director d’Open Privacy Research Society (Vancouver) et la Pre Vanessa Teague, cryptographe à l’Université de Melbourne, ont effectué des coups de sonde dans le code du système afin de vérifier la manière dont il peut garantir les propriétés de vérifiabilité annoncées et requises. Résultat de leur investigation ? « Elle nous a menés à la mise en évidence d’une trappe dans le système, qui pourrait permettre aux opérateurs du système de vote de modifier un nombre quelconque de votes et de produire un résultat d’élection qui ne serait pas conforme aux votes transmis par les électeurs. » Qui plus est, « de manière préoccupante, cette trappe permettrait de modifier les votes de manière indétectable par les mécanismes de vérification spécifiés par le système ». Autrement dit, une vérification confirmerait… que les résultats sont corrects. Enfin, même en connaissant le fonctionnement de la trappe, il n’est pas possible de détecter une manipulation car l’exploitation de la trappe ne laisse aucune trace.

L’existence de cette trappe est-elle le résultat d’une mise en œuvre inappropriée par des personnes bien intentionnées ? Ou au contraire par des personnes mal intentionnées qui maquilleraient cette trappe en erreur involontaire ou en négligence ? Les chercheurs indiquent que l’examen du code ne leur permet pas de répondre à cette question.

Ils tentent par ailleurs de répondre à d’autres questions :

  • Cette trappe a-t-elle déjà été exploitée en Suisse ou dans d’autres pays où la société Scytl fournit du software en support d’élections ? En cas de doute, et si les données existent encore, il serait possible d’effectuer un nouveau dépouillement avec  un software corrigé.
  • Est-il possible de retirer cette trappe ? Oui, car il existe différents mécanismes cryptographiques, bien documentés dans la littérature scientifique, dont la mise en œuvre permettrait de démontrer et vérifier l’absence de cette trappe.
  • Pourrait il y avoir d’autres trappes ou vulnérabilités dans sVote ? Les chercheurs affirment que leur analyse est trop partielle pour pouvoir affirmer qu’il n’y a pas d’autre vulnérabilité importante dans ce système.

      Publié le 12 mars 2019