李 鋒
(廣東交通職業(yè)技術學院,廣州510650)
一種基于SSL協(xié)議的點對點通信架構?
李 鋒
(廣東交通職業(yè)技術學院,廣州510650)
P2P打破傳統(tǒng)的C/S模式,每個節(jié)點在網絡中的地位都是對等的,既充當服務器,同時也共享其它服務。早期P2P網絡僅考慮可用性,安全問題一直沒有得到很好的解決。以下提出一種基于SSL協(xié)議的點對點通信架構,將安全套接字層SSL協(xié)議植入P2P網絡,實現(xiàn)點對點安全通信,最后通過仿真實驗和數據分析說明該實現(xiàn)方法的可行性。
對等網絡;SSL協(xié)議;密鑰;隧道
P2P打破傳統(tǒng)的C/S模式,每個節(jié)點在網絡中的地位都是對等的,既充當服務器,同時也共享其它服務,各節(jié)點具有相同的能力與責任,協(xié)同完成任務。對等節(jié)點之間通過直接互連實現(xiàn)資源共享而無需依賴于傳統(tǒng)服務器的支持,從而避免信息孤島和資源孤島。早期P2P網絡資源共享僅考慮可用性,基本沒有安全機制。即使后來發(fā)展的一些P2P資源共享技術,其安全機制也僅限于口令認證和信任授權,并沒有統(tǒng)一的安全協(xié)議作為保障,通用性和安全性極其有限。面對P2P共享系統(tǒng)中存在的諸多安全隱患,如何保證P2P系統(tǒng)在沒有中心節(jié)點過多干預的情況下提供身份認證、授權以及信息通信的保密性和完整性,并將現(xiàn)有安全協(xié)議與P2P網絡共享整合,以此提高P2P系統(tǒng)應用的安全性,是近年研究的一個熱點。
安全隧道是目前P2P最新采用的安全技術。鑒于網絡層安全隧道雖然實現(xiàn)簡單,但功能有限,靈活性較差,而且對網絡底層依賴性較高,不能穿越NAT和防火墻;應用層安全隧道雖然具有較好的管理性和靈活性,可以滿足不同安全級別需求,但缺乏統(tǒng)一安全標準,兼容性較差;而傳輸層安全隧道在管理性和靈活性方面雖不及應用層安全隧道,但具有統(tǒng)一安全協(xié)議和安全標準,正好可以彌補應用層安全隧道的不足。有鑒于此,提出將傳輸層安全隧道協(xié)議標準嵌入應用層安全隧道,在應用層安全隧道上引入用于傳輸層中的SSL協(xié)議,用統(tǒng)一協(xié)議規(guī)范作為安全機制,實現(xiàn)節(jié)點間信息通信的安全性和統(tǒng)一性。
然而,P2P系統(tǒng)中引入SSL協(xié)議是一個嶄新的課題。首先,必先解決網絡的拓撲問題,否則無法穿越NAT和防火墻;其次,基于SSL協(xié)議的P2P應用軟件必須建立在與之相適應的網絡模型上。鑒于上述兩點,致使目前流行的P2P應用軟件難以植入SSl協(xié)議。有鑒于此,本論文采用P2P網絡模型作為研究對象,在實踐基礎上證明P2P系統(tǒng)中引入SSL協(xié)議的可行性。
SSL(Secure Socket Layer)安全套接層協(xié)議是Netscape公司開發(fā)的一種基于RSA算法和傳統(tǒng)加密技術,用于瀏覽器和Web服務之間的安全隧道技術。它位于TCP/IP應用層與傳輸層之間,采用典型的C/S結構,提供通信雙方身份識別和數字認證,通過TCP實現(xiàn)可靠的端到端安全服務,以透明方式保證通信雙方通信信道的安全性。
針對上述P2P網絡中信息傳遞所面臨的安全性威脅(身份假冒,信息竊取和信息篡改等),SSL協(xié)議可以給出如下解決方案:
(1)身份認證:對于安全性要求較高的節(jié)點,SSL協(xié)議可以利用證書技術和可信第三方CA(Certification Authority)對通信節(jié)點進行雙向認證。為了確保認證證書持有者是合法用戶,SSL要求證書持有者在握手時相互交換數字證書,通過認證來保證對方身份的合法性。
(2)保密性:節(jié)點間通過密鑰協(xié)商和密碼算法建立安全通道,在通道中傳輸的所有信息都可經過加密處理。
(3)完整性:SSL協(xié)議利用密碼算法和hash函數,通過對傳輸信息特征值的提取來保證信息的完整性。
SSL協(xié)議應用于WEB客戶機和WEB服務器的超文本傳輸。然而,盡管上述步驟使用的是客戶端和服務器術語,但SSL協(xié)議也可應用于P2P文件共享,因為在SSL握手協(xié)議中,客戶端和服務器本身可以視為一對對等節(jié)點[1]。由此可見,P2P單節(jié)點和單節(jié)點中引入SSL協(xié)議進行傳輸,在理論上是可以實現(xiàn)的。若能將單節(jié)點和單節(jié)點引入的SSL協(xié)議延伸至網絡中所有節(jié)點,則可實現(xiàn)整個P2P網絡資源交互的安全性。
3.1 CA的構建
P2P網絡應盡量避免單個中心節(jié)點的存在,模型倘若僅由單個CA構建,CA不僅會成為網絡性能的瓶頸,其崩潰亦會造成整個P2P網絡的癱瘓,埋下安全隱患[2]。因此,本文提出由多個CA分布式協(xié)作方式,從而避免上述問題的出現(xiàn)。具體在P2P網絡中,為不增加額外的認證服務器,擬采用超節(jié)點充當CA認證中心。超節(jié)點在提供自身P2P不同應用的同時,還提供認證服務。網絡上其它節(jié)點可根據具體連接狀況,選取就近CA認證中心獲取證書,模型結構如圖1所示。

