¿Cuáles son las ventajas de las "subclaves" de OpenPGP?

3

Estoy tratando de comenzar con el cifrado OpenPGP. Entiendo el concepto de mantener segura su clave maestra, y usar otras claves firmadas por esa clave (que pueden revocarse si se las roban) para el cifrado y otro uso diario. Pero estoy confundido por la implementación de subclaves específicamente. ¿No se puede hacer esto fácilmente sin el concepto de subclaves? ¿Las subclaves realmente lo hacen más fácil? Específicamente, el wiki de Debian dice :

  

Las subclaves son como un par de claves separadas, pero se asocian automáticamente   con su par de teclas principal.

Por lo que puedo decir, "asociado con" aquí simplemente significa que se agrupan automáticamente en la interfaz de usuario, para comodidad del usuario, pero podría lograr la misma seguridad simplemente creando pares de claves adicionales por separado y firmándolos con mi primera llave ¿Esto es correcto?

El wiki continúa:

  

El par de llaves maestras es bastante   importante .... Debe mantener su clave maestra privada muy, muy segura. Sin embargo,   mantener todas sus llaves extremadamente seguras es un inconveniente ...

     

Las subclaves facilitan esto ... Usarás las subclaves para descifrar y   firmando mensajes ... Tendrá que usar las llaves maestras solo en excepcionales   circunstancias.

Entonces ... ¿el propósito de las subclaves es animar al usuario a crear claves separadas para propósitos separados, y almacenarlas y usarlas por separado?

Pero la interfaz de usuario de GnuPG y varias GUI de administración de claves que he usado hacen exactamente lo contrario. Agrupa las claves con sus subclaves, supone de forma predeterminada que desea copiarlas o moverlas juntas, y no siempre deja claro qué clave de un conjunto se está utilizando. Una clave completamente separada sería más adecuada para este propósito que una subclave, ¿no?

¿Me estoy perdiendo algo? ¿Por qué las subclaves "se asocian automáticamente con su par de teclas principal" (y se asocian bastante), si su propósito es alentar al usuario a disociarlas de su par de teclas principal?

    
pregunta Josh 12.02.2016 - 19:26
fuente

1 respuesta

3
  

Por lo que puedo decir, "asociado con" aquí simplemente significa que se agrupan automáticamente en la interfaz de usuario, para comodidad del usuario, pero podría lograr la misma seguridad simplemente creando pares de claves adicionales por separado y firmándolos con mi primera llave ¿Esto es correcto?

Considere una clave OpenPGP (primaria) una identidad, vinculando las ID de usuario, subclaves y certificaciones. Si las personas desean comunicarse con usted, seleccionan esta clave principal y no tendrán que preocuparse por ningún otro detalle.

Si prepara la especificación de OpenPGP , se dará cuenta de la implementación de la Subkey Signature Binding Signature 0x18 es muy similar a lo que describió: genera otro par de teclas (que para las subclaves se designa como tal, pero por lo demás no muy diferente de las claves primarias), y vincúlela a la clave primaria mediante una firma (pero una especial, que se define como vinculante de la subclave).

Al no usar múltiples claves primarias y firmas "normales", OpenPGP le permite ocultar prácticamente los detalles detrás de las subclaves. Para uso normal, no importa si una subclave cambió. Si te importa, puedes echar un vistazo más de cerca a la clave y sus subclaves, pero no tienes que hacerlo.

Entonces, sí, puede lograr la misma seguridad con claves separadas, pero perdiendo gran parte de la comodidad y facilidad de uso de las subclaves.

  

Pero la interfaz de usuario de GnuPG y varias GUI de administración de claves que he usado hacen exactamente lo contrario. Agrupa las claves con sus subclaves, supone de forma predeterminada que desea copiarlas o moverlas juntas, y no siempre deja claro qué clave de un conjunto se está utilizando. Una clave completamente separada sería más adecuada para este propósito que una subclave, ¿no?

De hecho, la interfaz de usuario a menudo carece de aquí. Pero tenga en cuenta que el uso de claves primarias sin conexión ya es un uso muy avanzado de OpenPGP / GnuPG, y sin un cierto conocimiento de OpenPGP y las herramientas que está utilizando, tendrá problemas al usar dichas claves, de todos modos.

Para crear una clave de este tipo, por lo general solo se mudaría a todo el directorio de inicio de GnuPG, que mantendrá especialmente seguro y fuera de línea. Genere subclaves según sea necesario y exporte esas subclaves utilizando gpg --export-secret-subkeys [subkey-id]! (también puede definir múltiples). Tenga en cuenta el signo de exclamación ! después de la ID de la clave; de lo contrario, GnuPG resolverá la ID de la clave con la ID de la clave principal. Importe la clave secreta exportada a su directorio principal de GnuPG del día a día.

Considere esto como un intercambio entre el manejo de claves más fácil para el propietario de la clave (aprovechando las funciones avanzadas de OpenPGP) y el manejo de claves más fácil para otros usuarios (que a menudo tendrá menos confianza con la tecnología en uso).

    
respondido por el Jens Erat 12.02.2016 - 21:45
fuente

Lea otras preguntas en las etiquetas