<div dir="ltr"><div class="gmail_extra">I just realized that I have not described a "power droop" attack in enough detail.  I make the following assumption:</div><div class="gmail_extra"><br></div><div class="gmail_extra">- The Intel DRNG shares a power rail with some on-chip power hungry device</div><div class="gmail_extra"><br></div><div class="gmail_extra">Assuming this is the case, you have to cause the power rails to drop rapidly.  For example, if a multiplier is nearby the TRNG, doing multiplications should work.  If it is near a cache block, repeated read/writes to that block should work.</div><div class="gmail_extra"><br></div><div class="gmail_extra">The timing has to be such that the attack is faster than DRNG's feedback response time.  The resistance in the power mesh is likely enough to make the attack independent of the time constant from the outside supply pins to the internal power mesh.</div><div class="gmail_extra"><br></div><div class="gmail_extra">All you need is a few millivolts of power droop to control this device in my simulations, based on guessed W/Ls and Vth mismatch.  For the time it takes for the feedback to compensate for slightly lower power rails, the DRNG will output a string of either 1's or 0's, depending on the Vth mismatches.</div><div class="gmail_extra"><br></div><div class="gmail_extra">At some point, it begins to correct for the change in power supply voltage.  At this point, you have to turn off the source of power drain (for example, multiplier or cache access loop).  The power rails then recover faster than the feedback loop in the DRNG, and the output will be the opposite of what it was before: either a string of 0's or 1's.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Attacks like this can be defended against with careful design.  I have no way to know if this happened or not.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Bill</div></div>