¿Es segura una clave RSA de 512 bits cuando se usa temporalmente?

4

¿Es segura una clave RSA de 512 bits cuando se genera y utiliza una nueva clave aproximadamente una vez por semana? La clave solo se utiliza para firmar mensajes, no para cifrar datos confidenciales.

Esto es para un sistema donde hay muchas conexiones p2p de vida extremadamente corta (piense en un paquete UDP como una solicitud, y en una como respuesta), y la sobrecarga de 1024 o incluso 2048 bits RSA es muy alta.

    
pregunta orlp 07.01.2013 - 21:39
fuente

3 respuestas

9

Para firmar solo, una clave RSA de 512 bits debe resistir al menos unos días, más probablemente unas pocas semanas, incluso contra determinados atacantes. Esto sigue siendo "razonable" siempre que verifique la firma "pronto". Puede imaginar que desde el momento en que se hizo pública la clave pública, tiene unos minutos, en las mejores horas de seguridad, después de lo cual debe considerar que la clave está vencida y se niega a confiar en firmas calculadas con esa clave.

Sin embargo, encuentro su caso de uso un poco dudoso. La generación de las claves RSA será bastante costosa con respecto al cálculo de una firma. Si te preocupa el tamaño de la firma , deberías investigar DSA o sus variantes de curva elíptica. ECDSA con una curva de 160 bits utilizará firmas de 320 bits (bastante más pequeñas que las firmas de 512 bits para RSA-512) mientras que es sustancialmente más fuerte (ECDSA con una curva de 160 bits aún está más allá de lo tecnológicamente posible) y seguirá siendo competitivo con respecto al uso de la CPU.

Además, la parte difícil de la criptografía asimétrica es la distribución de claves (de eso se trata PKI ); Si genera muchas claves, solo hará que esa parte sea más difícil.

    
respondido por el Thomas Pornin 07.01.2013 - 21:48
fuente
3

El tiempo no es tan importante. La pregunta es cuánto dinero está dispuesto a gastar el atacante. Por lo que escuché, romper RSA 512 actualmente cuesta entre 75 y 150 dólares y 30 horas usando la computación en la nube.

Tenemos una pregunta muy similar en crypto.SE: ¿El RSA de 512 bits sigue siendo seguro para la generación de firmas?

¿Pero has considerado usar criptografía de curva elíptica? Por ejemplo, la implementación de Curve25519 en NaCl puede hacer > 10000 intercambios de claves por segundo en una computadora moderna. No firma, pero utiliza cifrado autenticado, que normalmente funciona bien en un esquema de solicitud-respuesta. Si intercambias varios mensajes con la misma persona, puedes almacenar en caché el resultado del intercambio de claves y autenticarlos todos. Si realmente necesitas firmar, puedes usar Ed25519 que tiene un rendimiento bastante similar.

    
respondido por el CodesInChaos 07.01.2013 - 21:49
fuente
2

La métrica general es que el espacio clave debe ser lo suficientemente grande como para que la clave no pueda adivinarse en el momento en que se debe proteger la transmisión.

Me temo que no sé de antemano cuál es el tiempo promedio para la fuerza bruta de una clave RSA de 512 bits con las computadoras actuales ... pero ese es el valor que estaría buscando, y luego compárelo con el tiempo que necesita la verificación de integridad para ser viable. Por ejemplo, si la verificación de integridad solo es importante durante la vida de una conexión (minutos), entonces puede estar bien, pero si la verificación de integridad se encuentra en un mensaje que se almacena y luego se verifica y confía, una vez que finaliza la semana, su validez clave es en realidad más de una semana y usted (probablemente) necesita un espacio clave mayor.

    
respondido por el bethlakshmi 07.01.2013 - 21:49
fuente