陳澤茂,黃碧翼,李 錚
(海軍工程大學(xué)信息安全系 武漢430033)
利用無(wú)線接入設(shè)備可以方便地?cái)U(kuò)展現(xiàn)存的有線網(wǎng)絡(luò)。但由于無(wú)線信道的開(kāi)放性,這種擴(kuò)展也給有線網(wǎng)絡(luò)帶來(lái)了黑客入侵、病毒傳播等安全風(fēng)險(xiǎn)。對(duì)設(shè)備和人員的無(wú)線接入請(qǐng)求進(jìn)行認(rèn)證,是防范此類風(fēng)險(xiǎn)的有效方法。目前,無(wú)線接入認(rèn)證方案主要有兩類:一是采用對(duì)稱密碼體制,二是采用非對(duì)稱密碼體制。前者是目前應(yīng)用的主流。例如,第三代移動(dòng)通信、Wi-Fi無(wú)線局域網(wǎng)技術(shù)均采用了基于對(duì)稱密碼體制的無(wú)線接入認(rèn)證方案[1]。對(duì)稱密碼運(yùn)算速度快,但存在密鑰管理工作量大、難以提供數(shù)字簽名服務(wù)等不足。公鑰密碼計(jì)算開(kāi)銷大,但其密鑰管理方便、能夠提供數(shù)字簽名服務(wù)。在無(wú)線網(wǎng)絡(luò)中,影響公鑰認(rèn)證效率的主要因素有3個(gè):
·因傳遞證書而帶來(lái)的通信開(kāi)銷;
·因在線驗(yàn)證證書有效性而帶來(lái)的通信和計(jì)算開(kāi)銷;
·因握手協(xié)議消息數(shù)量太多而帶來(lái)的通信開(kāi)銷。
為了解決這些問(wèn)題,出現(xiàn)了面向無(wú)線網(wǎng)絡(luò)環(huán)境的公鑰基礎(chǔ)設(shè)施[2],即無(wú)線 PKI(wireless PKI,WPKI)。為簡(jiǎn)化證書格式,參考文獻(xiàn)[3]設(shè)計(jì)了一種大小僅為280 byte的微型WPKI證書,降低了證書的存儲(chǔ)和傳輸開(kāi)銷。參考文獻(xiàn)[4]去掉了證書某些擴(kuò)展域,認(rèn)證時(shí)客戶端僅發(fā)送證書地址而非證書實(shí)體,從而降低了證書的傳輸開(kāi)銷。參考文獻(xiàn)[5]通過(guò)增加擴(kuò)展項(xiàng)內(nèi)容以區(qū)分新證書和PKI證書,新證書用于無(wú)線網(wǎng)絡(luò)身份認(rèn)證。但由于新證書大小沒(méi)有減小,該方案僅適用于無(wú)線局域網(wǎng)。參考文獻(xiàn)[6]基于Kerberos認(rèn)證思想改進(jìn)了WTLS協(xié)議,在WTLS中以票據(jù)代替證書,減小了認(rèn)證消息的大小。參考文獻(xiàn)[7]提出了一種基于代理服務(wù)器的互認(rèn)證方案,由代理服務(wù)器完成證書有效性檢查和身份認(rèn)證,降低了無(wú)線終端的身份認(rèn)證開(kāi)銷。該方案中,服務(wù)器沒(méi)有認(rèn)證消息接收者,存在安全隱患。參考文獻(xiàn)[8]基于橢圓曲線Diffie-Hellman(EC-DH)交換對(duì)WTLS握手協(xié)議進(jìn)行了改進(jìn),使其具備前向安全性和客戶匿名性。上述的WPKI改進(jìn)研究存在的主要不足是:
·在效率方面,多數(shù)改進(jìn)方案中仍要求無(wú)線通信雙方互傳證書,通信開(kāi)銷較大;
·在安全性方面,為了提高認(rèn)證效率,無(wú)線終端不在線檢查服務(wù)器證書的有效性,因而存在安全隱患。
本文在確保安全性的前提下,以降低帶寬消耗、減少消息條數(shù)、降低無(wú)線節(jié)點(diǎn)的計(jì)算開(kāi)銷為目標(biāo),引入可信證書驗(yàn)證代理(trusted certificate verification proxy,TCVP)的概念,設(shè)計(jì)了一種基于公鑰密碼的無(wú)線接入認(rèn)證方案(public key based wireless access scheme,PKBWAS)。該方案無(wú)需在無(wú)線信道中傳遞公鑰證書,也不要求無(wú)線移動(dòng)節(jié)點(diǎn)在線檢查證書有效性,提高了認(rèn)證效率。
如圖1所示,無(wú)線移動(dòng)節(jié)點(diǎn)A通過(guò)無(wú)線接入網(wǎng)關(guān)G訪問(wèn)內(nèi)部有線網(wǎng)絡(luò)。在內(nèi)部有線網(wǎng)絡(luò)中配置有PKI認(rèn)證設(shè)施,負(fù)責(zé)管理和認(rèn)證內(nèi)部網(wǎng)絡(luò)訪問(wèn)者(包括移動(dòng)用戶)的身份。PKBWAS方案的要點(diǎn),就是如何在傳統(tǒng)PKI技術(shù)框架下,高效地認(rèn)證A的身份。為此,引入TCVP,它調(diào)用PKI認(rèn)證服務(wù)來(lái)驗(yàn)證證書的有效性,并用自己的私鑰對(duì)驗(yàn)證結(jié)果進(jìn)行簽名,生成一個(gè)有效期較短的憑據(jù),即證書有效性憑據(jù)(certificate validity ticket,CVT)。通過(guò)出示 CVT,有線節(jié)點(diǎn)、無(wú)線節(jié)點(diǎn)和G可以證明自己證書的有效性。效率方面,由于TCVP和G之間、TCVP同PKI之間均處于有線高速網(wǎng)絡(luò)中,因此可確保PKI認(rèn)證過(guò)程的高效性。PKBWAS方案主要包括CVT申請(qǐng)協(xié)議和無(wú)線移動(dòng)節(jié)點(diǎn)的接入認(rèn)證協(xié)議。
為了便于后文討論,先給出如表1所示的符號(hào)約定和前提假設(shè)。
如圖2所示,G向TCVP申請(qǐng)其證書有效性憑據(jù)的過(guò)程如下。
表1 符號(hào)約定和前提假設(shè)
(1)G向TCVP發(fā)出證書有效憑據(jù)申請(qǐng)請(qǐng)求消息,消息中包括其證書的標(biāo)識(shí)CIDG、隨機(jī)值NG(用于防范重放攻擊)及消息的簽名 SignSKG(m)。
(2)TCVP收到請(qǐng)求消息。首先檢查NG確保消息的新鮮性,根據(jù)CIDG檢索G的證書,并用其公鑰驗(yàn)證消息簽名。若簽名驗(yàn)證通過(guò),則TCVP依托PKI的證書查詢機(jī)制驗(yàn)證G證書的有效性。若G證書有效,則為其生成證書有效性憑據(jù) CVTG=SignSKT(CIDG||TG),否則退出會(huì)話,其中 TG為 CVTG的有效期。最后將CVTG及其有效期TG一起返回給G。
(3)G收到證書有效性憑據(jù),用 TCVP的公鑰驗(yàn)證CVTG的正確性,最后保存CVTG和TG。
如圖3所示,無(wú)線移動(dòng)節(jié)點(diǎn)A申請(qǐng)證書有效性憑據(jù)流程如下。
(1)向G發(fā)出證書有效性憑據(jù)申請(qǐng)請(qǐng)求,消息中包含A的證書標(biāo)識(shí)。
(2)G根據(jù) A的證書標(biāo)識(shí),檢索到 A的證書,并利用證書中的公鑰驗(yàn)證上述消息的完整性。若驗(yàn)證失敗,則終止與A的通信連接;若驗(yàn)證成功,則代理其向TCVP申請(qǐng)證書有效性憑據(jù)。
(3)TCVP驗(yàn)證依托PKI驗(yàn)證A證書的有效性,若有效則為其生成證書有效性憑據(jù)CVTA,并將CVTA發(fā)送給G。
(4)G收到CVTA后,按照消息10的格式將CVA和TA返回給移動(dòng)節(jié)點(diǎn)A。
(5)A驗(yàn)證CVA的完整性,保存CVA和TA以備后用。
A僅在需要時(shí)申請(qǐng)?jiān)撚行詰{據(jù),在有效期TA內(nèi)可使用CVA證明自己證書的有效性。這樣,既驗(yàn)證了移動(dòng)節(jié)點(diǎn)的證書有效性,又避免了因反復(fù)申請(qǐng)CVT而帶來(lái)的通信開(kāi)銷。若A失控,則可在PKI中將其證書立即作廢。這樣,當(dāng)它向TCVP申請(qǐng)其CVT時(shí),就會(huì)因PKI認(rèn)證識(shí)別而無(wú)法成功獲得CVT。這樣,它便無(wú)法接入內(nèi)部有線網(wǎng)絡(luò)。
假定各通信節(jié)點(diǎn)都擁有自己的PKI證書,其中無(wú)線移動(dòng)節(jié)點(diǎn)A的證書標(biāo)識(shí)為CIDA,無(wú)線接入網(wǎng)關(guān)G的證書標(biāo)識(shí)為 CIDG。
如圖4所示,無(wú)線接入認(rèn)證協(xié)議流程如下。
(1)A向G發(fā)起連接,消息中包含 A的證書標(biāo)識(shí)CIDA、隨機(jī)數(shù) NA、Diffie-Hellman 密鑰協(xié)商參數(shù) DHA、協(xié)議版本號(hào)V、會(huì)話標(biāo)識(shí)SID及密碼規(guī)格SecNegA。NA用于防重放攻擊。DHA為Diffie-Hellman密鑰交換時(shí)互換的參數(shù)。V為A支持的協(xié)議版本號(hào),SID為會(huì)話標(biāo)識(shí),SecNegA表明A支持的加密、散列等密碼算法組。
(2)G收到消息,根據(jù)CIDA檢索到A的證書,然后通過(guò)PKI驗(yàn)證A證書的當(dāng)前狀態(tài)。如果證書未過(guò)期且當(dāng)前未被撤銷,則繼續(xù)執(zhí)行下面的操作,否則認(rèn)證失敗。
(3)G向TCVP申請(qǐng)自己的CVT及其有效期,此過(guò)程詳見(jiàn)圖2所示的協(xié)議。
(4)G申請(qǐng)得到CVTG和TG后,向A發(fā)送響應(yīng)消息,消息中包括 CIDG、TG、CVTG、相應(yīng)的 V、DHG、SID、SecNegG等信息。DHG為G選擇的Diffie-Hellman參數(shù)。SecNegG為G從SceNegA中選擇的密碼算法,數(shù)據(jù)交換時(shí)雙方按協(xié)商的密碼規(guī)格SecNegG進(jìn)行壓縮、加密等操作。
(5)A使用預(yù)存的TCVP的公鑰PKT驗(yàn)證G證書的有效性。若驗(yàn)證通過(guò),則依據(jù)TG判斷CVTG是否過(guò)期。若G的證書有效,則驗(yàn)證G對(duì)消息的簽名s2。若簽名有效,則完成對(duì)G的認(rèn)證。
至此,無(wú)線公鑰認(rèn)證協(xié)議執(zhí)行結(jié)束。雙方完成了身份認(rèn)證,并通過(guò)交換Diffie-Hellman參數(shù)共享了的會(huì)話密鑰。如果采用預(yù)先申請(qǐng)機(jī)制,則G收到連接請(qǐng)求時(shí)已經(jīng)有了一個(gè)可用的CVT,此時(shí)圖4中所示的第3步就無(wú)需執(zhí)行,這可提高無(wú)線接入認(rèn)證的效率。
(1)體系結(jié)構(gòu)的安全性
由于無(wú)線信道環(huán)境的開(kāi)放性,為保護(hù)內(nèi)部有線網(wǎng)絡(luò)的安全,把TCVP置于內(nèi)部網(wǎng)絡(luò),部署于無(wú)線接入網(wǎng)關(guān)之后,可以采取安全隔離、防火墻、入侵檢測(cè)等常規(guī)的信息安全機(jī)制對(duì)其進(jìn)行保護(hù)。這樣,無(wú)線移動(dòng)節(jié)點(diǎn)便不能直接訪問(wèn)TCVP,而必須通過(guò)無(wú)線接入網(wǎng)關(guān)才能申請(qǐng)CVT。無(wú)線接入網(wǎng)關(guān)在初步驗(yàn)證了無(wú)線移動(dòng)節(jié)點(diǎn)的身份后,代理其向TCVP申請(qǐng)CVT。這樣就確保了無(wú)線接入網(wǎng)關(guān)是內(nèi)部網(wǎng)絡(luò)的唯一無(wú)線接入口,從而有利于保護(hù)TCVP及內(nèi)部網(wǎng)絡(luò)整體的安全性。
(2)基于CVT的認(rèn)證安全性
TCVP通過(guò)PKI在線驗(yàn)證指定證書的有效性,并用自己的私鑰簽名生成證書有效性憑據(jù)。由于TCVP位于有線網(wǎng)絡(luò)的內(nèi)網(wǎng),因此,可以比較容易地確保憑據(jù)生成操作的安全性。根據(jù)應(yīng)用安全策略的需要,CVT可有兩種申請(qǐng)機(jī)制:一是臨時(shí)申請(qǐng)機(jī)制,此時(shí)通信實(shí)體不預(yù)存其證書有效性憑據(jù),僅當(dāng)需要時(shí)才去實(shí)時(shí)申請(qǐng)。在該機(jī)制下,證書有效性憑據(jù)能夠更實(shí)際地反映證書的當(dāng)前狀態(tài);另一種是預(yù)先申請(qǐng)機(jī)制,即在前一個(gè)證書有效性憑據(jù)失效之前及時(shí)申請(qǐng)新的證書有效性憑據(jù),這就是說(shuō)G必須以小于TG的周期進(jìn)行憑據(jù)申請(qǐng)操作。顯然,如果TG太大,則憑據(jù)不能如實(shí)反映證書當(dāng)前的有效性狀態(tài);如果TG太小,則需要頻繁地進(jìn)行CVT申請(qǐng)操作,進(jìn)而增加了G的認(rèn)證操作開(kāi)銷。因此,需要根據(jù)應(yīng)用環(huán)境的要求,選擇合適的TG,以實(shí)現(xiàn)在確保CVT的可信性同時(shí),又不增加G的認(rèn)證負(fù)擔(dān)。
(3)無(wú)線接入認(rèn)證協(xié)議的安全性
在無(wú)線認(rèn)證過(guò)程中,無(wú)線移動(dòng)節(jié)點(diǎn)A通過(guò)驗(yàn)證證書有效性憑據(jù)確定無(wú)線接入網(wǎng)關(guān)G證書的有效性,G則通過(guò)TCVP,而TCVP依托PKI驗(yàn)證A證書的有效性。雙方都對(duì)握手消息進(jìn)行了簽名,通過(guò)出示各自簽名完成彼此的身份認(rèn)證,同時(shí)該簽名還能保證雙方對(duì)握手過(guò)程的非否認(rèn)性和消息的完整性。雙方僅傳遞證書標(biāo)識(shí),不會(huì)泄露身份信息,滿足了身份的機(jī)密性。通過(guò)互換Diffie-Hellman參數(shù)完成了密鑰協(xié)商,該密鑰具有前向安全性。
PKBWAS方案涉及的實(shí)體主要有 TCVP、G、PKI和無(wú)線移動(dòng)節(jié)點(diǎn)。其中,TCVP、G和PKI一般均為運(yùn)算速度和存儲(chǔ)能力較高的計(jì)算機(jī),且TCVP與G、TCVP與PKI以及G與PKI之間均為高速有線網(wǎng)絡(luò)連接,因此可確保PKI認(rèn)證過(guò)程的高效性。由于無(wú)線移動(dòng)節(jié)點(diǎn)CVT申請(qǐng)協(xié)議無(wú)需頻繁執(zhí)行,所以PKBWAS方案的效率瓶頸,是無(wú)線移動(dòng)節(jié)點(diǎn)在接入認(rèn)證過(guò)程中的通信開(kāi)銷。下面比較PKBWAS無(wú)線接入認(rèn)證協(xié)議、SSL 3.0[9]、WTLS[10]的通信開(kāi)銷。
在實(shí)際應(yīng)用中,SSL協(xié)議和WTLS協(xié)議各參數(shù)的典型長(zhǎng)度(單位:byte)分別為:|RP|=20,|H()|=|KH()|=20,|V|=1,|SID|=4,|SecNeg|=3,|DH|=|N|=|Sign()|=|CVT|=20,|T|=|CID|=8,|md5_hash|=16,|change_cipher_spec|=1,|CertificateType|=1,|CertificateAuthorites|=2,|sha_hash|=20。假定通信雙方僅交換各自證書,X.509 V3證書和WTLS證書長(zhǎng)度分別按1.5 KB和1 KB估算,則各協(xié)議消息長(zhǎng)度如表2所示。
表2 PKBWAS無(wú)線接入認(rèn)證協(xié)議的通信開(kāi)銷
從表2中可以看出,PKBWAS無(wú)線接入認(rèn)證協(xié)議總的通信開(kāi)銷約為SSL協(xié)議的5%、WTLS協(xié)議的8%。通信開(kāi)銷的減少降低了無(wú)線信道開(kāi)銷,既有利于節(jié)省帶寬資源,也提高了PKBWAS在無(wú)線通信受干擾情況下的適用性。
近年來(lái),隨著無(wú)線網(wǎng)絡(luò)技術(shù)的發(fā)展,無(wú)線通信帶寬大幅提高,無(wú)線移動(dòng)終端的計(jì)算和存儲(chǔ)性能極大提升,在無(wú)線網(wǎng)絡(luò)領(lǐng)域應(yīng)用公鑰密碼所面臨的傳統(tǒng)障礙將逐漸消除。本文按照安全和高效的原則,以降低安全協(xié)議握手過(guò)程的通信數(shù)據(jù)量和消息數(shù)量為目標(biāo),通過(guò)優(yōu)化PKI認(rèn)證機(jī)制,提出了一種高效的無(wú)線接入認(rèn)證方案,引入了可信證書驗(yàn)證代理、無(wú)線接入網(wǎng)關(guān)、證書有效性憑據(jù)等新概念,并設(shè)計(jì)了證書有效性憑據(jù)申請(qǐng)和無(wú)線接入認(rèn)證等安全協(xié)議。本方案摒棄了傳統(tǒng)PKI認(rèn)證中的證書傳遞和基于CRL的證書有效性驗(yàn)證,改用基于證書標(biāo)識(shí)和證書有效性憑據(jù)的安全認(rèn)證機(jī)制,在確保安全的前提下,大大提高了無(wú)線通信中的公鑰認(rèn)證效率。
1 3GPP TS 33.102 V7.1.0.The3rd Generation Partnership Project,Technical Specification Group Services and Systems Aspects,3G security,security architecture,2006
2 Trask N T,Jaweed S A.Adapting public key infrastructures to the mobile environment.BT Technology Journal,2001,19 (3):76~80
3 王治國(guó),肖德貴.基于無(wú)線PKI的微型證書的分析與實(shí)現(xiàn).科學(xué)技術(shù)與工程,2006,6(3):278~282
4 Yong Lee,Jeail Lee,JooSeok Song.Design and implementation ofwirelessPKItechnology suitable formobile phone in mobile-commerce. ScienceDirect: Computer Communications,2006,30(4):893~903
5 Cayer D,Spagnolo J.Securing Wireless Local Area Networks with GoC PKI:addendum to report DRDC Ottawa.Ottawa:Defence R&D Canada,2008
6 范新普.WTLS安全性研究.北京化工大學(xué)碩士學(xué)位論文,2008
7 Sang-Wook Choi,Cheol-Joo Chae,Jae-Kwang Lee.A study on the efficient mutual authentication mechanism using the agent server.Proceedings of Second International Conference on Future Generation Communication and Networking,Sanya,China,2008:485~488
8 鄒學(xué)強(qiáng),馮登國(guó).WTLS握手協(xié)議的安全性分析及改進(jìn).中國(guó)科學(xué)院研究生院學(xué)報(bào),2004(4):495~500
9 Transport Layer Security Working Group.The SSL Protocol Version 3.0,http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt,2012
10 Wireless Application Protocol Forum.Wireless Transport Layer Security Specification WAP-261-WTLS-20010406-a,http://www.openmobilealliance.org/tech/affiliates/wap/wap-261-wtls-20010406-a.pdf,2012