TLS negozia una versione ciphersuite e TLS da utilizzare durante l'handshake. Conferma che la stretta di mano non è stata manomessa e la versione di ciphersuite e TLS non è stata sottoposta a downgrade utilizzando le crittografie negoziate, come spiegato qui . Tuttavia, questa verifica si basa sui cifrari negoziati sull'handshake, quindi se i cifrari scelti dall'attaccante fossero sufficientemente deboli da rompersi rapidamente, potrebbe essere in grado di inviare anche questi messaggi di conferma.
La mia domanda è, perché il server non usa la sua chiave privata per firmare la sua versione ciphersuite e TLS (e timestamp di validUntil) in modo che il client possa rilevare gli attacchi di downgrade? Mentre il client non ha la chiave pubblica al momento, la firma può essere mantenuta dal client fino a quando il certificato non viene convalidato e quindi verificato. Perché questo non viene fatto dal protocollo TLS?