Attenzione alla terminologia. I certificati si riferiscono alla crittografia asimmetrica in cui le chiavi vanno in coppia: ogni coppia contiene una chiave pubblica e una chiave privata , che sono due aspetti della stesso oggetto matematico sottostante (che dipende dal tipo di algoritmo). Fondamentalmente, la chiave privata non può essere calcolata dalla chiave pubblica, che è esattamente il motivo per cui la chiave pubblica può essere resa pubblica.
Il certificato contiene la chiave pubblica - solo la chiave pubblica. Quando un client SSL si connette a un server SSL, il server invia il suo certificato al client, ma certamente non la chiave privata corrispondente. Invece, il server utilizza la sua chiave privata per eseguire un'operazione che solo il server può eseguire (poiché tale operazione richiede la chiave privata e la chiave privata è privata).
Allo stesso modo, quando un client SSL si connette a un server SSL e il server richiede un "certificato client", significa in realtà che il client invierà il proprio certificato (con la chiave pubblica del client) e dimostrerà la sua padronanza della chiave privata corrispondente eseguendo un'operazione che può essere eseguita solo con la chiave privata (ma può essere verificata con la chiave pubblica); questa è una firma .
Nel tuo scenario previsto, un client C si connette a un primo server S 1 e S < sub> 1 invia a C una copia del suo certificato. Quindi C si connette a un secondo server S 2 che richiede un "certificato client". C può inviare il certificato ricevuto da S 1 , ma non andrà lontano perché C non non ha accesso alla chiave privata corrispondente: quella chiave non ha mai lasciato il server S 1 , il client non ha accesso ad esso. Pertanto, C non sarà in grado di completare l'autenticazione con il server S 2 .
I contrassegni extra esatti nel certificato (autorizzazione client, autenticazione server ...) sono solo restrizioni supplementari sull'utilizzo dei certificati, ma non sono la base della sicurezza crittografica qui. Ciò che importa è che un certificato contenga solo una chiave pubblica, non la chiave privata corrispondente.