¿Por qué GPG / PGP utiliza de forma predeterminada diferentes claves para firmar / cifrar?

22

Si crea una nueva clave GPG, obtendrá de forma predeterminada un par de claves maestras de solo firma y un par de subclaves de solo cifrado.

pub  2048R/XXXXXXXX  created: 2013-02-09  expires: 2014-02-09  usage: SC  
sec  2048R/XXXXXXXX           2013-02-09 [expires: 2014-02-09]

sub  2048R/ZZZZZZZZ  created: 2013-02-09  expires: 2014-02-09  usage: E
ssb  2048R/ZZZZZZZZ           2013-02-09 [expires: 2014-02-09]  

(Salida combinada de gpg --list-keysy gpg --list-secret-keys)

También se recomienda no usar su clave maestra para la firma regular (de correos / datos), sino crear otra subclave de solo firma y eliminar / hacer una copia de seguridad de su clave maestra en una ubicación segura y fuera de línea solo para usarla para la firma de la clave .

Esto tiene sentido ya que la mayoría de los puntos finales de cifrado son computadoras portátiles / teléfonos u otros dispositivos móviles siempre en línea que ponen sus claves privadas en riesgo de robo o pérdida. Con una clave maestra almacenada de forma segura, siempre puede revocar esas subclaves perdidas y nunca perder sus firmas de clave.

Entonces, aunque la separación de la subclave de la clave maestra <-> es clara para mí, no entiendo por qué existe este énfasis en separar las claves de firma y cifrado (incluso si ambas son subclaves). ¿Alguien puede explicar por qué esto es necesario o al menos cuál es la ventaja desde una perspectiva práctica o de seguridad?

Técnicamente, es completamente factible y compatible con GnuPG para crear una subclave de cifrado y firma.

pub  2048R/YYYYYYYY  created: 2013-08-13  expires: 2014-08-13  usage: SCEA
sub  2048R/VVVVVVVV  created: 2013-08-13  expires: 2014-08-13  usage: SEA 
Caos_99
fuente
2
Hay una buena respuesta a esta pregunta en Security.SE en caso de que alguien esté interesado.
GnP

Respuestas:

9

En el Reino Unido, la Ley de Regulación de Poderes de Investigación de 2000 dice

49 (9) Un aviso bajo esta sección no requerirá la divulgación de ninguna clave que:

(a) está destinado a ser utilizado con el único propósito de generar firmas electrónicas; y

(b) de hecho no se ha utilizado para ningún otro propósito.

... lo que significa que, en algunas circunstancias, el gobierno del Reino Unido puede obligarlo a entregar su clave de descifrado (si es residente) pero no puede suplantarle su clave de firma.


fuente
1
Interesante ... esto también se aplicaría a las claves privadas de Bitcoin (solo se usa para firmar, no para cifrar).
Jonathan Cross
... y parece que esta exención se mantiene en vigencia en la ley de 2016 .
8

No sé específicamente por qué GPG / PGP hace lo que hace, pero una posible motivación para este tipo de cosas es la recuperación ante desastres. Es posible que desee entregar una copia de su clave privada de cifrado a un amigo muy cercano y confiable, por lo que, si un meteorito golpea su casa, aún puede leer sus mensajes antiguos que están guardados en la nube. (Del mismo modo, es posible que deba entregar su clave de cifrado 1 a su jefe, para que pueda leer su correo electrónico después de que se vaya).

Pero no hay razón para que nadie más tenga una copia de su par de claves de firma.
________________
1  "es posible que deba entregar su clave de cifrado" a alguien; consulte la respuesta de TEV .

Scott
fuente
2

La respuesta simple es que cuanto más use una clave, más información se filtrará sobre la clave.

Usted utiliza una clave de firma para autenticar que confía en una clave y por inferencia al propietario, pero lo más importante es que sus comunicaciones provienen de usted. Esto se llama no repudio .

Por razones de argumento, digamos que usar una clave 10000 veces significa que se pierde toda la información necesaria para que alguien pueda reconstruir esa clave. El uso de una clave> 9999 veces significaría que otra persona podría hacerse pasar por usted y transmitir su firma de confianza a la clave o documento de un tercero malvado, haciendo que toda su red de confianza crea que esta parte es usted o que el documento proviene de usted.

Sin embargo, si también está encriptando con esa misma clave, el umbral se alcanza más rápidamente.

Para evitar esa molestia potencial, se crea una segunda clave, que se usa solo para el cifrado / descifrado, que solo se usa para cifrar datos como usted. Una vez que esta clave se haya usado 9999 veces, puede expirar esta clave sin perder toda la confianza que entregó con su clave de firma válida. Vuelve a escribir, genera una nueva clave de cifrado y la firma con su clave de firma para mostrar que se trata de una clave de cifrado confiable que todos pueden verificar.

EDITAR:

Al volver a leer lo que escribí anteriormente y el Manual de privacidad de GNU , mi conclusión es que subes una clave privada y pubdebe ser una clave pública. @GnP esta respuesta:

" The keyword pub identifies the public master signing key, and the keyword sub identifies a public subordinate key."

Daniël W. Crompton
fuente
Supongo que para la mayoría de las personas la clave de firma se usa con mucha más frecuencia que la clave de cifrado, ya que casi todos los correos se firmarán, pero solo algunos se cifrarán. En este caso, gpg-default es la forma incorrecta, como encr. la clave es fácil de cambiar mientras que la clave de firma no lo es.
Chaos_99
Como generalmente se encripta con la clave pública de otra persona, esto suena algo lógico, y probablemente hay buenas razones para esto de las que actualmente no estoy al tanto.
Daniël W. Crompton
Tienes razón. Intercambie "cifrado" con "descifrado" en mi comentario. Pero el punto sigue siendo válido. Firmas más seguido que descifras. Hice esta pregunta para conocer exactamente las "probablemente buenas razones" que mencionó.
Chaos_99
1
Tanto el maestro como la subclave son pares de claves válidos con clave pública y privada. La abreviatura para el maestro privado es 'sec', para la subclave privada 'ssb'. Ambos se pueden ver con gpg --list-secret-keys. Los listados anteriores muestran solo las claves públicas devueltas por gpg --list-keys.
Chaos_99
1
"cuanto más utiliza una clave, más información se filtra sobre la clave" ¿tiene una fuente para ese reclamo?
GnP
0

Si crea una nueva clave GPG, obtendrá de forma predeterminada un par de claves maestras de solo firma y un par de subclaves de solo cifrado.

Los mensajes pueden ser:

  • sin firmar y sin cifrar
  • firmado y sin cifrar
  • sin firmar y encriptado
  • firmado y encriptado

y hay usos para cada uno de esos casos, dependiendo de lo que intente lograr con la firma y el cifrado.

Si al firmar está estableciendo identidad / respaldo, y al encriptar está haciendo que los mensajes sean privados, el poder encriptar pero no firmar le permite enviar un mensaje privado que no está necesariamente asociado con su identidad o respaldado por usted. Desearía llaves separadas en este caso.

LawrenceC
fuente
2
Corrígeme si me equivoco, pero creo que, cuando encriptas un mensaje, usas la clave (pública) del destinatario , por lo que, una vez que deja tus manos, no se te puede rastrear. Su clave de cifrado es para que otros le envíen mensajes cifrados.
Scott
@Scott sí, pero la mayoría de las personas generalmente también tienen un conjunto de claves predeterminado para que puedan leer lo que esté en su bandeja de salida y, por lo general, especificar una firma predeterminada. Aunque en esos casos, la ID de la clave maestra / certificación se usa para seleccionar la subclave correcta.
Ben