Server + Certificato client vs Certificato server + Password client

2

Esistono tre diversi modi in cui è possibile utilizzare TLS (1.2):

  1. server e client autenticati
  2. solo il server autentica
  3. nessuno dei due autentica

Se né il server né il client si autenticano utilizzando un certificato, la connessione non è protetta dagli attacchi man-in-the-middle (MITM).

La specifica TLS 1.2 dice che la connessione è sicura non appena il server si autentica. E mi chiedo:

  1. Fa alcuna differenza di sicurezza se il client si autentica o meno se il server si autentica?

  2. Se sia il client che il server devono essere autenticati, è importante che il client invii un certificato attendibile nell'handshake o semplicemente invii una password segreta (e strong) come dati dell'applicazione?

posta MinecraftShamrock 30.07.2014 - 19:36
fonte

1 risposta

7

Quando solo il server invia un certificato, ma non il client, la connessione SSL va bene e dandy, ma il server non ha idea di chi stia parlando. Quello che SSL fornisce in quel caso è che il server può essere sicuro che parla allo stesso cliente per tutto il tempo, senza alcuna intercettazione possibile nel mezzo. Se il server deve ancora sapere chi può essere il client, deve essere eseguita un'altra autenticazione aggiuntiva, ad es. il client invia un nome utente + password al server. Ecco come vanno le cose sui soliti siti Web HTTPS.

L'autenticazione client basata su certificato è molto utile quando il client vuole dimostrare la propria identità al server ma non fornisce alcun segreto a quel server. Questo ha davvero senso quando il certificato client è stato rilasciato al cliente da un'autorità di certificazione distinta dal proprietario del server. Se il server stesso fornisce i certificati ai client, l'utilizzo di un certificato client non ha molto vantaggio concettuale rispetto a una semplice autenticazione show-the-password.

(I certificati client possono avere alcuni vantaggi di implementazione: possono essere utilizzati con smart card abilitate ai certificati e dato che la procedura del certificato viene eseguita nell'handshake SSL, evita la necessità di includere un protocollo di autenticazione show-the-password all'interno i dati dell'applicazione.)

    
risposta data 30.07.2014 - 19:52
fonte

Leggi altre domande sui tag