摘要:以密碼學(xué)實(shí)驗(yàn)教學(xué)為研究對(duì)象提出緊密銜接理論,以學(xué)生為主體,以開(kāi)源軟件為輔助,利用面向應(yīng)用的密碼學(xué)實(shí)驗(yàn)教學(xué)新思路進(jìn)行多層次和多方位的實(shí)驗(yàn)教學(xué)改革。綜合運(yùn)用flash、手機(jī)游戲和自學(xué)網(wǎng)站等多種技術(shù)手段,將理論性、實(shí)踐性與娛樂(lè)性有機(jī)結(jié)合并應(yīng)用于密碼學(xué)實(shí)驗(yàn)教學(xué)中。
關(guān)鍵詞:密碼學(xué);實(shí)驗(yàn)教學(xué);教學(xué)模式
0.引言
實(shí)踐教學(xué)是高等學(xué)校教學(xué)工作的重要組成部分,是培養(yǎng)應(yīng)用型人才的基本環(huán)節(jié),在學(xué)生能力培養(yǎng)和綜合素質(zhì)提高方面發(fā)揮著獨(dú)特的作用。密碼學(xué)作為是信息安全專業(yè)的專業(yè)技術(shù)基礎(chǔ)課,具有很強(qiáng)的理論性和實(shí)踐性。該課程理論知識(shí)豐富,學(xué)生不僅要研究密碼學(xué)中的各種抽象算法,而且要注重密碼學(xué)在實(shí)際中的應(yīng)用,為今后學(xué)習(xí)專業(yè)課程打下堅(jiān)實(shí)基礎(chǔ)。密碼學(xué)實(shí)驗(yàn)教學(xué)過(guò)程往往側(cè)重學(xué)生對(duì)算法的理解,以驗(yàn)證性實(shí)驗(yàn)為主,因此實(shí)驗(yàn)課程無(wú)法激發(fā)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,結(jié)果是學(xué)生不能融會(huì)貫通所學(xué)的知識(shí)并將其應(yīng)用于信息安全實(shí)踐。
1.相關(guān)改革和問(wèn)題
近年來(lái),有些學(xué)校已經(jīng)進(jìn)行了一些有益的探索和嘗試,但同時(shí)也存在一些問(wèn)題。文獻(xiàn)[1]重點(diǎn)論述密碼學(xué)實(shí)驗(yàn)的改革,包括各個(gè)層次的實(shí)驗(yàn)內(nèi)容,但是實(shí)驗(yàn)內(nèi)容的設(shè)置并沒(méi)有考慮學(xué)生自身的能力和興趣;文獻(xiàn)[2]針對(duì)教學(xué)內(nèi)容規(guī)劃和優(yōu)化進(jìn)行探索;文獻(xiàn)[3]從教材的選擇、教學(xué)內(nèi)容、實(shí)踐環(huán)節(jié)和擴(kuò)展環(huán)節(jié)進(jìn)行概述;文獻(xiàn)[4]重點(diǎn)討論在理論和實(shí)踐相結(jié)合、教學(xué)和科研相結(jié)合的基礎(chǔ)上提高學(xué)生實(shí)踐能力,緊跟時(shí)代發(fā)展,但是并沒(méi)有給出相互結(jié)合的具體方案。文獻(xiàn)[5]側(cè)重以專業(yè)為導(dǎo)向和面向應(yīng)用的密碼學(xué)改革,但是沒(méi)有提出具體可行的實(shí)際方案。文獻(xiàn)[6]提出教師應(yīng)該認(rèn)識(shí)到創(chuàng)新實(shí)踐環(huán)節(jié)不應(yīng)只局限于實(shí)驗(yàn)課,而應(yīng)貫穿整個(gè)教學(xué)過(guò)程如理論課堂教學(xué)、項(xiàng)目開(kāi)發(fā)、實(shí)踐拓展等環(huán)節(jié),探索適合該課程實(shí)踐教學(xué)的新模式,只有這樣才能切實(shí)提高實(shí)驗(yàn)教學(xué)效果。
文獻(xiàn)[7]-[12]是教學(xué)實(shí)踐改革提供給學(xué)生的參考網(wǎng)站和參考書(shū)籍。教師可以通過(guò)理論課堂、實(shí)驗(yàn)過(guò)程以及拓展環(huán)節(jié)等對(duì)學(xué)生進(jìn)行指導(dǎo)。改革的核心在于不但培養(yǎng)學(xué)生具備扎實(shí)的基本功,而且能夠最大程度地發(fā)揮實(shí)踐教學(xué)在學(xué)生創(chuàng)新思維和創(chuàng)造能力培養(yǎng)中的作用,充分挖掘?qū)W生的潛能,培養(yǎng)學(xué)生自主學(xué)習(xí)和創(chuàng)新思維能力等綜合素質(zhì),這些正是學(xué)生今后就業(yè)和邁入社會(huì)應(yīng)具備的能力。
2.實(shí)驗(yàn)教學(xué)改革探索
2.1從興趣入手——興趣是最好的老師
教師可以利用Flash、手機(jī)游戲等將學(xué)生身邊的密碼學(xué)問(wèn)題展示出來(lái),如大部分學(xué)生有網(wǎng)絡(luò)購(gòu)物的消費(fèi)習(xí)慣,在消費(fèi)時(shí)會(huì)涉及安全問(wèn)題,需要安全服務(wù),這樣就可以很自然地引入密碼學(xué)要研究的問(wèn)題,包括保密性、完整性、可用性、真實(shí)性和不可否認(rèn)性等5大服務(wù)類型。抽象的專業(yè)詞匯形象化為具體場(chǎng)景,易于被學(xué)生理解和接受。再比如鐵路系統(tǒng)的購(gòu)票網(wǎng),需要下載并安裝證書(shū),那么證書(shū)如何證明網(wǎng)絡(luò)中每個(gè)人的身份呢?帶著這些問(wèn)題,教師就可以一步步引入密碼學(xué)的數(shù)字證書(shū)和PKI技術(shù)。
2.2設(shè)計(jì)實(shí)驗(yàn)項(xiàng)目?jī)?nèi)容
傳統(tǒng)陳舊的實(shí)驗(yàn)題目如果不及時(shí)更新,那么就不能調(diào)動(dòng)學(xué)生的積極性;另外,學(xué)生能夠從各種渠道找到成熟的方案,這樣留給學(xué)生自主設(shè)計(jì)開(kāi)發(fā)的空間太少,不能達(dá)到綜合實(shí)驗(yàn)的要求。因此,我們積極緊跟時(shí)代發(fā)展,不斷更新實(shí)驗(yàn)內(nèi)容并設(shè)計(jì)了以下4種實(shí)驗(yàn)。
1)演示實(shí)驗(yàn)。
演示實(shí)驗(yàn)包括Flash演示和動(dòng)態(tài)演示。教師可以利用Flash將抽象的密碼算法形象化,使學(xué)生對(duì)算法有直觀的認(rèn)識(shí)。密碼算法包括對(duì)稱密碼算法DES、AES,非對(duì)稱密碼算法RSA、橢圓曲線,流密碼RC4,消息摘要算法MD5、SHA,數(shù)字簽名算法DSA,還特別包括對(duì)稱密碼算法的使用模式ECB、CBC、CFB、OFB。教師應(yīng)緊跟時(shí)代發(fā)展,把最新的技術(shù)如對(duì)稱加密模式XTS-AES模式、安全散列函數(shù)SHA-3等引入教學(xué)。動(dòng)態(tài)演示是為了使學(xué)生進(jìn)一步理解算法細(xì)節(jié),如AES算法過(guò)程每一輪的執(zhí)行情況以及密鑰是如何擴(kuò)展的;同時(shí)動(dòng)態(tài)算法演示具有交互性,便于學(xué)生接受,如學(xué)生在分析AES密鑰擴(kuò)展的時(shí)候,可以將初始密鑰設(shè)置成他們自己的名字或喜歡的字詞等。
學(xué)生只有把算法理解到這種程度之后才能編程實(shí)現(xiàn),這時(shí)教師結(jié)合代碼實(shí)驗(yàn)部分布置給學(xué)生類似的算法演示,讓學(xué)生利用課余時(shí)間完成,鍛煉學(xué)生的編程能力,同時(shí)充分發(fā)揮教師的指導(dǎo)作用。這些算法演示既來(lái)自學(xué)生又服務(wù)于學(xué)生,同時(shí)更好地為教師教學(xué)服務(wù)。面向應(yīng)用的雙贏模式在2008級(jí)、2009級(jí)和2010級(jí)信息安全專業(yè)試行后,受到學(xué)生的歡迎。教師在課堂上演示算法的時(shí)候,可以指明這些是高年級(jí)學(xué)生的作品,這種示范作用能夠?qū)W(xué)生產(chǎn)生極大的鼓舞作用,堅(jiān)定學(xué)生的信心。結(jié)合代碼實(shí)驗(yàn)和自主實(shí)驗(yàn),我們繼續(xù)在2011級(jí)信息安全專業(yè)開(kāi)展此種模式教學(xué)。
演示實(shí)驗(yàn)這部分內(nèi)容較多,如果都放在實(shí)驗(yàn)課堂上顯然是不合適的。我們采取的方法是讓學(xué)生結(jié)合理論課堂所學(xué)知識(shí)并在課下利用網(wǎng)站進(jìn)行自主學(xué)習(xí),以達(dá)到最佳教學(xué)效果。針對(duì)某些算法,如對(duì)稱密碼算法,理論課堂、實(shí)驗(yàn)課堂和自主學(xué)習(xí)這三者之間既要互補(bǔ),又要交叉。
2)操作實(shí)驗(yàn)。
操作實(shí)驗(yàn)側(cè)重師生之間以及學(xué)生之間的互動(dòng)性。例如,gpg4win軟件可以幫助師生之間進(jìn)行秘密通信,既包含證書(shū)公鑰的概念,又包含對(duì)稱算法和散列算法的內(nèi)容。教師通過(guò)軟件生成自己的證書(shū)并存放在公開(kāi)目錄中,讓學(xué)生在公開(kāi)目錄中找到教師證書(shū),利用證書(shū)中的公鑰向教師發(fā)送加密的信息,教師再用自己的私鑰解開(kāi)密文。在這個(gè)過(guò)程中,教師的參與大大提高了學(xué)生的積極性。再比如,學(xué)生利用GunPG安全通信實(shí)現(xiàn)互動(dòng),在趣味性操作的同時(shí)理解了密碼學(xué)的概念。
3)代碼實(shí)驗(yàn)。
代碼實(shí)驗(yàn)包括兩個(gè)層次的實(shí)驗(yàn),一是學(xué)生用已有算法實(shí)現(xiàn)的接口來(lái)編程實(shí)現(xiàn)某種安全服務(wù),如利用Java的加密包Bouncy Castle、C語(yǔ)言版開(kāi)源的OpenSSL接口、微軟.NET程序的加密與解密等;二是學(xué)生自己動(dòng)手實(shí)現(xiàn)算法過(guò)程。這兩者的側(cè)重點(diǎn)是不同的,前者考查學(xué)生對(duì)API的掌握和使用情況,后者考查學(xué)生對(duì)算法本身的理解以及實(shí)現(xiàn)。這個(gè)實(shí)驗(yàn)過(guò)程不限制學(xué)生使用的語(yǔ)言和環(huán)境,給予學(xué)生很大的靈活性。成功的實(shí)驗(yàn)結(jié)果可以增強(qiáng)學(xué)生的自信心,從而培養(yǎng)學(xué)生扎實(shí)的編程能力。
4)自主實(shí)驗(yàn)。
“融會(huì)貫通、學(xué)以致用、探索創(chuàng)新”是密碼學(xué)實(shí)驗(yàn)教學(xué)的培養(yǎng)目標(biāo),通過(guò)開(kāi)設(shè)自主性實(shí)驗(yàn)?zāi)軌蚺囵B(yǎng)學(xué)生獨(dú)立思考的能力和勇于開(kāi)拓的創(chuàng)新意識(shí)。
自主實(shí)驗(yàn)采用開(kāi)放式教學(xué)模式,由教師設(shè)置實(shí)驗(yàn)選題范圍,也可以由學(xué)生根據(jù)興趣自主選題。教師設(shè)置的實(shí)驗(yàn)選題范圍要具有新穎性和時(shí)代性。我們指導(dǎo)的學(xué)生曾獲得過(guò)國(guó)家級(jí)創(chuàng)新項(xiàng)目1項(xiàng)、廣西區(qū)級(jí)創(chuàng)新項(xiàng)目3項(xiàng)。我們以創(chuàng)新項(xiàng)目為契機(jī),引導(dǎo)基礎(chǔ)扎實(shí)的學(xué)生進(jìn)行創(chuàng)新開(kāi)發(fā)。比如,我們針對(duì)當(dāng)前Android智能手機(jī)在大學(xué)生群體中比較流行的現(xiàn)狀,依托2010級(jí)大學(xué)生的國(guó)家級(jí)創(chuàng)新項(xiàng)目,設(shè)置利用密碼學(xué)的手機(jī)安全防護(hù)開(kāi)發(fā);開(kāi)展針對(duì)當(dāng)前網(wǎng)絡(luò)版權(quán)保護(hù)的數(shù)字水印研究;在PKI理解的基礎(chǔ)上利用開(kāi)源OpenSSL實(shí)現(xiàn)證書(shū)認(rèn)證機(jī)構(gòu)CA項(xiàng)目;進(jìn)行Java密碼算法與C/C++語(yǔ)言密碼算法性能對(duì)比;以項(xiàng)目驅(qū)動(dòng)的實(shí)驗(yàn)進(jìn)行改革探索。
自主實(shí)驗(yàn)可以3-5名學(xué)生組成一個(gè)實(shí)驗(yàn)小組,若有能力比較強(qiáng)的學(xué)生,也可不必拘泥于小組形式,而讓學(xué)生單獨(dú)完成。學(xué)生通過(guò)文獻(xiàn)查閱、方案設(shè)計(jì)、材料準(zhǔn)備、實(shí)驗(yàn)操作、課堂展示等一系列環(huán)節(jié)完成實(shí)驗(yàn)。在這里,教師要注意給學(xué)生提供一些參考,如國(guó)際會(huì)議、專業(yè)期刊、碩士及博士論文、專業(yè)網(wǎng)站等,以便學(xué)生通過(guò)這些途徑了解最新的密碼學(xué)發(fā)展動(dòng)向,進(jìn)行熱點(diǎn)的追蹤,發(fā)現(xiàn)研究問(wèn)題的興趣點(diǎn)。教師要及時(shí)了解學(xué)生的選題情況,要因人而異,幫助他們選擇合適的題目并積極組織優(yōu)秀學(xué)生參加一些學(xué)科競(jìng)賽。
教師在加強(qiáng)學(xué)生能力培養(yǎng)的同時(shí),也需不斷提高自身的業(yè)務(wù)水平,不僅要熟悉專業(yè)知識(shí),還要不斷學(xué)習(xí),及時(shí)跟蹤信息安全發(fā)展的新趨勢(shì),充分發(fā)揮引導(dǎo)者的作用,總結(jié)教學(xué)成果,提高教學(xué)質(zhì)量,使課程建設(shè)良性發(fā)展。
實(shí)驗(yàn)項(xiàng)目?jī)?nèi)容設(shè)計(jì)如表1所示。
2.3融入開(kāi)源軟件輔助教學(xué)
理解密碼學(xué)的基本概念、算法和原理不是最終目的,對(duì)于普通院校的應(yīng)用型本科來(lái)說(shuō),培養(yǎng)學(xué)生動(dòng)手實(shí)踐能力是教學(xué)過(guò)程中一個(gè)非常重要的方面。教師可以充分利用已有的開(kāi)源軟件輔助密碼算法教學(xué),根據(jù)實(shí)驗(yàn)內(nèi)容提供不同的輔助參考資料,將開(kāi)源的應(yīng)用設(shè)置在不同層次的實(shí)驗(yàn)中。比如,在演示實(shí)驗(yàn)中,演示算法的實(shí)現(xiàn)可以參考開(kāi)源軟件的思想;在操作性實(shí)驗(yàn)中,利用GunPG和OpenSSL實(shí)現(xiàn)安全通信和CA操作;將OpenSSL和密碼算法庫(kù)Libtomcrypt、大數(shù)庫(kù)MIRACL、CryptoApp庫(kù)用在代碼實(shí)驗(yàn)和自主實(shí)驗(yàn)中,代碼實(shí)驗(yàn)側(cè)重用API實(shí)現(xiàn)基本的安全服務(wù),自主實(shí)驗(yàn)側(cè)重綜合應(yīng)用,考查學(xué)生的創(chuàng)新能力。
2.4開(kāi)放自主學(xué)習(xí)網(wǎng)站
密碼學(xué)教學(xué)網(wǎng)站包括理論知識(shí)點(diǎn)和動(dòng)手實(shí)驗(yàn)環(huán)節(jié)等7個(gè)模塊,分別是課程導(dǎo)學(xué)、課程資源、作品展示、交流討論、資料下載、詞匯查詢和文件調(diào)查。該網(wǎng)站為學(xué)生構(gòu)建了完整的學(xué)習(xí)資源,既有助于學(xué)生在課下進(jìn)行自主性和探索性學(xué)習(xí),又可以輔助教師進(jìn)行課堂教學(xué)。特別是該網(wǎng)站為學(xué)生提供PKI在線實(shí)驗(yàn)?zāi)K,這個(gè)實(shí)驗(yàn)?zāi)M了CA,學(xué)生可以在線申請(qǐng)下載證書(shū),利用證書(shū)實(shí)現(xiàn)安全通信。比如,一些軟件的下載提供SHAl和數(shù)字簽名,學(xué)生下載后可以驗(yàn)證軟件是否被篡改過(guò)。另外,網(wǎng)站還提供Https的安全訪問(wèn),學(xué)生可以通過(guò)抓包軟件Wireshark等學(xué)習(xí)SSL協(xié)議。
網(wǎng)站中優(yōu)秀作品展示模塊,能夠更好地培養(yǎng)學(xué)生創(chuàng)新實(shí)踐能力。密碼學(xué)教學(xué)網(wǎng)站在實(shí)現(xiàn)過(guò)程中吸納了一批實(shí)踐能力較強(qiáng)的同學(xué)參與完成,并且包含大量的學(xué)生優(yōu)秀實(shí)驗(yàn)作業(yè)、課程設(shè)計(jì)和創(chuàng)新項(xiàng)目。密碼學(xué)教學(xué)網(wǎng)站獲得了2011年全國(guó)多媒體課件大賽理科組二等獎(jiǎng)。
2.5改革實(shí)驗(yàn)考核方式
實(shí)驗(yàn)考核方式強(qiáng)調(diào)實(shí)踐的重要性,考慮到學(xué)生考試的壓力,因此側(cè)重平時(shí)每個(gè)實(shí)驗(yàn)過(guò)程的重要性,將考核貫穿于平時(shí)的實(shí)驗(yàn)中,包括考查實(shí)驗(yàn)前的準(zhǔn)備工作是否充分和實(shí)驗(yàn)結(jié)果是否理想等。實(shí)驗(yàn)考核的另外一個(gè)重要考核指標(biāo)是自主實(shí)驗(yàn)設(shè)計(jì)方案、實(shí)現(xiàn)效果以及答辯的優(yōu)劣等。
3.結(jié)語(yǔ)
通過(guò)在2008級(jí)、2009級(jí)和2010級(jí)信息安全專業(yè)學(xué)生中進(jìn)行密碼學(xué)實(shí)驗(yàn)教學(xué)改革應(yīng)用實(shí)踐,我們?nèi)〉昧己玫慕虒W(xué)效果,使得師生共贏。同時(shí),我們還將改革推廣到該專業(yè)的基礎(chǔ)課程數(shù)據(jù)結(jié)構(gòu)中,也獲得不錯(cuò)的教學(xué)效果,但同時(shí)發(fā)現(xiàn)一些問(wèn)題,如自主實(shí)驗(yàn)深度不夠及研究效果不夠理想,今后將在此方面進(jìn)行新的探索。
(編輯:宋文婷)