Stefan Tittel wrote:
However, signatures are only as good as the signing key can be trusted. At the moment after adding a buildservice repository, YaST prompts to accept the corresponding key. How can I verify that this key is genuine?
There's no good user interface. You could retrieve it from the api though. e.g. for my home project it would be curl https://api.opensuse.org/public/source/home:lnussel/_pubkey
Just blindly accepting the presented key will make the entire use of OpenPGP signatures worthless. If an attacker manages to compromise the server or
While the lack of ways to actually verify the key is annoying I wouldn't call the entire use of signed repos useless. Once the initial step to import the key is passed a MITM or hostile mirror has no way to tamper with repository data or packages anymore.
For instance, today the key of the KDE4 community repository appears to have changed. How can I verify that this change is genuine and not the result of an attack?
What did the error message look like? Does YaST/zypper actually detect that a key has changed and warn that such a sudden change is potentially hostile?
2) Set up a seperate SSL-secured web server, where key fingerprints are listed for verification purposes. After YaST prompts me to accept a new key, I would then go to this website and check if the key fingerprint matches. The advantage would be that it would be quite easy to implement and that the user can decide which teams/persons he wants to trust. The disadvantage would be that most users would still just blindly import the keys, because they are lazy. :)
I'd like to see such a public interface on build.opensuse.org too :-) The more elaborate part is probably to parse the pubkey to display it in a human readable format. I don't know if there are any libraries for doing that.
Both approaches could also be fit for managing the genuiness of not just repository keys (as outlined above) but also package signing keys (with the exception that package signing keys need to be provided first, since they are not available in the repositories themselves).
In OBS the repository key is the project key and a package is signed with the key of the project it comes from. So for OBS one only needs to look at project keys.
What I fail to understand: Is package signing only useful when installing packages by hand? Because the repository metadata contains checksums for every package (and these checksums are hopefully checked during software installation), so trusted repository metadata should be enough to prevent the installation of malicious packages. If I am right, the possibility to verify package signing keys would be a nice service for people installing packages by hand, but not necessary for people installing packages from repositories.
Exactly. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org