Inicio

Semestre 2018-19

 

Nombre del curso: Criptografía y las tecnologías de la libertad
Course name: A brave new world? – la criptografía como herramienta fundamental de la ciudadanía digital
Créditos: 4 créditos
Idioma: Español, aunque algún material de soporte será en Inglés
Fecha: 03 de Julio al 14 de Julio
Programa del DISC: Válido por:
MESI Curso de profundización
Otras maestrías Curso electivo
Pregrado Electiva profesional

JUSTIFICACIÓN.

La privacidad es uno de los derechos menos comprendidos en nuestros tiempos modernos. Pese a estar consagrado en la gran mayoría de Constituciones políticas del mundo como el “habeas data”, paulatinamente como sociedad en ocasiones hemos preferido ceder en estos principios en búsqueda de una vida más segura. En trazos del anónimo caricaturista, podemos estar presenciando la imagen de abajo.

Este curso, busca analizar este fenómeno social desde dos perspectivas fundamentales. La primera perspectiva es una perspectiva de libertades civiles y consiste en una reflexión filosófica acerca del tipo de sociedad a la pareciera nos estamos conduciendo y las implicaciones que tendría en la ciudadanía digital de los Colombianos.

La segunda perspectiva es una perspectiva tecnológica y busca analizar las diferentes propuestas en algoritmos y protocolos criptográficos que pueden usarse para garantizar las libertades civiles en un escenario eventual de “panóptico” digital.

Este curso corresponde grosso-modo a la segunda parte del curso “MSIN – 4101 – Ingeniería Criptográfica”, sólo que en vez de un enfoque de “crypto-for-security”, o tecnologías criptográficas para proteger organizaciones; se busca un enfoque de “crypto-for-privacy”, analizando las necesidades de privacidad de un ciudadano común y los diferentes algoritmos y protocolos criptográficos que podrían ser utilizados para satisfacer estas necesidades de “ciudadanía digital”, a un futuro a corto y mediano plazo.

Este curso aborda de una manera integral el uso de estas tecnologías criptográficas desde el punto de vista de la ingeniería, es decir, considerando algoritmos y protocolos en máquinas reales de operación, contra adversarios reales, como grandes corporaciones o gobiernos.

METODOLOGÍAEl curso combina exposiciones magistrales con la realización de talleres prácticos. Se espera de parte del estudiante fluidez en un lenguaje de programación (al menos Python), conocimientos de álgebra moderna y teoría de números (o disposición para adquirirlos) y intuición general de los problemas de seguridad.

La inasistencia a clase con frecuencia causa dificultades en los parciales, toda vez que algunos de los contenidos del curso no se encuentran fácilmente en otras fuentes. Aún cuando la asistencia a cada sesión de clase no es obligatoria, es sin embargo fuertemente recomendada.

OBJETIVOS

El objetivo fundamental de este curso es reflexionar acerca de los retos sociales que plantea la ciudadanía digital en el panóptico Internet y la forma en que estas necesidades pueden ser resueltas con combinaciones de primitivas criptográficas, algoritmos y protocolos, en un contexto muy preciso de recursos de defensa de ciudadano promedio y atacantes de recursos significativamente grandes.

Este curso combina la exposición magistral de conceptos con la discusión y aplicación de primitivas criptográficas en contextos muy específicos de aplicación, buscando entender como la criptografía es fundamentalmente en tiempos modernos la tecnología de la libertad.

CONTENIDO
Los temas a tratar en el curso son:

  • Panorama general: criptografía, el bien social y la responsabilidad social de los expertos en seguridad de la información. La criptografía como una herramienta fundamental de protección de la autonomía de un individuo ante los poderosos. Diversos enfoques “crypto-for-security” “crypto-for- privacy”, “crypto-for-crypto”, criptoanálisis y poder político. ¿1984? a brave new world?
  • Las tecnologías de bitcoin: blockchains, construcción de blockchains, mining de bitcoin, pseudo-anonimato.
  • Las tecnologías de Tor: onion routing, darknet, darkweb, exit node eavesdropping, el bug Heartbleed.
  • Secure messaging in the untrusted-server model: primitivas, el protocolo Pond de Adam Langley.
  • Bigkey cryptography: operaciones criptográficas sobre claves gigantescas, primitivas bigkey.
  • Private broadcasts: Riposte, broadcasts anónimos a la red, primitivas.
  • El protocol Axolotl (Double Ratchet Algorithm): el protocolo criptográfico de Signal®, Telegram® y Whatsapp®. Uso como primitiva criptográfica.
  • Scrypt memory-hard password-hashing: funciones de hashing de uso secuencial de memoria. Uso como primitiva criptográfica.
  • Algorithm-substitution Attacks: futuro de este tipo de ataques.
  • Logjam Attack: el valor del pre-cálculo en un ataque de un adversario rico.

MECANISMO DE EVALUACIÓN
El mecanismo de evaluación propuesto consiste en la elaboración de diferentes talleres del mismo valor, con dos evaluaciones escritas cada una con un valor del 30% de la nota final del curso.

BIBLIOGRAFÍA.

  • Bellare 2016. Big-Key Symmetric Encryption: Resisting Key Exfiltration. CRYPTO 2016. https://eprint.iacr.org/2016/541.pdf
  • Boneh 2016. Riposte: An Anonymous Messaging System Handling Millions of Users. IEEE Symposium on Security and Privacy 2015 (“Oakland 2015”). https://arxiv.org/abs/1503.06115
  • Rogaway 2014. Security of Symmetric Encryption against Mass Surveillance. https://eprint.iacr.org/2014/438.pdf
  • Adrian 2015. Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice. CCS’15. https://weakdh.org/imperfect-forward-secrecy-ccs15.pdf
  • Rogaway 2015. The Moral Character of Cryptographic Work. Asiacrypt 2015. http://web.cs.ucdavis.edu/~rogaway/papers/moral.html
  • Goldberg 2004. Off-the-Record Communication, or, Why Not To Use PGP. WPES’04. https://otr.cypherpunks.ca/otr-wpes.pdf
  • Feigenbaum 2015. Seeking Anonymity in an Internet Panopticon. Communications of the ACM, Vol. 58 No. 10, Pages 58-69. http://cacm.acm.org/magazines/2015/10/192387-seeking-anonymity-in-an-internet-panopticon/fulltext
  • Lazar 2016. Alpenhorn: Bootstrapping Secure Communication without Leaking Metadata. Usenix Technical Report. https://vuvuzela.io/alpenhorn-extended.pdf
  • Boneh 2012. The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser Software. proceedings of ACM CCS ’12. http://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html
  • Rogaway 2009. Practice-Oriented Provable Security and the Social Construction of Cryptography. http://web.cs.ucdavis.edu/~rogaway/papers/cc.pdf
  • Chaum 1984. Untraceable Electronic Mail, Return Address and Digital Pseudonyms. Technical Note – Programming Techniques and Data Structures. https://www.freehaven.net/anonbib/cache/chaum-mix.pdf
  • Gentry 2009. Fully Homomorphic Encryption Using Ideal Lattices. STOC’09. https://www.cs.cmu.edu/~odonnell/hits09/gentry-homomorphic-encryption.pdf
  • Dwork 2014. The Algorithmic Foundations of Differential Privacy. Foundations and Trends in Theoretical Computer Science Vol. 9, Nos. 3–4 (2014) 211–407. https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf
  • Percival 2016. Stronger key derivation via sequential memory-hard functions. https://www.tarsnap.com/scrypt/scrypt.pdf
  • Shamir 1985. Identity-based cryptosystems and signature schemes. Advances in Cryptology – CRYPT0 ’84, LNCS 196,pp. 47-53. https://discovery.csc.ncsu.edu/Courses/csc774-S08/reading-assignments/shamir84.pdf