14 juni 2008

Internetröstning, motargumenten

Folkpartistiska Niklas Frykman skrev för några veckor sedan på sin blogg om internetbaserade val, och tyckte att det väl ändå skulle vara himla nimmt och bekvämt? Jag håller visserligen med honom att det vore bekvämt, men jag gillar ändå inte förslaget. Här följer en beskrivning av varför, mitt förra inlägg på ämnet var tydligen inte nog för att övertyga Niklas.

Till att börja med köra en kort repetition om hur Sverige styrs. Första meningen i Regeringsformen, 3 kap, 1 §:

"Riksdagen utses genom fria, hemliga och direkta val." (min kursivering)


För att undvika missförstånd: det där med "hemliga val" betyder inte att det ska vara hemligt att valen hålls, utan att det ska vara hemligt vad varje enskild medborgare har röstat på. Av den anledningen görs redan idag rösträkningen på särskilda sätt, exempelvis finns det minsta-mängder för hur stora grupper av röster man räknar (eftersom annars enskilda personers röster skulle kunna identifieras med exempelvis uteslutningsprincipen).

Gott och väl. Det finns inget som hindrar att valen är hemliga även om de utförs elektroniskt. Faktum är att det är ganska enkelt att bygga ett sådant system, jag skulle rentav säga att det enda som egentligen krånglar till det är att det bör vara felsäkert (dvs kunna hantera att vissa av dess delar går sönder under drift). Detta eftersom man inte kommer kunna räkna med att det går att genomföra valet igen om maskinen skulle gå sönder under valdagen (efter att ett antal röster redan lagts). Utöver det lilla problemet, som visserligen är krångligt men på intet sätt olösligt, skulle konstruktion av en enkel röstmaskin mycket väl kunna lämpa sig som projektarbete för andra eller tredje årets datateknik- och systemvetarstuderande.

Varför är jag då emot att detta faktiskt görs? Problemet är tredelat - dels verifiering av tekniken, dels det faktum som ovan nämnts - att valen i Sverige är, eller i alla fall borde vara, hemliga. Även om det i praktiken idag ibland går att skönja hur enstaka antagligen röstat så går det inte att göra i större skala. Slutligen så finns det ett problem med att garantera medborgarnas tillit till systemen.

Till den första punkten: verifiering. Hur vet man att röstningssystemet verkligen fungerar korrekt? Små fel i mjukvara, s.k. buggar, kan leda till väldigt drastiska konsekvenser. Kort sagt, de är icke-linjära och icke-kontinuerliga och små ändringar i förutsättningar, till skillnad från de flesta fysiska system, kan ändra systemets beteende drastiskt.

Det är generellt väldigt svårt att garantera felfrihet i mjukvarusystem. Testning är naturligtvis en självklarhet, men det enda man egentligen kan visa med testning är att de buggar som finns kvar inte hittats än. Formella metoder skulle kunna vara en approach men området är inte särskilt utvecklat än och det finns en risk att man flyttar komplexiteten från att programmera systemet till att skriva korrekta verifikationsvillkor. Ytterligare ett sätt är att slänga pengar på problemet: styrprogramvaran för rymdfärjan är otroligt dyr att utveckla, och så nära buggfrihet mänskligheten egentligen kommit. Fortfarande finns det någon enstaka bugg kvar i varje version.

Säkerhetskritiska fel i vanliga operativsystem och webbläsare är betydligt vanligare än så. I USA, där man redan använder röstmaskiner ganska utbrett, har man haft flera "intressanta" problem.

Problemet förvärras ytterligare av det faktum att många skulle kunna dra fördelar av att manipulera dem. Detta gäller inte på samma sätt för den stora merparten av den mjukvara vi använder. Om den som programmerar mjukvaran för tillverkaren av röstningssystemet skulle vilja föra in felaktig mjukvara med flit, finns det stora chanser att göra det. Det finns också en möjlighet att byta ut mjukvaran efter dess att röstmaskiner levererats. Att bekräfta att en röstmaskin verkligen kör rätt version av mjukvaran är något som man behöver vara expert för att kunna verifiera, bland annat eftersom en falsk mjukvara kan kamoufleras för att bete sig som en äkta vid enklare kontroller. Den holländska organisationen Wij Vertrouven Stemcomputer Niet har gjort ingående analyser av maskiner använda i holländska val. Det är inte uppmuntrande läsning...

I ovanstående resonemang har jag i viss mån utgått från att man använder dedikerade maskiner för röstningen. Dessa kan ändå kontrolleras av myndigheterna för att kontrollera att de inte manipulerats. Om man som Niklas föreslår istället väljer att genomföra valet på internet, tillkommer ytterligare problem. Körmiljön är helt okontrollerad - hur vet man att datorn inte innehåller trojaner, virus eller annan mjukvara som kan påverka röstningsprocessen? Hur säkerställer man att inte någon väljer att spionera på väljaren med program såsom NetBus? Hur vet man att någon inte startar en egen "valsajt" och använder attacker av typen man-in-the-middle (vilket vore en utmärkt strategi, exempelvis skulle man kunna "döda" en ansenlig andel av internetrösterna från motståndarens starkaste fäste och ersätta dem med egna)? Åtskilliga andra problem existerar för den som vill lära sig mer om nätverkssäkerhet, men förmodligen räcker denna smakpalett. Som jag ovan sa skulle antagligen andra- och tredjeårsstudenter inom relevanta områden klara av att konstruera ett röstsystem. Det skulle vara ett precis lika bra projekt för dem att året därefter, i samband med en kurs om datorsäkerhet, få plocka sönder sina egna och varandras projekt och hitta så många sätt som möjligt att få dem att lämna ett felaktigt resultat. Antalet lär vara stort.

