From: Rick Wesson <rick@support-intelligence.com>
To: solar <solar@heliacal.net>
Cc: bitcoin-development@lists.sourceforge.net
Subject: Re: [Bitcoin-development] [BIP 15] Aliases
Date: Mon, 19 Dec 2011 07:35:51 -0800 [thread overview]
Message-ID: <CAJ1JLtvQ-jF4kUO3eZ4aExCJVOQrtB42fwmbCT4yeaiZoQPXSw@mail.gmail.com> (raw)
In-Reply-To: <F5367391-7CC5-4BCB-9AC4-4E38707DAF81@heliacal.net>
You are describing the problem DANE addresses, see
http://tools.ietf.org/html/draft-ietf-dane-protocol-12
Using Secure DNS to Associate Certificates with Domain Names For TLS
Abstract
TLS and DTLS use PKIX certificates for authenticating the server.
Users want their applications to verify that the certificate provided
by the TLS server is in fact associated with the domain name they
expect. TLSA provides bindings of keys to domains that are asserted
not by external entities, but by the entities that operate the DNS.
This document describes how to use secure DNS to associate the TLS
server's certificate with the intended domain name.
For those of you against DNSSEC, DANE leverages it significantly.
The point I have been attempting to make is if one to rely on HTTPS,
leveraging DANE will allow you to mitigate CAs and use self signed
cers but you will need to leverage DNSSEC to bind the self signed cert
using DANE and if you are going to rely on DNSSEC for DANE to support
HTTPS, why not short-circut this madness and just publish your
identifiers and secure the zone via DNSSEC and link in a stub resolver
in the client.
Short story: transform user@authority.tld --> _btc.user.athority.tld TXT 1z....
A short i-d is probably a better way to explain, so I will task myself
to do that.
-rick
On Mon, Dec 19, 2011 at 6:46 AM, solar <solar@heliacal.net> wrote:
> I think HTTPS, and more specifically x.509 PKI certs and CAs are generally a good idea and (historical implementation bugs aside) the concept is technically sound and secure. What is a bad idea (in my opinion) is to trust a software vendor to decide who you should trust.. thus it is a bad idea for bitcoin software to promise any trust.
>
> The part where the concept becomes flawed is trusting 3rd parties who have no relationship with you, to serve your interests. Now I'm just generalizing here and this is not universally true.. but internet CAs just want to sell certificates - they generally don't care beyond that, and they abuse the certificate validity dates to charge more money. All this is done under the guise of wanting to provide a secure experience to users without a prior relationship to the entity being identified. I propose that trying to follow this paradigm in bitcoin alias resolution is a bad idea because it tries to solve 2 problems at once, one of which does not have any 'good' solution, and forces a specific policy.
>
> First, we need to resolve an alias to a bitcoin address somehow.. but secondly we need to establish trust with the entity doing the alias resolution - to make sure that we can trust the response.
>
> When resolving an alias you will have to query an untrusted server, possibly being proxied by an 'attacker'. Presumably, an x.509 certificate will be presented, possibly self signed or chained off a self generated CA or whatever else.. but if it's your first contact then there is no possible way to know if it's correct or not. You would have to retrieve the correct public key of the CA to compare to first, possibly out of band. Get it from my website, compare it to my business card, send me an email and I'll send it to you, or get it from some other source using some other pre existing trust (a centralized and possibly private directory perhaps). The point is, the reason there is so much disagreement is because there is no good way to trust the resolver if you don't create that trust relationship prior to resolving an alias from it.
>
> I think that having to pre-trust the resolver would be an acceptable solution to all.. Those whose policy requires a simpler process can get a 3rd party CA list, much like the ones provided with web browsers and operating systems. Those with strict verification policies can choose to pre verify every public key.. and these processes are familiar to many organizations using PKI for other things already. In a client, presenting the usual certificate detail dialog, showing the public key, subject, issuer, and thumbprint would be sufficient to allow users to implement their own policies without forcing it one way or another.
>
> Please consider that while some organizations or users might require strong anonymity and pre existing trust, there are others who may want to do the opposite and that is just as valid, even if you or 'everyone else' disagrees with that. In the case of bitcoin, it will be used as part of a larger system, and whatever concerns are created by 'insecure' alias resolution may well be addressed in another part of the system. The most successful standards and implementations are the ones which provide the most flexibility - primarily because that allows users to extend them in ways the original designers didn't necessarily plan for.
>
> Thanks,
> Laszlo
>
>
>
> On Dec 19, 2011, at 11:44 AM, Andy Parkins wrote:
>
>> On 2011 December 19 Monday, Jorge Timón wrote:
>>> Ok, so HTTP is not an option unless it shows a huge warning. I don't
>>> know the HTTPS possible attack, but maybe it needs a warning message
>>> too, from what you people are saying. Although using namecoin to
>>
>> The problems with HTTPS have been social rather than technical. Multiple CAs
>> have been strong-armed by governments or tricked into issuing fake
>> certificates by scammers. There is no technical measure around that. By
>> using the CA certificate we are saying to the system "here is someone I trust
>> to issue a certificate". So far, with a large number of CAs, that trust is
>> misplaced.
>>
>> I'm of the opinion though that this problem is outside the remit of bitcoin to
>> solve.
>>
>> Perhaps we should be more strict about which CA certificates are trusted by
>> the bitcoin client: say restrict it to those who have demonstrably good
>> practices for verifying identity; rather than the ridiculous amount of trust
>> that comes pre-installed for me in my browser.
>>
>>
>>
>> Andy
>>
>> --
>> Dr Andy Parkins
>> andyparkins@gmail.com
>> ------------------------------------------------------------------------------
>> Learn Windows Azure Live! Tuesday, Dec 13, 2011
>> Microsoft is holding a special Learn Windows Azure training event for
>> developers. It will provide a great way to learn Windows Azure and what it
>> provides. You can attend the event by watching it streamed LIVE online.
>> Learn more at http://p.sf.net/sfu/ms-windowsazure_______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
> ------------------------------------------------------------------------------
> Learn Windows Azure Live! Tuesday, Dec 13, 2011
> Microsoft is holding a special Learn Windows Azure training event for
> developers. It will provide a great way to learn Windows Azure and what it
> provides. You can attend the event by watching it streamed LIVE online.
> Learn more at http://p.sf.net/sfu/ms-windowsazure
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
next prev parent reply other threads:[~2011-12-19 15:36 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-12 22:21 [Bitcoin-development] [BIP 15] Aliases Amir Taaki
2011-12-12 22:25 ` Amir Taaki
2011-12-12 22:32 ` Luke-Jr
2011-12-13 4:38 ` theymos
2011-12-13 7:41 ` Jorge Timón
2011-12-15 19:59 ` theymos
2011-12-15 23:56 ` Amir Taaki
2011-12-16 2:37 ` Kyle Henderson
2011-12-16 4:32 ` Walter Stanish
2011-12-16 2:48 ` Matt Corallo
2011-12-16 17:23 ` Khalahan
2011-12-16 19:54 ` slush
2011-12-16 20:10 ` Amir Taaki
2011-12-16 20:14 ` Harald Schilly
2011-12-16 21:52 ` Khalahan
2011-12-16 22:05 ` Rick Wesson
2011-12-18 21:05 ` Jorge Timón
2011-12-18 21:18 ` Jordan Mack
2011-12-18 21:44 ` Luke-Jr
2011-12-18 23:58 ` slush
2011-12-19 1:13 ` Luke-Jr
2011-12-19 1:14 ` Pieter Wuille
2011-12-19 1:43 ` Luke-Jr
2011-12-19 1:44 ` slush
2011-12-19 7:56 ` Jorge Timón
2011-12-19 11:44 ` Andy Parkins
2011-12-19 14:46 ` solar
2011-12-19 15:35 ` Rick Wesson [this message]
2011-12-19 16:35 ` Luke-Jr
2011-12-19 17:13 ` solar
2011-12-19 16:30 ` Luke-Jr
2011-12-19 17:04 ` Jordan Mack
2011-12-19 17:09 ` slush
2011-12-19 18:13 ` Jordan Mack
2011-12-19 18:17 ` slush
2011-12-19 18:50 ` Jorge Timón
2011-12-19 20:03 ` Jordan Mack
2011-12-19 19:22 ` Jordan Mack
2011-12-19 18:15 ` Luke-Jr
2011-12-19 18:52 ` Jordan Mack
2011-12-19 19:16 ` Luke-Jr
2011-12-19 20:03 ` Jordan Mack
2011-12-16 8:35 ` Pieter Wuille
2011-12-16 16:03 ` Rick Wesson
2011-12-16 16:17 ` Pieter Wuille
2011-12-16 16:21 ` Rick Wesson
2011-12-16 17:21 ` Andy Parkins
2011-12-12 23:16 Zell Faze
2011-12-12 23:37 ` Jorge Timón
2011-12-12 23:41 ` Luke-Jr
2011-12-13 2:39 ` Stefan Thomas
2011-12-12 23:52 ` Matt Corallo
2011-12-12 23:37 ` Will
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJ1JLtvQ-jF4kUO3eZ4aExCJVOQrtB42fwmbCT4yeaiZoQPXSw@mail.gmail.com \
--to=rick@support-intelligence.com \
--cc=bitcoin-development@lists.sourceforge.net \
--cc=solar@heliacal.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox