*Section 3.2*

This section discusses how to accommodate an enterprise that wants (end-entity) certificates issued by its own CA to be accepted by CT-enabled clients, but does not want these certificates to appear in a (publically-accessible) log. The words used here are not as clear as I think they could be. Also, is it true that the only context in which the mechanisms defined here are applicable is that of a CA certificate issued to an enterprise? Do governments count as enterprises?

*Section 3.2.1*seems intended to explain why logging a wildcard certificate is not a general solution to the problem. If that's the intent, the text should say so more clearly.

*Section 3.2.2*introduces a mechanism to enable a pre-certificate to be logged while redacting one or more DNS domain labels. The intent is to cause CT-enabled clients to accept a certificate with a DNS-ID that matches the non-redacted portion of the log entry, and that contains exactly as many labels as this newly-proposed extension indicates have been redacted. The text here notes that DNS labels in a CN-ID are not redacted. An explanation for this exclusion should be provided. The proposed literal string uses parentheses, which are not part of the usual ASCII character set for DNS labels (as per RFC 1034), although RFC 4343 notes that DNS labels may be any octet value. Also, DNS labels are compared as case insensitive values when used in the DNS, but IA5 strings are case sensitive. So "PRIVATE" may confuse folks, and add to the complexity of this part of the specification.

*Section 3.2.3*states that it's OK to log a CA certificate (or pre-certificate) if that certificate is name constrained in a specific fashion. I think this is the first place where the document indicates that a CA certificate, vs. an end-entity certificate, is a valid log candidate. It's very late in the document to introduce this exception. A brief discussion of why this exception does not undermine the CT security model belongs here. The introduction section should to be changed to note this exception up front.

*Section 3.3 *

This section defines the structure of the SCT. Since this is a data structure that will be signed, the structure requires a canonical representation. Is there no need for a canonical encoding spec for the data notation used here? RFC 5246 was cited as the data structure reference in Section 1.2, but that RFC does not seem to explicitly define a canonical encoding. Also, the RFC says that the notation defined there is for use in TLS, exclusively. An SCT exists outside of TLS, e.g., it can be embedded in a certificate. So, why is that notation used here? As I noted earlier, it might be preferable to use ASN.1 for the SCT, if an SCT is to be carried in a certificate and/or OCSP extension.

The text says that "the entry_type may be implicit from the context in which the SCT is presented." Does this mean that he entry type may be omitted from the SCT structure? Please clarify.

Since version 1 of the SCT format does not define any extensions, it's not clear why there is an extensions field present in this version. The text says that "... future extensions to this protocol version (v1)" are to be carried in that field; that seems very odd. Was the intent to say that future versions of the SCT may have extensions defined? If so, then the extensions data element will appear then. It does not seem to be appropriate to include it now.

_______________________________________________
Trans mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trans

Reply via email to