martes, 6 de febrero de 2018

¿Qué son los Certificados Digitales? (Parte 1)

En una película, creo que era de Tarzán, a fin de demostrar que este era un salvaje idiota, un hombre le pregunta:
- “Imagina que has corrido durante 10 millas y, de pronto, te encuentras con un enemigo, ¿qué harías?”.
Tarzán, que era algo salvaje pero no tonto, responde:
-  “Primero, asegurarme de que es mi enemigo”.

En el mundo virtual de Internet se producen las mismas necesidades básicas que en el mundo físico de asegurarnos de ciertas cosas a la hora de hacer operaciones, y siendo Internet un mundo digital virtual, los medios habrán de ser también digitales.



Veamos los tres casos más comunes en el mundo físico: 
  1. Cuando vamos a adquirir un artículo o servicio, necesitamos asegurarnos de que la persona o empresa con la que tratamos es quien dice ser antes de darle nuestros datos o dinero. Nadie en su sano juicio saldría a comprar y le daría dinero (y mucho menos su tarjeta de crédito) al primero que se encuentra por la calle porque simplemente le asegura que puede suministrarle lo que busca. Toda persona prudente se iría a una tienda reconocida que le proporcionara seguridad, hablaría y se informaría con un vendedor que le inspirara confianza y finalmente le entregaría el dinero a cambio del artículo. 
  2. Cuando firmamos un documento para sellar un trato cualquiera, es necesario asegurar dos cosas básicas que han de ir incluidas en ese documento para el futuro: que la firma del documento pertenecía a la persona autorizada a firmarlo y que el documento no fue alterado después de la firma. Normalmente, ambos parámetros se aseguran firmando el documento ante Notario, quien primero verificará la identidad del firmante con su DNI y después custodiará el documento para posible comparación futura con copias simples del mismo.
  3. Cuando vamos a sostener una conversación confidencial con alguien, nos interesa, primero, asegurarnos que la tenemos con la persona que queremos, y segundo, que nadie la intercepta y escucha. Si la conversación se produce por teléfono, antes de nada nos aseguraremos bien que la persona que está al otro lado es quien dice ser. Normalmente, aseguramos esto porque marcamos su número de teléfono, que es único, y porque reconocemos a la persona por su timbre de voz. El teléfono puede transmitir una gama limitada de frecuencias sonoras que no se eligieron por capricho: son las que caracterizan y permiten distinguir el timbre de voz concreto de una persona. Si queremos máxima seguridad, dado que no es fácil asegurar que la línea no está pinchada y nos están espiando la conversación, podremos optar por tener la conversación en persona (identificamos previamente al interlocutor por su cara) y además nos taparemos la boca, como hace Mourinho cuando habla con su ayudante (¿Pito Vilanova?).

Pues bien, los Certificados Digitales son, simplificando al máximo, unos pequeños archivos informáticos que contienen básicamente una compleja clave para cifrar información, además de los datos que identifican el propietario del Certificado. Constituyen el principal instrumento de la era digital para asegurar, mediante varios mecanismos, los 3 puntos anteriores en el mundo virtual. Esto es:

1. Cuando nos conectamos a una Web, Banco o tienda on-line que nos solicita nuestros datos y el número de nuestra tarjeta de crédito para comprar un artículo o servicio, su Certificado Digital nos permite asegurarnos que la tienda, banco o servicio on-line es quien dice ser. Esto se verifica comprobando dos cosas:
- Que la URL o dirección de Internet a la que nos hemos conectado es exactamente la de la Web que nos interesa (que está exactamente escrita como nos han dicho).
- Que nuestro navegador no nos avisa de un error de Certificado, con el típico mensaje:
Adicionalmente, si el certificado es correcto o "reconocido", los modernos navegadores cambian el color y permiten identificar el nombre de la empresa en la barra de navegación:


Una vez comprobado todo esto, podemos entrar con confianza nuestras credenciales, sabiendo que la Web es segura.

2. Igual que hay Certificados que identifican unívocamente un sitio Web al que nos conectamos, también existen certificados que nos permiten identificar unívocamente a las personas. Estos certificados sirven para: 

  • a) Autenticar a una persona (o empresa) concreta frente a una Web (caso de hacienda, para presentar declaraciones).
  • b) Firmar digitalmente documentos informáticos o el correo electrónico que se envía, asegurando simultáneamente que el documento proviene con toda seguridad de esa persona (o empresa) y que no ha sido alterado después de firmarlo digitalmente.

