Recomiendo:
0

Bits y Qubits, el camino de la criptografía

Fuentes: Dragon Jar

Siglos atrás, cuando empezaron a conformarse sociedades grandes y complejas en donde existían intereses particulares que no debían ser conocidos, se recurría a la utilización de métodos de comunicación que garantizaran el secreto o confidencialidad de la información a compartir. Por ejemplo Julio César utilizaba un sistema de cifrado1 (de sustitución monoalfabética) para comunicarse con […]

Siglos atrás, cuando empezaron a conformarse sociedades grandes y complejas en donde existían intereses particulares que no debían ser conocidos, se recurría a la utilización de métodos de comunicación que garantizaran el secreto o confidencialidad de la información a compartir. Por ejemplo Julio César utilizaba un sistema de cifrado1 (de sustitución monoalfabética) para comunicarse con sus fuerzas militares dentro y fuera de Roma, diseño que mucho más tarde fue mejorado en el siglo XIX por Blaise de Vigenère a quien se le atribuyó el desarrollo de un cifrador de sustitución polialfabética2 mucho más elaborado, en el cual se empleó por primera vez el uso de una clave compartida (tal como en la actualidad).

 

bits Bits y Qubits, El camino de la criptografía Parte I

Hasta el siglo XIX las sustituciones y transposiciones constituían las técnicas más comunes para ocultar mensajes a compartir, mismas que eran confiables hasta que alguien lograba descubrir su funcionamiento (o algoritmo). Actualmente en cambio, se aplican las matemáticas como base fundamental de la criptografía, aportando un nivel de seguridad evidentemente mucho más elevado en donde los algoritmos incluso son conocidos por el público. De hecho el alemán Auguste Kerckhoffs3, planteó un principio en el que argumenta que «la fortaleza de un cifrador está en la fortaleza de su llave y no en cuán secreto sea su algoritmo», valiosa lección que fue comprobada con sangre por sus compatriotas derrotados en la segunda guerra mundial, que se comunicaban con máquinas que cifraban las comunicaciones (como la Enigma4) cuyo diseño era evidentemente secreto, mecanismo que fue realmente efectivo hasta que el inglés Alan Turing5 (quien sentó las bases de la computación moderna) logró descifrar sus transmisiones en uno de los casos de criptoanálisis más memorables, evidenciando que el esfuerzo de mantener secreto un algoritmo de cifrado es inútil y que la seguridad del mismo recae directamente en la dificultad para descifrar su clave.

Siguiendo el principio de Kerckhoffs un gran número de diseños de cifradores actuales son abiertos y utilizan claves tan fuertes que podría tardarse años (cientos o miles) intentando descifrarlas con la capacidad de cómputo actual, aspecto que será revaluado al final del documento.

Teniendo ahora una somera visión del camino de la criptografía hasta nuestros días, es importante mencionar de forma muy breve algunas de sus aplicaciones.

4356920482 9fb4f8e86a Bits y Qubits, El camino de la criptografía Parte I

Bases de Datos

Los motores de bases de datos incluyen algoritmos criptográficos dentro de su abanico de funciones, cuya implementación en sistemas de información es muy recomendable, evitando codificarlos o reusar código fuente de terceros.

4356236881 ebafee97d4 Bits y Qubits, El camino de la criptografía Parte I

Comunicaciones en Internet

TLS v1.2 es un protocolo derivado de SSL que provee comunicaciones seguras a través de la Internet, previniendo eavesdropping, tampering o message forgery. Una gran ventaja del protocolo es su capacidad de encapsular datos de capa de aplicación, ofreciendo transparencia en el desarrollo e implementación de aplicaciones, así como servir de plataforma de seguridad para protocolos (de capa superior) como HTTP, SMTP, NNTP o SIP. TLS ofrece confidencialidad mediante criptografía simétrica, cifrando los datos con diferentes llaves para cada conexión, integridad utilizando funciones de hashing y autenticación mediante el uso de algoritmos de llave pública.

4356994500 cdf73d8140 Bits y Qubits, El camino de la criptografía Parte I

Autenticación: Kerberos

Protocolo de autenticación que permite validar identidades de participantes durante un intercambio de mensajes, fue desarrollado por el MIT con base en el paper de Needmham y Schroeder de1978.

