Perché dovrei pagare per un certificato SSL?


62

Ho pagato per un certificato SSL da Namecheap, penso che sia stato certificato da ComodoSSL. Mi è costato 7 $, ci sono voluti una settimana per l'attivazione e ho dovuto farlo da SSH mentre modificavo i file di configurazione del mio sito.

Quindi un amico mi ha fatto conoscere Let's Encrypt che non solo rilascia certificati certificati SSL gratuiti, ma può essere installato eseguendo un singolo comando.

Sono sicuro che mi manca qualcosa qui, ma perché dovrei voler pagare per un certificato SSL quando posso ottenerlo facilmente, gratuitamente, con il rinnovo automatico impostato?


2
Questo è apparso di recente ed è per lo più la stessa domanda: security.stackexchange.com/questions/45491/… La risposta precedentemente convalidata recentemente aggiornata recentemente è ancora valida. Ma in tutte le risposte sono triste vedere nessuno che spieghi le differenze tra prezzi e costi e prezzo vs valore (garanzie e assicurazioni associate - da credere o no, ecc.)
Patrick Mevzek,

Riesco a vedere pagare per uno in cui esiste un caso aziendale per la convalida estesa, ecc. Per avere il nome dell'azienda accanto all'icona del lucchetto, ecc. Da un punto di vista tecnico non c'è motivo reale.
ivanivan,

L'intera risposta può essere riassunta da questa frase dalla risposta di marcelm : "Perché un certificato sia significativo, la CA di emissione deve essere considerata attendibile dai fornitori di software, altrimenti il ​​certificato è inutile". Tutto un certificato è una crittografia convalidata da un terzo festa. Se ritieni che Let's Encrypt non si rovinerà mai e non verrà mai violato, allora ne trarrai valore. Ma la ragione per cui le persone pagano è che sono più vere altre CA. Semplice come quella.
Jake:

"Tutto ciò che un certificato è è una crittografia convalidata da una terza parte" non ha senso. Un certificato non è crittografato, per cominciare, è firmato . @JakeGould
user207421

Sono sorpreso che nessuno lo abbia ancora detto: "passare qualcosa di legittimo quando si prendono di mira le aziende che trattano il sospetto con sospetto" di solito.
Alec Teal,

Risposte:


82

Perché dovrei pagare per un certificato SSL?

Per la maggior parte degli usi, non c'è alcun motivo per pagarli.
Vedi in fondo per un riepilogo delle eccezioni.

Facciamo un passo indietro e spieghiamo cosa fanno i certificati e approssimativamente come.

I cosiddetti "certificati" sono costituiti da due pezzi collegati:

  • Il certificato corretto , che contiene una chiave pubblica e alcuni identificativi (come un nome di dominio).
  • La chiave privata , che consente al titolare (e solo al titolare) di firmare digitalmente i messaggi in modo tale che possano essere verificati utilizzando il certificato sopra.

Se desideri un certificato per yourdomain.com:

  • Crea una coppia di chiavi privata / pubblica e mantieni privata la parte privata.
  • Chiedi a una terza parte affidabile ("CrediCorp") di creare un certificato yourdomain.comcon la tua chiave pubblica.
  • Dimostra in qualche modo a CrediCorp che controlli yourdomain.com.
  • Metti la chiave privata e il certificato ottenuto sul tuo server e configura il web server per usarli.

Quindi, se Alice visita yourdomain.com, il suo browser ottiene il certificato dal tuo server web, insieme a un messaggio firmato dalla tua chiave privata. Quindi il suo browser controlla tre cose:

  • Che il messaggio firmato possa essere verificato dal tuo certificato (dimostrando che è stato firmato dalla corrispondente chiave privata che yourdomain.comdovrebbe avere solo ).
  • Che il dominio del certificato sia il dominio che il browser sta tentando di visitare ( yourdomain.com).
  • Che il certificato provenga da CrediCorp.

La combinazione di queste tre cose garantisce ad Alice che sta effettivamente parlando yourdomain.com, e non a qualche impostore ... A condizione che Alice si fidi di CrediCorp .

