Seminario de Votación Electrónica, CC5317 (2013/02)

Profesor: Alejandro Hevia

Propósito: El propósito del curso es identificar, entender y analizar los distintos sistemas de votación electrónica propuestos, sus beneficios, problemas y potenciales ataques, comprendiendo la importancia de su seguridad en términos de privacidad, robustez, y transparencia. Discutiremos las aristas sociales, económicas y políticas involucradas en el desarrollo, implementación y operación de sistemas de votación electrónica. También analizaremos reportes de experiencias de sistemas reales e identificaremos los potenciales riesgos y desafíos de llevar a cabo una elección de manera electrónica.

Más información luego, por ahora ver el programa del curso.

Aspectos administrativos:

Cátedra: Lunes y Viernes 12:00pm, Sala por anunciar
Auxiliar: No hay.
Sitio web oficial: ucursos
Carga académica: 10 UD,
Requisitos: CC3301 o autorización
Carácter: electivo Cs. de la Computación

Temario

El tema del curso es votación electrónica: conceptos, beneficios, desafíos, potenciales ataques, y posibles soluciones.
  • Concepto de Votación Electrónica. Votación electrónica: Remota vs. Presencial. Por qué es tan difícil implementar votación electrónica?
  • Sistemas de votación electrónica criptográficos, propiedades y conceptos: Privacidad, Anonimato, Robustez, Correctitud, Verificabilidad, No repudiación, Tolerancia a compra de votos y/o coerción.
  • Herramientas criptográficas usadas frecuentemente: Encriptación homomórica, Mix Networks, Secret Sharing y otros.
  • Presentación y Discusión de sistemas de votación electrónica propuestos.
  • Perspectivas futuras respecto a votación electrónica: Verificación de la Implementación de votación electrónica, Puesta en marcha, maduración e implementación de votación electrónica en la práctica, Votación remota.
  • Temas misceláneos variables relativos al área que pudieran surgir durante la realización del curso.

Evaluación

La evaluación se basa en lo siguiente:

  1. Una presentación de un tema en el área la cual típicamente considera presentar ideas de 1 o 2 artículos. Para este ítem se evalúan independientemente la presentación misma y el material asociado (presentación o resumen), el cual puede ser corregido después de la presentación.
  2. Participación en la respuesta y creación de preguntas de lectura en el foro respecto a los artículos presentados semanalmente.
  3. Participación en la realización de preguntas de concepto y sus respuestas en el foro, respecto a los artículos leídos semanalmente.
  4. Un proyecto del curso, el cual puede tener carácter de investigación o de desarrollo de un prototipo o prueba de concepto. El tamaño y dificultad del proyecto debe ser apropiado para un proyecto de un semestre. Cualquier tema o forma del proyecto debe ser consultado con el profesor.
Se sigue la ponderación que se plantea a continuación
  1. NLectura = ((suma de puntos por preguntas de lectura)*6)/(nro. de articulos)+1
  2. NConcepto = ((suma de puntos por preguntas de concepto)*6)/(nro. de articulos)+1
  3. NE = Nota Examen
  4. NC = (NPresentacion + NMaterialPresentacion + NLectura + NConcepto)/4
  5. NT = NProyecto
  6. NF = 0,7*NC + 0,3*NT
Para aprobar el curso se requiere NC >=4.0, y NT >= 4.0.

