Académique Documents
Professionnel Documents
Culture Documents
Alumnos:
Seguridad y Criptografa
Objetivos de la criptografa
La criptografa actualmente se encarga del estudio de los algoritmos, protocolos y sistemas que se utilizan para dotar de seguridad a las comunicaciones, a la informacin y a las entidades que se comunican. El objetivo de la criptografa es disear, implementar, implantar, y hacer uso de sistemas criptogrficos para dotar de alguna forma de seguridad. Por tanto el tipo de propiedades de las que se ocupa la criptografa son por ejemplo:
Confidencialidad. Es decir garantiza que la informacin est accesible nicamente a personal autorizado. Para conseguirlo utiliza cdigos y tcnicas de cifrado.
Integridad. Es decir garantiza la correccin y completitud de la informacin. Para conseguirlo puede usar por ejemplo funciones hash criptogrficas MDC, protocolos de compromiso de bit, o protocolos de notarizacin electrnica.
Vinculacin. Permite vincular un documento o transaccin a una persona o un sistema de gestin criptogrfico automatizado. Cuando se trata de una persona, se trata de asegurar su conformidad respecto a esta vinculacin (content commitment) de forma que pueda entenderse que la vinculacin gestionada incluye el entendimiento de sus implicaciones por la persona. Antiguamente se utilizaba el trmino "No repudio" que est abandonndose, ya que implica conceptos jurdicos que la tecnologa por s sola no puede resolver. En relacin con dicho trmino se entenda que se proporcionaba proteccin frente a que alguna de las entidades implicadas en la comunicacin, para que no pudiera negar haber participado en toda o parte de la comunicacin. Para conseguirlo se puede usar por ejemplo firma digital. En algunos contextos lo que se intenta es justo lo contrario: Poder negar que se ha intervenido en la comunicacin. Por ejemplo cuando se usa un servicio
de mensajera instantnea y no queremos que se pueda demostrar esa comunicacin. Para ello se usan tcnicas como el cifrado negable.
Autenticacin. Es decir proporciona mecanismos que permiten verificar la identidad del comunicante. Para conseguirlo puede usar por ejemplo funcin hash criptogrfica MAC o protocolo de conocimiento cero.
Soluciones a problemas de la falta de simultaneidad en la telefirma digital de contratos . Para conseguirlo puede usar por ejemplo protocolos de transferencia inconsciente.
Un sistema criptogrfico es seguro respecto a una tarea si un adversario con capacidades especiales no puede romper esa seguridad, es decir, el atacante no puede realizar esa tarea especfica.
Evaluacin de la seguridad
El objetivo de un sistema criptogrfico es dotar de seguridad. Por tanto para calibrar la calidad de un sistema criptogrfico es necesario evaluar la seguridad que aporta dicho sistema.
Hacer pblico o no
Al evaluar la seguridad un sistema criptogrfico se puede poner de manifiesto sus debilidades. Si estas debilidades se hacen pblicas entonces se dispara el riesgo a que esas debilidades sean aprovechadas por un atacante. Por eso hay mucha polmica en relacin a hacer pblicos o no los entresijos de los sistemas criptogrficos. Si se hace pblico el funcionamiento del sistema cualquier persona puede evaluar la seguridad (con lo que mejora la evaluacin de la seguridad) lo que provoca una mayor exposicin a ataques. Si no se publica el funcionamiento del sistema entonces se restringen las personas que pueden evaluar el sistema (los resultados pueden no haber detectado ciertas debilidades) pero como contraprestacin se tiene de que los posibles atacantes no tienen disponibles toda la informacin disponible para utilizarla en un ataque. Se considera que la seguridad de un sistema criptogrfico debe descansar sobre el tamao de la claves utilizadas y no sobre el secreto del algoritmo. Esta consideracin se formaliza en el llamado principio de Kerckhoffs. Esto no quiere decir que cuando usemos criptografa tengamos que revelar los algoritmos, lo que quiere decir es que el algoritmo tiene que ser seguro aunque ste sea difundido. La difusin del algoritmo permite que la comunidad criptogrfica evale la seguridad de dicho algoritmo y por tanto verifique si el algoritmo en s es seguro. Evidentemente si un sistema criptogrfico es seguro an revelando su algoritmo, entonces ser an ms seguro si no lo revelamos. Sin embargo si un sistema tiene una debilidad latente, si no se hace pblico el funcionamiento interno, se dificulta al atacante el descubrimiento de dicha debilidad. Es decir, se consigue la seguridad por oscuridad, no por el sistema en s. Por esta razn algunas organizaciones (Ej. NSA o MI6) disponen de algoritmos criptogrficos no revelados (que pueden aprovechar algunos conocimientos de otros algoritmos pblicos) que slo han sido sujetos a una verificacin interna. Los consideran seguros y no quieren revelarlos para que no puedan ser estudiados por criptoanalistas y de esa forma no sean hechas pblicas sus posibles debilidades.
Grado de seguridad
Cuando se evala la seguridad de un sistema criptogrfico se puede calibrar la seguridad que aporta en funcin de si ste es seguro de forma incondicional o si es seguro slo si se cumplen ciertas condiciones.
Seguridad incondicional
Se dice que un sistema criptogrfico tiene una seguridad incondicional (en ingls unconditional security) sobre cierta tarea si un atacante no puede resolver la tarea aunque tenga infinito poder computacional. En funcin de la tarea sobre la que se dice que el sistema criptogrfico es incondicionalmente seguro, podemos hablar por ejemplo de:
Criptosistemas incondicionalmente seguros (cifrado). Autenticacin incondicionalmente segura (autenticacin). Distribucin de claves incondicionalmente segura. Firma digital incondicionalmente segura (firma digital).
Es habitual que los sistemas incondicionalmente seguros tengan inconvenientes importantes como por ejemplo en la longitud de las claves (libreta de un solo uso).Para certificar una seguridad incondicional los criptlogos se suelen basar en la teora de la informacin y, por tanto, en la teora de la probabilidad.
Limitaciones
El que un sistema tenga seguridad incondicional no quiere decir que su seguridad sea inviolable. Veamos dos consideraciones
Los sistemas son incondicionalmente seguros desde un punto de vista probabilstico: El oponente siempre tiene una probabilidad mayor que cero de romper la seguridad. Sin embargo, esta probabilidad puede ser muy muy pequea. Esto es lo que sucede con los sistemas incondicionalmente seguros. En la mayora de los estudios sobre la seguridad de un sistema se hace la suposicin de que los atacantes tienen slo un intento para atacar la seguridad del sistema. El xito o el fracaso estn determinados por el xito o fracaso de ese intento. Esta suposicin es vlida, por ejemplo, en ciertos problemas de comunicacin segura donde el enemigo no tiene oportunidad de verificar si el mensaje estimado es correcto o no. Sin embargo hay otros tipos de problemas donde esta suposicin no tiene sentido. Por ejemplo, en un sistema de autenticacin con usuario y contrasea para entrar en una cuenta restringida, el atacante puede realizar varios intentos. Adems, en algunos casos, los intentos fallidos anteriores dan informacin para hacer una estimacin mejor para los intentos siguientes.
Cuando decimos que un sistema criptogrfico es incondicionalmente seguro, nos estamos refiriendo a nivel terico. Sin embargo cuando es implementado en la prctica puede no mantenerse esa seguridad. Hay muchos tipos de ataques que slo se aplican cuando los sistemas estn implementados en un sistema concreto. Ejemplos:
Explotacin de canales ocultos. Los canales ocultos son canales de comunicacin no intencionados y de difcil deteccin, que permiten la transferencia de informacin de forma que viola la poltica de seguridad del sistema. En un computador real los procesos al ejecutarse producen una serie de efectos y fenmenos que pueden ser medidos y explotados para revelar informacin relevante que puede ser utilizada para romper el sistema (Ej. pistas sobre la clave). Este problema es inherente y no puede ser evitado mediante tcnicas criptogrficas. Son ejemplos tpicos de este tipo de canales los canales ocultos generados por anlisis de temporizaciones, por anlisis de consumos de energa o por anlisis de consumos de radiaciones electromagnticas o por anlisis de consumo de espacio de almacenamiento.
Malos diseos o implementaciones del software o el hardware pueden hacer que la solucin prctica sea insegura. Ejemplos de ataques que se aprovechan de debilidades producidas por un mal diseo o implementacin: desbordamiento de buffer,Inyeccin SQL, Cross Site Scripting, ataques basados en deficiencias del hardware.
Seguridad condicional
Se dice que un sistema criptogrfico tiene una seguridad condicional (en ingls conditional security) sobre cierta tarea si un atacante puede tericamente resolver la tarea, pero no es computacionalmente factible para l (debido a sus recursos, capacidades y acceso a informacin). Hay un tipo especial de seguridad condicional llamada seguridad demostrable (en ingls provable security). La idea es mostrar que romper un sistema
criptogrfico es computacionalmente equivalente a resolver un problema matemtico considerado como difcil. Esto es, que se cumplen las dos siguientes sentencias:
Si el problema difcil puede ser resuelto, entonces el sistema criptogrfico puede ser roto Si el sistema criptogrfico puede ser roto, entonces el problema difcil puede ser resuelto.
La seguridad demostrable es difcil de lograr para sistemas criptogrficos complejos. Se ha desarrollado una metodologa (modelo de orculo aleatorio) para disear sistemas que no tienen realmente una seguridad demostrable, pero que dan unas buenas sensaciones respecto a su seguridad. La idea bsica es disear un sistema ideal que usa una o varias funciones aleatorias -tambin conocidas como orculos aleatorios- y probar la seguridad de este sistema matemtico. A continuacin el sistema ideal es implementado en un sistema real reemplazando cada orculo aleatorio con una buena y adecuada funcin pseudoaleatoria conocida -tpicamente un cdigo de deteccin de manipulaciones como SHA-1 o MD5-. Si las funciones
pseudoaleatorias utilizadas tiene buenas propiedades, entonces uno puede esperar que la seguridad probada del sistema ideal sea heredada por el sistema real. Observar que esto ya no es una prueba, sino una evidencia sobre la seguridad del sistema real. Se ha demostrado que esta evidencia no siempre es cierta y que es posible romper sistemas criptogrficos cuya seguridad se apoya en el modelo de orculo aleatorio.
independientemente del poder de computacin del atacante. La teora de la informacin proporciona valiosas herramientas para analizar la seguridad de los sistemas criptogrficos. Por ejemplo est la entropa, distancia de unicidad, el concepto de secreto perfecto etc.
cantidad de trabajo es realizable por un atacante. Si ese trabajo no es realizable se dice que el sistema es seguro desde un punto de vista computacional (seguridad computacional, en ingls computationally security). Este tipo de enfoque para evaluar la seguridad es muy usado en la criptografa asimtrica. En concreto, la seguridad de muchos de los algoritmos de la criptografa asimtrica estn basados en el anlisis de complejidad de los mtodos conocidos para el clculo de factorizacin de enteros y del logaritmo discreto. Por definicin el tipo de seguridad que aporta este tipo de enfoque es una seguridad condicional basada en los mtodos de resolucin de problemas evaluados. En este punto hay que tener en cuenta dos consideraciones:13
Actualmente no se puede considerar que como buenos los algoritmos que se usan para estimar la complejidad de la resolucin de los problemas. Se considera que hay algoritmos mucho mejores. Especialmente en el campo de la criptografa. Por tanto las estimaciones sobre el poder de computacin necesario para romper el sistema no se consideran fiables.
Se ha demostrado que algunos de los problemas (Ej. factorizacin de enteros y el logaritmo discreto) en los que se sustenta la seguridad (computacional) de muchos algoritmos, pueden resolverse con algoritmos con una complejidad computacional de peor calidad usando computadores cunticos. Si alguien pudiera disponer de un computador cuntico muchos de los sistemas criptogrficos que se consideran seguros (con seguridad condicional) habra que catalogarlos como inseguros.
REFERENCIAS:
http://computacion.cs.cinvestav.mx/~jjangel/aes/AES_v2005_jjaa.pdf http://es.wikipedia.org/wiki/Criptograf%C3%ADa http://es.wikipedia.org/wiki/Data_Encryption_Standard http://www.scribd.com/doc/6802068/Cap-5-Seguridad-Comunicaciones http://www.certicamara.com/index.php?option=com_content&task=category§io nid=13