Exkurs - Browser-Experimente
Eine sichere Verbindung zu inf-schule.de
Wenn du inf-schule.de aufrufst, baut dein Browser eine sichere Verbindung zum Server auf.
Du erkennst das daran, dass die Adresse mit https:... beginnt.
Klickst du in Chrome auf das Symbol links neben der Adresse (andere Browser zeigen hier oft ein Schloss),
erhältst du Informationen zur Website:
Mit [Verbindung ist sicher] bestätigt der Browser, dass die Verbindung geschützt ist.
Mit [Zertifikat ist gültig] kann man sich das benutzte Zertifikat anzeigen lassen. Im Reiter [Allgemein] sieht man, für wen das Zertifikat ausgestellt ist (inf-schule.de), wer es ausgestellt hat (Let's Encrypt) und wie lange es gültig ist.
Im Reiter [Details] sieht man die Zertifikathierarchie und alle Felder des Zertifikats. Mit [Exportieren...] kann man das Zertifikat auch in eine Datei exportieren.
Öffnet man die exportierte Datei mit einem Editor, sieht man zwischen -----BEGIN CERTIFICATE-----
und -----END CERTIFICATE----- nur eine lange Zeichenfolge.
Das Zertifikat ist dort aber nicht verschlüsselt, sondern lediglich Base64-kodiert. Mit geeigneten Werkzeugen, z. B. OpenSSL,
lässt es sich in eine lesbare Form umwandeln (hier an einer Stelle gekürzt):
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
05:6a:2e:66:2e:1d:06:5e:02:d0:f5:2f:5e:01:d7:04:24:8d
Signature Algorithm: ecdsa-with-SHA384
Issuer: C = US, O = Let's Encrypt, CN = YE2
Validity
Not Before: Oct 18 20:03:36 2026 GMT
Not After : Jan 16 20:03:35 2027 GMT
Subject: CN = inf-schule.de
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (384 bit)
pub:
04:1c:ff:2b:af:f1:c9:e7:07:65:5a:98:00:b2:47:
f1:27:95:fb:35:e7:18:bd:67:e8:c3:d4:fa:67:3e:
a3:a7:2d:f1:a7:66:7f:1b:a8:d1:7d:32:21:b5:ab:
f2:d4:50:a5:69:97:27:83:96:29:a9:27:99:f9:47:
2b:b7:48:4e:71:a6:52:94:9b:fc:80:f4:1b:8f:a7:
54:81:4a:12:5b:59:7b:5e:62:02:ce:2e:67:ac:a4:
24:ce:c3:8c:10:67:98
ASN1 OID: secp384r1
NIST CURVE: P-384
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier:
7E:38:0F:E1:82:E6:E9:68:41:C4:78:72:91:84:C6:E9:8E:57:87:D8
X509v3 Authority Key Identifier:
B9:59:F2:8E:CF:22:F0:86:D3:37:48:FF:76:14:18:BA:82:D8:55:87
Authority Information Access:
CA Issuers - URI:http://ye2.i.lencr.org/
X509v3 Subject Alternative Name:
DNS:inf-schule.de, DNS:inf.schule, DNS:inf.schule.de, DNS:www.inf-schule.de, DNS:www.inf.schule
X509v3 Certificate Policies:
Policy: 2.23.140.1.2.1
X509v3 CRL Distribution Points:
Full Name:
URI:http://ye2.c.lencr.org/14.crl
CT Precertificate SCTs:
[...]
Signature Algorithm: ecdsa-with-SHA384
Signature Value:
30:65:02:31:00:a9:70:52:cb:e4:6d:d8:57:79:e6:26:97:f9:
4d:ea:f7:d9:1e:2e:69:b2:ae:f7:d9:75:1d:91:5b:e2:b4:50:
b1:d0:e2:49:fb:a1:c9:2b:b9:8b:31:cc:9d:01:aa:3c:ad:02:
30:2f:c9:af:25:00:52:de:cd:f2:e8:9e:9f:34:95:a7:39:79:
ac:bb:0d:f2:b4:ad:29:9e:9a:cb:9f:9b:93:5a:6d:83:95:8e:
9e:aa:a8:28:4e:05:71:bf:a8:c4:e6:74:5b
Man erkennt hier, dass die Zertifizierungsstelle YE2 von Let's Encrypt den öffentlichen Schlüssel von inf-schule.de bestätigt.
Aufgabe: Zertifikatkontrolle
- Öffne eine Webseite deiner Wahl und vollziehe die oben dargestellten Schritte nach. Notiere, für wen das Zertifikat ausgestellt ist, wer es ausgestellt hat und wie lange es gültig ist.
- Exportiere das Zertifikat und öffne die Datei mit einem Editor. Beschreibe, was du siehst.
- Öffne CyberChef und füge den Inhalt der Datei als Eingabe (Input) ein. Wende zunächst nur die Operation „From Base64“ an. Was fällt dir an der Ausgabe auf?
- Ersetze die Operation durch „Parse X.509 certificate“. Vergleiche die Ausgabe mit dem Zertifikat oben: Wo findest du den Inhaber, den Aussteller, die Gültigkeitsdauer und den öffentlichen Schlüssel?
Woher kennt der Browser die Schlüssel der Zertifizierungsstellen?
In der Zertifikathierarchie (Reiter [Details]) sieht man, dass auch YE2 wiederum von einer übergeordneten Stelle zertifiziert ist. Ganz oben steht ISRG Root X2. Dieses Zertifikat ist selbstsigniert, es liegt also ein Wurzelzertifikat vor. Eine Selbstsignatur allein begründet aber noch kein Vertrauen. Vertrauenswürdig ist dieses Zertifikat, weil es bereits im Vertrauensspeicher (Trust Store) des Browsers bzw. des Betriebssystems hinterlegt ist.
Im Abschnitt zum Machine-in-the-middle-Angriff hat CA(rl) seinen öffentlichen Schlüssel persönlich überbracht. In Wirklichkeit übernehmen das die Hersteller von Browsern und Betriebssystemen: Sie liefern die Wurzelzertifikate vertrauenswürdiger Zertifizierungsstellen gleich mit, zum Beispiel bei der Installation oder bei Updates. Der Browser muss sie also nicht erst über das unsichere Internet anfordern.
Aufgabe: Zertifikateinstellung
Wenn mit dem Zertifikat etwas nicht stimmt
Manchmal zeigt der Browser statt der gewünschten Seite eine Warnung an, zum Beispiel diese Meldung:
Irgendetwas scheint hier nicht in Ordnung zu sein. Mit [Erweitert] nennt der Browser genauer, was nicht stimmt:
Aufgabe: Ungültige Zertifikate
- Der Browser konnte das Zertifikat also nicht bis zu einem Wurzelzertifikat in seinem Trust Store zurückverfolgen. Wie soll man reagieren?
- Solche Warnungen kannst du gefahrlos auf Testseiten ausprobieren, zum Beispiel bei einem abgelaufenen Zertifikat
(expired.badssl.com) oder bei einem selbstsignierten Zertifikat
(self-signed.badssl.com).
Vergleiche die Meldungen und die Fehlercodes (z. B.
NET::ERR_CERT_AUTHORITY_INVALID): Was genau bemängelt der Browser jeweils?