Carbon nanotubes are small and can be semiconducting, which makes lots of people excited about using them as a replacement for features etched in silicon. But there are two big problems: the reactions that produce them create a random mix of metallic and semiconducting nanotubes, and it’s really difficult to get them to go precisely where you need them to in order to properly wire up a processor.
Now, a joint IBM-academic team has used those difficulties to their advantage. They’ve developed a process in which nanotubes are used to randomly wire up part of a chip that’s then used to generate cryptographic information, providing an inherently secure on-chip facility for hardware-based encryption.
Most digital cryptography depends on the ability to generate a unique series of bits that acts as a key. Hardware-based cryptography generally relies on a key that’s permanently wired into the chip itself. While effective, different techniques for storing the keys have various vulnerabilities, from being subject to external snooping to producing different results when the environmental conditions are changed.
But in their work on carbon nanotubes, the authors of this paper found a way of making the very wiring of the chip inherently random. They found it’s possible to create conditions where, on average, about half the gates in an appropriately prepared area of the chip would be filled by carbon nanotubes.
The basic process involves using a detergent to coat the nanotubes, allowing them to dissolve in water. That detergent (SDS) is negatively charged in solution, and it will deliver the nanotubes to an area of the chip that’s patterned with a positively charged substrate. But if you give the silicon oxide nearby a negative charge, then the process becomes a complicated balance between attractive and repulsive charges that depends on the spacing of the various elements. By varying the spacing, it’s possible to fine-tune the number of locations that, on average, end up occupied by a nanotube.
It’s possible to set the conditions up so that, say, 60 percent of the gates end up occupied by a nanotube. But it’s impossible to tell in advance which ones will be occupied. The result is a collection of bits that are randomly conducting or non-conducting—a perfect seed for cryptographic keys.
However, it’s even better than that. Remember that only some of the nanotubes are metallic and conduct by default. By using a mix of metallic and semiconducting nanotubes, each of these bits could be in one of three possible states, increasing the density of the storage.
The authors built some 64-bit test hardware and showed that it’s able to consistently produce similar keys, suggesting that it isn’t affected by environmental noise. And over 99 percent of the time, two different keys generated with this hardware will have over half their bits different. They also use a test suite from the National Institute of Standards and Technology to confirm the quality of the random bits generated using the device.
What about snooping? Because this system comes down to the wiring of the hardware, the only way to tell what’s happening in it is to image the hardware. But doing so would end up destroying the wiring: “High-resolution imaging techniques such as electron microscope imaging cannot be used to analyse the bit information as the chip de-layering processes (to expose [the nanotubes]) involve harsh plasma etching.”
Since the whole process takes place at room temperature in an aqueous solution, it’s relatively easy to integrate it into existing chip manufacturing processes. While it’s way too early to know which direction this technology will ultimately go, it’s possible that this technology could provide a route for carbon nanotubes to begin invading the wiring of our electronics.
SOURCE: John Timmer | Ars Technica