Kryptographisches Vertrauen und OpenPGP erklärt

2026-02-18T19:57:27+08:00

In diesem Beitrag erkläre ich kryptographisches Vertrauen, OpenPGP, wie beides funktioniert und warum es wichtig ist.

Technischer Hintergrund: wie Mathematik Sicherheit und Privatsphäre schützt

Wenn Sie sich nicht für die mathematischen Grundlagen asymmetrischer Kryptographie und OpenPGP interessieren und nur wissen möchten, wie man kryptographisches Vertrauen sinnvoll nutzt, sollten Sie die folgenden Punkte kennen:

Wenn Sie praktische Hinweise brauchen, können Sie den Rest dieses Abschnitts überspringen.

Symmetrische Verschlüsselung verwendet denselben Schlüssel zum Ver- und Entschlüsseln. Sie kann gegen Brute-Force-Angriffe sicher sein, hat aber praktische Nachteile. Wenn Alice und Bob symmetrische Verschlüsselung verwenden, müssen sie zuvor einen gemeinsamen Schlüssel vereinbaren, was in der Regel einen separaten sicheren Kanal erfordert (z. B. ein persönliches Treffen). Das ist unpraktisch, und der gemeinsame Schlüssel darf nicht bekannt werden — wenn Mallory den Schlüssel erlangt, ist die Vertraulichkeit aufgehoben.

Asymmetrische Kryptographie löst dieses Problem. Asymmetrische Verfahren verwenden unterschiedliche Schlüssel für Verschlüsselung und Entschlüsselung — öffentliche und private Schlüssel. Öffentliche Schlüssel können auf einer persönlichen Webseite oder in sozialen Medien veröffentlicht werden, da sich aus einem öffentlichen Schlüssel nicht die zugehörige private Schlüssel ableiten lässt; der private Schlüssel bleibt geheim.

Sorgfältig konstruierte Algorithmen erzeugen Schlüsselpaare so, dass mit dem öffentlichen Schlüssel verschlüsselte Daten nur mit dem korrespondierenden privaten Schlüssel entschlüsselt werden können. Beispiele sind RSA und Elliptische Kurven Kryptographie (ECC).

RSA ist ein klassischer asymmetrischer Algorithmus mit langer Geschichte. Das Verständnis von RSA hilft beim Aufbau einer Intuition für asymmetrische Kryptographie.

Kurz zur RSA-Schlüsselgenerierung: Alice wählt zufällig zwei verschiedene Primzahlen p und q. Sie berechnet n = p * q und Φ(n) = (p - 1) * (q - 1) und wählt eine ganze Zahl e mit 1 < e < Φ(n), die zu Φ(n) teilerfremd ist. Dann berechnet sie das multiplikative Inverse von e modulo Φ(n) und benennt es d. Die öffentliche Schlüssel von Alice sind (n, e), ihr privater Schlüssel ist (n, d). Um eine Nachricht m zu verschlüsseln, berechnet Bob c = (m ** e) % n und sendet c an Alice; Alice gewinnt m zurück mit m = (c ** d) % n.

Man fragt sich: Kann man bei Kenntnis von (n, e) d berechnen? Um d zu finden, braucht man Φ(n), wofür man p und q kennen muss. p und q aus n zu gewinnen erfordert die Faktorisierung von n. Für gebräuchliche RSA-Schlüssellängen (z. B. 4096 Bit) ist das praktisch nicht durchführbar. Darin liegt die Sicherheit von RSA.

ECC und andere Verfahren beruhen auf anderen mathematisch schwierigen Problemen, folgen aber derselben Kernidee: Es soll praktisch unmöglich sein, private Schlüssel aus öffentlichen Schlüsseln abzuleiten.

Bei der Wahl des modularen Inversen nimmt man das kleinste positive Inverse, das kleiner als Φ(n) ist. Wäre g = gcd(d, Φ(n)) > 1, ergäbe sich eine Widerspruchssituation (da e * d + k * Φ(n) = 1), also muss g == 1 sein. Damit sind d und Φ(n) teilerfremd. Diese Symmetrie zeigt, dass e und d komplementäre Eigenschaften haben; ihre Rollen sind mathematisch verwandt, in der Praxis werden sie aber unterschiedlich für Signatur und Verschlüsselung eingesetzt.

Konkret wird beim RSA-Signieren oft s = m ** d % n berechnet und die Verifikation durch m == s ** e % n geprüft. Für Vertraulichkeit und Authentizität signiert der Sender üblicherweise zuerst mit seinem privaten Schlüssel und verschlüsselt dann die signierten Daten mit dem öffentlichen Schlüssel des Empfängers. Der Empfänger entschlüsselt mit seinem privaten Schlüssel und überprüft anschließend die Signatur mit dem öffentlichen Schlüssel des Senders.

