聶旭云,羅緒成,熊 虎,廖永建
(電子科技大學 信息與軟件工程學院,四川 成都 610054)
網(wǎng)絡安全專業(yè)是面向工程應用的一類專業(yè),學生的培養(yǎng)應強化工程實踐能力的培養(yǎng)。多數(shù)高校在網(wǎng)絡安全實踐教學中進行了大量的嘗試和改革[1-4],但多數(shù)高校的網(wǎng)絡安全實踐均圍繞網(wǎng)絡安全攻防技術展開,重點放在網(wǎng)絡攻防、主機安全、病毒防治等方面。目前產(chǎn)業(yè)界對于基于密碼學的網(wǎng)絡安全工程開發(fā)人才的需求日益增長,需要學校增強這方面人才的工程實踐能力。
密碼學是網(wǎng)絡安全的核心基礎,在信息系統(tǒng)開發(fā)過程中需要將安全工程融入其建設過程中,確保開發(fā)的信息系統(tǒng)達到信息系統(tǒng)等級保護的要求。這就要求工程實施人員熟悉密碼學的原理,掌握密碼算法及密碼協(xié)議的部署與開發(fā)。
綜合設計分為3個階段:綜合設計Ⅰ、綜合設計Ⅱ和綜合設計Ⅲ,分別在第三、四、五學期進行。這3個階段的目標、任務需要結合學生課程學習和訓練的過程,目的在于通過綜合設計訓練,提升學生系統(tǒng)應用所學知識以及軟件開發(fā)的能力,鍛煉學生文檔寫作、口頭表達能力,最終為順利完成畢業(yè)設計打下堅實的基礎。
根據(jù)專業(yè)培養(yǎng)方案,綜合設計要求全面培養(yǎng)學生在軟件工程方面的實踐能力,對完成相應的畢業(yè)要求指標點起支撐作用。各階段綜合設計的具體目標如下:
綜合設計Ⅰ:掌握信息系統(tǒng)的需求分析方法,實現(xiàn)密碼學和信息安全數(shù)學基礎涉及的主要算法,使學生認識到解決問題有多種方案,能分析文獻尋找可替代的解決方案,能夠進行陳述發(fā)言,清楚表達對復雜軟件工程問題的看法和見解。
綜合設計Ⅱ:根據(jù)需求進行總體設計、詳細設計,熟悉和掌握相關安全協(xié)議的部署和開發(fā),根據(jù)應用場景,選擇合適的開發(fā)環(huán)境、工具與技術標準,為下一步系統(tǒng)實現(xiàn)做準備。通過該階段的訓練,使學生能夠針對復雜軟件工程問題,設計滿足特定需求的總體設計和詳細設計;能夠根據(jù)軟件系統(tǒng)應用場景,選擇合適的開發(fā)環(huán)境和工具;能夠獨立完成團隊分配的任務,并勝任團隊成員角色,承擔相應的責任。
綜合設計Ⅲ:建立信息安全整體意識,實現(xiàn)相應的安全軟件系統(tǒng),使學生能夠集成單元過程進行軟件系統(tǒng)流程設計,對流程設計方案進行優(yōu)選;選擇相應的技術工具,針對軟件工程及相關領域的復雜工程問題,進行預測、模擬及測試;能夠與團隊其他成員有效溝通,聽取反饋意見,并綜合團隊成員的意見,進行合理決策;能夠進行陳述發(fā)言,清楚表達對復雜軟件工程問題的看法和見解。
綜合設計的3個階段層次遞進,前后銜接,使學生在進行系統(tǒng)軟件開發(fā)時融入安全工程,提升所開發(fā)系統(tǒng)的安全性。
綜合設計的內(nèi)容要考慮學生其他課程學習的進度。根據(jù)本專業(yè)培養(yǎng)方案,綜合設計的3個階段和相關課程的關系見圖1。
圖1 綜合設計與其他課程之間的關系
根據(jù)上述關系圖,綜合設計3個階段的內(nèi)容設置如下:
綜合設計Ⅰ:綜合設計Ⅰ開設在第三學期,學生在一、二學期已經(jīng)學習了信息安全導論、C語言、數(shù)據(jù)結構與算法等課程,了解了信息安全的屬性和X.800中定義的安全服務和安全機制,也具備了初步的編程能力。在第三學期,開設軟件工程和信息安全數(shù)學基礎課程,這兩門課程的開設為綜合設計Ⅰ的內(nèi)容設置提供幫助。在軟件工程課程中,學生學習如何進行軟件需求分析和系統(tǒng)設計,而在信息安全數(shù)學基礎課程學習常用的數(shù)學工具和一些典型的密碼算法。綜合設計Ⅰ的具體內(nèi)容有:
(1)密碼算法實現(xiàn)。實現(xiàn)RSA、ElGamal、AES、ECC、DSS等典型的公鑰加密算法或數(shù)字簽名算法。
(2)信息系統(tǒng)的需求分析:安全電子商務、安全電子郵件、安全即時通信軟件、在線考試系統(tǒng)等系統(tǒng)的需求分析,除功能需求外還需要重點考慮系統(tǒng)的安全需求。
綜合設計Ⅱ:綜合設計Ⅱ開設在第四學期。本學期學生學習了現(xiàn)代密碼學、計算機網(wǎng)絡等課程。在計算機網(wǎng)絡課程,學生了解了網(wǎng)絡協(xié)議的原理。通過現(xiàn)代密碼學,學生掌握了安全協(xié)議的原理。因此,綜合設計Ⅱ的具體內(nèi)容設置如下:
(1)安全協(xié)議的搭建及簡單應用。PKI系統(tǒng)的建立;SSL、VPN、IPSEC等協(xié)議的搭建及簡單應用。
(2)信息系統(tǒng)的設計。安全電子商務、安全電子郵件、安全即時通信軟件、在線考試系統(tǒng)等系統(tǒng)的設計,包括總體設計、概要設計和詳細設計。
綜合設計Ⅲ:綜合設計Ⅲ開設在第五學期。本學期學生學習了網(wǎng)絡編程和操作系統(tǒng)編程,為綜合設計Ⅲ的系統(tǒng)奠定基礎。學生還學習了信息安全工程,進一步理解了信息系統(tǒng)中安全組件的開發(fā)與部署。綜合設計Ⅲ的具體內(nèi)容如下:
(1)信息系統(tǒng)的實現(xiàn):實現(xiàn)安全電子商務、安全電子郵件、安全即時通信軟件、在線考試系統(tǒng)等系統(tǒng),并進行測試。
(2)安全評估:結合信息系統(tǒng)安全等級保護基本要求,針對小型信息系統(tǒng)進行安全評估及安全規(guī)劃。
以上各階段的設計內(nèi)容都是可選的,也不限于以上內(nèi)容,只要能滿足綜合設計培養(yǎng)目標的選題都可以納入具體內(nèi)容當中。
從3個階段的具體內(nèi)容可以看出3個階段的關聯(lián)性和延續(xù)性,從綜合設計Ⅰ到綜合設計Ⅲ基本上能夠完成軟件工程的全過程。
綜合設計一般由導師出題,學院統(tǒng)一發(fā)布,學生自由組隊,一個課題僅允許4~6名學生參加。為了保證綜合設計指導質量,一個導師一學期內(nèi)最多指導30名學生。
各階段的綜合設計都采用討論課形式完成。根據(jù)綜合設計題目,學生在閱讀相關文獻的基礎上,提出主要工作內(nèi)容,并分工,制定項目進度計劃。在各綜合設計實施階段,每周固定時間(2課時)進行小組討論,每個討論班有5~7個小組以及2~3名指導教師參加。討論會包括本周進展匯報(PPT,報告人隨機指定),所遇問題討論或解決問題方法分享,以及指導教師的每組提問及點評。綜合設計實施過程中,以學生為主導,指導教師參與討論,給出進展建議,以及協(xié)助解決關鍵技術問題。指導教師在綜合設計開始前(或初期),給出整個綜合設計的總體要求、實施建議等。通過綜合設計Ⅰ、Ⅱ、Ⅲ,實現(xiàn)從基礎—技術—應用的階梯式工程能力培養(yǎng)模式。
綜合設計不能僅僅通過綜合設計報告進行評價和考核,應當綜合考慮學生在課題實施過程中文獻查找、問題討論、現(xiàn)場陳述、系統(tǒng)開發(fā)和文檔寫作等方面的表現(xiàn)。
每個階段(綜合設計Ⅰ、Ⅱ、Ⅲ)都需要依據(jù)學生的綜合設計實施過程、文檔寫作和總結答辯情況進行考核。導師在每學期第12周左右對綜合設計進行中期檢查,并根據(jù)中期報告進行評價;導師根據(jù)每周討論課的PPT匯報以及討論情況給出學生的平時成績,學院在學期期末組織專家對所有綜合設計課題進行答辯評審,最后將中期、平時成績和答辯成績乘以相應權重進行統(tǒng)分,給出最終的考核成績。在各個階段的答辯中,需要有現(xiàn)場演示和現(xiàn)場問題解決考核環(huán)節(jié),需要明確闡述小組成員所承擔工作任務及工作量。
綜合設計在軟件工程實踐教學中起著積極的作用。課程組就綜合設計對畢業(yè)要求指標點的支撐做了進一步分析。
電子科技大學軟件工程專業(yè)的畢業(yè)要求2為“問題分析”,要求學生“能夠應用數(shù)學、自然科學和工程科學的基本原理,通過文獻研究,分析復雜軟件系統(tǒng)問題,以獲得有效結論”。綜合設計I的主要任務是基礎算法的實現(xiàn)和系統(tǒng)的需求分析,它支撐的畢業(yè)要求指標點定位為“能認識到解決問題有多種方案可選擇;能分析文獻尋求可替代的解決方案”。
畢業(yè)要求3為“設計/開發(fā)解決方案”,要求學生“能夠針對復雜軟件工程問題,提出滿足需求的總體設計和詳細設計方案,并能夠在設計環(huán)節(jié)中體現(xiàn)創(chuàng)新意識,考慮社會、健康、安全、法律、文化以及環(huán)境等因素”。綜合設計Ⅱ的主要任務是系統(tǒng)設計,它支撐的畢業(yè)要求指標點定位為“能夠針對復雜軟件工程問題,設計滿足特定需求的總體設計和詳細設計,體現(xiàn)創(chuàng)新意識;能夠集成單元過程進行軟件系統(tǒng)流程設計,對流程設計方案進行優(yōu)選”。
畢業(yè)要求5為“使用現(xiàn)代工具”,要求學生“能夠針對復雜軟件系統(tǒng),選擇與使用合適的開發(fā)環(huán)境、工具與技術標準,進行模擬和測試,并對輸出結果進行分析,得出相應的評估結論,理解相關工具的特點及局限性”。 它支撐的畢業(yè)要求指標點定位為“能夠根據(jù)軟件系統(tǒng)的應用場景,選擇合適的開發(fā)環(huán)境、工具與技術標準進行軟件系統(tǒng)的開發(fā),并理解各自的特點與局限性?!本C合設計Ⅲ還需要對畢業(yè)要求9“個人與團隊”起到支撐作用,定位為“能夠獨立完成團隊分配的工作,并能勝任團隊成員角色,承擔相應責任;能夠與團隊其他成員有效溝通,聽取反饋意見,并綜合團隊成員的意見,進行合理決策”。
以上對畢業(yè)要求指標點的支撐,均可以反映在各階段的任務考核之中。
電子科技大學軟件工程(網(wǎng)絡安全工程)專業(yè)于2012年開始招生,前期在網(wǎng)絡安全工程實踐教學方面嘗試開設了信息安全基礎綜合設計實驗、網(wǎng)絡安全綜合設計實驗和網(wǎng)絡與信息系統(tǒng)安全綜合設計實驗3門實驗課程[5],但是由于課程之間的內(nèi)容銜接和關聯(lián)性并不強,未能起到應有的效果。這幾門課程在軟件工程專業(yè)工程教育認證中對畢業(yè)要求指標點的支撐也顯得不夠充分。因此,本專業(yè)嘗試開設綜合設計Ⅰ、Ⅱ、Ⅲ3個循序漸進的工程實踐環(huán)節(jié)取代3門綜合設計實驗課程,借鑒同類高校在密碼學方面的實踐經(jīng)驗[6-8],結合工程教育認證的理念[9],對綜合設計的內(nèi)容進行精心設計,以培養(yǎng)網(wǎng)絡安全工程實踐能力為目的,為相應的人才培養(yǎng)提供幫助。
電子科技大學軟件工程(網(wǎng)絡安全工程)專業(yè)的綜合設計按照學生課程學習的進度,結合工程教育認證理念,制定了從基礎到技術到應用的3個階段,符合軟件工程過程要求。通過網(wǎng)絡安全綜合設計的改革和探索,學生對密碼學的興趣得到了極大的提升,對密碼學理論也理解得更為透徹,學生畢業(yè)后在網(wǎng)絡安全、密碼學方向上的深造率和就業(yè)率也將得到改善。
目前,國產(chǎn)密碼正在全面實施和應用,今后綜合設計的內(nèi)容中將增強國產(chǎn)密碼的實現(xiàn)與應用。密碼測評也是密碼應用的一個重要組成部分,將在綜合設計中逐步開展。