PUF Design - User Interface

Similar documents

Color Pay : Next Paradigm for Instant Payment

Physical Unclonable Functions (PUFs) and Secure Processors. Srini Devadas Department of EECS and CSAIL Massachusetts Institute of Technology

Soft Response Generation and Thresholding Strategies for Linear and Feed-Forward MUX PUFs

PrintFleet Enterprise 2.2 Security Overview

IMPROVING THE QUALITY OF A PHYSICAL UNCLONABLE FUNCTION USING CONFIGURABLE RING OSCILLATORS Abhranil Maiti, Patrick Schaumont

Solutions exercises instruction 1

PUF RO (RING OSCILLATOR)

Modbus Protocol of Aislu Power Module

FPGA PUF Based on Programmable LUT Delays

A PUF Design for Secure FPGA-Based Embedded Systems

U S E R M A N UA L. Installation, Warranty and Service Information

NYSE BEST TRADE AND QUOTE CLIENT SPECIFICATION

MT4 Supreme Edition Trade Terminal

A PUF Design for Secure FPGA-Based Embedded Systems

Variation Aware Placement for Efficient Key Generation using Physically Unclonable Functions in Reconfigurable Systems

v1.6 (changes from PI + v1.5)

maxon motor maxon motor control EPOS Positioning Controller Getting Started Edition July 2007 Positioning Controller Documentation Getting Started

Bits and Bit Patterns. Chapter 1: Data Storage (continued) Chapter 1: Data Storage

NYSE BEST TRADE AND QUOTE CLIENT SPECIFICATION

Rev B. Getting Started with the ISDS Platform User Guide

Easy Ways to Use EFTPS. For Tax Practitioners, Accountants and. Payroll Companies

EasyDent Enhancements 2017

FI312 Umoja Grants Management Process Framework 2. Umoja Grants Management Process Framework 2 Version 20 1

2. T H R O U G H P U T R A T E S A N D I P A C C E S S 7. R E P A I R S / F A U L T L O G G I N G

STEALTH ORDERS. Page 1 of 12

Debugging with CMSIS-DAP

June 2018 HKATS RISK FUNCTIONS USER S GUIDE

Cboe Futures Exchange Risk Management Specification. Version 1.1.6

Using the CTELL Portfolio

StuckyNet-Link.NET User Interface Manual

Taiwan Futures Exchange. Market Data Transmission Manual

Margin Direct User Guide

FI312 Umoja Grants Management Process Framework 2. Umoja Grants Management Process Framework 2 Version 20 1

Solar Eclipse Credit Card Authorization. Release 9.0.4

Cabcharge Taxi Management System (CTMS) User Guide

a v SMART LINES IC Markets

Bitline PUF:! Building Native Challenge-Response PUF Capability into Any SRAM. Daniel E. Holcomb Kevin Fu University of Michigan

Opening a pensionsync account for the first time

MEMORY SYSTEM. Mahdi Nazm Bojnordi. CS/ECE 3810: Computer Organization. Assistant Professor School of Computing University of Utah

META TRADER 5 MOBILE (ANDROID)

The interface is designed to translate paging commands from a host computer to signals understood

ASSURANT FIELD ASSET SERVICES INTEGRATION

Plan Advice Manager Dashboard

HomePath Online Offers Guide for Selling Agents

DMI Certification. David G. Lawrence DMI Working Group

NCHELP CommonLine Network for FFELP And Alternative Loans. Response File. File Description Release 4 Processing

TAXCAT ELS TAX RETURN PREPARATION AND LODGMENT SOFTWARE

MEDICARE PART D COVERAGE GAP DISCOUNT PROGRAM TRAINING FOR PART D SPONSORS AND DRUG MANUFACTURERS

Microprocessor Based Physical Unclonable Function

META TRADER 5 MOBILE (iphone/ipad)

WINASAP: A step-by-step walkthrough. Updated: 2/21/18

The Dynamic Cross-sectional Microsimulation Model MOSART

Depth of Market (DOP) for ECN Prime accounts

Banner Finance Budget Development Training Workbook

Financial Institution IOLTA Account Manual

AASTOCKS Market Intelligence Express (MIE)

NASDAQ OpenView Basic SM. Data Feed Interface Specifications Version c Updated: September 12, 2006