(Segue anche un po 'di danza cripto voodoo per trasformare questa autenticità in riservatezza.)

Come fa Alice si fida Credicorp?

Questo è il vero punto cruciale qui. In breve, ad un certo punto CrediCorp ha detto "Ehi, faremo i certificati". Dopo aver fatto molti sforzi seguendo molte regole , sono riusciti a convincere alcune persone che CrediCorp è, in effetti, affidabile, e rilasceranno correttamente i certificati.

In particolare, sono riusciti a convincere i produttori di, diciamo, Firefox. Di conseguenza, CrediCorp ottiene l'elenco A di Firefox e i suoi certificati sono considerati affidabili da Firefox per impostazione predefinita. Quindi, davvero, Alice si fida di Firefox, Firefox si fida di CrediCorp e CrediCorp si fida di te (dopo aver verificato) quando affermi di aver controllato yourdomain.com. È quasi come una catena .

Ma Firefox non si fida solo di CrediCorp per il rilascio di certificati yourdomain.com, ma si fida dei certificati CrediCorp per qualsiasi dominio. E Firefox si fida anche di ShabbyCorp, per qualsiasi dominio.

Questo ha conseguenze. Se qualcuno riesce a convincere ShabbyCorp che controllano yourdomain.com(perché ShabbyCorp non è molto accurato), può ottenere un certificato ShabbyCorp yourdomain.comcon la chiave privata corrispondente. E con quel certificato potrebbero impersonare il tuo server web. Dopotutto, hanno un certificato (più chiave) per yourdomain.comcui è considerato attendibile da Firefox!

CrediCorp e ShabbyCorp sono quelli che vengono chiamati autorità di certificazione , in breve CA. Nel mondo reale, ComodoSSL e Let's Encrypt sono esempi di CA. Ma ce ne sono molti di più; stesura di questo documento, Firefox si fida 154 AC .

Whoa. Ma come risponde alla mia domanda?

Sono ehm, ci arrivo ...

Ecco la cosa. I meccanismi che ho descritto sopra si applicano a tutti i certificati. Se disponi di un certificato attendibile corretto per il tuo sito Web, funzionerà. Non c'è niente di speciale nei certificati di marca A rispetto ai certificati di marca B; sono tutti soggetti agli stessi requisiti CA e alla stessa crittografia matematica.

E anche se ti piace CrediCorp meglio - perché sai, suonano davvero molto più affidabili - usarli non ti aiuterà davvero. Se un utente malintenzionato può convincere ShabbyCorp a fornire loro un certificato per il tuo sito, l'utente malintenzionato può utilizzare quel certificato per impersonare il tuo sito, indipendentemente da dove hai ottenuto il tuo.

Finché Firefox si fida di ShabbyCorp, i visitatori non vedranno la differenza. (Sì, i visitatori potrebbero ritirare il certificato e scavare lì, vedere chi lo ha emesso. Ma chi lo fa?) Per quanto riguarda la falsificazione dei certificati, questo rende l'intero sistema debole quanto il più debole di oltre 150 CA. Perché sì, è spaventoso, ed è probabilmente la più grande critica che la gente ha di questo intero schema. Tuttavia, è quello con cui siamo bloccati.

Il punto è che se non ti fidi di una CA a rilasciare certificati "buoni", ottenere i tuoi certificati altrove non ti aiuta molto.

Gotcha, tutto è ugualmente condannato. Nessun avvertimento?

Weeeelllll ...

  1. Cominciamo con l'uccidere il punto che ho sottolineato nell'ultima sezione. Al giorno d'oggi è possibile bloccare il dominio solo per le CA di propria scelta utilizzando DNS-CAA . Supponiamo che tu ti fidi di Comodo e che non ti fidi di altre CA, è possibile richiedere a tutte le CA diverse da Comodo di non emettere certificati per il tuo dominio. In teoria. (Poiché DNS-CAA non viene controllato dai browser, ma solo emettendo CA. Pertanto, una CA compromessa potrebbe ignorare questa protezione.)

    Se sei disposto a superare questo problema, allora la domanda diventa: Let's Encrypt è in realtà meno affidabile? O meno sicuro? L'affidabilità è difficile, come lo quantificate? Tutto quello che posso dire è che nella mia percezione Let's Encrypt non è meno affidabile di altre CA. Per quanto riguarda la sicurezza delle loro convalide, sono molto simili a ciò che fanno le CA commerciali (comunque per i certificati DV). Vedi anche questa domanda .

    Per quello che vale: la rete StackExchange, di cui fa parte questo sito, attualmente utilizza i certificati Let's Encrypt. La maggior parte delle persone non lo noterebbe mai, e se lo facessero dubito sinceramente che ciò significherebbe molto per loro.

  2. Perché un certificato sia significativo, la CA di emissione deve essere considerata attendibile dai fornitori di software , altrimenti il ​​certificato è inutile. Ho usato Firefox come esempio, ma in realtà vuoi che la CA sia affidabile almeno dalle versioni attuali e un po 'più vecchie di Firefox, Chrome, Windows, Mac OS X, iOS e Android. E le decine di giocatori più piccoli. Le CA che vale la pena considerare (che include ComodoSSL e Let's Encrypt) sono considerate affidabili da tutte queste entità.

  3. Se un'autorità di certificazione si comporta in modo errato o viene rivelata inaffidabile, verrà rimossa dai vari archivi fiduciari abbastanza rapidamente da rovinare la giornata dei proprietari dei certificati. Due esempi notevoli che conosco sono DigiNotar e StartCom / WoSign (consulta gli articoli, forniscono interessanti spunti sulla dinamica della fiducia!). Quindi, se pensi che Let's Encrypt si rovinerà o verrà lasciato cadere per qualche altro motivo, non usarli ti impedirà di rimanere intrappolato in quel particolare abbattimento.

  4. I certificati impiegano un po 'di magia crittografica ; la questione è che crypto matematica magica ? E se fosse una magia debole? Questa è in realtà una vera preoccupazione e anche le autorità di certificazione hanno dimostrato di trascinare i piedi sull'aggiornamento. Fortunatamente, i venditori di browser hanno colto il problema impostando i minimi qui per l'accettazione dei certificati. Ad esempio, i certificati che utilizzano RSA-1024 o SHA-1 sono ora respinti dalla maggior parte dei browser, quindi qualsiasi certificato che funziona in pratica non utilizza queste primitive crittografiche deprecate. Il risultato è che è abbastanza difficile per qualsiasi CA (Let's Encrypt incluso) deludere più su questa parte.

  5. Prima, ho più o meno detto che tutti i certificati sono creati uguali. Ho mentito, non lo sono. In particolare, ciò che ho discusso fino ad ora sono i " certificati Domain Validated (DV)", che sono ciò che la maggior parte dei siti Web utilizza. Forniscono una certa certezza che il tuo browser sta effettivamente parlando con il dominio che mostra nella barra degli URL. Esistono anche certificati "Organization Validated (OV)" e " Extended Validation (EV)", che richiedono controlli molto più elaborati da parte delle autorità di certificazione. In particolare, dovresti essere in grado di ottenere un certificato EV per somebank.com/ SomeBank Inc., se puoi effettivamente dimostrare di essere SomeBank, Inc.

    I certificati EV sono molto più costosi da ottenere (ballpark: centinaia di EUR / USD all'anno) e possono essere ricompensati con una barra URL verde o un lucchetto nel browser, forse con la visualizzazione di "SomeBank, Inc." anche. Contrariamente ai certificati DV, offrono anche qualche idea su chi potrebbe effettivamente appartenere al sito web. Il lato positivo è che possono sembrare più legittimi. La delusione è che gli utenti raramente prestano attenzione a loro, quindi la loro efficacia è limitata.

    Un utente malintenzionato con un certificato DV contraffatto può ancora impersonare il sito, solo senza l'indizio visivo extra che un certificato EV può offrire e gli utenti generalmente non notano la distinzione. Al contrario, è possibile ottenere un certificato EV fuorviante per facilitare il phishing. Di conseguenza, sia Chrome che Firefox lasceranno i loro riferimenti visivi ai certificati EV e alcune persone credono che se ne andranno del tutto.

    Se sei una banca, probabilmente per il momento desideri comunque un certificato EV. Altrimenti, non così tanto. Ma se si fa bisogno di EV, Encrypt Let non è per voi, perché semplicemente non offrono certificati EV.

  6. I certificati sono validi solo per un tempo limitato . I certificati di una tipica CA commerciale tendono ad essere validi per un anno, ma ho visto qualcosa da tre mesi a tre anni. Let's Encrypt certificati sono validi per 90 giorni , che si trovano sul lato corto di tale intervallo, quindi dovrai rinnovarli spesso. Per gli utenti Let's Encrypt, questo è di solito automatizzato in modo che i certificati vengano sostituiti ogni 60 giorni.

    Essere in grado di automatizzare il rinnovo con un software ampiamente disponibile è in realtà più piacevole della merda annuale Oh il mio certificato è scaduto? Qual è il mio accesso alla CA? Come funziona di nuovo? rituale che la maggior parte dei piccoli siti sembra finire nelle CA commerciali.

  7. Prima l'ho definito spaventoso dal fatto che ci sono così tante CA di cui tutti dobbiamo fidarci. Avere molte CA è anche un vantaggio, nel senso che la rimozione di un singolo dai nostri negozi fiduciari ha un impatto limitato sugli utenti. In particolare, l'espulsione di una singola CA influirà solo sui certificati emessi da quella CA. Se tutti finiscono per usare un'unica CA (che alcune persone temono possa accadere con Let's Encrypt ), concentriamo tutta la nostra fiducia lì e perdiamo i vantaggi di quella frammentazione.

  8. E infine, ci sono altri vantaggi che una CA a pagamento potrebbe offrire, come il supporto commerciale o una garanzia SSL da un milione di dollari . Ho poca fiducia in entrambi questi aspetti, ma sono cose che Let's Encrypt non offre.

