吳旭光,韓益亮,朱率率,吳立強
(武警工程大學 密碼工程學院,陜西 西安 710086)
密碼技術是信息安全的關鍵技術之一,幾乎所有的信息安全系統都應用到密碼技術。要想把密碼學的知識應用到實際中,必須具有密碼學的實踐應用能力。密碼學實踐應用能力是密碼理論向實踐應用轉化的必然途徑,成為信息安全專業學生應當具備實踐能力的重要組成部分。2018年,教育部高等學校信息安全專業教學指導委員會修訂的《信息安全專業指導性專業規范》[1]明確指出密碼學實踐能力是信息安全專業實踐能力體系的重要組成部分。
目前針對密碼學實踐能力教學方面,大多數學校將該部分內容作為密碼學課程的一部分,以改善密碼學的教學效果為目的,缺乏對密碼學實踐能力的整體思考和設計,存在課時量少、內容體系不完善、實踐難度低的問題。文獻[2]以應用型信息人才培養為目標,從密碼學實際應用為出發點,建立以數據存儲安全實驗、數據傳輸安全實驗、數據使用安全實驗和數據管理安全實驗為主要內容的實驗體系。文獻[3]將密碼學實驗劃分為基本驗證實驗、密碼算法綜合實驗、研究創新型實驗3 個層次,改進密碼學解決實際問題的能力。文獻[4]以密碼學實驗教學為研究對象,設計了演示實驗、操作實驗、代碼實驗和自主實驗等實驗項目內容,并對教學方法進行了探索。文獻[5]圍繞信息安全應用型高級工程人才培養目標,借鑒高等工程教育理念和模式,介紹了應用密碼學課程的教學實施情況。
針對目前密碼學實踐能力培養存在的問題,單獨設立了密碼應用與實踐課程。該課程是一門具備鮮明實踐特色的專業課程,它不再拘泥于算法的具體實現細節,而是直接面向具體的信息安全應用場景,著重培養學生的密碼工程實踐技能,使信息安全專業學生加深對密碼理論的理解,具備解決實際信息安全問題的能力。
1)強化“工程”理念,突出密碼算法及安全工具的綜合應用和實踐。
一般的密碼學實驗課程側重于密碼算法的細節實現,對于密碼算法的實際應用關注不多。學完密碼學課程后,學生仍不知道如何安全地使用密碼算法。本課程以工程實踐為導向,教學內容選擇上注重實際應用,突出密碼算法及安全工具的綜合應用和實踐,為學生將來從事相關工作打下基礎。
2)緊貼前沿動態,加入國產加密算法的使用。
對照《信息安全專業指導性專業規范》,增加了國產商用加密算法SM2、SM3、SM4、ZUC等算法的應用實踐,體現了我國密碼政策的要求,符合信息安全商業開發需求。同時,信息安全工具實踐部分,所有軟件均選擇最新版本,與實際應用貼合密切。
3)接軌“新工科”,增加新型場景應用。
隨著新興產業的發展,區塊鏈、云計算等“新工科”[6]內容吸引了學術界的注意。然而現有的教材大多止步于理論介紹,對于結合具體場景的信息安全應用涉及不多。本課程結合區塊鏈、云計算等場景,在綜合實踐部分介紹了多個信息系統的具體實現細節,并提前配備了詳盡源代碼,有助于培養實踐能力和創新能力。
按照密碼學實踐能力生成規律,以《高等學校信息安全專業指導性專業規范》[1]為指導,合理安排教學內容和課時,按照由易至難的層次,劃分教學內容為五大模塊,即基本密碼算法應用、密碼學擴展應用實踐、PKI 應用與實踐、常見加密工具應用實踐和加密技術創新綜合實踐。主要知識點內容和課時安排見表1,課時安排為36 學時。

表1 教學內容安排
(1)基本密碼算法應用模塊,使用Python 語言的Pycryptodome 函數庫[7],了解對稱加密算法、公鑰加密算法、簽名算法、散列函數算法、密碼協議、安全的隨機數發生器、大數處理等密碼學主要功能的API 調用,實現分組密碼加密、散列值計算、消息認證碼計算、公鑰密碼加密與簽名操作等。
(2)密碼學擴展應用實踐模塊,不再局限于前一模塊所介紹的Pycryptodome 密碼學函數庫,介紹更多常見密碼庫的安裝和調用,使學生能夠利用密碼庫完成對稱加密、公鑰加密和簽名算法的調用;實現數字信封技術,完成文件的加解密、簽名傳輸,保證其安全性和不可抵賴性;實現HTTPS 的交互過程,掌握信息交互過程中使用的加密算法和細節,并使用Tornado[8]搭建HTTPS 網站。
(3)PKI 應用與實踐模塊,介紹多種信任結構的CA 證書操作,利用開源軟件建立PKI 體系,并進行配置和綜合防護,使學生會搭建PKI 的虛擬實驗環境,掌握PKI 中證書的申請、安裝以及證書的查看、吊銷和解除吊銷,能夠使用PKI 保護網站、FTP 和電子郵件。
(4)常見加密工具應用實踐模塊,介紹幾款國際上公認的信息安全工具,即VeraCrypt、Gnu PG 和PGP。通過本章內容的學習,使學生理解常見加密工具的原理,掌握常見安全工具的使用方法。
(5)加密技術創新綜合實踐模塊,結合區塊鏈、云計算等新型信息安全應用場景,選擇典型密碼學應用,旨在使學生掌握密碼學的應用實踐與綜合創新能力。該模塊設置了3 個創新實踐系統,分別為區塊鏈安全存儲綜合系統、基因疾病同態密文檢測算法應用系統和基于機器學習的手機消息自適應加密系統,均在全國密碼技術競賽中獲獎。
密碼實踐環境是教學中起到支撐作用的重要組成部分。由于市面上沒有滿足課程要求的密碼實踐環境,課程組立足現實,自主開發了部分實驗平臺,最終構建了3 個層次的密碼實踐環境,即基礎實驗平臺、實訓平臺和創新應用平臺,見圖1。

