privates, nicht kommerzielles Web
vom Kochen, Lesen, Hörbuchhören, Campen, Website bauen

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18
Sie sind hier: Startseite > PC, Windows und früher auch Linux > Windows > E-Mails verschlüsseln - Schlüssel erstellen
Letzte Bearbeitung:

E-Mails verschlüsseln - dazu sind Schlüsselpaare gemäß OpenPGP erforderlich oder S/MIME-Zertifikate

3DMann mit E-Mail-Symbol-Würfel
Der Umgang mit E-Mails
Peggy und Marco Lachmann-Anke auf Pixabay
Ich lerne noch!
Wer einen Fehler findet möge mich bitte darauf aufmerksam machen!
Dies ist ein Bericht wie ich mir öffentliche und private Schlüssel zur Verschlüsselung nach OpenPGP erstellt habe.

Vor nicht ganz einer Woche (kurz vor Weihnachten) erhielt ich eine E-Mail von einem anderen Webmaster (einer kommerziellen Website) und dessen Signatur (der Footer, nicht die digitale/zertifizierteSignatur) enthielt einige Zeilen die mein Interesse geweckt haben.
Ich habe den Inhalt natürlich anonymisiert:

Name der Firma, Titel und Name des Absenders ... ...
...
------------------------------
Attached .sig or .asc files are result of PGP signature/encrpytion.
My public PGP key xxxxxxxx is available at: http://keys.gnupg.net
Fingerprint: aaaa bbbb cccc ddddd eeee ffff gggg hhhh iiiii jjjj
SHA-1: xx:xx:xx:xx: ......


Ich habe dann mal nachgefragt, wie er das mit der Verschlüsselung so mache. Seine Antwort brachte mich dazu es selbst mal damit zu versuchen, zumindest wollte ich feststellen, ob ich das auch zum Laufen bringen kann.

Vorausgeschickt:

https://de.wikipedia.org/wiki/E-Mail-Verschl%C3%BCsselung

https://page.mi.fu-berlin.de/lohr/email/

Der Beitrag aus der FU Berlin bezieht sich auf die Verschlüsselung mit S/MIME. Dieses Verfahren setzt den Einsatz von Zertifikaten voraus, die von einer Beglaubigungsstelle ausgegeben werden (gegen Gebühr oder auch kostenlos).

Dazu parallel gibt es auch ein Verfahren, dass OpenPGP verwendet. Wie die Bezeichnung OpenPGP vermuten lässt, handelt es sich dabei um OpenSource-Programm-Code. 

Eine kurze Webrecherche hat folgendes erbracht:
  • Die Verschlüsselung mittels S/MIME-Zertifikaten wird in der Regel von Firmen verwendet.
  • Bei S/MIME werden Zertifikate durch Zertifizierungsstellen in 4 Klassen erstellt, teils auch kostenlos. Es ist jedoch immer erst ein mal ein Zertifikat bei einer entsprechenden Stelle zu beantragen.
  • Die Vertrauenswürdigkeit der Zertifikate wird durch die Zertifikatskette der Zertifikatsersteller dokumentiert.
  • Das S/MIME-Verfahren ist jedoch kürzlich gehackt worden. Einige Stimmen gehen davon aus, das damit dieses Verfahren keine Zukunft mehr hat.
  • OpenPGP wird als sicher betrachtet und weil kostenlos mehrheitlich von Privatpersonen oder nicht gewinnorientierten Organisationen und Vereinen genutzt.
  • Für die Veröffentlichung der öffentlichen Schlüssel von OpenPGP stehen einige Keyserver-Verbunde kostenlos zur Verfügung.
  • Thunderbird ab Version 78.2.1 unterstützt sowohl S/MIME als auch OpenPGP nativ, es sind also keine Plugins oder Erweiterungen mehr notwendig.

Thunderbird - Konto-Einstellungen - Ende-zu-Ende-Verschlüsselung
Ende-zu-Ende-Verschlüsselung - Schlüssel Erzeugung und Schlüssel Verwaltung

Da ich erst einmal völlig ohne Kosten herumprobieren möchte fällt S/MIME als Verfahren meiner Wahl aus.

Also werde ich OpenPGP verwenden.

Was ist also OpenPGP? Keine Angst, ich werde nicht vom Hundertsten ins Tausendste kommen, nur ein paar Streiflichter geben:

OpenPGP ist ein standardisiertes Datenformat für verschlüsselte und digital signierte Daten. Auch wird das Format von Zertifikaten festgelegt, die landläufig auch als „Schlüssel“ bezeichnet werden.

Quelle: Wikipedia

Bei OpenPGP werden die Schlüssel durch Programme, die auf dem eigenen Rechner laufen, selbst erzeugt. Man bekommt sie also unmittelbar.

Dafür ist es mit der Nachprüfbarkeit der Vertrauenswürdigkeit zuerst einmal schlechter bestellt. Das ganze, so könnte man sagen, basiert (wie bei OpenSource-Systemen üblich) auf der Gemeinschaft der Nutzer.
Erst wenn solche selbst erzeugten Schlüssel durch andere Nutzer des Schlüssel-Systems beglaubigt werden, steigt die Glaubwürdigkeit des Schlüssels. Stichwort "Web of Trust".

Um die öffentlichen Schlüssel für Andere zugänglich zu machen gibt es unterschiedliche Wege. Beabsichtigt man (wie z.B. ich) nur mit einer sehr kleinen Zahl von E-Mail-Partnern verschlüsselt zu kommunizieren reicht es, den öffentlichen Schlüssel gezielt mitzuteilen, auf der eigenen Website einzustellen oder an eigene E-Mails anzuhängen. Möchte man jedoch erreichen, dass in Zukunft möglichst viele der E-Mails verschlüsselt an die eigene Mail-Adresse versandt werden, so ist es sinnvoll den öffentlichen Schlüssel bei einem Keyserver zu veröffentlichen. Ähnlich wie bei anderen Verzeichnisdiensten im Internet (DNS-Server, Usenet-Server ...) sind viele Keyserver in einem Verbund geschaltet, so dass sie untereinander die Daten angleichen / austauschen. Es gibt jedoch unterschiede: https://de.wikipedia.org/wiki/Schl%C3%BCsselserver#Keyserver
https://www.heise.de/security/dienste/Keyserver-474468.html
https://www.heise.de/security/meldung/Neuer-OpenPGP-Keyserver-liefert-endlich-verifizierte-Schluessel-4450814.html

Wie schon gesagt hat Thunderbird die Möglichkeit an Bord OpenPGP Schlüsselpaare selbst zu erzeugen und zu verwalten. Inzwischen weiß ich, es gibt auch die Möglichkeit ein Backup der Schlüssel aus Thunderbird heraus herzustellen.
Als ich begann, mich mit dem Thema zu beschäftigen, war mir Letzteres noch nicht bekannt.
Deshalb entschloß ich mich ein separates Programm zur Erstellung meiner notwendigen Schlüssel zu verwenden. Mein Korrespondenzpartner hat mich auf GPG4win hingewiesen. Nach kurzer Recherche im Netz schien mir dieses Programm (in Anbetracht meiner teils nicht vorhandenen Kenntnisse) durchaus für mich geeignet.

Logo von GPG4win auf dem gpg4win-Server Link zu gpg4win.de Das Gpg4win-Kompendium

Und so fing es an

(Anleitung lesen ist etwas für die, die keine vermeidbaren Fehler machen wollen oder nicht aus Fehlern lernen wollenwink)

Diese OpenPGP-Schlüsselpaare möchte ich natürlich im Passwort-Tresor/ in Passwort-gesicherten Archiven und auf externen Sicherungsmedien für spätere Neuinstallationen sichern.
Schließlich arbeite ich mit Windows, da sind Neuinstallationen vorprogrammiert. 

Natürlich habe ich (typisch Mann) das Kompendium erst mal nicht gelesen (grins) sondern gleich das Programm herunter geladen (natürlich mit Viren-Check), installiert und gestartet.

Die eigentliche Benutzeroberfläche ist das Programm kleopatra.exe im Verzeichnis C:\Program Files (x86)\Gpg4win\bin.

Im Verzeichnis C:\Program Files (x86)\Gpg4win\share\gpg4win findet man unter Anderem: README.de.txt,  gpg4win-compendium-de.pdf und HOWTO-SMIME.de.txt.

Laut Kompendium (die Einleitung habe ich also doch gelesenwink) ist Kleopatra eine Verwaltungssoftware, die früher nur auf S/MIME-Zertifikate beschränkt war und erst nachträglich mit der Fähigkeit erweitert wurde auch OpenPGP-Schlüssel zu verwalten.

Wer sich wie ich mit dem Gedanken trägt "erst mal rumzuspielen", sollte vor der Veröffentlichung des öffentlichen Schlüssels auf einem Keyserver bedenken, das in der Regel ein späteres Löschen dieses öffentlichen Schlüssels nicht möglich ist!

