Selfsig bei gpg

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Selfsig bei gpg

Beitrag von Lohengrin » 28.11.2018 17:44:51

Wenn ich es richtig verstanden habe, sorgt die Selfsig auch dafür, dass eine minimale Hashfunktion benutzt wird.
Ohne Selfsig könnte jemand eine Unterschrift fälschen, indem er als Hash zB MD5 verwendet.
Ist das korrekt?
Gibt es noch einen Grund, warum die Selfsig sicherheitsrelevant ist?

Ich bin nämlich gerade dabei, etwas zu bauen, wo die Identität des Unterschreibers der Hash des gesamten öffentlichen Schlüssels ist. Also nicht der Fingerprint und auch nicht der Keygrip, und schon gar nicht eine vom Schlüsselmacher willkürlich festgelegte UID. Im öffentlichen Schlüssel steht, wenn es OpenPGP ist, die minimale Hashfunktion drin. Und wer das ändert, hat eine andere Identität.
Eine Selbstsignatur dabeizutun, ist ganz praktisch, weil man dann schon einmal ausprobieren kann, ob man mit diesem Schlüssel überhaupt Unterschriften prüfen kann. Aber es würde, so denke ich jedenfalls bis jetzt, auch ohne gehen.
Harry, hol schon mal das Rasiermesser!

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Selfsig bei gpg

Beitrag von r4pt0r » 28.11.2018 21:33:44

Lohengrin hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 17:44:51
Ich bin nämlich gerade dabei, etwas zu bauen, wo die Identität des Unterschreibers der Hash des gesamten öffentlichen Schlüssels ist.
Der öffentliche Key enthält aber auch die Signaturen von jedem, der den Key signiert hat - der Inhalt (und damit der Hashwert) ändert sich somit jedes mal wenn jemand deinen Key signiert...

Kennst du keybase.io? Damit lassen sich GPG-keys direkt mit den Identitäten auf verschiedensten Plattformen/Portalen (github, twitter, reddit etc) sowie Geräten oder Webseiten verknüpfen. Dadurch kann eine relativ enge trustchain bzw graph hergestellt werden mit der die eindeutige Verifizierung einer Identität einfacher wird bzw nicht nur an einem (möglicherweise gespooften) Faktor festgemacht werden muss.
Ist z.B. SPF/DKIM korrekt eingerichtet, die DNS-Zone der maildomain per DNSSEC validiert und die Maildomain sowie der GPG-Key bei keybase validiert, hat man eine vollständige trust-chain von der GPG-Signatur zur maildomain des Absenders.

Per API kann eine keybase-identität recht einfach durchsucht werden: https://keybase.io/docs/api/1.0/user_objects


Ich weiß nicht genau was du erreichen möchtest, aber evtl ist das ja hilfreich :wink:

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Selfsig bei gpg

Beitrag von Lohengrin » 28.11.2018 22:42:40

r4pt0r hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 21:33:44
Lohengrin hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 17:44:51
Ich bin nämlich gerade dabei, etwas zu bauen, wo die Identität des Unterschreibers der Hash des gesamten öffentlichen Schlüssels ist.
Der öffentliche Key enthält aber auch die Signaturen von jedem, der den Key signiert hat - der Inhalt (und damit der Hashwert) ändert sich somit jedes mal wenn jemand deinen Key signiert...
Bei mir nicht. Die Signatur eines anderen ist nur sinnvoll, wenn der andere die Identität, die der Schlüsselmacher erfunden hat, bestätigt.
Bei mir hat der Schlüsselmacher die Identität, die durch den Schlüsselbau vom Himmel fällt. Die braucht niemand anderes zu bestätigen.
OpenPGP ist nur eine von vielen Möglichkeiten, einen öffentlichen Schlüssel zu bauen, der für meine Zwecke taugt. Die Selbstunterschrift, die UID, die Fremdunterschriften, ignoriere ich, ist so etwas wie Salz. Ich benutze OpenPGP, weil es funktioniert. Später können kürzere Formate, nämlich welche, wo die für mich überflüssigen Sachen gar nicht dabei sind, hinzukommen.

Der andere kann dem Schlüsselmacher einen Namen verpassen, und zwar so, wie es dem anderen gefällt. Der Schlüsselmacher braucht dem weder zustimmen, noch kann er sich dagegen wehren.
Interessant ist nur, wie ein Dritter die vergebenen Namen und den Schlüssel zusammenbringt. Und da kommt mir entgegen, dass Hash bunt ist. Das hat schon genau das richtige Format für Hashtable und B-Baum. Durch willkürlich vergebene Identitäten würde ich das kaputtmachen.

Wenn ich frage, ob das der Schlüssel von Anton ist, dann setze ich einen gemeinsamen Namensraum voraus. Dass das Streit gibt, ist klar.
Die Frage muss anders lauten, nämlich, ob das der Schlüssel von dem ist, den der, den ich als Berta kenne, Anton nennt, und nicht von dem, den der, den ich als Cäsar kenne, Anton nennt.
Wenn der, den ich bisher als Anton kannte, eine Sockenpuppe baut, und Dora es bemerkt, dann nennt Dora die Sockenpuppe auch Anton. Wenn ich Dora vertraue, dann interessiert mich nicht, wie sich die Sockenpuppe selber nennt.
Wenn ich wissen will, wie Dora wen nennt, dann frage ich Dora und nicht die von Dora Benannten.

Das, was bei OpenPGP eine Fremdsignatur ist, ist bei mir eine Benennung, die der Benannte zur Schau stellen will. Das kann er irgendwie online stellen. Er kann auch unterschreiben, dass er mit diesen Benennungen einverstanden ist. Aber das ist bei mir nicht Teil des Schlüssels.
r4pt0r hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 21:33:44
Kennst du keybase.io? Damit lassen sich GPG-keys direkt mit den Identitäten auf verschiedensten Plattformen/Portalen (github, twitter, reddit etc) sowie Geräten oder Webseiten verknüpfen.
Kenne ich nicht. Aber es scheint mir ein Problem zu lösen, das man sich einbrockt, wenn man willkürlich vergebene Identitäten zulässt.
r4pt0r hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 21:33:44
Ich weiß nicht genau was du erreichen möchtest, aber evtl ist das ja hilfreich :wink:
Das hängt mit meinem Senftenberg zusammen, das ich nur gebaut habe, weil ich eigentlich auf etwas anderes aus bin, wo es auch um diese Art von Identitäten geht.
Harry, hol schon mal das Rasiermesser!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Selfsig bei gpg

Beitrag von eggy » 29.11.2018 00:43:43

Ich hab das Gefühl, Du versuchst hier etwas sehr umständlich zu lösen. Vielleicht reicht Dir schon "cat /proc/sys/kernel/random/uuid"?
Und was willst Du eigentlich mit "dass Hash bunt ist" aussagen?

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Selfsig bei gpg

Beitrag von Lohengrin » 29.11.2018 02:44:54

eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 00:43:43
Ich hab das Gefühl, Du versuchst hier etwas sehr umständlich zu lösen.
Das hüpfende Komma ist, dass ich von dem gemeinsamen willkürlich gefüllten Namensraum loskommen will. Das erzeugt zwangsläufig Namensstreit.

Das Problem fängt schon bei IP-Nummern an, geht über DNS und sitzt im OpenPGP (die UID dort haben Emailadressen).
Als das alles erfunden wurde, hat sich niemand darüber Gedanken gemacht. Außerdem gab es damals weder Hash noch Unterschrift.
Ich will aus dem, was wir heute haben, etwas Neues bauen, das mit den alten Sachen bricht, so dass die damals unabsichtlich gemachten Fehler verschwunden sind.
eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 00:43:43
Vielleicht reicht Dir schon "cat /proc/sys/kernel/random/uuid"?
Nein. Reicht mir nicht.
Jedes Datenstück hat bereits seine eindeutige Identität, nämlich seinen Hash.
Sollen andere festlegen, dass bei ihren Datenstücken die nullten 16 Bytes der Identifikator ist. Für mich ist der Hash vom Ganzen der Identifikator.
Die anderen können dann nur ihre Datenstücke benutzen. Aber ich packe sie alle, weil jedes Datenstück einen Hash hat.
eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 00:43:43
Und was willst Du eigentlich mit "dass Hash bunt ist" aussagen?
Um in Datenbanken herumzuindexen müssen die willkürlich festgelegten Identitäten künstlich bunt gemacht werden. Als man noch keinen Hash hatte, hat man etwas genommen, was halbwegs bunt ist, musste aber, weil Doppelgänger böswillig erzeugt werden konnten, bei scheinbarer Gleichheit nochmal gründlich prüfen.
Das ist nicht mehr nötig. Hash ist schon bunt und kollisionsfrei.
Harry, hol schon mal das Rasiermesser!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Selfsig bei gpg

