LlavesGPG

Ubuntu Open Week - Crear y Firmar Llaves GPG - José Ernesto Dávila - Martes 3 de noviembre 2009

   1 [16:00:44] <alucardni>  La primera sesión de esta tarde trata sobre el Uso de Claves GPG
   2 [16:01:05] <alucardni>  y para ello vamos a explicar un par de conceptos básicos
   3 [16:01:40] <alucardni>  aclaro que no soy un experto en algoritmos de cifrado ni mucho menos, simplemente soy un entusiasta que quiere compartir un poco de sus conocimientos con ustedes ;-)
   4 [16:02:00] <alucardni>  == Conceptos Básico de Criptografía ==
   5 [16:02:10] <alucardni>  Cuando Julio César enviaba mensajes a sus generales, no confiaba en sus mensajeros. Así que reemplazaba cada A en sus mensajes por una D, cada B por una E y así sucesivamente hasta completar el alfabeto.
   6 [16:02:17] <alucardni>  Solamente alguien que conociera la regla de desplazamiento de 3 caracteres podía decifrar el mensaje.
   7 [16:03:05] <alucardni>  Esta es una de las primeras reseñas sobre cifrado de información que se conocen
   8 [16:03:23] <alucardni>  = Cifrado y Descifrado = 
   9 [16:03:34] <alucardni>  Los datos que se pueden leer y entender sin tomar ninguna medida especial se denomina "texto plano".
  10 [16:03:48] <alucardni>  El método para modificar el texto plano de manera que se oculte su contenido se denomina "Cifrado". 
  11 [16:04:05] <alucardni>  Al cifrar texto plano obtenemos como resultado un texto ilegible llamado "texto cifrado".
  12 [16:04:18] <alucardni>  Utilizamos el cifrado para que la información este oculta incluso para aquellos que pueden ver los datos cifrados.
  13 [16:04:53] <alucardni>  El proceso de revertir el texto cifrado al texto plano original se llama "Descrifado".
  14 [16:05:23] <alucardni>  = ¿Qué es Criptografía? =
  15 [16:05:46] <alucardni>  A groso modo podemos decir que es la ciencia que utiliza las matemáticas para cifrar y descifrar datos.
  16 [16:06:05] <alucardni>  La criptografía nos permite almacenar información sensibl o transmitirla a través de canales inseguros (como Internet) de manera que no pueda ser leída excepto por el destinatario.
  17 [16:06:42] <alucardni>  = ¿Cómo funciona la Criptografía? =
  18 [16:07:14] <alucardni>  Como dijimos en el concepto, se hace uso de las matemáticas para generar un algoritmo criptográfico
  19 [16:07:25] <alucardni>  Un algoritmo criptográfico es una función matemática utilizada en el cifrado y descrifrado de datos.
  20 [16:08:11] <alucardni>  Estos algoritmos funcionan en combinación con una clave (una palabra, número o frase) para cifrar texto plano.
  21 [16:08:46] <alucardni>  En el ejemplo de Julio César el algoritmo criptográfico es conocido como sustitución por desplazamiento
  22 [16:09:22] <alucardni>  y la clave consiste en desplazar el alfabeto n caracteres a la izquierda
  23 [16:09:47] <alucardni>  Así pues, el mismo texto plano genera diferentes textos cifrados con claves diferentes.
  24 [16:10:27] <leogg>      <jalex> PREGUNTA:  sustitución por desplazamiento, que quiere decir con esp
  25 [16:11:12] <alucardni>  jalex significa que desplazamos el alfabeto estándar que conocemos una cantidad de veces a la izquierda,
  26 [16:11:16] <alucardni>  de manera que 
  27 [16:11:32] <alucardni>  sustituimos una letra, por la que le corresponde en el alfabeto desplazado
  28 [16:11:36] <alucardni>  por ejemplo
  29 [16:11:44] <alucardni>  si nuestra clave de desplazamiento es de 3
  30 [16:11:49] <alucardni>  3 caracteres
  31 [16:12:26] <alucardni>  entonces para la A deberá sustituirce por la letra D
  32 [16:12:45] <alucardni>  La seguridad de los datos cifrados depende de dos cosas:
  33 [16:12:55] <alucardni>  1. La fortaleza del algoritmo criptográfico.
  34 [16:13:13] <alucardni>  2. Mantener en secreto la clave.
  35 [16:13:28] <leogg>      <jamesjedimaster> <PREGUNTA> cual es la diferencia entre una llave publica y una privada? la forma en que desencripta?
  36 [16:13:48] <alucardni>  jamesjedimaster, te adelantaste un poco con la pregunta :-D
  37 [16:14:05] <alucardni>  jamesjedimaster, dejame explicar un poco los dos puntos anteriores
  38 [16:15:03] <alucardni>  la fortaleza del algoritmo criptográfico va permitir que sea más difícil descifrar los datos
  39 [16:15:27] <alucardni>  el algoritmo por sustitución de Julio César es bastante simple en nuestros días
  40 [16:15:39] <alucardni>  y puede ser muy fácil de quebrantar
  41 [16:15:54] <alucardni>  el punto número dos es la parte más difícil
  42 [16:16:18] <alucardni>  pues si dos personas quieren comunicarse de forma segura utilizando un algoritmo determinado, con una clave determinada
  43 [16:16:32] <alucardni>  debe acordar cual será esa clave
  44 [16:17:02] <alucardni>  y el pasar la clave una persona a otra es la parte más débil de todo el proceso
  45 [16:17:42] <alucardni>  = Criptografía de Clave Pública =
  46 [16:18:18] <alucardni>  Consiste en utilizar un par de claves para el cifrado de datos
  47 [16:18:26] <alucardni>  una "clave pública", que cifra los datos
  48 [16:18:33] <alucardni>  y su correspondiente "clave privada" (clave secreta) para descifrar.
  49 [16:18:49] <alucardni>  creo que eso contesta la pregunta de jamesjedimaster :-)
  50 [16:19:21] <alucardni>  La idea es publicar nuestra clave pública (valga la redundancia) para que sea accesible a "todo mundo" mientras mantenemos en secreto nuestra clave privada.
  51 [16:19:46] <leogg>      <jamesjedimaster> PREGUNTA entonces siempre debo tener la llave publica de las otras personas para poder ver lo que envian?
  52 [16:19:49] <alucardni>  Cualquier persona, incluso personas que nunca has conocido, que tenga una copia de nuestra clave pública podrá cifrar información que solo nosotros podremos leer.
  53 [16:20:59] <alucardni>  jamesjedimaster, no, vos necesitas la clave pública de la otra persona para poder enviarle información cifrada
  54 [16:21:07] <alucardni>  OJO: la persona que tenga la clave pública solamente podrá cifrar la información, pero _NO_ podrá descifrarla. Solamente la persona con la clave privada puede descrifrar la información :-)
  55 [16:22:03] <alucardni>  = Firmas Digitales =
  56 [16:22:18] <alucardni>  Un gran beneficio de la criptografía de clave pública es que provée un método para emplear "firmas digitales".
  57 [16:23:40] <leogg>      <jcalderon> PREGUNTA: Es lo mismo Criptografía Asimétrica que Criptografía de llave Pública ?
  58 [16:25:03] <alucardni>  jcalderon, sip, es exactamente lo mismo
  59 [16:25:39] <leogg>      <jamesjedimaster> PREGUNTA todas las firmas digitales se pueden desencriptar si yo tengo mi llave? o necesito la llave del signatario?
  60 [16:26:09] <alucardni>  Las firmas digitales permiten al destinatario de la información verificar la autenticidad del origen de la misma y también verificar que la información no fue alterada en tránsito.
  61 [16:26:33] <alucardni>  claro que para realizar esa verificación debés tener la clave pública del firmante
  62 [16:26:53] <alucardni>  De manera que las firmas digitales proporcionan autenticación y verificación de integridad de datos.
  63 [16:27:14] <alucardni>  Una firma digital también evita que el remitente niegue que el/ella envió la información. No más hackers de lujo pues XD (nicas, expliquen esta broma por favor :-P )
  64 [16:28:20] <alucardni>  = Juguemos con GnuPG =
  65 [16:28:41] <alucardni>  ¿Cuánto aquí tiene un par de clave GPG?
  66 [16:28:54] <alucardni>  s/Cuánto/Cuantos/g
  67 [16:29:38] <alucardni>  ¿Cuántos están usando GNU/Linux ahora mismo?
  68 [16:30:16] <alucardni>  perfecto
  69 [16:30:38] <alucardni>  si no hemos generado nuestro par de claves, ese es el primer paso
  70 [16:31:12] <alucardni>  aclaro que para realizar todo esto debemos tener instalado gnupg, pero ese paquetes me atrevo a decir que viene por default en toda distribución de GNU/Linux
  71 [16:31:18] <alucardni>  incluso hasta en SuSE XD
  72 [16:32:04] <alucardni>  para los que no tiene claves abran una terminal y escriban el siguiente comando:
  73 [16:32:29] <alucardni>  gpg --gen-key
  74 [16:33:14] <alucardni>  verán la siguiente salida:
  75 [16:34:08] <alucardni>  http://pastebin.ubuntu.com/308886/
  76 [16:34:40] <alucardni>  aquí debemos elegir el tipo de clave que queremos generar
  77 [16:34:58] <alucardni>  selecionemos la opción 1 que es la predeterminada
  78 [16:35:29] <leogg>      <jalex> PREGUNTA: que son DSA, ELGAMAL, RSA
  79 [16:36:06] <leogg>      <jamesjedimaster> PREGUNTA DSA entonces es el mas seguro?
  80 [16:36:37] <alucardni>  ElArD, si te fijas bien es una combinación de DSA + Elgamal
  81 [16:37:33] <alucardni>  una vez que elegimos el tipo de clave
  82 [16:37:47] <alucardni>  no solicitará el tamaño de la clave: http://pastebin.ubuntu.com/308889/
  83 [16:38:44] <alucardni>  el tamaño de la clave es estrictamente proporcional al tamaño de tu paranoia LOL
  84 [16:39:11] <alucardni>  en mi caso yo elegí la opción predeterminada (2048)
  85 [16:40:22] <alucardni>  una vez elegido el tamaño de la clave se nos pregunta por el período de validez de la misma
  86 [16:40:40] <alucardni>  elijan la opción que les sea más cómoda, pero tengan cuidado
  87 [16:41:03] <alucardni>  un amigo que no está presente generó una clave que expiraba al día siguiente de la fecha en que la generó LOL
  88 [16:41:57] <leogg>      <jcalderon> PREGUNTA: el tamaño de la clave, tiene que ver con la seguridad ?
  89 [16:42:05] <alucardni>  jcalderon, si
  90 [16:42:19] <alucardni>  entre mayor sea el tamaño de tu clave
  91 [16:42:37] <alucardni>  más difícil será descifrar los datos que se hayan cifrado con ella
  92 [16:42:47] <leogg>      <hagonma_> PREGUNTA: cual es la recomendable?
  93 [16:43:21] <alucardni>  hagonma 2048 es suficiente para mi nivel de paranoia :-)
  94 [16:44:03] <alucardni>  una vez que hemos elegido el período de validez de nuestra clave, se nos pedirá que confirmemos dicho dato
  95 [16:45:09] <alucardni>  para ello pulsamos 'y' y damos ENTER
  96 [16:45:40] <alucardni>  el siguiente paso es brindar nuestra información personal http://pastebin.ubuntu.com/308898/
  97 [16:46:29] <alucardni>  esta información debe contener nuestro nombre, un comentario y nuestro correo electrónico
  98 [16:46:54] <alucardni>  yo utilizo el comentario para poner mi nick :-)
  99 [16:47:04] <alucardni>  pero son libre de escribir lo que quieran
 100 [16:47:28] <leogg>      <jamesjedimaster> PREGUNTA es recomendable generar diferentes llaves? (trabajo, grupo social, familia)
 101 [16:48:19] <alucardni>  jamesjedimaster, lo que yo he hecho es agregar varios identificadores de usuario a mi clave según en que círculo la vaya a utilizar
 102 [16:48:44] <leogg>      <rmayorga> pregunta, hablaron del tema de cuidar las llaves ?
 103 [16:48:56] <alucardni>  rmayorga, eso mismo iba a comentar ahorita :-)
 104 [16:49:03] <leogg>      <JManGt> pregunta: que pasa si cambio o formateo mi maquina como mantego mi llave?
 105 [16:49:40] <alucardni>  es muy importante cuidar nuestras claves, especialmente cuando ya nos las han firmado
 106 [16:50:07] <alucardni>  al final nuestro par de llavos son nuestra identidad!
 107 [16:50:30] <alucardni>  y si caen en manos de personas indebidas podemos meternos en serios problemas
 108 [16:50:34] <alucardni>  o peor aún
 109 [16:50:53] <alucardni>  comprometer los datos que se haya cifrado con las mismas
 110 [16:52:06] <alucardni>  una vez que hemos introducido nuestra información se los pedirá que confirmemos esos datos http://pastebin.ubuntu.com/308903/
 111 [16:52:34] <alucardni>  y gpg procederá a generar el par de claves
 112 [16:53:27] <leogg>      <JManGt> pregunta: que pasa si cambio o formateo mi maquina como mantego mi llave?
 113 [16:54:02] <alucardni>  JManGt, antes de formatear debés respaldar la información sensible que tengas en ella a.k.a pr0n LOL
 114 [16:54:17] <alucardni>  y tu par de claves debe estar en ese respaldo
 115 [16:54:19] <leogg>      <jamesjedimaster> PREGUNTA puedes abundar un poco sobre "varios identificadores de usuario para una clave"?
 116 [16:55:19] <alucardni>  para respaldar nuestras claves basta con copiar el directorio ~/gnupg en un medio físico perdurable
 117 [16:56:06] <alucardni>  jamesjedimaster, me gustaría terminar la generación de la clave y hablamos de eso en -chat luego, ok?
 118 [16:56:50] <alucardni>  el último paso para generar nuestro par de claves es ingresar un contraseña para nuestra clave privada
 119 [16:57:18] <alucardni>  esta contraseña debe ser suficientemente fácil de recordar, pero suficientemente difícil para que cualquiera la adivine
 120 [16:57:42] <alucardni>  se recomienda el uso de mayúsculas y minúsculas así como de números y caracteres especiales
 121 [16:59:06] <alucardni>  una vez escrita la contraseña se nos pedirá que se genere algo de entropía http://pastebin.ubuntu.com/308909/
 122 [16:59:33] <alucardni>  para ello podemos abrir un editor de texto y escribir texto aleatorio, reproducir un vídeo, o música
 123 [16:59:46] <alucardni>  una vez finalizado ese proceso ya tendremos nuestro par de claves
 124 [17:00:41] <alucardni>  si escribimos el siguiente comando en la terminal, podremos ver nuestras claves recién generadas
 125 [17:00:51] <alucardni>  gpg --list-keys
 126 [17:01:44] <alucardni>  en mi caso, yo obtengo la siguiente salida: http://pastebin.ubuntu.com/308918/
 127 [17:02:36] <alucardni>  me avisan que ya estoy sobre la hora
 128 [17:02:43] <alucardni>  así que vamos a cortar aquí :(
 129 [17:03:01] <leogg>      gracias alucardni ;)
 130 [17:03:20] <leogg>      las preguntas que quedaron pendientes en el chat
 131 [17:03:31] <alucardni>  para mayor información sobre GNUPG les recomiendo que lean http://www.gnupg.org/gph/en/manual.html#AEN136

UbuntuOpenWeek_ES/openweekKarmicLog/LlavesGPG (last edited 2009-11-04 02:34:10 by pc161137)