Nästa problem är valhemligheten. Det finns system som utifrån sin beskrivning verkar upprätthålla den, exempelvis det estländska. Det är bara en liten detalj. Hur vet du att det verkligen fungerar så som beskrives? Det är inte alltid ens den som konstruerat ett system uttömmande kan beskriva hur det fungerar. Den som skrivit ett mjukvarusystem kan exempelvis sällan säkerställa att det verkligen inte finns några dolda bakdörar (tillagda av misstag eller med flit) i mjukvaran, som skulle kunna användas för att spionera på vad programmet gör. Den som är konspirationsteoretiskt lagd skulle även kunna påstå att beskrivningen av systemet inte är korrekt, exempelvis att den som konstruerat programmet har insyn i vilka röster som olika personer lägger även om beskrivningen säger annorlunda.

Vidare innebär valhemligheten rent tekniskt ett stort problem när det gäller att upptäcka när systemen av någon anledning ger ett felaktigt resultat (antingen på grund av buggar eller medvetna intrång). Antag att jag skulle bli den som tillverkar röstsystemet för Sverige. Det är ganska uppenbart att jag skulle gilla om Centerpartiet vann valet. När är Centerpartiets valresultat så uppseendeväckande att man börjar misstänka att jag begått valfusk genom att manipulera systemet? När Centerpartiet får 15%? 25? 75? 105!? Och om jag nu är skyldig till anklagelserna, hur kan man rimligen säkerställa att det var det jag faktiskt gjorde, och inte bara Centerpartiet som gjorde ett förvånansvärt bra val, eller en oavsiktlig bugg i mjukvaran som fick maskinen att "bara" ge ett felaktigt resultat?

Vi har nu ramlat över lite i den sista stora problematiken med elektroniska val - den medborgerliga tilliten till systemet. Ett valsystem är helt värdelöst om väljarna inte kan lita på att det fungerar som det ska. Farser som den då Bush valdes är definitivt inte önskvärda. Problemet är bara att alla elektroniska röstsystem är extremt svåra att kontrollera. Det krävs åtskilliga år på högskola för att ens kunna förstå koncepten som används för att bygga dessa system. För att vara till fullo kompetent att kontrollera dem (så gott det går) krävs det antagligen åtminstone kompetens motsvarande en doktorsgrad.

Jag ställer mig starkt frågande till om sådana kunskaper finns tillgängligt lokalt där valen genomförs. Framförallt, så finns det inte tillgängligt bland väljarna. En liten minoritet av den svenska befolkningen har en högskoleutbildning inom datateknik och förstår ens konceptuellt hur systemen egentligen fungerar. Det finns en enorm risk för misstro mot valsystemet om någon skulle påstå att det inte fungerat som det skulle. Antingen får vi en teknokrati istället för en demokrati, eller så riskerar samhället haverera.

Hypotetiskt skulle exempelvis Sverigedemokraterna efter det första elektroniska valet, då de inte lyckats kunna komma in i riksdagen, hävda att systemet inte fungerar som det ska och anklaga samtliga övriga partier samt Valmyndigheten för valfusk. Myndighetssverige skulle ha ytterst svårt att övertyga vanliga svenskar (som inte förstår hur tekniken fungerar) att så inte är fallet.

För att sammanfatta, så delar jag inte alls den formulering av kraven på ett valsystem som Niklas med sitt inlägg implicerar (att det ska vara bekvämt och enkelt att rösta). Flera andra krav är viktigare; jag vill påstå att denna prioritetsordning skulle kunna vara den riktiga:
  1. Systemet ska vara enkelt att kontrollera, så att valfusk eller försök till valfusk är enkelt att upptäcka, eller om det ändå förekommer, i efterhand dess förekomst
  2. Röstsammanräkningen ska vara korrekt
  3. Systemet ska upprätthålla valhemligheten
  4. Det ska vara bekvämt och enkelt att genomföra ett val, både för myndigheter och väljare

Elektroniska system klår dagens pappersröstning endast utan tvekan på den sista, lägst prioriterade, punkten. De är väsentligt svårare att kontrollera (dagens system förstås och skulle kontrolleras av lågstadieelever, medan elektroniska system kräver experter). Även om det är möjligt att göra elektroniska system som både upprätthåller valhemligheten och räknar rösterna korrekt, och dessutom på ett bättre sätt än dagens manuella lösning, är det svårt om inte omöjligt att verifiera att de utan tvivel gör så.

Till sist, med ovanstående resonemang motiverar jag att jag inte kan se någon som helst anledning till att fundera på att införa elektroniska val till Sveriges riksdag. Det har genomförts andra elektroniska val i Sverige, främst till studentkårsfullmäktige runt om i landet, men de håller betydligt lägre profil, så att intresset av valfusk av naturliga skäl är lägre. Att de systemen finns är alltså inte heller det ett argument för elektroniska allmänna val.

Uppdatering: Synd att jag inte hittade sidan tidigare, men bara för att så tydligt som möjligt illustrera min poäng, hänvisar jag till "The Obfuscated V Contest". En tävling i att skriva valfuskande rösträkningsprogram som ser så oskyldiga ut som möjligt...

Inga kommentarer: