專利名稱:一種通信方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其是涉及一種通信方法、裝置和系統(tǒng)。
背景技術(shù):
P2P SIP ( Peer to Peer Session Initiation Protocol,對等會話初始化協(xié)議) 是一套與SIP ( Session Initiation Protocol,會^舌初始^f匕十辦i義)相關(guān)的妨、i義,該 協(xié)議使用P2P技術(shù)解析SIP請求的目標(biāo),提供SIP消息傳輸,并提供其它SIP 相關(guān)的服務(wù)。如圖1所示,為在P2P SIP系統(tǒng)中節(jié)點A與節(jié)點C通信的流程 圖,其中A發(fā)送的數(shù)據(jù)如下所示
P2PSIP呼叫(invite):
INVITE sip:alice@p2psip.org SIP/2.0
To: <sip:alice@p2psip.org>
From: <sip:bob@p2psip.org>
Contact: <sip:bob@10.0.0.10>
DHT誦PeerID: <sip: 10@10.0.0.10;user=peer>;algorithm=shal ;overlay=chat; expires=800
Supported: dht
從這個呼叫的頭域,中轉(zhuǎn)節(jié)點可以明顯看出通話由誰發(fā)起(from頭域) 與誰通信(to頭域),即中間節(jié)點可獲知通信雙方,peer E知道A常打給誰, peer R知道C常接到誰的電話。然而在P2P系統(tǒng)中,中轉(zhuǎn)節(jié)點很可能是不可 信的,因此需要對傳輸?shù)臄?shù)據(jù)加密,以確保通信雙方的匿名性。
目前的數(shù)據(jù)傳輸加密技術(shù)主要是對傳輸中的數(shù)據(jù)流進行加密,常用的有 鏈if各加密、節(jié)點加密和端到端加密三種方式。
鏈路加密是指傳輸數(shù)據(jù)僅在物理層前的數(shù)據(jù)鏈路層進行加密,不考慮信 源和信宿,它用于保護通信節(jié)點間的數(shù)據(jù),接收方是傳送路徑上的各臺節(jié)點
4200710
機,信息在每臺節(jié)點機內(nèi)都要被解密和再加密,依次進行,直至到達目的地。 與鏈路加密類似的節(jié)點加密方式,是在節(jié)點處采用一個與節(jié)點機相連的 密碼裝置,密文在該裝置中被解密并被重新加密,明文不通過節(jié)點機,避免 了在鏈路加密節(jié)點處易受攻擊的缺點。
端到端加密是為數(shù)據(jù)從一端到另一端提供的加密方式。數(shù)據(jù)在發(fā)送端被 加密,在接收端解密,中間節(jié)點處不以明文的形式出現(xiàn)。端到端加密是在應(yīng) 用層完成的。在端到端加密中,除報文的報頭外,其他數(shù)據(jù)均以密文的形式 貫穿于全部傳輸過程,只是在發(fā)送端和接收端才有加、解密設(shè)備,而在中間 任何節(jié)點報文均不解密,因此,不需要有密碼設(shè)備,同鏈路加密相比,可減 少密碼設(shè)備的數(shù)量。信息是由報頭和報文組成的,報文為要傳送的信息,報 頭為路由選擇信息,由于網(wǎng)絡(luò)傳輸中要涉及到路由選擇,在鏈路加密時,報
文和才艮頭兩者均須加密,而P2PSIP中用的是此種加密方式。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題現(xiàn)有 的端到端加密方式,通道上的每一個中間節(jié)點雖不對報文解密,但為將報文 傳送到目的地,必須4企查5^由選擇信息,因此,只能對凈艮文加密,而不能對 報頭加密。這樣就容易被某些通信分析發(fā)覺,從而獲取某些敏感信息。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種通信方法、裝置和系統(tǒng),以實現(xiàn)對報頭進行加密, 確保通信雙方對中轉(zhuǎn)節(jié)點的匿名性,確保通信安全。
為達到上述目的,本發(fā)明實施例一方面提供了一種通信方法,包括接 收數(shù)據(jù)信息,所述數(shù)據(jù)信息是利用目的節(jié)點的公鑰加密后的信息;判斷所述 數(shù)據(jù)信息所攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)是否相同;如果 相同,則利用本節(jié)點的私鑰對所述數(shù)據(jù)信息進行解密。
另一方面,本發(fā)明實施例還提供了一種網(wǎng)絡(luò)節(jié)點,包括接收模塊,用 于接收數(shù)據(jù)信息,所述數(shù)據(jù)信息是利用目的節(jié)點的公鑰加密后的信息;判斷 模塊,用于判斷所述數(shù)據(jù)信息所攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份 參數(shù)是否相同;解密模塊,用于在所述判斷模塊判斷所述數(shù)據(jù)信息攜帶的目
5的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)相同之后,利用所述目的節(jié)點的私鑰 對所述數(shù)據(jù)信息進行解密。
再一方面,本發(fā)明實施例還提供了一種點對點網(wǎng)絡(luò)通信系統(tǒng),包括第 一節(jié)點,用于利用目的節(jié)點的公鑰加密彰:據(jù)信息,并發(fā)送所述加密后的凝:據(jù) 信息;第二節(jié)點,用于接收所述第一節(jié)點發(fā)送的數(shù)據(jù)信息,判斷所述數(shù)據(jù)信 息所攜帶的目的節(jié)點的身份參數(shù)與所述第二節(jié)點的身份參數(shù)是否相同;如果 相同,則利用所述第二節(jié)點的私鑰對所述數(shù)據(jù)信息進行解密;如果所述數(shù)據(jù) 信息所攜帶的目的節(jié)點的身份參數(shù)與所述第二節(jié)點的身份參數(shù)不同,則查找 與所迷目的節(jié)點的身份參數(shù)最接近的身份參數(shù),將所述數(shù)據(jù)信息發(fā)送給所述 最接近的身份參數(shù)對應(yīng)的節(jié)點。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下優(yōu)點通過本發(fā)明實施例, 利用目的節(jié)點的公鑰對發(fā)送的數(shù)據(jù)信息進行加密,目的節(jié)點收到加密的數(shù) 據(jù)信息后,利用該目的節(jié)點的私鑰將收到的數(shù)據(jù)信息解密,從而確保了通 信雙方對中轉(zhuǎn)節(jié)點的匿名性,保護了數(shù)據(jù)信息的傳輸安全。
圖1為現(xiàn)有技術(shù)在P2P SIP系統(tǒng)中客戶端A與客戶端C通信的流程圖2為本發(fā)明實施例通信方法的流程圖3為節(jié)點A向節(jié)點C發(fā)送的數(shù)據(jù)信息的結(jié)構(gòu)示意圖4為本發(fā)明實施例網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明實施例提供了一種通信方法,利用目的節(jié)點的公鑰對傳輸?shù)臄?shù)據(jù) 信息進行加密,中轉(zhuǎn)節(jié)點由于不知道目的節(jié)點的私鑰,所以不能解密該數(shù)據(jù) 信息,只有目的節(jié)點可對該數(shù)據(jù)信息利用該目的節(jié)點的私鑰進行解密,從而 實現(xiàn)了通信雙方對中轉(zhuǎn)節(jié)點的匿名傳輸,確保了通信安全。本發(fā)明實施例以 P2P網(wǎng)絡(luò)中的通信為例進行說明。
如圖2所示,為本發(fā)明實施例通信方法的流程圖,具體包括以下步驟步驟S201,接收數(shù)據(jù)信息,該數(shù)據(jù)信息是利用目的節(jié)點的公鑰加密后的 信息。源節(jié)點在發(fā)送數(shù)據(jù)信息時,利用目的節(jié)點的公鑰對待發(fā)送的數(shù)據(jù)信息 進行加密,并發(fā)送力口密后的數(shù)據(jù)信息,該數(shù)據(jù)信息攜帶目的節(jié)點的身份參數(shù), 該目的節(jié)點的身份參數(shù)可以是通過對節(jié)點的名稱或該節(jié)點的IP地址、或MAC 地址或IP地址和端口的組合哈希得到的值。當(dāng)然獲取該節(jié)點的身份參數(shù)的方 法并不僅限于以上方法,采取其他的方法獲取身份參數(shù)并不影響本發(fā)明實施 例的實現(xiàn)。
步驟S202,判斷數(shù)據(jù)信息攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參 數(shù)是否相同。在節(jié)點接收到加密的數(shù)據(jù)信息之后,判斷該數(shù)據(jù)信息攜帶的目 的節(jié)點的身份參數(shù)是否與本節(jié)點的身份參數(shù)相同,如果相同,則執(zhí)行步驟 S203;如果該數(shù)據(jù)信息攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)不同, 則導(dǎo)丸行步驟S204。
步驟S203,利用目的節(jié)點的私鑰對數(shù)據(jù)信息進行解密。在判斷該數(shù)據(jù)信 息攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)相同之后,該節(jié)點確定本 節(jié)點為目的節(jié)點,然后該目的節(jié)點利用該目的節(jié)點的私鑰對該數(shù)據(jù)信息進行 解密,從而獲知發(fā)信方和發(fā)送的數(shù)據(jù)信息的具體內(nèi)容。
步驟S204,查詢路由表,找出與目的節(jié)點的身份參數(shù)最接近的身份參數(shù), 將數(shù)據(jù)信息發(fā)送給最接近的身份參數(shù)對應(yīng)的節(jié)點。如果該數(shù)據(jù)信息攜帶的目 的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)不同,則該節(jié)點確定本節(jié)點不是目的 節(jié)點,為中轉(zhuǎn)節(jié)點,這時,該節(jié)點查詢自己的路由表,找出與目的節(jié)點的身 份參數(shù)最接近的身份參數(shù),將數(shù)據(jù)信息發(fā)送給最接近的身份參數(shù)對應(yīng)的節(jié)點。 該最接近的身份參數(shù)對應(yīng)的節(jié)點繼續(xù)執(zhí)行步驟S201 步驟S204,如此一層一 層地查找下去,直到將該數(shù)據(jù)信息發(fā)送給目的節(jié)點。當(dāng)然,該節(jié)點也可以查 詢路由表之外的信息庫或網(wǎng)絡(luò)中其它節(jié)點的數(shù)據(jù)庫,以找出與目的節(jié)點的身 份參數(shù)最接近的身份參數(shù)。
本發(fā)明實施例一以圖1的通信流程為例,對節(jié)點A向節(jié)點C發(fā)信時應(yīng)用 本發(fā)明實施例的具體過程進行了說明。
如圖3所示,為節(jié)點A向節(jié)點C發(fā)送的數(shù)據(jù)信息的結(jié)構(gòu)示意圖,其中,
7假設(shè)節(jié)點C的ID為124a5cefd,則節(jié)點A向節(jié)點E發(fā)出的數(shù)據(jù)信息的from域 為匿名,to域為124a5cefd,后面為一串密文,利用節(jié)點C的7>鑰進行加密。
節(jié)點E收到該數(shù)據(jù)信息后,發(fā)現(xiàn)自己的ID值不是124a5cefd,于是節(jié)點E 判斷自己不是目的節(jié)點,然后節(jié)點E會向該節(jié)點E的路由表查找與124a5cefd 最接近的ID,并將數(shù)據(jù)信息發(fā)送給該最接近ID所代表的節(jié)點,同理,節(jié)點P 和節(jié)點R也是這樣,直到找到節(jié)點R的路由表中有節(jié)點C的記錄。節(jié)點E、 節(jié)點P和節(jié)點R由于無法知道節(jié)點C的私鑰,因此無法解密這一串密文,也 就不知道該數(shù)據(jù)信息是由誰發(fā)出的;同時節(jié)點R除了知道ID為124a5cefd的 節(jié)點是節(jié)點C以外,別的節(jié)點都不知道目的節(jié)點是誰。最后,數(shù)據(jù)信息到達 節(jié)點C,節(jié)點C發(fā)現(xiàn)自己的ID就是124a5cefd,然后節(jié)點C用自己的私鑰解 密數(shù)據(jù)信息中的密文,可以從數(shù)據(jù)信息的from頭域獲知發(fā)信方是節(jié)點A。
當(dāng)然,節(jié)點E、節(jié)點P和節(jié)點R也可以查詢路由表之外的信息庫或網(wǎng)絡(luò) 中其它節(jié)點的數(shù)據(jù)庫,以找出與節(jié)點C的身份參數(shù)最接近的身份參數(shù)。
上述通信的方法,源節(jié)點利用目的節(jié)點的公鑰加密數(shù)據(jù)信息,中轉(zhuǎn)節(jié)點 收到加密的數(shù)據(jù)信息后,由于不知道目的節(jié)點的私鑰,故無法將加密的數(shù)據(jù) 信息進行解密,目的節(jié)點在收到加密的數(shù)據(jù)信息后,利用該目的節(jié)點的私鑰 解密該數(shù)據(jù)信息,從而實現(xiàn)了通信雙方對中轉(zhuǎn)節(jié)點的匿名性,確保了通信安 全。
如圖4所示,為本發(fā)明實施例網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu)圖,包括接收模塊l,用 于接收數(shù)據(jù)信息,該數(shù)據(jù)信息是利用目的節(jié)點的公鑰加密后的信息;
判斷模塊2,用于判斷接收模塊1接收的數(shù)據(jù)信息所攜帶的目的節(jié)點的身 份參數(shù)與本節(jié)點的身份參數(shù)是否相同;
解密模塊3,用于在判斷模塊2判斷該數(shù)據(jù)信息攜帶的目的節(jié)點的身份參 數(shù)與本節(jié)點的身份參數(shù)相同之后,利用目的節(jié)點的私鑰對所述數(shù)據(jù)信息進行
該網(wǎng)絡(luò)節(jié)點還包括查詢模塊4,用于在判斷模塊2判斷該數(shù)據(jù)信息攜帶 的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)不同之后,查找與目的節(jié)點的身 份參數(shù)最接近的身份參數(shù),將數(shù)據(jù)信息發(fā)送給最接近的身份參數(shù)對應(yīng)的節(jié)點。該網(wǎng)絡(luò)節(jié)點還包括加密發(fā)送^t塊5,用于利用目的節(jié)點的^^鑰對數(shù)據(jù)信息進行加密,發(fā)送加密的數(shù)據(jù)信息。
本發(fā)明實施例還提供一種點對點網(wǎng)絡(luò)通信系統(tǒng),包括第一節(jié)點,用于利用目的節(jié)點的公鑰加密數(shù)據(jù)信息,并發(fā)送加密后的數(shù)據(jù)信息;
第二節(jié)點,用于接收第一節(jié)點發(fā)送的數(shù)據(jù)信息,判斷數(shù)據(jù)信息所攜帶的目的節(jié)點的身份參數(shù)與第二節(jié)點的身份參數(shù)是否相同,如果相同,則利用第二節(jié)點的私鑰對數(shù)據(jù)信息進行解密;如果數(shù)據(jù)信息所攜帶的目的節(jié)點的身份參數(shù)與第二節(jié)點的身份參數(shù)不同,則查找與目的節(jié)點的身份參數(shù)最接近的身份參數(shù),將數(shù)據(jù)信息發(fā)送給最接近的身份參數(shù)對應(yīng)的節(jié)點。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助^:件加必需的通用^f更件平臺的方式來實現(xiàn),當(dāng)然也可以通過石更件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1、一種通信方法,其特征在于,包括接收數(shù)據(jù)信息,所述數(shù)據(jù)信息是利用目的節(jié)點的公鑰加密后的信息;判斷所述數(shù)據(jù)信息所攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)是否相同;如果相同,則利用所述本節(jié)點的私鑰對所述數(shù)據(jù)信息進行解密。
2、 如權(quán)利要求1所述通信方法,其特征在于,還包括 如果所述數(shù)據(jù)信息攜帶的目的節(jié)點的身份參數(shù)與所述本節(jié)點的身份參數(shù)不同,則查找與所述目的節(jié)點的身份參數(shù)最接近的身份參數(shù),將所述數(shù)據(jù)信 息發(fā)送給所述最接近的身份參數(shù)對應(yīng)的節(jié)點。
3、 如權(quán)利要求1所述通信方法,其特征在于,在所述接收數(shù)據(jù)信息之前, 還包括源節(jié)點利用目的節(jié)點的公鑰對所述數(shù)據(jù)信息進行加密,發(fā)送所述加密后 的數(shù)據(jù)信息。
4、 如權(quán)利要求1所述通信方法,其特征在于,所述身份參數(shù)是通過對節(jié) 點的名稱或所述節(jié)點的因特網(wǎng)協(xié)議IP地址、或々某體接入控制MAC地址或?qū)?所述IP地址和端口的組合進行哈希獲得的。
5、 一種網(wǎng)絡(luò)節(jié)點,其特征在于,包括接收模塊,用于接收數(shù)據(jù)信息,所述數(shù)據(jù)信息是利用目的節(jié)點的公鑰加 密后的信息;判斷才莫塊,用于判斷所述接收模塊接收的數(shù)據(jù)信息所攜帶的目的節(jié)點的 身份參數(shù)與本節(jié)點的身份參數(shù)是否相同;解密模塊,用于在所述判斷模塊判斷所述數(shù)據(jù)信息攜帶的目的節(jié)點的身 份參數(shù)與本節(jié)點的身份參數(shù)相同之后,利用所述本節(jié)點的私鑰對所述數(shù)據(jù)信息進行解密。
6、 如權(quán)利要求5所述網(wǎng)絡(luò)節(jié)點,其特征在于,還包括查詢模塊,用于在所述判斷模塊判斷所述數(shù)據(jù)信息攜帶的目的節(jié)點的身 份參數(shù)與所述本節(jié)點的身份參數(shù)不同之后,查找與所述目的節(jié)點的身份參數(shù)最接近的身份參數(shù),將所述數(shù)據(jù)信息發(fā)送給所述最接近的身份參數(shù)對應(yīng)的節(jié) 點。
7、 如權(quán)利要求5所述網(wǎng)絡(luò)節(jié)點,其特征在于,還包括 加密發(fā)送模塊,用于利用目的節(jié)點的公鑰對所述數(shù)據(jù)信息進行加密,發(fā)送所述加密后數(shù)據(jù)信息。
8、 一種點對點網(wǎng)絡(luò)通信系統(tǒng),其特征在于,包括第一節(jié)點,用于利用目的節(jié)點的公鑰加密數(shù)據(jù)信息,發(fā)送所述加密后的 數(shù)據(jù)信息;第二節(jié)點,用于接收所述第一節(jié)點發(fā)送的數(shù)據(jù)信息,根據(jù)所述數(shù)據(jù)信息 攜帶的信息進行判斷,根據(jù)判斷結(jié)果對所述數(shù)據(jù)信息進行解密或轉(zhuǎn)發(fā)。
9、 如權(quán)利要求8所述點對點網(wǎng)絡(luò)通信系統(tǒng),其特征在于,所述第一節(jié)點 包括加密發(fā)送模塊,用于利用目的節(jié)點的公鑰對數(shù)據(jù)信息進行加密,發(fā)送所 述數(shù)據(jù)信息。
10、 如權(quán)利要求8所述點對點網(wǎng)絡(luò)通信系統(tǒng),其特征在于,所述第二節(jié) 點包4舌接收模塊,用于接收所述第一節(jié)點發(fā)送的數(shù)據(jù)信息,所述數(shù)據(jù)信息是利 用目的節(jié)點的^H月加密后的信息;判斷才莫塊,用于判斷所述接收模塊接收的數(shù)據(jù)信息所攜帶的目的節(jié)點的 身份參數(shù)與所述第二節(jié)點的身份參數(shù)是否相同;解密模塊,用于在所述判斷模塊判斷所述數(shù)據(jù)信息所攜帶的目的節(jié)點的 身份參數(shù)與所述第二節(jié)點的身份參數(shù)相同時,利用所述目的節(jié)點的私鑰對所 述接收模塊接收的數(shù)據(jù)信息進行解密;查詢模塊,用于在所述判斷模塊判斷所述數(shù)據(jù)信息所攜帶的目的節(jié)點的 身份參數(shù)與所述第二節(jié)點的身份參數(shù)不同時,查找與所述目的節(jié)點的身份參 數(shù)最接近的身份參數(shù),將所述數(shù)據(jù)信息發(fā)送給所述最接近的身份參數(shù)對應(yīng)的節(jié)點o
全文摘要
本發(fā)明實施例公開了一種通信方法,包括接收數(shù)據(jù)信息,所述數(shù)據(jù)信息是利用目的節(jié)點的公鑰加密后的信息;判斷所述數(shù)據(jù)信息所攜帶的目的節(jié)點的身份參數(shù)與本節(jié)點的身份參數(shù)是否相同;如果相同,則利用本節(jié)點的私鑰對所述數(shù)據(jù)信息進行解密。通過本發(fā)明實施例,利用目的節(jié)點的公鑰對發(fā)送的數(shù)據(jù)信息進行加密,目的節(jié)點收到加密的數(shù)據(jù)信息后,利用該目的節(jié)點的私鑰將收到的數(shù)據(jù)信息解密,從而確保了通信雙方對中轉(zhuǎn)節(jié)點的匿名性,保護了數(shù)據(jù)信息的傳輸安全。
文檔編號H04L9/30GK101471772SQ20071030177
公開日2009年7月1日 申請日期2007年12月27日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者劉經(jīng)及, 呂曉雨, 賢 朱, 朋 李, 金洪波 申請人:華為技術(shù)有限公司