<div dir="ltr">Ben, is there any thought further on 'unpredictable bits'?<div><br></div><div>While I realize Richard disagreed, I do think it creates a possibility for a CA to argue that they're using unpredictable bits from, say, a Microsoft GUID generator, but such bits are not unpredictable. My hope would be to provide objective and unambiguous criteria, since, as we've seen from this discussion, 'unpredictable bits' and 'entropy' seem to cause some confusion.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 19, 2016 at 6:24 AM, Ben Wilson <span dir="ltr"><<a href="mailto:ben.wilson@digicert.com" target="_blank">ben.wilson@digicert.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Then I'll move forward with the  ballot if we have two endorsers.<br>
<span class="im HOEnZb"><br>
-----Original Message-----<br>
From: Peter Bowen [mailto:<a href="mailto:pzb@amzn.com">pzb@amzn.com</a>]<br>
Sent: Monday, April 18, 2016 9:16 PM<br>
To: Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>><br>
</span><div class="HOEnZb"><div class="h5">Cc: CABFPub <<a href="mailto:public@cabforum.org">public@cabforum.org</a>><br>
Subject: Re: [cabfpub] Pre-Ballot 164 - Certificate Serial Number Entropy<br>
<br>
I looked at certificates across all CT logs that had notBefore dates in March 2016.  Only 549 unique certificates had more than 20 bits but less than 61 bits in the serial number.  They were spread among many CAs.  >From the looks of it, I’m guessing that some CAs using a random number between 0 and N (probably 2^64 or 2^128) and some percentage of the time the value chosen is less than 2^61.  I used 2^61 as that is 16 hex digits which is a good approximation of 64-bits.<br>
<br>
So, I would say that almost everyone is using at least 64-bit serial numbers already.<br>
<br>
> On Apr 18, 2016, at 3:45 PM, Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>> wrote:<br>
><br>
> On the cablint report for the 20 bits of entropy, <a href="https://crt.sh/?cablint=38" rel="noreferrer" target="_blank">https://crt.sh/?cablint=38</a>, there  are 20 certificates that were listed.  If this changes to 64 bits, how many more certificates will be on the list?<br>
><br>
> From: <a href="mailto:public-bounces@cabforum.org">public-bounces@cabforum.org</a> [mailto:<a href="mailto:public-bounces@cabforum.org">public-bounces@cabforum.org</a>] On Behalf Of Ben Wilson<br>
> Sent: Monday, April 18, 2016 10:25 AM<br>
> To: CABFPub <<a href="mailto:public@cabforum.org">public@cabforum.org</a>><br>
> Subject: [cabfpub] FW: Pre-Ballot 164 - Certificate Serial Number Entropy<br>
><br>
> Forwarding<br>
><br>
> From: Kane York [mailto:<a href="mailto:kanepyork@gmail.com">kanepyork@gmail.com</a>]<br>
> Sent: Monday, April 18, 2016 10:23 AM<br>
> To: Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>>; Erwann Abalea <<a href="mailto:Erwann.Abalea@docusign.com">Erwann.Abalea@docusign.com</a>><br>
> Cc: <a href="mailto:questions@cabforum.org">questions@cabforum.org</a><br>
> Subject: Re: [cabfpub] Pre-Ballot 164 - Certificate Serial Number Entropy<br>
><br>
><br>
> On Fri, Apr 15, 2016 at 7:52 AM Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>> wrote:<br>
> I didn’t think it was that simple.  For instance, see <a href="https://en.wikipedia.org/wiki/Password_strength" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Password_strength</a><br>
><br>
> From: Erwann Abalea [mailto:<a href="mailto:Erwann.Abalea@docusign.com">Erwann.Abalea@docusign.com</a>]<br>
> Sent: Friday, April 15, 2016 8:44 AM<br>
> To: Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>><br>
> Cc: CABFPub <<a href="mailto:public@cabforum.org">public@cabforum.org</a>><br>
><br>
> Subject: Re: [cabfpub] Pre-Ballot 164 - Certificate Serial Number Entropy<br>
><br>
> Bonjour,<br>
><br>
> 20 bits of entropy is the same as 20 bits unpredictable bits.<br>
><br>
> Whence, 64 bits of entropy is a higher requirement than 20 bits of entropy.<br>
><br>
> Cordialement,<br>
> Erwann Abalea<br>
><br>
> No, it definitely is that simple.<br>
><br>
> I think the confusion here is the definition of "hex characters".<br>
><br>
> > Our CA issues certificates with 32 hexadecimal characters for the serial number.<br>
><br>
> This is not possible - you cannot have 32 ASCII characters in the serial number.<br>
> The most likely truth given that explanation is that you have 16 fully random bytes. Which would be 16 * 8 = 128 random bits, satisfying the entropy requirements.<br>
><br>
> 3 fully random bytes would satisfy the 20-bit requirement.<br>
> 6 fully random hexadecimal ASCII characters encoded in the serial number would satisfy the 20-bit requirement.<br>
><br>
> 8 fully random bytes is required to satisfy the 64-bit requirement.<br>
> 16 bytes with 4 bits of entropy each, which ASCII-encoded hexadecimal would be, would satisfy the entropy requirement and leave you 3.875 bytes left over for other information.<br>
><br>
><br>
> Le 15 avr. 2016 à 16:32, Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>> a écrit :<br>
><br>
> Forwarding<br>
><br>
> From: Man Ho (Certizen) [mailto:<a href="mailto:manho@certizen.com">manho@certizen.com</a>]<br>
> Sent: Thursday, April 14, 2016 7:51 PM<br>
> To: Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>>; Ryan Sleevi <<a href="mailto:sleevi@google.com">sleevi@google.com</a>><br>
> Cc: <a href="mailto:public@cabforum.org">public@cabforum.org</a><br>
> Subject: Re: [cabfpub] Pre-Ballot 164 - Certificate Serial Number Entropy<br>
><br>
> Ben,<br>
><br>
> We had already changed our system to issue SSL certificates with 20 hexadecimal characters of at least 20-bit of entropy since 2014. I'm just wondering why the requirement is changed from "bits of entropy" to "unpredictable bits", which I don't understand the conversion (like "cm" to "inch" :). I don't know whether our software vendor understands it.<br>
><br>
> Man<br>
><br>
> On 4/15/2016 4:24 AM, Ben Wilson wrote:<br>
> You’re right, given a randomly generated 20-byte serial number, you have 159 unpredictable bits.<br>
><br>
> From: Ryan Sleevi [mailto:<a href="mailto:sleevi@google.com">sleevi@google.com</a>]<br>
> Sent: Thursday, April 14, 2016 2:03 PM<br>
> To: Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>><br>
> Cc: Man Ho (Certizen) <<a href="mailto:manho@certizen.com">manho@certizen.com</a>>; <a href="mailto:public@cabforum.org">public@cabforum.org</a><br>
> Subject: Re: [cabfpub] Pre-Ballot 164 - Certificate Serial Number Entropy<br>
><br>
> Ben:<br>
><br>
> Are you sure your math is correct? A serial number is 20 bytes, with the high bit needing to be 1 (for the encoding of positive INTEGERS within DER). This leaves 159 bits for entropy. So you certainly can't have more unpredictable bits than that :)<br>
><br>
> On Thu, Apr 14, 2016 at 12:59 PM, Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>> wrote:<br>
> Man,<br>
> Have you had a chance to do  further research on the capabilities of your system?   Our CA issues certificates with 32 hexadecimal characters for the serial number.  There are 4 bits of entropy for each hexadecimal character.  Therefore, our serial numbers have 128 bits of entropy and 16*32= 512 unpredictable bits.  An 8-hexadecimal character serial number would have 32 bits of entropy and 128 unpredictable bits.  A 20-bit entropy would be equal to 5 hexadecimal characters, or 80 unpredictable bits, so this seems like this is a downgrade to go to 64 unpredictable bits.  Am I right?<br>
> Ben<br>
><br>
> From: Man Ho (Certizen) [mailto:<a href="mailto:manho@certizen.com">manho@certizen.com</a>]<br>
> Sent: Wednesday, March 23, 2016 12:27 AM<br>
> To: Ben Wilson <<a href="mailto:ben.wilson@digicert.com">ben.wilson@digicert.com</a>>; <a href="mailto:public@cabforum.org">public@cabforum.org</a><br>
> Subject: Re: [cabfpub] Pre-Ballot 164 - Certificate Serial Number Entropy<br>
><br>
> Hi all,<br>
><br>
> Is the meaning of "at least 64 unpredictable bits" setting the same or a higher requirement than "at least 20 bits of entropy" ? I'm not quite sure whether our certificate generation software has this setting in itself.<br>
><br>
> Cheers<br>
> Man<br>
><br>
> On 3/1/2016 12:21 AM, Ben Wilson wrote:<br>
> REPLACE<br>
> "CAs SHOULD generate non-sequential Certificate serial numbers that exhibit at least 20 bits of entropy"<br>
> WITH<br>
> "Effective April 1, 2016, CAs SHALL use a Certificate serialNumber greater than zero (0) that contains at least 64 unpredictable bits."<br>
><br>
><br>
> _______________________________________________<br>
> Public mailing list<br>
> <a href="mailto:Public@cabforum.org">Public@cabforum.org</a><br>
> <a href="https://cabforum.org/mailman/listinfo/public" rel="noreferrer" target="_blank">https://cabforum.org/mailman/listinfo/public</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Public mailing list<br>
> <a href="mailto:Public@cabforum.org">Public@cabforum.org</a><br>
> <a href="https://cabforum.org/mailman/listinfo/public" rel="noreferrer" target="_blank">https://cabforum.org/mailman/listinfo/public</a><br>
><br>
> _______________________________________________<br>
> Public mailing list<br>
> <a href="mailto:Public@cabforum.org">Public@cabforum.org</a><br>
> <a href="https://cabforum.org/mailman/listinfo/public" rel="noreferrer" target="_blank">https://cabforum.org/mailman/listinfo/public</a><br>
> _______________________________________________<br>
> Public mailing list<br>
> <a href="mailto:Public@cabforum.org">Public@cabforum.org</a><br>
> <a href="https://cabforum.org/mailman/listinfo/public" rel="noreferrer" target="_blank">https://cabforum.org/mailman/listinfo/public</a><br>
<br>
</div></div><br>_______________________________________________<br>
Public mailing list<br>
<a href="mailto:Public@cabforum.org">Public@cabforum.org</a><br>
<a href="https://cabforum.org/mailman/listinfo/public" rel="noreferrer" target="_blank">https://cabforum.org/mailman/listinfo/public</a><br>
<br></blockquote></div><br></div>