guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/66: ccs-2021: Move "Notes on SHA-1" under "Implementation".


From: Ludovic Courtès
Subject: 05/66: ccs-2021: Move "Notes on SHA-1" under "Implementation".
Date: Wed, 29 Jun 2022 11:31:57 -0400 (EDT)

civodul pushed a commit to branch master
in repository maintenance.

commit 310fded90bb97d6dba6ef004b180d9d110178c0f
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon May 3 09:28:47 2021 +0200

    ccs-2021: Move "Notes on SHA-1" under "Implementation".
---
 doc/ccs-2021/security.sbib    | 12 +++++++++
 doc/ccs-2021/supply-chain.skb | 58 +++++++++++++++++++++----------------------
 2 files changed, 41 insertions(+), 29 deletions(-)

diff --git a/doc/ccs-2021/security.sbib b/doc/ccs-2021/security.sbib
index d32c5bc..edc7ab3 100644
--- a/doc/ccs-2021/security.sbib
+++ b/doc/ccs-2021/security.sbib
@@ -145,6 +145,18 @@ Thayer")
   (month "November")
   (url "https://tools.ietf.org/html/rfc4880";))
 
+(misc git2021:hash-transition
+  (author "Git project")
+  (title "Hash Function Transition")
+  (year "2021")
+  (url "https://git-scm.com/docs/hash-function-transition/";))
+  
+(misc bitcoin2021:verify-commits
+  (author "BitCoin Core project")
+  (title "Tooling for verification of PGP signed commits")
+  (year "2021")
+  (url 
"https://github.com/bitcoin/bitcoin/tree/master/contrib/verify-commits";))
+
 #|
 (defun skr-from-bibtex ()
   "Vaguely convert the BibTeX snippets after POINT to SBibTeX."
diff --git a/doc/ccs-2021/supply-chain.skb b/doc/ccs-2021/supply-chain.skb
index c44a67e..6e5e0f0 100644
--- a/doc/ccs-2021/supply-chain.skb
+++ b/doc/ccs-2021/supply-chain.skb
@@ -689,6 +689,35 @@ representing less than 2 MiB.  If needed, this could be 
reduced by
 removing unused OpenPGP packets from the keys, such as signature
 packets, and by storing them in binary format.]))
 
+     (section :title [Notes on SHA-1] :ident "sha1"
+
+       (p [We cannot really discuss Git commit signing without
+mentioning SHA-1.  The venerable crytographic hash function is
+approaching end of life, as evidenced by recent breakthroughs ,(ref :bib
+'(stevens2017:collision leurent2020:shambles)).  Signing a Git commit
+boils down to signing a SHA-1 hash, because all objects in the Git store
+are identified by their SHA-1 hash.])
+
+       (p [Git now relies on a collision attack detection library to
+mitigate practical attacks ,(ref :bib 'stevens2017:detection).
+Furthermore, the Git project is planning a hash function transition to
+address the problem ,(ref :bib 'git2021:hash-transition).])
+
+       (p [Some projects such as Bitcoin Core choose to not rely on
+SHA-1 at all.  Instead, for the commits they sign, they include in the
+commit log the SHA512 hash of the tree, which the verification scripts
+check ,(ref :bib 'bitcoin2021:verify-commits).  Computing a tree hash
+,(emph [for each commit]) in Guix would probably be prohibitively
+costly.  It also would not not address the fact that ,(emph [every]) Git
+object, not just trees but also commit objects and “blobs” (file
+contents), is SHA-1-addressed.  For now, for lack of a better solution,
+we rely on Git’s collision attack detection and look forward to Git’s
+transition to a more robust hash function.])
+
+       (p [As for SHA-1 in an OpenPGP context ,(ref :bib
+'callas2007:rfc4880-openpgp): our authentication code rejects SHA-1
+OpenPGP signatures, as recommended ,(ref :bib 'leurent2020:shambles).]))
+
       (section :title [Performance]
       
         (p [The core idea, the authorization invariant, is simple to
@@ -814,36 +843,7 @@ authentication support offered by ,(tt [guix git 
authenticate]) has seen
 use in a few repositories beside Guix channels.  We have yet to see
 broader adoption but we reckon that simplifying the interface may be a
 precondition, as explained above.])))
-   
-   (chapter :title [Notes on SHA-1] :ident "sha1"
       
-      (p [We can’t really discuss Git commit signing without mentioning
-SHA-1.  The venerable crytographic hash function is approaching end of
-life, as evidenced by recent breakthroughs ,(ref :bib
-'(stevens2017:collision leurent2020:shambles)).  Signing a Git commit
-boils down to signing a SHA-1 hash, because all objects in the Git store
-are identified by their SHA-1 hash.])
-
-      (p [Git now relies on a collision attack detection library ,(ref
-:bib 'stevens2017:detection) to mitigate practical attacks.
-Furthermore, the Git project is planning a hash function
-transition,(footnote
-[https://git-scm.com/docs/hash-function-transition/]) to address the
-problem.])
-
-      (p [Some projects such as Bitcoin Core choose to not rely on SHA-1
-at all.  Instead, for the commits they sign, they include in the commit
-log the SHA512 hash of the tree, which the verification scripts
-check,(footnote
-[https://github.com/bitcoin/bitcoin/tree/master/contrib/verify-commits]).
-Computing a tree hash ,(emph [for each commit]) in Guix would probably be
-prohibitively costly.  For now, for lack of a better solution, we rely
-on Git’s collision attack detection and look forward to a hash function
-transition.])
-
-      (p [As for SHA-1 in an OpenPGP context: our authentication code
-rejects SHA-1 OpenPGP signatures, as recommended.]))
-   
    (chapter :title [Related Work]
       :ident "related"
       



reply via email to

[Prev in Thread] Current Thread [Next in Thread]