欢迎来到专业的新思文库网平台! 工作计划 工作总结 心得体会 事迹材料 述职报告 疫情防控 思想汇报 党课下载
当前位置:首页 > 范文大全 > 公文范文 > 正文

信息技术学科密码学教学思路探讨

时间:2022-10-21 16:30:19 来源:网友投稿

体会,与同行探讨。

1信息技术学科密码学的教学特点

一般而言,面向信息技术学科各专业的密码学课程具有以下特点:

1) 面向应用。计算机科学与技术、通信、电子工程和软件工程等专业的毕业生只有少数会致力于密码的设计和分析,大部分学生也只是从事基于密码的一些开发和应用,因而让学生掌握如何基于已有强大密码算法进行安全设计更为重要和实际,学生普遍也对密码的应用更感兴趣。

2) 涉及的数学知识多。现代密码学内容和分支较多,涉及抽象代数、数论、椭圆曲线理论、计算复杂度等数学知识,而这些知识在高等院校工科数学中大部分是没有介绍的。

3) 与其他课程关系密切。比如数据库、操作系统、计算机网络的安全都涉及密码学的相关知识。

4) 选修密码学课程的本科生普遍有继续读研、出国深造的想法,或者本身就是研究生。

2教学思路与体会

针对以上特点,作者在教学中采用了以下策略和思路。

2.1以古典密码为背景解释密码学基本概念

密码是一项有着久远历史的技术,自从人类文化诞生以来,就产生了保护敏感信息的愿望。古典密码是密码学的渊源,这些密码大都比较简单,易于理解,我们可以以此为例解释密码学的一些基本概念。如“密钥”的概念,加密和解密的操作通常都是在一组密钥的控制下进行的,分别称为加密密钥和解密密钥,学生对此定义感到难以理解。“凯撒密表”一个著名古典密码,它把明文中的每一个字母用它在字母表中位置后面的第三个字母代替,它是一种密钥为3的移位密码。以此为例,学生就对密钥这一术语有了感性认识。再如,密码分析的两个基本方法是强力攻击与统计分析,以任意单表代替密码算法为例就很好解释,任意单表代替密码的密钥空间很大,为26!≈4×1026,破译者进行穷举分析是非常困难的,但使用基于语言特征的统计分析就可以破译它。用简单易懂的例子,也可以激发大家的学习兴趣。

2.2密码编码与密码分析相结合

密码学由密码编码与密码分析两个分支组成,两者既相互对立,又相互促进,为了让同学们更好地理解密码编码的发展变化,可以安排这两条线索,并以密码编码为主线,见表1。

2.3数学基础与密码算法相互同步

数学基础对密码编码和密码分析是至关重要的,也是理解算法的关键。大多数教材和课程安排单独的章节对数学知识进行介绍,而本课程只在讲解到的密码算法需要相关的数学基础时再进行介绍,讲解深度也只是帮助同学理解密码算法,不进行全面和深层次的讨论,这样既使同学们不感到枯燥,也可以加深大家对密码算法与相关数学知识相互关系的印象,有助于更好地理解密码算法。如在讲解古典密码前,介绍一些初等数论的知识:同余、模运算和逆元等;在讲解高级数据加密标准AES前,介绍一些抽象代数的知识:群、环、有限域GF(p)和GF(2n)等;在讲解公钥密码体制前,介绍一些相关数学知识:算术基本定理、中国剩余定理、Fermat定理、Euler定理、有限循环群上的离散对数和有限域GF(p)上的离散对数等。

2.4重视密码算法的应用

密码算法介绍的深度则以学生能够使用为宜,对于有兴趣做进一步深入分析和研究的同学,则介绍一些前沿研究方向和相关论文供其阅读。有效的安全性不仅取决于强大的算法,还要求保障密码使用环节上的安全。教师在介绍完密码算法之后,安排专门的课时讨论密码的实际应用问题,这涉及密码的操作模式、不是对称密码分组长度整数倍的明文的填充处理、密码功能逻辑位置的选择、密钥长度的选择、硬件加密与软件加密的选择、密钥管理等问题。如果密钥管理有薄弱环节,密码算法的强壮性就会减为零。所有的密码技术都依赖于密钥管理,密码系统的设计者必须回答下列问题:系统中哪些节点要求密钥,如何将密钥装配到节点中,密钥的更换按照什么频率,系统在何处产生密钥,如何保护数据和密钥,这就是密钥管理的相关问题。在这一部分,还可以通过一些密码实际使用过程中的教训来进一步向同学们阐明密码的安全使用[2]114-130。最后,再安排一些典型的实例来解释密码算法的综合应用,如安全电子邮件PGP、Windows操作系统的加密文件系统(EFS)、网络安全协议(IPsec和SSL)、无线加密协议(WEP和WPA)、双因素动态口令卡、Unix系统口令机制和安全数据库系统等。这些例子可以使同学们对所讲的密码算法和原理有感性的认识。

