In TLS il client annuncia quale tipo di cifrari supporta all'interno di ClientHello e il server preleva un cifrario da questi che è supportato anche sul server. Mentre non è possibile interrogare le crittografie del server direttamente dal lato client, è sufficiente prendere tutti i codici noti, costruire un ClientHello con ciascuno di questi e verificare come reagisce il server a questo ClientHello, cioè se il server accetta o meno il codice.
Combinando in modo intelligente più cifrari in ClientHello si può accelerare questo processo e anche determinare quali crittografie il server preferisce rispetto agli altri (ad esempio l'ordine di cifratura). E questo è esattamente ciò che SSLLab sta facendo per determinare i codici e anche per ottenere le versioni supportate del protocollo SSL / TLS e altre funzionalità del server.
Also, I noticed that SSLLabs only sends one request to the server.
Se si esamina il registro di accesso del server Web, verranno visualizzate solo le richieste HTTP (S). Ma la maggior parte dei test eseguiti dallo scanner SSLLabs non risulta in una richiesta HTTP completata. Invece si fermano già nel bel mezzo di una stretta di mano TLS. Queste richieste non verranno mostrate nel log di accesso del server web, ma le vedrai se stai facendo un'acquisizione di pacchetti.