姚 晔,邱洪君
(杭州电子科技大学 网络空间安全学院,浙江 杭州 310018)
随着大数据、云计算和物联网等技术的应用普及,计算机网络及信息安全相关的技术受到越来越多的重视。2015年6月,为实施国家安全战略,加快网络空间安全领域的人才培养,教育部和国务院学位委员会共同决定在“工学”门类下增设“网络空间安全”一级学科。自从网络空间安全作为一级学科被增设以来,国内该学科的专家学者开始制定相应的人才培养及学科建设规划,虽然计算机与网络安全课程作为我国高等院校网络空间安全类专业的一门专业必修课,但可以查询到的中文版教材及教学资源非常少。因此,借鉴国外著名高校的优质教学资源,提高我国网络空间安全一级学科的教学水平,具有非常重要的意义。
通过调研国外著名高校的开放课程资料,笔者选择麻省理工学院(Massachusetts Institute of Technology,以下简称MIT)开设的计算机与网络安全课程[1]进行分析。MIT是较早开始建设在线课程网站且开放共享的国外高校。笔者选择的MIT计算机与网络安全课程,自1995年开设以来,迄今为止已经开设20年以上。目前,可以查阅到2017年春季学期该课程的全部教学资料。这些高质量的教学资源,对笔者学习和研究计算机与网络安全课程最新的教学方法提供必要条件。
MIT开设的编号为6.857的计算机与网络安全课程,没有指定的教材。所有的课程内容都按照章节提供相应的电子版参考资料。同时,课程网站也列出四本建议的参考书[2-5]。这些参考书都可以在MIT图书馆免费借阅。课程的主要内容包括:①密码学基础:介绍基本的密文信息交换模型(Alice & Bob模型),以及一次一密的概念;②哈希函数:介绍密码学中的哈希函数定义、原理、实现及应用,同时还介绍哈希函数相关的随机预言模型(Random Oracle Model);③电子货币及比特币:介绍电子货币的特点、功能和使用方式,然后以比特币为例介绍比特币的概念、生成算法及使用流通中的安全保障策略;④Shamir秘密共享:以秘钥分享为例,介绍Shamir秘密共享的原理和算法实现;⑤分组密码:介绍分组密码的特点及原理,并以DES算法和AES算法为例,介绍分组加密的算法流程及算法中的几种工作模式;⑥加密与认证:先介绍CBC和CFB两种加密的工作模式,然后分析这些加密模式的安全性,介绍消息认证码(Message Authentication Code)的概念,以及加密和认证的结合算法;⑦数论及群论:先介绍密码学中大数相关的幂运算、取模运算、最大公约数、排序,以及大数的生成等,然后介绍群论的概念,以及密码学中的五种群;⑧公钥加密及数字签名:介绍公钥加密的基本概念、相关算法,以及数字签名的概念、安全性和实现算法;⑨间隙组(Gap Groups)和双线性映射(Bilinear Maps):先介绍Diffie-Hellman密钥交换协议相关的Gap Groups和Bilinear Maps概念,然后介绍BLS签名及三方密钥协商算法;⑩零知识证明(Zero Knowledge Proofs):介绍在没有额外信息的情况下,实现零知识证明的概念、原理和算法;⑪密文域的计算(Computing on Encrypted Data):介绍在密文数据上运算的概念和实现算法,以及密文域数据的隐私保护、安全的多方委托运算等应用;⑫选举(Elections)及信任(Trusting Trust):介绍选举中的安全需求、软件的独立性、选票的审计等问题,以及密码学在远程投票、电子投票中的应用;⑬差分隐私(Differential Privacy):介绍差分隐私保护技术的原理、算法及应用。
除指定的参考书和课程网站上的讲义之外,该课程还提供丰富的课外阅读资料供学生选择阅读。这些课外资料包括与安全相关的书籍、国际会议和论文列表。
该课程共布置5次课后作业(Problem Set)。在每次课后作业规定的截止时间前,学生提交电子版的作业,同时会收到新的课后作业。截止时间通常为作业发布之后的两周内。学生可以分组完成每次的课后作业。优秀的课后作业将作为参考答案在课程网站上展示。5次课后作业的内容见下文。
(1)作业1包括4个小题,分别为:①观看教师发布到YouTube上的视频,回答3个有关密码学进展的问题;②给亚马逊(Amazon.com)的智能语音交互终端(Echo)设计安全策略;③分析在ASCII字符的异或加密时,重复使用相同的密码可能存在的安全问题;尝试破解相同秘钥异或加密生成的密文字符流,并给出详细的解释说明;④分析即时通讯软件WhatsApp的消息转发流程中,端到端加密的安全性问题。
(2)作业2包括3个小题,分别为:①哈希算法SHA-1在2017年2月被报道存在碰撞(collision)问题;如果比特币(Bitcoin)采用SHA-1算法,分析可能出现的影响及后果;②对本课程授课教师设计的电子货币857coin,分析其安全性,并优化其中的部分算法;③对本课程教师设计的一种基于Merkle树的哈希签名算法,回答若干个与算法设计相关的问题。
(3)作业3包括3个小题。分别为:①针对给出的包含两轮CBC加密操作模式的算法,回答若干个问题,分析并改进算法的安全性;②布尔可满足性问题(Booleansatis fiability problem,SAT)在加密系统中的算法实现及安全性分析;③基于ARX(add-rotate-xor)操作的Speck分组加密算法的随机性分析。
(4)作业4包括3个小题。分别为:①基于边信道攻击的Speck加密算法秘钥破解算法实现;②实现椭圆曲线加密算法,并计算输出若干种情况下的输出结果;③佩德森的承诺(Pederson Commitment)中的二次残余算法实现,并计算若干种情况下的输出结果。
(5)作业5包括3个小题。分别为:①针对教师团队给出的零知识证明的算法描述,分析其安全性并回答若干个问题;②全同态加密算法的推导及若干种情况下的输出结果计算;③试用在线投票系统Helios,分析其正确性、可靠性,并指出可能存在的安全架构问题及解决方案。
除了平时的5次课后作业,该课程还要求学生分组合作完成一个期末项目(final project),每个分组3~4人。 期末项目的主题涉及密码学、网络安全和计算机安全。
在2017年春季学期,该课题的教师团队提供24个选题供学生选择。每个选题还提供必要的描述、要求和实验数据。学生可以从这些选题中选做一个,或者征求教师团队同意后选择其他的选题。
在教师团队提供的24个期末项目选题中,包含若干个当前计算机与网络安全领域的热点问题。例如:①分析自动驾驶汽车的安全问题;②讨论量子计算对加密算法和密码算法的攻击方法;③分析IoT(Internet-of-Things)设备的安全;④分析阅后即焚软件Snapchat的安全漏洞;⑤测试和评估1~2种维基解密于2017年3月公开的CIA工具。另外,课程教师团队在每学期都会更新和替换部分期末项目的题目,同时还会将学生撰写的期末项目报告公布在课程网站上,供其他学生学习参考。
期末的总评成绩由三部分构成:期中考试成绩占20%,5次课后作业占40%,期末项目报告占40%。期中考试(quiz)随堂进行,考试内容来源于课堂上的讲义材料、课后作业和指定的阅读材料。该课程没有期末考试,对于学生的考勤也没有明确的要求,但对于课后作业和期末项目有严格的截止时间要求。没有在截止时间之前提交作业,将会有不同程度的扣分。
通过MIT的计算机与网络安全课程教学内容可以看出,该课程的教学组织方式不同于传统的“照本宣科”教学模式。教师团队通过设计合理的课程内容、灵活的课后作业和期末项目,实现以学生为中心、以项目和任务为驱动、以输出成果为考核方式的转变。这种以“学习成果产出”为导向的新型教学模式,被称为OBE(Outcomes-Based Education)教学模式。
基于学习成果产出(OBE)的教学模式,最早由西方国家的基础教育改革者提出。最近几年,国内的工程教育专家也提出要实施以成果为导向的教育理念,由于和工程教育的目标一致,基于OBE的教育理念和教学模式改革,也受到国内高校工程类教育工作者的关注。
(1)课程内容按照知识点分类,以讲座的形式组织教学。国内大多数高校计算机与网络安全类课程的教学大纲一般会按照如下内容顺序编排:密码学基础、数据加密技术、密钥管理技术、数据完整性保护、访问控制技术、病毒及网络安全。国内高校的这种课程内容编排方式具备系统性和全面性,使得学生可以全面了解整个学科领域,但也存在明显不足:①教学内容过多,课时量有限,教师很难按时完成教学任务;②教学重点不突出;③学生过分依赖教师的灌输,缺少自学相关知识的动力。不同于国内高校的同类课程安排,MIT开设的这门课程没有指定教材,课程内容选取的重点和难点以讲座的形式安排。对于课堂上没有讲授的知识点,课程教师团队在课程主页上指出若干本参考书,学生可以有选择地自学。
(2)课程教学内容新,知识点更新及时。从课程内容介绍可以看出,MIT开设的这门课程,课程内容紧跟当前热点,具有非常高的实用性。例如,电子货币及比特币、选举及电子投票等主题能够大大激发学生的学习热情,也能够将需要讲授的知识点融入到精彩的课堂教学中;密文域的计算、差分隐私保护等主题是当前云计算和大数据领域的关键技术,课程教师团队及时将这些最新技术加入到课堂教学中,有利于学生尽快掌握当前技术热点,做到学以致用。
显而易见,这种课程内容设计,能够很好地激发学生学习兴趣,引导学生从被动接受新知识到主动学习相关领域知识、主动思考和解决遇到的问题,从而达到OBE教育理念设定的目标。
按照OBE的教育理念,教学目的是为了提升学生的能力。MIT开设的这门课程,在教学方式上充分体现以学生为中心、注重学生能力培养的教学模式,具体包括以下几个方面。
(1)利用课程网站提供丰富的参考资料和学习资源。虽然MIT开设的这门课程没有指定教材,但该课程网站提供了大量的在线资源,供学生自学。这些资源包括历年的课程内容及讲义、当前的授课资料和讲义、每次课的补充阅读材料、课后作业及资源、历年的期末项目报告等。教师团队也通过课程网站及时调整和更新每年的授课内容,使课程内容与当前技术发展趋势保持一致。
(2)课堂教学关注重点和难点,课外学习以学生为中心。不同于国内课堂的填鸭式灌输,MIT采用讲座的形式来组织课程内容和课堂教学,这样既可以覆盖该课程的重点和难点,也能够按时完成教学任务。课外自学完全以学生为中心,教师在课程网站上发表相关自学资源,学生根据自己的能力和兴趣,选择相关资料自学。
(3)课后作业和期末项目以成果产出为导向。每次的课后作业都包括3~4个小题,每个小题又由若干个循序渐进的问题组成,并且大多数的问题都没有标准答案。学生在完成课后作业的过程中,需要自主查阅相关资料、主动探索和思考,这些都有利于培养学生的自学能力,以及对复杂问题的分析与解决能力。
期末项目以小组为单位合作完成,培养学生的团队合作能力、沟通交流能力。各个项目小组确定期末项目的选题之后,需要在课程网站的讨论组中提交一页的初步设计方案;开始项目设计之后的3周内,项目组成员需要提交包括参考文献的详细设计报告;以后每隔2周,项目组成员需要向课程的助教团队汇报一次项目进展;项目完成之后,项目组成员需要提交项目报告,并在课堂上做演讲。由此可见,通过对项目实施过程中的监督和指导,学生能够按时输出阶段性成果,满足基于OBE的课程教学目标。
(4)课程助教团队协助教师指导学生课外答疑。MIT开设的这门课程,除了包括2位主讲教师,还配置3名研究生作为助教。助教团队负责讲解每周一次的习题课,为解决学生课外自学过程中的疑难问题,助教团队还安排每周3个小时的课外答疑。学生在规定的时间内,可以和助教团队讨论课后作业和期末项目相关的问题,并汇报期末项目的进展。
基于学习成果产出(OBE)的教学模式,以学生个人能力发展为目标,以课程的输出成果为标准,考核课堂教学效果和学生的能力达成程度,学生的最终成绩主要由课后作业和期末项目的完成情况决定。这种评价方式强调学生学习过程中的输出成果,和国内高校通过课程考试评定成绩有很大的不同。以学习成果产出为评价标准,不仅可以促进学生课外积极主动的自学,还可以通过完成课外作业锻炼学生的组织能力、合作交流能力、团队精神等。此外,考核评价的结果也更能体现学生分析问题、解决问题的能力,真实衡量学生的学习效果。
MIT是国外较早通过网络提供在线开放课程的国外高校。随着网络技术的应用普及和在线教育的发展,越来越多的优质教学资源可以被方便地获取和使用。基于学习成果产出(OBE)的教学模式,也会被国内大多数的高校接受和采用。
学习和借鉴国外高校的先进教学模式和优秀教学资源,提升国内高校的课程教学水平,使学生的综合能力和素质满足培养目标设定的要求,是每个教学工作者应尽的责任和义务。当前,受限于国内高校学生的创新意识和自学能力,国内高校的教师往往需要花更多时间和精力设计教学内容、优化教学模式,才能取得满意的教学效果。因此,教学模式的改革是一个长期的过程,高校教师需要不断地学习专业知识、提升自身的综合素质,才能在基于学习成果产出(OBE)的教学模式改革中不断优化教学内容、改进教学手段、提升教学质量。
[1]MIT Computer Science and ArtificialIntelligence Laboratory Courses. Computer and Network Security. [EB/OL]. [2017-08-25].http://courses.csail.mit.edu/6.857/2017/.
[2]Jonathan Katz, Yehuda Lindell. Introduction to Modern Cryptography 2ed[M]. Chapman and Hall: CRC Press, 2014.
[3]Niels Ferguson, Bruce Schneier, Tadayoshi Kohno. Cryptography Engineering[M]. New Jersey: Wiley, 2010.
[4]Christof Paar, Jan Pelzl. Understanding Cryptography[M]. Switzerland: Springer International Publishing, 2010.
[5]Nigel Smart. Cryptography Made Simple[M]. Switzerland: Springer International Publishing, 2016.