Votazioni online, problematiche tecniche e sociologiche
8 Aprile 2008, scritto da Matteo
Nell’ultimo periodo, per vari motivi, mi sono trovato a riflettere sulle votazioni online. Apparentemente il problema è semplice e si può riassumere nel concetto “una testa, un voto“, ma non è così. Se infatti, nel mondo fisico, è relativamente facile fare in modo che ogni persona esprima uno e un solo voto, in quello digitale non è così, per vari motivi. Oltre alle questioni tecniche ce ne sono anche di sociologiche, comuni anche alle votazioni del mondo fisico, e in questo caso non c’è tecnologia che tenga.

Perchè parlo di questi argomenti? Tutto è nato con il progetto “10 domande” e qualche critica che ne è venuta fuori nei giorni successivi al lancio: in quell’occasione ho cominciato a riflettere sull’aspetto tecnico della questione. Negli ultimi giorni, inoltre, ho scritto delle tecniche più o meno lecite per raggiungere la homepage dei sistemi di social news: in questo caso entrano in gioco anche gli aspetti sociologici della questione.
Tecnicamente parlando, vale una semplice regola empirica: più è semplice votare, più il sistema si espone a voti fasulli o comunque a tentativi di imbroglio. Non è sempre vero, ma in linea di massima è così.
Il riconoscimento di un utente in rete non è cosa semplice: si può fare una distinzione iniziale fra le tecniche che permettono di distinguere il dispositivo utilizzato da quelle che permettono di distinguere la persona che lo sta utilizzando. Entrambe le tipologie non sono, naturalmente, infallibili: la differenza sta nel fatto che le prime sono trasparenti all’utente, mentre le seconde richiedono un’azione da parte di quest’ultimo. Inoltre le tecniche di riconoscimento del dispositivo non possono tenere conto del fatto che la stessa macchina venga usata da più utenti: situazione piuttosto comune sia nel caso, ad esempio, di aule universitarie, PC ad uso pubblico ma anche in ambito aziendale e domestico.
Riconoscere il dispositivo:
- Indirizzo IP: ogni volta che siamo connessi a Internet, ci viene assegnato un indirizzo IP. Non alla persona, naturalmente, ma alla macchina collegata. Non è detto, però, che un indirizzo IP corrisponda a un utente: è possibile che lo stesso PC sia utilizzato da più persone o che il PC si trovi in una rete in cui è il router a distribuire la connettività attraverso il NAT. C’è anche la possibilità, utilizzando sistemi come TOR, di mascherare il proprio indirizzo IP facendolo apparire diverso ad ogni singolo collegamento verso una macchina esterna. L’indirizzo IP da solo, quindi, non è sufficiente a distinguere due utenti.
- Caratteristiche del client: nel momento in cui ci colleghiamo ad una pagina web, mandiamo al server anche alcune informazioni sul sistema che stiamo utilizzando. Spesso è possibile conoscere il sistema operativo e relativa versione e il browser utilizzato dall’utente. Anche in questo caso, sono informazioni che da sole non bastano a distinguere due utenti, ma che unite all’indirizzo IP iniziano a rappresentare qualcosa di significativo
- Cookies: si tratta di piccole quantità di informazione che vengono lasciate al browser dell’utente e che possono essere lette successivamente dal server web che le ha create. A parte le implicazioni di sicurezza e privacy, sono il metodo più utilizzato per implementare le funzionalità di memoria di molti sistemi web. E’ possibile lasciare un cookie che indichi il fatto che da quella macchina è già stato espresso un voto, ma non è un metodo abbastanza affidabile: innanzitutto i cookies possono essere facilmente cancellati dal PC, inoltre vengono memorizzati a livello di browser. Questo significa che se un utente ha N browser installati, potrà esprimere N voti anche senza cancellare niente.
Riconoscere l’utente:
- Registrazione: obbligare l’utente a registrarsi è il metodo più semplice per poterlo poi riconoscere. La registrazione in sè non è, però, sufficiente: in assenza di meccanismi di controllo adeguati, sarà possibile per la stessa persona ottenere più di un account, andando così a infrangere la regola aurea del “una testa, un voto“. Con la semplice registrazione, senza controlli ulteriori, si riconosce l’account utilizzato sul sistema ma non la persona che lo sta utilizzando: alla stessa persona potrebbero infatti essere associati diversi account.
- Riconoscimento dei bot: in fase di registrazione, bisogna tenere conto del fatto che qualcuno potrebbe scrivere del software che si colleghi al nostro sistema e cerchi di ottenere un account senza l’intervento umano. Si tratta di una situazione pericolosa, perchè mette un malintenzionato nella condizione di spacciarsi per molte persone diverse senza grossi sforzi. Tra i metodi più in voga per riconoscere un essere umano da un pezzo di software ci sono i captcha, che però hanno anch’essi delle controindicazioni: se vengono scoperte delle vulnerabilità nel sistema utilizzato si torna alla condizione di partenza. Questa tecnica può anche diventare un ostacolo per i non vedenti, cosa assolutamente da evitare in un sistema ben progettato.
- Conferma della registrazione via e-mail: una volta superata la registrazione, è buona pratica obbligare l’utente a confermarla attraverso un codice che gli verrà fornito via e-mail. In questo modo, più sicuro della semplice registrazione, non si riconosce comunque la persona ma il suo indirizzo e-mail. Ormai un indirizzo e-mail è qualcosa di semplice e gratuito da reperire, quindi potrebbe essere ancora possibile che la stessa persona abbia a disposizione più di un account. Se poi prendiamo in considerazione i servizi che permettono di creare indirizzi e-mail anonimi e temporanei, appositamente studiati per questo tipo di utilizzo, la probabilità che questo accada aumenta.
- Conferma della registrazione via SMS: la conferma via SMS rappresenta una tecnica di conferma dell’account più sicura dell’indirizzo e-mail. In questo modo, sebbene non si riconosca ancora l’utente ma il suo numero di cellulare, il numero di account che la stessa persona può avere varia da infinito a qualche decina (non conosco persone che abbiano qualche decina di SIM, ma sono un informatico e tendo a pensare sempre ai possibili disastri
). In questo modo, però, si escludono dalla registrazione tutte le persone che non hanno a disposizione un telefono cellulare o che, per vari motivi, hanno poca dimestichezza con il suo utilizzo (e sono molte più di quanto si pensi). Il fatto poi di fornire un dato personale di questo tipo, potrebbe portare molte persone interessate a non iscriversi al servizio per semplice (e comprensibile) diffidenza.
Questo breve elenco non esaurisce sicuramente il problema, ma si può vedere in modo abbastanza chiaro come a una maggiore sicurezza del riconoscimento corrisponda un numero maggiore di azioni da parte dell’utente e di dati sempre più personali da fornire. Questo porta a una riduzione del numero di utenti registrati, sia per la maggiore complessità del processo sia per la semplice reticenza nel fornire tali dati.
Questioni sociologiche:
Se tutto questo non bastasse a spiegare la difficoltà nella realizzazione di questo genere di sistemi, alle questioni tecniche se ne aggiungono anche di sociologiche: in un articolo di qualche giorno fa, ho parlato dei trucchi per portare i propri articoli in testa a sistemi di social news come OKNotizie, ma il discorso vale anche per altri. Non si tratta solo di “trucchi tecnici”, che sfruttano le inevitabili vulnerabilità delle tecniche che ho appena descritto, ma anche di alleanze con altri utenti per votarsi a vicenda ottenendo in questo modo maggiore visibilità.
Questo, purtroppo, non è un aspetto controllabile da parte del gestore del sistema che, a meno di situazioni veramente evidenti, è impossibilitato a capire se un voto è espresso per effettivo interesse nei confronti del contenuto votato o per accordi presi fra utenti al fine di scalare classifiche o rendere popolare un certo contenuto piuttosto che un altro. Il problema è culturale, e nessuna tecnologia potrà mai risolverlo: questo, naturalmente, vale per qualunque tipo di votazione, sia online che offline, e non c’è un modo sicuro per essere certi che le votazioni derivino dall’onestà intellettuale del votante.
E quindi?
Tutto questo discorso mi è servito per fare un po’ di ordine nella mia testa su queste problematiche, che sono molto più complesse di quanto possano sembrare a prima vista, e per spiegare a grandi linee che realizzare un sistema di votazione online è qualcosa di veramente complesso. Non esiste la soluzione perfetta, e qualunque decisione si prenda ci si troverà, inevitabilmente, con qualche inconveniente. La scelta sta quindi tra un sistema di votazione semplice per l’utente ma facilmente falsabile, e uno più complesso e sicuro, che però porterà ad avere meno partecipazione.
E’ probabile che nell’articolo ci sia qualche clamoroso strafalcione o dimenticanza, nel caso fatemelo notare senza problemi.
Ti è piaciuto l'articolo, eh? OFFRIMI UNA BIRRA! (è sufficiente essere iscritti a Paypal o avere una carta di credito, anche Postepay)
Articoli consigliati...
- Social News in Italia: intervista a Giandomenico La Fauci di Plim.it
- Spam e Twitter, il caso di Jarret Coon
- Social News in Italia: intervista a Adrien Hingert di Kipapa.it
- Guadagnare online: con ZenZuu.com il marketing piramidale diventa 2.0
- Mail server su Alice ADSL e Spamhaus: ecco la soluzione ai problemi di DNS!






















Smart card *personale* contentente un certificato *personale*, quindi autentiticazione con PKI?
Comodissimo, le distribuisci tu agli utenti di un servizio di social news (o cose simili)? ;D
Ho letto con superficialità il post e mi è sfuggito il fatto che parlassi delle solite cazzate sociale non delle vere elezioni, chiedo venia