廖蓉暉,王 娟,彭 凱
(中國電子科技集團公司第三十研究所,四川 成都 610041)
DH密鑰體制在VoIP通信中的應(yīng)用*
廖蓉暉,王 娟,彭 凱
(中國電子科技集團公司第三十研究所,四川 成都 610041)
隨著通信網(wǎng)絡(luò)與計算機技術(shù)的飛速發(fā)展,通信業(yè)務(wù)也逐漸多樣化。VoIP逐漸成為當(dāng)前通信網(wǎng)絡(luò)發(fā)展的主流,DH密鑰協(xié)商體制作為保證VoIP網(wǎng)絡(luò)通信安全的重要技術(shù)越來越受到重視。首先介紹DH密鑰協(xié)商體制的基本原理,分析了其在VoIP通信系統(tǒng)中應(yīng)用所存在的安全隱患和可能遭受的攻擊,針對不用應(yīng)用需求提出了兩種解決方案,有效解決DH密鑰體制在合法身份認證方面的缺陷,提高了VoIP通信系統(tǒng)中密鑰協(xié)商的安全性,具有一定的實用價值。
DH密鑰交換協(xié)議 網(wǎng)絡(luò)電話(VoIP) 加密密鑰交換協(xié)議
隨著計算機和網(wǎng)絡(luò)技術(shù)向著數(shù)字化、綜合化、智能化的方向飛速發(fā)展,網(wǎng)絡(luò)已經(jīng)深深融入了人們的日常生活、工作中,基于統(tǒng)一通信平臺上提供語音、視頻、傳真等多媒體綜合業(yè)務(wù)已成為當(dāng)前網(wǎng)絡(luò)發(fā)展的趨勢。與此同時日趨完善的網(wǎng)絡(luò)協(xié)議,迅速增長的網(wǎng)絡(luò)帶寬以及不斷提升的計算機性能,也為通過IP網(wǎng)絡(luò)提供統(tǒng)一的多媒體通信業(yè)務(wù)提供技術(shù)基礎(chǔ)。例如當(dāng)前廣泛應(yīng)用的即時通訊(如微信和QQ等),多方的視頻會議、Skype網(wǎng)絡(luò)電話等,這些利用IP網(wǎng)絡(luò)為人們提供信息交互的VoIP技術(shù),隨著各類網(wǎng)絡(luò)應(yīng)用的普及也如雨后春筍般得到了蓬勃發(fā)展,已經(jīng)成為人們相互聯(lián)絡(luò)的重要手段之一。
當(dāng)然對于政府機關(guān)、公安系統(tǒng)、能源電力這樣行業(yè)用戶而言,不僅僅滿足于基于統(tǒng)一網(wǎng)絡(luò)平臺提供便捷、豐富的信息交互,他們對信息的安全保密也有著非常高的要求,因此這些用戶往往建設(shè)或擁有專用的IP通信網(wǎng)絡(luò),為其內(nèi)部的各類信息交互,數(shù)據(jù)通信提供一個相對安全的網(wǎng)絡(luò)環(huán)境。
然而,由于IP網(wǎng)絡(luò)和網(wǎng)絡(luò)協(xié)議的開放性特點,黑客可以比較容易的通過中間人攻擊方式實現(xiàn)對通信數(shù)據(jù)的竊聽或者篡改,從而造成關(guān)鍵信息的丟失或被竊聽,因此當(dāng)前主流的VoIP通信往往都進行了加密保護,對數(shù)據(jù)加密而言最關(guān)鍵的是如何安全實現(xiàn)密鑰的協(xié)商和交換。本文將針對基于Diffie-Hellman(DH)密鑰交換體制在VoIP通信中的應(yīng)用進行研究,對其存在安全隱患進行分析,提出進一步相應(yīng)的解決方案。
DH密鑰交換體制由Whitfield Diffie和Martin Hellman在1976年公布的一種密鑰一致性算法,它是一種通信雙方建立密鑰的方法,而不是加密方法[1]。DH密鑰交換體制是第一個應(yīng)用于非保護信道(例如Internet)中創(chuàng)建共享密鑰的方法,是VoIP通信網(wǎng)絡(luò)中很多認證協(xié)議的基礎(chǔ)。其基本原理利用著名的“離散對數(shù)問題”來保證在VoIP網(wǎng)絡(luò)中傳輸?shù)拿荑€安全性,具體方法如下:
1)設(shè)置兩個全網(wǎng)公開的密鑰參數(shù),它包括一個素數(shù)q和一個整數(shù)a,其中a=FG(q)是q的一個原根。
2)當(dāng)用戶A希望和用戶B建立保密的VoIP通信時,就需要實現(xiàn)共享的會話密鑰KSAB協(xié)商,用戶A首先本地產(chǎn)生隨機數(shù)RA(1≤RA≤q-1),計算出XA=aRAmodq經(jīng)VoIP網(wǎng)絡(luò)傳遞給用戶B,其中RA并未在網(wǎng)絡(luò)中明文傳輸,而是被保護在XA中。
3)同理,用戶B也利用本地產(chǎn)生的隨機數(shù)RB(1≤RB≤p-1),計算出XB=aRBmodq,并將XB發(fā)送給用戶A[2]。
在這種基于DH體制的密鑰協(xié)商過程中,黑客或攻擊者雖然可以截取到a、q、XA、XB等參數(shù),但因無法獲得密鑰素材RA和RB,也就無法計算出本次VoIP通信的公共會話密鑰KSAB。因為q是一個至少300位素數(shù),并且XA和XB至少有100位長,那么即使使用全球所有的計算資源和當(dāng)今最好的算法也無法計算出RA,這就是著名的離散對數(shù)問題。
由此可見,利用DH密鑰交換體制VoIP通信雙方可以在公共網(wǎng)絡(luò)中安全的建立了本次會話的共享密鑰KSAB,但是DH密鑰交換體制的問題是缺乏對協(xié)商雙方的身份鑒別機制。當(dāng)出現(xiàn)了一個位于用戶A和B之間的惡意攻擊者用戶C時,他可以通過報文截獲、協(xié)議操控進行中間人攻擊,因此為保證用戶A和B之間密鑰協(xié)商的安全性,需要對協(xié)商雙方的身份進行鑒別,下一節(jié)將對中間人攻擊的原理進行分析。
DH密鑰交換體制最大缺點在于缺乏有效的身份認證,因而容易遭受中間人攻擊。我們假設(shè)在VoIP通信網(wǎng)絡(luò)中存在一個用戶C,在與用戶A通信時假扮為用戶B;在與用戶B通信時假扮為用戶A。這樣用戶A和B分別與用戶C協(xié)商一組會話密鑰,這樣用戶C就可以對用戶A和B之間的VoIP通信進行監(jiān)聽或篡改。具體的攻擊操作步驟如下:
1)攻擊者C,在用戶B發(fā)送給用戶A的報文中,獲取XB。
2)攻擊者C修改用戶B的報文,并轉(zhuǎn)發(fā)至用戶A,該報文具有用戶B的ID但使用攻擊者C產(chǎn)生的XC。
3)用戶A收到攻擊者C的報文后,將XC和用戶B的ID綁定,同理攻擊者C向用戶B發(fā)送類似報文。
4)用戶B基于本地產(chǎn)生隨機數(shù)RB和XC計算出公共會話密鑰KSAB,用戶A基于本地產(chǎn)生隨機數(shù)RA和XC計算出公共會話密鑰KSAC。攻擊者C則使用RC、XA和XB計算出KSAC和KSBC,從而分別建立對用戶A和B之間保密通信。
由于DH密鑰交換體制在身份鑒別方面的缺失,通過上述的操作步驟,攻擊者C可以利用中間人的攻擊方式對用戶A和B之間通信內(nèi)容的竊聽和篡改。
根據(jù)上述分析,要解決中間人攻擊的安全隱患,需要對DH密鑰交換體制在身份認證方面進行增強,針對VoIP通信網(wǎng)絡(luò)的應(yīng)用特點我們提出了基于EKE和基于CPK密鑰協(xié)商協(xié)議兩種解決方案。
EKE是SteveBellovin和MichaelMerritt提出的一種加密密鑰交換協(xié)議,它利用對稱和公開密鑰為通信雙方的合法身份鑒別,提升密鑰交換的安全性。其基本原理是使用全網(wǎng)共享的用戶口令加密隨機產(chǎn)生的公開密鑰,例如VoIP通信網(wǎng)絡(luò)中的用戶A和B共享一個公共口令password,利用EKE結(jié)合DH的密鑰交換體制,可以實現(xiàn)通信雙方之間的身份鑒別和公共會話密鑰KSAB的協(xié)商[3]。
我們假定用戶A和用戶B在用戶全網(wǎng)公開的密鑰參數(shù)q和a的基礎(chǔ)上,還擁有共享的一組口令password,根據(jù)DH協(xié)議結(jié)合EKE的具體實現(xiàn)步驟如下:
圖1 EKE-DH密鑰交換流程
1)用戶A隨機產(chǎn)生一組私鑰PKA,通過XA=aPKAmodq計算出XA,并利用共享口令password加密后,發(fā)送給用戶B。
3)用戶A首先對EPASSWORD(XB)進行解密,得到XB后計算出KSAB,再解密RB,同時本地產(chǎn)生RA,利用KSAB加密后發(fā)送。
4)用戶B收到EK(RA,RB)之后,利用KSAB進行解密,對比RB和本地產(chǎn)生是否一致以對用戶A的身份進行驗證;驗證成功后在將解密后的RA加密發(fā)送到用戶A。
5)用戶A對來自用戶B的RB進行解密驗證,鑒別用戶B身份的合法性。
這樣通信的雙方就完成了相互的身份認證并計算出了一組本次通信使用的會話密鑰KSAB,基于EKE和DH相結(jié)合的密鑰協(xié)商協(xié)議只需用戶記住共享口令,而無需再額外保存公鑰/私鑰以及其它的安全措施,大大簡化了客戶端的設(shè)計。同時,由于XA和XB是加密傳輸,因此可以避免了單純的離線對數(shù)交換式可能發(fā)生的中間人攻擊,有效提升了密鑰交換協(xié)議的安全性。
在基于EKE的密鑰交換協(xié)議中,共享口令信息password是信息安全的關(guān)鍵。因為password負責(zé)保護XA和XB,通過XA和XB可計算出業(yè)務(wù)數(shù)據(jù)加密使用會話密鑰KSAB。因此,共享口令password通常預(yù)存于用戶終端上,采用隨機字符串的方式,并由系統(tǒng)管理員進行定時更新,以確保其安全性。但面對基于口令的攻擊時,基于EKE的密鑰交換協(xié)議的安全性需要進一步增強,否則攻擊者還是可能找到離散對數(shù)的漏洞。
CPK是“Combined Public Key”的縮寫,即中文名為組合公鑰,它是基于ECC算法的一種非對稱公鑰體制,它將密鑰分為私鑰和公鑰,由用戶信任的密鑰管理設(shè)施進行離線或在線的分發(fā)[4]。
CPK的私鑰和公鑰矩陣均為密鑰管理設(shè)施產(chǎn)生的隨機數(shù),其中私鑰矩陣由密鑰管理設(shè)施保存,用于私鑰的產(chǎn)生。而公鑰矩陣則由私鑰矩陣派生,通過離線或在線的方式,分發(fā)到網(wǎng)絡(luò)中的每個合法用戶,負責(zé)計算產(chǎn)生公鑰。用戶終端則基于管理設(shè)備分發(fā)的公私鑰進行相互身份的認證和密鑰協(xié)商。
因此在一個基于CPK的密鑰協(xié)商系統(tǒng)中,需要包括基于CPK的密鑰管理設(shè)備,用戶A和B等,如圖2所示。
圖2 基于CPK密鑰協(xié)商系統(tǒng)組成
密鑰管理設(shè)備根據(jù)密鑰組合矩陣產(chǎn)生用戶終端需要使用的公私鑰對,它將包含了用戶終端ID標(biāo)識的密鑰進行Hash變換得到Hk,然后對Hk進行多輪行列置換,得到該用戶的公私鑰,一組公私鑰對應(yīng)一個用戶終端,再通過離線或在線的方式分發(fā)到對應(yīng)的用戶終端。
得到全網(wǎng)唯一的公私鑰對之后,用戶終端即可實現(xiàn)端到端的相互身份認證和密鑰協(xié)商,詳細流程如下:
圖3 CPK-DH密鑰交換流程
1)用戶A將設(shè)備IDA、隨機數(shù)RA組成報文PA用散列函數(shù)進行處理,得到哈希值HA;在對該哈希值進行簽名運算得到SIG(HA)=(S,C)其中S為簽名碼,C為核對碼。當(dāng)通道建立之后,用戶A將簽名結(jié)果(S,C)發(fā)送給用戶B,發(fā)起協(xié)商認證請求。
2)用戶B收到該簽名結(jié)果后,通過用戶A的ID標(biāo)識計算得到其公鑰,并對其簽名進行驗證,當(dāng)驗簽成功后,再構(gòu)建用戶B自身的簽名報文,作為認證響應(yīng)發(fā)送到用戶A。
3)用戶A完成對認證響應(yīng)的簽名驗證后,基于ECC點乘運算特點(雙發(fā)的私鑰與對法公鑰點乘運算結(jié)果一致)計算出本次會話使用的公共會話密鑰KSAB,再利用KSAB建立保密通話。
這種基于CPK的DH密鑰協(xié)商協(xié)議,最短只需要一次即可完成通信雙發(fā)的身份認證和密鑰協(xié)商,而且由于基于第三方密鑰管理設(shè)備分發(fā)公私鑰的方式進行身份鑒別,在協(xié)商過程中用戶的公私鑰均不會暴露在網(wǎng)絡(luò)中,因此安全性較高。但由于需要建設(shè)所有用戶都能信任的公開密鑰基礎(chǔ)設(shè)施,在一定程度上增加了保密通信系統(tǒng)建設(shè)和運維的成本。
本文首先根據(jù)當(dāng)前通信網(wǎng)絡(luò)的發(fā)展趨勢,介紹了DH密鑰協(xié)商體制的基本原理和在VoIP網(wǎng)絡(luò)中的應(yīng)用。然后對VoIP網(wǎng)絡(luò)中常見的中間人攻擊進行了分析,指出了基于DH體制的密鑰協(xié)商由于缺乏對協(xié)商雙方的身份鑒別機制,可能導(dǎo)致VoIP通信安全隱患。最后提出了基于EKE和CPK的密鑰協(xié)商體制兩種解決方案,闡述了具體的密鑰協(xié)商流程,并對兩種解決方案的優(yōu)劣進行了簡單分析。證明了基于EKE和CPK的密鑰協(xié)商方案可以有效彌補密鑰體制在合法身份鑒別方面的缺陷。
當(dāng)然有效身份鑒別也會提升協(xié)議復(fù)雜度,降低協(xié)商的成功率。因此,下一步還需要對如何在保證密鑰協(xié)商安全的同時,提高網(wǎng)絡(luò)通信效能方面做進一步的研究。
[1] Whitfield DIFFIE, Martin HELLMAN.NewDirectionsinCryptograp[J].IEEE,1976,22(6):644-654.
[2] William Stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全—原理與實踐[M].第2版. 楊明,胥光輝,齊望東譯.北京:電子工業(yè)出版社,2012:185. YANG Ming, XU Guang-hui, QI Wang-dong Translate Cryptography and Network Security Principles and Practice[M].The second edition.Bei Jing:Publishing House Of Electronics Industry,2012:185.
[3] 陳華平.基于標(biāo)識的組合公鑰體制的原理[J].計算機安全,2010(02):39-43. CHEN Hua-ping. The Principle of the CPK Cryptosystem based on Identity[J]. Network & Computer Security,2010(2):39-43.
[4] 陳南洋.基于CPK的VoIP技術(shù)研究[J].信息安全與通信保密,2013(08):63-64. CHEN Nan-yang.VoIP Technology based on Combined Public Key[J].Information Security and Communication Privacy,2013(8):63-64.
LIAO Rong-hui(1980-), male, M.Sci., engineer, mainly engaged in network communications.
王 娟(1983—),女,碩士,工程師,主要研究方向為網(wǎng)絡(luò)通信;
WANG Juan(1983-), female, M.Sci., engineer, mainly engaged in network communications.
彭 凱(1984—),男,碩士,工程師,主要研究方向為網(wǎng)絡(luò)通信。
Peng Kai(1984-), male, M.Sci., engineer, mainly engaged in network communications.
Application of DH Cryptosystem in VoIP Communication
LIAO Rong-hui, WANG Juan, PENG Kai
(No.30 Institute of CETC,Chengdu Sichuan 610041,China)
The rapid development of communication network and computer science diversifies the communication services,and VoIP becomes the major development trend of present communication network. As an important technology to assure the communication security of VoIP network, DH key negotiation system attracts more and more attention. This paper firstly describes the basic principle of DH key negotiation system, and then analyzes the security risks of its application in VoIP communication systems and the possible attacks herewith. Aiming at different application demands, two solutions are proposed to effectively solve the defects in terms of legal identity authentication and enhance the key-negotiation safety in VoIP communication system,and this is undoubtedly of certain practical value.
DH;VoIP;EKE
date:2014-11-03;Revised date:2015-01-25
TN918.91
A
1002-0802(2015)03-0367-04
廖蓉暉(1980—),男,碩士,工程師,主要研究方向為網(wǎng)絡(luò)通信;
10.3969/j.issn.1002-0802.2015.03.023
2014-11-03;
2015-01-25