Figura 1. Desactivación del firewall

Documentos relacionados
Comprueba tu trabajo: Cuadernos de Laboratorio de Criptografía jra - Entrega nº 7 Ataque por paradoja de cumpleaños a RSA: Parte 1 Página 1

Cuadernos de Laboratorio de Criptografía jra - Entrega nº 5 - Claves parejas en RSA Página 1

Cuadernos de Laboratorio de Criptografía jra - Entrega nº 4 - Generación de claves RSA con genrsa v2.1 Página 1

Cuadernos de Laboratorio de Criptografía jra - Entrega nº 6 Números no cifrables en RSA Página 1

jra Taller de Criptografía Aplicada, CyberCamp 2017, Santander, 3/12/17 Página 1

Tablas y códigos:

CRIPTOGRAFÍA APLICADA

CRYPT4YOU TABLA DE CONTENIDOS DOCUMENTO ANEXO A LA LECCIÓN 1 DEL CURSO "EL ALGORITMO RSA" EJERCICIOS Y PRÁCTICAS PROPUESTOS Y RESUELTOS

CLCript Cuadernos de Laboratorio de Criptografía jra - Entrega nº 9 Matemáticas discretas en criptografía Página 1

CRYPT4YOU TABLA DE CONTENIDOS DOCUMENTO ANEXO A LA LECCIÓN 2 DEL CURSO "EL ALGORITMO RSA" EJERCICIOS Y PRÁCTICAS PROPUESTOS Y RESUELTOS

Cuadernos de Laboratorio de Criptografía jra - Entrega nº 3 - Vigenère: cifrado, descifrado y criptoanálisis 1

Proyecto CLCript jra - Entrega nº 13 - Colisiones en MD5 y SHA-1 Página 1

CRYPT4YOU TABLA DE CONTENIDOS DOCUMENTO ANEXO A LA LECCIÓN 3 DEL CURSO "EL ALGORITMO RSA" EJERCICIOS Y PRÁCTICAS PROPUESTOS Y RESUELTOS

Redes de Transmisión de Datos - Práctica 10 Servicios y aplicaciones: gestión real de la red

Restaurar el sistema en Windows 7.

INSTALAR DISCO.VHD DE VIRTUAL PC EN HYPER-V

EDITRAN/X25. Manual de instalación y usuario. Distribuido. Windows

El Asistente de configuración le permite configurar los ajustes básicos de manera rápida y sencilla. 1.- Seleccione el idioma del sistema.

Dentro de las funciones básicas de un procesador de textos están; escribir, guardar e imprimir documentos.

INSTALACIÓN DEL SISTEMA AUDITORVERSIÓN SQL

ACTIVIDAD DE AMPLIACIÓN VOLUNTARIA

MANUAL DE INSTALACIÓ N

Caso actual: el malware DNSChanger Qué pueden hacer ahora los usuarios de ordenadores?

CORREO DE ALUMNOS. Outlook 2010 POP

A. Instalación de Mininet

Colegio de estudios científicos y tecnológicos del estado de México. Soporte técnico a distancia. SoftLine

Manual de configuración de Adobe Reader para la validación de la firma de un documento.

Capítulo 13 Cifrado Asimétrico con Mochilas

Instalación Modo Portátil

Guía de configuración de EDUROAM para Windows 8

Puesta en marcha de Aspel-COI 8.0 para usuarios de una versión anterior

Instalación en Windows. Comienza por descargar la aplicación en la sección de Sincronización en el portal del Mega Reto.

Guía de configuración de EDUROAM para Windows 7

Instalación en Mac OS X. Comienza por descargar la aplicación en la sección de Sincronización en el portal del Mega Reto.

Instalación del controlador de impresoras Custom PostScript o PCL en Windows

Práctica de laboratorio: Configuración de una NIC para utilizar DHCP en Windows Vista

DEL USUARIO DE WINDOWS VISTA. Instalación del software de impresión... 2 Installazione del software per la stampa in rete... 5

Puesta en marcha de Aspel-NOI 7.0 para usuarios de una versión anterior

LEY11 LEY11. Manual de configuración de Adobe Reader para la validación de la firma de un documento.

Validación de la firma de un documento. Manual de configuración de Adobe Reader

Configuración básica de redes TCP/IP.

Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP

Guía de actualización Java V 7.45 para usuarios ios con navegadores Safari

Instalando el servidor de SIABUC9

Trámites en línea Requisitos Generales de Configuración del Almacén de Certificados

Servicio de uso compartido de archivos en redes con equipos Windows XP SP2

Cómo descargar y ejecutar la herramienta PScan Fecha: noviembre 2010

Maristas Provincia Compostela rev.2

CONSOLA DE SEGURIDAD INFORMACIÓN DE LICENCIA. Manual de usuario. Versión 2.00 Abril 2010

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA CON NETGUI

Accede a la siguiente dirección para obtener un ID de Adobe:

Práctica de laboratorio: Instalación de Linux en una máquina virtual y exploración de la GUI

HERRAMIENTAS BASICAS DE MANEJO DE WINDOWS

AGENCIA PÚBLICA ANDALUZA DE EDUCACIÓN

Instalando el cliente de SIABUC9

Manual de Instalación

Práctica 7 Midiendo throughput en Ethernet

Router de Banda Ancha Inalámbrico Sweex + conmutador de 4 puertos

CORREO DE PERSONAL. Outlook 2013 POP

Plantilla Quiz. Game-Play:

Conexión de Sistemas en Red

GUÍA DE INSTALACIÓN CTEM MEMORIAS

Actividad 3.1 Configuración de un servidor DHCP en Windows 2000

ST-8502 ACTUALIZACIÓN ANUAL.

ZTE MF823 Instrucciones de actualización

OFICINA VIRTUAL FIRMA DIGITAL. Manual de Usuario

MANUAL DE CONFIGURACION DE ADOBE PARA LA VALIDACION DE LA FIRMA DE UN DOCUMENTO

Sede electrónica. Requisitos Generales de Configuración del Almacén de Certificados

A partir de ese momento, como se indica, se dispondrán de 25 pruebas más antes de que haya que adquirirlo.

INSTRUCTIVO DE ACTUALIZACIÓN DEL SISTEMA BIOMÉTRICO

D-TPV. Rev Dactilplus - Edificio Grandfor ( Oficina 1 - Planta 1ª ) - C/ Junqueral Nº Barakaldo - Bizkaia

Guía de Actualización

Descarga de un libro de Anaya

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Seguridad de la informacion. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Instalable módulo criptográfico CERES Clase 2 Manual de usuario

En la ventana de comandos se puede escribir la orden ipconfig y al pulsar INTRO se mostrarán los datos de configuración de la tarjeta de red de forma

Configuración básica de una red

Puesta en marcha de Aspel-SAE 6.0 (Nueva base de datos)

Media Nav. Introducción a Media Nav

Cuando pinchamos sobre ejecutar nos aparece una ventana en la que debemos escribir la ruta de ejecución de nuestro CD:

CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK 2013

Tabla de contenidos. 1 de 26. TANGO CENTRO DE CLIENTES Cerrito CP C1010AAZ Buenos Aires Argentina +54 (011) (011)

Guía de Inicio Rápido Windows Respaldo en Línea

PASOS PARA CONFIGURAR SQL SERVER PARA ADMITIR CONEXIONES REMOTAS.

Zero Net Boot Versión 11.09

Manual de instalación TVP Móvil Hostelería

Puesta en marcha de Aspel-SAE 7.0 (Nueva base de datos)

Generalitat de Catalunya Departament d Ensenyament Institut d Educació Secundària i Superior d Ensenyaments Professionals Esteve Terradas i Illa

COMO CREAR UNA RED LOCAL ENTRE EQUIPOS CON WINDOWS

Instalación de la aplicación

Reuniones de usuarios 2015

router Thomson ST 516 v6 guía de instalación

RAID 1 en Debian 6.0. Rocío Alt. Abreu Ortiz

Transcripción:

Proyecto CLCript Cuadernos de Laboratorio de Criptografía. Entrega nº 8 Última actualización 25/09/18 Autor: Dr. Jorge Ramió Aguirre (@criptored) Prácticas con el algoritmo RSA: ataque por paradoja del cumpleaños con LegionRSA Software LegionRSA: http://www.criptored.upm.es/software/sw_m001o.htm Software genrsa v2.1: http://www.criptored.upm.es/software/sw_m001d.htm Lectura de interés: http://www.criptored.upm.es/crypt4you/temas/rsa/leccion10/leccion10.html Objetivos: 1. Observar cómo se realiza un ataque por la paradoja del cumpleaños a claves RSA con el software LegionRSA. 2. Observar con LegionRSA cómo funciona un ataque por la paradoja del cumpleaños a claves RSA en red o paralelo y comprobar que se cumple el principio de divide y vencerás. 3. Apreciar la seguridad del algoritmo RSA basada en el uso de números primos muy grandes. I. Arranque de Servidor y Cliente para ataque en localhost con un único cliente Ejercicio 1) 1.1. Desde la carpeta del software LegionRSA, ejecuta el programa LegionRSA.jar y activa el modo Servidor. 1.2. Es posible que salte el firewall de tu equipo; eso es normal. Contesta Permitir el acceso. Figura 1. Desactivación del firewall 1.3. Introduce como módulo N = 580.630.534.437.856.787 (un valor de 60 bits), como exponente público haz que lo asigne automáticamente el programa (elegirá el valor estándar e = 65.537) y como Mensaje M con el cual realizar el ataque también acepta el valor por defecto, que será M = 2. 1.4. Antes de Iniciar ataque distribuido, desde la carpeta del programa vuelve a ejecutar LegionRSA.jar y activa el modo Cliente. Se abrirá una nueva ventana. En esa ventana el programa te indicará que se usarán por defecto (x-1) procesadores siendo x la cantidad de procesadores que tenga tu máquina. Puedes aceptarlo o cambiar ese número. Si quieres puedes poner un alias a tu máquina, por ejemplo MiSuperPC (no permitidos los espacios). Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 1

1.5. Hecho esto, PRIMERO activa el Cliente indicando Unirse al ataque. Verás que aparecerá un mensaje de estado diciendo UNIDO AL ATAQUE, ESPERANDO ORDENES DEL SERVIDOR. 1.6. Recupera ahora la ventana del Servidor y observa que te dice que para el ataque tienes 1 único cliente con los procesadores que hayas elegido para el ataque. 1.7. Ahora ya puedes arrancar el ataque pulsando en Iniciar ataque distribuido. 1.8. Observa la información que va apareciendo en Estadísticas (lo mismo aparecerá en el Cliente) y que después de unos 5 segundos ha encontrado que la clave privada d es el valor 408.612.856.360.527.161. 1.9. Qué tasa de cifra total ha alcanzado tu PC? 1.10. Usando por ejemplo la calculadora de Windows, comprueba que el valor estimado de cifras por la paradoja del cumpleaños es 3 N. 1.11. Qué porcentaje de ese valor estimado tuvo que recorrer el ataque? 1.12. Comprueba que, dependiendo de tu máquina, cada procesador aportará una tasa de cifra entre 100 a 150 millones de claves por segundo. 1.13. Observa toda la información que se muestra en las ventanas Servidor y Cliente. 1.14. Con el software genrsa v2.1 comprueba que el valor encontrado se trata de la clave privada d = 408.612.856.360.527.161. Primero factoriza n = 580.630.534.437.856.787 para comprobar que p = 270.394.759 y q = 2.147.343.893. Hecho esto, introduce esos valores de p y q en la generación de claves y usa como clave pública e = 65.537. Genera ahora esta clave manualmente y comprueba que el valor de la clave privada encontrado en el ataque es el correcto. Comprueba tu trabajo: Figura 2. Servidor en ataque modo localhost antes de iniciarlo Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 2

Figura 3. Cliente en modo localhost unido al ataque Figura 4. Servidor en modo localhost terminado el ataque Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 3

Figura 5. Cliente en modo localhost terminado el ataque Ejercicio 2) 2.1. Repite el ejercicio 1 haciendo que ahora sea el software quien elija los primos p y q. Hazlo para una clave de 65 bits y otra de 70. 2.2. Para ello, primero debes sólo debes indicar en el Servidor que vas a Configurar nuevo ataque y en el MODULO N indicar que deseas se asigne automáticamente. Al pinchar, se abrirá una ventana donde debes indicar la cantidad de bits del módulo, e.g. 70. 2.3. Observa que, aumentando tan solo 10 bits, el tiempo para que el ataque prospere pasa de los pocos segundos a los pocos minutos. 2.4. En los tres ataques realizados hasta ahora, en torno a qué porcentaje de cifrados probados según la estimación tuvo que llegar el programa? De media, se acerca al 100%? 2.5. Comprueba nuevamente con genrsa v2.1 que la clave privada encontrada en el ataque es la correcta. 2.6. Observa que, a medida que vas haciendo el módulo más grande, la tasa de cifra disminuye. Para ello arranca un ataque con una clave de 256 bits y detenlo cuando lleve un par de minutos para poder leer la tasa de cifra. Haz ahora otros tres ataques con una clave de 512 bits, 768 bits y 1.024 bits y detenlos a los dos minutos. 2.7. Cómo ha descendido la tasa de cifra en estos 4 últimos intentos? Comprueba tu trabajo: Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 4

Figura 6. Servidor en modo localhost terminado el ataque Figura 7. Cliente en modo localhost terminado el ataque Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 5

Figura 8. Comprobación con genrsa v2.1 de que el ataque es correcto Valores aproximados de la tasa de cifra según el tamaño del módulo para un PC en particular: 256 bits: tasa 300.000.000 cifras/segundo 512 bits: tasa 170.000.000 cifras/segundo 768 bits: tasa 25.000.000 cifras/segundo 1.024 bits: tasa 20.000.000 cifras/segundo II. Arranque de Servidor y Cliente para ataque en localhost con más de un cliente Ejercicio 3) 3.1. Repite el ejercicio con N = 580.630.534.437.856.787, arrancando de la misma manera el Servidor. 3.2. Ahora en el Cliente primero arranca un cliente llamado PClocal1 con un solo procesador y, después de unirte al ataque con PClocal1, ejecuta nuevamente el programa LegionRSA.jar arrancando un segundo cliente en tu máquina, en este caso con dos procesadores y de nombre PClocal2. Hecho esto, únete también al ataque con PClocal2. 3.3. Observa ahora en el Servidor que tienes dos máquinas atacando, una con 1 procesador y la otra (es tu misma máquina claro) con 2 procesadores. 3.4. Desde Servidor, pulsa Iniciar ataque distribuido. 3.5. Terminado el ataque, observa las tres ventanas de Java que se han abierto. Qué máquina ha encontrado al clave, PClocal1 o PClocal2? Comprueba tu trabajo: Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 6

Figura 9. Servidor en modo localhost terminado el ataque Figura 10. Cliente 1 en modo localhost terminado el ataque Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 7

Figura 11. Cliente 2 en modo localhost terminado el ataque III. Arranque de Servidor y de Clientes para un ataque en red Ejercicio 4) 4.1. Para este ejercicio debes tener una red de al menos 2 máquinas, la tuya que puede hacer de Servidor y también de Cliente como ya has visto, y una segunda máquina que se unirá al ataque en modo red indicando aquí la dirección IP de tu Servidor. Lo ideal es hacer este ejercicio en un laboratorio que tenga al menos 10 máquinas conectadas en red. 4.2. Para que puedas comprobar que en un ataque en red se cumple el principio de divide y vencerás y que el tiempo de ataque se divide aproximadamente por el número de PCs que atacan, haz primero un ataque en local para esta clave de 80 bits 850.388.606.250.257.381.605.069, con e = 65.537 y M = 2. Según las características de tu máquina, este ataque podría tardar más de una hora. 4.3. Terminado el ataque, apunta el tiempo que ha tardado en encontrar la clave, la tasa de cifra alcanzada y lógicamente el valor de la clave privada d. Es importante que en este ataque la máquina usada tenga una potencia similar a las máquinas de la red que participarán luego en el ataque distribuido. 4.4. Repite ahora el ataque con la misma clave y abre en todos los PC del laboratorio el Cliente, poniendo en cada uno un nombre o alias distinto, y en vez de localhost pon como Dirección del servidor la dirección IP de la máquina que haga de Servidor. Puedes encontrar dicha dirección IP desde MSDOS mediante el comando ipconfig. 4.5. Cuando todos los PCs estén unidos al ataque y esperando órdenes del servidor, mira en el Servidor cuántos PCs hay conectados y cuántos procesadores van a intervenir en el ataque. 4.6. Hecho esto, puedes comenzar desde el Servidor el ataque distribuido. Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 8

4.7. Terminado el ataque, comprueba que se cumple esta regla: si en el ataque de forma localhost había x procesadores y en el ataque en red hay y procesadores, entonces el ataque en red debería disminuir su tiempo en aproximadamente x/y. 4.8. Saca conclusiones de lo visto. 4.9. Sin tener en cuenta la capacidad de cómputo necesaria, cuánto tiempo disponible tendría este tipo de ataque para poder romper la clave privada de un certificado digital? Mira tiempos típicos de validez en X509. 4.10. Dado que divide y vencerás también funciona aquí en RSA, no sólo en la cifra simétrica, crees que podría convertirse en una amenaza real a RSA poder realizar este tipo de ataque en grandes granjas de ordenadores o bien usando FPGA? 4.11. Con genrsa v2.1 factoriza el módulo 850.388.606.250.257.381.605.069 y crea la clave manualmente con e = 65.537. Comprueba que la clave encontrada en el ataque es la clave privada d = 165.556.986.543.744.672.689.345. Comprueba tu trabajo: Figura 12. Servidor en modo localhost red terminado el ataque Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 9

Figura 13. Cliente en modo localhost red terminado el ataque Figura 14. Servidor en modo red terminado el ataque Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 10

Figura 15. Cliente 21 en modo red terminado el ataque Figura 16. Cliente 22 en modo red terminado el ataque Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 11

Figura 17. Cliente 24 (que encuentra la clave) en modo red terminado el ataque Figura 18. Factorización del módulo con genrsa v2.1 en 5 segundos Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 12

Figura 19. Comprobación con genrsa v2.1 que d = 165.556.986.543.744.672.689.345 RESUMEN DEL ATAQUE EN RED Ataque en modo local a una clave de 80 bits n = 850.388.606.250.257.381.605.069; e = 65.537; M = 2 Un único cliente con 4 procesadores Cálculos estimados: 2.766.495.518.928 Cálculos realizados: 2.323.012.607.374 Porcentaje recorrido del espacio: 83% Tasa media de cifrados por segundo: 756.008.932 Tiempo empleado: 51 minutos, 12 segundos (3.072 segundos) Clave encontrada d = 165.556.986.543.744.672.689.345 Ataque en modo red a la misma clave de 80 bits Ataque con 30 ordenadores y 120 procesadores Nota: las máquinas del laboratorio no son exactamente iguales. Algunas máquinas alcanzaron tasas de 1.100 millones de claves por segundo, otras de 730 millones de claves por segundo y, las más lentas, tasas de 550 millones de claves por segundo. Cálculos estimados: 2.766.495.518.928 Cálculos realizados: 2.323.012.607.374 Porcentaje recorrido del espacio: 83% Tasa media de cifrados por segundo: 21.411.490.068 Tiempo empleado: 1 minuto, 47 segundos (107 segundos) Clave encontrada d = 165.556.986.543.744.672.689.345 Mejora: 3.072/107 = 28,71 veces más rápido Se acerca a 30, porque el ataque en localhost fue hecho con la máquina más rápida de más de mil millones de claves por segundo (PC21) Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 13

Figura 20. Laboratorio Dpto. SI ETSISI UPM, 30 PCs durante el ataque en red (1) Máquina con dos ventanas es PC21, que actúa como Servidor y Cliente Figura 21. Laboratorio Dpto. SI ETSISI UPM, 30 PCs durante el ataque en red (2) Cuadernos de Laboratorio de Criptografía jra - Entrega nº 8 Ataque por paradoja cumpleaños a RSA Parte 2 Página 14