¿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 mutuo. Los grupos de firmas sirven para extender la confianza por la red.

¿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, 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.

¿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 vías 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 confía en que cada llave pertenece a su propietario legítimo.

¿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 estrechamente interconectado sea el sistema de confianza, más difícil será comprometerlo. Esto tiene un significado especial para las Comunidades 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 la seguridad y les anima a adquirir conocimientos sobre PGP y otras tecnologías 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.

Organizando el Grupo

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.

¿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 requisitos básicos el coordinador puede introducir algunas variaciones a estos dos tipos.

Un grupo centralizado es un asunto más organizado donde se trabaja bien con un grupo pequeño o medio de personas. Los participantes envían la información de sus llaves públicas al coordinador quién las anota en una lista. Cada participante, tal como van llegando al grupo, recibirá una copia de la lista, luego al estar reunidos todos, cada participante será llamado por el coordinador.

El participante 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 id. 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 mezclan 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 descentralizado, es importante que el coordinador anime a cada uno a que se asegure de que se ha reunido con todo el mundo, al menos 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.

Anunciando el Grupo

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 servidor de llaves aquellas 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ñía de tu localidad.

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 o enviar la lista por correo a todos los participantes. Dichos listados suelen recopilarse en el siguiente formato:

Llave id – Propietario – Huella – Tamaño – Tipo – ¿llave válida? – ¿id válido?

Participando en el Grupo

El Participante

Esta es una lista de los pasos que debe seguir cada participante del grupo:

  • Generar un par de llaves.
  • Enviar la llave pública al servidor de llaves.
  • Enviar los detalles de tu llave pública al coordinador.
  • Ir al grupo de firmas.
  • Verificar los detalles de su llave.
  • Verificar los detalles de la llave de los demás.
  • Verificar la identidad para los id que se va a firmar.
  • Firmar todos aquellos id y llaves que se hayan verificado.
  • Enviar todas las llaves que se han firmado al servidor de llaves.

¿Qué hay que llevar a el Grupo?

  • Dos identificaciones con foto.
  • Detalles de las llaves de su propiedad: id, Tipo, Huella y Tamaño.
  • Un bolígrafo o lápiz.

¿Qué no hay que llevar?

  • Un ordenador.

¿Por qué no se debe llevar un ordenador?

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 utilizaran 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.

Firmando otras llaves

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.

gpg --keyserver <servidor> --recv-keys <ID_Llave>

Huella y verificado de llave

gpg --fingerprint <ID_Llave>

GPG imprimirá la huella del usuario <ID_Llave> 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.

Firmar una llave

gpg --sign-key <Key_ID>

Si tienes múltiples 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:

gpg --default-key <ID_a_usar> --sign-key <ID_Llave>

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 desinstalar la versión antigua, para comprobar que versión estas utilizando usa el siguiente comando:

gpg --version

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 elija (normalmente cifrada). 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:

gpg --keyserver <servidor> --send-key <ID_Llave>

Verás un mensaje de éxito como este:

gpg: success sending to <servidor> (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. Saludos…