Lab:How to use SSG to build your security solution V1.0 Bob Yi Aug 4, 2008.

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

Presentation Heading – font Arial
X-Call Version V3.0 User Guide
Code Composer Department of Electrical and Computer Engineering
Lab7: Introduction to Arduino
KX-NS1000 Initial Set Up For step by step : 16 May,
Getting your Arduino to Work: Microsoft Windows 1.Install Arduino programming environment 2.Install Arduino Uno driver 3.Make sure you can download a program.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
LAUNCHXL2-RM57L – Project 0
v8.2 System Generator Audio Quick Start
1. 2 LXU800 User’s Manual 1.Installation – Windows XP UI Features Introduction Data Connection & Disconnection.
1 Semester 2 Module 2 Introduction to Routers Yuda college of business James Chen
Tutorial 2: Introduction to ISE 14.6 (revised by khw)
Part 1 Using the ARM board And start working with C Tutorial 5 and 6
1 Chapter 2 ROUTER FUNDAMENTALS By: Tassos Tassou.
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
Renesas Technology America Inc. 1 M16C/Tiny SKP Tutorial 2 Creating A New Project Using HEW4.
Digital Logic and State Machine Design Installing Xilinx WebPACK 12.4 CS 2204 Digital Hardware.
Thrive Installation.
AT91SAM9261-EK WinCE 6.0 DEMO ATMEL AT91 Application & Support Group
Back to content Final Presentation Mr. Phay Sok Thea, class “2B”, group 3, Networking Topic: Mail Client “Outlook Express” *At the end of the presentation.
ICP Kit 2011 HHC Data Entry Module The World Bank ICP Kit Training African Development Bank.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
High Speed Data Converter University
Geo CE-XM ch 4 Edited 10/14/05 1 The XM is the newest of the rovers, and unlike other units, it comes with software installed on the unit as well as using.
AT91SAM9261-EK WinCE 5.0 DEMO ATMEL AT91 Application & Support Group Version 1.O February 2007.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
1. Insert the Resource CD into your CD-ROM drive, click Start and choose Run. In the field that appears, enter F:\XXX\Setup.exe (if “F” is the letter of.
1 Introduction to Xilinx ISL8.1i Schematic Capture and VHDL 1.
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
Cisco ASA 5505 Joseph Cicero Northeast Wisconsin Technical College.
1 Introduction to Xilinx ISL8.1i & 11.1 Schematic Capture 1.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
What is Web Site Administration Tool ? WAT Allow you to Configure Web Site With Simple Interface –Manage Users –Manage Roles –Manage Access Rules.
Programmable Logic Training Course HDL Editor
TECHNICAL TRAINING SMART COMMANDER System Requirements CPU : 800MHz and aboveCPU : 800MHz and above Memory : 256MB RAM or HigherMemory : 256MB.
SAM9260-EK WinCE DEMO AT91 SAM9 Product Group. Version 1.0 October 2006.
7200 Samsung Confidential & Proprietary Information Copyright 2006, All Rights Reserved. 1/16 OfficeServ 7200 Enterprise IP Solutions Data Server S/W Upgrade.
Renesas Technology America Inc. 1 M16C Seminars Lab 3 Creating Projects Using HEW4 14 March 2005 M16C Seminars Lab 3 Creating Projects Using HEW4 Last.
Introduction to Routers
JDS5 Training Guide. On Start Up you will see this screen click the OK button Click OK.
CCNA2 Chapter 2 Cisco IOS Software. Cisco’s operating system is called Cisco Internetwork Operating System (IOS) IOS provides the following network services:
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
This material exempt per Department of Commerce license exception TSU Architecture Wizard and PACE Lab 2 Introduction.
Quick guide to ASIMON configuration For version 3.0 or greater SAFETY AT WORK Date: 3/18/2009.
Start with loading the picture Locate your camera’s USB cable –it looks something like this:
Module 5 GemStall Overview
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Page 1 of 38 Lenovo Confidential Lenovo Confidential Lenovo Confidential Lenovo Confidential Lenovo Confidential Please Note: Information contained in.
Teaching Digital Logic courses with Altera Technology
Virtual Machines Module 2. Objectives Define virtual machine Define common terminology Identify advantages and disadvantages Determine what software is.
© Copyright 2010 Xilinx ML605 MultiBoot Design May 2010 © Copyright 2010 Xilinx XTP043.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the use of the High-performance.
Maj Jeffrey Falkinburg Room 2E46E
Lab 1: Using NIOS II processor for code execution on FPGA
CCNA Routing and Switching Routing and Switching Essentials v6.0
Implementing VHDL Modules onto Atlys Demo Board
CCNA 3 v3.1 Module 6 Switch Configuration
Chapter 10: Device Discovery, Management, and Maintenance
CCNA Routing and Switching Routing and Switching Essentials v6.0
ADC32RF45 with KCU105 Internal Clock GHz.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Chapter 10: Device Discovery, Management, and Maintenance
ADC32RF45 Testing.
Founded in Silicon Valley in 1984
Presentation transcript:

Lab:How to use SSG to build your security solution V1.0 Bob Yi Aug 4, 2008

SSG User Guide 2 Table of Contents Introduction Objective Requirements Lab Steps Summary

SSG User Guide 3 Introduction This Lab will show how to use SSG to speed up the development of security solution and mass production solution 。 SSG enable you customize your security solution via a GUI interface 。 You may download an actual design , add security feature into it in minutes 。 The basic flow is as below. – Pick a user application design electively – Implement the origin design (without authentication) – Run SSG to add the security funtion to the origin design – Re-Implement the design (NOW with authentication) – Change some settings in SSG, to observe the impact

SSG User Guide 4 Objective After you finish this lab, you will: 1. Become familiar with xilinx device-dna-based security solution flow 2. Understand the mass production flow 3. Utilize SSG tool customize and generate security design

SSG User Guide 5 Requirements Hardware – Spartan 3AN Starter Kit Board – USB Cable – RS232 Cable – Laptop PC with ISE 10.1 (SP2) installed Software – SSG tool – Hyperterminal Source – ZIP file: ssg_examples.zip

SSG User Guide 6 STEPs The total lab is devided into 3 phases. Each phase will implement an individual task. Each phase contains several steps. – Steps of Phase 1: Implement the origin design in ISE ( OPTIONAL ) the phase will generate the design bitstream file (user_top.bit) without security feature.this phase is used for the goal to compare with the result of phase 3, If you’re familiar with these operations, You may jump the phase 。 – Steps of Phase 2: Running SSG the phase will generate the security core and the 2nd image (wcks.mcs) – Steps of Phase 3: Implement the authenticated design in ISE the phase will generate the design mcs file (authentication.mcs) with security feature

SSG User Guide 7 Steps of Phase 1 - Implement the origin design in ISE (1) 1.1. Download the zip file ssg_examples.zip or get it from instructor of course 1.2. Unzip the package to get the below directory – Ssg_examples source audience can start from this directory completed the completed version for comparation with audience ’ s result 1.2. Launch ISE Project Navigator tool 1.3. Click 【 File 】  【 Open Project 】, Enter the source directory , Open the project “lab_ssg.ise” 。 1.4. Browse the source RTL code Design hierarchy Structure: user_toptop-level module user_appuser application module

SSG User Guide 8 Steps of Phase 1 - Implement the origin design in ISE (1) 1.5. Click 【 Generate Programming File 】 in ISE’s “Processes” window 1.6. Connect USB cable between S3AN starter kit board with PC 1.7. Power on the S3AN starter kit board 1.8. Click 【 Config Target Device 】 → 【 Manage Configuration File (iMPACT) 】 to download the design’s bitstream into targert board 1.9. Observe the result The LED lights flash in some rule, it present that user’s Application design runs

SSG User Guide 9 Browse the top level code (user_top.v) module user_top(tx_female,rx_female,sw,led,nf_ce,j2_30,j2_26,j2_22,j2_14,clk); … user_app instance_name (.en(1 ’ b1), //1 means enalbing the desing function.led(led), //you can change it to 1 ’ b0 to disable the.clk(clk)// desing function ); endmodule

SSG User Guide 10 Steps Of Phase 2 - Running SSG (1) 1. Click SSG icon to launch SSG tool 2. Apply to these settings as the below table ItemValue “Step 1” PageDevice Type XC3S700AN Device Package FGG484 Speed Grade -4 UART for monitor Checked “Step2” PageAlgorithm U s e the last option “User Define Algorithm” Then the coming step will specify a user algorithm “Step 3” PageLayout of ISF The Location of CKV 0x3FFC10 Other Option Keep the default value Locate the “Step 2” page, Specify the user algorithm 1. Click “Load…”, then an Open-File-Dialog will pop-up, 2. Navigate the algorithm directory, find the file user_algorithm1.psm, select and highlight the file. 3. Click “Open”, then the algorithm code will fill the algorithm edit area 。 4. Final click “Apply” to save the content. In the “Step 4” page, navigate the user contraint which are from S3A starter kit user guide

SSG User Guide 11 Browse User Algorithm CALL send_CR;Send a CR to UART port LOAD sA,Flash_security_reg;Get the value from the ISF Security Register FETCH s0,(sA) ;...Work with the previous line LOAD sA,Flash_Fam_ID_start;Get the value from the ISF Family ID FETCH s1,(sA) ;...Work with the previous line XOR s0,s1;Operate using the above 2 values LOAD sA,CKvalue ;Save the result into Memory (CKValue) STORE s0,(sA) ;...Work with the previous line LOAD s9, DNA_byte7 ;pointer to scratch pad memory ck_gen_loop: LOAD sA,CKvalue ;Re-Get the value of CKvalue. Prepare for the rest algorithm FETCH s0,(sA) ;...Work with the previous line CALL send_hex_byte; Display via UART port CALL send_space CALL send_xor CALL send_space ; ; for(address=DNA_byte7; address>DNA_byte0; address--) ; CKvalue = CKvalue xor *address; ; FETCH s0, (s9) ; get DNA byte CALL send_hex_byte CALL get_Yes_no_prompt LOAD sA,CKvalue FETCH s1,(sA) FETCH s0, (s9) XOR s0,s1 LOAD sA,CKvalue STORE s0,(sA) CALL send_equals LOAD sA,CKvalue FETCH s0,(sA) CALL send_hex_byte COMPARE s9, DNA_byte0 ;test for last byte displayed JUMP Z, ck_gen_done SUB s9, 01 CALL send_CR JUMP ck_gen_loop ck_gen_done: CALL send_CR CALL send_CKvalue CALL send_equals ; ; if(SW_port==0x00) //if the extra Switch is open, go further to append a extra algorithm ;ckvalue_change(CKvalue); ;

SSG User Guide 12 Browse User Algorithm INPUT s1,SW_port COMPARE s1,00 JUMP Z, ckvalue_change LOAD sA,CKvalue FETCH s0,(sA) CALL send_hex_byte CALL SPI_init ;FLASH disabled RETURN ;sub-routine ckvalue_change: CALL send_space CALL send_not CALL send_space LOAD sA,CKvalue FETCH s0,(sA) CALL send_hex_byte CALL send_equals LOAD sA,CKvalue FETCH s1,(sA) LOAD s0,ff SUB s0,s1 STORE s0,(sA) CALL send_hex_byte CALL SPI_init ;FLASH disabled

SSG User Guide 13 Browse the User Contraint # # Period constraint for 50MHz operation # NET "clk" PERIOD = 20.0ns HIGH 50%; # # soldered 50MHz Clock. # NET "clk" LOC = "E12" | IOSTANDARD = LVTTL; # # UART connections # NET "tx_female" LOC = "F15" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4; NET "rx_female" LOC = "E16" | IOSTANDARD = LVTTL;

SSG User Guide 14 Steps of Phase 2 - Running SSG (2) 4. In the “Step 5” page, Click 【 Generate the security solution 】 button, a DOS console windows pops up 。 SSG will invoke some key functions of ISE to generate Security Core and 2nd image(known as CKV generator/writer) it will take few minutes to complete the process 。 Please be patient 。 5. After finish the generation process , Click 【 Next>> 】 to enter “Step 6” Page , Click 【 Open the final output directory... 】 to open the final output directory 。 You can find there are 3 files: Authentication.ngc Authenticaton_wrapper.v WCKV.mcs 6. Then copy these 3 files into “source” project directory

SSG User Guide 15 Steps of Phase 3 - Implement the authenticated design in ISE (1) 1. Switch to Launch ISE 10.1 tool 2. Enter the source directory , Open the project “lab_ssg.ise” again 。 3. Click 【 Add source… 】 to add the file “authentication_wrapper.v” which is copied in phase 2, Then modify the top level file (user_top.v), the final result is like the next slide. And to avoid to unexpected timing error, please add the below line into user contraint file. NET "instance_name/instance_name/cs0_b" TIG;the next slide 4. Browse the source RTL code again 。 Design Hierarchy Structure user_top top-level module user_app user application module authentication user application module (New) 5. Click 【 Generate Programming File 】 in ISE’s 【 Processes 】 window After finish this step, You can find the user application bitstream file user_top.bit 6. Open a DOS console, and change the current direcotry to source project directory, the following 2 steps will be executed in the directory.

SSG User Guide 16 Browse the top-level code (user_top.v) module user_top(tx_female,rx_female, led, clk); … // assign tx_female = 1 ’ b1; comment this line authentication ins_auth (.TX(tx_female),.RX(rx_female),.AUTH_EN(en),.CLK(clk) ); user_app instance_name (.en(en),.led(led),.clk(clk) ); endmodule

SSG User Guide 17 Steps of Phase 3 - Implement the authenticated design in ISE (2) 7.Generate mcs file for user_top.bit (**To save time,you can copy the line from merge.bat) promgen -w -p mcs -c FF -s spi -o user_top.mcs -u user_top.bit please find merge.bat in merge dir of SSG 8. Merge the 1st image (user_top.mcs) with 2nd image(wckv.mcs) generated by SSG wcks.mcs, use the following dos command (**To save time,you can copy this line from merge.bat) xmcsutil -accept_notice -i user_top.mcs wckv.mcs - o authentication.mcs -16 -useDataAddr -padFF - segaddr 0x x60000 Xmcsutil is a tool to manage mcs file, please find it in merge dir of SSG 9. Program the authentication.mcs into S3AN Internal flash using iMPACT tool 10. Connect USB cable between S3AN starter kit board with PC 11. Connect RS232 cable between S3AN starter kit board with PC

SSG User Guide 18 Steps of Phase 3 - Implement the authenticated design in ISE (3) 12. Open Hyperterminal Software, and apply settings as below. Baud Rate Setting N Power on the S3AN starter kit board 14. Observe the authentication process Expected result: When power on the board, you can go through the process of authentication via uart output message 。 The expected flow is load 1st image  authentication  fail(LEDs light off)  load 2nd image  generate and write the check value  re-power on the board -> authentication again  pass (LEDs light on) 。 The following slide will show the work flow 。

SSG User Guide 19 Observe the authentication process(1) Once the board is powerd on, the 1st image is boot-loaded. The welecom message appear The status is the current of ISF, Page Size means the size of each page, it could be 528,512,264,256 Security OPT includes the context of security table of ISF (len is 64bytes).

SSG User Guide 20 Observe the authentication process(2) The security register means the context of security register (its len also is 64 bytes), it is unique for every ISF device.

SSG User Guide 21 Observe the authentication process(3)

SSG User Guide 22 Observe the authentication process(4) Read out the value of Device DNA. The following shows the process of algorithm.

SSG User Guide 23 Observe the authentication process(5) Because the code can’t find the correct key value, so the authentication fail, the coming is to boot-load the 2nd image

SSG User Guide 24 Observe the authentication process(6) The 2nd image runs, then generate the check value, and store it in the specified location of ISF

SSG User Guide 25 Observe the authentication process(7) Re-Power on the board, it will be differenct from the first time. it can find the correct check value,and authetication will pass. The LEDs light on

SSG User Guide 26 Summary It will speed up the development of security solution 。 You can generate an security core and the 2nd image 。 In your ISE project, you can import the security core 。 After the implement your user application design , you can merge the result with the 2nd image to obtain the final mcs file with authentication feature and mass production ability 。

Thank You!