数据安全教学方法的研究与探讨
数据安全是信息与计算科学专业信息安全方向的主要专业方向课。本文就信息安全课程在理论教学和实践教学的诸多方面,系统地阐述了教学方法的改进和实施问题。将其应用到实际教学中,取得了较好的教学效果。 .
1引言
数据安全是信息与计算科学专业信息安全方向和计算机科学与技术等专业的一门重要专业课。课程的主要目的是让学生学习和了解信息安全及密码学的一些基本概念,理解和掌握一些常用密码算法的加密和解密原理,认证理论的概念以及几种常见数字签名算法和安全性分析。本文从数据安全课程的教学现状以及存在的问题出发,结合作者在教学工作中的实际情况、授课体会和经验,研究和探讨了在教学方法上的改进手段和实施方法。
2教学现状分析及存在的主要问题
2.1缺乏数学等基础性知识,教学内容容易脱节
数据安全作为专业方向课,讲授对象一般是高年级的本科班学生或研究生,说明它需要大量的数学基础知识的积累。包括了数论基本知识和代数基本知识,涉及到大整数素因数分解问题、离散对数问题、椭圆曲线离散对数问题等,这体现了数据安全专业与数学基础学科结合的紧密性。而在课程开设中,往往认为该课程是入门课程,而忽视了对数学课程的讲解,导致学生学习相关内容时感觉较难掌握。因此在讲授涉及到数学基础理论的章节,例如公钥密码学中的RSA算法、椭圆曲线算法时,要把算法中涉及到的数论知识补充教给学生,并提醒数学知识在后续学习中的重要性。避免学生在基础知识欠缺的情况下,认为课程难度太大,丧失进一步学习的信心。
2.2课程内容庞杂,教学难度不易控制
数据安全是为信息与计算科学专业、计算机应用与技术等专业专门开设的一门课程。课程总体来讲有一定的难
因此在内容的编排上,必须要考虑到学生的理解和接受程度。同时,由于密码学的涉及面广泛,又要求有较高的数学基础,再加上上述必需内容,就决定了密码学课程必然包含了庞杂的教学内容。而课堂学时数是有限的,这就决定了必须合理地组织教学内容,并采用灵活丰富的教学手段。能够突出重点、建立基础,并能形成体系,为进一步的扩展提供契机。
2.3实践性不强,实践手段不够丰富
数据安全学科在具有很强理论性的同时也具有非常强的实践性。目前能够开设信息安全学科的院校,其实验条件还较为落后,有些仅仅进行一些加密/解密、防火墙或者入侵检测等简单实验。而国外强调仿真的信息安全教学法,即建立完整、真实、复杂的网络信息对抗环境,并在此基础上完成各方面的实验。
实践教学是教学过程的一个重要环节。对数据安全的实践教学应该给予高度的重视。利用教学实验,目的是让学生从应用的角度去理解所学的理论,加深印象,达到理论和实践的结合。特别是与计算机产品、标准的结合。但是,由于本专业定位于以数学为基础,以信息学科理论为研究方向,因此学生在信息系统方面的知识掌握相对较少,因此不便于做和系统结合很紧密的实验。
3教学方法的研究与改进措施
3.1优化知识结构,合理组织教学内容,灵活运用教学方法
密码学课程课堂教学应该解决的核心问题是如何既能够找出密码学本身的完整体系和特点,又能对数据安全教学的立体式框架起到一个衍射作用。就密码学本身而言,密码学主要由密码编码学和密码分析学两部分组成,两者相辅相成、对立统一,共同为达到数据安全的基本目标服务。其中基本的数据安全目标主要包括机密性、完整性、可鉴别性以及不可否认性等。这就决定了在课程内容安排上应能充分体现这一体系,应体现密码编码学和分析学两条相伴的主线,应融入密码学在数据安全框架中的认知。就编码学和分析学这两条主线而言,为了讲述清晰并烘托重点可安排编码学为主线,而辅以分析学内容。但最终应给学生清晰地总结出这两条主线的轮廓,为学生今后的自学构建方法学基础。
关于密码学对数据安全服务的支持,可以采用专题的形式,并采用灵活多样的手段来完成教学。如该部分的新内容较多,则可采用集中讲授的方式;如果该部分只需要讲清楚原则,则可采用课堂概述,课外自行阅读并完成作业的形式;而有些内容则可以完全借助于实验来完成。当然,在这些内容的教学中,应该围绕一个核心目标:能够应用密码学的观点和方法论来构造并评价数据安全系统。
3.2注重激发学生的学习动机和学习兴趣
(1) 引入一些密码学中的经典案例。例如,在讲授古典密码学时,通过讲授诗情画意传“密语”、悠扬琴声奏响“进军号角”、显微镜里传递情报、网络与数字幽灵、“量子”技术传递信息等使学生理解古典密码学常用的加解密方法。
(2) 讲述密码学史上著名人物的故事。例如:著名的数学家、计算机科学家图灵,提出了传统密码体制思想的香农,提出了公钥密码学思想的迪菲和赫尔曼,我国著名的密码学家王小云等。激发学生对课程的神秘感。
(3) 讲述著名的密码算法攻击和破译案例。例如山东大学的王小云教授长期坚持不懈的努力,找到了破解HASH函数的关键技术,成功地破解了MD5及其它几个HASH函数,二次世界大战中恩尼格码密码机被成功破译的故事等。
(4) 讲述机器密码时代一些经典密码机的案例及相关知识背景。例如曾广泛使用的弗吉尼亚密码机和、恩尼格码密码机、Sigaba密码机,美国国家安全局(NSA)和美国国家标准局(NIST),密码算法的由来等背景知识。
(5) 通过引入协议故事直观地帮助学生理解算法和协议。例如引入零知识洞穴故事来讲述零知识证明协议,引入硬币抛掷故事来理解比特承诺的含义,引入三方智力扑克故事来介绍会话密钥的产生过程,引入国际象棋特级大师问题、黑手党骗局问题、恐怖分子骗局问题等说明零知识证明协议的缺陷,从而引入基于身份的零知识证明的概念。
(6) 引入数据安全新技术激发学习的动力。例如在讲授计算复杂度问题时,可以通过引入正处于研究阶段的量子计算机技术、DNA计算技术,使学生了解计算机复杂性研究的要求与限制,同时对将来的学科发展有一个清晰的了解,扩展自己的知识面。
(7) 使用软件来模拟数据安全中密码算法的加解密过程,使教学活动更为直观和易于理解。例如:在讲授DES、AES、RSA、Blowfish等算法时,都可以同时配以实际的教学软件来模拟算法的实现过程。特别是讲授AES算法时,相当复杂的流程往往使学生望而生畏,而通过一个AES算法的Flash演示程序,学生理解起来就容易多了。数据安全课程必须和实际应用相结合,在讲授PGP协议时,就可以通过演示来说明该软件在对邮件进行加密、签名和认证方面的作用。
(8) 引入现实生活中与数据安全关系紧密的例子,例如电子商务、网上银行、数字证书、认证系统等。让学生能感觉到课程的重要性,从而产生浓厚的兴趣。
3.3利用现代教学手段,充分发挥多媒体教学的优势
板书与课件相结合,教师讲解与课堂讨论相结合,基础理论与应用实践相结合。其中关键的是课堂教学中课件的制作。课件的内容不是课程内容的罗列,而是要对课程内容跨章节地组织起来,形成一个整体,当然也包括与其他课程之间的关联。如在讲解密码学、访问控制、防火墙技术等章节后,学生具备了数据安全的基础知识,但是知识点比较分散,对数据安全的综合应用能力较弱。在课程讲授过程中安排综合应用实例讲解。通过具体实例的运会,使学生能将各个章节的内容联系起来,巩固所学知识,提高综合运用的能力。
正确的使用多媒体可以起到普通教学所没有的良好效果。基于数据安全课程本身的特点,内容比较枯燥、晦涩难懂,而在课件中加入一些图片、音效、动画等特效,可以给学生以一定的视觉冲击,吸引学生的注意力,使教学过程更加直观明了,生动有趣。教学中要多采用启发式、讨论式的教学方法。使用通俗易懂的语言、文字描述,通常就可以把一个原本复杂的协议、算法等化繁为简,由难变易。例如在讲授密码学中零知识证明、数字签名等协议时,使用了Alice和Bob作为通信的双方,通过双方对话的形式描述了协议的规范。又如使用了Peggy和Victor两个虚拟角色分别来充当证明者和验证者,通过它们之间的对话由浅入深地将比特承诺协议讲的非常清楚。
3.4鼓励学生参与实践,理论与实际应用紧密结合
在实践教学方面,主要是以课程设计为主, 应当与教学目标相一致,满足教学和就业的双重需要。其目的是让学生了解各种密码算法的设计和实现,通过实现相应的密码算法深入理解密码算法的步骤、设计思想、每一步对数据流的影响以及实际实现算法和理论算法之间的差距和应该注意的问题。
指导学生利用高级语言(如Java、C++、C#等)去实现一些典型的密码算法,例如:古典密码学中的Caesar算法、维吉尼亚算法、Hill算法、Playfair算法、置换算法等,传统密码算法中的DES、AES、Blowfish等,公钥密码体制中的RSA算法、ECC算法、Elgamal等,以及数字签名、零知识证明等技术。考虑到算法实现的困难性,如果学生的能力有限,可以建议学生在先读懂相关的算法源程序的基础上,再试着去实现和改进算法,或者只是实现算法的部分功能。编程训练不仅能够加深了学生对算法过程的理解,同时学生也会因一定的成就感而培养了学习兴趣,增强了进一步学习的信心和动力。
3.5考试方式的变革与创新
结合学生学习和课程本身的特点,课程的考试方式和试题的类型可以更加灵活。使用传统的闭卷考试的方式,不可避免的会造成学生死记硬背公式和课本内容的情况发生。而开卷考试可以将重点放在考察学生的能力上。但是必须重视考试过程中学生不经思考,而一味抄书的情况发生,这样不但不能培养学生的创新能力、思维的扩散能力,反而助长了学生考前不重视学习,考试企图抄袭的不良风气。因此,若要进行开卷考试,必须在考题设计方面有一定的灵活,使学生觉得有一定的难度,但又可通过自己的努力能够独立完成。
例如可以就开卷考试作以下尝试。试卷内容强调基础知识和创新能力测试相结合,更侧重于考察学生灵活运用知识的能力;内容应当不局限于教材和平时所讲,要能够锻炼学生灵活运用知识的能力,避免死记硬背;通过设计趣味性和带有提示性的题目,使学生感受到考试的乐趣,不再害怕考试;设计少量发散性思维题目,让考生自由发挥和创造,只要言之有理就给分;设计附加题目或者二选一的题目,鼓励学生在能力范围内尽量做答,能够全部完成的将给予一定的鼓励性加分。例如可以通过历史上的真实案例,引入相关的协议分析题;通过TDES算法模拟图来分析算法的流程及安全性等。
3.6加强数据安全与相关课程之间的联系
数据安全课程不是一门孤立的课程,它与计算机学科的其他很多课程都有密切的联系。这些课程包括:第一,数学基础,特别是密码学部分的内容,它的基本原理属于数学范畴,一般来说,所有的密码学家都有很强的数学背景;第二,软件基础,如数据结构、算法、中高级语言基础;第三,系统结构基础,如计算机硬件、网络组成基本原理、操作系统和网络协议等;第四,通信基础,如信号处理基础、通信基本原理;第五,电子技术,包括弱电类专业应掌握的电子技术基础。因此如何在较少的课堂学习时间中既补充了相关的数学知识和帮助学生回忆已学的专业基础知识,又保证正常内容的讲授也是一个需要解决的问题。在课程学习中应当注意到这些不同课程之间的紧密关系。要学会利用先前的网络知识来分析数据安全中的问题,同时利用学到的数据安全知识来理解以前的知识结构,加深印象,便于进一步的学习。例如:和网络通信相结合,利用Sniffer抓包器工具,鼓励学生破解加密的报文等实现一些简单的加密解密操作。
4总结与展望
本文从促进数据安全课程教学的多个方面,阐述了教学改革等问题。结合学生学习和课程本身的特点,在课堂教学过程中,还必须注意不能片面注重理论的学习,这样容易形成一种“灌输式”的教学。教学中要避免学生被动记忆公式和算法,不借助实践性环节,如创新性实验、课程学习讨论、课程设计环节等,其直接后果是学生学习兴趣不高,教学质量没有保证,不利于学生创新能力的培养。在实际工作中如何将理论应用于教学实践,如何测评教学效果并做进一步的改进,是本论文后期研究的主要内容。
作者:马民生 冯俊昌 来源:计算机教育 2009年10期
下一篇:加固个人信息“安全堡垒”