The OpenBSD founder was scathing when asked whether his project would be doing what FreeBSD has announced: that it will reduce the role of random number generators which are built into processors from Intel and Via, over suspicions that these methods may have been compromised by the National Security Agency.
"FreeBSD has caught up to what OpenBSD has been doing for over 10 years," De Raadt (pictured above) told iTWire. "I see nothing new in their changes.
"You are not the only person who asked if we will now do something in the same direction as FreeBSD. We can't follow them - we were already leading in 2003.
In its announcement about adding more sources of entropy, and not depending on the chip-based random number generators, the FreeBSD project has made direct reference to the revelations by former NSA contractor Edward Snowden that many hardware vendors have allowed the US National Security Agency to insert backdoors in their products.
Random number generators, as the name indicates, feed random numbers into the /dev/random engine on UNIX-based operating systems. These numbers are used to create cryptographic keys.
De Raadt said OpenBSD's support for the Intel CPU rdrand instruction was added in 2012. "Our support for the Intel CPU rdrand instruction was added in this commit:
date: 2012/09/19 20:19:31; author: jsg; state: Exp; lines: +24 -1; Add support for the rdrand instruction found in recent Intel processors. Joint work with [email protected] ok [email protected] [email protected]"
He said this code added entropy into the bottom of the randomisation subsystem, such as timings between packets or disk IOs or mouse movements.
"Essentially, we don't consider Intel RNG data any better or worse in any way, since our random subsystem is engineered *very specifically* to smooth input data into output strong-random data, safely. It follows best practices in papers by (senior Linux developer) Ted Ts'o and many others in the crypto industry."
De Raadt pointed out that "jsg" was Jonathan Gray, a developer who lives in Melbourne. "I believe this code from Jonathan slightly pre-dates hardware being available, he simply added support based on a pre-release datasheet, since the feature is fairly easy to support," he added.
"When the Intel RNG code above was added, it was simply following a pattern already established. Our first per-CPU randomisation support was for the VIA C3 cpus, which added a proprietary instruction almost a decade ahead of Intel. Here is the commit for that support:
date: 2003/03/14 22:05:43; author: deraadt; state: Exp; lines: +108 -1; branches: 1.222.2; Support for the VIA C3 Nehemiah on-cpu random number generator. This chip will be shipping soon (we have nice prototypes). Written by toby."
He said this code was added in 2003. "Like I say, it was using the same method of passing entropy into the bottom of the smoothing subsystem. We don't consider it better than mouse movements. Linux is also using an un-biasable method like us."
"Now we all discover that FreeBSD has been doing it wrong. It's not as if they operate in a closed source world, and couldn't have looked at what others did. They must have chosen a few years ago to do this wrong, intentionally.
"Perhaps that decision was made by their Californian developers, the ones who work fairly close to that NSA building.
"And now we see rah-rah articles apparently praising them for this departure from a poor method, almost as if that is innovation."
De Raadt pointed to a presentation he made recently in Russia. "It's basically a status report now that our security mitigation work is finished. It took us 10 years to completely satisfy the wish list which I spoke about in 2004, when I met you. And towards the end of these slides, it will be quite clear who is the laggard."