Combinaciones de intercambio de claves y algoritmo de firma en TLS

1

Digamos que uno no confía en ECC mucho , y valora la confidencialidad sobre la autenticidad (tal vez simplemente por la razón de que MitM es más difícil que la escucha y descifrado pasivos más adelante). En este caso, se podría usar el DHE clásico para intercambios de claves y ECDSA para firmas.

¿Hay algo problemático al hacerlo? Para tener un alto nivel de cifrado, se usarían grandes parámetros DH (quizás 16k), ya que el intercambio de claves DHE clásico no es computacionalmente costoso, y firmas ECDSA más rápidas en las claves DHE intercambiadas. Además, esta combinación no forma parte de la especificación TLS (que yo sepa), ¿por qué no?

EDITAR: Solo para aclarar, parece que esto no es parte de la especificación, pero estoy buscando respuestas sobre por qué no, o si sería una mala idea desde una perspectiva de seguridad.

    
pregunta user1207217 06.07.2015 - 16:06
fuente

2 respuestas

2
  

Para tener un alto nivel de cifrado, se usarían grandes parámetros de DH (quizás 16k) ya que el intercambio de claves DHE clásico no es computacionalmente costoso,

No puedo darte números difíciles por la velocidad. El comando openssl speed no parece ofrecer el punto de referencia para Diffie-Hellman regular (campo finito).

Esta respuesta ofrece orientación sobre los tamaños prácticos de los parámetros DH:

  

esta combinación no forma parte de la especificación TLS (que yo sepa)

Correcto. No hay una combinación de _DHE_ y _ECDSA en las asignaciones actuales de la suite de cifrado.

$ wget https://www.iana.org/assignments/tls-parameters/tls-parameters.txt
$ cat tls-parameters.txt | grep -i _ecdsa_  | awk '{print $2}' | cut -d _ -f2 | sort | uniq -c
     17 ECDH
     21 ECDHE
    
respondido por el StackzOfZtuff 06.07.2015 - 16:33
fuente
1

El DHE clásico es computacionalmente costoso, al menos en lo que respecta a estas cosas. Esto rara vez importa (una PC normal aún puede hacer cientos de DHE por segundo), pero si se encuentra en una situación en la que el presupuesto de computación es limitado (por ejemplo, los sistemas integrados pequeños), ECDHE es sustancialmente más barato.

En las implementaciones "normales", el costo de DHE es proporcional a p2 r , donde p es el tamaño del módulo, y r es el tamaño del exponente secreto utilizado en DHE. r no necesita ser mayor que, por ejemplo, 256 bits, SI los parámetros DH son tales que el tamaño del subgrupo no tiene factores primos pequeños. Desafortunadamente, TLS no le da ninguna forma al servidor para transmitirle al cliente el tamaño del subgrupo, por lo que un cliente cauteloso necesitará usar un exponente secreto de DH al menos tan grande como el módulo, aumentando el costo a p 3 . Incluso si se puede usar un exponente "pequeño", un DHE con un módulo de 16384 bits será caro (dependiendo del tamaño del exponente secreto, será entre 64 y 512 veces el costo de un 2048 más mundano). módulo de bit DHE). Quizás lo más importante es que un módulo DH de gran tamaño puede no funcionar en absoluto, porque muchas implementaciones tienen limitaciones internas por varias razones de ingeniería.

No hay un conjunto de cifrado definido que combine un DHE clásico y firmas ECDSA. Así que la pregunta puede ser discutible de todos modos. Dichas suites de cifrado podrían definirse conceptualmente; no sería difícil; pero no se ha hecho, por lo tanto, las implementaciones no lo admiten.

    
respondido por el Tom Leek 06.07.2015 - 16:58
fuente

Lea otras preguntas en las etiquetas