Forum

GOV anonyma omröstningar

Utveckling av valsystemet

GOV anonyma omröstningar

Inläggav jonas » 2011-09-09 12.31

Jag har uppdaterat GOV till att använda anonyma id:s i omröstningarna, där du får ett nytt hemligt id för varje omröstning. Detta är nu publicerat på gov.e2d.se men ej ännu på val.aktivdemokrati.se

Vi tar en omröstning om detta...
(Ändringen ligger i git som bdb9e22fc5e953fdf7f49ced8882f43b3bad23ba )

Se även diskussion om valhemlighet och kontrollerbarhet:
http://aktivdemokrati.se/forum/viewtopic.php?f=84&t=1208

Planen är att signera färdiga omröstningar så att alla som vill kan ladda ned och göra en egen sammanräkning av resultaten, så att de kan se att sin egen röst är medräknad, och att alla som gjort en kontrollräkning har samma resultatfil, genom att jämföra kontrollsummor på den signerade filen. (Detta kräver förstås att alla algoritmer är tydligt beskrivna.)

Här är ett exempel på ändringen:
http://gov.e2d.se/proposition/display.tt?id=114813

Klicka "Voting id" för att se vilket id du har i den aktuella omröstningen.
Klicka "Show all votes" för att se vad alla har röstat och du kan se där din egen röst genom att leta upp raden med ditt voting id. (Internt kallad cover_id)

Kan vi applicera denna ändring till val.aktivdemokrati.se ?
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-10 18.21

Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-10 18.32

Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav Alias » 2011-09-10 23.25

Avskyr anonymitet, röstade först nej men tänkte en bit längre än näsan räcker och inser att det finns många situationer där partipiskor och annat viner, som exempel.
/Björn Hallgren
- Det finns lagar i allt och allt är uttryck för lag
Användarvisningsbild
Alias
Medlem i partiet
 
Inlägg: 60
Registrerad: 2011-04-24 21.14
Ort: Sandsjön, Sexdrega

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-10 23.59

Alias skrev:Avskyr anonymitet, röstade först nej men tänkte en bit längre än näsan räcker och inser att det finns många situationer där partipiskor och annat viner, som exempel.


Alla delegaters röster kommer att vara publika.

Å andra sidan bör det fungera så att du SKA KUNNA rösta anonymt och annorlunda än hur du röstar i egenskap av delegat, om du är en delegat.
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav fiddur » 2011-09-11 05.51

Hmm, om jag tolkar koden rätt, så får man alltså ett litet fält där man kan se sitt eget röst-id, och så visas allas röst-id, oavsett om de ställt in att de vill vara anonyma eller ej?

Dessutom ser det ut som att röst-id saltas med förslagets id, så att man alltså ha olika röst-id på olika omröstningar... kanske kan vara bra för anonymiteten?...

Jag skulle gärna se att man kan vara icke-anonym utan att vara delegat, men det är väl okej.
/ Fredrik Liljegren
Användarvisningsbild
fiddur
Medlem i partiet
 
Inlägg: 643
Registrerad: 2009-07-22 04.19
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-11 09.49

Kom just på att implementationen inte funkar. Måste använda ett hemligt värde för varje användare. Funktionen blir den samma, men kommer behöva lägga in en buggfix för implementationen. :-/

Angående valet att vara anonym: Om man kan VÄLJA att inte vara anonym kan man även bli utsatt för påtryckning eller exempelvis sälja sin röst. Det är därför vi har hemliga val i Sverige.

Samma måste även gälla de som är delegater. En fysisk person ska ju kunna vara flera delegater. Exempelvis dels som representant för ett parti, dels för en viss rörelse, dels för en viss fråga, etc. Sen så ska man även kunna rösta för sig själv och den rösten ska vara anonym. Jag kan tänka mig att man ska kunna ställa in en sak för att enkelt lägga sin delegatröst samtidigt som man röstar för sig själv, exempelvis när man är en delegat med samma namn som sig själv. Men ingen ska kunna se ifall man själv röstat lika dant som man röstat i egenskap av delegat.
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-11 14.44

Jag valde att generera ett unikt id för varje omröstning så att man inte ska kunna räkna ut vem som är vem genom att se på flera olika omröstningar. Trots detta går det att gissa vem som är vem speciellt när man tittar på prioriteringsomröstningar.

Jag insåg att jag ju måste ha en hemlig del när det skapas en md5-summa för id. Det bästa alternativet tror jag är att generera en ny slumpsträng för varje användare som normalt inte visas. Inga existerande fält är bra nog eftersom id, e-post och andra delar är kända och/eller kan ändras.

Blir det bra?
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav fiddur » 2011-09-17 07.29

jonas skrev:Jag insåg att jag ju måste ha en hemlig del när det skapas en md5-summa för id. Det bästa alternativet tror jag är att generera en ny slumpsträng för varje användare som normalt inte visas. Inga existerande fält är bra nog eftersom id, e-post och andra delar är kända och/eller kan ändras.

Blir det bra?


Du menar att på varje användare läggs en extra secret_salt eller liknande, som sparas på användaren och är hemlig och konstant, och används i md5-genereringen?
/ Fredrik Liljegren
Användarvisningsbild
fiddur
Medlem i partiet
 
Inlägg: 643
Registrerad: 2009-07-22 04.19
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-17 12.09

Ja.

Vi kan inte anväda lösenord eftersom ett sådant kan ändras och eftersom GOV inte har tillgång till lösenorden när den kopplas till WP inlogg.
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav fiddur » 2011-09-18 07.31

Ok. Jo, det blir väl bra.
/ Fredrik Liljegren
Användarvisningsbild
fiddur
Medlem i partiet
 
Inlägg: 643
Registrerad: 2009-07-22 04.19
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-24 21.44

Omröstningen är avslutad:
http://val.aktivdemokrati.se/proposition/display.tt?id=117208

Och ny version av GOV är installerad.
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-24 21.48

Jag har lagt in så att varje användare har en hemlighet att använda för att generera id för den specifika omröstningen. Använder predikatet has_secret.

Jag flyttade kod Fredrik gjorde från generate_password() till den tidigare make_passwd() som ligger i Paraframe.

Dock så har jag inte tillräckligt bra random seed för dem. Inte ens efter att jag lade på ännu en källa för randomisering. Råkade få två användare med samma secret!

Det går inte att garantera unika ids om vi använder md5. Men det behövs egentligen inte. Det räcker att man kan se att en av dem har röstat så som angivit.

Det finns bättre moduler för mer slumpmässig data som man kan använda. Exempelvis Math::Random::Secure
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav gilroitto » 2011-09-25 09.06

Låter extremt osannolikt att du fått 2 likadana secrets om du inte gjort någon miss i hur du kombinerar dina källor. OR och AND är förstörande, XOR är rätt operation dÅ det omöjligt förstöra ett randomiseringsvärde, inte ens med en konstant. Eller så missförstår jag.
/Gil Roitto
Användarvisningsbild
gilroitto
Medlem i partiet
 
Inlägg: 787
Registrerad: 2006-09-03 00.33
Ort: Malmö

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-25 09.50

gilroitto skrev:Låter extremt osannolikt att du fått 2 likadana secrets om du inte gjort någon miss i hur du kombinerar dina källor. OR och AND är förstörande, XOR är rätt operation dÅ det omöjligt förstöra ett randomiseringsvärde, inte ens med en konstant. Eller så missförstår jag.


Kolla gärna koden och föreslå ändringar. ..
Kod: Markera allt
    # Needed, since srand is called just in the parent process
    state $counter ++;
    srand( time ^ $$ ^ $counter );


Det enda jag kan tänka mig är att det hände i en child eller liknande, där de olika källorna räknar upp ungefär på samma sätt, så jag antagligen borde sätta potens på respektive. Typ:
time ^ $$*2 ^ $counter*3... Men kanske bättre att använda en beprövad modul för det här istället.
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-25 09.52

Ah. Just ja. srand ska ju bara anropas en gång per child ändå. Felet är att göra det flera gånger. Fixar nu.
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav gilroitto » 2011-09-25 19.24

Då ^ counter bara redigerar de lägsta bitarna, kunde det kanske vara intressant att se hur srand(...) ^ srand(counter) beter sig. Srand är en deterministisk randomisering om jag gissar rätt. Vilket språk var det igen, tycker state är ett vansinnigt intressant keyword om det gör vad jag tror.
/Gil Roitto
Användarvisningsbild
gilroitto
Medlem i partiet
 
Inlägg: 787
Registrerad: 2006-09-03 00.33
Ort: Malmö

Re: GOV anonyma omröstningar

Inläggav jonas » 2011-09-25 19.46

gilroitto skrev:Då ^ counter bara redigerar de lägsta bitarna, kunde det kanske vara intressant att se hur srand(...) ^ srand(counter) beter sig. Srand är en deterministisk randomisering om jag gissar rätt. Vilket språk var det igen, tycker state är ett vansinnigt intressant keyword om det gör vad jag tror.


Perl. :-) Version 5.10
http://perldoc.perl.org/functions/state.html
http://perldoc.perl.org/functions/srand.html

Men borde som sagt välja en bättre modul som sköter den problematiken så som
http://search.cpan.org/~mkanat/Math-Random-Secure-0.06/lib/Math/Random/Secure.pm
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till http://www.direktdemokraterna.se

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Användarvisningsbild
jonas
Medlem i partiet
 
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Re: GOV anonyma omröstningar

Inläggav gilroitto » 2011-09-25 23.16

Jo men det är väl overkill indagsläget om det tar mycket tid - det mesta fungerar bra då risken för kollisioner ändå blir obefintlig.

Läste detta, som du själv nämnde.
Each sub has its own scope, so sharing a lexical state variable via state $var is not an option, you have to allocate that var in an outer scope. my and state make no difference there.


state verkar ju inte leva utöver klassens eller objektets livslängd, dvs nollställas vid omstart av systemet. Men du kombinerar ju den med time, så det fyller är ju sitt syfte i din lösning.
/Gil Roitto
Användarvisningsbild
gilroitto
Medlem i partiet
 
Inlägg: 787
Registrerad: 2006-09-03 00.33
Ort: Malmö


Återgå till Valsystemet



Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 gäster

cron
π