Hardware Design of Embedded Systems for Security Applications
Embedded Systems - High Performance Systems, Applications and Projects
Introduction Embedded systems are electronic computer systems designed for dedicated operating functions, often while respecting several constraints like real-time computing, power consumption, size and cost, etc. Embedded systems control many devices in common use today such as smartphones, GPS, codec GSM, decoders, MP3, MPEG62, MPEG4, PDAs, RFIDs, smart cards and networked sensors etc. Generally, they are controlled by one or more main processing cores that are typically either
... s, Digital Signal Processors (DSPs) or Field Programmable Gate Arrays (FPGAs). These systems are embedded as part of a complete electronic system, often including software, hardware, and communication and sensor parts. By contrast, a general-purpose computer -such as a Personal Computer (PC) -is designed to be flexible and to meet a wide range of end-user needs. The key characteristic of an embedded system is that it is dedicated to the handling of a particular task. They may require very powerful processors and extensive communications. Ideally, these embedded systems are completely self-contained and will typically run off a battery source for many years before the batteries need to be changed or charged. Since such systems are embedded and dedicated to specific tasks, design engineers search to optimise them by reducing their size (miniaturisation made possible by advanced IC design in order to couple full communication subsystems to sophisticated sensors) and cost in terms of energy consumption, memory and logic resources, while increasing their reliability and performance. Consequently, embedded systems are especially suited for use in transportation, medical applications, safety and security. Indeed, in dealing with security, embedded systems can be self-sufficient and should be able to deal with communication systems. Considering these specific conditions, in the fields of information and communication technology, embedded systems designers are faced with many challenges in terms of both the trade-off between cost/performance/power and architecture design. This is especially true for embedded systems designs, which often operate in non-secure environments, while at the same time being constrained by such factors as computational capacity, memory size and -in particular -power consumption. One challenge is in the design of hardware architecture able to meet the appropriate level of security and -consequentlythe best trade-off between hardware resources and the best throughput rates for real-time embedded applications. A digital implementation of chaotic generators presents certain advantages and provides accuracy and a significant hope for integration in embedded applications, especially for data www.intechopen.com Embedded Systems -High Performance Systems, Applications and Projects 234 encryption and secure communications between embedded systems. Unlike analogue implementations, which exhibit various practical difficulties in ensuring information recovery and dealing with the problem of chaotic synchronisation (since the component values vary with age and temperature, etc.), a digital implementation avoids the parameter mismatch between transmitter and receiver. Indeed, a programmable hardware fabric like a FPGA (Field Programmable Logic Array) is taking an increasingly important place in the design of embedded digital systems. This is due to the excellent trade-off between computational power and the flexibility of processing which it provides. This chapter is organised as follows: In Section 2, the related embedded design approaches suitable for embedded secure application (encryption) are briefly described. Section 3 explores the architecture of a hardware implementation for helping system designers who are faced with many challenges with regards to the trade-off between cost/performance/power/security and architecture design. Section 4 gives an overview, namely a characterisation of three dimensional (3-D) continuous chaotic systems used for embedded encryption applications. In this section, the background of the digital design based on a numerical resolution method of the 3D chaotic systems is given. Section 5 presents and discusses in detail the various steps involved in the design of a chaotic system as well as the design of its programmable hardware technology, and it illustrates this with the Genesio's chaotic system designed in a FPGA. Finally, Section 6 summarises and concludes the chapter.