Implementing Robust Information Security for Every Connected Device
by Warren Miller, Mouser Electronics
Featured Products
Featured Suppliers
Related Resources
We hear about security breaches at big retailers and banking institutions just about every day. Looking in the
near future, we can only expect these breaches to happen even more frequently as hackers use more sophisticated
tools and the value of the information they can extract continues to grow. And attacks against embedded systems
are also growing dramatically. In fact, the U.S. government recently asked critical infrastructure firms, one of the
largest users
of connected embedded systems, to check if their networks were infected by malicious software from the
"Energetic Bear" hacking group. The Department
of Homeland Security's Industrial Control Systems Cyber Emergency Response Team issued the request
around concerns that the nation's power grid could be at risk.
Attacks that target critical infrastructure or the secure data of millions of customers are scary, but bringing
it down to a more personal level, there are major concerns about the ease of which hackers can access data from
the embedded systems in homes, cars, and the hundreds of embedded devices that the general population interacts
with on a daily basis. An individual's smart home, for example, might know when to expect its owner home, but is
the homeowner safe if anyone has access to that information? If an individual wears an activity tracker that connects to the
cloud, what are the security ramifications if just anyone
can access details about the location of the wearer, whether he or she is sleeping, and what he or she had for
lunch? Who knows what seemingly innocent data might be used for if it can be combined, compared, and data-mined
from other sources?
Device Security
As systems designers, what can we do to improve the security
of personal information and what features should we expect embedded system building blocks like MCUs and FPGAs to provide? Perhaps considering a few ideas from Big Data information security
initiatives is a good first step. The Big Data security mantra maintains that robust security must be layered so
a single point of failure doesn't give attackers (or data miners) an easy way to access important data. So the
question arises: How can layered security be implemented in an embedded device?
Figure 1: Device level security drives information security in
connected devices (Source: iStock #52639560)
Perhaps the most obvious security functions required in an MCU or FPGA are support for common cryptographic standards for encrypting and decrypting sensitive data. Additionally,
secure password protection is critical so that passwords can't be accessed via network attacks or physical
tampering. Some of the most advanced password protection techniques use the nanoscale differences in the
integrated circuit manufacturing process to create unique device passwords that never leave the device and are
never visible to outside attacks. One example of such a physically unclonable function, or PUF, relies on the
slight differences in SRAM initialization values during a power up cycle to create a truly device-unique and
random password.
In order to provide another layer of security to a device, it can be necessary to disable some of the functions
used to access on-chip data. For example, if the MCU code can be easily accessed via a debugging or test port,
device security could be easily compromised. MCUs and FPGAs need to provide protection - perhaps via special
locks or passwords - so that unauthorized users cannot access data via these ports. At a minimum, these ports
should be able to be completely 'turned off' so that they don't provide a potential attack vector.
Another opportunity for layered security relates to the data stored on-chip. Many MCUs and FPGAs can provide
restricted access to on-chip data. Security-related code, for example, could be stored in an execute-only memory
bank that can't be easily accessed by other on-chip processes. Common attack methods on embedded devices count
on programming errors that generate "wild" pointers to access otherwise inaccessible data. However, hardware protection
of critical data can restrict such access attempts and flag the error as a potential tampering event, so
the system can apply appropriate penalties.
Often an embedded device can be reprogrammed remotely, a useful capability for fixing bugs and adding features.
Unfortunately, if this facility isn't protected, an attacker could insert their own malicious code and hijack
confidential data as it flows through the system. Additional security layers need to be provided when remote
updates and bug fixes are supported by the embedded device or security functions could be easily compromised.
Conclusion
The above examples are just a few of the issues that need to be addressed by MCUs and FPGAs as their use in
connected embedded systems continues to expand over the next few years. Systems designers should expect devices
that provide for multiple layers of security at the device level to be growing players in the rollout of
connected devices
in the near-term.
Warren Miller has more than 30
years of experience in electronics and has held a variety of positions in engineering, applications, strategic
marketing, and product planning with large electronics companies like Advanced Micro Devices, Actel, and Avnet,
as well as with a variety of smaller startups. He has in-depth experience of programmable devices (PLDs, FPGAs,
MCUs, and ASICs) in industrial, networking, and consumer applications and holds several device patents.