-
Notifications
You must be signed in to change notification settings - Fork 38
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
migrate akmod keys from repo to org level #100
Comments
After talking to josh it ends up we never intended for a multi-repo use case and pretty much comes right out of the prototype. We missed checking this as part of moving to beta, we should have caught this. We don't have the key, we need to generate a new one. However, Josh says we can have existing users run a command to migrate to the new key. Then I'll take an item to sort out key escrow or whatever we're supposed to be doing. Then we can ship a fix in a justfile or something to find a least-worst migration solution. And then probably generate a new key and rip the bandaid off for F39? The reason to do this (and I think we should) is we need to have akmods in it's own repo so that we can split that off as a generic solution that we need to get other out of tree kernel modules that we want. |
Thank you VERY much for tracking that down with Josh. Good that we at least know what the situation is. I can continue the generic akmods work, but once its ready, that's pretty much the time to rip off the bandaid, not F39 release. I'm not really sure what you are thinking for formal key escrow, but I'm guessing that could take longer than the remaining akmods dev effort at this point. :-) |
Also on further thought, I believe our line of thinking was "why would we need an org secret for this keep that contained in that one repo, reduce the scope." |
No worries. Clearly you just needed a contributor with bigger vision. 😂 |
Joking aside... here's the serious thoughts about how to proceed: (:heavy_check_mark:
That last step needs a lot of thought with regard to usefulness, viability, and how to make sure it isn't ANOTHER source of problems. |
Yeah or maybe we can do something like ship an enabled systemd service that checks to see if you're on the old key every X hours and if you are xdg-open a link to the migration instructions, or /etc/motd, or whatever we think would catch it. |
People who use uBlue know it's an alpha. We say it everywhere. Waiting for F39 would be a waste of our time. Holding back progress, new akmods and infrastructure for an arbitrary release date lol. I am definitely in favor of ripping the bandaid soon, and the path suggested by @bsherman sounds great. Just needs that migration path for existing users. |
Please create new key in org-level secrets with name |
@castrojo completed step 2 (and fulfilled my previous comment request) with ublue-os/main#212 |
Good thing is... Nothing is really broken forever. Even if the update rolls out to someone who hasn't migrated, they can use the following process to recover their system:
So it is more an issue of getting the word out. We want to avoid the black screens in the first place, by making sure people have the new key already. |
I am in and out today so if someone who has time on an nvidia image could doublecheck that the cert is on there now that'd be great. |
I'm sorry, I didn't communicate very well and I was simultaneously trying to handle some issues at work, so I overlooked something. We did add the new cert into the repo, but it's not yet built into the image. I'll PR that quickly. |
My PR to correctly implement item 2 from #100 (comment) I've pretty much just committed to June 17 as signing cutover day. |
100% agreed, great decision. Anyone have any ideas how we're going to notify people? There's always that process to repair all affected systems, but if there's some non-intrusive way we can figure out for notifying users, that would be better. For example: In That technique would also work to drop in a small script that runs "notify-send" to send a desktop notification about it. Or even a small GTK python app that pops up with the news. It depends on how serious we think this news is, because installing an announcement app like that on systems will annoy some people more than a black screen and a "ublue.it website - check news - see the fix" would. |
Ok from chat, next steps:
|
I've done a few tests: ✔️ I've verified that the new key is present on an image derived from ✔️ I've moved files around in my local git checkout to force a build of nvidia modules with new keys. I've confirmed that, when new keys are in proper location, nvidia drivers do get signed with the new key. 😢 One minor complaint... Though the new key has a nicer
Below you can see the output of modinfo for a kmod signed with new key... the @castrojo I don't want you do do extra work, but, it's probably slightly better for long term trustworthiness and debugging if we correct that I leave it to you, though, as we aren't sunk without the fix, it's just nicer.
|
What are the implications of the CN not being filled in? |
It's simply not as easy to read which key was used to sign a given kmod.
|
Jorge regenerated the new akmods key to include meaningful CN, "ublue akmods", instead of the default "akmods local singing CA". For #100
Jorge regenerated the new akmods key to include meaningful CN, "ublue akmods", instead of the default "akmods local singing CA". For #100
This is the final PR for #100 . It should be merged at June 17, 2023 0000 UTC, as near as possible. Changes: - switches to new MOK/SecureBoot signing key for nvidia (already used by other akmods) - stops providing MOK public keys in ublue-os-nvidia-addons - updates messaging in README
This is the final PR for #100 . It should be merged at June 17, 2023 0000 UTC, as near as possible. Changes: - switches to new MOK/SecureBoot signing key for nvidia (already used by other akmods) - stops providing MOK public keys in ublue-os-nvidia-addons - updates messaging in README
We need to migrate AKMOD_PRIVKEY and AKMOD_PUBKEY to be org-level secrets rather than
nvidia
repo level.Reason: we plan to use the same single key for akmods signing of both our current nvidia akmod and our future akmods.
The text was updated successfully, but these errors were encountered: