Warum schickt man seinen PGP Public Key zusammen mit einer signierten Email mit?


02.10.2023, 02:04

Kurz: Jemand der den Inhalt meiner E-Mail ändern kann, der kann auch einfach eine Signatur mit seinem private key erstellen und dann seinen Public Key mit anhängen.

3 Antworten

Das Mitsenden hat sicherlich auch historische Gründe...

Natürlich wäre es ein falsches Vorgehen, bei jeder empfangenen Mail den mitgelieferten Schlüssel zu importieren und anhand dessen die Authentität feststellen zu wollen.

Aber wenn man einen öffentlichen Schlüssel importiert, wird man gefragt, wie sehr man dem Schlüssel vertraut... am Besten ist natürlich, man tauscht den Schlüssel persönlich über einen separaten, vertrauenswürdigen Kanal aus (z.B. persönliches Treffen). Oder man nutzt Keyserver, etc... und tauscht dann wenigstens den Fingerprint persönlich aus (z.B. Telefon).

Aber auch wenn du bereits 100 Mails von einer Person bekommen hast, kannst du stutzig werden, wenn diese Nachricht plötzlich mit einem anderen Schlüssel signiert ist... (und z.B. per Anruf nachfragen, ob die Person selbst den Schlüssel geändert hat) auch dann bringt es noch was.

Ursprünglich gab es bei PGP noch einen anderen Mechanismus - jetzt kommen wir zu dem historischen Web-of-Trust. PGP unterstützt die Möglichkeit, öffentliche Schlüssel von anderen signieren zu lassen. Die Signaturen wurden in der Datei des öffentlichen Schlüssels gespeichert. Wenn du einen neuen Schlüssel bekommst und der Schlüssel von 5 Personen signiert ist, die du als Vertrauenswürdig eingestuft hast (siehe Vertrauensstufe von Schlüsseln), dann wird diesem Schlüssel auch vertraut. Ein solches gegenseitiges Signieren wurde z.B. auf Krypto-Parties gemacht. Nachdem vor ein paar Jahren Schlüsselserver mal extrem attakiert wurden, indem Bots einfach massenhaft Schlüssel signiert und wieder hochgeladen haben, wurde das Feature bei Schlüsselservern abgestellt. Sie akzeptieren jetzt keine angehängten Signaturen mehr. Das Verfahren hat sich historisch auch insgesamt nicht durchgesetzt und wird heutzutage auch als "zu kompliziert" für "jedermann" angesehen.

Neben dem dezentralen Ansatz gibt es den zentralen Ansatz, dass du deinen Schlüssel gegenüber einer Authentifizierungsstelle beglaubigen lässt. Bei PGP hat sowas z.B. Heise angeboten, bei Governikus (Anbieter für Funktionen des deutschen, elektronischen Personalausweises) kannst du mit dem Personalausweis deinen Schlüssel immer noch signieren lassen. Die Signaturen werden aber technisch wie sonstige Signaturen verwendet, der Anwender muss also ggf manuell prüfen und entscheiden, dass sie vertrauenswürdig sind. Außerdem werden sie auch nicht von öffentlichen Schlüsselservern unterstützt.

Andere Verfahren (als PGP) bauen auf den hierarchischen Ansatz, mit Zertifizierungsstellen und Chain of Trust.

Der Pubkey kann ja von anderen genutzt werden, um die signatur zu prüfen, oder Mails an Dich zu signieren. Soweit so klar.

Fehlt der TrustAnchor.

Entweder es gibt etwas analog zru CA, also einen Server, der die Keysignatur bestätigt und den Inhaber nennt (bzw. anders herum), oder aber man tauscht die Fingerprints auf einem gesicherten Kanal untereinander.

BTW:

https://de.wikipedia.org/wiki/Keysigning-Party

F7URRY 
Fragesteller
 02.10.2023, 02:55

