1 研究背景
随着网络空间安全技术的发展,数学基础的作用越来越重要。信息安全数学基础课程是网络空间安全类专业最重要的专业基础课程之一,目前已经成为很多高校网络空间安全类专业的核心课。课程内容包含网络空间安全大类学生必须掌握的核心数学基础知识,涉及信息安全中所需要的数论、抽象代数、椭圆曲线知识等,可以为其他后续专业课程(如密码学、信息网络安全)的学习提供必要的基础知识准备,更为工科学生提供了一次进行数学素养训练和强化的机会,从而对网络空间安全学科专业的人才培养发挥一定的积极作用。
由于信息安全数学基础课是应用背景下理论性较强的数学基础课程,与密码学课程紧密相关,一般会在课程设计中引入密码学的简单案例和算法,让学生理解数学基础的应用,但目前在教学上,通常将其讲授为一门理论课程,缺少学生的实验动手环节,或者虽然有一些密码算法的实现实验,但是趣味性不强,仅仅只是做一些算法的复现工作,难以激发学生的求知欲,更难以调动优秀学生的积极性。基于此,有必要对信息安全数学基础课程内容进行改革,优化实验教学内容和形式,从而激发学生的主观能动性,使其学会主动运用数学知识处理专业问题,真正理解数学基础的作用,进而提升课程的整体教学质量。
2 课程特点
(1)理论性强。信息安全数学基础课程的内容分为数论和抽象代数两大部分[1]。这两部分内容都有大量的定义、定理和证明,理论性较强。如果只有理论授课,没有配套的实验课程,不仅学生无法深刻理解和熟练掌握理论知识,而且与“扎实理论基础,理论实践结合,提升创新能力”的培养目标不相符。只有学生真正动手实践,验证和使用所学理论,才能达到最好的学习效果。
(2)内容抽象。在学习数论部分时,由于有整数这一较为具象的概念,大部分学生还能较好地理解,但是学习抽象代数的内容时,无法在现实生活中找到与之相对应的事物,学生很难理解这些抽象的概念。正因如此,学生可能会觉得这些知识在实际应用中没有任何价值,导致缺乏学习热情,而实验教学能够很好地解决这一问题。学生通过参与实验课程将这些抽象的概念实例化,并用之解决一个又一个问题,能够亲身体会到学习的价值所在,从而产生学习的兴趣,从被动学习转变为主动学习。
3 引入CTF竞赛模式的实验设计
3.1 改革背景
CTF(Capture the Flag)又被称为夺旗赛,于20世纪90年代起始于美国,近年来引进到我国并得到业界的广泛认可和支持。CTF的特点是将专业知识和比赛乐趣有机结合,是网络空间安全人才培养方式的一种重要探索。Crypto(密码学)是CTF中的一类重要题目。密码学对参赛者的基础知识、数学能力、逻辑思维能力和分析能力有很高的要求。CTF竞赛对于学习网络空间安全学科专业的学生是一种很好的学习和训练方式,符合实验课中对于新工科人才培养中的“做中学”[2-5]。
3.2 实验内容设计
实验教学的内容由主讲教师和有丰富CTF竞赛经验的助教共同设计,将其与理论课内容一一对应,具体内容如图1所示。
实验课中的基础实验部分难度不高、教学性质更强,进阶实验则难度较高,适于学有余力的同学拓展学习。所有实验内容都是用Python 3语言编写的,这是因为Python 3学习门槛不高,相比C语言或者Java语言容易入门,而且是目前CTF竞赛中Crypto类题目的主流语言;同时,在每个实验中都会给出本次实验需要用到的Python 3知识的教学,给予学生充分的引导。
1)整除性理论。
理论课程从整数的整除性理论出发,涉及整数的欧几里得算法和扩展的欧几里得算法,这是数论部分最基本和重要的两个算法。这里的实验设计,包含3个知识点:①扩展欧几里得算法的代码实现;②凯撒密码加解密;③裴蜀定理通解。本次实验的核心流程是有gcd(a, b) =1 ,对a, b使用扩展欧几里得算法得 au+bv= 1 ,在已知 b 和 u 的条件下求得 a 。
2)模运算及其应用。
模运算无论在数论还是在抽象代数中,都是十分基础和重要的运算,它首次出现在数论部分的学习中。模运算在古典密码学中最基础和经典的应用就是移位密码和仿射密码,这是每个密码学学习者必须了解的。因此,分别设计两个实验,将flag(即秘密消息)分别用这两个密码体制加密,在给出密钥的条件下让学生编写解密程序,得到flag。学生通过本次实验,不仅能够掌握这两种密码体制,而且能更好地理解模运算的本质。
3)同余方程及其应用。
同余方程求解问题是数论中的一个重要问题。学生首先会学习素数模同余方程的求解,然后再学习合数模同余方程的求解,在这个过程中还会引入原根的概念。针对这3个知识点,我们设计了2个实验。第1个实验是素数模的RSA密码体制,即同余方程xn≡ c(modp )的求解,其中为p素数。第2个实验首先给出了寻找素数原根和验证原根性质的代码以供学习,然后给出了RSA密码体制的加密过程,让学生编写解密过程以得到flag。
此外,针对Wilson定理和欧拉函数部分,我们设计了2个进阶实验。第1个实验基于流密码体制,用相同的密钥加密了2个不同的明文,第1个明文需要使用Wilson定理计算得到,第2个明文为flag,第1个明文和对应的密文异或得到密钥,再解密得到flag。该实验不仅考查了Wilson定理的应用,还蕴含了流密码的重要思想。第2个进阶实验考查了欧拉函数的应用。在已知n=pq的分解的情况下,给定
,其中 r为随机数,要求解出flag。通过计算最后得到
。该实验不仅考查欧拉函数的计算和欧拉定理的应用,还能使学生对RSA密码体制有更深刻的理解。
4)二次剩余及其应用。
二次剩余问题是同余方程求解中的一个特例,在密码学中有着重要应用。针对理论课学习的Goldwasser-Micali密码体制,实验部分我们对该密码体制做了一些改动,使其不再安全,即在不知道私钥的情况下可以通过计算Jacobi符号对密文进行解密。在实验过程中,学生不仅需要熟悉判定2是二次剩余的充要条件,还要掌握Jacobi符号的计算过程。通过本次实验,学生对Jacobi符号的含义和二次互反律都会有更深的理解。
5)群、环和域。
群、环和域是抽象代数的三大内容,无论是在对称密码学,还是公钥密码学中,都有着十分重要的应用。为了使学生更好地理解这些抽象的概念,我们基于ElGamal算法(包括数据加密算法和数字签名算法)设计了一个实验。该实验提供了ElGamal的加密算法和签名生成算法的源代码,学生通过阅读代码了解算法原理,然后尝试自己写出解密算法和验证算法,从而解出flag。通过该实验,学生不仅能够对群、环和域的结构有清晰的认识,体会到这些代数结构的价值所在,还能够学习数字签名算法的思想,为之后密码学课程的学习做好铺垫。
6)有限域。
有限域上的离散对数问题是一个公认的难解问题,有很多密码体制的安全性都是基于离散对数问题的,因此,学习离散对数问题,了解常见的求解离散对数问题的方法是十分必要的。在实际应用中,我们选取素数p时要求素数p为强素数,即
也是素数。这是因为如果是很多小素数的乘积形式,存在有效的算法求解有限域IFp上的离散对数问题,如Pohlig-Hellman算法。我们基于这样的问题构造了一个有限域IFp上的离散对数求解问题。学生需要编写Pohlig-Hellman算法进行求解,得到秘密信息flag。学生通过本次实验,将对离散对数问题的困难性有清晰的认识,同时也能掌握一些经典的求解算法。
7)拓展内容。
除了与理论课程本身对应,我们也希望学生能运用所学知识,了解一些现代密码学的前沿技术,同时熟悉常用编程工具的使用。本部分我们设计了一个基础实验和对应的进阶实验。
基础实验的内容是熟悉SageMath的使用。SageMath是一个免费的、开源的数学软件系统,它整合了许多开源Python包,采用Python语言编写,但也支持其他语言,是一个十分强大的工具。基于SageMath,我们设计了2个实验,第1个实验是RSA的连分数攻击,第2个实验是使用Pohlig-Hellmen算法求解离散对数问题。这2个实验都给出了完整的代码以供学生阅读学习,主要目的是让学生熟悉SageMath中各种库的使用,同时让学生了解RSA的连分数攻击原理。
进阶实验部分我们聚焦了格密码,希望学生对格密码有一定的了解和掌握。在实验指导书中,对格的基本定义和LLL算法做了简单介绍,然后给出2个实验内容。第1个实验是基于格的对RSA体制的通用私钥攻击,第2个实验是格上背包密码体制的攻击。通过这两个实验,学生对格密码将有一个简单的认知,同时能够学习前沿技术,了解先进思想。
除了上述7个部分的设计,我们在每轮授课中还会不断补充和完善实验内容。例如,在仿射密码的实验中,为了更好地与CTF比赛接轨,加入Netcat的使用,让学生通过交互的方式破解并获取flag。在RSA编程实验中,除了基本的编程实现RSA之外,引入更多的内容,如对RSA的攻击,包括共模攻击、小私钥攻击、低指数广播攻击和dp泄露攻击,还新增了RSA-OAEP标准的实现。
3.3 实验管理
除了丰富的实验内容设计,优秀的教学条件也是教学改革的一部分。首先,CTFd作为学院自己的CTF平台,给实验课的开设带来了极大的便利。学生可以直接在CTFd上获取实验内容,也能够随时在CTFd上提交flag验证自己的结果。其次,赛博安全协会作为一个活跃的CTF交流社团,其内有许多优秀的同学,学生有疑惑时可以在协会中交流讨论,在这样的学习环境下,学生的学习效率将大大提高。
借鉴CTF 的评分机制,将时间要素纳入评价标准。每周都会公布Top10的用户排名,实时显示学生在解题过程中的完成质量。
4 改革成效
北航网络空间安全学院成立于2017年8月,目前共开设3个本科专业:信息安全专业(工科)、信息对抗技术专业和网络空间安全专业,信息安全数学基础课程是这3个专业的核心基础课,至今已经讲授5轮,实验教学改革实施了3年。学院从建成至今,不仅拥有自己搭建的CTF比赛平台,还有学生自发组织的网络安全协会——赛博安全协会。这为教学改革提供了良好的“硬件”条件和“软件”条件。学院的CTF比赛平台为CTFd,其上有Crypto、Pwn、Web、Reverse和Misc 5类题目,任何同学都可以随时登录系统进行学习。目前为止,学院在CTFd平台上举办了两场BUAACTF比赛,系统表现稳定,学生反馈良好。将ctfd作为实验课平台,为老师教学和学生学习都提供了极大的便利。
一方面,CTF竞赛形式的实验教学激发了学生对于理论课的学习热情,同时,学生的学习积极性大大提高,学习效果逐年提高。绝大多数学生可以独立完成基础实验,并能积极主动挑战进阶实验,参与度可以达到六成。从课程成绩来看,改革后各届学生的平均成绩均比改革前有所提高,改革成效明显。
另一方面,引入CTF模式的实验课还表现在对于学生能力培养的提升。CTF 模式的引入激发了更多学生对参加CTF竞赛的兴趣。创立于2020年的赛博安全协会,如今固定成员的规模已经超过了200人,其中大部分是网络空间安全学院的学生。协会创办以来,每学期都有教学活动,方向覆盖Crypto、Pwn、Web、Reverse和Misc,在假期也会组织分享会。教学分享结束之后,会组织全校规模的CTF比赛,并在赛后开展解题分享会。协会的学习氛围浓厚,成员十分活跃,并且愿意与他人分享。协会主力战队or4nge活跃在国内及国际各大赛事中,在全国工业互联网安全技能大赛、全国大学生信息安全竞赛、蓝帽杯网络安全技能大赛等重大赛事中多次斩获一等奖,多次参加各类国家级攻防演练活动并取得优异成绩,与华为、斗鱼、奇安信、深信服、天融信、青藤云、永信至诚等国内一流企业合作;协会成员就职或实习于国内各大网络安全公司,为网络安全市场持续输出人才。
5 结 语
在多年信息安全数学基础课程教学中,为了提高教学质量我们一直寻求突破点,运用多种教学手段,不断提高学生的学习兴趣。经过3年的改革与实践,引入CTF模式的实验教学改革已取得初步成果,收到了较好的教学效果。
提高学生的信息安全数学基础学习兴趣,让学生主动学习、在做中学是当下课程教学的一项重要任务。基于CTF模式的实验课设计能够将密码学的数学理论知识与CTF竞赛有机结合,使学生在寻找flag的过程中提高思考问题和解决问题的能力,从而提高学习效果。目前我们对CTF模式结合的实验课设计只进行了初步尝试,还有许多地方需要进一步完善,期待通过不断更新迭代能够推广和应用,让所有学习信息安全数学基础的学生爱上数学。
参考文献:
基金项目:教育部产学合作协同育人项目“信息安全数学基础实验”(201901051007);北航一流本科课程立项“信息安全数学基础”。
第一作者简介:高莹,女,北京航空航天大学副教授,研究方向为密码学及应用,gaoying@buaa.edu.cn。
引文格式:高 莹,张宗洋,伍前红,等. 基于CTF模式的信息安全数学基础课程实验教学改革 [J].计算机教育,2023(2):5-8.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!