Reglas de Participacion

  • Durante la primera semana de clases se publicará la lista de artículos y personas encargadas de presentar dichos artículos (1 o 2 por artículo).
  • Regla para presentaciones:
    • Las presentaciones de artículos serán los dís Viernes 12pm y durarán 1 hora. El/La/Los/Las estudiante(s) a cargo se espera inviertan en la presentación al menos 3 horas.
    • Luego de la presentacion, el material usado en la presentacion (o alternativamente un resumen) debe ser publicado en ucursos. Puede ser (y se recomienda que sea) mejorado respecto al usado para la presentación. Deadline: Sabado 11:59hrs.
    • El resto de los estudiantes puede comentar respecto a la presentacion o resumen antes del deadline. El estudiante presentador puede actualizar su presentacion o resumen antes del deadline. La nota se hara sobre la ultima version del documento publicado.
  • Elaboracion de preguntas de concepto para la clase del Lunes:
    • (Ojo: Este punto se cambió, preguntas se harán durante la clase del Lunes) Entre el viernes 13:30hrs y el Sabado 23:59hrs, cada estudiante debe publicar una pregunta de concepto con una posible respuesta en el foro. La pregunta debe ser original (no haber sido preguntada antes). De no serlo o de estar incorrecta, el estudiante puede cambiarla antes del plazo final (Sa 23:59hrs).
  • Sesion de discusion del Lunes: El Lunes en catedra habra una discusion acerca del paper presentado el viernes pasado. La discusion partira con la votacion de las 3 preguntas conceptuales mas interesantes publicadas por los estudiantes. Luego, se trabajara en grupo para elegir la pregunta mas importante. Quien la haya formulado recibira un punto de bonus.
  • Elaboracion de preguntas de lectura para la clase del viernes:
    • Los estudiantes debieran leer el paper asignado a la semana en curso entre el Lunes 13:30hrs y el Miercoles 23:59hrs. En dicho plazo, el estudiante debera responder a una de las preguntas de lectura hechas en el foro y adicionalmente (dentro de los 30 min siguientes) publicar una nueva pregunta que no haya sido preguntada.
    • El estudiante gana 1 punto de lectura si la respuesta y pregunta realizadas son correctas. Si la respuesta dada o la pregunta posteada no son correctas:
      • Si un companero detecta el error (antes del deadline), el alumno puede hacer otra pregunta, sin perder el derecho a ganar el punto.
      • Si el profesor encuentra el error despues del deadline, el alumno pierde el punto de lectura de la semana.
  • En la clase del viernes se presentarán los artículos como se señalo anteriormente.
Nota: Estas reglas han sido adaptadas de las propuestas por Jeremy Barbay por su curso. Gracias Jeremy!

