<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Mark, I agree that the project area would be better for this discussion.<div class=""><br class=""></div><div class="">For those not involved, this revolves around the vote to merge PR#9084 and possible alternate mitigations for the underlying problem.<div class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Tim’s explanatory message is:</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class="">For the record, I think we need to do a better job of tackling the underlying issue.<div class="">Dealing with systems on first boot with no entropy is an issue for a class of systems.</div><div class="">However we should be distinguishing between contexts where we have decent seeding material (from having had reasonable entropy) from those where we haven't.</div><div class="">We also should be able to persist seeding across boots and have recommendations for how vendors should do that.</div><div class="">We should be able to fall back to handling it at the user level (i.e. non-root user, persisted in the file system).</div><div class="">We need knowledge of install state (for FIPS) and that can also act as a first-boot state effectively.</div><div class=""><br class=""></div><div class="">And this applies equally to getentropy usage - it is only a problem in very limited contexts where blocking actually makes sense to perform.</div><div class="">That the kernel has no additional entropy available is not necessarily an issue - except in a very limited context (first time boot with no other entropy available from previous contexts). </div></blockquote></div><div class=""><div class=""><br class=""></div></div><div class=""><br class=""></div><div class="">Viktor replied:</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class="">I just want to make sure we don't lock ourselves in to a single<br class="">potentially clumsy solution in the library.  Various strategies<br class="">may be appropriate depending on the platform, and ultimately the<br class="">cooperation of the system administrator to enable the required<br class="">mechanisms.<br class=""><br class="">Potential additional sources for initial entropy on systems<br class="">without getrandom(2) might include:<br class=""><br class="">  RDSEED/RDRAND<br class="">  TPM (or Virtualized TPM which is sometimes better!)<br class="">  RNG state saved across reboots.<br class="">  ...<br class=""><br class="">This requires knowledge of various platforms, and potential<br class="">help from the platform vendors.  It might, for example, make<br class="">sense to delegate initial seeding to systemd on platforms<br class="">that use systemd, and work with the systemd maintainers to<br class="">provide a set of sensible entropy sources for initial boot.<br class=""><br class="">Exposing a decent RNG to virtual guests and containers is<br class="">would be another area of focus.</blockquote></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">My suggestion as a fallback would be Stephan Müller’s <a href="http://chronox.de/jent/doc/CPU-Jitter-NPTRNG.html" class="">CPU Jitter</a>.  He’s collected a large corpus of data from many processors and the scheme works relatively quickly.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Pauli</div><div class=""><div class="">
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">-- <br class="">Dr Paul Dale | Cryptographer | Network Security & Encryption <br class="">Phone +61 7 3031 7217<br class="">Oracle Australia</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;"><br class=""></div><br class="Apple-interchange-newline">
</div>


<div><br class=""><blockquote type="cite" class=""><div class="">On 7 Jun 2019, at 5:19 pm, Mark J Cox <<a href="mailto:mark@awe.com" class="">mark@awe.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Could we have this more detailed discussion on -project?<div class=""><br class=""></div><div class="">Mark</div></div>
</div></blockquote><br class=""></div><br class=""></div></div></div></body></html>