enrixk
Goto Top

Zertifikate und Digitale Signatur

Hallo,

Stamm- und Zwischenzertifikate enthalten ja einen öffentlichen Schlüssel und eine Signatur. Wird mit dem im Zertifikat enthaltenen öffentlichen Schlüssel die Signatur geprüft oder ist der öffentliche schlüssel für andere Zwecke gedacht?

Danke und Gruß

Content-Key: 666251

Url: https://administrator.de/contentid/666251

Printed on: April 20, 2024 at 05:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Apr 29, 2021 at 19:16:47 (UTC)
Goto Top
Zitat von @Enrixk:

Wird mit dem im Zertifikat enthaltenen öffentlichen Schlüssel die Signatur geprüft oder ist der öffentliche schlüssel für andere Zwecke gedacht?

Man kann mit dem öffentlichen Schlüsseln natürlich die Signatur prüfen. Außerdem kann man damit auch nachrichten an den Inhaber des zertifikats verschlüsseln. Denn nur der kann die Nachrichten entschlüssen, weil nur er den passenden privaten Schlüssel hat.

lks
Member: em-pie
em-pie Apr 29, 2021 at 19:32:57 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @Enrixk:

Wird mit dem im Zertifikat enthaltenen öffentlichen Schlüssel die Signatur geprüft oder ist der öffentliche schlüssel für andere Zwecke gedacht?

Man kann mit dem öffentlichen Schlüsseln natürlich die Signatur prüfen. Außerdem kann man damit auch nachrichten an den Inhaber des zertifikats verschlüsseln. Denn nur der kann die Nachrichten entschlüssen, weil nur er den passenden privaten Schlüssel hat.

lks

Und manchmal wird dieses asymmetrische Verschlüsselungsverfahren (Rechenintensiv) genutzt, damit beide Parteien einen gemeinsamen, symmetrischen Schlüssel vereinbaren können, mit dem wiederum der permanente Nachrichtenaustausch "kostengünstiger" durchgeführt werden kann.


Gruß
em-pie
Member: Enrixk
Enrixk Apr 29, 2021 updated at 19:34:37 (UTC)
Goto Top
Okay, aber kann sich dann nicht ein Man in the Middle als Zertifizierungsstelle ausgeben (durch ARP-Spoofing), die Signatur selbst erstellen. Den passenden öffentlichen Schlüssel sendet er doch dann gleich mit. Wie kann hier der Benutzer sicherstellen, dass er tatsächlich mit dem richtigen Teilnehmer kommuniziert?
Mitglied: 148121
148121 Apr 29, 2021 updated at 20:05:03 (UTC)
Goto Top
Zitat von @Enrixk:

Okay, aber kann sich dann nicht ein Man in the Middle als Zertifizierungsstelle ausgeben (durch ARP-Spoofing), die Signatur selbst erstellen. Den passenden öffentlichen Schlüssel sendet er doch dann gleich mit. Wie kann hier der Benutzer sicherstellen, dass er tatsächlich mit dem richtigen Teilnehmer kommuniziert?
Dafür haben die Systeme einen Trust-Store in dem die Signaturen aller Stammzertifizierungsstellen (CA) hinterlegt sind . Bevor also der Client loslegt prüft er ob das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle abstammt (Chain of Trust). Tut es das nicht lehnt der Client die Verbindung schon ab bzw. Informiert den Client über ein nicht vertrauenswürdiges Zertifikat. Zusätzlich prüft der Client auch sogenannte CRLs (Certificate Revocation Lists) der CAs in denen Fingerprints von Zertifikaten hinterlegt sind die in der CA widerufen wurden .

Ergo Man in the Middle Attacken mit gefälschten Zertifikaten von selbst generierten CAs fallen somit sofort auf, außer jemand hat sich den private Key einer der öffentlichen CAs besorgt und damit seine Eigenen Zertifikate signiert, aber die werden ja gehütet wie Fort-Knox.
Member: Enrixk
Enrixk Apr 29, 2021 at 20:31:07 (UTC)
Goto Top
Ich komme irgendwie durcheinander bei Zertifikatsketten. Um die Signatur zu prüfen braucht man doch den öffentlichen schlüssel der CA. Im Zertifikat selbst ist ein öffentlicher Schlüssel enthalten. Ist das dann der öffentliche Schlüssel der CA oder des Zertifikatsinhabers?

