Per prima cosa è necessario tenere a mente ciò che un certificato trasmette. Un certificato valido su un sito HTTPS indica che il sito è originale , non che sia sicuro . Un sito con un certificato valido può essere negativo per molte ragioni:
- Il sito stesso è autentico, ma i proprietari inseriscono contenuti dannosi (deliberatamente o accidentalmente).
- Il sito stesso è autentico e il suo contenuto è valido, ma serve contenuti dannosi attraverso gli annunci.
- Il sito stesso è autentico, ma una vulnerabilità ha permesso agli aggressori di modificarlo per offrire contenuti dannosi.
- Il sito è autentico e non serve malware, ma fornisce dati non corretti per qualsiasi motivo.
Oltre a garantire che il sito sia autentico, un certificato valido garantisce anche che la connessione con il sito sia sicura:
- Il contenuto che vedi è servito dal sito legittimo e ciò che il sito riceve da te è ciò che hai caricato (URL, modulo di inserimento, ecc.).
- Solo tu e il sito conoscete il contenuto dei dati scambiati. (Tuttavia un intercettatore può sapere a quale sito si sta collegando, quale volume di dati si sta scambiando e a volte può fare supposizioni aggiuntive in base alla velocità del traffico.)
Quindi la domanda è: quale di queste proprietà stai cercando? Un certificato HTTPS valido non aiuta con le proprietà di sicurezza, ma se si sa che il sito originale è sicuro, il certificato valido garantisce che il sito a cui ci si connette sia il sito originale e quindi sicuro (presumendo che non abbia appena stato violato).
Se il certificato non è valido, ciò non significa necessariamente che il sito a cui ti stai connettendo sia falso. Dipende. Esistono numerosi falsi positivi intermittenti comuni:
- Il certificato era valido, ma è scaduto. Questo è quasi sempre benigno. I certificati scadono perché possono a volte diventare non validi (poiché la proprietà del dominio è cambiata a causa di una rara svolta crittografica); ma principalmente i certificati scadono perché le società che li concedono vogliono un flusso di reddito costante. Un certificato scaduto non diventa più facile da decifrare durante la notte.
- Il certificato è valido, ma utilizza una variazione del protocollo che il tuo browser non supporta. Quindi a volte può capitare che un sito venga visualizzato correttamente in un browser ma non in un altro.
- Il certificato è valido, ma per una variazione del nome del sito (ad esempio
www.example.com
rispetto a example.com
). Prova con l'altro nome.
- Il certificato viene rilasciato da un'autorità di certificazione che è considerata affidabile da un browser, ma non da un'altra. Ciò può accadere, ad esempio, per un sito intranet firmato da una CA interna all'azienda, che viene aggiunto all'elenco di attendibilità dell'immagine di sistema predefinita per i computer aziendali ma non sui telefoni BYOD.
Puoi vedere i dettagli del certificato per vedere la natura del problema. Ma è difficile da dire. È abbastanza facile controllare la data di scadenza, ad esempio, ma a meno che tu non sappia che il certificato che il sito serve ora è lo stesso che è stato pubblicato prima della data di scadenza, non ti aiuta molto: molti browser non fanno è facile verificare che la data di scadenza sia il problema solo del certificato.
Alla fine, un certificato HTTPS non valido non è peggiore dell'accesso al sito tramite HTTP. Se avessi voluto accedere al sito tramite HTTP, non perderai nulla accedendo su HTTPS con un certificato non valido.
C'è in realtà un vantaggio per HTTPS in presenza di un attaccante passivo - un avversario che può spiare il traffico ma non modificarlo. Un attaccante passivo non può presentare un sito falso o spiare il contenuto anche se il sito non ha un certificato valido. Tuttavia, se il sito ha normalmente un certificato valido, ma ora viene presentato un certificato non valido, questo tende a indicare che qualcosa non va, probabilmente (ma, come abbiamo visto, non necessariamente) un attacco.