Subject: Words, Books, and Key Usage

From: "David P. Kemp" <[email-masked]>
Date: Tue, 07 May 2002 10:49:45 -0400

"Fiction - A literary work whose content is produced by
     the imagination and is not necessarily based on fact."

    "Non-fiction - Prose works other than fiction."

          -- www.dictionary.com

Trevor Freeman wrote:
> Santosh,
> Stop the spin doctoring ...
> 
> I really don't care which course you choose to achieve your 
> objective, but you cannot redefine the semantics of the
> existing key usage extension and retain the same identifier.

The problem is not semantics being redefined, the problem is that
many thoughtful people have been trying to figure out, without
success, the semantics of an ill-structured specification.

Consider the parts of speech: nouns, verbs, adjectives, etc.
Then X.509, if applied to the English language, might read:

  Bits in the WordUsage type are as follows:
   a) word: for words that have purposes other than those
      identified in b, f, or g below;
   b) nonFiction: for words used in non-fiction whose content
      is fact-based prose (excluding verbs and adverbs, as in
      f or g below);
   ...
   f) verb: for words that express existence, action,
      or occurrence;
   g) adverb: for words that modify a verb, adjective,
      or other adverb;

As many others have observed, the problem with key usage
is not semantic, it is structural - non-repudiation is
not something that can be provided by a certificate or
certain type of signature, it is provided by a system.
As Peter Williams rightly observed some time ago, and you
recently repeated, even SSL can play a role in supporting
some forms of non-repudiation systems.  

Even though signed objects are more commonly associated with
non-repudiation than are signed challenges, and adjectives
are more common in novels than in technical papers, there is
no one-to-one correspondence.  Calling "non-repudiation"
a key usage is as structurally flawed as calling
"non-fiction" a part of speech.  They belong to two
entirely different taxonomies.

The first step to recovery is admitting that something
is wrong.  I believe there is universal recognition and
consensus that non-repudiation is a different *kind* of
thing than certificate signing, key agreement, and
data encipherment, and that the resulting confusion
is a problem for product developers, lawyers, and users
alike.

The next step is to believe that the problem can be
fixed, and make a decision to fix it.  We're not there
yet.  But if we ever resolve to do more than talk about
it, we will find that a certain amount of semantic
redefinition is necessary -- you can't gain coherence
by retaining 100% compatibility with an incoherent
definition.

Even the ancients were smart enough to know that
the fundamental building blocks of the universe
are NOT "Earth", "Fire", "Elements Used in a Cave",
and "All Elements Except Earth, Fire, and those
used in a Cave".

Regards,
Dave

---

From: [email-masked]
Date: Tue, 7 May 2002 17:21:18 -0600

however, it is possible that a lable for a bit has some semantic meaning
that is no way related to the feature/function implemented for the bit.

If the bit means that the CA has never seen the originator's private key
... it is possible for the CA to certify that by turning the bit on in a
certificate, signing the certificate and attesting to the fact that the CA
has never seen the originator's private key.

If the originator wants to have a certificate that has a bit turned on
indicating the originator's intention not to have ever shared the private
key with anybody ... then possibly, the originator can sign a message sent
to the CA with that assertion; the CA just copies the assertion to its
certificate ... not actually certifying anything other than it has copied
some assertion by the originator into the certificate.

The NSA Intrustion glossary

non-repudiation
Method by which the sender of data is provided with proof of delivery and
the recipient is assured of the sender's identity, so that neither can
later deny having processed the data.

obviously, the CA turning on a bit in a certificate doesn't meet that
definition. somewhere lurking behind the scenes is the stuff about being
able to disproving non-repudiation by showing that entities other than the
sender may have had access to the private key.  Having the CA certify that
they have no knowledge of the private key (at least at the time of the
creation of the certificate) ... isn't an exhaustive proof that there is
nobody else that might have knowledge of the private key (or that the CA
might acquire knowledge of the private key in the future).

earlier parts of this thread also brought up non-repudiation in the context
of "processing" signed data ... which might imply some agreement or
intention regarding any possible semantic meaning of the data processed.
The simplest is being able to demonstrate that the sender sent the data ...
w/o implying anything about any knowledge, intention, and/or agreement that
the sender might have with regard to the semantic meaning of the data
transmitted. Being able to show that somebody else could have sent the
message ... would obviously negate assertions about non-repudiation.
However, not being to find anybody else with knowledge of the private key
... isn't necessary proof that there isn't somebody else with knowledge of
the private key. Also, even if it is possible to proove that nobody else
has knowledge or access of the private key ... doesn't proove that the
sender did anything else but transmit the data .... it doesn't proove any
knowledge or processing of the data ... other than the transmission.

in any case, the bit seems to represent a meaning that isn't consistent
with the meaning of the label applied to the bit (aka non-repudiation).

somewhat total aside did have a booth a couple weeks ago in new orleans at
cardtech/securetech with a hardware token where there is public/private
key-pair generated in the chip ... and the private key is never divulged
(leaves the chip) ... basically aads chip strawman
http://www.garlic.com/~lynn/index.html#aads

with couple twists ... like PIN-mode (and shortly biometric-scoring-mode)
operation ... and able to operate in both access & financial token
personality mode (aka earlier post in this thread):
http://www.garlic.com/~lynn/aadsm11.htm#5

<[email-masked] on 5/7/2002 2:55 pm wrote:

Dave,

Semantics
1) The branch of linguistics and logic concerned with meaning
2) The meaning of a word, phrase, sentence or text.
Concise Oxford English Dictionary - Queens English edition

If you are changing the meaning of bits when they are asserted in an
extension, then its semantics not structure we are dealing with. I don't
dispute that the semantics behind non-repudiation are a little fuzzy to
say the least, but there are some basic ground rules in there which have
been agreed and included in RFCs. If you want to define new semantics
with cleaner definitions, feel free to do so, but you cannot do so
within the confines of the existing extension as identified by the
existing OID. I don't have a problem with what you are doing, just don't
do it in such a way as you break existing standards.

Trevor