Votaciones electrónicas Sistema de Votaciones electrónicas (APP) Alumno: Cristian Martínez Ponente: Xavier Burgués Director: Daniel Murillo 1 Votaciones electrónicas Agradecimientos Durante estos trabajo, meses de investigación, intenso 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 colaborado personas, que han para hacer este PFC posible. Con cariño por mi tutor Daniel Murillo del Club Cima, Xavier Burgués de la UPC, Lluís Medir de la UB, al director de comunicación de FEEC, Francesc Vilà, por su paciencia. A todos los correctores en línea, a mi empresa ETTYDEM por los días de fiesta. Y en especial a las personas más íntimas, Alba Montse Martín, Melodía Soler. Que Martinez, han estado luchando el día a día a mi lado hasta el último instante… A todos, muchas gracias. Cristian Martínez - 04/06/2014 - BCN 2 Votaciones electrónicas Índice General 1. 2. 3. 4. 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 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 Requerimientos…………………………………………………………...….. ..... 60 3.1. Escenario actual……………………………………………..………… .... 62 3.2. Presupuesto…………………………………………………..……..…. .... 65 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 5. 6. 4.1.10. Aceptar nuevo socio registrado…………………….... ….... .............. 77 4.1.11. Actualizar parámetros par del sistema………………… ................. 77 4.1.12. Buscador……………………………………………… ................ 78 4.1.13. Notificar ificar spam………………………………… .......................... 78 4.1.14. Votación…………………………………………………… otación……………………………………………………........... 78 4.2. Seguridad…………………………………………………… eguridad…………………………………………………… .................... 79 4.3. Impacto…………………………………………………………… cto…………………………………………………………… ............. 85 Especificación……………… Especificación…………………………………………….…………… ............... 87 5.1. Mapa conceptual…………………………………………………............. 87 5.2. Diagrama de flujo……………………………………………… flujo ............... 88 5.3. Casos de uso………………………………………………………. ......... .89 5.3.1. Datos de perfil………………………… ..................................... ................................ 90 5.3.2. Gestión de notificaciones…………………………………… ...... 90 5.3.3. Registrar terminal………………………………………… terminal…………………………………………........... 90 5.3.4. Generar credenciales……………………………………… ....... .91 Generar 5.3.5. Envió de nueva propuesta…………………………………… .... 91 5.3.6. Recibir una notificación notificación de sondeo……………………… ......... 91 5.3.7. Recibir una notificación de votación………………………….. .. 92 5.3.8. Listar propuestas abiertas………………………………….…. ... 92 5.3.9. Listar votaciones reclinadas…………………………………...... 92 5.3.10. Buscar…………………………………………………………... ... 92 5.3.11. Notificar spam………………………………………………….. spam………………………………………………….. ... 92 Diseño…………………………………………………………………………… .... 93 6.1. Tecnología………………………………………………………………. ... 93 6.2. Arquitectura………………………………………………………….….. ... 94 6.3. Diseño de datos………………………………………………………... .... 96 6.4. Diseño de pantallas……………………………………………………. .... 98 7. Implementación……………………………………………………………… ... .105 8. Test…………………………………………………………………………… .... ..118 9. Conclusiones……………………………………………………………..… ones……………………………………………………………..… ...... 120 10. Referencias…………………………………………………………………... ..... 125 11. Anexos………………………………………………………………………… .... 133 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... La solución planteada permitirá la comunicación bidireccional, desde los directivos hacia los asociados y viceversa, en forma de noticias, encuestas y votaciones. 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 El objetivo principal será liderar un diálogo de opiniones conjuntas y mayoritarias entre la multitud y los representantes legales, como si se tratase de una reunión entre dos personas. Esto permitirá romper así las barreras físicas, que imposibilitan que miles de socios sean escuchados simultáneamente por sus gestores. Los requisitos iniciales se han determinado a raíz de una consultoría tecnológica realizada al Club Excursionista Cima, en base a la necesidad del club de incorporar un sistema de comunicación interno, global y multidireccional, como alternativa al método actual: Whatsapp. 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) Tabla 1: Porcentaje de población por tiempo de adopción de la tecnología. 7 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 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 5 7 Votaciones electrónicas en el tren, en el cine, en casa, etc. La sociedad estará rodeada en todo momento cotidiano por un dispositivo móvil. Al combinar un gran número de personas con dispositivos móviles, internet y nuevas aplicaciones que permitan la ágil comunicación de multitudes, se crearán nuevos paradigmas sociales. En el futuro se podrá ver votaciones, consultas y leyes realizadas por grandes masas sociales. Gráfico 2: Crowd + Internet + mobile APP = new social paradigms 9 La coyuntura actual de desconfianza, como puede ser el aumento de la corrupción, la baja participación en los actos electorales y asociativos de este país, empuja a la sociedad hacia nuevas formas de democracia. Con esta nueva aplicación diseñada para mejorar la comunicación entre las nuevas multitudes digitales, con intereses comunes, se podrá conseguir. La gran diferencia de este proyecto, es la propia aplicación que gestionará “La Inteligencia Social”, y no se debe entender por ello, la capacidad de los socios de empatizar con el resto de miembros del colectivo, sino del nuevo concepto descrito. Diferenciado de la ya conocida “Inteligencia Colectiva”10 donde se colabora para compartir conocimiento de forma libre. Véase el ejemplo de Wikipedia, donde se genera, comparte y discute de forma conjunta, pero sin que la plataforma intervenga. Ésta sólo almacena y muestra datos sin ningún tipo de procesamiento inteligente. Ahora bien, imaginar que la propia red, que permite comunicar al grupo, participa de 9 Gráfico 2, elaboración propia. 10 Definicion, http://es.wikipedia.org/wiki/Inteligencia_colectiva 8 Votaciones electrónicas forma activa al añadir reglas, metodología y utilizar el conocimiento de cada individuo para mejorar la eficiencia del sistema, utilizando y apoyándose en la matemática estadística. De este modo, se combinará la potencia de la inteligencia colectiva, controlada y mejorada por la propia inteligencia de la red social. Lo que confiere un gran potencial, que a día de hoy está sin explotar o mas bien dicho, explotado sólo por empresas para sus propios intereses y no para los intereses de la sociedad. La nueva APP VotoSocial, utilizará la información para mejorar el número de propuestas a examinar por cada individuo, minimizando el tiempo y el impacto de recibir cientos o miles de mensajes, que harían saturar a las personas. “La Red Inteligente” resolverá de forma distribuida un problema común, al poder traducir un muestreo parcial, en un resultado colectivo. 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. Resumen de las características básicas de la Aplicación VotoSocial : ● Identificar: definir el perfil para identificar a la persona y sus características. ● Personalizar: cada socio podrá escoger las temáticas a recibir. ● Proponer: envío de propuestas por un individuo a la Red Inteligente. ● Comunicar: enviar votaciones o comunicados a los socios desde la junta directiva. ● Evaluar: el proceso se llamará “smart social routing” 12 , definirá el motor de la “Intelligent Network”, el cual mediante técnicas de distribución y estadística aplicada a los diferentes perfiles disponibles en la red, pueda determinar la mejor propuesta de entre un conjunto de opciones. 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. Una vez concluido el proyecto, se podrán sacar conclusiones para evaluar la viabilidad del mismo, que determinará la implementación completa de los módulos más ambiciosos. 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. Debido a que sólo se dispone de un programador, se ha decidido no emplear los sistemas de repositorio de código en internet como Github. Se ha optado por utilizar un sistema local de control de versiones como es subversión. Para la documentación del mismo, se ha utilizado una herramienta en la nube (Google Docs) que permite tener control de las versiones y copias de seguridad. El sistema de planificación mediante división de subtareas más pequeñas. Estas se van cotejando los plazos planificados en el Gantt inicial y corrigiendo las posibles desviaciones. Sobre el entorno de trabajo, se utilizarán diversas herramientas de productividad como el entorno de programación Eclipse ADT para la programación móvil y Google Apps para compartir documentos colaborativos con el director. 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 recogida de requerimientos no dure más de un 20% del total del proyecto, pudiéndose dedicar una parte importante al estudio de otros sistemas de votación, aplicaciones existentes, definición del modelo de seguridad y la parte restante a la programación. Como puede observarse en la figura, se tendrán 3 meses de programación hasta la publicación de la aplicación en Google Play. 12 Votaciones electrónicas 1.5. Estudio de Mercado El primer paso para ver si es necesario desarrollar una idea, es investigar el mercado para detectar posibles herramientas o programas similares. Al intentar buscar aplicaciones para el voto en dispositivos móviles, no aparecen demasiados programas de uso libre, pero sí que existen varias aplicaciones de votación específicas de otros países y elecciones electorales concretas. Las alternativas estudiadas son: 1.4.1. Vötter: La App de votación social Aplicación para sugerir una votación, siempre mediante dos posibles respuesta o fotografías. Recoge la opinión de los usuarios que decidan votar, sin importar su procedencia. 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. Vötter tiene un diseño muy poco trabajado y carece de usabilidad. La pantalla principal está muy desorganizada, los botones no son suficientemente grandes, lo que dificulta tocar sobre la opción deseada en las encuestas. Es una app de opinión social sin control de ningún tipo. Dista mucho del enfoque más institucional del sistema propuesto y no cumple con los requisitos del club, pues no se pueden crear grupos privados de opinión. 13 Votaciones electrónicas En la pantalla de votación, pueden seleccionar una opción o pasar a la siguiente pregunta. El tamaño de la imagen es bastante pequeño y cuesta de leer el texto de la pregunta. 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. A diferencia de Vötter, esta aplicación mucho más usable y de aspecto profesional, cumple con algunos de los requisitos como las votaciones legales en asambleas, 14 Votaciones electrónicas pero por el momento no sirve para votaciones descentralizadas donde los socios no están reunidos. Como se ha dicho, en un principio el sistema está diseñado para las presentaciones de powerpoint con datos en tiempo real, consultas en el mismo instante de la presentación y posee integración con la suite de Microsoft, para poder incluir los resultados dentro de la propia presentación. En su última versión, incorporan un sistema de streaming para poder ver la presentación de forma remota, pero aún no han trabajado demasiado y sigue enfocado a la presentación presencial, para que la gente la vea e interactúe. 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 Esta aplicación aunque no es demasiado vistosa, permite crear encuestas y compartirlas a quien desees mediante un enlace. Todos los usuarios con acceso a la aplicación pueden ver el resultado de la encuesta y votar. Su creación es muy nueva y su última actualización es muy reciente, en mayo del 2014. 1.4.5. Govern OBert BArcelona (GO>BCN) En las últimas semanas se ha encontrado una aplicación con unas 100 descargas. Sobre gobierno abierto de barcelona. permite enviar comentarios anónimos sobre cuestiones abiertas por el gestor de la ciudad o comentarios a políticos. Las herramientas encontradas y consultadas, no presentan ningún tipo de seguridad visible. Al parecer su misión es votar cualquier temática y no es necesario hacer ninguna comprobación de autenticidad, veracidad o suplantación. Este tipo de aplicaciones hacen votaciones libres para obtener una opinión social, sin importar quién ni dónde. Siguiendo con las Apps para encuestas de Google Play, existen más de un centenar de ellas. Han estado consultadas las que se encuentran con mejor posicionamiento, las más destacadas y con mejores valoraciones. La mayoría de las cuales tienen menos de 500 descargas. Todas ellas de implementaciones bastante caseras y sin opciones destacables, puesto que tienen más tendencia a ser de encuestas y no de votaciones. 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. Dominio, definiciones y fundamentos El objetivo de este apartado, es hacer un repaso del dominio general que rodea a las votaciones electrónicas. Observando la escena internacional en cuanto a votaciones gubernamentales existentes, para poder ver un poco los procesos de seguridad seguidos. El privilegio más alto que puede obtener un sistema seguro de votaciones, es ser utilizado de forma legal en unas votaciones estatales. Por ello, se va a definir un sistema de seguridad que cumpla con todos los requisitos necesarios. Pues una asociación o federación es un pequeño mando de gobierno de la sociedad en su contexto y puede necesitar la misma seguridad. Se hará un repaso a las tecnologías y conceptos básicos, necesarios para entender las bases de la idea del proyecto, como conceptos sociales, matemáticas, criptográficos y de arquitectura . 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. Pero de todos ellos, destacan las afirmaciones de Jean-François Noubel14, quien estudió a fondo los grupos auto-organizados, donde reconoce que dan mejores resultados como grupo, que un individuo solo. Se fijó en grupos de animales y personas, como son de un lado las manadas de lobos, delfines o peces, o por el otro lado, un equipo de fútbol. 13 http://en.wikipedia.org/wiki/William_Morton_Wheeler http://noubel.fr/linnovation-par-lintelligence-collective/ , http://publishing.yudu.com/Library/Arswi/CollectiveIntelligen/resources/index.htm?skipFlashCheck= true 14 18 Votaciones electrónicas De su estudio pueden extraerse los 7 puntos, que permiten detonar la inteligencia colectiva para que un grupo tenga éxito: 1. Unidad emergente: Un todo emergente con espíritu común. 2. “Holoptical Space”: Se refiere a la visión del espacio en su conjunto, por ello se piensa en lo que harán los demás y hacia donde irá el colectivo. Existe transparencia horizontal y comunicación vertical: donde la transparencia, es el pilar básico para luchar con los compañeros cercanos del grupo, mientras que, la comunicación vertical se refiere, a los mensajes distribuidos entre los diferentes subgrupos. La información fluye entre las piezas del colectivo, de tal forma que, se retroalimentan en tiempo real para responder adecuadamente a los cambios producidos por la situación actual y los estímulos externos. De forma breve, es la conciencia individual sobre el colectivo y sus actuaciones en todos sus niveles. 3. Contrato Social: Existen unas reglas claras, sea una normas implícitas o no, cada individuo las conoce y las asume como propias, sabe que son necesarias para su propia supervivencia. 4. Arquitectura polimórfica: Es importante que las relaciones del grupo vayan cambiando continuamente, a causa de situaciones o circunstancias, y se intensifiquen alrededor de los líderes/expertos, que son reconocidos en el acto por los individuos del grupo. Estos líderes cambian según las circunstancias y situaciones. Fomentan la proactividad, el dinamismo y la participación. 5. Vinculación a un objeto: Cada individuo está comprometido para un fin, donde la inteligencia explota con el objeto que los vincula. Puede ser por ejemplo: que les vincule algo no físico como un proyecto, la derrota de un enemigo o la música en sí. Algo que los identifica, algo por lo que merece la pena luchar juntos. 6. Organización de Aprendizaje: El conocimiento se extiende no sólo a nivel individual, sino integrando entre todos el conocimiento nuevo. 7. Reparto de logros: No se trata de competir, sino de compartir. La multitud comparte: todo logro, ganancia, gloria, miedo, peligro, que de forma común puedan conseguir. 19 Votaciones electrónicas Así que, la aplicación desarrollada en el proyecto, funcionará si los participantes de la asociación, grupo o colectivo que se unen con un objeto común; aprenden unos de otros, comparten unas reglas, reparten los logros, siendo así capaces de agruparse y adaptarse para compartir el liderazgo. 2.1.2. Crowd El libro “The Wisdom of Crowds”, publicado en 2004 por el periodista James Surowiecki, es quien populariza la idea de la inteligencia de las multitudes. “A diverse collection of independently-deciding individuals is likely to make certain types of decisions and predictions better than individuals or even experts ” Si la multitud, traducción de crowd, cumple con los principios de diversidad, independencia y no está centralizada, la suma de sus decisiones serán sorprendentemente acertadas. James, explica cómo en circunstancias adecuadas los grupos pueden tomar mejores soluciones que el mejor y más inteligente de sus miembros. Para que exista esta multitud inteligente deben darse al menos estos elementos: ● Diversidad de opinión. ● Independencia. ● Descentralización. ● Agregación. Si hay diferencia de opiniones, estas no están influidas entre ellas, no están centralizadas y se puede ir sumando de forma colaborativa. Se puede conseguir pasar de opiniones personales a decisiones colectivas. 20 Votaciones electrónicas El crowd clásico, trataba de resolver problemas sencillos mediante la agregación o filtrado individual de varias personas. Aportando soluciones al conjunto, como pueden ser las valoraciones y las experiencias de compras en Amazon ó Atrápalo. 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. Como puede verse en la imagen, existen tipos crowds según su de diferentes tipología: Crowdfundig, pequeñas sirven para conjunto de aportaciones que conseguir juntos una finalidad, que de tener que hacerlo solos no podrían realizar. Todos satisfechos, están pues muy serán partícipes de su realización. 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. La anterior figura, destaca la tradicional forma de redactar contenidos de un experto frente a un grupo no tan experto componiendo de forma colaborativa. Varios de los autores citados, han concluido que su variedad multidisciplinar ganará frente al experto. 22 Votaciones electrónicas 2.2. Intelligent Network Crowd La red inteligente para multitudes, que por redundante que parezca se ha expuesto que es también símbolo de inteligencia colectiva. Ahora bien, ¿qué ocurriría si mezclamos a estos colectivos inteligentes con la tecnología necesaria para que sus potenciales se sumen? Se multiplica la fuerza del colectivo. La propia red que forma el colectivo posee una información mucho más valiosa, aquella que aportan los perfiles de cada nodo. Porque no es lo mismo que un experto físico comparta su opinión sobre la fusión de átomos o cualquier otro tema, a que un entrenador de fútbol lo haga sobre un debate que no es su materia y de forma viceversa si habláramos de fútbol. También se ha de tener en consideración la edad de las personas que influirá en su opinión. Así, no sólo se utiliza la opinión de los individuos anónimos como en la mayoría de los crowds definidos con anterioridad, sino que gana importancia el perfil de información asociado a ese individuo. El sistema conocedor de todos los perfiles disponibles en la red, determinará cuales son los más adecuados para contestar una cuestión dada en función de: sus conocimientos, experiencia, edad u otros parámetros que pudiéramos tener almacenados. No obstante, no debemos entender esta elección como una discriminación. Pues el sistema, busca una opinión homogénea, el cual seleccionará un número igual de perfiles distintos para obtener un resultado genérico. 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. El Gobierno Abierto, se refiere al uso de tecnología para fomentar la transparencia, la participación y colaboración con los grupos de interés de las administraciones públicas y los gobiernos. Aunque la expresión tiene raíces en una declaración de Lincoln en 1863, el Presidente Obama le dió un nuevo impulso a través de su Memorándum “Transparency and Open Government” en febrero de 2009. Para Obama, significa conducir hacia una administración pública y un gobierno más eficiente y efectivo. De alguna manera se trata de reinventar la gestión pública y el gobierno. 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 2.3.2. Estado Red Este concepto explicado por Manuel Castells, catedrático español, experto en ciencias sociales y tecnologías de la información y comunicación. Siendo el quinto16 académico de ciencias sociales más citado del mundo. Según Castells, el Estado ya no es jerárquicamente la punta de la pirámide, ni lo más importante. Ahora, es un nodo más en una red global, siendo un estado de la globalización. La mayor parte de los elementos clave del Estado Nación, escapan a su control directo. Asuntos como la moneda, la economía o los militares, ya no son partes internas de él, sino que se necesita de un diálogo de mediación, porque todos estos aspectos dependen de otros nodos de una red de Estados. El Estado Red, por tanto, es un nodo más de la red que controla la mayoría de cosas que exige la sociedad, siendo así, la base de la pirámide. Los Estados Nación desaparecerán para convertirse en Nodos de redes Globales, mejor comunicadas y organizadas, compartiendo más información. Su último trabajo sobre la comunicación y el poder, habla sobre quienes tienen el poder. En éste, se explica que quien controla la comunicación son los que definen las reglas del juego en las sociedades, y quien lo tienen. Los grandes medios de comunicación, son quienes controlan y llenan de ideas la mente humana, porque los dominan la mente de las personas. El impacto que suponen sobre la sociedad es una continua información que marca y determina su dirección. 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 Extrayendo algunas de las frases más destacadas de su último trabajo, fruto de la experiencia de todos estos últimos años encontramos las siguientes: “El poder comunicativo es el poder fundamental” 17 “El poder es una relación y no un atributo” “Las relaciones de poder se construyen en la mente a través de procesos de comunicación” 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. Habla de “autocomunicación de masas”, refiriéndose al concepto de creación propia o personal de contenido enviado directamente sin intermediarios, y nuevamente el concepto masas no me parece muy acertado; se ajusta más al concepto utilizado como el de multitud inteligente, las “crowds” que no denota uniformidad o que el tamaño es la única importancia. La masa como concentración en un punto central frente la variedad, la enriquecedora variedad multidisciplinar de las multitudes. Él hace hincapié en 3 conceptos de nuevo entorno tecnológico: ● Flexibilidad: Capacidad de reconfigurar. ● Adaptabilidad: Se expande o contrae con pocas iteraciones. ● Capacidad de supervivencia: Capacidad de protegerse, de destacar la veracidad y contrastación. Por suerte, a todo este entramado de manipulación y coacción comunicativa, afirma que los procesos de comunicación en la red son fáciles y rápidamente reprogramables, que están más diversificados, menos profesionalizados y con ello menos manipulados. Este hecho de la flexibilidad y adaptabilidad, les confieren rápidamente a asuntos como la ecología u otros pueden hacerse eco de gran difusión y pasar a estar en la mente de las personas para crear problemas reales. 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 Para entender de dónde vienen las votaciones, se deberá ver el significado de Democracia. La palabra proviene de dos términos griegos Demos y kratos. El primero significa pueblo organizado y el segundo gobierno. La traducción sería: el gobierno de un pueblo organizado. Existen muchos tipos de democracia y se expondrán algunos ejemplos para entender que tenemos en España y no perderlo de vista, luego se analizará en el cierre del apartado con las posibilidades legales, que se ha de usar las votaciones en el móvil. 2.3.4. Democracia Directa 18 o Democracia Pura En este tipo de democracias, el poder lo tiene directamente el pueblo, se reúnen en asambleas para poder tomar las decisiones. Este tipo de democracia actualmente solo existe en algunos lugares de Suiza. 2.3.5. Democracia Deliberativa En españa, como en la mayoría de países, se dispone de una democracia de este tipo. Para ello, el pueblo elige unos representantes que dirigen el país por ellos. En la Constitución se deja margen y alguna puerta abierta a acciones puntuales de democracia directa, como pueden ser la iniciativa popular, el referéndum (plebiscito), o la revocatoria. En la Constitución Española, en su artículo 1.2 establece que "la soberanía nacional reside en el pueblo español, del que emanan los poderes del Estado, y en su artículo 23.1, que los ciudadanos tiene el derecho a participar en los asuntos públicos, directamente o por medio de representantes". Aún así, solo nos podemos acoger a la 18 http://es.wikipedia.org/wiki/Democracia_directa 28 Votaciones electrónicas Petición Colectiva Legislativa (art. 87) y Ley Orgánica de la Iniciativa Legislativa Popular. La iniciativa legislativa popular (IPL), permite a los ciudadanos presentar peticiones a los poderes del Estado para que un determinado asunto público sea tomado en consideración, como puede ser una reforma legislativa o incluso constitucional. El referéndum, puede emplearse para aprobar o rechazar una determinada ley, y la revocatoria, da al pueblo el derecho de destituir de su cargo a los funcionarios electos antes de finalizar su mandato. Esto se verá más detalladamente en el apartado de normativa. 2.3.6. Democracia Colaborativa En 2009, Noverk, ya escribió sobre ella y recibe muchos nombres distintos; Democracia en red, Wikigoverment19 o Gabinete Digital 20. Como en otros enfoques es una democracia participativa, donde el gobierno escucha activamente y mediante tecnología, en algunos de los casos se presta más atención a lo que el pueblo quiere. Un ejemplo actual bajo el eslogan electoral de “Democracia en red”, surge el nombre de Gabinete Digital con el que el Gobierno del estado brasileño Río Grande do Sul, ha puesto a su plataforma para la gestión abierta y colaborativa. La plataforma fue estrenada en 2011, en este caso es una página web sencilla donde la gente puede realizar 4 cosas; enviar propuestas, ver las propuestas del gobierno, escuchar los plenos y enviar preguntas. 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 Estado tiene una población de 10 millones de personas y en alguna propuesta se han intervenido 100 mil personas, esto implicaría una participación del 1%. Esto no deja de ser un ejemplo de gobierno mediante un wiki, en este caso, la plataforma no es un wiki y no se podría decir meramente que lo sea, eso sí, está licenciada bajo Creative Commons, lo que le da un aire confiable y abierto. Como dato interesante, este modelo se basó en el Movimiento 15M español. No es de extrañar que el Foro Social Mundial y el modelo de presupuestos participativos surgiera de la ciudad a de Puerto Alegre. 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. 2.3.7. Presupuesto Participativo21 Es el sistema de la democracia participativa, donde de forma colaborativa se deciden cuales son las propuestas más interesantes de inversión. El primer lugar en ponerse en práctica fue en Porto Alegre, Brasil. La parte tecnológica para llevarlo a cabo, es un sistema no específico, vía una página web dinámica utilizada por el gobierno, donde la gente pone sus comentarios, a través de estas propuestas se examinan y las mas comentadas se estudian. En algunos municipios de España, se han hecho prácticas de presupuesto participativo en ámbito local, como puede ser en Sevilla, Córdoba, Málaga, Baleares y Cataluña. En esta última, algunos ayuntamientos como el de Sabadell, Vilafranca del penedés o Sant Boi de Llobregat han hecho pruebas. 21 http://es.wikipedia.org/wiki/Presupuesto_participativo 31 Votaciones electrónicas 2.4. Normativa 2.4.1. Referéndum22 En wikipedia se basan en la definición de la Real Academia Española que dice así: “Procedimiento jurídico por el que se someten al voto popular leyes o actos administrativos cuya ratificación por el pueblo se propone.” 23 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 Distintas Modalidades de Referéndum” Constitución. 24 , tal como se define en el artículo 92 de la Algunos ejemplos serían; las declaraciones de independencia o Estatutos de Autonomía. 2.4.2.Iniciativa popular Legislativa (IPL) En este país, la iniciativa popular está regulada a nivel nacional y provincial. La Constitución Española prevé la iniciativa popular en su artículo 87.3 y siguientes y en la ley reglamentaria (Ley Nº 3 Orgánica de 1984). Se necesitan 500.000 firmas acreditadas de ciudadanos, lo que equivalente al 1,26% de la población española. Los promotores de la iniciativa sólo pueden proponer al Congreso de los diputados la discusión de su propuesta de ley. El parlamento no está obligado a ofrecer una solución a la iniciativa, ni los promotores pueden defenderla en esa institución. Este proceso tampoco puede terminar en referéndum o por lo menos no hay la obligación de que sea consultado públicamente. 22 http://es.wikipedia.org/wiki/Referéndum http://lema.rae.es/drae/?val=referendo 24 http://noticias.juridicas.com/base_datos/Admin/lo2-1980.html 23 32 Votaciones electrónicas Según la aplicación de la normativa, puede presentarse a nivel Autonómico, si ésta tiene la competencia. En el caso de Cataluña, gracias a la Ley 1/2006 del 16 de febrero, permite participar y presentar estas iniciativas a ciudadanos españoles, ciudadanos comunitarios o extracomunitarios con residencia legal en España. A diferencia de las IPL presentadas en España que funcionan bajo una comisión especial, el número de firmas necesarias también se reduce notablemente a 50.000. Desde el 2006 las firmas pueden ser recogidas por medios electrónicos, estando aceptado el DNI electrónico como medio. 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. Existe también la posibilidad de presentación al Parlamento europeo, pero el número de votos aumenta a un millón de firmas de ciudadanos de un mínimo de 7 países. Si finalmente se admite a trámite, el Gobierno pagará los gastos hasta un máximo de 300.000 euros a nivel estatal, que deberán pagar a los promotores en caso que se apruebe la propuesta, por no hablar de los 9 meses que tienen de plazo para someterla a votación, en total un trámite que se puede alargar hasta a 15 meses. Si lo comparamos con otros países europeos, estos tienen plazos, costes y condiciones mucho más acertados. 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. La última de ellas, ha estado presentada por la PAH (Plataforma de Afectados por la Hipoteca), se ha conseguido aceptar, recogiendo así más de un millón y medio de firmas, pero su reforma sobre la dación en pago se desestima y no se incluye en la propuesta de ley definitiva, esta Iniciativa popular la única. Por el momento, no se ha tenido mucho éxito siendo un proceso lento y costoso en tiempo y posibilidades. Este mecanismo que ampara y permite a la ciudadanía actuar bajo sus intereses ha sido debilitado con las últimas constituciones. Si se observan estos datos, se verá como el pueblo pierde poder y desde la Constitución de 1931, donde se podía forzar un referéndum para la derogación de leyes a partir de la iniciativa del 15% del censo, ahora ya no está, en las iniciativas legislativas populares no tenían limitaciones en su aplicación, y ahora hay ciertas temáticas que no se pueden ni proponer. 34 Votaciones electrónicas 2.4.3. La Alianza para el Gobierno Abierto25 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. Desde la agencia internacional para la evaluación de los parámetros necesarios para poder entrar, España obtiene un 12 de 16 puntos, el mínimo para poder entrar en la Alianza. Estos datos son obtenidos de varios estudios internacionales. Realizó un gráfico para ver un mapa global de los países desde los datos obtenidos en “2013 Eligibility for All Countries” 26 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 En el siguiente gráfico puede verse la puntuación por países. 2.4.4. Sistema de Voto electrónico en el mundo Se puede observar la evolución que ha tenido el voto electrónico en el mundo gracias a los gráficos de las conferencias anuales de EVOTE2012. Cabe destacar, que algunos países como Reino Unido y Alemania tuvieron sistema de voto electrónico que, por fallos de implementación, comprometieron las votaciones y fueron prohibidos. En otros países se están utilizando sistemas diferentes que sí están dando mejores resultados. 36 Votaciones electrónicas Mapa mundial de la aplicación de votos electrónicos en 2011 27 Mapa mundial de la aplicación de votos electrónicos en 2009 28 27 28 Datos de la 5ª conferencia internacional EVOTE2012 el 11-14 Julio 2012 (E-vote.cc) 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 2.5. Conceptos de matemática 2.5.1 Teorema del límite central 30 En resumen, se dice que cuando el número de valores concretos es bastante grande de media se acercan una distribución normal. Sea , , ..., un conjunto de variables aleatorias, independientes e idénticamente distribuidas con mediaμ y varianza σ2 distinta de cero. Sea Entonces . Lo importante, es notar que al aumentar la muestra, siendo su variable aleatoria el conjunto se muestra como una distribución normal, donde el valor o valores máximos se distribuyen en el centro. Esto quiere decir, que sin tener que conseguir toda la muestra y sólo consiguiendo una muestra parcial lo suficientemente grande podremos saber dónde se concentran los valores más probables. El primero está relacionado con el siguiente teorema. 2.5.2. Ley de los números grandes: 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 La demostración teórica es muy compleja, así que se hace un experimento: Se lanzar un dado de lados y obviamente la probabilidad de que salga un número concreto debería de ser ⅙ = 0.166 , pero si lo se tira 10 veces un dado y no ha salido ningún número “5”, que clase de probabilidad es? es un dado manipulado? Si mediante un programa se generan lanzamientos del dado, observamos que cuantas más veces se repite el experimento de lanzar un dado más veces sale “5” y de media se acercan a ese valor. Para 100 lanzamientos ya aparece el mismo número de veces para 1000 lanzamientos ya se tiene la probabilidad calculada. 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. En ambos teoremas se habla de respuestas aleatorias, pero en cuanto se añade inteligencia al problema, las respuestas ya no serán aleatorias sino que rápidamente se desviarán hacia la respuest más popular. Por otro lado y de importante mención, los perfiles de la muestra sí que serán aleatorios, porque si consideramos se cumpla el teorema, pues si la muestra es aleatoria y se eleva sus resultados deberían ser aleatorios, si lo són, encontraremos el valor más probables si lo dejan de ser la tendencia será clara. 40 Votaciones electrónicas Esta hipótesis, se espera poderla comprobar en la fase de pruebas. Es donde se basa el cálculo de la inteligencia social: Que la muestra de un colectivo escogido al azar, determinará con cierta exactitud la opinión de todo el colectivo. Para poder representar el azar, se utilizará la información del perfil de usuario para tener un usuario realmente diferente cada vez. Se puede ver más adelante el algoritmo propuesto, basado en estos conceptos. 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 “un método que permite aumentar la seguridad de un mensaje o de un archivo mediante la codificación del contenido, de manera que sólo pueda leerlo la persona que cuente con la clave de cifrado adecuada para descodificarlo.”31 Como explica wikipedia, el cifrado es el método para conseguir transformar un mensaje a otro que solo sea posible leerlo por alguien que conozca dicho método, de tal manera que si alguien lo intercepta no podría conocer su significado. Existen innumerables formas de realizarlo con distintas propiedades e innumerables aplicaciones. No se detallarán más que el conocimiento mínimo necesario para entender los siguientes puntos. Aplicado a el dominio de votaciones electrónicas, es necesario preservar ciertos derechos de los socios o ciudadanos que intentan votar de forma libre y anónima. Por ello al enviar el voto de forma telemática, debe de viajar seguro de tal manera que nadie más que el sistema pueda conocer su significado. ejemplo de cifrado por bloque 31 http://es.wikipedia.org/wiki/Cifrado_(criptografía) 42 Votaciones electrónicas 2.6.2. Función de HASH Se llama Hash al resultado alfanumérico, normalmente en base 64 o 58 de una longitud fijada. Esta cadena se consigue mediante un algoritmo que tiene una cadena de entrada y sin importar su longitud, es capaz de extraer un hash único de la misma. La principal característica es que siempre da el mismo resultado para la misma cadena de entrada y que desde la cadena de salida es imposible sacar la cadena de entrada. Su principales características: ● No es reversible. ● Siempre da el mismo resultado. ● Longitud de salida fija. 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. 2.6.3. Claves asimétricas32 Es el sistema más conocido en la actualidad para cifrar todo tipo de comunicaciones este tipo de claves es el más extendido en el mundo en la mayoría de sistemas y protocolos. Existen varias variantes, pero conceptualmente son similares. Mediante un algoritmo matemático se generan dos claves simétricas que tienen la característica de cifrar un mensaje cualquiera en un una dispersión de caracteres sin sentido humano. las características más importantes son: 32 http://es.wikipedia.org/wiki/Cifrado_asim%C3%A9trico#Tecnolog.C3.ADas 43 Votaciones electrónicas ● Este cifrado es reversible únicamente con la clave privada. ● El par de claves generados es único, es imposible volver a generar el mismo dos veces. ● Permiten identificarnos de forma única. ● Permiten cifrado seguro. En los gráficos de wikipedia queda bastante bien explicado el proceso: Proceso de cifrar un mensaje para que lo lea sólo el destinatario 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 Algunos algoritmos basados en este tipo de firma son: RSA, DSA, ElGamal o de curva elíptica. 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. En la “Crypto 2014 conference” que se celebrará en agosto de 2014, se ha anunciado importantes descubrimientos de debilidad de los algoritmos de tipo curva elíptica, lo que permitirá descifrar en 2h los de 128 bits33, con un cluster de 24 núcleos. Esto daría fundamento a las teorías de Snoween donde afirma que la NSA decodifica las claves privadas de grandes compañías de email como Gmail.com. 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 2.6.4. Clave simétrica 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. Su seguridad depende de la propia clave y su longitud. El mayor problema de estos es como dos personas o dispositivos se comparten esta clave secreta por un medio no seguro como internet. Los algoritmos más usados con este tipo de clave son el DES, 3DES, AES. 2.6.5. Firma digital 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. El proceso de firma es sencillo, utilizando el mismo par de claves pero en sentido contrario. Si primero cogemos una cadena de texto le aplicamos una función de dispersión Hash le aplicamos cifrado con la Clave privada y así el número retornado permite identificar al propietario de la llave pública, haber generado esa cadena, pues solo esa clave junto con el hash pueden dar esa misma firma. 1. Aplicando la función hash sha1, a un documento obtenemos un hash, si le aplicamos la llave privada de ANA, obtenemos la firma de este documento por ana. 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. 2.6.6. Lector DNI-e 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. 2.7.1. Conexiones Wifi La mayoría de dispositivos utilizan sistemas inalámbricos para conectarse a internet. Estas redes pueden llegar a ser las más inseguras. Existen varios protocolos el 802.11 originario en 1999 que contaba con protección de cifrado WEP de 40 ó 104 bits y que a día de hoy con el estándar actual 802.11i todavía son permitidos, pese a su prohibición en 2004 como medida de seguridad. Existe la posibilidad de crear redes abiertas sin ningún tipo de cifrado, en estas todo el tráfico puede ser visto por cualquiera que reciba la señal. Tipos de cifrado que implementa el protocolo de conexión inalámbrica, cada una de ellas utiliza unos sistemas de claves para cifrar la conexión entre el router y el móvil. ● WEB: Está basado en el algoritmo de cifrado RC4, es el primer sistema de cifrado para dotar de seguridad. A día de hoy, sigue siendo uno de los más utilizados, pero el menos seguro. Son varios los motivos por los que se puede crackear: ○ 40bits: Por fuerza bruta es computacionalmente descifrable. Ha aumentado tanto la potencia de los ordenadores que en poco tiempo, varios días se puede obtener la clave de los paquetes recibidos. Como se sabe la primera secuencia del protocolo, sólo se deben de ir probando claves hasta dar con con un resultado de un paquete ya cifrado. ○ Inicialización idéntica: Al tener varios paquetes cifrados con el mismo vector de inicialización de las matrices de cifrado, ofrece una debilitación del algoritmo de descifrado que reduce drásticamente las posibilidades de las distintas claves. ○ La mala implementación por parte de los fabricantes, hizo que todos los routers más usados utilizaran una sencilla forma de generar sus claves preconfiguradas, así aparecieron diccionarios donde solo variaba 4 dígitos de clave entre un router y otro de la misma marca. Empresas como Zyxel entre 49 Votaciones electrónicas otras, se vieron afectados en que sus routers fueran hackeados en minutos con un programa estadístico. Por desgracia utilizaban parte de la mac y el nombre ESSID, que son datos accesibles por el atacante, que no están cifrados. ○ WPA / WPA2: llamado wifi Protect, también basado en el algoritmo de cifrado RC4 de 128 bits. Este sistema que aparece con la revisión del estándar es más seguro 802.11i, pero por desgracia, el sistema de “Handshake” donde se hace un intercambio de los números aleatorios que se utilizan para la generación de las claves de cifrado, hace que se pueda detectar esa trama especial al no estar cifrada todavía y con esos datos iniciales, las direcciones mac y los nombres ESSID y los paquetes de balizamiento IV’s poder reconstituir o generar las claves iniciales. Este proceso, llamado ataque de desautenticación, es solo posible en ciertos momentos de conexión de un dispositivo nuevo, pero existen maneras de simular un comando de desautenticación que desconectará el cliente, y al intentar reconectar se obtendría esta secuencia de negociación donde está la vulnerabilidad. ● WPA/WPA2-EAP-MSCHAPv2,WPA/WPA2-EAP-MD5, WPA/WPA2-EAP-TLS: empresariales con el uso de servidores RADIUS y sistemas de autenticación EAP basados en certificados digitales, contraseñas e incluso el uso de cifrado SSL para el intercambio EAP [Protected EAP]. Estos tipos son implementaciones de otras infraestructuras a nivel empresarial, no compatibles con la mayoría de routers domésticos o que necesitan de varios servidores para la autentificación del cliente mediante certificados digitales de usuario. Son lo más robustas y casi no utilizadas. 2.7.2. GSM/GPRS/ UMTS/ 3G Las redes tienen un sistema de autenticación, pero no está implementado por la mayoría de las operadoras telefónicas. Así se hace un ataque por suplantación de la torre de emisión, dado que no se necesita tener identificación. 50 Votaciones electrónicas Utilizando en proceso de Cell Reselection, solo tenemos que aumentar la cobertura que percibe el móvil, hacer que el móvil piense que está en movimiento y se acera a otra torre, entonces hará el proceso de autenticación donde se fiará de esta nueva celda; esta nueva celda, le podrá solicitar que deje de cifrar la conexión y así tendremos una conexión GSM sin cifrar. 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. Para conseguir forzar a la víctima emitimos en 3G para inhibir la cobertura en la banda 3G y el móvil automáticamente se conectará a la red GRPS más potente, así conseguimos vulnerar la seguridad del 3G que si autentifica al operador. Lo grave es que algunos teléfonos, como Iphone, no muestran ningún icono para indicar que la red no está cifrada. 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 Para ilustrarlo ,podemos ver las imágenes originales de la demostración: 52 Votaciones electrónicas A día de hoy en la última conferencia de seguridad Rooted-CON 201436, los mismos autores definen 4 formas distintas de conseguir de forma transparente hacer un man-in-the-middle con un terminal 3G. ● IMSI Catcher: Pese a que en 3G la estación emisora debe de identificarse, existe un primer momento antes de que se establezca el cifrado que permite obtener algo de información del móvil víctima, entre ellas; el Identificador. ● Localización geográfica: Gracias al primer ataque una vez obtenido el IMSI, se podría triangular la posición exacta de un móvil en un ratio de 2 a 3 kilómetros de distancia. ● Denegación servicio 3G: existe la posibilidad antes de iniciar el cifrado entre estación emisora y movil a indicarle que no está disponible el servicio 3G, lo que dejaría sin 3G al dispositivo hasta que no se reinicie el servicio en el móvil, viéndose éste obligado si puede a conectarse por 2G. ● Downgrade a 2G selectivo: Adicionalmente al comando anterior,que desactiva el 3G, existe otro comando antes de la encriptación que permite hacer a ese terminal concreto conectar por 2G. Además de este estudio y demostración en españa, desde las universidades de School of Computer Science Birmingham UK y Technische Universität Berlin and Deutsche Telekom Laboratories 37. Demuestran formalmente 3 de los puntos propuestos por ellos y comentan que existiría hardware barato, para emular una estación 3G para realizar estos ataques. Ellos han propuesto la solución para que se arregle en la próxima generación del protocolo. 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 37 http://www.hojaderouter.com/seguridad/redes-3g-seguridad-ataques/12437 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. Protocolos de encriptación Vistos los problemas de seguridad de los medios wifi o 2G y 3G, no importa el protocolo de encriptación que haya en los niveles inferiores del nivel de la pila de conexión. De todos modos como ahora veremos, con el fallo reciente de uno de los protocolos de cifrado SSL del mundo, OpenSSL, la seguridad es casi un espejismo, y estar protegido es realmente muy difícil. 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. Para corregir sólo es necesario un parche de actualización y regenerar las clave pública y privada de certificado, puesto que el fallo permitía conocer la propia clave privada. Adicionalmente, si alguien ha interceptado las comunicaciones deberán de cambiar las claves utilizadas. Este fallo puede haber dejado las operaciones con tarjeta de crédito al descubierto en muchos comercios. BEAST 39 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 39 http://blog.erratasec.com/2014/05/300k-servers-vulnerable-to-heartbleed.html#.U4OMw_mJQrV http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/ 54 Votaciones electrónicas El protocolo de clave asimétrica es seguro por motivos computacionales, El algoritmo presenta un problema de gran dificultad y esta en función del número de bits de cifrado, desde que fue inventado ha ido aumentando el número de bits, porque la potencia de computación de los ordenadores ha aumentado tanto; que el tiempo para obtener la clave privada es menor. Pero es posible obtener o generar la clave, según los informes de Edward Snowen40, se afirma que la NSA podría estar usando supercomputadoras para generar estas claves privadas y así espiar las comunicaciones. Por otro lado, el sistema funciona a través de un sistema de confianza de las entidades de Certificadores que guardan y generan los certificados, si estas son intervenidas atacadas, compradas o por el estado, pueden emitir certificados falsos que hicieran que un dominio diferente se autenticara como Google.com ó un banco. Esto ya ha ocurrido en 200141, unos hackers entraron en la entidad certificadora DigiNotar. Otro caso semejante ocurrió cuando un hacker entró en la entidad certificadora Comodo42 y generó certificados falsos. Otro sistema de obtención de las claves privadas de certificados, es el proceso de instalación de las mismas. La mayoría de Entidades Certificadoras baratas, entregan el certificado enviando un email con las claves privadas al comprador, éste podría estar leyendo el mensaje desde una wifi insegura, un pc infectado o un gestor de correo que descargue sin seguridad a clave privada. Esta viaja totalmente 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. Google, desde hace poco más de un mes hace obligatorio y no desactivable el protocolo https, con un mecanismo de seguridad TLS en su versión 1.2, de 256 bits de cifrado. 56 Votaciones electrónicas 2.9. Sistema Operativo Android Android el sistema operativo de Google, basado en linux kernel 2.6 fue analizado por Symantec, empresa líder en seguridad y antivirus, para determinar que era mucho más seguro que iOS de apple. En comparación se detectaron 3843 vulnerabilidades en iOS y 13 en Android. de todos modos, dado que el sistema de publicación es mucho más estricto en Apple, donde el tiempo medio de publicación es de una semana y la revisión es casi manual, hace que el número de aplicaciones maliciosas sea menor; sólo se han detectado 11 aplicaciones fraudulentas, frente a las 114 aplicaciones detectadas en Google Play en 2013. Vamos a ver su arquitectura y las opciones de seguridad más importantes. 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. Este principio de seguridad es uno de los fundamentos del sistema de seguridad de la APP de votaciones, se basa en que la aplicación está firmada para poder incluir la primera clave pública de comunicación con el sistema central, lo que permite suprimir la primera fase insegura de los procesos de negociado inseguros, vistos tanto en los protocolos WIFI, GSM o SLL. Esto permitirá que desde el momento 0 la aplicación esté enviando datos cifrados que sólo el sistema pueda leer. 2.9.2. Manifiesto de permisos por aplicación 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. 2.9.3. Application Sandbox45 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 45 http://developer.android.com/reference/android/security/KeyChain.html https://source.android.com/devices/tech/security/ 58 Votaciones electrónicas 2.9.4. Acceso protegido mediante API’s El acceso al hardware se realiza mediante api’s, así no es la aplicación quien tiene el control de estos, sino que debe de hacerlo de forma controlada mediante las API correspondientes. El acceso al microfono, la camara o la tarjeta de memoria deben de solicitar permiso al usuario durante la instalación. Esto añade una seguridad adicional. 2.9.5. Sistema de ficheros cifrado El sistema de ficheros está cifrado criptográficamente con el algoritmo AES128:CBC y ESSIV:SHA256, el cifrado se realiza directamente en el Kernel de linux. Estas opciones de cifrado están disponibles desde la versión 3.0. Por otra parte la tarjeta de memoria externa también puede cifrarse, aunque es una opción del sistema, que impide ver los datos de algunas aplicaciones en el ordenador, al conectarlo por cable usb. Por ello todas las versiones actuales lo tienen desactivado por defecto, ya que es un punto de inseguridad a tener en cuenta, puesto que guardar información en ella supondría poner a disposición de otras aplicaciones la información. Como hizo la empresaWhatsappp donde las copias de seguridad, se realizaban sin encriptar en dicha tarjeta y otras aplicaciones maliciosas tenían acceso a ellas. 2.9.6. Vulnerabilidades conocidas Existen algunos bugs conocidos, que permitirían a aplicaciones sin permisos especiales en el manifiesto para la versión actual de android, adquirieran mayores permisos de aplicación sin que el usuario los aceptase, esto es debido que al actualizar el sistema Android a una versión superior no son comprobados que los permisos disponibles de las aplicaciones tengan permisos especiales para otras versiones del mismo. Esto es grave, pues infringe la privacidad de un usuario que no ha dado consentimiento explícito46 a esa aplicación, a ver la agenda. Pero no supone un riesgo para el control del dispositivo o acceso a otras aplicaciones de terceros. 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. Se consiguió el convenio de colaboración47 con el club excursionista Cima (Club de Informáticos Montañeros y Alpinistas), con sede en Barcelona donde se establecieron las primeras necesidades. El club que se constituyó en 2001, como una asociación deportiva de la Facultad de Informática de Barcelona y años más tarde cuando sus fundadores terminaron la relación con la universidad se estableció como Club excursionista registrado en el “Consell Català de l’Esport” el 05/05/2007. 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 En muchos casos la temática de la salida organizada o las fechas elegidas, de forma sólo consensuada por la junta, provocan que los socios no les vaya bien o no sea de su interés. Falta dinamismo en las decisiones mensuales, pero es inviable organizar asambleas generales para pedir opiniones por falta de tiempo. Actualmente el club sólo utiliza medios electrónicos de comunicación como el newsletter o la página web, que son medios que permiten poco feedback. Es por este motivo que Cima pensó que el sistema de votación en dispositivos móviles podría ser interesante para tomar estas decisiones en las que son necesarias la participación del socio. La edad media del socio en el club es de 41,31 años. Se tienen registrados el 97,96% de teléfonos móviles de los socios. El club es totalmente virtual, no tiene un espacio físico, así las condiciones de aplicación son ideales. 61 Votaciones electrónicas 3.1. Escenario Actual El club pertenece a la Federación de entidades de Catalunya, donde entre todos los presidentes de las entidades representan a sus socios y toman decisiones en la asamblea general de la Federación. Sólo en asamblea general o extraordinaria se puede elegir a la junta directiva u otras normas que afecten al colectivo. A día de hoy, este es el único momento que se pueden tomar decisiones importantes. Cualquier propuesta u opinión individual debe de esperarse un mínimo de seis meses a un año para ser consultada. La federación con más de 450 entidades y 55.000 federados es el escenario más grande que se planteará. Siendo el escenario habitual los 100 socios que tiene el Club Cima. 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. Se plantea colaborar con la FEEC en un sistema de comunicación que modele el conjunto de esta federación tan antigua y especial. Dada la complejidad y los requisitos legales era difícil realizar votaciones en cascada, pues cada uno de los puntos tienen un marco legal diferente e igualmente la federación no puede tomar como válidos los votos de los federados, porque no son socios directos suyos, sino que son socios de las entidades. Así, para que esta votación tenga validez legal, debe de ser cada entidad quien haga la consulta a sus miembros de forma separada y estos mediante la representación. Con esto se ha observado que se realiza una votación simple, de un solo nivel; la entidad -> Socios y pudiendo ser aplicada en cualquiera de los tres escenarios: ● FEEC a presidentes Entidades ● Vegueria Territorial a Presidentes entidades ● Presidentes Entidad a Socios/Federados De las reuniones de análisis que se realizaron en la federación, se detecta la necesidad de modernizar la comunicación, pero actualmente ve difícil la implantación de este sistema por ella misma. Deben de ser las entidades quien lo decidan, así que se realizará la prueba piloto con la entidad Cima, anteriormente expuesta, para demostrar su validez y poder presentar en la asamblea general de finales de año. La FEEC sí ha aceptado mediante convenio probar la herramienta con algún servicio que pueda atender directamente. Uno de los objetivos aceptado en sus estatutos, es la notificación desde el federado a la Federación de la realización de ascenso a una montaña. Mediante el cual un federado certifica que ha estado en el pico de una 63 Votaciones electrónicas montaña a la federación, con este escenario si se podrá realizar una prueba a nivel federativo. De todos modos, este acuerdo de colaboración no permite poner en práctica el objeto del proyecto, que se realizará a posteriori aplicando con los conocimientos aprendidos. 3.1.1. Resumen de requerimientos El club excursionista CIMA quiere poder realizar encuestas que ayuden a la junta a tomar decisiones en el día a día, con la opinión de la mayoría de socios. Por otro lado quiere poder realizar las votaciones legales sobre cuestiones que hasta hoy sólo puede hacerse convocando una asamblea general, sin necesidad de tener que desplazar a los socios repartidos por varias ciudades catalanas. Otro de los cometidos, es hacer más participativo al socio, no solo facilitando el poder votar de forma remota, sino dotándolo de un sistema de envío de opiniones o propuestas. Como es lógico, existen otros requisitos no funcionales intrínsecos del dominio de la aplicación, como son la facilidad de uso, la seguridad, el no repudio, la verificación individual, la verificación universal, equidad, privacidad y transparencia de todo el proceso. En el apartado de funcionalidades podremos ver ampliados estos conceptos. 64 Votaciones electrónicas Dado que es un trabajo académico de investigación, se decidió abstraer el problema y formalizarlo de una forma lo más genérica posible para que pudiera servir a cualquier asociación, federación o junta de vecinos. Seleccionando alternativas de mayor seguridad, cuando se podría haber optado por otros métodos más sencillos, que cumplen los requisitos del Club. 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: ● Proyectos Orgánicos – son relativamente pequeños, con proyectos software sencillos en los que el equipo tiene mucha experiencia y tienen pocos requisitos estrictos. ● Proyectos Medios – son intermedios (en tamaño y complejidad), proyecto software en los que no tienen la misma experiencia todos los miembros del equipo. Hay requisitos más y menos rígidos. ● Proyectos empotrados – son proyectos software que se deben desarrollar con unos requisitos hardware, software y de operación. En este caso el que mejor se adapta es el tipo es el proyecto mediado. Esta selección nos da los valores predeterminados de las fórmulas de cálculo de costes: Donde a=2.4 ; b= 1.12; c=2.5 y d=0.35; Ahora solo es necesario aplicar la fórmula del método de COCOMO. Si nos fijamos la única variable en la que se basa es en la estimación de los KLOC, las miles de líneas de código necesarias. Para un estimador novel siempre es más fácil pensar en líneas 48 referencia: http://es.wikipedia.org/wiki/COCOMO 65 Votaciones electrónicas de código que en tiempo de realización de tareas y subtareas. Para calcular el número de líneas totales a programar haremos un sistema de cálculo sencillo de las tareas o funcionalidades más importantes, y se estimará para cada una de ellas un valor de dificultad y líneas LOC realistas, mediante una fórmula se calculará los LOCS totales. 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. La App para móviles se va a realizar de forma específica para un único grupo de participantes, lo que simplifica el modelo de datos. La aplicación podrá ser personalizada para ellos tanto como se quiera a nivel corporativo. 4.1. Funcionalidades 4.1.1. Registrar Terminal Cada vez que un nuevo usuario se descarga la aplicación esta quedará registrada en el sistema de forma automática en la primera apertura. Durante este primer registro se almacenarán los datos necesarios para identificar al dispositivo y poderle enviar notificaciones. Este proceso necesita registrarlo en la plataforma “Google Cloud Messaging”, quien será la encargada de enviar los mensajes al terminal. Debido a las fuertes restricciones de seguridad en este primer instante, se solicitará al usuario una clave de votación secreta, almacenada localmente cifrada, para evitar el uso de terceros, frente el robo del dispositivo. En el mismo instante se que crea el registro se generará un par de claves asimétricas para la encriptación de 68 toda 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. Si finalmente el club quiere restringir el acceso a los usuarios de la aplicación, se podría implementar la opción que sin un número de socio válido no pueda terminar el proceso registro de terminal. Esto facilitará el control del censo real, no disponiendo de terminales registrados sin derecho a voto. 4.1.2. Datos del perfil El usuario podrá rellenar un perfil con datos básicos que ayuden a identificar su identidad, tales como número de socio, dni y otros datos personales que ayudarán al sistema de estadísticas como la edad, la ciudad y el sexo. En un futuro no muy lejano se podrán utilizar sistemas biométricos como medio de verificación. 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. 4.1.3. Gestión de las notificaciones Desde la configuración del perfil se podrá personalizar las opciones de notificación y las temáticas de interés. La notificación sólo se refiere al aviso acústico y sonoro al llegar la información al terminal, si el usuario decide abrir la aplicación podrá consultar las votaciones. Estas podrán ser editadas en cualquier instante, para poder elegir el grado de implicación con la herramienta de social. 4.1.4. Envío de nueva propuesta Una de las principales características es poder enviar esta propuesta para que se tenga en cuenta. Al iniciar una nueva propuesta deberá seleccionar entre 4 opciones de propuestas: 69 Votaciones electrónicas ● Propuesta texto,con respuesta si o no: Esta es la forma más informal, rápida y práctica de enviar un comentario o propuesta a la comunidad, de tal manera que sea sondeada por el sistema inteligente del que hablaremos extensamente. Si supera las fases iniciales de filtro llegará a la junta directiva para su evaluación. ● Propuesta foto, con respuesta si o no: Este tipo de propuesta es similar al anterior, pero permitirá añadir una fotografía que sea necesaria para poder tomar la decisión. No es un requisito de la asociación pero estará bien, como hemos visto es la opción más utilizada en otras herramientas como Vötter. ● 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 4.1.5. Recibir una notificación de sondeo Cuando el usuario recibe una notificación del sistema, provendrá de una petición de un socio o junta y se habrá seleccionado al usuario de forma aleatoria y anónima para contestar si le interesa y si las opciones de notificación así lo permitan. Esta notificación saldrá en la barra principal de android, situada arriba, tendrá una acción de avisar al usuario, podrá descartar o bien pulsar sobre ella para poder llegar directamente a la pantalla de votación donde podrá examinar la información; votar, denunciar como spam o marcharse. Recibir una notificación de sondeo, implica que el socio ha sido elegido por la propia red inteligente. 4.1.5.1. .Inteligent Netword Crowd Vemos en profundidad como es la funcionalidad de esta red inteligente: 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. Se implementará un sencillo algoritmo iterativo, que llamaremos Smart Social Routing que filtrará agrupaciones de personas con similar perfil, para poder elegir al azar un porcentaje de ellas según la muestra a sondear. 71 Votaciones electrónicas El resultado es una pequeña muestra independiente según el número de contestaciones. Pueden quedar descompensado, puesto que hay una diferencia entre las peticiones de sondeo enviadas y las que realmente contestan, el sistema tratará de balancear los perfiles que se seleccionaron y no contestaron. 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. El número de posibles respuestas es importante, pues influirá en el número mínimo de sondeos a enviar. Como hemos visto anteriormente en el ejemplo del dado, a mayor número de posibilidades, mayor es la probabilidad de que salga una u otra respuestas, así necesitaremos mayor número de la muestra para poder obtener un valor fiable. En las preguntas de Si/No, que es la más pequeña de todas tendremos una probabilidad de aleatoria de ¼. 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. El sistema intentará determinar cuál es la probabilidad de respuesta más aceptada con muestras pequeñas. 4.1.6. Smart Social Routing Para poder realizar el reparto del sondeo se utilizará el sistema Smart Social Routing, dónde de forma similar al proceso que sigue el Método Delphi 49 , que se basa en la opinión expertos sobre un tema, se opina por fases y las memorias son compartidas al grupo para retroalimentar el proceso. 49 http://es.wikipedia.org/wiki/Método_Delphi 73 Votaciones electrónicas Los puntos fuertes de ambos sistemas son el anonimato y las respuestas estadísticas, retroalimentar las propuestas de unos con otros. 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. Inicialmente conoceremos el número de socios totales; dado este y el número de sondeos que se quiera enviar en cada fase, se determinará un porcentaje igual de cada uno de los perfiles disponibles. Una vez filtrado cada grupo de los perfiles coincidentes se seleccionarán al azar los socios a notificar hasta llegar al número seleccionado. Para iniciar el proceso el primero se selecciona al azar. El siguiente se filtrará a todos los que ya tengan su mismo perfil y se volverá a repetir el proceso. En el caso que en alguna iteración no consiga filtrar a ninguno disponible se irán suprimiendo variables a filtrar, comenzando por el sexo. 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 FIN FASE 1: Al acabar cada tirada de 3 iteraciones de sondeos variables exponencialmente. Se toma la decisión de terminar el sondeo según los resultados obtenidos. Si los resultados no son suficientemente buenos, no hay un valor que sobresalga por encima de la media aleatoria esperada. Se pasará a la siguiente fase. Si en cualquier iteración se consigue llegar al 74% del total de socios consultados se terminará la votación. Si el % parcial de SPAM supera al 10% o al 1% del total se termina inmediatamente. Si entre las diferentes iteraciones de un nivel no varían los porcentajes, se terminará. Los parámetros podrán ser ajustados en la fase final de test de la aplicación. El procedimiento de las siguientes fases es exactamente igual. 4.1.7. Recibir una notificación de votación Las notificaciones de votación funcionan igual que una notificación de sondeo, la diferencia es que en este tipo de votación si voto, es un voto vinculante y se tendrá un comprobante de que se ha realizado la votación. La votación tendrá un plazo de finalización. Puede ocurrir que primero recibamos el sondeo y en breve la votación sobre la misma cuestión. Esto es parte del ciclo de vida de una notificación, donde inicialmente una muestra manifiesta una opinión que después deberá ser gratificada en forma de votaciòn universal. Visualmente las dos pantallas de votación son diferentes para no confundir y estas poseeran de unas opciones especiales de seguridad. 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 4.1.8. Listar propuestas abiertas Desde la aplicación, adicionalmente a los sondeos que se reciben mediante notificación, se podrá ver el estado de las propuestas enviadas ordenadas por popularidad y ver el estado de las mismas en todo momento. 4.1.9. Listar votaciones realizadas Existe la posibilidad de listar las votaciones realizadas por orden cronológico, con los datos estadísticos y el estado actual o final según el momento. En las votaciones no se podrá conocer los resultados globales hasta el cierre del plazo máximo, para dejar tiempo a la difusión del mismo. Una vez concluida la votación, cerrado el proceso de escrutinio y verificación de los votos, se podrá conocer de forma pública el resultado de los mismos. 4.1.10. Aceptar nuevo socio registrado La junta directiva tendrá que validar a los socios registrados para concederles derecho a sondeo y votación. 4.1.11. Actualizar parámetros del sistema Se podrán modificar los parámetros de sistema, para configurar los umbrales de decisión o poder cambiar a los miembros de la junta directiva. 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.13. Notificar Spam En todo tipo de votación podremos marcar una petición de spam por violar el código ético o los estatutos de la entidad, este tipo de notificaciones si tienen un peso determinado, detendrán la propuesta de su sondeo y quedarán anuladas. 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. Se tarda un tiempo desde la aparición de una tecnología, a obtener confianza en esta, independientemente de la seguridad real que ofrezca. Por ejemplo en España se tardó mucho tiempo en concienciar que las compras por internet eran segura. Estas compras eran más seguras que las compras habituales en comercios físicos, donde entregas tu tarjeta a un camarero, que se va a la barra a pasarla por el datáfono. No hace tantos años, los comprobantes de los tiquets de compra con tarjeta, que emitía el terminal de banco, que se firmaban para comprobar nuestra identidad, tenían todos los datos de nuestra tarjeta, número completo, nombre, fecha, etc. Tan solo con esa copia se podían hacer compras por internet. Se detectaron varias redes de duplicadoras de tarjetas de banda magnética, que tenían datáfonos fraudulentos que clonaban las tarjetas. Independientemente la sociedad, por un motivo u otro, consideraba seguro y habitual usar la tarjeta. Entregarla a cualquier desconocido en cualquier establecimiento sin dudar de que estaba frente a una situación de inseguridad. 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. Otro claro ejemplo entre; la diferencia de la seguridad y la percepción, concretamente en el sistema de votaciones electrónicas de Holanda. Fue pionera en la implantación de este sistema en las municipales del 2006, llegó a tener el 99% de los votos por algún medio de votación electrónico, la gente tenía percepción de seguridad, cuando años más tarde se demostró que había un fallo grave de fraude y se prohibió. Pero el 99% de la gente lo utilizaba y creía que era seguro. 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 4.2.1. Sistema de envío de claves 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. En el sistema propuesto, la aplicación de android está firmada garantizando que no está suplantada ni modificada. En la aplicación se ha incluido la llave pública del servidor encargado de recibir la información y gestionar los proceso de votación, así conseguimos eliminar los pasos de compartir claves iniciales y nos permitirán enviar cifrado, desde el momento inicial, todo mensaje enviado al sistema. Gracias a esto, podremos enviar de forma segura los datos de registro, nuestra clave pública cifrada y otros datos de carácter secreto. 81 Votaciones electrónicas Se detallan en la anterior figura el proceso de almacenamiento de un nuevo socio, este una vez instalada la aplicación en el dispositivo móvil se solicitará una contraseña privada al usuario, para vincular el usuario al dispositivo y acto seguido generará dos claves asimétricas mediante el algoritmo RSA. Utilizando la llave pública del servidor, se encripta la información y se envía junto con la firma digital al servidor y los datos de su perfil. 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 Para dotar de mayor seguridad a las votaciones, el sistema generará en orden aleatorio una tarjeta criptográfica anónima y una tarjeta de votación precifrada que enviará a cada socio. El mensaje de notificación que pasará por Google Cloud Messaging cifrado, al llegar al dispositivo de usuario, crea una conexión segura con el servidor y le envía el “ID Aleatorio” para que sepa que claves se le han asignado. El Servidor enviará las claves y la tarjeta de votación a la aplicación, con ellas sólo podrá realizar la votación específica. Con estas llaves se dota de anonimato seguro, ya que no están vinculadas de ninguna forma con el usuario. Este proceso es muy importante e imita a la impresión física de las tarjeta precifradas que se han utilizado en otros países. En el gráfico podemos ver 5 pasos de la comunicación: 1. El servidor asocia un par de claves a la tarjeta de votación. 2. Recupera el token de identificación del dispositivo 3. Envía una notificación a Google Cloud Messaging para que notifique al usuario que tiene una votación. 4. Google notifica en la barra de estado al dispositivo 5. Solicita las claves y los detalles de la votación 6. Recibe su tarjeta de votación y las claves. 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. 4.3.1. Impacto Medio ambiental El proyecto no tiene afectaciones directas al medio ambiente, pero indirectamente sí, ya que influye en los consumos eléctricos necesarios para el desarrollo de la aplicación y en los materiales utilizados como el papel utilizado. En el primer caso hemos conseguido un consumo de 0 emisiones de CO2, gracias a que la compañía suscrita en el domicilio donde se desarrolla la APP, tiene contratada la luz con la cooperativa de energía renovable SOM ENERGIA50 . Otro impacto ambiental importante, es el papel gastado, hasta el momento se ha intentado trabajar todo material digitalmente, tratando de enviar por correo y documentos editables en la nube los documentos, tanto para las correcciones como para los revisores. Si finalmente el tribunal quiere copia en papel este será impreso en hojas reciclables. 50 Somenergia.com 85 Votaciones electrónicas 4.3.2. Impacto Social 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 5.1. Mapa Conceptual En el podremos observar los elementos que intervienen y sus relaciones. Se hace hincapié en que el proceso de votación es secreto y no existe relación entre los votos y los votantes. Las tarjetas de votación son repartidas aleatoriamente y sólo queda constancia de a qué votante se le ha enviado una clave, pero no cual es dicha clave. Por lo tanto, no existe vinculación entre la clave y el votante, solo entre la clave y el dispositivo. 87 Votaciones electrónicas 5.2. Diagrama de Flujo 88 Votaciones electrónicas 5.3. Casos de uso Se presentan los casos de usos que hemos visto en análisis para dar una especificación formal antes de implementarlos. 89 Votaciones electrónicas 5.3.1. Datos del perfil 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. 5.3.2. Gestión de las notificaciones Descripción: Podrá activar y desactivar las notificaciones de su terminal. Actores: Socio y Junta Directiva. Pre-condición: Ninguna. Post-condición: Registrar en el sistema los cambios. 5.3.3. Registrar terminal Descripción: La aplicación el terminal se registra en el sistema. Actores: Socio y Junta Directiva. Pre-condición: Primer uso ó Revocación credencial. Post-condición: Generar Claves criptográficas de credencial. 90 Votaciones electrónicas 5.3.4. Generar credenciales Descripción: Genera credenciales en el terminal. Actores: Socio y Junta Directiva. Pre-condición: No tener credenciales. Post-condición: Generación llaves criptográficas de seguridad y envió de llave pública. 5.3.5. Envío de nueva propuesta Descripción: Rellenará el formulario de nueva propuesta y será enviada. Actores: Socio y Junta Directiva. Pre-condición: Está registrado y validado como socio. Post-condición: Se generará un nuevo sondeo. 5.3.6. Recibir una notificación de sondeo Descripción: El socio recibe una notificación del nuevo sondeo recibido. Actores: Socio. Pre-condición: Terminal registrado. Post-condición: Votar sondeo. 91 Votaciones electrónicas 5.3.7. Recibir una notificación de votación Descripción: Recepción de la notificación en el terminal del socio. Actores: Socio y Junta Directiva. Pre-condición: Terminal registrado y socio validado. Post-condición: Emitir voto. 5.3.8. Listar propuestas abiertas Descripción: Solicitar el listado propuestas activo. Actores: Socio y Junta Directiva. Pre-condición: Socio registrado y validado. Post-condición: Ver listado propuestas. 5.3.9. Listar votaciones realizadas Descripción: Solicitar listado de votaciones. Actores: Socio y Junta Directiva. Pre-condición: Socio registrado y validado. Post-condición: Ver listado votaciones. 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. 5.3.11. Notificar spam Descripción: Cualquier votación o sondeo podrá ser marcada como spam. Actores: Socio y Junta Directiva. Pre-condición: Votación o sondeo. Post-condición: Marcar como spam. 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 Las bases de datos pueden estar segmentadas en diferentes servidores internos, para dotar de mayor seguridad al conjunto, en el caso implementado, todas están bajo el mismo servidor. Disponemos de un añadido en seguridad; la utilización secreta de las claves públicas de los dispositivos conectados, las cuales quedan vinculadas al dispositivo al realizar el registro del terminal. El sistema de mensajería añade un nivel extra de seguridad, donde sólo por medio de este canal se puede enviar notificaciones de votación. En ese proceso se envía un clave aleatoria al terminal para proseguir con la votación este sería un sistema de doble verificación. 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 6.3. Diseño de Datos En este apartado vamos a ver en más detalle la base de datos utilizada. Para ello adjunto la figura correspondiente a la estructura de los datos. 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 6.4. Diseño de Pantallas En este apartado, a diferencia de apartados anteriores que se mostraba el flujo general de pantallas, se verá cómo se han diseñado las pantallas de usuario, las más importantes de ellas, y los estilos generales en las que son muy similares. 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. En el desarrollo de las pantallas se ha tenido en cuenta la usabilidad, y el reducido tamaño de las mismas de los dispositivos móviles. Por ello se ha intentado simplificar al máximo las opciones. Para la representación de las encuestas, se ha determinado realizar un sistema de gráficos visuales para poder ver las votaciones rápidamente. Se ha dispuesto de dos menús laterales para dar acceso rápido al menú principal y a las votaciones más populares. Estas barras funcionan con el sistema que más éxito está teniendo, como son el menú de Whatsap o Google+. Los botones generales, se han puesto de un tamaño bastante grande para poder utilizarlos con facilidad. También, se ha utilizado el contraste de colores con el fin de diferenciar las diferentes respuestas, pero siempre utilizando el mismo color, tipografía y tamaño para todas ellas, para no influenciar en la elección del votante. 98 Votaciones electrónicas 6.4.1. Menú laterales 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 6.4.2. Pantalla de resultados de votación Es una de las pantallas más destacables de toda la aplicación, se le ha querido dar un poco de color, con la gama cromática, en las porciones de los resultados. En la parte superior, se encuentran todos los datos sobre la encuesta realizada: - Respuestas recibidas junto al número de socios registrados. - Título de la propuesta - Estado - Descripción En la parte inferior, se encuentra el resultado final de las votaciones, representado en un gráfico circular, donde es fácil reconocer el resultado y los porcentajes de las respuestas obtenidas. 100 Votaciones electrónicas 6.4.3. Listado y Filtrado Gracias a la librería utilizada: Jquery Mobile, se pueden integrar listados y filtraje fácilmente. Donde se encuentra una lista scrollable y una barra de búsqueda, quedando como resuelto las búsquedas de propuestas o votaciones. También, se han elegido los botones para facilitar la comprensión de donde se debe hacer click. Método por el cual, pulsando sobre una propuesta se ampliará. 101 Votaciones electrónicas 6.4.4. Pantalla de envío de propuesta de un socio 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 6.4.5. Selección de Formulario Desplegable 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 6.4.6. Representación de las Firmas RSA Siguiendo en la línea de mostrar gráficamente los datos, se han implementado una representación en forma de código QR. Así se podría compartir en el caso que fuese necesario. Por ejemplo, en el caso de querer disponer de la aplicación en otros dispositivos, será necesario traspasar de forma privada entre los diferentes dispositivos y mediante el código será muy fácil y rápido. 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. 7.1. Convenios y Notación Antes de empezar con la implementación se establecieron unas reglas básicas de desarrollo, no es una metodología sino un convenio para la notación de los nombres de: ficheros, variables, tablas y campos. Para que fuera fácil, en cualquier fragmento de código, se reconoce mediante el nombre. Esta reglas son independientes del idioma, pues se ha utilizado tanto librerías españolas, inglesas como catalanas, así que, se basa por reglas de Mayúsculas/ Minúsculas. Según su aplicación: ● Nombres de Carpeta: Las carpetas como son un contenedor de ficheros comenzarán por mayúsculas e igualmente la separación de palabras es con mayúsculas. Ejemplo: ImagenesInterfaz. ● Nombres de Ficheros: Todo fichero debe comenzar con minúsculas y la separación entre palabras se realiza con una mayúscula. ● Variables Globales: Estas son escritas todas en mayúsculas y la separación de palabras es mediante un guión bajo. Ejemplo: RUTA_EXTERNA. ● Tablas Base de Datos: Igual que los nombres de carpeta primera letra en mayúscula. ● Campos Base de datos: Se trata igual forma que los Ficheros. ● Nombre de Funciones: Se comporta igual que los nombres de las Carpetas. ● Nombres de Variables: Se comporta igual que los nombres de Ficheros. 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: 7.2. Desarrollo Modelo Servidor Para la implementación de los componentes, clases y módulos del servidor, se ha utilizado la plataforma Aptana Studio, que permite trabajar de forma integrada, con todos las herramientas de HTML. 106 Votaciones electrónicas Los dos entornos elegidos, Aptana Studio anteriormente comentado y el ADT (Android Developer Tools) que se explica más adelante, tienen como base el motor Eclipse, pero ambos son paquetes especializados para una tarea específica. Lasa características principales son; la integración del control de versiones, el ftp y un debugger de php. Para el modelo, se ha implementado un ORM propio, para gestionar de forma eficiente las clases y no cargar ningún framework pesado. Para ello se utilizan dos scripts de generación de las clases que representan a la base de datos. 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 En la figura se muestra un ejemplo de la interfaz de generación de código, ha sido adaptada al entorno móvil y en la versión demo se ha mantenido para poder ejecutar los scripts desde la pantalla del móvil, lo que ofrece una gran comodidad. Figura : interfaz generación código El funcionamiento del motor de gestión de los datos, es sencillo, cada objeto representa a una tabla y tiene una variable por cada campo de ella. Adicionalmente, implementa una serie de métodos para verificar, guardar, modificar, eliminar, y consultar los datos. Los métodos más importantes son: ● Consultar(): Sobre un objeto vacío al cual se le setean los valores primaryKey de un registro existente en la base de datos, genera el código sql y la consulta necesaria para rellenar todos los campos de la tabla al objeto instanciado. ● 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. ● Modificar(): Dado un objeto que ya existía en la base datos, se puede generar la sql UPDATE, para modificar todos sus campos. ● Eliminar(): Genera el sql DELETE del objeto en cuestión, para su borrado. 108 Votaciones electrónicas ● Consultar Parcial(nombreCampo): Se pensó para hacer más eficiente la consulta, permitiendo solo cargar el campo seleccionado de un objeto. ● 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. A continuación un ejemplo del código generado: figura : cabecera de la clase Dispositivo 109 Votaciones electrónicas Adicionalmente, se observa también que existe un fichero de configuración llamado inicializador.php, que tiene por un lado, configuraciones propias de la estructura de carpetas, así como parámetros globales a compartir entre todo el sistema, como podrían ser: la PUBLIC_KEY_RSA y l PRIVATE_KEY_RSA entre otras, ó las rutas externas de servidor. 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. A continuación, un gráfico con la visión general del esquema de clases. Al motor generador de clases se le ha bautizado con el nombre de: MC2 “Model 2 Controller ” 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. 7.3. Desarrollo Vista Servidor El modelo de vista, está basado por el código HTML5 generado en servidor con una librería Javascript que permite 7.4. Libreria de Seguridad phpseclib51 Esta liberia licenciada bajo MIT licence. de autor con seudónimo Terrafrost, mantenida en la actualidad por más de 28 personas , con un flujo de colaboración muy grande desde 2007. Es una librería PHP que nos aporta, todas las clases necesarias para utilizar una amplia gama de funciones de hash y cifrado. 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 7.5. Desarrollo Modelo APP 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 Sobre el modelo en la aplicación móvil, este editor de código se basa en la creación de clases java. Se han desglosado según su funcionalidad y muchas de ellas es necesario que extiendan de clases especiales de Android, así que se deben de tener varias clases como: Interface, AsyncTasks o Handlers, para efectuar ciertas tareas. A diferencia de la parte de servidor, donde se utiliza poco código externo, en Java se utilizan infinidad de librerías propias o que proporciona Android, para todo tipo de tareas. 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 La librería para la seguridad está directamente bajo java.segurity. y java Crypto 114 Votaciones electrónicas La clase más determinante para el envío asíncrono de información desde la APP hasta el servidor central, es la PeticiónWeb, que contiene: 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. Básicamente toda la información está en el servidor, puesto que se envía y comprueba cada acción contra los datos reales, por ello, el modelo de datos en la APP es casi inexistente. Sólo se guardan los datos del perfil del usuario, en un fichero, dentro de la carpeta de la aplicación utilizando los métodos SharedPreferences() que ofrece Android. 7.6. Desarrollo Vista APP 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 La independencia entre Vista y controlador es total. Por ejemplo, para definir un evento de click sobre un botón debe de crearse el método dentro de la clase correspondiente. 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. 7.7. Desarrollo Controlador APP 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. Además, se han realizado pruebas de integración donde se verifican las conexiones de todos los componentes. Por ejemplo; que los mensajes PUSH del servidor llegan a Google Cloud Message, que la autentificación contra Google es correcta, que los terminales reciben la petición y esta se vincula correctamente con los datos recibidos lanzando la acción deseada. Para terminar, se han realizado algunas pruebas de resultados de muestreo mediante un pequeño grupo de voluntarios. El algoritmo, se ha intentado optimizar ajustando los parámetros de descarte de mensajes. Luego se podrán apreciar los resultados conseguidos. 8.1. Pruebas unitarias En primer lugar, al escribir cada clase o método, se realiza una prueba unitaria para ver que funciona, escribiendo un par de test de métodos genéricos y probándose su correcto funcionamiento como los datos de entrada y de salida correctos. Para ello, existen herramientas como Junit, pero no se ha utilizado. Durante estas pruebas, se detectan los primeros errores. Uno de ellos es que, al integrar con el sistema general, siempre ocurren nuevas excepciones las más comunes son las derivadas del formato de las peticiones entre las diferentes plataformas o los tipos de datos. 118 Votaciones electrónicas 8.2. Pruebas de comunicación Al tener que pasar las peticiones por medio de Google Cloud Messaging, han dado muchas restricciones para las pruebas, puesto que, es android quien genera el identificador único para el dispositivo y la aplicación, registrandolo también en sus servidores, devolviendo un hash único al que se le enviarán después las peticiones de votación. Esto ha imposibilitado las pruebas de mayor tamaño. Puesto que, el número de dispositivos registrado ha sido inferior al 10 dispositivos y las pruebas con ese muestreo eran insuficientes para determinar los parámetros. Así que, el sistema casi terminaba por preguntar al 100% de los dispositivos para terminar la votación. 8.3. Pruebas reales Visto el problema presentado en el apartado anterior, se realizaron pruebas aleatorias en scripts pero, al ser aleatorio y no tener datos de perfiles asociados, los resultados no han sido mucho mejores puesto que, la media de respuesta se mantiene y no determinan una tendencia clara. De esta manera se pasó a la última fase de pruebas, se compartió la aplicación entre algunos colaboradores para que realizaran preguntas y votaciones, el número actual asciende un poco más, hasta 15 dispositivos, y al ser personas diferentes los resultados mejoraron, pero la poca disponibilidad y tiempo de pruebas ha sido similar. Se podrá ver en las conclusiones más detalles. En la actualidad, se están añadiendo nuevos colaboradores, para las pruebas y ajustar el sistema. La plataforma funciona y consigue medir las votaciones correctamente, pero los umbrales del porcentaje de gente a consultar no están definidos con exactitud, serán necesarias más pruebas y con un mayor número de personas asociadas para terminar de ajustar. 8.4. Pruebas Futuras El próximo hito, en la fase de pruebas se realizará en los próximos meses, con la puesta en marcha oficial de la aplicación, en el Club Cima una consulta formal a todos sus socios y gracias a esto, se recogerán más informaciones y se podrán realizar más pruebas. 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. En cuanto al algoritmo de los sondeos, no ha conseguido buenos resultados para grupos reducidos (inferiores a 10 personas) y será necesario realizar más pruebas con un número mayor de usuarios, para poder ajustar y determinar si las hipótesis planteadas en un inicio son ciertas. Como el proceso de sondeo es totalmente transparente al usuario, se podrá lanzar al mercado la primera versión sin obstáculos. En ésta primera versión, el número de sondeos para conseguir resultados fiables, ha resultado ser más elevado de lo esperado. Ahora, terminan las 3 rondas de cada sondeo llegando a superar más del 75% de los socios consultados por el algoritmo Smart Rounting. En un inicio se plantearon cuatro objetivos principales, se detallan el estado cada uno de ellos: 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. 2. Satisfacer los requisitos de un proyecto de votación global en una administración pública, donde las medidas de seguridad se extreman hasta el último detalle. Estas medidas han sido estudiadas y se han buscado todos los puntos débiles que existen en la actualidad, con las últimas vulnerabilidades de los sistemas tecnológicos y las herramientas criptográficas. Se ha modelado teniéndose en cuenta, pero no se han implementado en su totalidad. Por los siguientes motivos: por complejidad de uso por parte de la junta del Club y por falta de tiempo a implementar algún sistema adicional de seguridad. Detallamos un resumen de los sistemas propuestos: 120 Votaciones electrónicas ○ Capa física: Datos guardados en la memória interna del Dispositivo cifrado. El servidor puede tener el gestor de ficheros cifrado. ○ Capa de transporte: toda comunicación va encapsulada mediante el protocolo seguro SSL. ○ Capa de aplicación: ■ Seguridad por secreto de llave pública. ■ Aplicación Android firmada por el autor, evita modificación de la APP cliente. ■ Cifrado mediante clave pública RSA toda comunicación. ■ Firma de los datos más importantes para identificar al socio y al servidor central, previene de la suplantación. ■ Generación de un par de claves por cada sondeo vinculadas a cada tarjeta de votación. ■ Generación de Tarjeta de votación. El valor que viaja por la red no es el valor real votado, sino un valor generado aleatoriamente para cada votante y cifrado por una clave especial para cada sondeo. Hace muy difícil aún interceptando la comunicación saber qué vota cada persona. ■ Independencia en la base de datos entre los datos de socios y el de Votaciones. ■ Contraseña personal de usuario. Hablar de seguridad 100%, como se ha visto en la memoria, es bastante complejo, todo sistema tiene una arquitectura y diversos puntos débiles. Por ello, es necesario una actualización constante para implantar la nueva tecnología. La tendencia mundial es implantar más seguridad, y dar validez legal a los sistemas de votación remoto, España está en camino, en las últimas votaciones europeas, en el mes de Mayo 2014, disponían de mesas digitales de votación en algunos colegios de Barcelona. El nuevo DNI electrónico, con tecnología de contacto, permitirá aumentar su utilización gracias a su facilidad de uso, este hecho junto con las nuevas tecnologías de identificación biométricas permitirán la vinculación directa entre dispositivos y personas con una fiabilidad, seguridad y confianza nunca antes vista. 121 Votaciones electrónicas Todo el sistema financiero está informatizado y nadie sufre por su dinero. Como hemos visto la confianza social es un concepto abstracto. Se deberá fomentar e impulsar la formación e información a la ciudadanía sobre los sistemas tecnológicos,de seguridad y de votación para fomentar su uso y aumentar su confianza. Sobre la normativa, se explicaban en la memoria las Iniciativas Populares Legislativas (IPL), pero existe una alternativa legal más óptima a nivel de Administración Local. Los departamentos de participación ciudadana tienen la potestad de implementar mecanismos para fomentar la participación y administrar sistemas de votaciones asamblearias para la propuesta de proyectos o mejoras. Un ejemplo, son las “Assamblees Municipals Obertes”52 (AMO) del municipio de Vilanova i la Geltrú, donde cualquier ciudadano puede presentar una propuesta en dicha asamblea y será votada por la comisión formada. Esto permite la entrega formal, fácil, rápida y directa de proponer y enviar mejoras a estas asambleas. Esta solución suprime la barrera de un mínimo de firmas para poder llevar a cabo la iniciativa, recordando que eran 50.000 en Cataluña, esta nueva vía permite acortar el tiempo de aprobación a varios meses. Como inconveniente, depende totalmente de la Administración Local y aún no está muy extendido, puede haber diversidad de métodos, plazos y criterios en cada ayuntamiento. 3. Demostrar el concepto abstracto definido como Intelligent Network Crowd, donde la inteligencia del grupo resuelve fácilmente las problemáticas. Se han visto numerosos estudios de los requisitos que deben cumplirse para que eso ocurra, entre ellos, destaca lo comprometido que esté el grupo frente a una temática, que todo miembro se sienta integrado, consciente del resto y juntos promover el progreso. Se espera que en el seno del Club Excursionista Cima, sí pueda demostrarse. En un entorno de pruebas, no se cumplen los requisitos de unidad, compromiso y consciencia para poderse verificar. 4. Realizar la aplicación de envío de fotografías geolocalizadas para la Federación de Entidades Excursionista de Catalunya. Inicialmente iba a ser un 52 http://www.vilanova.cat/doc/doc_61658257_1.pdf 122 Votaciones electrónicas apartado de la aplicación general, puesto que es un servicio complementario a los socios de Cima, pero finalmente ha quedado propuesta para después de la presentación del proyecto. Repasados todos los objetivos iniciales, pasamos a las reflexiones y experiencias personales, donde todas las personas involucradas en el proyecto ven, con ojos de esperanza, una aplicación aparentemente sencilla, que puede cambiar el día a día de muchas entidades y colectivos. Curiosamente, todos los partícipes tienen relación o pertenecen a algún tipo de asociación, desde patinaje, clubs deportivos, excursiones o entidades para la mejora de las personas en situación de pobreza, lo cual, lo hace un proyecto social muy enriquecedor. La mayoría se han interesado por utilizar la aplicación una vez publicada. Actualmente, la aplicación solo gestiona un grupo, así que si diferentes entidades o grupos quieren utilizar la aplicación se debería de crear una nueva APP, personalizarla y publicarla en el Google Play Store por separado. La necesidad de una herramienta de estas características es clara, su facilidad de uso, confianza y seguridad harán que sea utilizada por la sociedad. Ahora faltará ver la mejor manera de que la gente pueda crear sus propios grupos privados o no, en vez de tener una aplicación distinta para cada grupo. Una vez realizado el estudio de investigación, en mi opinión, después de ver la evolución de las votaciones electrónicas en otros países, escuchar a tecnócratas y visionarios hablar sobre nuevos paradigmas sociales, me doy cuenta que vivimos en un mundo infoxicado, donde es imposible encontrar algo por muy cerca tuyo que esté. Después de leer decenas de artículos, visitar cientos de páginas sobre votaciones, administraciones y gobierno abierto, existe un departamento en el Ayuntamiento de Barcelona que se dedica exactamente a eso. Han lanzado una aplicación que son pocas las personas que la conocen, con menos de 100 descargas, donde sólo se puede mandar una opinión. Son muchas las ideas similares que existen que simultáneamente se ejecutan, que es casi imposible encontrarlas. El objetivo de Arpanet, una pequeña red para compartir conocimiento entre universidades ha quedado desbordada y ahora es prácticamente imposible discernir entre información relevante e información desactualizada o poco fiable. La sociedad ha olvidado cuestionar la procedencia de la información y se deja arrastrar 123 Votaciones electrónicas por mitos, publicidades y comentarios anónimos de internet comprados por indústrias que les interesa difundir su cultura. Nos encontramos en un estado entre el caos y la incertidumbre informativa. Las personas ya no saben que creer, pues la opiniones dispares sobre temas importantes, las estadísticas maquilladas por unos y otros, hacen que confiar se convierta en un acto de fe y no de demostraciones científicas y de rigor. Como diría Castells, estamos en una época de cambio hacia la transparencia y la apertura, pero es sin duda una transición complicada, la tecnología nos da el poder y ahora debemos aprender a controlarla. Viendo el mapa mundi donde están aplicando el voto electrónico, es un futuro cercano que llegará a España, en función de la implementación elegida triunfará o fracasará, pero no podemos controlar quienes o como implantarán ese proceso, tenemos muy buenos expertos sobre esa temática en España, y empresas muy potentes como Syctel, que han participado en votaciones en otros países. La pregunta es ¿Quién y cómo decidirá cuál de los sistemas es mejor empezar a utilizar? ¿Cuándo y de qué manera? ¿Usar un sistema probado en otros países o probar un sistema nuevo? De igual forma que un ciudadano corriente no tiene la capacidad de saber si un sistema funciona o no, verdaderamente como sabemos si un político puede elegir que sistema de votación utilizar por primera vez. ¿Y si no tiene la formación técnica para decidir? Desde nuestra posición solo podemos estudiar, analizar y proponer soluciones viables para que algún día sirvan de referente. Ahora estamos preparados, disponemos de la tecnología necesaria, la sociedad está cambiando y la crisis de valores actual empuja con fuerza para que la sociedad sea el nuevo motor de los cambios. Solo es necesario comprender que somos un conjunto unido, que formamos parte de un todo y que únicamente juntos, sin egoísmos, sin discriminaciones, con transparencia y colaboración podremos afrontar los nuevos retos, aquellos que nos deparará el futuro. Esperamos que con herramientas similares a la propuesta hoy podamos hacer de éste un mundo mejor, más abierto y colaborativo. 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 - Moravec 2008, concepto de escuela 3.0. http://www.monografias.com/trabajos71/asomo-educacion-web/asomo-educacion-web2.shtml - Manuel Castells, año 2009, tematica: “estado red” http://www.digitalismo.com/la-nueva-politica-segun-manuel-castells/ - 2011 diciembre. Alvaro Ramirez Alújar, temática OPEN: Transparencia, Apertura, Participación, Colaboración http://www2.congreso.gob.pe/sicr/cendocbib/con3_uibd.nsf/E4F52A1801B63A4C052579A0007454 6E/$FILE/DIRECTORIO_APCI.pdf - 2012 Don TapsCott -> OPEN WORLD JUNIO 2012 ponencia http://www.ted.com/talks/don_tapscott_four_principles_for_the_open_world_1 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 Ejemplo de analisis de Gobierno abierto en Barcelona: http://www.uoc.edu/in3/pic/esp/pdf/PIC_Ajuntament_esp.pdf [Consultado 03/05/14] http://www.uoc.edu/in3/pic/esp/index.html [Consultado 03/05/14] Seguridad 3G http://www.isti.tu-berlin.de/fileadmin/fg214/Papers/UMTSprivacy.pdf [Consultado 19/09/13] Video de hack redes: http://www.elladodelmal.com/2011/11/nuevo-libro-de-hacking-y-seguridad-en.html [Consultado 19/10/13] Redes de políticas públicas: http://revista-redes.rediris.es/webredes/textos/Complex.pdf [Consultado 26 /11/13] Manifiesto de Croud: http://www.laboratoriodetendencias.com/ [Consultado 03/10/13] Teoría de los 6 grados: http://ociointeligente.wordpress.com/tag/poblacion-humana/ [Consultado 06/10/13] Imagen: red de caos y minería de datos: http://rtdibermatica.com/?p=401 [Consultado 04/11/13] Imagen twitter siestames expertos: http://rtdibermatica.com/wp-content/uploads/2011/10/figura6.jpg [Consultado 15/10/13] Manifiesto de crown: http://hilocultura.wordpress.com/2013/04/09/inteligencia-colectiva-y-manifiesto-crowd/ [Consultado 15/10/13] Teoría del límite central: http://es.wikipedia.org/wiki/Teorema_del_l%C3%ADmite_central [Consultado 16/10/13] Pruebas de estadísticas: http://www.esferatic.com/wp-content/uploads/leygrandesnum.pdf [Consultado 25/10/13] 126 Votaciones electrónicas Experimento de bolas de billar y distancias: http://iescastelar.juntaextremadura.net/web/departamentos/matematicas/matematicasccss2ba/mat ematicas2ccss/ttcentrallimitean1.htm?veces=10 [Consultado 25/10/13] 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] Declaracion de malmö 2009: https://ec.europa.eu/digital-agenda/sites/digital-agenda/files/ministerial-declaration-on-egovernme nt-malmo.pdf [Consultado 03/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] Sociedad de la información España Fundación telefónica 2013: http://www.fundacion.telefonica.com/es/arte_cultura/publicaciones/sie/sie2013.htm [Consultado 15/11/13] Estudio marketing 2013 tecnologías: http://www.iabspain.net/wp-content/uploads/downloads/2013/09/V_Estudio_Mobile_Marketing_ver sion_corta.pdf [Consultado 20/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 2003 Evolución telefonía: http://www.ine.es/daco/daco42/sociales/ciencia_tecno.pdf [Consultado 02/11/13] Evolucion datos viviendas 2004-2011: www.ine.es/jaxi/menu.do?type=pcaxis&path=/t25/p450/a2011&file=pcaxis [Consultado 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] Evolución líneas móviles vendidas 1990 -2013: http://www.ontsi.red.es/ontsi/es/indicador/evoluci%C3%B3n-del-n%C3%BAmero-de-clientes-de-tel efon%C3%ADa-m%C3%B3vil-en-espa%C3%B1a [Consultado 02/11/13] ● Evolución en españa líneas móviles: http://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil_en_Espa%C3%B1a [Consultado 05/11/13] Pérez Yuste, Antonio (septiembre de 2002). El proceso de implantación de la telefonía móvil en España. Consultado el 01 de septiembre de 2009: http://ec.europa.eu/digital-agenda/en/european-egovernment-action-plan-2011-2015 [Consultado 05/11/13] El primer número de abonados de móviles en españa: - Evolución linas 1987 a 1994 y 1994 a 2001-> http://www.euitt.upm.es/estaticos/catedra-coitt/web_socioeconomica/articulos/procesoimplantacio ntelefoniamovil.pdf [Consultado 10/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] Anual datos de telefonica: http://www.telefonica.com/es/about_telefonica/html/publicaciones/informe_anual_1995.shtml [Consultado 14/11/13] Datos lineas fijas 1950-1987 http://www.telefonica.com/es/about_telefonica/pdf/informes/1968/1968_variables_cifras_significati vas.pdf [Consultado 14/11/13] Informes anuales telefonocoa: http://www.telefonica.com/es/about_telefonica/html/publicaciones/historico_informes_anuales.sht ml [Consultado 14/11/13] Demografia espñana, años no visbles: http://www.educaplus.org/geografia/mun_piramides.html [Consultado 15/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. García España, Eduardo. «Imputaciones de población en la primera mitad del siglo XIX» (en español). http://www.ine.es/revistas/fuentes/Numero50/paginas/12-14.htm [Consultado 16/11/13] Consultado el 06/03/2007 de 2007 http://www.ine.es/ [Consultado 16/11/13] «El siglo XIX y la revolución liberal» (en español). http://club.telepolis.com/geografo/regional/espa/revli.htm [Consultado 18/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 Comisión Nacional de los Mercados y la Competencia -> CNMDATA http://cmtdata.cmt.es/cmtdata/jsp/inf_anual.jsp?tipo=1 [Consultado 19/11/13] Informes CMT: comisión del mercado de las telecomunicaciones 1998-2013 http://informecmt.cmt.es/informes-anteriores [Consultado 21/11/13] 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] 10.3. Imagenes utilizadas https://diuf.unifr.ch/main/is/research/edemocracy-egovernment [Consultado 09/10/13] Imagen de colaborative e-democracy: http://commons.wikimedia.org/wiki/File:Collaborative_E-democracy2.jpg [Consultado 18/10/13] 10 ideas de govierno abierto: http://www.ogov.eu/10-ideas-para-hacer-tu-ayuntamiento-abierto/ [Consultado 21/10/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] Imágenes del Gobierno abierto: http://www.opengovpartnership.org/es/acerca-de/declaraci%C3%B3n-de-gobierno-abierto [Consultado 28/12/13] Imagen de e-colaborative http://commons.wikimedia.org/wiki/File:Collaborative_E-democracy2.jpg [Consultado 29/12/13] Imagen: Android mejor sistema más rápido se extiende. http://tabletzona.es/2013/11/06/android-es-seguramente-el-producto-que-mas-rapido-ha-crecido-e n-la-historia-de-la-tecnologia/ [Consultado 30/12/13] Evolución líneas móviles [Consultado 12/01/14] http://www.ontsi.red.es/ontsi/es/indicador/evoluci%C3%B3n-del-n%C3%BAmero-de-clientes-de-tel efon%C3%ADa-m%C3%B3vil-en-espa%C3%B1a Resumen de historia general: [Consultado 15/01/14] http://www.coit.es/foro/pub/ficheros/evolucion_de_las_tecnologias_comunicacion_d80bbc52.pdf Historia de Google.com [Consultado 20/01/14] http://www.google.es/intl/es/about/company/history/ Imagen de inteligencia Colectiva Nodos numerados: [Consultado 26/02/14] http://www.elartedepresentar.com/wp-content/uploads/2011/05/249-backchannel.jpg Grafo red social [Consultado 26/02/14] http://penagos.net/?p=993 Imagenes resumen de Movil APP : [Consultado 15/03/14] http://ipadstatic.com/2013/04/apps-smartphone.jpg Imagen: red personas: [Consultado 20/03/14] https://www.benco.com/careers/images/talent_network-01.png 131 Votaciones electrónicas 10.4. FUENTE RADLEY Copyright (c) 2011 by vernon adams ([email protected]), with Reserved Font Names "Radley" & "Radley Italic" This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10.5. Diseño del logotipo El diseño del logotipo lo ha llevado a cabo; Gisela Barrios Mases, estudiante de 3º de Publicidad y relaciones públicas en la Universitat de Girona. También finalista del desafío DEGEM en simulación de empresas en el año 2009 y diseñadora del logotipo del 3x3 del CB calaf en 2011. 132 Votaciones electrónicas 11. ANEXOS 12.1.Convenio de colaboración Club Excrusionista Cima 133 Votaciones electrónicas 12.2. Sobrante de Papeletas en barceona, Cortesl generales 2008 134 Votaciones electrónicas 135