ESD100: Embedded System Hardware Architecture Essentials (18 Hours)
In this course students learn the key concepts of embedded systems hardware design. Gaining an inside look at some of the most common embedded systems and the functional blocks within those systems, students in this course examine hardware components and their interfaces as well as important design considerations. They learn embedded systems design considerations and several approaches to system building common in the industry. Other key concepts in embedded hardware design include memories used in embedded systems and their interfaces, basic concepts in microprocessors, microcontrollers, digital signal processors (DSP), and the typical buses used at the system level.
After completing the course, you will see how the key concepts in embedded hardware design fit together, including the interaction of these hardware components as well as important design considerations.
PSE050: Product Cybersecurity 101 (18 Hours)
Product security goes beyond the traditional information security CIA triad of confidentiality, integrity, and availability, and includes the expectation that products are secure. In this class cybersecurity is applied to hardware and software across the board with a focus on embedded systems and preventing malicious access and use. Over the last few years there has been an increase of concern regarding cybersecurity, systems, and software, especially with the Internet of Things expansion of massive interconnectivity.
In this course, Product Cybersecurity 101, the fundamentals of product cybersecurity are explored with a focus on embedded systems to illustrate unique vulnerabilities that are commonly exploited. Students learn about methods and techniques considering cybersecurity measures in the entire system life cycle and acquisition. Secure Embedded Systems include many procedures, methods and techniques to seamlessly integrate cybersecurity within embedded system software & hardware.
PSE100: Cryptography Fundamentals (12 Hours)
In this course students learn the fundamentals of cryptography, which is a necessary tool for protecting information in computer systems. Topics include security and cryptography, stream and block ciphers, symmetric and asymmetric encryption, public key infrastructure (PKI) encryption, public key encryption, hash functions, digital signatures, and digital certificates.
PSE200: Introduction to Threat Modeling and Attack Trees (18 Hours)
Threat modeling is an essential skill for any type of security professional. This course is designed to give students a practical understanding of Threat modeling, covering not only the theory but immediately applicable tools and techniques including a focus on Attack Trees. Using attack trees to model threats is one of the most widely applied techniques used in threat modeling in the security development life cycle and in the overall software and systems design process. Attack trees are diagrams that depict attacks on a system in tree form. In this course students learn about threat modeling using a variety of modeling approaches including attack trees and attack libraries.
PSE300: Introduction to Hardware Hacking (18 Hours)
In this course students explore hardware hacking on embedded devices. Different types of embedded systems are analyzed: revealing the designs, components, security limits, and reverse-engineering challenges required to execute a hardware attack. Next the class explores hardware interfaces, ports and communication protocols, electrical signaling, tips for analyzing firmware images, and more. In the labs the student takes the role of the hacker, performing fault-injection, side-channel (SCA), and simple and differential power analysis (SPA/DPA) attacks on real devices.
Class will follow the text, The Hardware Hacking Handbook, and utilize the ChipWhisperer for labs during class.
PSE400: Cryptography Implementation (18 Hours)
In this course, students learn to deploy cryptographic tools to secure their applications and services. Students will create secure communications in public channels using public-key cryptography. They will also explore methods of authenticating messages to ensure that they haven’t been tampered with in transit. And lastly, they will learn how to use digital signatures and zero-knowledge proofs to let others verify the messages sent through your services.
Advanced Product Security Certificate (150 hours)
In order to complete the Advanced Product SecurityCertificate, students must complete the 102 hours of core classes above and 48 hours from the following electives:
- ENG250: Model Based System Engineering (MBSE) (Cameo) (18 Hours)
- DEV510: Introduction to DevSecOps (18 Hours)
- SEC520: Cyber Secure Coding with C++ (18 Hours)
- SWD125: Software Testing Workshop (12 Hours)
Each course counts towards one certificate only.