<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 25, 2016 at 1:57 AM, Gervase Markham via Public <span dir="ltr"><<a href="mailto:public@cabforum.org" target="_blank">public@cabforum.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I think this is definitely worth exploring, and I am confident we can<br>
work out some reasonable parameters. However, I wonder if, if we are not<br>
checking CAA at every issuance, it would be wise for CAs to be required<br>
to implement a "no more certs, please" procedure where the customer can<br>
tell the CA to throw away all cached validation information, including<br>
the CAA check results. This could be automated in circumstances where<br>
the customer has a login.<br></blockquote><div><br></div><div>I think it may also be useful to do this for non-customers, but domain holders.</div><div><br></div><div>Consider the following certificate: <a href="https://crt.sh/?id=35360532">https://crt.sh/?id=35360532</a></div><div><br></div><div>It was issued 2016-09-26 to a customer on Google service's</div><div>Since roughly 2016-03-31, <a href="http://googleusercontent.com">googleusercontent.com</a> has had a CAA record of 0 issue <a href="http://symantec.com">symantec.com</a></div><div><br></div><div>So why was this certificate issued? Well, as Jacob mentioned in <a href="https://cabforum.org/pipermail/public/2016-October/008576.html">https://cabforum.org/pipermail/public/2016-October/008576.html</a> , Let's Encrypt checks CAA at validation time, not issuance time. Despite our CAA record helpfully preventing any new validations, this particular user had a pre-existing cached validation, according to Let's Encrypt, and so the new certificate was issued using the pre-existing validation.</div><div><br></div><div>Ironically/unfortunately, it was this pre-existing validation ( <a href="https://crt.sh/?id=14639682">https://crt.sh/?id=14639682</a> ) that lead us to place CAA on the domain to begin with.</div><div><br></div><div>Now, I'm not suggesting Let's Encrypt has misissued this certificate - it's why I've been continuing to call it 'unauthorized' issuance - and with respect to the BRs, everything LE did was correct. In particular, the re-use of cached information is fully permitted in the BRs (as many CAs know). However, from a our perspective, this was certainly 'a surprise' and not intended.</div><div><br></div><div>So if we're going that route, I do believe we need to set a much tighter upper-bound than the currently permissible 39 months. Unlike WHOIS information, for which we know some registrars don't provide or some registries make it considerably more difficult (c.f. the CAPTCHA/OCR issues of Comodo recently), CAA is something that any domain holder can express or maintain themselves, and any CA can query.</div><div><br></div><div>So it seems like one week or so should be the upper-bound to how long this information can be re-used.</div><div><br></div><div>As for how we're dealing with this unauthorized issuance, at least with an LE model, we need to submit every one of these 'unauthorized' certificates as problem reports, and hope that Let's Encrypt agrees with us on the basis of domain holder, and then hope that the associated cached data is thrown away. Further, for what it's worth, the BRs do not require that such cached info be thrown away on a problem report - that's simply Let's Encrypt going above and beyond the BRs to do what is common sense and necessary for security, and which other CAs may not be at that same level of maturity.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> 2) If a customer has a single base domain and needs to issue 6 million certs<br>
> an hour for the various sub domains, then there isn't a way for the CA to<br>
> simply accept the base domain's CAA record.<br>
<br>
</span>I'm not sure how to address this without changing the way CAA works.<br>
AIUI it's specced to work from the requested domain down to the root. So<br>
I'm not sure I'd say this problem is "easily solved". Does PHB have a<br>
comment?</blockquote><div><br></div><div>I'm not PHB, but you're absolutely correct that it's "not how CAA works". </div></div></div></div>