圖1 P2P網絡中CA分布圖
P2P節(jié)點間的雙向認證根據其所屬CA認證中心位置,可分為區(qū)域內認證和區(qū)域間認證,如圖2所示。

圖2 P2P網絡中節(jié)點認證圖
(1)區(qū)域內認證:如果N1要和N2之間進行通信,可通過本區(qū)域認證服務器CA1進行認證;同理,N3要和N4之間進行通信,可通過本區(qū)域認證服務器CA2進行認證。
(2)區(qū)域間認證:如果N1要和另外一區(qū)域節(jié)點N3進行通信,其認證過程如下:
N1向自身所處區(qū)域CA1進行認證,并從CA1得知目的節(jié)點N3處于另外一區(qū)域的信息。于是CA1向CA2請求為N1與N3之間分配會話密鑰。CA2生成會話密鑰后直接傳給N3,并通過CA1轉發(fā)給N1,從而達到N1與N3之間雙向認證目的。
3.2 P2P安全通信的建立
通信節(jié)點在雙方握手連接之前先獲得對方公鑰證書及CA公鑰證書,而握手協(xié)議實現(xiàn)了P2P節(jié)點之間的雙向身份鑒別、密鑰交換和保密會話。在達到安全通信之前,握手協(xié)議需進行4次交互,具體過程如圖3所示。

圖3 節(jié)點之間SSL握手過程
(1)節(jié)點A與節(jié)點B建立握手連接,握手成功后向對方節(jié)點B發(fā)送會話密鑰序列號、加密說明及節(jié)點A隨機數。
(2)節(jié)點B接收到來自節(jié)點A發(fā)送過來的消息,將會話序列號、加密說明、節(jié)點B公鑰證書、節(jié)點B隨機數及節(jié)點B密鑰交換消息(用節(jié)點B私鑰(N,ssk)加密后的節(jié)點隨機數)
X=NodeA.randomssk(mod N)發(fā)送給節(jié)點A。

(3)節(jié)點A利用CA公鑰,認證節(jié)點B公鑰證書的合法性,再用節(jié)點B公鑰(N,spk)認證節(jié)點B身份。即:若(1)式成立,則可確認節(jié)點B身份,然后將加密規(guī)格說明、節(jié)點A公鑰證書和節(jié)點A密鑰交換信息,包括利用節(jié)點A和私鑰(N,csk)加密后的節(jié)點B隨機數Y=NodeB.randomcsk(mod N)和用節(jié)點B公鑰加密的節(jié)點A隨機前主密鑰
B=PreMasterKeyspk(mod N)。
(4)節(jié)點B用同樣方法認證節(jié)點A公鑰證書的合法性及其身份,并用其私鑰(N,ssk)對節(jié)點B解密。

通過式(2),獲得前主密鑰。同時,將改變加密規(guī)格說明發(fā)送給節(jié)點A,表示同意用協(xié)商好的加密規(guī)格進行數據加密。
通過上述握手過程,通信雙方共得到3個共享隨機數,即NodeA.random,NodeB.radom和PreMasterKey。以它們作為參考可以動態(tài)生成主密鑰、報文加密密鑰和報文認證密鑰。
至此,節(jié)點A和節(jié)點B完成雙向認證,并協(xié)商好會話密鑰和相關的安全通信參數,建立了安全連接。SSL植入P2P后,用于實際數據加密的對稱密鑰k由雙方私鑰相乘所得,即使單方私鑰不慎外泄亦可保證對稱密鑰的安全,因此密鑰安全性比傳統(tǒng)C/S模式更高。
3.3 密鑰管理
密鑰管理是有關密鑰從產生到銷毀的整個過程的理論,包括系統(tǒng)初始化,密鑰產生、存儲、分配、保護、更新和銷毀。傳統(tǒng)P2P分布式結構使用CA管理節(jié)點密鑰,這些“熱點”往往成為攻擊目標。而自生成證書公鑰密碼體制由于對可信中心依賴較少,通過使用秘密分享技術將可信中心分散到多個節(jié)點,提高了中心的可靠性和安全性,適合在P2P節(jié)點中使用。
設p是大素數,其長度不小于512bit;q是p-1的一個大素因子,其長度不小于160bit;g是Z*p中的一個q階生成元;k是門限值,n是分享者的人數。分發(fā)者A選擇Zq上一個隨機的t-1次多項式:

