Overview
Class Central Tips
In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.
Syllabus
- Digital System Design: Basics and Vulnerabilities
- To learn hardware security, we first need to learn how hardware is designed. This week's lectures give an overview of the basics on digital logic design, which is a semester-long course for freshmen and sophomores in most schools. By no means we can cover all the materials. What we provide here is the minimal set that you need to understand about digital design for you to move on to learn hardware security.
- Design Intellectual Property Protection
- As a hardware designer or a company, you want to protect your design intellectual property (IP) from being misused (by users, competitors, silicon foundry, etc). We will cover how you can build such protection during the design process which can be used as an evidence to support law enforcement protection. You are expected to understand the basic digital logic design knowledge covered in week 1. We will use several NP-hard problems as examples to illustrate the concepts of IP protection. These problems (graph vertex coloring problem and graph partitioning problem) will be introduced in the lecture and you do not need to know the concept of NP-complete.
- Physical Attacks and Modular Exponentiation
- This week you will learn the fundamentals about physical attacks: what are physical attacks, who are the attackers, what are their motivations, how can they attack your system (from hardware), what kind of skills/tools/equipment they should need to break your system, etc. You will also see what are the available countermeasures. You will learn how system security level and tamper resistance level are defined and some general guidelines on how to make your system secure by design. In the second part, you will learn a useful mathematical operation called modular exponentiation. It is widely used in modern cryptography but it is very computational expensive. You will see how security vulnerability might be introduced during the implementation of this operation and thus make the mathematically sound cryptographic primitives breakable. This will also be important for you to learn side channel attack next week.
- Side Channel Attacks and Countermeasures
- This week, we focus on side channel attacks (SCA). We will study in-depth the following SCAs: cache attacks, power analysis, timing attacks, scan chain attacks. We will also learn the available countermeasures from software, hardware, and algorithm design.
- Hardware Trojan Detection and Trusted IC Design
- This week we study hardware Trojan and trusted integrated circuit (IC) design. Hardware Trojans are additions or modifications of the circuit with malicious purposes. It has become one of the most dangerous and challenging threats for trusted ID design. We will give hardware Trojan taxonomies based on different criteria, explain how hardware Trojan work, and then talk about some of the existing approaches to detect them. We define trusted IC as circuit that does exactly what it is asked for, no less and no malicious more. We will illustrate this concept through the design space analysis and we will discuss several practical hardware Trojan prevention methods that can facilitate trust IC design.
- Good Practice and Emerging Technologies
- This is the last week and we will cover some positive things on hardware security. We start with trust platform module (TPM), followed by physical unclonable functin (PUF), and FPGA-based system design. We conclude with a short discussion on the roles that hardware play in security and trust.
- Final Exam
Taught by
Gang Qu
Tags
Reviews
2.9 rating, based on 9 Class Central reviews
4.3 rating at Coursera based on 679 ratings
Showing Class Central Sort
-
I have done the 1st week, which was realtive easy for me to understand, since I have learned of boolean logic, and sync logic, and FSMs before, but I doubt that is is easy for a beginner. The first week's quiz was actually made you to re-think what…
-
The course is too formal and theoretical. It gathers and tries to systematize academic approaches for Hardware Security that are often very far away from the practice. Quizzes are boring and check your ability to remember definitions or making modular arithmetic. Consider this course as a source of the keywords for the topic but not a foundation of a good understanding.
-
This course is no longer free. You can only view 4 videos per week unless you pay Coursera $50. Each week has more than 4 videos, so you cannot complete the course material for free. Coursera's "auditing" is now only a sales tool.
-
Difficult for anyone who hasn't previously had experience to digital design basics (such as satisfiability don't cares), and truth tables. The professor gives a good introduction to the topics, but I believe that my previous work in the area helped immensely
-
The course is not self-contained as claimed. The professor doesn't do a good job in explaining the topics, and it all seems to theoretical. Not recommended.
-