以RSA体制为核心的《电子商务安全》课程案例教学设计
2016-11-14柳欣
柳欣
(1.山东青年政治学院信息工程学院,济南 250014;2.山东省高校信息安全与智能控制重点实验室(山东青年政治学院),济南 250103)
以RSA体制为核心的《电子商务安全》课程案例教学设计
柳欣1,2
(1.山东青年政治学院信息工程学院,济南250014;2.山东省高校信息安全与智能控制重点实验室(山东青年政治学院),济南250103)
《电子商务安全》是一门理论性较强的信息安全类课程。由于与《密码学》课程存在教学内容重叠的现象,使得教师往往不易把握该课程的教学内容深度。为此,提出“以RSA体制为核心,通过反复引入该体制的应用案例来帮助学生加深对《电子商务安全》课程内容的理解”的观点,并且结合RSA-OAEP方案和基于RSA-OAEP的两方密钥交换协议设计具体的教学案例。通过在教学设计中引入案例教学法,最终取得预期的效果。
电子商务安全;RSA体制;案例教学法;案例教学设计
山东省高等学校科技计划项目(No.J14LN61)、山东青年政治学院教学改革研究项目(No.201404)
0 引言
《电子商务安全》课程是一门集现代密码、网络通信和信息管理技术为一体的信息安全类学科交叉课程。该课程的理论性教强,因为其相当一部分教学内容是与《密码学》课程重叠的。我们认为,《密码学》课程本身难度较大,特别适合于信息安全专业或在计算机专业的研究生阶段开设。《电子商务安全》课程主要是介绍密码学基础以及密码技术在电子商务安全领域中的应用 (即面向电子商务安全的安全协议,如SET协议等),同时介绍一部分网络安全知识。因此,在《电子商务安全》课程的教学中,把握好密码学基础部分的讲授深度是个关键。如果太浅而基础不够,则导致学生在理解后续电子商务安全协议内容时会遇到困难。相反,则容易导致学生因课程内容难度太大而丧失学习兴趣。
我校的《电子商务安全》课程是作为本科生高年级的专业选修课或专业任选课进行开设。由于课时较为有限,教师往往难以仅通过课堂教学环节向学生介绍太多的密码学基础知识(如对称加密、公钥加密、数字签名等)。我们认为,RSA体制是现代密码学的一项核心技术。其实,学生仅需深入理解该体制以及应用就不难掌握《电子商务安全》课程的全部内容。同时,多数教材对RSA体制的介绍仅局限于经典的RSA加密和签名方案。我们认为,可以将RSA体制及其应用作为联系和贯穿该课程各章节内容的主线。每讲到一个章节,都可以向学生介绍以RSA体制为实例的具体应用或案例,从而帮助学生不断加深对该体制的理解与掌握,从而为今后学习《密码学》[1]、《安全协议》[2]等课程奠定基础。同时,为了获得理想的教学效果,最好能在教学实施过程中灵活运用案例教学法[3-5]。首先,教师根据教学内容需要和教学对象的接受能力在相关科技文献中遴选合适的案例。然后,教师需要对案例进行“简化”处理和重新设计,即略去一些应当在《密码学》、《安全协议》等课程中才要求关注的密码学细节,并设法通过对案例引入、案例展开和案例总结等环节的精心设计引导学生积极参与案例的讨论过程。
1 RSA体制在电子商务中的主要应用
RSA体制是由Ron Rivest,Adi Shamir和Leonard Adleman于1978年提出的。迄今为止,该体制始终得到广泛应用和深入研究,并成为最成功的公钥算法之一。尽管最基本应用是数据加密和数字签名,该体制事实上已经广泛应用于各类面向电子商务环境的安全协议之中,其典型应用包括:①RSA加密算法可用于实现密钥交换[6]。②通过将RSA签名变形为RSA盲签名,就能构造基于RSA的电子现金协议[7]。③在买卖双方相互并不信任的情况下,可以利用RSA方案实现双方的公平交换[8]。④目前,可信计算技术为电子商务环境下的用户隐私保护问题提供了有效的解决方案,而RSA签名的扩展形式已经在该项技术中得到应用[9]。鉴于上述应用均与《电子商务安全》课程的教学内容密切相关,因此可以考虑将它们以案例形式引入到课堂之中。
2 基于RSA体制的案例教学设计
2.1案例教学法
案例教学法是指围绕一定的训练目的将实际中真实的情景加以典型化处理,形成可供学生思考、分析和决断的案例。通过独立研究和相互讨论的方式,来提高学生分析问题和解决问题能力的一种方法[3]。通过运用该方法,可以引导学生深入思考案例中的相关问题,通过对案例的讨论加深对教材中重要概念和算法的理解,通过案例教学实现对各章节知识点的串联,进而构建完整的知识体系。
2.2案例教学法的具体实施
在本节,我们选取“密钥交换协议”为教学内容,并结合文献[6]中的基于RSA-OAEP(RSA-Optimal Asymmetric Encryption Padding)的两方密钥交换协议设计了一堂案例讨论课。该案例的引入旨在向学生补充讲授经典RSA方案的增强版本RSA-OAEP方案[1,6],并且介绍该方案在两方密钥交换中的应用[6]。
本次案例讨论课的教学目标具体体现在知识目标、技能目标和情感目标[3]三个方面。①知识目标包括了解经典RSA加密方案的安全缺陷,理解RSA-OAEP方案的消息填充方法和加密、解密过程,了解RSAOAEP方案在两方密钥交换中的应用。②技能目标包括能正确理解RSA-OAEP方案的消息填充原理图,掌握密码协议描述中常用的符号定义。③情感目标是激发学生对密码学知识的学习兴趣,为初步形成密码协议设计思维奠定基础。培养学生深入思考问题和阅读科技文献的能力。
●案例的引入
教材中介绍的RSA加密方案其实是一个“教科书式加密算法”[1],它本身容易遭受许多种类的攻击。在实际应用中,需要在加密前对消息本身进行“仔细”地填充处理。RSA-OAEP方案是一个著名的RSA加密方案改进版本(两者的加密过程如表1所示)。
表1 RSA方案与RSA-OAEP方案的加密过程对比
●案例的展开
在具体教学过程中,我们首先向学生介绍RSAOAEP方案的消息填充过程以及加密和解密过程,然后介绍该方案在两方密钥交换中的具体应用,最后通过进一步的讨论环节实现对协议的设计方法和安全性的初步理解。
(1)RSA-OAEP方案的消息填充过程。假设秘密消息m可以表示为n个比特。RSA-OAEP方案采用了如图1所示的填充方式:①选取长度为k0比特的随机数r。②填充后的消息可以表示为OAEP(m,r)=s||t,其中s=G(r)⊕(m||0k1),t=H(s)⊕r,且G:{0,1}k0→{0,1}n+k1与H:{0,1}n+k1→{0,1}k0为散列函数。
图1 RSA-OAEP方案的消息填充过程
(2)RSA-OAEP方案的加密过程。①执行上述的填充过程,得到填充结果OAEP(m,r)。②对OAEP(m,r)执行与RSA方案相同的加密函数,即计算y=(OAEP(m,r))emodn。
(3)RSA-OAEP方案的解密过程。①对密文y执行标准RSA解密过程,恢复得到s||t=ydmodn。②将s||t分开,从而得到s与t。③设法利用s与t恢复m,即根据t= H(s)⊕r,可以计算t⊕H(s),从而得到r。根据s=G(r)⊕(m||0k1),可以计算s⊕G(r),从而得到m||0k1。最后,将m||0k1中的最后k1位比特"0"去掉,即可得到秘密消息m。
(4)密钥交换协议的问题引入。假设Alice与Bob希望协商建立对称加密方案下的会话密钥K。但是,Alice与Bob并没有事先共享的主密钥,也没有可信第三方可以利用。利用前面介绍的RSA-OAEP公钥加密方案,双方可以协商建立两个会话密钥KAB,KBA。其中,KAB用于在Alice→Bob方向上进行会话加密,且KBA用于在Bob→Alice方向上进行会话加密。
(5)基于RSA-OAEP方案的密钥交换协议设计思想。在协议执行之前,Alice与Bob分别产生RSAOAEP方案密钥对(apub,aprv)和(bpub,bprv)。在协议(如图2所示)执行过程中,Alice向Bob发送密文mA= RSAbpub(OAEP(r1,r2))。显然,Bob可以通过解密mA而获得 r1与r2。同样地,Bob向 Alice发送密文 mB= RSAapub(OAEP(r3,r4)),Alice可以通过解密mB而获得r3与r4。现在,Alice与Bob均计算KAB=J(r1⊕r3)作为Alice→Bob方向上的会话密钥。同样地,Alice与Bob均计算KBA=J(r2⊕r4)作为Bob→Alice方向上的会话密钥。此处,符号J:{0,1}*→{0,1}kLen表示散列函数。
图2 基于RSA-OAEP的密钥交换协议执行过程
(6)进一步的讨论。
问题1:在上述的密钥交换过程中,Alice与Bob是如何实现相互认证的?
解释:可以r1与r2视为Alice向Bob提出的一个问题,在完成对mA的解密后,Bob向Alice返回问题答案nB=I(r1⊕r2)。在收到nB之后,Alice检查是否满足nB=I(r1⊕r2),若是,则确认对方一定是Bob。同样地,可以将r3与r4视为Bob向Alice提出的一个问题,在完成对mB的解密后,Alice向Bob返回问题答案nA=I(r3⊕r4)。在收到nA之后,Bob检查是否满足nA=I(r3⊕r4),若是,则确认对方一定是Alice。
问题2:上述协议能否抵抗已知密钥攻击?诸如攻击者设法获得了KAB会出现什么情况?攻击者设法获得了KAB与KBA会出现什么情况?
解释:KAB的作用是对Alice向Bob发送的消息进行加密,若攻击者得到KAB,它自然能解密得到这个方向上发送的秘密消息。但是,攻击者无法根据KAB得到KBA,即无法解密反方向上的消息。KAB与KBA是协议双方根据随机数产生的,在当前会话结束后,它们就会作废。因此,即使攻击者取得了KAB与KBA,也不会对协议双方今后的会话造成安全威胁。
问题3:上述协议能否抵抗窃听攻击?
解释:通过发动窃听攻击,攻击者可以截获得到mA,mB,nA,nB。由于mA,mB是RSA-OAEP方案密文,且nA,nB是散列函数值,根据RSA-OAEP方案的安全性和散列函数的单向性可知,攻击者将无法获得任何有用的信息。
●案例的总结
在本次案例讨论课中,我们通过对教学内容的逐步展开使学生最终理解了整个案例,且通过进一步的讨论环节引导他们加深了对教学内容——密钥交换协议的理解。除此之外,学生对RSA加密方案的实际应用有了更深的认识,而且进一步体会到当把公钥加密技术运用于密钥交换时,可以获得仅凭对称加密技术无法取得的效果,如不再需要协议双方事先共享主密钥、不再需要借助可信第三方,等等。
3 结语
本文研究了如何运用案例教学法将RSA体制的具体应用引入到《电子商务安全》课程的教学之中,并且提供了具体的案例设计过程。事实上,这样的案例还有许多,而且很容易与该课程的各个教学章节相结合。诸如,在电子支付技术部分,可以向学生介绍基于RSA的电子现金方案。在安全电子商务协议部分,可以向学生介绍满足交易双方公平性的基于RSA的认证电子邮件协议,等等。今后的努力方向包括进一步优化现有的教学案例,探索将情景教学与案例教学相结合的方法,开发针对典型案例的课程实验等。
[1]Mao Wenbo著.现代密码学理论与实践[M].王继林,伍前红等(译).北京:电子工业出版社,2004.
[2]邱卫东,黄征,李详学,郭捷.密码协议基础[M].北京:高等教育出版社,2009.
[3]杨阳.基于案例教学法的C语言教学设计[J].计算机时代,2016(06):104-106.
[4]杨建强,姜洪溪,赵永标.案例驱动的大学生信息安全教育教学实践[J].计算机教育,2015(14):93-97.
[5]Hu Xueli,Wu Hao.Situational Case Teaching Apply in the“Information Security”Course[J].Advances in Education,2015(05):1-5.
[6]Liu Jie,Li Jianhua.A Novel Key Exchange Protocol Based on RSA-OAEP[C].In:Proceedings of ICACT 2008,IEEE Press,2008,3:1641-1643.
[7]Canard S,Delerablée C,Gouget A,et al.Fair E-cash:Be Compact,Spend Faster[C].In:Proceedings of ISC 2009,LNCS 5735,Berlin:Springer-Verlag,2009:294-309.
[8]Ateniese G.Verifiable Encryption of Digital Signatures and Applications[J].ACM Transactions on Information and System Security,2004,7(1):1-20.
[9]Ge H,Tate S R.A Direct Anonymous Attestation Scheme for Embedded Devices[C].In:Proceedings of PKC 2007,LNCS 4450,Springer Berlin Heidelberg,2007:16-30.
Electronic Commerce Security;RSA Cryptosystem;Case Teaching Method;Case Teaching Design
Case Teaching Design of Electronic Commerce Security Course with the RSA Cryptosystem as the Core Content
LIU Xin1,2
(1.School of Information Engineering,Shandong Youth University of Political Science,Jinan 250014;(2.Key Laboratory of Information Security and Intelligent Control in Universities of Shandong(Shandong Youth University of Political Science),Jinan 250103)
Electronic Commerce Security is a highly theoretical course of information security.Because of its overlapping with the course of“Cryptography”in teaching content,teachers are not easy to grasp the teaching depth in classes of Electronic Commerce Security.Puts forward that the RSA cryptosystem should be taken as the core content,and through repeated explanations and applications of this system,students are promoted to deepen their understanding of the whole content of e-commerce security.At the same time,proposes a specific teaching case,which is based on the RSA-OAEP encryption scheme and a two party key exchange protocol based on RSA-OAEP.It should be mentioned that the teaching design has achieved good effects by introducing the case teaching method.
1007-1423(2016)28-0007-04
10.3969/j.issn.1007-1423.2016.28.002
柳欣(1978-),男,山东济南人,副教授,工学博士,研究方向为密码协议分析与设计、电子商务安全
2016-08-11
2016-10-18