Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPG signed verification of releases #1644

Closed
jamesob opened this issue Dec 6, 2024 · 9 comments · May be fixed by #1646
Closed

GPG signed verification of releases #1644

jamesob opened this issue Dec 6, 2024 · 9 comments · May be fixed by #1646
Labels

Comments

@jamesob
Copy link

jamesob commented Dec 6, 2024

Given the security-critical nature of this project, I think it would be preferable to have GPG-signed hashes available alongside source releases. Right now (AFAICT) this project is hinging completely on Github/HTTPS trust model when retrieving this repo for build and use.

Obviously the hashes and signatures GPG IDs would have to be posted somewhere aside from Github for full benefit.

I'm happy to help in whatever manner I can.

@real-or-random
Copy link
Contributor

Thanks for your feedback. This is a duplicate of #1175.

@real-or-random real-or-random closed this as not planned Won't fix, can't repro, duplicate, stale Dec 9, 2024
@jonasnick
Copy link
Contributor

Right now (AFAICT) this project is hinging completely on Github/HTTPS trust model when retrieving this repo for build and use.

That's not correct. Release tags are GPG signed.

@jamesob
Copy link
Author

jamesob commented Dec 9, 2024

A few notes:

  1. When retrieving release artifacts (.zip or .tar.gz), as far as I can tell there aren't any signatures attached to those, so unless the git repo is being pulled down there isn't an easy way to verify.
  2. @jonasnick's signing key isn't mentioned anywhere not-Github, so in a sense Github is still a point of failure if e.g. the web UI lies about the GPG ID that Jonas has used for signing.

Thanks for letting me know that the release tags are signed. Maybe it would be worth mentioning how to verify (git tag -v $TAG) in the README; I can file a PR if you'd like.

@jonasnick you also might consider posting your GPG ID somewhere else where your identity is well known, and then mentioning that in the README.

@jamesob
Copy link
Author

jamesob commented Dec 9, 2024

Oh, and @jonasnick your key seems expired.

@jonasnick
Copy link
Contributor

@jamesob

I can file a PR if you'd like.

This would be great.

@jonasnick's signing key isn't mentioned anywhere not-Github

It is - for example on GPG keyservers. But where would you expect to find it? In particular, where did you find real-or-random's and sipa's keys?

your key seems expired.

Doesn't seem expired to me

❯ GNUPGHOME=$(pwd) gpg --keyserver hkps://keys.openpgp.org --recv-keys "36C7 1A37 C9D9 88BD E825 08D9 B1A7 0E4F 8DCD 0366"
gpg: WARNING: unsafe permissions on homedir '/home/me/tmp/tmpbla'
gpg: key B1A70E4F8DCD0366: public key "Jonas Nick <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
❯ GNUPGHOME=$(pwd) gpg --list-keys
gpg: WARNING: unsafe permissions on homedir '/home/me/tmp/tmpbla'
/home/me/tmp/tmpbla/pubring.kbx
-------------------------------
pub   rsa4096 2014-10-09 [SC] [expires: 2026-05-07]
      36C71A37C9D988BDE82508D9B1A70E4F8DCD0366
uid           [ unknown] Jonas Nick <[email protected]>
sub   rsa4096 2017-06-26 [S] [expires: 2026-05-07]
sub   rsa4096 2017-06-26 [E] [expires: 2026-05-07]
sub   rsa4096 2017-06-26 [A] [expires: 2026-05-07]

@jamesob
Copy link
Author

jamesob commented Dec 9, 2024

Oh interesting - github thinks it's expired for some reason.

image

@jamesob
Copy link
Author

jamesob commented Dec 9, 2024

It is - for example on GPG keyservers. But where would you expect to find it? In particular, where did you find real-or-random's and sipa's keys?

Anyone can submit a key with your email address to keyservers, so I'm not sure that counts. I'm not sure where the other guys attest to their GPG IDs, but I like doing so in my Twitter profile. Could be on your website or nostr etc. Presumably anywhere works where people have some rough assurance that the content is controlled by you.

@real-or-random
Copy link
Contributor

Oh interesting - github thinks it's expired for some reason.

The revision in @jonasnick's GitHub profile has expired. The newest revision of the key (probably the one here, though I haven't verified this) has not expired.

@jonasnick
Copy link
Contributor

Thanks, I updated the key in my github profile.

Anyone can submit a key with your email address to keyservers,

Not to keys.openpgp.org at least (if they are honest). If you google my key id, you will find it on my website and nixbitcoin.org. I've added it to my twitter bio, although I'm not sure that this will help much unless you already know who I am on twitter and happen to search for my key id there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants