[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new version of draft on additional x509 certificate schema forLDAP




Russ:


Thanks a lot for your valuable and detailed comments, which definitely will be reflected in the next version of the draft, which I intend to submit some time after the Atlanta meeting. BTW the next version will also fix some bugs that still remained in the examples, for which I herewith apologize..

Let me comment in line:

Housley, Russ wrote:

Peter:

The authors have clearly put in a lot of effort. Thanks for your work on this important topic.

I have a few comments and questions.

1. Section 2, 1st paragraph on page 5. I am quite concerned about the duplication proposed. If we take the proposed approach, there must be a transition period. But the issues with duplication of the certificates (and CRLs) in multiple locations deserves more than a sentence. Also, the discussion needs to include words like "consistency."

Yes you are definitely right. Current clients expect the certificate to be in the same directory entry than the person entry with searchable attributes cn, mail and serialNumber of which we untill now only included the mail attribute into the new object class, believing that that is the attribute mostly searched for. Thus for these searches, the redundancy proposed would not be needed. We are currently implementing the draft and are making experiments with clients to see what else could be needed. A transition period would only end, if standard clients start to use the new schema proposed in our draft. This is one reason for us to want to make this work a pkix draft to further such developments.


For now I would propose to include some more language on the issue, such as:
"Maintainers of repositories complying to this memo MUST make sure that the same certificates are stored in the person entry and the respective x509certificate entries and keep this consistency. Alternatively they MUST leave out any certificates in the person entry."


One could additionally define an algorithm which enables the client to know, whether the new schema is supported by a server. This could either be a bit more complicated, by searching the objectclass x509certificate in the Subschema entry pointed to in the rootDSE entry, or by just specifying a separate RootDSE attribute which specifies, if certificates are only stored in the x509certificate entries, of if they are
additionally stored the "traditional" way.




2. The last paragraph of section 2 says:

   A CIP based indexing system for a wide scale distributed certificate
   repository will only be possible by using the solution proposed here.

This is a pretty strong statement. Also, this is the first time that support for CIP has been raised as a requirement. I am certainly not a CIP expert, and I hope that this discussion will not force me to become one, but I think that we need to understand why CIP is so important to LDAP server implementors. Can you add a few sentences of rationale?

Yes I could. My point here is that a service that is not maintained on one single site up to now needs an indexing service to prevent a situation where a client has to ask the same question to a large number of servers. X.500 with the DISP protocoll provided a chaining mechanism so that a client only had to ask one server and that server would know which other servers to contact for the right answer via so called knowledge information. We don't have this mechanism in LDAP, but only referalls. There is a new RFC (RFC2396) specifying how referrals could be included into the Directory tree to provide such pointers to other servers. But even with this technology you would have a much bigger maintanence effort than with an indexing system. Therefore I say that for a widely distributed and scalable service a CIP based indexing system is a necessity. And such a system relies on attributes that can be stored in the index objects.




3. I think that section 3 is trying to tell me that the proposed scheme is compatible with the long-term design, yet it is also implementable in the short-term. We do not have to wait for the vision of the long term to be realized. Did I get that right?

Well a soon as component matching is reality, the problem of multiple certificates can be solved with it may be even better than with our simple approach, allthough there might be performance issues. May be Steven Legg can comment on this better. The two approaches are as compatible as is our approach with the current "traditional" method: they could live side by side. As to to your second conclusion: yes, we believe that our approach can be used today, without big implementation issues. We are currently experimenting to proove this.




4. Section 4.1.6 defines the attribute for subject name. RFC 3280 allows the subject name in an end-entity certificate to be an empty sequence. In this case, the subject alternative name must be present. What should happen here? Should the attribute be present with an empty name? Does RFC 2253 handle empty names? I could not figure it out with a quick scan. Also, section 4.4 indicates that x509subject must be present.

Oops, you are right x509subject should rather be a MAY attribute.


In LDAP you don't have a difference between empty value and non existant value. The idea behind the draft is to have a piece of software (a prototype of which is allready implemented by us) that analyzes a certificate and creates the apropriate LDIF with the new schema. Thus a certificate conforming to RFC 3280 will have a conforming representation in LDAP. But of course we could include additional text that duplicates the respective rules of RFC 3280:
"If x509subject is empty, at least one of the following attributes MUST include a value: x509subjectAltNameRfc822Name, x509subjectAltNameDnsName, x509subjectAltNameDirectoryName, x509subjectAltNameURI , x509subjectAltNameIpAddress, x509subjectAltNameRegisteredID."




5. Please rewrite the first sentence in section 4.1.7. I propose:

OID identifying the algorithm associated with the certified public key.

ACK. I was thinking of rephrasing the sentence while working on the new version, but then this idea somehow got lost.




6. The extended key usage extension contains a sequence of OIDs, which identify the key purposes. If the sequence contains more than one OID, does this attribute get instantiated more than once?

Yes, all attributes not marked with the keyword SINGLE-VALUE can have multiple values.




7. Given the limitations that are imposed on the CRL distribution point attribute in section 4.2.8, wouldn't it be better to include "FullCRL" in the attribute name?

Ok, good idea.




8. Please add descriptive text to section 4.3.1. I think that this attribute would be placed in the directory entry associated with the certificate subject, not in the directory entry of the certificate. Did I get that right?

Another Oops, somehow the commetary on this attribute got lost :-(


Yes you got it right. There is some language about this under 4.5 but of course there has to be a similiar statement here with a reference to 4.5. That is what I will do in the next version.



9. Section 5 requires a name form that uses a multi-valued RDN. I believe that many LDAP implementations cannot handle this construct. Perhaps there is an alternative. Will the Issuer DN followed by the serial number work? For example (building on an example in the document):

SN=1234567,OU=VeriSign Trust Network,
OU=(c) 1998 VeriSign\2c Inc. - For authorized use only,
OU=Class 1 Public Primary Certification Authority - G2,
O=VeriSign\2c Inc.,C=US

Yes, I had some discussions about this with David Chadwick, and I allready agreed to include another alternate name form for implementations that are not fully LDAPv3 compliant. I just didn't have enough time before the cut-off date for submission.


The nameform should have DN syntax and should be constructed by an serialnumber attribute (SN or rather x509SerialNumber ?) and the IssuerDN: Thus (using a more simple example for conveniance):

x509SerialIssuer=x509SerialNumber\3D12345\2Co\3DsomeCA\2Cc\3Dsomecountry,ou=somedepartment,o=someorg,c=somecountry

Since the first part is only one single attribute all ',' and '=' have to be hex escaped.

This is something, David and I sort of agreed upon, but as I put this as one of my questions to the list, this is open for discussion.

As to sn vs x509SerialNumber:

serialNumber was defined in X.520 and RFC 2256 as:

"This attribute contains the serial number of a device."

It thus was rather meant for hardware than for software. But it seems that it is now quite regulary used in the pkix context. My question is 1.) should both attributes exist in parallel,
2.) or should I rather exchange x509SerialNumber with the RFC 2256 attribute serialNumber (in analogy of the attribute mail taken from RFC 2798.
3.) or should we try to standardize the sole use of x509serialNumber




