5.1. Uso de criptografía en mecanismos de pago

Miguel Ángel Monjas Llorente
Departamento de Ingeniería de Sistemas Telemáticos.

--------------------------------------------------------------

El objetivo de la criptografía es el de proporcionar comunicaciones seguras (y secretas) sobre canales inseguros. Ahora bien, la criptografía no es sinónimo de seguridad. No es más que una herramienta que es utilizada de forma integrada por mecanismos de complejidad variable para proporcionar no solamente servicios de seguridad, sino también de confidencialidad.

Los primeros sistemas criptográficos utilizaban combinaciones más o menos complejas de la técnica de rotación de los caracteres de un mensaje. La seguridad de este tipo de sistemas se basaba en mantener secreto el algoritmo usado, y son fácilmente descifrables usando medios estadísticos. En la actualidad sólo son utilizados por aficionados.

En medios profesionales, se usan criptosistemas. Se trata de funciones matemáticas parametrizadas en las que los datos de entrada no se pueden obtener a partir de los de salida salvo en plazos tan largos que cualquier información obtenida ya no tiene valor. La seguridad se basa ahora, no en mantener secreto el algoritmo, que generalmente es público, sino los parámetros (claves) del mismo.

--------------------------------------------------------------

Claves simétricas (secretas o únicas)

Se trata del mecanismo clásico. Estas técnicas usan una clave K que es conocida por el remitente de los mensajes y por el receptor, y con la que cifran y descifran respectivamente el mensaje. Para mantener la seguridad del cifrado, deben mantener esta clave en secreto.

Las ventaja del uso de estas claves es la existencia algoritmos muy rápidos y eficientes para su cálculo. Si K es lo bastante larga (típicamente se usan valores de 56 a 128 bits), es imposible reventarlas usando la fuerza bruta.

El principal inconveniente estriba en la necesidad de que todas las partes conozcan K, lo que lleva a problemas en la distribución de las claves. Esta debilidad ha hecho que sea poco utilizada en los mecanismos desarrollados hasta el momento para permitir el pago, a no ser que vaya combinada con otro tipo de técnicas.

El sistema de cifrado más extendido es Data Encryption Standard (DES), desarrollado por IBM y adoptado por las oficinas gubernamentales estadounidenses para protección de datos desde 1977. Una mejora de este sistema de cifrado de clave simétrica es IDEA.

Claves públicas

Existen también sistemas asimétricos de cifrado, siendo los más populares los de clave pública. Estas técnicas se basan en la existencia de parejas de claves, una secreta (Ks), conocida únicamente por su propietario, y una pública (Kp), libremente distribuida por su propietario en toda la red. El conocimiento de una de las claves no permite averiguar la otra. Un mensaje es cifrado con una de las claves y descifrado con la otra.

Los algoritmos de cifrado que utilizan estas claves son usualmente muy lentos, por lo que no se suelen utilizar para cifrar datos. Lo más habitual es que las partes elijan una clave simétrica y la compartan mediante mecanismos de clave pública. Una vez compartida la clave, se aplican técnicas simétricas de alta velocidad.

Las claves públicas son más fáciles de romper (averiguar Ks a partir de Kp). 300 bits sólo valen para aficionados; 800 bits son una dimensión habitual para una calidad comercial, y a partir de 1000 bits puede considerarse una calidad aceptable para uso militar.

Uno de los primeros esquemas de clave pública fue desarrollado por R. Rivest, A. Shamir y L. Adleman en el MIT. El esquema Rivest-Shamir-Adleman (RSA) ha sido desde la fecha de su publicación el único sistema ampliamente aceptado para la implementación de encriptación mediante clave pública. El principal inconveniente de este sistema es la existencia de una patente sobre este algoritmo, lo cual dificulta su uso fuera de los EE.UU. si no se ha obtenido la correspondiente licencia de exportación.

Códigos de integridad

A menudo es poco práctico la aplicación de técnicas de encriptación a un mensaje entero. En tal caso, se utilizan funciones matemáticas que, a partir de un cierto volumen de datos, derivan una pequeña serie de datos, o huella digital. Estas técnicas suelen basarse en funciones hash.

Este tipo de funciones tiene dos interesantes propiedades. La primera es que el resultado de su aplicación a grandes volúmenes de datos es relativamente corto (típicamente una huella tiene entre 128 y 160 bits). Segundo y más importante, aunque sea teóricamente posible encontrar dos mensajes con idéntica huella, la probabilidad de que esto ocurra es ínfima. Si se manipulan los datos, la huella cambia. Modificar los datos de forma tan sabia como para obtener la misma huella es algo computacionalmente inabordable.

Uno de los requisitos de estas funciones es que sean pesadas, es decir, que el resultado sea lento de calcular para evitar ataques a base de fuerza bruta.

Firmas digitales

Dado un mensaje, basta calcular su huella digital y cifrar dicha huella con la clave privada del remitente. El receptor procede a descifrar la huella con la clave pública del remitente. De esta forma obtenemos simultáneamente la seguridad de que el contenido no se manipula (integridad), y de que el firmante es quien dice ser (autentificación).

Certificados

El principal inconveniente del uso de claves pública es el modo de asociación de los pares Ks-Kp con personas físicas. La solución la aportan las autoridades de certificación (notarios electrónicos) que son entes fiables y ampliamente reconocidos que firman (con conocimiento de causa y asunción de responsabilidad) las claves públicas de las personas, rubricando con su firma su identidad.

--------------------------------------------------------------

Kerberos

Kerberoses un sistema de autentificación diseñado en el MIT, con dos propósitos: proveer autentificación y distribuir claves. El sistema Kerberos actúa como autoridad de certificación que garantiza una relación correcta entre claves y usuarios o entidades.

Las principales debilidades de este sistema son:

PGP (Pretty Good Privacy)

PGP es un sistema completo que proporciona integridad y autentificación para el correo electrónico y aplicaciones de almacenamiento de ficheros. Fue desarrollado en 1991 por Phill Zimmermann y está compuesto por bloques que, secuencialmente, van transformando el mensaje:

  1. firma digital. Se crea una huell digital del mensaje, que es encriptada con la clave privada del remitente usando RSA y añadida al mensaje.
  2. encriptación del mensaje. La encriptación se hace usando IDEA y RSA.
  3. compresión.
  4. compatibilización con correo electrónico.
  5. segmentación.
En la recepción se realiza el proceso contrario.

Todo el paquete y su documentación se hicieron públicos y libremente distribuibles. El uso de RSA ha hecho que la difusión y uso de PGP se haya visto sujeta a las controversias provocadas por la necesidad de una licencia de exportación. Phill Zimmermann ha sido procesado por ello.

--------------------------------------------------------------

La cantidad de material presente en la red relacionado con estos temas es inmensa y puede ser obtenida fácilmente. De todas formas, añado una pequeña serie de enlaces:

FAQ sobre criptografía
FAQ sobre RSA.
The official PGP User's Guide.
PGP documentation.
Kerberos FAQ.
--------------------------------------------------------------

[PAGINA INICIAL | PAGINA ANTERIOR | PAGINA SIGUIENTE]

--------------------------------------------------------------
Page maintained by Miguel Ángel Monjas Llorente (mmonjas@dit.etsit.upm.es)
Last modified: Mon Feb 19 18:00:00 1996