Ellipsys Trust Framework for ADI Blackfin Lockbox Devices

Ellipsys Trust Framework™ for ADI Lockbox
Introduction to the Ellipsys™ Trust Framework1 for ADI Blackfin®
Lockbox™ Devices
Mike Borza – CTO Elliptic Technologies Inc.
This article introduces Standard Edition of the
Lockbox implementation of the Ellipsys Trust
Framework™ (ETF™), a set of development and
manufacturing tools for creating trusted
execution environments.
A previous article
introduced the general concepts and features of
the Ellipsys Trust Framework – interested
readers can refer to that article for more
information2. A trusted execution environment
is one means to help achieve trustworthiness in
embedded devices. In this context, trustworthiness is a statement that the device is in a state
and
behaves
as
programmed
by
its
manufacturer.
Overview
This article discusses some uses of the Ellipsys
Trust Framework™ (ETF™) with Analog Devices
Blackfin Processors incorporating Lockbox Secure
Technology. ETF allows OEMs to maintain control
of products over their entire life-cycle, including:
•
securing out-sourced manufacturing against
unauthorized production runs, legitimate
product stolen from inventory, and other
abuses in the manufacturing flow
•
securing products against reverse engineering and cloning
•
securing the execution environment against
Creating trust and trustworthiness in devices
unauthorized programs
begins early in the design process and figures in
aspects of manufacturing, service and mainten- • the ability to permanently disable products at
end of life
ance processes through their entire lifetime,
even up to their eventual end of life. Many Ellipsys Trust Framework for Lockbox makes it
devices store and process credit card and easy for OEMs to take advantage of the security
banking information, health records, service features built into Blackfin Processors that
subscriptions and similar data on behalf of their incorporate Lockbox security features.
owners that must be protected to prevent their
misuse against their rightful owners. And of
course producers of music, movies, TV programs and all other kinds of intellectual property are
often interested in preserving the value of their work by protecting it from widespread free
distribution while allowing their authorized users easy access to content.
The Ellipsys Trust Framework™ (ETF™) addresses these problems and more through a proven,
flexible set of products that work together to enable trust in the manufacturing, distribution and
operation of electronic products. Three principle products form the core of the Framework.
Ellipsys-SB for Lockbox is a secure bootstrap subsystem for processor-based devices that
provides cryptographic protection and authentication of code installed and running on those
devices. The Ellipsys-CA for Lockbox product provides manufacturing support for code signing,
services provisioning and secure installation of cryptographic keys and unique device identities in
the manufacturing flow. For applications that require carefully controlled access to in stalled keys,
identities and cryptographic operations, Ellipsys-VSM for Lockbox is an optional product that
provides a software-friendly virtual security module – essentially a software smartcard – that
1
2
Ellipsys, Ellipsys Trust Framework and ETF are trademarks of Elliptic Technologies Inc. Blackfin and Lockbox are
trademarks of Analog Devices Inc.
The whitepaper Manufacturing Trust: Enabling Embedded Device Trustworthiness Using the Ellipsys Trust Framework is
available on the Elliptic Technologies website at http://www.elliptictech.com/middleware_trust.php.
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
1
Ellipsys Trust Framework™ for ADI Lockbox
allows the embedding and binding of a virtually unlimited number
of keys in embedded system environments. Used together as
part of a manufacturing flow and system design, ETF enables a
vast array of protections of the system and its users, including:
•
•
Creation of trusted software execution environments that
trace their origin to authorized sources.
OEMs are
afforded great flexibility in their ability to authorize third
party providers, separate and distinguish classes of
systems or providers to manage different product flows
built on the same infrastructures, for example to provide
or enable different features in products built on the same
platform according manufacturer-specified criteria. Full
secure update functionality is supported, allowing software
upgrades and bug fixes to be distributed via both
networked and off-line distribution channels.
Creation of devices that contain unique, unforgeable
identities and cryptographic keys that are permanently
bound to the individual devices they are installed in.
Manufacturing tools and techniques are provided to allow
the secure installation of these data even using untrusted
outsource manufacturing flows that are so common these
days.
Glossary
ASIC – Application-specific inte­
grated circuit
CA – Certification authority
ECC – Elliptic curve cryptography
ETF™ – Ellipsys Trust Frame­
work™
IP – Intellectual property
OTP – One-time programmable
memory
PKI – Public key infrastructure
ROM – Read-only memory
SoC – System-on-chip
VPN – Virtual private network
VSM – Virtual security module
•
Tamper-proof firmware installations that prevent the system from booting if unauthorized
changes are made to the protected software environment.
•
IP protection that uses encrypted firmware to protect against dis-assembly of valuable
intellectual property in the form of algorithms and data represented in Flash memory
images in code.
The Enhanced Edition of ETF for Lockbox extends these capabilities by adding features for:
•
Anti-cloning and loss-prevention in manufacturing to protect against unauthorized
production of devices or the use of devices taken off the manufacturing floor or from
inventory without authorization.
•
Application support for services and users' identities, cryptographic keys and data that is
bound to the platform using tamper-proof operating system facilities. Both credentials
within the manufacturer's provisioning infrastructure and created in third party or public
infrastructures are supported.
•
Anticounterfeiting that provides mutual cryptographic authentication of cooperating
subsystems in larger system or network to prevent participation of or disruption caused by
counterfeit or unauthorized devices in the system.
The remainder of this paper provides an overview of the Ellipsys Trust Framework components and
examples of how those work together in actual systems.
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
2
Ellipsys Trust Framework™ for ADI Lockbox
Figure 1: Trusted execution environment with optional simple IP protection in
Lockbox devices. Authentication and decryption keys are stored in on-chip
OTP memory, while application code is stored in inexpensive unprotected
Flash memory. Code executes out of internal memory during operation.
Trusted execution environment
The most basic application for Ellipsys Trust Framework is establishment of a trusted execution
environment. This guarantees that the application executing on the Blackfin processor is the same
one supplied by the OEM and that it has not been tampered with or otherwise compromised after
release and installation in a Blackfin system. As part of the firmware release engineering process,
the application code is signed and bound together with the Ellipsys-SB secure bootstrap code. At
each restart of the processor, the code is cryptographically authenticated using the Lockbox
authentication process, discussed further below. Ellipsys-SB authenticates and loads the main
application environment and any extra components (e.g. optional features or 3 rd party
applications) installed. The use of Ellipsys-SB allows the applications environment to be as large
as the physical memory supported by the Blackfin processor, independent of the size of internal
RAM working memories. Following successful authentication, control is transferred to the entry
point of the OEM application environment. Devices that fail to authenticate correctly can be
configured by the OEM to terminate execution in an error state, or to attempt to boot an
authenticated backup application. Access to these features is almost completely transparent to
OEMs and the OEM application environment.
Protecting embedded intellectual property
OEMs that use Blackfin processors often have significant investments in intellectual property in the
form of firmware algorithms, either directly or through the use of licensed 3 rd party libraries.
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
3
Ellipsys Trust Framework™ for ADI Lockbox
Blackfin processors with Lockbox provide the means to protect these proprietary algorithms by
encrypting the firmware installed on the system. Elliptic's Lockbox implementation of ETF allows
OEMs to apply the optional code encryption features of Lockbox using keys embedded during
manufacturing and accessible only during bootstrap.
This case is typical of many small embedded systems in which encrypted firmware is installed in
an unprotected Flash memory. This makes it inexpensive to manufacture and uses high volume
production techniques and the option to have Flash memories programming done by either the
memory supplier or the contract assembler during board manufacturing. Encryption keys used to
decrypt the firmware are programmed to secure OTP memory in the Blackfin during
manufacturing. The Enhanced Edition of ETF for Lockbox provides an option to split programming
of the keys among several stages of manufacturing, which means that the entire key is never in
the possession of any one person or company outside of the OEM. This provides an extra level of
protection since the key is stored inside Lockbox and the entire key used to protect the OEM's IP is
never assembled all in one place in a way that is accessible to anyone who might wish to use it to
examine or copy the OEM's code. This feature is important in IP protection applications – if just
one copy of the software decryption key is cracked, all of the OEM's IP protected by that key
becomes known.
Ellipsys-CA provides the necessary code signing, system image formatting and encryption
capabilities to produce code images for these products. The firmware encryption keys are stored
internally in Ellipsys-CA, providing a secure repository for the all-important keys that protect the
OEM's IP. Extensions to the basic product provide protection against manufacturing over-builds
from being distributed as genuine, authorized product, as well as protection from firmware cloning
and installation in knock-off system designs.
Ellipsys Trust Framework system components
The Ellipsys Trust Framework provides the capability to bootstrap embedded devices from an
untrusted state into a trusted software environment, to authenticate software updates and thirdparty software, and to distinguish among products built by different OEMs on top of ETF
components. The ETF includes manufacturing infrastructure tools that OEMs can use to meet the
needs of high volume globalized manufacturing and distribution operations in terms of:
•
Distributed applications development operations including in-house, supply-chain and
independent third party developers.
•
Support for development of multiple products and product lines using a common suite of
manufacturing infrastructure tools.
•
High speed/high volume manufacturing support for key and identity credential injection in
embedded devices that can be deployed on the manufacturing line or remotely via secure
virtual private network.
•
Direct support for distributed manufacturing that allows operation of multiple parallel key
and credential injection systems while maintaining full traceability and accountability of
authorizations.
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
4
Ellipsys Trust Framework™ for ADI Lockbox
Figure 2: Typical complete ETF implementation.
A basic system built on the Ellipsys Trust Framework is shown in Figure 2. The heart of the
framework is the Ellipsys-SB Secure Bootstrap system. This is a firmware component installed on
the embedded device that takes control of the system at every reset. Ellipsys-SB performs system
initialization, functional validation checks, and finally cryptographic authentication and integrity
tests of the main system firmware images, which are typically an embedded operating system or
application environment for the platform.
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
5
Ellipsys Trust Framework™ for ADI Lockbox
Cryptographic signatures and identity credentials are crucial to the validation of firmware in
Ellipsys-SB operation. Likewise, the same needs often exist in the applications environment
loaded by Ellipsys-SB. Ellipsys-CA is a secure workstation based application designed to meet
these needs in both manufacturing environments and beyond to encompass the operation of
services, networks and integrated higher-level systems. At its most basic level Ellipsys-CA
provides a certification authority, code signing and encryption application, key and credential
injection application, and a firmware image formatting application.
Finally for secure environments that need it, Ellipsys-VSM is a cryptographic service provider and
key management module that runs in the application environment to use keys installed in secure
OTP memory platform during manufacturing.
Platform keys and certificates are used in
identification and authentication protocols, to bind and protect foreign keys and credentials to the
platform that they are installed in, and to provide general cryptographic functions for applications
running in the platform.
These components are described further in the sections that follow.
Figure 3: Ellipsys-SB operation in Lockbox processors.
Ellipsys-SB
Ellipsys-SB is a scalable bootstrap system that works together with Lockbox Initialization state
machine to bring the system to a known, trusted execution state, as shown in Figure 3. In the
Lockbox implementation of Ellipsys-SB the standard Phase 0 bootstrap process is replaced by the
built-in Lockbox Secure Entry mode. Ellipsys-SB implements Phase 1 and Phase 2 of the standard
Ellipsys-SB bootstrap process. The bootstrap process proceeds through its initialization phases as
follows:
•
v1.0 1007
In Secure Entry mode a minimal trusted firmware module takes control of the processor at
each reset. Phase 1 code is authenticated using a bare elliptic curve cryptography (ECC)
public key. If authentication is successful, the system transitions to Secure Mode to
execute Ellipsys-SB Phase1. If unsuccessful, the system simply reverts to open mode.
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
6
Ellipsys Trust Framework™ for ADI Lockbox
•
Phase 1 is a firmware component that includes a full processor initialization procedure to
ready the processor for the applications environment. Depending on the system designer's
objectives for the system, Phase 1 may include the entire application environment, or may
simply be an initial software environment suitable to start execution of a full application
environment later. Phase 1 uses a certificate-based PKI with ECC certificates to
authenticate Phase 2 firmware components when these are present. Phase 1 validates the
certificate chain on these components for traceability to a trusted root certificate, and loads
and transfers control of the system to this software if it authenticates successfully. Phase 1
is also where code decryption of loadable software is implemented if this optional feature is
included in the system. If application access to secret keys stored in OTP memory is
provided in the system design, Phase 1 code sets up the conditions for access to these
memory regions. Phase 1 code is generally stored unencrypted in Flash memory external
to the processor. It can be upgraded using tools provided as part of the Ellipsys-SB product
to allow for future software or firmware upgrades and bug fix releases. Code upgrades are
cryptographically authenticated prior to installation, and the new code must pass the same
startup authentication checks as the original factory firmware did.
•
Phase 2 is the OEM application environment, defined completely by the OEM's firmware
engineering team. If system control is transferred to it by Phase 1, it is guaranteed to have
passed authentication that assures that it originated from the OEM and that it was
unmodified from the version that was received from that provider. Phase 2 code can be
encrypted when stored in Flash. Decryption of Phase 2 code is automatic during Phase 1
execution. If Phase 2 resides entirely in on-chip RAM within the Blackfin, it is well protected
from simple attempts to reverse engineer it.
Smaller system designs may have all of firmware originating with the OEM engineering team, with
little need for field upgrades or third party applications support. Larger systems are often
designed for an ecosystem of software providers that may include a mix of OEM software,
authorized software suppliers, and independent third party software providers. These are ideally
suited to Ellipsys-SB implementations. Typically, the system OEM provides the basic operating
system and applications environment, while authorized suppliers and/or independent third party
suppliers provide additional functionality and applications. Software that requires authorization to
execute on the platform can be signed using the Ellipsys-CA and installed in authenticated Flash
memory images if desired.
In the Lockbox implementation of the Ellipsys-SB, separate Ellipsys-CA instances can sign different
parts of the overall application environment, while still allowing full traceability of the origin of a
firmware component and verification that it was authorized by the system OEM.
Provided with Ellipsys-SB is a set of developer's tools to implement secure firmware update
applications as part of the system application environment, configure firmware to be ready for
signing and installation in nonvolatile memory on the product, and test and debug Ellipsys-SB
environments.
Ellipsys-CA
Ellipsys-CA for Lockbox integrates with firmware engineering tools such as ADI's Visual DSP
development environment to supply the following functions:
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
7
Ellipsys Trust Framework™ for ADI Lockbox
•
Generation and management of keys and certificates for installation in embedded devices,
applications and systems;
•
Creation of signed certificates, software and data using certificate-based digital signatures
in its own PKI owned by the OEM;
•
Formatting firmware and data images for installation and use in Ellipsys-SB for Lockbox
subsystems
•
Secure creation and management of keys to be injected into secure OTP memories of
Lockbox systems.
It has a broad range of features that support deployment across a variety of product de velopment
and manufacturing flows that includes:
•
Support for multiple copies of authorized signing tools traceable to the same OEM PKI Root
key to distinguish between different authorized code signers (for example, separate
Ellipsys-CAs for firmware engineering, manufacturing and sustaining engineering).
•
Applications for code signing, code encryption, system image building, key generation and
manufacturing key injection, certificate creation and signing and more.
•
Policy-based certificates that support application enforcement of certificate usage policies,
for example restrictions on what certificates may be used to sign code vs. credentials,
distinctions between what OEM signed code may do vs. manufacturer code, and so on.
•
Foreign key and credential import capabilities.
•
Simple role based authorization of users to permit or rescind authority to operate in
specified roles within the CA. For example, code signing authority may be restricted to
users in the QA organization.
•
Full transaction logging with access controls on logs.
•
Configurable key and certificate escrows that securely store data created by the EllipsysCA.
•
Optional multi-site replication and database consolidation to provide error tolerance and
recovery capabilities in large system deployments.
•
Remote operation and connectivity capability via secure VPN connections to support
manufacturing applications and distributed operation of a collection of Ellipsys-CAs.
Ellipsys-VSM
Ellipsys-VSM is an optional product that provides a software API to a protected cryptographic
subsystem that stores and uses keys on behalf of programs that interface to it. Main features of
Ellipsys-VSM include:
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
8
Ellipsys Trust Framework™ for ADI Lockbox
•
Support for a wide range of public key and symmetric cryptography algorithms and
operations including RSA and elliptic curve asymmetric algorithms, AES, DES and RC4
symmetric ciphers, and SHA-1 and MD5 digests and HMAC message authentication;
•
High level interfaces for combination operations such as public key signature generation
and verification;
•
X.509 certificate support for credentials;
•
Support for secure use of unique-per-device keys store in secure OTP memory to protect
those keys from attempts to recover them during operation of the device;
•
Support for foreign key import, secure storage and permanent binding of foreign keys to
the platform. Foreign keys are imported and bound to the platform by encrypting them into
a “keyblob” using the embedded platform key. Protected keyblobs may be exported from
the VSM and stored in plaintext in unprotected storage without fear of compromise, either
within or outside of the module they are bound to. Once bound, keyblobs may only be used
on the device that they are bound to.
Typical applications for Ellipsys-VSM include incorporation in solutions that address the robustness
requirements for DRM and conditional access schemes, closed networks or systems in which the
authenticity of participants is required, and systems meeting high security standards such as FIPS140 validation.
Consult Elliptic Technologies for availability of Ellipsys-VSM in particular Blackfin variants and RTOS
environments.
Concluding Remarks
Ellipsys Trust Framework for Lockbox provides a comprehensive set of solutions to a range of
requirements that OEMs using ADI Blackfin processors with Lockbox Secure Technology have for
both operational security in end-use applications, as well as protection of their embedded
intellectual property and the integrity of their supply chain. For more information, see Elliptic's
website at http://elliptictech.com/middleware_ETF_Lockbox.php, or contact us at:
62 Steacie Drive, Suite 201
Ottawa, Ontario, Canada
+1-613-254-5456
or by email at info@elliptictech.com
v1.0 1007
© Copyright 2010 Elliptic Technologies Inc., all rights reserved
9