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

Thanks everyone for the helpful comments.  I've combined them as well 
as I could.  Some folks sent privately, as indicated.

David Honig wrote:
> 
> At 01:03 PM 1/25/01 -0500, William Allen Simpson wrote:
> >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.
> 
> You should list the desirable properties of a voting system and
> then the threats to those properties.  

Actually, there's a lot of this already, going back many years.  There 
were many such threats described on this list last year, and there have 
been a couple of conferences.  In the process of passing legislation, 
somebody might make a presentation to a committee, or write a report on 
a specific protocol.  But, that kind of information isn't specified in 
an "authorization" statute.  


"Arnold G. Reinhold" wrote:
> I find it unsatisfactory to review a proposed cryptosystem
> design presented in legal language. At the very least, a careful
> system design document, preferably with pseudo code, and a detailed
> threat model should be presented. A working model would be better.
> 
This isn't a proposed cryptosystem design.  It's a compilation of 
minimal requirements for security.  It is expected that there will be 
many designs that meet the requirements.  It's based on known designs, 
and existing analysis. 

Just as in standards development, requirements don't specify the 
result. 

As I tried to indicate, this is to specify the security sensitive 
information, so that when folks come to testify or work on conference 
papers, they are all speaking the same language.  I needed your help to 
ensure that we didn't miss anything important, and we don't go down the 
sad course that electronic signatures suffered last year.


David Honig wrote:
> you're gonna have to educate them in security
> analysis. 

This is exactly the purpose.  The select committee will be designated 
next week.  Most legislators won't bother to be educated until there is 
actual legislation to consider.

Congresscritter Rivers convened a roundtable on Internet Privacy about 
5 years ago, long before most folks in Congress were considering such 
issues.  She went to the trouble to find local talent, such as Honeyman 
and myself.

She has long displayed interest in other security issues.  She's on 
Science and Technology, and has a couple of major universities in her 
district.  Her background is biology and anthropology, so she is 
capable of following scientific rationale.

I actually consider her pretty Internet savvy; however, I'm biased.

On the other hand, she finds PGP too hard to use.  She wants these 
requirements to be simple, low cost, easy to use, and as close to 
existing election practices as possible, so that non-technical people 
can comfortably use the system. 

Those of you that have known me for a long time might remember that I'm 
the fellow that wrote the Michigan appropriations language to provide 
matching funds for NSFnet, the precursor to the commercial Internet.  
I've been involved in electoral politics for going on 25 years.  If you 
know of others with the requisite experience in politics, legislation 
and security, I'd like to meet them.


"(Mr) Lyn R. Kennedy" wrote:
>   1. An electronic election system need only be as good as the current
>      system. While perfection remains the goal, the minimum criteria
>      is that it be no worse.
> 
>   2. There needs to be an absolute disconnect between the voter and the
>      vote. Some kind of voting certificate should allow a vote but make
>      it difficult to determine how someone voted.
> 
I agree.  Very important points.

>   3. The concept of the polling place needs to be re-examined. ...

Someday, remote absentee voting might be practical.  Right now, the 
goal is to gain experience in existing polling places, and remove the 
restriction that military bases and foreign offices cannot be used as 
polling places.  There was a pilot on that last year.

> It seems that something like a smartcard would be the best scheme. 

Not likely.  Voting is very different from banking transactions.  And 
issuing smartcards with special software for voting is likely to be 
prohibitively expensive.


Somebody wrote:
> It strikes me that the greatest cause of confusion in vote counting
> stems from the variation with which voters express their intent.

Yes, that's why most of the language concentrates on uniformity of 
interface and presentation.  The only known way to eliminate that 
variation is to use an entirely digital method.  Every other system 
involving paper (or transcription between analog media) will have an 
error rate.


Somebody wrote:
> Of course the digital signature alone cannot ensure non-repudiation.
> Maybe this should either leave out non-repudiation since it's a
> broader issue or be reworded ....
> 
Good point!  Exactly the eye to detail I needed.  I'll move it, and 
redefine to describe the term.


