Rick,

Thanks for taking the time to review my initial cut at an Appendix.

I have made changes to reflect all of the typos you noted.

Also, although I like the idea of log servers rejecting syntactically-invalid certificates, that may create problems for CAs because the CABF requirements have changed over time and will likely change in the future. Any changes would have to be rolled out to log servers and browsers in time to prevent rejection of a valid certificate.


Your observation about the need to coordinate CABF requirements changes with what log servers would check gave me an idea. Why not have the add (pre-cert) chain to log request specify whether the cert being added is to be checked against DV or EV specs, and note the version of the DV/EV spec to be used? This would make it easy for the log to know which set of checks to employ. Since each log needs to advertise a set of data about itself anyway (e.g., what root CAs it supports), it could also advertise the set of specs against which it is prepared to check submissions. This way a CA or Subject would know whether the log was prepared to accept a chain for checking under the selected criteria. Note that a Monitor could not perform checks as easily, because it does not interact directly with the entity submitting the log request. I think that argues for logs performing these checks.

*A.2 Semantic Verification of a Certificate *

Nonetheless, a Monitor can "protect" specific Subjects, based on reference data provided by these Subjects. A Monitor trying to determine that a certificate has been issued to the "right" Subject can do so using the certificate(s) issued to the Subject, as a reference. For example, if a Monitor is providing "protection" for a Subject, it requires the name of the Subject (as it appears in the Subject field or subjectAltName extension) and the public key associated with that Subject. Armed with this information, a Monitor can examine every log entry to determine if it contains the same Subject or SubjectAltName. If a log entry matches either of these names, and if it contain a different public key, this is evidence of mis-issuance.

There's no requirement that a Subject be associated with a single public key. In some cases, web site owners generate a different key pair on each machine behind a load balancer, and apply for certificates with the same Subject name but different key.

I'm not sure if you've captured the type of mis-issuance that CT was originally intended to detect: when a hacked, faulty or rogue CA issues a certificate to a Subject without the Subject's knowledge. The Monitor alone cannot detect that. It can report to the Subject that a certificate was logged for the Subject, but only the Subject can tell if that was a valid issuance or mis-issuance.

Your observation is correct; that's what I get for trying to write a quick description of the algorithm for this. Accommodating multiple keys per Subject is easy to fix.

   For example, if a Monitor is providing "protection" for a Subject,
   it requires the name of the Subject (as it appears in the Subject
   field or subjectAltName extension) and the public key(s) associated
   with that Subject. Armed with this information, a Monitor can
   examine every log entry to determine if it contains the same Subject
   or SubjectAltName. If a log entry matches either of these names, and
   if it contain a public key other that the one(s) provided by the
   Subject, this is evidence of mis-issuance.


If the Subject provides a list of all o the keys associated with the Subject, perhaps in the form of certs issued to the Subject (and currently valid) this would enable a Monitor to detect this form of mis-issuance, agreed?

A separate topic is issuance of a bogus cert for a Subject who doesn't have a cert issued legitimately. In this case there is no reference cert to present to a Monitor. It may be hard for a Subject who doesn't have a cert to convince a 3rd party Monitor to check for certs issued to the Subject name
in question. Should we classify this as mis-issuance as well?

Steve

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

Reply via email to