<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Il giorno 12/feb/2013, alle ore 18:44, Daniel Holth <<a href="mailto:dholth@gmail.com">dholth@gmail.com</a>> ha scritto:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 12, 2013 at 11:27 AM, Giovanni Bajo <span dir="ltr"><<a href="mailto:rasky@develer.com" target="_blank">rasky@develer.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Il giorno 12/feb/2013, alle ore 14:12, Nick Coghlan <<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>> ha scritto:<br>

<div class="im"><br>
> On Tue, Feb 12, 2013 at 10:09 PM, Giovanni Bajo <<a href="mailto:rasky@develer.com">rasky@develer.com</a>> wrote:<br>
>> Hello Nick,<br>
>><br>
>> I've added the initial Requirements and Thread Model section to my document. I've also added a section "Future scenarios" at the end of the document.<br>
>><br>
>> I hope they complete what you were feeling was missing from the proposal.<br>
><br>
> Thanks, that helps me a lot in understanding the overall goals of your<br>
> approach - in particular, it more clearly puts several things out of<br>
> scope :)<br>
><br>
> Your Task #6/#7 (related to PyPI generating the trust file, and pip<br>
> verifying it) are the ones where I think the input of the TUF team<br>
> will be most valuable, as well as potentially the folks responding to<br>
> the <a href="http://rubygems.org/" target="_blank">rubygems.org</a> attack.<br>
<br>
</div>My undestanding is that #6/#7 are not currently covered by TUF. So yes, I would surely value their input to review my design, evolve it together or scratch it and come up with something new.<br>
<br>
Sorry for the repetition, but I also volunteer for implementation. I don't mind if someone else does it (or a subset of it, or we split, etc.), but I think it is important to say that this is not a theoretical proposal that someone else will have to tackle, but I'm happy to submit patches (all of them, in the worst case) to the respective maintainers and rework them until they are acceptable.<br>

<div class="im"><br>
> The <a href="http://rubygems.org/" target="_blank">rubygems.org</a> will also be looking at server side incident response<br>
> - I suspect a lot of that side of things will end up running through<br>
> the PSF infrastructure team moreso than catalog-sig (although it may<br>
> end up here if it involves PyPI code changes.<br>
<br>
<br>
</div>While I do have some ideas, I don't think I'm fully qualified for that side of things. Primarily, my proposal helps by not forcing PyPI to handle an online "master" signing key with all the required efforts (migration, rotation, mirroring, threat responses, mitigations, etc.). If you read it, you had seen that PyPI is only required to validate signature (like pip), not sign anything.<br>
</blockquote><div><br></div><div>The alternative is to just use a system implemented by several PhD [candidates?] in 2010 based on years of update system experience, before pypi security was cool. <br></div></div></div></div></blockquote><div><br></div><div>Sarcasm is not appreciated, but I got your point (= PhDs rule, you poor guy suck).</div><div><br></div><div>I think I've already elaborated on why TUF is just a subset of what we need for PyPI, so it's not useful to reiterate. I'm now looking forward to talk to Justin, when he is available.</div><div><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>At first I didn't like the idea of pypi running a CA or an associated CA but I think it is a fantastic idea. There would be no key revocation or third-party keyservers, just up-to-date positive assertions (including necessary keying material) about whether a key was allowed to sign a particular package. The threshold signatures (n of m signatures required, both can be 1) feature is pretty mind-blowing as well.</div></div></div></div></blockquote><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>We should trust our servers. We already do for https, the keys are online, and it is a good thing. When pypi is hacked Martin will tell us and we can roll back to some earlier verifiable state.<br></div></div></div>
</div>
</blockquote><br></div><div>All of the above benefits are present also with my design, that doesn't require an online signing key. *Especially* if you trust the server, those benefits are there (though not trusting the server is a basic part of the threat model of both TUF and my proposal).</div><div>-- </div><div><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Giovanni Bajo   ::  <a href="mailto:rasky@develer.com">rasky@develer.com</a><br>Develer S.r.l.  ::  <a href="http://www.develer.com/">http://www.develer.com</a><br><br>My Blog: <a href="http://giovanni.bajo.it/">http://giovanni.bajo.it</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br></body></html>