mit Kleopatra den öffentlichen Schlüssel auf einem Server veröffentlichen      oder       mit Klaopatra den öffentlichen Schlüssel auf einen Server hochladen

Ich denke, gerade weil kleopatra.exe das Veröffentlichen anscheinend so einfach macht, sollte man moch einmal darüber nachdenken den eigenen öffentlichen Schlüssel auf einen Server hochzuladen (ich habe es noch nicht getan, Stand Weihnachten 2020).
Begründung: Wenn man Anfangs noch rumspielt und noch nicht weiss ob man wirklich zur verschlüsselten Kommunikation übergehen will, sollte man das Veröffentlichen des öffentlichen Schlüssels auf einem nicht wieder löschbaren Medium vermeiden. Einträge auf Keyservern sind eben in der Regel nicht mehr löschbar (höchstens mit der gültigen Passphrase noch als ungültig markierbar).
Hat man dann später z. B. den privaten Schlüssel und die dazugehörige Passphrase nicht mehr oder zumindest nicht mehr installiert, ist es nicht mehr möglich einkommende E-Mails zu lesen, die mit diesem öffentlichen Schlüssel verschlüsselt sind. Man wäre also gezwungen, den Absender zu bitten die Nachricht noch einmal unverschlüsselt zu schicken.
Und noch etwas (zumindest habe ich es so verstanden): Absender, die gewohnheitsmäßig verschlüsselt kommunizieren, neigen dazu öffentliche Schlüssel zu einer Mail-Adresse zu importieren (es gibt da eine Suchfunktion). Ist erst einmal ein öffentlicher Schlüssel im E-Mail-Client installiert / importiert wird dieser Client die weitere Kommunikation mit dem Schlüsselinhaber automatisch verschlüsseln (weil "default"-Einstellung). Erst wenn der öffentliche Schlüssel wieder in der Schlüsselverwaltung gelöscht wird / die default-Einstellung geändert wird, werden E-Mails an einen selbst wieder unverschlüsselt gesendet. Das heißt: Der Andere muss etwas tun (was Zeit und Wissen/Willen erfordert), damit in Zukunft nicht mehr verschlüsselt kommuniziert wird. 

Hat man den eigenen öffentlichen Schlüssel nicht auf einem Keyserver liegen und man möchte die verschlüsselte Kommunikation aufgeben reicht es in der Regel, die bisherigen Kommunikationspartner zu informieren, die Weitergabe des öffentlichen Schlüssels zu beenden und (wenn erfolgt) die Schlüsselveröffentlichung auf dem eigenen Webserver zu löschen.

Genug der Vorrede - das habe ich gemacht:

Programm Kleopatra gestartet. Und dann -> Datei -> Neues Schlüsselpaar
neues Schlüsselpaar mit Kleopatra erstellen

Dadurch startet der Assistent zur Erstellung eines Schlüsselpaares.
Assistent zur Erstellung eines Schlüsselpaars

Ich habe die Option OpenPGP gewählt.
Eingabemaske zur Erstellung eines Schlüsselpaars

In den erweiterten Einstellungen habe ich die Beschränkung der Gültigkeit auf einen bestimmten Zeitraum abgewählt (Haken entfernt). Sollte sich bestätigen, was ich nachträglich in einem Artikel gelesen habe (Outlook ab 2019, The Bat und andere E-Mail-Clients werten eine unbegrenzte Laufzeit der Schlüssel als Fehler), werde ich wohl in der Schlüsselverwaltung die Eigenschaften der Schlüssel ändern müssen (Laufzeit auf 3 Jahre beschränken).
Erweiterte Einstellungen - keine Beschränkung der Gültigkeit

Nach Rückkehr auf das zuvor gezeigte Formular wird der Name und die zugehörige E-Mail-Adresse eingegeben. Jetzt zeigt Kleopatra das Eingegebene zur Überprüfung an. Ich habe hier einen Haken bei "Alle Details anzeigen" gemacht.
Einstellungen überprüfen mit allen Details
Die Daten sind natürlich nur Dummis (alles wieder gelöscht, grins).

Jetzt wird die Passphrase abgefragt. Die ist sozusagen der Schlüssel zum Tresor. Wird die verloren/gelöscht/vergessen kann man das Schlüsselpaar eigentlich vergessen. Zum Import in Thunderbird wird diese Passphrase benötigt, bei Änderungen am Schlüsselpaar ist sie notwendig und falls man den öffentlichen Schlüssel auf einem Keyserver für ungültig erklären möchte ist sie ebenfalls notwendig. Also: unbedingt sichern/notieren/extern speichern!
Passphrase eingeben

