Home Messages Index
[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index

Re: [News] Voting Machine Made More Secure by Freeing Source Code

In comp.os.linux.advocacy, Roy Schestowitz
<newsgroups@xxxxxxxxxxxxxxx>
 wrote
on Wed, 05 Sep 2007 05:23:51 +0100
<1822401.5qrppbjMx2@xxxxxxxxxxxxxxx>:
> ____/ alt on Wednesday 05 September 2007 04:29 : \____
>
>> On Wed, 05 Sep 2007 02:58:47 +0100, Roy Schestowitz wrote:
>> 
>>> ____/ alt on Tuesday 04 September 2007 22:18 : \____
>>> 
>>>> On Tue, 04 Sep 2007 13:02:56 +0100, Roy Schestowitz wrote:
>>>> 
>>>>> Voting machines ditch ballots in Scotland
>>>>> 
>>>>> ,----[ Quote ]
>>>>> | In total, 140,000 ballots were logged as spoilt. The BBC says more than
>>>>> | half of these were rejected by the machines, with no chance for a person
>>>>> | to judge whether or not the ballot was actually spoilt.
>>>>> `----
>>>>> 
>>>>> http://www.theregister.co.uk/2007/09/03/scotland_votes/
>>>>> 
>>>>> That's quite a fiasco.
>>>> 
>>>> Everybody say after me:
>>>> 
>>>> Paper trail, paper trail, paper trail, paper trail... (ad nauseum).
>>> 
>>> You can have digital 'paper trail', provided your machines and system is
>>> reliable.
>>>
>> 
>> Voting is one of the few things that I feel are too sensitive to trust
>> anything but a piece of paper.
>> 
>> I've posted this here before, but I'll post it again.
>> 
>> All voting machines should print out a ballot that has a human readable
>> section as well as a machine (barcode) readable section. This allows for
>> an easy to tabulate voting system but ensures that abuses cannot occur.
>
> If it prints out paper, how would you know the machine itself
> printed the right thing? Let's assume that you can let the
> voter have a copy of that paper, or at least give verification.
>

If I can't verify what goes into the tally box, how can
I verify the franchise?  There's a fundamental disconnect
there.

I see the following vote systems as possibilities,
with varying amounts of accurancy in tallying what the
people want.  Note that most of these considerations
are orthogonal to the openness of the source code used
in the voting machine proper, though an audit of the code
certainly isn't harmful.  I'm just not sure it's as helpful
as it should be.

Categories:
    - Easy to use: General ease of use of the system.
    - Verifiable: Can the votere ensure that my vote counts properly?
    - Recountable: Can poll workers go through the ballots and
      recount them, by hand if necessary?
    - Identifable voter: If some evil sort got hold of a valid ballot,
      can he find the voter who cast it?
    - Rankable: "Instant runoff" systems are all the rage, saving
      a trip to the ballot box.  The general idea is to have the
      voter assign each candidate a number; if a candidate
      get a plurality but not a majority, the numbers can be used
      to indicate which of the top two wins.  The system is
      still experimental but possible in some of the following.
    - Complete vote check: If the user fails to mark a YES or NO,
      or doesn't vote for a candidate in a cluster, can the system
      check?
    - Valid vote check: If the user marks both YES and NO, or
      votes for too many candidates, can the system check?
    - Stuffable: Can someone dump in extra ballots, modifying
      the results?

[1] Mark-sense.  User fills in circles or otherwise
    scribbles on a piece of paper.  Vote is hand- or
    machine-counted.

    Easy to use: Yes.

    Verifiable: Yes, if one doesn't shred the ballots.

    Recountable: Yes.

    Identifiable voter: No.  This is a good thing, generally;
    blackmailing voters for voting "the wrong way" is an
    evil thing.

    Rankable: With some difficulty.

    Complete vote check: No.

    Valid vote check: Deferred.

    Stuffable: Definitely.

[2] Punch.  User uses a device to punch already-formed
    holes in a Hollerith-cardlike ballot.  Vote is
    machine-counted.  (A variant of this system was used
    in Santa Clara, California for many uears until the
    advent of touchscreen voting units.)

    Easy to use: Yes, for the most part; some may have
    problems handling the awl (California) or depressing
    the machine's lever.

    Verifiable: To some extent.  The issues with "pregnant"
    and "dimpled" chads were well publicized in Florida's
    2000 election, and unpunched chads can fall out if
    the ballots are too roughly handled.

    Recountable: Yes.

    Identifiable voter: It would take a lot of work, and
    is probably not worth the trouble.  A code number
    might be prepunched on the card, though, but there's
    no requirement in the actual vote for that number to
    be anywhere else.

    Rankable: With great difficulty.

    Complete vote check: No.

    Valid vote check: Deferred.

    Stuffable: The sequence number may deflect the most
    obvious attempts.

[3] Sequoia system.  User receives a vote card from a pool
    of cards sitting at the poll worker's elbow, and
    inserts a card into machine's face, uses touch screen
    to set up and ultimately cast the ballot.  Card goes
    back to poll worker who feeds it into tally box,
    then returns it to pool.

    Easy to use: Yes, if the machine is functioning correctly;
    touchscreens can have "offset" problems.

    Verifiable: No.  What goes on the card?  How do I,
    the voter, see it?  What software goes in the computer,
    and does it match the user-readable source code?

    Recountable: Not unless the tally box is a lot smarter
    than I give it credit for.

    Identifiable Voter: No.

    Rankable: I think so.

    Complete vote check: Immediate.  The machine can
    identify what the user needs to complete at the time
    of voting.

    Valid vote check: Immediate.  The machine can enforce
    choices such as "vote for at most 3" or "choose yes
    or no".

    Stuffable: Unknown.  Probably depends on the safeguards
    surrounding the card, and the machine handling it; an
    elementary check is possible to ensure the prior user's
    vote is cleared before a new vote is attempted, and
    the tally box might clear the card while registering
    the vote.  However, if the tally box is compromised
    things get very interesting.

[4] Diebold system (hypothetical).  As I understand it,
    user walks up to machine and votes; the vote is
    encrypted and sent to an uplink either through a wire
    or wireless.

    Easy to use: Yes, if the machine is functioning correctly;
    touchscreens can have "offset" problems.

    Verifiable: No.  What goes over the network?  Is packet
    jamming possible?  What software goes in the computer,
    and does it match the user-readable source code?

    Recountable: No.  Apparently, this is by design.

    Identifiable Voter: No.

    Rankable: I think so.

    Complete vote check: Immediate.  The machine can
    identify what the user needs to complete at the time
    of voting.

    Valid vote check: Immediate.  The machine can enforce
    choices such as "vote for at most 3" or "choose yes
    or no".

    Stuffable: Unknown; it depends on details regarding
    the packet encryption.  The most likely attack is an
    impersonator machine injecting faux votes into the
    uplink system, and that can be countered by requiring
    a certificate on each machine, which the uplink checks.

[5] Manual multivote system (hypothetical).  User casts
    5 (actually, any odd number will do but 3 or 5 is
    probably a reasonable balance) ballots, in a very
    interesting way, using paper ballots similar to [1]
    or [2].  Taken in total, the 5 ballots will have each
    vote either 2 for no or 3 for yes, scrambled in such
    a way that an individual ballot is next to useless
    for determining the individual vote.  Ballots might
    be sequenced 1-5 to ensure a complete set at casting,
    or the poll worker simply counts the number of ballots
    the user is holding.

    Easy to use: Hard.

    Verifiable: Difficult, but possible.

    Recountable: Yes.

    Identifiable Voter: No.

    Rankable: With great difficulty, exacerbated by the manual
    randomizing process.

    Complete vote check: Deferred.

    Valid vote check: Deferred.

    Stuffable: Definitely.

[6] Auto multivote system (hypothetical).  User walks up to
    a machine, uses touchscreen.  Machine punches out
    5 ballots on punchcards similar to [2].  The votes
    are internally randomized and scattered on the 5
    punchcards, in a way similar to [5].

    Easy to use: Yes, if the machine's functioning correctly.

    Verifiable: Difficult, but possible.

    Recountable: Yes.

    Identifiable Voter: No.

    Rankable: Possible.

    Complete Vote Check: Immediate.

    Valid Vote Check: Immediate.

    Stuffable: Definitely.

[7] Markable Identified-Vote System (hypothetical, though
    a variant of this is already used in many counties
    for absentee voting).  User registers and is issued a
    blank ballot with a secret code number, through the US
    Postal Service.  User marks and mails in his ballot.
    The secret code number is checked against a master
    registration database.

    Easy to use: For the most part.  Homeless people might
    have a problem casting a ballot.

    Verifiable: Yes.

    Recountable: Yes.

    Identifiable Voter: Yes, though the procedures during
    actual ballot handling might mitigate that by shredding
    the envelopes as soon as possible (the USPS requires
    a valid return address), and not printing the user's
    address on the ballot proper, just the secret code
    number.

    Rankable: With some difficulty.

    Complete Vote Check: Deferred.

    Valid Vote Check: Deferred.

    Stuffable: The database would have to be hacked to
    generate a lot of extra secret code numbers.

[8] Digital Identified-Vote System (hypothetical),
    Manual Edit/Resubmit.  User registers on a secure
    website, with a valid email address.  The email address
    receives a digitally signed document (the signature is
    similar to GPG or other such).  The document contains
    a secret code number.  The user replies to the message
    by manually editing it in some form.

    Easy to use: For the most part.  Homeless people and
    people without Internet capability might have a problem
    casting a ballot.  There might be some issues regarding
    how the user is expected to edit the form.

    Verifiable: Maybe.  The user can't see where his vote
    is stored, unless he uses the secret code number, which
    might render the system vulnerable to a scan attack.

    Recountable: Yes, if each vote is stored.

    Identifiable Voter: Yes.  Since Email is unsecure and
    store-and-forward, there are some issues with eavesdropping
    here.

    Rankable: Not too hard, especially if there are fewer
    than 10 candidates.

    Complete Vote Check: Deferred.

    Valid Vote Check: Deferred.

    Stuffable: Hard to say; it depends on the details
    of the registration procedure.  Most likely yes,
    especially if the system keys on email address (a
    person can sign up for many accounts on systems such
    as Gmail, Yahoo, and Hotmail).

[9] Digital Identified-Vote System (hypothetical),
    Generalized Fat Client.  User registers on a website,
    and is taken to a "secure" voting page [*].  The voting
    page presents a form containing a hidden code field.
    User submits the form to vote.  Javascript can check
    the vote prior to final submission; the webserver can
    also check.

    Easy to use: Yes.

    Verifiable: Maybe.  The user can't see where his vote
    is stored.  If the user can see the secret code number
    the system is vulnerable to a scan attack, but at least
    the user can verify his vote.  If the user cannot see
    the secret code number the user can't see his vote,
    though View Source is supported by all HTML-capable
    browsers in a pinch; the user then gets to hunt through
    the HTML markup for the code, and will probably get
    it wrong.  It is possible to use two code numbers,
    one public, one semi-secret, but that doesn't really do
    all that much.

    Recountable: Yes, if each vote is stored.

    Identifiable Voter: Yes, though it would take a database
    hack to actually get at the information.

    Rankable: Yes.

    Complete Vote Check: Immediate for Javascript-aware,
    at ballot submission/casting for non-Javascript.

    Valid Vote Check: Immediate for Javascript-aware,
    at ballot submission/casting for non-Javascript.

    Stuffable: Hard to say.  The secret code number(s)
    will at least prevent the form from being submitted
    more than once, and if the secret code number is
    generated from the user's input, the risk of stuffing
    is lessened.  However, the system would have to be
    pretty smart to make sure only the valid ones of the
    following addresses are allowed to vote (XX indicates
    a two-letter state code e.g. CA for Calfornia, TX for
    Texas, NY for New York):

         Fred Voter
         123 Anystreet #4, Anytown, XX USA 56789

         June Voter
         123 Anystreet #4, Anytown, XX USA 56789
	    (Fred's wife)

         Billy Voter
         123 Anystreet #4, Anytown, XX USA 56789
	    (Fred and June's underage son)

         Fido Voter
         123 Anystreet #4, Anytown, XX USA 56789
	    (the family pet)

         Evil H. Voter Number 1
         123 Anystreet #4, Anytown, XX USA 56789
	 ...
         Evil H. Voter Number 999999
         123 Anystreet #4, Anytown, XX USA 56789
	    (somebody got cute)

         Fred Voter
         123 Anystreet #4, Anytown, USA 56789
	    (missing state problem)

         Fred Voter
         123 Anystreet #4, Neighbortown, XX USA 56789
	    (Fred misidentifies his town -- an issue
	    in some locales)

         Fred Voter
         123 Anystreet #4, Anytown, XX USA 56789-0123
	    (Zip Plus 4 problem)

         Fred Voter
         123 Anystreet #4, Anytown, XX USA
	    (missing zipcode problem)

         Fred Voter
	 One Two Three Anystreet Number 4,
	 Anytown, XX USA 56789
	    (address spelled out digit by digit)

         Fred Voter
	 One Hundred Twenty Three Anystreet Number Four,
	 Anytown, XX USA 56789
	    (address spelled out numerically)

         Fred Voter
	 123     Anystreet       #4,
	 Anytown, XX
	 USA
	 56789
	    (reformatted)

	 Fred Voter
	 PO Box 123456
	 Anytown, XX USA 78901
	    (Fred might use a PO box for most correspondence)

	 Fred Voter
	 c/o Amalgamated Ersatz
	 2345 Somestreet
	 IndustrialTown, XX USA 67890
	    (Fred works here and sends Amalgamated's info instead,
	     possibly because he's new in town)

    The last one is especially troublesome.

I'll admit [1] and [2] are looking better and better, though
they're harder to count.  [6] has possibilities.  I don't
really like any of the others.

[*] the issues regarding TLS (RFC4346) are beyond the
    scope of this document.  TLS is very secure if the
    system is configured properly; however, a 40-bit
    encryption key has been broken by a brute force attack,
    and session hijacking is theoretically possible, if
    one is willing to wait many times the age of the Universe...

-- 
#191, ewill3@xxxxxxxxxxxxx
Murphy was an optimist.

-- 
Posted via a free Usenet account from http://www.teranews.com


[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index