Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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:
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:
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.
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.
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:
Seguridad y Alta Disponibilidad
Ernesto Martín Pintado SAD Página 6
Ahora le digo que cifre en mensaje con “Create Cipher”:
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:
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:
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.
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.
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:
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:
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:
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:
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:
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.
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
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:
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:
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:
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.