El objetivo de esta publicación es definir y explicar el uso de los certificados digitales.

El avance de las tecnologías para el acceso a la información hace que tanto las empresas, las administraciones e, incluso, los particulares se decidan a usar Internet como vía de comunicación debido a que permite distribuir productos y servicios de forma rápida y económica.

La necesidad de asegurar la identidad y confidencialidad de esta información que viaja por Internet necesita algún sistema que nos permita protegerla.

Según la definición oficial, un certificado digital es un fichero informático firmado electrónicamente por un prestador de servicios de certificación considerado por otras entidades como una autoridad para este tipo de contenido.

Este certificado vincula unos datos de verificación de firma a un firmante de forma que confirme su identidad y sólo pueda firmar él.

El tráfico de datos en Internet

Tenemos que ser conscientes que cuando obtenemos o enviamos información a Internet no es una comunicación directa entre nuestro dispositivo (ordenador, móvil, tableta, etc.) y el servidor. Todos los datos pasan por una gran cantidad de dispositivos que son los encargados de poner en contacto los dos puntos.

Los dispositivos intermedios pueden ser ruters, servidores intermedios y otros. Éstos permiten desviar esta información hacia un punto donde poderla espiar.

Igualmente, se pueden usar mecanismos conectados a los dispositivos intermedios que escuchen el tráfico enviado de un sitio a otro. Mediante el uso de programas Sniffers se puede capturar y ver todo lo que se está enviando o recibiendo en una comunicación.

Por otro lado, con el uso de sistemas de comunicación inalámbricos (wifi, bluetooth, etc.) ya no hace falta conectar nada a ningún sitio para poder capturar el tráfico de las redes debido a que la información viaja por el aire y sólo hace falta tener un dispositivo capaz de capturarla.

Es importante estar seguros de que nos estamos comunicando con el servidor con el que queremos comunicarnos . También, es necesario que cuando nos identifiquemos en alguna entidad o enviemos información sensible, el destinatario esté, totalmente, seguro de que somos nosotros quien estamos enviando la información.

El cifrado

cifrado
Cifrado

Es inevitable que la información que viaja por Internet pueda ser capturada y espiada en cualquiera de los puntos por los que tiene que pasar. Por tanto, la única manera que tenemos para remediarlo es estableciendo algún sistema de cifrado de la información, de tal manera, que el que intente espiar nuestros datos se encuentre con un conjunto de información sin ningún significado. Es necesario que los datos se cifren antes de salir y se pueda descifrar, únicamente, en el destino.

Breve historia de la Criptografía

El uso más antiguo conocido de la Criptografía se halla en jeroglíficos no estándares tallados en monumentos del Antiguo Egipto (hace más de 4500 años).

Si quisiéramos introducirnos en la historia de la Criptografía encontraríamos ejemplos y la evolución de ésta desde la Edad Media hasta nuestros tiempos.

Hay que destacar que, en la Segunda Guerra Mundial, las máquinas de cifrado mecánicas y electromecánicas empezaron a utilizarse para sustituir los sistemas manuales.

Actualmente, hablamos de Criptografía matemática a partir de la publicación del artículo de Claude Shannon titulado Communication Theory of Secrecy Systems (1949).

Cifrado asimétrico

Hasta este momento, todos los sistemas de cifrado se basan en algoritmos de cifrado simétrico. Este sistema consiste en que las partes que van a comunicarse deben, previamente, intercambiar las claves o, como también se dice, compartir un secreto.

Dicho de otra manera, las partes tienen que ponerse de acuerdo en cuáles van a ser las claves y compartirlas. Por lo tanto, se necesita un intercambio previo, a través de un canal seguro, como, por ejemplo, un mensajero de confianza, o un contacto en persona para pasarse las claves de viva voz.

En 1976 se publicó el artículo New Directions in Cryptography de Whitfield Diffie y Martin Hellman. Este artículo cambió la forma de funcionar de los criptosistemas. Introdujo un método radicalmente nuevo para resolver uno de los problemas fundamentales de la criptografía: la distribución de claves.

Este sistema ha terminado llamándose Intercambio de claves Diffie-Hellman.