2.5重视对密码算法基本思想的理解

回顾密码学的发展历史,可以看到一条清晰的研究思路:

1) 在任意单表代替密码可以被基于语言统计特性的分析方法破译之后,出现了多表代替密码,就是为了对抗统计分析,想使明文的统计特性消失在密文的统计特性中。

2) 多表代替密码的典型例子是维吉尼亚密码,在重码分析法和重合指数法发明之前,维吉尼亚密码被安全地使用了200多年。

3) 在对称密码算法发展了数千年,其密钥的秘密传送成为保密系统的巨大困难时,1976年,Diffie和Hellman在其《密码学新方向》一文中提出了不对称密码的思想,首次证明发送端和接收端无密钥传输的保密通信是可能的,但是他们并没有在文中提出一种实际可用的算法,直到1977年,Ron Rivest, Adi Shamir和Len Adleman提出了RSA算法。

4) 非对称密码算法的出现,又提出了公钥管理的问题,这就引发了数字证书和公钥基础设施(PKI)解决方案的出现。

5) 为了避免PKI带来的证书管理、存储和计算的代价以及撤销的困难,Shamir在1984年的美洲密码年会上提出了基于身份的密码学(IBC),在IBC中,公钥不再是无意义的二进制数据或大整数,而可以是任意有含义的字符串,用户自己的姓名、邮件地址、电话和身份证号码都可以直接作为公钥。

6) 为了解决大规模密钥存储的问题,2003年,我国著名密码专家南相浩教授发明了组合公钥(CPK)算法,算法的思想很简单也很巧妙,由较小的因子矩阵生成大量的密钥。

密码学领域的每一次新发明或新进展,无不体现了创新的思想,引导学生对密码学的发展历史进行回顾,让学生从中体会如何在研究中去发现问题,用创新的思想去解决问题。

2.6重视相应的实践环节

密码学是一门理论与实践相结合的学科,有许多广泛的应用,在理论教学的同时,通过设置合适的实验,可以帮助同学们更好地理解密码学的原理、思想和算法。例如,加、解密算法的实现,Windows操作系统加密文件系统(EFS)的配置和使用,PGP软件的使用,IPsec的配置,在IIS中实现SSL/TLS和加密数据库模型设计等。

2.6.1加、解密算法的实现

通过一些密码算法实验可以让学生对密码算法有更深刻的理解和认识。如编程实现古典密码中的若干代替密码和置换密码,可以帮助大家理解构成古典密码的两个基本运算代替和置换;使用穷尽密钥搜索法,破译用移位密码、仿射密码加密的密文,可以帮助大家理解强力攻击的概念;使用重合指数和重码分析法破译用Wigenere密码加密的密文,可以帮助大家理解密码破译的统计分析法,对称密码的设计思想就是让明文的统计特性消失在密文的统计特性中;对称分组密码DES或AES五种操作模式(ECB、CBC、CFB、OFB和CTR)的加、解密实现,可以帮助大家理解对称分组密码的五种操作模式,以及实现中的一些实际问题;素数生成实验可以帮助大家掌握Miller-Rabin素性检验的原理和计算模幂的“平方乘”算法;RSA算法实验可以帮助大家理解RSA算法的基本原理,掌握RSA算法的实现方法,了解在不同参数情况下RSA系统的性能变化;DSA数字签名实验,可以帮助大家了解数字签名的基本原理,掌握数字签名算法的实现。

2.6.2PGP软件的使用

学生下载PGP的一个版本,熟悉其使用后,生成密钥对,完成公私钥导出,并保管好,然后完成加密文件,发送签名和加密邮件,互相传递公钥,建立各自的PGP公钥环等实验内容,可以帮助大家了解PGP加、解密和签名的原理,对密码算法的综合应用有感性的认识和了解,理解公钥、私钥和证书等概念,掌握如何对邮件传输进行保护、如何对私钥进行保护。

