Estoy implementando un sistema similar a TLS
, y me gustaría configurar un Finished
de mensaje, para evitar los ataques de reproducción.
Hasta donde entiendo TLS
, contiene un hash en los mensajes de intercambio anteriores, encriptados y firmados con el algoritmo elegido.
El servidor primero construye su marco Finished
, con un hash de todos los mensajes anteriores. Luego se envía al cliente.
¿El cliente tiene que tomar el mensaje Finished
del servidor como "mensaje anterior "? (para calcular un hash)
Porque, de no ser así, el contenido de hash es el mismo que el servidor, pero en un orden diferente (que generará un hash completamente diferente).
Dicen esto en el capítulo sobre el mensaje finalizado :
Todos los datos de todos los mensajes en este protocolo de enlace (no incluyendo cualquier mensaje HelloRequest) hasta, pero sin incluir, este mensaje.
En mi opinión, el cliente tiene que tomar el mensaje Finished
recibido (del servidor) junto con otros mensajes de negociación.