lunes, 19 de noviembre de 2012

RESUMEN CAP. 1 pdf


CRIPTOLOGIA

En el contexto de la comunicación entre dos o más entidades, la capacidad de procesar la información transmitida antes de enviarla es vital para asegurar uno o más de los necesarios en una comunicación segura.

En un modelo formal de comunicación sobre un canal no seguro el emisor debe codificar los datos mediante un método de cifrado usando para ello una clave dispuesta a tal efecto. En el destino, el receptor de la información transmitida aplica un método de descifrado usando la clave adecuada para recuperar los datos originales.

Entre los objetivos de una comunicación segura, además de la ya supuesta confidencialidad de datos, se encuentran la autentificación, el control de accesos, su integridad y el no repudio sobre los mismos.

Para poder llevarlos a cabo los criptógrafos desarrollan algoritmos cifradores, que los criptoanalistas intentan romper. Ambas actividades se denominan globalmente criptologia y sus seguidores, criptologos.

Los criptoanalistas se plantean tres puntos posibles de partida para llevar a cabo su labor: tener una determinada cantidad de texto cifrado, pero sin poseer texto claro; poseer tanto parte del texto como su correspondiente normal; y por ultimo el criptoanalista puede tener la capacidad de generar texto cifrado a partir del texto claro, por el seleccionado. Cualquier iniciativa criptográfica original debe de tener en cuenta estas tres formas de análisis.

Un poco de historia. Tradicionalmente los más grandes precursores de los avances en técnicas criptográficas han sido, a lo largo de la historia, tanto el cuerpo militar como sus respectivos gobiernos. Hasta la llegada de los ordenadores la criptografía se reducía a transformaciones, probablemente llevadas a cabo en circunstancias extremas, efectuadas por personal entrenado para tal  tarea. Por entonces las dificultades se centraban en la imposibilidad de grandes proezas de cálculo y de la dificultad a la hora de cambiar de clave y/o método de cifrado, ya que esto implicaba la reeducación del personal dedicado a tal efecto. Sin embargo la posibilidad, por otro lado muy real, de que los criptografistas fuesen capturados por el enemigo hizo indispensable la necesidad de cambiar de método y/o clave en muy poco tiempo. Cuando no se dispone de hábiles capturadores de criptógrafos, pero se dispone de la capacidad de escuchar el canal capturando a los mensajeros, los amigos de la información ajena recurren a técnicas criptoanaliticas para conocer, a priori, la clave de descifrado. Sin embargo, en este juego sucio hay reglas: debe suponerse que el criptoanalista siempre conoce el método de cifrado  y/o descifrado. La razón de dicha norma juega a favor de los criptógrafos, ya que se intenta que la robustez de un método general no recaiga en el secretismo o la ocultación del algoritmo usado.

Históricamente, los modelos de cifrado se dividen en dos categorías: cifrados por sustitución y cifrados por transposición.

En un cifrado por sustitución, cada componente discreto del alfabeto que forma el texto normal se sustituye por uno o más elementos del alfabeto de salida.

Los cifrados por transposición reordenan los componentes del alfabeto del texto normal, sin disfrazarlos. Cada elemento del alfabeto se transmite tal cual pero en una posición distinta al original.

Funciones Hash.

Las secciones hash no son algoritmos criptográficos, en el sentido formal del termino, pero si son extensivamente usadas de áreas de la informática y en la criptografía en particular. La razón de situar este tema en este punto es exclusivamente pedagógico, ya que considero que desde el punto de vista de su complejidad, las funciones hash deben situarse antes de los métodos de criptografía de clave privada.

Las propiedades de una función hash son:

Cada bit del resultante de la función sufre la influencia de cada bit de la entrada de la misma.

Si se modifica cualquier bit de la entrada de la función, cada bit de salida tiene como mínimo un 50% de posibilidades de cambiar.

Dada una entrada y su valor hash calculado, no debe ser factible computacionalmente encontrar otra que genere el mismo valor. En caso de existir, se dice que ambas entradas colisionan.

Para lograr estas propiedades, la función hash crea una transformación que asocia a una secuencia de entrada una secuencia de salida que parezca aleatoria.

Por lo demás, el amplio uso de funciones hash hoy en día obedece, entre otras, a las siguientes razones:

Son mucho más rápidas que sus equivalentes en el mundo de la criptografía de clave simétrica, aun compartiendo muchas de sus características.

No hay restricciones de patentes ni de exportación.

La relación entrópica entre la entrada y la salida es excelente.

Son usadas para calcular las claves –en criptografía simétrica- a partir de entradas de usuario.

Identifican casi de forma única un documento, permitiendo su uso en lugar del original -más extenso- para temas de autentificación, compartición de secretos, etc.

Algunas categorizaciones de funciones hash

Se puede distinguir entre las funciones que aceptan solamente un parámetro y las que aceptan un segundo. Las primeras son conocidas como funciones hash criptógrafos o funciones hash a secas. Entre las funciones del segundo tipo distinguiremos entre las que dicho segundo parámetro permanece secreto o puede ser público.

Función hash unidireccional (OWHF)

Una función hash unidireccional es una función h que satisface las condiciones siguientes:

El argumento x puede ser de longitud arbitraria y el resultado h(x) tiene una longitud fija de n bits.

Dada una y es difícil encontrar una x tal que h(x)-y (resistente a la pre imagen).

Función hash resistente a colisiones (CRHF)

El hecho de que una función hash unidireccional, no implica encontrar dos entradas que colisionen. A las características que hereda de las OWHF hay que añadir otra: debe ser difícil encontrar dos entradas distintas que ofrezcan el mismo resultado.

Criptografía simétrica

La criptografía moderna se basa en los mismos principios básicos de sustitución y transposición, pero desde otro punto de vista. Antes se buscaban algoritmos sencillos y claves largas, hoy en dia es al contrario: buscamos claves cortas y algoritmos tan complejos que el criptoanalista no sea capaz de entenderlo aunque tenga texto cifrado de su elección.

Estándar de facto: DES

Estamos ante un estándar adoptado por el gobierno de Estados Unidos en 1977. El data Encryption Estandar (DES) se adopto ampliamente en la industria en su forma original. Actualmente no se considera seguro debido al avance de la potencia de cálculo de los ordenadores de hoy en día. No vamos a describir el funcionamiento interno de este sistema criptográfico, para una buena y simple descripción se puede consultar.

Modos criptográficos

Los algoritmos de cifrado de bloques pueden ser aplicados de diversos modos.

Electronic Codebook (ECB): cada bloque de entrada se encripta de forma independiente al resto. Idénticos bloques de entrada producen idénticos bloques de salida. Es el mas rápido y fácil de implementar, sin embargo es al menos seguro.

Criptografía asimétrica

Anteriormente a 1976 podía inducirse un axioma no escrito basado en el hecho de que todas las soluciones de criptografía hasta la fecha estaban en la existencia de un secreto común: la clave. Este secreto compartido era el santo grial de los criptoanalistas, y su protección un objetivo prioritario para sus usuarios.

La naturaleza secreta de la clave, unido a la necesidad de que ambas partes la compartiesen, ocasionaba que se considerase tan prioritaria la transmisión del texto cifrado como el intercambio de la clave de sesión utilizada. En 2.6 estudiaremos con más profundidad la gestión de las claves de sesión.

La necesidad de que la clave permaneciese secreta fue hasta la fecha indiscutible. En 1976 un articulo firmado por Diffie y Hellman mostro otra realidad.

Su idea se baso en la de un buzón de correo; en el, cualquier usuario podía introducir un mensaje en forma de correo, pero solamente quien tuviese la llave del buzón lograría abrirlo para leer su contenido. En ningún momento el emisor y el receptor comparten ningún secreto ( el buzón es de acceso publico) si bien el segundo requiere de un elemento oculto, la llave, esta no debe ser poseída por nadie más.

Diffie y Hellman concibieron los sistemas de criptografía de clave publica (PKC) como un sistema donde un receptor de mensajes cifrados

 

El algoritmo RSA

Desarrollado en el MIT por Rivest, Shamir y Adleman; podemos resumir su operativa;

Seleccionar dos números primos grandes p y q. calcular n-pxq

PKC basada en logaritmos discretos

El esquema criptográfico que representa esta técnica se llama Elgamal en honor a su descubridor; Taher Elgamal. Su fortaleza y su complejidad a la hora de implementar son comparables a la del esquema RSA.

PKC basadas en curveas elípticas}

Aunque las curvas elípticas han sido estudiadas desde los últimos 150 años, no fue hasta 1985 cuando se propuso su uso en la criptologia. Dentro de estos estudios los mas asimilados hoy en dia para ser aplicados a esquemas de clave publica dependen del problema de logaritmos discretos sobre curvas elípticas (ECDLP) ya que las soluciones a este necesitan un tiempo exponencial para su finalización. Podemos definir esta arquitectura como el anteriormente citado DLP sobre los puntos de una curva elíptica.

Ataques contra algoritmos

Los algoritmos criptográficos, ya sean simétricos o asimétricos, se han construido con la seguridad en mente; pese a ello, no podemos extrapolar su infabilidad. La capacidad de un sistema criptográfico para proteger la información contra el ataque se conoce como fortaleza, la cual depende de muchos factores:

La confidencialidad de las claves.

La dificultad para adivinar o probar todas las claves posibles.

La dificultad de invertir el algoritmo sin conocer la clave.

La no existencia de puertas traseras.

El conocimiento que se tenga sobre el texto claro.

A estas habrá que añadir otra, el valor de la información a encriptar. Esta es una consideración que habrá que tener en cuenta, sobre todo en el comercio electrónico. Supongamos que desencriptar un texto cifrado M con el algoritmo A cuesta C(M) en algún tipo de unidades; imaginemos que M esta compuesto por unidades mas pequeñas M1,M2,…..,Mn y que su valor puede medirse.

Fuerza bruta: búsqueda en el espacio de claves

Es el ataque mas directo, si bien no el mas fácil. Suele ser el primero en ser probado. Consiste, como su nombre indica, en probar todo el espacio de claves una por una y verificar en cada paso si la clave probada descifra el texto. En criptografía simétrica no hay forma de protegerse ante este ataque, en criptografía asimétrica no tenemos un espacio de claves privadas, ya que solo conocemos la clave publica y, por definición, no podemos conocer la clave privada a partir de la primera.

La longitud de la clave es vital para prevenir un ataque de fuerza bruta. Por ejemplo, RC4 usa longitudes de clave entre 1 y 2048 bits, pero en general se usan de 40 y 128 bits.

Con 40 bits tenemos un espacio de claves de 2 llaves a probar. Parece grande, sin embargo con una computadora actual podemos alcanzar la velocidad de prueba de 1 millón de claves por segundo. Esto supone que, como máximo, en 13 días podríamos tener la clave usada originalmente, y por tanto el texto claro.

Criptoanálisis

Y no es útil porque la longitud de la clave no es el único factor. Combinando técnicas de matemáticas avanzadas y poder de calculo, es posible conocer el texto normal que se esconde detrás de un texto cifrado incluso sin conocer el algoritmo utilizado. Cada algoritmo va a ser mas o menos robusto a tal o cual técnica de criptoanálisis.

Un ataque criptoanaliticas parte de un texto cifrado y puede querer llegar a, o bien obtener el texto normal correspondiente, o bien la clave usada. Los ataques más comunes son;

Ataque de texto normal conocido: el analista tiene tanto el texto normal como el cifrado. Su objetivo es obtener la clave usada. Aunque parezca improbable tener tanto el texto cifrado como el normal es algo bastante habitual. Piénsese en los formatos estándar de correo electrónico, con cabeceras idénticas en correos diferentes; o en sectores determinados de discos duros conteniendo sistemas de ficheros con cifrados.

Ataque de texto normal elegido: el analista tienes la capacidad de elegir texto normal y obtener su correspondiente cifrado. El objetivo es deducir la clave.

Criptoanálisis diferencial: se trata de una técnica avanzada derivada de la anterior. Seguimos pudiendo elegir el texto normal, pero esta vez lo seleccionamos con pequeñas diferencias entre ellos y así se comparan los resultados.

Análisis diferencial de fallos: habitualmente se usa contra sistemas de encriptación hardware. Se trata de someter al dispositivo a condiciones ambiente que provoque fallos en su operativa y deducir, a partir de ahí, de los estados internos del algoritmo.

La única forma actual de poner a prueba la fortaleza de un algoritmo es publicarlo y esperar que alguien encuentre una debilidad. La verdadera seguridad criptográfica reside en la apertura y la revisión publica.

Realidades e implicaciones

En principios sabemos como construir computadoras basadas en la mecánica que nos ocupa: simplemente deberíamos construir puertas lógicas cuánticas y conectarlas en forma de redes.

Una puerta lógica cuántica es un dispositivo simple de computación que lleva a cabo un cálculo cuántico elemental, habitualmente sobre dos qbits, en un tiempo conocido. Pero se difiere de sus equivalentes en la computación clásica en que estas pueden realizar sus operaciones sobre suposiciones cuánticas.

 

 

No hay comentarios:

Publicar un comentario