Los certificados digitales son unos ficheros que nos permiten comunicarnos por Internet de forma segura. Esto permite que podamos comprar libros por Internet o conectarnos a la página del banco para consultar el saldo, sabiendo que realmente nos estamos conectando a la web a la que queremos conectarnos, y sin que nadie nos robe las contraseñas.
Esto es posible gracias a unos matemáticos listísimos que inventaron la criptografía de clave pública.
Imaginémonos una situación en la que dos personas quieren comunicarse pero no quieren que nadie sepa de qué están hablando. Por ejemplo, una pareja de novios que pertenecen a familias enemistadas.
Podrían llamar por teléfono, por ejemplo, pero podría ser que alguien les escuchara por un teléfono supletorio y se enterara de toda la historia. O podrían mandarse cartitas clandestinamente, pero existe la posibilidad de que alguien encuentre una carta guardada en un supuesto lugar seguro.
Aquí tenemos un problema clásico: dos interlocutores que desean comunicarse en secreto utilizando un canal inseguro. Para solucionarlo se utiliza la ‘‘criptografía’’, que la RAE define como el “arte de escribir con clave secreta o de un modo enigmático”. También nos dice que viene del griego “κρυπτός”, que significa “oculto”, pero eso ya es menos importante.
Existen muchísimas técnicas criptográficas, y desde muy antiguo. Nuestros amantes podrían mandarse notas escritas, en las que sustituyen cada letra por un dibujito, o por la letra situada un número determinado de posiciones más adelante en el alfabeto (ese número sería la clave del sistema). O podrían utilizar un sistema polialfabético, o podrían usar un ordenador y cifrarlo todo con DES.
Todos estos sistemas tienen algo en común: los mensajes se cifran utilizando una clave, y para descifrarlos hay que usar luego la misma clave.
O sea, si cada letra se sustituye por la que aparece cuatro posiciones más adelante en el alfabeto (la clave es 4), el texto “Te quiero mucho” se cifraría como “Xi uymivs qygls”; para descifrarlo habría que buscar la letra que aparece cuatro posiciones antes en el alfabeto. O, si se usa DES, hay que utilizar para descifrar el texto la misma clave que se usó para cifrarlo.
Esto tiene una serie de problemas prácticos, pero el que más interesa ahora mismo es que para comunicarse en secreto con otra persona hay que convenir de antemano en la clave a utilizar. Y, además, si tienes varias personas distintas con las que comunicarte, y no quieres que una pueda leer los mensajes dirigidos a otra (muchas novias, por ejemplo), tienes que convenir muchas claves distintas, y gestionarlas, y guardarlas en secreto, y…
Pero llegaron los matemáticos listísimos que decía antes, e inventaron una forma de cifrar mensajes de forma que para cifrar se usa una clave, y para descifrar se usa una clave distinta, y no se puede descifrar con la misma clave que se usó para cifrar.
Lo bueno de esto es que soluciona el primero de los problemas antes dichos: ahora cada uno puede crear una pareja de claves, publicar la clave que sirve para cifrar, y reservarse la de descifrado. Así, cuando alguien quiera enviarme algo cifrado, no tiene que convenir nada conmigo: simplemente busca mi clave de cifrado (clave pública), cifra el mensaje con ella y me lo envía; luego utilizo mi clave de descifrado (clave privada) para leer el mensaje, y listo.
Y, además, si tengo muchas novias (qué más quisiera) ahora puedo comunicarme con todas ellas sin problema: como las claves públicas no sirven para descifrar los mensajes que les envío, puedo guardarlas sin utilizar especiales medidas de seguridad.
Un certificado digital es, en realidad, una clave pública, con cierta información adjunta, como el nombre del propietario, el periodo de validez de la clave, etc. Si yo le doy a alguien mi certificado, puede usarlo para cifrar mensajes que sólo yo podré leer, porque sólo yo tengo la clave privada correspondiente a mi certificado.
Pero un certificado no sólo sirve para cifrar mensajes…
Si alguien cifra un mensaje usando mi certificado, puede estar razonablemente seguro de que sólo yo podré descifrarlo y leerlo. Además, sé que sólo puedo descifrar un mensaje si ha sido cifrado con mi certificado.
Ojo, que ahora viene lo bueno.
Nó sólo se puede usar la clave pública para cifrar y la privada para descifrar: también se puede utilizar al revés. Es decir, cifrar con la clave privada y descifrar con la pública.
¿Para qué puede servir eso?
Bueno, pues sé que si un mensaje lo puedo descifrar utilizando la clave pública, es que ha sido cifrado utilizando la clave privada, que sólo el propietario del certificado posee. ¡Esto sirve para comprobar el origen de un mensaje!
Qué bueno, ¿eh?
En realidad, lo que se hace es calcular un código a partir del mensaje y cifrar sólo ese código; luego el que recibe el mensaje descifra el código por un lado y lo calcula por el otro; si coinciden, es que el mensaje procede realmente de quien dice proceder, y no ha sido modificado.
Y todo esto es lo que permite comprar un libro por Internet o consultar el saldo en la página web del banco sin que nadie nos robe el número de la tarjeta o los códigos de acceso: el servidor web de la tienda o del banco tiene un certificado, que sirve para cifrar el tráfico de la conexión y para asegurarnos de que la página que aparece procede realmente de quien pensamos.
También nosotros podemos tener un certificado digital, para presentar la Declaración de la Renta por Internet; en este caso, es Hacienda quien se asegura de nuestra identidad. Hay más información en la página web de certificados de la FNMT.