This document briefly documented the secure boot flow Hsien-Feng Ko has completed and implemented so far.
Author: Hsien-Feng Ko (r08943169@ntu.edu.tw)
Outline
I. Basic concept of secure boot
II. Boot flow with OS kernel integrity check
FSBL Hooks provided by Xilinx
KatsuKH changed 3 years agoView mode Like Bookmark
Use an example to explain
m_axi is used to implement the AXI4 interface (high performance bus)
Array or pointer/reference arguments
Single data transfer or burst mode data transfer
memcpy or for-loop
For-loop
Pipeline the loop
Access in increasing order
Wen-Wei0914 changed 4 years agoView mode Like Bookmark
Xilinx Vivado HLS
Board Setup
Create SD Card with Boot Image
1-1. Download the pynq image from here or official resource.
But if you choose the official resource, you should intall the environment following the userguide (skip 1-2)
1-2. Download win32 磁碟映像工具 and follow the steps of this website
2. Install the Xilinx tool chain here
Wen-Wei0914 changed 4 years agoView mode Like Bookmark
This document is a documentation of how the revised secure boot for the demonstration purpose works, along with the steps of environment building and some of the solutions to the trivial issues that people might be faced with during the process of reprocing the demonstration with AMP architecture.
Outline
What is Asymmetric Multiprocessing (AMP)
The building process of secure boot demonstration with AMP
What is Asymmetric Multiprocessing (AMP) [1]
Assymetric multiprocessing (AMP or ASMP, abbreviated as AMP in the folowing) is the concept in which the processors (namingly interconnected central processing unit, CPU) of a multiprocessor system are not treated equally.
It is the opposite concept as Symmetric mulciprocessing (SMP), where all the processors within a multiprocessor system are under control of ONE operating system for exploiting the full potential of the multiprocessor system itself.
KatsuKH changed 4 years agoView mode Like Bookmark
Find the hardware ip of your development board
Type ip address at the PYNQ OS environment (Use uart to connect your board)
2. Type the address on your browser and add :9090
3. The password is "xilinx"
4. You can loggin the jupyter_notebook of PYNQ
Create a new python3 program and include the critical library
Wen-Wei0914 changed 4 years agoView mode Like Bookmark
Use SHA256 with vivado2016.4 and SDK
HLS Part
Create a new HLS project
Add these four files and set sha256.c as top function
The files should in Research-master.zip @Secure Boot Google Drive
Add sha256_tb.c as testbench file
Wen-Wei0914 changed 4 years agoView mode Like Bookmark
ATECC608A Data Sheet
The ATECC608A includes an EEPROM array which can be used for storage of up to 16 keys, certificates,miscellaneous read/write, read-only or secret data, consumption logging, and security configurations.
New features of 608A:
Secure boot function, with IO encryption and authentication
AES command, including encrypt/decrypt
Updated NIST SP800-90 A/B/C Random Number Generator
Flexible SHA/HMAC command with context save/restore
Wen-Wei0914 changed 4 years agoView mode Like Bookmark