Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Vy6pQ-0003bC-ST for bitcoin-development@lists.sourceforge.net; Tue, 31 Dec 2013 21:26:20 +0000 Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of taplink.co designates 50.117.27.232 as permitted sender) client-ip=50.117.27.232; envelope-from=jeremy@taplink.co; helo=mail.taplink.co; Received: from mail.taplink.co ([50.117.27.232]) by sog-mx-1.v43.ch3.sourceforge.com with smtp (Exim 4.76) id 1Vy6pP-0000YD-Ev for bitcoin-development@lists.sourceforge.net; Tue, 31 Dec 2013 21:26:20 +0000 Received: from laptop-air.hsd1.ca.comcast.net ([192.168.168.135]) by mail.taplink.co ; Tue, 31 Dec 2013 13:29:39 -0800 Content-Type: multipart/alternative; boundary=----------8ki5oSGSxSxTmxfFaTZ5nI To: "Gregory Maxwell" , "Mike Hearn" References: <52A3C8A5.7010606@gmail.com> <1795f3067ba3fcdd0caf978cc59ff024.squirrel@fruiteater.riseup.net> <52A435EA.7090405@gmail.com> <201312081237.24473.luke@dashjr.org> <20131212205106.GA4572@netbook.cypherspace.org> Date: Tue, 31 Dec 2013 13:25:40 -0800 MIME-Version: 1.0 From: "Jeremy Spilman" Organization: TapLink Message-ID: In-Reply-To: User-Agent: Opera Mail/1.0 (Win32) oclient: 192.168.168.135#jeremy@taplink.co#465 X-Spam-Score: -0.7 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record -0.1 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1Vy6pP-0000YD-Ev Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Dedicated server for bitcoin.org, your thoughts? X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Dec 2013 21:26:21 -0000 ------------8ki5oSGSxSxTmxfFaTZ5nI Content-Type: text/plain; charset=iso-8859-15; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit I didn't know about the dedicated server meltdown, it wasn't any of my infra. Anyway, my previous offer still stands. One less 'security theater' approach would be if we could provide forward-validation of updates using the blockchain. It's always going to be up to the user the first time they install the wallet to verify the provenance of the binaries/source. From that point forward, we could make it easier if the wallet could detect updates and prove they were valid. This could be as simple as hard-coding a public key into the client and checking a signature on the new binaries. But it could also be more interesting... For example, a well known address on the blockchain corresponds to multi-sig with keys controlled by developers (or whatever key policy the release team wants to impose). A spend from that address announces a new release, and includes the expected hash of the file. You would probably need some way to handle the different release targets. A more rigorous approach could identify all the various releases in terms of a BIP32 xpubkey whose branches would correspond to the different release trains and platform builds. Spends from a node announce the release and the expected hash. This provides zero benefit if the wallet software is already compromised, but I think this would allow trusted automatic update notification, and a trusted way to deliver the expected hashes. It also might resolve some of the consternation around when a release is truly "released", if that's really a problem. I'm not sure how far along the slope you would want to go; 1) announcing updates in the UI, 2) providing a button the user could click to verify a binary matches its expected hash, 3) click to download and verify the upgrade matches the expected hash, 4) click to upgrade Formalizing the release process around a set of privkeys (or split shares of keys) may raise its own set of questions. For the download itself, I've heard the advocates of announcing availability on the blockchain leading to a BitTorrent magnet link, but I also understand objections to adding an entire BitTorrent stack into a wallet. On Tue, 31 Dec 2013 06:23:55 -0800, Mike Hearn wrote: >> The site was actually moved onto a dedicated server temporarily and it >> melted down under the load. I wouldn't call that no progress. > > Oh, it did? When was that? I must have missed this excitement :) >Any idea how much load it had? > >> Perhaps I wasn't clear on the point I was making Drak's threat model >> is not improved in the slightest by SSL. It would be improved by >> increasing the use of signature checking, e.g. by making it easier. > > Well, that depends. If you watch Applebaums talk he is pushing TLS > pretty hard, and saying that based on the access to the source docs some > of >their MITM attacks can't beat TLS. It appears that they have the > capability to do bulk MITM and rewrite of downloads as Drak says but > *not* when >TLS is present, that would force more targeted attacks. So > to me that implies that TLS does raise the bar and is worth doing. > > However if we can't find a server that won't melt under the load, then > that'd be an issue. We could consider hosting downloads on AppEngine or > >something else that can handle both high load and TLS. ------------8ki5oSGSxSxTmxfFaTZ5nI Content-Type: multipart/related; boundary=----------8ki5oSGSxSxTmxxnfxpXDG ------------8ki5oSGSxSxTmxxnfxpXDG Content-Type: text/html; charset=iso-8859-15 Content-ID: Content-Transfer-Encoding: Quoted-Printable
I didn't know about the dedicated server meltdown, it wasn't = any of my infra. Anyway, my previous offer still stands.