Mir ist noch was nicht ganz klar. Der Zertifikatsmanager meines Systems zeigt mir Stammzertifikate an. Wieso besitze ich die eigentlich? Ich bin doch nicht der Zertifikatsinhaber. Die Inhaber dieser Stammzertifikate sind doch die Root- und Zwischen-CAs. Wieso habe ich die Zertifikate auf meinem System? Genau genommen bräuchte ich doch nur die öffentlichen Schlüssel der CAs um die Signaturen zu prüfen. Gibt es hier einen öffentlichen und einen privaten Teil den man bei Zertifikaten unterscheidet?
Member: mbehrens
mbehrens Apr 29, 2021 at 20:38:00 (UTC)
Goto Top
Zitat von @148121:

Ergo Man in the Middle Attacken mit gefälschten Zertifikaten von selbst generierten CAs fallen somit sofort auf, außer jemand hat sich den private Key einer der öffentlichen CAs besorgt und damit seine Eigenen Zertifikate signiert, aber die werden ja gehütet wie Fort-Knox.

So etwas ist allerdings in vielen Unternehmensnetzen alltägliche Praxis (HTTPS Inspection) und fällt dort kaum auf.
Member: C.R.S.
C.R.S. Apr 29, 2021 updated at 22:58:24 (UTC)
Goto Top
Ein Zertifikat ist ein öffentlicher Schlüssel, der mitsamt bestimmter Metadaten von einer CA signiert ist. Die Stammzertifikate brauchst Du, um die Signatur darunter ausgestellter Zertifikate zu überprüfen. Nur zu eigenen Zertifikaten hast Du auch einen privaten Schlüssel.
Mitglied: 148121
148121 Apr 30, 2021 at 05:27:00 (UTC)
Goto Top
Zitat von @mbehrens:

Zitat von @148121:

Ergo Man in the Middle Attacken mit gefälschten Zertifikaten von selbst generierten CAs fallen somit sofort auf, außer jemand hat sich den private Key einer der öffentlichen CAs besorgt und damit seine Eigenen Zertifikate signiert, aber die werden ja gehütet wie Fort-Knox.

So etwas ist allerdings in vielen Unternehmensnetzen alltägliche Praxis (HTTPS Inspection) und fällt dort kaum auf.
Ja, schon klar, aber nur weil die Unternehmen ihre eigenen CAs im TrustStore der Maschinen hinterlegen. Wenn nun der private Schlüssel davon unwissend in falsche Hände gerät dann ist natürlich die Kacke am Dampfen, deswegen ist der TrustStore ja auch so eine sensible Einrichtung.
Mitglied: 148121
148121 Apr 30, 2021 updated at 05:45:37 (UTC)
Goto Top
Zitat von @Enrixk:

Ich komme irgendwie durcheinander bei Zertifikatsketten. Um die Signatur zu prüfen braucht man doch den öffentlichen schlüssel der CA. Im Zertifikat selbst ist ein öffentlicher Schlüssel enthalten. Ist das dann der öffentliche Schlüssel der CA oder des Zertifikatsinhabers?
Nein, die öffentlichen Schlüssel sind in den Zertifikaten der RootCAs hinterlegt die auf deinem System liegen.

Mir ist noch was nicht ganz klar. Der Zertifikatsmanager meines Systems zeigt mir Stammzertifikate an. Wieso besitze ich die eigentlich?
Diese besitzt du auch nicht weil das nur der öffentliche Teil des Zertifikats ist, der private Schlüssel liegt natürlich bei der CA sicher verwahrt, denn nur mit diesem lassen sich untergeordnete Zertifikate signieren.

Die Inhaber dieser Stammzertifikate sind doch die Root- und Zwischen-CAs. Wieso habe ich die Zertifikate auf meinem System? Genau genommen bräuchte ich doch nur die öffentlichen Schlüssel der CAs um die Signaturen zu prüfen.
Und genau nur die liegen bei dir.

Gibt es hier einen öffentlichen und einen privaten Teil den man bei Zertifikaten unterscheidet?
Jepp.

Lies diese Links dann verstehst du die Chain of Trust und den Validierungsprozess
https://en.m.wikipedia.org/wiki/X.509#Certificate_chains_and_cross-certi ...
https://techcommunity.microsoft.com/t5/iis-support-blog/checking-the-cer ...