it-swarm.com.de

Warum sollte ich meine Git-Commits mit einem GPG-Schlüssel signieren, wenn ich bereits einen SSH-Schlüssel verwende, um mich beim Drücken zu authentifizieren?

Einfach ausgedrückt, ich frage mich, warum man seine Commits mit einem GPG-Schlüssel signieren muss, wenn man zu GitHub beiträgt, wenn man bereits einen öffentlichen SSH-Schlüssel bereitstellen muss.

41
Mahmoud Tantawy

Wenn Sie sich mit Ihrem SSH-Schlüssel bei Github authentifizieren, wird diese Authentifizierung in keiner sinnvollen oder dauerhaften Weise Teil des Repositorys. Es veranlasst Github, Ihnen für den Moment Zugriff zu gewähren, aber es beweist niemandem etwas, der nicht Github ist.

Wenn Sie ein Git-Tag mit GPG signieren, ist dieses Tag Teil des Repositorys und kann auf andere Kopien des Repositorys übertragen werden. Daher können andere Personen, die Ihr Repository klonen, das signierte Tag überprüfen, vorausgesetzt, sie haben Zugriff auf Ihren öffentlichen Schlüssel und Grund, ihm zu vertrauen.

Es ist zwar nicht erforderlich, jedes einzelne Commit zu markieren und mit GPG zu signieren, es ist jedoch ratsam, mit GPG signierte Tags mindestens für jedes Commit bereitzustellen, das einer veröffentlichten Version Ihres Codes entspricht. Sie möchten vielleicht mehr als das tun, aber das ist das absolute Minimum an verantwortungsbewusstem Verhalten, da es hinreichende Sicherheit bietet, dass:

  • Das fragliche Commit entspricht wirklich der fraglichen Version.

  • Das fragliche Commit (und in dem Maße, in dem wir den in der Git-Commit-Historie verwendeten SHA1-Hashes, allen ihren Vorgängern, vertrauen) stammte vom Unterzeichner (und gegebenenfalls vom Team des Unterzeichners).

  • Das betreffende Commit wurde nicht manipuliert, nachdem der Unterzeichner es markiert hatte.

Beachten Sie, dass ich "angemessene Sicherheit" gesagt habe, nicht "vollkommene Sicherheit" ... es gibt andere Dinge, die bei der Software-Integrität schief gehen können. Die Bereitstellung signierter Tags zumindest für offizielle Veröffentlichungen ist jedoch ein großer Schritt in die richtige Richtung.

38
HedgeMage