Sollte man zu lange brauchen um sich für eine Passphrase zu entscheiden oder sie im Passwort-Tresor zu speichern bricht Kleopatra die Eingabe ab. Ich empfehle dringend die Passphrase vor der Eingabe in Kleopatra im Tresor zu speichern und sie dann aus dem Tresor in die Zwischenablage zu kopieren und in Kleopatra dann aus der Zwischenablage einzufügen. Dies verhindert Eingabefehler bzw. Abweichungen zwischen Passwort-Tresor und Kleopatra.
Hat Kleopatra die Eingabe abgebrochen ist das kein Beinbruch. Der Assistent kann ohne Verlust der bisherigen Eingaben neu gestartet werden.
Wird eine schwache Passphrase eingegeben gibt Kleopatra einen Warnhinweis aus.
Warnung vor schacher Passphrase

Nachdem eine Passphrase erfolgreich eingegeben wurde wird der Schlüssel erstellt. Wie Kleopatra schon angekündigt hat dauert die Erstellung der Schlüssel eine Weile (es beschleunigt die Erstellung, wenn die Maus bewegt wird oder in einem anderen Programm gleichzeitig Dateioperationen laufen, hat was mit schnellerer Erzeugung von Zufallszahlen zu tun).
Schlüsselpaar erfolgreich erstellt

Den Fingerabruck sollte man angeben, wenn man den öffentlichen Schlüssel irgendwo anbietet. Daher den ebenfalls im Passwort-Tresor speichern / sonst wo sichern!
Und nun ganz wichtig: Sicherheitskopie Ihres Schlüsselpaars erstellen ...

Aber Achtung! Ich vermute da einen Bug in Kleopatra. Bin mir jedoch nicht sicher, ob ich da recht habe.
Fakt ist: Bei mir wurde immer nur der private Schlüssel und nicht das Schlüsselpaar exportiert!!!

Daher immer auch noch den öffentlichen Schlüssel per Mail an sich selbst versenden (bzw. exportieren, wenn das per E-Mail nicht klappt)!

Wie schon angedeutet hat das bei mir und Thunderbird mit dem E-Mail-Versand bisher nicht geklappt:
Versandt des öffentlichen Schlüssels per Mail gescheitert

Alternativ kann der öffentliche Schlüssel über das Menü von Kleopatra exportiert werden:
Im Übersichtsfenster die Zeile markieren, die Name und E-Mail-Adresse enthält, von der der öffentliche Schlüssel exportiert werden soll:

Dann im Menü Datei -> Exportieren ...
privaten-Schlüssel-exportieren

oder alternativ einen Rechtsklick auf die Zeile deren zugehörige Schlüssel exportiert werden sollen:
Kontextmenü

und den Ort und den Namen der Speicherung bestimmen
öffentlicher Schlüssel speichern

Über das Kontextmenü kann auch ein Backup des Secret Key (privater Schlüssel) erstellt werden.

Ich fasse alle Sicherungen erst einmal in einem temporären Verzeichnis zusammen:
Sicherungen zuerst einmal in einem Verzeichnis zusammenführen

Für den Fall, das mein PC gehackt wird, speichere ich wirklich wichtige Geheimdaten nicht im Klartext auf der Festplatte.
Solche Dateien (also z.B. "Tester von lembach-kr.de_0x6D95F348_SECRET.asc" verlagere ich in ein Passwort-geschütztes Archiv. Die Passphrase ist ebenfalls sehr wichtig und daher wird auch sie geschützt.
Der öffentliche Schlüssel braucht natürlich nicht geschützt zu werden. Der Fingerprint soll ja auch veröffentlicht werden, muß also ebenfalls nicht geschützt werden.  
Wenn dann die Sicherungen an den richtigen Stellen abgespeichert wurden und auf externe Datenträger kopiert wurden, sollte man die Dateien im temporären Verzeichnis unwiederruflich löschen (shift rechts klicken löschen).

Damit ist die Schlüsselerstellung erfolgreich abgeschlossen.

Bildquellen

Slideshow von Gray_RheeBruno GlätschSergio StockflethJames Osbornefancycrave1

Computer-Netzteil: Bild von Igor Schubin auf Pixabay


| Seitenanfang |