<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Oct 8, 2014 at 7:00 PM, Dave Horsfall <span dir="ltr"><<a href="mailto:dave@horsfall.org" target="_blank">dave@horsfall.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It's possible that I may have missed this (the list seems to have spiked<br>
lately), but how would the device present itself to the host?  A serial<br>
stream of random bits (like a terminal or a keyboard), or some sort of a<br>
structure with command and control etc?<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Dave<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
The cryptography mailing list<br>
<a href="mailto:cryptography@metzdowd.com">cryptography@metzdowd.com</a><br>
<a href="http://www.metzdowd.com/mailman/listinfo/cryptography" target="_blank">http://www.metzdowd.com/mailman/listinfo/cryptography</a><br>
</div></div></blockquote></div><br></div><div class="gmail_extra">No command/control.  In fact, I feel a lot better not having a microcontroller on there that could transmit nasty malware when being plugged into a new system, or which could be reprogrammed to emit non-random data.<br><br></div><div class="gmail_extra">It's just a simple USB -> 8-bit fifo chip controlling the TRNG.  The USB controller is a FT240X, which has some reconfigurability, but not even enough to create a 2-bit state machine.<br><br></div><div class="gmail_extra">The host just sets Ph1 high and Ph2 low and vice versa through the bit-bang mode on the FT240X, and receives the resulting bytes one per clock.  Only one bit of each byte is output from the TRNG, so you clock it 8 times and then send a byte to the whitener.<br><br></div><div class="gmail_extra">I'm working on the Eagle schematic and board layout now.  It's a lot of fun.  I know I should put an EMI shield on the device to keep it from leaking data to attackers, but I am leaning towards shipping naked cheap little USB boards, similar to a  DigiSpark.<br><br></div><div class="gmail_extra">How important is the proper USB connector vs a raw connector with no housing like the DigiSpark?  Do we really feel we need to wrap this thing in metal to keep it from radiating secret bits?  I figure if we feed it into a whitener, an attacker would have to know *every* bit to know the state of the whitener.  That seems like a tall order for an attacker trying to read bits from EMI.<br></div><div class="gmail_extra"><br>Bill<br></div></div>