|
||||||||||
ARM Security Solutions and Intel Authenticated Flash -- How to integrate Intel Authenticated Flash with ARM TrustZone for maximum system protection
By Tiago Alves, Security Solutions Manager, ARM
John Rudelic, Principal Engineer, Intel Introduction Through a combination of integrated hardware and software components, ARM TrustZone technology provides the basis for a highly-protected system architecture targeted specifically at securing consumer products such as mobile phones, PDAs, set-top boxes or other systems running open Operating Systems (OS), such as Symbian OS, Linux and Windows CE. By integrating security logic internal to the flash memory, the Intel® Authenticated Flash memory provides a basis for strong integrity protection by preventing unauthorized modifications to the flash memory. The Intel Authenticated Flash memory also provides authenticated memory access control and protected key storage features. The Intel Authenticated Flash memory is also targeted at consumer products. The combination of ARM's Security Solutions, including TrustZone, with Intel Authenticated Memory provides a more secure platform than either technology can provide independently. Why is Security So Important? There are many examples of the very significant costs associated with the failure of embedded systems to resist malicious attacks. These span multiple applications and industry segments, and include both direct costs and lost revenue opportunities. The need to improve security has been particularly driven by the ever-increasing spread of wireless systems that encompass data services and payment applications. The top threats are being driven by several factors, such as an exponential growth in the connectivity options for devices, a transition to open operating systems, an increase in the amount and type of valuable data maintained by the system, and the increased utilization of mobile devices as enterprise mobile information appliances. The top threats within the mobile device are: 1) protection of system boot integrity; 2) protection of the operating system integrity 3) protection and isolation of security critical applications (e.g., payment application) 4) protection of access control information such as IMEI numbers or SIMLock configuration 5) resistance to virus attacks; 6) resistance to code vulnerability exploits, and 7) digital rights concerns. ARM Approach - The TrustZone Solution ARM's approach to enabling trusted computing within the embedded world is based on the concept of trusted execution of code and hardware isolation. TrustZone consists of a hardware-enforced security environment providing code isolation, together with secure software that provides both the fundamental security services and interfaces to other elements in the trusted chain, including smartcards, operating systems and general applications. TrustZone separates two parallel execution worlds: the non-secure 'normal' execution environment, and a trusted, certifiable secure world. (Figure 1) This is achieved through architectural modifications inside the CPU rather than by the addition of complex and frequently expensive logic outside the CPU. There are also significant performance advantages in this approach, such as faster transition times between secure and non-secure worlds due to cache memory awareness of the new state. A common foundation approach from within the CPU architecture also ensures that the basic infrastructure for security, as well as interoperability and software compatibility, are in place.
Key Benefits of TrustZone TrustZone offers a number of key technical and commercial benefits to developers and end-users. These include:
As well as providing full on-chip security for a SoC device, TrustZone can also be extended to enable security on systems that utilize offchip memory. While this architecture is inherently less safe from physical attack than a system that uses on-chip memory (for example, it can be removed and interfered with) TrustZone can nevertheless enhance the overall security of such systems. Although the architectural aspects of TrustZone are implemented within the latest ARM11 CPUs, the TrustZone Software introduces the concept of open APIs to enable a rich ecosystem that can indeed be extended to all the ARM CPUs. TrustZone Operation TrustZone operates by enforcing a level of trust at each stage of a transaction, including system boot. The trusted code will handle tasks such as the protected decryption of messages using the recipient's private key, and verification of the authenticity of the signature based on the sender's public key. TrustZone does this by executing secure commands within a parallel trusted execution environment. TrustZone introduces a new secure state to the ARM architecture for both User and the existing Privileged modes. This determines whether the system is operating within the Secure or Non-Secure World. A new mode, Secure Monitor, controls switching between the Secure and Non-Secure World. The new instruction, SMI (Secure Monitor Interrupt) provides the main route to change Worlds. A TrustZone-based SoC implementation will consist of both secure and non-secure elements. Key components include:
TrustZone Software Elements Software for a TrustZone-enabled device consists of both nonsecure elements, such as the normal OS and applications, and the protected software components. The TrustZone-optimized secure software components include the Monitor software, which enables the interface between the Secure and Non-Secure Worlds, the Secure Kernel, Secure Drivers and Boot Loader, and basic secure software services that will be provided by ARM as part of the software solution. (Figure 2)
The TrustZone-optimized software operates as a secure kernel and implements the TrustZone Software APIs. This can be ported to any ARM CPU, and provides security roadmap compatibility for future TrustZone devices. The TrustZone Software features an independent and certifiable secure framework. It has exclusive access to dedicated protected memory, dedicated persistent storage, crypto-accelerators and a possible trusted user Interface. By way of security services, it can provide services such as integrity checking (SIMLock, IMEI protection, secure boot), access control, secure storage and cryptography services. Services coming from the ecosystem community may include frameworks for DRM, remote authentication or e-banking. Designing with TrustZone Technology The design of protected systems must be approached in such a way that security issues are considered from the outset, including the implications for the control of protected code during the development process. (Figure 3) Key questions must be addressed before undertaking the design, in order to specify the elements of the design chain, the components to enable the entire solution, and the potential architecture decisions and trade-offs.
Other industry intellectual property, or proprietary components, may be required to fulfill specific implementations. This may include DRM IP, on-chip ROM and other off-chip security resources such as cryptography accelerators As with any complex SoC design, there are architectural parameters and hardware software tradeoffs to be made. These are determined by the security requirements, For example:
Intel Approach - The Authenticated Flash Advantage Intel's approach to supporting trusted computing is based on the concept of protected memory. Intel Authenticated Flash consists of a standard flash memory that has integrated an RSA engine, a SHA- 1 engine and a hardware RMG (random number generator). By integrating the security logic with the flash memory, Intel can deliver a memory technology that can prevent unauthorized modifications, provide hardware access control and support protected key storage. (Figure 4)
Key Benefits of Authenticated Flash Intel Authenticated Flash offers a series of benefits to carriers, OEMs and end users. They include:
In summary, the key benefits for Intel Authenticated Flash memory are integrity protection for the flash memory contents, independent of the host system. The Intel Authenticated Flash memory can help reduce system cost and improve system flexibility. Intel Authenticated Flash memory also addresses issues related to removing flash memory in addition to the integrity protection outlined above. For systems that have security built into the hardware or SoC, Intel Authenticated Flash memory can improve the overall security of the system, reduce implementation costs and improve flexibility. For systems without security built into the hardware or SoC, Intel Authenticated Flash Memory can provide a basis to add security is a simple, cost effective and flexible fashion. Authenticated Flash Operations Intel Authenticated Flash memory operates by authenticating command requests to the flash memory. The system designer can specify authenticated and legacy ranges. Each authenticated range will have a public RSA key installed and associated with the range. Once the authenticated range is specified and an RSA key associated, all operations to that range will require a signature to be presented to the flash memory. The flash memory will independently validate the signature presented with the command. If the signature is correct, the command proceeds. If the signature is incorrect, the operation is terminated and not allowed to proceed. (Figure 5)
Command descriptions:
The Intel Authenticated Flash memory is extremely flexible and configurable. The system designer can specify: the number of authentication ranges, the key associated with each range, the key hierarchy, and the authenticated commands allowed for each authentication range. Memory ranges not configured for authentication default to legacy mode. The initial configuration for Intel Authenticated Flash is authentication disabled, an empty key list and an empty range list. With the authentication disabled, keys can be installed into the flash memory, authentication ranges can be specified and keys can be associated with authentication ranges. The flash memory can be freely programmed and erased. Only once the flash authentication is enabled will the specified flash protection(s) be enforced. Authenticated Flash Signature Options The Intel Authenticated Flash supports RSA and HMAC based signature options. The signature option choice is based on the availability of a local secure signature generation capability and the level of protection required. With the HMAC signature option, a key value is shared between the SoC and the authenticated flash. With the RSA signature option, RSA public key is installed into the flash memory. The RSA private key can be available locally or be maintained external to the specific device. (Figure 6)
Designing with Authenticated Flash Several system architecture questions must be answered to fully leverage the capabilities of the Intel Authenticated Flash memory. The primary question to consider is the trade-off between what to place in the SoC and what to place in the authenticated memory. The availability of authenticated memory expands the options and flexibility available to the system designer.
Once the SoC trade-offs have been considered, then the system designer must consider the configurability of the authenticated flash memory. The number of keys, protection ranges, read protection, write protection, and signature options must be defined. The specific configuration will be driven by the needs of the specific platform. Intel Authenticated Flash with ARM TrustZone ARM TrustZone has been designed to address platform security needs independent of the flash technology selected. Likewise, Intel Authenticated Flash has also been designed to address platform security needs independent of the platform security approach. However, the two technologies are complementary. When combined, they provide a solution that is stronger than either technology can provide independently and the combination of technologies can help reduce SOC cost. While there are many variations for integrating the two complementary technologies, in practice integration is simple and straightforward and some of the main design variables were introduced here. While the ARM TrustZone and Intel Authenticated Flash are commercialized independently, the goal of this white paper was to highlight some of the main benefits in coupling these two technologies. In addition, this white paper offers certain design aspects that would need to be taken into consideration to couple the two technologies. Aspects of this coupling process include security, flexibility and processing requirements for volatile and non-volatile memories on-chip and off-chip. Finally, this white paper describes how the Intel Authenticated Flash could be molded to address your requirements. The ARM TrustZone architecture extensions were first introduced in the ARM1176JZ-S processor and are present in all subsequent applications CPU from ARM. The TrustZone framework can also be extended for ARM7 and ARM9 processors through a combination of custom hardware and a customized TrustZone Software. Intel Authenticated Memory can also be used in such platforms and is an effective solution to adding hardware integrity protection in such platforms. In summary, the combination of technologies can result in reduced SoC cost by: reducing the complexity of custom hardware security outside the CPU; reducing SoC ROM, SoC RAM, and SoC key storage; increasing flexibility by reducing the amount of information in SoC ROM; expanding security protection to the operating system; peripherals and platform code; and, improving performance by adding the TrustZone capabilities. Performance benefits are also achieved by eliminating or reducing the need or frequency of run-time integrity checking by leveraging the integrity protection capabilities of Intel Authenticated Flash memory.
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |