密码学教学案例设计

(整期优先)网络出版时间:2023-04-20
/ 2

密码学教学案例设计

施利萍

(武警警官学院信息通信系,四川 成都 621000)

[内容摘要] 为培养学生的密码学实践应用能力,本文设计了一个密码学课程综合项目,即基于混合加密和数字签名的文件流转系统作为教学案例,该系统实现保密通信系统的四个基本要求,覆盖密码学知识体系。该系统可作为理论和实践教学的教学案例。

[关键词]密码学 教学案例 混合加密 数字签名 PKI

密码学作为网络信息安全的关键基础技术,是网络安全的基石。实现我国网络安全和网络强国的战略目标,密码人才培养是必备基础和先决条件[1]。密码学是一门理论性和实践性都很强的课程,要想把密码学的知识应用到实际中,期望学生能够熟练应用密码算法,能够综合运用所学知识设计实用的密码方案和应用,必须着重培养学生的密码学实践应用能力。

1.研究背景

通过文献分析,发现目前的密码学教学存在以下问题:(1)教学方式联系不紧密。大部分院校通过开设实践实验课时或单独开设实验课程的方式培养学生的实践能力,理论课程与实践课程相互分割,造成教师在理论与实践课时分配中纠结,试图不断增加实践课时量,然而却未达到提高学生实践能力的预期效果。(2)应用能力培养重视不够。理论课程中主要讲授算法原理,而实践课程又侧重于密码算法的细节实现,对于密码算法的实际应用关注不多。学完密码学课程后,学生仍不知道如何安全地使用密码算法[2]。(3)缺乏整体设计。一般密码学课程缺乏对密码学应用能力的整体思考和设计,实践实验各模块相互独立,往往一次实践实验只涉及某一种密码技术,这样不利于学生形成完整的密码学知识体系,自然也无法区分不同密码技术的应用场景。

针对以上问题,本文设计一个密码学课程综合项目作为教学案例,该综合项目是密码学的实际应用项目,覆盖密码学知识体系。课程综合项目为基于混合加密和数字签名的文件流转系统。该系统需实现保密通信系统的四个基本要求,即保密性、完整性、真实性以及不可否认性。为实现消息的保密性,充分利用对称加密体制和非对称加密体制的优缺点,设计加密速度快且安全性高的混合加密方式,即利用分组密码算法和公钥加密算法进行混合加密。为实现消息的完整性,利用散列函数实现消息认证。为实现消息的真实性,综合应用公钥密码算法和散列函数实现数字签名和验证签名。为实现不可否认性,构建基于PKI的身份认证系统,即数字证书的管理。通过四个基本要求的实现,学生能够形成完整的密码学知识体系,从而具备综合运用各种算法分析和解决实际信息安全问题。综合项目系统从功能上划分,主要分为两大功能:一是混合加密与数字签名;二是基于PKI的身份认证。

2.混合加密与数字签名

混合加密是对称加密和非对称加密的组合算法。它将两种算法的优势互补,不仅克服了对称加密安全性较弱和密钥共享的问题,还避免了非对称加密中加密的速度慢和消息长度受限的问题。同时在加密的同时实现数字签名,解密的同时对签名进行验证。本文件流转系统采用非对称加密RSA算法和对称加密AES算法,数字签名使用MD5散列函数结合RSA签名算法。假设文件流转的主体为发送方A和接收方B,发送方A将文件进行加密后将密文存储在服务器,计算文件的哈希值并签名,流转文件的相关信息、发送方计算的摘要以及签名信息保存于服务器的数据库中,主要设计如下:(1)发送方A使用MD5散列函数计算文件的哈希值H1,使用自己的私钥利用RSA算法加密H1得到签名S。(2)发送方A使用AES算法和随机生成的AES会话密钥KA对文件进行加密形成密文C,使用接收方B的公钥对KA进行加密形成密钥KA的密文EKA。(3)接收方B利用A的公钥解密签名S得到文件的哈希值H2。(4)接收方B利用自己的私钥解密EKA得到对称密钥KA,利用KA对密文进行解密得到密文CB,计算CB的MD5值得到哈希值H3,若H2与H3相等,则文件未被篡改且确实是由发送方A签名发送,否则签名不成立,文件判定为无效,系统删除相应的数据库记录和文件。

3.基于PKI的身份认证

系统用户必须通过PKI体系的身份认证,才能正常使用该系统。主要流程如下:(1)用户通过URL访问注册中心RA模块,填写注册信息,用户名和口令的MD5值存入数据库,注册信息提交服务器端的RA模块进行信息登记和审核,审核通过后将信息发送给CA认证模块。(2)CA模块根据用户注册信息,自动生成公/私密钥对,根据证书操作管理规范定义的规则生成X.509数字证书,保存到证书库中。为减轻客户端密钥管理的负担,系统使用用户的口令作为密钥对私钥进行AES加密形成私钥密文保存在证书服务器,删除私钥原文,并记录在数据库中。(3)用户登录时,身份认证模块核对用户名和口令,只有用户名和口令通过,系统才解密出用户的私钥,同时在证书库中查询用户的数字证书,如证书库中没有该用户的数字证书,则系统自动跳转到证书申请页面,要求用户申请数字证书。(4)用户需使用他人的公钥时,在数字证书库中根据用户名找到其数字证书,通过CA中心的公钥验证数字证书的真伪,如果为真,则读取其数字证书的公钥,如果为假,则判断用户无效或文件无效。

4结束语

该综合项目案例适用于密码学的理论和实践课程教学。在理论教学中,学生在学习算法相关原理后,通过观摩项目的演示,对密码学实际应用具有直观的理解,从而提高其知识的应用迁移能力;在实践教学中,学生通过模仿项目,能较快将算法应用到其他实际场景中,从而培养学生的工程认知、工程设计和工程实践能力。

参考文献

[1] 苏婷,蒋琳,房敏,汪花梅,魏宇虹.基于攻防结合和热点应用的密码学课程设计[J].计算机教育,2022(3):53-56.

[2]吴旭光,韩益亮,朱率率.密码应用与实践课程建设探讨[J].计算机教育,2020(3): 8-11.