<div dir="ltr">On Mon, Jul 1, 2013 at 6:28 PM, Martin Uecker <span dir="ltr"><<a href="mailto:uecker@eecs.berkeley.edu" target="_blank">uecker@eecs.berkeley.edu</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">Owen Barton <<a href="mailto:owen@civicactions.com">owen@civicactions.com</a>> wrote:<br>


<br>
> This is roughly what I was suggesting with the http header (fetching the<br>
> hash with a TLS HEAD request even if the download itself is not TLS). I<br>
> think this may be preferable to encoding the hash with the link, as it<br>
> would work even with 3rd party links.<br>
<br>
</div>This has weaker security properties.<br>
The user has to trust:<br>
<br>
- everybody who has access to the server<br>
- that the server has not been compromised<br>
- a CA has not been compromised<br>
- TLS is working correctly<br>
<br>
- the source of the link<br>
<br>
<br>
Compare this with self-certifying links: Having the hash in the<br>
link guarantees that you got exactly the file the link specifies.<br>
This secures an easy-to-understand and fundamental property of<br>
a link. The user only has to trust the source of the link.<span class=""><font color="#888888"><br></font></span></blockquote><div><br></div><div>Fair enough - however for this to be true, the self-certifying links need to be both stored and transmitted without using any server (that the user doesn't already directly and exclusively control) or using TLS and CAs. How do you propose users locate download links for software that follows these conditions?</div>

<div><br></div><div>I was assuming that most users would follow the practice of accessing a download link off a project page (via https), or perhaps via a software repository. In this case, it seems to me that a the self-certifying link has exactly the same security properties as a http header.</div>

<div><br></div><div>That said, I totally agree there is a difference between trust of the link author and trust of the download server. Self-certified links would be better if you get a download link via a secure channel from an individual you trust, or from a repository of links you are already implicitly trusting (for example an OS that builds from original sources). They also better allow for mirroring and other distribution strategies, which I think is an important benefit.</div>

<div><br></div><div>Thanks!</div><div>- Owen</div><div><br></div><div><br></div><div><br></div></div>
</div></div>