lunes, 23 de mayo de 2011

Acerca de voto electrónico en Perú

Tras la aprobación del voto electrónico por el Congreso peruano, este tema está dando mucho que hablar, pero veo opiniones de diversos sectores que a mi criterio personal no ven el tema completo sino sólo parcial ya veces poco informados.
Para empezar creo que se debería aclarar que no es sólo un tema técnico, el voto electrónico no es sólo conectividad y equipos informáticos, sino que es en realidad un proceso, el corazón que no se ha tocado es que se está hablando del proceso electoral en sí.
Como todo proceso se debe analizar y tratar como tal, incluyendo sus sub procesos y la infraestructura y herramientas de apoyo a este.

EL tema de seguridad es clave, pero se trata de un proceso se debe tratar como tal y por ello una excelente herramienta es la ISO / IEC 27001:2005.

Sobre el tema de seguridad se ha hablado de hackers, modificación de información, manipuleo de resultados, auditoría de software, etc. Sin embargo habría que ver desde el punto de vista de Integridad, disponibilidad y confidencialidad de la información relacionada al proceso electoral.

El tema de los asociados (miembros de mesa, auditores, evaluadores, personeros, etc) debería tener como base los controles del anexo A.8 “seguridad de recursos humanos” donde se toca el tema y sus controles.

El tema de donde estarán ubicados los módulos y medidas de seguridad mínimas tanto en los locales de votación como en el centro de procesamiento principal son tocados por A.9 “Seguridad física y ambiental”
El tema de acceso por A.11 “Control de acceso”

El tema del software por A12 “Adquisición, desarrollo y mantenimiento de información”

Pero también hay que tener en cuenta el A.13 sobre gestión de incidentes, A14 sobre continuidad del negocio, etc En fin se debe en base al alcance del sistema de gestión de seguridad de la información que se señale, se deberían evaluar los controles asociados del Anexo A de la norma y con ello sería suficiente para garantizar y dar confianza a los peruanos que el proceso de elecciones esta apropiadamente cuidado.
otro lado, esto significa la certificación en 27001 del sistema de gestión asociado al proceso o procesos apropiados dentro del proceso electoral.

También debo señalar que me parece desafortunadas algunas afirmaciones sobre la efectividad del llamado “voto electrónico” y aquí habría mucho que comentar, pero para muestra un botón: Se dice que dado que es más eficiente, habrá ahorro en tiempo en costes (no se utilizara mucho papel) y tiempo (los equipos son más rápidos), en que quisiera hacer con usted amigo lector un breve ejercicio Tomando como ejemplo las pasadas elecciones municipales, el horario de votación ha sido de 08:00 a 4pm donde el tiempo para votar son 8 horas (si asumimos que llegan a tiempo todos los miembros de mesa y se inicia a tiempo la votación, también asumimos que el presidente de mesa estará las 8 horas fijo allí, no ira al baño, no comer, sólo se dedicara a ejercer su función).
8 horas, si multiplicamos por 60 minutos ya su vez por 60 segundos, tenemos un total de 28.800 según ininterrumpida. Según he oído y leído se puede tener hasta 4 módulos de votación por mesa con un número de entre 300 y 600 votantes por módulo, lo que al multiplicar por 4 da una cifra de entre 1200 y 2400 votantes por mesa, ahora tomando en cuenta que se mantiene el esquema de miembros de mesa y que se atiende un votante por turno (aunque haya 4 módulos se atiende uno por uno y se le asigna un módulo de votación diferente), tenemos que si son 300 por módulo, al dividir el total de segundos 28800 entre número de votantes (300 x 4 módulos = 1200 votantes) esto nos da un tiempo de 24 segundos por votante, es decir sólo 24 segundos para acercarse a la mesa de votación, ser identificado, votar, mojar el dedo en tinta indeleble y recibir su DNI para retirarse.
24 segundos viable? las mesas están operativas desde las 8 am a punto? los votantes estarán desde el primer segundo? no esperarán la última hora

Eso si asumimos 300 votantes por módulo, si pensamos en 600 el tiempo para votante se reduciría a 12 segundos. Como ven no se ha tomado en cuenta que si debe haber una reingeniería en el proceso (o no se ha comunicado correctamente), sería más viable que 4 miembros de mesa atiendan en paralelo a los votantes, pero eso les da sólo 96 segundos para votante (28800/300) atendidos en paralelo por 4 miembros de mesa (uno por módulo de votación)

