I agree but how is anyone supposed to know this. Keys are updated all the time but there seems to be no central location to verify this. So we see all the time “new key do you accept?” but no way to verify this. So it becomes like Windows and users must accept it or forgo the update or install. Keys are a great idea but there need to be a independent way to verify them. And every user must know the way.
I agree entirely - the reason it gives you a warning is in case someone has maliciously changed the repository, surely? A list of keys on the opensuse repositories page would be helpful, so at least we can make an informed decision as to why the key has changed. Or even better, they could announce when they are going to change the keys.
That said, I blindly accepted all the keys when I first added the repositories - but again, what choice did I have?
Before this becomes an issue much larger than it should be: Has anyone experienced the appearance of loads of malicious packages?
What I suspect is going to happen, if keys are getting published is this:
Enless lists of long key-strings ( just browse Index of /repositories/home: ). Number of page hits after one month: zero.
It’s quite simple: each package is signed, you need the key it’s signed with. If it’s signed with some other key, nothing will work, until you accept that key. AFAIK there can only be one key in a repo, so changing it would make all other packages in that repo invalid.
I’m not sure, but I think zypper only verifies the metada signature, not the packages ones.
An attacker could generate a new package unsigned or signed by himself, modify the metadata to include its modified package, sign the metadata with its own key and change the key.
You would have a single modified package and: