暢麗紅,裴煥斗,楊佩宗
1(中北大學(xué) 儀器與電子學(xué)院,太原 030051) 2(山西百信信息技術(shù)有限公司,太原 030006) E-mail:2538663822@qq.com
在信息技術(shù)高速發(fā)展的現(xiàn)代社會,網(wǎng)絡(luò)空間已然成為人們?nèi)粘I蠲懿豢煞值闹匾糠趾徒?jīng)濟(jì)社會正常運行的核心支撐,但信息安全隱患威脅著國計民生和社會穩(wěn)定.長期以來,基于IP技術(shù)的防火墻、病毒查殺與入侵檢測等網(wǎng)絡(luò)安全技術(shù)已經(jīng)很難應(yīng)對當(dāng)今層出不窮的攻擊手段.這些技術(shù)手段大多以防為主,只是讓系統(tǒng)處于被動防御的狀態(tài),很難從根源與體系上解決計算機(jī)網(wǎng)絡(luò)的安全問題.
將可信計算機(jī)平臺從終端的可信繼續(xù)向網(wǎng)絡(luò)延伸,進(jìn)一步建立可信網(wǎng)絡(luò)的主動防御已經(jīng)成為當(dāng)今重要的研究與發(fā)展方向[1].文獻(xiàn)[2]提出的基于可信的嵌入式終端依靠TCM芯片獲取自身身份及狀態(tài)信息,向可信網(wǎng)關(guān)進(jìn)行平臺身份認(rèn)證方法忽略了網(wǎng)絡(luò)訪問控制層存在的身份篡改問題;文獻(xiàn)[3]提出的基于IEEE 802.1x的TNC認(rèn)證模型則只是在網(wǎng)絡(luò)訪問控制層加入可信防護(hù)手段,而忽略了嵌入式終端自身存在的問題,以及Linux系統(tǒng)存在的安全威脅.
本文針對以上兩種方法存在的問題提出了一種基于IEEE 802.1x協(xié)議的符合TNC要求的擴(kuò)展協(xié)議,并在該協(xié)議的基礎(chǔ)上,設(shè)計了一套面向嵌入式系統(tǒng)的網(wǎng)絡(luò)認(rèn)證模型,將傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù)和可信計算技術(shù)相結(jié)合,發(fā)揮各自的優(yōu)勢,實現(xiàn)從嵌入式的終端可信拓展到網(wǎng)絡(luò)的全部可信,實現(xiàn)對整個嵌入式網(wǎng)絡(luò)的雙重安全防護(hù).
本文研究的身份認(rèn)證模型適用于C/S架構(gòu)網(wǎng)絡(luò)體系,其信息流程圖如圖1所示.當(dāng)TNC客戶端有網(wǎng)絡(luò)訪問需求時,會向TNC認(rèn)證服務(wù)器端提出連接請求,請求的報文中會包含客戶端的狀態(tài)信息,這些信息有一部分是由終端的PCR值表征的,TNC服務(wù)器會分析客戶端發(fā)來的數(shù)據(jù),提取出當(dāng)前客戶端的狀態(tài),然后與服務(wù)器預(yù)期的數(shù)值進(jìn)行比對,最后根據(jù)已下發(fā)的策略判斷客戶端是否能接入.
可信計算組織TCG(Trusted Computing Group)是由TC-PA(Trusted Computing Platform Alliance)在2001年發(fā)布了可信計算平臺標(biāo)準(zhǔn)規(guī)范后,于2003年改組為TCG.TCPA是由Intel和Microsoft等在1999年牽頭成立的組織,該組織主張從體系結(jié)構(gòu)出發(fā),增強(qiáng)系統(tǒng)穩(wěn)定性與安全性.可信計算(Trusted Computing)本身是一種基于硬件加密技術(shù)的白名單認(rèn)證方式,適用于各種硬件平臺.
圖1 認(rèn)證模型信息流程圖Fig.1 Certification model information flow chart
TPM[4]是TCG推出的一款基于可信技術(shù)的SOC芯片,內(nèi)部有RRNG以及各種國際通用加密引擎如AES、ECC、RSA等等,加密算法通用性強(qiáng),有良好的可移植性.除數(shù)據(jù)加密以及數(shù)據(jù)散列運算等基本功能外,其最核心的作用在于對平臺進(jìn)行完整性度量,如可信計算最廣泛的應(yīng)用可信啟動就是在平臺完整性度量技術(shù)的基礎(chǔ)上實現(xiàn)的.
可信網(wǎng)絡(luò)連接(Trusted Network Connection,TNC)技術(shù),由TCG負(fù)責(zé)網(wǎng)絡(luò)認(rèn)證標(biāo)準(zhǔn)的研究開發(fā);是可信賴的計算機(jī)制和網(wǎng)絡(luò)訪問控制機(jī)制的結(jié)合.在終端發(fā)起連接請求后,TNC服務(wù)器首先以口令認(rèn)證的形式驗證使用者的身份,然后以證書認(rèn)證的形式判斷平臺是否是預(yù)期的,最后對終端平臺的可信狀態(tài)進(jìn)行度量,即讀取平臺相應(yīng)PCR寄存器的值,若度量結(jié)果與預(yù)期值匹配,才允許終端接入網(wǎng)絡(luò),否則拒絕其接入請求.
網(wǎng)絡(luò)訪問控制是一種以訪問權(quán)限控制為目標(biāo),基于預(yù)期行為規(guī)范的網(wǎng)絡(luò)接入與網(wǎng)絡(luò)資源訪問規(guī)則.訪問控制需要完成兩個任務(wù):身份識別與權(quán)限分配,即在一定的系統(tǒng)環(huán)境下,對目標(biāo)的行為合法性進(jìn)行判斷.只有合規(guī)的用戶能訪問預(yù)期的網(wǎng)絡(luò)資源.
IEEE 802.1x協(xié)議是一種常用的局域網(wǎng)傳輸層協(xié)議,可以用來解決無線局域網(wǎng)內(nèi)的用戶接入認(rèn)證問題,本文的設(shè)計以802.1x為基礎(chǔ)并對其進(jìn)行擴(kuò)展,在報文中加入了嵌入式終端的完整性信息,且在過程中引入了終端的完整性認(rèn)證.
TNC支持在不同網(wǎng)絡(luò)環(huán)境下收集和交換的數(shù)據(jù)的完整性,其完整性反映了網(wǎng)絡(luò)終端的安全狀態(tài).TNC模型中有以下幾個主要角色,分別是:訪問請求者(AR)、策略決策點(PDP)、策略實現(xiàn)點(PEP)和元數(shù)據(jù)訪問(MAP). 若AR需要訪問主服務(wù)器,就必須先向策略服務(wù)器發(fā)出訪問請求;其次策略服務(wù)器驗證訪問者的帳戶,密碼和完整性;最后下發(fā)策略驗證判斷是否允許該終端接入網(wǎng)絡(luò).
圖2 TNC體系架構(gòu)圖Fig.2 TNC architecture diagram
TNC的體系結(jié)構(gòu)如圖2所示,包括三個物理實體、三個網(wǎng)絡(luò)層次以及若干個模塊間的接口定義.三個實體分別為上面提到的AR、PEP和PDP.三個層次分別為度量層、評估層與接入層,其中度量層的物理實體對應(yīng)于TPM本身,主要用于執(zhí)行每個部分的完整性度量,并擴(kuò)展和重置PCR; 評估層的相應(yīng)物理實體是交換機(jī)和審計服務(wù)器,且制定的策略應(yīng)兼容當(dāng)前的通信協(xié)議,并對接入終端的完整性進(jìn)行度量;對應(yīng)于物理實體的接入層,用于接入終端設(shè)備和物理線路網(wǎng)絡(luò).TNC還對層之間的交互執(zhí)行了一系列規(guī)范,并可以通過TSPI接口函數(shù)直接調(diào)用相應(yīng)的權(quán)限.
802.1x協(xié)議是一種傳統(tǒng)的局域網(wǎng)傳輸以及認(rèn)證協(xié)議,雖然協(xié)議通過口令認(rèn)證與證書認(rèn)證的方式,實現(xiàn)了對端口開關(guān)訪問權(quán)限的控制,但在開放的網(wǎng)絡(luò)環(huán)境中存在局限性與不安全性,尤其是中間人攻擊的問題,很容易截獲認(rèn)證信息并冒名訪問.
因此,提出一種兼容802.1x協(xié)議的TNC 認(rèn)證模型,通過對終端進(jìn)行用戶身份認(rèn)證、平臺身份認(rèn)證以及終端實時狀態(tài)的完整性認(rèn)證,唯有終端在完全符合服務(wù)器的預(yù)期要求的情況下才能接入網(wǎng)絡(luò),對于不合要求的終端,TNC服務(wù)僅接收EAPOL認(rèn)證流數(shù)據(jù)包.
圖3 EAP-TNC結(jié)構(gòu)圖Fig.3 EAP-TNC structure diagram
本設(shè)計中使用的EAP-TNC擴(kuò)展結(jié)構(gòu)如圖3所示,其中的數(shù)據(jù)包在傳統(tǒng)的802.1x基礎(chǔ)上,將其Data端數(shù)據(jù)進(jìn)行擴(kuò)展,加入Type 標(biāo)識位與Type Data數(shù)據(jù).Type data數(shù)據(jù)又分為1字節(jié)的Flag信息,其中包含TNC所規(guī)定的的預(yù)設(shè)數(shù)據(jù)與版本信息,后接終端完整性信息,最后是TNC待發(fā)送的數(shù)據(jù).
終端發(fā)起接入請求時,在訪問過程中添加可信認(rèn)證.即在常用的密碼認(rèn)證用戶身份中,采用TPM來識別平臺和完整性證明[6].通過可信網(wǎng)絡(luò)連接標(biāo)準(zhǔn)中的EAP-TNC關(guān)聯(lián)擴(kuò)展,實現(xiàn)可靠訪問終端認(rèn)證,EAP-TNC的終端接入流程如圖4所示.
EAP-TNC認(rèn)證的過程是分兩個步驟完成.步驟1主要完成雙向證書身份驗證和安全通道建設(shè);步驟2主要完成完整性度量、完整性驗證及IP分配等工作.具體工作過程如下:
步驟1. 雙向證書身份驗證,建設(shè)安全通道.
AR首先發(fā)出EAPOL-Start請求幀認(rèn)證啟動信息,PEP 接受其認(rèn)證請求,返回確認(rèn)信息,AR再次發(fā)送用戶名信息,PEP在數(shù)據(jù)庫中檢索用戶名,確認(rèn)后再次發(fā)送反饋信息和公鑰,利用公鑰檢查AR,并用PEP加密傳輸證書,從而確認(rèn)AR平臺的身份,然后進(jìn)行密鑰協(xié)商,新生成一個臨時的傳輸密鑰,并將密鑰以AR的公鑰加密發(fā)送給AR,至此,臨時安全信道建立完成.
圖4 EAP-TNC的終端接入流程圖Fig.4 EAP-TNC terminal access flow chart
步驟2. 在臨時安全通道中發(fā)送終端的完整性驗證請求,終端將協(xié)議的PCR值信息發(fā)送到安全通道中的PDP,PDP通過解析并與策略進(jìn)行匹配,通過后由DHCP服務(wù)器為AR分配IP地址,并通知 PDP 打開其邏輯端口,實現(xiàn)AR與主服務(wù)器通信,完成可信通道的建立[7].詳細(xì)步驟分為以下11步:
1)AR通過EAPOL-Start信息發(fā)送連接請求;
2)PEP請求AR通過EAP-Reques發(fā)送相應(yīng)的應(yīng)用程序用戶名;
3)AR接到請求并響應(yīng),通過響應(yīng)幀信息發(fā)送給PEP;
4)PEP 將接收到的 EAPOL 消息段轉(zhuǎn)為EAP-RADIUS 消息;
5)PDP→AR:certAIK(PDP),{NPDP,NAR}SKPDP,完成用戶名的合法性校驗后,PDP將自己的公鑰證書及私鑰加密挑戰(zhàn)信息發(fā)送給AR;AR→PDP:{certAIK(NAR){NPDP′,NAR,Krand,NAR,PDP}SNAR}PUBK,AR驗證PDP的證書信息,確認(rèn)服務(wù)器的身份,然后向PDP發(fā)出證書并用PDP的公鑰進(jìn)行加密,并進(jìn)行簽名;
6)PDP→AR:CR={MD5((pwd)Krand),PAES,EAPID}}PRIK,PDP 用其私鑰解密,產(chǎn)生P-AES密鑰,同時發(fā)出挑戰(zhàn)請求并用私鑰加密后一起發(fā)送給AR[8];
7)AR→PDP:CR={MD5(cr,pwd),EAPID+1}AES,AR將其 password 用 P-AES 加密并用 MD5 進(jìn)行散列,回發(fā)給PDP同時響應(yīng)PDP的挑戰(zhàn)請求;
8)PDP認(rèn)證通過后,請求完成AR平臺的完整性度量,并用自己的私鑰進(jìn)行簽名;
9)AR解密,將完整性度量信息發(fā)送給PDP;
10)PDP對平臺進(jìn)行完整性校驗,與下發(fā)策略進(jìn)行匹配,通過驗證后通知PEP打開相應(yīng)的邏輯端口,將授權(quán)信息下發(fā)至AR.
11)PEP轉(zhuǎn)發(fā)信息給AR,告訴AR允許接入,調(diào)用DHCP分配AR的IP[9].
為了防止實際的嵌入式網(wǎng)絡(luò)通信系統(tǒng)受到非法設(shè)備的接入篡改、終端通信信息被竊取,本實驗中將設(shè)置兩個控制變量,分別是非法U盤的接入與嵌入式終端的配置修改,觀察兩個控制變量修改下的嵌入式設(shè)備請求接入時主控服務(wù)器的統(tǒng)計日志,以及終端的接入情況,證明本設(shè)計是否可以判斷接入終端的合法性.實驗環(huán)境配置如表1所示.
客戶端采用WPA_Supplicant進(jìn)行網(wǎng)絡(luò)連接,Supplicant是802.1X/WPA的客戶端組件.實現(xiàn)在通信中的散列采用MD5算法,非對稱密鑰采用RSA算法,對稱密鑰采用AES算法.服務(wù)端采用FreeRADIUS和支持EAP-TNC的FreeRADIUS-EAP-TNC-Patch源代碼包.準(zhǔn)備工作完成之后進(jìn)入到/etc/raddb路徑下對表1中的文件進(jìn)行配置,根據(jù)第三節(jié)分析的TNC協(xié)議要求修改FreeRADIUS的配置文件Radiusd.conf、EAP的配置文件EAP.conf以及終端的配置文件Clients.conf.交換機(jī)上創(chuàng)建vlan2與vlan3,vlan2設(shè)置為正常vlan,vlan3為異常vlan,使能AAA認(rèn)證,采用RADIUS認(rèn)證方式,優(yōu)先級為1,RADIUS地址設(shè)置為TNC服務(wù)器地址.
實際測試結(jié)果如表2所示.測試結(jié)果記錄了4種TNC客戶端狀態(tài)下TNC服務(wù)器的反饋情況.
圖5是四種終端接入的服務(wù)端日志截圖,其中(a)、(b)、(c)、(d)分別對應(yīng)了表2中序號為1、2、3、4的4種狀態(tài)與結(jié)果.
圖5 四種終端接入的服務(wù)端日志截圖Fig.5 four terminal access server-side log screenshots
論文完成了基于802.1x的嵌入式平臺身份驗證TNC認(rèn)證方案的設(shè)計,并針對該方案設(shè)計了測試實驗,測試結(jié)果表明,該方案可以有效地完成對嵌入式平臺的身份認(rèn)證與平臺狀態(tài)認(rèn)證.TP1500采用我國自主研發(fā)龍芯3B1500處理器,國產(chǎn)中標(biāo)麒麟操作系統(tǒng),其本身已具備較高的安全可靠性,再對本文的研究成果加以利用,更加保障了嵌入式網(wǎng)絡(luò)信息的安全傳輸.在接下來的研究工作中,將嘗試使用TCM芯片代替TPM芯片,加密算法替換成國密算法,在完成設(shè)備身份驗證的基礎(chǔ)上實現(xiàn)整個網(wǎng)絡(luò)的自主可控.
[1] Zhang Huan-guo,Chen Lu,Zhang Li-qiang.Study on trusted network connection[J].Journal of Computers,2010,33(4):706-717.
[2] Ruida Information Security Industry Co.,Ltd.An embedded platform authentication trusted network connection method and system:China,CN201410210874.X [P].2014-9-10.
[3] Li Chun-ya.Research and implementation of trusted network con
nection authentication model based on 802.1X [D].Xi′an:Xi′an University of Electronic Science and Technology,2010.
[4] Trusted Computing Group.TPM main part 1 design principles specificationversion 1.2 Revision 116[EB/OL].http://www.trustedcomputinggroup.org,2013.
[5] MOON SangJae.Universally composable secure TNC model and EAP-TNC protocol in IF-T[J].Science China(Information Sciences),2010,53(3):465-482.
[6] Feng Deng-guo,Qin Yu.A certificate-based proof protocol based on TCM [J].Science in China:Information Science,2010,40(2):189-199.
[7] Luo An-an,Lin Chuang,Wang Yuan-zhuo,et al.Free quantitative analysis and protocol improvement of trusted network connection[J].Journal of Computers,2009,32(5):887-898.
[8] Zhang Qian-ying,F(xiàn)eng Deng-guo,Zhao Shi-jun.Design and formal analysis of TCM key migration protocol[J].Journal of Software,2015,26(9):2396-2417.
[9] Li Xiao-jiang,Mei Luan-fang,Shi Jun-fang,et al.Design of embedded trusted terminal system based on TCM[J].Computer Engineering and Design,2010,31(4):733-735+808.
附中文參考文獻(xiàn):
[1] 張煥國,陳 璐,張立強(qiáng).可信網(wǎng)絡(luò)連接研究[J].計算機(jī)學(xué)報,2010,33(4):706-717.
[2] 瑞達(dá)信息安全產(chǎn)業(yè)股份有限公司.一種嵌入式平臺身份驗證可信網(wǎng)絡(luò)連接方法和系統(tǒng):中國,CN201410210874.X[P].2014-9-10.
[3] 李春雅.基于802.1X的可信網(wǎng)絡(luò)連接認(rèn)證模型研究和實現(xiàn)[D].西安:西安電子科技大學(xué),2010.
[6] 馮登國,秦 宇.一種基于TCM的屬性證明協(xié)議[J].中國科學(xué):信息科學(xué),2010,40(2):189-199.
[7] 羅安安,林 闖,王元卓,等.可信網(wǎng)絡(luò)連接的安全量化分析與協(xié)議改進(jìn)[J].計算機(jī)學(xué)報,2009,32(5):887-898.
[8] 張倩穎,馮登國,趙世軍.TCM密鑰遷移協(xié)議設(shè)計及形式化分析[J].軟件學(xué)報,2015,26(9):2396-2417.
[9] 李小將,梅欒芳,師俊芳,等.基于TCM的嵌入式可信終端系統(tǒng)設(shè)計[J].計算機(jī)工程與設(shè)計,2010,31(4):733-735+808.