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.
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.
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.
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 was said in the videos, the quiz itself is part of the learning process, which is OK.
I am doing the second week now: this one is far more difficult to understand and to follow. That is what will make the certificate valuable, all right, but it requires more knowledge than was mentioned in the prerequisites. The professor is not really explaining it, but rather lets you know what topics you need to look up somewhere else. :-(
I do respect the Prof. Gang Qu for his knowledge, I am sure he is very smart, but - again, with all respect - his English does not make him the perfect candidate for holding a video course.
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.
Laura Rcompleted this course, spending 6 hours a week on it and found the course difficulty to be medium.
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