曹聰聰,蔣亞平,郭 浩
(鄭州輕工業(yè)學(xué)院 計算機(jī)與通信工程學(xué)院,河南 鄭州 450002)
?
SSL協(xié)議安全性能分析及改進(jìn)措施研究
曹聰聰,蔣亞平,郭 浩
(鄭州輕工業(yè)學(xué)院 計算機(jī)與通信工程學(xué)院,河南 鄭州 450002)
隨著信息傳遞的速度飛速增長,網(wǎng)絡(luò)通信安全防御成為網(wǎng)絡(luò)安全領(lǐng)域的重點研究之一.目前絕大多數(shù)網(wǎng)絡(luò)安全廠商將改進(jìn)完善現(xiàn)有的網(wǎng)絡(luò)安全協(xié)議作為一種重要的防御手段.但由于加密技術(shù)出口的限制政策,我國無法進(jìn)口.國內(nèi)電子商務(wù)的安全問題又日益嚴(yán)重,故提出了改進(jìn)SSL協(xié)議安全性的研究.主要從SSL協(xié)議漏洞和SSL協(xié)議攻擊兩個方面進(jìn)行分析,發(fā)現(xiàn)一些重大漏洞,并得出相應(yīng)的改進(jìn)措施.同時,詳細(xì)地分析并改進(jìn)了密鑰強(qiáng)度漏洞、密鑰管理漏洞、數(shù)字簽名漏洞、防范通信業(yè)務(wù)流攻擊、Change Cipher Spec消息丟失、密鑰交換算法欺騙預(yù)防方式、中間人攻擊等防范措施,并畫出改進(jìn)措施流程圖.
SSL協(xié)議;密鑰交換算法;數(shù)字簽名;數(shù)字證書;攻擊
隨著網(wǎng)絡(luò)通信安全隱患越來越多,波及范圍越來越廣,從而會產(chǎn)生一些個人隱私信息的泄露事件.而隨著互聯(lián)網(wǎng)通信水平不斷發(fā)展,網(wǎng)絡(luò)通信安全問題也不斷惡化,用戶對于網(wǎng)絡(luò)通信過程中的信息安全和隱私保護(hù)的要求也越來越高.而通過研究表明,普通的網(wǎng)絡(luò)安全協(xié)議已經(jīng)無法滿足當(dāng)前人們對日益嚴(yán)重的網(wǎng)絡(luò)通信安全問題的需要.因此,對網(wǎng)絡(luò)安全協(xié)議進(jìn)行進(jìn)一步研究和改進(jìn),便成了一個非常好的辦法.現(xiàn)如今,SSL(Secure Sockets Layer,安全套接層)協(xié)議以其簡單可靠的特點,已經(jīng)成為國內(nèi)外應(yīng)用最廣泛的安全協(xié)議.為了保證個人隱私數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中的安全,全球許多知名企業(yè)都采用了對SSL協(xié)議進(jìn)行改進(jìn)的方法,以應(yīng)對日益嚴(yán)重的信息安全問題.
本文通過對SSL協(xié)議工作原理、安全認(rèn)證和加密機(jī)制、SSL協(xié)議漏洞以及可能受到的攻擊進(jìn)行分析研究.著重分析了SSL中間人攻擊、通信業(yè)物流攻擊、Change Cipher Spec消息丟失、密鑰交換算法欺騙等攻擊方式可行性,通過研究這些攻擊方式,總結(jié)出了這些攻擊方式的攻擊特點,研究如何防范這些攻擊的措施,并畫出了相關(guān)的流程圖.
1.1 密鑰強(qiáng)度漏洞的改進(jìn)措施
在解決密鑰強(qiáng)度這個問題上,可以采用加強(qiáng)加密算法的安全程度和增加密鑰位長度等方法來解決.如果通過加強(qiáng)加密算法的安全程度,可以把SSL協(xié)議中的一些安全性不高的加密算法移除,使用目前國際標(biāo)準(zhǔn)加密算法中安全強(qiáng)度比較高的IDEA、3DES、AES等算法.這樣就解決了SSL協(xié)議本身的加密算法安全性不高的問題[1].
在SSL V3.0版本支持的加密算法有RSA算法.在SSL協(xié)議中可以使用的RSA算法有兩種:一種是永久RSA密鑰;另一種是臨時RSA密鑰.在密鑰位長度相同的時候,臨時RSA算法要比永久RSA算法在進(jìn)行密鑰交換時的安全性更高.但上文中講到,在RSA加密算法中,密鑰位長度是沒有限制的.但是,由于美國政府對于加密技術(shù)出口的限制政策,我國目前使用的SSL協(xié)議中只能使用512位的密鑰[1].因此,在使用SSL協(xié)議時,為確保SSL協(xié)議中產(chǎn)生的密鑰的安全性,需嚴(yán)格限制交換密鑰的密鑰位長度必須為1 024位或者大于1 024位.這樣就可以避免由于RSA密鑰長度不足導(dǎo)致的加密安全問題,從而對SSL協(xié)議密鑰強(qiáng)度漏洞進(jìn)行改進(jìn)并彌補.
圖1 SSL協(xié)議密鑰生成算法缺陷的改進(jìn)措施Fig.1 The improvement measure of SSL protocol key generation algorithm
1.2 密鑰管理漏洞的改進(jìn)措施
要解決密鑰管理問題就要確保主密鑰的安全,而主密鑰的安全就需要從保護(hù)隨機(jī)數(shù)和改進(jìn)密鑰交換算法的角度入手[2].
在SSL協(xié)議中預(yù)加密主密鑰是由客戶端產(chǎn)生的一組隨機(jī)數(shù),因此,SSL協(xié)議的安全性,很大的程度上取決于客戶端產(chǎn)生的這一組隨機(jī)數(shù)的安全性.使用硬件設(shè)備產(chǎn)生真正的隨機(jī)數(shù),或者使用軟件產(chǎn)生偽隨機(jī)數(shù),可以很好地提高SSL協(xié)議中客戶端產(chǎn)生的這組隨機(jī)數(shù)的安全性.從安全角度來考慮的話,使用硬件設(shè)備產(chǎn)生的隨機(jī)數(shù)在安全性方面,比使用軟件產(chǎn)生的偽隨機(jī)數(shù)高很多.但是由于硬件設(shè)備的價格以及復(fù)雜程度等客觀問題,導(dǎo)致只能使用軟件運行隨機(jī)數(shù)生成算法來產(chǎn)生隨機(jī)數(shù).而大多數(shù)的隨機(jī)數(shù)生成算法,主要通過采集一些隨機(jī)數(shù)種子的方法來生成隨機(jī)數(shù)的.因此,隨機(jī)數(shù)的安全性則取決于隨機(jī)數(shù)生成算法采集到的隨機(jī)數(shù)種子.而在隨機(jī)數(shù)生成算法中,都是對系統(tǒng)中的程序進(jìn)程表、時間、以及網(wǎng)絡(luò)數(shù)據(jù)等實時變化的系統(tǒng)狀態(tài)進(jìn)行收集隨機(jī)數(shù)種子[3].這樣就保證了產(chǎn)生的隨機(jī)數(shù)的隨機(jī)性和安全性,同時也保證了客戶端產(chǎn)生預(yù)加密主密鑰的安全性.如圖1所描述的是針對SSL協(xié)議密鑰生成算法缺陷的改進(jìn)措施.
在客戶端與服務(wù)器端進(jìn)行握手的時候,會使用到客戶端和服務(wù)器端產(chǎn)生的隨機(jī)數(shù)(分別為ClientHello.random和SeverHello.random)[4].由于客戶端和服務(wù)器端在交換雙方隨機(jī)數(shù)的過程,都是以明文的方式進(jìn)行傳輸,所以這兩組隨機(jī)數(shù)都很容易被竊聽到,沒有安全性可言.因此在客戶端和服務(wù)器端交換隨機(jī)數(shù)的時候,可以在握手過程中添加一組對稱加密密鑰,對雙方交換的隨機(jī)數(shù)進(jìn)行加密保護(hù)[5].所添加的一組對稱加密密鑰可以在SSL協(xié)議提供的加密算法中進(jìn)行選擇.同樣的,通過對握手過程進(jìn)行添加加密密鑰處理,也可以解決密鑰交換算法的安全漏洞問題[6].如圖2所描述的是SSL協(xié)議密鑰交換算法安全漏洞的改進(jìn)措施.
1.3 數(shù)字簽名漏洞的改進(jìn)措施
通常情況下,由于公共密鑰在簽名和加密的過程中存在周期不同,所以一對公共密鑰不可同時用做加密密鑰和簽名密鑰.由于握手過程中,公共密鑰當(dāng)作交換密鑰使用時,只存在于當(dāng)前握手的過程,公共密鑰的存在周期很短.所以存在周期不同的問題就可以避免.所以握手過程中用來做密鑰交換的公共密鑰也可以用來做數(shù)字簽名.因此,SSL協(xié)議本身就可以添加對消息進(jìn)行數(shù)字簽名和數(shù)字認(rèn)證的功能.但是在現(xiàn)有的SSL協(xié)議中,公開密鑰加密技術(shù)的公鑰和私鑰只是被用于服務(wù)器端與客戶端進(jìn)行握手時的密鑰交換算法,并沒有利用這些公鑰和私鑰進(jìn)行數(shù)字簽名以及簽名認(rèn)證.為了使SSL協(xié)議具有數(shù)字簽名功能,可以對現(xiàn)有的SSL協(xié)議添加數(shù)字簽名和數(shù)字認(rèn)證功能,對進(jìn)行網(wǎng)絡(luò)安全傳輸?shù)臄?shù)據(jù)信息進(jìn)行數(shù)字簽名和數(shù)字認(rèn)證,并可以將其稱為SSL簽名協(xié)議.如圖3所描述的是針對SSL協(xié)議數(shù)字簽名漏洞的改進(jìn)措施.
圖2 SSL協(xié)議密鑰交換算法安全漏洞的改進(jìn)措施Fig.2 The improvement measure of SSL protocol key exchange algorithm
圖3 SSL協(xié)議數(shù)字簽名漏洞改進(jìn)措施Fig.3 The improvement measure of SSL protocol digital signature holes
SSL簽名協(xié)議可以用來處理需要進(jìn)行數(shù)字簽名的數(shù)據(jù)信息,而SSL簽名協(xié)議是在現(xiàn)有的SSL協(xié)議基礎(chǔ)上改進(jìn)而來的,它利用了SSL協(xié)議原有的加密資源,例如公共密鑰對、私密密鑰對、公開密鑰算法等.可以以現(xiàn)有的SSL協(xié)議為藍(lán)本,創(chuàng)建一個相對獨立的功能模塊來實現(xiàn)SSL協(xié)議的數(shù)字簽名功能.這樣就可以保證SSL簽名協(xié)議的兼容性,并且可以對原SSL協(xié)議進(jìn)行替換,使用SSL簽名協(xié)議來實現(xiàn)數(shù)字簽名功能.
2.1 防范通信業(yè)務(wù)流攻擊
通信業(yè)務(wù)流攻擊需要在某些特定的前提之下才會攻擊成功,但以目前的情況來看,通信業(yè)務(wù)流攻擊只能算是一種潛在的威脅.然而在通常使用SSL協(xié)議中,對于通信業(yè)務(wù)流攻擊這種潛在的威脅,也是要盡量避免的.由于SSL協(xié)議在設(shè)計之初的問題以及網(wǎng)絡(luò)結(jié)構(gòu),所決定其無法拒阻通信業(yè)務(wù)流攻擊.但是對于通信業(yè)務(wù)流攻擊也不是不可避免的.
同樣的,在SSL協(xié)議上改進(jìn)過來的TLS協(xié)議也無法抵抗通信業(yè)務(wù)流攻擊.只是TLS協(xié)議在介紹中講述并強(qiáng)調(diào)了通信業(yè)務(wù)流攻擊對TLS協(xié)議的危害性.建議用戶不要在未受保護(hù)的通信業(yè)務(wù)流中進(jìn)行通信,避免個人隱私和機(jī)密信息的暴露.對于通信業(yè)務(wù)流攻擊,只是一種被動的攻擊方式,防范意識可以彌補攻擊者的攻擊方法.對于日常網(wǎng)絡(luò)通信的用戶來說,建議不要在未經(jīng)認(rèn)證的網(wǎng)站上輸入自己的相關(guān)信息,更不要使用虛假網(wǎng)站和陌生網(wǎng)站進(jìn)行登錄,以免使個人的基本信息和隱私信息被盜取.
2.2 針對Change Cipher Spec消息丟失防范措施
對于Change Cipher Spec消息丟失攻擊的防范措施,可以將Change Cipher Spec消息認(rèn)證添加到Finished消息的消息認(rèn)證中,并且要求通信雙方只有收到Change Cipher Spec消息才能發(fā)送Finished消息.在防范Change Cipher Spec消息丟失攻擊的時候,應(yīng)當(dāng)使用相關(guān)加密軟件或者網(wǎng)絡(luò)安全廠商研發(fā)的安全協(xié)議進(jìn)行通信.這樣就能在Finished消息丟失的時候斷開信息傳輸,或者發(fā)送崩潰錯誤信息,這種方法實際上是對SSL協(xié)議Change Cipher Spec消息丟失漏洞的彌補.如圖4所描述的針對Change Cipher Spec消息丟失防范措施.
圖4 針對Change Cipher Spec消息丟失的防范措施Fig.4 The improvement measure of Change Cipher Spec message loss
圖5 對Server Key Exchange消息進(jìn)行簽名認(rèn)證Fig.5 The Server Key Exchange message of signature certification
圖6 對Server Key Exchange消息進(jìn)行加密處理Fig.6 The Server Key Exchange message of encryption processing
對于防范Change Cipher Spec消息丟失攻擊,用戶需要在安全的網(wǎng)絡(luò)環(huán)境下進(jìn)行網(wǎng)絡(luò)通信,并且避免使用公共網(wǎng)絡(luò),因為在公共網(wǎng)絡(luò)中,時常存在攻擊者對用戶進(jìn)行Change Cipher Spec消息丟失攻擊.而使用安全的網(wǎng)絡(luò)通信方式,以及使用網(wǎng)絡(luò)安全廠商的安全協(xié)議可以進(jìn)一步保障用戶的通信安全,這樣就能夠防止攻擊者對個人隱私和機(jī)密信息地竊取.
2.3 密鑰交換算法欺騙預(yù)防方式
對于密鑰交換算法欺騙攻擊,用戶可以通過特殊處理SSL協(xié)議來加以避免,例如,可以在SSL協(xié)議中添加Server Key Exchange消息簽名認(rèn)證過程[7],如圖5所示;或者對Server Key Exchange消息進(jìn)行公開密鑰加密技術(shù)處理后再傳輸給客戶端,如圖6所示.而用戶也可以在接收到Server Key Exchange消息的時候,仔細(xì)檢查數(shù)據(jù)信息的公開參數(shù)域的長度信息,來加以區(qū)分所使用的密鑰交換算法,從而達(dá)到初步的預(yù)防作用.最后讓用戶采用較低安全性的密鑰加密算法,比如可以讓用戶選擇密鑰長度只有40位的DES算法[8],這樣就可以避免密鑰交換算法欺騙攻擊.
對于防范密鑰交換算法欺騙的攻擊,用戶可以使用一些殺毒軟件和網(wǎng)絡(luò)安全軟件進(jìn)行防護(hù),并且建議用戶不要輕易關(guān)閉計算機(jī)中的安全軟件和防火墻.這些安全軟件和防火墻可以檢測到計算機(jī)中的網(wǎng)絡(luò)通信異常狀態(tài),這樣就可以進(jìn)一步保護(hù)用戶的網(wǎng)絡(luò)通信安全.
2.4 中間人攻擊的防御措施
防范SSL中間人攻擊的方式有很多,最常見的就是防止“中間人”存在.由于DNS劫持攻擊方式[9]通常存在于公網(wǎng)之中,所以主要防范的是單個用戶,且注意不可在不信任的網(wǎng)站上進(jìn)行網(wǎng)上交易,不登陸來歷不明的網(wǎng)站和鏈接.并且事先記錄好自己所要登陸的網(wǎng)站的域名地址,也可以記錄下自己常用的網(wǎng)站的IP地址,需要時可以進(jìn)行手動輸入IP地址登錄.如果需要與其他用戶進(jìn)行網(wǎng)上交易,建議用戶選擇安全的通信方式和網(wǎng)絡(luò),不要隨意在陌生網(wǎng)站上進(jìn)行網(wǎng)絡(luò)通信.
對于ARP欺騙攻擊的防范措施,可以設(shè)置靜態(tài)ARP或者將IP地址和MAC地址綁定,這些方法在計算機(jī)的網(wǎng)絡(luò)服務(wù)中都可以進(jìn)行修改,甚至可以停用自己的ARP協(xié)議.這樣就可以有效防止ARP欺騙攻擊.
對于代理服務(wù)器攻擊方式,則需要自己謹(jǐn)慎使用陌生服務(wù)器,甚至不使用陌生服務(wù)器.建議用戶不在陌生的網(wǎng)絡(luò)中進(jìn)行網(wǎng)絡(luò)通信和網(wǎng)上交易,用戶的個人隱私信息也不要在陌生的網(wǎng)絡(luò)和服務(wù)器中傳輸.
中間人攻擊作為一種黑客常用的一種攻擊手段[10],各大網(wǎng)絡(luò)安全廠商對于中間人攻擊防護(hù)研究都有重大成果.用戶可以使用這些網(wǎng)絡(luò)安全廠商的軟件,為自己的網(wǎng)絡(luò)通信安全增添一份安全保障.
隨著人們對網(wǎng)絡(luò)的需求越來越大,人們也對自己信息安全方面的重視程度也逐漸提高,同時也產(chǎn)生了很多用于保護(hù)用戶隱私安全的產(chǎn)業(yè).同時,安全問題也是電子商務(wù)領(lǐng)域的核心問題之一,種種研究表明SSL協(xié)議(Secure Sockets Layer,安全套接層協(xié)議)憑借其簡單可靠的特性成為目前應(yīng)用最廣泛的協(xié)議.目前國外許多廠商都推出了基于SSL協(xié)議改進(jìn)而來的安全保護(hù)產(chǎn)品,但是由于加密技術(shù)出口的限制政策,我國無法進(jìn)口.國內(nèi)電子商務(wù)的安全問題又日益嚴(yán)重,本文提出了改進(jìn)SSL協(xié)議安全性的研究.
本文主要講述了SSL協(xié)議存在的比較嚴(yán)重的漏洞,并對各種漏洞產(chǎn)生的原因,如何利用這些漏洞對SSL協(xié)議下的通信過程進(jìn)行攻擊,都進(jìn)行了詳細(xì)的論述.通過對這些漏洞的分析進(jìn)一步得出SSL協(xié)議容易遭受的攻擊,并分析這些攻擊方式,對SSL協(xié)議保護(hù)下的通信過程造成的傷害.經(jīng)過對SSL協(xié)議存在的漏洞和易遭受的攻擊進(jìn)行分析,針對SSL協(xié)議漏洞的改進(jìn)措施進(jìn)行研究分析,以及研究SSL協(xié)議攻擊的防范措施.
[1] 王衍波.應(yīng)用密碼學(xué)[M].北京:機(jī)械工業(yè)出版社,2003.
[2] 王芙蓉,童則余.欄截和轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)包的設(shè)計與實現(xiàn)[J].電信快報,2005(4):21-23.
[3] 尚志會,張建偉,馬琳琳,等.基于iOS平臺的網(wǎng)購應(yīng)用客戶端的設(shè)計與實現(xiàn)[J].湖北民族學(xué)院學(xué)報(自然科學(xué)版),2016,34(2):210-213.
[4] 史默然,韓永飛,栗穎佳.SSL握手協(xié)議的分析與改進(jìn)[J].電腦與信息技術(shù),2012(4):8-10.
[5] 劉丹.電子計算機(jī)聯(lián)鎖系統(tǒng)通信協(xié)議設(shè)計及安全性分析[J].電子技術(shù)與軟件工程,2016(7):1-3.
[6] 王立斌,溫偉強(qiáng).后量子時代密鑰交換協(xié)議的分析與設(shè)計[J].西安郵電大學(xué)學(xué)報,2016,21(1):1-6.
[7] 黃雪琴,耿強(qiáng).一種基于改進(jìn)的SSL協(xié)議仿真測試方法[J].實驗室研究與探索,2014(6):124-127.
[8] 沈濟(jì)南,梁芳.基于SSI的學(xué)生工作管理系統(tǒng)的設(shè)計與實現(xiàn)[J].湖北民族學(xué)院學(xué)報(自然科學(xué)版),2015,33(1):58-61.
[9] 楊光,聶敏,楊武軍.SIP協(xié)議量子身份認(rèn)證與密鑰協(xié)商方案[J].四川大學(xué)學(xué)報(自然科學(xué)版),2016,53(1):87-92.
[10] 楊文軍,孫希杰,王春東,等.基于ECC算法的SSL協(xié)議改進(jìn)[J].南開大學(xué)學(xué)報(自然科學(xué)版),2016,49(2):8-14.
責(zé)任編輯:高 山
Secure Sockets Layer Protocol Security Performance
Analysis and Improvement Measures
CAO Congcong,JIANG Yaping,GUO Hao
(College of Computer and Communication Engineering,Zhengzhou University of Light Industry,Zhengzhou 450002,China)
With the rapid increase of the speed of information transmission,network communication security defense has become one of the key researches in the field of network security.At present, the majority of network security vendors will improve the existing network security protocols as an important means of defense.However,due to the restricted export of encryption technology,China can not import it.Domestic e-commerce security issues are increasingly serious,so it is proposed to improve the research of the security of SSL protocol.This article makes an analysis mainly from the SSL agreement and the SSL protocol attack.Some major loopholes are found and the corresponding improvement measures are put forward.At the same time,we made a detailed analysis of and improved the strength of key loopholes,key management loopholes,digital signature loopholes, prevention of traffic flow attack,Change Cipher Spec message loss,fraud prevention through the key exchange algorithm,man-in-the-middle attacks and other preventive measures.
secure sockets layer protocol;key exchange algorithm;digital signature;digital certificate;attack
2016-09-27.
國家自然科學(xué)基金項目(61272038);河南省科技廳科技攻關(guān)基金項目(0624220084);河南省科技廳基礎(chǔ)與前沿技術(shù)項目(122300410255);河南省教育廳自然科學(xué)基金(2010A520044).
曹聰聰(1993- ),女,碩士生,主要從事網(wǎng)絡(luò)安全、智能計算的研究.
1008-8423(2016)04-0446-05
10.13501/j.cnki.42-1569/n.2016.12.019
TP393.08
A