UD02.3. Criptografía (ES)
UD02.3. Criptografía (ES)
Tal y como la define el CERES (CERtificación ESpañola, departamento de la FNMT-RCM - Fábrica Nacional de Moneda
y Timbre, Real Casa de la Moneda-), la firma electrónica es "el conjunto de datos relativos a una persona consignados
en forma digital, y que junto a otros datos asociados con ellos, pueden ser utilizados como medio de identificación del
firmante, teniendo el mismo valor que la firma manuscrita".
Permite que tanto el receptor como el emisor de un contenido puedan identificarse mutuamente con la certeza de que
son ellos los que están interactuando, evita que terceras personas intercepten esos contenidos para alterarlos, así como
que alguna de las partes pueda repudiar la información que recibió de la otra y que inicialmente fue aceptada.
La firma electrónica se añade al documento digital firmado, formando un todo con él (como ocurre con una firma
manuscrita, que queda plasmada sobre el papel firmado).
Un certificado electrónico es un fichero que contiene datos de la identidad de un usuario (persona física o jurídica) junto
con sus claves criptográficas para poder firmar electrónicamente. Es, pues, el equivalente en el mundo informático al
DNI en el mundo real:
• Como el DNI, el certificado digital garantiza la identidad de su dueño.
• Como el DNI, también el certificado digital tiene fecha de caducidad y ha de ser renovado. En ambos casos la
renovación consiste en sustituir el antiguo por uno nuevo.
• Como el DNI, el certificado digital es emitido (generado y firmado) por una autoridad certificadora. En el caso del
DNI, el emisor es el Ministerio del Interior, mientras que un certificado digital puede ser firmado por diversas
organizaciones como VeriSign o Thawte a nivel internacional o la FNMT a nivel nacional.
• Como el DNI, generar un certificado digital puede requerir el pago de unas tasas a la autoridad certificadora.
• Del mismo modo que un DNI hecho a mano sobre cartulina sale gratis pero no ofrece ninguna garantía, lo mismo
ocurre con un certificado digital que no ha sido emitido por una autoridad certificadora de confianza.
6. Firma Digital.
Por tanto, y centrándonos en la criptografía, la primera utilidad de la misma es garantizar la confidencialidad de
la comunicación cifrando el documento original.
La segunda utilidad es conseguir determinar la autenticidad del emisor. El mecanismo de firma garantiza que el
emisor es quien dice ser.
Supongamos que vamos a enviar un documento y queremos que el receptor confíe en que somos nosotros.
Para conseguirlo, el emisor aplica al documento una función resumen (función hash). El resultado de esta función es
una lista de caracteres, el resumen, que la función garantiza que solo se pueden haber obtenido con el documento
original. Ahora el emisor cifra ese resumen con su clave privada y lo envía al destino, junto con el documento
original.
En el destino se hacen dos operaciones:
• Aplicar la misma función hash al documento para obtener su resumen.
• Descifrar el resumen recibido, utilizando la clave pública del emisor.
Si ambos resúmenes coinciden, el destino puede estar seguro de que el emisor del documento es el mismo que el
dueño de la clave pública que acaba de aplicar para descifrar el resumen recibido.
Si queremos que el documento original no pueda ser interceptado en la transmisión desde el emisor al receptor,
debemos cifrarlo. Para ello usaremos la clave pública del receptor. En el receptor, utiliza su clave privada para
descifrar los documentos y la clave pública del origen para comprobar la firma. El mecanismo de firma también se
utiliza en las comunicaciones de datos para garantizar al servidor que somos un cliente de confianza, y así podemos
evitar introducir usuario y contraseña (autenticación sin contraseña).
6. Firma Digital.
Cuando estampamos nuestra firma manuscrita en un documento, le estamos dando al
mismo veracidad y aceptando nuestra responsabilidad sobre lo que en él se diga.
La firma digital viene a sustituir a la manuscrita en el mundo de la informática.
• Se calcula un valor resumen del documento, utilizando algún algoritmo como el SHA.
• Este valor resumen se cifra utilizando la clave privada de nuestra pareja de claves
pública-privada. No sólo se puede cifrar con la clave pública, también algunos
algoritmos de cifrado asimétrico permiten cifrar con la clave privada, en especial
los que se utilizan para firma digital. Esto permite asegurar que la única persona
que ha podido firmar el documento es el único que conoce la clave privada.
• El resultado de este valor es el que se conoce como firma digital del documento.
6. Firma digital.
6. Firma Digital.
El proceso de comprobación de una firma digital, que a diferencia de la comprobación visual de la
firma manuscrita, se tendrá que realizar mediante algún método informático. El que se utiliza es el
siguiente:
• La firma se descifra utilizando la clave pública del firmante, pues algunos algoritmos de cifrado
asimétrico y en particular los que se emplean para la firma digital descifran con la clave pública
lo que se ha cifrado con la clave privada, y con ello, como se deduce del método de firmado, se
obtiene el valor resumen del documento.
• Se obtiene el valor resumen del documento utilizando el mismo algoritmo que en el proceso de
cifrado, por ejemplo el SHA.
• Por último se comparan los dos valores resúmenes obtenidos en los dos procesos anteriores y si
estos coinciden entonces la firma es válida; si estos son distintos la firma será nula.
6. Firma Digital.
7. Certificados Digitales.
El certificado digital es un documento que contiene fundamentalmente información
sobre una persona o entidad y una clave pública y una firma digital de un
organismo de confianza (autoridad certificadora) que rubrica que la clave pública
que contiene el certificado pertenece al propietario del mismo.
Lo mismo ocurre con la firma digital, que lleva un certificado creado por algún
organismo de confianza; en España es La Casa de la Moneda y Timbre la que
firma los certificados digitales de los usuarios. Estos certificados nos facilitan
muchos de los trámites que debemos realizar con las administraciones públicas.
Al igual que existen multitud de formatos para guardar una imagen, también
existen multitud de formatos para los archivos que almacenan los certificados
digitales. El más extendido y usado en Internet es el estándar conocido como
X.509.
7. Certificados Digitales.
Como podemos ver en la siguiente figura el certificado almacena los
siguientes campos:
Cualquier persona con el software adecuado puede generar certificados digitales autofirmados. Podrá
utilizarlo, a partir de ese momento, para firmar documentos o cifrar comunicaciones, pues a fin de cuentas
contiene unas claves criptográficas, pero no podrá utilizarlo para identificarse ante otras personas o
entidades, pues desconfiarán automáticamente al tratarse de un certificado no firmado por una CA de
confianza.
Es el equivalente, en el mundo real, a un DNI falso. Esto es lo que ocurre, precisamente, en muchos sitios web
que usan HTTPS: sus administradores instalan en el servidor web un certificado digital autofirmado porque
solo les importa cifrar las comunicaciones no demostrar al usuario la autenticidad de su identidad.
Lamentablemente, este tipo de conductas tiene sus contrapartidas: la aparición en el navegador web del
cliente de un mensaje de advertencia que, en la mayoría de las ocasiones, asusta al usuario porque no lo
comprende. (Su conexión no es segura…)
8. Autoridades certificadoras de confianza
Los navegadores muestran en estos casos mensajes que se podrían catalogar de "catastrofistas", pero es
que, realmente, una web HTTPS que no se identifique verazmente con un certificado digital correctamente
firmado podría tratarse de una suplantación (web spoofing).
Los navegadores indican en su barra de direcciones los datos referentes al certificado digital de la web
bajo el icono de un candado (verde si todo está correcto, naranja si hay alguna pega, rojo si es un
certificado caducado o autofirmado, o la web no usa HTTPS).
Otro concepto importante es el de revocación. Una autoridad certificadora puede decidir revocar un
certificado emitido anteriormente por ella antes de que este caduque. Un certificado revocado es, a todos
los efectos, un certificado no válido. El proceso de aceptación de un certificado digital como válido incluye,
pues, tres pasos:
1. Comprobar si la CA firmante es una CA de confianza.
2. Comprobar que el certificado no ha caducado.
3. Consultar con la CA en cuestión si el certificado aportado ha sido revocado o continúa siendo válido.
Este proceso es el causante de que el acceso a las sedes electrónicas sea (relativamente) lento.
En el caso de una página web HTTPS, un certificado rechazado acarreará el mensaje de advertencia y el
candado rojo en la barra de direcciones del navegador. En el caso de la identificación del usuario en una
sede electrónica, su acceso será denegado.
8. Autoridades certificadoras de confianza
Como puedes ver, un certificado digital puede identificar a una persona física o a una entidad jurídica.
Del mismo modo, también puede identificar a usuarios o a servidores web. En otras palabras, dentro del
propio certificado digital se especifica el tipo de persona, entidad o servicio al que identifica y para qué
se puede utilizar.
Todos los sistemas operativos disponen de un almacén de certificados, donde se almacenan los certificados
digitales de los usuarios, servidores, aplicaciones, etc. Dicho almacén está dividido en carpetas según el
tipo de los certificados y el uso que se va a hacer de ellos (personales, sitios web, …). Una de estas
carpetas es la que contiene los certificados de las CA de confianza, y el sistema ya viene "de fábrica" con
un buen montón de ellos. Es, por tanto, el desarrollador del sistema que decide qué autoridades
certificadoras de confianza incluye en su sistema operativo. Algunas actualizaciones del sistema operativo
incluyen la renovación de certificados caducados, la eliminación de los CA raíz que ya no se consideran de
confianza, o la inclusión de nuevos CA raíz de confianza.
Además, aplicaciones como Mozilla Firefox trabajan con su propio almacén de certificados.
8. Autoridades certificadoras de confianza
Consejos sobre certificados digitales:
Del mismo modo que es lógico tener precauciones con el DNI, asimismo hay que seguir una serie de
consejos fundamentales respecto a su equivalente digital.
PKI son las siglas de Public Key Infrastructure (infraestructura de clave pública), o lo que es lo mismo, todo lo necesario, tanto
de hardware como de software, para las comunicaciones seguras mediante el uso de certificados digitales y firmas
digitales. De esta manera se alcanzan los cuatro objetivos de la seguridad informática: autenticidad, confidencialidad,
integridad y no repudio.
Se habla de infraestructura de clave pública o PKI (Public Key Infrastructure) para referirse al conjunto de roles, políticas y
procedimientos necesarios para crear, manipular, distribuir, utilizar, almacenar y revocar certificados digitales y realizar, con
ellos, cifrado de clave pública. Una PKI incluye, entre otras entidades, las autoridades certificadoras (CA) encargadas de la
generación de certificados digitales. Existen otras entidades encargadas de otros roles diferentes, como por ejemplo las
autoridades registradoras (RA), que se encargan de aceptar peticiones de certificados digitales por parte de personas u
organismos solicitantes, así como de garantizar la autenticidad de dichos solicitantes. Pero podría decirse que, en realidad,
una PKI se reduce al software y el hardware necesarios para que las entidades citadas puedan dar el servicio de certificación
digital.
Por ejemplo, el Banco de España denomina PKIBDE a su infraestructura de clave pública; RedIRIS (consorcio de instituciones
científico-técnicas españolas) también dispone de su propia PKI y le asigna el término pkIRISGrid; la FNMT-RCM utiliza una PKI
creada por la compañía española Safelayer, etc.
9. PKI.
Las PKI están compuestas de:
• La autoridad de certificación, también conocida por sus siglas CA (Certificate Authority), es la entidad de confianza
encargada de emitir y revocar los certificados digitales.
• La autoridad de registro, también conocida por sus siglas RA (Registration Authority), es la encargada de controlar la
generación de certificados.
• La Autoridad de Validación (VA) es la responsable de comprobar la validez de los certificados.
• Las autoridades de los repositorios donde se almacenan los certificados emitidos y aquellos que han sido revocados por
cualquier motivo y han dejado de ser válidos.
• Todo el software necesario para poder utilizar los certificados digitales.
• Política de seguridad definida para las comunicaciones
9. PKI.
El funcionamiento es el siguiente:
• Durante el inicio de la sesión, el servidor envía su clave pública al cliente para que cifre el
dialogo que van comenzar (autenticación usuario/contraseña, etc.); pero el cliente, antes de
utilizarla, desconfía: necesita comprobar que el servidor es quien dice ser.
• El servidor lo ha supuesto y ha enviado, junto con su clave pública, la firma digital de esa clave.
Esa firma digital ha sido realizada por una CA oficial utilizando la clave privada de esa CA.
• El cliente puede verificar la firma recibida utilizando la clave Apnea de la CA (en este punto
puede necesitar conectar con la VA). Si la firma es correcta, la clave pública del servidor también
lo es y podemos iniciar la sesión segura con toda confianza.
Por tanto, para que funcione la autenticación de una clave publica mediante PKI, se necesitan dos
pasos previos:
• El servidor ha conseguido que una CA le firme su clave pública. Por ejemplo: VeriSign, FNMT, etc.
• El cliente dispone de la clave pública de esa CA dentro de su llavero de claves asimétricas.
9. PKI.
Funcionamiento de una PKI
9. PKI. DNIe.
Las CA no emiten un simple fichero con la firma, ni encontramos suelta la clave
pública de una CA para importarla. Es importante la información complementaria:
quién firma, para quién firma, qué usos tiene la clave (cifrado y firmado, solo
firmado, etc.), en qué fecha se firmó, cuándo caduca esa firma, qué algoritmos se
han utilizado, etc. Esta información se recoge en el certificado digital, según el
estándar X.509.
Hay muchas empresas públicas y privadas que disponen de una PKI y se dedican
a emitir certificados. Los usuarios que desean un certificado de esa empresa
visitarán solo una vez su RA y su CA para obtenerlo, aunque después usarán
muchas veces la VA y los repositorios. Solo volverán a la CA para renovar el
certificado cuando esté próximo a caducar.
A modo de ejemplo de PKI vamos a estudiar el DNI electrónico (DNIe). Esta tarjeta
tiene un chip que lo convierte en una tarjeta inteligente.
9. PKI. DNIe.
El chip permite conocer:
• Datos generales de la persona, los mismos que están impresos en la tarjeta.
• Datos biométricos de la persona, como su huella dactilar digitalizada.
• Claves de cifrado asimétrico. El DNIe incluye claves distintas para firmar y
para cifrar, por los motivos que ya conocemos: utilizar mucho una clave la
expone a análisis criptográficos. Si al final alguien consigue nuestra clave
de cifrado, por lo menos que no pueda firmar contratos en nuestro nombre.