Nehmen wir an, JayP möchte über das öffentliche Internet eine Verbindung zu youtube.com herstellen. Bevor eine Kommunikation stattfindet, werden einige Bedenken auftauchen:
Wie kann er überprüfen, ob er tatsächlich mit YouTube kommuniziert? (Authentifizierung)
Wie kann JayP wissen, dass niemand seine Nachricht abgefangen hat? (Vertraulichkeit)
Wie kann er außerdem sicher sein, dass niemand die Nachricht verändert hat? (Integrität)
Nun, lassen Sie uns jedes Problem einzeln angehen. Zunächst sollte JayP die Identität von YouTube überprüfen. Dafür benötigt er den öffentlichen Schlüssel von Youtube. Der öffentliche Schlüssel repräsentiert die Identität von YouTube.
Das Problem besteht darin, dass Angreifer Wege gefunden haben, eine Anfrage von einem Computer an einen anderen Computer im Internet abzufangen und einen Man-in-the-Middle-Angriff zu starten. Bei dieser Art von Angriff würde unser Angreifer Chady seinen eigenen öffentlichen Schlüssel einschleusen und JayP glauben lassen, dass er mit YouTube kommuniziert, während er tatsächlich mit Chady kommuniziert.
Chady schleicht sich ein und sendet SEINEN öffentlichen Schlüssel.
Jetzt denken Sie vielleicht: Beängstigend, nicht wahr? Stellen Sie sich vor, was mit dieser Art von Angriff möglich sein könnte, vom Diebstahl persönlicher Informationen wie Anmeldeinformationen oder Kreditkartendaten bis hin zur Verbreitung von Malware oder anderen böswilligen Zielen. Wie kann JayP dann sicher sein, dass der öffentliche Schlüssel, den er erhalten hat, wirklich von YouTube stammt? Hier kommen digitale Zertifikate ins Spiel. (TADAAA)
Sie stellen sicher, dass der öffentliche Schlüssel tatsächlich von YouTube stammt und nicht von einem böswilligen Chady. Tatsächlich können digitale Zertifikate nicht nur für HTTPS, sondern auch für Mail, IOT und VPN verwendet werden …
Ein digitales Zertifikat enthält eine Menge Informationen. Schauen wir uns die wichtigsten an:
Der Aussteller ist der Dritte, der dieses Zertifikat unterzeichnet hat. Wir werden gleich darauf eingehen. Zu den grundlegenden Informationen gehören der allgemeine Name, die Organisation und das Land.
Natürlich enthält ein digitales Zertifikat auch seine Gültigkeit mit zwei kritischen Feldern, nicht davor und nicht danach
Der Betreff ist der Besitzer des Zertifikats und wäre in unserem Fall YouTube. Der Betreff enthält Informationen wie den allgemeinen Namen, die Adresse und vor allem den öffentlichen Schlüssel.
Schließlich enthält ein digitales Zertifikat seine Signatur . Dies ist die vom Aussteller unterzeichnete Signatur, die die Echtheit dieses Zertifikats beweist.
Digitale Zertifikate werden von sogenannten Zertifizierungsstellen signiert (z. B. DigiCert, Comodo, Symantec, Google Trust Services).
Aber Moment, was sind Zertifizierungsstellen?
Kurz gesagt: Zertifizierungsstellen sind vertrauenswürdige Drittorganisationen, die für die Ausstellung digitaler Zertifikate verantwortlich sind.
Zertifizierungsstellen verfügen über eigene öffentliche und private Schlüssel. Lassen Sie uns nun erklären, wie Signaturen erstellt werden.
Die zuvor genannten Informationen, die in einem digitalen Zertifikat enthalten sind, werden beispielsweise mithilfe eines SHA-256-Algorithmus gehasht. Nachdem der Hash generiert wurde, verschlüsselt die Zertifizierungsstelle den Hash mithilfe ihres privaten Schlüssels mithilfe der asymmetrischen RSA-Schlüsselverschlüsselung. Dieser verschlüsselte Hash ist die Signatur eines Zertifikats und kann nur mit dem öffentlichen Schlüssel der Zertifizierungsstelle entschlüsselt werden. Jeder, der über den öffentlichen Schlüssel der Zertifizierungsstelle verfügt, die dieses Zertifikat signiert hat, kann es entschlüsseln und überprüfen, ob das Zertifikat authentisch ist und nicht manipuliert wurde.
Wenn der Browser das Zertifikat empfängt, hasht er alle Informationen auf seiner Seite mit demselben Hash-Algorithmus, in diesem Beispiel SHA-256. Anschließend wird die Signatur mithilfe des öffentlichen Schlüssels der Zertifizierungsstelle entschlüsselt, um den Hash von der Zertifizierungsstelle zu erhalten. Wenn beide Hashes übereinstimmen, kann der Browser bestätigen, dass dieses Zertifikat tatsächlich von der angegebenen Zertifizierungsstelle stammt.
Es gibt Hierarchien für Zertifizierungsstellen – die Stammzertifizierungsstelle und die Zwischenzertifizierungsstelle.
Diese Root-CA stellt eigentlich keine digitalen Zertifikate für Server direkt aus. Es stellt digitale Zertifikate nur für zwischengeschaltete Zertifizierungsstellen aus, die in seinem Namen handeln. Die Zwischenzertifizierungsstellen können digitale Zertifikate entweder für eine andere Zwischenzertifizierungsstelle oder direkt für einen Server ausstellen.
Daher gibt es eine Vertrauenskette von der Stammzertifizierungsstelle bis zum Server.
Betriebssysteme werden mit einem Trust Store ausgeliefert, bei dem es sich um eine Liste vertrauenswürdiger Stammzertifizierungsstellen handelt. Diese Liste wird von Unternehmen geführt, die Betriebssysteme wie Apple und Microsoft herstellen. Sie alle erfordern, dass sich eine Stammzertifizierungsstelle einer oder mehreren Prüfungen unterzieht, um ihre Vertrauenswürdigkeit und Gültigkeit zu beweisen.
Nehmen wir zunächst einmal an, dass youtube.com ein brandneues Startup ist. YouTube ist sich der Notwendigkeit der Sicherheit in einem öffentlich zugänglichen Internet bewusst und müsste über ein vertrauenswürdiges digitales Zertifikat verfügen und es seinen Besuchern vorlegen.
Zunächst begibt sich YouTube auf die Suche nach einer Zwischenzertifizierungsstelle. Denken Sie daran, dass Zwischenzertifizierungsstellen Vermittler zwischen Servern und Stammzertifizierungsstellen sind. Im Fall von YouTube verfügt Google über eine eigene Zertifizierungsstelle namens Google Trust Services.
Nachdem Sie eine Zwischenzertifizierungsstelle ausgewählt haben, stellt YouTube eine Zertifikatssignierungsanfrage. Die Zertifikatssignierungsanforderung enthält Informationen, die in das digitale Zertifikat von Youtube aufgenommen werden, wie etwa der gebräuchliche Name, die Organisation und vor allem der öffentliche Schlüssel von Youtube. YouTube sendet die Zertifikatsignierungsanforderung an die Zwischenzertifizierungsstelle.
Die Zwischenzertifizierungsstelle überprüft die CSR, die Informationen über den Eigentümer enthält, der auch als Betreff bezeichnet wird. Anschließend werden Felder wie Ausstellerinformationen (Informationen über das Zwischenzertifikat und die Gültigkeit) hinzugefügt und anschließend alle diese Informationen wie zuvor im Signiervorgang erläutert signiert. Nach der Unterzeichnung sendet die Zwischenzertifizierungsstelle das digitale Zertifikat für YouTube zurück.
YouTube kann nun sein neu erworbenes digitales Zertifikat an seine Webserver anhängen.
Wenn er eine Verbindung zu YouTube herstellt, sendet YouTube sein eigenes Zertifikat und Zertifikate von Zwischenzertifizierungsstellen. Die Stammzertifizierungsstelle wird nicht gesendet, da sie auf dem Betriebssystem von JayP verfügbar ist. Das YouTube-Zertifikat enthält die Ausstellerinformationen, bei denen es sich um die Zwischenzertifizierungsstelle handelt. Der Browser weiß daher, dass dieses Zertifikat von der Google Trust Services Intermediate Certificate Authority signiert ist und verfügt über sein Zertifikat. Jedes digitale Zertifikat enthält Informationen und eine Signatur, wie zuvor erläutert. Der Browser hasht alle Informationen, um seinen Hash-Wert zu erhalten. Anschließend wird die Signatur mithilfe des öffentlichen Schlüssels des Ausstellers, also des öffentlichen Schlüssels der Zwischenzertifizierungsstelle, entschlüsselt. Bedenken Sie auch hier, dass die Signatur nur mit dem öffentlichen Schlüssel des Ausstellers entschlüsselt werden kann. Danach vergleicht der Browser die beiden Hash-Werte. Wenn sie gleich sind, wird dieser Teil der Kette überprüft und der Browser fährt mit der Überprüfung der Zwischenzertifizierungsstelle fort, da Zwischenzertifizierungsstellen, wie erläutert, nicht direkt vertrauenswürdig sind die Betriebssysteme.
Okay, jetzt überprüft der Browser das Zertifikat der Google Trust Intermediate Certificate Authority. Dieses Zwischenzertifikat ist von der Google Trust Services-Stammzertifizierungsstelle signiert. Bitte beachten Sie, dass wir vor diesem Schritt möglicherweise viele Zwischenzertifizierungsstellen zwischen dem Endzertifikat und dem Stammzertifikat haben und für jeden Teil der Kette der gleiche Überprüfungsprozess stattfinden wird.
In unserem Beispiel bleiben wir einfach bei einem. Die Signatur des Zertifikats der Zwischenzertifizierungsstelle wird, wie bereits erwähnt, mit dem öffentlichen Schlüssel der Stammzertifizierungsstelle überprüft. Beim Erreichen der Stammzertifizierungsstelle endet die Kette dort. Die selbstsignierte Stammzertifizierungsstelle ist im Trust Store des JayPee-Betriebssystems verfügbar.
Das ist es! Nach dieser Überprüfung zeigt der Browser ein hübsches Schlosssymbol an, ähnlich dem in Ihrem Browser. Jetzt ist garantiert, dass die Kommunikation wirklich mit Youtube erfolgt und sicher ist (HURRA)
Bevor wir zum Abschluss kommen, erläutern wir kurz drei Haupttypen von TLS-Zertifikaten.
Ein einzelnes Domänenzertifikat soll einen einzelnen vollqualifizierten Domänennamen schützen. Dies bedeutet, dass das Zertifikat nur für eine bestimmte Domain gültig ist und keine Subdomains oder zusätzlichen Domains abdeckt. Beispielsweise würde für die Domain „www.youtube.com“ ein einzelnes Domainzertifikat nur diese Domain schützen und keine anderen Variationen wie „academy.youtube.com“ oder „blog.youtube.com“
Anwendungsfälle: Einzeldomänenzertifikate sind ideal, wenn Sie eine einzelne Website oder Webanwendung haben, die keine zusätzlichen Subdomänen erfordert. Sie sind die einfachste und kostengünstigste Möglichkeit, eine bestimmte Domain zu sichern.
Als nächstes haben wir ein Wildcard-Zertifikat, eine Art TLS-Zertifikat, das für eine Hauptdomäne und alle ihre Unterdomänen unter Verwendung eines einzigen Zertifikats ausgestellt wird. Das Platzhalterzeichen Sternchen wird im Feld „Common Name“ (CN) oder „Subject Alternative Name“ (SAN) verwendet, um anzugeben, dass jede Subdomäne unter der angegebenen Domäne abgedeckt ist. Wenn Sie beispielsweise über ein Platzhalterzertifikat für „ .youtube.com“ verfügen, werden „youtube.com“, „academy.youtube.com“, „blog.youtube.com“ usw. geschützt .
Anwendungsfälle: Wildcard-Zertifikate ersparen Ihnen die Verwaltung und Erneuerung einzelner Zertifikate für jede Subdomain. Es ist jedoch unbedingt zu beachten, dass Wildcard-Zertifikate nur eine Ebene von Subdomains abdecken. Ein Platzhalterzertifikat für „*.youtube.com“ würde beispielsweise „academy.blog.youtube.com“ nicht abdecken.
Mit einem Multi-Domänen-Zertifikat, auch bekannt als Subject Alternative Name-Zertifikat, können Sie mehrere unabhängige Domänen innerhalb eines einzigen Zertifikats schützen. Jede zu sichernde Domäne oder Subdomäne ist in der SAN-Erweiterung (Subject Alternative Name) des Zertifikats aufgeführt.
Beispielsweise würden Google und andere große Unternehmen diese Multi-Domain-Zertifikate verwenden. Einer der Hauptvorteile wäre die vereinfachte Zertifikatsverwaltung: Google betreibt viele Webdienste und Anwendungen, jede mit ihrer eigenen Domain oder Subdomain. Durch die Verwendung von Multidomänenzertifikaten können sie die Verwaltung von Zertifikaten für mehrere Domänen oder Subdomänen in einem einzigen Zertifikat konsolidieren. Dies optimiert den Prozess der Zertifikatsausstellung, -erneuerung und -überwachung.
Und das ist es. Bitte nehmen Sie sich etwas Zeit, um sich die animierte Lektion anzusehen.
In meinem nächsten Artikel werde ich auf die Verschlüsselung mit TLS eingehen.
Auch hier veröffentlicht.