<div dir="ltr"><div>Phil,</div><div><br></div><div>I fail to see how omitting the subject key can be argued as meeting the security requirements of public auditability. Indeed, nothing would prevent a CA from being compromised and issuing a new certificate - based on an existing certificate - that contains an attacker controlled key. This may be due to compromise or due to legal compulsion, and would be undetectable by the public.</div>
<div><br></div><div>Surely you're not arguing that supporting compelled certificate issuance would be a "feature"?<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 20, 2013 at 12:56 PM, Phillip Hallam-Baker <span dir="ltr"><<a href="mailto:philliph@comodo.com" target="_blank">philliph@comodo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div style="font-size:12pt;font-family:'Calibri'">
<div>An Experimental RFC is certainly not a bar to major protocol changes.
</div>
<div> </div>
<div>Since any change would only impact verification, DigiCert would be
unaffected. And we are told repeatedly that Chrome can be updated at will. So I
don’t see you making a persuasive argument that it is too late to make
changes.</div>
<div> </div>
<div> </div>
<div>The parts of the cert that you cite as important are the parts that I
agreed the CT entry needs to cover. The parts that I am dubious about are the
serial number and the subject key. </div>
<div> </div>
<div>I don’t see you making an argument against excluding the parts of the
certificate I suggested leaving out. You instead set up a straw man and argued
against that.</div>
<div> </div>
<div>What I am proposing has far greater control than certifying an intermediate
precisely because the EKU and other extensions can be included. It is actually
strengthening the scheme over allowances already conceded.</div>
<div> </div>
<div> </div>
<div style="BORDER-TOP-COLOR:#000000;BORDER-BOTTOM-COLOR:#000000;PADDING-LEFT:5px;MARGIN-LEFT:5px;BORDER-LEFT:#000000 4px solid;BORDER-RIGHT-COLOR:#000000">
<div style="font-style:normal;font-size:small;display:inline;text-decoration:none;font-family:'Calibri';font-weight:normal">
<div style="FONT:10pt tahoma">
<div><b>From:</b> <a title="sleevi@google.com" href="mailto:sleevi@google.com" target="_blank">Ryan Sleevi</a> </div>
<div><b>Sent:</b> Friday, December 20, 2013 3:19 PM</div>
<div><b>To:</b> <a title="philliph@comodo.com" href="mailto:philliph@comodo.com" target="_blank">Phillip Hallam-Baker</a> </div>
<div><b>Cc:</b> <a title="rob.stradling@comodo.com" href="mailto:rob.stradling@comodo.com" target="_blank">Rob Stradling</a> ; <a title="public@cabforum.org" href="mailto:public@cabforum.org" target="_blank">public@cabforum.org</a> </div>
<div class="im">
<div><b>Subject:</b> Re: [cabfpub] CT Precertificates and the
BRs</div></div></div></div></div>
<div style="BORDER-TOP-COLOR:#000000;BORDER-BOTTOM-COLOR:#000000;PADDING-LEFT:5px;MARGIN-LEFT:5px;BORDER-LEFT:#000000 4px solid;BORDER-RIGHT-COLOR:#000000">
<div style="font-style:normal;font-size:small;display:inline;text-decoration:none;font-family:'Calibri';font-weight:normal">
<div dir="ltr">
<div> </div>
<div class="gmail_extra"><br><div><div class="h5"><br>
<div class="gmail_quote">On Fri, Dec 20, 2013 at 6:40 AM, Phillip Hallam-Baker
<span dir="ltr"><<a href="mailto:philliph@comodo.com" target="_blank">philliph@comodo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:rgb(204,204,204) 1px solid">We
seem to be getting a lot of confusion here, lets start from first
principles.<br><br>1) Is there a deployed base for CT? NO<br><br>Therefore the
CT code is completely changeable. We are not restricted by the current formats
or solutions. If there is an incompatibility with deployed infrastructure we
can do that.<br></blockquote>
<div> </div>
<div>As Jeremy has already pointed out, there is a deployed base of CT - Google
and Digicert ( <a href="http://www.digicert.com/news/2013-09-24-certificate-transparency.htm" target="_blank">http://www.digicert.com/news/2013-09-24-certificate-transparency.htm</a>
), among others. There are people already examining the CT logs (using tools
like <a href="https://github.com/agl/certificatetransparency" target="_blank">https://github.com/agl/certificatetransparency</a>
). There are clients validating SCTs (eg: <a href="https://twitter.com/reschly/status/410990449952698369" target="_blank">https://twitter.com/reschly/status/410990449952698369</a>
)</div>
<div> </div>
<div>Finally, there is an IETF RFC assigned, the result of a very active
discussion within the IETF.</div>
<div> </div>
<div> </div>
<div><br> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:rgb(204,204,204) 1px solid"><br><br>2)
Is there a need for any CT record to bind to the certificate serial number
data?<br><br>I can’t see one. The transparency criteria is for issue of
certificates that are signed by a particular CA that bind to particular names
under specific policies.<br><br>The less information that the CT binds to, the
more coverage a CT record gets. For example, a cloud service has 1000
certificates with separate keys for each, do they really need to have an
independent CT block for each one? For example, a service refreshes its
certificate every hour with a very short expiry period to avoid the need for
revocation processing, does it really need to get a new CT authorization per
certificate issue?</blockquote>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:rgb(204,204,204) 1px solid"><br><br>Including
the certificate serial number and the subject key in the CT record should both
be optional. Including them does not seem to reduce the attack surface in a
meaningful way but it certainly constrains the operation of the End Entity
device.</blockquote>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:rgb(204,204,204) 1px solid"><br><br>In
a cloud computing environment the service can be moving from machine to
machine on a very short cycle. I am old fashioned, I don’t think private keys
for signature or exchange should ever be used on more than one machine. So I
would like to see a scheme where the certificates and keys flow into the
machine where they will be used along with the VM image and expire within a
day.<br><br>Binding CT records to the subject keys and the serial numbers in
the public transparency records seems like a bad move to me. It would provide
a huge amount of information to an attacker on the internal workings of cloud
providers and big infrastructure players like Akamai (and
Google).<br><br><br>If there was a customer that really wanted to have fine
grain control over cert issue then the appropriate way to handle that
requirement would be for the CA to issue them a sub CA with name constraints
and give them partial control over the signing key through a multiparty
signature scheme. But I am not sure which (if any) HSMs would support the
capabilities needed and it would be a huge engineering investment.<br>
<div>
<div></div></div></blockquote></div></div></div></div><div><div class="h5">
<div class="gmail_extra"> </div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">While an interesting idea, it seems to fail to grasp some
of the key benefits to CT.</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">Such a proposal - to only bind precerts to certain
elements of the cert, whether it be things like "just" the subjectAltNames -
fails to consider the fact that CT represents a publicly-auditable record of
issuance.</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">We have seen repeatedly over the past several years -
both in high-profile incidents like Trustwave, Diginotar, and Turktrust, and in
smaller cases such as GoDaddy - where the stated CP/CPS (eg: as linked to within
the certificate) is not adhered to. Whether this is intentional - such as a
different interpretation of "issuance", as in the case of GoDaddy - the result
of compromise, such as DigiNotar, or accident, such as TurkTrust, it remains a
consistent problem.</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">Google has, through our basic crawls that certainly fails
to discover *all* certificates issued, continued to see this misissuance - RSA
key sizes, validity periods, subject names, etc.</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">If CT is meant to be a meaningful augmentation to the
demonstrably inadequate WebTrust audits, then we really do need to cover all
parts of the certificate that are governed by the BRs or the EVGs. And, as it
turns out, that is the entire certificate - including extensions.</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">Trying to chop up the cert into bits and pieces simply
fails to accomplish that goal of providing a reasonable, publicly auditable
trail of issuance and adherence. And, given the continued failure of audits to
provide reasonable assurances, that is exactly what is needed at this
time.</div></div></div></div></div></div></div></div></div>
</blockquote></div><br></div></div></div>