Moore 1 Paper P51 Moore 1 Paper #51 Design Security in SRAM-based FPGAs Jason Moore Xilinx.

Slides:



Advertisements
Similar presentations
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Advertisements

Scrubbing Approaches for Kintex-7 FPGAs
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
Complex Upset Mitigation Applied to a Re-Configurable Embedded Processor EEL 6935 Lu Hao Wenqian Wu.
1 Fault Tolerant FPGA Co-processing Toolkit Oral defense in partial fulfillment of the requirements for the degree of Master of Science 2006 Oral defense.
ICAP CONTROLLER FOR HIGH-RELIABLE INTERNAL SCRUBBING Quinn Martin Steven Fingulin.
Trusted Design In FPGAs Steve Trimberger Xilinx Research Labs.
Survey of Reconfigurable Logic Technologies
VirtexII 3000 FPGA Dynamic Burn-In Test For Military And Aerospace Applications Sponsored By NASA Electronic Parts and Packaging Program (NEPP) Electronic.
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Programmable Logic Devices
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
Normal text - click to edit Status Report TPC Electronics Meeting, CERN Johan Alme & Ketil Røed, UoB.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Implementing Logic Gates and Circuits Discussion D5.1.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
1 Performed by: Lin Ilia Khinich Fanny Instructor: Fiksman Eugene המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
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.
Build-In Self-Test of FPGA Interconnect Delay Faults Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing Hua University.
Programmable logic and FPGA
February 4, 2002 John Wawrzynek
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Bitstream Relocation with Local Clock Domains for Partially Reconfigurable FPGAs Adam Flynn, Ann Gordon-Ross, Alan D. George NSF Center for High-Performance.
The Xilinx Spartan 3 FPGA EGRE 631 2/2/09. Basic types of FPGA’s One time programmable Reprogrammable (non-volatile) –Retains program when powered down.
Juanjo Noguera Xilinx Research Labs Dublin, Ireland Ahmed Al-Wattar Irwin O. Irwin O. Kennedy Alcatel-Lucent Dublin, Ireland.
© 2003 Xilinx, Inc. All Rights Reserved Power Estimation.
Radiation Effects and Mitigation Strategies for modern FPGAs 10 th annual workshop for LHC and Future experiments Los Alamos National Laboratory, USA.
A comprehensive method for the evaluation of the sensitivity to SEUs of FPGA-based applications A comprehensive method for the evaluation of the sensitivity.
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
Normal text - click to edit Configuring of Xilinx Virtex-II Kjetil Ullaland, Ketil Røed, Bjørn Pommeresche, Johan Alme TPC Electronics meeting. CERN
J. Christiansen, CERN - EP/MIC
The Xilinx Spartan 3 FPGA EGRE 631 2/2/09. Basic types of FPGA’s One time programmable Reprogrammable (non-volatile) –Retains program when powered down.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
MAPLD 2005/202 Pratt1 Improving FPGA Design Robustness with Partial TMR Brian Pratt 1,2 Michael Caffrey, Paul Graham 2 Eric Johnson, Keith Morgan, Michael.
Configuration Bitstream Reduction for SRAM-based FPGAs by Enumerating LUT Input Permutations The University of British Columbia© 2011 Guy Lemieux Ameer.
EE3A1 Computer Hardware and Digital Design
CHAPTER 5 Configuration, Reconfiguration and Security.
Wang-110 D/MAPLD SEU Mitigation Techniques for Xilinx Virtex-II Pro FPGA Mandy M. Wang JPL R&TD Mobility Avionics.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
LaRC MAPLD 2005 / A208 Ng 1 Radiation Tolerant Intelligent Memory Stack (RTIMS) Tak-kwong Ng, Jeffrey Herath Electronics Systems Branch Systems Engineering.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Evaluating Logic Resources Utilization in an FPGA-Based TMR CPU
Survey of Reconfigurable Logic Technologies
بسم الله الرحمن الرحيم MEMORY AND I/O.
Xilinx V4 Single Event Effects (SEE) High-Speed Testing Melanie D. Berg/MEI – Principal Investigator Hak Kim, Mark Friendlich/MEI.
Sequential Logic Design
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
SEU Mitigation Techniques for Virtex FPGAs in Space Applications
COMP2121: Microprocessors and Interfacing
FPGA Implementation of Multicore AES 128/192/256
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Interfacing Memory Interfacing.
We will be studying the architecture of XC3000.
RECONFIGURABLE PROCESSING AND AVIONICS SYSTEMS
The Xilinx Virtex Series FPGA
XC4000E Series Xilinx XC4000 Series Architecture 8/98
Parallel communication interface 8255
Design of a ‘Single Event Effect’ Mitigation Technique for Reconfigurable Architectures SAJID BALOCH Prof. Dr. T. Arslan1,2 Dr.Adrian Stoica3.
Reconfigurable FPGAs (The Xilinx Virtex II Pro / ProX FPGA family)
Xilinx FPGA Architecture Overview
The Xilinx Virtex Series FPGA
Lecture 26 Logic BIST Architectures
Implementing Logic Gates and Circuits
FPGA’s 9/22/08.
Presentation transcript:

Moore 1 Paper P51 Moore 1 Paper #51 Design Security in SRAM-based FPGAs Jason Moore Xilinx

Moore 2 Paper P51 Security Spectrum Commercial – Industrial Espionage, Piracy, Cloning, Malicious Intent – Solution : Encrypted Bitstream Military and Defense – Fail Safe Design – Government certifiable products (i.e. NSA) – Proposed Solution : Layered Security Approach COMMERCIALMILITARY

Moore 3 Paper P51 Moore 3 Paper #51 Encrypted Bitstream

Moore 4 Paper P51 Encrypted Bitstream The Basics A58B2D735AC79 93DC19365D1AF 936DAF6774CBA Triple-DES Secured Bitstream Xilinx Software Vbatt = 1.0 to 3.6V < 100nA Triple-DES Key (3 x 56b) Configuration Storage A58B2D735AC79 93DC19365D1AF 936DAF6774CBA A58B2D735AC79 93DC19365D1AF 936DAF6774CBA Triple-DES Key (3 x 56b)

Moore 5 Paper P51 Encrypted Bitstream The Details 1 Supported on Virtex-II and Virtex-IIPro FPGAs On-chip decryption engine is dedicated built-in transistor logic – “An ASIC function inside the FPGA” – It is NOT FPGA logic, reconfigurable or usable for anything but bitstreams All configuration methods supported – Serial – SelectMAP (8 bit parallel load) up to 5MHz w/o handshaking – JTAG Readback and Partial Reconfiguration functionality is disabled

Moore 6 Paper P51 Encrypted Bitstream The Details 2 TripleDES Encryption – Output encrypted =E k3 (D k2 (E k1 (I))) – Ouput decrypted = D k1 (E k2 (D k3 (I))) – Two different key sets are supported 2 banks of 3 DES keys – CBC (Cipher Block Chaining) Mode Encrypt Decrypt

Moore 7 Paper P51 Encrypted Bitstream The Details 3 Key Management – Red Key Load via JTAG – Memory is dedicated battery backed RAM (Vbatt) – Vbatt has no current draw when Vccaux is applied Vbatt (1V – 3.6V) w/ 100nA max Typical coin cell will last ~20 years (non-derated) Set Power Transient Detect circuits (PTDs) accordingly!

Moore 8 Paper P51 Key Loading Procedure Device PowerON Enter Key Access Mode Key Load Exit Key Access Mode JTAG Instruction Ready For Configuration Readback Disabled Partial Reconfiguration Disabled Configuration w/ Encrypted Bitstream Toggle PROG Power Cycle Key Readback Normal Startup Sequence Awaiting Configuration JTAG Instruction FPGA Memory, Keys and Configuration Data cleared JTAG Instruction Can only be done in Key Access Mode JTAG Instruction

Moore 9 Paper P51 Encrypted Bitstream The Details 4 Bitstream Details – Decryption is commanded via instruction in the bitstream Unencrypted bitstreams can be loaded into an FPGA that has keys – The bitstream includes the address of the key (or keys) to use – “Bad” bitstreams and bitstreams encrypted with the wrong key are caught with the existing CRC – FPGAs can be daisy-chained together

Moore 10 Paper P51 Moore 10 Paper #51 A Layered Security Approach

Moore 11 Paper P51 A Layered Security Approach 1 Goal : Develop a system solution that addresses the security requirements of government certifying agencies while taking full advantage of the SRAM-based FPGA features. Problem : – SRAM-based FPGA use in fail-safe, high assurance systems has been limited. – Additional requirements to use SRAM-based devices leads to increased system complexity Separate devices required for redundant functions Separate devices required for Red/Black data separation

Moore 12 Paper P51 A Layered Security Approach 2 Problem (cont) – Concern over the reprogrammable nature of the device. Since its not “fixed” logic can it change unexpectedly? – Lack of Understanding Failure Modes, Device Operation Until recently FPGAs implemented nothing more than decode logic, or perhaps a bus interface. Now they can be the heart of a system – Obsolescence Classified ASIC foundries – Increased System Requirements “Multi-mission” Support – “Design Mode 4 IFF but be able to support Mode 5” Higher Performance (Signal Processing, Encryption, etc)

Moore 13 Paper P51 A Layered Security Approach 3 Proposed Solution : Layered Security Approach – Not all layers have to be used – very dependent on application – Xilinx Specific Security Features Virtex-II Encrypted Bitstream FPGA Editor – Ability to see how the device is Placed and Routed Configuration CRCs – Readback (at the cost of protected bitstream) – Logic Segregation (ala Modular Design/Partial Reconfiguration) – The ability to achieve HIGH Fault Coverage, in-system, on user- specific logic

