Security in Embedded System
Security in Embedded System
Design Challenges
SRIVATHS RAVI and ANAND RAGHUNATHAN
NEC Laboratories America
PAUL KOCHER
Cryptography Research
and
SUNIL HATTANGADY
Texas Instruments Inc.
Many modern electronic systems—including personal computers, PDAs, cell phones, network
routers, smart cards, and networked sensors to name a few—need to access, store, manipulate, or
communicate sensitive information, making security a serious concern in their design. Embedded
systems, which account for a wide range of products from the electronics, semiconductor, telecom-
munications, and networking industries, face some of the most demanding security concerns—on
the one hand, they are often highly resource constrained, while on the other hand, they frequently
need to operate in physically insecure environments.
Security has been the subject of intensive research in the context of general-purpose computing
and communications systems. However, security is often misconstrued by embedded system design-
ers as the addition of features, such as specific cryptographic algorithms and security protocols, to
the system. In reality, it is a new dimension that designers should consider throughout the design
process, along with other metrics such as cost, performance, and power.
The challenges unique to embedded systems require new approaches to security covering all as-
pects of embedded system design from architecture to implementation. Security processing, which
refers to the computations that must be performed in a system for the purpose of security, can
easily overwhelm the computational capabilities of processors in both low- and high-end embedded
systems. This challenge, which we refer to as the “security processing gap,” is compounded by in-
creases in the amounts of data manipulated and the data rates that need to be achieved. Equally
daunting is the “battery gap” in battery-powered embedded systems, which is caused by the dispar-
ity between rapidly increasing energy requirements for secure operation and slow improvements
in battery technology. The final challenge is the “assurance gap,” which relates to the gap between
functional security measures (e.g., security services, protocols, and their constituent cryptographic
algorithms) and actual secure implementations. This paper provides an introduction to the chal-
lenges involved in secure embedded system design, discusses recent advances in addressing them,
and identifies opportunities for future research.
Authors’ addresses: S. Ravi and A. Raghunathan, NEC Laboratories America, Princeton, NJ;
email: {sravi,anand}@nec-labs.com; P. Kocher, Cryptography Research, San Francisco, CA; email:
[email protected]; Sunil Hattangady, Texas Instruments Inc., Dallas, TX; email: sunil@ti.
com.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is
granted without fee provided that copies are not made or distributed for profit or direct commercial
advantage and that copies show this notice on the first page or initial screen of a display along
with the full citation. Copyrights for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers,
to redistribute to lists, or to use any component of this work in other works requires prior specific
permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 1515
Broadway, New York, NY 10036 USA, fax: +1 (212) 869-0481, or [email protected].
C 2004 ACM 1539-9087/04/0800-0461 $5.00
!
ACM Transactions on Embedded Computing Systems, Vol. 3, No. 3, August 2004, Pages 461–491.
462 • S. Ravi et al.
1. INTRODUCTION
Today, an increasing number of embedded systems need to deal with security
in one form or another—from low-end systems such as wireless handsets, net-
worked sensors, and smart cards, to high-end systems such as network routers,
gateways, firewalls, and storage and web servers. Technological advances that
have spurred the development of these electronic systems have also ushered
in seemingly parallel trends in the sophistication of attacks they face. It has
been observed that the cost of insecurity in electronic systems can be very
high. A recent computer crime and security survey [Computer Security Insti-
tute] from the Computer Security Institute (CSI) and Federal Bureau of In-
vestigation (FBI) revealed that just 223 organizations sampled from various
industry sectors had lost hundreds of millions of dollars due to computer crime.
Figure 1(a) summarizes the costs from various security attacks including theft
of proprietary information, financial fraud, virus attack, and denial of service.
Other estimates include a staggering figure of nearly $1 billion in productivity
loss due to the “I Love You” virus attack [Counterpane]. With an increasing pro-
liferation of such attacks, it is not surprising that inadequate security is becom-
ing a bottleneck to the adoption of next-generation data applications and ser-
vices. For example, in the mobile appliance world, a recent survey [ePaynews]
revealed that nearly 52% of cell phone users and 47% of PDA users feel that se-
curity is the single largest concern preventing the adoption of mobile commerce
(see Figure 1(b)).
With the evolution of the Internet, information and communications secu-
rity has gained significant attention [World Wide Web Consortium 1998; U.S.
Department of Commerce 1999]. A wide variety of challenging security con-
cerns must be addressed, including data confidentiality and integrity, authen-
tication, privacy, denial of service, nonrepudiation, and digital content protec-
tion. Various security protocols and standards such as WEP [IEEE Standard
802.11], WTLS [WAP 2002], IPSec [IPSec], and SSL [SSL] are used today
to secure a range of data services and applications. While security protocols
and cryptographic algorithms address security considerations from a “func-
tional” perspective, many embedded systems are constrained by the environ-
ments they operate in, and by the resources they possess. For such systems,
there are several factors that are moving security considerations from being
an afterthought into a mainstream system (hardware/software) design issue.
ACM Transactions on Embedded Computing Systems, Vol. 3, No. 3, August 2004.
Security in Embedded Systems • 463
Fig. 1. (a) The cost of insecurity (source: [Computer Security Institute]) and (b) factors preventing
the adoption of mobile commerce (source: [ePaynews]).
For example:
! The processing capabilities of many embedded systems are easily over-
whelmed by the computational demands of security processing, leading to
software, physical, and side-channel attacks, require that the system be se-
cure even when it can be logically or physically accessed by malicious entities.
Countermeasures to these attacks need to be built in during system design.
This paper presents an overview of the challenges in the area of secure em-
bedded system design. Section 2 introduces the reader to various security con-
cerns in embedded systems. Section 3 provides a brief overview of basic security
concepts. Section 4 describes the design challenges that arise from various em-
bedded system security requirements. Sections 5 and 6 examine some of these
challenges in detail. Section 5 analyzes the performance, battery life, and flex-
ibility issues associated with security processing in embedded systems, while
Section 6 provides an overview of the various threats possible to an embedded
system. Section 7 presents case studies that depict how advanced architectures
can be used to address some of these challenges. Section 8 concludes with a
brief look ahead into the secure embedded system design roadmap.
! Content security enforces the usage restrictions of the digital content stored
tion stored in the system.
! Availability ensures that the system can perform its intended function and
or accessed by the system.
use a private (secret) key for decryption, and a related public (nonsecret)
key for encryption or verification. They are typically used in security proto-
cols for verifying certificates that identify communicating entities, generating
and verifying digital signatures, and for exchanging symmetric cipher keys.
These algorithms rely on the use of computationally intensive mathematical
functions, such as modular exponentiation, for encryption and decryption.
! Hashing algorithms such as MD5 and SHA provide ways of mapping mes-
RSA, Diffie–Hellman, and so on are examples of asymmetric ciphers.
sages (with or without a key) into a fixed-length value, thereby providing “sig-
natures” for messages. Thus, integrity checks can be performed on communi-
cated messages by (a) having the sender “securely sending” the actual hash
value of a message along with the message itself, (b) allowing the receiver to
ACM Transactions on Embedded Computing Systems, Vol. 3, No. 3, August 2004.
466 • S. Ravi et al.
compute the hash value of the received message, and (c) comparing the two
signatures to verify message integrity.
Security solutions to meet the various security requirements outlined in
Section 2 typically rely on the aforementioned cryptographic primitives, or on
security mechanisms that use a combination of these primitives in a specific
manner (e.g., security protocols). Various security technologies and mechanisms
have been designed around these cryptographic algorithms in order to provide
specific security services. For example:
! Security protocols provide ways of ensuring secure communication channels
to and from the embedded system. IPSec [IPSec] and SSL [SSL] are popu-
lar examples of security protocols, widely used for Virtual Private Networks
(VPNs) and secure web transactions, respectively (we will be examining se-
! Secure storage and secure execution require that the architecture of the sys-
use.
wireless handsets, and smartcards). In this paper, we will examine the two
sides of the processing gap issue (requirements and availability) and study
!
various solutions proposed to address this mismatch.
Battery Gap: The energy consumption overheads of supporting security on
battery-constrained embedded systems are very high. Slow growth rates in
battery capacities (5–8% per year) are easily outpaced by the increasing en-
ergy requirements of security processing, leading to a battery gap. Various
studies [Carman et al. 2000; Perrig et al. 2002; Potlapally et al. 2003] show
that the widening battery gap would require designers to make energy-aware
design choices (such as optimized security protocols, custom security hard-
!
ware, and so on) for security.
Flexibility: An embedded system is often required to execute multiple and di-
verse security protocols and standards in order to support (i) multiple security
objectives (e.g., secure communications, DRM, and so on), (ii) interoperability
in different environments (e.g., a handset that needs to work in both 3G cellu-
lar and wireless LAN environments), and (iii) security processing in different
layers of the network protocol stack (e.g., a wireless LAN enabled PDA that
needs to connect to a virtual private network, and support secure web brows-
ing may need to execute WEP, IPSec, and SSL). Furthermore, with security
protocols being constantly targeted by hackers, it is not surprising that they
keep continuously evolving (see also Section 5.4). It is, therefore, desirable
to allow the security architecture to be flexible (programmable) enough to
adapt easily to changing requirements. However, flexibility may also make
!
it more difficult to gain assurance of a design’s security.
Tamper Resistance: Attacks due to malicious software such as viruses and
trojan horses are the most common threats to any embedded system that is
capable of executing downloaded applications [Howard and LeBlanc 2002;
Hoglund and McGraw 2004; Ravi et al. 2004]. These attacks can exploit vul-
nerabilities in the operating system (OS) or application software, procure ac-
cess to system internals, and disrupt its normal functioning. Because these
attacks manipulate sensitive data or processes (integrity attacks), disclose
confidential information (privacy attacks), and/or deny access to system re-
sources (availability attacks), it is necessary to develop and deploy various
HW/SW countermeasures against these attacks.
In many embedded systems such as smartcards, new and sophisticated at-
tack techniques, such as bus probing, timing analysis, fault induction, power
analysis, electromagnetic analysis, and so on, have been demonstrated to
be successful in easily breaking their security [Ravi et al. 2004; Anderson
and Kuhn 1996, 1997; Kommerling and Kuhn 1999; Rankl and Effing; Hess
et al. 2000; Quisquater and Samyde 2002; Kelsey et al. 1998]. Tamper resis-
tance measures must, therefore, secure the system implementation when it
is subject to various physical and side-channel attacks.
Later in this paper (see Section 6), we will discuss some examples of em-
!
bedded system attacks and related countermeasures.
Assurance Gap: It is well known that truly reliable systems are much more
difficult to build than those that merely work most of the time. Reliable
systems must be able to handle the wide range of situations that may oc-
cur by chance. Secure systems face an even greater challenge: they must
continue to operate reliably despite attacks from intelligent adversaries who
intentionally seek out undesirable failure modes. As systems become more
complicated, there are inevitably more possible failure modes that need to
be addressed. Increases in embedded system complexity are making it more
and more difficult for embedded system designers to be confident that they
! Cost: One of the fundamental factors that influence the security architecture
have not overlooked a serious weakness.
Fig. 4. The SSL protocol, with an expanded view of the SSL record protocol.
security protocol SSL [SSL], which is widely used for secure connection-oriented
transactions.
The SSL protocol is typically layered on top of the transport layer of the net-
work protocol stack, and is either embedded in the protocol suite or is integrated
with applications such as web browsers. The SSL protocol itself consists of two
main layers as shown in Figure 4. The SSL record protocol, which forms the
first layer, provides the basic services of confidentiality and integrity. The second
layer includes the SSL handshake, SSL change cipher, and SSL alert protocols.
Let us now examine how the SSL record protocol is used to process application
data. The first step involves breaking the application data into smaller frag-
ments. Each fragment is then optionally compressed. The next step involves
computing a message authentication code (MAC), which facilitates message
integrity. The compressed message plus MAC is then encrypted using a sym-
metric cipher. If the symmetric cipher is a block cipher, then a few padding bytes
may be added. Finally, an SSL header is attached to complete the assembly of
the SSL record. The header contains various fields including the higher-layer
protocol used to process the attached fragment.
Of the three higher-layer protocols, SSL handshake is the most complex and
consists of a sequence of steps that allows a server and client to authenticate
each other and negotiate the various cipher parameters needed to secure a
session. For example, the SSL handshake protocol is responsible for negotiating
a common suite of cryptographic algorithms (cipher-suite), which can then be
used for session key exchange, authentication, bulk encryption, and hashing.
The cipher-suite RSA-3DES-SHA1, for example, indicates that RSA can be used
for key agreement (and authentication), while 3DES and SHA1 can be used for
bulk encryption and integrity computations, respectively. More than 30 such
cipher suite choices exist in the OpenSSL implementation [OpenSSL] of the
SSL protocol, resulting from various combinations of cipher alternatives for
implementing the individual security services.
Finally, the SSL change cipher protocol allows for dynamic updates of cipher
suites used in a connection, while the SSL alert protocol can be used to send
ACM Transactions on Embedded Computing Systems, Vol. 3, No. 3, August 2004.
470 • S. Ravi et al.
alert messages to a peer. Further details of the SSL protocol can be found in
SSL and Stallings [1998].
Fig. 6. Function call graph for the OpenSSL implementation of the SSL protocol (client-side).
avoid biases due to network effects, tests were performed with both the client
and server running on the same processor.
Figure 8 plots the processing requirements in MIPS for performing SSL
record protocol processing (using 3DES for bulk data encryption and SHA for
integrity) for different data rates in both low- and high-end embedded systems.
Data rates typical of cellular (128 kbps–2 Mbps), wireless LAN (2–60 Mbps)
and the lower-end of access network (≈100 Mbps) technologies that will be
supported by current and emerging low- and high-end embedded systems are
indicated in the figure.
The MIPS capabilities of the considered processors are indicated by hori-
zontal dashed lines in Figure 8. In low-end systems such as PDAs, the MIPS
capabilities of embedded processors such as StrongARM SA-1110 and XScale
are around 150 and 250 MIPS, respectively. If we assume that these processors
are completely dedicated to SSL record protocol processing over a single ses-
sion, they can sustain data rates of 1.8 and 3.1 Mbps, respectively. Any higher
data rates are unattainable, leading to the so-called “security processing gap.”
Note that the security processing gap is quite severe in practice. In a typical
usage scenario, the processor executes multiple secure and nonsecure appli-
cations and is, therefore, not completely dedicated to security processing. For
example, if the SA-1110 processor can devote only 10% of its resources to the
secure SSL session, then the achievable data rates are less than 180 kbps.
The security processing gap is also seen in high-end systems. Processors
such as Pentium III and Xeon are only capable of achieving SSL data rates of
7.3 and 29 Mbps, respectively. Thus, higher ranges of wireless LAN data rates
as well as wired network data rates cannot be attained without architectural
improvements.
Fig. 8. Processing requirements for the SSL record protocol at different data rates.
Finally, security protocols are not only diverse, but are also continuously
evolving over time. This has been and is still witnessed in the wired network
domain, wherein, protocol standards are revised to enable new security services,
add new cryptographic algorithms, or drop weaker ciphers. Figure 9 tracks
the evolution of popular security protocols in the wired domain (IPSec [IPSec]
and TLS [TLS]). We can see that even a well-established protocol such as TLS
is subject to constant modifications (e.g., in June 2002, TLS was revised to
accommodate the new symmetric encryption standard, AES).
The evolutionary trend is much more pronounced today in the wireless
domain, where security protocols can be termed to be still in their infancy.
Figure 9 also outlines the evolution of the wireless security protocols, WTLS
[OMA] and MET [MeT 2001]. Many of the security protocols used in the wire-
less domain are adaptations of the wired security protocols. For example, WTLS
bears a close resemblance to the SSL/TLS standards. However, it is possible
that future security protocols would be specifically tailored from scratch for the
wireless environment. This presents a significant challenge to the design of a
security processing architecture, since flexibility and ease-of-adaptation to new
standards become important design considerations in additional to traditional
objectives such as power, performance, and so on.
Fig. 10. The energy consumption profile of a sample secure wireless session (source: Karri and
Mishra [2002]).
Fig. 11. Energy consumption data for various symmetric ciphers (source: Potlapally et al. [2003]).
expect the cost of key setup to be amortized by the low per-byte encryption cost.
A detailed analysis of the energy consumption of other cryptographic algorithms
and the SSL protocol can be found in Potlapally et al. [2003]. The study also il-
lustrates that significant “energy versus security” trade-offs can be explored by
identifying and varying parameters provided in a security protocol—although
embedded systems engineers would be well advised to avoid using new or mod-
ified algorithms (that have not been subject to widespread review) because of
the extreme and often nonintuitive security risks involved.
While the above examples illustrate that the energy requirements for secu-
rity must be reduced, improvements on the supply side (battery) can also ben-
efit the so-called battery gap. It must be noted here that there has only been
a slow growth (5–8% per year) in the battery capacities [Lahiri et al. 2002].
However, recent successes with alternative technologies such as fuel cells
[SFC; PolyFuel] show considerable promise.
! to identify and remove software bugs and design flaws that make the system
cute a given program;
To deter this specific attack, RSA implementations can check their answers
by performing a public-key operation on the result and verifying that it re-
generates the original message. Unfortunately, error detection techniques for
symmetric algorithms are not nearly as elegant, and there are many other kinds
of error attacks. As a result, many cryptographic devices include an assortment
of glitch sensors and other features designed to detect conditions likely to cause
computation errors. For further discussion of this topic, see [Boneh et al. 2001].
These attacks are of particular concern for devices such as smartcards that
must protect secret keys while operating in hostile environments. Counter-
measures that reduce the quality of the measurements (such as running other
circuits simultaneously) only increase the number of samples the adversary
needs to collect, and do not prevent the attack. For further information about
DPA, see Kocher et al. [1999].
Attacks such as DPA that involve many aspects of system design (hardware,
software, cryptography, and so on) pose additional challenges for embedded
system engineering projects because security risks may be concealed by lay-
ers of abstraction. Countermeasures used to mitigate these attacks are also
frequently mathematically rigorous, nonintuitive, and require patent licens-
ing [DPA PATENTS]. As a result, projects requiring effective tamper resistance,
particularly when used for securing payments, audiovisual content, and other
high-risk data, remain expensive and challenging.
7. CASE STUDIES
Several innovative solutions are emerging to address the various design chal-
lenges outlined in this paper. In this section, we will consider two recent ex-
amples from commercial products to illustrate state-of-the-art solutions used
to alleviate the challenges of security processing gap and software attacks.
7.1 Addressing the Security Processing Gap for Wireless Handsets: OMAP 1610
The OMAP 1610 processor is a single-chip application processor from Texas
Instruments that is designed to deliver high performance for 2.5G and 3.5G
mobile applications [Texas Instruments]. A system-level block diagram of the
dual-core processor is shown in Figure 14. It consists of an enhanced ARM926
microprocessor plus the TMS320C55x DSP. The DSP can be used to not only
enhance the performance of multimedia applications but also security com-
putations. Public-key computations are typically offloaded to the DSP, while
symmetric and hashing operations are offloaded to cryptographic hardware ac-
celerators. Cryptographic hardware accelerators supporting DES, 3DES, AES,
SHA-1, and MD5 are included.
The crypto engines (DSP and hardware accelerators) are accessible to se-
curity applications through Certicom’s Security Builder cryptographic suite
[Certicom] (Figure 15). Thus, they can be used to accelerate all applications
such as Certicom’s SSL, IPSec, and PKI toolkits as well as other third-party
applications that use the Security Builder API. The small code size and ef-
ficient implementation of the Security Builder SW makes it suitable for the
resource-constrained devices that use OMAP 1610.
Other features included in the OMAP 1610 processor for security processing
are (a) a true hardware based random-number generator, (b) a secure bootloader
for checking the integrity of device-code, and (c) a secure execution mode, en-
abling secure key storage and run-time authentication. To realize the latter two
options, the OMAP 1610 architecture provides 48 kB of secure ROM and 16 kB
of secure RAM on-chip.
ACM Transactions on Embedded Computing Systems, Vol. 3, No. 3, August 2004.
Security in Embedded Systems • 485
Fig. 14. System-level block diagram of the OMAP 1610 application processor [Texas Instruments].
Fig. 15. Offload architecture for security in OMAP 1610 [Certicom-OMAP-WP 2003].
Fig. 16. Separation of secure and nonsecure domains in ARM TrustZone [York 2003].
parts of the system (ARM core, memory system, selected peripherals, and so on)
that are secure. Access to the S-bit is through a separate processor operating
mode called monitor mode, which itself can be accessed through a limited and
predefined set of entry points. The monitor mode is responsible for controlling
ACM Transactions on Embedded Computing Systems, Vol. 3, No. 3, August 2004.
Security in Embedded Systems • 487
Fig. 17. Components of an embedded system demarcated into secure and nonsecure
areas [York 2003].
the S-bit, verifying that data and instruction accesses made by an application
are permitted, and ensuring a secure transition between secure and nonsecure
states.
The use of TrustZone to secure a typical embedded system is shown in
Figure 17, wherein the security perimeter of the system extends beyond the
processor core to the memory hierarchy and peripherals. The overall system
architecture is divided into secure and nonsecure regions. For example, the
boot code is stored securely in the on-chip boot ROM, since modifications to the
boot process would render any security scheme ineffective. The memory is seg-
mented into secure and nonsecure areas. The S-bit and the monitor mode are
used to ensure that secure data are not leaked to the nonsecure area. Exception
handling is also partitioned into normal and secure areas. Because interrupts
can be used to freeze the processor when it is processing sensitive information,
the monitor mode is used to process critical interrupts.
In summary, the TrustZone technology provides an architecture-level secu-
rity solution to enforce a separation between trusted and untrusted code. More
generally, the concepts of software isolation and sandboxing enable untrusted
or less trusted code to coexist safely with trusted code, which allows system
designers greater flexibility while providing higher levels of security against
software attacks.
REFERENCES
ARBAUGH, A., FARBER, D. J., AND SMITH, J. M. 1997. A secure and reliable bootstrap architecture.
In Proceedings of IEEE Symposium on Security and Privacy. 65–71.
ARM SecurCore. Available at http://www.arm.com.
BEST, R. M. 1981. Crypto Microprocessor for Executing Enciphered Programs. U.S. patent
4,278,837.
BLAZE, M. 1993. A cryptographic file system for UNIX. In Proceedings of the ACM Conference on
Computer and Communications Security. 9–16.
BONEH, D., DEMILLO, R., AND LIPTON, R. 2001. On the importance of eliminating errors in crypto-
graphic computations. Cryptology 14, 2, 101–119.
BURKE, J., MCDONALD, J., AND AUSTIN, T. 2000. Architectural support for fast symmetric-
key cryptography. In Proceedings of the International Conference on ASPLOS. 178–
189.
CARMAN, D. W., KRUS, P. S., AND MATT, B. J. 2000. Constraints and Approaches for Distributed
Sensor Network Security. Tech. rep. #00-010, NAI Labs, Network Associates, Inc., Glenwood,
MD.
CERTICOM CORP. Security Builder. Available at http://www.certicom.com/.
CERTICOM AND TEXAS INSTRUMENTS INC. 2003. Wireless Security: from the inside out. Available at
http://focus.ti.com/pdfs/vf/wireless/certicom_ti_wp.pdf.
CHESS, B. 2002. Improving computer security using extended static checking. In Proceedings of
the IEEE Symposium on Security and Privacy. 148–161.
CLARKE, E. M., JHA, S., AND MARRERO, W. 1998. Using state space exploration and a natural
deduction style message derivation engine to verify security protocols. In Proceedings of the IFIP
Working Conference on Programming Concepts and Methods.
COMPUTER SECURITY INSTITUTE. 2002 Computer Crime and Security Survey. Available at http://www.
gocsi.com/press/20020407.html.
Counterpane Internet Security, Inc. Available at http://www.counterpane.com.
DETLEFS, D. L., LEINO, K., NELSON, G., AND SAXE, J. 1998. Extended Static Checking. Tech. rep.,
Systems Research Center, Compaq Inc.
CryptocellTM . Discretix Technologies Ltd. Available at http://www.discretix.com.
Discretix Technologies Ltd. Available at http://www.discretix.com.
DPA PATENTS. U.S. Patents Nos. 6,278,783; 6,289,455; 6,298,442; 6,304,658; 6,327,661; 6,381,699;
6,510,518; 6,539,092; 6,640,305; and 6,654,884. Available at http://www.cryptography.com/
technology/dpa/licensing.html.
ePaynews—Mobile Commerce Statistics. Available at http://www.epaynews.com/statistics/
mcommstats.html.
FIPS PUB 140-2. Security Requirements for Cryptographic Modules. Available at http://csrc.
nist.gov/publications/fips/fips140-2/fips1402.pdf.
GENTRY, C. AND SZYDLO, M. 2002. Cryptanalysis of the revised NTRU signature scheme. In Pro-
ceedings of EUROCRYPT. 299–320.
GOH, E., SHACHAM, H., MODADUGU, N., AND BONEH, D. 2003. SiRiUS: Securing remote untrusted
storage. In Proceedings of the ISOC Network and Distributed Systems Security (NDSS) Sympo-
sium. 131–145.
HESS, E., JANSSEN, N., MEYER, B., AND SCHUTZE, T. 2000. Information leakage attacks against smart
card implementations of cryptographic algorithms and countermeasures. In Proceedings of the
EUROSMART Security Conference. 55–64.
HIFN INC. Available at http://www.hifn.com.
HOGLUND, G. AND MCGRAW, G. 2004. Exploiting Software: How to Break Code. Pearson Higher
Education.
HOWARD, M. AND LEBLANC, D. 2002. Writing Secure Code. Microsoft Press.
IEEE STANDARD 802.11. LAN/MAN Standards Committee of the IEEE. Wireless LAN Medium Access
Control (MAC) and Physical Layer (PHY) Specification.
INFINEON TECHNOLOGIES. SLE 88 family. http://www.infineon.com.
INTEL CORP. 2000. Enhancing Security Performance through IA-64 Architecture. Available at
http://developer.intel.com/design/security/rsa2000/itanium.pdf.
IPSec Working Group. Available at http://www.ietf.org/html.charters/ipsec-charter.html.
INTERNET STREAMING MEDIA ALLIANCE. Available at http://www.isma.tv/home.
KARRI, R. AND MISHRA, P. 2002. Minimizing energy consumption of secure wireless session with
QoS constraints. In Proceedings of the International Conference on Communications. 2053–2057.
KELSEY, J., SCHNEIER, B., WAGNER, D., AND HALL, C. 1998. Side channel cryptanalysis of product
ciphers. In Proceedings of the ESORICS’98. 97–110.
KIRIANSKY, V., BRUENING, D., AND AMARASINGHE, S. 2002. Secure execution via program sheperding.
In Proceedings of the 11th USENIX Security Symposium.
KOMMERLING, O. AND KUHN, M. G. 1999. Design principles for tamper-resistant smartcard proces-
sors. In Proceedings of the USENIX Workshop on Smartcard Technology (Smartcard ’99). 9–20.
KOCHER, P., JAFFE, J., AND JUN, B. 1999. Differential power analysis. Advances in Cryptology—
CRYPTO’99. Lecture Notes in Computer Science, vol. 1666. Springer-Verlag, Berlin, 388–397.
KOCHER, P., LEE, R., MCGRAW, G., RAGHUNATHAN, A., AND RAVI, S. 2004. Security as a new dimension
in embedded system design. In Proceedings of the Design Automation Conference. 753–760.
KOCHER, P. C. 1996. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other
systems. Advances in Cryptology—CRYPTO’96. Lecture Notes in Computer Science, vol. 1109.
Springer-Verlag, Berlin, 104–113.
KUHN, M. 1997. The TrustNo 1 Cryptoprocessor Concept. CS555 Report, Purdue University.
Available at http://www.cl.cam.ac.uk/mgk25/.
LAHIRI, K., RAGHUNATHAN, A., AND DEY, S. 2002. Battery-driven system design: A new frontier
in low power design. In Proceedings of the Joint Asia and South Pacific Design Automation
Conference/International Conference on VLSI Design. 261–267.
LEE, R. B., SHI, Z., AND YANG, X. 2001. Efficient permutations for fast software cryptography.
IEEE Micro 21, 6 (Dec.), 56–69.
LEE, R. B. 1996. Subword parallelism with Max-2. IEEE Micro 16, 4 (Aug.), 51–59.
LIE, D., THEKKATH, C. A., MITCHELL, M., LINCOLN, P., BONEH, D., MITCHELL, J. C., AND HOROWITZ, M.
2000. Architectural support for copy and tamper resistant software. In Proceedings of the ACM
Architectural Support for Programming Languages and Operating Systems (ASPLOS). 168–177.
LOWE, G. 1998. Towards a completeness result for model checking of security protocols. In Pro-
ceedings of the 11th Computer Security Foundations Workshop.
MENEZES, A. J. 1993. Elliptic Curve Public Key Cryptosystems. Kluwer Academic Publishers,
Boston, MA.
MESSERGES, T. S., DABBISH, E. A., AND SLOAN, R. H. 2002. Examining smart-card security under
the threat of power analysis attacks. IEEE Trans. Comput. 51, 5 (May), 541–552.
MOBILE ELECTRONIC TRANSACTIONS LTD. 2001. MeT PTD Definition (version 1.1). Available at
http://www.mobiletransaction.org/.
SmartMIPS. Available at http://www.mips.com.
MPEG Open Security for Embedded Systems (MOSES). Available at http://www.crl.co.uk/
projects/moses/.
Moving Picture Experts Group (MPEG). Available at http://mpeg.telecomitalialab.com.
NECULA, G. C. AND LEE, P. 1996. Proof-Carrying Code. Tech. Rep. CMU-CS-96-165, Carnegie
Mellon University.
NTRU Communications and Content Security. Available at http://www.ntru.com.
Open Mobile Alliance (OMA). Available at http://www.wapforum.org/what/technical.htm.
OPENIPMP. http://www.openipmp.org.
OpenSSL Project. Available at http://www.openssl.org.
PERRIG, A., SZEWCZYK, R., TYGAR, J. D., WEN, V., AND CULLER, D. E. 2002. SPINS: Security protocols
for sensor networks. Wireless Netw. 8, 5, 521–534.
POLYFUEL, INC. Available at http://www.polyfuel.com.
POTLAPALLY, N., RAVI, S., RAGHUNATHAN, A., AND JHA, N. K. 2003. Analyzing the energy consumption
of security protocols. In Proceedings of the International Symposium on Low Power Electronics
& Design. 30–35.
POTLAPALLY, N., RAVI, S., RAGHUNATHAN, A., AND LAKSHMINARAYANA, G. 2002a. Optimizing public-key
encryption for wireless clients. In Proceedings of the IEEE International Conference on Commu-
nications. 1050–1056.
POTLAPALLY, N., RAVI, S., RAGHUNATHAN, A., AND LAKSHMINARAYANA, G. 2002b. Algorithm exploration
for efficient public-key security processing on wireless handsets. In Proceedings of Design, Au-
tomation, and Test in Europe (DATE) Designers Forum. 42–46.
Point-to-Point Protocol (PPP), RFC 1661. The Internet Engineering Task Force. Available at
http://www.ietf.org/rfc/rfc1661.
Point-to-Point Tunneling Protocol (PPTP), RFC 2637. The Internet Engineering Task Force. Avail-
able at http://www.ietf.org/rfc/rfc2637.
QUISQUATER, J. J. AND SAMYDE, D. 2002. Side channel cryptanalysis. In Proceedings of the SECI.
179–184.
RANKL, W. AND EFFING, W. Smart Card Handbook. John Wiley and Sons, New York.
RAVI, S., RAGHUNATHAN, A., AND CHAKRADHAR, S. 2004. Tamper resistance mechanisms for secure
embedded systems. In Proceedings of the International Conference on VLSI Design. 605–611.
RAVI, S., RAGHUNATHAN, A., POTLAPALLY, N., AND SANKARADASS, M. 2002. System design method-
ologies for a wireless security processing platform. In Proceedings of the ACM/IEEE Design
Automation Conference, 777–782.
REID, P. 2003. Biometrics and Network Security. Prentice Hall PTR, Englewood Cliffs, NJ.
ROSING, M. 1998. Implementing Elliptic Curve Cryptography. Manning Publications Co.
SAFENET INC. Safenet EmbeddedIPT M . Available at http://www.safenet-inc.com.
SCHNEIER, B. 1996. Applied Cryptography: Protocols, Algorithms and Source Code in C. John
Wiley and Sons, New York.
SFC Smart Fuel Cell AG. Available at http://www.smartfuelcell.com.
SSL 3.0 Specification. Available at http://wp.netscape.com/eng/ssl3/.
STALLINGS, W. 1998. Cryptography and Network Security: Principles and Practice. Prentice Hall,
Englewood Cliffs, NJ.
STMICROELECTRONICS INC. ST19 Smart Card Platform Family. Available at http://www.st.com.
SUH, G. E., CLARKE, D., GASSEND, B., VAN DIJK, M., AND DEVADAS, S. 2003. AEGIS: Architecture for
tamper-evident and tamper-resistant processing. In Proceedings of the International Conference
on Supercomputing (ICS ’03). 160–171.
TEXAS INSTRUMENTS INC. OMAP Platform. Available at http://focus.ti.com/omap/docs/
omaphomepage.tsp.
TLS WORKING GROUP. Available at http://www.ietf.org/html.charters/tls-charter.html.
U.S. DEPARTMENT OF COMMERCE. 1999. The Emerging Digital Economy II. Available at http:
//www.esa.doc.gov/508/esa/TheEmergingDigitalEconomyII.htm.
WAP FORUM. 2002. Wireless Application Protocol 2.0. Technical White Paper. Available from
http://www.wapforum.org.
WORLD WIDE WEB CONSORTIUM. 1998. The World Wide Web Security FAQ. Available at
http://www.w3.org/Security/faq/www-security-faq.html.
YORK, R. 2003. A New Foundation for CPU Systems Security. ARM Limited. Available at
http://www.arm.com/armtech/TrustZone?OpenDocument.
Received March 2003; revised August 2003 and October 2003; accepted November 2003