Certificados digitales

Los certificados proporcionan una forma de autenticación de usuarios. En lugar de requerir que cada participante de una aplicación autentique cada usuario, la autenticación de terceros depende del uso de certificados digitales.

Un certificado digital equivale a una tarjeta de ID electrónica. El certificado tiene dos fines:
  • Establecer la identidad del propietario del certificado
  • Distribuir la clave pública del propietario

Los certificados los emiten terceros fiables, denominadas entidades emisoras de certificados (CA). Estas autoridades pueden ser empresas comerciales o entidades locales, según los requisitos de la aplicación. La CA tiene crédito para autenticar adecuadamente usuarios antes de emitir certificados. Una CA emite certificados con firmas digitales. Cuando un usuario presenta un certificado, el destinatario del certificado lo valida utilizando la firma digital. Si la firma digital valida el certificado, éste se reconoce como intacto y auténtico. Los participantes de una aplicación sólo necesitan validar certificados; no necesitan autenticar usuarios. El hecho de que un usuario pueda presentar un certificado válido prueba que la CA ha autenticado el usuario. La designación, "terceros fiables", indica que el sistema confía en la honradez de las CA.

Los certificados y claves privadas se almacenan en archivos denominados almacenes de claves y almacenes de confianza.
  • Un almacén de claves mantiene los certificados de claves privadas y públicas de una aplicación.
  • Un almacén de confianza contiene los certificados de CA necesarios para autenticar certificados que presentados por otra aplicación.

Contenido de un certificado digital

Un certificado contiene varios fragmentos de información, incluida información sobre el propietario del certificado y la CA emisora. De forma específica, un certificado incluye:
  • El nombre distinguido (DN) del propietario. Un nombre distinguido (DN) es un identificador exclusivo, un nombre completo que incluye no sólo el nombre común (CN) del propietario sino también la organización del propietario y otra información característica.
  • La clave pública del propietario.
  • La fecha en la que se emite el certificado.
  • La fecha en la que caduca el certificado.
  • El nombre distinguido de la CA emisora.
  • La firma digital de la CA emisora. La función de resumen de mensaje crea una firma basándose en todos los campos enumerados anteriormente.

La idea de un certificado es que una CA toma la clave pública del propietario, firma la clave pública con su propia clave privada y devuelve la información al propietario en forma de certificado. Cuando el propietario distribuye el certificado a otra parte, firma el certificado con su clave privada. El destinatario puede extraer el certificado que contiene la firma de CA con la clave pública del propietario. Utilizando la clave pública de CA y la firma de CA en el certificado extraído, el destinatario puede validar la firma de CA. Si es válida, la clave pública que se utiliza para extraer el certificado se considera buena. La firma del propietario se valida y, si la validación es correcta, el propietario se autentica satisfactoriamente para el destinatario.

La información adicional del certificado ayuda a una aplicación a determinar si acepta el certificado. Con la fecha de caducidad, la aplicación puede determina si el certificado sigue siendo válido. Con el nombre de la CA emisora, la aplicación puede comprobar que el sitio considere fiable la CA.

Una aplicación que necesita autenticarse a sí misma debe proporcionar su certificado personal, el que contiene su clave pública y el certificado de la CA que firma su certificado, llamado certificado de firmante. En los casos en los que se han establecido cadenas de confianza, pueden haber varios certificados de firmante.

Solicitud de certificados

Para obtener un certificado, envíe una solicitud de certificado a la CA. La solicitud de certificado incluye:
  • El nombre distinguido del propietario o del usuario para el que se solicita el certificado
  • La clave pública del propietario
  • La firma digital del propietario

La función de resumen de mensaje crea una firma basándose en todos los campos enumerados anteriormente.

La CA verifica la firma con la clave pública de la solicitud para asegurarse de que la solicitud está intacta y es auténtica. A continuación, la CA autentica el propietario. En qué consiste exactamente la autenticación dependerá de un acuerdo anterior entre la CA y la organización que la solicita. Si el propietario de la solicitud se autentica satisfactoriamente, la CA emite un certificado para ese propietario.

Utilización de certificados: cadena de confianza y certificado autofirmado

Para verificar la firma digital de un certificado, debe tener la clave pública de la CA emisora. Las claves públicas se distribuyen en certificados, por lo que debe haber un certificado para la CA emisora que esté firmado por el emisor. Una CA puede certificar otras CA, de modo que la cadena de CA puede emitir certificados para otras CA, todas de las que necesite claves públicas. Finalmente, se alcanza una CA raíz que emite para sí misma un certificado autofirmado. Para validar un certificado de usuario, necesitará certificados para todos los participantes que intervienen hasta la CA raíz. Entonces tendrá las claves públicas necesarias para validar cada certificado, incluido el certificado de usuario.

Un certificado autofirmado contiene la clave pública del emisor y se firma con la clave privada. La firma digital se valida como cualquier otra, y si el certificado es válido, la clave pública que contiene se utiliza para comprobar la validez de otros certificados emitidos por la CA. No obstante, cualquiera puede generar un certificado autofirmado. De hecho, probablemente puede generar certificados autofirmados con fines de prueba antes de instalar certificados de producción. El hecho de que un certificado autofirmado contenga una clave pública válida no significa que el emisor sea una entidad emisora de certificados fiable. Para asegurarse de que los certificados autofirmados los generen CA fiables, dichos certificados deben distribuirse por medios seguros, por ejemplo; entregados en mano en disquetes, descargados de sitios seguros, etc.

Las aplicaciones que utilizan certificados los almacenan en un archivo de almacén de claves. Este archivo normalmente contiene los certificados personales necesarios, sus certificados de firma y su clave privada. La clave privada la utiliza la aplicación para crear firmas digitales. Los servidores siempre tienen certificados personales en sus archivos de almacén de claves. Un cliente requiere un certificado personal sólo si el cliente debe autenticarse con el servidor cuando está habilitada la autenticación mutua.

Para permitir que un cliente autentique un servidor, un archivo de almacén de claves de servidor contiene la clave privada y el certificado del servidor, y los certificados de su CA. Un archivo de almacén de confianza de cliente debe contener los certificados de firmante de las CA de cada servidor que cada cliente debe autenticar. El diagrama siguiente ilustra cómo un cliente autentica un servidor.
Este diagrama muestra cómo un cliente autentica un servidor y se describe en el texto anterior.
Si es necesaria la autenticación mutua, el archivo de almacén de claves del cliente debe contener el certificado y la clave privada del cliente. El archivo de almacén de confianza del servidor requiere una copia del certificado de la CA del cliente. El diagrama siguiente ilustra la autenticación mutua.
Este diagrama ilustra la autenticación mutua y se describe en el texto anterior.