Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Hao wang and Jyh-Charn (Steve) Liu
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Trusted Design In FPGAs Steve Trimberger Xilinx Research Labs.
Survey of Reconfigurable Logic Technologies
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Hardwired networks on chip for FPGAs and their applications
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
Introduction to Reconfigurable Computing CS61c sp06 Lecture (5/5/06) Hayden So.
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Configurable System-on-Chip: Xilinx EDK
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
February 4, 2002 John Wawrzynek
The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Digital System Design EEE344 Lecture 1 INTRODUCTION TO THE COURSE
Field Programmable Gate Array (FPGA) Layout An FPGA consists of a large array of Configurable Logic Blocks (CLBs) - typically 1,000 to 8,000 CLBs per chip.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and.
BR 1/001 Implementation Technologies We can implement a design with many different implementation technologies - different implementation technologies.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
DSD Presentation Introduction of Actel FPGA. page 22015/9/11 Presentation Outline  Overview  Actel FPGA Characteristic  Actel FPGA Architecture  Actel.
A 3D Data Transformation Processor Dimitrios Megas, Kleber Pizolato, Timothy Levin, and Ted Huffmire WESS 2012 October 11, 2012.
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
ECEn 191 – New Student Seminar - Session 9: Microprocessors, Digital Design Microprocessors and Digital Design ECEn 191 New Student Seminar.
Automated Design of Custom Architecture Tulika Mitra
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
Threats and Challenges in FPGA Security Ted Huffmire Naval Postgraduate School December 10, 2008.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
® Java Debug Hardware Modules Using JBits by Jonathan Ballagh Eric Keller Peter Athanas Reconfigurable Architectures Workshop 2001.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
EE3A1 Computer Hardware and Digital Design
Implementing Memory Protection Primitives on Reconfigurable Hardware Brett Brotherton Nick Callegari Ted Huffmire.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
Spring 2007 W. Rhett Davis with minor editing by J. Dean Brock UNCA ECE Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 1: Introduction.
Moats and Drawbridges: An Isolation Primitive for Reconfigurable Hardware Based Systems Ted Huffmire, Brett Brotherton, Gang Wang, Timothy Sherwood, Ryan.
JRoute: A Run-Time Routing API for FPGAs by Eric Keller JRoute RAW2000 5/1/00 ®
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Reconfigurable Embedded Processor Peripherals Xilinx Aerospace and Defense Applications Brendan Bridgford Brandon Blodget.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
CEC 220 Digital Circuit Design Programmable Logic Devices
Survey of Reconfigurable Logic Technologies
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
FPGA Technology Overview Carl Lebsack * Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang.
System on a Programmable Chip (System on a Reprogrammable Chip)
Kandemir224/MAPLD Reliability-Aware OS Support for FPGA-Based Systems M. Kandemir, G. Chen, and F. Li Department of Computer Science & Engineering.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Programmable Hardware: Hardware or Software?
Hardware Support for Trustworthy Systems
From Silicon to Microelectronics Yahya Lakys EE & CE 200 Fall 2014
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
ELEN 468 Advanced Logic Design
Presentation transcript:

Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy

Disclaimer The views presented in this course are those of the speaker and do not necessarily reflect the views of the United States Department of Defense.

Lecture 2 Overview Reconfigurable Security Reconfigurable hardware is widely used due to growing non-recurring engineering (NRE) cost for ASICs

Field Programmable Gate Arrays Design of high-performance systems ASIC chips have been used traditionally Need something in between CPU and ASIC

Field Programmable Gate Arrays Raises interesting security questions Set of security primitives Examples of FPGA systems

FPGA Chip Reconfigurable Hardware SDRAM (off-chip) DRAM Reference Monitor Crypto Core CPU Core AES μPμP μPμP

Tradeoffs Software vs. Hardware ASIC performance comes at a high NRE cost Design, Verification Fabrication, Packaging, Test Security CPU ASIC FPGA General-PurposeApplication-Specific

Motivation Ideal: Performance approaching ASIC, cost approaching CPU Problem: Embedded systems designers need security primitives Opportunities: – Spatial mapping of apps to device – Build primitives in reconfigurable hardware

Outline Motivation and Background Security Primitives for FPGAs – Logical isolation – Interconnect tracing – Secure communication architecture – Configuration scrubbing

Motivation and Background Security Primitives for FPGAs – Logical isolation – Interconnect tracing – Secure communication architecture – Configuration scrubbing

Protection on Embedded Systems Separation Kernels DRAM app1 app3 app2 kernel Reconfigurable Protection DRAM app1 app2 app3 Reference Monitor Physical Software SpatialTemporal

FPGA Systems SDRAM (off-chip) DRAM FPGA chip μPμP μPμP μPμP μPμP SRAM Block BRAM FPGA Fabric

FPGA Applications Mem FPGA App1 App2

FPGA Fabric Switchbox CLB A B Out

Mixed Trust Cores Multiple cores on one chip Cores are provided by third parties Sophisticated software tools developed by third parties

Mixed Trust Cores Entanglement

Mixed Trust Tool Chains

Logical Isolation Motivation Security Primitives for FPGAs – Logical isolation – Interconnect tracing – Secure communication architecture – Configuration scrubbing

Moats Goal: Physical isolation of cores Opportunity: Divide computation spatially Exploit spatial nature of FPGAs to provide isolation

FPGA Chip Moats SDRAM (off-chip) DRAM Reference Monitor Crypto Core CPU Core AES

Moats

Methodology Tradeoff between area and performance Use VPR to synthesize 20 largest MCNC benchmark circuits on different routing configurations

Effective Utilization A Dead areas for moats (Depends on # Cores) B Inflation due to restricted routing (~10%) C Useful logic with no inflation (unrestricted routing) U Eff =C/(A+B+C) 100%

Moat Tradeoffs Dead Space Inflation Useful Logic Moat Size = 2 Dead Space Inflation Useful Logic Moat Size = 1 Dead Space Useful Logic Moat Size = 6 Inflation

Effective Utilization

Interconnect Tracing Motivation Security Primitives for FPGAs – Logical isolation – Interconnect tracing – Secure communication architecture – Configuration scrubbing

Drawbridges Goal: Ensure that only specified communication is established between cores Opportunity: Spatial isolation Specify legal connections Statically verify these connections

FPGA Chip Interconnect Tracing SDRAM (off-chip) DRAM Reference Monitor Crypto Core CPU Core AES μPμP μPμP X X

Jbits Interface Jbits is a java software interface from Xilinx It provides abstract methods for – Reading bitstreams – Modifying bitstreams – Creating bitstreams Allows us to obtain the information we need to trace the routes from the actual bitstream

How Route Tracer Works Initialization – Parse Input file to get all modules, pins, and connections – Obtain list of search pins for incoming and outgoing connections – Trace all connections from input pins – Trace all connections leaving modules – Reverse Trace to ensure that there are no invalid connections entering the modules

Route Tracing Algorithm RouteTree trace(pin, module) { add pin to routeTree for all sinks of wire this pin is on { if sink is connected to pin if sink has already been search return if sink is in another module check if connection is valid return add sink to list of searched pins trace(sink, module) }

Route Tracing SMCLBSMCLB SMCLBSMCLB SMCLB SMCLB SMCLBSMCLB SMCLBSMCLB SM CLBSMCLB SMCLBSMCLB SMCLB SMCLB SMCLBSMCLB SMCLBSMCLB SM

Example Input file # denotes a comment # first declare the device type #D device D XC2V6000 FF1517 #N moudules pins connections N #M modulename xmin xmax # ymin ymax M MB M MB M MB M MB #P pinname in/out P B25 rst #Reset P C36 in #rs_232_rx_pin P J30 out #rs_232_tx_pin P C8 in #rs_232_rx2_pin P C9 out #rs_232_tx2_pin #C source destination width C B25 MB1 1 C C36 MB1 1 C MB1 J30 1 C B25 MB2 1 C MB1 MB2 32 C MB2 MB1 32 C B25 MB3 1 C MB3 C9 1 C C8 MB3 1 C B25 MB4 1 C MB4 MB3 32 C MB3 MB4 32

Output from Route Tracer. Found Valid connection:MB1 to MB2 CLB.S6BEG5[57][33]. [CLB.S6END5[51][33]].. CLB.S6BEG5[51][33]... [CLB.S6END5[45][33]].... CLB.S6BEG3[45][33]..... [CLB.S6END3[39][33]] CLB.S2BEG3[39][33] [CLB.S2END3[37][33]] CLB.S2BEG1[37][33] [CLB.S2END_S1[34][33]] Found Valid connection:MB3 to MB4 CLB.OMUX0[58][58]. CLB.LV12[58][58].. [CLB.LV18[28][58]] Found Valid connection:MB3 to C9. Design Successfully verified!

Partial Reconfiguration Route Tracing SMCLBSMCLB SMCLBSMCLB SMCLB SMCLB SMCLBSMCLB SMCLBSMCLB SM CLBSMCLB SMCLBSMCLB SMCLB SMCLB SMCLBSMCLB SMCLBSMCLB SM This is our partially reconfigurable area Input Pin Output Pin

Moats 1.0 Example four-core design, moat size = 2

Moats 2.0 Subset of connections that must be traced

Secure Communication Architecture Motivation Security Primitives for FPGAs – Logical isolation – Interconnect tracing – Secure communication architecture – Configuration scrubbing

Secure Communication Architecture Goal: Secure communication between cores on shared bus Opportunity: Programmability of FPGAs Shared memory bus with time division access

MnM3M2M1 Communication Architecture M1M2M3Mn Arbiter BRAM Block...

FPGA Chip Communication Architecture SDRAM (off-chip) DRAM Arbiter/Reference Monitor Crypto Core CPU Core AES μPμP μPμP

Configuration Scrubbing Motivation Security Primitives for FPGAs – Logical isolation – Interconnect tracing – Secure communication architecture – Configuration scrubbing

Configuration Scrubbing Goal: Allow FPGA to change its configuration securely at run-time Opportunity: Use partial reconfiguration to properly erase prior core ’ s logic Use ICAP interface with an embedded core Bitstream decryption is prohibited when using partial reconfiguration

CPU Core μPμP AES Crypto Core Scrubbing Example SDRAM (off-chip) DRAM FPGA Chip CPU Core μPμP μPμP

Lecture 2 Reading [Conference Version] Moats and Drawbridges: An Isolation Primitive for Reconfigurable Hardware Based Systems – ber= [Journal Version] Security Primitives for Reconfigurable Hardware-Based Systems –

Lecture 2 Reading Reconfigurable Hardware Security – Trusted Design in FPGAs – Security on FPGAs: State-of-the-Art Implementations and Attacks – Security for Volatile FPGAs pdf

Lecture 2 Reading Reconfigurable Hardware Security – Reconfigurable Computing: The Theory and Practice of FPGA-Based Computing Hauck/isbn / – FPGA-Based Single Chip Cryptographic Solution – Of Gates and Wires ber=

Lecture 2 Reading Handbook of FPGA Design Security – Security Trends for FPGAs –