3. En este caso, una “conversación digital” podría ser por ejemplo, una compra que hacemos en una Web de comercio electrónico, una conexión para consultar el correo en nuestro servidor Webmail, un acceso para administrar remotamente vía navegador Web un dispositivo (un firewall, un router) o una transacción que realizamos por Internet con nuestro banco. En esa conversación estaremos enviando y recibiendo datos que no nos interesa que ningún tercero pueda interceptar y leer, como pueden ser nuestra contraseña del servidor de correo, las claves de nuestra cuenta corriente o el número de nuestra tarjeta de crédito. Para evitar esto, lo que se hace es cifrar toda la conversación digital mediante el protocolo SSL (Secure Sockets Layer). Este protocolo utiliza Certificados Digitales durante la fase de establecimiento de la conversación. El mecanismo, grosso modo, funciona de la siguiente manera:

  • a) La Web a la que nos conectamos, en el momento que entramos en una zona delicada que requiere cifrar el tráfico (porque hemos de entrar la contraseña, por ejemplo), nos manda su certificado digital, que aceptamos y verificamos según el punto 1b. En ese instante veremos que la dirección en el navegador cambia de http://loquesea.com a https://loquesea.com.
  • b) Con la clave que contiene ese certificado digital protegemos, mediante cifrado, un proceso de intercambio de nuevas claves entre nosotros y la Web. Los Certificados llevan claves muy complejas que no son apropiadas para cifrar transacciones largas por la Web, ya que ralentizarían mucho el proceso, pero sí son indicadas para asegurar la primera parte de la conversación, en que se generan y negocian las claves que se utilizarán para cifrar el resto de la misma. Es necesario que esas claves permanezcan secretas pues de nada serviría cifrar con una clave que sea conocida por el posible atacante.
  • c) Con las claves negociadas continuamos cifrando la conversación, que así irá protegida de miradas indiscretas de terceros. Esas miradas indiscretas pueden ser desde usuarios que comparten la misma red Wifi que nosotros (una red Wifi va por el aire, un medio compartido que “escuchan” todos los usuarios a la vez de manera similar a la radio), hasta un técnico malintencionado de nuestro proveedor de ADSL o de la Web final con la que interactuamos.
Como norma general, jamás deberíamos entrar ningún dato confidencial (contraseñas, tarjetas de crédito, etc.) en una Web que no asegura el proceso mediante un Certificado reconocido.

En estos tres puntos se resume la esencia de la utilidad y el funcionamiento básico de los Certificados Digitales.
Podemos, pues, intuir la inmensa importancia de estos pequeños archivos en nuestro nuevo paradigma del mundo digital, pero creo necesario recalcarlo debidamente:
  • Los Certificados son la base del comercio electrónico y de los trámites on-line con la Administración, pues nos aseguran las transacciones electrónicas a través de la red de una manera fiable, al permitirnos autenticar inequívocamente las partes intervinientes al mismo tiempo que se dota de confidencialidad a dichas transacciones. No hace falta apuntar qué porcentaje del total del comercio actual es electrónico y cómo nos simplifica la vida la Administración Electrónica.
  • Los Certificados son la base de la firma electrónica, que es el mecanismo fundamental para asegurar y autenticar los documentos electrónicos como hasta ahora hemos hecho con los documentos en papel. Y cuando hablamos de documentos electrónicos podemos referirnos tanto a un archivo legal (un contrato, una escritura o un testamento) como a un archivo de código de un programa comercial, que si va firmado digitalmente por el fabricante se asegura que es legítimo/fiable y que no ha sido alterado por virus o troyanos. Tampoco hace falta hablar de los estragos que provocan los virus o el software malintencionado, ni recalcar la importancia de eliminar progresivamente la documentación en papel por razones tanto ecológicas, como de imposibilidad física de almacenar las ingentes cantidades de papel que acumulan los archivos de la Administración Pública o las empresas privadas.


Volviendo al tema puramente técnico que hemos visto antes del funcionamiento y naturaleza de los Certificados, inevitablemente nos surgen varias preguntas:
  • ¿Qué mecanismo se usa para asociar unívocamente un certificado concreto a la Web o a la persona a la que pertenece? 
  • ¿Si el certificado viaja por la red libremente, cómo podemos asegurar que es genuino y/o que no ha sido alterado para engañarnos y hacernos entrar nuestros datos en una Web falsa que pretende robarnos? ¿No sería inocente enviar una llave por correo ordinario sin envolver ni precintar y pretender que nadie la copie? 
  • Si el certificado contiene la clave que usamos para cifrar la primera parte de la conversación (cuando se produce la generación e intercambio de las nuevas claves) y, según el punto 3b, las claves han de permanecer secretas para asegurar la conversación, ¿cómo es que podemos usar la clave del certificado si no es secreta?¿No podría un tercero descifrar la conversación al tener la clave? 
  • ¿En qué consiste el proceso de “firmar digitalmente” y cómo sabemos que un documento informático así firmado no ha sido alterado? 
  • ¿Qué es exactamente “Cifrar”? (A veces se le llama "Encriptar" por una traducción literal del Inglés "Encrypt",  pero el término castellano correcto es "Cifrar"). 
Para responder las anteriores preguntas es necesario introducir un par de conceptos matemáticos, simples de entender pero muy complicados de llevar a cabo (no temáis, aquí nos quedaremos en la primera parte): 

- Las funciones de resumen (o hash).  
- El cifrado asimétrico o de doble clave (privada y pública).

Introduciremos esos dos conceptos y responderemos a todas las preguntas en un próximo artículo.

¡Un saludo Cordial!

(Continuará…)

No hay comentarios:

Publicar un comentario