Was sind digitale Zertifikate und wie funktionieren sie?

Ein SSL Zertifikat bietet die Grundlage zur Verschlüsselung des Datenverkehrs zwischen zwei Computern innerhalb eines Netzwerks, wie dem Internet.
Digitale Zertifikate dienen zudem zur Verifizierung und Authentifizierung eines Hosts.
Ähnlich wie auf einem realen Ausweisdokument befinden Sich in einem digitalen Zertifikat Informationen zum ausgewiesenen Host. Beispielsweise sind folgende Informationen in einem SSL-Zertifikat enthalten:

 

  1. FQDN bzw. DNS-Name
  2. Aussteller (CA)
  3. Erstellungsdatum
  4. Ablaufdatum
  5. Seriennummer

 

Wenn die Informationen auf dem Zertifikat mit den Realen Werten übereinstimmen, kann verifiziert werden, dass es sich um den ausgewiesenen Host handelt. Beispielsweise ist das Zertifikat ausgestellt auf „www.tech-tip.de“ aber der Host, von dem das Zertifikat ausgeliefert bzw. präsentiert wird hat den FQDN www.bastiangrossmann.de“ so bekommt man automatisch eine Warnung im Browser, da die Hostnamen nicht übereinstimmen.

Öffentliche Zertifikate

Dass ein Zertifikat öffentlich (beispielsweise im Internet) als vertrauenswürdig anerkannt wird muss es auch von einer öffentlichen Zertifizierungsstelle (CA) ausgestellt werden.
Dieser öffentlichen Zertifizierungsstelle vertrauen idr. alle Computer des Netzwerks.
Ähnlich wie beim Personalausweis. Diesen könnte man sich (rein theoretisch) auch selbst herstellen, allerdings würde diesem Ausweis niemand vertrauen. Sobald dieser aber durch die entsprechende Behörde ausgestellt wurde wird er als Glaubwürdig und Authentisch anerkannt.
Genauso ist es auch bei digitalen Zertifikaten, wie beispielsweise einem öffentlichen SSL Zertifikat.

Die fünf verbreitesten Anbieter für öffentliche SSL-Zertifikate

1. IdenTrust
2. DigiCert Group
3. Sectigo
4. GoDaddy Group
5. Let´s Encrypt

Selbstsignierte bzw. interne Zertifikate

Intern sieht das nochmal anders aus. Intern könnten auch selbst signierte Zertifikate zur Authentifizierung genutzt werden.

 

Beispiel am Firmenausweis:
Wenn Firmenintern ein Mitarbeiteraausweis ausgestellt wird kann man sich mit diesem innerhalb der Firma ausweisen. Möchte man aber beispieslweise Zigaretten Kaufen kann man diesen Firmenausweis nicht als gültigen Nachweis, zur Bestätigung des Alters einer Person verwenden. Hier würde auch nur ein, durch eine öffentliche Behörde ausgestelltes Ausweisdokument funktionieren. Beispielsweise ein Personalausweis.

 

So ist es auch mit selbstsignierten, bzw. internen Zertifikaten. Ein solches Zertifikat könnte beispielsweise für ein Internes Web-Portal erstellt werden.
Diesem Zertifikat vertrauen entsprechend nur die Geräte innerhalb des Firmennetzwerks. Da das Portal sich allerdings auch nur gegenüber der Computer innerhalb des Firmennetzwerks Authentifizieren muss ist kein öffentliches Zertifikat notwendig. Ein Selbstsigniertes würde hier ausreichen.

Wie funktionieren Zertifikate?

Ein Zertifikat kann, wie bereits erklärt zur Authentifizierung genutzt werden aber auch zu Chiffrierung des Datenverkehrs zwischen zwei Endgeräten.
Bei der Authentifizierung wird das Zertifikat also verwendet um einen Server auszuweisen.

Bei der Verschlüsselung (Beispielsweise SSL/TLS bei HTTPS Verkehr) wird das Zertifikat verwendet um den Public Key auszuliefern. Mit dessen Hilfe und anderen Informationen wird dann ein Session Key erstellt, der wiederum zur eigentlichen Chiffrierung des Datenverkehrs genutzt wird.

 

Siehe: SSL TLS Handshake|SSL/TLS-Session-Key.

 

Prinzipiell ist ein Zertifikat also da um Informationen für weiterführende Verschlüsselungen oder allgemeinere Zwecke auszuliefern.

Public- vs. Pricate Key

Öffentlicher (public) Key

Der öffentliche Schlüssel eines Zertifikats wird genutzt, um einen „Client Random“ (SSL TLS Handshake) verschlüsselt an beispielsweise einen angesurften Webserver zu übermitteln.

Privater (private) Key

Der Private Key wird stets und ausschließlich zum entschlüsseln des empfangenen (entsprechend verschlüsselten) „Client Random“, während des SSL-TLS-Handshakes verwendet.
Daher sollte nur der Server, der die Dienste für andere Bereitstellt den Public Key kennen.

Session Key

Der Generierte Session Key wird innerhalb einer Etablierten SSL/TLS Verbindung zum Ver- und Entschlüsseln des Datenverkehrs genutzt.

0 Kommentare
Inline Feedbacks
View all comments