Git und Non Repudiation, Revisited

[ARCHIVIERT] Zuletzt aktualisiert von Joe Schaefer auf Fr., 03 Jan. 2025    Quelle
 

Dieser Aufsatz bezieht sich wirklich auf DVCS im Allgemeinen, nicht nur git per se. Aber wir werden die Aufmerksamkeit auf Git lenken, weil es das beliebteste DVCS bis heute bleibt.

Nichtzurückweisung.

Mit einem traditionellen, zentralisierten Versionskontrolltool sind solche Datensätze leicht aus der Commit-Historie verfügbar. Jeder Commit an das System durchläuft einen Autorisierungsmechanismus, um sicherzustellen, dass die Person, die diese Änderung vorgenommen hat, berechtigt ist, sie hochzuladen. Diese Aufzeichnungen sind für das Unternehmen von entscheidender Bedeutung, um sicherzustellen, dass genaue Aufzeichnungen geführt werden, die angeben, wer für das Hochladen jeder Codezeile in die betreffende Software verantwortlich ist.

mit git oder verteilter Versionskontrolle im Allgemeinen, Es gibt einen klaren Unterschied zwischen der “Commit”-Geschichte und der “Upload”-Geschichte — Ich werde sie als “Push Records” bezeichnen. Commits in git werden nicht authentifiziert, da sie lokal erfolgen und lokale, nicht verifizierte Metadaten zur Historie hinzugefügt werden. Der Upload-Schritt, aka Git-Push

Mit Die Apache Software Foundation.

Warum ist das wichtig? Nun, für Anfänger, lassen Sie mich ein häufiges Missverständnis über die Notwendigkeit von Contributor License Agreements (ICLAs) für Apache-Committers ansprechen. Viele Menschen scheinen nicht zu verstehen, dass es in Bezug auf die einzelnen Werke der Autorschaft eines Committer keinen Unterschied zwischen der anwendbaren Sprache in der ICLA und die Apache-Lizenz 2.0.

Was Push-Datensätze dann bieten, ist eine Möglichkeit, zu jeder Codezeile in einem Release zurückzuverfolgen, der einzelne Committer, der dafür verantwortlich ist, diesen Code an das Git-Repository des ASF zu übertragen. Dies ist von entscheidender Bedeutung, um die Herkunft eines Drittbeitrags mit git zu bestimmen, da es für einen solchen Mitwirkenden leider möglich ist, wegen der verteilten Natur von DVCS-Commit-Logs von seinem Beitrag zu einem Git-Projekt “abzugehen”. Die verantwortliche Partei wird dann laut ICLA der Committer, der den Code gepusht hat.

Frühe und angemessene Minderungsstrategien drehen sich alle um das Entfernen des aufgegebenen Beitrags, aber der Schaden am Projekt ist möglicherweise bereits geschehen. Und ohne die Push-Datensätze hätten wir buchstäblich keinen maßgeblichen Prozess, um zu bestimmen, wie dieser Code tatsächlich in unser Repository gelangt ist, außer durch alternative Datensätze in Problem-Trackern oder in der Kommunikation auf der Liste zu trawlingeln. Sich allein auf Merge-Commit-Logs zu verlassen, um die Herkunft zu bestimmen, ist aus Sicherheitsgründen nicht sehr zufriedenstellend, da es eine starre Einhaltung einer bestimmten Art von Workflow erfordert, die wir nicht diktieren möchten.

Ohne solche Dinge müssten wir zumindest die PGP-Unterzeichnung des Engagements jedes Mitwirkenden vorschreiben, was für viele Projekte schwierig ist. Push-Datensätze bieten einen transparenten Prozess, der sich nicht auf den Workflow eines Projekts auswirkt, außer sicherzustellen, dass das Git-Repository des ASF das wahre Master-Repository ist.

2025-Update

Git unterstützt nativ SSH-SK-ED25519@openssh.com

Die unnötige Aufblähung und Komplexität einer vollständigen PGP-Infrastruktur ist nicht mehr relevant, um die oben diskutierten Nichtrückweisungsprobleme im gesamten Unternehmen oder auf Projektebene zu lösen. Und die schöne GitHub-Integration erleichtert diesen Aufwand vollständig.

Permalink  #DVCS   #ICLA   #nicht Ablehnung   #Sicherheit   #Versionskontrolle  

 

   

Kommentare  


Anhänge  

Links  


Index

Sonnenstaronly


COVID-19 März 2020

  • Exponentielles Wachstum und COVID-19 — Nehmen Sie sich Zeit für den Abschnitt The Mathe — Es ist wichtig, ein gebildeter Verbraucher von Statistiken zu sein, die für die aktuelle Pandemie relevant sind … Do., 06 März 2025

Heyoka



NonFunctional Tests


 

  • Verteilerlisten — Diese temporären Adressen sind ein Anathema für ezmlm-idx‘s Abo- und Moderationssysteme … Sa., 27 Apr. 2024

 

  • Informationssicherheits-Primer — Alle Daten, die aus einem UNIX Systemaufruf zur Laufzeit stammen, müssen als erhalten behandelt werden … Sa., 27 Apr. 2024

 

  • Die Freude der DTrace — Messen Sie zweimal, schneiden Sie einmal, bevor Sie mit einer Codeoptimierung beginnen … Mi., 17 Apr. 2024

 


 

  • Über das Spam-Problem… — Das beste Plugin für qpsmtpdObwohl es schwierig ist zu verstehen, warum … So., 29 Jan. 2023

Hyperbolische Wabe


 

  • Spaß mit htop — Erweiterte htop-Funktionen auf beliebten Unix-Plattformen … Do., 19 Jan. 2023

Informationsarchitektur

  • Informationsarchitektur — Die gesamte Bandbreite an Technologien, die für das Design, die Präsentation, die Beziehungen und die architektonischen Einschränkungen relevant sind, die jede von Ihnen bereitgestellte URL abdecken … Mo., 11 März 2024

geteert und gefiedert


Englischsprachige Abhängigkeiten


 

  • Die Bewegung DevOps — Die große Idee hinter der “Bewegung” ist nicht nur, den Entwicklern mehr Seil zu geben … Fr., 26 Apr. 2024

 

  • Anwendungsperformance — Viele Entwickler fallen in die Falle des Denkens, dass es bei der Leistungsoptimierung darum geht, jede Codezeile so effizient wie möglich zu machen. … Fr., 26 Apr. 2024