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