Was ist kryptographisches Vertrauen und warum ist es wichtig

Überall auf der Welt wirken sich Überwachung und Zensur auf die Kommunikation aus. Neben bekannten Risikoregionen sorgen auch bestimmte politische Vorschläge in Europa für Besorgnis. Die Verwendung von freien Messenger-Implementierungen mit Ende-zu-Ende-Verschlüsselung — etwa XMPP, Matrix und SimpleX — schützt die Kommunikation zumindest teilweise. Asymmetrische Kryptographie ermöglicht es, sichere Kanäle zwischen Kontakten einzurichten, ohne bereits vorhandenen sicheren Tunnel: ein Schlüssel verschlüsselt, der andere entschlüsselt, und nur der Inhaber des privaten Schlüssels kann die Nachricht lesen.

Es besteht jedoch ein weiteres Problem: Alice und Bob können versuchen, öffentliche Schlüssel auszutauschen, sind aber einem Man-in-the-Middle-Angriff ausgesetzt. Wenn Mallory beide öffentlichen Schlüssel abfängt und jeweils ihre eigene öffentliche Schlüssel sendet, werden Alice und Bob die Schlüssel des jeweils anderen fälschlich als echt ansehen. Mallory kann dann Nachrichten entschlüsseln, verändern, neu signieren und weiterleiten. Dadurch sind Vertraulichkeit und Authentizität aufgehoben.

Um dies zu verhindern, muss Alice verifizieren, dass die erhaltene öffentliche Schlüssel tatsächlich Bob gehört. Diese Verifikation erfordert einen vertrauenswürdigen Kanal (z. B. ein persönliches Treffen). Der Vorgang, eine öffentliche Schlüssel einem bestimmten Inhaber zuzuordnen, ist das, was wir unter kryptographischer Vertrauensbildung verstehen.

Sobald eine Schlüssel als zu einer Person gehörend verifiziert ist, ist es praktisch unmöglich für einen Angreifer, diese Person zu imitieren, ohne die private Schlüssel zu berechnen.

Grundprinzip: Überprüfung der Identitätskohärenz

Man kann ein umfangreiches Vertrauensnetz bauen; das Grundprinzip bleibt jedoch: Man stellt kryptographisches Vertrauen in eine Identität her, indem man ihre Kohärenz mit einer bereits vertrauenswürdigen Identität überprüft.

In der Kryptographie entspricht ein öffentlicher Schlüssel einer Identität. Merken: öffentlicher Schlüssel = Identität (im Kontext schlüsselbasierter Vertrauensbildung).

Die Überprüfung der Kohärenz läuft meist in zwei Schritten ab:

Beispiel: Wenn Alice verifizieren möchte, dass eine öffentliche Schlüssel Bob gehört, trifft sie Bob persönlich und erfragt die Fingerabdruck der Schlüssel. Sie kann Bob auch auffordern, eine Herausforderung zu signieren. Wenn die Signatur verifiziert, stellt Alice Vertrauen in diese Schlüssel her.

Ist bereits eine Schlüssel A vertrauenswürdig und Alice möchte eine weitere Schlüssel B prüfen, kann sie beide durch gegenseitige Atteste verknüpfen: Die private Schlüssel zu A signiert eine Aussage, die die Fingerabdruck von B enthält; die private Schlüssel zu B signiert eine Aussage, die die Fingerabdruck von A enthält. Sind beide Signaturen gültig, ist die Konsistenz gegeben und Vertrauen überträgt sich.

Welche Identität zuerst vertrauen?

Der Prozess stützt sich auf eine bereits vertrauenswürdige Identität. Für eine neue Bekanntschaft vertraut man üblicherweise der ersten Identität, die man sieht — das ist ToFU (Trust On First Use); diese zuerst vertraute Identität ist die initial identity.

Beispiel: Treffen sich Alice und Bob persönlich, ist die initiale Identität für Bob die Person selbst. Treffen sie sich in einer Matrix-Community, ist es das Matrix-Konto und seine öffentliche Schlüssel. Auf XMPP kann es der OMEMO-Fingerabdruck der ersten Nachricht sein.

Das ist praktisch: Wenn Sie jemanden, den Sie online kennengelernt haben, persönlich treffen, verifizieren Sie in der Regel die Person mit dem gleichen Kommunikationsmittel, über das Sie sie kennenlernten.

Übliche Praktiken

Indem Alice Kohärenzen verifiziert, baut sie ein Graph auf: Identitäten = Knoten, bestätigte Kohärenzen = Kanten. Alle Knoten, die mit Bobs initialer Identität verbunden sind, sind Bobs vertrauenswürdige Identitäten.

