Los certificados digitales se crearon para solucionar el problema de la autentificación en las transacciones efectuadas por internet. En los sistemas de criptografía de clave asimétrica (Apartado 5.3.2) nos proporcionan dos claves, una pública y otra privada. ¿Cómo estamos seguros, al cien por cien, de que efectivamente la clave pública que nos envían sea de la persona correcta?. Se pensó pues en implementar una especie de documento digital que identificara al emisor, dando lugar a los Certificados Digitales, documentos basados en criptografía de clave pública y en el sistema de firmas digitales. Su principal objetivo era garantizar con toda confianza el vínculo existente entre una persona, entidad o servidor web con su pareja de claves correspondiente a un sistema criptográfico de clave pública. Un certificado digital contiene los datos identificativos de una persona o entidad y la llave pública de la misma, haciéndose responsable de la autenticidad de los datos que figuran en le certificado otra persona o entidad de confianza, denominada Autoridad Certificadora (AC). Las principales certificadores actuales son: Verisign y Thawte . El sistema lo podríamos comparar como algo muy parecido al trato que tiene nuestro Documento Nacional de Identidad, una autoridad de confianza (policía) verifica que la persona portadora de dicho documento es quien dice ser. Los datos que figuran, generalmente, en un certificado son:
- Versión del estándar, suele ser X.509 v3. La primera versión, v1, apareció en el año 1988 y junto con su origen ISO/ITU han hecho de X.509 la infraestructura de clave pública más ampliamente utilizada. Más tarde, en 1993, salió la segunda versión v2, con dos campos, identificando de forma única al emisor y al receptor del certificado. La versión v3 amplia funcionalidad al estándar X.509.
- Número de serie, único e identificador del certificado.
- Identificador del algoritmo de firma, algoritmo criptográfico utilizado para la firma digital.
- Autoridad Certificadora, datos sobre la autoridad que expide el certificado de validez.
- Fechas de inicio y de Fin, periodo de validez del certificado. No conviene que los certificados sean válidos por largos periodos de tiempo, ya que, mientras más vida tienen más probabilidades existe de que un extraño se apodere de las claves. Por eso es importante que se vayan actualizando. Este periodo de validez suele ser de un año.
- Propietario de la clave pública que se está firmando, datos de la persona o entidad vinculada al certificado.
- Algoritmo usado para la clave pública para obtener la firma digital de la Autoridad Certificadora.
- Llave pública vinculada a la persona o entidad junto con el algoritmo criptográfico para el que es aplicable.
- Firma de la Autoridad Certificadora que asegura la autenticidad del mismo.
- Información adicional.
El certificado digital vincula a una persona o entidad con una llave pública y mediante el sistema de firma digital se asegura que el certificado que recibimos es realmente de la persona que consta en el mismo. El sistema de firma digital liga un documento digital con una clave cifrada. La firma digital obtiene un resumen del texto aleatorio y lo cifra con la llave privada del propietario del certificado. Cuando el certificado llega junto con su firma digital, tan solo hay que obtener el resumen del mismo, descifrar la firma con la llave pública del remitente y comprobar que ambos resúmenes coinciden, lo que nos hace estar totalmente seguros de la autenticidad del certificado. Se firma el resumen del documento y no el documento en sí, para evitar ataques contra el sistema de cifrado RSA y para no hacer el proceso demasiado lento. ¿Cómo se obtienen los resúmenes del documento?, mediante funciones hash o de resumen de algoritmos criptográficos muy rápidos, de uso público e irreversible. Son funciones de dispersión que no usan ninguna clave y que transforman el mensaje original en una cadena de dígitos de longitud fija (entre 16 y 128 bits).
Los procesos de validación de certificados, obtención de resúmenes, descifrados y comprobación de coincidencias se realizan con el software adecuado del navegador web o programa de seguridad de forma transparente al usuario, por lo que este será informado sólo en el caso de que el certificado no sea válido. Se puede dar el caso de que haya que invalidar un certificado por varias razones:
- Las claves están comprometidas.
- La persona o entidad propietaria ha caído en quiebra o delito.
Esta invalidez puede llevarse a cabo por el propietario, por la autoridad certificadora o por las autoridades judiciales. Las autoridades de certificación disponen de unas bases de datos donde figuran los certificados anulados que se conocen con el nombre de listas de certificados revocados (CRL). Estas listas son firmadas por la autoridad certificadora y contienen la fecha de emisión, la lista de certificados anulados junto con su número de identificación y la fecha que ha sido revocado para cada uno de ellos. Existe otro tipo de autoridad de confianza denominada Autoridad de Oficialía de Partes encargada de firmar digitalmente los llamados recibos, documento digital donde se refleja la fecha actual a los documentos que recibe para su certificación, firmando luego el resultado con su clave privada. Mediante la CRL y un recibo de la Autoridad de Oficialía de Partes disponemos de pruebas suficientes para considerar cualquier transacción realizada como segura.
Los servicios de directorios o de consulta de certificados, son servicios ofrecidos por personas o entidades de confianza, por el que al recibir una petición de validez de un certificado responde al instante si en esa fecha y hora concreta el mismo es válido o si por el contrario está revocado, en cuyo caso proporcionará también dicha fecha de revocación. Para dar validez a la respuesta, el servicio de directorios firma con su llave privada la misma, con lo que el usuario estará seguro de la autenticidad de la respuesta recibida.