basic question: semantics of "map", "tie", etc in PKI
Anne & Lynn Wheeler
lynn at garlic.com
Tue Jul 8 13:40:29 EDT 2003
At 08:45 AM 7/8/2003 -0700, Fritz Schneider wrote:
> This is possibly a silly question, but here goes.
> Reading something PKI-related the other day I was wondering about
>the semantics of different kinds of certificates. One usually says that
>traditional id certs "map names to keys" or "tie keys to names"[1]. This
>is usually written:
>
> name -> key
>
>Other certs have similar semantics (they "map" and "tie"). For example,
>in order to achieve authorization one could keep an ACL which "maps
>permissions to names" ("ties names to permissions"):
>
> permission -> name
>
>Given these two mappings its then possible to get the mapping:
>
> permission -> name -> key
>
>which authorizes the key for the permission.
> I actually have two questions.
> The first is what exactly does "mapping" mean in this sense? I'm
>not sure that it means "mapping" in the sense of the algebraic definition
>because for each x that is mapped, there should only be only one value to
>which x is mapped, and I think of an ACL or SPKI cert as incompatible with
>this notion. "Tie" and "bind" seemed to be used in to indicate both a
>mapping or that something is mapped to.
> My second question is, in mappings like:
>
> permission -> name -> key
>
>why do we think of it as mapping permission to a key and not the other way
>around? The way I typically think about the task of reasoning about
>authorization seems to work in the opposite direction.
>
>-- fritz
>
>[1] RFC2693, for example
basic authentication taxonomy is something like:
1) something you have (like a hardware token)
2) something you know (like a pin/password)
3) something you are (like biometrics)
frequently PKIs talk about certifying (aka CA's are certification
authorities, certificates represent some certification by a certification
authority) some binding between something and a public key.
one could claim that the choice of vocabulary was trying to elevate
something from straight-forward authentication to something like
identification and non-repudiation ... which would represent much more
value and therefor the public key owner buying the certificate might pay
more. Note, however, identification and non-repudiation is primarily of
benefit to the relying-party that receives the certificate .... but the
standard TTP business model has the private key owner paying for the
certificate (not the relying party .... which is receiving the primary
benefit).
There has been lots of discussion that PKIs don't actually do
identification or non-repudiation which requires lots of additional processes.
Certification authorities basically have an entity prove that it can
generate a digital signature that can be validated with the supplied public
key ..... basically a form of "something you have" authentication ... the
entity can prove it has the private key. The certification authority then
validates some other piece of information (like the entity's email
address); stores the public key and the certified information in a database
and then creates a credential/certificate as to the binding between the
certified information and the certified public key.
Originally, x.509 specification was thought of as heavily overloading a
certificate with lots of identity related information as well as
privilege/permission related information ... "bound" to a public key in a
certificate. It pretty quickly became apparent that a
credential/certificate heavily overloaded with identity and permission
information and indiscriminately broadcast all over the world created
enormous privacy problems.
Financial institutions in the mid-90s dropped back to relying-party-only
certificates which basically contain only account number and the public key
because of the enormous privacy and liability problems. However, a standard
business process involving certificate has the key-owner 1) creating a
transaction/message, 2) appending a digital signature, 3) appending the
certificate ... and transmit the "triple" to the bank.
The bank extracts the account number from the transaction/message, reads
the account record and validates the digital signature using the public key
stored in the account record. The relying-party-only certificate containing
only an account number and public key (because of the enormous liability
and privacy issues) is never used. It was subsequently observed that such
relying-party-only certificates were redundant and superfluous.
The original purpose of certificates were to provide various certified
associations for an offline world (something analogous to letters-of-credit
from the days of sailing ships). These certificates were a
stand-in/substitute for situations where it was not possible to directly
access the real information. Most of them are quickly loosing any reason
for existence given the extensive proliferation of internet and wireless
technologies around the world. It is becoming more and more unlikely that
there wouldn't be some form of connectivity .... especially for
transactions or authentication events involving anything of value or
importance.
The semantics of private key is basically "something you have" .... however
given the vagaries of software computing systems, the private key can be
stored in a hardware token or in a software encrypted file on a general
purpose computer. The software encrypted file is unlocked with a
PIN/password ... given some of the characteristics of general purpose
computers (like personal computers), any kind of file might be considered
publicly copy'able by anybody in the world. As a result, such an encrypted
file .... might actually be considered "something you know" authentication
(as opposed to something that you "uniquely" have). A hardware token that
generates the key in the chip and never allows the private key to leave the
chip .... might be considered more representative of "something you have"
authentication.
A hardware token that requires a PIN/password to operate can be considered
two-factor authentication ("something you have" and "something you know").
Note that in this situation, the business processes of the token and
digital signature technology creates an environment that can be used to
establish "something you have" (aka the hardware token). The digital
signature technology is not an end in itself ... just a method of proving
that you posses a specific hardware token (and possibly have knowledge of a
specific PIN/password).
As previously noted .... sometimes there is PKI documentation that attempts
to grossly exaggerate the meaning of a digital signature and obfuscate the
underlying business processes and procedures .... possibly as part of a
sales technique to convince public key owners to purchase the certificates
(obfuscation that attempts to establish certificates as an end in themselves).
misc. past about relying-party-only certificates
http://www.garlic.com/~lynn/subpubkey.html#rpo
--
Anne & Lynn Wheeler http://www.garlic.com/~lynn/
Internet trivia 20th anv http://www.garlic.com/~lynn/rfcietff.htm
---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com
More information about the cryptography
mailing list