9

With the current IoT trend, there are plenty of scenarios that make use of a low-profile, low-power, connected computing device, the best known being the Raspberry Pi. What about security?

Suppose I have a device in an environment that isn't physically secure, but I need to store some confidential data on it. The data volume is too large for a smartcard. What hardware platform would offer some tamper resistance?

The requirements:

  • Computing power of the same order of magnitude as a Raspberry Pi
  • at least 512 MB of RAM
  • USB or Ethernet connectivity
  • Tamper-resistant key storage and secure boot

I'm looking at a fairly low point on the security/cost price point. Let's say less than $100 — not an HSM. But it should offer some security against a casual attacker. With a Raspberry Pi, it's trivial to pull out the SD card and extract the data at one's leisure.

Is there a similar board at this price point where dumping the requires at least unsoldering the RAM or the flash memory? What about a higher level of security — what's the cheapest device that would require probing inside the package? (Assume no software vulnerability.)

Note that combining an unsecure device with a smartcard does not meet the security requirements, since the card has no way to know whether it's unlocking the legitimate device or the attacker's.

This is for a one-off use, not a mass production run.

  • Could connect a (2nd) micro SD card to the pi, connect it's wires to the Pi's SPI interface and store any sensitive stuff there, then once it's there use some epoxy such that removing it would be a pain and more than likely to destroy the entire system - still won't help from someone accessing it via software after re-programming the pi (this is assuming you want to be able to re-program the Pi and pull out it's SD card - if not, just glue all over that instead) - it might push your budget a bit but an electronics potting compound would work best, but any non-conductive epoxy would also work – user2813274 Oct 25 '15 at 23:16
1

One important question you need to ask yourself is if you need industrial build quality and long term hardware support, or a research/prototype platform.

If you need an industrial PC, I don't have any <100 dollar options for you, but you might spend 100-200 dollars on a Compulab product. I have pretty good experiences with them, the hardware design seems good and support works as well.

Considering you mentioned RasPi, you might want to get an Odroid XU4, which not only gives you best bang for a buck, but also enables to use a (questionably) more secure eMMC storage that is attached right on the board.

But after all, any computer is not secure unless you either encrypt your data or make a case that you attach to something and lock.

| improve this answer | |
  • I'm not familiar with Compulab. What kind of products do they make and what kind of threats do they protect against? How is the Odroid eMMC more secure: is it just that it isn't removable and so requires hardware tools? (Or to put it another way: how do you unbrick an Odroid flashed with an OS that won't boot?) Regarding encryption: that's a given, the problem is storing the encryption key securely. – Gilles 'SO- stop being evil' Oct 21 '15 at 13:13
  • Compulab makes embedded computers that are more targeted for industrial use instead of educational/hobby like RasPi. You can still easily remove an eMMC but it does not stick out of the case like an SD card. – lahjaton_j Oct 22 '15 at 6:40
-1

Intel Galileo Gen 2 costs ~$80, has Ethernet and USB, runs Yocto Linux (or Debian) and has 8MB Flash memory and 8kb EEPROM memory built in, where you can store your encrypted data. It is not bullet-proof, but still more secure than Raspberry Pi.

| improve this answer | |
  • What kind of resistance against physical attacks does it have? In other words, if I have physical access and I want to dump the flash content in cleartext, what do I need to do? – Gilles 'SO- stop being evil' Feb 8 '16 at 8:46
  • When you have physical access, you can dump almost any data, even from a smart card. The point is that it is harder than pulling out the SD card and you should encrypt the data in Flash. – niutech Feb 8 '16 at 14:09
  • 1
    No, that's not true. Extracting the private data from a (reasonably modern and of decent quality) smartcard requires expensive equipment (barring software bugs of course). The link you give is to an application that extracts the public data — by sending a command to the card that means “give me the data that you've been programmed to return to anyone who asks”. I'm interested in systems where, if the installed OS is programmed to keep some data private, then it takes a nontrivial hardware attack to extract the data. – Gilles 'SO- stop being evil' Feb 8 '16 at 15:03
  • 1
    Also, regarding encryption, there's a chicken-and-egg problem: fine, encrypt, but where do you store the key? Encryption is pointless if the key is stored next to the encrypted data. The minimum that's necessary for a secure device is a protected place to store a key, plus a form of secure boot (so that the OS can't just be replaced by one that dumps out all the data). Encryption isn't actually necessary, but on some real-world devices it's used because the physically-protected memory is tiny, and cryptography extends this protection to non-physically-protected storage. – Gilles 'SO- stop being evil' Feb 8 '16 at 15:06

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.