[Cryptography] /dev/random is not robust

Kent Borg kentborg at borg.org
Mon Nov 4 14:21:15 EST 2013


On 11/04/2013 12:39 PM, John Kelsey wrote:
> Yep. It seems like getting random secure starting seeds into devices 
> would be a huge win here. Then they can combine that with whatever 
> information they have locally, and initialize their RNG, and then 
> generate their keypair.

I think some lessons here are:

  1. Worry about operating with low initial entropy, including blocking 
usually non-blocking RNG output until some configurable amount entropy 
has maybe been collected.

  2. Look for local sources of entropy, and look again every few years 
as technology changes:

    - disk turbulence might have been good once maybe not so much anymore;

    - interrupt timing might have been an iffy source earlier, but now 
with much faster system clocks holds more promise;

    - hw sources like rdrand are becoming more common, but maybe not 
trusted, mix with other sources;

    - uninitialized RAM contents might have been worth some entropy once 
but it seems not so with recent technology.

  3. Even non-entropy data that is unique or might vary (MAC addresses, 
serial numbers, version numbers, time) makes an attacker's life harder 
and are worth mixing in.

A manufactured-in starting seed seems more like #3 than #2 (is it kept 
secret?, was it honest and high quality to begin with?), but still worth 
using if a manufacturer can afford to include it.


-kb



More information about the cryptography mailing list