Subject: use of objectDigestInfo

From: Stephen Farrell <[email-masked]>
Date: Mon, 21 Jun 1999 10:44:22 +0100

A while back there was some discussion of SPKI and X.509 ACs
(before that thread got taken over by encrypted attributes).

There was some support for having a hashed public key (or
hashed public key certificate) in the owner.objectDigestInfo
field of an AC.

As far as I know (and this may be completely wrong) this wasn't
the original (X.509) idea for the objectDigestInfo field - the idea
was that this field could contain a hash over e.g. some
java bytecode, and whenever you download the bytecode, you also
get the AC and could decide what you'll let the downloaded
classes do. (Doesn't really matter, point is, it wasn't
only intended for a hashed key/cert.)

So, we have at least three possible things that could be 
hashed, two of which are clearly within scope of a PKIX
profile.

One other factor is the definintion of ObjectDigestInfo - 
it tells you how something was hashed, but not what thing
was, that was hashed. So if we allow more than one thing-to-be-hashed
we probably need to provide a hint about the thing in a 
new extension.

If we want to include this support then we could add something 
like the following to the next version of the I-D:

- define a DigestedObjectInfo extension (never critical) with
a syntax like:

	DigestedObjectInfoSyntax ::= CHOICE {
		wellKnownObject	INTEGER {
			publicKey	(0),
			publicKeyCert	(1)
		},
		otherObject	OBJECT IDENTIFIER
			-- if ever a field should use an oid, 
			-- this one should:-)
	}

- owner.objectDigestInfo can be used, if so, mandatory to support
  alg. is SHA-1, (MD5 allowed ?)

- if owner.objectDigestInfo is used then a DigestedObjectInfo 
  extension must be present which must use the wellKnownObject
  choice

- we specify what bits are input to the hashing for the two
  well known objects. For the cert its the DER encoding of the 
  full cert. For the key, its the DER encoding of a 
  SubjectPublicKeyInfo, i.e. the BIT STRING for the key and the 
  algo OID and the parameters)

- we add the relevant additional checks to the AC validation
  text

Reactions?

Regards,
Stephen.

---

From: Russ Housley <[email-masked]>
Date: Mon, 21 Jun 1999 10:46:50 -0400

Stephen:

I would think that the have of a public key would be the hash of the
subject publick key info field in the public key certificate (PKC).

I think that we should include an algorithm identifier for the hash
algorithm used.  And, the mandatory to implement hash algorithm must be SHA-1.

Russ