domingo, 10 de mayo de 2009

Nueva clave GPG (y pasos para no olvidarme)

Como algunos sabrán, el algoritmo SHA-1 ha sido comprometido (pero no roto). Ya han sugerido el cambio (y explicado alguno de los pasos siguientes con mas detalles), por lo que no es mal momento para pensar en una nueva clave :-)

Pero no quiero que les pase como a mi, que generé una clave nueva de 4096 bits de longitud, la publiqué [0], y resultó ser que el algoritmo para firmado seguía siendo de 1024 bits :-( Y justo cuando estaba tratando de averiguar como lograr ésto, leo el blog de Ana. Otra vez salvándome las papas :-)

Por eso decidí traducir paso a paso cómo generar una de éstas claves (cualquier similitud con el post de Ana no es casual :-P )

Mi nueva clave:

pub 4096R/0ED14B3B 2009-05-11
Huella de clave = 2B76 EAB6 5FAD 14FF 3E4A E4BC C5B0 5E9C 0ED1 4B3B
uid Lisandro Damián Nicanor Pérez Meyer
uid Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
uid Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)
sub 4096R/A359DE37 2009-05-11

Disponible aquí.

Bien, ahora veamos como crear la clave.

Modificar ~/.gnupg/gpg.conf:

Hay que agregar lo siguiente al final del archivo:

personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed

Crear la clave:

$ gpg --gen-key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Por favor seleccione tipo de clave deseado:
(1) DSA y ElGamal (por defecto)
(2) DSA (sólo firmar)
(5) RSA (sólo firmar)
Su elección: 5
las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
¿De qué tamaño quiere la clave? (2048) 4096
El tamaño requerido es de 4096 bits
Por favor, especifique el período de validez de la clave.
0 = la clave nunca caduca
= la clave caduca en n días
w = la clave caduca en n semanas
m = la clave caduca en n meses
y = la clave caduca en n años
¿Validez de la clave (0)? 0
La clave nunca caduca
¿Es correcto? (s/n) s

Necesita un identificador de usuario para identificar su clave. El programa
construye el identificador a partir del Nombre Real, Comentario y Dirección
de Correo Electrónico de esta forma:
"Heinrich Heine (Der Dichter) "

Nombre y apellidos: Lisandro Damián Nicanor Pérez Meyer
Dirección de correo electrónico: perezmeyer@gmail.com
Comentario:
Está usando el juego de caracteres `utf-8'.
Ha seleccionado este ID de usuario:
"Lisandro Damián Nicanor Pérez Meyer "

¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v
Necesita una frase contraseña para proteger su clave secreta.

Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar
la red y los discos) durante la generación de números primos. Esto da al
generador de números aleatorios mayor oportunidad de recoger suficiente
entropía.
.....+++++
....+++++
gpg: clave 0ED14B3B marcada como de confianza absoluta
claves pública y secreta creadas y firmadas.

gpg: comprobando base de datos de confianza
gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias,
modelo de confianza PGP
gpg: nivel: 0 validez: 3 firmada: 30 confianza: 0-, 0q, 0n, 0m, 0f, 3u
gpg: nivel: 1 validez: 30 firmada: 32 confianza: 14-, 0q, 0n, 0m, 16f, 0u
gpg: nivel: 2 validez: 14 firmada: 22 confianza: 6-, 0q, 0n, 0m, 8f, 0u
gpg: nivel: 3 validez: 1 firmada: 13 confianza: 1-, 0q, 0n, 0m, 0f, 0u
gpg: siguiente comprobación de base de datos de confianza el: 2010-01-01
pub 4096R/0ED14B3B 2009-05-11
Huella de clave = 2B76 EAB6 5FAD 14FF 3E4A E4BC C5B0 5E9C 0ED1 4B3B
uid Lisandro Damián Nicanor Pérez Meyer

Tenga en cuenta que esta clave no puede ser usada para cifrar. Puede usar
la orden "--edit-key" para crear una subclave con este propósito.

Agregar otra identidad (UID):

$ gpg --edit-key 0ED14B3B
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Clave secreta disponible.

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer

Orden> adduid
Nombre y apellidos: Lisandro Damián Nicanor Pérez Meyer
Dirección de correo electrónico: perezmeyer@uns.edu.ar
Comentario: Universidad Nacional del Sur
Está usando el juego de caracteres `utf-8'.
Ha seleccionado este ID de usuario:
"Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur) "

¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer "
clave RSA de 4096 bits, ID 0ED14B3B, creada el 2009-05-11

gpg: Frase contraseña incorrecta; inténtelo de nuevo. ...

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer "
clave RSA de 4096 bits, ID 0ED14B3B, creada el 2009-05-11


pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1) Lisandro Damián Nicanor Pérez Meyer
[desconocida] (2). Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> save

Cambiar las preferencias:

$ gpg --edit-key 0ED14B3B
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Clave secreta disponible.

gpg: comprobando base de datos de confianza
gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias,
modelo de confianza PGP
gpg: nivel: 0 validez: 3 firmada: 30 confianza: 0-, 0q, 0n, 0m, 0f, 3u
gpg: nivel: 1 validez: 30 firmada: 32 confianza: 14-, 0q, 0n, 0m, 16f, 0u
gpg: nivel: 2 validez: 14 firmada: 22 confianza: 6-, 0q, 0n, 0m, 8f, 0u
gpg: nivel: 3 validez: 1 firmada: 13 confianza: 1-, 0q, 0n, 0m, 0f, 0u
gpg: siguiente comprobación de base de datos de confianza el: 2010-01-01
pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> showpref
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA1, SHA256, RIPEMD160
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA1, SHA256, RIPEMD160
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA1, SHA256, RIPEMD160
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar

Orden> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
Establecer lista de preferencias a:
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA512, SHA384, SHA256, SHA224, SHA1
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar
¿Actualizar realmente las preferencias? (s/N) s
gpg: AVISO: ningún ID de usuario está marcado como principal. Esta orden puede
causar que se tome como principal por defecto otro ID de usuario.

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta) "
clave RSA de 4096 bits, ID 0ED14B3B, creada el 2009-05-11


pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> showpref
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA512, SHA384, SHA256, SHA224, SHA1
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA512, SHA384, SHA256, SHA224, SHA1
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)
Cifrado: AES256, AES192, AES, CAST5, 3DES
Resumen: SHA512, SHA384, SHA256, SHA224, SHA1
Compresión: ZLIB, BZIP2, ZIP, Sin comprimir
Características: MDC, Sevidor de claves no-modificar

Orden> save

Configurar el UID por defecto:

gpg --edit-key 0ED14B3B
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Clave secreta disponible.

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> uid 2

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (2)* Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> primary

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta) "
clave RSA de 4096 bits, ID 0ED14B3B, creada el 2009-05-11


pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1) Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (2)* Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> save

Agregar una subclave para encriptación:

gpg --edit-key 0ED14B3B
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Clave secreta disponible.

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> addkey
La clave está protegida.

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer "
clave RSA de 4096 bits, ID 0ED14B3B, creada el 2009-05-11

Por favor seleccione tipo de clave deseado:
(2) DSA (sólo firmar)
(4) ElGamal (sólo cifrar)
(5) RSA (sólo firmar)
(6) RSA (sólo cifrar)
Su elección: 6
las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
¿De qué tamaño quiere la clave? (2048) 4096
El tamaño requerido es de 4096 bits
Por favor, especifique el período de validez de la clave.
0 = la clave nunca caduca
= la clave caduca en n días
w = la clave caduca en n semanas
m = la clave caduca en n meses
y = la clave caduca en n años
¿Validez de la clave (0)?
La clave nunca caduca
¿Es correcto? (s/n) s
¿Crear de verdad? (s/N) s
Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar
la red y los discos) durante la generación de números primos. Esto da al
generador de números aleatorios mayor oportunidad de recoger suficiente
entropía.
.....+++++

No hay suficientes bytes aleatorios disponibles. Por favor, haga algún
otro trabajo para que el sistema pueda recolectar más entropía
(se necesitan 71 bytes más).
.........................+++++

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
sub 4096R/A359DE37 creado: 2009-05-11 caduca: nunca uso: E
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

Orden> save

Firmar mi nueva clave con la clave vieja:

$ gpg --default-key c8820fa7 --sign-key 0ED14B3B

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
sub 4096R/A359DE37 creado: 2009-05-11 caduca: nunca uso: E
[ absoluta ] (1). Lisandro Damián Nicanor Pérez Meyer
[ absoluta ] (2) Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
[ absoluta ] (3) Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

¿Firmar realmente todos los IDs de usuario? (s/N) s

pub 4096R/0ED14B3B creado: 2009-05-11 caduca: nunca uso: SC
confianza: absoluta validez: absoluta
Huella de clave primaria: 2B76 EAB6 5FAD 14FF 3E4A E4BC C5B0 5E9C 0ED1 4B3B

Lisandro Damián Nicanor Pérez Meyer
Lisandro Damián Nicanor Pérez Meyer (Punta Alta Digital - Cooperativa Eléctrica de Punta Alta)
Lisandro Damián Nicanor Pérez Meyer (Universidad Nacional del Sur)

¿Está realmente seguro de querer firmar esta clave
con su clave: "Lisandro Damián Nicanor Pérez Meyer " (C8820FA7)?

¿Firmar de verdad? (s/N) s

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer "
clave DSA de 1024 bits, ID C8820FA7, creada el 2007-06-20

Creación del certificado de revocación:

No se olviden de imprimirlo y guardarlo en un lugar seguro.


gpg --gen-revoke 0ED14B3B

sec 4096R/0ED14B3B 2009-05-11 Lisandro Damián Nicanor Pérez Meyer

¿Crear un certificado de revocación para esta clave? (s/N) s
Por favor elija una razón para la revocación:
0 = No se dio ninguna razón
1 = La clave ha sido comprometida
2 = La clave ha sido reemplazada.
3 = La clave ya no está en uso
Q = Cancelar
(Probablemente quería seleccionar 1 aquí)
¿Su decisión? 1
Introduzca una descripción opcional; acábela con una línea vacía:
>
Razón para la revocación: La clave ha sido comprometida
(No se dió descripción)
¿Es correcto? (s/N) s

Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Lisandro Damián Nicanor Pérez Meyer "
clave RSA de 4096 bits, ID 0ED14B3B, creada el 2009-05-11

se fuerza salida con armadura ASCII.
Certificado de revocación creado.

Por favor consérvelo en un medio que pueda esconder; si alguien consigue
acceso a este certificado puede usarlo para inutilizar su clave.
Es inteligente imprimir este certificado y guardarlo en otro lugar, por
si acaso su medio resulta imposible de leer. Pero precaución: ¡el sistema
de impresión de su máquina podría almacenar los datos y hacerlos accesibles
a otras personas!


[0] Ésta clave, la 0x437CD1C2, ya ha sido revocada y enviada a pgp.mit.edu (por lo que debiese entrar al anillo completo en breve).