- From: Sandro Hawke <sandro@w3.org>
- Date: Sat, 17 May 2014 11:57:09 -0400
- To: public-webid@w3.org
Summary: Most people will be unwilling to give up the idea of having
multiple separate accounts. This calls into question the whole idea of
WebID.
First off, as an aside, hello everyone. I was in the CG for its first
few weeks to help get things started, but then left when it looked like
things were well in hand, and I had many other W3C duties. Since then,
nearly all of my Working Groups (SPARQL, RDF, GLD, etc) have wrapped up,
and I'm mostly doing R&D, working with TimBL and Andrei Sambra. The
work we're doing needs something like WebID.
That said, I have to raise a difficult issue. Maybe there's a simple
solution I'm just missing, but I fear there is not.
The examples in the spec, and what I saw from Henry when he first
presented foaf+ssl, show the WebID denoting a person. In the examples,
it's often an instance of foaf:Person, and occurs in triples as the
subject where the predicate is foaf:name, foaf:knows, etc. Also in
triples as the object of foaf:knows.
So that means that in RDF, my WebID denotes me. And if I have three
different WebIDs, they all denote me. Anything that's said in RDF
using one of my WebIDs is equally true to say using any of my other
WebIDs, and a reasoner might well infer it. That's how it looks like
WebIDs are supposed to work.
This is in stark contrast to how most online identity systems work. The
usually model is that a person has an account with a particular service
provider. In the old days that might have been a bank, while these
days it might be some kind of "identity provider" like Google or
Facebook. There is important flexibility in this model. I have two
Google accounts, and my kids have many among themselves, so on the
computers around the house, there are many possible Google accounts
saved as possible logins. Behind the scenes, Google may or may not be
correctly inferring which humans are attached to each of these accounts,
but as long it doesn't get wrong which accounts can see adult content,
or use my credit card, or see/edit particular documents, that's okay.
Those important features are attached to accounts, not people, in
systems today.
FOAF makes this distinction quite clear, with classes foaf:Person and
foaf:OnlineAccount. FOAF, quite reasonably, puts relationships like
foaf:name and foaf:knows on foaf:Person. It's interesting to know my
name and who I know. It might also be interesting to see which of my
accounts are linked with other accounts, I suppose, although that's more
complicated.
I'm not sure exactly why people might have multiple accounts. Sometimes
an account is provided by an employer or school and goes along with lots
of resources, but also includes restrictions on use or limitations on
privacy. Sometimes an account is obtained with a particular service
provider, and then one no longer wants to do business with them.
Sometimes security on an account is compromised and a backup is needed.
Sometimes one just wants to separate parts of life, like
work-vs-nonwork. I've asked a few friends if they'd be willing to have
exactly one computer account, and gotten an emphatic "No!".
So the my question might be, can WebID allow that separation? If
access control is granted by WebID (as I've always seen it done), and
WebID denotes a person (as I've always seen it), and the computer
figures out that multiple WebIDs denote the same person (as it's likely
to do eventually), then isn't it likely to grant the same access to me
no matter which of my WebIDs I'm using? Wouldn't that be the
technically correct thing for it to do?
In summary: WebID is doing something quite radical in the identity space
by identifying humans instead of accounts. Are we sure that's a good
thing? It seems like in practice, humans interacting with service
providers want to have multiple distinguishable identities with separate
authentication. One might try to clean this up with some kind of
role-based access control [1], but that might not solve the issue that
by having WebIDs denote people, they prevent people from authenticating
differently to get different access/behavior.
(It's true some identity providers, like Facebook, forbid a human from
having multiple accounts. But I think in response we see humans get
their additional accounts by using other providers.)
The conclusion I'm tentatively coming to is that WebIDs should be 1-1
associated with accounts, not people. As such, they'll be associated
with authentication, authorization, and profiles, as they are now. But
the RDF modelling will have to be different, with things like { <webid1>
foaf:knows <webid2> } being disallowed.
If we're going to make a change like that, making the WebID one hop away
from Person, I'd suggest actually making it denote the account's profile
page, so that it can be a normal URL, denoting an Information Resource.
-- Sandro
[1] http://en.wikipedia.org/wiki/Role-based_access_control
Received on Saturday, 17 May 2014 15:57:25 UTC