《嵌入式系统与硬件安全》教学大纲
030741003《嵌入式系统》教学大纲

《嵌入式系统》课程教学大纲课程代码:030741003课程英文名称:Embedded System课程总学时:48 讲课:40 实验:8 上机:0适用专业:电子信息科学与技术大纲编写(修订)时间:2010.7一、大纲使用说明(一)课程的地位及教学目标嵌入式系统(Embedded system)是指面向特定应用设计的专用计算机系统,它被广泛地应用于国民经济的各个行业。
典型的基于嵌入式系统的产品有:家用电器/智能家电、移动电话、路由器、汽车、机器人、工业自动化设备等。
本课程主要以具有较高性能和良好用户界面的中高端嵌入式系统为例进行讲解,使学生了解嵌入式系统硬件及软件平台的基本构成、工作原理及程序设计方法,培养学生的设计能力、实际动手能力、解决实际问题的能力以及创新能力,为以后从事嵌入式产品研发打下基础。
(二)知识、能力及技能方面的基本要求1. 理解ARM体系结构,掌握ARM系统开发方法,熟悉ARM处理器集成功能部件的应用。
2. 熟悉ARM处理器外围接口的应用。
3. 熟悉嵌入式操作系统的移植和基本应用。
4. 掌握ARM系统应用程序设计和调试方法。
(三)实施说明1. 通过教师讲授、课堂讨论、课堂课后练习和上机实验使学生掌握嵌入式系统技术的基本理论和方法。
2. 课程具有很强的实践性,讲授时应理论联系实际;3. 采用多媒体教学。
4. 教师执行本大纲时,应着眼于基本要求的内容,至于各章节的教学顺序,教学环节和教学手段等宜充分发挥各教师的创造性而不受本大纲所限。
(四)对先修课的要求本课程主要的先修课程有计算机组成原理或微机原理与汇编语言、操作系统、 C语言(五)对习题课、实践环节的要求1. 对重点、难点章节应安排习题、实例讲解课程,实例的选择以培养学生消化和巩固所学知识,用以解决实际问题为目的。
2. 课后作业内容要多样化,作业题内容必须包括基本概念、基本理论及软硬件设计方面的内容,作业要能起到巩固理论,掌握软硬件设计的方法和技巧,提高分析问题、解决问题能力,学生必须独立、按时完成课外习题和作业,作业的完成情况应作为评定课程成绩的一部分。
《嵌入式系统分析与设计》课程教学大纲

