Weitere PGP Keymanagementfunktionen oder "Was gibt es sonst noch ?"
Das "An- und Abschalten" (Disable/Enable) eines Keys
Mit PGP können einzelne Public Keys an- und abgeschaltet
werden, wenn man nicht ständig alle fünfzig Public Keys benötigt,
die sich im Pubring befinden. Dazu wird der betreffende Key
im PGPkeys-Window markiert und dann über den Menüpunkt "Keys
- Disable" oder durch Wahl des gleichen Menüpunktes im
Kontextmenüs (Aufruf durch 1xMKrT) abgeschaltet.
Im Window werden die abgeschalteten Keys grau dargestellt,
User-ID und E-mailadresse in kursiver Schrift.
Der Effekt zeigt sich beim Signieren und Verschlüsseln, denn
dann werden nur die angeschalteten Keys aufgelistet, was Übersicht
und Auswahl erleichtert.
Genauso werden umgekehrt die abgeschalteten Keys mit dem Menüpunkt
"Enable" wieder angeschaltet.
An- und Abschalten von Public Keys bei PGP 2.6.3:
PGP 2.6.3> pgp -kd User-ID |
Der "Default"-Key
Verwendest Du mehrere Public Keys oder einen RSA- und einen
DSS/DH-Public Key kannst Du einen Key zu Deinem Standardschlüssel
erklären.
Der Standardschlüssel ist im PGPkeys-Window daran zu erkennen,
dass User-ID und E-mailadresse in fetter Schrift erscheinen.
Die Vorteile:
1. wenn Du ausgehende E-mails immer auch an Dich selbst verschlüsselst,
wird Dein Standardkey automatisch in die Empfängerliste gesetzt.
2. Bei der Signierung erscheint der Standardkey im Keyauswahlmenü
an erster Stelle.
Man setzt einen Public Key als Standard, indem der ausgewählte Key markiert und dann über das "Keys"-Menü oder das Kontextmenü der Eintrag "Set As Default" angeklickt wird.
Der Default Public Key bei PGP 2.6.3:
wird in der config.txt über den Eintrag MyName="Eigene
User-ID" gesetzt
Abgetrennte Signaturen
Normalerweise setzt man eine PGP Signatur unter einen E-Mailtext.
Es kann aber erforderlich sein, eine PGP Signatur zu einer einzeln
vorliegenden Datei zu erzeugen, ohne das diese Datei selbst
verändert wird (z. B. möchte man eine HTML-Datei versenden,
aber die Seite soll im Browser ohne PGP-Signatur erscheinen
oder es handelt sich um Binärdateien).
Das heisst, die Erzeugung einer abgetrennten Signatur kann nur
anhand einer schon vorliegenden Text- oder Binärdatei durchgeführt
werden.
Über die Zwischenablage oder die E-Mailplug-Ins ist dies nicht
möglich.
Vorgehensweise
- die Datei wird im Dateimanagerfenster (z. B. Explorer) markiert und über den PGP-Eintrag des Kontextmenüs wird die Signierfunktion ("Sign") aufgerufen
- Eingabe der Passphrase
- Unter "Options" wird die Option "Detached
signature file" aktiviert.
Soll die Signatur als Textform in ASCII-Zeichen erstellt werden, auch die Option "Text Output" - Abspeichern der Signatur als eigene Datei "Signaturdatei.sig" (dabei wird als Dateiname immer der Dateiname + Endung der zu signierenden Datei vorgeschlagen)
Abgetrennte Signatur bei PGP 2.6.3:
PGP 2.6.3> pgp -sb Datei Eigene-User-ID |
Der Empfänger kann jetzt anhand der Signaturdatei überprüfen, ob die Originaldatei unverfälscht und unverändert zu ihm gelangt ist und wer der Absender der Datei ist.
Vorgehensweise
- die Datei "Signaturdatei.sig" markieren
- über den PGP-Eintrag des Kontextmenüs die angezeigte Funktion "Verify Siganture" aktivieren
- in dem nun aufklappenden Fenster die Originaldatei markieren
PGP blendet jetzt eine Informationsmeldung ein, die abhängig
davon ist,
ob Originaldatei und Signaturdatei zusammenpassen oder nicht:
"Good signature from (User-ID E-mailadresse). Signature made on (Tag und Datum der Signaturerstellung)"
oder
"Bad signature from (User-ID E-mailadresse). Signature made on (Tag und Datum der Signaturerstellung)"
Die Änderung der Passphrase
Der Wert und die Bedeutung der Passphrase sollte an dieser Stelle
bekannt sein.
Andernfalls verweise ich auf die Informationen der Mantra
FAQ
So ist leicht einzusehen, dass die Passphrase einer der Angriffspunkte
darstellt, an denen Hacker, Geheimdienste oder Spinner ansetzen
werden, um den eigenen kryptographischen Schutz zu durchbrechen.
Aus diesem Grund kann es sinnvoll sein, die Passphrase in Abständen
zu ändern.
Vorgehensweise
- PGPkeys aufrufen
- das »Key Properties« Fenster aktivieren
- den »Change Passphrase« Button anklicken
- alte Passphrase eingeben
- neue Passphrase eingeben
- neue Passphrase zur Bestätigung wiederholen
- OK
Änderung der Passphrase bei PGP 2.6.3:
PGP 2.6.3> pgp -ke Eigene-User-ID |
Die Änderung der User-IDs des Public Keys
Auch mit PGP 5./6.X ist möglich, die User-ID, also "Name
<E-mailadresse>", eines Keys zu ändern.
Oder es kann eine weitere, neue User-ID hinzugefügt und eine
bestehende User-ID gelöscht werden.
A. Hinzufügen einer User-ID
Vorgehensweise
- PGPkeys aufrufen
- Key markieren
- 1xMKrT oder Aufruf des Menüs "Keys"
- Menüpunkt "Add Name" wählen
- Eingabe von "Name <E-mail-Adresse>"
- Eingabe der Passphrase
bei PGP 2.6.3:
PGP 2.6.3>pgp -ke Eigene-User-ID |
B. Löschen einer User-ID
Vorgehensweise
- PGPkeys aufrufen
- Key über 1xMKlT auf das + Zeichen vor dem Key
- Betreffende User-ID markieren
- 1xMKrT oder Aufruf des Menüs "Keys"
- Menüpunkt "Delete" wählen
bei PGP 2.6.3:
PGP 2.6.3> pgp -kr User-ID LW:\keyring.pgp |
C. Änderung der eigenen ersten User-ID
Vorgehensweise
- Neue User-ID erzeugen wie unter A. beschrieben
- 1xMKrT oder Aufruf des Menüs "Keys"
- Menüpunkt "Set As Primary Name (User-ID)" wählen
Erschien im PGPkeys Fenster zuerst »test <test@test>« als primäre User-ID und lautete die neue User-ID »test2 »test2@test2.de>«, erscheint nach dem Vorgang die neue User-ID als die primäre User-ID, die ursprüngliche User-ID wird darunter angefügt, wie alle weiteren User-IDs und die ursprünglichen Signaturen der nachfolgenden User-IDs (die auf test <test@test> lauteten) werden alle durch die Signatur der neuen User-ID ersetzt, d. h. alle nachfolgenden User-IDs sind mit test2 <test2@test2.de> signiert.
Hinzufügen einer "Foto User-ID" (nur bei PGP 6 DH/DSS Keys)
Um dem Key sein eigenes Foto hinzuzufügen nimmt man ein Passfoto, verkleinert es nach dem Einscannen auf 120 x 144 Pixel und speichert es als BMP oder JPG Datei.
Vorgehensweise:
- PGPkeys aufrufen
- DH/DSS Key markieren
- über das Menü "Keys" oder durch 1 MKrT im Kontextmenü "Add...Photo" aufrufen
- die Bilddatei aus dem Explorer in den Rahmenbereich ziehen oder über den Button "Select File" die Bilddatei öffnen
- Passphrase eingeben
Hinzufügen von "Designated Revokers" (nur bei PGP 6 DH/DSS Keys)
Ein Designated Revoker ist eine zweite Person, die vom Keybenutzer dazu ermächtigt (designated) ist, für den den eigenen Public Key eine Rückzugsurkunde (Revocation) auszustellen und ihn als zurückgezogen (revoked) auf dem Keyserver zu kennzeichnen. Achtung:
Wenn einmal einem Public Key ein Designated Revoker hinzugefügt
wurde, ist der Prozess nicht mehr umkehrbar, der Designated
Revoker kann nicht wieder vom Key entfernt werden.
Natürlich setzt die Vergabe des Rechts an eine andere Person, den eigenen Public Key als ungültig zu erklären, 100% Vertrauen in diese Person voraus.
Eine m. M. nach bessere und sicherere Methode, den eigenen
Key bei Verlust von Secret Key und/oder Passphrase dennoch
revoken zu können, findet sich im Kapitel Key
Revocation
Von der Verwendung der Designated Revoker Funktion ist abzuraten! Siehe unten
Vorgehensweise:
- PGPkeys aufrufen
- den eigenen DH/DSS Key markieren
- über Menü "Keys" oder 1MKrT im Kontextmenü "Add...Revoker" auswählen
- die Key User-ID der zu ermächtigenden Person auswählen
- den Bestätigungsdialog bejahen
- die Passphrase eingeben
- Kopie des Public Keys an den Revoker und an den Keyserver senden
Test der Designated Revoker Funktion
Zur Designated Revoker Funktion wurden von mir im Juli 2001
einige Tests mit PGP 7.0.4/PGP CKT build 06 und GnuPG 1.0.6
durchgeführt.
Dazu hatte ich zwei Keys erzeugt, einen Key für den User,
einen Key für den Designated Revoker.
Für beide Keys wurde Twofish-Blowfish-AES256-3DES-IDEA
als symmetrische Algorithmen und RIPEMD-160 als Hashalgorithmus
festegelegt.
Die Ergebnisse:
Userkeypaar mit DR/DR Keypaar vorhanden:
Anzeigen:
GPG list-packets Anzeige:
:signature packet: algo 1, keyid 8A912861A97F658D
version 4, created 994065701, md5len 0, sigclass 1f
digest algo 3, begin of digest cb a6
hashed subpkt 2 len 5 (sig created 2001-07-02)
hashed subpkt 7 len 2 (revocable)
hashed subpkt 12 len 23 (revocation key: c=80 a=1 f=9B82DBC4E053BC6807C69C2B5980A45A09DAFC2A)
subpkt 16 len 9 (issuer key ID 8A912861A97F658D)
data: [1023 bits]
PGP:
Anzeige in Key-Properties
User Public Key mit DR/DR Keypaar vorhanden:
PGP:
Anzeige nur in Key-Properties/Revokertab
GPG:
list-packets Anzeige wie oben
User Public Key mit DR/DR Keypaar nicht
vorhanden:
PGP:
Anzeige nur in Key-Properties: Revokerstab: Unknown key
Key-ID
GPG:
list-packets Anzeige wie oben
Nach Erzeugen einer Revocation:
User Public Key mit DR/DR Keypaar vorhanden:
PGP:
erscheint revoked, Anzeige des Revocators nur als Revocation
Key in den Key Properties
User Public Key mit DR/DR Keypaar nicht
vorhanden:
PGP:
erscheint *nicht* revoked im Keyfenster,
Anzeige, dass Key revoked ist nur in Key Properties mit Angabe
auf der Revokers Karteikarte: Unknown key Key-ID.
Nach Löschung beider Keys und Reimport des revoked Keys
(also frischer Erhalt eines revoked Keys) erscheint dieser
überhaupt nicht mehr als revoked!
Erst nachdem der DR auch wieder importiert wurde, erscheint
auch der Userkey wieder als revoked.
Nach einer erneuten Löschung des DR-Keys wieder komplette
Anzeige als nicht revoked.
GPG:
User Public Key mit DR/mit DR Keypaar vorhanden
und nicht vorhanden:
In der Anzeige der Signaturen: "[unexpected signature
class 0x1f]"
Verschlüsselung:
revoked Userkey vorhanden, DR nicht vorhanden:
PGP:
ohne Probleme, ohne Anzeige
revoked Userkey vorhanden, DR vorhanden:
PGP:
Auswahl des Keys nicht möglich
GPG:
revoked Userkey vorhanden, DR vorhanden/nicht
vorhanden:
ohne Probleme, ohne Anzeige
Keyserver:
verwendet: ldap://certserver.pgp.com
Alle Transaktionen vor der Revocation normal.
Der mit dem DR-Key revokte Key erhält *vollkommen andere*
Key-ID's,
die Eigensignatur ist korrupt.
Der Key kann importiert werden und enthält keinerlei
Informationen mehr über DR.
Eine Verschlüsselung ist nicht möglich
Da die Keys RIPEMD Signaturen trugen und von den Standardalgorithmen
abwichen,
habe ich den gleichen Vorgang noch einmal mit SHA-1 und den
Standardalgorithmen
(Twofish, AES256, IDEA, CAST, 3DES) durchgeführt.
Damit konnte erfolgreich ein DR revokter Key zum Server hochgeladen
und von dort
heruntergeladen und in den Ring importiert werden.
Nach dem Import habe ich den DK-Key gelöscht, der revokte
Userkey erscheint
nicht mehr als revoked. Der DK-Key ist in der Revokers Karteikarte
als
unknown mit Key-ID aufgeführt (d. h. die gleichen Effekte
wie oben).
Wiederholungsüberprüfung der Signaturen (Reverify Signatures) (nur PGP 6)
Über das Menü Keys Reverify Signatures werden alle Signaturen eines Public Keys auf Gültigkeit (Validity)hin überprüft.Überprüfung der Signaturen bei PGP 2.6.3:
PGP 2.6.3> pgp -kc oder -km User-ID |
Das Zerlegen des Secret Keys auf mehrere Keyteilinhaber (Share Split/Key Split) (nur PGP 6)
Seit PGP 6 kann der RSA oder DH Secret Key eines Key Paares in mehrere Teile (Shares) zerlegt (Splitting) und die Teile mit dem Public Key anderer Personen oder mittels Vergabe von Passphrases konventionell verschlüsselt als Datei "User-ID Share.shf" abgelegt werden (Blakely-Shamir Key Splitting).Damit die Keyteile erstellt werden können, müssen alle Keyteilinhaber anwesend sein, um ihre Passphrase festlegen oder eingeben zu können, bei Public Key Verschlüsselung müssen die Public Keys der Keyteilinhaber im Pubring vorhanden sein.
Zum Entschlüsseln oder Signieren einer Datei/Nachricht werden die Keyteile nach Eingabe der Passphrases wieder temporär zusammengesetzt.
Key Splitting ist in Bereichen höherer Sicherheitsanforderungen
sinnvoll:
Zum Beispiel gibt es die bekannte Taktik von Guerillagruppen,
sich in mehrere Zellen aufzuteilen, damit bei einer Verfolgung
oder Verhaftung nicht die gesammte Gruppe und ihre Materialien
in die Hände der Gegenpartei fallen. Würde PGP in einer Guerillagruppe
eingesetzt werden, so würde jeder Zellenführer einen Keyteil
erhalten. Wenn jetzt ein Zellenführer verhaftet und sein Keyteil
in die Hände der Verfolger fallen würde, könnte die gesammte
Gruppe weiterhin Dokumente signieren und entschlüsseln, die
Verfolger aber nicht.
Das Prinzip kann man sich auch ähnlich vorstellen wie die mehreren Tresorschlüssel, die Bankangestellte gemeinsam benutzen müssen, um die Tresorkombination herzustellen, damit sie den Tresor öffnen oder verschliessen können.
Die Herstellung eines Key Splittings:
- zuerst wird ein vorhandener Key ausgewählt oder ein neuer Key hergestellt.
- der aufzuteilende Key wird markiert
- Aufruf von "Share Split" über das Menü "Keys" oder über das Kontextmenü mit 1MKrT
- es öffnet sich das "Split Key" Konfigurationsfenster:
- im Feld "Split Key" ist die User-ID des ausgewählten Keys zu sehen
- unter "Shareholders" (Keyteilinhaber) werden die User-IDs der Keyteilinhaber angezeigt, wenn die Keyteile mit vorhandenen Public Keys der Keyteilinhaber verschlüsselt werden oder die Namen der Keyanteilinhaber bei rein konventioneller Verschlüsselung der Keyteile.
- unter "Total Shares Required to Decrypt or Sign"
(Anzahl der Keyteile, die zum Entschlüsseln oder Signieren
nötig sind) wird die gewünschte Anzahl der Keyteile
(bis zu 99) eingegeben.
Es können auch mehr Keyteilinhaber als Keyteile selbst angegeben werden.
Wenn man z. B. den Key auf drei Keyteilinhaber aufteilt, die erforderliche Anzahl der Keyteile zum Entschlüsseln/Signieren jedoch auf zwei beschränkt, bietet das den Vorteil, dass eine Datei/Nachricht immer noch entschlüsselt oder signiert werden kann, obwohl ein Keyteilinhaber seine Passphrase vergessen hat oder eine Keyteildatei abhanden gekommen ist.
- Aufteilen an Public Key Besitzer
- die entsprechenden User-IDs der Keys per Drag and Drop aus dem PGPkeys Fenster in das Shareholders Fenster ziehen
- auf den Button "Split Key" klicken
- Verzeichnis auswählen, in dem die Keyanteildateien abgelegt werden sollen
- ursprüngliche Passphrase des zu teilenden Keys eingeben
- Bestätigungsmeldung bejahen
- anschliessend befinden sich die Keyanteildateien im angegebenen Verzeichnis
- Aufteilen an Personen ohne Public Key (konventionelle
Verschlüsselung der Keyteildateien)
- über den Button "Add" den Namen des Keyteilinhabers eingegeben
- anschliessend muss jeder Keyteilinhaber eine Passphrase für seinen Keyanteil eingeben
- sind alle Keyteilinhaber aufgelistet, den Button "Split Key" anklicken
- Verzeichnis für die Keyanteildateien auswählen
- ursprüngliche Passphrase des Keys eingeben
- Bestätigungsdialog bejahen
Das Verschlüsseln, Entschlüsseln und Signieren mit Split Keys
Verschlüsseln:
eine Datei oder Nachricht wird mit dem Split Key genauso verschlüsselt wie mit einem herkömmlichen Public KeyEntschlüsseln & Signieren:
- Aufruf der Entschlüsselungs- oder Signierfunktion von PGP nach bekannter Weise
- im Fenster "Key Share Collection" über den Button "Select Share File" die Keyteildateien öffnen
- jeder Keyteilinhaber gibt seine Passphrase ein
-
- bei Entschlüsselung kann das Chiffrat entschlüsselt als Datei abgespeichert, bzw. als Clipboardinhalt eingefügt werden
- bei Signierung kann das Chiffrat als signierte Datei abgespeichert, bzw. als Clipboardinhalt eingefügt werden
Das Wiederherstellung des geteilten Keys
- über das Menü "Keys", "Properties" den Button "Join Key" anklicken
- für jeden Keyteil über "Select Share File" die Keyteildatei öffnen
- Keyteilinhaber muss seine Passphrase eingeben
- anschliessend die ursprüngliche oder neue Passphrase für den wieder zusammengefügten Key eingeben