f(0)=a0=SK為要在P1,P2,...,Pn中分享公鑰。A對f(x)保密,計算:

ei是A要發(fā)送給第i個分享者Pi的秘密份額,將其廣播αj=gαjmod p,j=0,1,2,...,t-1。
驗證算法,對j=1,2,...,n,每一個Pj檢驗是否有

如果式(5)不成立,那么Pj所收到的份額ej無效,以此抵抗(n-1)/2個惡意分享者,由于gsk== ga0mod p被公開,所以該方案是計算安全的。
P2P系統(tǒng)引入SSL協(xié)議后,其性能可從兩方面進行分析,分別是數據流吞吐量和并發(fā)連接建立能力。在相同硬件條件下,數據流吞吐量是由SSL對稱加密信息認證碼(MAC:Message Authentication Code)算法決定的。一方面,不同加密算法對傳輸性能有顯著影響;另一方面,連接的建立涉及到一次SSL連接和一次TCP連接,這將受到網絡狀態(tài)和網絡設施的影響。Siege是一個負載測試和評估軟件,可以對同一時間內TCP連接和并發(fā)連接性能進行測試,性能測試結果及分析如下:
Siege一次連接測試包含一次SSL連接和一次TCP連接。圖4是P2P采用SSL加密傳輸的并發(fā)流量統(tǒng)計信息圖。從圖中可以得出:隨著并發(fā)數目增大,并發(fā)平均流量也不斷增加,主機A的工作負載趨于飽和。在并發(fā)數值達60時,并發(fā)流量到達峰值,這說明此時主機A處于飽和工作狀態(tài)(包含連接建立操作和數據加密、解密操作,受主機配置影響)。當并發(fā)請求數值超過60時,并發(fā)流量迅速下降,追其原因有二:

圖4 并發(fā)流量統(tǒng)計信息圖
(1)連接請求過多,主機A資源耗盡,不能對數據及時轉發(fā)導致并發(fā)流量下降;
(2)隨著并發(fā)連接數目增大,主機A來不及響應請求,致使主機B發(fā)送過來的連接請求被丟棄,從而導致連接成功率下降,如圖5所示。

圖5 并發(fā)連接成功率圖
對等網絡在資源共享、海量存儲、分布式計算、協(xié)調工作等領域有著廣泛的應用前景,未來的工作重點將著眼于提高對等網絡的安全性。如何保障對等網絡安全一直是懸而未決的問題,亦是一個嶄新的研究方向。安全是個相對概念,隨著P2P和網絡安全技術的不斷進步,新問題、新思想、新理論層出不窮,還有更多的挑戰(zhàn)和任務需要去探索和研究。
[1] 馮國柱,李超,吳翊.RSA公鑰密碼的信息論分析[J].計算機工程與科學,2007(2):4-6.
[2] 謝朝海.RSA密碼攻擊進展[J].信息網絡安全,2007(1):49-52.
[3] 王玲.網絡信息安全的數據加密技術[J].信息安全與通信保密,2006(4):64-68.
[4] 王丹,于戈.P2P系統(tǒng)模型研究[J].計算機工程,2005(4):128-132.
[5] 王濤,盧顯良,段翰聰.基于SSL的P2P安全通信模型[J].計算機科學,2006(5):104-109.
[6] 周敬利.SSL VPN中動態(tài)密碼的研究與應用[J].計算機應用研究,2006(8):19-25.
[7] 李旭峰,陳海濤.通用P2P模擬器的構造技術研究[J].計算機應用研究,2006(5):31-37.
[8] 曹玉輝,王衛(wèi)紅,覃征.面向P2P的動態(tài)資源模型[J].計算機工程,2006(12):19-22.
[9] 唐焱,張延園,張琳.一個通用P2P協(xié)議模擬器[J].計算機工程與應用,2005(10):129-135.
A P2P Communication Architecture Base on SSL Protocol
LIFeng
(Guangdong Communication Polytechnic,Guangzhou 510650,China)
P2P technology breaks the traditional C/Smode and each node in the network is peer,which is not only used as server but also shares other services.Previous P2P network only considers its usability except for the security mechanism.This paper puts forward a P2P communication architecture base on SSL protocol,which combines SSL protocol into P2P network to realize point to point communication security and the feasibility of thismethod is proved by the simulation and experimental data.
P2P;SSL protocol;Key;Tunnel
10.3969/j.issn.1002-2279.2014.02.006
TP393
A
1002-2279(2014)02-0015-04
2012年廣東省高等學校教學質量與教學改革工程省級精品資源共享課程(粵教高函[2013]13號);2013年廣東省高職教育教學指導委員會教學教改項目(xxjs-2013-2001);2013年廣東省高職高專校長聯(lián)席會議教改項目(GDXLHQN012)
李鋒(1981-),男,廣東龍川人,碩士研究生,講師,主研方向:網絡安全和圖像處理。
2013-10-14