<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
p.Default, li.Default, div.Default
        {mso-style-name:Default;
        margin:0in;
        margin-bottom:.0001pt;
        text-autospace:none;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1627352148;
        mso-list-type:hybrid;
        mso-list-template-ids:639162630 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.0in;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.5in;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:2.0in;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.5in;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.0in;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:3.5in;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.0in;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.5in;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:5.0in;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText">Hi, Gerv.  Responses in <b><u><span style="color:red">red</span></u></b>.  I’d appreciate any suggestions you may have on limitations the new domain validation ballot should have concerning reuse and/or time limit on use, for a Random
 Value, Test Certificate, or Request Token.  It may be that we should make a distinction on whether the domain validation is connected to a specific certificate request and public key, or whether the domain validation is unrelated to a specific certificate
 request and public key but instead is to authorize the Applicant to come back later and request certificates for the authorized domain.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<br>
From: public-bounces@cabforum.org [mailto:public-bounces@cabforum.org] On Behalf Of Gervase Markham<br>
Sent: Saturday, November 21, 2015 5:14 AM<br>
To: public@cabforum.org >> CABFPub<br>
Subject: Re: [cabfpub] VWG Question 5 – Domain Validation pre-ballot</p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">On 19/11/15 01:28, <a href="mailto:kirk_hall@trendmicro.com">
<span style="color:windowtext;text-decoration:none">kirk_hall@trendmicro.com</span></a> wrote:<o:p></o:p></p>
<p class="MsoPlainText">> Random Values<o:p></o:p></p>
<p class="MsoPlainText">...<o:p></o:p></p>
<p class="MsoPlainText">> _Kirk’s opinion_: A Random Value must be generated and specified by
<o:p></o:p></p>
<p class="MsoPlainText">> the CA to the Applicant, and must have at least 112 bits of entropy. 
<o:p></o:p></p>
<p class="MsoPlainText">> With all that trouble taken to make it truly random (entropy), and
<o:p></o:p></p>
<p class="MsoPlainText">> given that the Random Value is posted in public places by the
<o:p></o:p></p>
<p class="MsoPlainText">> Applicant,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I don't think this is always correct - the Random Value is not necessarily posted in a public place. I guess it partly depends on whether the value is part of the filename or the file contents; if it's in the filename, then the only
 way to find it out is by knowing it already, so it could hardly be said to be publicly posted.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">If the method is to add the value to the file contents of .well-known/validation/foo-ca.txt, then yes, that is publicly posted, as a hacker could poll that URL until they got content.<o:p></o:p></p>
<p class="MsoPlainText"><span style="color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span style="color:red">Yes, I was referring to the situations where the Random Value is visible in a public place.  There was also concern on the last call that a Random Value in an email was not really secure enough to be used more
 than once.<o:p></o:p></span></b></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> I think a time limit is appropriate because if the customer uses the
<o:p></o:p></p>
<p class="MsoPlainText">> Random Value but misapplies it to a public place (so a hacker sees
<o:p></o:p></p>
<p class="MsoPlainText">> it), or just doesn’t get around to using it after it has been sent by
<o:p></o:p></p>
<p class="MsoPlainText">> an email or otherwise, it is potentially discoverable by a hacker and
<o:p></o:p></p>
<p class="MsoPlainText">> can be used.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Can you elaborate more on the sequence of events which lead to a threat here? How can an attacker discover the person's email? And if they can, how does a time limit help - surely the attacker will launch their attack as soon as the
 email is received?<o:p></o:p></p>
<p class="MsoPlainText"><span style="color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span style="color:red">Perhaps not realistic, but some on the call said a single Random Value sent to an applicant could be used to validate 100 domains contained in the SANs field of a single certificate request.  As this could
 happen by posting the same Random Value in the DNS record of the 100 domains over and over again, I was thinking about a case where the Applicant posted to 55 or 72 domains over three or four days, and then didn’t continue.  At some point, a hacker might figure
 out that this Random Value could be reused with this CA, and..   not sure how the hacker would use it, but it would no longer be unknown and unpredictable.<o:p></o:p></span></b></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> Question: Should we beef up the definition of “Test Certificate” so it
<o:p></o:p></p>
<p class="MsoPlainText">> has some unique and random character?  Otherwise, a hacker could
<o:p></o:p></p>
<p class="MsoPlainText">> simply copy MegaCA’s standard Test Certificate (which never changes)
<o:p></o:p></p>
<p class="MsoPlainText">> and try to use it, even though the hacker didn’t receive it from the CA.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">You are right that if a CA used the same test certificate for all validations, that would be dumb.<o:p></o:p></p>
<p class="MsoPlainText"><span style="color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span style="color:red">Yes, the current definition for Test Certificate does not require any unique or random information, so it will be modified.  Also, because a Test Certificate is likely to be posted in a public place, in my
 opinion it should be one use only and not reused for other domains or for re-vetting 13 or 39 months later.<o:p></o:p></span></b></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> Test Certificates<o:p></o:p></p>
<p class="MsoPlainText">...<o:p></o:p></p>
<p class="MsoPlainText">> _Kirk’s Opinion_:  My opinion for Test Certificates is the same as for
<o:p></o:p></p>
<p class="MsoPlainText">> Random Values – once issued by the CA, a Test Certificate is public
<o:p></o:p></p>
<p class="MsoPlainText">> and can be seen and reused by a hacker to attempt fraudulent domain
<o:p></o:p></p>
<p class="MsoPlainText">> validations.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">But surely a test certificate involves both a public and a private key? 
<o:p></o:p></p>
<p class="MsoPlainText">Just because the hacker can see the public key (by accessing the website when it's using the cert) doesn't mean they have the private key. So they can't use the cert on a spoof website.<o:p></o:p></p>
<p class="MsoPlainText"><span style="color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span style="color:red">Not necessarily – a Test Certificate does not have to be tied to a public key.<o:p></o:p></span></b></p>
<p class="Default"><b><span style="font-size:11.0pt;color:red">Test Certificate</span></b><span style="font-size:11.0pt;color:red">: A Certificate which includes data that renders the Certificate unusable for use by an application software vendor or publicly
 trusted TLS server such as the inclusion of a critical extension that is not recognized by any known application software vendor or a certificate issued under a root certificate not subject to these Requirements.
<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> Request Token<o:p></o:p></p>
<p class="MsoPlainText">...<o:p></o:p></p>
<p class="MsoPlainText">> There is no requirement that the Request Token be generated by the CA
<o:p></o:p></p>
<p class="MsoPlainText">> and provided to the Applicant, and there has been speculation that the
<o:p></o:p></p>
<p class="MsoPlainText">> Request Token may be generated by the Applicant as a hash of a
<o:p></o:p></p>
<p class="MsoPlainText">> particular public key used in connection with a specific certificate
<o:p></o:p></p>
<p class="MsoPlainText">> request.  If so, that raises the questions I posed in my earlier email
<o:p></o:p></p>
<p class="MsoPlainText">> to Robin about this method – does it depend on a specific CSR from the
<o:p></o:p></p>
<p class="MsoPlainText">> Applicant?  If the CA’s “method” is known and the public key is known
<o:p></o:p></p>
<p class="MsoPlainText">> to everyone, then a hacker could generate and use an identical Request
<o:p></o:p></p>
<p class="MsoPlainText">> Token,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Yes, and so they could perhaps get a signature issued for a public key to which they don't hold the private key. How is that useful to them?<o:p></o:p></p>
<p class="MsoPlainText"><b><span style="color:red">If the domain validation is limited to one certificate request with one public key, it may not be useful to a hacker.  But if the CA treats the Request Token as a credential that a customer can reused to validate
<u>other</u> domains (and then come back to get additional certs for the validated domains using a different public key – many CAs allow repeated certificate requests once a domain has been validated) then perhaps a hacker can observe and copy the Request Token
 from the DNS record and use it somehow to imitate the real customer using a different key pair.  Probably too exotic to happen, but in the current language there is no explicit requirement that this domain authentication method be used only to authenticate
 a domain for a particular certificate request involving only the public key that was used in creating the Request Token.  Maybe that’s implied.  I know Robin is coming back with some edits to this language.<o:p></o:p></span></b></p>
<p class="MsoPlainText"><b><span style="color:red"><o:p> </o:p></span></b></p>
<p class="Default" style="margin-left:.5in"><span style="font-size:11.0pt;color:red">7. Having the Applicant
<u>demonstrate control over the requested FQDN</u> by the Applicant making a change to information in a DNS record for an Authorization Domain Name where the change is to insert a Random Value or Request Token
<o:p></o:p></span></p>
<p class="MsoPlainText" style="margin-left:.5in"><b><span style="color:red"><o:p> </o:p></span></b></p>
<p class="Default" style="margin-left:.5in"><b><span style="font-size:11.0pt;color:red">Request Token</span></b><span style="font-size:11.0pt;color:red">: A value derived in a method specified by the CA
<u>from the public key to be certified</u>. The uniqueness of the Request Token and the irreversibility of the derivation to be at least as strong as those of the cryptographic signature algorithm to be used to sign the certificate.
<o:p></o:p></span></p>
<p class="MsoPlainText"><b><span style="color:red"><o:p> </o:p></span></b></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerv<o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Public mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:Public@cabforum.org"><span style="color:windowtext;text-decoration:none">Public@cabforum.org</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="https://cabforum.org/mailman/listinfo/public"><span style="color:windowtext;text-decoration:none">https://cabforum.org/mailman/listinfo/public</span></a><o:p></o:p></p>
</div>
</body>
</html>

<table><tr><td bgcolor=#ffffff><font color=#000000><pre><table class="TM_EMAIL_NOTICE"><tr><td><pre>
TREND MICRO EMAIL NOTICE
The information contained in this email and any attachments is confidential 
and may be subject to copyright or other intellectual property protection. 
If you are not the intended recipient, you are not authorized to use or 
disclose this information, and we request that you notify us by reply mail or
telephone and delete the original message from your mail system.
</pre></td></tr></table></pre></font></td></tr></table>