[cap-talk] Define petname

Nick Szabo szabo at szabo.best.vwh.net
Wed Feb 23 23:37:51 EST 2005


Tyler's recent defintion is a big improvement:

> "A petname is a mnemonic for a set of granted authorities"

This is refreshingly straightforward -- I think we can get a lot farther 
analyzing petnames by starting with this.

Tyler goes on to elaborate:
> we must ask ourselves questions that reify these
> authorities. For example, "Am I willing to type my social security
> number into this web page?". The petname toolbar helps put us in the
> right context to answer this question by reminding us which trust
> relationship, or set of authorities, we are querying.

This approach helps to clarify thinking, because there are 
different kinds of trust and different kinds of authority to grant.
Alas, one cannot separate a "trust relationship" from an entity 
(whether that entity is a website, individual, organization, 
every member of the local Rotary Club, everybody one knows who likes 
Mozart, etc.) In line with the subjective petname approach, it is 
ultimately up to the user to decide what that "entity" is, but it's 
still thought of as an entity, and how the user defines the entity will 
in practice based largely on "hints" or "introductions", i.e. outside 
information of varied reliability (e.g. a CA to define an "organization").

A better way of saying a user "trusts" an entity with certain 
authorities is to say that the user has opinions about what authorities 
he would be willing to grant to the entity in exchange for benefits expected 
from those grants.  A better term than "trust" for this might be "mental 
matrix", the hypothesis the user has formed about what kinds 
of authorities to grant to the entity.  This matrix is not articulated, 
but tacit, and there are mental transaction costs and potential errors 
whenever we ask a user to articulate part of that mental matrix by 
specifying an authority to grant.  If a user was to do a perfectly 
secure job of maintaining pet names, he would need to keep a perfect 
mental access matrix in his mind and articulate it perfectly to
the computer.  Reality will be an error-prone and costly approximation.

For example, a user may, upon reading an e-mail from his bank that says 
to go to "wamu.com" and put in his password, suddenly realize how important the 
security of his bank account is, and follow the instructions, even though the
site is "untrusted" or "unnamed", like most of the other sites he uses, 
because the he hadn't thought much about the security of his bank account 
before he got that e-mail.  The user now expects a great security benefit 
from giving up some information, and does so.  

The quality of such "hints" and "introductions" varies quite a bit.  
Phishing is hint attack, a bad hint that looks like a good one.
If the user worked harder to learn what features like the Petname 
Toolbar are for and then worked harder to give petnames to the websites 
he used, had enough knowledge and presence of mind to give a petname to 
the bank when he set up his account, or similar, or was more suspicious 
of his e-mails -- i.e.  if the user incurred greater mental transaction 
costs -- such confusion would be reduced.  If the user got more reliable 
information in the first place both confusion and mental transaction 
costs would be reduced.  It's this outside information that is crucial.  
Keeping a mental access matrix is a complex and error-prone task, but can be 
greatly improved with good outside help.

Thus a petname is a mnemonic for a set of granted authorities
_and_ the user's conception of and opinions about the grantee relevant
to granting such authorities.  This suggests that the petname could consist 
of two parts, one refering to the mental access matrix, the other refering the 
authorities granted by the computer -- in other words one part a 
mnemonic for the entity and opinion (e.g. "dodgy porn site"), the other 
a mnemonic and/or link to the granted authorities.  The list of 
such authorities granted by the current application might be
invoked by clicking on or mousing over the petname, where those
authorities take the form of capabilities or similar that the 
computer can keep track of.  

Most crucially, petnames must be connected to reliable sources of 
information to help the user (and even the user's computer
directly) form accurate conceptions of the entities and the 
kinds of authorities they should be granted, including reliable 
"hints" for the petnames themselves.  

And now to Jed's definition:
> The Petname mechanism is a tool that allows users to associate a
> name (the "Petname") with a safe binding to a known organization
> on the Web.  

The binding is not necessarily "safe", the organization is
probably not very well "known", and there are other entities
one might want to grant authorities to besides organizations.

> Such a name binding can help users avoid "phishing" attacks.

A plausible claim, but if the mental transaction costs are
large then the help will be insignificant.  Much more help can
come from the user, or the user's computer directly, being informed by
accurate information.

> If a user sees a bound Petname in the toolbar they can have confidence
> the site they are communicating with is the same organization that they gave
> the Petname to. 

This is particular to the case of CAs, and depends on how reliable
(not merely how well trusted) the CA actually is.  Also, it depends
on how the CA comes up with the label in the "O" field, and what
that label allows the user do (remember a brand name?  find out where
to serve process in a lawsuit?)

Nick Szabo


More information about the cap-talk mailing list