圖1 三層次密碼實踐環境
(1)基礎實驗平臺。該平臺采用西普陽光公司的信息安全實驗教學系統,以驗證性實驗為主,主要完成“基本密碼算法應用”“常見加密工具應用實踐”兩大模塊的實驗學習。該實驗教學系統的每個實驗均有理論知識、實驗環境、實驗步驟、實驗視頻、課后作業等內容。依托該實驗系統,學生能夠自主開展實驗學習,達到理解密碼學理論的基本原理、掌握密碼應用基本操作的目的。
(2)實訓平臺。該平臺由課程組成員自主開發,含有公鑰密碼基礎設施子平臺和仿真密碼機子平臺,主要完成“密碼學擴展應用實踐”“PKI應用與實踐”模塊的學習。其中,公鑰密碼基礎設施子平臺,模擬實現網絡三層PKI/CA 體系,設置有根節點、骨干級、業務級三層結構,每層包含RA、CA、安全應用等中心,能夠開展PKI/CA 系統搭建、安全服務等實驗;仿真密碼機子平臺圍繞樹莓派開發板,建設仿真密碼機,開展密碼算法的驗證與編程實踐。兩個子平臺能夠融合使用,開展深層次的密碼學應用實驗,對學生的實驗能力進行綜合訓練,培養學員的密碼學綜合應用能力。
(3)創新應用平臺。該平臺結合新型信息安全應用場景,展示和學習密碼學綜合應用案例。在該部分平臺的使用中,由學生針對某一安全應用場景,自主提出解決方法和方案,并嘗試實現;課程組教師全程指導,提出合理化意見,但并不進行過多限制,給予學生更多自主的空間,培養學生對未知領域探索和創新的能力。
1)“五階段教學法”,激發學生學習興趣。
如圖2,課程組采用“五階段教學法”開展課內實踐教學,即任務部署、理論講授、實踐操作、分組討論和撰寫報告。其中,任務部署部分介紹本次課的實踐內容和教學目標,劃分課程分組,使學生明確學習任務,調動學生的積極性,約占課時2 分鐘;理論講授部分,對課內重點、難點知識進行講解,破解學習障礙,時間約占8分鐘;實踐操作部分,讓學生積極動手動腦,自主進行學習和編程操作,而教師則巡視指導,使學生處于主體地位,約占課時60 分鐘;分組討論部分,按照分組情況,使學生討論實踐的完成情況、存在問題和下一步打算,時間約占10 分鐘;撰寫報告部分,由學生小組完成課內報告,總結實踐成果,時間約占10 分鐘。5 個階段逐步展開,分組實施,形成統一的整體,有效利用了課堂時間。
2)開放式實驗教學,提高學生的學習積極性。

圖2 五階段教學法
打破實驗室傳統的在固定時間內完成固定實驗內容的教學模式,采用集中實驗和個人課后實驗相結合的方式,大力推行開放式實驗教學,即在時間上全面開放,在實驗內容上全面開放。只要學生時間許可,可以隨時到實驗室利用實驗系統,按照自己的興趣和愛好實驗。這樣不僅提高實驗室利用率,還培養了學生自由探索、獨立思考的品質。
3)個性化的學習路線圖,實現能力導向的因材施教。
針對不同學習程度的學生,根據課程內容的難易程度,制訂了個性化的學習路線圖,分為3個階段:必修基礎階段、進階提高階段和拔高創新階段。其中,必修基礎階段完成人才培養方案規定的內容,要求所有學生必須掌握;進階提高階段主要面向學有余力的學生,實施過程以學生自主學習為主、教師輔導為輔;拔高創新階段,供興趣濃厚、能力突出的學生學習,結合信息安全競賽、密碼技術競賽開展。
針對密碼學實踐能力培養問題,課程組新建了密碼學應用與實踐課程,不再拘泥于算法的具體實現細節,而是圍繞密碼算法及安全工具的綜合應用實踐,進行了教學創新和有益嘗試。全面整合優化了教學內容,形成了“基本密碼算法應用、密碼學擴展應用實踐、PKI 應用與實踐、常見加密工具應用實踐和加密技術創新綜合實踐等內容模塊”五大模塊內容;構建了3 個層次的密碼實踐環境,即基礎實驗平臺、實訓平臺和創新應用平臺。在此基礎上,開展教學模式改革,提出了“五階段教學法”,推行開放式實驗,提供了個性化的學習路線圖。這些舉措激發了學生的學習興趣,提高了密碼學實踐能力,取得了明顯的教學效果。