Perché l'autenticazione del client non viene eseguita attraverso KeyExchange come con il server, ma attraverso un messaggio CertificateVerify ?
EDIT: per essere più chiari:
Quando si utilizza lo scambio di chiavi RSA, il client crittografa il materiale chiave con la chiave pubblica del server in modo che solo il server reale (che ha la chiave privata) possa decrittografarlo. [ RFC5246: 7.4.7.1 ] Perché il client non firma anche la chiave materiale con la sua chiave privata quando si utilizza l'autenticazione client?
Quando si usa lo scambio di chiavi Diffie-Hellman il server firma i suoi parametri chiave usando la sua chiave privata per dimostrare che ha la chiave privata (e quindi è il vero server). [ RFC5246: 7.4.7.2 ] Perché il client non firma anche i parametri quando si utilizza l'autenticazione client?
Invece di questi metodi (penso più logici), il client invia un messaggio CertificateVerify con una firma su tutti i messaggi di handshake. Perché viene scelto questo metodo?
EDIT: si applica solo ai certificati con capacità di firma, perché con es. l'autenticazione del client dei certificati DH statici è eseguita durante KeyExchange. [ RFC5246: 7.4.8 ]