Swiss Post publishes the source code for its e-voting system 07.02.2019
Swiss Post is publishing the source code for its e-voting system in accordance with the requirements of the Confederation and cantons. This will enable IT experts to test the system.
Computers operate solely with bits and bytes. These are long series of numbers that are incomprehensible to people. Before a computer can execute a program, it needs a language understandable to both human and machine – the source code. It is behind every program, website and file. Companies generally protect the source codes of their systems.
Swiss Post believes that only a transparent e-voting solution can be successful, which is why it is publishing the source code for its e-voting solution in accordance with the specifications of the Confederation and cantons. The publishing of the source code is a mandatory precondition for the use of the fully verifiable version of the e-voting system in regular votes. This will enable IT experts to test the system for vulnerabilities. Registration is required to view the source code.
Publishing studies and handling the source code
The terms of use must be accepted to gain access to the source code. These stipulate that any vulnerabilities discovered must be reported to Swiss Post in the first instance. After a waiting period, the vulnerabilities discovered or studies can be published. The sections of the source code relevant to the publication may be cited in these studies. The distribution or publication of the source code, whether in whole or in part, is not permitted outside the scope of such a publication.
Testing of security elements
The information published particularly relates to the core elements of the encryption components. This will make it possible to test all the security aspects of the encryption protocol that constitute complete verifiability at application level. The source codes of external components (e.g. operating systems or web servers) do not need to be disclosed in accordance with the law.
Swiss Post is also publishing other documents in addition to the source code:
- System documentation: general description of the voting process, the infrastructure, the security measures and operation of the e-voting solution.
- Specification of the cryptographic protocol *: detailed description of the cryptographic protocol
- Software architecture*: description of the underlying components and how they interact within the software system
- Auditability documentation*: detailed description of how the election results can be checked.
- Cryptographic protocols: Four scientific articles describe the protocol used.
*These documents are available on the platform GitLab (registration is required).
Public intrusion test
Swiss Post’s e-voting system attained complete verifiability in January 2019. This means that both voters and cantons can check whether any instances of manipulation have occurred during the voting process.
Swiss Post is subjecting this fully verifiable version of the system to a public intrusion test (PIT) in accordance with the requirements of the Federal Council and the cantons. It will run from 25 February until 24 March 2019 and provide hackers and other independent IT specialists with the opportunity to put the system to the test with deliberate attacks using the source code as support (registration).