6
\$\begingroup\$

Project

The system is effectively a sensor network that connects to a star topology routing network. The Identities of each node's identity must be kept secret from all listeners as the range of the RF transmission and relay may be on the order of tens of miles. Each sensor node has its own Identification number, as required by laws pertaining to our systems target deployment.

This means that if someone is able to read the identifier on the node then the security has not value, so a side channel attack on our implementation is a waste of time, unless they can implement it from a long distance, but I do not believe our SPI will radiate that well when sandwiched between a power and ground layer.

Security Options

This question is asking for solutions to using AES-128. I will explain what I found in an answer that I was lead to directly by Joby Taffey. Thank you Joby. I was looking for off-chip low cost solutions that could speed up our system greatly, it ends up i missed something from my chip supplier.

\$\endgroup\$
6
\$\begingroup\$

Having a separate encryption co-processor could be risky. Anyone with a Bus Pirate or logic analyser and physical access can sniff the bus and pluck out the plaintext data.

You can mitigate the risk a bit with BGAs and/or epoxy, but the best solution is likely to be a SoC which combines MCU with AES.

One approach might be to use a SoC ZigBee chip and ignore the radio part, eg. CC2430, or EM250.

Or, you could go with a Stellaris Cortex-M3 (some have AES tables in ROM)

Or, do it in software. I've used Brian Gladman's code before in projects.

\$\endgroup\$
  • \$\begingroup\$ agreed and would add that having a separate IC and having to do SPI transfers (which are power hungry in themselves) is quite possibly not a power win over doing the encryption on the MSP430, assuming its fast enough to keep up with your data rate. If its not, as others said, reconsider your platform choice. I realize your going for very low power but if you need that level of encryption and only need a MSP430 for other operations then encryption needs to be a very high priority in your power budget. \$\endgroup\$ – Mark Jun 18 '10 at 23:25
  • \$\begingroup\$ Physical security is always a big issue. I have been very impressed at what extent TPMs designers go to prevent people from figuring out what goes on inside. However, for many projects it can be assumed that if you have physical access, you can get anything you want. If you are just wanting to encrypt communications (wireless, internet, etc) then I could see a separate chip being ok. \$\endgroup\$ – Kellenjb Jun 19 '10 at 18:07
  • \$\begingroup\$ Joby, your information is both astute and valuable, but our application is very specific, and if they can get within about 10 yards of our device the encryption has no value. Our RF signals travel miles, so they must be secure. I will add information to the question. \$\endgroup\$ – Kortuk Jun 20 '10 at 3:26
3
\$\begingroup\$

As said before, off-chip is risky as its very hard to control the keys and other important information.

There are microcontrollers which contain AES accelerators or function tables. The AVR XMEGA has an engine which can do AES fairly quickly (its not super security hardened though, including known power attacks). The aforementioned Stellaris controllers have the large tables in ROM which saves quite a bit of storage space.

\$\endgroup\$
  • \$\begingroup\$ If you can give me links to articles about the known attacks it would be valuable. \$\endgroup\$ – Kortuk Jun 20 '10 at 3:27
  • \$\begingroup\$ As a side note, tables in ROM can be done by almost any micro, unless you mean it has a seperate addressable section of the tables. If you have room in rom you can load a table of constants. \$\endgroup\$ – Kortuk Jun 21 '10 at 16:33
  • \$\begingroup\$ embedded.com/design/224900352 is an article on power attacks against FPGAs. Not specific for the listed AVR though, still a good read if you don't know how power attacks work. \$\endgroup\$ – pfyon Jun 22 '10 at 0:26
3
\$\begingroup\$

Joby pointed me to the CC2430 as a device that can do AES. I went to TIs site intrigued by this and did some research. TI also makes our transceiver for our frequency bands(CC1100) and the new CC1100 merged with an MSP430 for a SoC now has AES-128 built in.

This saves us board space and was a planned change already, but this results in full support for AES-128 automatically. Completely internal encryption and decryption, which for our chip without Multiply or divide hardware took more than 10mS to complete on its own.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.