This course is designed for development, test, and custom engineers,
as well as researchers, and graduate level students, in the Wireless and IoT chip industry. Participants will learn the foundations of System on Chip security in Wireless and IoT spaces, covering both hardware and software security, including how modern System on Chip system virtualization commonly serves as the infrastructure of System on Chip security and memory hierarchy. We will explore the security and Memory Management Unit (MMU) architectures in the hardware and software designs in the Wireless and IoT chip industry. Examples will be drawn from some popular ARMv7/v8 System on Chip designs.
- Introduce the ARMv8-A System on Chip
- Introduce the trust model and privilege model of Wireless and IoT chips
- Introduce the requirements for Secure Access Control
- Memory Virtualization using MMU and SMMU hardware
- Interrupt Virtualization using GIC hardware
- PCIe device virtualization
- The flow of ARM recommended secure boot
- Survey hypervisor designs that fit for low power designs
Course Learning Outcomes:
- Learn the basics System on Chip concepts, especially the ISA, MMU and IO building blocks in an ARMv8 System on Chip
- Analyze the common Trusted Computing Based (TCB) models, the common threat models, and common security requirements in Wireless and IoT chip industry
- Classify security attacks against System on Chip including DMA attacks and side-channel attacks like Spectre and Meltdown using ARMv8 System on Chip
- Describe secure boot and code signing theory of operation
- Describe the motivations behind the System on Chip Security Access Control and VM-based security, both in the ARMv8 Secure World and the Normal World
- Develop the driver algorithms for memory and interrupt virtualization schemes
- Develop security protocol examples for IO virtualization as used in DRM protocols or Face-Authentication solutions
- Able to program ARMv8 SMMU control registers and analyze stage-2 page tables in secure world and normal world
Course Typically Offered: Online in Fall and Spring quarters.
Prerequisite: Student should be profecient in a programming language, preferably C++. They should also be familiar with computer operating systems, IP protocol stack, system security, computer organization, and public key infrastructure.
Next Step: After completing this course, consider taking other courses in the Wireless Engineering certificate program to coninue learning.
Contact: For more information about this course, please email firstname.lastname@example.org.
Course Number: ECE-40851
Credit: 3.00 unit(s)