¿Selección de curva en ECC para openssl 1.0.1?

2

Estoy usando ambas versiones de openssl 1.0.1 y openssl 1.0.2: en openssl 1.0.2 tiene una función que es establecer la curva de preferencia más alta automáticamente.

Pero, en openSSL 1.0.1 no hay ninguna función para establecer la curva de preferencia más alta automáticamente.

Tengo que configurar la curva manualmente. No tengo mucho conocimiento de ECC, así que ¿alguien puede guiarme sobre qué curva es mejor y más segura?

#if OPENSSL_VERSION_NUMBER >= 0x1000200fL

      /* Set automatic curve selection for server ssl to onoff.If onoff is 1 then 
      the highest preference curve is automatically used for ECDH temporary keys 
      used during key exchange. */
      (void)SSL_set_ecdh_auto(ssl, 1);

#elif OPENSSL_VERSION_NUMBER < 0x1000200fL


      sECDH = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);    //  secp256r1 curve - referred as prime256v1
      (void)SSL_set_tmp_ecdh(ssl, sECDH);

#endif

¡Gracias!

    
pregunta Devang Kubavat 03.10.2016 - 13:45
fuente

2 respuestas

1

Respuesta corta: secp256r1 secp384r1 y secp521r1 son todas buenas opciones conservadoras. secp256r1 actualmente tiene una mejor compatibilidad con los navegadores que los demás, para más detalles, consulte esta pregunta .

Si sus clientes están actualizados (también conocidos como navegadores modernos), recomendaría curve25519 . Fue inventado por Daniel J. Bernstein (un profesor universitario que es famoso en el mundo de la criptografía) y fue muy transparente en cuanto a cómo obtuvo los números aleatorios, por lo que no hay posibilidades de que haya puertas traseras del gobierno en esa curva. También tiene un mejor rendimiento que las curvas NIST P- * [wikipedia]

Pero en realidad, cualquier cosa respaldada por openssl está bien a menos que seas una organización militar o un banco, en cuyo caso, ¡deja de publicar aquí y contrata a un experto en seguridad!

    
respondido por el Mike Ounsworth 31.01.2017 - 21:11
fuente
-1

Esto hace que se pregunte aquí con bastante frecuencia, pero probablemente el más adecuado para usted es: ¿Qué curva elíptica debo usar?

    
respondido por el Matthew Kosmoski 03.10.2016 - 17:00
fuente

Lea otras preguntas en las etiquetas