<div dir="ltr"><br><div class="gmail_extra"><br><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="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">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><br></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">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">https://github.com/agl/certificatetransparency</a> ). There are clients validating SCTs (eg: <a href="https://twitter.com/reschly/status/410990449952698369">https://twitter.com/reschly/status/410990449952698369</a> )</div>
<div><br></div><div>Finally, there is an IETF RFC assigned, the result of a very active discussion within the IETF.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<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="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<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="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<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 class=""><div class="h5"></div></div></blockquote></div></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></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"><br></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"><br></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"><br></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"><br></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"><br></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>