姚 曄,邱洪君
(杭州電子科技大學 網絡空間安全學院,浙江 杭州 310018)
隨著大數據、云計算和物聯網等技術的應用普及,計算機網絡及信息安全相關的技術受到越來越多的重視。2015年6月,為實施國家安全戰略,加快網絡空間安全領域的人才培養,教育部和國務院學位委員會共同決定在“工學”門類下增設“網絡空間安全”一級學科。自從網絡空間安全作為一級學科被增設以來,國內該學科的專家學者開始制定相應的人才培養及學科建設規劃,雖然計算機與網絡安全課程作為我國高等院校網絡空間安全類專業的一門專業必修課,但可以查詢到的中文版教材及教學資源非常少。因此,借鑒國外著名高校的優質教學資源,提高我國網絡空間安全一級學科的教學水平,具有非常重要的意義。
通過調研國外著名高校的開放課程資料,筆者選擇麻省理工學院(Massachusetts Institute of Technology,以下簡稱MIT)開設的計算機與網絡安全課程[1]進行分析。MIT是較早開始建設在線課程網站且開放共享的國外高校。筆者選擇的MIT計算機與網絡安全課程,自1995年開設以來,迄今為止已經開設20年以上。目前,可以查閱到2017年春季學期該課程的全部教學資料。這些高質量的教學資源,對筆者學習和研究計算機與網絡安全課程最新的教學方法提供必要條件。
MIT開設的編號為6.857的計算機與網絡安全課程,沒有指定的教材。所有的課程內容都按照章節提供相應的電子版參考資料。同時,課程網站也列出四本建議的參考書[2-5]。這些參考書都可以在MIT圖書館免費借閱。課程的主要內容包括:①密碼學基礎:介紹基本的密文信息交換模型(Alice & Bob模型),以及一次一密的概念;②哈希函數:介紹密碼學中的哈希函數定義、原理、實現及應用,同時還介紹哈希函數相關的隨機預言模型(Random Oracle Model);③電子貨幣及比特幣:介紹電子貨幣的特點、功能和使用方式,然后以比特幣為例介紹比特幣的概念、生成算法及使用流通中的安全保障策略;④Shamir秘密共享:以秘鑰分享為例,介紹Shamir秘密共享的原理和算法實現;⑤分組密碼:介紹分組密碼的特點及原理,并以DES算法和AES算法為例,介紹分組加密的算法流程及算法中的幾種工作模式;⑥加密與認證:先介紹CBC和CFB兩種加密的工作模式,然后分析這些加密模式的安全性,介紹消息認證碼(Message Authentication Code)的概念,以及加密和認證的結合算法;⑦數論及群論:先介紹密碼學中大數相關的冪運算、取模運算、最大公約數、排序,以及大數的生成等,然后介紹群論的概念,以及密碼學中的五種群;⑧公鑰加密及數字簽名:介紹公鑰加密的基本概念、相關算法,以及數字簽名的概念、安全性和實現算法;⑨間隙組(Gap Groups)和雙線性映射(Bilinear Maps):先介紹Diffie-Hellman密鑰交換協議相關的Gap Groups和Bilinear Maps概念,然后介紹BLS簽名及三方密鑰協商算法;⑩零知識證明(Zero Knowledge Proofs):介紹在沒有額外信息的情況下,實現零知識證明的概念、原理和算法;?密文域的計算(Computing on Encrypted Data):介紹在密文數據上運算的概念和實現算法,以及密文域數據的隱私保護、安全的多方委托運算等應用;?選舉(Elections)及信任(Trusting Trust):介紹選舉中的安全需求、軟件的獨立性、選票的審計等問題,以及密碼學在遠程投票、電子投票中的應用;?差分隱私(Differential Privacy):介紹差分隱私保護技術的原理、算法及應用。
除指定的參考書和課程網站上的講義之外,該課程還提供豐富的課外閱讀資料供學生選擇閱讀。這些課外資料包括與安全相關的書籍、國際會議和論文列表。
該課程共布置5次課后作業(Problem Set)。在每次課后作業規定的截止時間前,學生提交電子版的作業,同時會收到新的課后作業。截止時間通常為作業發布之后的兩周內。學生可以分組完成每次的課后作業。優秀的課后作業將作為參考答案在課程網站上展示。5次課后作業的內容見下文。
(1)作業1包括4個小題,分別為:①觀看教師發布到YouTube上的視頻,回答3個有關密碼學進展的問題;②給亞馬遜(Amazon.com)的智能語音交互終端(Echo)設計安全策略;③分析在ASCII字符的異或加密時,重復使用相同的密碼可能存在的安全問題;嘗試破解相同秘鑰異或加密生成的密文字符流,并給出詳細的解釋說明;④分析即時通訊軟件WhatsApp的消息轉發流程中,端到端加密的安全性問題。
(2)作業2包括3個小題,分別為:①哈希算法SHA-1在2017年2月被報道存在碰撞(collision)問題;如果比特幣(Bitcoin)采用SHA-1算法,分析可能出現的影響及后果;②對本課程授課教師設計的電子貨幣857coin,分析其安全性,并優化其中的部分算法;③對本課程教師設計的一種基于Merkle樹的哈希簽名算法,回答若干個與算法設計相關的問題。
(3)作業3包括3個小題。分別為:①針對給出的包含兩輪CBC加密操作模式的算法,回答若干個問題,分析并改進算法的安全性;②布爾可滿足性問題(Booleansatis fiability problem,SAT)在加密系統中的算法實現及安全性分析;③基于ARX(add-rotate-xor)操作的Speck分組加密算法的隨機性分析。
(4)作業4包括3個小題。分別為:①基于邊信道攻擊的Speck加密算法秘鑰破解算法實現;②實現橢圓曲線加密算法,并計算輸出若干種情況下的輸出結果;③佩德森的承諾(Pederson Commitment)中的二次殘余算法實現,并計算若干種情況下的輸出結果。
(5)作業5包括3個小題。分別為:①針對教師團隊給出的零知識證明的算法描述,分析其安全性并回答若干個問題;②全同態加密算法的推導及若干種情況下的輸出結果計算;③試用在線投票系統Helios,分析其正確性、可靠性,并指出可能存在的安全架構問題及解決方案。
除了平時的5次課后作業,該課程還要求學生分組合作完成一個期末項目(final project),每個分組3~4人。 期末項目的主題涉及密碼學、網絡安全和計算機安全。
在2017年春季學期,該課題的教師團隊提供24個選題供學生選擇。每個選題還提供必要的描述、要求和實驗數據。學生可以從這些選題中選做一個,或者征求教師團隊同意后選擇其他的選題。
在教師團隊提供的24個期末項目選題中,包含若干個當前計算機與網絡安全領域的熱點問題。例如:①分析自動駕駛汽車的安全問題;②討論量子計算對加密算法和密碼算法的攻擊方法;③分析IoT(Internet-of-Things)設備的安全;④分析閱后即焚軟件Snapchat的安全漏洞;⑤測試和評估1~2種維基解密于2017年3月公開的CIA工具。另外,課程教師團隊在每學期都會更新和替換部分期末項目的題目,同時還會將學生撰寫的期末項目報告公布在課程網站上,供其他學生學習參考。
期末的總評成績由三部分構成:期中考試成績占20%,5次課后作業占40%,期末項目報告占40%。期中考試(quiz)隨堂進行,考試內容來源于課堂上的講義材料、課后作業和指定的閱讀材料。該課程沒有期末考試,對于學生的考勤也沒有明確的要求,但對于課后作業和期末項目有嚴格的截止時間要求。沒有在截止時間之前提交作業,將會有不同程度的扣分。
通過MIT的計算機與網絡安全課程教學內容可以看出,該課程的教學組織方式不同于傳統的“照本宣科”教學模式。教師團隊通過設計合理的課程內容、靈活的課后作業和期末項目,實現以學生為中心、以項目和任務為驅動、以輸出成果為考核方式的轉變。這種以“學習成果產出”為導向的新型教學模式,被稱為OBE(Outcomes-Based Education)教學模式。
基于學習成果產出(OBE)的教學模式,最早由西方國家的基礎教育改革者提出。最近幾年,國內的工程教育專家也提出要實施以成果為導向的教育理念,由于和工程教育的目標一致,基于OBE的教育理念和教學模式改革,也受到國內高校工程類教育工作者的關注。
(1)課程內容按照知識點分類,以講座的形式組織教學。國內大多數高校計算機與網絡安全類課程的教學大綱一般會按照如下內容順序編排:密碼學基礎、數據加密技術、密鑰管理技術、數據完整性保護、訪問控制技術、病毒及網絡安全。國內高校的這種課程內容編排方式具備系統性和全面性,使得學生可以全面了解整個學科領域,但也存在明顯不足:①教學內容過多,課時量有限,教師很難按時完成教學任務;②教學重點不突出;③學生過分依賴教師的灌輸,缺少自學相關知識的動力。不同于國內高校的同類課程安排,MIT開設的這門課程沒有指定教材,課程內容選取的重點和難點以講座的形式安排。對于課堂上沒有講授的知識點,課程教師團隊在課程主頁上指出若干本參考書,學生可以有選擇地自學。
(2)課程教學內容新,知識點更新及時。從課程內容介紹可以看出,MIT開設的這門課程,課程內容緊跟當前熱點,具有非常高的實用性。例如,電子貨幣及比特幣、選舉及電子投票等主題能夠大大激發學生的學習熱情,也能夠將需要講授的知識點融入到精彩的課堂教學中;密文域的計算、差分隱私保護等主題是當前云計算和大數據領域的關鍵技術,課程教師團隊及時將這些最新技術加入到課堂教學中,有利于學生盡快掌握當前技術熱點,做到學以致用。
顯而易見,這種課程內容設計,能夠很好地激發學生學習興趣,引導學生從被動接受新知識到主動學習相關領域知識、主動思考和解決遇到的問題,從而達到OBE教育理念設定的目標。
按照OBE的教育理念,教學目的是為了提升學生的能力。MIT開設的這門課程,在教學方式上充分體現以學生為中心、注重學生能力培養的教學模式,具體包括以下幾個方面。
(1)利用課程網站提供豐富的參考資料和學習資源。雖然MIT開設的這門課程沒有指定教材,但該課程網站提供了大量的在線資源,供學生自學。這些資源包括歷年的課程內容及講義、當前的授課資料和講義、每次課的補充閱讀材料、課后作業及資源、歷年的期末項目報告等。教師團隊也通過課程網站及時調整和更新每年的授課內容,使課程內容與當前技術發展趨勢保持一致。
(2)課堂教學關注重點和難點,課外學習以學生為中心。不同于國內課堂的填鴨式灌輸,MIT采用講座的形式來組織課程內容和課堂教學,這樣既可以覆蓋該課程的重點和難點,也能夠按時完成教學任務。課外自學完全以學生為中心,教師在課程網站上發表相關自學資源,學生根據自己的能力和興趣,選擇相關資料自學。
(3)課后作業和期末項目以成果產出為導向。每次的課后作業都包括3~4個小題,每個小題又由若干個循序漸進的問題組成,并且大多數的問題都沒有標準答案。學生在完成課后作業的過程中,需要自主查閱相關資料、主動探索和思考,這些都有利于培養學生的自學能力,以及對復雜問題的分析與解決能力。
期末項目以小組為單位合作完成,培養學生的團隊合作能力、溝通交流能力。各個項目小組確定期末項目的選題之后,需要在課程網站的討論組中提交一頁的初步設計方案;開始項目設計之后的3周內,項目組成員需要提交包括參考文獻的詳細設計報告;以后每隔2周,項目組成員需要向課程的助教團隊匯報一次項目進展;項目完成之后,項目組成員需要提交項目報告,并在課堂上做演講。由此可見,通過對項目實施過程中的監督和指導,學生能夠按時輸出階段性成果,滿足基于OBE的課程教學目標。
(4)課程助教團隊協助教師指導學生課外答疑。MIT開設的這門課程,除了包括2位主講教師,還配置3名研究生作為助教。助教團隊負責講解每周一次的習題課,為解決學生課外自學過程中的疑難問題,助教團隊還安排每周3個小時的課外答疑。學生在規定的時間內,可以和助教團隊討論課后作業和期末項目相關的問題,并匯報期末項目的進展。
基于學習成果產出(OBE)的教學模式,以學生個人能力發展為目標,以課程的輸出成果為標準,考核課堂教學效果和學生的能力達成程度,學生的最終成績主要由課后作業和期末項目的完成情況決定。這種評價方式強調學生學習過程中的輸出成果,和國內高校通過課程考試評定成績有很大的不同。以學習成果產出為評價標準,不僅可以促進學生課外積極主動的自學,還可以通過完成課外作業鍛煉學生的組織能力、合作交流能力、團隊精神等。此外,考核評價的結果也更能體現學生分析問題、解決問題的能力,真實衡量學生的學習效果。
MIT是國外較早通過網絡提供在線開放課程的國外高校。隨著網絡技術的應用普及和在線教育的發展,越來越多的優質教學資源可以被方便地獲取和使用。基于學習成果產出(OBE)的教學模式,也會被國內大多數的高校接受和采用。
學習和借鑒國外高校的先進教學模式和優秀教學資源,提升國內高校的課程教學水平,使學生的綜合能力和素質滿足培養目標設定的要求,是每個教學工作者應盡的責任和義務。當前,受限于國內高校學生的創新意識和自學能力,國內高校的教師往往需要花更多時間和精力設計教學內容、優化教學模式,才能取得滿意的教學效果。因此,教學模式的改革是一個長期的過程,高校教師需要不斷地學習專業知識、提升自身的綜合素質,才能在基于學習成果產出(OBE)的教學模式改革中不斷優化教學內容、改進教學手段、提升教學質量。
[1]MIT Computer Science and ArtificialIntelligence Laboratory Courses. Computer and Network Security. [EB/OL]. [2017-08-25].http://courses.csail.mit.edu/6.857/2017/.
[2]Jonathan Katz, Yehuda Lindell. Introduction to Modern Cryptography 2ed[M]. Chapman and Hall: CRC Press, 2014.
[3]Niels Ferguson, Bruce Schneier, Tadayoshi Kohno. Cryptography Engineering[M]. New Jersey: Wiley, 2010.
[4]Christof Paar, Jan Pelzl. Understanding Cryptography[M]. Switzerland: Springer International Publishing, 2010.
[5]Nigel Smart. Cryptography Made Simple[M]. Switzerland: Springer International Publishing, 2016.