ulusal06-1
ulusal06-1
ulusal06-1
1 Introduction
Electronic voting (e-voting) is a challenging topic. The challenge arises primarily
from the need to remove voter’s identity from his cast ballot, in order to sus-
tain voter privacy and to prevent vote-buying and the coercion of voter. This
anonymity requirement makes electronic voting different than other protocols (e-
commerce, e-auction, etc.) and can also make fraud easier, as addition, deletion,
or modification of anonymous ballots is harder to detect. Therefore, e-voting has
been intensively studied in the last decades. Up to now, many electronic vot-
ing protocols have been proposed, and the security as well as the effectiveness
have been improved. However, no complete solution has been found in neither
theoretical nor practical domains. It has been widely recognized that a secure
e-voting protocol should satisfy eligibility, privacy, accuracy, fairness, receipt-
freeness, uncoercibility, robustness and verifiability.
The e-voting protocols could be classified by their approaches and underlying
cryptographic mechanisms as: (a) protocols using blind signatures, (b) protocols
using mix-nets and (c) protocols using homomorphic encryption. The suitability
of each of these types varies with the conditions under which it is to be applied.
2 Orhan Çetinkaya and Ali Doğanaksoy
All these protocols satisfy most of the e-voting requirements; however, the blind
signature based protocols are much more efficient because of their simplicity
and low computation complexity. Therefore, they are more practical. Because of
this fact, most current implementations of e-voting systems are based on blind
signature [23], [24], [25], [26].
The idea behind blind signature protocols is that the voter prepares a ballot
stating for whom he wishes to vote. He then interacts with an authentication
authority who issues a blind signature on the ballot. Informally, this means that
the voter obtains the authority’s digital signature on the ballot, without the
authority learning any information about the contents of the ballot. Finally, all
voters send their ballots to another authority that is responsible for counting
votes. In order to preserve the privacy of voters, this must be done through an
anonymous channel. After all ballots have been collected, votes can be counted
directly.
In general, blind signature based e-voting protocols suffer from voter absten-
tion problem. Some of them solved abstaining voter problem; however, most of
them requires more voter involvement. Obviously, voter involvements in count-
ing stage violates receipt-freeness requirement. These protocols have difficulty in
fulfilling the universal verifiability requirement as voter obtains blindly signed
ballot or a part of ballot.
In this paper, we describe a practical multi-candidate e-voting protocol which
is a complete protocol since it guarantees the wide variety of e-voting protocol
requirements: eligibility, privacy, receipt-freeness, uncoercibility, fairness, robust-
ness, accuracy, universal verifiability and individual verifiability. Unlike existing
blind signature based protocols, in which the authority blindly signs ballot or
part of ballot, the authority in our protocol blindly signs voter’s pseudo iden-
tity generated by voter. Hereafter voter becomes ”Pseudo Voter” and uses this
pseudo identity for further communications with the authorities.
Our contribution in this paper is twofold. One of the key ideas behind our
protocol is for the identity of the voter to remain hidden during the election
process; therefore we call him as ”Pseudo Voter” instead of voter. The other one
is using ”Dynamic Ballot” instead of pre-defined static ballot. Both of them are
mainly used to strengthen voter privacy and to solve abstaining voter problem
and more voter involvement issue. Since pseudo identity is used instead of real
identity, the proposed voting protocol possesses the strong property of privacy
and resists authority corruptions. Even if all authorities are corrupted, voter’s
privacy is still kept hidden. As dynamic ballots are employed, the order of candi-
dates in the ballots change dynamically for each voter, thus, nobody cannot gain
any knowledge about the tally before the counting stage. So, proposed protocol
has strong fairness property.
The rest of the paper is organized as follows: In Section 2, the requirements
of e-voting and related works are explained; in Section 3, the proposed e-voting
protocol is illustrated; in Section 4 security of the protocol is discussed. Finally,
the concluding remark is given in Section 5.
A Practical Privacy Preserving E-Voting Protocol Using Dynamic Ballots 3
2 Background
2.1 Requirements
A secure electronic voting system should not allow opportunities for fraud and
not sacrifice voter privacy. Therefore, researchers have described a set of ”core”
requirements that need to be satisfied by any secure electronic voting protocol
[10], [23]. These requirements can be grouped and summarized as following.
Eligibility: Only eligible and authorized voters can vote and each voter can
vote only once.
Privacy: All votes must be secret. No participant other than voter should be
able to determine the value of the vote cast by the voter.
Receipt-Freeness: No voter should be able to convince any other participant
of his vote.
Uncoercibility: Voter cannot be coerced to cast his vote in a particular way.
Fairness: Nothing must affect the voting. No participant can gain any knowl-
edge about the (partial) tally before the counting stage.
Robustness: Reasonably sized coalition of voters or authorities cannot dis-
rupt the voting. Every participant should be convinced that the election tally
accurately represents the ”sum” of the votes cast.
Accuracy: It is not possible for a vote to be altered, a validated vote to be
eliminated from the final tally and an invalid vote to be counted in the final tally
without being detected.
Universal Verifiability: A system is verifiable if anyone can independently
verify that all valid votes have been counted correctly. Any participant or passive
observer can check that the published final tally is really the sum of the votes.
Individual Verifiability: Each eligible voter can verify that his vote was really
counted.
Some of the requirements contradict each other. For example, individual ver-
ifiability contradicts with receipt-freeness and uncoercibility. In order for the
voters to be able to object, in case they notice that their vote has been mis-
counted, a receipt describing the way they voted should be supplied to them.
But the same receipt may be utilized for selling their vote, just by presenting
the receipt to the buyer, or make them subject to coercion, since the coercer will
be able to verify the way they voted.
Several election protocols based on blind signatures have been proposed [8], [9],
[10], [11], [12], [13], [14].
Chaum [21] pioneered the notion of e-voting and then several protocols were
proposed. Later, Chaum [9] proposed a protocol based on the sender untraceable
email system. It has large communication complexity at the registration phase.
Ballot tallying authority can immediately open ballots upon receiving them.
Boyd’s protocol [8], based on multiple key ciphers, is more efficient. There is
4 Orhan Çetinkaya and Ali Doğanaksoy
one administrator carry out elections. However, the voting authority can easily
falsify the ballots.
The first practicable protocol ensuring both the privacy and the fairness is
of Fujioka et al. [10]. The proposed e-voting protocol is capable of solving the
fairness problem by using the bit-commitment function. No one, including the
voting authority, can know the intermediate result of the voting. Thus, it pro-
hibits the fraud by either the voter or the authority. The voter has to participate
in three rounds. Reduced number of rounds appears in the protocol of Juang et
al. [12].
E-voting protocol proposed by Baraani et al. [11] extends [10]. This protocol
includes the candidates in the voting process, each computing a partial tally, in
order to prevent malicious authorities from rejecting ballots or stuffing the ballot
box. The final tally is produced by using a threshold scheme. The model of the
original protocol has been further modified with the addition of a trusted third
party. However, it is emphasized that the fulfillment of all security requirements
strongly relies on the assumption that the trusted authority is functioning as
expected.
Okamoto [14] constructs his proposal based on untappable channel and even
stronger physical assumptions in order to satisfy receipt-freeness. However, voter
should involve more rounds.
Juang et al. [12] proposal introduces scrutineers other than administrator.
The protocol uses threshold cryptosystem to guarantee the fairness among the
candidates campaign. It preserves privacy of the voter against the administrator
and scrutineers. However, it needs more voter involvement. In order to over-
come this problem and to permit voter abstention, Juang et al., [13] extends the
protocol by employing uniquely blind signature.
All voting protocols mentioned above suffer from the ”abstaining voters”
problem except [12], [13]. They assume that every eligible voter should not ab-
stain after the registration phase. The assumption, ”No voter abstains from
voting” is impractical. Since there is the possibility that a voter registers but
does not vote, therefore if the authorities conspire, they can add false vote to
the list when one voter does not vote after the registration phase. Obviously,
both robustness and accuracy requirements are violated with this attack. The
proposed protocol solves this problem.
None of the mentioned voting protocols provide receipt-freeness except [14].
At the end of the election, people who want to know a voter’s token can easily
find it out in the published list. Moreover, all of them only offer individual
verifiability not universal verifiability. The proposed protocol satisfies both of
them.
All mentioned protocols satisfies a subset of the e-voting requirements given
in section 2.1, on the other hand the proposed one describes a complete protocol
which fulfills the whole requirement set.
A Practical Privacy Preserving E-Voting Protocol Using Dynamic Ballots 5
3.2 Definitions
3.3 Overview
(AuthID, e v )
Voter Authenticator
( ep , dp ), ( ev , dv ) [Ack] ( ea , da )
-RegID -AuthIDList
-PAuthID
(AuthID, e v ) [AuthID, e v
] Status
[Ballot] Status
Ballot Generator
( eb , db ) H(AuthID+ e v )
-BallotList
(Ballot, AuthID, e v
)
[AuthID, e v ]
[Ballot] H(AuthID+ e v )
[VerKey]
(EncBallotChoice) (VerKey)
ABB
Verification Key
Generator
( ek , dk ) H(AuthID+ e v )
-VerKeyList
Counter Verifier
( ec , dc ) ( ef , df )
-EncBallotChoiceList -UsedVerKeyList
E-voting protocols without using voting booths suffer from bribe and co-
ercion, and sacrifice uncoercibility to establish accuracy for the voting results,
i.e., the voter may be bribed or coerced to vote for a certain candidate. In the
proposed e-voting protocol, we employ the physical voting booth which is only
protected by guards, and is not assumed to guarantee the secrecy of the com-
munication between the voter and voting authorities.
Authorities are explained briefly with the associated information.
Voter: Voter is the active participant of the e-voting process. He has Regis-
tration ID (RegID) and permanent public-private key pair (ep , dp ). He generates
session public-private key pair (ev , dv ) and Pre-Authentication ID (PAuthID).
Registrar: It keeps track of voters who are participating in voting pro-
cess. It gives initial authentication to voter by signing his PAuthID. It does not
make any online communication with other authorities. It keeps and maintains
8 Orhan Çetinkaya and Ali Doğanaksoy
VoterList which consists of voters’ RegIDs, public keys (ep ), status informa-
tion and blindly signed message (BS(PAuthID, r)). Status information contains
whether voter already requested authentication or not. Threshold cryptography
is used to maintain voter information in VoterList. Thus, to authenticate any
voter, certain amount of parties should involve to the process. Hence, Registrar
cannot either impersonate voters who are not committed to the voting or issue
any voter request more than one.
Authenticator: It keeps and maintains AuthIDList which is a list of voters’
AuthIDs with status information. In order to obtain ballot, voter should register
himself to Authenticator. Authenticator populates ABB as soon as getting voter’s
request. It is used to separate ballot generation from authentication. So, Ballot
Generator could not generate extra ballots. It certainly depends on Authentica-
tor. Authenticator should publish any request comes from voter to ABB. ABB is
open to all authorities and observers.
Ballot Generator: It generates dynamic ballot and sends it to both voter
and Verification Key Generator. Voter uses it to cast his vote, Verification Key
Generator uses it to generate unique verification key (VerKey). It keeps and
maintains BallotList which is a list of Ballots.
Verification Key Generator: It generates unique verification key for each
ballot received from Ballot Generator. It keeps and maintains VerKeyList which
is a list of VerKeys with status information and Ballots. When voter requests
verification key for a Ballot, it checks VerKeyList, finds the Ballot and sends
VerKey to voter.
Counter: It collects all encrypted ballot choices in EncBallotChoiceList
which is a list of EncBallotChoices sent by voter. At the end of the election, it
counts all votes by using other lists.
Verifier: It collects all used VerKeys in UsedVerKeyList which is a list of
VerKeys sent by voter. At the end of the election, it provides the list to Counter.
In addition to this, it verifies the election results by checking VerKeys. It works
on behalf of voter in counting stage. So, Counter could not discard and change
any vote.
I. Preparation:
Before the Election Day, all eligible voters should identify and register themselves
to Registration Office. Voter obtains a Registration Card which holds RegID,
permanent public-private key pair (ep , dp ) and public keys of all authorities.
After this Preparation phase is completed, no more voters are allowed to register.
Registration Office sends the last VoterList, which contains the voters’ |RegID,
ep | list, to Registrar and closes the Preparation phase.
.
A Practical Privacy Preserving E-Voting Protocol Using Dynamic Ballots 9
1. Voter identifies himself to the system with his Registration Card and pass-
word by using any voting booth.
2. Voter generates a PAuthID for himself and creates a blinded message with
random bits as B(PAuthID, r). He sends RegID and B(PAuthID, r) to Reg-
istrar as Φ[RegID, B(P AuthID, r)]dp ,er . At this step, voter uses his perma-
nent public-private key pair (ep , dp ).
3. Registrar checks voter’s eligibility from VoterList. If voter is not eligible or
has voted before, protocol terminates. If voter is eligible Registrar signs the
B(PAuthID, r) and obtains blindly signed message BS(PAuthID, r).
4. Registrar updates voter’s status and saves blindly signed message BS(PAuthID,
r) in VoterList. Then, Registrar sends Φ[BS(P AuthID, r)]dr ,ep to voter.
5. After checking Registrar’s signature, voter removes r random bits and ex-
tracts signed PAuthID, (δdr (PAuthID)), which is in fact voter’s AuthID for
the rest of the protocol. After this step, voter becomes a pseudo voter and
uses AuthID for further communications with authorities.
6. Voter generates a session public-private key pair (ev , dv ).
7. Voter sends ξea (AuthID, ev ) to Authenticator.
8. Authenticator saves AuthID into AuthIDList with status information; and
publishes H(AuthID+ev ) with status in ABB.
9. Authenticator sends an acknowledgement to voter, as Φ[Ack]da ,ev .
IV. Voting:
V. Tallying:
1. Registrar announces how many eligible voters obtained blindly signed AuthID.
2. Ballot Generator announces BallotList, Verification Key Generator an-
nounces VerKeyList, Verifier announces UsedVerKeyList and Counter an-
nounces the EncBallotChoiceList.
3. Counter decrypts EncBallotChoices in EncBallotChoiceList with VerKeys
in UsedVerKeyList (O(n2 )). Counter obtains a list which contains |Verkey,
BallotChoice| pair list. To find out actual votes, each BallotChoice should
be matched with proper Ballot from VerKeyList.
4. Counter matches all |Verkey,BallotChoice| list elements with VerKeyList
(|Ballot,Verkey|), and obtains |Ballot, BallotChoice| pair list which is
in fact the result of the election. Ballot-VerKey and VerKey-BallotChoice
matching is done over VerKey.
5. Verifier verifies the election result against VerKeyList.
6. Ballot Generator checks the election result against BallotList.
7. All announced lists and number of elements in them are verified for equality.
8. Votes are counted according to Vote = Ballot & BallotChoice (for each
VerKey). Thus, BallotChoice has a meaning with the associated Ballot.
9. Counter announces the election results, which can be verified by Verifier.
4 Security Analysis
In this section, we will illustrate that the proposed e-voting protocol satisfies e-
voting requirements: eligibility, privacy, receipt-freeness, uncoercibility, accuracy
and both individual and universal verifiability.
Eligibility: Actual registration takes place before election, so the eligible
voter list is published before election. On Election Day, voter sends his RegID and
B(AuthID, r) to Registrar, and Registrar checks user privileges and eligibility.
If he is eligible, Registrar blindly signs B(AuthID, r) and changes his status. If
voter tries to obtain another key, it can be easily identified by Registrar. Since
A Practical Privacy Preserving E-Voting Protocol Using Dynamic Ballots 11
Verifier verifies each vote on behalf of voter. Hence, this requirement is satisfied
by the help of Verifier authority.
4.2 Discussion
5 Conclusion
References