《嵌入式系统分析与设计》课程教学大纲第一篇:《嵌入式系统分析与设计》课程教学大纲《嵌入式系统分析与设计》课程教学大纲一、课程基本信息中文名称:嵌入式系统分析与设计英文名称:Embedded System Design 开课学院:计算机科学学院学分:2 修读基础: 数字电路、微机原理、C语言课程负责人:郑巧(副教授)主讲教师:郑巧(副教授)二、课程目的任务1.课程地位作用(课程在实现培养目标中的地位作用)培养学生具有嵌入式系统的应用知识、嵌入式系统的分析能力和具有用RTOS构成嵌入式系统的应用能力。
2.课程主要内容(简述:主要内容、重点、难点等)主要介绍嵌入式系统更广泛的概念、设计思想和其他技术,围绕32位ARM处理器和源码开放的Linux操作系统,讲述嵌入式系统的概念、软硬件组成、开发过程以及嵌入式Linux和基于Linux的应用程序开发方法。
3.学生应达到的基本要求通过本课程的学习,应掌握嵌入式系统软硬件设计的基本方法;理解嵌入式系统的概念和基本要素;运用所学的专业基础理论、基本技能和专业知识分析问题和解决工程设计问题的能力,具有调查研究,查阅技术文献、资料、手册,进行程序设计、电路图纸绘制及编写技术文件的基本能力。
三、教学内容与学时分配(含各时段学生课外学习要求)1、绪论(2学时)教学内容:(1)嵌入式系统的概念(2)嵌入式微处理器(3)嵌入式操作系统(4)嵌入式系统的开发过程教学要求:(1)了解嵌入式系统的概念(2)了解嵌入式微处理器(3)理解嵌入式操作系统(4)理解嵌入式系统的开发过程课程编码:S0812402 总学时:32 适用专业:计算机科学与技术学术硕士,计算机技术专业硕士2、ARM体系结构(6学时)教学内容:(1)ARM体系结构(2)ARM编程模型(3)ARM基本寻址方式(4)ARM指令集(5)Thumb指令集(6)ARM7TDMI、ARM9TDMI、ARM10E 处理器内核系列及指令执行分析教学要求:(1)理解ARM体系结构的特点(2)掌握ARM编程模型(3)掌握ARM 基本寻址方式(4)掌握ARM指令集(5)了解Thumb指令集(6)了解ARM7TDMI、ARM9TDMI、ARM10E 处理器内核系列及指令执行过程3、嵌入式软件开发(8学时)教学内容:(1)ARM汇编语言程序设计(2)ARM 和 Thumb 指令交互工作(3)异常及异常处理(4)ARM 编程(5)嵌入式C语言程序开发(6)基于 ARM 的软件开发调试技术教学要求:(1)掌握ARM汇编语言程序设计(2)理解ARM 和Thumb 指令交互工作机制(3)掌握ARM的异常处理机制(4)掌握嵌入式C语言开发方法(5)掌握基于 ARM 的软件开发调试技术4、嵌入式系统硬件开发(8学时)教学内容:(1)最简的嵌入式系统(2)电源、复位、时钟和JTAG接口(3)存储系统及初始化(4)嵌入式系统接口设计(5)系统硬件电路设计(6)启动代码设计(7)程序固化与综合调试技术教学要求:(1)理解最简的嵌入式系统(2)掌握电源、复位、时钟和JTAG接口电路(3)掌握存储系统及初始化方法(4)掌握常见接口设计方法(5)掌握启动代码设计(6)理解程序固化与综合调试技术5、嵌入式Linux操作系统(4学时)教学内容:(1)Linux系统及其内核特征(2)Linux的内核管理(3)嵌入式Linux 的引导过程(4)嵌入式Linux的实时化改造教学要求:(1)了解Linux系统及其内核特征(2)了解Linux的内核管理(3)了解嵌入式Linux的引导过程(4)掌握嵌入式Linux的实时化改造6、嵌入式Linux应用程序开发(4学时)教学内容:(1)开发环境的建立(2)应用程序的开发与调试方法教学要求:(1)了解如何建立开发环境(2)掌握应用程序的开发与调试方法四、考核方式与成绩评定1.考核方式:(笔试、论文、口试等)论文2.成绩评定办法:(平时成绩、期末考试成绩……等比例)平时成绩:应根据学习纪律、出勤、等方面综合评定,占20%;设计报告:根据学生设计报告各部分的完整性和优劣情况评定,占60%;设计答辩:应根据答辩结果评定,占20%.五、教材及主要参考书目1.周立功编,ARM嵌入式系统基础教程,北航出版社2.嵌入式系统-采用公开源代码和StrongARM/XScale处理器,毛德操等编,浙江大学出版社,2003。
嵌入式系统教学大纲

