Secure architecture in embedded systems: an overview .fr

Rainer Buchty, Nevin Heintze, and Dino Oliva, Cryptonite A Programmable Crypto Processor Architecture for. High-Bandwidth Applications, 2004.
698KB taille 1 téléchargements 321 vues
Introduction

Secure architecture in embedded systems: an overview Romain Vaslin, Guy Gogniat, Jean-Philippe Diguet ´ ` ´ CNRS FRE 2734 Laboratoire d’Electronique des Systemes TEmps Reel Universite´ de Bretagne Sud

Cryptarchi 2006

Romain Vaslin 1

Secure architecture in embedded systems: an overview

Introduction

Introduction

Security in embedded systems : essential issue for external communication and architecture core New attacks due to the specific field (hardware and software attacks) We need adapted solutions : Security solutions Architecture solutions

Romain Vaslin 2

Secure architecture in embedded systems: an overview

Introduction

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 3

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Hardware attacks Software attacks

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 4

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Hardware attacks Software attacks

Hardware attacks Side-channel attacks Differential Power Analysis (DPA), Differential Electromagnetic Analysis (DEMA), fault injection, timing attack

Fault injection

DEMA core Memory

DPA

Power control

Battery

Romain Vaslin 5

Thermal control

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Hardware attacks Software attacks

Hardware attacks Denial of service Power attack Thermal attack

core Memory

Power control

Battery

Thermal control

Thermal control attack

Power attacks

Romain Vaslin 6

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Hardware attacks Software attacks

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 7

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Hardware attacks Software attacks

Software attacks Definitions Virus : malicious program which needs the human help to infect a system and to spread (duplicate) Worms : autonomous virus

Romain Vaslin 8

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 9

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Constraints on embedded systems & context

Strong constraints Power consumption Silicon area Memory size Computing performance

Romain Vaslin 10

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Constraints on embedded systems & context

Romain Vaslin 10

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 11

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Existing Processor-based solutions

Existing solutions OS-based solutions Postulate : Secure zone or core limitation of the number of tolerated attacks

Romain Vaslin 12

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Existing Processor-based solutions

Romain Vaslin 12

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

Trustzone : ARM solution Trustzone features Industrial solution Software security monitor Secure core, bus and peripherals

www.arm.com/trustzone Romain Vaslin 13

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

XOM : eXecute Only Memory XOM feature Memory ciphering and hashing (hardware) Data tagging

Architecture performance Increase cache miss (10 to 40%) Increase kernel size Increase number of cycle for kernel operations Romain Vaslin 14

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Constraints on embedded systems & context Existing Processor-based solutions

AEGIS AEGIS feature Memory ciphering and/or hashing Physical Random Function Security level management

Architecture performance Increase by 1.9 silicon area Overhead depend on the security policy Romain Vaslin 15

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 16

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

Dedicated processor Features of a dedicated processor Specific instruction-set Specific execution unit Example DSP architecture : instruction MAC Ciphering architecture (cryptomaniac a , cryptonite b ) : modular exponentiation a

Lisa Wu, Chris Weaver and Todd Austin, CryptoManiac : a fast flexible architecture for secure communication, Proceedings

of the 28th annual international symposium on Computer architecture, 2001 b Rainer Buchty, Nevin Heintze, and Dino Oliva, Cryptonite A Programmable Crypto Processor Architecture for High-Bandwidth Applications, 2004

Romain Vaslin 17

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 18

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

(Re)configurable architecture Different kind of architecture (Re)configuration at design time : Xtensa architecture (Tensilica), Xirisc (Re)configuration at runtime : Stretch architecture

Solutions performances Xirisc : DES speedup by 13 Xtensa : MD5 and AES speedup by 1.7 Stretch : EEMBC speedup by 190 Romain Vaslin 19

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

(Re)configurable architecture Architecture feature Accelerator

Architecture grain Coarse

Coprocessor

Fine

Romain Vaslin 20

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 21

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

Interests and limitations of existing solutions Summary Power consuption Granularity vs efficiency Programmability Tools dedicated to the architecture (compiler, simulator)

Romain Vaslin 22

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Outline of our approach An example : a coprocessor dedicated to hash

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 23

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Outline of our approach An example : a coprocessor dedicated to hash

Outline of our approach Outline Compromise between flexibility and programmability (Re)configurable architecture

Romain Vaslin 24

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Outline of our approach An example : a coprocessor dedicated to hash

Summary 1

Hardware and software attacks on embedded systems Hardware attacks Software attacks

2

Processor-based solutions Constraints on embedded systems & context Existing Processor-based solutions

3

(Re)configurable hardware architectures Dedicated processor (Re)configurable architectures Interests and limitations of existing solutions

4

Configurable coprocessor-based architecture Outline of our approach An example : a coprocessor dedicated to hash Romain Vaslin 25

Secure architecture in embedded systems: an overview

Attacks Processor-based solutions (Re)configurable hardware architectures Configurable coprocessor-based architecture

Outline of our approach An example : a coprocessor dedicated to hash

Coprocessor dedicated to hash : recovery between algorithms

Recovery between algorithms Equation for Fmix (b, c, d) (x ∧ y) ⊕ (¯ x ∧ z) x ⊕y ⊕z (x ∧ y) ⊕ (x ∧ z) ⊕ (y ∧ z) rot m x ⊕ rot n x ⊕ rot l x (x ∧ y) ⊕ (y ∧ z¯) y ⊕ (x ∨ z¯)

SHA-1 x x x

SHA-2 x x x

MD5 x x x x x

Parametric function for md5 and SHA family T = G + [a