1. 引言
当前社会信息化不断深入,信息及数据安全问题越发显现 [1] 。各类业务系统(尤其是关乎国计民生的关键业务系统)上所承载的重要敏感数据面临安全风险。在处于“百年未有之大变局”的今天 [2] ,重要数据的泄漏很可能对国家安全造成严重的威胁。然而,当前系统上使用的数据安全体系(特别是密码算法)仍以美国主导研发的国际数据安全机制为主,使用这些不具备自主可控能力的数据安全机制具有巨大国家安全隐患。因此,采用国产自主可控的数据安全技术,来保障系统及数据安全已成为必然的选择。我国也于2020年正式实施了《中华人民共和国密码法》,从国家法律层面对关键业务系统使用国产商用密码对数据安全进行防护,并对商用密码的使用通过商用密码应用的安全性评估(密评)提出了强制性要求 [3] 。
这种变化对高校密码应用人才的培养内容及模式带了新的变化。但高校当下的数据安全人才培养内容及模式不能满足这些变化的要求,具体体现在如下方面:1) 现行密码教学理论内容的讲述以知识点为主,碎片化严重,且知识点与现有实际应用有较大差距。以《现代密码学》课程 [4] 为例,在对称算法、非对称算法、哈希算法的课程内容讲授上,仍仅介绍DES、AES、RSA、SHA1等国际算法的技术原理,这些算法具体在何时、何处使用并未着重强调,且与之对应的国产商用密码算法并未提及。而缺少了应用场景,学生无法真正在实践中对相应算法进行应用。同时,国产密码算法的原理以及实际使用方式与国际算法是不同的,这就会造成学生在后续密码应用过程中无法体会到“学以致用”的道理,使学生丧失学习动力。2) 缺少面向实际业务系统的教学模式。现行的培养方式以理论讲授为主,缺少面向具体场景的密码应用的培训 [5] 。特别是申请人在研究生培养过程中发现,学生虽有过数据安全类课程的学习经历,但在参与的实际科研项目需要使用数据安全技术时,普遍存在“不会用”和“用不对”的问题,表明学生学到的理论知识与实际使用仍有较大差距。3) 难以检验学习效果。数据是否被安全防护是检验数据安全机制的标准 [6] ,同时也适用于检验学生对数据安全类技术的掌握上。即,对于密码技术的使用能否对数据起到应有的防护作用。然而,当前对学生学习成果的检验,仅停留在期末考试试卷的理论内容层面,无法反映学生是否真正掌握了相关内容。此外,密评已成为国家法律要求的一项强制性的测评,国家对于密评人才的需求也在近年“爆发” [7] 。然而,现有的课程体系既未增加密评相关内容,又无基于真实业务系统允许学生对商用密码的应用进行实施。导致学生即使通过自学的方式了解到了密评的相关内容及要求也无法真正针对系统进行应用,理论无法结合实际。特别是在工程认证的大背景下,强调过程教育以及培养学生解决复杂工程问题能力的大环境下,这些需求变得更加迫切 [8] 。
因此本文提出一种基于实训平台及面向实践(Practical Platform-based Teaching, PPT)的数据安全教学模式,以应对上述数据安全人才培养过程中出现的理论脱离实际、知识教学体系碎片化、缺少面向实践的教学平台的问题。助力社会网络空间安全的人才培养、“信息+”的专业建设以及深度融合信息技术的教学模式。PPT教学模式除了服务包括《现代密码学》、《信息安全》、《网络安全》、《云计算安全》等众多数据安全及网络安全课程之外,也适用其他面向应用的计算机类专业课程的教学。
2. 传统数据安全课程存在的问题
本节通过对传统《现代密码学》课程的教学大纲设计、授课内容、授课方式以及实验的设置等环节进行分析,分别阐述了传统数据安全课程教学模式在应对面向以密码应用为主的人才需求以及以解决实际问题为导向的知识运用需求上的不足。
2.1. 理论与应用之间存在鸿沟
在传统数据安全课程建设中,课程安排以理论授课为主。以一门2学分32课时的《现代密码学》课程为例,理论学时通常为24学时,实践学时8学时,分为4次分散进行。理论课程内容主要包括:密码学的历史发展演进、支撑现代密码学的抽象代数系统、常用的现代密码算法以及公钥密码(Public Key Infrastructure, PKI)体系概念以及用法。其中密码学的历史演进以及支撑现代密码学的数学理论基础一般安排至少4个学时讲授。这些内容可帮助面向学术研究型人才,筑牢密码原理以及相关技术算法产生的背景知识,然而对面向实践应用型密码人才的培养,这些内容的讲授与最终在日后密码的应用过程中很难发挥作用。且在课程最初阶学生尚未对密码技术(包括密码算法、密码协议)产生具象概念,导致其难以理解其演进规律和意义。此外,后续对常用密码算法的讲解也仅停留在对特定密码算法工作的原理(如对数据的多轮次迭代)的描述,仅以结论的形式向学生“灌输”相关密码算法或密码协议的使用方法。使得学生很难真正理解,在某种特定的应用场景下,是否需要使用密码技术;在何种场景下需要使用何种类型的密码算法及密码协议。导致知识的讲解与实践的需求的脱节,降低了学生对课程学习的兴趣。
2.2. 课程的实践环节应用场景缺失
传统以《现代密码学》为例的数据安全课程,虽然配备了一定学时的实践课程,但实践内容多为对理论内容的验证。且因理论内容设置不够合理,缺少面向真实案例的场景,导致学生对相关知识的理解仍然仅停留在概念层面。例如,对于高级加密标准(Advanced Encryption Standard, AES)算法的学习,理论内容讲述了AES算法的S-Box结构、迭代轮次以及几种加密模式。相应地,AES算法的实验重点在于验证相关结构、迭代以及加密模式的工作过程。而忽略了AES算法的使用场景、使用方法、性能上的优势以及如何利用现代处理器对AES算法硬件级的支持,对数据加解密。在对研究生的培养过程中,笔者也发现虽然学生在本科阶段学习了数据安全类课程,但在实际的项目场景中,学生仍无法正确使用密码技术。
2.3. 解决复杂工程问题的能力无法培养
解决复杂工程问题是“工程教育认证”对人才培养的一个核心要求。专业的“工程教育认证”是当前各高校工程类专业逐步推进实施的一项大“工程”。这其中的重点,就是积极推进专业课程的改革,使其能够培养学生解决复杂工程问题的能力。通过对前述问题的分析,传统的数据安全类课程在讲授过程中,缺少对复杂工程问题的场景描述及定义,无法使知识在实际的问题和场景中得到应用,无法锻炼学生解决复杂工程问题的能力。例如,在《现代密码学》课程中,虽然在对相关密码算法讲解过程中有问题场景的描述,但这种场景仅仅是以学术的思维方法所抽象创造出的“攻击模型”,此模型忽略了实际系统中的若干细节,离真实系统仍有差距。学生在接触到真实系统后,面对丰富的细节仍然无所适从。
2.4. 课程学习效果难以检验
数据安全类课程的目标达成的核心,在于考察学生是否能够真正熟练运用相应安全知识,对信息系统中的数据进行防护。然而,在传统数据安全类课程体系结构中,通常采用笔试题目的形式,对学生相关知识的掌握情况进行评估,但这些评估仅停留在知识概念以及理论层面,不能真正检验学生对相关知识的实际应用效果。例如,学生能否在业务系统适当的位置正确地使用密码算法或密码协议完成对数据安全的防护。在对研究生的培养过程中发现,虽然学生本科阶段相关课程的笔试成绩处于“优/良”档次,但其对密码的应用仍不得要领。然而检验学生能否正确使用密码绝非易事,即使在学术界,论述一个系统的安全性尚存在挑战 [6] 。本文将在第3.4节介绍基于实训平台的数据安全靶场系统,解决此问题。
3. 面向实战的教学模式探索
本节介绍一种面向实际业务场景,基于实训平台的应用类课程教学模式(Practical Platform-based Teaching, PPT)。PPT模式重点解决了前述传统的数据安全课程中存在的问题。
3.1. 面向实战的课程大纲设计
面向实战的课程大纲将采用从实践到理论的方式进行。不同于传统大纲以理论教学为主,面向实战的数据安全课程大纲将实践环节安排在理论内容之前。实践环节会将相应的概念以更形象的方式呈现给学生,便于学生对相关概念的理解。例如,在《现代密码学》课程中需要讲授AES加密算法。此部分内容首先会借助相应软件平台(即第3.3节介绍的实训平台),在整个系统层面展示该算法的使用位置,给学生一个AES算法使用的全局场景观。然后,学生可以进入具体的AES使用位置,展示AES算法的功能(例如,输入,输出)。接着,学生可以进一步进入AES算法的内部,探究诸如初始向量(Initial Vector)、S-box、数据迭代以及不同加密模式(如ECB、CBC)等概念的核心思想。经过此轮实践的训练,学生不仅能够清楚了解AES算法应该在何处使用、还能够由浅入深,逐步探究算法如何用以及背后的原理。经过此过程,学生对AES算法就有了具象的概念。
另外,课程还将扩充对于国产密码算法的相关内容。国产密码算法本身在运算流程上与国际算法差异不大,但由于业界国产密码使用过程中,要求密码运算资源由硬件设备提供,因此在实际系统中,使用国产密码算法将不仅仅是算法的替换,还涉及系统架构的调整。因此课程内容应引导学生以系统的视角分析并学习,采用国产密码算法后面临的新的系统性能以及安全问题。
3.2. 面向实战的理论内容设置
面向实战的理论内容安排,采用应用的视角,自顶向下逐步解析,改变了传统“打基础”式的内容设置方式。面向实战的课程设计首先以典型计算机信息系统实例为研究对象,从PKI数据安全体系的顶层设计出发,先介绍数据安全防护的几大部分以及类型,然后不断向用法及原理深入。以《现代密码学》课程为例,课程内容借助办公自动化(Office Automation, OA)系统作为真实应用场景。首先展现OA系统的业务特点、所管理的重要数据、网络通信模式。分析上述各个层面所存在的安全威胁,并由威胁引出数据安全防护的需求。这些需求可借助第3.3节所介绍的实训平台具体具象化展现。同时,此过程也帮助学生了解攻击者常见的攻击手段。接着,理论内容将更进一步针对各层面存在的安全风险,安排密码技术(即解决相应安全风险,达到安全防护目的需求的解决方案)的学习。理论课程内容将采用启发式的教学方式,引导学生主动思考,提出自己的解决方案,并在后续通过对理论内容的讲解,与学生所提出的方案进行对照,分析逻辑差距。然后,可更进一层引导学生探索要实现相应密码技术,所使用的密码算法应该具备何种功能。接着,讲述各个密码算法的核心原理以及背后的实现方法,最后讲解实现各算法所需要的数学理论,以及相应数学理论如何支撑算法的实现。
3.3. 面向实际场景的复杂工程问题培训
PPT教学模式的核心是基于实训平台的实验。本小节首先介绍实训平台的设计目标,然后介绍基于这一自顶向下结构的实训平台的实现设置。
3.3.1. 实训平台的设计
结合前述分析,实训平台的设计有几点目标:仿真化、具象化、层次化。首先,实训平台以思科PacketTracer模拟器 [9] 作为设计基础,提供丰富的设备仿真能力。同时,实训平台还包括了丰富的实际开源系统的案例,能够构建数据安全学习的仿真靶场。例如,实训平台内置了开源OA系统Feng Office [10] 的模版,系统可基于此模版生成内容管理类信息系统的靶场。基于此靶场,系统可通过探测自动化显示系统存在的安全风险以及这些安全风险所在的位置。实训平台的另一个设计目标是具象化,即在通过模版构建信息系统后,实训平台利用内建的模拟设备(包括通用服务器设备、数据库服务器设备,不同类型的用户终端设备,以及密码设备等)展示该信息系统的部署结构。这些模拟设备在界面拓扑图界面上以逻辑图标形式展现,通过点击可进入该设备的详情页面,可查看其物理外观以及接口连线情况。此外,还可以进入设备的操作系统,手动修改相应信息系统的部署。最后,实训平台是有层次的展现的。从系统的逻辑拓扑结构视图、到系统的物理机架试图、从系统的物理机架试图到数据安全风险代码视图。通过这些视图的设置,学生可以方便地构建由整体到局部的视角,探索一个真实业务系统存在的数据安全风险。并能够允许学生自顶向下,一步步将安全风险击破。
3.3.2. 基于实训平台实验的设计
实训平台的设计是为辅助新型自顶向下结构的数据安全课程内容的。不同与传统数据安全课程以知识点验证为核心的碎片化的实验设置,PPT模式下的实验的设置以信息系统为中心。实验设置的目标不再仅局限在知识点上,而是在构建完整的信息系统数据安全防护体系上。以《现代密码学》课程为例,实验以OA系统为应用场景,首先带领学生分析作为数据安全实践靶场的原始OA系统存在何种安全风险,从网络通信到设备以及到业务软件系统本身,都是分析的范围。在此过程中,学生在了解OA系统存在的安全风险的同时,也学习到了常见的恶意攻击手段,同时他们也可以作为“黑客”对系统“打靶”,此时实训评他即可以OA系统作为模版,构建数据安全的靶场,学生可在此靶场系统实施攻击,极大满足了学生的好奇心,提升了学生的学习兴趣。然后针对每个风险点,允许学生设计自己的防护方案。在此阶段底层密码算法以不透明的黑盒的方式展现,学生可在使用黑盒的过程中,积累不同黑盒的作用以及使用方法的经验。接着进一步深入,设置通过模块组合的方式构建密码算法的实验模式,帮助学生理解密码算法设计的顶层思想。最后进一步深入细化,完成对于相关密码算法的实现。
3.4. 基于密码靶场的学习成果检验
检验数据安全知识学习程度是一大难点。不同于对传统知识掌握水平的检验,检验数据安全知识的一个重点就是学生是否能够在正确的位置应用正确的密码技术(如,密码算法和密码协议)。因此,需要在具体的信息系统中检验,密码技术能否在此系统中进行正确地应用。为此,实训平台提供了应用模版,允许用户以此作为安全防护的对象以及安全攻击的靶场,以此检验学生所使用的密码技术是否能够真正对业务系统的安全风险进行必要的防护。实训平台的密码靶场功能采用程序验证(Verification)的方法实现对学生为系统的安全防护进行安全性的自动验证。
4. 结束语
本文以《现代密码学》课程为例,阐述了一种面向平台实践的数据安全类课程的教学模式——PPT。该模式以实训平台为基础、以实际业务场景自顶向下课程大纲为核心解决了传统数据安全类课程教学过程中存在的理论教学与实际应用之间的鸿沟、实践环节仅验证知识点缺少在真实场景下的应用、解决复杂工程问题的能力难以培养以及学生学习效果难以检验的问题。PPT教学模式在实际教学环节中取得了较为突出的正向效果。除数据安全类课程外,PPT教学模式也适合面向应用的其他计算机类专业课程。
致谢
本文由北京信息科技大学校级教学改革一般项目(项目编号:2023JGYB21)及北京市教育委员会科学研究计划项目(KM202311232005)资助。