KeySigning

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Neu.png Dieser Artikel wurde neu erstellt und bedarf evtl. noch einer Korrekturlesung. Danach kann diese Box entfernt werden.
Dieser Artikel ist Teil der HOWTO Sammlung

Das Keysigning teilt sich in mehrere Phasen auf. Es gibt eine Vorbereitungsphase, die Prüfphase und das eigentlichen Signieren der Schlüssel. Der härteste Teil nach dem Besuch einer Keysigning-Party ist das Signieren der Schlüssel aller Teilnehmer. Da im Normalfall mehr als fünf Menschen an einer Keysigning-Party teilnehmen, ist das Signieren mit einem ziemlich grossen Zeitaufwand verbunden. Mit caff existiert ein Werkzeug, welche diese Arbeit erleichtert.

Inhaltsverzeichnis

Installation

caff befindet sich innerhalb der pgp-tools in den Repositories von Fedora. Die Installation ist mit yum, PackageKit oder yumex schnell erledigt.

[root]# yum install pgp-tools


Vorbereitung

Je nach Grösse der Veranstaltung gibt es mehrere Arten, wie die Schlüssel bekannt gemacht werden. Bei Keysigning-Parties, wie am LinuxTag oder an der FOSDEM, werden die Schlüssel vorgängig an einen Server übertragen, damit sich alle Teilnehmer eine Liste ausdrucken können. Bei kleineren Events wird mit Papierstreifen gearbeitet. Hier wird nur auf die Papierstreifen eingegangen, da die Prozedur mit dem Übertragen des Schlüssel an einen Server auf viele Arten erfolgen kann und sich von Veranstaltung zu Veranstaltung unterschiedet.

Bestimmen des Schlüssels

Eine Liste der vorhandenen Schlüssel kann sehr einfach erzeugt werden.

gpg --list-secret-keys | grep ^s

Nun kann der gewünschte Schlüssel für das Signieren ausgewählt werden. Falls Ihr Schlüssel noch nie an einen Key-Server geschickt wurde, kann dies mit nachfolgendem Befehl gemacht werden.

gpg --keyserver subkeys.pgp.net --send-keys KEYID 

Papierstreifen

Da nun die Schlüssel-ID bekannt ist, können die Papierstreifen erzeugt werden.

gpg-key2ps KEYID >> key.ps

Die erzeugte Postscript-Datei kann nun beliebig oft ausgedruckt werden. Wer lieber eine pdf-Datei hätte, kann die ps-Datei mit

ps2pdf key.ps

umwandeln.


Konfiguration zum Signieren

caff

Nach der Installation existiert im Benutzerverzeichnis die Konfigurationsdatei ~/.caffrc, welche die relevanten Daten für caff enthält. Benötigt wird für den nachfolgenden Schritt die "lange" Schlüssel-ID.

gpg --with-colons --list-key 0x36A4397F

Die Ausgabe sieht dann etwa so aus:

tru::1:1220309775:1241432845:3:1:5
pub:f:1024:17:E23CD2DD36A4397F:2007-03-14:::-:Fabian Affolter <fabian AT bernewireless DOT net>::scaESCA:
uid:f::::2007-12-11::7454FB530124CAE47D01BAE79C1909FAA7D86B59::Fabian Affolter <fabian.affolter@fedoraproject.org>:
uid:f::::2008-04-28::CF55BF8C6FF3570A5B01FA8EBE0B722D94D5153C::Fabian Affolter <fab ATvfedorawiki DOT de>:
uid:f::::2008-05-25::029B1288B4E408451280B0873D16617187A0FF97::Fabian Affolter <fab AT fedoraproject DOT org>:
sub:f:2048:16:4A5480C3DA56336A:2007-03-14:2012-03-12:::::e:

Die erlangten Daten, genauergesagt die lange Schlüssel-ID der Hauptidentität (E23CD2DD36A4397F), müssen nun in die Konfigurationsdatei eingetragen werden. Ebenfalls muss gegen Ende der Datei, ab $CONFIG{'mail-template'}, die Auskommentierung entfernt werden. Dieser Teil bildet die eigentliche Nachricht, welche versendet wird.

# $Id: caffrc.sample 277 2006-05-01 11:12:35Z myon $
# vim:ft=perl:

$CONFIG{'owner'}       = 'Vorname Nachname';
$CONFIG{'email'}       = 'E-mail-Adresse';

# you can get your long keyid from
#   gpg --with-colons --list-key <yourkeyid|name|emailaddress..>
#
# if you have a v4 key, it will simply be the last 16 digits of
# your fingerprint.

$CONFIG{'keyid'}       = [ qw{Schlüssel-ID} ];
$CONFIG{'also-encrypt-to'} = [ qw{Schlüssel-ID} ];
$CONFIG{'caffhome'}    = $ENV{'HOME'}.'/.caff';

# The options below need not be changed for normal operation.

# Paths to GnuPG binaries:
# $CONFIG{'gpg'}           = 'gpg';
# $CONFIG{'gpg-sign'}      = $CONFIG{'gpg'};
# $CONFIG{'gpg-delsig'}    = '/home/weasel/tmp/gpg/gnupg-1.3.92/g10/gpg';

# defaults to ~/.gnupg/secring.gpg
# $CONFIG{'secret-keyring'} = '/tmp/gpg/secring.gpg';

# Don't export UIDs by default, on which your latest signature is older than this age.
# $CONFIG{'export-sig-age'} = 24*60*60;

# Keyserver to download keys from. Default: subkeys.pgp.net.
# $CONFIG{'keyserver'}      = 'keyserver.kjsl.com';

# Boolean options, all default to false (0).
#
# Skip fetching the keys from the keyserver.
# $CONFIG{'no-download'}    = 1;
# Skip signing the keys.
# $CONFIG{'no-sign'}        = 1;
# Ask to continue before starting the signing (for offline signing).
# $CONFIG{'ask-sign'}       = 1;

#$CONFIG{'reply-to'} = 

$CONFIG{'mail-template'} = <<'EOM'
Hi,
 
please find attached the user id{(scalar @uids >= 2 ? 's' : '')}
{foreach $uid (@uids) {
     $OUT .= "\t".$uid."\n";
};}of your key {$key} signed by me.
 
Note that I did not upload your key to any keyservers.
If you have multiple user ids, I sent the signature for each user id
separately to that user id's associated email address. You can import
the signatures by running each through `gpg --import`.

If you want this new signature to be available to others, please upload
it yourself. With GnuPG this can be done using
	gpg --keyserver subkeys.pgp.net --send-key {$key}

If you have any questions, don't hesitate to ask.
 
Regards,
{$owner}
EOM

postfix

In diesem Beispiel wird postfix als MTA verwendet. Zum Konfigurieren von postfix steht ein separater Artikel zur Verfügung.


Verwendung von caff

Beim Start von caff werden diverse Parameter erwartet. Hauptsächlich sind dies die eigene Schlüssel-ID, die zu signierenden Schlüssel-IDs und dass die signierten Schlüssel als Nachrichten verschickt werden.

  • -u: eigenen GPG-ID
  • -em: Export und Verschicken einer Nachricht.
caff -u 0x36A4397F -em ask-yes  0x9342BF08 0x...

Diesem Beispiel werden die Schlüssel von einem wohlbekannten Fedora-Constributor, Jeroen van Meeuwen, mit dem von Fabian Affolter signiert.

Der Ablauf ist nun geführt. Es wird nun auf den einfachsten Fall eingegangen, dass mit einem GPG-Schlüssel signiert werden soll. Es gibt leider anfangs diverse Fehlermeldungen, welche mit Perl in Zusammenhang stehen. Die Sicherheitsabfragen müssen mit y (ja) beantwortet werden. Natürlich nur, wenn der Vergleich der Fingerprints keine Unterschiede zu Tage gefördert hat.

[INFO] Importing key E23CD2DD36A4397F from your normal GnuPGHome.
[INFO] fetching keys, this will take a while...
[INFO] Sign the following keys according to your policy, then exit gpg with 'save' after signing each key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


pub  1024D/9342BF08  created: 2006-05-29  expires: never       usage: SC  
sub  2048g/769FAEDE  created: 2006-05-29  expires: never       usage: E   
[ unknown] (1). Jeroen van Meeuwen (kanarip) <kanarip AT kanarip DOT com>
[ unknown] (2)  Jeroen van Meeuwen (Fedora Project) <kanarip AT fedoraproject DOT org>

Really sign all user IDs? (y/N) 

pub  1024D/9342BF08  created: 2006-05-29  expires: never       usage: SC  
 Primary key fingerprint: C6B0 7FB4 43E6 CDDA D258  F70B 28DE 9FDA 9342 BF08

     Jeroen van Meeuwen (kanarip) <kanarip AT kanarip DOT com>
     Jeroen van Meeuwen (Fedora Project) <kanarip AT fedoraproject DOT org>

Are you sure that you want to sign this key with your
key "Fabian Affolter <fabian AT bernewireless DOT net>" (36A4397F)

Really sign? (y/N) 

Dann kommt die Abfrage für das Passwort.

You need a passphrase to unlock the secret key for
user: "Fabian Affolter <fabian AT bernewireless DOT net>"
1024-bit DSA key, ID 36A4397F, created 2007-03-14

Enter passphrase: 

Command> 

Nun muss save eingeben werden, damit die Signaturen gespeichert werden.

[INFO] 28DE9FDA9342BF08 1 Jeroen van Meeuwen (kanarip) <kanarip AT kanarip DOT com> done.
[INFO] 28DE9FDA9342BF08 2 Jeroen van Meeuwen (Fedora Project) <kanarip AT fedoraproject DOT org> done.
[INFO] key C6B07FB443E6CDDAD258F70B28DE9FDA9342BF08 done.

Der nächste Schritt versendet nun die Nachrichten.

Mail signature for Jeroen van Meeuwen (kanarip) <kanarip AT kanarip DOT com> to 'kanarip AT kanarip DOT com'? [Y/n] y
Mail signature for Jeroen van Meeuwen (Fedora Project) <kanarip AT fedoraproject DOT org> to 'kanarip AT fedoraproject DOT org'? [Y/n] y

Das System gibt keine Rückmeldungen darüber aus, ob die Nachrichten erfolgreich verschickt worden sind. Aus diesem Grund empfielt es sich, dass der erste Versuch mit einem Empfänger gemacht wird, won welchem man ein Feedback erhält.


Siehe auch


Links