
He estado probando claves GPG y estuve estudiando los cambios de las claves al agregar/eliminar usuarios en la clave. Si agrego un usuarioAliciatras la generación de claves. Exporto la clave pública y privada de los pares de claves. Y luego agregue el usuarioBetoa la misma clave. Y finalmente exporte la misma clave excepto conBetoagregado como usuario. Luego comparo elAliciayAlicia/Bobllaves. ElAliciaLa clave pública tiene una porción enorme similar a laAlicia/Bobclaves públicas y también tiene algunas diferencias en muchos puntos. ElAlicia/BobLa clave pública es considerablemente más larga que laAliciallave. Noto que lo mismo se aplica a las claves privadas. Lo que encuentro interesante es que si cifro usando elAliciaClave pública y descifre usando elAlicia/Bobclave privada, recibo el mismo mensaje.
Aquí están las preguntas que tengo:
- ¿El correo electrónico/ID de usuario afecta la clave pública y privada?
- ¿Puedes extraer la identificación de usuario de la clave pública? En caso afirmativo, ¿cómo funciona?
- ¿Cómo funciona el cifrado conAliciay descifrado conAlicia/Bob¿trabajar?
- ¿Se utiliza una determinada parte de cada clave para cifrar/descifrar y otras partes se dejan para la identificación del usuario y los correos electrónicos?
Respuesta1
Y luego agregue el usuario Bob a la misma clave.
Lo más importante es que los "ID de usuario" de las claves PGP no sirven para esto.
Los ID de usuario son sólo etiquetas.No se pueden utilizar para ningún tipo de control de acceso: sólo informan a otros sobre el propietario de la clave. Solo debe haber un propietario de una clave y todos los ID de usuario de una única clave deben describir a la misma persona.
(La razón por la que puede agregar varias identificaciones de usuario es simplemente porque la misma persona puede tener varias direcciones de correo electrónico y, de hecho, incluso varios nombres).
Si varias personas necesitan utilizar PGP, cada una de ellas debe crear sus claves individuales. Luego, enumerará todas sus claves al cifrar (por ejemplo, utilice múltiples --recipient
opciones).
- ¿Cómo funciona el cifrado con Alice y el descifrado con Alice/Bob?
Cuando agrega una segunda identificación de usuario, sigue siendo literalmente el mismo material de clave RSA, solo cambió la etiqueta que está escrita en él. Las identificaciones de usuario no sirven para el control de acceso.
- ¿El correo electrónico/ID de usuario afecta la clave pública y privada?
- ¿Puedes extraer la identificación de usuario de la clave pública? En caso afirmativo, ¿cómo funciona?
- ¿Se utiliza una determinada parte de cada clave para cifrar/descifrar y otras partes se dejan para la identificación del usuario y los correos electrónicos?
Cuando se habla de "claves públicas" y "claves privadas" en PGP, esono esPor lo general, significa solo los datos de clave pública sin procesar (por ejemplo, solo los parámetros RSA), como ocurre en otros sistemas. En cambio, lo que realmente obtienes gpg --export
es OpenPGP.bloque de teclasocertificadoque contiene las claves públicas junto con varios metadatos (ID de usuario, firmas, etc.).
Entonces, cuando agrega una ID de usuario, en realidad no cambia los parámetros de clave reales: se agrega como un paquete de metadatos al lado del paquete de clave pública.
Y cuando las personas comparten sus "claves públicas PGP", comparten el conjunto completo de paquetes de claves y metadatos como una sola unidad. En general, la idea es muy similar a la de los certificados X.509, que tienen un campo 'Asunto' junto a la clave misma.
Puede utilizar herramientas como pgpdump
o gpg --list-packets
para mostrar los datos exportados en formato de texto.