Subject: Re: [Bitcoin-development] bitcoin DNS addresses

From: Matt Corallo <[email-masked]>
Date: Tue, 26 Jul 2011 18:24:36 +0200

For some reason my mail client is being thick and not responding
on-list, sorry about that...

On Tue, 2011-07-26 at 08:34 -0700, Rick Wesson wrote:
> > Most OSes dont do any resolving at all, they just query upstream
> > resolvers.  In the case of the coffee shop, that upstream resolver is
> > the attacker.  This attacker can easily just claim that the zone you
> > requested is not DNSSEC signed and return their data and the OS will not
> > be any wiser.  AFAIK, most OSes dont have a mechanism to require the
> > zone queried is DNSSEC signed meaning you have to implement a full DNS
> > resolver in Bitcoin in order for it to be secure.
> 
> Matt,
> 
> The same attack can apply to https with a self signed cert where it is
> the A record that is replaced by the attacker and the https request is
> sent to evil.com's server which responds to the request with an answer
> in the form you expect. This is what lots of malware does on windows
> to steel bank login credentials, securing http doesn't prevent such an
> attack.
If you are using a self-signed cert to do any kind of important data
transfer you are just being stupid.  Here I am assuming your computer
isnt actually compromised, but only the network is, which I think is a
fairly good assumption.
> 
> Windows has supported DNSSEC since 2008 as have most of the unix
> variants, mac osx since 10.3 Android also seems to include DNSSEC
> capable resolvers.
> 
> If this thread is really about DNSSEC then we might move it to a more
> appropriate forum for discussing how applications leverage DNS
> security extensions.  Its taken some years to get the specs done and
> the root signed I expect it to take many more to enable the
> applications to leverage the deployed infrastructure.
No, DNSSEC is very well done, this thread is specifically about the
security implications of using DNSSEC for Bitcoin address communication.
IMO it is not a good idea, as for it to be secure against a coffee-shop
network MITMer you have to implement a full resolver with root trust
anchors and knowledge of root servers in Bitcoin, which does not seem
like a good idea.
> 
> I am interested in working on the issues surrounding usability and I
> find that remembering and communicating a bitcoin address are current
> limiting factors in the acceptance and deployment of this software. My
> goal is for simpler user experience.
I totally agree, however I don't think DNS-based resolving is a good
idea here.  HTTPS does have several advantages over a DNSSEC-based
solution without any significant drawbacks that I can see.

Matt