The following are not points that anyone else raised. I decided that I
should raise them as working group member, NOT as working group chair.
Comments on draft-ietf-sidr-repos-struct-03.txt.
(1) Entry and removal from a publication point
I noticed that the document frequently makes mention of manifest's listing
of all objects produced by a CA. (e.g., "The manifest contains a list of
the names of all objects issued by that CA or signed by the EE certificate
and published in a repository publication point directory,") That is not
actually true, if I understand manifests correctly. The manifest lists
all objects in the publication point, which means the current, unrevoked
objects. Right?
I thought "current, unrevoked" ought to be added to each such mention of
the manifest.
This raised the question that the document says that it describes the
content of the structure, but it never says when content is added or
removed.
I checked, and the manifest does not seem to cover this either. It says
"The manifest's fileList includes
the file names and hash pair for all objects associated with this
CA that have been published at the CA's repository publication
point."
and
o An authority MUST issue a new manifest in conjunction with the
finalization of changes made to objects in the publication point.
which pushes the question off to the description of what is in the
publication point.
Perhaps it would be good to add the following statement:
Objects are added to the repository structure when issued or signed, and
are removed when expired or revoked.
IF, of course, that is true.
Is it? Is it so completely obvious that it does not need to be mentioned?
Note that the manifest document also says
An authority MAY perform a number of object operations on a
publication repository within the scope of a repository change
before issuing a single manifest that covers all the operations
within the scope of this change. Repository operators SHOULD
implement some form of synchronization function on the repository
to ensure that relying parties who are performing retrieval
operations on the repository are not exposed to intermediate
states during changes to the repository and the associated
manifest.
which seems like it deals also with the repository publication point
content and would be good to include in the repository structure document.
(I actually think things would still work if expired or revoked objects
were left lying around in the repository, as long as the manifest checking
raised no alarm for seeing them there. That's not hygenic, of course.)
(2) Language regarding signing
It is common to say say "the certificate signed this <object>". That's
not actually correct, and saying it in full glory means saying things like
"objects signed using the private key associated with the public key
certified in the certificate".
The draft goes through the tortuously precise language twice (page 4 "all
objects signed by the private key part of the key pair whose public key
part is the subject of this certificate" and page 8 "the EE certificate
that has certified the key pair that as used to sign the object") and uses
the common language many times ("or signed by the EE certificate", "all
objects that are signed using a "single-use" EE certificate", "that points
to the the repository publication point of the objects signed by this EE
certificate", etc.)
I don't think the full rigor is needed everywhere. I'd recommend putting
that language near the beginning and say something like "from now on, when
we will use the inaccurate but shorter statement "the certificate signed
the object" to mean this signing action.
(3) Language
About the language in the introduction:
A Resource Certificate describes an action by an Issuer that binds a
list of IP address blocks and AS numbers to the Subject of a
certificate, identified by the unique association of the Subject's
private key with the public key contained in the Resource
Certificate.
Someone else remarked about this language. This is used in the rescerts
document as well. I admit that I've always thought it rather convoluted
and maybe not even accurate. Does a certificate embody the action of
binding or does it accomplish the binding by its existence? and such
philosophical pronouncements. However, I don't think the language here
hinders the document to the point that it must be changed.
(4) Directories and publication points
The repository structure for the most part talks about "publication
points", but in section 3 it starts talking about publication directories
and subdirectories.
Subdirectories are to be publication points for CAs that are contained in
the directory. I found it difficult to maintain separation between the
ideas sof a publication point and a directory - the most common case will
be when the publication point is a file system directory, obviously. But
does the publication point naming system have anything to do with the file
system directory naming structure? Do the naming guidelines only propose
a name for the last component of a hierarchical file system name, which
one presumes is the directory name? Does the restriction on subdirectory
contents in a publication point directory have anything to do with the
required content of a publication point. (I.e., the objects listed in the
manifest are all objects in the publication point, but we don't need to
say "except for subdirectories" because the manifest objects are those in
the abstract "publication point", not the file sytsem directory that hosts
the abstract publication point. Is that anywhere near correct?
Are directories and publication points synomonous?
Is the "file system directory" part of the following statement exactly
true?
For every certificate in the PKI, there will be a corresponding
repository publication point file system directory
Should the following say "directory" or "publication point"
That
is, if the subject of certificate A has issued certificate B, then
the AIA extension of certificate B points to certificate A, and the
SIA extension of certificate A points to a directory containing
certificate B (see Figure 1).
And so forth.
o Each CA publication directory in the publication repository should
contain the products of this CA, including those objects signed by
single-use EE certificates that have been issued by this CA.
Since a directory might host products from multiple CAs, what is this
trying to say?
(5) Access method
Sometimes the text talks about "access method" and sometimes
"accessMethod". The rescerts document says "access mechanism" when it is
not talking about the "accessMethod". I wasn't sure if "access method"
should have been "accessMethod", and if not, then maybe "access mechanism"
would remove the ambiguity.
(6) Suggested naming scheme
The discussion on page 6 says that CRLs and namifest both use the 4387
algorithm to dervive the name from the public key hash to a string.
Obviously they can't both have the same name - is there some required
suffix or extension that would distinguish them? (section 2.3 on page 7
talks about objects with a common "base name element" - probably the same
term could be used here)
(7) MUST and SHOULD
This document uses "MUST" and "SHOULD" at times, and "must" and "should"
at times. I was not sure if the lower case was meant to be upper case.
Seems particularly a problem in section 4:
If a CA certificate is reissued, it should not be necessary to
reissue all certificates signed by the certificate being reissued.
Therefore, a CA SHOULD use a persistent naming scheme for the
certificates's repository publication point that is persistent across
certificate reissuance events. That is, reissued certificates should
use the same repository publication point as previously issued
certificates having the same subject and subject public key, and
should overwrite previously issued certificates within the repository
publication point directory.
Some of those uses of "should" seem to be normative.
(8) Synchronizing repositories
I wonder how the top down walk from trust anchors will work in Steve
Kent's scheme in which the local trust anchor re-issues some certs to
restrict authority - will the walk of the repository system still work?
(I can't claim that I have full understanding of Steve Kent's proposal, so
this could be really off-base.)
(9) Nits
I have not checked other people's nit lists to see if the following is
duplicative.
is "complete set" -> is a "complete set"
Becuase -> Because
the entity may chose to continue of use -> the entity may choose to
continue the use
pooint -> point
Whn multiple CA's -> When multiple CA's
using RSYNC [rsync][I-D.sidr-res-certs] Support -> missing the period
the SIA of the associated CA or EE -> the SIA of the associated CA or EE
certificate
of related CA's -> of related CAs
the the local repository cache will -> the local repository cache with
--Sandy
_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr