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:
- El Cliente envía su certificado, datos aleatorios y una firma de esos datos aleatorios al servidor.
- El servidor verifica la firma de los datos aleatorios usando la clave pública en el certificado.
- El servidor comprueba el período de validez del certificado.
- El servidor comprueba si la CA del certificado es una CA de confianza.
- 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?