svn commit: r284959 - in head: . share/man/man4 share/man/man9 sys/conf sys/dev/glxsb sys/dev/hifn sys/dev/random sys/dev/rndtest sys/dev/safe sys/dev/syscons sys/dev/ubsec sys/dev/virtio/random sy...

Mark R V Murray markm at FreeBSD.org
Sat Jul 25 08:10:43 UTC 2015


> On 25 Jul 2015, at 06:06, Scott Long <scott4long at yahoo.com> wrote:
> 
>> I’m working on a premise of “tools, not policy”. I’d like there to be
>> enough harvesting points for the box owner to get the warm fuzzies.
>> If they choose to use less, fine by me.
>> 
> 
> Sure, and that’s not an unreasonable goal, but the devil is in the details.

Yes, indeed!

> It’s an unfortunate fact of modern CPU architecture that even something
> as simple and innocent as a run-time control that checks a variable can
> cause significant performance problems, thanks to the penalty of cache
> misses and bus contention between lots of CPU cores.  Maybe these
> “extended” collection points should be controlled with a compile-time
> option?

They can. I’ve coded it already, but not tested it properly, and will
commit in a week or two. :-)

> 
>>> Many of the issues that FreeBSD sees with lack of entropy at start up
>>> is more of a problem on how systems are installed and provisioned.  I
>>> don't believe that we currently store any entropy from the install
>>> process, yet this is one of the best places to get it, the user is
>>> banging on keyboard selecting options, etc.  If an image is designed
>>> to be cloned (vm images or appliance images) we need to have a
>>> mechanism to ensure that before we start, we get the entropy from
>>> other sources, be it a hardware RNG or the console.
>> 
>> Getting an initial entropy bundle for first boot is high up on my
>> TODO list. :-) Patches welcome! We need the usual /entropy (or
>> /var/db/entropy/… or whatever) and crucially we need /boot/entropy
>> and the correct invocation in /boot/loader.conf.
>> 
> 
> I agree that bootstrap entropy is a big deal, especially with the increasing
> prevalence of using virtual machine containers, cloned images, and
> datacenter automation.  Addressing that is an interesting problem, and
> goes well beyond the scope of in-kernel entropy collection.  I wish I had
> a simple answer or a patch for you ;-)

The hard stuff has been done. We just need to write (e.g.) 4k of good
numbers to /boot/entropy and job nearly done. This could be done by
sysinstall or by the cloning system, for example.

The embedded folks will still need a bit more careful etc/rc.d/* design.

>> Well, sure, but what if you don’t have microphone? I want lots
>> of choices, in anticipation of only a subset being usable.
>> 
> 
> I still think that for most use cases where you have a high likelyhood
> of draining /dev/random of useful bits, you’re likely already on a tight
> budget for CPU cycles and you’ll probably just look to a hardware
> accelerator rather than sacrifice even more CPU cycles.  At least,
> that’s what the nice sale people at Cavium and Intel tell me ;-)

Sure, but I don’t trust them either. This is the professional mistrust
of crypto, not an assertion of incompetence or malice. ;-) They do,
however, fulfil a need, but I don’t like the idea of trusting a single
source unless that source has been properly vetted.

M
-- 
Mark R V Murray



More information about the svn-src-head mailing list