From owner-freebsd-bugs@freebsd.org Fri Oct 6 01:24:51 2017 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 233F1E10F74 for ; Fri, 6 Oct 2017 01:24:51 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1150F698C0 for ; Fri, 6 Oct 2017 01:24:51 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id v961Oo8M028993 for ; Fri, 6 Oct 2017 01:24:50 GMT (envelope-from bugzilla-noreply@freebsd.org) 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 Date: Fri, 06 Oct 2017 01:24:51 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: badfilemagic@gmail.com X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2017 01:24:51 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D222807 --- Comment #5 from W. Dean Freeman --- (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.=