Mínimo TLS1.3 Cliente-Hola

1

Actualmente estoy leyendo el Protocolo de seguridad de la capa de transporte (TLS) versión 1.3 .

En la sección 4.2.3 (Algoritmos de firma) dice

  

Los clientes que desean que el servidor se autentique a través de un   El certificado DEBE enviar "signature_algorithms".

¿Es posible establecer una sesión TLS1.3 sin ningún certificado / autenticación? En caso afirmativo, ¿cómo puedo dar instrucciones a un cliente de openssl (a través de la línea de comandos) para que lo haga?

    
pregunta user1511417 08.06.2018 - 13:33
fuente

2 respuestas

2
  

¿Es posible establecer una sesión TLS1.3 sin ningún certificado / autenticación?

Es posible realizar la autenticación sin certificados, pero no es posible realizar ninguna autenticación. Al utilizar PSK, la autenticación del servidor no se realiza con un certificado sino con una clave previamente compartida, es decir, un secreto común conocido entre el cliente y el servidor.

  

En caso afirmativo, ¿cómo puedo indicarle a un cliente de openssl (a través de la línea de comandos) que lo haga?

Con openssl1.1.1 puede iniciar un servidor de la siguiente manera:

# use a 48 byte PSK
$ PSK=63ef2024b1de6417f856fab7005d38f6df70b6c5e97c220060e2ea122c4fdd054555827ab229457c366b2dd4817ff38b 
$ openssl s_server -psk $PSK -cipher TLS13-AES-256-GCM-SHA384 -nocert -accept 2020

Si luego inicia el cliente con el mismo PSK, obtendrá un protocolo de enlace TLS 1.3 exitoso sin certificados involucrados:

$ openssl s_client -psk $PSK -connect localhost:2020 
CONNECTED(00000003)
---
no peer certificate available
---
No client certificate CA names sent
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 195 bytes and written 475 bytes
Verification: OK
---
Reused, TLSv1.3, Cipher is TLS13-AES-256-GCM-SHA384
...
    
respondido por el Steffen Ullrich 08.06.2018 - 16:59
fuente
0

Este requisito dice que el cliente debe especificar qué firma algoritmos admite, para que el servidor pueda realizar el protocolo de enlace correctamente. No requiere que el cliente envíe un certificado de cliente , esta es una parte diferente del protocolo.

Se requiere absolutamente un certificado de servidor como parte del protocolo TLS, al menos para TLS 1.3. Los protocolos más antiguos tenían conjuntos de cifrado anónimos que no utilizaban una clave a largo plazo (es decir, la clave en el certificado) para la autenticidad, lo que daba como resultado que esos conjuntos no tuvieran resistencia a los ataques de intermediarios. Esas suites antiguas ya no están disponibles debido a su inseguridad.

    
respondido por el Polynomial 08.06.2018 - 13:42
fuente

Lea otras preguntas en las etiquetas