Amenazas, Tipos de Ataques y Tipos de Encriptación

12
  Amenazas Los protocolos de comunicación utilizados carecen (en su mayoría) de seguridad o esta ha sido implementada en forma de "parche" tiempo después de su creación.  Existen agujeros de seguridad en los sistemas operativos.  Existen agujeros de seguridad en las aplicaciones.  Existen errores en las configuraciones de los sistemas.  Los usuarios carecen de información respecto al tema. Esta lista podría seguir extendiéndose a medida que se evalúen mayor cantidad de elementos de un Sistema Informático. Las empresas u organizaciones no se pueden permitir el lujo de denunciar ataques a sus sistemas, pues el nivel de confianza de los clientes (ciudadanos) bajaría enormemente. Los Administradores tienen cada vez mayor conciencia respecto de la seguridad de sus sistemas y arreglan por sí mismos las deficiencias detectadas. A esto hay que añadir las nuevas herramientas de seguridad disponibles en el mercado. Los "advisories" (documentos explicativos) sobre los nuevos agujeros de seguridad detectados y la forma de solucionarlos, lanzados por el CERT, han dado sus frutos.  Acceso - Uso - Autorización La identificación de estas palabras es muy importante ya que el uso de algunas implica un uso desapropiado de las otras. Específicamente "Acceso" y "Hacer Uso" no son el mismo concepto cuando se estudian desde el punto de vista de un usuario y de un intruso. Por ejemplo:  Cuando un usuario tiene acceso autorizado, implica que tiene autorizado el uso de un recurso.  Cuando un atacante tiene acceso desautorizado está haciendo uso desautorizado del sistema.  Pero, cuando un atacante hace uso desautorizado de un sistema, esto implica que el acceso fue autorizado (simulación de usuario). Luego un Ataque será un intento de acceso, o uso desautorizado de un recurso, sea satisfactorio o no. Un Incidente envuelve un conjunto de ataques que pueden ser distinguidos de otro grupo por las características del mismo (grado, similitud, técnicas utilizadas, tiempos, etc.). John D. Howard(1) en su tesis estudia la cantidad de ataques que puede tener un incidente. Al concluir dicho estudio y basado en su experiencia en los laboratorios del CERT afirma que esta cantidad varía entre 10 y 1.000 y estima que un número razonable para estudios es de 100 ataques por incidentes. Detección de Intrusos A finales de 1996, Dan Farmer (creador de una de las herramientas más útiles en la detección de intrusos: SATAN) realizó un estudio sobre seguridad analizando 2.203 sistemas de sitios en Internet. Los sistemas objeto del estudio fueron Web Sites orientados al comercio y con contenidos específicos, además de un conjunto de sistemas informáticos aleatorios con los que realizar comparaciones. El estudio se realizó empleando técnicas sencillas y no intrusivas. Se dividieron los problemas potenciales de seguridad en dos grupos: rojos (red) y amarillos (yellow). Los problemas del grupo rojo son los más serios y suponen que el sistema está abierto a un atacante potencial, es decir, posee problemas de seguridad conocidos en disposición de ser explotados. Así por ejemplo, un problema de seguridad del grupo rojo es un equipo que tiene

Transcript of Amenazas, Tipos de Ataques y Tipos de Encriptación

AmenazasLos protocolos de comunicacin utilizados carecen (en su mayora) de seguridad o esta ha sido implementada en forma de "parche" tiempo despus de su creacin. Existen agujeros de seguridad en los sistemas operativos. Existen agujeros de seguridad en las aplicaciones. Existen errores en las configuraciones de los sistemas. Los usuarios carecen de informacin respecto al tema.Esta lista podra seguir extendindose a medida que se evalen mayor cantidad de elementos de un Sistema Informtico.Las empresas u organizaciones no se pueden permitir el lujo de denunciar ataques a sus sistemas, pues el nivel de confianza de los clientes (ciudadanos) bajara enormemente.Los Administradores tienen cada vez mayor conciencia respecto de la seguridad de sus sistemas y arreglan por s mismos las deficiencias detectadas. A esto hay que aadir las nuevas herramientas de seguridad disponibles en el mercado.Los "advisories" (documentos explicativos) sobre los nuevos agujeros de seguridad detectados y la forma de solucionarlos, lanzados por el CERT, han dado sus frutos.