"Arnold G. Reinhold" wrote:
> I would much rather you specify specific technologies, such as FIPS
> standards (SHA1, SHA2, AES,  (it will be out soon  enough), DSA, and
> P.1363. 

We cannot do that in this statute.  The language has to last for 
decades.  The vendors will make such choices, and they will be 
evaluated by the states and municipalities making purchasing decisions.

Instead, those standards will be specified by NIST, rather than the 
legislature.

Let me stress the point: this is supposed to promote competition.  As 
long as the competitors interoperate, the specifics are beyond the 
scope of an authorizing statute.


Somebody wrote:
> Hmm... perhaps a requirement that the seed be generated from a 'good'
> source; and is six months long enough? ... seems people will still be
> recounting Nov 2000 ballots in May.
> 
The six months used here was to ensure enough time for the bureaucracy 
to setup the information.  It's actually desirable to reveal the seed 
after the election, so that auditing can ensure that no elements were 
faked.  Six months is strong enough.  I tried to avoid over-specifying.  

Something to remember: actual government purchases usually include a 
performance bond.  That can be a real incentive to successfully meet 
the requirements. 


"Arnold G. Reinhold" wrote:
> I find the language "for at least six months" to be very dangerous.
>...
> And where does 6 months come from? Moore's law will cut that in half
> every Congressional election cycle anyway.

That's why all requirements are specified in time, rather than bit 
lengths.  The requirements have to last for decades.  NIST will 
evaluate the appropriate technology.  Equipment will be upgraded. 


Somebody else wrote:
> I think that the open-source requirement is good, but it is likely to
> be scuttled by pressure from the myriad companies that are producing
> proprietary voting systems.  Most staffers would not understand why
> open-source is important.  Adding more language that explains the reason
> behind it would be useful in giving it a greater chance to become part
> of any law.
> 
Yes.

Note that only the election software is required to be open source.  
It has to be, so that folks can verify that the list of candidates 
and such is valid.  Easy to do with XML, java, etc.

The underlying system can still be proprietary.  Sidestepping a 
landmine.  Otherwise, established vendors (read M$) might vigorously 
oppose it.  As long as they successfully meet the security standards 
and interoperate, should be no problem.

Still, there's considerable opportunity for SELinux, OpenBSD, etc.  
Could be a business opportunity, "mine is more secure because it has 
been audited by 100,000 eyeballs".


"Arnold G. Reinhold" wrote:
> There are a lot of reasons why open source is desirable, but it does
> simply the job for an attacker. 

I disagree.  Security by obscurity is never desirable.


"Arnold G. Reinhold" wrote:
> Why Base-64? The mixed capitalization will drive poll workers crazy
> and many polling places will report broken machines because the can't
> enter the password properly. Base-32 would be a much better choice.
> 
Only for techies.  And s/key-OTP style words are often cumbersome, but 
people like things that seem like words.

Anyway, the reason is _something_ has to be chosen for 
interoperability.  It's a standard.  It works in email.


David Honig wrote:
> How do you avoid a 'traffic analysis'-like attack where you monitor
> both the votes sent out to state DB servers and who comes out of the booth?
> This would only work on slow polling places, but would let you
> link people to their votes.  A solution is to batch.  Maybe not
> worth worrying about, but never a problem before networked computer
> voting machines.
> 
Confidentiality requirement and penalties.  Probably SSL cum TLS.


David Honig wrote:
> At which points in the system would a hacked-keyboard (like the
> keystroke recording things that go in-line, but one that changes
> votes) be detected?
> 

Somebody else wrote:
> This system also doesn't meet the requirement for any voter to
> be able to verify their vote.  While there is an ASCII print out of
> the vote, there's nothing that guarantees that the printout is
> the same vote as was sent to the server.  The attacker in the last
> paragraph could modify the software such that it prints out
> the voter choices while actually voting the attacker's choices.
> 
Some of the proposed systems print the transaction as it is sent, and 
thus the voter sees what was recorded.  S/he isn't sure it is really 
sent.  So, you need an audit requirement.  The tape printout has to 
be compared to the internal digital copy one transaction at a time.

The whole thing rests on the penalties that are imposed for fraud, 
and a reasonable certainty of being caught.

Probably needs some testing operations language.  I'll ask around.


> >(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.
> 

David Honig wrote:
> Randomly for each voter?  Random by county?  Random by race (so that
> in Presidents you see Lib/Demo/Repub but when voting for Governor
> you see Repub/Lib/Demo)?
> 
Yes, yes, and yes.  Some places are random by precinct.  

Different states have different policies.  Note the use of "shall" and 
"may".  Without the latter, different ordering would be prohibited.  
So, it needs to be mentioned.

"Arnold G. Reinhold" wrote:
> Some states (e.g. Florida) specify order on the ballot in terms of
> party results in the last statewide election. Whether that method is
> reasonable has nothing to with electronic voting.
> 
Uniformity is a legal "due process" issue that was obvious in the last
election.

Verifying election software requires that the allowed variations are 
specified.  A security issue.


> 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.
> 

David Honig wrote:
> How about voters not willing to vote for anything in that race, *including*
> 'no vote'?  Is "no vote" a radio-button default?
> 
Yes, you could look at it that way.  Some states allow "none of the above", so
it has to be distinguished from "left the space blank and refused to vote". 
Databases need a "missing data" indication.

This is really an interoperability issue, not a security issue.  But it 
does speak to verifying that the election software is working, not just 
leaving various races blank.


> >(E) VERIFIABILITY --   The record shall not include any other personally
> >    identifiable voter information.
> 

David Honig wrote:
> Yeah, why should it, the Government has the lookup table.  No difference,
> if the Government is the source of the threat to anonymity.  Isn't this
> part of the threat model?
> 
It is.  

Also, many jurisdictions have the requirement that ballots have no 
personally identifying information, and will invalidate a ballot for 
having stray marks on it.


> >SEC. xx20.  POLLING SECURITY REQUIREMENTS
> >
> >(A) AUTHENTICATION -- Transactions registering voter choices shall be
> >    authenticated by a digital certificate.
> 

David Honig wrote:
> A one-time certificate which comes from a machine that's about to take your
> vote?  What is the point?
> 
It's not one time.  It lasts the whole election.  It serves to 
verify that the vote came from an authorized machine.


> Another question: where is your time base from?  GPS?  The internet
> time servers?  This matters if/when the computers use their notion of
> time to shut voting off.
> 
There's no fixed notion of time.  Voting is always shut off by a person 
at "the closing of the polls". Often, polls stay open as long as there 
are folks that lined up before the deadline.


> I don't understand your absentee ballot procedure, except that
> legacy paper is still supported via human data entry.
> 
> What happens if someone forgets a PIN?
> 
> To vote absentee in Calif all you need is a stamp and the ability to write
> your signature.  Increasing the complexity will deter people.  (Where
> did that separate letter with the PIN go?)
> 
What happens when someone loses a ballot?  Or the absentee ballot is 
stolen?

Anyway, the absentee ballotting is the most controversial.  There's 
no voting at home.  Only at authorized federal sites.


"Arnold G. Reinhold" wrote:
> >    election system, and shall be destroyed by the local polling machine
> >    at any time subsequent to the expiration of the certificate.
> 
> This seems impossible to verify, especially if one plans to use
> hardware that has other uses and is therefore physically accessible
> throughout the year.
> 
Here's where inspection of the software is important.  Ensure that 
it's overwritten and never cached.  But, really, it will be the 
vendor responsibility to demonstrate.  Think of it as a business 
opportunity.

Besides, since the certificate is no longer valid, does it matter?  
The servers won't accept any more transactions....


> >(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.
> 

David Honig wrote:
> Duplicate votes are not handled the way you propose ("keep the last").
> You are changing the law here I think.  Besides, you could vote Gore,
> see that its a waste, and go back and vote Nader.  This violates
> a 'single commit' Voting Ideal.  This is what I mean by changing
> election procedure to accomodate some whizzy new tech.
> 
Actually, single commit is not the ideal.

Currently, folks that request an absentee ballot, but the ballot is 
lost or stolen, vote in person at the municipality, or at the polls.

But a lot of folks _would_ like absentee voters to be allowed to change 
their minds.  Nothing more frustrating to a canvasser than to show up 
the day after someone has already sent in their ballot.

It's also a protection against coercion.  If someone forces you to 
vote, you can change it later.


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

"Arnold G. Reinhold" wrote:
> Unless there is a design issue that I don't see, that is a political
> question. 
> 

David Honig wrote:
> Why reject them when the polls start?  Give everyone the same deadline.
> Or, what is the current policy?
> 
Current policies vary all over the map.

Absentee votes need to be recorded before the election day, so that 
the polling places can prevent duplicate voting, or revoke an earlier 
"stolen" vote to allow in-person voting.

Absentee voting is likely to be the most controversial part.

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

iQCVAwUBOnOZetm/qMj6R+sxAQFH7AP+JvmMYHrfjwwYjD+7h0DKxYGa1Iuym/og
nmsHJtZT6JCJ4fI2NQVzpmKTucGrGhRRf5wIQSXkS2lmszzNK9GnshflPC0Yl0Z0
WU9zKX4tpyxiFE7YdPPOh2PzprkA/8W8SRyTXaeeR04qfC4szwEIl02H8KH3d8dw
06N58z0K7xc=
=1W/S
-----END PGP SIGNATURE-----


Reply via email to