Norway used e-voting in its last political election both in September 2011 and September 2013, with more than 28,000 voters using the e-voting option in 2011, and 70,000 in 2013. While some other countries use a black-box, proprietary voting solution, Norway has made its system publicly available. The underlying protocol, designed by Scytl, involves several authorities (a ballot box, a receipt generator, a decryption service, and an auditor). Of course, trusting the correctness and security of e-voting protocols is crucial in that context. In this paper, we propose a formal analysis of the protocol used in Norway, w.r.t. ballot secrecy, considering several corruption scenarios. We use a state-of-the-art definition of ballot secrecy, based on equivalence properties and stated in the applied pi-calculus.
Used in September 2011 and September 2013 for municipality and county elections in Norway [25], e-voting was tested in ten municipalities. During this nationwide local elections, more than 28,000 voters did use internet to cast their vote in 2011 and 70,000 in 2013. While many countries use black-box proprietary solutions, Norway made the protocol publicly available [23]. One key feature of this system is that voters can check that their votes have correctly reached the ballot box (“cast-as-intended” property) without anyone else knowing their vote. The goal of this paper is to conduct a thorough analysis of the Norwegian protocol for the ballot secrecy property: does this system guarantee that no one can know how some voter voted?
Formal methods have been successfully applied to security protocols with the development of several tools such as ProVerif [10], Avispa [4], or Scyther [20] that can automatically analyse both protocols of the literature and fully deployed protocols such as TLS [9]. We therefore chose to model and analyse the Norwegian protocols in a symbolic model named the applied pi-calculus model [1]. A first issue comes from the fact that the underlying encryption primitive is non standard and rather complex. Indeed, the decryption key is split in two shares and with . Each of these three keys , , is given to one administration authority. As further explained in Section 1, this allows for re-encryption and is crucial for the “cast-as-intended” property of the protocol.
Contributions. Our first contribution is a detailed symbolic model for this particular encryption primitive. More precisely, we provide a rewriting system that models El Gamal encryption, re-encryption, blinding function, signatures and zero-knowledge proofs reflecting the primitives used in the protocol. Then, we model the whole system as a process in the applied pi-calculus model. Our second main contribution is a proof of ballot secrecy for several corruption scenarios. Ballot secrecy is typically modeled as follows [21]: an attacker should not be able to distinguish the case where Alice is voting a and Bob is voting b from the converse scenario where Alice is voting b while Bob is voting a. Such a property is typically described by an equivalence of the form
where represents voter Alice voting for v. Such indistinguishability properties are formalized through behavioral equivalence. Here we use observational equivalence ≈ as defined in [1]. Combined with complex equational theories (in particular equational theories with associative and commutative – AC – operators), no existing tool can check for equivalence. Indeed, dedicated tools such as SPEC [34], APTE [15], or AkisS [13] can only handle standard primitives, with the exception of AkisS which covers more primitives but no AC operators. All three tools are moreover limited to a fixed (and small) number of sessions. Recently, the tool Tamarin has been enhanced to cope with equivalence properties [5] but for the moment it requires a high level of interactions. Therefore, the only natural candidate for an automatic analysis of ballot secrecy is the tool ProVerif [10], one of the most generic tools for security protocols. It can check for equivalence [12] for an unbounded number of sessions. However, ProVerif cannot handle equational theories with AC operators either. [2] devises a technique that transforms an equational theory with AC operators into an equational theory without AC operators, that ProVerif can handle. However, [2] is particular to the re-encryption theory (together with any non AC theory) and it is unclear whether it can be adapted to the complex equational theory needed for the Norwegian protocol. Thus we conducted a preliminary analysis of the Norwegian protocol for a simplified – more abstract – model of the protocol (without AC operators), and finite number of voters.
In order to obtain stronger security guarantees, the full equational theory of the cryptographic primitives should be considered. Therefore, the main contribution of the paper is a proof “by hand” of ballot secrecy for two main corruption scenarios: when all authorities are honest (but all but two voters are corrupted) and when the ballot box is corrupted (and again all but two voters are corrupted). We believe that ballot secrecy can be established in a similar way when the receipt generator is corrupted. A preliminary version of ballot secrecy under the first corruption scenario was presented in [18]. While the encryption scheme used in the Norwegian system is particular to the protocol, the Norwegian system also make use of more standard primitives such as signatures or zero-knowledge proofs. When proving ballot secrecy, we developed generic lemmas that could be re-used in subsequent works (e.g. [3]).
Related Work. Since our initial study of the Norwegian protocol [18], Gjøsteen has proposed a detailed security analysis of the protocol [24] for both ballot secrecy and verifiability, under several trust assumptions (a first model and security definitions already appeared in [23]). A first main difference between the two approaches is the security model: we consider a symbolic model while [23,24] rely on a, more concrete, computational model where the attacker is any polynomial probabilistic Turing machine. In that respect, the study in [23,24] is less abstract and provides more precise security assumptions on the underlying primitives. In contrast, one advantage of symbolic models is that they are more amendable for automation as demonstrated by our use of ProVerif for a simplified model. Ballot secrecy is formalized in two different ways in these two approaches: here, we use a definition of ballot secrecy that is the standard ballot secrecy definition in symbolic models [21]. [23,24] model ballot secrecy (and verifiability) through an ideal functionality that needs to be adapted to the protocol under consideration. Another difference between [23,24] and this work lies in the trust assumptions and the properties that are considered. [23,24] consider both ballot secrecy and verifiability while we focus here on ballot secrecy. Regarding trust assumptions and as it is often the case in other studies of e-voting protocols, at least in symbolic models, we assume that the communications between the voter’s computer and the server can be eavesdropped by an attacker, although in practice, these communications typically happen under some secure channel (e.g. TLS). Whenever possible, it is interesting to prove security without relying on external secure channels since their security is typically not under the control of the authorities, as recently exemplified in an Australian election [26]. In contrast, [23,24] assume private communications between the voter and the server and consider all the cases where one of the authorities is corrupted (while we do not consider the case of a corrupted receipt generator). Interestingly, [23,24] shows that the Norwegian protocol remains secure when the decryption device is corrupted while we show this is not the case. This indicates that, when the decryption device is corrupted, ballot secrecy solely relies on the security of the secure channels used by voters.
Several other e-voting protocols have been studied using formal methods. The FOO [22], Okamoto [32], and Lee et al. [30] voting protocols have been analysed in [21]. Similarly, Helios has been recently proved secure both in a formal [17] and a computational [7,8] model. Helios is actually an implementation of a voting system proposed and analyzed (for the available definitions at that time) by Cramer et al [19]. All these protocols were significantly simpler to analyse in a symbolic model due to the fact that the cryptographic primitives were easier to abstract as a term algebra and due to the fact that these protocols involve less steps. Civitas has been analyzed in [29] in a symbolic model, for a rather rich equational theory. The analysis of this protocol remains simpler than the case of the Norwegian protocol, due to the fact that in Civitas, the voting phase does not involve any interaction with the bulletin board. Our study (together with [23,24]) forms the first security proof of a fully deployed Internet protocol in politically binding elections. Enlarging the scope to voting systems that may take place in polling stations (that is not just Internet voting), security analyses include Scantegrity II [14,29,33], Prêt-à-voter [27], and STAR-Vote [6].
Outline of the paper. We provide an informal description of the protocol in Section 1, including details about the different phases of the voting process. Section 3 presents our formal model of the protocol in the applied pi-calculus. The protocol makes use of a special encryption function in combination with signatures, zero-knowledge proofs, blinding functions, and coding functions. We therefore propose a new equational theory reflecting the unusual behavior of the primitives. The main results and corresponding proofs are presented in Section 4. Section 5 gathers the main lemmas needed for the proofs. We believe these lemmas to be of independent interest in the sense they can be useful for further formal studies of different protocols. Most of the proofs are detailed in Sections F and 6 with some additional lemmas postponed to the appendix. Finally, in Section 7, we present a simplified model of the Norwegian protocol and the corresponding security analysis using ProVerif.
The Norwegian e-voting protocol
The Norwegian protocol features four players that define the electronic poll’s infrastructure: a Ballot box (B), a Receipt generator (R), a Decryption service (D) and an Auditor (A). Each Voter (V) can log in using a Computer (P) in order to submit his vote. Channels between computers (voters) and the Ballot box are considered to be authenticated channels, channels between infrastructure’s player are untappable, and channels between voters and receipt generator are unidirectional out-of-band channels. (Example of SMS is given in [23].) The protocol can be divided in three phases: the setting phase, the submission phase, where voters submit their votes, and the counting phase, where ballots are counted and the auditor verifies the correctness of the election.
Setting phase
Before the election, a finite cyclic group G of some prime order q and generator by is selected, three private keys , , and (such that ) are generated and distributed over respectively D, B, and R, while the corresponding public keys , and are made publicly available Each voter V is assumed to have a signing key , with a corresponding verification key, , which is public. The Ballot box B is provided with a table that associates each voter with a blinding factor . The Receipt generator R is also assumed to have a signing key , with a corresponding public verification key, ; and it is given, for each voter V, a pseudo-random function , where is the set of receipts. Finally, each voter V is assumed to receive by surface mail a table that associates to any voting option (from the set ), a precomputed receipt code , where is an injective encoding function.
Submission phase
Submission of one vote.
The submission phase is summarized in Fig. 1. We detail in this section the expected behavior of each participant.
Voter (V). Each voter tells his computer what voting option to submit and allows it to sign the corresponding ballot on his behalf. Then, he has to wait for an acceptance message coming from the computer and a receipt sent by the receipt generator through some out-of-band channel (typically a SMS message). Using the receipt, he verifies that the correct vote was submitted, that is, he checks that by verifying that the receipt code indeed appears in the line associated to the voting option he has chosen.
This check ensures in particular the “cast-as-intended” property. In case the voter’s computer is corrupted and encrypts another vote (say the computer wishes to cast a vote for the Pirate party) then this would be eventually discovered by the voter when receiving the receipt.
Computer (P). Voter’s computer encrypts voter’s ballot with the public key using standard El Gamal encryption. The resulting ballot is . P also proves that the resulting ciphertext corresponds to a valid voting option, by computing a standard proof of knowledge . (This proof is formally presented in Section 3, but a detailed description can be found in [23].) P also signs, on the behalf of the Voter, the ballot with and sends it to the Ballot box. It then waits for a confirmation coming from the latter, which is a hash of the initial encrypted ballot, signed by the Receipt generator. After checking this signature, the computer notifies the voter that his vote has been taken into account.
Ballot box (B). Upon receiving an encrypted and signed ballot from a computer, the Ballot box first checks the correctness of signatures and proofs before re-encrypting the original encrypted ballot with and blinding it with . B also generates a proof , showing that its computation is correct. B then sends the new modified ballot to the Receipt generator. Once the Ballot box receives a message from R, it simply checks that the Receipt generator’s signature is valid, and sends it to the computer.
Receipt generator (R). Upon receiving an encrypted ballot from the Ballot box, the Receipt generator first checks signature and proofs (from the computer and the Ballot box). If the validity checks are successful, it generates:
a receipt code sent by out-of-band channel directly to the Voter. Intuitively, the Receipt generator decrypts the (blinded) ballot, applying the function associated to the voter. This receipt code gives assurance to the voter that the correct vote was submitted to the Ballot box.
a signature on a hash of the original encrypted ballot for the Ballot box. Once transmitted by B, it is checked and passed on to the Voter’s Computer, which checks it once more and informs the Voter that his vote has been taken into account.
Counting phase
Once the voting phase is over, the counting phase begins (Fig. 2). The Ballot box selects the encrypted votes which need to be decrypted (if a voter has voted several times, all the submitted ballots remain in the memory of the Ballot box but only the last ballot should be sent) and sends them to the Decryption service. The whole content of the Ballot box () is revealed to the Auditor, including previous votes from re-voting voters. The Receipt generator sends to the Auditor the list of hashes of ballots it has seen during the submission phase. The Decryption service decrypts the incoming ciphertexts received from the Ballot box and shuffles the decrypted votes before publishing them. It therefore outputs a message of the form where σ denotes the permutation obtained by shuffling the votes. It also provides the Auditor with a proof showing that the input ciphertexts and the outcoming decryption indeed match. Using the Ballot box content and the list of hashes from the Receipt generator, the Auditor verifies that no ballots have been inserted or lost and it computes its own list of encrypted ballots which should be counted. He compares this list with the one received from the Decryption service and checks the proof provided by the latter.
Counting phase.
Security analysis
The rest of the paper is devoted to the modeling and analysis of the protocol. We summarize here informally our main results and we list our main assumptions and simplifications. We formally prove ballot secrecy under two threat scenario:
All but two voters are dishonest and all the authorities (the Ballot box, the Receipt generator, the Decryption service and the Auditor) are honest.
All but two voters are dishonest and all the authorities but the Ballot box are honest.
These two results are obtained assuming authenticated but not necessarily secure communication channels between voters and the Ballot box and Receipt generator, meaning that an attacker may eavesdrop the communications. For this reason, ballot secrecy does not hold as soon as the Decryption device is corrupted. Note also that ballot privacy is also broken as soon as the voter’s computer (P) is corrupted since the voter sends her vote to her computer. We therefore had to assume P to be honest and we chose to model it together with the voter’s behavior. Authentication between the voter and the Ballot box is ensured through a login and password mechanism while authentication from the receipt generator to the voter relies on the out-of-band channel used between them (typically a SMS message).
When modeling the Norwegian protocol in a symbolic model, we had to proceed to some simplifications. First, and as discussed later in Section 3.1, the cryptographic primitives are abstracted by terms together with an equational theory, which potentially leaves out some flaws due to some crafty modifications of some messages. Second, we chose not to model revoting, for simplicity but also since it is explicitly and strongly discouraged in [23], as it may provide to an attacker that control the Ballot box the opportunity to swap the initial and the resubmitted votes. Third, for simplicity, we only consider one-option votes (that voters select one option), rather that a vector of options as in [23]. Finally, we also omit the proof of correct decryption provided by the decryption device since it should not affect ballot secrecy.
Applied pi-calculus
We describe here the applied pi-calculus [1], introduced by M. Abadi and C. Fournet. The applied pi-calculus is a process algebra that is often used to model protocols, and we briefly recall here the notations and definitions, providing some examples.
Terms
Messages are represented by terms built upon an infinite set of names (for communication channels or atomic data), a set of variables and a signature Σ consisting of a finite set of function symbols (to represent cryptographic primitives). A function symbol f is assumed to be given with its arity . Then, the set of terms is formally defined by the following grammar:
We write for the substitution that replaces the variables with the terms . refers to the result of applying substitution σ to the free variables of the term N. A term is called ground when it does not contain variables.
In order to represent the properties of the primitives, the signature Σ is equipped with an equational theory E that is a set of equations which hold on terms built from the signature. We denote by the smallest equivalence relation induced by E, closed under application of function symbols, substitutions of terms for variables and bijective renaming of names. We write when the equation holds in the theory E.
A signature for symmetric, asymmetric encryption and signature is
where and represent resp. asymmetric (randomized) encryption and decryption, and stand resp. for symmetric (randomized) encryption and decryption, models signature, represents a function that checks the validity of signature, and represents the public key associated to a secret key. For example, the term represents the asymmetric encryption of the message m with the public key corresponding to the secret key and random factor r. The properties of the cryptographic functions are represented by the equational theory :
The first equation models that symmetric decryption is only successful if the key used for decryption is the same as the one used for encryption. The second equation reflects that asymmetric decryption only succeeds when the corresponding secret key is used. Finally, the last equation checks that a signature corresponds to a given message and a given verification key.
For some cryptographic primitives, such as homomorphic encryption, it is necessary to introduce associative and commutative symbols. Equational theories including such symbols are called AC-theories. Therefore we define an equality modulo AC, noted , which denotes that two terms are syntactically equal modulo the associative or commutative properties for each AC symbol +.
To represent homomorphic encryption, we may use the signature with + and ∗ two associative and commutative (AC) symbols and the corresponding equational theory , which includes the associative and commutative properties of + and ∗ symbols, and the equation:
This equation models that two ciphertexts encrypted with the same key can be combined to create a ciphertext which corresponding plaintext is the sum of the two previous plaintexts.
Rewriting system
It might be difficult to work modulo an equational theory. Instead, it is often possible (and more convenient) to reason with a rewriting system. Formally, a rewriting system is a set of rewriting rules of the form with l and r two terms. We say that a term s is rewritten in t for rule , noted , if there exists a position p in s and a substitution θ such that and .
(Convergence).
A rewriting system is said convergent if:
for every ground term U, there exists no infinite sequence . (In this case, we say that is terminating.)
for every ground terms U, , and such that and , there exists V such that , and . (In this case, we say that is confluent.)
For AC-theories, we consider rewriting systems modulo AC. Formally, a term s is rewritten modulo AC in t, noted , for a rule if there exist and two terms such that , and is rewritten in for the rule . Then, it is possible to define the notion of AC-convergence.
(AC-Convergence).
A rewriting system is said AC-convergent if:
for every ground term U, there is no infinite sequence . (In this case, we say that is AC-terminating.)
for every ground terms U, , and such that and , there exists V such that , and . (In this case, we say that is AC-confluent.)
Processes
Processes and extended processes are defined in Fig. 3. The process 0 represents the null process that does nothing. denotes the parallel composition of P with Q while denotes the unbounded replication of P (i.e. the unbounded parallel composition of P with itself). creates a fresh name n and then behaves like P. The process behaves like P if ϕ holds and like Q otherwise. inputs some message in the variable x on channel u and then behaves like P while outputs M on channel u and then behaves like P. We write for the (possibly empty) series of pairwise-distinct binders . The active substitution can replace the variable x for the term M in every process it comes into contact with and this behaviour can be controlled by restriction, in particular, the process corresponds exactly to .
Syntax for processes.
As in [17], we slightly extend the applied pi-calculus by letting conditional branches now depend on formulae defined by the following grammar:
If M and N are ground, we define to be if and otherwise. The semantics of is then extended to formulae as expected.
The scope of names and variables is delimited by binders and . Sets of bound names, bound variables, free names and free variables are respectively written , , and . Occasionally, we write (resp. ) for the set of names (resp. variables) which appear in term M. An extended process is closed if all its variables are either bound or defined by an active substitution.
An context is an extended process with a hole instead of an extended process. We obtain as the result of filling ’s hole with the extended process A. An evaluation context is a context whose hole is not in the scope of a replication, a conditional, an input or an output. A context closes A when is closed.
A frame is an extended process built up from the null process 0 and active substitutions composed by parallel composition and restriction. The domain of a frame φ, denoted is the set of variables for which φ contains an active substitution such that x is not under restriction. Every extended process A can be mapped to a frame by replacing every plain process in A with 0.
We refer the reader to Section 2.6 for a full example.
Operational semantics
The operational semantics of processes in the applied pi-calculus is defined by three relations: structural equivalence (≡), internal reduction (→) and labelled reduction ().
Structural equivalence.
Structural equivalence is defined in Fig. 4. It is closed by α-conversion of both bound names and bound variables, and closed under application of evaluation contexts. Structural equivalence corresponds to some structural rewriting that does not change the semantics of a process. The internal reductions and labelled reductions are defined in Fig. 5. They are closed under structural equivalence and application of evaluation contexts. Internal reductions represent evaluation of condition and internal communication between processes. Labelled reductions represent communications with the environment.
Equivalences
Privacy properties are often stated as equivalence relations [21]. Intuitively, if a protocol preserves ballot secrecy, an attacker should not be able to distinguish between a scenario where a voter votes 0 from a scenario where the voter votes 1. Static equivalence formally expresses the indistinguishability of two sequences of terms.
(Static equivalence).
Two closed frames φ and ψ are statically equivalent, denoted , if and there exists a set of names and substitutions such that and and for all terms such that , we have holds if and only if holds.
Two closed extended processes are statically equivalent, written , if their frames are statically equivalent; that is, .
Intuitively, two sequences of messages φ and ψ are distinguishable to an attacker (i.e. they are not statically equivalent) if the attacker can build a public test that holds for φ but not for ψ (or the converse).
Consider the signature and equational theory defined in Example 1. Let and where , and , , k are names. We have that . Indeed, we have but .
Intuitively, since the randomness of the encryption is public, an attacker may reconstruct the ciphertexts and compare. The two messages become indistinguishable as soon as the randomness remain private. That is, we have that .
Semantics for processes.
Observational equivalence is the active counterpart of static equivalence, where the attacker can actively interact with the processes. The definition of observational equivalence requires to reason about all contexts (i.e. all adversaries), which renders the proofs difficult. Since observational equivalence has been shown to coincide [1,31] with labelled bisimilarity, we adopt the latter in the remaining of the paper.
(Labelled bisimilarity).
Labelled bisimilarity () is the largest symmetric relation on closed extended processes such that implies:
;
if , then and for some ;
if such that and , then and for some .
Intuitively, two processes A and B are labelled bisimilar if, anyhow the process A (resp. B) behaves, the process B (resp. A) may behave with the same visible actions and such that their resulting frames are statically equivalent, that is, an attacker cannot distinguish between them.
A detailed example
We provide a detailed example to illustrate the syntax and semantics of the applied pi-calculus. Readers already familiar with this formalism may skip this section. Let us consider a simple protocol proposed (for illustration purposes) by B. Blanchet [11].
In this protocol, Alice sends a newly generated and signed key k to Bob, the whole message encrypted using his public key . Then, the receiver (Bob) checks that the signature belongs to the intended sender (Alice). He then encrypts a fresh secret s with k using symmetric encryption and sends it to Alice.
To model this protocol in applied-pi calculus, we use the equational theory described in Example 1 that models the properties of the different primitives used in the protocol. The behavior of the sender and receiver are modeled in the applied pi-calculus as follows.
In these processes, a and b are secret values that correspond to the private key pairs of Alice and Bob, respectively. Since Alice should not have a direct access to b, the secret key of Bob, A is given access to Bob’s public key through a variable and similarly for B. The whole protocol can be easily expressed using Alice and Bob processes:
where . As mentioned above, and are protected but since and are public keys, we published them in a frame implying that they are available to anyone (including the attacker). We first illustrate the semantics of the internal reductions by simulating the normal execution of the protocol, without any interference.
Alice sends her signed and encrypted message, which is received by Bob.
Actually, this simple protocol is flawed. Indeed, an intruder may impersonate Alice’s identity from Bob’s point of view. This attack only requires that Alice had, once in the past, spoken to the intruder using this protocol. This can be showed using our applied-pi calculus model by adding to the initial frame, which is a message that Alice would have sent to Charlie according to the protocol. Let us define this slightly new process:
where . Let us consider now the following execution: Charlie can send a message to Bob, where x is the message previously received from Alice.
Let us define the substitution . In this execution, the test performed by B succeeds since, according to the equation theory, we have:
thus,
which implies that the message is accepted by B, who therefore believes that Alice just sent him the key she had, in fact, sent to Charlie in a former session. At the end of this execution, one can see that s is not secret anymore since Charlie knows from his previous exchange and can perform a decryption of to get s.
We can also illustrate Definition 4 using this example. Indeed, we have that for any and , . This is due to the fact that the two processes may evolve in two states that are not statically equivalent ():
where . and is defined as σ where s is simply replaced by . We can show that , due to the fact that the intruder can observe, using and , that but .
Modeling the Norwegian protocol
We provide a formal specification of the Norwegian protocol, using the framework of the applied pi-calculus, defined in the previous section. We first model the cryptographic primitives used in the protocol (Section 3.1) and then the Norwegian protocol itself (Section 3.2).
Equational theory
We adopt the following signature to capture the cryptographic primitives used by the protocol.
The function is a constant; , , , , , , are unary functions; , , , +, ∗, ∘, ◇, , , , are binary functions; , , are ternary functions; , are quaternary functions and is a quinary function.
The term denotes the public key corresponding to the secret key K in asymmetric encryption. Terms , , and are respectively the blinding factor, the parameter and the verification key associated to a secret id I. The specific coding function used by the receipt generator for a voter with secret id I, applied to a message M is represented by . It corresponds to the function explained in Section 1.2. The term represents the message M blinded by N. Unblinding such a blinded term P, using the same blinding factor N is denoted by . The term refers to the encryption of plaintext M using randomness N and public key P. The term denotes the homomorphic combination of ciphertexts and the corresponding operation is written on plaintexts and on random factors. The decryption of the ciphertext C using secret key K is denoted . The term is the re-encryption of the ciphertext M using a secret key K. The addition of secret keys is denoted by . The term refers to the signature of the message M using secret id N. The term models a proof of knowledge, linked to the public identity M, that proves that Q is a ciphertext of the plaintext P using randomness N. It models what is provided to convince a prover, and its arguments represents the material needed to construct the proof itself. The term represents a proof of knowledge linked to the public identity M, that R is a blinding of a re-encryption of a term Q using the secret key N and the blinding factor P. represents the tuple . For simplicity, may be abbreviated as and as with .
Equations for encryption, blinding, signature and proofs of knowledge.
The properties of the primitives are then modeled by equipping the signature with an equational theory E that asserts that functions +, ∗, ∘ and ◇ are commutative and associative, and includes the equations defined in Fig. 6. The first two equations are quite standard and models left and right projections of a pair of elements. The third equation simply represents usual decryption of a ciphertext using the corresponding secret key, while Eq. (E-4) reflects that a blinded ciphertext can be decrypted, yielding the corresponding blinded plaintext. Equation (E-5) models the homomorphic combination of ciphertexts. Equation (E-6) represents the re-encryption of a ciphertext. The operation of unblinding is described with Eq. (E-7). Equations (E-8), (E-9), and (E-10) correspond to the verification of respectively signature and proofs of knowledge and .
The rewriting system corresponding to this equational theory is AC-convergent. This can be proved showing that the system is both AC-confluent and AC-terminating. The first property is true since there is no critical pairs. AC-termination can be shown through a special measure for length of terms defined as follows:
Using this measure, it is easy to check that the length of terms is strictly decreasing at each step of the rewriting, which ensures AC-termination of the rewriting system.
Norwegian protocol process specification
We present here our model of the Norwegian voting protocol. Each player is modeled as an independent subprocess, and will be instantiated as a part of the whole protocol.
Voting process
The process represents both the voter and his computer.
with
Parameter v represents voter’s vote and , denote the authenticated channels shared with, respectively, the ballot box and the receipt generator. represents the public key of the election used to encrypt votes; is the secret id of the voter and is the verification key of the receipt generator. Note that messages sent over and are also sent on the public channel . This simulates the fact that and are authenticated but not confidential channels. The synchronization step is only here to simplify the study in the case where B is corrupted. The formula models all the checks performed by the voters: the message received from the ballot box should be properly signed and the message from the out-of-band channel should correspond to the right receipt code.
Ballot box
We represent the Ballot box, ready to listen to n voters, by the process defined as follows.
with:
and
where denotes the formula that holds only when X is a n-tuple. For example, denotes the formula .
Intuitively, we assume the ballots to be received from the authenticated channels . The Ballot box processes each ballot one after another, exchanging with the Receipt generator through the secure channel , before sending back a confirmation to the Voter. Once all votes have been casted, the Ballot box outputs the encrypted votes to the Decryption device using the secure channel , and its content to the Auditor through the secure channel . is the secret key known by B, while are the public identities of the voters (i.e. their verification keys) and the corresponding blinding factors.
Receipt generator
is the Receipt generator’s process. It exchanges messages with the Ballot box, the Decryption service (only for an ad-hoc synchronization, used to simplify the proof) and the Auditor through secure channels , , and respectively. It also talks directly to voters through out-of-band channels , which are modeled as authenticated channels here. is the secret key received by R during the setup phase, are the public identities of the voters and the corresponding receipt coding functions are .
with:
and
Note that instructions and are used to force the Receipt Generator to fully process each receipt before accepting a new entry from the Ballot box, which eases the security analysis. Note also that we slightly simplify the behavior of the Receipt Generator. [23] indicates that the Receipt Generator not only computes as defined above but also the hash of the voter’s ballot (obtained when computing ) from which the signature is dropped. We ignore the second hash as it contains less information.
Decryption service
The Decryption service is represented by the process . It communicates securely with the Ballot box, the Receipt generator (waiting for synchronization), and the Auditor through respectively channels , , and . The result is published on the public channel . In order to decrypt ballots, it needs to know the secret key . The parallelism at the end of the process models that the votes are shuffled. For simplicity, we omit the proof of correct decryption provided by the Decryption device as it should not affect privacy.
Auditor
Finally, the Auditor is modeled by the process which communicates with the other infrastructure players (Ballot box, Receipt generator, and Decryption device) using secure channels , , and .
with:
Norwegian protocol and corruption scenarios
The interaction of all the players is simply modeled by considering all the processes in parallel, with the correct instantiation and restriction of the parameters. In what follows, the restricted names , , model the private keys used in the protocol and the corresponding public keys , and are added in the process frame. The restricted names , (resp. and ) model authentic channels between the two honest voters and the Ballot box (resp. the Receipt generator). The restricted names , , represent the secret ids of honest voters and of the Receipt generator. The corresponding public id’s are added to the process frame.
The process corresponding to the situation where all the authorities are honest is where n is the number of voters and the hole is the voter’s place and is defined as follows:
with the set of restricted names and the frame . This frame represents the initial knowledge of the attacker: it has access to the public keys of the authorities and the verification keys of the voters. Moreover, since only the two first voters are assumed to be honest, only their two secret ids are restricted (in ). The attacker has therefore access to the secret ids of all the other voters.
The process corresponds therefore to a scenario where all the election authorities are honest. To model the case where the Ballot box is corrupted, we simply provide the attacker with the Ballot box’s secrets. Formally, we define the process defined as follows.
with the set of restricted names and . Compared to , we have simply removed from the process (since the Ballot box is now under the control of the attacker) and the secret key and the authenticated channels are now public (they are not part of the set of restricted names anymore). Finally, we have added to the frame representing the initial knowledge. This models the fact that now, all the secrets of are known to the attacker.
Formal analysis of ballot secrecy
Our analysis shows that the Norwegian e-voting protocol preserves ballot secrecy, even when the Ballot box and all but two voters are corrupted, provided that the other components are honest. This of course implies ballot secrecy if all the authorities are honest and some voters are corrupted. Conversely, we identified several cases of corruption that are subject to attacks. Though not surprising, these cases were not explicitly mentioned in the literature.
In this section, we state our main security results, studying the privacy of the Norwegian protocol under two main corruptions scenarios. Moreover, we summarize existing attack scenarios. The formal proof of privacy is then detailed in the next three sections.
Ballot secrecy has been formally defined in terms of equivalence by Delaune, Kremer, and Ryan in [21]. A protocol with process and authority process A preserves ballot secrecy if an attacker cannot distinguish when votes are swapped, i.e. it cannot distinguish when a voter votes and votes from the case where votes and votes . This is formally specified by:
Proving ballot secrecy of the Norwegian protocol therefore amounts in proving equivalence of the corresponding processes we detailed in Section 3.
Corrupted ballot box and corrupted voters
Our main result states that the Norwegian protocol specification satisfies ballot secrecy even if the Ballot box and voters are corrupted, provided that the other components are honest.
Let n be an integer representing the number of voters. Letbe the process defined in Section
3.2.6
, that corresponds to the voting process where all the authorities but the Ballot box are honest. Then,withwhich corresponds to the i-th voter voting.
In order to prove Theorem 1, we need to “guess” a symmetric relation on closed processes satisfying the properties of a labelled bisimilarity. This amounts into describing symbolically all the possible (co-)evolutions of the two processes, depending on the actions of the adversary. The description of this relation is given in Section F. The first step of the proof consists in showing satisfies property of a bisimilarity relation, that is, we need to show that all pairs of frames obtained in the relation are in static equivalence. In fact, all these frames are included in the final frames (modulo a “cleaning” step performed using Lemma 12 presented in appendix) corresponding to the complete execution of the two processes. It is therefore sufficient to prove static equivalence of the two final frames.
We consider the following frames:
where and are free terms such that and . Intuitively, the and are the recipes sent by the adversary. The restriction on the variables makes sure the adversary only use terms he has access to, at this step. δ is a substitution of intuitively corresponding to the shuffling of the votes at the end of the election. Then each frame can be interpreted as follows:
corresponds to the initial knowledge of the attacker. It contains the public data of the honest voters and the public keys of the election.
corresponds to the submission of ballots from the two honest voters. Note that our synchronization phase ensures that honest voters vote first. And we can show that the adversary cannot interfere with these two ballots.
corresponds to the knowledge of the adversary once the k-th voter has voted. Intuitively, the adversary will submit any ballot he wishes () based on his prior knowledge and in return, he receives the receipt and the signature from the Receipt generator, that is, he receives and .
Then corresponds to the frame with the final decryption of the votes, after shuffling, that is, the adversary can see the votes in clear after some permutation δ.
Let δ is a substitution ofand. Letbe the frame as defined above. Then we have:
This proposition is the main core result to establish Theorem 1.
The proof is done step by step. First, we show that , that is, the frames are in static equivalence once the two honest voters have voted (Lemma 13 detailed in appendix). We then show that the receipt sent by the receipt generator does not break static equivalence. This requires to prove in particular that adding the signature of a known term does preserve static equivalence (Lemma 8, one of our core lemma). Finally, we conclude by showing that the decryption of the (shuffled) vote only yields already known terms, built using the same recipes, in both frames.
The full proof of Proposition 1 can be found in Section 6. □
It then remains to show that we did not miss any possible execution, that is, show that is a bisimilarity relation, which is ensured by the following proposition.
Letbe the relation defined in Definition 15 (Section F). Then,is verifying propertiesandof Definition
4
.
Given , we consider all possible evolutions of P in and show that there exists such that remains in . In other words, we check that we did not forget any case when defining . The detailed proof is not really technical but is rather tedious and is therefore deferred to Section F. □
Theorem 1 then easily follows from Proposition 1 and Proposition 2.
Honest authorities and corrupted voters
The Norwegian e-Voting Protocol specification a fortiori satisfies ballot secrecy even if voters are corrupted, provided that the other components are honest.
Let n be an integer, that corresponds to the number of voters. Letbe the process defined in Section
3.2.6
, that corresponds to the voting process when all authorities are honest. Then,withwhich corresponds to the i-th voter voting.
Theorem 2 is a corollary of Theorem 1. While this is intuitively obvious, the use of equivalence adds some technicalities to the proof. The key proposition is that extending the initial knowledge of the attacker can only help finding attacks.
Letbe a set of names, P, Q, two processes. Then, we have:
We define a symmetric relation on closed extended processes as follows:
Let us show that verifies the three properties of a bisimilarity relation (cf Definition 4).
This is straightforward since .
Let . Then . Now, since , we have that thus there exists such that and . Since B is a closed process, it can not make use of x thus it must be the case that there exists such that and . Moreover since , we conclude that .
Let . Then . Now, since , we have that thus there exists such that and . Since A is a closed process, it does not contain x, thus we must have that the label α does not contain x either. Thus, if , we must have that there exists such that and . Moreover since , we conclude that .
Now, since is the largest relation satisfying these three properties, we conclude. □
Let us define and . According to Theorem 1, we have that: . Thus, for all closing evaluation context , we also have: . Let us consider the following closing evaluation context:
with and is defined as the honest one except that we replace arguments and by variables and . Then:
where , and are just short notations of the different processes with their attributes. Since is such that , we have that:
But and:
So, we get that , where is exactly the same as except that Γ is replaced by . Doing the same for , we deduce that and thus . According to Lemma 1, this equivalence implies that:
□
Attacks
We have shown that the Norwegian protocol guarantees ballot privacy provided that the Receipt generator, the Decryption service, and the Auditor are honest. We review further cases of corruption where ballot secrecy is no longer guaranteed.
Dishonest decryption service. The Decryption service is a very sensitive component since it has access to the decryption key of the public key used for the election. Therefore, a corrupted Decryption service can very easily decrypt all encrypted ballots and thus learns the votes as soon as he has access to the communication between the voters and the Ballot box. Such an attack is not possible in [23,24] since communications are assumed to be secure (e.g. using TLS channels). It is interesting to note that the combination of both studies indicates that in case the Decryption service is corrupted then ballot secrecy solely relies on the security of the communication channels between the voters and the Ballot box.
Dishonest ballot box and receipt generator. Clearly, if the Ballot box and the Receipt generator collude, they can compute and they can then decrypt all incoming encrypted ballots. More interestingly, a corrupted Receipt generator does not need the full cooperation of the ballot box for breaking ballot secrecy. Indeed, assume that the Receipt generator has access, for some voter V, to the blinding factor used by the Ballot box to blind the ballot. Recall that the Receipt generator retrieves when generating the receipt codes (by computing ). Therefore, the Receipt generator can compute for any possible voting option . Comparing with the obtained values with it would easily deduce the chosen option . Of course, the more blinding factors the Receipt generator can get, the more voters it can attack. Therefore, the security of the protocol strongly relies on the security of the blinding factors which generation and distribution are left unspecified in the documentation (who has access to the data during the generation? How the data are distributed and how secure the distribution is?). The Ballot box can also perform a similar attack provided that it has access to the SMS sent by the Receipt generator and provided it can learn the coding function for some voters V (which probably requires partial corruption of the Receipt generator as well). Note that if the Ballot box and the Receipt generator collude, verifiability is broken as well, as pointed in [23,24], since votes can be changed without voters noticing.
Dishonest ballot box and auditor. Even if the Auditor does not hold any secret (besides the access to the output of both the Ballot box and the Receipt generator), it is still a key component in the voting process. Indeed, it ensures that the ballots sent to the Decryption service indeed correspond to the ballots sent by the voters (unless both the Ballot box and the Receipt generator are corrupted). Assume now that the Ballot box and the Auditor corrupted. Then the Ballot box can send any ballots it wants to the Decryption service (the – corrupted – Auditor would not complain). This is a clear breach of security in terms of the correctness of the result: indeed, the results would not correspond to the votes as casted by the voters (as also pointed in [23,24]). As a consequence, this is also a breach of ballot privacy. Indeed, the Ballot box may send the same ballot several times (possibly re-randomized) therefore obtaining a bias of information about the vote casted by the voter under attack.
Lemmas for static equivalence
The proof of our main result requires several intermediate lemmas. We believe that some of them are of independent of interest. We first state lemmas that are independent of the equational theory (Section 5.1) and then one of them that relies on it but is still quite general and could be reused for other formal studies of protocols (Section 5.2).
Generic lemmas
We use some arguments repetitively on our proofs and we found useful to state them separately. First, we notice that splitting pairs preserves static equivalence.
Letbe names,substitutions and let us defineandtwo frames with,,,some terms. We have:
Let and .
Let M, N be terms s.t. . We consider and we have, for all term P: and . Thus implies . Since we deduce , that is . Since ϕ and ψ play a symmetric role, we deduce that implies as well. □
Adding a deducible term to the frames preserves static equivalence, provided the condition that the same recipe is used in the two frames.
Letbe names,substitutions, andandframes. Let U be a free term, we have:
Let and .
Straightforward.
Let M, N be terms such that . We consider and we have, for all term P: and . Thus implies . Since , we deduce , that is . □
The next lemmas hold for equational theories for which destructors can be identified.
Let E be an equational theory induced by an AC convergent rewriting system and Σ a signature. We say that is a destructor inE if for any rewrite rule of
i.e. f can only appear in head in l and does not appear in r. Terms of the form with f destructor in E are called destructor terms.
The next lemma states that destructor terms cannot be introduced by rewriting rules.
Let E be an equational theory induced by an AC-convergent rewriting system, Σ a signature anda destructor in E. Letbe a context such thatand letbe terms in normal form. Then there exists a contextsuch thatandwhereare subterms of, …,.
Let us consider such context and such terms . For this proof, we also consider that we flatten AC symbols, i.e. a term will be considered as for any AC symbol ⊕. Moreover, we can consider w.l.o.g. that each does not start with an AC-symbol. If for one , then we can consider a new context deduced from by adding a ⊕ symbol at each position should be inserted in . Then, we have:
Now, if is in normal form, the result is straightforward. If it is not, then we know that there exists a position s, a rule from and a substitution θ such that . Let x be a variable of l and be a position such that . We know that can’t be the root, otherwise and would contain a rule . Such a rule would allow infinite chains of reduction which is in contradiction with hypothesis on . Thus, we can move one step up and call the position such that with and . We consider two cases:
g is not an AC-symbol. We consider two subcases:
is a position of . Then with a sub context of and we can replace the substitution of x in θ by .
is not a position of , i.e. there exists and two positions such that with and with . In that case, we can just replace the substitution of x in θ by .
, an AC-symbol. Then, we have . We consider again two subcases:
Either is a position of . Then, . Thus, and we can expand it as follows:
with subcontexts of and being one of . Then, each is linked to a subset of this sum and we can replace the substitution of x in θ by with and .
Or with for one . Then, is subterm of W and we conclude.
Finally, for each case, we have that where contain only substitutions of variables of l by sub contexts of and subterms of . Thus, we have:
where contains r and all subcontexts , . Since and , are subcontexts of , we know that and . Moreover, since f is a destructor in E, . Thus, . Finally, are subterms of , then:
□
If a destructor term t is non deducible and does not appear as subterm of a frame then t cannot appear as subterm of any deducible term.
Let E be an equational theory induced by an AC convergent rewriting system, Σ a signature andis a destructor in E. Let φ be a frame anda term in normal form such thatand. Then:
Let us prove this by induction on the number of steps used to deduce T.
Base case:. Then, since , we have that .
Induction case: Now suppose that for any T in normal form such that in n steps, then . Let T in normal form such that in steps. We have where and in n steps with in normal form for .
If is already in normal form, then we have two subcases:
If , then according to the induction hypothesis and since , we have .
If , then, if and since according to the induction hypothesis, we must have , which yields to a contradiction since and .
If is not in normal form. If then, we have that for some rule . Since f is a destructor in E, we know that . Thus, according to Lemma 4, we know that such that . In that case, if , then, we must have which is a contradiction. If , then, using Lemma 4 with , we have that such that and with subterms of . Then but we know that according to induction hypothesis, thus .
This concludes the induction. □
A context in normal form applied to a destructor term remains in normal form.
Let E be an equational theory induced by an AC convergent rewriting system, Σ a signature andis a destructor in E. Leta term in normal form andanother term in normal form. Thenis also in normal form.
Assume that is not in normal form. Since and U are in normal form, it implies that a position of such that with some rule and some substitution θ. But f is a destructor in E, thus, f must appear at the head of l, which is a contradiction with the position p. □
As a consequence of the previous lemmas, we can state that adding non deducible destructor terms to the frames preserve static equivalence.
Let E be an equational theory, Σ a signature anddestructors in E. Letandbe frames. Letandbe terms in normal form such that,,and. Then:
Let for .
Straightforward.
Let M and N be terms s.t. and with . Then:
with , according to definition. Since is in normal form, we apply Lemma 6:
with . We know that with f destructor in E and in normal form and not subterm of . Thus, using Lemma 5, for any T in normal form s.t. , then . And, since (resp. ) we have that (resp. ). Thus:
Since , we have (with ):
Using Lemma 6, we deduce , implying that . Repeating the same reasoning, we can also prove that , and we conclude. □
A more specific lemma
We show that adding the signature of a deducible term preserves static equivalence, when the same recipe is used in both frames. We believe that this lemma holds for other primitives provided the equations are similar to those for the “ symbol like the case of zero-knowledge proofs.
Letandbe two frames, x a fresh variable and a, a name such that,and. Letin normal form witha free term and such that. Then:
Before proving this lemma, we introduce the notion of down-to-top strategy, where a rewrite rule is applied first as deep as possible. Note that since we consider convergent rewrite systems, we may chose any rewrite strategy.
Let us consider a reduction strategy. This strategy is called down-to-top, noted , if, for all , and for all position , is in normal form.
Let with for .
Straightforward.
We first assume the two following claims that we prove next.
Let M be a term s.t.. Then, for any term T s.t., we have.
Let M be a term s.t.and for all term T s.t., then. Leta substitution. Ifwith no rule (8) involved in the reduction path, then there exists some termsuch thatand.
We now suppose that and we consider M and N two terms s.t. and . (Since , we have and .) We are going to prove that iff by induction on the number of positions p in M and N s.t. and for or . We also assume down-to-top reduction strategies only (noted ).
Base case: There is no such position in M and N. Then, we can apply Claim 2 on and . Indeed, let . For , then . If there exists a position p such that then, according to the hypothesis on , p must be a position of P (and not at a leaf). This implies that which would be a contradiction with the fact that a is restricted. Thus, we have . We also have and s.t. . Using Claim 1, we deduce that does not occur in any of the terms in the reduction . Applying Claim 2 leads to . Then:
Induction step: We suppose that there exists at least one position p in M or N s.t. (or ) and (resp. ) for or . Let us consider w.l.o.g. that this position is in M and that it reduces when is applied. (We note that if too then we have for and we can conclude using the induction hypothesis on and N.) We consider the deepest position satisfying this in M. Thus, we know that , and do not contain such a position.
Since , then, according to E, we have that and for some term Q. According to the hypothesis on position p, we can apply the same reasoning as used in the base case on , and separately and therefore we can apply Claim 2 on them, which leads to for . We have then the following equalities:
and .
and . According to definition of , which does not contain a term of this form, we must have and .
and . Using the two previous equalities, we have . Then, according to the definition of , we consider two subcases:
and then, we have:
Thus, and using , we have which also implies by extension and we conclude.
. Then, we have , i.e. , which is . Thus, we have and, using that leads us to . Moreover, , i.e. according to the definition of , which implies . Using again, we have . Then:
And we conclude.
We now prove that the two claims hold.
Proof of Claim
1
We prove this Claim by induction on the size of M. We suppose w.l.o.g. that M is in normal form.
Base case: is a variable (or a name). Since is in normal form, we have that for all T s.t. then . If M is a name, result is straightforward. If M is a variable, then implies that which is a contradiction.
Induction Step: We assume that for any term M of size m s.t. we have, for all term T s.t. , . We now consider a term M of size , i.e. with of size at most equal to m. Moreover, following a down-to-top reduction strategy, we have with . According to the induction hypothesis, we now that for all term T s.t. , then . Let us consider now the down-to-top reduction strategy . If , then we have two possibilities. Either for some and we have a contradiction with the induction hypothesis; or and , and which implies that is deducible by , contradiction. Thus, does not occur in any of the terms in the reduction . We now consider the reduction of :
It is in normal form, then, we have two subcases:
. Then, since for by the induction hypothesis, we conclude.
. Using the induction hypothesis, if , we must have and would be deducible by which is a contradiction.
is not in normal form. Then, we have since there are no rule in E s.t. is in head. We have and we consider two subcases:
, then T is in normal form and, using the induction hypothesis, we know that and we conclude.
, then, according to E, we have used rule (4), (5), (6) or (8), (9), (10). The three last rules lead to which concludes straightforwardly and the three first rules lead to T in normal form with the property that if , then , which would be a contradiction.
Proof of Claim
2
Let us prove this by induction on the number of reduction steps in .
Base case: If , the result is straightforward. If in one step, then, there is a position p, a substitution θ and a rule (different from (8)) s.t. . Since σ is in normal form, p must be a position of M. In particular, if we consider , we have:
We note . Then, we have . Hypothesis on M states that there is no position q such that . Therefore, there is no position q such that and the following equalities hold: and . Moreover, we know that otherwise would not be in normal form. Thus, . Since is different from rule (8), we have , for , and this implies following a down-to-top reduction strategy since if there was a lower reduction in M it would also exists in . Now, we can conclude since:
Induction Step: We suppose that, for any term M s.t. for all term T s.t. , then , we have: if in m steps involving no (8) rule, then with . We consider now M s.t. in steps with no rules (8) in the reduction path. Then . Using the induction hypothesis, we have that with , thus . But is verifying hypothesis of Claim 2, otherwise we would have a contradiction with the fact that M is satisfying them. Then, using Base Case, we have with . Thus, and , which allows us to conclude. □
Static equivalence of the final frame
This section is devoted to the proof of Proposition 1, that states static equivalence of the final frame obtained in the relation . This proof relies on several lemmas. Some of them have been presented in the previous section, other are stated here and proved in appendix.
Definitions and useful lemmas
We first start by introducing some notations that will be useful for the following lemmas. Some of these definitions may seem artificial but mainly come from the establishment of the relation , which is described in the Appendix Section F.
We introduce (or remind) the following definitions:
where α is a substitution representing the intermediate outputs visible by an adversary controlling the corrupted Ballot Box (full definition given in Section A), and , , , are free terms satisfying some conditions defined in Section F. They represent the inputs submitted by the adversary during the different steps of the protocol.
The first lemma ensures that several secret datas (like encryption/decryption keys, voters’ secret IDs, etc.) remain secret during the execution of the protocol.
For,and any free term U, if M is of one of the following forms:,,or, then, i.e. M is not deducible from the frame.
We then prove that the different outputs of the (honest) Receipt Generator, that is, a signature and a receipt for each submitted ballot, do not bring any relevant information to the adversary that could help him to make a difference between two different executions of the protocol. This property is expressed by the fact that we can add these terms to the frame without breaking the static equivalence.
For, we have:.
Finally, we show that we can control the form of what is sent to the Decryption Device, assuming it is approved by the Auditor.
Let us considerfree terms s.t.,with. We suppose that,. We also considerandbe free terms such that:
and,
, with the corresponding notation.
Then, we have, for,:Moreover, there exist free terms,and free termorwith free term U:
With all these lemmas, we can now prove the final static equivalence, which is stated in Proposition 1.
We introduce the notation with . We show by induction that:
Base case. The base case is ensured by Lemma 10 which guarantees that thus, by rewriting, we have .
Induction step. Suppose that for some . Let us show that:
We have that in the frame . We distinguish cases according to the value of :
If , then, using Lemma 11 (since we are considering the decryption step of the protocol, must have been successful), we know that for and any . Thus, we have that . But, we also have the following equalities . According to the definition of and , we have . Then, using the induction hypothesis and Lemma 3 with the free term and we conclude.
If , we adopt the same argument used in the previous case (replacing 1 by 2 and 2 by 1) and conclude using the induction hypothesis and Lemma 3 with the free term .
If , then and we have . According to Lemma 11, we have that for free terms N, P, Q and any . Thus, . We consider two subcases:
. Then, with free N. And, in that case, we also have (using the induction hypothesis and the fact that ) and too. Thus, we conclude using Lemma 3.
Equational theory used in ProVerif.
. Then, there is no reduction of (in both frames) and we have two possibilities. If there exists such that , then we conclude using Lemma 3. If there is not, then since is restricted and not deducible (Lemma 9), we have that is neither deducible itself, nor a subterm of and . Now since is a destructor in E, we use Lemma 7 to conclude.
Finally, we have that , that is, changing the notations:
□
Further corruption cases using ProVerif
In order to study further corruption cases, we have used ProVerif, one of the only tools that can analyse equivalence properties in the context of security protocols. Since ProVerif does not handle associative and commutative (AC) symbols, we had to simplify the equational theory, yielding theory defined by the equations of Fig. 7. The main idea behind is to remove associative and commutative symbols from E. All equations besides the AC equations are left unchanged except Eqs (E-5) and (E-6). Equation (E-5) states that two encryptions can be combined, This can no longer be reflected in our ProVerif model. Equation (E-6) models re-encryption. To get rid of AC symbols, we instantiate it with the keys of the protocol (, and ), preserving the behavior of the protocol, yielding Eq. (E’-5). The fact that we can consider a simplified equational theory weakens the attacker model: some attacks relying on crafty combinations of the messages may be missed. But as shown by our study, this allows to analyse (automatically) more corruption scenario.
Since ProVerif is designed to prove equivalences between processes that differ only by terms, we also needed to use another tool, ProSwapper [28], to cope with the (non deterministic) shuffle done by the Decryption service. More precisely, we actually used their algorithm to compute directly a slightly modified process in our ProVerif specification.
Results and performances for proving ballot secrecy using ProVerif
Tests made on a MacBook Pro (OSX El Capitan 10.11.6) i5 2,3 GHz with 4Go RAM, using the ProVerif 1.94p11 version.
are displayed in Table 1 and the ProVerif files corresponding to our experimentation can be found at [35]. Our case study with ProVerif indicates that ballot secrecy is still preserved even when the Receipt generator is corrupted (as well as several voters), at least in the simplified theory .
Conclusion
We have proposed the first formal proof in a symbolic model that the e-voting protocol used in Norway indeed satisfies ballot secrecy, even when all but two voters are corrupted and even when the voters communications channels can be eavesdropped and when the Auditor and either the Ballot box or the Receipt generator are corrupted. As expected, ballot secrecy is no longer guaranteed if both the Ballot box and the Receipt generator are corrupted. Slightly more surprisingly, the protocol is not secure either if the Decryption service is corrupted or if the Ballot box and the Auditor are corrupted, as discussed in Section 4.3. Our results in Table 2. In this table, ✓ indicates that ballot secrecy is satisfied and Õ shows that there is an attack. In particular, all the attacks described in Section 4.3 are displayed in the table.
Results for ballot secrecy
Instead of doing additional (long and technical) proofs, a further step consists in developing a procedure for automatically checking for equivalences. Of course, this is a difficult problem. A first decision procedure has been proposed in [16] but is limited to subterm convergent theories. An implementation has recently been proposed [15] but it does not support such a complex equational theory. An alternative step would be to develop a sound procedure that over-approximate the relation, losing completeness in the spirit of ProVerif [10] but tailored to privacy properties.
It is also important to note that the security of the protocol strongly relies on the way initial secrets are pre-distributed. For example, three private decryption keys , (such that ) need to be securely distributed among (respectively) the Ballot box, the Receipt generator and the Decryption service. Also, a table containing the blinding factor for each voter needs to be securely distributed to Ballot box and a table containing a permutation for each voter needs to be securely distributed to the Receipt generator. Moreover, anyone with access with both the codes mailed to the voters and to the SMS emitted by the Receipt generator would immediately learn the values of all the votes. We did not find in the documentation how and by who all these secret values were distributed. It should certainly be clarified as it could be a weak point of the system.
It also remains to study other security properties such as receipt-freeness, coercion-resistance, and verifiability. Receipt-freeness seems to strongly rely on whether the voter may forge a fake table of receipts or fake the message received from the receipt generator. One important feature of the Norwegian protocol is to ensure verifiability even when the voter’s computer is not trusted. Our formal model could serve as a basis, splitting further the voter’s behavior from its computer.
Footnotes
Acknowledgment
The research leading to these results has received funding from the European Research Council under the European Union’s Seventh Framework Program (FP7/2007-2013)/ERC grant agreement , project ProSecure.
References
1.
M.Abadi and C.Fournet, Mobile values, new names, and secure communication, in: 28th ACM Symposium on Principles of Programming Languages (POPL), 2001.
2.
M.Arapinis, S.Bursuc and M.Ryan, Reduction of equational theories for verification of trace equivalence: Re-encryption and AC, in: First International Conference on Principles of Security and Trust (POST’12), Springer, 2012.
3.
M.Arapinis, V.Cortier and S.Kremer, When are three voters enough for privacy properties? in: Proceedings of the 21st European Symposium on Research in Computer Security (ESORICS’16), 2016.
4.
A.Armando, D.Basin, Y.Boichut, Y.Chevalier, L.Compagna, J.Cuellar, P.Hankes Drielsma, P.-C.Héam, O.Kouchnarenko, J.Mantovani, S.Mödersheim, D.von Oheimb, M.Rusinowitch, J.Santiago, M.Turuani, L.Viganò and L.Vigneron, The AVISPA tool for the automated validation of Internet security protocols and applications, in: 17th International Conference on Computer Aided Verification (CAV), 2005.
5.
D.Basin, J.Dreier and R.Sasse, Automated symbolic proofs of observational equivalence, in: ACM Conference on Computer and Communications Security (CCS’15), 2015.
6.
J.Benaloh, M.D.Byrne, B.Eakin, P.T.Kortum, N.McBurnett, O.Pereira, P.B.Stark, D.S.Wallach, G.Fisher, J.Montoya, M.Parker and M.Winn, STAR-Vote: A secure, transparent, auditable, and reliable voting system, in: 2013 Electronic Voting Technology Workshop/Workshop on Trustworthy Elections (EVT/WOTE’13), 2013.
7.
D.Bernhard, V.Cortier, O.Pereira, B.Smyth and B.Warinschi, Adapting helios for provable ballot secrecy, in: 16th European Symposium on Research in Computer Security (ESORICS), 2011.
8.
D.Bernhard, O.Pereira and B.Warinschi, How not to prove yourself: Pitfalls of the fiat-shamir heuristic and applications to helios, in: International Conference on the Theory and Application of Cryptology and Information Security (ASIACRYPT), 2012.
9.
K.Bhargavan, R.Corin, C.Fournet and E.Zalinescu, Cryptographically verified implementations for TLS, in: 15th ACM Conference on Computer and Communications Security (CCS), 2008.
10.
B.Blanchet, An automatic security protocol verifier based on resolution theorem proving (invited tutorial), in: 20th International Conference on Automated Deduction (CADE), 2005.
11.
B.Blanchet, Vérification Automatique de Protocoles Cryptographiques: Modèle Formel et Modèle Calculatoire. Mémoire d’habilitation à diriger des recherches, Université Paris-Dauphine, 2008.
12.
B.Blanchet, M.Abadi and C.Fournet, Automated verification of selected equivalences for security protocols, Journal of Logical and Algebraic Methods in Programming (2008).
13.
R.Chadha, Ş.Ciobâcă and S.Kremer, Automated verification of equivalence properties of cryptographic protocols, in: 21th European Symposium on Programming (ESOP), 2012.
14.
D.Chaum, R.Carback, J.Clark, A.Essex, S.Popoveniuc, R.L.Rivest, P.Y.A.Ryan, E.Shen, A.T.Sherman and P.L.Vora, Corrections to scantegrity II: End-to-end verifiability by voters of optical scan elections through confirmation codes, IEEE Trans. Information Forensics and Security5(1) (2010), 194. doi:10.1109/TIFS.2010.2040672.
15.
V.Cheval, H.Comon-Lundh and S.Delaune, Trace equivalence decision: Negative tests and non-determinism, in: 18th ACM Conference on Computer and Communications Security (CCS), 2011.
16.
V.Cortier and S.Delaune, A method for proving observational equivalence, in: 22nd Computer Security Foundations Symposium (CSF), 2009.
17.
V.Cortier and B.Smyth, Attacking and fixing helios: An analysis of ballot secrecy, Journal of Computer Security (2013).
18.
V.Cortier and C.Wiedling, A formal analysis of the Norwegian E-voting protocol, in: First International Conference on Principles of Security and Trust (POST), 2012.
19.
R.Cramer, R.Gennaro and B.Schoenmakers, A secure and optimally efficient multi-authority election scheme, in: International Conference on the Theory and Application of Cryptographic Techniques (EuroCrypt), 1997.
20.
C.Cremers, The scyther tool: Verification, falsification, and analysis of security protocols, in: 20th International Conference of Computer Aided Verification (CAV), 2008.
21.
S.Delaune, S.Kremer and M.Ryan, Verifying privacy-type properties of electronic voting protocols, Journal of Computer Security (2009).
22.
A.Fujioka, T.Okamoto and K.Ohta, A practical secret voting scheme for large scale elections, in: Workshop on the Theory and Application of Cryptographic Techniques: Advances in Cryptology, 1992.
23.
K.Gjøsteen, Analysis of an internet voting protocol. Cryptology ePrint Archive, Report 2010/380, 2010.
24.
K.Gjøsteen, The Norwegian internet voting protocol. Cryptology ePrint Archive, Report 2013/473, 2013.
25.
N.Government, Article of the Norwegian government on the deployment of E-voting (last seen: 08-26-16), https://www.regjeringen.no/en/aktuelt/Internet-voting-pilot-to-be-discontinued/id764300/.
26.
A.Halderman and V.Teague, The new South Wales iVote system: Security failures and verification flaws in a live online election, in: 5th International Conference on E-voting and Identity (VoteID’15), 2015.
27.
D.Khader and P.Y.A.Ryan, Receipt freeness of Prêt à voter provably secure. IACR Cryptology ePrint Archive, 2011:594, 2011.
28.
P.Klus, B.Smyth and M.D.Ryan, ProSwapper: Improved equivalence verifier for ProVerif (last seen: 08-26-16), 2010, http://www.bensmyth.com/proswapper.php.
29.
R.Küsters and T.Truderung, An epistemic approach to coercion-resistance for electronic voting protocols, in: IEEE Symposium on Security and Privacy (S&P), 2009.
30.
B.Lee, C.Boyd, E.Dawson, K.Kim, J.Yang and S.Yoo, Providing receipt-freeness in mixnet-based voting protocols, in: 6th International Conference on Information Security and Cryptology (ICISC), 2004.
31.
J.Liu, A proof of coincidence of labeled bisimilarity and observational equivalence in applied pi calculus, 2011, http://lcs.ios.ac.cn/~jliu/papers/LiuJia0608.pdf.
32.
M.Ohkubo, F.Miura, M.Abe, A.Fujioka and T.Okamoto, An improvement on a practical secret voting scheme, in: 2nd International Information Security Workshop (ISW), 1999.
33.
A.T.Sherman, R.Carback, D.Chaum, J.Clark, A.Essex, P.S.Herrnson, T.Mayberry, S.Popoveniuc, R.L.Rivest, E.Shen, B.Sinha and P.L.Vora, Scantegrity mock election at Takoma Park, in: 4th International Conference on Electronic Voting 2010 (EVOTE’10), 2010, pp. 45–61.
34.
A.Tiu and J.E.Dawson, Automating open bisimulation checking for the spi calculus, in: 3rd IEEE Computer Security Foundations Symposium (CSF), 2010.
35.
C.Wiedling, Source files for ProVerif code, http://people.rennes.inria.fr/Cyrille.Wiedling/Resources/resources.html.