Acceso - Uso - AutorizacinLa identificacin de estas palabras es muy importante ya que el uso de algunas implica un uso desapropiado de las otras.Especficamente "Acceso" y "Hacer Uso" no son el mismo concepto cuando se estudian desde el punto de vista de un usuario y de un intruso. Por ejemplo: Cuando un usuario tiene acceso autorizado, implica que tiene autorizado el uso de un recurso. Cuando un atacante tiene acceso desautorizado est haciendo uso desautorizado del sistema. Pero, cuando un atacante hace uso desautorizado de un sistema, esto implica que el acceso fue autorizado (simulacin de usuario).Luego un Ataque ser un intento de acceso, o uso desautorizado de un recurso, sea satisfactorio o no. Un Incidente envuelve un conjunto de ataques que pueden ser distinguidos de otro grupo por las caractersticas del mismo (grado, similitud, tcnicas utilizadas, tiempos, etc.).John D. Howard(1) en su tesis estudia la cantidad de ataques que puede tener un incidente. Al concluir dicho estudio y basado en su experiencia en los laboratorios del CERT afirma que esta cantidad vara entre 10 y 1.000 y estima que un nmero razonable para estudios es de 100 ataques por incidentes.

Deteccin de IntrusosA finales de 1996, Dan Farmer (creador de una de las herramientas ms tiles en la deteccin de intrusos: SATAN) realiz un estudio sobre seguridad analizando 2.203 sistemas de sitios en Internet. Los sistemas objeto del estudio fueron Web Sites orientados al comercio y con contenidos especficos, adems de un conjunto de sistemas informticos aleatorios con los que realizar comparaciones.El estudio se realiz empleando tcnicas sencillas y no intrusivas. Se dividieron los problemas potenciales de seguridad en dos grupos: rojos (red) y amarillos (yellow).Los problemas del grupo rojo son los ms serios y suponen que el sistema est abierto a un atacante potencial, es decir, posee problemas de seguridad conocidos en disposicin de ser explotados. As por ejemplo, un problema de seguridad del grupo rojo es un equipo que tiene el servicio de FTP annimo mal configurado. Los problemas de seguridad del grupo amarillo son menos serios pero tambin reseables. Implican que el problema detectado no compromete inmediatamente al sistema pero puede causarle serios daos o bien, que es necesario realizar tests ms intrusivos para determinar si existe o no un problema del grupo rojo.La tabla 7.1 resume los sistemas evaluados, el nmero de equipos en cada categora y los porcentajes de vulnerabilidad para cada uno. Aunque los resultados son lmites superiores, no dejan de ser... escandalosos.

Como puede observarse, cerca de los dos tercios de los sistemas analizados tenan serios problemas de seguridad y Farmer destaca que casi un tercio de ellos podan ser atacados con un mnimo esfuerzo.

Identificacin de las AmenazasLa identificacin de amenazas requiere conocer los tipos de ataques, el tipo de acceso, la forma operacional y los objetivos del atacante.Las consecuencias de los ataques se podran clasificar en: Data Corruption: la informacin que no contena defectos pasa a tenerlos. Denial of Service (DoS): servicios que deberan estar disponibles no lo estn. Leakage: los datos llegan a destinos a los que no deberan llegar.Desde 1990 hasta nuestros das, el CERT viene desarrollando una serie de estadsticas que demuestran que cada da se registran ms ataques informticos, y estos son cada vez ms sofisticados, automticos y difciles de rastrear.La Tabla 7.2 detalla el tipo de atacante, las herramientas utilizadas, en que fase se realiza el ataque, los tipos de procesos atacados, los resultados esperados y/u obtenidos y los objetivos perseguidos por los intrusos.

Cualquier adolescente de 15 aos (Script Kiddies), sin tener grandes conocimientos, pero con una potente y estable herramienta de ataque desarrollada por los Gurs, es capaz de dejar fuera de servicio cualquier servidor de informacin de cualquier organismo en Internet, simplemente siguiendo las instrucciones que acompaan la herramienta.Los nmero que siguen no pretenden alarmar a nadie ni sembrar la semilla del futuro Hacker. Evidentemente la informacin puede ser aprovechada para fines menos lcitos que para los cuales fue pensada, pero esto es algo ciertamente difcil de evitar.

Nota I: Estos incidentes slo representan el 30% correspondientes a los Hackers.Nota II: En 1992 el DISA(2) realiz un estudio durante el cual se llevaron a cabo 38.000 ataques a distintas sitios de organizaciones gubernamentales (muchas de ellas militares). El resultado de los ataques desde 1992 a 1995 se resumen en el siguiente cuadro(3):

