Your SlideShare is downloading. ×
  • Like
  • Save
Tema 2 - Introducción a la Criptografía
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Tema 2 - Introducción a la Criptografía

  • 1,062 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Gracias por el aporte
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,062
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Curso de Seguridad Informática Introducción a la Criptografía
  • 2. Temario
    • Introducción
    • 3. Funciones Hash
    • 4. Funciones Cifrado
      • Simétrico
      • 5. Asímétrico
    • Firma Digital
  • 6. Introducción
    • La criptografía es el arte o ciencia de cifrar y descifrar información.
      • El mensaje (M) a proteger será denominado texto claro
      • 7. El mensaje cifrado (C) se denomina criptograma o texto cifrado.
    • Existen dos grande familias de algoritmos de cifrado:
      • Cifrados simétricos
      • 8. Cifrados asimétricos o de clave pública
  • 9. Introducción
    • Las funciones de resumen o hash permiten obtener un conjunto de bits a partir del mensaje, de forma que una pequeña variación del mensaje provocará un gran cambio en el resumen.
  • 10. Funciones Resumen
    • Las funciones resumen deben cumplir las siguientes características:
      • Unidireccionalidad: a partir de h(M) debe ser computacionalmente imposible obtener M
      • 11. Compresión: indistintamente de la longitud de M, la longitud de h(M) siempre será la misma y, en general, mucho menor que M
      • 12. Facilidad de cálculo: h(M) debe ser rápido de calcular
      • 13. Difusión: h(M) debe de ser una función de todos los bits de M, de forma que un cambio de un solo bit en M, debe modificar, al menos, el 50% de los bits de h(M)
  • 14. Funciones Resumen
      • Colisión simple: dado M y h(M), debe ser computacionalmente imposible encontrar M' que cumpla que h(M) = h(M'), es decir, debe ser imposible computacionalmente encontrar una variación de M que tenga el mismo resumen.
        • A esto se denomina resistencia débil a las colisiones
      • Colisión fuerte: debe ser computacionalmente dificil encontrar un par de mensajes X,Y que cumplan que h(X) = h(Y)
        • A esto se denomina resistencia fuerte a las colisiones
  • 15. Funciones Resumen
    • Las funciones resumen se utilizan en lenguajes de programación para aumentar la velocidad de acceso a tablas Hash: se divide la tabla en N secciones, de forma que un valor estará almacenado en el bloque i, en función de su resumen, y dentro de este bloque, estará almacenado de forma secuencial.
  • 16. Funciones Resumen
    • MD5 – Message Digest 5. Algoritmo básico:
      • Se divide M en bloques de 512 bits, rellenando si es necesario, el último bloque.
      • 17. Se inicializan cuatro vectores de 32 bits cada unos (ABCD)
      • 18. Se realizan una serie de operaciones lógicas con los 128 bits de los vectores y los 512 del primer bloque del mensaje.
      • 19. El resultado de la operación anterior, de 128 bits, se convierte en los nuevos vectores de inicialización A'B'C'D'.
  • 20. Funciones Resumen
      • Se realiza de nuevo operaciones logicas entre los vectores de inicialización y el siguiente bloque del mensaje.
      • 21. Se repiten los pasos anteriores hasta procesar el último bloque, obteniendo finalmente un resumen de 128 bits, correspondiente a los últimos vectores obtenidos.
  • 22. Funciones Resumen MENSAJE 1000... K Mensaje de K bits Relleno de 1 a 448 bits K mod 2 64 (64 bits) L  512 bits = N  32 bits N palabras de 32 bits ABCD Y 1 Y 2 512 bits H MD5 H MD5 A 16 = 01234567 B 16 = 89ABCDEF C 16 = FEDCBA98 D 16 = 76543210 RESUMEN de 128 bits Primer resumen Y q H MD5 Y L-1 H MD5
  • 23. Funciones Resumen
    • SHA1 – Secure Hash Algorithm
      • Muy similar al MD5:
        • Bloques de 512 bits
        • 24. Un total de 80 iteraciones
        • 25. Los vectores de inicialización en este caso son de 160 bits
          • La complejidad algorítmica del MD5 sera de “solo” 2^64
          • 26. La complejidad del SHA1 es de 2^80
      • La diferencia de 16 bits entre los resumes obtenidos por MD5 y SHA1 hacen que este último sea más resistente a la fuerza bruta (aunque es más lento).
  • 27. Funciones Resumen
    • Principales diferencias entre MD5 y SHA1
      • La longitud de los resúmenes obtenidos
      • 28. SHA1 requiere un tamaño máximo de mensaje de 2^64 bits, MD5 no está limitado
      • 29. MD5 se basa en arquitectura little-endian mientras que SHA1 lo hace en big-endian
  • 30. Funciones Resumen
    • Utilidad de las funciones resumen
      • Son clave para la firma digital
      • 31. Sirven para comprobar la integridad de los datos
      • 32. Se utilizan para implementar algoritmos de autenticación (almacenamiento de hash de una password en vez de la propia password)
  • 33. Funciones Resumen
    • ¡Últimas noticas!
      • MD5 está roto por fallo en diseño
      • 34. SHA1 está roto por fuerza bruta junto con una reducción de la complejidad algorítmica
      • 35. Las nuevas tendencias sugieren el uso de SHA con una mayor longitud para el resumen: 256, 512, ...
  • 36. Funciones Resumen
    • Ejercicios
      • Calcula y compara los resúmenes de un mismo fichero, utilizando distintos algoritmos.
      • 37. Modifica ligeramente el fichero de datos y compruebas los cambios provocados en el resumen.
      • 38. Busca y experimenta con otros algoritmos de resumen, distintos a los comentados.
  • 39. Funciones Cifrado
    • Nota importante
      • La fortaleza de un algoritmo de cifrado se basa en la imposibilidad computacional de obtener la clave
  • 40. Funciones Cifrado
    • Tipos de cifrado
      • Cifrado en flujo: A5, RC4
      • 41. Cifrado en bloque
        • Simétricos: DES, AES, IDEA, RC5
        • 42. Asimétricos: RSA, ElGammal
  • 43. Cifrado en flujo
    • Cifrado en flujo
      • El mensaje claro es leído bit a bit
      • 44. Se aplica una operación de cifrado sobre cada uno de los bits, utilizando una secuencia de cifrantes que cumpla:
        • Tenga un periodo muy alto
        • 45. Tenga propiedades pseudoaleatorias
      • Problemas del cifrado en flujo:
        • No oculta patrones del mensaje, lo cual lo hace más débil al criptoanálisis (ataque estadístico)
  • 46. Cifrado en bloque
    • Cifrado en bloque
      • El mensaje se divide en bloques
      • 47. Se cifra cada bloque utilizando la misma clave
      • 48. ¿Qué tamaño de bloque elegir?
        • Si es muy pequeño, tenemos el mismo problema que con el cifrado en flujo
        • 49. Si es muy grande, el rendimiento del algoritmo baja
  • 50. Cifrado en bloque
    • ¿El cifrado en bloque oculta toda la información del mensaje?
  • 51. Cifrado en bloque
    • La solución es utilizar una función de cifrado en bloque retroalimentada
  • 52. Cifrado en bloque
    • Modos de cifrado
      • ECB: Electronic CodeBook (libro electrónico de códigos, distinta clave para cada bloque)
      • 53. CBC: Cipher Block Chaining (encadenamiento de bloques)
      • 54. CFB: Cipher FeedBack (realimentación de bloques)
      • 55. OFB: Output FeedBack (realimentación bloque de salida)
  • 56. Cifrado en bloque
    • Modos de cifrado
      • ECB: Electronic CodeBook (libro electrónico de códigos, distinta clave para cada bloque)
      • 57. CBC: Cipher Block Chaining (encadenamiento de bloques)
      • 58. CFB: Cipher FeedBack (realimentación de bloques)
      • 59. OFB: Output FeedBack (realimentación bloque de salida)
  • 60. Cifrado Simétrico
    • La misma clave que se utiliza para cifrar es la que se utiliza para descifrar.
    • 61. Hay muchos algoritmos de cifrado simétrico:
  • 66. Cifrado Simétrico
    • Ventajas de los cifrados simétricos:
      • La velocidad de cifrado es muy alta
      • 67. No requieren claves demasiado grandes para considerarlos seguros
    • Problemas de los cifrados simétricos:
      • Mala distribución de claves: no existe forma segura de comunicar una clave utilizando un canal inseguro
      • 68. No tiene firma digital: aunque sí que es posible autenticar un mensaje, pero sin llegar a conseguir la firma digital completa (auténtico y de origen conocido)
  • 69. DES
    • DES - Data Encryption Standard
      • Estándar utilizado mundialmente durante 25 años
      • 70. Actualmente ha caído frente a los distintos criptoanálisis a los que se le ha sometido
      • 71. La variación Triple DES (3DES) es totalmente válida utilizando una longitud de clave mínima de 128 bits
  • 72. DES
    • Fechas de interés
      • 1973: En EEUU la NBS National Bureaux of Standards llama a concurso público para buscar un algoritmo criptográfico estándar.
      • 73. 1974: La NSA National Security Agency declara desierto el primer concurso, publica unas segundas especificaciones y elige Lucifer, algoritmo original de IBM (años 70) con variaciones.
      • 74. 1976: El DES se adopta como estándar y se autoriza para ser utilizado en las comunicaciones no clasificadas del gobierno.
  • 75. DES
    • No se cumplen dichas características hasta 1974
    • 76. Pero...
      • La NSA impone una limitación a la longitud de clave:
        • De los 128 bits de Lucifer, NSA deja la clave en 64 bits. La clave efectiva sólo son 56 bits puesto que al ser datos de 8 bits, no ASCII, se conoce el bit de paridad.
        • 77. Luego, el espacio de claves será 2 56 = 7.2 ·10 16 , tan sólo setenta y dos mil billones de valores, un valor pequeño en criptografía.
    K = 72.057.594.037.927.936
  • 78. Ejercicios
    • Instalar OpenSSL
    • 79. Cifrar un fichero de texto con un mensaje y pasarlo al compañero para que lo descifre, pero sin que sepa el algoritmo de cifrado utilizado, solo la clave. Probad varios algoritmos.
    • 80. Averigua qué es base64 y su utilidad. ¿Es seguro? ¿Dónde lo has utilizado?
    • 81. Utiliza la esteganografía para comunicar algo a un compañero.
  • 82. Cifrado Asimétrico
    • Están formados por un par de claves:
    • Se basan en “funciones trampa” : son funciones computacionalmente simples pero extremadamente difíciles de invertir:
      • Es fácil calcular el producto de dos números primos, pero es muy costoso factorizar un número compuesto en sus componentes primos
  • 84. Cifrado Asimétrico
    • Problemas de este sistema de cifrado:
      • Para una misma longitud de clave y mensaje se necesita mayor tiempo de proceso
      • 85. Las claves deben ser de mayor tamaño que las simétricas
      • 86. El mensaje cifrado ocupa más espacio que el original
    • La criptografía de curva elíptica es una alternativa menos costosa para estos problemas.
  • 87. Cifrado Asimétrico
    • Algunos algoritmos de cifrado asimétrico:
    • Protocolos basados en cifrados asimétricos:
  • 92. RSA
    • Descrito en 1977 por Ron Rivest, Adi Shamir y Len Adleman en el MIT
    • 93. Patentado en 1983 y expirado el 21 Septiembre de 2000
    • 94. Se basa en la la imposibilidad de factorizar un número compuesto en sus factores primos
  • 95. RSA
    • Pasos en una comunicación cifrada mediante RSA:
      • A y B intercambian sus claves públicas
      • 96. Los mensajes de A hacia B se cifran con la clave pública de B y éste los descifrará con su clave privada.
      • 97. Los mensajes de B hacia A se cifran con la clave pública de A y éste los descifrará con su clave privada.
  • 98. RSA
    • Como el cifrado y descifrado mediante este algoritmo es muy costoso, se suele aplicar el siguiente protocolo alternativo:
      • A genera una clave simétrica de sesión y la cifra con la clave pública de B
      • 99. B descifra la clave simétrica generada por A y la utiliza para cifrar mediante algoritmo simétrico los mensajes enviados a A.
      • 100. Cada cierto tiempo se regeneran las claves de sesión.
      • 101. B realiza el proceso paralelo al descrito.
  • 102. RSA
    • Problemas:
      • ¿Cómo intercambiar las claves públicas de forma segura?
      • 103. Estamos expuestos a ataques tipo MITM
    • Solución -> Autenticidad de las claves basadas en firma electrónica.
  • 104. Firma electrónica
    • Se basa en la característica de intercambio de las claves públicas y privadas de los sistemas de cifrado asimétricos:
      • Lo que cifra una, lo descifra la otra y viceversa.
    • El cifrado utiliza la clave pública del destinatario como clave del algoritmo, de forma que el destinatario descifrará con la clave privada.
    • 105. La firma consiste en cifrar con la clave privada del emisor de forma que cualquiera pueda descifrarlo con la clave pública de éste.
  • 106. Firma electrónica
    • Así se asegura que el envío solo puede haberlo realizado el emisor, y no otra persona.
    • 107. Problema: tal y como se ha descrito, una firma oculta el mensaje original (lo cifra con la clave privada del emisor), pero interesaría que el mensaje fuese en claro y que se asegure de alguna forma su integridad y autenticidad.
  • 108. Firma electrónica
    • La solución consiste en cifrar mediante la clave pública el resultado de aplicar una función hash sobre el mensaje que se quiere enviar:
      • El receptor podrá recuperar la hash enviada por el emisor y compararla con la que calcule él mismo a partir del mensaje en claro
      • 109. Si coinciden, el mensaje es íntegro y auténtico.
      • 110. Si no coinciden, el mensaje se ha modificado durante el intercambio de la información.
  • 111. Firma electrónica
    • ¡Seguimos siendo vulnerables a ataques de tipo MITM!
  • 112. Firma electrónica
    • La solución pasa por establecer la autenticidad de las claves públicas de los que intervienen en la comunicación.
    • 113. ¿Cómo? -> Mediante sistemas de confianza basados en terceros
  • 114. Firma electrónica
    • Comunicación segura basada en un esquema de confianza:
      • A y B no se conocen pero quieren establecer una comunicación de forma segura.
      • 115. Ambos conocen y confían en C
      • 116. C firma la clave pública de A y de B
      • 117. A comprueba que la firma de la clave pública de B está realizada por C y confirma que su clave es íntegra y auténtica (¿por qué?)
      • 118. B comprueba que la firma de la clave pública de A está realizada por C y confirma que su clave es íntegra y auténtica (¿por qué?)
  • 119. Firma electrónica
    • ¿Alguien puede describir el funcionamiento básico del protocolo SSH?
  • 120. Ejercicios
    • Genera una clave RSA con openssl
    • 121. Intercambia contenido cifrado con algún compañero
    • 122. Intercambia contenido firmado con algún compañero
    • 123. Intercambia contenido cifrado certificando su origen