錢雙艷
摘要:隨著我國(guó)經(jīng)濟(jì)和科學(xué)技術(shù)的不斷發(fā)展,P2P網(wǎng)絡(luò)技術(shù)應(yīng)用越來越廣泛,特別是在商業(yè)經(jīng)營(yíng)活動(dòng)中,P2P技術(shù)所扮演的角色越來越重要,由于P2P技術(shù)在商業(yè)中被廣泛采用,上述原因使得P2P技術(shù)的安全性顯得十分重要,網(wǎng)絡(luò)安全對(duì)于商業(yè)P2P應(yīng)用生存至關(guān)重要,為了確保網(wǎng)絡(luò)安全,必須對(duì)P2P網(wǎng)路中對(duì)等節(jié)點(diǎn)之間的傳輸過程建立安全隧道,從而保障商業(yè)數(shù)據(jù)的安全性。接下來該文將對(duì)P2P網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)間的安全通信做出淺顯的探討,并對(duì)P2P安全通信種的常用的隧道機(jī)制和P2P實(shí)現(xiàn)工具做出了簡(jiǎn)要的介紹和分析。
關(guān)鍵詞:P2P;安全通信;認(rèn)證;安全隧道;SSL;IPSec
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)28-6620-02
1 概述
P2P網(wǎng)絡(luò)技術(shù)的核心在于不同網(wǎng)絡(luò)節(jié)點(diǎn)間的資源共享,在P2P網(wǎng)絡(luò)技術(shù)中可以被用來資源共享的有文件、存儲(chǔ)空間及計(jì)算能力。和其他網(wǎng)絡(luò)技術(shù)相比,P2P網(wǎng)絡(luò)技術(shù)在實(shí)際操作中比較靈活,同時(shí)成本也較低,基于上述原因,P2P網(wǎng)絡(luò)技術(shù)被廣泛應(yīng)用于商業(yè)經(jīng)營(yíng)活動(dòng)中。P2P網(wǎng)絡(luò)技術(shù)最重要的特點(diǎn)便是開放性,P2P網(wǎng)絡(luò)技術(shù)開放性的特帶你在帶來方便的同時(shí),也伴隨著一些缺點(diǎn),比較突出的便是,由于其開放性使得P2P網(wǎng)絡(luò)技術(shù)的安全性得不到很好的保障。由于商業(yè)經(jīng)營(yíng)活動(dòng)的特點(diǎn),對(duì)P2P在商業(yè)活動(dòng)中的安全性要求比較高。從結(jié)構(gòu)特點(diǎn)上看,P2P網(wǎng)絡(luò)屬于一種分布式網(wǎng)絡(luò)體系結(jié)構(gòu),同時(shí)也可以看成是位于傳統(tǒng)TCP/IP網(wǎng)絡(luò)之上的一種覆蓋網(wǎng)絡(luò)?;赑2P網(wǎng)絡(luò)的上述特點(diǎn),特意采用一些比較傳統(tǒng)的網(wǎng)絡(luò)安全措施如防火墻、VPN以及RADIUS等確保P2P網(wǎng)絡(luò)的安全性。接下來筆者將結(jié)合多年的工作經(jīng)驗(yàn),對(duì)P2P網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)安全通信做出淺顯的探討。
2 P2P安全通信要求
正是由于P2P網(wǎng)絡(luò)技術(shù)的開放性和靈活性,使得P2P網(wǎng)絡(luò)技術(shù)比較適合運(yùn)用在商業(yè)、企業(yè)分布式網(wǎng)絡(luò)應(yīng)用中,在實(shí)際應(yīng)用中也取得了很好的效果。由于商業(yè)應(yīng)用的特殊性,P2P網(wǎng)絡(luò)中的機(jī)密性、認(rèn)證、完整性和可用性等安全問題一直是P2P網(wǎng)絡(luò)在商業(yè)運(yùn)用中急需解決的問題。
2.1機(jī)密性
通常所說的P2P機(jī)密性是指P2P網(wǎng)絡(luò)中兩個(gè)對(duì)等節(jié)點(diǎn)安全通信的安全性,為了保障信息的安全性,在兩個(gè)對(duì)等節(jié)點(diǎn)之間進(jìn)行信息傳遞時(shí)必須進(jìn)行加密。在目前P2P網(wǎng)絡(luò)技術(shù)中比較常用的加密技術(shù)有對(duì)稱加密技術(shù),比如RC5、DES、IDEA、AES等等。同時(shí)也可以采用非對(duì)稱加密技術(shù)對(duì)節(jié)點(diǎn)之間傳遞的信息進(jìn)行加密,比較常見的非對(duì)稱加密技術(shù)有RSA公鑰加密算法。和非對(duì)稱加密技術(shù)相比,對(duì)稱加密技術(shù)的加密速度比較快,同時(shí)加密過程比較易于操作等優(yōu)勢(shì),但是采用對(duì)稱加密技術(shù)時(shí),所用到的秘密密鑰在分發(fā)過程中的安全問題不能夠絕對(duì)得到保障。與之相比的是,RSA公鑰加密算法雖然在加密過程中效率沒有對(duì)稱加密技術(shù)高,同時(shí)對(duì)計(jì)算能力也有著較高的要求,但是RSA公鑰加密算法可以很好的保障秘密密鑰在分發(fā)過程中的安全問題?;诜菍?duì)稱加密技術(shù)和對(duì)稱加密技術(shù)的特點(diǎn),使得其適用情況各不相同。一般而言,RSA公鑰加密算法技術(shù)適用于秘密密鑰交換過程,對(duì)稱加密技術(shù)技術(shù)適合應(yīng)用在真正的數(shù)據(jù)加密情況。
2.2完整性
在P2P網(wǎng)絡(luò)中不僅要確保數(shù)據(jù)傳輸過程中的安全性,也要確保數(shù)據(jù)傳輸過程中的完整性,為了確保數(shù)據(jù)在P2P網(wǎng)絡(luò)傳輸過程中保持完整性,目前比較常用的方法是確保安全散列計(jì)算過程的準(zhǔn)確性。比前技術(shù)比較成熟,應(yīng)用比較廣泛的安全散列算法有MD5和SHA-1。所謂的安全散列算法實(shí)質(zhì)上是一種特殊的函數(shù),這里提到的函數(shù)與常見的函數(shù)有著較大的差別。這里指的函數(shù)指單向安全哈希函數(shù),這種函數(shù)可以處理的信息容量比較大,對(duì)于任何長(zhǎng)度的信息都可以進(jìn)行安全散列,并得到唯一的固定長(zhǎng)度的散列值,在信息傳遞過程中,得到的固定長(zhǎng)度的散列值也一并被傳輸。當(dāng)信息被接收者接收到之后,接收者采取同樣的方法把接收到的安全哈希函數(shù)的信息進(jìn)行安全散列,并得到一個(gè)新的散列值。然后把接受者散列得到的散列值和隨著信息傳遞過來的散列值進(jìn)行比較,若兩者的數(shù)值相同,則說明數(shù)據(jù)在傳遞過程中沒有被篡改,若經(jīng)過比較兩個(gè)數(shù)值不同,則說明信息在傳遞過程中被篡改,則需要使用共享密鑰或接收方公鑰對(duì)這個(gè)散列值進(jìn)行加密或簽名。
2.3認(rèn)證
認(rèn)證時(shí)防止信息傳遞時(shí)被人攻擊的有效方法之一,所謂的認(rèn)證是就是確認(rèn)信息發(fā)送者和接收者是不是真正的信息發(fā)送者和接收者。為了確保認(rèn)證的有效性,在實(shí)際運(yùn)用時(shí)采用雙向認(rèn)證機(jī)制,比較常見的雙向認(rèn)證方式有:
2.3.1賬戶名和密碼認(rèn)證方式
賬戶名和密碼認(rèn)證方式是比較常見的一種認(rèn)證方式,同時(shí)也是比較簡(jiǎn)單的一種認(rèn)證方式,由于賬戶名和密碼認(rèn)證方式的安全系數(shù)比較低?;谄渖鲜鎏匦允沟觅~戶名和密碼認(rèn)證方式適用于傳統(tǒng)Telnet、FTP應(yīng)用中,并不適合在安全系數(shù)要求比較高的場(chǎng)合使用。
2.3.2挑戰(zhàn)和應(yīng)答認(rèn)證方式
在此中應(yīng)答方式中,由認(rèn)證方提出挑戰(zhàn),然后由被認(rèn)證方給出應(yīng)答,比較常見的認(rèn)證機(jī)制有CHAP、MS-CHAP等等。此種方法相比賬戶名和密碼認(rèn)證方式安全系數(shù)要高。
2.3.3集中式認(rèn)證方式
集中認(rèn)證方式主要依靠被大家都信任的集中式安全服務(wù)器,通過該服務(wù)器可以實(shí)現(xiàn)節(jié)點(diǎn)之間的雙向認(rèn)證。目前技術(shù)成熟的集中式安全認(rèn)證系統(tǒng)有Kerberos和RADIUS等。
2.3.4公鑰簽名認(rèn)證方式
由于在這種認(rèn)證過程中,每個(gè)節(jié)點(diǎn)都具有唯一的公私鑰對(duì)。所以在認(rèn)證過程中只需要對(duì)雙方的密鑰進(jìn)行簽名,并驗(yàn)證雙方的簽名。此種認(rèn)證方式適用于SSL和IPSec等安全協(xié)議中實(shí)現(xiàn)透明的雙向認(rèn)證。
2.4可用性
所謂的可用性是指,節(jié)點(diǎn)之間傳遞的信息和資源只能被授權(quán)的戶開放使用。為了確保信息的可用性,在傳遞過程中是由服務(wù)器上的存取控制列表ACL完成。在P2P網(wǎng)絡(luò)中,可以根據(jù)節(jié)點(diǎn)的特性把相應(yīng)的節(jié)點(diǎn)分入相應(yīng)的組內(nèi)。
3 P2P安全隧道
在目前的P2P網(wǎng)絡(luò)技術(shù)中, P2P安全隧道顯得十分重要,根據(jù)P2P技術(shù)的特點(diǎn),可以把P2P安全隧道分為網(wǎng)絡(luò)層、傳輸層及應(yīng)用層安全隧道。
3.1網(wǎng)絡(luò)層安全隧道
網(wǎng)絡(luò)層安全隧道是近幾年新出現(xiàn)的一種技術(shù),也稱為IPSec協(xié)議,在TCP/IP網(wǎng)絡(luò)中扮演著不可取代的角色。雖然IPSec協(xié)議出現(xiàn)的時(shí)間并不長(zhǎng),但是現(xiàn)在已經(jīng)被廣泛的運(yùn)用于各種VPN技術(shù)中。
3.2 IPSec協(xié)議
IPSec是P2P網(wǎng)絡(luò)技術(shù)中比較重要的一種技術(shù),其提出的目的就是把網(wǎng)絡(luò)安全機(jī)制引入IPv4和IPv6中。同時(shí)IPsec也分為AH和ESP,AH技術(shù)是為了確保IP包的完整性,ESP是為了使信息的加密過程有效。
IPSec支持的認(rèn)證方式也很多,比較常見的有共享密鑰、數(shù)字簽名及公鑰加密等雙向認(rèn)證方式。IPSec支持的加密算法和安全散列算法也比較多,如DES、IDEA、BlowFish、 MD5和SHA-1等。
3.3 IKE
IKE與IPSec協(xié)議不同,IKE是一種混合型協(xié)議,IKE定義與ISAKMP密不可分,同時(shí)IKE也充分采用了OAKLEY的密鑰交換模式以及SKEME的共享和密鑰更新技術(shù)。IKE在認(rèn)證過程中分為如下兩步,首先使用Deffie-Hellman技術(shù)得到一個(gè)IKESA。其次便是用前面得到的IKESA建立IPsecSA,從而確保傳遞的信息的完整性和安全性。
3.4 SSL協(xié)議
SSL協(xié)議時(shí)P2P網(wǎng)絡(luò)對(duì)等節(jié)點(diǎn)傳遞信息中常用的一種技術(shù),SSL的原理是用公鑰和傳統(tǒng)加密技術(shù)建立一個(gè)安全的加密隧道。通常來說,SSL主要包括SSL記錄協(xié)議和SSL握手協(xié)議。SSL記錄協(xié)議是為了確保信息在傳遞過程中的格式正確,而SSL握手協(xié)議是為了得到合適的數(shù)據(jù)加密算法。SSL協(xié)議的認(rèn)證過程如下,首先信息發(fā)送方把自己的X.509證書發(fā)送給信息接收方,接收方接收到證書后進(jìn)行認(rèn)證,認(rèn)證完成之后生成一個(gè)秘密消息,再把得到的秘密消息傳送給信息發(fā)送方,發(fā)送方在進(jìn)行確認(rèn),上述過程完成之后,便可以進(jìn)行信息交換。
4 P2P安全實(shí)現(xiàn)
目前比較常見的開發(fā)P2P的平臺(tái)有C++,Java等,但是采用上述方法并不能把所有的P2P改造成安全的P2P應(yīng)用,因?yàn)樾枰獙?duì)程序的源代碼做出大量的修改。為了解決上述問題,并保證P2P網(wǎng)絡(luò)的安全性得到保障。P2P的安全實(shí)現(xiàn)方式比較常用的有,采用客戶端和服務(wù)端SSL代理方式,把不安全的TCP連接嵌套入到由SSL客戶端代理和SSL服務(wù)端代理建立的SSL安全隧道中。目前,可以實(shí)現(xiàn)上述功能的工具平臺(tái)有Stunnel。隨著大數(shù)據(jù)時(shí)代的到來,一個(gè)集中策略服務(wù)器顯得很有必要,通過該策略服務(wù)器實(shí)現(xiàn)對(duì)所有參與通信的Peer節(jié)點(diǎn)的自動(dòng)策略配置,從事保證P2P網(wǎng)絡(luò)的安全。
5 結(jié)束語
隨著我國(guó)經(jīng)濟(jì)的發(fā)展,P2P的應(yīng)用領(lǐng)域必將越來越廣泛,同時(shí)P2P網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)間安全通信的問題也必將會(huì)越來越受到人們的重視,雖然P2P網(wǎng)絡(luò)技術(shù)有很好的應(yīng)用前景,但是若安全性得不到保障,其使用必將受到限制。只有P2P網(wǎng)絡(luò)的安全性得到解決,P2P網(wǎng)絡(luò)技術(shù)的發(fā)展才越越來越快。
參考文獻(xiàn):
[1] 梁衛(wèi)紅.對(duì)等網(wǎng)絡(luò)編程源代碼解析[M].北京:電子工業(yè)出版社,2002,8.
[2] SKent.Security Architectureforthe Internet Protocol.RFC2401,Nov,1998.
[3] Kent Sand RAtkinson.IPEncapsulating Security Payload(ESP).RFC2406,Nov,1998.
[4] HarkinsD,DCarrel.The Internet Key Exchange(IKE).RFC2409,Nov,1998.
[5] Netscape.Inc.,SSL3.0Specification,Mar,1996.