 Welcome to the information security part 2 course, this is the second of these 6 courses that we plan in the series. We offered the part 1 course some months before in the same MOOC platform. So in this part 2 course we will be covering some of the hardware architecture support in building a secure compute or secure networking system. As you see in the slide a compute system or a communication system today comprises 5 layers and each layer is a virtual machine. As you see the lowest of the layer is the digital hardware on top of which there lies an abstraction this is the micro architecture on top of that there is an operating system layer on top of that there is there are system programs including compilers and software development in your own months and above on all top of all those are the application software. For ease of development specifically the software development every layer has been conceived as a virtual machine, virtual machine in the sense that these layers are people working in these layers can essentially work in isolation they need not be aware of what is happening outside that layer and all those interfaces are abstracted and given. So as a software developer I need not necessarily know which compiler is going to compile my software which operating system is going to schedule the compile program which hardware is going to execute I can develop today software independent of all these factors. So I as a programmer is ignorant about the execution environment I am ignorant about the compiler I am ignorant about the operating system. And so when I develop the software though that development process also is ignorant of all these things and this ignorance is many a time exploited by the hackers to go and introduce Trojans or any software security vulnerability into the system. So in essence since all these five layers are virtual machines it becomes the motivation for a hacker to exploit the ignorance of one layer about the other layers and hack into the system and hence cause a security issue. When we want to address security comprehensively we need to address each of these layers from a security point of view. In the first course that we offered last year we had covered many things about systems processes people essentially processes people technology we have covered we have given lot of coverage on those issues that will essentially serve as a framework for you to have a good appreciation of information security. I would call the first course as a course which introduces the breadth of information security or secure systems engineering how to engineer a secure system. Down the line the remaining six courses five courses that we are planning we would like to go into each of the hardware the operating system the micro architecture the compilers and software development we would like to go into depth in each of these areas from a security point of view. So in this phase two course we will talk about the lowest layer as you see in the slide which is the digital hardware. Now as you see I could have an excellent code excellence in terms of security I could have an excellent code developed I could have an excellent operating system which is highly secure. But if the underlying hardware has vulnerabilities or does not support certain features then the entire excellence that you have achieved in the layers above the hardware is actually not very useful because the hacker can basically hit a hardware vulnerability and hack into your system. So hardware actually becomes the root of trust and what we will talk about in this course is what are the different hardware features that had been made available in contemporary computing and also networking hardware today what are the features available in that which could help you in building up a secure system. You will also realize at the end of the course that without a strong hardware support it is actually impossible to build a secure system. You will also find it very surprising that these notions of security had been built into architecture several decades before but still today we spend lot of time lot of researchers work lot of money spent lot of vulnerability still exists in today's systems essentially driving the field of information security today. One of the things that we will also try to understand is that over a period of several decades when at least three decades now when hardware had started looking at security why are our current day computing systems and communication systems still less secure. What happened and what are the lessons that we need to learn and that will also be one of the very important topic that we will be covering in this course. This course has lot of programming assignments and it is very important that people who attend this course do those assignments sincerely without those assignments being completely done and understood I do not think we could do justice to secure systems engineering even for the subsequent four courses where we are going to talk about operating systems and compilers this introduction to hardware security is actually not introduction I could say it is a very well elaborated hardware security course and the related programming assignments are extremely crucial. I also want to tell you that before you start attending this course please get a good laptop please install Linux in that and we will also tell you during the course what are all the type of software you need to install in your laptop and we will be giving live demos of the installation of the software and also create a good programming environment for you. So the end test examination will essentially be having lot of weightage on programming. So you will be asked to write programs and these programs will not be in C language or any high level language it will be in assembly language. So that is also very important it will be a very exciting course I welcome all of you and I hope to see you during the course thank you very much.