劉心馨++趙甫哲
摘要:無線傳輸層安全(WTLS)協(xié)議在移動電子商務(wù)安全方面發(fā)揮著核心作用。利用無線公鑰基礎(chǔ)設(shè)施(WPKI),構(gòu)建安全并可信賴的無線網(wǎng)絡(luò)環(huán)境,在WTLS協(xié)議中,充分發(fā)揮WPKI的保密性、完整性、真實(shí)性、不可抵賴性等信息安全特征,可提升WTLS協(xié)議的綜合安全防護(hù)能力,具有重要意義。
關(guān)鍵詞:WPKI;WTLS協(xié)議;網(wǎng)絡(luò)安全
DOIDOI:10.11907/rjdk.151819
中圖分類號:TP301
文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2015)008003703
1 WPKI與WTLS協(xié)議
1.1 WPKI
WPKI即無線PKI,它將有線網(wǎng)絡(luò)中的PKI(Public Key Infrastrcture)安全框架移植并適配到無線網(wǎng)絡(luò),并建立權(quán)威的設(shè)施中心來管理在移動網(wǎng)絡(luò)環(huán)境中使用的公開密鑰和數(shù)字證書,它沿用PKI中的公鑰密碼技術(shù),為無線網(wǎng)絡(luò)環(huán)境提供數(shù)據(jù)加密以及數(shù)字簽名服務(wù)。WPKI一般采用雙證書機(jī)制,即加密證書和簽名證書。加密證書的公鑰提供給對方加密使用,其對應(yīng)的私鑰用來解密對方加密信息,而簽名私鑰則提供給對方進(jìn)行數(shù)字簽名,簽名證書提供給對方進(jìn)行簽名驗(yàn)證。通過加密和簽名機(jī)制的結(jié)合,從而保證雙方信息的機(jī)密性、完整性和不可抵賴性,構(gòu)建安全的無線網(wǎng)絡(luò)環(huán)境。WPKI并不完全脫離PKI,WPKI證書管理中心和密鑰管理中心完全可以使用PKI框架,從這一角度來看,WPKI是PKI的一種延伸和擴(kuò)展。
1.2 WTLS協(xié)議
WTLS(Wireless Transport Layer Security)是WAP協(xié)議棧下的4個層次協(xié)議之一。當(dāng)前,WAP系統(tǒng)中,大多移動設(shè)備通過無線網(wǎng)絡(luò)連接WAP網(wǎng)關(guān),而WAP網(wǎng)關(guān)直接和Internet連接,通過WAP網(wǎng)關(guān)編碼器將有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)之間的協(xié)議棧進(jìn)行轉(zhuǎn)換[1]。WAP代理模型如圖1所示,包括移動設(shè)備(WAP客戶端)、WAP代理服務(wù)器和Web服務(wù)器。其中,WAP代理服務(wù)器負(fù)責(zé)有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)之間的編碼轉(zhuǎn)換,Web服務(wù)器為移動設(shè)備提供各種應(yīng)用。
移動設(shè)備和WEB服務(wù)器進(jìn)行通信時,其安全通行分為兩個階段。在無線網(wǎng)絡(luò)區(qū)域中,移動設(shè)備的WAP驅(qū)動部分和WAP網(wǎng)關(guān)之間的通信通過采用WTLS協(xié)議的方式進(jìn)行保護(hù);在有線網(wǎng)絡(luò)區(qū)域中,WAP網(wǎng)關(guān)和WEB服務(wù)器之間的通信采用傳統(tǒng)的SSL/TLS協(xié)議進(jìn)行保護(hù)。安全通信中WAP終端的WAP驅(qū)動部分、WAP網(wǎng)關(guān)和Web服務(wù)器之間的協(xié)議棧轉(zhuǎn)化關(guān)系如圖2所示。
2 基于WPKI的WTLS協(xié)議實(shí)現(xiàn)
2.1 WPKI部署
(1)移動設(shè)備終端通過無線網(wǎng)絡(luò)連接WPKI注冊中心,制作該移動設(shè)備的WPKI數(shù)字證書(含公鑰和身份信息等),并保存其對應(yīng)的私鑰。
(2)WAP代理服務(wù)器通過Internet連接注冊中心,制作WAP代理服務(wù)器的數(shù)字證書,并保存其對應(yīng)的私鑰。
(3)移動設(shè)備和WAP代理服務(wù)器的數(shù)字證書由認(rèn)證中心制作完畢后進(jìn)行發(fā)布,并通過查詢中心提供數(shù)字證書查詢和下載等對外服務(wù)。 WPKI部署如圖3所示。
圖3 WPKI部署
2.2 基于WPKI的WTLS協(xié)議應(yīng)用
WTLS協(xié)議允許采用匿名的方式在移動終端和服務(wù)器之間進(jìn)行認(rèn)證,也可采用證書模式進(jìn)行實(shí)名認(rèn)證,但必須交換各自的證書公鑰。WTLS協(xié)議應(yīng)用按照安全應(yīng)用的不同需要提供了3類認(rèn)證級別(見表1)供選擇[2],分別為Class1、Class2和Class3。在此3類應(yīng)用中,其特性包括“必須包括的(M)”、“可以選擇的(O)”和“沒有包括的(—)”3類。由于Class3選用了更多的特征,從而比前兩類更加安全,當(dāng)然也占用更多的帶寬和運(yùn)算。
在基于WPKI的應(yīng)用中,客戶端認(rèn)證和服務(wù)器端的認(rèn)證通過連接查詢中心進(jìn)行認(rèn)證。查詢中心可以配置OCSP服務(wù)器或者LDAP服務(wù)器。OCSP服務(wù)器采用標(biāo)準(zhǔn)的在線證書狀態(tài)協(xié)議(OCSP(Online Certificate Status Protocol),收到證書狀態(tài)信息的請求后回復(fù)“有效”、“過期”或“未知”響應(yīng),確定證書狀態(tài);LDAP服務(wù)器可以提供下載證書和證書撤銷列表(CRL),通過比對來確認(rèn)證書的狀態(tài)。在線證書狀態(tài)協(xié)議(OCSP)解決了一個證書注銷列表(CRL)的主要缺陷:需經(jīng)常連接LDAP服務(wù)器下載CRL列表以確保其是最新的,所以使用更加方便,并逐漸取代了LDAP服務(wù)器。
2.3 WPKI構(gòu)架中WTLS握手協(xié)議流程
在無線網(wǎng)絡(luò)使用WTLS協(xié)議進(jìn)行通信時,首先建立加密通道,在建立加密通道過程中,移動設(shè)備(客戶端)和WAP代理服務(wù)器(服務(wù)器)協(xié)商WTLS協(xié)議的版本,選擇加密算法并互相認(rèn)證,最后雙方產(chǎn)生共享的對稱密鑰進(jìn)行加密通信,該過程即為WTLS協(xié)議的握手流程。本文以ECC算法為例,并假設(shè)WPKI已經(jīng)建立并部署,闡述WTLS基于WPKI應(yīng)用的握手協(xié)議流程。如圖4所示,在該應(yīng)用中,假設(shè)客戶端和服務(wù)器的數(shù)字證書已經(jīng)部署簽發(fā)。
圖4 WTLS握手協(xié)議流程
(1)客戶端向服務(wù)器發(fā)送請求連接信息(Client Hello),服務(wù)器收到會話信息后,依據(jù)客戶端信息決定相關(guān)的參數(shù)(如密鑰算法、應(yīng)用認(rèn)證級別等),然后服務(wù)器將其數(shù)字證書(Certificate)發(fā)送給客戶端,并在需要時發(fā)送服務(wù)器密鑰交換信息(例如,是否采用匿名方式,證書的認(rèn)證模式等)。采用class3模式時,服務(wù)器會要求客戶端發(fā)送用戶的數(shù)字證書( Certificate Request),接著服務(wù)器端便可發(fā)送結(jié)束信息(Server hello done),表示握手協(xié)議的第一階段已結(jié)束,并等待客戶端回應(yīng)。
(2)客戶端接收服務(wù)器信息,并對接收到的服務(wù)器證書進(jìn)行驗(yàn)證。該驗(yàn)證需通過無線網(wǎng)絡(luò)連接WPKI查詢中心(OCSP服務(wù)器或LDAP服務(wù)器),主要驗(yàn)證服務(wù)器證書的真實(shí)性和有效性。驗(yàn)證成功后,客戶端通過執(zhí)行密鑰交換算法操作來獲取所需的預(yù)主密鑰,并可在需要時選擇運(yùn)行ECC算法程序,由此計(jì)算出主密鑰,計(jì)算出最后的驗(yàn)證信息。如果客戶端沒有發(fā)送認(rèn)證證書,或者所發(fā)送的證書中沒有包含足夠的交換信息,此時客戶端就必須發(fā)送根據(jù)問候時所選公共密鑰加密算法而確定的客戶端密鑰交換信息。這是因?yàn)榉?wù)器端發(fā)送了證書請求信息,由此客戶端必須發(fā)送作為回應(yīng)的認(rèn)證證書信息。如果在對客戶端進(jìn)行認(rèn)證時采用的是有簽名能力的認(rèn)證證書,則客戶端應(yīng)該發(fā)送一個用于校驗(yàn)的數(shù)字簽名校驗(yàn)信息,向服務(wù)器端發(fā)送一個改變密碼規(guī)范信息(Change Cipher Spec)。在最后的發(fā)送結(jié)束信息步驟,客戶端便采用這個新的算法、密碼以及密鑰。
服務(wù)器端收到來自客戶端的改變密碼規(guī)范信息后,以新密碼規(guī)范信息覆蓋待處理的密碼規(guī)范信息,并連接查詢中心(OCSP服務(wù)器或LDAP服務(wù)器),開始驗(yàn)證客戶端認(rèn)證證書,并可選擇需要時運(yùn)行ECC算法程序,通過執(zhí)行密鑰交換算法的相應(yīng)操作來獲取所需的預(yù)主密鑰,由此計(jì)算出主密鑰,計(jì)算出最后的驗(yàn)證信息。在最后的發(fā)送結(jié)束信息步驟,便采用此新密碼規(guī)范。此時握手過程結(jié)束,服務(wù)器端和客戶端便循環(huán)往復(fù)地對彼此信息進(jìn)行驗(yàn)證,解密收到的數(shù)據(jù)并向?qū)Ψ桨l(fā)送已加密的數(shù)據(jù),完成應(yīng)用層通信。
3 安全性分析
(1)保密性。
WTLS通過握手協(xié)議最終建立雙方的共享密鑰,在握手協(xié)議期間加密的信息是通過雙方的加密證書來實(shí)現(xiàn)的,雙方通過對方的加密公鑰來加密,自身的加密私鑰來解密,其安全性主要取決于采用的加密算法和WPKI構(gòu)架的安全。
(2)身份鑒別。
協(xié)議身份鑒別機(jī)制主要通過雙方數(shù)字簽名證書來實(shí)現(xiàn),證書有效性通過連接WPKI的OCSP服務(wù)進(jìn)行查詢,也可通過連接WPKI的LDAP服務(wù)器直接下載證書和CRL證書列表進(jìn)行比對和驗(yàn)證。確認(rèn)對方證書真實(shí)有效后就可以通過數(shù)字簽名技術(shù)來確認(rèn)對方的身份,防止非法人員進(jìn)入系統(tǒng)。
(3)完整性。
數(shù)據(jù)完整性確保數(shù)據(jù)發(fā)送與接收是一致的。WTLS通過使用消息鑒別編碼(MAC)來保證數(shù)據(jù)的完整性,以防止數(shù)據(jù)破壞甚至拒絕服務(wù)攻擊,其中MAC的構(gòu)造使用哈希函數(shù)H(SHA1或MD5)。
WTLS協(xié)議針對無線網(wǎng)絡(luò),對TLS的簡化導(dǎo)致其不如TLS強(qiáng)壯和有效,從而帶來了不少安全問題,比如引發(fā)拒絕服務(wù)攻擊、選擇明文攻擊、中間人攻擊等[3]。在WAP完整的通信過程中,建立通信鏈路的過程以及傳輸?shù)男畔⒔钥赡鼙凰怂孬@。比如第三方可通過非法手段截獲用戶輸入的賬號和密碼信息、用戶視頻與語音、用戶地理位置,以及用戶本身的身份信息等,給用戶造成巨大損失。如果要避免更多安全漏洞,需要采用更加安全的模式,盡量使用class3類的應(yīng)用模式,并盡量使用可選特征(如客戶端認(rèn)證、服務(wù)器認(rèn)證)等,充分利用WPKI的安全機(jī)制來增強(qiáng)WTLS協(xié)議應(yīng)用安全。
4 結(jié)語
隨著移動終端設(shè)備處理能力的不斷增強(qiáng)和無線網(wǎng)絡(luò)帶寬的增加,無線網(wǎng)絡(luò)交易安全性成為人們關(guān)注的焦點(diǎn)。研究無線安全領(lǐng)域中的關(guān)鍵工程——WPKI,充分發(fā)揮WPKI身份認(rèn)證作用,在WTLS協(xié)議中實(shí)時通過WPKI查詢中心(OCSP和LDAP)進(jìn)行驗(yàn)證,對增強(qiáng)WTLS協(xié)議的安全性具有重要意義。
參考文獻(xiàn):
[1] WAP Forum.Wireless application protocol architecture specification[EB/OL].http://www.wapforum.com.
[2] 赫爾利.無線網(wǎng)絡(luò)安全[M].楊青,譯.北京:科學(xué)出版社,2009:216218.
[3] RADHAMANI G,RAMASAMY K.Security issues in wap wtls protocol [J].IEEE,2002,78037547(5):483487.
[4] 張?jiān)伱?基于802.11i的無線局域網(wǎng)接入認(rèn)證方式研究[J].軟件導(dǎo)刊,2014,13 (9):14414.
(責(zé)任編輯:陳福時)