Revocation is a big issue, as is appropriately separating trust. For
example, who do I trust to know what key corresponds to a project? I
think that RubyGems will do this.
Furthermore, I assume the repo would keep that online to sign new projects
as they are registered. If so, then if the repo is compromised, can I
just say that some attacker controlled key is responsible for signing for
any project? That would seem to make the impact of a compromise of the
repo be that they can hack all users of RubyGEMS even if the devels are
secure (a bad outcome!).
We're working with the Python folks to try to address this issue (and a
bunch of others). Specifically, we are working on a PEP that has a layout
/ use that will make it so that:
1) PyPI can immediately create accounts for new projects
2) even if an attacker compromises the repo and all keys on PyPI are
stolen, very few projects / users will be at risk
We could help to create a similar configuration / protections for RubyGems
as well. However, to make this work RubyGems will need to have richer
mechanisms than SUSE, RedHat, Debian, etc. use --- for instance, a way of
performing selective trust delegation.
The situation with RubyGems is more complex than for Linux package managers
because you don't trust your Gems devels and your users shouldn't trust the
RubyGems repo more than they have to.)
We are interested in working with you guys to plan a setup that is very
secure and has minimal impact on usability for users, developers, and repo
admins.
Justin
On Thu, Oct 3, 2013 at 6:39 AM, Jordi Massaguer Pla
<
jmassa...@suse.de>wrote: