1.- Introducción

También llamada criptografía de clave pública es el método criptográfico que usa un par de claves para el envío de mensajes. Las dos claves pertenecen a la misma persona que ha enviado el mensaje.

En este caso, cada usuario del sistema criptográfico ha de poseer una pareja de claves:

  • Clave privada: será custodiada por su propietario y no se dará a conocer a ningún otro.
  • Clave pública: será conocida por todos los usuarios.

Esta pareja de claves es complementaria: lo que cifra una SÓLO lo puede descifrar la otra y viceversa.

Estas claves se obtienen mediante métodos matemáticos complicados de forma que por razones de tiempo de cómputo, es imposible conocer una clave a partir de la otra.

Pongamos un ejemplo ilustrativo a lo largo de este documento para comprender mejor estos conceptos. Ana y Bob tienen sus pares de claves respectivas: una clave privada que sólo ha de conocer el propietario de la misma y una clave pública que está disponible para todos los usuarios del sistema.

Clave publica y clave privada

Además, los métodos criptográficos garantizan que esta pareja de claves sólo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves. Empleando dichas claves para la comunicación entre dos interlocutores:

  • Si el remitente usa la clave pública del destinatario para cifrar el mensaje, una vez cifrado, sólo la clave privada del destinatario podrá descifrar este mensaje, ya que es el único que la conoce. Por tanto se logra la confidencialidad del envío del mensaje, nadie salvo el destinatario puede descifrarlo.
  • Si el propietario del par de claves usa su clave privada para cifrar el mensaje, cualquiera puede descifrarlo utilizando su clave pública. En este caso se consigue por tanto la identificación y autentificación del remitente, ya que se sabe que sólo pudo haber sido él quien empleó su clave privada (salvo que alguien se la hubiese podido robar). Esta idea es el fundamento de la firma electrónica.

2.- Criptografía de Clave Asimétrica. Cifrado de clave pública

2.1.- Funcionamiento básico

Básicamente, el proceso de cifrado presentaría este flujo:

Clave públia simple

  1. Ana escribe un mensaje a Bob y quiere que sólo él pueda leerlo. Por esta razón lo cifra con la clave pública de Bernardo, accesible a todos los usuarios.
  2. Se produce el envío del mensaje cifrado no siendo necesario el envío de la clave.
  3. Sólo Bernardo puede descifrar el mensaje enviado por Ana ya que sólo él conoce la clave privada correspondiente.

Con este sistema conseguimos:

  • El beneficio obtenido consiste en la supresión de la necesidad del envío de la clave, siendo por lo tanto un sistema más seguro.
    El inconveniente es la lentitud de la operación. Para solventar dicho inconveniente, el procedimiento que suele seguirse para realizar el cifrado de un mensaje es utilizar un algoritmo de clave pública junto a uno de clave simétrica.

2.2.- Algoritmo clave Pública junto con clave simétrica

El uso de claves asimétricas ralentiza el proceso de cifrado. Para solventar dicho inconveniente, el procedimiento que suele seguirse para realizar el cifrado de un mensaje es utilizar un algoritmo de clave pública junto a uno de clave simétrica. A continuación veremos cómo se produce el cifrado de un mensaje, mediante el cual obtenemos plena garantía de confidencialidad.

Cifrado de clave publica

  1. Ana escribe un mensaje a Bob. Lo cifra con el sistema de criptografía de clave simétrica. La clave que utiliza se llama Clave de Sesión y se genera aleatoriamente.
  2. Para enviar la Clave de Sesión de forma segura, esta se cifra con la clave pública de Bob, utilizando por lo tanto criptografía de clave asimétrica.
  3. Envío de la Clave de Sesión y del mensaje, ambos cifrados, a Bob.
  4. Bob recibe el mensaje cifrado con la clave de sesión y esta misma cifrada con su clave pública. Para realizar el proceso inverso (descifrado), en primer lugar Bob utiliza su clave privada para descifrar la Clave de Sesión.
  5. Una vez ha obtenida la Clave de Sesión, utiliza esta para poder descifrar el mensaje.

Con este sistema conseguimos:

  • Confidencialidad: sólo podrá leer el mensaje el destinatario del mismo.
  • Integridad: el mensaje no podrá ser modificado.

Pero todavía quedan sin resolver los problemas de autenticación y de no repudio. Para ello, veremos el concepto de Firma Digital.

3.- Firma Digital

Una de las principales ventajas de la criptografía de clave pública es que ofrece un método para el desarrollo de firmas digitales. La firma digital permite al receptor de un mensaje verificar la autenticidad del origen de la información así como verificar que dicha información no ha sido modificada desde su generación. De este modo, la firma digital ofrece el soporte para la autenticación e integridad de los datos así como para el no repudio en origen, ya que el originador de un mensaje firmado digitalmente no puede argumentar que no lo es.

Una firma digital está destinada al mismo propósito que una manuscrita. Sin embargo, una firma manuscrita es sencilla de falsificar mientras que la digital es imposible mientras no se descubra la clave privada del firmante.

3.1.- Funcionamiento básico

La firma digital se basa en la propiedad ya comentada sobre que un mensaje cifrado utilizando la clave privada de un usuario sólo puede ser descifrado utilizando la clave pública asociada. De tal manera, se tiene la seguridad de que el mensaje que ha podido descifrarse utilizando la clave pública sólo pudo cifrarse utilizando la clave privada. La firma digital, por tanto, es un cifrado del mensaje que se está firmando pero utilizando la clave privada en lugar de la pública.

Firma DigitalSin embargo, ya se ha comentado el principal inconveniente de los algoritmos de clave pública: su lentitud que, además, crece con el tamaño del mensaje a cifrar. Para evitar éste problema, la firma digital hace uso de funciones hash. Una función hash es una operación que se realiza sobre un conjunto de datos de cualquier tamaño de tal forma que se obtiene como resultado otro conjunto de datos, en ocasiones denominado resumen de los datos originales, de tamaño fijo e independiente el tamaño original que, además, tiene la propiedad de estar asociado unívocamente a los datos iniciales, es decir, es prácticamente imposible encontrar dos mensajes distintos que tengan un resumen hash idéntico.

3.2.- Creando y verificando una firma digital

Firma Digital 2