Posibles Artículos para presentar

  • Kohno, Stubblefield, Rubin, Wallach.
    Analysis of an Electronic Voting System.
    2004 IEEE Symposium on Security and Privacy, 2004. (PDF)
  • Calandrino, Feldman, Halderman, Wagner, Yu, Zeller.
    Source Code Review of the Diebold Voting System.
    Reporte, 2007. (PDF) Ver también detalles "sabrosos" (con videos) en el paper) previo al reporte.
  • Stephen Checkoway, Ariel J. Feldman, Brian Kantor, J. Alex Halderman, Edward W. Felten, and Hovav Shacham.
    Can DREs Provide Long-Lasting Security? The Case of Return-Oriented Programming and the AVC Advantage
    In Proceedings of EVT/WOTE 2009. USENIX/ACCURATE/IAVoSS, Aug. 2009. (PDF), ver video y referencia en este link.
  • J. Alex Halderman, Eric Rescorla, Hovav Shacham, and David Wagner.
    You Go to Elections with the Voting System You Have: Stop-Gap Mitigations for Deployed Voting Systems.
    Proceedings of EVT 2008. USENIX/ACCURATE, July 2008. (PDF)
  • J. Alex Halderman,
    Voter Registration and Voter Authentication, Lectures (video).
    "Securing Digital Democracy" course (2012). (MP4, MP4, y PDF clase)
  • Artículos relacionados:
    1. Do photo IDs help prevent vote fraud?
  • Andrew W. Appel
    "Security Seals On Voting Machines: A Case Study,"
    ACM Transactions on Information and System Security (TISSEC), 2011. (PDF)
  • Artículos relacionados:
    1. Why seals can't secure elections
    2. What an expert on seals has to say
    3. The trick to defeating tamper-indicating seals
    4. Seals on NJ voting machines, October-December 2008
    5. Unpeeling the mystique of tamper-indicating seals
  • Scott Wolchok, Eric Wustrow, J. Alex Halderman, Hari K. Prasad, Arun Kankipati, Sai Krishna Sakhamuri, Vasavya Yagati, and Rop Gonggrijp
    "Security Analysis of India's Electronic Voting Machines"
    Proc. 17th ACM Conference on Computer and Communications Security CCS'10, Chicago, IL, October 2010 (PDF, video)
  • Rop Gonggrijp, Willem-Jan Hengeveld, Andreas Bogk, Dirk Engling, Hannes Mehnert, Frank Rieger, Pascal Scheffers, Barry Wels
    "Nedap/Groenendaal ES3B voting computer, a security analysis"
    Versión inicial en Proceeding EVT'07 Proceedings of the USENIX Workshop on Accurate Electronic Voting Technology, USENIX, 2007. (PDF, más detalles)
  • Diego Arahna,
    "Security Evaluation of the Brazilian Voting Machines",
    Reporte para the 2nd Public Security Tests of the Electronic Voting System organized by the Superior Electoral Court (SEC) en Brasil. (PDF, más detalles, Charla invitada en USENIX EVT/WOTE 2012 (slides, video)
  • Danny De Cock, Bart Preneel
    "Electronic Voting in Belgium: Past and Future",
    E-Voting and Identity Lecture Notes in Computer Science Volume 4896, 2007 (PDF, Nuevo Sistema, PDF Nuevo Sistema)
  • Frederick G. Conrad, Benjamin B. Bederson, Brian Lewis, Emilia Peytcheva, Michael W. Traugott, Michael J. Hanmer, Paul S. Herrnson, Richard G. Niemi
    "Electronic voting eliminates hanging chads but introduces new usability challenges"
    Int. J. Human-Computer Studies 67 (2009) 111-124. (PDF, Presentación de 2007 con resultados e imágenes (recomendada), versión 1, versión 2 (incluye imágenes perdidas en versión 1))
  • Paul S. Herrnson, Richard G. Niemi, Michael J. Hanmer, Benjamin B. Bederson, Frederick G. Conrad, Michael Traugott
    "THE IMPORTANCE OF USABILITY TESTING OF VOTING SYSTEMS"
    Proceedings of the 2006 USENIX/ACCURATE Electronic Voting Technology Workshop. 2006. (PDF)
  • Scott Wolchok, Eric Wustrow, Dawn Isabel, J. Alex Halderman
    "Attacking the Washington, D.C. Internet Voting System"
    Proc. 16th Intl. Conference on Financial Cryptography and Data Security FC'12, Bonaire, Feb. 2012 (PDF, Video)
  • Joseph Lorenzo Hall,
    "Transparency and Access to Source Code in Electronic Voting"
    In USENIX/ACCURATE Electronic Voting Technology Workshop 2006 (June 2006). (PDF)
  • Patrick Baxter, Anne Edmundson, Keishla Ortiz, Ana Maria Quevedo, Samuel Rodriguez, Cynthia Sturton, David Wagner
    "Automated Analysis of Election Audit Logs"
    In Proceedings of the 2012 USENIX Electronic Voting Technology Workshop/Workshop on Trustworthy Elections (EVT/WOTE), August 2012. (PDF, Video)
  • Douglas W. Jones.
    "Computer Security Versus the Public's Right to Know: Notes for a panel discussion on Electronic Voting Integrity"
    Computers, Freedom and Privacy 2007. May 2007. (PDF)
  • Ben Adida.
    "Helios: Web-based Open-Audit Voting."
    In USENIX Security Symposium, vol. 17, pp. 335-348. 2008. (PDF, PDF version 2.0 (2009), leer sólo capítulo 2). Opcional: Hay un video (2010)) de Ben Adida explicando el sistema. Pueden ver también un análisis básico (y corto) del sistema original. Hay ataques ``menores'' que probablemente mencionaremos en clases, el más relevante es
    • Estehghari, Saghar, and Yvo Desmedt. "Exploiting the client vulnerabilities in Internet e-voting systems: Hacking Helios 2.0 as an example." In Proc. 2010 Electronic Voting Technology Workship/Workshop on Trustworthy Elections (EVT/WOTE)(Aug. 2010). 2010. PDF)
  • Alejandro Hevia
    "Demostraciones de nula divulgación: o cómo convencer a alguien que mi sudoku tiene solución, sin revelarla."
    Revista Bits de Ciencia, número Octubre 2013. (PDF. Alternativamente, pueden pedirle una revista a Ana Martínez, la periodista del DCC).
  • David Chaum, Richard Carback, Jeremy Clark, Aleksander Essex, Stefan Popoveniuc, Ronald L. Rivest, Peter Y. A. Ryan, Emily Shen, Alan T. Shermana "Scantegrity II: End-to-End Verifiability for Optical Scan Election Systems using Invisible Ink Confirmation Codes"
    Proceedings of USENIX/ACCURATE EVT 2008. (PDF).
  • Chaum, Essex, Carback, Sherman, Clark, Popoveniuc, Vora. "Scantegrity: End-to-End Voter Verifiable Optical Scan Voting"
    IEEE Security and Privacy, 2008. (PDF). Este es el sistema Scantegrity original, esta mejor explicado que en el artículo de EVT 2008.
  • Más información (Opcional)
    • David Chaum,
      "Secret Ballot Receipts: True Voter Verifiable Elections"
      IEEE Security and Privacy, 2004. (PDF). Sistema donde se propone usar criptografía visual para evoting. Anterior a Scantegrity.
    • Sherman, Fink, Carback, Chaum.
      "Scantegrity III: Automatic Trustworthy Receipts, Highlighting Over/Under Votes, and Full Voter Verifiability"
      Proceedings of EVT/WOTE 2011. (PDF, Video, ). Mejoras a Scantegrity II: impresión automática de los recibos con los códigos.
  • Michael R. Clarkson, Stephen Chong, Andrew C. Myers.
    "Civitas: Toward a Secure Voting System" In Proc. IEEE Symposium on Security and Privacy, pages 354-368, May 2008. (PDF. Más info en el sitio oficial. También hay una versión revisada (opcional), del 2008).
  • Gurchentan S. Grewal, Mark D. Ryan, Sergiu Bursuc, and Peter Y.A. Ryan.
    "Caveat Coercitor: coercion-evidence in electronic voting" In IEEE Security and Privacy Symposium. 2013. (PDF).
  • Susan Bell, Josh Benaloh, Michael D. Byrne, Dana DeBeauvoir, Bryce Eakin, Gail Fisher, Philip Kortum, Neal McBurnett, Julian Montoya, Michelle Parker, Olivier Pereira, Philip B. Stark, Dan S. Wallach, Michael Winn.
    "STAR-Vote: A Secure, Transparent, Auditable, and Reliable Voting System" Presented as part of the USENIX Journal of Election and Technology and Systems (JETS): 18-37. August 2013. (PDF y video)
  • J. Ben-Nun, Niko Fahri, Morgan Llewellyn, Ben Riva, Alon Rosen, Amnon Ta-Shma, and Douglas Wikström.
    "A New Implementation of a Dual (Paper and Cryptographic) Voting System." In Electronic Voting, pp. 315-329. 2012. (PDF).
  • Anand Sarwate, Stephen Checkoway, Hovav Shacham.
    "Risk-limiting Audits for Nonplurality Elections" Statistics, Politics and Policy, 4(1):29-64, Jan. 2013. (Sitio oficial, incluyendo datos y PDF).