嵌入式系统教学大纲嵌入式系统教学大纲嵌入式系统是当今科技领域中的一个重要分支,它涵盖了硬件、软件、通信和控制等多个领域。
随着物联网和人工智能的快速发展,嵌入式系统的应用范围越来越广泛。
为了培养具备嵌入式系统设计和开发能力的专业人才,制定一份完善的嵌入式系统教学大纲至关重要。
第一部分:嵌入式系统基础知识在这一部分,学生将学习嵌入式系统的基本概念、发展历程以及相关技术。
包括嵌入式系统的定义、特点、分类和应用领域等内容。
同时,还将介绍嵌入式系统的硬件平台、软件开发环境和通信技术等基础知识。
第二部分:嵌入式系统硬件设计这一部分将重点介绍嵌入式系统的硬件设计原理和方法。
学生将学习数字电路设计、模拟电路设计以及嵌入式系统的电源管理和时钟设计等内容。
通过实践项目,学生将掌握基本的电路设计和PCB布局技术。
第三部分:嵌入式系统软件开发在这一部分,学生将学习嵌入式系统的软件开发技术。
包括嵌入式操作系统、驱动程序设计、实时系统和嵌入式软件测试等内容。
通过实践项目,学生将了解嵌入式系统软件开发的整个流程,并掌握常用的开发工具和技术。
第四部分:嵌入式系统通信与网络这一部分将介绍嵌入式系统的通信和网络技术。
学生将学习串行通信、并行通信、无线通信以及网络协议等内容。
通过实验项目,学生将了解嵌入式系统与外部设备的通信方式,并能够进行网络编程和数据传输。
第五部分:嵌入式系统应用与案例分析在这一部分,学生将学习嵌入式系统在各个领域的应用案例。
包括智能家居、智能交通、医疗设备和工业自动化等领域。
通过案例分析,学生将了解嵌入式系统的实际应用和解决方案,并能够进行系统设计和优化。
第六部分:嵌入式系统实践项目这一部分将组织学生进行嵌入式系统的实践项目。
学生将根据自己的兴趣和专业方向选择合适的项目,并在指导老师的指导下完成项目设计、开发和测试。
通过实践项目,学生将综合运用所学的硬件设计和软件开发技术,提升解决实际问题的能力。
第七部分:嵌入式系统设计与创新在这一部分,学生将学习嵌入式系统的设计原则和创新思维。
《嵌入式系统》课程教学大纲

《嵌入式系统》课程教学大纲学分:3学时:64适用专业:电子信息、通信技术前导课程:电路分析基础、模拟电路、数字电路、高频电路、单片机原理、C语言后续课程:一、课程的性质和任务本课程围绕目前流行的32位ARM处理器和嵌入操作系统,讲述嵌入式系统的概念、软硬件组成、开发过程以及嵌入式应用程序和驱动程序的开发设计方法。
《嵌入式系统》是培养学生具有嵌入式系统的应用知识、嵌入式系统的初步分析能力和具有使用RTOS (实时操作系统)构成嵌入式系统的应用能力等方面的学科,是电子信息与计算机类或相关工科专业的一门专业课。
二、课程的教学基本要求本课程是一门综合性、实践性、应用性很强的专业课。
课程教学所要达到的目的是:使学生掌握嵌入式系统体系结构,嵌入式处理器结构(ARM架构为主),异常处理、系统控制过程、存储处理、ARM内部资源、各种I/O接口;嵌入式系统开发应用方法;实时多任务操作系统。
本课程将为学生今后从事嵌入式系统研究与开发打下坚实的基础。
三、教学内容和要求(一)理论教学内容和要求第一章:嵌入式系统的概况1、讲授内容:主要讲解嵌入式系统的定义、嵌入式系统的分类、嵌入式系统的组成及嵌入式系统的应用领域和发展趋势。
2、基本要求:使学生明确学习本课程的目的。
第二章:嵌入式系统的硬件基本知识1、讲授内容:1、ARM体系的硬件架构2、冯.诺依曼体系结构和哈佛体系结构3、RISC体系结构4、流水线技术2、基本要求:了解嵌入式系统的硬件基础。
第三章:嵌入式操作系统1、讲授内容:1、嵌入式操作系统的分类2、嵌入式操作系统的特点3、实时操作系统4、目前市场上流行的嵌入式操作系统2、基本要求:掌握嵌入式操作系统的分类和特点,明确实时操作系统的内核特点第四章:ARM架构的嵌入式微处理器1、讲授内容:目前基于ARM架构的嵌入式微处理器:I44B0,2410,LPC2000的架构及特点。
2、基本要求:要求掌握不同处理的的特点及使用场合。
嵌入式系统原理与应用教学大纲与实现大纲

