43
UNIVERSIDAD DE ALMERÍA CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH Autor Directores Ingeniero en Informática

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

UNIVERSIDAD DE ALMERÍA

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD:EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

Autor

Directores

Ingeniero en Informática

Page 2: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

ÍNDICE

2

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 3: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 3

ÍNDICE

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 4: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 4

1. INTRODUCCIÓN

Modelos de computación

Influencia de las Tecnologías de la Información

Page 5: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 5

Computación en la nubeCloud Computing

Ofrecer recursos alojados en la red

Ventajas

Ahorro generalizado costesEscabilidadFiabilidadAbstracción del hardwareRecuperación ante desastresAlta disponibilidad y alto rendimientoIndependencia de la localizaciónEtc.

Desventajas

Tecnología prematuraSentimiento de inseguridadDependencia de conexión a InternetDependencia proveedores serviciosDegradación del servicio

1. INTRODUCCIÓN

Page 6: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 6

Computación en la nubeCloud Computing

TIPOS

Nubes públicas o externas

Nubes privadas o internas

Nubes híbridas

Nubes combinadas

Nubes comunitarias

1. INTRODUCCIÓN

Page 7: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 7

Computación en la nubeCloud Computing

Servicios ofrecidos

1. INTRODUCCIÓN

Page 8: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Herramientas Open Source

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 8

Computación en la nubeCloud Computing

Arquitectura

Front-End Nodos Sistema ficheros

1. INTRODUCCIÓN

Page 9: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 9

ClústeresAgrupación de dos o más computadores que se encuentran interconectados y trabajan de forma conjunta.

Componentes

NodosAlmacenamientoSistema operativoConexiones de redMiddlewareEntornos de programación paralela

1. INTRODUCCIÓN

Page 10: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 10

Clústeres

Clasificación según sus características

Alto rendimiento Proporcionan altas prestaciones de capacidad de cómputo superior

Alta disponibilidadBrindan la máxima disponibilidad de los servicios que ofrecen

Alta eficienciaEnfocados a la ejecución de la mayor cantidad de tareas en el menor tiempo posible

1. INTRODUCCIÓN

Page 11: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 11

ClústeresFamilias y herramientas

Clúster Beowulf (Alto rendimiento)

Computación paralela en múltiples procesadores siguiendo paradigma cliente/servidor.Utilizan librerías de paso de mensaje (PVM, MPI, OpenMP)Implementaciones open source: MPICH, OpenMPI o LAM/MPI

Clúster alta disponibilidad con Linux Virtual Server (LVS)

Utilizados principalmente en granjas de servidores. Disponen balanceador de carga virtual (master y backup)

Clúster SSI (Single System Image)Ocultan la naturaleza heterogénea y distribución de los recursos Recurso unificado y sencillo.Herramientas: OpenMosix y Kerrighed

1. INTRODUCCIÓN

Page 12: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 12

Sistemas de alto rendimientoHPC, High Perfomance Computing

Clústeres

Relación coste - rendimiento

Espacio y gestión almacenamiento

Grid Computing oCloud Computing

Soluciones escalables, potentes y flexibles

Integrar sistemas heterogéneos

1. INTRODUCCIÓN

Page 13: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 13

1. INTRODUCCIÓN

Objetivo del proyectoImplementación de un clúster alto rendimiento

basado en el paradigma Cloud Computing

Cloud Computing

Infraestructura clúster

ELASTIC CLUSTER

Page 14: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 14

ÍNDICE

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 15: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 15

2. ELASTIC CLUSTER

Implementación de la infraestructura física

Puesta en marcha

Page 16: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 16

2. ELASTIC CLUSTER

Puesta en marchaImplementación de la nube

Page 17: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 17

2. ELASTIC CLUSTER

Puesta en marchaImplementación del clúster

Clúster Tipo Beowulf (Alto rendimiento)

Computación paralela programas en C

Implementación MPICH2 1.2.1

Conexiones SSH sin contraseña

Directorio compartido mediante NFS

Page 18: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 18

ÍNDICE

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 19: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

5 SERVIDORES DELL R210 4 x INTEL XEON X340 - 2,40 GHz, 4GB RAM, 250 GB HDD

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 19

Elastic ClusterFlexibilidad para desplegar clústeres adaptables a nuestras necesidades en tamaño y recursos, escalables, tolerantes a fallos y a un bajo coste.

