Descripción de los certificados digitales

 

Última modificación del tema: 2005-05-19

Si bien la criptografía mediante claves públicas simplifica la administración de claves al permitir que varias personas utilicen un par de claves, hay un problema: cómo distribuir una clave pública de forma que el usuario pueda encontrarla y saber que es válida.

Para S/MIME, el uso de certificados digitales aporta una solución a este problema. Los certificados digitales distinguen S/MIME de muchas de las soluciones de seguridad de los mensajes de la competencia.

Descripción de los certificados digitales y la criptografía mediante claves públicas

Un certificado digital es una forma digital de identificación, como un pasaporte o el permiso de conducir. Un certificado digital es una credencial digital que proporciona información acerca de la identidad de una entidad, así como otra información auxiliar. Los certificados digitales los emiten las autoridades competentes, denominadas entidades emisoras de certificados (CA). Como un certificado digital está emitido por una entidad emisora de certificados, dicha entidad garantiza la validez de la información contenida en el certificado. Además, un certificado digital sólo es válido durante un período específico de tiempo.

Los certificados digitales permiten la criptografía mediante claves públicas, ya que contienen la clave pública de la entidad identificada en el certificado. Como el certificado hace coincidir una clave pública con un individuo determinado y la autenticidad de ese certificado está garantizada por el emisor, el certificado digital aporta una solución al problema de cómo averiguar la clave pública de un usuario y saber que es válida. Estos problemas se resuelven cuando un usuario obtiene la clave pública de otro usuario a partir del certificado digital. El usuario sabe que es válida porque una entidad emisora de confianza ha emitido el certificado.

Además, los certificados digitales se basan en la criptografía mediante claves públicas para su propia autenticación. Cuando se emite un certificado digital, la entidad emisora firma el certificado con su propia clave privada. Para validar la autenticidad de un certificado digital, un usuario puede obtener la clave pública de dicha entidad emisora y utilizarla sobre el certificado para determinar si fue firmado por esa entidad emisora.

Descripción de cómo están estructurados los certificados digitales

Para que un certificado digital sea útil, tiene que estar estructurado de una forma comprensible y confiable, de manera que la información contenida en el certificado se pueda recuperar y entender fácilmente. Por ejemplo, los pasaportes tienen una estructura similar que permite a la gente entender fácilmente la información contenida en un tipo de pasaporte que quizás nunca hayan visto antes. Del mismo modo, siempre y cuando los certificados digitales estén estandarizados, se pueden leer y entender independientemente que quién emitiera el certificado.

El estándar S/MIME especifica que los certificados digitales utilizados para S/MIME se atienen al estándar X.509 de la Unión internacional de telecomunicaciones (ITU). La versión 3 de S/MIME en concreto requiere que los certificados digitales cumplan con la versión 3 de X.509. Como S/MIME confía en un estándar establecido y reconocido para la estructura de los certificados digitales, el estándar S/MIME se basa en el crecimiento de dicho estándar y, por tanto, aumenta su aceptación.

El estándar X.509 especifica que los certificados digitales contienen información normalizada. En concreto, los certificados de la versión 3 de X.509 contienen los campos siguientes:

  • Version number   La versión del estándar X.509 a la que se atiene el certificado.
  • Serial number   Un número que identifica de manera única al certificado y que está emitido por la entidad emisora de certificados.
  • Certificate algorithm identifier   Los nombres de los algoritmos de claves públicas que la entidad emisora ha utilizado para firmar el certificado digital.
  • Issuer name   La identidad de la entidad emisora de certificados que emitió realmente el certificado.
  • Validity period   El período de tiempo durante el cual un certificado digital es válido; contiene una fecha de inicio y una fecha de caducidad.
  • Subject name   El nombre del propietario del certificado digital.
  • Subject public key information   La clave pública asociada al propietario del certificado digital y los algoritmos de claves públicas asociados a la clave pública.
  • Issuer unique identifier   Información que puede utilizarse para identificar de manera única al emisor del certificado digital.
  • Subject unique identifier   Información que puede utilizarse para identificar de manera única al propietario del certificado digital.
  • Extensions   Información adicional relacionada con el uso y el tratamiento del certificado.
  • Certification authority's digital signature   La firma digital real realizada con la clave privada de la entidad emisora utilizando el algoritmo especificado en el campo Certificate algorithm identifiers.

