[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Full-disclosure] how would browser vendors deal with $O(10^k)$ fake certs?



On 04/10/2011 03:48 PM, Pavel Kankovsky wrote:
> On Sun, 10 Apr 2011, Georgi Guninski wrote:
>>
>> appears to me getting the certs is one time cost to the attacker, while
>> checking 10^k c3rt s3r34l numbers (as in the panic patch) requires loop
>> to 10^k?
>
> You always need \Omega(l) operations to check a value where l is the
> number of its significant bits (i.e. of the cert's serial number).
> It cannot be less than \Omega(l) because you need to read and consider
> every of those significant bits (they would not be really significant if
> you did not have to do that).

Only in cases where the element is found though, the last bit only needs 
to be checked if all the preceding bits matched. In the normal 
(non-attack) case the "s3r34l number" isn't found.

A precomputed hash table or Bloom filter could be very small and 
effectively O(1) even for 10K entries. Except for those dumb CAs that 
issued sequential numbers, just the first few bytes of the cert would be 
enough to rule it out of the blacklist.

Hard-coding serial numbers in the source code still looks like a sad act 
of desperation though.

- Marsh

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/