<= /div>
One less 'security theater' approach would be if we could prov= ide forward-validation of updates using the blockchain. It's always goin= g to be up to the user the first time they install the wallet to verify = the provenance of the binaries/source. From that point forward, we could= make it easier if the wallet could detect updates and prove they were v= alid.

This could be as simple as hard-coding a = public key into the client and checking a signature on the new binaries.= But it could also be more interesting...

For e= xample, a well known address on the blockchain corresponds to multi-sig = with keys controlled by developers (or whatever key policy the release t= eam wants to impose). A spend from that address announces a new release,= and includes the expected hash of the file.

Yo= u would probably need some way to handle the different release targets. = A more rigorous approach could identify all the various releases in term= s of a BIP32 xpubkey whose branches would correspond to the different re= lease trains and platform builds. Spends from a node announce the releas= e and the expected hash.

This provides zero ben= efit if the wallet software is already compromised, but I think this wou= ld allow trusted automatic update notification, and a trusted way to del= iver the expected hashes. It also might resolve some of the consternatio= n around when a release is truly "released", if that's really a problem.=

I'm not sure how far along the slope you would= want to go; 1) announcing updates in the UI, 2) providing a button the = user could click to verify a binary matches its expected hash, 3) click = to download and verify the upgrade matches the expected hash, 4) click t= o upgrade

Formalizing the release process aroun= d a set of privkeys (or split shares of keys) may raise its own set of q= uestions.

For the download itself, I've heard t= he advocates of announcing availability on the blockchain leading to a B= itTorrent magnet link, but I also understand objections to adding an ent= ire BitTorrent stack into a wallet.

On Tue, 31 = Dec 2013 06:23:55 -0800, Mike Hearn <mike@plan99.net> wrote:

=
The site wa= s actually moved onto a dedicated server temporarily and it
melted down under the load. I wouldn't call that no progress.

Oh, it did? When was that? I must have missed = this excitement :)
 
Any idea how much load it = had?

Perhaps I wasn't = clear on the point I was making Drak's threat model
is not improved in the slightest by SSL. It would be improved by
increasing the use of signature checking, e.g. by making it easier.
<= /blockquote>

Well, that depends. If you watch Appleba= ums talk he is pushing TLS pretty hard, and saying that based on the acc= ess to the source docs some of their MITM attacks can't beat TLS. It app= ears that they have the capability to do bulk MITM and rewrite of downlo= ads as Drak says but *not* when TLS is present, that would force more ta= rgeted attacks. So to me that implies that TLS does raise the bar and is= worth doing.

However if we can't find a server that won't melt un= der the load, then that'd be an issue. We could consider hosting downloa= ds on AppEngine or something else that can handle both high load and TLS= .



------------8ki5oSGSxSxTmxxnfxpXDG-- ------------8ki5oSGSxSxTmxfFaTZ5nI--