Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Belgische Open VLD legt verkiezing stil wegens grote bug in stemwebsite

De voorzittersverkiezingen van de Belgische partij Open VLD zijn na anderhalf uur stopgezet omdat er een bug in het online stemproces zat. Door cookies te legen of een andere browser te gebruiken konden partijleden hun stem meerdere keren uitbrengen.

De stemming over wie de nieuwe voorzitter en leden van de Open Vlaamse Liberalen en Democraten worden vond maandag plaats, maar werd na anderhalf uur gestaakt. De gerechtsdeurwaarder die toezicht hield op de verkiezingen werd op de hoogte gebracht van een kwetsbaarheid in de website waarop gestemd werd. Vanwege het coronavirus vond de stemming uitsluitend via een website en telefonisch plaats.

De exacte aard van het probleem is niet helemaal duidelijk. De partijen zelf zeggen dat het mogelijk is om meerdere keren te stemmen 'als gebruikers twee browsers gebruiken'. Dat duidt erop dat het ook mogelijk is meerdere stemmen uit te brengen als een gebruiker de cookies in zijn browser leegt.

Nadat de storing werd ontdekt legde de partij de verkiezing helemaal stil. Inmiddels zegt Open VLD dat de verkiezingen helemaal over worden gedaan.

Door Tijs Hofmans

Redacteur privacy & security

19-05-2020 • 07:34

125 Linkedin

Reacties (125)

Wijzig sortering
Nog een beetje achtergrondinformatie.
De voorzittersverkiezingen bij oVLD zouden normaal al een hele poos terug gehouden zijn geweest.
Maar dan had de huidige voorzitster als reden dat er nog volop onderhandelingen bezig waren voor een federale regering (dat andere partijen ondertussen wel van voorzitter wisselden was blijkbaar geen probleem). Er stonden een hoop kandidaten op die elkaar serieus aan het afmaken waren in de pers, wat dan ook weer geen fraai beeld was voor deze partij.
Onder druk is de voorzitster dan toch gezwicht om de verkiezingen te houden in maart, om die vervolgens uit te stellen wegend corona.
En dan is men blijkbaar in allerijl een online methode uit de grond gaan stampen. Met deze resultaten tot gevolg.
Ook handig om te weten is dat deze partij geen echt goed trackrecord heeft bij voorzittersverkiezingen, waarbij (verliezende) kandidaten al durfden beweren dat er gesjoemeld werd door de partijtop. Altijd spektakel en drama bij die partij :P
Elk beetje fatsoenlijk pollsysteem zorgt dat ze niet afhankelijk zijn van alleen cookies...

En dan krijgen ze dit voor elkaar op een verkiezingswebsite..

[Reactie gewijzigd door Bosmonster op 19 mei 2020 07:40]

klopt, de meeste pollsystemen zullen zorgen dat ze niet afhankelijk zijn van alleen maar cookies. Die zullen je stem ook koppelen aan een user account, iets dat bij verkiezingen dus niet mag (je moet anoniem kunnen stemmen).

Kern in dit probleem is dus anoniem, dus never nooit niet herleidbaar naar een persoon. Dus geen ID, geen pseudorandom string naar iemand mailen, geen koppeling aan de usernaam en ga zo maar door.

Ik wens je succes met een dergelijk stemsysteem te ontwerpen zonder dat dit ook nog eens fraudegevoelig is.

Edit 10:10:
Ik blijf het knap vinden dat mensen ideeën voordragen hoe zij denken dat het wel anoniem, 1 stem per persoon en ook nog eens veilig kan.
Er wordt regelmatig onderzoek gedaan naar elektronisch stemmen (want de ambtenaren/partijleden waar wij altijd op moeten wachten willen zelf niet wachten op de verkiezingsuitslag) en iedere keer komt het steeds weer neer op dat het gewoon niet mogelijk is om aan alledrie de voorwaarden veilig, anoniem en uniek te voldoen.

[Reactie gewijzigd door walteij op 19 mei 2020 10:11]

Het is een interne verkiezing, of dat anoniem moet kunnen hangt af van de statuten.
En dan nog is de vraag hoe je anoniem definieert. Stemmen uitbrengen via een eenmalig gebruikt computersysteem dat onder toezicht van een notaris staat een daarna wordt vernietigd zou je bij een interne aangelegenheid zoals deze ook anoniem kunnen noemen.

Edit op reactie van de edit twee posts hierboven; Ik vind het knap hoe mensen iets wat er nog niet is, als iets onmogelijks beschouwen. Als de consensus op Tweakers wordt dat je je mond moet houden in plaats van in discussie te gaan om zo samen te leren en nieuwe dingen te ontdekken dan vraag ik mij vooral af wat de toegevoegde waarde van reageren nog is.

[Reactie gewijzigd door Skit3000 op 20 mei 2020 08:13]

Wanneer de stemming geheim is, mag er op geen enkel moment ook maar enige manier zijn om de stem te herleiden naar de persoon die deze heeft uitgebracht. De gegevens achteraf vernietigen heeft geen enkel nut omdat deze tijdens de stemming ingekeken kunnen worden en, omdat het digitaal is, ook eenvoudig gekopieëerd kunnen worden.
Met stemmen op papier is ook aardig goed nog te achterhalen wie welke stem heeft uitgebracht als degene die jou je stembiljet geeft deze bijvoorbeeld eerst markeert met een vloeistof die je alleen ziet onder bepaalde lichtomstandigheden, door camera's op te hangen, of door bij de persoon waarvan je de stem wilt achterhalen het potlood om te ruilen voor een die een iets dikkere of dunnere lijn achterlaat.

Zullen we nu maar stoppen met deze discussie en ons als Tweakers op realistische scenario's richten? Wanneer er slechts een beperkte tijd gestemd kan worden, de webserver van een firewall is voorzien waardoor alleen HTTPS-verkeer hier doorheen komt, de broncode van de gebruikte software niet op voorhand openbaar is én de verkiezing voor een interne gelegenheid is zoals die van een politieke vereniging en je na afloop dit systeem inspecteert en dan vernietigt denk ik dat je al een heel eind komt.

Ik zou me bij thuisstemmen meer zorgen maken over dat een partner voor de andere partner een stem uitbrengt.
"de broncode van de gebruikte software niet op voorhand openbaar is" Goed plan! Dan weet je zeker dat het veilig is. Het idee dat, omdat de broncode niet voorhanden is, het veiliger is zou ik zeker bij verkiezingssoftware als een grote rode vlag zien voor "we weten dat we het slecht geregeld hebben".
"de broncode van de gebruikte software niet op voorhand openbaar is" Goed plan! Dan weet je zeker dat het veilig is. Het idee dat, omdat de broncode niet voorhanden is, het veiliger is zou ik zeker bij verkiezingssoftware als een grote rode vlag zien voor "we weten dat we het slecht geregeld hebben".
Idd. En er is nog een groter probleem. Er is geen garantie dat de broncode die je krijgt, ook compileert tot de software die gebruikt zal worden of gebruikt werd... Het probleem dat op een eenvoudige manier op grote schaal een verkiezing gemanipuleerd wordt blijft bestaan, of de broncode nu open is of niet.
En of de gebruikte compiler niet ge-backdoored is! Maar inderdaad, het is ondoenlijke de trustketen compleet te krijgen.
Oké jij krijgt de broncode een week van tevoren, dat maakt het wel veilig? Als er meer mensen zijn die gaten zoeken om te misbruiken dan mensen die gaten zoeken om deze te dichten, weet je zeker dat er misbruik van gemaakt gaat worden.

De code pas achteraf (maar voor het vaststellen van de definitieve uitslag) verstrekken zorgt er voor dat alleen degene die gaten willen dichten zich hier mee bezig houden én dat mensen die misbruik willen maken hier een kans minder voor hebben gehad.

Dan houd je alleen nog de mensen over die de software hebben geschreven. Zij zouden een zwakheid geïntroduceerd kunnen hebben en deze bewust hebben uitgebuit, maar aangezien de code achteraf gecontroleerd wordt en bij vermoede van fraude de uitslag niet aangenomen zal worden, is er geen motivatie voor hen om dit te doen.
Dat werkt niet: uitslag van de verkiezing is binnen. Mensen vieren feest, verdelen baantjes en 2 jaar later komt het lek boven. Niemand die dan nog terug gaat rollen. Code op voorhand openbaar neemt dat weg. Of zeg je: je krijgt 2 dagen voor verificatie en daarna vieren we feest? Dat werkt ook niet want als het zo simpel zou zijn om dat vast te stellen zou er geen onveilige software zijn.
Er bestaat nu al een wettelijke termijn binnen welke de uitslag ongedaan gemaakt kan worden bij verdenking van fraude. Kom je een dag later aan met "ik heb per ongeluk 6 nullen te veel gezet bij het aantal stemmen op persoon X" dan blijft de uitslag gewoon staan.

Ik promoot hier ook niet onveilige software, maar stel alleen vast dat als je software pas vrijgeeft nadat het is gebruikt de kans op misbruik kleiner is dan wanneer je op voorhand de broncode toont. Het ideaal is natuurlijk software of een procedure die misbruik volledig uitsluit en dat je de broncode dus wel van tevoren kunt delen, maar ik ben wel zo realistisch om te zeggen dat niemand die tot nu toe een opdracht om stemsoftware te schrijven daar toe in staat is gebleken.
En juist om die reden zie ik geen toegevoegde waarde voor een stemcomputer. Als niemand het aandurft dan is het niet triviaal. Iets wat een verkiezing wel zou moeten zijn.
Zelf al zet je Albert Einstein, Alan Turing en Lady Lovelace in een kamer met Dennis Ritchie en John Carmack dan nog krijg je geen systeem wat zowel veilig als vertrouwd is. Het is geen probleem van slimmere programmeurs vinden, het is een probleem van de verkeerde oplossing zoeken.
Voor 1 enkel individu is dat misschien nog te doen. Maar voor alle stemgerechtigden te volgen op die manier is het een heel stuk moeilijker.

En een beperkte tijd? Er kan een hele week gestemd worden. Een normale verkiezing is op 1 dag afgewerkt. En neen, online stemmen is nooit veilig te maken. En als je dit gaat doen bij grote politieke partijen is het maar een kleine stap totdat 1 van die partijen gaat zeggen: en laat ons de volgende nationale verkiezingen ook maar op deze manier doen.

1 van de belangrijkste redenen waarom een verkiezing moeilijk te manipuleren is, is door de enorme hoeveelheid mensen die continue toekijken op het feit dat alles goed gaat. Bij een online black box heb je dat niet. Het vereist maar 1 rotte appel met de juiste toegangscode om de stemming te manipuleren.
Stel dat je een string zou genereren zou dat een probleem vormen als spontaan iedereen meldt dat ze hun linkje kwijt zijn en daarme ontraceerbaar meerdere keren kunnen stemmen.
Een geheime stemming bestaat per definitie niet. Er zijn stemgerechtigden gedefinieerd, en die zijn dus ergens bekend (maar die gegevens kunnen inderdaad wel geheim gehouden worden).
Kern in dit probleem is dus anoniem, dus never nooit niet herleidbaar naar een persoon. Dus geen ID, geen pseudorandom string naar iemand mailen, geen koppeling aan de usernaam en ga zo maar door.
Nee dat is het niet. De stemmen konden ook telefonische worden gedaan. Anonimiteit was dus per definitie niet gegarandeerd. sterker nog. ik denk dat de website ledenverificatie had en dat je dus sws moest inloggen.
Het kan prima anoniem, genereen x random codes verdeel die random over even de personen en laat elke code 1 x stemmen.

Tada iedereen kan 1 keer stemmen zonder dat je ieders stem kan koppelen aan een persoon.

Je kan ze zelfs in laten loggen met digid (of een belgse variant?) Waar je na het uitbrengen van een stem een vinkje zet tegen fraude en dus maar 1 keer pp kan stemmen. Zolang je die code of de stem zelf niet aan de gebruiker hangt is het anoniem.

[Reactie gewijzigd door watercoolertje op 19 mei 2020 07:52]

Om het echt goed te doen is nog wel wat ingewikkelder. Je wil dan als stemmer niet vertrouwen op de instantie die de stemming regelt, dus als ik een "anonieme" code in de bus krijg, geloof ik niet dat de instantie op de achtergrond niet een mapping namen:codes bijhoudt.

Jouw oplossing is niet beter dan wat voor login-systeem dan ook, het lost alleen het probleem van dubbelstemmen op.
In dit geval kan dat vrij makkelijk geanonimiseerd worden: Print n (=aantal leden van de partij dat mag stemmen) unieke (QR) codes. Gooi die in een grote bak, hussel door elkaar, en doe de prints in een envelop. Dichtplakken en adreslabels er op plakken. Voor het aantal leden dat een politieke partij heeft is dit een prima en veilige oplossing, voor landelijke verkiezingen uiteraard niet.

Ter controle kan je van iedere afdeling van de partij controleurs bij het proces aanwezig laten zijn.
Oei, er zat een bug in en nu blijkt dat enkele van die QR codes dubbel zijn afgedrukt. Er zat ook een bug in de mailing lijst en nu blijkt dat sommige leden 2 QR codes hebben ontvangen. En sommige leden melden dat ze geen smartphone hebben terwijl anderen zeggen dat hun code niet werkt.
Voor het aantal leden dat een politieke partij heeft is dit een prima en veilige oplossing, voor landelijke verkiezingen uiteraard niet.
Ik denk dat je daar het juiste punt te pakken hebt, hoewel dat subjectief is: als je aanneemt dat je voor dit soort voorverkiezingen lagere eisen stelt dan echte verkiezingen kun je allemaal shortcuts nemen. Je QR-idee lost wat dingen op, maar laat ook nog gaten: hoe controleer ik als lid dat mijn stem echt meegenomen wordt? En dat er geen extra stemmen zijn die meegeteld worden (bijvoorbeeld een bestuurslid dat 1000 extra QR-codes heeft geprint buiten de grote gehusselde bak om)?

