<div dir="ltr">On Mon, Sep 2, 2013 at 9:47 AM, Jakob Schlyter <span dir="ltr"><<a href="mailto:jakob@kirei.se" target="_blank">jakob@kirei.se</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">On 30 aug 2013, at 17:44, Paul Wouters <<a href="mailto:paul@nohats.ca">paul@nohats.ca</a>> wrote:<br>
<br>
> Wow, that is pretty epic - in a bad way...... Am I really trusting opendnssec<br>
> to generate RSA keys with the below code for entropy? filenames in /tmp?<br>
<br>
</div>Although I agree this is bad - have you checked if these are the ONLY entropy sources used by Botan?<br></blockquote><div><br></div><div>Botan has a global RNG which is seeded by e.g. vmstat and filenames in /tmp. <span style="font-size:13px;font-family:arial,sans-serif">get_</span><u style="font-size:13px;font-family:arial,sans-serif"></u><span style="font-size:13px;font-family:arial,sans-serif">defaul</span><span style="font-size:13px;font-family:arial,sans-serif">t_sources() has a long list of sources, where vmstat is one of them. </span>Trace the call to <span style="font-size:13px;font-family:arial,sans-serif">get_</span><u style="font-size:13px;font-family:arial,sans-serif"></u><span style="font-size:13px;font-family:arial,sans-serif">defaul</span><span style="font-size:13px;font-family:arial,sans-serif">t_sources() and you will see that there are also other sources added before the default ones are added.</span></div>
<div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div><font face="arial, sans-serif">SoftHSM uses Botan::AutoSeeded_RNG which is derived from the global RNG. All RSA operations (except generating the random number for the RSA blinding) are done by using the RNG supplied by SoftHSM to Botan. This link describes how RNGs are handled by Botan.</font></div>
<div><a href="http://botan.randombit.net/rng.html">http://botan.randombit.net/rng.html</a></div><div><br></div><div>Currently, you can add more entropy by calling the PKCS#11 function C_SeedRandom(). It is however recommended to use a real HSM to get a much better RNG.</div>
<div><br></div><div>When it comes to the use of vmstat and similar. What we could do is not to use the <span style="font-family:arial,sans-serif">Botan::AutoSeeded_RNG and just seed a Botan RNG with other sources. This would fix all functions calls except the RSA blinding. Perhaps it is better to fix the </span><span style="font-size:13px;font-family:arial,sans-serif">get_</span><u style="font-size:13px;font-family:arial,sans-serif"></u><span style="font-size:13px;font-family:arial,sans-serif">defaul</span><span style="font-size:13px;font-family:arial,sans-serif">t_sources() in Botan? Then we could use the Botan implementation and be more platform independent.</span></div>
<div><span style="font-family:arial,sans-serif"><br></span></div><div><span style="font-family:arial,sans-serif">// Rickard</span></div></div></div></div>