吳旭光,韓益亮,朱率率,吳立強(qiáng)
(武警工程大學(xué) 密碼工程學(xué)院,陜西 西安 710086)
密碼技術(shù)是信息安全的關(guān)鍵技術(shù)之一,幾乎所有的信息安全系統(tǒng)都應(yīng)用到密碼技術(shù)。要想把密碼學(xué)的知識應(yīng)用到實際中,必須具有密碼學(xué)的實踐應(yīng)用能力。密碼學(xué)實踐應(yīng)用能力是密碼理論向?qū)嵺`應(yīng)用轉(zhuǎn)化的必然途徑,成為信息安全專業(yè)學(xué)生應(yīng)當(dāng)具備實踐能力的重要組成部分。2018年,教育部高等學(xué)校信息安全專業(yè)教學(xué)指導(dǎo)委員會修訂的《信息安全專業(yè)指導(dǎo)性專業(yè)規(guī)范》[1]明確指出密碼學(xué)實踐能力是信息安全專業(yè)實踐能力體系的重要組成部分。
目前針對密碼學(xué)實踐能力教學(xué)方面,大多數(shù)學(xué)校將該部分內(nèi)容作為密碼學(xué)課程的一部分,以改善密碼學(xué)的教學(xué)效果為目的,缺乏對密碼學(xué)實踐能力的整體思考和設(shè)計,存在課時量少、內(nèi)容體系不完善、實踐難度低的問題。文獻(xiàn)[2]以應(yīng)用型信息人才培養(yǎng)為目標(biāo),從密碼學(xué)實際應(yīng)用為出發(fā)點,建立以數(shù)據(jù)存儲安全實驗、數(shù)據(jù)傳輸安全實驗、數(shù)據(jù)使用安全實驗和數(shù)據(jù)管理安全實驗為主要內(nèi)容的實驗體系。文獻(xiàn)[3]將密碼學(xué)實驗劃分為基本驗證實驗、密碼算法綜合實驗、研究創(chuàng)新型實驗3 個層次,改進(jìn)密碼學(xué)解決實際問題的能力。文獻(xiàn)[4]以密碼學(xué)實驗教學(xué)為研究對象,設(shè)計了演示實驗、操作實驗、代碼實驗和自主實驗等實驗項目內(nèi)容,并對教學(xué)方法進(jìn)行了探索。文獻(xiàn)[5]圍繞信息安全應(yīng)用型高級工程人才培養(yǎng)目標(biāo),借鑒高等工程教育理念和模式,介紹了應(yīng)用密碼學(xué)課程的教學(xué)實施情況。
針對目前密碼學(xué)實踐能力培養(yǎng)存在的問題,單獨設(shè)立了密碼應(yīng)用與實踐課程。該課程是一門具備鮮明實踐特色的專業(yè)課程,它不再拘泥于算法的具體實現(xiàn)細(xì)節(jié),而是直接面向具體的信息安全應(yīng)用場景,著重培養(yǎng)學(xué)生的密碼工程實踐技能,使信息安全專業(yè)學(xué)生加深對密碼理論的理解,具備解決實際信息安全問題的能力。
1)強(qiáng)化“工程”理念,突出密碼算法及安全工具的綜合應(yīng)用和實踐。
一般的密碼學(xué)實驗課程側(cè)重于密碼算法的細(xì)節(jié)實現(xiàn),對于密碼算法的實際應(yīng)用關(guān)注不多。學(xué)完密碼學(xué)課程后,學(xué)生仍不知道如何安全地使用密碼算法。本課程以工程實踐為導(dǎo)向,教學(xué)內(nèi)容選擇上注重實際應(yīng)用,突出密碼算法及安全工具的綜合應(yīng)用和實踐,為學(xué)生將來從事相關(guān)工作打下基礎(chǔ)。
2)緊貼前沿動態(tài),加入國產(chǎn)加密算法的使用。
對照《信息安全專業(yè)指導(dǎo)性專業(yè)規(guī)范》,增加了國產(chǎn)商用加密算法SM2、SM3、SM4、ZUC等算法的應(yīng)用實踐,體現(xiàn)了我國密碼政策的要求,符合信息安全商業(yè)開發(fā)需求。同時,信息安全工具實踐部分,所有軟件均選擇最新版本,與實際應(yīng)用貼合密切。
3)接軌“新工科”,增加新型場景應(yīng)用。
隨著新興產(chǎn)業(yè)的發(fā)展,區(qū)塊鏈、云計算等“新工科”[6]內(nèi)容吸引了學(xué)術(shù)界的注意。然而現(xiàn)有的教材大多止步于理論介紹,對于結(jié)合具體場景的信息安全應(yīng)用涉及不多。本課程結(jié)合區(qū)塊鏈、云計算等場景,在綜合實踐部分介紹了多個信息系統(tǒng)的具體實現(xiàn)細(xì)節(jié),并提前配備了詳盡源代碼,有助于培養(yǎng)實踐能力和創(chuàng)新能力。
按照密碼學(xué)實踐能力生成規(guī)律,以《高等學(xué)校信息安全專業(yè)指導(dǎo)性專業(yè)規(guī)范》[1]為指導(dǎo),合理安排教學(xué)內(nèi)容和課時,按照由易至難的層次,劃分教學(xué)內(nèi)容為五大模塊,即基本密碼算法應(yīng)用、密碼學(xué)擴(kuò)展應(yīng)用實踐、PKI 應(yīng)用與實踐、常見加密工具應(yīng)用實踐和加密技術(shù)創(chuàng)新綜合實踐。主要知識點內(nèi)容和課時安排見表1,課時安排為36 學(xué)時。
表1 教學(xué)內(nèi)容安排
(1)基本密碼算法應(yīng)用模塊,使用Python 語言的Pycryptodome 函數(shù)庫[7],了解對稱加密算法、公鑰加密算法、簽名算法、散列函數(shù)算法、密碼協(xié)議、安全的隨機(jī)數(shù)發(fā)生器、大數(shù)處理等密碼學(xué)主要功能的API 調(diào)用,實現(xiàn)分組密碼加密、散列值計算、消息認(rèn)證碼計算、公鑰密碼加密與簽名操作等。
(2)密碼學(xué)擴(kuò)展應(yīng)用實踐模塊,不再局限于前一模塊所介紹的Pycryptodome 密碼學(xué)函數(shù)庫,介紹更多常見密碼庫的安裝和調(diào)用,使學(xué)生能夠利用密碼庫完成對稱加密、公鑰加密和簽名算法的調(diào)用;實現(xiàn)數(shù)字信封技術(shù),完成文件的加解密、簽名傳輸,保證其安全性和不可抵賴性;實現(xiàn)HTTPS 的交互過程,掌握信息交互過程中使用的加密算法和細(xì)節(jié),并使用Tornado[8]搭建HTTPS 網(wǎng)站。
(3)PKI 應(yīng)用與實踐模塊,介紹多種信任結(jié)構(gòu)的CA 證書操作,利用開源軟件建立PKI 體系,并進(jìn)行配置和綜合防護(hù),使學(xué)生會搭建PKI 的虛擬實驗環(huán)境,掌握PKI 中證書的申請、安裝以及證書的查看、吊銷和解除吊銷,能夠使用PKI 保護(hù)網(wǎng)站、FTP 和電子郵件。
(4)常見加密工具應(yīng)用實踐模塊,介紹幾款國際上公認(rèn)的信息安全工具,即VeraCrypt、Gnu PG 和PGP。通過本章內(nèi)容的學(xué)習(xí),使學(xué)生理解常見加密工具的原理,掌握常見安全工具的使用方法。
(5)加密技術(shù)創(chuàng)新綜合實踐模塊,結(jié)合區(qū)塊鏈、云計算等新型信息安全應(yīng)用場景,選擇典型密碼學(xué)應(yīng)用,旨在使學(xué)生掌握密碼學(xué)的應(yīng)用實踐與綜合創(chuàng)新能力。該模塊設(shè)置了3 個創(chuàng)新實踐系統(tǒng),分別為區(qū)塊鏈安全存儲綜合系統(tǒng)、基因疾病同態(tài)密文檢測算法應(yīng)用系統(tǒng)和基于機(jī)器學(xué)習(xí)的手機(jī)消息自適應(yīng)加密系統(tǒng),均在全國密碼技術(shù)競賽中獲獎。
密碼實踐環(huán)境是教學(xué)中起到支撐作用的重要組成部分。由于市面上沒有滿足課程要求的密碼實踐環(huán)境,課程組立足現(xiàn)實,自主開發(fā)了部分實驗平臺,最終構(gòu)建了3 個層次的密碼實踐環(huán)境,即基礎(chǔ)實驗平臺、實訓(xùn)平臺和創(chuàng)新應(yīng)用平臺,見圖1。
圖1 三層次密碼實踐環(huán)境
(1)基礎(chǔ)實驗平臺。該平臺采用西普陽光公司的信息安全實驗教學(xué)系統(tǒng),以驗證性實驗為主,主要完成“基本密碼算法應(yīng)用”“常見加密工具應(yīng)用實踐”兩大模塊的實驗學(xué)習(xí)。該實驗教學(xué)系統(tǒng)的每個實驗均有理論知識、實驗環(huán)境、實驗步驟、實驗視頻、課后作業(yè)等內(nèi)容。依托該實驗系統(tǒng),學(xué)生能夠自主開展實驗學(xué)習(xí),達(dá)到理解密碼學(xué)理論的基本原理、掌握密碼應(yīng)用基本操作的目的。
(2)實訓(xùn)平臺。該平臺由課程組成員自主開發(fā),含有公鑰密碼基礎(chǔ)設(shè)施子平臺和仿真密碼機(jī)子平臺,主要完成“密碼學(xué)擴(kuò)展應(yīng)用實踐”“PKI應(yīng)用與實踐”模塊的學(xué)習(xí)。其中,公鑰密碼基礎(chǔ)設(shè)施子平臺,模擬實現(xiàn)網(wǎng)絡(luò)三層PKI/CA 體系,設(shè)置有根節(jié)點、骨干級、業(yè)務(wù)級三層結(jié)構(gòu),每層包含RA、CA、安全應(yīng)用等中心,能夠開展PKI/CA 系統(tǒng)搭建、安全服務(wù)等實驗;仿真密碼機(jī)子平臺圍繞樹莓派開發(fā)板,建設(shè)仿真密碼機(jī),開展密碼算法的驗證與編程實踐。兩個子平臺能夠融合使用,開展深層次的密碼學(xué)應(yīng)用實驗,對學(xué)生的實驗?zāi)芰M(jìn)行綜合訓(xùn)練,培養(yǎng)學(xué)員的密碼學(xué)綜合應(yīng)用能力。
(3)創(chuàng)新應(yīng)用平臺。該平臺結(jié)合新型信息安全應(yīng)用場景,展示和學(xué)習(xí)密碼學(xué)綜合應(yīng)用案例。在該部分平臺的使用中,由學(xué)生針對某一安全應(yīng)用場景,自主提出解決方法和方案,并嘗試實現(xiàn);課程組教師全程指導(dǎo),提出合理化意見,但并不進(jìn)行過多限制,給予學(xué)生更多自主的空間,培養(yǎng)學(xué)生對未知領(lǐng)域探索和創(chuàng)新的能力。
1)“五階段教學(xué)法”,激發(fā)學(xué)生學(xué)習(xí)興趣。
如圖2,課程組采用“五階段教學(xué)法”開展課內(nèi)實踐教學(xué),即任務(wù)部署、理論講授、實踐操作、分組討論和撰寫報告。其中,任務(wù)部署部分介紹本次課的實踐內(nèi)容和教學(xué)目標(biāo),劃分課程分組,使學(xué)生明確學(xué)習(xí)任務(wù),調(diào)動學(xué)生的積極性,約占課時2 分鐘;理論講授部分,對課內(nèi)重點、難點知識進(jìn)行講解,破解學(xué)習(xí)障礙,時間約占8分鐘;實踐操作部分,讓學(xué)生積極動手動腦,自主進(jìn)行學(xué)習(xí)和編程操作,而教師則巡視指導(dǎo),使學(xué)生處于主體地位,約占課時60 分鐘;分組討論部分,按照分組情況,使學(xué)生討論實踐的完成情況、存在問題和下一步打算,時間約占10 分鐘;撰寫報告部分,由學(xué)生小組完成課內(nèi)報告,總結(jié)實踐成果,時間約占10 分鐘。5 個階段逐步展開,分組實施,形成統(tǒng)一的整體,有效利用了課堂時間。
2)開放式實驗教學(xué),提高學(xué)生的學(xué)習(xí)積極性。
圖2 五階段教學(xué)法
打破實驗室傳統(tǒng)的在固定時間內(nèi)完成固定實驗內(nèi)容的教學(xué)模式,采用集中實驗和個人課后實驗相結(jié)合的方式,大力推行開放式實驗教學(xué),即在時間上全面開放,在實驗內(nèi)容上全面開放。只要學(xué)生時間許可,可以隨時到實驗室利用實驗系統(tǒng),按照自己的興趣和愛好實驗。這樣不僅提高實驗室利用率,還培養(yǎng)了學(xué)生自由探索、獨立思考的品質(zhì)。
3)個性化的學(xué)習(xí)路線圖,實現(xiàn)能力導(dǎo)向的因材施教。
針對不同學(xué)習(xí)程度的學(xué)生,根據(jù)課程內(nèi)容的難易程度,制訂了個性化的學(xué)習(xí)路線圖,分為3個階段:必修基礎(chǔ)階段、進(jìn)階提高階段和拔高創(chuàng)新階段。其中,必修基礎(chǔ)階段完成人才培養(yǎng)方案規(guī)定的內(nèi)容,要求所有學(xué)生必須掌握;進(jìn)階提高階段主要面向?qū)W有余力的學(xué)生,實施過程以學(xué)生自主學(xué)習(xí)為主、教師輔導(dǎo)為輔;拔高創(chuàng)新階段,供興趣濃厚、能力突出的學(xué)生學(xué)習(xí),結(jié)合信息安全競賽、密碼技術(shù)競賽開展。
針對密碼學(xué)實踐能力培養(yǎng)問題,課程組新建了密碼學(xué)應(yīng)用與實踐課程,不再拘泥于算法的具體實現(xiàn)細(xì)節(jié),而是圍繞密碼算法及安全工具的綜合應(yīng)用實踐,進(jìn)行了教學(xué)創(chuàng)新和有益嘗試。全面整合優(yōu)化了教學(xué)內(nèi)容,形成了“基本密碼算法應(yīng)用、密碼學(xué)擴(kuò)展應(yīng)用實踐、PKI 應(yīng)用與實踐、常見加密工具應(yīng)用實踐和加密技術(shù)創(chuàng)新綜合實踐等內(nèi)容模塊”五大模塊內(nèi)容;構(gòu)建了3 個層次的密碼實踐環(huán)境,即基礎(chǔ)實驗平臺、實訓(xùn)平臺和創(chuàng)新應(yīng)用平臺。在此基礎(chǔ)上,開展教學(xué)模式改革,提出了“五階段教學(xué)法”,推行開放式實驗,提供了個性化的學(xué)習(xí)路線圖。這些舉措激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了密碼學(xué)實踐能力,取得了明顯的教學(xué)效果。