Mi fa male la testa ... Ho avuto una domanda, penso?

Usa ciò con cui ti senti a tuo agio! Per i certificati DV, c'è ben poco che differenzia effettivamente le varie CA. Uso Let's Encrypt sia professionalmente che privatamente, e ne sono felice.

Ci sono davvero solo quattro potenziali motivi che vedo per evitare Let's Encrypt:

  • Se hai bisogno di certificati EV (o OV).
  • Se non puoi o non vuoi automatizzare il rinnovo del certificato e la validità del certificato di tre mesi è troppo breve per te.
  • Se non ti fidi di Let's Encrypt (ma assicurati di considerare anche altre misure come DNS-CAA, e probabilmente dovresti anche inserire nella blacklist Let's Encrypt anche nel tuo browser).
  • Se ritieni che Let's Encrypt verrà interrotto o eliminato dai browser per qualche motivo.

Se nessuno di questi si applica a te, sentiti libero di non pagare i tuoi certificati.


17
Si noti che i certificati EV non sono più considerati utili perché gli utenti li ignorano; i browser, in particolare Chrome e sui dispositivi mobili, rimuovono o seppelliscono il testo verde e visualizzano il nome.
simpleuser

8
Tieni presente che non chiedi alla terza parte affidabile di creare un certificato per la tua chiave privata, ma piuttosto per la chiave pubblica corrispondente. Piccolo nitpick, ma importante. La tua chiave privata non lascia mai il tuo sistema.
MechMK1

