发布时间:2023-10-12 17:40:14
序言:作为思想的载体和知识的探索者,写作是一种独特的艺术,我们为您准备了不同风格的5篇信息安全概论,期待它们能激发您的灵感。
中图分类号:G642 文献标识码:B
1引言
信息安全是计算机学科下的二级学科,是一门新兴的学科。它涉及通信学、计算机科学、信息学和数学等多个学科,主要研究范围涉及计算机及网络安全的各个方面。“信息安全概论” 课程是信息安全专业的专业基础课程,也是提高学生计算机水平的重要组成部分。但信息安全概论同时也是学生们认为比较难学的专业课程之一。其原因如下:信息安全概论课程讲述的是计算机资源管理的原理和机制,其中包含了许多抽象的概念和算法,学生学习起来感觉“大而空”。因此,信息安全概论实践教学作为教学辅助环节十分重要,它的作用在于通过动手做实验,帮助学生解决从抽象理论到具体对象的认识问题,培养学生应用知识解决问题的能力。
近年来,我们针对不同的教学对象和教学要求,精心设计了多种方式的实验项目,在信息安全概论实践教学上做了一些有益的探索。本文首先分析信息安全概论实践教学的目标,然后说明如何具体设计实验项目。
2实践教学目标
我们认为,信息安全概论实践教学作为辅助教学环节,有两个主要目标。
(1) 帮助学生理解信息安全概论的基本概念、原理和机制
信息安全概论包含了许多抽象的基本概念如访问控制、安全模型和系统可靠性,也包含了复杂的算法和机制,如对称加密和身份认证。这些知识对于本科学生而言是比较难以理解的,因为他们平时很少也很难窥视到信息安全概论的内部。信息安全概论的实践教学应该让学生了解一个真实信息安全概论的内部实现,从而帮助学生更好地理解信息安全概论的基本概念、原理和机制。
(2) 培养学生应用信息安全概论知识的能力
信息安全概论是计算机系统中的核心软件,从事计算机行业的专业人员都需要信息安全概论的原理知识,但他们担任的角色不同,面临的问题就不同,因而所具备的信息安全概论知识的应用能力也不同。信息安全概论的实践教学必须考虑到不同能力培养的特点,以满足学生未来任职需要。
3实验项目设计
我们在上述的实践教学目标的指导下,设计了多个实验项目,内容从安全技术层面上涵盖了主机安全技术、认证技术、访问控制技术、防火墙技术、入侵检测技术等。从工程技术层面上则涵盖了计算机系统、计算机网络、计算机通信和信息数据库和网站安全等多学科工程技术知识。考虑到学生的知识和经验背景,实验项目的安排从简到难,从依靠指导到自主设计。除必做的实验项目外,还设计了选做的实验项目,为有能力的同学提供更多的学习空间。下面分别介绍我们设计的9个实验项目。其中,前3个实验项目是密码学理论实验项目,使学生掌握如何使用工具实现密码学中的算法;第4、5个实验帮助学生理解网络中设备配置的实现过程;后4个实验项目是攻击性实验,让学生体验信息安全中攻击的全过程。
(1)DES算法实现
该项实验的目的是培养密码算法的设计思想、掌握密码算法的实现技术。实验内容是:通过编写DES算法的实现程序,理解DES算法的原理;分析DES算法的优点和缺点;掌握DES算法设计、实现和分析等阶段的方法。实验中使用的软件资源:Windows 2000操作系统软件和Visual C++应用开发软件等。
(2)RSA加密算法实现
该项实验的目的是深刻理解RSA算法的原理、掌握大整数运算的方法。实验内容是:编程实现RSA算法,并能进行文件的加密和解密。实验中使用的软件资源:Windows 2000操作系统软件、Visual C++应用开发软件和SQL Server数据库软件。
(3)PKI的配置和应用
该项实验的目的是了解PKI在信息安全中的作用。了解在SSL和PGP中应用证书的方法。掌握在局域网中正确配置PKI的方法。学会利用CA管理和发放用户证书和对证书生命期进行管理,并能利用证书实现安全Web访问和安全电子邮件。实验内容是:安装并配置PKI系统;跟据安全策略实现证书发放;利用浏览器查看证书内容;利用证书配置SSL,实现对网站的安全访问;利用证书配置PGP,实现安全的电子邮件。实验中使用的软件资源:Windows 2000操作系统软件和MyPKI应用软件。
(4) 路由器配置
该项实验的目的是了解网络互联原理和所需硬件功能。掌握路由器IP路由功能的配置方法,实现两个局域网之间的相互连接与通信。实验内容:在联想天工路由器上完成以下配置,配置以太口、配置串口、运行动态路由协议RIP、配置网关、加入静态路由、主机配置和测试配置结果。实验中使用的硬件资源:个人计算机、路由器和Console配置线。
(5) 防火墙设计
该项实验的目的是了解防火墙安全技术原理与应用,学会利用路由器的屏蔽功能配置包过滤防火墙的方法,掌握根据不同的安全需求制定安全规则和建立访问控制列表的方法。实验内容:配置包过滤防火墙,将硬件路由器配置成如下功能――内部网络通过Serial0访问Internet,局域网对外提供www、ftp和MS SQL数据库服务;利用扫描软件进行扫描测试,根据测试结果调整规则设置;利用攻击软件进行测试,根据测试结果调整规则设置。实验中使用的软硬件资源:PC一台、路由器一台、Windows 2000操作系统软件和Console配置线。
(6) 口令攻击
该项实验的目的是通过对操作系统口令攻击程序的开发,使学生了解口令作为身份认证机制的脆弱性和口令攻击原理,理解如何增强口令机制的安全性。掌握一种破解口令的程序设计方法。实验内容有:用C++语言(或其他语言)编写一个带操作控制窗口的口令破解程序。实现对本地和远程主机的口令破解。实验中使用的软件资源:Windows 2000操作系统软件和VC++应用开发软件等。
(7) 网页木马攻击
该项实验的目的是通过对网页木马的编写,了解木马的工作原理及功能。掌握利用IE浏览器漏洞进行木马种植的方法,实现修改远程目标机网页标题的木马攻击。实验内容是:拟定木马制作和种植方案;配置测试网站;编写制作一个网页木马,使客户端通过浏览页面感染木马;测试运行,检查并记录实验结果。实验中使用的软硬件资源:Windows 2000操作系统软件和VC++应用开发软件等。
(8) 远程注册表攻击
该项实验的目的是通过对注册表的攻击,了解注册表在Windows系统注册表的结构和在系统安全中的重要性,了解注册表的安全配置方法,掌握实现一种远程注册表入侵的程序设计方法。实验内容有:确定注册表攻击方案,编写一个程序完成如下功能:创建操作控制窗口,通过修改注册表中相应键值改变远程目标机浏览器窗口标题以实现对远程主机注册表的攻击;测试运行。实验中使用的软硬件资源:Windows 2000操作系统软件和VC++应用开发软件等。
(9) 网站攻击
该项实验的目的是通过对Web网站的模拟攻击,了解DOS攻击的原理及危害。掌握DOS攻击的程序设计方法,并利用该程序对Web服务器进行攻击。实验内容有:搭建一个测试网站;拟定网站攻击方案;编写一个程序,完成以下功能:创建操作控制显示窗口,确定被攻击服务器的IP地址并显示在屏幕上;修改被攻击网站的网页标题等。实验中使用的软硬件资源:Windows 2000操作系统软件、VC++应用开发软件和IIS服务器软件。
4结束语
“信息安全概论”是一门实践性很强的课程,建设一个满足信息安全专业教学要求的实验教学体系是培养合格的信息安全人才的关键之一。本文在信息安全概论实践教学中做了一些有益的工作,教学效果也不错,但还存在一些问题有待于进一步研究和探索。例如,如何与课堂教学互补,进一步激发学生学习信息安全概论的兴趣;如何通过构建实验平台将信息安全概论中更多的机制(认证机制、签名机制等)呈现给学生;如何设计更为实用的、学生自主性更强的实验项目等。
参考文献:
[1] 威特曼. 信息安全原理[M]. 齐立博,译. 2版. 北京:清华大学出版社,2006.
[2] 段云所,魏仕民,唐礼勇,等. 信息安全概论[M]. 北京:高等教育出版社,2003.
[3] 王景中,徐小青. 计算机通信信息安全技术[M]. 北京:清华大学出版社,2006.
[4] 张焕国,王丽娜. 信息安全综合实验教程[M]. 武汉:武汉大学出版社,2006.
[5] 龚方红,汤正华,蒋必彪. 试论工程教育中的本科实验教学改革[J]. 中国高教研究,2006(4):86-87.
[6] 卿斯汉,蒋建春.网络功防技术原理与实践[M]. 北京:科学出版社,2004.
关键词:信息安全;课件;理论教学;教学方法
中图分类号:G642 文献标识码:B
文章编号:1672-5913 (2007) 23-0026-03
信息安全是计算机学科下的二级学科,是一门新兴的学科。它涉及通信学、计算机科学、信息学和数学等多个学科,主要研究范围涉及计算机及网络安全的各个方面。“信息安全概论”课程是信息安全专业的专业基础课程,也是提高学生计算机水平的重要组成部分。其教学内容主要包括:信息安全概述、密码学基础、密钥分配与管理技术、访问控制、防火墙技术、入侵检测技术、信息安全应用软件、企业与个人信息安全、Web的安全性、网络安全,它是一门综合性很强的课程。它的作用主要是让学生掌握信息安全的基本原理、基本概念;了解信息安全系统的设计方法;且要求学生能够进行一些信息安全实践,提高动手能力。学时分配为:理论教学32学时,实践教学24学时。由于这门课程理论性强、信息量大且抽象,而授课对象是低年级学生,专业知识尚不丰富,因此,如何在教学过程中提高学生的学习兴趣?如何开展实践教学?如何更好地将理论教学的知识点有机地融入到具体的实验中去?使学生不仅能够通过实验理解和掌握理论教学的内容,还能通过实验了解和掌握一定的工程技术知识,培养和锻炼学生的分析能力、综合解决问题的能力和实际动手能力,就成为我们在教学研究中需要解决的主要问题。
1目前教学中存在的问题
(1) 教学媒体使用不当。传统的教学方法主要是把学生集中起来,现在虽然有多媒体教室,对教学起到了一定的积极作用,但课件多是对书本内容的罗列,对启发式、讨论式的教学方法采用比较少。而课程内容较多且抽象,被动接受知识的方式无法有效提高学生的学习兴趣,学生普遍反映应难以跟上教学进度。
(2) 教学内容与数学课程脱节。信息安全概论这门课程涉及到大量的算法和协议,如密码学涉及到大数大因数分解问题、离散对数问题、椭圆曲线离散对数问题,等,这体现了信息安全专业与数学基础学科结合的紧密性。而在课程开设中,往往认为该课程是入门课程,而忽视了对数学课程的讲解,导致学生学习相关内容时感觉较难掌握。
(3) 重理论,轻实践。“信息安全概论”是信息安全学科的一门基础课,主要为信息安全及计算机相关专业的低年级本科生开设,因此,该课程旨在对学生讲解信息安全的基本理论,让学生对信息安全学科有个较为全面的认识,以利于后续课程的开展。信息安全主要讲解内容包括信息安全基本理论、安全协议及安全技术等几个部分。在开设课程过程中,由于片面注重理论的重要性,往往造成以课堂讲授为主,形成一种“灌输式”的教学。然而,由于该课程是为低年级学生开设,很多同学在听课过程中,感觉内容比较抽象,无法正确理解课程内容。如:RSA大数分解等内容,如果学生只是被动记忆公式和算法,而不借助实践性环节,如创新性实验、课程学习讨论、课程设计环节,等,将导致学生学习兴趣不高,教学质量没有保证,不利于学生创新能力的培养。
2课堂教学的改进
针对上述问题,教学组对以下几个方面作出了改进。
2.1课件的改进
板书与课件相结合的方式可提高教学效果,但其中最关键的是课件的制作。课件的内容不能仅是课程内容的罗列,而是要对课程内容跨章节地组织起来,形成一个整体,当然也包括与其他课程之间的关联。如在讲解密码学、访问控制、防火墙技术等章节后,学生具备了信息安全的基础知识,但是知识点比较分散,对信息安全的综合应用能力较弱。教学组在课程讲授过程中安排综合应用实例讲解。如以电子商务安全综合应用实例,该综合实例讲解安排在讲授完各个章节内容以后,共2学时。内容是设计典型企业网络拓扑;运用对称密码学,如DES算法为基本加密手段对电子交易进行加密,利用非对称密码学,如RSA算法;采用数字信封方式,对DES会话密钥进行加密分发;采用防火墙对企业网络进行防护;交易过程采用SET协议保障安全。这样,学生就能将各个章节的内容联系起来,巩固所学知识,提高综合运用的能力。
将信息安全中理论性强、极其抽象的内容制作成 Flash 动画。例如在讲述DDoS攻击时,学生对攻击者侵入傀儡机,并利用傀儡机攻击的过程很难理解。可用 Flash 动画来演示,以便在课上形象讲解黑客是如何对傀儡机进行控制,并对受害网络进行入侵的。特别将洪泛攻击的特点用动画方式,一步步展现给学生,使学生轻松接受知识。这种课件也便于学生在课下自主复习。
2.2重视数学基础
信息安全涉及大量的基础协议,如密码学中的RSA算法就涉及近世代数的基础知识。因此,需要为学生开设相关的数学基础课程,同时,在讲授该算法之前,先对数学知识进行复习,复习时以要点讲解为主,如:欧拉函数的定义,逆元的求解方法,等。对于逆元的求解,可以以具体的RSA实例进行讲解。另外,让学生进行实际的上机练习,利用数学基础进行编程实验,加深对密码学基础知识的理解,如为学生布置这样一道上机题:若有明文public key encryptions,请设计RSA加密算法对该明文进行加密,编程实现密钥的生成。学生就能通过上机实践,熟悉RSA算法的原理,并理解每个步骤的计算过程。
3改进实验方法
课堂讲授之外,还要对实验课进行合理安排。实验主要包括信息安全协议实验和信息安全综合实验两个部分。如表1所示。
表1 课程配套实验内容
其中,信息安全协议实验目标是使学生系统掌握安全协议及算法,了解安全协议的应用范围。掌握根据系统的安全要求(包括机密性、完整性、访问控制、鉴别、审计、追踪、可用性、抗抵赖等方面),综合运用安全协议的能力。信息安全综合实验目的是将系统的安全要求(包括机密性、完整性、访问控制、鉴别、审计、追踪、可用性、抗抵赖等方面),在OSI或者TCP/IP模型的各个层次予以考虑,并且结合安全管理策略在网络安全方案中予以保障,从而构成实际应用中的一个完整的信息系统安全方案。
实验课程中,教师先利用原型系统对实验效果进行演示,特别对网络攻防相关内容,进行实际操作演示,提高学生学习兴趣。
实验内容有针对性,以便于学生结合课堂上的实例讲解,理解信息安全的抽象内容。要求学生对实验结果进行分析、讨论,鼓励学生组成讨论小组,并写课程小论文,以加强学生之间的交流。如对于数字签名的实验,可让学生分成两组,在一台实验机器上完成信息的生成、签名、发送,在另一台机器上,对网络上接收到的信息进行解析、完整性校验。
为了更好地培养和锻炼学生的独立工作能力和创造性思维能力,对于信息安全综合实验,我们为学生设计了一个模拟的安全需求,具体如下:设计一在线考试系统,并从以下几方面保证系统的安全性:
服务器的安全防护,提供访问控制、安全审计、信息加密等功能,从保密性、可用性、可控性等几方面保证服务器的安全运行。
提供客户机、服务器的认证功能,保证考试过程的有效性。
提供客户机、服务器通信加密功能,保证通信内容的机密性。
恶意代码、蠕虫、病毒防御功能。
数字证书体制设计。
这一用户需求巧妙地将实践教学的知识点隐藏了起来,给学生提供了一个综合分析问题的空间。学生只有通过认真的需求分析,反刍所学的理论知识,才能正确地确定采用何种安全技术,从而培养和锻炼了学生的分析能力。
4结束语
本文提出的关于信息安全概论的教学方法将原本抽象、难以理解的数学基础知识、安全协议,形象、实例地配合实验进行讲解从而变得易于理解。学生通过实验进一步加深理解,较之传统的教学模式明显提高了学生对课程内容的理解及掌握。此方法在我们的本科教学过程中取得了明显的效果。
参考文献
[1] 王昭顺.信息安全本科专业人才培养的研究[J].计算机教育,2006,(10):30-32.
[2] 刘传才,陈国龙,密码学课程的探索与实践[J].高等理科教育,2002,(05).
关键词:蓝牙密钥DES算法安全机制
蓝牙作为一种新兴的短距离无线通信技术已经在各个领域得到广泛应用,它提供低成本、低功耗、近距离的无线通信,构成固定与移动设备通信环境中的个人网络,使得近距离内各种信息设备能够实现无缝资源共享。
由于蓝牙通信标准是以无线电波作为媒介,第三方可能轻易截获信息,所以蓝牙技术必须采取一定的安全保护机制,尤其在电子交易应用时。为了提供使用的安全性和信息的可信度,系统必须在应用层和链路层提供安全措施。
本文重点讨论了蓝牙信息安全机制的构成原理及相关算法,并指出其在安全性方面存在的不足与问题。因为对于大多数需要将保密放在首位来考虑的应用来说,蓝牙现行标准所提供的数据安全性是不够的。蓝牙现行规范采用的128位密钥长度的序列的加密在某些情况下可以被破解。本文同时提出了一种蓝牙安全机制的改进方案,即采用DES加密体制构建强健的加钥算法,能够在计算上证明此加密算法是安全可靠的。
1蓝牙的安全机制
蓝牙采取的安全机制适用于对等通信情况,即双方以相同方式实现认证与加密规程。链路层使用4个实体提供安全性:一个公开的蓝牙设备地址,长度为48bit;认证密钥,长度为128bit;加密密钥,长度为8~128bit;随机数,长度为128bit。以下重点讨论蓝牙安全机制的组成及相关算法。
1.1随机数发生器
随机数发生器在蓝牙标准中有重要应用,例如在生成认证密钥和加密密钥中以及查询-应答方案中等。产生随机数的理想方法是使用具有随机物理特性的真实随机数·发生器,例如某些电子器件的热噪声等,但是在实际应用中通常利用基于软件实现的伪随机数发生器。蓝牙系统对于随机数的要求是“随机生成”和“非重复性”。“随机生成”是指不可能以明显大于零的概率(对于长度为L位的蓝牙加密密钥,概率大于1/2L)估计出随机数值。
目前在众多类型的伪随机数发生器中,线性同余发生器(LinearCongruentialGenerator)被最广泛地研究与使用。其表达式为:
Xn+1=αXn+c(modm)n≥0。
式中α和c为常量,m为模数,均为正整数。αXn+c对m作模运算后得到Xn+1。开始时以某种方式给出一个种子数X0;然后使用前一个随机整数Xn生成下一个随机整数Xn+1,由此产生整数随机数列{Xn}。
1.2密钥管理
蓝牙单元密钥长度不能由单元制造者预置,不能由用户设置。蓝牙基带标准规定不接收由高层软件给出的加密密钥以防止使用者完全控制密钥长度。
1.2.1密钥类型
链路密钥是一个128位随机数,为通信双方或多方共享的临时性或半永久性密钥。半永久性链路密钥可以用于共享链路单元之间的几个相继认证过程中。临时密钥的典型应用是:在点对多点通信情况下,同一信息需要安全地发往多个接收端,这时采用主单元密钥取代当前链路密钥。蓝牙标准定义了四种链路密钥:①联合密钥KAB;②单元密钥KA;③临时密钥Kmoster;④初始化密钥Kinit。此外还定义了加密密钥Kc,由当前链路密钥生成。对蓝牙单元来说,单元密钥KA在单元A中生成,依赖于该单元,很少改变。联合密钥KAB。由单元A、B方共同生成。临时密钥Kmoster仅在当前会话中使用,也称主单元密钥。初始化密钥Kinit是蓝牙初始化过程中使用的链路密钥。该密钥由一个随机数、一个通常为十进制的PIN码以及发起单元的蓝牙设备地址BD_ADDR生成。PIN码可由用户选择也可以是随蓝牙一起提供的固定数。目前大多数应用中PIN码为4位的10进制数,无法提供较高的安全性。蓝牙基带标准要求PIN码长度为1~16位,因此建议尽量使用较长的PIN码以增强安全性。
1.2.2密钥生成与初始化
每一对要实现认证与加密的蓝牙单元都要执行初始化过程,其过程由以下几部分组成:
(1)生成初始化密钥Kinit:为初始化过程中临时使用的链路密钥。该密钥由E22算法及相关参数生成,其生成原理图见图1。E22输出的128位初始化密钥Kinit用于链路密钥的交换分配过程。如果申请者与证实者没有交换过链路密钥,则Kinit用于认证过程,否则不再使用。该过程必须保证能够抵御一定的攻击,例如攻击者使用大量的假蓝牙地址BD_ADDR来测试大量PIN等,如果设备地址固定则每次测试PIN码等待间隔应按指数增加。
(2)认证:如果两个单元没有发生过通信联系,则使用初始化密钥作为链路密钥。每次执行认证规程,均新随机参数AU_RANDA。在相互认证中,首先在一个方向执行认证规程,成功后再反向执行认证。认证成功将得到一个辅助参数ACO,即认证加密偏移量。它将用于生成加密密钥。
(3)生成单元密钥:单元密钥在蓝牙单元首次运行时生成,根据E21算法生成并几乎不改变。初始化时,通信双方通常选用一个内存容量较少的单元中的密钥作为链路密钥。
图3
(4)生成联合密钥:联合密钥是分别在A单元与B单元中生成的两个数字的组合。生成过程是:每个单元生成随机数LK_RANDA与Lk_RANDB,采用E21算法与各自的随机数、蓝牙地址分别生成另一个随机数LK_KA与LK_KB,并通过其他操作后两个单元得出联合密钥。然后开始互相认证过程以确认交互过程成功。联合密钥交换分配成功后将放弃使用原链路密钥。
(5)生成加密密钥:加密密钥Kc根据E3算法,由当前链路密钥、96bit“加密偏移数”COF和一个128bit随机数导出。
(6)点对多点配置情况:实际上,主单元通知几个从单元使用一个公共链路密钥广播加密消息,在多数应用中这个公共链路密钥是临时密钥,记为Kmoster。Kmoster被从单元接收后便可用它替代原链路密钥Kmoster的产生过程为:首先由2个128bit的随机数RAND1与RAND2生成新链路密钥Kmoster:Kmoster=E22(RAND1,RAND2,16)。然后将第3个随机数RANO发往从单元,主、从单元根据E22、当前链路密钥及RAND计算出128bit扰乱码overlay,主单元将overlay与新链路密钥按位“异或”结果发送给从单元,再计算出Kmoster。在后面的认证过程中计算出一个新ACO值。
1.3加密规程
对有效载荷加密通过流密码算法实现,流密码与有效载荷同步,加密原理图如图2所示。流密码系统由三部分组成:执行初始化、生成密钥流比特、执行加密或解密。有效载荷密钥生成器将输入比特流以恰当顺序进行组合并移人密钥流生成器使用的4个线性反馈移位寄存器LFSR。第二部分是主要部分,密钥流比特根据Massey与Rueppel提出的方法生成,该方法经过一定的分析与研究,证明具有较高的加密性能,但此法可能受到相关攻击,其改进方法在本文后面详细描述。
1.3.1商定加密密钥长度与加密模式
实现基带标准的蓝牙设备需要定义最大允许密钥字节长度Lmax,1≤Lmax≤16。在生成加密密钥前,有关单元必须商定密钥实际长度。主单元将建议值L(M)sug发送给从单元。如果L(S)min≤L(M)min并且从单元支持建议值,从单元对此给予确认,L(M)min成为本链路加密密钥长度值。如果不满足上述条件,从单元将向主单元发送新的建议值L(S)min〈L(M)sug,主单元对此建议评估。重复此规程直至达成协议或一方放弃商谈。
1.3.2加密算法
加密规程使用流密码加密。加密系统使用线性反馈移位寄存器(LFSRs),寄存器系统输出由具有16状态的有限状态机进行组合,状态机输出或是密钥流序列,或是初始化阶段的随机初始值。加密算法需要提供加密密钥、48bit蓝牙地址、主单元时钟比特与128bit随机数RAND,加密算法原理如图3所示。
其中,有4个LFSR(LFSR1,…,LFSR4),比特长度分别为L1=25,L2=31,L3=33,L4=39,反馈多项式(抽头多项式,特征多项式)。4个寄存器长度之和是128bit。
这些多项式都是本原多项式,汉明重量都为5,可以兼顾生成序列具有良好的统计特性与减少硬件实现所需要的异或门数两方面的要求。
令xit表示LFSRit时刻输出状态比特,由四元组(x1t,…,x4t)得Yt为:
,式中Yt为整数,取值为0,1,2,3或4。加法生成器输出由下述方程给出:
式中,T1[.]与T2[.]是GF(4)上两个不同的线性双射。
密钥流生成器工作前需要为4个LFSR(总共128bit)装载初始值并且确定C0与C-14bit值,这些132bit初始值使用密钥流生成器由规定的输入量导出,输入量分别为密钥Kc、48bit蓝牙地址和26bit主单元时钟CLK26-1。加密算法初始化过程:(1)由128bit加密密钥Kc生成有效加密密钥,记为K'c,令L(1≤L≤16)为用8bit组数目表示的有效密钥长度,则K'c(x)=g2(L)(x)(Kc(x)modg1(L)(x))。(2)将K'c、蓝牙地址、时钟以及6bit常数111001移入LFSR。加密算法初始化完成后,从加法组合器输出密钥流用于加密/解密。
1.3.2认证
蓝牙技术认证实体使用所谓查验-应答方案。通过“两步”协议,申请者是否知道秘密密钥使用对称密钥进行证实。这意味着,一个正确的申请者/证实者对,在查验-应答方案中将共享相同密钥Kc,证实者对于申请者是否能够认证算法K1认证随机数AU_RANDA,并返回认证结果SERS,进行查验。其认证及加密密钥生成函数可以参考相关资料,此处略。
2蓝牙安全机制的方案改进
现有蓝牙安全机制主要存在两个主要问题。一个是单元密钥的使用问题:在鉴权和加密过程中,由于单元密钥没有改变,第三方利用此密钥来窃取信息。128位密钥长度的E0序列加密在某些情况下可通过不是很复杂的方法破解。另一个是蓝牙单元提供的个人识别码(PIN码)的不安全问题:由于大多数应用中PIN码是由4位十进制数组成,所以采用穷举法很容易攻击成功。
克服这些安全性问题的解决方法除了增加PIN码长度外,关键是要采取更为强健的加密算法,如用数字加密标准DES代替序列加密算法。DES是一种块加密方法,加密过程是针对一个个数据块进行的。在DES算法中,原始信息被分为64位的固定长度数据块,然后利用56位的加密密钥通过置换和组合方法生成64位的加密信息。与蓝牙序列的加密算法不同,数学上可以证明块加密算法是完全安全的。DES块密码是高度随机和非线性的,其产生的密文和明文与密钥的每一位都相关。DES的可用加密密钥数量非常庞大,应用于每一位明文信息的密钥都是从这个庞大数量的密钥中随机产生的。DES算法已经被广泛采用并认为非常可靠。采用DES加密算法的蓝牙技术可以将蓝牙应用到安全性较高的应用中去,例如电子金融交易、ATM等。
2.1DES算法
1977年美国国家标准局公布了联邦数据加密标准DES。由于DES算法保密性强,迄今尚无切实可行的破译方法,所以DES得到了广泛地应用。DES是一种分组密码体制,它将明文按64位一组分成若干组,密钥长为56位。其基本思想是采用变换的组合与迭代,将明文中的各组变为密文组。
在DES系统中,乘积变换是加密过程的核心,连续进行16次操作,每次更新一组密钥。移位变换B是移位变换A的逆变换。图4为DES体制加密流程,图的右侧表示DES系统的密钥生成过程。初始密钥是一串64bit的随机序列。经过反复移位变换,产生16组子密钥(K1~K16),每组子密钥用于一次乘积变换。所谓初始重排(IP)就是打乱输入分组内比特原有排列次序,重新排列,排列方式是固定的。
DES的一次乘积变换运算步骤为:(1)把64bit输入码分成左右两组,每组32位比特,分别用Li-1和Ri-1代表。其中i代表第i次乘积变换,i=1~16。(2)把该次乘积变换输入分组的右组32位比特变为输出分组的左组32位比特,即Li=Ri-1。(3)输入分组右组32位比特经过扩展操作变为48位比特码组。(4)扩展变换输出的48位比特与子密钥Ki的48位比特按模2相加,输出的48位比特分为8组,每组6位。(5)把每组6位比特进行密表(S-盒)替代,产生4位比特。输入的6位比特的第1、6两位决定密表内所要选择的行数,其余4位决定密表内的列数。(6)把8组密表输出合并为32位比特,然后与本次乘积变换输入左组Ci-1按位模2相加,即可得到第i次乘积变换的右32位输出Ri。
2.2DES算法的特点
DES算法具有以下特点:
(1)DES的保密性仅仅取决于对密钥的保密,算法公开。
(2)在目前水平下,不知道密钥而在一定的时间内要破译(即解析出密钥K或明文)是不可能的,至少要建立256或264个项的表,这是现有资源无法实现的。
(3)由于“雪崩效应”,无法分而破之,一位的变化将引起若干位同时变化。
综上所述,由DES算法构建的蓝牙安全机制是可靠的,采用穷举方式攻击是不现实的。假设有一台每秒完成一次DES加密的机器要用将近1000年的时间才能破译这个密码。
关键词:建构主义理论;C++课程群;教学模式
0 引言
与计算机领域其他专业不同,信息安全专业需要更加注重实践教学,而且在实践内容设置上具有一定的特殊性。一方面它涉及数学、密码学、网络安全协议等理论性、抽象性很强的专业教学;另一方面作为一门应用学科,在人才培养模式方面更注重应用性、工程性和实践性。C++课程群(见图1)是指C++程序设计以及基于C++程序进行实践教学课程的统称,在信息安全专业中主要包括高级程序设计C++、密码学基础、应用密码学、网络安全编程及课程设计、信息安全综合实践、计算机病毒原理与防治等课程构成的课程群。C++课程群是信息安全专业教学实践环节的核心和支撑课程,贯穿信息安全专业整个教学过程,它们实践的好坏直接反映了信息安全专业的人才培养质量。
然而,在多年的C++课程群教学过程中发现,大部分学生由于在大学一年级没有很好地理解和掌握C++编程,导致后继C++课程群的实践环节难以有效展开,造成在课程群实践环节和毕业设计综合实践环节中拼凑、雷同、抄袭的现象较为严重。因此,针对目前C++课程群教学现状,我们提出基于建构主义理论的信息安全专业C++课程群教学模式,改变传统的以教师为主的灌输教育,而以学生为主体,通过将建构主义理论中的理念和机制灵活应用于教学过程,充分发挥学生的主观能动性,将抽象理论知识学习和动手实践能力培养相结合,有效改进C++课程群的教学效果,培养学生分析问题和解决问题的能力,增强学生的团队合作能力和社会竞争力。
1 基于建构主义理论的教学模式
1)基于建构主义理论的总体框架。
基于建构主义理论的教学模式(见图2),我们把该模式有效地应用于C++课程群中不同课程的教学实践中,即将“项目演示主动认知团队实践团队讨论认知统一项目构建”的教学模式以适合的形式贯穿于课程教学始终,使学生能够积极主动地深人学习C++课程群中的每门课程和实践环节。这个模式贯穿C++课程群的不同阶段,而且根据课程性质的不同可以具有不同的实现形式。
“项目演示主动认知团队实践团队讨论认知统一项目构建”是一个循序渐进而又相互渗透的过程。通过项目演示激发学生的探究兴趣,调动学生的主动认知学习本能;通过团队实践和团队讨论验证团队成员主动搜集和挖掘知识的能力,使团队成员达到新的认知统一;然后基于统一的认知进行项目构建;最后项目构建的成果又作用于项目演示,从而使团队成员的知识得到不断丰富和提高。
例如,从低年级开始强化C++程序设计、数据结构(基于C++)等专业基础课程的实验实践,主要采用基于ACM程序设计大赛的形式构建“项目演示主动认知团队实践团队讨论认知统一项目构建”的教学模式。信息安全专业的核心技术是密码技术和网络安全协议。因此,实践教学必须也围绕这两个核心技术展开。但是,不管是密码技术还是网络安全协议,其理论和技术均有较高的门槛。要开始这类课程和实验,学生必须具备密码理论与实现、网络协议分析和较强的网络编程能力。同时,信息安全的实验通常是涉及网络威胁和防护多个方面的综合实验,一个完整的实验内容多、工作量大,对学生的综合能力也提出较高的要求。因此在讲授信息安全专业课程时,主要采用安全竞赛和项目驱动的方式构建“项目演示主动认知团队实践团队讨论认知统一项目构建”的教学模式。在进行毕业设计和综合实践实训时采用项目驱动的方式构建“项目演示主动认知团队实践团队讨论认知统一项目构建”的教学模式。
2)基于协作式学习的教学组织过程。
建构主义理论要求以学生为中心,强调学生对知识的主动探索、主动发现和对所学知识意义的主动构建,因此我们采用了基于协作式学习的教学组织过程。协作式学习是指通过团队的形式组织学生进行协同学习,如模式中的团队实践和团队讨论,团队成员共同学习、讨论和解决问题以达到教学目标。优势之一在于团队成员可以有效共享彼此通过不同途径(如网络、图书馆等)主动收集、挖掘的信息以及根据实践总结的资料和实验结果等;优势之二在于可以进一步通过班级PPT讲解或讨论与其他团队共享搜集资料和实验结果,加深对不同知识点的理解和升华。在此过程中,教师总体负责教学和实验的组织、进展和引导,以保证教学以及实验目标的有效实现和协作学习成果的有效共享。
例如,在应用密码学教学过程中,我们首先通过相应的与安全相关的项目演示,激发学生的兴趣,然后根据内容将学生随机分组,每组4-5名学生,在规定的时间内(一般为一周)协作完成PPT制作(组长负责任务分解和协调)、PPT讲解(推荐组内同学)、密码理论研究、算法实现和演示、安全与攻击等教学和实验内容。组内成员可以采用不同方式对研究问题进行分析和讨论,由组长和成员共同讨论决定。每个组内成员根据自己的子任务进行资料收集和整理。组内成员的成绩直接影响小组的成绩,同时也影响自己的最终成绩。这种方式充分调动了每个组内成员的学习积极性,有效克服了个别成员的畏难和偷懒情绪,最重要的是学生的团队合作精神和集体荣誉感增强,而且面对面的相互交流也使得每个成员的学习效率最大化。组与组之间以班级的形式共同讨论,教师和各组成员互相点评成果质量、思路完善程度、材料搜索和总结完备程度,从而达到激发竞争力、相互学习和促进的效果。
通过C++课程群中的教学实践,如基于ACM竞赛的高级程序设计C++教学模式、基于攻击与防御情景模拟的网络攻击与防御教学模式以及基于创新实践项目的安全综合实践等证明,这种教学模式有效地调动了学生的参与积极性、主动学习兴趣,激发了学生的潜在学习能力,课堂气氛明显活跃,甚至一些平时不爱学习,只靠考试最后几天突击学习的学生,也不得不在平时积极准备以便充分展示自己,以达到最终的考评要求。
3)基于竞赛或项目驱动的实践能力培养和社会竞争力提升。
建构主义理论要求通过实物或项目演示激发学生的初始认知兴趣,进而引发学生的主动探索和认知潜能,因此我们在C++课程群教学中通过引入合适的竞赛和实践项目来激发学生的学习兴趣和主动学习欲望,进一步培养学生的自主创新实践和社会实践能力,以有效提升学生的社会竞争力。
例如,我们在C++课程群教学中主要采用两条路线进行。一是设计符合实际需求的创新实践题目,如企业团体邮件安全分发的异常检测、基于挑战应答机制的身份验证系统、恶意软件的内核级程序设计、数码照片的来源盲鉴定等,由感兴趣的学生分组合作申请或参加各类大学生实践创新项目和应用比赛,如中国机器人RoboCup公开赛、ACM程序设计大赛、上海市大学生科创项目、上海高校信息安全竞赛、Google Android应用开发中国大学生挑战赛、上海市大学生计算机应用能力大赛等。二是校企联合实践项目。通过让学生参与企业项目,来迎合市场实际需求,培养学生社会实践技能,增强学生社会适应能力,提高学生社会竞争力。采用的方法是学生通过小组讨论、问题分析与解决、与指导教师或企业实训教师讨论等多个环节的锻炼,有效地培养学生独立思考和解决问题的能力,更重要的是增强了团队合作精神,提升了社会竞争力。
与此同时,我们将这种竞赛或项目驱动机制引入到实验实践教学中,通过模拟正规比赛规则评判学生实验实践质量。我们设计了各种竞争和激励机制,如综合排名、日冠军、周冠军等,给学生的学习带来了更多乐趣和挑战。将其与绩点、各种计算机类竞赛的参赛资格等挂钩,激发学生的竞争意识,调动其学习欲望和主动性,以形成你争我赶的良性互动局面。
4)创新课程考核和评价机制。
考核和评价机制的设置应该能够充分反映一个学生各个方面的能力体现,如资料收集、课件展示、问题回答、作品展示等。然而,目前存在的考试考核方法单一,一般采用期末试卷或者大作业形式,如平时成绩×30%+期末成绩×70%。这种考试考核方法在与实际结合紧密的信息安全专业C++课程群教学中日益显露出弊端,不能有效反映学生的实践能力和资料收集整理、总结能力。试卷将学生的学习目标定位于做题,极易导致高分低能现象。大作业要求学生提交程序或报告,由教师按照一定的评判标准根据代码或书面报告给出成绩,评判标准有局限性,学生也难以展示创新思想和创新观点,导致大量雷同报告的产生。另外,考核多集中于期末,导致学生平时的参与积极性不高。
在我们提出的基于建构主义理论的教学模式中,考核方式采用多层次的评价体系,更注重学生自主学习能力和创新能力的考核,实行平时分组讨论表现和期末考核相结合的方法。将学生分组,每组人数可以根据课程不同调整,对学生的资料收集能力、PPT准备情况、自制团队教学录像情况、表达能力、协同学习能力等进行考核。
根据C++课程群的教学实践表明,这种评价体系不仅有效体现了公平、合理,且鼓励创新,更加有效地调动了学生的主观能动性和积极性,激发学生的表现力和创造力,形成活跃的学习氛围,并能较好地体现出学生不同方面的创新水平,达到团队成员优势互补,如在PPT制作中涌现出大量优秀作品,部分学生因此获得了市级奖项,部分学生发现了自己的演讲天赋和现场表现力等。
2 基于建构主义理论教学模式下的教学实践效果
1)学生参与科创的主动性提高。
在基于建构主义理论的教学模式指导下,构建了完善的学科实验实践教学平台,为学生进行形式多样的科创活动打下坚实的基础。通过相关课程的内涵建设,加强了实践教学。课题组成员通过贯彻理论与实践相结合的讲课原则,提高了教师的业务能力和实践指导水平。在教师指导下,学生可以参加形式多样的科创活动,而且近几年本专业参加科创的学生人数逐年递增,获得资助的科创项目数量迅速增长,从2008年的7项增至2011年的30项,平均每年有8组40名左右学生参与教师科研项目。
2)工程实践能力提高。
在基于建构主义理论的教学模式指导下,学生的工程实践能力显著提高,充分利用创新应用实验平台和企业联合实践平台,激发学生潜能,培养学生实践能力和创新思维,极大地丰富了学生的科技创新活动和社会实践活动,培养了学生创新实践能力和创新思维,取得了一定的成果。目前我们建设有机器人协会、微软俱乐部、ACM协会等学生社团以及十多家产学研企业实践实习基地。
信息安全专业培养要求
1.具有扎实的数理基础,熟练掌握一门外语并具有一定的译、听、说和初步的写作能 力;具有国际视野和一定的跨文化的交流、竞争与合作能力;
2.掌握模拟和数字电子线路的基本原理、分析方法、实验技能与方法;
3.掌握通信、计算机网络和信息系统的基本理论和专业知识,掌握密码、信息安全以 及信息安全管理的基本理论与方法;
4.具备在信息、信息过程和信息系统等方面进行信息安全与保 密关键技术的分析、 设计、研究、开发的初步能力以及安全设备与软件的应用、信息系统安全集成与管理的 能力;
5.了解国家有关信息安全方面的政策和法规以及有关国际法律、法规;了解信息安全 技术领域的理论前沿、应用前景和发展动态;
6.掌握计算机的基本原理与技术,具有初步的软、硬件的开发能力;
7.掌握文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力。
信息安全专业就业方向
本专业学生毕业后可在政府机关、国家安全部门、银行、金融、证券、通信领域从事各类信息安全系统、计算机安全系统的研究、设计、开发和管理工作,也可在IT领域从事计算机应用工作。
从事行业:
毕业后主要在新能源、互联网、计算机软件等行业工作,大致如下:
1 新能源;
2 互联网/电子商务;
3 计算机软件;
4 房地产;
5 贸易/进出口。
从事岗位:
毕业后主要从事项目经理、网络工程师、网络管理员等工作,大致如下:
1 项目经理;
2 网络工程师;
3 网络管理员;
4 销售经理;
5 行政助理。
信息安全专业主要课程
专业基础和专业课主要有:高等数学、线性代数、计算方法、概率论与数理统计、计算机与算法初步、C++语言程序设计、数据结构与算法、计算机原理与汇编语言、数据库原理、操作系统、大学物理、集合与图论、代数与逻辑、密码学原理、编码理论、信息论基础、信息安全体系结构、软件工程、数字逻辑、计算机网络等。