Calendario de Artículos Resto del Semestre

  • Viernes 10/11, Lunes 10/14: Usabilidad, Accesibilidad, Internet Voting: Ataques client-side y server-side.
    1. Videos para Lunes 10/14: Usability (1/3), Usable paper ballots (2/3), Accessibility (3/3).
    2. (opcional) "THE IMPORTANCE OF USABILITY TESTING OF VOTING SYSTEMS", Herrnson et al.
    3. "Attacking the Washington, D.C. Internet Voting System", Wolchok et al.
  • Viernes 10/18: No hay clase.
  • Lunes 10/21, Viernes 10/25: Transparencia, open-source, auditorias post-elección.
    1. "Transparency and Access to Source Code in Electronic Voting"
    2. "Automated Analysis of Election Audit Logs"
    3. (opcional) "Computer Security Versus the Public's Right to Know: Notes for a panel discussion on Electronic Voting Integrity"
  • Viernes 10/18: No hay clase.
  • Lunes 10/21, Viernes 10/25: Transparencia, open-source, auditorias post-elección.
  • Viernes 11/08: Criptografía en Evoting: Técnicas Básicas, parte I (homomorphic encryption, ZK proofs, mix-nets, secret-sharing)
    1. "Helios" (incluyendo versión 2.0)
    2. "Demostraciones de Nula Divulgación"
  • Viernes 11/15: Criptografía en Evoting: Sistemas con verificación online, Parte I.
    1. "Scantegrity (II)"
    2. (Opcional, recomendado) "Scantegrity: End-to-End Voter-Verifiable Optical-Scan Voting" (articulo donde explican mejor como funciona el Scantegrity original).
    3. (Opcional) "Secret Ballot Receipts: True Voter Verifiable Elections"
  • Viernes 11/22: Criptografía en Evoting: Sistemas con verificación online, Parte II.
    1. Civitas
    2. Caveat Coercitor
  • Viernes 11/29: Criptografía en Evoting: Sistemas con verificación online, Parte III:
    1. Star-Vote.
    2. A New Implementation of a Dual Voting System.
  • Lunes 2/12: Charla Diego Arahna.
  • Viernes 12/07: Aspectos Políticos, discusión.

