Estoy un poco confundido (como muchos otros) sobre el concepto de subclaves en relación con la clave principal. gpg
por defecto (al menos parece en mi sistema --- usando RSA
), cuando gpg --gen-key
crea un masterkey
y un subkey
. El masterkey
tiene indicadores SC
que podrían usarse para la firma y la certificación. También crea una subclave con el indicador E
, utilizado para el cifrado. ¿Son correctas las siguientes afirmaciones?
- Si entiendo todo el concepto, tanto el
masterkey
como elsubkey
son pares de claves, es decir, un par de claves privadas-públicas. - el hecho de que uno sea solo para el cifrado se debe a que algunos algoritmos tienen ese requisito (necesitan claves separadas para el cifrado y la firma)
- El indicador
subkey
withE
: su parte pública se puede usar para cifrar información y su parte privada para descifrar la información que se cifró con la parte pública. - El indicador
masterkey
withSC
: su parte privada se usa para firmar / certificar y su parte pública se usa para verificar la validez de la firma.
La parte más confusa es cuando sigo los consejos para crear más subkeys
, uno para la firma, uno para el cifrado. Simplemente llamemos el cifrado original subkey
ESK0
y el nuevo cifrado subkey
ESK1
, y la nueva firma subkey
SSK1
y el masterkey
MK
.
Después de crear ESK1
y SSK1
debería tener en total 4 pares de claves públicas / privadas, ¿correcto? Luego, siguiendo las guías, elimino el MK
de un medio sin conexión y lo elimino de mi computadora, por lo que ahora tengo en mi computadora:
- Un par público / privado
ESK0
(cifrado original) - Un par público / privado
ESK1
(nuevo cifrado) - Un par público / privado
SSK1
(nueva firma) - Una clave pública para
MK
Luego cambio la contraseña usando gpg --edit-key $id passwd
. De acuerdo con algunas guías, debería cambiar la contraseña a las subclaves, pero no estoy tan seguro de eso, creo que esto solo cambia la contraseña a toda la estructura limitada a MK
, es solo que la estructura con privado MK
almacenada Sin conexión todavía tiene la contraseña antigua. ¿Cuál es correcto?
Ahora, si firmo algo, ¿cuál es la clave de firma? Creo que tiene que ser SSK1
ya que MK
ya no está disponible. Correcto?
Luego subo alguna clave pública a un servidor de claves usando gpg --send-key $id
. ¿Qué claves públicas he subido?
Si alguien usará la información del servidor de claves para enviarme información cifrada, ¿qué clave pública se usará para el cifrado - ESK0
o ESK1
? Me preocupa que sea ESK0
, ya que entonces el punto de tener subclaves sería completamente inútil, ya que para el descifrado todavía estaría usando ESK0
.
Además, ¿por qué es que las guías sugieren la eliminación de MK
pero el ESK0
aún debe permanecer en el sistema? ¿Cuál es el propósito de ESK1
entonces?
Gracias por cualquier ayuda.