Next, I respond to some of the questions in your posting.

- Can and should this draft be work of the pkix group and should the discussion about it be held on this list instead of in private email communications?


I think that this topic is very important to the PKIX WG. I think it should be discussed on the PKIX WG list.

Thank you.




- The draft does only describe fields described in RFC 3280. Should it also deal with Qualified certificates (RFC 3039)?


I think it would be useful to search on some of the information that QCs store in subject directory attributes extension.

OK I will work on that in the next version. Input as to which information might be interesting to search for is most welcome.



- should revocation information be stored in a similiar fashion. And if so how: 1.) Metadata attributes for CRLs or 2.) revocation relevant attributes attached to the certificate entries.


Storage of CRLs is very important. Presently, clients have the same issues with the multi-valued CRL attribute. Storage in a separate entry subordinate to the CRL Issuer makes most sense to me. One issue would be how long such entries need to remain on-line. Another issue is the storage of delta CRLs.

This is the approach David is thinking about. We already did some work on defining an objectclass as subclass of x509certificate that could be included to the entries of a revoked certificates. This would make dynamic creation of CRLs possible, make delta CRLs unneccessary and would also ease the use of directory information for an OCSP service. But I see advantages of CRL entries as well, since that is the authoritative and signed information on revocation. But a CA could also sign every certificate entry by means of RFC 2645. I don't really know how accepted that mechanism is though. I am looking forward to discussions about this.




- should attribute certificates be stored in a similiar fashion?


Presently, clients have the same issues with the multi-valued attribute certificate attribute. If this solution is adopted for certificates, it should be adopted for attribute certificates and CRLs too.

Agreed. Again it seems that people begin thinking about this allready.




Russ



-- _______________________________________________________________________

Peter Gietz (CEO)
DAASI International GmbH phone: +49 7071 2970336
Wilhelmstr. 106 Fax: +49 7071 295114 D-72074 Tübingen email: peter.gietz@xxxxxxxx
Germany Web: www.daasi.de


Directory Applications for Advanced Security and Information Management
_______________________________________________________________________