Hai alcune buone domande e alcuni fraintendimenti. Proviamo a districarli.
I also have some idea about other benefits (e.g. speed benefits from HTTP/2).
Un altro importante: Search Engine Optimization da quando ricevi GooglePoints per avere TLS. (che tipo alimenta il punto che i webmaster hanno bisogno di incentivi esterni ...)
I suppose because I would also know that the client I'm transacting with is certified and information I send them is encrypted. ... But can't any client [sic] access my website with self-signed certs?
Sì e no, e sì, ... e no. Cerchiamo di districarlo.
L'autenticazione del client TLS (che richiede ai clienti di presentare certificati) è qualcosa che di solito si vede sui server VPN, sui punti di accesso WiFi WPA2 aziendali e sulle intranet aziendali. Questi sono tutti i sistemi chiusi in cui l'amministratore di sistema ha il pieno controllo sui certificati di rilascio agli utenti, e lo usano per controllare quali utenti hanno accesso a quali risorse. Questo non ha senso in un sito Web pubblico ed è sicuramente una configurazione non standard per un server web HTTPS.
Detto questo, ciò che guadagni è questo:
Encrypted TLS session
| Client loads login page
| Client sends username / password
| Client does "logged in things"
In questo modo ottieni maggiore fiducia che l'utente è quello che dicono di essere, poiché il nome utente / la password non vengono più inviati in chiaro, quindi non è più possibile per un uomo-in-the-middle intercettare / modificare / rubare .
Dopo che uno qualsiasi dei dati che il client invia al server o ottiene dal server, è crittografato end-to-end al client. In genere hai ragione: questo protegge il client più del server, ma impedisce a man-in-the-middles di iniettare cose malevoli in file che l'utente carica, iniettando comandi malevoli da eseguire come se provenissero da quell'utente .
But can't any client act unethically and access my website with self-signed certs, etc., claiming to be whoever they like?
Kinda, sì. Per un sito Web pubblico, chiunque può aprire una connessione TLS. Se desideri che gli utenti eseguano l'autenticazione, è necessario disporre di un meccanismo di accesso, TLS in genere non lo fornisce per te (a meno che tu non stia utilizzando il meccanismo cert del client sopra indicato).
But something I was wondering recently was whether the website benefits in a similar way from this transaction.
In sostanza, i vantaggi per il server sono che tutti i dati inviati all'utente saranno visualizzati solo dall'utente desiderato. Se, ad esempio, stai inviando loro copie dei loro rendiconti finanziari, i tuoi avvocati saranno molto felici di sentirlo. Significa anche che tutti i dati ricevuti dall'utente sono in realtà provenire da quell'utente e non da un utente malintenzionato che finge di essere loro.
Se i tuoi utenti legittimi agiscono maliziosamente, beh, questo è un problema diverso, dopotutto, hai scelto per dare loro accesso al sistema. Ciò che TLS (+ il tuo framework di login) fa è garantire che solo utenti legittimi abbiano accesso. Quello che fanno con quell'accesso non è il problema di TLS.