Puede observarse que solo el 0,70% (267) de los incidentes fueron reportados. Luego, si en el ao 2000 se denunciaron 21.756 casos eso arroja 3.064.225 incidentes en ese ao.Nota III: Puede observarse que los incidente reportados en 1997 con respecto al ao anterior es menor. Esto puede deberse a diversas causas: Las empresas u organizaciones no se pueden permitir el lujo de denunciar ataques a sus sistemas, pues el nivel de confianza de los clientes (ciudadanos) bajara enormemente. Los administradores tienen cada vez mayor conciencia respecto de la seguridad de sus sistemas y arreglan por s mismos las deficiencias detectadas. A esto hay que aadir las nuevas herramientas de seguridad disponibles en el mercado.Los "Advisories" (documentos explicativos) sobre los nuevos agujeros de seguridad detectados y la forma de solucionarlos, lanzados por el CERT, han dado sus frutos.

Tipos de Ataques A continuacin se expondrn diferentes tipos de ataques perpetrados, principalmente, por Hackers. Estos ataques pueden ser realizados sobre cualquier tipo de red, sistema operativo, usando diferentes protocolos, etc. En los primeros tiempos, los ataques involucraban poca sofisticacin tcnica. Los Insiders (operadores, programadores, data entrys) utilizaban sus permisos para alterar archivos o registros. Los Outsiders ingresaban a la red simplemente averiguando una password vlida. A travs de los aos se han desarrollado formas cada vez ms sofisticadas de ataque para explotar "agujeros" en el diseo, configuracin y operacin de los sistemas. Ingeniera Social Ingeniera Social Inversa Trashing (Cartoneo) Ataques de Monitorizacin Ataques de Autenticacin Denial of Service (DoS) Ataques de Modificacin - DaoErrores de Diseo, Implementacin y OperacinMuchos sistemas estn expuestos a "agujeros" de seguridad que son explotados para acceder a archivos, obtener privilegios o realizar sabotaje. Estas vulnerabilidades ocurren por variadas razones, y miles de "puertas invisibles" son descubiertas (cada da) en sistemas operativos, aplicaciones de software, protocolos de red, browsers de Internet, correo electrnico y todas clase de servicios informtico disponible.Los Sistemas operativos abiertos (como Unix y Linux) tienen agujeros mas conocidos y controlados que aquellos que existen en sistemas operativos cerrados (como Windows). La importancia (y ventaja) del cdigo abierto radica en miles de usuarios analizan dicho cdigo en busca de posibles bugs y ayudan a obtener soluciones en forma inmediata.Constantemente encontramos en Internet avisos de nuevos descubrimientos de problemas de seguridad (y herramientas de Hacking que los explotan), por lo que hoy tambin se hace indispensable contar con productos que conocen esas debilidades, puedan diagnosticarlas y actualizar el programa afectado con el parche adecuado.

Implementacin de las TcnicasA lo largo de mi investigacin he recopilando distinto tipos de programas que son la aplicacin de las distintas tcnicas enumeradas anteriormente. La mayora de las mismos son encontrados fcilmente en Internet en versiones ejecutables, y de otros se encuentra el cdigo fuente, generalmente en lenguaje C, Java y Perl.Cada una de las tcnicas explicadas (y ms) pueden ser utilizadas por un intruso en un ataque. A continuacin se intentarn establecer el orden de utilizacin de las mismas, pero siempre remarcando que un ataque insume mucha paciencia, imaginacin acumulacin de conocimientos y experiencia dada (en la mayora de los casos) por prueba y error.1. Identificacin del problema (vctima): en esta etapa se recopila toda la informacin posible de la vctima. Cuanta ms informacin se acumule, ms exacto y preciso ser el ataque, ms fcil ser eliminar las evidencias y ms difcil ser su rastreo.2. Exploracin del sistema vctima elegido: en esta etapa se recopila informacin sobre los sistemas activos de la vctima, cuales son los ms vulnerables y cuales se encuentran disponibles. Es importante remarcar que si la victima parece apropiada en la etapa de Identificacin, no significa que esto resulte as en esta segunda etapa.3. Enumeracin: en esta etapa se identificaran las cuentas activas y los recursos compartidos mal protegidos. La diferencia con las etapas anteriores es que aqu se establece una conexin activa a los sistemas y la realizacin de consultas dirigidas. Estas intrusiones pueden (y deberan) ser registradas, por el administrador del sistema, o al menos detectadas para luego ser bloqueadas.4. Intrusin propiamente dicha: en esta etapa el intruso conoce perfectamente el sistema y sus debilidades y comienza a realizar las tareas que lo llevaron a trabajar, en muchas ocasiones, durante meses.Contrariamente a lo que se piensa, los sistemas son difciles de penetrar si estn bien administrados y configurados. Ocasionalmente los defectos propios de la arquitectura de los sistemas proporciona un fcil acceso, pero esto puede ser, en la mayora de los casos, subsanado aplicando las soluciones halladas.

Cmo defenderse de estos Ataques?La mayora de los ataques mencionados se basan en fallos de diseo inherentes a Internet (y sus protocolos) y a los sistemas operativos utilizados, por lo que no son "solucionables" en un plazo breve de tiempo.La solucin inmediata en cada caso es mantenerse informado sobre todos los tipos de ataques existentes y las actualizaciones que permanentemente lanzan las empresas desarrolladoras de software, principalmente de sistemas operativos.Las siguientes son medidas preventivas. Medidas que toda red y administrador deben conocer y desplegar cuanto antes:1. Mantener las mquinas actualizadas y seguras fsicamente2. Mantener personal especializado en cuestiones de seguridad (o subcontratarlo).3. Aunque una mquina no contenga informacin valiosa, hay que tener en cuenta que puede resultar til para un atacante, a la hora de ser empleada en un DoS coordinado o para ocultar su verdadera direccin.4. No permitir el trfico "broadcast" desde fuera de nuestra red. De esta forma evitamos ser empleados como "multiplicadores" durante un ataque Smurf.5. Filtrar el trfico IP Spoof.6. Auditorias de seguridad y sistemas de deteccin.7. Mantenerse informado constantemente sobre cada unas de las vulnerabilidades encontradas y parches lanzados. Para esto es recomendable estar suscripto a listas que brinden este servicio de informacin.8. Por ltimo, pero quizs lo ms importante, la capacitacin continua del usuario.

(1) HOWARD, John D. Thesis: An Analysis of security on the Internet 1989-1995. Carnegie Institute of Technology. Carnegie Mellon University. 1995. EE.UU. http://www.cert.org. Captulo 12Pgina 165 (2) DISA (Defense Information System Agency). http://www.disa.mil(3) HOWARD, John D. Thesis. An Analysis ofsecurityonthe Internet1989-1995.Carnegie Institute of Technology. Carnegie Mellon University. 1995. EE.UU. http://www.cert.org. Captulo 12Pgina 168.

Tipos de encriptacin

Criptografa: si no existiera, habra que inventarlaDesde que el hombre comenz a comunicarse con sus semejantes ha experimentado la necesidad de proteger su informacin confidencial de odos y ojos indiscretos.

Puede afirmarse que la criptografa o arte de hacer secreta la escritura naci con la escritura misma. Desde las primeras tablillas babilnicas cifradas hace ms de 4.500 aos hasta nuestros das, la criptografa ha evolucionado considerablemente, especialmente a partir de la irrupcin de los ordenadores.

La primera criptografa usada por el hombre fue la simtrica o de clave secretaPara cifrar mensajes de correo, archivos del disco duro, registros de una base de datos, y en general para cifrar grandes cantidades de datos, se utiliza un tipo de algoritmo de cifrado conocido como de clave secreta o simtrico, representado en la figura 1.

La seguridad de un algoritmo de cifrado depende de dos factores. El primero de ellos es la robustez de su diseo. Durante muchos siglos se vinieron usando dos tipos de operaciones de cifrado: sustitucin y transposicin. En la sustitucin se sustituyen los caracteres del mensaje por otros caracteres, que pueden ser del mismo alfabeto o de alfabetos diferentes. Uno de los primeros ejemplos histricos conocidos es el cifrado de Csar, cuyo funcionamiento se explica en la figura 2. Desde la Edad Media hasta principios del siglo XX, fueron de uso comn los discos de cifrado basados en la operacin de sustitucin.

El mayor inconveniente del cifrado por sustitucin es que no oculta los patrones lingsticos de frecuencia de aparicin de letras de cada idioma, por lo que resulta vulnerable a un criptoanlisis, el estudio de un texto cifrado con el fin de obtener el mensaje original o bien la clave con la que se cifr el mensaje. Por supuesto, la labor del criptoanalista se puede complicar utilizando una sustitucin polialfabtica, consistente en sustituir un carcter por varios caracteres distintos, de manera que la frecuencia de las letras quede ofuscada. Sin embargo, con textos suficientemente largos, an puede obtenerse el mensaje original.

