《嵌入式系统与硬件安全》教学大纲
课程编号:CE6010
课程名称:嵌入式系统与硬件安全英文名称:Embedded System and Hardware Security 学分/学时:2/32(24+16)课程性质:选修
适用专业:信息安全, 网络工程建议开设学期:6
先修课程:C语言,计算机组成开课单位:网络与信息安全学院
一、课程的教学目标与任务
本课程讲授嵌入式系统及其相关软硬件的安全威胁、安全机制、安全架构、安全分析方法及相关的安全标准规范。
通过对可信计算原理与应用、认证技术、故障注入与故障分析、嵌入式软件安全体系结构、边信道攻击及分析方法等课程模块的讲解,为学生从事相关领域的研究和开发工作奠定基础,并培养学生针对具体嵌入式系统环境进行安全性分析和安全机制设计的初步能力。
二、课程具体内容及基本要求
(一)引言( 2学时)
嵌入式系统的特点,嵌入式系统的脆弱性,面向嵌入式系统的常见攻击手段及相应抵御机制,嵌入式系统安全及硬件安全相关的标准,本课程内容概述。
1.基本要求
(1)了解嵌入式系统安全要解决的主要问题,嵌入式系统的特点;
(2)熟悉嵌入式系统特有的脆弱性,常见攻击手段及相应的抵御机制;
(3)了解嵌入式系统安全和硬件安全方面的相关技术标准,了解本课程主要内容在领域内的位置。
2.重点、难点
重点:针对嵌入式系统的常见攻击手段及抵御机制。
难点:
3.作业及课外学习要求:
阅读嵌入式系统安全方面的综述文献,并完成阅读报告。
(二)可信计算基本原理(2学时)
可信计算的目的,可信计算的基本原理,标准TCG体系结构及其主要概念,TCG规范。
1.基本要求
(1)熟悉可信计算的目的和基本原理;
(2)掌握标准的TCG体系结构及其相关主要概念,包括基础特征、可信平台模块及其组件、扩展模型、程序接口等。
2.重点、难点
重点:TCG体系结构及其相关主要概念。
难点:
3.作业及课外学习要求:
能够准确运用课堂知识完成课堂练习及课后作业,阅读TCG规范的部分关键章节。
(三)可信平台编程接口 (4学时)
TCG软件栈规范,TSSAPI的设计原则,TSS系统级API,TSS特征API,Java环境下的可信计算,TPM仿真软件的配置和使用。
1.基本要求
(1)熟悉TCG软件栈体系结构;
(2)掌握典型基于高级语言的可信平台编程接口API的使用方法;
(3)掌握TPM仿真软件的配置和使用方法。
2.重点、难点
重点:典型的可信平台编程接口。
难点:基于TPM仿真软件提供的可信功能实现安全服务程序。
3.作业及课外学习要求:
能够准确运用课堂知识完成课堂练习及课后作业,能够自己编写简单的基于可信平台的安全服务程序。
(四)可信计算的应用 (2学时)
ARMTrustZone的基本原理、保护目标和体系结构,ARMTrustZone的开发工具支持,ARMTrustZone的应用实例。
1.基本要求
(1)了解ARMTrustZone的基本原理和保护目标;
(2)熟悉TrustZone的体系结构;
(3)了解ARM对TrustZone的开发工具支持。
2.重点、难点
重点:ARMTrustZone的软件架构和应用实例。
难点:ARMTrustZone的硬件架构。
3.作业及课外学习要求:
能够准确运用课堂知识分析TrustZone的典型应用实例,阅读TrustZone相关的综述论文。
(五)远程证明与认证技术 (4学时)
远程证明的定义和基本原理,基于软件的远程证明的原理和实施方法,嵌入式环境下的数据完整性和消息认证,嵌入式设备的认证(包括相互认证)。
1.基本要求
(1)了解远程证明与可信计算的关系;
(2)熟悉远程证明的基本原理,熟悉基于软件的远程证明的原理和实施方法;
(3)熟悉嵌入式环境下的数据完整性与消息认证;
(4)了解设备认证的基本原理与技术。
2.重点、难点
重点:远程证明的基本原理,嵌入式环境下的消息认证。
难点:基于软件的远程证明的原理和实施方法。
3.作业及课外学习要求:
能够准确运用课堂知识设计简单的消息认证方案,能够分析解释经典的远程证明协议的过程和安全性。
(六)故障注入与故障分析 (6学时)
故障注入的基本原理与途径,典型故障攻击方法,故障注入仿真方法,故障树分析方法及工具,故障模式与影响分析方法。
1.基本要求
(1)了解故障注入的基本原理与途径;
(2)熟悉典型的故障攻击方法(算法攻击、差分分析、程序流篡改等);
(3)了解故障注入的仿真方法。
(4)掌握对于典型嵌入式软件设计的故障树分析(FTA)及故障模式与影响分析(FMEA)方法,熟悉典型FTA分析工具的基本用法。
2.重点、难点
重点:故障攻击的实施方法,故障树分析方法。
难点:故障注入仿真工具的使用,FTA和FMEA分析方法及分析工具用法。
3.作业及课外学习要求:
能够准确运用课堂知识完成课堂练习及课后作业,能够运用FTA分析工具分析简单的嵌入式系统设计。
(七)嵌入式软件安全 (2学时)
多独立等级安全(MILS)体系结构,针对嵌入式软件的典型攻击恢复技术。
1.基本要求
(1)掌握多独立等级安全体系结构(MILS)的基本原理;
(2)了解针对嵌入式软件的攻击恢复技术(包括检查点、回滚等)。
2.重点、难点
重点:MILS体系结构的基本原理。
难点:
3.作业及课外学习要求:
能够准确运用课堂知识完成课堂练习及课后作业。
(八)边信道攻击 (2学时)
边信道的定义,边信道的基本原理,典型的边信道攻击实例,差分分析的原理与实施方法,关联分析的原理与实施方法。
1.基本要求
(1)掌握边信道的定义与基本原理;
(2)了解对于典型系统实例进行边信道攻击的过程。
(3)熟悉差分分析的原理与实施方法,了解关联分析的原理与实施方法。
2.重点、难点
重点:边信道的概念与基本原理。
难点:差分分析的原理与实施方法。
3.作业及课外学习要求:
能够准确运用课堂知识完成课堂练习及课后作业,能够为简单的设备环境设计边信道攻击方案。
三、教学安排及方式
总学时32(24+16)学时,其中:讲授 24 学时,实验(上机)16 学时。
注:教学方式填写“讲授、实验或实践、上机、综合练习、多种形式”。
四、本课程对培养学生能力和素质的贡献点
本课程讲授嵌入式系统及其相关软硬件的基础安全理论、安全机制和架构、安全分析方法等主要内容,通过期末笔试考核学生对嵌入式系统安全基础知识的掌握,通过上机实验考核学生在嵌入式安全环境仿真、安全性分析、安全方案设计实现方面的编程和实际操作能力,对“毕业要求2问题分析”、“毕业要求3设计/开发解决方案”指标达成度进行评估。
为学
生后续学习其他系统安全类课程及从事相关的研究和工作打下基础。
五、考核及成绩评定方式
最终成绩由平时作业成绩、期末考试成绩和上机实验成绩组成。
各部分占比例如下:平时作业成绩:10%。
主要考核对主要章节知识点的复习、理解和掌握程度。
期末考试成绩:70%。
主要考核对嵌入式系统安全相关基础知识和基本原理的掌握程度。
书面考试形式。
题型为:选择题、问答题、计算题、分析设计题等。
上机实验成绩:20%。
主要考核运用相关的模拟器和可信平台库实现可信服务、远程证明和认证协议的能力,以及运用故障注入和分析工具对典型的嵌入式系统设计实例进行分析和建模的能力。
六、教材及参考书目
教材:嵌入式系统安全:安全与可信软件开发实战方法,戴维·克勒德马赫(David Kleidermacher),迈克·克勒德马赫 (Mike Kleidermacher),机械工业出版社,2015 参考书目:
1.Trusted Computing for Embedded Systems, Bernard Candaele, Dimitrios Soudris, Iraklis Anagnostopoulos,Springer, 2015
2. Security in Embedded Devices, Catherine H. Gebotys, Springer, 2010
3. Introduction to Hardware Security and Trust, Mohammad Tehranipoor, Cliff Wang, Springer, 2012
七、说明
(一)与相关课程的分工衔接
先修课程包括:C语言,计算机组成。
C语言是可信平台编程接口所采用的一般语言,是本课程可信平台编程实验的基础之一。
计算机组成课程对计算机硬件的介绍,将有助于学生理解与嵌入式硬件相关的安全威胁(如故障注入和边信道攻击等)。
(二)其他说明。