代銳鋒
(內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院,內(nèi)蒙古 呼和浩特 010070)
近年來,我國(guó)在面臨信息化技術(shù)飛速發(fā)展的背景形勢(shì)下,教育教學(xué)工作在不斷進(jìn)行改革,大部分高校都建立了自己的校園網(wǎng)。作為當(dāng)前高?;A(chǔ)設(shè)施建設(shè)十分重要的部分,校園網(wǎng)為提高高校教學(xué)管理水平及改進(jìn)教學(xué)質(zhì)量起到了十分重要的作用[1]。校園網(wǎng)的安全狀況直接影響到學(xué)校正常的教學(xué)活動(dòng),但是現(xiàn)在互聯(lián)網(wǎng)安全問題越來越多,網(wǎng)絡(luò)攻擊嚴(yán)重影響到了校園網(wǎng)絡(luò)通信安全。成熟的PKI技術(shù)可以應(yīng)用于學(xué)校安全網(wǎng)絡(luò)系統(tǒng)之中,通過構(gòu)建屬于自己校園網(wǎng)絡(luò)的數(shù)字證書認(rèn)證系統(tǒng),確保校園網(wǎng)絡(luò)體系的安全運(yùn)營(yíng)。PKI可以利用公鑰理論來構(gòu)建校園安全網(wǎng)絡(luò)通信模型,結(jié)合SSL協(xié)議,構(gòu)建出一條連接客戶端和服務(wù)器端的安全保密通道。SSL協(xié)議涉及所有TCP/IP應(yīng)用程序,能夠保護(hù)數(shù)據(jù)傳輸?shù)臋C(jī)密性、完整性,認(rèn)證客戶端和服務(wù)器端的合法性。
虛擬專用網(wǎng)(VPN)可以有效解決在計(jì)算機(jī)公共網(wǎng)絡(luò)之中的私有信息數(shù)據(jù)傳輸中的安全性,安全套接層協(xié)議(SSL)是其中一項(xiàng)相對(duì)成熟而有效的技術(shù)。當(dāng)前,SSL技術(shù)在高校校園網(wǎng)中有著非常多的應(yīng)用,如張澤[2]在云南師范大學(xué)文理學(xué)院的校園網(wǎng)構(gòu)建中,利用SSL及VPN技術(shù)來解決校園網(wǎng)在電子資源用戶共享中存在的問題,并取得了較好的效果。在公用網(wǎng)絡(luò)之中,利用SSL VPN技術(shù)能夠?qū)崿F(xiàn)點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)發(fā)送,保證數(shù)據(jù)傳輸過程中不會(huì)被干擾,具有很好的保密性[3]。如我國(guó)國(guó)家圖書館就是利用SSL VPN技術(shù)進(jìn)行資源的外購(gòu)和自建,為讀者用戶提供可靠的遠(yuǎn)程訪問技術(shù)[4]。由于SSL協(xié)議會(huì)對(duì)服務(wù)器造成大量資源的占用,因而需要考慮提供服務(wù)器的效率,電子商務(wù)系統(tǒng)中,可以利用Kerberos的認(rèn)證方式來進(jìn)行SSL的密鑰交換方式的認(rèn)證[5]。經(jīng)過多年的發(fā)展,SSL當(dāng)前已經(jīng)成為Internet中最為常用的協(xié)議之一,將SSL應(yīng)用于數(shù)據(jù)的處理中,其計(jì)算成本大約要增加5~7倍,在工作中受限于CPU的性能,因而可以通過其他體系結(jié)構(gòu)功能來提升SSL的性能[6]。
隨著現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展和信息化程度的不斷提高,計(jì)算機(jī)病毒廣泛充斥于網(wǎng)絡(luò)之中,網(wǎng)絡(luò)信息安全甚至已經(jīng)威脅到了國(guó)家的安全和穩(wěn)定,因而需要構(gòu)建計(jì)算機(jī)信息系統(tǒng)和網(wǎng)絡(luò)通信安全體系[7-8]。信息安全是要保證網(wǎng)絡(luò)信息在傳輸過程中有著很好的可控性、完整性、機(jī)密性,保證每一個(gè)信息傳輸環(huán)節(jié)都能夠安全到達(dá)[9]。高校校園網(wǎng)絡(luò)的建成,極大便利了師生的教學(xué),可以在線實(shí)現(xiàn)成績(jī)查詢、在線教學(xué)、課件下載、資源共享、考試報(bào)名等操作,但是必須要確保校園網(wǎng)絡(luò)中的信息傳輸不被篡改。校園網(wǎng)絡(luò)通信中常見的安全問題主要有信息破壞、信息篡改、身份竊取以及信息泄露這4方面。龍新征等人[10]構(gòu)建的校園網(wǎng)絡(luò)通信模型,可以通過高性能網(wǎng)絡(luò)安全環(huán)境來保證信息安全傳輸,使得校園中的各項(xiàng)教學(xué)管理工作能夠正常開展。張棟毅[11]認(rèn)為基于PKI技術(shù)及SSL協(xié)議,可以很好實(shí)現(xiàn)客戶端及服務(wù)器端之間的加密通信,只要通信雙方基于數(shù)字證書確認(rèn)了彼此的身份就能夠正常開展通信。利用SSL協(xié)議,可以確保客戶端及服務(wù)器端認(rèn)證的合法性,實(shí)現(xiàn)握手交換數(shù)據(jù)的數(shù)字認(rèn)證。在交換SSL初始握手信息時(shí),信息就會(huì)被加密技術(shù)加密,并利用數(shù)字證書來鑒別,以有效防止數(shù)據(jù)信息被非法用戶破譯[12]。
SSL協(xié)議是實(shí)現(xiàn)Internet上點(diǎn)到點(diǎn)之間安全數(shù)據(jù)通信的主要協(xié)議,位于網(wǎng)絡(luò)層協(xié)議及應(yīng)用協(xié)議層之間[13]。SSL協(xié)議底層位于可靠傳輸協(xié)議之上,主要是進(jìn)行高層協(xié)議數(shù)據(jù)的封裝,包含了警告協(xié)議、SSL握手協(xié)議以及更改密碼規(guī)范協(xié)議,其層次結(jié)構(gòu)具體如圖1所示。
圖1 SSL協(xié)議分層模型結(jié)構(gòu)
SSL記錄層協(xié)議將收到的數(shù)據(jù)進(jìn)行處理,在加密、壓縮等操作之后交給下一層網(wǎng)絡(luò)傳輸協(xié)議進(jìn)行處理,而對(duì)于收到的數(shù)據(jù)信息,則進(jìn)行解密、解壓縮和驗(yàn)證等,并將處理后的數(shù)據(jù)發(fā)送至更高層用戶[14]。SSL記錄層協(xié)議對(duì)數(shù)據(jù)的執(zhí)行過程主要包括了分段、壓縮單元、加密單元以及添加SSL記錄首部等,其具體的執(zhí)行過程如圖2所示。
圖2 SSL協(xié)議分層執(zhí)行過程
SSL協(xié)議中有2個(gè)十分重要的概念,分別是SSL連接和SSL會(huì)話[15]。SSL連接指的是點(diǎn)對(duì)點(diǎn)的關(guān)系,一般這種連接是短暫的特定類服務(wù)傳輸,每個(gè)連接都對(duì)應(yīng)著一個(gè)會(huì)話。握手協(xié)議創(chuàng)建的會(huì)話包含了加密算法、初始向量等,可以是多個(gè)鏈接的共享,從而避免了單個(gè)鏈接安全參數(shù)協(xié)商所浪費(fèi)的時(shí)間[16]。客戶端和服務(wù)器端之間可以由多個(gè)安全SSL連接在一起,它們往往共享同一個(gè)會(huì)話,一旦會(huì)話建立了,就會(huì)有操作狀態(tài)進(jìn)行信息的接收和發(fā)送。SSL協(xié)議中常用的加密算法包含了密鑰交換、數(shù)據(jù)加密以及散列算法這3種[17]。3種算法的加密套件詳見表1。
表1 SSL協(xié)議中常用的3種算法加密套件
SSL協(xié)議中引入了許多安全機(jī)制來提升通信網(wǎng)絡(luò)安全,利用數(shù)據(jù)加密、身份認(rèn)證等其他方式來提供安全通知功能,這些安全保護(hù)都需要系統(tǒng)能夠產(chǎn)生出正確的密鑰資料。Master_secret產(chǎn)生的加密密鑰可以有效保護(hù)信息數(shù)據(jù),是整個(gè)協(xié)議的安全核心所在,如果網(wǎng)絡(luò)攻擊者能夠成功攻破Master_secret,那么會(huì)話就會(huì)暴露在攻擊之下。主密鑰的生成一般是經(jīng)過了多次hash運(yùn)算后得到的,攻擊者要進(jìn)行Master_secres的攻擊,可以獲取服務(wù)器的私鑰,抑或是客戶端、服務(wù)器端產(chǎn)生的隨機(jī)數(shù)強(qiáng)度較弱。在諸多攻擊中,通信量的分析屬于被動(dòng)的惡意攻擊,想要達(dá)成還需要同時(shí)具備諸多前提條件,一般只需要在使用過程中盡可能避免通信業(yè)務(wù)重要信息流出即可。SSL協(xié)議中的諸多加密算法能夠讓攻擊者無(wú)法獲取到與密文對(duì)應(yīng)的明文,但是它可以用“中間人”身份和攻擊方式來截取文件,并可能會(huì)進(jìn)行修改和刪除等,采用SSL協(xié)議就能夠防止“中間人”或者是“監(jiān)聽”的攻擊[18]。雖然對(duì)于大多數(shù)的安全任務(wù)來說,SSL協(xié)議已經(jīng)卓有成效,但是在很多情況下SSL協(xié)議任務(wù)并不適用,例如提供數(shù)據(jù)不可抵賴性??傊瑢?duì)于SSL協(xié)議來說,其核心根本就是Master_secret主密鑰,只要主密鑰被攻破了,那么整個(gè)SSL協(xié)議也就暴露在攻擊者面前。
將PKI應(yīng)用到校園網(wǎng)絡(luò)通信安全中,可以實(shí)現(xiàn)結(jié)構(gòu)精簡(jiǎn)、安全可靠的學(xué)校系統(tǒng),整個(gè)系統(tǒng)包含了多個(gè)功能模塊,各模塊之間有機(jī)結(jié)合在一起,具體如圖3所示。每一個(gè)基于PKI技術(shù)的校園數(shù)字證書認(rèn)證系統(tǒng)都需要結(jié)合不同學(xué)校的實(shí)際情況,要綜合考慮不同學(xué)校的地理位置、系統(tǒng)使用需求、經(jīng)濟(jì)狀況等。
圖3 基于PKI技術(shù)的校園數(shù)字證書認(rèn)證系統(tǒng)功能結(jié)構(gòu)圖
為了能夠滿足校園網(wǎng)的各項(xiàng)功能需求,同時(shí)節(jié)約成本,校園網(wǎng)的可信任區(qū)域邊界是確定的,在進(jìn)行校園網(wǎng)數(shù)字證書認(rèn)證系統(tǒng)構(gòu)建的時(shí)候,應(yīng)當(dāng)將校園網(wǎng)視作是獨(dú)立的主體。在該系統(tǒng)之中,客戶和符合群體的身份授權(quán)都是由權(quán)威中心仲裁決定的,因而容易解決信任關(guān)系的問題。數(shù)字證書的管理具體包含了數(shù)字證書的申請(qǐng)、簽發(fā)、更新、撤銷以及查詢等,是整個(gè)系統(tǒng)的核心所在[19]。數(shù)字證書的申請(qǐng)分為在線申請(qǐng)和離線申請(qǐng),在線申請(qǐng)一般是利用瀏覽器或其他在線應(yīng)用系統(tǒng)來申請(qǐng)證書,離線申請(qǐng)則是線下人工的方式直接在具體的機(jī)構(gòu)受理點(diǎn)進(jìn)行申請(qǐng),審核后就能夠獲得證書。本文的證書申請(qǐng)選擇離線申請(qǐng)方式,由于注冊(cè)機(jī)構(gòu)都在校內(nèi),因而便于教職員工和學(xué)生去申請(qǐng)和注冊(cè)機(jī)構(gòu)審核。數(shù)字證書有著非常復(fù)雜的簽發(fā)過程,當(dāng)認(rèn)證中心管理人員接收相關(guān)申請(qǐng)后,若簽證驗(yàn)證通過則說明用戶申請(qǐng)證書請(qǐng)求得到同意[20]。給用戶簽發(fā)加密證書時(shí),需要密鑰管理中心獲得加密密鑰對(duì),數(shù)字證書認(rèn)證中心對(duì)證書進(jìn)行簽名,所有返回客戶信息都需要經(jīng)過認(rèn)證中心簽名以保證消息的完整性,其具體流程如圖4所示。加密證書簽發(fā)完成后,密鑰管理中心以及數(shù)字證書認(rèn)證中心之間都擁有和信任彼此的證書,二者是基于數(shù)字證書實(shí)現(xiàn)SSL的安全網(wǎng)絡(luò)通信。
圖4 數(shù)字證書簽發(fā)流程圖
密鑰管理中心通過國(guó)家相關(guān)機(jī)構(gòu)授權(quán)后,能夠在特定的通信過程中進(jìn)行密文破譯,它本身是不進(jìn)行信息加密的密鑰,僅僅只是提供一個(gè)能夠進(jìn)行密鑰恢復(fù)的手段[21]。利用密鑰管理中心可以實(shí)現(xiàn)密鑰材料的登記、銷毀、認(rèn)證、注銷等,必要的時(shí)候,在征得用戶或法律規(guī)定下才能解開并取出托管密鑰。密鑰管理中心系統(tǒng)結(jié)構(gòu)圖如圖5所示,涵蓋了生成密鑰、管理密鑰、認(rèn)證管理、密碼服務(wù)等部分。
圖5 密鑰管理中心系統(tǒng)結(jié)構(gòu)圖
PKI應(yīng)用中的核心問題之一就是密鑰管理,目前對(duì)于同一個(gè)PKI實(shí)體同時(shí)擁有多個(gè)密鑰對(duì)已經(jīng)十分常見,本文提出的高校安全通信網(wǎng)絡(luò)系統(tǒng)中的數(shù)字證書認(rèn)證系統(tǒng)采用的是不同的密鑰機(jī)密性及不可否性2種服務(wù)分離開[22]機(jī)制??蛻糇约寒a(chǎn)生簽名證書中的私鑰,禁止其他用戶知道私鑰的相關(guān)信息,這保證了信息完整性以及不可抵賴性。加密證書中的私鑰是密鑰管理中心以用戶名義來產(chǎn)生的,且在數(shù)據(jù)庫(kù)中進(jìn)行了備份,完成客戶解密私鑰的托管。一般情況下,數(shù)字證書都會(huì)有2~3年左右的有效期,用戶應(yīng)當(dāng)及時(shí)進(jìn)行密鑰的更新。每過一段時(shí)間,用戶都會(huì)形成一個(gè)當(dāng)前正在使用的證書和多個(gè)以前使用過的“舊”證書,這就形成了用戶私鑰的歷史檔案。密鑰由于存在有效期,因而必須要采用合適的措施來存儲(chǔ)過期私鑰,避免數(shù)據(jù)出現(xiàn)恢復(fù)的危險(xiǎn)。
校園網(wǎng)絡(luò)通信的構(gòu)建是基于SSL協(xié)議加密的,避免數(shù)據(jù)被竊聽,客戶端和服務(wù)器端之間構(gòu)建了彼此可以信賴的數(shù)字證書庫(kù),以確保雙方身份的合法性以及不可否認(rèn)性。在校園網(wǎng)絡(luò)通信模型中,服務(wù)器是系部或?qū)W院的數(shù)據(jù)中心,客戶端是個(gè)人用戶的數(shù)據(jù)中心。該模型的核心部分是SSL協(xié)議,模型的處理部分是處于應(yīng)用層和TCP協(xié)議間的,數(shù)據(jù)的采集整理依賴于應(yīng)用層模塊,其整個(gè)流程圖和各個(gè)功能模塊如圖6所示。
圖6 密鑰管理中心系統(tǒng)結(jié)構(gòu)模塊邏輯圖
整個(gè)模型的上層是應(yīng)用層模塊,其他應(yīng)用模塊都是基于應(yīng)用模塊連接的。應(yīng)用層模塊在接收到數(shù)據(jù)后,會(huì)對(duì)數(shù)據(jù)進(jìn)行處理并得到合適的數(shù)據(jù)格式,數(shù)據(jù)經(jīng)由握手層模塊發(fā)送傳輸?shù)接涗泴幽K之中,所有應(yīng)用層模塊數(shù)據(jù)都是明文數(shù)據(jù)。整個(gè)模型的管理配置是由管理模塊負(fù)責(zé)的,用戶的信息交流都基于該平臺(tái)實(shí)現(xiàn),用戶能夠利用模塊來設(shè)置會(huì)話參數(shù)、私鑰參數(shù)以及進(jìn)行數(shù)字證書的管理。整個(gè)模型的核心控制部分是核心控制模塊,它利用記錄層模塊和握手層模塊來完成相關(guān)的動(dòng)作,為服務(wù)器端以及客戶端提供數(shù)字證書。
任何數(shù)據(jù)在進(jìn)行傳輸前,都必須要完成握手,隨后進(jìn)入數(shù)據(jù)傳輸階段[23]。當(dāng)客戶端和服務(wù)器端在協(xié)議版本上達(dá)成一致時(shí),就會(huì)利用加密算法和身份認(rèn)證等生成共享密鑰,實(shí)現(xiàn)加密安全通信。握手消息處理模塊的關(guān)鍵所在是實(shí)現(xiàn)消息的同步,在通信之初,雙方必須反復(fù)進(jìn)行信息的交互,當(dāng)彼此完成了協(xié)商并生成加密密鑰后再進(jìn)行握手操作。網(wǎng)絡(luò)信息安全系統(tǒng)在運(yùn)行過程中,SSL握手模塊接收和發(fā)送的信息以及需要處理的消息是非常多的,來自于各方不同類型的消息決定了接收方下一步要進(jìn)行的操作和連接狀態(tài),此時(shí)需要利用“消息類型+狀態(tài)→動(dòng)作”機(jī)制來進(jìn)行消息類型的區(qū)分。接收方在接收到消息之后,除了需要根據(jù)消息類型進(jìn)行判斷,消息類型的區(qū)分還會(huì)和服務(wù)器端及客戶端狀態(tài)相關(guān)。
記錄層采用對(duì)稱加密算法進(jìn)行數(shù)據(jù)加密,該算法又可以具體分為流加密算法和塊加密算法。由于流加密算法每次進(jìn)行數(shù)據(jù)處理都只是單個(gè)字節(jié),因而每次進(jìn)行數(shù)據(jù)分塊時(shí)都需要進(jìn)行填充。
系統(tǒng)的仿真環(huán)境設(shè)定在校園信息網(wǎng)絡(luò)中心局域網(wǎng)環(huán)境之下,設(shè)置A、B這2臺(tái)計(jì)算機(jī)開展系統(tǒng)仿真,2臺(tái)計(jì)算機(jī)的配置詳見表2。
表2 SSL協(xié)議中主要的加密算法
校園網(wǎng)絡(luò)的通信模型是在軟件Stunnel基礎(chǔ)上的OpenSSL軟件,可以應(yīng)用于Unix以及Windows平臺(tái),采用的是Client/Server工作模式,進(jìn)行系統(tǒng)仿真的時(shí)候,利用代理軟件Privoxy代理服務(wù)器端。
基于Stunnel軟件的安全網(wǎng)絡(luò)通信,是在局域網(wǎng)環(huán)境中構(gòu)建安全網(wǎng)絡(luò)通信模型,其仿真系統(tǒng)的結(jié)構(gòu)功能具體如圖7所示。
在仿真環(huán)境中運(yùn)行仿真系統(tǒng),經(jīng)由客戶端電腦上面的瀏覽器進(jìn)行連接,通過服務(wù)器端代理軟件Privoxy連接起來后,將所有數(shù)據(jù)接發(fā)過程進(jìn)行SSL加密處理,客戶端和服務(wù)器端的運(yùn)行效果如圖8所示。
圖7 系統(tǒng)仿真的結(jié)構(gòu)功能圖
圖8 客戶端和服務(wù)器端的運(yùn)行效果
從仿真結(jié)果可以看出,客戶端和服務(wù)器端各項(xiàng)功能都能夠正常運(yùn)行,用戶能夠利用安全網(wǎng)絡(luò)通信正常訪問。本文的仿真系統(tǒng)結(jié)構(gòu)和系統(tǒng)設(shè)計(jì)結(jié)構(gòu)是相似的。
校園安全網(wǎng)絡(luò)體系的構(gòu)建是當(dāng)前高?;A(chǔ)設(shè)施建設(shè)以及教育改革的重要方向,校園網(wǎng)絡(luò)通信模型能夠?yàn)閷W(xué)校提供一個(gè)行政管理、教學(xué)交流、信息傳送的快捷平臺(tái)。本文基于PKI技術(shù)結(jié)合SSL協(xié)議構(gòu)建了校園網(wǎng)絡(luò)安全通信模型,基于該模型可以實(shí)現(xiàn)客戶端及服務(wù)器端的數(shù)據(jù)安全傳輸。該系統(tǒng)的關(guān)鍵核心是構(gòu)建基于PKI技術(shù)的數(shù)字認(rèn)證系統(tǒng)。為了能夠適應(yīng)高校的環(huán)境和安全使用需求,本文具體設(shè)計(jì)了密鑰管理中心的具體方案。為了驗(yàn)證此次設(shè)計(jì)的校園網(wǎng)絡(luò)通信體系的有效性和實(shí)用性,在Stunnel軟件上構(gòu)建了網(wǎng)絡(luò)通信模型,并利用2臺(tái)計(jì)算機(jī)分別作為服務(wù)器和客戶端進(jìn)行仿真實(shí)驗(yàn)。仿真結(jié)果顯示,校園網(wǎng)絡(luò)通信系統(tǒng)能夠正常運(yùn)行,運(yùn)行過程中可以保證系統(tǒng)的安全性。但是本文提出的系統(tǒng)僅進(jìn)行了仿真分析,后續(xù)擬將其應(yīng)用于校園中,打造基于PKI及SSL協(xié)議的校園網(wǎng)絡(luò)安全通信系統(tǒng)。