侍偉敏,周藝華,楊宇光,姜 楠
(北京工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,北京 100142)
隨著互聯(lián)網(wǎng)的快速發(fā)展,信息安全日益受到重視,特別是斯諾登事件之后,世界各國(guó)更是加強(qiáng)了信息安全的建設(shè)工作[1]。國(guó)內(nèi)有80多個(gè)高校開(kāi)設(shè)了信息安全本科專(zhuān)業(yè),北京工業(yè)大學(xué)信息安全專(zhuān)業(yè)以計(jì)算機(jī)科學(xué)與技術(shù)一級(jí)學(xué)科、信息安全北京市重點(diǎn)(交叉)學(xué)科為支撐學(xué)科,以“卓越工程師培養(yǎng)計(jì)劃”[2]為目標(biāo)進(jìn)行信息安全本科專(zhuān)業(yè)人才的培養(yǎng)。
密碼學(xué)是信息安全專(zhuān)業(yè)的基礎(chǔ)課程,它是研究密碼學(xué)編碼和密碼學(xué)分析的綜合性應(yīng)用科學(xué),是保證信息系統(tǒng)的保密性、認(rèn)證性、完整性和不可否認(rèn)性等屬性的重要工具[3-4]。其中,各種加密和認(rèn)證技術(shù)是實(shí)現(xiàn)網(wǎng)絡(luò)安全環(huán)境中如電子政務(wù)和電子商務(wù)等系統(tǒng)的必要手段[5]。然而,作為信息安全專(zhuān)業(yè)重要的基礎(chǔ)課程,密碼學(xué)的課程體系建設(shè)是否完善直接影響后續(xù)專(zhuān)業(yè)課程的教學(xué)質(zhì)量和學(xué)生對(duì)信息安全專(zhuān)業(yè)的整體把握。
目前北京工業(yè)大學(xué)信息安全專(zhuān)業(yè)僅開(kāi)設(shè)密碼學(xué)數(shù)學(xué)基礎(chǔ)課程和密碼學(xué)課程,要想構(gòu)建完善的密碼學(xué)課程體系還存在以下不足。
1)密碼學(xué)數(shù)學(xué)基礎(chǔ)課程開(kāi)設(shè)少。
密碼學(xué)涉及豐富的數(shù)學(xué)知識(shí),主要包括代數(shù)、組合論、初等數(shù)論、概率論、隨機(jī)過(guò)程、圖論、數(shù)理統(tǒng)計(jì)、信息論、計(jì)算復(fù)雜性等[6]。目前信息安全專(zhuān)業(yè)僅開(kāi)設(shè)了高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計(jì)、集合與圖論課程,而對(duì)于公鑰密碼算法涉及的群、環(huán)、域,橢圓曲線,格運(yùn)算等內(nèi)容都沒(méi)有包含,因此,需要開(kāi)設(shè)相應(yīng)的課程來(lái)彌補(bǔ)以上內(nèi)容。
2)密碼學(xué)算法實(shí)驗(yàn)安排不合理。
目前,信息安全專(zhuān)業(yè)密碼學(xué)分課堂講授和實(shí)驗(yàn)兩部分,在一定程度上注重了理論與實(shí)踐相結(jié)合,但對(duì)密碼學(xué)的實(shí)驗(yàn)安排還存在不合理的現(xiàn)象。首先,實(shí)驗(yàn)算法的內(nèi)容太少,僅有對(duì)稱(chēng)密碼的DES和非對(duì)稱(chēng)的RSA算法實(shí)驗(yàn),對(duì)于學(xué)生深入理解不同類(lèi)型密碼算法顯然不夠;其次,除了選用一些經(jīng)典密碼算法DES和RSA算法之外,應(yīng)該與時(shí)俱進(jìn),設(shè)置較新的密碼算法。
3)無(wú)專(zhuān)門(mén)開(kāi)設(shè)密碼學(xué)實(shí)踐方面的課程。
密碼學(xué)具有很強(qiáng)的實(shí)踐性,比如解決網(wǎng)絡(luò)應(yīng)用環(huán)境中不可或缺的重要屬性保密性、認(rèn)證性、完整性和不可否認(rèn)性都需要借助密碼學(xué)的各種算法實(shí)現(xiàn)。由于密碼學(xué)的最終學(xué)習(xí)目標(biāo)是培養(yǎng)和造就滿(mǎn)足國(guó)家和行業(yè)需求的工程型安全人才,解決具體的國(guó)家或行業(yè)安全問(wèn)題,因此,需要教師在密碼理論課程學(xué)習(xí)的過(guò)程,除了通過(guò)課堂講授幫助學(xué)生了解密碼學(xué)的基礎(chǔ)原理和思想,還需要通過(guò)不同類(lèi)型密碼算法的編程實(shí)現(xiàn),讓學(xué)生更深入地理解密碼算法設(shè)計(jì)的流程和方法;更重要的是針對(duì)某類(lèi)信息安全問(wèn)題,運(yùn)用所學(xué)密碼學(xué)理論設(shè)計(jì)一個(gè)關(guān)于某類(lèi)信息安全問(wèn)題的密碼應(yīng)用系統(tǒng)或方案,培養(yǎng)學(xué)生設(shè)計(jì)信息系統(tǒng)安全解決方案和實(shí)現(xiàn)相應(yīng)系統(tǒng)的專(zhuān)業(yè)能力和團(tuán)隊(duì)協(xié)作能力。因此,對(duì)信息安全專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),在開(kāi)設(shè)密碼學(xué)這門(mén)課之后,再開(kāi)設(shè)關(guān)于密碼學(xué)的綜合設(shè)計(jì)實(shí)踐課程是不可缺少的。
圖1 密碼學(xué)課程建設(shè)體系結(jié)構(gòu)圖
密碼學(xué)課程體系是信息安全專(zhuān)業(yè)教學(xué)和科研工作的基礎(chǔ)和核心,其最終目標(biāo)是培養(yǎng)創(chuàng)新型、實(shí)用型的信息安全專(zhuān)用人才。根據(jù)各門(mén)密碼類(lèi)具體課程的定位內(nèi)容以及前修后續(xù)關(guān)系,筆者認(rèn)真梳理了其課程體系的邏輯關(guān)系,給出密碼課程體系關(guān)系見(jiàn)圖1。
如圖1所示,從縱向劃分主要包括密碼學(xué)基礎(chǔ)、密碼學(xué)算法、密碼學(xué)應(yīng)用和密碼學(xué)實(shí)踐4個(gè)層面。從橫向劃分,第1—4學(xué)期主要開(kāi)設(shè)一些關(guān)于密碼學(xué)數(shù)學(xué)基礎(chǔ)課程,包括高等數(shù)學(xué)、集合與圖論、概率論與數(shù)理統(tǒng)計(jì)、密碼學(xué)數(shù)學(xué)基礎(chǔ)和信息論與編碼;第5學(xué)期開(kāi)設(shè)密碼學(xué)算法課程,即密碼學(xué);第6學(xué)期開(kāi)設(shè)密碼學(xué)應(yīng)用課程,即密碼學(xué)技術(shù);第7學(xué)期開(kāi)設(shè)密碼學(xué)實(shí)踐課程,即密碼學(xué)綜合設(shè)計(jì);第5—7學(xué)期開(kāi)設(shè)一些關(guān)于密碼學(xué)前沿技術(shù)講座。各個(gè)環(huán)節(jié)的具體內(nèi)容如下。
1)密碼學(xué)基礎(chǔ)。
密碼學(xué)基礎(chǔ)層面主要開(kāi)設(shè)了4門(mén)基礎(chǔ)數(shù)學(xué)、密碼學(xué)數(shù)學(xué)基礎(chǔ)和信息論與編碼課程。其中基礎(chǔ)數(shù)學(xué)作為本專(zhuān)業(yè)的公共必修課程主要包括高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計(jì)、集合與圖論。
由于數(shù)論和代數(shù)結(jié)構(gòu)是解決密碼關(guān)鍵技術(shù)的理論基礎(chǔ),比如公鑰密碼算法涉及的群、環(huán)、域,橢圓曲線,格運(yùn)算等內(nèi)容都沒(méi)有在以上基礎(chǔ)數(shù)學(xué)課程內(nèi)包含,而現(xiàn)有各學(xué)科教學(xué)體制中缺乏專(zhuān)門(mén)介紹密碼以及信息安全涉及的數(shù)學(xué)知識(shí)的課程,因此,為了適應(yīng)信息技術(shù)發(fā)展的需求,將密碼學(xué)數(shù)學(xué)基礎(chǔ)作為一門(mén)獨(dú)立的專(zhuān)業(yè)基礎(chǔ)課程,主要講授整數(shù)的可除性、同余、二次同余與平方剩余、原根與指標(biāo)、代數(shù)基礎(chǔ)和橢圓曲線6個(gè)章節(jié),各章節(jié)的主要內(nèi)容如下。
(1)整數(shù)的可除性章節(jié)包括整除、最大公因數(shù)、最小公倍數(shù)、素?cái)?shù)的概念、歐幾里得除法、數(shù)學(xué)基本定理;整數(shù)的表示、廣義歐幾里得除法。
(2)同余章節(jié)包括同余、同余式的概念、剩余類(lèi)、歐拉定理、費(fèi)馬小定理、一次同余式、中國(guó)剩余定理。
(3)二次同余與平方剩余章節(jié)包括二次同余式、平方剩余的概念、模為奇素?cái)?shù)的平方剩余與平方非剩余、勒讓德符號(hào)、雅可比符號(hào)、模p平方。
(4)原根與指標(biāo)章節(jié)包括指數(shù)、原根及基本性質(zhì)、指標(biāo)、高次同余式的求解。
(5)代數(shù)基礎(chǔ)章節(jié)包括群的定義和性質(zhì)、陪集、置換群、循環(huán)群、環(huán)和域的基本概念、理想和商環(huán)、多項(xiàng)式環(huán)、域的有限擴(kuò)張、有限域的性質(zhì)、有限域的表示、有限域上的多項(xiàng)式。
(6)橢圓曲線章節(jié)包括基本概念、橢圓曲線的加法原理、有限域的橢圓曲線等。
在系統(tǒng)介紹與密碼學(xué)關(guān)系密切的數(shù)學(xué)知識(shí)以及一些常用的計(jì)算方法的同時(shí),應(yīng)該通過(guò)一些應(yīng)用實(shí)例使學(xué)生了解數(shù)學(xué)知識(shí)在信息安全中的應(yīng)用,通過(guò)這些實(shí)例幫助學(xué)生更好地理解抽象的數(shù)學(xué)知識(shí),為進(jìn)一步應(yīng)用數(shù)學(xué)知識(shí)解決密碼學(xué)理論與實(shí)踐問(wèn)題奠定扎實(shí)的數(shù)學(xué)基礎(chǔ)。
另外,密碼編譯算法設(shè)計(jì)、密碼系統(tǒng)安全性和密碼算法評(píng)價(jià)等均以信息論為基礎(chǔ),因此,在密碼學(xué)數(shù)學(xué)基礎(chǔ)開(kāi)設(shè)的第3學(xué)期,作為專(zhuān)業(yè)選修,又開(kāi)設(shè)了信息論與編碼課程。
2)密碼學(xué)算法。
密碼學(xué)算法層面主要以密碼學(xué)課程為主,圍繞密碼學(xué)算法,分課堂講授和實(shí)驗(yàn)兩部分。其中課堂講授主要有6個(gè)章節(jié),即緒論、序列密碼、分組密碼、公鑰密碼、消息認(rèn)證和雜湊算法、數(shù)字簽名,其中各章節(jié)的主要內(nèi)容如下。
(1)緒論主要介紹密碼學(xué)基本概念、密碼學(xué)發(fā)展、密碼體制與密碼分析、密碼體制的安全性、古典密碼體制。
(2)序列密碼介紹序列密碼的基本概念、線性反饋移位寄存器、線性移位寄存器的一元多項(xiàng)式表示、m序列。
(3)分組密碼主要介紹分組密碼的基本概念、分組密碼的設(shè)計(jì)原則、分組密碼的結(jié)構(gòu)、分組密碼的安全性、DES、AES。
(4)公鑰密碼主要介紹公鑰密碼概述、RSA、背包密碼體制、ELGamal密碼體制、Rabin密碼體制、橢圓曲線密碼體制。
(5)消息認(rèn)證和雜湊算法主要介紹雜湊函數(shù)概念及安全性、雜湊函數(shù)的構(gòu)造方法、MD5、SHA、Hash函數(shù)、消息認(rèn)證碼。
(2)適當(dāng)提前“未知數(shù)、變量的使用”“代數(shù)式的運(yùn)算”尤其是“代數(shù)式的運(yùn)算”最早開(kāi)始年級(jí);適當(dāng)推后代數(shù)思維知識(shí)主題最晚結(jié)束年級(jí).中國(guó)代數(shù)思維課程內(nèi)容階段跨度是六國(guó)中最小的國(guó)家,所屬4個(gè)知識(shí)主題均只屬一個(gè)階段,連續(xù)性較弱;然而,代數(shù)思維作為聯(lián)系“算術(shù)”與“代數(shù)”的橋梁,在澳大利亞、英國(guó)、美國(guó)、南非均橫跨小學(xué)、初中、高中3個(gè)階段,適當(dāng)延長(zhǎng)中國(guó)整個(gè)代數(shù)思維課程內(nèi)容的設(shè)置時(shí)間顯得很有必要.
(6)數(shù)字簽名主要介紹數(shù)字簽名的基本概念、利用公鑰密碼實(shí)現(xiàn)數(shù)字簽名、數(shù)字簽名標(biāo)準(zhǔn)DSS。
通過(guò)課堂講授可以讓學(xué)生掌握課程教學(xué)內(nèi)容中規(guī)定的一些基本概念、基本理論和基本方法。其中對(duì)一些基本方法的核心思想的分析,學(xué)生能夠?qū)@些基本概念和理論有更深入的理解,使之有能力將它們應(yīng)用到一些問(wèn)題的求解中。
另外,在掌握密碼學(xué)基本原理和主要算法的基礎(chǔ)上,應(yīng)結(jié)合實(shí)驗(yàn)課程教學(xué),更進(jìn)一步讓學(xué)生理解密碼學(xué)算法的主要流程和典型方法,加深對(duì)理論的理解,為之后密碼學(xué)綜合設(shè)計(jì)部分積累一定的實(shí)踐經(jīng)驗(yàn)。該部分主要包括算法驗(yàn)證和算法實(shí)現(xiàn)兩種實(shí)驗(yàn),可選用不同類(lèi)型的密碼算法,如古典密碼算法、分組密碼算法、序列密碼算法和公鑰密碼算法等。其中在算法驗(yàn)證實(shí)驗(yàn)過(guò)程中,通過(guò)各類(lèi)密碼算法的驗(yàn)證軟件,學(xué)生能更加深入地理解不同類(lèi)型密碼算法的原理和流程,更清楚地明白這些密碼算法的設(shè)計(jì)細(xì)節(jié)、工作模式、參數(shù)選擇等;另外在算法實(shí)現(xiàn)實(shí)驗(yàn)的過(guò)程中,通過(guò)利用程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)不同類(lèi)型的密碼算法,除了讓學(xué)生更好地掌握密碼算法設(shè)計(jì)的機(jī)理和方法之外,更重要的是幫助學(xué)生學(xué)會(huì)逐步分析算法的結(jié)構(gòu),培養(yǎng)學(xué)生的軟件實(shí)現(xiàn)能力、查閱資料能力、獲取適當(dāng)工具能力和表達(dá)能力等。
3)密碼學(xué)應(yīng)用。
密碼學(xué)應(yīng)用層面開(kāi)設(shè)了密碼學(xué)技術(shù),該課程是基于密碼算法解決安全問(wèn)題的重要技術(shù),主要包括密鑰管理技術(shù)、認(rèn)證技術(shù)和安全協(xié)議3個(gè)部分,具體內(nèi)容如下。
(1)密鑰管理技術(shù)主要包括密鑰的生成、密鑰的分發(fā)、密鑰的驗(yàn)證、密鑰的更新、密鑰的存儲(chǔ)和密鑰備份等技術(shù)。
(2)認(rèn)證技術(shù)主要包括相關(guān)的認(rèn)證協(xié)議如單向認(rèn)證協(xié)議、相向認(rèn)證協(xié)議、三向認(rèn)證協(xié)議和群組認(rèn)證協(xié)議以及認(rèn)證系統(tǒng)框架(如基于對(duì)稱(chēng)密鑰的認(rèn)證框架Kerberos、基于公鑰證書(shū)的認(rèn)證框架PKI技術(shù)、基于IBE的認(rèn)證框架等),其中重點(diǎn)是講解基于公鑰證書(shū)的認(rèn)證框架PKI技術(shù)(包括PKI概念及組成、數(shù)字證書(shū)、PKI技術(shù)實(shí)現(xiàn)、PKI提供服務(wù)、PKI應(yīng)用系統(tǒng))。
(3)安全協(xié)議主要包括應(yīng)用于電子郵件的安全協(xié)議、應(yīng)用于電子商務(wù)的安全協(xié)議以及可信計(jì)算中密碼應(yīng)用技術(shù),其中電子郵件安全協(xié)議介紹PGP、S-MIME、PEM,電子商務(wù)安全協(xié)議介紹安全套接層協(xié)議SSL和安全電子交易協(xié)議SET,可信計(jì)算中密碼應(yīng)用技術(shù)介紹密碼學(xué)對(duì)可信計(jì)算的支撐作用,靜態(tài)/動(dòng)態(tài)可信機(jī)制和可信計(jì)算認(rèn)證流程。
4)密碼學(xué)實(shí)踐。
密碼學(xué)實(shí)踐層主要設(shè)置了密碼學(xué)綜合設(shè)計(jì)課程,即針對(duì)某類(lèi)信息安全問(wèn)題,運(yùn)用所學(xué)的密碼算法,設(shè)計(jì)出一個(gè)密碼應(yīng)用系統(tǒng)或方案,如基于數(shù)字證書(shū)的身份認(rèn)證系統(tǒng),即實(shí)現(xiàn)認(rèn)證中心CA為用戶(hù)頒發(fā)X509證書(shū),了解數(shù)字證書(shū)的格式、證書(shū)的申請(qǐng)、審核、簽發(fā)、獲取及撤銷(xiāo)等實(shí)現(xiàn)過(guò)程,之后再基于頒發(fā)的數(shù)字證書(shū)實(shí)現(xiàn)身份的認(rèn)證功能。綜合設(shè)計(jì)實(shí)驗(yàn)使學(xué)生獲得設(shè)計(jì)、分析和解決信息安全問(wèn)題的綜合體驗(yàn),增強(qiáng)了學(xué)生理論結(jié)合實(shí)際的能力,培養(yǎng)了學(xué)生設(shè)計(jì)信息系統(tǒng)安全解決方案和實(shí)現(xiàn)相應(yīng)系統(tǒng)的專(zhuān)業(yè)能力和團(tuán)隊(duì)協(xié)作能力。
5)密碼學(xué)前沿技術(shù)講座。
隨著計(jì)算機(jī)、電子和通信等技術(shù)的不斷進(jìn)步,密碼學(xué)也得到了快速發(fā)展。然而,密碼學(xué)教材由于篇幅限制無(wú)法涵蓋最新的密碼技術(shù)。為了開(kāi)闊學(xué)生的視野,在第5—7學(xué)期開(kāi)設(shè)一些關(guān)于密碼學(xué)前沿技術(shù)講座,每個(gè)學(xué)期聘請(qǐng)外校專(zhuān)家或從事密碼學(xué)研究的教師開(kāi)設(shè)1~2次的講座,比如講解關(guān)于基于屬性的密碼學(xué)、輕量級(jí)密碼學(xué)、后量子密碼學(xué)和量子密碼學(xué)等最新進(jìn)展以及密碼學(xué)在物聯(lián)網(wǎng)、大數(shù)據(jù)、智能電網(wǎng)、車(chē)聯(lián)網(wǎng)等較新領(lǐng)域中的應(yīng)用技術(shù),讓學(xué)生跟進(jìn)密碼學(xué)最新發(fā)展動(dòng)態(tài),了解先進(jìn)的密碼學(xué)技術(shù)。這不僅開(kāi)拓了學(xué)生視野,更重要的是增強(qiáng)了學(xué)生的學(xué)習(xí)興趣。
目前信息安全專(zhuān)業(yè)還不是一個(gè)很成熟的專(zhuān)業(yè),存在許多缺陷。密碼學(xué)作為國(guó)內(nèi)信息安全專(zhuān)業(yè)的重要基礎(chǔ)課程,針對(duì)信息安全專(zhuān)業(yè),如何建設(shè)密碼學(xué)課程體系是本文的核心研究?jī)?nèi)容。當(dāng)然,密碼學(xué)課程體系的建設(shè)和發(fā)展任重道遠(yuǎn),還需要繼續(xù)不斷嘗試和探索。
參考文獻(xiàn):
[1]王鶴鳴. 從信息化發(fā)展歷程看密碼學(xué)發(fā)展——專(zhuān)訪西安電子科技大學(xué)通信工程學(xué)院王育民教授[J]. 信息安全與通信保密,2011(12): 13-15, 19.
[2]教育部. 教育部關(guān)于實(shí)施“卓越工程師教育培養(yǎng)計(jì)劃”的若干意見(jiàn) [EB/OL]. (2011-1-8)[2017-09-19]. http://www.moe.gov.cn/publicfles/business/htmlfles/moe/s6342/201102/ xxgk_115066.html.
[3]鄭彥斌, 周星辰. 密碼學(xué)課程的教學(xué)探索[J]. 大眾科技, 2017, 19(210): 88-89.
[4]王昭. 密碼學(xué)教學(xué)與創(chuàng)新教育[J]. 計(jì)算機(jī)教育, 2011(6): 41-44.
[5]盧開(kāi)澄. 計(jì)算機(jī)密碼學(xué)——計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)保密與安全[M]. 3版. 北京: 清華大學(xué)出版社, 2003.
[6]孫菁, 傅德勝.“密碼學(xué)”課程教學(xué)方法的探索與實(shí)踐[J]. 計(jì)算機(jī)教育, 2006(9): 28-30.