feature article
Subscribe Now

You Got It

They Want It

Security is an arms race. The good guys come up with new ways to hide data and the bad guys eventually find ways to break in anyway. You update your security; they update their attacks. In true arms race fashion, both sides spend a lot of time and energy to stay right where they are. 

And, like a grimmer sort of arms race, civilians can wind up among the casualties. In our case, engineers are learning that they need to include security features in their products whether they like it or not. Seemingly innocuous products like vending machines, home appliances, and handheld gizmos now often need security features because somebody might hack the device and make something unpleasant happen. As we design and sell more of these gizmos, their security becomes more of an issue. 

So how do you bake in security when you’re not a security expert? Security is useful only if it’s done by experts; amateurs have no place here. Make-believe or recreational security measures are no security at all. The whole point is to thwart people who’ll probably spend more time hacking your security measures than you’ll spend putting them in. So it’s got to be good.

The key, so to speak, is to hire an expert. Or at least, to rent expert security IP and bake that into your chip, board, or box. And one good place to look for such expertise is… Holland.

Think of The Netherlands and you think tulips, chocolate, windmills, dikes, and Philips. It’s this last one that’s most relevant to today’s conversation. Philips Electronics has a habit of spinning off little companies, and among the recent diaspora is Intrinsic-ID, a little 15-person company that specializes in embedded security. Their knowledge can help you keep your knowledge to yourself.

Intrinsic-ID operates as a software and IP-licensing company. That is, they’ll sell you software or they’ll license their hardware IP—your choice. Either way, Intrinsic-ID’s security measures use flaky hardware to your advantage.

Basically, Intrinsic-ID uses the randomness of SRAM cells to generate random numbers, and from these, strong encryption keys. Anyone can make up a password, but guessing that password is almost as easy. To get a truly strong password, you need a random-number generator (RNG), and this is harder to achieve than it sounds. Most digital circuits are designed specifically not to exhibit random behavior. That’s called a bug. Even chips that have an RNG are usually really only pseudo-random, meaning they produce a specific string of numbers that only appears random to the casual observer. As deterministic digital circuits, their output isn’t truly random, and that makes them hackable.

Turning to the analog realm helps. Some chips use ring oscillators or other scary non-digital circuits to seed their RNGs, but even these have their weaknesses. Intrinsic-ID takes another route. Its hardware is entirely digital but relies on the randomness of uninitialized SRAM cells. Virgin SRAM is random in the best sense: it powers up with entirely random data that can’t be predicted and doesn’t follow any preset pattern. By tapping this handy resource, Intrinsic-ID is able to randomize key generation in a handy, convenient, and secure way.

If you’re designing at the chip level, you can include Intrinsic-ID’s hardware macro, which generates millions of random bits per second. Siphon off whatever bits you want, generate a key, and off you go. The circuitry is tiny, using only about 6000 gates of logic and 2KB of SRAM. It’s all digital, so you can synthesize it with any tool you want and fabricate it in any process.

Conversely, there’s also an all-software version that works on just about any existing hardware you’ve got. All it needs is a microcontroller or microprocessor and about 2KB of SRAM—pretty modest requirements by any measure. As before, the software uses uninitialized SRAM calls to generate a random bit stream, which can then be used to seed the encryption algorithm. The only requirement is that the SRAM be uninitialized, so it’s important that your boot firmware not scrub the SRAM until after Intrinsic-ID’s software has done its job. 

The SRAM doesn’t even have to be dedicated to RNG. You can have it back once the key generation is done. After that it can be used normally, although once it’s been used it’s no good for randomization until the power has been cycled again.   

In the simplest case, you can even use off-chip SRAM, although that kind of defeats the purpose. Any off-chip bus transactions could be easily probed, making key generation easily traceable. But just about any microcontroller or FPGA with on-chip SRAM should fit the bill.

Intrinsic-ID isn’t the only company to use semiconductor physics to its advantage. Cryptography Research in San Francisco does something roughly similar. Instead of SRAM cells, CR uses an “entropic array” of spaghetti logic that behaves differently for each chip. The California company also specializes in thwarting power-analysis break-ins, where dedicated hackers analyze minute differences in a chip’s power consumption as it encrypts or decrypts data, thereby gaining insight into the encryption algorithm. Power analysis is tremendously subtle, but not beyond the abilities of well-funded hackers.

Intrinsic-ID doesn’t address power-analysis attacks. It appeals more to engineers looking to add security to their low-cost systems. Its software-only option is especially appealing for systems already in the field. With just a couple of Kbytes of SRAM and a few changes to boot-up firmware, you can be generating random numbers and strong keys in no time. The effort is asymmetrical: it’s just a little work for you but a lot of work for hackers attempting to break into your system. And that’s really the whole point. Make the attempt not worth the effort, and you’ve succeeded in thwarting the bad guys. Once again, the arms race is moving in your favor. 

Leave a Reply

featured blogs
Jul 3, 2020
[From the last episode: We looked at CNNs for vision as well as other neural networks for other applications.] We'€™re going to take a quick detour into math today. For those of you that have done advanced math, this may be a review, or it might even seem to be talking down...
Jul 2, 2020
Using the bitwise operators in general -- and employing them to perform masking, bit testing, and bit setting/clearing operations in particular -- can be extremely efficacious....
Jul 2, 2020
In June, we continued to upgrade several key pieces of content across the website, including more interactive product explorers on several pages and a homepage refresh. We also made a significant update to our product pages which allows logged-in users to see customer-specifi...

featured video

Product Update: What’s Hot in DesignWare® IP for PCIe® 5.0

Sponsored by Synopsys

Get the latest update on Synopsys' DesignWare Controller and PHY IP for PCIe 5.0 and how the low-latency, compact, power-efficient, and silicon-proven solution can enable your SoCs while reducing risk.

Click here for more information about DesignWare IP Solutions for PCI Express

Featured Paper

Cryptography: A Closer Look at the Algorithms

Sponsored by Maxim Integrated

Get more details about how cryptographic algorithms are implemented and how an asymmetric key algorithm can be used to exchange a shared private key.

Click here to download the whitepaper

Featured Chalk Talk

Fuses in Automotive Applications

Sponsored by Mouser Electronics and Littelfuse

Automotive applications put a high demand on fuses. With the increasing electrical content in modern vehicles, correct fuse specification is a critical item for safety, and standards have been slow to catch up with demands. In this episode of Chalk Talk, Amelia Dalton chats with Saad Lambaz from Littelfuse to discuss the evolution of standards for fuses in automotive use, and how to do about choosing fuses in your next design.

Click here for more information about Littelfuse Automotive & Industrial Standard Fuses