Este nuevo método está basado en un algoritmo asimétrico de dos claves. Lo que se cifra con la primera clave debe descifrarse con la segunda y a la inversa. No es necesario compartir y exponer la primera clave (la clave privada) sólo la segunda (la clave pública). Las claves de cifrado se almacenan en archivos y éstos son los llamados certificados digitales.

Normalmente, en las comunicaciones por Internet, se envía al destinatario con el que queremos comunicarnos de forma segura la clave pública o archivo de certificado digital y nunca se entrega el archivo de la clave privada. Éste debe de estar almacenado en el ordenador de origen y protegido con una contraseña.

La autoridad de certificación para certificados digitales

Sello

La autoridad de certificación o certificadora es una entidad de confianza, responsable de emitir y revocar los certificados digitales.

Los certificados emitidos son firmados digitalmente por esta autoridad.

En este post explicamos, más abajo, en que consiste esta firma digital.

Es necesario que los certificados utilizados sean emitidos por estas entidades para garantizar la identidad de aquel que los usa.

Los certificados digitales, a grandes rasgos, nos permiten:

  1. asegurarnos de que al acceder a una página web hemos conectado con el servidor correcto.
  2. recibir un correo electrónico firmado digitalmente y estar seguros de que la persona que lo envía es realmente quien dice ser y que el mensaje que nos llega no ha sido modificado por nadie en el camino.

Tenemos que estar seguros de que el certificado que se está utilizando está avalado por la autoridad de certificación y no está ni caducado ni revocado.

Se denomina Infraestructura de clave pública o PKI (acrónimo en inglés) a todo el conjunto de entidades y servicios como la autoridad raíz de confianza, las autoridades intermedias y los servicios de solicitud, renovación, revocación y consulta.

En el mercado existe una gran cantidad de autoridades de certificados.

La diferencia entre ellas radica en el tipo o propósito del certificado que ofrezcan. También, en el prestigio de dichas autoridades o en los mecanismos que utilizan para identificar al solicitante.

Por ejemplo, si necesitamos un certificado digital para autenticarnos en un organismo público o para firmar digitalmente documentos, lo más normal es que lo solicitemos en la Fábrica Nacional de Moneda y Timbre que es la encargada de facilitar este tipo de certificados.

La mayoría de estas entidades facilitan su certificado de clave pública instalado en los diferentes sistemas operativos que solemos usar (Windows, Linux, Android, IOS, …).

El hecho de que los fabricantes de estos sistemas operativos depositen su confianza en estas entidades hace que nosotros nos fiemos de ellas y, de la misma forma, confiemos en los certificados que recibamos firmados por esta autoridad.

Uso de certificados digitales en servidores Web

Https

Cuando accedemos a un servidor web para consultar alguna de sus páginas, utilizamos el protocolo de Internet http (Hyper text Transport Protocol). Este protocolo permite que nuestro navegador interprete el texto que nos envía el servidor en lenguaje html (Hyper text Markup Language) y lo represente en nuestro ordenador. Este envío que realiza el servidor es en texto plano, igual que cuando nos solicita información, como por ejemplo, el usuario y la contraseña.

El texto plano es susceptible de ser visto. Si ya es peligroso que alguien pueda espiar lo que nosotros estamos consultando en la página web, todavía es más problemático que se pueda descubrir el usuario y la contraseña, por ejemplo, de acceso a nuestra entidad bancaria.

Por eso, hoy en día, prácticamente todas las páginas web a las que accedemos utilizan el protocolo https en lugar de http. Podemos verlo en el navegador cuando accedemos a un sitio web como, por ejemplo, https://llogic.cat.

La ‘s’ que diferencia http de https es de secure (en inglés, seguro). Lo que se hace es usar sistemas de cifrado SSL o TLS, mediante certificados digitales, que mejoran la seguridad del protocolo http.

Hay que tener en cuenta que, en informática, cuando hablamos de interacciones con un servidor hablamos de la figura del servidor y del cliente, donde este último sería la persona que utiliza el navegador para acceder al servidor.

Proceso HTTPS