2.6.3加密文件系统的配置和使用

Windows操作系统加密文件系统的配置和使用也是学习和掌握密码算法综合应用的一个好的实例,让学生了解其原理后,完成不同用户访问EFS加密文件、备份加密证书和私钥、安装证书、授权其他用户共享加密文件、配置数据恢复代理等实验。并让大家思考下列问题:为什么打开加密过的文件时没有需要输入密码?加密文件已经打不开了,能够通过把NTFS分区转换成FAT32分区来挽救文件吗?加密数据后,重装了操作系统,加密数据不能打开了,通过设置和以前一样的用户名就能打开吗?可以使大家更深刻地理解EFS加密和操作系统的紧密结合,公钥、私钥和证书等概念,如何对文件进行保护、如何对私钥进行保护。

2.6.4IPsec的配置

此部分可以设置如下实验:配置Windows内置的IPsec安全策略,完成基于IKE的不同认证方式的配置,在预共享密钥的策略下,比较采用IPsec和不采用IPsec网络传输安全性的异同,IPsec不同模式(AH传输模式、AH隧道模式、ESP传输模式和ESP隧道模式)的配置比较等实验。通过实验,可以帮助大家理解并掌握在Windows操作系统中利用IPsec配置VPN的方法,在不同模式下,IPsec对数据包的处理区别。

2.6.5在IIS中实现SSL/TLS

此部分可以设置如下实验:在Windows操作系统环境下安装和建立独立根CA,生成CA证书,建立基于SSL/TLS与Web站点进行安全通信的安全连接。通过该实验,可以帮助大家理解HTTP协议与PKI的关系,SSL/TLS握手协议的具体步骤,SSL/TLS握手协议中单向鉴别与双向鉴别的区别。

2.6.6加密数据库模型设计[2]306-310

结合数据库的安全,引导学生对以下问题进行思考并提出设计模型和思路,可以使同学们在密码学的设计和应用方面得到提高。

访问控制基于引用监督策略和访问控制矩阵,在分布式网络数据库系统中,来自于网络的攻击者可能采用绕过访问控制环节,故意提升用户等级或者修改相关系统文件等方式进行攻击。我们采用密码学技术设计基于密码学的安全访问控制算法来克服这一安全漏洞。

不同的环境和应用可以采取不同的数据库加密方式,如以文件、记录、字段作为加密基本单位进行加密。但它们存在一个共同的问题:对于密文数据库,对某些字段进行统计、平均、求和等数学运算时,必须先对这些字段进行解密运算,然后对明文进行数学运算,之后再加密,这样增大了时空开销。在实际应用中,对于某些重要或敏感数据,需要满足用户可以对其进行操作但又不让用户了解其中信息的需要(例如,在每个雇员的薪水信息保密的情况下给雇员的年薪增加15%)。如何解决上述问题,削减加、解密所需要的时空开销,提高数据库的运行效率,秘密同态技术是一个有效方法。

一般来说,加密的数据库在执行查询操作时,索引文件是无法支持的,由于索引文件的失效,还会带来其他一些不利因素,即数据库在非加密时的具有的查询便利特性,在加密数据库中就很难支持了。为了解决这一问题,一种次序保留的加密数据库技术被提出了。

3结语

计算机科学与技术、通信、电子工程和软件工程等信息技术类专业的密码学教学不同于数学专业的密码学教学,具有面向应用等特点,笔者总结多年教学实践,阐述了信息技术学科密码学课程的一些教学思路,抛砖引玉,期望与同行相互探讨。

参考文献:

[1] 张兴兰. 信息安全专业的密码学教学[J]. 计算机教育,2008(8):85-86.

[2] 王昭,袁春. 信息安全原理与应用[M]. 北京:电子工业出版社,2010.

Cryptography Teaching Ideas in Information Technology Disciplines

WANG Zhao1,2

(1.Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;

2.Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing 100871, China)

Abstract: For the actual situation of cryptography teaching in the majors of computer science and technology, communications, electronic engineering, software engineering and etc., the teaching characteristics of cryptography teaching in information technology disciplines are analyzed and summarized. And at the basis of the analysis and summary of many years teaching experience in the courses of information security and cryptography, some of cryptography courses teaching ideas are given.

Key words: teaching ideas; cryptography; teaching characteristics

(编辑:彭远红)

推荐访问:密码学 信息技术 学科 思路 探讨