Como S/MIME requiere un certificado X.509 v3, esta información también describe las características que S/MIME utiliza para sus certificados específicos.

Importante

X.509v3 es un estándar que rige los certificados digitales en general. No constituye un estándar para los certificados específicos de S/MIME. La información acerca de los certificados digitales específicos de S/MIME se explica en las RFC de S/MIME.

Aunque los certificados digitales son electrónicos, tenga en cuenta que como están normalizados pueden utilizarse en numerosos dispositivos, no sólo en equipos personales. Los certificados digitales pueden utilizarse en dispositivos de mano, en teléfonos móviles y en tarjetas portátiles, llamadas tarjetas inteligentes. Las tarjetas inteligentes pueden utilizarse en varios dispositivos diferentes y son, en muchos casos, el uso ideal para los certificados digitales. Las tarjetas inteligentes permiten que los certificados digitales sean tan portátiles y tan fáciles de utilizar como el permiso de conducir o el pasaporte tradicional.

La estandarización de los certificados S/MIME, gracias a las RFC de S/MIME y al estándar X.509 versión 3, es un elemento clave para el éxito de S/MIME, ya que hace que cualquier aplicación que se atenga al estándar pueda entender los certificados digitales.

Certificados digitales e infraestructura de claves públicas

Una de las ventajas que ofrece la criptografía mediante claves públicas es que reduce la administración de claves, ya que en vez de utilizar numerosas claves simétricas se utiliza un par de claves. Esta ventaja es aún mayor con los certificados digitales, que permiten distribuir y administrar claves públicas. Sin embargo, los certificados digitales no se administran a sí mismos. Por su diseño, los certificados digitales tienen una gran circulación, por lo que la administración de estos certificados debe resolver su naturaleza distribuida. Los certificados digitales necesitan una infraestructura de funcionamiento para poder administrarlos en el contexto donde se van a utilizar. La infraestructura de claves públicas (PKI) es inseparable de los certificados digitales. La PKI es responsable de emitir los certificados, asegurar la distribución de estos certificados a través de un directorio y validar los certificados. La PKI se encarga del trabajo subyacente que hace posible los certificados digitales y que les permite ofrecer las capacidades en las que confían servicios como S/MIME.

Debido al tamaño y a la complejidad del tema, la PKI queda fuera del ámbito de este libro. La información aquí presentada se centra en el funcionamiento conjunto de la PKI y los certificados digitales con la seguridad de los mensajes. Existen numerosos recursos excelentes que tratan sobre la PKI. Puede obtener más información acerca de la PKI en la documentación del proveedor de su PKI y en otras fuentes específicas de PKI.

Funcionamiento de la PKI con la seguridad de los mensajes

La PKI proporciona los medios para utilizar certificados digitales mediante la emisión de certificados y al permitir el acceso a los mismos a través de un directorio. La PKI también valida certificados digitales al comprobar la autenticidad del certificado, la validez del certificado y que el certificado es fidedigno. Estos servicios son cruciales para los certificados digitales porque éstos confían en un modelo distribuido mediante entidades emisoras de certificados terceras.

La forma específica en que los certificados digitales se emiten y se publican en un directorio depende del producto de PKI específico y de su implementación. En general, la PKI emite certificados digitales y publica información acerca de estos certificados en un directorio donde otras aplicaciones pueden tener acceso a esa información. Parte de esta información se utiliza para validar certificados digitales. Como se ha explicado en la anterior sección "Uso conjunto de la criptografía mediante claves públicas y la seguridad de los mensajes" en Descripción de la criptografía mediante claves públicas, las operaciones de seguridad de los mensajes necesitan acceso a las claves públicas tanto de los remitentes como de los destinatarios. Como el certificado digital proporciona esta información, el acceso a los certificados digitales de los usuarios es crucial en un sistema de seguridad de los mensajes. Al proporcionar acceso a los certificados digitales, la PKI aprovecha las ventajas que la criptografía mediante claves públicas ofrece en cuanto a la administración simplificada de claves, ya que elimina la necesidad de intercambiar claves manualmente. En su lugar, la PKI hace que los certificados digitales estén disponibles en un directorio, de forma que las aplicaciones puedan recuperarlos cuando los necesiten.

