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
masterkeycomo elsubkeyson 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
subkeywithE: 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
masterkeywithSC: 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.