嵌入式系统原理与应用教学大纲与实现大纲嵌入式系统原理与应用教学大纲与实现大纲一、教学大纲(一)课程简介嵌入式系统是集计算机、微电子、通信和自动化控制等技术于一体的综合系统,广泛应用于航空航天、汽车电子、消费电子、工业控制等领域。
本课程旨在让学生了解嵌入式系统的基本原理、硬件架构、软件编程和实际应用,培养学生掌握嵌入式系统的设计和开发技能。
(二)教学目标1、掌握嵌入式系统的基本概念和原理,了解嵌入式系统的历史和发展趋势。
2、熟悉嵌入式系统的硬件组成,包括处理器、存储器、输入输出接口等,掌握嵌入式系统的硬件设计方法。
3、掌握嵌入式系统的软件编程,包括汇编语言、C语言等编程语言,了解嵌入式系统的启动过程和运行机制。
4、了解嵌入式系统的实际应用,包括工业控制、汽车电子、消费电子等领域,掌握嵌入式系统的应用设计和开发技能。
(三)教学内容1、嵌入式系统概述,包括基本概念、发展历史和发展趋势等。
2、嵌入式系统硬件组成,包括处理器、存储器、输入输出接口等。
3、嵌入式系统软件编程,包括汇编语言、C语言等编程语言,了解嵌入式系统的启动过程和运行机制。
4、嵌入式系统的实际应用,包括工业控制、汽车电子、消费电子等领域。
(四)教学方法1、理论教学:通过课堂讲解、案例分析等方式,让学生了解嵌入式系统的基本原理和应用。
2、实验教学:通过实验操作、编程实践等方式,让学生掌握嵌入式系统的硬件设计和软件编程技能。
3、项目实践:通过分组实践、项目开发等方式,让学生了解嵌入式系统的实际应用和开发过程。
(五)评估方式1、平时作业:布置相关作业,包括论文阅读、编程实践、实验报告等,以评估学生的学习情况和掌握程度。
2、期中考试:通过试卷或实操等方式,测试学生对课程内容的掌握情况。
3、期末考试:通过试卷或实操等方式,测试学生对课程整体的学习效果和掌握程度。
二、实现大纲(一)硬件设计1、选择合适的处理器,根据应用需求进行选型。
2、设计存储器,包括RAM和ROM,考虑容量和速度的需求。
嵌入式系统教学大纲

嵌入式系统教学大纲一、引言嵌入式系统是现代科技领域中的重要组成部分,它广泛应用于各个领域,如通信、汽车、医疗等。
本教学大纲旨在为学习者提供系统而全面的嵌入式系统知识,帮助他们掌握相关技能和理论知识。
二、课程目标该课程旨在使学习者能够:1. 理解嵌入式系统的基本概念和原理;2. 掌握嵌入式系统的设计和开发方法;3. 学会使用嵌入式系统开发工具和软件;4. 培养良好的嵌入式系统编程能力;5. 能够解决嵌入式系统开发中的实际问题。
三、教学内容1. 嵌入式系统概述1.1 嵌入式系统的定义与特点1.2 嵌入式系统在各个领域中的应用1.3 嵌入式系统的发展趋势2. 嵌入式系统硬件平台2.1 嵌入式处理器的选择与介绍2.2 嵌入式系统的外设和接口设计2.3 嵌入式系统的电源管理3. 嵌入式系统软件平台3.1 嵌入式操作系统的选择与概念3.2 嵌入式系统的驱动程序开发3.3 嵌入式应用程序开发4. 嵌入式系统开发工具与环境4.1 嵌入式系统开发工具的选择与使用 4.2 嵌入式系统仿真与调试技术4.3 嵌入式系统的固件更新与维护5. 嵌入式系统设计与开发5.1 嵌入式系统设计流程与方法5.2 嵌入式系统的硬件设计与布局5.3 嵌入式系统的软件架构与开发6. 嵌入式系统应用案例分析6.1 通信领域中的嵌入式系统应用案例6.2 汽车领域中的嵌入式系统应用案例6.3 医疗领域中的嵌入式系统应用案例四、教学方法1. 理论授课:通过讲解理论知识,帮助学习者掌握嵌入式系统的基本概念和原理。
2. 实践操作:通过实际操作,让学习者亲自动手实践嵌入式系统的设计和开发过程。
3. 案例分析:通过分析实际应用案例,帮助学习者理解嵌入式系统在不同领域中的应用。
4. 小组讨论:通过小组讨论,促进学习者之间的交流和合作,增强学习效果。
五、教学评估1. 课堂作业:布置与课程内容相关的任务,通过完成作业评估学生的理论掌握情况。
2. 实验报告:要求学生完成实验并撰写实验报告,评估学生的实践操作能力。
嵌入式 教学大纲

