Professional Documents
Culture Documents
Sistema de Votaciones
electrónicas (APP)
1
Votaciones electrónicas
Agradecimientos
Durante estos meses de intenso
trabajo, investigación, reuniones,
visitas, llamadas, horas y más horas
delante de un ordenador, con el único
objetivo de aprender y formarme en el
inmenso mundo de las aplicaciones
móviles. Tengo que agradecer a una
larga lista de personas, que han
colaborado para hacer este PFC
posible.
2
Votaciones electrónicas
Índice General
1. Introducción…………………………………………………….…………….
ón…………………………………………………….……………. ........ 5
1.1. Antecedentes…………………………………………………………… ...... 7
1.2. Objetivos………………………………………………….………….… ..... 10
1.3. Metodología…………………………………………….…………..….. 11
Metodología…………………………………………….…………..….......
1.4. Planificación………………………………………………………..….. ..... 12
1.5. Estudio de Mercado………………………………………………..…. ..... 13
2. Dominino, definiciones y fundamentos………………………………….. ..... 18
2.1. Multitudes…………………………………………………………….... ..... 18
2.2. Intelligent Network Crowd………………………………………….…. .... 23
2.3. Gobierno……………………………………………………………...... ..... 25
2.4. Normativa…………………………………………………………….... ..... 32
2.5. Conceptos matemáticos……………………………………………… ..... 39
2.6. Criptografía…………………………………………………………….. ..... 42
2.7. Conexiones ……………………………………………………….…… ..... 49
2.8. Protocolos de encriptado……………………………………………........
encriptado……………………………………………... 54
2.9. Sistema operativo Android………………………………………..…...
Android………………………………………..….. .... 57
3. Requerimientos…………………………………………………………...….. ..... 60
3.1. Escenario actual……………………………………………..………… .... 62
3.2. Presupuesto…………………………………………………..……..…. .... 65
4. Análisis……………………………………………………………………..…... .... 68
4.1. Funcionalidades………………………………………………….…….. .... 68
4.1.1. Registrar terminal………………………………………….…... ... 68
4.1.2. Datos de perfil………………………………………………….. ... 69
4.1.3. Gestión de notificaciones………………………………...…… ... 69
4.1.4. Envió de nueva propuesta………………………………..……...
propuesta………………………………..…… 69
4.1.5. Recibir una notificación de sondeo…………………………... ... 71
4.1.6. Smart Social Routing………………………………………….. ... 73
4.1.7. Recibir una notificación…………………………………...…... ... 76
4.1.8. Listar propuestas abiertas…………………………………….. ... 77
4.1.9. Listar votaciones realizadas…………………………………......
realizadas………………………………….. 77
3
Votaciones electrónicas
4
Votaciones electrónicas
1. Introducción
VotoSocial es la herramienta que mejorará la comunicación en todos los ámbitos de
una sociedad. Una aplicación para dispositivos móviles, que permitirá la
comunicación en tiempo real, de forma fácil, segura, distribuida y totalmente
personalizada por cada individuo. Se presenta como la revolución de las votaciones a
la carta, bajo la potencia de un nuevo concepto: “Intelligent Network Crowd”1.
“La Red Inteligente de Multitudes”, abrirá una nueva forma de entender las
tecnologías de la información, donde la Red pasa a tener mucho más protagonismo y
la aplicación ya no se limita a mostrar, organizar y almacenar datos, sino que estará
dotada de inteligencia para gestionar la información de cada perfil, en el proceso
estadístico de votación. La red ya no es importante tan solo por las relaciones entre
los nodos, sino por el valor que aporta la persona que está detrás de cado uno de
sus vértices. Con este nuevo enfoque, se espera demostrar cómo las multitudes que
trabajan de forma colaborativa2, bajo una red inteligente, consiguen mejorar la
eficiencia de los sistemas de colaboración actuales 3.
La aplicación móvil de votaciones electrónicas, está pensada para poder dar voz a
todo individuo de un colectivo, que quiera ejercer su derecho a opinar o incluso a
proponer mejoras. El sistema utilizará la inteligencia colaborativa de la red, para
discriminar las propuestas populares de las irrelevantes. La aplicación, tras varias
fases de votaciones segmentadas hará llegar las más populares a los órganos de
gobierno, sea cual sea su ámbito de aplicación: juntas directivas, comités de
empresas, ampas, clubes, etc...
1
Redes inteligentes al servicio de grandes grupos de personas, para hacer prevalecer la opinión
de la mayoría. En la memoria se definirá ampliamente este nuevo término, nunca antes utilizado
para este contexto, por ninguno de los autores más significativos estudiados.
2
Grandes agrupaciones de personas trabajan juntas con un objetivo común, compartiendo
sencillas reglas y principios.
3
Por lo general, los sistemas actuales de colaboración están basados en redes horizontales
basados en la buena fe.
5
Votaciones electrónicas
Estos requisitos han sido debatidos conjuntamente con otras asociaciones, incluso,
se ha recibido apoyo desde la Federación de Entidades Excursionistas de Catalunya
(FEEC), que han aportado ideas propias.
6
Votaciones electrónicas
1.1. Antecedentes
En los últimos años la tecnología está revolucionando a toda la sociedad. La
respuesta de adaptación a las nuevas tecnologías está batiendo récords en España
y a nivel mundial. Los datos son impactantes, a día de hoy el 96,1%4 de los hogares
poseen móvil, el 94,6%5 de la población española ha usado un teléfono móvil en los
últimos 3 meses, un 69,8%6 de las viviendas españolas poseen internet y hasta el
66% de los trámites con las administraciones públicas ya son electrónicos.
Si se compara el tiempo que tardó la sociedad en utilizar el teléfono fijo, con lo rápido
que se ha adentrado en nuestras vidas los teléfonos móviles, se puede observar la
importancia de esta revolución tecnológica. (Véase tabla 1)
A día de hoy, hay más móviles que personas en España, existen más de 47 millones
de unidades, de los cuales 28,2 millones de móviles son smartphones con acceso a
internet. Continúa a un ritmo imparable del 43%8 anual, el equivalente a 8.5 millones
de nuevos terminales al año. En muy pocos años el mundo estará totalmente
conectado a la red, de forma permanente, en cualquier lugar, en cualquier momento,
ya sea en el metro, en los descansos del trabajo, en los trayectos a pie, en el coche,
4
Instituto nacional de estadítica, 25/10/2013, http://www.ine.es/prensa/np803.pdf consultado 10/02/2014
5
Instituto nacional de estadítica, 25/10/2013, http://www.ine.es/prensa/np803.pdf consultado 11/03/2014
6
Instituto nacional de estadítica, 25/10/2013, http://www.ine.es/prensa/np803.pdf consultado 15/04/2014
7
Elaboración propia, estudio desde 1924 a 2013, fuentes utilizadas CNMTDATA, 04/06/2013,
http://cmtdata.cmt.es/cmtdata/jsp/inf_anual.jsp?tipo=1, INE e Informes anuales de la Fundación Telefónica.
8
Fundación telefónica, http://www.fundacion.telefonica.com/es/arte_cultura/publicaciones/sie/sie2013.htm
7
Votaciones electrónicas
9
Gráfico 2: Crowd + Internet + mobile APP = new social paradigms
9
Gráfico 2, elaboración propia.
10
Definicion, http://es.wikipedia.org/wiki/Inteligencia_colectiva
8
Votaciones electrónicas
9
Votaciones electrónicas
1.2. Objetivos
Este proyecto pretende crear una aplicación móvil para el sistema operativo Android
11
, capaz de implementar una primera aproximación del concepto “Red Inteligente
para multitudes” para que los miembros de una asociación puedan comunicarse de
forma colaborativa y eficiente.
Por otro lado, se pretende definir los conceptos teóricos y legales de la evolución de
las redes sociales planteadas.
Se anticipa que hay varios temas de gran complejidad, que serán simplificados para
la realización del prototipo demo. Todos los contenidos se tratarán de forma teórica y
se implementarán de forma simplificada para cumplir con los plazos definidos.
11
Sistema Operativo para móviles más usado en la actualidad, impulsado por Google desde sus
inicios.
12
Basado en el concepto de distribución en, Disruption tolerant networks (DTNs), IEEE Vehicular Technology
Society
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6459982&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpl
s%2Fabs_all.jsp%3Farnumber%3D6459982
10
Votaciones electrónicas
1.3. Metodología
Durante la realización del proyecto se ha utilizado un sistema de prototipado iterativo.
Mediante el cual, se han ido haciendo pequeños prototipos con funcionalidades
mínimas y se han ido añadiendo nuevas.
11
Votaciones electrónicas
1.4. Planificación
El proyecto se ha diseñado para realizarse durante 7 meses a media jornada, el
equivalente a 100 horas mensuales y días extra de vacaciones para completar las
750 h. De este modo, se podrá combinar la programación con la investigación y
definición de los conceptos e hipótesis planteadas. Se han adaptado las
funcionalidades a realizar para cuadrarlas en el tiempo marcado, donde la fase de
12
Votaciones electrónicas
La aplicación no
actualizada desde hace
más de un año, tiene
cerca de 50.000 descargas y es la primera opción
del buscador de Google play.
Esta sigue activa por sus usuarios y parece estar
discontinuada.
13
Votaciones electrónicas
1.4.2. PowerVote
Una aplicación dedicada a las votaciones, pero muy enfocada a los eventos
presenciales. Incluso posee un mando para repartir entre el público de las
presentaciones.
14
Votaciones electrónicas
pero por el momento no sirve para votaciones descentralizadas donde los socios no
están reunidos.
1.4.3. MySurvey
Otra App, en este caso enfocada a las encuestas, te permite responder a todas las
encuestas posibles. Tras completar tu perfil, te asegura que te pagan por encuesta
realizada. Esta aplicación esta creada con un fin comercial, y por lo tanto el usuario
no puede crear nuevas encuestas.
Podemos observar que el diseño es bueno, pero las opiniones de los usuarios son
bastante deficientes. Un dato sorprendente son las más de 100.000 descargas que
ha conseguido.
15
Votaciones electrónicas
1.4.4. EncuestaAPP
16
Votaciones electrónicas
Existe una llamada voteE, pero está en desarrollo. Anuncia voto electrónico seguro,
pero su web está en construcción y la aplicación no funciona sin el previo registro en
su web.
17
Votaciones electrónicas
2.1. Multitudes
2.1.1. Inteligencia Colectiva:
Son muchos los autores que han hablado de ella desde 1911, como William Morton
Wheeler's 13 que definió el concepto de la forma siguiente: un colectivo
comportándose como un sólo individuo. Pasando también por Lévy Pierre, cuándo en
2007 afirmó que la política y las organizaciones debían trabajar socialmente usando
la tecnología.
13
http://en.wikipedia.org/wiki/William_Morton_Wheeler
14
http://noubel.fr/linnovation-par-lintelligence-collective/ ,
http://publishing.yudu.com/Library/Arswi/CollectiveIntelligen/resources/index.htm?skipFlashCheck=
true
18
Votaciones electrónicas
19
Votaciones electrónicas
2.1.2. Crowd
Para que exista esta multitud inteligente deben darse al menos estos elementos:
● Diversidad de opinión.
● Independencia.
● Descentralización.
● Agregación.
20
Votaciones electrónicas
El concepto crowd en el futuro, será más amplio que solo agregación. Colectivamente
se solucionaran problemas mucho más complejos. Wikipedia es un buen ejemplo,
pues las discusiones o debates para saber qué contenido es bueno o relevante en
un mismo artículo, son debatidas entre todo el que quiera participar. Pero podrían
ser mucho más ágiles, eficientes y menos irritantes en algunos casos si la tecnología
colabora.
Existen muchos tipos de multitudes, según su objeto. Tal como hemos visto, en el
apartado anterior de inteligencia colectiva, si mucha gente comparte un objetivo;
entre todos solucionarlo es mucho más fácil. Por ello, estas multitudes se agrupan
según su finalidad.
21
Votaciones electrónicas
Si nos fijamos, todos ellos son proyectos de éxito en nuestros días y los podemos
asociar a grandes empresas:
● Crowdbuying: Compra de multitudes; Groupalia, Groupon o similares
● Crowdvoting: Voto de multitudes; Ebay, Atrápalo, Softonic, Amazon, con los
votos sociales, que sirven de utilidad y son valiosos. Se utilizan haciendo la
agregación de opiniones personales de gente aleatoria y dispersa, que junta
acaba teniendo una utilidad muy grande.
● Crowdworking:
Compartimiento de
conocimiento; Wikipedia y
Github; multitud de personas
creando código por fragmentos.
● Crowdfunding: haciendo
referencia al párrafo
anteriormente explicado, son
pequeñas aportaciones
económicas, como ejemplo
encontramos Wikipedia, ó
quizás no tan novedoso, pero
cualquier ONG que hace tiempo
lo aplican.
Los tipos que más nos interesan son algunos como el Croworking, el trabajo
colaborativo frente a la antigua concepción de una persona haciendo un trabajo.
Ahora una multitud puede hacerlo más completo, más preciso, más robusto y más
aceptado. Más concretamente el término que se acerca a la finalidad del proyecto es
Crowdsourcing, en este caso, la multitud construye un texto, norma, presupuesto o
solución de forma colaborativa.
22
Votaciones electrónicas
En todos los ejemplos hemos visto que uno de los catalizadores de la inteligencia es:
la diversidad de las opiniones, la independencia, el anonimato, los líderes
espontáneos. Se intentará potenciar todos ellos con la herramienta, dejando que
toda persona en cualquier momento pueda realizar una propuesta nueva.
23
Votaciones electrónicas
Por ello, si el sistema conoce y utiliza la información de cada nodo, de cada persona,
creando un perfil de ella y utilizándolo para mejorar la inercia del conjunto según la
situación. El resultado de una multitud inteligente se multiplicará y obtendremos
mejores resultados con menos tiempo.
La red tiene un valor enorme, no sólo por las conexiones entre sus nodos, que en
nuestro caso no tienen importancia, pues buscamos independencia de resultados.
Sino por el conocimiento, experiencias de cada uno de los nodos. Por ello en este
Proyecto Final de Carrera (PFC), se va a hacer una pequeña aplicación de este
concepto, que puede llevarse mucho más allá, para redactar leyes y presupuestos.
Veremos en más detalle cómo funciona exactamente en el apartado de
funcionalidades y análisis.
24
Votaciones electrónicas
2.3. Gobiernos
Sobre los tipos de gobiernos, políticas y la predisposición a usar la tecnología se
verán algunas definiciones y los países que aplican votaciones.
2.3.1. OpenGoveverment
Don TapsCott15, ejecutivo canadiense, con más de 14 libros escritos, sobre los
nuevos paradigmas de Internet, economía digital y como un visionario sobre el nuevo
futuro “hypercollaborative world”. Cree confiadamente que un gobierno abierto y una
sociedad colaborativa estallará en las próximas décadas.
A día de hoy, entorno las redes sociales como plataforma abierta de opinión, está
tomando fuerza en países europeos el nuevo paradigma llamado Open Goverment.
Está muy ligado al concepto de Open Data, donde se definen protocolos abiertos de
comunicación para las administraciones públicas. Esto permitirá a la sociedad
disponer de los datos sin que estén tratados o maquillados. Teniendo así, la
información en bruto, para que cada uno saque las conclusiones necesarias sin que
haya intermediarios.
15
http://www.ted.com/talks/don_tapscott_four_principles_for_the_open_world_1/transcript#t-731392
25
Votaciones electrónicas
La comunicación actualmente quiere dinero, por ello lucha por ganar audiencia, y de
forma opcional, si pueden entretienen e informan. Los más visitado son la BBC, New
York times y la CNN. Si pierden credibilidad lo perderán todo, es lo único que les
diferencia de otras fuentes de información. Sólo siendo responsables podrán
salvarse.
16
http://www.manuelcastells.info/es/SSCIsocialranking_esp.pdf y
http://thomsonreuters.com/social-sciences-citation-index/
26
Votaciones electrónicas
En ellas refleja que, quien domina la comunicación con las personas dominan sus
mentes y así se consigue el poder; controlando las relaciones con las personas. Si
antiguamente se hablaba que la información es poder, ahora ya no es la información
en sí, sino la capacidad de comunicar, de llegar a transmitir un mensaje a miles de
personas.
17
http://www.digitalismo.com/la-nueva-politica-segun-manuel-castells/
27
Votaciones electrónicas
Así deja abierta la puerta, para que las nuevas redes de comunicación puedan dar la
vuelta a la tortilla de los antiguos y monopolizados medios de comunicación, aquellos
que ejercen mucha presión y que ahora se verá diluida en la inmensa red.
2.3.3. Democracia
18
http://es.wikipedia.org/wiki/Democracia_directa
28
Votaciones electrónicas
La gente colabora y envía propuestas de las cuales también pueden votar a la que
más gusta. De esta manera, las propuestas más votadas son las que el gobierno
contempla a estudio.
19
Revista Enfoques Volumne IX Nº15, 2011
https://www.academia.edu/1196454/Gobierno_abierto_y_modernizacion_de_la_gestion_publica._
Tendencias_actuales_y_el_inevitable_camino_que_viene._Reflexiones_seminales
20
http://patrai.procergs.com.br/wp/wp-content/uploads/2012/11/caderno_resultados_final1.pdf
29
Votaciones electrónicas
Este sistema continúa siendo cerrado, abre la puerta a la escucha, pero no dice nada
de apertura y transparencia. Quizás solo hace una mejora en la escucha activa de
los ciudadanos.
Podemos ver las estadísticas que anuncia en la página web en la próxima figura.
30
Votaciones electrónicas
Sin ir tan lejos en el GoBierno de Barcelona, también empiezan a verse este tipo de
iniciativas de modernidad. con propuestas similares. Facebook como medio de
captación, megustas y opiniones frente a temas.
Como en el anterior caso, son aplicaciones del gobierno abierto sin tecnología
adecuada. Se comporta como una extensión de la administración electrónica.
21
http://es.wikipedia.org/wiki/Presupuesto_participativo
31
Votaciones electrónicas
2.4. Normativa
2.4.1. Referéndum22
Un texto bastante escueto, que no termina de aclarar demasiado. Estos actos los
solicita los poderes jurídicos para ciertas acciones de trascendental importancia.
Estas se pueden clasificar según su objeto o fundamento. Están detallado su
funcionamiento en la “Ley Orgánica 2/1980, de 18 de enero sobre Regulación de las
24
Distintas Modalidades de Referéndum” , tal como se define en el artículo 92 de la
Constitución. Algunos ejemplos serían; las declaraciones de independencia o
Estatutos de Autonomía.
22
http://es.wikipedia.org/wiki/Referéndum
23
http://lema.rae.es/drae/?val=referendo
24
http://noticias.juridicas.com/base_datos/Admin/lo2-1980.html
32
Votaciones electrónicas
En todos los casos hay que destacar que hay temáticas restringidas, como la Ley
General Tributaria (LGT) 58/2003 de 17 de Noviembre, la Ley del Impuesto sobre la
Renta de las Personas Físicas (IRPF) 35/2006 de 28 de Noviembre o la Ley del
Impuesto sobre el Valor Añadido (IVA) 37/1992 de 28 de Diciembre. Dicho esto, una
vez presentada la propuesta, hay un plazo de 9 meses, bastantes para conseguir las
firmas y una vez realizado esto, la propuesta del pueblo debe de ser votada en el
cámara del senado.
33
Votaciones electrónicas
De todas las Iniciativas presentadas, de las 92 solo 10 han sido aceptadas en estudio
y de esas solo 1 ha sido aprobada. De esas 92 tan solo 10 han superado los
trámites parlamentarios, resultando ser ocho las rechazadas por el Congreso.
34
Votaciones electrónicas
La Alianza para el Gobierno Abierto, fue lanzada en 2011 para proveer una
plataforma internacional, para reformadores domésticos comprometidos a que sus
gobiernos rindan cuentas, sean más abiertos y mejoren su capacidad de respuesta
hacia sus ciudadanos. Desde entonces, Open Government Partnership (OGP) ha
pasado de 8 países participantes hasta contar con los 63 países que se indican en el
mapa inferior. En todos esos países, gobierno y sociedad civil trabajan juntos para
desarrollar e implementar reformas ambiciosas en torno al gobierno abierto.
25
http://www.opengovpartnership.org/es
26
http://www.opengovpartnership.org/es/c%C3%B3mo-funciona-ogp/c%C3%B3mo-incorporarse/ele
gibilidad
35
Votaciones electrónicas
36
Votaciones electrónicas
27
Datos de la 5ª conferencia internacional EVOTE2012 el 11-14 Julio 2012 (E-vote.cc)
28
Datos de la 4ª conferencia internacional EVOTE2010 el 21/24 Julio 2010 Austria
37
Votaciones electrónicas
Después de ilustrar los tres mapas, por un lado, la evolución de las tecnologías de
voto electrónico en el mundo y por el otro, los gobiernos con tendencia a ser abiertos
y transparentes. Se puede apreciar la tendencia por mejorar la transparencia,
mostrar los datos y aplicar las tecnologías de la información para facilitar la
participación. Un punto muy importante para entender los motivos, es mirar el coste
real de un proceso manual de votaciones, que solo el hecho de impresión de las
papeletas posibles por cada partido para cada ciudadano son realmente enormes.
Se adjunta en los anexos, una imagen solo de Cataluña de los porcentajes de votos
e impresiones. Para que se pueda observar que el coste que implica y la mejora que
supone utilizar sistema informatizados donde no es necesario imprimir nada.
El dato es que, el 97,7%29 de las papeletas en Barcelona en las Cortes Generales del
2008 quedaron sin utilizar. Puede verse en el anexo el detalle, pero son más de 40
millones de papeletas desperdiciadas sólo en la ciudad de Barcelona, un dato nada
despreciable.
29
http://www.infoelectoral.mir.es/Publicaciones/ModernizacionGestionElectoral2011.pdf
38
Votaciones electrónicas
Entonces
Esta ley explica que, al coger muchos resultados o muchos datos estadísticos si la
muestra es muy grande puede representar a la muestra completa. Esto es muy
significativo debido a que una muestra al azar de un colectivo, si es bastante grande,
servirá para estar muy cerca del resultado medio de todo el colectivo.
Por otro lado, también hacer referencia a que cualquier experimento que a priori
parezca aleatorio, al incrementar el número de veces que se repite, la media del
resultado, va acercándose a un valor casi constante.
30
http://es.wikipedia.org/wiki/Teorema_del_límite_central
39
Votaciones electrónicas
Esto es muy interesante que pasa si en un colectivo se repite una pregunta. Esta
pregunta tiene 6 posibles respuestas. Si aleatoriamente se pregunta a 10 personas
posiblemente no se tenga la respuesta de la media. Pero si se repite este
experimento X número de veces sin tener que preguntar a todo el mundo
obtendremos la respuesta media.
40
Votaciones electrónicas
41
Votaciones electrónicas
2.6. Criptografía
Es la técnica de escritura mediante una clave secreta entre un colectivo o dispositivo.
Es un campo muy importante pues toda la seguridad de toda transacción electrónica
considerada a día de hoy segura depende de las técnicas de la criptografía.
2.6.1. Cifrado
31
http://es.wikipedia.org/wiki/Cifrado_(criptografía)
42
Votaciones electrónicas
El hash al dar una cadena no reversible y fija es muy útil dado que se puede
almacenar ocupando poco espacio, preserva la intimidad del valor que oculta no
relevando ni su tamaño ni contenido.
Las contraseñas en toda base de datos suelen guardarse en este formato, pues
cuando un usuario escribe la contraseña, no es necesario conocerla para
comprobarla. El proceso de comprobación, se realiza comparando el hash resultante
de la contraseña dada con el hash almacenado. Así no tienen el password nunca
almacenado y nadie puede quitárselo, a la vez pueden comprobar si alguien da el
correcto o no volviendo a aplicar la misma función de hash.
Este hash es utilizado como parte de la firma electrónica que se verá un poco más
adelante y se basarán en él para secretizar ciertas partes de la votación.
32
http://es.wikipedia.org/wiki/Cifrado_asim%C3%A9trico#Tecnolog.C3.ADas
43
Votaciones electrónicas
Lo importante es saber que todo usuario tiene dos claves una que conoce todo el
mundo o que está publicada en algún sitio de confianza, de tal manera que si alguien
la utiliza para cifrar un mensaje con mi clave pública, nadie más podrá leerlo que
quien posea la clave privada vinculada a esa llave pública.
Otra característica muy interesante es que si se cifra usando una llave privada
podran demostrar que nosotros y solo nosotros hemos sido quien ha firmado el
documento, para ello solo deberá usarse la clave pública para ver que el mensaje es
suyo.
44
Votaciones electrónicas
Sobre su seguridad, le queda poco tiempo para que deje de ser segura y tengan que
aumentar el número de bits para ganar tiempo mientras se buscan nuevas formas de
protección.
Aún no es alarmante, pues sólo han conseguido en 2 horas romper 56 bits (256),
gracias a una mejora eficiente de calcular problemas logaritmicos. Por otro lado cada
bit adicional aumenta mucho la complejidad del problema, ya hay quien usa claves
generadas a 4096 bits. Pero esto abre nuevas puertas para su codificación más
eficiente y con mayores computadores, ver si el tiempo necesario es asumible.
33
http://actu.epfl.ch/news/epfl-researchers-crack-unassailable-encryption-alg/
45
Votaciones electrónicas
En estos algoritmos sólo existe una clave secreta, que deben de poseer las personas
que quieran descifrar el mensaje. Estos algoritmos son más seguros y rápidos que
los de clave asimétrica, con los mismos bits de cifrado. Los bits de cifrado, indican la
potencia de dos elevada a esos bits indica el número de claves posibles que existen.
En la actualidad con 128 bits, el espacio de posibilidades es tan grande, que supone
computacionalmente inviable descifrar el mensaje, dado que los cálculos denotan
que harían falta todos los ordenadores del planeta durante miles de años para
resolver o encontrar la clave.
Los algoritmos más usados con este tipo de clave son el DES, 3DES, AES.
La firma digital es un método que utiliza un sistema de clave asimétrica, que permite
determinar la integridad del mensaje y la autoría del mismo. Así permite saber que no
ha sido manipulado por el camino y que la persona que lo ha escrito es quien dice
ser. Da autenticidad y no repudio del mensaje.
46
Votaciones electrónicas
Este punto es un elemento clave de las votaciones, por un lado para que no se
pueda repudiar que una persona ha votado lo que dice que ha votado y por otro
lado, que nadie manipule la votación en mitad de la comunicación.
47
Votaciones electrónicas
2. Cuando alguien recibe la firma, para comprobar que es de Ana, solo deberá
coger la llave pública conseguir el hash del documento comprobar que el
documento tienen el mismo hash. Si coinciden el documento no ha sido
modificado y Ana es quien lo ha firmado sin duda alguna, al menos su clave
privada.
La utilización del dni electrónico en dispositivos móviles está muy poco extendida,
existen dispositivos que mediante el puerto usb se conectan al móvil y con una
aplicación pueden llegar a servir para utilizarse en los dispositivos android. Para los
Apple existe otro dispositivo diferente. Es posible pero es necesario un accesorio que
normalmente no dispone el público general.
Para Finales de 2014, La Policía Nacional34 lanzará el DNI 3.0 que llevará la
tecnología NFC (Near Field Communication), que permitirá la compatibilidad con
móviles sin necesidad de aparatos externos, sólo por el contacto directo.
34
http://www.elconfidencial.com/tecnologia/2013-10-02/el-dni-electronico-ha-muerto-larga-vida-al-dni
-3-0_35442/
48
Votaciones electrónicas
2.7. Conexiones
Se evaluará la seguridad de los diferentes sistemas de conexión a internet, los
posibles escenarios.
49
Votaciones electrónicas
50
Votaciones electrónicas
Para el ataque, solo se necesita: un ordenador con software libre (OPENBSD), que
emula a toda la arquitectura que hay detrás de una torre y una conexión a internet,
así tendremos conectados los móviles cercanos a nuestra red falsa, lo que nos
permite poder ver todas sus conexiones y transmisiones.
Está suplantación, que se puede hacer a las redes GSM, se puede extender, como
enseñan desde febrero de 2011, los investigadores españoles José Picó y David
Pérez 35, a las redes UMTS, es decir, a las tecnologías GPRS y EDGE. Si el dispositivo
no tiene configurada la opción de conectarse solo a redes 3G o 3.5G, un atacante
podrá simular ser cualquier operador ya que en las tecnologías GPRS y EDGE no se
autentica la red, es decir, basta con suplantar el nombre de la red y engañar al
usuario.
35
http://www.google.com/url?q=http%3A%2F%2Flabs.rootedcon.es%2Flabs-y-trainers%2Ftaddong-s
eguridad-en-bluetooth-wi-fi-gsm-y-gprs&sa=D&sntz=1&usg=AFQjCNEJfnAhEEPMnKkJZbHYOc7m
oLU9vA
51
Votaciones electrónicas
52
Votaciones electrónicas
2.7.3. Conexión 4G
La seguridad en 4G, por el momento está segura, pero es solo debido a que todavía
no hay un uso muy extendido y romperla no es interesante. Los investigadores
determinan, que el sistema de antena debe de tener un periodo de negociación con
la red, para poder elegir el convenio del tipo de protocolo a usar y en ese instante sin
encriptación, pueden seguir habiendo problemas de seguridad. Dado que son
36
http://www.hojaderouter.com/seguridad/redes-3g-seguridad-ataques/12437
37
http://www.isti.tu-berlin.de/fileadmin/fg214/Papers/UMTSprivacy.pdf
53
Votaciones electrónicas
sistemas de implantación lenta y los terminales móviles deben de ser compatibles, los
teléfonos 4G deberán poder también gestionar redes 3G para las zonas sin
cobertura, lo que los hará vulnerables a ataques de downgrade, comentados en los
sistemas 3G.
2.8.1. SSL/TLS
Hasta hace unos meses, se hubiera dicho que este protocolo era seguro, pero a día
de hoy, con el incidente de seguridad más grave de la história, donde más de la
mitad de todos los servidores del mundo se han visto afectados, y lo peor de todo, a
día de hoy meses después de haber notificado a toda la sociedad, siguen existiendo
más de 318,23938 servidores con la vulnerabilidad. Lo preocupante es que según la
encuesta el 44% de las personas que se han percatado del fallo, no han cambiado
sus contraseñas. Entidades bancarias como Banc Sabadell, Caja 3 e Open Bank han
sido afectadas.
39
BEAST Otro ataque conocido a la versión 1.0 del protocolo de seguridad TLS, que
era capaz de desencriptar la comunicación, se basa en un troyano javascript que
tiene acceso a las cookies para poder obtener la clave.
38
http://blog.erratasec.com/2014/05/300k-servers-vulnerable-to-heartbleed.html#.U4OMw_mJQrV
39
http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/
54
Votaciones electrónicas
40
http://www.fayerwayer.com/2013/09/nsa-y-el-gchq-ingles-pueden-romper-los-protocolos-mas-com
unes-de-encriptacion/
41
http://www.computerworld.com/s/article/9219727/Hackers_steal_SSL_certificates_for_CIA_MI6_Mo
ssad?taxonomyId=85&pageNumber=1
42
http://arstechnica.com/security/2011/08/earlier-this-year-an-iranian/
55
Votaciones electrónicas
desprotegida por internet. Luego hay que enviarla al servidor hosting para su
instalación, así que según el canal, un sistema de tiquets por ejemplo, podría
enviarse mediante un formulario nuevamente inseguro, hasta el administrador de
sistema que lo instalará; un proceso muy habitual, por el que podrían haber sido
copiadas estas claves.
56
Votaciones electrónicas
43
http://www.elandroidelibre.com/2013/07/android-tiene-menos-vulnerabilidades-que-ios-pero-es-m
as-atacado-por-malware.html
57
Votaciones electrónicas
2.9.1. KeyChain44
Permite firmar las aplicaciones mediante clave pública y privada, así se tiene la
seguridad que la aplicación es fiable.
Esto permitirá que desde el momento 0 la aplicación esté enviando datos cifrados
que sólo el sistema pueda leer.
Toda aplicación al instalarse, muestra una lista de permisos que requiere para
ejecutarse y debemos aceptarlos. Así se puede comprobar en aplicaciones
desconocidas; si acceden a más partes del teléfono de las que creemos necesarias.
Esta declaración inicial, hace que la responsabilidad de darle más o menos permisos
pase por el usuario . Esto supone un peligro, pues el usuario en la mayoría de los
casos acepta sin leer los permisos concedidos a las aplicaciones.
Se trata de una de las mejoras más importantes de un entorno móvil, donde sólo
existe un usuario (a diferencia de linux que existen varios usuarios en un mismo
sistema), es el nivel de aislamiento que se ha realizado en la aplicación; así cada
aplicación se ejecuta con los permisos propios como si fuera un usuario diferente.
Este aislamiento impide que pueda acceder a ningún dato de otra aplicación.
Adicionalmente la comunicación entre procesos también está protegida
44
http://developer.android.com/reference/android/security/KeyChain.html
45
https://source.android.com/devices/tech/security/
58
Votaciones electrónicas
46
http://www.informatics.indiana.edu/xw7/papers/privilegescalationthroughandroidupdating.pdf
59
Votaciones electrónicas
3. Requerimientos
Desde el inicio, la aplicación debía servir para realizar votaciones electrónicas
seguras bajo plataformas móviles. Se buscó un contexto práctico donde se quisiera
adoptar un sistema similar para poder extraer requerimientos concretos.
C.E. Cima actualmente tiene un total 98 socios activos, con un histórico de más de
250 excursionistas. La junta directiva está formada, como establece la ley, por
Presidente, Secretaria, Tesorero y 2 vocales. Son ellos quienes toman las decisiones
cotidianas y organizan las asambleas generales, donde se toman ciertas decisiones
globales, como la aprobación de presupuestos y nuevas normas de régimen interno
o incluso modificación de los propios estatutos.
En los últimos años, aún teniendo un crecimiento anual de más del 10% de socios,
manifiestan que se ha perdido participación e identidad por parte del asociado, quien
no ejerce su derecho a voto, ni participa en las actividades organizadas. Desde la
junta directiva, se pretende potenciar la transparencia y mejorar la comunicación
entre junta y los socios, para conseguir establecer una relación dinámica y positiva.
Daniel Murillo como miembro activo de la junta, electo por asamblea, ha llevado
diversas actuaciones como la organización de actividades totalmente gratuitas,
financiadas mediante subvenciones, para intentar fomentar la participación. Estas
actividades han tenido una mejora poco apreciable.
47
Se incluye en el anexo el documento de colaboración entre la entidad y el autor. Firmado el
4/11/2013
60
Votaciones electrónicas
61
Votaciones electrónicas
Se puede observar en la siguiente figura, que son los socios de un club, quien eligen
a los directivos y luego éstos eligen la junta directiva de la Federación.
62
Votaciones electrónicas
Por otro lado, tenemos una representación a modo de veguerías territoriales, donde
distribuidas en 4 territorios, se agrupan nuevamente las entidades de cada territorio.
Para poder estar informadas y notificar problemas comunes derivados del territorio.
La veguería tiene gobierno propio, elegido también de forma asamblearia, dentro de
la misma veguería. La veguería es una subentidad que tiene ciertas tareas, pero
que no puede votar en las asambleas generales de la federación. Es un medio de
comunicación entre las entidades territoriales y la federación de forma mensual,
mientras que las asambleas generales son semestrales.
63
Votaciones electrónicas
montaña a la federación, con este escenario si se podrá realizar una prueba a nivel
federativo.
64
Votaciones electrónicas
3.2. Presupuesto
Para el cálculo del presupuesto del proyecto se ha utilizado el modelo de costes
constructivos CO48COMO, en su versión simplificada. Lo primero que hay que hacer
es seleccionar el tipo de dificultad del proyecto a realizar en base a tres tipos
definidos por el método:
48
referencia: http://es.wikipedia.org/wiki/COCOMO
65
Votaciones electrónicas
Ahora que ya tenemos una orientación de las líneas necesarias podemos aplicar
COCOMO y se obtendrá el tiempo y el personal necesario para el proyecto.
66
Votaciones electrónicas
Según la estimación inicial hará falta una personas durante 4 meses a jornada
completa, más alguna tarea no incluida. En nuestro caso el total de horas del
proyecto serian: 4,26*160 = 681 horas. La valoración económica de la aplicación
serían 681 horas a 30€/h. un valor de 20.500€.
Este será el coste mínimo de producción, a él se deberá sumar otros costes fijos,
tales como suministros, cuotas empresariales, un margen de imprevistos,
desplazamientos e impuestos.
Imaginando que estuviéramos constituidos como autónomo el coste bonificado por
ser menor de 35 años serían 185€/mes, por los 7 meses, a media jornada que
estimamos hacerlo; tendríamos 1295€ de gastos. Los impuestos a pagar a hacienda
alrededor del 18% del importe ingresado por IRPF 3690€. Sumando a los importes
detallados un extra del margen de seguridad y desplazamientos; obtenemos un gasto
de 7500€ adicionales.
Importe total: 20.500 + 7.500 = 28.000€ + iva = 33.880€ Precio de Venta impuestos
incluidos
Este importe sería el que se debería de cobrar por una faena real, para no ver
mermado el importe de 30€/h que se quiere conseguir de beneficio.
Dado el marco de colaboración como voluntario con el club, estas horas y costes se
realizan sin ningún tipo de ánimo de lucro y no se imputarán ninguna hora.
67
Votaciones electrónicas
4. Análisis
Después de ver las necesidades del cliente vamos a analizar cuales son las
funcionalidades específicas que son necesarias para llevar a cabo este proyecto.
4.1. Funcionalidades
En el mismo
instante que
se crea el
registro se
generará un
par de claves
asimétricas
para la
encriptación
de toda
68
Votaciones electrónicas
comunicación entre el servidor central y el dispositivo, evitando así que nadie salvo el
dispositivo emisor pueda leer el contenido. Este proceso se verá en el apartado de
seguridad.
Como opción entre de los datos del usuario, se puede tener la opción de seleccionar
un certificado propio que podría estar generado de forma segura por la propia
entidad Cima. Esto es una opción que dota de mayor robustez al sistema, como si de
un Entidad Certificadora se tratase. Evitando el envío del mismo de forma telemática,
pero supone un contacto inicial con el club.
69
Votaciones electrónicas
● Propuesta multiopción:
En esta propuesta, adicionalmente a definir la pregunta a realizar, se puede
determinar el número de opciones a seleccionar.
Esta a su vez podrá ser de voto único o múltiple.
● Propuesta normalizada:
Para darle un grado más de trabajo e
institucionalidad al proceso de votaciones y que
el resto de integrantes de la comunidad pueda
tomar decisiones, en proyectos más grandes, es
necesario tener más información, hacer una
propuesta más elaborada, donde se tengan en
cuenta otros aspectos. Para ello se define en el
documento las preguntas básicas de cualquier
ámbito, a quién afecta, donde afecta y que
cuesta.
Esta plantilla tendrá unos valores por defecto para que sea ágil y poder
seleccionar unos valores estándar. De todos modos, en cada uno de ellos
podrán darse un texto ampliado con los detalles específicos que fueran
necesarios para terminar de entender la totalidad de la propuesta.
70
Votaciones electrónicas
Cada usuario tiene unos datos asociados, sexo, edad, ciudad residencia, temática,
profesión y proactividad. El último no es exactamente de la propia persona, sino
referente al uso que hace del sistema. El nivel de actividad, si contesta más o menos,
más rápido, etc...
Bajo estas básicas informaciones se buscará el candidato más óptimo para contestar
el sondeo. Como queremos transparencia, independencia y diversidad, no
cogeremos matching directo, sino una mezcla variada. Por ejemplo, si la votación es
de política, no podemos coger sólo las personas que trabajen de político o los que
sean abogados, pero sí que estará bien contar con su opinión. Así el sistema
repartirá de forma inteligente, bajo parámetros extraídos de los perfiles de las
personas que hay detrás de cada nodo para cada sondeo.
71
Votaciones electrónicas
Cabe notar que un sondeo puede diferenciarse entre “no leído” y leído sin contestar.
Así, una votación siempre tiene dos posibilidades más, de las posibles respuestas a
seleccionar. Por un lado, introducimos el “Voto en blanco” que equivaldría a dar al
botón “omitir” o simplemente no pulsar ningún botón durante el plazo del sondeo.
Por otro lado, dado que el sistema no es revisado por nadie en las propuesta para
garantizar el derecho de libertad. Puede ser que lleguen votaciones, ilegales,
ofensivas o que incumplan los estatutos. En este caso serán los propios socios
quienes puedan denunciar, para que se descarte automáticamente. Esto no ocurrirá
hasta llegar a un porcentaje de la muestra determinado. Evitando así los posibles
boicots de que entre unos pocos anulen una votación.
72
Votaciones electrónicas
Los estados de error, como se puede ver en la figura, juntamente con los de no
lectura. Para evitar aumentar la probabilidad, se volverán a reenviar.
49
http://es.wikipedia.org/wiki/Método_Delphi
73
Votaciones electrónicas
El sistema de enrutado inteligente define el proceso por el cual son seleccionados los
candidatos a recibir una notificación de sondeo. El hecho que sea aleatorio, le
confiere una seguridad especial, pues evita la coacción o la manipulación de un
sondeo, pues no se puede influir si no se sabe a quién van a llegar las peticiones.
Por un lado existe una componente aleatoria y por otra un filtrado inteligente. Este se
realiza por fases para poder coger inercia según los resultados de las anteriores
fases
El filtrado, dado que poseemos un perfil de usuario que lo clasifica, vamos a utilizar
variables para determinar la aleatoriedad del sorteo, las variables son:
● Edad.
● Sexo.
● Ubicación.
● Proactividad.
● Peticiones pendientes.
● Afectación al problema.
● Profesión.
● Temáticas.
● Notificaciones desactivadas.
74
Votaciones electrónicas
FASE 1: Cada fase consta de tres iteraciones, que equivalen al envio de un número
de peticiones de sondeo a personas. Empieza enviando 128 sondeos, siendo el 2%
del total de socios el máximo en la Iteración I-1. Según el resultado de esta primera
Iteración, se aplica la escala de votación, que en caso de que haya una tendencia
muy clara acelera el proceso con un multiplicador de la siguiente iteración. En el
ejemplo el porcentaje parcial supera el 50% de los votos, así para la Iteración 2, se
aplicará el doble de las restricciones de envío, y así sucesivamente. Cabe destacar
que el Factor multiplicativo se aplica al valor conseguido en la iteración anterior, así
que son acumulativos. Si una tendencia clara del valor SI, continúa o aumenta se
podrá dar la secuencia:
● I-1 ->128 sondeos enviados, se obtiene 70% SI;
● I-2 -> 640 sondeos nuevos enviados, se obtiene 75% SI
● I-3-> 3200 sondeos nuevos enviados, se obtiene 68% de votos SI.
75
Votaciones electrónicas
Estas notificaciones son directas. Quiere decir que no se utilizará el Smart Social
Routing. Pues todos deberán ser notificados. Se seguirá un orden aleatorio.
76
Votaciones electrónicas
77
Votaciones electrónicas
4.1.12. Buscador
Se considera necesario añadir un buscador para poder encontrar por palabras
claves y temáticas cualquier propuesta o votación realizada.
4.1.14. Votación
El proceso de votación es el apartado más importante, como hemos visto en los
diferentes apartados hay una serie de restricciones no funcionales:
● Legitimidad del votante: el votante debe de ser legítimo y tener voto
autorizado.
● Voto único: un votante solo puede votar una vez.
● Privacidad: la relación entre el votante y el voto debe de ser secreta.
● Preciso: el sistema a de garantizar precisión.
● Equidad: no se deben de poder conocer los datos hasta el fin de la votación
para no influir en los resultados.
● Verificable privadamente: cada votante debe de poder comprobar que su voto
ha sido recibido correctamente y que este se ha contabilizado de forma
correcta.
● Verificable públicamente: cualquier observador pueda verificar el proceso de
votación
● incoercibilidad: Para prevenir la venta de votos o coacciones, el votante no
debe poder demostrar a un tercero a quien a votado.
● Robusto: debería prevenir ataques externos o fallos tecnológicos.
78
Votaciones electrónicas
4.2. Seguridad
Existe una diferencia notable entre la seguridad real de un sistema y la percepción de
la seguridad de un colectivo. Por ello no solo deberemos tener un sistema seguro,
sino que la percepción por parte de los usuarios del mismo debe de ser segura.
A día de hoy, aún queda gente que no compra por internet porque lo relaciona con
estafa e inseguridad. En muchos casos el hecho de ser un método socialmente
aceptado da confianza y seguridad en el sistema, al fin y al cabo seguimos
aprendiendo por imitación de conducta como la mayoría de animales.
79
Votaciones electrónicas
Actualmente, no solo hay que tener un sistema realmente seguro, sino convencer y
esperar que esté se aprecie como tal. Estamos cada vez más acostumbrados al
marketing y todo aquello que no se venden muy bien, no nos lo creemos, cuando se
debería de dudar primeramente de todo aquello que alguien de forma intencionada y
consciente, intenta hacerte entrar en tu vida cotidiana. Esta barrera puede romperse
cuando la utilidad real del sistema o aplicación supera las expectativas del usuario.
Cuando las ventajas superan a los problemas ya sean de seguridad o privacidad.
Pero más allá, de las tendencias de los usuarios y la sociedad, en un proceso de
votación que puede tener implicaciones legales, se debe de garantizar de forma
académica y científica su seguridad.
Es muy fácil que alguien sin ningún conocimiento técnico desconfíe de una máquina
que traspasa su voto, pues no tienen ningún mecanismo de entender el proceso o
como realiza la tarea, por ello en el futuro deberían trabajar maneras de dar
confianza mediante expertos, científicos, universidades o valoraciones sociales de
confianza, para que el ciudadano pueda confiar con tranquilidad.
80
Votaciones electrónicas
Se quiere demostrar que la tecnología puede ser segura para votar desde teléfonos
móviles, el primer problema está en la manera en que se comparten las claves
secretas en un esquema tradicional como el de la figura, dos personas se envían las
claves públicas.
81
Votaciones electrónicas
Otra opción sería utilizar una Entidad Certificadora para descargar la llave pública del
servidor. En caso que la llave privada del sistema fuera comprometida, se debería de
actualizar el programa a una versión superior con una clave modificada y todos los
terminales deberían actualizarse para poder seguir funcionando.
Desde este momento ya podemos mantener una conversación segura entre nuestro
socio y el servidor. Podemos solicitar la firma de autenticidad para identificarlo y
podemos todas las comunicaciones serán cifradas.
82
Votaciones electrónicas
83
Votaciones electrónicas
84
Votaciones electrónicas
4.3. Impacto
Se evalúan los posibles impactos del proyecto en varias áreas, normalmente los
proyectos de software no tienen demasiado impacto sobre el medio, pero siempre
todo tiene alguna afectación.
50
Somenergia.com
85
Votaciones electrónicas
El impacto social que pueda tener una aplicación es bastante más notable, toda
ampliación sueña con convertirse en imprescindible en todo telefono. La aplicación
aplicada en el contexto del Club más cerrado no puede tener un impacto muy grande,
pues está limitada a un número de personas, pero como sistema genérico de
votaciones si que aspira a tener un impacto social más grande. Todo el estudio del
proceso y la seguridad se espera que tenga una aportación de relevancia y
continuidad.
86
Votaciones electrónicas
5. Especificación
87
Votaciones electrónicas
88
Votaciones electrónicas
89
Votaciones electrónicas
90
Votaciones electrónicas
91
Votaciones electrónicas
5.3.10. Buscar
Descripción: Podrá modificar los valores personales en su perfil de socio.
Actores: Socio y Junta Directiva.
Pre-condición: Ninguna.
Post-condición: Registrar en el sistema los cambios.
92
Votaciones electrónicas
6. Diseño
6.1. Tecnología
En esta sección, se detallan las tecnologías y versiones utilizadas. Las tecnologías
utilizadas son principalmente linux, apache, Mysql, php, java, Google Cloud
Mesaging, SSL. En la figura se verá su distribución:
93
Votaciones electrónicas
6.2. Arquitectura
La arquitectura más fiable hubiera sido un sistema Peer to Peer móvil, donde toda la
red comparte las votaciones de forma anónima, tal y como utiliza la crypto moneda
Bitcoin. Pero la plataforma funciona gracias a una red de ordenadores que son quien
realmente ejercen el P2P. El nuevo monedero P2P utiliza una Api JSON que se
comunica a través de otros para realizar las conexiones. Estas redes en telefonía
móvil están bastante limitadas y la mayoría de operadores prohíbe su uso, para
evitar las llamadas P2P. Vistos los inconvenientes de esta tecnología, se implementó
en arquitectura Cliente servidor + Sistema de mensajería Cloud de Google para las
notificaciones.
La alternativa implementada, se detalla en la siguiente figura siendo esta un
esquema más tradicional basado en conexiones Cliente Servidor con SSL y cifrado
de todo dato transmitido.
94
Votaciones electrónicas
Cabe anotar que debido a que el proceso de votación es un acto más puntual, y este
se realiza de forma anunciada y planificada, se podría separar y trocear una clave
privada exclusiva para que no estuviera físicamente en el servidor, sino que tuvieran
que venir unos representantes para la activación del proceso de votación,
introduciendo las diferentes partes de la clave privada. Para la demo la clave está
registrada en el servidor.
95
Votaciones electrónicas
Se puede comprobar que existe una diferencia entre el modelo conceptual y las tablas. La
gran diferencia está en la unión de la tarjeta de votación con el Voto y la papeleta de votación
equivale a los ValoresVotacionAnonimos. Por otra parte a nivel estructura de datos las
votaciones y los sondeos almacena la misma información por ello se han usado la misma
clase en ambos casos.
Este modelo de datos como se observa tiene una particularidad y es la no relación entre
Socios y Dispositivos, y en su inmediato nivel, la no relación entre dispositivos y Socios.
Esto es así para respetar el anonimato durante las votaciones y sondeos. En la fase de
generación de papeletas y claves se recorre la tabla de socios, se generan las claves y
96
Votaciones electrónicas
valores anónimos para ese sondeo o votación y se envían a su destinatario. Nos apuntamos
en nuestra Tabla de SociosSondeados quién ha recibido sus “papeletas virtuales” de
votación, pero no sabemos qué papeleta de votación ha recibido. El resto de parámetros
valores y variables son normales. Para cumplir con el último punto de los requisitos
formales de toda votación hemos comentado en con anterioridad que es necesario que se
pueda comprobar de forma individual si su voto se ha contabilizado. así que para ello tras la
votación se publicarán todos los votos contabilizados. Al lado de cada voto aparecerá el
código de verificación de cada voto. Como ese valor de verificación es único para cada
papeleta sin la información de la papeleta enviada de forma privada a cada socio no se
puede saber nada, la votación sigue siendo anónima y privada, pero comprobable por cada
individuo.
Ahora voy a poner una figura del gestor de la base de datos utilizado, que es PhpMyadmin,
con la estructura de una tabla de ejemplo:
97
Votaciones electrónicas
Al ser una aplicación de carácter mixta, entre Android (java) y HTML5 (PHP), existen
2 tipos de interfaces que se intentan hacer coincidir.
98
Votaciones electrónicas
El menú principal, en el cual se han colocado todas las opciones, es muy visual, con
unas botoneras muy organizadas y un efecto de transición sutil, pero suficiente para
diferenciar nuestra elección.
99
Votaciones electrónicas
100
Votaciones electrónicas
101
Votaciones electrónicas
En un principio, se pensó que era mejor realizar un formulario detallado con muchas
opciones, pero parece que el formulario de propuesta rápida “si” o “no” es el que
más ha gustado a la directiva del Club Cima.
102
Votaciones electrónicas
Es importante reconocer que se han utilizado los componentes nativos del sistema,
así que en cada versión, los componentes de formularios serán los de la versión
habitual del usuario. En la figura se puede observar un desplegable que se amplia en
toda la pantalla, mostrando las opciones de las temáticas disponibles.
103
Votaciones electrónicas
104
Votaciones electrónicas
7. Implementación
En este capítulo, se va detallar como se ha implementado la aplicación. Primero, se
hará un repaso general de las diferentes fases del prototipado y luego se dividirá en
seis bloques: Modelo, Vista y Controlador del servidor; Modelo, Vista y Controlador
de la App.
● Tablas Base de Datos: Igual que los nombres de carpeta primera letra en
mayúscula.
105
Votaciones electrónicas
Como regla general, se intentarán dar nombres descriptivos al uso y contexto para
que de forma clara y concisa se pueda leer el código. Se evitarán nombres tipo siglas
como por ejemplo; $ctx; $pjm3 u otros parecidos. Si que está permitido usar
acrónimos de entidades importantes en la comunidad de programadores, como por
ejemplo: GCM (GoogleCloudMessaging), Rsa (Rivest, Shamir y Adleman), etc.
Con esto se pretende dar legibilidad al código escrito. Es importante poner cabecera
descriptiva y comentarios por bloques dentro del código para poder estructurar los
ficheros y ver fácilmente que hace cada función, métodos, variables, etc. Como
ejemplo:
106
Votaciones electrónicas
Proceso de trabajo:
1. El primer paso es crear la base de datos en el gestor, en nuestro caso
específico, se utiliza PHPMyAdmin como gestor de la Base de datos relacional
Mysql.
2. Ejecutar el script de generación de Clases por cada tabla. Proceso que crea el
fichero class.Nombre_clase.php, estos recogen e implementan una serie de
métodos con la información que proporciona: mysql, tipos de datos, longitudes
de campo, primary Keys y restricciones.
3. Ya se puede instanciar un objeto de la clase que representan en el modelo de
datos. Este objeto posee varios métodos muy interesantes para facilitar y
hacer transparente al programador la mayoría de sentencias de código SQL
que envuelven a una tabla.
107
Votaciones electrónicas
● Guardar(): Sobre un objeto recién creado que tiene datos a guardar, crea y
ejecuta la sql INSERT necesaria para dar persistencia a sus datos.
108
Votaciones electrónicas
● Getters and Setters: Estos son generados de forma abstracta para cada
variable existente. Así cada llamada a un atributo protegido es redireccionado
a su Set o Get según el tipo de acceso
Existe algún método más auxiliar, como los de verificar campo, que permite verificar
que los campos cumplen las restricciones específicas del controlador, como podrían
ser edades máximas o comprobaciones de un campo DNI, comprobaciones que
afecten a la integridad de varios campos de un mismo registro o Incluso
comprobaciones inter-table. Si se observa un fichero de clase, se ve como se
extiende de una super-objeto llamado Clase Base, que gracias a los métodos
mágicos de PHP, permite capturar las funciones que no existen, generar Getters y
Setters de forma virtual para cualquier campo de las clases hija.
109
Votaciones electrónicas
Por otro lado, el fichero Inicializador, tiene implementado el método “__autoload” que
permite la inclusión fácil desde cualquier carpeta y clase del proyecto definida. Lo
que permite hacer includes de forma fácil tan solo con el nombre del fichero, sin
preocuparse por las rutas.
110
Votaciones electrónicas
Todas las clases generadas se extienden de la clase Base, quien integra los
parámetros de inicializador y las clases utils.
Este paquete de ficheros incluye todas las funciones para trabajar con textos,
números e imágenes. La Librería de criptografía, al ser una librería muy extensa
llamada phpseclib, está separada en una carpeta especial llamada seguridad, que
mediante el autoload, es accesible desde cualquier parte del proyecto.
Un poco más adelante, en el apartado 7.4, se hablará de que incluye esta libreria de
seguridad.
Ahora se puede observar la totalidad de los métodos que nos proporciona esta clase
Base, mediante un gráfico con los métodos generados, tanto los genéricos, como los
métodos de la clase extendida:
111
Votaciones electrónicas
Puede observarse que los métodos detallados con anterioridad, son los que tienen el
punto verde y los atributos de la clase representados mediante el rombo amarillo.
El modelo de vista, está basado por el código HTML5 generado en servidor con una
librería Javascript que permite
Puede verse que tienen una actividad bastante grande, con commits diarios y que su
actividad está en aumento.
Las clases más importantes de algoritmos de cifrado pueden verse en la figura.
51
https://github.com/phpseclib/phpseclib/pulse
112
Votaciones electrónicas
Al igual que la parte de Modelo del servidor, se utiliza el editor ADT, que trabaja
sobre eclipse y permite tener todo un potente sistema de trabajo con las
herramientas específicas de móviles. La parte más importante se verá en el
Desarrollo Vista APP.
113
Votaciones electrónicas
Para la clase de cifrado, se ha utilizado una clase tipo utils de php donde se han
implementado las funciones más habituales del cifrado y seguridad. De todos modos,
para la generación de las claves RSA, android ya incorpora libreria propia
114
Votaciones electrónicas
Cabe destacar, que para poder interactuar con la vista, el gestor de las peticiones
tiene referencias a los controles asociados a cada petición para poder obtener una
respuesta refrescar o invocar métodos de actualización de la vista.
Las vistas de la APP son desarrolladas desde el editor visual, arrastrando y soltando
componentes compatibles con la mayoría de móviles. Como se ha visto en la sección
de vista servidor, la mayoría de vistas están realizadas en HTML5 y son cargadas
mediante un componente de navegación Web. Únicamente la pantalla de votación y
las preferencias de usuario son vistas nativas 100%.
115
Votaciones electrónicas
Se muestra la parte del entorno donde se genera una vista nativa, en concreto la
ventana del Perfil de usuario:
Se puede observar como en la barra lateral izquierda, están los componentes que se
pueden utilizar, en la parte central la previsualización de la ventana gráfica y en el
lado derecho, la estructura de layouts y su jerarquía.
Es importante saber, que el entorno gráfico genera código XML, que se puede editar
posteriormente.
116
Votaciones electrónicas
Primero de todo, se recupera del contenedor de controles el objeto que nos interesa,
en este caso el único botón de la pantalla, y se le asigna el método
SetOnclickListener(..), dentro de él se ejecuta el código de guardar.
Los controladores en java, son clases definidas donde la única diferencia es que no
extienden en la mayoría de casos de ninguna otra, a no ser que sean conexiones
remotas como la clase PeticionWeb que hemos visto con anterioridad. Esto es
debido a que hay un retardo entre la ejecución y la respuesta HTTP.
La aplicación tiene poca implementación a nivel de controlador, puesto que tanto los
métodos de enrutado y distribución de mensajes están en la banda del servidor y los
únicos controladores corresponden a la lógica que gestiona las pantallas.
117
Votaciones electrónicas
8. TEST
La fase de pruebas de la aplicación, se ha realizado a distintos niveles. El primero de
ellos, es el nivel de Avisos de errores, del compilador de PHP, este se ha elevado al
máximo, lo que permite que el compilador cada vez que ejecuta un fichero lanza todo
tipo de mensajes, no sólo los errores de compilación, también avisos de funciones
“deprecated” ó variables sin uso. Esto ayuda a verificar o mejorar el código de salida,
puesto que minimiza los posibles errores de variables no usadas, errores
tipográficos. Por otro lado, se han realizado pruebas unitarias de las clases
importantes.
118
Votaciones electrónicas
119
Votaciones electrónicas
9. Conclusiones
La aplicación VotoSocial cumple con sus objetivos de expresar, sondear y votar. La
App está lista para descargar y usar desde el google Play. Se han dejado pendientes
de desarrollo, algunas funciones definidas como son las preguntas Multiopción o
normalizada, que se añadirán próximamente, tras ver la aceptación de los usuarios.
1. Satisfacer los requisitos del Club Cima, que han quedado cubiertos y se
utilizará próximamente en una consulta tipo Sí/No oficial, esperando ser una
novedad importante para la mejora de la participación del club.
120
Votaciones electrónicas
121
Votaciones electrónicas
52
http://www.vilanova.cat/doc/doc_61658257_1.pdf
122
Votaciones electrónicas
123
Votaciones electrónicas
124
Votaciones electrónicas
10. Referencias
10.1. Autores:
- 1977 Ronald Wraith -> Un Gobierno abierto es una “expresión de moda cuya
intención general es bastante clara, pero cuyo significado práctico espera por ser
aclarado”.
http://www.academia.edu/1196454/Gobierno_abierto_y_modernizacion_de_la_gestion_publica._T
endencias_actuales_y_el_inevitable_camino_que_viene._Reflexiones_seminales
- 2002 Tuomi, la innovación sólo sucederá cuando cambien las prácticas sociales de
forma significativa
http://webcache.googleusercontent.com/search?q=cache:tH5tmKA0H9EJ:www.scielo.org.ar/scielo.
php%3Fscript%3Dsci_arttext%26pid%3DS1850-00132007000200009+&cd=1&hl=ca&ct=clnk&gl=
es
10.2.Enlaces
Imágenes de Mapa de votaciones electrónicas otros paises: http://www.e-voting.cc/
[Consultado 20/02/14]
autorización de uso ,de las mismas, en la tesis mediate correo electronico.
125
Votaciones electrónicas
Seguridad 3G
http://www.isti.tu-berlin.de/fileadmin/fg214/Papers/UMTSprivacy.pdf [Consultado 19/09/13]
19/10/13]
Manifiesto de Croud:
http://www.laboratoriodetendencias.com/ [Consultado 03/10/13]
Manifiesto de crown:
http://hilocultura.wordpress.com/2013/04/09/inteligencia-colectiva-y-manifiesto-crowd/
[Consultado 15/10/13]
Pruebas de estadísticas:
http://www.esferatic.com/wp-content/uploads/leygrandesnum.pdf [Consultado 25/10/13]
126
Votaciones electrónicas
http://iescastelar.juntaextremadura.net/web/departamentos/matematicas/matematicasccss2ba/mat
ematicas2ccss/ttcentrallimitean2.htm [Consultado 25/10/13]
● Egovernment:
http://rtdibermatica.com/?p=401 [Consultado 01/11/13]
http://http://ec.europa.eu/digital-agenda/en/european-egovernment-action-plan-2011-2015
[Consultado 01/11/13]
Red social:
http://www.monografias.com/trabajos84/redes-sociales/redes-sociales.shtml#caracteria
[Consultado 07/11/13]
http://www.slideshare.net/jorluguvi/redes-sociales-2388331 [Consultado 07/11/13]
http://jjdeharo.blogspot.com.es/2008/11/la-redes-sociales-en-educacin.html [Consultado
07/11/13]
15/11/13]
● Estadísticas:
Cienta y tecnologia 2013 empresas:
http://www.ine.es/prodyser/pubweb/anuario13/anu13_15tecno.pdf [Consultado 02/11/13]
127
Votaciones electrónicas
02/11/13]
Evolución de datos de Viviendas (2012-2013) por tamaño del hogar, hábitat, tipo de
equipamiento y periodo: http://www.ine.es/jaxi/tabla.do [Consultado 02/11/13]
05/11/13]
- 1888->http://elpais.com/diario/1988/09/03/sociedad/589240806_850215.html [Consultado
10/11/13]
-1993->http://www.telefonica.com/es/about_telefonica/pdf/informes/1993/1993_comunicaciones_
empresa.pdf [Consultado 10/11/13]
- 1994->http://elpais.com/diario/1994/12/05/sociedad/786582007_850215.html [Consultado
10/11/13]
-1995->http://www.telefonica.com/es/about_telefonica/pdf/informes/1995/1995_comunicaciones_
moviles.pdf [Consultado 10/11/13]
128
Votaciones electrónicas
- 1995 y 1996->
http://www.pcworld.es/archive/fuerte-crecimiento-del-mercado-espanol-de-telefonia-movil-en-los-d
os-ultimos-anos [Consultado 10/11/13]
Demografía en España:
1924-2008:http://es.wikipedia.org/wiki/Evoluci%C3%B3n_demogr%C3%A1fica_moderna_de_Es
pa%C3%B1a#cite_note-3 [Consultado 15/11/13]
Nadal Oller, Jordi (1976)-> La población española (siglos XVI a XX). Barcelona:
Editorial Ariel. ISBN 84 344 0706.
[Consultado 16/11/13]
[Consultado 18/11/13]
Cifras INE - del siglo XVIII al 2001 (http://www.ine.es/revistas/cifraine/cifine3.pdf)
129
Votaciones electrónicas
Evolución del uso de Internet y Móvil entre niños y jóvenes en España (1996-2010)
http://www.slideshare.net/juanlopez27/evolucin-del-uso-de-internet-y-mvil-entre-nios-y-jvenes-en-e
spaa-19962010# [Consultado 21/11/13]
Historia:
https://www.academia.edu/1196454/Gobierno_abierto_y_modernizacion_de_la_gestion_publica._
Tendencias_actuales_y_el_inevitable_camino_que_viene._Reflexiones_seminales [Consultado
14/11/13]
Wikipedia:
http://www.emadridnet.org/seminario-emadrid-wikipedia-herramienta-aprendizaje/caos-orden-funci
ona-wikipedia [Consultado 26/11/13]
IPL:
http://www.lamarea.com/2012/11/17/ilp-el-poder-del-pueblo-llega-al-parlamento-y-alli-muere/
[Consultado 19/12/13]
Imagen de estadísticas:
http://quehacenlosdiputados.net/el-congreso-huye-de-las-iniciativas-populares/ [Consultado
27/12/13]
130
Votaciones electrónicas
http://www.lamarea.com/2012/11/17/ilp-el-poder-del-pueblo-llega-al-parlamento-y-alli-muere/
[Consultado 28/12/13]
[Consultado 28/12/13]
Imagen de e-colaborative
http://commons.wikimedia.org/wiki/File:Collaborative_E-democracy2.jpg [Consultado 29/12/13]
131
Votaciones electrónicas
132
Votaciones electrónicas
11. ANEXOS
12.1.Convenio de colaboración Club Excrusionista Cima
133
Votaciones electrónicas
134
Votaciones electrónicas
135