Security in Low-Power Flash Devices
v1.1
15- 5
CoreMP7 Device Security
ARM7 (M7-enabled) devices are shipped with the following security features:
FPGA array enabled for AES-encrypted programming and verification
FlashROM enabled for plaintext Read and Write
Cortex-M1 Device Security
Cortex-M1–enabled devices are shipped with the following security features:
FPGA array enabled for AES-encrypted programming and verification
FlashROM enabled for AES-encrypted Write and Verify
Fusion Embedded Flash Memory enabled for AES-encrypted Write
AES Encryption of Programming Files
Low-power flash devices employ AES as part of the security mechanism that prevents invasive and
noninvasive attacks. The mechanism entails encrypting the programming file with AES encryption
and then passing the programming file through the AES decryption core, which is embedded in the
device. The file is decrypted there, and the device is successfully programmed. The AES master key
is stored in on-chip nonvolatile memory (flash). The AES master key can be preloaded into parts in
a secure programming environment (such as the Actel In-House Programming center), and then
"blank" parts can be shipped to an untrusted programming or manufacturing center for final
personalization with an AES-encrypted bitstream. Late-stage product changes or personalization
can be implemented easily and securely by simply sending a STAPL file with AES-encrypted data.
Secure remote field updates over public networks (such as the Internet) are possible by sending and
programming a STAPL file with AES-encrypted data.
The AES key protects the programming data for file transfer into the device, with 128-bit AES
encryption. If AES encryption is used, the AES key is stored or preprogrammed into the device. To
program, you must use an AES-encrypted file, and the encryption used on the file must match the
encryption key already in the device.
The AES key is protected by a FlashLock security Pass Key that is also implemented in each device.
The AES key is always protected by the FlashLock Key, and the AES-encrypted file does NOT contain
the FlashLock Key. This FlashLock Pass Key technology is exclusive to the Actel flash-based device
families. FlashLock Pass Key technology can also be implemented without the AES encryption
option, providing a choice of different security levels.
In essence, security features can be categorized into the following three options:
AES encryption with FlashLock Pass Key protection
FlashLock protection only (no AES encryption)
No protection
Each of the above options is explained in more detail in the following sections with application
examples and software implementation options.
Advanced Encryption Standard
The 128-bit AES standard (FIPS-192) block cipher is the NIST (National Institute of Standards and
Technology) replacement for DES (Data Encryption Standard FIPS46-2). AES has been designed to
protect sensitive government information well into the 21st century. It replaces the aging DES,
which NIST adopted in 1977 as a Federal Information Processing Standard used by federal agencies
to protect sensitive, unclassified information. The 128-bit AES standard has 3.4 × 1038 possible
128-bit key variants, and it has been estimated that it would take 1,000 trillion years to crack
128-bit AES cipher text using exhaustive techniques. Keys are stored (securely) in low-power flash
devices in nonvolatile flash memory. All programming files sent to the device can be authenticated
by the part prior to programming to ensure that bad programming data is not loaded into the part
that may possibly damage it. All programming verification is performed on-chip, ensuring that the
contents of low-power flash devices remain secure.
Actel has implemented the 128-bit AES (Rijndael) algorithm in low-power flash devices. With this
key size, there are approximately 3.4 × 1038 possible 128-bit keys. DES has a 56-bit key size, which
provides approximately 7.2 × 1016 possible keys. In their AES fact sheet, the National Institute of