Hallo,
beschäftige mich grad mit GPG, der Schlüsselerzeugung und
Zertifizierung. Hab schon im Inet gesucht (zB
http://hp.kairaven.de/pgp/index.html).
Prinzip ist mir so weit (mein ich auch schon klar), es hapert nur an den
unterschiedliche Schlüsseln (Haupt- und Unterschlüssel) so wie den
Angaben zur Person und deren Verknüpfung mit dem (öffentlichem)
Schlüssel.
Konkret:
Ich möchte einen Hauptschlüssel haben in dem nur mein Name, nicht aber
meine E-Mail steht haben(Damit dieser öffentlich gemacht werden kann,
mein E-Mail Adresse aber nicht an Spammer usw geht). Diesen möchte ich
dann Zertifizieren lassen (von der ct auf der CeBit, diese überträgt ihn
dann ja an einen Key-Server).
Meine Frage ist jetzt, wenn ich nun Unterschlüssel mit meiner E-Mail
Adresse, Jabber Account usw erstelle, sind diese dann auch entsprechend
Zertifiziert?
Weil der öffentliche Key muss sich ja eigentlich auch ändern, oder?
Und währe es z.B. möglich nur einen Unterschlüssel an einen Keyserver zu
übermitteln (also den öffentlichen Teil)? Dann könnte man da eine e-mail
Adresse Angeben die zusammen mit dem Schlüssel alle 2-3 Monate abläuft
um Spam zu vermeiden.
Das, was Du möchtest, geht nicht. OpenPGP (GnuPG/PGP) funktioniert so:
Du erzeugst einen "Haupt"-Schlüssel, bestehend aus dem öffentlichen
Schlüssel und dem geheimen Schlüssel.
Die Benutzerkennungen aus Name, Email-Adresse und optionalen Kommentar
werden immer an den Hauptschlüssel gebunden.
Die Unterschlüssel (Sub-Keys), werden auch an den Hauptschlüssel
gebunden.
Das "Binden" an den Hauptschlüssel geht nur mit dem geheimen
(Haupt-)Schlüssel.
> Meine Frage ist jetzt, wenn ich nun Unterschlüssel mit meiner E-Mail> Adresse, Jabber Account usw erstelle, sind diese dann auch entsprechend> Zertifiziert?
Nein. Wenn "Dich" jemand zertifiziert, also Deinen Schlüssel
unterschreibt, zertifiziert (unterschreibt) er nur die
Benutzerkennungen.
D.h. wenn Du später neue Benutzerkennungen hinzufügst, sind die nicht
zertifiziert.
Ob das nun eine Rolle spielt, oder nicht, ist aber einen andere Frage.
Denn es gibt zwei "Trust"-Modelle: Classic und eben OpenPGP.
Im klassischen Modus, werden die Zertifizierungen der verschiedene
Benutzerkennungen zusammengefasst und es wird nur der komplette
Schlüssel betrachtet. Meiner Meinung nach ist das für die Praxis
vollkommen ausreichend.
Im OpenPGP-Modell werden eben die Zertifizierungen nur den
entsprechenden Benutzerkennungen zugesprochen. Denn rein theoretisch
wäre es möglich, dass ein Angreifer durch Brute-Force-Angriff eine neue,
gefälschte Benutzerkennung hinzufügt. Aber wenn das ein Angreifer kann,
ist eh alles zu spät.
> Weil der öffentliche Key muss sich ja eigentlich auch ändern, oder?
Nein.
Es werden nur neue Benutzerkennungen hinzugefügt, und sie werden mit den
geheimen Schlüssel unterschrieben. So kann ein Fremder keine
Benutzerkennungen hinzufügen.
Auf dem gleichen Wege kannst Du auch Benutzerkennungen für ungültig
erklären (Revocation). Dann setzt GnuPG einfach eine zweite Unterschrift
unter die Benutzerkennung, in der steht, dass diese Kennung nun ungültig
ist.
Wichtig:
Irgendwelche veröffentlichten Schlüssel oder Benutzerkennung kannst Du
in der OpenPGP-Welt nicht mehr löschen. Einmal veröffentlicht, sind sie
immer vorhanden (auf den Keyservern).
Ungültig machen kannst Du natürlich veraltete Benutzerkennungen.
Deine Idee, alle paar Monate eine neue
Wegwerf-Email-Adresse-Benutzerkennung an Deinen Key zu hängen und die
alte als ungültig markieren (revocation), ist keine gute Idee. Dein
Schlüssel wird immer größer und größer.
Mach einfach eine Benutzerkennung mit der Email-Adresse und gut ist.
Natürlich werden diese Email-Adressen von Spam-Bots aufgegriffen. Das
werden aber zwangsweise alle Email-Adressen so oder so.
Ohne öffentliche Email-Adresse funktioniert das System eben nicht gut.
@Unbekannter
Und wenn ich mir einfach einen zweiten Schlüssel mit email Adresse
erzeuge und diesen mit dem anderem (von der ct zertifizierten) Schlüssel
zertifiziere gehört dieser doch auch zu dem gleichen Web of Trust wie
der Schlüssel mit dem ich Zertifiziere, oder ??
Gruß
PP
> Und wenn ich mir einfach einen zweiten Schlüssel mit email Adresse> erzeuge und diesen mit dem anderem (von der ct zertifizierten) Schlüssel> zertifiziere gehört dieser doch auch zu dem gleichen Web of Trust wie> der Schlüssel mit dem ich Zertifiziere, oder ??
Ja und Nein.
Es ist eben ein "Hop" mehr, in der Zertifizierungskette bis zum
Schlüssel mit Deine Email-Adresse.
Es gibt aber noch ein anderes Problem, bei diesem Konzept:
Angenommen, jemand vertraut der ct, dass die ct die Schlüssel ordentlich
überprüft, die von der ct zertifiziert werden.
Wenn nun Dein Schlüssel von der ct zertifiziert ist, wird Dein Schlüssel
für alle Teilnehmer "gültig" (valid), die der ct vertrauen.
Die meisten Teilnehmer werden Dir aber erst mal nicht vertrauen, dass Du
andere Schlüssel zertifizierst. Also kannst Du für die große Masse an
Teilnehmer Deinen Zweit-Schlüssel nicht als zertifiziert einführen. Zwar
zertifizierst Du Deinen Zweit-Schlüssel, das ist aber für die großteil
der Teilnehmer uninteressant.
Der Witz bei OpenPGP (GnuPG) ist ja der, dass jeder Teilnehmer explizit
auswählen kann bzw. sogar muss, welchen anderen Teilnehmer er vertraut
(ownertrust), Schlüssel explizit nur für sie zu zertifizieren.
In der Regel vertraut man den Teilnehmern als Zertifizierungsinstanz,
die man z.B. persönlich kennt und von denen man weiß, dass sie die
Schlüssel und deren Besitzer ordentlich überprüfen, bevor sie einen
Schlüssel zertifizieren, und dass sie das Konzept von OpenPGP (GnuPG)
verstanden haben.
Viel vertrauen auch prominenten Persönlichkeiten, z.B. den Autoren von
GnuPG, oder eben bekannten Organisationen, wie der ct.
Das bleibt aber jedem Benutzer selbst überlassen, welchen Teilnehmern er
erlaubt, für sie das Web-Of-Trust zu weben.
Das ist der entscheidenen Unterschied zu X509 etc., wo man (mehr oder
weniger) gezwungen ist, einem festen Baum von Retifizierungsstellen zu
vertrauen.
Und noch ein anderer Aspekt:
Wenn Du den Zweit-Schlüssel regelmäßig wegwerfen willst, weil er nur mit
einer Weg-Werf-Emailadresse belegt ist, hast Du immer noch das Problem,
dass Du tonnenweise Datenmüll produzierst.
Wenn nun einer nach Deinem Schlüssel sucht, z.B. anhand Deines Namens,
findet derjenige nun viele zurückgezogen Schlüssel und muss den
derzeitig gültigen rauspicken.
Auch keine gute Lösung.
Wenn Du keine Email-Adresse an Deinem Schlüssel willst, lass sie ganz
weg und lebe mit den Einschränlungen, dass Dich andere nicht so
problemlos zuordnen können.
Wenn Du eine Email-Adresse willst, verwende eine möglichst permanente.
Alles andere ist nur Murks.
Mach es zum Einstieg in die OpenPGP-Welt nicht zu kompliziert. Mach ein
einfaches Schlüsselpaar, lass den Schlüssel z.B. bei der ct
zertifizieren, und benutze das erstmal in der Praxis.
Später kannst Du noch immer eine neue Benutzerkennung inkl.
Email-Adresse hinzufügen und diese neue Benutzerkennung auch von z.B.
der ct zertifizieren lassen.