Hi habrachitel!
Below, I would like to talk about my e-voting experience on Ubuntu 9.04. The topic of electronic voting and electronic identification in
Estonia is not new in Habré: here they already wrote about the possibilities of the so-called
ID-card , one of the world's first
electronic elections, and even showed
pictures of the process , but on Windows.
I will not repeat and say that you can get acquainted with the ID-card technology in more detail by the above links. And then the process of setting up the ID card under Ubuntu and the voting process with pictures will be described. Maybe someone will be interested.
')
System Setup
My system has already been configured to work with the ID card. But in order to quench interest, I will describe the process.
The configuration process is described on a special
wiki (in Estonian).
reader
First of all, you need a reader that will work with linux. The list of devices is on the
wiki . The situation is such that readers are available on all supported operating systems. Readers cost from 6 to 10 euros and are sold in computer stores, bank offices and post offices.
Having received the reader, you can proceed to setting up the software. For
Ubuntu and Fedora there are pages with a description of the process.
1 Necessary to install OpenSC
sudo apt-get install opensc pcscd libccid
2 You need to configure Java. At the moment, the
open Java supplied with the distribution does not contain the necessary implementation of working with certificates. Therefore it is necessary to install an option from Sun
sudo apt-get install sun-java6-plugin sun-java6-fonts
sudo update-java-alternatives -s java-6-sun
3 After this, you need to edit the file
/etc/opensc/opensc.conf and make sure that these settings are present:
try_emulation_first = yes;
lock_login = false;
reader_drivers = pcsc, ctapi;
4 Update the settings, restart
pcscdsudo /etc/init.d/pcscd restart
5 Check if the service has started:
ps ax | grep pcscd
6 And, the moment of truth, we check the reader:
opensc-tool --list-readers
we get the answer:
Readers known about:
Nr. Driver Name
0 pcsc OmniKey CardMan 1021 00 00
7 You can insert an ID card and check it:
pkcs15-tool --list-certificates
get a list of certificates on the card. There are only two: 1) identification 2) electronic signature:
X.509 Certificate [Isikutuvastus]
Flags : 0
Authority: no
Path : 3F00EEEEAACE
ID : 01
X.509 Certificate [Allkirjastamine]
Flags : 0
Authority: no
Path : 3F00EEEEDDCE
ID : 02
Browser Setup
Personality Recognition
This system supports Mozilla / Firefox based browsers. Again, the list is on the
wiki .
The page has a list of authentication certificates for the main state portals. They are installed by simply clicking on them.
Then you need to tell the browser where the
opensc module is
located . For this there is a ready list for popular distributions and a magic upload button.
Now we can go to the Internet banks, to various state. portals and other pages supporting the ID card
Digital signature
Digital signature works with java.
Wiki instructions.
1 You need to find out where the latest version of Java is installed. On Ubuntu 9.04 this
/usr/lib/jvm/java-6-sun-1.6.0.16
2 Go to the Java libraries directory and install libpkcs11wrapper
cd /usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386
wget ideelabor.ee/downloads/pkcs11wrapper-linux.tar.gz -O - | sudo tar zxf -
This item should be repeated with each update of Java (of course in the right directory of Java - the most recent).
3 Need to make links to the library
sudo ln -sf /usr/lib/opensc-pkcs11.so /usr/lib/libopensc-pkcs11.so
sudo ln -sf /usr/lib/opensc-pkcs11.so /usr/lib/libesteid-pkcs11.so
Now we can give an electronic signature in Internet banks, on various state. portals and participate in electronic elections.
Voting
To be honest, I didn’t want to vote because all parties and lists have their own major shortcomings, and the
party of pirates is not yet participating in the elections.
But technical interest prevailed :)
First you had to go to the
voting portal and identify.
Welcome!
You have reached the e-voting page.
Name, personal code (changed)
If you are ready, click the button below. Edasi = NextThe next page offers to download the client for voting.

We swing, we check, we start. Apparently without Java again did not go. The program also looks like an ActiveX component (or is it still an applet?) When voting on
Windows .
Welcome to e-vote. To download the list of candidates, make sure that the ID card is installed in the reader and click on the button “Load lists”Oddly enough, the lists do not appear. The program asks to identify itself with the help of the PIN code 1. Then the user is warned that the vote cast is electronically counted just as it is on paper.

Click Otsustama (solve) and get a list of candidates. The system itself determines where you are registered and gives a list of your site.

Select and click Valin (choose)
To confirm your choice, click “Hääletan” (vote). To change the selection, press Tagasi (back).
To confirm your choice, the program will ask you the code for digital signature PIN 2 from the ID card
Who do you pick at your local meeting?
My choice: number, name, batchWe press the button and the voice goes to the Internet. Further, the program announces the important dates of these elections and asks itself to close.

It is not known where and how my choice is stored. One can only hope that everything is encrypted and privacy is preserved.
This method has major flaws that are debated. You can vote from any computer with Internet access and interested people can organize a vote buying and
check the result of the vote on the selection confirmation page. The election commission confirmed that finding two people in the voting booth was a violation, and finding several people at the computer at the time of voting was not.
Several parties organized mobile polling stations and were those who voted without departing from the box office gifts (chocolates and scarves). This is such a digital democracy ...
But still, this system is good paper saving and quick vote count. I hope in the future it will be possible to vote only from private booths installed at polling stations (according to tradition in schools and kindergartens). And maybe even in shopping centers, why not?
Electronic elections to local governments ended on October 14, and 104,415 people (21.6% of those eligible to vote) took part in them. A break of 4 days (the election itself was October 18) is most likely necessary for marking people who have voted electronically on the polling stations.
Finally, the elections could be monitored on the election commission’s
twitter . Again, in Estonian: (but google translate to help, you might still get a laugh.
Update: how to count the votes can be found
here (
mirror ). They write that the base is securely protected.
PS not to beat on the head, the first post on Habré :)