Pretty Good Privacy: Unterschied zwischen den Versionen

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen
Zeile 105: Zeile 105:
;lokal signieren mit lsign - lokale Signaturen werden nicht auf Server übertragen
;lokal signieren mit lsign - lokale Signaturen werden nicht auf Server übertragen


Statt lsign kann auch sign verwendet werden, aber diese Signatur wird dann ggf. öffentlich. Dies kann im Sinne des [[WoT]] aber auch gewollt sein.
Statt lsign kann auch sign verwendet werden, aber diese Signatur wird '''[[Pretty_Good_Privacy#.28.C3.96ffentlich.29_Signieren|dann ggf. öffentlich]]'''. Dies kann im Sinne des [[WoT]] aber auch gewollt sein.


# $<code>gpg --edit-key ${key-id oder bestandteil von email bzw. name}</code>
# $<code>gpg --edit-key ${key-id oder bestandteil von email bzw. name}</code>

Version vom 5. Oktober 2014, 22:41 Uhr

Pretty Good Privacy

OpenPGP ist der bekannteste und am weitesten verbreitete offene Standard für Datei- und E-Mail-Verschlüsselung. Die bekanntesten Implementierungen dieser asynchronen Kryptografie nach dem Kerckhoff-Prinzip ist GnuPG.

die Schlüssel

Ein kleines Video erklärt das Prinzip der verteilten Briefumschläge/Schlösser (alias öffentliche Schlüssel) und der nicht veröffentlichten privaten Schlüssel.

Privater Schlüssel

Ist ein Geheimer Schlüssel mit dem eine digitale Unterschrift unter beliebige Daten gesetzt werden kann. Diese kann dann durch Besitzer des Öffentlichen Schlüssels mathematisch verfiziert werden. Dieses Signatur-Verfahren stellt die Integrität der unterschriebenen Daten sicher.

Weiterhin können

Öffentlicher Schlüssel

Bildlich gesprochen ist das die Blaupause für einen Briefumschlag den nur der Besitzer des privaten Schlüssels öffnen kann. Darin können beliebige Daten abgelegt oder versendet werden, damit kann die Vertraulichkeit von Daten gesichert werden.

Je nach Verwendungszweck sind diese Schlüssel für jeden auffindbar - durch einen Namen oder sogar ergänzende Informationen wie E-Mail-Adressen, Kommentare oder Bilder gekennzeichnet - oder nur an gewünschte Kommunikationspartner übergeben.

Die tatsächliche Erkennung des Schlüssels ist jedoch über den Fingerabdruck möglich.

Web of Trust

Ein Netzwerk gegenseitigen Vertrauens. Es basiert auf der Annahme, dass

  1. Menschen sich über n Ecken kennen
  2. und der Aufwand zur Überprüfung von Fingerabdrücken der Schlüssel damit beherrschtbarer wird
  3. Menschen ohne persönliche Bekanntschaft über gemeinsame Bekannte systematisch verifizieren können ob das Gegenüber vertrauenswürdig ist .

Diese Annahmen sind natürlich nicht immer zutreffend.

Praxis mit GnuPG

GNU/Linux

Beispiele auch auf Empfehlung von riseup

ein guter Start sind diese beiden
  • $man gpg
  • $gpg --help

Schlüssel erstellen

Basics

Auf Linux Shell mit GnuPG sieht das dann so aus:

  1. $gpg --gen-key
  2. 1
  3. 4096
  4. 1y
  5. j
  6. (irgend)ein Name (z.B. der Nutzer-Anteil der Email-Adresse)
  7. mailadresse@fakultativ.foo
  8. Kommentare sind oft unsinn
  9. F
  10. Das sichere Passwort
  11. Das sichere Passwort
  12. warten auf Zufallswerte, geht schneller wenn man nebenbei an dem Rechner arbeitet oder spezielle Hardware dafür hat
Mit Enigmail (in Thunderbird etc)
Mit gpg4win (z.B. für Outlook)
Ambitioniert

tbc: mit gesondertem Schlüssel zum Wiederrufen

Kinderleicht

Der Schwierigkeitsgrad der Handhabung ist eine Frage der Sicherheit. Je einfacher das System ist, desto weniger Sicherheitsmaßnahmen (technisch, organisatorisch) können angewendet werden.

Dennoch macht es Sinn auch ohne große Sicherheitsvorkehrungen Kryptografie zu verwenden, ein gutes Beispiel hierfür ist p≡p (noch im Crowdfunding).

Private Schlüssel auflisten

Wenn man wissen will, welche privaten Schlüssel dem Nutzer bereitstehen oder ggf. noch importiert werden müssen:

$gpg -K


Wiederrufszertifikat erstellen

tbc ...

Wiederrufszertifikat benutzen

Schlüssel von Kommunikationspartnern suchen/importieren

aus einer Datei

$gpg --import ${datei}

von einem Server

Schlüssel können auf zwei Arten von Keyservern importiert werden

  • $gpg --search-keys ${emailadresse}
  • $gpg --recv-key ${key-id}

Schlüsseln von Kommunikationspartnern vertrauen - lokal signieren

lokal signieren mit lsign - lokale Signaturen werden nicht auf Server übertragen

Statt lsign kann auch sign verwendet werden, aber diese Signatur wird dann ggf. öffentlich. Dies kann im Sinne des WoT aber auch gewollt sein.

  1. $gpg --edit-key ${key-id oder bestandteil von email bzw. name}
  2. >help
  3. >trust
  4. ?3
  5. >lsign
  6. ?j
  7. :${Das geheime Passwort}
  8. save

(Öffentlich) Signieren

Auch hier wird dem Schlüssel Vertrauen verliehen, aber dies ggf. öffentlich.

s.o. einfach sign statt lsign

Schlüssel an Server senden

$gpg --send-keys ${liste von schlüssel-ids}

Signatur einer Nachricht überprüfen

eine Nachricht verschlüsseln

eine Nachricht entschlüsseln

siehe auch

Etwas detaillierter bieten andere Quellen Aufklärung: