técnicas de cifrado - wordpress.com · 2018-08-02 · seguridad y alta disponibilidad ernesto...

21
Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 1 Técnicas de cifrado 1-Historia Realizar CISCO CCNA Security 2.0. Laboratorio: Explorando métodos de cifrado 1- Escenario Para esta práctica necesitamos un escenario con dos equipos que puedan comunicarse entre ellos: Ahora voy a configurar los clientes y comprobar que se hacen ping:

Upload: others

Post on 29-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 1

Técnicas de cifrado

1-Historia Realizar CISCO CCNA Security 2.0. Laboratorio: Explorando métodos de cifrado

1- Escenario

Para esta práctica necesitamos un escenario con dos equipos que puedan comunicarse entre

ellos:

Ahora voy a configurar los clientes y comprobar que se hacen ping:

Page 2: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 2

Se comunican perfectamente.

2- Descifrar un mensaje pre-cifrado con el método “Vigenere Cipher”

Con este método a cada letra se le asigna un número consecutivo del 0 al 25 para las 26 letras

del abecedario. Para ello se usa el Cuadrado de Vigenere:

Page 3: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 3

Este método de cifrado es muy sencillo pero a la vez prácticamente indescifrable. Trata de

asociar las letras horizontales con las verticales. Voy a hacer un ejemplo propio para ver como

funciona éste método:

El mensaje encriptado es: MEIIKBB

La clave cifrada: INVES

Clave cifrada I N V E S I N V E S

Mensaje encriptado

M E I I K B B

Mensaje desencriptado

E R N E S T O

Ahora voy a enseñar cómo he realizado este proceso en la tabla Vigenere:

La secuencia es:

Salgo de la letra I hasta que llego a la letra M. La letra que las une es la E

Salgo de la letra N hasta que llego a la letra E. La letra que las une es la R

Así hasta descifrar el mensaje, que es mi nombre.

Page 4: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 4

El proceso ha funcionado correctamente, sin embargo vamos a la página

http://sharkysoft.com/misc/vigenere/1.0 para comprobarlo:

3- Utilización de “Esteganografía” para incrustar un mensaje cifrado en una imagen

Esteganografía es una rama de la criptología en la que se estudian y aplican fórmulas para

ocultar mensajes dentro de otros mensajes, de manera que podamos camuflar información a

plena vista sin que otras personas se den cuenta.

Para hacer este apartado voy a descargar el programa “StegoTool” y lo voy a instalar en un

Windows 7. A continuación voy a crear una nueva imagen con el Paint con la extensión .bmp.

Se llamará “imagen-estenografia.bmp” que guardo en el escritorio. Tiene que ser de 24bits o

no te aceptará la imagen.

Page 5: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 5

Una vez creados los dos archivos que nos hacen falta, voy a generar una clave con Vigenere en

la página que he usado anteriormente para comprobar que descifrábamos bien:

Clave cifrada C L A V E C L A V E

Mensaje encriptado

G C N Z W V Z

Mensaje desencriptado

E R N E S T O

Abro el programa e inserto la imagen, la clave y el mensaje que voy a cifrar dentro de la

imagen:

Page 6: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 6

Ahora le digo que cifre en mensaje con “Create Cipher”:

Page 7: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 7

Ahora creo “Stego-Image” y tendré una imagen con un texto cifrado dentro:

Guardo la imagen en el escritorio:

Ahora voy a descifrar la imagen con la otra característica del mismo programa:

Page 8: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 8

Ahora tenemos la imagen con el texto cifrado dentro. Vamos a usar este programa para

descifrar el texto de la imagen. Para ello introduciré la clave que puse anteriormente y a

continuación la imagen cifrada:

Page 9: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 9

2-Funciones hash

2.1-Integridad MD5 es un algoritmo que proporciona un código asociado a un archivo o un texto concretos.

De esta forma, a la hora de descargar un determinado archivo, como puede ser un instalador,

el código generado por el algoritmo, también llamado hash, viene “unido” al archivo.

Para que nosotros podamos ver este código MD5, existe software que analiza el archivo

descargado y obtiene dicho código de él. Con el hash de nuestra descarga, podemos acudir a la

web del desarrollador del programa del que tenemos el instalador y buscar el código MD5 de

su instalador original. Una vez tengamos disponibles los dos códigos MD5, el de nuestro

archivo descargado y el del instalador o software de la web oficial del desarrollador, podremos

comparar ambos y ver si coinciden y nuestro archivo es fiable o no.

Para esta práctica voy a usar “MD5Summer” sobre el archivo “ca_setup” que hemos

descargado.

Pincho sobre “Create sums” en la carpeta donde guardo el “ca_setup”. Despues selecciono el

archivo que quiero para averiguar el código MD5.

Page 10: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 10

Guardo los datos generados en el escritorio como “pruebaMD5”

Este es el código MD5 que nos he generado

Este es el código MD5 que viene en la página web desde la que hemos descargado el archivo.

Vemos que los números coinciden, por tanto el archivo es íntegro y no ha sido modificado.

Page 11: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 11

SHA1 es un método muy bueno de criptografía que convierte una cadena de texto en otra de

40 caracteres sin importa la longitud de la cadena original, y cifrándola de manera que se hace

