Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream



Similar documents
Cryptographic Rights Management of FPGA Intellectual Property Cores

PUF Physical Unclonable Functions

Enova X-Wall LX Frequently Asked Questions

Horst Görtz Institute for IT-Security

7a. System-on-chip design and prototyping platforms

Offline HW/SW Authentication for Reconfigurable Platforms

Atmel s Self-Programming Flash Microcontrollers

Design Security in Nonvolatile Flash and Antifuse FPGAs. Security Backgrounder

Securing Host Operations with a Dedicated Cryptographic IC - CryptoCompanion

Cryptography & Network-Security: Implementations in Hardware

LatticeXP2 Configuration Encryption and Security Usage Guide

NVM memory: A Critical Design Consideration for IoT Applications

ADVANCED IC REVERSE ENGINEERING TECHNIQUES: IN DEPTH ANALYSIS OF A MODERN SMART CARD. Olivier THOMAS Blackhat USA 2015

IoT Security Platform

Reviving smart card analysis

Hardware Security Modules for Protecting Embedded Systems

CryptoFirewall Technology Introduction

Enabling Security in ProASIC 3 FPGAs with Hardware and Software Features

Introduction to Digital System Design

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

Chapter 1: Introduction

What is a System on a Chip?

FPGA Based Secure System Design-an Overview

E-Book Security Assessment: NuvoMedia Rocket ebook TM

Side Channel Analysis and Embedded Systems Impact and Countermeasures

Hardware Trojans Detection Methods Julien FRANCQ

Smart Card Security How Can We Be So Sure?

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Cryptography and Network Security

A Standards-based Approach to IP Protection for HDLs

Software Hardware Binding with Quiddikey

SENSE Security overview 2014

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 7 Access Control Fundamentals

SDR Architecture. Introduction. Figure 1.1 SDR Forum High Level Functional Model. Contributed by Lee Pucker, Spectrum Signal Processing

Qiong Liu, Reihaneh Safavi Naini and Nicholas Paul Sheppard Australasian Information Security Workshop Presented by An In seok

Programming NAND devices

A PPENDIX H RITERIA FOR AES E VALUATION C RITERIA FOR

Navigating Endpoint Encryption Technologies

Networking Virtualization Using FPGAs

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

RAM & ROM Based Digital Design. ECE 152A Winter 2012

VON BRAUN LABS. Issue #1 WE PROVIDE COMPLETE SOLUTIONS ULTRA LOW POWER STATE MACHINE SOLUTIONS VON BRAUN LABS. State Machine Technology

MXMedia CipherStream. Preliminary Assessment. Copyright 2012 Farncombe 1.0. Author: T F

SECURE IMPLEMENTATIONS OF CONTENT PROTECTION (DRM) SCHEMES ON CONSUMER ELECTRONIC DEVICES

White Paper FPGA Performance Benchmarking Methodology

Secure Hardware PV018 Masaryk University Faculty of Informatics

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

DIGITAL RIGHTS MANAGEMENT SYSTEM FOR MULTIMEDIA FILES

IronKey Data Encryption Methods

Security Issues with Integrated Smart Buildings

EMC Symmetrix Data at Rest Encryption

nwstor Storage Security Solution 1. Executive Summary 2. Need for Data Security 3. Solution: nwstor isav Storage Security Appliances 4.

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Memory. The memory types currently in common usage are:

Architectures and Platforms

Pre-tested System-on-Chip Design. Accelerates PLD Development

SanDisk Enterprise Secure USB Flash Drive Security Vulnerability

Content Teaching Academy at James Madison University

Low- Cost Chip Microprobing

AES1. Ultra-Compact Advanced Encryption Standard Core. General Description. Base Core Features. Symbol. Applications

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Introduction. Where Is The Threat? Encryption Methods for Protecting Data. BOSaNOVA, Inc. Phone: Web:

Rapid System Prototyping with FPGAs

