[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"
- branch master updated (8bf076b -> 3a4e080), Ludovic Courtès, 2022/06/29
- 01/66: doc: First stab at a "Secure Supply Chain" paper., Ludovic Courtès, 2022/06/29
- 02/66: ccs-2021: Write "Implementation" section., Ludovic Courtès, 2022/06/29
- 05/66: ccs-2021: Move "Notes on SHA-1" under "Implementation".,
Ludovic Courtès <=
- 06/66: ccs-2021: Turn on review mode for good., Ludovic Courtès, 2022/06/29
- 03/66: ccs-2021: Tweak main sections., Ludovic Courtès, 2022/06/29
- 12/66: ccs-2021: Add abstract and tweak intro., Ludovic Courtès, 2022/06/29
- 07/66: ccs-2021: Discuss in-toto in "Related Work"., Ludovic Courtès, 2022/06/29
- 11/66: ccs-2021: Complete introductions., Ludovic Courtès, 2022/06/29
- 25/66: icse-2022: Final (?) tweaks., Ludovic Courtès, 2022/06/29
- 04/66: ccs-2021: Tweak "related work", add proper references., Ludovic Courtès, 2022/06/29
- 09/66: ccs-2021: Write conclusion., Ludovic Courtès, 2022/06/29
- 21/66: icse-2022: Link to "Git Cryptography Protocol"., Ludovic Courtès, 2022/06/29
- 29/66: programming-2022: Adjust to <Programming> style., Ludovic Courtès, 2022/06/29