Gängige Strategien:

  1. Unbeschränkte Vertrauenskette / -netzwerk. Jede vertrauenswürdige Identität kann neue Identitäten bestätigen.
    Vorteile: Bequemlichkeit, weniger Risiko, die Verbindung zu verlieren.
    Nachteile: Geringere Robustheit gegen Identitätsdiebstahl; eine einzige Kompromittierung kann weitreichende Folgen haben.

  2. Initial-Identity-zentriert. Nur die initiale Identität darf andere identifizieren.
    Vorteile: Robustheit bei starker initialer Identität; kurze Vertrauensketten.
    Nachteile: Single point of failure.

  3. Einzigartige kryptographische Identität-zentriert. Die initiale Identität etabliert zuerst eine einzigartige kryptographische Identität (meist ein Schlüsselpaar), und nur diese dient anschließend zur Bestätigung anderer Identitäten. Das ist meine Strategie; ich nutze OpenPGP.
    Vorteile: Ausgewogenheit zwischen zentraler Robustheit und kurzen Ketten.
    Nachteile: Single point of failure.

Eine verbreitete Methode: challenge–response

Wenn Alice schon einer öffentlichen Schlüssel von Bob vertraut, aber überprüfen möchte, dass die gegnerische Person die private Schlüssel besitzt, verwendet man ein challenge–response:

  1. Alice erzeugt eine zufällige Zeichenfolge (Challenge).
  2. Alice sendet diese an Bob; Bob signiert sie mit seiner privaten Schlüssel.
  3. Bob sendet die Signatur zurück; Alice verifiziert sie mit der öffentlichen Schlüssel.

Eine gültige Signatur beweist, dass der Antwortende die private Schlüssel besitzt.

Sehr wichtig: Preisgeben der privaten Schlüssel vermeiden

Die Sicherheit des Vertrauensnetzes beruht auf der Geheimhaltung privater Schlüssel. Wird eine private Schlüssel kompromittiert, ist das Vertrauen zerstört.

Deshalb: Geben Sie Ihre private Schlüssel nicht preis. Ist die private Schlüssel offenbart, ist das Vertrauen in Sie ungültig.

Bei OpenPGP-Nutzern: BEWAHREN SIE IHRE OPENPGP-PRIVATE-KEY STRIKT GEHEIM AUF. Die private Schlüssel auf einem Hardware-Token (z. B. Nitrokey, CanoKey, YubiKey) zu speichern, ist empfehlenswert. Falls nicht möglich, speichern Sie sie zumindest auf einem Gerät, das ausschliesslich freie Software ausführt.

OpenPGP und freie Implementierungen

OpenPGP ist eine Spezifikation, die beschreibt, wie Schlüsselmaterial strukturiert und genutzt wird. OpenPGP unterstützt RSA, ECC und weitere Algorithmen.

Beispiel mit GnuPG :

  1. Schlüsselerzeugung: gpg --full-generate-key.
  2. Verschlüsselung: gpg --encrypt (z. B. cat <filename> | gpg --encrypt) ; mit --armor erhält man ASCII-armour.
  3. Klare-Text-Signatur: gpg --clear-sign.
  4. Entschlüsselung / Verifikation: gpg --decrypt.

Unter GNU/Linux, *BSD, Windows und macOS ist GnuPG die gebräuchlichste Implementierung; Kleopatra ist eine grafische Oberfläche. Für Android ist OpenKeychain verbreitet.

Für detaillierte Anleitungen siehe die entsprechende Dokumentation, etwa die FSF Email Self-Defense Guide oder das GnuPG-Handbuch.

OpenPGP für E-Mail verwenden

Freie E-Mail-Clients wie Thunderbird unterstützen OpenPGP. Sie ermöglichen das Ver- und Entschlüsseln sowie die Signaturverifikation nahtlos. Browser-Erweiterungen wie Mailvelope integrieren OpenPGP in Webmail-Dienste.

Lesen Sie die Dokumentation Ihres Clients für konkrete Schritte.

OpenPGP zur Vertrauensbildung nutzen

Der Ablauf ist einfach:

  1. Fordern Sie die OpenPGP-Public-Key einer Person an.
  2. Verifizieren Sie die Kohärenz zwischen der Schlüssel und der initialen Identität — so entsteht Vertrauen.
  3. Beim späteren Prüfen anderer Identitäten verifizieren Sie deren Kohärenz gegenüber der OpenPGP-Schlüssel.

Schlusswort: Nutzen Sie freie Software mit Bedacht

Dank der freien Software-Gemeinschaft stehen robuste Werkzeuge zur Verfügung. Durch deren sinnvolle Anwendung können wir Sicherheit, Privatsphäre und digitale Rechte verteidigen und uns vor Überwachung, Zensur und sonstigen Bedrohungen schützen.

Tildeverse Banner Exchange