lunes, 18 de octubre de 2010

Voto electrónico en Perú

Tras la aprobación del voto electrónico por el congreso peruano, este tema esta dando mucho que hablar, sin embargo veo opiniones de diversos sectores que a mi criterio personal no ven el tema completo sino solo parcial y a veces poco informados.

Para comenzar creo que se debería aclarar que no es solo un tema técnico, el voto electrónico no es solo conectividad y equipos informáticos, sino que es en realidad un proceso, el corazón que no se ha tocado es que se esta hablando del proceso electoral en si.

Como todo proceso debe analizarse y tratarse como tal, incluyendo sus sub procesos y la infraestructura y herramientas de soporte al mismo.

EL tema de seguridad es clave, sin embargo al tratarse de un proceso se debe tratar como tal y para esto 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, auditoria del software, etc. Sin embargo se debería ver desde el punto de vista de Integridad, disponibilidad y confidencialidad de la información relacionada al proceso electoral.

Empezando por definir el sistema de gestión y todo lo que involucra (análisis de riesgos, responsabilidades, identificación de activos, personal cualificado, gestión de incidentes, auditoria, etc) y para brindar la confianza necesaria, basado en la política y el sistema de gestión implementar los controles del Anexo A del Estandar, así por ejemplo :

El tema de personal asociado (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 el A.9 "Seguridad física y ambiental"

El tema de acceso por el A.11 "Control de acceso"

El tema del software por el A12 "Adquisición, desarrollo y mantenimiento de información"

Pero también se debe tomar 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 eso seria suficiente para garantizar y dar confianza a los peruanos de que el proceso de elecciones esta apropiadamente cuidado.

Sin embargo 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 toda vez que es mas eficiente, habrá ahorro en tiempo en costos (no se utilizara mucho papel) y tiempos (los equipos son mas rápidos), en esto quisiera hacer con usted amigo lector un breve ejercicio

Tomando como ejemplo las pasadas elecciones municipales, el horario de votación ha sido de 8am 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 almorzara, solo se dedicara a ejercer su función).
8 horas, si multiplicamos por 60 minutos y a su vez por 60 segundos, tenemos un total de 28800 segundos initerrumpidos.
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 cual al multiplicarlo 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 modulo de votación diferente), tenemos que si son 300 por modulo, al dividir el total de segundos 28800 entre numero de votantes (300 x 4 módulos = 1200 votantes) esto nos da un tiempo de 24 segundos por votante, es decir solo 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 en punto? los votantes estarán desde el primer segundo? no esperaran la ultima hora?

Eso si asumimos 300 votantes por módulo, si pensamos en 600el tiempo por 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), seria mas viable que 4 miembros de mesa atiendan en paralelo a los votantes, sin embargo eso les da solo 96 segundos por votante (28800 / 300) atendidos en paralelo por 4 miembros de mesa (uno por modulo de votación)
Es facil 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 esta planteando o informando bien (o en verdad el proceso en si esta mal dimensionado).

Otra cosa que me sorprende es el como se enviara la data al centro de procesamiento, quien dice que solo hay vulnerabilidad por internet? hay mas formas de hacer trampa, el tema no me parece que sea técnico, sino de enfoque.

Por ejemplo(este seria mi planteamiento) :
El equipo de votación seria una isla sin conectividad de ningún tipo (una piedrita, full hardening) solo tendría el software electoral, cada persona vota y sale, al terminar la votación, se genera un archivo 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 eso el presidente de mesa se va a una cabina y lo sube via web a la ONPE, al subir el archivo el 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 para esto, tockens RSA o cualquier otro método que se quiera).
Cual 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 practico que demostrar que las cosas simples pueden hacer no invulnerables los sistemas, pero si impráctico el intento de romper.
Si entre el momento de cerrar la votación y el envió de información a ONPE hay solo unos minutos, ese seria el único punto flaco 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 existen medidas para contrarrestarlos, en una eventual implementación de esta idea podría expandirme mas porque ya me esta 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 solo revisarlo, entenderlo sino también compilarlo y ejecutarlo, con esto se sacarían el clavo de si funciona o no o si es o no el que dice ser.
Otra ventaja es que los partidos políticos podrían tener el mismo sistema (porque el código seria publico) y podrían sus personeros enviarles la misma información que el presidente de mesa envía a ONPE (Recuerden que tendrían una copia del archivo y el hash), así podrían hacer su propio compilación de datos y conteo, también los veedores internacionales y en fin colectivos sociales o cualquiera que quisiera hacer el conteo, teniendo todos la misma información el resultado debería ser el mismo :)

Me olvidaba, teniendo todo el poder de la tecnología no se les ha ocurrido hacer la interface de votación multimedia? todo esta escrito en esa pantalla y los que lo han evaluado lo 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? tienen que apretar la pantalla y esperar un milagro? que tan complicado es ponerle unos audífonos y una interface con videos 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 demás elementos necesarios para un proceso exitoso con la TI alineada y asegurada de manera efectiva y eficiente.