Moore 14 Paper P51 The “Security Onion” BIST Logic Segregation Bitstream Prot or Readback High Fault Grade Reliability PT TMR PT = Plain Text

Moore 15 Paper P51 Layer 1 : Reliable Devices Virtex-II High Temperature Life Test Qualification 1 – Combined Lots Tested : 27 – Failures : 4 – Device On Test : 1219 – Actual Device Hours: 1,247,564 – Equivalent Device Tj = 125C : 3,798,634 – Equivalent Device Tj = 25C : 3.57 e+9 Failure Rate – 60% C.L. in Tj = 55C : 18 – FIT = 1 Failure in 1e9 device hours Assumption: Regardless of data – failures will occur 1 Reliability data from published quality report : April 1, 2003 “Fail Safe Systems will fail, they just need to fail safely”

Moore 16 Paper P51 Layer 2 : High Fault Grade Feature Coverage : > 99% – Every instance of LUT, DCM, Global Clock, BRAM, etc is tested. – Memory tested via IFA13 Memory Test Methods Inductive Fault Analysis – 13 times through all addresses AF, SAF, TF, SOF and CF Interconnect Coverage : 99.7% (Virtex-II) – Utilization is < 3% for a single design, customer or test – Interconnect is SAF and TF

Moore 17 Paper P51 Layer 3: Encrypted Bitstream OR Readback Worried about the delivery of the design? – TripleDES Bitstream Encryption Battery Required! Worried about in-system “bit-flips”? – Readback the configuration memory Currently done in Space Applications Does NOT interrupt FPGA processing Currently a mutually exclusive choice – May get both via ICAP (Internal Configuration Access Port) in future devices.

Moore 18 Paper P51 Layer 3: Configuration Memory Readback Slice Long Lines HEX Lines Single Lines Carry Lines Clock Lines General Routing and Switch Matrix PIPs Configurable Logic Block (CLB) is the basic building block of the FPGA – Switch Matrix – Logic (Slice) – FFs and LUTs – Dedicated Routing PIP = Programmable Interconnect Point

Moore 19 Paper P51 Layer 3: Configuration Memory Readback Long Lines HEX Lines Single Lines Carry LinesClock Lines Configuration memory defines the functionality of the CLB – Switch Matrix – Logic (Slice) – FFs and LUTs – Dedicated Routing

Moore 20 Paper P51 Layer 3: Configuration Memory Readback Static Latch Memory Cells Configuration memory is divided into frames Each frame is uniquely addressable All frame bits are loaded simultaneously DLL IOBs DLL BRAM CLBs IOBs BRAM IOBs Frame

Moore 21 Paper P51 Layer 3: Configuration Memory Readback Readback done “device-wide” or on a specific frame(s) Readback Example – Readback via SelectMAP (byte wide) at 25MHz – 2V8000 : Current largest FPGA available 26,174,120 Configuration bits ms to readback entire FPGA – 2V1000 : “Small” FPGA 3,744,768 Configuration bits 18.72ms to readback entire FPGA

Moore 22 Paper P51 Layer 4: Logic Segregation “Floorplan” FPGA to control where logic is placed – Red/Black I/O FPGA has eight I/O banks – each with separate Vcco supply – Red/Black data Logic (LUTs, FFs, RAM) and Routing can be isolated – Apply the same segregation techniques used in Partial Reconfiguration Systems (Xilinx Application Note - XAPP290) – Directed Routing Constraints Vccint must be shared View actual FPGA Logic and Routing with FPGA Editor – Future PAR rules? Black/Red Separation by two PIPs (Programmable Interconnect Point)

Moore 23 Paper P51 Layer 4: Logic Segregation Logic Segregation Example – FPGA Editor View

Moore 24 Paper P51 Layer 5: BIST Built-In Self Test – Allows in-system testing of device after deployment – Goal: Achieve 100% Fault Grade coverage of USER SPECIFIC logic with a LIMITED set of vectors that can be applied in-system. On average most customers use only ~5% of all PIPs Test done at power up or during down time Delivered via JTAG or SelectMAP interface Estimated 3-5x size of existing bitstream – Technology currently under development Leverage existing XRST technology – Xilinx Reconfigurable Self Test (85% logic coverage, 15% interconnect)

Moore 25 Paper P51 Layer 6 : Triple Module Redundancy TMR – Currently used in Space Applications – can be applicable to other High-Assurance Applications – Three copies of the same design exist in one FPGA Majority voters are internal, and triplicated, to vote on internal feedback paths Each logic domain is physically independent – Configuration scrub corrects any potential “state-changes” in the configuration memory Scrubbing is the process of re-writing the configuration memory during normal FPGA operation – does not effect device operation!