Ich Frage mich bei solchen Partys, wie man bestätigt, dass einem selbst der Schlüssel auch gehört. Der Public Key beinhalten als User ID Daten bloß Namen & Email, doch da kann man ja eintragen was man will etc. oder wird bei solchen Partys vor den Augen der anderen immer der Public Key aus dem Private Key generiert? Letztendlich ist ja der einzige Nachweis das mir ein Public Key gehört, dass der private Key auf meinem privaten Gerät gespeichert ist (und auch hier kann man natürlich nicht 100% den Geräteeigentümer feststellen)

0
F7URRY 
Fragesteller
 02.10.2023, 03:05

Oder wird der ID Name im Public Key mit dem Namen auf dem amtlichen Ausweis abgeglichen und die E-Mail Adresse einfach verifiziert indem man beweist, dass man Zugriff auf den Mail Account hat?

0
KarlRanseierIII  02.10.2023, 04:52
@F7URRY
Oder wird der ID Name im Public Key mit dem Namen auf dem amtlichen Ausweis abgeglichen

Ja, natürlich, das ist ja der Zweck des ganzen. Sofern Du also keine amtlichen Dokumente mit beliebigen Identitäten bekommen kannst, kannst du im besten Fall eien Namensgleichheit zum Vorteil eines anderes ausnutzen.

0

Darum gibt es Certificate Authorities.

Man einigt sich auf eine Vertrauenswürdige Stelle von der man seinen Public Key signieren lässt.

Wenn das Zertifikat natürlich nur self signed ist, dann gibt es auch keine Garantie darauf dass diese nicht manipuliert wurde.

Deine pgp Signatur wäre dann nur so viel wert wie ein "vertrau mir Bruder"

F7URRY 
Fragesteller
 02.10.2023, 02:15

Wie finden Empfänger meinen Public Key, der an einer solchen Stelle hinterlegt wurde? Also jegliche id oder Zuordnung die ich mit in die Email schreibe um meinen Key dort zu finden kann ja abgeändert werden.

0
Krabat693  02.10.2023, 02:22
@F7URRY

Die CA ist eine digitale Signatur die deinem Public Key angehangen wird.

Jedes Betriebssystem hat eine Liste an CAs hinterlegt die er für vertrauenswürdig hält und mit dieser Liste wird die ca sonst deines Public Key geprüft. Wenn die CA Signatur mit dem vertrauenswürdigen CAs übereinstimmt bestätigt die CA damit dass dieser public key wirklich zu dir gehört.

Praktisch wendest du dich also an eine ca die der Empfänger vertrauenswürdig findet und dann musst du dich dieser CA gegenüber ausweisen um sicherzustellen dass du wirklich du bist. Darauf hin signiert die ca deinen Public Key und diese signierte Version ist dann die Version die du dem Empfänger übermitteln kannst. Du musst den Key ja auch nur einmal übermitteln.

0
F7URRY 
Fragesteller
 02.10.2023, 02:28
@Krabat693

Ahhh, puh. Ich glaube ich blase einfach meinen Public Key üner so viele Kanäle wie möglich (meine Email Anhänge, meine Website, Social Media Profilbio...), denn dann hat man wenigstens einen vernünftigen Beweis falls wirklich jemand mal Inhalte über meine email verschickt und da seinen Key für benutzt. Ich muss ja nur erreichen, dass die Empfänger als erstes meinen Key abgespeichert haben. Früher hat man ja dafür sign Partys veranstaltet, da hat man ganz viele Leute in echt getroffen, hat seinen Ausweis vorgezeigt und sich gegenseitig den schlüsselbund erweitert.

0
MipiPann  02.10.2023, 02:18

PGP nicht gleich PKI

1
Krabat693  02.10.2023, 02:26
@MipiPann

Auch pgp erlaubt das signieren der Public Keys. Aber ja, das sind dort keine CAs sondern einfach nur trusted Keys die man sich vorinstalliert. Das Grundprinzip der Vertrauensstellung ist aber dennoch gegeben.

1
MipiPann  02.10.2023, 02:30
@Krabat693

Ja aber jeder kann deine keys signieren, das Konzept mit Web of trust ist nicht das gleiche wie mit PKIs

1