With respect to the way of data access we can classify memories as:

Trusted Platforms for Homeland Security

WHITE PAPER. Managed File Transfer: When Data Loss Prevention Is Not Enough Moving Beyond Stopping Leaks and Protecting

Secure Data Exchange Solution

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

Yaffs NAND Flash Failure Mitigation

REC FPGA Seminar IAP Seminar Format

What is Really Needed to Secure the Internet of Things?

WHITE PAPER AUGUST Preventing Security Breaches by Eliminating the Need to Transmit and Store Passwords

Full Drive Encryption Security Problem Definition - Encryption Engine

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Recommended Wireless Local Area Network Architecture

ios Security Decoded Dave Test Classroom and Lab Computing Penn State ITS Feedback -

40G MACsec Encryption in an FPGA

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

CRYPTOGRAPHY IN NETWORK SECURITY

Hardware RAID vs. Software RAID: Which Implementation is Best for my Application?

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

An Example of Mobile Forensics

Blaze Vault Online Backup. Whitepaper Data Security

Strengthen RFID Tags Security Using New Data Structure

Secure VidyoConferencing SM TECHNICAL NOTE. Protecting your communications VIDYO

SAS Data Set Encryption Options

CHASE Survey on 6 Most Important Topics in Hardware Security

Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Evaluating Embedded Non-Volatile Memory for 65nm and Beyond

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Beyond the Hype: Advanced Persistent Threats

Transcription:

Approche de conception d interface de communication pour les systèmes sur puce Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1, Guy Gogniat 1, Wayne Burleson 2 1 LESTER Lab Université de Bretagne Sud Lorient, France lilian.bossuet@univ-ubs.fr 2 Department of Electrical and Computer Engineering University of Massachusetts, Amherst, USA burleson@ecs.umass.edu Outline Design Security Actual Solutions Propositions Conclusion 2 Approche de conception d interface de communication pour les systèmes sur puce 1

Approche de conception d interface de communication pour les systèmes sur puce FPGA and Security Use the FPGA to protect Network isolation (firewalls) System Security using FPGA Smart cards Sensor networks Protecting FPGA data and resources FPGA Design Security Protect the FPGA Data encryption scheme Protection against hardware damage Protect the FPGA configuration Bitstream encryption Watermarking 3 Design Security 4 Approche de conception d interface de communication pour les systèmes sur puce 2

Approche de conception d interface de communication pour les systèmes sur puce Need for Design Security Protection against Cloning A competitor makes copy of the boot ROM or intercepts the bitstream and copies the code. Reverse Engineering A competitor copies a design by reconstructing a schematic or netlist level representation; in the process, he understands how the design works and how to improve it, or modify it with malicious intent Attack Types Noninvasive Monitored by external means such as brute force key generation, changing voltages to discover hidden test modes, etc Invasive Decapped and then microprobed using focused ion beams, or other sophisticated techniques to determine the contents of the device 5 Levels of Semiconductor Security #3 #3 Can be broken into in a government sponsored lab (e.g. USA NSA or France DGA) Time #2 Cost #2 Can theoretically be broken into with time and expensive equipment #1 #1 Not secure, easily compromised with low costs tools Source : IBM systems journal Vol. 30 No 2-1991 D. G. Abraham, G. M. Dolan, G. P. Double, J. V. Stevens. Transaction Security System 6 Approche de conception d interface de communication pour les systèmes sur puce 3

Approche de conception d interface de communication pour les systèmes sur puce Actual Semiconductor Level of Security Source : ACTEL DEVICES SECURITY SRAM FPGA LEVEL 1 ASIC Gate Array LEVEL 2 - Cell-Based ASIC LEVEL 2 - SRAM FPGA with Bitstream encryption LEVEL 2 Flash FPGA LEVEL 2 + Antifuse FPGA LEVEL 2 + 7 Actual Solutions 8 Approche de conception d interface de communication pour les systèmes sur puce 4