Que marcos nos ayudan en esto?
Pues Empecemos por ISO/IEC 20000 (en Perú NTP-ISO/IEC 20000), ISO/IEC 27001 (en Perú NTP-ISO/IEC 27001), BS25999, COBIT, ITIL V3, entre otras.

Debo señalar que esta es una opinión personal, independiente y con el fin de aportar al debate.



sábado, 9 de octubre de 2010

Personas y servicios TI?

En la actualidad nos encontramos en un entorno cambiante, la necesidad de gestionar apropiadamente la información ha generado no solo nuevos negocios sino nuevas necesidades.
TI se ha convertido en un elemento crítico y vital para la competitividad en las empresas, la necesidad de nuevas y mejores formas de organizar la información, acceder a ella, mostrar, resguardar, procesar, etc ha generado el nacimiento de nuevos y mas efectivos servicios que aporten valor y soporten los procesos del negocio.

En este punto quiero dejar una primera premisa de este post:
Servicios TI -> necesarios para los procesos de la empresa u organización.

Sin embargo en muchos entornos donde se exige el 100% de los servicios TI, no se evalúan correctamente las inversiones, por alguna razón se tiene en muy poca estima para la empresa la infraestructura TI.

Un indicador de esto puede ser cual es la ubicación del área TI?
Digamos que la respuesta correcta seria, en el lugar mas apropiado y que cuente con todos los elementos para que tanto el personal como los equipos realicen sus funciones de la manera mas efectiva y eficiente.

Pero en mi experiencia, diría que el área ..... podría decir que esta muy en alta estima o muy sobre protegida, me explico:

Muy en alta estima : El área TI es tan elevada que la ponen en el techo, si cuantas empresas tienen su área de TI en el techo del edificio? un espacio donde no estorbe?
Esto no significa que no haya inversión, de hecho he visto RACKS muy bien cuidados, en ambientes apropiados, con todas las medidas de cuidado pertinentes para la protección de equipos (detector de humos, extintor, fluido eléctrico y de respaldo permanente, UPS, etc), sin embargo también esta allí la gente de HelpDesk o mesa de ayuda es correcto esto? pues daré mi opinión un poco mas adelante.

Sobre protegida : El área de TI esta tan protegida que la han enviado al sótano, el lugar menos utilizado del edificio ha sido dedicado para el área, otra vez el tema es que no estorben, a pesar de que tienen todo lo técnicamente necesario para el funcionamiento de los equipos.

El problema es que no solo están en el techo o en el sótano, o bajo las escaleras o en algún otro lugar donde no estorben, sino que no se contempla el presupuesto adecuado.

Pero suponiendo que tienen todo lo necesario para que los equipos operen bien, aun así que faltaría?

Pues lo que normalmente se piensa es que la gente de TI son una especie de robotitos que carecen de necesidades, la verdad es que el área de HelpDesk o mesa de ayuda, debe ser cómoda, confortable y mantener un ambiente cordial y saludable para el personal que allí trabaja.

Recordemos que todos los proceso de la empresa tienen un fuerte soporte en la infraestructura TI, pero quienes son los que mantienen la infraestructura TI operando?

Pues la gente de TI, es importante que se invierta también en mantener muy contenta a la gente de TI, de ellos depende una solución apropiada, adecuada y eficiente a los diversos problemas, tanto técnicos operativos como atención a usuarios.

Podemos citar las famosas 4P (ITIL nos orienta en esto):

People
Process
Products
Partners

Notemos que uno de estos factores es la gente, pero no solo es mantenerla contenta sino que también debe ser calificada, efectiva y confiable.

Los recursos de capacitación continua son un buen aporte a esta necesidad, los cursos cortos de 1 o 2 días de duración para desarrollar capacidades y destrezas en cierta tarea muy puntual, o los entrenamientos en línea son muy buenos elementos a considerar.

Cuando fue la última vez que te llamaron la atención en tu trabajo porque hace mas de 6 meses que no has recibido algún tipo de capacitación para mejorar tus capacidades? cuantas veces te llaman para consultarte si estas interesado en que la empresa te pague a un curso A o B para que tengas un mayor rendimiento?

Pues gestión de TI tiene que ver con esto, pero la gestión de servicios TI tiene que ver con esto?

La respuesta es si, la gestión de servicios debe asegurar que el servicio se brinde de la mejor manera y esto incluye la gente de mesa de ayuda, respuesta a incidentes, gestión de problemas y demás personal que esta relacionado a los diversos procesos del servicio.

Quizás uno de los problemas es que la gerencia no conoce bien cual es la necesidad de invertir en el personal de TI, esto seria bajo un enfoque TOP-DOWN

Pero viéndolo al revés, quizás la gente de TI no hace llegar bien sus requerimientos a las altas jefaturas para que evalúen y tomen las medidas necesarias.

Quizás el problema también esta en la falta de comunicación efectiva que tenemos muchos profesionales del sector TI, que podemos hablar de ancho de banda, ciclos de procesamiento, performance, hardware, software, etc, pero no podemos hacernos entender por seres humanos no técnicos.

En conclusión, Servicios TI efectivos = Personal idoneo, cualificado, comprometido con la mejora continua y feliz.