más difícil poder obtenerla ya que SHA1 no tiene método de reversa para obtener la clave

original a partir de una ya cifrada.

Para esta práctica voy a utilizar el mismo programa que antes:

El procedimiento de generación del archivo SHA1 es muy similar al de MD5 en este programa

por lo que iré directamente al código generado:

El código es el mismo. Íntegro.

También he guardado el fichero en el escritorio. Ahí están generados los dos archivos:

Page 12: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 12

2.2-Autenticidad En la criptografía, un código de autentificación de mensajes en clave-hash (HMAC) es una

construcción específica para calcular un código de autentificación de mensaje (MAC) que

implica una función hash criptográfica en combinación con una llave criptográfica secreta.

Como cualquier MAC, puede ser utilizado para verificar simultáneamente la integridad de los

datos y la autentificación de un mensaje. Cualquier función hash criptográfica, tales como MD5

o SHA-1, puede ser utilizada para el cálculo de un HMAC; el algoritmo MAC resultante se

denomina HMAC-MD5 o HMAC-SHA1 en consecuencia. La fuerza criptográfica del HMAC

depende de la potencia criptográfica de la función de hash subyacente, el tamaño de su salida

de hash y el tamaño y calidad de la llave.

Para esta práctica voy a utilizar la siguiente página http://www.freeformatter.com/hmac-

generator.html

En esta página podemos encriptar un mensaje con una clave y un método:

Nos devuelve la clave HMAC:

Page 13: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 13

Ahora imaginamos que el mensaje que hemos enviado, ha llegado a su destinatario. Éste se

dispone a generar el código HMAC del mensaje desde la siguiente página:

https://hash.online-convert.com/es/generador-md5

Convertimos y vemos que se genera el mismo código MD5-HMAC:

Page 14: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 14

Ahora usaré las mismas páginas web y haré lo mismo pero en vez de usar el método MD5

usaré SHA1:

Vamos a hacer la comprobación:

Vemos que coincide y genera el mismo código SHA1-HMAC:

Page 15: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 15

3-Simétrico y asimétrico

3.1 -Confidencialidad (Simétrico) Los sistemas de cifrado simétrico son aquellos que utilizan la misma clave para cifrar y

descifrar un documento. El principal problema de seguridad reside en el intercambio de claves

entre el emisor y el receptor ya que ambos deben usar la misma clave. Por lo tanto se tiene

que buscar también un canal de comunicación que sea seguro para el intercambio de la clave.

Es importante que dicha clave sea muy difícil de adivinar ya que hoy en día los ordenadores

pueden adivinar claves muy rápidamente.

Para esta práctica voy a usar Ubuntu 16.04 y la herramienta de cifrado simétrico GPG:

Crearé un archivo de texto para cifrarlo, le añadiré un mensaje:

Ahora lo cifro con el comando “gpg –c ernesto-simetrico”. Se usa la opción –c para el cifrado

simetrico. Podemos ver una lista de opciones con “man gpg”.

Hago un ls y veo que el archivo se ha cifrado:

Page 16: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 16

Ahora veremos el archivo cifrado:

Ahora tendremos que hacer el proceso contrario para ver si podemos descifrarlo. Lo hacemos

así:

Nos ha pedido la contraseña que le pusimos y he sobrescrito el primer archivo.

Page 17: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 17

3.2-Confidencialidad (Asimétrico) La criptografía asimétrica se basa en el uso de dos claves: la pública (que se podrá difundir sin

ningún problema a todas las personas que necesiten mandarte algo cifrado) y la privada (que

no debe de ser revelada nunca).

Para ésta práctica usaré el mismo comando gpg en Ubuntu pero con opciones diferentes.

Crearé un fichero le daré un mensaje y lo cifraré:

Los algoritmos de cifrado asimétrico utilizan dos claves para cifrado y descifrado, por lo que

emisor y receptor deben tener cada uno dos claves. Generamos las claves con la opción:

#gpg –gen-key

Page 18: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 18

Marcamos las opciones que vienen por defecto.

Una vez aquí crearemos el identificador de nuestra clave para después utilizarlo y poder

utilizar nuestra clave primaria:

Ha generado las claves:

Page 19: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 19

Voy a encriptar el documento de antes:

Ahora lo descifraré con mi clave como si yo fuese el destinatario del mensaje:

Vemos que funciona correctamente:

Page 20: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 20

3.3-Autenticidad (Asimétrico) Para esta práctica voy a utilizar Ubuntu con la interfaz gráfica y usando la herramienta PGP que

viene por defecto en el sistema:

Vamos a Aplicaciones > Contraseñas y Claves > Claves PGP

Rellenamos los campos y le damos la clave, que será clave123:

Page 21: Técnicas de cifrado - WordPress.com · 2018-08-02 · Seguridad y Alta Disponibilidad Ernesto Martín Pintado SAD Página 9 2-Funciones hash 2.1-Integridad MD5 es un algoritmo que

Seguridad y Alta Disponibilidad

Ernesto Martín Pintado SAD Página 21

Ahora vamos a cifrar un documento con nuestra clave:

Selecciono la primera, que es la que acabo de crear y después nos pedirá la contraseña que

pusimos antes para poder firmarla con mi nombre:

Ahí tenemos nuestro archivo cifrado con autenticidad.