Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Keysigning-Party 2005: Unterschied zwischen den Versionen

K (hat Keysigning-Party nach Keysigning-Party 2005 verschoben)
 
(32 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Wir planen demnächst eine '''PGP Keysigning Party''' durchzuführen. Diese Seite soll der Planung dieser Veranstaltung dienen und einige Informationen zu PGP, dem Prinzip des Web-of-Trust und dem Ablauf des Keysignings dienen.
+
Wir werden am Freitag, den 11.11.2005 um 14:00 Uhr im [[FR 5516]] eine '''PGP Keysigning Party''' durchzuführen. Diese Seite soll der Planung dieser Veranstaltung dienen und den Ablauf erklären. Interessant sind ferner die Artikel [[Web of Trust]] und [[GPG]].
 +
 
 +
<font color="red"><b>Bitte unbedingt die Hinweise zur ANMELDUNG beachten!</b></font>
  
 
== Einführung ==
 
== Einführung ==
''TODO''
 
  
=== Problemstellung ===
+
Bei Keysigning Parties kommen nun eine Anzahl von Personen zusammen, die jeweils prüfen, ob der Inhaber eines Schlüssels in seinem Schlüssel korrekte Angaben zu Emailadresse und Person gemacht hat. Dabei kommt es zu n! Begegnungen - das ganze kann also etwas dauern.
# Man mag den Gedanken nicht, dass der Inhalt der Emails wie bei einer Postkarte von jeder Zwischenstation gelesen werden kann
 
# Man muss jemandem ein Passwort zuschicken
 
# Ein Dokument X soll einem Geschäftspartner P zugestellt werden, ohne dass Fremde den Inhalt erkennen können.
 
# Die Geschäftsleitung möchte eine Anweisung X an die Mitarbeiter geben, wie in Zukunft in bestimmten Situationen gehandelt werden soll. Es muss sicher sein, dass die Geschäftsführer A und B die Absender sind und nicht der unzufriedene Mitarbeiter U.
 
# Man möchte der Überwachung nach der neuen TKÜV entgehen...?
 
  
=== PGP/GPG ===
+
Was soll das ganze nun, oder: Geht das auch weniger kryptisch???
Bei PGP/GPG verden zwei grundsätzlich verschiedene Verschlüsselungsverfahren miteinander kombiniert, die <i>symmetrische</i> und die <i>asymetrische</i> Verschlüsselung. Das Ergebnis ist dann eine sogenannte <i>hybride</i> Verschlüsselung.
 
  
Bei der <i>symmetrischen</i> Verschlüsselung wird zum Verschlüsseln wie zum Entschlüsseln der selbe Schlüssel verwendet. Diese Verfahren sind sehr schnell und eignen sich sehr gut, um große Datenmengen zu verschlüsseln. Leider muss man dazu eine Möglichkeit finden, dem Empfänger neben den Daten auch den Schlüssel zukommen zu lassen, ohne dass andere ihn abfangen können. Beispiele sind AES, Blowfish.
+
Bei einer Keysigningparty möchte man das [[Web of Trust]] stärken. Das heisst, je mehr Leute sich gegenseitig bestätigen, umso verlässlicher wird das Web of Trust.
siehe auch [http://de.wikipedia.org/wiki/Symmetrischer_Verschl%C3%BCsselungsalgorithmus Wikipediaeintrag]
+
Irgendwann ist der Punkt ereicht, ab dem man nicht mehr jeden seiner Kommunikationspartner persönlcih getroffen haben muss, um mit ihm sicher Emails auszutauschen, und sich seiner Identität sicher sein zu können.
  
Bei der <i>asymetrischen</i> Verschlüsselung existieren zwei unterschiedliche Schlüssel, ein öffentlicher, mit dem Daten verschlüsselt werden können und ein privater, mit dem die Daten wieder entschlüsselt werden können. Über ein mathematisches Verfahren ist dabei sichergestellt, dass die Daten nur mit dem geheimen Schlüssel wieder entschlüsselt werden können. 
+
Wenn ich mir durch prüfen der Emailadresse, Vergleichen des Schlüsselfingerprints und Abgleich des Ausweises mit der Person vor mir sicher bin, dass alles korrekt ist, unterschreibe ich mit meinem Schlüssel den Schlüssel des anderen, und sage damit allen, dass ich die Identität meines Gegenübers sorgfältig geprüft habe und mir sicher bin, das er derjenige ist, für den er sich ausgibt.  
Der Vorteil liegt in der Möglichkeit, jedem den öffentlichen Schlüssel zukommen zu lassen, jedoch ist das Verfahren so rechenaufwändig, dass es zum Verschlüsseln großer Datenmengen nicht brauchbar ist. Beispiele: RSA, ElGamal.
 
siehe auch [http://de.wikipedia.org/wiki/Asymmetrischer_Verschl%C3%BCsselungsalgorithmus Wikipediaeintrag]
 
  
Beide Verfahren werden nun verbunden, so dass die Vorteile vereint werden können: Schnelligkeit beim Ver- und Entschlüsseln sowie Sicherheit bei der Schlüsselübergabe:
 
Zunächst wird ein Zufälliger Session-key erzeugt, mit dem dann die geheimen Daten symetrisch verschlüsselt werden. Dieser Schlüssel wird nun mit dem öffentlichen Schlüssel des Empfängers asymetrisch verschlüsselt, und ihm zusammen mit den (verschlüsselten) Daten zugestellt.
 
Der Empfänger entschlüsselt mit seinem geheimen Schlüssel den Session-Key und kann damit die eigentlichen Daten entschlüsseln.
 
  
=== Web of Trust ===
+
== Organisatorisches ==
''TODO''
 
  
Oft ist es nicht möglich, allen Korrespondenzpartnern direkt zu begegnen, dennoch muß man sich über wichtige Dinge absprechen. Das Problem kennen zum Beispiel Debian-Entwickler, die weltweit verteilt sind aber durchaus auch sicherheitsrelevante Informationen absprechen müssen.
+
=== Wann und wo findet die Keysigning Party statt? ===
 
+
Die PGP-Keysigning-Party findet am '''Freitag, dem 11.11.2005''' um '''14:00 Uhr''' im '''[[FR 5516]]''' statt.
Um ein Beispiel zu bringen:
 
 
 
Wir haben (R)otkäppchen, die (G)roßmutter, den (J)äger und den (W)olf.
 
 
 
J kennt G von diversen Besuchen persönlich,
 
allerdings kennt R die G (noch) nicht, zumindest könnte sich der W für sie ausgeben...
 
 
 
Nun hat also der J den Schlüssel von der G unterschrieben und veröffentlicht.
 
R vertraut dem J und seinem Schlüssel, weil sie seinen Ausweis und den Schlüssel bei einem Besuch im Jagdhaus geprüft hat.
 
 
 
Als nun der W ihr einen Schlüssel vorlegt, welcher der G gehören soll, erkennt das R, dass dieser nicht vom Jäger unterschrieben ist und vertraut dem W nicht, weil die Mutter ihr das Prüfen der Signaturen beigebracht hat.
 
 
 
Hingegen hätte die G einen Schlüssel vorweisen können, der vom J unterschrieben ist, dem das R ja vertraut, wodurch sie sich sicher sein kann, auch wirklich die G vor sich zu haben.
 
 
 
<br>
 
Hmmm, naja, oder kurz:
 
 
 
Bei einem Web of Trust verlässt man sich darauf, dass ein Schlüssel der von genügend anderen Mitgliedern, die man persönlich kennt, unterschrieben wurde auch vertrauenswürdig ist.
 
 
 
 
 
 
 
=== Key Signing Parties ===
 
''TODO''
 
Bei Keysigning Parties kommen nun eine Anzahl von Personen zusammen, die jeweils prüfen, ob der Inhaber eines Schlüssels in seinem Schlüssel korrekte Angaben zu Emailadresse und Person gemacht hat. Dabei kommt es zu n! Begegnungen - das ganze kann also etwas dauern.
 
  
== Organisatorisches ==
+
Als Vorbereitung für alle, die nicht genau wissen, wie Emailverschlüsselung funktioniert, bieten wir
''TODO''
+
am '''Mittwoch, dem 09.11.2005''' um '''16:00 Uhr''' im '''[[FR 5516]]''' einen Vortrag zum Thema an.
=== Wann und wo findet die Keysigning Party statt? ===
 
Der Termin steht noch nicht fest, die Raumfrage wird entschieden, wenn die Anzahl der Teilnehmer fest steht. Bei wenig Teilnehmer können wir sie im [[FR 5046]] durchführen.
 
  
 
=== Wer organisiert das ganze? ===
 
=== Wer organisiert das ganze? ===
Zeile 64: Zeile 27:
 
* [[Benutzer:Thomas|Thomas Kaschwig]]
 
* [[Benutzer:Thomas|Thomas Kaschwig]]
  
=== Was muss ich <u>vor</u> der Keysigning-Party machen? ===
+
=== Was muss ich <u>vor</u> der Keysigning-Party machen? / <font color="red"><b>ANMELDUNG erforderlich</b></font> ===
 
# Erzeuge Dir ein PGP-Schlüsselpaar, wenn noch keins vorhanden ist (''gpg --gen-key'')
 
# Erzeuge Dir ein PGP-Schlüsselpaar, wenn noch keins vorhanden ist (''gpg --gen-key'')
 
# Schicke Deinen öffentlichen Schlüssel an den PGP-Keyserver http://subkeys.pgp.net (''gpg --keyserver subkeys.pgp.net --send-keys 0xEIGENE_KEYID'') [optional, jeder bekommt ihn im Keyring von der Freitagsrunde]
 
# Schicke Deinen öffentlichen Schlüssel an den PGP-Keyserver http://subkeys.pgp.net (''gpg --keyserver subkeys.pgp.net --send-keys 0xEIGENE_KEYID'') [optional, jeder bekommt ihn im Keyring von der Freitagsrunde]
# Schicke uns bis zum XX.XX.2005 eine Mail mit Deinem Schlüssel an [mailto:keysigning@freitagsrunde.org|keysigning@freitagsrunde.org] (''<i>gpg --armor --export 0xEIGENE_KEYID &gt; EIGENE_KEYID.asc</i>'')
+
# <b>Schicke uns bis zum 10.11.2005 20:00 Uhr  eine Mail mit Deinem Schlüssel an [mailto:keys@freitagsrunde.org keys@freitagsrunde.org]</b> (''<i>gpg --armor --export 0xEIGENE_KEYID &gt; EIGENE_KEYID.asc</i>'') Sollte der Schlüssel nicht innerhalb von 15 Minuten auf der Teilnehmerliste erscheinen, nimm bitte Kontakt mit uns auf. Versuche vorher aber nach möglichkeit den Schlüssel nocheinmal im Textteil der Email einzubetten, nicht als Anhang, dies kann zu Problemen führen.
# Solltest Du den Termin verpasst haben, bereite für jeden Teilnehmer einen Papierstreifen vor, auf dem die Ausgabe von ''<i>gpg --fingerprint --show-key 0xEIGENE_KEYID</i>'' abgedruckt ist.
+
# Solltest Du den Termin verpasst haben, bereite für jeden Teilnehmer einen Papierstreifen vor, auf dem die Ausgabe von ''<i>gpg --fingerprint --show-key 0xEIGENE_KEYID</i>'' abgedruckt ist und sorge dafür, dass Dein Key auf dem Keyserver zu finden ist - er kann <u>nicht</u> von der Freitagsrunde bereitgestellt werden, auch wenn wir versuchen werden, ihn in den Keyring aufzunehmen, nachdem die KSP vorbei ist!
# Lade nach dem XX.XX.2005 + 7 Tage den Keyring aller eingesandten Schlüssel von [http://www.freitagsrunde.de/keysigning/blah/ksp-fr05.asc www.freitagsrunde.de/keysigning/blah/ksp-fr05.asc] sowie die Liste aller Teilnehmer mit Fingerprints von [http://www.freitagsrunde.de/keysigning/blah/ksp-fr05.asc www.freitagsrunde.de/keysigning/blah/ksp-fr05.txt] herunter.
+
# Lade nach dem 10.11.2005 21:00 Uhr den Keyring aller eingesandten Schlüssel von [http://docs.freitagsrunde.org/keysigning/2005-11-11/ http://docs.freitagsrunde.org/keysigning/2005-11-11/] sowie die Liste aller Teilnehmer mit Fingerprints von [http://docs.freitagsrunde.org/keysigning/2005-11-11/ http://docs.freitagsrunde.org/keysigning/2005-11-11/] herunter, also wenn keine Keys mehr dazukommen.
 
# Drucke die Textdatei aus, z.B. Doppelseitig, 2 Seiten A5 pro Seite A4 (''man a2ps'')
 
# Drucke die Textdatei aus, z.B. Doppelseitig, 2 Seiten A5 pro Seite A4 (''man a2ps'')
# Bilde mit <i>gpg --print-md sha1 ksp-fr05.txt</i> und <i>gpg --print-md md5 ksp-fr05.txt</i> die Prüfsummen über die Teilnehmerliste und trage sie im Ausdruck gut lesbar ein.
+
# Bilde mit <i>gpg --print-md sha1 ksp-fr05.txt</i> und <i>gpg --print-md md5 ksp-fr05.txt</i> die Prüfsummen über die Teilnehmerliste und trage sie im Ausdruck gut lesbar ein (nach dem Ausdrucken - sonst ist der Fingerprint kaputt!).
 +
# Wir werden nach dem Anmeldeschluss einige Bytes der Prüfsummen veröffentlichen, damit jeder grob testen kann, ob beim Download etwas schiefgelaufen ist.
 +
 
 +
$ md5sum ksp-fr5.txt && sha1sum ksp-fr5.txt
 +
a9384ffc0...  ksp-fr5.txt
 +
7f2abfe3e...  ksp-fr5.txt
  
 
=== Was muss ich zur Keysigning-Party mitbringen? ===
 
=== Was muss ich zur Keysigning-Party mitbringen? ===
* Geduld
+
* einen (zuverlässigen) Stift, zwei wenn Du jemandem aushelfen willst ;)
* noch mehr Geduld und Ruhe
+
* Den Ausdruck der Teilnehmerliste mit Fingerprints und Prüfsummen
* einen (zuverlässigen) Stift
 
* Den Ausdruck der Teilnehmerliste mit fingerprints und Prüfsummen
 
* (im Winter) warme Jacke und Hose...
 
  
 
=== Wie läuft die Keysigning Party ab? ===
 
=== Wie läuft die Keysigning Party ab? ===
  
Zu Beginn der Party werden als Erstes die MD5 und SHA1 Prüfsummen über die Ausgedruckten Teilnehmerlisten verglichen.
+
Zu Beginn der Party werden als Erstes die MD5 und SHA1 Prüfsummen über die ausgedruckten Teilnehmerlisten verglichen.
Dazu werden die Prüfsummen vom Organisator etwa an eine Tafel geschrieben.  
+
Dazu werden die Prüfsummen vom Organisator an eine Tafel geschrieben oder laut vorgelesen.  
 
Stimmen die selbst generierten Prüfsummen mit denen der anderen überein, kann man davon ausgehen, dass alle Teilnhmer eine aktuelle Liste als Grundlage benutzen.
 
Stimmen die selbst generierten Prüfsummen mit denen der anderen überein, kann man davon ausgehen, dass alle Teilnhmer eine aktuelle Liste als Grundlage benutzen.
  
 
Danach (etwa 10 Minuten nach dem offiziellen Beginn...) wird begonnen, laut und vernehmlich alle Anwesenden und AnwesendInnen zu fragen, ob die Fingerprints Ihrer Schlüssel auf dem Ausdruck korrekt sind. Jeder markiert dann auf seinem Ausdruck den Eintrag 'Fingerprint OK'. Dazu ist allgemein Ruhe und Konzentration bei allen gefordert.
 
Danach (etwa 10 Minuten nach dem offiziellen Beginn...) wird begonnen, laut und vernehmlich alle Anwesenden und AnwesendInnen zu fragen, ob die Fingerprints Ihrer Schlüssel auf dem Ausdruck korrekt sind. Jeder markiert dann auf seinem Ausdruck den Eintrag 'Fingerprint OK'. Dazu ist allgemein Ruhe und Konzentration bei allen gefordert.
  
Ist dieses Procedere abgeschlossen, stellen sich alle in der Reihenfolge des Ausdrucks in eine Lange Reihe auf. [sollte man das im Freien vorhaben ist bitte auf passendes Wetter und genügend Licht zu achten...]
+
Ist dieses Prozedere abgeschlossen, stellen sich alle in der Reihenfolge des Ausdrucks in einer lange Reihe auf. [sollte man das im Freien vorhaben, ist bitte auf passendes Wetter und genügend Licht zu achten...]
  
 
Nun geht jeweils der/die Erste der Reihe nacheinander an allen TeilnehmerInnen vorbei und zeigt ein Ausweisdokument vor. Jeder Teilnehmer markiert bei Übereinstimmung das Feld 'ID OK' auf seinem Ausdruck. Danach stellt sich der/diejenige an das Ende der Schlange um selbst die ID der anderen zu überprüfen.
 
Nun geht jeweils der/die Erste der Reihe nacheinander an allen TeilnehmerInnen vorbei und zeigt ein Ausweisdokument vor. Jeder Teilnehmer markiert bei Übereinstimmung das Feld 'ID OK' auf seinem Ausdruck. Danach stellt sich der/diejenige an das Ende der Schlange um selbst die ID der anderen zu überprüfen.
  
Hat jemand versäumt, den Schlüssel rechtzeitig einzuschicken stellt er sich zu Beginn an das Ende der Schlange und hält für jeden Teilnehmer einen Schnipsel Papier mit einem Ausdruck von <i>'gpg --fingerprint --list-key KEY_ID'</i> bereit.
+
Hat jemand versäumt, den Schlüssel rechtzeitig einzuschicken, stellt er sich zu Beginn an das Ende der Schlange und hält für jeden Teilnehmer einen Schnipsel Papier mit einem Ausdruck von <i>'gpg --fingerprint --list-key KEY_ID'</i> bereit.
 
Diesen gibt er an alle weiter, wenn er an der Reihe ist die Schlange abzulaufen, und zeigt parallel dazu ein Ausweisdokument vor.
 
Diesen gibt er an alle weiter, wenn er an der Reihe ist die Schlange abzulaufen, und zeigt parallel dazu ein Ausweisdokument vor.
  
Zeile 99: Zeile 64:
 
=== Was muss ich <u>nach</u> der Keysigning-Party machen? ===
 
=== Was muss ich <u>nach</u> der Keysigning-Party machen? ===
 
Eigentlich ganz einfach: <br>
 
Eigentlich ganz einfach: <br>
Alle Schlüssel unterschreiben, bei denen Du die ID und der Inhaber den Fingerprint des Schlüssels geprüft hat. <br>
+
 
 +
* Den aktuellen Keyring nochmal runterladen - wir versuchen die nicht erschienenen Personen zu streichen.
 +
* Alle Schlüssel unterschreiben, bei denen Du die ID und der Inhaber den Fingerprint des Schlüssels geprüft hat. <br>
 +
 
 
Es gibt aber (natürlich) ein paar Fallstricke:
 
Es gibt aber (natürlich) ein paar Fallstricke:
 
* Du übersiehst, dass Du die ID nicht geprüft hast, weil nach 1 Stunde Unterschreiben die Aufmerksamkeit doch nachlässt. Also am besten mit wachem Geiste alle Schlüssel fett durchstreichen, bei denen eines der Felder leer ist, oder bessser mit Textmarker diejenigen markieren, bei denen beide Felder angekreuzt sind.
 
* Du übersiehst, dass Du die ID nicht geprüft hast, weil nach 1 Stunde Unterschreiben die Aufmerksamkeit doch nachlässt. Also am besten mit wachem Geiste alle Schlüssel fett durchstreichen, bei denen eines der Felder leer ist, oder bessser mit Textmarker diejenigen markieren, bei denen beide Felder angekreuzt sind.
 
* Jemand möchte nicht, dass sein Schlüssel auf einen Keyserver hochgeladen wird (er befürchtet z.B. schlicht SPAM).
 
* Jemand möchte nicht, dass sein Schlüssel auf einen Keyserver hochgeladen wird (er befürchtet z.B. schlicht SPAM).
* Du signierst einen Schlüssel mit zugehöriger Emailadresse, bei der zwar der Name (z.B. Peter Müller) stimmt, die Emailadresse (Peter_Mueller@fbi.com) jedoch nicht.
+
* Du signierst einen Schlüssel mit zugehöriger Emailadresse, bei der zwar der Name (z.B. Peter Müller) stimmt, die Emailadresse (peter.mueller@fbi.com) jedoch nicht.
 
* Der Schlüssel hat mehrere Unter-IDs mit unterschiedlichen Emailadressen
 
* Der Schlüssel hat mehrere Unter-IDs mit unterschiedlichen Emailadressen
 
* Es sind plötzlich 200 Teilnehmer geworden und Du willst nicht 2 Wochen lang nur Schlüssel signieren.
 
* Es sind plötzlich 200 Teilnehmer geworden und Du willst nicht 2 Wochen lang nur Schlüssel signieren.
  
  
Für einige dieser Probleme gibt es Lösungen in Form von Shellscripten.<br>
+
Für einige dieser Probleme gibt es Lösungen in Form von Shellscripten, für andere in Form von Kaffee.<br>
Diese funktionieren etwa so:
+
 
 +
Erstere funktionieren etwa so:
 
Jeder Schlüssel wird zerlegt, so dass die einzelnen User-Ids getrennt vorliegen.
 
Jeder Schlüssel wird zerlegt, so dass die einzelnen User-Ids getrennt vorliegen.
Da script signiert jede der User-Ids einzeln und schickt den Signierten Schlüssel in Verschlüsselter Form an die angegebene Emailadresse.
+
Das script signiert jede der User-Ids einzeln und schickt den Signierten Schlüssel in verschlüsselter Form an die angegebene Emailadresse.
 +
 
 +
Für alle Debian-Benutzer: Es hilft eventuell ein 
 +
 
 +
  apt-get install signing-party
 +
 
 +
Das Tool caff aus diesem Package hilft ganz entscheidend, wenn man eine direkte Internetanbindung hat.
 +
 
 +
Für alle, die wie ich, ein Notebook im WLAN der TU benutzen, oder sonstwie ihre mails nicht über den eigenen
 +
Rechner veschicken können, habe ich caff angepasst.
 +
 
 +
Siehe [http://user.cs.tu-berlin.de/~mutax/ksp-scripts/mycaff/ http://user.cs.tu-berlin.de/~mutax/ksp-scripts/mycaff/].
  
 
Damit ist sichergestellt das die Emailadressen alle funktionieren, der Schlüssel nur vom Inhaber entschlüsselt werden kann und dieser selbst entscheiden kann ob der den Schlüssel hochladen möchte.  
 
Damit ist sichergestellt das die Emailadressen alle funktionieren, der Schlüssel nur vom Inhaber entschlüsselt werden kann und dieser selbst entscheiden kann ob der den Schlüssel hochladen möchte.  
Zeile 118: Zeile 98:
 
Aber vorsicht: nicht blind den gesamten Keyring unterschreiben!
 
Aber vorsicht: nicht blind den gesamten Keyring unterschreiben!
  
Durch die Verwendung von <i>agpg</i> unter Linux muss man das Kennwort übrigens nur einmal eintippen, auch wenn dies für Paranoiker nicht geeignet ist, da der Schlüssel dann lange Zeit unverschlüsselt im RAM liegt. (Aber ob 200 mal Eintippen sicherheitstechnisch besser ist, sei dahingestellt)
+
Durch die Verwendung von <i>agpg</i> unter Linux muss man das Kennwort übrigens nur einmal eintippen, auch wenn dies für Paranoiker nicht geeignet ist, da der Schlüssel dann lange Zeit ungeschützt im RAM liegt. (Aber ob 200 mal Eintippen sicherheitstechnisch besser ist, sei dahingestellt)
 +
 
 +
== CAcert ==
 +
http://www.cacert.org/logos/cacert-secured5.png
 +
 
 +
Im Rahmen der Keysigning-Party besteht auch die Möglichkeit, sich bei uns für [[CAcert]] bestätigen zu lassen. Mehr Informationen dazu haben wir auf einer gesonderten [[CAcert|CAcert-Seite]] zusammengefasst.
  
 
== Weblinks ==
 
== Weblinks ==
Zeile 126: Zeile 111:
  
 
für gpg:
 
für gpg:
* keyserver hkp://subkeys.pgp.net (verschiedene Hosts per Loadbalancer)
+
* keyserver hkp://subkeys.pgp.net (verschiedene Hosts per DNS-Roundrobin)
  
 
=== Software ===
 
=== Software ===
Zeile 134: Zeile 119:
 
=== Informationen zu Keysigning Partys ===
 
=== Informationen zu Keysigning Partys ===
 
* http://www.cryptnet.net/fdp/crypto/gpg-party.html
 
* http://www.cryptnet.net/fdp/crypto/gpg-party.html
 +
 +
[[Kategorie: Kryptologie]]
 +
[[Kategorie: Veranstaltungen der Freitagsrunde]]

Aktuelle Version vom 15. Oktober 2006, 20:59 Uhr

Wir werden am Freitag, den 11.11.2005 um 14:00 Uhr im FR 5516 eine PGP Keysigning Party durchzuführen. Diese Seite soll der Planung dieser Veranstaltung dienen und den Ablauf erklären. Interessant sind ferner die Artikel Web of Trust und GPG.

Bitte unbedingt die Hinweise zur ANMELDUNG beachten!

Einführung

Bei Keysigning Parties kommen nun eine Anzahl von Personen zusammen, die jeweils prüfen, ob der Inhaber eines Schlüssels in seinem Schlüssel korrekte Angaben zu Emailadresse und Person gemacht hat. Dabei kommt es zu n! Begegnungen - das ganze kann also etwas dauern.

Was soll das ganze nun, oder: Geht das auch weniger kryptisch???

Bei einer Keysigningparty möchte man das Web of Trust stärken. Das heisst, je mehr Leute sich gegenseitig bestätigen, umso verlässlicher wird das Web of Trust. Irgendwann ist der Punkt ereicht, ab dem man nicht mehr jeden seiner Kommunikationspartner persönlcih getroffen haben muss, um mit ihm sicher Emails auszutauschen, und sich seiner Identität sicher sein zu können.

Wenn ich mir durch prüfen der Emailadresse, Vergleichen des Schlüsselfingerprints und Abgleich des Ausweises mit der Person vor mir sicher bin, dass alles korrekt ist, unterschreibe ich mit meinem Schlüssel den Schlüssel des anderen, und sage damit allen, dass ich die Identität meines Gegenübers sorgfältig geprüft habe und mir sicher bin, das er derjenige ist, für den er sich ausgibt.


Organisatorisches

Wann und wo findet die Keysigning Party statt?

Die PGP-Keysigning-Party findet am Freitag, dem 11.11.2005 um 14:00 Uhr im FR 5516 statt.

Als Vorbereitung für alle, die nicht genau wissen, wie Emailverschlüsselung funktioniert, bieten wir am Mittwoch, dem 09.11.2005 um 16:00 Uhr im FR 5516 einen Vortrag zum Thema an.

Wer organisiert das ganze?

Was muss ich vor der Keysigning-Party machen? / ANMELDUNG erforderlich

  1. Erzeuge Dir ein PGP-Schlüsselpaar, wenn noch keins vorhanden ist (gpg --gen-key)
  2. Schicke Deinen öffentlichen Schlüssel an den PGP-Keyserver http://subkeys.pgp.net (gpg --keyserver subkeys.pgp.net --send-keys 0xEIGENE_KEYID) [optional, jeder bekommt ihn im Keyring von der Freitagsrunde]
  3. Schicke uns bis zum 10.11.2005 20:00 Uhr eine Mail mit Deinem Schlüssel an keys@freitagsrunde.org (gpg --armor --export 0xEIGENE_KEYID > EIGENE_KEYID.asc) Sollte der Schlüssel nicht innerhalb von 15 Minuten auf der Teilnehmerliste erscheinen, nimm bitte Kontakt mit uns auf. Versuche vorher aber nach möglichkeit den Schlüssel nocheinmal im Textteil der Email einzubetten, nicht als Anhang, dies kann zu Problemen führen.
  4. Solltest Du den Termin verpasst haben, bereite für jeden Teilnehmer einen Papierstreifen vor, auf dem die Ausgabe von gpg --fingerprint --show-key 0xEIGENE_KEYID abgedruckt ist und sorge dafür, dass Dein Key auf dem Keyserver zu finden ist - er kann nicht von der Freitagsrunde bereitgestellt werden, auch wenn wir versuchen werden, ihn in den Keyring aufzunehmen, nachdem die KSP vorbei ist!
  5. Lade nach dem 10.11.2005 21:00 Uhr den Keyring aller eingesandten Schlüssel von http://docs.freitagsrunde.org/keysigning/2005-11-11/ sowie die Liste aller Teilnehmer mit Fingerprints von http://docs.freitagsrunde.org/keysigning/2005-11-11/ herunter, also wenn keine Keys mehr dazukommen.
  6. Drucke die Textdatei aus, z.B. Doppelseitig, 2 Seiten A5 pro Seite A4 (man a2ps)
  7. Bilde mit gpg --print-md sha1 ksp-fr05.txt und gpg --print-md md5 ksp-fr05.txt die Prüfsummen über die Teilnehmerliste und trage sie im Ausdruck gut lesbar ein (nach dem Ausdrucken - sonst ist der Fingerprint kaputt!).
  8. Wir werden nach dem Anmeldeschluss einige Bytes der Prüfsummen veröffentlichen, damit jeder grob testen kann, ob beim Download etwas schiefgelaufen ist.
$ md5sum ksp-fr5.txt && sha1sum ksp-fr5.txt
a9384ffc0...  ksp-fr5.txt
7f2abfe3e...  ksp-fr5.txt

Was muss ich zur Keysigning-Party mitbringen?

  • einen (zuverlässigen) Stift, zwei wenn Du jemandem aushelfen willst ;)
  • Den Ausdruck der Teilnehmerliste mit Fingerprints und Prüfsummen

Wie läuft die Keysigning Party ab?

Zu Beginn der Party werden als Erstes die MD5 und SHA1 Prüfsummen über die ausgedruckten Teilnehmerlisten verglichen. Dazu werden die Prüfsummen vom Organisator an eine Tafel geschrieben oder laut vorgelesen. Stimmen die selbst generierten Prüfsummen mit denen der anderen überein, kann man davon ausgehen, dass alle Teilnhmer eine aktuelle Liste als Grundlage benutzen.

Danach (etwa 10 Minuten nach dem offiziellen Beginn...) wird begonnen, laut und vernehmlich alle Anwesenden und AnwesendInnen zu fragen, ob die Fingerprints Ihrer Schlüssel auf dem Ausdruck korrekt sind. Jeder markiert dann auf seinem Ausdruck den Eintrag 'Fingerprint OK'. Dazu ist allgemein Ruhe und Konzentration bei allen gefordert.

Ist dieses Prozedere abgeschlossen, stellen sich alle in der Reihenfolge des Ausdrucks in einer lange Reihe auf. [sollte man das im Freien vorhaben, ist bitte auf passendes Wetter und genügend Licht zu achten...]

Nun geht jeweils der/die Erste der Reihe nacheinander an allen TeilnehmerInnen vorbei und zeigt ein Ausweisdokument vor. Jeder Teilnehmer markiert bei Übereinstimmung das Feld 'ID OK' auf seinem Ausdruck. Danach stellt sich der/diejenige an das Ende der Schlange um selbst die ID der anderen zu überprüfen.

Hat jemand versäumt, den Schlüssel rechtzeitig einzuschicken, stellt er sich zu Beginn an das Ende der Schlange und hält für jeden Teilnehmer einen Schnipsel Papier mit einem Ausdruck von 'gpg --fingerprint --list-key KEY_ID' bereit. Diesen gibt er an alle weiter, wenn er an der Reihe ist die Schlange abzulaufen, und zeigt parallel dazu ein Ausweisdokument vor.

Es empfiehlt sich dringend danach alle Key-Ids auf dem Ausdruck durchzustreichen, bei denen nicht beide Felder abgehakt sind!

Was muss ich nach der Keysigning-Party machen?

Eigentlich ganz einfach:

  • Den aktuellen Keyring nochmal runterladen - wir versuchen die nicht erschienenen Personen zu streichen.
  • Alle Schlüssel unterschreiben, bei denen Du die ID und der Inhaber den Fingerprint des Schlüssels geprüft hat.

Es gibt aber (natürlich) ein paar Fallstricke:

  • Du übersiehst, dass Du die ID nicht geprüft hast, weil nach 1 Stunde Unterschreiben die Aufmerksamkeit doch nachlässt. Also am besten mit wachem Geiste alle Schlüssel fett durchstreichen, bei denen eines der Felder leer ist, oder bessser mit Textmarker diejenigen markieren, bei denen beide Felder angekreuzt sind.
  • Jemand möchte nicht, dass sein Schlüssel auf einen Keyserver hochgeladen wird (er befürchtet z.B. schlicht SPAM).
  • Du signierst einen Schlüssel mit zugehöriger Emailadresse, bei der zwar der Name (z.B. Peter Müller) stimmt, die Emailadresse (peter.mueller@fbi.com) jedoch nicht.
  • Der Schlüssel hat mehrere Unter-IDs mit unterschiedlichen Emailadressen
  • Es sind plötzlich 200 Teilnehmer geworden und Du willst nicht 2 Wochen lang nur Schlüssel signieren.


Für einige dieser Probleme gibt es Lösungen in Form von Shellscripten, für andere in Form von Kaffee.

Erstere funktionieren etwa so: Jeder Schlüssel wird zerlegt, so dass die einzelnen User-Ids getrennt vorliegen. Das script signiert jede der User-Ids einzeln und schickt den Signierten Schlüssel in verschlüsselter Form an die angegebene Emailadresse.

Für alle Debian-Benutzer: Es hilft eventuell ein

 apt-get install signing-party

Das Tool caff aus diesem Package hilft ganz entscheidend, wenn man eine direkte Internetanbindung hat.

Für alle, die wie ich, ein Notebook im WLAN der TU benutzen, oder sonstwie ihre mails nicht über den eigenen Rechner veschicken können, habe ich caff angepasst.

Siehe http://user.cs.tu-berlin.de/~mutax/ksp-scripts/mycaff/.

Damit ist sichergestellt das die Emailadressen alle funktionieren, der Schlüssel nur vom Inhaber entschlüsselt werden kann und dieser selbst entscheiden kann ob der den Schlüssel hochladen möchte. Importiert der Empfänger den Schlüssel dann in gpg, werden die Signaturen wieder zusammengeführt.

Aber vorsicht: nicht blind den gesamten Keyring unterschreiben!

Durch die Verwendung von agpg unter Linux muss man das Kennwort übrigens nur einmal eintippen, auch wenn dies für Paranoiker nicht geeignet ist, da der Schlüssel dann lange Zeit ungeschützt im RAM liegt. (Aber ob 200 mal Eintippen sicherheitstechnisch besser ist, sei dahingestellt)

CAcert

http://www.cacert.org/logos/cacert-secured5.png

Im Rahmen der Keysigning-Party besteht auch die Möglichkeit, sich bei uns für CAcert bestätigen zu lassen. Mehr Informationen dazu haben wir auf einer gesonderten CAcert-Seite zusammengefasst.

Weblinks

Keyserver

für gpg:

  • keyserver hkp://subkeys.pgp.net (verschiedene Hosts per DNS-Roundrobin)

Software

Informationen zu Keysigning Partys