Er is een set eisen aan verkiezingen die alle vormen van elektronisch/remote stemmen nagenoeg onmogelijk maken en die triviaal zijn op te lossen met stembiljetten. Als je die eisen laat varen wordt het allemaal makkelijker.

[Reactie gewijzigd door marcieking op 19 mei 2020 09:44]

Hoe controleer jij als lid dat jouw stem echt meegenomen word bij papieren verkiezingen?
Hoe controleer jij dat een bestuurslid geen 1000 extra biljetten heeft geprint bij papieren verkiezingen?

Als de risico's terug gebracht zijn tot precies dezelfde risico's als bij traditionele papieren verkiezingen dan heb je volgens mij een behoorlijk goed systeem bedacht.
Je mag bij normale verkiezingen aanwezig zijn in het stembureau. Je kunt controleren dat de bus leeg is aan het begin van de dag. Je kunt toekijken hoe alleen stemmers met een stempas een stembiljet krijgen. Je kunt zien dat iedereen dat biljet in de bus doet. Je kunt daarna toekijken hoe de bus wordt geleegd, en je mag vragen of de stemmen hardop worden voorgelezen. Je mag de totalen van de stemmen opvragen. Je kunt daarna controleren of de totalen van je stemlokaal goed zijn meegenomen in de landelijke overzichten, en of in de landelijke overzichten de individuele stembureaus correct optellen tot een totaal.

Het is niet perfect, maar het is best goed te controleren. Ik vindt de GeenPeil-actie nog steeds mooi: wij kunnen als burgers simpelweg door met z'n allen die vragen te stellen, de uitslag van de verkiezingen controleren (of in dit geval: weten voor de officiële bekendmaking).
En dan bel ik naar de organisatie met de melding: mijn code werkt niet en ze geven mij een tweede code die niet aan mij gekoppeld is. En ik kan een tweede stem uitbrengen. Ga jij die eerste code ongeldig maken? Wie zegt dat die niet per ongeluk naar 2 mensen is gestuurd? Dan riskeer je dus ofwel fraude (iemand kan 2x stemmen) danwel dat een geldige stem niet mee telt. Beide zijn onaanvaardbaar.

Jouw codes moet je dus kunnen linken aan een persoon. Dan moet je dus de stem zien los te trekken van die persoon. Maar hoe ga je dat verifiëren? De persoon logt in en laat ons even stellen dat er een echt anonieme sessie kan opgezet worden voor de stem uit te brengen. Hoe wil je die sessie afsluiten en registreren dat op die code een stem is uitgebracht? Het stemprocess stuurt een bevestiging naar de server dat code X gestemt heeft maar mag het process pas afsluiten op het moment dat de server zeker weet dat alles goed is gegaan. De server wil pas markeren als het bevestiging heeft dat het process ook effectief is afgesloten. Je kan bevestigingen blijven sturen, maar nooit 100% zeker zijn.

Bij volwaardig anoniem online stemmen loop je uiteindelijk vast op dit probleem: https://www.youtube.com/watch?v=IP-rGJKSZ3s

En dan hebben we het dus nog alleen maar over anoniem stemmen. Dan hebben we het nog niet gehad over het principe dat je in een democratische verkiezing vrij en ongedwongen moet kunnen stemmen.
Wie bij de serverlogs kan, kan dan alsnog het stemgedrag reconstrueren.
Nog even en ze lezen gewoon ieders brein uit, veel beter dan een serverlog aan laten :D

Maargoed als ik een bijna waterdicht systeem kan bedenken wat absoluut beter kan terwijl ik 2 min wakker ben en 5 tellen na heb gedacht. Dan moet het iemand waarvan dat zijn dagtaak is de losse eindjes toch ook wel rond krijgen :)
Dat heeft bijvoorbeeld Rop Gonggrijp gedaan en die kwam (samen met velen anderen) er op uit dat digitaal stemmen praktisch gezien niet veilig en anoniem te krijgen is. Dit is waarom we in Nederland met potlood stemmen en de stemmachines al jaren stof staan te verzamelen in de opslag.

Inmiddels zijn we een jaar of 15 verder, dus wellicht dat met nieuwe technieken het e.e.a. mogelijk is (decentrale blockchain oid). Voorlopig vertrouw ik liever op mensen, die wellicht fouten maken, maar ook makkelijk te controleren zijn.
Een stemcomputer is een oplossing voor een probleem dat niet bestaat. Het probleem bij verkiezingen is niet de snelheid van tellen. De enige reden dat verkieizingen (en dus democratie) werken is omdat we met zijn alleen er van overtuigd zijn dat het proces klopt. Het is simpel uit te leggen en te controleren.
Een computer (hoe goed die ook is) is niet te controleren door meer dan 90% van de mensen. Die gaan dan klagen (en proteststemmen uitbrengen, stemmen op pipo's die roepen dat de overheid corrupt is en manipuleert). En dan heb je van een eenvoudig proces waar nu geen vragen over zijn een probleem gemaakt. Laat mensen tijd en energie steken in het oplossen van oorlogen en honger ipv. stemcomputers maken. Daar wordt de wereld wel beter van.
Bedenk eens wat een vrijheid de wereld krijgt als er een stemcomputer komt die niet te manipuleren en totaal controleerbaar is. Elk land dat zegt democratisch te zijn zal er dan niet onder uit komen die te gaan gebruiken. Andersom kan niemand dan ook meer claimen dat er fraude is gepleegd.

Papier en potlood is dat beloofde systeem in ieder geval niet. Genoeg voorbeelden van stembiljetten die in vlammen op gaan, extra stembiljetten die opeens opduiken, soldaten die controleren of alles wel eerlijk verloopt (durf dan maar eens een ander hokje aan te kruisen), transparante bakken waar je je stembiljet in moet doen, stemuitslagen die niet worden doorgegeven aan het hoofdbureau óf het hoofdbureau dat stemuitslagen niet aanneemt, leiders van verschillende partijen die tegelijk claimen dezelfde verkiezingen te hebben gewonnen.
Maar het probleem is dus de transparantie. Er is nog nooit een computer systeem gemaakt die zo transparant was dat mijn moeder het begreep. En dat gaat ook niet gebeuren want het is inherent aan computer technologie dat het complexer is dan een potlood en papier. Hierover dromen is leuk, maar valt in de hoek van science-fiction wat een heel ander genre is. En inderdaad papier en potlood heeft problemen. De andere problemen die je noemt hou je ook gewoon als je het stemproces intact laat en alleen overgaat tot digitaal stemmen. Een militair die over je schouder meekijkt als je op een knop drukt. De centrale stemmen telling die niet goed is.
Daar is nog steeds ontzettend veel mis mee.

https://youtu.be/LkH2r-sNjQs
Hoe weet je of die stemcomputer niet van iedere ~10 stemmen random een of twee stemmen naar een andere partij doorgeeft? Hoe is dit te controleren voor de toeschouwers die aanwezig willen zijn bij het tellen? Hoe kan dit volledig anoniem gemaakt worden? Hoe kan de stemmer weten dat de software op de computer niet corrupt is?

Met potlood en stembiljet is het vrijwel altijd anoniem te houden (tenzij je dat niet wenst, door je naam erop te schrijven, maar dat heeft gevolgen voor de geldigheid v.d. stem). Er valt amper mee te frauderen en als het gedaan wordt kost het fysiek heel veel moeite en moet je vele mensen 'omkopen' om vervolgens van 1 stembureau (doorgaans tussen de paar honderd en paar duizend stemmers) de stemmen te beïnvloeden, maar als je dan met 95% stemmen op Groenlinks hebt in jouw stembureau valt dat wel erg op.

Beïnvloed je de software op de stemcomputers kan je in een keer de stemmen van heel het land beïnvloeden...
'Why Electronic Voting is a BAD Idea' : https://youtu.be/w3_0x6oaDmI
Gonggrijp is de oprichter van XS4ALL, die knakker wist beter dan de meesten wat het internet ons kon brengen. Het speelde verder in 2005~2006, toen was het internet echt niet meer zo futuristisch.

Alle systemen waarbij slechts een handjevol mensen weten hoe het werkt zijn per definitie zeer gevaarlijk. Jouw 'simpele' oplossing dus ook.

Zelfs al maak je de broncode publiek (en vraag je dus het gros van de mensen te vertrouwen op de paar techneuten die die code kunnen en willen lezen, incl expertise om bewuste en onbewuste achterdeurtjes te herkennen), dan nog weet je nooit zeker of die code ook op de stemmachine/server staat.

Misbruik maken van bugs is een enorm risico (sommige stemmachines waren bijv af te luisteren door slechte shielding), maar ook omkoping/afpersing van slechts één iemand kan al leiden tot enorme stemfraude.

Ik raad je aan te verdiepen in de argumenten van toen en te kijken of die nog steeds van toepassing zijn. Ik kan je garanderen dat het gros dat nog is, omdat ze techniek-onafhankelijk zijn. Fraude detecteren zonder het stemgeheim te schaden is gewoon heel moeilijk, zo niet onmogelijk, als je het tellen van de stemmen niet kan controleren.
1. Je wil logging uitschakelen? Dus als iemand het systeem gaat hacken dan zijn daar ook geen bewijzen meer van.
2. Met randomized time heb je geen tijd meer. Je kan niets meer verifieren omdat chronologie en tijd net zeer belangrijke elementen zijn in vele digitale verificatieprocessen.Zet je klok maar eens 10 minuten verkeerd en je kan bijvoorbeeld niet meer aanmelden op een AD domein.
3. Dan heb je gezien dat iemand zich heeft aangemeld, maar hoe weet je dat die persoon een stem heeft uitgebracht? Persoon meld zich aan, is bezig zijn stem uit te brengen, computer crashed, persoon herstart, wil zich opnieuw aanmelden en krijgt melding te zien dat dit niet gaat. Stem van die persoon bestaat dus niet.
4. Als je puur een tellertje hebt, hoe wil je dan enige verificatie doen over het aantal stemmen dat is uitgebracht? 1 persoon kan namelijk meerdere stemmen in dezelfde lijst uitbrengen. Ga je enkel de lijststemmen tellen? Dan heb je nog altijd geen verificatie van de voorkeursstemmen. En wat als iemand de API gevonden krijgt en je tellertje kan beginnen manipuleren?

Er wordt al decennia nagedacht over op een veilige manier een stembusgang te organiseren, maar het kan simpelweg niet. Je moet anonimiteit opofferen voor zekerheid omdat je heel veel verificaties mist die in een stembureau vanzelfsprekend zijn. En dan hebben we het nog niet over de problematiek van vrije verkiezingen. Het feit dat je ongedwongen je stem moet kunnen uitbrengen.
Ja, want 15 jaar geleden was er nog geen internet op kantoren zeker 8)7
Dat dacht dus werkelijk niemand meer 15 jaar geleden, je doet alsof we over 25 jaar geleden praten.

Daarnaast heeft XBL het over een argument gemaakt door Rop Gongrijp, zoek eerst eens even op wie dat is voordat je de aanname doet dat hij niet beseft wat voor invloed internet op het kantoorleven heeft...

En voordat we weer gaan beginnen over het technisch mankement dat Gongrijp met 'wij vertrouwen stemcomputers niet' aantoonde, dat dit nu verholpen kan worden (kon toen ook al, dat wil dus niet zeggen dat het ook gebeurd), het was slechts een stok om de hond mee te slaan.

Stemcomputers zijn inherent niet geschikt voor verkiezingen vanwege een aantal fundamentele voorwaarden waar een verkiezing aan moet voldoen. Zelfs al los je met techniek alle fundamentele voorwaarden op, blijft er altijd nog een over:
De verkiezingen moeten door iedereen te controleren zijn. Dus zodra er broncode gelezen moet worden, wat om stemcomputers te controleren moet gebeuren, of andere techniek gecontroleerd moet worden, voldoe je niet aan die voorwaarde omdat het grootste deel van de mensen die techniek niet begrijpt.

Zelfs potlood en papier voldoet in feite al niet aan die voorwaarde omdat er beperkingen bestaan die het kunnen controleren tegenhouden maar komt wel het dichtst bij van alle systemen. En je komt ermee wel heel dichtbij de 100%.
Dan kom je dus weer op paranoia. En "verkiezingen moeten door iedereen te controleren zijn". Sure. Moet jij eens proberen als burger de telling te gaan bijwonen. Onmogelijk.
Dat heb ik een paar keer gedaan. Gewoon toen ik mijn stem uitbracht meedelen dat ik 's avonds de telling zou bijwonen. Was geen enkel probleem. Ik moest alleen om 21:00 binnen zijn (dan sloot het stemlokaal en ging de deur op slot) en ik mocht pas weer naar buiten als het tellen gedaan was.

Overigens werd het tellen gewetensvol en correct uitgevoerd. Niet dat ik iets anders verwacht had.
Ik spreek over België.
Zou het daar echt anders zijn? Heb je het wel eens geprobeerd?
Het staat zelfs in de richtlijnen.
Heb je überhaupt ooit geprobeerd om een telling bij te wonen? Want als dat niet in België kan, zou ik als ik jou was snel klachten daarover in gaan dienen bij de kiesraad.
Want hier in Nederland is dat geen praktijk van paranoïde mensen maar gewoon gebruikelijk om te doen. Dat is geen paranoia, dat is gewoon normale praktijk bij democratische verkiezingen. En als niet bijna 100% van je volk dat kan, dan is je verkiezing niet democratisch.