嵌入式教学大纲嵌入式教学大纲嵌入式系统是当今科技领域中不可或缺的一部分。
从智能手机到汽车控制系统,从家用电器到工业自动化设备,嵌入式系统的应用广泛而多样化。
因此,培养学生对嵌入式系统的理解和掌握成为了现代教育的重要任务之一。
为了确保学生能够全面了解嵌入式系统的原理和应用,制定一份全面而详细的嵌入式教学大纲是必要的。
一、引言在引言部分,我们可以简要介绍嵌入式系统的定义和应用范围。
同时,可以提及嵌入式系统的发展历史和未来趋势,以激发学生对该领域的兴趣和好奇心。
二、基础知识在基础知识部分,可以介绍嵌入式系统的核心概念和基本原理。
包括处理器架构、内存管理、外设接口等。
同时,可以涉及到嵌入式系统的软硬件交互和通信机制,如中断处理、总线协议等。
通过这一部分的学习,学生可以对嵌入式系统的基本组成和工作原理有一个清晰的认识。
三、嵌入式编程在嵌入式编程部分,可以介绍常用的嵌入式编程语言和开发工具。
比如,C语言在嵌入式系统开发中的应用广泛,可以详细介绍其语法和特点。
同时,可以讲解嵌入式系统的调试和测试方法,以及常见的嵌入式开发板和仿真器的使用。
通过这一部分的学习,学生可以掌握基本的嵌入式编程技能。
四、嵌入式系统设计在嵌入式系统设计部分,可以介绍嵌入式系统的整体设计流程和方法。
包括需求分析、系统架构设计、硬件选型、软件开发等。
同时,可以讲解嵌入式系统的功耗优化和性能优化方法,以及常见的系统集成和测试技术。
通过这一部分的学习,学生可以了解嵌入式系统设计的全过程和关键技术。
五、嵌入式系统应用在嵌入式系统应用部分,可以介绍嵌入式系统在不同领域的应用案例。
比如,智能家居系统、医疗设备、无人机等。
通过这些实际案例的学习,学生可以了解嵌入式系统在现实生活中的重要性和广泛应用。
六、实践项目在实践项目部分,可以组织学生进行嵌入式系统的实践项目。
可以选择一些具有挑战性的任务,如设计一个智能家居控制系统或者一个机器人。
通过实践项目的完成,学生可以将所学的理论知识应用到实际中,提升他们的动手能力和解决问题的能力。
嵌入式学习教学大纲

