Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Oct 2017 01:24:51 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 222807] PURE entropy sources are harvested but not mixed in. Also, min-entropy low per SP800-90B measurements
Message-ID:  <bug-222807-8-GDXSmXwx1m@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-222807-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-222807-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D222807

--- Comment #5 from W. Dean Freeman <badfilemagic@gmail.com> ---
(In reply to Conrad Meyer from comment #3)

The core of the problem with the pure sources was, in random_harvest_queue =
and
random_harvest_direct, the value hc_source_mask is checked to see whether t=
he
source bit is set. If it isn't, the functions bail out before they actually
either add an entry to the harvest ring buffer (in the case of
random_harvest_queue) or feed into ra_process_event (ie,
random_fortuna_process_event).

Thus, entropy is being harvested, by virtue of the fact that sources push,
rather than having /dev/random pull from them. However, the results of the =
push
were not being mixed in.

Additionally, there was no way via sysctl or any other means to set the bit=
 for
the source.

We have added code which will ensure the bit gets set on register for sourc=
es
which do register as entropy sources (which is really just RDRND and VIA
Padlock), however many pure sources, such as RANDOM_PURE_BROADCOM, which is=
 the
source for the trng in Raspberry Pi devices, don't register. They use
random_harvest_queue.

The point of the patch is to correct that. Additionally, it allows showing =
the
value in sysctl. For sources other than RDRND and VIA, there isn't an
additional way beyond the mask to see whether the source is actually turned=
 on
or not, since they don't register.  The patch corrects the behavior and all=
ows
the operator to ensure that it is set.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-222807-8-GDXSmXwx1m>