Entrambi i punti positivi; Stavo cercando di gestire il livello di dettaglio pur essendo corretto in modo generale, ma avrei dovuto essere più chiaro su queste due cose. Ho aggiornato la risposta per spero che rifletta meglio questi fatti.
marzo

4
Per essere più specifici, a partire da Chrome v77 (attualmente v67), Chrome non visualizzerà più direttamente i certificati EV. Firefox (attualmente 68) prevede di fare lo stesso della v70.
Knallfrosch,

1
E per aggiungere un terzo commento sui certificati EV, Troy Hunt (ri) scrive un buon articolo spiegando perché sono davvero morti: troyhunt.com/…
Neyt

7

Let's Encrypt è superiore in molti modi, inclusi quelli che hai citato, come:

  1. È gratis. Difficile superarlo.
  2. Ha il rinnovo automatico (sono sicuro che non è SOLO esclusivo con Let's Encrypt, tuttavia)
  3. È abbastanza facile da configurare.
  4. Google lo supporta come SSL firmato, che è un grosso problema quando si tratta di SEO e sicurezza.

Tuttavia, ci sono un paio di svantaggi.

  1. Il sistema di verifica su cui funziona per assicurarsi che tu, beh, possiedi il sito, non sia compatibile con alcuni host di siti Web, ho avuto un bel po 'di mal di testa nel tentativo di far funzionare Let's Encrypt su InfinityFree e ho appena accettato il destino che non potevo farlo.
  2. Non ottieni alcun tipo di assicurazione che dice "Se questo si rompe, ti aiuteremo" poiché è open-source, sei da solo se Let's Encrypt non funziona o è in qualche modo rotto.

"Il sistema di verifica che funziona" È un meccanismo standard, sia HTTP-01 che DNS-01 come descritto dai requisiti IETF e CAB Forum. Tutte le CA sono vincolate allo stesso identico, per i certificati DV.
Patrick Mevzek,

10
"poiché è open-source" È gratuito (come nella birra) non open source. L'API è standard (vedi ACME in IETF) e ci sono client open source (e forse server).
Patrick Mevzek,

4
"Ha il rinnovo automatico" Non è Let's Encrypt da soli. Tu, in quanto proprietario del certificato, devi contattarli per chiedere il rinnovo. Non te lo spingono automaticamente. È un effetto collaterale dell'utilizzo di un protocollo automatizzato come ACME per il rilascio di certificati.
Patrick Mevzek,

"Google lo supporta come SSL firmato", non solo Google e probabilmente volevi dire che lo supporta (Let's Encrypt) come "CA completamente attendibile" ("SSL firmato" non ha senso). Vedi letsencrypt.org/2018/08/06/…
Patrick Mevzek,

Per quanto riguarda l'assicurazione sui certificati X.509 utilizzati per le comunicazioni HTTPS, vedere anche security.stackexchange.com/questions/179415/… e scotthelme.co.uk/…
Patrick Mevzek,

4

I certificati LetsEncrypt sono fantastici. Li uso io stesso invece di acquistare certificati. Ci sono alcuni svantaggi:

  • Consente di crittografare i certificati solo negli ultimi 3 mesi. La maggior parte dei certificati acquistati sono validi per uno o due anni. Ciò significa che è assolutamente necessario un processo automatizzato in atto per rinnovare i certificati o sarà troppo facile da dimenticare.
  • LetsEncrypt offre solo il tipo di certificato di convalida più basso. Domain Validation (DV) convalida solo che il proprietario del certificato abbia il controllo sul dominio. I certificati di convalida dell'organizzazione (OV) controllano anche la documentazione della persona o dell'azienda che richiede il certificato. I certificati Extended Validation (EV) richiedono ulteriori controlli. Migliore è il certificato, più difficile deve essere forgiato e più si può fidare dell'autenticità del tuo sito a causa di esso. In pratica, i browser danno solo un cenno visivo ai certificati EV, di solito mostrando qualcosa in verde nella barra degli indirizzi per loro. Fino a questo punto, la maggior parte degli utenti non conosce o si preoccupa dei diversi livelli di convalida.
  • I certificati jolly sono un po 'più difficili da ottenere da LetsEncrypt. Da altri posti in genere paghi solo più soldi. LetsEncrypt richiede la convalida DNS per i certificati jolly.

Storicamente, i certificati di sicurezza sono sempre costati qualcosa. Altre aziende che hanno offerto certificati gratuiti sono andate e vengono. Usavo StartSSL che offriva un certificato gratuito per singolo dominio fino a quando non facevano cose losche e i browser smettevano di fidarsi dei loro certificati. LetsEncrypt ha meno limiti rispetto ai precedenti fornitori di certificati gratuiti ed è molto più automatizzato. Ha anche alcuni grandi sostenitori come EFF, Mozilla, Chrome e Cisco. Vedi https://letsencrypt.org/sponsors/ Sembra funzionare abbastanza bene che mi aspetto che sia in circolazione da anni.


1
Esiste una reale differenza funzionale tra DV e OF / EV? O è letteralmente solo un controllo più approfondito?
Otto

4
"I certificati LetsEncrypt durano solo 3 mesi." è fatto apposta e non visto come uno svantaggio ma di fatto positivo.
Patrick Mevzek,

1
@ Otto diversi controlli e anche diversi risultati finali: un certificato DV identifica un nome host, un certificato OV / EV identifica un'entità. Inoltre, i requisiti del forum CAB prevedono vincoli diversi, ad esempio non è possibile avere un veicolo elettrico per 3 anni, né per i caratteri jolly.
Patrick Mevzek,

5
"LetsEncrypt offre solo il tipo di certificato di convalida più basso. [..] Migliore è il tuo certificato, più il tuo sito può essere considerato attendibile." Questa è enormemente una questione di preferenza personale e non una verità universale. E per lo più non importa a causa dell'attuale PKI Web, è la sicurezza della CA protetta più bassa nel tuo negozio di fiducia che definisce la sicurezza dell'intero ecosistema .. fino a quando tutti usano CAA + DNSSEC nei loro domini e tutte le CA usano almeno DNSSEC durante la convalida e più punti di vantaggio.
Patrick Mevzek,

2
"Fino a questo punto, la maggior parte degli utenti non conosce o si preoccupa dei diversi livelli di convalida." - Il che li rende piuttosto inutili. Se gli utenti non distinguono certificati EV / DV, un utente malintenzionato che ottiene un certificato DV valido per alcuni domini può eseguire attacchi MITM su quel dominio, anche se il sito originale ha un certificato EV.
marzo

0

Non tutto può utilizzare il rinnovo automatico

CertBot lo rende facile da usare per i siti Web ... ma cosa succede se si utilizzano certificati per altre cose?

Abbiamo un server LDAP con cui il nostro sito web si autentica. Funziona su una porta sicura, ma ha bisogno di un certificato firmato per funzionare. Potrei scegliere un certificato jolly gratuito ... ma ciò significa convertire il certificato in PKCS12 ogni 3 mesi (i server Web utilizzano PEM) e quindi importare il nuovo certificato. Oh, e anche il nostro firewall di rete utilizza PKCS12. È un sacco di seccatura gratis.


1
Se sei così propenso, potresti anche automatizzare quella conversione; c'è già un cronjob in esecuzione certbot/ acmetool/ whathaveyou per rinnovare il certificato, è possibile aggiungerne uno che invoca opensslper eseguire la conversione.
marzo

-1

La semplice risposta a questo è che molti webmaster non vogliono semplicemente fare queste cose che consumano inutilmente il loro tempo prezioso. Nel caso di letsencrypt è facile da usare e gratuito ma devi ricordare e reinstallare il certificato ogni 3 mesi. Se non lo fai o semplicemente dimentichi di farlo, il tuo sito mostrerà un errore 404 ai tuoi visitatori e motori di ricerca.


10
"devi ricordare" No, devi mettere in atto l'automazione necessaria e lasciarlo fare il suo lavoro senza avere nulla da ricordare. È inoltre necessario effettuare il monitoraggio.
Patrick Mevzek,

14
"allora il tuo sito mostrerà l'errore 404" Certamente no. Un certificato scaduto attiverà un errore di handshake TLS e nulla arriverà a livello HTTP. I clienti vedranno un grande avviso nel loro browser con del testo (che in pratica non capiranno) e un pulsante che chiede loro se vogliono passare o no.
Patrick Mevzek,

Molti siti di hosting stanno semplicemente facendo sì che cifratura venga premuta un pulsante senza costi aggiuntivi. Fai letteralmente clic su un pulsante nel pannello di configurazione del sito Web che dice "Lo voglio!" e da quel momento in poi tutto accade automaticamente, incluso il rinnovo.
James Reinstate Monica Polk il

1
Come amministratore professionale per ~ 100 domini, posso dirti che preferisco di gran lunga Let's Encrypt con rinnovo automatico rispetto al rinnovo manuale dei certificati ogni anno, come ho dovuto fare prima con la nostra CA precedente.
marzo

L'utilizzo acme.shper installare i certificati Let's Encrypt installa anche il rinnovo. È più lavoro per non farlo.
Colin 't Hart,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.