标题:嵌入式学习教学大纲导言嵌入式系统是现代计算机科学与工程领域中的一个重要领域,它涵盖了硬件和软件开发、嵌入式系统架构和设计、实时系统以及嵌入式系统编程等方面。
为了引导学生全面了解嵌入式系统以及相关技术,本文档将提供一份嵌入式学习教学大纲,旨在为教师和学生提供指导。
第一部分:课程介绍1.1 学习目标- 介绍嵌入式系统的定义和基本概念- 引导学生认识嵌入式系统的重要性和应用领域- 激发学生对嵌入式系统领域的兴趣和热情1.2 基本知识储备- 需要具备一定的计算机科学和工程基础知识- 对计算机体系结构、操作系统和编程语言有基本了解1.3 教学方法- 理论课讲授:通过讲解原理和概念,帮助学生建立嵌入式系统的基本框架- 实践训练:通过作业和实验,培养学生动手能力和解决问题的能力第二部分:课程内容2.1 嵌入式系统概述- 嵌入式系统的定义和特点- 嵌入式系统的分类和应用领域- 嵌入式系统与传统计算机系统的区别2.2 嵌入式系统硬件体系结构- 嵌入式系统的硬件组成要素- 嵌入式系统的处理器选择与配置- 嵌入式系统的存储器选择与管理2.3 嵌入式系统软件体系结构- 嵌入式系统操作系统的选择与特点- 嵌入式系统软件开发工具与环境- 嵌入式系统软件开发流程与方法2.4 嵌入式系统编程- 嵌入式系统的编程语言选择与适配- 嵌入式系统的程序设计与调试- 嵌入式系统的高效算法和优化技术2.5 嵌入式系统实时系统设计- 实时系统的概念和特点- 实时系统的调度算法与策略- 实时系统的性能优化与分析第三部分:教学进度安排3.1 教学时长- 本课程共计36学时,每周2学时,共计18周3.2 教学进度安排- 第1周:课程介绍和嵌入式系统概述- 第2-5周:嵌入式系统硬件体系结构- 第6-9周:嵌入式系统软件体系结构- 第10-14周:嵌入式系统编程- 第15-18周:嵌入式系统实时系统设计3.3 实践训练- 每周安排2学时的实践训练,包括编程作业和实验设计结语本文档旨在提供一份嵌入式学习教学大纲,将嵌入式系统的基本概念与实践相结合,帮助学生全面了解嵌入式系统的设计与开发。
《嵌入式系统》教学大纲

2
嵌入式文件系统
嵌入式文件系统概述,Flash特性,Flash文件系统构成原理,嵌入式Linux根文件系统
熟悉嵌入式文件系统的特点、分类,了解Flash器件特性,掌握嵌入式Linux根文件系统构造原理及方法
2
嵌入式驱动程序
外部设计的理解与定位,应用程序通过操作系统操纵外部设备的方式,Linux设备驱动程序框架,Linux设备驱动程序具体实现过程
本课程具有面向应用定制等特点,因此在大部分课程内容统一的基础上,允许有一部分的教学个性化差异。实际教学内容和顺序以实际需求和实施为准。
二、教学内容结构与模块
模块
单元
知识点
技能点
讲授
学时
嵌入式系统概述
嵌入式系统基本知识
嵌入式系统基本概念,嵌入式系统发展趋势
探索具体应用如何映射到嵌入式系统功能模块
1
嵌入式系统应用领域
2
嵌入式程序代码优化
嵌入式程序代码优化基本概念,提高代码效率,减少代码尺寸,有效使用内存,降低代码能耗
掌握嵌入式代码优化优化的概念和提高代码效率、减少代码尺寸、有效使用内存和降低代码能耗的原理,掌握C语言数据类型优化、循环结构优化等的提高代码效率方法,掌握合理安排变量顺序、使用Thumb指令等减少代码尺寸方法,掌握合理使用堆栈、防止内存泄漏等有效使用内存方法,理解程序热点分析的原理,了解典型嵌入式程序热点和性能分析工具,掌握降低代码能耗方法
1
嵌入式测试技术
嵌入式系统测试概述、嵌入式软件测试技术概述、嵌入式软件测试工具
熟悉嵌入式系统测试的四个层次(真实环境测试、交叉测试、数字化模拟测试、形式化验证),重点掌握嵌入式软件测试技术原理及方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统与硬件安全》教学大纲
课程编号: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语言是可信平台编程接口所采用的一般语言,是本课程可信平台编程实验的基础之一。
计算机组成课程对计算机硬件的介绍,将有助于学生理解与嵌入式硬件相关的安全威胁(如故障注入和边信道攻击等)。
(二)其他说明。