NO TODO SON VENTAJAS PÉRDIDA RENDIMIENTO

Clúster Físico (PHC)5 servidores de 4 núcleosUbuntu Maverick Meerkat 10.10Mpich2 1.2.1

Clúster Máquinas virtuales (VMC)10 instancias de 2 núcleos 5 instancias de 4 núcleosUbuntu Lucid Lync 10.04 y Mpich2 1.2.1

20 procesadores sobre 5 servidores Dell R210

3. PRUEBAS DE RENDIMIENTO

Page 20: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 20

Pruebas rendimiento

Benchmark básico

Sistema ficheros: Escritura y lectura fichero disco secuencial 100MB

Memoria RAM: Escritura y lectura de un vector 1MB 1000 veces

3. PRUEBAS DE RENDIMIENTO

Page 21: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 21

Pruebas rendimiento

Benchmark básico

Potencia procesamiento: Calculo eficiencia del sistema (MPI Benchmark)

PHCEficiencia mayorSistema más estable

VMCPerdida rendimiento 8,07%debido a la capa de virtualización del cloud

3. PRUEBAS DE RENDIMIENTO

Page 22: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

2 procesosn

Penalización media VMC: 27,29 %

Benchmark LU:

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 22

Pruebas rendimiento

3. PRUEBAS DE RENDIMIENTO

Benchmark NPB (Nas Parallel Benchmarks)Conjunto de kernels y aplicaciones desarrolladas por la NASA para el estudio del rendimiento de supercomputadores paralelos (elevado número de comunicaciones).

Page 23: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

n procesos2

Penalización media VMC: 19,89 %

Benchmark SP:

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 23

Pruebas rendimiento

3. PRUEBAS DE RENDIMIENTO

Benchmark NPB (Nas Parallel Benchmarks)Conjunto de kernels y aplicaciones desarrolladas por la NASA para el estudio del rendimiento de supercomputadores paralelos (elevado número de comunicaciones).

Page 24: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 24

Pruebas rendimiento

Análisis de resultados

VMC muestra un comportamiento peor que PHC.

Benchmark NAS: A mayor número de comunicaciones entre procesos, peor rendimiento.

Penalización media del rendimiento del 23,59 %.

Elastic Cluster:

Desventaja: Penalización rendimiento entre 8,07 % y 23,59 %

Ventaja: Tecnología ideal para clústeres alto rendimiento adaptables a las necesidades del proyecto con un bajo coste

3. PRUEBAS DE RENDIMIENTO

Page 25: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 25

ÍNDICE

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 26: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 26

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Criptografía “Rama de las Matemáticas, la Informática y la Telemática, que hace uso de métodos y técnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o más claves”.

Funciones Hash Permiten calcular la huella (o resumen) que identifica de forma unívoca un determinado conjunto de datos.

MD5 SHA1

LM NTLM

Page 27: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 27

Criptoanálisis de funciones Hash

Ciencia encargada de buscar las vulnerabilidades de los criptosistemas

Principales tipos ataques

Ataque del cumpleaños

Tablas Rainbow

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Page 28: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Ubuntu Enterprise Cloud

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 28

Ejemplo de aplicación: Fuerza bruta y tablas Rainbow

Se han utilizado dos entornos de trabajo

Elastic Cluster

GPGPU

Servidor MX DUAL AZServer Xenon con NVIDIA Tesla S10702 procesadores Quad Core Intel Xenon 2,66 GHz8 módulos de 2 GB de SDRAM y 2 discos duros SATA de 1 TB en RAID 14 tarjetas Tesla Procesador T10 con 960 núcleos de 1,44Gz cada unaModelo de programación paralela badado en GPU: CUDA

MPICH2

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Page 29: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 1: Generación de Hashesint num_hash = 1000000000;

for(i=0; i<num_hash; i++){calcular_hash(cadena_texto, tamaño_cadena, hash);

}

29CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

Elevada carga computacionalAltamente paralelizableFunciones MD5, SHA1 y LM OpenSSL

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Page 30: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 2: Obtención del valor a partir del hash

30CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

charset[37]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' '};

6

Elastic Cluster

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Búsqueda de un hash MD5. Cadenas de 5 y 6 caracteres.

37 = 2.565.726.409combinaciones posibles

Page 31: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 2: Obtención del valor a partir del hash

31CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

charset[37]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' '};

6

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Búsqueda de un hash MD5. Cadenas de 5 y 6 caracteres.

