Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WW4TJ-00071i-SM for bitcoin-development@lists.sourceforge.net; Fri, 04 Apr 2014 13:47:53 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.217.175 as permitted sender) client-ip=209.85.217.175; envelope-from=elarch@gmail.com; helo=mail-lb0-f175.google.com; Received: from mail-lb0-f175.google.com ([209.85.217.175]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WW4TI-0002xR-9j for bitcoin-development@lists.sourceforge.net; Fri, 04 Apr 2014 13:47:53 +0000 Received: by mail-lb0-f175.google.com with SMTP id w7so2497889lbi.34 for ; Fri, 04 Apr 2014 06:47:45 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.112.41.227 with SMTP id i3mr1633902lbl.41.1396619265382; Fri, 04 Apr 2014 06:47:45 -0700 (PDT) Received: by 10.112.31.165 with HTTP; Fri, 4 Apr 2014 06:47:45 -0700 (PDT) Received: by 10.112.31.165 with HTTP; Fri, 4 Apr 2014 06:47:45 -0700 (PDT) In-Reply-To: References: Date: Fri, 4 Apr 2014 15:47:45 +0200 Message-ID: From: =?ISO-8859-1?Q?Eric_Larchev=EAque?= To: Gavin Andresen Content-Type: multipart/alternative; boundary=001a113468f033917e04f637c3a2 X-Spam-Score: -0.6 (/) 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 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (elarch[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 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: 1WW4TI-0002xR-9j Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Draft BIP for seamless website authentication using Bitcoin address 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: Fri, 04 Apr 2014 13:47:54 -0000 --001a113468f033917e04f637c3a2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable > Using a bitcoin address repeatedly is something we're trying to move away from. This is indeed a flaw of the proposed protocol. However it really depends in the end of the usage : you could use an auth just once, to redeem a good you paid, or multiple times if this makes a sense (mining pool app for instance). > And using a bitcoin address as a persistent identity key feels like the wrong direction to me. What would be really the difference between artificially create a certificate for identity and selecting one address for identity? > Better to use something like client certificates, the FIDO alliance's (new!) specs: > http://fidoalliance.org/specifications/download > ... or Steve Gibson's proposed SQRL system: > https://www.grc.com/sqrl/sqrl.htm The proposal is nothing more than sqrl scoped to Bitcoin keys. > If one of those systems gets critical mass and actually starts being successful, then I think it would make sense to specify a standard way of using a HD wallet's deterministic seed to derive a key used for the FIDO or SQRL systems. This could be a very interesting approach. But I think the system which would get critical mass is the one which would be implemented into major Bitcoin wallets. Why adding another app or software when you already have all you need? > > > > > On Fri, Apr 4, 2014 at 9:22 AM, Eric Larchev=EAque wro= te: >> >> What I'm trying to achieve, is to have a very simple way of authenticating yourself with one Bitcoin address from your wallet. >> For most of the people using Bitcoin, their wallet is on their phone. >> >> The UX is clear and simple : >> 1. click on "connect with Bitcoin" (the audience is normal people) >> 2. flash the QRcode with your wallet (blockchain.info, mycelium, ...) >> 3. accept the authentication request (same style than OpenID or Facebook connect) >> 4. user is autologged and identified by the chosen Bitcoin public addres= s >> >> It makes sense only if major wallets are supporting the protocol. If you need to install a plugin or download a third party software, no one will do it. >> I see only benefits for the entire ecosystem, and if I'm working on such a proposition it is because I really need this feature. >> >> Of course, it can be done without a BIP, I just need to convince wallet developpers one by one to implement the feature. >> But I thought it was much better to start the "official" way, so all wallet could easily find and implement the same authentication mechanism. >> >> > Bitcoin and website authentication are unrelated problems >> >> I respectfully disagree. Many services require your Bitcoin address, and to do that they artificially request an email/password to store it. >> This is not about authentication as an identity (as "I'm Eric Larcheveque"), but as in "I'm proving to you that I control this address". >> >> Without such a standard protocol, you could never envision a pure Bitcoin physical locker rental, or booking an hotel room via Bitcoin and opening the door through the paying address. >> >> Eric >> >> >> >> On Fri, Apr 4, 2014 at 3:08 PM, Mike Hearn wrote: >>> >>> This comes up every few months. I think the problem you are trying to solve is already solved by SSL client certificates, and if you want to help make them more widespread the programs you need to upgrade are web browsers and not Bitcoin wallets. There are certainly bits of infrastructure you could reuse here and there, like perhaps a TREZOR with a custom firmware extension for really advanced/keen users, but overall Bitcoin and website authentication are unrelated problems. >>> >>> >>> On Fri, Apr 4, 2014 at 2:15 PM, Eric Larchev=EAque wrote: >>>> >>>> Hello, >>>> >>>> I've written a draft BIP description of an authentication protocol based on Bitcoin public address. >>>> >>>> By authentication we mean to prove to a service/application that we control a specific Bitcoin address by signing a challenge, and that all related data and settings may securely be linked to our session. >>>> >>>> The aim is to greatly facilitate sign ups and logins to services and applications, improving the Bitcoin ecosystem as a whole. >>>> >>>> https://github.com/bitid/bitid/blob/master/BIP_draft.md >>>> >>>> Demo website : >>>> http://bitid-demo.herokuapp.com/ >>>> >>>> Classical password authentication is an insecure process that could be solved with public key cryptography. The problem is that it theoretically offloads a lot of complexity and responsibility on the user. Managing private keys securely is complex. However this complexity is already being addressed in the Bitcoin ecosystem. So doing public key authentication is practically a free lunch to bitcoiners. >>>> >>>> I've formatted the protocol description as a BIP because this is the only way to have all major wallets implementing it, and because it completely fits in my opinion the BIP "process" category. >>>> >>>> Please read it and let me know your thoughts and comments so we can improve on this draft. >>>> >>>> Eric Larcheveque >>>> elarch@gmail.com >>>> >>>> >>>> ---------------------------------------------------------------------------= --- >>>> >>>> _______________________________________________ >>>> Bitcoin-development mailing list >>>> Bitcoin-development@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development >>>> >>> >> >> >> ---------------------------------------------------------------------------= --- >> >> _______________________________________________ >> Bitcoin-development mailing list >> Bitcoin-development@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development >> > > > > -- > -- > Gavin Andresen --001a113468f033917e04f637c3a2 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable


> Using a bitcoin address repeatedly is something we're trying to mo= ve away from.

This is indeed a flaw of the proposed protocol. However it r= eally depends in the end of the usage : you could use an auth just once, to= redeem a good you paid, or multiple times if this makes a sense (mining po= ol app for instance).

> And using a bitcoin address as a persistent identity ke= y feels like the wrong direction to me.

What would be really the difference between artificially cre= ate a certificate for identity and selecting one address for identity?

> Better to use something like client certificates, the F= IDO alliance's (new!) specs:
> =A0=A0http= ://fidoalliance.org/specifications/download
> ... or Steve Gibson's proposed SQRL system:
> =A0=A0https://www.grc.co= m/sqrl/sqrl.htm

The proposal is nothing more than sqrl scoped to Bitcoin key= s.

> If one of those systems gets critical mass and actually= starts being successful, then I think it would make sense to specify a sta= ndard way of using a HD wallet's deterministic seed to derive a key use= d for the FIDO or SQRL systems.

This could be a very interesting approach. But I think the s= ystem which would get critical mass is the one which would be implemented i= nto major Bitcoin wallets.

Why adding another app or software when you already have all= you need?

>
>
>
>
> On Fri, Apr 4, 2014 at 9:22 AM, Eric Larchev=EAque <elarch@gmail.com> wrote:
>>
>> What I'm trying to achieve, is to have a very simple way of au= thenticating yourself with one Bitcoin address from your wallet.
>> For most of the people using Bitcoin, their wallet is on their pho= ne.
>>
>> The UX is clear and simple :
>> 1. click on "connect with Bitcoin" (the audience is norm= al people)
>> 2. flash the QRcode with your wallet (blockchain.info, mycelium, ...)
>> 3. accept the authentication request (same style than OpenID or Fa= cebook connect)
>> 4. user is autologged and identified by the chosen Bitcoin public = address
>>
>> It makes sense only if major wallets are supporting the protocol. = If you need to install a plugin or download a third party software, no one = will do it.
>> I see only benefits for the entire ecosystem, and if I'm worki= ng on such a proposition it is because I really need this feature.
>>
>> Of course, it can be done without a BIP, I just need to convince w= allet developpers one by one to implement the feature.
>> But I thought it was much better to start the "official"= way, so all wallet could easily find and implement the same authentication= mechanism.
>>
>> >=A0=A0Bitcoin and website authentication are unrelated problem= s
>>
>> I respectfully disagree. Many services require your Bitcoin addres= s, and to do that they artificially request an email/password to store it.<= br> >> This is not about authentication as an identity (as "I'm = Eric Larcheveque"), but as in "I'm proving to you that I cont= rol this address".
>>
>> Without such a standard protocol, you could never envision a pure = Bitcoin physical locker rental, or booking an hotel room via Bitcoin and op= ening the door through the paying address.
>>
>> Eric
>>
>>
>>
>> On Fri, Apr 4, 2014 at 3:08 PM, Mike Hearn <mike@plan99.net> wrote:
>>>
>>> This comes up every few months. I think the problem you are tr= ying to solve is already solved by SSL client certificates, and if you want= to help make them more widespread the programs you need to upgrade are web= browsers and not Bitcoin wallets. There are certainly bits of infrastructu= re you could reuse here and there, like perhaps a TREZOR with a custom firm= ware extension for really advanced/keen users, but overall Bitcoin and webs= ite authentication are unrelated problems.
>>>
>>>
>>> On Fri, Apr 4, 2014 at 2:15 PM, Eric Larchev=EAque <elarch@gmail.com> wrote:
>>>>
>>>> Hello,
>>>>
>>>> I've written a draft BIP description of an authenticat= ion protocol based on Bitcoin public address.
>>>>
>>>> By authentication we mean to prove to a service/applicatio= n that we control a specific Bitcoin address by signing a challenge, and th= at all related data and settings may securely be linked to our session.
>>>>
>>>> The aim is to greatly facilitate sign ups and logins to se= rvices and applications, improving the Bitcoin ecosystem as a whole.
>>>>
>>>> https://github.com/bitid/bitid/blob/master/BIP_draft.md
>>>>
>>>> Demo website :
>>>> http://bitid-= demo.herokuapp.com/
>>>>
>>>> Classical password authentication is an insecure process t= hat could be solved with public key cryptography. The problem is that it th= eoretically offloads a lot of complexity and responsibility on the user. Ma= naging private keys securely is complex. However this complexity is already= being addressed in the Bitcoin ecosystem. So doing public key authenticati= on is practically a free lunch to bitcoiners.
>>>>
>>>> I've formatted the protocol description as a BIP becau= se this is the only way to have all major wallets implementing it, and beca= use it completely fits in my opinion the BIP "process" category.<= br> >>>>
>>>> Please read it and let me know your thoughts and comments = so we can improve on this draft.
>>>>
>>>> Eric Larcheveque
>>>> elarch@gmail.com >>>>
>>>>
>>>> ----------------------------------------------------------= --------------------
>>>>
>>>> _______________________________________________
>>>> Bitcoin-development mailing list
>>>> Bitcoin-development@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/bitcoin-dev= elopment
>>>>
>>>
>>
>>
>> ------------------------------------------------------------------= ------------
>>
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitco= in-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
>>
>
>
>
> --
> --
> Gavin Andresen

--001a113468f033917e04f637c3a2--