Es fácil hacer las pruebas sin carga, pero se imaginan al implementar esto ? la verdad es que creo que esta siendo mal enfocado el tema, la oportunidad existe y es excelente, pero no se está planteando o informando bien (o en verdad el proceso en sí está mal dimensionado).
Otra cosa que me sorprende es el cómo se enviara la fecha en el centro de procesamiento, que dice que sólo hay vulnerabilidad por internet? hay más formas de hacer trampa, el tema no me parece que sea técnico, sino de enfoque.
Por ejemplo (este sería mi planteamiento):
El equipo de votación sería una isla sin conexión de ningún tipo (una piedrecita, hoja hardening) sólo tendría el software electoral, cada persona vota y sale, al terminar la votación, se genera un fichero con un hash (no necesita estar cifrado, pero si escrito de forma aleatoria), entonces el equipo permite copiar el archivo en un medio externo (cd, usb, memory stick, etc) el archivo y su hash, y este archivo de texto simple es grabado por el presidente de mesa quien tendría una copia, los personeros tendrían una copia del mismo archivo con el mismo hash y con ello el presidente de mesa se va a una cabina y lo sube vía web a la ONPE, al subir el archivo en la web debe mostrar el hash del archivo subido para asegurar que el archivo es el que se envió, el presidente de mesa verifica el hash e incluso podría ver el contenido cargado (es un archivo de texto simple).
Esto también podría tener algún tipo de verificación (cifrado, equipos dedicados a ello, tockens RSA o cualquier otro método que se quiera).

¿Cuál es mi punto en este aspecto? si el presidente de mesa sube el archivo y verifica el hash, los personeros pueden entrar a consultar y verificar si el hash coincide (ellos tienen una copia) creo que hay una diferencia entre invertir en un sistema super seguro que no es práctico de demostrar que las cosas simples pueden hacer no invulnerables los sistemas, pero si poco práctico el intento de romper.
Si entre el momento de cerrar la votación y el envío de información a ONPE hay sólo unos minutos, éste sería el único punto débil para un atacante o un interesado en hacer fraude.
claro esta que existe pharming, man in the middle y otras técnicas, pero también hay medidas para contrarrestar, en una eventual implementación de esta idea podría expandirse más porque ya me está saliendo bastante largo este post : p

Sobre el software, creo que debería ser muy simple, de código abierto (software libre por supuesto) y bien documentado y con el código comentado, de esta manera cualquiera podría no sólo revisarlo , entender sino también compilar y ejecutarlo, con ello se sacarían el clavo de si funciona o no o si es o no lo que dice ser.
Otra ventaja es que los partidos políticos podrían tener el mismo sistema (porque el código sería público) y podrían sus personeros enviar la misma información que el presidente de mesa se envía ONPE (Recuerde que tendrían una copia del archivo y el hash), así podrían hacer su propio compilación de datos y recuento, así como los proveedores internacionales y en fin colectivos sociales o cualquiera que quisiera hacer el recuento, teniendo todos la misma información el resultado debería ser lo mismo:)
Me olvidaba, teniendo todo el poder de la tecnología no se les ha ocurrido hacer la interfaz de votación multimedia? todo está escrito en esta pantalla y los que lo han evaluado la han leído sin problemas, pero y que pasa con las personas analfabetas? que pasa con los quechua hablantes? que pasa con los otros dialectos peruanos? deben pulsar la pantalla y esperar un milagro? que tan complicado es ponerle unos audífonos y una interfaz con vídeos explicativos?
Me molesta que con tanto que se puede hacer no se haya pensado en algo mejor que lo que han presentado:
En fin, lo que he intentado es mostrar que no es un tema simple o técnico, sino que es un proceso complejo, pero tampoco es el gran monstruo, se puede llevar a cabo si se tiene una visión global apropiada, es en este marco en el que la “Gestión de servicios TI” encaja perfectamente y como parte de de esta gestión tenemos la gestión de seguridad de la información, continuidad de negocios, gestión de incidentes y otros elementos necesarios para un proceso exitoso con la TI alineada y asegurada de manera efectiva y eficiente.
marcos nos ayudan en esto? Pues Empecemos por ISO / IEC 20000 (en Perú NTP-ISO/IEC 20.000), ISO / IEC 27001 (en Perú NTP-ISO/IEC 27001), BS25999, COBIT, ITIL V3 , entre otros.

No hay comentarios: