Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 1, Número 12, Septiembre de 2002
FIRMAS DIGITALES
Gerardo Vega Hernández
gerardov@servidor.unam.mx

 

Cada vez es más común la utilización de las comunicaciones electrónicas para realizar diversas actividades, desde comprar un disco hasta participar en licitaciones públicas, pasando por operaciones financieras de todo tipo. El número de transacciones electrónicas se incrementa año con año, así como los montos involucrados, gracias a que la población está perdiendo paulatinamente su desconfianza hacia estos mecanismos.

Sin embargo, aún falta mucho para que la confianza de la población en las operaciones en línea sea total. La mayoría de los involucrados en estos procesos, reconocen que es necesario garantizar la inviolabilidad de las comunicaciones electrónicas si se desea aprovechar todo el potencial que ofrecen las transacciones electrónicas.

Una manera de lograrlo consiste en la utilización de la criptografía y de algunas herramientas relacionadas con ésta, como son: las firmas, los certificados y sobres digitales. Pero antes de entrar a la descripción de estos conceptos, veamos primero qué es lo que se entiende por criptografía.

En términos sencillos y de una manera muy general, podemos decir que la criptografía es el conjunto de técnicas que permiten diseñar funciones o dispositivos, capaces de transformar mensajes legibles o en claro, a mensajes cifrados, de tal manera que esta transformación y su transformación inversa (desciframiento) sólo pueden ser factibles con el conocimiento de claves, las cuales pueden ser de carácter público o secreto. Ahora bien, actualmente la criptografía se emplea fudamentalmente para salvaguardar la privacidad e integridad de la información que se almacena y/o transmite mediante dispositivos electrónicos.

En nuestros días, los procedimientos para cifrar o descifrar información se realizan con la ayuda de equipos electrónicos de cómputo, y normalmente a un dispositivo o proceso que realiza dichos procedimientos se le denomina sistema de cifrado. Así pues y desde una perspectiva actual, un sistema de cifrado no es otra cosa que una implementación computacional de alguna técnica criptográfica en particular. La característica fundamental de este tipo de sistemas es que su uso involucra el conocimiento de claves, es decir, la operación de un sistema de cifrado requiere de claves, las cuales determinan la manera en que habrá de cifrarse o descifrarse la información que el sistema procesa. En una forma confidencial, estas claves pueden ser elegidas por el usuario del sistema de cifrado, o bien en algunos casos, se generan aleatoriamente por el sistema a petición del mismo usuario. De esta manera, para un atacante que intente frustrar el uso de mensajes cifrados entre dos o más entidades, no le será suficiente sólo el conocimiento del tipo de sistema de cifrado que se esté empleando para generar dichos mensajes.

Los sistemas de cifrado se clasifican en dos categorías: los de clave pública y los de clave secreta. Estos últimos son los más antiguos pues existen evidencias de que fueron usados desde la época de los romanos, mientras que aquéllos son muy recientes pues su aparición data de los años setenta. La característica fundamental de un sistema de clave secreta, es que en su empleo existe una sola clave, la cual igual sirve para cifrar o descifrar información, y por tal razón, dos entidades que intercambien información cifrada, a través de dicho sistema, deberán acordar y mantener en secreto una clave. Por esta razón, es que a este tipo de sistemas se les denomina sistemas de cifrado de clave secreta.

Por otro lado, para el caso de los sistemas de clave pública, se contemplan dos claves, en donde el conocimiento de una de ellas no implica, de ninguna manera, la deducción fácil de la otra. Estas claves se emplean en el sistema para cifrar o descifrar información, sin embargo la relación que guardan tales claves es de tal modo que, si se cifra información con una de ellas, entonces el desciframiento correspondiente sólo será posible con la intervención de la otra clave. Ahora bien, debido a que el conocimiento de una de las claves no implica el conocimiento de la otra, entonces un usuario de este tipo de sistemas puede a través del mismo sistema, generar un par de claves y hacer pública una de las dos y mantener en secreto la otra. De esta manera, cualquiera que quisiera hacerle llegar información confidencial a este usuario, requeriría sólo de una copia auténtica de la clave que se hizo pública y usaría ésta para cifrar la información, la cual, ahora, sólo podrá ser descifrada con la clave que mantiene en secreto el usuario. En este tipo de sistemas, es común denominar a la clave que se hace pública como clave pública y a la clave que se mantiene en secreto como clave privada. La razón de esto último, es que de esta forma, se reserva el término de clave secreta para los sistemas de clave secreta.

Antes de continuar con la descripción de los sistemas de cifrado, es conveniente hacer una aclaración acerca de algunos de los términos que ya se han introducido. Es importante tener presente que algunas personas relacionadas con estos temas, emplean las palabras de “encripción” y “desencripción” para referirse a los términos de cifrar y descifrar que aquí hemos empleado. La razón de lo anterior, se debe a que se hace una mala traducción de la palabra inglesa encryption, cuya traducción más apropiada al español es cifrar. Algo muy parecido pasa también con la palabra “llave”, que en el contexto de los temas que aquí se han tratado, se emplea en lugar de clave. La razón de esto se debe a que, en esta ocasión, se hace una traducción textual de la palabra en inglés key.

