<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 8, 2016 at 3:25 PM, Jeremy Rowley <span dir="ltr"><<a href="mailto:jeremy.rowley@digicert.com" target="_blank">jeremy.rowley@digicert.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_-7775555516016732900WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The one short-coming of this approach over using multiple random values to detect wildcard domains is that the process makes obtaining multiple certificates from different CAs difficult. If a customer wants to use both DigiCert and another CA, the customer would have to order each one in separate intervals as _<a href="http://pki.domain.com" target="_blank">pki.domain.com</a> can only have a single CNAME record. Using two random values, the customer can have multiple CAs simultaneously issue certificates. <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">CA1:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><rnd_CA1>.<a href="http://domain.com" target="_blank">domain.com</a> CNAME <rnd2_CA1>.<a href="http://validation.com" target="_blank">validation.com</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">CA2:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><rnd_CA2>.<a href="http://domain.com" target="_blank">domain.com</a> CNAME <rnd2_CA2>.<a href="http://validation.com" target="_blank">validation.com</a><u></u><u></u></span></p><p class="MsoNormal"><br></p></div></div></blockquote><div><br></div><div>I think this proposal is different than what I understood your previous proposal to be, and I think it probably resolves the heart of my objection - that the randomness shouldn't be "trusted" if it's in the "name to be resolved", but can be if it's in the "contents of the record" (in this case, the CNAME-pointed to domain).</div><div><br></div><div>My understanding is your proposal was</div><div><rnd_CA1>.<a href="http://example.net">example.net</a> CNAME <a href="http://shop.example.com">shop.example.com</a>  (Notice how I keep using RFC 6761 special-use domains? :P)</div><div><br></div><div>Would be seen as authorization to issue for "<a href="http://example.net">example.net</a>" if the CA previously issued for "<a href="http://shop.example.com">shop.example.com</a>". I don't think that's good, because the <rnd_CA1> can't be taken as positive consent/configuration/control in the presence of Wildcard DNS.</div><div><br></div><div>If the proposal is that</div><div><rnd_CA1>.<a href="http://example.net">example.net</a> CNAME <rnd2_CA1>.<a href="http://shop.example.com">shop.example.com</a></div><div><br></div><div>Be taken as authorization to issue for <a href="http://example.net">example.net</a> if the CA has validated <a href="http://shop.example.com">shop.example.com</a>, then I think that'd be OK, and would be curious if anyone spots any risk I'm missing. That's because the <rnd_CA1> is not a "Random Token/Value", but just a "Don't disrupt the service" variation, and the real random value/token is in the contents of the CNAME - specifically, <rnd2_CA1>.</div><div><br></div><div>In the case of non-Wildcard DNS, this demonstrates practical control over <a href="http://example.net">example.net</a> (by creating rnd_CA1)</div><div>In the case of Wildcard DNS, this demonstrates practical control at least to the level of the Wildcard DNS rule, because it's statistically unlikely that they would have just 'happened' to chose <rnd2_CA1> as a subdomain, provided that it has sufficient randomness.</div><div><br></div><div><br></div><div>To double check my math, a given DNS label (that is, the value of <rnd_CA1 / rnd2_CA2>) is limited to 64 characters, which should be plenty sufficient for a modified Base32-encoding of a minimum 112-bit random value, which would be 24 characters (using perhaps 0/1 as the padding character, since = can't appear due to the LDH rule)</div></div></div></div>