PCCA Electrical Service Order (Please read instructions, explanation of services and regulations on reverse side)

MEDICARE PART D COVERAGE GAP DISCOUNT PROGRAM TRAINING FOR PART D SPONSORS AND DRUG MANUFACTURERS

USER GUIDE

Loan Origination Version NT1316-ORACLE FC UBS V.UM [January] [2010] Oracle Part Number E

NASDAQ OMX Global Index Data Service SM

13 Combinational Logic Devices

Frontier Telephone Companies TARIFF FCC NO. 4 Original Page 22-1 ACCESS SERVICE

Version Updated: December 20, 2017

NEST web services. Operational design guide

E-Broker User Guide. Application e-broker

Framework Program 6 - CPF Editor SUBJECT: Frequently Asked Questions

Introduction to Detailed Claim Information Reporting. Lesson 4: Resources and Tools

GENERAL INFORMATION January 2011 decision about establishment of MONEX MTS.

Enterprise by HansaWorld Cash Book and Expenses

1 Introduction. Integration

Market Maker Protection Model

WELCOME TO MASTER MOBILE

Bell Aliant PC Phone Installation/Removal Guide

SPAN for ICE SPAN Array File Formats for Energy Products

Infor LN Project User Guide for Project Estimation

Secure and Energy Efficient Physical Unclonable Functions

T2-T2S CONSOLIDATION USER REQUIREMENTS DOCUMENT T2 - CENTRAL LIQUIDITY MANAGEMENT COMPONENT FOR

Old Company Name in Catalogs and Other Documents

Data Solutions SIF Agent for Follett Destiny 9.9

Taiwan Stock Exchange Market Information Transmission Operation Manual (IP Feed Specification)

PURCHASING/MOSAIC Personal Budget

Blockchain Developers Course

Creditors / Suppliers

idms Accounting Manual

Wells Fargo Payment Manager for Eclipse. Release 9.0.3

Trade Data Dissemination Service 2.0 (TDDS 2.0)

Blackbaud FundWare Custom Florida Retirement Programs Guide

Decision Trees: Booths

RESOLV CONTAINER MANAGEMENT DESKTOP

TRADE TERMINAL. Page 1 of 13

AyersGTS (Internet) User Manual. Ayers Solutions Limited

2 4 1 Revenue Information by Product Groups. 4 2 Revenue by Geographic Region. 7 4 Revenue and Contract Duration

COMMISSION DELEGATED REGULATION (EU) /... of

MRX-30 Owner s Manual

Nasdaq Fund Network Data Service

How to Model Multi-Party Service in SoaML? Written Date : September 4, 2013

DisplaySoft S IRS Reporting. Real Estate Software User s Guide Getting Started

Transcription:

PUF Design - User Interface September 27, 2011 1 Introduction Design an efficient Physical Unclonable Functions (PUF): PUFs are low-cost security primitives required to protect intellectual properties in an IC. In this challenge, teams have to design a secure and reliable PUF on the given FPGA. The quality of the PUF will be evaluated by different metrics such as Hamming distance between the responses when a bit in a challenge is flipped, distribution of 1s and 0s in the response bits, response uniqueness across different instantiations. In addition, the power, delay, and area occupied by the PUF will be considered. In order to participate, teams have to register before September 10, 2011. Teams have to submit an initial report on their possible ideas; attacking the processor and/or designing the PUF. Based on the report, finalists will be selected. Selected finalists will attend the ESC final in New York City (travel+accommodation will be paid for US participants). Cash prizes will be awarded to winners and first-place runners-up. Scholarships will be awarded to all finalists to attend NYU-Poly. Finalists can interact with recruiters from the sponsoring agencies. A special issue of a journal/special session of a conference will be organized (ESC 2010 papers are appearing as a special session of the IEEE ICCD 2011). 2 Design The PUF Interface design will function as the communication channel between the PUF circuit and the user by transmitting and receiving data via the UART module. The design will be able to take the user data received from the UART module and stored it in a RAM of size 2KB. Afterwards the data are process by the selected PUF circuit and stored in a second RAM which then can be downloaded to the terminal. The overall design consists of a mixture of controllers, memory modules, UART module, and multiplexers. Input Memory: This memory module will be used to stored the incoming data from the UART. The size of the memory is 2048 bytes with a width of 8-bits. Output Memory: Is used to stored the output values of the PUF circuit. The RAM size is 1024 bytes with a width of 8-bits. PUF Circuit: This is the user design component. The user constraints are defined as the following: An input signal of 16-bits An output signal of 8-bits A done signal that will trigger active high when the output data is valid. Controller: Handles the communication between all the modules. 1

