1 - cifrado

Upload: antonio-blazquez-parra

Post on 25-Feb-2018

250 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 1 - Cifrado

    1/11

    Antonio Blzquez Parra 70899268-C

    Roberto Garca Pelez 70816197-W

    PRACTICA 1: CIFRADO

  • 7/25/2019 1 - Cifrado

    2/11

    1.Cifrado simtrico con openssl

    En la primera parte de la prctica cifraremos archivos de texto mediante el cifradosimtrico. Este tipo de cifrado utiliza la misma clave para cifrar y para descifrar losmensajes. Para ello utilizaremos la herramienta OpenSSL.

    Lo primero que vamos a hacer es crear el fichero de texto con el que vamos a trabajar enesta primera parte de la prctica. A este fichero lo llamaremosSeguirdad.txty sucontenido es el siguiente:

    Ahora cifraremos este archivo de texto. OpenSSL nos ofrece varios algoritmos de cifradosimtrico, podemos listarlos utilizando la orden ciphers.

    Nosotros utilizaremos el algoritmo AES con un tamao de clave de 128bits y el modo deoperacin CBC (Cipher Block Chaining).

    Para cifrar un mensaje la sintaxis utilizada por openssl es:

    openssl enc -e - -in -out

    Y para descifrar:

    openssl enc -d - -in -out

    Nos pide la contrasea con la que cifraremos el mensaje y verificarla. Una vez hechotenemos nuestro mensaje cifrado.

  • 7/25/2019 1 - Cifrado

    3/11

    Ahora solo podremos descifrar este mensaje si conocemos la contrasea con la cual se

    cifr. Vamos a realizar el proceso de descifrado para comprobar cmo quedar el mismo

    mensaje inicial que hay en el archivo Seguridad.txt

    Como observamos en la siguiente imagen el contenido del archivo una vez descifrado es elmismo que el documento que se cifr.

    Una vez realizada esta prueba, vamos a repetirla con distintos algoritmos y distintosarchivos de diferentes tamaos para responder a las siguientes preguntas:

    El mensaje cifrado es de mayor o menor tamao que el mensaje original?

    El tamao depende del algoritmo de cifrado utilizado, del tamao del mensaje original

    o de ambos?

    Primero vamos a ver el tamao de los ficheros con los que hemos trabajado hasta ahora

    Nuestro archivo inicial tiene un tamao de 83 bytes.

    Una vez encriptado su tamao aument hasta 112 bytes.

  • 7/25/2019 1 - Cifrado

    4/11

    Y como era de esperar el archivo descifrado ocupa lo mismo que el original sin descifrar.

    Aunque parezca que el tamao del archivo cifrado sea pequeo, ha aumentado su tamaocasi un 35%, lo que implicara que si queremos cifrar un disco de tamao 100GB nosocupara 135GB.

    Vamos a comprobarlo cifrando un archivo un poco ms grande. Hemos creado un archivo

    de texto que ocupa casi 11kB y lo vamos a cifrar con el mismo algoritmo que hemosutilizados antes.

    Como podemos observar el tamao aumenta ms o menos lo mismo que en el casoanterior (29 bytes el primer ejemplo 31 bytes este segundo ejemplo), con lo que podemosconcluir que un archivo cifrado no aumenta de manera significativa el tamao respecto del

    tamao del archivo original.

    Ahora comprobaremos que pasa si aplicamos un algoritmo de cifrado diferente. Vamos autilizar el algoritmo RC4 y el Triple DES que hemos visto en teora.

    Vemos que con el algoritmo RC4 el tamao no aumenta lo mismo exactamente que con elAES pero sigue sin ser un aumento considerable. Veamos que sucede con el Triple DES:

  • 7/25/2019 1 - Cifrado

    5/11

    Vemos que sucede lo mismo que en el caso anterior.

    Y respondiendo a las preguntas que nos hacamos antes, podemos decir que el tamao deun archivo cifrado es mayor (muy poco, pero mayor) que el tamao del archivo sin cifrar yque el tamao depende como es lgico del tamao del archivo original y en menor medidadel algoritmo con el que cifremos (el aumento entre un algoritmo u otro es prcticamentedespreciable).

    1.2.Algoritmos de cifrado en las conexiones https

    Para realizar este apartado de la prctica navegaremos por distintas pginas de internetque estn alojadas en servidores seguros, y veremos cules son los algoritmos msutilizados. Esto lo realizaremos desde dos navegadores diferentes para ver si el algoritmoutilizado es el mismo o depende del navegador.

    Diaweb

    Accedemos a Diaweb la pgina del Departamento de Informtica y Automtica de la usal.

    Esta primera imagen corresponde al navegador Firefox. Vemos que utiliza un algoritmosimtrico de encriptacin que ya hemos utilizado nosotros, el AES 128 CBC. Las siglas TLSque vemos al final se refieren a Transpor Layer Security o seguridad en la capa detransporte, es un protocolo criptogrfico que proporciona comunicaciones seguras por unared. En este caso utiliza TLS versin 1.0 actualmente la ms moderna es la versin 1.3

    Esta imagen de la izquierda corresponde alnavegador Google Chrome. Vemos que eneste caso nos indica que el conjunto decifrado est obsoleto. A parte de esto, elalgoritmo utilizado es el mismo que en elcaso del navegador Firefox, el AES 128 CBC.

  • 7/25/2019 1 - Cifrado

    6/11

    Studium

    La siguiente direccin web que visitamos es la de Studium

    En este caso vemos que hay diferencias dependiendo del navegador utilizado. En la imagende arriba correspondiente a Firefox el algoritmo de seguridad es AES 128 CBC como enDiaweb, pero en Google Chrome utiliza el AES 128 GCM (Galois Counter Mode).

    En cuanto al TLS ambos utilizan la versin 1.2.

    Facebook

    En caso de Facebook tanto Google Chrome como Firefox vuelven a coincidir en el uso delmismo algoritmo de cifrado, el AES 128 GCM y en este caso tambin los dos coinciden elen la versin de TLS 1.2.

  • 7/25/2019 1 - Cifrado

    7/11

    Banco Santander

    Decidimos meternos en un banco, un sitio que debera ser bastante seguro, puesto que atravs de el tenemos acceso a nuestras cuentas de dinero, tarjetas de crdito etc.

    En este caso vuelven a coincidir los algoritmos de cifrado en ambos navegadores, AES 182CBC con la versin 1.2 del TLS.

    Con ello podemos concluir que la gran mayora de pginas web seguras utilizan el mismoalgoritmo de cifrado, el AES casi siempre con alguno de los mtodos CBC o GCM.

    2.Cifrado asimtrico con gpupg

    En este apartado de la prctica vamos a crear un par de claves cada uno de nosotros, una

    pblica y otra privada y despus uno de nosotros crear un fichero de texto y lo codificar

    con la clave pblica del otro y este deber ser capaz de descifrar el contenido del mensaje.

    Realizaremos esta prctica en dos entornos, Windows y Linux.

    Primero en Windows vamos a generar nuestro anillo de claves. Esto lo hacemos mediante

    el siguiente comando:

    gpg --gen-key

    A continuacin se nos pedirn algunos datos ms para relacionar con la clave y una

    contrasea para protegerla.

  • 7/25/2019 1 - Cifrado

    8/11

    Para comprobar la correcta creacin de nuestras claves podemos listar el conjunto de las

    claves que tenemos con el comando

    gpg --list-keys

    Aqu vemos que hemos creado la clave con xito.

  • 7/25/2019 1 - Cifrado

    9/11

    Mi compaero ahora tiene que crear un archivo de texto y cifrarlo con la clave pblica que

    acabo de generar, as que debemos exportarla para pasrsela de algn modo. Para realizar

    esto utilizamos el siguiente comando:

    gpg --armor --output --export

    Utilizamos la opcin --armor para que la clave se exporte en cdigo ASCII, en elIdentificador de la clave podemos usar el correo electrnico que pusimos, el comentario o

    el nombre de usuario.

    Aqu podemos ver el archivo que se crea y a continuacin su contenido si lo abrimos con un

    editor de textos.

    Lo siguiente que har ser mandarle por correo electrnico este archivo a mi compaero

    Roberto, que trabajar en Linux.

  • 7/25/2019 1 - Cifrado

    10/11

  • 7/25/2019 1 - Cifrado

    11/11

    Pasamos el archivo cifrado a Windows y procedemos a descifrarlo, para ver su contenido.

    La sintaxis utilizada es:

    gpg --decrypt

    Como podemos ver, se nos pide la contrasea para desbloquear la clave privada y una vez

    introducida nos muestra el contenido del fichero que acabamos de descifrar.