-----BEGIN PGP SIGNED MESSAGE-----

I've been working with Congresswoman Lynn Rivers on language for 
electronic ballots.  My intent is to specify the security sensitive 
information, and encourage widespread implementation in a competitive 
environment.  We'd like feedback. 

Unlike last year's so-called "electronic signatures act", this one 
specifies real digital signatures, with definitions culled from the 
usual Menezes et alia Handbook.

Here's what it looks like so far (draft #1.2).

Summary:

Minimal requirements for conducting electronic elections.  Technology and
vendor neutral.  Promotes interoperability, robustness, uniformity, and
verifiability.  Easily integrated into existing equipment and practices.

Handle duplicate votes and/or denial of service through submission of
bogus votes.  Permit multiple persons to use the same machinery.  Inhibit
persons with access to the machine from fraud.  Provides penalties for
circumvention.

Education & telecommunications; all computing equipment purchased for
schools or libraries with federal money under "eRate" or other
assistance program [cite] shall be capable of use for federal elections.
States receiving such funds shall participate in electronic federal
elections.

                                        ====

Title ______ -- Electronic Election Requirements

SEC. xx01. SHORT TITLE.

    This title may be cited as the ``Electronic Election Requirements Act''.


SEC. xx02. DEFINITIONS. -- In this title:

(A) BASE64 ENCODING -- A standard method for compact display of
    arbitrary numeric data, described in Multipurpose Internet Mail
    Extensions (MIME), Internet RFC-2045 et seq.

(B) DIGITAL CERTIFICATE -- A verifiable means to bind the identification
    and other attributes of a public key to an entity that controls the
    corresponding private key using a digital signature.  In this
    application, the certificate shall be self-signed, and signed by the
    appropriate authorizing state server.

(C) DIGITAL SIGNATURE -- A verifiable means to bind information to an
    entity, in a manner that is computationally infeasible for any
    adversary to find any second message and signature combination that
    appears to originate from the entity.  Any method used for an
    election shall ensure integrity and non-repudiation for at least ten
    years.

(D) ELECTION SOFTWARE -- Applications or browser applets that display an
    electronic ballot and record the voter choices.

(E) ELECTRONIC ELECTION SYSTEMS -- A collection of electronic
    components, including election software, hardware, and platform
    operating system, on both local clients and remote servers, used in
    the election.

(F) MANIPULATION DETECTION CODE (MDC) -- An easily calculated function
    that indicates whether the information has been modified. 
    Specifically, the output of a one-way hash function, which is
    computationally infeasible to find any second input that has the
    same output.

(G) PSEUDO-RANDOM NUMBER GENERATOR (PRNG) -- A one-way function that
    generates an apparently unpredictable sequence of unique numbers,
    initialized by a random starting value (called the "seed").  Any
    method used for an election shall inhibit computational discovery of
    the sequence, by an adversary with knowledge of the algorithm and
    any previously generated numbers, for at least six months.


SEC. xx10.  OPERATIONAL REQUIREMENTS

(A) INSPECTION -- Election software shall be open source implementations
    capable of inspection by poll watchers and election inspectors. 
    Functional components shall include tamper protection by
    manipulation detection code and digital signature, which shall be
    separately published and verified.

(B) INTEROPERABILITY -- Election software shall be capable of operation
    on at least 3 multiple, independently implemented platforms.  This
    applies to all functionally equivalent or interchangeable components
    of the system or process in which they are used.

(C) ROBUSTNESS -- Election software shall concurrently register voter
    choices at the local client, and municipality or other regional
    voting district server(s), and state server(s), using well-known
    database transaction multi-phase commit techniques.

(D) UNIFORMITY -- Display of candidates shall be substantially similar
    for each race within a state.  On each display, the names of
    candidates may be randomly ordered within each race.  Election
    software shall prevent overvote and undervote, and shall allow the
    voter to correct such conditions.  Voters unwilling to indicate a
    choice may select "no vote".  Where "none of the above" or its
    equivalent is a valid choice, "no vote" shall be a separately
    distinguished choice.

(E) VERIFIABILITY -- Transactions registering voter choices shall be
    recorded in a printable textual format using US-ASCII characters.
    The first line of each transaction record shall include an audit
    number assigned each voter at the time of voting (such as a
    sequential poll book number or pseudo-random personal identification
    number).  The record shall not include any other personally
    identifiable voter information.  Each successive line of the record
    shall indicate the title of the race as it appears on the ballot
    display, delimited by a colon, followed by the voter choice as it
    appears on the ballot display, or the text of a write-in vote as
    typed by the voter.


SEC. xx20.  POLLING SECURITY REQUIREMENTS

(A) AUTHENTICATION -- Transactions registering voter choices shall be
    authenticated by a digital certificate.  The certificate shall be
    generated by the local polling machine no sooner than the opening of
    the polls.  The public part of the key shall be verified to be
    unique and certified by the participating state server(s).  The
    certificate shall expire no later than the closing of the polls.  The
    private part of the key shall not be disclosed by the electronic
    election system, and shall be destroyed by the local polling machine
    at any time subsequent to the expiration of the certificate.

