[cap-talk] A petname toolbar for Firefox
Tyler Close
list at waterken.net
Wed Feb 23 03:52:15 EST 2005
On Feb 22, 2005, at 2:52 PM, Ka-Ping Yee wrote:
> I think the distinction between naming and trusting is an important
> distinction being missed here. What you refer to as "untrusted sites"
> are really un*named* sites. Whether or not i have named a particular
> entity is orthogonal to whether i trust it to do a particular thing.
> (To be sure, when i name something, the name mapping itself should be
> trustworthy, but trust in the mapping is not the same issue as trust
> in the named entity.) When i name something, that does not imply
> that i trust it. The name also can be useful to me as an indicator of
> untrustworthiness.
We have a fundamental disagreement over what a petname is.
A petname is a mnemonic for a trust relationship. A petname is *not* a
mnemonic for an entity. There is no need for you to name the entity. It
already has a name, a nickname. There is a need for you to name the
trust relationship, since it enables communication between the user and
the browser about the trust relationship. That's our purpose here.
When the user is deciding how to evaluate information or actions
presented by a web page, only the trust relationship is relevant. In
fact, the user should actively ignore the site's identity. The key
question is whether or not the user has built up enough trust to
authorize the site's use of a given personal detail.
The situation is analogous to the way a capability OS implements access
control. When deciding whether or not to grant a request, a capability
OS does not consider the identity of the requestor, only whether or not
the requestor possesses the required capabilities. Similarly, when
deciding how to react to a web page, the user should not consider the
identity of the website, only whether or not the trust relationship
warrants the action. Think of a trust relationship as being like a
C-list. A petname refers to a trust relationship in the user's brain in
the same way as a pointer refers to a C-list in the kernel's RAM.
The goal of the petname toolbar is to get the user to start thinking
about his trust relationships and making effective use of them. To this
end, we want the user to tell the browser about his trust
relationships, so that the browser can remind the user about them as
appropriate. For these reminders to be most effective, untrusted sites
must not have an associated petname. The absence of a petname makes it
clear that there is no trust between the user and the website.
The goal is not to make a new namespace for websites. Websites already
have a namespace and reproducing it is pointless busywork. Presented
web pages will declare the website's nickname in multiple ways. The
absence of a petname does not mean that the site is unnamed. It just
means that there is no associated trust relationship.
I suspect the problem is that you have misunderstood Zooko's Triangle.
Zooko's Triangle says that no name can have all three of the listed
properties, but that all of the listed properties can be achieved by
using a combination of different kinds of names. Zooko's Triangle does
*not* say that all three kinds of name are names for the same thing. In
fact, each of the three kinds of name is a name for a different thing.
The point of Zooko's triangle is that in different scenarios, different
aspects of identity are relevant, so we can deal with them in
isolation, without needing to provide all three properties at once. For
example, when searching Google, only the shared nomenclature is
relevant. Your trust relationship with the searched for entity is
irrelevant to Google. When pointing someone to a website, only the
cryptographic identity of the website is relevant. There's no need for
a shared nomenclature. Also, the recipient of the pointer will consider
his own trust relationship with the website, not yours.
The problem we face is that the current PKI conflates all these aspects
of identity, and kinds of name, into a single name and notion of
identity. The result of this confusion is phishing. You still don't
seem to understand this point:
> You're right -- an older version of the warning message did look like
> that, in an article i was writing at the time. I ended up thinking
> about a variety of possible ways to word the message. On the whole
> i believe we both agree that the message should not be a command (e.g.
> "You should assign a petname now.") but a statement of fact (e.g. "This
> site is a stranger.")
Your original admonition text was not flawed because of a GUI principle
of proactive versus reactive interfaces. It was flawed because it
suffered from name conflation in exactly the same way as the URL
address bar does and therefore aids phishing just as the address bar
does. Your original admonition was: "The current site is not one that
you have named. The name chosen by its owner is PAYPAI.COM." Why should
displaying the domain name in an admonition be significantly less
confusing than displaying it in the address bar? Moreover, why is the
site's chosen nickname even relevant to whether or not the user should
trust the website?
I made this point to you when reviewing your article, but you never
responded and it seems the point didn't fully stick. Petnames are not
about naming websites. Petnames are about remembering and applying
trust relationships.
Tyler
---
The web-calculus is the union of REST and capability-based security:
http://www.waterken.com/dev/Web/
More information about the cap-talk
mailing list