資源描述:
《基于p2p的安全內聯(lián)網(wǎng)即時通信系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、基于P2P的安全內聯(lián)網(wǎng)即時通信系統(tǒng)【摘要】本文描述了一個基于P2P技術的安全內聯(lián)網(wǎng)即時通信系統(tǒng)的實現(xiàn)技術,企業(yè)用戶交互數(shù)據(jù)無需通過外部服務器傳輸,防止內部數(shù)據(jù)流入公網(wǎng),最大限度保?o內部數(shù)據(jù)安全,提高系統(tǒng)可靠性,滿足企業(yè)內部可性,安全便捷通信的需求。中國8/vie 【關鍵詞】P2P;NAT穿透;即時通信;行為識別 0引言 當前企業(yè)員工間基本都是通過QQ、Skype等常見的商用軟件來進行溝通交流。但這些常見的基于C/S模型的即時通信軟件過分依賴于中心服務器,所有的數(shù)據(jù)均需經(jīng)過外網(wǎng)服務器轉發(fā),若服務器或互聯(lián)網(wǎng)鏈接出現(xiàn)問題,那么整個通信系統(tǒng)將無法正常工作。另外企業(yè)內部工作中的溝通交流會涉及商
2、業(yè)機密,如果利用市面上的即時通信軟件進行傳輸,數(shù)據(jù)可能會以可破解的形式出現(xiàn)在相應軟件的服務器上,當服務器遭受攻擊,這些機密的數(shù)據(jù)就會被泄露,且絕大多數(shù)的傳統(tǒng)即時通信軟件采用的都是用戶名、密碼的登錄認證模式,這樣的認證方式很容易被攻擊,從而帶來不可估量的危害。因此,針對目前即時通信軟件在企業(yè)應用中表現(xiàn)出的種種不足,設計并實現(xiàn)一個企業(yè)級的內聯(lián)網(wǎng)安全通信系統(tǒng)是十分有必要的。 1系統(tǒng)設計方案 本系統(tǒng)分為客戶端和服務端兩部分,采用P2P與C/S相結合的系統(tǒng)架構。服務端提供用戶登錄身份驗證,狀態(tài)通知(離線、上線等),信息查詢,數(shù)據(jù)存儲管理等功能??蛻舳藢崿F(xiàn)用戶數(shù)據(jù)的封裝、加密和發(fā)送,處理來自其他客戶
3、端的文件傳輸請求,實現(xiàn)局域網(wǎng)內客戶端之間的快速文件傳輸,在離線數(shù)據(jù)傳輸?shù)倪^程中,分擔服務器負擔,處理相應的中轉數(shù)據(jù)。 2具體實現(xiàn)技術 2.1NAT內網(wǎng)穿透 穿透模塊是通信的基礎模塊,系統(tǒng)中的P2P文件傳輸是網(wǎng)絡資源共享的重要方式之一,且只適合兩個在線用戶之間發(fā)起,主動發(fā)起用戶先發(fā)消息給被傳用戶,對方同意后接收,建立點對點連接。因此要在有NAT設備的環(huán)境中實現(xiàn)點對點通信,首先要解決的就是NAT穿透問題。根據(jù)NAT類型的探測的結果可以采取不同的穿透方案,在本系統(tǒng)中主要用到的就是UDP打洞和TCP打洞,它們的最終目的是將位于兩個不同子網(wǎng)中的兩個計算機連接起來。在進行穿透前會進行一個測試,判斷
4、當前網(wǎng)絡環(huán)境是否需要穿透,首先用戶A向用戶B發(fā)送一條測試消息,若A能成功接收用戶B的反饋消息則A就可以直接連接B進行通信,否則需要進行NAT穿透?! ?.2安全登錄認證 傳統(tǒng)的即時通信軟件用戶的密碼是由用戶自己設定的。在登錄系統(tǒng)時輸入正確的密碼,計算機便認為操作者就是合法用戶。實際上,由于許多用戶為了防止忘記密碼,經(jīng)常采用諸如生日、電話號碼等容易被猜測的字符串作為密碼,這樣很容易造成密碼泄漏。用戶名、密碼機制雖然在使用和部署上都非簡便,但從安全角度來說,并不是是一種安全的身份認證方式。而基于計算機輸入行為特征的認證方法,具有行為方式難以模仿,行為方式無需記憶,行為數(shù)據(jù)量大,行為密碼不具有明
5、顯的特征等眾多優(yōu)點。所以,在本系統(tǒng)中采用基于鼠標鍵盤行為方式分析的方法實現(xiàn)系統(tǒng)登錄的安全認證?! ?.3數(shù)據(jù)加密 目前主流的加密算法主要有對稱加密算法和非對稱加密算法。對稱加密算法資源消耗較小,但是對稱加密算法的密鑰需要通過直接復制或網(wǎng)絡傳輸?shù)姆绞接砂l(fā)送方傳給接收方,同時無論加密還是解密都使用同一個密鑰,所以密鑰的管理和使用很不安全,如果密鑰泄露,則此密碼系統(tǒng)便被攻破。非對稱加密通過公鑰進行加密,用私鑰進行解密,不需要通過安全通道來傳輸密鑰,且能夠公開加密密鑰,僅需要保密解密密鑰,所以不存在密鑰管理問題。但是非對稱算法非常復雜,密鑰對的生成、數(shù)據(jù)的加解密都會消耗很多資源,對于企業(yè)即時通信系
6、統(tǒng)來說采用非對稱加密算法加密密鑰信息是無法滿足其即時性需求的。因此,本軟件合對稱和非對稱加密算法的優(yōu)點設計出了客戶端和服務器間數(shù)據(jù)傳輸?shù)幕旌霞用芊桨??! erver初始化后會通過非對稱算法生成公鑰和私鑰,當有Client和Server進行通信時,Server便會將Server的公鑰發(fā)送給Client。 Client在登錄或者注冊時,會先用非對稱算法生成公鑰和私鑰,然后將公鑰發(fā)送給Server,Server記錄下這個Client對應的公鑰。然后將這個公鑰廣播給所有在線的Client。某個Client在離線后,Server會將該Client對應的公鑰刪除?! ∪绻鸆lientA要向Clien
7、tB發(fā)送信息,首先通過對稱加密生成密鑰key,然后在Server廣播的所有在線Client的公鑰中找到ClientB的公鑰,然后用這個公鑰加密密鑰key,然后將加密后的密鑰發(fā)送給ClientB,ClientB使用自己的私鑰解密,獲得ClientA和ClientB進行通信的密鑰key。之后ClientA和ClientB之間的通信都是用密鑰key進行加密和解密。 2.4數(shù)據(jù)封裝 為了保證數(shù)據(jù)交換的方便、解析的