Beitrag von eggy » 29.11.2018 09:59:02

Lohengrin hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 02:44:54
Hash ist schon bunt und kollisionsfrei.
Sorry, aber ich versteh Dich immer noch nicht. Was willst Du mit "bunt" den genau sagen?
Beschäftigte Dich mal mit den Begriffen "ordnungserhaltend" und "strukturerhaltend", gehe ich recht in der Annahme, dass Du mit "bunt" das Fehlen dieser Eigenschaften ausdrücken willst? Oder ist das nur ein Teil dessen, was Dein Begriff beschreiben soll?

Das andere Thema hatten wir ja schon beim letzten mal, es gibt nicht DIE Hashfunktion, es gibt unendlich viele. Diese haben unterschiedliche Eigenschaften, bzw Güteklassenkriterien. Grundsätzlich sind Hashfunktionen Abbildungen, für die bestimmte Annahmen getroffen werden, um bestimmte Ziele zu erreichen. Kollisionsresistenz ist nur eins davon. Resistenz, nicht Freiheit! Für Freiheit bräuchtest Du die Eigenschaft der Injektivität. Nur damit kannst Du dann nicht mehr unendlich viele Objekte auf einen begrenzten Schlüsselraum abbilden. Daher kommt es bei fast allen* Hashfunktionen zumindest theoretisch zwangsläufig zu Kollisionen. Und wie gesagt, eine Hashfunktion die alles auf die 1 und 0 abbildet, ist ebenfalls ein Hash, nur halt keine, die für Deinen Anwendungsfall taugt ;)

Versuche das mal in Deinen Thesen zu berücksichtigen, dann klingt das was Du schreibst gleich viel weniger spinnig ;). Ist nicht bös gemeint, nur wenn Du mit Deiner Veröffentlichung mal etwas bzw jemanden erreichen willst, solltest Du versuchen, der Zielgruppe das Gefühl zu geben, dass Du Dich eingehend mit der Materie beschäftigt und die Vorleistungen anderer auch wirklich verstanden hast. Wenn ich auf der Suche nach Informationen bin, und mir schon im ersten Absatz auffällt, dass da Grundlegendes falsch darstellt ist, mache ich mir in der Regel nicht die Mühe den Krams noch bis zum Ende zu lesen. Letztendlich spielt auch es keine Rolle, ob Du direkt vom Fach bist, aber Du musst zeigen, dass Du, von dem was Du da tust, Ahnung hast. Und das überzeugend rüberzubringen, schaffst Du am ehesten durch die korrekte Anwendung der Fachtermini. Ist leider so.


*: alle Hashfunktionen:= "alle Hashfunktionen, außer den perfekten Hashfunktionen"

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Selfsig bei gpg

Beitrag von Lohengrin » 30.11.2018 02:55:00

eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 09:59:02
Sorry, aber ich versteh Dich immer noch nicht. Was willst Du mit "bunt" den genau sagen?
Verschiedene Identitäten unterscheiden sich recht schnell. Es reicht aus, nur wenige Bits zu betrachten, um zwei verschiedene als verschieden zu erkennen. Wenn man eine Milliarde Objekte hat, dann ist schon bei fünf bis sechs Base64-Zeichen alles klar.
Das Suchen und Finden geht sehr schnell, ohne das man die Objekte vorher besonders präparieren müsste.
eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 09:59:02
Beschäftigte Dich mal mit den Begriffen "ordnungserhaltend" und "strukturerhaltend",
Das wäre nur interessant, wenn die Ordnung vorher eine Rolle spielt. Bei mir sind das nur Identifikatoren. Ob die 1,2,3 oder A,B,C oder Hund,Katze,Maus heißen, ist egal.
Wichtig ist nur, dass ich sie möglichst schnell getrennt bekomme, also ohne viele Bytes mir anschauen zu müssen.
eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 09:59:02
Das andere Thema hatten wir ja schon beim letzten mal, es gibt nicht DIE Hashfunktion, es gibt unendlich viele.
Ich brauche eine Hashfunktion, die praktisch kollisionsfrei ist und wo die Hash zweier Datensätze möglichst schnell verschieden sind (ich nenne das bunt). SHA1 oder SHA256 tut es. Wenn das mal geknackt ist, muss man eine andere nehmen.
Hashfunktionen sind mit diesem Ziel entwickelt worden. Deswegen habe ich von Hashfunktion gesprochen. Mag ja sein, dass woanders der Begriff Hashfunktion viel allgemeiner gefasst wird. Aber das ist ein Problem, das man immer hat, nämlich die Gratwanderung zwischen zuviel und zuwenig Präzision. Eine Entfernung vom Grat, egal in welche der beiden Richtungen, macht das Ganze unverständlicher.
eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 09:59:02
nur wenn Du mit Deiner Veröffentlichung mal etwas bzw jemanden erreichen willst, solltest Du versuchen, der Zielgruppe das Gefühl zu geben, dass Du Dich eingehend mit der Materie beschäftigt und die Vorleistungen anderer auch wirklich verstanden hast.
Beim Geben von Gefühlen wird mir immer ganz schwummerig. Ich habe nämlich die Erfahrung gemacht, dass die, die sich besonders um das Geben von Gefühlen kümmern, damit verschleiern, dass gar kein Inhalt dahinter ist.

Was eine Vorleistung ist, ist schon wieder sehr interpretierbar. Wenn ich bei Sachen, die nur wenig mit dem Thema zu tun haben, exzessiv darlege, dass ich mich damit beschäftigt habe, dann wird das Werk 50 Seiten lang, hat acht Seiten Literaturverzeichnis, und gar keinen Inhalt mehr.
eggy hat geschrieben: ↑ zum Beitrag ↑
29.11.2018 09:59:02
Letztendlich spielt auch es keine Rolle, ob Du direkt vom Fach bist, aber Du musst zeigen, dass Du, von dem was Du da tust, Ahnung hast. Und das überzeugend rüberzubringen, schaffst Du am ehesten durch die korrekte Anwendung der Fachtermini. Ist leider so.
Nein! Das sehe ich völlig anders.
Überzeugend ist, wenn etwas Funktionierendes dabei herauskommt. Nur das zählt für mich.
Harry, hol schon mal das Rasiermesser!

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Selfsig bei gpg

Beitrag von Lohengrin » 30.11.2018 02:59:36

Zurück zum Thema!

Ich habe hier einen neuen Thread gestartet, weil ich das mit der Eigenunterschrift verstehen will.
Ich habe gelesen, dass ein öffentlicher OpenPGP-Schlüssel ohne Eigenunterschrift leicht fälschbar sei. Ich verstehe aber noch nicht warum.
Wenn die Identität des Besitzers des geheimen Schlüssels die UID ist, dann ist es mir klar.
Wenn die Festlegung der erlaubten Hashcodes mit der Eigenunterschrift abgesichert wird, dann ist mir auch klar warum.

Meine Frage ist, ob ich noch etwas übersehen habe.
Ich will statt der UID von OpenPGP den SHA-256 des öffentlichen OpenPGP-Schlüssels als Identität des Besitzers des geheimen Schlüssels nehmen. Gibt es dann noch einen sicherheitsrelevanten Grund für die Eigenunterschrift?
Harry, hol schon mal das Rasiermesser!

Antworten