Posibles Proyectos

  • Implementar algún ataque para un sistema de votación remota existente. Posibilidades a atacar: helios, civitas, Pretty Good Democracy, AFT, e INRIA Chile (entre otros). La idea del ataque es hacer una página web maliciosa o algún tipo de malware que ataque al cliente del sistema y permita modificar la preferencia emitida por el votante. También puede ser un anáalisis de por qué un ataque es difícil (o fácil!).
  • Agregar módulo de MixNet (en cloud) para sistema de votación electrónica existente. El sistema de mixnet a usar puede ser el implemementado por Patricio Seguel El sistema de evoting existente es el implementado por INRIA Chile. Conversar con el auxiliar, Mario Cornejo.
  • Implementar fase de generación de claves distribuídas (DKG, distributed key generation) para distribuir claves y realizar desencriptación distribuída en un sistema de votación existente (el de INRIA Chile). Para detalles del DKG a implementar, ver memorias de Pamela Cordero o Rodrigo Porras. Para más detalles, hablar con el auxiliar, Mario Cornejos.
  • Implementar una aplicación móvil que permita (1) generar un par de claves público/privada de un sistema de firma electrónica, (2) leer un documento corto (representado en un código QR), (3) firmar el documento y representarlo visualmente como QR. Opcionalmente, pueden mostrar maneras alternativas para "sacar" eficientemente la firma del documento desde el dispositivo móvil, siempre que tal operación no requiera de hardware especial o conección a Internet.
  • Evaluar (con personas) la efectividad de mecanismos de resistencia a la coerción, por ejemplo, el propuesto por Urs Hengartner.
  • Implementar una versión eficiente de sistema de Bulletin Board entre celulares. Por ejemplo, para postear mensajes de chat. La idea es usar una implementación existente de secure multi-sender broadcast en dispositivos móviles, contando quizás con uno o más servidores parcialmente confiables. Hablar con el profesor si les interesa.
  • Estudiar la seguridad de (y posiblemente implementar) mecanismos propuestos para emitir votos para ciudadanos con discapacidades (visual, motriz, lenguaje). Por ejemplo, ver el sistema PRIME III. Evaluar alternativas y experiencias de otros sistemas.
  • Evaluar la seguridad de sistemas "más simples" de votación electrónica, como Eperio.

Bibliografía Evoting

  1. [JS12] D. Jones, B. Simons, Broken Ballot, U. Chicago Press, 2012.
  2. [Rubin06] Aviel D. Rubin, Brave New Ballot, Morgan Road Books, 2006.
  3. [Artiículos] Artículos de investigación publicados en conferencias (principalmente Usenix Security, EVOTE Workshop, ACM CCS, CRYPTO, EUROCRYPT)
  4. [Halderman13] Curso "Securing Digital Democracy", J.A. Halderman, 2013.

Bibliografía General Criptografía

  1. Jonathan Katz, Yehuda Lindell, “Introduction to Modern Cryptography”, Editorial Chapman and Hall/CRC, 2008
  2. Mihir Bellare y Phil Rogaway, “Introduction to Cryptography, Lecture Notes”, University of California San Diego, 2006. (Disponible en versiones del curso para pregrado, y de postgrado)
  3. Douglas Stinson, “Cryptography, Theory and Practice”, Third edition, Editorial Chapman and Hall/CRC, 2006

Última modificación: 16 de Agosto 2013.