hoffe, dass dieser Beitrag hier richtig ist. Ich möchte zukünftig meine versendeten Mails per PGP signieren. Hierzu signiere ich die Mail dann ja mit dem generierten privaten Schlüssel und stelle meinen öffentlichen Schlüssel den Empfängern zur Verfügung. Die Schlüssel generiere ich mit WinPT.
So weit so gut. Wie läuft das denn dann auf "der anderen Seite"? Wenn der Empfänger nun mehrere öffentliche Schlüssel von mehreren Personen hat und er die Mail empfängt (z.B. über Outlook)? Muss er dann in diesem Fall eine 1:1 Zuordnung machen? Sprich er bekommt von mir (test@test.de) eine Mail, muss er sich dann manuell den entsprechenden öffentlichen Schlüssel "heraussuchen" und die Mail anhand dessen verifizieren oder läuft das Ganze dann im Hintergrund automatisch, sprich das System gleicht die Mail automatisch im Hintergrund mit allen vorhandenen öffentlichen Schlüsseln ab?
Man generiert sich die Keys (public und private).
Den private gibt man nicht weiter, den public kann man auf Keyservern (zb. bei PGP) veröffentlichen.
Diejenigen, die von mehreren Leuten public Keys erhalten haben, können diese in ihrer Software dem so genannten "Schlüsselbund" hinzufügen.
Erhalten sie nun eine signierte Mail, wird anhand des eingesetzten Keys geprüft, ob dieser mit dem Schlüssel aus dem Schlüsselbund übereinstimmt, der für diesen Absender hinterlegt ist.
Die Mailadresse ist gewissermaßen ja ein Bestandteil des öffentlichen Schlüssels.
öööhm, entweder verhau ich mich gerade total. Aber der Sender verschlüsselt die E-Mail mit dem PublicKey des Empfängers. Der Empfänger kann diese Mail nur mit seinem PrivateKey entschlüsseln. Sprich jede verschlüsselte Mail die die jemand bekommt muesste er entschlüsseln können (sofern für den empfänger der passende Key zum verschlüsseln genutzt wurde). Deswegen sind irgendwelche 1:1 zuordnungen auf Empfängerseite eigentlich überflüssig.
Man generiert sich die Keys (public und private).
Den private gibt man nicht weiter, den public kann man auf Keyservern (zb. bei PGP) veröffentlichen.
Diejenigen, die von mehreren Leuten public Keys erhalten haben, können diese in ihrer Software dem so genannten "Schlüsselbund" hinzufügen.
Erhalten sie nun eine signierte Mail, wird anhand des eingesetzten Keys geprüft, ob dieser mit dem Schlüssel aus dem Schlüsselbund übereinstimmt, der für diesen Absender hinterlegt ist.
Die Mailadresse ist gewissermaßen ja ein Bestandteil des öffentlichen Schlüssels.
Also kann man das ungefähr mit den SSL-Zertifikaten vergleichen. Bekomme ich ein neues Zertifikat muss ich dieses ja entweder annehmen oder ablehnen. Nehme ich dieses an, dann wandert dies in den "Zertifikatspeicher". Bei den nächsten Malen, wenn ich die HTTPS-Seite aufrufe muss ich dann nicht mehr explizit angeben "nimm dieses Zertifikat", sondern der Browser sucht zunächst nach einem passenden Zertifikat im Zertifikatsspeicher.
Wie ich gelesen habe kann man Schlüssel ja auch auf Basis eines Zertifikats erstellen (anstatt einer Passphrase). Ist das richtig? Wenn ja, dann wäre dies doch der sicherere Weg, oder?
öööhm, entweder verhau ich mich gerade total. Aber der Sender verschlüsselt die E-Mail mit dem PublicKey des Empfängers. Der Empfänger kann diese Mail nur mit seinem PrivateKey entschlüsseln. Sprich jede verschlüsselte Mail die die jemand bekommt muesste er entschlüsseln können (sofern für den empfänger der passende Key zum verschlüsseln genutzt wurde). Deswegen sind irgendwelche 1:1 zuordnungen auf Empfängerseite eigentlich überflüssig.
Achtung! Meine Frage zielt auf Signierung einer Mail ab, NICHT auf Verschlüsselung!
Sind ja quasi die entgegengesetzten Wege...
Nun stellt sich mir jedoch noch folgende wichtige Frage: ist bei pgp der Schlüssel fix mit der E-Mail-Adresse verknüpft?
Beispiel: ich generiere mir ein Schlüsselpaar und gebe als E-Mail z.B. test@test.de an. Den öffentlichen Schlüssel gebe ich an Empfänger1 weiter. Nun schreibe ich ihm eine mit dem privaten Schlüssel signierte Mail von test@test.de. Würde ja funktionieren. Aber was passiert, wenn ich eine Nachricht mit genau diesem privaten Schlüssel signiere, die ich an Empfänger1 von testxyz@testxyz.de schicke? Würde das gehen?
Mich würde interessieren wie das genau "im Hintergrund" abläuft. Empfänger1 empfängt eine signierte E-Mail. Was passiert nun? Schaut das E-Mail-Programm erst auf die Absender-E-Mail-Adresse, sucht den passenden Schlüssel aus dem Schlüsselbund heraus und versucht dann den Sender zu verifizieren?
Oder muss ich mir das so vorstellen, dass jeder Schlüssel im Schlüsselbund "ausprobiert" wird, bis der passende gefunden ist?
Bisher habe ich den von Dir geschilderten Fall noch nicht getestet.
Die Frage ist aber: Warum solltest Du den Schlüssel für einen Absender verwenden, der nicht im Schlüssel existiert?
Ich gehe mal davon aus, dass der Empfänger eine Fehlermeldung erhält, dass zu dieser Mailadresse kein passender Schlüssel gefunden werden kann.
An PGP-Keys kann man maximal 4 Benutzerkennungen binden, d.h., Du kannst zu einem Schlüssel(paar) 4 Mailadressen eintragen. Dies muss aber schon bei der Generierung der Schlüssel erfolgen.
Ich kenne z.B. Firmen, die sich der Einfachheit halber einen Schlüssel generieren, der für alle Mailadressen genutzt wird. Das ist aber imho keine saubere Lösung, es sei denn, die Firma hat nur 4 (Absender-)Adressen.
Aber wenn Du Dir die Informationen, die ich verlinkt habe, genau durchliest, sollten keine Fragen offen bleiben...
PGP ist eigentlich sehr gut dokumentiert!
Habe mir die Infos bei Heise bereits durchgelesen, für "meinen" Fall jedoch leider keine wirkliche Lösung gefunden :-(
Wenn ich das richtig verstanden habe, gibt es also z.B. für eine Firma mit 100 Mitarbeitern (und Adressen) grundsätzlich zwei (praktikable) Lösungen:
1. man verwendet ein Schlüsselpaar für alle Mitarbeiter. Die Mails werden dann z.B. auf dem Mailserver beim Versand signiert.
2. man generiert für jeden Mitarbeiter (bzw. für jede Adresse) ein Schlüsselpaar und signiert die Mails dann auf den Clients.
So weit so gut. Doch wie würde das dann bei Subdomains funktionieren?
Nehmen wir als Beispiel die Firma xyz.de. Diese besitzt bereits für alle Adressen ein Schlüsselpaar. Nun möchte die Firma xyz.de noch 20 Adressen in der Subdomain 123..xyz.de mit Schlüsseln versorgen (ALLE Adressen sollen mit EINEM EINZIGEN Schlüssel signieren). Muss ich hierfür dann für diese Subdomain ein neues Schlüsselpaar generieren oder kann ich für die Subdomain eine Art "Unterschlüssel" des "Hauptschlüssels" erzeugen?
Wie ich oben schon schrieb, kann man bis zu 4 Benutzerkennungen (=Mailadressen) an den Schlüssel binden.
Das bedeutet, dass Du natürlich auch eine Mailadresse von einer Subdomain binden kannst.
Deswegen verstehe ich die Problematik nicht ganz...
Schildere Deine Aufgabenstellung mal konkret (und ersetze dabei in den Beispieladressen bitte das @ durch [at], damit kein Link erzeugt wird).