37 = 2.565.726.409combinaciones posibles

GPGPU - CUDA

Page 32: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

32CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

5 caracteres

6 caracteres

Resultados

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Aplicación 2: Obtención del valor a partir del hash

Page 33: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 3: Generación de tablas Rainbow

33CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

RainbowCrack Project

1. Generación de la Tabla Rainbow. En esta fase se crea la Tabla Rainbow propiamente dicha guardándola en un fichero de texto con el formato .rt.

2. Ordenación de Tabla Rainbow. En esta fase se ordena la tabla guardada en el fichero de texto. Esto es vital para la eficiencia de las Tablas Rainbow y por tanto obligatorio para el buen funcionamiento del algoritmo.

3. Ruptura de los hash. En esta fase se buscan los hash deseados en la tabla. En el caso de ser encontrados nos devuelve el resultado de la clave original.

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Page 34: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 3: Generación de tablas Rainbow

34CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

Elastic Cluster

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Espacio trabajo proceso

Tamaño tabla / num procesos

Page 35: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 3: Generación de tablas Rainbow

35CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

GPGPU - CUDA

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Page 36: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

Aplicación 3: Generación de tablas Rainbow

36CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

Resultados

Elastic Cluster supera los 56 millones de hashes/seg para la función MD5Rendimiento medio Cloud: 1770 % | Rendimiento medio CUDA 522%CUDA solución menos eficiente (penalizaciones por multitud de comunicaciones)

4. EJEMPLO DE APLICACIÓNCRIPTOANÁLISIS DE FUNCIONES HASH

Page 37: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 37

ÍNDICE

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 38: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 38

5. CONCLUSIONES

Es posible combinar la tecnología clúster y cloud computing para obtener una solución de altas prestaciones a un bajo coste.

Modelo Elastic Cluster permite adaptar la carga de trabajo ofreciendo una mejor disponibilidad y rendimiento.

El despliegue de una infraestructura cloud conlleva una pérdida de rendimiento, dependiendo del grado de paralelización.

Las implementaciones MPI y CUDA mejoran en gran medida el rendimiento de proyectos anteriores.

Tanto para la versión MPI como CUDA, es necesario un tiempo para iniciar el sistema, penalizando de forma importante la generación de un número pequeño de hashes. Para un número elevado de hashes son las mejores soluciones.

Page 39: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 39

5. CONCLUSIONES

Es posible romper una contraseña alfanumérica cifrada de cinco caracteres en menos de cuatro segundos, y dos minutos para una contraseña de seis caracteres.

CUDA ofrece mejores resultados para implementaciones de fuerza bruta, mientras que el clúster virtual lo supera con creces en la generación de tablas rainbow.

Page 40: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 40

ÍNDICE

1. Introducción

2. Elastic Cluster

3. Pruebas de rendimiento

4. Ejemplo de aplicación: Criptoanálisis de funciones hash

5. Conclusiones

6. Publicaciones y trabajo futuro

Page 41: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 41

6. PUBLICACIONES Y TRABAJO FUTURO

PUBLICACIONES

“Processing Cryptanalysis of Hash Functions using Graphics Processing Units”

Second International Conference on Parallel, Distributed, Grid an Cloud Computing for Engineering.Ajaccio 12-15 Abril 2011

ISSN 1759-3433

JDARE’11 - VIII Jornadas para el Desarrollo de Grandes Aplicaciones de Red. Universidad de Alicante Estado: ACEPTADO.Publicación: Noviembre 2011

“Evaluación del Rendimiento de Clústeres en Entornos Cloud Computing”

Page 42: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH 42

6. PUBLICACIONES Y TRABAJO FUTURO

TRABAJO FUTURO

Utilizar Elastic Cluster en problemas que necesiten altos requisitos de procesamiento:

Estudio e implementación de un sistema capaz de auditar comunicaciones seguras https (X.509). Generación de certificados falsos con la misma firma MD5.

Implementación de un clúster virtual en una arquitectura de nube pública o híbrida y realización de estudio comparativo de rendimientos.

Page 43: CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD · 2011-10-08 · propiamente dicha guardándola en un fichero de texto con el formato .rt. 2. Ordenación de Tabla Rainbow. En esta fase

CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD:EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH

Autor

Directores

GRACIAS POR SU ATENCIÓN

UNIVERSIDAD DE ALMERÍAIngeniero en Informática