(B) AUTHORIZATION -- Registration of digital certificates by the state
    server(s) shall include at least two parts:

    (1) The physical location of the local polling machine, including
        the mailing address of the local election clerk responsible for
        operating the local polling station(s); and

    (2) A secret password.  At least 14 days prior to the opening of the
        polls, the state shall pseudo-randomly generate a unique
        password assigned to each anticipated local polling machine. The
        seed for the pseudo-random number generator shall not be
        disclosed until after the closing of the polls.  The passwords
        shall be physically printed in base64 encoding, and shall be
        sent by the state to the poll operator via registered mail.  The
        mail envelope(s) shall not be opened until immediately prior to
        the opening of the polls.

    (3) In addition, the registration transaction shall indicate the
        electronic location (that is, Internet address) of the polling
        machine, the name of the operator initiating the registration,
        and the election software manipulation detection code and
        digital signature.

(C) CONFIDENTIALITY -- Electronic election systems shall provide
    confidentiality of all transactions between a local polling machine,
    and participating servers.  

(D) INTEGRITY -- Transactions registering voter choices shall use
    digital signatures to protect against modification.  The digital
    signature shall be generated at the local polling machine using its
    certificate.  These digitally signed transactions shall be retained
    at every participating server.  For transaction audit purposes, the
    digital signatures shall be displayed in base64 encoding, together
    with an indication of the identified polling machine and whether the
    digital signature is valid.

(E) PRIVACY -- Electronic election systems shall not disclose personally
    identifiable vote choices.  Any distinguishable value assigned each
    voter for the purposes of voting (such as a sequential poll book
    number or pseudo-random personal identification number) shall not be
    electronically cross-referenced with transactions, except as part of
    a transaction audit (such as a recount).

(F) TRANSCRIPTION -- legacy paper ballots may be transcribed for
    electronic counting on a local polling machine designated for that
    purpose.  The digital certificate shall indicate that it is used for
    transcription, and the password shall not be used for any other
    voter transactions.


SEC. xx30.  ABSENTEE SECURITY REQUIREMENTS

(A) AUTHENTICATION -- Transactions registering voter choices shall be
    authenticated by a digital certificate.  The certificate shall be
    generated by the absentee election software no sooner than the
    beginning of absentee registration.  The public part of the key
    shall be verified to be unique and certified by the participating
    state server(s).  The certificate shall expire no later than 24
    hours prior to the opening of the polls.  The private part of the
    key shall not be disclosed by the electronic election system, and
    shall be destroyed by the absentee polling machine at any time
    subsequent to the expiration of the certificate.

(B) AUTHORIZATION -- Registration of digital certificates by the state
    server(s) shall include at least four parts:

    (1) The name of the absentee voter initiating the registration;

    (2) A secret Personal Identification Number (PIN).  At the time of
        absentee ballot application, the state shall pseudo-randomly
        generate a unique PIN assigned to the absentee voter.  The seed
        for the pseudo-random number generator shall not be disclosed
        until after the closing of the polls.  The PIN shall be
        displayed to the absentee voter in base64 encoding for later
        entry at the time of voting, but shall not be retained in
        storage by the absentee election software.  The PIN shall not be
        disclosed to the local election clerk;

    (3) The physical mailing address of the absentee voter.  The name
        and mailing address of the absentee voter shall be
        electronically transmitted by the state to the appropriate local
        election clerk; and

    (4) Another secret password.  Subsequent to verification of absentee
        eligibility, the local election clerk shall pseudo-randomly
        generate a unique password assigned to each absentee voter, and
        electronically transmit the password to the state server(s). 
        The seed for the pseudo-random number generator shall not be
        disclosed until after the closing of the polls.  The password
        shall be physically printed in base64 encoding, and shall be
        sent by the clerk to the absentee voter via regular mail.

    (5) In addition, the registration transaction shall indicate the
        electronic location (that is, Internet address) of the absentee
        polling machine, and the election software manipulation
        detection code and digital signature.

(C) DUPLICATES -- When more than one authentic vote by the same absentee
    voter is detected, the last such vote shall supercede any earlier
    vote.  An absentee voter appearing at the regular polling place shall
    supercede any earlier vote.

(D) TIMELINESS -- Electronic absentee ballots shall be received and
    recorded at least 24 hours prior to the opening of the polls.  

(E) OTHER -- Except as specified in this section, all other requirements
    of section xx20 (C) to (F) apply to absentee ballots.


SEC. xx40. PENALTIES.

(A) AUTHORIZATION FRAUD -- may not disclose, exchange, or use the PIN or
    password of another voter or .  Felony, need big penalty!

(B) CONFIDENTIALITY -- may not circumvent confidentiality.  felony,
    $5,000 per incident, 2 to 5 years jail.

(C) PRIVACY -- Where transcription or transaction audit could reveal
    personally identifiable vote choices, felony (to disclose or even
    browse, see IRS for language), $1,000 per person identified, 2 to 5
    years jail.

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.1

iQCVAwUBOnBqU9m/qMj6R+sxAQHEdgP8CX478EiLL2aq7OiFfQjCRcAQc+HkXiTm
6BoRLyI7G0yqHTiIv3L5dyGCtg+07AKnyVXyO1opvQ2JkLBQmvy3YrBeU2RKXKgi
TCBa/JDX9Ycu+0YAnVOndbh9d9en91LGHrfHEU5mgicZ9vjpvtX/5BsQJm77Ve1A
db0DxBT86Co=
=b5Yo
-----END PGP SIGNATURE-----

Reply via email to