Skip to content
All courses
EMB 245
Term 6
3 credits

Embedded Security Basics

EMB 245 provides an essential foundation in embedded systems security for students pursuing careers in embedded systems engineering technology. As embedded devices proliferate across various industries, understanding their vulnerabilities and how to protect them becomes paramount. This course delves into common security challenges unique to resource-constrained environments, such as limited processing power, memory, and power, which often differentiate embedded security from traditional IT security. Students will explore key cryptographic concepts and their application in embedded contexts, learn about secure boot processes, memory protection, and secure communication protocols. The curriculum emphasizes practical application, with hands-on exercises designed to simulate real-world attack scenarios and implement defensive measures. By the end of this course, students will be equipped with the knowledge and skills to identify potential security risks in embedded designs and apply robust security strategies throughout the embedded product lifecycle.

Prerequisites

Course outline

Lectures, virtual labs, and graded assignments — completed in your browser.

01Introduction to Embedded Security: Why It Matterslecture
02Threat Modeling & Attack Surfaces for Embedded Systemslecture
03Analyzing Common Vulnerabilities in a Sample Embedded Devicelab
04Introduction to Cryptography: Primitives & Conceptslecture
05Researching Cryptographic Algorithms & Their Embedded Useassignment
06Secure Boot Process & Firmware Update Mechanismslecture
07Implementing a Basic Secure Boot Sequencelab
08Memory Protection Units (MPUs) and Access Controllecture
09Secure Communication: TLS/DTLS in Embedded Contextslecture
10Developing a Secure Communication Linkassignment
11Exploring Side-Channel Attack Conceptslab
12Secure Coding Practices for Embedded C/C++lecture
13Comprehensive Midterm Reviewlecture
14Final Reviewlecture

Syllabus

### Course Outcomes
Upon successful completion of this course, students will be able to:
1. Identify common security threats and vulnerabilities specific to embedded systems.
2. Explain fundamental cryptographic primitives and their application in embedded security.
3. Design and implement secure boot sequences and memory protection schemes for embedded devices.
4. Analyze secure communication protocols and apply them to embedded network interfaces.
5. Evaluate embedded system designs for potential attack surfaces and propose mitigation strategies.
6. Apply secure coding practices relevant to embedded software development.

### Weekly Topic List
* Week 1: Introduction to Embedded Security & Threat Landscape
* Week 2: Attack Vectors and Surface Analysis in Embedded Systems
* Week 3: Cryptography Fundamentals for Embedded Devices
* Week 4: Symmetric Key Cryptography & Hashing
* Week 5: Asymmetric Key Cryptography & PKI
* Week 6: Secure Boot and Firmware Updates
* Week 7: Memory Protection and Access Control
* Week 8: Secure Communication Protocols (TLS/DTLS)
* Week 9: Hardware Security Modules (HSM) & Trusted Execution Environments (TEE)
* Week 10: Side-Channel Attacks & Countermeasures
* Week 11: Secure Coding Practices for Embedded Systems
* Week 12: Embedded Device Forensics & Incident Response Basics
* Week 13: Comprehensive Midterm Review
* Week 14: Final Review

### Grading Policy
* Knowledge Checks: 15%
* Assignments/Labs: 30%
* Quizzes: 25%
* Final Exam: 30%

### Required Materials
* Online access to course learning management system (LMS)
* Embedded development board (e.g., ARM Cortex-M based microcontroller, specified by instructor)
* Software development environment (e.g., VS Code with platform-specific extensions, GCC ARM Embedded toolchain)
* Digital Multimeter (optional, for some labs)
* Selected readings and online resources provided by the instructor