1 00:00:00,000 --> 00:00:05,599 Hola chicos, a ver, en este vídeo voy a comentar un poco la actividad 11, ¿vale? 2 00:00:05,599 --> 00:00:10,880 La que hablábamos sobre funciones hash y firmas digitales, ¿vale? 3 00:00:11,740 --> 00:00:18,800 En el primer apartado del ejercicio os decía que fuerais al índice de descargas de Debian. 4 00:00:19,519 --> 00:00:26,420 En este caso vemos un montón de ficheros y yo os pedía que descargarais este, ¿vale? 5 00:00:26,420 --> 00:00:35,780 Este de aquí, ¿vale? Y que comprobaréis la función resumen, la función hash, función dispersión, como la queréis llamar, de ese fichero, ¿vale? 6 00:00:36,539 --> 00:00:49,140 Como podéis ver, en este directorio tenemos la función resumen, las funciones resúmenes de todos estos ficheros, con el algoritmo MD5, con el algoritmo SA1, SA256, SA512. 7 00:00:49,140 --> 00:00:57,560 Veis que también hay otros ficheros que pone .sign que tiene relación con los certificados, las firmas digitales, ¿vale? Pero ahora no lo vamos a utilizar. 8 00:00:57,560 --> 00:01:20,140 Si yo descargo el fichero, en este caso ya lo tengo descargado, y hago un gpg-print-mds y el fichero en sí, de vía .iso, podemos ver cómo nos saca las funciones resumen en todos los algoritmos contemplados por gpg. 9 00:01:20,140 --> 00:01:44,400 Aquí vemos MD5. Si aquí en la web vamos al documento MD5 Zooms, aquí tenemos el fichero que nos interesa y comprobamos que el conjunto de caracteres que tenemos en nuestro fichero descargado y el que nos da la web coinciden, que es así, podemos decir que el fichero está íntegro. 10 00:01:44,400 --> 00:02:11,560 Que tanto en la descarga que hemos llevado a cabo, nadie ha modificado dicho fichero. Está íntegro. Se cumple el principio de integridad. Lo mismo podríamos hacer con SA1. Vamos aquí donde nos indica las funciones resumen en SA1 y aquí vemos cómo el conjunto de dígitos, de caracteres, coincide con el que me dice la web. 11 00:02:11,560 --> 00:02:14,080 Y lo mismo podríamos hacer con el resto. 12 00:02:14,460 --> 00:02:20,580 Si hay 512, al tener más bits para generar la función resumen, pues tendrá más caracteres. 13 00:02:21,580 --> 00:02:30,180 Dicho esto, en el ejercicio os pedía que utilizarais el comando md5sum para hacer lo mismo para el algoritmo md5. 14 00:02:30,400 --> 00:02:39,919 Veis que nos sale la misma información que con gpg, la única diferencia es que las letras salen en minúscula y los caracteres salen juntos. 15 00:02:39,919 --> 00:02:54,560 ¿Vale? Bueno, ¿cómo puedo saber todos los algoritmos que utiliza? Bueno, lo podemos ver con printmds, pero para ver todos los algoritmos que utiliza gpg, que contempla esta versión de gpg, para hacer las funciones de resumen, aquí las tenemos. 16 00:02:54,560 --> 00:03:01,199 sa, md160 y diferentes versiones de sa, ¿vale? 17 00:03:01,479 --> 00:03:06,120 Y luego faltaría, que no sé por qué no está contemplado aquí, md5, ¿vale? 18 00:03:06,139 --> 00:03:09,020 Como hemos podido ver anteriormente. 19 00:03:09,759 --> 00:03:13,620 Luego el siguiente paso que os pedía era que crearéis un fichero con el comando echo. 20 00:03:13,620 --> 00:03:19,520 El comando echo lo que hace es coger una cadena de texto e imprimirla por pantalla. 21 00:03:19,520 --> 00:03:32,560 En este caso, lo que os pedía yo es, tres tristes tigres trigaban trigo en un trigal. 22 00:03:33,159 --> 00:03:37,599 Si yo hago esto, lo único que hace el comando echo es mostrarme esa cadena por pantalla. 23 00:03:38,000 --> 00:03:41,360 Pero si yo hago una redirección, es decir, lo llevo a un fichero con el triangulito este, 24 00:03:43,240 --> 00:03:48,840 pues estoy diciendo que, oye, méteme esta cadena de texto en un fichero que se llama tigres.txt. 25 00:03:48,840 --> 00:04:09,500 Si hago un cat, que me permite ver el contenido aquí en el terminal, ahí lo tenemos, ¿vale? Hago un clear, ¿vale? Antes de nada deciros que yo ya he creado mi par de claves públicas y mi par de claves, perdón, mi par de claves, ¿vale? Mi clave pública y mi clave privada, ¿vale? 26 00:04:09,500 --> 00:04:12,500 Luis, bueno, en esta máquina de Cali vamos a simular que soy yo mismo. 27 00:04:13,280 --> 00:04:19,319 Entonces, lo primero que quiero hacer, que os decía, es buscar en el manual de GPG lo que quiere decir clarsign. 28 00:04:19,620 --> 00:04:23,620 Como ya habéis visto, para entrar en el manual de cualquier comando, man gpg en este caso. 29 00:04:24,079 --> 00:04:30,579 Si queréis buscar alguna cadena de texto en todo el manual, tenéis que dar a la barra que aparece sobre el número 7. 30 00:04:31,240 --> 00:04:32,879 Y después escribir lo que queréis buscar. 31 00:04:32,879 --> 00:04:38,360 En este caso yo quiero buscar clarsign, doy a intro y ahí me lo encuentra y me está diciendo lo que es. 32 00:04:39,500 --> 00:04:46,699 En este caso, te está diciendo que la firma es la que va cifrada y la información del fichero va sin cifrar. 33 00:04:46,819 --> 00:04:47,439 Ahora lo veremos. 34 00:04:47,980 --> 00:04:54,319 Si yo quisiera buscar más coincidencias de este parámetro, de esta cadena de texto clarsign, con dar a la N nos bastaría. 35 00:04:54,720 --> 00:05:01,180 Aquí nos está diciendo que el patrón no encuentra, porque no hay más cadenas clarsign. 36 00:05:01,500 --> 00:05:03,399 Pero dando a la N nos lo buscaría. 37 00:05:03,759 --> 00:05:06,420 Para salir damos a la Q y ya hemos salido del manual. 38 00:05:06,420 --> 00:05:29,519 Vale, entonces yo lo que voy a hacer es firmar digitalmente el fichero tigres.txt, vale, en este caso con clear sign, vale, ahí lo tengo, me pide la clave, es decir, recordad cuando hay firma digital, cuando firmo digitalmente utilizo la clave privada, es decir, estoy firmando con la clave privada de Luis Bueno. 39 00:05:29,519 --> 00:05:50,079 Pongo la clave por seguridad y ya lo tenemos. Me ha generado un fichero tigres.txt.asc. Si yo lo muestro, fijaros, aquí tiene el comienzo y el final de la firma que está cifrada. 40 00:05:50,079 --> 00:06:08,120 Tenemos el contenido del documento que va sin cifrar en texto plano y por último nos está diciendo que la función hash es SA512. Recordad que la firma digital es la suma de la clave privada mía más la función hash del documento. 41 00:06:08,120 --> 00:06:23,100 Entonces, eso nos da la firma digital. Si yo hago ahora un gpg-verify de este fichero, tigres.txt.sc, nos está diciendo, verificando de quién es la firma. 42 00:06:23,100 --> 00:06:26,800 En este caso nos dice firma correcta de Luis Bueno, ¿vale? 43 00:06:27,939 --> 00:06:32,779 Entonces, yo lo que voy a hacer ahora es enviar este documento a otra persona, a un destino. 44 00:06:33,420 --> 00:06:41,180 Para eso lo que he hecho anteriormente es importar mi clave, como veis aquí, ¿vale? 45 00:06:41,220 --> 00:06:43,680 Eso ya lo he hecho, que lo hemos visto en actividades anteriores. 46 00:06:44,220 --> 00:06:47,620 Y también voy a enviar el fichero que acabo de firmar. 47 00:06:47,620 --> 00:06:49,980 voy a abrir 48 00:06:49,980 --> 00:06:52,339 vale, ahora me está pidiendo 49 00:06:52,339 --> 00:06:54,839 que confirme la cuenta 50 00:06:54,839 --> 00:06:55,540 de mi correo 51 00:06:55,540 --> 00:07:05,720 de repente, vale 52 00:07:05,720 --> 00:07:07,959 entonces, voy a subir el fichero 53 00:07:07,959 --> 00:07:12,420 si me deja 54 00:07:12,420 --> 00:07:19,180 vale, y lo envío 55 00:07:19,180 --> 00:07:22,439 y ahora voy a un destino 56 00:07:22,439 --> 00:07:24,560 en este caso, una máquina Ubuntu que está 57 00:07:24,560 --> 00:07:26,360 utilizando María, vale 58 00:07:26,360 --> 00:07:27,920 yo como podéis ver aquí 59 00:07:27,920 --> 00:07:30,779 no tengo 60 00:07:30,779 --> 00:07:32,480 claves, no tengo ni claves propias 61 00:07:32,480 --> 00:07:34,680 mi par de claves es pública y privada y no tengo 62 00:07:34,680 --> 00:07:35,980 ninguna pública importada 63 00:07:35,980 --> 00:07:38,740 vale, pues voy aquí, voy a ver el 64 00:07:38,740 --> 00:07:40,879 fichero, creo que aquí ya tengo en descargas 65 00:07:40,879 --> 00:07:42,579 ahí está el fichero de clave 66 00:07:42,579 --> 00:07:43,819 Luis para importar la clave 67 00:07:43,819 --> 00:07:47,529 y voy a descargar 68 00:07:47,529 --> 00:07:48,029 el 69 00:07:48,029 --> 00:07:51,829 fichero, aquí está 70 00:07:51,829 --> 00:07:54,089 tires.txt.asc 71 00:07:54,750 --> 00:08:00,490 lo guardo 72 00:08:00,490 --> 00:08:02,029 y voy al terminal 73 00:08:02,029 --> 00:08:04,209 vale, si yo 74 00:08:04,209 --> 00:08:15,649 ahora mismo a un gpg menos menos verify, como este sistema no tiene mi firma pública, mi clave pública importada, perdón, pues nos va a decir que no lo entiende, 75 00:08:15,870 --> 00:08:32,070 o sea, imposible comprobar la firma, pero si María importa mi clave, gpg menos k, ahí la tenéis, y ahora un gpg menos menos verify de tigres, 76 00:08:32,070 --> 00:08:48,309 Ahí lo tenemos, nos dice que la firma correcta de él es buena, pero nos da un aviso, oye esta clave no está certificada por ninguna autoridad certificadora, por si tenemos esos problemas que hemos visto en certificados digitales, PKI, etc. 77 00:08:48,309 --> 00:09:15,610 El siguiente paso, lo que quiero hacer es obtener, oye, ya sé quién ha firmado este documento, quiero obtener el fichero plano, pues muy fácil, con un gpg-d de este fichero y lo redirecciono, en este caso os pedía que lo redireccionarais a los leones, no mola, vale, pues por ejemplo yo voy a llamar los leones, punto txt, vale, 78 00:09:15,610 --> 00:09:36,129 Y ahí nos dice la firma, quién está firmado, pero si nos ha generado, como podéis ver, el fichero losleones.txt. Yo hago un cat losleones y ahí lo tenemos. Hemos recuperado el texto plano original. Voy a borrar estos documentos que ya no me interesan. 79 00:09:36,129 --> 00:09:56,570 Entonces vuelvo a origen, luego os decía que hicierais lo mismo pero con el comando sin, en clear sign lo que veis es que lo único que va cifrado es la firma y con el comando sign va a ir todo cifrado, va a ir todo junto, 80 00:09:56,570 --> 00:10:09,970 tanto la firma como el contenido, en este caso un documento de texto. Si hago yo un gpg, voy a renombrar, con mv nos permite renombrar ficheros. 81 00:10:10,690 --> 00:10:24,629 Entonces yo voy a renombrar este fichero como tigres barra baja clear sign. Y aquí veis, para no liaros, que es el fichero de antes, utilizando clear sign. 82 00:10:24,629 --> 00:10:38,929 Entonces sea un gpg menos menos sign de tigres, el fichero tigres.txt. Fijaos lo que me genera. Me ha generado un fichero que se llama tigres.txt.gpg. Yo le abro y ¿qué pasa? 83 00:10:38,929 --> 00:10:42,230 que como está en binario 84 00:10:42,230 --> 00:10:43,409 pues no entiendo nada 85 00:10:43,409 --> 00:10:45,769 clear sign 86 00:10:45,769 --> 00:10:48,250 por defecto genera un fichero 87 00:10:48,250 --> 00:10:50,389 en código ASCII 88 00:10:50,389 --> 00:10:52,429 en cambio sign genera el fichero 89 00:10:52,429 --> 00:10:53,750 por defecto en 90 00:10:53,750 --> 00:10:56,409 código 91 00:10:56,409 --> 00:10:58,070 binario, entonces 92 00:10:58,070 --> 00:11:00,309 si yo hago gpg-sign pero 93 00:11:00,309 --> 00:11:02,129 delante le pongo 94 00:11:02,129 --> 00:11:04,509 un "-armor", lo que 95 00:11:04,509 --> 00:11:06,250 me hace es generarme el fichero en código ASCII 96 00:11:06,250 --> 00:11:08,750 fijaros, si hago un tigres.txt 97 00:11:08,750 --> 00:11:16,549 punto ASC, aquí lo tenemos. Tenemos nuestro documento cifrado en binario y aquí va todo 98 00:11:16,549 --> 00:11:25,830 junto, tanto firma digital como el texto plano. De los tres tristes tigres, trigaban trigo 99 00:11:25,830 --> 00:11:38,039 en un trigal. Si yo esto hago un gpg menos menos verify, sucede lo mismo. Me está diciendo 100 00:11:38,039 --> 00:11:52,259 que la firma es correcta. Y si lo mando en destino, voy a hacer otra vez el mismo proceso. A ver, este es. Vale, voy a mandar el de binario. 101 00:11:52,399 --> 00:12:04,179 Podría mandar el de... Voy a mandar, perdón, el de Axti. Podría mandar el fichero en binario. Vale. Yo lo primero que voy a hacer aquí es eliminar la clave 102 00:12:04,179 --> 00:12:06,220 de Luis 103 00:12:06,220 --> 00:12:08,419 para que veáis 104 00:12:08,419 --> 00:12:10,039 que no va a reconocer y no sabe 105 00:12:10,039 --> 00:12:12,620 quién ha firmado ese documento 106 00:12:12,620 --> 00:12:14,840 vale, ya no tengo 107 00:12:14,840 --> 00:12:16,740 nada, entonces voy a descargar el 108 00:12:16,740 --> 00:12:18,879 fichero, actualizo 109 00:12:18,879 --> 00:12:19,980 para descargar el último 110 00:12:19,980 --> 00:12:32,419 aquí lo tenemos 111 00:12:32,419 --> 00:12:39,440 save file 112 00:12:39,440 --> 00:12:41,080 voy aquí 113 00:12:41,080 --> 00:12:44,139 y ya veis, hago un cat 114 00:12:44,139 --> 00:12:46,440 de tigres y como veis 115 00:12:46,440 --> 00:12:48,440 es el nuevo fichero, vale, me adjunto todo, firma 116 00:12:48,440 --> 00:13:00,360 digital y texto plano, gpg-verify de tigres y oye, no puedo conocer la clave pública, 117 00:13:00,700 --> 00:13:04,139 no tiene la clave pública, entonces no puede conocer quién ha firmado ese documento, pero 118 00:13:04,139 --> 00:13:14,399 si tú haces un gpg-verify de tigres, pues no te deja, no te está dejando ver la firma, 119 00:13:14,399 --> 00:13:19,039 pero sí que te deja ver el contenido del fichero, podrías haber hecho, por ejemplo, 120 00:13:19,039 --> 00:13:27,559 leones punto ahí lo veíamos la la clave pero sí que podemos obtener la información vale un cat 121 00:13:27,559 --> 00:13:34,539 leones ahí está tres tristes tigres trinan trigo en un tribal vale pues de hacer lo mismo gpg menos 122 00:13:34,539 --> 00:13:42,100 menos import clave louis y ya la tenemos en nuestro anillo de claves y ahora voy a hacer lo mismo gpg 123 00:13:42,100 --> 00:13:42,740 Verify 124 00:13:42,740 --> 00:13:46,940 Tigres.txt.s 125 00:13:46,940 --> 00:13:47,679 Y ahí lo tenemos 126 00:13:47,679 --> 00:13:49,639 Nos está diciendo que la firma correcta de Luis Bueno 127 00:13:49,639 --> 00:13:51,899 La única diferencia entre clear sign 128 00:13:51,899 --> 00:13:54,279 Y sign es como va el fichero 129 00:13:54,279 --> 00:13:55,340 ¿Vale? No hemos dicho 130 00:13:55,340 --> 00:13:57,539 Que la información de texto plano se ve 131 00:13:57,539 --> 00:13:59,700 Y la firma 132 00:13:59,700 --> 00:14:01,919 Cifrada y en el otro va todo junto 133 00:14:01,919 --> 00:14:02,440 Cifrado 134 00:14:02,440 --> 00:14:03,940 ¿Vale? 135 00:14:05,519 --> 00:14:06,899 Voy a borrar los ficheros 136 00:14:06,899 --> 00:14:09,580 Leones y tigres 137 00:14:09,580 --> 00:14:11,779 Perfecto, borrado 138 00:14:11,779 --> 00:14:38,029 Y lo que voy a hacer ahora es irme a origen, ¿vale? Y voy a crear otro fichero que ponga el león comió con otro león, ¿vale? Eco el león comió con otro león y lo guardo en león.txt, ¿vale? 139 00:14:38,029 --> 00:15:03,179 Lo primero que voy a hacer es lo que os decía en clase, voy a primero firmar el documento y luego a mayores lo voy a cifrar con un cifrado simétrico, entonces voy a hacer un gpg, menos menos, bueno venga, lo voy a hacer en asti, sign y león.txt, vale, ahí he puesto un guión. 140 00:15:03,179 --> 00:15:05,580 Voy a cambiar el nombre para que no me de problemas 141 00:15:05,580 --> 00:15:08,620 Como sabéis, ya os he dicho antes 142 00:15:08,620 --> 00:15:11,360 MV sirve para mover ficheros 143 00:15:11,360 --> 00:15:12,940 O cambiar sus nombres 144 00:15:12,940 --> 00:15:15,320 ¿Vale? No voy a poner la tilde 145 00:15:15,320 --> 00:15:17,700 Y voy a poner el comando bien escrito 146 00:15:17,700 --> 00:15:19,120 Me falta un millón, ¿vale? 147 00:15:19,379 --> 00:15:21,679 Entonces lo estoy firmando y en ASTI 148 00:15:21,679 --> 00:15:25,480 Ah, vale, que el fichero ya no existe 149 00:15:25,480 --> 00:15:29,220 Ah, claro, vale, vale 150 00:15:29,220 --> 00:15:30,460 Estoy en origen, me he liado 151 00:15:30,460 --> 00:15:33,000 Vale, rmleon, fuera 152 00:15:33,000 --> 00:15:34,639 Vamos a origen, que no ha ido 153 00:15:34,639 --> 00:15:37,519 Vale, claro, no hay clave privada 154 00:15:37,519 --> 00:15:38,940 En la máquina Ubuntu 155 00:15:38,940 --> 00:15:40,860 Entonces está diciendo gpg 156 00:15:40,860 --> 00:15:44,259 Oye, no puedo firmar este documento 157 00:15:44,259 --> 00:15:46,480 Voy a borrar todos los documentos de tigres 158 00:15:46,480 --> 00:15:47,480 Vale 159 00:15:47,480 --> 00:15:49,620 Y voy a crear ese fichero 160 00:15:49,620 --> 00:15:50,179 El 161 00:15:50,179 --> 00:15:52,500 León 162 00:15:52,500 --> 00:15:56,539 Yo que sé, comía con otro león 163 00:15:56,539 --> 00:15:59,019 Vale, lo metemos en león.txt 164 00:15:59,019 --> 00:16:00,360 Vale 165 00:16:00,360 --> 00:16:02,279 Ahí lo tenemos 166 00:16:02,279 --> 00:16:19,299 Entonces lo que voy a hacer primero de todo es firmarlo, lo quiero firmar en ASCII con sign que vaya todo cifradito y el fichero como tal, ¿vale? Y ya vemos que nos ha generado el fichero leon.txt.asc, firmado. 167 00:16:19,299 --> 00:16:41,259 Y ahora lo que voy a hacer es encriptarlo en ASCII, quiero cifrarlo y quiero cifrar león.txt.asc, que es el que ya está firmado, ¿vale? Contraseña 1234, 1234, ¿vale? Y ya tenemos aquí nuestro fichero, ¿vale? 168 00:16:41,259 --> 00:16:45,639 Tiene dos ASCs, uno del cifrado simétrico y otro de la firma digital. 169 00:16:46,000 --> 00:16:46,679 Ahí lo tenemos. 170 00:16:46,840 --> 00:16:49,820 Entonces ahora yo lo voy a enviar al destino. 171 00:16:52,639 --> 00:17:19,859 Vamos aquí, vamos a responder, vamos a la máquina Ubuntu y vamos a descargar ese fichero de leon.txt.asc, de firma digital .asc del cifrado simétrico. 172 00:17:19,859 --> 00:17:35,059 lo guardamos y vamos al terminal 173 00:17:35,059 --> 00:17:39,240 voy a hacer un clear para que se vea mejor 174 00:17:39,240 --> 00:17:42,480 y lo primero que voy a hacer, por ejemplo, voy a hacer gpg verify 175 00:17:42,480 --> 00:17:47,279 habéis visto que la clave pública de Luis 176 00:17:47,279 --> 00:17:49,880 la tiene María, pero 177 00:17:49,880 --> 00:17:55,279 vamos a ver si se puede ver quién ha firmado este documento 178 00:17:56,519 --> 00:17:58,640 no entiende nada 179 00:17:58,640 --> 00:18:04,500 ¿Por qué? Porque este fichero primero está firmado digitalmente y luego cifrado 180 00:18:04,500 --> 00:18:07,200 Entonces lo primero que tenemos que hacer es descifrarlo 181 00:18:07,200 --> 00:18:14,079 gpg-d, este fichero, y ¿dónde lo voy a guardar ese descifrado? 182 00:18:14,259 --> 00:18:18,640 Pues lo voy a guardar en... lo voy quitando cacho a cacho, ¿no? 183 00:18:18,720 --> 00:18:21,859 leon.txt.asc 184 00:18:21,859 --> 00:18:25,019 Me va a pedir la clave, 1, 2, 3, 4 185 00:18:25,019 --> 00:18:28,519 Y ahí lo tenemos, ¿vale? 186 00:18:28,640 --> 00:18:50,619 Ya tenemos leon.txt.asc. Voy a verificar la firma, a ver si puedo hacer algo. ¿Lo veis? Y aquí ya puedo ver la firma correcta de Luis Bueno. Si yo quiero ya obtener el texto plano, pues ya sabéis, gpg-d leon.txt.asc. Nos conjuntáis con el otro y ya lo llevo aquí a leon.txt. 187 00:18:50,619 --> 00:18:54,400 Ya, os vuelvo a decir que la firma es la de Luis 188 00:18:54,400 --> 00:18:57,700 Y ya puedo ver el león barra baja final 189 00:18:57,700 --> 00:19:00,700 El fichero en texto plano que quería enviar 190 00:19:00,700 --> 00:19:03,400 Vale, chicos, pues esto es todo 191 00:19:03,400 --> 00:19:07,700 Yo creo que es un tema bastante fácil 192 00:19:07,700 --> 00:19:09,299 Pero hay que entenderlo, ¿vale? 193 00:19:09,680 --> 00:19:11,460 Venga, hasta luego