OpenPGP Master Key Size

5

Actualmente, el tamaño de clave máximo predeterminado es 4096. Sé que esto se puede cambiar al compilar el software, y no me importa hacerlo.

Mi problema es sobre problemas de compatibilidad. Tiene sentido que algunas implementaciones no tengan / puedan tener problemas para admitir claves de 8k o 16k.

Sin embargo, he oído hablar de subclaves. No quiero que mis claves de cifrado / firma "del día a día" sean incompatibles con los demás. También es probable que esas subclaves tengan una fecha de caducidad.

Una "clave de firma maestra" (es decir, su identidad) debería ser lo suficientemente segura para toda la vida, porque lo ideal es que nunca quiera cambiarla, ¿verdad?

Estoy considerando usar claves 4k para el cifrado y la firma de documentos, y una clave 8k + como "clave maestra". Eso significa que usaré mi llave maestra solo para firmar mis propias llaves y las de otras personas. Eso debería estar bien, ya que mi binario gpg2 soportaría 8k + claves. ¿Es eso una suposición correcta?

Sin embargo, también necesito que otras personas firmen mi clave. Y ahí es cuando podrían surgir problemas. ¿Una implementación predeterminada podría firmar claves de 8k +?

¿Te has perdido algo? ¿Considerarías que es una buena manera de comenzar a usar OpenPGP?

    
pregunta Xaqq 02.04.2014 - 06:29
fuente

3 respuestas

5
  

Una "clave de firma maestra" (es decir, su identidad) debería ser lo suficientemente segura para toda la vida, porque lo ideal es que nunca quiera cambiarla, ¿verdad?

Sí, esa es la idea.

  

Estoy considerando usar claves 4k para el cifrado y la firma de documentos, y una clave 8k + como "clave maestra". Eso significa que usaré mi llave maestra solo para firmar mis propias llaves y otras teclas de ppls.

También la ruta a la que iba, y estaba bien con eso hasta ahora.

  

[...] como mi binario pgp2 soportaría 8k + teclas. ¿Es eso una suposición correcta?

No sé de pgp2 , pero si estás hablando de gpg2 , es decir, GnuPG versión 2: sí, si es lo suficientemente nuevo. Y esto incluye todas las versiones de los últimos años.

  

Sin embargo, también necesito que otras personas firmen mi clave. Y ahí es cuando podrían surgir problemas. ¿Una implementación predeterminada podría firmar claves de 8k +?

En teoría, esto no debería importar, ya que otros usuarios simplemente firman su clave y la huella digital de ID de usuario con su propia clave. Pero al final, la implementación tendrá que entender lo que está firmando (por ejemplo, para mostrar la cadena de ID de usuario) y puede fallar para claves grandes. ¿Para qué usarás la llave? La mayoría de las personas en el mundo del software libre utilizan GnuPG, que soporta teclas grandes desde hace mucho tiempo (¿alguna vez fue limitado?). Si tiene que lidiar con algunos negocios con versiones realmente antiguas de PGP, puede que tenga que pensar un poco más sobre la compatibilidad.

  

¿Te has perdido algo? ¿Considerarías que es una buena manera de comenzar a usar OpenPGP?

Incluso si está utilizando subclaves más pequeñas, el "otro" cliente / usuario debe admitir esas teclas grandes para verificar su clave principal. ¡También recuerda que la ganancia real en la fuerza de la clave no es lineal al tamaño de la clave RSA!

La creación de claves grandes como 8K RSA ya no requiere volver a compilar GnuPG en la mayoría de los sistemas y desde hace bastante tiempo. Creo que creé el mío utilizando la generación de claves por lotes.

Reuní una lista de ventajas y desventajas de teclas grandes en SuperUser , y también doy referencias a otras referencias. Esta respuesta sobre el propósito de múltiples claves también puede ser interesante, aunque parece que ya está al tanto de las implicaciones. y posibilidades utilizando subclaves.

    
respondido por el Jens Erat 02.04.2014 - 10:13
fuente
2

Su "clave maestra" tiene valor solo en la medida en que su parte pública se puede usar para verificar que se firmó con ella; Y esto incluye a otras personas. Por ejemplo, su "clave maestra" es su último recurso para revocar subclaves. Entonces, si le importa la interoperabilidad, entonces no puede hacer que la llave maestra sea tan grande como quisiera, incluso si su su binario GnuPG ha sido compilado con el soporte adecuado.

Por supuesto, otras personas podrían usar sus subclaves solamente, pero ¿cuál sería el punto de la llave maestra entonces? Si la gente tiene que confiar en sus subclaves por medios fuera de banda, sin llegar a su clave maestra, entonces las subclave son realmente claves maestras por derecho propio. Si desea que las subclaves sean realmente "sub" y que la clave maestra sea la "maestra", entonces tiene que usar una clave maestra que otras personas puedan usar (es decir, verificar las firmas hechas con la clave privada maestra). / p>

Como el estándar dice:

 * OpenPGP does not put limits on the size of public keys.  However,
   larger keys are not necessarily better keys.  Larger keys take
   more computation time to use, and this can quickly become
   impractical.  Different OpenPGP implementations may also use
   different upper bounds for public key sizes, and so care should
   be taken when choosing sizes to maintain interoperability.  As of
   2007 most implementations have an upper bound of 4096 bits.

La primera oración es técnicamente incorrecta, porque el formato para los enteros grandes se usa en OpenPGP (el " MPI ") funciona" solo "hasta 524280 bits (que aún es bastante grande). El punto importante es que en 2007, utilizando una clave de más de 4096 bits, se incurrió en el riesgo de problemas de interoperabilidad. Dado el ritmo al que las personas, en su conjunto , actualizan su software, sería excesivamente optimista suponer que se pueden usar claves más grandes en todas partes en 2014.

En cuanto al rendimiento, rara vez es importante para los correos electrónicos, ya que los correos electrónicos se realizan a un ritmo humano, por lo que el uso de un algoritmo "lento" no es un gran problema, siempre y cuando ocurra en menos de un segundo. Las implementaciones RSA habituales son de tamaño de clave cúbica, lo que significa que firmar con una clave de 4096 bits será 64 veces más lento que firmar con una clave de 1024 bits; por lo tanto no quieres usar llaves realmente grandes. Sin embargo, los problemas de interoperabilidad lo afectarán mucho antes que los problemas de rendimiento.

En este momento, en abril de 2014, nunca se ha roto públicamente una clave RSA de 1024 bits correctamente generada. Los académicos han trabajado mucho en el tema y han llegado a la conclusión de que romper una clave de 1024 bits es posible con la tecnología existente, pero implica la creación de una máquina dedicada con una arquitectura muy específica, a un costo de varias docenas de millones de dólares (incluso si la fuerza laboral es "gratuita", es decir, estudiantes de doctorado). En ese sentido, el RSA de 1024 bits se encuentra en una situación que recuerda a lo que era el DES de 56 bits a principios de los años ochenta. Teclas más grandes, por ejemplo, 1536 bits, están mucho más allá de la tecnología actual basada en la Tierra. Incluso con una predicción muy optimista de los avances tecnológicos, las claves RSA de 2048 bits deberían estar bien durante al menos 30 años, probablemente más.

Las claves de 4096 bits son excesivas, y pueden justificarse "racionalmente" solo como una forma de silenciar su propia paranoia. Las claves de 8192 bits son simplemente erróneas.

Ahora, por supuesto, uno puede imaginar que podría haber un avance matemático , en la forma de un matemático medio enloquecido de una ubicación remota de la que nunca ha oído hablar, encontrar un ingenioso y forma eficiente de resolver la factorización de enteros . Esto es altamente especulativo. Creer que una clave más grande aún frustraría ese hipotético método de ruptura está amontonando especulaciones sobre la especulación: no es una forma sensata de evaluar los riesgos. De hecho, los médicos ya han creado un método eficaz para romper RSA, llamado computadora cuántica . Afortunadamente (¿o no?), La construcción de un control de calidad funcional de tamaño no ridículo parece bastante difícil. Sin embargo, el punto importante aquí es que una clave RSA de 8192 bits no es realmente más fuerte que una clave RSA de 2048 bits cuando el atacante tiene un QC.

Recuerde que la seguridad es un campo que lo abarca todo. Que uses OpenPGP con teclas grandes no significa que los atacantes estén obligados para atacarte a ti solo al romper tu clave. Atravesar la puerta y plantar una cámara de video oculta en su apartamento son maneras efectivas y mucho más baratas de espiarlo. Si sus secretos son lo suficientemente interesantes como para merecer la atención de los malos, entonces usarán métodos físicos de espionaje que se sabe que funcionan, se han utilizado durante siglos y tienen un costo moderado; Las claves RSA más grandes no le cambiarán nada.

(Por otro lado, el uso de llaves RSA increíblemente grandes puede enviar la señal de que eres un crackpot poco realista, y que se te clasifique como "tonto inofensivo" es una buena manera de evadir un examen profundo. Esto podría funcionar.) >     

respondido por el Tom Leek 02.04.2014 - 15:17
fuente
1

Hice una clave de firma maestra de 16384 bits con subclaves de 4096 bits usando una versión modificada de GnuPG hace aproximadamente una semana. Luego lo importé a una versión de prueba de Symantec Encryption Desktop (anteriormente PGP Desktop). La clave (y todas sus subclaves):

  1. no cifrará, firmará ni descifrará nada.
  2. no se puede cambiar la contraseña.
  3. no puede modificar las preferencias (como los algoritmos de cifrado, hash y compresión)

De hecho, no se puede hacer nada con la clave.

En cuanto al uso de una versión normal de GnuPG, algunas operaciones darán errores fuera de la memoria. Tenga en cuenta que tener una gran llave maestra puede inutilizar todas sus subclaves en algunos programas.

    
respondido por el Kevin Li 03.04.2014 - 07:48
fuente

Lea otras preguntas en las etiquetas