Live data from Hacker News

OneRNG – Open Hardware Random Number Generator

onerng.info

71–80 of 89 posts

Re: OneRNG – Open Hardware Random Number Generator

#71
post #10

Earlier quoted context omitted.

The point is - you can verify it yourself . Without trusting anybody else. Dumping the firmware means you can ensure it's not been modified (presumably from when you uploaded it to the device yourself). Being able to inspect components means you can ensure it's still exactly as you built it. And if you haven't, you can visually check that it does what it says it does. If you're not technically competent to make this…

How do we verify the internal microcode and switch fabric of the TI CC2531? IMO it seems like simply trusting the large block diagram that says "USB PHY" is a very weak point in the design.

Still, a USB phy is required. How would you solve this problem? Would a FTDI USB chip be more palatable?

Re: OneRNG – Open Hardware Random Number Generator

#72
post #65

If the avalanche diode is the main/primary source of entropy why do we need the CC2531? The super paranoid part of me is worried about the 802.15.4 radio being used as a vector to taint the RNG. Shouldn't an HW RNG NOT have any secondary communication method built in? I am guessing you guys added that because that's the platform you're working with for your IOT project, but it just seems a little overkill to me. The…

Look, I hate to be a wet blanket here, but this device cannot contain a radio. I don't care how trustworthy everyone involved is or how closely we all look at it. "Shouldn't an HW RNG NOT have any secondary communication method built in?" Yes, that would indeed be a best practice. Seriously. A radio. And not just any radio, but a software programmable, general purpose 802.x radio with a published spec, etc.

Just throwing it out there... if the radio is a problem, I'd love for Paul and friends to replace both the radio and avalanche source with an "infinite noise multiplier", which I feel is more secure than either alone, but probably not as secure as these two very different sources together. However, that would delay things quite a bit. I'm hoping maybe version 2. Also, the wider community has zero experience with INMs, so it will take a while before such a source is generally accepted.

Also, this concern about the radio requires someone to 1) hack the TRNG, and 2) have a nearby receiver. At that point, they probably could more easily just PWN your system, and forget about the TRNG. Paul is doing some clever things to make it very hard to hack his firmware, but a keyboard logger is still easy for an attacker with physical access, as is any number of attacks.

Re: OneRNG – Open Hardware Random Number Generator

#73
post #58
post #10

Earlier quoted context omitted.

The point is - you can verify it yourself . Without trusting anybody else. Dumping the firmware means you can ensure it's not been modified (presumably from when you uploaded it to the device yourself). Being able to inspect components means you can ensure it's still exactly as you built it. And if you haven't, you can visually check that it does what it says it does. If you're not technically competent to make this…

None of the images show the other side of the board, but unless every trace is visible, it will be difficult to non-destructively inspect. If its only a 2 layer board then this just means scratching off the white silkscreen, which wouldn't be too bad. If its more than 2 layers, you would have to have access to an X-ray machine.

it's a two layer board - no buried wires or vias - by design there are very few wires on the bottom layer, none under the noise source (we want to contain the noise) - you can see all the wires without removing the solder mask just by holding it in the right light

we'll be publishing the layout files of course

Re: OneRNG – Open Hardware Random Number Generator

#74
post #49

Earlier quoted context omitted.

not yet, the actual RNG circuit is pretty standard - we'll put up the eagle files, along with the software sources, before we open the kickstarter

If it's faster, could you put up a .png of the schematic? Also, the CC2531 looks like a QFN. Does it come in any hand-solderable packages?

There's an almost current schematic on the "Theory of Operation" page:

http://moonbaseotago.com/onerng/theory.html

few (any?) chips that do 2.5GHz RF come in chips with traditional pins (too much inductance).

QFNs are completely hand solderable (with hot air, solder paste and a pair of tweezers)

Re: OneRNG – Open Hardware Random Number Generator

#75
post #23

Note: I'm Paul the designer Some background - this board is in late beta testing, we're going to kickstart it and release it (with papers scheduled at a couple of conferences) - it's hitting Hacker News a little early - but keep us in mind when we do finally release to the public - at the moment we haven't published the design - we'll be putting up both the firmware an hardware designs on GitHub when we think it's re…

Newb question - The tinfoil hat is to block RF interference but part of the RNG is a channel hopping RF receiver. Those seem contradictory to me.

Re: OneRNG – Open Hardware Random Number Generator

#76

Earlier quoted context omitted.

How do we verify the internal microcode and switch fabric of the TI CC2531? IMO it seems like simply trusting the large block diagram that says "USB PHY" is a very weak point in the design.

Still, a USB phy is required. How would you solve this problem? Would a FTDI USB chip be more palatable?

Who knows. Perhaps a Verilog implementation on an FPGA? Discrete gates and GPIOs galore?

Sarcasm and FTDI chips aside, I'm hoping the point was clear. Guess it wasn't.

Using USB as the physical transport from dongle to CPU just introduces more black boxes in a system where everyone was bragging about no black boxes. But since we're past the age of parallel ports and discrete GPIOs on these machines, there doesn't seem to be an easy answer.

Re: OneRNG – Open Hardware Random Number Generator

#77
post #23

Note: I'm Paul the designer Some background - this board is in late beta testing, we're going to kickstart it and release it (with papers scheduled at a couple of conferences) - it's hitting Hacker News a little early - but keep us in mind when we do finally release to the public - at the moment we haven't published the design - we'll be putting up both the firmware an hardware designs on GitHub when we think it's re…

Newb question - The tinfoil hat is to block RF interference but part of the RNG is a channel hopping RF receiver. Those seem contradictory to me.

if you look closely at the pictures of the board

http://onerng.info/img/BoardAndTinfoilHat-800.png

there's a folded dipole under the copyright message sticking out from under the shield

The goal is to keep the internally generated noise inside, and to not couple into the antenna (where we're sampling external noise)

Re: OneRNG – Open Hardware Random Number Generator

#78
Back about 25 years ago I wanted to build a PC card to generate better random numbers. The idea I had at the time was to build in a set of four or five FM/AM radio receivers into this card and have them hop ratio stations constantly at, well, random intervals. Then I'd use the digitized audio signals in some combination to feed a random number generator. I thought it was a good idea at the time. Well, I didn't have enough experience yet to know just how much I didn't know. Never built it.

Re: OneRNG – Open Hardware Random Number Generator

#79
post #56

A question for the designers (Paul?) about verifiability. In the software world you can effectively choose from 2 levels of review. You can (1) review the source code of a project and convince yourself it's fine. Or (2) you can assume/hope that experts have done that, download the software, and just verify you have an identical copy of what everyone else is reviewing. (Ideally using signatures of the authors and revi…

You run your "verified" software on hardware, right? How do you know the hardware is verified?

we publish the hardware design - in reality we have to run it on someone's chip, we've picked one that includes among other things AES, we just don't use that stuff, at some point we have to trust the CPU, and we use a CRC32 engine for minor whitening and stirring of our internal entropy pool - but crc32 is easy to verify (while AES is not)

more importantly we've chosen a platform that we think is unlikely to have already subverted by 3 letter agencies

Post reply on HN