Het feit dat je het kunnen controleren van verkiezingen hiermee dus een non-argument noemt geeft aan dat je er duidelijk niet fatsoenlijk over nadenkt en niet eens over na wil denken. Genereer eerst de wil om daadwerkelijk na te denken over democratische verkiezingen voordat je je in een discussie als deze werpt.
Dat je stem wordt afgedrukt en in een bus gooit is leuk, maar welk probleem lost het op? Precies geen, en dat heeft je dan vervolgens ladingen met geld gekost...

Je reageert op een opmerking waar Gongrijp letterlijk in genoemd werd, dus ja, het is logisch als je dan even een zoekmachine aanspreekt en uitzoekt waar het in godsnaam over gaat in plaats van ongeïnformeerd er een reactie op te geven.
Wie bij de serverlogs kan, kan dan alsnog het stemgedrag reconstrueren.
Enkel als ze ook IP addressen kunnen koppelen aan NAW gegevens.
Het idee is dat iedere stemgerechtigde blind een code toegestuurd krijgt en dat daar geen naam aan gekoppeld is; en dat iedereen vervolgens eenmalig stemt middels die anonieme code.
Hoe bewijs je dat die code niet ergens stiekem aan namen is gekoppeld? Die link is er namelijk: je stuurt iedereen een code toe, dus op enig moment is naam en code bij elkaar geweest. Al is het maar in de sent map van de secretaris die de codes blind stuurt. Of de postkamer, die had het kunnen fotograferen terwijl ze de codes in de enveloppen met naam en adres doen.

Hoe bewijs je dat je dit allemaal niet doet?

In een fysieke vergadering vult iedereen hetzelfde briefje in zonder enige code en doen ze dat in de stembus. Dat is duidelijk anoniem.
VPN, CGN etc. Blokkades/identificatie op basis van IP is nooit betrouwbaar te maken tenzij iedereen een eigen /64 ipv6 blok heeft bijvoorbeeld over de hele wereld. Volgens mij is dat alleen niet toepasbaar omwille van BGP (Of het kan met ipv6 wel?)
In de mail met de random string een trackingpixel toevoegen. Laat die trackinpixel nu toevallig dezelfde naam krijgen als de random string en het e-mail adres van de ontvanger.
Heb je in 1 logregel de random string, het email adres waar de string naartoe is gestuurd en het IP adres van de ontvanger.

Ik zie mogelijkheden }>
Maar je moet wel kunnen controleren of de persoon in kwestie überhaupt mag stemmen.

Wat je dus moet doen is de stem koppelen aan een e-mail adres van de organisatie. Een script stuurt een verificatie code naar dat e-mail adres en de uiteindelijk uitgevoerde stem gaat in een blackbox + je krijgt een stembewijs op mail.

Je kan alles anonimiseren, al is dat wel veel werk, moet uw code nagekeken worden etc.
Hash genereren op basis van enkele systeemeigenschappen?

Never mind, dan log je gewoon aan met een ander systeem. Eerst nadenken, dan typen ...

[Reactie gewijzigd door Fomix op 19 mei 2020 08:39]

Dubbelblind:
1) partij1 maak obv naam een uniek random ID en stuur dat op. Vink de naam af. Geef later in bulk alle valide IDs door en alleen het aantal naar partij4.
2) persoon 'claimt' obv dat ID op een door partij2 beheerde website een ander uniek nummer. Vink ID af. Geef iets later in bulk alle valide nummers door en alleen het aantal naar partij4.
3) stem eenmaal op site van partij3. Vink nummer af en stuur alleen het aantal stemmen naar partij4.
4) partij4 kijkt na afloop of het aantal vinkjes van 3 <= vinkjes van 2 <= vinkjes van 1 is.

Een vinkje dat een bepaald persoon heeft gestemd is anoniem, gebeurt ook bij fysiek stemmen. Dit is veel meer anoniem dan dat. En ja er is risico dat partijen 1/2/3 stiekem samenwerken of gehax0rd worden (zoals door dom gebruik van cookies :P ) dus beveiliging en fraude tegengaan vereist natuurlijk nog steeds een boel aandacht. Net zoals dat in de fysieke wereld een boel aandacht zou moeten hebben.
Ik moet alleen maar bij nummer 2 gaan kijken om de lijst te vinden van IDs en NAW gegevens.
Nee want partij2 heeft geen weet van de NAW. En ook niet waar op wordt gestemd. Partij1 weet ook niet waar op wordt gestemd, die weet alleen dat persoonX een random ID heeft gekregen, meer niet (weet niet eens meer welk random ID). Die partij tussen 1 en 3 is nodig om juist het matchen onmogelijk te maken (ook qua matchen van tijden).

Groot nadeel van 'mijn' manier is wel dat je niet kunt weten of iemand het unieke nummer doorverkoopt / namens iemand anders stemt.
Simpel, je weet hoeveel stemmen je moet krijgen.
Maak een meer-traps verwerking.
Fase 1 : Verstuur links met Guids.
- Deze link-resultaten encode je en sla je encoded op per Guid (decryptiekey kan je bij notaris oid van te voren vastleggen)
Als je zegt dat de stemming is afgelopen tel je het aantal binnengekomen Guids en kijk je of dat overeenkomt met aantal mensen wat gestemd heeft.
Zoja ga verder, zonee verwijder resultaten en genereer een nieuwe decryptiekey die naar notaris gaat

Fase 2 : Vraag notaris om decryptiekey en decrypt alle resultaten
Kunnen ze niet via de Post naar elk lid een code doorsturen die ze moeten invullen alvorens te stemmen. Zodra deze code is geverifieerd kan je stemmen. De codes worden versleuteld opgeslagen en na de stemming allemaal verwijderd.
Wie belooft mij dat er niemand is die bij houdt welke code naar welke medewerker is verstuurd en of die medewerker ook toenag heeft tot de logfiles van de webserver of de database waar de codes in staan (inclusief de gemaakte keuze)..
Een systeem van encryptie dat ervoor zorgt dat dit niet kan. Zoiets kan je uitwerken. Zie bijvoorbeeld dit.
Encryptie is (al dan niet bewust) slecht te implementeren en/of te kraken.

[Reactie gewijzigd door walteij op 19 mei 2020 13:51]

Hier is een voorbeeld van zo'n systeem: https://heliosvoting.org/
Helios elections are:
private: no one knows how you voted.
verifiable: each voter gets a tracking number.
proven: Helios is open-source, vetted by top-tier experts, and in use by major organizations.
edit: nu moet ik wel zeggen dat (op hun eigen service) alleen kunnen authenticeren met FB of Google me nu niet echt gerust stelt. Maar goed, de zaak is open source dus vermoedelijk kan je je eigen platform draaien zonder die integratie. Enkele andere systemen volgens de documentatie van Helios-Voting zijn Scantegrity, Pret-a-Voter, STARVote, etc.