Dando por concluida la aclaración anterior y regresando a los temas que nos ocupan, debe observarse que con los sistemas de cifrado de clave pública se resuelve el problema de intercambio seguro de las claves para cifrar, el cual se presenta en el caso de los sistemas de cifrado de clave secreta. Sin embargo, se presenta uno nuevo; ha saber el de la autenticidad de las claves públicas, el cual se describe a continuación.

Suponga que dos usuarios, A y B emplearán un sistema de cifrado de clave pública para intercambiar información, para esto suponga que el usuario A genera su par de claves, haciendo una de éstas pública y la otra, manteniéndola en secreto. Una manera en que A puede hacer pública su clave es solicitando que ésta aparezca en un directorio de acceso general, el cual básicamente es una lista que relaciona los usuarios del sistema de cifrado de clave pública, con sus correspondientes claves públicas. Así pues, para que B pueda mandar información confidencial a A es necesario primero, como ya se dijo, que B obtenga una copia de la clave pública de A, la cual podría, por ejemplo, obtenerse después de consultar dicho directorio. Sin embargo, suponga que un oponente O, tuviese la posibilidad de alterar las entradas del directorio de claves públicas, a tal grado que logra cambiar la clave pública de A por la suya propia. De esta manera, cuando B o cualquier otro usuario consulte el directorio en busca de la clave pública de A, éste obtendría como resultado una copia de la clave pública del oponente O en lugar de la de A. El usuario B creyendo que es una copia auténtica de la clave pública de A, usaría ésta para cifrar la información, la cual al ser interceptada por O podrá ser descifrada con su clave privada. Más aún, dado que O tiene la copia auténtica de la clave pública de A, puede usar ésta para volver a cifrar la información que recibiera de B y reexpedir tal información cifrada con destino a A. Observe pues, que en este escenario tanto A como B serían totalmente vulnerables a la actividad perniciosa de O.

Pero entonces, ¿cómo resolver esta problemática? Es decir, ¿cómo se resuelve el problema de la autenticación de las claves públicas? Para dar respuesta a esta pregunta es necesario que primero se describa el concepto de firma digital, cuyo fundamento se encuentra estrechamente ligado a los sistemas de cifrado de clave pública, y de ahí que la aparición de las firmas digitales fuera, apenas, un poco después de la entrada al escenario de los sistemas de cifrado de clave pública.

Supóngase pues, que yo como usuario de uno de estos sistemas genero mi propio par de claves, una privada y la otra pública, y suponga también que tengo un documento digital (por ejemplo, un documento en Word, un archivo simple de texto, etc.) que no considero confidencial, pero que cifro con mi clave privada. Este documento cifrado sólo podrá ser descifrado con la clave pública correspondiente, la cual por ser precisamente pública podrá ser obtenida por cualquiera. Así pues, suponga ahora que alguien recibe dicho documento cifrado, el cual presumiblemente fue originado por mí. Este alguien emplearía mi clave pública para intentar descifrar el documento y supongamos que consigue efectivamente su desciframiento, ¿cuál sería la conclusión a la que llegaría ese alguien sobre la autenticidad del documento cifrado? La respuesta claramente es que el documento es auténticamente mío, en el sentido de que el único que pudo haberlo cifrado es el poseedor de la clave privada que corresponde a la clave pública con que se descifró y dado que esta última clave corresponde a la mía, entonces el único que pudo haber generado tal documento cifrado fui yo. Obsérvese que en estas circunstancias, si yo no he comprometido mi clave privada, entonces tampoco seré capaz de negar la autoría de dicho documento, esto último es precisamente el principio de lo que se conoce como firma digital.

En la práctica, la firma digital de un documento no es realmente el cifrado del documento mismo, lo que realmente se cifra, con la clave privada del firmante, es lo que se conoce como la huella digital del documento a firmar. Sin tener la intención de entrar en detalle, la huella digital de un documento, es un pequeño bloque de información de tamaño fijo el cual se obtiene al procesar, de una manera ya preestablecida, el documento que se firma. La idea que se persigue aquí, es que las huellas digitales sean para los documentos digitales el análogo a las huellas dactilares entre los seres humanos. Esto es, las huellas digitales de dos documentos diferentes, aun con diferencias mínimas, deberán ser diferentes con una gran probabilidad. De hecho, por la forma en que se obtiene la huella digital de un documento, se sabe que es más probable que una persona se saque la lotería consecutivamente durante todo un año, a que dos documentos escogidos al azar tengan la misma huella digital. Más aún, resulta extremadamente difícil hacer pequeñas o grandes modificaciones a un documento elegido al azar, de tal manera que
el documento original y el modificado tengan la misma huella digital.

Entonces, reiterando, la firma digital de un documento, no es más que el cifrado, con la clave privada del firmante, de la huella digital del documento que se firma. La ventaja de concebir a las firmas digitales de esta manera, es que así no sólo se logra autenticar al firmante, sino también al contenido del documento que se firma. Para aclarar esto, supóngase que un usuario A recibe, de alguna forma, un documento junto con la firma digital correspondiente, en donde A asume que dicho documento y firma fueron generados por el usuario B. Sin embargo, suponga que un oponente O logra alterar el documento, antes de que éste sea recibido por A. Lo anterior es perfectamente posible, pues se debe recordar que lo que cifra B con su clave privada es la huella del documento, más no el documento en sí, el cual permanece en claro i.e. legible. El usuario A al recibir el documento alterado junto con la firma digital original de B, procederá a generar la huella digital de tal documento y enseguida usará la clave pública de B para descifrar la huella digital que se encuentra en la firma correspondiente. Después de lo anterior, A tendrá dos huellas digitales; una la que él obtuvo directamente del documento y la que descifró de la firma digital. Claramente para el caso que estamos planteando, estas dos huellas no serán las mismas con una probabilidad altísima, y por tanto, A podrá entonces concluir que o bien la firma no fue generada realmente por el usuario B, o que el contenido del documento fue alterado con posterioridad a la generación de su firma. Observe que esto último es una gran ventaja de la firmas digitales sobre la firmas autógrafas, pues mientras que con éstas sólo se autentica al firmante, con aquéllas, además de autenticar al firmante, se autentifica también al documento mismo.

Después de esta explicación sobre las firmas digitales, debe quedar claro que el uso de tales firmas es la solución ideal para el problema de la autenticación de las claves públicas. Concretamente, para esta solución, se plantea la existencia de una autoridad, denominada autoridad certificadora, en la cual todo usuario del sistema de cifrado de clave pública confía. Esta confianza se ve reflejada en el hecho de que cada usuario del sistema mantiene una copia auténtica de la clave pública de esta autoridad, en donde, en principio, se han de tomar las medidas pertinentes para tener en buen resguardo tal clave, esto último, con el objeto de evitar que ésta sea cambiada. Ahora bien, la idea que sigue es la siguiente: cada vez que un nuevo usuario del sistema genere su par de claves, entonces será un requisito para él “certificar” su clave pública ante la autoridad certificadora, la cual entregará como resultado un certificado que ampara la propiedad de su clave pública. Dicho certificado se denomina comúnmente como certificado digital. Este certificado digital consiste básicamente en un documento en claro y su firma correspondiente con la clave privada de la autoridad, y donde, tal documento contiene, entre otras cosas, a la clave pública que se certifica. Estos certificados así creados pueden ahora ser publicados en cualquier directorio de claves públicas, sin el temor de que las claves públicas que contienen puedan ser alteradas. Esto último debido al hecho de que al firmarse el contenido del certificado con la clave privada de la autoridad, entonces cualquiera que tenga una copia auténtica de la clave pública de la autoridad certificadora, podrá a su vez autentificar la clave pública que contiene el certificado digital.

Para terminar el cuadro sólo falta mencionar los sobres digitales, los cuales son muy simples de entender una vez que se ha comprendido el concepto de firma y certificado digital. Así pues, un sobre está constituido por dos componentes; el primero es un documento el cual se ha cifrado utilizando un sistema de clave secreta, en donde la clave secreta que se empleó para dicho cifrado, se elige de manera aleatoria. El segundo componente es el cifrado de esta clave secreta aleatoria, la cual es cifrada con la clave pública del destinatario del sobre. Obsérvese entonces que un sobre digital así constituido, puede pasar por innumerables manos, pero el único que puede “abrir” el sobre, i.e. descifrar el documento cifrado en tal sobre, será su destinatario, pues es él, el único que posee la clave privada que permitirá descifrar la clave secreta, la cual a su vez permitirá el descifrado del documento que contiene el sobre. Es muy común que el documento que se transporta en un sobre digital, incluya también la firma digital del emisor de tal documento. Lo anterior es con el fin de que una vez que el destinatario haya abierto el sobre, se tenga entonces, además, la posibilidad de autenticar tanto al firmante como al documento mismo.

Por último, es importante enfatizar el papel relevante que tienen las firmas, certificados y sobres digitales, en relación con la seguridad de la información electrónica, de hecho, el que escribe esto, considera que en un plazo de 7 o 10 años, la gente hará suyos términos y conceptos que de alguna forma, hoy en día, se ubican como propios de especialistas en seguridad informática. El día de mañana será común para la gente e instituciones, el intercambiar información electrónica confidencial a través del uso de firmas, certificados o sobres digitales. Por lo anterior, un reto importante que se avizora es, por un lado, el generar en la población la confianza sobre las técnicas criptográficas modernas, cuyo fin principal es proteger la información electrónica. Por otro lado, será también necesario educar a esta misma población con el objeto de que, cada vez más y más, hagan suya esta nueva cultura sobre seguridad informática que habremos de ir moldeando entre todos.

Inicio | Contacto |