Swiss voting technology law sets the standard, in theory

Switzerland – Federal Chancellery Ordinance on Electronic Voting 161.116 of 13 December 2013 (Status as of 1 July 2018)

Key Concepts in Theory

  • the system must be independently evaluated (Article 7, item 1)
  • risk must be assessed (Article 3)
  • the system must be evaluated against detailed requirements (Article 2, section a, Article 4, Article 7, item 2 and item 3)
  • the source code must be made available (Article 7a and Article 7b)

Also notable is that the default maximum authorised participation in electronic voting is 30%.  From above 30% to 50% additional requirements apply, and above 50% even more requirements apply.

In Practice

Unfortunately in practice, for a 2019 public intrusion test, the conditions on both the general testing and the availability of source code were restrictive.

There was not in any sense either unrestricted public testing nor unrestricted publically available open source code.

(If you’ve heard that the tested voting system was withdrawn when serious security flaws were found, this is true, but discovery of these security flaws happened through access to the source code outside of the restrictive agreement.)

My Recommendations

The Swiss ordinance has model principles that should be adopted for evaluating online voting.  In particular independent public evaluation and availability of public source code are key (although keep in mind that source code availability doesn’t mean perfect confidence in the code that actually runs).

The Swiss law is however too complex, and it allowed the interpretation loopholes that led to restrictive terms of use in practice.

Therefore the model principles for evaluating online voting must also include clear language on unrestricted public testing and unrestricted public access to source code.

It’s also important that the independent testing include not just funded open hacking competitions (which are useful) but also direct funding to academic research groups.  The cryptography used in modern voting systems is extraordinarily complex; the academics who are expert in it don’t have free time and don’t work for free.

(Even with academics funded to study the voting system, be mindful that nation-state attackers have far more time and resources to devote to finding flaws in systems, as well as having arsenals of zero-day attacks they could choose to deploy during an election.)

Detailed Technical Language

Below are extracts of the technical language from the ordinance.

Voting System Must Meet Requirements

Art 2. … The authorisation for electronic voting in any individual ballot shall be granted provided the following requirements are met:

a.
The system for electronic voting (the system) is implemented and operated so as to guarantee secure and trustworthy vote casting (Annex No 2 and 3).

There Must Be A Risk Assessment

Art 3. … By the means of a risk assessment, the canton must document in detailed and understandable terms that any security risks are within adequate limits. The assessment covers the following security objectives:

a.
the accuracy of the result;
b.
the protection of voting secrecy and non-disclosure of early provisional results;
c.
the availability of functionalities;
d.
the protection of personal information about voters;
e.
the protection of voter information against manipulation;
f.
the non-disclosure of evidence of vote casting behaviour.

Progressively Higher Requirements As Authorised Participation Increases

The ordinance takes an unusual approach which is to set progressively higher bars to increased availability of online voting. By default, the maximum percentage of the Swiss electorate allowed to use online voting is 30 percent (30%).

At 30% participation there is a minimum set of validation requirements

Art 7. 3If no more than 30 per cent of the cantonal electorate are to be authorised to participate in a trial and the system has the property of complete verifiability in terms of Article 5, the system and its operation must be examined in particular detail with regard to the following criteria:

a.
cryptographic protocol (Annex No 5.1);
b.
functionality (Annex No 5.2), whereby the examination may exclude the software in portals of authorities that are linked to a system;
c.
security of infrastructure and operation (Annex No 5.3), whereby the examination may be limited to the infrastructure that registers the vote and creates the proof for the voter in accordance with Article 4 paragraph 2;
d.
protection against attempts to infiltrate the infrastructure (Annex No 5.5);
e.
control components (Annex No 5.4).2

To exceed 30%

Art 4.1If a system is to be authorised to cover more than 30 per cent of the cantonal electorate, the voters must be able to ascertain whether their vote has been manipulated or intercepted on the user platform or during transmission (individual verifiability, Annex No 4.1 and 4.2).

along with other conditions

Above 30% participation there are also different validation requirements

Art 7. 2If more than 30 per cent of the cantonal electorate are to be authorised to participate in a trial (Art. 4 and 5), the system and its operation must be examined in particular detail with regard to the following criteria:

a.
cryptographic records (Annex No 5.1);
b.
functionality (Annex No 5.2);
c.
security of infrastructure and operation (Annex No 5.3);
d.
protection against attempts to infiltrate the infrastructure (Annex No 5.5);
e.
requirements for printing offices (Annex No 5.6);
f.1
when using a system has the property of complete verifiability in terms of Article 5: control components (Annex No 5.4).

To exceed 50%

Art 5.1If a system is to be authorised to cover more than 50 per cent of the cantonal electorate, it must be ensured that voters or the auditors are able, subject to compliance with voting secrecy, to identify any manipulation that leads to falsification of the result (complete verifiability, Annex No 4.3 and 4.4).

along with other conditions

Independent Assessment

Art. 7 Requirements for examinations

1 The cantons shall ensure that meeting the requirements is examined by independent agencies. The examination is made in particular if the system or its operation has been changed in such a way that meeting the requirements for authorisation could be called into question.

Publication of Source Code

Publication of source code is required, but it’s tangled in the level of authorised participation and in other attributes, so I will just include the entire section

Art. 7a1Publication of the source code

1 The source code for the system software must be made public.

2 Publication shall take place when the system has the property of complete verifiability in terms of Article 5, and:

a.
following the examination in accordance with Article 7 paragraph 2 if more than 30 per cent of the cantonal electorate are to be authorised to participate in a trial;
b.
following the examination in terms of Article 7 paragraph 3 if no more than 30 per cent of the cantonal electorate are to be authorised to participate in a trial.

3 There is no requirement to publish the source code of the following:

a.
third-party components such as operating systems, databases, web and application servers, rights management systems, firewalls or routers, provided these are freely available and regularly updated;
b.
portals of authorities that are linked to a system.

1 Inserted by No I of the FCh O of 30 May 2018, in force since 1 July 2018 (AS 2018 2279).

Art. 7b1Modalities for publishing the source code

1 The source code must be prepared and documented according to the best practices.

2 It must be easily obtainable, free of charge, on the internet.

3 The documentation on the system and its operation must explain the relevance of the individual components of the source code for the security of electronic voting. The documentation must be published along with the source code.

4 Anyone is entitled to examine, modify, compile and execute the source code for ideational purposes, and to write and publish studies thereon. The owner of the source code may permit its use for other purposes.

1 Inserted by No I of the FCh O of 30 May 2018, in force since 1 July 2018 (AS 2018 2279).

Official Versions

As English is not an official language of Switzerland, the annexes to the ordinance and explanations about the ordinance are available only in German, French and Italian.  The annexes provide additional technical detail and there was also an explanatory report produced in 2018 providing context about the need to publish the source code.

UPDATE 2019-05-24: Also see the E-voting home pages and policy pages for each language

One thought on “Swiss voting technology law sets the standard, in theory

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s