Cuando accedemos a una página web a través del protocolo https, antes de que pueda llegarnos ninguna información, se desarrollan las siguientes acciones:

  • Se inicia el proceso de negociación. En este proceso el cliente envía la versión SSL o TLS que tiene instalada, los algoritmos de autenticación que utiliza, así como los sistemas de cifrado que tiene disponibles.
  • El servidor envía un mensaje al cliente informando del protocolo, los algoritmos y los sistemas de cifrado que va a utilizar. Lo normal es que escoja el máximo común denominador, es decir, aquellos sistemas más actualizados y que ofrezcan mayor seguridad. Puede suceder que nuestro sistema no esté al día y que el servidor considere que no es posible seguir con el protocolo por considerarlo inseguro (nos muestra una página de error) o, al revés, si el servidor está muy desactualizado puede que nuestro navegador nos avise de que no es seguro seguir navegando en esta página.
  • Pasada esta primera fase de la negociación, el servidor envía su certificado de clave pública.
  • El cliente verifica si el certificado enviado es correcto:
    • Verifica si el nombre de la página coincide con el nombre al que se ha emitido el certificado.
    • Comprueba que el certificado no esté caducado ni revocado.
    • Verifica que el certificado está firmado por una autoridad de certificados de confianza.
    • Si todas las comprobaciones son exitosas se sigue adelante, si no el navegador nos mostrará una página de error o nos avisará de que el sitio no es seguro.
  • El cliente genera una clave o secreto que se utilizará a partir de ahora para autenticar y cifrar toda la comunicación.
  • El cliente envía al servidor el secreto de forma cifrada con la clave pública que él envió en el tercer paso. Recordemos que, como dijimos al principio, lo cifrado con la clave pública, únicamente, se podrá descifrar con la privada que está en posesión del servidor.
  • El servidor recibe la clave o secreto, la descifra con su clave privada y, a partir de este momento, puede continuar la comunicación de forma segura.

Autenticación mediante certificados digitales

Pergamino

Uno de los propósitos importantes en el uso de los certificados es la autenticación.

Consiste en demostrar a la persona o entidad con la que nos ponemos en contacto, a través de Internet, que somos quienes decimos que somos.

Quien necesita un certificado para autenticarse debe solicitarlo a una entidad emisora.

A veces, es necesario presentarse físicamente en la entidad para solicitar determinados certificados.

Una vez emitido el certificado digital, se entrega en un fichero informático protegido con una contraseña. Normalmente, este certificado se instala en el ordenador y, a partir de este momento, estará disponible para ser usado por el navegador de Internet cuando accedamos a una página que nos solicite autenticación.

Firma con certificado digital

Firma digital

Otra utilidad de estos certificados es su uso para la firma digital.

La firma digital se utiliza para firmar documentos como facturas, correos electrónicos, software, etc.

Esta firma tiene dos propósitos:

  • Autenticar la validez del documento. Asegura que el documento ha sido confeccionado por el firmante.
  • Garantizar que el documento no ha sufrido ningún cambio durante el trayecto a través de Internet y que conserva su integridad.

El procedimiento de firma es el siguiente:

  • Se utiliza un algoritmo llamado hash que extrae un resumen de todo el contenido del documento. Este resumen es una cadena alfanumérica de longitud, normalmente, fija.
  • El hash o resumen obtenido se cifra con la clave privada del emisor.
  • El documento inicial se almacena o se envía junto con el hash cifrado y el certificado de clave pública.

Cuando el receptor obtiene el documento firmado digitalmente puede comprobar su autenticidad de la siguiente forma:

  • Se extrae un resumen de todo el contenido, del mismo modo que se hizo durante el proceso de firma.
  • Utilizando la clave pública enviada junto con el documento se descifra el hash que, también, se ha adjuntado.
    • Hay que recordar, como hemos ido diciendo a lo largo de este escrito, que todo lo cifrado con la clave privada sólo se puede descifrar con la clave pública y lo cifrado con la pública se descifra con la privada.
  • Se compara el hash descifrado con el obtenido en el primer punto. Si los dos coinciden significa que el documento ha sido firmado por la persona o entidad que dice ser y nadie ha podido modificar la integridad del documento.

CONCLUSIÓN

Por lo tanto, el uso cada vez más arraigado de Internet en las comunicaciones y en la tramitación de documentos entre personas, empresas y entidades públicas hace que sea necesario el uso de estos sistemas de seguridad.

Lo explicado en esta publicación es todo transparente o, lo que es lo mismo, imperceptible para el usuario final, pero conocer un poco su funcionamiento es útil para que podamos usar mejor los certificados y estas tecnologías.

Deja un comentario