Currently it is not possible to verify the authenticity or cryptographic integrity of the downloads from gitlab.iode.tech because the releases are not cryptographically signed.
This makes it hard for iodéOS customers to safely obtain the iodéOS software.
Steps to Reproduce
Go to the iodéOS website iode[.]tech
Click “iodéOS” in the navigation bar iode[.]tech/iodeos/
Click “Install iodéOS for free” iode[.]tech/installation/
Click “alternative way of installing iodéOS here” gitlab.iode[.]tech/ota/ota
Click on your device (eg Pixel 8) gitlab.iode[.]tech/ota/release/-/tree/master/shiba
Look for the release signature
???
Expected behavior: [What you expected to happen]
A few things are expected:
I should be able to download the iodéOS release-signing PGP key out-of-band from popular third-party keyservers (eg https://keys.openpgp.org/)
I should be able to download a cryptographic signature of the release (or, better, the releases’ digest file, such as a SHA256SUMS.asc file) along with the release itself
The downloads page itself should include a link to the documentation page that describes how to do the above two steps
Actual behavior: [What actually happened]
There’s just literally no information on verifying downloads, and it appears that it is not possible to do so.
Note that providing a hash in-band provides no security (just integrity from corruption).
For security (to verify the authenticity of a given release), we’d need a pinned, iode-specific release-signing PGP key and cryptographic signatures of release (or signatures of the release digest file)
If you need more historic examples where an open-source project had their publishing infrastructure breached and introduced a vector (sometimes successful) for Supply Chain Attacks against their users (which can be detected by proper release signing), see this list (specifically taking note where the Type of compromise = Publishing Infrastructure):
Though you could use non-standard cryptographic signatures (like OpenSSH or minisign), I would strongly encourage using gpg, as it’s the industry standard with the most adoption and mature PKI.
@rik thanks for you work on this. Unfortunately, I’m afraid this has not yet been completed.
[quote=“maltfield, post:1, topic:6707”]
Expected behavior: [What you expected to happen]
A few things are expected:
I should be able to download the iodéOS release-signing PGP key out-of-band from popular third-party keyservers (eg https://keys.openpgp.org/)
I should be able to download a cryptographic signature of the release (or, better, the releases’ digest file, such as a `SHA256SUMS.asc` file) along with the release itself
The downloads page itself should include a link to the documentation page that describes how to do the above two steps
Look around for link to information about verifying what I just downloaded
???
User gives-up, cancels download, and goes to download a different ROM
Solution
To complete this issue, we need to either:
provide verification instructions directly on the download page, or
add a section about “verifying” directly on the download page, which simply has a hyperlink to the documentation that describes how to verify downloads
I have re-opened the issue and added the comment about needing to add a link to the installation documentation from the downloads page and the “how to flash” section of the OTA page where instructions are given for manual installation.