UART: A simple serial module that will be able to dump the memory contents of the attached memory module. In other words the UART module will cycle through the given memory location and transmit the data (8-bits) to the terminal one by one. Figure 1: PUF Interface - Block Diagram 3 FPGA Board Interface BTNC - Re-dump command. If the UART controller is in the transmit state (SW0 = 1) then pressing BTNC will re-dump the RAM contents. Note, pressing BTNC will not erase the RAM contents. BTNL - Start the selected PUF circuit. SW0 - Download (0) / Upload (1) data from either Memory In or Memory Out. SW1 - Select switch between Memory In (1) or Memory Out (0). Memory In will contain the upload contents, can be use to verify a correct upload. Memory Out will contain the calculated values. LED - Enable when PUF circuit calculation is done. SW7, SW6, SW6 - serve as the multiplexer controlled switches for choosing the PUF circuit. 4 Software Packages In order to synthesis the PUF design, there will be a few tools used throughout the guide. Xilinx ISE Webpack - Download from http://www.xilinx.com/support/download/. For compatibility, install version 12.4 Digilent s Adept - http://www.digilentinc.com/products/detail.cfm?navpath=2,66,828&prod=adept2 USB-UART Driver - Window s 7 will automatically download the required drivers. If it doesn t work, install the drivers from the link below: http://www.exar.com/common/content/productdetails.aspx?id=9546&parentid=4 2

Terminal - is a simple serial port terminal program that served as the communication between the 8051 and computer. Can be download from http://sites.google.com/site/terminalbpp/ txt2bin.py - Python script that takes a text file and converts it to a binary file. This is needed since the text file will be in ascii characters and we need the actual binary values. Usage: txt2bin.py <filename> bin2txt.py - Python script that perform the inverse of the above script. Usage: bin2txt.py <filename> 5 Design Flow Create a new Xilinx project and copy all the required files into the project. There will be several files which will appear to be missing. Two of them are the Memory IP Core file which we need to generate. The rest of them are the user-created PUF design. Figure 2: PUF Project Generate two IP memory files; one called Memory In with a write width of 8 and a write depth of 2048. The second memory is called Memory Out with a write width of 8 and a write depth of 1024. See the appendix 6.1 for more information. Integrate the PUF design into the project. Repeat the step to add all eight designs. 3

Figure 3: Add PUF design Double click on the puf top file in the design window (top left) and modified the file to include your component declaration and port mapping. Figure 4: Open top level file 4

Double click on Generate Programming File to get the bit file. Figure 5: Generating bit file Attach the USB cable to the correct slot and launch Digilent s Adept program. Locate the PUF bit file and hit program. Since Digilent only provided one USB cable, use the same cable and change from the PROG to the UART port. Launch the terminal program and connect to the appropriate COM port. The baud rate is 9600, 8 data bits, no parity, 1 stop bit and no handshaking. Set the receive option to view hex. 5

Figure 6: Terminal program To upload a file, set SW0 to 1 and press BTNC. This is to insure that the file is upload to the beginning of the memory location. Then click send file and choose the file to upload. Once the file is sent, set SW0 back to 0. Any old data in the terminal window can be clear using the CLEAR option. Figure 7: Uploading file 6

Figure 8: Uploading file Done Select which PUF design you want to perform the calculations. Use SW7 SW6 SW5 to select the design. For example, setting switches SW7 SW6 SW5 to 101 respectively will enable the fifth PUF design. Start the calculation by pressing BTNL, after the calculation is done, the led will light up. To view the calculated values, press BTNC. This will re-dump the memory contents to the terminal. To view the previous uploaded values, set SW1 to 1 and press BTNC 7

Figure 9: Memory dump 8

6 Appendix 6.1 Generating memory IP Core Figure 10: RAM 2kx8 Figure 11: RAM 2kx8 9

Figure 12: RAM 2kx8 Figure 13: RAM 2kx8 10

Figure 14: RAM 2kx8 Figure 15: RAM 2kx8 11

Figure 16: RAM 2kx8 12