Re: Blockchain Private Key and Web Same-origin policy

Yeah, I think we jumped into the weeds kinda quickly here. I think talking
about integrating wallets into browsers, while using existing DNS, PKI, etc
is a great topic, that when addressed will necessarily cover SOP and other
issues from the browser side of the fence.

On Sun, May 8, 2016 at 11:27 AM, Neha Narula <narula@csail.mit.edu> wrote:

> I might have misunderstood the purpose of this mailing list, and its
> discussions.  I thought it was to discuss topics and coordination
> details for the upcoming workshop happening in late June.   Are you
> suggesting this for a topic of the workshop, or am I on the wrong
> mailing list?
>
> I'm new to the W3C, but it sounds like a lot of this is reinventing
> parts of existing systems (DNS and PKIs). I'm happy to discuss
> futuristic identity agent schemes, and have asked questions below.
>
> If we're talking about the workshop, then I think it makes sense to
> talk about user wallets.  Wallets (and by that I mean user-specific
> key management for signing blockchain transactions) seem core to any
> of this.
>
> On Sun, May 8, 2016 at 10:53 AM, Daniel Buchner <dabuchne@microsoft.com>
> wrote:
> >
> > How do you propose that this "global blockchain identity" works?  For
> example:
> >
> > - Who signed the transaction creating this "global blockchain identity"?
> >
> > You generate a blockchain transaction that you hold the private/public
> keys to. That transaction is encoded with a unique name, per a unified hash
> format. The hash also includes a pointer to off-chain data. What you now
> have is a recognizable, user-friendly name that a system like Blockstack
> can index as a globally known name. The data off-chain is signed with the
> same keys that own the name, thus anyone checking the data can clearly see
> it is from the name owner.
> >
> > What you now have is provable identity, rooted in the trust of the
> blockchain, which can have signed data linked to it for use by anyone you
> allow.
>
> This sounds like DNS. It would be good to understand exactly what the
> specific benefits are of this scheme over DNS.
>
> > - What happens if the entity that signed that is compromised?
> >
> > What happens any other time you give your private keys to someone? Short
> answer: 1) don't do that 2) there are many mitigations, such as: multi-sig
> social circle recovery, derivative keys that allow data update but are
> separate from the actual name ownership keys.
>
> When developing any PKI system, we should plan on keys getting
> compromised.  So (1) is not a good answer.  (2) should be fleshed out.
>
> > - If no one entity signed it, what keeps anyone from creating a "global
> blockchain identity" for me against my wishes?
> >
> > The system can prove that they are not you, because you took the name by
> registering it as a transaction before they did, and you have the private
> keys to prove it.
>
> This also sounds a lot like the way domain names work on the web
> today.  We rely on applications like Google to navigate a reputation
> system of backlinks and figure out how to distinguish between similar
> sounding names.  What's the equivalent in this scheme?  If you haven't
> seen it, I recommend taking a look at keybase.io.
>
> > - How does my device prove it has been authorized to transact on behalf
> of this identity?
> >
> > Your off-chain data contains a record of your "Identity Agents", which
> your identity container uses to check incoming payloads against. When a
> CRUD op or signature request comes it, this layer makes sure the payload is
> signed with the identity of someone or thing you have given agency to act
> on certain fields.
> >
> > - If that device-proof is compromised, how do I revoke those keys?
> >
> > The device only has derivative keys or parts of a multi-factor scheme,
> so you would lose your identity. You would message your identity container
> using your private master key and it would then reset your identity data
> and remove the offending agent/device.
>
> OK, so it sounds like there is still a need for user-wallets.  This
> might be a good place to start, independent of the rest of it.
>
> >
> > I would appreciate pointers to information describing the design of such
> a thing.  Barring that, I think user wallets are a much simpler, more
> reasonable thing to consider.
> >
> > Check this out: https://blockstack.org/docs/how-blockstack-works
> >
> > - Daniel
> >
> >> which the UA will understand
> >> and use in transactions as an identity agent of the user, via its own
> >> unique key. The identity system’s challenge and response loop can be
> >> used to interact with sites, devices, etc., to perform all manner of
> >> actions, such
> >> as: user data storage, messaging, blockchain transactions, etc.
> >>
> >>
> >>
> >> The browser should be extended to do four things:
> >>
> >>
> >>
> >> ·         Form an agent relationship with a user’s blockchain identity
> >>
> >> ·         CRUD a user’s blockchain identity data as an allowed agent
> >>
> >> ·         Sign data on behalf of identity owners it is in agency with
> >>
> >> ·         Form basic blockchain transactions across chains
> >>
> >>
> >>
> >> With these four capabilities, almost anything you can imagine in the
> >> realm of decentralized identity and app development becomes possible.
> >>
> >>
> >>
> >> - Daniel
> >>
> >>
> >>
> >> From: Mountie Lee [mailto:mountie@paygate.net]
> >> Sent: Sunday, May 8, 2016 12:39 AM
> >> To: public-blockchain-workshop@w3.org
> >> Cc: public-blockchain@w3.org
> >> Subject: Blockchain Private Key and Web Same-origin policy
> >>
> >>
> >>
> >> hi.
> >>
> >>
> >>
> >> let me raise issue for SOP and blockchain private key.
> >>
> >>
> >>
> >> when we expand usage of blockchain private to Web,
> >>
> >> Web SOP will cause some difficult issues.
> >>
> >>
> >>
> >> private key can be generated/stored in secure element of client side.
> >>
> >> user will have ownership of private key and related assets.
> >>
> >> when the usage of key is restricted to specific origin,
> >>
> >> that is different from normal user expectations.
> >>
> >>
> >>
> >> many user will think, "my money can be used on any site when I want"
> >>
> >> but with SOP, "your money can be used on this site only"
> >>
> >>
> >>
> >> SOP is important security policy of Web.
> >>
> >> because the previous thinking are "some resources are from some origins"
> >>
> >> but now we have more requirements letting user have full control of
> >> assets which user has ownership.
> >>
> >>
> >>
> >> I need opinion for it.
> >>
> >>
> >>
> >> --
> >>
> >> Mountie Lee
> >>
> >> PayGate
> >>
> >> CTO, CISSP
> >> Tel : +82 2 2140 2700
> >> E-Mail : mountie@paygate.net
> >
> >
> >
> > --
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fnehanaru.la&data=01%7c01%7cdabuchne%40microsoft.com%7cbf7a9d79c597471d68ff08d3774ea7ec%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=gtrPWrykDnbwzMZnzSURkS%2fkKmggyqlb6IACd4D0JcE%3d
> | @neha
>
>
>
> --
> http://nehanaru.la | @neha
>
>

Received on Monday, 9 May 2016 07:47:30 UTC