Otra operacin de cifrado que se ha utilizado tambin desde antiguo consiste en la transposicin, es decir, simplemente se cambian de sitio las letras del mensaje siguiendo una regla determinada, como en el ejemplo de la figura 3. Uno de los primeros ejemplos histricos de cifrado de transposicin de los que tenemos conocimiento es la scitala espartana.

A menudo esta regla recibe el nombre de mapa de transposicin. En este caso, el criptoanalista debe ordenar las letras en la secuencia correcta para reconstruir el mensaje original. Para ello, puede buscar palabras comunes, como artculos y preposiciones, o palabras clave que tenga certeza de que aparecern en el mensaje estudiado, lo que le ayudar a determinar cul ha sido la regla utilizada. Para aumentar la dificultad del criptoanlisis se puede aplicar repetidamente la misma regla o mapa de transposicin, algo muy fcil de hacer con un ordenador.

Ahora bien, la transposicin por s sola tampoco sirve para cifrar textos de manera segura. Sin embargo, la robustez del algoritmo de cifrado puede mejorarse considerablemente si se combinan ambas operaciones, usando sustitucin y transposicin repetidamente sobre el mismo mensaje. Los algoritmos modernos de cifrado, como DES y AES, utilizan mltiples vueltas de cifrado en las que se combinan las dos operaciones, tal y como se muestra en la figura 4.

Por tanto, si un algoritmo de cifra est bien diseado, un texto cifrado slo se podr descifrar si se conoce la clave secreta. En la buena criptografa se sigue siempre el principio de Kerckhoffs: la seguridad del sistema debe recaer en la seguridad de la clave, debindose suponer conocidos el resto de los parmetros del sistema criptogrfico.

Si no se te ocurre cmo atacarlo, recurre a la fuerza brutaEl segundo factor para calibrar la seguridad de un algoritmo es la longitud de la clave utilizada. Cuando un criptoanalista no puede encontrar fallos en el algoritmo, siempre le queda recurrir a un ataque de fuerza bruta. Se trata de un mtodo sin elegancia, que no ataca el algoritmo en s, sino que busca exhaustivamente todos los posibles valores de la clave hasta dar con la correcta.

Hoy en da se estima que claves de 128 bits de longitud o ms garantizarn la seguridad por muchos aos. De hecho, algunos algoritmos permiten seleccionar a voluntad la longitud de la clave, como el actual estndar de cifrado AES, basado en el algoritmo criptogrfico Rijndael.

Por consiguiente, si el diseo es robusto y la longitud de la clave es suficientemente larga, podemos considerar que el algoritmo es seguro.

Nmeros aleatorios para elegir buenas claves de cifradoElegir la clave de cifrado es un asunto muy importante. La clave debe ser perfectamente aleatoria. Ahora bien, los ordenadores son mquinas deterministas incapaces de generar nmeros al azar. Una de las soluciones consiste en utilizar fuentes de entropa fsicas, como por ejemplo registrar los movimientos de ratn del usuario, sus pulsaciones de teclas, y otras fuentes semejantes. Estas secuencias, adems de ser muy difciles de crear, no pueden reproducirse: nunca generar dos veces la misma secuencia aleatoria.

Para aquellas situaciones en que hiciera falta repetirlas, se crean las secuencias pseudoaleatorias. En este caso, se generan usando algoritmos deterministas, los cuales a partir de una semilla inicial son capaces de generar secuencias de bits que se comportan estadsticamente como si hubieran sido generadas por generadores verdaderamente aleatorios. Cualquiera que conozca la semilla podr regenerar la secuencia.

Hay dos tipos de algoritmos de criptografa simtricaExisten dos grandes familias de algoritmos simtricos o de clave secreta. Los algoritmos de cifrado en bloque y los algoritmos de cifrado en flujo.

En el caso de los algoritmos de cifrado en bloque, primero se divide el mensaje original en bloques de un tamao determinado. Cada bloque se cifra siempre de la misma manera e independientemente de todos los dems. Por su parte, los algoritmos de cifrado en flujo funcionan de forma muy diferente, representada en la figura 5.

Como sera muy complicado hacer llegar al destinatario una clave tan larga como el mensaje, en la prctica lo que se hace es una pequea trampa: en lugar de generar aleatoriamente toda la clave, se genera una pequea semilla a partir de la cual, mediante alguno de los algoritmos deterministas de generacin de nmeros pseudoaleatorios ya mencionados, se genera la secuencia cifrante con la que se mezcla el texto en claro.

Los cifradores en bloque resultan inadecuados en aquellas aplicaciones en las que la informacin a cifrar no est disponible en su totalidad, sino a retazos, como, por ejemplo, en las conversaciones telefnicas, ya que un bloque no puede cifrarse hasta que estn disponibles todos sus bits.

Los cifradores en flujo no presentan este problema, puesto que cifran bit a bit la informacin a medida que les llega. De hecho, se suelen realizar por hardware, lo que hace que sean extremadamente rpidos y se los prefiera en aquellas aplicaciones en las que prima la velocidad.

La criptografa de clave pblica soluciona el problema de la distribucin de clavesUna vez cifrado un mensaje con la clave secreta, surge una nueva dificultad: cmo enviarle al destinatario la clave secreta utilizada para cifrar el mensaje?

Se trata del mayor problema al que histricamente se ha enfrentado la criptografa, conocido como problema de distribucin de la clave. De qu sirve utilizar el mejor algoritmo de cifrado del mundo si no puede compartirse la clave con el destinatario del mensaje? Durante siglos la criptografa se ha enfrentado con poco xito a este problema, hasta que en la dcada de 1970 los criptgrafos Diffie y Hellman inventaron la criptografa de clave pblica.

En esta forma de criptografa se dispone de dos claves: una es pblica y por tanto conocida por todo el mundo y la otra es privada y conocida solamente por su poseedor. Aunque cualquiera puede cifrar usando la clave pblica, slo el que posee la correspondiente clave privada podr descifrar.

Por eso a la criptografa de clave pblica se le llama tambin asimtrica, cuyo funcionamiento se ha representado en la figura 6. Si cifras un mensaje con la clave pblica no podrs descifrarlo usando esa misma clave pblica. Necesitars usar la correspondiente clave privada. Lo que cifras con una clave, debes descifrarlo con la otra.

Tambin puede cifrarse con la clave privada. Si cifras algo con tu clave privada, entonces cualquiera que conozca tu clave pblica podr descifrarlo. Cifrar un mensaje con tu clave privada equivale a firmarlo porque nadie ms que el poseedor de la clave privada podra haber cifrado ese mensaje. Cuando cifras algo con tu clave privada ests demostrando tu autora: slo t puedes cifrarlo, por lo tanto, has tenido que ser t quien lo cifr. Eso es lo que se llama autenticacin.

Y cualquiera puede descifrarlo usando tu clave pblica. Lo que equivale a verificar la firma. Por eso es tan importante que tu clave privada sea privada y nunca la conozca nadie ms que t. En la prctica, debido a que los algoritmos de cifrado asimtrico son muy lentos, no suelen usarse para cifrar todo el mensaje, sino un resumen muy corto del mismo calculado gracias a funciones hash (funcin unidireccional de resumen que reduce el mensaje de partida a un valor de menor longitud, de forma que ste sirve como representacin compacta del mensaje original).

La pareja de claves debera guardarse de forma segura, por ejemplo en una tarjeta inteligente, como el DNI electrnico.

Las firmas electrnicas y los certificados digitales solucionan el problema de la confianzaCmo saber si la clave pblica de un usuario es en realidad la suya y no la de un atacante que la ha sustituido por la suya propia? Se trata de un problema de confianza. Igual que se vio lo difcil que resulta distribuir claves secretas de manera segura, es igualmente difcil distribuir claves pblicas de manera fiable. Hoy en da se ha resuelto al menos parcialmente usando las firmas electrnicas y los certificados digitales.

En principio, bastara con cifrar un documento con la clave privada para obtener una firma digital segura, puesto que nadie excepto el poseedor de la clave privada puede hacerlo. Posteriormente, cualquier persona podra descifrarlo con su clave pblica, demostrndose as la identidad del firmante. En la prctica, debido a que los algoritmos de clave pblica requieren mucho tiempo para cifrar documentos largos, los protocolos de firma digital se implementan junto con funciones hash, de manera que en vez de firmar un documento, se firma un resumen del mismo. Este mecanismo implica el cifrado, mediante la clave privada del emisor, del resumen de los datos, los cuales sern transferidos junto con el mensaje. Los pasos del protocolo aparecen representados en la figura 7.