git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: <rsbecker@nexbridge.com>
To: <git@vger.kernel.org>
Cc: "'Fabian Stelzer'" <fs@gigacodes.de>
Subject: RE: [RFE] Signing using SSL
Date: Tue, 29 Mar 2022 11:44:10 -0400	[thread overview]
Message-ID: <00b801d84383$d85b0490$89110db0$@nexbridge.com> (raw)
In-Reply-To: 

On March 16, 2022 12:45 PM, I wrote:
>On March 16, 2022 12:27 PM, Fabian Stelzer wrote:
>>On 16.03.2022 10:34, rsbecker@nexbridge.com wrote:
>>>Following up on our IRC discussion on Monday, I have had a request to
>>>support signing git commits and tags with SSL certificates instead of
>>>SSH/GPG. The organization is heavily invested in SSL infrastructure,
>>>so they want to go down that path.
>>>
>>>The basic technique for doing this is, for example:
>>>
>>>openssl dgst -sha256 -sign key -out content.sha256 signature.txt
>>>-passin passphrase
>>>
>>>There is a pre-step to compute the sha256, in this example, into a
>>>file provided to openssl. We could use openssl to compute the hash also.
>>>
>>>Verification is a bit different than what SSH or GPG does:
>>>
>>>openssl dgst -sha256 -verify  <(openssl x509 -in certificate -pubkey
>>>-noout) -signature sign.txt.sha256 signature.txt
>>>
>>>and reports either
>>>
>>>Verified OK
>>>Or
>>>Verification Failure
>>>
>>>It does not look like completion codes are consistently involved.
>>>
>>>This also does look structurally different than both GPG and SSH and
>>>more work to set up. It may be possible to provide wrappers and
>>>pretend we are in SSH, but I'm not sure that is the right path to take.
>>>
>>>Any pointers on how this might be done in existing git infrastructure,
>>>or should I look into making this work in code? Sorry to say that the
>>>documentation is not that clear on this.
>>
>>Why not gpgsm? It can deal with x509 certs and is already supported. I
>>am using this to do s/mime signing/encryption with an yubikey hardware
>>token but static certs/keys should be even simpler. However I'm not
>>sure how good this works on other platforms.
>>
>>Take a look into the GPGSM prereq in t/lib-gpg.sh for a few hints on
>>how to set this up.
>
>Good idea but this is a non-starter. I have a limit of GPG 1.4, which only has the
>single legacy object. GPG added a dependency to mmap, which is not available on
>any of my platforms. That was one reason we were so happy to have SSH support.

I have been investigating this capability in more depth. After discussing with OpenSSL, explicitly adding SSL signing to git would introduce CVE-2022-0778 into git and allow a hostile upstream repo to introduce a deliberately defective key that could trigger this CVE unless customers have patched OpenSSL. Given the lack of broad-based adoption of the fixes to this point, I am reluctant to pursue this capability at this time. (Actually referencing my own advice in Git Rev News 82). The impact on git would be looping processes when signatures are evaluated. This would break workflows that depend on signed content and have downloaded keys with the CVE attributes.

Does anyone agree/disagree with me on delaying this?
--Randall


  parent reply	other threads:[~2022-03-29 15:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-16 14:34 [RFE] Signing using SSL rsbecker
2022-03-16 14:49 ` rsbecker
2022-03-16 16:27 ` Fabian Stelzer
2022-03-16 16:44   ` rsbecker
2022-03-29 15:44   ` rsbecker [this message]
2022-03-29 17:25     ` 'Fabian Stelzer'
2022-03-29 17:35       ` rsbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00b801d84383$d85b0490$89110db0$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=fs@gigacodes.de \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).