System Level Design Methods for Secure Embedded Systems

Size: px
Start display at page:

Download "System Level Design Methods for Secure Embedded Systems"

Transcription

1 System Level Design Methods for Secure Embedded Systems Patrick Schaumont Center for Embedded Systems in Critical Applications

2 Secure Embedded Systems Mobile Biometrics Mobile Authentication Access Control Mobile Identification Secure embedded systems face specific risks. They are 1. more accessible 2. more resource-constrained Keys Tagging Vehicle ID Electronic Purse Electronic Ticketing RFID Driver License Smart Card Health Care e-passport Inventory 2

3 More accessible = more vulnerable Security Attacks Based On Crypto-Heaven Protocol Algorithm Data Timing Energy (Intrusive or Passive) Channel (SW) Architecture Stack/ Memory (HW) Micro-Architecture Bus Device Execution Power Analysis EMI Analysis Circuit 3

4 More accessible = more vulnerable Security Attacks Based On Crypto-Heaven Protocol Algorithm Data Timing Energy (Intrusive or Passive) Channel Architecture Micro-Architecture Circuit Stack/ Design Memory methods for secure embedded systems aim to provide systematic protection against data-, Device Bus Execution timing-, or energy-based Power SCAAnalysis EMI Analysis while considering design cost, performance and form factor. 4

5 Secure Embedded Technologies A low end RFID today: 128-bit ROM, control circuit, RF & power circuit A high end smartcard today: Pipelined 32-bit RISC Memory management & protection hardware 240 Kbyte ROM, 16Kbyte RAM, 912Kbyte EEPROM Coprocessors for Public Key (RSA, ECC), DES, RNG Timer, Sensors for hi/lo Voltage/Freq, Temp, Light Technologies are extremely diverse [Hitachi] Being part of a security chain, they can become weakest links [Infineon] Therefore, embedding security means getting involved in a wide range of technologies (software, hardware, circuits, layout,..) 5

6 Design Methods for Embedded Security Partitioning for Security Protect Root of Trust Root of Trust = A component that must behave as expected, because misbehavior cannot be detected (Trusted Computing Group) Root of Trust = The part of the design that can hurt you! (D. Gollmann) Example to discuss - Secure biometrics in ThumbPod (UCLA) Secure Codesign Interface Refinement in a Security-partitioned system 6

7 The ThumbPod Project (UCLA) ThumbPod authenticated communications bank embedded electronics fingerprint sensor 7

8 ThumbPod Operation 1. Enrollment template (~30 minutia) minutia extraction 2. Normal Use User matches stored template? send rand reply token' =? rand template E token 8

9 Partitioning the ThumbPod (insecure) ThumbPod-2 Client Root-of-Trust Template Accept Minutiae Extraction Matching Algorithm Reject Server (considered secure) rand Master Key Session Key S k Load Master key Crypto Load Bogus plain Master Key Crypto plain payload Crypto crypt Crypto payload 9

10 Partitioning the ThumbPod ThumbPod-2 Client Minutiae Extraction Architecture-Level Secure Partition Template Accept Matching Algorithm Reject Server rand Master Key Session Key S k Load Master key Crypto Load Bogus plain Master Key Crypto plain payload Crypto crypt Crypto payload 10

11 ThumbPod-2 Client Microarchitecture to server UART UART to sensor Secure Circuit Style LEON-2 Processor RAM/ FLASH AMBA Bridge In Port Out Port Chip Command Interface Crypto Module Master Key Oracle Template Matching Algorithm 11

12 Secure matching of Minutiae Input Template (secure) not ok ok Untrusted Software Query Response Oracle for each input minutia pair I: for each template minutia pair T: if (I ~ T) matching_count++; if (matching_count > N) then match = true; else match = false; 12

13 HW/SW Partitions for secure matching main oracle extract I secure_initialize( ); for each input minutia pair I: for each template pair T secure_compare( I ); if (secure_match( )) then match = true; else match = false; secure interface secure_initialize( ) { matching_count = 0; secure_compare( I ) { if (I == T) matching_count++; secure_match( ) { if (matching_count > N) then return true; else return false; Template C secure_initialize( ) secure_compare( ) secure_match( ) Template software driver secure instruction set hardware oracle 13

14 System-level Security Partitioning Server Protocol/Algorithm-level validation Client root-of-trust Architecture-level attacks Noncritical software Architecture-level validation Software driver Matching & Crypto SW Microarchitecture-level attacks Matching & Crypto HW Microarchitecture-level validation Circuit-level attacks Side-channel free circuit DPA-resistant HW 14

15 System-level Security Partitioning Server Protocol/Algorithm-level validation Client root-of-trust Architecture-level attacks Noncritical software Matching & Crypto SW GEZEL: Tool support for codesign Architecture-level validation Software driver Microarchitecture-level attacks Matching & Crypto HW Microarchitecture-level validation Circuit-level attacks Side-channel free circuit DPA-resistant HW 15

16 GEZEL Cycle-true Hardware Description Language Deterministic and Implementation-oriented Easy to learn and use (11-page LRM) Hardware Simulation Kernel Open-source (C++) with co-simulation backend Library block concept Toggle/Operation Profiler VHDL/Testvector Backend 16

17 Example of a GEZEL codesign Crypttext 128 aes_decoder done rst ld aes_top (AES/ECB) Key Plaintext instructions (0x ) data_in (0x ) data_out (0x ) Addr Data Embedded Software Driver µp Core FSMD model of hardware HW/SW Interfaces Library Blocks GEZEL Model Power Profile Cycle Performance VHDL SW Simulation (Instruction-Set Simulation) 17

18 An FSMD in GEZEL dp updown(out a : ns(4)) { reg c : ns(4); sfg inc { c = c + 1; a = c; sfg dec { c = c 1; a = c; +1-1 c <10 >0 s0 s1 fsm ctl_updown(updown) { initial s0; state if (c < 10) then (inc) -> s0; else (dec) -> if (c > 0) then (dec) -> s1; else (inc) -> s0; a 18

19 Equivalent SystemC model SC_MODULE(fsm_counter) { sc_in <bool> clk; sc_in <sc_uint<2> > flags_counter; sc_out<sc_uint<3> > ins_counter; sc_signal<int> state, state_next; void eval_logic(); void update_regs(); SC_CTOR(fsm_counter) { SC_METHOD(eval_logic); sensitive << flags_counter << state; SC_METHOD(update_regs); sensitive_pos(clk); state = state_next = 0; ; void fsm_counter::eval_logic() { sc_uint<3> flags = flags_counter.read(); switch(state) { case 0: if (flags[0]) { state_next = 1; ins_counter.write(c_do_dn c_do_io); FSM else { state_next = 0; ins_counter.write(c_do_up c_do_io); break; case 1: if (flags[1]) { state_next = 0; ins_counter.write(c_do_up c_do_io); else { state_next = 1; ins_counter.write(c_do_dn c_do_io); break; void fsm_counter::update_regs() { state = state_next; const int counter_do_io = 1; const int counter_do_up = 2; const int counter_do_dn = 4; SC_MODULE(dp_counter) { sc_in <bool> clk; sc_in <sc_uint<3> > ins_counter; sc_in <sc_uint<2> > ud; sc_out<sc_uint<3> > a; sc_out<sc_uint<2> > flags_counter; sc_signal<sc_uint<3> > c, c_next; sc_signal<sc_uint<2> > u, u_next; sc_signal<sc_uint<3> > nc; void eval_logic(); void update_regs(); SC_CTOR(dp_counter) { SC_METHOD(eval_logic); sensitive << c << nc << ud; SC_METHOD(update_regs); sensitive_pos(clk); c = c_next = 0; u = u_next = 0; ; Datapath void dp_counter::eval_logic() { sc_uint<3> sfg = ins_counter.read(); if (sfg & counter_do_io) { u_next = ud.read(); a.write(nc); flags_counter.write(u); if (sfg & counter_do_up) { nc = c.read() + 1; c_next = nc; if (sfg & counter_do_dn) { nc = c.read() - 1; c_next = nc; void dp_counter::update_regs() { u = u_next; c = c_next; 19

20 FSMD networks (Closed) FSMD networks wire FSMD F1 FSMD F2 GEZEL models Extended FSMD networks FSMD F1 FSMD F2 Library Block Library Block: - Interface in GEZEL - Body in C++ - IO, Cosimulation, IP 20

21 Platform Simulators with GEZEL GEZEL Application (by designer) EmSW Platform Simulator (by tool builder) parser GEZEL Kernel (C++ Library) VHDL codegen RT codegen executable object hierarchy user-defined ipblock impl. Communication Channel Instruction-Set Simulator Cycle-true System Scheduler 21

22 GEZEL Platform Simulator Examples Single-Processor Multi-Processor Hybrid GEZEL GEZEL GEZEL µp coproc µp µp network or coproc µp µp network or coproc SH3 ARM LEON AVR 32-bit 8-bit m-arm m-arm + n-8051 SystemC Java (JNI) port-mapped memory-mapped coprocessor-interface-mapped shared-memory buffer 22

23 The codesign process C aes(int *in, int *key, int *out) { //.. int main() {.. aes(i, k, o);.. partitioning HW/SW interface GEZEL dp aes(in di: ns(128); in k: ns(128); out do: ns(128)) {... Execution Model: How the coprocessor operates Data Transfer Model: How data is exchanged with it 23

24 Execution and Data Transfer Models High-level concerns (things to think of first) Low-level concerns (things to think of next) Execution Model Concurrency Model Co-processing Model Instruction-set Design Data Transfer Model Parameters & Arguments API Model Interface Design Cost-effective embedded systems do not have to be fastest; they have to be efficient MAX # bits gates. cycles 24

25 Execution Model - Concurrency Concurrency Model Block-pipelined in-buffer in in-buffer pipe-buffer pipe-buffer op in op out out-buffer out out-buffer For single bus, should have T op ~ (T in + T out ) 25

26 Data Transfer Model: Parms and Args Shared-memory model of C is forgiving. Any memory location will work as argument or as a parameter. e.g. int aes(int *din, int *key, int *out); for ECB: in-argument parameter out-argument In a coprocessor, difference is crucial Parameter needs to be set once, enhances the operation Argument needs to be set/retrieved every operation Wrong partitioning results in a communications bottleneck. 26

27 AES HW Performance - at JAVA level Execution stack: JAVA -> KVM -> LEON2 32-bit RISC -> AES HW aes(din, key, dout) aes(din, dout) log 10 (Cycles) X performance gain log 10 (Cycles) X performance gain X integration overhead X integration overhead AES in JAVA AES in HW (but called from JAVA) 0 AES in JAVA AES in HW (but called from JAVA) Compared to SW, HW is so fast, that API (and data copying) gets a key impact on resulting performance. 27

28 Data Transfer Model: API Model Driver API HW async IO SW interrupt Application close( ) write( ) ioctl( ) open( ) read( ) irq( ) control sync IO Adr polling( ) Data standard bus decode regfile Crypto hardware needs encapsulation Register set, Shared storage Address mapping Interrupts Coprocessor design is constrained by many interfaces Driver API Bus Interface Not just HW/SW interface design! design usage model top-down (from the programmer's viewpoint) 'Firmware-friendly design', David Fechser (EETimes series) 128 Crypto

29 The security dimension of coprocessors Need to consider security next to performance Execution Model Execution is a (time+energy) side-channel. Balance execution with constant-time/constantpower implementation techniques. Data Transfer Model API's are a (data) sidechannel [Bond, Anderson]. Parameters vs Arguments: Parameters may become side-channels [Chan]. 29

30 Power/Operation profiles GEZEL $option "profile_toggle_alledge_toggles" $option "profile_toggle_alledge_operations" Type Evals dpinput dpoutput reg sig assign_op ior_op xor_op and_op 2000 shr_op add_op 771 sub_op 845 not_op 2000 sel_op eq_op cycles of AES encryption for random data 30

31 Challenges for secure system design System level: Trusted computing aims to support protected capabilities, integrity measurement, integrity reporting. 'Trusted computing'covers only the general case, application-specific solutions are still needed Tool support (for Thumbpod-type of designs) Make security and trust 'measurable'as a quality of individual bits & operations on these bits (modeling issue) Partition algorithms in secure/non-secure parts: measure information spread in the algorithm Transform secure part for minimal complexity Validate & verify security protocol and protocol faults 31

32 Challenges for secure system design Embedded Security is a big opportunity for hardware and logic Hardware offers qualities that software has lost (viruses etc) Besides performance, offers assured and constant-time behavior Recent attack on hyper-threaded processors clarifies the issue for software But for Big Time Secure Hardware need modeling & design support for the complete security pyramid (protocol, algorithm,..., circuit) need to recognize the weakest link principle: look at the complete system and at multiple abstraction levels 32

33 Thank You! GEZEL Homepage:

Low Power Embedded Security

Low Power Embedded Security Low Power Embedded Security Ingrid Verbauwhede K.U.Leuven - ESAT - SCD/COSIC With thanks to: EMSEC and COSIC/HW team members E: ingrid.verbauwhede@esat.kuleuven.be www.emsec.ee.ucla.edu Ingrid Verbauwhede

More information

Design methods and tools for side channel attack resistant circuits

Design methods and tools for side channel attack resistant circuits Design methods and tools for side channel attack resistant circuits Ingrid Verbauwhede ingrid.verbauwhede-at-esat.kuleuven.be K.U.Leuven, COSIC Computer Security and Industrial Cryptography www.esat.kuleuven.be/cosic

More information

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4

More information

The Next Steps in the Evolution of Embedded Processors

The Next Steps in the Evolution of Embedded Processors The Next Steps in the Evolution of Embedded Processors Terry Kim Staff FAE, ARM Korea ARM Tech Forum Singapore July 12 th 2017 Cortex-M Processors Serving Connected Applications Energy grid Automotive

More information

The Happy Marriage of Architecture and Application in Next-Generation Reconfigurable Systems

The Happy Marriage of Architecture and Application in Next-Generation Reconfigurable Systems The Happy Marriage of Architecture and Application in Next-Generation Reconfigurable Systems Ingrid Verbauwhede University of California Los Angeles, & K.U.Leuven ingrid@ee.ucla.edu Patrick Schaumont Electrical

More information

Cost of cryptography in hardware

Cost of cryptography in hardware Cost of cryptography in hardware Ingrid Verbauwhede ingrid.verbauwhede-at-esat.kuleuven.be K.U.Leuven, ESAT- SCD - COSIC Computer Security and Industrial Cryptography Acknowledgements: Current and former

More information

Microcoded Coprocessor for Embedded Secure Biometric Authentication Systems

Microcoded Coprocessor for Embedded Secure Biometric Authentication Systems Microcoded Coprocessor for Embedded Secure Biometric Authentication Systems Shenglin Yang UCLA Dept of EE Los Angeles, CA 90095 +1-310-267-4940 shengliny@ee.ucla.edu Patrick Schaumont UCLA Dept of EE Los

More information

System Architecture Directions for Networked Sensors[1]

System Architecture Directions for Networked Sensors[1] System Architecture Directions for Networked Sensors[1] Secure Sensor Networks Seminar presentation Eric Anderson System Architecture Directions for Networked Sensors[1] p. 1 Outline Sensor Network Characteristics

More information

Energy Estimation Based on Hierarchical Bus Models for Power-Aware Smart Cards

Energy Estimation Based on Hierarchical Bus Models for Power-Aware Smart Cards Energy Estimation Based on Hierarchical Bus Models for Power-Aware Smart Cards U. Neffe, K. Rothbart, Ch. Steger, R. Weiss Graz University of Technology Inffeldgasse 16/1 8010 Graz, AUSTRIA {neffe, rothbart,

More information

Anand Raghunathan

Anand Raghunathan ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.26: Example: Hardware Architecture Anand Raghunathan raghunathan@purdue.edu ECE 695R: System-on-Chip Design, Fall 2014 Fall 2014,

More information

ECE 747 Digital Signal Processing Architecture. ESL Design Methodologies

ECE 747 Digital Signal Processing Architecture. ESL Design Methodologies ECE 747 Digital Signal Processing Architecture ESL Design Methodologies Spring 2006 W. Rhett Davis NC State University W. Rhett Davis NC State University ECE 747 Spring 2006 Slide 1 What is ESL Design?

More information

MICROKERNEL CONSTRUCTION 2014

MICROKERNEL CONSTRUCTION 2014 MICROKERNEL CONSTRUCTION 2014 THE FIASCO.OC MICROKERNEL Alexander Warg MICROKERNEL CONSTRUCTION 1 FIASCO.OC IN ONE SLIDE CAPABILITY-BASED MICROKERNEL API single system call invoke capability MULTI-PROCESSOR

More information

Security in NFC Readers

Security in NFC Readers Security in Readers Public Content and security, a different kind of wireless Under the hood of based systems Enhancing the security of an architecture Secure data exchange Information security goals Cryptographic

More information

Designing Security & Trust into Connected Devices

Designing Security & Trust into Connected Devices Designing Security & Trust into Connected Devices Rob Coombs Security Marketing Director TechCon 11/10/15 Agenda Introduction Security Foundations on Cortex-M Security Foundations on Cortex-A Use cases

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Outline Embedded systems overview What is embedded system Characteristics Elements of embedded system Trends in embedded system Design cycle 2 Computing Systems Most of

More information

Blind Differential Cryptanalysis for Enhanced Power Attacks

Blind Differential Cryptanalysis for Enhanced Power Attacks Blind Differential Cryptanalysis for Enhanced Power Attacks Bart Preneel COSIC K.U.Leuven - Belgium bart.preneel(at)esat.kuleuven.be Joint work with Helena Handschuh Concept Differential cryptanalysis

More information

Energy and Performance Evaluation of an FPGA-Based SoC Platform with AES and PRESENT Coprocessors

Energy and Performance Evaluation of an FPGA-Based SoC Platform with AES and PRESENT Coprocessors Energy and Performance Evaluation of an FPGA-Based SoC Platform with AES and PRESENT Coprocessors Xu Guo, Zhimin Chen, and Patrick Schaumont Virginia Tech, Blacksburg VA 24061, USA {xuguo,chenzm,schaum}@vt.edu

More information

General Purpose Processors

General Purpose Processors Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program

More information

Smart Card ICs. Dr. Kaushik Saha. STMicroelectronics. CSME 2002 (Chandigarh, India) STMicroelectronics

Smart Card ICs. Dr. Kaushik Saha. STMicroelectronics. CSME 2002 (Chandigarh, India) STMicroelectronics Smart Card ICs Dr. Kaushik Saha STMicroelectronics CSME 2002 (Chandigarh, India) STMicroelectronics ST Products & Solutions Agenda Smart cards market overview Issues in the Smartcard Business ST Solutions

More information

ARM Security Solutions and Numonyx Authenticated Flash

ARM Security Solutions and Numonyx Authenticated Flash ARM Security Solutions and Numonyx Authenticated Flash How to integrate Numonyx Authenticated Flash with ARM TrustZone* for maximum system protection Introduction Through a combination of integrated hardware

More information

Safely and Efficiently Multiprogramming a 64kB Computer

Safely and Efficiently Multiprogramming a 64kB Computer Safely and Efficiently Multiprogramming a 64kB Computer Amit Levy Daniel Giffin Bradford Campbell Branden Ghena Pat Pannuto Prabal Dutta Philip Levis Niklas Adolfsson Fredrik Nilsson Josh Adkins Neal Jackson

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

Date: 13 June Location: Sophia Antipolis. Integrating the SIM. Dr. Adrian Escott. Qualcomm Technologies, Inc.

Date: 13 June Location: Sophia Antipolis. Integrating the SIM. Dr. Adrian Escott. Qualcomm Technologies, Inc. Date: 13 June 2018 @qualcomm Location: Sophia Antipolis Integrating the SIM Dr. Adrian Escott Qualcomm Technologies, Inc. Agenda 1 2 3 4 5 6 Path to isim isim Size benefit Hardware Architecture Certification

More information

CREDENTSYS CARD FAMILY

CREDENTSYS CARD FAMILY CREDENTSYS CARD FAMILY Credentsys is a secure smart card family that is designed for national ID systems, passports, and multi-use enterprise security environments. The family is certified to FIPS 140-2

More information

The embedded security challenge: Protecting bits at rest

The embedded security challenge: Protecting bits at rest The embedded security challenge: Protecting bits at rest Patrick Schaumont schaum@vt.edu Acknowledgements: Eric Simpson, Pengyuan Yu Secure Embedded Systems Group ECE Department Secret bits-at-rest Hi-Res

More information

JSM: A small Java Processor Core for Smart Cards and Embedded Systems

JSM: A small Java Processor Core for Smart Cards and Embedded Systems JSM: A small Java Processor Core for Smart Cards and Embedded Systems, Hagen Ploog, Nico Bannow,Dirk Timmermann Outline Goals Smart cards Java on smart cards Design and Functionality of Java processor

More information

Designing Security & Trust into Connected Devices

Designing Security & Trust into Connected Devices Designing Security & Trust into Connected Devices Eric Wang Senior Technical Marketing Manager Shenzhen / ARM Tech Forum / The Ritz-Carlton June 14, 2016 Agenda Introduction Security Foundations on Cortex-A

More information

Design of Embedded DSP Processors Unit 5: Data access. 9/11/2017 Unit 5 of TSEA H1 1

Design of Embedded DSP Processors Unit 5: Data access. 9/11/2017 Unit 5 of TSEA H1 1 Design of Embedded DSP Processors Unit 5: Data access 9/11/2017 Unit 5 of TSEA26-2017 H1 1 Data memory in a Processor Store Data FIFO supporting DSP executions Computing buffer Parameter storage Access

More information

Connecting Securely to the Cloud

Connecting Securely to the Cloud Connecting Securely to the Cloud Security Primer Presented by Enrico Gregoratto Andrew Marsh Agenda 2 Presentation Speaker Trusting The Connection Transport Layer Security Connecting to the Cloud Enrico

More information

Synthesis of Fault-Attack Countermeasures for Cryptographic Circuits

Synthesis of Fault-Attack Countermeasures for Cryptographic Circuits Synthesis of Fault-Attack Countermeasures for Cryptographic Circuits Hassan Eldib, Meng Wu, and Chao Wang CAV, July 23, 2016 Cryptographic Algorithm: an example Plaintext Chip Ciphertext 0110 1001 1011

More information

The DragonBeam Framework: Hardware-Protected Security Modules for In-Place Intrusion Detection

The DragonBeam Framework: Hardware-Protected Security Modules for In-Place Intrusion Detection : Hardware-Protected Security Modules for In-Place Intrusion Detection Man-Ki Yoon, Mihai Christodorescu, Lui Sha, Sibin Mohan University of Illinois at Urbana-Champaign Qualcomm Research Silicon Valley

More information

SECURITY CRYPTOGRAPHY Cryptography Overview Brochure. Cryptography Overview

SECURITY CRYPTOGRAPHY Cryptography Overview Brochure. Cryptography Overview SECURITY CRYPTOGRAPHY Cryptography Overview Brochure Cryptography Overview DPA-resistant and Standard Cryptographic Hardware Cores DPA (Differential Power Analysis) Resistant Hardware Cores prevent against

More information

ECRYPT II Workshop on Physical Attacks November 27 th, Graz, Austria. Stefan Mangard.

ECRYPT II Workshop on Physical Attacks November 27 th, Graz, Austria. Stefan Mangard. Building Secure Hardware ECRYPT II Workshop on Physical Attacks November 27 th, Graz, Austria Stefan Mangard Infineon Technologies, Munich, Germany Stefan.Mangard@infineon.com Outline Assets and Requirements

More information

CISC RISC. Compiler. Compiler. Processor. Processor

CISC RISC. Compiler. Compiler. Processor. Processor Q1. Explain briefly the RISC design philosophy. Answer: RISC is a design philosophy aimed at delivering simple but powerful instructions that execute within a single cycle at a high clock speed. The RISC

More information

Chapter 1 The Nature of Hardware and Software

Chapter 1 The Nature of Hardware and Software Chapter 1 The Nature of Hardware and Software 1.1 Introducing Hardware/Software Codesign Hardware/software codesign is a broad term to capture many different things in electronic system design. We start

More information

Titan silicon root of trust for Google Cloud

Titan silicon root of trust for Google Cloud Scott Johnson Dominic Rizzo Secure Enclaves Workshop 8/29/2018 Titan silicon root of trust for Google Cloud 1 Cloud Perspective: We need a silicon root of trust Software infrastructure Datacenter equipment

More information

A Practical Introduction to Hardware/Software Codesign

A Practical Introduction to Hardware/Software Codesign A Practical Introduction to Hardware/Software Codesign Patrick R. Schaumont A Practical Introduction to Hardware/Software Codesign 123 Dr. Patrick R. Schaumont Virginia Tech Bradley Dept. Electrical &

More information

An interactive codesign environment for domain-specific coprocessors

An interactive codesign environment for domain-specific coprocessors An interactive codesign environment for domain-specific coprocessors PATRICK SCHAUMONT AND DORIS CHING University of California at Los Angeles and INGRID VERBAUWHEDE University of California at Los Angeles,

More information

A systematic approach to eliminating the vulnerabilities in smart cards evaluation

A systematic approach to eliminating the vulnerabilities in smart cards evaluation A systematic approach to eliminating the vulnerabilities in smart cards evaluation Hongsong Shi, Jinping Gao, Chongbing Zhang hongsongshi@gmail.com China Information Technology Security Evaluation Center

More information

Designing Security & Trust into Connected Devices

Designing Security & Trust into Connected Devices Designing Security & Trust into Connected Devices Eric Wang Sr. Technical Marketing Manager Tech Symposia China 2015 November 2015 Agenda Introduction Security Foundations on ARM Cortex -M Security Foundations

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

A Virtual Development Environment for Smart Card Applications

A Virtual Development Environment for Smart Card Applications A Virtual Development Environment for Smart Card Applications Sang-Young Cho Computer Science and Engineering Department Hankuk University of Foreign Studies San89, Wangsan, Mohyeon, Cheoin, Yongin, Kyeonggi

More information

SystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc.

SystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc. SystemC abstractions and design refinement for HW- SW SoC design Dündar Dumlugöl Vice President of Engineering, CoWare, Inc. Overview SystemC abstraction levels & design flow Interface Synthesis Analyzing

More information

SMART CARDS. Miguel Monteiro FEUP / DEI

SMART CARDS. Miguel Monteiro FEUP / DEI SMART CARDS Miguel Monteiro apm@fe.up.pt FEUP / DEI WHAT IS A SMART CARD Distinguishable characteristics Can participate in automated electronic transactions Used primarily to add security Not easily forged

More information

Secure Design Methodology and The Tree of Trust

Secure Design Methodology and The Tree of Trust Secure Design Methodology and The Tree of Trust Secure Embedded Systems Group ECE Department Virginia Tech The new Cool: Reverse Engineering... Microsoft Zune (http://bunniestudios.com) Under the Hood

More information

MM23SC8128RM Flash Security Turbo Microcontroller Smart Card Chip With 1024 bit RSA & Maths Co-processor

MM23SC8128RM Flash Security Turbo Microcontroller Smart Card Chip With 1024 bit RSA & Maths Co-processor Flash Security Turbo Microcontroller Smart Card Chip With 1024 bit RSA & Maths Co-processor 08 September 2009 This document is property of My-MS and My-MS has the right to make any changes to the contents

More information

Part 2: Principles for a System-Level Design Methodology

Part 2: Principles for a System-Level Design Methodology Part 2: Principles for a System-Level Design Methodology Separation of Concerns: Function versus Architecture Platform-based Design 1 Design Effort vs. System Design Value Function Level of Abstraction

More information

Advanced Synthesis Techniques

Advanced Synthesis Techniques Advanced Synthesis Techniques Reminder From Last Year Use UltraFast Design Methodology for Vivado www.xilinx.com/ultrafast Recommendations for Rapid Closure HDL: use HDL Language Templates & DRC Constraints:

More information

AT90SO36 Summary Datasheet

AT90SO36 Summary Datasheet AT90SO Summary Datasheet Features General High-performance, Low-power -/-bit Enhanced RISC Architecture Microcontroller - Powerful Instructions (Most Executed in a Single Clock Cycle) Low Power Idle and

More information

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems Designing, developing, debugging ARM and heterogeneous multi-processor systems Kinjal Dave Senior Product Manager, ARM ARM Tech Symposia India December 7 th 2016 Topics Introduction System design Software

More information

Fault Attacks on Embedded Software: Threats, Design, and Mitigation

Fault Attacks on Embedded Software: Threats, Design, and Mitigation Fault Attacks on Embedded Software: Threats, Design, and Mitigation Patrick Schaumont Professor Bradley Department of ECE Virginia Tech Acknowledgements FAME Project Team https://sites.google.com/view/famechip

More information

Overhead Evaluation about Kprobes and Djprobe (Direct Jump Probe)

Overhead Evaluation about Kprobes and Djprobe (Direct Jump Probe) Overhead Evaluation about Kprobes and Djprobe (Direct Jump Probe) Masami Hiramatsu Hitachi, Ltd., SDL Jul. 13. 25 1. Abstract To implement flight recorder system, the overhead

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

Security of Embedded Hardware Systems Insight into Attacks and Protection of IoT Devices

Security of Embedded Hardware Systems Insight into Attacks and Protection of IoT Devices Security of Embedded Hardware Systems Insight into Attacks and Protection of IoT Devices Dr. Johann Heyszl, Head of Hardware Security Department Fraunhofer-Institute for Applied and Integrated Security

More information

Intro to High Level Design with SystemC

Intro to High Level Design with SystemC Intro to High Level Design with SystemC Aim To introduce SystemC, and its associated Design Methodology Date 26th March 2001 Presented By Alan Fitch Designer Challenges Design complexity System on Chip

More information

SIDE CHANNEL ATTACKS AGAINST IOS CRYPTO LIBRARIES AND MORE DR. NAJWA AARAJ HACK IN THE BOX 13 APRIL 2017

SIDE CHANNEL ATTACKS AGAINST IOS CRYPTO LIBRARIES AND MORE DR. NAJWA AARAJ HACK IN THE BOX 13 APRIL 2017 SIDE CHANNEL ATTACKS AGAINST IOS CRYPTO LIBRARIES AND MORE DR. NAJWA AARAJ HACK IN THE BOX 13 APRIL 2017 WHAT WE DO What we do Robust and Efficient Cryptographic Protocols Research in Cryptography and

More information

SoC Design for the New Millennium Daniel D. Gajski

SoC Design for the New Millennium Daniel D. Gajski SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski Outline System gap Design flow Model algebra System environment

More information

Smartcards. ISO 7816 & smartcard operating systems. Erik Poll Digital Security Radboud University Nijmegen

Smartcards. ISO 7816 & smartcard operating systems. Erik Poll Digital Security Radboud University Nijmegen Smartcards ISO 7816 & smartcard operating systems Erik Poll Digital Security Radboud University Nijmegen 1 Standard for contact smartcards ISO7816 7816-1 Physical characteristics 7816-2 Dimension & size

More information

Security in sensors, an important requirement for embedded systems

Security in sensors, an important requirement for embedded systems Security in sensors, an important requirement for embedded systems Georg Sigl Institute for Security in Information Technology Technical University Munich sigl@tum.de Fraunhofer AISEC Institute for Applied

More information

Computer Memory. Textbook: Chapter 1

Computer Memory. Textbook: Chapter 1 Computer Memory Textbook: Chapter 1 ARM Cortex-M4 User Guide (Section 2.2 Memory Model) STM32F4xx Technical Reference Manual: Chapter 2 Memory and Bus Architecture Chapter 3 Flash Memory Chapter 36 Flexible

More information

IDCore. Flexible, Trusted Open Platform. financial services & retail. Government. telecommunications. transport. Alexandra Miller

IDCore. Flexible, Trusted Open Platform. financial services & retail. Government. telecommunications. transport. Alexandra Miller IDCore Flexible, Trusted Open Platform financial services & retail enterprise > SOLUTION Government telecommunications transport Trusted Open Platform Java Card Alexandra Miller >network identity >smart

More information

AT90SO72 Summary Datasheet

AT90SO72 Summary Datasheet AT90SO Summary Datasheet Features General High-performance, Low-power -/-bit Enhanced RISC Architecture Microcontroller - Powerful Instructions (Most Executed in a Single Clock Cycle) Low Power Idle and

More information

Low budget cryptography to enable wireless security

Low budget cryptography to enable wireless security Low budget cryptography to enable wireless security Ingrid Verbauwhede ingrid.verbauwhede-at-esat.kuleuven.be K.U.Leuven, COSIC Computer Security and Industrial Cryptography www.esat.kuleuven.be/cosic

More information

ECE 250 / CPS 250 Computer Architecture. Processor Design Datapath and Control

ECE 250 / CPS 250 Computer Architecture. Processor Design Datapath and Control ECE 250 / CPS 250 Computer Architecture Processor Design Datapath and Control Benjamin Lee Slides based on those from Andrew Hilton (Duke), Alvy Lebeck (Duke) Benjamin Lee (Duke), and Amir Roth (Penn)

More information

Sicherheitsaspekte für Flashing Over The Air in Fahrzeugen. Axel Freiwald 1/2017

Sicherheitsaspekte für Flashing Over The Air in Fahrzeugen. Axel Freiwald 1/2017 Sicherheitsaspekte für Flashing Over The Air in Fahrzeugen Axel Freiwald 1/2017 All OEMs Will Implement Software OTA As Soon As Possible IHS Study Motivation: Save on recalls caused by software bugs Evolution

More information

SEL-3021 Serial Encrypting Transceiver Security Policy Document Version 1.9

SEL-3021 Serial Encrypting Transceiver Security Policy Document Version 1.9 SEL-3021 Serial Encrypting Transceiver Security Policy Document Version 1.9 Schweitzer Engineering Laboratories, Inc. May 21, 2007 Copyright 2005-2007 Schweitzer Engineering Laboratories, Inc. May be reproduced

More information

Advantages of MIPI Interfaces in IoT Applications

Advantages of MIPI Interfaces in IoT Applications Advantages of MIPI Interfaces in IoT Applications IoT DevCon Conference Hezi Saar April 27, 2017 Abstract In addition to sensors, high-resolution cameras are key enablers of IoT devices. The challenge

More information

Atmel Trusted Platform Module June, 2014

Atmel Trusted Platform Module June, 2014 Atmel Trusted Platform Module June, 2014 1 2014 Atmel Corporation What is a TPM? The TPM is a hardware-based secret key generation and storage device providing a secure vault for any embedded system Four

More information

6.857 L17. Secure Processors. Srini Devadas

6.857 L17. Secure Processors. Srini Devadas 6.857 L17 Secure Processors Srini Devadas 1 Distributed Computation Example: Distributed Computation on the Internet (SETI@home, etc.) Job Dispatcher Internet DistComp() { x = Receive(); result = Func(x);

More information

Secure RISC-V. A FIPS140-2 Compliant Trust Module for Quad 64-bit RISC-V Core Complex

Secure RISC-V. A FIPS140-2 Compliant Trust Module for Quad 64-bit RISC-V Core Complex Secure RISC-V A FIPS140-2 Compliant Trust Module for Quad 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula, Software Hardware Consulting Group Kesami Hagiwara, Cong-Kha Pham, University of Electro-Communications

More information

H1PROT.PDF 14 Pages Last Revised 02/11/06. Micro RWD H1/S Protocol

H1PROT.PDF 14 Pages Last Revised 02/11/06. Micro RWD H1/S Protocol Data Sheet H1PROT.PDF 14 Pages Last Revised 02/11/06 Micro RWD H1/S Protocol The MicroRWD H1/S version is a complete reader and tag acceptance solution for Hitag 1 RF transponders (including Hitag S256

More information

Interfacing a High Speed Crypto Accelerator to an Embedded CPU

Interfacing a High Speed Crypto Accelerator to an Embedded CPU Interfacing a High Speed Crypto Accelerator to an Embedded CPU Alireza Hodjat ahodjat @ee.ucla.edu Electrical Engineering Department University of California, Los Angeles Ingrid Verbauwhede ingrid @ee.ucla.edu

More information

MS6003 Summary Datasheet

MS6003 Summary Datasheet MS6003 Summary Datasheet Features General Based on the ARM SC300 SecureCore 32-bit RISC Processor featuring: - Harvard architecture - Thumb2 High-code-density Instruction Set - 3-stage pipeline architecture

More information

Computer Security: Principles and Practice

Computer Security: Principles and Practice Computer Security: Principles and Practice Chapter 3 User Authentication First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown User Authentication fundamental security building

More information

Secure Set Intersection with Untrusted Hardware Tokens

Secure Set Intersection with Untrusted Hardware Tokens Secure Set Intersection with Untrusted Hardware Tokens Thomas Schneider Engineering Cryptographic Protocols Group, TU Darmstadt http://encrypto.de joint work with Marc Fischlin (TU Darmstadt) Benny Pinkas

More information

2 nd ETSI Security Workshop: Future Security. Smart Cards. Dr. Klaus Vedder. Chairman ETSI TC SCP Group Senior VP, Giesecke & Devrient

2 nd ETSI Security Workshop: Future Security. Smart Cards. Dr. Klaus Vedder. Chairman ETSI TC SCP Group Senior VP, Giesecke & Devrient 2 nd ETSI Security Workshop: Future Security Smart Cards Dr. Klaus Vedder Chairman ETSI TC SCP Group Senior VP, Giesecke & Devrient ETSI TC SCP, the Smart Card Committee 19 Years of Dedication and Real-life

More information

Micro RWD Quad-Tag Reader

Micro RWD Quad-Tag Reader Data Sheet RWD_QT.pdf 8 Pages Last Revised 08/05/06 Micro RWD Quad-Tag Reader The MicroRWD QT (Quad-Tag) version is a complete 125kHz reader solution for Hitag 1 (including Hitag S in Plain Memory mode),

More information

Oberthur ID-One Cosmo 64 v5.4 D. FIPS Level 3. Security Policy. Public Version. Version 1.0. May 22, 2007

Oberthur ID-One Cosmo 64 v5.4 D. FIPS Level 3. Security Policy. Public Version. Version 1.0. May 22, 2007 Oberthur ID-One Cosmo 64 v5.4 D FIPS 140-2 Level 3 Public Version Version 1.0 May 22, 2007 Oberthur Card Systems 4250 Pleasant Valley Road Chantilly, VA 20151-1221 USA +1 (703) 263-0100 Version Control

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015 Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for

More information

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013 2499-20 International Training Workshop on FPGA Design for Scientific Instrumentation and Computing 11-22 November 2013 High-Level Synthesis: how to improve FPGA design productivity RINCON CALLE Fernando

More information

Trusted Execution Environments (TEE) and the Open Trust Protocol (OTrP) Hannes Tschofenig and Mingliang Pei 16 th July IETF 99 th, Prague

Trusted Execution Environments (TEE) and the Open Trust Protocol (OTrP) Hannes Tschofenig and Mingliang Pei 16 th July IETF 99 th, Prague Trusted Execution Environments (TEE) and the Open Trust Protocol (OTrP) Hannes Tschofenig and Mingliang Pei 16 th July 2017 -- IETF 99 th, Prague 2 What do we mean by security? Communication Security Aims

More information

How to protect Automotive systems with ARM Security Architecture

How to protect Automotive systems with ARM Security Architecture How to protect Automotive systems with ARM Security Architecture Thanks to this app You can manoeuvre The new Forpel Using your smartphone! Too bad it s Not my car Successful products will be attacked

More information

Integral Memory PLC. Crypto Dual (Underlying Steel Chassis) and Crypto Dual Plus (Underlying Steel Chassis) FIPS Security Policy

Integral Memory PLC. Crypto Dual (Underlying Steel Chassis) and Crypto Dual Plus (Underlying Steel Chassis) FIPS Security Policy Integral Memory PLC. Chassis) and Crypto Dual Plus (Underlying FIPS 140-2 Security Policy Table of Contents 1. INTRODUCTION... 1 1.1 Purpose....1 1.2 References... 1 1.3 Document History... 1 2. PRODUCT

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007 EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides

More information

What are Exceptions? EE 457 Unit 8. Exception Processing. Exception Examples 1. Exceptions What Happens When Things Go Wrong

What are Exceptions? EE 457 Unit 8. Exception Processing. Exception Examples 1. Exceptions What Happens When Things Go Wrong 8. 8.2 What are Exceptions? EE 457 Unit 8 Exceptions What Happens When Things Go Wrong Exceptions are rare events triggered by the hardware and forcing the processor to execute a software handler Similar

More information

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT 1 Lecture 5: Computing Platforms Asbjørn Djupdal ARM Norway, IDI NTNU 2013 2 Lecture overview Bus based systems Timing diagrams Bus protocols Various busses Basic I/O devices RAM Custom logic FPGA Debug

More information

ID-One PIV (Type A) FIPS Security Policy. (PIV Applet Suite on ID-One Cosmo V7-n) Public Version

ID-One PIV (Type A) FIPS Security Policy. (PIV Applet Suite on ID-One Cosmo V7-n) Public Version ID-One PIV (Type A) (PIV Applet Suite on ID-One Cosmo V7-n) FIPS 140-2 Security Policy Public Version Oberthur Technologies of America 4250 Pleasant Valley Road Chantilly, VA 20151-1221 - USA Document

More information

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc.

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc. Transaction Level Modeling with SystemC Thorsten Grötker Engineering Manager Synopsys, Inc. Outline Abstraction Levels SystemC Communication Mechanism Transaction Level Modeling of the AMBA AHB/APB Protocol

More information

Micro RWD H2 Protocol

Micro RWD H2 Protocol Data Sheet H2PROT.PDF 9 Pages Last Revised 04/11/09 Micro RWD H2 Protocol The MicroRWD H2 version is a complete reader and tag acceptance solution for Hitag 2 RF transponders. The solution only needs a

More information

Rajat Moona j CSE, IIT Kanpur October 11, Reach IIT K

Rajat Moona j CSE, IIT Kanpur October 11, Reach IIT K Rajat Moona j CSE, IIT Kanpur October 11, 2010 Reach 2010 @ IIT K Identity Establishment Problem Smart Card Technology IIT Kanpur Contribution ID related applications DL/RC, MNIC, e Passport Protection

More information

TCG TPM2 Software Stack & Embedded Linux. Philip Tricca

TCG TPM2 Software Stack & Embedded Linux. Philip Tricca TCG TPM2 Software Stack & Embedded Linux Philip Tricca philip.b.tricca@intel.com Agenda Background Security basics Terms TPM basics What it is / what it does Why this matters / specific features TPM Software

More information

Java Card Technology-based Corporate Card Solutions

Java Card Technology-based Corporate Card Solutions Java Card Technology-based Corporate Card Solutions Jack C. Pan, Leader and Sr. Architect Hervé Garcia, Tech. Project Manager econsumer Emerging Technologies, Citibank Overall Presentation Goal The objectives

More information

CoSign Hardware version 7.0 Firmware version 5.2

CoSign Hardware version 7.0 Firmware version 5.2 CoSign Hardware version 7.0 Firmware version 5.2 FIPS 140-2 Non-Proprietary Security Policy Level 3 Validation July 2010 Copyright 2009 AR This document may be freely reproduced and distributed whole and

More information

Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor

Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor Hari Kannan, Michael Dalton, Christos Kozyrakis Computer Systems Laboratory Stanford University Motivation Dynamic analysis help

More information

Terra: A Virtual Machine-Based Platform for Trusted Computing by Garfinkel et al. (Some slides taken from Jason Franklin s 712 lecture, Fall 2006)

Terra: A Virtual Machine-Based Platform for Trusted Computing by Garfinkel et al. (Some slides taken from Jason Franklin s 712 lecture, Fall 2006) Terra: A Virtual Machine-Based Platform for Trusted Computing by Garfinkel et al. (Some slides taken from Jason Franklin s 712 lecture, Fall 2006) Trusted Computing Hardware What can you do if you have

More information

Vineet Kumar Sharma ( ) Ankit Agrawal ( )

Vineet Kumar Sharma ( ) Ankit Agrawal ( ) - A new approach to hardware security analysis - Copy Protection in Modern Microcontrollers Vineet Kumar Sharma (200601093) Ankit Agrawal (200601003) Presentation Flow Why a need of Secure of Microcontrollers?

More information

WHAT FUTURE FOR CONTACTLESS CARD SECURITY?

WHAT FUTURE FOR CONTACTLESS CARD SECURITY? WHAT FUTURE FOR CONTACTLESS CARD SECURITY? Alain Vazquez (alain.vazquez@louveciennes.sema.slb.com) 1/27 AV Contents Major contactless features : summary Contactless major constraints Major security issues

More information

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors Patrick Keliher, Simics Field Application Engineer Software Development Using Full System Simulation with Freescale QorIQ Communications Processors 1 2013 Wind River. All Rights Reserved. Agenda Introduction

More information