柳欣
(1.山東青年政治學(xué)院信息工程學(xué)院,濟南 250014;2.山東省高校信息安全與智能控制重點實驗室(山東青年政治學(xué)院),濟南 250103)
以RSA體制為核心的《電子商務(wù)安全》課程案例教學(xué)設(shè)計
柳欣1,2
(1.山東青年政治學(xué)院信息工程學(xué)院,濟南250014;2.山東省高校信息安全與智能控制重點實驗室(山東青年政治學(xué)院),濟南250103)
《電子商務(wù)安全》是一門理論性較強的信息安全類課程。由于與《密碼學(xué)》課程存在教學(xué)內(nèi)容重疊的現(xiàn)象,使得教師往往不易把握該課程的教學(xué)內(nèi)容深度。為此,提出“以RSA體制為核心,通過反復(fù)引入該體制的應(yīng)用案例來幫助學(xué)生加深對《電子商務(wù)安全》課程內(nèi)容的理解”的觀點,并且結(jié)合RSA-OAEP方案和基于RSA-OAEP的兩方密鑰交換協(xié)議設(shè)計具體的教學(xué)案例。通過在教學(xué)設(shè)計中引入案例教學(xué)法,最終取得預(yù)期的效果。
電子商務(wù)安全;RSA體制;案例教學(xué)法;案例教學(xué)設(shè)計
山東省高等學(xué)??萍加媱濏椖浚∟o.J14LN61)、山東青年政治學(xué)院教學(xué)改革研究項目(No.201404)
《電子商務(wù)安全》課程是一門集現(xiàn)代密碼、網(wǎng)絡(luò)通信和信息管理技術(shù)為一體的信息安全類學(xué)科交叉課程。該課程的理論性教強,因為其相當一部分教學(xué)內(nèi)容是與《密碼學(xué)》課程重疊的。我們認為,《密碼學(xué)》課程本身難度較大,特別適合于信息安全專業(yè)或在計算機專業(yè)的研究生階段開設(shè)?!峨娮由虅?wù)安全》課程主要是介紹密碼學(xué)基礎(chǔ)以及密碼技術(shù)在電子商務(wù)安全領(lǐng)域中的應(yīng)用 (即面向電子商務(wù)安全的安全協(xié)議,如SET協(xié)議等),同時介紹一部分網(wǎng)絡(luò)安全知識。因此,在《電子商務(wù)安全》課程的教學(xué)中,把握好密碼學(xué)基礎(chǔ)部分的講授深度是個關(guān)鍵。如果太淺而基礎(chǔ)不夠,則導(dǎo)致學(xué)生在理解后續(xù)電子商務(wù)安全協(xié)議內(nèi)容時會遇到困難。相反,則容易導(dǎo)致學(xué)生因課程內(nèi)容難度太大而喪失學(xué)習興趣。
我校的《電子商務(wù)安全》課程是作為本科生高年級的專業(yè)選修課或?qū)I(yè)任選課進行開設(shè)。由于課時較為有限,教師往往難以僅通過課堂教學(xué)環(huán)節(jié)向?qū)W生介紹太多的密碼學(xué)基礎(chǔ)知識(如對稱加密、公鑰加密、數(shù)字簽名等)。我們認為,RSA體制是現(xiàn)代密碼學(xué)的一項核心技術(shù)。其實,學(xué)生僅需深入理解該體制以及應(yīng)用就不難掌握《電子商務(wù)安全》課程的全部內(nèi)容。同時,多數(shù)教材對RSA體制的介紹僅局限于經(jīng)典的RSA加密和簽名方案。我們認為,可以將RSA體制及其應(yīng)用作為聯(lián)系和貫穿該課程各章節(jié)內(nèi)容的主線。每講到一個章節(jié),都可以向?qū)W生介紹以RSA體制為實例的具體應(yīng)用或案例,從而幫助學(xué)生不斷加深對該體制的理解與掌握,從而為今后學(xué)習《密碼學(xué)》[1]、《安全協(xié)議》[2]等課程奠定基礎(chǔ)。同時,為了獲得理想的教學(xué)效果,最好能在教學(xué)實施過程中靈活運用案例教學(xué)法[3-5]。首先,教師根據(jù)教學(xué)內(nèi)容需要和教學(xué)對象的接受能力在相關(guān)科技文獻中遴選合適的案例。然后,教師需要對案例進行“簡化”處理和重新設(shè)計,即略去一些應(yīng)當在《密碼學(xué)》、《安全協(xié)議》等課程中才要求關(guān)注的密碼學(xué)細節(jié),并設(shè)法通過對案例引入、案例展開和案例總結(jié)等環(huán)節(jié)的精心設(shè)計引導(dǎo)學(xué)生積極參與案例的討論過程。
RSA體制是由Ron Rivest,Adi Shamir和Leonard Adleman于1978年提出的。迄今為止,該體制始終得到廣泛應(yīng)用和深入研究,并成為最成功的公鑰算法之一。盡管最基本應(yīng)用是數(shù)據(jù)加密和數(shù)字簽名,該體制事實上已經(jīng)廣泛應(yīng)用于各類面向電子商務(wù)環(huán)境的安全協(xié)議之中,其典型應(yīng)用包括:①RSA加密算法可用于實現(xiàn)密鑰交換[6]。②通過將RSA簽名變形為RSA盲簽名,就能構(gòu)造基于RSA的電子現(xiàn)金協(xié)議[7]。③在買賣雙方相互并不信任的情況下,可以利用RSA方案實現(xiàn)雙方的公平交換[8]。④目前,可信計算技術(shù)為電子商務(wù)環(huán)境下的用戶隱私保護問題提供了有效的解決方案,而RSA簽名的擴展形式已經(jīng)在該項技術(shù)中得到應(yīng)用[9]。鑒于上述應(yīng)用均與《電子商務(wù)安全》課程的教學(xué)內(nèi)容密切相關(guān),因此可以考慮將它們以案例形式引入到課堂之中。
2.1案例教學(xué)法
案例教學(xué)法是指圍繞一定的訓(xùn)練目的將實際中真實的情景加以典型化處理,形成可供學(xué)生思考、分析和決斷的案例。通過獨立研究和相互討論的方式,來提高學(xué)生分析問題和解決問題能力的一種方法[3]。通過運用該方法,可以引導(dǎo)學(xué)生深入思考案例中的相關(guān)問題,通過對案例的討論加深對教材中重要概念和算法的理解,通過案例教學(xué)實現(xiàn)對各章節(jié)知識點的串聯(lián),進而構(gòu)建完整的知識體系。
2.2案例教學(xué)法的具體實施
在本節(jié),我們選取“密鑰交換協(xié)議”為教學(xué)內(nèi)容,并結(jié)合文獻[6]中的基于RSA-OAEP(RSA-Optimal Asymmetric Encryption Padding)的兩方密鑰交換協(xié)議設(shè)計了一堂案例討論課。該案例的引入旨在向?qū)W生補充講授經(jīng)典RSA方案的增強版本RSA-OAEP方案[1,6],并且介紹該方案在兩方密鑰交換中的應(yīng)用[6]。
本次案例討論課的教學(xué)目標具體體現(xiàn)在知識目標、技能目標和情感目標[3]三個方面。①知識目標包括了解經(jīng)典RSA加密方案的安全缺陷,理解RSA-OAEP方案的消息填充方法和加密、解密過程,了解RSAOAEP方案在兩方密鑰交換中的應(yīng)用。②技能目標包括能正確理解RSA-OAEP方案的消息填充原理圖,掌握密碼協(xié)議描述中常用的符號定義。③情感目標是激發(fā)學(xué)生對密碼學(xué)知識的學(xué)習興趣,為初步形成密碼協(xié)議設(shè)計思維奠定基礎(chǔ)。培養(yǎng)學(xué)生深入思考問題和閱讀科技文獻的能力。
●案例的引入
教材中介紹的RSA加密方案其實是一個“教科書式加密算法”[1],它本身容易遭受許多種類的攻擊。在實際應(yīng)用中,需要在加密前對消息本身進行“仔細”地填充處理。RSA-OAEP方案是一個著名的RSA加密方案改進版本(兩者的加密過程如表1所示)。
表1 RSA方案與RSA-OAEP方案的加密過程對比
●案例的展開
在具體教學(xué)過程中,我們首先向?qū)W生介紹RSAOAEP方案的消息填充過程以及加密和解密過程,然后介紹該方案在兩方密鑰交換中的具體應(yīng)用,最后通過進一步的討論環(huán)節(jié)實現(xiàn)對協(xié)議的設(shè)計方法和安全性的初步理解。
(1)RSA-OAEP方案的消息填充過程。假設(shè)秘密消息m可以表示為n個比特。RSA-OAEP方案采用了如圖1所示的填充方式:①選取長度為k0比特的隨機數(shù)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為散列函數(shù)。
圖1 RSA-OAEP方案的消息填充過程
(2)RSA-OAEP方案的加密過程。①執(zhí)行上述的填充過程,得到填充結(jié)果OAEP(m,r)。②對OAEP(m,r)執(zhí)行與RSA方案相同的加密函數(shù),即計算y=(OAEP(m,r))emodn。
(3)RSA-OAEP方案的解密過程。①對密文y執(zhí)行標準RSA解密過程,恢復(fù)得到s||t=ydmodn。②將s||t分開,從而得到s與t。③設(shè)法利用s與t恢復(fù)m,即根據(jù)t= H(s)⊕r,可以計算t⊕H(s),從而得到r。根據(jù)s=G(r)⊕(m||0k1),可以計算s⊕G(r),從而得到m||0k1。最后,將m||0k1中的最后k1位比特"0"去掉,即可得到秘密消息m。
(4)密鑰交換協(xié)議的問題引入。假設(shè)Alice與Bob希望協(xié)商建立對稱加密方案下的會話密鑰K。但是,Alice與Bob并沒有事先共享的主密鑰,也沒有可信第三方可以利用。利用前面介紹的RSA-OAEP公鑰加密方案,雙方可以協(xié)商建立兩個會話密鑰KAB,KBA。其中,KAB用于在Alice→Bob方向上進行會話加密,且KBA用于在Bob→Alice方向上進行會話加密。
(5)基于RSA-OAEP方案的密鑰交換協(xié)議設(shè)計思想。在協(xié)議執(zhí)行之前,Alice與Bob分別產(chǎn)生RSAOAEP方案密鑰對(apub,aprv)和(bpub,bprv)。在協(xié)議(如圖2所示)執(zhí)行過程中,Alice向Bob發(fā)送密文mA= RSAbpub(OAEP(r1,r2))。顯然,Bob可以通過解密mA而獲得 r1與r2。同樣地,Bob向 Alice發(fā)送密文 mB= RSAapub(OAEP(r3,r4)),Alice可以通過解密mB而獲得r3與r4?,F(xiàn)在,Alice與Bob均計算KAB=J(r1⊕r3)作為Alice→Bob方向上的會話密鑰。同樣地,Alice與Bob均計算KBA=J(r2⊕r4)作為Bob→Alice方向上的會話密鑰。此處,符號J:{0,1}*→{0,1}kLen表示散列函數(shù)。
圖2 基于RSA-OAEP的密鑰交換協(xié)議執(zhí)行過程
(6)進一步的討論。
問題1:在上述的密鑰交換過程中,Alice與Bob是如何實現(xiàn)相互認證的?
解釋:可以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:上述協(xié)議能否抵抗已知密鑰攻擊?諸如攻擊者設(shè)法獲得了KAB會出現(xiàn)什么情況?攻擊者設(shè)法獲得了KAB與KBA會出現(xiàn)什么情況?
解釋:KAB的作用是對Alice向Bob發(fā)送的消息進行加密,若攻擊者得到KAB,它自然能解密得到這個方向上發(fā)送的秘密消息。但是,攻擊者無法根據(jù)KAB得到KBA,即無法解密反方向上的消息。KAB與KBA是協(xié)議雙方根據(jù)隨機數(shù)產(chǎn)生的,在當前會話結(jié)束后,它們就會作廢。因此,即使攻擊者取得了KAB與KBA,也不會對協(xié)議雙方今后的會話造成安全威脅。
問題3:上述協(xié)議能否抵抗竊聽攻擊?
解釋:通過發(fā)動竊聽攻擊,攻擊者可以截獲得到mA,mB,nA,nB。由于mA,mB是RSA-OAEP方案密文,且nA,nB是散列函數(shù)值,根據(jù)RSA-OAEP方案的安全性和散列函數(shù)的單向性可知,攻擊者將無法獲得任何有用的信息。
●案例的總結(jié)
在本次案例討論課中,我們通過對教學(xué)內(nèi)容的逐步展開使學(xué)生最終理解了整個案例,且通過進一步的討論環(huán)節(jié)引導(dǎo)他們加深了對教學(xué)內(nèi)容——密鑰交換協(xié)議的理解。除此之外,學(xué)生對RSA加密方案的實際應(yīng)用有了更深的認識,而且進一步體會到當把公鑰加密技術(shù)運用于密鑰交換時,可以獲得僅憑對稱加密技術(shù)無法取得的效果,如不再需要協(xié)議雙方事先共享主密鑰、不再需要借助可信第三方,等等。
本文研究了如何運用案例教學(xué)法將RSA體制的具體應(yīng)用引入到《電子商務(wù)安全》課程的教學(xué)之中,并且提供了具體的案例設(shè)計過程。事實上,這樣的案例還有許多,而且很容易與該課程的各個教學(xué)章節(jié)相結(jié)合。諸如,在電子支付技術(shù)部分,可以向?qū)W生介紹基于RSA的電子現(xiàn)金方案。在安全電子商務(wù)協(xié)議部分,可以向?qū)W生介紹滿足交易雙方公平性的基于RSA的認證電子郵件協(xié)議,等等。今后的努力方向包括進一步優(yōu)化現(xiàn)有的教學(xué)案例,探索將情景教學(xué)與案例教學(xué)相結(jié)合的方法,開發(fā)針對典型案例的課程實驗等。
[1]Mao Wenbo著.現(xiàn)代密碼學(xué)理論與實踐[M].王繼林,伍前紅等(譯).北京:電子工業(yè)出版社,2004.
[2]邱衛(wèi)東,黃征,李詳學(xué),郭捷.密碼協(xié)議基礎(chǔ)[M].北京:高等教育出版社,2009.
[3]楊陽.基于案例教學(xué)法的C語言教學(xué)設(shè)計[J].計算機時代,2016(06):104-106.
[4]楊建強,姜洪溪,趙永標.案例驅(qū)動的大學(xué)生信息安全教育教學(xué)實踐[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-),男,山東濟南人,副教授,工學(xué)博士,研究方向為密碼協(xié)議分析與設(shè)計、電子商務(wù)安全
2016-08-11
2016-10-18