Approche de conception d interface de communication pour les systèmes sur puce Flash and Antifuses FPGA FPGA MARKET SHARE (2000) Very Flash good and for Antifuse design security No bitstream FPGA can be intercepted in the field (no bitstream transfer, 10 % no external configuration Actel device) Other 6% Need a Scanning Electron Microscope (SEM) to try to know the 8% antifuse states (an Actel AX2OOO antifuse FPGA contains 53 million antifuses with only 2-5% programmed Xilinx in an average 38% design) Lattice 14% SRAM FPGA 90 % Altera 34% BUT not really reconfigurable just configurable... ACTEL 9 Xilinx Solution secret keys (Triple DES - 3 x 56 bits) CAD TOOL configuration generator encryption software EPROM encrypted configuration secret keys (Triple DES - 3 x 56 bits) FPGA Virtex -II configuration memory decryption circuit keys storage external battery + - Protection against cloning and reverse engineering Need of an external battery to save the keys The decryption circuit takes FPGA resources (silicon) No flexibility for the decryption algorithm Partial reconfiguration is no more available 10 Approche de conception d interface de communication pour les systèmes sur puce 5

Approche de conception d interface de communication pour les systèmes sur puce Altera Solution secret key (AES 128 bits) secret key (AES 128 bits) CAD TOOL configuration generator encryption software EPROM encrypted configuration FPGA Stratix -II configuration memory decryption circuit keys storage The decryption circuit takes FPGA resources (silicon) No flexibility for the decryption algorithm 11 Algotronix (U.K.) Proposition JTAG FLASH Serial EPROM encrypted configuration FPGA encryption circuit configuration circuit configuration memory secret key a) Initial programming of secure FPGA FLASH Serial EPROM encrypted configuration FPGA decryption circuit configuration circuit configuration memory secret key b) Normal configuration of secure FPGA Tom Kean. Secure Configuration of a Field Programmable Gate Array. FPL 2001 and FCCM 2001. A secret cryptographic key can be stored on each FPGA No need for the CAD tools or any person to have knowledge of the key The Encryption circuit takes FPGA resources (silicon) No flexibility for the decryption algorithm 12 Approche de conception d interface de communication pour les systèmes sur puce 6

Approche de conception d interface de communication pour les systèmes sur puce Propositions... 13 Desirable Characteristics Strong protection against cloning and reverse engineering for SRAM FPGA No additional battery => the key is embedded (laser) Choice of the suitable encryption algorithm and architecture (security policy) No use of FPGA application-dedicated resources 14 Approche de conception d interface de communication pour les systèmes sur puce 7

Approche de conception d interface de communication pour les systèmes sur puce Security Policy IP1 IP1 IP2 IP2 IP4 IP4 IP3 IP3 IP5 IP5 Actual solutions: the whole design (all IPs) has the same security policy Proposition: Each IP can be encrypted with its own algorithm 15 Security Policy Application partitioning with necessary security levels All of the application doesn t need to be encrypted (free available IP) IP3 IP1 (SCP) IP4 IP5 IP2 (SCP) Security-Critical Part: your Intellectual property which needs higher security due to development cost potential security breach No critical Parts: Generic functions and cores such as communication protocols, etc. 16 Approche de conception d interface de communication pour les systèmes sur puce 8

Approche de conception d interface de communication pour les systèmes sur puce Encryption - management Once the FPGA is configured encryption and decryption circuits do not use FPGA resources Use of partial dynamic reconfiguration Use of self-reconfiguration (to configure each IP with the corresponding decryption circuit) Embedded secret key 17 Encryption Management (in the lab.) EPROM IP1 (SCP1) algorithm 1 IP3 (NCP) IP2 (SCP2) algorithm 2 Encryption Encryption circuit1 circuit1 SCP1 SCP1 circuit1 circuit1 FPGA : secret KEY 18 Approche de conception d interface de communication pour les systèmes sur puce 9

Approche de conception d interface de communication pour les systèmes sur puce Encryption Management (in the lab.) EPROM IP1 (SCP1) algorithm 1 IP3 (NCP) IP2 (SCP2) algorithm 2 Encryption Encryption circuit2 circuit2 SCP1 SCP1 circuit1 circuit1 SCP2 SCP2 circuit2 circuit2 FPGA : secret KEY 19 Encryption Management (in the lab.) EPROM IP1 (SCP1) algorithm 1 IP3 (NCP) IP2 (SCP2) algorithm 2 SCP1 SCP1 circuit1 circuit1 SCP2 SCP2 circuit2 circuit2 FPGA : secret KEY NCP NCP 20 Approche de conception d interface de communication pour les systèmes sur puce 10

Approche de conception d interface de communication pour les systèmes sur puce EPROM SCP1 SCP1 circuit1 circuit1 SCP2 SCP2 Management (at power up) Configuration Controller circuit2 circuit2 NCP NCP circuit1 FPGA : secret KEY 21 EPROM SCP1 SCP1 Management (at power up) Configuration Controller Partial and self reconfiguration circuit1 circuit1 SCP2 SCP2 circuit2 circuit2 NCP NCP IP1 circuit1 FPGA : secret KEY 22 Approche de conception d interface de communication pour les systèmes sur puce 11

Approche de conception d interface de communication pour les systèmes sur puce EPROM SCP1 SCP1 circuit1 circuit1 SCP2 SCP2 Management (at power up) IP1 Configuration Controller Partial and self reconfiguration The decryption circuit1 is replaced by the decryption circuit2 circuit2 circuit2 NCP NCP circuit2 FPGA : secret KEY 23 EPROM SCP1 SCP1 circuit1 circuit1 SCP2 SCP2 Management (at power up) IP1 Configuration Controller Partial and self reconfiguration The decryption circuit1 is replaced by the decryption circuit2 circuit2 circuit2 NCP NCP circuit2 FPGA : secret KEY IP2 24 Approche de conception d interface de communication pour les systèmes sur puce 12

Approche de conception d interface de communication pour les systèmes sur puce EPROM SCP1 SCP1 circuit1 circuit1 SCP2 SCP2 circuit2 circuit2 Management (at power up) IP1 IP3 Configuration Controller IP2 Partial and self reconfiguration The decryption circuit1 is replaced by the decryption circuit2 The decryption circuit2 is replaced by the non critical part that is not encrypted NCP NCP FPGA : secret KEY 25 Main issues Partial and self-reconfiguration Area related to the decryption algorithms Keys management for each encryption/decryption circuit Configuration controller to perform the configuration management 26 Approche de conception d interface de communication pour les systèmes sur puce 13

Approche de conception d interface de communication pour les systèmes sur puce Area related to the decryption algorithms Once the last encrypted bitstream is configured the last decryption algorithm can be replace by non critical parts Algorithm #slices of the cryptographic core Rijndael 4312 5302 2902 Serpent 1250 7964 4438 RC6 1749 3189 1139 Twofish 2809 3053 1076 ~ 100 Mbits/s< Throughput < ~400 Mbiys/s ICAP performance: 66 Mbits/s, throughput is not the major concern but area 27 Keys management Secret key is define during the fabrication process (laser) Define a large key e.g. 1024 bits that is used to generate each secret key (56 bits, 128 bits) Hardwired key generator Hardwired mechanism to authenticate each decryption circuit and encrypted bitstream (signature) 28 Approche de conception d interface de communication pour les systèmes sur puce 14

Approche de conception d interface de communication pour les systèmes sur puce Configuration Controller EPROM SCP1 SCP1 Configuration Controller circuit1 circuit1 SCP2 SCP2 circuit2 circuit2 IP1 IP3 IP2 end loading encrypted SCP end loading no-decryption circuit idle idle loading loading start Loading Loading & & decrypting decrypting end loading decryption circuit application end loading application end loading NCP NCP FPGA : secret KEY 29 Advantages / Inconveniences + The encryption/decryption circuit doesn t take FPGA resources + Choice of a suitable encryption algorithm and architecture ( to obtain a required security level) + Only designer knows the chosen algorithm and architecture + The system can be upgraded with new encryption algorithms + No additional battery with an embedded secret key - - - Complex system, keys management Management of partial, self and dynamic reconfiguration Take time during the system set up 30 Approche de conception d interface de communication pour les systèmes sur puce 15

Approche de conception d interface de communication pour les systèmes sur puce Conclusion... 31 Conclusion In consequence of the rise of the FPGA, it is necessary to prevent piracy and reverse engineering of FPGA Bistream Existing SRAM FPGA are insecure We propose original solutions that take advantage of the partial and dynamic FPGA configuration, with a no-fixed encryption algorithm and architecture It is a first step toward security policy for FPGA and the solutions still to be improved... 32 Approche de conception d interface de communication pour les systèmes sur puce 16

Approche de conception d interface de communication pour les systèmes sur puce Comments? Questions? Thank you Approche de conception d interface de communication pour les systèmes sur puce 17

Implementing Secure, Upgradeable FPGA Designs Dr. Yankin Tanurhan Senior Director of IP and Applications Actel Corporation Agenda Overview Need for Security Methods of Attack, Theft, and Device Security Example Summary 2 1

Market Situation Traditionally, ASICs held the majority of System IP High integration Relatively inexpensive in high volume Thought to be relatively secure and FPGAs were primarily used as glue logic Relatively small devices with little IP content Interface between ASSPs or custom ASICs Today, FPGAs becoming attractive ASIC alternatives and, therefore, the repository of most, if not all, system IP High integration of system-level functions Shorter lead times No expensive NREs Increased density and ability to handle ever faster clock speeds Flexibility and variety of upgrade methods 3 Increasing System Risk Many systems now have most, if not all of the sensitive IP contained in an FPGA A typical system might incorporate a processor or DSP, memory, ASSPs and one or more FPGAs If you can read the contents of the FPGA, you can duplicate (or enhance) the function of the entire system since all other components are off-the-shelf The vulnerability of FPGAs to copying puts the proprietary IP of the system at risk 4 2

FPGA: System IP Repository System Design circa 1995 System Design circa 2006 FPGA = Glue Logic FPGA = ASIC Replacement Today, the FPGA is the heart of the system 5 System IP: Protection Needed With most system IP in FPGAs, protection is paramount Development time of valuable IP is costly Months to years of effort Trade secrets need to be protected Competitors love any hints you can drop to them Unauthorized copying hurts the bottom line No replacement for lost potential revenue 6 3

Programming Flexibility FPGA flexibility comes at a cost Ease of programming methods inversely proportional to security Easy to Program Less Secure Time spent on enabling security features up front saves time and money in the long run Novel update approaches need to be scrutinized for security risks http vs. https Programming at trusted site vs. programming by non-qualified third party 7 Basic Security Principles Virtually any protection method can be cracked given enough time and resources At some point, the IP value within a circuit is less than the effort that must be expended to copy it Two methods of attack are primarily used: Noninvasive: Monitored by external means, such as: brute force key generation changing voltages to discover hidden test modes Invasive: To determine contents of device, it is decapped, then microprobed using sophisticated techniques 8 4

Noninvasive Attacks Attacker copies an external NVM containing the bitstream or attacks the device to get the code Simple security schemes are easily by-passed using noninvasive techniques On some devices, it is possible to erase a secured device prior to reprogramming Starting the erase and then immediately powering down the device can erase the security bit and not the program contents 9 Invasive Attacks Invasive attacks require decapsulation of the device Several invasive techniques can be used to break on-chip security schemes Microprobing Focused ion beams Localized laser removal of metalization and deposition of conducting traces Some FPGAs are difficult to invasively attack Distributed nature of security keys and physical characteristics of the silicon Lack of obvious visible difference between programmed and non-programmed elements 10 5

Methods of Theft Overbuilding: Unscrupulous contract manufacturer buys standard parts on the open market and overbuilds, selling extra production for profit Cloning: Competitor makes a copy of the boot prom or intercepts the bitstream from the on-board processor and copies the code Reverse Engineering: Competitor copies a design by reconstructing a schematic or netlist level representation; as a result, he understands how the design works and how to improve it 11 Overbuilding Most common IP theft Also called run-on counterfeiting Built with inventory of standard parts bought on the open market Unauthorized overbuilt inventory sold for profit Identical to the genuine product Has no support or design overhead cost Can drive the design company out of business Increasing reliance on standard products in embedded systems design makes it easier for unscrupulous manufacturers to overbuild 12 6

How to Prevent Overbuilding Best protection is to control critical component supply Any part that has to be programmed or uniquely made by the designer Deliver one or more FPGAs already programmed Utilize available encryption keys on FPGAs Deliver encrypted bit stream to manufacturer Only parts with programmed encryption key can be used with the encrypted bit stream Reduces programming time required by the designing company 13 Cloning Less prevalent than overbuilding, but serious problem Competitor makes a copy of a design -- stealing part or all of the system IP Accomplished by copying the bit stream from an unprotected FPGA Unless strong security schemes are used, even devices with security bits can be copied Companies specialize in copying programmable and similar logic devices 14 7

How to Prevent Cloning Best protection against cloning is to use a secure FPGA and to enable all of the security features 15 Reverse Engineering More difficult than cloning, but more pervasive Accepted practice used by many companies to evaluate the competition Explicit details on how the design works determined by testing and analysis Reverse engineering techniques can give a competitor all of the IP used in a design Allows them to recreate it and improve on it Can then disguise it to thwart possible legal action 16 8

How to Prevent Reverse Engineering Equal time spent to protect against reverse engineering as is spent protecting against cloning Most common form is simple I/O attacks Cycle through large number of inputs to determine the output response Difficult when processing elements are used in the design Add variability with the processing elements in the design Split up circuit between multiple parts and use token scheme when passing data Tokens are not easily deduced Without the correct tokens the circuit will not work Reverse engineering protection won t help if FPGA isn t secure 17 Patent Protection? Costly and time consuming to obtain To specify an enforceable patent requires both engineering and legal resources Patent application process is slow Limits effectiveness in dynamic marketplace Enforcement is costly and uncertain Litigation can run into millions of dollars If an invention s value is less than the cost of enforcing the patent protection, it s essentially unprotected Legal system is notoriously unpredictable Lack of international standards Differing rules, requirements and enforcement policies make international patent protection uncertain 18 9

Levels of Device IP Security* Level 1: Devices are insecure Easily copied by technically knowledgeable individuals with low cost, easily accessible tools Level 2: Devices are moderately secure Can theoretically be copied by skilled individual or team with access to sophisticated and expensive equipment Level 3: Devices are highly secure Copied only with extraordinary difficulty by a government sponsored lab (e.g. NSA) with unlimited resources Time # 3 # 2 # 1 Cost * Source: IBM 19 Methods of Device Security The methods available to protect the device from security attacks differ by type of device FPGA SRAM, Antifuse and Flash ASIC Essentially, two categories of FPGA security: Internal: internal structure of the FPGA lends itself to the inherent security of the design after the user has programmed the device External: a bit stream is encrypted to allow for transport across a non-secure medium and is decrypted (3DES, AES, etc.) by dedicated hardware within each FPGA device 20 10