Su funcionamiento requiere un servidor central contra el cual los usuarios deben autenticarse primero, conocido como Key Distribution Center (KDC). Una vez se ha validado su identidad, se le entrega al usuario un ticket de sesión que utilizará para autenticarse contra los demás servidores que «confían» plenamente en el KDC y sólo aceptan solicitudes de cualquier usuario que se identifique con un ticket de sesión, mismo que podrá ser reutilizado en diferentes servidores hasta que termine su tiempo de expiración. Kerberos constituye uno de los mecanismos más seguros de autenticación además de proveer una solución robusta de single sign-on.

La última versión, Kerberos 5, permite utilizar una gran cantidad de algoritmos criptográficos simétricos, asimétricos y de hashing, que implementa mayoritariamente de forma híbrida (por ejemplo 3DES-CBC-SHA1).

4357030346 ccb83edea2 Bits y Qubits, El camino de la criptografía Parte I

GnuPG

Herramienta de línea de comandos que implementa el protocolo OpenPGP (que a su vez usa PGP 5 como base), que permite ofrecer confidencialidad, administración de llaves, autenticación y firmas digitales, mediante la combinación del uso de criptografía simétrica y de llave pública.

4357038688 0c93e4d271 Bits y Qubits, El camino de la criptografía Parte I

P2P: MSE

El Message Stream Encryption (MSE) es un protocolo de cifrado utilizado en gran parte de la red torrent (y otros protocolos P2P), que sirve de envoltura a los flujos de datos y los protege de ser detectados como tráfico torrent, evitando así su filtrado por parte de terceros (como ISPs). De igual forma se consideró durante su diseño que MSE ofreciera protección en contra de eavesdroping y ataques man-in-the-middle. MSE utiliza Diffie-Hellman para acordar la llave secreta, SHA-1 como función de hashing y RC4 para cifrar la comunicación debido a su seguridad y velocidad (razón por la cual fue elegido en lugar de AES). Es importante aclarar que el objetivo del protocolo es «aleatorizar» el flujo de datos sin garantizar su integridad o la autenticación de los peers.

4356304689 d24788f6df Bits y Qubits, El camino de la criptografía Parte I

Wi-Fi

Tres diferentes protocolos permiten a un usuario conectarse a una red inalámbrica: WEP, WPA y WPA2. A pesar de ser el más utilizado, WEP presenta vulnerabilidades serias debido principalmente a una deficiente alimentación del cifrador RC4. Fue tan grave este error que se decidió generar un nuevo protocolo de comunicaciones wi-fi que reemplazara a WEP, así apareció WPA que utiliza de una forma más adecuada a RC4 e incluye dos nuevos protocolos: TKIP (Temporal Key Integrity Protocol), que genera llaves diferentes para cada sesión de usuario, y EAP (Extensible Authentication Protocol) que permite autenticar clientes de forma segura utilizando un servidor tipo RADIUS, características que solucionan gran parte de los problemas de WEP. Sin embargo el protocolo wi-fi más seguro es WPA2, que incluye las características de WPA y reemplaza a RC4 por AES, incrementando así en mayor medida la seguridad de la conexión.

4356316251 720c1b1560 Bits y Qubits, El camino de la criptografía Parte I

Celular: GSM-EDGE-GPRS

La transmisión de voz vía GSM o EDGE desde el handset del usuario hasta la antena de la estación es cifrada mediante el algoritmo A5/3, mientras que GPRS utilliza GEA3. Ambos son cifradores de flujos que utilizan el cifrador de bloque Kasumi en modo OFB (output feedback) que les sirve como generador pseudoaleatorio.

4356324151 f70003f6e6 Bits y Qubits, El camino de la criptografía Parte I

Mensajería Instantánea

La mensajería instantánea es una actividad convertida en costumbre para un gran número de internautas, que desconocen que la mayoría de clientes de IM que utilizan transmiten todas sus conversaciones en texto claro, de hecho usuarios poco experimentados comparten información sensible por este medio de comunicación sin saber los riesgos que están corriendo. Existe una comparación de diferentes características de clientes de mensajería instantánea en wikipedia:

http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients

Evidentemente la criptografía se encuentra presente en algunas de nuestras actividades diarias, y poco (o nada) sabemos acerca de qué tipo de algoritmos criptográficos se utilizan en cada una de ellas, imposibilitándonos entender qué tan seguros o vulnerables nos encontramos. Así como en los cuadros anteriores, existen muchas más aplicaciones de la criptografía, como transmisión de televisión (y su respectiva restricción de canales premium), transmisión de señales satelitales, telefonía celular, creación de contraseñas, e-commerce, comunicaciones militares, bluetooth, VPN, etc. Es importante conocer cómo las aplicaciones o dispositivos con que interactuamos cotidianamente transmiten nuestra información, no sólo qué algoritmos implementan, sino también el tamaño de las claves que utilizan, porque según el principio de Kerckhoffs, en la fortaleza de la llave reside realmente la seguridad de la información transmitida.

El número de bits de la llave o del hash, dependiendo del caso, es un tema realmente crítico en criptografía que debe ser evaluado cuidadosamente por el profesional encargado de seguridad, afortunadamente existen recomendaciones útiles como apoyo técnico en este sentido que pueden ser consultadas en www.keylength.com.

Para terminar de hablar de criptografía moderna, el siguiente cuadro sugiere los algoritmos recomendables a implementar en las soluciones tecnológicas de la actualidad.

4357138566 6523e145c5 Bits y Qubits, El camino de la criptografía Parte I

Hasta aquí llega la primera parte de este articulo, en la segunda edición hablaremos sobre la criptografía cuántica, espero que les gustara este articulo y me lo hagan saber con sus comentarios.

Habiendo recorrido -brevemente- el pasado y presente el camino de la criptografía sólo nos permite mirar hacia el futuro, en el cual esta área de estudio tendrá grandes desafíos por cuenta de la aparición de la computación cuántica, término que puede tener tintes de ficción, pero que se encuentra más cercano de lo que se cree debido a la aceleración de desarrollos e investigaciones que se adelantan actualmente. A continuación se enumeran algunos ejemplos.

D-Wave anuncia en 2007 que trabaja en el prototipo de la primera computadora cuántica comercial. http://www.dwavesys.com/

Científicos de la Delft University of Technology de Holanda fabrican el primer componente cuántico en un chip. JR Minkel – Scientific American. Superconducting Qubits Tie the NOT Gate.

http://www.scientificamerican.com/article.cfm?id=superconducting-qubits-tie-the-not-gate

Google investiga el área de búsquedas con algoritmos cuánticos. Official Google Research Blog. Machine Learning with Quantum Algorithms. Diciembre 8 de 2009.

http://googleresearch.blogspot.com/2009/12/machine-learning-with-quantum.html

Científicos del NIST crean el primer computador cuántico con fines prácticos, debido a que incluye un procesador cuántico programable. NIST. NIST Demonstrates «Universal» Programmable Quantum Processor. Noviembre 17 de 2009.

http://www.nist.gov/public_affairs/techbeat/tb2009_1117.htm#processor

Entrando en materia, la mecánica cuántica estudia el mundo a escala de una millonésima de metro, donde las leyes de la mecánica (newtoniana) que conocemos dejan de tener validez, y en cambio surgen nuevos postulados que parecen no tener el más absoluto sentido para nuestra «lógica normal». Ésta es un área muy estudiada cuyas demostraciones no dejan prácticamente duda de su naturaleza dual y aleatoria, que afirma que una partícula no se encuentra en un punto exacto medible, sino dentro de una «nube» de posibles ubicaciones, es decir, que en un momento una partícula tendría la misma posibilidad de estar en un punto determinado o en un punto cercano (realmente se ha demostrado que la partícula está en todos lados simultáneamente)…

Aplicada a la informática, la computación cuántica traería un incremento increíble en el número de operaciones por segundo que un procesador puede ejecutar, así un computador cuántico puede realizar en un tiempo razonable algunas tareas que tomarían tiempos ridículamente largos en un computador actual. Mediante un ejemplo Google explica esta afirmación: si hay una pelota escondida en un mueble con un millón de cajones, ¿cuánto podría tardarse en encontrar la pelota? En promedio, con un computador normal, sería necesario revisar 500.000 cajones para resolver el problema, mientras un computador cuántico podría hacerlo buscando en apenas 1.000 cajones. El secreto radica en que un computador cuántico puede calcular varias operaciones simultáneamente en lugar de hacerlo de forma lineal (una a una) como un computador clásico, debido a que puede tomar varios estados en un momento determinado conforme a la mecánica cuántica descrita anteriormente. Mientras un computador actual funciona con bits que pueden cambiar entre 2 estados (cero o uno), un computador cuántico lo hace con qubits que pueden tomar ambos valores a la vez o en superposición.

Habiendo «entendido» un poco de computación cuántica y reflexionando desde un punto de vista criptográfico, lo primero que puede pensarse es que el tiempo para encontrar una llave sería drásticamente reducido, poniendo en completo peligro la seguridad de la información protegida. De hecho, es probable que las matemáticas en que se basa la criptografía moderna puedan no ofrecer una resistencia apropiada frente a un computador cuántico. Esta situación afectaría los intereses de un gran número de compañías que ofrecen servicios tales como PKI (public key infrastructure), e-commerce, banca, comunicaciones, etc.

Paradójicamente la misma computación cuántica trae consigo nuevas posibilidades para proteger la información, que los profesionales de seguridad deberán conocer para implantar en las organizaciones y ayudarles a superar ataques «cuánticos» contra sus sistemas criptográficos. Al final del camino nos resta, como siempre en el área de tecnología, continuar estudiando e investigando, esta vez en el nuevo campo de la computación cuántica y su influencia sobre la seguridad de los datos que tenemos protegidos mediante criptografía moderna, su impacto sobre negocios como comercio electrónico, y por qué no, qué nuevos desarrollos podemos proponer para proteger la información usando esta tecnología emergente. Al menos, y debido su importancia, es conveniente estar al tanto de la evolución de los adelantos que la mecánica cuántica induce sobre la informática y cómo afecta directamente nuestros sistemas e información.

Bibliografía

  • K. Raeburn, «Encryption and Checksum Specifications for Kerberos 5″, RFC 3961, Febrero de 2005.

    http://www.rfc-editor.org/rfc/rfc3961.txt

  • T. Dierks, «The Transport Layer Security (TLS) Protocol Version 1.2», RFC5246, Agosto de 2008.

    http://tools.ietf.org/html/rfc5246

  • Azureus Wiki, «Message Stream Encryption», 2007.

    http://www.azureuswiki.com/index.php/Message_Stream_Encryption

  • GSM WORLD, «GSM Security Algorithms».

    http://www.gsmworld.com/our-work/programmes-and-initiatives/fraud-and-security/gsm_security_algorithms.htm

  • MySQL 5.1 Reference Manual. «Encryption and Compression Functions».

    http://dev.mysql.com/doc/mysql/en/encryption-functions.html

  • PostgreSQL 8,3,8 Documentation, «pgcrypto».

    http://www.postgresql.org/docs/8.3/static/pgcrypto.html

  • BERSON, Tom. «Skype Security Evaluation». Octubre de 2005.

    http://www.skype.com/security/files/2005-031%20security%20evaluation.pdf

  • Werner Koch. GnuPG Features. 2002.

    http://www.gnupg.org/features.en.html

  • J. Callas, L. Donnerhacke, H. Finney, D. Shaw, R. Thayer. OpenPGP Message Format. RFC 4880. Noviembre de 2007.

    http://www.ietf.org/rfc/rfc4880.txt

  • Johannes Buchmann, Erik Dahmen, Alexander May and Ulrich Vollmer, TU Darmstadt. Perspectives for long-term cryptographic security. Mayo 2007
  • Wayne Redmond. «Is the future of cryptography in qubits» 2002. SANS Institute.        

Este articulo fue escrito por Anaxmon para La Comunidad DragonJAR, si deseas descargar este articulo en pdf, puedes hacerlo desde este enlace. Recuerda que tú también puedes enviar tus artículos para publicarlos en la comunidad, como ya lo hicieron Axiacamus, Eduardo Restrepo,, Epsilon, 4v4t4r, Cortex, Cronopio, D7n0s4ur70, Laura JAR y SamuraiBlanco; Solo tienes que enviar tu articulo a dragon(arroba)dragonjar.org.

http://www.dragonjar.org/bits-y-qubits-camino-de-la-criptografia-parteii.xhtml#more-3837