Autenticación del cliente durante TLS / SSL y ataques de reproducción

1

He encontrado esta explicación sobre cómo funciona una autenticación de cliente durante SSL- Apretón de manos . Entonces, de acuerdo con Oracle, la autenticación del cliente funciona de la siguiente manera:

  1. El Cliente envía su certificado, datos aleatorios y una firma de esos datos aleatorios al servidor.
  2. El servidor verifica la firma de los datos aleatorios usando la clave pública en el certificado.
  3. El servidor comprueba el período de validez del certificado.
  4. El servidor comprueba si la CA del certificado es una CA de confianza.
  5. El servidor usa la clave pública de la CA para verificar la firma en el certificado.

Después de estos cinco pasos, el usuario se autentica.

Pregunta: Si un atacante obtiene el certificado de usuario, los datos aleatorios y la firma de esos datos aleatorios, ¿puede el atacante iniciar un ataque de repetición?

Creo que los datos aleatorios deben ser chellange para evitar un ataque de repetición. Entonces, ¿cuál es la forma común de autenticar a un usuario utilizando un certificado de cliente?

    
pregunta MuratAbi 23.02.2017 - 16:15
fuente

1 respuesta

2

Creo que no entendiste completamente cómo funciona la autenticación del cliente y el artículo que cites lo describe solo de una manera simplificada. Para citar de este artículo:

  

El protocolo SSL requiere que el cliente cree una firma digital mediante la creación de un hash de una sola vía a partir de los datos generados aleatoriamente durante el protocolo de enlace y conocidos solo por el cliente y el servidor.

La parte de importación es que estos no son datos aleatorios generados solo por el cliente sino que esa parte de los datos aleatorios son generados por el cliente y otros datos aleatorios son generados por el servidor. O para decirlo más correctamente: el cliente firma todos los mensajes enviados y recibidos hasta el momento con su certificado. Estos mensajes incluyen, entre otros, también datos aleatorios de 256 bits generados por el cliente y otros datos aleatorios de 256 bits generados por el servidor. Consulte la sección 7.4.8 de la RFC 5246 (TLS 1.2)

para obtener más información.

  

Si un atacante obtiene el certificado de usuario, los datos aleatorios y la firma de esos datos aleatorios, ¿puede el atacante iniciar un ataque de repetición?

Dado que la firma en el mensaje CertificateVerify también depende de los datos aleatorios generados por el servidor, solo se puede realizar un ataque de repetición si el servidor usaría los mismos datos aleatorios en un apretón de manos como en un apretón de manos previamente detectado por el atacante. Pero esto solo puede suceder si el generador aleatorio en el servidor está gravemente dañado o si el atacante es extremadamente afortunado porque la probabilidad de que el servidor use exactamente el mismo número aleatorio de 256 bits que en un protocolo anterior es casi cero.

    
respondido por el Steffen Ullrich 23.02.2017 - 16:42
fuente

Lea otras preguntas en las etiquetas