Para comprender cómo la PKI valida un certificado, recuerde el papel que desempeña la entidad emisora al emitir el certificado digital. Como se ha explicado en la anterior sección "Descripción de los certificados digitales y la criptografía mediante claves públicas" de este tema, la entidad emisora de certificados garantiza la validez de la identidad y lo demuestra utilizando su clave pública para firmar el certificado digital. Comprobar la autenticidad de un certificado significa que se debe comprobar la firma digital de la entidad emisora de certificados. La PKI valida un certificado al ofrecer los medios mediante los cuales se puede comprobar la firma de la entidad emisora del certificado. Si la firma no se puede comprobar, se sabe que el certificado no es fidedigno.

Como se indicó al inicio del tema, ningún método de seguridad es perfecto. Un certificado digital puede verse en peligro, normalmente por la pérdida de la clave privada. Para que los certificados digitales sean fidedignos, debe existir alguna forma de cancelar o "revocar" un certificado digital antes de que caduque, del mismo modo en que se puede cancelar una tarjeta de crédito robada. La revocación de certificados es otro de los servicios fundamentales que la PKI ofrece para los certificados digitales y es otra parte del proceso de comprobación del certificado digital.

Como la PKI garantiza que los certificados digitales son fidedignos, la PKI forma parte integral de los certificados digitales. No puede utilizar firmas digitales sin la PKI. Como Exchange Server 2003 acepta certificados X.509 v3, la PKI específica que admita una instalación de Exchange dependerá de los certificados digitales utilizados con Exchange. Sin embargo, desde el punto de vista de la seguridad de los mensajes, todas las PKI ofrecen estos servicios fundamentales como apoyo a los certificados digitales. Las diferencias entre las distintas PKI están relacionadas con la implementación y el diseño y son específicas de la implementación de cada PKI.

Uso conjunto de certificados digitales y la seguridad de los mensajes

Una vez comprendidos los certificados digitales y cómo hacen posible la criptografía mediante claves públicas, el siguiente paso consiste en aplicar esta información a la seguridad de los mensajes. En la próxima sección se explica cómo los certificados digitales hacen posibles los servicios básicos de seguridad que abarcan las firmas digitales y el cifrado de mensajes.

Cómo se utilizan los certificados digitales para las firmas digitales

Como se ha explicado en la anterior sección "Criptografía mediante claves públicas y firmas digitales" en Descripción de la criptografía mediante claves públicas, la relación entre una clave pública y la clave privada de un usuario permite a un destinatario autenticar y validar el mensaje de un remitente. Los certificados digitales hacen posible la criptografía mediante claves públicas al ofrecer un medio confiable de distribuir y tener acceso a claves públicas. Cuando un remitente está firmando un mensaje, proporciona la clave privada asociada a la clave pública que está disponible en el certificado digital. A su vez, cuando el destinatario está validando la firma digital de un mensaje, está obteniendo del certificado digital del remitente la clave pública para realizar dicha operación. La figura siguiente muestra la secuencia de firma, con la incorporación de los elementos auxiliares de los certificados digitales.

35451fb8-5e11-4d67-ba6e-e5d4da6febca

  1. Se captura el mensaje.
  2. Se calcula el valor de hash del mensaje.
  3. Se recupera la clave privada del remitente del certificado digital del remitente.
  4. Se cifra el valor de hash con la clave privada del remitente.
  5. Se anexa al mensaje el valor de hash cifrado como una firma digital.
  6. Se envía el mensaje.

La figura siguiente muestra la secuencia de comprobación, con la incorporación de los elementos auxiliares de los certificados digitales.

d1b14a27-5cfb-4df2-89f7-990219378716

  1. Se recibe el mensaje.
  2. Se recupera del mensaje la firma digital que contiene el valor de hash cifrado.
  3. Se recupera el mensaje.
  4. Se calcula el valor de hash del mensaje.
  5. Se recupera la clave pública del remitente del certificado digital del remitente.
  6. Se descifra con la clave pública del remitente el valor de hash cifrado.
  7. Se compara el valor de hash descifrado con el valor de hash obtenido en la recepción.
  8. Si los valores coinciden, el mensaje es válido.

Como se muestra en estas secuencias, los certificados digitales brindan acceso a las claves públicas para la comprobación de la firma digital.

Cómo se utilizan los certificados digitales para el cifrado de mensajes