Popular Encryption Standards DES Data Encryption Standard Algorithm developed in early 1970 s by IBM Adopted as Data Encryption Standard by National Institute of Standards and Technology (NIST) in 1976 64 bits of data encrypted/decrypted using 56-bit key Symmetric algorithm using same private key, encrypted data can be decrypted Electronic Frontier Foundation (EFF) has cracked DES using: EFF hardware, 100,000 computers, and 22 hours to kill (http://www.eff.org for details) 3DES Triple DES As name implies, uses three iterations of DES algorithm In 1999, NIST specified preferred use of Triple DES instead of DES 64 bits of data encrypted/decrypted using 168-bit key (3 56-bit keys) Symmetric algorithm 21 Encryption Standards (cont.) AES Advanced Encryption Standard Based on Rijndael algorithm Chosen by NIST to replace DES/3DES 128 bits of data encrypted/decrypted using 128/192/256-bit key Also a symmetric algorithm Mathematical analysis junkies figure that, if you can build a DEScracker capable of finding a DES key in 1 second, it would take that same hardware 149 trillion years to crack a 128-bit AES key Key combinations DES: 2 56 (7.2 x 10 16 ) 3DES: 2 168 (3.7 x 10 50 ) AES: 2 256 (1.2 x 10 77 ) 22 11

SRAM FPGA Security - Level 1 SRAM devices are volatile Configuration data must be loaded each time power is cycled Data stored in a PROM or microprocessor and fed to FPGA at power up Bit stream data easily copied at boot-up Newer SRAM FPGAs support encrypted bitstreams (3DES/AES) to Boot PROM increase security Configuration Data Copy Configuration Data SRAM FPGA 23 ASIC Security - Level 2 Often considered secure, ASICs are relatively easy to reverse engineer Packages are decapped; layers stripped and photographed one by one; composite overlay of layers yields transistor layout and all interconnects Even complex designs can be easily decoded in a relatively short time 24 12

Flash FPGA Security - Level 2+ Nonvolatile devices do not require external bit stream No bit stream download during power-up Programming information can be read out of the device, so locks are required to protect IP Highly resistant to invasive attacks Decapping and stripping only reveals structure of the device, not actual contents of cell Large number of switch elements; attempting to determine the state of millions of switches is prohibitive 25 Flash FPGA Security - Level 2+ (cont.) Multiple Locking Features Available User Lock Feature Lock and keep the key Security is based on 128-bit AES encryption with a User Supplied Key Key is required to program the parts Information read out of the devices is encrypted with the key Permanent Lock Feature Lock and throw away the key Permanently locks parts Further programming or reading of the devices is not possible 26 13

Antifuse FPGA Security - Level 2+ All data internal to device Nonvolatile No bit stream download during power-up Programming info can t be read out of device Immune to invasive attacks State of antifuse only detected in cross-section Million of antifuses and < 2% are programmed - needle in haystack problem Difficult to distinguish programmed from unprogrammed antifuse FuseLock Locking antifuses prevent non-invasive attack Device remains locked even with no power Unprogrammed Antifuse Programmed Antifuse 27 Technology Summary Technology Security Security Security Level Overhead Shelf-life Conventional SRAM FPGA 1 No Security No Security Hybrid NVM/SRAM FPGA 1 None 10 Yrs+ Gate Array 2- None Indefinite Cell-Based ASIC 2- None Indefinite SRAM w/ 3DES encryption 2 Significant <5 Yrs* Flash-based FPGAs 2+ None 20 Yrs+ Antifuse-based FPGAs 2+ None Indefinite *Battery backup required, typical service life < 5 years 28 14

Application: Subscription IP FPGAs can now be used for creation of efficient subscription systems FPGAs with internal nonvolatile memory can be used to store: Unique Board/Device Serial Number Secure Keys Set-top Box Configuration Storing valuable information absolutely requires that contents are secure 29 Secure IP Delivery Example IP provider can send evaluation board to customer Provider s customer can program any number of IP blocks in a secure manner Eval Board NVM FPGA JTAG JTAG programmer Flash Mem Serial Number' IP Key 1' IP Key 2'... 30 15

Secure IP Delivery Example (cont.) IP provider security software: Licensed using serial number from evaluation board Software encryption algorithm uses internal secret key (known only to IP provider) together with serial number to generate encrypted IP keys written to Flash memory Eval Board JTAG JTAG programmer NVM FPGA Flash Mem Serial Number' IP Key 1' IP Key 2'... 31 Secure IP Delivery - Step 1 Step 1: Provider gives each board a unique serial number Serial number encrypted with secret key known only to IP provider Provider write-locks page to prevent overwriting serial number Read-locking must not be done on area of Flash memory where encrypted serial number is stored (part of authentication mechanism) IP Provider Keys are encrypted, Secret Key stored in Flash FPGA internal Flash Memory memory, Serial Number Encrypt Serial Number' Page p Serial Number' r Page p+1 IP Key 1' r and read and Page p+2 IP Key 2' r IP Key1...... write-locked Page protection w w w Encrypt IP Key1' IP Key2 Encrypt IP Key2' 32 16

Secure IP Delivery Step 2 Step 2: Provider s customer buys eval board and chooses IP cores to purchase Customer downloads encrypted programming files for each IP core from secure website Customer authorized to unlock specific cores purchased from provider The IP core programming files are encrypted using security keys known only to provider https://www.ip-provider.secure.area.com IP Core 1 Programming File' IP Core 2 Programming File' IP Core 3 Programming File' IP Core 4 Programming File' 33 Secure IP Delivery Step 3 Step 3: Provider gives the customer the passcodes for purchased IP cores https://www.ip-provider.secure.area.com IP Core 1 Programming File' IP Core 2 Programming File' IP Core 3 Programming File' IP Core 4 Programming File' 34 17

Secure IP Delivery - Step 4 Step 4: Customer enters passcodes into provider s supplied software The software reads the eval board s serial number via JTAG to perform hardware authentication Each authorized page of Flash memory is unlocked to provide access to encrypted IP security keys Passcode IP Provider Security Software IP Provider Secret Key Serial Number' Decrypt IP Key1' JTAG Programmer FPGA Device Flash Memory Page protection Serial Number Decrypt Page p Page p+1 Serial Number' IP Key 1' r r w w IP Key1...... read un-lock IP Core 1 ProgFile Decrypt IP Core 1 ProgFile 35 Secure IP Delivery Step 5 Step 5: Provider s programming software is used to decrypt an IP security key, using eval board s serial number, then program the encrypted IP core programming file previously downloaded from the Web (step 2) IP Provider Programming Software IP Core 1 programming file Eval Board JTAG JTAG programmer NVM FPGA programmed With IP Core 1 36 18

Subscription Use Model OEM programs AES Key and FROM with unique TAG Part is deployed in box New feature is enabled and will only work with the correctly encrypted design supplied OEM looks up AES key based on TAG supplied New feature-enabled design is encrypted with AES Key and sent to customer via Internet, satellite, or direct to box for secure ISP Customer requests additional feature by supplying TAG value of box over Internet 37 Recap: Steps to Protect Intellectual Property Use secure FPGA technology to minimize attacks at the physical level. Guard against simple I/O scan attacks. Employ procedures to implement and track IP and programming changes to limit design exposure in manufacturing channel. Add digital watermarks / fingerprints to design to later help prove that a competitive design is a copy. If outsourcing production, ensure that additional units are not produced without your knowledge. Use trusted silicon vendors for design implementation. 38 19

Summary FPGAs are displacing ASICs with increasing frequency as repository of system IP Design piracy is on the rise Security needed to protect your investment in IP Various methods of attack, theft and device security can be mitigated by enabling the security features provided by some FPGAs Flash- and antifuse-based FPGAs typically more secure than SRAM FPGAs and ASICs Applications, such as subscription systems, can benefit from today s FPGA security 39 20