5.7 FIRMA DIGITAL En los sistemas con llave pública, cualquier persona puede cifrar un mensaje, mas solamente el destinatario de este mensaje puede descifrarlo. Invirtiéndose el uso de las llaves podemos tener un mensaje que sólo puede ser cifrado por una persona y descifrado por cualquier otra, obteniéndose así un efecto de personalización del documento, semejante a una firma. Un sistema de ese tipo es denominado firma digital. Así, para personalizar un mensaje, un determinado usuario A codifica un mensaje utilizando su llave secreta y lo envía para el destinatario. Solamente la llave pública de A permitirá decodificar el mensaje, por tanto es la prueba de que A envió el mensaje. Un mensaje así puede ser decodificado por cualquiera que tenga la llave pública de A. Para garantizar el secreto se debe criptografiar dos veces un mensaje: la primera utilizando su propia llave secreta (para hacer una firma digital) y seguir utilizando la llave pública del destinatario, para que solamente éste pueda leer el mensaje. PROPIEDADES La firma es auténtica: cuando un usuario usa una llave pública de A para descifrar un mensaje, él confirma que fue A y solamente A quien envió el mensaje. La firma no puede ser violada: solamente A conoce su llave secreta. El documento firmado no puede ser alterado: si hubiera cualquier alteración en el texto encriptado, éste no podría ser restaurado con el uso de la llave pública de A. La firma no es reutilizable: la firma es una función del documento y no puede ser transferida para otro documento. La asignación no puede ser rechazada: el usuario B no precisa de ninguna ayuda de A para reconocer su firma y A no puede negar tener firmado dicho documento. El par de llaves es único, Si usted encripta algo con su llave privada, entonces el receptor puede estar seguro que sólo usted pudo haber enviado el mensaje, pero la interrogante que se presentaría es que ¿realmente es usted quien retiene el componente de la llave privada?. Ante ésto ¿cómo hace el receptor para saber que usted es realmente quien dice que es, y no un impostor?. Es aquí donde aparecen las Autoridades de Certificación. Como se mencionó, nosotros ya usamos todos los tipos de autoridades de certificación en el mundo verdadero para los pasaportes, licencias de conducir, tarjetas de crédito, cuentas de banco, credenciales profesionales, etc. Cuando firma un documento, usted supone:
Hay leyes y convenciones que hacen estas suposiciones válidas. Pero, ¿cómo se lleva esto en el mundo de la red?. Nosotros necesitamos de algo que ayude a que nosotros aseguremos que el mensaje no ha sido cambiado (integridad de datos) y también impedirá a alguien, simplemente, pasar nuestra firma a otro documento que nosotros nunca hemos destinado para firmar. Esto podría ser realizado usando nuestra llave privada para encriptar el documento entero. Como se mencionó antes, esto se demoraría, a causa del gasto computacional de los algoritmos de llaves públicas. Así como la gente se comunica usando la criptografía de llave pública, simplemente cambiando un secreto compartido, entonces se hace uso de la cifra simétrica para proteger su comunicación. Hay algoritmos que reducirán documentos al mínimo, a este tipo de algoritmo se le conoce como una manera de confundir o "mensaje reducido". Estos algoritmos se usan para tomar cualquier tamaño de documento y crear una reducción única de lo que es siempre la misma longitud. Un mensaje reducido no puede revertirse, por lo tanto alguien debe tener el documento original que creó la reducción. Desde estas reducciones que son bastante pequeñas, toma mucho menos tiempo para encriptar la reducción con un algoritmo de llave privada y una llave pública. Las reducciones de mensajes son el segundo ingrediente para una firma digital. Si se envía juntos el documento y la reducción, se corre el riesgo de que alguien pueda manipular el mensaje y la reducción. Se debe proteger la reducción de la alteración con el uso de la criptografía de la llave pública. Para realizar ésto, se crea la reducción y entonces usamos nuestra llave privada para encriptar la reducción, así ya nadie podrá cambiarla. Esta reducción, encriptada con la llave privada del remitente, es un tipo de firma digital.
![]() El remitente crea una reducción de mensaje del documento y lo encripta usando la llave privada. El mensaje que está contenido en el documento y la firma, se envía entonces al destinatario. Si se desea privacidad, entonces ésto es encriptado. El destinatario aplica la llave pública del remitente a la firma digital, para recobrar la reducción del mensaje desde la firma digital, que el remitente creó con anterioridad. Luego el destinatario crea una nueva reducción del mensaje desde el mensaje que recibió y lo compara con el que estaba dentro de la firma digital. Si los dos son iguales, entonces el mensaje era verdaderamente el enviado por el remitente y ha llegado sin haber sido alterado. Estas acciones son usadas por el software para firmar y enviar, o recibir y verificar. El usuario puede ver algún indicio sobre la pantalla de que estas acciones se están realizando, pero las tareas son todas automatizadas. El usuario simplemente ve el documento que recibe y verifica. Ahora, se puede enviar un mensaje a alguien y tener la confianza que no será cambiado. Si no se quiere que alguien sea capaz de leer el mensaje, se puede encriptar tanto el mensaje como la firma, para protegerlos con anterioridad. Si se cree que la llave privada, usada para "firmar" la reducción, verdaderamente pertenece al remitente, se tiene:
Las firmas digitales no proveen privacidad, pero pueden fácilmente realizarse con la encriptación. Pero no se tiene todavía todos los ingredientes. Se necesita de alguna manera estar seguro que el propietario de la llave privada, que ha usado para firmar la reducción del mensaje, es quien dicen que es. Todos nosotros podemos decir realmente si el poseedor de la llave es el que ha firmado el documento, pero cómo estar seguro que el poseedor de la llave es quien dicen que es. Necesitamos que de alguna manera se comprometa una llave particular a un individuo o corporación. ALGORITMOS DE FIRMA DIGITAL Hay muchos algoritmos de firmas digitales que se han descrito en la literatura académica. En la práctica, hay tres importantes puntos que destacar :
Estos tres algoritmos tienen diferentes usos
y diferentes requerimientos. Firma Ilegible La función de la firma ilegible es similar a
la función de la encriptación. En realidad, algunas funciones de este
algoritmo son funciones de la encriptación poco modificado. Opera
mayormente tomando un bloque de datos en el tiempo y repetidamente usan
una simple función a gran velocidad, para modificar los bits. Si es
repetida a esta velocidad, entonces no conocerán la forma del resultado.
Esto no es práctico a algunos para modificar un documento de alguna manera
y hacer seguro que la misma salida emergerá desde la función de la firma
no legible. La firma ilegible usa la seguridad
criptográfica de la función de resumen, semejante a la Reducción de
Mensaje 5 (MD-5) o Algoritmo de Reducción Seguro (SHA),
para producir un valor de reducción desde un archivo. El procedimiento de
reducción concatena su llave secreta (que usted consigue de terceras
partes) con el archivo, reduciendo el archivo y combinando la llave. El
resultado del valor de la reducción, es enviando con el archivo y la
firma, pero la llave secreta es retenida. El receptor final también tiene
una copia de la llave secreta y usa ésta, para evaluar la
firma. En el caso de CyberCoin de CyberCash, los
usuarios consiguen llaves cuando ellos firman. Algunas llaves son
conocidas por su computadora y por la computadora central. Entonces la
transacción es leída, la cantidad del contenido del archivo y los detalles
son colocados juntos, entonces se firma con la llave secreta. (El cliente
ensambla el archivo, concatena la llave secreta, calcula la función de
reducción, y entonces envía el archivo y el resultado de la función de
reducción sin la llave secreta). El banco central puede verificar esta
transacción repetidamente por la computadora porque éste conoce el valor
secreto. La firma basada en la reducción puede ser
conocida con los algoritmos de la firma. Esto ha llegado a ser tan popular
últimamente, porque es menos intenso, computacionalmente, que otros
algoritmos. Muchos de los sistemas de pago microcash semejante al
Millicent or CyberCoin de DEC, usa la firma basada en reducción para
reducir el costo del proceso y hacer transacciones. Cada uno de estos
sistemas requieren de un servidor central para verificar cada transacción,
usando algoritmos que significa usar menos cálculo del servidor y
reduciendo la carga del servidor central. La mayor limitación de esta firma no legible
es que el receptor también casi siempre tiene una copia de su llave
secreta, para verificar la firma. Esto podría permitir al receptor fraguar
la firma. Mantener esta llave secreta es también incómodo y muchos usan la
infraestructura del secreto compartido. Las Firmas DSS y RSA Estos otros dos algoritmos de firmas, DSS y
RSA, no tienen esta limitación. En otras palabras hay algoritmos de llaves
públicas, hay dos llaves para cada persona. Una llave crea la firma y es
mantenida en secreto. La otra llave pública verifica la
firma. El DSS fue desarrollado por el Instituto Nacional de Normas y Tecnología (NIST) de U.S. con la Agencia de Seguridad Nacional. Sólo estas compañías que hacen negocios con el gobierno de U.S. eran requeridas para usarlo, y muchos no lo preferían porque este es un sistema sólo de firmas. El NIST elige estas soluciones precisas porque el gobierno de Estados Unidos está trabajando para disuadir el uso de algún software de encriptación, que abreviará la capacidad del gobierno para escuchar a escondidas. El software que provee sólo autenticación, semejante al DSS, sus productos son abiertamente exportables, mientras el software que usa el RSA para la encriptación general es fuertemente restringido. Las firmas RSA son obviamente más populares, en parte al mercadeo agresivo, patentes, gran período de desarrollo hecho por Seguridad de Datos del RSA. La compañía controla muchas de las más importante patentes en el campo, aunque hay todavía un litigio sustancial en el área, el RSA ha usado esta posición felizmente estableciéndose a sí mismo como líder. Este software y librerías pueden ser encontrados en el núcleo de muchos productos, y la compañía continúa empleando las mejores criptografías. La Seguridad de Datos del RSA fue responsable, por pedido, para integrar el software de firma digital con el Macintosh OS. Ambos algoritmos basados en la reducción y llave pública pueden ser regulados por ser seguros haciendo seguro que el secreto y la llave use un número suficiente de bits para resistir a todo ataque conocido. Las firmas ilegibles son inherentemente fáciles para el ataque, porque el secreto usa la firma creada que es conocida por ambos lados. La llave generada de la firma usa un sistema de llave pública, sobre el resumen, es almacenado sólo en la propia computadora, reduciendo significativamente el riesgo de seguridad. AUTORIDADES DE CERTIFICACION Internet está llegando a ser socialmente más aceptable, lo que constituye parte del problema sobre la seguridad del Internet, en donde nadie realmente conoce con quiénes se comunican, y mientras el anonimato puede ser útil, ésto cuida la fuerza de las compañías de tarjetas de crédito y bancos como una pequeña tuerca. Pero el banco, compañías de tarjetas de crédito, y corporaciones importantes, están desarrollando activamente una herramienta que permita a la gente aplicar la firma digital y para asegurar que estas firmas se apoyen dentro del tribunal de leyes. Los bancos y el dinero de los prestamistas no son solamente los únicos interesados en las firmas electrónicas. Muchas compañías están experimentando con firmar todo documento en Internet, desde un e-mail. Las firmas pueden proveer un nivel de integridad y no rechazo que interesa para cualquier inquietud de falsificación de datos. ¿ Cómo se hace este trabajo? ¿Qué son los grandes proyectos? ¿ Quién lo está usando? ¿ Cómo consigue usted una firma? ¿ Y cómo implementar las firmas en su compañía ? En el gráfico adjunto podremos apreciar los servicios que brindará las Autoridades de Certificación (CA) a los participantes en una Transacción Comercial Vía Internet.
![]() Se necesita a alguien que dé fe de la identidad del remitente. La receta todavía no está completa. Se debe tener alguna forma para enlazar a una persona u organización a la llave privada. La solución a este problema está en tener a otra persona que "certifique" que la llave privada pertenece al remitente. El vínculo de identidad al par de la llave particular se ha hecho usando un "certificado" que da testimonio de la identidad del propietario, que es emitida por una "Autoridad de Certificación", una organización que verifica las identidades y emite los certificados que comprometen al par de llaves de esa identidad. Las funciones primarias de una Autoridad de Certificación son:
La Certificación de las Autoridades (CA) proveen un componente importante de la infraestructura que hace en el criptosistema la llave pública útil en autenticar grupos sobre el Internet e Intranet. El trabajo de los certificados se muestra en el siguiente cuadro:
![]() Una vez que el CA ha verificado la identidad del solicitante, ellos emiten un "certificado" que lista:
![]() El software almacena sobre cada sistema ambas llaves de los propietarios y los certificados. Las llaves públicas de todo el CA se construyen en las aplicaciones que usan sistemas de llaves públicas. Los certificados y autoridades de certificación son los elementos finales en la receta para una firma digital. En el cuadro anterior, María y Carlos tienen la misma CA, pero ellos podrían tener diferente CA. Mientras el software del usuario tiene la llave pública para un CA, los certificados emitidos por ese CA pueden verificarse. Los ingredientes para una firma digital:
![]() Los pasos para crear y verificar una firma digital son los siguientes:
![]() Esto parece complicado, pero la mayoría de estas operaciones no son vistas por los usuarios. La aplicación que María usa para enviar el documento firmado hace todo el trabajo. La única cosa que María tiene que hacer es escoger el certificado y el par de llaves que ella quiere usar para firmar el documento y dónde ella quiere enviarlo. Es así que en el futuro se habrá emitido diferentes certificados por diversas CA para las muchas relaciones. A veces los certificados se usarán para firmar documentos, en otras ocasiones los certificados se usarán para autenticar a los individuos o compañías para que tengan acceso a la información privada. La confianza de identidad es crítica, se requiere de una infraestructura que emita y verifique los certificados. |