Ein Vergleich von Let’s Encrypt, kommerziellen und privaten Zertifizierungsstellen und selbstsignierten SSL-Zertifikaten

Einführung

Das Bestreben, immer mehr Web-Datenverkehr mit SSL-Verschlüsselung abzusichern, bedeutet, dass eine zunehmende Anzahl von Diensten und Anwendungsfällen eine Lösung für die Erlangung der richtigen Zertifikate benötigt. Unabhängig davon, ob es sich um eine öffentliche Website, einen Intranetverkehr oder einen Staging-Server für Ihre Web-App handelt, benötigen Sie ein Zertifikat, um Ihre Daten zu schützen und die modernen Sicherheitsanforderungen Ihrer Benutzer zu erfüllen.

Die Hauptvorteile von SSL-Verbindungen liegen beiprivacy unddata integrity. Verbindungen sind privat, da die Verschlüsselung das Abhören verhindert. Die Datenintegrität wird sichergestellt, indem Sie kryptografisch überprüfen, ob Sie eine Verbindung zum richtigen Server (und nicht zu einem Betrüger) herstellen, und indem Sie sicherstellen, dass einzelne Nachrichten während der Übertragung nicht manipuliert werden.

Es gibt verschiedene Möglichkeiten, wie Sie SSL-Zertifikate erhalten können. Abhängig von Ihrem Budget, Ihrer Zielgruppe und einigen anderen Faktoren können Sie zwischen einer kommerziellen Zertifizierungsstelle, einer neuen automatisierten und kostenlosen Zertifizierungsstelle, selbstsignierten Zertifikaten und Ihren Zertifikaten wählen eigene private Zertifizierungsstelle. Lassen Sie uns einen Vergleich dieser Optionen durchführen und diskutieren, wann es am besten ist, die einzelnen Optionen zu verwenden.

Glossar

Bevor wir beginnen, definieren wir einige allgemeine Begriffe, die bei der Erörterung der SSL-Sicherheit verwendet werden:

Transport Layer Security (TLS)

Transport Layer Security ist ein neues Sicherheitsprotokoll, das Secure Sockets Layer (SSL) ersetzt. Obwohl es wahrscheinlicher ist, dass eine moderne verschlüsselte Verbindung TLS verwendet, ist der SSL-Name in der gängigen Sprache geblieben und wird hier verwendet.

Zertifikat

In diesem Artikel beziehen wir uns ausschließlich auf SSLserver certificates. Serverzertifikate werden von einem Webserver angezeigt, wenn eine neue SSL-Verbindung angefordert wird. Sie enthalten den Namen des Hosts, an den das Zertifikat ausgestellt wurde (der mit dem Server übereinstimmen sollte, zu dem Sie eine Verbindung herstellen möchten) und sind von einer Zertifizierungsstelle signiert, um die Vertrauenswürdigkeit herzustellen.

Zertifizierungsstelle (CA)

Die Zertifizierungsstellen überprüfen die Details zur Anfrage eines Domaininhabers nach SSL-Zertifikaten und stellen dann - wenn alles ausgecheckt ist - Serverzertifikate aus und signieren sie. Browser und Betriebssysteme verwalten eine Liste vertrauenswürdiger Zertifizierungsstellen. Wenn ein Serverzertifikat von einer dieser vertrauenswürdigen Zertifizierungsstellen signiert ist, wird es auch als vertrauenswürdig eingestuft.

Domain Validierung (DV)

Ein Domain-validiertes Zertifikat wird an jemanden ausgestellt, der nachgewiesen hat, dass er den für das Zertifikat angeforderten Domain-Namen kontrolliert. Bei diesem Nachweis wird häufig ein eindeutiges Token von Ihrem Webserver oder von DNS-Einträgen bereitgestellt, auf das die Zertifizierungsstelle vor der Ausstellung des Zertifikats prüft.

Organisationsvalidierung (OV)

Ein von einer Organisation validiertes Zertifikat bedeutet, dass die Zertifizierungsstelle auch den Firmennamen und die Adresse in öffentlichen Datenbanken überprüft hat. Diese Informationen werden in das Zertifikat eingegeben und normalerweise nur angezeigt, wenn der Benutzer auf das grüne Vorhängeschlosssymbol klickt, um weitere Nachforschungen anzustellen.

Erweiterte Validierung (EV)

Die erweiterte Validierung ist gründlicher als die Domain- oder Organisationsvalidierung. EV-Zertifikate werden ausgestellt, nachdem nicht nur das Domain-Eigentum, sondern auch das Vorhandensein und der Standort der juristischen Person, die das Zertifikat anfordert, überprüft wurden und diese die zu überprüfende Domain kontrolliert.

Im Gegensatz zu DV- und OV-Zertifikaten kann EV nicht als Platzhalterzertifikat ausgestellt werden.

EV-Zertifikate werden auch in Webbrowsern besonders behandelt. Während Browser DV-Zertifikate in der Regel mit einem grünen Vorhängeschlosssymbol kennzeichnen, wird bei EV-Zertifikaten auch ein größerer grüner Balken mit dem Namen der Organisation angezeigt, an die sie ausgestellt wurden. Dies soll Phishing-Angriffe reduzieren, obwohl einige Studien belegen, dass Benutzer es nicht bemerken, wenn dieser grüne Balken fehlt.

Wildcard-Zertifikat

Anstatt für einen bestimmten vollqualifizierten Domainnamen (z. B.app.example.com) ausgestellt zu werden, sind Platzhalterzertifikate für eine ganze Reihe von Subdomainnamen gültig. Ein an*.example.com ausgestelltes Zertifikat würde also jede Subdomain von example.com wieapp.example.com unddatabase.example.com abdecken. Das Sternchen istwildcard und kann durch einen beliebigen gültigen Hostnamen ersetzt werden.

Zertifikatssperrliste (Certificate Revocation List, CRL)

SSL-Zertifikate können Informationen zum Zugriff auf eine Zertifikatsperrliste enthalten. Die Clients laden diese Liste herunter und überprüfen sie, um sicherzustellen, dass das Zertifikat nicht widerrufen wurde. CRLs wurden weitgehend durch OCSP-Responder ersetzt.

Online Certificate Status Protocol (OCSP)

Das OCSP-Protokoll ist ein Ersatz für CRLs, mit dem Vorteil, dass es in Echtzeit arbeitet und weniger Bandbreite benötigt. Die allgemeine Vorgehensweise ist ähnlich: Clients müssen den OCSP-Responder abfragen, um zu prüfen, ob ein Zertifikat gesperrt wurde.

Kommerzielle Zertifizierungsstellen

Über kommerzielle Zertifizierungsstellen können Sie DV-, OV- und EV-Zertifikate erwerben. Einige bieten kostenlose domänenvalidierte Zertifikate mit bestimmten Einschränkungen an (z. B. keine Platzhalter).

  • Process: Manueller Vorgang zur Ersteinrichtung und Erneuerung

  • Cost:ist ungefähr $ 10– $ 1000

  • Validation: DV, OV und EV

  • Trust: In den meisten Browsern und Betriebssystemen standardmäßig vertrauenswürdig

  • Wildcard Certificates: Ja

  • IP-only Certificates: Einige stellen Zertifikate für die IP-Adressen vonpublicaus

  • Expiration Period: 1–3 Jahre

Den meisten kommerziellen Zertifizierungsstellen wird in den meisten Browsern standardmäßig vertraut. Der zu erneuernde Vorgang erfolgt in der Regel manuell. Sie müssen daher das Ablaufdatum Ihrer Zertifikate notieren und sich daran erinnern, die Verlängerung rechtzeitig durchzuführen.

Kommerzielle Zertifizierungsstellen waren traditionell die einzige echte Option, um Zertifikate zu erhalten, denen die meisten gängigen Browser vertrauen. Dies hat sich mit neuen automatisierten Zertifizierungsstellen wie Let’s Encrypt geändert. Kommerzielle Zertifizierungsstellen sind jedoch die einzige Möglichkeit, ein EV-Zertifikat zu erhalten, und die einzige Möglichkeit, ein Platzhalterzertifikat zu erhalten, das von den meisten Browsern automatisch als vertrauenswürdig eingestuft wird. Sie sind auch eine gute Option, wenn Sie ein Zertifikat für ein Gerät benötigen, auf dem der automatisierte Let's Encrypt-Client nicht ausgeführt werden kann (aufgrund von Software-Inkompatibilität oder weil es sich möglicherweise um ein Embedded-Gerät mit geringem Stromverbrauch handelt).

Kommerzielle Zertifizierungsstellen bieten häufig die Möglichkeit, zusätzliche Supportverträge, Garantien und Zertifizierungen abzuschließen, was für einige Unternehmen und Branchen wichtig ist.

Lassen Sie uns verschlüsseln

Let’s Encrypt bietet einen automatisierten Mechanismus zum Anfordern und Erneuern von Zertifikaten mit Domain-Validierung. Sie haben ein Standardprotokoll - ACME - für die Interaktion mit dem Dienst erstellt, um Zertifikate automatisch abzurufen und zu erneuern. Der offizielle ACME-Client heißtCertbot, obwohl es viele alternative Clients gibt.

  • Process: Die Ersteinrichtung und Erneuerung erfolgt automatisiert. Nur das Apache- und Nginx-Setup wird mit dem offiziellen Client automatisiert, Zertifikate können jedoch unabhängig von einer bestimmten Serversoftware heruntergeladen und verwendet werden.

  • Cost: frei

  • Validation: nur DV

  • Default: In den meisten Browsern und Betriebssystemen standardmäßig vertrauenswürdig

  • Wildcard Certificates: Nein (Planned for January 2018)

  • IP-only Certificates: Nr

  • Expiration Period: 90 Tage

Let’s Encrypt-Zertifikate sind kurzlebig, um die automatische Erneuerung zu fördern und die Zeit zu verkürzen, in der gefährdete Zertifikate von einem Angreifer missbraucht werden könnten.

Wenn Sie einen Server haben, auf den öffentlich zugegriffen werden kann und auf den ein gültiger Domänenname verweist, ist Let's Encrypt möglicherweise eine gute Option. Die Server von Encrypt müssen sich an Ihren Webserver wenden oder einen öffentlichen DNS-Eintrag abrufen, um zu überprüfen, ob Sie die Domäne steuern. Daher kann es etwas schwieriger sein, sie für einen privaten Server hinter einer Firewall in Ihrem lokalen Netzwerk zu verwenden. Es ist jedoch weiterhin möglich, die DNS-basierte Autorisierungsaufforderung von Let's Encrypt zu verwenden.

Let's Encrypt stellt keine Zertifikate für eine leere IP-Adresse bereit.

Wenn Sie ein EV-Zertifikat oder ein Platzhalterzertifikat benötigen, ist Let's Encrypt keine Option. Beachten Sie, dass Let’s Encrypt ein Zertifikat mit bis zu 100 Hostnamen erstellen kann. Daher benötigen Sie möglicherweise keinen Platzhalter für Ihren Anwendungsfall. Möglicherweise benötigen Sie nur ein Zertifikat, das alle Ihre vorhandenen Unterdomänen abdeckt.

Aufgrund von Ratenbeschränkungen in der Let’s Encrypt-API ist Let’s Encrypt möglicherweise nicht geeignet, wenn Sie über viele Subdomains oder dynamische Subdomains verfügen, die im laufenden Betrieb erstellt werden können.

Selbstsignierte Zertifikate

Es ist möglich, ein SSL-Zertifikat zu verwenden, das mit seinem eigenen privaten Schlüssel signiert wurde, ohne dass eine Zertifizierungsstelle erforderlich ist. Dies wird als selbstsigniertes Zertifikat bezeichnet und häufig empfohlen, wenn Web-Apps zum Testen oder zur Verwendung durch eine begrenzte Anzahl technisch versierter Benutzer eingerichtet werden.

  • Process: Manuelle Zertifikatserstellung, kein Erneuerungsmechanismus

  • Cost: frei

  • Validation: DV und OV

  • Trust: Standardmäßig keine. Jedes Zertifikat muss manuell als vertrauenswürdig markiert werden, da keine gemeinsame Zertifizierungsstelle beteiligt ist

  • Wildcard Certificates: Ja

  • IP-only Certificates: Ja, jede IP

  • Expiration Period: Beliebig

Selbstsignierte Zertifikate können mit dem Befehlopensslerstellt werden, der im Lieferumfang der OpenSSL-Bibliothek enthalten ist. Die genauen erforderlichen Befehle und weitere Hintergrundinformationen zu OpenSSL finden Sie in unserem TutorialOpenSSL Essentials: Working with SSL Certificates, Private Keys and CSRs.

Da ein selbstsigniertes Zertifikat nicht von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, müssen Sie das Zertifikat manuell als vertrauenswürdig markieren. Dieser Vorgang ist in jedem Browser und Betriebssystem unterschiedlich. Danach verhält sich das Zertifikat wie ein normales CA-signiertes Zertifikat.

Selbstsignierte Zertifikate eignen sich für die einmalige Verwendung, wenn Sie das Vertrauen nur auf einigen wenigen Clients manuell verwalten müssen. Dabei spielt es keine Rolle, dass sie nicht ohne weiteren manuellen Aufwand widerrufen oder erneuert werden können. Dies ist häufig gut genug für Entwicklungs- und Testzwecke oder für selbst gehostete Web-Apps, die nur wenige Benutzer jemals verwenden werden.

Private Zertifizierungsstellen

Es ist möglich, eine eigene private Zertifizierungsstelle zu erstellen und zum Signieren von Zertifikaten zu verwenden. Ihre Benutzer müssen Ihre private Zertifizierungsstelle manuell installieren und als vertrauenswürdig einstufen, bevor ihre Zertifikate als vertrauenswürdig eingestuft werden.

  • Process: Manuelle Zertifikatserstellung und -erneuerung sowie manuelle Einrichtung der Zertifizierungsstelle

  • Cost: frei

  • Validation: DV und OV

  • Trust: Standardmäßig keine. Sie müssen Ihr Zertifikat der privaten Zertifizierungsstelle manuell an die Clients verteilen, um die Vertrauenswürdigkeit herzustellen

  • Wildcard Certificates: Ja

  • IP-only Certificates: Ja, jede IP

  • Expiration Period: Beliebig

Wie bei selbstsignierten Zertifikaten können Sie eine private Zertifizierungsstelle mithilfe der Befehlszeilentools erstellen, die mit der OpenSSL-Bibliothek geliefert werden. Es wurden jedoch einige alternative Schnittstellen entwickelt, um den Vorgang zu vereinfachen. tinyCA ist eine grafische Oberfläche für diesen Prozess undcaman ist ein Befehlszeilenprogramm. Beides erleichtert das Erstellen einer Zertifizierungsstelle und das Ausstellen, Erneuern und Widerrufen von Zertifikaten.

Eine private Zertifizierungsstelle ist eine gute Option, wenn Sie mehrere Zertifikate erstellen müssen und Ihre Zertifizierungsstelle manuell für Ihre Benutzer verteilen und installieren können. Dies beschränkt Sie wahrscheinlich auf die interne Verwendung innerhalb einer Organisation oder einer kleinen Gruppe technisch versierter Benutzer, die die Zertifizierungsstelle ordnungsgemäß installieren können. Größere IT-Abteilungen haben häufig die Möglichkeit, Zertifizierungsstellen automatisch für ihre Benutzer bereitzustellen, wodurch diese Lösung für sie attraktiver wird.

Im Gegensatz zu selbstsignierten Zertifikaten, bei denen jedes Zertifikat manuell als vertrauenswürdig markiert werden muss, muss die private Zertifizierungsstelle nur einmal installiert werden. Alle von dieser Zertifizierungsstelle ausgestellten Zertifikate erben dann diese Vertrauensstellung.

Ein Nachteil ist, dass der Betrieb der Zertifizierungsstelle mit einem gewissen Aufwand verbunden ist und einige Kenntnisse zur sicheren Einrichtung und Wartung erforderlich sind.

Wenn eine ordnungsgemäße Sperrung für Ihre Verwendung wichtig ist, müssen Sie auch einen HTTP-Server für die Zertifikatssperrliste oder einen OCSP-Responder verwalten.

Fazit

Wir haben einige verschiedene Optionen zum Abrufen oder Erstellen von SSL-Zertifikaten geprüft. Welches für Ihre Situation am besten geeignet ist, wenn Sie den SSL-Schutz hinzufügen, schützt dies die Daten, den Datenschutz und die Sicherheit Ihres Dienstes und Ihrer Benutzer.

Wenn Sie sich eingehender mit SSL und den von uns diskutierten Optionen befassen möchten, können die folgenden Links hilfreich sein:

  • DasOpenSSL documentation beschreibt die Bibliothek und ihre Befehle im Detail

  • InCA/Browser Forum erarbeiten Zertifizierungsstellen und Browseranbieter Anforderungen und Best Practices für die Funktionsweise von Zertifizierungsstellen. Dazu gehören Regeln, wie lange Zertifikate gültig sein sollen und ob sie für nicht-öffentliche Domainnamen ausgestellt werden sollen

  • DasLet’s Encrypt CA enthält weitere Informationen zum ACME-Protokoll