Certificados Digitales
Certificados Digitales
Cada certificado digital contiene el nombre del usuario y su clave pública, así como su período de validez y, para dotarlo de mayor seguridad (garantizar la autenticidad y la integridad), está firmado con la clave privada de la Autoridad de Certificación.
En la Tabla se especifican los campos incluidos en un certificado digital, según la norma X.509 de la ITU-T. El estándar X.509v1 se presentó en 1988. Posteriormente, el estándar X.509v2 añadió dos campos más a la versión anterior. Finalmente, en 1999 se aprobó el estándar X.509v3 (RFC 5280) propuesto por la IETF, que introduce el campo de extensiones del certificado para facilitar la inclusión de información adicional.
Estructura de un certificado X.509
Versión |
Número de serie |
Nombre del emisor (Autoridad de Certificación) |
Inválido antes del UTC (Universal Time Clock) |
Inválido después de UTC |
Nombre del sujeto |
Clave pública del sujeto |
Ejemplo de Generación de un Certificado Digital por una Autoridad de Certificación.
Este campo de extensiones del certificado permite definir, entre otras cuestiones, cómo puede utilizarse el certificado por parte del usuario: uso para firma electrónica, no repudiación de documentos, intercambio cifrado de claves de sesión, autenticación de cliente o de servidor, firma de código, etc.
La definición de Perfiles de Certificados permite incorporar extensiones específicas al estándar X.509v3, entre las que pueden citarse:
- PKIX (del idioma inglés, Internet PKI Profile): requiere de un conjunto de extensiones que permiten especificar cuál va a ser el uso de la clave privada; incorpora nombres alternativos del sujeto relacionados con Internet, como direcciones de correo, direcciones URL o nombres de DNS de dispositivos.
- ISO 15782: es un perfil de certificados definido para aplicaciones bancarias.
- SEIS (del idioma inglés, Secured Electronic Information in Society).
Por otra parte, un Certificado Raíz es un certificado emitido por una Autoridad de Certificación para sí misma, e incluye su clave pública y está firmado por su clave privada. Suele venir instalado en el navegador para poder reconocer los certificados emitidos por dicha Autoridad de Certificación, si el usuario bien también puede instalarlos posteriormente, sobre todo en aquellos casos en los que sea necesario añadir nuevos Certificados Raíz de otras Autoridades de Certificación con las que vaya a interactuar. Gracias a la utilización de los Certificados Raíz se cumple con la condición de que la clave pública de la Autoridad de Certificación pueda ser conocida por todos los sujetos que participan en el sistema de Infraestructura de Clave Pública.
TIPOS DE CERTIFICADOS DIGITALES
Pueden distinguirse distintos tipos de certificados digitales, atendiendo al sujeto o la entidad que pretenden identificar.
- Certificado de usuario final
- Certificado de firma de software o de un componte informático.
- Certificados de servidor SSL
Certificado de usuario final
Son los certificados emitidos para una persona física, por lo que contienen sus datos personales.
Pueden estar soportados por una tarjeta criptográfica o bien estar almacenados en un archivo protegido dentro de su puesto de trabajo. Además, en este último caso pueden integrarse con el navegador y los programas de correo electrónico para utilizar estos servicios de Internet en forma segura. También pueden emitirse este tipo de certificados a favor de una determinada organización o persona jurídica.
Certificado de firma de software o de un componente informático
Se emiten a favor de una determinada organización y se utilizan para verificar los distintos productos y herramientas de software que han sido desarrollados por ésta. Contienen datos identificativos y se usan integrados con herramientas de firma de software.
Certificados de servidor SSL
Son certificados digitales emitidos para garantizar la autenticidad de un determinado servidor perteneciente a una organización. En este sentido, se integran en servidores Web que soporten los protocolos SSL (del idioma inglés, Socket Secure Layer) y SET (del idioma inglés, Secure Electronic Transaction).
CLASES DE CERTIFICADOS DIGITALES DE USUARIO FINAL
También es posible establecer varias clases de certificados digitales, teniendo en cuenta el proceso de identificación seguido y el tipo de información que se incluye en cada certificado:
Clase 1: antes de su emisión se verifican el nombre y la dirección de correo electrónico del usuario, aunque éstos podrían ser falseados por un usuario malicioso, ya que sólo basta con enviar a la Autoridad de Certificación un correo indicando el nombre y la dirección de correo electrónico del solicitante.
Clase 2: en este caso una persona con autoridad suficiente se encarga de verificar el documento nacional de identidad del usuario u otro documento que acredite su identidad (por ejemplo, licencia de conductor) antes de proceder a la emisión del correspondiente certificado digital.
Clase 3: para su emisión es necesario verificar, además de la identidad del usuario, la información relativa al nivel de crédito que se le puede conceder.
Clase 4: el certificado digital también incluye información sobre la posición de la persona dentro de una organización.
CERTIFICADOS DE ATRIBUTOS DE CONTROL DE ACCESO
Un Certificado de Atributos es una estructura de datos, firmada por una Autoridad de Certificación, que enlaza los valores de determinados atributos con la información de identificación de su propietario.
A diferencia de los certificados de clave pública, en este caso el objetivo que se persigue es el de ofrecer un servicio de autorización (control de acceso) y no se está autenticando directamente al portador del mismo, aunque si se combina con un servicio de autenticación (es decir, en un certificado de identidad), permitiría probar quién es el usuario y qué tipo de operaciones se le permiten realizar dentro del sistema de información basado en TICs.
A pesar de que el Certificado de Identidad permite transportar atributos, no es recomendable utilizarlos para representar derechos o privilegios de acceso a recursos por diferentes motivos:
- A veces es deseable el anonimato del usuario que desea acceder al recurso.
- El período de validez del privilegio o atributo puede ser bastante inferior si lo comparamos con el período de validez de un certificado de clave pública, lo que implicaría la revocación del certificado y posterior emisión de uno nuevo, con un aumento de las CRLs.
- La Autoridad de Certificación tiene la función de ser fuente de autoridad de identidades, pero no tiene por qué ser la fuente de autoridad para privilegios, es decir, para conceder permiso de utilización de los recursos de una determinada organización.
- La autorización posee ciertas características como la delegación (traspasar ciertos privilegios a un subconjunto de éstos a otra persona durante un período de tiempo), que no proporcionan los Certificados de Identidad.
Para solventar los inconvenientes anteriores, pueden utilizarse los Certificados de Atributos. De hecho, la ITU-T propuso la arquitectura PMI (del idioma inglés, Privilege Management Infraestructure) mediante la Recomendación X.509v4, como el conjunto de hardware, software, personas, políticas y procedimientos necesarios para crear, gestionar, almacenar, distribuir y revocar Certificados de Atributos.
UTILIZACIÓN PRÁCTICA DE LA FIRMA ELECTRÓNICA
Firma Electrónica y Autenticación de Documentos
Se muestra los datos recibidos por un usuario en un sistema criptográfico que combine el cifrado simétrico con las firmas digitales, bajo la supervisión de una Autoridad de Certificación.
Cabe recordar que en este caso se recurre al cifrado simétrico para encriptar los mensajes transmitidos por ser computacionalmente más eficiente que el cifrado asimétrico, pero se tiene que emplear cifrado asimétrico para el intercambio de la clave de encriptación, así como la firma electrónica para garantizar la integridad y la autenticidad del mensaje.
Según este esquema, el destinatario recibe el mensaje encriptado mediante un sistema simétrico, la firma electrónica de dicho mensaje generada por el emisor, la clave de encriptación simétrica que, a su vez, ha sido encriptada con la clave pública del destinatario, y un certificado digital con la identidad y clave pública del emisor, firmado digitalmente con la clave privada de la Autoridad de Certificación.
Poniendo un poco de orden, se detallan a continuación los pasos que debe seguir el destinatario para recuperar el mensaje original y asegurarse de la identidad del emisor, así como de la integridad y la autenticidad del mensaje:
1. Utiliza su clave privada para desencriptar la clave de encriptación del mensaje.
2. Utiliza la clave de encriptación del mensaje (correspondiente al algoritmo de cifrado simétrico) para recuperar el mensaje original. De este modo, se garantiza la confidencialidad, ya que sólo el destinatario puede desencriptar el mensaje.
3. Calcula la “huella digital” del mensaje desencriptado.
4. Comprueba la validez del certificado digital del remitente, utilizando la clave pública de la Autoridad de Certificación (que es conocida por todos los usuarios de la infraestructura PKI).
5. Extrae la clave pública del remitente que se encuentra en su certificado digital.
6. Extrae de la firma electrónica del mensaje recibido la “huella digital” del mensaje original, utilizando para ello la clave pública del remitente.
7. Comprueba si las dos “huellas digitales” obtenidas coinciden, lo cual garantiza la integridad y la autenticación del mensaje.
Por supuesto, todos estos pasos son realizados por software específico que se ejecuta en el dispositivo del destinatario, de forma automática, ocultando la complejidad del sistema criptográfico.
ESTÁNDARES DE LA TECNOLOGÍA DE CLAVE PÚBLICA: PKCS
Los estándares de PKCS (del idioma inglés, Public Key Cryptography Standards) fueron desarrollados por la empresa RSA en conjunto con fabricantes de productos de software. Se trata de una serie de estándares que pretenden impulsar el desarrollo de la firma electrónica, la criptografía de clave pública y los servicios de certificación electrónica. Seguidamente se presentan los principales estándares PKCS:
- PKCS#1: define el algoritmo RSA para la encriptación y desencriptación de mensajes y documentos.
- PKCS#3: define el algoritmo Diffie-Hellman para el intercambio seguro de claves.
- PKCS#5: define un algoritmo para encriptar mensajes mediante una contraseña DES compartida.
- PKCS#6: sintaxis para certificados digitales, basada en el estándar X.509.
- PKCS#7: sintaxis para describir mensajes encriptados y firmados digitalmente.
SEGURIDAD DE LOS SISTEMAS BASADOS EN LA FIRMA ELECTRÓNICA
La seguridad de los sistemas criptográficos depende de varios factores, entre los que pueden destacarse:
- La validez de los algoritmos criptográficos empleados.
- La correcta implementación de los algoritmos y protocolos por parte de los fabricantes de software. De hecho, estas empresas pueden cometer errores de programación que provocan vulnerabilidades en los sistemas, los cuales tendrán que ser corregidos mediante parches y actualizaciones de las aplicaciones.
- El tamaño de las claves empleadas en los algoritmos criptográficos: el número de bits utilizados para construir las claves determina la robustez de los algoritmos.
- La confianza depositada en el proceso de generación y distribución de la pareja de claves de cada usuario y de los certificados digitales, para lo cual resulta fundamental el papel de una PKI.
En el proceso de generación de claves puede recurrirse a dos alternativas: que la pareja de claves pública y privada sea generada por el propio usuario, quien a continuación debe presentar la primera de ellas ante una Autoridad de Certificación para que ésta pueda generar el correspondiente certificado digital, frente a la opción que dichas claves sean generadas por la Autoridad de Certificación.
Conviene destacar que si se empleasen claves de tamaño reducido, el algoritmo será vulnerable a un ataque de “fuerza bruta”. Por este motivo, a medida que se incrementa la potencia de cálculo de los procesadores, se recomienda aumentar el tamaño de las claves para mejorar la robustez de los algoritmos criptográficos.
Por otra parte, otro aspecto de vital importancia es que los procesos de creación y de verificación de una firma digital tienen que realizarse en un entorno de confianza. Para ello resulta fundamental que sólo el legítimo propietario pueda tener acceso a la clave privada.
Sin embargo, debe tenerse en cuenta la dificultad actual que supone para un usuario medio la descarga, instalación en su dispositivo, y exportación de sus claves y certificados digitales, ya que es un proceso que aún requiere de una serie de conocimientos técnicos.
Además, el robo o extravío de una computadora portátil que tenga instalados certificados digitales de un determinado usuario u organización puede tener como consecuencia su utilización fraudulenta por parte de terceros, quienes pueden llegar a suplantar la identidad de la víctima.
Por últimos, no debe olvidarse la fiabilidad de las aplicaciones de firma digital y de sus componentes; estas aplicaciones se ejecutan en sistemas informáticos que pueden estar sometidos a ataques e infecciones de código malicioso, comprometiendo de este modo el proceso de creación de la firma electrónica.