Del mismo modo que los certificados digitales hacen posible las firmas digitales al hacer que las claves públicas estén disponibles para el proceso de comprobación, los certificados digitales también hacen posible el cifrado de mensajes al hacer que las claves públicas estén disponibles, de forma que puedan utilizarse las claves para el proceso de cifrado. Como se ha explicado en la sección "Criptografía mediante claves públicas y cifrado de mensajes" en Descripción de la criptografía mediante claves públicas, un remitente puede tener acceso a la clave pública del destinatario, lo que permite al remitente cifrar el mensaje, sabiendo que sólo el destinatario podrá descifrarlo. Esta vez es el certificado digital del destinatario el que hace posible que se realice el cifrado. Como ocurre con las firmas digitales, la clave pública de los certificados digitales hace posible la operación. La figura siguiente muestra la secuencia de cifrado con los elementos auxiliares de los certificados digitales.

21058391-2d70-42f9-bf25-8ead79705b27

  1. Se captura el mensaje.
  2. Se recupera la clave pública del certificado digital del destinatario.
  3. Se genera la clave de sesión simétrica de un único uso.
  4. Se realiza la operación de cifrado en el mensaje mediante la clave de sesión.
  5. Se cifra la clave de sesión mediante la clave pública del destinatario.
  6. Se incluye la clave de sesión cifrada en el mensaje cifrado.
  7. Se envía el mensaje.

La figura siguiente muestra la secuencia de descifrado, con la incorporación de los elementos auxiliares de los certificados digitales.

50f0afca-e520-46b5-8e12-6e295dfe86d9

  1. Se recibe el mensaje.
  2. Se recuperan del mensaje el mensaje cifrado y la clave de sesión cifrada.
  3. Se recupera la clave privada del destinatario del certificado digital del destinatario.
  4. Se descifra la clave de sesión mediante la clave privada del destinatario obtenida a partir del certificado digital del destinatario.
  5. Se descifra el mensaje con la clave de sesión descifrada.
  6. Se devuelve el mensaje sin cifrar al destinatario.

Cómo se utilizan los certificados digitales para las firmas digitales y el cifrado de mensajes

Las firmas digitales y el cifrado de mensajes se complementan uno a otro. La figura siguiente muestra la secuencia de firma y cifrado, con la incorporación de los elementos auxiliares de una firma digital.

e81cca9b-c780-49d9-a3f9-69cc3c442183

  1. Se captura el mensaje.
  2. Se calcula el valor de hash del mensaje.
  3. Se recupera la clave privada del remitente del certificado digital del remitente.
  4. Se recupera la clave pública del destinatario del certificado digital del destinatario.
  5. Se cifra el valor de hash con la clave privada del remitente.
  6. Se anexa al mensaje el valor de hash cifrado como una firma digital.
  7. Se genera la clave de sesión simétrica de un único uso.
  8. Se realiza la operación de cifrado en el mensaje mediante una clave de sesión.
  9. Se cifra la clave de sesión mediante la clave pública del destinatario.
  10. Se incluye la clave de sesión cifrada en el mensaje cifrado.
  11. Se envía el mensaje.

La figura siguiente muestra la secuencia de descifrado y comprobación de la firma digital, con la incorporación de los elementos auxiliares de la criptografía mediante claves públicas.

97705e57-0a94-4197-99c3-40bb58a9eaa0

  1. Se recibe el mensaje.
  2. Se recuperan del mensaje el mensaje cifrado y la clave de sesión cifrada.
  3. Se recupera la clave privada del destinatario del certificado digital del destinatario.
  4. Se descifra la clave de sesión mediante la clave privada del destinatario obtenida a partir del certificado digital del destinatario.
  5. Se descifra el mensaje con la clave de sesión descifrada.
  6. Se recupera del mensaje la firma digital que contiene el valor de hash cifrado.
  7. Se calcula el valor de hash del mensaje.
  8. Se recupera la clave pública del remitente del certificado digital del remitente.
  9. Se descifra con la clave pública del remitente el valor de hash cifrado.
  10. Se compara el valor de hash descifrado con el valor de hash obtenido en la recepción.
  11. Si los valores coinciden, el mensaje es válido.
  12. Se devuelve el mensaje sin cifrar al destinatario.

Si entiende cómo los certificados digitales hacen posible la criptografía mediante claves públicas y cómo funciona la criptografía mediante claves públicas para ofrecer los servicios básicos de seguridad para las firmas digitales y el cifrado de mensajes, entenderá cómo funciona la seguridad de los mensajes con S/MIME. Juntos, estos conceptos conforman el núcleo fundamental de la seguridad de los mensajes.