GnuPG Grupos de Firmas (Keysigning Party) COMO
v1.0.8, 09 de Mayo de 2003
Este documento describe el protocolo y los métodos a seguir para mantener y participar
en un Grupo de Firmas utilizando la implementación de GNU PGP, GnuPG. Se explican los
protocolos de firmado, respuestas a las preguntas más frecuentes y como crear un buen
par de llaves para que otros las firmen.
1.1 Qué es exactamente un Grupo de Firmas?
Un Grupo de Firmas es la forma de reunir a personas que utilizan sistemas
criptográficos tipo PGP con el propósito de permitir a dichas personas el firmado
mútuo. Los Grupos de Firmas sirven para extender la confianza por la red. También
los grupos de Firmas son una gran escusa para discutir temas políticos o sociales
bajo una fuertes medidas de seguridad criptográfica, libertades individuales,
soberanías e incluso implementar tecnologías criptográficas o posibles trabajos de
software criptográfico gratuito.
1.2 Qué es una Llave firmada?
El Firmado de llaves es el acto de firmar digitalmente una llave pública y un id
asociado con dicha llave. La Firma nos sirve para verificar que el id y la llave
pública pertenecen realmente a la entidad que aparece en la firma que representa esa
llave.
Cada uno puede firmar su propia llave pública y los id asociados a ella, o otras
entidades y asociarlas a la llave pública.
En esencia, las firmas validan las llaves públicas. Es una forma de validar
una llave pública y una identidad gracias a una tercera parte. Esta es la forma
en la cuál las firmas crean un sistema de confianza.
1.3 Qué es un sistema de confianza?
Un sistema de confianza es el término utilizado para describir la relación de confianza
entre un grupo de firmas. La firma es un enlace, o una ramificación, en el sistema
de firmas de confianza. Estos enlaces son llamados
Vias de confianza (
Trust Paths).
Las Vías de Confianza pueden ser bidireccionales o de una única dirección. El ideal de
un sistema de confianza es que cada uno esté conectado de forma bidireccional con los
demás. De hecho, cada uno confia en que cada llave pertence a su propietario legítimo. El
sistema de confianza es la suma de la confianza de todos las vías de confianza, o enlaces,
entre todas las firmas participantes. Aquí tienes un ejemplo visual de un
sistema de confianza.
1.4 Puedes darme un ejemplo aplicativo de llaves firmadas?
Como ejemplo podemos explicar que Alicia y Benito crean sus propias llaves con GPG y
firmadas en un Grupo de Firmas. En el Grupo, Alicia y Benito verifican otras llaves y
luego las firman. GPG, por defecto, firma de forma automáticamente la llave pública
asociada a la llave privada cuando se crea. Entonces Alicia y Benito tienen como mínimo
dos firmas validando sus llaves. La llave de Alicia ha sido firma por ella misma y por
la firma de Benito, mientras que la llave pública de Benito está firmada por él mismo
y por Alicia.
En un futuro, Alicia y Benito conocen a Carmen. Carmen crea un par de
llaves y les dice a Alicia y a Benito que les enviará su llave pública. Pero a Alicia no
le gusta Carmen y no quiere que Benito intercambie comunicaciones cifrada con ella. Ambas,
Alicia y Carmen, crean nuevas llaves que dicen ser de Carmen y ambas se la envia a Benito.
Ambas llaves tienen una firma, la firma asociada a la llave privada. Benito no sabe cuál
es realmente la llave de Carmen, pero ésta se entera de que Benito tiene dos llaves suyas y
sospecha de Alicia. Carmen, ahora enfadada, quiere obtener información que utilizar
contra Alicia y para obtener dicha información Carmen debe comprometer las comunicaciones
entre Alicia y Benito. Para hacerlo, Carmen decide falser un correo hacia Benito diciendo
que ella es Alicia y que ha creado una nueva Llave Pública. En el correo, Carmen
incluye la "nueva" llave de Alicia (que en realidad es la falsa que ha generado Carmen).
Sin embargo Benito está seguro de que es un truco, porque Benito tiene dos llaves de Alicia,
una de las cuales ha sido firmada por multiples personas (él mismo y Alicia) verificando
que proviene de Alicia, mientras que la otra llave (la falsa de Carmen) sólo tiene su
propia firma.
Este ejemplo tan sencillo puede complicarse muchisimo más. Puedes leer más
documentación sobre PGP o un buen libro de PKI para ejemplos más detallados. El ejemplo
explica claramente las bases del firmado y su importancia. Carmen no podrá introducir su
falsa llave de Alicia por que existe un sistema de confianza entre Benito y Alicia.
Sin embargo, las firmas y los sistemas de confianza no garantizan la credibilidad de
las llaves. Por ejemplo, cuando Benito y Alicia conocieron por primera vez a Carmen,
esta traía a un amigo consigo: David. David tenia creadas unas llaves falsas para Alicia
y Benito, firmadas por él mismo y por las llaves falsas resultando que cada firma poseía
tres firmas y se las había enviado a Carmen. Carmen posee una serie de falsas firmas.
Como las firmas pueden ayudar a Carmen a resistir un ataque? Bien, hay que decir que
todas las firmas que la gente intercambia existen en un servidor de llaves público.
Si Carmen hubiese buscado en el servidor de llaves las llaves de Alicia y Benito,
encontraría dos pares de llaves para Alicia y para Benito. Si Alicia y Benito
recopilaron veinte firmas en el Grupo de Firmas es obvio que Carmen podría confiar en
las llaves con mayor cantidad de firmas que no en las llaves con sólo tres firmas.
Carmen debería sopechar algo más sobre la existencia de esas llaves públicas, podría
sospechar de las fechas de generación y del sistema de confianza de dichas llaves.
Las veinte llaves del Grupo de Firmas han sido firmadas veinte o más veces en
diferentes periodos de tiempos, muchas de ellas firmadas por Alicia, Benito y por otras
personas. Ese no sería el caso si David hubiese generado veinte falsas llaves con un
falsa confianza.
1.5 Por qué debo firmar mi llave en grupo
Existen tres razones principales para tener tantas firmas como se pueda.
La primera y la más importante, debes tener la mayor cantidad de firmas para expandir
tus vías de confianza. Cuanto más profundo y extrechamente interconectado sea el
sistema de confianza, más difícil será comprometerlo. Esto tiene un significado especial
para Free Software Community (Comunidad de Software Libre), sean desarrolladores o
usuarios. Los miembros de esta comunidad delegan sobre la tecnología criptográfica PGP la
protección e integridad de sus paquetes de software, avisos de seguridad y anuncios. La
fuerza y robustez del sistema de confianza es directamente proporcional a la fuerza de
protección que PGP provee a la comunidad.
La segunda razón es que los grupos de Firmas ayudan a otras personas a integrarse
dentro de la cultura de las seguridad y les anima a adquirir conocimientos sobre PGP y
otras tecnologias de criptografía. Para conseguir toda la fuerza de la criptografía
la gente debe usarla y usarla correctamente.
Finalmente, los grupos de Firmas ayudan a construir comunidades. Ayudan a juntar
nuevos conocimientos y discusiones importantes sobre libertades civiles,
cripto-derechos y regulación de internet. La discusión es importante por que no sólo es
el primer paso, pero es el paso antes de la acción. Ahora que estoy escribiendo
este artículo no existen sistemas de seguridad demasiado complejos en el mundo. Si
trabajas para construir un sistema de seguridad en tu localidad, es muy probable que esos
primeros participantes sean los líderes asentando las bases de internet en su comunidad.
Ellos son los individuos que podrán escoger construir el sistema criptográfico seguro y
sus protocolos dentro de la infraestructura local, si pueden escoger. La integración de
sistemas y protocolos pueden transformar sistemas como el Carnivore del FBI en
inservibles.
2.1 El Coordinador
No es difícil organizar y coordinar un Grupo de Firmas. Sin embargo a parte de las
tareas normales de invitar a la gente, seleccionar un lugar y una fecha, el coordinador
tiene otras tareas claves específicas a su responsabilidad. Eso, normalmente, incluye el
suministro de una lista de llaves para cada participante y una determinación de la
estructura del Grupo.
2.2 Como debe de estar estructurado el Grupo?
Hay dos formas de conducir un Grupo de Firmas de forma Estructurada -- de forma
centralizada o de forma descentralizada. La mejor forma de determinar como hacerlo es
dependiendo del número de participantes y la atmósfera del local donde se lleva a cabo la
Fiesta. Los requisitos básicos del Grupo son que los participantes se verifiquen unos
a otros las llaves y las identidades. Dados estos resquisitos básicos el coordinador
puede introducir algunas variaciones a estos dos tipos.
Un Grupo centralizada es un asunto más organizado donde se trabaja bien con un grupo
pequeño o medio de personas. Los participantes envian la información de sus llave pública
al coordinador quién las anota en una lista. Cada participante, tal como van llegando al
Grupo, recibirá una copia de la lista, reunidos todos, cada participante será llamado
por el cordinador.
El particiapante comprobará que los datos son correctos respecto a la lista dada por el
coordinador. Si el participante está seguro que su llave es la misma que la facilitada
por el coordinador, entonces el participante leerá su huella digital ante los demás
participantes para que estos puedan comprobar que sea la correcta. Si es correcta, los
participantes deberán marcarlo en su hoja. Esto es necesario para evitar errores o
falsedades en la hoja creada por el coordinador. Hasta que todos hayan comprobado la
llave del participante, entonces el coordinador podrá llamar a otro participante y
así sucesivamente.
Una vez que todas las llaves han sido verificadas, los participantes
y el coordinador rogará a los participantes que formen una línea con sus identificaciones
bien visibles. La persona en cabeza de la fila caminará hacia abajo de la fila
comprobando los IDs. Si la ID es correcta y se ha validado lo que se ha dicho
sobre la llave al principio del encuentro, entonces se pondrá una segunda marca
en su lista. Sólo la llave que tenga dos marcas será firmada.
Un Grupo de Firmas descentralizada es básicamente libre albedrío. Los
participantes se espera que se mezclen informalmente y buscarán a otros participantes cuyas
llaves no hayan sido firmadas aún. Mientras duré el evento, cada uno verificará la llave
y el ID de cada persona. los grupos descentralizadas permiten incluir más fácilmente a
gente nueva.
En un Grupo Descentralizada, es importante para el coordinador anime a cada uno a que
se asegure de que se ha reunido con todo el mundo, almenos para la validación de la
llave. En este caso no es necesario hacer una lista de llaves y de huellas, aunque es
una buena práctica.
Los Grupos Centralizadas son ideales para conferencias, durante la comida, reuniones
informales en casa de alguien o en algún restaurante, etc. Las descentralizadas son mucho
más practicas cuando hay un gran número de gente y el lugar es un bar o un sitio muy
ruidoso, o grupos particularmente escandalosos y difíciles de manejar.
2.3 Anunciando el Grupo
Cuanto más conocida sea el Grupo, mejor. Se puede anunciar el Grupo via listado de
correo LUG, o a otras listas relacionadas con la informática dentro de tu localidad,
incluso poniendo un anunció en el prensa.
Si estas creando un sistema de confianza en tu comunidad, es buena idea intentar
atraer a usuarios de PGP activos porque ellos son los principales interesados en mantener
los grupos de Firmas. La mejor forma de encontrar a la gente es hablando con aquellas personas que se
encuentran en las listas de correo con firma PGP o buscando en el servidores de llaves
aquellos cuentas de correo que puedan pertenecer a tu localidad. Por ejemplo, las cuentas
de correo con el dominio de una universidad o una gran compañia de tu localidad, puede que
encuentres un alto número de interesados en el Grupo de Firmas.
Aquí encontrarás algunos ejemplos de anuncios:
2.4 Generando la lista de llaves
Si vas a utilizar un formato de Fiesta estructurada se necesita que cada participante
tenga una lista de llaves de todo el mundo, el coordinador tendrá que imprimir muchos
listados. Dichos listados suelen recopilarse en el siguiente formato:
Llave ID | Propietario | Huella | Tamaño
| Tipo | Llave Válida? | ID Válido? |
992A4B3F | V. Alex Brennen < vab@cryptnet.net > | 0EC8 B0E3 052D FC4C 208F 76EB FA92 0973 992A 4B3F | 1024 | DSA | | |
He escrito un programa en perl para crear un documento HTML con el formato de arriba.
El
programa que genera la lista de llaves
está disponible bajo terminos de licencia: GNU General Public License (GPL).
Una copia de esta lista de llaves debe de ser impresa y entrega a cada uno de los
participantes. El coordinador puede imprimir el listado él mismo o enviar un correo para
que cada participante se lo imprima él mismo, o puede colgarlo en una página web para que
los participantes lo impriman.
2.5 Resultado gráfico de la web de confianza
Nada gusta más al usuario que los gráficos con muchos colores. Por ello, crear un
gráfico del sistema de confianza establecido en tu entorno puede motivar a la gente a
participar, viendo los progresos obtenidos.
Puedes obtener un sencillo gráfico, de todas las llaves firmadas en tu sistema de
seguridad convirtiendo esa información en un fichero de puntos, el cuál puede ser tratado
por programas tipo DOT o NEATO. Un programa de Darxus que fue escrito en perl convierte
las llaves y firmas de un anillo en un fichero de puntos y este está disponible bajo los
términos de GPL. Para poder obtener dicho gráfico necesitas bajarte el programa de Darxus
sig2dot.pl y el
graphviz de AT&T Research.
La restricción es que no se puede generar un gráfico de más de cien nodos por problemas
de que el ordenador puede necesitar mucha memória.
Las instrucciones para dibujar el sistema de confianza de un anillo gpg estan incluidas
en el poprio script: sig2dot.pl o pueden encontrarse en el paquete de Debian. Aquí hay un
enlace a un gráfico de sistema de confianza que
fue creado con sig2dot.pl y neato. Existe más información disponible en la página de
Debian.
3.1 El Participante
- Generar un par de llaves
- Enviar la llave pública al servidor de llaves (o al Coordinador)
- Enviar los detalles de tu llave pública al coordinador
- Ir a el Grupo de Firmas
- Verificar los detalles de su llave
- Verificar los detalles de la llave de los demás
- Verificar la identidad para los IDs que se va a firmar
- Firmar todos aquellos IDs y llaves que se hayan Verificado
- Enviar todas las llaves que se han firmado al servidor de llaves (o a su propietario)
3.2 Qué hay que llevar a el Grupo
- Tu mismo - No puedes participar virtualmente
- Dos identificaciones con foto - Licencia de conducir y pasaporte
- Detalles de las propias llaves: ID, Tipo, Huella y Tamaño
- Un bolígrafo/lápiz
3.3 Qué No hay que llevar
- Un ordenador.
3.4 Por qué no debes traer un PC
No se deben llevar ordenadores a los grupos porque los programas pueden haber sido
alterados de tal forma que comprometan la seguridad del PGP.
Si alguien llevase un ordenador y todos utilizasen ese ordenador para firmar las
llaves, nadie sabría si en dicho ordenador hay un grabador de teclas (KeyLogger)
activo, o la versión del GPG ha sido modificada o incluso el Kernel de Linux, o que el
teclado está especialmente modificado, cualquiera de estas cosas pueden capturar las
llaves secretas de aquellos que utilicen el ordenador.
La utilización de un ordenador en una fiesta también deja la puerta abierta para
ataques desde el exterior o ataques complejos con las llaves débiles, modificaciones que
llaves secretas o incluso infecciones con virus en los propios ejecutables del GPG que
pueden debilitar tus llaves secretas en el futuro.
3.5 Generando el par de llaves
El proceso de crear un par de llaves es sencillo, basicamente sólo necesitas
ejecutar
gpg --gen-key
. Sin embargo, recomiendo que también generes un
certificado de cancelación para tus llaves en caso de perdida de la llave secreta (eso
significa que has olvidado la palabra clave o has pedido la llave secreta). El comando
para generar el certificado de cancelación puede encontrarse en el apartado
3.7 de este documento.
Los siguientes pasos deben ser utilizados con la suficientes seguridad, por ejemplo:
- Las llaves deben generarse con la mayor longitud posible para hacerlas más resistentes a un ataque de fuerza bruta,
- el Certificado de Cancelación se generará para permitir
cancelar la llave pública si la seguridad es ve comprometida o se pierde
la llave secreta
Algunas personas se sienten más seguras utilizando estas medidas básicas, por ejemplo
si tienes un ordenador portátil o de sobremesa con la que lees los mails, estarás más
cómodo si guardas las llaves en ese ordenador. También puedes crear las llaves sin periódo
de caducidad para poder ser identificado y para las comunicaciones habituales - puedes
generar otro par de llaves para comunicaciones extremadamente más seguras (si las tienes).
Las siguientes instrucciones deben de ser escritas bajo las mejores medidas de seguridad,
no necesitas seguirlas todas, sólo aquellas para generar el par de llaves. Por otro lado,
si eres extremadamente paranoico como yo siguiendos las siguientes directivas te
proveerá temporalmente con una sensación de fugaz calma que necesitas sentir en este
momento.
Las siguientes instrucciones deben seguirse con la mayor seguridad (paranoia) posible,
por ejemplo:
- las llaves deben generarse lo más grande posibles para resistir un ataque de fuerza bruta
- las llaves deben generarse con una caducidad para prevenir un
eventual compriso de las mismas por un incremento en la ciencia
computacional
- las llaves deben almacenarse en un disquette para prevenir su robo si alguien accede a tu ordenador (fisica o remotamente)
- se debe crear un Certificado de Cancelación para permitir
cancelar la llave pública si la seguridad de la misma se encuentra
comprometida o se pierde la llave
1) Ve a www.gnupg.org y bajate la última versión de gnupg: gnupg-x.x.x.tar.gz
Advertencia: Asegurate que estas utilizando almenos la versión
1.0.6 of GnuPG. ya que anteriores versiones tenian un fallo de
seguridad.
2) Comprueba la firma y el MD5 Checksum del programa GnuPG:
bash$ gpg --verify gnupg-x.x.x.tar.gz.sig gnupg-x.x.x.tar.gz
bash$ md5sum gnupg-x.x.x.tar.gz
3) Extraer los archivos, configurarlos, compilarlos e instalarlos:
bash$ tar xvzf gnupg-x.x.x.tar.gz
bash$ cd gnupg-x.x.x
bash$ ./configure
bash$ make
bash$ su
bash# make install
bash# exit
bash$ cd
Si estas compartiendo el sistema donde instalas el GnuPg con otros usuarios, debes
también querer poner el gpg en la root de esta forma su ejecució será más segura.
Si lo haces así, debes comprobar el md5 y la firma del pgp para estar seguro de no
estar instalando un troyano.
4) Consigue un disquette para almacenar las llaves y formatealo.
bash$ /sbin/mkfs.ext2 /dev/fd0
4a) Montar el disquette y haz un directorio para tus llaves:
bash$ mount /mnt/floppy
bash$ mkdir /mnt/floppy/.gnupg
y si es necesario (y dependiendo del acceso a fd0):
bash$ chown : /mnt/floppy/.gnupg
4b) Crea un enlace desde tu directorio local hacia el disquette
bash$ ln -s /mnt/floppy/.gnupg .gnupg
5) Crear un par de llaves
bash$ gpg --gen-key
5a) Seleccionar el tipo de llave que quieres - La que nos suguiere es suficiente.
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection?
5b) Seleccionar el tamaño: 2048
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
What keysize do you want? (1024) 2048
Do you really need such a large keysize? yes
5c) Seleccionar un periodo de caducidad: 5 años es suficiente
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 5y
Key expires at Sun Sep 21 16:17:15 2005 EDT
Is this correct (y/n)? y
5d) Introduce tu nombre y tu direccion(es) de correo electrónico...
Real name: Demo User
Email address: demo@nonexistent.nowhere
Comment:
You selected this USER-ID:
"Demo User "
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
5e) Escoje una frase clave, debes escoger una buena lo sufientemente
larga para no ser adivinada y lo suficientemente fácil para que no te
olvides de ella. Si te olvidas de la frase no podrás recuperar tus
llaves.
5f) Mueve el raton y haz algunos clicks en el escritorio o ejecuta una
búsqueda grande. GPG está buscando números aleatorios para crear las
las llaves, de esta forma introducirás mas aleatoriedad interrumpiéndole.
interrumpe.
6) Modifica la llave si quieres, por ejemplo si tienes multiples cuentas
de correo que quieras añadir como válidas a tu llave:
bash$ gpg --list-secret-keys
/home/demo/.gnupg/secring.gpg
----------------------------
sec 1024D/C01BAFC3 2000-09-21 Demo User
ssb 2048g/7A4087F3 2000-09-21
bash$ gpg --edit-key C01BAFC3
Command> help
Command> adduid
[...]
Command> save
7) Envia tus llaves a un servidor:
[vab@firster vab]$ gpg --keyserver --send-key
Debes ver un mensaje de éxito como este:
gpg: success sending to `' (status=200)
3.6 Publicando tu llave en un servidor de llaves
Hay gente que cree que es importante mantener su llave pública en secreto ya que le
otorga mayor seguridad en sus comunicaciones. Esto es cierto por que un servidor puede
ser manipulado o comprometido y enviar llaves públicas de forma incorrecta. Por ello, la
llave pública que se envia a los servidores no debe ser la última actualización de la
misma. Por ejemplo, firmas adicionales pueden ser añadidas a la llave pública local pero
no subidas al servidor de llaves. Eso es así porque la llave pública del par de llaves es
necesaria para realizar cierto ataques en criptosistemas. Estos ataques dificilmente podrán
tener éxito, no importa si la llave pública es emitida, ya que la fuerza del par de llave
reside en mantener oculta la llave secretra.
Yo no recomiendo que mantengas tu llave pública en secreto por que eso desanima a los
demás usuarios que utilizan PGp en sus comunicación contigo. Para evitar la posibilidad
de que el servidor esté comprometido o haya sido alterado en su retorno de llaves pública
es recomendable que publiques las huellas de tu llave dentro de un fichero .signatura o
en tu página web, para evitar la posibilidad de que alguien ataque tu llave pública y de
esa forma comprometa la seguridad de tus comunicaciones, puedes generar otro par de
llaves adicional (que caduque en horas o en dias) para cada una de las comunicaciones e
intercambios de llaves.
Si no deseas que tu llave esté en un servidor, no debes realizar el último paso e
indicar al coordinador del Grupo de Firmas que tu llave firmada no debe subirse al
servidor de llaves. El coordinador puede extraer los detalles de tu llave y reenviarlos a
los demás participantes via correo encriptado, o por otros métodos, adjuntando una nota
indicando que deben devolverse una vez firmado en vez de subirlar al servirdor de llaves.
3.7 Generando un Certificado de Cancelación
Este paso es opcional.
La creación y almacenamiento del Certificado de Cancelación te permitirá cancelar tu
llave pública en cualquier momento que pierdas acceso a tu llave privada o esta se vea
comprometida: fallo del soporte, ataque, olvido de frase secreta. Si quieres cancelar la
llave pública incluso cuando no tienes acceso a la llave privada, entonces debes generar
un Certificado de Cancelación y almacenarlo en un lugar seguro. Puedes incluso imprimir
una copia del certificado para poder entrarla manualmente, por si falla el medio de
almacenaeje.
Si el Certificado de Cancelación queda comprometido, la persona que lo comprometa podrá
cancelar la llave pública en circulación, sin embargo no podrá acceder a la llave secreta
y tampoco podrá generar falsas firmas, desencriptar mensajes o cualquier otra cosa que
pueda hacer el usuario del par de llaves. Realmente lo único negativo de esto es que
deshabilita el par de llaves.
3.9 Cancelando tus llaves.
El comando GnuPG para crear un Certificado de Cancelación es:
bash$ gpg --output revcert.asc --gen-revoke
9) Envia la información al Coordinador indicándole que vas a asistir a el Grupo de
Firmas. El siguiente comando te permite imprimir la información necesaria y que debes
enviar al coordinador si no utilizas un ser servidor de llaves, pueden enviar la
información encriptada al coordinador.
bash$ gpg --fingerprint
10) Desmontar el disquette y expulsarlo:
bash$ umount /mnt/floppy
Nota: Para una máxima seguridad, puedes llevarte contigo el disquette allá donde vayas
o puedes dejarlo en un lugar seguro, encerrado en tu escritorio, etc. DO DEBES dejar tus
llaves accesibles por internet.
11) Ir a el Grupo de Firmas.
3.8 Firmando de otras llaves
Paso 1: Obtener un copia de la llave.
Normalmente se obtiene de los servidores de llaves, sin embargo si la llave no está
disponible en el servidor puedes importarla utilizando
gpg --import
.
Si trabajas con servidores de llaves, el siguiente comando te servirá para descargar la
llave publica e incorporarla en tu anillo público.
bash$ gpg --keyserver --recv-keys
Si recibes un error, significa que el servidor está sobrecargado. Por favor, inténtalo
dentro de unos segundos.
Paso 2: Huella y verificado de llave
bash$ gpg --fingerprint
GPG imprimirá la huella del usuario
(la llave que se acaba de
descargar). Comprobamos la huella con la que tenemos en el listado del Grupo de
Firmas. Nota: No compruebes la huella de tu listado contra la huella que aparece en la
web del servidor, ya que puede no haberte enviado la misma llave.
Paso 3: Firmar una llave
bash$ gpg --sign-key
Si tienes multiples llaves privadas, debes especificar cuál de todas tu llaves
privadas es la que va a firmar la llave pública, este es el comando:
bash$ gpg --default-key --sign-key
Si tienes problemas con llaves tipo RSA es por que probablemente estés utilizando una
versión antigua de GnuPg. Versiones anteriores a la 1.0.3 no incluye compatibilidad con
RSA. Nota: Debes desintalar la versión antigua, para comprobar que versión estas
utilizando usa el siguiente comando:
bash$ gpg --version
Paso 4: Devolver o subir la llave firmada
Si estas trabajando con una entidad que no quiere que su llave esté en un servidor
público, deberás devolver la llave pública firmada a su propietario por el método que él
eliga - normalmente encriptada. No debes enviar la llave pública firmada al servidor sin
el permiso de su propietario. Publicar una llave reduce levemente la seguridad del par de
llaves, por lo tanto está mal visto publicar una llave si su propietario no lo desea.
Pero normalmente trabajarás con servidores de llaves. Si es el caso, deberás enviar
la llave pública firmada de vuelta al servidor con el siguiente comando:
bash$ gpg --keyserver --send-key
Verás un mensaje de éxito como este:
gpg: success sending to `' (status=200)
Felicidades, el firmado de llave pública ha terminado y tu firma ha sido incluida en
su llave pública. Se han establecido las vías de confianza.
3.9 Cancelando tus llaves
En el momento que sospeches que tu llave secreta ha sido comprometida, debes cancelarla
de forma inmediata. La cancelación de llaves tiene lugar añadiendo una firma de cancelación
dentro de tu llave pública. La cancelación de una llave pública sugiere que la llave ya no
es válida (segura) y no debe usarse. Cuando se libera un Certificado de Cancelación este
no puede retrocederse.
Piensa que tu llave PGP se ha distribuido (está en circulación) para los demás desde un
punto central (servidor de llaves) al cuál se accede cada vez para obtenerla, debes
distribuir o poner en circulación el Certificado de Cancelación de la misma forma
que has distribuido tu llave pública. Para poner en circulación el certificado de
cancelación de la misma forma que tu llave pública sólo hay que subirla al servidor de
llaves públicas. Si no lo has subido por razones de seguridad, puede que ahora si debas
subir el Certificado de Cancelación al servidor de llaves. En ese caso deberás plantearte
una leve inseguridad como resultado de publicar tu llave en un servidor de llaves y
reducir el peligro de que alguien no se entere de que tu llave ha sido cancelada.
El comando para crear el Certificado de Cancelación es:
bash$ gpg --output revcert.asc --gen-revoke
Si tienes sospechas de como o cuando tu llave ha sido comprometida y generaste un
certificado de cancelación en su momento, deberías de crear un nuevo certificado que
cancele tu par de llaves, ya que en openPGP se puede dar un motivo por el cuál se cancela
el par de llaves e incluso se puede añadir unas cuantas lineas de texto. Enviar este nuevo
Certificado de Cancelación sobre el antiguo es mucho mejor, ya que el texto es más
específico que el inicial.
Llave - Uno o más bits de información usados para procesos de encriptación y desencriptación.
Huella - Si PGP, un valor que identifica a la llave generada por un método de "hash" de su contenido.
Par de Llaves - En la criptografía
pública, una par de llaves consiste en una llave pública y otra privada o
secreta, ambas estan relacionadas.
Anillo - Una colección de llaves.
Este término se utiliza en relación al PGP donde el anillo consiste en
una colección de uno a más paquetes de llaves.
Servidor de Llaves - Es un sistema
donde se almacena llaves. Estos servidores se utilizan para recuperar
llaves públicas de personas con las cuales no se ha contactado.
Grupo de Firmas - Reunión de
personas que utilizan tecnología de encriptación PGP con el propósito
de permitier que otra gente firme sus llaves públicas mutuamente para
extender las
vías de confianza.
openPGP - El estandard abierto que define el sistema de seguridad del PGP.
Pretty Good Privacy [PGP] -
Software Privado desarrollado por Phil Zimmermann, en el cuál se
incluye criptografía pública, el estandard en el formato de llaves y con
criptografía simétrica.
Llave Pública - En la cripografía pública, la llave del par de llaves que es compartida.
Anillo Público - Un anillo de llaves públicas. Este término esta relacionado con
PGP.
Radix - Un método de codificación de datos que es transmitido por un canal que sólo soporta 8 bits. Por ejemplo, un correo o UseNet.
Llave Secreta - En la criptografía pública, en el par de llaves la que se debe mantener segura.
Anillo Secreto - Una colección
de llaves secretas. Este término se utiliza en relación al PGP donde el
anillo consiste en una colección de uno a más paquetes de llaves.
Vias de Confianza - Una ruta de confianza que va desde una entidad hasta otra. En PGP, este es el enlace que va entre dos llaves públicas
Sistema de Confianza - Colleción de firmas basado en las
vías de confianza sobre un usuario concéntrico que es el modelo que provee la autentificación. La confianza que hay entre un grupo de llaves.
5.1 Lista de servidores públicos
- CryptNET Keyserver Network
- gnv.keyserver.cryptnet.net
- pgp.net
- wwwkeys.us.pgp.net
- wwwkeys.nl.pgp.net
- wwwkeys.ch.pgp.net
- wwwkeys.uk.pgp.net
- wwwkeys.cz.pgp.net
- wwwkeys.de.pgp.net
- wwwkeys.dk.pgp.net
- wwwkeys.es.pgp.net
- www.keyserver.net Network
- search.keyserver.net
- seattle.keyserver.net
- germany.keyserver.net
- belgium.keyserver.net
- finland.keyserver.net
- thailand.keyserver.net
- pgp.ai.mit.edu
- pgp.cc.gatech.edu
- pgp.es.net
- pgp.rediris.es
- pgp.uk.demon.net
- pgp.uni-mainz.de
- pgp.nic.ad.jp
- ds.carnet.hr
5.2 Enlaces a documentos relacionados
5.3 Programas Relacionados
5.4 Webs Relacionadas
5.5 Normativa RFCs Relacionada
5.6 Fotografias de los grupos
- Gainesville, Florida, USA
- Isreal [1][2]
Copyright (c) 2000 - 2003 V. Alex Brennen.
El permisó está garantizado para copiar, distribuir y/o modificar este documento bajo
los términos de la
GNU Free Documentation License, Version 1.1
o cualquier otra verisón publicada por Free Software Foundation.
Este documeto se encuentra en
http://members.fortunecity.com/keyparty/gpg-party.html
6.1 Versiones
Version 1.0.0, 2000.10.01 Initial Release.
Version 1.0.1, 2000.10.03 Format/Writing changes, private public keys info.
Version 1.0.2, 2000.12.07 HTML (Bad Link) Fix.
Version 1.0.3, 2001.01.14 Simplification revisions, graphing,
keyserver security/etiquette information, perl code, announcement
examples, additional material, and general fixes.
Version 1.0.4, 2001.06.21 Revocation information added: 3.5, 3.7.
RFC info added: 4.4. Keyserver list and web site links updated.
Version 1.0.5, 2003.03.24 Glossary Added: 4. Pictures Added: 5.5.
Minor corrections, additional material, and formatting changes.
Version 1.0.6, 2003.03.24 New Content: Zimmermann-Sassaman Method, Brennen Method. General document clean-up.
Version 1.0.7, 2003.05.07 Added German Translation
Version 1.0.8, 2003.05.09 Added Section 5.3 Related Programs
6.2 Traducciones
Este documento se encuentra sólo disponible para los siguientes idiomas:
[
en] English
[
de]German (
Local Mirror)
[
si] Slovenian (
Local Mirror)
[
es] Spanish (
Local Mirror)
Si conoces alguna otra traducción o quieres traducirlo a algún otro idioma, por favor,
hazmelo saber para que se pueda distribuir o enlazar con la nueva versión traducida.
6.3 Contribuciones
V. Alex Brennen (Principal Author)
Darxus (Graphing Code (sig2dot.pl & sigtrace.pl))
Bostjan Muller (Slovenian Translation)
Gerfried Fuchs (German Translation)
Alex Bergonzini (Spanish Translation)
Tomado de:
https://www.gnupg.org/howtos/es/gpg-party.html