Hier staat ook wat info op iacr.org. Blijkbaar is het gebruikt geweest bij de KUL (unif in Leuven). In die universiteit is bv. ook Rijndael ontwikkeld (wordt gebruikt voor AES). Dus dat geeft me wel wat vertrouwen dan. Een beetje. edit-edit na wat zoekwerk: Hier vind je de Helios van de KUL.

[Reactie gewijzigd door freaxje op 19 mei 2020 13:48]

Je uitgebrachte stem is anoniem, niet jijzelf. Wezenlijk verschil en goed realiseerbaar.

Nb. bij verkiezingen krijg je een brief thuis (je bent dus bekend), bij het stembureau controleren ze je ID (je bent dus bekend). Tot zover niets anoniems aan.
Het stemmen zelf gebeurt uiteraard wel anoniem (vingerafdrukken uitgezonderd ;) ).
Precies. En juist doordat de 'audit trail' van mijn stemgedrag stopt bij de medewerker in het stemlokaal "Meneer X is vandaag met Stembiljet Y in stembureau Z geweest" weten ze dat ik gestemd heb.
Maar ze kunnen niet zien waarop ik gestemd heb.

Op een webserver waar ik inlog (DigID, random token, whatever) iedere klik die ik vervolgend maak, wordt op de webserver gelogd en geregistreerd, samen met mijn OS, browserversie, het IP adres waar ik vandaan verbind en als het helemaal slecht geregeld is ook mijn advertentieID.

Mijn stem is dus heel eenvoudig te koppelen aan een IP adres (zelfs met alle anonimiserende maatregelen die jullie bedenken.
Digitaal stemmen is per definitie niet anoniem te maken.

[Reactie gewijzigd door walteij op 19 mei 2020 21:44]

Dat dacht ik dus ook. Wie of wie heeft bedacht dat dit een goed idee is ipv een stem aan een gebruikersaccount te koppelen?
Degene die zich bedacht heeft dat stemmen anoniem moet zijn. Als je dit koppelt aan een gebruikersaccount is het wellicht herleidbaar en dat is bij stemmen uit den boze.
Klopt, maar elke gebruiker kan ook gewoon een “heeft gestemd” entry in de database hebben. Dat is voldoende. Het hoeft uiteraard niet écht zijn gekoppeld aan de inhoud van je stem.
Dat lijkt wel verdacht veel op de methode in NL met de verkiezingen. Je legitimeren bij binnenkomst en een briefje inleveren (= heeft gestemd in database), en vervolgens met het rode potloodje je keuze maken en je stembiljet inleveren in de stembus (= keuze in andere database oid).
Je zult alleen moeten vertrouwen dat er op de achtergrond niks bijgehouden wordt. Maar dat moet op de traditionele manier ook (bijv de medewerker van het stembureau markeert stiekem het stembiljet oid)
Bij stemmen op papier zou elk stembiljet apart gemarkeerd moeten zijn om van elke stemmer de stem te achterhalen. Bij enkele honderden stemmen per stembureau is dit niet te doen zonder op te vallen. Geautomatiseerd is dit veel eenvoudiger, een van de redenen waarom stemcomputers nog altijd niet vertrouwd worden voor verkiezingen. Er is eenvoudiger mee te knoeien. Bij een online verkiezing zoals dit is dat risico nog vele malen groter.
Bij stemmen op papier zou elk stembiljet apart gemarkeerd moeten zijn om van elke stemmer de stem te achterhalen. Bij enkele honderden stemmen per stembureau is dit niet te doen zonder op te vallen.
Tuurlijk wel, je drukt gewoon een rfid chip oid in het stembiljet.
En hoe zie je dat voor je als je achter de tafel zit bij het stembureau? Als die biljetten al binnen liggen? Alleen de personen daar weten wie welk stembiljet krijgt.
Je controleert / registreert paspoort en je drukt op een verborgen knop die je het laatst geregistreerde paspoort koppelt aan de eerst uitgegeven rfid-chip.
De 'heeft gestemd' entry is leuk als je publiek toegang hebt tot de database (en code van de website) en dat als gebruiker ook daadwerkelijk zo kan inzien.

Dat is net zoiets als dat Facebook zou zeggen dat ze vanaf vandaag geen ip adressen meer opslaan. Leuk dat ze het zeggen, maar niemand die daar in trapt. Het is een regeltje code en een extra kolom in je database. 1 minuut werk en je slaat alle informatie op die je wilt weten.

Zolang je niet weet hoe het er op de achtergrond aan toe gaat kun je er nooit 100% op vertrouwen dat 'wij doen het zo en zo, vertrouw ons maar op ons woord' ook echt op die manier gebeurt.
Tja, dan moet je niet zeggen dat je het anoniem wilt doen.

Want tegen dit soort wantrouwen is niets te beginnen, vanwege de huidige technische mogelijkheden moet je altijd ergens op vertrouwen.
Wat dat betreft is het juist met papier veel makkelijker te faken, digitaal kan je de bits en bytes vergelijken. Op papier moet ik vertrouwen op een heleboel mensen...
Het feit dat je hebt gestemd is (naar mijn idee) nog steeds in strijd met je stemgeheim. Je hebt namelijk een stem uit gebracht in de vorm van: geen stem
Leg dat maar uit in Belgie: daar is stemplicht.
Nee hoor, er is hier een opkomstplicht. Geen zorgen, heel veel mensen maken die fout maar je moet niet per se op een partij stemmen, blanco is ook in orde. Tevens wordt deze opkomstplicht voor lokale verkiezingen afgeschaft:

https://www.nieuwsblad.be/cnt/dmf20190928_04634618

edit:
Even wat fouten verbeterd :+

[Reactie gewijzigd door Andros op 19 mei 2020 10:38]

Dit zijn verkiezingen voor de voorzitter van een partij: daar is uiteraard geen stemplicht.

De nationale, gewestelijke, gemeentelijke en Europese verkiezingen zijn al lang (op veel plaatsen) digitaal, en zijn wat beter opgezet dan een check via cookies. Daarvoor moeten we naar een stembureau komen met dedicated computers. Daar is wel stemplicht, maar die verkiezingen zijn niet te vergelijken met deze voorzitterverkiezingen. Bij de officiële verkiezingen hebben ze ook jaren kunnen bedenken hoe ze dat veilig kunnen doen, hier hebben ze door het virus vlug moeten schakelen.

Als dat dan gedaan wordt door mensen die er niet genoeg verstand van hebben (dat bedoel ik niet slecht, dat is misschien 90% van de bevolking) dan krijg je dit. Al had de uitvoerende partij dit misschien wel mogen voorkomen, maar ik vermoed dat ze ook de verkeerde uitvoerende partij hebben ingeschakeld.
Geen stem hoort gewoon een keuze te zijn.

Je hebt die namelijk nodig om te garanderen dat je ieders stem verwerkt hebt.
Als je 10 stem-gerechtigden hebt en je hebt maar 1 antwoord binnengekregen dan kan het fout zijn gegaan of goed zijn gegaan, door geen keus ook een antwoord te maken krijg je 10 antwoorden binnen en weet je waar je staat.
En dan leg je de transactie gegevens naast elkaar en kun je, op basis van de tijd, eigenlijk nog best wel een goede inschatting maken van wie waarop gestemd heeft. Daarnaast is het hele proces ook niet meer te controleren.

Dit soort dingen zijn niet simpel (hoewel Open VLD het wel heel simpel gedaan heeft)

1 Iedereen moet anoniem kunnen stemmen.
2 Je moet kunnen garanderen dat jou stem ook daadwerkelijk meegeteld is.
3 Je moet kunnen garanderen dat ieders stem maar 1 keer meegeteld is.
Simpel, je weet ergens hoeveel stemmen je moet krijgen.
Maak een meer-traps verwerking.
Fase 1 : Verstuur links met Guids.
- Deze link-resultaten encode je en sla je encoded op per Guid (decryptiekey kan je bij notaris oid van te voren vastleggen)
Als je zegt dat de stemming is afgelopen tel je het aantal binnengekomen Guids en kijk je of dat overeenkomt met aantal mensen wat gestemd heeft.
Zoja ga verder, zonee verwijder resultaten en genereer een nieuwe decryptiekey die naar notaris gaat

Fase 2 : Vraag notaris om decryptiekey en decrypt alle resultaten.

Alleen je moet dan wel geen stem ook als optie opnemen. (niet voor stap 2, maar wel voor stap 1)
Voldoet niet aan 1: Geen stemgeheim aangezien de notaris kan achterhalen wat je gestemd hebt. Elke stem zit aan een GUID gekoppeld waarbij de GUID gewoon weer terug te leiden is naar persoon.

Voldoet niet aan 2: Er is geen manier om te kunnen garanderen dat jou stem meegeteld is

Het simpel besprenkelen van je beschrijving met 'encoding' en 'GUID' maakt het niet zomaar magisch veilig ofzo. Nog los van dat je waarschijnlijk encrypt ipv encode bedoeld.
1 mag je dan toch wel eens uitleggen hoor. Er is geen noodzaak voor de notaris om de data te zien, al helemaal niet in combinatie met GUID en de mails zijn verstuurd zonder ze op te slaan.
2 is ook op papier niet verder te garanderen dan simpelweg aantal mensen wat gestemd zou moeten hebben te controleren aan aantal uitgebrachte stemmen. Dat er 1 iemand dubbel gestemd kan hebben terwijl een ander neit gestemd heeft / dat men stembiljetten aan iemand gegeven heeft valt niet te garanderen vanwege anonimiteit.

Maar je kan ook naar een meer papieren soort gaan : Genereer x unieke id's
Laat de mensen aanloggen in een persoonlijk portaal waar ze een linkje + uniek id kunnen ophalen, eenmaal opgehaald wordt dat id uit de bak met unieke id's gehaald.

Stem op unieke link + id

Of je kan het echt net zoals op papier doen : Zet een publieke link neer en kap die af na x requests.
Of er wel of geen noodzaak is is niet relevant. Zolang iemand een decryptie sleutel heeft zijn de gegevens dus niet veilig. Daarnaast kun je, zeker wanneer de mails niet opgeslagen zijn, niet garanderen dat iemand twee mails of helemaal geen mails gehad heeft.

Met papier is het keurig te volgen. Ik gooi mijn papieren stembiljet in een verzegelde bus. Ik kan 's ochtends kijken of de bus leeg wasvoor het stemmen en ik kan 's avonds zien dat alles nog verzegeld is (of de hele dag blijven kijken of er niet met het zegel gekloot is) en alle stemmen meegeteld worden. Ook kan keurig gecontroleerd worden of iedereen niet dubbel gestemd heeft omdat iedereen maar 1 kiespas heeft.
Met papier is het keurig te volgen. Ik gooi mijn papieren stembiljet in een verzegelde bus. Ik kan 's ochtends kijken of de bus leeg wasvoor het stemmen en ik kan 's avonds zien dat alles nog verzegeld is (of de hele dag blijven kijken of er niet met het zegel gekloot is) en alle stemmen meegeteld worden. Ook kan keurig gecontroleerd worden of iedereen niet dubbel gestemd heeft omdat iedereen maar 1 kiespas heeft.
Toch grappig hoezeer jij met 2 maten meet.,

Wat jij zegt kan helemaal niet. Probeer het maar eens met 2000 man op 1 stembureau te doen, gaat je gewoon beleefd verzorgd worden of je kan wieberen...

En daarnaast ooit wel eens een goocheltruc gezien, of een bus met dubbele bodem, heck ze kunnen gewoon een gat onder de bus gemaakt hebben waardoor ze daaronder alles zitten uit te kiezen, iemand kan stembiljetten namaken en daarvan meerdere erin gooien.
Etc. etc. etc.

Jij wilt van een brak systeem pas afstappen als je een perfect systeem hebt, en daarom verzin je allerlei kunstige manieren (zolang iemand een decryptie sleutel heeft is gewoon te vergelijken met zolang iemand een zegel opnieuw kan plaatsen) terwijl je diezelfde kunstige manieren negeert bij de huidige methode.
Ik zou zeggen, je kan in ieder geval naar een minder brak systeem gaan, ook al is het niet perfect.
Wat jij zegt kan helemaal niet. Probeer het maar eens met 2000 man op 1 stembureau te doen, gaat je gewoon beleefd verzorgd worden of je kan wieberen...
Zolang de orde niet verstoord wordt mag je niet weggestuurd worden. Kieswet J35 N1.2 N8.3 N9.1

En leuk verhaal over je goocheltruuk, maar stel je kun 1 van de 100 uniform verdeelde stembureaus compleet naar je hand zetten, dan nog heb je slechts 1 procent invloed. En probeer maar eens onopvallend op 100 bureaus de boel te manipuleren zonder dat iemand dat door heeft. Dat is heel wat anders dan een DBA-er die even een update query doet, of een configuratie fout waarbij Wilders en Roemer perongeluk verwisseld zijn.

Nagemaakte stembiljetten gaan opvallen omdat het aantal niet overeenkomt met het aantal stempassen etc etc etc

Maar goed, blijkbaar neem je het niet van mij aan, daarom raad ik je aan om je eens wat meer in te lezen in dit toch best wel uitdagende probleem met meerdere schijnbaar tegenstrijdige requirements.
[...]
Zolang de orde niet verstoord wordt mag je niet weggestuurd worden. Kieswet J35 N1.2 N8.3 N9.1
En waarom denk je dat je weggestuurd wordt met 2000 man die toekijkt, juist omdat je de orde verstoort...
En leuk verhaal over je goocheltruuk, maar stel je kun 1 van de 100 uniform verdeelde stembureaus compleet naar je hand zetten, dan nog heb je slechts 1 procent invloed. En probeer maar eens onopvallend op 100 bureaus de boel te manipuleren zonder dat iemand dat door heeft. Dat is heel wat anders dan een DBA-er die even een update query doet, of een configuratie fout waarbij Wilders en Roemer perongeluk verwisseld zijn.
Als dat jou vrolijker maakt dan richt je toch 100 db's in waarin de resultaten worden weggeschreven en 100 notarissen die de decryptiesleutel krijgen.
Maar goed, blijkbaar neem je het niet van mij aan, daarom raad ik je aan om je eens wat meer in te lezen in dit toch best wel uitdagende probleem met meerdere schijnbaar tegenstrijdige requirements.
Ik wil het best aannemen als je het aannemelijk kan maken, maar je zit nu simpelweg met 2 maten te meten.
Als ik enkel het analoge proces naar digitaal vertaal dan ga jij commentaar hebben op het digitale stuk terwijl het analoog niet anders is.
Maar om die "heeft gestemd" entry mogelijk te maken moet je systeem dus kunnnen verifieren dat jouw stem is opgeslagen in de database met stemmen en moet er dus ergens een link zijn tussen die twee. Dus op een gegeven moment, ook al is het in theorie maar tijdelijk, moet er dus een aanwijzing in het systeem zijn die jouw stem identificeerd. Dan ben je maar 1 "bug" verwijderd van die data permanent te hebben en op een dag openbaar te hebben.
Degene die zich bedacht heeft dat stemmen anoniem moet zijn. Als je dit koppelt aan een gebruikersaccount is het wellicht herleidbaar en dat is bij stemmen uit den boze.
Ik geloof niet dat iemand hier bedacht heeft dat deze interne verkiezing anoniem moet zijn:
... vond de stemming uitsluitend via een website en telefonisch plaats.
Daar is niets anoniems aan. Is ook niet gek, bij een normaal partijcongres wordt er vaak met handopsteken gestemd.
Zoveel sites die niet begrijpen dat je zaken state-less i.p.v. state-full moet oplossen. Veel banken snappen dat ook al niet en dan faalt iDeal. Als je dan contact zoekt met de eigenaar van de site dan snappen ze het helaas meestal niet 😔
100% stateless is bijna onmogelijk.. Dan heb je ook geen sessie, geen cookies, geen authorisatie headers Je doet meerdere requests, dus als je zegt, 100% stateless, is bij het eerstvolgende request je authorisatie weg... Dat is best onhandig...
Uitgangspunten zijn goed, maar nuance is hier op zijn plaats. Communiceren met diensten als iDeal is zeker niet makkelijk, en er zijn niet voor niets partijen als Adyen, Mollie die je een hoop van dat werk uit handen nemen.
Dit is niets eens een bug, dit is de gebruikersverificatie compleet niet geïmplementeerd en/of zwaar onvoldoende uitgedacht.
Het kan een bug zijn.

Het lastige bij stem systemen is dat je het wel anoniem wilt houden.

Je hebt meerdere gegevens

1. Een lijst stemmers
2. Een lijst uitgebrachte stemmen

maar je moet geen relatie kunnen leggen tussen die twee.

Meestal doe je dat door een stemmer een token* te geven, die wordt geregistreerd als gebruikt bij het stemmen.

Dan hoef je alleen maar aan de lijst van stemmers toe te voegen dat er een token is uitgegeven. En een lijst van tokens bij te houden, die gestemd hebben.

Maar als ergens in dat proces iets mis gaat, (bijvoorbeeld een bug in het registreren dat iemand al een token heeft gehad, of welke tokens al gestemd hebben), dan ben je het haasje.

Zonder verder wat te weten over deze stemming is het lastig te bepalen.
Een "leuke" toevoeging.
oVLD zit al jaren te zeuren dat we verkiezingen online zouden moeten doen.
Dit lijkt me alvast een prachtig argument om dat niet te doen.
Verkiezingen online organiseren is inderdaad een van de slechtste dingen die je kan doen.
Op partijniveau kan ik dit nu misschien nog wel begrijpen, maar oh-wee om dit op nationaal vlak in te voeren.

Je verliest dan sowieso al de eigenschap van "transparantie" van het kiessysteem. (Want wie gaat nu nog exact weten hoe dit alles werkt? Voor de bevolking zal het alvast niet transparant zijn.)

Daarnaast is het ook extreem moeilijk om én uniciteit én anonimiteit te garanderen, door de "paradox" van die ontstaat van de twee.
Op papier is dit nog enigzins te beperken, maar online wordt het pas heel gemakkelijk om plots 10.000 stemmen bij te creëren...
Vergeet ook niet dat een groep stemmers buiten het online gedeelte zal vallen. Ouderen, digibeten, arme mensen zonder toegang tot internet/computer (ja, die bestaan nog).
Je vergeet een belangrijke groep die er buiten valt: techneuten met kennis. Ik zou niet digitaal gaan stemmen totdat ik de broncode van het apparaat heb kunnen controleren en het apparaat opengeschroefd heb om zeker te stellen dat het apparaat is wat het is. Iets wat ik met een potlood een stuk minder sterk heb :o
En aansluitend hebben we ook nog eens het probleem van gedwongen stemmen. In Nederland mag je enkel met 1 persoon in een stemhokje staan. Dit maakt gedwongen stemmen op een partij niet mogelijk. Bij online (en dus wass ook thuis) stemmen ben je deze controle volledig kwijt
En aansluitend hebben we ook nog eens het probleem van gedwongen stemmen. In Nederland mag je enkel met 1 persoon in een stemhokje staan. Dit maakt gedwongen stemmen op een partij niet mogelijk.
Yeah right...
Testen, testen en nog eens testen :(
Nee stoppen, stoppen en nog eens stoppen.
Er bestaat geen veilig, betrouwbaar en anoniem systeem om online te stemmen. Dat is al veel onderzocht en als verloren beschouwd.
Dit is toch geen bug meer? Dit is bad by design. Stemmen houd je niet op de browser lokaal bij, maar server side. Zulk amateuristisch niveau... niet te geloven...

[Reactie gewijzigd door EMP op 19 mei 2020 07:45]

Haha, dit is zo ongeveer #1 van de ‘kwetsbaarheden’ van een online poll.

Dit is wel knullig als je dat voor iets anders dan een poll voor vermaak gebruikt.
Het is eigenlijk wel. Veel IT hangt met spuug en touw aan elkaar. Als je ziet hoe wij als mensheid geleerd hebben om altijd maar onze computers te updaten, herstarten, workarounds toe te passen en al dat soort rotzooi om gewoon iets gedaan te krijgen hebben we eerlijk gezegd een groot probleem. Het werkt maar daar is ook alles mee gezegd.
Daarnaast is het misschien ook nog nuttig om te vermelden dat de site waar gestemd moest worden, publiekelijk toegankelijk was voor iedereen.

Het systeem lag dan ook niet alleen plat door die zgn. "bug" die ze hadden ontdekt, maar ook door de hoge load op de website.

De website ging dus ook al plat aan overbelasting...


Om te kunnen reageren moet je ingelogd zijn


Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True